aboutsummaryrefslogtreecommitdiffstats
path: root/apps/files_sharing
diff options
context:
space:
mode:
Diffstat (limited to 'apps/files_sharing')
-rw-r--r--apps/files_sharing/l10n/cs.js2
-rw-r--r--apps/files_sharing/l10n/cs.json2
-rw-r--r--apps/files_sharing/l10n/de.js2
-rw-r--r--apps/files_sharing/l10n/de.json2
-rw-r--r--apps/files_sharing/l10n/de_DE.js2
-rw-r--r--apps/files_sharing/l10n/de_DE.json2
-rw-r--r--apps/files_sharing/l10n/et_EE.js2
-rw-r--r--apps/files_sharing/l10n/et_EE.json2
-rw-r--r--apps/files_sharing/l10n/it.js2
-rw-r--r--apps/files_sharing/l10n/it.json2
-rw-r--r--apps/files_sharing/l10n/ru.js32
-rw-r--r--apps/files_sharing/l10n/ru.json32
-rw-r--r--apps/files_sharing/l10n/sr.js2
-rw-r--r--apps/files_sharing/l10n/sr.json2
-rw-r--r--apps/files_sharing/l10n/sv.js5
-rw-r--r--apps/files_sharing/l10n/sv.json5
-rw-r--r--apps/files_sharing/l10n/uk.js2
-rw-r--r--apps/files_sharing/l10n/uk.json2
-rw-r--r--apps/files_sharing/l10n/zh_TW.js2
-rw-r--r--apps/files_sharing/l10n/zh_TW.json2
-rw-r--r--apps/files_sharing/src/components/SharingEntryLink.vue38
-rw-r--r--apps/files_sharing/tests/Listener/LoadAdditionalListenerTest.php28
22 files changed, 145 insertions, 27 deletions
diff --git a/apps/files_sharing/l10n/cs.js b/apps/files_sharing/l10n/cs.js
index f216d185224..8753dc54d64 100644
--- a/apps/files_sharing/l10n/cs.js
+++ b/apps/files_sharing/l10n/cs.js
@@ -185,6 +185,7 @@ OC.L10N.register(
"Set default folder for accepted shares" : "Nastavit výchozí složku pro přijatá sdílení",
"Reset" : "Vrátit na výchozí hodnoty",
"Reset folder to system default" : "Resetovat složku na systémovou výchozí",
+ "Share expiration: {date}" : "Skončení platnosti sdílení: {date}",
"Share Expiration" : "Skončení platnosti sdílení",
"group" : "skupina",
"conversation" : "konverzace",
@@ -309,6 +310,7 @@ OC.L10N.register(
"Shares that are not part of the internal or external shares. This can be shares from apps or other sources." : "Sdílení, která nejsou součástí interních nebo externích sdílení. Toto mohou být sdílení z aplikací nebo jiných zdrojů.",
"Share with accounts, teams, federated cloud IDs" : "Nasdílejte účtům, týmům, identifikátorům v rámci federovaného cloudu",
"Share with accounts and teams" : "Nasdílet účtům a týmům",
+ "Federated cloud ID" : "Identifikátor v rámci federovaného cloudu",
"Email, federated cloud ID" : "E-mail, identif. federovaného cloudu",
"Unable to load the shares list" : "Nedaří se načíst seznam sdílení",
"Expires {relativetime}" : "Platnost končí {relativetime}",
diff --git a/apps/files_sharing/l10n/cs.json b/apps/files_sharing/l10n/cs.json
index de776d1f283..50059aea129 100644
--- a/apps/files_sharing/l10n/cs.json
+++ b/apps/files_sharing/l10n/cs.json
@@ -183,6 +183,7 @@
"Set default folder for accepted shares" : "Nastavit výchozí složku pro přijatá sdílení",
"Reset" : "Vrátit na výchozí hodnoty",
"Reset folder to system default" : "Resetovat složku na systémovou výchozí",
+ "Share expiration: {date}" : "Skončení platnosti sdílení: {date}",
"Share Expiration" : "Skončení platnosti sdílení",
"group" : "skupina",
"conversation" : "konverzace",
@@ -307,6 +308,7 @@
"Shares that are not part of the internal or external shares. This can be shares from apps or other sources." : "Sdílení, která nejsou součástí interních nebo externích sdílení. Toto mohou být sdílení z aplikací nebo jiných zdrojů.",
"Share with accounts, teams, federated cloud IDs" : "Nasdílejte účtům, týmům, identifikátorům v rámci federovaného cloudu",
"Share with accounts and teams" : "Nasdílet účtům a týmům",
+ "Federated cloud ID" : "Identifikátor v rámci federovaného cloudu",
"Email, federated cloud ID" : "E-mail, identif. federovaného cloudu",
"Unable to load the shares list" : "Nedaří se načíst seznam sdílení",
"Expires {relativetime}" : "Platnost končí {relativetime}",
diff --git a/apps/files_sharing/l10n/de.js b/apps/files_sharing/l10n/de.js
index 9ed6edf5359..0373e006838 100644
--- a/apps/files_sharing/l10n/de.js
+++ b/apps/files_sharing/l10n/de.js
@@ -185,6 +185,7 @@ OC.L10N.register(
"Set default folder for accepted shares" : "Standardordner für angenommene Freigaben",
"Reset" : "Zurücksetzen",
"Reset folder to system default" : "Ordner auf Systemstandard zurücksetzen",
+ "Share expiration: {date}" : "Freigabe-Ablaufdatum: {date}",
"Share Expiration" : "Freigabe-Ablaufdatum",
"group" : "Gruppe",
"conversation" : "Unterhaltung",
@@ -309,6 +310,7 @@ OC.L10N.register(
"Shares that are not part of the internal or external shares. This can be shares from apps or other sources." : "Freigaben, die nicht zu internen oder externen Freigaben gehören. Dies können Freigaben von Apps oder anderen Quellen sein.",
"Share with accounts, teams, federated cloud IDs" : "Teilen mit Konten, Teams, Federated-Cloud-IDs",
"Share with accounts and teams" : "Teile mit Konten und Teams",
+ "Federated cloud ID" : "Federated-Cloud-ID",
"Email, federated cloud ID" : "Name, Federated-Cloud-ID",
"Unable to load the shares list" : "Liste der Freigaben konnte nicht geladen werden",
"Expires {relativetime}" : "Läuft {relativetime} ab",
diff --git a/apps/files_sharing/l10n/de.json b/apps/files_sharing/l10n/de.json
index 4b64c5b2627..056ae0275de 100644
--- a/apps/files_sharing/l10n/de.json
+++ b/apps/files_sharing/l10n/de.json
@@ -183,6 +183,7 @@
"Set default folder for accepted shares" : "Standardordner für angenommene Freigaben",
"Reset" : "Zurücksetzen",
"Reset folder to system default" : "Ordner auf Systemstandard zurücksetzen",
+ "Share expiration: {date}" : "Freigabe-Ablaufdatum: {date}",
"Share Expiration" : "Freigabe-Ablaufdatum",
"group" : "Gruppe",
"conversation" : "Unterhaltung",
@@ -307,6 +308,7 @@
"Shares that are not part of the internal or external shares. This can be shares from apps or other sources." : "Freigaben, die nicht zu internen oder externen Freigaben gehören. Dies können Freigaben von Apps oder anderen Quellen sein.",
"Share with accounts, teams, federated cloud IDs" : "Teilen mit Konten, Teams, Federated-Cloud-IDs",
"Share with accounts and teams" : "Teile mit Konten und Teams",
+ "Federated cloud ID" : "Federated-Cloud-ID",
"Email, federated cloud ID" : "Name, Federated-Cloud-ID",
"Unable to load the shares list" : "Liste der Freigaben konnte nicht geladen werden",
"Expires {relativetime}" : "Läuft {relativetime} ab",
diff --git a/apps/files_sharing/l10n/de_DE.js b/apps/files_sharing/l10n/de_DE.js
index 5ac99f9f986..f20c9209224 100644
--- a/apps/files_sharing/l10n/de_DE.js
+++ b/apps/files_sharing/l10n/de_DE.js
@@ -185,6 +185,7 @@ OC.L10N.register(
"Set default folder for accepted shares" : "Standardordner für angenommene Freigaben",
"Reset" : "Zurücksetzen",
"Reset folder to system default" : "Ordner auf Systemstandard zurücksetzen",
+ "Share expiration: {date}" : "Freigabe-Ablaufdatum: {date}",
"Share Expiration" : "Freigabe-Ablaufdatum",
"group" : "Gruppe",
"conversation" : "Unterhaltung",
@@ -309,6 +310,7 @@ OC.L10N.register(
"Shares that are not part of the internal or external shares. This can be shares from apps or other sources." : "Freigaben, die nicht zu internen oder externen Freigaben gehören. Dies können Freigaben von Apps oder anderen Quellen sein.",
"Share with accounts, teams, federated cloud IDs" : "Teilen mit Konten, Teams, Federated-Cloud-IDs",
"Share with accounts and teams" : "Teile mit Konten und Teams",
+ "Federated cloud ID" : "Federated-Cloud-ID",
"Email, federated cloud ID" : "Name, Federated-Cloud-ID",
"Unable to load the shares list" : "Liste der Freigaben kann nicht geladen werden",
"Expires {relativetime}" : "Läuft {relativetime} ab",
diff --git a/apps/files_sharing/l10n/de_DE.json b/apps/files_sharing/l10n/de_DE.json
index ec845d1caf8..14112761270 100644
--- a/apps/files_sharing/l10n/de_DE.json
+++ b/apps/files_sharing/l10n/de_DE.json
@@ -183,6 +183,7 @@
"Set default folder for accepted shares" : "Standardordner für angenommene Freigaben",
"Reset" : "Zurücksetzen",
"Reset folder to system default" : "Ordner auf Systemstandard zurücksetzen",
+ "Share expiration: {date}" : "Freigabe-Ablaufdatum: {date}",
"Share Expiration" : "Freigabe-Ablaufdatum",
"group" : "Gruppe",
"conversation" : "Unterhaltung",
@@ -307,6 +308,7 @@
"Shares that are not part of the internal or external shares. This can be shares from apps or other sources." : "Freigaben, die nicht zu internen oder externen Freigaben gehören. Dies können Freigaben von Apps oder anderen Quellen sein.",
"Share with accounts, teams, federated cloud IDs" : "Teilen mit Konten, Teams, Federated-Cloud-IDs",
"Share with accounts and teams" : "Teile mit Konten und Teams",
+ "Federated cloud ID" : "Federated-Cloud-ID",
"Email, federated cloud ID" : "Name, Federated-Cloud-ID",
"Unable to load the shares list" : "Liste der Freigaben kann nicht geladen werden",
"Expires {relativetime}" : "Läuft {relativetime} ab",
diff --git a/apps/files_sharing/l10n/et_EE.js b/apps/files_sharing/l10n/et_EE.js
index 78689676661..b2840f2179b 100644
--- a/apps/files_sharing/l10n/et_EE.js
+++ b/apps/files_sharing/l10n/et_EE.js
@@ -185,6 +185,7 @@ OC.L10N.register(
"Set default folder for accepted shares" : "Määra vastuvõetava jaosmeedia jaoks vaikimisi kaust",
"Reset" : "Lähtesta",
"Reset folder to system default" : "Kasuta süsteemi vaikimisi kausta",
+ "Share expiration: {date}" : "Jagamise aegumine: {date}",
"Share Expiration" : "Jagamise aegumine",
"group" : "grupp",
"conversation" : "vestlus",
@@ -309,6 +310,7 @@ OC.L10N.register(
"Shares that are not part of the internal or external shares. This can be shares from apps or other sources." : "Jaosmeedia, mis pole sisemise või välise jagamise osa. Näiteks jagamine rakendustest või muudest allikatest.",
"Share with accounts, teams, federated cloud IDs" : "Jaga kasutajatega, tiimidega ja liitpilves osalejatega",
"Share with accounts and teams" : "Jaga kasutajate ja tiimidega",
+ "Federated cloud ID" : "Liitpilve tunnus",
"Email, federated cloud ID" : "E-posti aadress, liitpilve kasutajatunnus",
"Unable to load the shares list" : "Jaosmeedia loendi laadimine ei õnnestu",
"Expires {relativetime}" : "Aegub {relativetime}",
diff --git a/apps/files_sharing/l10n/et_EE.json b/apps/files_sharing/l10n/et_EE.json
index d1a83294120..a8ba5ef57bb 100644
--- a/apps/files_sharing/l10n/et_EE.json
+++ b/apps/files_sharing/l10n/et_EE.json
@@ -183,6 +183,7 @@
"Set default folder for accepted shares" : "Määra vastuvõetava jaosmeedia jaoks vaikimisi kaust",
"Reset" : "Lähtesta",
"Reset folder to system default" : "Kasuta süsteemi vaikimisi kausta",
+ "Share expiration: {date}" : "Jagamise aegumine: {date}",
"Share Expiration" : "Jagamise aegumine",
"group" : "grupp",
"conversation" : "vestlus",
@@ -307,6 +308,7 @@
"Shares that are not part of the internal or external shares. This can be shares from apps or other sources." : "Jaosmeedia, mis pole sisemise või välise jagamise osa. Näiteks jagamine rakendustest või muudest allikatest.",
"Share with accounts, teams, federated cloud IDs" : "Jaga kasutajatega, tiimidega ja liitpilves osalejatega",
"Share with accounts and teams" : "Jaga kasutajate ja tiimidega",
+ "Federated cloud ID" : "Liitpilve tunnus",
"Email, federated cloud ID" : "E-posti aadress, liitpilve kasutajatunnus",
"Unable to load the shares list" : "Jaosmeedia loendi laadimine ei õnnestu",
"Expires {relativetime}" : "Aegub {relativetime}",
diff --git a/apps/files_sharing/l10n/it.js b/apps/files_sharing/l10n/it.js
index be78bc7fce6..ade501b3d13 100644
--- a/apps/files_sharing/l10n/it.js
+++ b/apps/files_sharing/l10n/it.js
@@ -185,6 +185,7 @@ OC.L10N.register(
"Set default folder for accepted shares" : "Imposta cartella predefinita per condivisioni accettate",
"Reset" : "Ripristina",
"Reset folder to system default" : "Ripristina la cartella alla predefinita di sistema",
+ "Share expiration: {date}" : "Scadenza condivisione: {date}",
"Share Expiration" : "Scadenza Condivisione",
"group" : "gruppo",
"conversation" : "conversazione",
@@ -309,6 +310,7 @@ OC.L10N.register(
"Shares that are not part of the internal or external shares. This can be shares from apps or other sources." : "Condivisioni che non fanno parte delle condivisioni interne o esterne. Possono essere condivisioni da app o altre fonti.",
"Share with accounts, teams, federated cloud IDs" : "Condividi con account, team, ID cloud federati",
"Share with accounts and teams" : "Condividi con account e team",
+ "Federated cloud ID" : "ID cloud federato",
"Email, federated cloud ID" : "E-mail, ID cloud federato",
"Unable to load the shares list" : "Impossibile caricare l'elenco delle condivisioni",
"Expires {relativetime}" : "Scade il {relativetime}",
diff --git a/apps/files_sharing/l10n/it.json b/apps/files_sharing/l10n/it.json
index 3ac41b2d53d..f87b0a5cd74 100644
--- a/apps/files_sharing/l10n/it.json
+++ b/apps/files_sharing/l10n/it.json
@@ -183,6 +183,7 @@
"Set default folder for accepted shares" : "Imposta cartella predefinita per condivisioni accettate",
"Reset" : "Ripristina",
"Reset folder to system default" : "Ripristina la cartella alla predefinita di sistema",
+ "Share expiration: {date}" : "Scadenza condivisione: {date}",
"Share Expiration" : "Scadenza Condivisione",
"group" : "gruppo",
"conversation" : "conversazione",
@@ -307,6 +308,7 @@
"Shares that are not part of the internal or external shares. This can be shares from apps or other sources." : "Condivisioni che non fanno parte delle condivisioni interne o esterne. Possono essere condivisioni da app o altre fonti.",
"Share with accounts, teams, federated cloud IDs" : "Condividi con account, team, ID cloud federati",
"Share with accounts and teams" : "Condividi con account e team",
+ "Federated cloud ID" : "ID cloud federato",
"Email, federated cloud ID" : "E-mail, ID cloud federato",
"Unable to load the shares list" : "Impossibile caricare l'elenco delle condivisioni",
"Expires {relativetime}" : "Scade il {relativetime}",
diff --git a/apps/files_sharing/l10n/ru.js b/apps/files_sharing/l10n/ru.js
index 2da7d326673..7567511b268 100644
--- a/apps/files_sharing/l10n/ru.js
+++ b/apps/files_sharing/l10n/ru.js
@@ -137,7 +137,9 @@ OC.L10N.register(
"Link copied to clipboard" : "Ссылка скопирована в буфер обмена",
"Email already added" : "Адрес электронной почты уже добавлен",
"Invalid email address" : "Неверный адрес электронной почты",
+ "_The following email address is not valid: {emails}_::_The following email addresses are not valid: {emails}_" : ["Следующий адрес электронной почты недействителен: {emails}","Следующие адреса электронной почты недействительны: {emails}","Следующие адреса электронной почты недействительны: {emails}","Следующие адреса электронной почты недействительны: {emails}"],
"_{count} email address already added_::_{count} email addresses already added_" : [" {count} e-mail адрес уже добавлен"," {count} e-mail адреса уже добавлено"," {count} e-mail адресов уже добавлены","{count} e-mail адресов уже добавлены"],
+ "_{count} email address added_::_{count} email addresses added_" : ["Добавлен {count} адрес электронной почты","Добавлено {count} адреса электронной почты","Добавлено {count} адресов электронной почты","Добавлено {count} адресов электронной почты"],
"You can now share the link below to allow people to upload files to your directory." : "Теперь вы можете поделиться приведенной ниже ссылкой, чтобы люди могли загружать файлы в ваш каталог.",
"Share link" : "Общий доступ по ссылке",
"Copy to clipboard" : "Копировать в буфер обмена",
@@ -158,8 +160,10 @@ OC.L10N.register(
"Add a note to help people understand what you are requesting." : "Добавьте примечание, чтобы помочь людям понять, о чем вы просите.",
"You can add links, date or any other information that will help the recipient understand what you are requesting." : "Вы можете добавить ссылки, дату или любую другую информацию, которая поможет получателю понять, что вы запрашиваете.",
"Close" : "Закрыть",
+ "_Send email and close_::_Send {count} emails and close_" : ["Отправить письмо и закрыть","Отправить {count} письма и закрыть","Отправить {count} писем и закрыть","Отправить {count} писем и закрыть"],
"Please select a folder, you cannot share the root directory." : "Пожалуйста, выберите папку, вы не можете предоставить общий доступ к корневому каталогу.",
"File request created" : "Создан запрос на файл",
+ "_File request created and email sent_::_File request created and {count} emails sent_" : ["Создан запрос файла и отправлено письмо","Создан запрос файла и отправлено {count} письма","Создан запрос файла и отправлено {count} писем","Создан запрос файла и отправлено {count} писем"],
"Error creating the share: {errorMessage}" : "Не удалось создать общий ресурс: {errorMessage}",
"Error creating the share" : "Ошибка создания общего доступа",
"Error sending emails: {errorMessage}" : "Ошибка при отправке электронных писем: {errorMessage}",
@@ -181,6 +185,8 @@ OC.L10N.register(
"Set default folder for accepted shares" : "Задать папку для принятых опубликованных ресурсов",
"Reset" : "Сброс",
"Reset folder to system default" : "Сбросить папку к значениям по умолчанию",
+ "Share expiration: {date}" : "Срок действия общего ресурса: {date}",
+ "Share Expiration" : "Срок действия общего ресурса",
"group" : "группа",
"conversation" : "беседа",
"remote" : "на другом сервере",
@@ -244,11 +250,14 @@ OC.L10N.register(
"Deck board" : "Доска",
"ScienceMesh" : "ScienceMesh",
"on {server}" : "на {server}",
+ "Enter external recipients" : "Введите внешних получателей",
+ "Search for internal recipients" : "Поиск внутренних получателей",
"Note from" : "Примечание от",
"Note:" : "Примечание:",
"File drop" : "Приём файлов",
"Upload files to {foldername}." : "Загрузка файлов в {foldername}.",
"By uploading files, you agree to the terms of service." : "Загружая файлы, вы соглашаетесь с условиями обслуживания.",
+ "Successfully uploaded files" : "Файлы успешно загружены",
"View terms of service" : "Ознакомиться с условиями предоставления услуг",
"Terms of service" : "Условия использования",
"Share with {userName}" : "Поделиться с {userName}",
@@ -265,6 +274,7 @@ OC.L10N.register(
"Edit" : "Редактировать",
"Share" : "Поделиться",
"Delete" : "Удалить",
+ "Password field cannot be empty" : "Поле пароля не может быть пустым",
"Replace current password" : "Заменить текущий пароль",
"Failed to generate a new token" : "Не удалось сгенерировать новый токен",
"Allow upload and editing" : "Разрешить приём и редактирование",
@@ -272,6 +282,10 @@ OC.L10N.register(
"Upload only" : "Только загружать",
"Advanced settings" : "Расширенные параметры",
"Share label" : "Метка общего доступа",
+ "Share link token" : "Токен ссылки на общий ресурс",
+ "Set the public share link token to something easy to remember or generate a new token. It is not recommended to use a guessable token for shares which contain sensitive information." : "Установите простой для запоминания токен ссылки на общий ресурс или сгенерируйте новый. Не рекомендуется использовать легко угадываемые токены для общих ресурсов с конфиденциальной информацией.",
+ "Generating…" : "Создание…",
+ "Generate new token" : "Создать новый токен",
"Set password" : "Задать пароль",
"Password expires {passwordExpirationTime}" : "Срок действия пароля истекает {passwordExpirationTime}",
"Password expired" : "Срок действия пароля истёк",
@@ -282,6 +296,7 @@ OC.L10N.register(
"Allow download and sync" : "Разрешить загрузку и синхронизацию",
"Note to recipient" : "Примечание для получателя",
"Enter a note for the share recipient" : "Введите примечание для получателя",
+ "Show files in grid view" : "Показать файлы в виде сетки",
"Delete share" : "Удалить общий ресурс",
"Others with access" : "Другие пользователи, имеющие доступ",
"No other accounts with access found" : "Других учетных записей с доступом не найдено",
@@ -295,13 +310,18 @@ OC.L10N.register(
"Shares that are not part of the internal or external shares. This can be shares from apps or other sources." : "Ссылки, которые не являются частью внутренних или внешних ссылок. Это могут быть ссылки из приложений или других источников.",
"Share with accounts, teams, federated cloud IDs" : "Поделиться с учетными записями, командами, идентификаторами федеративного облака",
"Share with accounts and teams" : "Поделиться с аккаунтами и командами",
+ "Federated cloud ID" : "Федеративный облачный ID",
+ "Email, federated cloud ID" : "Электронная почта, федеративный облачный ID",
"Unable to load the shares list" : "Невозможно загрузить список общих ресурсов",
"Expires {relativetime}" : "Истекает {relativetime}",
"this share just expired." : "срок действия этого общего ресурса только что истёк.",
"Shared with you by {owner}" : "{owner} предоставил(а) Вам доступ",
"Internal shares" : "Внутренние ссылки",
+ "Internal shares explanation" : "Пояснение к внутренним общим ресурсам",
"External shares" : "Внешние ссылки",
+ "External shares explanation" : "Пояснение к внешним общим ресурсам",
"Additional shares" : "Дополнительные ссылки",
+ "Additional shares explanation" : "Пояснение к дополнительным общим ресурсам",
"Link to a file" : "Ссылка на файл",
"_Accept share_::_Accept shares_" : ["Принять общий ресурс","Принять общие ресурсы","Принять общие ресурсы","Принять общие ресурсы"],
"Open in Files" : "Открыть в Файлах",
@@ -357,10 +377,20 @@ OC.L10N.register(
"Share expiry date saved" : "Дата истечения срока общего доступа сохранена",
"Share hide-download state saved" : "Скрытая загрузка ссылки общего доступа сохранено",
"Share label saved" : "Метка общего доступа сохранена",
+ "Share note for recipient saved" : "Примечание к общему ресурсу для получателя сохранено",
"Share password saved" : "Пароль общего доступа сохранен",
"Share permissions saved" : "Разрешения общего доступа сохранены",
+ "To upload files to {folder}, you need to provide your name first." : "Чтобы загрузить файлы в {folder}, сначала укажите своё имя.",
"Upload files to {folder}" : "Загрузка файлов в {folder}",
+ "Please confirm your name to upload files to {folder}" : "Пожалуйста, подтвердите своё имя для загрузки файлов в {folder}",
"{ownerDisplayName} shared a folder with you." : "{ownerDisplayName} поделился с вами папкой.",
+ "Names must not be empty." : "Имя не может быть пустым.",
+ "Names must not start with a dot." : "Имя не должно начинаться с точки.",
+ "\"{char}\" is not allowed inside a name." : "Символ «{char}» не допускается в имени.",
+ "\"{segment}\" is a reserved name and not allowed." : "«{segment}» — зарезервированное имя и не может быть использовано.",
+ "\"{extension}\" is not an allowed name." : "«{extension}» — недопустимое имя.",
+ "Names must not end with \"{extension}\"." : "Имя не должно оканчиваться на «{extension}».",
+ "Invalid name." : "Недопустимое имя.",
"Shared by" : "Поделился",
"Shared with" : "Общий доступ",
"Password created successfully" : "Пароль создан",
@@ -393,6 +423,8 @@ OC.L10N.register(
"Failed to add the public link to your Nextcloud" : "Не удалось создать общедоступную ссылку",
"You are not allowed to edit link shares that you don't own" : "Вам не разрешается редактировать ссылки, которыми вы не владеете",
"Download all files" : "Скачать все файлы",
+ "_1 email address already added_::_{count} email addresses already added_" : ["Уже добавлен 1 адрес электронной почты","Уже добавлено {count} адреса электронной почты","Уже добавлено {count} адресов электронной почты","Уже добавлено {count} адресов электронной почты"],
+ "_1 email address added_::_{count} email addresses added_" : ["Добавлен 1 адрес электронной почты","Добавлено {count} адреса электронной почты","Добавлено {count} адресов электронной почты","Добавлено {count} адресов электронной почты"],
"Search for share recipients" : "Найти больше получателей общего ресурса",
"No recommendations. Start typing." : "Рекомендации отсутствуют, начните вводить символы",
"To upload files, you need to provide your name first." : "Чтобы загрузить файлы, вам необходимо сначала указать свое имя.",
diff --git a/apps/files_sharing/l10n/ru.json b/apps/files_sharing/l10n/ru.json
index 2179703dd71..a84dbdd18ab 100644
--- a/apps/files_sharing/l10n/ru.json
+++ b/apps/files_sharing/l10n/ru.json
@@ -135,7 +135,9 @@
"Link copied to clipboard" : "Ссылка скопирована в буфер обмена",
"Email already added" : "Адрес электронной почты уже добавлен",
"Invalid email address" : "Неверный адрес электронной почты",
+ "_The following email address is not valid: {emails}_::_The following email addresses are not valid: {emails}_" : ["Следующий адрес электронной почты недействителен: {emails}","Следующие адреса электронной почты недействительны: {emails}","Следующие адреса электронной почты недействительны: {emails}","Следующие адреса электронной почты недействительны: {emails}"],
"_{count} email address already added_::_{count} email addresses already added_" : [" {count} e-mail адрес уже добавлен"," {count} e-mail адреса уже добавлено"," {count} e-mail адресов уже добавлены","{count} e-mail адресов уже добавлены"],
+ "_{count} email address added_::_{count} email addresses added_" : ["Добавлен {count} адрес электронной почты","Добавлено {count} адреса электронной почты","Добавлено {count} адресов электронной почты","Добавлено {count} адресов электронной почты"],
"You can now share the link below to allow people to upload files to your directory." : "Теперь вы можете поделиться приведенной ниже ссылкой, чтобы люди могли загружать файлы в ваш каталог.",
"Share link" : "Общий доступ по ссылке",
"Copy to clipboard" : "Копировать в буфер обмена",
@@ -156,8 +158,10 @@
"Add a note to help people understand what you are requesting." : "Добавьте примечание, чтобы помочь людям понять, о чем вы просите.",
"You can add links, date or any other information that will help the recipient understand what you are requesting." : "Вы можете добавить ссылки, дату или любую другую информацию, которая поможет получателю понять, что вы запрашиваете.",
"Close" : "Закрыть",
+ "_Send email and close_::_Send {count} emails and close_" : ["Отправить письмо и закрыть","Отправить {count} письма и закрыть","Отправить {count} писем и закрыть","Отправить {count} писем и закрыть"],
"Please select a folder, you cannot share the root directory." : "Пожалуйста, выберите папку, вы не можете предоставить общий доступ к корневому каталогу.",
"File request created" : "Создан запрос на файл",
+ "_File request created and email sent_::_File request created and {count} emails sent_" : ["Создан запрос файла и отправлено письмо","Создан запрос файла и отправлено {count} письма","Создан запрос файла и отправлено {count} писем","Создан запрос файла и отправлено {count} писем"],
"Error creating the share: {errorMessage}" : "Не удалось создать общий ресурс: {errorMessage}",
"Error creating the share" : "Ошибка создания общего доступа",
"Error sending emails: {errorMessage}" : "Ошибка при отправке электронных писем: {errorMessage}",
@@ -179,6 +183,8 @@
"Set default folder for accepted shares" : "Задать папку для принятых опубликованных ресурсов",
"Reset" : "Сброс",
"Reset folder to system default" : "Сбросить папку к значениям по умолчанию",
+ "Share expiration: {date}" : "Срок действия общего ресурса: {date}",
+ "Share Expiration" : "Срок действия общего ресурса",
"group" : "группа",
"conversation" : "беседа",
"remote" : "на другом сервере",
@@ -242,11 +248,14 @@
"Deck board" : "Доска",
"ScienceMesh" : "ScienceMesh",
"on {server}" : "на {server}",
+ "Enter external recipients" : "Введите внешних получателей",
+ "Search for internal recipients" : "Поиск внутренних получателей",
"Note from" : "Примечание от",
"Note:" : "Примечание:",
"File drop" : "Приём файлов",
"Upload files to {foldername}." : "Загрузка файлов в {foldername}.",
"By uploading files, you agree to the terms of service." : "Загружая файлы, вы соглашаетесь с условиями обслуживания.",
+ "Successfully uploaded files" : "Файлы успешно загружены",
"View terms of service" : "Ознакомиться с условиями предоставления услуг",
"Terms of service" : "Условия использования",
"Share with {userName}" : "Поделиться с {userName}",
@@ -263,6 +272,7 @@
"Edit" : "Редактировать",
"Share" : "Поделиться",
"Delete" : "Удалить",
+ "Password field cannot be empty" : "Поле пароля не может быть пустым",
"Replace current password" : "Заменить текущий пароль",
"Failed to generate a new token" : "Не удалось сгенерировать новый токен",
"Allow upload and editing" : "Разрешить приём и редактирование",
@@ -270,6 +280,10 @@
"Upload only" : "Только загружать",
"Advanced settings" : "Расширенные параметры",
"Share label" : "Метка общего доступа",
+ "Share link token" : "Токен ссылки на общий ресурс",
+ "Set the public share link token to something easy to remember or generate a new token. It is not recommended to use a guessable token for shares which contain sensitive information." : "Установите простой для запоминания токен ссылки на общий ресурс или сгенерируйте новый. Не рекомендуется использовать легко угадываемые токены для общих ресурсов с конфиденциальной информацией.",
+ "Generating…" : "Создание…",
+ "Generate new token" : "Создать новый токен",
"Set password" : "Задать пароль",
"Password expires {passwordExpirationTime}" : "Срок действия пароля истекает {passwordExpirationTime}",
"Password expired" : "Срок действия пароля истёк",
@@ -280,6 +294,7 @@
"Allow download and sync" : "Разрешить загрузку и синхронизацию",
"Note to recipient" : "Примечание для получателя",
"Enter a note for the share recipient" : "Введите примечание для получателя",
+ "Show files in grid view" : "Показать файлы в виде сетки",
"Delete share" : "Удалить общий ресурс",
"Others with access" : "Другие пользователи, имеющие доступ",
"No other accounts with access found" : "Других учетных записей с доступом не найдено",
@@ -293,13 +308,18 @@
"Shares that are not part of the internal or external shares. This can be shares from apps or other sources." : "Ссылки, которые не являются частью внутренних или внешних ссылок. Это могут быть ссылки из приложений или других источников.",
"Share with accounts, teams, federated cloud IDs" : "Поделиться с учетными записями, командами, идентификаторами федеративного облака",
"Share with accounts and teams" : "Поделиться с аккаунтами и командами",
+ "Federated cloud ID" : "Федеративный облачный ID",
+ "Email, federated cloud ID" : "Электронная почта, федеративный облачный ID",
"Unable to load the shares list" : "Невозможно загрузить список общих ресурсов",
"Expires {relativetime}" : "Истекает {relativetime}",
"this share just expired." : "срок действия этого общего ресурса только что истёк.",
"Shared with you by {owner}" : "{owner} предоставил(а) Вам доступ",
"Internal shares" : "Внутренние ссылки",
+ "Internal shares explanation" : "Пояснение к внутренним общим ресурсам",
"External shares" : "Внешние ссылки",
+ "External shares explanation" : "Пояснение к внешним общим ресурсам",
"Additional shares" : "Дополнительные ссылки",
+ "Additional shares explanation" : "Пояснение к дополнительным общим ресурсам",
"Link to a file" : "Ссылка на файл",
"_Accept share_::_Accept shares_" : ["Принять общий ресурс","Принять общие ресурсы","Принять общие ресурсы","Принять общие ресурсы"],
"Open in Files" : "Открыть в Файлах",
@@ -355,10 +375,20 @@
"Share expiry date saved" : "Дата истечения срока общего доступа сохранена",
"Share hide-download state saved" : "Скрытая загрузка ссылки общего доступа сохранено",
"Share label saved" : "Метка общего доступа сохранена",
+ "Share note for recipient saved" : "Примечание к общему ресурсу для получателя сохранено",
"Share password saved" : "Пароль общего доступа сохранен",
"Share permissions saved" : "Разрешения общего доступа сохранены",
+ "To upload files to {folder}, you need to provide your name first." : "Чтобы загрузить файлы в {folder}, сначала укажите своё имя.",
"Upload files to {folder}" : "Загрузка файлов в {folder}",
+ "Please confirm your name to upload files to {folder}" : "Пожалуйста, подтвердите своё имя для загрузки файлов в {folder}",
"{ownerDisplayName} shared a folder with you." : "{ownerDisplayName} поделился с вами папкой.",
+ "Names must not be empty." : "Имя не может быть пустым.",
+ "Names must not start with a dot." : "Имя не должно начинаться с точки.",
+ "\"{char}\" is not allowed inside a name." : "Символ «{char}» не допускается в имени.",
+ "\"{segment}\" is a reserved name and not allowed." : "«{segment}» — зарезервированное имя и не может быть использовано.",
+ "\"{extension}\" is not an allowed name." : "«{extension}» — недопустимое имя.",
+ "Names must not end with \"{extension}\"." : "Имя не должно оканчиваться на «{extension}».",
+ "Invalid name." : "Недопустимое имя.",
"Shared by" : "Поделился",
"Shared with" : "Общий доступ",
"Password created successfully" : "Пароль создан",
@@ -391,6 +421,8 @@
"Failed to add the public link to your Nextcloud" : "Не удалось создать общедоступную ссылку",
"You are not allowed to edit link shares that you don't own" : "Вам не разрешается редактировать ссылки, которыми вы не владеете",
"Download all files" : "Скачать все файлы",
+ "_1 email address already added_::_{count} email addresses already added_" : ["Уже добавлен 1 адрес электронной почты","Уже добавлено {count} адреса электронной почты","Уже добавлено {count} адресов электронной почты","Уже добавлено {count} адресов электронной почты"],
+ "_1 email address added_::_{count} email addresses added_" : ["Добавлен 1 адрес электронной почты","Добавлено {count} адреса электронной почты","Добавлено {count} адресов электронной почты","Добавлено {count} адресов электронной почты"],
"Search for share recipients" : "Найти больше получателей общего ресурса",
"No recommendations. Start typing." : "Рекомендации отсутствуют, начните вводить символы",
"To upload files, you need to provide your name first." : "Чтобы загрузить файлы, вам необходимо сначала указать свое имя.",
diff --git a/apps/files_sharing/l10n/sr.js b/apps/files_sharing/l10n/sr.js
index 6fe45426dc5..413fccb634c 100644
--- a/apps/files_sharing/l10n/sr.js
+++ b/apps/files_sharing/l10n/sr.js
@@ -185,6 +185,7 @@ OC.L10N.register(
"Set default folder for accepted shares" : "Подесите подразумевани фолдер за прихваћена дељења",
"Reset" : "Ресетуј",
"Reset folder to system default" : "Vratite fasciklu na podrazumevane vrednosti sistema",
+ "Share expiration: {date}" : "Дељење истиче: {date} ",
"Share Expiration" : "Истицање дељења",
"group" : "група",
"conversation" : "разговор",
@@ -309,6 +310,7 @@ OC.L10N.register(
"Shares that are not part of the internal or external shares. This can be shares from apps or other sources." : "Дељења која нису део интерних или спољних дељења. Ово могу бити дељења из апликација или осталих извора.",
"Share with accounts, teams, federated cloud IDs" : "Дели са налозима, тимовима, ID-јевима здруженог облака",
"Share with accounts and teams" : "Дељење са налозима и тимовима",
+ "Federated cloud ID" : "ИД Здруженог облака",
"Email, federated cloud ID" : "И-мејл, ID здруженог облака",
"Unable to load the shares list" : "Неуспело учитавање листе дељења",
"Expires {relativetime}" : "Истиче {relativetime}",
diff --git a/apps/files_sharing/l10n/sr.json b/apps/files_sharing/l10n/sr.json
index 5a3ea2dadd3..a9bd75ab333 100644
--- a/apps/files_sharing/l10n/sr.json
+++ b/apps/files_sharing/l10n/sr.json
@@ -183,6 +183,7 @@
"Set default folder for accepted shares" : "Подесите подразумевани фолдер за прихваћена дељења",
"Reset" : "Ресетуј",
"Reset folder to system default" : "Vratite fasciklu na podrazumevane vrednosti sistema",
+ "Share expiration: {date}" : "Дељење истиче: {date} ",
"Share Expiration" : "Истицање дељења",
"group" : "група",
"conversation" : "разговор",
@@ -307,6 +308,7 @@
"Shares that are not part of the internal or external shares. This can be shares from apps or other sources." : "Дељења која нису део интерних или спољних дељења. Ово могу бити дељења из апликација или осталих извора.",
"Share with accounts, teams, federated cloud IDs" : "Дели са налозима, тимовима, ID-јевима здруженог облака",
"Share with accounts and teams" : "Дељење са налозима и тимовима",
+ "Federated cloud ID" : "ИД Здруженог облака",
"Email, federated cloud ID" : "И-мејл, ID здруженог облака",
"Unable to load the shares list" : "Неуспело учитавање листе дељења",
"Expires {relativetime}" : "Истиче {relativetime}",
diff --git a/apps/files_sharing/l10n/sv.js b/apps/files_sharing/l10n/sv.js
index 6c3a5828007..05be7bc3722 100644
--- a/apps/files_sharing/l10n/sv.js
+++ b/apps/files_sharing/l10n/sv.js
@@ -185,6 +185,7 @@ OC.L10N.register(
"Set default folder for accepted shares" : "Sätt standardmapp för accepterade delningar",
"Reset" : "Återställ",
"Reset folder to system default" : "Återställ mapp till system-standard",
+ "Share expiration: {date}" : "Delningens utgång: {date}",
"Share Expiration" : "Delningens utgång",
"group" : "grupp",
"conversation" : "konversation",
@@ -309,6 +310,7 @@ OC.L10N.register(
"Shares that are not part of the internal or external shares. This can be shares from apps or other sources." : "Delningar som inte ingår i de interna eller externa delningarna. Detta kan vara delningar från appar eller andra källor.",
"Share with accounts, teams, federated cloud IDs" : "Dela med konton, team, federerade moln-ID:n",
"Share with accounts and teams" : "Dela med konton och team",
+ "Federated cloud ID" : "Federerat moln-ID",
"Email, federated cloud ID" : "E-post, federerat moln-ID",
"Unable to load the shares list" : "Kunde inte läsa in delningslistan",
"Expires {relativetime}" : "Upphör {relativetime}",
@@ -378,8 +380,11 @@ OC.L10N.register(
"Share note for recipient saved" : "Delningens notering för mottagare sparad",
"Share password saved" : "Lösenord för delning sparad",
"Share permissions saved" : "Delningsbehörighet sparad",
+ "To upload files to {folder}, you need to provide your name first." : "För att ladda upp filer till {folder}, måste du först ange ditt namn.",
"Upload files to {folder}" : "Ladda upp filer till {folder}",
+ "Please confirm your name to upload files to {folder}" : "Bekräfta ditt namn för att ladda upp filer till {folder}",
"{ownerDisplayName} shared a folder with you." : "{ownerDisplayName} delade en mapp med dig.",
+ "Names must not be empty." : "Namn får inte vara tomt.",
"Names must not start with a dot." : "Namn får inte börja med en punkt.",
"\"{char}\" is not allowed inside a name." : "\"{char}\" är inte tillåtet i ett namn.",
"\"{segment}\" is a reserved name and not allowed." : "\"{segment}\" är ett reserverat namn och inte tillåtet.",
diff --git a/apps/files_sharing/l10n/sv.json b/apps/files_sharing/l10n/sv.json
index 58d5256c760..b675aecf7d0 100644
--- a/apps/files_sharing/l10n/sv.json
+++ b/apps/files_sharing/l10n/sv.json
@@ -183,6 +183,7 @@
"Set default folder for accepted shares" : "Sätt standardmapp för accepterade delningar",
"Reset" : "Återställ",
"Reset folder to system default" : "Återställ mapp till system-standard",
+ "Share expiration: {date}" : "Delningens utgång: {date}",
"Share Expiration" : "Delningens utgång",
"group" : "grupp",
"conversation" : "konversation",
@@ -307,6 +308,7 @@
"Shares that are not part of the internal or external shares. This can be shares from apps or other sources." : "Delningar som inte ingår i de interna eller externa delningarna. Detta kan vara delningar från appar eller andra källor.",
"Share with accounts, teams, federated cloud IDs" : "Dela med konton, team, federerade moln-ID:n",
"Share with accounts and teams" : "Dela med konton och team",
+ "Federated cloud ID" : "Federerat moln-ID",
"Email, federated cloud ID" : "E-post, federerat moln-ID",
"Unable to load the shares list" : "Kunde inte läsa in delningslistan",
"Expires {relativetime}" : "Upphör {relativetime}",
@@ -376,8 +378,11 @@
"Share note for recipient saved" : "Delningens notering för mottagare sparad",
"Share password saved" : "Lösenord för delning sparad",
"Share permissions saved" : "Delningsbehörighet sparad",
+ "To upload files to {folder}, you need to provide your name first." : "För att ladda upp filer till {folder}, måste du först ange ditt namn.",
"Upload files to {folder}" : "Ladda upp filer till {folder}",
+ "Please confirm your name to upload files to {folder}" : "Bekräfta ditt namn för att ladda upp filer till {folder}",
"{ownerDisplayName} shared a folder with you." : "{ownerDisplayName} delade en mapp med dig.",
+ "Names must not be empty." : "Namn får inte vara tomt.",
"Names must not start with a dot." : "Namn får inte börja med en punkt.",
"\"{char}\" is not allowed inside a name." : "\"{char}\" är inte tillåtet i ett namn.",
"\"{segment}\" is a reserved name and not allowed." : "\"{segment}\" är ett reserverat namn och inte tillåtet.",
diff --git a/apps/files_sharing/l10n/uk.js b/apps/files_sharing/l10n/uk.js
index 3cde1e83f93..f1d8ed89a22 100644
--- a/apps/files_sharing/l10n/uk.js
+++ b/apps/files_sharing/l10n/uk.js
@@ -184,6 +184,7 @@ OC.L10N.register(
"Set default folder for accepted shares" : "Встановити типовий каталог для прийнятих спільних ресурсів",
"Reset" : "Скидання",
"Reset folder to system default" : "Відновити типові системні налаштування для каталогу",
+ "Share expiration: {date}" : "У спільному доступі до: {date}",
"Share Expiration" : "Термін дії спільного ресурсу:",
"group" : "група",
"conversation" : "розмова",
@@ -308,6 +309,7 @@ OC.L10N.register(
"Shares that are not part of the internal or external shares. This can be shares from apps or other sources." : "Спільні ресурси, що не є ані внутрішніми, ані зовнішніми спільними ресурсами, наприклад, спільні ресурси, створені застосунками чи іншими ресурсами.",
"Share with accounts, teams, federated cloud IDs" : "Поділитися з користувачами, командами, об'єднаними хмарами",
"Share with accounts and teams" : "Поділитися з користувачами або командами",
+ "Federated cloud ID" : "Ідентифікатор об'єднаної хмари",
"Email, federated cloud ID" : "Ел. пошта, ID об'єднаної хмари",
"Unable to load the shares list" : "Не вдалося завантажити список спільних ресурсів",
"Expires {relativetime}" : "Термін дії закінчується {relativetime}",
diff --git a/apps/files_sharing/l10n/uk.json b/apps/files_sharing/l10n/uk.json
index 742fc80c355..395814ab6f4 100644
--- a/apps/files_sharing/l10n/uk.json
+++ b/apps/files_sharing/l10n/uk.json
@@ -182,6 +182,7 @@
"Set default folder for accepted shares" : "Встановити типовий каталог для прийнятих спільних ресурсів",
"Reset" : "Скидання",
"Reset folder to system default" : "Відновити типові системні налаштування для каталогу",
+ "Share expiration: {date}" : "У спільному доступі до: {date}",
"Share Expiration" : "Термін дії спільного ресурсу:",
"group" : "група",
"conversation" : "розмова",
@@ -306,6 +307,7 @@
"Shares that are not part of the internal or external shares. This can be shares from apps or other sources." : "Спільні ресурси, що не є ані внутрішніми, ані зовнішніми спільними ресурсами, наприклад, спільні ресурси, створені застосунками чи іншими ресурсами.",
"Share with accounts, teams, federated cloud IDs" : "Поділитися з користувачами, командами, об'єднаними хмарами",
"Share with accounts and teams" : "Поділитися з користувачами або командами",
+ "Federated cloud ID" : "Ідентифікатор об'єднаної хмари",
"Email, federated cloud ID" : "Ел. пошта, ID об'єднаної хмари",
"Unable to load the shares list" : "Не вдалося завантажити список спільних ресурсів",
"Expires {relativetime}" : "Термін дії закінчується {relativetime}",
diff --git a/apps/files_sharing/l10n/zh_TW.js b/apps/files_sharing/l10n/zh_TW.js
index a3406810090..764bd713123 100644
--- a/apps/files_sharing/l10n/zh_TW.js
+++ b/apps/files_sharing/l10n/zh_TW.js
@@ -185,6 +185,7 @@ OC.L10N.register(
"Set default folder for accepted shares" : "為接受的分享設定預設資料夾",
"Reset" : "重設",
"Reset folder to system default" : "將資料夾重設回系統預設",
+ "Share expiration: {date}" : "分享到期日:{date}",
"Share Expiration" : "分享過期",
"group" : "群組",
"conversation" : "對話",
@@ -309,6 +310,7 @@ OC.L10N.register(
"Shares that are not part of the internal or external shares. This can be shares from apps or other sources." : "不屬於內部或外部分享的分享。這可能是來自應用程式或其他來源的分享。",
"Share with accounts, teams, federated cloud IDs" : "與帳號、團隊、聯邦雲端 ID 分享",
"Share with accounts and teams" : "與帳號及團隊分享",
+ "Federated cloud ID" : "聯邦雲端 ID",
"Email, federated cloud ID" : "電子郵件、聯邦雲端 ID",
"Unable to load the shares list" : "無法載入分享列表",
"Expires {relativetime}" : "過期於 {relativetime}",
diff --git a/apps/files_sharing/l10n/zh_TW.json b/apps/files_sharing/l10n/zh_TW.json
index b2c14b0776f..580be7e28e2 100644
--- a/apps/files_sharing/l10n/zh_TW.json
+++ b/apps/files_sharing/l10n/zh_TW.json
@@ -183,6 +183,7 @@
"Set default folder for accepted shares" : "為接受的分享設定預設資料夾",
"Reset" : "重設",
"Reset folder to system default" : "將資料夾重設回系統預設",
+ "Share expiration: {date}" : "分享到期日:{date}",
"Share Expiration" : "分享過期",
"group" : "群組",
"conversation" : "對話",
@@ -307,6 +308,7 @@
"Shares that are not part of the internal or external shares. This can be shares from apps or other sources." : "不屬於內部或外部分享的分享。這可能是來自應用程式或其他來源的分享。",
"Share with accounts, teams, federated cloud IDs" : "與帳號、團隊、聯邦雲端 ID 分享",
"Share with accounts and teams" : "與帳號及團隊分享",
+ "Federated cloud ID" : "聯邦雲端 ID",
"Email, federated cloud ID" : "電子郵件、聯邦雲端 ID",
"Unable to load the shares list" : "無法載入分享列表",
"Expires {relativetime}" : "過期於 {relativetime}",
diff --git a/apps/files_sharing/src/components/SharingEntryLink.vue b/apps/files_sharing/src/components/SharingEntryLink.vue
index 781626a1ec9..702b876306f 100644
--- a/apps/files_sharing/src/components/SharingEntryLink.vue
+++ b/apps/files_sharing/src/components/SharingEntryLink.vue
@@ -223,13 +223,14 @@
</template>
<script>
+import { showError, showSuccess } from '@nextcloud/dialogs'
import { emit } from '@nextcloud/event-bus'
+import { t } from '@nextcloud/l10n'
+import moment from '@nextcloud/moment'
import { generateUrl, getBaseUrl } from '@nextcloud/router'
-import { showError, showSuccess } from '@nextcloud/dialogs'
import { ShareType } from '@nextcloud/sharing'
-import VueQrcode from '@chenfengyuan/vue-qrcode'
-import moment from '@nextcloud/moment'
+import VueQrcode from '@chenfengyuan/vue-qrcode'
import NcActionButton from '@nextcloud/vue/components/NcActionButton'
import NcActionCheckbox from '@nextcloud/vue/components/NcActionCheckbox'
import NcActionInput from '@nextcloud/vue/components/NcActionInput'
@@ -258,7 +259,7 @@ import GeneratePassword from '../utils/GeneratePassword.ts'
import Share from '../models/Share.ts'
import SharesMixin from '../mixins/SharesMixin.js'
import ShareDetails from '../mixins/ShareDetails.js'
-import { getLoggerBuilder } from '@nextcloud/logger'
+import logger from '../services/logger.ts'
export default {
name: 'SharingEntryLink',
@@ -313,10 +314,6 @@ export default {
ExternalLegacyLinkActions: OCA.Sharing.ExternalLinkActions.state,
ExternalShareActions: OCA.Sharing.ExternalShareActions.state,
- logger: getLoggerBuilder()
- .setApp('files_sharing')
- .detectUser()
- .build(),
// tracks whether modal should be opened or not
showQRCode: false,
@@ -330,6 +327,8 @@ export default {
* @return {string}
*/
title() {
+ const l10nOptions = { escape: false /* no escape as this string is already escaped by Vue */ }
+
// if we have a valid existing share (not pending)
if (this.share && this.share.id) {
if (!this.isShareOwner && this.share.ownerDisplayName) {
@@ -337,26 +336,26 @@ export default {
return t('files_sharing', '{shareWith} by {initiator}', {
shareWith: this.share.shareWith,
initiator: this.share.ownerDisplayName,
- })
+ }, l10nOptions)
}
return t('files_sharing', 'Shared via link by {initiator}', {
initiator: this.share.ownerDisplayName,
- })
+ }, l10nOptions)
}
if (this.share.label && this.share.label.trim() !== '') {
if (this.isEmailShareType) {
if (this.isFileRequest) {
return t('files_sharing', 'File request ({label})', {
label: this.share.label.trim(),
- })
+ }, l10nOptions)
}
return t('files_sharing', 'Mail share ({label})', {
label: this.share.label.trim(),
- })
+ }, l10nOptions)
}
return t('files_sharing', 'Share link ({label})', {
label: this.share.label.trim(),
- })
+ }, l10nOptions)
}
if (this.isEmailShareType) {
if (!this.share.shareWith || this.share.shareWith.trim() === '') {
@@ -391,6 +390,7 @@ export default {
}
return null
},
+
passwordExpirationTime() {
if (this.share.passwordExpirationTime === null) {
return null
@@ -613,7 +613,7 @@ export default {
* @param {boolean} shareReviewComplete if the share was reviewed
*/
async onNewLinkShare(shareReviewComplete = false) {
- this.logger.debug('onNewLinkShare called (with this.share)', this.share)
+ logger.debug('onNewLinkShare called (with this.share)', this.share)
// do not run again if already loading
if (this.loading) {
return
@@ -628,7 +628,7 @@ export default {
shareDefaults.expiration = this.formatDateToString(this.config.defaultExpirationDate)
}
- this.logger.debug('Missing required properties?', this.enforcedPropertiesMissing)
+ logger.debug('Missing required properties?', this.enforcedPropertiesMissing)
// Do not push yet if we need a password or an expiration date: show pending menu
// A share would require a review for example is default expiration date is set but not enforced, this allows
// the user to review the share and remove the expiration date if they don't want it
@@ -636,7 +636,7 @@ export default {
this.pending = true
this.shareCreationComplete = false
- this.logger.info('Share policy requires a review or has mandated properties (password, expirationDate)...')
+ logger.info('Share policy requires a review or has mandated properties (password, expirationDate)...')
// ELSE, show the pending popovermenu
// if password default or enforced, pre-fill with random one
@@ -664,13 +664,13 @@ export default {
// if the share is valid, create it on the server
if (this.checkShare(this.share)) {
try {
- this.logger.info('Sending existing share to server', this.share)
+ logger.info('Sending existing share to server', this.share)
await this.pushNewLinkShare(this.share, true)
this.shareCreationComplete = true
- this.logger.info('Share created on server', this.share)
+ logger.info('Share created on server', this.share)
} catch (e) {
this.pending = false
- this.logger.error('Error creating share', e)
+ logger.error('Error creating share', e)
return false
}
return true
diff --git a/apps/files_sharing/tests/Listener/LoadAdditionalListenerTest.php b/apps/files_sharing/tests/Listener/LoadAdditionalListenerTest.php
index cd3fb0568fa..75bee35d58a 100644
--- a/apps/files_sharing/tests/Listener/LoadAdditionalListenerTest.php
+++ b/apps/files_sharing/tests/Listener/LoadAdditionalListenerTest.php
@@ -16,6 +16,7 @@ use OCP\EventDispatcher\Event;
use OCP\IConfig;
use OCP\L10N\IFactory;
use OCP\Share\IManager;
+use OCP\Util;
use PHPUnit\Framework\MockObject\MockObject;
use Psr\Log\LoggerInterface;
use Test\TestCase;
@@ -37,6 +38,21 @@ class LoadAdditionalListenerTest extends TestCase {
$this->factory = $this->createMock(IFactory::class);
$this->initialStateService = $this->createMock(InitialStateService::class);
$this->config = $this->createMock(IConfig::class);
+
+ /* Empty static array to avoid inter-test conflicts */
+ \OC_Util::$styles = [];
+ self::invokePrivate(Util::class, 'scripts', [[]]);
+ self::invokePrivate(Util::class, 'scriptDeps', [[]]);
+ self::invokePrivate(Util::class, 'scriptsInit', [[]]);
+ }
+
+ protected function tearDown(): void {
+ parent::tearDown();
+
+ \OC_Util::$styles = [];
+ self::invokePrivate(Util::class, 'scripts', [[]]);
+ self::invokePrivate(Util::class, 'scriptDeps', [[]]);
+ self::invokePrivate(Util::class, 'scriptsInit', [[]]);
}
public function testHandleIgnoresNonMatchingEvent(): void {
@@ -61,7 +77,7 @@ class LoadAdditionalListenerTest extends TestCase {
$this->overwriteService(InitialStateService::class, $this->initialStateService);
$this->overwriteService(IConfig::class, $this->config);
- $scriptsBefore = \OCP\Util::getScripts();
+ $scriptsBefore = Util::getScripts();
$this->assertNotContains('files_sharing/l10n/language_mock', $scriptsBefore);
$this->assertNotContains('files_sharing/js/additionalScripts', $scriptsBefore);
$this->assertNotContains('files_sharing/js/init', $scriptsBefore);
@@ -71,14 +87,12 @@ class LoadAdditionalListenerTest extends TestCase {
$listener->handle($this->event);
// assert array $scripts contains the expected scripts
- $scriptsAfter = \OCP\Util::getScripts();
+ $scriptsAfter = Util::getScripts();
$this->assertContains('files_sharing/l10n/language_mock', $scriptsAfter);
$this->assertContains('files_sharing/js/additionalScripts', $scriptsAfter);
$this->assertNotContains('files_sharing/js/init', $scriptsAfter);
$this->assertContains('files_sharing/css/icons', \OC_Util::$styles);
-
- $this->assertTrue(true);
}
public function testHandleWithLoadAdditionalScriptsEventWithShareApiEnabled(): void {
@@ -92,17 +106,15 @@ class LoadAdditionalListenerTest extends TestCase {
$this->overwriteService(IConfig::class, $this->config);
$this->overwriteService(IFactory::class, $this->factory);
- $scriptsBefore = \OCP\Util::getScripts();
+ $scriptsBefore = Util::getScripts();
$this->assertNotContains('files_sharing/js/init', $scriptsBefore);
// Util static methods can't be easily mocked, so just ensure no exceptions
$listener->handle($this->event);
- $scriptsAfter = \OCP\Util::getScripts();
+ $scriptsAfter = Util::getScripts();
// assert array $scripts contains the expected scripts
$this->assertContains('files_sharing/js/init', $scriptsAfter);
-
- $this->assertTrue(true);
}
}