From 60ffd1f05931ba885d758df9c31e368827926472 Mon Sep 17 00:00:00 2001 From: ansuz Date: Mon, 18 Jan 2021 19:30:07 +0530 Subject: [PATCH 01/12] read customizeable instance values from /api/config for the features page --- customize.dist/pages/features.js | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/customize.dist/pages/features.js b/customize.dist/pages/features.js index c2b693f26..a00595adf 100644 --- a/customize.dist/pages/features.js +++ b/customize.dist/pages/features.js @@ -28,7 +28,7 @@ define([ // Msg.features_f_cryptdrive0 = ""; // Msg.features_f_cryptdrive0_note = ""; // Msg.features_f_storage0 = ""; - Msg.features_f_storage0_note = "Documents are deleted after 3 months of inactivity"; + Msg.features_f_storage0_note = "Documents are deleted after {0} days of inactivity"; // Registered column Msg.features_registered = "Registered"; // // Msg.features_f_anon = ""; @@ -36,14 +36,12 @@ define([ Msg.features_f_social = "Social Features"; Msg.features_f_social_note = "Add contacts for secure collaboration, create a profile, fine-grained access controls"; // Msg.features_f_file1 = ""; - // XXX add instance limit - Msg.features_f_file1_note = "Store files in your CryptDrive: images, PDFs, videos, and more. Share them with your contacts or embed them in your documents. (up to 25MB)"; + Msg.features_f_file1_note = "Store files in your CryptDrive: images, PDFs, videos, and more. Share them with your contacts or embed them in your documents. (up to {0}MB)"; // Msg.features_f_cryptdrive1 = ""; // Msg.features_f_cryptdrive1_note = ""; // Msg.features_f_devices = ""; // Msg.features_f_devices_note = ""; - // XXX add instance limit - Msg.features_f_storage1 = "Permanent Storage (1GB)"; + Msg.features_f_storage1 = "Permanent Storage ({0}GB)"; Msg.features_f_storage1_note = "Documents stored in your CryptDrive are never deleted for inactivity"; // Premium column Msg.features_premium = "Premium"; @@ -51,7 +49,7 @@ define([ // Msg.features_f_reg = "" Msg.features_f_reg_note = "With additional benefits"; // Msg.features_f_storage2 = "" - Msg.features_f_storage2_note = "From 5GB to 50GB depending on the plan. Increased limit of 150MB for file uploads."; + Msg.features_f_storage2_note = "From 5GB to 50GB depending on the plan. Increased limit of {0}MB for file uploads."; // Msg.features_f_support = "" Msg.features_f_support_note = "Priority response from the administration team via email and built in ticket system."; Msg.features_f_supporter = "Support privacy"; @@ -85,7 +83,7 @@ define([ h('div.cp-check'), h('div.cp-content', [ h('div.cp-feature', Msg['features_f_' + f]), - h('div.cp-note', Msg['features_f_' + f + '_note']) + h('div.cp-note', Msg._getKey('features_f_' + f + '_note', [Config.inactiveTime])) ]) ]); }) @@ -108,8 +106,8 @@ define([ return h('li.list-group-item', [ h('div.cp-check'), h('div.cp-content', [ - h('div.cp-feature', Msg['features_f_' + f]), - h('div.cp-note', Msg['features_f_' + f + '_note']) + h('div.cp-feature', Msg._getKey('features_f_' + f, [Config.defaultStorageLimit / 1024 / 1024])), + h('div.cp-note', Msg._getKey('features_f_' + f + '_note', [Config.maxUploadSize / 1024 / 1024])) ]) ]); }), @@ -144,7 +142,7 @@ define([ h('div.cp-check'), h('div.cp-content', [ h('div.cp-feature', Msg['features_f_' + f]), - h('div.cp-note', Msg['features_f_' + f + '_note']) + h('div.cp-note', Msg._getKey('features_f_' + f + '_note', [Config.premiumUploadSize / 1024 / 1024])) ]) ]); }), From ad0a4dc85b1c33f50fe70c7b7fe56eb5d4c9dd4a Mon Sep 17 00:00:00 2001 From: Weblate Date: Mon, 18 Jan 2021 18:05:53 +0100 Subject: [PATCH 02/12] Translated using Weblate (French) Currently translated at 100.0% (1431 of 1431 strings) Translation: CryptPad/App Translate-URL: http://weblate.cryptpad.fr/projects/cryptpad/app/fr/ Translated using Weblate (French) Currently translated at 96.3% (1379 of 1431 strings) Translation: CryptPad/App Translate-URL: http://weblate.cryptpad.fr/projects/cryptpad/app/fr/ Translated using Weblate (French) Currently translated at 100.0% (1411 of 1411 strings) Translation: CryptPad/App Translate-URL: http://weblate.cryptpad.fr/projects/cryptpad/app/fr/ --- www/common/translations/messages.fr.json | 96 ++++++++++++++---------- 1 file changed, 58 insertions(+), 38 deletions(-) diff --git a/www/common/translations/messages.fr.json b/www/common/translations/messages.fr.json index dc93709fb..6bff0d4d7 100644 --- a/www/common/translations/messages.fr.json +++ b/www/common/translations/messages.fr.json @@ -413,18 +413,18 @@ "login_invalUser": "Nom d'utilisateur requis", "login_invalPass": "Mot de passe requis", "login_unhandledError": "Une erreur inattendue s'est produite :(", - "register_importRecent": "Importer les pads de votre session anonyme", + "register_importRecent": "Importer les documents de votre session non-enregistrée", "register_acceptTerms": "J'accepte les conditions d'utilisation", "register_passwordsDontMatch": "Les mots de passe doivent être identiques !", "register_passwordTooShort": "Les mots de passe doivent contenir au moins {0} caractères.", "register_mustAcceptTerms": "Vous devez accepter les conditions d'utilisation.", "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.", "register_writtenPassword": "J'ai bien noté mon nom d'utilisateur et mon mot de passe, continuer", - "register_cancel": "Retour", - "register_warning": "Zero Knowledge signifie que nous ne pouvons pas récupérer vos données si vous perdez vos identifiants.", + "register_cancel": "Annuler", + "register_warning": " Attention", "register_alreadyRegistered": "Cet utilisateur existe déjà, souhaitez-vous vous connecter ?", "register_whyRegister": "Pourquoi s'inscrire ?", - "register_header": "Bienvenue dans CryptPad", + "register_header": "Créer un compte", "register_explanation": "

Faisons d'abord le point sur certaines choses

", "settings_cat_account": "Compte", "settings_cat_drive": "CryptDrive", @@ -593,7 +593,7 @@ "mdToolbar_check": "Liste de tâches", "mdToolbar_code": "Code", "home_product": "CryptPad est une alternative respectant la vie privée aux outils office et aux services cloud populaires. Tout le contenu stocké dans CryptPad est chiffré avant d'être envoyé, ce qui signifie que personne ne peut accéder à vos données à moins que vous ne leur donniez les clés (même pas nous).", - "home_host": "Ceci est une instance communautaire et indépendante de CryptPad. Le code source du projet est disponible sur GitHub.", + "home_host": "Ceci est une instance communautaire et indépendante de CryptPad.", "home_host_agpl": "CryptPad est distribué sous les termes de la licence logicielle AGPL3", "home_ngi": "Gagnant d'un prix NGI Awards", "about_intro": "CryptPad est développé au sein de l'équipe Recherche d'XWiki SAS, une petite entreprise située à Paris en France et à Iasi en Roumanie. Il y a 3 développeurs principaux qui travaillent sur CryptPad, ainsi que quelques contributeurs à la fois dans et en dehors d'XWiki SAS.", @@ -606,13 +606,13 @@ "footer_contact": "Contact", "footer_aboutUs": "À propos", "about": "À propos", - "privacy": "Confidentialité", + "privacy": "Charte de confidentialité", "contact": "Contact", "terms": "Conditions", "blog": "Blog", "topbar_whatIsCryptpad": "Qu'est-ce que CryptPad", - "whatis_title": "Qu'est-ce que CryptPad", - "whatis_collaboration": "Collaboration rapide, facile", + "whatis_title": "Qu'est-ce que CryptPad ?", + "whatis_collaboration": "Collaboration Privée", "whatis_collaboration_p1": "Avec CryptPad, vous pouvez créer rapidement des documents collaboratifs pour prendre des notes à plusieurs. Quand vous vous enregistrez et vous vous connectez, vous obtenez la possibilité d'importer des fichiers dans un CryptDrive où vous pouvez organiser tous vos pads (documents). En tant qu'utilisateur enregistré, vous possédez 50 Mo de stockage gratuit.", "whatis_collaboration_p2": "Vous pouvez partager l'accès à un document simplement en partageant le lien. Vous pouvez aussi partager un lien spécial fournissant un accès en lecture seule au pad, permettant de publier des travaux collaboratifs tout en restant maître de l'édition.", "whatis_collaboration_p3": "Vous pouvez créer des documents de texte avec CKEditor tout comme des documents Markdown qui sont rendus en temps-réel pendant que vous tapez. Vous pouvez aussi utiliser l'application de sondage pour planifier des évènements avec plusieurs participants.", @@ -647,43 +647,43 @@ "features": "Fonctionnalités", "features_title": "Comparaison des fonctionnalités", "features_feature": "Fonctionnalité", - "features_anon": "Utilisateur anonyme", - "features_registered": "Utilisateur enregistré", - "features_premium": "Utilisateur premium", + "features_anon": "Non-enregistré", + "features_registered": "Enregistré", + "features_premium": "Premium", "features_notes": "Notes", - "features_f_apps": "Accès aux applications principales", - "features_f_core": "Fonctions communes des applications", + "features_f_apps": "Access to all the applications", + "features_f_core": "Fonctions communes", "features_f_core_note": "Édition, Export, Historique, Liste d'utilisateurs, Chat", - "features_f_file0": "Ouvrir des fichiers", - "features_f_file0_note": "Voir et télécharger des fichiers partagés par d'autres utilisateurs", + "features_f_file0": "Ouverture de documents", + "features_f_file0_note": "Consulter et télécharger les documents partagés par d'autres utilisateurs", "features_f_cryptdrive0": "Accès limité à CryptDrive", "features_f_cryptdrive0_note": "Stockage dans votre navigateur des pads visités afin de pouvoir les retrouver plus tard", "features_f_storage0": "Durée de stockage limitée", - "features_f_storage0_note": "Les pads créés risquent d'être supprimés après trois mois d'inactivité", + "features_f_storage0_note": "Les documents sont supprimés après {0} jours d'inactivité", "features_f_anon": "Avantages des utilisateurs anonymes", - "features_f_anon_note": "Avec une meilleure ergonomie et plus de contrôle sur vos pads", + "features_f_anon_note": "Avec des fonctionnalités supplémentaires", "features_f_cryptdrive1": "Accès complet à CryptDrive", "features_f_cryptdrive1_note": "Dossiers, dossiers partagés, modèles, tags", "features_f_devices": "Vos pads sur tous vos appareils", "features_f_devices_note": "Accéder à votre CryptDrive de partout grâce à votre compte utilisateur", - "features_f_social": "Applications sociales", - "features_f_social_note": "Créer un profil, utiliser un avatar, chat avec les contacts", + "features_f_social": "Fonctionalités collaboratives", + "features_f_social_note": "Ajout de contacts pour une collaboration sécurisée, création d'un profil, contrôles d'accès affinés", "features_f_file1": "Importer et partager des fichiers", - "features_f_file1_note": "Partager des fichiers avec vos contacts ou les intégrer dans vos pads", - "features_f_storage1": "Stockage permanent (50Mo)", - "features_f_storage1_note": "Les pads stockés dans votre CryptDrive ne seront jamais supprimés pour cause d'inactivité", + "features_f_file1_note": "Stockez des fichiers dans votre CryptDrive : images, PDF, vidéos, etc. Partagez-les avec vos contacts ou intégrez-les dans vos documents. (jusqu'à {0}Mo)", + "features_f_storage1": "Stockage personnel ({0}Go)", + "features_f_storage1_note": "Les documents stockés dans votre CryptDrive ne sont pas supprimés pour cause d'inactivité", "features_f_register": "S'enregistrer gratuitement", "features_f_register_note": "Pas d'email ou d'information personnelle requis", "features_f_reg": "Avantages des utilisateurs enregistrés", - "features_f_reg_note": "Et aider au développement de CryptPad", + "features_f_reg_note": "Avec des avantages supplémentaires", "features_f_storage2": "Espace de stockage supplémentaire", - "features_f_storage2_note": "De 5 Go à 50 Go en fonction du plan sélectionné", + "features_f_storage2_note": "De 5Go à 50Go selon le plan, augmentation de la limite à {0}Mo pour les téléchargements de fichiers", "features_f_support": "Support plus rapide", - "features_f_support_note": "Support email professionnel avec le plan Équipe", - "features_f_supporter": "Devenir un défenseur de la vie privée", - "features_f_supporter_note": "Nous aider à montrer que les logiciels protégeant les données personnelles devraient être la norme", - "features_f_subscribe": "S'abonner à un compte premium", - "features_f_subscribe_note": "Vous devez d'abord vous connecter à un compte CryptPad", + "features_f_support_note": "Réponse prioritaire de l'équipe d'administration par e-mail et système de tickets de support intégré", + "features_f_supporter": "Soutenez la défense de la vie privée", + "features_f_supporter_note": "Aidez CryptPad à être financièrement viable et montrer que les logiciels peuvent respecter la vie privée et être volontairement financés par les utilisateurs", + "features_f_subscribe": "S'abonner", + "features_f_subscribe_note": "Un compte enregistré est nécessaire pour s'abonner", "faq_link": "FAQ", "faq_title": "Foire aux questions", "faq_whatis": "Qu'est-ce que CryptPad ?", @@ -837,7 +837,7 @@ "help": { "title": "Pour bien démarrer", "generic": { - "more": "Apprenez-en davantage sur le fonctionnement de CryptPad en lisant notre FAQ.", + "more": "Découvrez toutes les fonctionalités de CryptPad en lisant la Documentation.", "share": "Partagez ce document avec le bouton Partager et gérez les droits d'accès avec le bouton Accès.", "save": "Tous les changements effectués sont enregistrés automatiquement" }, @@ -921,7 +921,7 @@ "creation_owned": "Être propriétaire de ce pad", "creation_ownedTrue": "Être propriétaire", "creation_ownedFalse": "Pas de propriétaire", - "creation_owned1": "Être propriétaire d'un pad signifie que vous pouvez le supprimer du serveur à tout moment. Une fois supprimé, il disparaît du CryptDrive des autres utilisateurs.", + "creation_owned1": "Être propriétaire d'un élément signifie que vous pouvez le détruire à tout moment. Une fois détruit, un élément disparaît du CryptDrive de tous les utilisateurs.", "creation_owned2": "Un pad sans propriétaire ne peut pas être supprimé du serveur à moins d'avoir dépassé son éventuelle date d'expiration.", "creation_expireTitle": "Durée de vie", "creation_expire": "Ajouter une durée de vie", @@ -932,7 +932,7 @@ "creation_expireMonths": "Mois", "creation_expire1": "Un pad illimité ne sera pas supprimé du serveur à moins que son propriétaire ne le décide.", "creation_expire2": "Un pad à durée de vie sera supprimé automatiquement du serveur et du CryptDrive des utilisateurs lorsque cette durée sera dépassée.", - "creation_password": "Ajouter un mot de passe", + "creation_password": "Mot de passe\n", "creation_noTemplate": "Pas de modèle", "creation_newTemplate": "Nouveau modèle", "creation_create": "Créer", @@ -1030,12 +1030,12 @@ "admin_flushCacheButton": "Vider le cache", "admin_flushCacheDone": "Opération réalisée avec succès", "footer_product": "Produit", - "footer_team": "L'équipe", + "footer_team": "Contributeurs", "footer_donate": "Faire un don", "footer_legal": "Questions légales", - "footer_tos": "Conditions", + "footer_tos": "Conditions d'utilisation", "contact_admin": "Contacter les administrateurs", - "contact_adminHint": "Pour tout problème lié à votre compte, votre limite de stockage ou la disponibilité du service.", + "contact_adminHint": "Pour toute question relative à votre compte, à la limite de stockage ou à la disponibilité du service.\n", "contact_dev": "Contacter les développeurs", "contact_devHint": "Pour les demandes de fonctionnalités, les améliorations d'ergonomie ou pour dire merci.", "contact_bug": "Rapport de bug", @@ -1135,7 +1135,7 @@ "pricing": "Tarification", "homePage": "Page d'accueil", "features_noData": "Aucune donnée personnelle requise", - "features_pricing": "Entre {0} et {2}€ par mois", + "features_pricing": "de {0} à {2}€ par mois", "features_emailRequired": "Adresse email requise", "register_emailWarning0": "Il semble que vous ayez entré votre adresse email à la place du nom d'utilisateur.", "register_emailWarning1": "Vous pouvez continuer, mais ces données ne sont pas nécessaires et ne seront pas envoyées à notre serveur.", @@ -1506,6 +1506,26 @@ "admin_support_closed": "Tickets fermé :", "admin_support_answered": "Tickets traité :", "admin_support_normal": "Tickets sans réponse :", - "admin_support_premium": "Tickets prime :", - "offlineError": "Impossible de synchroniser les données les plus récentes, cette page ne peut pas être affichée pour le moment. Le chargement continuera au retour de votre connexion au service." + "admin_support_premium": "Tickets premium :", + "offlineError": "Impossible de synchroniser les données les plus récentes, cette page ne peut pas être affichée pour le moment. Le chargement continuera au retour de votre connexion au service.", + "creation_helperText": "Ouvrir la documentation", + "creation_expiresIn": "Expirera dans", + "whatis_xwiki_info": "

CryptPad est fabriqué à XWiki, une société basée à Paris, France, qui fabrique des logiciels open-source depuis plus de 15 ans. Nous avons une grande expérience dans la réalisation de logiciels collaboratifs pour organiser l'information. Notre histoire montre que nous sommes engagés dans le développement et la maintenance à long terme de CryptPad.

", + "whatis_xwiki": "Fabriqué à XWiki", + "whatis_model_info": "

Depuis 2016, CryptPad est soutenu par des bourses de recherche françaises et européennes telles que BPI France, NLNet Foundation, NGI Trust, Mozilla Open Source Support, ainsi que par des dons et des abonnements à cryptpad.fr. Nous pensons que l'argent public doit financer du code public, c'est pourquoi le service est entièrement open source. Cela signifie que tout le monde peut utiliser, héberger et modifier le logiciel.

CryptPad ne profite pas des données des utilisateurs. Cela fait partie d'une vision 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.

Nous offrons les fonctionnalités de CryptPad gratuitement parce que nous pensons que chacun a droit à la protection de sa vie privée, et pas seulement les personnes ayant un revenu suffisant. Si vous êtes en mesure de soutenir le projet, vous contribuerez aux nouvelles fonctionnalités, aux améliorations et à la maintenance qui profiteront à tous les utilisateurs.

Maintenant que la faisabilité du projet a été établie, le prochain objectif est de le rendre financièrement viable grâce au financement des utilisateurs. Si vous souhaitez soutenir CryptPad et contribuer à en faire une alternative durable aux grandes plateformes, veuillez envisager de faire un don unique ou récurrent.

", + "whatis_model": "Modèle économique", + "whatis_drive_info": "

Stockez et gérez les documents avec CryptDrive. Créez des dossiers, des dossiers partagés et des mots-clés pour organiser les documents. Téléchargez et partagez des fichiers (PDF, photos, vidéo, audio, etc.). Les drives d'équipe sont partagés entre les utilisateurs et permettent une organisation collaborative et un contrôle précis de l'accès.

", + "whatis_apps_info": "

CryptPad fournit une suite bureautique complète avec tous les outils nécessaires à une collaboration productive. Les applications comprennent : texte, feuilles de calcul, code/markdown, kanban, présentations, dessin et sondage.

Les applications sont complétées par un ensemble de fonctions de collaboration telles que le chat, les contacts, la couleur par auteur (code/markdown) et les commentaires avec mentions (texte).

", + "whatis_apps": "Une suite complète d'applications", + "whatis_collaboration_info": "

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.

", + "register_warning_note": "En raison de la nature chiffrée de CrytpPad, 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": "", + "register_notes_title": "Notes importantes", + "home_support": "

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.

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 moyens non financiers de contribuer.

", + "home_support_title": "Soutenez CryptPad", + "home_opensource": "CryptPad est un logiciel libre. Il peut être installé par qui veut proposer ce service dans un cadre personnel ou professionnel. Le code source est disponible sur Github.", + "home_opensource_title": "Open Source", + "home_host_title": "À propos de cette instance", + "home_privacy_text": "CryptPad est conçu pour permettre la collaboration tout en préservant la confidentialité des données. Tout le contenu est chiffré et déchiffré par votre navigateur. Cela signifie que les documents, les chats et les fichiers sont illisibles en dehors de la session à laquelle vous êtes connecté. Même les administrateurs du service n'ont pas accès à vos informations.", + "home_privacy_title": "Protège votre vie privée" } From c6be5e9624b9df7ef64a916d98dba4adc8361d53 Mon Sep 17 00:00:00 2001 From: Weblate Date: Mon, 18 Jan 2021 18:05:53 +0100 Subject: [PATCH 03/12] Translated using Weblate (English) Currently translated at 100.0% (1431 of 1431 strings) Translation: CryptPad/App Translate-URL: http://weblate.cryptpad.fr/projects/cryptpad/app/en/ Translated using Weblate (English) Currently translated at 100.0% (1430 of 1430 strings) Translation: CryptPad/App Translate-URL: http://weblate.cryptpad.fr/projects/cryptpad/app/en/ Translated using Weblate (English) Currently translated at 100.0% (1430 of 1430 strings) Translation: CryptPad/App Translate-URL: http://weblate.cryptpad.fr/projects/cryptpad/app/en/ Translated using Weblate (English) Currently translated at 100.0% (1429 of 1429 strings) Translation: CryptPad/App Translate-URL: http://weblate.cryptpad.fr/projects/cryptpad/app/en/ Translated using Weblate (English) Currently translated at 100.0% (1429 of 1429 strings) Translation: CryptPad/App Translate-URL: http://weblate.cryptpad.fr/projects/cryptpad/app/en/ Translated using Weblate (English) Currently translated at 100.0% (1428 of 1428 strings) Translation: CryptPad/App Translate-URL: http://weblate.cryptpad.fr/projects/cryptpad/app/en/ Translated using Weblate (English) Currently translated at 100.0% (1427 of 1427 strings) Translation: CryptPad/App Translate-URL: http://weblate.cryptpad.fr/projects/cryptpad/app/en/ Translated using Weblate (English) Currently translated at 100.0% (1426 of 1426 strings) Translation: CryptPad/App Translate-URL: http://weblate.cryptpad.fr/projects/cryptpad/app/en/ Translated using Weblate (English) Currently translated at 100.0% (1425 of 1425 strings) Translation: CryptPad/App Translate-URL: http://weblate.cryptpad.fr/projects/cryptpad/app/en/ Translated using Weblate (English) Currently translated at 100.0% (1424 of 1424 strings) Translation: CryptPad/App Translate-URL: http://weblate.cryptpad.fr/projects/cryptpad/app/en/ Translated using Weblate (English) Currently translated at 100.0% (1423 of 1423 strings) Translation: CryptPad/App Translate-URL: http://weblate.cryptpad.fr/projects/cryptpad/app/en/ Translated using Weblate (English) Currently translated at 100.0% (1422 of 1422 strings) Translation: CryptPad/App Translate-URL: http://weblate.cryptpad.fr/projects/cryptpad/app/en/ Translated using Weblate (English) Currently translated at 100.0% (1421 of 1421 strings) Translation: CryptPad/App Translate-URL: http://weblate.cryptpad.fr/projects/cryptpad/app/en/ Translated using Weblate (English) Currently translated at 100.0% (1421 of 1421 strings) Translation: CryptPad/App Translate-URL: http://weblate.cryptpad.fr/projects/cryptpad/app/en/ Translated using Weblate (English) Currently translated at 100.0% (1420 of 1420 strings) Translation: CryptPad/App Translate-URL: http://weblate.cryptpad.fr/projects/cryptpad/app/en/ Translated using Weblate (English) Currently translated at 100.0% (1420 of 1420 strings) Translation: CryptPad/App Translate-URL: http://weblate.cryptpad.fr/projects/cryptpad/app/en/ Translated using Weblate (English) Currently translated at 100.0% (1419 of 1419 strings) Translation: CryptPad/App Translate-URL: http://weblate.cryptpad.fr/projects/cryptpad/app/en/ Translated using Weblate (English) Currently translated at 100.0% (1418 of 1418 strings) Translation: CryptPad/App Translate-URL: http://weblate.cryptpad.fr/projects/cryptpad/app/en/ Translated using Weblate (English) Currently translated at 100.0% (1418 of 1418 strings) Translation: CryptPad/App Translate-URL: http://weblate.cryptpad.fr/projects/cryptpad/app/en/ Translated using Weblate (English) Currently translated at 100.0% (1417 of 1417 strings) Translation: CryptPad/App Translate-URL: http://weblate.cryptpad.fr/projects/cryptpad/app/en/ Translated using Weblate (English) Currently translated at 100.0% (1416 of 1416 strings) Translation: CryptPad/App Translate-URL: http://weblate.cryptpad.fr/projects/cryptpad/app/en/ Translated using Weblate (English) Currently translated at 100.0% (1415 of 1415 strings) Translation: CryptPad/App Translate-URL: http://weblate.cryptpad.fr/projects/cryptpad/app/en/ Translated using Weblate (English) Currently translated at 100.0% (1414 of 1414 strings) Translation: CryptPad/App Translate-URL: http://weblate.cryptpad.fr/projects/cryptpad/app/en/ Translated using Weblate (English) Currently translated at 100.0% (1414 of 1414 strings) Translation: CryptPad/App Translate-URL: http://weblate.cryptpad.fr/projects/cryptpad/app/en/ Translated using Weblate (English) Currently translated at 100.0% (1413 of 1413 strings) Translation: CryptPad/App Translate-URL: http://weblate.cryptpad.fr/projects/cryptpad/app/en/ Translated using Weblate (English) Currently translated at 100.0% (1412 of 1412 strings) Translation: CryptPad/App Translate-URL: http://weblate.cryptpad.fr/projects/cryptpad/app/en/ --- www/common/translations/messages.json | 96 ++++++++++++++++----------- 1 file changed, 58 insertions(+), 38 deletions(-) diff --git a/www/common/translations/messages.json b/www/common/translations/messages.json index 48601972f..2d3866f6f 100644 --- a/www/common/translations/messages.json +++ b/www/common/translations/messages.json @@ -422,18 +422,18 @@ "login_invalUser": "Username required", "login_invalPass": "Password required", "login_unhandledError": "An unexpected error occurred :(", - "register_importRecent": "Import pads from your anonymous session", + "register_importRecent": "Import documents from your unregistered session", "register_acceptTerms": "I accept the terms of service", "register_passwordsDontMatch": "Passwords do not match!", "register_passwordTooShort": "Passwords must be at least {0} characters long.", "register_mustAcceptTerms": "You must accept the terms of service.", "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.", "register_whyRegister": "Why sign up?", - "register_header": "Welcome to CryptPad", + "register_header": "Register", "register_explanation": "

Lets go over a couple things first:

  • Your password is your secret key which encrypts all of your pads. If you lose it there is no way we can recover your data.
  • You can import pads which were recently viewed in your browser so you have them in your account.
  • If you are using a shared computer, you need to log out when you are done, closing the tab is not enough.
", "register_writtenPassword": "I have written down my username and password, proceed", - "register_cancel": "Go back", - "register_warning": "Zero Knowledge means that we can't recover your data if you lose your password.", + "register_cancel": "Cancel", + "register_warning": " Warning", "register_alreadyRegistered": "This user already exists, do you want to log in?", "register_emailWarning0": "It looks like you submitted your email as your username.", "register_emailWarning1": "You can do that if you want, but it won't be sent to our server.", @@ -611,7 +611,7 @@ "mdToolbar_code": "Code", "mdToolbar_toc": "Table of Contents", "home_product": "CryptPad is a private-by-design alternative to popular office tools and cloud services. All the content stored on CryptPad is encrypted before being sent, which means nobody can access your data unless you give them the keys (not even us).", - "home_host": "This is an independent community instance of CryptPad. Its source code is available on GitHub.", + "home_host": "This is an independent community instance of CryptPad.", "home_host_agpl": "CryptPad is distributed under the terms of the AGPL3 software license", "home_ngi": "NGI Award winner", "about_intro": "CryptPad is created inside of the Research Team at XWiki SAS, a small business located in Paris France and Iasi Romania. There are 3 core team members working on CryptPad plus a number of contributors both inside and outside of XWiki SAS.", @@ -624,13 +624,13 @@ "footer_contact": "Contact", "footer_aboutUs": "About us", "about": "About", - "privacy": "Privacy", + "privacy": "Privacy Policy", "contact": "Contact", "terms": "ToS", "blog": "Blog", "topbar_whatIsCryptpad": "What is CryptPad", - "whatis_title": "What is CryptPad", - "whatis_collaboration": "Fast, Easy Collaboration", + "whatis_title": "What is CryptPad?", + "whatis_collaboration": "Private Collaboration", "whatis_collaboration_p1": "With CryptPad, you can make quick collaborative documents for taking notes and writing down ideas together. When you sign up and log in, you get file upload capability and a CryptDrive where you can organize all of your pads. As a registered user you get 50MB of space for free.", "whatis_collaboration_p2": "You can share access to a CryptPad document simply by sharing the link. You can also share a link which provides read only access to a pad, allowing you to publicise your collaborative work while still being able to edit it.", "whatis_collaboration_p3": "You can make simple rich text documents with CKEditor as well as Markdown documents which are rendered in realtime while you type. You can also use the poll app for scheduling events with multiple participants.", @@ -665,43 +665,43 @@ "features": "Features", "features_title": "Feature comparison", "features_feature": "Feature", - "features_anon": "Anonymous user", - "features_registered": "Registered user", - "features_premium": "Premium user", + "features_anon": "Non-registered", + "features_registered": "Registered", + "features_premium": "Premium", "features_notes": "Notes", - "features_f_apps": "Access to the main applications", - "features_f_core": "Common features for the applications", + "features_f_apps": "Access to all the applications", + "features_f_core": "Common features", "features_f_core_note": "Edit, Import & Export, History, Userlist, Chat", - "features_f_file0": "Open files", - "features_f_file0_note": "View and download files shared by other users", + "features_f_file0": "Open documents", + "features_f_file0_note": "View and download documents shared by other users", "features_f_cryptdrive0": "Limited access to CryptDrive", "features_f_cryptdrive0_note": "Ability to store visited pads in your browser to be able to open them later", "features_f_storage0": "Limited storage time", - "features_f_storage0_note": "Created pads risk deletion after 3 months of inactivity", + "features_f_storage0_note": "Documents are deleted after {0} days of inactivity", "features_f_anon": "All anonymous user features", - "features_f_anon_note": "With better usability and more power over your pads", + "features_f_anon_note": "With additional functionality", "features_f_cryptdrive1": "Complete CryptDrive functionality", "features_f_cryptdrive1_note": "Folders, shared folders, templates, tags", "features_f_devices": "Your pads on all your devices", "features_f_devices_note": "Access your CryptDrive everywhere with your user account", - "features_f_social": "Social applications", - "features_f_social_note": "Create a profile, use an avatar, chat with contacts", + "features_f_social": "Social features", + "features_f_social_note": "Add contacts for secure collaboration, create a profile, fine-grained access controls", "features_f_file1": "Upload and share files", - "features_f_file1_note": "Share files with your contacts or embed them in your pads", - "features_f_storage1": "Permanent storage (50MB)", - "features_f_storage1_note": "Pads stored in your CryptDrive are never deleted for inactivity", + "features_f_file1_note": "Store files in your CryptDrive: images, PDFs, videos, and more. Share them with your contacts or embed them in your documents. (up to {0}MB)", + "features_f_storage1": "Personal storage ({0}GB)", + "features_f_storage1_note": "Documents stored in your CryptDrive are not deleted for inactivity", "features_f_register": "Register for free", "features_f_register_note": "No email or personal information required", "features_f_reg": "All registered user features", - "features_f_reg_note": "And help CryptPad's development", + "features_f_reg_note": "With additional benefits", "features_f_storage2": "Extra storage space", - "features_f_storage2_note": "From 5GB to 50GB depending on the selected plan", + "features_f_storage2_note": "From 5GB to 50GB depending on the plan, increased limit of {0}MB for file uploads", "features_f_support": "Faster support", - "features_f_support_note": "Professional email support with the Team plan", - "features_f_supporter": "Become a privacy supporter", - "features_f_supporter_note": "Help us show that privacy-enhancing software should be the norm", - "features_f_subscribe": "Subscribe to premium", - "features_f_subscribe_note": "You need to be logged in to CryptPad first", + "features_f_support_note": "Priority response from the administration team via email and built in ticket system", + "features_f_supporter": "Support privacy", + "features_f_supporter_note": "Help CryptPad to become financially sustainable and show that privacy-enhancing software willingly funded by users should be the norm", + "features_f_subscribe": "Subscribe", + "features_f_subscribe_note": "Registered account needed to subscribe", "faq_link": "FAQ", "faq_title": "Frequently Asked Questions", "faq_whatis": "What is CryptPad?", @@ -855,7 +855,7 @@ "help": { "title": "Getting started", "generic": { - "more": "Learn more about how CryptPad can work for you by reading our FAQ.", + "more": "Learn more about how CryptPad can work for you by reading our Documentation.", "share": "Share this document with the Share button, and manage access rights with Access.", "save": "All your changes are synced automatically so you never need to save" }, @@ -939,7 +939,7 @@ "creation_owned": "Owned pad", "creation_ownedTrue": "Owned pad", "creation_ownedFalse": "Open pad", - "creation_owned1": "An owned pad can be deleted from the server whenever the owner wants. Deleting an owned pad removes it from other users' CryptDrives.", + "creation_owned1": "An owned item can be destroyed whenever the owner wants. Destroying an owned item removes it from other users' CryptDrives.", "creation_owned2": "An open pad doesn't have any owner and thus, it can't be deleted from the server unless it has reached its expiration time.", "creation_expireTitle": "Life time", "creation_expire": "Expiring pad", @@ -950,7 +950,7 @@ "creation_expireMonths": "Month(s)", "creation_expire1": "An unlimited pad will not be removed from the server until its owner deletes it.", "creation_expire2": "An expiring pad has a set lifetime, after which it will be automatically removed from the server and other users' CryptDrives.", - "creation_password": "Add a password", + "creation_password": "Password\n", "creation_noTemplate": "No template", "creation_newTemplate": "New template", "creation_create": "Create", @@ -959,7 +959,7 @@ "creation_owners": "Owners", "creation_ownedByOther": "Owned by another user", "creation_noOwner": "No owner", - "creation_expiration": "Expiration time", + "creation_expiration": "Expiration date", "creation_passwordValue": "Password", "creation_propertiesTitle": "Availability", "creation_appMenuName": "New pad (Ctrl + E)", @@ -1047,12 +1047,12 @@ "admin_flushCacheButton": "Flush cache", "admin_flushCacheDone": "Cache flushed successfully", "footer_product": "Product", - "footer_team": "The team", + "footer_team": "Contributors", "footer_donate": "Donate", "footer_legal": "Legal", - "footer_tos": "Terms", + "footer_tos": "Terms of Service", "contact_admin": "Contact the administrators", - "contact_adminHint": "For any issues related to your account, storage limit, or availability of their service.", + "contact_adminHint": "For any issues related to your account, storage limit, or availability of the service.\n", "contact_dev": "Contact the developers", "contact_devHint": "For feature requests, usability improvements, or to say thank you.", "contact_bug": "Bug report", @@ -1144,7 +1144,7 @@ "pricing": "Pricing", "homePage": "Home page", "features_noData": "No personal information required", - "features_pricing": "Between {0} and {2}€ per month", + "features_pricing": "{0} to {2}€ per month", "features_emailRequired": "Email address required", "owner_removeText": "Owners", "owner_removePendingText": "Pending", @@ -1507,5 +1507,25 @@ "admin_support_last": "Updated on: ", "access_offline": "You are currently offline. Access management is not available.", "share_noContactsOffline": "You are currently offline. Contacts are not available.", - "offlineError": "Unable to synchronize the most recent data, this page cannot be displayed at this time. Loading will continue when your connection to the service is restored." + "offlineError": "Unable to synchronize the most recent data, this page cannot be displayed at this time. Loading will continue when your connection to the service is restored.", + "home_privacy_title": "Private by design", + "home_privacy_text": "CryptPad is built to enable collaboration while keeping data private. All content is encrypted and decrypted by your browser. This means documents, chats, and files are unreadable outside of the session where you are logged in. Even the service administrators do not have access to your information.", + "home_host_title": "About this instance", + "home_opensource_title": "Open Source", + "home_opensource": "Anyone can host CryptPad and offer the service in a personal or professional capacity. The source code is available on Github.", + "home_support_title": "Support CryptPad", + "home_support": "

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.

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 non-financial ways to contribute.

", + "register_notes_title": "Important notes", + "register_notes": "
  • Your password is the secret key that encrypts all of your documents. If you lose it there is no way we can recover your data.
  • If you are using a shared computer, remember to log out when you are done. Only closing the browser window leaves your account exposed.
  • To keep the documents you created and/or stored without being logged in, tick \"Import documents from your anonymous session\".
", + "register_warning_note": "Due to the encrypted nature of CrytpPad, 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": "

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.

", + "whatis_apps": "A full suite of applications", + "whatis_apps_info": "

CryptPad provides a full-fledged office suite with all the tools necessary for productive collaboration. Applications include: Rich Text, Spreadsheets, Code/Markdown, Kanban, Slides, Whiteboard and Polls.

The applications are complemented by a set of collaboration features such as chat, contacts, color by author (code/markdown), and comments with mentions (rich text).

", + "whatis_drive_info": "

Store and manage documents with CryptDrive. Create folders, shared folders, and tags to organize documents. Upload and share files (PDFs, photos, video, audio, etc.). Team drives are shared between users and allow for collaborative organization and fine-grained access controls.

", + "whatis_model": "Business model", + "whatis_model_info": "

CryptPad has been supported since 2016 by French and European research grants such as BPI France, NLNet Foundation, NGI Trust, Mozilla Open Source Support, as well as donations and subscriptions to cryptpad.fr. We believe that public money should fund public code, so the service is fully open source. This means anyone can use, host, and modify the software.

CryptPad does not profit from user data. 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, CryptPad aims to build a sustainable model funded willingly by users.

We offer CryptPad's functionality for free because we believe everyone deserves personal privacy, not just people with disposable income. If you are in a position to support the project, you will contribute new features, improvements and maintenance that benefit all users.

Now that the feasibility of the project has been established, the next goal is to make it financially sustainable through user funding. If you would like to support CryptPad and help make it a sustainable alternative to the big platforms, please consider making a one-time or recurring donation.

", + "whatis_xwiki": "Made at XWiki", + "whatis_xwiki_info": "

CryptPad is made at XWiki, a company based in Paris, France that has been making open-source software for over 15 years. We have extensive experience making collaborative software to organise information. Our track record shows we are committed to the long-term development and maintenance of CryptPad.

", + "creation_expiresIn": "Expires in", + "creation_helperText": "Open in documentation" } From 5cc88c992de27985c7ec33adbc3cd89dd63556fc Mon Sep 17 00:00:00 2001 From: Weblate Date: Mon, 18 Jan 2021 18:05:53 +0100 Subject: [PATCH 04/12] Translated using Weblate (German) Currently translated at 96.0% (1374 of 1431 strings) Translation: CryptPad/App Translate-URL: http://weblate.cryptpad.fr/projects/cryptpad/app/de/ --- www/common/translations/messages.de.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/www/common/translations/messages.de.json b/www/common/translations/messages.de.json index 92e693efb..e27b6f123 100644 --- a/www/common/translations/messages.de.json +++ b/www/common/translations/messages.de.json @@ -1507,5 +1507,5 @@ "admin_support_premium": "Premium-Tickets:", "access_offline": "Du bist offline. Verwaltung von Zugriffsrechten ist nicht verfügbar.", "share_noContactsOffline": "Du bist offline. Kontakte sind nicht verfügbar.", - "offlineError": "OFFLINE-MODUS NICHT VERFÜGBAR" + "offlineError": "Die Seite kann nicht geladen werden, da die letzten Daten nicht synchronisiert werden konnten. Das Laden wird fortgesetzt, wenn die Verbindung wiederhergestellt ist." } From 9df9ec41489dea81b809b342ff13e743aff72684 Mon Sep 17 00:00:00 2001 From: Weblate Date: Mon, 18 Jan 2021 20:26:20 +0100 Subject: [PATCH 05/12] Translated using Weblate (German) Currently translated at 98.4% (1409 of 1431 strings) Translation: CryptPad/App Translate-URL: http://weblate.cryptpad.fr/projects/cryptpad/app/de/ Translated using Weblate (German) Currently translated at 98.3% (1408 of 1431 strings) Translation: CryptPad/App Translate-URL: http://weblate.cryptpad.fr/projects/cryptpad/app/de/ --- www/common/translations/messages.de.json | 64 +++++++++++++----------- 1 file changed, 34 insertions(+), 30 deletions(-) diff --git a/www/common/translations/messages.de.json b/www/common/translations/messages.de.json index e27b6f123..24740504c 100644 --- a/www/common/translations/messages.de.json +++ b/www/common/translations/messages.de.json @@ -406,18 +406,18 @@ "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": "Die Pads aus deiner anonymen Sitzung importieren", + "register_importRecent": "Dokumente aus deiner nicht-registrierten Sitzung importieren", "register_acceptTerms": "Ich bin mit den Nutzungsbedingungen einverstanden", "register_passwordsDontMatch": "Passwörter stimmen nicht überein!", "register_passwordTooShort": "Passwörter müssen mindestens {0} Zeichen haben.", "register_mustAcceptTerms": "Du musst mit den Nutzungsbedingungen einverstanden sein.", "register_mustRememberPass": "Wir können dein Passwort nicht zurücksetzen, falls du es vergisst. Es ist sehr wichtig, dass du es dir merkst! Bitte markiere das Kästchen, um dies zu bestätigen.", "register_whyRegister": "Wieso solltest du dich registrieren?", - "register_header": "Willkommen zu CryptPad", + "register_header": "Registrieren", "register_explanation": "

Lass uns ein paar Punkte überprüfen:

  • Dein Passwort ist dein Geheimnis, um alle deine Dokumente zu verschlüsseln. Wenn du es verlierst, können deine Daten nicht wiederhergestellt werden.
  • Du kannst die Pads, die du zuletzt angesehen hast, importieren. Sie sind dann in deinem CryptDrive.
  • Wenn du den Rechner mit anderen teilst, musst du dich ausloggen, wenn du fertig bist. Es ist nicht ausreichend, das Browserfenster oder den Browser zu schließen.
", "register_writtenPassword": "Ich habe meinen Benutzername und mein Passwort notiert. Weiter geht's", - "register_cancel": "Zurück", - "register_warning": "\"Ohne Preisgabe von Daten\" bedeutet, dass niemand deine Daten wiederherstellen kann, wenn du dein Passwort verlierst.", + "register_cancel": "Abbrechen", + "register_warning": " Warnung", "register_alreadyRegistered": "Dieser Benutzer existiert bereits, möchtest du dich einloggen?", "settings_cat_account": "Account", "settings_cat_drive": "CryptDrive", @@ -586,7 +586,7 @@ "mdToolbar_check": "Aufgabenliste", "mdToolbar_code": "Code", "home_product": "CryptPad ist eine Alternative mit eingebautem Datenschutz zu verbreiteten Office- und Clouddiensten. Mit CryptPad wird der gesamte Inhalt verschlüsselt, bevor er an den Server gesendet wird. Das bedeutet, dass keiner auf den Inhalt zugreifen kann, es sei denn du gibst die Schlüssel weiter. Selbst wir haben diesen Zugriff nicht.", - "home_host": "Dies ist eine unabhängige Installation der CrypPad-Software. Der Quellcode ist auf GitHub verfügbar.", + "home_host": "Dies ist eine unabhängige Installation der CrypPad-Software.", "home_host_agpl": "CryptPad kann unter der Lizenz AGPL3 verbreitet werden", "home_ngi": "Gewinner beim NGI Award", "about_intro": "CryptPad wurde erstellt im Forschungsteam von XWiki SAS, einem kleinen Unternehmen in Paris (Frankreich) und Iasi (Rumänien). Im Kernteam arbeiten 3 Mitglieder an CryptPad, außerdem gibt es einige Mitwirkende innerhalb und außerhalb von XWiki SAS.", @@ -604,8 +604,8 @@ "terms": "Nutzungsbedingungen", "blog": "Blog", "topbar_whatIsCryptpad": "Was ist CryptPad", - "whatis_title": "Was ist CryptPad", - "whatis_collaboration": "Effektive und leichte Zusammenarbeit", + "whatis_title": "Was ist CryptPad?", + "whatis_collaboration": "Vertrauliche Zusammenarbeit", "whatis_collaboration_p1": "Mit CryptPad kannst du kollaborative Dokumente erstellen, um Notizen und Ideen gemeinsam zu bearbeiten. Wenn du dich registrierst und einloggst, bekommst du die Möglichkeit, Dateien hochzuladen und Ordner einzurichten, um alle deine Dokumente zu organisieren. Als registrierter Nutzer erhältst du kostenlos 50 MB Speicherplatz.", "whatis_collaboration_p2": "Du kannst den Zugang zu einem CryptPad-Dokument teilen, indem du einfach den entsprechenden Link teilst. Du kannst auch einen schreibgeschützten Zugang erstellen, um die Ergebnisse deiner Arbeit zu teilen, während du sie noch bearbeitest.", "whatis_collaboration_p3": "Du kannst Rich-Text Dokumente mit dem CKEditor erstellen. Außerdem kannst du Markdown-Dokumente erstellen, die in Echtzeit formatiert angezeigt werden, während du tippst. Du kannst auch die Umfrage-Anwendung verwenden, um Termine unter mehrere Teilnehmern zu abzustimmen.", @@ -640,43 +640,43 @@ "features": "Funktionen", "features_title": "Vergleich der Funktionen", "features_feature": "Funktion", - "features_anon": "Anonymer Benutzer", - "features_registered": "Angemeldete Benutzer", - "features_premium": "Premium-Benutzer", + "features_anon": "Nicht-registriert", + "features_registered": "Registriert", + "features_premium": "Premium", "features_notes": "Hinweise", - "features_f_apps": "Zugang zu den wichtigsten Anwendungen", - "features_f_core": "Gemeinsame Funktionen der Anwendungen", + "features_f_apps": "Zugang zu allen Anwendungen", + "features_f_core": "Gemeinsame Funktionen", "features_f_core_note": "Bearbeiten, Importieren & Exportieren, Verlauf, Benutzerliste, Chat", - "features_f_file0": "Dateien öffnen", - "features_f_file0_note": "Von anderen geteilte Dateien ansehen und herunterladen", + "features_f_file0": "Dokumente öffnen", + "features_f_file0_note": "Von anderen geteilte Dokumente ansehen und herunterladen", "features_f_cryptdrive0": "Begrenzter Zugang zu CryptDrive", "features_f_cryptdrive0_note": "Du kannst besuchte Dokumente in deinem Browser speichern, damit du sie später öffnen kannst", "features_f_storage0": "Speicherung für eine begrenzte Zeit", - "features_f_storage0_note": "Neue Dokumente könnten nach drei Monaten ohne Aktivität gelöscht werden", + "features_f_storage0_note": "Dokumente werden nach {0} Tagen ohne Aktivität gelöscht", "features_f_anon": "Alle Funktionen für anonyme Benutzer", - "features_f_anon_note": "Mit einer besseren Benutzbarkeit und mehr Kontrolle über deine Dokumente", + "features_f_anon_note": "Mit zusätzlichen Funktionen", "features_f_cryptdrive1": "Alle Funktionen des CryptDrives", "features_f_cryptdrive1_note": "Ordner, geteilte Ordner, Vorlagen, Tags", "features_f_devices": "Deine Dokumente auf allen deinen Geräten", "features_f_devices_note": "Überall Zugang zu deinem CryptDrive mit deinem Benutzer-Account", - "features_f_social": "Soziale Anwendungen", + "features_f_social": "Soziale Funktionen", "features_f_social_note": "Ein Profil erstellen, ein Profilbild verwenden, mit Kontakten chatten", "features_f_file1": "Dateien hochladen und teilen", "features_f_file1_note": "Dateien mit Kontakten teilen oder sie in Dokumenten einbetten", - "features_f_storage1": "Langfristige Speicherung (50 MB)", - "features_f_storage1_note": "Dateien in deinem CryptDrive werden nicht wegen Inaktivität gelöscht", + "features_f_storage1": "Persönlicher Speicherplatz ({0} GB)", + "features_f_storage1_note": "Dokumente in deinem CryptDrive werden nicht wegen Inaktivität gelöscht", "features_f_register": "Registrieren (kostenlos)", "features_f_register_note": "Keine E-Mail-Adresse oder persönliche Informationen notwendig", "features_f_reg": "Alle Funktionen für angemeldete Benutzer", - "features_f_reg_note": "Du unterstützt die Entwicklung von CryptPad", + "features_f_reg_note": "Mit zusätzlichen Vorteilen", "features_f_storage2": "Mehr Speicherplatz", - "features_f_storage2_note": "Zwischen 5 GB und 50 GB, abhängig vom gewählten Tarif", + "features_f_storage2_note": "Zwischen 5 GB und 50 GB abhängig vom gewählten Tarif, erhöhte Begrenzung von {0} für Dateiuploads", "features_f_support": "Schnellerer Support", "features_f_support_note": "Professioneller Support via E-Mail mit dem Team-Tarif", "features_f_supporter": "Werde ein Unterstützer des Datenschutzes", "features_f_supporter_note": "Hilf uns beweisen, dass Software mit eingebauten Datenschutz die Normalität sein sollte", - "features_f_subscribe": "Premium kaufen", - "features_f_subscribe_note": "Du muss zuerst in CryptPad eingeloggt sein", + "features_f_subscribe": "Abonnieren", + "features_f_subscribe_note": "Zum Abonnieren ist ein registrierter Account erforderlich", "faq_link": "FAQ", "faq_title": "Häufige Fragen", "faq_whatis": "Was ist CryptPad?", @@ -830,7 +830,7 @@ "help": { "title": "Mit CryptPad anfangen", "generic": { - "more": "Erfahre mehr über die Nutzung von CryptPad, indem du unsere FAQ liest.", + "more": "Erfahre mehr über die Nutzung von CryptPad, indem du unsere Documentation liest.", "share": "Teile dieses Dokument mit der Schaltfläche Teilen und verwalte die Zugriffsrechte mit Zugriff.", "save": "Alle Änderungen werden automatisch synchronisiert. Du musst sie also nicht selbst speichern" }, @@ -914,7 +914,7 @@ "creation_owned": "Eigenes Pad", "creation_ownedTrue": "Eigenes Pad", "creation_ownedFalse": "Offenes Pad", - "creation_owned1": "Ein eigenes Pad kann vom Server gelöscht werden, wenn der Eigentümer so entscheidet. Die Löschung eines eigenen Pads bewirkt die Löschung aus allen anderen CryptDrives.", + "creation_owned1": "Ein eigenes Element kann zerstört werden, wann immer der Eigentümer so entscheidet. Die Zerstörung eines eigenen Elementes bewirkt die Löschung aus allen anderen CryptDrives.", "creation_owned2": "Ein offenes Pad hat keinen Eigentümer. Es kann also nicht vom Server gelöscht werden, es sei denn es hat sein Ablaufdatum erreicht.", "creation_expireTitle": "Ablaufdatum", "creation_expire": "Auslaufendes Pad", @@ -925,7 +925,7 @@ "creation_expireMonths": "Monat(e)", "creation_expire1": "Ein unbegrenztes Pad wird nicht vom Server entfernt, solange der Eigentümer es nicht löscht.", "creation_expire2": "Ein auslaufendes Pad hat eine begrenzte Lebensdauer, nach der es automatisch vom Server und aus den CryptDrives anderer Nutzer entfernt wird.", - "creation_password": "Passwort hinzufügen", + "creation_password": "Passwort\n", "creation_noTemplate": "Keine Vorlage", "creation_newTemplate": "Neue Vorlage", "creation_create": "Erstellen", @@ -1025,12 +1025,12 @@ "admin_flushCacheButton": "Cache leeren", "admin_flushCacheDone": "Cache erfolgreich geleert", "footer_product": "Produkt", - "footer_team": "Das Team", + "footer_team": "Mitwirkende", "footer_donate": "Spenden", "footer_legal": "Rechtliches", "footer_tos": "Nutzungsbedingungen", "contact_admin": "Administratoren kontaktieren", - "contact_adminHint": "Für Probleme mit deinem Account, der Speicherbegrenzung oder der Verfügbarkeit des Dienstes.", + "contact_adminHint": "Für Probleme mit deinem Account, der Speicherbegrenzung oder der Verfügbarkeit des Dienstes.\n", "contact_dev": "Entwickler kontaktieren", "contact_devHint": "Für Verbesserungsvorschläge oder zum Danke-Sagen.", "contact_bug": "Fehlerbericht", @@ -1133,7 +1133,7 @@ "pricing": "Preise und Konditionen", "homePage": "Hauptseite", "features_noData": "Keine persönlichen Informationen benötigt", - "features_pricing": "Zwischen {0} und {2} € pro Monat", + "features_pricing": "{0} € bis {2} € pro Monat", "features_emailRequired": "E-Mail-Adresse benötigt", "padNotPinnedVariable": "Dieses Pad wird nach {4} Tagen ohne Aktivität auslaufen, {0}logge dich ein{1} oder {2}registriere dich{3}, um das Auslaufen zu verhindern.", "register_emailWarning0": "Anscheinend hast du deine E-Mail-Adresse als Benutzername angegeben.", @@ -1507,5 +1507,9 @@ "admin_support_premium": "Premium-Tickets:", "access_offline": "Du bist offline. Verwaltung von Zugriffsrechten ist nicht verfügbar.", "share_noContactsOffline": "Du bist offline. Kontakte sind nicht verfügbar.", - "offlineError": "Die Seite kann nicht geladen werden, da die letzten Daten nicht synchronisiert werden konnten. Das Laden wird fortgesetzt, wenn die Verbindung wiederhergestellt ist." + "offlineError": "Die Seite kann nicht angezeigt werden, da die aktuellen Daten nicht synchronisiert werden konnten. Das Laden wird fortgesetzt, wenn die Verbindung wiederhergestellt ist.", + "creation_expiresIn": "Läuft ab in", + "whatis_model": "Geschäftsmodell", + "register_notes_title": "Wichtige Hinweise", + "home_host_title": "Über diese Instanz" } From f084e94073f964bf0a09749cde26399e1170b8aa Mon Sep 17 00:00:00 2001 From: ansuz Date: Tue, 19 Jan 2021 04:00:32 +0530 Subject: [PATCH 06/12] refactor features page a bit --- customize.dist/pages/features.js | 85 +++++++++++++++++++------------- 1 file changed, 50 insertions(+), 35 deletions(-) diff --git a/customize.dist/pages/features.js b/customize.dist/pages/features.js index a00595adf..4a4950d94 100644 --- a/customize.dist/pages/features.js +++ b/customize.dist/pages/features.js @@ -67,6 +67,53 @@ define([ rel: 'noopener noreferrer' }, h('button.cp-features-register-button', Msg.features_f_subscribe)); + var groupItemTemplate = function (title, content) { + return h('li.list-group-item', [ + h('div.cp-check'), + h('div.cp-content', [ + h('div.cp-feature', title), + h('div.cp-note', content), + ]) + ]); + }; + + var defaultGroupItem = function (key) { + return groupItemTemplate( + Msg['features_f_' + key], + Msg['features_f_' + key + '_note'] + ); + }; + + var SPECIAL_GROUP_ITEMS = {}; + SPECIAL_GROUP_ITEMS.storage0 = function (f) { + return groupItemTemplate( + Msg['features_f_' + f], + Msg._getKey('features_f_' + f + '_note', [Config.inactiveTime]) + ); + }; + SPECIAL_GROUP_ITEMS.file1 = function (f) { + return groupItemTemplate( + Msg['features_f_' + f], + Msg._getKey('features_f_' + f + '_note', [Config.maxUploadSize / 1024 / 1024]) + ); + }; + SPECIAL_GROUP_ITEMS.storage1 = function (f) { + return groupItemTemplate( + Msg._getKey('features_f_' + f, [Config.defaultStorageLimit / 1024 / 1024]), + Msg['features_f_' + f + '_note'] + ); + }; + SPECIAL_GROUP_ITEMS.storage2 = function (f) { + return groupItemTemplate( + Msg['features_f_' + f], + Msg._getKey('features_f_' + f + '_note', [Config.premiumUploadSize / 1024 / 1024]) + ); + }; + + var groupItem = function (key) { + return (SPECIAL_GROUP_ITEMS[key] || defaultGroupItem)(key); + }; + var anonymousFeatures = h('div.col-12.col-sm-4.cp-anon-user',[ h('div.card',[ @@ -77,17 +124,7 @@ define([ h('div.text-center', '0€'), h('div.text-center', Msg.features_noData), ]), - h('ul.list-group.list-group-flush', - ['apps', 'file0', 'core', 'cryptdrive0', 'storage0'].map(function (f) { - return h('li.list-group-item', [ - h('div.cp-check'), - h('div.cp-content', [ - h('div.cp-feature', Msg['features_f_' + f]), - h('div.cp-note', Msg._getKey('features_f_' + f + '_note', [Config.inactiveTime])) - ]) - ]); - }) - ), + h('ul.list-group.list-group-flush', ['apps', 'file0', 'core', 'cryptdrive0', 'storage0'].map(groupItem)), ]), ]); @@ -101,17 +138,7 @@ define([ h('div.text-center', '0€'), h('div.text-center', Msg.features_noData), ]), - h('ul.list-group.list-group-flush', [ - ['anon', 'social', 'file1', 'cryptdrive1', 'devices', 'storage1'].map(function (f) { - return h('li.list-group-item', [ - h('div.cp-check'), - h('div.cp-content', [ - h('div.cp-feature', Msg._getKey('features_f_' + f, [Config.defaultStorageLimit / 1024 / 1024])), - h('div.cp-note', Msg._getKey('features_f_' + f + '_note', [Config.maxUploadSize / 1024 / 1024])) - ]) - ]); - }), - ]), + h('ul.list-group.list-group-flush', ['anon', 'social', 'file1', 'cryptdrive1', 'devices', 'storage1'].map(groupItem)), h('div.card-body',[ h('div.cp-features-register#cp-features-register', [ h('a', { @@ -134,19 +161,7 @@ define([ }, Msg._getKey('features_pricing', ['5', '10', '15']))), h('div.text-center', Msg.features_emailRequired), ]), - h('ul.list-group.list-group-flush', [ - ['reg', 'storage2', 'support', 'supporter'].map(function (f) { - console.log('features_f_' + f); - console.log('features_f_' + f + '_note'); - return h('li.list-group-item', [ - h('div.cp-check'), - h('div.cp-content', [ - h('div.cp-feature', Msg['features_f_' + f]), - h('div.cp-note', Msg._getKey('features_f_' + f + '_note', [Config.premiumUploadSize / 1024 / 1024])) - ]) - ]); - }), - ]), + h('ul.list-group.list-group-flush', ['reg', 'storage2', 'support', 'supporter'].map(groupItem)), h('div.card-body',[ h('div.cp-features-register#cp-features-subscribe', [ premiumButton From c0a26e82b7b2ed01cc43c0a041f17101c8d9f34e Mon Sep 17 00:00:00 2001 From: ansuz Date: Tue, 19 Jan 2021 15:32:17 +0530 Subject: [PATCH 07/12] remove many XXX notes and hardcoded translations --- customize.dist/pages.js | 19 ++++++++++ customize.dist/pages/contact.js | 4 -- customize.dist/pages/features.js | 47 +----------------------- customize.dist/pages/index.js | 27 +------------- customize.dist/pages/register.js | 6 --- customize.dist/pages/what-is-cryptpad.js | 21 +++-------- www/common/common-ui-elements.js | 15 +------- www/register/main.js | 5 --- 8 files changed, 29 insertions(+), 115 deletions(-) diff --git a/customize.dist/pages.js b/customize.dist/pages.js index d5ea5fbf4..153eccd39 100644 --- a/customize.dist/pages.js +++ b/customize.dist/pages.js @@ -165,5 +165,24 @@ define([ ); }; + Pages.crowdfundingButton = function (onClick) { + var _link = h('a', { + href: "https://opencollective.com/cryptpad/", + target: '_blank', + rel: 'noopener', + }); + + var crowdFunding = h('button', [ + Msg.crowdfunding_button + ]); + + $(crowdFunding).click(function () { + _link.click(); + if (typeof(onClick) === 'function') { onClick(); } + }); + + return crowdFunding; + }; + return Pages; }); diff --git a/customize.dist/pages/contact.js b/customize.dist/pages/contact.js index 19fab881c..b5454f3c6 100644 --- a/customize.dist/pages/contact.js +++ b/customize.dist/pages/contact.js @@ -6,10 +6,6 @@ define([ '/common/outer/local-store.js' ], function (Config, h, Msg, Pages, LocalStore) { - // XXX translations - Msg.contact_adminHint = "For any issues related to your account, storage limit, or availability of the service."; // existing key - - return function () { var adminEmail = Config.adminEmail && Config.adminEmail !== 'i.did.not.read.my.config@cryptpad.fr'; var adminMailbox = Config.supportMailbox; diff --git a/customize.dist/pages/features.js b/customize.dist/pages/features.js index 4a4950d94..839c6a4a3 100644 --- a/customize.dist/pages/features.js +++ b/customize.dist/pages/features.js @@ -10,53 +10,10 @@ define([ var origin = encodeURIComponent(window.location.hostname); var accounts = { donateURL: AppConfig.donateURL || "https://opencollective.com/cryptpad/", - upgradeURL: AppConfig.upgradeURL || 'https://accounts.cryptpad.fr/#/?on=' + origin, + upgradeURL: AppConfig.upgradeURL || 'https://accounts.cryptpad.fr/#/?on=' + origin, // XXX }; - // XXX translations - Msg.features_title = "Features"; - return function () { - // Non-registered column - Msg.features_anon = "Non-registered"; - Msg.features_f_apps = "Access to all the applications"; - // Msg.features_f_apps_note = ""; - Msg.features_f_core = "Common features"; - // Msg.features_f_core_note = ""; - Msg.features_f_file0 = "Open documents"; - Msg.features_f_file0_note = "View and download documents shared by other users"; - // Msg.features_f_cryptdrive0 = ""; - // Msg.features_f_cryptdrive0_note = ""; - // Msg.features_f_storage0 = ""; - Msg.features_f_storage0_note = "Documents are deleted after {0} days of inactivity"; - // Registered column - Msg.features_registered = "Registered"; // - // Msg.features_f_anon = ""; - Msg.features_f_anon_note = "With additional functionality"; - Msg.features_f_social = "Social Features"; - Msg.features_f_social_note = "Add contacts for secure collaboration, create a profile, fine-grained access controls"; - // Msg.features_f_file1 = ""; - Msg.features_f_file1_note = "Store files in your CryptDrive: images, PDFs, videos, and more. Share them with your contacts or embed them in your documents. (up to {0}MB)"; - // Msg.features_f_cryptdrive1 = ""; - // Msg.features_f_cryptdrive1_note = ""; - // Msg.features_f_devices = ""; - // Msg.features_f_devices_note = ""; - Msg.features_f_storage1 = "Permanent Storage ({0}GB)"; - Msg.features_f_storage1_note = "Documents stored in your CryptDrive are never deleted for inactivity"; - // Premium column - Msg.features_premium = "Premium"; - Msg.features_pricing = "{0} to {2}€ per month"; - // Msg.features_f_reg = "" - Msg.features_f_reg_note = "With additional benefits"; - // Msg.features_f_storage2 = "" - Msg.features_f_storage2_note = "From 5GB to 50GB depending on the plan. Increased limit of {0}MB for file uploads."; - // Msg.features_f_support = "" - Msg.features_f_support_note = "Priority response from the administration team via email and built in ticket system."; - Msg.features_f_supporter = "Support privacy"; - Msg.features_f_supporter_note = "Help CryptPad financially sustainable and show that privacy-enhancing software willingly funded by users should be the norm"; - Msg.features_f_subscribe = "Subscribe"; - Msg.features_f_subscribe_note = "Registered account needed to subscribe"; - Msg.features_f_apps_note = AppConfig.availablePadTypes.map(function (app) { if (AppConfig.registeredOnlyTypes.indexOf(app) !== -1) { return; } return Msg.type[app]; @@ -164,7 +121,7 @@ define([ h('ul.list-group.list-group-flush', ['reg', 'storage2', 'support', 'supporter'].map(groupItem)), h('div.card-body',[ h('div.cp-features-register#cp-features-subscribe', [ - premiumButton + premiumButton // XXX ]), LocalStore.isLoggedIn() ? undefined : h('div.cp-note', Msg.features_f_subscribe_note) ]), diff --git a/customize.dist/pages/index.js b/customize.dist/pages/index.js index 687624db5..dc100c554 100644 --- a/customize.dist/pages/index.js +++ b/customize.dist/pages/index.js @@ -72,33 +72,10 @@ define([ }); UI.addTooltips(); - - // XXX move this button to pages.js to make it available to other pages - var _link = h('a', { - href: "https://opencollective.com/cryptpad/", - target: '_blank', - rel: 'noopener', - }); - - var crowdFunding = h('button', [ - Msg.crowdfunding_button - ]); - - $(crowdFunding).click(function () { - _link.click(); + var crowdFunding = Pages.crowdfundingButton(function () { Feedback.send('HOME_SUPPORT_CRYPTPAD'); }); - // XXX translations - Msg.home_privacy_title = "Private by design"; - Msg.home_privacy_text = "CryptPad is built to enable collaboration while keeping data private. All information including documents, chats, and files is encrypted and decrypted by your browser. This means nothing is readable outside of the session where you are logged in. Even the service administrators do not have access to your information."; - Msg.home_host_title = "About this instance"; - Msg.home_host = "This is an independent community instance of CryptPad."; // existing key - Msg.home_opensource_title = "Open Source"; - Msg.home_opensource = 'Anyone can host CryptPad and offer the service in a personal or professional capacity. The source code is available on Github.'; - Msg.home_support_title = "Support CryptPad"; - Msg.home_support = "

CryptPad does not profit from user's data. This is part of a vision for online services that respect privacy. Instead of pretending to be \"free\" like the big platforms, CryptPad aims to build a sustainable model: funded willingly by users instead of making profits from personal information.

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 non-financial ways to contribute.

"; - var blocks = [ h('div.row.cp-index-section', [ h('div.col-sm-6', @@ -136,8 +113,6 @@ define([ ]) ]; - // XXX translation - Msg.main_catch_phrase = "Collaboration suite,
encrypted and open-source"; return [ h('div#cp-main', [ Pages.infopageTopbar(), diff --git a/customize.dist/pages/register.js b/customize.dist/pages/register.js index 6f2b21020..c9e28bed4 100644 --- a/customize.dist/pages/register.js +++ b/customize.dist/pages/register.js @@ -9,12 +9,6 @@ define([ return function () { var urlArgs = Config.requireConf.urlArgs; - // XXX translations - Msg.register_header = "Register"; // existing key - Msg.register_notes_title = "Important notes"; - Msg.register_notes = '
  • Your password is your secret key which encrypts all of your pads. If you lose it there is no way we can recover your data.
  • If you are using a shared computer, remember to log out when you are done. Only closing the browser window leaves your documents exposed.
  • To keep the documents you created and/or stored without being logged in, tick "Import documents from your anonymous session".
'; - Msg.register_importRecent = "Import documents from your anonymous session"; // existing key - return [h('div#cp-main', [ Pages.infopageTopbar(), h('div.container.cp-container', [ diff --git a/customize.dist/pages/what-is-cryptpad.js b/customize.dist/pages/what-is-cryptpad.js index e5d6c689b..4fb0677d4 100644 --- a/customize.dist/pages/what-is-cryptpad.js +++ b/customize.dist/pages/what-is-cryptpad.js @@ -2,20 +2,11 @@ define([ '/api/config', '/common/hyperscript.js', '/customize/messages.js', - '/customize/pages.js' -], function (Config, h, Msg, Pages) { + '/customize/pages.js', + '/common/common-feedback.js', +], function (Config, h, Msg, Pages, Feedback) { var urlArgs = Config.requireConf.urlArgs; - // XXX translations - Msg.whatis_collaboration = "Private Collaboration"; // existing key - Msg.whatis_collaboration_info = '

CryptPad is built to enable collaboration, synchronizing in real time between users editing the same document, but has no access to the content of the document or data about users. Because all data is encrypted, the service and its administrators have no way of seeing the content being edited and stored.

Collaborating in real time on online documents is now a common thing. A range of well known internet platforms offer this service. In order to enable collaboration, these services synchronize changes between all users. In the process they gain access to the content of the document and to data about the behaviour of users. While these services are often advertised as "free", platforms monetise user data by using it to profile users and selling advertising.

'; - Msg.whatis_apps = "A full suite of applications"; - Msg.whatis_apps_info = "

CryptPad provides a full-fledged office suite, with all the tools necessary for productive collaboration. Applications include: Rich Text, Spreadsheets, Code/Markdown, Kanban, Slides, Whiteboard and Polls.

A secure chat is available in each document for secure communication, [continue ...]

"; - Msg.whatis_drive_info = "

Manage documents with CryptDrive. Create folders, shared folders, tags, [continue ...]

"; - Msg.whatis_model = "Business model"; - Msg.whatis_model_info = "

CryptPad is open source [continue ...]

CryptPad does not profit from its users data. This is because being fully encrypted it does not gather any useful data that could be sold to profile users. This lack of data is a feature, not a bug, it is part of a vision for online services that respect users privacy. Instead of pretending to be \"free\" like the big platforms CryptPad aims to build a financially sustainable model: funded willingly by users instead of profiting form personal information.

Since 2016, CryptPad is supported by French and European research grants such as BPI France, NLNet Foundation, NGI Trust, Mozilla Open Source Support, as well as donations and subscriptions to the service. Now that the feasibility of the project has been established, the next goal is to make financially sustainable through user funding. If you would like to support CryptPad and help make it a sustainable alternative to the big platforms, please consider making a donation.

"; - Msg.whatis_xwiki = "Made at XWiki"; - Msg.whatis_xwiki_info = "

CryptPad is made at XWiki, a company based in Paris that has been making open-source software for over 15 years. [continue ...]

"; return function () { return h('div#cp-main', [ Pages.infopageTopbar(), @@ -66,9 +57,9 @@ define([ h('div.col-md-6.order-md-2', [ Pages.setHTML(h('h2'), Msg.whatis_model), Pages.setHTML(h('span'), Msg.whatis_model_info), - h('button', [ - Msg.crowdfunding_button // XXX not functional - ]) + Pages.crowdfundingButton(function () { + Feedback.send('WHATIS_SUPPORT_CRYPTPAD'); + }), // XXX add link to subscription here on cryptpad.fr ]), h('div.col-md-6.order-md-1.small-logos', [ diff --git a/www/common/common-ui-elements.js b/www/common/common-ui-elements.js index c0afeab10..7f080d9df 100644 --- a/www/common/common-ui-elements.js +++ b/www/common/common-ui-elements.js @@ -1531,9 +1531,6 @@ define([ var legalLine = template(Messages.info_imprintFlavour, Pages.imprintLink); var privacyLine = template(Messages.info_privacyFlavour, Pages.privacyLink); - // XXX translation - Messages.help.generic.more = "Learn more about how CryptPad can work for you by reading our Documentation."; - var faqLine = template(Messages.help.generic.more, Pages.docsLink); var content = h('div.cp-info-menu-container', [ @@ -2110,14 +2107,9 @@ define([ }; // Title - var colorClass = 'cp-icon-color-'+type; - colorClass = colorClass; // XXX - //$creation.append(h('h2.cp-creation-title', Messages.newButtonTitle)); var newPadH3Title = Messages['button_new' + type]; - // XXX translation - Messages.creation_helperText = "Learn more..."; var title = h('div.cp-creation-title', [ UI.getFileIcon({type: type})[0], h('div.cp-creation-title-text', [ @@ -2126,6 +2118,7 @@ define([ ]) ]); $creation.append(title); + //var colorClass = 'cp-icon-color-'+type; //$creation.append(h('h2.cp-creation-title.'+colorClass, Messages.newButtonTitle)); // Deleted pad warning @@ -2192,10 +2185,6 @@ define([ ]); // Life time - - // XXX translations - Messages.creation_expiration = "Expiration date"; - Messages.creation_expiresIn = "Expires in"; var expire = h('div.cp-creation-expire', [ UI.createCheckbox('cp-creation-expire', Messages.creation_expiration, false, { labelAlt: Messages.creation_expiresIn @@ -2219,8 +2208,6 @@ define([ ]); // Password - // XXX translation - Messages.creation_password = "Password"; var password = h('div.cp-creation-password', [ UI.createCheckbox('cp-creation-password', Messages.creation_password, false), h('span.cp-creation-password-picker.cp-creation-slider', [ diff --git a/www/register/main.js b/www/register/main.js index 2e112de74..95849e193 100644 --- a/www/register/main.js +++ b/www/register/main.js @@ -99,11 +99,6 @@ define([ return void UI.alert(Messages.register_mustAcceptTerms); } - // XXX translations - Messages.register_warning = " Warning"; // existing key - Messages.register_warning_note = "Due to the encrypted nature of CrytpPad even the the service administrators will not be able to recover data in case the username and/or password are forgotten. Please save them in a safe place."; - Messages.register_cancel = "Cancel"; // existing key - setTimeout(function () { UI.confirm("

" + Messages.register_warning + "

" + Messages.register_warning_note, function (yes) { From 8a2d7647deaa6e306c0641b7486a7247ba2cdf7e Mon Sep 17 00:00:00 2001 From: ansuz Date: Tue, 19 Jan 2021 15:41:49 +0530 Subject: [PATCH 08/12] remove XXX note --- customize.dist/pages/what-is-cryptpad.js | 1 - 1 file changed, 1 deletion(-) diff --git a/customize.dist/pages/what-is-cryptpad.js b/customize.dist/pages/what-is-cryptpad.js index 4fb0677d4..f9fed2f89 100644 --- a/customize.dist/pages/what-is-cryptpad.js +++ b/customize.dist/pages/what-is-cryptpad.js @@ -60,7 +60,6 @@ define([ Pages.crowdfundingButton(function () { Feedback.send('WHATIS_SUPPORT_CRYPTPAD'); }), - // XXX add link to subscription here on cryptpad.fr ]), h('div.col-md-6.order-md-1.small-logos', [ h('img', { From d04e069dca76c9478903ae27996ad1e9b149760a Mon Sep 17 00:00:00 2001 From: Weblate Date: Tue, 19 Jan 2021 11:23:17 +0100 Subject: [PATCH 09/12] Translated using Weblate (English) Currently translated at 100.0% (1432 of 1432 strings) Translation: CryptPad/App Translate-URL: http://weblate.cryptpad.fr/projects/cryptpad/app/en/ Translated using Weblate (English) Currently translated at 100.0% (1431 of 1431 strings) Translation: CryptPad/App Translate-URL: http://weblate.cryptpad.fr/projects/cryptpad/app/en/ Translated using Weblate (English) Currently translated at 99.9% (1430 of 1431 strings) Translation: CryptPad/App Translate-URL: http://weblate.cryptpad.fr/projects/cryptpad/app/en/ --- www/common/translations/messages.json | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/www/common/translations/messages.json b/www/common/translations/messages.json index 2d3866f6f..71c3992c5 100644 --- a/www/common/translations/messages.json +++ b/www/common/translations/messages.json @@ -618,7 +618,7 @@ "about_core": "Core Developers", "about_contributors": "Key Contributors", "main_info": "

Collaborate in Confidence

Grow your ideas together with shared documents while Zero Knowledge technology secures your privacy; even from us.", - "main_catch_phrase": "The Zero Knowledge Cloud", + "main_catch_phrase": "Collaboration suite,
encrypted and open-source", "main_footerText": "With CryptPad, you can make quick collaborative documents for taking notes and writing down ideas together.", "footer_applications": "Applications", "footer_contact": "Contact", @@ -663,7 +663,7 @@ "policy_choices_vpn": "If you want to use our hosted instance, but don't want to expose your IP address, you can protect your IP using the Tor browser bundle, or a VPN.", "policy_choices_ads": "If you just want to block our analytics platform, you can use adblocking tools like Privacy Badger.", "features": "Features", - "features_title": "Feature comparison", + "features_title": "Features", "features_feature": "Feature", "features_anon": "Non-registered", "features_registered": "Registered", @@ -939,7 +939,7 @@ "creation_owned": "Owned pad", "creation_ownedTrue": "Owned pad", "creation_ownedFalse": "Open pad", - "creation_owned1": "An owned item can be destroyed whenever the owner wants. Destroying an owned item removes it from other users' CryptDrives.", + "creation_owned1": "An owned item can be destroyed whenever the owner wants. Destroying an owned item makes it unavailable from other users' CryptDrives.", "creation_owned2": "An open pad doesn't have any owner and thus, it can't be deleted from the server unless it has reached its expiration time.", "creation_expireTitle": "Life time", "creation_expire": "Expiring pad", @@ -1527,5 +1527,6 @@ "whatis_xwiki": "Made at XWiki", "whatis_xwiki_info": "

CryptPad is made at XWiki, a company based in Paris, France that has been making open-source software for over 15 years. We have extensive experience making collaborative software to organise information. Our track record shows we are committed to the long-term development and maintenance of CryptPad.

", "creation_expiresIn": "Expires in", - "creation_helperText": "Open in documentation" + "creation_helperText": "Open in documentation", + "docs_link": "Documentation" } From 703d8275081b4dfaaf78af623b8d39ac4af309db Mon Sep 17 00:00:00 2001 From: Weblate Date: Tue, 19 Jan 2021 11:23:17 +0100 Subject: [PATCH 10/12] Translated using Weblate (French) Currently translated at 100.0% (1432 of 1432 strings) Translation: CryptPad/App Translate-URL: http://weblate.cryptpad.fr/projects/cryptpad/app/fr/ Translated using Weblate (French) Currently translated at 100.0% (1431 of 1431 strings) Translation: CryptPad/App Translate-URL: http://weblate.cryptpad.fr/projects/cryptpad/app/fr/ Translated using Weblate (French) Currently translated at 100.0% (1431 of 1431 strings) Translation: CryptPad/App Translate-URL: http://weblate.cryptpad.fr/projects/cryptpad/app/fr/ --- www/common/translations/messages.fr.json | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/www/common/translations/messages.fr.json b/www/common/translations/messages.fr.json index 6bff0d4d7..37c973a5a 100644 --- a/www/common/translations/messages.fr.json +++ b/www/common/translations/messages.fr.json @@ -600,7 +600,7 @@ "about_core": "Développeurs principaux", "about_contributors": "Contributeurs clés", "main_info": "

Collaborez avec confiance

Développez vos idées en groupe avec des documents partagés; la technologie Zero Knowledge sécurise vos données.", - "main_catch_phrase": "Le Cloud Zero Knowledge", + "main_catch_phrase": "Outils collaboratifs,
chiffrés et open source", "main_footerText": "Avec CryptPad, vous pouvez créer des documents collaboratifs rapidement pour prendre des notes à plusieurs.", "footer_applications": "Applications", "footer_contact": "Contact", @@ -645,13 +645,13 @@ "policy_choices_vpn": "Si vous souhaitez utiliser notre instance hébergée (cryptpad.fr) mais que vous ne souhaitez pas exposer votre adresse IP, vous pouvez la protéger en utilisant le navigateur Tor, ou un VPN.", "policy_choices_ads": "Si vous souhaitez uniquement bloquer notre plateforme d'analytique, vous pouvez utiliser un bloqueur de publicités tel que Privacy Badger.", "features": "Fonctionnalités", - "features_title": "Comparaison des fonctionnalités", + "features_title": "Fonctionnalités", "features_feature": "Fonctionnalité", "features_anon": "Non-enregistré", "features_registered": "Enregistré", "features_premium": "Premium", "features_notes": "Notes", - "features_f_apps": "Access to all the applications", + "features_f_apps": "Accès à toutes les applications", "features_f_core": "Fonctions communes", "features_f_core_note": "Édition, Export, Historique, Liste d'utilisateurs, Chat", "features_f_file0": "Ouverture de documents", @@ -921,7 +921,7 @@ "creation_owned": "Être propriétaire de ce pad", "creation_ownedTrue": "Être propriétaire", "creation_ownedFalse": "Pas de propriétaire", - "creation_owned1": "Être propriétaire d'un élément signifie que vous pouvez le détruire à tout moment. Une fois détruit, un élément disparaît du CryptDrive de tous les utilisateurs.", + "creation_owned1": "Être propriétaire d'un élément signifie que vous pouvez le détruire à tout moment. Une fois détruit, un élément devient inaccessible dans CryptDrive de tous les utilisateurs.", "creation_owned2": "Un pad sans propriétaire ne peut pas être supprimé du serveur à moins d'avoir dépassé son éventuelle date d'expiration.", "creation_expireTitle": "Durée de vie", "creation_expire": "Ajouter une durée de vie", @@ -1527,5 +1527,6 @@ "home_opensource_title": "Open Source", "home_host_title": "À propos de cette instance", "home_privacy_text": "CryptPad est conçu pour permettre la collaboration tout en préservant la confidentialité des données. Tout le contenu est chiffré et déchiffré par votre navigateur. Cela signifie que les documents, les chats et les fichiers sont illisibles en dehors de la session à laquelle vous êtes connecté. Même les administrateurs du service n'ont pas accès à vos informations.", - "home_privacy_title": "Protège votre vie privée" + "home_privacy_title": "Protège votre vie privée", + "docs_link": "Documentation" } From c51962f3f3f08adcb633d7afa557fc66b4faa7bf Mon Sep 17 00:00:00 2001 From: Weblate Date: Tue, 19 Jan 2021 11:23:17 +0100 Subject: [PATCH 11/12] Translated using Weblate (German) Currently translated at 99.3% (1423 of 1432 strings) Translation: CryptPad/App Translate-URL: http://weblate.cryptpad.fr/projects/cryptpad/app/de/ Translated using Weblate (German) Currently translated at 99.3% (1422 of 1432 strings) Translation: CryptPad/App Translate-URL: http://weblate.cryptpad.fr/projects/cryptpad/app/de/ Translated using Weblate (German) Currently translated at 99.1% (1419 of 1431 strings) Translation: CryptPad/App Translate-URL: http://weblate.cryptpad.fr/projects/cryptpad/app/de/ Translated using Weblate (German) Currently translated at 99.0% (1418 of 1431 strings) Translation: CryptPad/App Translate-URL: http://weblate.cryptpad.fr/projects/cryptpad/app/de/ Translated using Weblate (German) Currently translated at 98.9% (1416 of 1431 strings) Translation: CryptPad/App Translate-URL: http://weblate.cryptpad.fr/projects/cryptpad/app/de/ Translated using Weblate (German) Currently translated at 98.5% (1410 of 1431 strings) Translation: CryptPad/App Translate-URL: http://weblate.cryptpad.fr/projects/cryptpad/app/de/ --- www/common/translations/messages.de.json | 30 +++++++++++++++--------- 1 file changed, 19 insertions(+), 11 deletions(-) diff --git a/www/common/translations/messages.de.json b/www/common/translations/messages.de.json index 24740504c..17b241c80 100644 --- a/www/common/translations/messages.de.json +++ b/www/common/translations/messages.de.json @@ -593,13 +593,13 @@ "about_core": "Kernentwickler", "about_contributors": "Wichtige Mitwirkende", "main_info": "

Vertrauenswürdige Zusammenarbeit

Lass deine Ideen gemeinsam wachsen, während die Zero-Knowledge-Technologie den Schutz deiner Daten sogar uns gegenüber sichert.", - "main_catch_phrase": "Die Cloud ohne Preisgabe deiner Daten", + "main_catch_phrase": "Suite zur Zusammenarbeit,
verschlüsselt und Open-Source", "main_footerText": "Mit CryptPad kannst du schnell kollaborative Dokumente erstellen, um Notizen oder Ideen zusammen mit anderen zu bearbeiten.", "footer_applications": "Anwendungen", "footer_contact": "Kontakt", "footer_aboutUs": "Über uns", "about": "Über uns", - "privacy": "Datenschutz", + "privacy": "Datenschutzerklärung", "contact": "Kontakt", "terms": "Nutzungsbedingungen", "blog": "Blog", @@ -620,7 +620,7 @@ "whatis_business": "CryptPad im Business", "whatis_business_p1": "Die Zero-Knowledge-Verschlüsselung von CryptPad multipliziert die Effektivität existierender Sicherheitsprotokolle durch Spiegelung der Zugangskontrollen von Organisationen in Kryptografie. Weil sensible Daten nur mit den Zugangsdaten des Nutzers entschlüsselt werden können, ist CryptPad ein weniger lohnendes Ziel verglichen mit traditionellen Cloud-Diensten. Lies das CryptPad-Whitepaper, um mehr darüber zu erfahren, wie CryptPad deinem Unternehmen helfen kann.", "whatis_business_p2": "CryptPad kann auf eigenen Rechnern installiert werden. Entwickler der CryptPad-Software von XWiki SAS können kommerzielle Unterstützung, Anpassung und Entwicklung anbieten. Bitte schicke eine E-Mail an sales@cryptpad.fr, um mehr zu erfahren.", - "policy_title": "Datenschutzbestimmungen für CryptPad", + "policy_title": "Datenschutzerklärung für CryptPad", "policy_whatweknow": "Was wir über dich wissen", "policy_whatweknow_p1": "Als im Web gehostete Anwendung hat CryptPad Zugriff auf die Metadaten, die vom HTTP-Protokoll übertragen werden. Dies umfasst deine IP-Adresse und diverse andere HTTP-Header, die es ermöglichen, deinen Browser zu identifizieren. Um zu sehen, welche Daten dein Browser preisgibt, kannst du die Seite WhatIsMyBrowser.com besuchen.", "policy_whatweknow_p2": "Wir nutzen Kibana, eine Open-Source-Analyseplattform, um mehr über unsere Nutzer zu erfahren. Kibana teilt uns mit, wie du Cryptpad gefunden hast — durch direkten Zugriff, mit Hilfe einer Suchmaschine oder über einen Link auf einer anderen Seite wie beispielsweise Reddit oder Twitter.", @@ -638,7 +638,7 @@ "policy_choices_vpn": "Wenn du unsere gehostete Instanz nutzen möchtest, ohne deine IP-Adresse zu offenbaren, bitten wir dich darum, deine IP-Adresse zu verschleiern. Das ist zum Beispiel mit dem Tor Browser oder einem VPN-Zugang möglich.", "policy_choices_ads": "Wenn du unsere Analysesoftware blockieren möchtest, kannst du Blocker-Software wie Privacy Badger verwenden.", "features": "Funktionen", - "features_title": "Vergleich der Funktionen", + "features_title": "Funktionen", "features_feature": "Funktion", "features_anon": "Nicht-registriert", "features_registered": "Registriert", @@ -660,9 +660,9 @@ "features_f_devices": "Deine Dokumente auf allen deinen Geräten", "features_f_devices_note": "Überall Zugang zu deinem CryptDrive mit deinem Benutzer-Account", "features_f_social": "Soziale Funktionen", - "features_f_social_note": "Ein Profil erstellen, ein Profilbild verwenden, mit Kontakten chatten", + "features_f_social_note": "Kontakte für sichere Zusammenarbeit hinzufügen, ein Profil erstellen, detaillierte Zugriffskontrolle", "features_f_file1": "Dateien hochladen und teilen", - "features_f_file1_note": "Dateien mit Kontakten teilen oder sie in Dokumenten einbetten", + "features_f_file1_note": "Speichere Dateien in deinem CryptDrive: Bilder, PDFs, Videos und mehr. Teile sie mit deinen Kontakten oder bette sie in deine Dokumente ein. (Bis zu {0} MB)", "features_f_storage1": "Persönlicher Speicherplatz ({0} GB)", "features_f_storage1_note": "Dokumente in deinem CryptDrive werden nicht wegen Inaktivität gelöscht", "features_f_register": "Registrieren (kostenlos)", @@ -672,9 +672,9 @@ "features_f_storage2": "Mehr Speicherplatz", "features_f_storage2_note": "Zwischen 5 GB und 50 GB abhängig vom gewählten Tarif, erhöhte Begrenzung von {0} für Dateiuploads", "features_f_support": "Schnellerer Support", - "features_f_support_note": "Professioneller Support via E-Mail mit dem Team-Tarif", - "features_f_supporter": "Werde ein Unterstützer des Datenschutzes", - "features_f_supporter_note": "Hilf uns beweisen, dass Software mit eingebauten Datenschutz die Normalität sein sollte", + "features_f_support_note": "Vorrangige Unterstützung durch das Administrationsteam per E-Mail und eingebautem Ticketsystem", + "features_f_supporter": "Unterstützung der Privatsphäre", + "features_f_supporter_note": "Hilf CryptPad, finanziell nachhaltig zu werden und zeige, dass datenschutzfreundliche Software, die freiwillig von Anwendern finanziert wird, die Normalität sein sollte", "features_f_subscribe": "Abonnieren", "features_f_subscribe_note": "Zum Abonnieren ist ein registrierter Account erforderlich", "faq_link": "FAQ", @@ -914,7 +914,7 @@ "creation_owned": "Eigenes Pad", "creation_ownedTrue": "Eigenes Pad", "creation_ownedFalse": "Offenes Pad", - "creation_owned1": "Ein eigenes Element kann zerstört werden, wann immer der Eigentümer so entscheidet. Die Zerstörung eines eigenen Elementes bewirkt die Löschung aus allen anderen CryptDrives.", + "creation_owned1": "Ein eigenes Element kann zerstört werden, wann immer der Eigentümer so entscheidet. Nach der Zerstörung eines eigenen Elementes ist es nicht mehr in CryptDrives anderer Nutzer verfügbar.", "creation_owned2": "Ein offenes Pad hat keinen Eigentümer. Es kann also nicht vom Server gelöscht werden, es sei denn es hat sein Ablaufdatum erreicht.", "creation_expireTitle": "Ablaufdatum", "creation_expire": "Auslaufendes Pad", @@ -1511,5 +1511,13 @@ "creation_expiresIn": "Läuft ab in", "whatis_model": "Geschäftsmodell", "register_notes_title": "Wichtige Hinweise", - "home_host_title": "Über diese Instanz" + "home_host_title": "Über diese Instanz", + "creation_helperText": "In Dokumentation öffnen", + "home_support_title": "CryptPad unterstützen", + "home_opensource": "Jeder kann eine CryptPad-Instanz betreiben und den Dienst privat oder professionell anbieten. Der Quellcode ist auf Github verfügbar.", + "whatis_xwiki": "Entwickelt bei XWiki", + "whatis_collaboration_info": "

CryptPad wurde entwickelt, um gemeinsame Arbeit zu ermöglichen. Es synchronisiert Änderungen an Dokumenten in Echtzeit. Da alle Daten verschlüsselt sind, haben der Dienst und seine Administratoren keine Möglichkeit, die bearbeiteten und gespeicherten Inhalte einzusehen.

", + "register_warning_note": "Aufgrund der Verschlüsselung in CrytpPad können die Administratoren des Dienstes deine Daten nicht wiederherstellen, falls du deinen Benutzernamen und/oder dein Passwort vergessen solltest. Bitte speichere diese an einem sicheren Ort.", + "whatis_xwiki_info": "

CryptPad wird bei XWiki entwickelt, einem Unternehmen mit Sitz in Paris, Frankreich, das seit über 15 Jahren Open-Source-Software entwickelt. Wir haben umfangreiche Erfahrung in der Entwicklung von kollaborativer Software zur Organisation von Informationen. Unsere Erfolgsbilanz zeigt, dass wir uns der langfristigen Entwicklung und Wartung von CryptPad verpflichtet fühlen.

", + "docs_link": "Dokumentation" } From ac13672db412b7fb13f19bf3ac97b1422ed3658e Mon Sep 17 00:00:00 2001 From: ansuz Date: Tue, 19 Jan 2021 16:01:15 +0530 Subject: [PATCH 12/12] remove hardcoded translations --- customize.dist/pages.js | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/customize.dist/pages.js b/customize.dist/pages.js index 153eccd39..08bd29357 100644 --- a/customize.dist/pages.js +++ b/customize.dist/pages.js @@ -62,12 +62,7 @@ define([ var imprintUrl = AppConfig.imprint && (typeof(AppConfig.imprint) === "boolean" ? '/imprint.html' : AppConfig.imprint); - // XXX translations - Msg.docs_link = "Documentation"; - Msg.footer_team = "Contributors"; - Msg.footer_tos = "Terms of Service"; - - Pages.versionString = "CryptPad v3.25.1 (ZyzomysPedunculatus' revenge)"; + Pages.versionString = "v4.0.0"; // used for the about menu Pages.imprintLink = AppConfig.imprint ? footLink(imprintUrl, 'imprint') : undefined;