out.orangeLight="La conexión es lenta y podria impactar la experiencia";
out.redLight="Has sido desconectado de la sesión";
out.importButton='Importar';
out.importButtonTitle='Importar un documento de tus archivos locales';
out.exportButton='Exportar';
out.exportButtonTitle='Exportar este documento a un archivo local';
out.exportPrompt='¿Cómo te gustaría llamar a este archivo?';
@ -46,22 +44,16 @@ define(function () {
out.clickToEdit="Haz clic para cambiar";
out.forgetButton='Olvidar';
out.forgetButtonTitle='Eliminar este documento de la lista en la pagina de inicio';
out.forgetPrompt='Pulser OK eliminará este documento del almacenamiento local (localStorage), ¿estás seguro?';
out.shareButton='Compartir';
out.shareSuccess='URL copiada al portapapeles';
out.presentButton='Presentar';
out.presentButtonTitle="Entrar en el modo presentación";
out.presentSuccess='ESC para salir del modo presentación';
out.sourceButton='Ver código fuente';
out.sourceButtonTitle="Abandonar modo presentación";
out.backgroundButton='Color de fondo';
out.backgroundButtonTitle='Cambiar el color de fondo en el modo presentación';
out.colorButton='Color de texto';
out.colorButtonTitle='Cambiar el color de texto en el modo presentación';
out.editShare="URL de edición compartida";
@ -88,7 +80,6 @@ define(function () {
out.poll_p_save="Tus configuraciones se actualizan instantaneamente, no es necesario guardar cambios.";
out.poll_p_encryption="Todos los datos entrados son cifrados, solo las personas que poseen el enlace tienen acceso. Incluso el servidor no puede ver el contenido.";
out.wizardButton='Asistente';
out.wizardLog="Presiona el boton en la parte superior izquierda para volver a la encuesta";
out.wizardTitle="Utiliza el asistente para crear tu encuesta";
out.wizardConfirm="¿Estás realmente seguro de agregar estas opciones a tu encuesta?";
@ -326,5 +317,35 @@ define(function () {
out.readme_cat3_l2="Con los slides CryptPad, puedes hacer presentaciones rápidas con Markdown";
out.readme_cat3_l3="Con CryptPoll puedes tomar votos rápidos, especialmente utíl para programar un horario que conviene a todo el mundo";
returnout;
// 1.2.0 - Chupacabra
out.settings_resetError="Verificación no válida. Tu CryptDrive no fue cambiado.";
out.saved="Guardado";
out.printButton="Imprimir";
out.printButtonTitle="Imprimir tu presentación o exportar a PDF";
out.printOptions="Opciones de impresión";
out.printSlideNumber="Mostrar el número de diapositiva";
out.printDate="Mostrar la fecha";
out.printTitle="Mostrar el título";
out.printCSS="CSS personalizado:";
out.editOpen="Abrir enlances de edición en pestaña nueva";
out.editOpenTitle="Abrir en modo edición en pestaña nueva";
out.settings_importTitle="Importar pads recientes locales en CryptDrive";
out.settings_import="Importar";
out.settings_importConfirm="¿Seguro qué quieres importar tus pads recientes a tu cuenta CryptDrive?";
out.settings_importDone="Importación terminada";
out.tips={};
out.tips.lag="El icono verde en la parte superior derecha muestra la calidad de tu connexión a CryptPad.";
out.tips.shortcuts="`ctrl+b`, `ctrl+i`, y `ctrl+u` son accesos rápidos para negrita, itálica y subrayado.";
out.tips.indent="Cuando editas listas, puedes usar tab o shift+tab para icrementar o decrementar indentación.";
out.tips.title="Puedes cambiar el título de tus pads en la parte superior de la pantalla.";
out.tips.store="Cada vez que visitas un pad con una sesión iniciada se guardará a tu CryptDrive.";
out.tips.marker="Puedes resaltar texto en un pad utilizando el \"marcador\" en el menú de estílo.";
out.feedback_about="Si estas leyendo esto, quizas estés curioso de saber porqué CryptPad solicita esta página cuando haces algunas acciones";
out.feedback_privacy="Nos importa tu privacidad, y al mismo tiempo queremos que CryptPad sea muy fácil de usar. Utilizamos esta página para conocer las funcionalidades que importan a nuestros usuarios, pidiendolo con un parametro que nos dice que accion fue realizada.";
out.feedback_optout="Si quieres darte de baja, visita <a href='/settings/'>tus preferencias</a>, donde podrás activar o desactivar feedback";
out.orangeLight="Votre connexion est lente, ce qui réduit la qualité de l'éditeur";
out.redLight="Vous êtes déconnectés de la session";
out.importButton='Import';
out.importButtonTitle='Importer un pad depuis un fichier local';
out.exportButton='Exporter';
out.exportButtonTitle='Exporter ce pad vers un fichier local';
out.exportPrompt='Comment souhaitez-vous nommer ce fichier ?';
@ -62,7 +61,6 @@ define(function () {
out.clickToEdit='Cliquer pour modifier';
out.forgetButton='Supprimer';
out.forgetButtonTitle='Déplacer ce pad vers la corbeille';
out.forgetPrompt='Cliquer sur OK déplacera ce pad vers la corbeille de votre CryptDrive, êtes-vous sûr ?';
out.movedToTrash='Ce pad a été déplacé vers la corbeille.<br><a href="/drive/">Accéder à mon Drive</a>';
@ -73,20 +71,25 @@ define(function () {
out.newButton='Nouveau';
out.newButtonTitle='Créer un nouveau pad';
out.presentButton='Present';
out.presentButtonTitle="Entrer en mode présentation";
out.presentSuccess='Appuyer sur Échap pour quitter le mode présentation';
out.sourceButton='Voir la source';
out.sourceButtonTitle="Quitter le mode présentation";
out.backgroundButton='Couleur de fond';
out.backgroundButtonTitle='Changer la couleur de fond de la présentation';
out.colorButton='Couleur du texte';
out.colorButtonTitle='Changer la couleur du texte en mode présentation';
out.editShare="Partager le lien d'édition";
out.printButton="Imprimer";
out.printButtonTitle="Imprimer votre présentation ou l'enregistrer au format PDF";
out.printOptions="Options d'impression";
out.printSlideNumber="Afficher le numéro des slides";
out.printDate="Afficher la date";
out.printTitle="Afficher le titre du pad";
out.printCSS="Personnaliser l'apparence (CSS):";
out.editShare="Lien d'édition";
out.editShareTitle="Copier le lien d'édition dans le presse-papiers";
out.viewShare="Partager lien de lecture-seule";
out.editOpen="Éditer dans un nouvel onglet";
out.editOpenTitle="Ouvrir le lien d'édition dans un nouvel onglet";
out.viewShare="Lien de lecture-seule";
out.viewShareTitle="Copier lien d'accès en lecture seule dans le presse-papiers";
out.viewOpen="Voir dans un nouvel onglet";
out.viewOpenTitle="Ouvrir le lien en lecture seule dans un nouvel onglet";
@ -108,7 +111,6 @@ define(function () {
out.poll_p_save="Vos modifications sont mises à jour instantanément, donc vous n'avez jamais besoin de sauver le contenu.";
out.poll_p_encryption="Tout ce que vous entrez est chiffré donc seules les personnes possédant le lien du sondage y ont accès. Même le serveur ne peut pas voir le contenu.";
out.wizardButton='Assistant';
out.wizardLog="Cliquez sur le bouton dans le coin supérieur gauche pour retourner au sondage";
out.wizardTitle="Utiliser l'assistant pour créer votre sondage";
out.wizardConfirm="Êtes-vous vraiment prêt à ajouter ces options au sondage ?";
out.register_rememberPassword="Je vais me souvenir de mes identifiants";
out.register_passwordsDontMatch="Les mots de passe doivent être identiques!";
out.register_mustAcceptTerms="Vous devez accepter les conditions d'utilisation.";
out.register_mustRememberPass="Nous ne pouvons pas réinitialiser votre mot de passe si vous l'oubliez. C'est important que vous vous en souveniez! Veuillez cocher la case pour confirmer.";
out.register_writtenPassword="J'ai bien noté mon nom d'utilisateur et mon mot de passe, continuer";
out.register_cancel="Retour";
out.register_warning="Zero Knowledge signifie que nous ne pouvons pas récupérer vos données si vous perdez vos identifiants.";
out.register_alreadyRegistered="Cet utilisateur existe déjà, souhaitez-vous vous connecter ?";
out.register_header="Bienvenue dans CryptPad";
out.register_explanation=[
@ -250,10 +255,16 @@ define(function () {
"Êtes-vous sûr de vouloir continuer ?<br>"+
"Tapez “<em>I love CryptPad</em>” pour confirmer.";
out.settings_resetDone="Votre drive est désormais vide!";
out.settings_resetError="Texte de vérification incorrect. Votre CryptDrive n'a pas été modifié.";
out.settings_resetTips="Astuces et informations dans CryptDrive";
out.settings_resetTipsButton="Réinitialiser les astuces visibles dans CryptDrive";
out.settings_resetTipsDone="Toutes les astuces sont de nouveau visibles.";
out.settings_importTitle="Importer les pads récents de ce navigateur dans mon CryptDrive";
out.settings_import="Importer";
out.settings_importConfirm="Êtes-vous sûr de vouloir importer les pads récents de ce navigateur dans le CryptDrive de votre compte utilisateur ?";
out.settings_importDone="Importation terminée";
out.settings_userFeedbackHint1="CryptPad peut envoyer des retours d'expérience très limités vers le serveur, de manière à nous permettre d'améliorer l'expérience des utilisateurs.";
out.settings_userFeedbackHint2="Le contenu de vos pads et les clés de déchiffrement ne seront jamais partagés avec le serveur.";
out.settings_userFeedback="Activer l'envoi de retours d'expérience";
@ -306,7 +317,6 @@ define(function () {
out.policy_whatweknow='Ce que nous savons de vous';
out.policy_whatweknow_p1='En tant qu\'application hébergée sur le web, CryptPad a accès aux meta-données exposées par le protocole HTTP. Ceci inclus votre adresse IP et d\'autres en-têtes HTTP qui peuvent être utilisées pour identifier votre propre navigateur. Vous pouvez voir quelles informations votre navigateur partage en visitant <a target="_blank" rel="noopener noreferrer" href="https://www.whatismybrowser.com/detect/what-http-headers-is-my-browser-sending" title="what http headers is my browser sending">WhatIsMyBrowser.com</a>.';
out.policy_whatweknow_p2='Nous utilisons <a href="https://piwik.org/" target="_blank" rel="noopener noreferrer" title="open source analytics platform">Piwik</a>, une plateforme open source d\'analytique, afin d\'en apprendre plus sur nos utilisateurs. Piwik nous indique comment vous avez trouvé CryptPad, que ce soit par une entrée directe, par un moteur de recherche ou depuis un lien provenant d\'un autre site web tel que Reddit ou Twitter. Nous savons également quand vous visitez le site, sur quels liens vous cliquez dans les pages informatives et combien de temps vous restez sur une page donnée.';
out.policy_whatweknow_p3='Ces outils d\'analytique sont utilisés uniquement sur les pages informatives. Nous ne collectons aucune information concernant votre utilisation de nos applications "zero knowledge".';
out.policy_howweuse='Comment nous utilisons ce que nous apprenons';
out.policy_howweuse_p1='Nous utilisons ces informations pour prendre de meilleures décisions concernant la communication autour de CryptPad, en évaluant le succès de ce qui a été realisé par le passé. Les informations concernant votre localisation nous permettent de savoir si nous devons considérer l\'ajout de traductions de CryptPad dans d\'autres langues que l\'anglais.';
out.policy_howweuse_p2="Les informations concernant votre navigateur (que ce soit un système d\'exploitation de bureau ou d\'appareil portable) nous aident à prendre des décisions lors de la priorisation des ajouts et améliorations de fonctionnalités. Notre équipe de développement est petite, et nous essayons de prendre des décisions qui amélioreront l\'expérience du plus grand nombre d\'utilisateurs possible.";
@ -357,13 +367,23 @@ define(function () {
'</small>',
'</p>',
].join('');
out.initialState=[
'<span style="font-size:18px;"><p>',
'Voici <strong>CryptPad</strong>, l\'éditeur collaboratif en temps-réel Zero Knowledge. Tout est sauvegardé dés que vous le tapez.',
'<br>',
'Partagez le lien vers ce pad avec des amis ou utilisez le bouton <span style="background-color:#449d44;color:#ffffff;"> Partager </span> pour obtenir le <em>lien de lecture-seule</em>, qui permet la lecture mais non la modification.',
' Voici CryptPad, l\'éditeur collaboratif en temps-réel Zero Knowledge.\n',
' Voici l\'éditeur de code collaboratif et Zero Knowledge de CryptPad.\n',
' Ce que vous tapez ici est chiffré de manière que seules les personnes avec le lien peuvent y accéder.\n',
' Même le serveur est incapable de voir ce que vous tapez.\n',
' Ce que vous voyez ici, ce que vous entendez, quand vous partez, ça reste ici.\n',
' Vous pouvez choisir le langage de programmation pour la coloration syntaxique, ainsi que le thème de couleurs, dans le coin supérieur droit.\n',
'*/'
].join('');
@ -405,5 +425,18 @@ define(function () {
out.readme_cat3_l2="Avec l'éditeur de présentations de CryptPad, vous pouvez réaliser des présentations rapides en utilisant Markdown";
out.readme_cat3_l3="Avec CryptPoll vous pouvez créer rapidement des sondages, et en particulier plannifier des meetings qui rentrent dans l'agenda de tout ceux qui souhaitent participer.";
// Tips
out.tips={};
out.tips.lag="L'icône verte dans le coin supérieur droit montre la qualité de votre connexion Internet vers le serveur CryptPad.";
out.tips.shortcuts="`ctrl+b`, `ctrl+i` et `ctrl+u` sont des raccourcis rapides pour mettre en gras, en italique ou souligner.";
out.tips.indent="Dans les listes à puces ou numérotées, vous pouvez utiliser `Tab` ou `Maj+Tab` pour augmenter ou réduire rapidement l'indentation.";
out.tips.title="Vous pouvez changer le titre de votre pad en cliquant au centre en haut de la page.";
out.tips.store="Dés que vous ouvrez un nouveau pad, il est automatiquement stocké dans votre CryptDrive si vous êtes connectés.";
out.tips.marker="Vous pouvez surligner du texte dans un pad en utilisant l'option \"marker\" dans le menu déroulant des styles.";
out.feedback_about="Si vous lisez ceci, vous vous demandez probablement pourquoi CryptPad envoie des requêtes vers des pages web quand vous realisez certaines actions.";
out.feedback_privacy="Nous prenons au sérieux le respect de votre vie privée, et en même temps nous souhaitons rendre CryptPad très simple à utiliser. Nous utilisons cette page pour comprendre quelles foncitonnalités dans l'interface comptent le plus pour les utilisateurs, en l'appelant avec un paramètre spécifiant quelle action a été réalisée.";
out.feedback_optout="Si vous le souhaitez, vous pouvez désactiver ces requêtes en vous rendant dans <a href='/settings/'>votre page de préférences</a>, où vous trouverez une case à cocher pour désactiver le retour d'expérience.";
out.orangeLight="Your slow connection may impact your experience";
out.redLight="You are disconnected from the session";
out.importButton='IMPORT';
out.importButtonTitle='Import a pad from a local file';
out.exportButton='EXPORT';
out.exportButtonTitle='Export this pad to a local file';
out.exportPrompt='What would you like to name your file?';
@ -64,7 +63,6 @@ define(function () {
out.clickToEdit="Click to edit";
out.forgetButton='FORGET';
out.forgetButtonTitle='Move this pad to the trash';
out.forgetPrompt='Clicking OK will move this pad to your trash. Are you sure?';
out.movedToTrash='That pad has been moved to the trash.<br><a href="/drive/">Access my Drive</a>';
@ -75,22 +73,27 @@ define(function () {
out.newButton='New';
out.newButtonTitle='Create a new pad';
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.printButton="Print";
out.printButtonTitle="Print your slides or export them as a PDF file";
out.printOptions="Print options";
out.printSlideNumber="Display the slide number";
out.printDate="Display the date";
out.printTitle="Display the pad title";
out.printCSS="Custom style rules (CSS):";
out.editShare="Editing link";
out.editShareTitle="Copy the edit link to clipboard";
out.editShareTitle="Copy the editing link to clipboard";
out.editOpen="Open editing link in a new tab";
out.editOpenTitle="Open this pad in editing mode in a new tab";
out.viewShare="Read-only link";
out.viewShareTitle="Copy the read-only link to clipboard";
out.viewOpen="Open read-only link in new tab";
out.viewOpen="Open read-only link in a new tab";
out.viewOpenTitle="Open this pad in read-only mode in a new tab";
out.notifyJoined="{0} has joined the collaborative session";
@ -99,7 +102,7 @@ define(function () {
out.okButton='OK (enter)';
out.cancel="Cancel";// Not used?
out.cancel="Cancel";
out.cancelButton='Cancel (esc)';
// Polls
@ -110,7 +113,6 @@ define(function () {
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.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?";
@ -225,7 +227,6 @@ define(function () {
out.register_importRecent="Import pad history (Recommended)";
out.register_acceptTerms="I accept <a href='/terms.html'>the terms of service</a>";
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.";
@ -240,6 +241,13 @@ define(function () {
"</ul>"
].join('');
out.register_writtenPassword="I have written down my username and password, proceed";
out.register_cancel="Go back";
out.register_warning="Zero Knowledge means that we can't recover your data if you lose your password.";
out.register_alreadyRegistered="This user already exists, do you want to log in?";
// Settings
out.settings_title="Settings";
out.settings_save="Save";
@ -252,10 +260,16 @@ define(function () {
"Are you sure you want to continue?<br>"+
"Type “<em>I love CryptPad</em>” to confirm.";
out.settings_resetDone="Your drive is now empty!";
out.settings_resetError="Incorrect verification text. Your CryptDrive has not been changed.";
out.settings_resetTips="Tips in CryptDrive";
out.settings_resetTipsButton="Reset the available tips in CryptDrive";
out.settings_resetTipsDone="All the tips are now visible again.";
out.settings_importTitle="Import this browser's recent pads in my CryptDrive";
out.settings_import="Import";
out.settings_importConfirm="Are you sure you want to import recent pads from this browser to your user account's CryptDrive?";
out.settings_importDone="Import completed";
out.settings_userFeedbackHint1="CryptPad provides some very basic feedback to the server, to let us know how to improve your experience.";
out.settings_userFeedbackHint2="Your pad's content will never be shared with the server.";
out.settings_userFeedback="Enable user feedback";
@ -351,26 +365,22 @@ define(function () {
// Initial states
out.initialState=[
'<p>',
'This is <strong>CryptPad</strong>, the zero knowledge realtime collaborative editor.',
'<span style="font-size:18px;"><p>',
'This is <strong>CryptPad</strong>, the Zero Knowledge realtime collaborative editor. Everything is saved as you type.',
'<br>',
'What you type here is encrypted so only people who have the link can access it.',
'<br>',
'Even the server cannot see what you type.',
'</p>',
'<p>',
'<small>',
'<i>What you see here, what you hear here, when you leave here, let it stay here</i>',
'</small>',
'Share the link to this pad to edit with friends or use the <span style="background-color:#449d44;color:#ffffff;"> Share </span> button to share a <em>read-only link</em> which allows viewing but not editing.',
'</p>',
'<p><span style="color:#808080;"><em>',
'Go ahead, just start typing...',
'</em></span></p></span>'
].join('');
out.codeInitialState=[
'/*\n',
' This is CryptPad, the zero knowledge realtime collaborative editor.\n',
' This is the CryptPad Zero Knowledge collaborative code editor.\n',
' What you type here is encrypted so only people who have the link can access it.\n',
' Even the server cannot see what you type.\n',
' What you see here, what you hear here, when you leave here, let it stay here.\n',
' You can choose the programming language to highlight and the UI color scheme in the upper right.\n',
'*/'
].join('');
@ -391,6 +401,8 @@ define(function () {
' - Your slides are updated in realtime'
].join('');
// Readme
out.driveReadmeTitle="What is CryptDrive?";
out.readme_welcome="Welcome to CryptPad !";
out.readme_p1="Welcome to CryptPad, this is where you can take note of things alone and with friends.";
@ -412,5 +424,18 @@ define(function () {
out.readme_cat3_l2="With CryptPad slide editor, you can make quick presentations using Markdown";
out.readme_cat3_l3="With CryptPoll you can take quick votes, especially for scheduling meetings which fit with everybody's calendar";
// Tips
out.tips={};
out.tips.lag="The green icon in the upper right shows the quality of your internet connection to the CryptPad server.";
out.tips.shortcuts="`ctrl+b`, `ctrl+i` and `ctrl+u` are quick shortcuts for bold, italic and underline.";
out.tips.indent="In numbered and bulleted lists, you can use tab or shift+tab to quickly increase or decrease indentation.";
out.tips.title="You can set the title of your pad by clicking the top center.";
out.tips.store="Every time you visit a pad, if you're logged in it will be saved to your CryptDrive.";
out.tips.marker="You can highlight text in a pad using the \"marker\" item in the styles dropdown menu.";
out.feedback_about="If you're reading this, you were probably curious why CryptPad is requesting web pages when you perform certain actions";
out.feedback_privacy="We care about your privacy, and at the same time we want CryptPad to be very easy to use. We use this file to figure out which UI features matter to our users, by requesting it along with a parameter specifying which action was taken.";
out.feedback_optout="If you would like to opt out, visit <a href='/settings/'>your user settings page</a>, where you'll find a checkbox to enable or disable user feedback";
## modify configuration to use your own mongodb instance
## for example aon the default mongodb port `mongodb://localhost:27017/demo_database`
$EDITOR config.js
node ./server.js
```
## Configuration
CryptPad _should_ work with an unmodified configuration file, though there are many things which you may want to customize.
Attributes in the config should have comments indicating how they are used.
```
$EDITOR config.js
```
## Maintenance
To get access to the most recent codebase:
@ -63,18 +68,20 @@ npm update;
To reset your instance of Cryptpad and remove all the data that is being stored:
If you are using the leveldb adaptor, this is as simple as deleting the folder which contains your leveldb datastore:
```
# change into your cryptpade directory
# change into your cryptpad directory
cd /your/cryptpad/instance/location;
# delete the datastore
rm -rf ./cryptpad.db
rm -rf ./datastore
```
If you are using the mongodb adaptor, [drop the relevant collection](https://docs.mongodb.org/manual/reference/method/db.collection.drop/#db.collection.drop).
If you are using the [leveldb adaptor](https://github.com/xwiki-labs/cryptpad-level-store), delete the datastore directory you have configured.
## Testing
To test CryptPad, go to http://your.server:3000/assert/
@ -82,6 +89,16 @@ To test CryptPad, go to http://your.server:3000/assert/
You can use WebDriver to run this test automatically by running TestSelenium.js but you will need chromedriver installed.
If you use Mac, you can `brew install chromedriver`.
## Developing CryptPad
CryptPad is built with a lot of small javascript libraries.
To make js files load faster, we apply an aggressive caching policy.
If you want to add new features to CryptPad, you'll want to turn off caching.
You can do so by launching your server in _dev mode_, like so:
`DEV=1 node server.js`
# Setup using Docker
See [Cryptpad-Docker](cryptpad-docker.md)
@ -108,14 +125,14 @@ Still there are other low-lives in the world so using CryptPad over HTTPS is pro
## Translations
We'd like to make it easy for more people to use encryption in their routine activities.
As such, we've tried to make language-specific parts of Cryptpad translatable. If you're
able to translate Cryptpad's interface, and would like to help, please contact us!
As such, we've tried to make language-specific parts of CryptPad translatable. If you're
able to translate CryptPad's interface, and would like to help, please contact us!
You can also see [our translation guide](/customize.dist/translations/README.md).
## Contacting Us
You can reach members of the Cryptpad development team on [twitter](https://twitter.com/cryptpad),
You can reach members of the CryptPad development team on [twitter](https://twitter.com/cryptpad),
via our [github issue tracker](https://github.com/xwiki-labs/cryptpad/issues/), on the
<p>If you're reading this, you were probably curious why CryptPad is requesting web pages when you perform certain actions.</p>
<p>We care about your privacy, and at the same time we want CryptPad to be very easy to use.
<pdata-localization="feedback_about">If you're reading this, you were probably curious why CryptPad is requesting web pages when you perform certain actions.</p>
<pdata-localization="feedback_privacy">We care about your privacy, and at the same time we want CryptPad to be very easy to use.
We use this file to figure out which UI features matter to our users, by requesting it along with a parameter specifying which action was taken.</p>
<p>If you would like to opt out, visit <ahref="/settings/">your user settings page</a>, where you'll find a checkbox to enable or disable user feedback</p>
<pdata-localization="feedback_optout">If you would like to opt out, visit <ahref="/settings/">your user settings page</a>, where you'll find a checkbox to enable or disable user feedback</p>