From 1e07d3a1570de47cffbbecb621fda9f891daec5e Mon Sep 17 00:00:00 2001 From: interfect Date: Sat, 15 Dec 2018 10:10:01 -0800 Subject: [PATCH 1/5] Persist all directories with Docker --- docker-compose.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/docker-compose.yml b/docker-compose.yml index 22cc3d59e..fab74870a 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -21,3 +21,8 @@ services: volumes: - ./data/files:/cryptpad/datastore:rw - ./data/customize:/cryptpad/customize:rw + - ./data/pins:/cryptpad/pins:rw + - ./data/blob:/cryptpad/blob:rw + - ./data/blobstage:/cryptpad/blobstage:rw + - ./data/tasks:/cryptpad/tasks:rw + - ./data/block:/cryptpad/block:rw From b817ac1511895c99171c5011a6384b21444a170c Mon Sep 17 00:00:00 2001 From: interfect Date: Sat, 15 Dec 2018 10:20:03 -0800 Subject: [PATCH 2/5] Improve Docker documentation in the repo Now it will link to the wiki too. --- docs/cryptpad-docker.md | 29 ++++++++++++++++++++++++----- 1 file changed, 24 insertions(+), 5 deletions(-) diff --git a/docs/cryptpad-docker.md b/docs/cryptpad-docker.md index 027792c2e..a41e2ad75 100644 --- a/docs/cryptpad-docker.md +++ b/docs/cryptpad-docker.md @@ -1,5 +1,11 @@ # Cryptpad Docker Image +Cryptpad includes support for building a Docker image and running it to provide a Cryptpad instance. You can manage the container manually, or let Docker Compose manage it for you. + +A full tutorial is available [on the Cryptpad Github wiki](https://github.com/xwiki-labs/cryptpad/wiki/Docker-(with-Nginx-and-Traefik)). This document provides a brief overview. + +## Features + - Configuration via .env file - Ready for use with traffic - Using github master for now, release 0.3.0 too old @@ -9,14 +15,22 @@ ## Run -Run from the cryptpad source directory: +Run from the cryptpad source directory, keeping instance state in `/var/cryptpad`: ``` docker build -t xwiki/cryptpad . -docker run --restart=always -d --name cryptpad -p 3000:3000 -v /var/cryptpad:/cryptpad/datastore xwiki/cryptpad +docker run --restart=always -d --name cryptpad -p 3000:3000 \ +-v /var/cryptpad/files:/cryptpad/datastore \ +-v /var/cryptpad/customize:/cryptpad/customize +-v /var/cryptpad/blob:/cryptpad/blob \ +-v /var/cryptpad/blobstage:/cryptpad/blobstage \ +-v /var/cryptpad/pins:/cryptpad/pins \ +-v /var/cryptpad/tasks:/cryptpad/tasks \ +-v /var/cryptpad/block:/cryptpad/block \ +xwiki/cryptpad ``` -Or, using docker-compose +Or, using docker-compose and the included `docker-compose.yml`, keeping instance state in the current directory under `./data`: ``` docker-compose up -d @@ -39,10 +53,15 @@ On runtime, in `bin/container-start.sh` the settings are written to the `config. The docker-compose file is preconfigured to persist folders -- cryptpad/datastore --> ./data/customize +- cryptpad/datastore --> ./data/files - cryptpad/customize --> ./data/customize +- cryptpad/pins --> ./data/pins +- cryptpad/blob --> ./data/blob +- cryptpad/blobstage --> ./data/blobstage +- cryptpad/tasks --> ./data/tasks +- cryptpad/block --> ./data/block -In customize included find your configuration in `config.js`. +Your configuration file will be in `./data/customize/config.js`. The data folder is ignored by git, so if you want to add your customizations to git versioning change the volume: From 5294604b90d41840fef12176e2a7c543c8a5551c Mon Sep 17 00:00:00 2001 From: rhoio Date: Sun, 6 Jan 2019 17:40:36 +0100 Subject: [PATCH 3/5] Style, grammar and typo fixes in german translation --- www/common/translations/messages.de.js | 40 +++++++++++++------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/www/common/translations/messages.de.js b/www/common/translations/messages.de.js index 33ffcc0c2..47c52c4dc 100644 --- a/www/common/translations/messages.de.js +++ b/www/common/translations/messages.de.js @@ -134,7 +134,7 @@ define(function () { out.user_accountName = "Kontoname"; out.clickToEdit = "Zum Bearbeiten klicken"; - out.saveTitle = "Bitte gebe den Titel ein (Enter)"; + out.saveTitle = "Bitte gib den Titel ein (Enter)"; out.forgetButton = "Entfernen"; out.forgetButtonTitle = 'Entferne dieses Dokument von deiner Startseitenliste'; @@ -226,7 +226,7 @@ define(function () { out.fileShare = "Link kopieren"; out.getEmbedCode = "Einbettungscode anzeigen"; out.viewEmbedTitle = "Das Dokument in eine externe Webseite einbetten"; - out.viewEmbedTag = "Um dieses Dokument einzubetten, platziere dieses iframe an der gewünschten Stelle Deiner HTML Seite. Du kannst es mit CSS oder HTML Attributen gestalten"; + out.viewEmbedTag = "Um dieses Dokument einzubetten, platziere dieses iframe an der gewünschten Stelle Deiner HTML-Seite. Du kannst es mit CSS oder HTML Attributen gestalten"; out.fileEmbedTitle = "Die Datei in einer externen Seite einbetten"; out.fileEmbedScript = "Um diese Datei einzubetten, füge dieses Skript einmal in Deiner Webseite ein, damit das Media-Tag geladen wird:"; out.fileEmbedTag = "Dann platziere das Media-Tag an der gewünschten Stelle der Seite:"; @@ -376,7 +376,7 @@ define(function () { out.contacts_send = 'Schicken'; out.contacts_remove = 'Diesen Kontakt entfernen'; out.contacts_confirmRemove = 'Bist du sicher, dass du {0} von der Kontaktliste entfernen möchtest?'; - out.contacts_typeHere = "Gebe eine Nachricht ein..."; + out.contacts_typeHere = "Gib eine Nachricht ein..."; out.contacts_warning = "Alles, was du hier eingibst, wird bleiben und ersichtlich zu allen aktuellen und zukünftigen Benutzern. Sei sorgfältig mit sensible Information!"; out.contacts_padTitle = "Chat"; @@ -589,7 +589,7 @@ define(function () { out.settings_reset = "Alle Dateien und Ordnern aus deinem CryptDrive löschen"; out.settings_resetPrompt = "Diese Aktion wird alle Dokumente deines CryptDrives entfernen.
"+ "Bist du sicher, dass du das tun möchtest?
" + - "Gebe I love CryptPad ein, um zu bestätigen."; // TODO: I love CryptPad should be localized + "Gib I love CryptPad ein, um zu bestätigen."; // TODO: I love CryptPad should be localized out.settings_resetDone = "Dein CryptDrive ist jetzt leer!"; out.settings_resetError = "Prüftext inkorrekt. Dein CryptDrive wurde nicht verändert."; @@ -626,7 +626,7 @@ define(function () { out.settings_deleteTitle = "Löschung des Kontos"; out.settings_deleteHint = "Die Löschung eines Kontos ist dauerhaft. Dein CryptDrive und eigene Dokumente werden alle von dem Server gelöscht. Die restliche Dokumente werden nach 90 Tage gelöscht, wenn niemand anderes diese bei sich gelagert hat."; out.settings_deleteButton = "Dein Konto löschen"; - out.settings_deleteModal = "Gebe die folgende Information deinem CryptPad Adminstrator, damit er die Daten vom Server löschen kann."; + out.settings_deleteModal = "Gib die folgende Information deinem CryptPad Adminstrator, damit er die Daten vom Server löschen kann."; out.settings_deleteConfirm = "Wenn du OK klickst, wird dein Konto dauerhaft löschen. Bist Du sicher?"; out.settings_deleted = "Dein Konto ist jetzt gelöscht. Drucke OK, um zum Homepage zu gelangen."; @@ -1147,7 +1147,7 @@ define(function () { out.codeInitialState = [ '# CryptPad\'s Zero Knowledge Kollaborativer Code Editor ohne Preisgabe deiner Daten\n', '\n', - '* Was du hier tippst, ist verschlüsselt. Nur Personen die das vollen Link haben können es zugreifen.\n', + '* Was du hier tippst, ist verschlüsselt. Nur wer den kompletten Link kennt, kann darauf zugreifen.\n', '* Du kannst die Programmierungsprache für die Syntaxhervorhebung sowie das Farbschema oben rechts wählen.' ].join(''); @@ -1166,11 +1166,11 @@ define(function () { out.readme_p1 = "Willkommen zu CryptPad, hier kannst du deine Notizen aufschreiben, allein oder mit Bekannten."; out.readme_p2 = "Dieses Dokument gibt dir einen kurzen Überblick, wie du CryptPad verwenden kann, um Notizen zu schreiben und und mit anderen zusammen zu arbeiten."; out.readme_cat1 = "Lerne CryptDrive kennen"; - out.readme_cat1_l1 = "Ein Dokument erstellen: Klicke in Deinem CryptDrive {0}, dann {1} und Du kannst ein Dokuemnt erstellen."; // 0: New, 1: Rich Text + out.readme_cat1_l1 = "Ein Dokument erstellen: Klicke in Deinem CryptDrive {0}, dann {1} und Du kannst ein Dokument erstellen."; // 0: New, 1: Rich Text out.readme_cat1_l2 = "Ein Dokument Deines CryptDrives öffnen: Doppelklicke auf das Symbol eines Dokument, um es zu öffnen."; out.readme_cat1_l3 = "Deine Dokumente organisieren: Wenn du eingeloggst bist, wird jedes Dokument, das du besuchst, im {0} Bereich deines CryptDrives angezeigt"; out.readme_cat1_l3_l1 = "Im Abschnitt {0} deines CryptDrives kannst du Dateien zwischen Ordnern ziehen und ablegen oder neue Ordner anlegen."; // 0: Documents - out.readme_cat1_l3_l2 = "Ein Rechtklick auf Symbole kann zusätzliche Menüfunktionen anbieten."; + out.readme_cat1_l3_l2 = "Ein Rechtsklick auf Symbole zeigt zusätzliche Menüfunktionen."; out.readme_cat1_l4 = "Verschiebe deine alten Dokumente in den Papierkorb: Du kannst Deine Dokumente zu {0} verschieben, genauso, wie du es zu einem Ordner machst."; // 0: Trash out.readme_cat2 = "Dokumente wie ein Profi gestalten"; out.edit = "bearbeiten"; @@ -1178,26 +1178,26 @@ define(function () { out.readme_cat2_l1 = "Der Knopf {0} in deinem Dokument erlaubt dir, anderen einen Mitbearbeitungszugang zu geben (entweder zu {1} oder {2})."; out.readme_cat2_l2 = "Der Titel eines Dokuments kann mit einem Klick auf den Stift geändert werden."; out.readme_cat3 = "Entdecke CryptPad Apps"; - out.readme_cat3_l1 = "Mit dem CryptPad Codeeditor kannst du Code wie JavaScript, Markdown, oder HTML bearbeiten"; - out.readme_cat3_l2 = "Mit dem CryptPad Präsentationseditor kannst du schnell Vorträge mit Hilfe von Markdown gestalten"; - out.readme_cat3_l3 = "Mit der CryptPad Umfrage kannst du schnell Abstimmungen durchführen, insbesondere, um Meetings zu planen, die in den Kalender von allen passen."; + out.readme_cat3_l1 = "Mit dem CryptPad-Codeeditor kannst du Code wie JavaScript, Markdown, oder HTML bearbeiten"; + out.readme_cat3_l2 = "Mit dem CryptPad-Präsentationseditor kannst du schnell Vorträge mit Hilfe von Markdown gestalten"; + out.readme_cat3_l3 = "Mit der CryptPad-Umfrage kannst du schnell Abstimmungen durchführen, insbesondere, um Meetings zu planen, die in den Kalender von allen passen."; // Tips out.tips = {}; - out.tips.shortcuts = "`ctrl+b`, `ctrl+i` and `ctrl+u` sind Tatstenkürzeln um fett, kurziv, oder unterschrieben zu markieren."; - out.tips.indent = "In bezifferten oder einfache Listen kannst du TAB und SHIFT-TAB benutzen, um den Einzug zu erhöhen oder reduzieren."; + out.tips.shortcuts = "Mit den Tastenkürzeln `ctrl+b`, `ctrl+i` and `ctrl+u` formatierst du Text fett, kursiv, oder unterstrichen."; + out.tips.indent = "In bezifferten oder einfachen Listen kannst du mit TAB und SHIFT-TAB den Einzug erhöhen oder reduzieren."; out.tips.store = "Jedes Mal, wenn du ein Dokument besuchst und eingeloggt bist, wird es in deinem CryptDrive gespeichert."; out.tips.marker = "Du kannst Text in einem Dokument mit \"Marker\" Menü in dem Stilmenü markieren."; out.tips.driveUpload = "Registrierte Benutzer können verschlüsselte Dateien aus ihrer Festplatte hochladen, indem sie sie einfach verschieben und in ihrem CryptDrive ablegen."; out.tips.filenames = "Du kannst Dateien in deinem CryptDrive neubenennen. Dieser Name ist nur für dich."; out.tips.drive = "Eingeloggte Benutzern können ihre Dateien in ihrem CryptDrive organisieren. Dieses ist mit einem Klick auf das CryptPad Symbol oben links erreichbar, wenn man in einem Dokument ist."; - out.tips.profile = "Registrierte Benutzer können ihr Profil mit dem Benutzer Menü oben rechts bearbeiten."; + out.tips.profile = "Registrierte Benutzer können ihr Profil im Benutzer-Menü oben rechts bearbeiten."; out.tips.avatars = "Du kannst ein Benutzerbild in dein Profil hochladen. Andere sehen es, wenn sie in einem Dokument zusammenarbeiten."; - out.tips.tags = "Bringe Tags auf deinen Dokumenten an und starte eine Suche-nach-Tags mit dem # Zeichen in dem CryptDrive Suche."; + out.tips.tags = "Bringe Tags auf deinen Dokumenten an und starte eine Suche-nach-Tags mit dem # Zeichen in der CryptDrive-Suche."; out.feedback_about = "Wenn Du das liest, fragst du dich, weshalb dein Browser Anfragen an Webseiten schickt, wenn manche Aktionen ausgeführt werden."; out.feedback_privacy = "Wir kümmern uns um deinen Datenschutz, aber gleichzeitig wollen wir, dass die Benutzung von CryptPad sehr leicht ist. Deshalb wollen wir erfahren, welche UI-Funktion am wichtigsten für unsere Benutzer ist, indem wir diese mit einer genauen Parameterbeschreibung anfordern."; - out.feedback_optout = "Wenn du das aber nicht möchtest. besuche Deine Einstellungen, dort findest du ein Haken, wo du es deaktivieren kannst."; + out.feedback_optout = "Wenn du das nicht möchtest, kannst du es in deinen Einstellungen deaktivieren."; // Creation page out.creation_404 = "Dieses Dokument existiert nicht mehr. Benutze das folgende Formular, um ein neues Dokument zu gestalten."; @@ -1273,8 +1273,8 @@ define(function () { out.loading_drive_3 = "Verifiziere Datenintegrität"; // Shared folders - out.sharedFolders_forget = "Dieses pad wird nur in einem geteilten Ordner gespeichert, du kannst es nicht in den Papierkorb verschieben. Du kannst es in deinem CryptDrive löschen."; - out.sharedFolders_duplicate = "Einige der pads, die du versucht hast zu verschieben, waren schon im Zielordner geteilt."; + out.sharedFolders_forget = "Dieses Pad wird nur in einem geteilten Ordner gespeichert, du kannst es nicht in den Papierkorb verschieben. Du kannst es in deinem CryptDrive löschen."; + out.sharedFolders_duplicate = "Einige der Pads, die du versucht hast zu verschieben, waren schon im Zielordner geteilt."; out.sharedFolders_create = "Erstelle einen geteilten Ordner"; out.sharedFolders_create_name = "Neuer Ordner"; out.sharedFolders_create_owned = "Eigener Ordner"; @@ -1298,12 +1298,12 @@ define(function () { // Crowdfunding messages out.crowdfunding_home1 = "CryptPad braucht deine Hilfe!"; - out.crowdfunding_home2 = "Klicke auf dem Knopf, um über die Crowdfunding Campagne zu erfahren."; + out.crowdfunding_home2 = "Klicke auf dem Knopf, um über die Crowdfunding-Kampagne zu erfahren."; out.crowdfunding_button = "Unterstütze CryptPad"; out.crowdfunding_popup_text = "

Wir brauchen deine Hilfe!

" + "Um sicherzustellen, dass CryptPad weiter aktiv entwickelt wird, unterstütze bitte das Projekt durch die " + - 'OpenCollective Seite, wo du unser Roadmap und Funding Ziele lesen kannst.'; + 'OpenCollective Seite, wo du unsere Roadmap und Funding-Ziele lesen kannst.'; out.crowdfunding_popup_yes = "OpenCollective besuchen"; out.crowdfunding_popup_no = "Nicht jetzt"; out.crowdfunding_popup_never = "Nicht mehr darum bitten."; From 1cd79e12f29e7b56253be8ce72873e9aa7a0bbe6 Mon Sep 17 00:00:00 2001 From: Paul Libbrecht Date: Mon, 7 Jan 2019 12:25:19 +0100 Subject: [PATCH 4/5] Latest update of the German translation (cursors, shared folders, ...). --- www/common/translations/messages.de.js | 35 ++++++++++++++++++++------ 1 file changed, 27 insertions(+), 8 deletions(-) diff --git a/www/common/translations/messages.de.js b/www/common/translations/messages.de.js index 47c52c4dc..3a916cab3 100644 --- a/www/common/translations/messages.de.js +++ b/www/common/translations/messages.de.js @@ -11,7 +11,6 @@ define(function () { out._languageName = 'German'; out.main_title = "Cryptpad: Echtzeitzusammenarbeit ohne Preisgabe von Informationen"; - out.main_slogan = "Einigkeit ist Stärke - Zusammenarbeit der Schlüssel"; out.type = {}; out.type.pad = 'Pad'; @@ -137,7 +136,6 @@ define(function () { out.saveTitle = "Bitte gib den Titel ein (Enter)"; out.forgetButton = "Entfernen"; - out.forgetButtonTitle = 'Entferne dieses Dokument von deiner Startseitenliste'; out.forgetButtonTitle = 'Dieses Dokument zum Papierkorb verschieben'; out.forgetPrompt = 'Mit dem Klick auf OK wird das Dokument aus deinem lokalen Speicher gelöscht. Fortfahren?'; out.movedToTrash = 'Dieses Dokument liegt im Papierkorb.
Du kannst zum CryptDrive navigieren'; @@ -178,7 +176,7 @@ define(function () { out.printText = "Drucken"; out.printButton = "Drucken (enter)"; - out.printButtonTitle = "Deine Präsentation ausdrucken oder als PDF Dateien exportieren"; + out.printButtonTitle2 = "Deine Präsentation ausdrucken oder als PDF Dateien exportieren"; out.printOptions = "Druckeinstellungen"; out.printSlideNumber = "Foliennummer anzeigen"; out.printDate = "Datum anzeigen"; @@ -306,8 +304,8 @@ define(function () { out.poll_optionPlaceholder = "Option"; out.poll_userPlaceholder = "Dein Name"; - out.poll_removeOption = "Bist du sicher, dass du diese Option entfernen möchtest?"; - out.poll_removeUser = "Bist du sicher, dass du diese(n) Nutzer*in entfernen möchtest?"; + out.poll_removeOption = "Bist du sicher, dass du diese Option entfernen möchtest?"; + out.poll_removeUser = "Bist du sicher, dass du diese(n) Nutzer*in entfernen möchtest?"; out.poll_titleHint = "Titel"; out.poll_descriptionHint = "Beschreibe deine Abstimmung und publiziere sie mit dem 'Veröffentlichen'-Knopf wenn du fertig bist."+ @@ -413,6 +411,7 @@ define(function () { out.fm_newFolder = "Neuer Ordner"; out.fm_newFile = "Neues Dokument"; out.fm_folder = "Ordner"; + out.fm_sharedFolder = "Verteiler Ordner"; out.fm_folderName = "Ordnername"; out.fm_numberOfFolders = "# von Ordnern"; out.fm_numberOfFiles = "# von Dateien"; @@ -448,6 +447,8 @@ define(function () { out.fm_info_anonymous = 'Du bist nicht eingeloggt, daher laufen die Dokumente nach 3 Monaten aus (mehr dazu lesen). ' + 'Der Zugang zu den Dokumenten ist in deinem Browser gespeichert, daher wird das Löschen des Browserverlaufs auch die Dokumente verschwinden lassen.
' + 'Registriere dich oder logge dich ein, um sie dauerhaft zu machen.
'; + out.fm_info_sharedFolder = 'Dieser Ordner ist verteilt. Da du aber nicht eingeloggt bist, hast du nur einen schreibgeschützen Zugang.
' + + 'Registriere oder logge ich ein, damit du dieses Ordner in dein CryptDrive importieren und bearbeiten kannst.'; out.fm_info_owned = "Diese Dokumente sind deine eigenen. Das heisst, dass du sie vom Server entfernen kannst, wann Du willst. Wenn du das machst, dann wird es auch keinen Zugriff zu diesem für andere Benutzer geben."; out.fm_alert_backupUrl = "Backuplink für dieses CryptDrive.
" + "Es ist hoch empfohlen diesen Link geheim zu halten.
" + @@ -457,14 +458,13 @@ define(function () { "Wir haben fortgeschrittene Aktionen aus dem anonymen CryptDrive entfernt, weil wir klar machen wollen, dass es kein sicherer Platz ist, Dinge zu lagern." + 'Du kannst lesen, weshalb wir das machen und weshalb du wirklich ' + 'registrieren oder einloggen solltest.'; - out.fm_info_sharedFolder = 'Dieser Ordner ist verteilt. Da du aber nicht eingeloggt bist, hast du nur einen schreibgeschützen Zugang.
' + - 'Registriere oder logge ich ein, damit du dieses Ordner in dein CryptDrive importieren und bearbeiten kannst.'; out.fm_backup_title = 'Backup link'; out.fm_nameFile = 'Wie soll diese Datei heissen?'; out.fm_error_cantPin = "Interner Serverfehler. Bitte lade die Seite neu und versuche es wieder."; out.fm_viewListButton = "Listenansicht"; out.fm_viewGridButton = "Kachelansicht"; out.fm_renamedPad = "Du hast einen speziellen Name für dieses Dokument gesetzt. Seine geteilter Titel ist:
{0}"; + out.fm_canBeShared = "Dieser Ordner can verteilt werden"; out.fm_prop_tagsList = "Tags"; out.fm_burnThisDriveButton = "Alle Informationen löschen, die CryptPad in deinem Browser hält"; out.fm_burnThisDrive = "Bist Du sicher, dass du alles, was CryptPad in deinem Browser gespeichert hat, löschen möchtest?
" + @@ -479,6 +479,7 @@ define(function () { // File - Context menu out.fc_newfolder = "Neuer Ordner"; + out.fc_newsharedfolder = "Neuer verteilte Ordner"; out.fc_rename = "Umbenennen"; out.fc_open = "Öffnen"; out.fc_open_ro = "Öffnen (schreibgeschützt)"; @@ -676,8 +677,18 @@ define(function () { out.settings_changePasswordError = "Ein Fehler ist aufgetreten. Wenn du nicht mehr einloggen oder dein Passwort ändern kannst, solltest du die Administratoren des CryptPad Servers kontaktieren."; out.settings_changePasswordPending = "Dein Passwort wird geändert. Bitte schliesse nicht und lade diese Seite nicht neu, bis dieser Vorgang erledigt ist."; out.settings_changePasswordNewPasswordSameAsOld = "Dein neues Passwort muss anders als dein aktuelles Passwort sein."; + + out.settings_cursorColorTitle = "Kursorfarbe"; + out.settings_cursorColorHint = "Die Farber deines Kursors in kollaborative Dokumente ändern."; + out.settings_cursorShareTitle = "Meine Kursorposition teilen"; + out.settings_cursorShareHint = "Du kannst entscheide, ob andere Benutzer dein Kursors in kollaborative Dokumente sehen können."; + out.settings_cursorShareLabel = "Die Position teilen"; + out.settings_cursorShowTitle = "Die Position des Kursors von anderen anzeigen"; + out.settings_cursorShowHint = "Du kannst wählen, ob du es wünscht, dass die Kursore von anderen sichtbar in kollaborative Dokumente sind."; + out.settings_cursorShowLabel = "Kursore zeigen"; out.upload_title = "Datei hochladen"; + out.upload_type = "Typ"; out.upload_modal_title = "Uploadeinstellungen"; out.upload_modal_filename = "Dateiname (die Dateierweiterung {0} wird automatisch hinzugefügt)"; out.upload_modal_owner = "Eigene Datei"; @@ -698,9 +709,13 @@ define(function () { out.upload_size = "Grösse"; out.upload_progress = "Fortschritt"; out.upload_mustLogin = "Du muss eingeloggt sein, um Dateien hochzuladen"; + out.upload_up = "Hochladen"; out.download_button = "Entschlüsseln und runterladen"; out.download_mt_button = "Runterladen"; out.download_resourceNotAvailable = "Diese Ressource war nicht verfügbar.."; + out.download_dl = "Runteraden"; + out.download_step1 = "Laden..."; + out.download_step2 = "Entschlüsselung..."; out.todo_title = "CryptTodo"; out.todo_newTodoNamePlaceholder = "Die Aufgabe prüfen..."; @@ -712,7 +727,8 @@ define(function () { // pad out.pad_showToolbar = "Werkzeugsleiste anzeigen"; out.pad_hideToolbar = "Werkzeugsleiste verbergen"; - + out.pad_base64 = "Dieses Pad enthält Bilder die nicht ressourcenschonend gespeichert sind. Sie werden die Größe des Pads im CryptDrive belasten und wird den Ladevorgang verlangsamen. Du kannst diese Bilder zum neuen Format migrieren. Sie werden dann separat in deinem CryptDrive gespeichert. Willst du die Bilder jetzt migrieren?"; + // markdown toolbar out.mdToolbar_button = "Die Markdown-Werkzeugsleiste anzeigen oder verbergen"; out.mdToolbar_defaultText = "Dein Text hier"; @@ -733,6 +749,7 @@ define(function () { out.home_product = "CryptPad ist eine alternative zu verbreiteten Office- und Clouddienste mit eingebauten Datenschutz. Mit CryptPad, der gesamten Inhalt ist verschlüsselt, bevor es geschickt wird. Das heisst, dass keiner hat Zugang zum Inhalt, ausser du gibst den Schlüssel aus. Selbst die Softwarehersteller haben diesen Zugang nicht."; out.home_host = "Dieses CryptPad Server ist eine unabhängige Installation des Communitysoftwares. Das Quellcode ist auf GitHub verfügbar."; out.home_host_agpl = "CryptPad kann durch die Lizenz AGPL3 verbreitet werden"; + out.home_ngi = "Gewinner beim NGI Award"; //about.html @@ -821,6 +838,7 @@ define(function () { out.features_feature = "Funktion"; out.features_anon = "Anonymer Benutzer"; out.features_registered = "Angemeldete Benutzer"; + out.features_premium = "Premium Benutzer"; out.features_notes = "Notizzen"; out.features_f_apps = "Zugang zu den wichtige Anwendungen"; out.features_f_core = "Gemeinsame Funktionen der Anwendungen"; @@ -1246,6 +1264,7 @@ define(function () { out.properties_addPassword = "Passwort hinzufügen"; out.properties_changePassword = "Passwort ändern"; out.properties_confirmNew = "Bist du sicher? Das Hinzufügen eines Passworts wird die URL dieses Pads ändern und die Chronik entfernen. Benutzer ohne Passwort werden den Zugang zu diesem Pad verlieren."; + out.properties_passwordSame = "Neue Passwörter müssen, anders als das aktuell sein."; out.properties_confirmChange = "Bist du sicher? Das Ändern des Passworts wird die Chronik entfernen. Benutzer ohne das neue Passwort werden den Zugang zu diesem Pad verlieren."; out.properties_passwordError = "Ein Fehler ist aufgetreten beim Versuch das Passwort zu ändern. Bitte versuche es nochmal."; out.properties_passwordWarning = "Das Password wurde erfolgreich geändert, aber dein CryptDrive konnte nicht aktualisiert werden. Du mußt möglicherweise die alte Version des Pads manuell entfernen.
Bitte klicke OK um die Seite neu zu laden und die Zugeriffsrechte zu aktualisieren."; From 3f9ae30b52875a6c8f5244b03f9d77c632e2b52a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adrian=20N=C3=B6thlich?= Date: Mon, 7 Jan 2019 15:12:46 +0100 Subject: [PATCH 5/5] Made CSP syntax in nginx example conf valid Made CSP syntax valid. There were arguments for e.g. blob: oder data: missing --- docs/example.nginx.conf | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/docs/example.nginx.conf b/docs/example.nginx.conf index e8454dc31..5c4ff2fbe 100644 --- a/docs/example.nginx.conf +++ b/docs/example.nginx.conf @@ -34,15 +34,15 @@ server { # Will not set any header if it is emptystring add_header Cache-Control $cacheControl; - set $styleSrc "'unsafe-inline' 'self' your-main-domain.com"; - set $scriptSrc "'self' your-main-domain.com"; - set $connectSrc "'self' https://your-main-domain.com wss://your-main-domain.com https://api.your-main-domain.com wss://your-main-domain.com your-main-domain.com blob: your-main-domain.com"; - set $fontSrc "'self' data: your-main-domain.com"; - set $imgSrc "data: * blob:"; - set $frameSrc "'self' your-sandbox-domain.com blob:"; - set $mediaSrc "* blob:"; - set $childSrc "https://your-main-domain.com"; - set $workerSrc "https://your-main-domain.com"; + set $styleSrc "'unsafe-inline' 'self' your-main-domain.com"; + set $scriptSrc "'self' your-main-domain.com"; + set $connectSrc "'self' https://your-main-domain.com wss://your-main-domain.com your-main-domain.com https://api.your-main-domain.com blob: your-main-domain.com"; + set $fontSrc "'self' data: your-main-domain.com"; + set $imgSrc "'self' data: * blob: your-main-domain.com"; + set $frameSrc "'self' your-sandbox-domain.com blob: your-sandbox-domain.com"; + set $mediaSrc "'self' data: * blob: your-main-domain.com"; + set $childSrc "https://your-main-domain.com"; + set $workerSrc "https://your-main-domain.com"; set $unsafe 0; if ($uri = "/pad/inner.html") { set $unsafe 1; }