// Connection types
"fs.connection.type.ftp" = "FTP";
"fs.connection.type.ftp-ssl" = "FTP with SSL/TLS";
"fs.connection.type.ftp-implicit-ssl" = "FTP with Implicit SSL/TLS";
"fs.connection.type.sftp" = "SFTP";
"fs.connection.type.s3" = "Amazon S3";


// Untitled
"fs.untitled-directory" = "untitled folder";
"fs.untitled-file" = "untitled";


// Byte sizes
"fs.number-of-bytes-not-applicable" = "—";
"fs.number-of-bytes (%@)" = "%@ bytes";
"fs.number-of-kilobytes (%@)" = "%@ KB";
"fs.number-of-megabytes (%@)" = "%@ MB";
"fs.number-of-gigabytes (%@)" = "%@ GB";
"fs.number-of-terabytes (%@)" = "%@ TB";
"fs.number-of-petabytes (%@)" = "%@ PB";


// Actions
"fs.action.rename.title" = "Rename";
"fs.action.duplicate.title" = "Duplicate";
"fs.action.reveal-in-finder.title" = "Show in Finder";
"fs.action.recycle.title" = "Move to Trash…";
"fs.action.delete.title" = "Delete…";
"fs.action.new-directory.title" = "New Folder";
"fs.action.new-file.title" = "New File";
"fs.action.refresh.title" = "Refresh";


// Status: the operation has not yet been scheduled for execution
"fs.status.idle" = "Waiting…";


// Status: the operation is acquiring a connection to the server
"fs.status.connecting" = "Connecting…";


// Status: the operation is acquiring a connection to the server, now authenticating
"fs.status.authenticating" = "Authenticating…";


// Status: the operation is waiting until a ready-to-use connection becomes available. This means connecting and authenticating have already succeeded, but multiple operations want access to the same server.
"fs.status.waiting-for-connection" = "Waiting…";


// Status: the operation is executing
"fs.status.in-progress.generic" = "Transferring…";
"fs.status.in-progress.upload (item-name:%@)" = "Uploading “%@”…";
"fs.status.in-progress.download (item-name:%@)" = "Downloading “%@”…";
"fs.status.in-progress.remove (item-name:%@)" = "Deleting “%@”…";
"fs.status.in-progress.remove (item-count:%@)" = "Deleting %@ items…";
"fs.status.in-progress.set-attributes" = "Changing attributes…";


// Status: the operation completed successfully
"fs.status.finished.generic" = "Done";
"fs.status.finished.upload (item-name:%@)" = "Uploaded “%@”";
"fs.status.finished.download (item-name:%@)" = "Downloaded “%@”";
"fs.status.finished.remove (item-name:%@)" = "Deleted “%@”";
"fs.status.finished.remove (item-count:%@)" = "Deleted %@ items";
"fs.status.finished.set-attributes" = "Changed attributes";


// Decisions
"fs.decide.button.cancel.title" = "Cancel";
"fs.decide.suppression-button.title" = "Apply to All";
"fs.decide.field.password.label" = "Password:";

"fs.decide.should-remove.title (item-name:%@)" = "Are you sure you want to permanently delete “%@”?";
"fs.decide.should-remove.message" = "You can’t undo this action.";
"fs.decide.should-remove.title" = "Are you sure you want to permanently delete these items?";
"fs.decide.should-remove.message (one-item-name:%@ other-item-name:%@)" = "“%@” and “%@” will be deleted. You can’t undo this action.";
"fs.decide.should-remove.message (one-item-name:%@ other-items-count:%@)" = "“%@” and %@ other items will be deleted. You can’t undo this action.";
"fs.decide.should-remove.button.proceed.title" = "Delete";

"fs.decide.should-recycle.title (item-name:%@)" = "Are you sure you want to delete “%@”?";
"fs.decide.should-recycle.message" = "The item will be moved to the Trash. You can’t undo this action.";
"fs.decide.should-recycle.title" = "Are you sure you want to delete these items?";
"fs.decide.should-recycle.message (one-item-name:%@ other-item-name:%@)" = "“%@” and “%@” will be moved to the Trash. You can’t undo this action.";
"fs.decide.should-recycle.message (one-item-name:%@ other-items-count:%@)" = "“%@” and %@ other items will be moved to the Trash. You can’t undo this action.";
"fs.decide.should-recycle.button.proceed.title" = "Move to Trash";

"fs.decide.should-replace-destination.title (to-item-name:%@)" = "“%@” already exists. Do you want to replace it?";
"fs.decide.should-replace-destination.message (to-directory-name:%@)" = "A file or folder with the same name already exists in the folder %@. Replacing it will overwrite its current contents.";
"fs.decide.should-replace-destination.button.proceed.title" = "Replace";
"fs.decide.should-replace-destination.button.cancel.title" = "Stop";
"fs.decide.should-replace-destination.button.keep-both.title" = "Keep Both";

"fs.decide.password.title" = "Please enter your password.";
"fs.decide.password.button.proceed.title" = "Continue";

"fs.decide.max-connection-count.title (server:%@)" = "Would you like to enable Cloud Attack for the server “%@” to speed up your transfers?";
"fs.decide.max-connection-count.message" = "The server may limit the number of connections you are allowed to make. You can change this later.";
"fs.decide.max-connection-count.button.proceed.title" = "Continue";

"fs.decide.should-trust-certificate.title (app:%@ server:%@)" = "%@ can’t verify the identity of the server “%@”.";
"fs.decide.should-trust-certificate.message (server:%@)" = "The certificate for this server is invalid. You might be connecting to a server that is pretending to be “%@”, which could put your confidential information at risk. Would you like to connect to the server anyway?";
"fs.decide.should-trust-certificate.button.proceed.title" = "Continue";

"fs.decide.should-trust-publickey.title (app:%@ server:%@)" = "%@ can’t verify the identity of the server “%@”.";
"fs.decide.should-trust-publickey.message (key-md5:%@)" = "The public key for this server, with fingerprint %@, is unknown. Would you like to accept the key?";
"fs.decide.should-trust-publickey.button.proceed.title" = "Continue";

"fs.decide.should-trust-publickey-change.title (server:%@)" = "The server “%@” has changed its public key since you last connected.";
"fs.decide.should-trust-publickey-change.message (key-md5:%@)" = "This is most likely due to a configuration change, but you should confirm with the server administrator. The new key's fingerprint is %@. Would you like to accept the new key?";
"fs.decide.should-trust-publickey-change.button.proceed.title" = "Continue";

"fs.decide.should-allow-partial-security.title (server:%@)" = "The server “%@” doesn’t support completely secure connections.";
"fs.decide.should-allow-partial-security.message" = "Some items may be transferred insecurely, which could put your confidential information at risk. Would you like to connect to the server anyway?";
"fs.decide.should-allow-partial-security.button.proceed.title" = "Continue";

"fs.decide.should-detect-sync-server-time.title (server:%@)" = "Would you like to detect the time zone of the server “%@”?";
"fs.decide.should-detect-sync-server-time.message" = "Detecting the time zone creates a temporary file on the server. Without this step, some items may be incorrectly marked as changed.";
"fs.decide.should-detect-sync-server-time.button.proceed.title" = "Detect Time and Continue";
"fs.decide.should-detect-sync-server-time.button.cancel.title" = "Continue";


// Error buttons
"fs.error.button.dismiss.title" = "OK";
"fs.error.button.server-settings.title" = "Settings…";
"fs.error.button.network-diagnostics.title" = "Network Diagnostics…";


// Error messages
"fs.error.generic.cannot-connect" = "Couldn’t connect to the server.";
"fs.error.generic.cannot-connect (server:%@)" = "Couldn’t connect to “%@”.";

"fs.error.*.no-connection-pool" = "@alias fs.error.generic.cannot-connect";
"fs.error.*.no-connection-pool.message" = "There may be an internal problem with the server settings. Please send feedback about this error.";

"fs.error.*.cannot-find-host" = "@alias fs.error.generic.cannot-connect";
"fs.error.*.cannot-find-host.message" = "The server couldn’t be found.";

"fs.error.*.cannot-connect-to-host" = "@alias fs.error.generic.cannot-connect";
"fs.error.*.cannot-connect-to-host.message" = "The server is refusing connections.";

"fs.error.*.timed-out (server:%@)" = "The server “%@” isn’t responding.";
"fs.error.*.timed-out.message" = "Connection timed out. There may be a problem with the server or network settings, or the server is responding very slowly.";
"fs.error.*.timed-out-for-additional-connection" = "@alias fs.error.*.timed-out";
"fs.error.*.timed-out-for-additional-connection.message" = "Connection timed out. The server may be limiting the number of connections you are allowed to make.";

"fs.error.*.connection-closed" = "@alias fs.error.generic.cannot-connect";
"fs.error.*.connection-closed.message" = "The server closed the connection.";

"fs.error.*.security-failed" = "@alias fs.error.generic.cannot-connect";
"fs.error.*.security-failed.message" = "Couldn’t establish a secure connection.";

"fs.error.*.no-internet" = "@alias fs.error.generic.cannot-connect";
"fs.error.*.no-internet.message" = "The Internet connection appears to be offline.";

"fs.error.*.authentication-failed (server:%@)" = "The user name or password for the server “%@” is incorrect.";

"fs.error.*.item-exists (to-item-name:%@)" = "The name “%@” is already taken. Please choose a different name.";

"fs.error.*.item-does-not-exist (item-name:%@)" = "The item “%@” doesn’t exist.";
"fs.error.list-directory.item-does-not-exist (item-name:%@)" = "The folder “%@” doesn’t exist.";

"fs.error.copy.* (item-name:%@)" = "Couldn’t copy “%@”.";
"fs.error.copy.item-is-alias.message" = "The item is an alias. Please copy the original file or folder instead.";

"fs.error.*.partially-failed" = "Some operations couldn’t be completed.";
"fs.error.*.partially-failed.message" = "Double-check your settings, or try again.";

"fs.error.*.alias-destination-does-not-exist (item-name:%@)" = "The original for alias “%@” couldn’t be found.";

"fs.error.*.permission-denied" = "You don’t have permission to perform this action.";
"fs.error.rename.permission-denied (from-item-name:%@)" = "You don’t have permission to rename the item “%@”.";

"fs.error.upload.* (item-name:%@)" = "Couldn’t upload “%@”.";
"fs.error.upload.partially-failed" = "Some files couldn’t be uploaded.";
"fs.error.upload.partially-failed.message" = "The following errors were encountered during the transfer. Double-check your settings, or try to upload these files again.";

"fs.error.remove.* (item-name:%@)" = "Couldn’t delete “%@”.";
"fs.error.remove.partially-failed" = "Some files couldn’t be deleted.";
"fs.error.remove.partially-failed.message" = "The following errors were encountered. Double-check your settings, or try to delete these files again.";

"fs.error.set-attributes.* (item-name:%@)" = "Couldn’t change attributes for “%@”.";
"fs.error.set-attributes.partially-failed" = "Couldn’t change attributes for some files.";
"fs.error.set-attributes.partially-failed.message" = "The following errors were encountered. Double-check your settings, or try to change attributes for these files again.";

"fs.error.download.partially-failed" = "Some files couldn’t be downloaded.";


// Error messages (addendums)
"fs.error.server-settings.message-addendum" = "Double-check your settings and confirm them with the server administrator.";
"fs.error.server-response.message (%@)" = "Server said: %@";
