From 471f6ba355feae4d4a151d423566a9ed9cbe6d55 Mon Sep 17 00:00:00 2001
From: PrivateBin Translator Bot
<72346835+privatebin-translator@users.noreply.github.com>
Date: Tue, 1 Oct 2024 00:27:21 +0200
Subject: [PATCH 01/50] New translations en.json (Ukrainian)
---
i18n/uk.json | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/i18n/uk.json b/i18n/uk.json
index cfb8c44e..8ddfb55c 100644
--- a/i18n/uk.json
+++ b/i18n/uk.json
@@ -219,5 +219,5 @@
"Yes, see it": "Так, побачити",
"Dark Mode": "Темний режим",
"Error compressing paste, due to missing WebAssembly support.": "Помилка при стисканні допису, через відсутність підтримки WebAssembly сервера.",
- "Error decompressing paste, your browser does not support WebAssembly. Please use another browser to view this paste.": "Помилка при розпакуванні допису, бо ваш браузер не підтримує WebAssembly. Будь ласка, відкрийте інший браузер для перегляду цього допису."
+ "Error decompressing paste, your browser does not support WebAssembly. Please use another browser to view this paste.": "Помилка при розпакуванні допису, бо ваш браузер не підтримує WebAssembly. Будь ласка, відкрийте в іншому браузері для перегляду цього допису."
}
From 50ac504fed8b419b8f4f609cb1fb3b95a602ba3f Mon Sep 17 00:00:00 2001
From: PrivateBin Translator Bot
<72346835+privatebin-translator@users.noreply.github.com>
Date: Tue, 1 Oct 2024 16:54:37 +0200
Subject: [PATCH 02/50] New translations en.json (Greek)
---
i18n/el.json | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/i18n/el.json b/i18n/el.json
index f1278fd5..0f4be548 100644
--- a/i18n/el.json
+++ b/i18n/el.json
@@ -212,7 +212,7 @@
"URL shortener may expose your decrypt key in URL.": "Συντομευτές συνδέσμων πιθανώς να δημοσιοποιήσουν το κλειδί αποκρυπτογράφισης στον σύνδεσμο.",
"Save paste": "Αποθήκευση επικόλλησης",
"Your IP is not authorized to create pastes.": "Η IP σας δεν επιτρέπεται να δημιουργεί επικολλήσεις.",
- "Trying to shorten a URL that isn't pointing at our instance.": "Προσπαθώντας να συντομεύσει μια διεύθυνση URL που δεν δείχνει στην περίπτωσή μας.",
+ "Trying to shorten a URL that isn't pointing at our instance.": "Έγινε προσπάθεια συντόμευσης ενός URL που δε δείχνει προς τη δική μας υπηρεσία.",
"Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".": "Σφάλμα κατά την κλήση YOURLS. Πιθανώς ένα ζήτημα διαμόρφωσης, όπως λάθος ή λείπει \"apiurl\" ή \"υπογραφή\".",
"Error parsing YOURLS response.": "Σφάλμα ανάλυσης της απόκρισης YOURLS.",
"This secret message can only be displayed once. Would you like to see it now?": "Αυτό το μυστικό μήνυμα μπορεί να εμφανιστεί μόνο μία φορά. Θα θέλατε να το δείτε τώρα;",
From d9fa9786c9007a137fcea8da8395fd93bd559ee9 Mon Sep 17 00:00:00 2001
From: PrivateBin Translator Bot
<72346835+privatebin-translator@users.noreply.github.com>
Date: Tue, 1 Oct 2024 21:54:54 +0200
Subject: [PATCH 03/50] New translations en.json (Ukrainian)
---
i18n/uk.json | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/i18n/uk.json b/i18n/uk.json
index 8ddfb55c..8b1d03a7 100644
--- a/i18n/uk.json
+++ b/i18n/uk.json
@@ -16,15 +16,15 @@
],
"Paste is limited to %s of encrypted data.": "Розмір допису обмежений %s зашифрованих даних.",
"Invalid data.": "Неправильні дані.",
- "You are unlucky. Try again.": "Вам не пощастило. Спробуйте ще раз.",
+ "You are unlucky. Try again.": "Якась халепа! Спробуйте ще раз.",
"Error saving comment. Sorry.": "Помилка при збереженні коментаря. Вибачте.",
"Error saving paste. Sorry.": "Помилка при збереженні допису. Вибачте.",
"Invalid paste ID.": "Неправильний ID допису.",
"Paste is not of burn-after-reading type.": "Тип допису не \"Знищити після прочитання\".",
- "Wrong deletion token. Paste was not deleted.": "Неправильний ключ вилучення допису. Допис не вилучено.",
+ "Wrong deletion token. Paste was not deleted.": "Неправильний жетон вилучення допису. Допис не вилучено.",
"Paste was properly deleted.": "Допис був вилучений повністю.",
"JavaScript is required for %s to work. Sorry for the inconvenience.": "Для роботи %s потрібен увімкнутий JavaScript. Вибачте.",
- "%s requires a modern browser to work.": "Для роботи %s потрібен більш сучасний переглядач.",
+ "%s requires a modern browser to work.": "Для роботи %s потрібен більш сучасний браузер.",
"New": "Новий допис",
"Create": "Створити",
"Clone": "Дублювати",
@@ -36,8 +36,8 @@
"Discussion": "Обговорення",
"Toggle navigation": "Перемкнути навігацію",
"%d seconds": [
- "%d секунду",
- "%d секунди",
+ "%d секунд",
+ "%d секунд",
"%d секунд",
"%d секунд",
"%d секунд",
From d8a986dbdabaa2a2b3862de32735b42859fd972d Mon Sep 17 00:00:00 2001
From: PrivateBin Translator Bot
<72346835+privatebin-translator@users.noreply.github.com>
Date: Tue, 1 Oct 2024 21:54:55 +0200
Subject: [PATCH 04/50] New translations en.json (Greek)
---
i18n/el.json | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/i18n/el.json b/i18n/el.json
index 0f4be548..746b4dc5 100644
--- a/i18n/el.json
+++ b/i18n/el.json
@@ -1,6 +1,6 @@
{
"PrivateBin": "PrivateBin",
- "%s is a minimalist, open source online pastebin where the server has zero knowledge of pasted data. Data is encrypted/decrypted %sin the browser%s using 256 bits AES.": "%s είναι ένα λιτό, ανοικτού λογισμικού διαδικτυακής υπηρεσίας επικόλλησης όπου ο διακομιστής έχει πλήρη άγνια του περιεχομένου που επικολλήθηκαν. Τα Δεδομένα κρυπτογραφούνται και αποκρυπτογραφούνται %sστον φιλομετρητή (browser)%s χρησιμοποιόντας 256 bits AES.",
+ "%s is a minimalist, open source online pastebin where the server has zero knowledge of pasted data. Data is encrypted/decrypted %sin the browser%s using 256 bits AES.": "Το %s αποτελεί ένα εργαλείο επικόλλησης δεδομένων στο διαδίκτυο, που βασίζεται σε λογισμικό ανοιχτού κώδικα. Ο διακομιστής έχει πλήρη άγνοια αυτών των δεδομένων, τα οποία από/κρυπτογραφούνται %sστο πρόγραμμα περιήγησης%s, χρησιμοποιώντας τη μέθοδο 256-bits AES.",
"More information on the project page.": "Περισσότερες πληροφορίες στον ιστότοπο του εργαλείου.",
"Because ignorance is bliss": "Επειδή η άγνοια είναι ευτυχία",
"Paste does not exist, has expired or has been deleted.": "Η επικόλληση δεν υπάρχει, έληξε ή διαγράφηκε",
From a58b7b80f8dca32090aa3a3be1d446ac0b36d866 Mon Sep 17 00:00:00 2001
From: PrivateBin Translator Bot
<72346835+privatebin-translator@users.noreply.github.com>
Date: Wed, 2 Oct 2024 06:03:27 +0200
Subject: [PATCH 05/50] New translations en.json (Ukrainian)
---
i18n/uk.json | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/i18n/uk.json b/i18n/uk.json
index 8b1d03a7..1b46edc5 100644
--- a/i18n/uk.json
+++ b/i18n/uk.json
@@ -1,6 +1,6 @@
{
"PrivateBin": "PrivateBin",
- "%s is a minimalist, open source online pastebin where the server has zero knowledge of pasted data. Data is encrypted/decrypted %sin the browser%s using 256 bits AES.": "%s це мінімалістичний Open Source проєкт для створення нотаток, де сервер не знає нічого про дані, що зберігаються. Дані шифруються/розшифровуються %sу переглядачі%s з використанням 256-бітного шифрувания AES.",
+ "%s is a minimalist, open source online pastebin where the server has zero knowledge of pasted data. Data is encrypted/decrypted %sin the browser%s using 256 bits AES.": "%s це мінімалістичний Open Source проєкт для створення нотаток, де сервер не знає нічого про дані, що зберігаються. Дані шифруються/розшифровуються %sу браузері%s з використанням 256-бітного шифрування AES.",
"More information on the project page.": "Подробиці можна дізнатися на сайті проєкту.",
"Because ignorance is bliss": "Бо незнання - благо",
"Paste does not exist, has expired or has been deleted.": "Допис не існує, протермінований чи був видалений.",
@@ -134,7 +134,7 @@
"Документ буде вилучений через %d місяців."
],
"Please enter the password for this paste:": "Будь ласка, введіть пароль від допису:",
- "Could not decrypt data (Wrong key?)": "Неможливо розшифрувати дані (Неправильний ключ?)",
+ "Could not decrypt data (Wrong key?)": "Неможливо розшифрувати дані (можливо, невірний ключ?)",
"Could not delete the paste, it was not stored in burn after reading mode.": "Неможливо вилучити допис, він не був збережений в режимі знищити після прочитання.",
"FOR YOUR EYES ONLY. Don't close this window, this message can't be displayed again.": "ЛИШЕ ДЛЯ ВАШИХ ОЧЕЙ. Не закривайте це вікно, це повідомлення не може бути показано знову.",
"Could not decrypt comment; Wrong key?": "Неможливо розшифрувати коментар; Неправильний ключ?",
@@ -166,7 +166,7 @@
"YiB": "Йбайт",
"Format": "Формат",
"Plain Text": "Звичайний текст",
- "Source Code": "Джерельний код",
+ "Source Code": "Вихідний код",
"Markdown": "Мова розмітки",
"Download attachment": "Звантажити прикріплений файл",
"Cloned: '%s'": "Дубльовано: '%s'",
From 4cc2a20d660527d1798119432b0cffd7e1fe51d2 Mon Sep 17 00:00:00 2001
From: Mormegil
Date: Thu, 3 Oct 2024 16:26:47 +0200
Subject: [PATCH 06/50] Fix/improve/complete Czech translation
---
i18n/cs.json | 240 +++++++++++++++++++++++++--------------------------
1 file changed, 120 insertions(+), 120 deletions(-)
diff --git a/i18n/cs.json b/i18n/cs.json
index 5e4b88b2..052d9cbc 100644
--- a/i18n/cs.json
+++ b/i18n/cs.json
@@ -1,34 +1,34 @@
{
"PrivateBin": "PrivateBin",
- "%s is a minimalist, open source online pastebin where the server has zero knowledge of pasted data. Data is encrypted/decrypted %sin the browser%s using 256 bits AES.": "%s je minimalistický open source 'pastebin' server, který neanalyzuje vložená data. Data jsou šifrována %sv prohlížeči%s pomocí 256 bitů AES.",
- "More information on the project page.": "Více informací na stránce projetu.",
+ "%s is a minimalist, open source online pastebin where the server has zero knowledge of pasted data. Data is encrypted/decrypted %sin the browser%s using 256 bits AES.": "%s je minimalistický open source 'pastebin' server, který nemá přístup ke vloženým datům. Data jsou šifrována %sv prohlížeči%s pomocí 256bitového AES.",
+ "More information on the project page.": "Více informací na stránce projektu.",
"Because ignorance is bliss": "Protože nevědomost je sladká",
"Paste does not exist, has expired or has been deleted.": "Vložený text neexistuje, expiroval nebo byl odstraněn.",
"%s requires php %s or above to work. Sorry.": "%s vyžaduje php %s nebo vyšší. Lituji.",
- "%s requires configuration section [%s] to be present in configuration file.": "%s vyžaduje, aby byla v konfiguračním souboru přítomna sekce [%s].",
+ "%s requires configuration section [%s] to be present in configuration file.": "%s vyžaduje, aby byla v konfiguračním souboru přítomna sekce [%s].",
"Please wait %d seconds between each post.": [
- "Počet sekund do dalšího příspěvku: %d.",
- "Počet sekund do dalšího příspěvku: %d.",
- "Počet sekund do dalšího příspěvku: %d.",
- "Počet sekund do dalšího příspěvku: %d.",
- "Počet sekund do dalšího příspěvku: %d.",
- "Počet sekund do dalšího příspěvku: %d."
+ "Vyčkejte prosím %d sekundu mezi následujícími příspěvky.",
+ "Vyčkejte prosím %d sekundy mezi následujícími příspěvky.",
+ "Vyčkejte prosím %d sekund mezi následujícími příspěvky.",
+ "Vyčkejte prosím %d sekund mezi následujícími příspěvky.",
+ "Vyčkejte prosím %d sekund mezi následujícími příspěvky.",
+ "Vyčkejte prosím %d sekund mezi následujícími příspěvky."
],
"Paste is limited to %s of encrypted data.": "Příspěvek je limitován na %s šífrovaných dat",
"Invalid data.": "Chybná data.",
"You are unlucky. Try again.": "Lituji, zkuste to znovu.",
- "Error saving comment. Sorry.": "Chyba při ukládání komentáře.",
- "Error saving paste. Sorry.": "Chyba při ukládání příspěvku.",
- "Invalid paste ID.": "Chybně vložené ID.",
- "Paste is not of burn-after-reading type.": "Příspěvek není nastaven na smazaní po přečtení.",
+ "Error saving comment. Sorry.": "Chyba při ukládání komentáře. Promiňte.",
+ "Error saving paste. Sorry.": "Chyba při ukládání příspěvku. Promiňte.",
+ "Invalid paste ID.": "Chybné ID příspěvku.",
+ "Paste is not of burn-after-reading type.": "Příspěvek není nastaven na smazání po přečtení.",
"Wrong deletion token. Paste was not deleted.": "Chybný token pro odstranění. Příspěvek nebyl smazán.",
"Paste was properly deleted.": "Příspěvek byl řádně smazán.",
"JavaScript is required for %s to work. Sorry for the inconvenience.": "Pro fungování %s je vyžadován JavaScript. Omlouváme se za nepříjemnosti.",
- "%s requires a modern browser to work.": "%%s requires a modern browser to work.",
+ "%s requires a modern browser to work.": "Pro fungování %s je vyžadován moderní prohlížeč.",
"New": "Nový",
"Create": "Vytvořit",
"Clone": "Klonovat",
- "Raw text": "Pouze Text",
+ "Raw text": "Čistý text",
"Expires": "Expirace",
"Burn after reading": "Po přečtení smazat",
"Open discussion": "Povolit komentáře",
@@ -36,113 +36,113 @@
"Discussion": "Komentáře",
"Toggle navigation": "Přepnout navigaci",
"%d seconds": [
- "%d sekuda",
- "%d sekundy",
- "%d sekund",
- "%d sekund",
- "%d sekund",
- "%d sekund"
+ "%d sekunda",
+ "%d sekundy",
+ "%d sekund",
+ "%d sekund",
+ "%d sekund",
+ "%d sekund"
],
"%d minutes": [
- "%d minuta",
- "%d minuty",
- "%d minut",
- "%d minut",
- "%d minut",
- "%d minut"
+ "%d minuta",
+ "%d minuty",
+ "%d minut",
+ "%d minut",
+ "%d minut",
+ "%d minut"
],
"%d hours": [
- "%d hodina",
- "%d hodiny",
- "%d hodin",
- "%d hodin",
- "%d hodin",
- "%d hodin"
+ "%d hodina",
+ "%d hodiny",
+ "%d hodin",
+ "%d hodin",
+ "%d hodin",
+ "%d hodin"
],
"%d days": [
- "%d den",
- "%d dny",
- "%d dní",
- "%d dní",
- "%d dní",
- "%d dní"
+ "%d den",
+ "%d dny",
+ "%d dní",
+ "%d dní",
+ "%d dní",
+ "%d dní"
],
"%d weeks": [
- "%d týden",
- "%d týdeny",
- "%d týdnů",
- "%d týdnů",
- "%d týdnů",
- "%d týdnů"
+ "%d týden",
+ "%d týdny",
+ "%d týdnů",
+ "%d týdnů",
+ "%d týdnů",
+ "%d týdnů"
],
"%d months": [
- "%d měsíc",
- "%d měsíce",
- "%d měsíců",
- "%d měsíců",
- "%d měsíců",
- "%d měsíců"
+ "%d měsíc",
+ "%d měsíce",
+ "%d měsíců",
+ "%d měsíců",
+ "%d měsíců",
+ "%d měsíců"
],
"%d years": [
- "%d rok",
- "%d roky",
- "%d roků",
- "%d roků",
- "%d roků",
- "%d roků"
+ "%d rok",
+ "%d roky",
+ "%d let",
+ "%d let",
+ "%d let",
+ "%d let"
],
"Never": "Nikdy",
- "Note: This is a test service: Data may be deleted anytime. Kittens will die if you abuse this service.": "Poznámka: Tato služba slouží k vyzkoušení: Data mohou být kdykoliv smazána. Při zneužití této služby zemřou koťátka.",
+ "Note: This is a test service: Data may be deleted anytime. Kittens will die if you abuse this service.": "Poznámka: Toto je testovací služba: Data mohou být kdykoliv smazána. Při zneužití této služby zemřou koťátka.",
"This document will expire in %d seconds.": [
- "Tento dokument expiruje za %d sekundu.",
- "Tento dokument expiruje za %d sekundy.",
- "Tento dokument expiruje za %d sekund.",
- "Tento dokument expiruje za %d sekund.",
- "Tento dokument expiruje za %d sekund.",
- "Tento dokument expiruje za %d sekund."
+ "Tento dokument expiruje za %d sekundu.",
+ "Tento dokument expiruje za %d sekundy.",
+ "Tento dokument expiruje za %d sekund.",
+ "Tento dokument expiruje za %d sekund.",
+ "Tento dokument expiruje za %d sekund.",
+ "Tento dokument expiruje za %d sekund."
],
"This document will expire in %d minutes.": [
- "Tento dokument expiruje za %d minutu.",
- "Tento dokument expiruje za %d minuty.",
- "Tento dokument expiruje za %d minut.",
- "Tento dokument expiruje za %d minut.",
- "Tento dokument expiruje za %d minut.",
- "Tento dokument expiruje za %d minut."
+ "Tento dokument expiruje za %d minutu.",
+ "Tento dokument expiruje za %d minuty.",
+ "Tento dokument expiruje za %d minut.",
+ "Tento dokument expiruje za %d minut.",
+ "Tento dokument expiruje za %d minut.",
+ "Tento dokument expiruje za %d minut."
],
"This document will expire in %d hours.": [
- "Tento dokument expiruje za %d hodinu.",
- "Tento dokument expiruje za %d hodiny.",
- "Tento dokument expiruje za %d hodin.",
- "Tento dokument expiruje za %d hodin.",
- "Tento dokument expiruje za %d hodin.",
- "Tento dokument expiruje za %d hodin."
+ "Tento dokument expiruje za %d hodinu.",
+ "Tento dokument expiruje za %d hodiny.",
+ "Tento dokument expiruje za %d hodin.",
+ "Tento dokument expiruje za %d hodin.",
+ "Tento dokument expiruje za %d hodin.",
+ "Tento dokument expiruje za %d hodin."
],
"This document will expire in %d days.": [
- "Tento dokument expiruje za %d den.",
- "Tento dokument expiruje za %d dny.",
- "Tento dokument expiruje za %d dny.",
- "Tento dokument expiruje za %d dny.",
- "Tento dokument expiruje za %d dny.",
- "Tento dokument expiruje za %d dny."
+ "Tento dokument expiruje za %d den.",
+ "Tento dokument expiruje za %d dny.",
+ "Tento dokument expiruje za %d dní.",
+ "Tento dokument expiruje za %d dní.",
+ "Tento dokument expiruje za %d dní.",
+ "Tento dokument expiruje za %d dní."
],
"This document will expire in %d months.": [
- "Tento dokument expiruje za %d měsíc.",
- "Tento dokument expiruje za %d měsíce.",
- "Tento dokument expiruje za %d měsíců.",
- "Tento dokument expiruje za %d měsíců.",
- "Tento dokument expiruje za %d měsíců.",
- "Tento dokument expiruje za %d měsíců."
+ "Tento dokument expiruje za %d měsíc.",
+ "Tento dokument expiruje za %d měsíce.",
+ "Tento dokument expiruje za %d měsíců.",
+ "Tento dokument expiruje za %d měsíců.",
+ "Tento dokument expiruje za %d měsíců.",
+ "Tento dokument expiruje za %d měsíců."
],
- "Please enter the password for this paste:": "Zadejte prosím heslo:",
+ "Please enter the password for this paste:": "Zadejte prosím heslo k tomuto příspěvku:",
"Could not decrypt data (Wrong key?)": "Nepodařilo se dešifrovat data (Špatný klíč?)",
- "Could not delete the paste, it was not stored in burn after reading mode.": "Nepodařilo se odstranit příspěvek, nebyl uložen v režimu smazání po přečtení.",
+ "Could not delete the paste, it was not stored in burn after reading mode.": "Nepodařilo se odstranit příspěvek, nebyl uložen v režimu smazání po přečtení.",
"FOR YOUR EYES ONLY. Don't close this window, this message can't be displayed again.": "POUZE PRO VAŠE OČI. Nezavírejte toto okno, tuto zprávu nelze znovu zobrazit.",
"Could not decrypt comment; Wrong key?": "Nepodařilo se dešifrovat komentář; Špatný klíč?",
"Reply": "Odpovědět",
"Anonymous": "Anonym",
- "Avatar generated from IP address": "Avatar vygenerován z IP adresy",
+ "Avatar generated from IP address": "Avatar vygenerován podle IP adresy",
"Add comment": "Přidat komentář",
- "Optional nickname…": "Volitelný nickname…",
+ "Optional nickname…": "Nepovinná přezdívka…",
"Post comment": "Odeslat komentář",
"Sending comment…": "Odesílání komentáře…",
"Comment posted.": "Komentář odeslán.",
@@ -151,10 +151,10 @@
"server error or not responding": "Chyba na serveru nebo server neodpovídá",
"Could not post comment: %s": "Nelze odeslat komentář: %s",
"Sending paste…": "Odesílání příspěvku…",
- "Your paste is %s(Hit [Ctrl]+[c] to copy)": "Váš link je %s(Stiskněte [Ctrl]+[c] pro zkopírování)",
+ "Your paste is %s(Hit [Ctrl]+[c] to copy)": "Váš příspěvek je %s(Stiskněte [Ctrl]+[c] pro zkopírování)",
"Delete data": "Odstranit data",
- "Could not create paste: %s": "Nelze vytvořit příspěvek: %s",
- "Cannot decrypt paste: Decryption key missing in URL (Did you use a redirector or an URL shortener which strips part of the URL?)": "Nepodařilo se dešifrovat příspěvek: V adrese chybí dešifrovací klíč (Možnou příčinou může být URL shortener?)",
+ "Could not create paste: %s": "Nepodařilo se vytvořit příspěvek: %s",
+ "Cannot decrypt paste: Decryption key missing in URL (Did you use a redirector or an URL shortener which strips part of the URL?)": "Nepodařilo se dešifrovat příspěvek: V adrese chybí dešifrovací klíč (Nepoužili jste přesměrovač nebo zkracovač URL, který maže části URL?)",
"B": "B",
"KiB": "KiB",
"MiB": "MiB",
@@ -165,59 +165,59 @@
"ZiB": "ZiB",
"YiB": "YiB",
"Format": "Formát",
- "Plain Text": "Prostý Text",
+ "Plain Text": "Prostý text",
"Source Code": "Zdrojový kód",
"Markdown": "Markdown",
"Download attachment": "Stáhnout přílohu",
- "Cloned: '%s'": "Klonováno: '%s'",
- "The cloned file '%s' was attached to this paste.": "Naklonovaný soubor '%s' byl připojen k tomuto příspěvku.",
+ "Cloned: '%s'": "Naklonováno: '%s'",
+ "The cloned file '%s' was attached to this paste.": "Naklonovaný soubor „%s“ byl připojen k tomuto příspěvku.",
"Attach a file": "Připojit soubor",
- "alternatively drag & drop a file or paste an image from the clipboard": "alternativně přetáhněte soubor nebo vložte obrázek ze schránky",
+ "alternatively drag & drop a file or paste an image from the clipboard": "případně přetáhněte soubor nebo vložte obrázek ze schránky",
"File too large, to display a preview. Please download the attachment.": "Soubor je příliš velký pro zobrazení náhledu. Stáhněte si přílohu.",
"Remove attachment": "Odstranit přílohu",
"Your browser does not support uploading encrypted files. Please use a newer browser.": "Váš prohlížeč nepodporuje nahrávání šifrovaných souborů. Použijte modernější verzi prohlížeče.",
"Invalid attachment.": "Chybná příloha.",
- "Options": "Volby",
+ "Options": "Možnosti",
"Shorten URL": "Zkrátit URL",
"Editor": "Editor",
"Preview": "Náhled",
- "%s requires the PATH to end in a \"%s\". Please update the PATH in your index.php.": "%s vyžaduje, aby PATH skončil s \"%s\". Aktualizujte PATH ve vašem souboru index.php.",
+ "%s requires the PATH to end in a \"%s\". Please update the PATH in your index.php.": "%s vyžaduje, aby PATH končilo na „%s“. Aktualizujte PATH ve vašem souboru index.php.",
"Decrypt": "Dešifrovat",
"Enter password": "Zadejte heslo",
"Loading…": "Načítání…",
"Decrypting paste…": "Dešifruji příspěvek…",
"Preparing new paste…": "Připravuji nový příspěvek…",
- "In case this message never disappears please have a look at this FAQ for information to troubleshoot.": "V případě, že tato zpráva nezmizí, se podívejte na tyto často kladené otázky pro řešení.",
- "+++ no paste text +++": "+++ žádný vložený text +++",
+ "In case this message never disappears please have a look at this FAQ for information to troubleshoot.": "Pokud tato zpráva nezmizí, podívejte se na tyto často kladené otázky pro řešení problémů.",
+ "+++ no paste text +++": "+++ žádný text příspěvku +++",
"Could not get paste data: %s": "Nepodařilo se získat data příspěvku: %s",
"QR code": "QR kód",
- "This website is using an insecure HTTP connection! Please use it only for testing.": "Tato stránka používá nezabezpečený připojení HTTP! Použijte ji prosím jen pro testování.",
- "For more information see this FAQ entry.": "Více informací naleznete v této položce FAQ.",
+ "This website is using an insecure HTTP connection! Please use it only for testing.": "Tato stránka používá nezabezpečené HTTP připojení! Použijte ji prosím jen pro testování.",
+ "For more information see this FAQ entry.": "Více informací naleznete v této položce FAQ.",
"Your browser may require an HTTPS connection to support the WebCrypto API. Try switching to HTTPS.": "Váš prohlížeč může vyžadovat připojení HTTPS pro podporu WebCrypto API. Zkuste přepnout na HTTPS.",
- "Your browser doesn't support WebAssembly, used for zlib compression. You can create uncompressed documents, but can't read compressed ones.": "Váš prohlížeč nepodporuje WebAssembly, který se používá pro zlib kompresi. Můžete vytvořit nekomprimované dokumenty, ale nebudete moct číst ty komprimované.",
+ "Your browser doesn't support WebAssembly, used for zlib compression. You can create uncompressed documents, but can't read compressed ones.": "Váš prohlížeč nepodporuje WebAssembly, které se používá pro zlib kompresi. Můžete vytvořit nekomprimované dokumenty, ale nebudete moct číst ty komprimované.",
"waiting on user to provide a password": "čekám na zadání hesla",
"Could not decrypt data. Did you enter a wrong password? Retry with the button at the top.": "Nepodařilo se dešifrovat data. Zadali jste špatné heslo? Zkuste to znovu pomocí tlačítka nahoře.",
"Retry": "Opakovat",
- "Showing raw text…": "Zobrazuji surový text…",
+ "Showing raw text…": "Zobrazuji čistý text…",
"Notice:": "Upozornění:",
"This link will expire after %s.": "Tento odkaz vyprší za %s.",
- "This link can only be accessed once, do not use back or refresh button in your browser.": "Tento odkaz je přístupný pouze jednou, nepoužívejte tlačítko zpět ani neobnovujte tuto stránku ve vašem prohlížeči.",
+ "This link can only be accessed once, do not use back or refresh button in your browser.": "Tento odkaz je přístupný pouze jednou, nepoužívejte tlačítko zpět ani neobnovujte tuto stránku v prohlížeči.",
"Link:": "Odkaz:",
- "Recipient may become aware of your timezone, convert time to UTC?": "Příjemce se může dozvědět o vašem časovém pásmu, převést čas na UTC?",
+ "Recipient may become aware of your timezone, convert time to UTC?": "Příjemce může zjistit vaše časové pásmo, převést čas na UTC?",
"Use Current Timezone": "Použít aktuální časové pásmo",
"Convert To UTC": "Převést na UTC",
"Close": "Zavřít",
"Encrypted note on %s": "Šifrovaná poznámka ve službě %s",
- "Visit this link to see the note. Giving the URL to anyone allows them to access the note, too.": "Navštivte tento odkaz pro zobrazení poznámky. Přeposláním URL umožníte také jiným lidem přístup.",
- "URL shortener may expose your decrypt key in URL.": "Zkracovač URL může odhalit váš dešifrovací klíč v URL.",
+ "Visit this link to see the note. Giving the URL to anyone allows them to access the note, too.": "Pro zobrazení poznámky navštivte tento odkaz. Přeposláním URL umožníte přístup také jiným lidem.",
+ "URL shortener may expose your decrypt key in URL.": "Zkracovač URL může prozradit váš dešifrovací klíč v URL.",
"Save paste": "Uložit příspěvek",
- "Your IP is not authorized to create pastes.": "Vaše IP adresa nemá oprávnění k vytvoření vložení.",
- "Trying to shorten a URL that isn't pointing at our instance.": "Trying to shorten a URL that isn't pointing at our instance.",
- "Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".": "Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".",
- "Error parsing YOURLS response.": "Error parsing YOURLS response.",
- "This secret message can only be displayed once. Would you like to see it now?": "This secret message can only be displayed once. Would you like to see it now?",
- "Yes, see it": "Yes, see it",
- "Dark Mode": "Dark Mode",
- "Error compressing paste, due to missing WebAssembly support.": "Error compressing paste, due to missing WebAssembly support.",
- "Error decompressing paste, your browser does not support WebAssembly. Please use another browser to view this paste.": "Error decompressing paste, your browser does not support WebAssembly. Please use another browser to view this paste."
+ "Your IP is not authorized to create pastes.": "Vaše IP adresa nemá oprávnění k vytváření příspěvků.",
+ "Trying to shorten a URL that isn't pointing at our instance.": "Pokus o zkrácení URL, které neodkazuje na naši instanci.",
+ "Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".": "Chyba volání YOURLS. Pravděpodobně chyba konfigurace, např. nesprávné či chybějící „apiurl“ nebo „signature“.",
+ "Error parsing YOURLS response.": "Chyba čtení odpovědi YOURLS.",
+ "This secret message can only be displayed once. Would you like to see it now?": "Tuto tajnou zprávu lze zobrazit pouze jednou. Chcete si ji prohlédnout teď?",
+ "Yes, see it": "Ano, zobrazit",
+ "Dark Mode": "Tmavý režim",
+ "Error compressing paste, due to missing WebAssembly support.": "Chyba při komprimování příspěvku kvůli chybějící podpoře WebAssembly.",
+ "Error decompressing paste, your browser does not support WebAssembly. Please use another browser to view this paste.": "Chyba při dekomprimování příspěvku, váš prohlížeč nepodporuje WebAssembly. Pro zobrazení tohoto příspěvku prosím použijte jiný prohlížeč."
}
From d69d29f3a940b443760f1e227df6628e3f4cfb3f Mon Sep 17 00:00:00 2001
From: parthiv-m
Date: Mon, 7 Oct 2024 17:42:37 -0400
Subject: [PATCH 07/50] Fix: Once a paste is deleted, navigate to the home page
after 5 seconds; change type of the corresponding alert to alert-success
---
js/privatebin.js | 5 ++++-
tpl/bootstrap.php | 2 +-
tpl/bootstrap5.php | 2 +-
3 files changed, 6 insertions(+), 3 deletions(-)
diff --git a/js/privatebin.js b/js/privatebin.js
index 9c843628..a5ab23bd 100644
--- a/js/privatebin.js
+++ b/js/privatebin.js
@@ -5626,8 +5626,11 @@ jQuery.PrivateBin = (function($, RawDeflate) {
me.initZ();
// if delete token is passed (i.e. paste has been deleted by this
- // access), there is nothing more to do
+ // access), redirect to baseurl after 5 seconds
if (Model.hasDeleteToken()) {
+ setTimeout(() => {
+ UiHelper.reloadHome();
+ }, 5000);
return;
}
diff --git a/tpl/bootstrap.php b/tpl/bootstrap.php
index 901bced7..74712355 100644
--- a/tpl/bootstrap.php
+++ b/tpl/bootstrap.php
@@ -490,7 +490,7 @@ if ($FILEUPLOAD) :
-
+
diff --git a/tpl/bootstrap5.php b/tpl/bootstrap5.php
index 298c1684..011e388c 100644
--- a/tpl/bootstrap5.php
+++ b/tpl/bootstrap5.php
@@ -353,7 +353,7 @@ if ($FILEUPLOAD) :
-
+
From 55e5f65cbd9fd17e4512028cd26da0f9c785f354 Mon Sep 17 00:00:00 2001
From: PrivateBin Translator Bot
<72346835+privatebin-translator@users.noreply.github.com>
Date: Tue, 8 Oct 2024 23:30:43 +0200
Subject: [PATCH 08/50] New translations en.json (Polish)
---
i18n/pl.json | 36 ++++++++++++++++++------------------
1 file changed, 18 insertions(+), 18 deletions(-)
diff --git a/i18n/pl.json b/i18n/pl.json
index 51f38eed..78d3e030 100644
--- a/i18n/pl.json
+++ b/i18n/pl.json
@@ -167,7 +167,7 @@
"Format": "Format",
"Plain Text": "Czysty tekst",
"Source Code": "Kod źródłowy",
- "Markdown": "Markdown",
+ "Markdown": "Znakowanie",
"Download attachment": "Pobierz załącznik",
"Cloned: '%s'": "Sklonowano: '%s'",
"The cloned file '%s' was attached to this paste.": "Sklonowany plik '%s' był dołączony do tej wklejki.",
@@ -181,7 +181,7 @@
"Shorten URL": "Skróć adres URL",
"Editor": "Edytować",
"Preview": "Podgląd",
- "%s requires the PATH to end in a \"%s\". Please update the PATH in your index.php.": "%s requires the PATH to end in a \"%s\". Please update the PATH in your index.php.",
+ "%s requires the PATH to end in a \"%s\". Please update the PATH in your index.php.": "%s wymaga zmiennej PATH zakończonej w \"%s\". Zaktualizuj zmienną PATH w index.php.",
"Decrypt": "Odszyfruj",
"Enter password": "Wpisz hasło",
"Loading…": "Wczytywanie…",
@@ -191,22 +191,22 @@
"+++ no paste text +++": "+++ brak wklejonego tekstu +++",
"Could not get paste data: %s": "Nie można było pobrać danych wklejki: %s",
"QR code": "Kod QR",
- "This website is using an insecure HTTP connection! Please use it only for testing.": "This website is using an insecure HTTP connection! Please use it only for testing.",
- "For more information see this FAQ entry.": "For more information see this FAQ entry.",
- "Your browser may require an HTTPS connection to support the WebCrypto API. Try switching to HTTPS.": "Your browser may require an HTTPS connection to support the WebCrypto API. Try switching to HTTPS.",
- "Your browser doesn't support WebAssembly, used for zlib compression. You can create uncompressed documents, but can't read compressed ones.": "Your browser doesn't support WebAssembly, used for zlib compression. You can create uncompressed documents, but can't read compressed ones.",
- "waiting on user to provide a password": "waiting on user to provide a password",
- "Could not decrypt data. Did you enter a wrong password? Retry with the button at the top.": "Could not decrypt data. Did you enter a wrong password? Retry with the button at the top.",
- "Retry": "Retry",
- "Showing raw text…": "Showing raw text…",
- "Notice:": "Notice:",
- "This link will expire after %s.": "This link will expire after %s.",
- "This link can only be accessed once, do not use back or refresh button in your browser.": "This link can only be accessed once, do not use back or refresh button in your browser.",
- "Link:": "Link:",
- "Recipient may become aware of your timezone, convert time to UTC?": "Recipient may become aware of your timezone, convert time to UTC?",
- "Use Current Timezone": "Use Current Timezone",
- "Convert To UTC": "Convert To UTC",
- "Close": "Close",
+ "This website is using an insecure HTTP connection! Please use it only for testing.": "Ta witryna używa niezabezpieczonego połączenia HTTP! Używaj jej wyłącznie do testowania.",
+ "For more information see this FAQ entry.": "Aby uzyskać więcej informacji, sprawdź to często zadawane pytanie.",
+ "Your browser may require an HTTPS connection to support the WebCrypto API. Try switching to HTTPS.": "Twoja przeglądarka może wymagać połączenia HTTPS do obsługi API WebCrypto. Wypróbuj przełączenie na HTTPS.",
+ "Your browser doesn't support WebAssembly, used for zlib compression. You can create uncompressed documents, but can't read compressed ones.": "Twoja przeglądarka nie obsługuje WebAssembly używanego do kompresji zlib. Możesz utworzyć nieskompresowane dokumenty, ale nie możesz odczytać skompresowanych.",
+ "waiting on user to provide a password": "oczekiwanie na podanie hasła przez użytkownika",
+ "Could not decrypt data. Did you enter a wrong password? Retry with the button at the top.": "Błąd odszyfrowywania danych. Czy wprowadzono niepoprawne hasło? Spróbuj ponownie, używając przycisku na górze.",
+ "Retry": "Ponów",
+ "Showing raw text…": "Pokazywanie nieprzetworzonego tekstu…",
+ "Notice:": "Uwaga:",
+ "This link will expire after %s.": "Ten odnośnik wygaśnie po %s.",
+ "This link can only be accessed once, do not use back or refresh button in your browser.": "Tego odnośnika można użyć tylko jeden raz. Nie cofaj ani nie odświeżaj strony w przeglądarce.",
+ "Link:": "Odnośnik:",
+ "Recipient may become aware of your timezone, convert time to UTC?": "Odbiorca może uzyskać informację o twojej strefie czasowej. Zamienić czas na UTC?",
+ "Use Current Timezone": "Użyj bieżącej strefy czasowej",
+ "Convert To UTC": "Zamień na UTC",
+ "Close": "Zamknij",
"Encrypted note on %s": "Encrypted note on %s",
"Visit this link to see the note. Giving the URL to anyone allows them to access the note, too.": "Visit this link to see the note. Giving the URL to anyone allows them to access the note, too.",
"URL shortener may expose your decrypt key in URL.": "URL shortener may expose your decrypt key in URL.",
From 004053105757ecc88c3812a3d647a3d43ff1a9a0 Mon Sep 17 00:00:00 2001
From: El RIDO
Date: Wed, 9 Oct 2024 07:04:12 +0200
Subject: [PATCH 09/50] fix Czech translation tests, test strings now use a
non-breaking space
---
tst/I18nTest.php | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/tst/I18nTest.php b/tst/I18nTest.php
index 14292400..af0acfb0 100644
--- a/tst/I18nTest.php
+++ b/tst/I18nTest.php
@@ -154,10 +154,10 @@ class I18nTest extends TestCase
$_SERVER['HTTP_ACCEPT_LANGUAGE'] = 'cs;q=0.8,en-GB;q=0.6,en-US;q=0.4,en;q=0.2';
I18n::loadTranslations();
$this->assertEquals('cs', I18n::getLanguage(), 'browser language cs');
- $this->assertEquals('1 hodina', I18n::_('%d hours', 1), '1 hour in Czech');
- $this->assertEquals('2 hodiny', I18n::_('%d hours', 2), '2 hours in Czech');
- $this->assertEquals('5 minut', I18n::_('%d minutes', 5), '5 minutes in Czech');
- $this->assertEquals('14 minut', I18n::_('%d minutes', 14), '14 minutes in Czech');
+ $this->assertEquals('1 hodina', I18n::_('%d hours', 1), '1 hour in Czech');
+ $this->assertEquals('2 hodiny', I18n::_('%d hours', 2), '2 hours in Czech');
+ $this->assertEquals('5 minut', I18n::_('%d minutes', 5), '5 minutes in Czech');
+ $this->assertEquals('14 minut', I18n::_('%d minutes', 14), '14 minutes in Czech');
}
public function testBrowserLanguageAnyDetection()
From a8331d65dfa567e22db04d740388c651dd3143a0 Mon Sep 17 00:00:00 2001
From: ensag-dev <59049879+ensag-dev@users.noreply.github.com>
Date: Thu, 10 Oct 2024 09:31:08 +0200
Subject: [PATCH 10/50] Update Occitan locale
---
i18n/oc.json | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/i18n/oc.json b/i18n/oc.json
index 3799d86c..6708fdad 100644
--- a/i18n/oc.json
+++ b/i18n/oc.json
@@ -215,9 +215,9 @@
"Trying to shorten a URL that isn't pointing at our instance.": "Ensag d’abracar una URL que mena pas a nòstra instància.",
"Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".": "Error en cridant YOURLS. Es probablament un problèma de configuracion, quicòm coma « apirul » o « signature » marrit o absent.",
"Error parsing YOURLS response.": "Error d'analisi de la responsa YOURLS.",
- "This secret message can only be displayed once. Would you like to see it now?": "This secret message can only be displayed once. Would you like to see it now?",
- "Yes, see it": "Yes, see it",
- "Dark Mode": "Dark Mode",
- "Error compressing paste, due to missing WebAssembly support.": "Error compressing paste, due to missing WebAssembly support.",
- "Error decompressing paste, your browser does not support WebAssembly. Please use another browser to view this paste.": "Error decompressing paste, your browser does not support WebAssembly. Please use another browser to view this paste."
+ "This secret message can only be displayed once. Would you like to see it now?": "Aqueste messatge secrèt se pòt pas qu'afichar un còp. Lo volètz veire ara ?",
+ "Yes, see it": "Òc, afichatz-lo",
+ "Dark Mode": "Mòde escur",
+ "Error compressing paste, due to missing WebAssembly support.": "Error al moment de la compression de l'empegatge, a causa de la manca de presa en carga de WebAssembly.",
+ "Error decompressing paste, your browser does not support WebAssembly. Please use another browser to view this paste.": "Error al moment de descompresar l'empegatge, vòstre navegador pren pas en carga WebAssembly. Mercés d'utilizar un autre navigador per visualizar aquesta pega."
}
From a36d72e9149da1b271ba956cc2be081776a210d8 Mon Sep 17 00:00:00 2001
From: El RIDO
Date: Fri, 11 Oct 2024 07:13:20 +0200
Subject: [PATCH 11/50] handle potential key cast
since we introduced strict types, this test occasionally fails when a ID consisting only of decimal numbers gets generated
---
tst/Data/FilesystemTest.php | 1 +
1 file changed, 1 insertion(+)
diff --git a/tst/Data/FilesystemTest.php b/tst/Data/FilesystemTest.php
index 76dec363..390cb66d 100644
--- a/tst/Data/FilesystemTest.php
+++ b/tst/Data/FilesystemTest.php
@@ -162,6 +162,7 @@ class FilesystemTest extends TestCase
// check that all 10 pastes were converted after the purge
$this->_model->purge(10);
foreach ($ids as $dataid => $storagedir) {
+ $dataid = (string) $dataid; // undue potential key cast, see https://www.php.net/manual/en/language.types.array.php
$this->assertFileExists($storagedir . $dataid . '.php', "paste $dataid exists in new format");
$this->assertFileDoesNotExist($storagedir . $dataid, "old format paste $dataid got removed");
$this->assertTrue($this->_model->exists($dataid), "paste $dataid exists");
From aafc143a5ac5a9c3c9174d249e6dde6c6a733c14 Mon Sep 17 00:00:00 2001
From: El RIDO
Date: Fri, 11 Oct 2024 07:14:18 +0200
Subject: [PATCH 12/50] strict types in templates
---
tpl/bootstrap.php | 2 +-
tpl/bootstrap5.php | 2 +-
tpl/page.php | 2 +-
tpl/yourlsproxy.php | 2 +-
4 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/tpl/bootstrap.php b/tpl/bootstrap.php
index 901bced7..3cc2331c 100644
--- a/tpl/bootstrap.php
+++ b/tpl/bootstrap.php
@@ -1,4 +1,4 @@
-
>
diff --git a/tpl/page.php b/tpl/page.php
index 299e877b..ffe0a2cd 100644
--- a/tpl/page.php
+++ b/tpl/page.php
@@ -1,4 +1,4 @@
-
>
diff --git a/tpl/yourlsproxy.php b/tpl/yourlsproxy.php
index fc56ba82..bb63d6ce 100644
--- a/tpl/yourlsproxy.php
+++ b/tpl/yourlsproxy.php
@@ -1,4 +1,4 @@
-
>
From b5da63318d19ff959a18e4ff7dca4933fb4ef09d Mon Sep 17 00:00:00 2001
From: PrivateBin Translator Bot
<72346835+privatebin-translator@users.noreply.github.com>
Date: Fri, 11 Oct 2024 14:12:31 +0200
Subject: [PATCH 13/50] New translations en.json (Polish)
---
i18n/pl.json | 24 ++++++++++++------------
1 file changed, 12 insertions(+), 12 deletions(-)
diff --git a/i18n/pl.json b/i18n/pl.json
index 78d3e030..0f389ec0 100644
--- a/i18n/pl.json
+++ b/i18n/pl.json
@@ -207,17 +207,17 @@
"Use Current Timezone": "Użyj bieżącej strefy czasowej",
"Convert To UTC": "Zamień na UTC",
"Close": "Zamknij",
- "Encrypted note on %s": "Encrypted note on %s",
- "Visit this link to see the note. Giving the URL to anyone allows them to access the note, too.": "Visit this link to see the note. Giving the URL to anyone allows them to access the note, too.",
- "URL shortener may expose your decrypt key in URL.": "URL shortener may expose your decrypt key in URL.",
- "Save paste": "Save paste",
- "Your IP is not authorized to create pastes.": "Your IP is not authorized to create pastes.",
- "Trying to shorten a URL that isn't pointing at our instance.": "Trying to shorten a URL that isn't pointing at our instance.",
- "Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".": "Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".",
- "Error parsing YOURLS response.": "Error parsing YOURLS response.",
- "This secret message can only be displayed once. Would you like to see it now?": "This secret message can only be displayed once. Would you like to see it now?",
- "Yes, see it": "Yes, see it",
+ "Encrypted note on %s": "Zaszyfrowana notatka na %s",
+ "Visit this link to see the note. Giving the URL to anyone allows them to access the note, too.": "Naciśnij tej odnośnik, aby zobaczyć notatkę. Każda osoba z dostępem do tego adresu URL również może zobaczyć tę notatkę.",
+ "URL shortener may expose your decrypt key in URL.": "Skrócenie adresu URL może ujawnić Twój klucz odszyfrowujący w adresie URL.",
+ "Save paste": "Zapisz wklejenie",
+ "Your IP is not authorized to create pastes.": "Twój adres IP nie jest upoważniony do tworzenia wklejeń.",
+ "Trying to shorten a URL that isn't pointing at our instance.": "Próba skrócenia adresu URL wskazującego na inną instancję.",
+ "Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".": "Błąd wywoływania YOURLS. Możliwy błąd konfiguracji, taki jak błędne lub brakujące \"apiurl\" lub \"signature\".",
+ "Error parsing YOURLS response.": "Błąd przetwarzania odpowiedzi YOURLS.",
+ "This secret message can only be displayed once. Would you like to see it now?": "Tę tajną wiadomość możesz zobaczyć tylko jeden raz. Czy chcesz to zrobić teraz?",
+ "Yes, see it": "Tak, pokaż",
"Dark Mode": "Ciemny motyw",
- "Error compressing paste, due to missing WebAssembly support.": "Error compressing paste, due to missing WebAssembly support.",
- "Error decompressing paste, your browser does not support WebAssembly. Please use another browser to view this paste.": "Error decompressing paste, your browser does not support WebAssembly. Please use another browser to view this paste."
+ "Error compressing paste, due to missing WebAssembly support.": "Błąd kompresowania wklejenia przez brak obsługi WebAssembly.",
+ "Error decompressing paste, your browser does not support WebAssembly. Please use another browser to view this paste.": "Błąd dekompresowania wklejenia przez brak obsługi WebAssembly przez przeglądarkę. Użyj innej przeglądarki, aby zobaczyć to wklejenie."
}
From f2b60d3765185e458096ba96fb0786da2d729fee Mon Sep 17 00:00:00 2001
From: parthiv-m
Date: Sun, 13 Oct 2024 17:45:05 -0400
Subject: [PATCH 14/50] Add _is_deleted status message to Controller and prompt
for button click after paste delete
---
js/privatebin.js | 6 +++---
lib/Controller.php | 10 ++++++++++
tpl/bootstrap.php | 7 +++++--
tpl/bootstrap5.php | 11 ++++++++---
4 files changed, 26 insertions(+), 8 deletions(-)
diff --git a/js/privatebin.js b/js/privatebin.js
index a5ab23bd..37a077df 100644
--- a/js/privatebin.js
+++ b/js/privatebin.js
@@ -5626,11 +5626,11 @@ jQuery.PrivateBin = (function($, RawDeflate) {
me.initZ();
// if delete token is passed (i.e. paste has been deleted by this
- // access), redirect to baseurl after 5 seconds
+ // access), add an event listener for the 'new' paste button in the alert
if (Model.hasDeleteToken()) {
- setTimeout(() => {
+ $("#new-from-alert").on("click", function () {
UiHelper.reloadHome();
- }, 5000);
+ });
return;
}
diff --git a/lib/Controller.php b/lib/Controller.php
index 58d1369d..d07adda2 100644
--- a/lib/Controller.php
+++ b/lib/Controller.php
@@ -67,6 +67,14 @@ class Controller
*/
private $_status = '';
+ /**
+ * status message
+ *
+ * @access private
+ * @var boolean
+ */
+ private $_is_deleted = false;
+
/**
* JSON message
*
@@ -309,6 +317,7 @@ class Controller
// Paste exists and deletion token is valid: Delete the paste.
$paste->delete();
$this->_status = 'Paste was properly deleted.';
+ $this->_is_deleted = true;
} else {
$this->_error = 'Wrong deletion token. Paste was not deleted.';
}
@@ -412,6 +421,7 @@ class Controller
}
$page->assign('BASEPATH', I18n::_($this->_conf->getKey('basepath')));
$page->assign('STATUS', I18n::_($this->_status));
+ $page->assign('ISDELETED', I18n::_(json_encode($this->_is_deleted)));
$page->assign('VERSION', self::VERSION);
$page->assign('DISCUSSION', $this->_conf->getKey('discussion'));
$page->assign('OPENDISCUSSION', $this->_conf->getKey('opendiscussion'));
diff --git a/tpl/bootstrap.php b/tpl/bootstrap.php
index 74712355..37ff6f73 100644
--- a/tpl/bootstrap.php
+++ b/tpl/bootstrap.php
@@ -489,10 +489,13 @@ if ($FILEUPLOAD) :
-
+?>
+
+
diff --git a/tpl/bootstrap5.php b/tpl/bootstrap5.php
index 011e388c..b94e564c 100644
--- a/tpl/bootstrap5.php
+++ b/tpl/bootstrap5.php
@@ -353,9 +353,14 @@ if ($FILEUPLOAD) :
-
-
-
+
+
+
+
+
+
From 5acecdb879729290e48f3a2b6a05d81c1f5cb87e Mon Sep 17 00:00:00 2001
From: parthiv-m
Date: Sun, 13 Oct 2024 17:51:45 -0400
Subject: [PATCH 15/50] Fix for styleci failures
---
lib/Controller.php | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/lib/Controller.php b/lib/Controller.php
index d07adda2..fb012f10 100644
--- a/lib/Controller.php
+++ b/lib/Controller.php
@@ -71,7 +71,7 @@ class Controller
* status message
*
* @access private
- * @var boolean
+ * @var bool
*/
private $_is_deleted = false;
@@ -316,7 +316,7 @@ class Controller
if (hash_equals($paste->getDeleteToken(), $deletetoken)) {
// Paste exists and deletion token is valid: Delete the paste.
$paste->delete();
- $this->_status = 'Paste was properly deleted.';
+ $this->_status = 'Paste was properly deleted.';
$this->_is_deleted = true;
} else {
$this->_error = 'Wrong deletion token. Paste was not deleted.';
From 773c56fc94136d3f05d315368378211b3003a8ec Mon Sep 17 00:00:00 2001
From: parthiv-m
Date: Mon, 14 Oct 2024 12:54:36 -0400
Subject: [PATCH 16/50] Fix conditional display of 'New' paste button on alert
---
tpl/bootstrap.php | 10 +++++++---
tpl/bootstrap5.php | 10 +++++++---
2 files changed, 14 insertions(+), 6 deletions(-)
diff --git a/tpl/bootstrap.php b/tpl/bootstrap.php
index 37ff6f73..cc69891a 100644
--- a/tpl/bootstrap.php
+++ b/tpl/bootstrap.php
@@ -493,9 +493,13 @@ endif;
From e675b2547f4e0de97d260fea4467b8a04d73a8e1 Mon Sep 17 00:00:00 2001
From: rugk
Date: Wed, 16 Oct 2024 23:09:00 +0200
Subject: [PATCH 17/50] Fix
Fixes https://github.com/PrivateBin/PrivateBin/issues/1420
I have not tested it practically (just a quick hotfix), but given the code history and this was what worked before, I guess this should work. :upside_down_face:
---
js/privatebin.js | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/js/privatebin.js b/js/privatebin.js
index 9c843628..fbd599f3 100644
--- a/js/privatebin.js
+++ b/js/privatebin.js
@@ -3988,7 +3988,7 @@ jQuery.PrivateBin = (function($, RawDeflate) {
}
emailBody += I18n._('Link:');
emailBody += EOL;
- emailBody += $('#pasteurl').attr('href'); // might have been shortened
+ emailBody += $('#pasteurl').attr('href') || window.location.href; // href is tried first as it might have been shortened
return emailBody;
}
From ff3a9eea79c50ef3ff3c3832e015d7b84064327e Mon Sep 17 00:00:00 2001
From: rugk
Date: Wed, 16 Oct 2024 21:40:17 +0000
Subject: [PATCH 18/50] Improve devcontainer experience by linking sample
config as real config
---
.devcontainer/postCreateCommand.sh | 1 +
1 file changed, 1 insertion(+)
diff --git a/.devcontainer/postCreateCommand.sh b/.devcontainer/postCreateCommand.sh
index dd613dbe..0f289757 100755
--- a/.devcontainer/postCreateCommand.sh
+++ b/.devcontainer/postCreateCommand.sh
@@ -1,5 +1,6 @@
#!/bin/sh
+ln -s ./conf.sample.php cfg/conf.php
composer install --no-dev --optimize-autoloader
sudo chmod a+x "$(pwd)" && sudo rm -rf /var/www/html && sudo ln -s "$(pwd)" /var/www/html
npm install --global nyc
From eabf763c41d08df92f0b0e9a090fe2bdbae561f6 Mon Sep 17 00:00:00 2001
From: rugk
Date: Wed, 16 Oct 2024 22:27:50 +0000
Subject: [PATCH 19/50] Move jquery initialisation/startup logic at the
end/down
---
js/privatebin.js | 16 ++++++++--------
1 file changed, 8 insertions(+), 8 deletions(-)
diff --git a/js/privatebin.js b/js/privatebin.js
index 9c843628..24afd18e 100644
--- a/js/privatebin.js
+++ b/js/privatebin.js
@@ -34,13 +34,6 @@ jQuery.fn.draghover = function() {
});
};
-// main application start, called when DOM is fully loaded
-jQuery(document).ready(function() {
- 'use strict';
- // run main controller
- $.PrivateBin.Controller.init();
-});
-
jQuery.PrivateBin = (function($, RawDeflate) {
'use strict';
@@ -3768,7 +3761,7 @@ jQuery.PrivateBin = (function($, RawDeflate) {
/**
* Clear the password input in the top navigation
- *
+ *
* @name TopNav.clearPasswordInput
* @function
*/
@@ -5671,3 +5664,10 @@ jQuery.PrivateBin = (function($, RawDeflate) {
Controller: Controller
};
})(jQuery, RawDeflate);
+
+// main application start, called when DOM is fully loaded
+jQuery(document).ready(function() {
+ 'use strict';
+ // run main controller
+ $.PrivateBin.Controller.init();
+});
From 2cb10b841f3351102dfbc227d45caa810776d427 Mon Sep 17 00:00:00 2001
From: rugk
Date: Wed, 16 Oct 2024 22:29:20 +0000
Subject: [PATCH 20/50] doc: fix wrong doc missing quotation marks
---
cfg/conf.sample.php | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/cfg/conf.sample.php b/cfg/conf.sample.php
index f91c5e89..9b9f5b21 100644
--- a/cfg/conf.sample.php
+++ b/cfg/conf.sample.php
@@ -280,4 +280,5 @@ dir = PATH "data"
; Subresource integrity (SRI) hashes used in template files. Uncomment and set
; these for all js files used. See:
; https://github.com/PrivateBin/PrivateBin/wiki/FAQ#user-content-how-to-make-privatebin-work-when-i-have-changed-some-javascript-files
-;privatebin.js = sha512-[…]
+;privatebin.js = "sha512-[…]"
+
From 6631e770a07725e3040a6860240959770e4aea75 Mon Sep 17 00:00:00 2001
From: rugk
Date: Wed, 16 Oct 2024 22:30:11 +0000
Subject: [PATCH 21/50] doc: make config consistent in quoting yourls header
too as everything is unused
---
cfg/conf.sample.php | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/cfg/conf.sample.php b/cfg/conf.sample.php
index 9b9f5b21..b1279d81 100644
--- a/cfg/conf.sample.php
+++ b/cfg/conf.sample.php
@@ -259,7 +259,7 @@ dir = PATH "data"
;version = "latest"
;bucket = "my-bucket"
-[yourls]
+;[yourls]
; When using YOURLS as a "urlshortener" config item:
; - By default, "urlshortener" will point to the YOURLS API URL, with or without
; credentials, and will be visible in public on the PrivateBin web page.
From 64ed6e96ee7132cb111268cc9fe4d8540d37f588 Mon Sep 17 00:00:00 2001
From: rugk
Date: Wed, 16 Oct 2024 22:46:18 +0000
Subject: [PATCH 22/50] fix: load in WebKit again by loading jquery, base and
deflate libs non-async'ly
---
tpl/bootstrap.php | 6 +++---
tpl/bootstrap5.php | 6 +++---
2 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/tpl/bootstrap.php b/tpl/bootstrap.php
index 3cc2331c..a9306e43 100644
--- a/tpl/bootstrap.php
+++ b/tpl/bootstrap.php
@@ -42,7 +42,7 @@ if ($SYNTAXHIGHLIGHTING) :
endif;
?>
- _scriptTag('js/jquery-3.7.1.js', 'async'); ?>
+ _scriptTag('js/jquery-3.7.1.js', ''); ?>
@@ -56,8 +56,8 @@ if ($ZEROBINCOMPATIBILITY) :
endif;
?>
_scriptTag('js/zlib-1.3.1.js', 'async'); ?>
- _scriptTag('js/base-x-4.0.0.js', 'async'); ?>
- _scriptTag('js/rawinflate-0.3.js', 'async'); ?>
+ _scriptTag('js/base-x-4.0.0.js', ''); ?>
+ _scriptTag('js/rawinflate-0.3.js', ''); ?>
_scriptTag('js/bootstrap-3.4.1.js', 'defer'); ?>
- _scriptTag('js/jquery-3.7.1.js', 'defer'); ?>
+ _scriptTag('js/jquery-3.7.1.js', ''); ?>
@@ -39,8 +39,8 @@ if ($ZEROBINCOMPATIBILITY) :
endif;
?>
_scriptTag('js/zlib-1.3.1.js', 'async'); ?>
- _scriptTag('js/base-x-4.0.0.js', 'async'); ?>
- _scriptTag('js/rawinflate-0.3.js', 'async'); ?>
+ _scriptTag('js/base-x-4.0.0.js', ''); ?>
+ _scriptTag('js/rawinflate-0.3.js', ''); ?>
_scriptTag('js/bootstrap-5.3.3.js', 'async'); ?>
_scriptTag('js/dark-mode-switch.js', 'async'); ?>
Date: Wed, 16 Oct 2024 22:56:35 +0000
Subject: [PATCH 23/50] Revert "Move jquery initialisation/startup logic at the
end/down"
This reverts commit eabf763c41d08df92f0b0e9a090fe2bdbae561f6.
It is not needed anymore, apparently.
---
js/privatebin.js | 16 ++++++++--------
1 file changed, 8 insertions(+), 8 deletions(-)
diff --git a/js/privatebin.js b/js/privatebin.js
index 24afd18e..9c843628 100644
--- a/js/privatebin.js
+++ b/js/privatebin.js
@@ -34,6 +34,13 @@ jQuery.fn.draghover = function() {
});
};
+// main application start, called when DOM is fully loaded
+jQuery(document).ready(function() {
+ 'use strict';
+ // run main controller
+ $.PrivateBin.Controller.init();
+});
+
jQuery.PrivateBin = (function($, RawDeflate) {
'use strict';
@@ -3761,7 +3768,7 @@ jQuery.PrivateBin = (function($, RawDeflate) {
/**
* Clear the password input in the top navigation
- *
+ *
* @name TopNav.clearPasswordInput
* @function
*/
@@ -5664,10 +5671,3 @@ jQuery.PrivateBin = (function($, RawDeflate) {
Controller: Controller
};
})(jQuery, RawDeflate);
-
-// main application start, called when DOM is fully loaded
-jQuery(document).ready(function() {
- 'use strict';
- // run main controller
- $.PrivateBin.Controller.init();
-});
From 368e8a2ee7cece6c3be4627f2fff21df90bf835c Mon Sep 17 00:00:00 2001
From: rugk
Date: Fri, 18 Oct 2024 00:11:35 +0000
Subject: [PATCH 24/50] chore: update SRI hash
---
lib/Configuration.php | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lib/Configuration.php b/lib/Configuration.php
index 9b2717ca..3cd0b569 100644
--- a/lib/Configuration.php
+++ b/lib/Configuration.php
@@ -108,7 +108,7 @@ class Configuration
'js/kjua-0.9.0.js' => 'sha512-CVn7af+vTMBd9RjoS4QM5fpLFEOtBCoB0zPtaqIDC7sF4F8qgUSRFQQpIyEDGsr6yrjbuOLzdf20tkHHmpaqwQ==',
'js/legacy.js' => 'sha512-LYos+qXHIRqFf5ZPNphvtTB0cgzHUizu2wwcOwcwz/VIpRv9lpcBgPYz4uq6jx0INwCAj6Fbnl5HoKiLufS2jg==',
'js/prettify.js' => 'sha512-puO0Ogy++IoA2Pb9IjSxV1n4+kQkKXYAEUtVzfZpQepyDPyXk8hokiYDS7ybMogYlyyEIwMLpZqVhCkARQWLMg==',
- 'js/privatebin.js' => 'sha512-cbmXvtZ/5gZPFjQDzP3IEhUAIhFPAoM31gw2kRYCT5xOh8wv9gXeDqI/t798luRW1xdC4gaYodjEFCzrsZR4mA==',
+ 'js/privatebin.js' => 'sha512-Bkdx9h1TYuylNaUjrZ6hXIukQthmRgtvxNhnuGguiaVTEobkTKZ8hHYHp9aRUDNSi0s202CpaiUQO3ocMLqRuQ==',
'js/purify-3.1.6.js' => 'sha512-SDwfsqHZFhbcBo/6AN7Te4KoUkWHHw7TzyZCuRkkpl0o8oV4owT/lprznWWe9+qFtigb6MrF81K4CQRLN6be+A==',
'js/rawinflate-0.3.js' => 'sha512-g8uelGgJW9A/Z1tB6Izxab++oj5kdD7B4qC7DHwZkB6DGMXKyzx7v5mvap2HXueI2IIn08YlRYM56jwWdm2ucQ==',
'js/showdown-2.1.0.js' => 'sha512-WYXZgkTR0u/Y9SVIA4nTTOih0kXMEd8RRV6MLFdL6YU8ymhR528NLlYQt1nlJQbYz4EW+ZsS0fx1awhiQJme1Q==',
From 2bc5931672cc7c502074df78e976f145747d9453 Mon Sep 17 00:00:00 2001
From: rugk
Date: Fri, 18 Oct 2024 00:13:18 +0000
Subject: [PATCH 25/50] Codespace: Also ensure composer deps like phpunit are
usable in devcontainer
---
.devcontainer/postCreateCommand.sh | 3 +++
1 file changed, 3 insertions(+)
diff --git a/.devcontainer/postCreateCommand.sh b/.devcontainer/postCreateCommand.sh
index dd613dbe..9357442f 100755
--- a/.devcontainer/postCreateCommand.sh
+++ b/.devcontainer/postCreateCommand.sh
@@ -1,5 +1,8 @@
#!/bin/sh
+export PATH="$PATH:$HOME/.composer/vendor/bin"
composer install --no-dev --optimize-autoloader
+
sudo chmod a+x "$(pwd)" && sudo rm -rf /var/www/html && sudo ln -s "$(pwd)" /var/www/html
+
npm install --global nyc
From 5b245a3f8549165006218431c72b9b39c8b5a3b5 Mon Sep 17 00:00:00 2001
From: rugk
Date: Fri, 18 Oct 2024 02:18:45 +0200
Subject: [PATCH 26/50] Fix phpunit doc missing crucial step of installing GCS
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
I tried following the steps when running, for https://github.com/PrivateBin/PrivateBin/pull/1421, but this crucial one step is missing.
Maybe more was missing, most tests failed so hmm… but I only wanted it for the SRI generation and this was hard enough.
(And no, I did not feel like trying to run a container in a [dev]container, so these manual steps should better work.)
Maybe we can improve that further here, I the things I've noticed in this or the other PR.
---
doc/Running Unit Tests.md | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/doc/Running Unit Tests.md b/doc/Running Unit Tests.md
index 95078258..2eef1a1d 100644
--- a/doc/Running Unit Tests.md
+++ b/doc/Running Unit Tests.md
@@ -43,6 +43,11 @@ Example for Debian and Ubuntu:
$ sudo apt install phpunit php-gd php-sqlite3 php-xdebug
```
+Because the unit tests depend on this, you also need to install the optional. Otherwise they won't run:
+```console
+composer require google/cloud-storage
+```
+
To run the tests, change into the `tst` directory and run phpunit:
```console
From 763d6fca7e2c2f2ae8fa70679273abc3d148657f Mon Sep 17 00:00:00 2001
From: rugk
Date: Fri, 18 Oct 2024 02:20:50 +0200
Subject: [PATCH 27/50] Adding hint that you will see unrelated files and to
ignore these
---
doc/Running Unit Tests.md | 3 +++
1 file changed, 3 insertions(+)
diff --git a/doc/Running Unit Tests.md b/doc/Running Unit Tests.md
index 2eef1a1d..1a5770bc 100644
--- a/doc/Running Unit Tests.md
+++ b/doc/Running Unit Tests.md
@@ -48,6 +48,9 @@ Because the unit tests depend on this, you also need to install the optional. Ot
composer require google/cloud-storage
```
+If you do this and want to develop further, please go into `.gitignore` and adjust it to ignore the whole
+vendor directory. Otherwise your `git status` will be filled with lot's of unrelated PHP files.
+
To run the tests, change into the `tst` directory and run phpunit:
```console
From 8d435d7c141bd98ae77918d17ca904fa0a498957 Mon Sep 17 00:00:00 2001
From: rugk
Date: Fri, 18 Oct 2024 02:59:20 +0200
Subject: [PATCH 28/50] Fix style by removing optional parameter
Co-authored-by: El RIDO
---
tpl/bootstrap.php | 6 +++---
tpl/bootstrap5.php | 6 +++---
2 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/tpl/bootstrap.php b/tpl/bootstrap.php
index a9306e43..32fff583 100644
--- a/tpl/bootstrap.php
+++ b/tpl/bootstrap.php
@@ -42,7 +42,7 @@ if ($SYNTAXHIGHLIGHTING) :
endif;
?>
- _scriptTag('js/jquery-3.7.1.js', ''); ?>
+ _scriptTag('js/jquery-3.7.1.js'); ?>
@@ -56,8 +56,8 @@ if ($ZEROBINCOMPATIBILITY) :
endif;
?>
_scriptTag('js/zlib-1.3.1.js', 'async'); ?>
- _scriptTag('js/base-x-4.0.0.js', ''); ?>
- _scriptTag('js/rawinflate-0.3.js', ''); ?>
+ _scriptTag('js/base-x-4.0.0.js'); ?>
+ _scriptTag('js/rawinflate-0.3.js'); ?>
_scriptTag('js/bootstrap-3.4.1.js', 'defer'); ?>
- _scriptTag('js/jquery-3.7.1.js', ''); ?>
+ _scriptTag('js/jquery-3.7.1.js'); ?>
@@ -39,8 +39,8 @@ if ($ZEROBINCOMPATIBILITY) :
endif;
?>
_scriptTag('js/zlib-1.3.1.js', 'async'); ?>
- _scriptTag('js/base-x-4.0.0.js', ''); ?>
- _scriptTag('js/rawinflate-0.3.js', ''); ?>
+ _scriptTag('js/base-x-4.0.0.js'); ?>
+ _scriptTag('js/rawinflate-0.3.js'); ?>
_scriptTag('js/bootstrap-5.3.3.js', 'async'); ?>
_scriptTag('js/dark-mode-switch.js', 'async'); ?>
Date: Thu, 17 Oct 2024 21:56:27 -0400
Subject: [PATCH 29/50] Fix failing tests, update button icon and text
according to feedback
---
i18n/en.json | 1 +
tpl/bootstrap.php | 2 +-
tpl/bootstrap5.php | 2 +-
tst/ViewTest.php | 3 +++
4 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/i18n/en.json b/i18n/en.json
index 64bc773f..1e4d07c6 100644
--- a/i18n/en.json
+++ b/i18n/en.json
@@ -26,6 +26,7 @@
"JavaScript is required for %s to work. Sorry for the inconvenience.": "JavaScript is required for %s to work. Sorry for the inconvenience.",
"%s requires a modern browser to work.": "%s requires a modern browser to work.",
"New": "New",
+ "Start over": "Start over",
"Create": "Create",
"Clone": "Clone",
"Raw text": "Raw text",
diff --git a/tpl/bootstrap.php b/tpl/bootstrap.php
index c3c4cb19..b08cbdd9 100644
--- a/tpl/bootstrap.php
+++ b/tpl/bootstrap.php
@@ -497,7 +497,7 @@ endif;
if ((bool)$ISDELETED):
?>
diff --git a/tpl/bootstrap5.php b/tpl/bootstrap5.php
index a1c2edcc..b34328c7 100644
--- a/tpl/bootstrap5.php
+++ b/tpl/bootstrap5.php
@@ -362,7 +362,7 @@ endif;
if ((bool)$ISDELETED):
?>
diff --git a/tst/ViewTest.php b/tst/ViewTest.php
index 65b252de..26994579 100644
--- a/tst/ViewTest.php
+++ b/tst/ViewTest.php
@@ -10,6 +10,8 @@ class ViewTest extends TestCase
private static $status = '!*#@?$+';
+ private static $is_deleted = false;
+
private static $formatters = array(
'plaintext' => 'Plain Text',
'syntaxhighlighting' => 'Source Code',
@@ -38,6 +40,7 @@ class ViewTest extends TestCase
$page->assign('BASEPATH', '');
$page->assign('ERROR', self::$error);
$page->assign('STATUS', self::$status);
+ $page->assign('ISDELETED', self::$is_deleted);
$page->assign('VERSION', self::$version);
$page->assign('DISCUSSION', true);
$page->assign('OPENDISCUSSION', true);
From 851dadf600906725b066db71a711b796cbc320ad Mon Sep 17 00:00:00 2001
From: parthiv-m
Date: Thu, 17 Oct 2024 21:56:42 -0400
Subject: [PATCH 30/50] Update CHANGELOG.md
---
CHANGELOG.md | 1 +
1 file changed, 1 insertion(+)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 45316680..f84060dc 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -5,6 +5,7 @@
* CHANGED: Simpler PostgreSQL table lookup query (#1361)
* CHANGED: SRI hashes are now configurable, no longer hardcoded in templates (#1365)
* CHANGED: Upgrading libraries to: DOMpurify 3.1.6
+* ADDED: Show a button (that redirects to the `basepath` URL) inside the alert after a paste is deleted
## 1.7.4 (2024-07-09)
* CHANGED: Saving markdown pastes uses `.md` extension instead of `.txt` (#1293)
From 4d2d9d75c12796e40f6c1dbd3373b8f12e20baf9 Mon Sep 17 00:00:00 2001
From: parthiv-m
Date: Fri, 18 Oct 2024 11:51:39 -0400
Subject: [PATCH 31/50] Add new key to all translation related files
---
i18n/ar.json | 3 ++-
i18n/bg.json | 3 ++-
i18n/ca.json | 3 ++-
i18n/co.json | 3 ++-
i18n/cs.json | 3 ++-
i18n/de.json | 3 ++-
i18n/el.json | 3 ++-
i18n/en.json | 4 ++--
i18n/es.json | 3 ++-
i18n/et.json | 3 ++-
i18n/fi.json | 3 ++-
i18n/fr.json | 3 ++-
i18n/he.json | 3 ++-
i18n/hi.json | 3 ++-
i18n/hu.json | 3 ++-
i18n/id.json | 3 ++-
i18n/it.json | 3 ++-
i18n/ja.json | 3 ++-
i18n/jbo.json | 3 ++-
i18n/ko.json | 3 ++-
i18n/ku.json | 3 ++-
i18n/la.json | 3 ++-
i18n/lt.json | 3 ++-
i18n/nl.json | 3 ++-
i18n/no.json | 3 ++-
i18n/oc.json | 3 ++-
i18n/pl.json | 3 ++-
i18n/pt.json | 3 ++-
i18n/ro.json | 3 ++-
i18n/ru.json | 3 ++-
i18n/sk.json | 3 ++-
i18n/sl.json | 3 ++-
i18n/sv.json | 3 ++-
i18n/th.json | 3 ++-
i18n/tr.json | 3 ++-
i18n/uk.json | 3 ++-
i18n/zh.json | 3 ++-
37 files changed, 74 insertions(+), 38 deletions(-)
diff --git a/i18n/ar.json b/i18n/ar.json
index 5fffac70..66138b38 100644
--- a/i18n/ar.json
+++ b/i18n/ar.json
@@ -219,5 +219,6 @@
"Yes, see it": "نعم، حمله",
"Dark Mode": "الوضع الداكن",
"Error compressing paste, due to missing WebAssembly support.": "Error compressing paste, due to missing WebAssembly support.",
- "Error decompressing paste, your browser does not support WebAssembly. Please use another browser to view this paste.": "Error decompressing paste, your browser does not support WebAssembly. Please use another browser to view this paste."
+ "Error decompressing paste, your browser does not support WebAssembly. Please use another browser to view this paste.": "Error decompressing paste, your browser does not support WebAssembly. Please use another browser to view this paste.",
+ "Start over": "Start over"
}
diff --git a/i18n/bg.json b/i18n/bg.json
index 44b669a2..14194e0c 100644
--- a/i18n/bg.json
+++ b/i18n/bg.json
@@ -219,5 +219,6 @@
"Yes, see it": "Yes, see it",
"Dark Mode": "Dark Mode",
"Error compressing paste, due to missing WebAssembly support.": "Error compressing paste, due to missing WebAssembly support.",
- "Error decompressing paste, your browser does not support WebAssembly. Please use another browser to view this paste.": "Error decompressing paste, your browser does not support WebAssembly. Please use another browser to view this paste."
+ "Error decompressing paste, your browser does not support WebAssembly. Please use another browser to view this paste.": "Error decompressing paste, your browser does not support WebAssembly. Please use another browser to view this paste.",
+ "Start over": "Start over"
}
diff --git a/i18n/ca.json b/i18n/ca.json
index fca160e7..fbfb6bb6 100644
--- a/i18n/ca.json
+++ b/i18n/ca.json
@@ -219,5 +219,6 @@
"Yes, see it": "Yes, see it",
"Dark Mode": "Dark Mode",
"Error compressing paste, due to missing WebAssembly support.": "Error de compressió de la nota, no hi ha suport de WebAssembly.",
- "Error decompressing paste, your browser does not support WebAssembly. Please use another browser to view this paste.": "Error decompressing paste, your browser does not support WebAssembly. Please use another browser to view this paste."
+ "Error decompressing paste, your browser does not support WebAssembly. Please use another browser to view this paste.": "Error decompressing paste, your browser does not support WebAssembly. Please use another browser to view this paste.",
+ "Start over": "Start over"
}
diff --git a/i18n/co.json b/i18n/co.json
index d59bdb22..55ba126a 100644
--- a/i18n/co.json
+++ b/i18n/co.json
@@ -219,5 +219,6 @@
"Yes, see it": "Iè, fighjallu",
"Dark Mode": "Modu scuru",
"Error compressing paste, due to missing WebAssembly support.": "Sbagliu durante a cumpressione di l’appiccicu, perchè WebAssembly ùn hè micca accettatu.",
- "Error decompressing paste, your browser does not support WebAssembly. Please use another browser to view this paste.": "Sbagliu durante a scumpressione di l’appiccicu, perchè u vostru navigatore ùn accetteghja micca WebAssembly. Ci vole à impiegà un altru navigatore per affissà st’appiccicu."
+ "Error decompressing paste, your browser does not support WebAssembly. Please use another browser to view this paste.": "Sbagliu durante a scumpressione di l’appiccicu, perchè u vostru navigatore ùn accetteghja micca WebAssembly. Ci vole à impiegà un altru navigatore per affissà st’appiccicu.",
+ "Start over": "Start over"
}
diff --git a/i18n/cs.json b/i18n/cs.json
index 052d9cbc..b81f0f7c 100644
--- a/i18n/cs.json
+++ b/i18n/cs.json
@@ -219,5 +219,6 @@
"Yes, see it": "Ano, zobrazit",
"Dark Mode": "Tmavý režim",
"Error compressing paste, due to missing WebAssembly support.": "Chyba při komprimování příspěvku kvůli chybějící podpoře WebAssembly.",
- "Error decompressing paste, your browser does not support WebAssembly. Please use another browser to view this paste.": "Chyba při dekomprimování příspěvku, váš prohlížeč nepodporuje WebAssembly. Pro zobrazení tohoto příspěvku prosím použijte jiný prohlížeč."
+ "Error decompressing paste, your browser does not support WebAssembly. Please use another browser to view this paste.": "Chyba při dekomprimování příspěvku, váš prohlížeč nepodporuje WebAssembly. Pro zobrazení tohoto příspěvku prosím použijte jiný prohlížeč.",
+ "Start over": "Start over"
}
diff --git a/i18n/de.json b/i18n/de.json
index 8bc311bd..6f2bcaab 100644
--- a/i18n/de.json
+++ b/i18n/de.json
@@ -219,5 +219,6 @@
"Yes, see it": "Ja, jetzt einsehen",
"Dark Mode": "Nachtmodus",
"Error compressing paste, due to missing WebAssembly support.": "Fehler beim Komprimieren des Textes, da WebAssembly-Unterstützung fehlt.",
- "Error decompressing paste, your browser does not support WebAssembly. Please use another browser to view this paste.": "Fehler beim Dekomprimieren des Textes. Dein Browser unterstützt WebAssembly nicht. Bitte verwende einen anderen Browser, um diesen Text anzuzeigen."
+ "Error decompressing paste, your browser does not support WebAssembly. Please use another browser to view this paste.": "Fehler beim Dekomprimieren des Textes. Dein Browser unterstützt WebAssembly nicht. Bitte verwende einen anderen Browser, um diesen Text anzuzeigen.",
+ "Start over": "Start over"
}
diff --git a/i18n/el.json b/i18n/el.json
index 746b4dc5..07f81d7a 100644
--- a/i18n/el.json
+++ b/i18n/el.json
@@ -219,5 +219,6 @@
"Yes, see it": "Ναι, δείτε το",
"Dark Mode": "Σκοτεινό Θέμα",
"Error compressing paste, due to missing WebAssembly support.": "Σφάλμα συμπίεσης επικόλλησης, λόγω έλλειψης υποστήριξης WebAssembly.",
- "Error decompressing paste, your browser does not support WebAssembly. Please use another browser to view this paste.": "Σφάλμα αποσυμπίεσης της επικόλλησης, ο περιηγητής σας δεν υποστηρίζει WebAssembly. Παρακαλούμε χρησιμοποιήστε έναν άλλο περιηγητή για να δείτε αυτή την επικόλληση."
+ "Error decompressing paste, your browser does not support WebAssembly. Please use another browser to view this paste.": "Σφάλμα αποσυμπίεσης της επικόλλησης, ο περιηγητής σας δεν υποστηρίζει WebAssembly. Παρακαλούμε χρησιμοποιήστε έναν άλλο περιηγητή για να δείτε αυτή την επικόλληση.",
+ "Start over": "Start over"
}
diff --git a/i18n/en.json b/i18n/en.json
index 1e4d07c6..abc2e80a 100644
--- a/i18n/en.json
+++ b/i18n/en.json
@@ -26,7 +26,6 @@
"JavaScript is required for %s to work. Sorry for the inconvenience.": "JavaScript is required for %s to work. Sorry for the inconvenience.",
"%s requires a modern browser to work.": "%s requires a modern browser to work.",
"New": "New",
- "Start over": "Start over",
"Create": "Create",
"Clone": "Clone",
"Raw text": "Raw text",
@@ -220,5 +219,6 @@
"Yes, see it": "Yes, see it",
"Dark Mode": "Dark Mode",
"Error compressing paste, due to missing WebAssembly support.": "Error compressing paste, due to missing WebAssembly support.",
- "Error decompressing paste, your browser does not support WebAssembly. Please use another browser to view this paste.": "Error decompressing paste, your browser does not support WebAssembly. Please use another browser to view this paste."
+ "Error decompressing paste, your browser does not support WebAssembly. Please use another browser to view this paste.": "Error decompressing paste, your browser does not support WebAssembly. Please use another browser to view this paste.",
+ "Start over": "Start over"
}
diff --git a/i18n/es.json b/i18n/es.json
index ea96caa9..40b63dfb 100644
--- a/i18n/es.json
+++ b/i18n/es.json
@@ -219,5 +219,6 @@
"Yes, see it": "Sí, verlo",
"Dark Mode": "Modo nocturno",
"Error compressing paste, due to missing WebAssembly support.": "Error compressing paste, due to missing WebAssembly support.",
- "Error decompressing paste, your browser does not support WebAssembly. Please use another browser to view this paste.": "Error decompressing paste, your browser does not support WebAssembly. Please use another browser to view this paste."
+ "Error decompressing paste, your browser does not support WebAssembly. Please use another browser to view this paste.": "Error decompressing paste, your browser does not support WebAssembly. Please use another browser to view this paste.",
+ "Start over": "Start over"
}
diff --git a/i18n/et.json b/i18n/et.json
index b58ece48..3d21e4fe 100644
--- a/i18n/et.json
+++ b/i18n/et.json
@@ -219,5 +219,6 @@
"Yes, see it": "Yes, see it",
"Dark Mode": "Tume režiim",
"Error compressing paste, due to missing WebAssembly support.": "Error compressing paste, due to missing WebAssembly support.",
- "Error decompressing paste, your browser does not support WebAssembly. Please use another browser to view this paste.": "Error decompressing paste, your browser does not support WebAssembly. Please use another browser to view this paste."
+ "Error decompressing paste, your browser does not support WebAssembly. Please use another browser to view this paste.": "Error decompressing paste, your browser does not support WebAssembly. Please use another browser to view this paste.",
+ "Start over": "Start over"
}
diff --git a/i18n/fi.json b/i18n/fi.json
index 3341555a..de5742a4 100644
--- a/i18n/fi.json
+++ b/i18n/fi.json
@@ -219,5 +219,6 @@
"Yes, see it": "Kyllä, näet sen",
"Dark Mode": "Tumma tila",
"Error compressing paste, due to missing WebAssembly support.": "Error compressing paste, due to missing WebAssembly support.",
- "Error decompressing paste, your browser does not support WebAssembly. Please use another browser to view this paste.": "Error decompressing paste, your browser does not support WebAssembly. Please use another browser to view this paste."
+ "Error decompressing paste, your browser does not support WebAssembly. Please use another browser to view this paste.": "Error decompressing paste, your browser does not support WebAssembly. Please use another browser to view this paste.",
+ "Start over": "Start over"
}
diff --git a/i18n/fr.json b/i18n/fr.json
index e4676f2e..93feec36 100644
--- a/i18n/fr.json
+++ b/i18n/fr.json
@@ -219,5 +219,6 @@
"Yes, see it": "Oui, le voir",
"Dark Mode": "Mode Sombre",
"Error compressing paste, due to missing WebAssembly support.": "Erreur lors de la compression du paste, en raison du support de WebAssembly manquant.",
- "Error decompressing paste, your browser does not support WebAssembly. Please use another browser to view this paste.": "Erreur lors de la décompression du paste, votre navigateur ne supporte pas WebAssembly. Veuillez utiliser un autre navigateur pour voir ce paste."
+ "Error decompressing paste, your browser does not support WebAssembly. Please use another browser to view this paste.": "Erreur lors de la décompression du paste, votre navigateur ne supporte pas WebAssembly. Veuillez utiliser un autre navigateur pour voir ce paste.",
+ "Start over": "Start over"
}
diff --git a/i18n/he.json b/i18n/he.json
index 22a0af1b..b32f3b8e 100644
--- a/i18n/he.json
+++ b/i18n/he.json
@@ -219,5 +219,6 @@
"Yes, see it": "Yes, see it",
"Dark Mode": "Dark Mode",
"Error compressing paste, due to missing WebAssembly support.": "Error compressing paste, due to missing WebAssembly support.",
- "Error decompressing paste, your browser does not support WebAssembly. Please use another browser to view this paste.": "Error decompressing paste, your browser does not support WebAssembly. Please use another browser to view this paste."
+ "Error decompressing paste, your browser does not support WebAssembly. Please use another browser to view this paste.": "Error decompressing paste, your browser does not support WebAssembly. Please use another browser to view this paste.",
+ "Start over": "Start over"
}
diff --git a/i18n/hi.json b/i18n/hi.json
index 64bc773f..abc2e80a 100644
--- a/i18n/hi.json
+++ b/i18n/hi.json
@@ -219,5 +219,6 @@
"Yes, see it": "Yes, see it",
"Dark Mode": "Dark Mode",
"Error compressing paste, due to missing WebAssembly support.": "Error compressing paste, due to missing WebAssembly support.",
- "Error decompressing paste, your browser does not support WebAssembly. Please use another browser to view this paste.": "Error decompressing paste, your browser does not support WebAssembly. Please use another browser to view this paste."
+ "Error decompressing paste, your browser does not support WebAssembly. Please use another browser to view this paste.": "Error decompressing paste, your browser does not support WebAssembly. Please use another browser to view this paste.",
+ "Start over": "Start over"
}
diff --git a/i18n/hu.json b/i18n/hu.json
index 3f232d97..ed652a53 100644
--- a/i18n/hu.json
+++ b/i18n/hu.json
@@ -219,5 +219,6 @@
"Yes, see it": "Yes, see it",
"Dark Mode": "Sötét mód",
"Error compressing paste, due to missing WebAssembly support.": "Error compressing paste, due to missing WebAssembly support.",
- "Error decompressing paste, your browser does not support WebAssembly. Please use another browser to view this paste.": "Error decompressing paste, your browser does not support WebAssembly. Please use another browser to view this paste."
+ "Error decompressing paste, your browser does not support WebAssembly. Please use another browser to view this paste.": "Error decompressing paste, your browser does not support WebAssembly. Please use another browser to view this paste.",
+ "Start over": "Start over"
}
diff --git a/i18n/id.json b/i18n/id.json
index e4387f95..62f94a98 100644
--- a/i18n/id.json
+++ b/i18n/id.json
@@ -219,5 +219,6 @@
"Yes, see it": "Yes, see it",
"Dark Mode": "Mode Gelap",
"Error compressing paste, due to missing WebAssembly support.": "Error compressing paste, due to missing WebAssembly support.",
- "Error decompressing paste, your browser does not support WebAssembly. Please use another browser to view this paste.": "Error decompressing paste, your browser does not support WebAssembly. Please use another browser to view this paste."
+ "Error decompressing paste, your browser does not support WebAssembly. Please use another browser to view this paste.": "Error decompressing paste, your browser does not support WebAssembly. Please use another browser to view this paste.",
+ "Start over": "Start over"
}
diff --git a/i18n/it.json b/i18n/it.json
index d972a8c5..8aa5aedf 100644
--- a/i18n/it.json
+++ b/i18n/it.json
@@ -219,5 +219,6 @@
"Yes, see it": "Sì, visualizzalo",
"Dark Mode": "Tema Scuro",
"Error compressing paste, due to missing WebAssembly support.": "Errore nella compressione dell messaggio, a causa del supporto WebAssembly mancante.",
- "Error decompressing paste, your browser does not support WebAssembly. Please use another browser to view this paste.": "Errore nella decompressione dell messaggio, il tuo browser non supporta WebAssembly. Utilizza un altro browser per visualizzare questo messaggio."
+ "Error decompressing paste, your browser does not support WebAssembly. Please use another browser to view this paste.": "Errore nella decompressione dell messaggio, il tuo browser non supporta WebAssembly. Utilizza un altro browser per visualizzare questo messaggio.",
+ "Start over": "Start over"
}
diff --git a/i18n/ja.json b/i18n/ja.json
index 48f91a72..528097d5 100644
--- a/i18n/ja.json
+++ b/i18n/ja.json
@@ -219,5 +219,6 @@
"Yes, see it": "はい、使用します",
"Dark Mode": "ダークモード",
"Error compressing paste, due to missing WebAssembly support.": "Error compressing paste, due to missing WebAssembly support.",
- "Error decompressing paste, your browser does not support WebAssembly. Please use another browser to view this paste.": "Error decompressing paste, your browser does not support WebAssembly. Please use another browser to view this paste."
+ "Error decompressing paste, your browser does not support WebAssembly. Please use another browser to view this paste.": "Error decompressing paste, your browser does not support WebAssembly. Please use another browser to view this paste.",
+ "Start over": "Start over"
}
diff --git a/i18n/jbo.json b/i18n/jbo.json
index 7cce9584..86f1d983 100644
--- a/i18n/jbo.json
+++ b/i18n/jbo.json
@@ -219,5 +219,6 @@
"Yes, see it": "Yes, see it",
"Dark Mode": "Dark Mode",
"Error compressing paste, due to missing WebAssembly support.": "Error compressing paste, due to missing WebAssembly support.",
- "Error decompressing paste, your browser does not support WebAssembly. Please use another browser to view this paste.": "Error decompressing paste, your browser does not support WebAssembly. Please use another browser to view this paste."
+ "Error decompressing paste, your browser does not support WebAssembly. Please use another browser to view this paste.": "Error decompressing paste, your browser does not support WebAssembly. Please use another browser to view this paste.",
+ "Start over": "Start over"
}
diff --git a/i18n/ko.json b/i18n/ko.json
index 64bc773f..abc2e80a 100644
--- a/i18n/ko.json
+++ b/i18n/ko.json
@@ -219,5 +219,6 @@
"Yes, see it": "Yes, see it",
"Dark Mode": "Dark Mode",
"Error compressing paste, due to missing WebAssembly support.": "Error compressing paste, due to missing WebAssembly support.",
- "Error decompressing paste, your browser does not support WebAssembly. Please use another browser to view this paste.": "Error decompressing paste, your browser does not support WebAssembly. Please use another browser to view this paste."
+ "Error decompressing paste, your browser does not support WebAssembly. Please use another browser to view this paste.": "Error decompressing paste, your browser does not support WebAssembly. Please use another browser to view this paste.",
+ "Start over": "Start over"
}
diff --git a/i18n/ku.json b/i18n/ku.json
index 84d070a7..11b87e66 100644
--- a/i18n/ku.json
+++ b/i18n/ku.json
@@ -219,5 +219,6 @@
"Yes, see it": "Yes, see it",
"Dark Mode": "جۆری ڕەش",
"Error compressing paste, due to missing WebAssembly support.": "Error compressing paste, due to missing WebAssembly support.",
- "Error decompressing paste, your browser does not support WebAssembly. Please use another browser to view this paste.": "Error decompressing paste, your browser does not support WebAssembly. Please use another browser to view this paste."
+ "Error decompressing paste, your browser does not support WebAssembly. Please use another browser to view this paste.": "Error decompressing paste, your browser does not support WebAssembly. Please use another browser to view this paste.",
+ "Start over": "Start over"
}
diff --git a/i18n/la.json b/i18n/la.json
index 45e9951c..5ee106fd 100644
--- a/i18n/la.json
+++ b/i18n/la.json
@@ -219,5 +219,6 @@
"Yes, see it": "Yes, see it",
"Dark Mode": "Dark Mode",
"Error compressing paste, due to missing WebAssembly support.": "Error compressing paste, due to missing WebAssembly support.",
- "Error decompressing paste, your browser does not support WebAssembly. Please use another browser to view this paste.": "Error decompressing paste, your browser does not support WebAssembly. Please use another browser to view this paste."
+ "Error decompressing paste, your browser does not support WebAssembly. Please use another browser to view this paste.": "Error decompressing paste, your browser does not support WebAssembly. Please use another browser to view this paste.",
+ "Start over": "Start over"
}
diff --git a/i18n/lt.json b/i18n/lt.json
index 63aeb17f..3bbf0745 100644
--- a/i18n/lt.json
+++ b/i18n/lt.json
@@ -219,5 +219,6 @@
"Yes, see it": "Taip, pamatyti",
"Dark Mode": "Tamsi veiksena",
"Error compressing paste, due to missing WebAssembly support.": "Klaida glaudinant įdėjimą, nes trūksta WebAssembly palaikymo.",
- "Error decompressing paste, your browser does not support WebAssembly. Please use another browser to view this paste.": "Klaida išglaudinant įdėjimą, jūsų naršyklė nepalaiko WebAssembly. Norėdami peržiūrėti šį įdėjimą, naudokite kitą naršyklę."
+ "Error decompressing paste, your browser does not support WebAssembly. Please use another browser to view this paste.": "Klaida išglaudinant įdėjimą, jūsų naršyklė nepalaiko WebAssembly. Norėdami peržiūrėti šį įdėjimą, naudokite kitą naršyklę.",
+ "Start over": "Start over"
}
diff --git a/i18n/nl.json b/i18n/nl.json
index 80efa6ad..39762f6e 100644
--- a/i18n/nl.json
+++ b/i18n/nl.json
@@ -219,5 +219,6 @@
"Yes, see it": "Ja, tonen",
"Dark Mode": "Donkere modus",
"Error compressing paste, due to missing WebAssembly support.": "Fout bij het comprimeren van notitie door ontbrekende ondersteuning voor WebAssembly.",
- "Error decompressing paste, your browser does not support WebAssembly. Please use another browser to view this paste.": "Fout bij het decomprimeren van de notitie, uw browser ondersteunt WebAssembly niet. Gebruik een andere browser om deze notitie te bekijken."
+ "Error decompressing paste, your browser does not support WebAssembly. Please use another browser to view this paste.": "Fout bij het decomprimeren van de notitie, uw browser ondersteunt WebAssembly niet. Gebruik een andere browser om deze notitie te bekijken.",
+ "Start over": "Start over"
}
diff --git a/i18n/no.json b/i18n/no.json
index f1850408..0917cbee 100644
--- a/i18n/no.json
+++ b/i18n/no.json
@@ -219,5 +219,6 @@
"Yes, see it": "Ja, se det",
"Dark Mode": "Mørk modus",
"Error compressing paste, due to missing WebAssembly support.": "Error compressing paste, due to missing WebAssembly support.",
- "Error decompressing paste, your browser does not support WebAssembly. Please use another browser to view this paste.": "Error decompressing paste, your browser does not support WebAssembly. Please use another browser to view this paste."
+ "Error decompressing paste, your browser does not support WebAssembly. Please use another browser to view this paste.": "Error decompressing paste, your browser does not support WebAssembly. Please use another browser to view this paste.",
+ "Start over": "Start over"
}
diff --git a/i18n/oc.json b/i18n/oc.json
index 6708fdad..d863f283 100644
--- a/i18n/oc.json
+++ b/i18n/oc.json
@@ -219,5 +219,6 @@
"Yes, see it": "Òc, afichatz-lo",
"Dark Mode": "Mòde escur",
"Error compressing paste, due to missing WebAssembly support.": "Error al moment de la compression de l'empegatge, a causa de la manca de presa en carga de WebAssembly.",
- "Error decompressing paste, your browser does not support WebAssembly. Please use another browser to view this paste.": "Error al moment de descompresar l'empegatge, vòstre navegador pren pas en carga WebAssembly. Mercés d'utilizar un autre navigador per visualizar aquesta pega."
+ "Error decompressing paste, your browser does not support WebAssembly. Please use another browser to view this paste.": "Error al moment de descompresar l'empegatge, vòstre navegador pren pas en carga WebAssembly. Mercés d'utilizar un autre navigador per visualizar aquesta pega.",
+ "Start over": "Start over"
}
diff --git a/i18n/pl.json b/i18n/pl.json
index 78d3e030..95949bf8 100644
--- a/i18n/pl.json
+++ b/i18n/pl.json
@@ -219,5 +219,6 @@
"Yes, see it": "Yes, see it",
"Dark Mode": "Ciemny motyw",
"Error compressing paste, due to missing WebAssembly support.": "Error compressing paste, due to missing WebAssembly support.",
- "Error decompressing paste, your browser does not support WebAssembly. Please use another browser to view this paste.": "Error decompressing paste, your browser does not support WebAssembly. Please use another browser to view this paste."
+ "Error decompressing paste, your browser does not support WebAssembly. Please use another browser to view this paste.": "Error decompressing paste, your browser does not support WebAssembly. Please use another browser to view this paste.",
+ "Start over": "Start over"
}
diff --git a/i18n/pt.json b/i18n/pt.json
index 34252572..2cb3b7a0 100644
--- a/i18n/pt.json
+++ b/i18n/pt.json
@@ -219,5 +219,6 @@
"Yes, see it": "Sim, veja",
"Dark Mode": "Modo Noturno",
"Error compressing paste, due to missing WebAssembly support.": "Error compressing paste, due to missing WebAssembly support.",
- "Error decompressing paste, your browser does not support WebAssembly. Please use another browser to view this paste.": "Error decompressing paste, your browser does not support WebAssembly. Please use another browser to view this paste."
+ "Error decompressing paste, your browser does not support WebAssembly. Please use another browser to view this paste.": "Error decompressing paste, your browser does not support WebAssembly. Please use another browser to view this paste.",
+ "Start over": "Start over"
}
diff --git a/i18n/ro.json b/i18n/ro.json
index 5d1d1b3b..5e264979 100644
--- a/i18n/ro.json
+++ b/i18n/ro.json
@@ -219,5 +219,6 @@
"Yes, see it": "Da, vezi",
"Dark Mode": "Mod întunecat",
"Error compressing paste, due to missing WebAssembly support.": "Eroare la compresia paste-ului din cauza incompatibilității cu WebAssembly.",
- "Error decompressing paste, your browser does not support WebAssembly. Please use another browser to view this paste.": "Eroare la deschiderea paste-ului, browserul dvs. nu acceptă WebAssembly. Vă rugăm să utilizați un alt browser pentru a vedea acest paste."
+ "Error decompressing paste, your browser does not support WebAssembly. Please use another browser to view this paste.": "Eroare la deschiderea paste-ului, browserul dvs. nu acceptă WebAssembly. Vă rugăm să utilizați un alt browser pentru a vedea acest paste.",
+ "Start over": "Start over"
}
diff --git a/i18n/ru.json b/i18n/ru.json
index d7081105..387ec8f4 100644
--- a/i18n/ru.json
+++ b/i18n/ru.json
@@ -219,5 +219,6 @@
"Yes, see it": "Да, загрузить",
"Dark Mode": "Тёмная",
"Error compressing paste, due to missing WebAssembly support.": "Error compressing paste, due to missing WebAssembly support.",
- "Error decompressing paste, your browser does not support WebAssembly. Please use another browser to view this paste.": "Error decompressing paste, your browser does not support WebAssembly. Please use another browser to view this paste."
+ "Error decompressing paste, your browser does not support WebAssembly. Please use another browser to view this paste.": "Error decompressing paste, your browser does not support WebAssembly. Please use another browser to view this paste.",
+ "Start over": "Start over"
}
diff --git a/i18n/sk.json b/i18n/sk.json
index 59390e13..6ed38c68 100644
--- a/i18n/sk.json
+++ b/i18n/sk.json
@@ -219,5 +219,6 @@
"Yes, see it": "Yes, see it",
"Dark Mode": "Tmavý Režim",
"Error compressing paste, due to missing WebAssembly support.": "Error compressing paste, due to missing WebAssembly support.",
- "Error decompressing paste, your browser does not support WebAssembly. Please use another browser to view this paste.": "Error decompressing paste, your browser does not support WebAssembly. Please use another browser to view this paste."
+ "Error decompressing paste, your browser does not support WebAssembly. Please use another browser to view this paste.": "Error decompressing paste, your browser does not support WebAssembly. Please use another browser to view this paste.",
+ "Start over": "Start over"
}
diff --git a/i18n/sl.json b/i18n/sl.json
index cb0f1e50..987724ec 100644
--- a/i18n/sl.json
+++ b/i18n/sl.json
@@ -219,5 +219,6 @@
"Yes, see it": "Yes, see it",
"Dark Mode": "Temni način",
"Error compressing paste, due to missing WebAssembly support.": "Error compressing paste, due to missing WebAssembly support.",
- "Error decompressing paste, your browser does not support WebAssembly. Please use another browser to view this paste.": "Error decompressing paste, your browser does not support WebAssembly. Please use another browser to view this paste."
+ "Error decompressing paste, your browser does not support WebAssembly. Please use another browser to view this paste.": "Error decompressing paste, your browser does not support WebAssembly. Please use another browser to view this paste.",
+ "Start over": "Start over"
}
diff --git a/i18n/sv.json b/i18n/sv.json
index 0e24e37b..9bd57df9 100644
--- a/i18n/sv.json
+++ b/i18n/sv.json
@@ -219,5 +219,6 @@
"Yes, see it": "Yes, see it",
"Dark Mode": "Mörkt Läge",
"Error compressing paste, due to missing WebAssembly support.": "Error compressing paste, due to missing WebAssembly support.",
- "Error decompressing paste, your browser does not support WebAssembly. Please use another browser to view this paste.": "Error decompressing paste, your browser does not support WebAssembly. Please use another browser to view this paste."
+ "Error decompressing paste, your browser does not support WebAssembly. Please use another browser to view this paste.": "Error decompressing paste, your browser does not support WebAssembly. Please use another browser to view this paste.",
+ "Start over": "Start over"
}
diff --git a/i18n/th.json b/i18n/th.json
index c0aa6803..ddebf39f 100644
--- a/i18n/th.json
+++ b/i18n/th.json
@@ -219,5 +219,6 @@
"Yes, see it": "Yes, see it",
"Dark Mode": "โหมดมืด",
"Error compressing paste, due to missing WebAssembly support.": "Error compressing paste, due to missing WebAssembly support.",
- "Error decompressing paste, your browser does not support WebAssembly. Please use another browser to view this paste.": "Error decompressing paste, your browser does not support WebAssembly. Please use another browser to view this paste."
+ "Error decompressing paste, your browser does not support WebAssembly. Please use another browser to view this paste.": "Error decompressing paste, your browser does not support WebAssembly. Please use another browser to view this paste.",
+ "Start over": "Start over"
}
diff --git a/i18n/tr.json b/i18n/tr.json
index 49dcad49..fbc65dd3 100644
--- a/i18n/tr.json
+++ b/i18n/tr.json
@@ -219,5 +219,6 @@
"Yes, see it": "Evet, görüyorum",
"Dark Mode": "Koyu Mod",
"Error compressing paste, due to missing WebAssembly support.": "Error compressing paste, due to missing WebAssembly support.",
- "Error decompressing paste, your browser does not support WebAssembly. Please use another browser to view this paste.": "Error decompressing paste, your browser does not support WebAssembly. Please use another browser to view this paste."
+ "Error decompressing paste, your browser does not support WebAssembly. Please use another browser to view this paste.": "Error decompressing paste, your browser does not support WebAssembly. Please use another browser to view this paste.",
+ "Start over": "Start over"
}
diff --git a/i18n/uk.json b/i18n/uk.json
index 1b46edc5..9b1f2970 100644
--- a/i18n/uk.json
+++ b/i18n/uk.json
@@ -219,5 +219,6 @@
"Yes, see it": "Так, побачити",
"Dark Mode": "Темний режим",
"Error compressing paste, due to missing WebAssembly support.": "Помилка при стисканні допису, через відсутність підтримки WebAssembly сервера.",
- "Error decompressing paste, your browser does not support WebAssembly. Please use another browser to view this paste.": "Помилка при розпакуванні допису, бо ваш браузер не підтримує WebAssembly. Будь ласка, відкрийте в іншому браузері для перегляду цього допису."
+ "Error decompressing paste, your browser does not support WebAssembly. Please use another browser to view this paste.": "Помилка при розпакуванні допису, бо ваш браузер не підтримує WebAssembly. Будь ласка, відкрийте в іншому браузері для перегляду цього допису.",
+ "Start over": "Start over"
}
diff --git a/i18n/zh.json b/i18n/zh.json
index 80f081c5..da1d4e9a 100644
--- a/i18n/zh.json
+++ b/i18n/zh.json
@@ -219,5 +219,6 @@
"Yes, see it": "是的,加载它",
"Dark Mode": "暗黑模式",
"Error compressing paste, due to missing WebAssembly support.": "Error compressing paste, due to missing WebAssembly support.",
- "Error decompressing paste, your browser does not support WebAssembly. Please use another browser to view this paste.": "Error decompressing paste, your browser does not support WebAssembly. Please use another browser to view this paste."
+ "Error decompressing paste, your browser does not support WebAssembly. Please use another browser to view this paste.": "Error decompressing paste, your browser does not support WebAssembly. Please use another browser to view this paste.",
+ "Start over": "Start over"
}
From 11326f86baa5557a71539cd442222c7f1eae30be Mon Sep 17 00:00:00 2001
From: parthiv-m
Date: Fri, 18 Oct 2024 11:51:57 -0400
Subject: [PATCH 32/50] Update SRI
---
lib/Configuration.php | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lib/Configuration.php b/lib/Configuration.php
index 9b2717ca..ffc80182 100644
--- a/lib/Configuration.php
+++ b/lib/Configuration.php
@@ -108,7 +108,7 @@ class Configuration
'js/kjua-0.9.0.js' => 'sha512-CVn7af+vTMBd9RjoS4QM5fpLFEOtBCoB0zPtaqIDC7sF4F8qgUSRFQQpIyEDGsr6yrjbuOLzdf20tkHHmpaqwQ==',
'js/legacy.js' => 'sha512-LYos+qXHIRqFf5ZPNphvtTB0cgzHUizu2wwcOwcwz/VIpRv9lpcBgPYz4uq6jx0INwCAj6Fbnl5HoKiLufS2jg==',
'js/prettify.js' => 'sha512-puO0Ogy++IoA2Pb9IjSxV1n4+kQkKXYAEUtVzfZpQepyDPyXk8hokiYDS7ybMogYlyyEIwMLpZqVhCkARQWLMg==',
- 'js/privatebin.js' => 'sha512-cbmXvtZ/5gZPFjQDzP3IEhUAIhFPAoM31gw2kRYCT5xOh8wv9gXeDqI/t798luRW1xdC4gaYodjEFCzrsZR4mA==',
+ 'js/privatebin.js' => 'sha512-yVh3dygQDHGXCrSFP8OzfBr5Tv1/iJrcvvqOiwE18yD/MK9fD5ItDRD/cq+jJGqg67MoOeQq8q07hgAK1Jz+lg==',
'js/purify-3.1.6.js' => 'sha512-SDwfsqHZFhbcBo/6AN7Te4KoUkWHHw7TzyZCuRkkpl0o8oV4owT/lprznWWe9+qFtigb6MrF81K4CQRLN6be+A==',
'js/rawinflate-0.3.js' => 'sha512-g8uelGgJW9A/Z1tB6Izxab++oj5kdD7B4qC7DHwZkB6DGMXKyzx7v5mvap2HXueI2IIn08YlRYM56jwWdm2ucQ==',
'js/showdown-2.1.0.js' => 'sha512-WYXZgkTR0u/Y9SVIA4nTTOih0kXMEd8RRV6MLFdL6YU8ymhR528NLlYQt1nlJQbYz4EW+ZsS0fx1awhiQJme1Q==',
From 160e875bc5e62fe60b99f6da4a51a78847626552 Mon Sep 17 00:00:00 2001
From: PrivateBin Translator Bot
<72346835+privatebin-translator@users.noreply.github.com>
Date: Fri, 18 Oct 2024 22:53:02 +0200
Subject: [PATCH 33/50] New translations en.json (Czech)
---
i18n/cs.json | 240 +++++++++++++++++++++++++--------------------------
1 file changed, 120 insertions(+), 120 deletions(-)
diff --git a/i18n/cs.json b/i18n/cs.json
index b81f0f7c..e010b111 100644
--- a/i18n/cs.json
+++ b/i18n/cs.json
@@ -1,34 +1,34 @@
{
"PrivateBin": "PrivateBin",
- "%s is a minimalist, open source online pastebin where the server has zero knowledge of pasted data. Data is encrypted/decrypted %sin the browser%s using 256 bits AES.": "%s je minimalistický open source 'pastebin' server, který nemá přístup ke vloženým datům. Data jsou šifrována %sv prohlížeči%s pomocí 256bitového AES.",
- "More information on the project page.": "Více informací na stránce projektu.",
+ "%s is a minimalist, open source online pastebin where the server has zero knowledge of pasted data. Data is encrypted/decrypted %sin the browser%s using 256 bits AES.": "%s je minimalistický open source 'pastebin' server, který neanalyzuje vložená data. Data jsou šifrována %sv prohlížeči%s pomocí 256 bitů AES.",
+ "More information on the project page.": "Více informací na stránce projetu.",
"Because ignorance is bliss": "Protože nevědomost je sladká",
"Paste does not exist, has expired or has been deleted.": "Vložený text neexistuje, expiroval nebo byl odstraněn.",
"%s requires php %s or above to work. Sorry.": "%s vyžaduje php %s nebo vyšší. Lituji.",
- "%s requires configuration section [%s] to be present in configuration file.": "%s vyžaduje, aby byla v konfiguračním souboru přítomna sekce [%s].",
+ "%s requires configuration section [%s] to be present in configuration file.": "%s vyžaduje, aby byla v konfiguračním souboru přítomna sekce [%s].",
"Please wait %d seconds between each post.": [
- "Vyčkejte prosím %d sekundu mezi následujícími příspěvky.",
- "Vyčkejte prosím %d sekundy mezi následujícími příspěvky.",
- "Vyčkejte prosím %d sekund mezi následujícími příspěvky.",
- "Vyčkejte prosím %d sekund mezi následujícími příspěvky.",
- "Vyčkejte prosím %d sekund mezi následujícími příspěvky.",
- "Vyčkejte prosím %d sekund mezi následujícími příspěvky."
+ "Počet sekund do dalšího příspěvku: %d.",
+ "Počet sekund do dalšího příspěvku: %d.",
+ "Počet sekund do dalšího příspěvku: %d.",
+ "Počet sekund do dalšího příspěvku: %d.",
+ "Počet sekund do dalšího příspěvku: %d.",
+ "Počet sekund do dalšího příspěvku: %d."
],
"Paste is limited to %s of encrypted data.": "Příspěvek je limitován na %s šífrovaných dat",
"Invalid data.": "Chybná data.",
"You are unlucky. Try again.": "Lituji, zkuste to znovu.",
- "Error saving comment. Sorry.": "Chyba při ukládání komentáře. Promiňte.",
- "Error saving paste. Sorry.": "Chyba při ukládání příspěvku. Promiňte.",
- "Invalid paste ID.": "Chybné ID příspěvku.",
- "Paste is not of burn-after-reading type.": "Příspěvek není nastaven na smazání po přečtení.",
+ "Error saving comment. Sorry.": "Chyba při ukládání komentáře.",
+ "Error saving paste. Sorry.": "Chyba při ukládání příspěvku.",
+ "Invalid paste ID.": "Chybně vložené ID.",
+ "Paste is not of burn-after-reading type.": "Příspěvek není nastaven na smazaní po přečtení.",
"Wrong deletion token. Paste was not deleted.": "Chybný token pro odstranění. Příspěvek nebyl smazán.",
"Paste was properly deleted.": "Příspěvek byl řádně smazán.",
"JavaScript is required for %s to work. Sorry for the inconvenience.": "Pro fungování %s je vyžadován JavaScript. Omlouváme se za nepříjemnosti.",
- "%s requires a modern browser to work.": "Pro fungování %s je vyžadován moderní prohlížeč.",
+ "%s requires a modern browser to work.": "%%s requires a modern browser to work.",
"New": "Nový",
"Create": "Vytvořit",
"Clone": "Klonovat",
- "Raw text": "Čistý text",
+ "Raw text": "Pouze Text",
"Expires": "Expirace",
"Burn after reading": "Po přečtení smazat",
"Open discussion": "Povolit komentáře",
@@ -36,113 +36,113 @@
"Discussion": "Komentáře",
"Toggle navigation": "Přepnout navigaci",
"%d seconds": [
- "%d sekunda",
- "%d sekundy",
- "%d sekund",
- "%d sekund",
- "%d sekund",
- "%d sekund"
+ "%d sekuda",
+ "%d sekundy",
+ "%d sekund",
+ "%d sekund",
+ "%d sekund",
+ "%d sekund"
],
"%d minutes": [
- "%d minuta",
- "%d minuty",
- "%d minut",
- "%d minut",
- "%d minut",
- "%d minut"
+ "%d minuta",
+ "%d minuty",
+ "%d minut",
+ "%d minut",
+ "%d minut",
+ "%d minut"
],
"%d hours": [
- "%d hodina",
- "%d hodiny",
- "%d hodin",
- "%d hodin",
- "%d hodin",
- "%d hodin"
+ "%d hodina",
+ "%d hodiny",
+ "%d hodin",
+ "%d hodin",
+ "%d hodin",
+ "%d hodin"
],
"%d days": [
- "%d den",
- "%d dny",
- "%d dní",
- "%d dní",
- "%d dní",
- "%d dní"
+ "%d den",
+ "%d dny",
+ "%d dní",
+ "%d dní",
+ "%d dní",
+ "%d dní"
],
"%d weeks": [
- "%d týden",
- "%d týdny",
- "%d týdnů",
- "%d týdnů",
- "%d týdnů",
- "%d týdnů"
+ "%d týden",
+ "%d týdeny",
+ "%d týdnů",
+ "%d týdnů",
+ "%d týdnů",
+ "%d týdnů"
],
"%d months": [
- "%d měsíc",
- "%d měsíce",
- "%d měsíců",
- "%d měsíců",
- "%d měsíců",
- "%d měsíců"
+ "%d měsíc",
+ "%d měsíce",
+ "%d měsíců",
+ "%d měsíců",
+ "%d měsíců",
+ "%d měsíců"
],
"%d years": [
- "%d rok",
- "%d roky",
- "%d let",
- "%d let",
- "%d let",
- "%d let"
+ "%d rok",
+ "%d roky",
+ "%d roků",
+ "%d roků",
+ "%d roků",
+ "%d roků"
],
"Never": "Nikdy",
- "Note: This is a test service: Data may be deleted anytime. Kittens will die if you abuse this service.": "Poznámka: Toto je testovací služba: Data mohou být kdykoliv smazána. Při zneužití této služby zemřou koťátka.",
+ "Note: This is a test service: Data may be deleted anytime. Kittens will die if you abuse this service.": "Poznámka: Tato služba slouží k vyzkoušení: Data mohou být kdykoliv smazána. Při zneužití této služby zemřou koťátka.",
"This document will expire in %d seconds.": [
- "Tento dokument expiruje za %d sekundu.",
- "Tento dokument expiruje za %d sekundy.",
- "Tento dokument expiruje za %d sekund.",
- "Tento dokument expiruje za %d sekund.",
- "Tento dokument expiruje za %d sekund.",
- "Tento dokument expiruje za %d sekund."
+ "Tento dokument expiruje za %d sekundu.",
+ "Tento dokument expiruje za %d sekundy.",
+ "Tento dokument expiruje za %d sekund.",
+ "Tento dokument expiruje za %d sekund.",
+ "Tento dokument expiruje za %d sekund.",
+ "Tento dokument expiruje za %d sekund."
],
"This document will expire in %d minutes.": [
- "Tento dokument expiruje za %d minutu.",
- "Tento dokument expiruje za %d minuty.",
- "Tento dokument expiruje za %d minut.",
- "Tento dokument expiruje za %d minut.",
- "Tento dokument expiruje za %d minut.",
- "Tento dokument expiruje za %d minut."
+ "Tento dokument expiruje za %d minutu.",
+ "Tento dokument expiruje za %d minuty.",
+ "Tento dokument expiruje za %d minut.",
+ "Tento dokument expiruje za %d minut.",
+ "Tento dokument expiruje za %d minut.",
+ "Tento dokument expiruje za %d minut."
],
"This document will expire in %d hours.": [
- "Tento dokument expiruje za %d hodinu.",
- "Tento dokument expiruje za %d hodiny.",
- "Tento dokument expiruje za %d hodin.",
- "Tento dokument expiruje za %d hodin.",
- "Tento dokument expiruje za %d hodin.",
- "Tento dokument expiruje za %d hodin."
+ "Tento dokument expiruje za %d hodinu.",
+ "Tento dokument expiruje za %d hodiny.",
+ "Tento dokument expiruje za %d hodin.",
+ "Tento dokument expiruje za %d hodin.",
+ "Tento dokument expiruje za %d hodin.",
+ "Tento dokument expiruje za %d hodin."
],
"This document will expire in %d days.": [
- "Tento dokument expiruje za %d den.",
- "Tento dokument expiruje za %d dny.",
- "Tento dokument expiruje za %d dní.",
- "Tento dokument expiruje za %d dní.",
- "Tento dokument expiruje za %d dní.",
- "Tento dokument expiruje za %d dní."
+ "Tento dokument expiruje za %d den.",
+ "Tento dokument expiruje za %d dny.",
+ "Tento dokument expiruje za %d dny.",
+ "Tento dokument expiruje za %d dny.",
+ "Tento dokument expiruje za %d dny.",
+ "Tento dokument expiruje za %d dny."
],
"This document will expire in %d months.": [
- "Tento dokument expiruje za %d měsíc.",
- "Tento dokument expiruje za %d měsíce.",
- "Tento dokument expiruje za %d měsíců.",
- "Tento dokument expiruje za %d měsíců.",
- "Tento dokument expiruje za %d měsíců.",
- "Tento dokument expiruje za %d měsíců."
+ "Tento dokument expiruje za %d měsíc.",
+ "Tento dokument expiruje za %d měsíce.",
+ "Tento dokument expiruje za %d měsíců.",
+ "Tento dokument expiruje za %d měsíců.",
+ "Tento dokument expiruje za %d měsíců.",
+ "Tento dokument expiruje za %d měsíců."
],
- "Please enter the password for this paste:": "Zadejte prosím heslo k tomuto příspěvku:",
+ "Please enter the password for this paste:": "Zadejte prosím heslo:",
"Could not decrypt data (Wrong key?)": "Nepodařilo se dešifrovat data (Špatný klíč?)",
- "Could not delete the paste, it was not stored in burn after reading mode.": "Nepodařilo se odstranit příspěvek, nebyl uložen v režimu smazání po přečtení.",
+ "Could not delete the paste, it was not stored in burn after reading mode.": "Nepodařilo se odstranit příspěvek, nebyl uložen v režimu smazání po přečtení.",
"FOR YOUR EYES ONLY. Don't close this window, this message can't be displayed again.": "POUZE PRO VAŠE OČI. Nezavírejte toto okno, tuto zprávu nelze znovu zobrazit.",
"Could not decrypt comment; Wrong key?": "Nepodařilo se dešifrovat komentář; Špatný klíč?",
"Reply": "Odpovědět",
"Anonymous": "Anonym",
- "Avatar generated from IP address": "Avatar vygenerován podle IP adresy",
+ "Avatar generated from IP address": "Avatar vygenerován z IP adresy",
"Add comment": "Přidat komentář",
- "Optional nickname…": "Nepovinná přezdívka…",
+ "Optional nickname…": "Volitelný nickname…",
"Post comment": "Odeslat komentář",
"Sending comment…": "Odesílání komentáře…",
"Comment posted.": "Komentář odeslán.",
@@ -151,10 +151,10 @@
"server error or not responding": "Chyba na serveru nebo server neodpovídá",
"Could not post comment: %s": "Nelze odeslat komentář: %s",
"Sending paste…": "Odesílání příspěvku…",
- "Your paste is %s(Hit [Ctrl]+[c] to copy)": "Váš příspěvek je %s(Stiskněte [Ctrl]+[c] pro zkopírování)",
+ "Your paste is %s(Hit [Ctrl]+[c] to copy)": "Váš link je %s(Stiskněte [Ctrl]+[c] pro zkopírování)",
"Delete data": "Odstranit data",
- "Could not create paste: %s": "Nepodařilo se vytvořit příspěvek: %s",
- "Cannot decrypt paste: Decryption key missing in URL (Did you use a redirector or an URL shortener which strips part of the URL?)": "Nepodařilo se dešifrovat příspěvek: V adrese chybí dešifrovací klíč (Nepoužili jste přesměrovač nebo zkracovač URL, který maže části URL?)",
+ "Could not create paste: %s": "Nelze vytvořit příspěvek: %s",
+ "Cannot decrypt paste: Decryption key missing in URL (Did you use a redirector or an URL shortener which strips part of the URL?)": "Nepodařilo se dešifrovat příspěvek: V adrese chybí dešifrovací klíč (Možnou příčinou může být URL shortener?)",
"B": "B",
"KiB": "KiB",
"MiB": "MiB",
@@ -165,60 +165,60 @@
"ZiB": "ZiB",
"YiB": "YiB",
"Format": "Formát",
- "Plain Text": "Prostý text",
+ "Plain Text": "Prostý Text",
"Source Code": "Zdrojový kód",
"Markdown": "Markdown",
"Download attachment": "Stáhnout přílohu",
- "Cloned: '%s'": "Naklonováno: '%s'",
- "The cloned file '%s' was attached to this paste.": "Naklonovaný soubor „%s“ byl připojen k tomuto příspěvku.",
+ "Cloned: '%s'": "Klonováno: '%s'",
+ "The cloned file '%s' was attached to this paste.": "Naklonovaný soubor '%s' byl připojen k tomuto příspěvku.",
"Attach a file": "Připojit soubor",
- "alternatively drag & drop a file or paste an image from the clipboard": "případně přetáhněte soubor nebo vložte obrázek ze schránky",
+ "alternatively drag & drop a file or paste an image from the clipboard": "alternativně přetáhněte soubor nebo vložte obrázek ze schránky",
"File too large, to display a preview. Please download the attachment.": "Soubor je příliš velký pro zobrazení náhledu. Stáhněte si přílohu.",
"Remove attachment": "Odstranit přílohu",
"Your browser does not support uploading encrypted files. Please use a newer browser.": "Váš prohlížeč nepodporuje nahrávání šifrovaných souborů. Použijte modernější verzi prohlížeče.",
"Invalid attachment.": "Chybná příloha.",
- "Options": "Možnosti",
+ "Options": "Volby",
"Shorten URL": "Zkrátit URL",
"Editor": "Editor",
"Preview": "Náhled",
- "%s requires the PATH to end in a \"%s\". Please update the PATH in your index.php.": "%s vyžaduje, aby PATH končilo na „%s“. Aktualizujte PATH ve vašem souboru index.php.",
+ "%s requires the PATH to end in a \"%s\". Please update the PATH in your index.php.": "%s vyžaduje, aby PATH skončil s \"%s\". Aktualizujte PATH ve vašem souboru index.php.",
"Decrypt": "Dešifrovat",
"Enter password": "Zadejte heslo",
"Loading…": "Načítání…",
"Decrypting paste…": "Dešifruji příspěvek…",
"Preparing new paste…": "Připravuji nový příspěvek…",
- "In case this message never disappears please have a look at this FAQ for information to troubleshoot.": "Pokud tato zpráva nezmizí, podívejte se na tyto často kladené otázky pro řešení problémů.",
- "+++ no paste text +++": "+++ žádný text příspěvku +++",
+ "In case this message never disappears please have a look at this FAQ for information to troubleshoot.": "V případě, že tato zpráva nezmizí, se podívejte na tyto často kladené otázky pro řešení.",
+ "+++ no paste text +++": "+++ žádný vložený text +++",
"Could not get paste data: %s": "Nepodařilo se získat data příspěvku: %s",
"QR code": "QR kód",
- "This website is using an insecure HTTP connection! Please use it only for testing.": "Tato stránka používá nezabezpečené HTTP připojení! Použijte ji prosím jen pro testování.",
- "For more information see this FAQ entry.": "Více informací naleznete v této položce FAQ.",
+ "This website is using an insecure HTTP connection! Please use it only for testing.": "Tato stránka používá nezabezpečený připojení HTTP! Použijte ji prosím jen pro testování.",
+ "For more information see this FAQ entry.": "Více informací naleznete v této položce FAQ.",
"Your browser may require an HTTPS connection to support the WebCrypto API. Try switching to HTTPS.": "Váš prohlížeč může vyžadovat připojení HTTPS pro podporu WebCrypto API. Zkuste přepnout na HTTPS.",
- "Your browser doesn't support WebAssembly, used for zlib compression. You can create uncompressed documents, but can't read compressed ones.": "Váš prohlížeč nepodporuje WebAssembly, které se používá pro zlib kompresi. Můžete vytvořit nekomprimované dokumenty, ale nebudete moct číst ty komprimované.",
+ "Your browser doesn't support WebAssembly, used for zlib compression. You can create uncompressed documents, but can't read compressed ones.": "Váš prohlížeč nepodporuje WebAssembly, který se používá pro zlib kompresi. Můžete vytvořit nekomprimované dokumenty, ale nebudete moct číst ty komprimované.",
"waiting on user to provide a password": "čekám na zadání hesla",
"Could not decrypt data. Did you enter a wrong password? Retry with the button at the top.": "Nepodařilo se dešifrovat data. Zadali jste špatné heslo? Zkuste to znovu pomocí tlačítka nahoře.",
"Retry": "Opakovat",
- "Showing raw text…": "Zobrazuji čistý text…",
+ "Showing raw text…": "Zobrazuji surový text…",
"Notice:": "Upozornění:",
"This link will expire after %s.": "Tento odkaz vyprší za %s.",
- "This link can only be accessed once, do not use back or refresh button in your browser.": "Tento odkaz je přístupný pouze jednou, nepoužívejte tlačítko zpět ani neobnovujte tuto stránku v prohlížeči.",
+ "This link can only be accessed once, do not use back or refresh button in your browser.": "Tento odkaz je přístupný pouze jednou, nepoužívejte tlačítko zpět ani neobnovujte tuto stránku ve vašem prohlížeči.",
"Link:": "Odkaz:",
- "Recipient may become aware of your timezone, convert time to UTC?": "Příjemce může zjistit vaše časové pásmo, převést čas na UTC?",
+ "Recipient may become aware of your timezone, convert time to UTC?": "Příjemce se může dozvědět o vašem časovém pásmu, převést čas na UTC?",
"Use Current Timezone": "Použít aktuální časové pásmo",
"Convert To UTC": "Převést na UTC",
"Close": "Zavřít",
"Encrypted note on %s": "Šifrovaná poznámka ve službě %s",
- "Visit this link to see the note. Giving the URL to anyone allows them to access the note, too.": "Pro zobrazení poznámky navštivte tento odkaz. Přeposláním URL umožníte přístup také jiným lidem.",
- "URL shortener may expose your decrypt key in URL.": "Zkracovač URL může prozradit váš dešifrovací klíč v URL.",
+ "Visit this link to see the note. Giving the URL to anyone allows them to access the note, too.": "Navštivte tento odkaz pro zobrazení poznámky. Přeposláním URL umožníte také jiným lidem přístup.",
+ "URL shortener may expose your decrypt key in URL.": "Zkracovač URL může odhalit váš dešifrovací klíč v URL.",
"Save paste": "Uložit příspěvek",
- "Your IP is not authorized to create pastes.": "Vaše IP adresa nemá oprávnění k vytváření příspěvků.",
- "Trying to shorten a URL that isn't pointing at our instance.": "Pokus o zkrácení URL, které neodkazuje na naši instanci.",
- "Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".": "Chyba volání YOURLS. Pravděpodobně chyba konfigurace, např. nesprávné či chybějící „apiurl“ nebo „signature“.",
- "Error parsing YOURLS response.": "Chyba čtení odpovědi YOURLS.",
- "This secret message can only be displayed once. Would you like to see it now?": "Tuto tajnou zprávu lze zobrazit pouze jednou. Chcete si ji prohlédnout teď?",
- "Yes, see it": "Ano, zobrazit",
- "Dark Mode": "Tmavý režim",
- "Error compressing paste, due to missing WebAssembly support.": "Chyba při komprimování příspěvku kvůli chybějící podpoře WebAssembly.",
- "Error decompressing paste, your browser does not support WebAssembly. Please use another browser to view this paste.": "Chyba při dekomprimování příspěvku, váš prohlížeč nepodporuje WebAssembly. Pro zobrazení tohoto příspěvku prosím použijte jiný prohlížeč.",
+ "Your IP is not authorized to create pastes.": "Vaše IP adresa nemá oprávnění k vytvoření vložení.",
+ "Trying to shorten a URL that isn't pointing at our instance.": "Trying to shorten a URL that isn't pointing at our instance.",
+ "Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".": "Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".",
+ "Error parsing YOURLS response.": "Error parsing YOURLS response.",
+ "This secret message can only be displayed once. Would you like to see it now?": "This secret message can only be displayed once. Would you like to see it now?",
+ "Yes, see it": "Yes, see it",
+ "Dark Mode": "Dark Mode",
+ "Error compressing paste, due to missing WebAssembly support.": "Error compressing paste, due to missing WebAssembly support.",
+ "Error decompressing paste, your browser does not support WebAssembly. Please use another browser to view this paste.": "Error decompressing paste, your browser does not support WebAssembly. Please use another browser to view this paste.",
"Start over": "Start over"
}
From 3bd8a873a7772bb09147b7b71b4755ac2dacbded Mon Sep 17 00:00:00 2001
From: PrivateBin Translator Bot
<72346835+privatebin-translator@users.noreply.github.com>
Date: Fri, 18 Oct 2024 22:53:18 +0200
Subject: [PATCH 34/50] New translations en.json (Occitan)
---
i18n/oc.json | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/i18n/oc.json b/i18n/oc.json
index d863f283..d1de4c6d 100644
--- a/i18n/oc.json
+++ b/i18n/oc.json
@@ -215,10 +215,10 @@
"Trying to shorten a URL that isn't pointing at our instance.": "Ensag d’abracar una URL que mena pas a nòstra instància.",
"Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".": "Error en cridant YOURLS. Es probablament un problèma de configuracion, quicòm coma « apirul » o « signature » marrit o absent.",
"Error parsing YOURLS response.": "Error d'analisi de la responsa YOURLS.",
- "This secret message can only be displayed once. Would you like to see it now?": "Aqueste messatge secrèt se pòt pas qu'afichar un còp. Lo volètz veire ara ?",
- "Yes, see it": "Òc, afichatz-lo",
- "Dark Mode": "Mòde escur",
- "Error compressing paste, due to missing WebAssembly support.": "Error al moment de la compression de l'empegatge, a causa de la manca de presa en carga de WebAssembly.",
- "Error decompressing paste, your browser does not support WebAssembly. Please use another browser to view this paste.": "Error al moment de descompresar l'empegatge, vòstre navegador pren pas en carga WebAssembly. Mercés d'utilizar un autre navigador per visualizar aquesta pega.",
+ "This secret message can only be displayed once. Would you like to see it now?": "This secret message can only be displayed once. Would you like to see it now?",
+ "Yes, see it": "Yes, see it",
+ "Dark Mode": "Dark Mode",
+ "Error compressing paste, due to missing WebAssembly support.": "Error compressing paste, due to missing WebAssembly support.",
+ "Error decompressing paste, your browser does not support WebAssembly. Please use another browser to view this paste.": "Error decompressing paste, your browser does not support WebAssembly. Please use another browser to view this paste.",
"Start over": "Start over"
}
From 980bdc922ffabb58564c951f9d4d075181134ad5 Mon Sep 17 00:00:00 2001
From: El RIDO
Date: Fri, 18 Oct 2024 23:08:02 +0200
Subject: [PATCH 35/50] Update SRI
---
lib/Configuration.php | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lib/Configuration.php b/lib/Configuration.php
index ffc80182..e4b9dc9e 100644
--- a/lib/Configuration.php
+++ b/lib/Configuration.php
@@ -108,7 +108,7 @@ class Configuration
'js/kjua-0.9.0.js' => 'sha512-CVn7af+vTMBd9RjoS4QM5fpLFEOtBCoB0zPtaqIDC7sF4F8qgUSRFQQpIyEDGsr6yrjbuOLzdf20tkHHmpaqwQ==',
'js/legacy.js' => 'sha512-LYos+qXHIRqFf5ZPNphvtTB0cgzHUizu2wwcOwcwz/VIpRv9lpcBgPYz4uq6jx0INwCAj6Fbnl5HoKiLufS2jg==',
'js/prettify.js' => 'sha512-puO0Ogy++IoA2Pb9IjSxV1n4+kQkKXYAEUtVzfZpQepyDPyXk8hokiYDS7ybMogYlyyEIwMLpZqVhCkARQWLMg==',
- 'js/privatebin.js' => 'sha512-yVh3dygQDHGXCrSFP8OzfBr5Tv1/iJrcvvqOiwE18yD/MK9fD5ItDRD/cq+jJGqg67MoOeQq8q07hgAK1Jz+lg==',
+ 'js/privatebin.js' => 'sha512-JUj/Sbl/bMHlIoIUT1U9e89JU33fDBxCxLSGxwwaeydBFXOBHyfdF7hwSIjgbPxb4d9CO7CSe4meouTIRMy8Vg==',
'js/purify-3.1.6.js' => 'sha512-SDwfsqHZFhbcBo/6AN7Te4KoUkWHHw7TzyZCuRkkpl0o8oV4owT/lprznWWe9+qFtigb6MrF81K4CQRLN6be+A==',
'js/rawinflate-0.3.js' => 'sha512-g8uelGgJW9A/Z1tB6Izxab++oj5kdD7B4qC7DHwZkB6DGMXKyzx7v5mvap2HXueI2IIn08YlRYM56jwWdm2ucQ==',
'js/showdown-2.1.0.js' => 'sha512-WYXZgkTR0u/Y9SVIA4nTTOih0kXMEd8RRV6MLFdL6YU8ymhR528NLlYQt1nlJQbYz4EW+ZsS0fx1awhiQJme1Q==',
From 38c28b8b9608245a698414ac2cb6bd87f09580de Mon Sep 17 00:00:00 2001
From: PrivateBin Translator Bot
<72346835+privatebin-translator@users.noreply.github.com>
Date: Sat, 19 Oct 2024 00:32:29 +0200
Subject: [PATCH 36/50] New translations en.json (French)
---
i18n/fr.json | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/i18n/fr.json b/i18n/fr.json
index 93feec36..d8b00b96 100644
--- a/i18n/fr.json
+++ b/i18n/fr.json
@@ -220,5 +220,5 @@
"Dark Mode": "Mode Sombre",
"Error compressing paste, due to missing WebAssembly support.": "Erreur lors de la compression du paste, en raison du support de WebAssembly manquant.",
"Error decompressing paste, your browser does not support WebAssembly. Please use another browser to view this paste.": "Erreur lors de la décompression du paste, votre navigateur ne supporte pas WebAssembly. Veuillez utiliser un autre navigateur pour voir ce paste.",
- "Start over": "Start over"
+ "Start over": "Recommencer"
}
From 35b3a823d2d9315ef5f06659da7823f5e2eae6a0 Mon Sep 17 00:00:00 2001
From: PrivateBin Translator Bot
<72346835+privatebin-translator@users.noreply.github.com>
Date: Sat, 19 Oct 2024 00:32:30 +0200
Subject: [PATCH 37/50] New translations en.json (Czech)
---
i18n/cs.json | 16 ++++++++--------
1 file changed, 8 insertions(+), 8 deletions(-)
diff --git a/i18n/cs.json b/i18n/cs.json
index e010b111..2897d9c9 100644
--- a/i18n/cs.json
+++ b/i18n/cs.json
@@ -212,13 +212,13 @@
"URL shortener may expose your decrypt key in URL.": "Zkracovač URL může odhalit váš dešifrovací klíč v URL.",
"Save paste": "Uložit příspěvek",
"Your IP is not authorized to create pastes.": "Vaše IP adresa nemá oprávnění k vytvoření vložení.",
- "Trying to shorten a URL that isn't pointing at our instance.": "Trying to shorten a URL that isn't pointing at our instance.",
- "Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".": "Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".",
- "Error parsing YOURLS response.": "Error parsing YOURLS response.",
- "This secret message can only be displayed once. Would you like to see it now?": "This secret message can only be displayed once. Would you like to see it now?",
- "Yes, see it": "Yes, see it",
- "Dark Mode": "Dark Mode",
- "Error compressing paste, due to missing WebAssembly support.": "Error compressing paste, due to missing WebAssembly support.",
- "Error decompressing paste, your browser does not support WebAssembly. Please use another browser to view this paste.": "Error decompressing paste, your browser does not support WebAssembly. Please use another browser to view this paste.",
+ "Trying to shorten a URL that isn't pointing at our instance.": "Pokus o zkrácení URL, které neodkazuje na naši instanci.",
+ "Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".": "Chyba volání YOURLS. Pravděpodobně chyba konfigurace, např. nesprávné či chybějící „apiurl“ nebo „signature“.",
+ "Error parsing YOURLS response.": "Chyba čtení odpovědi YOURLS.",
+ "This secret message can only be displayed once. Would you like to see it now?": "Tuto tajnou zprávu lze zobrazit pouze jednou. Chcete si ji prohlédnout teď?",
+ "Yes, see it": "Ano, zobrazit",
+ "Dark Mode": "Tmavý režim",
+ "Error compressing paste, due to missing WebAssembly support.": "Chyba při komprimování příspěvku kvůli chybějící podpoře WebAssembly.",
+ "Error decompressing paste, your browser does not support WebAssembly. Please use another browser to view this paste.": "Chyba při dekomprimování příspěvku, váš prohlížeč nepodporuje WebAssembly. Pro zobrazení tohoto příspěvku prosím použijte jiný prohlížeč.",
"Start over": "Start over"
}
From bc052b9c74c3b3571de88b6ac91cb5e24db6eea9 Mon Sep 17 00:00:00 2001
From: PrivateBin Translator Bot
<72346835+privatebin-translator@users.noreply.github.com>
Date: Sat, 19 Oct 2024 00:32:31 +0200
Subject: [PATCH 38/50] New translations en.json (German)
---
i18n/de.json | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/i18n/de.json b/i18n/de.json
index 6f2bcaab..ded2841c 100644
--- a/i18n/de.json
+++ b/i18n/de.json
@@ -220,5 +220,5 @@
"Dark Mode": "Nachtmodus",
"Error compressing paste, due to missing WebAssembly support.": "Fehler beim Komprimieren des Textes, da WebAssembly-Unterstützung fehlt.",
"Error decompressing paste, your browser does not support WebAssembly. Please use another browser to view this paste.": "Fehler beim Dekomprimieren des Textes. Dein Browser unterstützt WebAssembly nicht. Bitte verwende einen anderen Browser, um diesen Text anzuzeigen.",
- "Start over": "Start over"
+ "Start over": "Neuen Text erstellen"
}
From 6e3cb7791c0af429ceb231927f3981348a2bb800 Mon Sep 17 00:00:00 2001
From: PrivateBin Translator Bot
<72346835+privatebin-translator@users.noreply.github.com>
Date: Sat, 19 Oct 2024 00:32:33 +0200
Subject: [PATCH 39/50] New translations en.json (Italian)
---
i18n/it.json | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/i18n/it.json b/i18n/it.json
index 8aa5aedf..217a779c 100644
--- a/i18n/it.json
+++ b/i18n/it.json
@@ -220,5 +220,5 @@
"Dark Mode": "Tema Scuro",
"Error compressing paste, due to missing WebAssembly support.": "Errore nella compressione dell messaggio, a causa del supporto WebAssembly mancante.",
"Error decompressing paste, your browser does not support WebAssembly. Please use another browser to view this paste.": "Errore nella decompressione dell messaggio, il tuo browser non supporta WebAssembly. Utilizza un altro browser per visualizzare questo messaggio.",
- "Start over": "Start over"
+ "Start over": "Ricominciare"
}
From 0985cad5bfbd6043c23152a97cbfd6ad5a1413d6 Mon Sep 17 00:00:00 2001
From: PrivateBin Translator Bot
<72346835+privatebin-translator@users.noreply.github.com>
Date: Sat, 19 Oct 2024 00:32:34 +0200
Subject: [PATCH 40/50] New translations en.json (Occitan)
---
i18n/oc.json | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/i18n/oc.json b/i18n/oc.json
index d1de4c6d..d863f283 100644
--- a/i18n/oc.json
+++ b/i18n/oc.json
@@ -215,10 +215,10 @@
"Trying to shorten a URL that isn't pointing at our instance.": "Ensag d’abracar una URL que mena pas a nòstra instància.",
"Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".": "Error en cridant YOURLS. Es probablament un problèma de configuracion, quicòm coma « apirul » o « signature » marrit o absent.",
"Error parsing YOURLS response.": "Error d'analisi de la responsa YOURLS.",
- "This secret message can only be displayed once. Would you like to see it now?": "This secret message can only be displayed once. Would you like to see it now?",
- "Yes, see it": "Yes, see it",
- "Dark Mode": "Dark Mode",
- "Error compressing paste, due to missing WebAssembly support.": "Error compressing paste, due to missing WebAssembly support.",
- "Error decompressing paste, your browser does not support WebAssembly. Please use another browser to view this paste.": "Error decompressing paste, your browser does not support WebAssembly. Please use another browser to view this paste.",
+ "This secret message can only be displayed once. Would you like to see it now?": "Aqueste messatge secrèt se pòt pas qu'afichar un còp. Lo volètz veire ara ?",
+ "Yes, see it": "Òc, afichatz-lo",
+ "Dark Mode": "Mòde escur",
+ "Error compressing paste, due to missing WebAssembly support.": "Error al moment de la compression de l'empegatge, a causa de la manca de presa en carga de WebAssembly.",
+ "Error decompressing paste, your browser does not support WebAssembly. Please use another browser to view this paste.": "Error al moment de descompresar l'empegatge, vòstre navegador pren pas en carga WebAssembly. Mercés d'utilizar un autre navigador per visualizar aquesta pega.",
"Start over": "Start over"
}
From 2b668de6c6bf1e68e56e181ccca00ceb53f237db Mon Sep 17 00:00:00 2001
From: PrivateBin Translator Bot
<72346835+privatebin-translator@users.noreply.github.com>
Date: Sat, 19 Oct 2024 09:02:01 +0200
Subject: [PATCH 41/50] New translations en.json (Czech)
---
i18n/cs.json | 192 +++++++++++++++++++++++++--------------------------
1 file changed, 96 insertions(+), 96 deletions(-)
diff --git a/i18n/cs.json b/i18n/cs.json
index 2897d9c9..fb46fb13 100644
--- a/i18n/cs.json
+++ b/i18n/cs.json
@@ -1,34 +1,34 @@
{
"PrivateBin": "PrivateBin",
- "%s is a minimalist, open source online pastebin where the server has zero knowledge of pasted data. Data is encrypted/decrypted %sin the browser%s using 256 bits AES.": "%s je minimalistický open source 'pastebin' server, který neanalyzuje vložená data. Data jsou šifrována %sv prohlížeči%s pomocí 256 bitů AES.",
- "More information on the project page.": "Více informací na stránce projetu.",
+ "%s is a minimalist, open source online pastebin where the server has zero knowledge of pasted data. Data is encrypted/decrypted %sin the browser%s using 256 bits AES.": "%s je minimalistický open source 'pastebin' server, který nemá přístup ke vloženým datům. Data jsou šifrována %sv prohlížeči%s pomocí 256bitového AES.",
+ "More information on the project page.": "Více informací na stránce projektu.",
"Because ignorance is bliss": "Protože nevědomost je sladká",
"Paste does not exist, has expired or has been deleted.": "Vložený text neexistuje, expiroval nebo byl odstraněn.",
"%s requires php %s or above to work. Sorry.": "%s vyžaduje php %s nebo vyšší. Lituji.",
"%s requires configuration section [%s] to be present in configuration file.": "%s vyžaduje, aby byla v konfiguračním souboru přítomna sekce [%s].",
"Please wait %d seconds between each post.": [
- "Počet sekund do dalšího příspěvku: %d.",
- "Počet sekund do dalšího příspěvku: %d.",
- "Počet sekund do dalšího příspěvku: %d.",
- "Počet sekund do dalšího příspěvku: %d.",
- "Počet sekund do dalšího příspěvku: %d.",
- "Počet sekund do dalšího příspěvku: %d."
+ "Vyčkejte prosím %d sekundu mezi následujícími příspěvky.",
+ "Vyčkejte prosím %d sekundy mezi následujícími příspěvky.",
+ "Vyčkejte prosím %d sekund mezi následujícími příspěvky.",
+ "Vyčkejte prosím %d sekund mezi následujícími příspěvky.",
+ "Vyčkejte prosím %d sekund mezi následujícími příspěvky.",
+ "Vyčkejte prosím %d sekund mezi následujícími příspěvky."
],
"Paste is limited to %s of encrypted data.": "Příspěvek je limitován na %s šífrovaných dat",
"Invalid data.": "Chybná data.",
"You are unlucky. Try again.": "Lituji, zkuste to znovu.",
- "Error saving comment. Sorry.": "Chyba při ukládání komentáře.",
- "Error saving paste. Sorry.": "Chyba při ukládání příspěvku.",
- "Invalid paste ID.": "Chybně vložené ID.",
+ "Error saving comment. Sorry.": "Chyba při ukládání komentáře. Promiňte.",
+ "Error saving paste. Sorry.": "Chyba při ukládání příspěvku. Promiňte.",
+ "Invalid paste ID.": "Chybné ID příspěvku.",
"Paste is not of burn-after-reading type.": "Příspěvek není nastaven na smazaní po přečtení.",
"Wrong deletion token. Paste was not deleted.": "Chybný token pro odstranění. Příspěvek nebyl smazán.",
"Paste was properly deleted.": "Příspěvek byl řádně smazán.",
"JavaScript is required for %s to work. Sorry for the inconvenience.": "Pro fungování %s je vyžadován JavaScript. Omlouváme se za nepříjemnosti.",
- "%s requires a modern browser to work.": "%%s requires a modern browser to work.",
+ "%s requires a modern browser to work.": "Pro fungování %s je vyžadován moderní prohlížeč.",
"New": "Nový",
"Create": "Vytvořit",
"Clone": "Klonovat",
- "Raw text": "Pouze Text",
+ "Raw text": "Čistý text",
"Expires": "Expirace",
"Burn after reading": "Po přečtení smazat",
"Open discussion": "Povolit komentáře",
@@ -36,113 +36,113 @@
"Discussion": "Komentáře",
"Toggle navigation": "Přepnout navigaci",
"%d seconds": [
- "%d sekuda",
- "%d sekundy",
- "%d sekund",
- "%d sekund",
- "%d sekund",
- "%d sekund"
+ "%d sekunda",
+ "%d sekundy",
+ "%d sekund",
+ "%d sekund",
+ "%d sekund",
+ "%d sekund"
],
"%d minutes": [
- "%d minuta",
- "%d minuty",
- "%d minut",
- "%d minut",
- "%d minut",
- "%d minut"
+ "%d minuta",
+ "%d minuty",
+ "%d minut",
+ "%d minut",
+ "%d minut",
+ "%d minut"
],
"%d hours": [
- "%d hodina",
- "%d hodiny",
- "%d hodin",
- "%d hodin",
- "%d hodin",
- "%d hodin"
+ "%d hodina",
+ "%d hodiny",
+ "%d hodin",
+ "%d hodin",
+ "%d hodin",
+ "%d hodin"
],
"%d days": [
- "%d den",
- "%d dny",
- "%d dní",
- "%d dní",
- "%d dní",
- "%d dní"
+ "%d den",
+ "%d dny",
+ "%d dní",
+ "%d dní",
+ "%d dní",
+ "%d dní"
],
"%d weeks": [
- "%d týden",
- "%d týdeny",
- "%d týdnů",
- "%d týdnů",
- "%d týdnů",
- "%d týdnů"
+ "%d týden",
+ "%d týdny",
+ "%d týdnů",
+ "%d týdnů",
+ "%d týdnů",
+ "%d týdnů"
],
"%d months": [
- "%d měsíc",
- "%d měsíce",
- "%d měsíců",
- "%d měsíců",
- "%d měsíců",
- "%d měsíců"
+ "%d měsíc",
+ "%d měsíce",
+ "%d měsíců",
+ "%d měsíců",
+ "%d měsíců",
+ "%d měsíců"
],
"%d years": [
- "%d rok",
- "%d roky",
- "%d roků",
- "%d roků",
- "%d roků",
- "%d roků"
+ "%d rok",
+ "%d roky",
+ "%d let",
+ "%d let",
+ "%d let",
+ "%d let"
],
"Never": "Nikdy",
- "Note: This is a test service: Data may be deleted anytime. Kittens will die if you abuse this service.": "Poznámka: Tato služba slouží k vyzkoušení: Data mohou být kdykoliv smazána. Při zneužití této služby zemřou koťátka.",
+ "Note: This is a test service: Data may be deleted anytime. Kittens will die if you abuse this service.": "Poznámka: Toto je testovací služba: Data mohou být kdykoliv smazána. Při zneužití této služby zemřou koťátka.",
"This document will expire in %d seconds.": [
- "Tento dokument expiruje za %d sekundu.",
- "Tento dokument expiruje za %d sekundy.",
- "Tento dokument expiruje za %d sekund.",
- "Tento dokument expiruje za %d sekund.",
- "Tento dokument expiruje za %d sekund.",
- "Tento dokument expiruje za %d sekund."
+ "Tento dokument expiruje za %d sekundu.",
+ "Tento dokument expiruje za %d sekundy.",
+ "Tento dokument expiruje za %d sekund.",
+ "Tento dokument expiruje za %d sekund.",
+ "Tento dokument expiruje za %d sekund.",
+ "Tento dokument expiruje za %d sekund."
],
"This document will expire in %d minutes.": [
- "Tento dokument expiruje za %d minutu.",
- "Tento dokument expiruje za %d minuty.",
- "Tento dokument expiruje za %d minut.",
- "Tento dokument expiruje za %d minut.",
- "Tento dokument expiruje za %d minut.",
- "Tento dokument expiruje za %d minut."
+ "Tento dokument expiruje za %d minutu.",
+ "Tento dokument expiruje za %d minuty.",
+ "Tento dokument expiruje za %d minut.",
+ "Tento dokument expiruje za %d minut.",
+ "Tento dokument expiruje za %d minut.",
+ "Tento dokument expiruje za %d minut."
],
"This document will expire in %d hours.": [
- "Tento dokument expiruje za %d hodinu.",
- "Tento dokument expiruje za %d hodiny.",
- "Tento dokument expiruje za %d hodin.",
- "Tento dokument expiruje za %d hodin.",
- "Tento dokument expiruje za %d hodin.",
- "Tento dokument expiruje za %d hodin."
+ "Tento dokument expiruje za %d hodinu.",
+ "Tento dokument expiruje za %d hodiny.",
+ "Tento dokument expiruje za %d hodin.",
+ "Tento dokument expiruje za %d hodin.",
+ "Tento dokument expiruje za %d hodin.",
+ "Tento dokument expiruje za %d hodin."
],
"This document will expire in %d days.": [
- "Tento dokument expiruje za %d den.",
- "Tento dokument expiruje za %d dny.",
- "Tento dokument expiruje za %d dny.",
- "Tento dokument expiruje za %d dny.",
- "Tento dokument expiruje za %d dny.",
- "Tento dokument expiruje za %d dny."
+ "Tento dokument expiruje za %d den.",
+ "Tento dokument expiruje za %d dny.",
+ "Tento dokument expiruje za %d dní.",
+ "Tento dokument expiruje za %d dní.",
+ "Tento dokument expiruje za %d dní.",
+ "Tento dokument expiruje za %d dní."
],
"This document will expire in %d months.": [
- "Tento dokument expiruje za %d měsíc.",
- "Tento dokument expiruje za %d měsíce.",
- "Tento dokument expiruje za %d měsíců.",
- "Tento dokument expiruje za %d měsíců.",
- "Tento dokument expiruje za %d měsíců.",
- "Tento dokument expiruje za %d měsíců."
+ "Tento dokument expiruje za %d měsíc.",
+ "Tento dokument expiruje za %d měsíce.",
+ "Tento dokument expiruje za %d měsíců.",
+ "Tento dokument expiruje za %d měsíců.",
+ "Tento dokument expiruje za %d měsíců.",
+ "Tento dokument expiruje za %d měsíců."
],
- "Please enter the password for this paste:": "Zadejte prosím heslo:",
+ "Please enter the password for this paste:": "Zadejte prosím heslo k tomuto příspěvku:",
"Could not decrypt data (Wrong key?)": "Nepodařilo se dešifrovat data (Špatný klíč?)",
"Could not delete the paste, it was not stored in burn after reading mode.": "Nepodařilo se odstranit příspěvek, nebyl uložen v režimu smazání po přečtení.",
"FOR YOUR EYES ONLY. Don't close this window, this message can't be displayed again.": "POUZE PRO VAŠE OČI. Nezavírejte toto okno, tuto zprávu nelze znovu zobrazit.",
"Could not decrypt comment; Wrong key?": "Nepodařilo se dešifrovat komentář; Špatný klíč?",
"Reply": "Odpovědět",
"Anonymous": "Anonym",
- "Avatar generated from IP address": "Avatar vygenerován z IP adresy",
+ "Avatar generated from IP address": "Avatar vygenerován podle IP adresy",
"Add comment": "Přidat komentář",
- "Optional nickname…": "Volitelný nickname…",
+ "Optional nickname…": "Nepovinná přezdívka…",
"Post comment": "Odeslat komentář",
"Sending comment…": "Odesílání komentáře…",
"Comment posted.": "Komentář odeslán.",
@@ -151,10 +151,10 @@
"server error or not responding": "Chyba na serveru nebo server neodpovídá",
"Could not post comment: %s": "Nelze odeslat komentář: %s",
"Sending paste…": "Odesílání příspěvku…",
- "Your paste is %s(Hit [Ctrl]+[c] to copy)": "Váš link je %s(Stiskněte [Ctrl]+[c] pro zkopírování)",
+ "Your paste is %s(Hit [Ctrl]+[c] to copy)": "Váš příspěvek je %s(Stiskněte [Ctrl]+[c] pro zkopírování)",
"Delete data": "Odstranit data",
- "Could not create paste: %s": "Nelze vytvořit příspěvek: %s",
- "Cannot decrypt paste: Decryption key missing in URL (Did you use a redirector or an URL shortener which strips part of the URL?)": "Nepodařilo se dešifrovat příspěvek: V adrese chybí dešifrovací klíč (Možnou příčinou může být URL shortener?)",
+ "Could not create paste: %s": "Nepodařilo se vytvořit příspěvek: %s",
+ "Cannot decrypt paste: Decryption key missing in URL (Did you use a redirector or an URL shortener which strips part of the URL?)": "Nepodařilo se dešifrovat příspěvek: V adrese chybí dešifrovací klíč (Nepoužili jste přesměrovač nebo zkracovač URL, který maže části URL?)",
"B": "B",
"KiB": "KiB",
"MiB": "MiB",
@@ -165,14 +165,14 @@
"ZiB": "ZiB",
"YiB": "YiB",
"Format": "Formát",
- "Plain Text": "Prostý Text",
+ "Plain Text": "Prostý text",
"Source Code": "Zdrojový kód",
"Markdown": "Markdown",
"Download attachment": "Stáhnout přílohu",
- "Cloned: '%s'": "Klonováno: '%s'",
- "The cloned file '%s' was attached to this paste.": "Naklonovaný soubor '%s' byl připojen k tomuto příspěvku.",
+ "Cloned: '%s'": "Naklonováno: '%s'",
+ "The cloned file '%s' was attached to this paste.": "Naklonovaný soubor „%s“ byl připojen k tomuto příspěvku.",
"Attach a file": "Připojit soubor",
- "alternatively drag & drop a file or paste an image from the clipboard": "alternativně přetáhněte soubor nebo vložte obrázek ze schránky",
+ "alternatively drag & drop a file or paste an image from the clipboard": "případně přetáhněte soubor nebo vložte obrázek ze schránky",
"File too large, to display a preview. Please download the attachment.": "Soubor je příliš velký pro zobrazení náhledu. Stáhněte si přílohu.",
"Remove attachment": "Odstranit přílohu",
"Your browser does not support uploading encrypted files. Please use a newer browser.": "Váš prohlížeč nepodporuje nahrávání šifrovaných souborů. Použijte modernější verzi prohlížeče.",
From 95935fe6280a3af7caae84d98fdcf0f3e24379a5 Mon Sep 17 00:00:00 2001
From: PrivateBin Translator Bot
<72346835+privatebin-translator@users.noreply.github.com>
Date: Sat, 19 Oct 2024 10:09:33 +0200
Subject: [PATCH 42/50] New translations en.json (Czech)
---
i18n/cs.json | 24 ++++++++++++------------
1 file changed, 12 insertions(+), 12 deletions(-)
diff --git a/i18n/cs.json b/i18n/cs.json
index fb46fb13..9d7e293a 100644
--- a/i18n/cs.json
+++ b/i18n/cs.json
@@ -177,41 +177,41 @@
"Remove attachment": "Odstranit přílohu",
"Your browser does not support uploading encrypted files. Please use a newer browser.": "Váš prohlížeč nepodporuje nahrávání šifrovaných souborů. Použijte modernější verzi prohlížeče.",
"Invalid attachment.": "Chybná příloha.",
- "Options": "Volby",
+ "Options": "Možnosti",
"Shorten URL": "Zkrátit URL",
"Editor": "Editor",
"Preview": "Náhled",
- "%s requires the PATH to end in a \"%s\". Please update the PATH in your index.php.": "%s vyžaduje, aby PATH skončil s \"%s\". Aktualizujte PATH ve vašem souboru index.php.",
+ "%s requires the PATH to end in a \"%s\". Please update the PATH in your index.php.": "%s vyžaduje, aby PATH končilo na „%s“. Aktualizujte PATH ve vašem souboru index.php.",
"Decrypt": "Dešifrovat",
"Enter password": "Zadejte heslo",
"Loading…": "Načítání…",
"Decrypting paste…": "Dešifruji příspěvek…",
"Preparing new paste…": "Připravuji nový příspěvek…",
- "In case this message never disappears please have a look at this FAQ for information to troubleshoot.": "V případě, že tato zpráva nezmizí, se podívejte na tyto často kladené otázky pro řešení.",
- "+++ no paste text +++": "+++ žádný vložený text +++",
+ "In case this message never disappears please have a look at this FAQ for information to troubleshoot.": "Pokud tato zpráva nezmizí, podívejte se na tyto často kladené otázky pro řešení problémů.",
+ "+++ no paste text +++": "+++ žádný text příspěvku +++",
"Could not get paste data: %s": "Nepodařilo se získat data příspěvku: %s",
"QR code": "QR kód",
- "This website is using an insecure HTTP connection! Please use it only for testing.": "Tato stránka používá nezabezpečený připojení HTTP! Použijte ji prosím jen pro testování.",
+ "This website is using an insecure HTTP connection! Please use it only for testing.": "Tato stránka používá nezabezpečené HTTP připojení! Použijte ji prosím jen pro testování.",
"For more information see this FAQ entry.": "Více informací naleznete v této položce FAQ.",
"Your browser may require an HTTPS connection to support the WebCrypto API. Try switching to HTTPS.": "Váš prohlížeč může vyžadovat připojení HTTPS pro podporu WebCrypto API. Zkuste přepnout na HTTPS.",
- "Your browser doesn't support WebAssembly, used for zlib compression. You can create uncompressed documents, but can't read compressed ones.": "Váš prohlížeč nepodporuje WebAssembly, který se používá pro zlib kompresi. Můžete vytvořit nekomprimované dokumenty, ale nebudete moct číst ty komprimované.",
+ "Your browser doesn't support WebAssembly, used for zlib compression. You can create uncompressed documents, but can't read compressed ones.": "Váš prohlížeč nepodporuje WebAssembly, které se používá pro zlib kompresi. Můžete vytvořit nekomprimované dokumenty, ale nebudete moct číst ty komprimované.",
"waiting on user to provide a password": "čekám na zadání hesla",
"Could not decrypt data. Did you enter a wrong password? Retry with the button at the top.": "Nepodařilo se dešifrovat data. Zadali jste špatné heslo? Zkuste to znovu pomocí tlačítka nahoře.",
"Retry": "Opakovat",
- "Showing raw text…": "Zobrazuji surový text…",
+ "Showing raw text…": "Zobrazuji čistý text…",
"Notice:": "Upozornění:",
"This link will expire after %s.": "Tento odkaz vyprší za %s.",
- "This link can only be accessed once, do not use back or refresh button in your browser.": "Tento odkaz je přístupný pouze jednou, nepoužívejte tlačítko zpět ani neobnovujte tuto stránku ve vašem prohlížeči.",
+ "This link can only be accessed once, do not use back or refresh button in your browser.": "Tento odkaz je přístupný pouze jednou, nepoužívejte tlačítko zpět ani neobnovujte tuto stránku v prohlížeči.",
"Link:": "Odkaz:",
- "Recipient may become aware of your timezone, convert time to UTC?": "Příjemce se může dozvědět o vašem časovém pásmu, převést čas na UTC?",
+ "Recipient may become aware of your timezone, convert time to UTC?": "Příjemce může zjistit vaše časové pásmo, převést čas na UTC?",
"Use Current Timezone": "Použít aktuální časové pásmo",
"Convert To UTC": "Převést na UTC",
"Close": "Zavřít",
"Encrypted note on %s": "Šifrovaná poznámka ve službě %s",
- "Visit this link to see the note. Giving the URL to anyone allows them to access the note, too.": "Navštivte tento odkaz pro zobrazení poznámky. Přeposláním URL umožníte také jiným lidem přístup.",
- "URL shortener may expose your decrypt key in URL.": "Zkracovač URL může odhalit váš dešifrovací klíč v URL.",
+ "Visit this link to see the note. Giving the URL to anyone allows them to access the note, too.": "Pro zobrazení poznámky navštivte tento odkaz. Přeposláním URL umožníte přístup také jiným lidem.",
+ "URL shortener may expose your decrypt key in URL.": "Zkracovač URL může prozradit váš dešifrovací klíč v URL.",
"Save paste": "Uložit příspěvek",
- "Your IP is not authorized to create pastes.": "Vaše IP adresa nemá oprávnění k vytvoření vložení.",
+ "Your IP is not authorized to create pastes.": "Vaše IP adresa nemá oprávnění k vytváření příspěvků.",
"Trying to shorten a URL that isn't pointing at our instance.": "Pokus o zkrácení URL, které neodkazuje na naši instanci.",
"Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".": "Chyba volání YOURLS. Pravděpodobně chyba konfigurace, např. nesprávné či chybějící „apiurl“ nebo „signature“.",
"Error parsing YOURLS response.": "Chyba čtení odpovědi YOURLS.",
From 233a69adde140c8f609954d387c5499b8633eda2 Mon Sep 17 00:00:00 2001
From: El RIDO
Date: Sat, 19 Oct 2024 10:55:36 +0200
Subject: [PATCH 43/50] typo in usage
---
bin/migrate | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/bin/migrate b/bin/migrate
index 51aa8f75..79b0ad15 100755
--- a/bin/migrate
+++ b/bin/migrate
@@ -200,9 +200,9 @@ Options:
-h, --help displays this help message
-n dry run, do not copy data
-v be verbose
- use storage backend configration from conf.php found in
+ use storage backend configuration from conf.php found in
this directory as source
- optionally, use storage backend configration from conf.php
+ optionally, use storage backend configuration from conf.php
found in this directory as destination; defaults to:
" . PATH . "cfg" . DIRECTORY_SEPARATOR . "conf.php
");
From ec2e9819847c1381776acc6c31a1a6aaf71e22c9 Mon Sep 17 00:00:00 2001
From: El RIDO
Date: Sat, 19 Oct 2024 11:17:53 +0200
Subject: [PATCH 44/50] upgrading DOMpurify library to 3.1.7
---
CHANGELOG.md | 4 ++--
js/common.js | 2 +-
js/purify-3.1.6.js | 2 --
js/purify-3.1.7.js | 2 ++
lib/Configuration.php | 2 +-
tpl/bootstrap.php | 4 ++--
tpl/bootstrap5.php | 2 +-
tpl/page.php | 2 +-
8 files changed, 10 insertions(+), 10 deletions(-)
delete mode 100644 js/purify-3.1.6.js
create mode 100644 js/purify-3.1.7.js
diff --git a/CHANGELOG.md b/CHANGELOG.md
index f84060dc..26b14faf 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -2,10 +2,10 @@
## 1.7.5 (not yet released)
* ADDED: Allow non persistent SQL connections, if configured (#1394)
+* ADDED: Show a button (that redirects to the `basepath` URL) inside the alert after a paste is deleted
* CHANGED: Simpler PostgreSQL table lookup query (#1361)
* CHANGED: SRI hashes are now configurable, no longer hardcoded in templates (#1365)
-* CHANGED: Upgrading libraries to: DOMpurify 3.1.6
-* ADDED: Show a button (that redirects to the `basepath` URL) inside the alert after a paste is deleted
+* CHANGED: Upgrading libraries to: DOMpurify 3.1.7
## 1.7.4 (2024-07-09)
* CHANGED: Saving markdown pastes uses `.md` extension instead of `.txt` (#1293)
diff --git a/js/common.js b/js/common.js
index 3a7fba60..a81dbc82 100644
--- a/js/common.js
+++ b/js/common.js
@@ -17,7 +17,7 @@ require('./prettify');
global.prettyPrint = window.PR.prettyPrint;
global.prettyPrintOne = window.PR.prettyPrintOne;
global.showdown = require('./showdown-2.1.0');
-global.DOMPurify = require('./purify-3.1.6');
+global.DOMPurify = require('./purify-3.1.7');
global.baseX = require('./base-x-4.0.0').baseX;
global.Legacy = require('./legacy').Legacy;
require('./bootstrap-3.4.1');
diff --git a/js/purify-3.1.6.js b/js/purify-3.1.6.js
deleted file mode 100644
index d2a526e9..00000000
--- a/js/purify-3.1.6.js
+++ /dev/null
@@ -1,2 +0,0 @@
-/*! @license DOMPurify 3.1.6 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.1.6/LICENSE */
-!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).DOMPurify=t()}(this,(function(){"use strict";const{entries:e,setPrototypeOf:t,isFrozen:n,getPrototypeOf:o,getOwnPropertyDescriptor:r}=Object;let{freeze:i,seal:a,create:l}=Object,{apply:c,construct:s}="undefined"!=typeof Reflect&&Reflect;i||(i=function(e){return e}),a||(a=function(e){return e}),c||(c=function(e,t,n){return e.apply(t,n)}),s||(s=function(e,t){return new e(...t)});const u=b(Array.prototype.forEach),m=b(Array.prototype.pop),p=b(Array.prototype.push),f=b(String.prototype.toLowerCase),d=b(String.prototype.toString),h=b(String.prototype.match),g=b(String.prototype.replace),T=b(String.prototype.indexOf),y=b(String.prototype.trim),E=b(Object.prototype.hasOwnProperty),_=b(RegExp.prototype.test),A=(N=TypeError,function(){for(var e=arguments.length,t=new Array(e),n=0;n1?n-1:0),r=1;r2&&void 0!==arguments[2]?arguments[2]:f;t&&t(e,null);let i=o.length;for(;i--;){let t=o[i];if("string"==typeof t){const e=r(t);e!==t&&(n(o)||(o[i]=e),t=e)}e[t]=!0}return e}function R(e){for(let t=0;t/gm),B=a(/\${[\w\W]*}/gm),W=a(/^data-[\-\w.\u00B7-\uFFFF]/),G=a(/^aria-[\-\w]+$/),Y=a(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),j=a(/^(?:\w+script|data):/i),X=a(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),q=a(/^html$/i),$=a(/^[a-z][.\w]*(-[.\w]+)+$/i);var K=Object.freeze({__proto__:null,MUSTACHE_EXPR:H,ERB_EXPR:z,TMPLIT_EXPR:B,DATA_ATTR:W,ARIA_ATTR:G,IS_ALLOWED_URI:Y,IS_SCRIPT_OR_DATA:j,ATTR_WHITESPACE:X,DOCTYPE_NAME:q,CUSTOM_ELEMENT:$});const V=1,Z=3,J=7,Q=8,ee=9,te=function(){return"undefined"==typeof window?null:window};var ne=function t(){let n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:te();const o=e=>t(e);if(o.version="3.1.6",o.removed=[],!n||!n.document||n.document.nodeType!==ee)return o.isSupported=!1,o;let{document:r}=n;const a=r,c=a.currentScript,{DocumentFragment:s,HTMLTemplateElement:N,Node:b,Element:R,NodeFilter:H,NamedNodeMap:z=n.NamedNodeMap||n.MozNamedAttrMap,HTMLFormElement:B,DOMParser:W,trustedTypes:G}=n,j=R.prototype,X=C(j,"cloneNode"),$=C(j,"remove"),ne=C(j,"nextSibling"),oe=C(j,"childNodes"),re=C(j,"parentNode");if("function"==typeof N){const e=r.createElement("template");e.content&&e.content.ownerDocument&&(r=e.content.ownerDocument)}let ie,ae="";const{implementation:le,createNodeIterator:ce,createDocumentFragment:se,getElementsByTagName:ue}=r,{importNode:me}=a;let pe={};o.isSupported="function"==typeof e&&"function"==typeof re&&le&&void 0!==le.createHTMLDocument;const{MUSTACHE_EXPR:fe,ERB_EXPR:de,TMPLIT_EXPR:he,DATA_ATTR:ge,ARIA_ATTR:Te,IS_SCRIPT_OR_DATA:ye,ATTR_WHITESPACE:Ee,CUSTOM_ELEMENT:_e}=K;let{IS_ALLOWED_URI:Ae}=K,Ne=null;const be=S({},[...L,...D,...v,...x,...M]);let Se=null;const Re=S({},[...I,...U,...P,...F]);let we=Object.seal(l(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),Ce=null,Le=null,De=!0,ve=!0,Oe=!1,xe=!0,ke=!1,Me=!0,Ie=!1,Ue=!1,Pe=!1,Fe=!1,He=!1,ze=!1,Be=!0,We=!1,Ge=!0,Ye=!1,je={},Xe=null;const qe=S({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]);let $e=null;const Ke=S({},["audio","video","img","source","image","track"]);let Ve=null;const Ze=S({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),Je="http://www.w3.org/1998/Math/MathML",Qe="http://www.w3.org/2000/svg",et="http://www.w3.org/1999/xhtml";let tt=et,nt=!1,ot=null;const rt=S({},[Je,Qe,et],d);let it=null;const at=["application/xhtml+xml","text/html"];let lt=null,ct=null;const st=r.createElement("form"),ut=function(e){return e instanceof RegExp||e instanceof Function},mt=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(!ct||ct!==e){if(e&&"object"==typeof e||(e={}),e=w(e),it=-1===at.indexOf(e.PARSER_MEDIA_TYPE)?"text/html":e.PARSER_MEDIA_TYPE,lt="application/xhtml+xml"===it?d:f,Ne=E(e,"ALLOWED_TAGS")?S({},e.ALLOWED_TAGS,lt):be,Se=E(e,"ALLOWED_ATTR")?S({},e.ALLOWED_ATTR,lt):Re,ot=E(e,"ALLOWED_NAMESPACES")?S({},e.ALLOWED_NAMESPACES,d):rt,Ve=E(e,"ADD_URI_SAFE_ATTR")?S(w(Ze),e.ADD_URI_SAFE_ATTR,lt):Ze,$e=E(e,"ADD_DATA_URI_TAGS")?S(w(Ke),e.ADD_DATA_URI_TAGS,lt):Ke,Xe=E(e,"FORBID_CONTENTS")?S({},e.FORBID_CONTENTS,lt):qe,Ce=E(e,"FORBID_TAGS")?S({},e.FORBID_TAGS,lt):{},Le=E(e,"FORBID_ATTR")?S({},e.FORBID_ATTR,lt):{},je=!!E(e,"USE_PROFILES")&&e.USE_PROFILES,De=!1!==e.ALLOW_ARIA_ATTR,ve=!1!==e.ALLOW_DATA_ATTR,Oe=e.ALLOW_UNKNOWN_PROTOCOLS||!1,xe=!1!==e.ALLOW_SELF_CLOSE_IN_ATTR,ke=e.SAFE_FOR_TEMPLATES||!1,Me=!1!==e.SAFE_FOR_XML,Ie=e.WHOLE_DOCUMENT||!1,Fe=e.RETURN_DOM||!1,He=e.RETURN_DOM_FRAGMENT||!1,ze=e.RETURN_TRUSTED_TYPE||!1,Pe=e.FORCE_BODY||!1,Be=!1!==e.SANITIZE_DOM,We=e.SANITIZE_NAMED_PROPS||!1,Ge=!1!==e.KEEP_CONTENT,Ye=e.IN_PLACE||!1,Ae=e.ALLOWED_URI_REGEXP||Y,tt=e.NAMESPACE||et,we=e.CUSTOM_ELEMENT_HANDLING||{},e.CUSTOM_ELEMENT_HANDLING&&ut(e.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(we.tagNameCheck=e.CUSTOM_ELEMENT_HANDLING.tagNameCheck),e.CUSTOM_ELEMENT_HANDLING&&ut(e.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(we.attributeNameCheck=e.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),e.CUSTOM_ELEMENT_HANDLING&&"boolean"==typeof e.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements&&(we.allowCustomizedBuiltInElements=e.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),ke&&(ve=!1),He&&(Fe=!0),je&&(Ne=S({},M),Se=[],!0===je.html&&(S(Ne,L),S(Se,I)),!0===je.svg&&(S(Ne,D),S(Se,U),S(Se,F)),!0===je.svgFilters&&(S(Ne,v),S(Se,U),S(Se,F)),!0===je.mathMl&&(S(Ne,x),S(Se,P),S(Se,F))),e.ADD_TAGS&&(Ne===be&&(Ne=w(Ne)),S(Ne,e.ADD_TAGS,lt)),e.ADD_ATTR&&(Se===Re&&(Se=w(Se)),S(Se,e.ADD_ATTR,lt)),e.ADD_URI_SAFE_ATTR&&S(Ve,e.ADD_URI_SAFE_ATTR,lt),e.FORBID_CONTENTS&&(Xe===qe&&(Xe=w(Xe)),S(Xe,e.FORBID_CONTENTS,lt)),Ge&&(Ne["#text"]=!0),Ie&&S(Ne,["html","head","body"]),Ne.table&&(S(Ne,["tbody"]),delete Ce.tbody),e.TRUSTED_TYPES_POLICY){if("function"!=typeof e.TRUSTED_TYPES_POLICY.createHTML)throw A('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if("function"!=typeof e.TRUSTED_TYPES_POLICY.createScriptURL)throw A('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');ie=e.TRUSTED_TYPES_POLICY,ae=ie.createHTML("")}else void 0===ie&&(ie=function(e,t){if("object"!=typeof e||"function"!=typeof e.createPolicy)return null;let n=null;const o="data-tt-policy-suffix";t&&t.hasAttribute(o)&&(n=t.getAttribute(o));const r="dompurify"+(n?"#"+n:"");try{return e.createPolicy(r,{createHTML:e=>e,createScriptURL:e=>e})}catch(e){return console.warn("TrustedTypes policy "+r+" could not be created."),null}}(G,c)),null!==ie&&"string"==typeof ae&&(ae=ie.createHTML(""));i&&i(e),ct=e}},pt=S({},["mi","mo","mn","ms","mtext"]),ft=S({},["foreignobject","annotation-xml"]),dt=S({},["title","style","font","a","script"]),ht=S({},[...D,...v,...O]),gt=S({},[...x,...k]),Tt=function(e){p(o.removed,{element:e});try{re(e).removeChild(e)}catch(t){$(e)}},yt=function(e,t){try{p(o.removed,{attribute:t.getAttributeNode(e),from:t})}catch(e){p(o.removed,{attribute:null,from:t})}if(t.removeAttribute(e),"is"===e&&!Se[e])if(Fe||He)try{Tt(t)}catch(e){}else try{t.setAttribute(e,"")}catch(e){}},Et=function(e){let t=null,n=null;if(Pe)e=""+e;else{const t=h(e,/^[\r\n\t ]+/);n=t&&t[0]}"application/xhtml+xml"===it&&tt===et&&(e=''+e+"");const o=ie?ie.createHTML(e):e;if(tt===et)try{t=(new W).parseFromString(o,it)}catch(e){}if(!t||!t.documentElement){t=le.createDocument(tt,"template",null);try{t.documentElement.innerHTML=nt?ae:o}catch(e){}}const i=t.body||t.documentElement;return e&&n&&i.insertBefore(r.createTextNode(n),i.childNodes[0]||null),tt===et?ue.call(t,Ie?"html":"body")[0]:Ie?t.documentElement:i},_t=function(e){return ce.call(e.ownerDocument||e,e,H.SHOW_ELEMENT|H.SHOW_COMMENT|H.SHOW_TEXT|H.SHOW_PROCESSING_INSTRUCTION|H.SHOW_CDATA_SECTION,null)},At=function(e){return e instanceof B&&("string"!=typeof e.nodeName||"string"!=typeof e.textContent||"function"!=typeof e.removeChild||!(e.attributes instanceof z)||"function"!=typeof e.removeAttribute||"function"!=typeof e.setAttribute||"string"!=typeof e.namespaceURI||"function"!=typeof e.insertBefore||"function"!=typeof e.hasChildNodes)},Nt=function(e){return"function"==typeof b&&e instanceof b},bt=function(e,t,n){pe[e]&&u(pe[e],(e=>{e.call(o,t,n,ct)}))},St=function(e){let t=null;if(bt("beforeSanitizeElements",e,null),At(e))return Tt(e),!0;const n=lt(e.nodeName);if(bt("uponSanitizeElement",e,{tagName:n,allowedTags:Ne}),e.hasChildNodes()&&!Nt(e.firstElementChild)&&_(/<[/\w]/g,e.innerHTML)&&_(/<[/\w]/g,e.textContent))return Tt(e),!0;if(e.nodeType===J)return Tt(e),!0;if(Me&&e.nodeType===Q&&_(/<[/\w]/g,e.data))return Tt(e),!0;if(!Ne[n]||Ce[n]){if(!Ce[n]&&wt(n)){if(we.tagNameCheck instanceof RegExp&&_(we.tagNameCheck,n))return!1;if(we.tagNameCheck instanceof Function&&we.tagNameCheck(n))return!1}if(Ge&&!Xe[n]){const t=re(e)||e.parentNode,n=oe(e)||e.childNodes;if(n&&t){for(let o=n.length-1;o>=0;--o){const r=X(n[o],!0);r.__removalCount=(e.__removalCount||0)+1,t.insertBefore(r,ne(e))}}}return Tt(e),!0}return e instanceof R&&!function(e){let t=re(e);t&&t.tagName||(t={namespaceURI:tt,tagName:"template"});const n=f(e.tagName),o=f(t.tagName);return!!ot[e.namespaceURI]&&(e.namespaceURI===Qe?t.namespaceURI===et?"svg"===n:t.namespaceURI===Je?"svg"===n&&("annotation-xml"===o||pt[o]):Boolean(ht[n]):e.namespaceURI===Je?t.namespaceURI===et?"math"===n:t.namespaceURI===Qe?"math"===n&&ft[o]:Boolean(gt[n]):e.namespaceURI===et?!(t.namespaceURI===Qe&&!ft[o])&&!(t.namespaceURI===Je&&!pt[o])&&!gt[n]&&(dt[n]||!ht[n]):!("application/xhtml+xml"!==it||!ot[e.namespaceURI]))}(e)?(Tt(e),!0):"noscript"!==n&&"noembed"!==n&&"noframes"!==n||!_(/<\/no(script|embed|frames)/i,e.innerHTML)?(ke&&e.nodeType===Z&&(t=e.textContent,u([fe,de,he],(e=>{t=g(t,e," ")})),e.textContent!==t&&(p(o.removed,{element:e.cloneNode()}),e.textContent=t)),bt("afterSanitizeElements",e,null),!1):(Tt(e),!0)},Rt=function(e,t,n){if(Be&&("id"===t||"name"===t)&&(n in r||n in st))return!1;if(ve&&!Le[t]&&_(ge,t));else if(De&&_(Te,t));else if(!Se[t]||Le[t]){if(!(wt(e)&&(we.tagNameCheck instanceof RegExp&&_(we.tagNameCheck,e)||we.tagNameCheck instanceof Function&&we.tagNameCheck(e))&&(we.attributeNameCheck instanceof RegExp&&_(we.attributeNameCheck,t)||we.attributeNameCheck instanceof Function&&we.attributeNameCheck(t))||"is"===t&&we.allowCustomizedBuiltInElements&&(we.tagNameCheck instanceof RegExp&&_(we.tagNameCheck,n)||we.tagNameCheck instanceof Function&&we.tagNameCheck(n))))return!1}else if(Ve[t]);else if(_(Ae,g(n,Ee,"")));else if("src"!==t&&"xlink:href"!==t&&"href"!==t||"script"===e||0!==T(n,"data:")||!$e[e]){if(Oe&&!_(ye,g(n,Ee,"")));else if(n)return!1}else;return!0},wt=function(e){return"annotation-xml"!==e&&h(e,_e)},Ct=function(e){bt("beforeSanitizeAttributes",e,null);const{attributes:t}=e;if(!t)return;const n={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:Se};let r=t.length;for(;r--;){const i=t[r],{name:a,namespaceURI:l,value:c}=i,s=lt(a);let p="value"===a?c:y(c);if(n.attrName=s,n.attrValue=p,n.keepAttr=!0,n.forceKeepAttr=void 0,bt("uponSanitizeAttribute",e,n),p=n.attrValue,Me&&_(/((--!?|])>)|<\/(style|title)/i,p)){yt(a,e);continue}if(n.forceKeepAttr)continue;if(yt(a,e),!n.keepAttr)continue;if(!xe&&_(/\/>/i,p)){yt(a,e);continue}ke&&u([fe,de,he],(e=>{p=g(p,e," ")}));const f=lt(e.nodeName);if(Rt(f,s,p)){if(!We||"id"!==s&&"name"!==s||(yt(a,e),p="user-content-"+p),ie&&"object"==typeof G&&"function"==typeof G.getAttributeType)if(l);else switch(G.getAttributeType(f,s)){case"TrustedHTML":p=ie.createHTML(p);break;case"TrustedScriptURL":p=ie.createScriptURL(p)}try{l?e.setAttributeNS(l,a,p):e.setAttribute(a,p),At(e)?Tt(e):m(o.removed)}catch(e){}}}bt("afterSanitizeAttributes",e,null)},Lt=function e(t){let n=null;const o=_t(t);for(bt("beforeSanitizeShadowDOM",t,null);n=o.nextNode();)bt("uponSanitizeShadowNode",n,null),St(n)||(n.content instanceof s&&e(n.content),Ct(n));bt("afterSanitizeShadowDOM",t,null)};return o.sanitize=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=null,r=null,i=null,l=null;if(nt=!e,nt&&(e="\x3c!--\x3e"),"string"!=typeof e&&!Nt(e)){if("function"!=typeof e.toString)throw A("toString is not a function");if("string"!=typeof(e=e.toString()))throw A("dirty is not a string, aborting")}if(!o.isSupported)return e;if(Ue||mt(t),o.removed=[],"string"==typeof e&&(Ye=!1),Ye){if(e.nodeName){const t=lt(e.nodeName);if(!Ne[t]||Ce[t])throw A("root node is forbidden and cannot be sanitized in-place")}}else if(e instanceof b)n=Et("\x3c!----\x3e"),r=n.ownerDocument.importNode(e,!0),r.nodeType===V&&"BODY"===r.nodeName||"HTML"===r.nodeName?n=r:n.appendChild(r);else{if(!Fe&&!ke&&!Ie&&-1===e.indexOf("<"))return ie&&ze?ie.createHTML(e):e;if(n=Et(e),!n)return Fe?null:ze?ae:""}n&&Pe&&Tt(n.firstChild);const c=_t(Ye?e:n);for(;i=c.nextNode();)St(i)||(i.content instanceof s&&Lt(i.content),Ct(i));if(Ye)return e;if(Fe){if(He)for(l=se.call(n.ownerDocument);n.firstChild;)l.appendChild(n.firstChild);else l=n;return(Se.shadowroot||Se.shadowrootmode)&&(l=me.call(a,l,!0)),l}let m=Ie?n.outerHTML:n.innerHTML;return Ie&&Ne["!doctype"]&&n.ownerDocument&&n.ownerDocument.doctype&&n.ownerDocument.doctype.name&&_(q,n.ownerDocument.doctype.name)&&(m="\n"+m),ke&&u([fe,de,he],(e=>{m=g(m,e," ")})),ie&&ze?ie.createHTML(m):m},o.setConfig=function(){mt(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}),Ue=!0},o.clearConfig=function(){ct=null,Ue=!1},o.isValidAttribute=function(e,t,n){ct||mt({});const o=lt(e),r=lt(t);return Rt(o,r,n)},o.addHook=function(e,t){"function"==typeof t&&(pe[e]=pe[e]||[],p(pe[e],t))},o.removeHook=function(e){if(pe[e])return m(pe[e])},o.removeHooks=function(e){pe[e]&&(pe[e]=[])},o.removeAllHooks=function(){pe={}},o}();return ne}));
diff --git a/js/purify-3.1.7.js b/js/purify-3.1.7.js
new file mode 100644
index 00000000..ec61bc61
--- /dev/null
+++ b/js/purify-3.1.7.js
@@ -0,0 +1,2 @@
+/*! @license DOMPurify 3.1.7 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.1.7/LICENSE */
+!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).DOMPurify=t()}(this,(function(){"use strict";const{entries:e,setPrototypeOf:t,isFrozen:n,getPrototypeOf:o,getOwnPropertyDescriptor:r}=Object;let{freeze:i,seal:a,create:l}=Object,{apply:c,construct:s}="undefined"!=typeof Reflect&&Reflect;i||(i=function(e){return e}),a||(a=function(e){return e}),c||(c=function(e,t,n){return e.apply(t,n)}),s||(s=function(e,t){return new e(...t)});const u=b(Array.prototype.forEach),m=b(Array.prototype.pop),p=b(Array.prototype.push),f=b(String.prototype.toLowerCase),d=b(String.prototype.toString),h=b(String.prototype.match),g=b(String.prototype.replace),T=b(String.prototype.indexOf),y=b(String.prototype.trim),E=b(Object.prototype.hasOwnProperty),_=b(RegExp.prototype.test),A=(N=TypeError,function(){for(var e=arguments.length,t=new Array(e),n=0;n1?n-1:0),r=1;r2&&void 0!==arguments[2]?arguments[2]:f;t&&t(e,null);let i=o.length;for(;i--;){let t=o[i];if("string"==typeof t){const e=r(t);e!==t&&(n(o)||(o[i]=e),t=e)}e[t]=!0}return e}function R(e){for(let t=0;t/gm),B=a(/\${[\w\W]*}/gm),W=a(/^data-[\-\w.\u00B7-\uFFFF]/),G=a(/^aria-[\-\w]+$/),Y=a(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),j=a(/^(?:\w+script|data):/i),X=a(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),q=a(/^html$/i),$=a(/^[a-z][.\w]*(-[.\w]+)+$/i);var K=Object.freeze({__proto__:null,MUSTACHE_EXPR:H,ERB_EXPR:z,TMPLIT_EXPR:B,DATA_ATTR:W,ARIA_ATTR:G,IS_ALLOWED_URI:Y,IS_SCRIPT_OR_DATA:j,ATTR_WHITESPACE:X,DOCTYPE_NAME:q,CUSTOM_ELEMENT:$});const V=1,Z=3,J=7,Q=8,ee=9,te=function(){return"undefined"==typeof window?null:window};var ne=function t(){let n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:te();const o=e=>t(e);if(o.version="3.1.7",o.removed=[],!n||!n.document||n.document.nodeType!==ee)return o.isSupported=!1,o;let{document:r}=n;const a=r,c=a.currentScript,{DocumentFragment:s,HTMLTemplateElement:N,Node:b,Element:R,NodeFilter:H,NamedNodeMap:z=n.NamedNodeMap||n.MozNamedAttrMap,HTMLFormElement:B,DOMParser:W,trustedTypes:G}=n,j=R.prototype,X=C(j,"cloneNode"),$=C(j,"remove"),ne=C(j,"nextSibling"),oe=C(j,"childNodes"),re=C(j,"parentNode");if("function"==typeof N){const e=r.createElement("template");e.content&&e.content.ownerDocument&&(r=e.content.ownerDocument)}let ie,ae="";const{implementation:le,createNodeIterator:ce,createDocumentFragment:se,getElementsByTagName:ue}=r,{importNode:me}=a;let pe={};o.isSupported="function"==typeof e&&"function"==typeof re&&le&&void 0!==le.createHTMLDocument;const{MUSTACHE_EXPR:fe,ERB_EXPR:de,TMPLIT_EXPR:he,DATA_ATTR:ge,ARIA_ATTR:Te,IS_SCRIPT_OR_DATA:ye,ATTR_WHITESPACE:Ee,CUSTOM_ELEMENT:_e}=K;let{IS_ALLOWED_URI:Ae}=K,Ne=null;const be=S({},[...L,...v,...D,...x,...M]);let Se=null;const Re=S({},[...I,...U,...P,...F]);let we=Object.seal(l(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),Ce=null,Le=null,ve=!0,De=!0,Oe=!1,xe=!0,ke=!1,Me=!0,Ie=!1,Ue=!1,Pe=!1,Fe=!1,He=!1,ze=!1,Be=!0,We=!1,Ge=!0,Ye=!1,je={},Xe=null;const qe=S({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]);let $e=null;const Ke=S({},["audio","video","img","source","image","track"]);let Ve=null;const Ze=S({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),Je="http://www.w3.org/1998/Math/MathML",Qe="http://www.w3.org/2000/svg",et="http://www.w3.org/1999/xhtml";let tt=et,nt=!1,ot=null;const rt=S({},[Je,Qe,et],d);let it=null;const at=["application/xhtml+xml","text/html"];let lt=null,ct=null;const st=r.createElement("form"),ut=function(e){return e instanceof RegExp||e instanceof Function},mt=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(!ct||ct!==e){if(e&&"object"==typeof e||(e={}),e=w(e),it=-1===at.indexOf(e.PARSER_MEDIA_TYPE)?"text/html":e.PARSER_MEDIA_TYPE,lt="application/xhtml+xml"===it?d:f,Ne=E(e,"ALLOWED_TAGS")?S({},e.ALLOWED_TAGS,lt):be,Se=E(e,"ALLOWED_ATTR")?S({},e.ALLOWED_ATTR,lt):Re,ot=E(e,"ALLOWED_NAMESPACES")?S({},e.ALLOWED_NAMESPACES,d):rt,Ve=E(e,"ADD_URI_SAFE_ATTR")?S(w(Ze),e.ADD_URI_SAFE_ATTR,lt):Ze,$e=E(e,"ADD_DATA_URI_TAGS")?S(w(Ke),e.ADD_DATA_URI_TAGS,lt):Ke,Xe=E(e,"FORBID_CONTENTS")?S({},e.FORBID_CONTENTS,lt):qe,Ce=E(e,"FORBID_TAGS")?S({},e.FORBID_TAGS,lt):{},Le=E(e,"FORBID_ATTR")?S({},e.FORBID_ATTR,lt):{},je=!!E(e,"USE_PROFILES")&&e.USE_PROFILES,ve=!1!==e.ALLOW_ARIA_ATTR,De=!1!==e.ALLOW_DATA_ATTR,Oe=e.ALLOW_UNKNOWN_PROTOCOLS||!1,xe=!1!==e.ALLOW_SELF_CLOSE_IN_ATTR,ke=e.SAFE_FOR_TEMPLATES||!1,Me=!1!==e.SAFE_FOR_XML,Ie=e.WHOLE_DOCUMENT||!1,Fe=e.RETURN_DOM||!1,He=e.RETURN_DOM_FRAGMENT||!1,ze=e.RETURN_TRUSTED_TYPE||!1,Pe=e.FORCE_BODY||!1,Be=!1!==e.SANITIZE_DOM,We=e.SANITIZE_NAMED_PROPS||!1,Ge=!1!==e.KEEP_CONTENT,Ye=e.IN_PLACE||!1,Ae=e.ALLOWED_URI_REGEXP||Y,tt=e.NAMESPACE||et,we=e.CUSTOM_ELEMENT_HANDLING||{},e.CUSTOM_ELEMENT_HANDLING&&ut(e.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(we.tagNameCheck=e.CUSTOM_ELEMENT_HANDLING.tagNameCheck),e.CUSTOM_ELEMENT_HANDLING&&ut(e.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(we.attributeNameCheck=e.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),e.CUSTOM_ELEMENT_HANDLING&&"boolean"==typeof e.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements&&(we.allowCustomizedBuiltInElements=e.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),ke&&(De=!1),He&&(Fe=!0),je&&(Ne=S({},M),Se=[],!0===je.html&&(S(Ne,L),S(Se,I)),!0===je.svg&&(S(Ne,v),S(Se,U),S(Se,F)),!0===je.svgFilters&&(S(Ne,D),S(Se,U),S(Se,F)),!0===je.mathMl&&(S(Ne,x),S(Se,P),S(Se,F))),e.ADD_TAGS&&(Ne===be&&(Ne=w(Ne)),S(Ne,e.ADD_TAGS,lt)),e.ADD_ATTR&&(Se===Re&&(Se=w(Se)),S(Se,e.ADD_ATTR,lt)),e.ADD_URI_SAFE_ATTR&&S(Ve,e.ADD_URI_SAFE_ATTR,lt),e.FORBID_CONTENTS&&(Xe===qe&&(Xe=w(Xe)),S(Xe,e.FORBID_CONTENTS,lt)),Ge&&(Ne["#text"]=!0),Ie&&S(Ne,["html","head","body"]),Ne.table&&(S(Ne,["tbody"]),delete Ce.tbody),e.TRUSTED_TYPES_POLICY){if("function"!=typeof e.TRUSTED_TYPES_POLICY.createHTML)throw A('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if("function"!=typeof e.TRUSTED_TYPES_POLICY.createScriptURL)throw A('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');ie=e.TRUSTED_TYPES_POLICY,ae=ie.createHTML("")}else void 0===ie&&(ie=function(e,t){if("object"!=typeof e||"function"!=typeof e.createPolicy)return null;let n=null;const o="data-tt-policy-suffix";t&&t.hasAttribute(o)&&(n=t.getAttribute(o));const r="dompurify"+(n?"#"+n:"");try{return e.createPolicy(r,{createHTML:e=>e,createScriptURL:e=>e})}catch(e){return console.warn("TrustedTypes policy "+r+" could not be created."),null}}(G,c)),null!==ie&&"string"==typeof ae&&(ae=ie.createHTML(""));i&&i(e),ct=e}},pt=S({},["mi","mo","mn","ms","mtext"]),ft=S({},["annotation-xml"]),dt=S({},["title","style","font","a","script"]),ht=S({},[...v,...D,...O]),gt=S({},[...x,...k]),Tt=function(e){p(o.removed,{element:e});try{re(e).removeChild(e)}catch(t){$(e)}},yt=function(e,t){try{p(o.removed,{attribute:t.getAttributeNode(e),from:t})}catch(e){p(o.removed,{attribute:null,from:t})}if(t.removeAttribute(e),"is"===e&&!Se[e])if(Fe||He)try{Tt(t)}catch(e){}else try{t.setAttribute(e,"")}catch(e){}},Et=function(e){let t=null,n=null;if(Pe)e=""+e;else{const t=h(e,/^[\r\n\t ]+/);n=t&&t[0]}"application/xhtml+xml"===it&&tt===et&&(e=''+e+"");const o=ie?ie.createHTML(e):e;if(tt===et)try{t=(new W).parseFromString(o,it)}catch(e){}if(!t||!t.documentElement){t=le.createDocument(tt,"template",null);try{t.documentElement.innerHTML=nt?ae:o}catch(e){}}const i=t.body||t.documentElement;return e&&n&&i.insertBefore(r.createTextNode(n),i.childNodes[0]||null),tt===et?ue.call(t,Ie?"html":"body")[0]:Ie?t.documentElement:i},_t=function(e){return ce.call(e.ownerDocument||e,e,H.SHOW_ELEMENT|H.SHOW_COMMENT|H.SHOW_TEXT|H.SHOW_PROCESSING_INSTRUCTION|H.SHOW_CDATA_SECTION,null)},At=function(e){return e instanceof B&&("string"!=typeof e.nodeName||"string"!=typeof e.textContent||"function"!=typeof e.removeChild||!(e.attributes instanceof z)||"function"!=typeof e.removeAttribute||"function"!=typeof e.setAttribute||"string"!=typeof e.namespaceURI||"function"!=typeof e.insertBefore||"function"!=typeof e.hasChildNodes)},Nt=function(e){return"function"==typeof b&&e instanceof b},bt=function(e,t,n){pe[e]&&u(pe[e],(e=>{e.call(o,t,n,ct)}))},St=function(e){let t=null;if(bt("beforeSanitizeElements",e,null),At(e))return Tt(e),!0;const n=lt(e.nodeName);if(bt("uponSanitizeElement",e,{tagName:n,allowedTags:Ne}),e.hasChildNodes()&&!Nt(e.firstElementChild)&&_(/<[/\w]/g,e.innerHTML)&&_(/<[/\w]/g,e.textContent))return Tt(e),!0;if(e.nodeType===J)return Tt(e),!0;if(Me&&e.nodeType===Q&&_(/<[/\w]/g,e.data))return Tt(e),!0;if(!Ne[n]||Ce[n]){if(!Ce[n]&&wt(n)){if(we.tagNameCheck instanceof RegExp&&_(we.tagNameCheck,n))return!1;if(we.tagNameCheck instanceof Function&&we.tagNameCheck(n))return!1}if(Ge&&!Xe[n]){const t=re(e)||e.parentNode,n=oe(e)||e.childNodes;if(n&&t){for(let o=n.length-1;o>=0;--o){const r=X(n[o],!0);r.__removalCount=(e.__removalCount||0)+1,t.insertBefore(r,ne(e))}}}return Tt(e),!0}return e instanceof R&&!function(e){let t=re(e);t&&t.tagName||(t={namespaceURI:tt,tagName:"template"});const n=f(e.tagName),o=f(t.tagName);return!!ot[e.namespaceURI]&&(e.namespaceURI===Qe?t.namespaceURI===et?"svg"===n:t.namespaceURI===Je?"svg"===n&&("annotation-xml"===o||pt[o]):Boolean(ht[n]):e.namespaceURI===Je?t.namespaceURI===et?"math"===n:t.namespaceURI===Qe?"math"===n&&ft[o]:Boolean(gt[n]):e.namespaceURI===et?!(t.namespaceURI===Qe&&!ft[o])&&!(t.namespaceURI===Je&&!pt[o])&&!gt[n]&&(dt[n]||!ht[n]):!("application/xhtml+xml"!==it||!ot[e.namespaceURI]))}(e)?(Tt(e),!0):"noscript"!==n&&"noembed"!==n&&"noframes"!==n||!_(/<\/no(script|embed|frames)/i,e.innerHTML)?(ke&&e.nodeType===Z&&(t=e.textContent,u([fe,de,he],(e=>{t=g(t,e," ")})),e.textContent!==t&&(p(o.removed,{element:e.cloneNode()}),e.textContent=t)),bt("afterSanitizeElements",e,null),!1):(Tt(e),!0)},Rt=function(e,t,n){if(Be&&("id"===t||"name"===t)&&(n in r||n in st))return!1;if(De&&!Le[t]&&_(ge,t));else if(ve&&_(Te,t));else if(!Se[t]||Le[t]){if(!(wt(e)&&(we.tagNameCheck instanceof RegExp&&_(we.tagNameCheck,e)||we.tagNameCheck instanceof Function&&we.tagNameCheck(e))&&(we.attributeNameCheck instanceof RegExp&&_(we.attributeNameCheck,t)||we.attributeNameCheck instanceof Function&&we.attributeNameCheck(t))||"is"===t&&we.allowCustomizedBuiltInElements&&(we.tagNameCheck instanceof RegExp&&_(we.tagNameCheck,n)||we.tagNameCheck instanceof Function&&we.tagNameCheck(n))))return!1}else if(Ve[t]);else if(_(Ae,g(n,Ee,"")));else if("src"!==t&&"xlink:href"!==t&&"href"!==t||"script"===e||0!==T(n,"data:")||!$e[e]){if(Oe&&!_(ye,g(n,Ee,"")));else if(n)return!1}else;return!0},wt=function(e){return"annotation-xml"!==e&&h(e,_e)},Ct=function(e){bt("beforeSanitizeAttributes",e,null);const{attributes:t}=e;if(!t)return;const n={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:Se};let r=t.length;for(;r--;){const i=t[r],{name:a,namespaceURI:l,value:c}=i,s=lt(a);let p="value"===a?c:y(c);if(n.attrName=s,n.attrValue=p,n.keepAttr=!0,n.forceKeepAttr=void 0,bt("uponSanitizeAttribute",e,n),p=n.attrValue,n.forceKeepAttr)continue;if(yt(a,e),!n.keepAttr)continue;if(!xe&&_(/\/>/i,p)){yt(a,e);continue}ke&&u([fe,de,he],(e=>{p=g(p,e," ")}));const f=lt(e.nodeName);if(Rt(f,s,p))if(!We||"id"!==s&&"name"!==s||(yt(a,e),p="user-content-"+p),Me&&_(/((--!?|])>)|<\/(style|title)/i,p))yt(a,e);else{if(ie&&"object"==typeof G&&"function"==typeof G.getAttributeType)if(l);else switch(G.getAttributeType(f,s)){case"TrustedHTML":p=ie.createHTML(p);break;case"TrustedScriptURL":p=ie.createScriptURL(p)}try{l?e.setAttributeNS(l,a,p):e.setAttribute(a,p),At(e)?Tt(e):m(o.removed)}catch(e){}}}bt("afterSanitizeAttributes",e,null)},Lt=function e(t){let n=null;const o=_t(t);for(bt("beforeSanitizeShadowDOM",t,null);n=o.nextNode();)bt("uponSanitizeShadowNode",n,null),St(n)||(n.content instanceof s&&e(n.content),Ct(n));bt("afterSanitizeShadowDOM",t,null)};return o.sanitize=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=null,r=null,i=null,l=null;if(nt=!e,nt&&(e="\x3c!--\x3e"),"string"!=typeof e&&!Nt(e)){if("function"!=typeof e.toString)throw A("toString is not a function");if("string"!=typeof(e=e.toString()))throw A("dirty is not a string, aborting")}if(!o.isSupported)return e;if(Ue||mt(t),o.removed=[],"string"==typeof e&&(Ye=!1),Ye){if(e.nodeName){const t=lt(e.nodeName);if(!Ne[t]||Ce[t])throw A("root node is forbidden and cannot be sanitized in-place")}}else if(e instanceof b)n=Et("\x3c!----\x3e"),r=n.ownerDocument.importNode(e,!0),r.nodeType===V&&"BODY"===r.nodeName||"HTML"===r.nodeName?n=r:n.appendChild(r);else{if(!Fe&&!ke&&!Ie&&-1===e.indexOf("<"))return ie&&ze?ie.createHTML(e):e;if(n=Et(e),!n)return Fe?null:ze?ae:""}n&&Pe&&Tt(n.firstChild);const c=_t(Ye?e:n);for(;i=c.nextNode();)St(i)||(i.content instanceof s&&Lt(i.content),Ct(i));if(Ye)return e;if(Fe){if(He)for(l=se.call(n.ownerDocument);n.firstChild;)l.appendChild(n.firstChild);else l=n;return(Se.shadowroot||Se.shadowrootmode)&&(l=me.call(a,l,!0)),l}let m=Ie?n.outerHTML:n.innerHTML;return Ie&&Ne["!doctype"]&&n.ownerDocument&&n.ownerDocument.doctype&&n.ownerDocument.doctype.name&&_(q,n.ownerDocument.doctype.name)&&(m="\n"+m),ke&&u([fe,de,he],(e=>{m=g(m,e," ")})),ie&&ze?ie.createHTML(m):m},o.setConfig=function(){mt(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}),Ue=!0},o.clearConfig=function(){ct=null,Ue=!1},o.isValidAttribute=function(e,t,n){ct||mt({});const o=lt(e),r=lt(t);return Rt(o,r,n)},o.addHook=function(e,t){"function"==typeof t&&(pe[e]=pe[e]||[],p(pe[e],t))},o.removeHook=function(e){if(pe[e])return m(pe[e])},o.removeHooks=function(e){pe[e]&&(pe[e]=[])},o.removeAllHooks=function(){pe={}},o}();return ne}));
diff --git a/lib/Configuration.php b/lib/Configuration.php
index e4b9dc9e..634209a5 100644
--- a/lib/Configuration.php
+++ b/lib/Configuration.php
@@ -109,7 +109,7 @@ class Configuration
'js/legacy.js' => 'sha512-LYos+qXHIRqFf5ZPNphvtTB0cgzHUizu2wwcOwcwz/VIpRv9lpcBgPYz4uq6jx0INwCAj6Fbnl5HoKiLufS2jg==',
'js/prettify.js' => 'sha512-puO0Ogy++IoA2Pb9IjSxV1n4+kQkKXYAEUtVzfZpQepyDPyXk8hokiYDS7ybMogYlyyEIwMLpZqVhCkARQWLMg==',
'js/privatebin.js' => 'sha512-JUj/Sbl/bMHlIoIUT1U9e89JU33fDBxCxLSGxwwaeydBFXOBHyfdF7hwSIjgbPxb4d9CO7CSe4meouTIRMy8Vg==',
- 'js/purify-3.1.6.js' => 'sha512-SDwfsqHZFhbcBo/6AN7Te4KoUkWHHw7TzyZCuRkkpl0o8oV4owT/lprznWWe9+qFtigb6MrF81K4CQRLN6be+A==',
+ 'js/purify-3.1.7.js' => 'sha512-LegvqULiMtOfboJZw9MpETN/b+xnLRXZI90gG7oIFHW+yAeHmKvRtEUbiMFx2WvUqQoL9XB3gwU+hWXUT0X+8A==',
'js/rawinflate-0.3.js' => 'sha512-g8uelGgJW9A/Z1tB6Izxab++oj5kdD7B4qC7DHwZkB6DGMXKyzx7v5mvap2HXueI2IIn08YlRYM56jwWdm2ucQ==',
'js/showdown-2.1.0.js' => 'sha512-WYXZgkTR0u/Y9SVIA4nTTOih0kXMEd8RRV6MLFdL6YU8ymhR528NLlYQt1nlJQbYz4EW+ZsS0fx1awhiQJme1Q==',
'js/zlib-1.3.1.js' => 'sha512-Z90oppVx/mn0DG2k9airjFVQuliELlXLeT3SRiO6MLiUSbhGlAq+UFwmYbG4i9mwW87dkG8fgJPapGwnUq7Osg==',
diff --git a/tpl/bootstrap.php b/tpl/bootstrap.php
index b08cbdd9..a0199012 100644
--- a/tpl/bootstrap.php
+++ b/tpl/bootstrap.php
@@ -71,7 +71,7 @@ if ($MARKDOWN) :
- _scriptTag('js/purify-3.1.6.js', 'async'); ?>
+ _scriptTag('js/purify-3.1.7.js', 'async'); ?>
_scriptTag('js/legacy.js', 'async'); ?>
_scriptTag('js/privatebin.js', 'defer'); ?>
@@ -489,7 +489,7 @@ if ($FILEUPLOAD) :
+?>
diff --git a/tpl/bootstrap5.php b/tpl/bootstrap5.php
index b34328c7..c0686cc8 100644
--- a/tpl/bootstrap5.php
+++ b/tpl/bootstrap5.php
@@ -55,7 +55,7 @@ if ($MARKDOWN) :
- _scriptTag('js/purify-3.1.6.js', 'async'); ?>
+ _scriptTag('js/purify-3.1.7.js', 'async'); ?>
_scriptTag('js/legacy.js', 'async'); ?>
_scriptTag('js/privatebin.js', 'defer'); ?>
diff --git a/tpl/page.php b/tpl/page.php
index ffe0a2cd..4f42ebe1 100644
--- a/tpl/page.php
+++ b/tpl/page.php
@@ -49,7 +49,7 @@ if ($MARKDOWN):
- _scriptTag('js/purify-3.1.6.js', 'async'); ?>
+ _scriptTag('js/purify-3.1.7.js', 'async'); ?>
_scriptTag('js/legacy.js', 'async'); ?>
_scriptTag('js/privatebin.js', 'defer'); ?>
From 2cd1dca6004b28e3234ac2786be6372b27dae02e Mon Sep 17 00:00:00 2001
From: PrivateBin Translator Bot
<72346835+privatebin-translator@users.noreply.github.com>
Date: Sat, 19 Oct 2024 11:26:11 +0200
Subject: [PATCH 45/50] New translations en.json (Czech)
---
i18n/cs.json | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/i18n/cs.json b/i18n/cs.json
index 9d7e293a..711148d4 100644
--- a/i18n/cs.json
+++ b/i18n/cs.json
@@ -20,7 +20,7 @@
"Error saving comment. Sorry.": "Chyba při ukládání komentáře. Promiňte.",
"Error saving paste. Sorry.": "Chyba při ukládání příspěvku. Promiňte.",
"Invalid paste ID.": "Chybné ID příspěvku.",
- "Paste is not of burn-after-reading type.": "Příspěvek není nastaven na smazaní po přečtení.",
+ "Paste is not of burn-after-reading type.": "Příspěvek není nastaven na smazání po přečtení.",
"Wrong deletion token. Paste was not deleted.": "Chybný token pro odstranění. Příspěvek nebyl smazán.",
"Paste was properly deleted.": "Příspěvek byl řádně smazán.",
"JavaScript is required for %s to work. Sorry for the inconvenience.": "Pro fungování %s je vyžadován JavaScript. Omlouváme se za nepříjemnosti.",
@@ -135,7 +135,7 @@
],
"Please enter the password for this paste:": "Zadejte prosím heslo k tomuto příspěvku:",
"Could not decrypt data (Wrong key?)": "Nepodařilo se dešifrovat data (Špatný klíč?)",
- "Could not delete the paste, it was not stored in burn after reading mode.": "Nepodařilo se odstranit příspěvek, nebyl uložen v režimu smazání po přečtení.",
+ "Could not delete the paste, it was not stored in burn after reading mode.": "Nepodařilo se odstranit příspěvek, nebyl uložen v režimu smazání po přečtení.",
"FOR YOUR EYES ONLY. Don't close this window, this message can't be displayed again.": "POUZE PRO VAŠE OČI. Nezavírejte toto okno, tuto zprávu nelze znovu zobrazit.",
"Could not decrypt comment; Wrong key?": "Nepodařilo se dešifrovat komentář; Špatný klíč?",
"Reply": "Odpovědět",
@@ -192,7 +192,7 @@
"Could not get paste data: %s": "Nepodařilo se získat data příspěvku: %s",
"QR code": "QR kód",
"This website is using an insecure HTTP connection! Please use it only for testing.": "Tato stránka používá nezabezpečené HTTP připojení! Použijte ji prosím jen pro testování.",
- "For more information see this FAQ entry.": "Více informací naleznete v této položce FAQ.",
+ "For more information see this FAQ entry.": "Více informací naleznete v této položce FAQ.",
"Your browser may require an HTTPS connection to support the WebCrypto API. Try switching to HTTPS.": "Váš prohlížeč může vyžadovat připojení HTTPS pro podporu WebCrypto API. Zkuste přepnout na HTTPS.",
"Your browser doesn't support WebAssembly, used for zlib compression. You can create uncompressed documents, but can't read compressed ones.": "Váš prohlížeč nepodporuje WebAssembly, které se používá pro zlib kompresi. Můžete vytvořit nekomprimované dokumenty, ale nebudete moct číst ty komprimované.",
"waiting on user to provide a password": "čekám na zadání hesla",
From 849e32201ebf1f16ed656ab7ebdbdfe60b3ea99e Mon Sep 17 00:00:00 2001
From: El RIDO
Date: Sat, 19 Oct 2024 11:28:01 +0200
Subject: [PATCH 46/50] improve SRI example
---
cfg/conf.sample.php | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/cfg/conf.sample.php b/cfg/conf.sample.php
index b1279d81..e9880471 100644
--- a/cfg/conf.sample.php
+++ b/cfg/conf.sample.php
@@ -280,5 +280,4 @@ dir = PATH "data"
; Subresource integrity (SRI) hashes used in template files. Uncomment and set
; these for all js files used. See:
; https://github.com/PrivateBin/PrivateBin/wiki/FAQ#user-content-how-to-make-privatebin-work-when-i-have-changed-some-javascript-files
-;privatebin.js = "sha512-[…]"
-
+;js/privatebin.js = "sha512-[…]"
From d321995d7d7a7f54ebc8289f4adeeb1b1b64d8cf Mon Sep 17 00:00:00 2001
From: PrivateBin Translator Bot
<72346835+privatebin-translator@users.noreply.github.com>
Date: Sat, 19 Oct 2024 12:28:51 +0200
Subject: [PATCH 47/50] New translations en.json (Czech)
---
i18n/cs.json | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/i18n/cs.json b/i18n/cs.json
index 711148d4..b81f0f7c 100644
--- a/i18n/cs.json
+++ b/i18n/cs.json
@@ -5,7 +5,7 @@
"Because ignorance is bliss": "Protože nevědomost je sladká",
"Paste does not exist, has expired or has been deleted.": "Vložený text neexistuje, expiroval nebo byl odstraněn.",
"%s requires php %s or above to work. Sorry.": "%s vyžaduje php %s nebo vyšší. Lituji.",
- "%s requires configuration section [%s] to be present in configuration file.": "%s vyžaduje, aby byla v konfiguračním souboru přítomna sekce [%s].",
+ "%s requires configuration section [%s] to be present in configuration file.": "%s vyžaduje, aby byla v konfiguračním souboru přítomna sekce [%s].",
"Please wait %d seconds between each post.": [
"Vyčkejte prosím %d sekundu mezi následujícími příspěvky.",
"Vyčkejte prosím %d sekundy mezi následujícími příspěvky.",
From dd4f3a43fe50e0946bed55856d0fc11db823d49a Mon Sep 17 00:00:00 2001
From: PrivateBin Translator Bot
<72346835+privatebin-translator@users.noreply.github.com>
Date: Sun, 20 Oct 2024 12:12:07 +0200
Subject: [PATCH 48/50] New translations en.json (Corsican)
---
i18n/co.json | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/i18n/co.json b/i18n/co.json
index 55ba126a..b79964a3 100644
--- a/i18n/co.json
+++ b/i18n/co.json
@@ -220,5 +220,5 @@
"Dark Mode": "Modu scuru",
"Error compressing paste, due to missing WebAssembly support.": "Sbagliu durante a cumpressione di l’appiccicu, perchè WebAssembly ùn hè micca accettatu.",
"Error decompressing paste, your browser does not support WebAssembly. Please use another browser to view this paste.": "Sbagliu durante a scumpressione di l’appiccicu, perchè u vostru navigatore ùn accetteghja micca WebAssembly. Ci vole à impiegà un altru navigatore per affissà st’appiccicu.",
- "Start over": "Start over"
+ "Start over": "Principià torna"
}
From f0ca1ac88879d6cd3ca523d041e17965a273fc5d Mon Sep 17 00:00:00 2001
From: rugk
Date: Tue, 22 Oct 2024 22:20:49 +0000
Subject: [PATCH 49/50] fix: also loaad dark-mode switch defer'Ed to make it
load correctly
(async fails on WebKIt)
---
tpl/bootstrap5.php | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tpl/bootstrap5.php b/tpl/bootstrap5.php
index bf6e28d5..92fc8ace 100644
--- a/tpl/bootstrap5.php
+++ b/tpl/bootstrap5.php
@@ -42,7 +42,7 @@ endif;
_scriptTag('js/base-x-4.0.0.js', ''); ?>
_scriptTag('js/rawinflate-0.3.js', ''); ?>
_scriptTag('js/bootstrap-5.3.3.js', 'async'); ?>
- _scriptTag('js/dark-mode-switch.js', 'async'); ?>
+ _scriptTag('js/dark-mode-switch.js', 'defer'); ?>
From 628b60dcb4a16c8dcd9fa62a0c30780b4ad266b6 Mon Sep 17 00:00:00 2001
From: rugk
Date: Tue, 22 Oct 2024 22:29:42 +0000
Subject: [PATCH 50/50] refactor: deferring everything including all potential
deps
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Also works on Safari…
---
tpl/bootstrap.php | 8 ++++----
tpl/bootstrap5.php | 14 +++++++-------
2 files changed, 11 insertions(+), 11 deletions(-)
diff --git a/tpl/bootstrap.php b/tpl/bootstrap.php
index 7efdbdc7..b2398387 100644
--- a/tpl/bootstrap.php
+++ b/tpl/bootstrap.php
@@ -42,7 +42,7 @@ if ($SYNTAXHIGHLIGHTING) :
endif;
?>
- _scriptTag('js/jquery-3.7.1.js'); ?>
+ _scriptTag('js/jquery-3.7.1.js', 'defer'); ?>
@@ -56,8 +56,8 @@ if ($ZEROBINCOMPATIBILITY) :
endif;
?>
_scriptTag('js/zlib-1.3.1.js', 'async'); ?>
- _scriptTag('js/base-x-4.0.0.js'); ?>
- _scriptTag('js/rawinflate-0.3.js'); ?>
+ _scriptTag('js/base-x-4.0.0.js', 'defer'); ?>
+ _scriptTag('js/rawinflate-0.3.js', 'defer'); ?>
_scriptTag('js/bootstrap-3.4.1.js', 'defer'); ?>
+?>