/** * elFinder translation template * use this file to create new translation * submit new translation via https://github.com/Studio-42/elFinder/issues * or make a pull request */ /** * XXXXX translation * @author Translator Name * @version 201x-xx-xx */ (function(root, factory) { if (typeof define === 'function' && define.amd) { define(['elfinder'], factory); } else if (typeof exports !== 'undefined') { module.exports = factory(require('elfinder')); } else { factory(root.elFinder); } }(this, function(elFinder) { elFinder.prototype.i18.REPLACE_WITH_xx_OR_xx_YY_LANG_CODE = { translator : 'Translator name <translator@email.tld>', language : 'Language of translation in your language', direction : 'ltr', dateFormat : 'M d, Y h:i A', // will show like: Mar 13, 2012 05:27 PM fancyDateFormat : '$1 h:i A', // will show like: Today 12:25 PM nonameDateFormat : 'ymd-His', // noname upload will show like: 120513-172700 messages : { /********************************** errors **********************************/ 'error' : 'Error', 'errUnknown' : 'Unknown error.', 'errUnknownCmd' : 'Unknown command.', 'errJqui' : 'Invalid jQuery UI configuration. Selectable, draggable and droppable components must be included.', 'errNode' : 'elFinder requires DOM Element to be created.', 'errURL' : 'Invalid elFinder configuration! URL option is not set.', 'errAccess' : 'Access denied.', 'errConnect' : 'Unable to connect to backend.', 'errAbort' : 'Connection aborted.', 'errTimeout' : 'Connection timeout.', 'errNotFound' : 'Backend not found.', 'errResponse' : 'Invalid backend response.', 'errConf' : 'Invalid backend configuration.', 'errJSON' : 'PHP JSON module not installed.', 'errNoVolumes' : 'Readable volumes not available.', 'errCmdParams' : 'Invalid parameters for command "$1".', 'errDataNotJSON' : 'Data is not JSON.', 'errDataEmpty' : 'Data is empty.', 'errCmdReq' : 'Backend request requires command name.', 'errOpen' : 'Unable to open "$1".', 'errNotFolder' : 'Object is not a folder.', 'errNotFile' : 'Object is not a file.', 'errRead' : 'Unable to read "$1".', 'errWrite' : 'Unable to write into "$1".', 'errPerm' : 'Permission denied.', 'errLocked' : '"$1" is locked and can not be renamed, moved or removed.', 'errExists' : 'Item named "$1" already exists.', 'errInvName' : 'Invalid file name.', 'errInvDirname' : 'Invalid folder name.', // from v2.1.24 added 12.4.2017 'errFolderNotFound' : 'Folder not found.', 'errFileNotFound' : 'File not found.', 'errTrgFolderNotFound' : 'Target folder "$1" not found.', 'errPopup' : 'Browser prevented opening popup window. To open file enable it in browser options.', 'errMkdir' : 'Unable to create folder "$1".', 'errMkfile' : 'Unable to create file "$1".', 'errRename' : 'Unable to rename "$1".', 'errCopyFrom' : 'Copying files from volume "$1" not allowed.', 'errCopyTo' : 'Copying files to volume "$1" not allowed.', 'errMkOutLink' : 'Unable to create a link to outside the volume root.', // from v2.1 added 03.10.2015 'errUpload' : 'Upload error.', // old name - errUploadCommon 'errUploadFile' : 'Unable to upload "$1".', // old name - errUpload 'errUploadNoFiles' : 'No files found for upload.', 'errUploadTotalSize' : 'Data exceeds the maximum allowed size.', // old name - errMaxSize 'errUploadFileSize' : 'File exceeds maximum allowed size.', // old name - errFileMaxSize 'errUploadMime' : 'File type not allowed.', 'errUploadTransfer' : '"$1" transfer error.', 'errUploadTemp' : 'Unable to make temporary file for upload.', // from v2.1 added 26.09.2015 'errNotReplace' : 'Object "$1" already exists at this location and can not be replaced by object with another type.', // new 'errReplace' : 'Unable to replace "$1".', 'errSave' : 'Unable to save "$1".', 'errCopy' : 'Unable to copy "$1".', 'errMove' : 'Unable to move "$1".', 'errCopyInItself' : 'Unable to copy "$1" into itself.', 'errRm' : 'Unable to remove "$1".', 'errTrash' : 'Unable into trash.', // from v2.1.24 added 30.4.2017 'errRmSrc' : 'Unable remove source file(s).', 'errExtract' : 'Unable to extract files from "$1".', 'errArchive' : 'Unable to create archive.', 'errArcType' : 'Unsupported archive type.', 'errNoArchive' : 'File is not archive or has unsupported archive type.', 'errCmdNoSupport' : 'Backend does not support this command.', 'errReplByChild' : 'The folder "$1" can\'t be replaced by an item it contains.', 'errArcSymlinks' : 'For security reason denied to unpack archives contains symlinks or files with not allowed names.', // edited 24.06.2012 'errArcMaxSize' : 'Archive files exceeds maximum allowed size.', 'errResize' : 'Unable to resize "$1".', 'errResizeDegree' : 'Invalid rotate degree.', // added 7.3.2013 'errResizeRotate' : 'Unable to rotate image.', // added 7.3.2013 'errResizeSize' : 'Invalid image size.', // added 7.3.2013 'errResizeNoChange' : 'Image size not changed.', // added 7.3.2013 'errUsupportType' : 'Unsupported file type.', 'errNotUTF8Content' : 'File "$1" is not in UTF-8 and cannot be edited.', // added 9.11.2011 'errNetMount' : 'Unable to mount "$1".', // added 17.04.2012 'errNetMountNoDriver' : 'Unsupported protocol.', // added 17.04.2012 'errNetMountFailed' : 'Mount failed.', // added 17.04.2012 'errNetMountHostReq' : 'Host required.', // added 18.04.2012 'errSessionExpires' : 'Your session has expired due to inactivity.', 'errCreatingTempDir' : 'Unable to create temporary directory: "$1"', 'errFtpDownloadFile' : 'Unable to download file from FTP: "$1"', 'errFtpUploadFile' : 'Unable to upload file to FTP: "$1"', 'errFtpMkdir' : 'Unable to create remote directory on FTP: "$1"', 'errArchiveExec' : 'Error while archiving files: "$1"', 'errExtractExec' : 'Error while extracting files: "$1"', 'errNetUnMount' : 'Unable to unmount.', // from v2.1 added 30.04.2012 'errConvUTF8' : 'Not convertible to UTF-8', // from v2.1 added 08.04.2014 'errFolderUpload' : 'Try the modern browser, If you\'d like to upload the folder.', // from v2.1 added 26.6.2015 'errSearchTimeout' : 'Timed out while searching "$1". Search result is partial.', // from v2.1 added 12.1.2016 'errReauthRequire' : 'Re-authorization is required.', // from v2.1.10 added 24.3.2016 'errMaxTargets' : 'Max number of selectable items is $1.', // from v2.1.17 added 17.10.2016 'errRestore' : 'Unable to restore from the trash. Can\'t identify the restore destination.', // from v2.1.24 added 3.5.2017 'errEditorNotFound' : 'Editor not found to this file type.', // from v2.1.25 added 23.5.2017 'errServerError' : 'Error occurred on the server side.', // from v2.1.25 added 16.6.2017 'errEmpty' : 'Unable to empty folder "$1".', // from v2.1.25 added 22.6.2017 'moreErrors' : 'There are $1 more errors.', // from v2.1.44 added 9.12.2018 'errMaxMkdirs' : 'You can create up to $1 folders at one time.', // from v2.1.58 added 20.6.2021 /******************************* commands names ********************************/ 'cmdarchive' : 'Create archive', 'cmdback' : 'Back', 'cmdcopy' : 'Copy', 'cmdcut' : 'Cut', 'cmddownload' : 'Download', 'cmdduplicate' : 'Duplicate', 'cmdedit' : 'Edit file', 'cmdextract' : 'Extract files from archive', 'cmdforward' : 'Forward', 'cmdgetfile' : 'Select files', 'cmdhelp' : 'About this software', 'cmdhome' : 'Root', 'cmdinfo' : 'Get info', 'cmdmkdir' : 'New folder', 'cmdmkdirin' : 'Into New Folder', // from v2.1.7 added 19.2.2016 'cmdmkfile' : 'New file', 'cmdopen' : 'Open', 'cmdpaste' : 'Paste', 'cmdquicklook' : 'Preview', 'cmdreload' : 'Reload', 'cmdrename' : 'Rename', 'cmdrm' : 'Delete', 'cmdtrash' : 'Into trash', //from v2.1.24 added 29.4.2017 'cmdrestore' : 'Restore', //from v2.1.24 added 3.5.2017 'cmdsearch' : 'Find files', 'cmdup' : 'Go to parent folder', 'cmdupload' : 'Upload files', 'cmdview' : 'View', 'cmdresize' : 'Resize & Rotate', 'cmdsort' : 'Sort', 'cmdnetmount' : 'Mount network volume', // added 18.04.2012 'cmdnetunmount': 'Unmount', // from v2.1 added 30.04.2012 'cmdplaces' : 'To Places', // added 28.12.2014 'cmdchmod' : 'Change mode', // from v2.1 added 20.6.2015 'cmdopendir' : 'Open a folder', // from v2.1 added 13.1.2016 'cmdcolwidth' : 'Reset column width', // from v2.1.13 added 12.06.2016 'cmdfullscreen': 'Full Screen', // from v2.1.15 added 03.08.2016 'cmdmove' : 'Move', // from v2.1.15 added 21.08.2016 'cmdempty' : 'Empty the folder', // from v2.1.25 added 22.06.2017 'cmdundo' : 'Undo', // from v2.1.27 added 31.07.2017 'cmdredo' : 'Redo', // from v2.1.27 added 31.07.2017 'cmdpreference': 'Preferences', // from v2.1.27 added 03.08.2017 'cmdselectall' : 'Select all', // from v2.1.28 added 15.08.2017 'cmdselectnone': 'Select none', // from v2.1.28 added 15.08.2017 'cmdselectinvert': 'Invert selection', // from v2.1.28 added 15.08.2017 'cmdopennew' : 'Open in new window', // from v2.1.38 added 3.4.2018 'cmdhide' : 'Hide (Preference)', // from v2.1.41 added 24.7.2018 /*********************************** buttons ***********************************/ 'btnClose' : 'Close', 'btnSave' : 'Save', 'btnRm' : 'Remove', 'btnApply' : 'Apply', 'btnCancel' : 'Cancel', 'btnNo' : 'No', 'btnYes' : 'Yes', 'btnDiscard': 'Discard changes', 'btnMount' : 'Mount', // added 18.04.2012 'btnApprove': 'Goto $1 & approve', // from v2.1 added 26.04.2012 'btnUnmount': 'Unmount', // from v2.1 added 30.04.2012 'btnConv' : 'Convert', // from v2.1 added 08.04.2014 'btnCwd' : 'Here', // from v2.1 added 22.5.2015 'btnVolume' : 'Volume', // from v2.1 added 22.5.2015 'btnAll' : 'All', // from v2.1 added 22.5.2015 'btnMime' : 'MIME Type', // from v2.1 added 22.5.2015 'btnFileName':'Filename', // from v2.1 added 22.5.2015 'btnSaveClose': 'Save & Close', // from v2.1 added 12.6.2015 'btnBackup' : 'Backup', // fromv2.1 added 28.11.2015 'btnRename' : 'Rename', // from v2.1.24 added 6.4.2017 'btnRenameAll' : 'Rename(All)', // from v2.1.24 added 6.4.2017 'btnPrevious' : 'Prev ($1/$2)', // from v2.1.24 added 11.5.2017 'btnNext' : 'Next ($1/$2)', // from v2.1.24 added 11.5.2017 'btnSaveAs' : 'Save As', // from v2.1.25 added 24.5.2017 /******************************** notifications ********************************/ 'ntfopen' : 'Open folder', 'ntffile' : 'Open file', 'ntfreload' : 'Reload folder content', 'ntfmkdir' : 'Creating folder', 'ntfmkfile' : 'Creating files', 'ntfrm' : 'Delete items', 'ntfcopy' : 'Copy items', 'ntfmove' : 'Move items', 'ntfprepare' : 'Checking existing items', 'ntfrename' : 'Rename files', 'ntfupload' : 'Uploading files', 'ntfdownload' : 'Downloading files', 'ntfsave' : 'Save files', 'ntfarchive' : 'Creating archive', 'ntfextract' : 'Extracting files from archive', 'ntfsearch' : 'Searching files', 'ntfresize' : 'Resizing images', 'ntfsmth' : 'Doing something', 'ntfloadimg' : 'Loading image', 'ntfnetmount' : 'Mounting network volume', // added 18.04.2012 'ntfnetunmount': 'Unmounting network volume', // from v2.1 added 30.04.2012 'ntfdim' : 'Acquiring image dimension', // added 20.05.2013 'ntfreaddir' : 'Reading folder infomation', // from v2.1 added 01.07.2013 'ntfurl' : 'Getting URL of link', // from v2.1 added 11.03.2014 'ntfchmod' : 'Changing file mode', // from v2.1 added 20.6.2015 'ntfpreupload': 'Verifying upload file name', // from v2.1 added 31.11.2015 'ntfzipdl' : 'Creating a file for download', // from v2.1.7 added 23.1.2016 'ntfparents' : 'Getting path infomation', // from v2.1.17 added 2.11.2016 'ntfchunkmerge': 'Processing the uploaded file', // from v2.1.17 added 2.11.2016 'ntftrash' : 'Doing throw in the trash', // from v2.1.24 added 2.5.2017 'ntfrestore' : 'Doing restore from the trash', // from v2.1.24 added 3.5.2017 'ntfchkdir' : 'Checking destination folder', // from v2.1.24 added 3.5.2017 'ntfundo' : 'Undoing previous operation', // from v2.1.27 added 31.07.2017 'ntfredo' : 'Redoing previous undone', // from v2.1.27 added 31.07.2017 'ntfchkcontent' : 'Checking contents', // from v2.1.41 added 3.8.2018 /*********************************** volumes *********************************/ 'volume_Trash' : 'Trash', //from v2.1.24 added 29.4.2017 /************************************ dates **********************************/ 'dateUnknown' : 'unknown', 'Today' : 'Today', 'Yesterday' : 'Yesterday', 'msJan' : 'Jan', 'msFeb' : 'Feb', 'msMar' : 'Mar', 'msApr' : 'Apr', 'msMay' : 'May', 'msJun' : 'Jun', 'msJul' : 'Jul', 'msAug' : 'Aug', 'msSep' : 'Sep', 'msOct' : 'Oct', 'msNov' : 'Nov', 'msDec' : 'Dec', 'January' : 'January', 'February' : 'February', 'March' : 'March', 'April' : 'April', 'May' : 'May', 'June' : 'June', 'July' : 'July', 'August' : 'August', 'September' : 'September', 'October' : 'October', 'November' : 'November', 'December' : 'December', 'Sunday' : 'Sunday', 'Monday' : 'Monday', 'Tuesday' : 'Tuesday', 'Wednesday' : 'Wednesday', 'Thursday' : 'Thursday', 'Friday' : 'Friday', 'Saturday' : 'Saturday', 'Sun' : 'Sun', 'Mon' : 'Mon', 'Tue' : 'Tue', 'Wed' : 'Wed', 'Thu' : 'Thu', 'Fri' : 'Fri', 'Sat' : 'Sat', /******************************** sort variants ********************************/ 'sortname' : 'by name', 'sortkind' : 'by kind', 'sortsize' : 'by size', 'sortdate' : 'by date', 'sortFoldersFirst' : 'Folders first', 'sortperm' : 'by permission', // from v2.1.13 added 13.06.2016 'sortmode' : 'by mode', // from v2.1.13 added 13.06.2016 'sortowner' : 'by owner', // from v2.1.13 added 13.06.2016 'sortgroup' : 'by group', // from v2.1.13 added 13.06.2016 'sortAlsoTreeview' : 'Also Treeview', // from v2.1.15 added 01.08.2016 /********************************** new items **********************************/ 'untitled file.txt' : 'NewFile.txt', // added 10.11.2015 'untitled folder' : 'NewFolder', // added 10.11.2015 'Archive' : 'NewArchive', // from v2.1 added 10.11.2015 'untitled file' : 'NewFile.$1', // from v2.1.41 added 6.8.2018 'extentionfile' : '$1: File', // from v2.1.41 added 6.8.2018 'extentiontype' : '$1: $2', // from v2.1.43 added 17.10.2018 /********************************** messages **********************************/ 'confirmReq' : 'Confirmation required', 'confirmRm' : 'Are you sure you want to permanently remove items?
This cannot be undone!', 'confirmRepl' : 'Replace old file with new one? (If it contains folders, it will be merged. To backup and replace, select Backup.)', 'confirmRest' : 'Replace existing item with the item in trash?', // fromv2.1.24 added 5.5.2017 'confirmConvUTF8' : 'Not in UTF-8
Convert to UTF-8?
Contents become UTF-8 by saving after conversion.', // from v2.1 added 08.04.2014 'confirmNonUTF8' : 'Character encoding of this file couldn\'t be detected. It need to temporarily convert to UTF-8 for editting.
Please select character encoding of this file.', // from v2.1.19 added 28.11.2016 'confirmNotSave' : 'It has been modified.
Losing work if you do not save changes.', // from v2.1 added 15.7.2015 'confirmTrash' : 'Are you sure you want to move items to trash bin?', //from v2.1.24 added 29.4.2017 'confirmMove' : 'Are you sure you want to move items to "$1"?', //from v2.1.50 added 27.7.2019 'apllyAll' : 'Apply to all', 'name' : 'Name', 'size' : 'Size', 'perms' : 'Permissions', 'modify' : 'Modified', 'kind' : 'Kind', 'read' : 'read', 'write' : 'write', 'noaccess' : 'no access', 'and' : 'and', 'unknown' : 'unknown', 'selectall' : 'Select all items', 'selectfiles' : 'Select item(s)', 'selectffile' : 'Select first item', 'selectlfile' : 'Select last item', 'viewlist' : 'List view', 'viewicons' : 'Icons view', 'viewSmall' : 'Small icons', // from v2.1.39 added 22.5.2018 'viewMedium' : 'Medium icons', // from v2.1.39 added 22.5.2018 'viewLarge' : 'Large icons', // from v2.1.39 added 22.5.2018 'viewExtraLarge' : 'Extra large icons', // from v2.1.39 added 22.5.2018 'places' : 'Places', 'calc' : 'Calculate', 'path' : 'Path', 'aliasfor' : 'Alias for', 'locked' : 'Locked', 'dim' : 'Dimensions', 'files' : 'Files', 'folders' : 'Folders', 'items' : 'Items', 'yes' : 'yes', 'no' : 'no', 'link' : 'Link', 'searcresult' : 'Search results', 'selected' : 'selected items', 'about' : 'About', 'shortcuts' : 'Shortcuts', 'help' : 'Help', 'webfm' : 'Web file manager', 'ver' : 'Version', 'protocolver' : 'protocol version', 'homepage' : 'Project home', 'docs' : 'Documentation', 'github' : 'Fork us on GitHub', 'twitter' : 'Follow us on Twitter', 'facebook' : 'Join us on Facebook', 'team' : 'Team', 'chiefdev' : 'chief developer', 'developer' : 'developer', 'contributor' : 'contributor', 'maintainer' : 'maintainer', 'translator' : 'translator', 'icons' : 'Icons', 'dontforget' : 'and don\'t forget to take your towel', 'shortcutsof' : 'Shortcuts disabled', 'dropFiles' : 'Drop files here', 'or' : 'or', 'selectForUpload' : 'Select files', 'moveFiles' : 'Move items', 'copyFiles' : 'Copy items', 'restoreFiles' : 'Restore items', // from v2.1.24 added 5.5.2017 'rmFromPlaces' : 'Remove from places', 'aspectRatio' : 'Aspect ratio', 'scale' : 'Scale', 'width' : 'Width', 'height' : 'Height', 'resize' : 'Resize', 'crop' : 'Crop', 'rotate' : 'Rotate', 'rotate-cw' : 'Rotate 90 degrees CW', 'rotate-ccw' : 'Rotate 90 degrees CCW', 'degree' : '°', 'netMountDialogTitle' : 'Mount network volume', // added 18.04.2012 'protocol' : 'Protocol', // added 18.04.2012 'host' : 'Host', // added 18.04.2012 'port' : 'Port', // added 18.04.2012 'user' : 'User', // added 18.04.2012 'pass' : 'Password', // added 18.04.2012 'confirmUnmount' : 'Are you unmount $1?', // from v2.1 added 30.04.2012 'dropFilesBrowser': 'Drop or Paste files from browser', // from v2.1 added 30.05.2012 'dropPasteFiles' : 'Drop files, Paste URLs or images(clipboard) here', // from v2.1 added 07.04.2014 'encoding' : 'Encoding', // from v2.1 added 19.12.2014 'locale' : 'Locale', // from v2.1 added 19.12.2014 'searchTarget' : 'Target: $1', // from v2.1 added 22.5.2015 'searchMime' : 'Search by input MIME Type', // from v2.1 added 22.5.2015 'owner' : 'Owner', // from v2.1 added 20.6.2015 'group' : 'Group', // from v2.1 added 20.6.2015 'other' : 'Other', // from v2.1 added 20.6.2015 'execute' : 'Execute', // from v2.1 added 20.6.2015 'perm' : 'Permission', // from v2.1 added 20.6.2015 'mode' : 'Mode', // from v2.1 added 20.6.2015 'emptyFolder' : 'Folder is empty', // from v2.1.6 added 30.12.2015 'emptyFolderDrop' : 'Folder is empty\\A Drop to add items', // from v2.1.6 added 30.12.2015 'emptyFolderLTap' : 'Folder is empty\\A Long tap to add items', // from v2.1.6 added 30.12.2015 'quality' : 'Quality', // from v2.1.6 added 5.1.2016 'autoSync' : 'Auto sync', // from v2.1.6 added 10.1.2016 'moveUp' : 'Move up', // from v2.1.6 added 18.1.2016 'getLink' : 'Get URL link', // from v2.1.7 added 9.2.2016 'selectedItems' : 'Selected items ($1)', // from v2.1.7 added 2.19.2016 'folderId' : 'Folder ID', // from v2.1.10 added 3.25.2016 'offlineAccess' : 'Allow offline access', // from v2.1.10 added 3.25.2016 'reAuth' : 'To re-authenticate', // from v2.1.10 added 3.25.2016 'nowLoading' : 'Now loading...', // from v2.1.12 added 4.26.2016 'openMulti' : 'Open multiple files', // from v2.1.12 added 5.14.2016 'openMultiConfirm': 'You are trying to open the $1 files. Are you sure you want to open in browser?', // from v2.1.12 added 5.14.2016 'emptySearch' : 'Search results is empty in search target.', // from v2.1.12 added 5.16.2016 'editingFile' : 'It is editing a file.', // from v2.1.13 added 6.3.2016 'hasSelected' : 'You have selected $1 items.', // from v2.1.13 added 6.3.2016 'hasClipboard' : 'You have $1 items in the clipboard.', // from v2.1.13 added 6.3.2016 'incSearchOnly' : 'Incremental search is only from the current view.', // from v2.1.13 added 6.30.2016 'reinstate' : 'Reinstate', // from v2.1.15 added 3.8.2016 'complete' : '$1 complete', // from v2.1.15 added 21.8.2016 'contextmenu' : 'Context menu', // from v2.1.15 added 9.9.2016 'pageTurning' : 'Page turning', // from v2.1.15 added 10.9.2016 'volumeRoots' : 'Volume roots', // from v2.1.16 added 16.9.2016 'reset' : 'Reset', // from v2.1.16 added 1.10.2016 'bgcolor' : 'Background color', // from v2.1.16 added 1.10.2016 'colorPicker' : 'Color picker', // from v2.1.16 added 1.10.2016 '8pxgrid' : '8px Grid', // from v2.1.16 added 4.10.2016 'enabled' : 'Enabled', // from v2.1.16 added 4.10.2016 'disabled' : 'Disabled', // from v2.1.16 added 4.10.2016 'emptyIncSearch' : 'Search results is empty in current view.\\APress [Enter] to expand search target.', // from v2.1.16 added 5.10.2016 'emptyLetSearch' : 'First letter search results is empty in current view.', // from v2.1.23 added 24.3.2017 'textLabel' : 'Text label', // from v2.1.17 added 13.10.2016 'minsLeft' : '$1 mins left', // from v2.1.17 added 13.11.2016 'openAsEncoding' : 'Reopen with selected encoding', // from v2.1.19 added 2.12.2016 'saveAsEncoding' : 'Save with the selected encoding', // from v2.1.19 added 2.12.2016 'selectFolder' : 'Select folder', // from v2.1.20 added 13.12.2016 'firstLetterSearch': 'First letter search', // from v2.1.23 added 24.3.2017 'presets' : 'Presets', // from v2.1.25 added 26.5.2017 'tooManyToTrash' : 'It\'s too many items so it can\'t into trash.', // from v2.1.25 added 9.6.2017 'TextArea' : 'TextArea', // from v2.1.25 added 14.6.2017 'folderToEmpty' : 'Empty the folder "$1".', // from v2.1.25 added 22.6.2017 'filderIsEmpty' : 'There are no items in a folder "$1".', // from v2.1.25 added 22.6.2017 'preference' : 'Preference', // from v2.1.26 added 28.6.2017 'language' : 'Language', // from v2.1.26 added 28.6.2017 'clearBrowserData': 'Initialize the settings saved in this browser', // from v2.1.26 added 28.6.2017 'toolbarPref' : 'Toolbar settings', // from v2.1.27 added 2.8.2017 'charsLeft' : '... $1 chars left.', // from v2.1.29 added 30.8.2017 'linesLeft' : '... $1 lines left.', // from v2.1.52 added 16.1.2020 'sum' : 'Sum', // from v2.1.29 added 28.9.2017 'roughFileSize' : 'Rough file size', // from v2.1.30 added 2.11.2017 'autoFocusDialog' : 'Focus on the element of dialog with mouseover', // from v2.1.30 added 2.11.2017 'select' : 'Select', // from v2.1.30 added 23.11.2017 'selectAction' : 'Action when select file', // from v2.1.30 added 23.11.2017 'useStoredEditor' : 'Open with the editor used last time', // from v2.1.30 added 23.11.2017 'selectinvert' : 'Invert selection', // from v2.1.30 added 25.11.2017 'renameMultiple' : 'Are you sure you want to rename $1 selected items like $2?
This cannot be undone!', // from v2.1.31 added 4.12.2017 'batchRename' : 'Batch rename', // from v2.1.31 added 8.12.2017 'plusNumber' : '+ Number', // from v2.1.31 added 8.12.2017 'asPrefix' : 'Add prefix', // from v2.1.31 added 8.12.2017 'asSuffix' : 'Add suffix', // from v2.1.31 added 8.12.2017 'changeExtention' : 'Change extention', // from v2.1.31 added 8.12.2017 'columnPref' : 'Columns settings (List view)', // from v2.1.32 added 6.2.2018 'reflectOnImmediate' : 'All changes will reflect immediately to the archive.', // from v2.1.33 added 2.3.2018 'reflectOnUnmount' : 'Any changes will not reflect until un-mount this volume.', // from v2.1.33 added 2.3.2018 'unmountChildren' : 'The following volume(s) mounted on this volume also unmounted. Are you sure to unmount it?', // from v2.1.33 added 5.3.2018 'selectionInfo' : 'Selection Info', // from v2.1.33 added 7.3.2018 'hashChecker' : 'Algorithms to show the file hash', // from v2.1.33 added 10.3.2018 'infoItems' : 'Info Items (Selection Info Panel)', // from v2.1.38 added 28.3.2018 'pressAgainToExit': 'Press again to exit.', // from v2.1.38 added 1.4.2018 'toolbar' : 'Toolbar', // from v2.1.38 added 4.4.2018 'workspace' : 'Work Space', // from v2.1.38 added 4.4.2018 'dialog' : 'Dialog', // from v2.1.38 added 4.4.2018 'all' : 'All', // from v2.1.38 added 4.4.2018 'iconSize' : 'Icon Size (Icons view)', // from v2.1.39 added 7.5.2018 'editorMaximized' : 'Open the maximized editor window', // from v2.1.40 added 30.6.2018 'editorConvNoApi' : 'Because conversion by API is not currently available, please convert on the website.', //from v2.1.40 added 8.7.2018 'editorConvNeedUpload' : 'After conversion, you must be upload with the item URL or a downloaded file to save the converted file.', //from v2.1.40 added 8.7.2018 'convertOn' : 'Convert on the site of $1', // from v2.1.40 added 10.7.2018 'integrations' : 'Integrations', // from v2.1.40 added 11.7.2018 'integrationWith' : 'This elFinder has the following external services integrated. Please check the terms of use, privacy policy, etc. before using it.', // from v2.1.40 added 11.7.2018 'showHidden' : 'Show hidden items', // from v2.1.41 added 24.7.2018 'hideHidden' : 'Hide hidden items', // from v2.1.41 added 24.7.2018 'toggleHidden' : 'Show/Hide hidden items', // from v2.1.41 added 24.7.2018 'makefileTypes' : 'File types to enable with "New file"', // from v2.1.41 added 7.8.2018 'typeOfTextfile' : 'Type of the Text file', // from v2.1.41 added 7.8.2018 'add' : 'Add', // from v2.1.41 added 7.8.2018 'theme' : 'Theme', // from v2.1.43 added 19.10.2018 'default' : 'Default', // from v2.1.43 added 19.10.2018 'description' : 'Description', // from v2.1.43 added 19.10.2018 'website' : 'Website', // from v2.1.43 added 19.10.2018 'author' : 'Author', // from v2.1.43 added 19.10.2018 'email' : 'Email', // from v2.1.43 added 19.10.2018 'license' : 'License', // from v2.1.43 added 19.10.2018 'exportToSave' : 'This item can\'t be saved. To avoid losing the edits you need to export to your PC.', // from v2.1.44 added 1.12.2018 'dblclickToSelect': 'Double click on the file to select it.', // from v2.1.47 added 22.1.2019 'useFullscreen' : 'Use fullscreen mode', // from v2.1.47 added 19.2.2019 /********************************** mimetypes **********************************/ 'kindUnknown' : 'Unknown', 'kindRoot' : 'Volume Root', // from v2.1.16 added 16.10.2016 'kindFolder' : 'Folder', 'kindSelects' : 'Selections', // from v2.1.29 added 29.8.2017 'kindAlias' : 'Alias', 'kindAliasBroken' : 'Broken alias', // applications 'kindApp' : 'Application', 'kindPostscript' : 'Postscript document', 'kindMsOffice' : 'Microsoft Office document', 'kindMsWord' : 'Microsoft Word document', 'kindMsExcel' : 'Microsoft Excel document', 'kindMsPP' : 'Microsoft Powerpoint presentation', 'kindOO' : 'Open Office document', 'kindAppFlash' : 'Flash application', 'kindPDF' : 'Portable Document Format (PDF)', 'kindTorrent' : 'Bittorrent file', 'kind7z' : '7z archive', 'kindTAR' : 'TAR archive', 'kindGZIP' : 'GZIP archive', 'kindBZIP' : 'BZIP archive', 'kindXZ' : 'XZ archive', 'kindZIP' : 'ZIP archive', 'kindRAR' : 'RAR archive', 'kindJAR' : 'Java JAR file', 'kindTTF' : 'True Type font', 'kindOTF' : 'Open Type font', 'kindRPM' : 'RPM package', // fonts 'kindFont' : 'Font', 'kindSFNT' : 'SFNT font', 'kindEOT' : 'Embedded Open Type font', 'kindWOFF' : 'Web Open Font Format', 'kindWOFF2' : 'Web Open Font Format 2', // texts 'kindText' : 'Text document', 'kindTextPlain' : 'Plain text', 'kindPHP' : 'PHP source', 'kindCSS' : 'Cascading style sheet', 'kindHTML' : 'HTML document', 'kindJS' : 'Javascript source', 'kindRTF' : 'Rich Text Format', 'kindC' : 'C source', 'kindCHeader' : 'C header source', 'kindCPP' : 'C++ source', 'kindCPPHeader' : 'C++ header source', 'kindShell' : 'Unix shell script', 'kindPython' : 'Python source', 'kindJava' : 'Java source', 'kindRuby' : 'Ruby source', 'kindPerl' : 'Perl script', 'kindSQL' : 'SQL source', 'kindXML' : 'XML document', 'kindAWK' : 'AWK source', 'kindCSV' : 'Comma separated values', 'kindDOCBOOK' : 'Docbook XML document', 'kindMarkdown' : 'Markdown text', // added 20.7.2015 // images 'kindImage' : 'Image', 'kindBMP' : 'BMP image', 'kindJPEG' : 'JPEG image', 'kindGIF' : 'GIF Image', 'kindPNG' : 'PNG Image', 'kindTIFF' : 'TIFF image', 'kindTGA' : 'TGA image', 'kindPSD' : 'Adobe Photoshop image', 'kindXBITMAP' : 'X bitmap image', 'kindPXM' : 'Pixelmator image', // media 'kindAudio' : 'Audio media', 'kindAudioMPEG' : 'MPEG audio', 'kindAudioMPEG4' : 'MPEG-4 audio', 'kindAudioMIDI' : 'MIDI audio', 'kindAudioOGG' : 'Ogg Vorbis audio', 'kindAudioWAV' : 'WAV audio', 'AudioPlaylist' : 'MP3 playlist', 'kindVideo' : 'Video media', 'kindVideoDV' : 'DV movie', 'kindVideoMPEG' : 'MPEG movie', 'kindVideoMPEG4' : 'MPEG-4 movie', 'kindVideoAVI' : 'AVI movie', 'kindVideoMOV' : 'Quick Time movie', 'kindVideoWM' : 'Windows Media movie', 'kindVideoFlash' : 'Flash movie', 'kindVideoMKV' : 'Matroska movie', 'kindVideoOGG' : 'Ogg movie' } }; })); ( function () { 'use strict'; window.InlineShortcodeView_vc_gallery = window.InlineShortcodeView.extend({ render: function () { var model_id = this.model.get( 'id' ); window.InlineShortcodeView_vc_gallery.__super__.render.call( this ); vc.frame_window.vc_iframe.addActivity( function () { this.vc_iframe.vc_gallery( model_id ); }); return this; }, parentChanged: function () { window.InlineShortcodeView_vc_gallery.__super__.parentChanged.call( this ); vc.frame_window.vc_iframe.vc_gallery( this.model.get( 'id' ) ); } }); })(); ( function () { 'use strict'; window.InlineShortcodeView_vc_masonry_media_grid = window.InlineShortcodeView_vc_basic_grid.extend(); })(); Sincronización de múltiples dispositivos en Cake Wallet: ¿Cómo mantener wallets actualizadas? – DahChen Design

Sincronización de múltiples dispositivos en Cake Wallet: ¿Cómo mantener wallets actualizadas?

Un usuario experimenta un problema común pero crítico: posee una cartera Cake Wallet en su teléfono Android, pero también necesita acceder a sus fondos desde una computadora portátil y ocasionalmente desde un iPad. Las claves privadas están bajo su control total, lo que significa que Cake Wallet no almacena sus activos en servidores centralizados. Sin embargo, esta misma característica plantea una pregunta operativa fundamental: ¿cómo se mantiene sincronizado el estado de su cartera cuando usa múltiples dispositivos sin confiar en un servidor externo? Si realiza una transacción en Android, ¿cómo se actualiza automáticamente el saldo en iOS? ¿Qué sucede si intenta gastar el mismo fondo simultáneamente desde dos dispositivos?

La sincronización en una cartera de autocustodia no es un problema trivial. A diferencia de una aplicación de banca tradicional que consulta un servidor central para cada saldo, Cake Wallet debe mantener cada dispositivo actualizado sobre la cadena de bloques sin comprometer la privacidad ni la seguridad de las claves. Las estrategias disponibles van desde la sincronización manual explícita hasta mecanismos automáticos que dependen de nodos públicos o privados. Cada enfoque presenta compensaciones distintas en términos de privacidad, velocidad, consumo de datos y probabilidad de inconsistencias accidentales.

Interfaz de sincronización multi-dispositivo en Cake Wallet mostrando actualización de saldos, historial de transacciones y control de claves privadas en Android e iOS

El modelo de sincronización sin servidor central en Cake Wallet

Cake Wallet es una cartera no custodia que mantiene las claves privadas almacenadas localmente en cada dispositivo. Esto significa que no existe una base de datos central en servidores Cake que contenga sus claves o saldos. La implicación técnica es que cada dispositivo debe consultar la cadena de bloques por su cuenta para conocer qué transacciones pertenecen a su cartera y cuál es el saldo actual disponible. Este modelo elimina la dependencia de un punto de fallo único controlado por la empresa, pero también significa que la sincronización es fundamentalmente un problema de consulta independiente, no de replicación de un estado maestro.

Cuando instala Cake Wallet en múltiples dispositivos con la misma frase semilla, cada dispositivo deriva las mismas direcciones públicas matemáticamente. Por ejemplo, si el Android genera la dirección Bitcoin 1A1z7agoat…, el iPad derivará la misma dirección porque ambos usan la misma semilla y el mismo algoritmo de derivación de claves. Sin embargo, el conocimiento sobre qué transacciones han afectado esa dirección no se sincroniza automáticamente entre dispositivos. Cada uno debe preguntarle a la red de Bitcoin o al servidor bloqueador correspondiente: “¿Qué transacciones involucran estas direcciones?” La respuesta que reciba será idéntica en teoría, pero el momento de la consulta, el nodo consulado y la latencia pueden crear ventanas temporales donde los dispositivos muestran información ligeramente desincronizada.

Este diseño contrasta deliberadamente con servicios como iCloud o Google Drive, donde los dispositivos no poseen las claves criptográficas y un servidor central gestiona el estado autorizado. En Cake Wallet, no hay un servidor que pueda “decidir la verdad”. En cambio, cada dispositivo consulta fuentes públicas o privadas de información de la cadena de bloques. Si esas fuentes tienen retrasos o inconsistencias temporales, los dispositivos pueden mostrar brevemente diferentes saldos. Esta característica es un costo directo de la privacidad y la seguridad del autocustodia.

Para usuarios que consideran usar Cake Wallet descargar en múltiples dispositivos, el primer paso es entender que “sincronización” no significa “replicación automática completa” sino más bien “actualización independiente desde la misma fuente de verdad”. Ese matiz afecta directamente a cómo se deben usar estos dispositivos juntos sin riesgo de pérdida de fondos.

Sincronización automática: confiar en nodos y puntos de acceso a la cadena

Cake Wallet para Android e iOS ofrece sincronización automática en segundo plano. Cuando esta opción está habilitada, la aplicación se conecta periódicamente a nodos de cadena de bloques para actualizar el historial de transacciones y el saldo mostrado. El usuario no debe hacer nada manualmente; la cartera intenta mantenerse actualizada de forma continua. Esta funcionalidad depende de que el dispositivo tenga conectividad de red (WiFi o datos móviles), batería suficiente, y de que el nodo remoto esté disponible y responda correctamente.

La sincronización automática es conveniente, pero introduce una dependencia en terceros. Cuando Cake Wallet se conecta a un nodo público de Bitcoin o Monero, ese nodo puede potencialmente registrar que una dirección IP determinada está consultando direcciones específicas. Para usuarios que priorizan la privacidad, esta conexión es una superficie de exposición. Algunos nodos pueden ser operados por empresas de análisis de cadena que intentan vincular direcciones IP con direcciones de criptomonedas. Cake Wallet atiende esto ofreciendo soporte para Tor, lo que enruta la conexión a través de la red Tor antes de alcanzar el nodo, ocultando la dirección IP del usuario.

Sin embargo, incluso con Tor habilitado, la sincronización automática tiene un costo en términos de actualizaciones. Si dos dispositivos se sincronizan simultáneamente con nodos diferentes, es posible que vean versiones ligeramente diferentes de la cadena durante momentos de congestión o reordenamiento de bloques. En Bitcoin, un reordenamiento de dos bloques ocurre aproximadamente una vez cada mes. Si en ese momento usted ha iniciado dos pagos desde dos dispositivos diferentes, gastando el mismo UTXO (unidad de salida no gastada), uno de los pagos fallará o será rechazado por la red. Cake Wallet intenta mitigar esto manteniendo un registro local de transacciones pendientes, pero el modelo fundamentalmente no garantiza sincronización perfecta en tiempo real.

La Cake Wallet oficial en iOS también integra notificaciones push para transacciones entrantes en algunos activos, lo que puede acelerar la actualización percibida cuando alguien le envía fondos. En Android, la sincronización automática es más dependiente de los ciclos de actividad de la aplicación y puede estar limitada por las restricciones de batería del sistema operativo. Un dispositivo con el modo de ahorro de batería agresivo puede retrasar la sincronización automática significativamente.

Sincronización manual: cuándo y por qué deliberadamente forzar una actualización

Cake Wallet permite desactivar la sincronización automática y realizar actualizaciones manuales. El usuario abre la cartera, navega a un activo específico como Bitcoin o Monero, y presiona un botón de actualización o “refrescar”. Esto inicia una consulta inmediata a la cadena de bloques para recuperar el estado más reciente. La sincronización manual es útil en varias situaciones prácticas.

Primero, cuando un usuario sabe que acaba de recibir una transacción importante pero la cartera aún no la muestra. En lugar de esperar a que se dispare la sincronización automática (que puede demorarse minutos si el dispositivo estaba apagado o sin conexión), el usuario puede presionar actualizar y ver instantáneamente si los fondos han llegado. Segundo, cuando viaja o está en una zona con conectividad limitada, desactivar la sincronización automática reduce el consumo de datos y la batería. El usuario sincroniza solo cuando realmente necesita verificar un saldo antes de realizar un pago.

Tercero, la sincronización manual es una salvaguarda psicológica contra los dobles gastos accidentales. Si posee la misma cartera en su Android e iOS, una práctica más segura es: realizar la transacción en un dispositivo, esperar a que se confirme en la cadena de bloques, luego sincronizar manualmente el otro dispositivo antes de intentar cualquier otra transacción desde él. Esto evita que dos dispositivos crean simultáneamente que tienen fondos disponibles cuando en realidad solo hay suficientes para un gasto. La latencia es explícita y visible, lo que reduce el riesgo de error humano.

Cake Wallet Android y Cake Wallet iOS implementan el botón de sincronización manual en lugares ligeramente diferentes de la interfaz, pero ambos lo hacen accesible. En la vista de historial de transacciones o en la página principal del activo, usualmente hay un ícono de actualización o una opción de menú. Presionarlo inicia una solicitud de sincronización que puede tomar desde algunos segundos hasta medio minuto, dependiendo de cuántas transacciones debe descargar y cuál es la velocidad de la red.

Coordinación explícita: cuándo sincronizar cada dispositivo para operaciones de múltiples firmas

Si usa múltiples dispositivos con Cake Wallet y realiza actividades avanzadas como transacciones de múltiples firmas, pagos con billetera de hardware, o monitoreo de direcciones públicas dedicadas, la coordinación de sincronización se vuelve crítica. Supongamos que posee un Ledger que firma transacciones y que usa tanto iOS como Android para monitorear los fondos. El procedimiento seguro es: primero, sincronizar el dispositivo iOS desde el cual iniciará el monitoreo. Registre el saldo mostrado. Luego, sincronizar manualmente Android después de que cualquier transacción esté confirmada en la cadena de bloques.

La razón es que los servicios de bloqueo (blockchers) que Cake Wallet consulta a veces tienen pequeñas inconsistencias. Un servicio puede reportar una transacción confirmada mientras otro aún no la ha indexado. Si una transacción de salida está confirmada en el servicio que consulta iOS pero no en el que consulta Android, los dos dispositivos mostrarán diferentes saldos para el mismo UTXO. La coordinación manual fuerza a que ambos dispositivos consulten después de un tiempo suficiente de espera, reduciendo la probabilidad de inconsistencias temporales. Para transacciones de alto valor, este tipo de precaución es justificable.

Cake Wallet también permite ver el estado de congelación de transacciones (locked UTXOs) y el historial de gastos. Si en el Android ve que ciertos fondos están congelados o en transacción pendiente, y en iOS aún aparecen como disponibles, una sincronización manual del iOS aclarará el estado. Los servidores bloqueadores responden basándose en el mempool actual y el estado de la cadena, así que forzar una consulta nueva típicamente resuelve estas desincronizaciones dentro de segundos.

Manejo de transacciones pendientes y evitar doble gasto accidental

Una transacción pendiente es aquella que ha sido firmada y transmitida a la red, pero aún no ha sido incluida en un bloque confirmado. Durante este período, que puede durar desde algunos segundos hasta horas en momentos de congestión, la moneda técnicamente “existe” en el mempool de la red pero no está finalizada. Cake Wallet rastrea estas transacciones localmente en cada dispositivo. Si no sincroniza explícitamente, es posible que el Android sepa de una transacción pendiente enviada desde iOS, pero el iOS no lo sepa porque no ha recibido la notificación sobre su propia transacción desde la red.

El escenario de riesgo es el siguiente: en iOS, envía 0.5 BTC a una dirección. La transacción entra al mempool y se propaga por la red. Pero el iOS, que ejecuta Cake Wallet, podría no haber recibido aún la confirmación del nodo. Mientras tanto, abre Android y ve que Cake Wallet aún muestra el saldo de 1.0 BTC como disponible (porque no ha sincronizado desde la transacción iOS). Accidentalmente, intenta enviar 0.6 BTC más desde Android, creyendo que hay 1.0 BTC. Ahora la red ha visto dos intentos de gasto de un fondo que solo existe una vez.

Las consecuencias dependen de cuál transacción se confirme primero. Los mineros priorizan típicamente por tarifa (fee). Si ambas transacciones están en el mempool con tarifas competitivas, la que tenga una tarifa más alta probablemente se confirme primero, y la otra será rechazada (retornando el fondo a la dirección de cambio si fue bien construida). Cake Wallet implementa cambio automático para esto, pero el usuario incurre en una tarifa desperdiciada y en la confusión de transacciones fallidas. La prevención es simple: después de una transacción importante desde un dispositivo, sincronizar manualmente todos los otros dispositivos antes de intentar cualquier nuevo gasto.

Configuración de nodos privados para sincronización más confiable

Si ejecuta su propio nodo de Bitcoin, Monero o Ethereum, puede configurar Cake Wallet para conectarse exclusivamente a ese nodo en lugar de a nodos públicos aleatorios. Esto ofrece varias ventajas para usuarios que mantienen múltiples dispositivos. Primero, elimina la dependencia de nodos públicos que pueden ser lentos o estar bajo control de terceros. Segundo, mejora significativamente la privacidad porque todas las consultas pasan por su propio nodo, bajo su control total. Tercero, la sincronización tiende a ser más rápida y más consistente porque el nodo responde instantáneamente sin latencias de red variables.

La desventaja es que ejecutar un nodo requiere recursos: espacio en disco (potencialmente cientos de gigabytes), ancho de banda constante, y una computadora dedicada o servidor siempre activo. Para usuarios con múltiples dispositivos, especialmente aquellos que poseen cantidades significativas de criptomonedas, la inversión puede valer la pena. Cake Wallet en Android e iOS permite configurar la dirección del nodo privado en la configuración avanzada de conexión. La sincronización a través de su nodo privado es entonces automáticamente más confiable porque ambos dispositivos consultan exactamente la misma fuente de verdad.

Sin embargo, incluso con un nodo privado, la sincronización multi-dispositivo conserva la característica de que cada dispositivo debe consultar independientemente. El nodo no “empuja” información a los dispositivos; son los dispositivos los que “tiran” datos del nodo. Si configura el nodo para escuchar solo en la red local (localhost), entonces solo un dispositivo en la misma red WiFi doméstica puede sincronizar. Para acceso remoto, debe exponer el nodo a través de una VPN o red privada virtual, lo que introduce otros niveles de complejidad de configuración.

Diferencias en sincronización entre Cake Wallet Android, iOS y versiones de escritorio

Cake Wallet está disponible en Android, iOS, macOS, Linux y Windows. La implementación técnica de sincronización varía ligeramente entre estas plataformas debido a las limitaciones y capacidades del sistema operativo. iOS es particularmente restrictivo: Apple limita cuándo las aplicaciones pueden ejecutar tareas en segundo plano. Cake Wallet iOS depende de notificaciones push para alertar al dispositivo cuando hay nueva actividad, pero Apple controla centralmente cómo y cuándo se entregan esas notificaciones. Esto significa que la sincronización automática en iOS puede ser menos inmediata que en Android, que tiene menos restricciones sobre tareas en segundo plano.

Android permite que Cake Wallet Android ejecute sincronización más agresiva en segundo plano, pero los fabricantes de teléfonos (Samsung, Xiaomi, etc.) a menudo implementan sus propias restricciones de batería que pueden interferir. Un usuario con un Samsung Galaxy con modo de batería agresivo puede encontrar que Cake Wallet Android se sincroniza mucho más lentamente que lo esperado. La solución es agregar Cake Wallet a la lista de excepciones de optimización de batería en las configuraciones del teléfono.

Las versiones de escritorio de Cake Wallet (macOS, Linux, Windows) tienen mayor control sobre sincronización porque no están limitadas por restricciones de batería o actividad en segundo plano. Pueden sincronizar continuamente o con un intervalo configurable. Para usuarios que mantienen una cartera en su computadora principal y también en dispositivos móviles, la versión de escritorio puede servir como punto de referencia más confiable. Si duda de si un dispositivo móvil está actualizado, abra la cartera de escritorio y vea si muestra una información diferente después de sincronizar manualmente.

Mejores prácticas para protegerse contra inconsistencias y pérdida de fondos

La mejor práctica número uno es: no realice transacciones simultáneamente desde dos dispositivos sin una confirmación de que el primero se ha completado en la cadena de bloques. Espere a que una transacción aparezca en el historial de Cake Wallet con un estado de al menos una confirmación antes de usar otro dispositivo. Esto es especialmente importante si los dispositivos no comparten la misma red WiFi doméstica (en cuyo caso están consultando nodos potencialmente diferentes y pueden tener mayor latencia de sincronización).

La segunda práctica es mantener manualmente un registro escrito o fotografiado del saldo de moneda última que vio en cada dispositivo. Si el Android muestra 2.5 BTC y el iOS muestra 2.4 BTC después de sincronizar ambos manualmente, hay una inconsistencia. En lugar de ignorarla, espere 10 minutos, sincronice de nuevo, e investigue si hubo una transacción pendiente que se confirmó. Las inconsistencias pequeñas y breves (diferencias de menos del 1%) son típicamente transacciones pendientes en procesamiento. Las inconsistencias grandes o persistentes (más de 1%) sugieren que un dispositivo no está sincronizando correctamente con la red.

La tercera práctica es probar el proceso de recuperación antes de que sea una emergencia. Si está usando tres dispositivos (Android, iOS, macOS), cerciórese de que puede: 1) resetear cada dispositivo borrando la cartera, 2) reimportar la frase semilla, 3) sincronizar completamente, y 4) ver exactamente el mismo saldo en todos tres. Haga esto con un monto pequeño de fondos de prueba en un período en que no necesite acceder a la cartera durante horas. Sabrá con confianza que el proceso funciona si lo necesita en una situación de verdadera pérdida de acceso.

La cuarta práctica es configurar alertas o recordatorios para sincronizar manualmente antes de operaciones financieras importantes. Si va a pagar un vendedor o a recibir una cantidad significativa de fondos, sincronice todos sus dispositivos 5-10 minutos antes de realizar la transacción. Esto reduce la ventana de asincronía y le da la confianza de que los saldos mostrados son recientes. Para transacciones de más de 5000 USD equivalentes, esta precaución adicional es razonable.

Recuperación y resolución cuando los dispositivos muestran información divergente

Si sus dispositivos mostran saldos o historiales significativamente diferentes, el primer paso es no entrar en pánico ni realizar más transacciones. Abra la cartera Cake Wallet en el dispositivo que considere más confiable (típicamente la computadora de escritorio si posee una, o el dispositivo que usó más recientemente para transacciones), sincronice manualmente y espere 30 segundos. Registre el saldo y el historial exacto de transacciones mostrado.

Luego, abra cada otro dispositivo de forma aislada, sin conexión a otros dispositivos, y sincronice manualmente. Compare cada saldo mostrado con el del dispositivo de referencia. Si todos convergen al mismo saldo después de sincronizar, la divergencia temporal se resolvió automáticamente. Si un dispositivo permanece con información diferente, puede significar: el nodo que está usando es lento o está detrás en el blockchain, o la cartera en ese dispositivo tiene un problema técnico.

Para resolver esto, intente cambiar el nodo que usa ese dispositivo. En Cake Wallet, vaya a Configuración, luego a la sección de Nodo o Conexión, y seleccione un nodo diferente de la lista de nodos públicos sugeridos. Sincronice nuevamente. Si el saldo ahora coincide con los otros dispositivos, el nodo anterior era la causa de la divergencia. Si aún permanece diferente, intente desinstalar y reinstalar Cake Wallet en ese dispositivo, asegurándose de reimportar la frase semilla correcta.

Un problema más raro es una frase semilla incorrecta en uno de los dispositivos. Si durante la configuración comete un error al escribir una letra en la frase semilla, ese dispositivo derivará direcciones completamente diferentes y nunca verá los mismos fondos que los otros. La única solución es corregir la frase semilla o eliminar y reimportar con la frase correcta. Cake Wallet le alertará si intenta usar una frase semilla inválida (las frases semilla tienen un checksum criptográfico), pero si es una frase válida pero incorrecta, derivará una cartera diferente.

Preguntas frecuentes

¿Sincroniza automáticamente Cake Wallet entre dispositivos si uso la misma frase semilla?

Cake Wallet derivará las mismas direcciones públicas en múltiples dispositivos con la misma frase semilla, pero cada dispositivo sincroniza independientemente con la cadena de bloques. No existe una sincronización automática entre los propios dispositivos. La aplicación en Android consulta nodos de Bitcoin o Monero, el iOS consulta independientemente, y ambos muestran el saldo más reciente de la red. Habrá breves períodos donde pueden diferir si se sincronizan en momentos diferentes o con nodos diferentes.

¿Qué pasa si gasto fondos desde dos dispositivos simultáneamente?

Si intenta enviar los mismos fondos desde Android e iOS en el mismo momento, ambos dispositivos creerán que poseen suficientes monedas porque ambos sincronizaron antes de su acción. Una vez que las dos transacciones se propagan a la red, la primera que sea confirmada gastará los fondos. La segunda será rechazada por la red porque el UTXO ya fue consumido. Usted incurrirá en una tarifa de transacción sobre el intento rechazado. Para evitar esto, espere a que una transacción se confirme (una confirmación en la cadena de bloques) antes de intentar cualquier nuevo gasto desde otro dispositivo.

¿Debería desactivar la sincronización automática en Cake Wallet para proteger la privacidad?

Desactivar la sincronización automática reduce la exposición de consultas frecuentes a nodos remotos, lo que puede mejorar la privacidad. Sin embargo, esto requiere sincronización manual antes de cada transacción, lo que es menos conveniente. Un compromiso es mantener la sincronización automática pero habilitar Tor, que enruta la conexión a través de la red Tor antes de alcanzar los nodos públicos, ocultando su dirección IP. De esta forma obtiene comodidad y privacidad simultáneamente.

2026-09-15T23:20:20+08:00