define(function () {
var out = {};
// translations must set this key for their language to be available in
// the language dropdowns that are shown throughout Cryptpad's interface
// NOTE: translate that name in your language ("Français" and not "French")
out._languageName = 'English';
out.main_title = "Cryptpad: Zero Knowledge, Collaborative Real Time Editing";
out.main_slogan = "Unity is Strength - Collaboration is Key"; // TODO remove?
out.type = {};
out.type.pad = 'Rich text';
out.type.code = 'Code';
out.type.poll = 'Poll';
out.type.slide = 'Presentation';
out.type.drive = 'Drive';
// NOTE: We want to update the 'common_connectionLost' key.
// Please do not add a new 'updated_common_connectionLostAndInfo' but change directly the value of 'common_connectionLost'
out.updated_common_connectionLostAndInfo = "Server Connection Lost
You're now in read-only mode until the connection is back.";
out.common_connectionLost = out.updated_common_connectionLostAndInfo;
out.websocketError = 'Unable to connect to the websocket server...';
out.typeError = "That realtime document is not compatible with the selected application";
out.onLogout = 'You are logged out, click here to log in
or press Escape to access your pad in read-only mode.';
out.loading = "Loading...";
out.error = "Error";
out.disconnected = 'Disconnected';
out.synchronizing = 'Synchronizing';
out.reconnecting = 'Reconnecting...';
out.lag = 'Lag';
out.readonly = 'Read only';
out.anonymous = "Anonymous";
out.yourself = "Yourself";
out.anonymousUsers = "anonymous editors";
out.anonymousUser = "anonymous editor";
out.users = "Users";
out.and = "And";
out.viewer = "viewer";
out.viewers = "viewers";
out.editor = "editor";
out.editors = "editors";
out.language = "Language";
out.greenLight = "Everything is working fine";
out.orangeLight = "Your slow connection may impact your experience";
out.redLight = "You are disconnected from the session";
out.importButton = 'IMPORT';
out.importButtonTitle = 'Import a document from a local file';
out.exportButton = 'EXPORT';
out.exportButtonTitle = 'Export this document to a local file';
out.exportPrompt = 'What would you like to name your file?';
out.changeNamePrompt = 'Change your name (leave empty to be anonymous): ';
out.user_rename = "Change display name";
out.user_displayName = "Display name";
out.user_accountName = "Account name";
out.clickToEdit = "Click to edit";
out.forgetButton = 'FORGET';
out.forgetButtonTitle = 'Remove this document from your home page listings';
out.forgetPrompt = 'Clicking OK will remove the URL for this pad from localStorage, are you sure?';
out.shareButton = 'Share';
out.shareSuccess = 'Copied URL to clipboard';
out.newButton = 'New';
out.newButtonTitle = 'Create a new document';
out.presentButton = 'PRESENT';
out.presentButtonTitle = "Enter presentation mode";
out.presentSuccess = 'Hit ESC to exit presentation mode';
out.sourceButton = 'VIEW SOURCE'; //TODO remove? hidden behind the present mode
out.sourceButtonTitle = "Leave presentation mode";
out.backgroundButton = 'BACKGROUND COLOR';
out.backgroundButtonTitle = 'Change the background color in the presentation';
out.colorButton = 'TEXT COLOR';
out.colorButtonTitle = 'Change the text color in presentation mode';
out.editShare = "Share edit URL";
out.editShareTitle = "Copy the edit URL to clipboard";
out.viewShare = "Share view URL";
out.viewShareTitle = "Copy the read-only URL to clipboard";
out.viewOpen = "View in new tab";
out.viewOpenTitle = "Open the document in read-only mode in a new tab";
out.notifyJoined = "{0} has joined the collaborative session";
out.notifyRenamed = "{0} is now known as {1}";
out.notifyLeft = "{0} has left the collaborative session";
out.okButton = 'OK (enter)';
out.cancel = "Cancel"; // Not used?
out.cancelButton = 'Cancel (esc)';
// Polls
out.poll_title = "Zero Knowledge Date Picker";
out.poll_subtitle = "Zero Knowledge, realtime scheduling";
out.poll_p_save = "Your settings are updated instantly, so you never need to save.";
out.poll_p_encryption = "All your input is encrypted so only people who have the link can access it. Even the server cannot see what you change.";
out.poll_p_howtouse = "Enter your name in the input field below and check the box for times when you are available";
out.promptName = "What is you name ?";
out.wizardButton = 'WIZARD';
out.wizardLog = "Click the button in the top left to return to your poll";
out.wizardTitle = "Use the wizard to create your poll";
out.wizardConfirm = "Are you really ready to add these options to your poll?";
out.poll_publish_button = "Publish";
out.poll_admin_button = "Admin";
out.poll_create_user = "Add a new user";
out.poll_create_option = "Add a new option";
out.poll_commit = "Commit";
out.poll_closeWizardButton = "Close wizard";
out.poll_closeWizardButtonTitle = "Close wizard";
out.poll_wizardComputeButton = "Compute Options";
out.poll_wizardClearButton = "Clear Table";
out.poll_wizardDescription = "Automatically create a number of options by entering any number of dates and times segments";
out.poll_wizardAddDateButton = "+ Dates";
out.poll_wizardAddTimeButton = "+ Times";
out.poll_addUserButton = "+ Users";
out.poll_addUserButtonTitle = "Click to add a user";
out.poll_addOptionButton = "+ Options";
out.poll_addOptionButtonTitle = "Click to add an option";
out.poll_addOption = "Propose an option";
out.poll_optionPlaceholder = "Option";
out.poll_addUser = "Enter a name";
out.poll_userPlaceholder = "Your name";
out.poll_removeOption = "Are you sure you'd like to remove this option?";
out.poll_removeOptionTitle = "Remove the row";
out.poll_removeUser = "Are you sure you'd like to remove this user?";
out.poll_removeUserTitle = "Remove the column";
out.poll_editOption = "Are you sure you'd like to edit this option?";
out.poll_editOptionTitle = "Edit the row";
out.poll_editUser = "Are you sure you'd like to edit this user?";
out.poll_editUserTitle = "Edit the column";
out.poll_titleHint = "Title";
out.poll_descriptionHint = "Describe your poll, and use the 'publish' button when you're done. Anyone with the link can change the description, but this is discouraged.";
// File manager
out.fm_rootName = "Documents";
out.fm_trashName = "Trash";
out.fm_unsortedName = "Unsorted files";
out.fm_filesDataName = "All files";
out.fm_templateName = "Templates";
out.fm_newButton = "New";
out.fm_newFolder = "New folder";
out.fm_folder = "Folder";
out.fm_folderName = "Folder name";
out.fm_numberOfFolders = "# of folders";
out.fm_numberOfFiles = "# of files";
out.fm_fileName = "File name";
out.fm_title = "Title";
out.fm_lastAccess = "Last access";
out.fm_creation = "Creation";
out.fm_forbidden = "Forbidden action";
out.fm_originalPath = "Original path";
out.fm_noname = "Untitled Document";
out.fm_emptyTrashDialog = "Are you sure you want to empty the trash?";
out.fm_removeSeveralPermanentlyDialog = "Are you sure you want to remove these {0} elements from the trash permanently?";
out.fm_removePermanentlyDialog = "Are you sure you want to remove that element permanently?";
out.fm_removeSeveralDialog = "Are you sure you want to move these {0} elements to the trash?";
out.fm_removeDialog = "Are you sure you want to move {0} to the trash?";
out.fm_restoreDialog = "Are you sure you want to restore {0} to its previous location?";
out.fm_unknownFolderError = "The selected or last visited directory no longer exist. Opening the parent folder...";
out.fm_contextMenuError = "Unable to open the context menu for that element. If the problem persist, try to reload the page.";
out.fm_selectError = "Unable to select the targetted element. If the problem persist, try to reload the page.";
out.fm_info_root = "Create as many nested folders here as you want to sort your files.";
out.fm_info_unsorted = 'Contains all the files you\'ve visited that are not yet sorted in "Documents" or moved to the "Trash".'; // "My Documents" should match with the "out.fm_rootName" key, and "Trash" with "out.fm_trashName"
out.fm_info_template = 'Contains all the pads stored as templates and that you can re-use when you create a new document.';
out.fm_info_trash = 'Files deleted from the trash are also removed from "All files" and it is impossible to recover them from the file manager.'; // Same here for "All files" and "out.fm_filesDataName"
out.fm_info_allFiles = 'Contains all the files from "Documents", "Unsorted" and "Trash". You can\'t move or remove files from here.'; // Same here
out.fm_alert_backupUrl = "Backup URL for this drive.
" +
"It is highly recommended that you keep ip for yourself only.
" +
"You can use it to retrieve all your files in case your browser memory got erased.
" +
"Anybody with that URL can edit or remove all the files in your file manager.
" +
'';
out.fm_backup_title = 'Backup URL';
out.fm_nameFile = 'How would you like to name that file?';
// File - Context menu
out.fc_newfolder = "New folder";
out.fc_rename = "Rename";
out.fc_open = "Open";
out.fc_open_ro = "Open (read-only)";
out.fc_delete = "Delete";
out.fc_restore = "Restore";
out.fc_remove = "Delete permanently";
out.fc_empty = "Empty the trash";
out.fc_newpad = "New text pad";
out.fc_newcode = "New code pad";
out.fc_newslide = "New presentation";
out.fc_newpoll = "New poll";
out.fc_prop = "Properties";
// fileObject.js (logs)
out.fo_moveUnsortedError = "You can't move a folder to the list of unsorted pads";
out.fo_existingNameError = "Name already used in that directory. Please choose another one.";
out.fo_moveFolderToChildError = "You can't move a folder into one of its descendants";
out.fo_unableToRestore = "Unable to restore that file to its original location. You can try to move it to a new location.";
out.fo_unavailableName = "A file or a folder with the same name already exist at the new location. Rename the element and try again.";
// login
out.login_login = "Log in";
out.login_makeAPad = 'Create a pad anonymously';
out.login_nologin = "Browse local pads";
out.login_register = "Sign up";
out.logoutButton = "Log out";
out.settingsButton = "Settings";
out.login_migrate = "Would you like to migrate existing data from your anonymous session?";
out.username_label = "Username:";
out.displayname_label = "Display name:";
out.login_username = "Username";
out.login_password = "Password";
out.login_confirm = "Confirm your password";
out.login_remember = "Remember me";
out.login_cancel_prompt = "...or if you may have entered the wrong username or password, cancel to try again.";
out.login_registerSuccess = "registered successfully. Make sure you don't forget your password!";
out.login_passwordMismatch = "The two passwords you entered do not match. Try again";
out.login_warning = [
'
Cryptpad stores your personal information in an encrypted realtime document, as it does with all other types of realtime documents.
', 'Your username and password are never sent to the server in an unencrypted form.
', 'As such, if you forget your username or password, there is absolutely nothing that we can do to recover your lost information.
', 'Make sure you do not forget your username and password!
', ].join('\n'); out.login_hashing = "Hashing your password, this might take some time."; out.login_no_user = "There is no user associated with the username and password that you entered."; out.login_confirm_password = "Re-enter your password to register..."; out.loginText = 'Your username and password are used to generate a unique key which is never known by our server.
\n' + 'Be careful not to forget your credentials, as they are impossible to recover
'; out.login_hello = 'Hello {0},'; // {0} is the username out.login_helloNoName = 'Hello,'; out.login_accessDrive = 'Access your drive'; out.login_orNoLogin = 'or'; out.login_noSuchUser = 'Invalid username or password. Try again, or sign up'; out.login_invalUser = 'Username required'; out.login_invalPass = 'Password required'; out.login_unhandledError = 'An unexpected error occured :('; out.register_importRecent = "Import pad history (Recommended)"; out.register_acceptTerms = "I accept the terms of service"; out.register_rememberPassword = "I will remember my login name and password"; out.register_passwordsDontMatch = "Passwords do not match!"; out.register_mustAcceptTerms = "You must accept the terms of service."; out.register_mustRememberPass = "We cannot reset your password if you forget it. It's very important that you remember it! Please check the checkbox to confirm."; out.register_header = "Welcome to Cryptpad"; out.register_explanation = [ "Lets go over a couple things first
", "