* warning about lack of support for internet explorer
* existing support will get worse over time. please update.
* we only support IE for the home page and related info pages. Apps with complex functionality assume you are using a regularly updated browser.
* this release includes new clientside dependencies. Don't forget to run `bower update`
To update from 4.10.0 to 4.11.0:
1. Stop your server
2. Get the latest code with git
3. Install the latest dependencies with `bower update` and `npm i`
4. Restart your server
5. Confirm that your instance is passing all the tests included on the `/checkup/` page (on whatever devices you intend to support)
## Features
* unify unregistered/non-registered/anonymous terminology as 'guest'
* support
* prompt users that need support to subscribe
* refactor debugging data generation to easily show users what data is included
* form improvements
* include bar graphs for multiple-answer form questions
* move the tally of empty responses to the top of each question's summary (rather than the bottom)
* conditionally displayed sections depending on the state of previous answers
* nicer participant view without CryptPad toolbar or popups
* response page to with customizable message to thank those that have responded
* more granular form controls and clearer text
* anonymization settings for answers
* optional restriction of a form to registered users only
* real-time form authorship.
* changes are saved as you type, so you no longer need to "save" each question.
* co-author surveys with other users and edit the same question concurrently.
* avoid redrawing active parts of the UI when other authors make a change (datepicker UI, dropdowns, etc.)
* redraw no more than once every 500ms for performance reasons
* preserve current scroll position when other users make changes
* easier access to basic for form authors in the left sidebar:
* preview a form
* copy the participant link
* view existing responses
* more intuitive display of answers
* bar charts throughout, wherever applicable
* options with no answers are still displayed with zero results in the summary rather than not being displayed at all
* options are displayed according to the order of their appearance in the original question, rather than according to the order in which participants chose them
* the number of empty answers is displayed above the scrollable section of each answer's summary rather than at the bottom
* more intuitive controls and default options
* placeholders for text inputs instead of pre-filled fields
* "enter" creates a new field
* "esc" clears an empty field
* easy navigation using the tab key
* convert between related question types:
* radio, checkbox, ranked choices
* multi-radio, multi-check
* more form validation options:
* required questions
* validated question types
* summarize invalid answers at the bottom of the form. jump to the relevant question when clicked.
* CryptPad logo displayed at the bottom of the participant page which links to the home page
* we've pre-filled some options in our "simple scheduling poll" template.
* bar charts on the admin page's 'Performance' tab
* enhancements for guest users and registered users without names or avatars
* two initials for users with a custom name but no avatar (previously one initial, always capitalized)
* animal avatars as defaults instead of indistinguishable initials (A for Anonymous, G for Guest)
* configurable via `AppConfig.emojiAvatars = []`
* authorship data for guests in rich text comments, code editor author data
* emojis in cursor tooltips for guests (rich text, code, slide, kanban)
* emojis in the share and access modals for contacts with empty names
* script to identify unnecessary duplication of translations
* improvements to upload and media-tag UI
* support for adding descriptive text at upload time
* preview of uploaded media in the upload modal
* our link creation UI from 4.9.0 now highlights the URL input field as you type to indicate whether the current URL value is valid
* the share menu now makes its primary actions more clear, with explicit text ("copy link" instead of just "copy") on its main buttons, as well as icons that better match button UI on the rest of the platform.
* we're working towards better accessibility for screen readers with better alt-text and `aria-` attributes to suppress descriptions of strictly visual UI features.
## Bug fixes
* fix empty name fields in various places across the platform where we did not fall back to "anonymous/guest"
* teams
* contacts
* ???
* clarified a comment in the nginx config about _professional support_
* handled an edge case in ICS import to calendars where DTEND was not defined (use duration or consider it an "all-day" event
* links shared by contacts could be previewed in a modal when viewing their notification. The color of the previewed link was overridden by some bootstrap styles. we now use a better color.
* better validation for team invite links where badly formed invite content could have triggered a type error.
# 4.10.0
## Goals
August is typically a quiet month for CryptPad's development team, as members of our team and many of our users take their (northern hemisphere) summer holidays. We took the opportunity to catch up on some regular maintentance and to review and some prototype branches of our code that had been ready for integration for some time.
It seems that some browser developers thought to do the same thing, because we noticed some significant regressions in some APIs that we rely on. Some of our time went towards addressing the resulting bugs and restructuring some code to avoid future regressions for browser behaviour that seem likely to be changed again in the near future.
## Update notes
4.10.0 includes some minor changes to [the checkup page](https://docs.cryptpad.fr/fr/admin_guide/installation.html#diagnostics). Some admins have included screenshots of this page in bug reports or requests for support along with details of problems they suspect of being related. Because we've observed that the root of many issues is the browser (sometimes in addition to the server) we have decided to include details about the browser in this page's summary.
Up until now the checkup page only tested observable behaviour of the server such as HTTP headers on particular resources, configuration parameters distributed to the client, and the availability of essential resources. This practice meant that a report for an instance should have been the same regardless of the device that was used to generate the report. In light of a serious regression in Chrome (and all its derivatives) we decided that objectiveness was less important than utility and introduced some tests which check whether the client running the diagnostics interprets the provided server configuration. Terrible browsers (ie. every browser that is available on iOS) will fail these tests every time because they don't implement the expected APIs, but we've tried to detect these cases and warn that they are expected.
For the most part you (as an admin) will not need to do anything special for this release as a result. If you notice weird issues on particular browsers in the future, however, it might be helpful to view this page from the affected browser/device and include any information that is provided in bug reports.
To update from 4.9.0 to 4.10.0:
1. Stop your server
2. Get the latest code with git
3. Install the latest dependencies with `bower update` and `npm i`
4. Restart your server
5. Confirm that your instance is passing all the tests included on the `/checkup/` page (on whatever devices you intend to support)
## Features
* screen real-estate
* kanban
* narrower 'add board' button
* 'Tools' menu to collapse the tag and view mode UI
* general
* main toolbar collapse
* remove unused files
* /common/noscriptfix.js
* more detailed inventory of dependencies
* see cryptpad/www/lib/changelog.md
* include vendor and appVersion in support ticket data
* log when trimming history
* rewrite some translation keys to use a single syntax for BR tags
* translations
* more linting
* standardized capitalization of "CryptPad"
* avoid raw injection of HTML strictly for adding line breaks
* remove some unnecessary cases of raw HTML injection
* checkup
* better styles
* improved formatting for returned values in failed tests
* display browser and OS for when people send us screenshots instead of URLs
* test for support of some features in the browser (inside the sandbox)
* mark password inputs as _new passwords_ so that browsers don't suggest you input and share your account password
As noted above, web standards and the browsers that implement them are constantly changing. Web applications like CryptPad which use new and advanced browser features are particularly prone to regressions even when we use browser features exactly as intended and advertized. The "Features" section of each release's notes typically highlights visible things, like clickable buttons or improvements to the interface. This point is included as a reminder that _regular maintenance is at least as important to an open-source software project_, even though it gets little attention and far less funding. The funding bodies that have generously supported our work typically award grants for research and the development of novel features, but we are sorely in need of increased support to allow us the flexibility to deal with unanticipated problems as they arise. If you are fortunate enough to have some disposable income and value the work that keeps CryptPad functional we would greatly appreciate a one-time or recurring donation to [our OpenCollative campaign](https://opencollective.com/cryptpad/contribute).
* This release coincided the yearly seminar of [XWiki (our parent organization)](https://www.xwiki.com) which always features a day-long hackathon. This year our team was joined by [@aemi-dev](https://github.com/aemi-dev) who has been working as an intern within XWiki's product team. Together we worked on adding some data visualization to our recently introduced _Form_ app. The improvements include a timeline to visualize how many responses were submitted to the form during each day and bar charts for a variety of question types to complement the existing tally of results. There's still more work to be done in this direction, but we established some useful foundations during our relatively short session.
* Frequent users of small screens will be pleased to hear that CryptPad's app toolbar now includes a button to collapse the upper segment of the toolbar which includes CryptPad's logo, the current document's title, status indicator (saved, editing, disconnected, etc.), and the user administration menu.
* Likewise, Kanban users may note that the app's toolbar also features a "Tools" menu (like that in the markdown editor) which toggles display of the controls which filter board items by tag and select view state (detailed or brief).
* Password fields that are specific to files and documents now have the `autocomplete="new-password"` attribute applied to prevent browsers and integrated password managers from suggesting that users enter their account password. This lowers the risk that users will inadvertently reveal their account password in the future. Additionally, Firefox will now prompt users to use a high-entropy password instead.
* Our integrated support ticket functionality automatically includes some commonly needed information about the user's account and browser. As of this release this data will also include the browser's `vendor` and `appVersion`, which are useful hints about the host browser and OS (which we almost always have to ask about when the ticket is for a bug report). This data will also include the browser's current width and height, as some issues only occur at particular resolutions and can otherwise be difficult to reproduce.
* We reviewed a range of third-party dependencies that are included in our repository and updated `cryptpad/www/lib/changelog.md` to better indicate their exact version, source, and any CryptPad-specific modifications we've made to them.
* We found `less.js` had been duplicated, with one version (provided by bower) being used for custom styles in our slide editor while the rest of the platform used a custom version that fixed an apparent bug in the _reference import_ syntax. We've standardized on our custom version and removed the alternative from our `bower.json` file.
* We also identified a few files that were no longer in use and removed them. There's still more work to be done to document the exact versions and source of some dependencies, so we've made this process a part of our regular release checklist.
* During a manual review we noticed some inconsistencies between different translations of CryptPad and have automated these checks by adding them to a script which we use to review translations before each release. These have helped us standardize things like the capitalization of "CryptPad", the syntax for some basic markup like `<br>` tags, and the consistent use of both dialect-specific suffixes in English and punctuation rules in French. We have only added tests for languages in which members of our team are fluent, so if you maintain a translation in another language and can suggest additional qualities we could test we would welcome your suggestions.
* The improved consistency of our translations has also enabled us to construct some translated UI components programmatically without directly using their inline HTML. This provides an extra layer of security in the event that
1. malicious code was included in a translation file
2. our tests failed to identify the code before it was included in a release
3. the release was deployed by an admin that had failed to take advantage of the sandboxing system that prevents the injection of scripts into the UI
## Bug fixes
* Sheet export
* most exports broken by Chrome 92, mostly fixed
* we discovered that CSV export was not working in any major browser, though it's unclear why. We've disabled CSV export in the meantime
* updated translation to stop referring to Microsoft since we support OpenDocument formats
* some new browser-specific checkup tests to make it easier to detect future regressions in the APIs
* drive bug fixes
* guard against a few possible type errors
* "burn this drive" button works again in Firefox
* clear login token
1. when you delete your account
2. when logging in
* use single version of less.js on the client
* abort subsequent actions when metadata fails to load during owned channel archival
* handle warnings when trimming history (not just errors)
* filter channel ids with invalid lengths when generating a list of all channels you use
* The Chrome development team made some changes related to the availability of the `SharedArrayBuffer` API in cross-site-isolated contexts such as that of our sandboxing system which resulted in it being disabled despite the fact that our usage conformed to a specification that should have been supported. We use this modern browser feature (where available) to convert spreadsheets between different formats in the browser itself, whereas other services (even those advertizing their use of encryption for documents) send users' content to their server for conversion. Since Chrome's engine is used as the basis for a wide variety of other browsers, this broke sheet export everywhere except Firefox (which correctly implements the specification). Luckily, we found a simple workaround to use the same underlying feature using an alternate syntax that they had failed to disable. This is only a short-term solution as we have no expectation that it will continue to work, so we are actively investigating making this conversion a trusted process that will be run outside of our sandboxing system.
* On the topic of spreadsheet conversion, we updated our translations of the warning that is displayed in our conversion UI when the required browser features are not available. Rather than referring to "Microsoft Office formats" we now refer to _"Office formats"_ since we offer support for ODS in addition to XLSX.
* We found that CSV export mysteriously stopped working as well (seemingly everywhere, not just Chrome and derivatives). We're still not sure why this is the case, but the option is disabled in the UI until we can find and fix the problem.
* The _drive_ app includes a button that lets guest users wipe their personal data from their browser's session. We noticed that this button did nothing after approximately 50% of page loads in Firefox, suggesting there was an unpredictable quality related to either how the button was being created or how "click handlers" were declared. We traced it back to the jQuery library and rewrote the handler to use "VanillaJS". We don't have the time or budget to dig into why it stopped working, so unless someone else can figure it out for us then you, dear reader, may never learn the answer to this mystery.
* While investigating the drive we also added some guards against some possible type errors.
* We noticed that the `loginToken` attribute was not correctly removed from clients' localStorage when they deleted their account. The value of this token is random and is of no use to attackers (especially when the token belongs to a deleted account), but it was a cause of some inconvenience to us when testing account deletion, as the mismatch between the token stored locally and in accounts (after login) required us to login in a second time before. We've updated the related code to:
1. correctly delete the token when you delete an account from the settings page
2. ensure that no such token is present when logging in
* Document ids with invalid lengths are excluded from accounts' lists of "pinned documents" (those which should not be deleted from the server). We recently implemented a similar fix, but found that this list could be constructed in more than one way depending on the context.
* We identified and fixed two problems with our "history trim" functionality (accessible via documents' "Properties" menu):
1. In the extremely unlikely event that a user requested that the server trim the history of a document and its metadata failed to load, the server would respond to the user with an error but did not correctly abort from the subsequent process to trim the document's history. In theory this could have been used by non-owners to archive parts of the documents history, however, we have no reason to believe that this was possible in practice. In any case, the flaw has been corrected.
2. Complex documents like spreadsheets that use more than one channel to store different types of content would trim their respective histories in parallel, however, in such cases any errors were returned to the calling function as a list of warnings rather than a singular error. This format was not handled by the UI, resulting in an apparent success in cases of a partial or complete failure for such document types.
vars="Internet Explorer is not supported anymore, including by Microsoft.\n\nMost of CryptPad's collaborative functionality requires a modern browser to work.\n\nWe recommend Mozilla Firefox.";
// TODO this should check for a matching curvePublic / uid if:
// 1. you are logged in OR
// 2. you have a token
// so that users that register recognize comments from before
// they registered as their own (same uid)
existing.some(function(id){
varauthor=authors[id]||{};
if(author.curvePublic!==curve){return;}
@ -921,9 +932,10 @@ define([
});
ctx.sframeChan.on('EV_WORKER_TIMEOUT',function(){
UI.errorLoadingScreen(Messages.timeoutError,false,function(){// XXX mobile users can't necessarily hit 'ESC' as this message suggests. provice a click option
"typeError":"Dieses Dokument ist nicht mit der ausgewählten Anwendung kompatibel",
"onLogout":"Du bist ausgeloggt. {0}Klicke hier{1}, um dich wieder einzuloggen,<br>oder drücke <em>Escape</em>, um dein Pad schreibgeschützt zu benutzen.",
"padNotPinned":"Dieses Pad wird nach 3 Monaten ohne Aktivität auslaufen, {0}logge dich ein{1} oder {2}registriere dich{3}, um das Auslaufen zu verhindern.",
"anonymousStoreDisabled":"Der Webmaster dieses CryptPad-Servers hat die anonyme Verwendung des Speichers deaktiviert. Du musst dich einloggen, um CryptDrive zu verwenden.",
"anonymousStoreDisabled":"Der Administrator dieser CryptPad-Instanz hat die Verwendung des Speichers für Gäste deaktiviert. Logge dich ein, um dein persönliches CryptDrive zu verwenden.",
"expiredError":"Dieses Pad ist abgelaufen und nicht mehr verfügbar.",
"deletedError":"Dieses Dokument wurde gelöscht und ist nicht mehr verfügbar.",
"inactiveError":"Dieses Pad ist wegen Inaktivität gelöscht worden. Drücke Esc, um ein neues Pad zu erstellen.",
@ -50,7 +50,7 @@
"forgotten":"In den Papierkorb verschoben",
"errorState":"Kritischer Fehler: {0}",
"readonly":"schreibgeschützt",
"anonymous":"Anonym",
"anonymous":"Gast",
"users":"Nutzer",
"viewer":"Betrachter",
"viewers":"Betrachter",
@ -88,7 +88,7 @@
"shareSuccess":"Die URL wurde in die Zwischenablage kopiert",
"userListButton":"Benutzerliste",
"chatButton":"Chat",
"userAccountButton":"Dein Account",
"userAccountButton":"Benutzermenü",
"newButton":"Neu",
"newButtonTitle":"Neues Pad erstellen",
"uploadButton":"Hochladen",
@ -326,7 +326,7 @@
"login_invalUser":"Der Benutzername kann nicht leer sein",
"login_invalPass":"Der Passwort kann nicht leer sein",
"login_unhandledError":"Ein unerwarteter Fehler ist aufgetreten :(",
"register_importRecent":"Dokumente aus deiner nicht-registrierten Sitzung importieren",
"register_importRecent":"Dokumente aus deiner Gast-Sitzung importieren",
"register_acceptTerms":"Ich bin mit den <a>Nutzungsbedingungen</a> einverstanden",
"register_passwordsDontMatch":"Passwörter stimmen nicht überein!",
"share_linkEmbed":"Einbettungsmodus (Werkzeugleiste und Benutzerliste verbergen)",
"share_linkPresent":"Anzeigemodus",
"share_linkOpen":"Vorschau",
"share_linkCopy":"Kopieren",
"share_linkOpen":"Link öffnen",
"share_linkCopy":"Link kopieren",
"share_embedCategory":"Einbetten",
"share_mediatagCopy":"Media-Tag in die Zwischenablage kopieren",
"sharedFolders_forget":"Dieses Pad ist nur in einem geteilten Ordner gespeichert. Du kannst es nicht in den Papierkorb verschieben. Aber du kannst es in deinem CryptDrive löschen.",
@ -882,7 +882,7 @@
"oo_exportInProgress":"Export wird durchgeführt",
"oo_sheetMigration_loading":"Deine Tabelle wird auf die neueste Version aktualisiert. Bitte warte etwa eine Minute.",
"oo_sheetMigration_complete":"Eine aktualisierte Version ist verfügbar. Klicke auf OK, um neu zu laden.",
"oo_sheetMigration_anonymousEditor":"Die Bearbeitung dieser Tabelle ist für nicht-registrierte Benutzer deaktiviert, bis sie von einem registrierten Benutzer auf die neueste Version aktualisiert wird.",
"oo_sheetMigration_anonymousEditor":"Die Bearbeitung dieser Tabelle ist für Gäste deaktiviert, bis sie von einem registrierten Benutzer auf die neueste Version aktualisiert wird.",
"imprint":"Impressum",
"isContact":"{0} ist einer deiner Kontakte",
"isNotContact":"{0} ist <b>nicht</b> einer deiner Kontakte",
"whatis_drive_info":"<p>Speichere und verwalte Dokumente mit CryptDrive. Erstelle Ordner, gemeinsame Ordner und Tags, um Dokumente zu organisieren. Lade Dateien hoch und teile sie (PDFs, Fotos, Video, Audio, etc.). Team-Drives werden zwischen Benutzern geteilt und ermöglichen eine gemeinsame Organisation und detaillierte Zugriffskontrolle.</p>",
"whatis_apps_info":"<p>CryptPad bietet eine vollwertige Office-Suite mit allen notwendigen Werkzeugen für eine produktive Zusammenarbeit. Die Anwendungen umfassen: Rich Text, Tabellen, Code/Markdown, Kanban, Präsentationen, Whiteboard und Umfragen.</p><p>Die Anwendungen werden ergänzt durch eine Reihe von Funktionen zur Zusammenarbeit wie Chat, Kontakte, Farbe nach Autor (Code/Markdown) und Kommentare mit Erwähnungen (Rich Text).</p>",
"register_notes":"<ul class=\"cp-notes-list\"><li>Dein Passwort ist der geheime Schlüssel, der alle deine Dokumente verschlüsselt. <span class=\"red\">Wenn du ihn verlierst, gibt es keine Möglichkeit, deine Daten wiederherzustellen.</span></li><li>Wenn du einen gemeinsam genutzten Computer verwendest, <span class=\"red\">denke daran, dich abzumelden</span>, wenn du fertig bist. Durch bloßes Schließen des Browserfensters bleibt das Konto ungeschützt.</li><li>Um die erstellten und/oder gespeicherten Dokumente zu behalten, ohne eingeloggt zu sein, setze einen Haken bei \"Dokumente aus deiner nicht-registrierten Sitzung importieren\". </li></ul>",
"register_notes":"<ul class=\"cp-notes-list\"><li>Dein Passwort ist der geheime Schlüssel, der alle deine Dokumente verschlüsselt. <span class=\"red\">Wenn du ihn verlierst, gibt es keine Möglichkeit, deine Daten wiederherzustellen.</span></li><li>Wenn du einen gemeinsam genutzten Computer verwendest, <span class=\"red\">denke daran, dich abzumelden</span>, wenn du fertig bist. Durch bloßes Schließen des Browserfensters bleibt das Konto ungeschützt.</li><li>Um die Dokumente zu behalten, die du erstellt und/oder gespeichert hast, ohne eingeloggt zu sein, setze einen Haken bei \"Dokumente aus deiner Gast-Sitzung importieren\". </li></ul>",
"settings_cacheTitle":"Cache",
"settings_cacheButton":"Cache leeren",
"settings_cacheCheckbox":"Cache auf diesem Gerät aktivieren",
"form_makePublicWarning":"Bist du sicher, dass du die Antworten veröffentlichen möchtest? Dies kann nicht rückgängig gemacht werden.",
"form_makePublicWarning":"Bist du sicher, dass du die Antworten veröffentlichen möchtest? Vergangene und zukünftige Antworten werden für Teilnehmer sichtbar sein. Dies kann nicht rückgängig gemacht werden.",
"form_makePublic":"Antworten veröffentlichen",
"form_invalidQuestion":"Frage {0}",
"form_input_ph_url":"https://example.com",
@ -1256,7 +1256,7 @@
"form_backButton":"Zurück",
"form_showSummary":"Zusammenfassung anzeigen",
"form_results_empty":"Es gibt keine Antworten",
"form_results":"Antworten",
"form_results":"Antworten ({0})",
"form_delete":"Löschen",
"form_reset":"Zurücksetzen",
"form_maxOptions":"Maximal {0} Antwort(en)",
@ -1382,5 +1382,19 @@
"fm_link_new":"Neuer Link",
"form_totalResponses":"Antworten insgesamt: {0}",
"ui_expand":"Ausklappen",
"ui_collapse":"Einklappen"
"ui_collapse":"Einklappen",
"support_premiumPriority":"Premium-Benutzer helfen bei der Verbesserung der Benutzerfreundlichkeit von CryptPad und profitieren von priorisierten Antworten auf ihre Support-Tickets.",
"properties_passwordWarning":"La contraseña ha sido cambiada con éxito pero fue incapaz de actualizar tu CryptDrive con los nuevos datos. Es posible que tenga que eliminar la versión antigua del pad manualmente.<br>Pulse OK para recargar y actualizar sus derechos de acceso.",
"properties_passwordSuccess":"La contraseña ha sido cambiada con éxito.<br>Pulsa OK para recargar y actualizar tus derechos de acceso."
"properties_passwordSuccess":"La contraseña ha sido cambiada con éxito.<br>Pulsa OK para recargar y actualizar tus derechos de acceso.",
"admin_updateLimitTitle":"Actualizar cuotas de usuarios",
"admin_registeredHint":"Número de usuarios registrados en tu instancia",
"admin_registeredTitle":"Usuarios registrados",
"admin_activePadsHint":"Número de documentos únicos que se están viendo o editando ahora",
"admin_activePadsTitle":"Blocs activos",
"admin_activeSessionsHint":"Número de conexiones websocket activas (y direcciones IP únicas conectadas)",
"admin_activeSessionsTitle":"Conexiones activas",
"adminPage":"Administración",
"admin_cat_stats":"Estadísticas",
"admin_cat_general":"General",
"admin_authError":"Solo los administradores pueden acceder a esta página.",
"markdown_toc":"Contenido",
"survey":"Encuesta de CryptPad",
"crowdfunding_popup_no":"Ahora no",
"crowdfunding_popup_text":"<h3>¡Necesitamos tu ayuda!</h3>Para garantizar que CryptPad se desarrolle activamente, considera apoyar el proyecto a través de la página OpenCollective, donde puedes ver nuestra <b>Hoja de ruta</b> y <b>Objetivos de financiación</b>.",
"autostore_notAvailable":"Tienes que guardar el bloc en tu CryptDrive antes de usar esta función.",
"autostore_forceSave":"Guarda el fichero en tu CryptDrive",
"autostore_saved":"El bloc se guardó correctamente en tu CryptDrive!",
"autostore_error":"Error extraño: No pudimos guardar este bloc, inténtalo otra vez.",
"autostore_hide":"No guardar",
"autostore_store":"Guardar",
"autostore_settings":"Puedes habilitar el almacenamiento automático de blocs en su <a>Página de</a> configuración!",
"autostore_notstored":"Este {0} no está en su CryptDrive. ¿Quieres guardarlo ahora?",
"autostore_sf":"carpeta",
"chrome68":"Parece que estás usando el navegador Chrome o Chromium versión 68. Contiene un error que hace que la página se vuelva completamente blanca después de unos segundos o que la página no responda a los clics. Para solucionar este problema, puede cambiar a otra pestaña y volver, o tratar de desplazarse en la página. Este error debe corregirse en la próxima versión de su navegador.",
"convertFolderToSF_confirm":"Esta carpeta debe convertirse a carpeta compartida para que otros la puedan ver. ¿Continuar?",
"sharedFolders_create_owned":"Carpeta con propietario",
"sharedFolders_create_name":"Nombre de carpeta",
"share_embedCategory":"Embeber",
"share_linkPresent":"Presentar",
"share_linkEmbed":"Modo de inserción (oculta barra de herramientas y lista de usuarios)",
"settings_padOpenLinkLabel":"Habilita la apertura directa del enlace",
"settings_padOpenLinkHint":"Con esta opción puedes abrir enlaces embebidos haciendo click sin el popup de previsualización",
"properties_changePasswordButton":"Enviar",
"convertFolderToSF_SFChildren":"Esta carpeta no puede ser convertida a una carpeta compartida porque ya contiene carpetas compartidas. Mueva esas carpetas compartidas a otro lugar para continuar.",
"convertFolderToSF_SFParent":"Esta carpeta no puede ser convertida a una carpeta compartida en su actual localización. Mueva la carpeta fuera de la carperta compartida para continuar.",
"sharedFolders_share":"Comparte este enlace con otros usuarios registrados para darles accesso a la carpeta compartida. Una vez que ellos/as abran este enlace, la carpeta compartida será añadida a sus CryptDrive.",
"sharedFolders_create":"Crear una carpeta compartida",
"sharedFolders_duplicate":"Algunos de los documentos que intentaste mover ya estaban compartidos en la carpeta de destino"
"typeError":"Ce pad n'est pas compatible avec l'application sélectionnée",
"onLogout":"Vous êtes déconnecté de votre compte utilisateur, {0}cliquez ici{1} pour vous authentifier<br>ou appuyez sur <em>Échap</em> pour accéder au pad en mode lecture seule.",
"padNotPinned":"Ce pad va expirer après 3 mois d'inactivité, {0}connectez-vous{1} ou {2}enregistrez-vous{3} pour le préserver.",
"anonymousStoreDisabled":"L'administrateur de cette instance de CryptPad a désactivé le drive pour les utilisateurs non enregistrés. Vous devez vous connecter pour pouvoir utiliser CryptDrive.",
"anonymousStoreDisabled":"L'administrateur de cette instance de CryptPad a désactivé le drive pour les visiteurs. Enregistrez vous ou connectez vous à un compte pour pouvoir utiliser CryptDrive.",
"expiredError":"Ce pad a atteint sa date d'expiration est n'est donc plus disponible.",
"deletedError":"Ce document a été supprimé et n'est plus disponible.",
"inactiveError":"Ce pad a été supprimé en raison de son inactivité. Appuyez sur Échap pour créer un nouveau pad.",
@ -51,7 +51,7 @@
"forgotten":"Déplacé vers la corbeille",
"errorState":"Erreur critique: {0}",
"readonly":"Lecture seule",
"anonymous":"Anonyme",
"anonymous":"Visiteur",
"users":"Utilisateurs",
"viewer":"lecteur",
"viewers":"lecteurs",
@ -89,7 +89,7 @@
"shareSuccess":"Lien copié dans le presse-papiers",
"userListButton":"Liste d'utilisateurs",
"chatButton":"Chat",
"userAccountButton":"Votre compte",
"userAccountButton":"Menu utilisateur",
"newButton":"Nouveau",
"newButtonTitle":"Créer un nouveau pad",
"uploadButton":"Importer des fichiers",
@ -333,7 +333,7 @@
"login_invalUser":"Nom d'utilisateur requis",
"login_invalPass":"Mot de passe requis",
"login_unhandledError":"Une erreur inattendue s'est produite :(",
"register_importRecent":"Importer les documents de votre session non-enregistrée",
"register_importRecent":"Importer les documents de votre session visiteur",
"share_linkEmbed":"Mode intégration (cache la barre d'outils)",
"share_linkPresent":"Présenter",
"share_linkOpen":"Aperçu",
"share_linkCopy":"Copier",
"share_linkOpen":"Ouvrir le lien",
"share_linkCopy":"Copier le lien",
"share_embedCategory":"Intégration",
"share_mediatagCopy":"Copier le mediatag",
"sharedFolders_forget":"Ce pad est stocké uniquement dans un dossier partagé. Vous ne pouvez pas le déplacer dans votre corbeille. Si vous souhaitez le supprimer, vous pouvez utiliser l'application CryptDrive.",
@ -879,7 +879,7 @@
"oo_exportInProgress":"Exportation en cours",
"oo_sheetMigration_loading":"Mise à jour de la feuille de calcul. Merci de patienter environ 1 minute.",
"oo_sheetMigration_complete":"Version mise à jour disponible, appuyez sur OK pour recharger.",
"oo_sheetMigration_anonymousEditor":"L'édition de cette feuille de calcul est désactivée pour les utilisateurs non-enregistrés jusqu'à ce qu'elle soit mise à jour par un utilisateur enregistré.",
"oo_sheetMigration_anonymousEditor":"L'édition de cette feuille de calcul est désactivée pour les visiteurs jusqu'à ce qu'elle soit mise à jour par un utilisateur enregistré.",
"imprint":"Mentions légales",
"isContact":"{0} est dans vos contacts",
"isNotContact":"{0} n'est <b>pas</b> dans vos contacts",
@ -1108,7 +1108,7 @@
"whatis_apps":"Une suite complète d'applications",
"whatis_collaboration_info":"<p>CryptPad est construit pour permettre la collaboration. Les modifications apportées aux documents sont synchronisées en temps réel. Comme toutes les données sont chiffrées, le service et ses administrateurs n'ont aucun moyen de voir le contenu en cours d'édition et de stockage.</p>",
"register_warning_note":"En raison de la nature chiffrée de CryptPad, les administrateurs du service ne seront pas en mesure de récupérer les données au cas où vous oublieriez votre nom d'utilisateur et/ou votre mot de passe. Veuillez les sauvegarder dans un endroit sûr.",
"register_notes":"<ul class=\"cp-notes-list\"><li>Votre mot de passe est la clé secrète utilisée pour chiffrer tous vos documents. <span class=\"red\">Si vous le perdez, nous ne pourrons pas récupérer vos données.</span></li><li>Si vous utilisez un ordinateur partagé, <span class=\"red\">n'oubliez pas de vous déconnecter</span> après avoir terminé. La simple fermeture de la fenêtre du navigateur laisse votre compte exposé.</li><li>Pour conserver les documents que vous avez créés et/ou stockés sans être connecté, cochez \"Importer les documents de votre session anonyme\". </li></ul>",
"register_notes":"<ul class=\"cp-notes-list\"><li>Votre mot de passe est la clé secrète utilisée pour chiffrer tous vos documents. <span class=\"red\">Si vous le perdez, nous ne pourrons pas récupérer vos données.</span></li><li>Si vous utilisez un ordinateur partagé, <span class=\"red\">n'oubliez pas de vous déconnecter</span> après avoir terminé. La simple fermeture de la fenêtre du navigateur laisse votre compte exposé.</li><li>Pour conserver les documents que vous avez créés et/ou stockés sans être connecté, cochez \"Importer les documents de votre session visiteur\". </li></ul>",
"register_notes_title":"Notes importantes",
"home_support":"<p>L'équipe de développement ne tire aucun profit des données personnelles des utilisateurs. Cela s'inscrit dans une vision pour des services en ligne qui respectent la vie privée. Contrairement aux grandes plateformes qui prétendent être \"gratuites\" tout en tirant profit des informations personnelles, CryptPad vise à construire un modèle durable financé volontairement par les utilisateurs.</p><p>Vous pouvez soutenir le projet en faisant un don unique ou récurrent par le biais de notre Open Collective. Notre budget est transparent et des mises à jour sont publiées régulièrement. Il existe également un certain nombre de <a>moyens non financiers de contribuer</a>.</p>",
"home_support_title":"Soutenez CryptPad",
@ -1230,7 +1230,7 @@
"genericCopySuccess":"Copié dans le presse-papiers",
"mediatag_defaultImageName":"image",
"register_registrationIsClosed":"Les inscriptions sont fermées.",
"oo_conversionSupport":"Votre navigateur ne gère pas la conversion vers et depuis les formats Microsoft Office. Il est recommandé d'utiliser une version récente de Firefox ou Chrome.",
"oo_conversionSupport":"Votre navigateur ne gère pas la conversion vers et depuis les formats office. Il est recommandé d'utiliser une version récente de Firefox ou Chrome.",
"oo_importBin":"Cliquez sur OK pour importer au format .bin interne à CryptPad.",
"admin_emailButton":"Valider",
"admin_supportPrivButton":"Afficher la clé",
@ -1274,7 +1274,7 @@
"form_clear":"Effacer",
"form_addMultipleHint":"Ajouter plusieurs dates et heures",
"form_addMultiple":"Tout ajouter",
"form_anonymous_blocked":"Les réponses anonymes sont bloquées pour ce formulaire. Merci de vous <a href=\"/login/\">connecter</a> ou de vous <a href=\"/register/\">enregistrer</a> pour répondre.",
"form_anonymous_blocked":"Les réponses de visiteurs sont bloquées pour ce formulaire. Merci de vous <a href=\"/login/\">connecter</a> ou de vous <a href=\"/register/\">enregistrer</a> pour répondre.",
"form_add_item":"Ajouter un objet",
"form_add_option":"Ajouter une option",
"form_newItem":"Nouvel objet",
@ -1283,7 +1283,7 @@
"form_defaultOption":"Option {0}",
"form_anonymous_off":"Bloquées",
"form_anonymous_on":"Autorisées",
"form_anonymous":"Réponses anonymes",
"form_anonymous":"Accès visiteur (non connecté)",
"form_willClose":"Ce formulaire fermera le {0}",
"form_isClosed":"Ce formulaire a été fermé le {0}",
"form_isOpen":"Ce formulaire est ouvert",
@ -1292,7 +1292,7 @@
"form_open":"Ouvrir",
"form_isPrivate":"Les réponses sont privées",
"form_isPublic":"Les réponses sont publiques",
"form_makePublicWarning":"Êtes-vous sûr de vouloir rendre les réponses à ce formulaire publiques ? Cette opération ne peut pas être annulée.",
"form_makePublicWarning":"Êtes-vous sûr de vouloir rendre publiques les réponses à ce formulaire ? Les réponses passées et futures seront visibles par les participants. Cette opération ne peut pas être annulée.",
"form_makePublic":"Publier les réponses",
"form_invalidQuestion":"Questions {0}",
"form_invalidWarning":"Certaines résponses contiennent des erreurs :",
@ -1309,7 +1309,7 @@
"form_form":"Formulaire",
"form_editor":"Éditeur",
"form_results_empty":"Il n'y a pas de réponses",
"form_results":"Réponses",
"form_results":"Réponses ({0})",
"form_answered":"Vous avez déjà répondu à ce formulaire",
"form_cantFindAnswers":"Vos réponses à ce formulaire n'ont pas pu être récupérées.",
"form_updateWarning":"Mettre à jour avec erreurs",
@ -1381,5 +1381,48 @@
"fm_link_new":"Nouveau Lien",
"notification_openLink":"Vous avez reçu un lien <b>{0}</b> de {1} :",
"ui_expand":"Développer",
"ui_collapse":"Réduire"
"ui_collapse":"Réduire",
"form_totalResponses":"Nombre de réponses : {0}",
"form_colors":"Thème de couleur",
"userlist_visitProfile":"Voir le profil",
"form_conditional_addAnd":"Ajouter une condition et",
"form_conditional_add":"Ajouter une condition ou",
"form_conditional":"Cette section ne sera affichée que si :",
"form_condition_has":"contient",
"form_condition_hasnot":"ne contient pas",
"form_condition_is":"est",
"form_condition_isnot":"n'est pas",
"form_condition_v":"Choisir une réponse",
"form_condition_q":"Choisir une question",
"form_type_section":"Section conditionelle",
"form_editable":"Modifier les réponses après l'envoi",
"form_responseMsg":"Ce message s'affichera après l'envoi du formulaire par un participant.",
"form_makeAnon":"Anonymiser les résponses",
"form_corruptAnswers":"Ce formulaire a déjà reçu des réponses. La modification du type de question risque d'invalider les données des réponses précédentes.",
"form_geturl":"Copier le lien",
"toolbar_preview":"Aperçu",
"form_updateMsg":"Modifier le message de confirmation",
"form_addMsg":"Ajouter un message de confirmation",
"form_changeTypeConfirm":"Sélectionner le type de question.",
"form_preview":"Aperçu",
"form_required_off":"Optionelle",
"form_required_on":"Requise",
"form_required_answer":"Réponse : ",
"form_requiredWarning":"Une réponse est requise pour les questions suivantes :",
"form_authAnswer":"Ce formulaire ne peut pas être envoyé de manière anonyme",
"form_anonAnswer":"Les réponses à ce formulaire sont anonymisées",
"form_viewAllAnswers":"Voir toutes les réponses ({0})",
"form_viewAnswer":"Voir mes réponses",
"form_editAnswer":"Modifier mes réponses",
"form_alreadyAnswered":"Vous avez repondu à ce formulaire le {0}",
"form_preview_button":"Aperçu",
"form_template_poll":"Sondage de disponibilité",
"upload_addOptionalAlt":"Ajouter un texte descitpif (optionnel)",
"upload_modal_alt":"Texte alternatif",
"profile_defaultAlt":"Image de profil par défaut",
"toolbar_expand":"Afficher la barre d'outils",
"toolbar_collapse":"Cacher la barre d'outils",
"support_premiumLink":"Voir les options d'abonnement",
"support_premiumPriority":"Les utilisateurs abonnés contribuent à l'amélioration des fonctionnalités de CryptPad et bénéficient de réponses prioritaires à leurs tickets de support.",
"form_conditional_hint":"Pour rendre cette section conditionnelle, veuillez ajouter une question choix ou cases à cocher ci-dessus"
"onLogout":"You are logged out, {0}click here{1} to log in<br>or press <em>Escape</em> to access your pad in read-only mode.",
"padNotPinned":"This pad will expire after 3 months of inactivity, {0}login{1} or {2}register{3} to preserve it.",
"padNotPinnedVariable":"This pad will expire after {4} days of inactivity, {0}login{1} or {2}register{3} to preserve it.",
"anonymousStoreDisabled":"The webmaster of this CryptPad instance has disabled the store for anonymous users. You have to log in to be able to use CryptDrive.",
"anonymousStoreDisabled":"The administrator of this CryptPad instance has disabled storage for guests. Log in to access your own CryptDrive.",
"expiredError":"This pad has reached its expiration time and is no longer available.",
"deletedError":"This document has been deleted and is no longer available.",
"inactiveError":"This pad has been deleted due to inactivity. Press Esc to create a new pad.",
"share_linkEmbed":"Embed mode (hide toolbar and user list)",
"share_linkPresent":"Present",
"share_linkOpen":"Preview",
"share_linkCopy":"Copy",
"share_linkOpen":"Open link",
"share_linkCopy":"Copy link",
"share_contactCategory":"Contacts",
"share_embedCategory":"Embed",
"share_mediatagCopy":"Copy mediatag to clipboard",
@ -884,7 +884,7 @@
"oo_exportInProgress":"Export in progress",
"oo_sheetMigration_loading":"Upgrading your spreadsheet to the latest version. Please wait approximately 1 minute.",
"oo_sheetMigration_complete":"Updated version available, press OK to reload.",
"oo_sheetMigration_anonymousEditor":"Editing this spreadsheet is disabled for non-registered users until it is upgraded to the latest version by a registered user.",
"oo_sheetMigration_anonymousEditor":"Editing this spreadsheet is disabled for guests until it is upgraded to the latest version by a registered user.",
"imprint":"Legal notice",
"settings_cat_security":"Confidentiality",
"settings_safeLinksTitle":"Safe Links",
@ -1108,7 +1108,7 @@
"home_support_title":"Support CryptPad",
"home_support":"<p>The development team does not profit from user data in any way. This is part of a vision for online services that respect privacy. Unlike the big platforms that pretend to be \"free\" while making profits from personal information, we aim to build a sustainable model funded willingly by users.</p><p>You can support the project by making a one-time or recurring donation through our Open Collective. Our budget is transparent and updates are published regularly. There are also a number of <a>non-financial ways to contribute</a>.</p>",
"register_notes_title":"Important notes",
"register_notes":"<ul class=\"cp-notes-list\"><li>Your password is the secret key that encrypts all of your documents. <span class=\"red\">If you lose it there is no way we can recover your data.</span></li><li>If you are using a shared computer, <span class=\"red\">remember to log out</span> when you are done. Only closing the browser window leaves your account exposed. </li><li>To keep the documents you created and/or stored without being logged in, tick \"Import documents from your anonymous session\". </li></ul>",
"register_notes":"<ul class=\"cp-notes-list\"><li>Your password is the secret key that encrypts all of your documents. <span class=\"red\">If you lose it there is no way we can recover your data.</span></li><li>If you are using a shared computer, <span class=\"red\">remember to log out</span> when you are done. Only closing the browser window leaves your account exposed. </li><li>To keep the documents you created and/or stored without being logged in, tick \"Import documents from your guest session\". </li></ul>",
"register_warning_note":"Due to the encrypted nature of CryptPad, the service administrators will not be able to recover data in case you forget your username and/or password. Please save them in a safe place.",
"whatis_collaboration_info":"<p>CryptPad is built to enable collaboration. It synchronizes changes to documents in real time. Because all data is encrypted, the service and its administrators have no way of seeing the content being edited and stored.</p>",
"whatis_apps":"A full suite of applications",
@ -1284,7 +1284,7 @@
"form_updateWarning":"Update anyway",
"form_cantFindAnswers":"Unable to retrieve your existing answers for this form.",
"form_answered":"You have already answered this form",
"form_results":"Responses",
"form_results":"Responses ({0})",
"form_results_empty":"There are no responses",
"form_editor":"Editor",
"form_form":"Form",
@ -1301,7 +1301,7 @@
"form_invalidWarning":"There are errors in some answers:",
"form_invalidQuestion":"Question {0}",
"form_makePublic":"Publish responses",
"form_makePublicWarning":"Are you sure you want to make responses to this form public? This cannot be undone.",
"form_makePublicWarning":"Are you sure you want to make responses to this form public? Past and future responses will be visible by participants. This cannot be undone.",
"form_isPublic":"Responses are public",
"form_isPrivate":"Responses are private",
"form_open":"Open",
@ -1310,7 +1310,7 @@
"form_isOpen":"This form is open",
"form_isClosed":"This form was closed on {0}",
"form_willClose":"This form will close on {0}",
"form_anonymous":"Anonymous answers",
"form_anonymous":"Guest access (not logged in)",
"form_anonymous_on":"Allowed",
"form_anonymous_off":"Blocked",
"form_defaultOption":"Option {0}",
@ -1319,7 +1319,7 @@
"form_newItem":"New item",
"form_add_option":"Add option",
"form_add_item":"Add item",
"form_anonymous_blocked":"Anonymous responses are blocked for this form. You must <a href=\"/login/\">log in</a> or <a href=\"/register/\">register</a> to submit answers.",
"form_anonymous_blocked":"Guest responses are blocked for this form. You must <a href=\"/login/\">log in</a> or <a href=\"/register/\">register</a> to submit answers.",
"form_addMultiple":"Add all",
"form_addMultipleHint":"Add multiple dates and times",
"form_clear":"Clear",
@ -1382,5 +1382,47 @@
"fm_link_invalid":"Invalid URL",
"ui_collapse":"Collapse",
"ui_expand":"Expand",
"form_totalResponses":"Total responses: {0}"
"form_totalResponses":"Total responses: {0}",
"support_premiumPriority":"Premium users help support improvements to CryptPad's usability and benefit from prioritized responses to their support tickets.",
"button_newpad":"Новая документ с форматированием",
"button_newcode":"Новый документ с кодом",
@ -31,13 +32,13 @@
"inactiveError":"Этот документ был удалён из-за длительной неактивности. Нажмите Esc чтобы создать новый.",
"chainpadError":"Во время обновления вашей информации произошла критическая ошибка. Документ пока доступен только для чтения чтобы вы не потеряли свою информацию. <br>Нажмите <em>Esc</em> чтобы продолжать чтение или перезагрузите страницу и начните заново.",
"invalidHashError":"Запрошенный вами документ имеет неправильный адрес URL.",
"errorCopy":" Вы можете только скопировать содержимое в другое место, нажав <em>Esc</em>.<br>Если вы закроете страницу, всё содержимое будет утеряно!",
"errorCopy":"Вы все еще можете получить доступ к содержимому, нажав <em>Esc</em>.<br>Если вы закроете это окно, содержимое будет утеряно.",
"errorRedirectToHome":"Нажмите <em>Esc</em> чтобы перейти к вашему хранилищу.",
"newVersionError":"Доступна новая версия CryptPad.<br><a href='#'>Перезагрузите</a> чтобы использовать новую версию или нажмите Esc, чтобы использовать вашу информацию в <b>оффлайн-режиме</b>.",
"loading":"Загрузка...",
"error":"Ошибка",
"saved":"Сохранено",
"deleted":"Документ удалён из вашего CryptDrive",
"deleted":"Удалено",
"deletedFromServer":"Документ удалён с сервера",
"mustLogin":"Вам нужно войти, чтобы получить доступ к этой странице",
"disabledApp":"Приложение было отключено. Свяжитесь с администратором этого CryptPad.",
@ -91,7 +92,7 @@
"userAccountButton":"Ваш профиль",
"newButton":"Создать",
"uploadButton":"Загрузить файлы",
"uploadButtonTitle":"Загрузить новый файл в эту папку",
"uploadButtonTitle":"Загрузить новый файл в ваш CryptDrive",
"saveTemplateButton":"Сохранить как образец",
"saveTemplatePrompt":"Выбрать название для образца",
"templateSaved":"Образец сохранен!",
@ -120,7 +121,7 @@
"filePicker_description":"Выберите файл из вашего CryptDrive чтобы вставить его или выберите новый",
"filePicker_filter":"Филтровать файлы по именам",
"tags_title":"Теги (только для вас)",
"tags_add":"Обновить теги страницы",
"tags_add":"Обновить теги выбранных документов",
"tags_notShared":"Ваши теги не разделяются с другими пользователями",