From dffb7f26e363443d2fafa5b73553e60c72abd9a2 Mon Sep 17 00:00:00 2001 From: Nextcloud bot Date: Fri, 9 Dec 2022 02:35:13 +0000 Subject: [PATCH 01/14] [tx-robot] updated from transifex Signed-off-by: Nextcloud bot --- apps/admin_audit/l10n/fr.js | 4 +- apps/admin_audit/l10n/fr.json | 4 +- apps/theming/l10n/bg.js | 3 + apps/theming/l10n/bg.json | 3 + core/l10n/bg.js | 4 +- core/l10n/bg.json | 4 +- core/l10n/ca.js | 4 +- core/l10n/ca.json | 4 +- core/l10n/cs.js | 4 +- core/l10n/cs.json | 4 +- core/l10n/da.js | 4 +- core/l10n/da.json | 4 +- core/l10n/de.js | 4 +- core/l10n/de.json | 4 +- core/l10n/de_DE.js | 4 +- core/l10n/de_DE.json | 4 +- core/l10n/en_GB.js | 4 +- core/l10n/en_GB.json | 4 +- core/l10n/es.js | 4 +- core/l10n/es.json | 4 +- core/l10n/et_EE.js | 217 ---------------------------------- core/l10n/et_EE.json | 215 --------------------------------- core/l10n/eu.js | 4 +- core/l10n/eu.json | 4 +- core/l10n/fi.js | 4 +- core/l10n/fi.json | 4 +- core/l10n/fr.js | 4 +- core/l10n/fr.json | 4 +- core/l10n/hu.js | 4 +- core/l10n/hu.json | 4 +- core/l10n/ja.js | 4 +- core/l10n/ja.json | 4 +- core/l10n/ko.js | 4 +- core/l10n/ko.json | 4 +- core/l10n/nl.js | 4 +- core/l10n/nl.json | 4 +- core/l10n/pl.js | 4 +- core/l10n/pl.json | 4 +- core/l10n/pt_BR.js | 4 +- core/l10n/pt_BR.json | 4 +- core/l10n/ru.js | 4 +- core/l10n/ru.json | 4 +- core/l10n/sk.js | 4 +- core/l10n/sk.json | 4 +- core/l10n/sl.js | 4 +- core/l10n/sl.json | 4 +- core/l10n/sv.js | 4 +- core/l10n/sv.json | 4 +- core/l10n/tr.js | 4 +- core/l10n/tr.json | 4 +- core/l10n/uk.js | 4 +- core/l10n/uk.json | 4 +- core/l10n/zh_CN.js | 4 +- core/l10n/zh_CN.json | 4 +- core/l10n/zh_HK.js | 4 +- core/l10n/zh_HK.json | 4 +- core/l10n/zh_TW.js | 4 +- core/l10n/zh_TW.json | 4 +- 58 files changed, 114 insertions(+), 540 deletions(-) delete mode 100644 core/l10n/et_EE.js delete mode 100644 core/l10n/et_EE.json diff --git a/apps/admin_audit/l10n/fr.js b/apps/admin_audit/l10n/fr.js index 5c4fe63048fb1..e5e18cbeab30e 100644 --- a/apps/admin_audit/l10n/fr.js +++ b/apps/admin_audit/l10n/fr.js @@ -1,7 +1,7 @@ OC.L10N.register( "admin_audit", { - "Auditing / Logging" : "Vérification / Connexion", - "Provides logging abilities for Nextcloud such as logging file accesses or otherwise sensitive actions." : "Fournit des capacités de traçage pour NextCloud tels que l'accès au fichier de connexions ou d'autres actions sensibles." + "Auditing / Logging" : "Audit / Journalisation", + "Provides logging abilities for Nextcloud such as logging file accesses or otherwise sensitive actions." : "Fournit des capacités de traçage pour NextCloud tels que les accès aux fichiers ou d'autres actions sensibles." }, "nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); diff --git a/apps/admin_audit/l10n/fr.json b/apps/admin_audit/l10n/fr.json index 38de798dce5e1..6790b813d6ef0 100644 --- a/apps/admin_audit/l10n/fr.json +++ b/apps/admin_audit/l10n/fr.json @@ -1,5 +1,5 @@ { "translations": { - "Auditing / Logging" : "Vérification / Connexion", - "Provides logging abilities for Nextcloud such as logging file accesses or otherwise sensitive actions." : "Fournit des capacités de traçage pour NextCloud tels que l'accès au fichier de connexions ou d'autres actions sensibles." + "Auditing / Logging" : "Audit / Journalisation", + "Provides logging abilities for Nextcloud such as logging file accesses or otherwise sensitive actions." : "Fournit des capacités de traçage pour NextCloud tels que les accès aux fichiers ou d'autres actions sensibles." },"pluralForm" :"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" } \ No newline at end of file diff --git a/apps/theming/l10n/bg.js b/apps/theming/l10n/bg.js index b64b090891542..b877c58e95727 100644 --- a/apps/theming/l10n/bg.js +++ b/apps/theming/l10n/bg.js @@ -76,7 +76,10 @@ OC.L10N.register( "Set a custom background" : "Задаване на персонализиран фон", "Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "Универсалният достъп е много важен за нас. Следваме уеб стандартите и проверяваме, за да направим всичко използваемо и без мишка, и помощен софтуер, като екранни четци. Ние се стремим да бъдем съобразени с {guidelines}Насоки за достъпност на уеб съдържанието {linkend} 2.1 на ниво АА, с темата за висок контраст дори на ниво AAA.", "If you find any issues, do not hesitate to report them on {issuetracker}our issue tracker{linkend}. And if you want to get involved, come join {designteam}our design team{linkend}!" : "Ако откриете някакви проблеми, не се колебайте да ги съобщите на {issueetracker}, нашият тракер на проблеми {linkend}. И ако искате да се включите, елате да се присъедините {designteam} към нашия дизайнерски екип {linkend}!", + "Custom background" : "Персонализиран фон", + "Default background" : "Фон по подразбиране", "Change color" : "Промяна на цвета", + "Remove background" : "Премахване на фона", "Select a background from your files" : "Избор на фон от вашите файлове", "Theme selection is enforced" : "Изборът на тема е приложен", "Select a custom color" : "Избор на персонализиран цвят", diff --git a/apps/theming/l10n/bg.json b/apps/theming/l10n/bg.json index 688f0261b0302..253ddeee32a3d 100644 --- a/apps/theming/l10n/bg.json +++ b/apps/theming/l10n/bg.json @@ -74,7 +74,10 @@ "Set a custom background" : "Задаване на персонализиран фон", "Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "Универсалният достъп е много важен за нас. Следваме уеб стандартите и проверяваме, за да направим всичко използваемо и без мишка, и помощен софтуер, като екранни четци. Ние се стремим да бъдем съобразени с {guidelines}Насоки за достъпност на уеб съдържанието {linkend} 2.1 на ниво АА, с темата за висок контраст дори на ниво AAA.", "If you find any issues, do not hesitate to report them on {issuetracker}our issue tracker{linkend}. And if you want to get involved, come join {designteam}our design team{linkend}!" : "Ако откриете някакви проблеми, не се колебайте да ги съобщите на {issueetracker}, нашият тракер на проблеми {linkend}. И ако искате да се включите, елате да се присъедините {designteam} към нашия дизайнерски екип {linkend}!", + "Custom background" : "Персонализиран фон", + "Default background" : "Фон по подразбиране", "Change color" : "Промяна на цвета", + "Remove background" : "Премахване на фона", "Select a background from your files" : "Избор на фон от вашите файлове", "Theme selection is enforced" : "Изборът на тема е приложен", "Select a custom color" : "Избор на персонализиран цвят", diff --git a/core/l10n/bg.js b/core/l10n/bg.js index fe54947dd1f89..a566fbc575a00 100644 --- a/core/l10n/bg.js +++ b/core/l10n/bg.js @@ -190,7 +190,6 @@ OC.L10N.register( "You have not added any info yet" : "Все още не сте добавили никаква информация", "{user} has not added any info yet" : "{user} все още не е добавил никаква информация", "Error opening the user status modal, try hard refreshing the page" : "Грешка при отваряне на модалния статус на потребителя, опитайте настоятелно да опресните страницата", - "Search starts once you start typing" : "Търсенето започва, щом започнете да пишете", "Reset search" : "Рестартирай търсенето", "Start search" : "Начало на търсене", "Search for {name} only" : "Търсене само за {name}", @@ -423,6 +422,7 @@ OC.L10N.register( "Settings menu" : "Настройки", "The password is wrong. Try again." : "Паролата е грешна. Опитайте отново.", "Setup two-factor authentication" : "Свържи двустепенно удостоверяване", - "It seems like you are running a 32-bit PHP version. Nextcloud 26 and higher require 64-bit. Please upgrade your OS and PHP to 64-bit! For further details read {linkstart}the documentation page about this ↗{linkend}." : "Изглежда, че използвате 32-битова PHP версия. Приложението Nextcloud 26 и по-новите версии изискват 64-битова версия. Моля, обновете операционната си система и PHP на 64-битова версия! За повече подробности прочетете {linkstart}страницата с документация за това {linkend}." + "It seems like you are running a 32-bit PHP version. Nextcloud 26 and higher require 64-bit. Please upgrade your OS and PHP to 64-bit! For further details read {linkstart}the documentation page about this ↗{linkend}." : "Изглежда, че използвате 32-битова PHP версия. Приложението Nextcloud 26 и по-новите версии изискват 64-битова версия. Моля, обновете операционната си система и PHP на 64-битова версия! За повече подробности прочетете {linkstart}страницата с документация за това {linkend}.", + "Search starts once you start typing" : "Търсенето започва, щом започнете да пишете" }, "nplurals=2; plural=(n != 1);"); diff --git a/core/l10n/bg.json b/core/l10n/bg.json index faa1db0516d17..6d0d59df4fc6f 100644 --- a/core/l10n/bg.json +++ b/core/l10n/bg.json @@ -188,7 +188,6 @@ "You have not added any info yet" : "Все още не сте добавили никаква информация", "{user} has not added any info yet" : "{user} все още не е добавил никаква информация", "Error opening the user status modal, try hard refreshing the page" : "Грешка при отваряне на модалния статус на потребителя, опитайте настоятелно да опресните страницата", - "Search starts once you start typing" : "Търсенето започва, щом започнете да пишете", "Reset search" : "Рестартирай търсенето", "Start search" : "Начало на търсене", "Search for {name} only" : "Търсене само за {name}", @@ -421,6 +420,7 @@ "Settings menu" : "Настройки", "The password is wrong. Try again." : "Паролата е грешна. Опитайте отново.", "Setup two-factor authentication" : "Свържи двустепенно удостоверяване", - "It seems like you are running a 32-bit PHP version. Nextcloud 26 and higher require 64-bit. Please upgrade your OS and PHP to 64-bit! For further details read {linkstart}the documentation page about this ↗{linkend}." : "Изглежда, че използвате 32-битова PHP версия. Приложението Nextcloud 26 и по-новите версии изискват 64-битова версия. Моля, обновете операционната си система и PHP на 64-битова версия! За повече подробности прочетете {linkstart}страницата с документация за това {linkend}." + "It seems like you are running a 32-bit PHP version. Nextcloud 26 and higher require 64-bit. Please upgrade your OS and PHP to 64-bit! For further details read {linkstart}the documentation page about this ↗{linkend}." : "Изглежда, че използвате 32-битова PHP версия. Приложението Nextcloud 26 и по-новите версии изискват 64-битова версия. Моля, обновете операционната си система и PHP на 64-битова версия! За повече подробности прочетете {linkstart}страницата с документация за това {linkend}.", + "Search starts once you start typing" : "Търсенето започва, щом започнете да пишете" },"pluralForm" :"nplurals=2; plural=(n != 1);" } \ No newline at end of file diff --git a/core/l10n/ca.js b/core/l10n/ca.js index 99913cf3097ae..b0312cc78e587 100644 --- a/core/l10n/ca.js +++ b/core/l10n/ca.js @@ -190,7 +190,6 @@ OC.L10N.register( "You have not added any info yet" : "No hi heu afegit cap informació encara", "{user} has not added any info yet" : "{user} no hi ha afegit cap informació encara", "Error opening the user status modal, try hard refreshing the page" : "S'ha produït un error en obrir el modal d'estat de l'usuari, proveu d'actualitzar la pàgina", - "Search starts once you start typing" : "La cerca comença quan comences a escriure", "Reset search" : "Reinicialitza la cerca", "Start search" : "Inicia la cerca", "Search for {name} only" : "Cerqueu només per {name}", @@ -423,6 +422,7 @@ OC.L10N.register( "Settings menu" : "Menú de paràmetres", "The password is wrong. Try again." : "Contrasenya incorrecta. Torneu-ho a provar.", "Setup two-factor authentication" : "Configura l'autenticació de doble factor", - "It seems like you are running a 32-bit PHP version. Nextcloud 26 and higher require 64-bit. Please upgrade your OS and PHP to 64-bit! For further details read {linkstart}the documentation page about this ↗{linkend}." : "Sembla que esteu executant una versió PHP de 32 bits. Nextcloud 26 i superior requereixen 64 bits. Si us plau, actualitzeu el vostre sistema operatiu i PHP a 64 bits! Per obtenir més detalls, llegiu {linkstart}la pàgina de documentació sobre això ↗{linkend}." + "It seems like you are running a 32-bit PHP version. Nextcloud 26 and higher require 64-bit. Please upgrade your OS and PHP to 64-bit! For further details read {linkstart}the documentation page about this ↗{linkend}." : "Sembla que esteu executant una versió PHP de 32 bits. Nextcloud 26 i superior requereixen 64 bits. Si us plau, actualitzeu el vostre sistema operatiu i PHP a 64 bits! Per obtenir més detalls, llegiu {linkstart}la pàgina de documentació sobre això ↗{linkend}.", + "Search starts once you start typing" : "La cerca comença quan comences a escriure" }, "nplurals=2; plural=(n != 1);"); diff --git a/core/l10n/ca.json b/core/l10n/ca.json index 6e7fdefc79dde..c212a04fa5d7a 100644 --- a/core/l10n/ca.json +++ b/core/l10n/ca.json @@ -188,7 +188,6 @@ "You have not added any info yet" : "No hi heu afegit cap informació encara", "{user} has not added any info yet" : "{user} no hi ha afegit cap informació encara", "Error opening the user status modal, try hard refreshing the page" : "S'ha produït un error en obrir el modal d'estat de l'usuari, proveu d'actualitzar la pàgina", - "Search starts once you start typing" : "La cerca comença quan comences a escriure", "Reset search" : "Reinicialitza la cerca", "Start search" : "Inicia la cerca", "Search for {name} only" : "Cerqueu només per {name}", @@ -421,6 +420,7 @@ "Settings menu" : "Menú de paràmetres", "The password is wrong. Try again." : "Contrasenya incorrecta. Torneu-ho a provar.", "Setup two-factor authentication" : "Configura l'autenticació de doble factor", - "It seems like you are running a 32-bit PHP version. Nextcloud 26 and higher require 64-bit. Please upgrade your OS and PHP to 64-bit! For further details read {linkstart}the documentation page about this ↗{linkend}." : "Sembla que esteu executant una versió PHP de 32 bits. Nextcloud 26 i superior requereixen 64 bits. Si us plau, actualitzeu el vostre sistema operatiu i PHP a 64 bits! Per obtenir més detalls, llegiu {linkstart}la pàgina de documentació sobre això ↗{linkend}." + "It seems like you are running a 32-bit PHP version. Nextcloud 26 and higher require 64-bit. Please upgrade your OS and PHP to 64-bit! For further details read {linkstart}the documentation page about this ↗{linkend}." : "Sembla que esteu executant una versió PHP de 32 bits. Nextcloud 26 i superior requereixen 64 bits. Si us plau, actualitzeu el vostre sistema operatiu i PHP a 64 bits! Per obtenir més detalls, llegiu {linkstart}la pàgina de documentació sobre això ↗{linkend}.", + "Search starts once you start typing" : "La cerca comença quan comences a escriure" },"pluralForm" :"nplurals=2; plural=(n != 1);" } \ No newline at end of file diff --git a/core/l10n/cs.js b/core/l10n/cs.js index a176a730b45e8..e3a073d15a188 100644 --- a/core/l10n/cs.js +++ b/core/l10n/cs.js @@ -190,7 +190,6 @@ OC.L10N.register( "You have not added any info yet" : "Zatím jste nezadali žádné informace", "{user} has not added any info yet" : "{user} uživatel zatím nezadal žádné informace", "Error opening the user status modal, try hard refreshing the page" : "Chyba při otevírání dialogu stavu uživatele, pokus o opětovné načtení stránky", - "Search starts once you start typing" : "Hledání začne jakmile začnete psát", "Reset search" : "Resetovat hledání", "Start search" : "Zahájit vyhledávání", "Search for {name} only" : "Hledat pouze {name}", @@ -423,6 +422,7 @@ OC.L10N.register( "Settings menu" : "Nabídka nastavení", "The password is wrong. Try again." : "Chybné heslo. Zkuste to znovu.", "Setup two-factor authentication" : "Nastavit dvoufázové ověřování", - "It seems like you are running a 32-bit PHP version. Nextcloud 26 and higher require 64-bit. Please upgrade your OS and PHP to 64-bit! For further details read {linkstart}the documentation page about this ↗{linkend}." : "Zdá se, že provozujete 32bitovou verzi PHP. Nextcloud verze 26 a novější vyžaduje 64bit. Přejděte na 64bit instalaci operačního systému a PHP! Bližší podrobnosti naleznete {linkstart}na stránce v dokumentaci ↗{linkend}." + "It seems like you are running a 32-bit PHP version. Nextcloud 26 and higher require 64-bit. Please upgrade your OS and PHP to 64-bit! For further details read {linkstart}the documentation page about this ↗{linkend}." : "Zdá se, že provozujete 32bitovou verzi PHP. Nextcloud verze 26 a novější vyžaduje 64bit. Přejděte na 64bit instalaci operačního systému a PHP! Bližší podrobnosti naleznete {linkstart}na stránce v dokumentaci ↗{linkend}.", + "Search starts once you start typing" : "Hledání začne jakmile začnete psát" }, "nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;"); diff --git a/core/l10n/cs.json b/core/l10n/cs.json index 427507ae13f93..2db21941328c7 100644 --- a/core/l10n/cs.json +++ b/core/l10n/cs.json @@ -188,7 +188,6 @@ "You have not added any info yet" : "Zatím jste nezadali žádné informace", "{user} has not added any info yet" : "{user} uživatel zatím nezadal žádné informace", "Error opening the user status modal, try hard refreshing the page" : "Chyba při otevírání dialogu stavu uživatele, pokus o opětovné načtení stránky", - "Search starts once you start typing" : "Hledání začne jakmile začnete psát", "Reset search" : "Resetovat hledání", "Start search" : "Zahájit vyhledávání", "Search for {name} only" : "Hledat pouze {name}", @@ -421,6 +420,7 @@ "Settings menu" : "Nabídka nastavení", "The password is wrong. Try again." : "Chybné heslo. Zkuste to znovu.", "Setup two-factor authentication" : "Nastavit dvoufázové ověřování", - "It seems like you are running a 32-bit PHP version. Nextcloud 26 and higher require 64-bit. Please upgrade your OS and PHP to 64-bit! For further details read {linkstart}the documentation page about this ↗{linkend}." : "Zdá se, že provozujete 32bitovou verzi PHP. Nextcloud verze 26 a novější vyžaduje 64bit. Přejděte na 64bit instalaci operačního systému a PHP! Bližší podrobnosti naleznete {linkstart}na stránce v dokumentaci ↗{linkend}." + "It seems like you are running a 32-bit PHP version. Nextcloud 26 and higher require 64-bit. Please upgrade your OS and PHP to 64-bit! For further details read {linkstart}the documentation page about this ↗{linkend}." : "Zdá se, že provozujete 32bitovou verzi PHP. Nextcloud verze 26 a novější vyžaduje 64bit. Přejděte na 64bit instalaci operačního systému a PHP! Bližší podrobnosti naleznete {linkstart}na stránce v dokumentaci ↗{linkend}.", + "Search starts once you start typing" : "Hledání začne jakmile začnete psát" },"pluralForm" :"nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;" } \ No newline at end of file diff --git a/core/l10n/da.js b/core/l10n/da.js index 55c8ff20205af..cbbb37ae85a07 100644 --- a/core/l10n/da.js +++ b/core/l10n/da.js @@ -189,7 +189,6 @@ OC.L10N.register( "You have not added any info yet" : "Du har ikke tilføjet nogen information endnu", "{user} has not added any info yet" : "{user} har ikke tilføjet nogen oplysninger endnu", "Error opening the user status modal, try hard refreshing the page" : "Fejl ved åbning af brugerstatusmodal. Prøv at opdatere siden", - "Search starts once you start typing" : "Søgningen starter, når du begynder at skrive", "Reset search" : "Nulstil søgning", "Start search" : "Start søgning", "Search for {name} only" : "Søg kun efter {name}", @@ -421,6 +420,7 @@ OC.L10N.register( "More apps menu" : "Flere apps menu", "Settings menu" : "Indstillingsmenu", "The password is wrong. Try again." : "Passwordet er forkert. Prøv igen.", - "Setup two-factor authentication" : "Opsæt to-faktor godkendelse" + "Setup two-factor authentication" : "Opsæt to-faktor godkendelse", + "Search starts once you start typing" : "Søgningen starter, når du begynder at skrive" }, "nplurals=2; plural=(n != 1);"); diff --git a/core/l10n/da.json b/core/l10n/da.json index b8afa0b91f393..6923bb3a561c8 100644 --- a/core/l10n/da.json +++ b/core/l10n/da.json @@ -187,7 +187,6 @@ "You have not added any info yet" : "Du har ikke tilføjet nogen information endnu", "{user} has not added any info yet" : "{user} har ikke tilføjet nogen oplysninger endnu", "Error opening the user status modal, try hard refreshing the page" : "Fejl ved åbning af brugerstatusmodal. Prøv at opdatere siden", - "Search starts once you start typing" : "Søgningen starter, når du begynder at skrive", "Reset search" : "Nulstil søgning", "Start search" : "Start søgning", "Search for {name} only" : "Søg kun efter {name}", @@ -419,6 +418,7 @@ "More apps menu" : "Flere apps menu", "Settings menu" : "Indstillingsmenu", "The password is wrong. Try again." : "Passwordet er forkert. Prøv igen.", - "Setup two-factor authentication" : "Opsæt to-faktor godkendelse" + "Setup two-factor authentication" : "Opsæt to-faktor godkendelse", + "Search starts once you start typing" : "Søgningen starter, når du begynder at skrive" },"pluralForm" :"nplurals=2; plural=(n != 1);" } \ No newline at end of file diff --git a/core/l10n/de.js b/core/l10n/de.js index b9ff99335d974..1efd87921ab70 100644 --- a/core/l10n/de.js +++ b/core/l10n/de.js @@ -188,7 +188,6 @@ OC.L10N.register( "You have not added any info yet" : "Du hast noch keine Infos hinzugefügt", "{user} has not added any info yet" : "{user} hat noch keine Infos hinzugefügt", "Error opening the user status modal, try hard refreshing the page" : "Fehler beim Modal-öffnen des Benutzerstatus, versuche die Seite zu aktualisieren", - "Search starts once you start typing" : "Die Suche beginnt, sobald du mit der Eingabe beginnst.", "Reset search" : "Suche zurücksetzen", "Start search" : "Suche starten", "Search for {name} only" : "Nur nach {name} suchen", @@ -418,6 +417,7 @@ OC.L10N.register( "Settings menu" : "Einstellungen-Menü", "The password is wrong. Try again." : "Das Passwort ist falsch. Bitte versuche es erneut.", "Setup two-factor authentication" : "Zwei-Faktor-Authentifizierung konfigurieren", - "It seems like you are running a 32-bit PHP version. Nextcloud 26 and higher require 64-bit. Please upgrade your OS and PHP to 64-bit! For further details read {linkstart}the documentation page about this ↗{linkend}." : "Es scheint, dass Nextcloud mit einer 32-Bit-PHP-Version ausgeführt wird. Nextcloud 26 und neuer benötigt die 64-Bit-Version. Bitte aktualisiere dein Betriebssystem und PHP auf 64-Bit. Für weitere Details lese die {linkstart}diesbezügliche Dokumentationsseite ↗{linkend}." + "It seems like you are running a 32-bit PHP version. Nextcloud 26 and higher require 64-bit. Please upgrade your OS and PHP to 64-bit! For further details read {linkstart}the documentation page about this ↗{linkend}." : "Es scheint, dass Nextcloud mit einer 32-Bit-PHP-Version ausgeführt wird. Nextcloud 26 und neuer benötigt die 64-Bit-Version. Bitte aktualisiere dein Betriebssystem und PHP auf 64-Bit. Für weitere Details lese die {linkstart}diesbezügliche Dokumentationsseite ↗{linkend}.", + "Search starts once you start typing" : "Die Suche beginnt, sobald du mit der Eingabe beginnst." }, "nplurals=2; plural=(n != 1);"); diff --git a/core/l10n/de.json b/core/l10n/de.json index 7824ad445e725..e7e61c51001d6 100644 --- a/core/l10n/de.json +++ b/core/l10n/de.json @@ -186,7 +186,6 @@ "You have not added any info yet" : "Du hast noch keine Infos hinzugefügt", "{user} has not added any info yet" : "{user} hat noch keine Infos hinzugefügt", "Error opening the user status modal, try hard refreshing the page" : "Fehler beim Modal-öffnen des Benutzerstatus, versuche die Seite zu aktualisieren", - "Search starts once you start typing" : "Die Suche beginnt, sobald du mit der Eingabe beginnst.", "Reset search" : "Suche zurücksetzen", "Start search" : "Suche starten", "Search for {name} only" : "Nur nach {name} suchen", @@ -416,6 +415,7 @@ "Settings menu" : "Einstellungen-Menü", "The password is wrong. Try again." : "Das Passwort ist falsch. Bitte versuche es erneut.", "Setup two-factor authentication" : "Zwei-Faktor-Authentifizierung konfigurieren", - "It seems like you are running a 32-bit PHP version. Nextcloud 26 and higher require 64-bit. Please upgrade your OS and PHP to 64-bit! For further details read {linkstart}the documentation page about this ↗{linkend}." : "Es scheint, dass Nextcloud mit einer 32-Bit-PHP-Version ausgeführt wird. Nextcloud 26 und neuer benötigt die 64-Bit-Version. Bitte aktualisiere dein Betriebssystem und PHP auf 64-Bit. Für weitere Details lese die {linkstart}diesbezügliche Dokumentationsseite ↗{linkend}." + "It seems like you are running a 32-bit PHP version. Nextcloud 26 and higher require 64-bit. Please upgrade your OS and PHP to 64-bit! For further details read {linkstart}the documentation page about this ↗{linkend}." : "Es scheint, dass Nextcloud mit einer 32-Bit-PHP-Version ausgeführt wird. Nextcloud 26 und neuer benötigt die 64-Bit-Version. Bitte aktualisiere dein Betriebssystem und PHP auf 64-Bit. Für weitere Details lese die {linkstart}diesbezügliche Dokumentationsseite ↗{linkend}.", + "Search starts once you start typing" : "Die Suche beginnt, sobald du mit der Eingabe beginnst." },"pluralForm" :"nplurals=2; plural=(n != 1);" } \ No newline at end of file diff --git a/core/l10n/de_DE.js b/core/l10n/de_DE.js index 6bfb341c7daf0..9471860965fcf 100644 --- a/core/l10n/de_DE.js +++ b/core/l10n/de_DE.js @@ -190,7 +190,6 @@ OC.L10N.register( "You have not added any info yet" : "Sie haben noch keine Infos hinzugefügt", "{user} has not added any info yet" : "{user} hat noch keine Infos hinzugefügt", "Error opening the user status modal, try hard refreshing the page" : "Fehler beim Modal-öffnen des Benutzerstatus, versuchen Sie die Seite zu aktualisieren", - "Search starts once you start typing" : "Die Suche beginnt, sobald Sie mit der Eingabe beginnen", "Reset search" : "Suche zurücksetzen", "Start search" : "Suche starten", "Search for {name} only" : "Nur nach {name} suchen", @@ -423,6 +422,7 @@ OC.L10N.register( "Settings menu" : "Einstellungen-Menü", "The password is wrong. Try again." : "Das Passwort ist falsch. Bitte erneut versuchen.", "Setup two-factor authentication" : "Zwei-Faktor-Authentifizierung einrichten", - "It seems like you are running a 32-bit PHP version. Nextcloud 26 and higher require 64-bit. Please upgrade your OS and PHP to 64-bit! For further details read {linkstart}the documentation page about this ↗{linkend}." : "Sie scheinen eine 32-Bit-PHP-Version auszuführen. Nextcloud 26 und neuer benötigt 64-Bit. Bitte aktualisieren Sie Ihr Betriebssystem und PHP auf 64-Bit! Für weitere Details lesen Sie die {linkstart}diesbezügliche Dokumentationsseite ↗{linkend}." + "It seems like you are running a 32-bit PHP version. Nextcloud 26 and higher require 64-bit. Please upgrade your OS and PHP to 64-bit! For further details read {linkstart}the documentation page about this ↗{linkend}." : "Sie scheinen eine 32-Bit-PHP-Version auszuführen. Nextcloud 26 und neuer benötigt 64-Bit. Bitte aktualisieren Sie Ihr Betriebssystem und PHP auf 64-Bit! Für weitere Details lesen Sie die {linkstart}diesbezügliche Dokumentationsseite ↗{linkend}.", + "Search starts once you start typing" : "Die Suche beginnt, sobald Sie mit der Eingabe beginnen" }, "nplurals=2; plural=(n != 1);"); diff --git a/core/l10n/de_DE.json b/core/l10n/de_DE.json index 5e2281b1143c0..41fb7c817880c 100644 --- a/core/l10n/de_DE.json +++ b/core/l10n/de_DE.json @@ -188,7 +188,6 @@ "You have not added any info yet" : "Sie haben noch keine Infos hinzugefügt", "{user} has not added any info yet" : "{user} hat noch keine Infos hinzugefügt", "Error opening the user status modal, try hard refreshing the page" : "Fehler beim Modal-öffnen des Benutzerstatus, versuchen Sie die Seite zu aktualisieren", - "Search starts once you start typing" : "Die Suche beginnt, sobald Sie mit der Eingabe beginnen", "Reset search" : "Suche zurücksetzen", "Start search" : "Suche starten", "Search for {name} only" : "Nur nach {name} suchen", @@ -421,6 +420,7 @@ "Settings menu" : "Einstellungen-Menü", "The password is wrong. Try again." : "Das Passwort ist falsch. Bitte erneut versuchen.", "Setup two-factor authentication" : "Zwei-Faktor-Authentifizierung einrichten", - "It seems like you are running a 32-bit PHP version. Nextcloud 26 and higher require 64-bit. Please upgrade your OS and PHP to 64-bit! For further details read {linkstart}the documentation page about this ↗{linkend}." : "Sie scheinen eine 32-Bit-PHP-Version auszuführen. Nextcloud 26 und neuer benötigt 64-Bit. Bitte aktualisieren Sie Ihr Betriebssystem und PHP auf 64-Bit! Für weitere Details lesen Sie die {linkstart}diesbezügliche Dokumentationsseite ↗{linkend}." + "It seems like you are running a 32-bit PHP version. Nextcloud 26 and higher require 64-bit. Please upgrade your OS and PHP to 64-bit! For further details read {linkstart}the documentation page about this ↗{linkend}." : "Sie scheinen eine 32-Bit-PHP-Version auszuführen. Nextcloud 26 und neuer benötigt 64-Bit. Bitte aktualisieren Sie Ihr Betriebssystem und PHP auf 64-Bit! Für weitere Details lesen Sie die {linkstart}diesbezügliche Dokumentationsseite ↗{linkend}.", + "Search starts once you start typing" : "Die Suche beginnt, sobald Sie mit der Eingabe beginnen" },"pluralForm" :"nplurals=2; plural=(n != 1);" } \ No newline at end of file diff --git a/core/l10n/en_GB.js b/core/l10n/en_GB.js index 068b467ed2881..a25b479fd51b0 100644 --- a/core/l10n/en_GB.js +++ b/core/l10n/en_GB.js @@ -190,7 +190,6 @@ OC.L10N.register( "You have not added any info yet" : "You have not added any info yet", "{user} has not added any info yet" : "{user} has not added any info yet", "Error opening the user status modal, try hard refreshing the page" : "Error opening the user status modal, try hard refreshing the page", - "Search starts once you start typing" : "Search starts once you start typing", "Reset search" : "Reset search", "Start search" : "Start search", "Search for {name} only" : "Search for {name} only", @@ -423,6 +422,7 @@ OC.L10N.register( "Settings menu" : "Settings menu", "The password is wrong. Try again." : "The password is wrong. Try again.", "Setup two-factor authentication" : "Setup two-factor authentication", - "It seems like you are running a 32-bit PHP version. Nextcloud 26 and higher require 64-bit. Please upgrade your OS and PHP to 64-bit! For further details read {linkstart}the documentation page about this ↗{linkend}." : "It seems like you are running a 32-bit PHP version. Nextcloud 26 and higher require 64-bit. Please upgrade your OS and PHP to 64-bit! For further details read {linkstart}the documentation page about this ↗{linkend}." + "It seems like you are running a 32-bit PHP version. Nextcloud 26 and higher require 64-bit. Please upgrade your OS and PHP to 64-bit! For further details read {linkstart}the documentation page about this ↗{linkend}." : "It seems like you are running a 32-bit PHP version. Nextcloud 26 and higher require 64-bit. Please upgrade your OS and PHP to 64-bit! For further details read {linkstart}the documentation page about this ↗{linkend}.", + "Search starts once you start typing" : "Search starts once you start typing" }, "nplurals=2; plural=(n != 1);"); diff --git a/core/l10n/en_GB.json b/core/l10n/en_GB.json index 7501a26df30b7..f29cddebabdfd 100644 --- a/core/l10n/en_GB.json +++ b/core/l10n/en_GB.json @@ -188,7 +188,6 @@ "You have not added any info yet" : "You have not added any info yet", "{user} has not added any info yet" : "{user} has not added any info yet", "Error opening the user status modal, try hard refreshing the page" : "Error opening the user status modal, try hard refreshing the page", - "Search starts once you start typing" : "Search starts once you start typing", "Reset search" : "Reset search", "Start search" : "Start search", "Search for {name} only" : "Search for {name} only", @@ -421,6 +420,7 @@ "Settings menu" : "Settings menu", "The password is wrong. Try again." : "The password is wrong. Try again.", "Setup two-factor authentication" : "Setup two-factor authentication", - "It seems like you are running a 32-bit PHP version. Nextcloud 26 and higher require 64-bit. Please upgrade your OS and PHP to 64-bit! For further details read {linkstart}the documentation page about this ↗{linkend}." : "It seems like you are running a 32-bit PHP version. Nextcloud 26 and higher require 64-bit. Please upgrade your OS and PHP to 64-bit! For further details read {linkstart}the documentation page about this ↗{linkend}." + "It seems like you are running a 32-bit PHP version. Nextcloud 26 and higher require 64-bit. Please upgrade your OS and PHP to 64-bit! For further details read {linkstart}the documentation page about this ↗{linkend}." : "It seems like you are running a 32-bit PHP version. Nextcloud 26 and higher require 64-bit. Please upgrade your OS and PHP to 64-bit! For further details read {linkstart}the documentation page about this ↗{linkend}.", + "Search starts once you start typing" : "Search starts once you start typing" },"pluralForm" :"nplurals=2; plural=(n != 1);" } \ No newline at end of file diff --git a/core/l10n/es.js b/core/l10n/es.js index 3aa6ced3d961f..13997b2ba1e99 100644 --- a/core/l10n/es.js +++ b/core/l10n/es.js @@ -190,7 +190,6 @@ OC.L10N.register( "You have not added any info yet" : "Aún no has añadido nada de información", "{user} has not added any info yet" : "{user} no ha añadido aún nada de información", "Error opening the user status modal, try hard refreshing the page" : "Error al abrir la ventana de estado del usuario, intente actualizar la página", - "Search starts once you start typing" : "La búsqueda comenzará cuando comience a escribir", "Reset search" : "Resetear búsqueda", "Start search" : "Iniciar búsqueda", "Search for {name} only" : "Buscar solo por {name}", @@ -423,6 +422,7 @@ OC.L10N.register( "Settings menu" : "Menú de configuraciones", "The password is wrong. Try again." : "La contraseña es incorrecta. Vuelve a intentarlo.", "Setup two-factor authentication" : "Configurar autenticación de dos factores", - "It seems like you are running a 32-bit PHP version. Nextcloud 26 and higher require 64-bit. Please upgrade your OS and PHP to 64-bit! For further details read {linkstart}the documentation page about this ↗{linkend}." : "Parece que está ejecutando una versión de PHP de 32 bits. Nextcloud 26 y superiores necesitan 64 bits. ¡Por favor, actualice su sistema operativo y PHP a 64 bits! Puede leer más detalles en {linkstart}la página de documentación correspondiente ↗{linkend}." + "It seems like you are running a 32-bit PHP version. Nextcloud 26 and higher require 64-bit. Please upgrade your OS and PHP to 64-bit! For further details read {linkstart}the documentation page about this ↗{linkend}." : "Parece que está ejecutando una versión de PHP de 32 bits. Nextcloud 26 y superiores necesitan 64 bits. ¡Por favor, actualice su sistema operativo y PHP a 64 bits! Puede leer más detalles en {linkstart}la página de documentación correspondiente ↗{linkend}.", + "Search starts once you start typing" : "La búsqueda comenzará cuando comience a escribir" }, "nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); diff --git a/core/l10n/es.json b/core/l10n/es.json index 3a41580fd4fb0..4742597039bbf 100644 --- a/core/l10n/es.json +++ b/core/l10n/es.json @@ -188,7 +188,6 @@ "You have not added any info yet" : "Aún no has añadido nada de información", "{user} has not added any info yet" : "{user} no ha añadido aún nada de información", "Error opening the user status modal, try hard refreshing the page" : "Error al abrir la ventana de estado del usuario, intente actualizar la página", - "Search starts once you start typing" : "La búsqueda comenzará cuando comience a escribir", "Reset search" : "Resetear búsqueda", "Start search" : "Iniciar búsqueda", "Search for {name} only" : "Buscar solo por {name}", @@ -421,6 +420,7 @@ "Settings menu" : "Menú de configuraciones", "The password is wrong. Try again." : "La contraseña es incorrecta. Vuelve a intentarlo.", "Setup two-factor authentication" : "Configurar autenticación de dos factores", - "It seems like you are running a 32-bit PHP version. Nextcloud 26 and higher require 64-bit. Please upgrade your OS and PHP to 64-bit! For further details read {linkstart}the documentation page about this ↗{linkend}." : "Parece que está ejecutando una versión de PHP de 32 bits. Nextcloud 26 y superiores necesitan 64 bits. ¡Por favor, actualice su sistema operativo y PHP a 64 bits! Puede leer más detalles en {linkstart}la página de documentación correspondiente ↗{linkend}." + "It seems like you are running a 32-bit PHP version. Nextcloud 26 and higher require 64-bit. Please upgrade your OS and PHP to 64-bit! For further details read {linkstart}the documentation page about this ↗{linkend}." : "Parece que está ejecutando una versión de PHP de 32 bits. Nextcloud 26 y superiores necesitan 64 bits. ¡Por favor, actualice su sistema operativo y PHP a 64 bits! Puede leer más detalles en {linkstart}la página de documentación correspondiente ↗{linkend}.", + "Search starts once you start typing" : "La búsqueda comenzará cuando comience a escribir" },"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" } \ No newline at end of file diff --git a/core/l10n/et_EE.js b/core/l10n/et_EE.js deleted file mode 100644 index cdccf2c116ebf..0000000000000 --- a/core/l10n/et_EE.js +++ /dev/null @@ -1,217 +0,0 @@ -OC.L10N.register( - "core", - { - "Please select a file." : "Palun vali fail.", - "File is too big" : "Fail on liiga suur", - "The selected file is not an image." : "Valitud fail ei ole pilt.", - "The selected file cannot be read." : "Valitud faili ei ole võimalik lugeda.", - "The file was uploaded" : "Fail laaditi üles", - "The uploaded file exceeds the upload_max_filesize directive in php.ini" : "Üleslaetud fail on suurem, kui php.ini failis määratud upload_max_filesize", - "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "Üleslaetud fail on suurem, kui MAX_FILE_SIZE atribuut, mis seadistati HTML vormis", - "The file was only partially uploaded" : "Fail laaditi üles ainult osaliselt", - "No file was uploaded" : "Ühtegi faili ei latud üles", - "Missing a temporary folder" : "Ajutine kausta on puudu", - "Could not write file to disk" : "Faili kirjutamine kettale ebaõnnestus", - "Invalid file provided" : "Vigane fail", - "No image or file provided" : "Ühtegi pilti või faili pole pakutud", - "Unknown filetype" : "Tundmatu failitüüp", - "An error occurred. Please contact your admin." : "Tekkis tõrge. Palun võta ühendust administraatoriga.", - "Invalid image" : "Vigane pilt", - "No temporary profile picture available, try again" : "Ühtegi ajutist profiilipilti pole saadaval, proovi uuesti", - "No crop data provided" : "Lõikeandmeid ei leitud", - "No valid crop data provided" : "Kehtivaid lõikeandmeid pole leitud", - "Crop is not square" : "Lõikamine pole ruudukujuline", - "Invalid app password" : "Vale rakenduse parool", - "Login" : "Logi sisse", - "Password reset is disabled" : "Parooli taastamine on välja lülitatud", - "%s password reset" : "%s parooli lähtestus", - "Password reset" : "Parooli taastamine ", - "Click the following button to reset your password. If you have not requested the password reset, then ignore this email." : "Kliki allolevale nupule, et taastada oma parool. Kui sa ei ole paroolitaastamist pärinud. siis ignoreeri seda e-kirja.", - "Click the following link to reset your password. If you have not requested the password reset, then ignore this email." : "Kliki allolevale lingile, et taastada oma parool. Kui sa ei ole parooli taastamist pärinud. siis ignoreeri seda e-kirja.", - "Reset your password" : "Lähtesta oma parool", - "Preparing update" : "Uuendamise ettevalmistamine", - "[%d / %d]: %s" : "[%d / %d]: %s", - "Please use the command line updater because automatic updating is disabled in the config.php." : "Palun kasutage uuendamiseks käsurida, kuna automaatne uuendamine on config.php failis välja lülitatud.", - "Turned on maintenance mode" : "Hooldusrežiim sisse lülitatud", - "Turned off maintenance mode" : "Hooldusrežiim välja lülitatud", - "Maintenance mode is kept active" : "Hooldusrežiim on aktiivne", - "Updating database schema" : "Andmebaasi skeemi uuendamine", - "Updated database" : "Uuendatud andmebaas", - "Checking whether the database schema for %s can be updated (this can take a long time depending on the database size)" : "Kontrollitakse, kas %s andmebaasi skeemi saab uuendada (see võib võtta kaua aega sõltuvalt andmebaasi suuruses)", - "Reset log level" : "Lähtesta logi tase", - "Starting code integrity check" : "Koodi terviklikkuse kontrolli alustamine", - "Finished code integrity check" : "Koodi terviklikkuse kontrolli lõpp", - "%s (incompatible)" : "%s (pole ühilduv)", - "Already up to date" : "On juba ajakohane", - "Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "Sinu veebiserver pole veel piisavalt korralikult seadistatud, et lubada failide sünkroniseerimist, kuna WebDAV liides paistab olevat katki.", - "Error occurred while checking server setup" : "Serveri seadete kontrolimisel tekkis viga", - "unknown text" : "tundmatu tekst", - "Hello world!" : "Tere maailm!", - "sunny" : "päikeseline", - "Hello {name}, the weather is {weather}" : "Tere {name}, ilm on {weather}", - "Hello {name}" : "Tere, {name}", - "new" : "uus", - "_download %n file_::_download %n files_" : ["laadi alla %n fail","laadi alla %n faili"], - "The update is in progress, leaving this page might interrupt the process in some environments." : "Värskendus on käimas, lahkudes sellelt lehelt võib protsessi mõnes keskkonnas katkestada.", - "Update to {version}" : "Uuenda versioonile {version}", - "An error occurred." : "Tekkis tõrge.", - "Please reload the page." : "Palun laadi see uuesti.", - "The update was unsuccessful. For more information check our forum post covering this issue." : "Uuendus ebaõnnestus. Täiendavat infot vaata meie foorumi postituses .", - "The update was unsuccessful. Please report this issue to the Nextcloud community." : "Uuendus ebaõnnestus. Palun teavita probleemist Nextcloudi kogukonda.", - "More apps" : "Veel rakendusi", - "Log in" : "Logi sisse", - "Logging in …" : "Sisselogimine ...", - "Server side authentication failed!" : "Serveripoolne autentimine ebaõnnestus!", - "Please contact your administrator." : "Palun kontakteeru oma süsteemihalduriga.", - "An internal error occurred." : "Tekkis sisemine tõrge.", - "Please try again or contact your administrator." : "Palun proovi uuesti või võta ühendust oma administraatoriga.", - "Password" : "Parool", - "Wrong username or password." : "Vale kasutajanimi või parool.", - "User disabled" : "Kasutaja deaktiveeritud", - "Username or email" : "Kasutajanimi või e-posti aadress", - "Reset password" : "Lähtesta parool", - "Couldn't send reset email. Please contact your administrator." : "Ei suutnud lähtestada e-maili. Palun kontakteeru süsteemihalduriga.", - "New password" : "Uus parool", - "I know what I'm doing" : "Ma tean mida teen", - "Skip" : "Jäta vahele", - "Forgot password?" : "Unustasid parooli?", - "Back" : "Tagasi", - "Reset search" : "Lähtesta otsing", - "Search" : "Otsi", - "Settings" : "Seaded", - "Could not load your contacts" : "Sinu kontaktide laadimine ebaõnnestus", - "Search contacts …" : "Otsi kontakte", - "No contacts found" : "Kontakte ei leitud", - "Show all contacts …" : "Näita kõiki kontakte", - "Loading your contacts …" : "Sinu kontaktide laadimine ...", - "Looking for {term} …" : "Otsin {term} …", - "No" : "Ei", - "Yes" : "Jah", - "No files in here" : "Siin ei ole faile", - "New folder" : "Uus kaust", - "Name" : "Nimi", - "Size" : "Suurus", - "Modified" : "Muudetud", - "\"{name}\" is an invalid file name." : "\"{name}\" on vigane failinimi.", - "File name cannot be empty." : "Faili nimi ei saa olla tühi.", - "\"/\" is not allowed inside a file name." : "\"/\" pole failinimedes lubatud.", - "\"{name}\" is not an allowed filetype" : "\"{name}\" pole lubatud failitüüp", - "{newName} already exists" : "{newName} on juba olemas", - "Choose" : "Vali", - "Copy" : "Kopeeri", - "Move" : "Liiguta", - "Error loading file picker template: {error}" : "Viga failivalija malli laadimisel: {error}", - "OK" : "OK", - "Error loading message template: {error}" : "Viga sõnumi malli laadimisel: {error}", - "read-only" : "kirjutuskaitstud", - "_{count} file conflict_::_{count} file conflicts_" : ["{count} failikonflikt","{count} failikonflikti"], - "One file conflict" : "Üks failikonflikt", - "New Files" : "Uued failid", - "Already existing files" : "Juba olemasolevad failid", - "Which files do you want to keep?" : "Milliseid faile sa soovid alles hoida?", - "If you select both versions, the copied file will have a number added to its name." : "Kui valid mõlemad versioonid, siis lisatakse kopeeritud faili nimele number.", - "Cancel" : "Loobu", - "Continue" : "Jätka", - "(all selected)" : "(kõik valitud)", - "({count} selected)" : "({count} valitud)", - "Error loading file exists template" : "Viga faili olemasolu malli laadimisel", - "Pending" : "Ootel", - "Copy to {folder}" : "Kopeeri {folder}", - "Move to {folder}" : "Liiguta {folder}", - "Authentication required" : "Autentimine on vajalik", - "This action requires you to confirm your password" : "See tegevus nõuab parooli kinnitamist", - "Confirm" : "Kinnita", - "Failed to authenticate, try again" : "Autentimine ebaõnnestus, proovige uuesti", - "seconds ago" : "sekundit tagasi", - "Connection to server lost" : "Ühendus serveriga katkes", - "_Problem loading page, reloading in %n second_::_Problem loading page, reloading in %n seconds_" : ["Tõrge lehe laadimisel, ümberlaadimine %n sekundi pärast","Tõrge lehe laadimisel, ümberlaadimine %n sekundi pärast"], - "Hide details" : "Peida üksikasjad", - "Very weak password" : "Väga nõrk parool", - "Weak password" : "Nõrk parool", - "So-so password" : "Enam-vähem sobiv parool", - "Good password" : "Hea parool", - "Strong password" : "Väga hea parool", - "No action available" : "Ühtegi tegevust pole saadaval", - "Error fetching contact actions" : "Viga kontakti toimingute laadimisel", - "Non-existing tag #{tag}" : "Olematu silt #{tag}", - "Restricted" : "Piiratud", - "Invisible" : "Nähtamatu", - "Delete" : "Kustuta", - "Rename" : "Nimeta ümber", - "Collaborative tags" : "Koostöö sildid", - "No tags found" : "Märgendeid ei leitud", - "Personal" : "Isiklik", - "Users" : "Kasutajad", - "Apps" : "Rakendused", - "Admin" : "Admin", - "Help" : "Abiinfo", - "Access forbidden" : "Ligipääs on keelatud", - "Page not found" : "Lehekülge ei leitud", - "Error" : "Viga", - "Previous" : "Eelmine", - "Internal Server Error" : "Serveri sisemine viga", - "The server was unable to complete your request." : "Server ei suutnud sinu päringut lõpetada.", - "If this happens again, please send the technical details below to the server administrator." : "Kui see veel kord juhtub, saada tehnilised detailid allpool serveri administraatorile.", - "More details can be found in the server log." : "Lisainfot võib leida serveri logist.", - "Technical details" : "Tehnilised andmed", - "Remote Address: %s" : "Kaugaadress: %s", - "Request ID: %s" : "Päringu ID: %s", - "Type: %s" : "Tüüp: %s", - "Code: %s" : "Kood: %s", - "Message: %s" : "Sõnum: %s", - "File: %s" : "Fail: %s", - "Line: %s" : "Rida: %s", - "Trace" : "Jälita", - "Security warning" : "Turvahoiatus", - "Your data directory and files are probably accessible from the internet because the .htaccess file does not work." : "Su andmete kataloog ja failid on tõenäoliselt internetist vabalt saadaval kuna .htaccess fail ei toimi.", - "For information how to properly configure your server, please see the documentation." : "Serveri õigeks seadistamiseks leiate leiate infot dokumentatsioonist.", - "Create an admin account" : "Loo admini konto", - "Username" : "Kasutajanimi", - "Storage & database" : "Andmehoidla ja andmebaas", - "Data folder" : "Andmete kaust", - "Configure the database" : "Seadista andmebaasi", - "Only %s is available." : "Ainult %s on saadaval.", - "Install and activate additional PHP modules to choose other database types." : "Paigalda ja aktiveeri täiendavaid PHP mooduleid, et teisi andmebaasi tüüpe valida.", - "For more details check out the documentation." : "Lisainfot vaata dokumentatsioonist.", - "Database user" : "Andmebaasi kasutaja", - "Database password" : "Andmebaasi parool", - "Database name" : "Andmebasi nimi", - "Database tablespace" : "Andmebaasi tabeliruum", - "Database host" : "Andmebaasi host", - "Please specify the port number along with the host name (e.g., localhost:5432)." : "Palun sisesta pordi number koos hostinimega (nt. localhost: 5432).", - "Performance warning" : "Kiiruse hoiatus", - "Need help?" : "Vajad abi?", - "See the documentation" : "Vaata dokumentatsiooni", - "This application requires JavaScript for correct operation. Please {linkstart}enable JavaScript{linkend} and reload the page." : "See rakendus vajab toimimiseks JavaScripti. Palun {linkstart}luba JavaScript{linkend} ning laadi see leht uuesti.", - "Contacts" : "Kontaktid", - "Confirm your password" : "Kinnita oma parool", - "Grant access" : "Anna ligipääs", - "Account access" : "Konto ligipääs", - "This share is password-protected" : "See jagamine on parooliga kaitstud", - "Go to %s" : "Mine %s", - "Two-factor authentication" : "Kaheastmeline autentimine", - "Use backup code" : "Kasuta varu koodi", - "Error while validating your second factor" : "Teise faktori valideerimise viga", - "Access through untrusted domain" : "Ligipääs läbi ebausaldusväärse domeeni", - "Please contact your administrator. If you are an administrator, edit the \"trusted_domains\" setting in config/config.php like the example in config.sample.php." : "Palun võtke ühendust oma administraatoriga. Kui olete administraator, muutke konfiguratsioonis config/config.php sätet \"trusted_domains\", nagu näidis config.sample.php failis.", - "App update required" : "Rakenduse uuendus on nõutud", - "These incompatible apps will be disabled:" : "Need mitteühilduvad rakendused lülitatakse välja:", - "The theme %s has been disabled." : "Teema %s on keelatud.", - "Please make sure that the database, the config folder and the data folder have been backed up before proceeding." : "Enne jätkamist veendu, et andmebaas, seadete ning andmete kataloog on varundatud.", - "Start update" : "Käivita uuendus", - "To avoid timeouts with larger installations, you can instead run the following command from your installation directory:" : "Suurtel saitidel aegumise vältimiseks võid sa paigalduskaustas käivitada järgmise käsu:", - "Detailed logs" : "Üksikasjalikud logid", - "Update needed" : "Uuendamine vajaliik", - "Please use the command line updater because you have a big instance with more than 50 users." : "Palun kasutage uuendamiseks käsurida, kuna teil on suur instants rohkem kui 50 kasutajaga.", - "For help, see the documentation." : "Abi saamiseks vaata dokumentatsiooni.", - "Upgrade via web on my own risk" : "Uuenda veebi kaudu omal vastutusel", - "This %s instance is currently in maintenance mode, which may take a while." : "See %s instants on hetkel haldusrežiimis, mis võib kesta mõnda aega.", - "Contact your system administrator if this message persists or appeared unexpectedly." : "Kontakteeru oma süsteemihalduriga, kui see teade püsib või on tekkinud ootamatult.", - "[%d / %d]: Checking table %s" : "[%d / %d]: Kontrollin tabelit %s", - "restricted" : "piiratud", - "invisible" : "nähtamatu", - "File not found" : "Faili ei leitud", - "More" : "Rohkem", - "The password is wrong. Try again." : "Parool on vale. Proovi uuesti." -}, -"nplurals=2; plural=(n != 1);"); diff --git a/core/l10n/et_EE.json b/core/l10n/et_EE.json deleted file mode 100644 index 540c5baf7aebe..0000000000000 --- a/core/l10n/et_EE.json +++ /dev/null @@ -1,215 +0,0 @@ -{ "translations": { - "Please select a file." : "Palun vali fail.", - "File is too big" : "Fail on liiga suur", - "The selected file is not an image." : "Valitud fail ei ole pilt.", - "The selected file cannot be read." : "Valitud faili ei ole võimalik lugeda.", - "The file was uploaded" : "Fail laaditi üles", - "The uploaded file exceeds the upload_max_filesize directive in php.ini" : "Üleslaetud fail on suurem, kui php.ini failis määratud upload_max_filesize", - "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "Üleslaetud fail on suurem, kui MAX_FILE_SIZE atribuut, mis seadistati HTML vormis", - "The file was only partially uploaded" : "Fail laaditi üles ainult osaliselt", - "No file was uploaded" : "Ühtegi faili ei latud üles", - "Missing a temporary folder" : "Ajutine kausta on puudu", - "Could not write file to disk" : "Faili kirjutamine kettale ebaõnnestus", - "Invalid file provided" : "Vigane fail", - "No image or file provided" : "Ühtegi pilti või faili pole pakutud", - "Unknown filetype" : "Tundmatu failitüüp", - "An error occurred. Please contact your admin." : "Tekkis tõrge. Palun võta ühendust administraatoriga.", - "Invalid image" : "Vigane pilt", - "No temporary profile picture available, try again" : "Ühtegi ajutist profiilipilti pole saadaval, proovi uuesti", - "No crop data provided" : "Lõikeandmeid ei leitud", - "No valid crop data provided" : "Kehtivaid lõikeandmeid pole leitud", - "Crop is not square" : "Lõikamine pole ruudukujuline", - "Invalid app password" : "Vale rakenduse parool", - "Login" : "Logi sisse", - "Password reset is disabled" : "Parooli taastamine on välja lülitatud", - "%s password reset" : "%s parooli lähtestus", - "Password reset" : "Parooli taastamine ", - "Click the following button to reset your password. If you have not requested the password reset, then ignore this email." : "Kliki allolevale nupule, et taastada oma parool. Kui sa ei ole paroolitaastamist pärinud. siis ignoreeri seda e-kirja.", - "Click the following link to reset your password. If you have not requested the password reset, then ignore this email." : "Kliki allolevale lingile, et taastada oma parool. Kui sa ei ole parooli taastamist pärinud. siis ignoreeri seda e-kirja.", - "Reset your password" : "Lähtesta oma parool", - "Preparing update" : "Uuendamise ettevalmistamine", - "[%d / %d]: %s" : "[%d / %d]: %s", - "Please use the command line updater because automatic updating is disabled in the config.php." : "Palun kasutage uuendamiseks käsurida, kuna automaatne uuendamine on config.php failis välja lülitatud.", - "Turned on maintenance mode" : "Hooldusrežiim sisse lülitatud", - "Turned off maintenance mode" : "Hooldusrežiim välja lülitatud", - "Maintenance mode is kept active" : "Hooldusrežiim on aktiivne", - "Updating database schema" : "Andmebaasi skeemi uuendamine", - "Updated database" : "Uuendatud andmebaas", - "Checking whether the database schema for %s can be updated (this can take a long time depending on the database size)" : "Kontrollitakse, kas %s andmebaasi skeemi saab uuendada (see võib võtta kaua aega sõltuvalt andmebaasi suuruses)", - "Reset log level" : "Lähtesta logi tase", - "Starting code integrity check" : "Koodi terviklikkuse kontrolli alustamine", - "Finished code integrity check" : "Koodi terviklikkuse kontrolli lõpp", - "%s (incompatible)" : "%s (pole ühilduv)", - "Already up to date" : "On juba ajakohane", - "Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "Sinu veebiserver pole veel piisavalt korralikult seadistatud, et lubada failide sünkroniseerimist, kuna WebDAV liides paistab olevat katki.", - "Error occurred while checking server setup" : "Serveri seadete kontrolimisel tekkis viga", - "unknown text" : "tundmatu tekst", - "Hello world!" : "Tere maailm!", - "sunny" : "päikeseline", - "Hello {name}, the weather is {weather}" : "Tere {name}, ilm on {weather}", - "Hello {name}" : "Tere, {name}", - "new" : "uus", - "_download %n file_::_download %n files_" : ["laadi alla %n fail","laadi alla %n faili"], - "The update is in progress, leaving this page might interrupt the process in some environments." : "Värskendus on käimas, lahkudes sellelt lehelt võib protsessi mõnes keskkonnas katkestada.", - "Update to {version}" : "Uuenda versioonile {version}", - "An error occurred." : "Tekkis tõrge.", - "Please reload the page." : "Palun laadi see uuesti.", - "The update was unsuccessful. For more information check our forum post covering this issue." : "Uuendus ebaõnnestus. Täiendavat infot vaata meie foorumi postituses .", - "The update was unsuccessful. Please report this issue to the Nextcloud community." : "Uuendus ebaõnnestus. Palun teavita probleemist Nextcloudi kogukonda.", - "More apps" : "Veel rakendusi", - "Log in" : "Logi sisse", - "Logging in …" : "Sisselogimine ...", - "Server side authentication failed!" : "Serveripoolne autentimine ebaõnnestus!", - "Please contact your administrator." : "Palun kontakteeru oma süsteemihalduriga.", - "An internal error occurred." : "Tekkis sisemine tõrge.", - "Please try again or contact your administrator." : "Palun proovi uuesti või võta ühendust oma administraatoriga.", - "Password" : "Parool", - "Wrong username or password." : "Vale kasutajanimi või parool.", - "User disabled" : "Kasutaja deaktiveeritud", - "Username or email" : "Kasutajanimi või e-posti aadress", - "Reset password" : "Lähtesta parool", - "Couldn't send reset email. Please contact your administrator." : "Ei suutnud lähtestada e-maili. Palun kontakteeru süsteemihalduriga.", - "New password" : "Uus parool", - "I know what I'm doing" : "Ma tean mida teen", - "Skip" : "Jäta vahele", - "Forgot password?" : "Unustasid parooli?", - "Back" : "Tagasi", - "Reset search" : "Lähtesta otsing", - "Search" : "Otsi", - "Settings" : "Seaded", - "Could not load your contacts" : "Sinu kontaktide laadimine ebaõnnestus", - "Search contacts …" : "Otsi kontakte", - "No contacts found" : "Kontakte ei leitud", - "Show all contacts …" : "Näita kõiki kontakte", - "Loading your contacts …" : "Sinu kontaktide laadimine ...", - "Looking for {term} …" : "Otsin {term} …", - "No" : "Ei", - "Yes" : "Jah", - "No files in here" : "Siin ei ole faile", - "New folder" : "Uus kaust", - "Name" : "Nimi", - "Size" : "Suurus", - "Modified" : "Muudetud", - "\"{name}\" is an invalid file name." : "\"{name}\" on vigane failinimi.", - "File name cannot be empty." : "Faili nimi ei saa olla tühi.", - "\"/\" is not allowed inside a file name." : "\"/\" pole failinimedes lubatud.", - "\"{name}\" is not an allowed filetype" : "\"{name}\" pole lubatud failitüüp", - "{newName} already exists" : "{newName} on juba olemas", - "Choose" : "Vali", - "Copy" : "Kopeeri", - "Move" : "Liiguta", - "Error loading file picker template: {error}" : "Viga failivalija malli laadimisel: {error}", - "OK" : "OK", - "Error loading message template: {error}" : "Viga sõnumi malli laadimisel: {error}", - "read-only" : "kirjutuskaitstud", - "_{count} file conflict_::_{count} file conflicts_" : ["{count} failikonflikt","{count} failikonflikti"], - "One file conflict" : "Üks failikonflikt", - "New Files" : "Uued failid", - "Already existing files" : "Juba olemasolevad failid", - "Which files do you want to keep?" : "Milliseid faile sa soovid alles hoida?", - "If you select both versions, the copied file will have a number added to its name." : "Kui valid mõlemad versioonid, siis lisatakse kopeeritud faili nimele number.", - "Cancel" : "Loobu", - "Continue" : "Jätka", - "(all selected)" : "(kõik valitud)", - "({count} selected)" : "({count} valitud)", - "Error loading file exists template" : "Viga faili olemasolu malli laadimisel", - "Pending" : "Ootel", - "Copy to {folder}" : "Kopeeri {folder}", - "Move to {folder}" : "Liiguta {folder}", - "Authentication required" : "Autentimine on vajalik", - "This action requires you to confirm your password" : "See tegevus nõuab parooli kinnitamist", - "Confirm" : "Kinnita", - "Failed to authenticate, try again" : "Autentimine ebaõnnestus, proovige uuesti", - "seconds ago" : "sekundit tagasi", - "Connection to server lost" : "Ühendus serveriga katkes", - "_Problem loading page, reloading in %n second_::_Problem loading page, reloading in %n seconds_" : ["Tõrge lehe laadimisel, ümberlaadimine %n sekundi pärast","Tõrge lehe laadimisel, ümberlaadimine %n sekundi pärast"], - "Hide details" : "Peida üksikasjad", - "Very weak password" : "Väga nõrk parool", - "Weak password" : "Nõrk parool", - "So-so password" : "Enam-vähem sobiv parool", - "Good password" : "Hea parool", - "Strong password" : "Väga hea parool", - "No action available" : "Ühtegi tegevust pole saadaval", - "Error fetching contact actions" : "Viga kontakti toimingute laadimisel", - "Non-existing tag #{tag}" : "Olematu silt #{tag}", - "Restricted" : "Piiratud", - "Invisible" : "Nähtamatu", - "Delete" : "Kustuta", - "Rename" : "Nimeta ümber", - "Collaborative tags" : "Koostöö sildid", - "No tags found" : "Märgendeid ei leitud", - "Personal" : "Isiklik", - "Users" : "Kasutajad", - "Apps" : "Rakendused", - "Admin" : "Admin", - "Help" : "Abiinfo", - "Access forbidden" : "Ligipääs on keelatud", - "Page not found" : "Lehekülge ei leitud", - "Error" : "Viga", - "Previous" : "Eelmine", - "Internal Server Error" : "Serveri sisemine viga", - "The server was unable to complete your request." : "Server ei suutnud sinu päringut lõpetada.", - "If this happens again, please send the technical details below to the server administrator." : "Kui see veel kord juhtub, saada tehnilised detailid allpool serveri administraatorile.", - "More details can be found in the server log." : "Lisainfot võib leida serveri logist.", - "Technical details" : "Tehnilised andmed", - "Remote Address: %s" : "Kaugaadress: %s", - "Request ID: %s" : "Päringu ID: %s", - "Type: %s" : "Tüüp: %s", - "Code: %s" : "Kood: %s", - "Message: %s" : "Sõnum: %s", - "File: %s" : "Fail: %s", - "Line: %s" : "Rida: %s", - "Trace" : "Jälita", - "Security warning" : "Turvahoiatus", - "Your data directory and files are probably accessible from the internet because the .htaccess file does not work." : "Su andmete kataloog ja failid on tõenäoliselt internetist vabalt saadaval kuna .htaccess fail ei toimi.", - "For information how to properly configure your server, please see the documentation." : "Serveri õigeks seadistamiseks leiate leiate infot dokumentatsioonist.", - "Create an admin account" : "Loo admini konto", - "Username" : "Kasutajanimi", - "Storage & database" : "Andmehoidla ja andmebaas", - "Data folder" : "Andmete kaust", - "Configure the database" : "Seadista andmebaasi", - "Only %s is available." : "Ainult %s on saadaval.", - "Install and activate additional PHP modules to choose other database types." : "Paigalda ja aktiveeri täiendavaid PHP mooduleid, et teisi andmebaasi tüüpe valida.", - "For more details check out the documentation." : "Lisainfot vaata dokumentatsioonist.", - "Database user" : "Andmebaasi kasutaja", - "Database password" : "Andmebaasi parool", - "Database name" : "Andmebasi nimi", - "Database tablespace" : "Andmebaasi tabeliruum", - "Database host" : "Andmebaasi host", - "Please specify the port number along with the host name (e.g., localhost:5432)." : "Palun sisesta pordi number koos hostinimega (nt. localhost: 5432).", - "Performance warning" : "Kiiruse hoiatus", - "Need help?" : "Vajad abi?", - "See the documentation" : "Vaata dokumentatsiooni", - "This application requires JavaScript for correct operation. Please {linkstart}enable JavaScript{linkend} and reload the page." : "See rakendus vajab toimimiseks JavaScripti. Palun {linkstart}luba JavaScript{linkend} ning laadi see leht uuesti.", - "Contacts" : "Kontaktid", - "Confirm your password" : "Kinnita oma parool", - "Grant access" : "Anna ligipääs", - "Account access" : "Konto ligipääs", - "This share is password-protected" : "See jagamine on parooliga kaitstud", - "Go to %s" : "Mine %s", - "Two-factor authentication" : "Kaheastmeline autentimine", - "Use backup code" : "Kasuta varu koodi", - "Error while validating your second factor" : "Teise faktori valideerimise viga", - "Access through untrusted domain" : "Ligipääs läbi ebausaldusväärse domeeni", - "Please contact your administrator. If you are an administrator, edit the \"trusted_domains\" setting in config/config.php like the example in config.sample.php." : "Palun võtke ühendust oma administraatoriga. Kui olete administraator, muutke konfiguratsioonis config/config.php sätet \"trusted_domains\", nagu näidis config.sample.php failis.", - "App update required" : "Rakenduse uuendus on nõutud", - "These incompatible apps will be disabled:" : "Need mitteühilduvad rakendused lülitatakse välja:", - "The theme %s has been disabled." : "Teema %s on keelatud.", - "Please make sure that the database, the config folder and the data folder have been backed up before proceeding." : "Enne jätkamist veendu, et andmebaas, seadete ning andmete kataloog on varundatud.", - "Start update" : "Käivita uuendus", - "To avoid timeouts with larger installations, you can instead run the following command from your installation directory:" : "Suurtel saitidel aegumise vältimiseks võid sa paigalduskaustas käivitada järgmise käsu:", - "Detailed logs" : "Üksikasjalikud logid", - "Update needed" : "Uuendamine vajaliik", - "Please use the command line updater because you have a big instance with more than 50 users." : "Palun kasutage uuendamiseks käsurida, kuna teil on suur instants rohkem kui 50 kasutajaga.", - "For help, see the documentation." : "Abi saamiseks vaata dokumentatsiooni.", - "Upgrade via web on my own risk" : "Uuenda veebi kaudu omal vastutusel", - "This %s instance is currently in maintenance mode, which may take a while." : "See %s instants on hetkel haldusrežiimis, mis võib kesta mõnda aega.", - "Contact your system administrator if this message persists or appeared unexpectedly." : "Kontakteeru oma süsteemihalduriga, kui see teade püsib või on tekkinud ootamatult.", - "[%d / %d]: Checking table %s" : "[%d / %d]: Kontrollin tabelit %s", - "restricted" : "piiratud", - "invisible" : "nähtamatu", - "File not found" : "Faili ei leitud", - "More" : "Rohkem", - "The password is wrong. Try again." : "Parool on vale. Proovi uuesti." -},"pluralForm" :"nplurals=2; plural=(n != 1);" -} \ No newline at end of file diff --git a/core/l10n/eu.js b/core/l10n/eu.js index 7ab8105a36588..5d123c2d879d0 100644 --- a/core/l10n/eu.js +++ b/core/l10n/eu.js @@ -190,7 +190,6 @@ OC.L10N.register( "You have not added any info yet" : "Oraindik ez duzu informaziorik gehitu", "{user} has not added any info yet" : "{user} -ek ez du oraindik informaziorik gehitu", "Error opening the user status modal, try hard refreshing the page" : "Errorea erabiltzailen egoera leihoa irekitzen, saiatu orria guztiz freskatzen", - "Search starts once you start typing" : "Idaztean hasten da bilaketarekin", "Reset search" : "Berrezarri bilaketa", "Start search" : "Hasi bilaketa", "Search for {name} only" : "Biatu {name} bakarrik", @@ -423,6 +422,7 @@ OC.L10N.register( "Settings menu" : "Ezarpenak menua", "The password is wrong. Try again." : "Pasahitza ez da zuzena. Saiatu berriro.", "Setup two-factor authentication" : "Konfiguratu bi faktoreko autentifikazioa", - "It seems like you are running a 32-bit PHP version. Nextcloud 26 and higher require 64-bit. Please upgrade your OS and PHP to 64-bit! For further details read {linkstart}the documentation page about this ↗{linkend}." : "32 biteko PHP bertsioa exekutatzen ari zarela dirudi. Nextcloud 26k eta berriagoek 64 biteko behar dute. Mesedez, eguneratu zure OS eta PHPa 64 bitekora! Xehetasun gehiago lortzeko, irakurri {linkstart} honi buruzko dokumentazio orria ↗{linkend}." + "It seems like you are running a 32-bit PHP version. Nextcloud 26 and higher require 64-bit. Please upgrade your OS and PHP to 64-bit! For further details read {linkstart}the documentation page about this ↗{linkend}." : "32 biteko PHP bertsioa exekutatzen ari zarela dirudi. Nextcloud 26k eta berriagoek 64 biteko behar dute. Mesedez, eguneratu zure OS eta PHPa 64 bitekora! Xehetasun gehiago lortzeko, irakurri {linkstart} honi buruzko dokumentazio orria ↗{linkend}.", + "Search starts once you start typing" : "Idaztean hasten da bilaketarekin" }, "nplurals=2; plural=(n != 1);"); diff --git a/core/l10n/eu.json b/core/l10n/eu.json index a63b2bc28a03d..d04904d51ef86 100644 --- a/core/l10n/eu.json +++ b/core/l10n/eu.json @@ -188,7 +188,6 @@ "You have not added any info yet" : "Oraindik ez duzu informaziorik gehitu", "{user} has not added any info yet" : "{user} -ek ez du oraindik informaziorik gehitu", "Error opening the user status modal, try hard refreshing the page" : "Errorea erabiltzailen egoera leihoa irekitzen, saiatu orria guztiz freskatzen", - "Search starts once you start typing" : "Idaztean hasten da bilaketarekin", "Reset search" : "Berrezarri bilaketa", "Start search" : "Hasi bilaketa", "Search for {name} only" : "Biatu {name} bakarrik", @@ -421,6 +420,7 @@ "Settings menu" : "Ezarpenak menua", "The password is wrong. Try again." : "Pasahitza ez da zuzena. Saiatu berriro.", "Setup two-factor authentication" : "Konfiguratu bi faktoreko autentifikazioa", - "It seems like you are running a 32-bit PHP version. Nextcloud 26 and higher require 64-bit. Please upgrade your OS and PHP to 64-bit! For further details read {linkstart}the documentation page about this ↗{linkend}." : "32 biteko PHP bertsioa exekutatzen ari zarela dirudi. Nextcloud 26k eta berriagoek 64 biteko behar dute. Mesedez, eguneratu zure OS eta PHPa 64 bitekora! Xehetasun gehiago lortzeko, irakurri {linkstart} honi buruzko dokumentazio orria ↗{linkend}." + "It seems like you are running a 32-bit PHP version. Nextcloud 26 and higher require 64-bit. Please upgrade your OS and PHP to 64-bit! For further details read {linkstart}the documentation page about this ↗{linkend}." : "32 biteko PHP bertsioa exekutatzen ari zarela dirudi. Nextcloud 26k eta berriagoek 64 biteko behar dute. Mesedez, eguneratu zure OS eta PHPa 64 bitekora! Xehetasun gehiago lortzeko, irakurri {linkstart} honi buruzko dokumentazio orria ↗{linkend}.", + "Search starts once you start typing" : "Idaztean hasten da bilaketarekin" },"pluralForm" :"nplurals=2; plural=(n != 1);" } \ No newline at end of file diff --git a/core/l10n/fi.js b/core/l10n/fi.js index 4a9b8ef2a7953..8c0e59f2cfd4b 100644 --- a/core/l10n/fi.js +++ b/core/l10n/fi.js @@ -152,7 +152,6 @@ OC.L10N.register( "The headline and about sections will show up here" : "Otsikko ja listätieto-osiot näkyvät tässä", "You have not added any info yet" : "Et ole lisännyt tietoja vielä", "{user} has not added any info yet" : "{user} ei ole lisännyt tietoja vielä", - "Search starts once you start typing" : "Haku käynnistyy kun alat kirjoittamaan", "Reset search" : "Tyhjennä haku", "Start search" : "Aloita haku", "Search for {name} only" : "Etsi vain {name}", @@ -377,6 +376,7 @@ OC.L10N.register( "More apps menu" : "Lisäsovellusvalikko", "Settings menu" : "Asetusvalikko", "The password is wrong. Try again." : "Salasana on väärin. Yritä uudelleen.", - "Setup two-factor authentication" : "Määritä kaksivaiheinen tunnistautuminen" + "Setup two-factor authentication" : "Määritä kaksivaiheinen tunnistautuminen", + "Search starts once you start typing" : "Haku käynnistyy kun alat kirjoittamaan" }, "nplurals=2; plural=(n != 1);"); diff --git a/core/l10n/fi.json b/core/l10n/fi.json index 0aca8df843179..34b7c2305c5c2 100644 --- a/core/l10n/fi.json +++ b/core/l10n/fi.json @@ -150,7 +150,6 @@ "The headline and about sections will show up here" : "Otsikko ja listätieto-osiot näkyvät tässä", "You have not added any info yet" : "Et ole lisännyt tietoja vielä", "{user} has not added any info yet" : "{user} ei ole lisännyt tietoja vielä", - "Search starts once you start typing" : "Haku käynnistyy kun alat kirjoittamaan", "Reset search" : "Tyhjennä haku", "Start search" : "Aloita haku", "Search for {name} only" : "Etsi vain {name}", @@ -375,6 +374,7 @@ "More apps menu" : "Lisäsovellusvalikko", "Settings menu" : "Asetusvalikko", "The password is wrong. Try again." : "Salasana on väärin. Yritä uudelleen.", - "Setup two-factor authentication" : "Määritä kaksivaiheinen tunnistautuminen" + "Setup two-factor authentication" : "Määritä kaksivaiheinen tunnistautuminen", + "Search starts once you start typing" : "Haku käynnistyy kun alat kirjoittamaan" },"pluralForm" :"nplurals=2; plural=(n != 1);" } \ No newline at end of file diff --git a/core/l10n/fr.js b/core/l10n/fr.js index d06e0eb214453..6e2fb0d2be36b 100644 --- a/core/l10n/fr.js +++ b/core/l10n/fr.js @@ -190,7 +190,6 @@ OC.L10N.register( "You have not added any info yet" : "Vous n'avez pas ajouté d'informations pour le moment", "{user} has not added any info yet" : "{user} n'a pas ajouté d'informations pour le moment", "Error opening the user status modal, try hard refreshing the page" : "Erreur lors de l'ouverture du modal du statut de l'utilisateur, essayez d'actualiser la page", - "Search starts once you start typing" : "La recherche démarre lorsque vous commencez à saisir", "Reset search" : "Réinitialiser la recherche", "Start search" : "Démarrer la recherche", "Search for {name} only" : "Rechercher pour {name} uniquement", @@ -423,6 +422,7 @@ OC.L10N.register( "Settings menu" : "Menu des paramètres", "The password is wrong. Try again." : "Le mot de passe est incorrect. Veuillez réessayer.", "Setup two-factor authentication" : "Paramétrer l'authentification à double facteur", - "It seems like you are running a 32-bit PHP version. Nextcloud 26 and higher require 64-bit. Please upgrade your OS and PHP to 64-bit! For further details read {linkstart}the documentation page about this ↗{linkend}." : "Il semble que vous exécutez une version 32-bit de PHP. Nextcloud 26 et plus nécessitent 64-bit. Veuillez mettre à jour votre système d'exploitation et PHP en 64 bits ! Pour plus de détails, lisez {linkstart}la page de documentation à ce sujet ↗{linkend}." + "It seems like you are running a 32-bit PHP version. Nextcloud 26 and higher require 64-bit. Please upgrade your OS and PHP to 64-bit! For further details read {linkstart}the documentation page about this ↗{linkend}." : "Il semble que vous exécutez une version 32-bit de PHP. Nextcloud 26 et plus nécessitent 64-bit. Veuillez mettre à jour votre système d'exploitation et PHP en 64 bits ! Pour plus de détails, lisez {linkstart}la page de documentation à ce sujet ↗{linkend}.", + "Search starts once you start typing" : "La recherche démarre lorsque vous commencez à saisir" }, "nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); diff --git a/core/l10n/fr.json b/core/l10n/fr.json index dfde85bb080ec..281b4ec73882c 100644 --- a/core/l10n/fr.json +++ b/core/l10n/fr.json @@ -188,7 +188,6 @@ "You have not added any info yet" : "Vous n'avez pas ajouté d'informations pour le moment", "{user} has not added any info yet" : "{user} n'a pas ajouté d'informations pour le moment", "Error opening the user status modal, try hard refreshing the page" : "Erreur lors de l'ouverture du modal du statut de l'utilisateur, essayez d'actualiser la page", - "Search starts once you start typing" : "La recherche démarre lorsque vous commencez à saisir", "Reset search" : "Réinitialiser la recherche", "Start search" : "Démarrer la recherche", "Search for {name} only" : "Rechercher pour {name} uniquement", @@ -421,6 +420,7 @@ "Settings menu" : "Menu des paramètres", "The password is wrong. Try again." : "Le mot de passe est incorrect. Veuillez réessayer.", "Setup two-factor authentication" : "Paramétrer l'authentification à double facteur", - "It seems like you are running a 32-bit PHP version. Nextcloud 26 and higher require 64-bit. Please upgrade your OS and PHP to 64-bit! For further details read {linkstart}the documentation page about this ↗{linkend}." : "Il semble que vous exécutez une version 32-bit de PHP. Nextcloud 26 et plus nécessitent 64-bit. Veuillez mettre à jour votre système d'exploitation et PHP en 64 bits ! Pour plus de détails, lisez {linkstart}la page de documentation à ce sujet ↗{linkend}." + "It seems like you are running a 32-bit PHP version. Nextcloud 26 and higher require 64-bit. Please upgrade your OS and PHP to 64-bit! For further details read {linkstart}the documentation page about this ↗{linkend}." : "Il semble que vous exécutez une version 32-bit de PHP. Nextcloud 26 et plus nécessitent 64-bit. Veuillez mettre à jour votre système d'exploitation et PHP en 64 bits ! Pour plus de détails, lisez {linkstart}la page de documentation à ce sujet ↗{linkend}.", + "Search starts once you start typing" : "La recherche démarre lorsque vous commencez à saisir" },"pluralForm" :"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" } \ No newline at end of file diff --git a/core/l10n/hu.js b/core/l10n/hu.js index 83792ac7d3bb7..1ec02efd267f9 100644 --- a/core/l10n/hu.js +++ b/core/l10n/hu.js @@ -190,7 +190,6 @@ OC.L10N.register( "You have not added any info yet" : "Még nem adott meg semmilyen információt", "{user} has not added any info yet" : "{user} még nem adott meg semmilyen információt", "Error opening the user status modal, try hard refreshing the page" : "Hiba a felhasználói állapot párbeszédablak megnyitásakor, próbálja meg az oldal kényszerített újratöltését", - "Search starts once you start typing" : "A keresés elindul, ha elkezd gépelni", "Reset search" : "Keresés visszaállítása", "Start search" : "Keresés indítása", "Search for {name} only" : "Keresés csak a(z) {name} kifejezésre", @@ -423,6 +422,7 @@ OC.L10N.register( "Settings menu" : "Beállítások menü", "The password is wrong. Try again." : "A megadott jelszó hibás. Próbálja újra.", "Setup two-factor authentication" : "Kétfaktoros hitelesítés beállítása", - "It seems like you are running a 32-bit PHP version. Nextcloud 26 and higher require 64-bit. Please upgrade your OS and PHP to 64-bit! For further details read {linkstart}the documentation page about this ↗{linkend}." : "Úgy tűnik, hogy a PHP 32 bites változatát futtatja. a Nextcloud 26-os és újabb verziójához 64 bites szükséges. Frissítse az operációs rendszerét és a PHP-ját 64 bitesre. További információkért olvassa el az erről szóló {linkstart}dokumentációs oldalt ↗{linkend}." + "It seems like you are running a 32-bit PHP version. Nextcloud 26 and higher require 64-bit. Please upgrade your OS and PHP to 64-bit! For further details read {linkstart}the documentation page about this ↗{linkend}." : "Úgy tűnik, hogy a PHP 32 bites változatát futtatja. a Nextcloud 26-os és újabb verziójához 64 bites szükséges. Frissítse az operációs rendszerét és a PHP-ját 64 bitesre. További információkért olvassa el az erről szóló {linkstart}dokumentációs oldalt ↗{linkend}.", + "Search starts once you start typing" : "A keresés elindul, ha elkezd gépelni" }, "nplurals=2; plural=(n != 1);"); diff --git a/core/l10n/hu.json b/core/l10n/hu.json index 2b082a79dd256..e3213e48f63c8 100644 --- a/core/l10n/hu.json +++ b/core/l10n/hu.json @@ -188,7 +188,6 @@ "You have not added any info yet" : "Még nem adott meg semmilyen információt", "{user} has not added any info yet" : "{user} még nem adott meg semmilyen információt", "Error opening the user status modal, try hard refreshing the page" : "Hiba a felhasználói állapot párbeszédablak megnyitásakor, próbálja meg az oldal kényszerített újratöltését", - "Search starts once you start typing" : "A keresés elindul, ha elkezd gépelni", "Reset search" : "Keresés visszaállítása", "Start search" : "Keresés indítása", "Search for {name} only" : "Keresés csak a(z) {name} kifejezésre", @@ -421,6 +420,7 @@ "Settings menu" : "Beállítások menü", "The password is wrong. Try again." : "A megadott jelszó hibás. Próbálja újra.", "Setup two-factor authentication" : "Kétfaktoros hitelesítés beállítása", - "It seems like you are running a 32-bit PHP version. Nextcloud 26 and higher require 64-bit. Please upgrade your OS and PHP to 64-bit! For further details read {linkstart}the documentation page about this ↗{linkend}." : "Úgy tűnik, hogy a PHP 32 bites változatát futtatja. a Nextcloud 26-os és újabb verziójához 64 bites szükséges. Frissítse az operációs rendszerét és a PHP-ját 64 bitesre. További információkért olvassa el az erről szóló {linkstart}dokumentációs oldalt ↗{linkend}." + "It seems like you are running a 32-bit PHP version. Nextcloud 26 and higher require 64-bit. Please upgrade your OS and PHP to 64-bit! For further details read {linkstart}the documentation page about this ↗{linkend}." : "Úgy tűnik, hogy a PHP 32 bites változatát futtatja. a Nextcloud 26-os és újabb verziójához 64 bites szükséges. Frissítse az operációs rendszerét és a PHP-ját 64 bitesre. További információkért olvassa el az erről szóló {linkstart}dokumentációs oldalt ↗{linkend}.", + "Search starts once you start typing" : "A keresés elindul, ha elkezd gépelni" },"pluralForm" :"nplurals=2; plural=(n != 1);" } \ No newline at end of file diff --git a/core/l10n/ja.js b/core/l10n/ja.js index 49ea90ae815db..bef9d43b16f4d 100644 --- a/core/l10n/ja.js +++ b/core/l10n/ja.js @@ -190,7 +190,6 @@ OC.L10N.register( "You have not added any info yet" : "まだ情報が追加されていません", "{user} has not added any info yet" : "{user}が、まだ情報を追加していません", "Error opening the user status modal, try hard refreshing the page" : "ユーザーステータスモーダルを開くときにエラーが発生しました。ページを更新してみてください", - "Search starts once you start typing" : "入力すると検索が開始されます", "Reset search" : "検索をリセットする", "Start search" : "検索開始", "Search for {name} only" : "{name}のみを検索", @@ -423,6 +422,7 @@ OC.L10N.register( "Settings menu" : "メニュー設定", "The password is wrong. Try again." : "パスワードが違います。再入力してください", "Setup two-factor authentication" : "二要素認証を設定", - "It seems like you are running a 32-bit PHP version. Nextcloud 26 and higher require 64-bit. Please upgrade your OS and PHP to 64-bit! For further details read {linkstart}the documentation page about this ↗{linkend}." : "32ビット版のPHPが動いているようです。Nextcloud 26以上を動かすには64ビット版が必要です。OSとPHPを64ビット版にアップグレードしてください!詳細は{linkstart}こちらのドキュメント ↗{linkend}をご覧ください。" + "It seems like you are running a 32-bit PHP version. Nextcloud 26 and higher require 64-bit. Please upgrade your OS and PHP to 64-bit! For further details read {linkstart}the documentation page about this ↗{linkend}." : "32ビット版のPHPが動いているようです。Nextcloud 26以上を動かすには64ビット版が必要です。OSとPHPを64ビット版にアップグレードしてください!詳細は{linkstart}こちらのドキュメント ↗{linkend}をご覧ください。", + "Search starts once you start typing" : "入力すると検索が開始されます" }, "nplurals=1; plural=0;"); diff --git a/core/l10n/ja.json b/core/l10n/ja.json index 6a605ac027a00..eef125689eecb 100644 --- a/core/l10n/ja.json +++ b/core/l10n/ja.json @@ -188,7 +188,6 @@ "You have not added any info yet" : "まだ情報が追加されていません", "{user} has not added any info yet" : "{user}が、まだ情報を追加していません", "Error opening the user status modal, try hard refreshing the page" : "ユーザーステータスモーダルを開くときにエラーが発生しました。ページを更新してみてください", - "Search starts once you start typing" : "入力すると検索が開始されます", "Reset search" : "検索をリセットする", "Start search" : "検索開始", "Search for {name} only" : "{name}のみを検索", @@ -421,6 +420,7 @@ "Settings menu" : "メニュー設定", "The password is wrong. Try again." : "パスワードが違います。再入力してください", "Setup two-factor authentication" : "二要素認証を設定", - "It seems like you are running a 32-bit PHP version. Nextcloud 26 and higher require 64-bit. Please upgrade your OS and PHP to 64-bit! For further details read {linkstart}the documentation page about this ↗{linkend}." : "32ビット版のPHPが動いているようです。Nextcloud 26以上を動かすには64ビット版が必要です。OSとPHPを64ビット版にアップグレードしてください!詳細は{linkstart}こちらのドキュメント ↗{linkend}をご覧ください。" + "It seems like you are running a 32-bit PHP version. Nextcloud 26 and higher require 64-bit. Please upgrade your OS and PHP to 64-bit! For further details read {linkstart}the documentation page about this ↗{linkend}." : "32ビット版のPHPが動いているようです。Nextcloud 26以上を動かすには64ビット版が必要です。OSとPHPを64ビット版にアップグレードしてください!詳細は{linkstart}こちらのドキュメント ↗{linkend}をご覧ください。", + "Search starts once you start typing" : "入力すると検索が開始されます" },"pluralForm" :"nplurals=1; plural=0;" } \ No newline at end of file diff --git a/core/l10n/ko.js b/core/l10n/ko.js index 73133b5137d33..65340f27da77a 100644 --- a/core/l10n/ko.js +++ b/core/l10n/ko.js @@ -173,7 +173,6 @@ OC.L10N.register( "Edit Profile" : "프로파일 수정", "The headline and about sections will show up here" : "머리말과 about section이 여기에 보일것입니다.", "{user} has not added any info yet" : "사용자 {user}이(가) 아직 아무 정보도 추가하지 않았습니다.", - "Search starts once you start typing" : "입력시 검색을 시작합니다", "Reset search" : "검색 초기화", "Start search" : "검색 시작", "Search for {name} only" : "{name}(으)로만 검색", @@ -398,6 +397,7 @@ OC.L10N.register( "More apps menu" : "더 많은 앱 메뉴", "Settings menu" : "설정 메뉴", "The password is wrong. Try again." : "암호가 잘못되었습니다. 다시 시도하십시오", - "Setup two-factor authentication" : "2단계 인증 설정" + "Setup two-factor authentication" : "2단계 인증 설정", + "Search starts once you start typing" : "입력시 검색을 시작합니다" }, "nplurals=1; plural=0;"); diff --git a/core/l10n/ko.json b/core/l10n/ko.json index 27b14af3a944f..6518cf835e4c3 100644 --- a/core/l10n/ko.json +++ b/core/l10n/ko.json @@ -171,7 +171,6 @@ "Edit Profile" : "프로파일 수정", "The headline and about sections will show up here" : "머리말과 about section이 여기에 보일것입니다.", "{user} has not added any info yet" : "사용자 {user}이(가) 아직 아무 정보도 추가하지 않았습니다.", - "Search starts once you start typing" : "입력시 검색을 시작합니다", "Reset search" : "검색 초기화", "Start search" : "검색 시작", "Search for {name} only" : "{name}(으)로만 검색", @@ -396,6 +395,7 @@ "More apps menu" : "더 많은 앱 메뉴", "Settings menu" : "설정 메뉴", "The password is wrong. Try again." : "암호가 잘못되었습니다. 다시 시도하십시오", - "Setup two-factor authentication" : "2단계 인증 설정" + "Setup two-factor authentication" : "2단계 인증 설정", + "Search starts once you start typing" : "입력시 검색을 시작합니다" },"pluralForm" :"nplurals=1; plural=0;" } \ No newline at end of file diff --git a/core/l10n/nl.js b/core/l10n/nl.js index 2fcc89efd51b0..83fda3e78fb79 100644 --- a/core/l10n/nl.js +++ b/core/l10n/nl.js @@ -184,7 +184,6 @@ OC.L10N.register( "You have not added any info yet" : "Je hebt nog geen info toegevoegd", "{user} has not added any info yet" : "{user} heeft nog geen info toegevoegd", "Error opening the user status modal, try hard refreshing the page" : "Fout bij het openen van het gebruiker status model, probeer een harde refresh van de pagina", - "Search starts once you start typing" : "Zoeken begint zodra u iets typt", "Reset search" : "Zoekopdracht wissen", "Start search" : "Begin met zoeken", "Search for {name} only" : "Zoek alleen naar {name}", @@ -406,6 +405,7 @@ OC.L10N.register( "More apps menu" : "Meer apps menu", "Settings menu" : "Instellingenmenu", "The password is wrong. Try again." : "Het wachtwoord is onjuist. Probeer opnieuw.", - "Setup two-factor authentication" : "Instellen tweefactor authenticatie" + "Setup two-factor authentication" : "Instellen tweefactor authenticatie", + "Search starts once you start typing" : "Zoeken begint zodra u iets typt" }, "nplurals=2; plural=(n != 1);"); diff --git a/core/l10n/nl.json b/core/l10n/nl.json index 8995b7b082d42..55680e759abdd 100644 --- a/core/l10n/nl.json +++ b/core/l10n/nl.json @@ -182,7 +182,6 @@ "You have not added any info yet" : "Je hebt nog geen info toegevoegd", "{user} has not added any info yet" : "{user} heeft nog geen info toegevoegd", "Error opening the user status modal, try hard refreshing the page" : "Fout bij het openen van het gebruiker status model, probeer een harde refresh van de pagina", - "Search starts once you start typing" : "Zoeken begint zodra u iets typt", "Reset search" : "Zoekopdracht wissen", "Start search" : "Begin met zoeken", "Search for {name} only" : "Zoek alleen naar {name}", @@ -404,6 +403,7 @@ "More apps menu" : "Meer apps menu", "Settings menu" : "Instellingenmenu", "The password is wrong. Try again." : "Het wachtwoord is onjuist. Probeer opnieuw.", - "Setup two-factor authentication" : "Instellen tweefactor authenticatie" + "Setup two-factor authentication" : "Instellen tweefactor authenticatie", + "Search starts once you start typing" : "Zoeken begint zodra u iets typt" },"pluralForm" :"nplurals=2; plural=(n != 1);" } \ No newline at end of file diff --git a/core/l10n/pl.js b/core/l10n/pl.js index 2c6d8ccd87be1..25fa7c712ca4f 100644 --- a/core/l10n/pl.js +++ b/core/l10n/pl.js @@ -190,7 +190,6 @@ OC.L10N.register( "You have not added any info yet" : "Nie dodałeś jeszcze żadnych informacji", "{user} has not added any info yet" : "{user} nie dodał jeszcze żadnych informacji", "Error opening the user status modal, try hard refreshing the page" : "Błąd podczas otwierania modalnego statusu użytkownika, spróbuj bardziej odświeżyć stronę", - "Search starts once you start typing" : "Wyszukiwanie rozpocznie się, gdy zaczniesz pisać", "Reset search" : "Zresetuj wyszukiwanie", "Start search" : "Zacznij wyszukiwać", "Search for {name} only" : "Wyszukaj tylko {name}", @@ -423,6 +422,7 @@ OC.L10N.register( "Settings menu" : "Menu ustawień", "The password is wrong. Try again." : "Hasło jest nieprawidłowe. Spróbuj ponownie.", "Setup two-factor authentication" : "Ustaw uwierzytelnianie dwuskładnikowe", - "It seems like you are running a 32-bit PHP version. Nextcloud 26 and higher require 64-bit. Please upgrade your OS and PHP to 64-bit! For further details read {linkstart}the documentation page about this ↗{linkend}." : "Wygląda na to, że korzystasz z 32-bitowej wersji PHP. Nextcloud 26 i nowsze wymagają wersji 64-bitowej. Zaktualizuj swój system operacyjny i PHP do wersji 64-bitowej! Aby uzyskać więcej informacji, przeczytaj {linkstart}stronę dokumentacji na ten temat ↗{linkend}." + "It seems like you are running a 32-bit PHP version. Nextcloud 26 and higher require 64-bit. Please upgrade your OS and PHP to 64-bit! For further details read {linkstart}the documentation page about this ↗{linkend}." : "Wygląda na to, że korzystasz z 32-bitowej wersji PHP. Nextcloud 26 i nowsze wymagają wersji 64-bitowej. Zaktualizuj swój system operacyjny i PHP do wersji 64-bitowej! Aby uzyskać więcej informacji, przeczytaj {linkstart}stronę dokumentacji na ten temat ↗{linkend}.", + "Search starts once you start typing" : "Wyszukiwanie rozpocznie się, gdy zaczniesz pisać" }, "nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);"); diff --git a/core/l10n/pl.json b/core/l10n/pl.json index b1802d649ccd2..4f4be1d69983a 100644 --- a/core/l10n/pl.json +++ b/core/l10n/pl.json @@ -188,7 +188,6 @@ "You have not added any info yet" : "Nie dodałeś jeszcze żadnych informacji", "{user} has not added any info yet" : "{user} nie dodał jeszcze żadnych informacji", "Error opening the user status modal, try hard refreshing the page" : "Błąd podczas otwierania modalnego statusu użytkownika, spróbuj bardziej odświeżyć stronę", - "Search starts once you start typing" : "Wyszukiwanie rozpocznie się, gdy zaczniesz pisać", "Reset search" : "Zresetuj wyszukiwanie", "Start search" : "Zacznij wyszukiwać", "Search for {name} only" : "Wyszukaj tylko {name}", @@ -421,6 +420,7 @@ "Settings menu" : "Menu ustawień", "The password is wrong. Try again." : "Hasło jest nieprawidłowe. Spróbuj ponownie.", "Setup two-factor authentication" : "Ustaw uwierzytelnianie dwuskładnikowe", - "It seems like you are running a 32-bit PHP version. Nextcloud 26 and higher require 64-bit. Please upgrade your OS and PHP to 64-bit! For further details read {linkstart}the documentation page about this ↗{linkend}." : "Wygląda na to, że korzystasz z 32-bitowej wersji PHP. Nextcloud 26 i nowsze wymagają wersji 64-bitowej. Zaktualizuj swój system operacyjny i PHP do wersji 64-bitowej! Aby uzyskać więcej informacji, przeczytaj {linkstart}stronę dokumentacji na ten temat ↗{linkend}." + "It seems like you are running a 32-bit PHP version. Nextcloud 26 and higher require 64-bit. Please upgrade your OS and PHP to 64-bit! For further details read {linkstart}the documentation page about this ↗{linkend}." : "Wygląda na to, że korzystasz z 32-bitowej wersji PHP. Nextcloud 26 i nowsze wymagają wersji 64-bitowej. Zaktualizuj swój system operacyjny i PHP do wersji 64-bitowej! Aby uzyskać więcej informacji, przeczytaj {linkstart}stronę dokumentacji na ten temat ↗{linkend}.", + "Search starts once you start typing" : "Wyszukiwanie rozpocznie się, gdy zaczniesz pisać" },"pluralForm" :"nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);" } \ No newline at end of file diff --git a/core/l10n/pt_BR.js b/core/l10n/pt_BR.js index 1f1acef8131a1..edd97dfbfcb59 100644 --- a/core/l10n/pt_BR.js +++ b/core/l10n/pt_BR.js @@ -189,7 +189,6 @@ OC.L10N.register( "You have not added any info yet" : "Você ainda não adicionou nenhuma informação", "{user} has not added any info yet" : "{user} ainda não adicionou nenhuma informação", "Error opening the user status modal, try hard refreshing the page" : "Erro ao abrir o modal de status do usuário, tente atualizar a página", - "Search starts once you start typing" : "A pesquisa começa quando você começa a digitar", "Reset search" : "Redefinir pesquisa", "Start search" : "Começar a pesquisar", "Search for {name} only" : "Pesquisar somente por {nome}", @@ -421,6 +420,7 @@ OC.L10N.register( "More apps menu" : "Mais aplicativos", "Settings menu" : "Menu de configurações", "The password is wrong. Try again." : "Senha incorreta. Tente novamente.", - "Setup two-factor authentication" : "Configurar autenticação de dois fatores" + "Setup two-factor authentication" : "Configurar autenticação de dois fatores", + "Search starts once you start typing" : "A pesquisa começa quando você começa a digitar" }, "nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); diff --git a/core/l10n/pt_BR.json b/core/l10n/pt_BR.json index 7818d7879c0a1..cde6fc116a9a8 100644 --- a/core/l10n/pt_BR.json +++ b/core/l10n/pt_BR.json @@ -187,7 +187,6 @@ "You have not added any info yet" : "Você ainda não adicionou nenhuma informação", "{user} has not added any info yet" : "{user} ainda não adicionou nenhuma informação", "Error opening the user status modal, try hard refreshing the page" : "Erro ao abrir o modal de status do usuário, tente atualizar a página", - "Search starts once you start typing" : "A pesquisa começa quando você começa a digitar", "Reset search" : "Redefinir pesquisa", "Start search" : "Começar a pesquisar", "Search for {name} only" : "Pesquisar somente por {nome}", @@ -419,6 +418,7 @@ "More apps menu" : "Mais aplicativos", "Settings menu" : "Menu de configurações", "The password is wrong. Try again." : "Senha incorreta. Tente novamente.", - "Setup two-factor authentication" : "Configurar autenticação de dois fatores" + "Setup two-factor authentication" : "Configurar autenticação de dois fatores", + "Search starts once you start typing" : "A pesquisa começa quando você começa a digitar" },"pluralForm" :"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" } \ No newline at end of file diff --git a/core/l10n/ru.js b/core/l10n/ru.js index a28d63c670bd6..71704886b7d34 100644 --- a/core/l10n/ru.js +++ b/core/l10n/ru.js @@ -190,7 +190,6 @@ OC.L10N.register( "You have not added any info yet" : "Вы ещё не добавили никакой информации", "{user} has not added any info yet" : "Пользователь {user} ещё не добавил(а) никакой информации", "Error opening the user status modal, try hard refreshing the page" : "Произошла ошибка при открытии модального окна пользователя, попробуйте обновить страницу", - "Search starts once you start typing" : "Введите текст для начала поиска", "Reset search" : "Очистить поиск", "Start search" : "Запустить поиск", "Search for {name} only" : "Искать только для «{name}»", @@ -423,6 +422,7 @@ OC.L10N.register( "Settings menu" : "Меню настроек", "The password is wrong. Try again." : "Неверный пароль. Повторите попытку.", "Setup two-factor authentication" : "Установка двухфакторной аутентификации", - "It seems like you are running a 32-bit PHP version. Nextcloud 26 and higher require 64-bit. Please upgrade your OS and PHP to 64-bit! For further details read {linkstart}the documentation page about this ↗{linkend}." : "Похоже, что используется 32-битная версия PHP. Для работы Nextcloud начиная с версии 26 требуется 64-битная версия. Обновите операционную систему и PHP до 64-битных версий. Для дополнительной информации {linkstart}обратитесь к документации ↗.{linkend}" + "It seems like you are running a 32-bit PHP version. Nextcloud 26 and higher require 64-bit. Please upgrade your OS and PHP to 64-bit! For further details read {linkstart}the documentation page about this ↗{linkend}." : "Похоже, что используется 32-битная версия PHP. Для работы Nextcloud начиная с версии 26 требуется 64-битная версия. Обновите операционную систему и PHP до 64-битных версий. Для дополнительной информации {linkstart}обратитесь к документации ↗.{linkend}", + "Search starts once you start typing" : "Введите текст для начала поиска" }, "nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);"); diff --git a/core/l10n/ru.json b/core/l10n/ru.json index 6745c143a69da..40dc152ad4da0 100644 --- a/core/l10n/ru.json +++ b/core/l10n/ru.json @@ -188,7 +188,6 @@ "You have not added any info yet" : "Вы ещё не добавили никакой информации", "{user} has not added any info yet" : "Пользователь {user} ещё не добавил(а) никакой информации", "Error opening the user status modal, try hard refreshing the page" : "Произошла ошибка при открытии модального окна пользователя, попробуйте обновить страницу", - "Search starts once you start typing" : "Введите текст для начала поиска", "Reset search" : "Очистить поиск", "Start search" : "Запустить поиск", "Search for {name} only" : "Искать только для «{name}»", @@ -421,6 +420,7 @@ "Settings menu" : "Меню настроек", "The password is wrong. Try again." : "Неверный пароль. Повторите попытку.", "Setup two-factor authentication" : "Установка двухфакторной аутентификации", - "It seems like you are running a 32-bit PHP version. Nextcloud 26 and higher require 64-bit. Please upgrade your OS and PHP to 64-bit! For further details read {linkstart}the documentation page about this ↗{linkend}." : "Похоже, что используется 32-битная версия PHP. Для работы Nextcloud начиная с версии 26 требуется 64-битная версия. Обновите операционную систему и PHP до 64-битных версий. Для дополнительной информации {linkstart}обратитесь к документации ↗.{linkend}" + "It seems like you are running a 32-bit PHP version. Nextcloud 26 and higher require 64-bit. Please upgrade your OS and PHP to 64-bit! For further details read {linkstart}the documentation page about this ↗{linkend}." : "Похоже, что используется 32-битная версия PHP. Для работы Nextcloud начиная с версии 26 требуется 64-битная версия. Обновите операционную систему и PHP до 64-битных версий. Для дополнительной информации {linkstart}обратитесь к документации ↗.{linkend}", + "Search starts once you start typing" : "Введите текст для начала поиска" },"pluralForm" :"nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);" } \ No newline at end of file diff --git a/core/l10n/sk.js b/core/l10n/sk.js index a98542bbe3252..e43aae5cdd13d 100644 --- a/core/l10n/sk.js +++ b/core/l10n/sk.js @@ -190,7 +190,6 @@ OC.L10N.register( "You have not added any info yet" : "Zatiaľ ste nepridali žiadne informácie", "{user} has not added any info yet" : "{user} zatiaľ nepridal žiadne informácie", "Error opening the user status modal, try hard refreshing the page" : "Chyba pri otváraní modálneho okna stavu používateľa, skúste stránku obnoviť", - "Search starts once you start typing" : "Vyhľadávanie sa spustí, keď začnete písať", "Reset search" : "Vynuluj vyhľadávanie", "Start search" : "Začať vyhľadávať", "Search for {name} only" : "Hľadať iba {name}", @@ -423,6 +422,7 @@ OC.L10N.register( "Settings menu" : "Menu nastavení", "The password is wrong. Try again." : "Heslo je chybné. Skúste to znova.", "Setup two-factor authentication" : "Nastaviť dvojzložkové overovanie", - "It seems like you are running a 32-bit PHP version. Nextcloud 26 and higher require 64-bit. Please upgrade your OS and PHP to 64-bit! For further details read {linkstart}the documentation page about this ↗{linkend}." : "Zdá sa, že používate 32-bitovú verziu PHP. Nextcloud 26 a vyšší potrebuje 64-bit. Prosím, aktualizujte svoj OS a PHP na 64-bitové! Ďalšie podrobnosti nájdete na {linkstart}stránke dokumentácie↗{linkend}." + "It seems like you are running a 32-bit PHP version. Nextcloud 26 and higher require 64-bit. Please upgrade your OS and PHP to 64-bit! For further details read {linkstart}the documentation page about this ↗{linkend}." : "Zdá sa, že používate 32-bitovú verziu PHP. Nextcloud 26 a vyšší potrebuje 64-bit. Prosím, aktualizujte svoj OS a PHP na 64-bitové! Ďalšie podrobnosti nájdete na {linkstart}stránke dokumentácie↗{linkend}.", + "Search starts once you start typing" : "Vyhľadávanie sa spustí, keď začnete písať" }, "nplurals=4; plural=(n % 1 == 0 && n == 1 ? 0 : n % 1 == 0 && n >= 2 && n <= 4 ? 1 : n % 1 != 0 ? 2: 3);"); diff --git a/core/l10n/sk.json b/core/l10n/sk.json index b5c8b8ef3d125..a197a311464e1 100644 --- a/core/l10n/sk.json +++ b/core/l10n/sk.json @@ -188,7 +188,6 @@ "You have not added any info yet" : "Zatiaľ ste nepridali žiadne informácie", "{user} has not added any info yet" : "{user} zatiaľ nepridal žiadne informácie", "Error opening the user status modal, try hard refreshing the page" : "Chyba pri otváraní modálneho okna stavu používateľa, skúste stránku obnoviť", - "Search starts once you start typing" : "Vyhľadávanie sa spustí, keď začnete písať", "Reset search" : "Vynuluj vyhľadávanie", "Start search" : "Začať vyhľadávať", "Search for {name} only" : "Hľadať iba {name}", @@ -421,6 +420,7 @@ "Settings menu" : "Menu nastavení", "The password is wrong. Try again." : "Heslo je chybné. Skúste to znova.", "Setup two-factor authentication" : "Nastaviť dvojzložkové overovanie", - "It seems like you are running a 32-bit PHP version. Nextcloud 26 and higher require 64-bit. Please upgrade your OS and PHP to 64-bit! For further details read {linkstart}the documentation page about this ↗{linkend}." : "Zdá sa, že používate 32-bitovú verziu PHP. Nextcloud 26 a vyšší potrebuje 64-bit. Prosím, aktualizujte svoj OS a PHP na 64-bitové! Ďalšie podrobnosti nájdete na {linkstart}stránke dokumentácie↗{linkend}." + "It seems like you are running a 32-bit PHP version. Nextcloud 26 and higher require 64-bit. Please upgrade your OS and PHP to 64-bit! For further details read {linkstart}the documentation page about this ↗{linkend}." : "Zdá sa, že používate 32-bitovú verziu PHP. Nextcloud 26 a vyšší potrebuje 64-bit. Prosím, aktualizujte svoj OS a PHP na 64-bitové! Ďalšie podrobnosti nájdete na {linkstart}stránke dokumentácie↗{linkend}.", + "Search starts once you start typing" : "Vyhľadávanie sa spustí, keď začnete písať" },"pluralForm" :"nplurals=4; plural=(n % 1 == 0 && n == 1 ? 0 : n % 1 == 0 && n >= 2 && n <= 4 ? 1 : n % 1 != 0 ? 2: 3);" } \ No newline at end of file diff --git a/core/l10n/sl.js b/core/l10n/sl.js index 33f21076a1d8a..1f546d5bdf7ba 100644 --- a/core/l10n/sl.js +++ b/core/l10n/sl.js @@ -169,7 +169,6 @@ OC.L10N.register( "Back" : "Nazaj", "Login form is disabled." : "Prijavni obrazec je onemogočen.", "Edit Profile" : "Uredi profil", - "Search starts once you start typing" : "Iskanje se začne z vpisovanjem", "Reset search" : "Ponastavi iskanje", "Start search" : "Začni z iskanjem", "Search for {name} only" : "Išči le za {name}", @@ -387,6 +386,7 @@ OC.L10N.register( "More apps menu" : "Meni več programov", "Settings menu" : "Meni nastavitev", "The password is wrong. Try again." : "Geslo je napačno. Poskusite znova.", - "Setup two-factor authentication" : "Nastavite dvostopenjsko overitev" + "Setup two-factor authentication" : "Nastavite dvostopenjsko overitev", + "Search starts once you start typing" : "Iskanje se začne z vpisovanjem" }, "nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);"); diff --git a/core/l10n/sl.json b/core/l10n/sl.json index 8f0c8e016da57..a6c94cf88d535 100644 --- a/core/l10n/sl.json +++ b/core/l10n/sl.json @@ -167,7 +167,6 @@ "Back" : "Nazaj", "Login form is disabled." : "Prijavni obrazec je onemogočen.", "Edit Profile" : "Uredi profil", - "Search starts once you start typing" : "Iskanje se začne z vpisovanjem", "Reset search" : "Ponastavi iskanje", "Start search" : "Začni z iskanjem", "Search for {name} only" : "Išči le za {name}", @@ -385,6 +384,7 @@ "More apps menu" : "Meni več programov", "Settings menu" : "Meni nastavitev", "The password is wrong. Try again." : "Geslo je napačno. Poskusite znova.", - "Setup two-factor authentication" : "Nastavite dvostopenjsko overitev" + "Setup two-factor authentication" : "Nastavite dvostopenjsko overitev", + "Search starts once you start typing" : "Iskanje se začne z vpisovanjem" },"pluralForm" :"nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);" } \ No newline at end of file diff --git a/core/l10n/sv.js b/core/l10n/sv.js index eae9ec70ce60d..9196caf2968b4 100644 --- a/core/l10n/sv.js +++ b/core/l10n/sv.js @@ -165,7 +165,6 @@ OC.L10N.register( "You have not added any info yet" : "Du har inte angivit någon information ännu", "{user} has not added any info yet" : "{user} har inte angivit någon information ännu", "Error opening the user status modal, try hard refreshing the page" : "Kunde inte öppna användarstatus-rutan, försök att ladda om sidan", - "Search starts once you start typing" : "Sökningen startar när du börjar skriva", "Reset search" : "Återställ sökning", "Start search" : "Starta sökning", "Search for {name} only" : "Sök efter endast {name}", @@ -395,6 +394,7 @@ OC.L10N.register( "More apps menu" : "Fler appar - meny", "Settings menu" : "Inställningsmeny", "The password is wrong. Try again." : "Felaktigt lösenord. Försök igen.", - "Setup two-factor authentication" : "Ställ in tvåfaktorsautentisering" + "Setup two-factor authentication" : "Ställ in tvåfaktorsautentisering", + "Search starts once you start typing" : "Sökningen startar när du börjar skriva" }, "nplurals=2; plural=(n != 1);"); diff --git a/core/l10n/sv.json b/core/l10n/sv.json index bf9d27117f1e7..cc2bf07153ad0 100644 --- a/core/l10n/sv.json +++ b/core/l10n/sv.json @@ -163,7 +163,6 @@ "You have not added any info yet" : "Du har inte angivit någon information ännu", "{user} has not added any info yet" : "{user} har inte angivit någon information ännu", "Error opening the user status modal, try hard refreshing the page" : "Kunde inte öppna användarstatus-rutan, försök att ladda om sidan", - "Search starts once you start typing" : "Sökningen startar när du börjar skriva", "Reset search" : "Återställ sökning", "Start search" : "Starta sökning", "Search for {name} only" : "Sök efter endast {name}", @@ -393,6 +392,7 @@ "More apps menu" : "Fler appar - meny", "Settings menu" : "Inställningsmeny", "The password is wrong. Try again." : "Felaktigt lösenord. Försök igen.", - "Setup two-factor authentication" : "Ställ in tvåfaktorsautentisering" + "Setup two-factor authentication" : "Ställ in tvåfaktorsautentisering", + "Search starts once you start typing" : "Sökningen startar när du börjar skriva" },"pluralForm" :"nplurals=2; plural=(n != 1);" } \ No newline at end of file diff --git a/core/l10n/tr.js b/core/l10n/tr.js index f9a0e774d2359..bceb3c4cab21b 100644 --- a/core/l10n/tr.js +++ b/core/l10n/tr.js @@ -190,7 +190,6 @@ OC.L10N.register( "You have not added any info yet" : "Henüz herhangi bir bilgi eklememişsiniz", "{user} has not added any info yet" : "{user} henüz herhangi bir bilgi eklememiş", "Error opening the user status modal, try hard refreshing the page" : "Üste açılan kullanıcı durumu penceresinde sorun çıktı. Sayfası temizleyerek yenilemeyi deneyin ", - "Search starts once you start typing" : "Yazmaya başladığınızda arama yapılır", "Reset search" : "Aramayı sıfırla", "Start search" : "Aramayı başlat", "Search for {name} only" : "Yalnızca {name} için aransın", @@ -423,6 +422,7 @@ OC.L10N.register( "Settings menu" : "Ayarlar menüsü", "The password is wrong. Try again." : "Parola yanlış. Yeniden deneyin.", "Setup two-factor authentication" : "İki aşamalı kimlik doğrulama kurulumu", - "It seems like you are running a 32-bit PHP version. Nextcloud 26 and higher require 64-bit. Please upgrade your OS and PHP to 64-bit! For further details read {linkstart}the documentation page about this ↗{linkend}." : "32 bit bir PHP sürümü çalıştırıyorsunuz gibi görünüyor. Nextcloud 26 sürümü ve üzerinin iyi çalışması için 64 bit kullanılmalıdır. Lütfen işletim sisteminizi ve PHP sürümünüzü 64 bit olacak şekilde yükseltin! Ayrıntılı bilgi almak için {linkstart}ilgili belgeler sayfasına bakabilirsiniz↗{linkend}." + "It seems like you are running a 32-bit PHP version. Nextcloud 26 and higher require 64-bit. Please upgrade your OS and PHP to 64-bit! For further details read {linkstart}the documentation page about this ↗{linkend}." : "32 bit bir PHP sürümü çalıştırıyorsunuz gibi görünüyor. Nextcloud 26 sürümü ve üzerinin iyi çalışması için 64 bit kullanılmalıdır. Lütfen işletim sisteminizi ve PHP sürümünüzü 64 bit olacak şekilde yükseltin! Ayrıntılı bilgi almak için {linkstart}ilgili belgeler sayfasına bakabilirsiniz↗{linkend}.", + "Search starts once you start typing" : "Yazmaya başladığınızda arama yapılır" }, "nplurals=2; plural=(n > 1);"); diff --git a/core/l10n/tr.json b/core/l10n/tr.json index 4adc36953c6ae..a95e6c369efb0 100644 --- a/core/l10n/tr.json +++ b/core/l10n/tr.json @@ -188,7 +188,6 @@ "You have not added any info yet" : "Henüz herhangi bir bilgi eklememişsiniz", "{user} has not added any info yet" : "{user} henüz herhangi bir bilgi eklememiş", "Error opening the user status modal, try hard refreshing the page" : "Üste açılan kullanıcı durumu penceresinde sorun çıktı. Sayfası temizleyerek yenilemeyi deneyin ", - "Search starts once you start typing" : "Yazmaya başladığınızda arama yapılır", "Reset search" : "Aramayı sıfırla", "Start search" : "Aramayı başlat", "Search for {name} only" : "Yalnızca {name} için aransın", @@ -421,6 +420,7 @@ "Settings menu" : "Ayarlar menüsü", "The password is wrong. Try again." : "Parola yanlış. Yeniden deneyin.", "Setup two-factor authentication" : "İki aşamalı kimlik doğrulama kurulumu", - "It seems like you are running a 32-bit PHP version. Nextcloud 26 and higher require 64-bit. Please upgrade your OS and PHP to 64-bit! For further details read {linkstart}the documentation page about this ↗{linkend}." : "32 bit bir PHP sürümü çalıştırıyorsunuz gibi görünüyor. Nextcloud 26 sürümü ve üzerinin iyi çalışması için 64 bit kullanılmalıdır. Lütfen işletim sisteminizi ve PHP sürümünüzü 64 bit olacak şekilde yükseltin! Ayrıntılı bilgi almak için {linkstart}ilgili belgeler sayfasına bakabilirsiniz↗{linkend}." + "It seems like you are running a 32-bit PHP version. Nextcloud 26 and higher require 64-bit. Please upgrade your OS and PHP to 64-bit! For further details read {linkstart}the documentation page about this ↗{linkend}." : "32 bit bir PHP sürümü çalıştırıyorsunuz gibi görünüyor. Nextcloud 26 sürümü ve üzerinin iyi çalışması için 64 bit kullanılmalıdır. Lütfen işletim sisteminizi ve PHP sürümünüzü 64 bit olacak şekilde yükseltin! Ayrıntılı bilgi almak için {linkstart}ilgili belgeler sayfasına bakabilirsiniz↗{linkend}.", + "Search starts once you start typing" : "Yazmaya başladığınızda arama yapılır" },"pluralForm" :"nplurals=2; plural=(n > 1);" } \ No newline at end of file diff --git a/core/l10n/uk.js b/core/l10n/uk.js index 2e747b5ccf97c..ee20e10e94799 100644 --- a/core/l10n/uk.js +++ b/core/l10n/uk.js @@ -188,7 +188,6 @@ OC.L10N.register( "You have not added any info yet" : "Ви ще не додали жодної інформації", "{user} has not added any info yet" : "{user} ще не додав жодної інформації", "Error opening the user status modal, try hard refreshing the page" : "Помилка відкриття режиму статусу користувача. Спробуйте оновити сторінку", - "Search starts once you start typing" : "Пошук здійснюється під час введення тексту", "Reset search" : "Повторити пошук", "Start search" : "Розпочати пошук", "Search for {name} only" : "Пошук лише у {name}", @@ -418,6 +417,7 @@ OC.L10N.register( "More apps menu" : "Меню з більшим числом застосунків", "Settings menu" : "Меню налаштувань", "The password is wrong. Try again." : "Пароль неправильний. Спробуйте ще раз.", - "Setup two-factor authentication" : "Налаштувати двофакторну автентифікацію" + "Setup two-factor authentication" : "Налаштувати двофакторну автентифікацію", + "Search starts once you start typing" : "Пошук здійснюється під час введення тексту" }, "nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != 11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || (n % 100 >=11 && n % 100 <=14 )) ? 2: 3);"); diff --git a/core/l10n/uk.json b/core/l10n/uk.json index fbf10c6c6d1bf..64c98282cb6f1 100644 --- a/core/l10n/uk.json +++ b/core/l10n/uk.json @@ -186,7 +186,6 @@ "You have not added any info yet" : "Ви ще не додали жодної інформації", "{user} has not added any info yet" : "{user} ще не додав жодної інформації", "Error opening the user status modal, try hard refreshing the page" : "Помилка відкриття режиму статусу користувача. Спробуйте оновити сторінку", - "Search starts once you start typing" : "Пошук здійснюється під час введення тексту", "Reset search" : "Повторити пошук", "Start search" : "Розпочати пошук", "Search for {name} only" : "Пошук лише у {name}", @@ -416,6 +415,7 @@ "More apps menu" : "Меню з більшим числом застосунків", "Settings menu" : "Меню налаштувань", "The password is wrong. Try again." : "Пароль неправильний. Спробуйте ще раз.", - "Setup two-factor authentication" : "Налаштувати двофакторну автентифікацію" + "Setup two-factor authentication" : "Налаштувати двофакторну автентифікацію", + "Search starts once you start typing" : "Пошук здійснюється під час введення тексту" },"pluralForm" :"nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != 11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || (n % 100 >=11 && n % 100 <=14 )) ? 2: 3);" } \ No newline at end of file diff --git a/core/l10n/zh_CN.js b/core/l10n/zh_CN.js index 0bc7e6c7188c9..a3f1edc18654f 100644 --- a/core/l10n/zh_CN.js +++ b/core/l10n/zh_CN.js @@ -188,7 +188,6 @@ OC.L10N.register( "You have not added any info yet" : "您尚未添加任何信息", "{user} has not added any info yet" : "{user} 尚未添加任何信息", "Error opening the user status modal, try hard refreshing the page" : "打开用户状态模块时出错,请努力刷新页面", - "Search starts once you start typing" : "输入后立即搜索", "Reset search" : "重置搜索", "Start search" : "开始搜索", "Search for {name} only" : "仅搜索 {name}", @@ -420,6 +419,7 @@ OC.L10N.register( "More apps menu" : "更多的应用菜单", "Settings menu" : "设置菜单", "The password is wrong. Try again." : "用户名或密码错误!请重试", - "Setup two-factor authentication" : "配置两步验证" + "Setup two-factor authentication" : "配置两步验证", + "Search starts once you start typing" : "输入后立即搜索" }, "nplurals=1; plural=0;"); diff --git a/core/l10n/zh_CN.json b/core/l10n/zh_CN.json index ad0a30e27b08b..06709232981e6 100644 --- a/core/l10n/zh_CN.json +++ b/core/l10n/zh_CN.json @@ -186,7 +186,6 @@ "You have not added any info yet" : "您尚未添加任何信息", "{user} has not added any info yet" : "{user} 尚未添加任何信息", "Error opening the user status modal, try hard refreshing the page" : "打开用户状态模块时出错,请努力刷新页面", - "Search starts once you start typing" : "输入后立即搜索", "Reset search" : "重置搜索", "Start search" : "开始搜索", "Search for {name} only" : "仅搜索 {name}", @@ -418,6 +417,7 @@ "More apps menu" : "更多的应用菜单", "Settings menu" : "设置菜单", "The password is wrong. Try again." : "用户名或密码错误!请重试", - "Setup two-factor authentication" : "配置两步验证" + "Setup two-factor authentication" : "配置两步验证", + "Search starts once you start typing" : "输入后立即搜索" },"pluralForm" :"nplurals=1; plural=0;" } \ No newline at end of file diff --git a/core/l10n/zh_HK.js b/core/l10n/zh_HK.js index 3739a1425e2d2..66021edc55f60 100644 --- a/core/l10n/zh_HK.js +++ b/core/l10n/zh_HK.js @@ -190,7 +190,6 @@ OC.L10N.register( "You have not added any info yet" : "您尚未新增任何資訊", "{user} has not added any info yet" : "{user} 尚未新增任何資訊", "Error opening the user status modal, try hard refreshing the page" : "打開用戶狀態模式時出錯,請嘗試刷新頁面", - "Search starts once you start typing" : "開始輸入後開始搜尋", "Reset search" : "重置搜尋", "Start search" : "開始搜尋", "Search for {name} only" : "只搜尋 {name}", @@ -423,6 +422,7 @@ OC.L10N.register( "Settings menu" : "設定選單", "The password is wrong. Try again." : "密碼錯誤,請重試", "Setup two-factor authentication" : "設定雙重認證", - "It seems like you are running a 32-bit PHP version. Nextcloud 26 and higher require 64-bit. Please upgrade your OS and PHP to 64-bit! For further details read {linkstart}the documentation page about this ↗{linkend}." : "您似乎正在執行 32 位元版本的 PHP。Nextcloud 26 或更新版本需要使用 64 位元的版本。請將您的作業系統與 PHP 升級至 64 位元!要取得更多詳細資訊,請閱讀{linkstart}關於此問題的文件 ↗{linkend}。" + "It seems like you are running a 32-bit PHP version. Nextcloud 26 and higher require 64-bit. Please upgrade your OS and PHP to 64-bit! For further details read {linkstart}the documentation page about this ↗{linkend}." : "您似乎正在執行 32 位元版本的 PHP。Nextcloud 26 或更新版本需要使用 64 位元的版本。請將您的作業系統與 PHP 升級至 64 位元!要取得更多詳細資訊,請閱讀{linkstart}關於此問題的文件 ↗{linkend}。", + "Search starts once you start typing" : "開始輸入後開始搜尋" }, "nplurals=1; plural=0;"); diff --git a/core/l10n/zh_HK.json b/core/l10n/zh_HK.json index b4817eb7fd4b3..24f89da10645f 100644 --- a/core/l10n/zh_HK.json +++ b/core/l10n/zh_HK.json @@ -188,7 +188,6 @@ "You have not added any info yet" : "您尚未新增任何資訊", "{user} has not added any info yet" : "{user} 尚未新增任何資訊", "Error opening the user status modal, try hard refreshing the page" : "打開用戶狀態模式時出錯,請嘗試刷新頁面", - "Search starts once you start typing" : "開始輸入後開始搜尋", "Reset search" : "重置搜尋", "Start search" : "開始搜尋", "Search for {name} only" : "只搜尋 {name}", @@ -421,6 +420,7 @@ "Settings menu" : "設定選單", "The password is wrong. Try again." : "密碼錯誤,請重試", "Setup two-factor authentication" : "設定雙重認證", - "It seems like you are running a 32-bit PHP version. Nextcloud 26 and higher require 64-bit. Please upgrade your OS and PHP to 64-bit! For further details read {linkstart}the documentation page about this ↗{linkend}." : "您似乎正在執行 32 位元版本的 PHP。Nextcloud 26 或更新版本需要使用 64 位元的版本。請將您的作業系統與 PHP 升級至 64 位元!要取得更多詳細資訊,請閱讀{linkstart}關於此問題的文件 ↗{linkend}。" + "It seems like you are running a 32-bit PHP version. Nextcloud 26 and higher require 64-bit. Please upgrade your OS and PHP to 64-bit! For further details read {linkstart}the documentation page about this ↗{linkend}." : "您似乎正在執行 32 位元版本的 PHP。Nextcloud 26 或更新版本需要使用 64 位元的版本。請將您的作業系統與 PHP 升級至 64 位元!要取得更多詳細資訊,請閱讀{linkstart}關於此問題的文件 ↗{linkend}。", + "Search starts once you start typing" : "開始輸入後開始搜尋" },"pluralForm" :"nplurals=1; plural=0;" } \ No newline at end of file diff --git a/core/l10n/zh_TW.js b/core/l10n/zh_TW.js index d77457b156570..6feee500e6a5f 100644 --- a/core/l10n/zh_TW.js +++ b/core/l10n/zh_TW.js @@ -190,7 +190,6 @@ OC.L10N.register( "You have not added any info yet" : "您尚未新增任何資訊。", "{user} has not added any info yet" : "{user} 尚未新增任何資訊。", "Error opening the user status modal, try hard refreshing the page" : "開啟使用者狀態模式時發生問題,嘗試重新整理頁面", - "Search starts once you start typing" : "開始輸入後開始搜尋", "Reset search" : "重置搜尋", "Start search" : "開始搜尋", "Search for {name} only" : "僅搜尋 {name}", @@ -423,6 +422,7 @@ OC.L10N.register( "Settings menu" : "設定選單", "The password is wrong. Try again." : "密碼錯誤,請重試", "Setup two-factor authentication" : "設定雙因素驗證", - "It seems like you are running a 32-bit PHP version. Nextcloud 26 and higher require 64-bit. Please upgrade your OS and PHP to 64-bit! For further details read {linkstart}the documentation page about this ↗{linkend}." : "您似乎正在執行 32 位元版本的 PHP。Nextcloud 26 或更新版本需要使用 64 位元的版本。請將您的作業系統與 PHP 升級至 64 位元!要取得更多詳細資訊,請閱讀{linkstart}關於此問題的文件 ↗{linkend}。" + "It seems like you are running a 32-bit PHP version. Nextcloud 26 and higher require 64-bit. Please upgrade your OS and PHP to 64-bit! For further details read {linkstart}the documentation page about this ↗{linkend}." : "您似乎正在執行 32 位元版本的 PHP。Nextcloud 26 或更新版本需要使用 64 位元的版本。請將您的作業系統與 PHP 升級至 64 位元!要取得更多詳細資訊,請閱讀{linkstart}關於此問題的文件 ↗{linkend}。", + "Search starts once you start typing" : "開始輸入後開始搜尋" }, "nplurals=1; plural=0;"); diff --git a/core/l10n/zh_TW.json b/core/l10n/zh_TW.json index adfc2cfa10ca9..7dc2162a66973 100644 --- a/core/l10n/zh_TW.json +++ b/core/l10n/zh_TW.json @@ -188,7 +188,6 @@ "You have not added any info yet" : "您尚未新增任何資訊。", "{user} has not added any info yet" : "{user} 尚未新增任何資訊。", "Error opening the user status modal, try hard refreshing the page" : "開啟使用者狀態模式時發生問題,嘗試重新整理頁面", - "Search starts once you start typing" : "開始輸入後開始搜尋", "Reset search" : "重置搜尋", "Start search" : "開始搜尋", "Search for {name} only" : "僅搜尋 {name}", @@ -421,6 +420,7 @@ "Settings menu" : "設定選單", "The password is wrong. Try again." : "密碼錯誤,請重試", "Setup two-factor authentication" : "設定雙因素驗證", - "It seems like you are running a 32-bit PHP version. Nextcloud 26 and higher require 64-bit. Please upgrade your OS and PHP to 64-bit! For further details read {linkstart}the documentation page about this ↗{linkend}." : "您似乎正在執行 32 位元版本的 PHP。Nextcloud 26 或更新版本需要使用 64 位元的版本。請將您的作業系統與 PHP 升級至 64 位元!要取得更多詳細資訊,請閱讀{linkstart}關於此問題的文件 ↗{linkend}。" + "It seems like you are running a 32-bit PHP version. Nextcloud 26 and higher require 64-bit. Please upgrade your OS and PHP to 64-bit! For further details read {linkstart}the documentation page about this ↗{linkend}." : "您似乎正在執行 32 位元版本的 PHP。Nextcloud 26 或更新版本需要使用 64 位元的版本。請將您的作業系統與 PHP 升級至 64 位元!要取得更多詳細資訊,請閱讀{linkstart}關於此問題的文件 ↗{linkend}。", + "Search starts once you start typing" : "開始輸入後開始搜尋" },"pluralForm" :"nplurals=1; plural=0;" } \ No newline at end of file From 7f08ddbfce5b87600b7a0ba1c8862a9611d9700d Mon Sep 17 00:00:00 2001 From: Joas Schilling Date: Fri, 9 Dec 2022 16:41:59 +0100 Subject: [PATCH 02/14] Update sensitive config list of Talk Signed-off-by: Joas Schilling --- lib/private/AppConfig.php | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/lib/private/AppConfig.php b/lib/private/AppConfig.php index 708b31b313671..efaa2209eca18 100644 --- a/lib/private/AppConfig.php +++ b/lib/private/AppConfig.php @@ -110,9 +110,12 @@ class AppConfig implements IAppConfig { '/^cookie$/', ], 'spreed' => [ - '/^bridge_bot_password/', + '/^bridge_bot_password$/', + '/^hosted-signaling-server-(.*)$/', '/^signaling_servers$/', '/^signaling_ticket_secret$/', + '/^signaling_token_privkey_(.*)$/', + '/^signaling_token_pubkey_(.*)$/', '/^sip_bridge_dialin_info$/', '/^sip_bridge_shared_secret$/', '/^stun_servers$/', From c7961fcd32ba3ef94cf77eba9fb19424c34d9887 Mon Sep 17 00:00:00 2001 From: Joas Schilling Date: Sat, 8 Oct 2022 16:05:52 +0200 Subject: [PATCH 03/14] Show group name instead of group id as recommendation Signed-off-by: Joas Schilling --- lib/private/Share20/DefaultShareProvider.php | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lib/private/Share20/DefaultShareProvider.php b/lib/private/Share20/DefaultShareProvider.php index c78cf62e069d7..a5a5568788d92 100644 --- a/lib/private/Share20/DefaultShareProvider.php +++ b/lib/private/Share20/DefaultShareProvider.php @@ -1087,6 +1087,10 @@ private function createShare($data) { } } elseif ($share->getShareType() === IShare::TYPE_GROUP) { $share->setSharedWith($data['share_with']); + $group = $this->groupManager->get($data['share_with']); + if ($group !== null) { + $share->setSharedWithDisplayName($group->getDisplayName()); + } } elseif ($share->getShareType() === IShare::TYPE_LINK) { $share->setPassword($data['password']); $share->setSendPasswordByTalk((bool)$data['password_by_talk']); From 86d020662604aa8deeb924e86f02a9072d2f4ada Mon Sep 17 00:00:00 2001 From: Joas Schilling Date: Wed, 12 Oct 2022 16:03:57 +0200 Subject: [PATCH 04/14] Adjust unit tests Signed-off-by: Joas Schilling --- tests/lib/Share20/DefaultShareProviderTest.php | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/tests/lib/Share20/DefaultShareProviderTest.php b/tests/lib/Share20/DefaultShareProviderTest.php index ed2bc2a4edad8..d7b5dbc9b7449 100644 --- a/tests/lib/Share20/DefaultShareProviderTest.php +++ b/tests/lib/Share20/DefaultShareProviderTest.php @@ -365,6 +365,7 @@ public function testGetShareByIdUserGroupShare() { $group0 = $this->createMock(IGroup::class); $group0->method('inGroup')->with($user1)->willReturn(true); + $group0->method('getDisplayName')->willReturn('g0-displayname'); $node = $this->createMock(Folder::class); $node->method('getId')->willReturn(42); @@ -1488,6 +1489,7 @@ public function testDeleteFromSelfGroupNoCustomShare() { $group = $this->createMock(IGroup::class); $group->method('getGID')->willReturn('group'); $group->method('inGroup')->with($user2)->willReturn(true); + $group->method('getDisplayName')->willReturn('group-displayname'); $this->groupManager->method('get')->with('group')->willReturn($group); $file = $this->createMock(File::class); @@ -1559,6 +1561,7 @@ public function testDeleteFromSelfGroupAlreadyCustomShare() { $group = $this->createMock(IGroup::class); $group->method('getGID')->willReturn('group'); $group->method('inGroup')->with($user2)->willReturn(true); + $group->method('getDisplayName')->willReturn('group-displayname'); $this->groupManager->method('get')->with('group')->willReturn($group); $file = $this->createMock(File::class); @@ -1616,6 +1619,7 @@ public function testDeleteFromSelfGroupUserNotInGroup() { $group = $this->createMock(IGroup::class); $group->method('getGID')->willReturn('group'); $group->method('inGroup')->with($user2)->willReturn(false); + $group->method('getDisplayName')->willReturn('group-displayname'); $this->groupManager->method('get')->with('group')->willReturn($group); $file = $this->createMock(File::class); @@ -2002,6 +2006,7 @@ function ($userId) use ($users) { for ($i = 0; $i < 2; $i++) { $group = $this->createMock(IGroup::class); $group->method('getGID')->willReturn('group'.$i); + $group->method('getDisplayName')->willReturn('group-displayname' . $i); $groups['group'.$i] = $group; } @@ -2080,6 +2085,7 @@ function ($userId) use ($users) { for ($i = 0; $i < 2; $i++) { $group = $this->createMock(IGroup::class); $group->method('getGID')->willReturn('group'.$i); + $group->method('getDisplayName')->willReturn('group-displayname'.$i); $groups['group'.$i] = $group; } @@ -2196,6 +2202,7 @@ public function testMoveGroupShare() { $group0 = $this->createMock(IGroup::class); $group0->method('getGID')->willReturn('group0'); $group0->method('inGroup')->with($user0)->willReturn(true); + $group0->method('getDisplayName')->willReturn('group0-displayname'); $this->groupManager->method('get')->with('group0')->willReturn($group0); From 82319e25fb18847a3ff13b43f427ff6a46016279 Mon Sep 17 00:00:00 2001 From: Joas Schilling Date: Thu, 24 Nov 2022 09:31:42 +0100 Subject: [PATCH 05/14] Use correct filter for app icons in the right sidebar of app management Signed-off-by: Joas Schilling --- apps/settings/src/views/Apps.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/settings/src/views/Apps.vue b/apps/settings/src/views/Apps.vue index ff7c05cdcd7b9..efd10a4098aec 100644 --- a/apps/settings/src/views/Apps.vue +++ b/apps/settings/src/views/Apps.vue @@ -320,7 +320,7 @@ export default { .app-sidebar-header--compact .app-sidebar-header__figure { background-size: 32px; - filter: invert(1); + filter: var(--background-invert-if-bright); } } From 9f581b0828906dd1aeb258b932ac5c2c321f8d1a Mon Sep 17 00:00:00 2001 From: nextcloud-command Date: Fri, 9 Dec 2022 22:47:49 +0000 Subject: [PATCH 06/14] Compile assets Signed-off-by: nextcloud-command --- dist/settings-apps-view-7418.js | 4 ++-- dist/settings-apps-view-7418.js.map | 2 +- dist/settings-vue-settings-apps-users-management.js | 4 ++-- dist/settings-vue-settings-apps-users-management.js.map | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/dist/settings-apps-view-7418.js b/dist/settings-apps-view-7418.js index 07151e92f7730..f98d4c972c114 100644 --- a/dist/settings-apps-view-7418.js +++ b/dist/settings-apps-view-7418.js @@ -1,2 +1,2 @@ -"use strict";(self.webpackChunknextcloud=self.webpackChunknextcloud||[]).push([[7418],{2877:function(t,n,e){var a=e(87537),i=e.n(a),s=e(23645),r=e.n(s)()(i());r.push([t.id,".app-details[data-v-43fb27d0]{padding:20px}.app-details__actions-manage[data-v-43fb27d0]{display:flex}.app-details__actions-manage input[data-v-43fb27d0]{flex:0 1 auto;min-width:0;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.app-details__dependencies[data-v-43fb27d0]{opacity:.7}.app-details__documentation[data-v-43fb27d0]{padding-top:20px}.app-details__description[data-v-43fb27d0]{padding-top:20px}.force[data-v-43fb27d0]{color:var(--color-error);border-color:var(--color-error);background:var(--color-main-background)}.force[data-v-43fb27d0]:hover,.force[data-v-43fb27d0]:active{color:var(--color-main-background);border-color:var(--color-error) !important;background:var(--color-error)}","",{version:3,sources:["webpack://./apps/settings/src/components/AppDetails.vue"],names:[],mappings:"AAuNA,8BACC,YAAA,CAIC,8CAEC,YAAA,CACA,oDACC,aAAA,CACA,WAAA,CACA,sBAAA,CACA,kBAAA,CACA,eAAA,CAIH,4CACC,UAAA,CAED,6CACC,gBAAA,CAED,2CACC,gBAAA,CAIF,wBACC,wBAAA,CACA,+BAAA,CACA,uCAAA,CAED,6DAEC,kCAAA,CACA,0CAAA,CACA,6BAAA",sourcesContent:["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n.app-details {\n\tpadding: 20px;\n\n\t&__actions {\n\t\t// app management\n\t\t&-manage {\n\t\t\t// if too many, shrink them and ellipsis\n\t\t\tdisplay: flex;\n\t\t\tinput {\n\t\t\t\tflex: 0 1 auto;\n\t\t\t\tmin-width: 0;\n\t\t\t\ttext-overflow: ellipsis;\n\t\t\t\twhite-space: nowrap;\n\t\t\t\toverflow: hidden;\n\t\t\t}\n\t\t}\n\t}\n\t&__dependencies {\n\t\topacity: .7;\n\t}\n\t&__documentation {\n\t\tpadding-top: 20px;\n\t}\n\t&__description {\n\t\tpadding-top: 20px;\n\t}\n}\n\n.force {\n\tcolor: var(--color-error);\n\tborder-color: var(--color-error);\n\tbackground: var(--color-main-background);\n}\n.force:hover,\n.force:active {\n\tcolor: var(--color-main-background);\n\tborder-color: var(--color-error) !important;\n\tbackground: var(--color-error);\n}\n\n"],sourceRoot:""}]),n.Z=r},6578:function(t,n,e){var a=e(87537),i=e.n(a),s=e(23645),r=e.n(s)()(i());r.push([t.id,".settings-markdown[data-v-652eb552] h1,.settings-markdown[data-v-652eb552] h2,.settings-markdown[data-v-652eb552] h3,.settings-markdown[data-v-652eb552] h4,.settings-markdown[data-v-652eb552] h5,.settings-markdown[data-v-652eb552] h6{font-weight:600;line-height:120%;margin-top:24px;margin-bottom:12px;color:var(--color-main-text)}.settings-markdown[data-v-652eb552] h1{font-size:36px;margin-top:48px}.settings-markdown[data-v-652eb552] h2{font-size:28px;margin-top:48px}.settings-markdown[data-v-652eb552] h3{font-size:24px}.settings-markdown[data-v-652eb552] h4{font-size:21px}.settings-markdown[data-v-652eb552] h5{font-size:17px}.settings-markdown[data-v-652eb552] h6{font-size:var(--default-font-size)}.settings-markdown[data-v-652eb552] pre{white-space:pre;overflow-x:auto;background-color:var(--color-background-dark);border-radius:var(--border-radius);padding:1em 1.3em;margin-bottom:1em}.settings-markdown[data-v-652eb552] p code{background-color:var(--color-background-dark);border-radius:var(--border-radius);padding:.1em .3em}.settings-markdown[data-v-652eb552] li{position:relative}.settings-markdown[data-v-652eb552] ul,.settings-markdown[data-v-652eb552] ol{padding-left:10px;margin-left:10px}.settings-markdown[data-v-652eb552] ul li{list-style-type:disc}.settings-markdown[data-v-652eb552] ul>li>ul>li{list-style-type:circle}.settings-markdown[data-v-652eb552] ul>li>ul>li ul li{list-style-type:square}.settings-markdown[data-v-652eb552] blockquote{padding-left:1em;border-left:4px solid var(--color-primary-element);color:var(--color-text-maxcontrast);margin-left:0;margin-right:0}","",{version:3,sources:["webpack://./apps/settings/src/components/Markdown.vue"],names:[],mappings:"AAgHA,0OAMC,eAAA,CACA,gBAAA,CACA,eAAA,CACA,kBAAA,CACA,4BAAA,CAGD,uCACC,cAAA,CACA,eAAA,CAGD,uCACC,cAAA,CACA,eAAA,CAGD,uCACC,cAAA,CAGD,uCACC,cAAA,CAGD,uCACC,cAAA,CAGD,uCACC,kCAAA,CAGD,wCACC,eAAA,CACA,eAAA,CACA,6CAAA,CACA,kCAAA,CACA,iBAAA,CACA,iBAAA,CAGD,2CACC,6CAAA,CACA,kCAAA,CACA,iBAAA,CAGD,uCACC,iBAAA,CAGD,8EACC,iBAAA,CACA,gBAAA,CAGD,0CACC,oBAAA,CAGD,gDACC,sBAAA,CAGD,sDACC,sBAAA,CAGD,+CACC,gBAAA,CACA,kDAAA,CACA,mCAAA,CACA,aAAA,CACA,cAAA",sourcesContent:["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n.settings-markdown::v-deep {\n\nh1,\nh2,\nh3,\nh4,\nh5,\nh6 {\n\tfont-weight: 600;\n\tline-height: 120%;\n\tmargin-top: 24px;\n\tmargin-bottom: 12px;\n\tcolor: var(--color-main-text);\n}\n\nh1 {\n\tfont-size: 36px;\n\tmargin-top: 48px;\n}\n\nh2 {\n\tfont-size: 28px;\n\tmargin-top: 48px;\n}\n\nh3 {\n\tfont-size: 24px;\n}\n\nh4 {\n\tfont-size: 21px;\n}\n\nh5 {\n\tfont-size: 17px;\n}\n\nh6 {\n\tfont-size: var(--default-font-size);\n}\n\npre {\n\twhite-space: pre;\n\toverflow-x: auto;\n\tbackground-color: var(--color-background-dark);\n\tborder-radius: var(--border-radius);\n\tpadding: 1em 1.3em;\n\tmargin-bottom: 1em;\n}\n\np code {\n\tbackground-color: var(--color-background-dark);\n\tborder-radius: var(--border-radius);\n\tpadding: .1em .3em;\n}\n\nli {\n\tposition: relative;\n}\n\nul, ol {\n\tpadding-left: 10px;\n\tmargin-left: 10px;\n}\n\nul li {\n\tlist-style-type: disc;\n}\n\nul > li > ul > li {\n\tlist-style-type: circle;\n}\n\nul > li > ul > li ul li {\n\tlist-style-type: square;\n}\n\nblockquote {\n\tpadding-left: 1em;\n\tborder-left: 4px solid var(--color-primary-element);\n\tcolor: var(--color-text-maxcontrast);\n\tmargin-left: 0;\n\tmargin-right: 0;\n}\n\n}\n"],sourceRoot:""}]),n.Z=r},51836:function(t,n,e){var a=e(87537),i=e.n(a),s=e(23645),r=e.n(s)()(i());r.push([t.id,".app-sidebar[data-v-51f61796]:not(.app-sidebar--without-background) :not(.app-sidebar-header--compact) .app-sidebar-header__figure{background-size:cover}.app-sidebar[data-v-51f61796]:not(.app-sidebar--without-background) .app-sidebar-header--compact .app-sidebar-header__figure{background-size:32px;filter:invert(1)}.app-sidebar[data-v-51f61796] .app-sidebar-header__description .app-version{padding-left:10px}.app-sidebar[data-v-51f61796].app-sidebar--without-background .app-sidebar-header__figure{display:flex;align-items:center;justify-content:center}.app-sidebar[data-v-51f61796].app-sidebar--without-background .app-sidebar-header__figure--default-app-icon{width:32px;height:32px;background-size:32px}.app-sidebar[data-v-51f61796] .app-sidebar-header__desc .app-sidebar-header__subtitle{overflow:visible !important;height:auto;white-space:normal !important;line-height:16px}.app-sidebar[data-v-51f61796] .app-sidebar-header__action{margin:0 20px}.app-sidebar[data-v-51f61796] .app-sidebar-header__action input{margin:3px}.app-navigation[data-v-51f61796] button.app-navigation-toggle{top:8px;right:-8px}.app-sidebar-tabs__release h2[data-v-51f61796]{border-bottom:1px solid var(--color-border)}.app-sidebar-tabs__release[data-v-51f61796] h3{font-size:20px}.app-sidebar-tabs__release[data-v-51f61796] h4{font-size:17px}","",{version:3,sources:["webpack://./apps/settings/src/views/Apps.vue"],names:[],mappings:"AA2TE,mIACC,qBAAA,CAGD,6HACC,oBAAA,CAEA,gBAAA,CAKD,4EACC,iBAAA,CAMD,0FACC,YAAA,CACA,kBAAA,CACA,sBAAA,CACA,4GACC,UAAA,CACA,WAAA,CACA,oBAAA,CAQF,sFACC,2BAAA,CACA,WAAA,CACA,6BAAA,CACA,gBAAA,CAIF,0DAEC,aAAA,CACA,gEACC,UAAA,CAMH,8DACC,OAAA,CACA,UAAA,CAIA,+CACC,2CAAA,CAKA,gDACC,cAAA,CAED,gDACC,cAAA",sourcesContent:["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n.app-sidebar::v-deep {\n\t&:not(.app-sidebar--without-background) {\n\t\t// with full screenshot, let's fill the figure\n\t\t:not(.app-sidebar-header--compact) .app-sidebar-header__figure {\n\t\t\tbackground-size: cover;\n\t\t}\n\t\t// revert sidebar app icon so it is black\n\t\t.app-sidebar-header--compact .app-sidebar-header__figure {\n\t\t\tbackground-size: 32px;\n\n\t\t\tfilter: invert(1);\n\t\t}\n\t}\n\n\t.app-sidebar-header__description {\n\t\t.app-version {\n\t\t\tpadding-left: 10px;\n\t\t}\n\t}\n\n\t// default icon slot styling\n\t&.app-sidebar--without-background {\n\t\t.app-sidebar-header__figure {\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\t\t\tjustify-content: center;\n\t\t\t&--default-app-icon {\n\t\t\t\twidth: 32px;\n\t\t\t\theight: 32px;\n\t\t\t\tbackground-size: 32px;\n\t\t\t}\n\t\t}\n\t}\n\n\t// TODO: migrate to components\n\t.app-sidebar-header__desc {\n\t\t// allow multi line subtitle for the license\n\t\t.app-sidebar-header__subtitle {\n\t\t\toverflow: visible !important;\n\t\t\theight: auto;\n\t\t\twhite-space: normal !important;\n\t\t\tline-height: 16px;\n\t\t}\n\t}\n\n\t.app-sidebar-header__action {\n\t\t// align with tab content\n\t\tmargin: 0 20px;\n\t\tinput {\n\t\t\tmargin: 3px;\n\t\t}\n\t}\n}\n\n// Align the appNavigation toggle with the apps header toolbar\n.app-navigation::v-deep button.app-navigation-toggle {\n\ttop: 8px;\n\tright: -8px;\n}\n\n.app-sidebar-tabs__release {\n\th2 {\n\t\tborder-bottom: 1px solid var(--color-border);\n\t}\n\n\t// Overwrite changelog heading styles\n\t::v-deep {\n\t\th3 {\n\t\t\tfont-size: 20px;\n\t\t}\n\t\th4 {\n\t\t\tfont-size: 17px;\n\t\t}\n\t}\n}\n"],sourceRoot:""}]),n.Z=r},9957:function(t,n,e){var a=e(87537),i=e.n(a),s=e(23645),r=e.n(s)()(i());r.push([t.id,"\n.app-icon[data-v-737119e2] {\n\tfilter: var(--background-invert-if-bright);\n}\n.actions[data-v-737119e2] {\n\tdisplay: flex !important;\n\tgap: 8px;\n\tflex-wrap: wrap;\n\tjustify-content: end;\n}\n","",{version:3,sources:["webpack://./apps/settings/src/components/AppList/AppItem.vue"],names:[],mappings:";AAmLA;CACA,0CAAA;AACA;AACA;CACA,wBAAA;CACA,QAAA;CACA,eAAA;CACA,oBAAA;AACA",sourcesContent:['\x3c!--\n - @copyright Copyright (c) 2018 Julius Härtl \n -\n - @author Julius Härtl \n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see .\n -\n --\x3e\n\n\n\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('NcContent',{class:{ 'with-app-sidebar': _vm.app},attrs:{\"app-name\":\"settings\",\"content-class\":{ 'icon-loading': _vm.loadingList },\"navigation-class\":{ 'icon-loading': _vm.loading }}},[_c('NcAppNavigation',{scopedSlots:_vm._u([{key:\"list\",fn:function(){return [_c('NcAppNavigationItem',{attrs:{\"id\":\"app-category-your-apps\",\"to\":{ name: 'apps' },\"exact\":true,\"icon\":\"icon-category-installed\",\"title\":_vm.t('settings', 'Your apps')}}),_vm._v(\" \"),_c('NcAppNavigationItem',{attrs:{\"id\":\"app-category-enabled\",\"to\":{ name: 'apps-category', params: { category: 'enabled' } },\"icon\":\"icon-category-enabled\",\"title\":_vm.t('settings', 'Active apps')}}),_vm._v(\" \"),_c('NcAppNavigationItem',{attrs:{\"id\":\"app-category-disabled\",\"to\":{ name: 'apps-category', params: { category: 'disabled' } },\"icon\":\"icon-category-disabled\",\"title\":_vm.t('settings', 'Disabled apps')}}),_vm._v(\" \"),(_vm.updateCount > 0)?_c('NcAppNavigationItem',{attrs:{\"id\":\"app-category-updates\",\"to\":{ name: 'apps-category', params: { category: 'updates' } },\"icon\":\"icon-download\",\"title\":_vm.t('settings', 'Updates')}},[_c('NcAppNavigationCounter',{attrs:{\"slot\":\"counter\"},slot:\"counter\"},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.updateCount)+\"\\n\\t\\t\\t\\t\")])],1):_vm._e(),_vm._v(\" \"),_c('NcAppNavigationItem',{attrs:{\"id\":\"app-category-your-bundles\",\"to\":{ name: 'apps-category', params: { category: 'app-bundles' } },\"icon\":\"icon-category-app-bundles\",\"title\":_vm.t('settings', 'App bundles')}}),_vm._v(\" \"),_c('NcAppNavigationSpacer'),_vm._v(\" \"),(_vm.settings.appstoreEnabled)?[_c('NcAppNavigationItem',{attrs:{\"id\":\"app-category-featured\",\"to\":{ name: 'apps-category', params: { category: 'featured' } },\"icon\":\"icon-favorite\",\"title\":_vm.t('settings', 'Featured apps')}}),_vm._v(\" \"),_vm._l((_vm.categories),function(cat){return _c('NcAppNavigationItem',{key:'icon-category-' + cat.ident,attrs:{\"icon\":'icon-category-' + cat.ident,\"to\":{\n\t\t\t\t\t\tname: 'apps-category',\n\t\t\t\t\t\tparams: { category: cat.ident },\n\t\t\t\t\t},\"title\":cat.displayName}})})]:_vm._e(),_vm._v(\" \"),_c('NcAppNavigationItem',{attrs:{\"id\":\"app-developer-docs\",\"title\":_vm.t('settings', 'Developer documentation') + ' ↗'},on:{\"click\":_vm.openDeveloperDocumentation}})]},proxy:true}])}),_vm._v(\" \"),_c('NcAppContent',{staticClass:\"app-settings-content\",class:{ 'icon-loading': _vm.loadingList }},[_c('AppList',{attrs:{\"category\":_vm.category,\"app\":_vm.app,\"search\":_vm.searchQuery}})],1),_vm._v(\" \"),(_vm.id && _vm.app)?_c('NcAppSidebar',_vm._b({class:{'app-sidebar--without-background': !_vm.appSidebar.background},on:{\"close\":_vm.hideAppDetails},scopedSlots:_vm._u([(!_vm.appSidebar.background)?{key:\"header\",fn:function(){return [_c('div',{staticClass:\"app-sidebar-header__figure--default-app-icon icon-settings-dark\"})]},proxy:true}:null,{key:\"description\",fn:function(){return [(_vm.app.level === 300 || _vm.app.level === 200 || _vm.hasRating)?_c('div',{staticClass:\"app-level\"},[(_vm.app.level === 300)?_c('span',{directives:[{name:\"tooltip\",rawName:\"v-tooltip.auto\",value:(_vm.t('settings', 'This app is supported via your current Nextcloud subscription.')),expression:\"t('settings', 'This app is supported via your current Nextcloud subscription.')\",modifiers:{\"auto\":true}}],staticClass:\"supported icon-checkmark-color\"},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Supported')))]):_vm._e(),_vm._v(\" \"),(_vm.app.level === 200)?_c('span',{directives:[{name:\"tooltip\",rawName:\"v-tooltip.auto\",value:(_vm.t('settings', 'Featured apps are developed by and within the community. They offer central functionality and are ready for production use.')),expression:\"t('settings', 'Featured apps are developed by and within the community. They offer central functionality and are ready for production use.')\",modifiers:{\"auto\":true}}],staticClass:\"official icon-checkmark\"},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Featured')))]):_vm._e(),_vm._v(\" \"),(_vm.hasRating)?_c('AppScore',{attrs:{\"score\":_vm.app.appstoreData.ratingOverall}}):_vm._e()],1):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"app-version\"},[_c('p',[_vm._v(_vm._s(_vm.app.version))])])]},proxy:true}],null,true)},'NcAppSidebar',_vm.appSidebar,false),[_vm._v(\" \"),_vm._v(\" \"),_c('NcAppSidebarTab',{attrs:{\"id\":\"desc\",\"icon\":\"icon-category-office\",\"name\":_vm.t('settings', 'Details'),\"order\":0}},[_c('AppDetails',{attrs:{\"app\":_vm.app}})],1),_vm._v(\" \"),(_vm.app.appstoreData && _vm.app.releases[0].translations.en.changelog)?_c('NcAppSidebarTab',{attrs:{\"id\":\"desca\",\"icon\":\"icon-category-organization\",\"name\":_vm.t('settings', 'Changelog'),\"order\":1}},_vm._l((_vm.app.releases),function(release){return _c('div',{key:release.version,staticClass:\"app-sidebar-tabs__release\"},[_c('h2',[_vm._v(_vm._s(release.version))]),_vm._v(\" \"),(_vm.changelog(release))?_c('Markdown',{attrs:{\"text\":_vm.changelog(release)}}):_vm._e()],1)}),0):_vm._e()],1):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppScore.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppScore.vue?vue&type=script&lang=js&\"","\n\n\n\n","import { render, staticRenderFns } from \"./AppScore.vue?vue&type=template&id=3b3081d1&\"\nimport script from \"./AppScore.vue?vue&type=script&lang=js&\"\nexport * from \"./AppScore.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('img',{staticClass:\"app-score-image\",attrs:{\"src\":_vm.scoreImage}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import axios from '@nextcloud/axios'\nimport { generateOcsUrl } from '@nextcloud/router'\nimport { emit } from '@nextcloud/event-bus'\n\nexport default () => {\n\treturn axios.get(generateOcsUrl('core/navigation', 2) + '/apps?format=json')\n\t\t.then(({ data }) => {\n\t\t\tif (data.ocs.meta.statuscode !== 200) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\temit('nextcloud:app-menu.refresh', { apps: data.ocs.data })\n\t\t\twindow.dispatchEvent(new Event('resize'))\n\t\t})\n}\n","/**\n * @copyright Copyright (c) 2019 Julius Härtl \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport { showError } from '@nextcloud/dialogs'\nimport rebuildNavigation from '../service/rebuild-navigation.js'\n\nexport default {\n\tcomputed: {\n\t\tappGroups() {\n\t\t\treturn this.app.groups.map(group => { return { id: group, name: group } })\n\t\t},\n\t\tinstalling() {\n\t\t\treturn this.$store.getters.loading('install')\n\t\t},\n\t\tisLoading() {\n\t\t\treturn this.app && this.$store.getters.loading(this.app.id)\n\t\t},\n\t\tenableButtonText() {\n\t\t\tif (this.app.needsDownload) {\n\t\t\t\treturn t('settings', 'Download and enable')\n\t\t\t}\n\t\t\treturn t('settings', 'Enable')\n\t\t},\n\t\tforceEnableButtonText() {\n\t\t\tif (this.app.needsDownload) {\n\t\t\t\treturn t('settings', 'Enable untested app')\n\t\t\t}\n\t\t\treturn t('settings', 'Enable untested app')\n\t\t},\n\t\tenableButtonTooltip() {\n\t\t\tif (this.app.needsDownload) {\n\t\t\t\treturn t('settings', 'The app will be downloaded from the App Store')\n\t\t\t}\n\t\t\treturn false\n\t\t},\n\t\tforceEnableButtonTooltip() {\n\t\t\tconst base = t('settings', 'This app is not marked as compatible with your Nextcloud version. If you continue you will still be able to install the app. Note that the app might not work as expected.')\n\t\t\tif (this.app.needsDownload) {\n\t\t\t\treturn base + ' ' + t('settings', 'The app will be downloaded from the App Store')\n\t\t\t}\n\t\t\treturn base\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tgroupCheckedAppsData: false,\n\t\t}\n\t},\n\n\tmounted() {\n\t\tif (this.app && this.app.groups && this.app.groups.length > 0) {\n\t\t\tthis.groupCheckedAppsData = true\n\t\t}\n\t},\n\n\tmethods: {\n\t\tasyncFindGroup(query) {\n\t\t\treturn this.$store.dispatch('getGroups', { search: query, limit: 5, offset: 0 })\n\t\t},\n\t\tisLimitedToGroups(app) {\n\t\t\tif (this.app.groups.length || this.groupCheckedAppsData) {\n\t\t\t\treturn true\n\t\t\t}\n\t\t\treturn false\n\t\t},\n\t\tsetGroupLimit() {\n\t\t\tif (!this.groupCheckedAppsData) {\n\t\t\t\tthis.$store.dispatch('enableApp', { appId: this.app.id, groups: [] })\n\t\t\t}\n\t\t},\n\t\tcanLimitToGroups(app) {\n\t\t\tif ((app.types && app.types.includes('filesystem'))\n\t\t\t\t\t|| app.types.includes('prelogin')\n\t\t\t\t\t|| app.types.includes('authentication')\n\t\t\t\t\t|| app.types.includes('logging')\n\t\t\t\t\t|| app.types.includes('prevent_group_restriction')) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t\treturn true\n\t\t},\n\t\taddGroupLimitation(group) {\n\t\t\tconst groups = this.app.groups.concat([]).concat([group.id])\n\t\t\tthis.$store.dispatch('enableApp', { appId: this.app.id, groups })\n\t\t},\n\t\tremoveGroupLimitation(group) {\n\t\t\tconst currentGroups = this.app.groups.concat([])\n\t\t\tconst index = currentGroups.indexOf(group.id)\n\t\t\tif (index > -1) {\n\t\t\t\tcurrentGroups.splice(index, 1)\n\t\t\t}\n\t\t\tthis.$store.dispatch('enableApp', { appId: this.app.id, groups: currentGroups })\n\t\t},\n\t\tforceEnable(appId) {\n\t\t\tthis.$store.dispatch('forceEnableApp', { appId, groups: [] })\n\t\t\t\t.then((response) => { rebuildNavigation() })\n\t\t\t\t.catch((error) => { showError(error) })\n\t\t},\n\t\tenable(appId) {\n\t\t\tthis.$store.dispatch('enableApp', { appId, groups: [] })\n\t\t\t\t.then((response) => { rebuildNavigation() })\n\t\t\t\t.catch((error) => { showError(error) })\n\t\t},\n\t\tdisable(appId) {\n\t\t\tthis.$store.dispatch('disableApp', { appId })\n\t\t\t\t.then((response) => { rebuildNavigation() })\n\t\t\t\t.catch((error) => { showError(error) })\n\t\t},\n\t\tremove(appId) {\n\t\t\tthis.$store.dispatch('uninstallApp', { appId })\n\t\t\t\t.then((response) => { rebuildNavigation() })\n\t\t\t\t.catch((error) => { showError(error) })\n\t\t},\n\t\tinstall(appId) {\n\t\t\tthis.$store.dispatch('enableApp', { appId })\n\t\t\t\t.then((response) => { rebuildNavigation() })\n\t\t\t\t.catch((error) => { showError(error) })\n\t\t},\n\t\tupdate(appId) {\n\t\t\tthis.$store.dispatch('updateApp', { appId })\n\t\t\t\t.then((response) => { rebuildNavigation() })\n\t\t\t\t.catch((error) => { showError(error) })\n\t\t},\n\t},\n}\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SvgFilterMixin.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SvgFilterMixin.vue?vue&type=script&lang=js&\"","\n\n\n","var render, staticRenderFns\nimport script from \"./SvgFilterMixin.vue?vue&type=script&lang=js&\"\nexport * from \"./SvgFilterMixin.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppItem.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppItem.vue?vue&type=script&lang=js&\"","\n import API from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppItem.vue?vue&type=style&index=0&id=737119e2&scoped=true&lang=css&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppItem.vue?vue&type=style&index=0&id=737119e2&scoped=true&lang=css&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./AppItem.vue?vue&type=template&id=737119e2&scoped=true&\"\nimport script from \"./AppItem.vue?vue&type=script&lang=js&\"\nexport * from \"./AppItem.vue?vue&type=script&lang=js&\"\nimport style0 from \"./AppItem.vue?vue&type=style&index=0&id=737119e2&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"737119e2\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"section\",class:{ selected: _vm.isSelected },on:{\"click\":_vm.showAppDetails}},[_c('div',{staticClass:\"app-image app-image-icon\",on:{\"click\":_vm.showAppDetails}},[((_vm.listView && !_vm.app.preview) || (!_vm.listView && !_vm.screenshotLoaded))?_c('div',{staticClass:\"icon-settings-dark\"}):(_vm.listView && _vm.app.preview)?_c('svg',{attrs:{\"width\":\"32\",\"height\":\"32\",\"viewBox\":\"0 0 32 32\"}},[_c('image',{staticClass:\"app-icon\",attrs:{\"x\":\"0\",\"y\":\"0\",\"width\":\"32\",\"height\":\"32\",\"preserveAspectRatio\":\"xMinYMin meet\",\"xlink:href\":_vm.app.preview}})]):_vm._e(),_vm._v(\" \"),(!_vm.listView && _vm.app.screenshot && _vm.screenshotLoaded)?_c('img',{attrs:{\"src\":_vm.app.screenshot,\"width\":\"100%\"}}):_vm._e()]),_vm._v(\" \"),_c('div',{staticClass:\"app-name\",on:{\"click\":_vm.showAppDetails}},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.app.name)+\"\\n\\t\")]),_vm._v(\" \"),(!_vm.listView)?_c('div',{staticClass:\"app-summary\"},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.app.summary)+\"\\n\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.listView)?_c('div',{staticClass:\"app-version\"},[(_vm.app.version)?_c('span',[_vm._v(_vm._s(_vm.app.version))]):(_vm.app.appstoreData.releases[0].version)?_c('span',[_vm._v(_vm._s(_vm.app.appstoreData.releases[0].version))]):_vm._e()]):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"app-level\"},[(_vm.app.level === 300)?_c('span',{directives:[{name:\"tooltip\",rawName:\"v-tooltip.auto\",value:(_vm.t('settings', 'This app is supported via your current Nextcloud subscription.')),expression:\"t('settings', 'This app is supported via your current Nextcloud subscription.')\",modifiers:{\"auto\":true}}],staticClass:\"supported icon-checkmark-color\"},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Supported')))]):_vm._e(),_vm._v(\" \"),(_vm.app.level === 200)?_c('span',{directives:[{name:\"tooltip\",rawName:\"v-tooltip.auto\",value:(_vm.t('settings', 'Featured apps are developed by and within the community. They offer central functionality and are ready for production use.')),expression:\"t('settings', 'Featured apps are developed by and within the community. They offer central functionality and are ready for production use.')\",modifiers:{\"auto\":true}}],staticClass:\"official icon-checkmark\"},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Featured')))]):_vm._e(),_vm._v(\" \"),(_vm.hasRating && !_vm.listView)?_c('AppScore',{attrs:{\"score\":_vm.app.score}}):_vm._e()],1),_vm._v(\" \"),_c('div',{staticClass:\"actions\"},[(_vm.app.error)?_c('div',{staticClass:\"warning\"},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.app.error)+\"\\n\\t\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.isLoading)?_c('div',{staticClass:\"icon icon-loading-small\"}):_vm._e(),_vm._v(\" \"),(_vm.app.update)?_c('NcButton',{attrs:{\"type\":\"primary\",\"disabled\":_vm.installing || _vm.isLoading},on:{\"click\":function($event){$event.stopPropagation();return _vm.update(_vm.app.id)}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Update to {update}', {update:_vm.app.update}))+\"\\n\\t\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.app.canUnInstall)?_c('NcButton',{staticClass:\"uninstall\",attrs:{\"type\":\"tertiary\",\"disabled\":_vm.installing || _vm.isLoading},on:{\"click\":function($event){$event.stopPropagation();return _vm.remove(_vm.app.id)}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Remove'))+\"\\n\\t\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.app.active)?_c('NcButton',{attrs:{\"disabled\":_vm.installing || _vm.isLoading},on:{\"click\":function($event){$event.stopPropagation();return _vm.disable(_vm.app.id)}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings','Disable'))+\"\\n\\t\\t\")]):_vm._e(),_vm._v(\" \"),(!_vm.app.active && (_vm.app.canInstall || _vm.app.isCompatible))?_c('NcButton',{directives:[{name:\"tooltip\",rawName:\"v-tooltip.auto\",value:(_vm.enableButtonTooltip),expression:\"enableButtonTooltip\",modifiers:{\"auto\":true}}],attrs:{\"type\":\"primary\",\"disabled\":!_vm.app.canInstall || _vm.installing || _vm.isLoading},on:{\"click\":function($event){$event.stopPropagation();return _vm.enable(_vm.app.id)}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.enableButtonText)+\"\\n\\t\\t\")]):(!_vm.app.active)?_c('NcButton',{directives:[{name:\"tooltip\",rawName:\"v-tooltip.auto\",value:(_vm.forceEnableButtonTooltip),expression:\"forceEnableButtonTooltip\",modifiers:{\"auto\":true}}],attrs:{\"type\":\"secondary\",\"disabled\":_vm.installing || _vm.isLoading},on:{\"click\":function($event){$event.stopPropagation();return _vm.forceEnable(_vm.app.id)}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.forceEnableButtonText)+\"\\n\\t\\t\")]):_vm._e()],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render, staticRenderFns\nimport script from \"./PrefixMixin.vue?vue&type=script&lang=js&\"\nexport * from \"./PrefixMixin.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppList.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppList.vue?vue&type=script&lang=js&\"","\n\n\n\n\n","import { render, staticRenderFns } from \"./AppList.vue?vue&type=template&id=049ecd42&\"\nimport script from \"./AppList.vue?vue&type=script&lang=js&\"\nexport * from \"./AppList.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"app-content-inner\"}},[_c('div',{staticClass:\"apps-list\",class:{installed: (_vm.useBundleView || _vm.useListView), store: _vm.useAppStoreView},attrs:{\"id\":\"apps-list\"}},[(_vm.useListView)?[(_vm.showUpdateAll)?_c('div',{staticClass:\"toolbar\"},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.n('settings', '%n app has an update available', '%n apps have an update available', _vm.counter))+\"\\n\\t\\t\\t\\t\"),(_vm.showUpdateAll)?_c('NcButton',{attrs:{\"id\":\"app-list-update-all\",\"type\":\"primary\"},on:{\"click\":_vm.updateAll}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.n('settings', 'Update', 'Update all', _vm.counter))+\"\\n\\t\\t\\t\\t\")]):_vm._e()],1):_vm._e(),_vm._v(\" \"),(!_vm.showUpdateAll)?_c('div',{staticClass:\"toolbar\"},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'All apps are up-to-date.'))+\"\\n\\t\\t\\t\")]):_vm._e(),_vm._v(\" \"),_c('transition-group',{staticClass:\"apps-list-container\",attrs:{\"name\":\"app-list\",\"tag\":\"div\"}},_vm._l((_vm.apps),function(app){return _c('AppItem',{key:app.id,attrs:{\"app\":app,\"category\":_vm.category}})}),1)]:_vm._e(),_vm._v(\" \"),(_vm.useBundleView)?_c('transition-group',{staticClass:\"apps-list-container\",attrs:{\"name\":\"app-list\",\"tag\":\"div\"}},[_vm._l((_vm.bundles),function(bundle){return [_c('div',{key:bundle.id,staticClass:\"apps-header\"},[_c('div',{staticClass:\"app-image\"}),_vm._v(\" \"),_c('h2',[_vm._v(_vm._s(bundle.name)+\" \"),_c('input',{attrs:{\"type\":\"button\",\"value\":_vm.bundleToggleText(bundle.id)},on:{\"click\":function($event){return _vm.toggleBundle(bundle.id)}}})]),_vm._v(\" \"),_c('div',{staticClass:\"app-version\"}),_vm._v(\" \"),_c('div',{staticClass:\"app-level\"}),_vm._v(\" \"),_c('div',{staticClass:\"app-groups\"}),_vm._v(\" \"),_c('div',{staticClass:\"actions\"},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t \\n\\t\\t\\t\\t\\t\")])]),_vm._v(\" \"),_vm._l((_vm.bundleApps(bundle.id)),function(app){return _c('AppItem',{key:bundle.id + app.id,attrs:{\"app\":app,\"category\":_vm.category}})})]})],2):_vm._e(),_vm._v(\" \"),(_vm.useAppStoreView)?_vm._l((_vm.apps),function(app){return _c('AppItem',{key:app.id,attrs:{\"app\":app,\"category\":_vm.category,\"list-view\":false}})}):_vm._e()],2),_vm._v(\" \"),_c('div',{staticClass:\"apps-list installed\",attrs:{\"id\":\"apps-list-search\"}},[_c('div',{staticClass:\"apps-list-container\"},[(_vm.search !== '' && _vm.searchApps.length > 0)?[_c('div',{staticClass:\"section\"},[_c('div'),_vm._v(\" \"),_c('td',{attrs:{\"colspan\":\"5\"}},[_c('h2',[_vm._v(_vm._s(_vm.t('settings', 'Results from other categories')))])])]),_vm._v(\" \"),_vm._l((_vm.searchApps),function(app){return _c('AppItem',{key:app.id,attrs:{\"app\":app,\"category\":_vm.category,\"list-view\":true}})})]:_vm._e()],2)]),_vm._v(\" \"),(_vm.search !== '' && !_vm.loading && _vm.searchApps.length === 0 && _vm.apps.length === 0)?_c('div',{staticClass:\"emptycontent emptycontent-search\",attrs:{\"id\":\"apps-list-empty\"}},[_c('div',{staticClass:\"icon-settings-dark\",attrs:{\"id\":\"app-list-empty-icon\"}}),_vm._v(\" \"),_c('h2',[_vm._v(_vm._s(_vm.t('settings', 'No apps found for your version')))])]):_vm._e(),_vm._v(\" \"),_c('div',{attrs:{\"id\":\"searchresults\"}})])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Markdown.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Markdown.vue?vue&type=script&lang=js&\"","\n\n\n\n\n\n\n","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Markdown.vue?vue&type=style&index=0&id=652eb552&scoped=true&lang=scss&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Markdown.vue?vue&type=style&index=0&id=652eb552&scoped=true&lang=scss&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./Markdown.vue?vue&type=template&id=652eb552&scoped=true&\"\nimport script from \"./Markdown.vue?vue&type=script&lang=js&\"\nexport * from \"./Markdown.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Markdown.vue?vue&type=style&index=0&id=652eb552&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"652eb552\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"settings-markdown\",domProps:{\"innerHTML\":_vm._s(_vm.renderMarkdown)}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppDetails.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppDetails.vue?vue&type=script&lang=js&\"","\n\n\n\n\n\n\n","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppDetails.vue?vue&type=style&index=0&id=43fb27d0&scoped=true&lang=scss&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppDetails.vue?vue&type=style&index=0&id=43fb27d0&scoped=true&lang=scss&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./AppDetails.vue?vue&type=template&id=43fb27d0&scoped=true&\"\nimport script from \"./AppDetails.vue?vue&type=script&lang=js&\"\nexport * from \"./AppDetails.vue?vue&type=script&lang=js&\"\nimport style0 from \"./AppDetails.vue?vue&type=style&index=0&id=43fb27d0&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"43fb27d0\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"app-details\"},[_c('div',{staticClass:\"app-details__actions\"},[(_vm.app.active && _vm.canLimitToGroups(_vm.app))?_c('div',{staticClass:\"app-details__actions-groups\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.groupCheckedAppsData),expression:\"groupCheckedAppsData\"}],staticClass:\"groups-enable__checkbox checkbox\",attrs:{\"id\":_vm.prefix('groups_enable', _vm.app.id),\"type\":\"checkbox\"},domProps:{\"value\":_vm.app.id,\"checked\":Array.isArray(_vm.groupCheckedAppsData)?_vm._i(_vm.groupCheckedAppsData,_vm.app.id)>-1:(_vm.groupCheckedAppsData)},on:{\"change\":[function($event){var $$a=_vm.groupCheckedAppsData,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=_vm.app.id,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.groupCheckedAppsData=$$a.concat([$$v]))}else{$$i>-1&&(_vm.groupCheckedAppsData=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.groupCheckedAppsData=$$c}},_vm.setGroupLimit]}}),_vm._v(\" \"),_c('label',{attrs:{\"for\":_vm.prefix('groups_enable', _vm.app.id)}},[_vm._v(_vm._s(_vm.t('settings', 'Limit to groups')))]),_vm._v(\" \"),_c('input',{staticClass:\"group_select\",attrs:{\"type\":\"hidden\",\"title\":_vm.t('settings', 'All'),\"value\":\"\"}}),_vm._v(\" \"),(_vm.isLimitedToGroups(_vm.app))?_c('NcMultiselect',{staticClass:\"multiselect-vue\",attrs:{\"options\":_vm.groups,\"value\":_vm.appGroups,\"options-limit\":5,\"placeholder\":_vm.t('settings', 'Limit app usage to groups'),\"label\":\"name\",\"track-by\":\"id\",\"multiple\":true,\"close-on-select\":false,\"tag-width\":60},on:{\"select\":_vm.addGroupLimitation,\"remove\":_vm.removeGroupLimitation,\"search-change\":_vm.asyncFindGroup}},[_c('span',{attrs:{\"slot\":\"noResult\"},slot:\"noResult\"},[_vm._v(_vm._s(_vm.t('settings', 'No results')))])]):_vm._e()],1):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"app-details__actions-manage\"},[(_vm.app.update)?_c('input',{staticClass:\"update primary\",attrs:{\"type\":\"button\",\"value\":_vm.t('settings', 'Update to {version}', { version: _vm.app.update }),\"disabled\":_vm.installing || _vm.isLoading},on:{\"click\":function($event){return _vm.update(_vm.app.id)}}}):_vm._e(),_vm._v(\" \"),(_vm.app.canUnInstall)?_c('input',{staticClass:\"uninstall\",attrs:{\"type\":\"button\",\"value\":_vm.t('settings', 'Remove'),\"disabled\":_vm.installing || _vm.isLoading},on:{\"click\":function($event){return _vm.remove(_vm.app.id)}}}):_vm._e(),_vm._v(\" \"),(_vm.app.active)?_c('input',{staticClass:\"enable\",attrs:{\"type\":\"button\",\"value\":_vm.t('settings','Disable'),\"disabled\":_vm.installing || _vm.isLoading},on:{\"click\":function($event){return _vm.disable(_vm.app.id)}}}):_vm._e(),_vm._v(\" \"),(!_vm.app.active && (_vm.app.canInstall || _vm.app.isCompatible))?_c('input',{directives:[{name:\"tooltip\",rawName:\"v-tooltip.auto\",value:(_vm.enableButtonTooltip),expression:\"enableButtonTooltip\",modifiers:{\"auto\":true}}],staticClass:\"enable primary\",attrs:{\"type\":\"button\",\"value\":_vm.enableButtonText,\"disabled\":!_vm.app.canInstall || _vm.installing || _vm.isLoading},on:{\"click\":function($event){return _vm.enable(_vm.app.id)}}}):(!_vm.app.active && !_vm.app.canInstall)?_c('input',{directives:[{name:\"tooltip\",rawName:\"v-tooltip.auto\",value:(_vm.forceEnableButtonTooltip),expression:\"forceEnableButtonTooltip\",modifiers:{\"auto\":true}}],staticClass:\"enable force\",attrs:{\"type\":\"button\",\"value\":_vm.forceEnableButtonText,\"disabled\":_vm.installing || _vm.isLoading},on:{\"click\":function($event){return _vm.forceEnable(_vm.app.id)}}}):_vm._e()])]),_vm._v(\" \"),_c('ul',{staticClass:\"app-details__dependencies\"},[(_vm.app.missingMinOwnCloudVersion)?_c('li',[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'This app has no minimum Nextcloud version assigned. This will be an error in the future.'))+\"\\n\\t\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.app.missingMaxOwnCloudVersion)?_c('li',[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'This app has no maximum Nextcloud version assigned. This will be an error in the future.'))+\"\\n\\t\\t\")]):_vm._e(),_vm._v(\" \"),(!_vm.app.canInstall)?_c('li',[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'This app cannot be installed because the following dependencies are not fulfilled:'))+\"\\n\\t\\t\\t\"),_c('ul',{staticClass:\"missing-dependencies\"},_vm._l((_vm.app.missingDependencies),function(dep,index){return _c('li',{key:index},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(dep)+\"\\n\\t\\t\\t\\t\")])}),0)]):_vm._e()]),_vm._v(\" \"),_c('p',{staticClass:\"app-details__documentation\"},[(!_vm.app.internal)?_c('a',{staticClass:\"appslink\",attrs:{\"href\":_vm.appstoreUrl,\"target\":\"_blank\",\"rel\":\"noreferrer noopener\"}},[_vm._v(_vm._s(_vm.t('settings', 'View in store'))+\" ↗\")]):_vm._e(),_vm._v(\" \"),(_vm.app.website)?_c('a',{staticClass:\"appslink\",attrs:{\"href\":_vm.app.website,\"target\":\"_blank\",\"rel\":\"noreferrer noopener\"}},[_vm._v(_vm._s(_vm.t('settings', 'Visit website'))+\" ↗\")]):_vm._e(),_vm._v(\" \"),(_vm.app.bugs)?_c('a',{staticClass:\"appslink\",attrs:{\"href\":_vm.app.bugs,\"target\":\"_blank\",\"rel\":\"noreferrer noopener\"}},[_vm._v(_vm._s(_vm.t('settings', 'Report a bug'))+\" ↗\")]):_vm._e(),_vm._v(\" \"),(_vm.app.documentation && _vm.app.documentation.user)?_c('a',{staticClass:\"appslink\",attrs:{\"href\":_vm.app.documentation.user,\"target\":\"_blank\",\"rel\":\"noreferrer noopener\"}},[_vm._v(_vm._s(_vm.t('settings', 'User documentation'))+\" ↗\")]):_vm._e(),_vm._v(\" \"),(_vm.app.documentation && _vm.app.documentation.admin)?_c('a',{staticClass:\"appslink\",attrs:{\"href\":_vm.app.documentation.admin,\"target\":\"_blank\",\"rel\":\"noreferrer noopener\"}},[_vm._v(_vm._s(_vm.t('settings', 'Admin documentation'))+\" ↗\")]):_vm._e(),_vm._v(\" \"),(_vm.app.documentation && _vm.app.documentation.developer)?_c('a',{staticClass:\"appslink\",attrs:{\"href\":_vm.app.documentation.developer,\"target\":\"_blank\",\"rel\":\"noreferrer noopener\"}},[_vm._v(_vm._s(_vm.t('settings', 'Developer documentation'))+\" ↗\")]):_vm._e()]),_vm._v(\" \"),_c('Markdown',{staticClass:\"app-details__description\",attrs:{\"text\":_vm.app.description}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Apps.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Apps.vue?vue&type=script&lang=js&\"","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Apps.vue?vue&type=style&index=0&id=51f61796&lang=scss&scoped=true&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Apps.vue?vue&type=style&index=0&id=51f61796&lang=scss&scoped=true&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./Apps.vue?vue&type=template&id=51f61796&scoped=true&\"\nimport script from \"./Apps.vue?vue&type=script&lang=js&\"\nexport * from \"./Apps.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Apps.vue?vue&type=style&index=0&id=51f61796&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"51f61796\",\n null\n \n)\n\nexport default component.exports"],"names":["___CSS_LOADER_EXPORT___","push","module","id","_vm","this","_h","$createElement","_self","_c","staticClass","attrs","scoreImage","axios","generateOcsUrl","then","data","ocs","meta","statuscode","emit","apps","window","dispatchEvent","Event","computed","appGroups","app","groups","map","group","name","installing","$store","getters","loading","isLoading","enableButtonText","needsDownload","t","forceEnableButtonText","enableButtonTooltip","forceEnableButtonTooltip","base","groupCheckedAppsData","mounted","length","methods","asyncFindGroup","query","dispatch","search","limit","offset","isLimitedToGroups","setGroupLimit","appId","canLimitToGroups","types","includes","addGroupLimitation","concat","removeGroupLimitation","currentGroups","index","indexOf","splice","forceEnable","response","rebuildNavigation","catch","error","showError","enable","disable","remove","install","update","options","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","class","selected","isSelected","on","showAppDetails","listView","preview","screenshotLoaded","_e","_v","screenshot","_s","summary","version","appstoreData","releases","level","directives","rawName","value","expression","modifiers","hasRating","score","$event","stopPropagation","active","canInstall","isCompatible","installed","useBundleView","useListView","store","useAppStoreView","n","counter","updateAll","showUpdateAll","_l","key","category","bundle","bundleToggleText","toggleBundle","bundleApps","searchApps","domProps","renderMarkdown","prefix","Array","isArray","_i","$$a","$$el","target","$$c","checked","$$v","$$i","slice","slot","dep","internal","appstoreUrl","website","bugs","documentation","user","admin","developer","description","loadingList","scopedSlots","_u","fn","params","updateCount","settings","cat","ident","displayName","openDeveloperDocumentation","proxy","searchQuery","_b","appSidebar","background","hideAppDetails","ratingOverall","translations","en","changelog","release"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"settings-apps-view-7418.js?v=e7c5bbd57f434a75cc99","mappings":"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","sources":["webpack:///nextcloud/apps/settings/src/components/AppDetails.vue?vue&type=style&index=0&id=43fb27d0&scoped=true&lang=scss&","webpack:///nextcloud/apps/settings/src/components/Markdown.vue?vue&type=style&index=0&id=652eb552&scoped=true&lang=scss&","webpack:///nextcloud/apps/settings/src/views/Apps.vue?vue&type=style&index=0&id=1ad530ae&lang=scss&scoped=true&","webpack:///nextcloud/apps/settings/src/components/AppList/AppItem.vue?vue&type=style&index=0&id=737119e2&scoped=true&lang=css&","webpack:///nextcloud/apps/settings/src/views/Apps.vue?vue&type=template&id=1ad530ae&scoped=true&","webpack:///nextcloud/apps/settings/src/components/AppList/AppScore.vue?vue&type=script&lang=js&","webpack:///nextcloud/apps/settings/src/components/AppList/AppScore.vue","webpack://nextcloud/./apps/settings/src/components/AppList/AppScore.vue?26fd","webpack:///nextcloud/apps/settings/src/components/AppList/AppScore.vue?vue&type=template&id=3b3081d1&","webpack:///nextcloud/apps/settings/src/service/rebuild-navigation.js","webpack:///nextcloud/apps/settings/src/mixins/AppManagement.js","webpack:///nextcloud/apps/settings/src/components/SvgFilterMixin.vue?vue&type=script&lang=js&","webpack:///nextcloud/apps/settings/src/components/SvgFilterMixin.vue","webpack://nextcloud/./apps/settings/src/components/SvgFilterMixin.vue?5bcd","webpack:///nextcloud/apps/settings/src/components/AppList/AppItem.vue","webpack:///nextcloud/apps/settings/src/components/AppList/AppItem.vue?vue&type=script&lang=js&","webpack://nextcloud/./apps/settings/src/components/AppList/AppItem.vue?98cf","webpack://nextcloud/./apps/settings/src/components/AppList/AppItem.vue?a9a1","webpack:///nextcloud/apps/settings/src/components/AppList/AppItem.vue?vue&type=template&id=737119e2&scoped=true&","webpack://nextcloud/./apps/settings/src/components/PrefixMixin.vue?c564","webpack:///nextcloud/apps/settings/src/components/PrefixMixin.vue","webpack:///nextcloud/apps/settings/src/components/AppList.vue?vue&type=script&lang=js&","webpack:///nextcloud/apps/settings/src/components/AppList.vue","webpack://nextcloud/./apps/settings/src/components/AppList.vue?8acf","webpack:///nextcloud/apps/settings/src/components/AppList.vue?vue&type=template&id=049ecd42&","webpack:///nextcloud/apps/settings/src/components/Markdown.vue?vue&type=script&lang=js&","webpack:///nextcloud/apps/settings/src/components/Markdown.vue","webpack://nextcloud/./apps/settings/src/components/Markdown.vue?1464","webpack://nextcloud/./apps/settings/src/components/Markdown.vue?26cf","webpack:///nextcloud/apps/settings/src/components/Markdown.vue?vue&type=template&id=652eb552&scoped=true&","webpack:///nextcloud/apps/settings/src/components/AppDetails.vue?vue&type=script&lang=js&","webpack:///nextcloud/apps/settings/src/components/AppDetails.vue","webpack://nextcloud/./apps/settings/src/components/AppDetails.vue?3b8e","webpack://nextcloud/./apps/settings/src/components/AppDetails.vue?2807","webpack:///nextcloud/apps/settings/src/components/AppDetails.vue?vue&type=template&id=43fb27d0&scoped=true&","webpack:///nextcloud/apps/settings/src/views/Apps.vue","webpack:///nextcloud/apps/settings/src/views/Apps.vue?vue&type=script&lang=js&","webpack://nextcloud/./apps/settings/src/views/Apps.vue?b8a8","webpack://nextcloud/./apps/settings/src/views/Apps.vue?7b97"],"sourcesContent":["// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".app-details[data-v-43fb27d0]{padding:20px}.app-details__actions-manage[data-v-43fb27d0]{display:flex}.app-details__actions-manage input[data-v-43fb27d0]{flex:0 1 auto;min-width:0;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.app-details__dependencies[data-v-43fb27d0]{opacity:.7}.app-details__documentation[data-v-43fb27d0]{padding-top:20px}.app-details__description[data-v-43fb27d0]{padding-top:20px}.force[data-v-43fb27d0]{color:var(--color-error);border-color:var(--color-error);background:var(--color-main-background)}.force[data-v-43fb27d0]:hover,.force[data-v-43fb27d0]:active{color:var(--color-main-background);border-color:var(--color-error) !important;background:var(--color-error)}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/AppDetails.vue\"],\"names\":[],\"mappings\":\"AAuNA,8BACC,YAAA,CAIC,8CAEC,YAAA,CACA,oDACC,aAAA,CACA,WAAA,CACA,sBAAA,CACA,kBAAA,CACA,eAAA,CAIH,4CACC,UAAA,CAED,6CACC,gBAAA,CAED,2CACC,gBAAA,CAIF,wBACC,wBAAA,CACA,+BAAA,CACA,uCAAA,CAED,6DAEC,kCAAA,CACA,0CAAA,CACA,6BAAA\",\"sourcesContent\":[\"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.app-details {\\n\\tpadding: 20px;\\n\\n\\t&__actions {\\n\\t\\t// app management\\n\\t\\t&-manage {\\n\\t\\t\\t// if too many, shrink them and ellipsis\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tinput {\\n\\t\\t\\t\\tflex: 0 1 auto;\\n\\t\\t\\t\\tmin-width: 0;\\n\\t\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\t\\toverflow: hidden;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\t&__dependencies {\\n\\t\\topacity: .7;\\n\\t}\\n\\t&__documentation {\\n\\t\\tpadding-top: 20px;\\n\\t}\\n\\t&__description {\\n\\t\\tpadding-top: 20px;\\n\\t}\\n}\\n\\n.force {\\n\\tcolor: var(--color-error);\\n\\tborder-color: var(--color-error);\\n\\tbackground: var(--color-main-background);\\n}\\n.force:hover,\\n.force:active {\\n\\tcolor: var(--color-main-background);\\n\\tborder-color: var(--color-error) !important;\\n\\tbackground: var(--color-error);\\n}\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".settings-markdown[data-v-652eb552] h1,.settings-markdown[data-v-652eb552] h2,.settings-markdown[data-v-652eb552] h3,.settings-markdown[data-v-652eb552] h4,.settings-markdown[data-v-652eb552] h5,.settings-markdown[data-v-652eb552] h6{font-weight:600;line-height:120%;margin-top:24px;margin-bottom:12px;color:var(--color-main-text)}.settings-markdown[data-v-652eb552] h1{font-size:36px;margin-top:48px}.settings-markdown[data-v-652eb552] h2{font-size:28px;margin-top:48px}.settings-markdown[data-v-652eb552] h3{font-size:24px}.settings-markdown[data-v-652eb552] h4{font-size:21px}.settings-markdown[data-v-652eb552] h5{font-size:17px}.settings-markdown[data-v-652eb552] h6{font-size:var(--default-font-size)}.settings-markdown[data-v-652eb552] pre{white-space:pre;overflow-x:auto;background-color:var(--color-background-dark);border-radius:var(--border-radius);padding:1em 1.3em;margin-bottom:1em}.settings-markdown[data-v-652eb552] p code{background-color:var(--color-background-dark);border-radius:var(--border-radius);padding:.1em .3em}.settings-markdown[data-v-652eb552] li{position:relative}.settings-markdown[data-v-652eb552] ul,.settings-markdown[data-v-652eb552] ol{padding-left:10px;margin-left:10px}.settings-markdown[data-v-652eb552] ul li{list-style-type:disc}.settings-markdown[data-v-652eb552] ul>li>ul>li{list-style-type:circle}.settings-markdown[data-v-652eb552] ul>li>ul>li ul li{list-style-type:square}.settings-markdown[data-v-652eb552] blockquote{padding-left:1em;border-left:4px solid var(--color-primary-element);color:var(--color-text-maxcontrast);margin-left:0;margin-right:0}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/Markdown.vue\"],\"names\":[],\"mappings\":\"AAgHA,0OAMC,eAAA,CACA,gBAAA,CACA,eAAA,CACA,kBAAA,CACA,4BAAA,CAGD,uCACC,cAAA,CACA,eAAA,CAGD,uCACC,cAAA,CACA,eAAA,CAGD,uCACC,cAAA,CAGD,uCACC,cAAA,CAGD,uCACC,cAAA,CAGD,uCACC,kCAAA,CAGD,wCACC,eAAA,CACA,eAAA,CACA,6CAAA,CACA,kCAAA,CACA,iBAAA,CACA,iBAAA,CAGD,2CACC,6CAAA,CACA,kCAAA,CACA,iBAAA,CAGD,uCACC,iBAAA,CAGD,8EACC,iBAAA,CACA,gBAAA,CAGD,0CACC,oBAAA,CAGD,gDACC,sBAAA,CAGD,sDACC,sBAAA,CAGD,+CACC,gBAAA,CACA,kDAAA,CACA,mCAAA,CACA,aAAA,CACA,cAAA\",\"sourcesContent\":[\"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.settings-markdown::v-deep {\\n\\nh1,\\nh2,\\nh3,\\nh4,\\nh5,\\nh6 {\\n\\tfont-weight: 600;\\n\\tline-height: 120%;\\n\\tmargin-top: 24px;\\n\\tmargin-bottom: 12px;\\n\\tcolor: var(--color-main-text);\\n}\\n\\nh1 {\\n\\tfont-size: 36px;\\n\\tmargin-top: 48px;\\n}\\n\\nh2 {\\n\\tfont-size: 28px;\\n\\tmargin-top: 48px;\\n}\\n\\nh3 {\\n\\tfont-size: 24px;\\n}\\n\\nh4 {\\n\\tfont-size: 21px;\\n}\\n\\nh5 {\\n\\tfont-size: 17px;\\n}\\n\\nh6 {\\n\\tfont-size: var(--default-font-size);\\n}\\n\\npre {\\n\\twhite-space: pre;\\n\\toverflow-x: auto;\\n\\tbackground-color: var(--color-background-dark);\\n\\tborder-radius: var(--border-radius);\\n\\tpadding: 1em 1.3em;\\n\\tmargin-bottom: 1em;\\n}\\n\\np code {\\n\\tbackground-color: var(--color-background-dark);\\n\\tborder-radius: var(--border-radius);\\n\\tpadding: .1em .3em;\\n}\\n\\nli {\\n\\tposition: relative;\\n}\\n\\nul, ol {\\n\\tpadding-left: 10px;\\n\\tmargin-left: 10px;\\n}\\n\\nul li {\\n\\tlist-style-type: disc;\\n}\\n\\nul > li > ul > li {\\n\\tlist-style-type: circle;\\n}\\n\\nul > li > ul > li ul li {\\n\\tlist-style-type: square;\\n}\\n\\nblockquote {\\n\\tpadding-left: 1em;\\n\\tborder-left: 4px solid var(--color-primary-element);\\n\\tcolor: var(--color-text-maxcontrast);\\n\\tmargin-left: 0;\\n\\tmargin-right: 0;\\n}\\n\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".app-sidebar[data-v-1ad530ae]:not(.app-sidebar--without-background) :not(.app-sidebar-header--compact) .app-sidebar-header__figure{background-size:cover}.app-sidebar[data-v-1ad530ae]:not(.app-sidebar--without-background) .app-sidebar-header--compact .app-sidebar-header__figure{background-size:32px;filter:var(--background-invert-if-bright)}.app-sidebar[data-v-1ad530ae] .app-sidebar-header__description .app-version{padding-left:10px}.app-sidebar[data-v-1ad530ae].app-sidebar--without-background .app-sidebar-header__figure{display:flex;align-items:center;justify-content:center}.app-sidebar[data-v-1ad530ae].app-sidebar--without-background .app-sidebar-header__figure--default-app-icon{width:32px;height:32px;background-size:32px}.app-sidebar[data-v-1ad530ae] .app-sidebar-header__desc .app-sidebar-header__subtitle{overflow:visible !important;height:auto;white-space:normal !important;line-height:16px}.app-sidebar[data-v-1ad530ae] .app-sidebar-header__action{margin:0 20px}.app-sidebar[data-v-1ad530ae] .app-sidebar-header__action input{margin:3px}.app-navigation[data-v-1ad530ae] button.app-navigation-toggle{top:8px;right:-8px}.app-sidebar-tabs__release h2[data-v-1ad530ae]{border-bottom:1px solid var(--color-border)}.app-sidebar-tabs__release[data-v-1ad530ae] h3{font-size:20px}.app-sidebar-tabs__release[data-v-1ad530ae] h4{font-size:17px}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/views/Apps.vue\"],\"names\":[],\"mappings\":\"AA2TE,mIACC,qBAAA,CAGD,6HACC,oBAAA,CAEA,yCAAA,CAKD,4EACC,iBAAA,CAMD,0FACC,YAAA,CACA,kBAAA,CACA,sBAAA,CACA,4GACC,UAAA,CACA,WAAA,CACA,oBAAA,CAQF,sFACC,2BAAA,CACA,WAAA,CACA,6BAAA,CACA,gBAAA,CAIF,0DAEC,aAAA,CACA,gEACC,UAAA,CAMH,8DACC,OAAA,CACA,UAAA,CAIA,+CACC,2CAAA,CAKA,gDACC,cAAA,CAED,gDACC,cAAA\",\"sourcesContent\":[\"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.app-sidebar::v-deep {\\n\\t&:not(.app-sidebar--without-background) {\\n\\t\\t// with full screenshot, let's fill the figure\\n\\t\\t:not(.app-sidebar-header--compact) .app-sidebar-header__figure {\\n\\t\\t\\tbackground-size: cover;\\n\\t\\t}\\n\\t\\t// revert sidebar app icon so it is black\\n\\t\\t.app-sidebar-header--compact .app-sidebar-header__figure {\\n\\t\\t\\tbackground-size: 32px;\\n\\n\\t\\t\\tfilter: var(--background-invert-if-bright);\\n\\t\\t}\\n\\t}\\n\\n\\t.app-sidebar-header__description {\\n\\t\\t.app-version {\\n\\t\\t\\tpadding-left: 10px;\\n\\t\\t}\\n\\t}\\n\\n\\t// default icon slot styling\\n\\t&.app-sidebar--without-background {\\n\\t\\t.app-sidebar-header__figure {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tjustify-content: center;\\n\\t\\t\\t&--default-app-icon {\\n\\t\\t\\t\\twidth: 32px;\\n\\t\\t\\t\\theight: 32px;\\n\\t\\t\\t\\tbackground-size: 32px;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t// TODO: migrate to components\\n\\t.app-sidebar-header__desc {\\n\\t\\t// allow multi line subtitle for the license\\n\\t\\t.app-sidebar-header__subtitle {\\n\\t\\t\\toverflow: visible !important;\\n\\t\\t\\theight: auto;\\n\\t\\t\\twhite-space: normal !important;\\n\\t\\t\\tline-height: 16px;\\n\\t\\t}\\n\\t}\\n\\n\\t.app-sidebar-header__action {\\n\\t\\t// align with tab content\\n\\t\\tmargin: 0 20px;\\n\\t\\tinput {\\n\\t\\t\\tmargin: 3px;\\n\\t\\t}\\n\\t}\\n}\\n\\n// Align the appNavigation toggle with the apps header toolbar\\n.app-navigation::v-deep button.app-navigation-toggle {\\n\\ttop: 8px;\\n\\tright: -8px;\\n}\\n\\n.app-sidebar-tabs__release {\\n\\th2 {\\n\\t\\tborder-bottom: 1px solid var(--color-border);\\n\\t}\\n\\n\\t// Overwrite changelog heading styles\\n\\t::v-deep {\\n\\t\\th3 {\\n\\t\\t\\tfont-size: 20px;\\n\\t\\t}\\n\\t\\th4 {\\n\\t\\t\\tfont-size: 17px;\\n\\t\\t}\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\\n.app-icon[data-v-737119e2] {\\n\\tfilter: var(--background-invert-if-bright);\\n}\\n.actions[data-v-737119e2] {\\n\\tdisplay: flex !important;\\n\\tgap: 8px;\\n\\tflex-wrap: wrap;\\n\\tjustify-content: end;\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/AppList/AppItem.vue\"],\"names\":[],\"mappings\":\";AAmLA;CACA,0CAAA;AACA;AACA;CACA,wBAAA;CACA,QAAA;CACA,eAAA;CACA,oBAAA;AACA\",\"sourcesContent\":[\"\\n\\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('NcContent',{class:{ 'with-app-sidebar': _vm.app},attrs:{\"app-name\":\"settings\",\"content-class\":{ 'icon-loading': _vm.loadingList },\"navigation-class\":{ 'icon-loading': _vm.loading }}},[_c('NcAppNavigation',{scopedSlots:_vm._u([{key:\"list\",fn:function(){return [_c('NcAppNavigationItem',{attrs:{\"id\":\"app-category-your-apps\",\"to\":{ name: 'apps' },\"exact\":true,\"icon\":\"icon-category-installed\",\"title\":_vm.t('settings', 'Your apps')}}),_vm._v(\" \"),_c('NcAppNavigationItem',{attrs:{\"id\":\"app-category-enabled\",\"to\":{ name: 'apps-category', params: { category: 'enabled' } },\"icon\":\"icon-category-enabled\",\"title\":_vm.t('settings', 'Active apps')}}),_vm._v(\" \"),_c('NcAppNavigationItem',{attrs:{\"id\":\"app-category-disabled\",\"to\":{ name: 'apps-category', params: { category: 'disabled' } },\"icon\":\"icon-category-disabled\",\"title\":_vm.t('settings', 'Disabled apps')}}),_vm._v(\" \"),(_vm.updateCount > 0)?_c('NcAppNavigationItem',{attrs:{\"id\":\"app-category-updates\",\"to\":{ name: 'apps-category', params: { category: 'updates' } },\"icon\":\"icon-download\",\"title\":_vm.t('settings', 'Updates')}},[_c('NcAppNavigationCounter',{attrs:{\"slot\":\"counter\"},slot:\"counter\"},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.updateCount)+\"\\n\\t\\t\\t\\t\")])],1):_vm._e(),_vm._v(\" \"),_c('NcAppNavigationItem',{attrs:{\"id\":\"app-category-your-bundles\",\"to\":{ name: 'apps-category', params: { category: 'app-bundles' } },\"icon\":\"icon-category-app-bundles\",\"title\":_vm.t('settings', 'App bundles')}}),_vm._v(\" \"),_c('NcAppNavigationSpacer'),_vm._v(\" \"),(_vm.settings.appstoreEnabled)?[_c('NcAppNavigationItem',{attrs:{\"id\":\"app-category-featured\",\"to\":{ name: 'apps-category', params: { category: 'featured' } },\"icon\":\"icon-favorite\",\"title\":_vm.t('settings', 'Featured apps')}}),_vm._v(\" \"),_vm._l((_vm.categories),function(cat){return _c('NcAppNavigationItem',{key:'icon-category-' + cat.ident,attrs:{\"icon\":'icon-category-' + cat.ident,\"to\":{\n\t\t\t\t\t\tname: 'apps-category',\n\t\t\t\t\t\tparams: { category: cat.ident },\n\t\t\t\t\t},\"title\":cat.displayName}})})]:_vm._e(),_vm._v(\" \"),_c('NcAppNavigationItem',{attrs:{\"id\":\"app-developer-docs\",\"title\":_vm.t('settings', 'Developer documentation') + ' ↗'},on:{\"click\":_vm.openDeveloperDocumentation}})]},proxy:true}])}),_vm._v(\" \"),_c('NcAppContent',{staticClass:\"app-settings-content\",class:{ 'icon-loading': _vm.loadingList }},[_c('AppList',{attrs:{\"category\":_vm.category,\"app\":_vm.app,\"search\":_vm.searchQuery}})],1),_vm._v(\" \"),(_vm.id && _vm.app)?_c('NcAppSidebar',_vm._b({class:{'app-sidebar--without-background': !_vm.appSidebar.background},on:{\"close\":_vm.hideAppDetails},scopedSlots:_vm._u([(!_vm.appSidebar.background)?{key:\"header\",fn:function(){return [_c('div',{staticClass:\"app-sidebar-header__figure--default-app-icon icon-settings-dark\"})]},proxy:true}:null,{key:\"description\",fn:function(){return [(_vm.app.level === 300 || _vm.app.level === 200 || _vm.hasRating)?_c('div',{staticClass:\"app-level\"},[(_vm.app.level === 300)?_c('span',{directives:[{name:\"tooltip\",rawName:\"v-tooltip.auto\",value:(_vm.t('settings', 'This app is supported via your current Nextcloud subscription.')),expression:\"t('settings', 'This app is supported via your current Nextcloud subscription.')\",modifiers:{\"auto\":true}}],staticClass:\"supported icon-checkmark-color\"},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Supported')))]):_vm._e(),_vm._v(\" \"),(_vm.app.level === 200)?_c('span',{directives:[{name:\"tooltip\",rawName:\"v-tooltip.auto\",value:(_vm.t('settings', 'Featured apps are developed by and within the community. They offer central functionality and are ready for production use.')),expression:\"t('settings', 'Featured apps are developed by and within the community. They offer central functionality and are ready for production use.')\",modifiers:{\"auto\":true}}],staticClass:\"official icon-checkmark\"},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Featured')))]):_vm._e(),_vm._v(\" \"),(_vm.hasRating)?_c('AppScore',{attrs:{\"score\":_vm.app.appstoreData.ratingOverall}}):_vm._e()],1):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"app-version\"},[_c('p',[_vm._v(_vm._s(_vm.app.version))])])]},proxy:true}],null,true)},'NcAppSidebar',_vm.appSidebar,false),[_vm._v(\" \"),_vm._v(\" \"),_c('NcAppSidebarTab',{attrs:{\"id\":\"desc\",\"icon\":\"icon-category-office\",\"name\":_vm.t('settings', 'Details'),\"order\":0}},[_c('AppDetails',{attrs:{\"app\":_vm.app}})],1),_vm._v(\" \"),(_vm.app.appstoreData && _vm.app.releases[0].translations.en.changelog)?_c('NcAppSidebarTab',{attrs:{\"id\":\"desca\",\"icon\":\"icon-category-organization\",\"name\":_vm.t('settings', 'Changelog'),\"order\":1}},_vm._l((_vm.app.releases),function(release){return _c('div',{key:release.version,staticClass:\"app-sidebar-tabs__release\"},[_c('h2',[_vm._v(_vm._s(release.version))]),_vm._v(\" \"),(_vm.changelog(release))?_c('Markdown',{attrs:{\"text\":_vm.changelog(release)}}):_vm._e()],1)}),0):_vm._e()],1):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppScore.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppScore.vue?vue&type=script&lang=js&\"","\n\n\n\n","import { render, staticRenderFns } from \"./AppScore.vue?vue&type=template&id=3b3081d1&\"\nimport script from \"./AppScore.vue?vue&type=script&lang=js&\"\nexport * from \"./AppScore.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('img',{staticClass:\"app-score-image\",attrs:{\"src\":_vm.scoreImage}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import axios from '@nextcloud/axios'\nimport { generateOcsUrl } from '@nextcloud/router'\nimport { emit } from '@nextcloud/event-bus'\n\nexport default () => {\n\treturn axios.get(generateOcsUrl('core/navigation', 2) + '/apps?format=json')\n\t\t.then(({ data }) => {\n\t\t\tif (data.ocs.meta.statuscode !== 200) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\temit('nextcloud:app-menu.refresh', { apps: data.ocs.data })\n\t\t\twindow.dispatchEvent(new Event('resize'))\n\t\t})\n}\n","/**\n * @copyright Copyright (c) 2019 Julius Härtl \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport { showError } from '@nextcloud/dialogs'\nimport rebuildNavigation from '../service/rebuild-navigation.js'\n\nexport default {\n\tcomputed: {\n\t\tappGroups() {\n\t\t\treturn this.app.groups.map(group => { return { id: group, name: group } })\n\t\t},\n\t\tinstalling() {\n\t\t\treturn this.$store.getters.loading('install')\n\t\t},\n\t\tisLoading() {\n\t\t\treturn this.app && this.$store.getters.loading(this.app.id)\n\t\t},\n\t\tenableButtonText() {\n\t\t\tif (this.app.needsDownload) {\n\t\t\t\treturn t('settings', 'Download and enable')\n\t\t\t}\n\t\t\treturn t('settings', 'Enable')\n\t\t},\n\t\tforceEnableButtonText() {\n\t\t\tif (this.app.needsDownload) {\n\t\t\t\treturn t('settings', 'Enable untested app')\n\t\t\t}\n\t\t\treturn t('settings', 'Enable untested app')\n\t\t},\n\t\tenableButtonTooltip() {\n\t\t\tif (this.app.needsDownload) {\n\t\t\t\treturn t('settings', 'The app will be downloaded from the App Store')\n\t\t\t}\n\t\t\treturn false\n\t\t},\n\t\tforceEnableButtonTooltip() {\n\t\t\tconst base = t('settings', 'This app is not marked as compatible with your Nextcloud version. If you continue you will still be able to install the app. Note that the app might not work as expected.')\n\t\t\tif (this.app.needsDownload) {\n\t\t\t\treturn base + ' ' + t('settings', 'The app will be downloaded from the App Store')\n\t\t\t}\n\t\t\treturn base\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tgroupCheckedAppsData: false,\n\t\t}\n\t},\n\n\tmounted() {\n\t\tif (this.app && this.app.groups && this.app.groups.length > 0) {\n\t\t\tthis.groupCheckedAppsData = true\n\t\t}\n\t},\n\n\tmethods: {\n\t\tasyncFindGroup(query) {\n\t\t\treturn this.$store.dispatch('getGroups', { search: query, limit: 5, offset: 0 })\n\t\t},\n\t\tisLimitedToGroups(app) {\n\t\t\tif (this.app.groups.length || this.groupCheckedAppsData) {\n\t\t\t\treturn true\n\t\t\t}\n\t\t\treturn false\n\t\t},\n\t\tsetGroupLimit() {\n\t\t\tif (!this.groupCheckedAppsData) {\n\t\t\t\tthis.$store.dispatch('enableApp', { appId: this.app.id, groups: [] })\n\t\t\t}\n\t\t},\n\t\tcanLimitToGroups(app) {\n\t\t\tif ((app.types && app.types.includes('filesystem'))\n\t\t\t\t\t|| app.types.includes('prelogin')\n\t\t\t\t\t|| app.types.includes('authentication')\n\t\t\t\t\t|| app.types.includes('logging')\n\t\t\t\t\t|| app.types.includes('prevent_group_restriction')) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t\treturn true\n\t\t},\n\t\taddGroupLimitation(group) {\n\t\t\tconst groups = this.app.groups.concat([]).concat([group.id])\n\t\t\tthis.$store.dispatch('enableApp', { appId: this.app.id, groups })\n\t\t},\n\t\tremoveGroupLimitation(group) {\n\t\t\tconst currentGroups = this.app.groups.concat([])\n\t\t\tconst index = currentGroups.indexOf(group.id)\n\t\t\tif (index > -1) {\n\t\t\t\tcurrentGroups.splice(index, 1)\n\t\t\t}\n\t\t\tthis.$store.dispatch('enableApp', { appId: this.app.id, groups: currentGroups })\n\t\t},\n\t\tforceEnable(appId) {\n\t\t\tthis.$store.dispatch('forceEnableApp', { appId, groups: [] })\n\t\t\t\t.then((response) => { rebuildNavigation() })\n\t\t\t\t.catch((error) => { showError(error) })\n\t\t},\n\t\tenable(appId) {\n\t\t\tthis.$store.dispatch('enableApp', { appId, groups: [] })\n\t\t\t\t.then((response) => { rebuildNavigation() })\n\t\t\t\t.catch((error) => { showError(error) })\n\t\t},\n\t\tdisable(appId) {\n\t\t\tthis.$store.dispatch('disableApp', { appId })\n\t\t\t\t.then((response) => { rebuildNavigation() })\n\t\t\t\t.catch((error) => { showError(error) })\n\t\t},\n\t\tremove(appId) {\n\t\t\tthis.$store.dispatch('uninstallApp', { appId })\n\t\t\t\t.then((response) => { rebuildNavigation() })\n\t\t\t\t.catch((error) => { showError(error) })\n\t\t},\n\t\tinstall(appId) {\n\t\t\tthis.$store.dispatch('enableApp', { appId })\n\t\t\t\t.then((response) => { rebuildNavigation() })\n\t\t\t\t.catch((error) => { showError(error) })\n\t\t},\n\t\tupdate(appId) {\n\t\t\tthis.$store.dispatch('updateApp', { appId })\n\t\t\t\t.then((response) => { rebuildNavigation() })\n\t\t\t\t.catch((error) => { showError(error) })\n\t\t},\n\t},\n}\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SvgFilterMixin.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SvgFilterMixin.vue?vue&type=script&lang=js&\"","\n\n\n","var render, staticRenderFns\nimport script from \"./SvgFilterMixin.vue?vue&type=script&lang=js&\"\nexport * from \"./SvgFilterMixin.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppItem.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppItem.vue?vue&type=script&lang=js&\"","\n import API from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppItem.vue?vue&type=style&index=0&id=737119e2&scoped=true&lang=css&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppItem.vue?vue&type=style&index=0&id=737119e2&scoped=true&lang=css&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./AppItem.vue?vue&type=template&id=737119e2&scoped=true&\"\nimport script from \"./AppItem.vue?vue&type=script&lang=js&\"\nexport * from \"./AppItem.vue?vue&type=script&lang=js&\"\nimport style0 from \"./AppItem.vue?vue&type=style&index=0&id=737119e2&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"737119e2\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"section\",class:{ selected: _vm.isSelected },on:{\"click\":_vm.showAppDetails}},[_c('div',{staticClass:\"app-image app-image-icon\",on:{\"click\":_vm.showAppDetails}},[((_vm.listView && !_vm.app.preview) || (!_vm.listView && !_vm.screenshotLoaded))?_c('div',{staticClass:\"icon-settings-dark\"}):(_vm.listView && _vm.app.preview)?_c('svg',{attrs:{\"width\":\"32\",\"height\":\"32\",\"viewBox\":\"0 0 32 32\"}},[_c('image',{staticClass:\"app-icon\",attrs:{\"x\":\"0\",\"y\":\"0\",\"width\":\"32\",\"height\":\"32\",\"preserveAspectRatio\":\"xMinYMin meet\",\"xlink:href\":_vm.app.preview}})]):_vm._e(),_vm._v(\" \"),(!_vm.listView && _vm.app.screenshot && _vm.screenshotLoaded)?_c('img',{attrs:{\"src\":_vm.app.screenshot,\"width\":\"100%\"}}):_vm._e()]),_vm._v(\" \"),_c('div',{staticClass:\"app-name\",on:{\"click\":_vm.showAppDetails}},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.app.name)+\"\\n\\t\")]),_vm._v(\" \"),(!_vm.listView)?_c('div',{staticClass:\"app-summary\"},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.app.summary)+\"\\n\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.listView)?_c('div',{staticClass:\"app-version\"},[(_vm.app.version)?_c('span',[_vm._v(_vm._s(_vm.app.version))]):(_vm.app.appstoreData.releases[0].version)?_c('span',[_vm._v(_vm._s(_vm.app.appstoreData.releases[0].version))]):_vm._e()]):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"app-level\"},[(_vm.app.level === 300)?_c('span',{directives:[{name:\"tooltip\",rawName:\"v-tooltip.auto\",value:(_vm.t('settings', 'This app is supported via your current Nextcloud subscription.')),expression:\"t('settings', 'This app is supported via your current Nextcloud subscription.')\",modifiers:{\"auto\":true}}],staticClass:\"supported icon-checkmark-color\"},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Supported')))]):_vm._e(),_vm._v(\" \"),(_vm.app.level === 200)?_c('span',{directives:[{name:\"tooltip\",rawName:\"v-tooltip.auto\",value:(_vm.t('settings', 'Featured apps are developed by and within the community. They offer central functionality and are ready for production use.')),expression:\"t('settings', 'Featured apps are developed by and within the community. They offer central functionality and are ready for production use.')\",modifiers:{\"auto\":true}}],staticClass:\"official icon-checkmark\"},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Featured')))]):_vm._e(),_vm._v(\" \"),(_vm.hasRating && !_vm.listView)?_c('AppScore',{attrs:{\"score\":_vm.app.score}}):_vm._e()],1),_vm._v(\" \"),_c('div',{staticClass:\"actions\"},[(_vm.app.error)?_c('div',{staticClass:\"warning\"},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.app.error)+\"\\n\\t\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.isLoading)?_c('div',{staticClass:\"icon icon-loading-small\"}):_vm._e(),_vm._v(\" \"),(_vm.app.update)?_c('NcButton',{attrs:{\"type\":\"primary\",\"disabled\":_vm.installing || _vm.isLoading},on:{\"click\":function($event){$event.stopPropagation();return _vm.update(_vm.app.id)}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Update to {update}', {update:_vm.app.update}))+\"\\n\\t\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.app.canUnInstall)?_c('NcButton',{staticClass:\"uninstall\",attrs:{\"type\":\"tertiary\",\"disabled\":_vm.installing || _vm.isLoading},on:{\"click\":function($event){$event.stopPropagation();return _vm.remove(_vm.app.id)}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Remove'))+\"\\n\\t\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.app.active)?_c('NcButton',{attrs:{\"disabled\":_vm.installing || _vm.isLoading},on:{\"click\":function($event){$event.stopPropagation();return _vm.disable(_vm.app.id)}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings','Disable'))+\"\\n\\t\\t\")]):_vm._e(),_vm._v(\" \"),(!_vm.app.active && (_vm.app.canInstall || _vm.app.isCompatible))?_c('NcButton',{directives:[{name:\"tooltip\",rawName:\"v-tooltip.auto\",value:(_vm.enableButtonTooltip),expression:\"enableButtonTooltip\",modifiers:{\"auto\":true}}],attrs:{\"type\":\"primary\",\"disabled\":!_vm.app.canInstall || _vm.installing || _vm.isLoading},on:{\"click\":function($event){$event.stopPropagation();return _vm.enable(_vm.app.id)}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.enableButtonText)+\"\\n\\t\\t\")]):(!_vm.app.active)?_c('NcButton',{directives:[{name:\"tooltip\",rawName:\"v-tooltip.auto\",value:(_vm.forceEnableButtonTooltip),expression:\"forceEnableButtonTooltip\",modifiers:{\"auto\":true}}],attrs:{\"type\":\"secondary\",\"disabled\":_vm.installing || _vm.isLoading},on:{\"click\":function($event){$event.stopPropagation();return _vm.forceEnable(_vm.app.id)}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.forceEnableButtonText)+\"\\n\\t\\t\")]):_vm._e()],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render, staticRenderFns\nimport script from \"./PrefixMixin.vue?vue&type=script&lang=js&\"\nexport * from \"./PrefixMixin.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppList.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppList.vue?vue&type=script&lang=js&\"","\n\n\n\n\n","import { render, staticRenderFns } from \"./AppList.vue?vue&type=template&id=049ecd42&\"\nimport script from \"./AppList.vue?vue&type=script&lang=js&\"\nexport * from \"./AppList.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"app-content-inner\"}},[_c('div',{staticClass:\"apps-list\",class:{installed: (_vm.useBundleView || _vm.useListView), store: _vm.useAppStoreView},attrs:{\"id\":\"apps-list\"}},[(_vm.useListView)?[(_vm.showUpdateAll)?_c('div',{staticClass:\"toolbar\"},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.n('settings', '%n app has an update available', '%n apps have an update available', _vm.counter))+\"\\n\\t\\t\\t\\t\"),(_vm.showUpdateAll)?_c('NcButton',{attrs:{\"id\":\"app-list-update-all\",\"type\":\"primary\"},on:{\"click\":_vm.updateAll}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.n('settings', 'Update', 'Update all', _vm.counter))+\"\\n\\t\\t\\t\\t\")]):_vm._e()],1):_vm._e(),_vm._v(\" \"),(!_vm.showUpdateAll)?_c('div',{staticClass:\"toolbar\"},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'All apps are up-to-date.'))+\"\\n\\t\\t\\t\")]):_vm._e(),_vm._v(\" \"),_c('transition-group',{staticClass:\"apps-list-container\",attrs:{\"name\":\"app-list\",\"tag\":\"div\"}},_vm._l((_vm.apps),function(app){return _c('AppItem',{key:app.id,attrs:{\"app\":app,\"category\":_vm.category}})}),1)]:_vm._e(),_vm._v(\" \"),(_vm.useBundleView)?_c('transition-group',{staticClass:\"apps-list-container\",attrs:{\"name\":\"app-list\",\"tag\":\"div\"}},[_vm._l((_vm.bundles),function(bundle){return [_c('div',{key:bundle.id,staticClass:\"apps-header\"},[_c('div',{staticClass:\"app-image\"}),_vm._v(\" \"),_c('h2',[_vm._v(_vm._s(bundle.name)+\" \"),_c('input',{attrs:{\"type\":\"button\",\"value\":_vm.bundleToggleText(bundle.id)},on:{\"click\":function($event){return _vm.toggleBundle(bundle.id)}}})]),_vm._v(\" \"),_c('div',{staticClass:\"app-version\"}),_vm._v(\" \"),_c('div',{staticClass:\"app-level\"}),_vm._v(\" \"),_c('div',{staticClass:\"app-groups\"}),_vm._v(\" \"),_c('div',{staticClass:\"actions\"},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t \\n\\t\\t\\t\\t\\t\")])]),_vm._v(\" \"),_vm._l((_vm.bundleApps(bundle.id)),function(app){return _c('AppItem',{key:bundle.id + app.id,attrs:{\"app\":app,\"category\":_vm.category}})})]})],2):_vm._e(),_vm._v(\" \"),(_vm.useAppStoreView)?_vm._l((_vm.apps),function(app){return _c('AppItem',{key:app.id,attrs:{\"app\":app,\"category\":_vm.category,\"list-view\":false}})}):_vm._e()],2),_vm._v(\" \"),_c('div',{staticClass:\"apps-list installed\",attrs:{\"id\":\"apps-list-search\"}},[_c('div',{staticClass:\"apps-list-container\"},[(_vm.search !== '' && _vm.searchApps.length > 0)?[_c('div',{staticClass:\"section\"},[_c('div'),_vm._v(\" \"),_c('td',{attrs:{\"colspan\":\"5\"}},[_c('h2',[_vm._v(_vm._s(_vm.t('settings', 'Results from other categories')))])])]),_vm._v(\" \"),_vm._l((_vm.searchApps),function(app){return _c('AppItem',{key:app.id,attrs:{\"app\":app,\"category\":_vm.category,\"list-view\":true}})})]:_vm._e()],2)]),_vm._v(\" \"),(_vm.search !== '' && !_vm.loading && _vm.searchApps.length === 0 && _vm.apps.length === 0)?_c('div',{staticClass:\"emptycontent emptycontent-search\",attrs:{\"id\":\"apps-list-empty\"}},[_c('div',{staticClass:\"icon-settings-dark\",attrs:{\"id\":\"app-list-empty-icon\"}}),_vm._v(\" \"),_c('h2',[_vm._v(_vm._s(_vm.t('settings', 'No apps found for your version')))])]):_vm._e(),_vm._v(\" \"),_c('div',{attrs:{\"id\":\"searchresults\"}})])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Markdown.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Markdown.vue?vue&type=script&lang=js&\"","\n\n\n\n\n\n\n","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Markdown.vue?vue&type=style&index=0&id=652eb552&scoped=true&lang=scss&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Markdown.vue?vue&type=style&index=0&id=652eb552&scoped=true&lang=scss&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./Markdown.vue?vue&type=template&id=652eb552&scoped=true&\"\nimport script from \"./Markdown.vue?vue&type=script&lang=js&\"\nexport * from \"./Markdown.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Markdown.vue?vue&type=style&index=0&id=652eb552&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"652eb552\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"settings-markdown\",domProps:{\"innerHTML\":_vm._s(_vm.renderMarkdown)}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppDetails.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppDetails.vue?vue&type=script&lang=js&\"","\n\n\n\n\n\n\n","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppDetails.vue?vue&type=style&index=0&id=43fb27d0&scoped=true&lang=scss&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppDetails.vue?vue&type=style&index=0&id=43fb27d0&scoped=true&lang=scss&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./AppDetails.vue?vue&type=template&id=43fb27d0&scoped=true&\"\nimport script from \"./AppDetails.vue?vue&type=script&lang=js&\"\nexport * from \"./AppDetails.vue?vue&type=script&lang=js&\"\nimport style0 from \"./AppDetails.vue?vue&type=style&index=0&id=43fb27d0&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"43fb27d0\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"app-details\"},[_c('div',{staticClass:\"app-details__actions\"},[(_vm.app.active && _vm.canLimitToGroups(_vm.app))?_c('div',{staticClass:\"app-details__actions-groups\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.groupCheckedAppsData),expression:\"groupCheckedAppsData\"}],staticClass:\"groups-enable__checkbox checkbox\",attrs:{\"id\":_vm.prefix('groups_enable', _vm.app.id),\"type\":\"checkbox\"},domProps:{\"value\":_vm.app.id,\"checked\":Array.isArray(_vm.groupCheckedAppsData)?_vm._i(_vm.groupCheckedAppsData,_vm.app.id)>-1:(_vm.groupCheckedAppsData)},on:{\"change\":[function($event){var $$a=_vm.groupCheckedAppsData,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=_vm.app.id,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.groupCheckedAppsData=$$a.concat([$$v]))}else{$$i>-1&&(_vm.groupCheckedAppsData=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.groupCheckedAppsData=$$c}},_vm.setGroupLimit]}}),_vm._v(\" \"),_c('label',{attrs:{\"for\":_vm.prefix('groups_enable', _vm.app.id)}},[_vm._v(_vm._s(_vm.t('settings', 'Limit to groups')))]),_vm._v(\" \"),_c('input',{staticClass:\"group_select\",attrs:{\"type\":\"hidden\",\"title\":_vm.t('settings', 'All'),\"value\":\"\"}}),_vm._v(\" \"),(_vm.isLimitedToGroups(_vm.app))?_c('NcMultiselect',{staticClass:\"multiselect-vue\",attrs:{\"options\":_vm.groups,\"value\":_vm.appGroups,\"options-limit\":5,\"placeholder\":_vm.t('settings', 'Limit app usage to groups'),\"label\":\"name\",\"track-by\":\"id\",\"multiple\":true,\"close-on-select\":false,\"tag-width\":60},on:{\"select\":_vm.addGroupLimitation,\"remove\":_vm.removeGroupLimitation,\"search-change\":_vm.asyncFindGroup}},[_c('span',{attrs:{\"slot\":\"noResult\"},slot:\"noResult\"},[_vm._v(_vm._s(_vm.t('settings', 'No results')))])]):_vm._e()],1):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"app-details__actions-manage\"},[(_vm.app.update)?_c('input',{staticClass:\"update primary\",attrs:{\"type\":\"button\",\"value\":_vm.t('settings', 'Update to {version}', { version: _vm.app.update }),\"disabled\":_vm.installing || _vm.isLoading},on:{\"click\":function($event){return _vm.update(_vm.app.id)}}}):_vm._e(),_vm._v(\" \"),(_vm.app.canUnInstall)?_c('input',{staticClass:\"uninstall\",attrs:{\"type\":\"button\",\"value\":_vm.t('settings', 'Remove'),\"disabled\":_vm.installing || _vm.isLoading},on:{\"click\":function($event){return _vm.remove(_vm.app.id)}}}):_vm._e(),_vm._v(\" \"),(_vm.app.active)?_c('input',{staticClass:\"enable\",attrs:{\"type\":\"button\",\"value\":_vm.t('settings','Disable'),\"disabled\":_vm.installing || _vm.isLoading},on:{\"click\":function($event){return _vm.disable(_vm.app.id)}}}):_vm._e(),_vm._v(\" \"),(!_vm.app.active && (_vm.app.canInstall || _vm.app.isCompatible))?_c('input',{directives:[{name:\"tooltip\",rawName:\"v-tooltip.auto\",value:(_vm.enableButtonTooltip),expression:\"enableButtonTooltip\",modifiers:{\"auto\":true}}],staticClass:\"enable primary\",attrs:{\"type\":\"button\",\"value\":_vm.enableButtonText,\"disabled\":!_vm.app.canInstall || _vm.installing || _vm.isLoading},on:{\"click\":function($event){return _vm.enable(_vm.app.id)}}}):(!_vm.app.active && !_vm.app.canInstall)?_c('input',{directives:[{name:\"tooltip\",rawName:\"v-tooltip.auto\",value:(_vm.forceEnableButtonTooltip),expression:\"forceEnableButtonTooltip\",modifiers:{\"auto\":true}}],staticClass:\"enable force\",attrs:{\"type\":\"button\",\"value\":_vm.forceEnableButtonText,\"disabled\":_vm.installing || _vm.isLoading},on:{\"click\":function($event){return _vm.forceEnable(_vm.app.id)}}}):_vm._e()])]),_vm._v(\" \"),_c('ul',{staticClass:\"app-details__dependencies\"},[(_vm.app.missingMinOwnCloudVersion)?_c('li',[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'This app has no minimum Nextcloud version assigned. This will be an error in the future.'))+\"\\n\\t\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.app.missingMaxOwnCloudVersion)?_c('li',[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'This app has no maximum Nextcloud version assigned. This will be an error in the future.'))+\"\\n\\t\\t\")]):_vm._e(),_vm._v(\" \"),(!_vm.app.canInstall)?_c('li',[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'This app cannot be installed because the following dependencies are not fulfilled:'))+\"\\n\\t\\t\\t\"),_c('ul',{staticClass:\"missing-dependencies\"},_vm._l((_vm.app.missingDependencies),function(dep,index){return _c('li',{key:index},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(dep)+\"\\n\\t\\t\\t\\t\")])}),0)]):_vm._e()]),_vm._v(\" \"),_c('p',{staticClass:\"app-details__documentation\"},[(!_vm.app.internal)?_c('a',{staticClass:\"appslink\",attrs:{\"href\":_vm.appstoreUrl,\"target\":\"_blank\",\"rel\":\"noreferrer noopener\"}},[_vm._v(_vm._s(_vm.t('settings', 'View in store'))+\" ↗\")]):_vm._e(),_vm._v(\" \"),(_vm.app.website)?_c('a',{staticClass:\"appslink\",attrs:{\"href\":_vm.app.website,\"target\":\"_blank\",\"rel\":\"noreferrer noopener\"}},[_vm._v(_vm._s(_vm.t('settings', 'Visit website'))+\" ↗\")]):_vm._e(),_vm._v(\" \"),(_vm.app.bugs)?_c('a',{staticClass:\"appslink\",attrs:{\"href\":_vm.app.bugs,\"target\":\"_blank\",\"rel\":\"noreferrer noopener\"}},[_vm._v(_vm._s(_vm.t('settings', 'Report a bug'))+\" ↗\")]):_vm._e(),_vm._v(\" \"),(_vm.app.documentation && _vm.app.documentation.user)?_c('a',{staticClass:\"appslink\",attrs:{\"href\":_vm.app.documentation.user,\"target\":\"_blank\",\"rel\":\"noreferrer noopener\"}},[_vm._v(_vm._s(_vm.t('settings', 'User documentation'))+\" ↗\")]):_vm._e(),_vm._v(\" \"),(_vm.app.documentation && _vm.app.documentation.admin)?_c('a',{staticClass:\"appslink\",attrs:{\"href\":_vm.app.documentation.admin,\"target\":\"_blank\",\"rel\":\"noreferrer noopener\"}},[_vm._v(_vm._s(_vm.t('settings', 'Admin documentation'))+\" ↗\")]):_vm._e(),_vm._v(\" \"),(_vm.app.documentation && _vm.app.documentation.developer)?_c('a',{staticClass:\"appslink\",attrs:{\"href\":_vm.app.documentation.developer,\"target\":\"_blank\",\"rel\":\"noreferrer noopener\"}},[_vm._v(_vm._s(_vm.t('settings', 'Developer documentation'))+\" ↗\")]):_vm._e()]),_vm._v(\" \"),_c('Markdown',{staticClass:\"app-details__description\",attrs:{\"text\":_vm.app.description}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Apps.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Apps.vue?vue&type=script&lang=js&\"","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Apps.vue?vue&type=style&index=0&id=1ad530ae&lang=scss&scoped=true&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Apps.vue?vue&type=style&index=0&id=1ad530ae&lang=scss&scoped=true&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./Apps.vue?vue&type=template&id=1ad530ae&scoped=true&\"\nimport script from \"./Apps.vue?vue&type=script&lang=js&\"\nexport * from \"./Apps.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Apps.vue?vue&type=style&index=0&id=1ad530ae&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1ad530ae\",\n null\n \n)\n\nexport default component.exports"],"names":["___CSS_LOADER_EXPORT___","push","module","id","_vm","this","_h","$createElement","_self","_c","staticClass","attrs","scoreImage","axios","generateOcsUrl","then","data","ocs","meta","statuscode","emit","apps","window","dispatchEvent","Event","computed","appGroups","app","groups","map","group","name","installing","$store","getters","loading","isLoading","enableButtonText","needsDownload","t","forceEnableButtonText","enableButtonTooltip","forceEnableButtonTooltip","base","groupCheckedAppsData","mounted","length","methods","asyncFindGroup","query","dispatch","search","limit","offset","isLimitedToGroups","setGroupLimit","appId","canLimitToGroups","types","includes","addGroupLimitation","concat","removeGroupLimitation","currentGroups","index","indexOf","splice","forceEnable","response","rebuildNavigation","catch","error","showError","enable","disable","remove","install","update","options","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","class","selected","isSelected","on","showAppDetails","listView","preview","screenshotLoaded","_e","_v","screenshot","_s","summary","version","appstoreData","releases","level","directives","rawName","value","expression","modifiers","hasRating","score","$event","stopPropagation","active","canInstall","isCompatible","installed","useBundleView","useListView","store","useAppStoreView","n","counter","updateAll","showUpdateAll","_l","key","category","bundle","bundleToggleText","toggleBundle","bundleApps","searchApps","domProps","renderMarkdown","prefix","Array","isArray","_i","$$a","$$el","target","$$c","checked","$$v","$$i","slice","slot","dep","internal","appstoreUrl","website","bugs","documentation","user","admin","developer","description","loadingList","scopedSlots","_u","fn","params","updateCount","settings","cat","ident","displayName","openDeveloperDocumentation","proxy","searchQuery","_b","appSidebar","background","hideAppDetails","ratingOverall","translations","en","changelog","release"],"sourceRoot":""} \ No newline at end of file diff --git a/dist/settings-vue-settings-apps-users-management.js b/dist/settings-vue-settings-apps-users-management.js index 0d463fab71d44..1aebd3a23e692 100644 --- a/dist/settings-vue-settings-apps-users-management.js +++ b/dist/settings-vue-settings-apps-users-management.js @@ -1,3 +1,3 @@ /*! For license information please see settings-vue-settings-apps-users-management.js.LICENSE.txt */ -!function(){"use strict";var e,r,o,i={78778:function(e,r,o){var i=o(20144),u=o(34741),s=o(83678),a={name:"App",beforeMount:function(){null!==document.getElementById("serverData")&&this.$store.commit("setServerData",JSON.parse(document.getElementById("serverData").dataset.server))}},c=(0,o(51900).Z)(a,(function(){var e=this.$createElement;return(this._self._c||e)("router-view")}),[],!1,null,null,null).exports,d=o(78345),p=o(79753),f=function(){return Promise.all([o.e(7874),o.e(8351)]).then(o.bind(o,27255))},l=function(){return Promise.all([o.e(7874),o.e(7418)]).then(o.bind(o,62128))};i.ZP.use(d.Z);var m=new d.Z({mode:"history",base:(0,p.generateUrl)(""),linkActiveClass:"active",routes:[{path:"/:index(index.php/)?settings/users",component:f,props:!0,name:"users",children:[{path:":selectedGroup",name:"group",component:f}]},{path:"/:index(index.php/)?settings/apps",component:l,props:!0,name:"apps",children:[{path:":category",name:"apps-category",component:l,children:[{path:":id",name:"apps-details",component:l}]}]}]}),g=o(20629),h=o(4820),A=o(10128),v=(o(65509),function(e){return e.replace(/\/$/,"")}),I=function(){return(0,A.confirmPassword)()},b=function(e,t){return h.default.get(v(e),t)},y=function(e,t){return h.default.post(v(e),t)},U=function(e,t){return h.default.put(v(e),t)},L=function(e,t){return h.default.delete(v(e),{params:t})},P=(0,o(17499).IY)().setApp("settings").detectUser().build(),C=function(e,t){return 1===t?e.sort((function(e,t){return e.usercount-e.disabled=0){var i=e.groups[o];i.name=n,e.groups.splice(o,1,i),e.groups=C(e.groups,e.orderBy)}},removeGroup:function(e,t){var r=e.groups.findIndex((function(e){return e.id===t}));r>=0&&e.groups.splice(r,1)},addUserGroup:function(e,t){var r=t.userid,n=t.gid,o=e.groups.find((function(e){return e.id===n})),i=e.users.find((function(e){return e.id===r}));o&&i.enabled&&e.userCount>0&&o.usercount++,i.groups.push(n),e.groups=C(e.groups,e.orderBy)},removeUserGroup:function(e,t){var r=t.userid,n=t.gid,o=e.groups.find((function(e){return e.id===n})),i=e.users.find((function(e){return e.id===r}));o&&i.enabled&&e.userCount>0&&o.usercount--;var u=i.groups;u.splice(u.indexOf(n),1),e.groups=C(e.groups,e.orderBy)},addUserSubAdmin:function(e,t){var r=t.userid,n=t.gid;e.users.find((function(e){return e.id===r})).subadmin.push(n)},removeUserSubAdmin:function(e,t){var r=t.userid,n=t.gid,o=e.users.find((function(e){return e.id===r})).subadmin;o.splice(o.indexOf(n),1)},deleteUser:function(e,t){var r=e.users.findIndex((function(e){return e.id===t}));this.commit("updateUserCounts",{user:e.users[r],actionType:"remove"}),e.users.splice(r,1)},addUserData:function(e,t){var r=t.data.ocs.data;e.users.push(r),this.commit("updateUserCounts",{user:r,actionType:"create"})},enableDisableUser:function(e,t){var r=t.userid,n=t.enabled,o=e.users.find((function(e){return e.id===r}));o.enabled=n,this.commit("updateUserCounts",{user:o,actionType:n?"enable":"disable"})},updateUserCounts:function(e,t){var r=t.user,n=t.actionType,o=e.groups.find((function(e){return"disabled"===e.id}));switch(n){case"enable":case"disable":o.usercount+=r.enabled?-1:1,e.userCount+=r.enabled?1:-1,r.groups.forEach((function(t){e.groups.find((function(e){return e.id===t})).disabled+=r.enabled?-1:1}));break;case"create":e.userCount++,r.groups.forEach((function(t){e.groups.find((function(e){return e.id===t})).usercount++}));break;case"remove":r.enabled?(e.userCount--,r.groups.forEach((function(t){e.groups.find((function(e){return e.id===t})).usercount--}))):(o.usercount--,r.groups.forEach((function(t){e.groups.find((function(e){return e.id===t})).disabled--})));break;default:P.error("Unknown action type in updateUserCounts: '".concat(n,"'"))}},setUserData:function(e,t){var r=t.userid,n=t.key,o=t.value;if("quota"===n){var i=OC.Util.computerFileSize(o);e.users.find((function(e){return e.id===r}))[n][n]=null!==i?i:o}else e.users.find((function(e){return e.id===r}))[n]=o},resetUsers:function(e){e.users=[],e.usersOffset=0}},O=h.default.CancelToken,_=null,R={state:{users:[],groups:[],orderBy:1,minPasswordLength:0,usersOffset:0,usersLimit:25,userCount:0},mutations:w,getters:{getUsers:function(e){return e.users},getGroups:function(e){return e.groups},getSubadminGroups:function(e){return e.groups.filter((function(e){return"admin"!==e.id&&"disabled"!==e.id}))},getPasswordPolicyMinLength:function(e){return e.minPasswordLength},getUsersOffset:function(e){return e.usersOffset},getUsersLimit:function(e){return e.usersLimit},getUserCount:function(e){return e.userCount}},actions:{getUsers:function(e,t){var r=t.offset,n=t.limit,o=t.search,i=t.group;return _&&_.cancel("Operation canceled by another search request."),_=O.source(),o="string"==typeof o?o:"",""!==(i="string"==typeof i?i:"")?b((0,p.generateOcsUrl)("cloud/groups/{group}/users/details?offset={offset}&limit={limit}&search={search}",{group:encodeURIComponent(i),offset:r,limit:n,search:o}),{cancelToken:_.token}).then((function(t){var r=Object.keys(t.data.ocs.data.users).length;return r>0&&e.commit("appendUsers",t.data.ocs.data.users),r})).catch((function(t){h.default.isCancel(t)||e.commit("API_FAILURE",t)})):b((0,p.generateOcsUrl)("cloud/users/details?offset={offset}&limit={limit}&search={search}",{offset:r,limit:n,search:o}),{cancelToken:_.token}).then((function(t){var r=Object.keys(t.data.ocs.data.users).length;return r>0&&e.commit("appendUsers",t.data.ocs.data.users),r})).catch((function(t){h.default.isCancel(t)||e.commit("API_FAILURE",t)}))},getGroups:function(e,t){var r=t.offset,n=t.limit,o=t.search;o="string"==typeof o?o:"";var i=-1===n?"":"&limit=".concat(n);return b((0,p.generateOcsUrl)("cloud/groups?offset={offset}&search={search}",{offset:r,search:o})+i).then((function(t){return Object.keys(t.data.ocs.data.groups).length>0&&(t.data.ocs.data.groups.forEach((function(t){e.commit("addGroup",{gid:t,displayName:t})})),!0)})).catch((function(t){return e.commit("API_FAILURE",t)}))},getUsersFromList:function(e,t){var r=t.offset,n=t.limit,o=t.search;return o="string"==typeof o?o:"",b((0,p.generateOcsUrl)("cloud/users/details?offset={offset}&limit={limit}&search={search}",{offset:r,limit:n,search:o})).then((function(t){return Object.keys(t.data.ocs.data.users).length>0&&(e.commit("appendUsers",t.data.ocs.data.users),!0)})).catch((function(t){return e.commit("API_FAILURE",t)}))},getUsersFromGroup:function(e,t){var r=t.groupid,n=t.offset,o=t.limit;return b((0,p.generateOcsUrl)("cloud/users/{groupId}/details?offset={offset}&limit={limit}",{groupId:encodeURIComponent(r),offset:n,limit:o})).then((function(t){return e.commit("getUsersFromList",t.data.ocs.data.users)})).catch((function(t){return e.commit("API_FAILURE",t)}))},getPasswordPolicyMinLength:function(e){return!(!OC.getCapabilities().password_policy||!OC.getCapabilities().password_policy.minLength)&&(e.commit("setPasswordPolicyMinLength",OC.getCapabilities().password_policy.minLength),OC.getCapabilities().password_policy.minLength)},addGroup:function(e,t){return I().then((function(r){return y((0,p.generateOcsUrl)("cloud/groups"),{groupid:t}).then((function(r){return e.commit("addGroup",{gid:t,displayName:t}),{gid:t,displayName:t}})).catch((function(e){throw e}))})).catch((function(r){throw e.commit("API_FAILURE",{gid:t,error:r}),r}))},renameGroup:function(e,t){var r=t.groupid,n=t.displayName;return I().then((function(t){return U((0,p.generateOcsUrl)("cloud/groups/{groupId}",{groupId:encodeURIComponent(r)}),{key:"displayname",value:n}).then((function(t){return e.commit("renameGroup",{gid:r,displayName:n}),{groupid:r,displayName:n}})).catch((function(e){throw e}))})).catch((function(t){throw e.commit("API_FAILURE",{groupid:r,error:t}),t}))},removeGroup:function(e,t){return I().then((function(r){return L((0,p.generateOcsUrl)("cloud/groups/{groupId}",{groupId:encodeURIComponent(t)})).then((function(r){return e.commit("removeGroup",t)})).catch((function(e){throw e}))})).catch((function(r){return e.commit("API_FAILURE",{gid:t,error:r})}))},addUserGroup:function(e,t){var r=t.userid,n=t.gid;return I().then((function(t){return y((0,p.generateOcsUrl)("cloud/users/{userid}/groups",{userid:r}),{groupid:n}).then((function(t){return e.commit("addUserGroup",{userid:r,gid:n})})).catch((function(e){throw e}))})).catch((function(t){return e.commit("API_FAILURE",{userid:r,error:t})}))},removeUserGroup:function(e,t){var r=t.userid,n=t.gid;return I().then((function(t){return L((0,p.generateOcsUrl)("cloud/users/{userid}/groups",{userid:r}),{groupid:n}).then((function(t){return e.commit("removeUserGroup",{userid:r,gid:n})})).catch((function(e){throw e}))})).catch((function(t){throw e.commit("API_FAILURE",{userid:r,error:t}),t}))},addUserSubAdmin:function(e,t){var r=t.userid,n=t.gid;return I().then((function(t){return y((0,p.generateOcsUrl)("cloud/users/{userid}/subadmins",{userid:r}),{groupid:n}).then((function(t){return e.commit("addUserSubAdmin",{userid:r,gid:n})})).catch((function(e){throw e}))})).catch((function(t){return e.commit("API_FAILURE",{userid:r,error:t})}))},removeUserSubAdmin:function(e,t){var r=t.userid,n=t.gid;return I().then((function(t){return L((0,p.generateOcsUrl)("cloud/users/{userid}/subadmins",{userid:r}),{groupid:n}).then((function(t){return e.commit("removeUserSubAdmin",{userid:r,gid:n})})).catch((function(e){throw e}))})).catch((function(t){return e.commit("API_FAILURE",{userid:r,error:t})}))},wipeUserDevices:function(e,t){return I().then((function(e){return y((0,p.generateOcsUrl)("cloud/users/{userid}/wipe",{userid:t})).catch((function(e){throw e}))})).catch((function(r){return e.commit("API_FAILURE",{userid:t,error:r})}))},deleteUser:function(e,t){return I().then((function(r){return L((0,p.generateOcsUrl)("cloud/users/{userid}",{userid:t})).then((function(r){return e.commit("deleteUser",t)})).catch((function(e){throw e}))})).catch((function(r){return e.commit("API_FAILURE",{userid:t,error:r})}))},addUser:function(e,t){var r=e.commit,n=e.dispatch,o=t.userid,i=t.password,u=t.displayName,s=t.email,a=t.groups,c=t.subadmin,d=t.quota,f=t.language;return I().then((function(e){return y((0,p.generateOcsUrl)("cloud/users"),{userid:o,password:i,displayName:u,email:s,groups:a,subadmin:c,quota:d,language:f}).then((function(e){return n("addUserData",o||e.data.ocs.data.id)})).catch((function(e){throw e}))})).catch((function(e){throw r("API_FAILURE",{userid:o,error:e}),e}))},addUserData:function(e,t){return I().then((function(r){return b((0,p.generateOcsUrl)("cloud/users/{userid}",{userid:t})).then((function(t){return e.commit("addUserData",t)})).catch((function(e){throw e}))})).catch((function(r){return e.commit("API_FAILURE",{userid:t,error:r})}))},enableDisableUser:function(e,t){var r=t.userid,n=t.enabled,o=void 0===n||n,i=o?"enable":"disable";return I().then((function(t){return U((0,p.generateOcsUrl)("cloud/users/{userid}/{userStatus}",{userid:r,userStatus:i})).then((function(t){return e.commit("enableDisableUser",{userid:r,enabled:o})})).catch((function(e){throw e}))})).catch((function(t){return e.commit("API_FAILURE",{userid:r,error:t})}))},setUserData:function(e,t){var r=t.userid,n=t.key,o=t.value,i=["email","displayname"];return-1!==["email","language","quota","displayname","password"].indexOf(n)&&"string"==typeof o&&(-1===i.indexOf(n)&&o.length>0||-1!==i.indexOf(n))?I().then((function(t){return U((0,p.generateOcsUrl)("cloud/users/{userid}",{userid:r}),{key:n,value:o}).then((function(t){return e.commit("setUserData",{userid:r,key:n,value:o})})).catch((function(e){throw e}))})).catch((function(t){return e.commit("API_FAILURE",{userid:r,error:t})})):Promise.reject(new Error("Invalid request data"))},sendWelcomeMail:function(e,t){return I().then((function(e){return y((0,p.generateOcsUrl)("cloud/users/{userid}/welcome",{userid:t})).then((function(e){return!0})).catch((function(e){throw e}))})).catch((function(r){return e.commit("API_FAILURE",{userid:t,error:r})}))}}},D=o(26932),k=(o(36144),{APPS_API_FAILURE:function(e,r){(0,D.x2)(t("settings","An error occurred during the request. Unable to proceed.")+"
"+r.error.response.data.data.message,{isHTML:!0}),console.error(e,r)},initCategories:function(e,t){var r=t.categories,n=t.updateCount;e.categories=r,e.updateCount=n},setUpdateCount:function(e,t){e.updateCount=t},addCategory:function(e,t){e.categories.push(t)},appendCategories:function(e,t){e.categories=t},setAllApps:function(e,t){e.apps=t},setError:function(e,t){var r=t.appId,n=t.error;Array.isArray(r)||(r=[r]),r.forEach((function(t){e.apps.find((function(e){return e.id===t})).error=n}))},clearError:function(e,t){var r=t.appId;t.error,e.apps.find((function(e){return e.id===r})).error=null},enableApp:function(e,t){var r=t.appId,n=t.groups,o=e.apps.find((function(e){return e.id===r}));o.active=!0,o.groups=n},disableApp:function(e,t){var r=e.apps.find((function(e){return e.id===t}));r.active=!1,r.groups=[],r.removable&&(r.canUnInstall=!0)},uninstallApp:function(e,t){e.apps.find((function(e){return e.id===t})).active=!1,e.apps.find((function(e){return e.id===t})).groups=[],e.apps.find((function(e){return e.id===t})).needsDownload=!0,e.apps.find((function(e){return e.id===t})).installed=!1,e.apps.find((function(e){return e.id===t})).canUnInstall=!1,e.apps.find((function(e){return e.id===t})).canInstall=!0},updateApp:function(e,t){var r=e.apps.find((function(e){return e.id===t})),n=r.update;r.update=null,r.version=n,e.updateCount--},resetApps:function(e){e.apps=[]},reset:function(e){e.apps=[],e.categories=[],e.updateCount=0},startLoading:function(e,t){Array.isArray(t)?t.forEach((function(t){i.ZP.set(e.loading,t,!0)})):i.ZP.set(e.loading,t,!0)},stopLoading:function(e,t){Array.isArray(t)?t.forEach((function(t){i.ZP.set(e.loading,t,!1)})):i.ZP.set(e.loading,t,!1)}}),M={enableApp:function(e,r){var n,o=r.appId,i=r.groups;return n=Array.isArray(o)?o:[o],I().then((function(r){return e.commit("startLoading",n),e.commit("startLoading","install"),y((0,p.generateUrl)("settings/apps/enable"),{appIds:n,groups:i}).then((function(r){return e.commit("stopLoading",n),e.commit("stopLoading","install"),n.forEach((function(t){e.commit("enableApp",{appId:t,groups:i})})),b((0,p.generateUrl)("apps/files")).then((function(){r.data.update_required&&((0,D.JQ)(t("settings","The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds."),{onClick:function(){return window.location.reload()},close:!1}),setTimeout((function(){location.reload()}),5e3))})).catch((function(){Array.isArray(o)||e.commit("setError",{appId:n,error:t("settings","Error: This app cannot be enabled because it makes the server unstable")})}))})).catch((function(t){e.commit("stopLoading",n),e.commit("stopLoading","install"),e.commit("setError",{appId:n,error:t.response.data.data.message}),e.commit("APPS_API_FAILURE",{appId:o,error:t})}))})).catch((function(t){return e.commit("API_FAILURE",{appId:o,error:t})}))},forceEnableApp:function(e,t){var r,n=t.appId;return t.groups,r=Array.isArray(n)?n:[n],I().then((function(){return e.commit("startLoading",r),e.commit("startLoading","install"),y((0,p.generateUrl)("settings/apps/force"),{appId:n}).then((function(e){location.reload()})).catch((function(t){e.commit("stopLoading",r),e.commit("stopLoading","install"),e.commit("setError",{appId:r,error:t.response.data.data.message}),e.commit("APPS_API_FAILURE",{appId:n,error:t})}))})).catch((function(t){return e.commit("API_FAILURE",{appId:n,error:t})}))},disableApp:function(e,t){var r,n=t.appId;return r=Array.isArray(n)?n:[n],I().then((function(t){return e.commit("startLoading",r),y((0,p.generateUrl)("settings/apps/disable"),{appIds:r}).then((function(t){return e.commit("stopLoading",r),r.forEach((function(t){e.commit("disableApp",t)})),!0})).catch((function(t){e.commit("stopLoading",r),e.commit("APPS_API_FAILURE",{appId:n,error:t})}))})).catch((function(t){return e.commit("API_FAILURE",{appId:n,error:t})}))},uninstallApp:function(e,t){var r=t.appId;return I().then((function(t){return e.commit("startLoading",r),b((0,p.generateUrl)("settings/apps/uninstall/".concat(r))).then((function(t){return e.commit("stopLoading",r),e.commit("uninstallApp",r),!0})).catch((function(t){e.commit("stopLoading",r),e.commit("APPS_API_FAILURE",{appId:r,error:t})}))})).catch((function(t){return e.commit("API_FAILURE",{appId:r,error:t})}))},updateApp:function(e,t){var r=t.appId;return I().then((function(t){return e.commit("startLoading",r),e.commit("startLoading","install"),b((0,p.generateUrl)("settings/apps/update/".concat(r))).then((function(t){return e.commit("stopLoading","install"),e.commit("stopLoading",r),e.commit("updateApp",r),!0})).catch((function(t){e.commit("stopLoading",r),e.commit("stopLoading","install"),e.commit("APPS_API_FAILURE",{appId:r,error:t})}))})).catch((function(t){return e.commit("API_FAILURE",{appId:r,error:t})}))},getAllApps:function(e){return e.commit("startLoading","list"),b((0,p.generateUrl)("settings/apps/list")).then((function(t){return e.commit("setAllApps",t.data.apps),e.commit("stopLoading","list"),!0})).catch((function(t){return e.commit("API_FAILURE",t)}))},getCategories:function(e){return e.commit("startLoading","categories"),b((0,p.generateUrl)("settings/apps/categories")).then((function(t){return t.data.length>0&&(e.commit("appendCategories",t.data),e.commit("stopLoading","categories"),!0)})).catch((function(t){return e.commit("API_FAILURE",t)}))}},F={state:{apps:[],categories:[],updateCount:0,loading:{},loadingList:!1},mutations:k,getters:{loading:function(e){return function(t){return e.loading[t]}},getCategories:function(e){return e.categories},getAllApps:function(e){return e.apps},getUpdateCount:function(e){return e.updateCount}},actions:M},x={state:{},mutations:{},getters:{},actions:{setAppConfig:function(e,t){var r=t.app,n=t.key,o=t.value;return I().then((function(e){return y((0,p.generateOcsUrl)("apps/provisioning_api/api/v1/config/apps/{app}/{key}",{app:r,key:n}),{value:o}).catch((function(e){throw e}))})).catch((function(t){return e.commit("API_FAILURE",{app:r,key:n,value:o,error:t})}))}}};i.ZP.use(g.ZP);var j={API_FAILURE:function(e,r){try{var n=r.error.response.data.ocs.meta.message;(0,D.x2)(t("settings","An error occurred during the request. Unable to proceed.")+"
"+n,{isHTML:!0})}catch(e){(0,D.x2)(t("settings","An error occurred during the request. Unable to proceed."))}console.error(e,r)}},Z=new g.yh({modules:{users:R,apps:F,settings:{state:{serverData:{}},mutations:{setServerData:function(e,t){e.serverData=t}},getters:{getServerData:function(e){return e.serverData}},actions:{}},oc:x},strict:!1,mutations:j});i.ZP.use(u.default,{defaultHtml:!1}),(0,s.Z)(Z,m),o.nc=btoa(OC.requestToken),i.ZP.prototype.t=t,i.ZP.prototype.n=n,i.ZP.prototype.OC=OC,i.ZP.prototype.OCA=OCA,i.ZP.prototype.oc_userconfig=oc_userconfig,new i.ZP({router:m,store:Z,render:function(e){return e(c)}}).$mount("#content")},81490:function(e){e.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMTYiIHdpZHRoPSIxNiI+CiAgPHBhdGggZD0iTTE0IDEyLjNMMTIuMyAxNCA4IDkuNyAzLjcgMTQgMiAxMi4zIDYuMyA4IDIgMy43IDMuNyAyIDggNi4zIDEyLjMgMiAxNCAzLjcgOS43IDh6Ii8+Cjwvc3ZnPgo="},90888:function(e){e.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMTYiIHdpZHRoPSIxNiI+CiAgPHBhdGggZD0iTTE0IDEyLjNMMTIuMyAxNCA4IDkuNyAzLjcgMTQgMiAxMi4zIDYuMyA4IDIgMy43IDMuNyAyIDggNi4zIDEyLjMgMiAxNCAzLjcgOS43IDh6IiBzdHlsZT0iZmlsbC1vcGFjaXR5OjE7ZmlsbDojZmZmZmZmIi8+Cjwvc3ZnPgo="}},u={};function s(e){var t=u[e];if(void 0!==t)return t.exports;var r=u[e]={id:e,loaded:!1,exports:{}};return i[e].call(r.exports,r,r.exports,s),r.loaded=!0,r.exports}s.m=i,s.amdD=function(){throw new Error("define cannot be used indirect")},s.amdO={},e=[],s.O=function(t,r,n,o){if(!r){var i=1/0;for(d=0;d=o)&&Object.keys(s.O).every((function(e){return s.O[e](r[a])}))?r.splice(a--,1):(u=!1,o0&&e[d-1][2]>o;d--)e[d]=e[d-1];e[d]=[r,n,o]},s.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return s.d(t,{a:t}),t},s.d=function(e,t){for(var r in t)s.o(t,r)&&!s.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},s.f={},s.e=function(e){return Promise.all(Object.keys(s.f).reduce((function(t,r){return s.f[r](e,t),t}),[]))},s.u=function(e){return{7418:"settings-apps-view",8351:"settings-users"}[e]+"-"+e+".js?v="+{7418:"1551949ef4b03d04c7a2",8351:"42aa7b95279d8b9c5b3d"}[e]},s.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),s.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r={},o="nextcloud:",s.l=function(e,t,n,i){if(r[e])r[e].push(t);else{var u,a;if(void 0!==n)for(var c=document.getElementsByTagName("script"),d=0;d=0){var i=e.groups[o];i.name=n,e.groups.splice(o,1,i),e.groups=C(e.groups,e.orderBy)}},removeGroup:function(e,t){var r=e.groups.findIndex((function(e){return e.id===t}));r>=0&&e.groups.splice(r,1)},addUserGroup:function(e,t){var r=t.userid,n=t.gid,o=e.groups.find((function(e){return e.id===n})),i=e.users.find((function(e){return e.id===r}));o&&i.enabled&&e.userCount>0&&o.usercount++,i.groups.push(n),e.groups=C(e.groups,e.orderBy)},removeUserGroup:function(e,t){var r=t.userid,n=t.gid,o=e.groups.find((function(e){return e.id===n})),i=e.users.find((function(e){return e.id===r}));o&&i.enabled&&e.userCount>0&&o.usercount--;var u=i.groups;u.splice(u.indexOf(n),1),e.groups=C(e.groups,e.orderBy)},addUserSubAdmin:function(e,t){var r=t.userid,n=t.gid;e.users.find((function(e){return e.id===r})).subadmin.push(n)},removeUserSubAdmin:function(e,t){var r=t.userid,n=t.gid,o=e.users.find((function(e){return e.id===r})).subadmin;o.splice(o.indexOf(n),1)},deleteUser:function(e,t){var r=e.users.findIndex((function(e){return e.id===t}));this.commit("updateUserCounts",{user:e.users[r],actionType:"remove"}),e.users.splice(r,1)},addUserData:function(e,t){var r=t.data.ocs.data;e.users.push(r),this.commit("updateUserCounts",{user:r,actionType:"create"})},enableDisableUser:function(e,t){var r=t.userid,n=t.enabled,o=e.users.find((function(e){return e.id===r}));o.enabled=n,this.commit("updateUserCounts",{user:o,actionType:n?"enable":"disable"})},updateUserCounts:function(e,t){var r=t.user,n=t.actionType,o=e.groups.find((function(e){return"disabled"===e.id}));switch(n){case"enable":case"disable":o.usercount+=r.enabled?-1:1,e.userCount+=r.enabled?1:-1,r.groups.forEach((function(t){e.groups.find((function(e){return e.id===t})).disabled+=r.enabled?-1:1}));break;case"create":e.userCount++,r.groups.forEach((function(t){e.groups.find((function(e){return e.id===t})).usercount++}));break;case"remove":r.enabled?(e.userCount--,r.groups.forEach((function(t){e.groups.find((function(e){return e.id===t})).usercount--}))):(o.usercount--,r.groups.forEach((function(t){e.groups.find((function(e){return e.id===t})).disabled--})));break;default:P.error("Unknown action type in updateUserCounts: '".concat(n,"'"))}},setUserData:function(e,t){var r=t.userid,n=t.key,o=t.value;if("quota"===n){var i=OC.Util.computerFileSize(o);e.users.find((function(e){return e.id===r}))[n][n]=null!==i?i:o}else e.users.find((function(e){return e.id===r}))[n]=o},resetUsers:function(e){e.users=[],e.usersOffset=0}},O=h.default.CancelToken,_=null,R={state:{users:[],groups:[],orderBy:1,minPasswordLength:0,usersOffset:0,usersLimit:25,userCount:0},mutations:w,getters:{getUsers:function(e){return e.users},getGroups:function(e){return e.groups},getSubadminGroups:function(e){return e.groups.filter((function(e){return"admin"!==e.id&&"disabled"!==e.id}))},getPasswordPolicyMinLength:function(e){return e.minPasswordLength},getUsersOffset:function(e){return e.usersOffset},getUsersLimit:function(e){return e.usersLimit},getUserCount:function(e){return e.userCount}},actions:{getUsers:function(e,t){var r=t.offset,n=t.limit,o=t.search,i=t.group;return _&&_.cancel("Operation canceled by another search request."),_=O.source(),o="string"==typeof o?o:"",""!==(i="string"==typeof i?i:"")?b((0,p.generateOcsUrl)("cloud/groups/{group}/users/details?offset={offset}&limit={limit}&search={search}",{group:encodeURIComponent(i),offset:r,limit:n,search:o}),{cancelToken:_.token}).then((function(t){var r=Object.keys(t.data.ocs.data.users).length;return r>0&&e.commit("appendUsers",t.data.ocs.data.users),r})).catch((function(t){h.default.isCancel(t)||e.commit("API_FAILURE",t)})):b((0,p.generateOcsUrl)("cloud/users/details?offset={offset}&limit={limit}&search={search}",{offset:r,limit:n,search:o}),{cancelToken:_.token}).then((function(t){var r=Object.keys(t.data.ocs.data.users).length;return r>0&&e.commit("appendUsers",t.data.ocs.data.users),r})).catch((function(t){h.default.isCancel(t)||e.commit("API_FAILURE",t)}))},getGroups:function(e,t){var r=t.offset,n=t.limit,o=t.search;o="string"==typeof o?o:"";var i=-1===n?"":"&limit=".concat(n);return b((0,p.generateOcsUrl)("cloud/groups?offset={offset}&search={search}",{offset:r,search:o})+i).then((function(t){return Object.keys(t.data.ocs.data.groups).length>0&&(t.data.ocs.data.groups.forEach((function(t){e.commit("addGroup",{gid:t,displayName:t})})),!0)})).catch((function(t){return e.commit("API_FAILURE",t)}))},getUsersFromList:function(e,t){var r=t.offset,n=t.limit,o=t.search;return o="string"==typeof o?o:"",b((0,p.generateOcsUrl)("cloud/users/details?offset={offset}&limit={limit}&search={search}",{offset:r,limit:n,search:o})).then((function(t){return Object.keys(t.data.ocs.data.users).length>0&&(e.commit("appendUsers",t.data.ocs.data.users),!0)})).catch((function(t){return e.commit("API_FAILURE",t)}))},getUsersFromGroup:function(e,t){var r=t.groupid,n=t.offset,o=t.limit;return b((0,p.generateOcsUrl)("cloud/users/{groupId}/details?offset={offset}&limit={limit}",{groupId:encodeURIComponent(r),offset:n,limit:o})).then((function(t){return e.commit("getUsersFromList",t.data.ocs.data.users)})).catch((function(t){return e.commit("API_FAILURE",t)}))},getPasswordPolicyMinLength:function(e){return!(!OC.getCapabilities().password_policy||!OC.getCapabilities().password_policy.minLength)&&(e.commit("setPasswordPolicyMinLength",OC.getCapabilities().password_policy.minLength),OC.getCapabilities().password_policy.minLength)},addGroup:function(e,t){return I().then((function(r){return y((0,p.generateOcsUrl)("cloud/groups"),{groupid:t}).then((function(r){return e.commit("addGroup",{gid:t,displayName:t}),{gid:t,displayName:t}})).catch((function(e){throw e}))})).catch((function(r){throw e.commit("API_FAILURE",{gid:t,error:r}),r}))},renameGroup:function(e,t){var r=t.groupid,n=t.displayName;return I().then((function(t){return U((0,p.generateOcsUrl)("cloud/groups/{groupId}",{groupId:encodeURIComponent(r)}),{key:"displayname",value:n}).then((function(t){return e.commit("renameGroup",{gid:r,displayName:n}),{groupid:r,displayName:n}})).catch((function(e){throw e}))})).catch((function(t){throw e.commit("API_FAILURE",{groupid:r,error:t}),t}))},removeGroup:function(e,t){return I().then((function(r){return L((0,p.generateOcsUrl)("cloud/groups/{groupId}",{groupId:encodeURIComponent(t)})).then((function(r){return e.commit("removeGroup",t)})).catch((function(e){throw e}))})).catch((function(r){return e.commit("API_FAILURE",{gid:t,error:r})}))},addUserGroup:function(e,t){var r=t.userid,n=t.gid;return I().then((function(t){return y((0,p.generateOcsUrl)("cloud/users/{userid}/groups",{userid:r}),{groupid:n}).then((function(t){return e.commit("addUserGroup",{userid:r,gid:n})})).catch((function(e){throw e}))})).catch((function(t){return e.commit("API_FAILURE",{userid:r,error:t})}))},removeUserGroup:function(e,t){var r=t.userid,n=t.gid;return I().then((function(t){return L((0,p.generateOcsUrl)("cloud/users/{userid}/groups",{userid:r}),{groupid:n}).then((function(t){return e.commit("removeUserGroup",{userid:r,gid:n})})).catch((function(e){throw e}))})).catch((function(t){throw e.commit("API_FAILURE",{userid:r,error:t}),t}))},addUserSubAdmin:function(e,t){var r=t.userid,n=t.gid;return I().then((function(t){return y((0,p.generateOcsUrl)("cloud/users/{userid}/subadmins",{userid:r}),{groupid:n}).then((function(t){return e.commit("addUserSubAdmin",{userid:r,gid:n})})).catch((function(e){throw e}))})).catch((function(t){return e.commit("API_FAILURE",{userid:r,error:t})}))},removeUserSubAdmin:function(e,t){var r=t.userid,n=t.gid;return I().then((function(t){return L((0,p.generateOcsUrl)("cloud/users/{userid}/subadmins",{userid:r}),{groupid:n}).then((function(t){return e.commit("removeUserSubAdmin",{userid:r,gid:n})})).catch((function(e){throw e}))})).catch((function(t){return e.commit("API_FAILURE",{userid:r,error:t})}))},wipeUserDevices:function(e,t){return I().then((function(e){return y((0,p.generateOcsUrl)("cloud/users/{userid}/wipe",{userid:t})).catch((function(e){throw e}))})).catch((function(r){return e.commit("API_FAILURE",{userid:t,error:r})}))},deleteUser:function(e,t){return I().then((function(r){return L((0,p.generateOcsUrl)("cloud/users/{userid}",{userid:t})).then((function(r){return e.commit("deleteUser",t)})).catch((function(e){throw e}))})).catch((function(r){return e.commit("API_FAILURE",{userid:t,error:r})}))},addUser:function(e,t){var r=e.commit,n=e.dispatch,o=t.userid,i=t.password,u=t.displayName,s=t.email,a=t.groups,c=t.subadmin,d=t.quota,f=t.language;return I().then((function(e){return y((0,p.generateOcsUrl)("cloud/users"),{userid:o,password:i,displayName:u,email:s,groups:a,subadmin:c,quota:d,language:f}).then((function(e){return n("addUserData",o||e.data.ocs.data.id)})).catch((function(e){throw e}))})).catch((function(e){throw r("API_FAILURE",{userid:o,error:e}),e}))},addUserData:function(e,t){return I().then((function(r){return b((0,p.generateOcsUrl)("cloud/users/{userid}",{userid:t})).then((function(t){return e.commit("addUserData",t)})).catch((function(e){throw e}))})).catch((function(r){return e.commit("API_FAILURE",{userid:t,error:r})}))},enableDisableUser:function(e,t){var r=t.userid,n=t.enabled,o=void 0===n||n,i=o?"enable":"disable";return I().then((function(t){return U((0,p.generateOcsUrl)("cloud/users/{userid}/{userStatus}",{userid:r,userStatus:i})).then((function(t){return e.commit("enableDisableUser",{userid:r,enabled:o})})).catch((function(e){throw e}))})).catch((function(t){return e.commit("API_FAILURE",{userid:r,error:t})}))},setUserData:function(e,t){var r=t.userid,n=t.key,o=t.value,i=["email","displayname"];return-1!==["email","language","quota","displayname","password"].indexOf(n)&&"string"==typeof o&&(-1===i.indexOf(n)&&o.length>0||-1!==i.indexOf(n))?I().then((function(t){return U((0,p.generateOcsUrl)("cloud/users/{userid}",{userid:r}),{key:n,value:o}).then((function(t){return e.commit("setUserData",{userid:r,key:n,value:o})})).catch((function(e){throw e}))})).catch((function(t){return e.commit("API_FAILURE",{userid:r,error:t})})):Promise.reject(new Error("Invalid request data"))},sendWelcomeMail:function(e,t){return I().then((function(e){return y((0,p.generateOcsUrl)("cloud/users/{userid}/welcome",{userid:t})).then((function(e){return!0})).catch((function(e){throw e}))})).catch((function(r){return e.commit("API_FAILURE",{userid:t,error:r})}))}}},D=o(26932),k=(o(36144),{APPS_API_FAILURE:function(e,r){(0,D.x2)(t("settings","An error occurred during the request. Unable to proceed.")+"
"+r.error.response.data.data.message,{isHTML:!0}),console.error(e,r)},initCategories:function(e,t){var r=t.categories,n=t.updateCount;e.categories=r,e.updateCount=n},setUpdateCount:function(e,t){e.updateCount=t},addCategory:function(e,t){e.categories.push(t)},appendCategories:function(e,t){e.categories=t},setAllApps:function(e,t){e.apps=t},setError:function(e,t){var r=t.appId,n=t.error;Array.isArray(r)||(r=[r]),r.forEach((function(t){e.apps.find((function(e){return e.id===t})).error=n}))},clearError:function(e,t){var r=t.appId;t.error,e.apps.find((function(e){return e.id===r})).error=null},enableApp:function(e,t){var r=t.appId,n=t.groups,o=e.apps.find((function(e){return e.id===r}));o.active=!0,o.groups=n},disableApp:function(e,t){var r=e.apps.find((function(e){return e.id===t}));r.active=!1,r.groups=[],r.removable&&(r.canUnInstall=!0)},uninstallApp:function(e,t){e.apps.find((function(e){return e.id===t})).active=!1,e.apps.find((function(e){return e.id===t})).groups=[],e.apps.find((function(e){return e.id===t})).needsDownload=!0,e.apps.find((function(e){return e.id===t})).installed=!1,e.apps.find((function(e){return e.id===t})).canUnInstall=!1,e.apps.find((function(e){return e.id===t})).canInstall=!0},updateApp:function(e,t){var r=e.apps.find((function(e){return e.id===t})),n=r.update;r.update=null,r.version=n,e.updateCount--},resetApps:function(e){e.apps=[]},reset:function(e){e.apps=[],e.categories=[],e.updateCount=0},startLoading:function(e,t){Array.isArray(t)?t.forEach((function(t){i.ZP.set(e.loading,t,!0)})):i.ZP.set(e.loading,t,!0)},stopLoading:function(e,t){Array.isArray(t)?t.forEach((function(t){i.ZP.set(e.loading,t,!1)})):i.ZP.set(e.loading,t,!1)}}),M={enableApp:function(e,r){var n,o=r.appId,i=r.groups;return n=Array.isArray(o)?o:[o],I().then((function(r){return e.commit("startLoading",n),e.commit("startLoading","install"),y((0,p.generateUrl)("settings/apps/enable"),{appIds:n,groups:i}).then((function(r){return e.commit("stopLoading",n),e.commit("stopLoading","install"),n.forEach((function(t){e.commit("enableApp",{appId:t,groups:i})})),b((0,p.generateUrl)("apps/files")).then((function(){r.data.update_required&&((0,D.JQ)(t("settings","The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds."),{onClick:function(){return window.location.reload()},close:!1}),setTimeout((function(){location.reload()}),5e3))})).catch((function(){Array.isArray(o)||e.commit("setError",{appId:n,error:t("settings","Error: This app cannot be enabled because it makes the server unstable")})}))})).catch((function(t){e.commit("stopLoading",n),e.commit("stopLoading","install"),e.commit("setError",{appId:n,error:t.response.data.data.message}),e.commit("APPS_API_FAILURE",{appId:o,error:t})}))})).catch((function(t){return e.commit("API_FAILURE",{appId:o,error:t})}))},forceEnableApp:function(e,t){var r,n=t.appId;return t.groups,r=Array.isArray(n)?n:[n],I().then((function(){return e.commit("startLoading",r),e.commit("startLoading","install"),y((0,p.generateUrl)("settings/apps/force"),{appId:n}).then((function(e){location.reload()})).catch((function(t){e.commit("stopLoading",r),e.commit("stopLoading","install"),e.commit("setError",{appId:r,error:t.response.data.data.message}),e.commit("APPS_API_FAILURE",{appId:n,error:t})}))})).catch((function(t){return e.commit("API_FAILURE",{appId:n,error:t})}))},disableApp:function(e,t){var r,n=t.appId;return r=Array.isArray(n)?n:[n],I().then((function(t){return e.commit("startLoading",r),y((0,p.generateUrl)("settings/apps/disable"),{appIds:r}).then((function(t){return e.commit("stopLoading",r),r.forEach((function(t){e.commit("disableApp",t)})),!0})).catch((function(t){e.commit("stopLoading",r),e.commit("APPS_API_FAILURE",{appId:n,error:t})}))})).catch((function(t){return e.commit("API_FAILURE",{appId:n,error:t})}))},uninstallApp:function(e,t){var r=t.appId;return I().then((function(t){return e.commit("startLoading",r),b((0,p.generateUrl)("settings/apps/uninstall/".concat(r))).then((function(t){return e.commit("stopLoading",r),e.commit("uninstallApp",r),!0})).catch((function(t){e.commit("stopLoading",r),e.commit("APPS_API_FAILURE",{appId:r,error:t})}))})).catch((function(t){return e.commit("API_FAILURE",{appId:r,error:t})}))},updateApp:function(e,t){var r=t.appId;return I().then((function(t){return e.commit("startLoading",r),e.commit("startLoading","install"),b((0,p.generateUrl)("settings/apps/update/".concat(r))).then((function(t){return e.commit("stopLoading","install"),e.commit("stopLoading",r),e.commit("updateApp",r),!0})).catch((function(t){e.commit("stopLoading",r),e.commit("stopLoading","install"),e.commit("APPS_API_FAILURE",{appId:r,error:t})}))})).catch((function(t){return e.commit("API_FAILURE",{appId:r,error:t})}))},getAllApps:function(e){return e.commit("startLoading","list"),b((0,p.generateUrl)("settings/apps/list")).then((function(t){return e.commit("setAllApps",t.data.apps),e.commit("stopLoading","list"),!0})).catch((function(t){return e.commit("API_FAILURE",t)}))},getCategories:function(e){return e.commit("startLoading","categories"),b((0,p.generateUrl)("settings/apps/categories")).then((function(t){return t.data.length>0&&(e.commit("appendCategories",t.data),e.commit("stopLoading","categories"),!0)})).catch((function(t){return e.commit("API_FAILURE",t)}))}},F={state:{apps:[],categories:[],updateCount:0,loading:{},loadingList:!1},mutations:k,getters:{loading:function(e){return function(t){return e.loading[t]}},getCategories:function(e){return e.categories},getAllApps:function(e){return e.apps},getUpdateCount:function(e){return e.updateCount}},actions:M},x={state:{},mutations:{},getters:{},actions:{setAppConfig:function(e,t){var r=t.app,n=t.key,o=t.value;return I().then((function(e){return y((0,p.generateOcsUrl)("apps/provisioning_api/api/v1/config/apps/{app}/{key}",{app:r,key:n}),{value:o}).catch((function(e){throw e}))})).catch((function(t){return e.commit("API_FAILURE",{app:r,key:n,value:o,error:t})}))}}};i.ZP.use(g.ZP);var j={API_FAILURE:function(e,r){try{var n=r.error.response.data.ocs.meta.message;(0,D.x2)(t("settings","An error occurred during the request. Unable to proceed.")+"
"+n,{isHTML:!0})}catch(e){(0,D.x2)(t("settings","An error occurred during the request. Unable to proceed."))}console.error(e,r)}},Z=new g.yh({modules:{users:R,apps:F,settings:{state:{serverData:{}},mutations:{setServerData:function(e,t){e.serverData=t}},getters:{getServerData:function(e){return e.serverData}},actions:{}},oc:x},strict:!1,mutations:j});i.ZP.use(u.default,{defaultHtml:!1}),(0,s.Z)(Z,m),o.nc=btoa(OC.requestToken),i.ZP.prototype.t=t,i.ZP.prototype.n=n,i.ZP.prototype.OC=OC,i.ZP.prototype.OCA=OCA,i.ZP.prototype.oc_userconfig=oc_userconfig,new i.ZP({router:m,store:Z,render:function(e){return e(c)}}).$mount("#content")},81490:function(e){e.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMTYiIHdpZHRoPSIxNiI+CiAgPHBhdGggZD0iTTE0IDEyLjNMMTIuMyAxNCA4IDkuNyAzLjcgMTQgMiAxMi4zIDYuMyA4IDIgMy43IDMuNyAyIDggNi4zIDEyLjMgMiAxNCAzLjcgOS43IDh6Ii8+Cjwvc3ZnPgo="},90888:function(e){e.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMTYiIHdpZHRoPSIxNiI+CiAgPHBhdGggZD0iTTE0IDEyLjNMMTIuMyAxNCA4IDkuNyAzLjcgMTQgMiAxMi4zIDYuMyA4IDIgMy43IDMuNyAyIDggNi4zIDEyLjMgMiAxNCAzLjcgOS43IDh6IiBzdHlsZT0iZmlsbC1vcGFjaXR5OjE7ZmlsbDojZmZmZmZmIi8+Cjwvc3ZnPgo="}},u={};function s(e){var t=u[e];if(void 0!==t)return t.exports;var r=u[e]={id:e,loaded:!1,exports:{}};return i[e].call(r.exports,r,r.exports,s),r.loaded=!0,r.exports}s.m=i,s.amdD=function(){throw new Error("define cannot be used indirect")},s.amdO={},e=[],s.O=function(t,r,n,o){if(!r){var i=1/0;for(d=0;d=o)&&Object.keys(s.O).every((function(e){return s.O[e](r[a])}))?r.splice(a--,1):(u=!1,o0&&e[d-1][2]>o;d--)e[d]=e[d-1];e[d]=[r,n,o]},s.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return s.d(t,{a:t}),t},s.d=function(e,t){for(var r in t)s.o(t,r)&&!s.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},s.f={},s.e=function(e){return Promise.all(Object.keys(s.f).reduce((function(t,r){return s.f[r](e,t),t}),[]))},s.u=function(e){return{7418:"settings-apps-view",8351:"settings-users"}[e]+"-"+e+".js?v="+{7418:"e7c5bbd57f434a75cc99",8351:"42aa7b95279d8b9c5b3d"}[e]},s.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),s.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r={},o="nextcloud:",s.l=function(e,t,n,i){if(r[e])r[e].push(t);else{var u,a;if(void 0!==n)for(var c=document.getElementsByTagName("script"),d=0;d 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every(function(key) { return __webpack_require__.O[key](chunkIds[j]); })) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","var inProgress = {};\nvar dataWebpackPrefix = \"nextcloud:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = function(url, done, key, chunkId) {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = function(prev, event) {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach(function(fn) { return fn(event); });\n\t\tif(prev) return prev(event);\n\t}\n\t;\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","import mod from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"","\n\n\n\n\n","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=50420604&\"\nimport script from \"./App.vue?vue&type=script&lang=js&\"\nexport * from \"./App.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('router-view')}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * @copyright Copyright (c) 2018 John Molakvoæ \n *\n * @author John Molakvoæ \n * @author Julius Härtl \n * @author Roeland Jago Douma \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport Vue from 'vue'\nimport Router from 'vue-router'\nimport { generateUrl } from '@nextcloud/router'\n\n// Dynamic loading\nconst Users = () => import(/* webpackChunkName: 'settings-users' */'./views/Users')\nconst Apps = () => import(/* webpackChunkName: 'settings-apps-view' */'./views/Apps')\n\nVue.use(Router)\n\n/*\n * This is the list of routes where the vuejs app will\n * take over php to provide data\n * You need to forward the php routing (routes.php) to\n * the settings-vue template, where the vue-router will\n * ensure the proper route.\n * ⚠️ Routes needs to match the php routes.\n */\n\nexport default new Router({\n\tmode: 'history',\n\t// if index.php is in the url AND we got this far, then it's working:\n\t// let's keep using index.php in the url\n\tbase: generateUrl(''),\n\tlinkActiveClass: 'active',\n\troutes: [\n\t\t{\n\t\t\tpath: '/:index(index.php/)?settings/users',\n\t\t\tcomponent: Users,\n\t\t\tprops: true,\n\t\t\tname: 'users',\n\t\t\tchildren: [\n\t\t\t\t{\n\t\t\t\t\tpath: ':selectedGroup',\n\t\t\t\t\tname: 'group',\n\t\t\t\t\tcomponent: Users,\n\t\t\t\t},\n\t\t\t],\n\t\t},\n\t\t{\n\t\t\tpath: '/:index(index.php/)?settings/apps',\n\t\t\tcomponent: Apps,\n\t\t\tprops: true,\n\t\t\tname: 'apps',\n\t\t\tchildren: [\n\t\t\t\t{\n\t\t\t\t\tpath: ':category',\n\t\t\t\t\tname: 'apps-category',\n\t\t\t\t\tcomponent: Apps,\n\t\t\t\t\tchildren: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tpath: ':id',\n\t\t\t\t\t\t\tname: 'apps-details',\n\t\t\t\t\t\t\tcomponent: Apps,\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t],\n\t\t},\n\t],\n})\n","/**\n * @copyright Copyright (c) 2018 John Molakvoæ \n *\n * @author Christoph Wurst \n * @author John Molakvoæ \n * @author Julius Härtl \n * @author Roeland Jago Douma \n * @author Sujith Haridasan \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport axios from '@nextcloud/axios'\nimport { confirmPassword } from '@nextcloud/password-confirmation'\nimport '@nextcloud/password-confirmation/dist/style.css'\n\nconst sanitize = function(url) {\n\treturn url.replace(/\\/$/, '') // Remove last url slash\n}\n\nexport default {\n\n\t/**\n\t * This Promise is used to chain a request that require an admin password confirmation\n\t * Since chaining Promise have a very precise behavior concerning catch and then,\n\t * you'll need to be careful when using it.\n\t * e.g\n\t * // store\n\t * action(context) {\n\t * return api.requireAdmin().then((response) => {\n\t * return api.get('url')\n\t * .then((response) => {API success})\n\t * .catch((error) => {API failure});\n\t * }).catch((error) => {requireAdmin failure});\n\t * }\n\t * // vue\n\t * this.$store.dispatch('action').then(() => {always executed})\n\t *\n\t * Since Promise.then().catch().then() will always execute the last then\n\t * this.$store.dispatch('action').then will always be executed\n\t *\n\t * If you want requireAdmin failure to also catch the API request failure\n\t * you will need to throw a new error in the api.get.catch()\n\t *\n\t * e.g\n\t * api.requireAdmin().then((response) => {\n\t * api.get('url')\n\t * .then((response) => {API success})\n\t * .catch((error) => {throw error;});\n\t * }).catch((error) => {requireAdmin OR API failure});\n\t *\n\t * @return {Promise}\n\t */\n\trequireAdmin() {\n\t\treturn confirmPassword()\n\t},\n\tget(url, options) {\n\t\treturn axios.get(sanitize(url), options)\n\t},\n\tpost(url, data) {\n\t\treturn axios.post(sanitize(url), data)\n\t},\n\tpatch(url, data) {\n\t\treturn axios.patch(sanitize(url), data)\n\t},\n\tput(url, data) {\n\t\treturn axios.put(sanitize(url), data)\n\t},\n\tdelete(url, data) {\n\t\treturn axios.delete(sanitize(url), { params: data })\n\t},\n}\n","/**\n * @copyright 2020 Christoph Wurst \n *\n * @author Roeland Jago Douma \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport { getLoggerBuilder } from '@nextcloud/logger'\n\nexport default getLoggerBuilder()\n\t.setApp('settings')\n\t.detectUser()\n\t.build()\n","/**\n * @copyright Copyright (c) 2018 John Molakvoæ \n *\n * @author Arthur Schiwon \n * @author Christoph Wurst \n * @author Daniel Calviño Sánchez \n * @author John Molakvoæ \n * @author Julius Härtl \n * @author Roeland Jago Douma \n * @author Vincent Petry \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport api from './api'\nimport axios from '@nextcloud/axios'\nimport { generateOcsUrl } from '@nextcloud/router'\nimport logger from '../logger'\n\nconst orderGroups = function(groups, orderBy) {\n\t/* const SORT_USERCOUNT = 1;\n\t * const SORT_GROUPNAME = 2;\n\t * https://github.com/nextcloud/server/blob/208e38e84e1a07a49699aa90dc5b7272d24489f0/lib/private/Group/MetaData.php#L34\n\t */\n\tif (orderBy === 1) {\n\t\treturn groups.sort((a, b) => a.usercount - a.disabled < b.usercount - b.disabled)\n\t} else {\n\t\treturn groups.sort((a, b) => a.name.localeCompare(b.name))\n\t}\n}\n\nconst defaults = {\n\tgroup: {\n\t\tid: '',\n\t\tname: '',\n\t\tusercount: 0,\n\t\tdisabled: 0,\n\t\tcanAdd: true,\n\t\tcanRemove: true,\n\t},\n}\n\nconst state = {\n\tusers: [],\n\tgroups: [],\n\torderBy: 1,\n\tminPasswordLength: 0,\n\tusersOffset: 0,\n\tusersLimit: 25,\n\tuserCount: 0,\n}\n\nconst mutations = {\n\tappendUsers(state, usersObj) {\n\t\t// convert obj to array\n\t\tconst users = state.users.concat(Object.keys(usersObj).map(userid => usersObj[userid]))\n\t\tstate.usersOffset += state.usersLimit\n\t\tstate.users = users\n\t},\n\tsetPasswordPolicyMinLength(state, length) {\n\t\tstate.minPasswordLength = length !== '' ? length : 0\n\t},\n\tinitGroups(state, { groups, orderBy, userCount }) {\n\t\tstate.groups = groups.map(group => Object.assign({}, defaults.group, group))\n\t\tstate.orderBy = orderBy\n\t\tstate.userCount = userCount\n\t\tstate.groups = orderGroups(state.groups, state.orderBy)\n\n\t},\n\taddGroup(state, { gid, displayName }) {\n\t\ttry {\n\t\t\tif (typeof state.groups.find((group) => group.id === gid) !== 'undefined') {\n\t\t\t\treturn\n\t\t\t}\n\t\t\t// extend group to default values\n\t\t\tconst group = Object.assign({}, defaults.group, {\n\t\t\t\tid: gid,\n\t\t\t\tname: displayName,\n\t\t\t})\n\t\t\tstate.groups.push(group)\n\t\t\tstate.groups = orderGroups(state.groups, state.orderBy)\n\t\t} catch (e) {\n\t\t\tconsole.error('Can\\'t create group', e)\n\t\t}\n\t},\n\trenameGroup(state, { gid, displayName }) {\n\t\tconst groupIndex = state.groups.findIndex(groupSearch => groupSearch.id === gid)\n\t\tif (groupIndex >= 0) {\n\t\t\tconst updatedGroup = state.groups[groupIndex]\n\t\t\tupdatedGroup.name = displayName\n\t\t\tstate.groups.splice(groupIndex, 1, updatedGroup)\n\t\t\tstate.groups = orderGroups(state.groups, state.orderBy)\n\t\t}\n\t},\n\tremoveGroup(state, gid) {\n\t\tconst groupIndex = state.groups.findIndex(groupSearch => groupSearch.id === gid)\n\t\tif (groupIndex >= 0) {\n\t\t\tstate.groups.splice(groupIndex, 1)\n\t\t}\n\t},\n\taddUserGroup(state, { userid, gid }) {\n\t\tconst group = state.groups.find(groupSearch => groupSearch.id === gid)\n\t\tconst user = state.users.find(user => user.id === userid)\n\t\t// increase count if user is enabled\n\t\tif (group && user.enabled && state.userCount > 0) {\n\t\t\tgroup.usercount++\n\t\t}\n\t\tconst groups = user.groups\n\t\tgroups.push(gid)\n\t\tstate.groups = orderGroups(state.groups, state.orderBy)\n\t},\n\tremoveUserGroup(state, { userid, gid }) {\n\t\tconst group = state.groups.find(groupSearch => groupSearch.id === gid)\n\t\tconst user = state.users.find(user => user.id === userid)\n\t\t// lower count if user is enabled\n\t\tif (group && user.enabled && state.userCount > 0) {\n\t\t\tgroup.usercount--\n\t\t}\n\t\tconst groups = user.groups\n\t\tgroups.splice(groups.indexOf(gid), 1)\n\t\tstate.groups = orderGroups(state.groups, state.orderBy)\n\t},\n\taddUserSubAdmin(state, { userid, gid }) {\n\t\tconst groups = state.users.find(user => user.id === userid).subadmin\n\t\tgroups.push(gid)\n\t},\n\tremoveUserSubAdmin(state, { userid, gid }) {\n\t\tconst groups = state.users.find(user => user.id === userid).subadmin\n\t\tgroups.splice(groups.indexOf(gid), 1)\n\t},\n\tdeleteUser(state, userid) {\n\t\tconst userIndex = state.users.findIndex(user => user.id === userid)\n\t\tthis.commit('updateUserCounts', { user: state.users[userIndex], actionType: 'remove' })\n\t\tstate.users.splice(userIndex, 1)\n\t},\n\taddUserData(state, response) {\n\t\tconst user = response.data.ocs.data\n\t\tstate.users.push(user)\n\t\tthis.commit('updateUserCounts', { user, actionType: 'create' })\n\t},\n\tenableDisableUser(state, { userid, enabled }) {\n\t\tconst user = state.users.find(user => user.id === userid)\n\t\tuser.enabled = enabled\n\t\tthis.commit('updateUserCounts', { user, actionType: enabled ? 'enable' : 'disable' })\n\t},\n\t// update active/disabled counts, groups counts\n\tupdateUserCounts(state, { user, actionType }) {\n\t\tconst disabledGroup = state.groups.find(group => group.id === 'disabled')\n\t\tswitch (actionType) {\n\t\tcase 'enable':\n\t\tcase 'disable':\n\t\t\tdisabledGroup.usercount += user.enabled ? -1 : 1 // update Disabled Users count\n\t\t\tstate.userCount += user.enabled ? 1 : -1 // update Active Users count\n\t\t\tuser.groups.forEach(userGroup => {\n\t\t\t\tconst group = state.groups.find(groupSearch => groupSearch.id === userGroup)\n\t\t\t\tgroup.disabled += user.enabled ? -1 : 1 // update group disabled count\n\t\t\t})\n\t\t\tbreak\n\t\tcase 'create':\n\t\t\tstate.userCount++ // increment Active Users count\n\n\t\t\tuser.groups.forEach(userGroup => {\n\t\t\t\tstate.groups\n\t\t\t\t\t.find(groupSearch => groupSearch.id === userGroup)\n\t\t\t\t .usercount++ // increment group total count\n\t\t\t})\n\t\t\tbreak\n\t\tcase 'remove':\n\t\t\tif (user.enabled) {\n\t\t\t\tstate.userCount-- // decrement Active Users count\n\t\t\t\tuser.groups.forEach(userGroup => {\n\t\t\t\t\tconst group = state.groups.find(groupSearch => groupSearch.id === userGroup)\n\t\t\t\t\tgroup.usercount-- // decrement group total count\n\t\t\t\t})\n\t\t\t} else {\n\t\t\t\tdisabledGroup.usercount-- // decrement Disabled Users count\n\t\t\t\tuser.groups.forEach(userGroup => {\n\t\t\t\t\tconst group = state.groups.find(groupSearch => groupSearch.id === userGroup)\n\t\t\t\t\tgroup.disabled-- // decrement group disabled count\n\t\t\t\t})\n\t\t\t}\n\t\t\tbreak\n\t\tdefault:\n\t\t\tlogger.error(`Unknown action type in updateUserCounts: '${actionType}'`)\n\t\t\t// not throwing error to interrupt execution as this is not fatal\n\t\t}\n\t},\n\tsetUserData(state, { userid, key, value }) {\n\t\tif (key === 'quota') {\n\t\t\tconst humanValue = OC.Util.computerFileSize(value)\n\t\t\tstate.users.find(user => user.id === userid)[key][key] = humanValue !== null ? humanValue : value\n\t\t} else {\n\t\t\tstate.users.find(user => user.id === userid)[key] = value\n\t\t}\n\t},\n\n\t/**\n\t * Reset users list\n\t *\n\t * @param {object} state the store state\n\t */\n\tresetUsers(state) {\n\t\tstate.users = []\n\t\tstate.usersOffset = 0\n\t},\n}\n\nconst getters = {\n\tgetUsers(state) {\n\t\treturn state.users\n\t},\n\tgetGroups(state) {\n\t\treturn state.groups\n\t},\n\tgetSubadminGroups(state) {\n\t\t// Can't be subadmin of admin or disabled\n\t\treturn state.groups.filter(group => group.id !== 'admin' && group.id !== 'disabled')\n\t},\n\tgetPasswordPolicyMinLength(state) {\n\t\treturn state.minPasswordLength\n\t},\n\tgetUsersOffset(state) {\n\t\treturn state.usersOffset\n\t},\n\tgetUsersLimit(state) {\n\t\treturn state.usersLimit\n\t},\n\tgetUserCount(state) {\n\t\treturn state.userCount\n\t},\n}\n\nconst CancelToken = axios.CancelToken\nlet searchRequestCancelSource = null\n\nconst actions = {\n\n\t/**\n\t * Get all users with full details\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {number} options.offset List offset to request\n\t * @param {number} options.limit List number to return from offset\n\t * @param {string} options.search Search amongst users\n\t * @param {string} options.group Get users from group\n\t * @return {Promise}\n\t */\n\tgetUsers(context, { offset, limit, search, group }) {\n\t\tif (searchRequestCancelSource) {\n\t\t\tsearchRequestCancelSource.cancel('Operation canceled by another search request.')\n\t\t}\n\t\tsearchRequestCancelSource = CancelToken.source()\n\t\tsearch = typeof search === 'string' ? search : ''\n\t\tgroup = typeof group === 'string' ? group : ''\n\t\tif (group !== '') {\n\t\t\treturn api.get(generateOcsUrl('cloud/groups/{group}/users/details?offset={offset}&limit={limit}&search={search}', { group: encodeURIComponent(group), offset, limit, search }), {\n\t\t\t\tcancelToken: searchRequestCancelSource.token,\n\t\t\t})\n\t\t\t\t.then((response) => {\n\t\t\t\t\tconst usersCount = Object.keys(response.data.ocs.data.users).length\n\t\t\t\t\tif (usersCount > 0) {\n\t\t\t\t\t\tcontext.commit('appendUsers', response.data.ocs.data.users)\n\t\t\t\t\t}\n\t\t\t\t\treturn usersCount\n\t\t\t\t})\n\t\t\t\t.catch((error) => {\n\t\t\t\t\tif (!axios.isCancel(error)) {\n\t\t\t\t\t\tcontext.commit('API_FAILURE', error)\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t}\n\n\t\treturn api.get(generateOcsUrl('cloud/users/details?offset={offset}&limit={limit}&search={search}', { offset, limit, search }), {\n\t\t\tcancelToken: searchRequestCancelSource.token,\n\t\t})\n\t\t\t.then((response) => {\n\t\t\t\tconst usersCount = Object.keys(response.data.ocs.data.users).length\n\t\t\t\tif (usersCount > 0) {\n\t\t\t\t\tcontext.commit('appendUsers', response.data.ocs.data.users)\n\t\t\t\t}\n\t\t\t\treturn usersCount\n\t\t\t})\n\t\t\t.catch((error) => {\n\t\t\t\tif (!axios.isCancel(error)) {\n\t\t\t\t\tcontext.commit('API_FAILURE', error)\n\t\t\t\t}\n\t\t\t})\n\t},\n\n\tgetGroups(context, { offset, limit, search }) {\n\t\tsearch = typeof search === 'string' ? search : ''\n\t\tconst limitParam = limit === -1 ? '' : `&limit=${limit}`\n\t\treturn api.get(generateOcsUrl('cloud/groups?offset={offset}&search={search}', { offset, search }) + limitParam)\n\t\t\t.then((response) => {\n\t\t\t\tif (Object.keys(response.data.ocs.data.groups).length > 0) {\n\t\t\t\t\tresponse.data.ocs.data.groups.forEach(function(group) {\n\t\t\t\t\t\tcontext.commit('addGroup', { gid: group, displayName: group })\n\t\t\t\t\t})\n\t\t\t\t\treturn true\n\t\t\t\t}\n\t\t\t\treturn false\n\t\t\t})\n\t\t\t.catch((error) => context.commit('API_FAILURE', error))\n\t},\n\n\t/**\n\t * Get all users with full details\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {number} options.offset List offset to request\n\t * @param {number} options.limit List number to return from offset\n\t * @param {string} options.search -\n\t * @return {Promise}\n\t */\n\tgetUsersFromList(context, { offset, limit, search }) {\n\t\tsearch = typeof search === 'string' ? search : ''\n\t\treturn api.get(generateOcsUrl('cloud/users/details?offset={offset}&limit={limit}&search={search}', { offset, limit, search }))\n\t\t\t.then((response) => {\n\t\t\t\tif (Object.keys(response.data.ocs.data.users).length > 0) {\n\t\t\t\t\tcontext.commit('appendUsers', response.data.ocs.data.users)\n\t\t\t\t\treturn true\n\t\t\t\t}\n\t\t\t\treturn false\n\t\t\t})\n\t\t\t.catch((error) => context.commit('API_FAILURE', error))\n\t},\n\n\t/**\n\t * Get all users with full details from a groupid\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {number} options.offset List offset to request\n\t * @param {number} options.limit List number to return from offset\n\t * @param {string} options.groupid -\n\t * @return {Promise}\n\t */\n\tgetUsersFromGroup(context, { groupid, offset, limit }) {\n\t\treturn api.get(generateOcsUrl('cloud/users/{groupId}/details?offset={offset}&limit={limit}', { groupId: encodeURIComponent(groupid), offset, limit }))\n\t\t\t.then((response) => context.commit('getUsersFromList', response.data.ocs.data.users))\n\t\t\t.catch((error) => context.commit('API_FAILURE', error))\n\t},\n\n\tgetPasswordPolicyMinLength(context) {\n\t\tif (OC.getCapabilities().password_policy && OC.getCapabilities().password_policy.minLength) {\n\t\t\tcontext.commit('setPasswordPolicyMinLength', OC.getCapabilities().password_policy.minLength)\n\t\t\treturn OC.getCapabilities().password_policy.minLength\n\t\t}\n\t\treturn false\n\t},\n\n\t/**\n\t * Add group\n\t *\n\t * @param {object} context store context\n\t * @param {string} gid Group id\n\t * @return {Promise}\n\t */\n\taddGroup(context, gid) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.post(generateOcsUrl('cloud/groups'), { groupid: gid })\n\t\t\t\t.then((response) => {\n\t\t\t\t\tcontext.commit('addGroup', { gid, displayName: gid })\n\t\t\t\t\treturn { gid, displayName: gid }\n\t\t\t\t})\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => {\n\t\t\tcontext.commit('API_FAILURE', { gid, error })\n\t\t\t// let's throw one more time to prevent the view\n\t\t\t// from adding the user to a group that doesn't exists\n\t\t\tthrow error\n\t\t})\n\t},\n\n\t/**\n\t * Rename group\n\t *\n\t * @param {object} context store context\n\t * @param {string} groupid Group id\n\t * @param {string} displayName Group display name\n\t * @return {Promise}\n\t */\n\trenameGroup(context, { groupid, displayName }) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.put(generateOcsUrl('cloud/groups/{groupId}', { groupId: encodeURIComponent(groupid) }), { key: 'displayname', value: displayName })\n\t\t\t\t.then((response) => {\n\t\t\t\t\tcontext.commit('renameGroup', { gid: groupid, displayName })\n\t\t\t\t\treturn { groupid, displayName }\n\t\t\t\t})\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => {\n\t\t\tcontext.commit('API_FAILURE', { groupid, error })\n\t\t\t// let's throw one more time to prevent the view\n\t\t\t// from renaming the group\n\t\t\tthrow error\n\t\t})\n\t},\n\n\t/**\n\t * Remove group\n\t *\n\t * @param {object} context store context\n\t * @param {string} gid Group id\n\t * @return {Promise}\n\t */\n\tremoveGroup(context, gid) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.delete(generateOcsUrl('cloud/groups/{groupId}', { groupId: encodeURIComponent(gid) }))\n\t\t\t\t.then((response) => context.commit('removeGroup', gid))\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => context.commit('API_FAILURE', { gid, error }))\n\t},\n\n\t/**\n\t * Add user to group\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {string} options.userid User id\n\t * @param {string} options.gid Group id\n\t * @return {Promise}\n\t */\n\taddUserGroup(context, { userid, gid }) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.post(generateOcsUrl('cloud/users/{userid}/groups', { userid }), { groupid: gid })\n\t\t\t\t.then((response) => context.commit('addUserGroup', { userid, gid }))\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }))\n\t},\n\n\t/**\n\t * Remove user from group\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {string} options.userid User id\n\t * @param {string} options.gid Group id\n\t * @return {Promise}\n\t */\n\tremoveUserGroup(context, { userid, gid }) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.delete(generateOcsUrl('cloud/users/{userid}/groups', { userid }), { groupid: gid })\n\t\t\t\t.then((response) => context.commit('removeUserGroup', { userid, gid }))\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => {\n\t\t\tcontext.commit('API_FAILURE', { userid, error })\n\t\t\t// let's throw one more time to prevent\n\t\t\t// the view from removing the user row on failure\n\t\t\tthrow error\n\t\t})\n\t},\n\n\t/**\n\t * Add user to group admin\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {string} options.userid User id\n\t * @param {string} options.gid Group id\n\t * @return {Promise}\n\t */\n\taddUserSubAdmin(context, { userid, gid }) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.post(generateOcsUrl('cloud/users/{userid}/subadmins', { userid }), { groupid: gid })\n\t\t\t\t.then((response) => context.commit('addUserSubAdmin', { userid, gid }))\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }))\n\t},\n\n\t/**\n\t * Remove user from group admin\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {string} options.userid User id\n\t * @param {string} options.gid Group id\n\t * @return {Promise}\n\t */\n\tremoveUserSubAdmin(context, { userid, gid }) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.delete(generateOcsUrl('cloud/users/{userid}/subadmins', { userid }), { groupid: gid })\n\t\t\t\t.then((response) => context.commit('removeUserSubAdmin', { userid, gid }))\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }))\n\t},\n\n\t/**\n\t * Mark all user devices for remote wipe\n\t *\n\t * @param {object} context store context\n\t * @param {string} userid User id\n\t * @return {Promise}\n\t */\n\twipeUserDevices(context, userid) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.post(generateOcsUrl('cloud/users/{userid}/wipe', { userid }))\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }))\n\t},\n\n\t/**\n\t * Delete a user\n\t *\n\t * @param {object} context store context\n\t * @param {string} userid User id\n\t * @return {Promise}\n\t */\n\tdeleteUser(context, userid) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.delete(generateOcsUrl('cloud/users/{userid}', { userid }))\n\t\t\t\t.then((response) => context.commit('deleteUser', userid))\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }))\n\t},\n\n\t/**\n\t * Add a user\n\t *\n\t * @param {object} context store context\n\t * @param {Function} context.commit -\n\t * @param {Function} context.dispatch -\n\t * @param {object} options destructuring object\n\t * @param {string} options.userid User id\n\t * @param {string} options.password User password\n\t * @param {string} options.displayName User display name\n\t * @param {string} options.email User email\n\t * @param {string} options.groups User groups\n\t * @param {string} options.subadmin User subadmin groups\n\t * @param {string} options.quota User email\n\t * @param {string} options.language User language\n\t * @return {Promise}\n\t */\n\taddUser({ commit, dispatch }, { userid, password, displayName, email, groups, subadmin, quota, language }) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.post(generateOcsUrl('cloud/users'), { userid, password, displayName, email, groups, subadmin, quota, language })\n\t\t\t\t.then((response) => dispatch('addUserData', userid || response.data.ocs.data.id))\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => {\n\t\t\tcommit('API_FAILURE', { userid, error })\n\t\t\tthrow error\n\t\t})\n\t},\n\n\t/**\n\t * Get user data and commit addition\n\t *\n\t * @param {object} context store context\n\t * @param {string} userid User id\n\t * @return {Promise}\n\t */\n\taddUserData(context, userid) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.get(generateOcsUrl('cloud/users/{userid}', { userid }))\n\t\t\t\t.then((response) => context.commit('addUserData', response))\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }))\n\t},\n\n\t/**\n\t * Enable or disable user\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {string} options.userid User id\n\t * @param {boolean} options.enabled User enablement status\n\t * @return {Promise}\n\t */\n\tenableDisableUser(context, { userid, enabled = true }) {\n\t\tconst userStatus = enabled ? 'enable' : 'disable'\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.put(generateOcsUrl('cloud/users/{userid}/{userStatus}', { userid, userStatus }))\n\t\t\t\t.then((response) => context.commit('enableDisableUser', { userid, enabled }))\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }))\n\t},\n\n\t/**\n\t * Edit user data\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {string} options.userid User id\n\t * @param {string} options.key User field to edit\n\t * @param {string} options.value Value of the change\n\t * @return {Promise}\n\t */\n\tsetUserData(context, { userid, key, value }) {\n\t\tconst allowedEmpty = ['email', 'displayname']\n\t\tif (['email', 'language', 'quota', 'displayname', 'password'].indexOf(key) !== -1) {\n\t\t\t// We allow empty email or displayname\n\t\t\tif (typeof value === 'string'\n\t\t\t\t&& (\n\t\t\t\t\t(allowedEmpty.indexOf(key) === -1 && value.length > 0)\n\t\t\t\t\t|| allowedEmpty.indexOf(key) !== -1\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\treturn api.requireAdmin().then((response) => {\n\t\t\t\t\treturn api.put(generateOcsUrl('cloud/users/{userid}', { userid }), { key, value })\n\t\t\t\t\t\t.then((response) => context.commit('setUserData', { userid, key, value }))\n\t\t\t\t\t\t.catch((error) => { throw error })\n\t\t\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }))\n\t\t\t}\n\t\t}\n\t\treturn Promise.reject(new Error('Invalid request data'))\n\t},\n\n\t/**\n\t * Send welcome mail\n\t *\n\t * @param {object} context store context\n\t * @param {string} userid User id\n\t * @return {Promise}\n\t */\n\tsendWelcomeMail(context, userid) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.post(generateOcsUrl('cloud/users/{userid}/welcome', { userid }))\n\t\t\t\t.then(response => true)\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }))\n\t},\n}\n\nexport default { state, mutations, getters, actions }\n","/**\n * @copyright Copyright (c) 2018 Julius Härtl \n *\n * @author John Molakvoæ \n * @author Julius Härtl \n * @author Roeland Jago Douma \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport api from './api'\nimport Vue from 'vue'\nimport { generateUrl } from '@nextcloud/router'\nimport { showError, showInfo } from '@nextcloud/dialogs'\nimport '@nextcloud/dialogs/dist/index.css'\n\nconst state = {\n\tapps: [],\n\tcategories: [],\n\tupdateCount: 0,\n\tloading: {},\n\tloadingList: false,\n}\n\nconst mutations = {\n\n\tAPPS_API_FAILURE(state, error) {\n\t\tshowError(t('settings', 'An error occurred during the request. Unable to proceed.') + '
' + error.error.response.data.data.message, { isHTML: true })\n\t\tconsole.error(state, error)\n\t},\n\n\tinitCategories(state, { categories, updateCount }) {\n\t\tstate.categories = categories\n\t\tstate.updateCount = updateCount\n\t},\n\n\tsetUpdateCount(state, updateCount) {\n\t\tstate.updateCount = updateCount\n\t},\n\n\taddCategory(state, category) {\n\t\tstate.categories.push(category)\n\t},\n\n\tappendCategories(state, categoriesArray) {\n\t\t// convert obj to array\n\t\tstate.categories = categoriesArray\n\t},\n\n\tsetAllApps(state, apps) {\n\t\tstate.apps = apps\n\t},\n\n\tsetError(state, { appId, error }) {\n\t\tif (!Array.isArray(appId)) {\n\t\t\tappId = [appId]\n\t\t}\n\t\tappId.forEach((_id) => {\n\t\t\tconst app = state.apps.find(app => app.id === _id)\n\t\t\tapp.error = error\n\t\t})\n\t},\n\n\tclearError(state, { appId, error }) {\n\t\tconst app = state.apps.find(app => app.id === appId)\n\t\tapp.error = null\n\t},\n\n\tenableApp(state, { appId, groups }) {\n\t\tconst app = state.apps.find(app => app.id === appId)\n\t\tapp.active = true\n\t\tapp.groups = groups\n\t},\n\n\tdisableApp(state, appId) {\n\t\tconst app = state.apps.find(app => app.id === appId)\n\t\tapp.active = false\n\t\tapp.groups = []\n\t\tif (app.removable) {\n\t\t\tapp.canUnInstall = true\n\t\t}\n\t},\n\n\tuninstallApp(state, appId) {\n\t\tstate.apps.find(app => app.id === appId).active = false\n\t\tstate.apps.find(app => app.id === appId).groups = []\n\t\tstate.apps.find(app => app.id === appId).needsDownload = true\n\t\tstate.apps.find(app => app.id === appId).installed = false\n\t\tstate.apps.find(app => app.id === appId).canUnInstall = false\n\t\tstate.apps.find(app => app.id === appId).canInstall = true\n\t},\n\n\tupdateApp(state, appId) {\n\t\tconst app = state.apps.find(app => app.id === appId)\n\t\tconst version = app.update\n\t\tapp.update = null\n\t\tapp.version = version\n\t\tstate.updateCount--\n\n\t},\n\n\tresetApps(state) {\n\t\tstate.apps = []\n\t},\n\treset(state) {\n\t\tstate.apps = []\n\t\tstate.categories = []\n\t\tstate.updateCount = 0\n\t},\n\tstartLoading(state, id) {\n\t\tif (Array.isArray(id)) {\n\t\t\tid.forEach((_id) => {\n\t\t\t\tVue.set(state.loading, _id, true)\n\t\t\t})\n\t\t} else {\n\t\t\tVue.set(state.loading, id, true)\n\t\t}\n\t},\n\tstopLoading(state, id) {\n\t\tif (Array.isArray(id)) {\n\t\t\tid.forEach((_id) => {\n\t\t\t\tVue.set(state.loading, _id, false)\n\t\t\t})\n\t\t} else {\n\t\t\tVue.set(state.loading, id, false)\n\t\t}\n\t},\n}\n\nconst getters = {\n\tloading(state) {\n\t\treturn function(id) {\n\t\t\treturn state.loading[id]\n\t\t}\n\t},\n\tgetCategories(state) {\n\t\treturn state.categories\n\t},\n\tgetAllApps(state) {\n\t\treturn state.apps\n\t},\n\tgetUpdateCount(state) {\n\t\treturn state.updateCount\n\t},\n}\n\nconst actions = {\n\n\tenableApp(context, { appId, groups }) {\n\t\tlet apps\n\t\tif (Array.isArray(appId)) {\n\t\t\tapps = appId\n\t\t} else {\n\t\t\tapps = [appId]\n\t\t}\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\tcontext.commit('startLoading', apps)\n\t\t\tcontext.commit('startLoading', 'install')\n\t\t\treturn api.post(generateUrl('settings/apps/enable'), { appIds: apps, groups })\n\t\t\t\t.then((response) => {\n\t\t\t\t\tcontext.commit('stopLoading', apps)\n\t\t\t\t\tcontext.commit('stopLoading', 'install')\n\t\t\t\t\tapps.forEach(_appId => {\n\t\t\t\t\t\tcontext.commit('enableApp', { appId: _appId, groups })\n\t\t\t\t\t})\n\n\t\t\t\t\t// check for server health\n\t\t\t\t\treturn api.get(generateUrl('apps/files'))\n\t\t\t\t\t\t.then(() => {\n\t\t\t\t\t\t\tif (response.data.update_required) {\n\t\t\t\t\t\t\t\tshowInfo(\n\t\t\t\t\t\t\t\t\tt(\n\t\t\t\t\t\t\t\t\t\t'settings',\n\t\t\t\t\t\t\t\t\t\t'The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds.'\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tonClick: () => window.location.reload(),\n\t\t\t\t\t\t\t\t\t\tclose: false,\n\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\tsetTimeout(function() {\n\t\t\t\t\t\t\t\t\tlocation.reload()\n\t\t\t\t\t\t\t\t}, 5000)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t})\n\t\t\t\t\t\t.catch(() => {\n\t\t\t\t\t\t\tif (!Array.isArray(appId)) {\n\t\t\t\t\t\t\t\tcontext.commit('setError', {\n\t\t\t\t\t\t\t\t\tappId: apps,\n\t\t\t\t\t\t\t\t\terror: t('settings', 'Error: This app cannot be enabled because it makes the server unstable'),\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t})\n\t\t\t\t})\n\t\t\t\t.catch((error) => {\n\t\t\t\t\tcontext.commit('stopLoading', apps)\n\t\t\t\t\tcontext.commit('stopLoading', 'install')\n\t\t\t\t\tcontext.commit('setError', {\n\t\t\t\t\t\tappId: apps,\n\t\t\t\t\t\terror: error.response.data.data.message,\n\t\t\t\t\t})\n\t\t\t\t\tcontext.commit('APPS_API_FAILURE', { appId, error })\n\t\t\t\t})\n\t\t}).catch((error) => context.commit('API_FAILURE', { appId, error }))\n\t},\n\tforceEnableApp(context, { appId, groups }) {\n\t\tlet apps\n\t\tif (Array.isArray(appId)) {\n\t\t\tapps = appId\n\t\t} else {\n\t\t\tapps = [appId]\n\t\t}\n\t\treturn api.requireAdmin().then(() => {\n\t\t\tcontext.commit('startLoading', apps)\n\t\t\tcontext.commit('startLoading', 'install')\n\t\t\treturn api.post(generateUrl('settings/apps/force'), { appId })\n\t\t\t\t.then((response) => {\n\t\t\t\t\t// TODO: find a cleaner solution\n\t\t\t\t\tlocation.reload()\n\t\t\t\t})\n\t\t\t\t.catch((error) => {\n\t\t\t\t\tcontext.commit('stopLoading', apps)\n\t\t\t\t\tcontext.commit('stopLoading', 'install')\n\t\t\t\t\tcontext.commit('setError', {\n\t\t\t\t\t\tappId: apps,\n\t\t\t\t\t\terror: error.response.data.data.message,\n\t\t\t\t\t})\n\t\t\t\t\tcontext.commit('APPS_API_FAILURE', { appId, error })\n\t\t\t\t})\n\t\t}).catch((error) => context.commit('API_FAILURE', { appId, error }))\n\t},\n\tdisableApp(context, { appId }) {\n\t\tlet apps\n\t\tif (Array.isArray(appId)) {\n\t\t\tapps = appId\n\t\t} else {\n\t\t\tapps = [appId]\n\t\t}\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\tcontext.commit('startLoading', apps)\n\t\t\treturn api.post(generateUrl('settings/apps/disable'), { appIds: apps })\n\t\t\t\t.then((response) => {\n\t\t\t\t\tcontext.commit('stopLoading', apps)\n\t\t\t\t\tapps.forEach(_appId => {\n\t\t\t\t\t\tcontext.commit('disableApp', _appId)\n\t\t\t\t\t})\n\t\t\t\t\treturn true\n\t\t\t\t})\n\t\t\t\t.catch((error) => {\n\t\t\t\t\tcontext.commit('stopLoading', apps)\n\t\t\t\t\tcontext.commit('APPS_API_FAILURE', { appId, error })\n\t\t\t\t})\n\t\t}).catch((error) => context.commit('API_FAILURE', { appId, error }))\n\t},\n\tuninstallApp(context, { appId }) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\tcontext.commit('startLoading', appId)\n\t\t\treturn api.get(generateUrl(`settings/apps/uninstall/${appId}`))\n\t\t\t\t.then((response) => {\n\t\t\t\t\tcontext.commit('stopLoading', appId)\n\t\t\t\t\tcontext.commit('uninstallApp', appId)\n\t\t\t\t\treturn true\n\t\t\t\t})\n\t\t\t\t.catch((error) => {\n\t\t\t\t\tcontext.commit('stopLoading', appId)\n\t\t\t\t\tcontext.commit('APPS_API_FAILURE', { appId, error })\n\t\t\t\t})\n\t\t}).catch((error) => context.commit('API_FAILURE', { appId, error }))\n\t},\n\n\tupdateApp(context, { appId }) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\tcontext.commit('startLoading', appId)\n\t\t\tcontext.commit('startLoading', 'install')\n\t\t\treturn api.get(generateUrl(`settings/apps/update/${appId}`))\n\t\t\t\t.then((response) => {\n\t\t\t\t\tcontext.commit('stopLoading', 'install')\n\t\t\t\t\tcontext.commit('stopLoading', appId)\n\t\t\t\t\tcontext.commit('updateApp', appId)\n\t\t\t\t\treturn true\n\t\t\t\t})\n\t\t\t\t.catch((error) => {\n\t\t\t\t\tcontext.commit('stopLoading', appId)\n\t\t\t\t\tcontext.commit('stopLoading', 'install')\n\t\t\t\t\tcontext.commit('APPS_API_FAILURE', { appId, error })\n\t\t\t\t})\n\t\t}).catch((error) => context.commit('API_FAILURE', { appId, error }))\n\t},\n\n\tgetAllApps(context) {\n\t\tcontext.commit('startLoading', 'list')\n\t\treturn api.get(generateUrl('settings/apps/list'))\n\t\t\t.then((response) => {\n\t\t\t\tcontext.commit('setAllApps', response.data.apps)\n\t\t\t\tcontext.commit('stopLoading', 'list')\n\t\t\t\treturn true\n\t\t\t})\n\t\t\t.catch((error) => context.commit('API_FAILURE', error))\n\t},\n\n\tgetCategories(context) {\n\t\tcontext.commit('startLoading', 'categories')\n\t\treturn api.get(generateUrl('settings/apps/categories'))\n\t\t\t.then((response) => {\n\t\t\t\tif (response.data.length > 0) {\n\t\t\t\t\tcontext.commit('appendCategories', response.data)\n\t\t\t\t\tcontext.commit('stopLoading', 'categories')\n\t\t\t\t\treturn true\n\t\t\t\t}\n\t\t\t\treturn false\n\t\t\t})\n\t\t\t.catch((error) => context.commit('API_FAILURE', error))\n\t},\n\n}\n\nexport default { state, mutations, getters, actions }\n","/**\n * @copyright Copyright (c) 2018 John Molakvoæ \n *\n * @author John Molakvoæ \n * @author Roeland Jago Douma \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport api from './api'\nimport { generateOcsUrl } from '@nextcloud/router'\n\nconst state = {}\nconst mutations = {}\nconst getters = {}\nconst actions = {\n\t/**\n\t * Set application config in database\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {string} options.app Application name\n\t * @param {boolean} options.key Config key\n\t * @param {boolean} options.value Value to set\n\t * @return {Promise}\n\t */\n\tsetAppConfig(context, { app, key, value }) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.post(generateOcsUrl('apps/provisioning_api/api/v1/config/apps/{app}/{key}', { app, key }), { value })\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => context.commit('API_FAILURE', { app, key, value, error }))\n\t},\n}\n\nexport default { state, mutations, getters, actions }\n","/**\n * @copyright Copyright (c) 2018 John Molakvoæ \n *\n * @author John Molakvoæ \n * @author Julius Härtl \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport Vue from 'vue'\nimport Vuex, { Store } from 'vuex'\nimport users from './users'\nimport apps from './apps'\nimport settings from './settings'\nimport oc from './oc'\nimport { showError } from '@nextcloud/dialogs'\n\nVue.use(Vuex)\n\nconst debug = process.env.NODE_ENV !== 'production'\n\nconst mutations = {\n\tAPI_FAILURE(state, error) {\n\t\ttry {\n\t\t\tconst message = error.error.response.data.ocs.meta.message\n\t\t\tshowError(t('settings', 'An error occurred during the request. Unable to proceed.') + '
' + message, { isHTML: true })\n\t\t} catch (e) {\n\t\t\tshowError(t('settings', 'An error occurred during the request. Unable to proceed.'))\n\t\t}\n\t\tconsole.error(state, error)\n\t},\n}\n\nexport default new Store({\n\tmodules: {\n\t\tusers,\n\t\tapps,\n\t\tsettings,\n\t\toc,\n\t},\n\tstrict: debug,\n\n\tmutations,\n})\n","/**\n * @copyright Copyright (c) 2018 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nconst state = {\n\tserverData: {},\n}\nconst mutations = {\n\tsetServerData(state, data) {\n\t\tstate.serverData = data\n\t},\n}\nconst getters = {\n\tgetServerData(state) {\n\t\treturn state.serverData\n\t},\n}\nconst actions = {}\n\nexport default { state, mutations, getters, actions }\n","/**\n * @copyright Copyright (c) 2018 John Molakvoæ \n *\n * @author John Molakvoæ \n * @author rakekniven \n * @author Roeland Jago Douma \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport Vue from 'vue'\nimport VTooltip from 'v-tooltip'\nimport { sync } from 'vuex-router-sync'\n\nimport App from './App.vue'\nimport router from './router'\nimport store from './store'\n\nVue.use(VTooltip, { defaultHtml: false })\n\nsync(store, router)\n\n// CSP config for webpack dynamic chunk loading\n// eslint-disable-next-line camelcase\n__webpack_nonce__ = btoa(OC.requestToken)\n\n// bind to window\nVue.prototype.t = t\nVue.prototype.n = n\nVue.prototype.OC = OC\nVue.prototype.OCA = OCA\n// eslint-disable-next-line camelcase\nVue.prototype.oc_userconfig = oc_userconfig\n\nconst app = new Vue({\n\trouter,\n\tstore,\n\trender: h => h(App),\n}).$mount('#content')\n\nexport { app, router, store }\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","__webpack_require__.amdD = function () {\n\tthrow new Error('define cannot be used indirect');\n};","__webpack_require__.amdO = {};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = function(chunkId) {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce(function(promises, key) {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"\" + {\"7418\":\"settings-apps-view\",\"8351\":\"settings-users\"}[chunkId] + \"-\" + chunkId + \".js?v=\" + {\"7418\":\"1551949ef4b03d04c7a2\",\"8351\":\"42aa7b95279d8b9c5b3d\"}[chunkId] + \"\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = function(module) {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.j = 8562;","var scriptUrl;\nif (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \"\";\nvar document = __webpack_require__.g.document;\nif (!scriptUrl && document) {\n\tif (document.currentScript)\n\t\tscriptUrl = document.currentScript.src\n\tif (!scriptUrl) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tif(scripts.length) scriptUrl = scripts[scripts.length - 1].src\n\t}\n}\n// When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration\n// or pass an empty string (\"\") and set the __webpack_public_path__ variable from your code to use your own logic.\nif (!scriptUrl) throw new Error(\"Automatic publicPath is not supported in this browser\");\nscriptUrl = scriptUrl.replace(/#.*$/, \"\").replace(/\\?.*$/, \"\").replace(/\\/[^\\/]+$/, \"/\");\n__webpack_require__.p = scriptUrl;","__webpack_require__.b = document.baseURI || self.location.href;\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t8562: 0\n};\n\n__webpack_require__.f.j = function(chunkId, promises) {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise(function(resolve, reject) { installedChunkData = installedChunks[chunkId] = [resolve, reject]; });\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = function(event) {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t} else installedChunks[chunkId] = 0;\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = function(chunkId) { return installedChunks[chunkId] === 0; };\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some(function(id) { return installedChunks[id] !== 0; })) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunknextcloud\"] = self[\"webpackChunknextcloud\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","__webpack_require__.nc = undefined;","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [7874], function() { return __webpack_require__(78778); })\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","inProgress","dataWebpackPrefix","_h","this","$createElement","_self","_c","Users","Apps","Vue","Router","mode","base","generateUrl","linkActiveClass","routes","path","component","props","name","children","sanitize","url","replace","confirmPassword","options","axios","data","params","getLoggerBuilder","setApp","detectUser","build","orderGroups","groups","orderBy","sort","a","b","usercount","disabled","localeCompare","defaults","id","canAdd","canRemove","mutations","appendUsers","state","usersObj","users","concat","Object","keys","map","userid","usersOffset","usersLimit","setPasswordPolicyMinLength","length","minPasswordLength","initGroups","userCount","group","assign","addGroup","gid","displayName","find","push","e","console","error","renameGroup","groupIndex","findIndex","groupSearch","updatedGroup","splice","removeGroup","addUserGroup","user","enabled","removeUserGroup","indexOf","addUserSubAdmin","subadmin","removeUserSubAdmin","deleteUser","userIndex","commit","actionType","addUserData","response","ocs","enableDisableUser","updateUserCounts","disabledGroup","forEach","userGroup","logger","setUserData","key","value","humanValue","OC","Util","computerFileSize","resetUsers","CancelToken","searchRequestCancelSource","getters","getUsers","getGroups","getSubadminGroups","filter","getPasswordPolicyMinLength","getUsersOffset","getUsersLimit","getUserCount","actions","context","offset","limit","search","cancel","source","api","generateOcsUrl","encodeURIComponent","cancelToken","token","then","usersCount","catch","limitParam","getUsersFromList","getUsersFromGroup","groupid","groupId","getCapabilities","password_policy","minLength","wipeUserDevices","addUser","dispatch","password","email","quota","language","userStatus","allowedEmpty","Promise","reject","Error","sendWelcomeMail","APPS_API_FAILURE","showError","t","message","isHTML","initCategories","categories","updateCount","setUpdateCount","addCategory","category","appendCategories","categoriesArray","setAllApps","apps","setError","appId","Array","isArray","_id","app","clearError","enableApp","active","disableApp","removable","canUnInstall","uninstallApp","needsDownload","installed","canInstall","updateApp","version","update","resetApps","reset","startLoading","loading","stopLoading","appIds","_appId","update_required","showInfo","onClick","window","location","reload","close","setTimeout","forceEnableApp","getAllApps","getCategories","loadingList","getUpdateCount","setAppConfig","Vuex","API_FAILURE","meta","Store","modules","settings","serverData","setServerData","getServerData","oc","strict","process","VTooltip","defaultHtml","sync","store","router","__webpack_nonce__","btoa","requestToken","n","OCA","oc_userconfig","render","h","App","$mount","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","exports","module","loaded","__webpack_modules__","call","m","amdD","amdO","O","result","chunkIds","fn","priority","notFulfilled","Infinity","i","fulfilled","j","every","r","getter","__esModule","d","definition","o","defineProperty","enumerable","get","f","chunkId","all","reduce","promises","u","g","globalThis","Function","obj","prop","prototype","hasOwnProperty","l","done","script","needAttach","scripts","document","getElementsByTagName","s","getAttribute","createElement","charset","timeout","nc","setAttribute","src","onScriptComplete","prev","event","onerror","onload","clearTimeout","doneFns","parentNode","removeChild","bind","type","target","head","appendChild","Symbol","toStringTag","nmd","paths","scriptUrl","importScripts","currentScript","p","baseURI","self","href","installedChunks","installedChunkData","promise","resolve","errorType","realSrc","request","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","some","chunkLoadingGlobal","__webpack_exports__"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"settings-vue-settings-apps-users-management.js?v=54e06b880678931a976a","mappings":"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","sources":["webpack:///nextcloud/webpack/runtime/chunk loaded","webpack:///nextcloud/webpack/runtime/load script","webpack:///nextcloud/apps/settings/src/App.vue?vue&type=script&lang=js&","webpack:///nextcloud/apps/settings/src/App.vue","webpack://nextcloud/./apps/settings/src/App.vue?536c","webpack:///nextcloud/apps/settings/src/App.vue?vue&type=template&id=50420604&","webpack:///nextcloud/apps/settings/src/router.js","webpack:///nextcloud/apps/settings/src/store/api.js","webpack:///nextcloud/apps/settings/src/logger.js","webpack:///nextcloud/apps/settings/src/store/users.js","webpack:///nextcloud/apps/settings/src/store/apps.js","webpack:///nextcloud/apps/settings/src/store/oc.js","webpack:///nextcloud/apps/settings/src/store/index.js","webpack:///nextcloud/apps/settings/src/store/settings.js","webpack:///nextcloud/apps/settings/src/main-apps-users-management.js","webpack:///nextcloud/webpack/bootstrap","webpack:///nextcloud/webpack/runtime/amd define","webpack:///nextcloud/webpack/runtime/amd options","webpack:///nextcloud/webpack/runtime/compat get default export","webpack:///nextcloud/webpack/runtime/define property getters","webpack:///nextcloud/webpack/runtime/ensure chunk","webpack:///nextcloud/webpack/runtime/get javascript chunk filename","webpack:///nextcloud/webpack/runtime/global","webpack:///nextcloud/webpack/runtime/hasOwnProperty shorthand","webpack:///nextcloud/webpack/runtime/make namespace object","webpack:///nextcloud/webpack/runtime/node module decorator","webpack:///nextcloud/webpack/runtime/runtimeId","webpack:///nextcloud/webpack/runtime/publicPath","webpack:///nextcloud/webpack/runtime/jsonp chunk loading","webpack:///nextcloud/webpack/runtime/nonce","webpack:///nextcloud/webpack/startup"],"sourcesContent":["var deferred = [];\n__webpack_require__.O = function(result, chunkIds, fn, priority) {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every(function(key) { return __webpack_require__.O[key](chunkIds[j]); })) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","var inProgress = {};\nvar dataWebpackPrefix = \"nextcloud:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = function(url, done, key, chunkId) {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = function(prev, event) {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach(function(fn) { return fn(event); });\n\t\tif(prev) return prev(event);\n\t}\n\t;\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","import mod from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"","\n\n\n\n\n","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=50420604&\"\nimport script from \"./App.vue?vue&type=script&lang=js&\"\nexport * from \"./App.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('router-view')}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * @copyright Copyright (c) 2018 John Molakvoæ \n *\n * @author John Molakvoæ \n * @author Julius Härtl \n * @author Roeland Jago Douma \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport Vue from 'vue'\nimport Router from 'vue-router'\nimport { generateUrl } from '@nextcloud/router'\n\n// Dynamic loading\nconst Users = () => import(/* webpackChunkName: 'settings-users' */'./views/Users')\nconst Apps = () => import(/* webpackChunkName: 'settings-apps-view' */'./views/Apps')\n\nVue.use(Router)\n\n/*\n * This is the list of routes where the vuejs app will\n * take over php to provide data\n * You need to forward the php routing (routes.php) to\n * the settings-vue template, where the vue-router will\n * ensure the proper route.\n * ⚠️ Routes needs to match the php routes.\n */\n\nexport default new Router({\n\tmode: 'history',\n\t// if index.php is in the url AND we got this far, then it's working:\n\t// let's keep using index.php in the url\n\tbase: generateUrl(''),\n\tlinkActiveClass: 'active',\n\troutes: [\n\t\t{\n\t\t\tpath: '/:index(index.php/)?settings/users',\n\t\t\tcomponent: Users,\n\t\t\tprops: true,\n\t\t\tname: 'users',\n\t\t\tchildren: [\n\t\t\t\t{\n\t\t\t\t\tpath: ':selectedGroup',\n\t\t\t\t\tname: 'group',\n\t\t\t\t\tcomponent: Users,\n\t\t\t\t},\n\t\t\t],\n\t\t},\n\t\t{\n\t\t\tpath: '/:index(index.php/)?settings/apps',\n\t\t\tcomponent: Apps,\n\t\t\tprops: true,\n\t\t\tname: 'apps',\n\t\t\tchildren: [\n\t\t\t\t{\n\t\t\t\t\tpath: ':category',\n\t\t\t\t\tname: 'apps-category',\n\t\t\t\t\tcomponent: Apps,\n\t\t\t\t\tchildren: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tpath: ':id',\n\t\t\t\t\t\t\tname: 'apps-details',\n\t\t\t\t\t\t\tcomponent: Apps,\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t],\n\t\t},\n\t],\n})\n","/**\n * @copyright Copyright (c) 2018 John Molakvoæ \n *\n * @author Christoph Wurst \n * @author John Molakvoæ \n * @author Julius Härtl \n * @author Roeland Jago Douma \n * @author Sujith Haridasan \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport axios from '@nextcloud/axios'\nimport { confirmPassword } from '@nextcloud/password-confirmation'\nimport '@nextcloud/password-confirmation/dist/style.css'\n\nconst sanitize = function(url) {\n\treturn url.replace(/\\/$/, '') // Remove last url slash\n}\n\nexport default {\n\n\t/**\n\t * This Promise is used to chain a request that require an admin password confirmation\n\t * Since chaining Promise have a very precise behavior concerning catch and then,\n\t * you'll need to be careful when using it.\n\t * e.g\n\t * // store\n\t * action(context) {\n\t * return api.requireAdmin().then((response) => {\n\t * return api.get('url')\n\t * .then((response) => {API success})\n\t * .catch((error) => {API failure});\n\t * }).catch((error) => {requireAdmin failure});\n\t * }\n\t * // vue\n\t * this.$store.dispatch('action').then(() => {always executed})\n\t *\n\t * Since Promise.then().catch().then() will always execute the last then\n\t * this.$store.dispatch('action').then will always be executed\n\t *\n\t * If you want requireAdmin failure to also catch the API request failure\n\t * you will need to throw a new error in the api.get.catch()\n\t *\n\t * e.g\n\t * api.requireAdmin().then((response) => {\n\t * api.get('url')\n\t * .then((response) => {API success})\n\t * .catch((error) => {throw error;});\n\t * }).catch((error) => {requireAdmin OR API failure});\n\t *\n\t * @return {Promise}\n\t */\n\trequireAdmin() {\n\t\treturn confirmPassword()\n\t},\n\tget(url, options) {\n\t\treturn axios.get(sanitize(url), options)\n\t},\n\tpost(url, data) {\n\t\treturn axios.post(sanitize(url), data)\n\t},\n\tpatch(url, data) {\n\t\treturn axios.patch(sanitize(url), data)\n\t},\n\tput(url, data) {\n\t\treturn axios.put(sanitize(url), data)\n\t},\n\tdelete(url, data) {\n\t\treturn axios.delete(sanitize(url), { params: data })\n\t},\n}\n","/**\n * @copyright 2020 Christoph Wurst \n *\n * @author Roeland Jago Douma \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport { getLoggerBuilder } from '@nextcloud/logger'\n\nexport default getLoggerBuilder()\n\t.setApp('settings')\n\t.detectUser()\n\t.build()\n","/**\n * @copyright Copyright (c) 2018 John Molakvoæ \n *\n * @author Arthur Schiwon \n * @author Christoph Wurst \n * @author Daniel Calviño Sánchez \n * @author John Molakvoæ \n * @author Julius Härtl \n * @author Roeland Jago Douma \n * @author Vincent Petry \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport api from './api'\nimport axios from '@nextcloud/axios'\nimport { generateOcsUrl } from '@nextcloud/router'\nimport logger from '../logger'\n\nconst orderGroups = function(groups, orderBy) {\n\t/* const SORT_USERCOUNT = 1;\n\t * const SORT_GROUPNAME = 2;\n\t * https://github.com/nextcloud/server/blob/208e38e84e1a07a49699aa90dc5b7272d24489f0/lib/private/Group/MetaData.php#L34\n\t */\n\tif (orderBy === 1) {\n\t\treturn groups.sort((a, b) => a.usercount - a.disabled < b.usercount - b.disabled)\n\t} else {\n\t\treturn groups.sort((a, b) => a.name.localeCompare(b.name))\n\t}\n}\n\nconst defaults = {\n\tgroup: {\n\t\tid: '',\n\t\tname: '',\n\t\tusercount: 0,\n\t\tdisabled: 0,\n\t\tcanAdd: true,\n\t\tcanRemove: true,\n\t},\n}\n\nconst state = {\n\tusers: [],\n\tgroups: [],\n\torderBy: 1,\n\tminPasswordLength: 0,\n\tusersOffset: 0,\n\tusersLimit: 25,\n\tuserCount: 0,\n}\n\nconst mutations = {\n\tappendUsers(state, usersObj) {\n\t\t// convert obj to array\n\t\tconst users = state.users.concat(Object.keys(usersObj).map(userid => usersObj[userid]))\n\t\tstate.usersOffset += state.usersLimit\n\t\tstate.users = users\n\t},\n\tsetPasswordPolicyMinLength(state, length) {\n\t\tstate.minPasswordLength = length !== '' ? length : 0\n\t},\n\tinitGroups(state, { groups, orderBy, userCount }) {\n\t\tstate.groups = groups.map(group => Object.assign({}, defaults.group, group))\n\t\tstate.orderBy = orderBy\n\t\tstate.userCount = userCount\n\t\tstate.groups = orderGroups(state.groups, state.orderBy)\n\n\t},\n\taddGroup(state, { gid, displayName }) {\n\t\ttry {\n\t\t\tif (typeof state.groups.find((group) => group.id === gid) !== 'undefined') {\n\t\t\t\treturn\n\t\t\t}\n\t\t\t// extend group to default values\n\t\t\tconst group = Object.assign({}, defaults.group, {\n\t\t\t\tid: gid,\n\t\t\t\tname: displayName,\n\t\t\t})\n\t\t\tstate.groups.push(group)\n\t\t\tstate.groups = orderGroups(state.groups, state.orderBy)\n\t\t} catch (e) {\n\t\t\tconsole.error('Can\\'t create group', e)\n\t\t}\n\t},\n\trenameGroup(state, { gid, displayName }) {\n\t\tconst groupIndex = state.groups.findIndex(groupSearch => groupSearch.id === gid)\n\t\tif (groupIndex >= 0) {\n\t\t\tconst updatedGroup = state.groups[groupIndex]\n\t\t\tupdatedGroup.name = displayName\n\t\t\tstate.groups.splice(groupIndex, 1, updatedGroup)\n\t\t\tstate.groups = orderGroups(state.groups, state.orderBy)\n\t\t}\n\t},\n\tremoveGroup(state, gid) {\n\t\tconst groupIndex = state.groups.findIndex(groupSearch => groupSearch.id === gid)\n\t\tif (groupIndex >= 0) {\n\t\t\tstate.groups.splice(groupIndex, 1)\n\t\t}\n\t},\n\taddUserGroup(state, { userid, gid }) {\n\t\tconst group = state.groups.find(groupSearch => groupSearch.id === gid)\n\t\tconst user = state.users.find(user => user.id === userid)\n\t\t// increase count if user is enabled\n\t\tif (group && user.enabled && state.userCount > 0) {\n\t\t\tgroup.usercount++\n\t\t}\n\t\tconst groups = user.groups\n\t\tgroups.push(gid)\n\t\tstate.groups = orderGroups(state.groups, state.orderBy)\n\t},\n\tremoveUserGroup(state, { userid, gid }) {\n\t\tconst group = state.groups.find(groupSearch => groupSearch.id === gid)\n\t\tconst user = state.users.find(user => user.id === userid)\n\t\t// lower count if user is enabled\n\t\tif (group && user.enabled && state.userCount > 0) {\n\t\t\tgroup.usercount--\n\t\t}\n\t\tconst groups = user.groups\n\t\tgroups.splice(groups.indexOf(gid), 1)\n\t\tstate.groups = orderGroups(state.groups, state.orderBy)\n\t},\n\taddUserSubAdmin(state, { userid, gid }) {\n\t\tconst groups = state.users.find(user => user.id === userid).subadmin\n\t\tgroups.push(gid)\n\t},\n\tremoveUserSubAdmin(state, { userid, gid }) {\n\t\tconst groups = state.users.find(user => user.id === userid).subadmin\n\t\tgroups.splice(groups.indexOf(gid), 1)\n\t},\n\tdeleteUser(state, userid) {\n\t\tconst userIndex = state.users.findIndex(user => user.id === userid)\n\t\tthis.commit('updateUserCounts', { user: state.users[userIndex], actionType: 'remove' })\n\t\tstate.users.splice(userIndex, 1)\n\t},\n\taddUserData(state, response) {\n\t\tconst user = response.data.ocs.data\n\t\tstate.users.push(user)\n\t\tthis.commit('updateUserCounts', { user, actionType: 'create' })\n\t},\n\tenableDisableUser(state, { userid, enabled }) {\n\t\tconst user = state.users.find(user => user.id === userid)\n\t\tuser.enabled = enabled\n\t\tthis.commit('updateUserCounts', { user, actionType: enabled ? 'enable' : 'disable' })\n\t},\n\t// update active/disabled counts, groups counts\n\tupdateUserCounts(state, { user, actionType }) {\n\t\tconst disabledGroup = state.groups.find(group => group.id === 'disabled')\n\t\tswitch (actionType) {\n\t\tcase 'enable':\n\t\tcase 'disable':\n\t\t\tdisabledGroup.usercount += user.enabled ? -1 : 1 // update Disabled Users count\n\t\t\tstate.userCount += user.enabled ? 1 : -1 // update Active Users count\n\t\t\tuser.groups.forEach(userGroup => {\n\t\t\t\tconst group = state.groups.find(groupSearch => groupSearch.id === userGroup)\n\t\t\t\tgroup.disabled += user.enabled ? -1 : 1 // update group disabled count\n\t\t\t})\n\t\t\tbreak\n\t\tcase 'create':\n\t\t\tstate.userCount++ // increment Active Users count\n\n\t\t\tuser.groups.forEach(userGroup => {\n\t\t\t\tstate.groups\n\t\t\t\t\t.find(groupSearch => groupSearch.id === userGroup)\n\t\t\t\t .usercount++ // increment group total count\n\t\t\t})\n\t\t\tbreak\n\t\tcase 'remove':\n\t\t\tif (user.enabled) {\n\t\t\t\tstate.userCount-- // decrement Active Users count\n\t\t\t\tuser.groups.forEach(userGroup => {\n\t\t\t\t\tconst group = state.groups.find(groupSearch => groupSearch.id === userGroup)\n\t\t\t\t\tgroup.usercount-- // decrement group total count\n\t\t\t\t})\n\t\t\t} else {\n\t\t\t\tdisabledGroup.usercount-- // decrement Disabled Users count\n\t\t\t\tuser.groups.forEach(userGroup => {\n\t\t\t\t\tconst group = state.groups.find(groupSearch => groupSearch.id === userGroup)\n\t\t\t\t\tgroup.disabled-- // decrement group disabled count\n\t\t\t\t})\n\t\t\t}\n\t\t\tbreak\n\t\tdefault:\n\t\t\tlogger.error(`Unknown action type in updateUserCounts: '${actionType}'`)\n\t\t\t// not throwing error to interrupt execution as this is not fatal\n\t\t}\n\t},\n\tsetUserData(state, { userid, key, value }) {\n\t\tif (key === 'quota') {\n\t\t\tconst humanValue = OC.Util.computerFileSize(value)\n\t\t\tstate.users.find(user => user.id === userid)[key][key] = humanValue !== null ? humanValue : value\n\t\t} else {\n\t\t\tstate.users.find(user => user.id === userid)[key] = value\n\t\t}\n\t},\n\n\t/**\n\t * Reset users list\n\t *\n\t * @param {object} state the store state\n\t */\n\tresetUsers(state) {\n\t\tstate.users = []\n\t\tstate.usersOffset = 0\n\t},\n}\n\nconst getters = {\n\tgetUsers(state) {\n\t\treturn state.users\n\t},\n\tgetGroups(state) {\n\t\treturn state.groups\n\t},\n\tgetSubadminGroups(state) {\n\t\t// Can't be subadmin of admin or disabled\n\t\treturn state.groups.filter(group => group.id !== 'admin' && group.id !== 'disabled')\n\t},\n\tgetPasswordPolicyMinLength(state) {\n\t\treturn state.minPasswordLength\n\t},\n\tgetUsersOffset(state) {\n\t\treturn state.usersOffset\n\t},\n\tgetUsersLimit(state) {\n\t\treturn state.usersLimit\n\t},\n\tgetUserCount(state) {\n\t\treturn state.userCount\n\t},\n}\n\nconst CancelToken = axios.CancelToken\nlet searchRequestCancelSource = null\n\nconst actions = {\n\n\t/**\n\t * Get all users with full details\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {number} options.offset List offset to request\n\t * @param {number} options.limit List number to return from offset\n\t * @param {string} options.search Search amongst users\n\t * @param {string} options.group Get users from group\n\t * @return {Promise}\n\t */\n\tgetUsers(context, { offset, limit, search, group }) {\n\t\tif (searchRequestCancelSource) {\n\t\t\tsearchRequestCancelSource.cancel('Operation canceled by another search request.')\n\t\t}\n\t\tsearchRequestCancelSource = CancelToken.source()\n\t\tsearch = typeof search === 'string' ? search : ''\n\t\tgroup = typeof group === 'string' ? group : ''\n\t\tif (group !== '') {\n\t\t\treturn api.get(generateOcsUrl('cloud/groups/{group}/users/details?offset={offset}&limit={limit}&search={search}', { group: encodeURIComponent(group), offset, limit, search }), {\n\t\t\t\tcancelToken: searchRequestCancelSource.token,\n\t\t\t})\n\t\t\t\t.then((response) => {\n\t\t\t\t\tconst usersCount = Object.keys(response.data.ocs.data.users).length\n\t\t\t\t\tif (usersCount > 0) {\n\t\t\t\t\t\tcontext.commit('appendUsers', response.data.ocs.data.users)\n\t\t\t\t\t}\n\t\t\t\t\treturn usersCount\n\t\t\t\t})\n\t\t\t\t.catch((error) => {\n\t\t\t\t\tif (!axios.isCancel(error)) {\n\t\t\t\t\t\tcontext.commit('API_FAILURE', error)\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t}\n\n\t\treturn api.get(generateOcsUrl('cloud/users/details?offset={offset}&limit={limit}&search={search}', { offset, limit, search }), {\n\t\t\tcancelToken: searchRequestCancelSource.token,\n\t\t})\n\t\t\t.then((response) => {\n\t\t\t\tconst usersCount = Object.keys(response.data.ocs.data.users).length\n\t\t\t\tif (usersCount > 0) {\n\t\t\t\t\tcontext.commit('appendUsers', response.data.ocs.data.users)\n\t\t\t\t}\n\t\t\t\treturn usersCount\n\t\t\t})\n\t\t\t.catch((error) => {\n\t\t\t\tif (!axios.isCancel(error)) {\n\t\t\t\t\tcontext.commit('API_FAILURE', error)\n\t\t\t\t}\n\t\t\t})\n\t},\n\n\tgetGroups(context, { offset, limit, search }) {\n\t\tsearch = typeof search === 'string' ? search : ''\n\t\tconst limitParam = limit === -1 ? '' : `&limit=${limit}`\n\t\treturn api.get(generateOcsUrl('cloud/groups?offset={offset}&search={search}', { offset, search }) + limitParam)\n\t\t\t.then((response) => {\n\t\t\t\tif (Object.keys(response.data.ocs.data.groups).length > 0) {\n\t\t\t\t\tresponse.data.ocs.data.groups.forEach(function(group) {\n\t\t\t\t\t\tcontext.commit('addGroup', { gid: group, displayName: group })\n\t\t\t\t\t})\n\t\t\t\t\treturn true\n\t\t\t\t}\n\t\t\t\treturn false\n\t\t\t})\n\t\t\t.catch((error) => context.commit('API_FAILURE', error))\n\t},\n\n\t/**\n\t * Get all users with full details\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {number} options.offset List offset to request\n\t * @param {number} options.limit List number to return from offset\n\t * @param {string} options.search -\n\t * @return {Promise}\n\t */\n\tgetUsersFromList(context, { offset, limit, search }) {\n\t\tsearch = typeof search === 'string' ? search : ''\n\t\treturn api.get(generateOcsUrl('cloud/users/details?offset={offset}&limit={limit}&search={search}', { offset, limit, search }))\n\t\t\t.then((response) => {\n\t\t\t\tif (Object.keys(response.data.ocs.data.users).length > 0) {\n\t\t\t\t\tcontext.commit('appendUsers', response.data.ocs.data.users)\n\t\t\t\t\treturn true\n\t\t\t\t}\n\t\t\t\treturn false\n\t\t\t})\n\t\t\t.catch((error) => context.commit('API_FAILURE', error))\n\t},\n\n\t/**\n\t * Get all users with full details from a groupid\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {number} options.offset List offset to request\n\t * @param {number} options.limit List number to return from offset\n\t * @param {string} options.groupid -\n\t * @return {Promise}\n\t */\n\tgetUsersFromGroup(context, { groupid, offset, limit }) {\n\t\treturn api.get(generateOcsUrl('cloud/users/{groupId}/details?offset={offset}&limit={limit}', { groupId: encodeURIComponent(groupid), offset, limit }))\n\t\t\t.then((response) => context.commit('getUsersFromList', response.data.ocs.data.users))\n\t\t\t.catch((error) => context.commit('API_FAILURE', error))\n\t},\n\n\tgetPasswordPolicyMinLength(context) {\n\t\tif (OC.getCapabilities().password_policy && OC.getCapabilities().password_policy.minLength) {\n\t\t\tcontext.commit('setPasswordPolicyMinLength', OC.getCapabilities().password_policy.minLength)\n\t\t\treturn OC.getCapabilities().password_policy.minLength\n\t\t}\n\t\treturn false\n\t},\n\n\t/**\n\t * Add group\n\t *\n\t * @param {object} context store context\n\t * @param {string} gid Group id\n\t * @return {Promise}\n\t */\n\taddGroup(context, gid) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.post(generateOcsUrl('cloud/groups'), { groupid: gid })\n\t\t\t\t.then((response) => {\n\t\t\t\t\tcontext.commit('addGroup', { gid, displayName: gid })\n\t\t\t\t\treturn { gid, displayName: gid }\n\t\t\t\t})\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => {\n\t\t\tcontext.commit('API_FAILURE', { gid, error })\n\t\t\t// let's throw one more time to prevent the view\n\t\t\t// from adding the user to a group that doesn't exists\n\t\t\tthrow error\n\t\t})\n\t},\n\n\t/**\n\t * Rename group\n\t *\n\t * @param {object} context store context\n\t * @param {string} groupid Group id\n\t * @param {string} displayName Group display name\n\t * @return {Promise}\n\t */\n\trenameGroup(context, { groupid, displayName }) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.put(generateOcsUrl('cloud/groups/{groupId}', { groupId: encodeURIComponent(groupid) }), { key: 'displayname', value: displayName })\n\t\t\t\t.then((response) => {\n\t\t\t\t\tcontext.commit('renameGroup', { gid: groupid, displayName })\n\t\t\t\t\treturn { groupid, displayName }\n\t\t\t\t})\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => {\n\t\t\tcontext.commit('API_FAILURE', { groupid, error })\n\t\t\t// let's throw one more time to prevent the view\n\t\t\t// from renaming the group\n\t\t\tthrow error\n\t\t})\n\t},\n\n\t/**\n\t * Remove group\n\t *\n\t * @param {object} context store context\n\t * @param {string} gid Group id\n\t * @return {Promise}\n\t */\n\tremoveGroup(context, gid) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.delete(generateOcsUrl('cloud/groups/{groupId}', { groupId: encodeURIComponent(gid) }))\n\t\t\t\t.then((response) => context.commit('removeGroup', gid))\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => context.commit('API_FAILURE', { gid, error }))\n\t},\n\n\t/**\n\t * Add user to group\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {string} options.userid User id\n\t * @param {string} options.gid Group id\n\t * @return {Promise}\n\t */\n\taddUserGroup(context, { userid, gid }) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.post(generateOcsUrl('cloud/users/{userid}/groups', { userid }), { groupid: gid })\n\t\t\t\t.then((response) => context.commit('addUserGroup', { userid, gid }))\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }))\n\t},\n\n\t/**\n\t * Remove user from group\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {string} options.userid User id\n\t * @param {string} options.gid Group id\n\t * @return {Promise}\n\t */\n\tremoveUserGroup(context, { userid, gid }) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.delete(generateOcsUrl('cloud/users/{userid}/groups', { userid }), { groupid: gid })\n\t\t\t\t.then((response) => context.commit('removeUserGroup', { userid, gid }))\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => {\n\t\t\tcontext.commit('API_FAILURE', { userid, error })\n\t\t\t// let's throw one more time to prevent\n\t\t\t// the view from removing the user row on failure\n\t\t\tthrow error\n\t\t})\n\t},\n\n\t/**\n\t * Add user to group admin\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {string} options.userid User id\n\t * @param {string} options.gid Group id\n\t * @return {Promise}\n\t */\n\taddUserSubAdmin(context, { userid, gid }) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.post(generateOcsUrl('cloud/users/{userid}/subadmins', { userid }), { groupid: gid })\n\t\t\t\t.then((response) => context.commit('addUserSubAdmin', { userid, gid }))\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }))\n\t},\n\n\t/**\n\t * Remove user from group admin\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {string} options.userid User id\n\t * @param {string} options.gid Group id\n\t * @return {Promise}\n\t */\n\tremoveUserSubAdmin(context, { userid, gid }) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.delete(generateOcsUrl('cloud/users/{userid}/subadmins', { userid }), { groupid: gid })\n\t\t\t\t.then((response) => context.commit('removeUserSubAdmin', { userid, gid }))\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }))\n\t},\n\n\t/**\n\t * Mark all user devices for remote wipe\n\t *\n\t * @param {object} context store context\n\t * @param {string} userid User id\n\t * @return {Promise}\n\t */\n\twipeUserDevices(context, userid) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.post(generateOcsUrl('cloud/users/{userid}/wipe', { userid }))\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }))\n\t},\n\n\t/**\n\t * Delete a user\n\t *\n\t * @param {object} context store context\n\t * @param {string} userid User id\n\t * @return {Promise}\n\t */\n\tdeleteUser(context, userid) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.delete(generateOcsUrl('cloud/users/{userid}', { userid }))\n\t\t\t\t.then((response) => context.commit('deleteUser', userid))\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }))\n\t},\n\n\t/**\n\t * Add a user\n\t *\n\t * @param {object} context store context\n\t * @param {Function} context.commit -\n\t * @param {Function} context.dispatch -\n\t * @param {object} options destructuring object\n\t * @param {string} options.userid User id\n\t * @param {string} options.password User password\n\t * @param {string} options.displayName User display name\n\t * @param {string} options.email User email\n\t * @param {string} options.groups User groups\n\t * @param {string} options.subadmin User subadmin groups\n\t * @param {string} options.quota User email\n\t * @param {string} options.language User language\n\t * @return {Promise}\n\t */\n\taddUser({ commit, dispatch }, { userid, password, displayName, email, groups, subadmin, quota, language }) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.post(generateOcsUrl('cloud/users'), { userid, password, displayName, email, groups, subadmin, quota, language })\n\t\t\t\t.then((response) => dispatch('addUserData', userid || response.data.ocs.data.id))\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => {\n\t\t\tcommit('API_FAILURE', { userid, error })\n\t\t\tthrow error\n\t\t})\n\t},\n\n\t/**\n\t * Get user data and commit addition\n\t *\n\t * @param {object} context store context\n\t * @param {string} userid User id\n\t * @return {Promise}\n\t */\n\taddUserData(context, userid) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.get(generateOcsUrl('cloud/users/{userid}', { userid }))\n\t\t\t\t.then((response) => context.commit('addUserData', response))\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }))\n\t},\n\n\t/**\n\t * Enable or disable user\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {string} options.userid User id\n\t * @param {boolean} options.enabled User enablement status\n\t * @return {Promise}\n\t */\n\tenableDisableUser(context, { userid, enabled = true }) {\n\t\tconst userStatus = enabled ? 'enable' : 'disable'\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.put(generateOcsUrl('cloud/users/{userid}/{userStatus}', { userid, userStatus }))\n\t\t\t\t.then((response) => context.commit('enableDisableUser', { userid, enabled }))\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }))\n\t},\n\n\t/**\n\t * Edit user data\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {string} options.userid User id\n\t * @param {string} options.key User field to edit\n\t * @param {string} options.value Value of the change\n\t * @return {Promise}\n\t */\n\tsetUserData(context, { userid, key, value }) {\n\t\tconst allowedEmpty = ['email', 'displayname']\n\t\tif (['email', 'language', 'quota', 'displayname', 'password'].indexOf(key) !== -1) {\n\t\t\t// We allow empty email or displayname\n\t\t\tif (typeof value === 'string'\n\t\t\t\t&& (\n\t\t\t\t\t(allowedEmpty.indexOf(key) === -1 && value.length > 0)\n\t\t\t\t\t|| allowedEmpty.indexOf(key) !== -1\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\treturn api.requireAdmin().then((response) => {\n\t\t\t\t\treturn api.put(generateOcsUrl('cloud/users/{userid}', { userid }), { key, value })\n\t\t\t\t\t\t.then((response) => context.commit('setUserData', { userid, key, value }))\n\t\t\t\t\t\t.catch((error) => { throw error })\n\t\t\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }))\n\t\t\t}\n\t\t}\n\t\treturn Promise.reject(new Error('Invalid request data'))\n\t},\n\n\t/**\n\t * Send welcome mail\n\t *\n\t * @param {object} context store context\n\t * @param {string} userid User id\n\t * @return {Promise}\n\t */\n\tsendWelcomeMail(context, userid) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.post(generateOcsUrl('cloud/users/{userid}/welcome', { userid }))\n\t\t\t\t.then(response => true)\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }))\n\t},\n}\n\nexport default { state, mutations, getters, actions }\n","/**\n * @copyright Copyright (c) 2018 Julius Härtl \n *\n * @author John Molakvoæ \n * @author Julius Härtl \n * @author Roeland Jago Douma \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport api from './api'\nimport Vue from 'vue'\nimport { generateUrl } from '@nextcloud/router'\nimport { showError, showInfo } from '@nextcloud/dialogs'\nimport '@nextcloud/dialogs/dist/index.css'\n\nconst state = {\n\tapps: [],\n\tcategories: [],\n\tupdateCount: 0,\n\tloading: {},\n\tloadingList: false,\n}\n\nconst mutations = {\n\n\tAPPS_API_FAILURE(state, error) {\n\t\tshowError(t('settings', 'An error occurred during the request. Unable to proceed.') + '
' + error.error.response.data.data.message, { isHTML: true })\n\t\tconsole.error(state, error)\n\t},\n\n\tinitCategories(state, { categories, updateCount }) {\n\t\tstate.categories = categories\n\t\tstate.updateCount = updateCount\n\t},\n\n\tsetUpdateCount(state, updateCount) {\n\t\tstate.updateCount = updateCount\n\t},\n\n\taddCategory(state, category) {\n\t\tstate.categories.push(category)\n\t},\n\n\tappendCategories(state, categoriesArray) {\n\t\t// convert obj to array\n\t\tstate.categories = categoriesArray\n\t},\n\n\tsetAllApps(state, apps) {\n\t\tstate.apps = apps\n\t},\n\n\tsetError(state, { appId, error }) {\n\t\tif (!Array.isArray(appId)) {\n\t\t\tappId = [appId]\n\t\t}\n\t\tappId.forEach((_id) => {\n\t\t\tconst app = state.apps.find(app => app.id === _id)\n\t\t\tapp.error = error\n\t\t})\n\t},\n\n\tclearError(state, { appId, error }) {\n\t\tconst app = state.apps.find(app => app.id === appId)\n\t\tapp.error = null\n\t},\n\n\tenableApp(state, { appId, groups }) {\n\t\tconst app = state.apps.find(app => app.id === appId)\n\t\tapp.active = true\n\t\tapp.groups = groups\n\t},\n\n\tdisableApp(state, appId) {\n\t\tconst app = state.apps.find(app => app.id === appId)\n\t\tapp.active = false\n\t\tapp.groups = []\n\t\tif (app.removable) {\n\t\t\tapp.canUnInstall = true\n\t\t}\n\t},\n\n\tuninstallApp(state, appId) {\n\t\tstate.apps.find(app => app.id === appId).active = false\n\t\tstate.apps.find(app => app.id === appId).groups = []\n\t\tstate.apps.find(app => app.id === appId).needsDownload = true\n\t\tstate.apps.find(app => app.id === appId).installed = false\n\t\tstate.apps.find(app => app.id === appId).canUnInstall = false\n\t\tstate.apps.find(app => app.id === appId).canInstall = true\n\t},\n\n\tupdateApp(state, appId) {\n\t\tconst app = state.apps.find(app => app.id === appId)\n\t\tconst version = app.update\n\t\tapp.update = null\n\t\tapp.version = version\n\t\tstate.updateCount--\n\n\t},\n\n\tresetApps(state) {\n\t\tstate.apps = []\n\t},\n\treset(state) {\n\t\tstate.apps = []\n\t\tstate.categories = []\n\t\tstate.updateCount = 0\n\t},\n\tstartLoading(state, id) {\n\t\tif (Array.isArray(id)) {\n\t\t\tid.forEach((_id) => {\n\t\t\t\tVue.set(state.loading, _id, true)\n\t\t\t})\n\t\t} else {\n\t\t\tVue.set(state.loading, id, true)\n\t\t}\n\t},\n\tstopLoading(state, id) {\n\t\tif (Array.isArray(id)) {\n\t\t\tid.forEach((_id) => {\n\t\t\t\tVue.set(state.loading, _id, false)\n\t\t\t})\n\t\t} else {\n\t\t\tVue.set(state.loading, id, false)\n\t\t}\n\t},\n}\n\nconst getters = {\n\tloading(state) {\n\t\treturn function(id) {\n\t\t\treturn state.loading[id]\n\t\t}\n\t},\n\tgetCategories(state) {\n\t\treturn state.categories\n\t},\n\tgetAllApps(state) {\n\t\treturn state.apps\n\t},\n\tgetUpdateCount(state) {\n\t\treturn state.updateCount\n\t},\n}\n\nconst actions = {\n\n\tenableApp(context, { appId, groups }) {\n\t\tlet apps\n\t\tif (Array.isArray(appId)) {\n\t\t\tapps = appId\n\t\t} else {\n\t\t\tapps = [appId]\n\t\t}\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\tcontext.commit('startLoading', apps)\n\t\t\tcontext.commit('startLoading', 'install')\n\t\t\treturn api.post(generateUrl('settings/apps/enable'), { appIds: apps, groups })\n\t\t\t\t.then((response) => {\n\t\t\t\t\tcontext.commit('stopLoading', apps)\n\t\t\t\t\tcontext.commit('stopLoading', 'install')\n\t\t\t\t\tapps.forEach(_appId => {\n\t\t\t\t\t\tcontext.commit('enableApp', { appId: _appId, groups })\n\t\t\t\t\t})\n\n\t\t\t\t\t// check for server health\n\t\t\t\t\treturn api.get(generateUrl('apps/files'))\n\t\t\t\t\t\t.then(() => {\n\t\t\t\t\t\t\tif (response.data.update_required) {\n\t\t\t\t\t\t\t\tshowInfo(\n\t\t\t\t\t\t\t\t\tt(\n\t\t\t\t\t\t\t\t\t\t'settings',\n\t\t\t\t\t\t\t\t\t\t'The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds.'\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tonClick: () => window.location.reload(),\n\t\t\t\t\t\t\t\t\t\tclose: false,\n\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\tsetTimeout(function() {\n\t\t\t\t\t\t\t\t\tlocation.reload()\n\t\t\t\t\t\t\t\t}, 5000)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t})\n\t\t\t\t\t\t.catch(() => {\n\t\t\t\t\t\t\tif (!Array.isArray(appId)) {\n\t\t\t\t\t\t\t\tcontext.commit('setError', {\n\t\t\t\t\t\t\t\t\tappId: apps,\n\t\t\t\t\t\t\t\t\terror: t('settings', 'Error: This app cannot be enabled because it makes the server unstable'),\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t})\n\t\t\t\t})\n\t\t\t\t.catch((error) => {\n\t\t\t\t\tcontext.commit('stopLoading', apps)\n\t\t\t\t\tcontext.commit('stopLoading', 'install')\n\t\t\t\t\tcontext.commit('setError', {\n\t\t\t\t\t\tappId: apps,\n\t\t\t\t\t\terror: error.response.data.data.message,\n\t\t\t\t\t})\n\t\t\t\t\tcontext.commit('APPS_API_FAILURE', { appId, error })\n\t\t\t\t})\n\t\t}).catch((error) => context.commit('API_FAILURE', { appId, error }))\n\t},\n\tforceEnableApp(context, { appId, groups }) {\n\t\tlet apps\n\t\tif (Array.isArray(appId)) {\n\t\t\tapps = appId\n\t\t} else {\n\t\t\tapps = [appId]\n\t\t}\n\t\treturn api.requireAdmin().then(() => {\n\t\t\tcontext.commit('startLoading', apps)\n\t\t\tcontext.commit('startLoading', 'install')\n\t\t\treturn api.post(generateUrl('settings/apps/force'), { appId })\n\t\t\t\t.then((response) => {\n\t\t\t\t\t// TODO: find a cleaner solution\n\t\t\t\t\tlocation.reload()\n\t\t\t\t})\n\t\t\t\t.catch((error) => {\n\t\t\t\t\tcontext.commit('stopLoading', apps)\n\t\t\t\t\tcontext.commit('stopLoading', 'install')\n\t\t\t\t\tcontext.commit('setError', {\n\t\t\t\t\t\tappId: apps,\n\t\t\t\t\t\terror: error.response.data.data.message,\n\t\t\t\t\t})\n\t\t\t\t\tcontext.commit('APPS_API_FAILURE', { appId, error })\n\t\t\t\t})\n\t\t}).catch((error) => context.commit('API_FAILURE', { appId, error }))\n\t},\n\tdisableApp(context, { appId }) {\n\t\tlet apps\n\t\tif (Array.isArray(appId)) {\n\t\t\tapps = appId\n\t\t} else {\n\t\t\tapps = [appId]\n\t\t}\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\tcontext.commit('startLoading', apps)\n\t\t\treturn api.post(generateUrl('settings/apps/disable'), { appIds: apps })\n\t\t\t\t.then((response) => {\n\t\t\t\t\tcontext.commit('stopLoading', apps)\n\t\t\t\t\tapps.forEach(_appId => {\n\t\t\t\t\t\tcontext.commit('disableApp', _appId)\n\t\t\t\t\t})\n\t\t\t\t\treturn true\n\t\t\t\t})\n\t\t\t\t.catch((error) => {\n\t\t\t\t\tcontext.commit('stopLoading', apps)\n\t\t\t\t\tcontext.commit('APPS_API_FAILURE', { appId, error })\n\t\t\t\t})\n\t\t}).catch((error) => context.commit('API_FAILURE', { appId, error }))\n\t},\n\tuninstallApp(context, { appId }) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\tcontext.commit('startLoading', appId)\n\t\t\treturn api.get(generateUrl(`settings/apps/uninstall/${appId}`))\n\t\t\t\t.then((response) => {\n\t\t\t\t\tcontext.commit('stopLoading', appId)\n\t\t\t\t\tcontext.commit('uninstallApp', appId)\n\t\t\t\t\treturn true\n\t\t\t\t})\n\t\t\t\t.catch((error) => {\n\t\t\t\t\tcontext.commit('stopLoading', appId)\n\t\t\t\t\tcontext.commit('APPS_API_FAILURE', { appId, error })\n\t\t\t\t})\n\t\t}).catch((error) => context.commit('API_FAILURE', { appId, error }))\n\t},\n\n\tupdateApp(context, { appId }) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\tcontext.commit('startLoading', appId)\n\t\t\tcontext.commit('startLoading', 'install')\n\t\t\treturn api.get(generateUrl(`settings/apps/update/${appId}`))\n\t\t\t\t.then((response) => {\n\t\t\t\t\tcontext.commit('stopLoading', 'install')\n\t\t\t\t\tcontext.commit('stopLoading', appId)\n\t\t\t\t\tcontext.commit('updateApp', appId)\n\t\t\t\t\treturn true\n\t\t\t\t})\n\t\t\t\t.catch((error) => {\n\t\t\t\t\tcontext.commit('stopLoading', appId)\n\t\t\t\t\tcontext.commit('stopLoading', 'install')\n\t\t\t\t\tcontext.commit('APPS_API_FAILURE', { appId, error })\n\t\t\t\t})\n\t\t}).catch((error) => context.commit('API_FAILURE', { appId, error }))\n\t},\n\n\tgetAllApps(context) {\n\t\tcontext.commit('startLoading', 'list')\n\t\treturn api.get(generateUrl('settings/apps/list'))\n\t\t\t.then((response) => {\n\t\t\t\tcontext.commit('setAllApps', response.data.apps)\n\t\t\t\tcontext.commit('stopLoading', 'list')\n\t\t\t\treturn true\n\t\t\t})\n\t\t\t.catch((error) => context.commit('API_FAILURE', error))\n\t},\n\n\tgetCategories(context) {\n\t\tcontext.commit('startLoading', 'categories')\n\t\treturn api.get(generateUrl('settings/apps/categories'))\n\t\t\t.then((response) => {\n\t\t\t\tif (response.data.length > 0) {\n\t\t\t\t\tcontext.commit('appendCategories', response.data)\n\t\t\t\t\tcontext.commit('stopLoading', 'categories')\n\t\t\t\t\treturn true\n\t\t\t\t}\n\t\t\t\treturn false\n\t\t\t})\n\t\t\t.catch((error) => context.commit('API_FAILURE', error))\n\t},\n\n}\n\nexport default { state, mutations, getters, actions }\n","/**\n * @copyright Copyright (c) 2018 John Molakvoæ \n *\n * @author John Molakvoæ \n * @author Roeland Jago Douma \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport api from './api'\nimport { generateOcsUrl } from '@nextcloud/router'\n\nconst state = {}\nconst mutations = {}\nconst getters = {}\nconst actions = {\n\t/**\n\t * Set application config in database\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {string} options.app Application name\n\t * @param {boolean} options.key Config key\n\t * @param {boolean} options.value Value to set\n\t * @return {Promise}\n\t */\n\tsetAppConfig(context, { app, key, value }) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.post(generateOcsUrl('apps/provisioning_api/api/v1/config/apps/{app}/{key}', { app, key }), { value })\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => context.commit('API_FAILURE', { app, key, value, error }))\n\t},\n}\n\nexport default { state, mutations, getters, actions }\n","/**\n * @copyright Copyright (c) 2018 John Molakvoæ \n *\n * @author John Molakvoæ \n * @author Julius Härtl \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport Vue from 'vue'\nimport Vuex, { Store } from 'vuex'\nimport users from './users'\nimport apps from './apps'\nimport settings from './settings'\nimport oc from './oc'\nimport { showError } from '@nextcloud/dialogs'\n\nVue.use(Vuex)\n\nconst debug = process.env.NODE_ENV !== 'production'\n\nconst mutations = {\n\tAPI_FAILURE(state, error) {\n\t\ttry {\n\t\t\tconst message = error.error.response.data.ocs.meta.message\n\t\t\tshowError(t('settings', 'An error occurred during the request. Unable to proceed.') + '
' + message, { isHTML: true })\n\t\t} catch (e) {\n\t\t\tshowError(t('settings', 'An error occurred during the request. Unable to proceed.'))\n\t\t}\n\t\tconsole.error(state, error)\n\t},\n}\n\nexport default new Store({\n\tmodules: {\n\t\tusers,\n\t\tapps,\n\t\tsettings,\n\t\toc,\n\t},\n\tstrict: debug,\n\n\tmutations,\n})\n","/**\n * @copyright Copyright (c) 2018 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nconst state = {\n\tserverData: {},\n}\nconst mutations = {\n\tsetServerData(state, data) {\n\t\tstate.serverData = data\n\t},\n}\nconst getters = {\n\tgetServerData(state) {\n\t\treturn state.serverData\n\t},\n}\nconst actions = {}\n\nexport default { state, mutations, getters, actions }\n","/**\n * @copyright Copyright (c) 2018 John Molakvoæ \n *\n * @author John Molakvoæ \n * @author rakekniven \n * @author Roeland Jago Douma \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport Vue from 'vue'\nimport VTooltip from 'v-tooltip'\nimport { sync } from 'vuex-router-sync'\n\nimport App from './App.vue'\nimport router from './router'\nimport store from './store'\n\nVue.use(VTooltip, { defaultHtml: false })\n\nsync(store, router)\n\n// CSP config for webpack dynamic chunk loading\n// eslint-disable-next-line camelcase\n__webpack_nonce__ = btoa(OC.requestToken)\n\n// bind to window\nVue.prototype.t = t\nVue.prototype.n = n\nVue.prototype.OC = OC\nVue.prototype.OCA = OCA\n// eslint-disable-next-line camelcase\nVue.prototype.oc_userconfig = oc_userconfig\n\nconst app = new Vue({\n\trouter,\n\tstore,\n\trender: h => h(App),\n}).$mount('#content')\n\nexport { app, router, store }\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","__webpack_require__.amdD = function () {\n\tthrow new Error('define cannot be used indirect');\n};","__webpack_require__.amdO = {};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = function(chunkId) {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce(function(promises, key) {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"\" + {\"7418\":\"settings-apps-view\",\"8351\":\"settings-users\"}[chunkId] + \"-\" + chunkId + \".js?v=\" + {\"7418\":\"e7c5bbd57f434a75cc99\",\"8351\":\"42aa7b95279d8b9c5b3d\"}[chunkId] + \"\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = function(module) {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.j = 8562;","var scriptUrl;\nif (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \"\";\nvar document = __webpack_require__.g.document;\nif (!scriptUrl && document) {\n\tif (document.currentScript)\n\t\tscriptUrl = document.currentScript.src\n\tif (!scriptUrl) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tif(scripts.length) scriptUrl = scripts[scripts.length - 1].src\n\t}\n}\n// When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration\n// or pass an empty string (\"\") and set the __webpack_public_path__ variable from your code to use your own logic.\nif (!scriptUrl) throw new Error(\"Automatic publicPath is not supported in this browser\");\nscriptUrl = scriptUrl.replace(/#.*$/, \"\").replace(/\\?.*$/, \"\").replace(/\\/[^\\/]+$/, \"/\");\n__webpack_require__.p = scriptUrl;","__webpack_require__.b = document.baseURI || self.location.href;\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t8562: 0\n};\n\n__webpack_require__.f.j = function(chunkId, promises) {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise(function(resolve, reject) { installedChunkData = installedChunks[chunkId] = [resolve, reject]; });\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = function(event) {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t} else installedChunks[chunkId] = 0;\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = function(chunkId) { return installedChunks[chunkId] === 0; };\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some(function(id) { return installedChunks[id] !== 0; })) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunknextcloud\"] = self[\"webpackChunknextcloud\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","__webpack_require__.nc = undefined;","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [7874], function() { return __webpack_require__(78778); })\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","inProgress","dataWebpackPrefix","_h","this","$createElement","_self","_c","Users","Apps","Vue","Router","mode","base","generateUrl","linkActiveClass","routes","path","component","props","name","children","sanitize","url","replace","confirmPassword","options","axios","data","params","getLoggerBuilder","setApp","detectUser","build","orderGroups","groups","orderBy","sort","a","b","usercount","disabled","localeCompare","defaults","id","canAdd","canRemove","mutations","appendUsers","state","usersObj","users","concat","Object","keys","map","userid","usersOffset","usersLimit","setPasswordPolicyMinLength","length","minPasswordLength","initGroups","userCount","group","assign","addGroup","gid","displayName","find","push","e","console","error","renameGroup","groupIndex","findIndex","groupSearch","updatedGroup","splice","removeGroup","addUserGroup","user","enabled","removeUserGroup","indexOf","addUserSubAdmin","subadmin","removeUserSubAdmin","deleteUser","userIndex","commit","actionType","addUserData","response","ocs","enableDisableUser","updateUserCounts","disabledGroup","forEach","userGroup","logger","setUserData","key","value","humanValue","OC","Util","computerFileSize","resetUsers","CancelToken","searchRequestCancelSource","getters","getUsers","getGroups","getSubadminGroups","filter","getPasswordPolicyMinLength","getUsersOffset","getUsersLimit","getUserCount","actions","context","offset","limit","search","cancel","source","api","generateOcsUrl","encodeURIComponent","cancelToken","token","then","usersCount","catch","limitParam","getUsersFromList","getUsersFromGroup","groupid","groupId","getCapabilities","password_policy","minLength","wipeUserDevices","addUser","dispatch","password","email","quota","language","userStatus","allowedEmpty","Promise","reject","Error","sendWelcomeMail","APPS_API_FAILURE","showError","t","message","isHTML","initCategories","categories","updateCount","setUpdateCount","addCategory","category","appendCategories","categoriesArray","setAllApps","apps","setError","appId","Array","isArray","_id","app","clearError","enableApp","active","disableApp","removable","canUnInstall","uninstallApp","needsDownload","installed","canInstall","updateApp","version","update","resetApps","reset","startLoading","loading","stopLoading","appIds","_appId","update_required","showInfo","onClick","window","location","reload","close","setTimeout","forceEnableApp","getAllApps","getCategories","loadingList","getUpdateCount","setAppConfig","Vuex","API_FAILURE","meta","Store","modules","settings","serverData","setServerData","getServerData","oc","strict","process","VTooltip","defaultHtml","sync","store","router","__webpack_nonce__","btoa","requestToken","n","OCA","oc_userconfig","render","h","App","$mount","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","exports","module","loaded","__webpack_modules__","call","m","amdD","amdO","O","result","chunkIds","fn","priority","notFulfilled","Infinity","i","fulfilled","j","every","r","getter","__esModule","d","definition","o","defineProperty","enumerable","get","f","chunkId","all","reduce","promises","u","g","globalThis","Function","obj","prop","prototype","hasOwnProperty","l","done","script","needAttach","scripts","document","getElementsByTagName","s","getAttribute","createElement","charset","timeout","nc","setAttribute","src","onScriptComplete","prev","event","onerror","onload","clearTimeout","doneFns","parentNode","removeChild","bind","type","target","head","appendChild","Symbol","toStringTag","nmd","paths","scriptUrl","importScripts","currentScript","p","baseURI","self","href","installedChunks","installedChunkData","promise","resolve","errorType","realSrc","request","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","some","chunkLoadingGlobal","__webpack_exports__"],"sourceRoot":""} \ No newline at end of file From 95cbe7440af269c854bd083f8269fe37eb5151fb Mon Sep 17 00:00:00 2001 From: Joas Schilling Date: Fri, 11 Nov 2022 09:37:26 +0100 Subject: [PATCH 07/14] Validate if the user part of a "cloud id" can even be a valid user id Signed-off-by: Joas Schilling --- lib/private/Federation/CloudIdManager.php | 3 + lib/private/User/Manager.php | 70 ++++++++++++++--------- lib/public/IUserManager.php | 8 +++ 3 files changed, 55 insertions(+), 26 deletions(-) diff --git a/lib/private/Federation/CloudIdManager.php b/lib/private/Federation/CloudIdManager.php index e4e42cb129331..85aae8e5ec529 100644 --- a/lib/private/Federation/CloudIdManager.php +++ b/lib/private/Federation/CloudIdManager.php @@ -125,6 +125,9 @@ public function resolveCloudId(string $cloudId): ICloudId { if ($lastValidAtPos !== false) { $user = substr($id, 0, $lastValidAtPos); $remote = substr($id, $lastValidAtPos + 1); + + $this->userManager->validateUserId($user); + if (!empty($user) && !empty($remote)) { return new CloudId($id, $user, $remote, $this->getDisplayNameFromContact($id)); } diff --git a/lib/private/User/Manager.php b/lib/private/User/Manager.php index dc31eece41410..82fc4d818ad96 100644 --- a/lib/private/User/Manager.php +++ b/lib/private/User/Manager.php @@ -44,6 +44,8 @@ use OCP\IUser; use OCP\IUserBackend; use OCP\IUserManager; +use OCP\L10N\IFactory; +use OCP\Server; use OCP\Support\Subscription\IAssertion; use OCP\User\Backend\IGetRealUIDBackend; use OCP\User\Backend\ISearchKnownUsersBackend; @@ -427,31 +429,7 @@ public function createUser($uid, $password) { public function createUserFromBackend($uid, $password, UserInterface $backend) { $l = \OC::$server->getL10N('lib'); - // Check the name for bad characters - // Allowed are: "a-z", "A-Z", "0-9" and "_.@-'" - if (preg_match('/[^a-zA-Z0-9 _.@\-\']/', $uid)) { - throw new \InvalidArgumentException($l->t('Only the following characters are allowed in a username:' - . ' "a-z", "A-Z", "0-9", and "_.@-\'"')); - } - - // No empty username - if (trim($uid) === '') { - throw new \InvalidArgumentException($l->t('A valid username must be provided')); - } - - // No whitespace at the beginning or at the end - if (trim($uid) !== $uid) { - throw new \InvalidArgumentException($l->t('Username contains whitespace at the beginning or at the end')); - } - - // Username only consists of 1 or 2 dots (directory traversal) - if ($uid === '.' || $uid === '..') { - throw new \InvalidArgumentException($l->t('Username must not consist of dots only')); - } - - if (!$this->verifyUid($uid)) { - throw new \InvalidArgumentException($l->t('Username is invalid because files already exist for this user')); - } + $this->validateUserId($uid, true); // No empty password if (trim($password) === '') { @@ -726,7 +704,43 @@ public function getByEmail($email) { })); } - private function verifyUid(string $uid): bool { + /** + * @param string $uid + * @param bool $checkDataDirectory + * @throws \InvalidArgumentException Message is an already translated string with a reason why the id is not valid + * @since 26.0.0 + */ + public function validateUserId(string $uid, bool $checkDataDirectory = false): void { + $l = Server::get(IFactory::class)->get('lib'); + + // Check the name for bad characters + // Allowed are: "a-z", "A-Z", "0-9" and "_.@-'" + if (preg_match('/[^a-zA-Z0-9 _.@\-\']/', $uid)) { + throw new \InvalidArgumentException($l->t('Only the following characters are allowed in a username:' + . ' "a-z", "A-Z", "0-9", and "_.@-\'"')); + } + + // No empty username + if (trim($uid) === '') { + throw new \InvalidArgumentException($l->t('A valid username must be provided')); + } + + // No whitespace at the beginning or at the end + if (trim($uid) !== $uid) { + throw new \InvalidArgumentException($l->t('Username contains whitespace at the beginning or at the end')); + } + + // Username only consists of 1 or 2 dots (directory traversal) + if ($uid === '.' || $uid === '..') { + throw new \InvalidArgumentException($l->t('Username must not consist of dots only')); + } + + if (!$this->verifyUid($uid, $checkDataDirectory)) { + throw new \InvalidArgumentException($l->t('Username is invalid because files already exist for this user')); + } + } + + private function verifyUid(string $uid, bool $checkDataDirectory = false): bool { $appdata = 'appdata_' . $this->config->getSystemValueString('instanceid'); if (\in_array($uid, [ @@ -740,6 +754,10 @@ private function verifyUid(string $uid): bool { return false; } + if (!$checkDataDirectory) { + return true; + } + $dataDirectory = $this->config->getSystemValueString('datadirectory', \OC::$SERVERROOT . '/data'); return !file_exists(rtrim($dataDirectory, '/') . '/' . $uid); diff --git a/lib/public/IUserManager.php b/lib/public/IUserManager.php index af0d5f08809a8..8caa027468bb3 100644 --- a/lib/public/IUserManager.php +++ b/lib/public/IUserManager.php @@ -212,4 +212,12 @@ public function callForSeenUsers(\Closure $callback); * @since 9.1.0 */ public function getByEmail($email); + + /** + * @param string $uid The user ID to validate + * @param bool $checkDataDirectory Whether it should be checked if files for the ID exist inside the data directory + * @throws \InvalidArgumentException Message is an already translated string with a reason why the ID is not valid + * @since 26.0.0 + */ + public function validateUserId(string $uid, bool $checkDataDirectory = false): void; } From 9c49de711cad4208333033369ef25c92a39953c3 Mon Sep 17 00:00:00 2001 From: Joas Schilling Date: Fri, 11 Nov 2022 09:44:24 +0100 Subject: [PATCH 08/14] Improve email search results Signed-off-by: Joas Schilling --- lib/private/Collaboration/Collaborators/MailPlugin.php | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/lib/private/Collaboration/Collaborators/MailPlugin.php b/lib/private/Collaboration/Collaborators/MailPlugin.php index d34d9fb0087a6..aa317ec17204f 100644 --- a/lib/private/Collaboration/Collaborators/MailPlugin.php +++ b/lib/private/Collaboration/Collaborators/MailPlugin.php @@ -101,6 +101,12 @@ public function search($search, $limit, $offset, ISearchResult $searchResult) { return false; } + // Extract the email address from "Foo Bar " and then search with "foo.bar@example.tld" instead + $result = preg_match('/<([^@]+@.+)>$/', $search, $matches); + if ($result && filter_var($matches[1], FILTER_VALIDATE_EMAIL)) { + return $this->search($matches[1], $limit, $offset, $searchResult); + } + $currentUserId = $this->userSession->getUser()->getUID(); $result = $userResults = ['wide' => [], 'exact' => []]; From 7f51c79e265d767289d953dfa14a9094d4c1ef6f Mon Sep 17 00:00:00 2001 From: Nextcloud bot Date: Sat, 10 Dec 2022 02:21:01 +0000 Subject: [PATCH 09/14] [tx-robot] updated from transifex Signed-off-by: Nextcloud bot --- apps/comments/l10n/uk.js | 2 +- apps/comments/l10n/uk.json | 2 +- apps/dashboard/l10n/uk.js | 4 ++-- apps/dashboard/l10n/uk.json | 4 ++-- apps/files/l10n/gl.js | 14 ++++++++++++++ apps/files/l10n/gl.json | 14 ++++++++++++++ apps/files_sharing/l10n/es.js | 5 +++++ apps/files_sharing/l10n/es.json | 5 +++++ apps/files_sharing/l10n/gl.js | 2 ++ apps/files_sharing/l10n/gl.json | 2 ++ apps/files_versions/l10n/es.js | 5 +++++ apps/files_versions/l10n/es.json | 5 +++++ apps/settings/l10n/sv.js | 1 + apps/settings/l10n/sv.json | 1 + apps/settings/l10n/uk.js | 8 ++++---- apps/settings/l10n/uk.json | 8 ++++---- apps/theming/l10n/es.js | 3 +++ apps/theming/l10n/es.json | 3 +++ apps/theming/l10n/sv.js | 29 +++++++++++++++++++++++++++++ apps/theming/l10n/sv.json | 29 +++++++++++++++++++++++++++++ apps/theming/l10n/uk.js | 13 ++++++++----- apps/theming/l10n/uk.json | 13 ++++++++----- apps/user_ldap/l10n/uk.js | 6 +++--- apps/user_ldap/l10n/uk.json | 6 +++--- core/l10n/cs.js | 2 ++ core/l10n/cs.json | 2 ++ core/l10n/en_GB.js | 2 ++ core/l10n/en_GB.json | 2 ++ core/l10n/es.js | 2 ++ core/l10n/es.json | 2 ++ core/l10n/eu.js | 2 ++ core/l10n/eu.json | 2 ++ core/l10n/fr.js | 2 ++ core/l10n/fr.json | 2 ++ core/l10n/gl.js | 2 ++ core/l10n/gl.json | 2 ++ core/l10n/mk.js | 3 +++ core/l10n/mk.json | 3 +++ core/l10n/zh_HK.js | 2 ++ core/l10n/zh_HK.json | 2 ++ core/l10n/zh_TW.js | 2 ++ core/l10n/zh_TW.json | 2 ++ lib/l10n/ar.js | 4 ++-- lib/l10n/ar.json | 4 ++-- lib/l10n/ast.js | 4 ++-- lib/l10n/ast.json | 4 ++-- lib/l10n/az.js | 2 +- lib/l10n/az.json | 2 +- lib/l10n/bg.js | 6 +++--- lib/l10n/bg.json | 6 +++--- lib/l10n/bs.js | 2 +- lib/l10n/bs.json | 2 +- lib/l10n/ca.js | 6 +++--- lib/l10n/ca.json | 6 +++--- lib/l10n/cs.js | 6 +++--- lib/l10n/cs.json | 6 +++--- lib/l10n/da.js | 6 +++--- lib/l10n/da.json | 6 +++--- lib/l10n/de.js | 6 +++--- lib/l10n/de.json | 6 +++--- lib/l10n/de_DE.js | 6 +++--- lib/l10n/de_DE.json | 6 +++--- lib/l10n/el.js | 6 +++--- lib/l10n/el.json | 6 +++--- lib/l10n/en_GB.js | 6 +++--- lib/l10n/en_GB.json | 6 +++--- lib/l10n/eo.js | 6 +++--- lib/l10n/eo.json | 6 +++--- lib/l10n/es.js | 6 +++--- lib/l10n/es.json | 6 +++--- lib/l10n/es_419.js | 6 +++--- lib/l10n/es_419.json | 6 +++--- lib/l10n/es_AR.js | 4 ++-- lib/l10n/es_AR.json | 4 ++-- lib/l10n/es_CL.js | 6 +++--- lib/l10n/es_CL.json | 6 +++--- lib/l10n/es_CO.js | 6 +++--- lib/l10n/es_CO.json | 6 +++--- lib/l10n/es_CR.js | 6 +++--- lib/l10n/es_CR.json | 6 +++--- lib/l10n/es_DO.js | 6 +++--- lib/l10n/es_DO.json | 6 +++--- lib/l10n/es_EC.js | 6 +++--- lib/l10n/es_EC.json | 6 +++--- lib/l10n/es_GT.js | 6 +++--- lib/l10n/es_GT.json | 6 +++--- lib/l10n/es_HN.js | 6 +++--- lib/l10n/es_HN.json | 6 +++--- lib/l10n/es_MX.js | 6 +++--- lib/l10n/es_MX.json | 6 +++--- lib/l10n/es_NI.js | 6 +++--- lib/l10n/es_NI.json | 6 +++--- lib/l10n/es_PA.js | 6 +++--- lib/l10n/es_PA.json | 6 +++--- lib/l10n/es_PE.js | 6 +++--- lib/l10n/es_PE.json | 6 +++--- lib/l10n/es_PR.js | 6 +++--- lib/l10n/es_PR.json | 6 +++--- lib/l10n/es_PY.js | 6 +++--- lib/l10n/es_PY.json | 6 +++--- lib/l10n/es_SV.js | 6 +++--- lib/l10n/es_SV.json | 6 +++--- lib/l10n/es_UY.js | 6 +++--- lib/l10n/es_UY.json | 6 +++--- lib/l10n/et_EE.js | 6 +++--- lib/l10n/et_EE.json | 6 +++--- lib/l10n/eu.js | 6 +++--- lib/l10n/eu.json | 6 +++--- lib/l10n/fa.js | 6 +++--- lib/l10n/fa.json | 6 +++--- lib/l10n/fi.js | 6 +++--- lib/l10n/fi.json | 6 +++--- lib/l10n/fr.js | 6 +++--- lib/l10n/fr.json | 6 +++--- lib/l10n/gl.js | 6 +++--- lib/l10n/gl.json | 6 +++--- lib/l10n/he.js | 6 +++--- lib/l10n/he.json | 6 +++--- lib/l10n/hr.js | 6 +++--- lib/l10n/hr.json | 6 +++--- lib/l10n/hu.js | 6 +++--- lib/l10n/hu.json | 6 +++--- lib/l10n/ia.js | 2 +- lib/l10n/ia.json | 2 +- lib/l10n/id.js | 4 ++-- lib/l10n/id.json | 4 ++-- lib/l10n/is.js | 6 +++--- lib/l10n/is.json | 6 +++--- lib/l10n/it.js | 6 +++--- lib/l10n/it.json | 6 +++--- lib/l10n/ja.js | 6 +++--- lib/l10n/ja.json | 6 +++--- lib/l10n/ka_GE.js | 6 +++--- lib/l10n/ka_GE.json | 6 +++--- lib/l10n/km.js | 2 +- lib/l10n/km.json | 2 +- lib/l10n/kn.js | 2 +- lib/l10n/kn.json | 2 +- lib/l10n/ko.js | 6 +++--- lib/l10n/ko.json | 6 +++--- lib/l10n/lt_LT.js | 6 +++--- lib/l10n/lt_LT.json | 6 +++--- lib/l10n/lv.js | 2 +- lib/l10n/lv.json | 2 +- lib/l10n/mk.js | 6 +++--- lib/l10n/mk.json | 6 +++--- lib/l10n/nb.js | 6 +++--- lib/l10n/nb.json | 6 +++--- lib/l10n/nl.js | 6 +++--- lib/l10n/nl.json | 6 +++--- lib/l10n/nn_NO.js | 2 +- lib/l10n/nn_NO.json | 2 +- lib/l10n/pl.js | 6 +++--- lib/l10n/pl.json | 6 +++--- lib/l10n/pt_BR.js | 6 +++--- lib/l10n/pt_BR.json | 6 +++--- lib/l10n/pt_PT.js | 6 +++--- lib/l10n/pt_PT.json | 6 +++--- lib/l10n/ro.js | 6 +++--- lib/l10n/ro.json | 6 +++--- lib/l10n/ru.js | 6 +++--- lib/l10n/ru.json | 6 +++--- lib/l10n/sc.js | 6 +++--- lib/l10n/sc.json | 6 +++--- lib/l10n/sk.js | 6 +++--- lib/l10n/sk.json | 6 +++--- lib/l10n/sl.js | 6 +++--- lib/l10n/sl.json | 6 +++--- lib/l10n/sq.js | 4 ++-- lib/l10n/sq.json | 4 ++-- lib/l10n/sr.js | 6 +++--- lib/l10n/sr.json | 6 +++--- lib/l10n/sv.js | 6 +++--- lib/l10n/sv.json | 6 +++--- lib/l10n/th.js | 4 ++-- lib/l10n/th.json | 4 ++-- lib/l10n/tr.js | 6 +++--- lib/l10n/tr.json | 6 +++--- lib/l10n/ug.js | 2 +- lib/l10n/ug.json | 2 +- lib/l10n/uk.js | 6 +++--- lib/l10n/uk.json | 6 +++--- lib/l10n/zh_CN.js | 6 +++--- lib/l10n/zh_CN.json | 6 +++--- lib/l10n/zh_HK.js | 6 +++--- lib/l10n/zh_HK.json | 6 +++--- lib/l10n/zh_TW.js | 6 +++--- lib/l10n/zh_TW.json | 6 +++--- 188 files changed, 586 insertions(+), 424 deletions(-) diff --git a/apps/comments/l10n/uk.js b/apps/comments/l10n/uk.js index 0102d810a76f8..ca9ca93937e61 100644 --- a/apps/comments/l10n/uk.js +++ b/apps/comments/l10n/uk.js @@ -9,7 +9,7 @@ OC.L10N.register( "You commented on {file}" : "Ви прокоментували {file}", "%1$s commented on %2$s" : "%1$s прокоментовано у %2$s", "{author} commented on {file}" : "{author} прокоментував {file}", - "Comments for files" : "Коментів для файлів", + "Comments for files" : "З'явилися коментарі до файлів", "You were mentioned on \"{file}\", in a comment by a user that has since been deleted" : "Вас згадали в \"{file}\" у коментарі користувача, який згодом було видалено", "{user} mentioned you in a comment on \"{file}\"" : "{user} згадав вас у коментарі до \"{file}\"", "Files app plugin to add comments to files" : "Плаґін до застосунку и\"Файли\" для додавання коментарів до файлів", diff --git a/apps/comments/l10n/uk.json b/apps/comments/l10n/uk.json index 5260d60fd2517..ce07d4459a1e7 100644 --- a/apps/comments/l10n/uk.json +++ b/apps/comments/l10n/uk.json @@ -7,7 +7,7 @@ "You commented on {file}" : "Ви прокоментували {file}", "%1$s commented on %2$s" : "%1$s прокоментовано у %2$s", "{author} commented on {file}" : "{author} прокоментував {file}", - "Comments for files" : "Коментів для файлів", + "Comments for files" : "З'явилися коментарі до файлів", "You were mentioned on \"{file}\", in a comment by a user that has since been deleted" : "Вас згадали в \"{file}\" у коментарі користувача, який згодом було видалено", "{user} mentioned you in a comment on \"{file}\"" : "{user} згадав вас у коментарі до \"{file}\"", "Files app plugin to add comments to files" : "Плаґін до застосунку и\"Файли\" для додавання коментарів до файлів", diff --git a/apps/dashboard/l10n/uk.js b/apps/dashboard/l10n/uk.js index 1f314e3973935..3b8b74cacc95f 100644 --- a/apps/dashboard/l10n/uk.js +++ b/apps/dashboard/l10n/uk.js @@ -23,10 +23,10 @@ OC.L10N.register( "Hello" : "Привіт", "Hello, {name}" : "Привіт, {name}", "Show something" : "Показати щось", - "Change background image" : "Змінити фонову світлину", + "Change background image" : "Змінити зображення тла", "Pick from Files" : "Виберіть із файлів", "Default images" : "Типові зображення", - "Plain background" : "Рівний фон", + "Plain background" : "Однокольорове тло", "Insert from {productName}" : "Вставка з {productName}" }, "nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != 11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || (n % 100 >=11 && n % 100 <=14 )) ? 2: 3);"); diff --git a/apps/dashboard/l10n/uk.json b/apps/dashboard/l10n/uk.json index ad7645a63f974..3cc64ff62e20d 100644 --- a/apps/dashboard/l10n/uk.json +++ b/apps/dashboard/l10n/uk.json @@ -21,10 +21,10 @@ "Hello" : "Привіт", "Hello, {name}" : "Привіт, {name}", "Show something" : "Показати щось", - "Change background image" : "Змінити фонову світлину", + "Change background image" : "Змінити зображення тла", "Pick from Files" : "Виберіть із файлів", "Default images" : "Типові зображення", - "Plain background" : "Рівний фон", + "Plain background" : "Однокольорове тло", "Insert from {productName}" : "Вставка з {productName}" },"pluralForm" :"nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != 11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || (n % 100 >=11 && n % 100 <=14 )) ? 2: 3);" } \ No newline at end of file diff --git a/apps/files/l10n/gl.js b/apps/files/l10n/gl.js index f7b42e94ef950..17e3b58479ab2 100644 --- a/apps/files/l10n/gl.js +++ b/apps/files/l10n/gl.js @@ -9,6 +9,8 @@ OC.L10N.register( "Download" : "Descargar", "Delete" : "Eliminar", "Tags" : "Etiquetas", + "Show list view" : "Mostrar vista de lista", + "Show grid view" : "Mostrar a vista de cuadrícula", "Home" : "Inicio", "Close" : "Pechar", "Favorites" : "Favoritos", @@ -22,6 +24,7 @@ OC.L10N.register( "Target folder \"{dir}\" does not exist any more" : "O cartafol de destino «{dir}» xa non existe", "Not enough free space" : "Non hai espazo libre abondo", "An unknown error has occurred" : "Produciuse un erro descoñecido", + "File could not be uploaded" : "Non se puido cargar o ficheiro", "Uploading …" : "Enviando…", "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} de {totalSize} ({bitrate})", "Uploading that item is not supported" : "Non se admite o envío deste elemento", @@ -33,6 +36,7 @@ OC.L10N.register( "Move" : "Mover", "Copy" : "Copiar", "Choose target folder" : "Escoller o cartafol de destino", + "Edit locally" : "Editar localmente", "Open" : "Abrir", "Delete file" : "Eliminar ficheiro", "Delete folder" : "Eliminar cartafol", @@ -43,6 +47,8 @@ OC.L10N.register( "Details" : "Detalles", "Please select tag(s) to add to the selection" : "Elixe a etiqueta(s) para engadir á selección", "Apply tag(s) to selection" : "Aplicar etiqueta(s) á selección", + "Select directory \"{dirName}\"" : "Seleccione o directorio \"{dirName}\"", + "Select file \"{fileName}\"" : "Seleccione o ficheiro \"{fileName}\"", "Pending" : "Pendentes", "Unable to determine date" : "Non é posíbel determinar a data", "This operation is forbidden" : "Esta operación está prohibida", @@ -54,6 +60,7 @@ OC.L10N.register( "Could not copy \"{file}\"" : "Non foi posíbel copiar «{file}", "Copied {origin} inside {destination}" : "Copiado {origin} en {destination}", "Copied {origin} and {nbfiles} other files inside {destination}" : "Copiado {origin} e outros {nbfiles} ficheiros en {destination} ", + "Failed to redirect to client" : "Produciuse un erro ao redirixir ao cliente", "{newName} already exists" : "Xa existe {newName}", "Could not rename \"{fileName}\", it does not exist any more" : "Non foi posíbel renomear «{fileName}», xa non existe", "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "O nome «{targetName}» xa se utiliza no cartafol «{dir}». Escolla outro nome.", @@ -72,8 +79,11 @@ OC.L10N.register( "_%n file_::_%n files_" : ["%n ficheiro","%n ficheiros"], "{dirs} and {files}" : "{dirs} e {files}", "_including %n hidden_::_including %n hidden_" : ["incluíndo %n agachado","incluíndo %n agochados"], + "You do not have permission to upload or create files here" : "Non tes permiso para cargar ou crear ficheiros aquí", "_Uploading %n file_::_Uploading %n files_" : ["Enviando %n ficheiro","Enviando %n ficheiros"], + "New file/folder menu" : "Novo menú ficheiro/cartafol", "Select file range" : "Seleccionar o intervalo de ficheiros ", + "{used}%" : "{used}%", "{used} of {quota} used" : "Usados {used} de {quota}", "{used} used" : "{used} usados", "\"{name}\" is an invalid file name." : "«{name}» é un nome incorrecto de ficheiro.", @@ -168,6 +178,7 @@ OC.L10N.register( "Transfer {path} to {userid}" : "Transferir {path} cara a {userid}", "Invalid path selected" : "Seleccionou unha ruta incorrecta.", "Ownership transfer request sent" : "Enviouse solicitude de transferencia da propiedade", + "Cannot transfer ownership of a file or folder you do not own" : "Non se pode transferir a propiedade dun ficheiro ou cartafol do que non eres propietario", "Unable to change the favourite state of the file" : "Non é posíbel cambiar o estado favorito do ficheiro", "Error while loading the file data" : "Produciuse un erro ao cargar os datos do ficheiro", "Pick a template for {name}" : "Escolla un modelo para {name}", @@ -181,11 +192,14 @@ OC.L10N.register( "Templates" : "Modelos", "Unable to initialize the templates directory" : "Non é posíbel iniciar o directorio de modelos", "%s used" : "%s utilizado", + "%s%%" : "%s%%", "%1$s of %2$s used" : "%s de %s utilizado", + "Files settings" : "Configuración de ficheiros", "Show hidden files" : "Amosar os ficheiros agochados", "Crop image previews" : "Recortar a vista previa das imaxes", "WebDAV" : "WebDAV", "Use this address to access your Files via WebDAV" : "Empregue este enderezo para acceder ao seu Ficheiros mediante WebDAV", + "Toggle %1$s sublist" : "Alternar %1$s sublista", "Toggle grid view" : "Alternar a vista como grella", "No files in here" : "Aquí non hai ficheiros", "Upload some content or sync with your devices!" : "Envíe algún contido ou sincronice cos seus dispositivos!", diff --git a/apps/files/l10n/gl.json b/apps/files/l10n/gl.json index 0b432ebfba847..bcd61f8530d50 100644 --- a/apps/files/l10n/gl.json +++ b/apps/files/l10n/gl.json @@ -7,6 +7,8 @@ "Download" : "Descargar", "Delete" : "Eliminar", "Tags" : "Etiquetas", + "Show list view" : "Mostrar vista de lista", + "Show grid view" : "Mostrar a vista de cuadrícula", "Home" : "Inicio", "Close" : "Pechar", "Favorites" : "Favoritos", @@ -20,6 +22,7 @@ "Target folder \"{dir}\" does not exist any more" : "O cartafol de destino «{dir}» xa non existe", "Not enough free space" : "Non hai espazo libre abondo", "An unknown error has occurred" : "Produciuse un erro descoñecido", + "File could not be uploaded" : "Non se puido cargar o ficheiro", "Uploading …" : "Enviando…", "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} de {totalSize} ({bitrate})", "Uploading that item is not supported" : "Non se admite o envío deste elemento", @@ -31,6 +34,7 @@ "Move" : "Mover", "Copy" : "Copiar", "Choose target folder" : "Escoller o cartafol de destino", + "Edit locally" : "Editar localmente", "Open" : "Abrir", "Delete file" : "Eliminar ficheiro", "Delete folder" : "Eliminar cartafol", @@ -41,6 +45,8 @@ "Details" : "Detalles", "Please select tag(s) to add to the selection" : "Elixe a etiqueta(s) para engadir á selección", "Apply tag(s) to selection" : "Aplicar etiqueta(s) á selección", + "Select directory \"{dirName}\"" : "Seleccione o directorio \"{dirName}\"", + "Select file \"{fileName}\"" : "Seleccione o ficheiro \"{fileName}\"", "Pending" : "Pendentes", "Unable to determine date" : "Non é posíbel determinar a data", "This operation is forbidden" : "Esta operación está prohibida", @@ -52,6 +58,7 @@ "Could not copy \"{file}\"" : "Non foi posíbel copiar «{file}", "Copied {origin} inside {destination}" : "Copiado {origin} en {destination}", "Copied {origin} and {nbfiles} other files inside {destination}" : "Copiado {origin} e outros {nbfiles} ficheiros en {destination} ", + "Failed to redirect to client" : "Produciuse un erro ao redirixir ao cliente", "{newName} already exists" : "Xa existe {newName}", "Could not rename \"{fileName}\", it does not exist any more" : "Non foi posíbel renomear «{fileName}», xa non existe", "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "O nome «{targetName}» xa se utiliza no cartafol «{dir}». Escolla outro nome.", @@ -70,8 +77,11 @@ "_%n file_::_%n files_" : ["%n ficheiro","%n ficheiros"], "{dirs} and {files}" : "{dirs} e {files}", "_including %n hidden_::_including %n hidden_" : ["incluíndo %n agachado","incluíndo %n agochados"], + "You do not have permission to upload or create files here" : "Non tes permiso para cargar ou crear ficheiros aquí", "_Uploading %n file_::_Uploading %n files_" : ["Enviando %n ficheiro","Enviando %n ficheiros"], + "New file/folder menu" : "Novo menú ficheiro/cartafol", "Select file range" : "Seleccionar o intervalo de ficheiros ", + "{used}%" : "{used}%", "{used} of {quota} used" : "Usados {used} de {quota}", "{used} used" : "{used} usados", "\"{name}\" is an invalid file name." : "«{name}» é un nome incorrecto de ficheiro.", @@ -166,6 +176,7 @@ "Transfer {path} to {userid}" : "Transferir {path} cara a {userid}", "Invalid path selected" : "Seleccionou unha ruta incorrecta.", "Ownership transfer request sent" : "Enviouse solicitude de transferencia da propiedade", + "Cannot transfer ownership of a file or folder you do not own" : "Non se pode transferir a propiedade dun ficheiro ou cartafol do que non eres propietario", "Unable to change the favourite state of the file" : "Non é posíbel cambiar o estado favorito do ficheiro", "Error while loading the file data" : "Produciuse un erro ao cargar os datos do ficheiro", "Pick a template for {name}" : "Escolla un modelo para {name}", @@ -179,11 +190,14 @@ "Templates" : "Modelos", "Unable to initialize the templates directory" : "Non é posíbel iniciar o directorio de modelos", "%s used" : "%s utilizado", + "%s%%" : "%s%%", "%1$s of %2$s used" : "%s de %s utilizado", + "Files settings" : "Configuración de ficheiros", "Show hidden files" : "Amosar os ficheiros agochados", "Crop image previews" : "Recortar a vista previa das imaxes", "WebDAV" : "WebDAV", "Use this address to access your Files via WebDAV" : "Empregue este enderezo para acceder ao seu Ficheiros mediante WebDAV", + "Toggle %1$s sublist" : "Alternar %1$s sublista", "Toggle grid view" : "Alternar a vista como grella", "No files in here" : "Aquí non hai ficheiros", "Upload some content or sync with your devices!" : "Envíe algún contido ou sincronice cos seus dispositivos!", diff --git a/apps/files_sharing/l10n/es.js b/apps/files_sharing/l10n/es.js index a03ec4815060b..560735d623cfa 100644 --- a/apps/files_sharing/l10n/es.js +++ b/apps/files_sharing/l10n/es.js @@ -210,6 +210,8 @@ OC.L10N.register( "Share link" : "Compartir enlace", "Error, please enter proper password and/or expiration date" : "Error, por favor, introduce la contraseña y/o fecha de caducidad adecuada", "Error while creating the share" : "Error mientras se creaba el recurso compartido", + "Share label saved" : "Se ha guardado la etiqueta del recurso compartido", + "Share password saved" : "Se ha guardado la contraseña del recurso compartido", "Search for share recipients" : "Buscar destinatarios del compartido", "No recommendations. Start typing." : "No hay recomendaciones. Comience a escribir.", "Resharing is not allowed" : "No se permite compartir de nuevo", @@ -233,6 +235,9 @@ OC.L10N.register( "Error creating the share" : "Error quitando el recurso compartido", "Error updating the share: {errorMessage}" : "Error al actualizar el recurso compartido: {errorMessage}", "Error updating the share" : "Error actualizando el recurso compartido", + "Share note saved" : "Se ha guardado la nota del recurso compartido", + "File \"{path}\" has been unshared" : "El archivo \"{path}\" se dejó de compartir", + "Folder \"{path}\" has been unshared" : "La carpeta \"{path}\" se dejó de compartir", "Shared" : "Compartido", "Share" : "Compartir", "Shared with" : "Compartido con", diff --git a/apps/files_sharing/l10n/es.json b/apps/files_sharing/l10n/es.json index b5e3cef356c91..97be55d83e4b0 100644 --- a/apps/files_sharing/l10n/es.json +++ b/apps/files_sharing/l10n/es.json @@ -208,6 +208,8 @@ "Share link" : "Compartir enlace", "Error, please enter proper password and/or expiration date" : "Error, por favor, introduce la contraseña y/o fecha de caducidad adecuada", "Error while creating the share" : "Error mientras se creaba el recurso compartido", + "Share label saved" : "Se ha guardado la etiqueta del recurso compartido", + "Share password saved" : "Se ha guardado la contraseña del recurso compartido", "Search for share recipients" : "Buscar destinatarios del compartido", "No recommendations. Start typing." : "No hay recomendaciones. Comience a escribir.", "Resharing is not allowed" : "No se permite compartir de nuevo", @@ -231,6 +233,9 @@ "Error creating the share" : "Error quitando el recurso compartido", "Error updating the share: {errorMessage}" : "Error al actualizar el recurso compartido: {errorMessage}", "Error updating the share" : "Error actualizando el recurso compartido", + "Share note saved" : "Se ha guardado la nota del recurso compartido", + "File \"{path}\" has been unshared" : "El archivo \"{path}\" se dejó de compartir", + "Folder \"{path}\" has been unshared" : "La carpeta \"{path}\" se dejó de compartir", "Shared" : "Compartido", "Share" : "Compartir", "Shared with" : "Compartido con", diff --git a/apps/files_sharing/l10n/gl.js b/apps/files_sharing/l10n/gl.js index e72e10be34d31..bb8aff52fc214 100644 --- a/apps/files_sharing/l10n/gl.js +++ b/apps/files_sharing/l10n/gl.js @@ -35,6 +35,8 @@ OC.L10N.register( "Delete" : "Eliminar", "You can upload into this folder" : "Pode envialo a este cartafol", "Terms of service" : "Termos do servizo", + "Show list view" : "Mostrar vista de lista", + "Show grid view" : "Mostrar a vista de cuadrícula", "No compatible server found at {remote}" : "Non se atopa un servidor compatíbel en {remote}", "Invalid server URL" : "URL de servidor incorrecto", "Failed to add the public link to your Nextcloud" : "Non foi posíbel engadir a ligazón pública ao seu Nextcloud", diff --git a/apps/files_sharing/l10n/gl.json b/apps/files_sharing/l10n/gl.json index e919cf612ce87..a74325bdbbc27 100644 --- a/apps/files_sharing/l10n/gl.json +++ b/apps/files_sharing/l10n/gl.json @@ -33,6 +33,8 @@ "Delete" : "Eliminar", "You can upload into this folder" : "Pode envialo a este cartafol", "Terms of service" : "Termos do servizo", + "Show list view" : "Mostrar vista de lista", + "Show grid view" : "Mostrar a vista de cuadrícula", "No compatible server found at {remote}" : "Non se atopa un servidor compatíbel en {remote}", "Invalid server URL" : "URL de servidor incorrecto", "Failed to add the public link to your Nextcloud" : "Non foi posíbel engadir a ligazón pública ao seu Nextcloud", diff --git a/apps/files_versions/l10n/es.js b/apps/files_versions/l10n/es.js index 22c01d2951c3c..edf64c314bcd4 100644 --- a/apps/files_versions/l10n/es.js +++ b/apps/files_versions/l10n/es.js @@ -4,6 +4,11 @@ OC.L10N.register( "Versions" : "Versiones", "This application automatically maintains older versions of files that are changed." : "Esta aplicación mantiene automáticamente versiones antiguas de los archivos que cambian.", "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user's directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user does not run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user's currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Esta aplicación mantiene automáticamente versiones antiguas de los archivos que cambian. Cuando se activa, una carpeta escondida de versiones aparece en cada directorio del usuario y se usa para almacenar los archivos de versiones antiguas. Un usuario puede volver a una versión más antigua a través de la interfaz web en cualquier momento, convirtiéndose el archivo reemplazado en una versión. La app controla automáticamente la carpeta de versiones para asegurarse de que el usuario no se queda sin cuota de disco por las versiones.\n\t\tAdemás de la caducidad de las versiones, la app de versiones se asegura de no usar nunca más del 50% del espacio libre actualmente disponible para el usuario. Si las versiones almacenadas exceden este límite, la app borrará primero las versiones más viejas hasta alcanzar este límite. Más información disponible en la documentación de Versiones.", + "Download version" : "Descargar versión", + "Restore version" : "Restaurar versión", + "No versions yet" : "Aún no hay versiones", + "Version restored" : "Versión restaurada", + "Could not restore version" : "No se ha podido restaurar la versión", "Version" : "Versión", "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Esta aplicación mantiene automáticamente versiones antiguas de los archivos que cambian. Al activarse, se crea una carpeta oculta de versiones que se usa para almacenar versiones antiguas de archivos. Un usuario puede volver a una versión anterior a través de la interfaz web en cualquier momento, con el archivo reemplazado convirtiéndose en una versión. La app maneja automáticamente la carpeta de versiones para asegurarse de que el usuario no se queda sin espacio debido a las versiones.\n\n\t\tAdemás de la caducidad de versiones, la app de versiones se asegura de no usar nunca más del 50% del espacio libre actualmente disponible para un usuario. Si las versiones almacenadas exceden este límite, la app borrará las versiones más antiguas hasta alcanzar este límite. Más información disponible en la documentación de Versiones.", "Failed to revert {file} to revision {timestamp}." : "No se ha podido restaurar {file} a versión {timestamp}.", diff --git a/apps/files_versions/l10n/es.json b/apps/files_versions/l10n/es.json index 66d2ea0fa27e7..cbf70a9b06b7b 100644 --- a/apps/files_versions/l10n/es.json +++ b/apps/files_versions/l10n/es.json @@ -2,6 +2,11 @@ "Versions" : "Versiones", "This application automatically maintains older versions of files that are changed." : "Esta aplicación mantiene automáticamente versiones antiguas de los archivos que cambian.", "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user's directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user does not run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user's currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Esta aplicación mantiene automáticamente versiones antiguas de los archivos que cambian. Cuando se activa, una carpeta escondida de versiones aparece en cada directorio del usuario y se usa para almacenar los archivos de versiones antiguas. Un usuario puede volver a una versión más antigua a través de la interfaz web en cualquier momento, convirtiéndose el archivo reemplazado en una versión. La app controla automáticamente la carpeta de versiones para asegurarse de que el usuario no se queda sin cuota de disco por las versiones.\n\t\tAdemás de la caducidad de las versiones, la app de versiones se asegura de no usar nunca más del 50% del espacio libre actualmente disponible para el usuario. Si las versiones almacenadas exceden este límite, la app borrará primero las versiones más viejas hasta alcanzar este límite. Más información disponible en la documentación de Versiones.", + "Download version" : "Descargar versión", + "Restore version" : "Restaurar versión", + "No versions yet" : "Aún no hay versiones", + "Version restored" : "Versión restaurada", + "Could not restore version" : "No se ha podido restaurar la versión", "Version" : "Versión", "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Esta aplicación mantiene automáticamente versiones antiguas de los archivos que cambian. Al activarse, se crea una carpeta oculta de versiones que se usa para almacenar versiones antiguas de archivos. Un usuario puede volver a una versión anterior a través de la interfaz web en cualquier momento, con el archivo reemplazado convirtiéndose en una versión. La app maneja automáticamente la carpeta de versiones para asegurarse de que el usuario no se queda sin espacio debido a las versiones.\n\n\t\tAdemás de la caducidad de versiones, la app de versiones se asegura de no usar nunca más del 50% del espacio libre actualmente disponible para un usuario. Si las versiones almacenadas exceden este límite, la app borrará las versiones más antiguas hasta alcanzar este límite. Más información disponible en la documentación de Versiones.", "Failed to revert {file} to revision {timestamp}." : "No se ha podido restaurar {file} a versión {timestamp}.", diff --git a/apps/settings/l10n/sv.js b/apps/settings/l10n/sv.js index ae3046d23e027..e73f32cd6db1e 100644 --- a/apps/settings/l10n/sv.js +++ b/apps/settings/l10n/sv.js @@ -285,6 +285,7 @@ OC.L10N.register( "Edit your Profile visibility" : "Ändra synligheten för din profil", "Enable Profile" : "Aktivera profil", "Unable to update profile enabled state" : "Kunde inte uppdatera profilaktivering", + "The more restrictive setting of either visibility or scope is respected on your Profile. For example, if visibility is set to \"Show to everyone\" and scope is set to \"Private\", \"Private\" is respected." : "Den mer restriktiva inställningen av antingen synlighet eller omfattning respekteras på din profil. Till exempel, om synlighet är inställd på \"Visa för alla\" och omfattningen är inställd på \"Privat\", respekteras \"Privat\".", "{displayId}" : "{displayId}", "Unable to update visibility of {displayId}" : "Kunde inte uppdatera synlighet för {displayId}", "Your role" : "Din roll", diff --git a/apps/settings/l10n/sv.json b/apps/settings/l10n/sv.json index 155f8126c41ad..9f3b46ab1c533 100644 --- a/apps/settings/l10n/sv.json +++ b/apps/settings/l10n/sv.json @@ -283,6 +283,7 @@ "Edit your Profile visibility" : "Ändra synligheten för din profil", "Enable Profile" : "Aktivera profil", "Unable to update profile enabled state" : "Kunde inte uppdatera profilaktivering", + "The more restrictive setting of either visibility or scope is respected on your Profile. For example, if visibility is set to \"Show to everyone\" and scope is set to \"Private\", \"Private\" is respected." : "Den mer restriktiva inställningen av antingen synlighet eller omfattning respekteras på din profil. Till exempel, om synlighet är inställd på \"Visa för alla\" och omfattningen är inställd på \"Privat\", respekteras \"Privat\".", "{displayId}" : "{displayId}", "Unable to update visibility of {displayId}" : "Kunde inte uppdatera synlighet för {displayId}", "Your role" : "Din roll", diff --git a/apps/settings/l10n/uk.js b/apps/settings/l10n/uk.js index 02da0bdca0712..804e0f4ea8f2b 100644 --- a/apps/settings/l10n/uk.js +++ b/apps/settings/l10n/uk.js @@ -49,7 +49,7 @@ OC.L10N.register( "A login attempt using two-factor authentication failed (%1$s)" : "Помилка спроби входу в систему з використанням двофакторної автентифікації (%1$s)", "Remote wipe was started on %1$s" : "Розпочато віддалене стирання на %1$s", "Remote wipe has finished on %1$s" : "Віддалене стирання на %1$s завершено", - "Your password or email was modified" : "Ваш пароль чи електронна пошта були змінені", + "Your password or email was modified" : "Ваш пароль чи електронна пошта було змінено", "Could not remove app." : "Не вдалося вилучити застосунок.", "Could not update app." : "Не вдалося оновити програму.", "Wrong password" : "Неправильний пароль", @@ -118,14 +118,14 @@ OC.L10N.register( "Personal" : "Особисте", "Administration" : "Адміністрування", "Additional settings" : "Додаткові налаштування", - "Administration privileges" : "Привілеї адміністратора", + "Administration privileges" : "Права адміністратора", "Groupware" : "Робочі групи", "Overview" : "Огляд", "Basic settings" : "Основні налаштування", "Sharing" : "Спільний доступ", "Availability" : "Доступність", "Calendar" : "Календар", - "Personal info" : "Особиста інформація", + "Personal info" : "Про мене", "Mobile & desktop" : "Застосунки для пристроїв", "Email server" : "Сервер електронної пошти", "Security & setup warnings" : "Перевірка безпеки та встановлення системи", @@ -464,7 +464,7 @@ OC.L10N.register( "You need to enable the File sharing App." : "Потрібно увімкнути застосунок для обміну файлами.", "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Як адміністратор ви можете точно налаштувати поведінку спільного використання. Будь ласка, перегляньте документацію для отримання додаткової інформації.", "Allow apps to use the Share API" : "Дозволити застосункам використовувати API спільного доступу", - "Set default expiration date for shares" : "Установіть термін дії акцій за умовчанням", + "Set default expiration date for shares" : "Установіть типовий термін дії для спільних ресурсів", "Expire after" : "Термін дії закінчується після", "day(s)" : "день (дні)", "Enforce expiration date" : "Термін дії обов'язковий", diff --git a/apps/settings/l10n/uk.json b/apps/settings/l10n/uk.json index c2c6fbf2cd558..2096fa8929c75 100644 --- a/apps/settings/l10n/uk.json +++ b/apps/settings/l10n/uk.json @@ -47,7 +47,7 @@ "A login attempt using two-factor authentication failed (%1$s)" : "Помилка спроби входу в систему з використанням двофакторної автентифікації (%1$s)", "Remote wipe was started on %1$s" : "Розпочато віддалене стирання на %1$s", "Remote wipe has finished on %1$s" : "Віддалене стирання на %1$s завершено", - "Your password or email was modified" : "Ваш пароль чи електронна пошта були змінені", + "Your password or email was modified" : "Ваш пароль чи електронна пошта було змінено", "Could not remove app." : "Не вдалося вилучити застосунок.", "Could not update app." : "Не вдалося оновити програму.", "Wrong password" : "Неправильний пароль", @@ -116,14 +116,14 @@ "Personal" : "Особисте", "Administration" : "Адміністрування", "Additional settings" : "Додаткові налаштування", - "Administration privileges" : "Привілеї адміністратора", + "Administration privileges" : "Права адміністратора", "Groupware" : "Робочі групи", "Overview" : "Огляд", "Basic settings" : "Основні налаштування", "Sharing" : "Спільний доступ", "Availability" : "Доступність", "Calendar" : "Календар", - "Personal info" : "Особиста інформація", + "Personal info" : "Про мене", "Mobile & desktop" : "Застосунки для пристроїв", "Email server" : "Сервер електронної пошти", "Security & setup warnings" : "Перевірка безпеки та встановлення системи", @@ -462,7 +462,7 @@ "You need to enable the File sharing App." : "Потрібно увімкнути застосунок для обміну файлами.", "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Як адміністратор ви можете точно налаштувати поведінку спільного використання. Будь ласка, перегляньте документацію для отримання додаткової інформації.", "Allow apps to use the Share API" : "Дозволити застосункам використовувати API спільного доступу", - "Set default expiration date for shares" : "Установіть термін дії акцій за умовчанням", + "Set default expiration date for shares" : "Установіть типовий термін дії для спільних ресурсів", "Expire after" : "Термін дії закінчується після", "day(s)" : "день (дні)", "Enforce expiration date" : "Термін дії обов'язковий", diff --git a/apps/theming/l10n/es.js b/apps/theming/l10n/es.js index 4377dcd09f5f4..c4b954d650db3 100644 --- a/apps/theming/l10n/es.js +++ b/apps/theming/l10n/es.js @@ -76,7 +76,10 @@ OC.L10N.register( "Set a custom background" : "Establecer un fondo personalizado", "Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "El acceso universal es muy importante para nosotros. Seguimos los estándares web y verificamos que todo es manejable sin ratón y con software de asistencia, como un lector de pantalla. Nuestro objetivo es cumplir con las {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 en nivel AA y, con el tema de alto contraste, en nivel AAA.", "If you find any issues, do not hesitate to report them on {issuetracker}our issue tracker{linkend}. And if you want to get involved, come join {designteam}our design team{linkend}!" : "Si encuentras cualquier problema, no dudes en informar de ellos en {issuetracker}nuestro tracker de problas{linkend}. Y si quieres involucrarte, ¡puedes unirte a {designteam}nuestro equipo de diseño{linkend}!", + "Custom background" : "Fondo personalizado", + "Default background" : "Fondo por defecto", "Change color" : "Cambiar color", + "Remove background" : "Eliminar fondo", "Select a background from your files" : "Seleccionar un fondo desde tus archivos", "Theme selection is enforced" : "La selección del tema es forzada", "Select a custom color" : "Seleccionar un color personalizado", diff --git a/apps/theming/l10n/es.json b/apps/theming/l10n/es.json index 16ac1c7f229cb..b06c138918642 100644 --- a/apps/theming/l10n/es.json +++ b/apps/theming/l10n/es.json @@ -74,7 +74,10 @@ "Set a custom background" : "Establecer un fondo personalizado", "Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "El acceso universal es muy importante para nosotros. Seguimos los estándares web y verificamos que todo es manejable sin ratón y con software de asistencia, como un lector de pantalla. Nuestro objetivo es cumplir con las {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 en nivel AA y, con el tema de alto contraste, en nivel AAA.", "If you find any issues, do not hesitate to report them on {issuetracker}our issue tracker{linkend}. And if you want to get involved, come join {designteam}our design team{linkend}!" : "Si encuentras cualquier problema, no dudes en informar de ellos en {issuetracker}nuestro tracker de problas{linkend}. Y si quieres involucrarte, ¡puedes unirte a {designteam}nuestro equipo de diseño{linkend}!", + "Custom background" : "Fondo personalizado", + "Default background" : "Fondo por defecto", "Change color" : "Cambiar color", + "Remove background" : "Eliminar fondo", "Select a background from your files" : "Seleccionar un fondo desde tus archivos", "Theme selection is enforced" : "La selección del tema es forzada", "Select a custom color" : "Seleccionar un color personalizado", diff --git a/apps/theming/l10n/sv.js b/apps/theming/l10n/sv.js index a7d33c63170c4..ac8f1e228db24 100644 --- a/apps/theming/l10n/sv.js +++ b/apps/theming/l10n/sv.js @@ -10,6 +10,7 @@ OC.L10N.register( "The given privacy policy address is not a valid URL" : "Den angivna sekretesspolicyadressen är inte en giltig webbadress", "The given slogan is too long" : "Den angivna slogan är för lång", "The given color is invalid" : "Den angivna färgen är inte tillgänglig", + "Disable-user-theming should be true or false" : "Inaktivera teman för användare ska vara sant eller falskt", "Saved" : "Sparat", "The file was uploaded" : "Filen laddades upp", "The uploaded file exceeds the upload_max_filesize directive in php.ini" : "Uppladdningsfilen är för stor (upload_max_filesize i php.ini)", @@ -20,17 +21,29 @@ OC.L10N.register( "Could not write file to disk" : "Kunde inte skriva fil till disk", "A PHP extension stopped the file upload" : "Ett PHP-tillägg stoppade filuppladdning", "No file uploaded" : "Ingen fil uppladdad", + "Cleanup old theming cache" : "Rensa gammal tema-cache", + "Failed to delete folder: \"%1$s\", error: %2$s" : "Kunde inte radera mappen: \"%1$s\", fel: %2$s", "You are already using a custom theme. Theming app settings might be overwritten by that." : "Du använder redan ett anpassat tema. Dessa appinställningar kan skrivas över.", "Theming" : "Teman", "Appearance and accessibility" : "Utseende och tillgänglighet", + "Dark theme with high contrast mode" : "Mörkt tema med högkontrastläge", + "Enable dark high contrast mode" : "Aktivera mörkt högkontrastläge", + "Similar to the high contrast mode, but with dark colours." : "Liknar högkontrastläget, men med mörka färger.", "Dark theme" : "Mörkt tema", "Enable dark theme" : "Aktivera mörkt tema", + "A dark theme to ease your eyes by reducing the overall luminosity and brightness." : "Ett mörkt tema som underlättar för dina ögon genom att minska den totala ljusstyrkan.", + "System default theme" : "Systemets standardtema", + "Enable the system default" : "Aktivera systemets standard", + "Using the default system appearance." : "Använder systemets standardutseende.", "Dyslexia font" : "Teckensnitt för dyslektiker", "Enable dyslexia font" : "Aktivera teckensnitt för dyslektiker", "OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "OpenDyslexic är ett fritt teckensnitt/font som är utformat för att mildra några av de vanligaste lässvårigheterna som orsakas av dyslexi.", "High contrast mode" : "Läge med hög kontrast", "Enable high contrast mode" : "Aktivera läge med hög kontrast", "A high contrast mode to ease your navigation. Visual quality will be reduced but clarity will be increased." : "Ett läge med hög kontrast för att underlätta din navigering. Visuell kvalitet kommer att minska men tydligheten ökar.", + "Light theme" : "Ljust tema", + "Enable the default light theme" : "Aktivera ljust standardtema", + "The default light appearance." : "Standardutseende för ljust tema.", "Legal notice" : "Rättsligt meddelande", "Privacy policy" : "Integritetspolicy", "Adjust the Nextcloud theme" : "Justera Nextcloud-tema", @@ -43,6 +56,8 @@ OC.L10N.register( "Color" : "Färg", "Logo" : "Logotyp", "Upload new logo" : "Ladda upp ny logotyp", + "Background and login image" : "Bakgrund och inloggningsbild", + "Upload new background and login image" : "Ladda upp ny bakgrund och inloggningsbild", "Legal notice link" : "Länk rättsligt meddelande", "Privacy policy link" : "Länk integritetspolicy", "Header logo" : "Huvud-logga", @@ -50,21 +65,35 @@ OC.L10N.register( "Favicon" : "Favicon", "Upload new favicon" : "Ladda upp nya favicon", "User settings" : "Användarinställningar", + "Disable user theming" : "Inaktivera teman för användare", "Keyboard shortcuts" : "Tangentbordsgenvägar", + "Disable all keyboard shortcuts" : "Inaktivera alla tangentbordsgenvägar", + "Background" : "Bakgrund", + "Customization has been disabled by your administrator" : "Anpassning har inaktiverats av din administratör", + "Set a custom background" : "Ställ in en anpassad bakgrund", "Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "Allmän åtkomst är mycket viktig för oss. Vi följer webbstandarder och kontrollerar att allt är användbart även utan mus och hjälpmedel som skärmläsare. Vi strävar efter att följa {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 på AA-nivå, med temat hög kontrast även på AAA-nivå.", + "If you find any issues, do not hesitate to report them on {issuetracker}our issue tracker{linkend}. And if you want to get involved, come join {designteam}our design team{linkend}!" : "Om du hittar några problem, tveka inte att rapportera dem på {issuetracker}vår problemhanterare{linkend}. Och om du vill engagera dig, gå med i {designteam}vårt designteam{linkend}!", + "Custom background" : "Anpassad bakgrund", + "Default background" : "Standardbakgrund", "Change color" : "Ändra färg", + "Remove background" : "Ta bort bakgrund", + "Select a background from your files" : "Välj en bakgrund från dina filer", + "Select a custom color" : "Välj en anpassad färg", "Reset to default" : "Återställ till grundinställningar", "Upload" : "Ladda upp", "Remove background image" : "Ta bort bakgrundsbild", "Loading preview…" : "Läser in förhandsvisning...", "Admin" : "Admin", + "Error uploading the file" : "Det gick inte att ladda upp filen", "Name cannot be empty" : "Namn kan inte vara tom", "Open documentation" : "Öppna dokumentationen", "https://…" : "https://…", "Login image" : "Inloggningsbild", "Upload new login background" : "Ladda upp ny bakgrundsbild", "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Installera Imagemagick PHP-tillägget med stöd för SVG-bilder för att automatiskt generera favicons baserat på den uppladdade logotypen och färgen.", + "In some cases keyboard shortcuts can interfer with accessibility tools. In order to allow focusing on your tool correctly you can disable all keyboard shortcuts here. This will also disable all available shortcuts in apps." : "I vissa fall kan tangentbordsgenvägar störa tillgänglighetsverktyg. För att kunna fokusera på ditt verktyg korrekt kan du inaktivera alla tangentbordsgenvägar här. Detta kommer också att inaktivera alla tillgängliga genvägar i appar.", "Pick from Files" : "Välj från filer", + "Default image" : "Standardbild", "Custom color" : "Anpassad färg", "Plain background" : "Enkel bakgrund", "Insert from {productName}" : "Infoga från {productName}" diff --git a/apps/theming/l10n/sv.json b/apps/theming/l10n/sv.json index 62110a2f4ba6c..2ef8ebfee0846 100644 --- a/apps/theming/l10n/sv.json +++ b/apps/theming/l10n/sv.json @@ -8,6 +8,7 @@ "The given privacy policy address is not a valid URL" : "Den angivna sekretesspolicyadressen är inte en giltig webbadress", "The given slogan is too long" : "Den angivna slogan är för lång", "The given color is invalid" : "Den angivna färgen är inte tillgänglig", + "Disable-user-theming should be true or false" : "Inaktivera teman för användare ska vara sant eller falskt", "Saved" : "Sparat", "The file was uploaded" : "Filen laddades upp", "The uploaded file exceeds the upload_max_filesize directive in php.ini" : "Uppladdningsfilen är för stor (upload_max_filesize i php.ini)", @@ -18,17 +19,29 @@ "Could not write file to disk" : "Kunde inte skriva fil till disk", "A PHP extension stopped the file upload" : "Ett PHP-tillägg stoppade filuppladdning", "No file uploaded" : "Ingen fil uppladdad", + "Cleanup old theming cache" : "Rensa gammal tema-cache", + "Failed to delete folder: \"%1$s\", error: %2$s" : "Kunde inte radera mappen: \"%1$s\", fel: %2$s", "You are already using a custom theme. Theming app settings might be overwritten by that." : "Du använder redan ett anpassat tema. Dessa appinställningar kan skrivas över.", "Theming" : "Teman", "Appearance and accessibility" : "Utseende och tillgänglighet", + "Dark theme with high contrast mode" : "Mörkt tema med högkontrastläge", + "Enable dark high contrast mode" : "Aktivera mörkt högkontrastläge", + "Similar to the high contrast mode, but with dark colours." : "Liknar högkontrastläget, men med mörka färger.", "Dark theme" : "Mörkt tema", "Enable dark theme" : "Aktivera mörkt tema", + "A dark theme to ease your eyes by reducing the overall luminosity and brightness." : "Ett mörkt tema som underlättar för dina ögon genom att minska den totala ljusstyrkan.", + "System default theme" : "Systemets standardtema", + "Enable the system default" : "Aktivera systemets standard", + "Using the default system appearance." : "Använder systemets standardutseende.", "Dyslexia font" : "Teckensnitt för dyslektiker", "Enable dyslexia font" : "Aktivera teckensnitt för dyslektiker", "OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "OpenDyslexic är ett fritt teckensnitt/font som är utformat för att mildra några av de vanligaste lässvårigheterna som orsakas av dyslexi.", "High contrast mode" : "Läge med hög kontrast", "Enable high contrast mode" : "Aktivera läge med hög kontrast", "A high contrast mode to ease your navigation. Visual quality will be reduced but clarity will be increased." : "Ett läge med hög kontrast för att underlätta din navigering. Visuell kvalitet kommer att minska men tydligheten ökar.", + "Light theme" : "Ljust tema", + "Enable the default light theme" : "Aktivera ljust standardtema", + "The default light appearance." : "Standardutseende för ljust tema.", "Legal notice" : "Rättsligt meddelande", "Privacy policy" : "Integritetspolicy", "Adjust the Nextcloud theme" : "Justera Nextcloud-tema", @@ -41,6 +54,8 @@ "Color" : "Färg", "Logo" : "Logotyp", "Upload new logo" : "Ladda upp ny logotyp", + "Background and login image" : "Bakgrund och inloggningsbild", + "Upload new background and login image" : "Ladda upp ny bakgrund och inloggningsbild", "Legal notice link" : "Länk rättsligt meddelande", "Privacy policy link" : "Länk integritetspolicy", "Header logo" : "Huvud-logga", @@ -48,21 +63,35 @@ "Favicon" : "Favicon", "Upload new favicon" : "Ladda upp nya favicon", "User settings" : "Användarinställningar", + "Disable user theming" : "Inaktivera teman för användare", "Keyboard shortcuts" : "Tangentbordsgenvägar", + "Disable all keyboard shortcuts" : "Inaktivera alla tangentbordsgenvägar", + "Background" : "Bakgrund", + "Customization has been disabled by your administrator" : "Anpassning har inaktiverats av din administratör", + "Set a custom background" : "Ställ in en anpassad bakgrund", "Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "Allmän åtkomst är mycket viktig för oss. Vi följer webbstandarder och kontrollerar att allt är användbart även utan mus och hjälpmedel som skärmläsare. Vi strävar efter att följa {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 på AA-nivå, med temat hög kontrast även på AAA-nivå.", + "If you find any issues, do not hesitate to report them on {issuetracker}our issue tracker{linkend}. And if you want to get involved, come join {designteam}our design team{linkend}!" : "Om du hittar några problem, tveka inte att rapportera dem på {issuetracker}vår problemhanterare{linkend}. Och om du vill engagera dig, gå med i {designteam}vårt designteam{linkend}!", + "Custom background" : "Anpassad bakgrund", + "Default background" : "Standardbakgrund", "Change color" : "Ändra färg", + "Remove background" : "Ta bort bakgrund", + "Select a background from your files" : "Välj en bakgrund från dina filer", + "Select a custom color" : "Välj en anpassad färg", "Reset to default" : "Återställ till grundinställningar", "Upload" : "Ladda upp", "Remove background image" : "Ta bort bakgrundsbild", "Loading preview…" : "Läser in förhandsvisning...", "Admin" : "Admin", + "Error uploading the file" : "Det gick inte att ladda upp filen", "Name cannot be empty" : "Namn kan inte vara tom", "Open documentation" : "Öppna dokumentationen", "https://…" : "https://…", "Login image" : "Inloggningsbild", "Upload new login background" : "Ladda upp ny bakgrundsbild", "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Installera Imagemagick PHP-tillägget med stöd för SVG-bilder för att automatiskt generera favicons baserat på den uppladdade logotypen och färgen.", + "In some cases keyboard shortcuts can interfer with accessibility tools. In order to allow focusing on your tool correctly you can disable all keyboard shortcuts here. This will also disable all available shortcuts in apps." : "I vissa fall kan tangentbordsgenvägar störa tillgänglighetsverktyg. För att kunna fokusera på ditt verktyg korrekt kan du inaktivera alla tangentbordsgenvägar här. Detta kommer också att inaktivera alla tillgängliga genvägar i appar.", "Pick from Files" : "Välj från filer", + "Default image" : "Standardbild", "Custom color" : "Anpassad färg", "Plain background" : "Enkel bakgrund", "Insert from {productName}" : "Infoga från {productName}" diff --git a/apps/theming/l10n/uk.js b/apps/theming/l10n/uk.js index 2e4b2c5c2cad3..2a9c2e3510b92 100644 --- a/apps/theming/l10n/uk.js +++ b/apps/theming/l10n/uk.js @@ -39,7 +39,7 @@ OC.L10N.register( "Enable high contrast mode" : "Увімкнути висококонтрастний режим", "A high contrast mode to ease your navigation. Visual quality will be reduced but clarity will be increased." : "Висококонтрастний режим спрощує Вашу навігацію. Візуальна якість буде знижена, але чіткість підвищиться..", "Light theme" : "Світла тема", - "Enable the default light theme" : "Увімкніть світлову тему за умовчанням", + "Enable the default light theme" : "Увімкніть типову світлу тему", "The default light appearance." : "Світловий вигляд за замовчуванням.", "Legal notice" : "Правові застереження", "Privacy policy" : "Політика конфіденційності", @@ -53,16 +53,19 @@ OC.L10N.register( "Color" : "Колір", "Logo" : "Логотип", "Upload new logo" : "Завантажити новий логотип", + "Background and login image" : "Зображення тла та логотипу авторизації", + "Upload new background and login image" : "Завантажити нове зображення тла та логотип сторінки авторизації", "Legal notice link" : "Посилання на правову інформацію", "Privacy policy link" : "Посилання на політику конфіденційності", "Header logo" : "Логотип заголовка", "Upload new header logo" : "Завантажити новий логотип заголовка", "Favicon" : "Піктограма сайту", "Upload new favicon" : "Завантажити нову піктограму", + "User settings" : "Користувацькі налаштування", "Keyboard shortcuts" : "Скорочення", "Disable all keyboard shortcuts" : "Вимкнути всі комбінації клавіш", - "Background" : "Фон", - "Set a custom background" : "Встановити спеціальний фон", + "Background" : "Тло", + "Set a custom background" : "Встановити спеціальне зображення тла", "Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "Для нас дуже важливо забезпечити доступ для всіх. Ми дотримуємось веб-стандартів і перевіряємо, щоб забезпечити зручність користування без комп'ютерної миші, а також за допомогую допоміжного програмного забезпечення, наприклад, програми зчитування з екрана. Ми прагнемо відповідати {guidelines} Правила доступу до веб-вмісту {linkend} 2.1 на рівні AA, а з темою високої контрастності навіть на рівні AAA.", "If you find any issues, do not hesitate to report them on {issuetracker}our issue tracker{linkend}. And if you want to get involved, come join {designteam}our design team{linkend}!" : "Якщо ви виявите будь-які проблеми, не соромтеся повідомити про них на {issuetracker}нашій системі відстеження проблем{linkend}. І якщо ви хочете взяти участь, приєднуйтесь до {designteam}нашої команди дизайнерів{linkend}!", "Change color" : "Змінити колір", @@ -81,9 +84,9 @@ OC.L10N.register( "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Встановіть розширення Imagemagick PHP з підтримкою SVG-зображень, щоб автоматично генерувати іконки сайту на основі завантаженого логотипу та кольору.", "In some cases keyboard shortcuts can interfer with accessibility tools. In order to allow focusing on your tool correctly you can disable all keyboard shortcuts here. This will also disable all available shortcuts in apps." : "У деяких випадках комбінації клавіш можуть перешкоджати роботі інструментів спеціальних можливостей. Щоб правильно сфокусуватися на інструменті, тут можна вимкнути всі комбінації клавіш. Це також вимкне всі доступні ярлики в програмах.", "Pick from Files" : "Виберіть із файлів", - "Default image" : "Зображення за умовчанням", + "Default image" : "Типове зображення", "Custom color" : "Власний колір", - "Plain background" : "Рівний фон", + "Plain background" : "Однокольорове тло", "Insert from {productName}" : "Вставка з {productName}" }, "nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != 11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || (n % 100 >=11 && n % 100 <=14 )) ? 2: 3);"); diff --git a/apps/theming/l10n/uk.json b/apps/theming/l10n/uk.json index 2077d713d42c1..f3b7b7841ed71 100644 --- a/apps/theming/l10n/uk.json +++ b/apps/theming/l10n/uk.json @@ -37,7 +37,7 @@ "Enable high contrast mode" : "Увімкнути висококонтрастний режим", "A high contrast mode to ease your navigation. Visual quality will be reduced but clarity will be increased." : "Висококонтрастний режим спрощує Вашу навігацію. Візуальна якість буде знижена, але чіткість підвищиться..", "Light theme" : "Світла тема", - "Enable the default light theme" : "Увімкніть світлову тему за умовчанням", + "Enable the default light theme" : "Увімкніть типову світлу тему", "The default light appearance." : "Світловий вигляд за замовчуванням.", "Legal notice" : "Правові застереження", "Privacy policy" : "Політика конфіденційності", @@ -51,16 +51,19 @@ "Color" : "Колір", "Logo" : "Логотип", "Upload new logo" : "Завантажити новий логотип", + "Background and login image" : "Зображення тла та логотипу авторизації", + "Upload new background and login image" : "Завантажити нове зображення тла та логотип сторінки авторизації", "Legal notice link" : "Посилання на правову інформацію", "Privacy policy link" : "Посилання на політику конфіденційності", "Header logo" : "Логотип заголовка", "Upload new header logo" : "Завантажити новий логотип заголовка", "Favicon" : "Піктограма сайту", "Upload new favicon" : "Завантажити нову піктограму", + "User settings" : "Користувацькі налаштування", "Keyboard shortcuts" : "Скорочення", "Disable all keyboard shortcuts" : "Вимкнути всі комбінації клавіш", - "Background" : "Фон", - "Set a custom background" : "Встановити спеціальний фон", + "Background" : "Тло", + "Set a custom background" : "Встановити спеціальне зображення тла", "Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "Для нас дуже важливо забезпечити доступ для всіх. Ми дотримуємось веб-стандартів і перевіряємо, щоб забезпечити зручність користування без комп'ютерної миші, а також за допомогую допоміжного програмного забезпечення, наприклад, програми зчитування з екрана. Ми прагнемо відповідати {guidelines} Правила доступу до веб-вмісту {linkend} 2.1 на рівні AA, а з темою високої контрастності навіть на рівні AAA.", "If you find any issues, do not hesitate to report them on {issuetracker}our issue tracker{linkend}. And if you want to get involved, come join {designteam}our design team{linkend}!" : "Якщо ви виявите будь-які проблеми, не соромтеся повідомити про них на {issuetracker}нашій системі відстеження проблем{linkend}. І якщо ви хочете взяти участь, приєднуйтесь до {designteam}нашої команди дизайнерів{linkend}!", "Change color" : "Змінити колір", @@ -79,9 +82,9 @@ "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Встановіть розширення Imagemagick PHP з підтримкою SVG-зображень, щоб автоматично генерувати іконки сайту на основі завантаженого логотипу та кольору.", "In some cases keyboard shortcuts can interfer with accessibility tools. In order to allow focusing on your tool correctly you can disable all keyboard shortcuts here. This will also disable all available shortcuts in apps." : "У деяких випадках комбінації клавіш можуть перешкоджати роботі інструментів спеціальних можливостей. Щоб правильно сфокусуватися на інструменті, тут можна вимкнути всі комбінації клавіш. Це також вимкне всі доступні ярлики в програмах.", "Pick from Files" : "Виберіть із файлів", - "Default image" : "Зображення за умовчанням", + "Default image" : "Типове зображення", "Custom color" : "Власний колір", - "Plain background" : "Рівний фон", + "Plain background" : "Однокольорове тло", "Insert from {productName}" : "Вставка з {productName}" },"pluralForm" :"nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != 11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || (n % 100 >=11 && n % 100 <=14 )) ? 2: 3);" } \ No newline at end of file diff --git a/apps/user_ldap/l10n/uk.js b/apps/user_ldap/l10n/uk.js index 7ce76c7bf73c1..24e66a2063580 100644 --- a/apps/user_ldap/l10n/uk.js +++ b/apps/user_ldap/l10n/uk.js @@ -169,14 +169,14 @@ OC.L10N.register( "Allow LDAP users to change their password and allow Super Administrators and Group Administrators to change the password of their LDAP users. Only works when access control policies are configured accordingly on the LDAP server. As passwords are sent in plaintext to the LDAP server, transport encryption must be used and password hashing should be configured on the LDAP server." : "Дозволити користувачам LDAP змінювати свій пароль і дозволити супер (прихованим) адміністраторам і адміністраторам груп змінювати пароль своїх користувачів LDAP. Працює тільки тоді, коли політики контролю доступу налаштовані відповідним чином на LDAP сервері. Оскільки паролі відправляються на LDAP-сервер у відкритому вигляді, необхідно використовувати транспортне шифрування і налаштувати хешування паролів на LDAP-сервері. ", "(New password is sent as plain text to LDAP)" : "(Новий пароль надсилається як звичайний текст до LDAP)", "Default password policy DN" : "DN політики паролів за замовчуванням", - "The DN of a default password policy that will be used for password expiry handling. Works only when LDAP password changes per user are enabled and is only supported by OpenLDAP. Leave empty to disable password expiry handling." : "DN політики паролів за умовчанням, яка використовуватиметься для обробки терміну дії пароля. Працює лише тоді, коли ввімкнено зміну пароля LDAP для кожного користувача та підтримується лише OpenLDAP. Залиште пустим, щоб вимкнути обробку терміну дії пароля.", + "The DN of a default password policy that will be used for password expiry handling. Works only when LDAP password changes per user are enabled and is only supported by OpenLDAP. Leave empty to disable password expiry handling." : "DN типової політики паролів, що використовуватиметься для обробки терміну дії пароля. Працює лише тоді, коли ввімкнено зміну пароля LDAP для кожного користувача та підтримується лише OpenLDAP. Залиште пустим, щоб вимкнути обробку терміну дії пароля.", "Special Attributes" : "Спеціальні Атрибути", "Quota Field" : "Поле Квоти", - "Leave empty for user's default quota. Otherwise, specify an LDAP/AD attribute." : "Залиште пустим для квоти користувача за умовчанням. В іншому випадку вкажіть атрибут LDAP/AD.", + "Leave empty for user's default quota. Otherwise, specify an LDAP/AD attribute." : "Залиште порожнім, щоби визначити типову квоту користувача. В іншому випадку зазначте атрибут LDAP/AD.", "Quota Default" : "Квота за замовчанням", "Override default quota for LDAP users who do not have a quota set in the Quota Field." : "Перевизначити квоту за замовчуванням для користувачів LDAP, які не мають квоти, встановленої в полі квоти.", "Email Field" : "Поле E-mail", - "Set the user's email from their LDAP attribute. Leave it empty for default behaviour." : "Установіть електронну пошту користувача з його атрибута LDAP. Залиште поле порожнім для поведінки за умовчанням.", + "Set the user's email from their LDAP attribute. Leave it empty for default behaviour." : "Установіть електронну пошту користувача з його атрибута LDAP. Залиште поле порожнім для застосування типового значення.", "User Home Folder Naming Rule" : "Правило іменування домашнього каталогу користувача", "Leave empty for username (default). Otherwise, specify an LDAP/AD attribute." : "Залиште порожнім для імені користувача (за замовчуванням). В іншому випадку вкажіть атрибут LDAP/AD.", "\"$home\" Placeholder Field" : "Поле заповнювача \"$home\".", diff --git a/apps/user_ldap/l10n/uk.json b/apps/user_ldap/l10n/uk.json index 130dd65a1f240..a80c47ebfda86 100644 --- a/apps/user_ldap/l10n/uk.json +++ b/apps/user_ldap/l10n/uk.json @@ -167,14 +167,14 @@ "Allow LDAP users to change their password and allow Super Administrators and Group Administrators to change the password of their LDAP users. Only works when access control policies are configured accordingly on the LDAP server. As passwords are sent in plaintext to the LDAP server, transport encryption must be used and password hashing should be configured on the LDAP server." : "Дозволити користувачам LDAP змінювати свій пароль і дозволити супер (прихованим) адміністраторам і адміністраторам груп змінювати пароль своїх користувачів LDAP. Працює тільки тоді, коли політики контролю доступу налаштовані відповідним чином на LDAP сервері. Оскільки паролі відправляються на LDAP-сервер у відкритому вигляді, необхідно використовувати транспортне шифрування і налаштувати хешування паролів на LDAP-сервері. ", "(New password is sent as plain text to LDAP)" : "(Новий пароль надсилається як звичайний текст до LDAP)", "Default password policy DN" : "DN політики паролів за замовчуванням", - "The DN of a default password policy that will be used for password expiry handling. Works only when LDAP password changes per user are enabled and is only supported by OpenLDAP. Leave empty to disable password expiry handling." : "DN політики паролів за умовчанням, яка використовуватиметься для обробки терміну дії пароля. Працює лише тоді, коли ввімкнено зміну пароля LDAP для кожного користувача та підтримується лише OpenLDAP. Залиште пустим, щоб вимкнути обробку терміну дії пароля.", + "The DN of a default password policy that will be used for password expiry handling. Works only when LDAP password changes per user are enabled and is only supported by OpenLDAP. Leave empty to disable password expiry handling." : "DN типової політики паролів, що використовуватиметься для обробки терміну дії пароля. Працює лише тоді, коли ввімкнено зміну пароля LDAP для кожного користувача та підтримується лише OpenLDAP. Залиште пустим, щоб вимкнути обробку терміну дії пароля.", "Special Attributes" : "Спеціальні Атрибути", "Quota Field" : "Поле Квоти", - "Leave empty for user's default quota. Otherwise, specify an LDAP/AD attribute." : "Залиште пустим для квоти користувача за умовчанням. В іншому випадку вкажіть атрибут LDAP/AD.", + "Leave empty for user's default quota. Otherwise, specify an LDAP/AD attribute." : "Залиште порожнім, щоби визначити типову квоту користувача. В іншому випадку зазначте атрибут LDAP/AD.", "Quota Default" : "Квота за замовчанням", "Override default quota for LDAP users who do not have a quota set in the Quota Field." : "Перевизначити квоту за замовчуванням для користувачів LDAP, які не мають квоти, встановленої в полі квоти.", "Email Field" : "Поле E-mail", - "Set the user's email from their LDAP attribute. Leave it empty for default behaviour." : "Установіть електронну пошту користувача з його атрибута LDAP. Залиште поле порожнім для поведінки за умовчанням.", + "Set the user's email from their LDAP attribute. Leave it empty for default behaviour." : "Установіть електронну пошту користувача з його атрибута LDAP. Залиште поле порожнім для застосування типового значення.", "User Home Folder Naming Rule" : "Правило іменування домашнього каталогу користувача", "Leave empty for username (default). Otherwise, specify an LDAP/AD attribute." : "Залиште порожнім для імені користувача (за замовчуванням). В іншому випадку вкажіть атрибут LDAP/AD.", "\"$home\" Placeholder Field" : "Поле заповнювача \"$home\".", diff --git a/core/l10n/cs.js b/core/l10n/cs.js index e3a073d15a188..f2daf184ac899 100644 --- a/core/l10n/cs.js +++ b/core/l10n/cs.js @@ -190,6 +190,7 @@ OC.L10N.register( "You have not added any info yet" : "Zatím jste nezadali žádné informace", "{user} has not added any info yet" : "{user} uživatel zatím nezadal žádné informace", "Error opening the user status modal, try hard refreshing the page" : "Chyba při otevírání dialogu stavu uživatele, pokus o opětovné načtení stránky", + "Search starts once you start typing and results may be reached with the arrow keys" : "Hledání začne jakmile začnete psát a mezi výsledky je možné se pohybovat pomocí klávesami šipka nahoru/dolů", "Reset search" : "Resetovat hledání", "Start search" : "Zahájit vyhledávání", "Search for {name} only" : "Hledat pouze {name}", @@ -341,6 +342,7 @@ OC.L10N.register( "See the documentation" : "Viz dokumentace", "It looks like you are trying to reinstall your Nextcloud. However the file CAN_INSTALL is missing from your config directory. Please create the file CAN_INSTALL in your config folder to continue." : "Zdá se, že se pokoušíte přeinstalovat svou instanci NextCloud. Nicméně ve vašem adresáři s nastaveními chybí soubor CAN_INSTALL. Aby bylo možné pokračovat, takový tam vytvořte.", "Could not remove CAN_INSTALL from the config folder. Please remove this file manually." : "Nedaří se ze složky s nastaveními odstranit soubor CAN_INSTALL. Odstraňte ho proto ručně.", + "%s logo" : "logo %s", "This application requires JavaScript for correct operation. Please {linkstart}enable JavaScript{linkend} and reload the page." : "Tato aplikace potřebuje pro správnou funkčnost JavaScript. {linkstart}Povolte ho{linkend} a stránku znovu načtěte.", "Skip to main content" : "Přeskočit a přejít k hlavnímu obsahu", "Skip to navigation of app" : "Přeskočit na navigaci aplikace", diff --git a/core/l10n/cs.json b/core/l10n/cs.json index 2db21941328c7..1cdb9a7764f18 100644 --- a/core/l10n/cs.json +++ b/core/l10n/cs.json @@ -188,6 +188,7 @@ "You have not added any info yet" : "Zatím jste nezadali žádné informace", "{user} has not added any info yet" : "{user} uživatel zatím nezadal žádné informace", "Error opening the user status modal, try hard refreshing the page" : "Chyba při otevírání dialogu stavu uživatele, pokus o opětovné načtení stránky", + "Search starts once you start typing and results may be reached with the arrow keys" : "Hledání začne jakmile začnete psát a mezi výsledky je možné se pohybovat pomocí klávesami šipka nahoru/dolů", "Reset search" : "Resetovat hledání", "Start search" : "Zahájit vyhledávání", "Search for {name} only" : "Hledat pouze {name}", @@ -339,6 +340,7 @@ "See the documentation" : "Viz dokumentace", "It looks like you are trying to reinstall your Nextcloud. However the file CAN_INSTALL is missing from your config directory. Please create the file CAN_INSTALL in your config folder to continue." : "Zdá se, že se pokoušíte přeinstalovat svou instanci NextCloud. Nicméně ve vašem adresáři s nastaveními chybí soubor CAN_INSTALL. Aby bylo možné pokračovat, takový tam vytvořte.", "Could not remove CAN_INSTALL from the config folder. Please remove this file manually." : "Nedaří se ze složky s nastaveními odstranit soubor CAN_INSTALL. Odstraňte ho proto ručně.", + "%s logo" : "logo %s", "This application requires JavaScript for correct operation. Please {linkstart}enable JavaScript{linkend} and reload the page." : "Tato aplikace potřebuje pro správnou funkčnost JavaScript. {linkstart}Povolte ho{linkend} a stránku znovu načtěte.", "Skip to main content" : "Přeskočit a přejít k hlavnímu obsahu", "Skip to navigation of app" : "Přeskočit na navigaci aplikace", diff --git a/core/l10n/en_GB.js b/core/l10n/en_GB.js index a25b479fd51b0..7a6d96690ad8c 100644 --- a/core/l10n/en_GB.js +++ b/core/l10n/en_GB.js @@ -190,6 +190,7 @@ OC.L10N.register( "You have not added any info yet" : "You have not added any info yet", "{user} has not added any info yet" : "{user} has not added any info yet", "Error opening the user status modal, try hard refreshing the page" : "Error opening the user status modal, try hard refreshing the page", + "Search starts once you start typing and results may be reached with the arrow keys" : "Search starts once you start typing and results may be reached with the arrow keys", "Reset search" : "Reset search", "Start search" : "Start search", "Search for {name} only" : "Search for {name} only", @@ -341,6 +342,7 @@ OC.L10N.register( "See the documentation" : "See the documentation", "It looks like you are trying to reinstall your Nextcloud. However the file CAN_INSTALL is missing from your config directory. Please create the file CAN_INSTALL in your config folder to continue." : "It looks like you are trying to reinstall your Nextcloud. However the file CAN_INSTALL is missing from your config directory. Please create the file CAN_INSTALL in your config folder to continue.", "Could not remove CAN_INSTALL from the config folder. Please remove this file manually." : "Could not remove CAN_INSTALL from the config folder. Please remove this file manually.", + "%s logo" : "%s logo", "This application requires JavaScript for correct operation. Please {linkstart}enable JavaScript{linkend} and reload the page." : "This application requires JavaScript for correct operation. Please {linkstart}enable JavaScript{linkend} and reload the page.", "Skip to main content" : "Skip to main content", "Skip to navigation of app" : "Skip to navigation of app", diff --git a/core/l10n/en_GB.json b/core/l10n/en_GB.json index f29cddebabdfd..e30553b26d5ae 100644 --- a/core/l10n/en_GB.json +++ b/core/l10n/en_GB.json @@ -188,6 +188,7 @@ "You have not added any info yet" : "You have not added any info yet", "{user} has not added any info yet" : "{user} has not added any info yet", "Error opening the user status modal, try hard refreshing the page" : "Error opening the user status modal, try hard refreshing the page", + "Search starts once you start typing and results may be reached with the arrow keys" : "Search starts once you start typing and results may be reached with the arrow keys", "Reset search" : "Reset search", "Start search" : "Start search", "Search for {name} only" : "Search for {name} only", @@ -339,6 +340,7 @@ "See the documentation" : "See the documentation", "It looks like you are trying to reinstall your Nextcloud. However the file CAN_INSTALL is missing from your config directory. Please create the file CAN_INSTALL in your config folder to continue." : "It looks like you are trying to reinstall your Nextcloud. However the file CAN_INSTALL is missing from your config directory. Please create the file CAN_INSTALL in your config folder to continue.", "Could not remove CAN_INSTALL from the config folder. Please remove this file manually." : "Could not remove CAN_INSTALL from the config folder. Please remove this file manually.", + "%s logo" : "%s logo", "This application requires JavaScript for correct operation. Please {linkstart}enable JavaScript{linkend} and reload the page." : "This application requires JavaScript for correct operation. Please {linkstart}enable JavaScript{linkend} and reload the page.", "Skip to main content" : "Skip to main content", "Skip to navigation of app" : "Skip to navigation of app", diff --git a/core/l10n/es.js b/core/l10n/es.js index 13997b2ba1e99..f8afd6fda2ac3 100644 --- a/core/l10n/es.js +++ b/core/l10n/es.js @@ -190,6 +190,7 @@ OC.L10N.register( "You have not added any info yet" : "Aún no has añadido nada de información", "{user} has not added any info yet" : "{user} no ha añadido aún nada de información", "Error opening the user status modal, try hard refreshing the page" : "Error al abrir la ventana de estado del usuario, intente actualizar la página", + "Search starts once you start typing and results may be reached with the arrow keys" : "La búsqueda empieza una vez que comienza a escribir y los resultados pueden seleccionarse con las teclas de flecha", "Reset search" : "Resetear búsqueda", "Start search" : "Iniciar búsqueda", "Search for {name} only" : "Buscar solo por {name}", @@ -341,6 +342,7 @@ OC.L10N.register( "See the documentation" : "Vea la documentación", "It looks like you are trying to reinstall your Nextcloud. However the file CAN_INSTALL is missing from your config directory. Please create the file CAN_INSTALL in your config folder to continue." : "Parece que estás intentando reinstalar Nextcloud. Sin embargo el archivo CAN_INSTALL no se encuentra en la carpeta config. Por favor, crea el archivo CAN_INSTALL en la carpeta config para continuar", "Could not remove CAN_INSTALL from the config folder. Please remove this file manually." : "No se puede eliminar el archivo CAN_INSTALL de la carpeta config. Por favor, eliminalo manualmente.", + "%s logo" : "%s logo", "This application requires JavaScript for correct operation. Please {linkstart}enable JavaScript{linkend} and reload the page." : "Esta aplicación requiere JavaScript para operar correctamente. Por favor, {linkstart}habilite JavaScript{linkend} y recargue la página.", "Skip to main content" : "Saltar al contenido principal", "Skip to navigation of app" : "Saltar a la navegación de la app", diff --git a/core/l10n/es.json b/core/l10n/es.json index 4742597039bbf..42a4a6cfc5428 100644 --- a/core/l10n/es.json +++ b/core/l10n/es.json @@ -188,6 +188,7 @@ "You have not added any info yet" : "Aún no has añadido nada de información", "{user} has not added any info yet" : "{user} no ha añadido aún nada de información", "Error opening the user status modal, try hard refreshing the page" : "Error al abrir la ventana de estado del usuario, intente actualizar la página", + "Search starts once you start typing and results may be reached with the arrow keys" : "La búsqueda empieza una vez que comienza a escribir y los resultados pueden seleccionarse con las teclas de flecha", "Reset search" : "Resetear búsqueda", "Start search" : "Iniciar búsqueda", "Search for {name} only" : "Buscar solo por {name}", @@ -339,6 +340,7 @@ "See the documentation" : "Vea la documentación", "It looks like you are trying to reinstall your Nextcloud. However the file CAN_INSTALL is missing from your config directory. Please create the file CAN_INSTALL in your config folder to continue." : "Parece que estás intentando reinstalar Nextcloud. Sin embargo el archivo CAN_INSTALL no se encuentra en la carpeta config. Por favor, crea el archivo CAN_INSTALL en la carpeta config para continuar", "Could not remove CAN_INSTALL from the config folder. Please remove this file manually." : "No se puede eliminar el archivo CAN_INSTALL de la carpeta config. Por favor, eliminalo manualmente.", + "%s logo" : "%s logo", "This application requires JavaScript for correct operation. Please {linkstart}enable JavaScript{linkend} and reload the page." : "Esta aplicación requiere JavaScript para operar correctamente. Por favor, {linkstart}habilite JavaScript{linkend} y recargue la página.", "Skip to main content" : "Saltar al contenido principal", "Skip to navigation of app" : "Saltar a la navegación de la app", diff --git a/core/l10n/eu.js b/core/l10n/eu.js index 5d123c2d879d0..097078d0557e0 100644 --- a/core/l10n/eu.js +++ b/core/l10n/eu.js @@ -190,6 +190,7 @@ OC.L10N.register( "You have not added any info yet" : "Oraindik ez duzu informaziorik gehitu", "{user} has not added any info yet" : "{user} -ek ez du oraindik informaziorik gehitu", "Error opening the user status modal, try hard refreshing the page" : "Errorea erabiltzailen egoera leihoa irekitzen, saiatu orria guztiz freskatzen", + "Search starts once you start typing and results may be reached with the arrow keys" : "Bilaketa hasten da idazten hasten zarenean eta emaitzak gezi-teklen bidez lor daitezke", "Reset search" : "Berrezarri bilaketa", "Start search" : "Hasi bilaketa", "Search for {name} only" : "Biatu {name} bakarrik", @@ -341,6 +342,7 @@ OC.L10N.register( "See the documentation" : "Ikusi dokumentazioa", "It looks like you are trying to reinstall your Nextcloud. However the file CAN_INSTALL is missing from your config directory. Please create the file CAN_INSTALL in your config folder to continue." : "Badirudi zure Nextcloud berrinstalatu nahian ari zarela. Hala ere CAN_INSTALL fitxategia ez da aurkitzen zure config direktorioan. Mesedez sor ezazu CAN_INSTALL fitxategia zure config karpetan jarraitu ahal izateko.", "Could not remove CAN_INSTALL from the config folder. Please remove this file manually." : "Ezin izan da CAN_INSTALL fitxategia config karpetatik ezabatu. Mesedez ezaba ezazu fitxategi hau eskuz.", + "%s logo" : "%slogoa", "This application requires JavaScript for correct operation. Please {linkstart}enable JavaScript{linkend} and reload the page." : "Aplikazio honek JavaScript eskatzen du ondo funtzionatzeko. Mesedez {linkstart}JavaScript gaitu{linkend} eta webgunea birkargatu.", "Skip to main content" : "Salto eduki nagusira", "Skip to navigation of app" : "Salto aplikazioaren nabigaziora", diff --git a/core/l10n/eu.json b/core/l10n/eu.json index d04904d51ef86..2eb67102c4def 100644 --- a/core/l10n/eu.json +++ b/core/l10n/eu.json @@ -188,6 +188,7 @@ "You have not added any info yet" : "Oraindik ez duzu informaziorik gehitu", "{user} has not added any info yet" : "{user} -ek ez du oraindik informaziorik gehitu", "Error opening the user status modal, try hard refreshing the page" : "Errorea erabiltzailen egoera leihoa irekitzen, saiatu orria guztiz freskatzen", + "Search starts once you start typing and results may be reached with the arrow keys" : "Bilaketa hasten da idazten hasten zarenean eta emaitzak gezi-teklen bidez lor daitezke", "Reset search" : "Berrezarri bilaketa", "Start search" : "Hasi bilaketa", "Search for {name} only" : "Biatu {name} bakarrik", @@ -339,6 +340,7 @@ "See the documentation" : "Ikusi dokumentazioa", "It looks like you are trying to reinstall your Nextcloud. However the file CAN_INSTALL is missing from your config directory. Please create the file CAN_INSTALL in your config folder to continue." : "Badirudi zure Nextcloud berrinstalatu nahian ari zarela. Hala ere CAN_INSTALL fitxategia ez da aurkitzen zure config direktorioan. Mesedez sor ezazu CAN_INSTALL fitxategia zure config karpetan jarraitu ahal izateko.", "Could not remove CAN_INSTALL from the config folder. Please remove this file manually." : "Ezin izan da CAN_INSTALL fitxategia config karpetatik ezabatu. Mesedez ezaba ezazu fitxategi hau eskuz.", + "%s logo" : "%slogoa", "This application requires JavaScript for correct operation. Please {linkstart}enable JavaScript{linkend} and reload the page." : "Aplikazio honek JavaScript eskatzen du ondo funtzionatzeko. Mesedez {linkstart}JavaScript gaitu{linkend} eta webgunea birkargatu.", "Skip to main content" : "Salto eduki nagusira", "Skip to navigation of app" : "Salto aplikazioaren nabigaziora", diff --git a/core/l10n/fr.js b/core/l10n/fr.js index 6e2fb0d2be36b..fba1ee7f5ba4e 100644 --- a/core/l10n/fr.js +++ b/core/l10n/fr.js @@ -190,6 +190,7 @@ OC.L10N.register( "You have not added any info yet" : "Vous n'avez pas ajouté d'informations pour le moment", "{user} has not added any info yet" : "{user} n'a pas ajouté d'informations pour le moment", "Error opening the user status modal, try hard refreshing the page" : "Erreur lors de l'ouverture du modal du statut de l'utilisateur, essayez d'actualiser la page", + "Search starts once you start typing and results may be reached with the arrow keys" : "La recherche démarre dès que vous commencez à taper et les résultats peuvent être atteints avec les flèches du clavier", "Reset search" : "Réinitialiser la recherche", "Start search" : "Démarrer la recherche", "Search for {name} only" : "Rechercher pour {name} uniquement", @@ -341,6 +342,7 @@ OC.L10N.register( "See the documentation" : "Lire la documentation", "It looks like you are trying to reinstall your Nextcloud. However the file CAN_INSTALL is missing from your config directory. Please create the file CAN_INSTALL in your config folder to continue." : "On dirait que vous essayez de réinstaller votre Nextcloud. Toutefois, le fichier CAN_INSTALL est absent de votre répertoire de configuration. Veuillez créer le fichier CAN_INSTALL dans votre dossier de configuration pour continuer.", "Could not remove CAN_INSTALL from the config folder. Please remove this file manually." : "Impossible de supprimer CAN_INSTALL du dossier de configuration. Veuillez supprimer ce fichier manuellement.", + "%s logo" : "%s logo", "This application requires JavaScript for correct operation. Please {linkstart}enable JavaScript{linkend} and reload the page." : "Cette application requiert JavaScript pour fonctionner correctement. Veuillez {linkstart}activer JavaScript{linkend} et recharger la page.", "Skip to main content" : "Passer au contenu principal", "Skip to navigation of app" : "Passer à la navigation d'application", diff --git a/core/l10n/fr.json b/core/l10n/fr.json index 281b4ec73882c..941a110bbb63e 100644 --- a/core/l10n/fr.json +++ b/core/l10n/fr.json @@ -188,6 +188,7 @@ "You have not added any info yet" : "Vous n'avez pas ajouté d'informations pour le moment", "{user} has not added any info yet" : "{user} n'a pas ajouté d'informations pour le moment", "Error opening the user status modal, try hard refreshing the page" : "Erreur lors de l'ouverture du modal du statut de l'utilisateur, essayez d'actualiser la page", + "Search starts once you start typing and results may be reached with the arrow keys" : "La recherche démarre dès que vous commencez à taper et les résultats peuvent être atteints avec les flèches du clavier", "Reset search" : "Réinitialiser la recherche", "Start search" : "Démarrer la recherche", "Search for {name} only" : "Rechercher pour {name} uniquement", @@ -339,6 +340,7 @@ "See the documentation" : "Lire la documentation", "It looks like you are trying to reinstall your Nextcloud. However the file CAN_INSTALL is missing from your config directory. Please create the file CAN_INSTALL in your config folder to continue." : "On dirait que vous essayez de réinstaller votre Nextcloud. Toutefois, le fichier CAN_INSTALL est absent de votre répertoire de configuration. Veuillez créer le fichier CAN_INSTALL dans votre dossier de configuration pour continuer.", "Could not remove CAN_INSTALL from the config folder. Please remove this file manually." : "Impossible de supprimer CAN_INSTALL du dossier de configuration. Veuillez supprimer ce fichier manuellement.", + "%s logo" : "%s logo", "This application requires JavaScript for correct operation. Please {linkstart}enable JavaScript{linkend} and reload the page." : "Cette application requiert JavaScript pour fonctionner correctement. Veuillez {linkstart}activer JavaScript{linkend} et recharger la page.", "Skip to main content" : "Passer au contenu principal", "Skip to navigation of app" : "Passer à la navigation d'application", diff --git a/core/l10n/gl.js b/core/l10n/gl.js index 880098d15b9e4..40c493902fd35 100644 --- a/core/l10n/gl.js +++ b/core/l10n/gl.js @@ -206,6 +206,8 @@ OC.L10N.register( "(all selected)" : "(todo o seleccionado)", "({count} selected)" : "({count} seleccionados)", "Error loading file exists template" : "Produciuse un erro ao cargar o modelo de ficheiro existente", + "Show list view" : "Mostrar vista de lista", + "Show grid view" : "Mostrar a vista de cuadrícula", "Pending" : "Pendentes", "Copy to {folder}" : "Copiar en {folder}", "Move to {folder}" : "Mover a {folder}", diff --git a/core/l10n/gl.json b/core/l10n/gl.json index 31b77451d3a4f..dda038c8e4e1c 100644 --- a/core/l10n/gl.json +++ b/core/l10n/gl.json @@ -204,6 +204,8 @@ "(all selected)" : "(todo o seleccionado)", "({count} selected)" : "({count} seleccionados)", "Error loading file exists template" : "Produciuse un erro ao cargar o modelo de ficheiro existente", + "Show list view" : "Mostrar vista de lista", + "Show grid view" : "Mostrar a vista de cuadrícula", "Pending" : "Pendentes", "Copy to {folder}" : "Copiar en {folder}", "Move to {folder}" : "Mover a {folder}", diff --git a/core/l10n/mk.js b/core/l10n/mk.js index 28467950eee86..c57252e7286ed 100644 --- a/core/l10n/mk.js +++ b/core/l10n/mk.js @@ -76,6 +76,7 @@ OC.L10N.register( "This server has no working internet connection: Multiple endpoints could not be reached. This means that some of the features like mounting external storage, notifications about updates or installation of third-party apps will not work. Accessing files remotely and sending of notification emails might not work, either. Establish a connection from this server to the internet to enjoy all features." : "Овој опслужувач нема работна Интернет врска. Ова значи дека некои опции како што е монтирање на надворешни складишта, известувања за ажурирање или инсталации на апликации од 3-ти лица нема да работат. Пристапот на датотеки од далечина и праќање на пораки за известувања може исто така да не работат. Ви советуваме да овозможите Интернет врска за овој опслужувач ако сакате да ги имате сите опции. ", "No memory cache has been configured. To enhance performance, please configure a memcache, if available. Further information can be found in the {linkstart}documentation ↗{linkend}." : "Не е конфигурирана мемориjа за кеширање. За да ги подобрите перформансите, конфигурирајте memcache, доколку е можно. Дополнителни информации може да се најдат во {linkstart}документацијата{linkend}.", "You are currently running PHP {version}. Upgrade your PHP version to take advantage of {linkstart}performance and security updates provided by the PHP Group ↗{linkend} as soon as your distribution supports it." : "Моненталната верзија на PHP е {version}. Ажурирајте ја PHP верзијата да ги искористите предностите од {linkstart}перформанси и безбедносни ажурирања обезбедени од групацијата PHP ↗{linkend} штом вашата дистрибуција го поддржува.", + "Some files have not passed the integrity check. Further information on how to resolve this issue can be found in the {linkstart1}documentation ↗{linkend}. ({linkstart2}List of invalid files…{linkend} / {linkstart3}Rescan…{linkend})" : "Некои датотеки не ја поминаа проверката на интегритет. Дополнителни информации за тоа како да се реши ова прашање може да се најде во {linkstart1}документацијата↗{linkend}. ({linkstart2}Листа на невалидни датотеки…{linkend} / {linkstart3}Повторно скенирање…{linkend})", "The PHP function \"set_time_limit\" is not available. This could result in scripts being halted mid-execution, breaking your installation. Enabling this function is strongly recommended." : "PHP функцијата \"set_time_limit\" не е достапна. Ова може да резултира со запирање на скриптите во извршувањето, и грешки во вашата инсталација. Овозможувањето на оваа функција е препорачлива.", "Missing index \"{indexName}\" in table \"{tableName}\"." : "Недостасува индексот \"{indexName}\" во табелата \"{tableName}\".", "The database is missing some indexes. Due to the fact that adding indexes on big tables could take some time they were not added automatically. By running \"occ db:add-missing-indices\" those missing indexes could be added manually while the instance keeps running. Once the indexes are added queries to those tables are usually much faster." : "Во базата недостасуваат некој индекси. Поради фактот што додавањето индекси во големи бази може да потрае, тие не беа додадени автоматски. Со стартување на командата \"occ db:add-missing-indices\" ќе бидат додадени оние индекси што недостасуваат и инстанцата непречено ќе работи. Еднаш кога ќе бидат додадени индексите, барањата во табелите ќе биде многу побрзо.", @@ -97,6 +98,7 @@ OC.L10N.register( "Your data directory and files are probably accessible from the internet. The .htaccess file is not working. It is strongly recommended that you configure your web server so that the data directory is no longer accessible, or move the data directory outside the web server document root." : "Вашата папка за податоци и вашите датотеки се најверојатно достапни од интернет. Датотеката .htaccess не работи. Строго ви препорачуваме да го подесите вашиот веб опслужувач на начин на кој вашата папка за податоци не е веќе достапна од интернет или да ја преместите папката за податоци надвор од коренот на веб опслужувачот.", "The \"{header}\" HTTP header is not set to \"{expected}\". This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "HTTP заглавието \"{header}\" не е поставено да биде \"{expected}\". Ова потенцијално може да ја загрози приватноста и безбедноста, се препорачува соодветно да ја поставите оваа поставка.", "The \"{header}\" HTTP header is not set to \"{expected}\". Some features might not work correctly, as it is recommended to adjust this setting accordingly." : "HTTP заглавието \"{header}\" не е поставено да биде \"{expected}\". Некои карактеристики може да не функционираат правилно, се препорачува соодветно да ја поставите оваа поставка.", + "The \"{header}\" HTTP header does not contain \"{expected}\". This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "HTTP заглавието \"{header}\" не го содржи \"{expected}\". Ова потенцијално може да ја загрози приватноста и безбедноста, се препорачува соодветно да ја поставите оваа поставка.", "The \"{header}\" HTTP header is not set to \"{val1}\", \"{val2}\", \"{val3}\", \"{val4}\" or \"{val5}\". This can leak referer information. See the {linkstart}W3C Recommendation ↗{linkend}." : "HTTP заглавието \"{header}\" не е поставено да биде \"{val1}\", \"{val2}\", \"{val3}\", \"{val4}\" или \"{val5}\". Ова може да открие сигурносни информации. Погледнете {linkstart}Препораки за W3C ↗{linkend}.", "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the {linkstart}security tips ↗{linkend}." : "\"Strict-Transport-Security\" HTTP насловот не е поставен на мнајмалку \"{seconds}\" секунди. За подобрена безбедност, се препорачува да се овозможи HSTS како што е опишано во {linkstart}совети за безбедност ↗{linkend}.", "Accessing site insecurely via HTTP. You are strongly advised to set up your server to require HTTPS instead, as described in the {linkstart}security tips ↗{linkend}." : "Пристапувате до станата преку HTTP. Препорачуваме да го поставите вашиот сервер за да се пристапува преку HTTPS, проверете како е опишано во {linkstart}безбедносни совети ↗{linkend}.", @@ -319,6 +321,7 @@ OC.L10N.register( "See the documentation" : "Види ја документацијата", "It looks like you are trying to reinstall your Nextcloud. However the file CAN_INSTALL is missing from your config directory. Please create the file CAN_INSTALL in your config folder to continue." : "Изгледа дека се обидувате да го преинсталирате Nextcloud. Како и да е, датотеката CAN_INSTALL недостасува во вашата конфигурациона папка. Креирајте празна датотека CAN_INSTALL во конфигурационата папка за да продолжите.", "Could not remove CAN_INSTALL from the config folder. Please remove this file manually." : "Неможе да се отстрани CAN_INSTALL датотеката од конфигурациската папка. Избришете ја рачно.", + "%s logo" : "%s лого", "This application requires JavaScript for correct operation. Please {linkstart}enable JavaScript{linkend} and reload the page." : "За оваа апликација да работи исправно потребна е JavaScript. Ве молиме {linkstart}овозможете JavaScript{linkend} и превчитајте ја страницата.", "Skip to main content" : "Оди до главната содржина", "Skip to navigation of app" : "Оди до навигацијата на апликацијата", diff --git a/core/l10n/mk.json b/core/l10n/mk.json index 12d847bbd0dad..89f4b2c8ad1ea 100644 --- a/core/l10n/mk.json +++ b/core/l10n/mk.json @@ -74,6 +74,7 @@ "This server has no working internet connection: Multiple endpoints could not be reached. This means that some of the features like mounting external storage, notifications about updates or installation of third-party apps will not work. Accessing files remotely and sending of notification emails might not work, either. Establish a connection from this server to the internet to enjoy all features." : "Овој опслужувач нема работна Интернет врска. Ова значи дека некои опции како што е монтирање на надворешни складишта, известувања за ажурирање или инсталации на апликации од 3-ти лица нема да работат. Пристапот на датотеки од далечина и праќање на пораки за известувања може исто така да не работат. Ви советуваме да овозможите Интернет врска за овој опслужувач ако сакате да ги имате сите опции. ", "No memory cache has been configured. To enhance performance, please configure a memcache, if available. Further information can be found in the {linkstart}documentation ↗{linkend}." : "Не е конфигурирана мемориjа за кеширање. За да ги подобрите перформансите, конфигурирајте memcache, доколку е можно. Дополнителни информации може да се најдат во {linkstart}документацијата{linkend}.", "You are currently running PHP {version}. Upgrade your PHP version to take advantage of {linkstart}performance and security updates provided by the PHP Group ↗{linkend} as soon as your distribution supports it." : "Моненталната верзија на PHP е {version}. Ажурирајте ја PHP верзијата да ги искористите предностите од {linkstart}перформанси и безбедносни ажурирања обезбедени од групацијата PHP ↗{linkend} штом вашата дистрибуција го поддржува.", + "Some files have not passed the integrity check. Further information on how to resolve this issue can be found in the {linkstart1}documentation ↗{linkend}. ({linkstart2}List of invalid files…{linkend} / {linkstart3}Rescan…{linkend})" : "Некои датотеки не ја поминаа проверката на интегритет. Дополнителни информации за тоа како да се реши ова прашање може да се најде во {linkstart1}документацијата↗{linkend}. ({linkstart2}Листа на невалидни датотеки…{linkend} / {linkstart3}Повторно скенирање…{linkend})", "The PHP function \"set_time_limit\" is not available. This could result in scripts being halted mid-execution, breaking your installation. Enabling this function is strongly recommended." : "PHP функцијата \"set_time_limit\" не е достапна. Ова може да резултира со запирање на скриптите во извршувањето, и грешки во вашата инсталација. Овозможувањето на оваа функција е препорачлива.", "Missing index \"{indexName}\" in table \"{tableName}\"." : "Недостасува индексот \"{indexName}\" во табелата \"{tableName}\".", "The database is missing some indexes. Due to the fact that adding indexes on big tables could take some time they were not added automatically. By running \"occ db:add-missing-indices\" those missing indexes could be added manually while the instance keeps running. Once the indexes are added queries to those tables are usually much faster." : "Во базата недостасуваат некој индекси. Поради фактот што додавањето индекси во големи бази може да потрае, тие не беа додадени автоматски. Со стартување на командата \"occ db:add-missing-indices\" ќе бидат додадени оние индекси што недостасуваат и инстанцата непречено ќе работи. Еднаш кога ќе бидат додадени индексите, барањата во табелите ќе биде многу побрзо.", @@ -95,6 +96,7 @@ "Your data directory and files are probably accessible from the internet. The .htaccess file is not working. It is strongly recommended that you configure your web server so that the data directory is no longer accessible, or move the data directory outside the web server document root." : "Вашата папка за податоци и вашите датотеки се најверојатно достапни од интернет. Датотеката .htaccess не работи. Строго ви препорачуваме да го подесите вашиот веб опслужувач на начин на кој вашата папка за податоци не е веќе достапна од интернет или да ја преместите папката за податоци надвор од коренот на веб опслужувачот.", "The \"{header}\" HTTP header is not set to \"{expected}\". This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "HTTP заглавието \"{header}\" не е поставено да биде \"{expected}\". Ова потенцијално може да ја загрози приватноста и безбедноста, се препорачува соодветно да ја поставите оваа поставка.", "The \"{header}\" HTTP header is not set to \"{expected}\". Some features might not work correctly, as it is recommended to adjust this setting accordingly." : "HTTP заглавието \"{header}\" не е поставено да биде \"{expected}\". Некои карактеристики може да не функционираат правилно, се препорачува соодветно да ја поставите оваа поставка.", + "The \"{header}\" HTTP header does not contain \"{expected}\". This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "HTTP заглавието \"{header}\" не го содржи \"{expected}\". Ова потенцијално може да ја загрози приватноста и безбедноста, се препорачува соодветно да ја поставите оваа поставка.", "The \"{header}\" HTTP header is not set to \"{val1}\", \"{val2}\", \"{val3}\", \"{val4}\" or \"{val5}\". This can leak referer information. See the {linkstart}W3C Recommendation ↗{linkend}." : "HTTP заглавието \"{header}\" не е поставено да биде \"{val1}\", \"{val2}\", \"{val3}\", \"{val4}\" или \"{val5}\". Ова може да открие сигурносни информации. Погледнете {linkstart}Препораки за W3C ↗{linkend}.", "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the {linkstart}security tips ↗{linkend}." : "\"Strict-Transport-Security\" HTTP насловот не е поставен на мнајмалку \"{seconds}\" секунди. За подобрена безбедност, се препорачува да се овозможи HSTS како што е опишано во {linkstart}совети за безбедност ↗{linkend}.", "Accessing site insecurely via HTTP. You are strongly advised to set up your server to require HTTPS instead, as described in the {linkstart}security tips ↗{linkend}." : "Пристапувате до станата преку HTTP. Препорачуваме да го поставите вашиот сервер за да се пристапува преку HTTPS, проверете како е опишано во {linkstart}безбедносни совети ↗{linkend}.", @@ -317,6 +319,7 @@ "See the documentation" : "Види ја документацијата", "It looks like you are trying to reinstall your Nextcloud. However the file CAN_INSTALL is missing from your config directory. Please create the file CAN_INSTALL in your config folder to continue." : "Изгледа дека се обидувате да го преинсталирате Nextcloud. Како и да е, датотеката CAN_INSTALL недостасува во вашата конфигурациона папка. Креирајте празна датотека CAN_INSTALL во конфигурационата папка за да продолжите.", "Could not remove CAN_INSTALL from the config folder. Please remove this file manually." : "Неможе да се отстрани CAN_INSTALL датотеката од конфигурациската папка. Избришете ја рачно.", + "%s logo" : "%s лого", "This application requires JavaScript for correct operation. Please {linkstart}enable JavaScript{linkend} and reload the page." : "За оваа апликација да работи исправно потребна е JavaScript. Ве молиме {linkstart}овозможете JavaScript{linkend} и превчитајте ја страницата.", "Skip to main content" : "Оди до главната содржина", "Skip to navigation of app" : "Оди до навигацијата на апликацијата", diff --git a/core/l10n/zh_HK.js b/core/l10n/zh_HK.js index 66021edc55f60..e0bcde6a0cc4e 100644 --- a/core/l10n/zh_HK.js +++ b/core/l10n/zh_HK.js @@ -190,6 +190,7 @@ OC.L10N.register( "You have not added any info yet" : "您尚未新增任何資訊", "{user} has not added any info yet" : "{user} 尚未新增任何資訊", "Error opening the user status modal, try hard refreshing the page" : "打開用戶狀態模式時出錯,請嘗試刷新頁面", + "Search starts once you start typing and results may be reached with the arrow keys" : "一旦您開始輸入,搜尋就會開始,您可以使用方向鍵到達結果", "Reset search" : "重置搜尋", "Start search" : "開始搜尋", "Search for {name} only" : "只搜尋 {name}", @@ -341,6 +342,7 @@ OC.L10N.register( "See the documentation" : "閱讀說明文件", "It looks like you are trying to reinstall your Nextcloud. However the file CAN_INSTALL is missing from your config directory. Please create the file CAN_INSTALL in your config folder to continue." : "您似乎正在嘗試重新安裝您的Nextcloud。然而,檔案 CAN_INSTALL 並未在您的config目錄中。請在您的config目錄中建立 CAN_INSTALL檔以繼續。", "Could not remove CAN_INSTALL from the config folder. Please remove this file manually." : "無法從您的 config 目錄中移除 CAN_INSTALL 檔案。請手動移除他。", + "%s logo" : "%s 標誌", "This application requires JavaScript for correct operation. Please {linkstart}enable JavaScript{linkend} and reload the page." : "這個應用程式需要啟用 Javascript 才能正常運作,請{linkstart}啟用Javascript{linkend}然後重新整理頁面。", "Skip to main content" : "跳到主內容", "Skip to navigation of app" : "跳到應用程式導覽", diff --git a/core/l10n/zh_HK.json b/core/l10n/zh_HK.json index 24f89da10645f..fdf68d4a23356 100644 --- a/core/l10n/zh_HK.json +++ b/core/l10n/zh_HK.json @@ -188,6 +188,7 @@ "You have not added any info yet" : "您尚未新增任何資訊", "{user} has not added any info yet" : "{user} 尚未新增任何資訊", "Error opening the user status modal, try hard refreshing the page" : "打開用戶狀態模式時出錯,請嘗試刷新頁面", + "Search starts once you start typing and results may be reached with the arrow keys" : "一旦您開始輸入,搜尋就會開始,您可以使用方向鍵到達結果", "Reset search" : "重置搜尋", "Start search" : "開始搜尋", "Search for {name} only" : "只搜尋 {name}", @@ -339,6 +340,7 @@ "See the documentation" : "閱讀說明文件", "It looks like you are trying to reinstall your Nextcloud. However the file CAN_INSTALL is missing from your config directory. Please create the file CAN_INSTALL in your config folder to continue." : "您似乎正在嘗試重新安裝您的Nextcloud。然而,檔案 CAN_INSTALL 並未在您的config目錄中。請在您的config目錄中建立 CAN_INSTALL檔以繼續。", "Could not remove CAN_INSTALL from the config folder. Please remove this file manually." : "無法從您的 config 目錄中移除 CAN_INSTALL 檔案。請手動移除他。", + "%s logo" : "%s 標誌", "This application requires JavaScript for correct operation. Please {linkstart}enable JavaScript{linkend} and reload the page." : "這個應用程式需要啟用 Javascript 才能正常運作,請{linkstart}啟用Javascript{linkend}然後重新整理頁面。", "Skip to main content" : "跳到主內容", "Skip to navigation of app" : "跳到應用程式導覽", diff --git a/core/l10n/zh_TW.js b/core/l10n/zh_TW.js index 6feee500e6a5f..7e0b62024e47e 100644 --- a/core/l10n/zh_TW.js +++ b/core/l10n/zh_TW.js @@ -190,6 +190,7 @@ OC.L10N.register( "You have not added any info yet" : "您尚未新增任何資訊。", "{user} has not added any info yet" : "{user} 尚未新增任何資訊。", "Error opening the user status modal, try hard refreshing the page" : "開啟使用者狀態模式時發生問題,嘗試重新整理頁面", + "Search starts once you start typing and results may be reached with the arrow keys" : "一旦您開始輸入,搜尋就會開始,您可以使用方向鍵到達結果", "Reset search" : "重置搜尋", "Start search" : "開始搜尋", "Search for {name} only" : "僅搜尋 {name}", @@ -341,6 +342,7 @@ OC.L10N.register( "See the documentation" : "閱讀說明文件", "It looks like you are trying to reinstall your Nextcloud. However the file CAN_INSTALL is missing from your config directory. Please create the file CAN_INSTALL in your config folder to continue." : "您似乎正在嘗試重新安裝您的 Nextcloud。然而,檔案 CAN_INSTALL 並不在您的 config 目錄中。請在您的 config 目錄中建立 CAN_INSTALL 檔以繼續。", "Could not remove CAN_INSTALL from the config folder. Please remove this file manually." : "無法從您的 config 目錄中移除 CAN_INSTALL 檔案。請手動移除他。", + "%s logo" : "%s 圖示", "This application requires JavaScript for correct operation. Please {linkstart}enable JavaScript{linkend} and reload the page." : "這個應用程式需要啟用 Javascript 才能正常運作,請{linkstart}啟用 Javascript{linkend} 然後重新整理頁面。", "Skip to main content" : "跳到主內容", "Skip to navigation of app" : "跳到應用程式導覽", diff --git a/core/l10n/zh_TW.json b/core/l10n/zh_TW.json index 7dc2162a66973..50ba9636a61bb 100644 --- a/core/l10n/zh_TW.json +++ b/core/l10n/zh_TW.json @@ -188,6 +188,7 @@ "You have not added any info yet" : "您尚未新增任何資訊。", "{user} has not added any info yet" : "{user} 尚未新增任何資訊。", "Error opening the user status modal, try hard refreshing the page" : "開啟使用者狀態模式時發生問題,嘗試重新整理頁面", + "Search starts once you start typing and results may be reached with the arrow keys" : "一旦您開始輸入,搜尋就會開始,您可以使用方向鍵到達結果", "Reset search" : "重置搜尋", "Start search" : "開始搜尋", "Search for {name} only" : "僅搜尋 {name}", @@ -339,6 +340,7 @@ "See the documentation" : "閱讀說明文件", "It looks like you are trying to reinstall your Nextcloud. However the file CAN_INSTALL is missing from your config directory. Please create the file CAN_INSTALL in your config folder to continue." : "您似乎正在嘗試重新安裝您的 Nextcloud。然而,檔案 CAN_INSTALL 並不在您的 config 目錄中。請在您的 config 目錄中建立 CAN_INSTALL 檔以繼續。", "Could not remove CAN_INSTALL from the config folder. Please remove this file manually." : "無法從您的 config 目錄中移除 CAN_INSTALL 檔案。請手動移除他。", + "%s logo" : "%s 圖示", "This application requires JavaScript for correct operation. Please {linkstart}enable JavaScript{linkend} and reload the page." : "這個應用程式需要啟用 Javascript 才能正常運作,請{linkstart}啟用 Javascript{linkend} 然後重新整理頁面。", "Skip to main content" : "跳到主內容", "Skip to navigation of app" : "跳到應用程式導覽", diff --git a/lib/l10n/ar.js b/lib/l10n/ar.js index e4c4d7b49dfc3..6ed12160f2b93 100644 --- a/lib/l10n/ar.js +++ b/lib/l10n/ar.js @@ -111,10 +111,10 @@ OC.L10N.register( "Oct." : "أكت.", "Nov." : "نوف.", "Dec." : "ديس.", - "A valid username must be provided" : "يجب ادخال اسم مستخدم صحيح", - "Username contains whitespace at the beginning or at the end" : "إنّ إسم المستخدم يحتوي على مسافة بيضاء سواءا في البداية أو النهاية", "A valid password must be provided" : "يجب ادخال كلمة مرور صحيحة", "Could not create user" : "لا يمكن إنشاء المستخدم", + "A valid username must be provided" : "يجب ادخال اسم مستخدم صحيح", + "Username contains whitespace at the beginning or at the end" : "إنّ إسم المستخدم يحتوي على مسافة بيضاء سواءا في البداية أو النهاية", "User disabled" : "المستخدم معطّل", "Login canceled by app" : "تم إلغاء الدخول مِن طرف التطبيق", "a safe home for all your data" : "المكان الآمن لجميع بياناتك", diff --git a/lib/l10n/ar.json b/lib/l10n/ar.json index 8efc3dd0ed490..330e8e8f7051b 100644 --- a/lib/l10n/ar.json +++ b/lib/l10n/ar.json @@ -109,10 +109,10 @@ "Oct." : "أكت.", "Nov." : "نوف.", "Dec." : "ديس.", - "A valid username must be provided" : "يجب ادخال اسم مستخدم صحيح", - "Username contains whitespace at the beginning or at the end" : "إنّ إسم المستخدم يحتوي على مسافة بيضاء سواءا في البداية أو النهاية", "A valid password must be provided" : "يجب ادخال كلمة مرور صحيحة", "Could not create user" : "لا يمكن إنشاء المستخدم", + "A valid username must be provided" : "يجب ادخال اسم مستخدم صحيح", + "Username contains whitespace at the beginning or at the end" : "إنّ إسم المستخدم يحتوي على مسافة بيضاء سواءا في البداية أو النهاية", "User disabled" : "المستخدم معطّل", "Login canceled by app" : "تم إلغاء الدخول مِن طرف التطبيق", "a safe home for all your data" : "المكان الآمن لجميع بياناتك", diff --git a/lib/l10n/ast.js b/lib/l10n/ast.js index 50a84d0276b12..d261366111d78 100644 --- a/lib/l10n/ast.js +++ b/lib/l10n/ast.js @@ -115,12 +115,12 @@ OC.L10N.register( "Oct." : "Och.", "Nov." : "Pay.", "Dec." : "Avi.", + "A valid password must be provided" : "Tien d'apurrise una contraseña válida", + "The username is already being used" : "El nome d'usuariu yá ta usándose", "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Namái tan permitíos los siguientes caráuteres nun nome d'usuariu: \"a-z\", \"A-Z\", \"0-9\", y \"_.@-'\"", "A valid username must be provided" : "Tien d'apurrise un nome d'usuariu válidu", "Username contains whitespace at the beginning or at the end" : "El nome d'usuario contién espacios en blancu al entamu o al final", "Username must not consist of dots only" : "El nome d'usuariu nun pue tener puntos", - "A valid password must be provided" : "Tien d'apurrise una contraseña válida", - "The username is already being used" : "El nome d'usuariu yá ta usándose", "User disabled" : "Usuariu desactiváu", "Login canceled by app" : "Aniciar sesión canceláu pola aplicación", "a safe home for all your data" : "un llar seguru pa tolos tos datos", diff --git a/lib/l10n/ast.json b/lib/l10n/ast.json index adddb2cd66c22..cc20859e3b433 100644 --- a/lib/l10n/ast.json +++ b/lib/l10n/ast.json @@ -113,12 +113,12 @@ "Oct." : "Och.", "Nov." : "Pay.", "Dec." : "Avi.", + "A valid password must be provided" : "Tien d'apurrise una contraseña válida", + "The username is already being used" : "El nome d'usuariu yá ta usándose", "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Namái tan permitíos los siguientes caráuteres nun nome d'usuariu: \"a-z\", \"A-Z\", \"0-9\", y \"_.@-'\"", "A valid username must be provided" : "Tien d'apurrise un nome d'usuariu válidu", "Username contains whitespace at the beginning or at the end" : "El nome d'usuario contién espacios en blancu al entamu o al final", "Username must not consist of dots only" : "El nome d'usuariu nun pue tener puntos", - "A valid password must be provided" : "Tien d'apurrise una contraseña válida", - "The username is already being used" : "El nome d'usuariu yá ta usándose", "User disabled" : "Usuariu desactiváu", "Login canceled by app" : "Aniciar sesión canceláu pola aplicación", "a safe home for all your data" : "un llar seguru pa tolos tos datos", diff --git a/lib/l10n/az.js b/lib/l10n/az.js index c58ae39e84216..28ec34773c3a1 100644 --- a/lib/l10n/az.js +++ b/lib/l10n/az.js @@ -61,8 +61,8 @@ OC.L10N.register( "Oct." : "Okt.", "Nov." : "Noy.", "Dec." : "Dek.", - "A valid username must be provided" : "Düzgün istifadəçi adı daxil edilməlidir", "A valid password must be provided" : "Düzgün şifrə daxil edilməlidir", + "A valid username must be provided" : "Düzgün istifadəçi adı daxil edilməlidir", "Application is not enabled" : "Proqram təminatı aktiv edilməyib", "Authentication error" : "Təyinat metodikası", "Token expired. Please reload page." : "Token vaxtı bitib. Xahiş olunur səhifəni yenidən yükləyəsiniz.", diff --git a/lib/l10n/az.json b/lib/l10n/az.json index 425e06b2bc2a8..bc250fdc07428 100644 --- a/lib/l10n/az.json +++ b/lib/l10n/az.json @@ -59,8 +59,8 @@ "Oct." : "Okt.", "Nov." : "Noy.", "Dec." : "Dek.", - "A valid username must be provided" : "Düzgün istifadəçi adı daxil edilməlidir", "A valid password must be provided" : "Düzgün şifrə daxil edilməlidir", + "A valid username must be provided" : "Düzgün istifadəçi adı daxil edilməlidir", "Application is not enabled" : "Proqram təminatı aktiv edilməyib", "Authentication error" : "Təyinat metodikası", "Token expired. Please reload page." : "Token vaxtı bitib. Xahiş olunur səhifəni yenidən yükləyəsiniz.", diff --git a/lib/l10n/bg.js b/lib/l10n/bg.js index 9837b9bcd289a..73e94b0c08f55 100644 --- a/lib/l10n/bg.js +++ b/lib/l10n/bg.js @@ -201,14 +201,14 @@ OC.L10N.register( "Oct." : "окт", "Nov." : "ное", "Dec." : "дек", + "A valid password must be provided" : "Трябва да въведете валидна парола.", + "The username is already being used" : "Потребителското име е вече заето.", + "Could not create user" : "Неуспешно създаване на потребител", "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Потребителските имена може да съдържат следните знаци: \"a-z\", \"A-Z\", \"0-9\" и \"_.@-'\"", "A valid username must be provided" : "Трябва да въведете валидно потребителско.", "Username contains whitespace at the beginning or at the end" : "Потребителското име започва или завършва с интервал.", "Username must not consist of dots only" : "Името на потребител не трябва да се състои само от точки", "Username is invalid because files already exist for this user" : "Името на потребител е невалидно, тъй като файловете вече съществуват за този потребител", - "A valid password must be provided" : "Трябва да въведете валидна парола.", - "The username is already being used" : "Потребителското име е вече заето.", - "Could not create user" : "Неуспешно създаване на потребител", "User disabled" : "Потребителят е деактивиран", "Login canceled by app" : "Вписването е отказано от приложението", "App \"%1$s\" cannot be installed because the following dependencies are not fulfilled: %2$s" : "Приложението „%1$s“ не може да бъде инсталирано, защото следните зависимости не са изпълнени: %2$s", diff --git a/lib/l10n/bg.json b/lib/l10n/bg.json index 4e596784a63b9..4ee0f4c786cb5 100644 --- a/lib/l10n/bg.json +++ b/lib/l10n/bg.json @@ -199,14 +199,14 @@ "Oct." : "окт", "Nov." : "ное", "Dec." : "дек", + "A valid password must be provided" : "Трябва да въведете валидна парола.", + "The username is already being used" : "Потребителското име е вече заето.", + "Could not create user" : "Неуспешно създаване на потребител", "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Потребителските имена може да съдържат следните знаци: \"a-z\", \"A-Z\", \"0-9\" и \"_.@-'\"", "A valid username must be provided" : "Трябва да въведете валидно потребителско.", "Username contains whitespace at the beginning or at the end" : "Потребителското име започва или завършва с интервал.", "Username must not consist of dots only" : "Името на потребител не трябва да се състои само от точки", "Username is invalid because files already exist for this user" : "Името на потребител е невалидно, тъй като файловете вече съществуват за този потребител", - "A valid password must be provided" : "Трябва да въведете валидна парола.", - "The username is already being used" : "Потребителското име е вече заето.", - "Could not create user" : "Неуспешно създаване на потребител", "User disabled" : "Потребителят е деактивиран", "Login canceled by app" : "Вписването е отказано от приложението", "App \"%1$s\" cannot be installed because the following dependencies are not fulfilled: %2$s" : "Приложението „%1$s“ не може да бъде инсталирано, защото следните зависимости не са изпълнени: %2$s", diff --git a/lib/l10n/bs.js b/lib/l10n/bs.js index e8def363f75f5..eefa6c101123c 100644 --- a/lib/l10n/bs.js +++ b/lib/l10n/bs.js @@ -54,8 +54,8 @@ OC.L10N.register( "Oct." : "Okt.", "Nov." : "Nov.", "Dec." : "Dec.", - "A valid username must be provided" : "Nužno je navesti valjano korisničko ime", "A valid password must be provided" : "Nužno je navesti valjanu lozinku", + "A valid username must be provided" : "Nužno je navesti valjano korisničko ime", "Authentication error" : "Grešna autentifikacije", "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Uzrok tome je vjerojatno neki ubrzivač predmemorisanja kao što je Zend OPcache ili eAccelerator." }, diff --git a/lib/l10n/bs.json b/lib/l10n/bs.json index 8d7c9b5e30d34..5ca424d9a8116 100644 --- a/lib/l10n/bs.json +++ b/lib/l10n/bs.json @@ -52,8 +52,8 @@ "Oct." : "Okt.", "Nov." : "Nov.", "Dec." : "Dec.", - "A valid username must be provided" : "Nužno je navesti valjano korisničko ime", "A valid password must be provided" : "Nužno je navesti valjanu lozinku", + "A valid username must be provided" : "Nužno je navesti valjano korisničko ime", "Authentication error" : "Grešna autentifikacije", "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Uzrok tome je vjerojatno neki ubrzivač predmemorisanja kao što je Zend OPcache ili eAccelerator." },"pluralForm" :"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);" diff --git a/lib/l10n/ca.js b/lib/l10n/ca.js index a2038445fd62e..6a6e1627c7f2b 100644 --- a/lib/l10n/ca.js +++ b/lib/l10n/ca.js @@ -201,14 +201,14 @@ OC.L10N.register( "Oct." : "Oct.", "Nov." : "Nov.", "Dec." : "Des.", + "A valid password must be provided" : "Heu de facilitar una contrasenya vàlida", + "The username is already being used" : "El nom d'usuari ja està en ús", + "Could not create user" : "No s'ha pogut crear l'usuari", "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Només es permeten els següents caràcters en un nom d’usuari: \"a-z\", \"A-Z\", \"0-9\" i \"_.@-'\"", "A valid username must be provided" : "Heu de facilitar un nom d'usuari vàlid", "Username contains whitespace at the beginning or at the end" : "El nom d’usuari conté espais en blanc al principi o al final", "Username must not consist of dots only" : "El nom d'usuari no pot està format només per punts", "Username is invalid because files already exist for this user" : "El nom d'usuari no és vàlid perquè els fitxers ja existeixen per a aquest usuari", - "A valid password must be provided" : "Heu de facilitar una contrasenya vàlida", - "The username is already being used" : "El nom d'usuari ja està en ús", - "Could not create user" : "No s'ha pogut crear l'usuari", "User disabled" : "Usuari inhabilitat", "Login canceled by app" : "Inici de sessió cancel·lat per aplicació", "App \"%1$s\" cannot be installed because the following dependencies are not fulfilled: %2$s" : "L'aplicació \"%1$s\" no es pot instal·lar perquè no es compleixen les dependències següents: %2$s", diff --git a/lib/l10n/ca.json b/lib/l10n/ca.json index f621ce8966f5f..639388648af6b 100644 --- a/lib/l10n/ca.json +++ b/lib/l10n/ca.json @@ -199,14 +199,14 @@ "Oct." : "Oct.", "Nov." : "Nov.", "Dec." : "Des.", + "A valid password must be provided" : "Heu de facilitar una contrasenya vàlida", + "The username is already being used" : "El nom d'usuari ja està en ús", + "Could not create user" : "No s'ha pogut crear l'usuari", "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Només es permeten els següents caràcters en un nom d’usuari: \"a-z\", \"A-Z\", \"0-9\" i \"_.@-'\"", "A valid username must be provided" : "Heu de facilitar un nom d'usuari vàlid", "Username contains whitespace at the beginning or at the end" : "El nom d’usuari conté espais en blanc al principi o al final", "Username must not consist of dots only" : "El nom d'usuari no pot està format només per punts", "Username is invalid because files already exist for this user" : "El nom d'usuari no és vàlid perquè els fitxers ja existeixen per a aquest usuari", - "A valid password must be provided" : "Heu de facilitar una contrasenya vàlida", - "The username is already being used" : "El nom d'usuari ja està en ús", - "Could not create user" : "No s'ha pogut crear l'usuari", "User disabled" : "Usuari inhabilitat", "Login canceled by app" : "Inici de sessió cancel·lat per aplicació", "App \"%1$s\" cannot be installed because the following dependencies are not fulfilled: %2$s" : "L'aplicació \"%1$s\" no es pot instal·lar perquè no es compleixen les dependències següents: %2$s", diff --git a/lib/l10n/cs.js b/lib/l10n/cs.js index 36db251feb30b..9ecbb4dfef371 100644 --- a/lib/l10n/cs.js +++ b/lib/l10n/cs.js @@ -201,14 +201,14 @@ OC.L10N.register( "Oct." : "říj.", "Nov." : "list.", "Dec." : "pro.", + "A valid password must be provided" : "Je třeba zadat platné heslo", + "The username is already being used" : "Uživatelské jméno už je využíváno", + "Could not create user" : "Nepodařilo se vytvořit uživatele", "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Pouze následující znaky jsou povoleny pro uživatelské jméno: „a-z“, „A-Z“, „0-9“, a „_.@-'“", "A valid username must be provided" : "Je třeba zadat platné uživatelské jméno", "Username contains whitespace at the beginning or at the end" : "Uživatelské jméno je chybné – na jeho začátku či konci se nachází prázdný znak (mezera, tabulátor, atp.)", "Username must not consist of dots only" : "Uživatelské jméno se nemůže skládat pouze ze samých teček", "Username is invalid because files already exist for this user" : "Uživatelské jméno není platné, protože protože pro tohoto uživatele už existují soubory", - "A valid password must be provided" : "Je třeba zadat platné heslo", - "The username is already being used" : "Uživatelské jméno už je využíváno", - "Could not create user" : "Nepodařilo se vytvořit uživatele", "User disabled" : "Uživatel zakázán", "Login canceled by app" : "Přihlášení zrušeno aplikací", "App \"%1$s\" cannot be installed because the following dependencies are not fulfilled: %2$s" : "Aplikaci „%1$s“ nelze nainstalovat, protože nejsou splněny následující závislosti: %2$s", diff --git a/lib/l10n/cs.json b/lib/l10n/cs.json index 7655d2658baa4..43ae96914804a 100644 --- a/lib/l10n/cs.json +++ b/lib/l10n/cs.json @@ -199,14 +199,14 @@ "Oct." : "říj.", "Nov." : "list.", "Dec." : "pro.", + "A valid password must be provided" : "Je třeba zadat platné heslo", + "The username is already being used" : "Uživatelské jméno už je využíváno", + "Could not create user" : "Nepodařilo se vytvořit uživatele", "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Pouze následující znaky jsou povoleny pro uživatelské jméno: „a-z“, „A-Z“, „0-9“, a „_.@-'“", "A valid username must be provided" : "Je třeba zadat platné uživatelské jméno", "Username contains whitespace at the beginning or at the end" : "Uživatelské jméno je chybné – na jeho začátku či konci se nachází prázdný znak (mezera, tabulátor, atp.)", "Username must not consist of dots only" : "Uživatelské jméno se nemůže skládat pouze ze samých teček", "Username is invalid because files already exist for this user" : "Uživatelské jméno není platné, protože protože pro tohoto uživatele už existují soubory", - "A valid password must be provided" : "Je třeba zadat platné heslo", - "The username is already being used" : "Uživatelské jméno už je využíváno", - "Could not create user" : "Nepodařilo se vytvořit uživatele", "User disabled" : "Uživatel zakázán", "Login canceled by app" : "Přihlášení zrušeno aplikací", "App \"%1$s\" cannot be installed because the following dependencies are not fulfilled: %2$s" : "Aplikaci „%1$s“ nelze nainstalovat, protože nejsou splněny následující závislosti: %2$s", diff --git a/lib/l10n/da.js b/lib/l10n/da.js index c55a5f3efb799..5b4b81cea3bf1 100644 --- a/lib/l10n/da.js +++ b/lib/l10n/da.js @@ -196,14 +196,14 @@ OC.L10N.register( "Oct." : "Okt.", "Nov." : "Nov.", "Dec." : "Dec.", + "A valid password must be provided" : "En gyldig adgangskode skal angives", + "The username is already being used" : "Brugernavnet er allerede i brug", + "Could not create user" : "Kunne ikke oprette bruger", "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Kun følgende tegn kan indgå i et brugernavn: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"", "A valid username must be provided" : "Et gyldigt brugernavn skal angives", "Username contains whitespace at the beginning or at the end" : "Brugernavnet har et mellemrum i starten eller slutningen", "Username must not consist of dots only" : "Brugernavnet må ikke bestå af rene prikker/punktummer", "Username is invalid because files already exist for this user" : "Brugernavnet er ugyldigt, da der allerede eksisterer filer for denne bruger", - "A valid password must be provided" : "En gyldig adgangskode skal angives", - "The username is already being used" : "Brugernavnet er allerede i brug", - "Could not create user" : "Kunne ikke oprette bruger", "User disabled" : "Bruger deaktiveret", "Login canceled by app" : "Login annulleret af app", "App \"%1$s\" cannot be installed because the following dependencies are not fulfilled: %2$s" : "Appen \"%1$s\" kan ikke installeres, da følgende afhængigheder ikke imødekommes: %2$s", diff --git a/lib/l10n/da.json b/lib/l10n/da.json index 0309caa55ab30..9198baf9544ed 100644 --- a/lib/l10n/da.json +++ b/lib/l10n/da.json @@ -194,14 +194,14 @@ "Oct." : "Okt.", "Nov." : "Nov.", "Dec." : "Dec.", + "A valid password must be provided" : "En gyldig adgangskode skal angives", + "The username is already being used" : "Brugernavnet er allerede i brug", + "Could not create user" : "Kunne ikke oprette bruger", "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Kun følgende tegn kan indgå i et brugernavn: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"", "A valid username must be provided" : "Et gyldigt brugernavn skal angives", "Username contains whitespace at the beginning or at the end" : "Brugernavnet har et mellemrum i starten eller slutningen", "Username must not consist of dots only" : "Brugernavnet må ikke bestå af rene prikker/punktummer", "Username is invalid because files already exist for this user" : "Brugernavnet er ugyldigt, da der allerede eksisterer filer for denne bruger", - "A valid password must be provided" : "En gyldig adgangskode skal angives", - "The username is already being used" : "Brugernavnet er allerede i brug", - "Could not create user" : "Kunne ikke oprette bruger", "User disabled" : "Bruger deaktiveret", "Login canceled by app" : "Login annulleret af app", "App \"%1$s\" cannot be installed because the following dependencies are not fulfilled: %2$s" : "Appen \"%1$s\" kan ikke installeres, da følgende afhængigheder ikke imødekommes: %2$s", diff --git a/lib/l10n/de.js b/lib/l10n/de.js index ba4832cea7ffb..251bc2bc8b776 100644 --- a/lib/l10n/de.js +++ b/lib/l10n/de.js @@ -195,14 +195,14 @@ OC.L10N.register( "Oct." : "Okt.", "Nov." : "Nov.", "Dec." : "Dez.", + "A valid password must be provided" : "Es muss ein gültiges Passwort eingegeben werden", + "The username is already being used" : "Dieser Benutzername existiert bereits", + "Could not create user" : "Benutzer konnte nicht erstellt werden", "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Folgende Zeichen sind im Benutzernamen erlaubt: „a-z“, „A-Z“, „0-9“ und „_.@-'“", "A valid username must be provided" : "Es muss ein gültiger Benutzername angegeben werden", "Username contains whitespace at the beginning or at the end" : "Der Benutzername enthält Leerzeichen am Anfang oder am Ende", "Username must not consist of dots only" : "Der Benutzername darf nicht nur aus Punkten bestehen", "Username is invalid because files already exist for this user" : "Der Benutzer ist ungültig, da bereits Dateien von diesem Benutzer existieren", - "A valid password must be provided" : "Es muss ein gültiges Passwort eingegeben werden", - "The username is already being used" : "Dieser Benutzername existiert bereits", - "Could not create user" : "Benutzer konnte nicht erstellt werden", "User disabled" : "Benutzer deaktiviert", "Login canceled by app" : "Anmeldung durch die App abgebrochen", "App \"%1$s\" cannot be installed because the following dependencies are not fulfilled: %2$s" : "Die App „%1$s“ kann nicht installiert werden, da die folgenden Abhängigkeiten nicht erfüllt sind: %2$s", diff --git a/lib/l10n/de.json b/lib/l10n/de.json index 09b06bd4d1f94..ad56e92e306e6 100644 --- a/lib/l10n/de.json +++ b/lib/l10n/de.json @@ -193,14 +193,14 @@ "Oct." : "Okt.", "Nov." : "Nov.", "Dec." : "Dez.", + "A valid password must be provided" : "Es muss ein gültiges Passwort eingegeben werden", + "The username is already being used" : "Dieser Benutzername existiert bereits", + "Could not create user" : "Benutzer konnte nicht erstellt werden", "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Folgende Zeichen sind im Benutzernamen erlaubt: „a-z“, „A-Z“, „0-9“ und „_.@-'“", "A valid username must be provided" : "Es muss ein gültiger Benutzername angegeben werden", "Username contains whitespace at the beginning or at the end" : "Der Benutzername enthält Leerzeichen am Anfang oder am Ende", "Username must not consist of dots only" : "Der Benutzername darf nicht nur aus Punkten bestehen", "Username is invalid because files already exist for this user" : "Der Benutzer ist ungültig, da bereits Dateien von diesem Benutzer existieren", - "A valid password must be provided" : "Es muss ein gültiges Passwort eingegeben werden", - "The username is already being used" : "Dieser Benutzername existiert bereits", - "Could not create user" : "Benutzer konnte nicht erstellt werden", "User disabled" : "Benutzer deaktiviert", "Login canceled by app" : "Anmeldung durch die App abgebrochen", "App \"%1$s\" cannot be installed because the following dependencies are not fulfilled: %2$s" : "Die App „%1$s“ kann nicht installiert werden, da die folgenden Abhängigkeiten nicht erfüllt sind: %2$s", diff --git a/lib/l10n/de_DE.js b/lib/l10n/de_DE.js index f788cd4c76a04..d3021869eaae6 100644 --- a/lib/l10n/de_DE.js +++ b/lib/l10n/de_DE.js @@ -201,14 +201,14 @@ OC.L10N.register( "Oct." : "Okt.", "Nov." : "Nov.", "Dec." : "Dez.", + "A valid password must be provided" : "Es muss ein gültiges Passwort eingegeben werden", + "The username is already being used" : "Dieser Benutzername existiert bereits", + "Could not create user" : "Benutzer konnte nicht erstellt werden", "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Folgende Zeichen sind im Benutzernamen erlaubt: „a-z“, „A-Z“, „0-9“ und „_.@-'“", "A valid username must be provided" : "Es muss ein gültiger Benutzername angegeben werden", "Username contains whitespace at the beginning or at the end" : "Der Benutzername enthält Leerzeichen am Anfang oder am Ende", "Username must not consist of dots only" : "Der Benutzername darf nicht nur aus Punkten bestehen", "Username is invalid because files already exist for this user" : "Der Benutzer ist ungültig, da bereits Dateien von diesem Benutzer existieren", - "A valid password must be provided" : "Es muss ein gültiges Passwort eingegeben werden", - "The username is already being used" : "Dieser Benutzername existiert bereits", - "Could not create user" : "Benutzer konnte nicht erstellt werden", "User disabled" : "Benutzer deaktiviert", "Login canceled by app" : "Anmeldung durch die App abgebrochen", "App \"%1$s\" cannot be installed because the following dependencies are not fulfilled: %2$s" : "Die App „%1$s“ kann nicht installiert werden, da die folgenden Abhängigkeiten nicht erfüllt sind: %2$s", diff --git a/lib/l10n/de_DE.json b/lib/l10n/de_DE.json index a3c32980270ac..0a67eaa004044 100644 --- a/lib/l10n/de_DE.json +++ b/lib/l10n/de_DE.json @@ -199,14 +199,14 @@ "Oct." : "Okt.", "Nov." : "Nov.", "Dec." : "Dez.", + "A valid password must be provided" : "Es muss ein gültiges Passwort eingegeben werden", + "The username is already being used" : "Dieser Benutzername existiert bereits", + "Could not create user" : "Benutzer konnte nicht erstellt werden", "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Folgende Zeichen sind im Benutzernamen erlaubt: „a-z“, „A-Z“, „0-9“ und „_.@-'“", "A valid username must be provided" : "Es muss ein gültiger Benutzername angegeben werden", "Username contains whitespace at the beginning or at the end" : "Der Benutzername enthält Leerzeichen am Anfang oder am Ende", "Username must not consist of dots only" : "Der Benutzername darf nicht nur aus Punkten bestehen", "Username is invalid because files already exist for this user" : "Der Benutzer ist ungültig, da bereits Dateien von diesem Benutzer existieren", - "A valid password must be provided" : "Es muss ein gültiges Passwort eingegeben werden", - "The username is already being used" : "Dieser Benutzername existiert bereits", - "Could not create user" : "Benutzer konnte nicht erstellt werden", "User disabled" : "Benutzer deaktiviert", "Login canceled by app" : "Anmeldung durch die App abgebrochen", "App \"%1$s\" cannot be installed because the following dependencies are not fulfilled: %2$s" : "Die App „%1$s“ kann nicht installiert werden, da die folgenden Abhängigkeiten nicht erfüllt sind: %2$s", diff --git a/lib/l10n/el.js b/lib/l10n/el.js index 706a5cecdcb8c..cb74b86c2e1f4 100644 --- a/lib/l10n/el.js +++ b/lib/l10n/el.js @@ -190,14 +190,14 @@ OC.L10N.register( "Oct." : "Οκτ.", "Nov." : "Νοε.", "Dec." : "Δεκ.", + "A valid password must be provided" : "Πρέπει να δοθεί έγκυρο συνθηματικό", + "The username is already being used" : "Το όνομα χρήστη είναι κατειλημμένο", + "Could not create user" : "Αδυναμία δημιουργίας χρήστη", "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Μόνο οι ακόλουθοι χαρακτήρες επιτρέπονται στο όνομα χρήστη; \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"", "A valid username must be provided" : "Πρέπει να δοθεί έγκυρο όνομα χρήστη", "Username contains whitespace at the beginning or at the end" : "Το όνομα χρήστη περιέχει κενό διάστημα στην αρχή ή στο τέλος", "Username must not consist of dots only" : "Το όνομα χρήστη δεν πρέπει να περιέχει μόνο τελείες", "Username is invalid because files already exist for this user" : "Το όνομα χρήστη δεν είναι έγκυρο, επειδή υπάρχουν ήδη αρχεία για αυτόν τον χρήστη", - "A valid password must be provided" : "Πρέπει να δοθεί έγκυρο συνθηματικό", - "The username is already being used" : "Το όνομα χρήστη είναι κατειλημμένο", - "Could not create user" : "Αδυναμία δημιουργίας χρήστη", "User disabled" : "Ο χρήστης απενεργοποιήθηκε", "Login canceled by app" : "Η είσοδος ακυρώθηκε από την εφαρμογή", "App \"%1$s\" cannot be installed because the following dependencies are not fulfilled: %2$s" : "Η εφαρμογή \"%1$s\" δεν μπορεί να εγκατασταθεί επειδή δεν πληρούνται τα προαπαιτούμενα: %2$s", diff --git a/lib/l10n/el.json b/lib/l10n/el.json index ae53774914f9b..9c5ad95668bb0 100644 --- a/lib/l10n/el.json +++ b/lib/l10n/el.json @@ -188,14 +188,14 @@ "Oct." : "Οκτ.", "Nov." : "Νοε.", "Dec." : "Δεκ.", + "A valid password must be provided" : "Πρέπει να δοθεί έγκυρο συνθηματικό", + "The username is already being used" : "Το όνομα χρήστη είναι κατειλημμένο", + "Could not create user" : "Αδυναμία δημιουργίας χρήστη", "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Μόνο οι ακόλουθοι χαρακτήρες επιτρέπονται στο όνομα χρήστη; \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"", "A valid username must be provided" : "Πρέπει να δοθεί έγκυρο όνομα χρήστη", "Username contains whitespace at the beginning or at the end" : "Το όνομα χρήστη περιέχει κενό διάστημα στην αρχή ή στο τέλος", "Username must not consist of dots only" : "Το όνομα χρήστη δεν πρέπει να περιέχει μόνο τελείες", "Username is invalid because files already exist for this user" : "Το όνομα χρήστη δεν είναι έγκυρο, επειδή υπάρχουν ήδη αρχεία για αυτόν τον χρήστη", - "A valid password must be provided" : "Πρέπει να δοθεί έγκυρο συνθηματικό", - "The username is already being used" : "Το όνομα χρήστη είναι κατειλημμένο", - "Could not create user" : "Αδυναμία δημιουργίας χρήστη", "User disabled" : "Ο χρήστης απενεργοποιήθηκε", "Login canceled by app" : "Η είσοδος ακυρώθηκε από την εφαρμογή", "App \"%1$s\" cannot be installed because the following dependencies are not fulfilled: %2$s" : "Η εφαρμογή \"%1$s\" δεν μπορεί να εγκατασταθεί επειδή δεν πληρούνται τα προαπαιτούμενα: %2$s", diff --git a/lib/l10n/en_GB.js b/lib/l10n/en_GB.js index 022bdec1f1131..1b4f178342578 100644 --- a/lib/l10n/en_GB.js +++ b/lib/l10n/en_GB.js @@ -201,14 +201,14 @@ OC.L10N.register( "Oct." : "Oct.", "Nov." : "Nov.", "Dec." : "Dec.", + "A valid password must be provided" : "A valid password must be provided", + "The username is already being used" : "The username is already being used", + "Could not create user" : "Could not create user", "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"", "A valid username must be provided" : "A valid username must be provided", "Username contains whitespace at the beginning or at the end" : "Username contains whitespace at the beginning or at the end", "Username must not consist of dots only" : "Username must not consist of dots only", "Username is invalid because files already exist for this user" : "Username is invalid because files already exist for this user", - "A valid password must be provided" : "A valid password must be provided", - "The username is already being used" : "The username is already being used", - "Could not create user" : "Could not create user", "User disabled" : "User disabled", "Login canceled by app" : "Login cancelled by app", "App \"%1$s\" cannot be installed because the following dependencies are not fulfilled: %2$s" : "App \"%1$s\" cannot be installed because the following dependencies are not fulfilled: %2$s", diff --git a/lib/l10n/en_GB.json b/lib/l10n/en_GB.json index 951a1d524ab8e..97680b5d52080 100644 --- a/lib/l10n/en_GB.json +++ b/lib/l10n/en_GB.json @@ -199,14 +199,14 @@ "Oct." : "Oct.", "Nov." : "Nov.", "Dec." : "Dec.", + "A valid password must be provided" : "A valid password must be provided", + "The username is already being used" : "The username is already being used", + "Could not create user" : "Could not create user", "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"", "A valid username must be provided" : "A valid username must be provided", "Username contains whitespace at the beginning or at the end" : "Username contains whitespace at the beginning or at the end", "Username must not consist of dots only" : "Username must not consist of dots only", "Username is invalid because files already exist for this user" : "Username is invalid because files already exist for this user", - "A valid password must be provided" : "A valid password must be provided", - "The username is already being used" : "The username is already being used", - "Could not create user" : "Could not create user", "User disabled" : "User disabled", "Login canceled by app" : "Login cancelled by app", "App \"%1$s\" cannot be installed because the following dependencies are not fulfilled: %2$s" : "App \"%1$s\" cannot be installed because the following dependencies are not fulfilled: %2$s", diff --git a/lib/l10n/eo.js b/lib/l10n/eo.js index fb3956d505339..2c461fd8e6903 100644 --- a/lib/l10n/eo.js +++ b/lib/l10n/eo.js @@ -164,14 +164,14 @@ OC.L10N.register( "Oct." : "Okt.", "Nov." : "Nov.", "Dec." : "Dec.", + "A valid password must be provided" : "Valida pasvorto devas esti provizita", + "The username is already being used" : "La uzantnomo jam estas uzata", + "Could not create user" : "Ne povis krei uzanton", "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Nur sekvaj signoj estas permesitaj en uzantnomo: \"a-z“, \"A-Z“, \"0-9“ kaj \"_“ (substreko), \"@“ (ĉe), \"-“ (streketo), \"'“ (apostrofo), \".“ (punkto)", "A valid username must be provided" : "Valida uzantnomo devas esti provizita", "Username contains whitespace at the beginning or at the end" : "Uzantnomo enhavas spaceton ĉe la komenco aŭ la fino", "Username must not consist of dots only" : "Uzantnomo ne povas enhavi nur punktojn", "Username is invalid because files already exist for this user" : "La uzantnomo ne estas valida pro dosieroj por la uzanto jam ekzistas", - "A valid password must be provided" : "Valida pasvorto devas esti provizita", - "The username is already being used" : "La uzantnomo jam estas uzata", - "Could not create user" : "Ne povis krei uzanton", "User disabled" : "Uzanto malebligita", "Login canceled by app" : "Ensaluto estis nuligita de aplikaĵo", "App \"%1$s\" cannot be installed because the following dependencies are not fulfilled: %2$s" : "La aplikaĵo „%1$s“ ne instaliĝas, ĉar la jenaj dependecoj ne plenumiĝas: %2$s", diff --git a/lib/l10n/eo.json b/lib/l10n/eo.json index c47293cd8985e..78cd31eaa5577 100644 --- a/lib/l10n/eo.json +++ b/lib/l10n/eo.json @@ -162,14 +162,14 @@ "Oct." : "Okt.", "Nov." : "Nov.", "Dec." : "Dec.", + "A valid password must be provided" : "Valida pasvorto devas esti provizita", + "The username is already being used" : "La uzantnomo jam estas uzata", + "Could not create user" : "Ne povis krei uzanton", "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Nur sekvaj signoj estas permesitaj en uzantnomo: \"a-z“, \"A-Z“, \"0-9“ kaj \"_“ (substreko), \"@“ (ĉe), \"-“ (streketo), \"'“ (apostrofo), \".“ (punkto)", "A valid username must be provided" : "Valida uzantnomo devas esti provizita", "Username contains whitespace at the beginning or at the end" : "Uzantnomo enhavas spaceton ĉe la komenco aŭ la fino", "Username must not consist of dots only" : "Uzantnomo ne povas enhavi nur punktojn", "Username is invalid because files already exist for this user" : "La uzantnomo ne estas valida pro dosieroj por la uzanto jam ekzistas", - "A valid password must be provided" : "Valida pasvorto devas esti provizita", - "The username is already being used" : "La uzantnomo jam estas uzata", - "Could not create user" : "Ne povis krei uzanton", "User disabled" : "Uzanto malebligita", "Login canceled by app" : "Ensaluto estis nuligita de aplikaĵo", "App \"%1$s\" cannot be installed because the following dependencies are not fulfilled: %2$s" : "La aplikaĵo „%1$s“ ne instaliĝas, ĉar la jenaj dependecoj ne plenumiĝas: %2$s", diff --git a/lib/l10n/es.js b/lib/l10n/es.js index e2aa858f33a3a..389ca04f1381e 100644 --- a/lib/l10n/es.js +++ b/lib/l10n/es.js @@ -201,14 +201,14 @@ OC.L10N.register( "Oct." : "Oct.", "Nov." : "Nov.", "Dec." : "Dic.", + "A valid password must be provided" : "Se debe proporcionar una contraseña válida", + "The username is already being used" : "El nombre de usuario ya está en uso", + "Could not create user" : "No se ha podido crear el usuario", "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Solo los siguientes caracteres están permitidos en un nombre de usuario: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"", "A valid username must be provided" : "Se debe proporcionar un nombre de usuario válido", "Username contains whitespace at the beginning or at the end" : "El nombre de usuario contiene espacios en blanco al principio o al final", "Username must not consist of dots only" : "El nombre de usuario no debe consistir solo de puntos", "Username is invalid because files already exist for this user" : "El nombre de usuario es incorrecto debido a a que los archivos ya existen para este usuario", - "A valid password must be provided" : "Se debe proporcionar una contraseña válida", - "The username is already being used" : "El nombre de usuario ya está en uso", - "Could not create user" : "No se ha podido crear el usuario", "User disabled" : "Usuario deshabilitado", "Login canceled by app" : "Login cancelado por la app", "App \"%1$s\" cannot be installed because the following dependencies are not fulfilled: %2$s" : "No se ha podido instlaar la app «%1$s» porque no se cumplen las siguientes dependencias: %2$s", diff --git a/lib/l10n/es.json b/lib/l10n/es.json index cdecf6c342e23..4c457cbb51994 100644 --- a/lib/l10n/es.json +++ b/lib/l10n/es.json @@ -199,14 +199,14 @@ "Oct." : "Oct.", "Nov." : "Nov.", "Dec." : "Dic.", + "A valid password must be provided" : "Se debe proporcionar una contraseña válida", + "The username is already being used" : "El nombre de usuario ya está en uso", + "Could not create user" : "No se ha podido crear el usuario", "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Solo los siguientes caracteres están permitidos en un nombre de usuario: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"", "A valid username must be provided" : "Se debe proporcionar un nombre de usuario válido", "Username contains whitespace at the beginning or at the end" : "El nombre de usuario contiene espacios en blanco al principio o al final", "Username must not consist of dots only" : "El nombre de usuario no debe consistir solo de puntos", "Username is invalid because files already exist for this user" : "El nombre de usuario es incorrecto debido a a que los archivos ya existen para este usuario", - "A valid password must be provided" : "Se debe proporcionar una contraseña válida", - "The username is already being used" : "El nombre de usuario ya está en uso", - "Could not create user" : "No se ha podido crear el usuario", "User disabled" : "Usuario deshabilitado", "Login canceled by app" : "Login cancelado por la app", "App \"%1$s\" cannot be installed because the following dependencies are not fulfilled: %2$s" : "No se ha podido instlaar la app «%1$s» porque no se cumplen las siguientes dependencias: %2$s", diff --git a/lib/l10n/es_419.js b/lib/l10n/es_419.js index f38117edc28b9..6da0345756354 100644 --- a/lib/l10n/es_419.js +++ b/lib/l10n/es_419.js @@ -133,13 +133,13 @@ OC.L10N.register( "Oct." : "Oct.", "Nov." : "Nov.", "Dec." : "Dic.", + "A valid password must be provided" : "Se debe proporcionar una contraseña válida", + "The username is already being used" : "Ese usuario ya está en uso", + "Could not create user" : "No fue posible crear el usuario", "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Sólo se permiten los siguientes caracteres en el usuario: \"a-z\", \"A-Z\", \"0-9\" y \"_.@-'\"", "A valid username must be provided" : "Debes proporcionar un nombre de usuario válido", "Username contains whitespace at the beginning or at the end" : "El usuario contiene un espacio en blanco al inicio o al final", "Username must not consist of dots only" : "El usuario no debe consistir de solo puntos. ", - "A valid password must be provided" : "Se debe proporcionar una contraseña válida", - "The username is already being used" : "Ese usuario ya está en uso", - "Could not create user" : "No fue posible crear el usuario", "User disabled" : "Usuario deshabilitado", "Login canceled by app" : "Inicio de sesión cancelado por la aplicación", "a safe home for all your data" : "un lugar seguro para todos tus datos", diff --git a/lib/l10n/es_419.json b/lib/l10n/es_419.json index 596212a017ae7..6ca06d5e8a702 100644 --- a/lib/l10n/es_419.json +++ b/lib/l10n/es_419.json @@ -131,13 +131,13 @@ "Oct." : "Oct.", "Nov." : "Nov.", "Dec." : "Dic.", + "A valid password must be provided" : "Se debe proporcionar una contraseña válida", + "The username is already being used" : "Ese usuario ya está en uso", + "Could not create user" : "No fue posible crear el usuario", "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Sólo se permiten los siguientes caracteres en el usuario: \"a-z\", \"A-Z\", \"0-9\" y \"_.@-'\"", "A valid username must be provided" : "Debes proporcionar un nombre de usuario válido", "Username contains whitespace at the beginning or at the end" : "El usuario contiene un espacio en blanco al inicio o al final", "Username must not consist of dots only" : "El usuario no debe consistir de solo puntos. ", - "A valid password must be provided" : "Se debe proporcionar una contraseña válida", - "The username is already being used" : "Ese usuario ya está en uso", - "Could not create user" : "No fue posible crear el usuario", "User disabled" : "Usuario deshabilitado", "Login canceled by app" : "Inicio de sesión cancelado por la aplicación", "a safe home for all your data" : "un lugar seguro para todos tus datos", diff --git a/lib/l10n/es_AR.js b/lib/l10n/es_AR.js index 9489500443d3b..b6a38dd668f44 100644 --- a/lib/l10n/es_AR.js +++ b/lib/l10n/es_AR.js @@ -121,12 +121,12 @@ OC.L10N.register( "Oct." : "Oct.", "Nov." : "Nov.", "Dec." : "Dic.", + "A valid password must be provided" : "Se debe proporcionar una contraseña válida", + "The username is already being used" : "Ese nombre de usuario ya está en uso", "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Sólo se permiten los siguientes caracteres en el nombre de usuario: \"a-z\", \"A-Z\", \"0-9\" y \"_.@-'\"", "A valid username must be provided" : "Se debe proporcionar un nombre de usuario válido", "Username contains whitespace at the beginning or at the end" : "El nombre del usuario contiene un espacio en blanco al inicio o al final", "Username must not consist of dots only" : "El nombre de usuario no debe consistir de solo puntos. ", - "A valid password must be provided" : "Se debe proporcionar una contraseña válida", - "The username is already being used" : "Ese nombre de usuario ya está en uso", "User disabled" : "Usuario deshabilitado", "Login canceled by app" : "Inicio de sesión cancelado por la aplicación", "a safe home for all your data" : "un lugar seguro para todos sus datos", diff --git a/lib/l10n/es_AR.json b/lib/l10n/es_AR.json index 579565cc002bb..88407943b3977 100644 --- a/lib/l10n/es_AR.json +++ b/lib/l10n/es_AR.json @@ -119,12 +119,12 @@ "Oct." : "Oct.", "Nov." : "Nov.", "Dec." : "Dic.", + "A valid password must be provided" : "Se debe proporcionar una contraseña válida", + "The username is already being used" : "Ese nombre de usuario ya está en uso", "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Sólo se permiten los siguientes caracteres en el nombre de usuario: \"a-z\", \"A-Z\", \"0-9\" y \"_.@-'\"", "A valid username must be provided" : "Se debe proporcionar un nombre de usuario válido", "Username contains whitespace at the beginning or at the end" : "El nombre del usuario contiene un espacio en blanco al inicio o al final", "Username must not consist of dots only" : "El nombre de usuario no debe consistir de solo puntos. ", - "A valid password must be provided" : "Se debe proporcionar una contraseña válida", - "The username is already being used" : "Ese nombre de usuario ya está en uso", "User disabled" : "Usuario deshabilitado", "Login canceled by app" : "Inicio de sesión cancelado por la aplicación", "a safe home for all your data" : "un lugar seguro para todos sus datos", diff --git a/lib/l10n/es_CL.js b/lib/l10n/es_CL.js index 5b022dc2f18d5..d4801386b5d0e 100644 --- a/lib/l10n/es_CL.js +++ b/lib/l10n/es_CL.js @@ -134,13 +134,13 @@ OC.L10N.register( "Oct." : "Oct.", "Nov." : "Nov.", "Dec." : "Dic.", + "A valid password must be provided" : "Se debe proporcionar una contraseña válida", + "The username is already being used" : "Ese usuario ya está en uso", + "Could not create user" : "No fue posible crear el usuario", "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Sólo se permiten los siguientes caracteres en el usuario: \"a-z\", \"A-Z\", \"0-9\" y \"_.@-'\"", "A valid username must be provided" : "Debes proporcionar un nombre de usuario válido", "Username contains whitespace at the beginning or at the end" : "El usuario contiene un espacio en blanco al inicio o al final", "Username must not consist of dots only" : "El usuario no debe consistir de solo puntos. ", - "A valid password must be provided" : "Se debe proporcionar una contraseña válida", - "The username is already being used" : "Ese usuario ya está en uso", - "Could not create user" : "No fue posible crear el usuario", "User disabled" : "Usuario deshabilitado", "Login canceled by app" : "Inicio de sesión cancelado por la aplicación", "a safe home for all your data" : "un lugar seguro para todos tus datos", diff --git a/lib/l10n/es_CL.json b/lib/l10n/es_CL.json index b66d9b44a938a..284861e637045 100644 --- a/lib/l10n/es_CL.json +++ b/lib/l10n/es_CL.json @@ -132,13 +132,13 @@ "Oct." : "Oct.", "Nov." : "Nov.", "Dec." : "Dic.", + "A valid password must be provided" : "Se debe proporcionar una contraseña válida", + "The username is already being used" : "Ese usuario ya está en uso", + "Could not create user" : "No fue posible crear el usuario", "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Sólo se permiten los siguientes caracteres en el usuario: \"a-z\", \"A-Z\", \"0-9\" y \"_.@-'\"", "A valid username must be provided" : "Debes proporcionar un nombre de usuario válido", "Username contains whitespace at the beginning or at the end" : "El usuario contiene un espacio en blanco al inicio o al final", "Username must not consist of dots only" : "El usuario no debe consistir de solo puntos. ", - "A valid password must be provided" : "Se debe proporcionar una contraseña válida", - "The username is already being used" : "Ese usuario ya está en uso", - "Could not create user" : "No fue posible crear el usuario", "User disabled" : "Usuario deshabilitado", "Login canceled by app" : "Inicio de sesión cancelado por la aplicación", "a safe home for all your data" : "un lugar seguro para todos tus datos", diff --git a/lib/l10n/es_CO.js b/lib/l10n/es_CO.js index 559f4bdd06817..f7eb47d5441c6 100644 --- a/lib/l10n/es_CO.js +++ b/lib/l10n/es_CO.js @@ -134,13 +134,13 @@ OC.L10N.register( "Oct." : "Oct.", "Nov." : "Nov.", "Dec." : "Dic.", + "A valid password must be provided" : "Se debe proporcionar una contraseña válida", + "The username is already being used" : "Ese usuario ya está en uso", + "Could not create user" : "No fue posible crear el usuario", "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Sólo se permiten los siguientes caracteres en el usuario: \"a-z\", \"A-Z\", \"0-9\" y \"_.@-'\"", "A valid username must be provided" : "Debes proporcionar un nombre de usuario válido", "Username contains whitespace at the beginning or at the end" : "El usuario contiene un espacio en blanco al inicio o al final", "Username must not consist of dots only" : "El usuario no debe consistir de solo puntos. ", - "A valid password must be provided" : "Se debe proporcionar una contraseña válida", - "The username is already being used" : "Ese usuario ya está en uso", - "Could not create user" : "No fue posible crear el usuario", "User disabled" : "Usuario deshabilitado", "Login canceled by app" : "Inicio de sesión cancelado por la aplicación", "a safe home for all your data" : "un lugar seguro para todos tus datos", diff --git a/lib/l10n/es_CO.json b/lib/l10n/es_CO.json index b7cee536e42a7..e624828b11b58 100644 --- a/lib/l10n/es_CO.json +++ b/lib/l10n/es_CO.json @@ -132,13 +132,13 @@ "Oct." : "Oct.", "Nov." : "Nov.", "Dec." : "Dic.", + "A valid password must be provided" : "Se debe proporcionar una contraseña válida", + "The username is already being used" : "Ese usuario ya está en uso", + "Could not create user" : "No fue posible crear el usuario", "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Sólo se permiten los siguientes caracteres en el usuario: \"a-z\", \"A-Z\", \"0-9\" y \"_.@-'\"", "A valid username must be provided" : "Debes proporcionar un nombre de usuario válido", "Username contains whitespace at the beginning or at the end" : "El usuario contiene un espacio en blanco al inicio o al final", "Username must not consist of dots only" : "El usuario no debe consistir de solo puntos. ", - "A valid password must be provided" : "Se debe proporcionar una contraseña válida", - "The username is already being used" : "Ese usuario ya está en uso", - "Could not create user" : "No fue posible crear el usuario", "User disabled" : "Usuario deshabilitado", "Login canceled by app" : "Inicio de sesión cancelado por la aplicación", "a safe home for all your data" : "un lugar seguro para todos tus datos", diff --git a/lib/l10n/es_CR.js b/lib/l10n/es_CR.js index 051c2e62445f1..45367e7101672 100644 --- a/lib/l10n/es_CR.js +++ b/lib/l10n/es_CR.js @@ -134,13 +134,13 @@ OC.L10N.register( "Oct." : "Oct.", "Nov." : "Nov.", "Dec." : "Dic.", + "A valid password must be provided" : "Se debe proporcionar una contraseña válida", + "The username is already being used" : "Ese usuario ya está en uso", + "Could not create user" : "No fue posible crear el usuario", "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Sólo se permiten los siguientes caracteres en el usuario: \"a-z\", \"A-Z\", \"0-9\" y \"_.@-'\"", "A valid username must be provided" : "Debes proporcionar un nombre de usuario válido", "Username contains whitespace at the beginning or at the end" : "El usuario contiene un espacio en blanco al inicio o al final", "Username must not consist of dots only" : "El usuario no debe consistir de solo puntos. ", - "A valid password must be provided" : "Se debe proporcionar una contraseña válida", - "The username is already being used" : "Ese usuario ya está en uso", - "Could not create user" : "No fue posible crear el usuario", "User disabled" : "Usuario deshabilitado", "Login canceled by app" : "Inicio de sesión cancelado por la aplicación", "a safe home for all your data" : "un lugar seguro para todos tus datos", diff --git a/lib/l10n/es_CR.json b/lib/l10n/es_CR.json index 57eda59d293d5..0c8786a7ba658 100644 --- a/lib/l10n/es_CR.json +++ b/lib/l10n/es_CR.json @@ -132,13 +132,13 @@ "Oct." : "Oct.", "Nov." : "Nov.", "Dec." : "Dic.", + "A valid password must be provided" : "Se debe proporcionar una contraseña válida", + "The username is already being used" : "Ese usuario ya está en uso", + "Could not create user" : "No fue posible crear el usuario", "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Sólo se permiten los siguientes caracteres en el usuario: \"a-z\", \"A-Z\", \"0-9\" y \"_.@-'\"", "A valid username must be provided" : "Debes proporcionar un nombre de usuario válido", "Username contains whitespace at the beginning or at the end" : "El usuario contiene un espacio en blanco al inicio o al final", "Username must not consist of dots only" : "El usuario no debe consistir de solo puntos. ", - "A valid password must be provided" : "Se debe proporcionar una contraseña válida", - "The username is already being used" : "Ese usuario ya está en uso", - "Could not create user" : "No fue posible crear el usuario", "User disabled" : "Usuario deshabilitado", "Login canceled by app" : "Inicio de sesión cancelado por la aplicación", "a safe home for all your data" : "un lugar seguro para todos tus datos", diff --git a/lib/l10n/es_DO.js b/lib/l10n/es_DO.js index 36b69440d63cb..9dd0f2a9c163d 100644 --- a/lib/l10n/es_DO.js +++ b/lib/l10n/es_DO.js @@ -134,13 +134,13 @@ OC.L10N.register( "Oct." : "Oct.", "Nov." : "Nov.", "Dec." : "Dic.", + "A valid password must be provided" : "Se debe proporcionar una contraseña válida", + "The username is already being used" : "Ese usuario ya está en uso", + "Could not create user" : "No fue posible crear el usuario", "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Sólo se permiten los siguientes caracteres en el usuario: \"a-z\", \"A-Z\", \"0-9\" y \"_.@-'\"", "A valid username must be provided" : "Debes proporcionar un nombre de usuario válido", "Username contains whitespace at the beginning or at the end" : "El usuario contiene un espacio en blanco al inicio o al final", "Username must not consist of dots only" : "El usuario no debe consistir de solo puntos. ", - "A valid password must be provided" : "Se debe proporcionar una contraseña válida", - "The username is already being used" : "Ese usuario ya está en uso", - "Could not create user" : "No fue posible crear el usuario", "User disabled" : "Usuario deshabilitado", "Login canceled by app" : "Inicio de sesión cancelado por la aplicación", "a safe home for all your data" : "un lugar seguro para todos tus datos", diff --git a/lib/l10n/es_DO.json b/lib/l10n/es_DO.json index 57585833241da..3b0f0e9328952 100644 --- a/lib/l10n/es_DO.json +++ b/lib/l10n/es_DO.json @@ -132,13 +132,13 @@ "Oct." : "Oct.", "Nov." : "Nov.", "Dec." : "Dic.", + "A valid password must be provided" : "Se debe proporcionar una contraseña válida", + "The username is already being used" : "Ese usuario ya está en uso", + "Could not create user" : "No fue posible crear el usuario", "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Sólo se permiten los siguientes caracteres en el usuario: \"a-z\", \"A-Z\", \"0-9\" y \"_.@-'\"", "A valid username must be provided" : "Debes proporcionar un nombre de usuario válido", "Username contains whitespace at the beginning or at the end" : "El usuario contiene un espacio en blanco al inicio o al final", "Username must not consist of dots only" : "El usuario no debe consistir de solo puntos. ", - "A valid password must be provided" : "Se debe proporcionar una contraseña válida", - "The username is already being used" : "Ese usuario ya está en uso", - "Could not create user" : "No fue posible crear el usuario", "User disabled" : "Usuario deshabilitado", "Login canceled by app" : "Inicio de sesión cancelado por la aplicación", "a safe home for all your data" : "un lugar seguro para todos tus datos", diff --git a/lib/l10n/es_EC.js b/lib/l10n/es_EC.js index 6646f7e57164d..4657645988854 100644 --- a/lib/l10n/es_EC.js +++ b/lib/l10n/es_EC.js @@ -134,13 +134,13 @@ OC.L10N.register( "Oct." : "Oct.", "Nov." : "Nov.", "Dec." : "Dic.", + "A valid password must be provided" : "Se debe proporcionar una contraseña válida", + "The username is already being used" : "Ese usuario ya está en uso", + "Could not create user" : "No fue posible crear el usuario", "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Sólo se permiten los siguientes caracteres en el usuario: \"a-z\", \"A-Z\", \"0-9\" y \"_.@-'\"", "A valid username must be provided" : "Debes proporcionar un nombre de usuario válido", "Username contains whitespace at the beginning or at the end" : "El usuario contiene un espacio en blanco al inicio o al final", "Username must not consist of dots only" : "El usuario no debe consistir de solo puntos. ", - "A valid password must be provided" : "Se debe proporcionar una contraseña válida", - "The username is already being used" : "Ese usuario ya está en uso", - "Could not create user" : "No fue posible crear el usuario", "User disabled" : "Usuario deshabilitado", "Login canceled by app" : "Inicio de sesión cancelado por la aplicación", "a safe home for all your data" : "un lugar seguro para todos tus datos", diff --git a/lib/l10n/es_EC.json b/lib/l10n/es_EC.json index e38fce2f72497..409f6ded61afa 100644 --- a/lib/l10n/es_EC.json +++ b/lib/l10n/es_EC.json @@ -132,13 +132,13 @@ "Oct." : "Oct.", "Nov." : "Nov.", "Dec." : "Dic.", + "A valid password must be provided" : "Se debe proporcionar una contraseña válida", + "The username is already being used" : "Ese usuario ya está en uso", + "Could not create user" : "No fue posible crear el usuario", "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Sólo se permiten los siguientes caracteres en el usuario: \"a-z\", \"A-Z\", \"0-9\" y \"_.@-'\"", "A valid username must be provided" : "Debes proporcionar un nombre de usuario válido", "Username contains whitespace at the beginning or at the end" : "El usuario contiene un espacio en blanco al inicio o al final", "Username must not consist of dots only" : "El usuario no debe consistir de solo puntos. ", - "A valid password must be provided" : "Se debe proporcionar una contraseña válida", - "The username is already being used" : "Ese usuario ya está en uso", - "Could not create user" : "No fue posible crear el usuario", "User disabled" : "Usuario deshabilitado", "Login canceled by app" : "Inicio de sesión cancelado por la aplicación", "a safe home for all your data" : "un lugar seguro para todos tus datos", diff --git a/lib/l10n/es_GT.js b/lib/l10n/es_GT.js index 292cd57989ae6..cc39cb2465c15 100644 --- a/lib/l10n/es_GT.js +++ b/lib/l10n/es_GT.js @@ -134,13 +134,13 @@ OC.L10N.register( "Oct." : "Oct.", "Nov." : "Nov.", "Dec." : "Dic.", + "A valid password must be provided" : "Se debe proporcionar una contraseña válida", + "The username is already being used" : "Ese usuario ya está en uso", + "Could not create user" : "No fue posible crear el usuario", "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Sólo se permiten los siguientes caracteres en el usuario: \"a-z\", \"A-Z\", \"0-9\" y \"_.@-'\"", "A valid username must be provided" : "Debes proporcionar un nombre de usuario válido", "Username contains whitespace at the beginning or at the end" : "El usuario contiene un espacio en blanco al inicio o al final", "Username must not consist of dots only" : "El usuario no debe consistir de solo puntos. ", - "A valid password must be provided" : "Se debe proporcionar una contraseña válida", - "The username is already being used" : "Ese usuario ya está en uso", - "Could not create user" : "No fue posible crear el usuario", "User disabled" : "Usuario deshabilitado", "Login canceled by app" : "Inicio de sesión cancelado por la aplicación", "a safe home for all your data" : "un lugar seguro para todos tus datos", diff --git a/lib/l10n/es_GT.json b/lib/l10n/es_GT.json index 36dc3a083e178..535722fea2ca6 100644 --- a/lib/l10n/es_GT.json +++ b/lib/l10n/es_GT.json @@ -132,13 +132,13 @@ "Oct." : "Oct.", "Nov." : "Nov.", "Dec." : "Dic.", + "A valid password must be provided" : "Se debe proporcionar una contraseña válida", + "The username is already being used" : "Ese usuario ya está en uso", + "Could not create user" : "No fue posible crear el usuario", "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Sólo se permiten los siguientes caracteres en el usuario: \"a-z\", \"A-Z\", \"0-9\" y \"_.@-'\"", "A valid username must be provided" : "Debes proporcionar un nombre de usuario válido", "Username contains whitespace at the beginning or at the end" : "El usuario contiene un espacio en blanco al inicio o al final", "Username must not consist of dots only" : "El usuario no debe consistir de solo puntos. ", - "A valid password must be provided" : "Se debe proporcionar una contraseña válida", - "The username is already being used" : "Ese usuario ya está en uso", - "Could not create user" : "No fue posible crear el usuario", "User disabled" : "Usuario deshabilitado", "Login canceled by app" : "Inicio de sesión cancelado por la aplicación", "a safe home for all your data" : "un lugar seguro para todos tus datos", diff --git a/lib/l10n/es_HN.js b/lib/l10n/es_HN.js index c2a787eae8e75..0cbfba3bc1001 100644 --- a/lib/l10n/es_HN.js +++ b/lib/l10n/es_HN.js @@ -133,13 +133,13 @@ OC.L10N.register( "Oct." : "Oct.", "Nov." : "Nov.", "Dec." : "Dic.", + "A valid password must be provided" : "Se debe proporcionar una contraseña válida", + "The username is already being used" : "Ese usuario ya está en uso", + "Could not create user" : "No fue posible crear el usuario", "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Sólo se permiten los siguientes caracteres en el usuario: \"a-z\", \"A-Z\", \"0-9\" y \"_.@-'\"", "A valid username must be provided" : "Debes proporcionar un nombre de usuario válido", "Username contains whitespace at the beginning or at the end" : "El usuario contiene un espacio en blanco al inicio o al final", "Username must not consist of dots only" : "El usuario no debe consistir de solo puntos. ", - "A valid password must be provided" : "Se debe proporcionar una contraseña válida", - "The username is already being used" : "Ese usuario ya está en uso", - "Could not create user" : "No fue posible crear el usuario", "User disabled" : "Usuario deshabilitado", "Login canceled by app" : "Inicio de sesión cancelado por la aplicación", "a safe home for all your data" : "un lugar seguro para todos tus datos", diff --git a/lib/l10n/es_HN.json b/lib/l10n/es_HN.json index 997f02cf4971a..f9e1e2cc28dbd 100644 --- a/lib/l10n/es_HN.json +++ b/lib/l10n/es_HN.json @@ -131,13 +131,13 @@ "Oct." : "Oct.", "Nov." : "Nov.", "Dec." : "Dic.", + "A valid password must be provided" : "Se debe proporcionar una contraseña válida", + "The username is already being used" : "Ese usuario ya está en uso", + "Could not create user" : "No fue posible crear el usuario", "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Sólo se permiten los siguientes caracteres en el usuario: \"a-z\", \"A-Z\", \"0-9\" y \"_.@-'\"", "A valid username must be provided" : "Debes proporcionar un nombre de usuario válido", "Username contains whitespace at the beginning or at the end" : "El usuario contiene un espacio en blanco al inicio o al final", "Username must not consist of dots only" : "El usuario no debe consistir de solo puntos. ", - "A valid password must be provided" : "Se debe proporcionar una contraseña válida", - "The username is already being used" : "Ese usuario ya está en uso", - "Could not create user" : "No fue posible crear el usuario", "User disabled" : "Usuario deshabilitado", "Login canceled by app" : "Inicio de sesión cancelado por la aplicación", "a safe home for all your data" : "un lugar seguro para todos tus datos", diff --git a/lib/l10n/es_MX.js b/lib/l10n/es_MX.js index 1add6b868fe79..2080280e110c9 100644 --- a/lib/l10n/es_MX.js +++ b/lib/l10n/es_MX.js @@ -134,13 +134,13 @@ OC.L10N.register( "Oct." : "Oct.", "Nov." : "Nov.", "Dec." : "Dic.", + "A valid password must be provided" : "Se debe proporcionar una contraseña válida", + "The username is already being used" : "Ese usuario ya está en uso", + "Could not create user" : "No fue posible crear el usuario", "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Sólo se permiten los siguientes caracteres en el usuario: \"a-z\", \"A-Z\", \"0-9\" y \"_.@-'\"", "A valid username must be provided" : "Debes proporcionar un nombre de usuario válido", "Username contains whitespace at the beginning or at the end" : "El usuario contiene un espacio en blanco al inicio o al final", "Username must not consist of dots only" : "El usuario no debe consistir de solo puntos. ", - "A valid password must be provided" : "Se debe proporcionar una contraseña válida", - "The username is already being used" : "Ese usuario ya está en uso", - "Could not create user" : "No fue posible crear el usuario", "User disabled" : "Usuario deshabilitado", "Login canceled by app" : "Inicio de sesión cancelado por la aplicación", "a safe home for all your data" : "un lugar seguro para todos tus datos", diff --git a/lib/l10n/es_MX.json b/lib/l10n/es_MX.json index 415cb89068a4c..2f9a6c69540bc 100644 --- a/lib/l10n/es_MX.json +++ b/lib/l10n/es_MX.json @@ -132,13 +132,13 @@ "Oct." : "Oct.", "Nov." : "Nov.", "Dec." : "Dic.", + "A valid password must be provided" : "Se debe proporcionar una contraseña válida", + "The username is already being used" : "Ese usuario ya está en uso", + "Could not create user" : "No fue posible crear el usuario", "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Sólo se permiten los siguientes caracteres en el usuario: \"a-z\", \"A-Z\", \"0-9\" y \"_.@-'\"", "A valid username must be provided" : "Debes proporcionar un nombre de usuario válido", "Username contains whitespace at the beginning or at the end" : "El usuario contiene un espacio en blanco al inicio o al final", "Username must not consist of dots only" : "El usuario no debe consistir de solo puntos. ", - "A valid password must be provided" : "Se debe proporcionar una contraseña válida", - "The username is already being used" : "Ese usuario ya está en uso", - "Could not create user" : "No fue posible crear el usuario", "User disabled" : "Usuario deshabilitado", "Login canceled by app" : "Inicio de sesión cancelado por la aplicación", "a safe home for all your data" : "un lugar seguro para todos tus datos", diff --git a/lib/l10n/es_NI.js b/lib/l10n/es_NI.js index e639a37cb98e3..1d54c2700f354 100644 --- a/lib/l10n/es_NI.js +++ b/lib/l10n/es_NI.js @@ -133,13 +133,13 @@ OC.L10N.register( "Oct." : "Oct.", "Nov." : "Nov.", "Dec." : "Dic.", + "A valid password must be provided" : "Se debe proporcionar una contraseña válida", + "The username is already being used" : "Ese usuario ya está en uso", + "Could not create user" : "No fue posible crear el usuario", "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Sólo se permiten los siguientes caracteres en el usuario: \"a-z\", \"A-Z\", \"0-9\" y \"_.@-'\"", "A valid username must be provided" : "Debes proporcionar un nombre de usuario válido", "Username contains whitespace at the beginning or at the end" : "El usuario contiene un espacio en blanco al inicio o al final", "Username must not consist of dots only" : "El usuario no debe consistir de solo puntos. ", - "A valid password must be provided" : "Se debe proporcionar una contraseña válida", - "The username is already being used" : "Ese usuario ya está en uso", - "Could not create user" : "No fue posible crear el usuario", "User disabled" : "Usuario deshabilitado", "Login canceled by app" : "Inicio de sesión cancelado por la aplicación", "a safe home for all your data" : "un lugar seguro para todos tus datos", diff --git a/lib/l10n/es_NI.json b/lib/l10n/es_NI.json index e9e8968039e5c..be2822ac72943 100644 --- a/lib/l10n/es_NI.json +++ b/lib/l10n/es_NI.json @@ -131,13 +131,13 @@ "Oct." : "Oct.", "Nov." : "Nov.", "Dec." : "Dic.", + "A valid password must be provided" : "Se debe proporcionar una contraseña válida", + "The username is already being used" : "Ese usuario ya está en uso", + "Could not create user" : "No fue posible crear el usuario", "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Sólo se permiten los siguientes caracteres en el usuario: \"a-z\", \"A-Z\", \"0-9\" y \"_.@-'\"", "A valid username must be provided" : "Debes proporcionar un nombre de usuario válido", "Username contains whitespace at the beginning or at the end" : "El usuario contiene un espacio en blanco al inicio o al final", "Username must not consist of dots only" : "El usuario no debe consistir de solo puntos. ", - "A valid password must be provided" : "Se debe proporcionar una contraseña válida", - "The username is already being used" : "Ese usuario ya está en uso", - "Could not create user" : "No fue posible crear el usuario", "User disabled" : "Usuario deshabilitado", "Login canceled by app" : "Inicio de sesión cancelado por la aplicación", "a safe home for all your data" : "un lugar seguro para todos tus datos", diff --git a/lib/l10n/es_PA.js b/lib/l10n/es_PA.js index e9c5b6ab1b6d1..15f0051fbc8a8 100644 --- a/lib/l10n/es_PA.js +++ b/lib/l10n/es_PA.js @@ -133,13 +133,13 @@ OC.L10N.register( "Oct." : "Oct.", "Nov." : "Nov.", "Dec." : "Dic.", + "A valid password must be provided" : "Se debe proporcionar una contraseña válida", + "The username is already being used" : "Ese usuario ya está en uso", + "Could not create user" : "No fue posible crear el usuario", "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Sólo se permiten los siguientes caracteres en el usuario: \"a-z\", \"A-Z\", \"0-9\" y \"_.@-'\"", "A valid username must be provided" : "Debes proporcionar un nombre de usuario válido", "Username contains whitespace at the beginning or at the end" : "El usuario contiene un espacio en blanco al inicio o al final", "Username must not consist of dots only" : "El usuario no debe consistir de solo puntos. ", - "A valid password must be provided" : "Se debe proporcionar una contraseña válida", - "The username is already being used" : "Ese usuario ya está en uso", - "Could not create user" : "No fue posible crear el usuario", "User disabled" : "Usuario deshabilitado", "Login canceled by app" : "Inicio de sesión cancelado por la aplicación", "a safe home for all your data" : "un lugar seguro para todos tus datos", diff --git a/lib/l10n/es_PA.json b/lib/l10n/es_PA.json index 5e31e6d198d64..2dddd431a3310 100644 --- a/lib/l10n/es_PA.json +++ b/lib/l10n/es_PA.json @@ -131,13 +131,13 @@ "Oct." : "Oct.", "Nov." : "Nov.", "Dec." : "Dic.", + "A valid password must be provided" : "Se debe proporcionar una contraseña válida", + "The username is already being used" : "Ese usuario ya está en uso", + "Could not create user" : "No fue posible crear el usuario", "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Sólo se permiten los siguientes caracteres en el usuario: \"a-z\", \"A-Z\", \"0-9\" y \"_.@-'\"", "A valid username must be provided" : "Debes proporcionar un nombre de usuario válido", "Username contains whitespace at the beginning or at the end" : "El usuario contiene un espacio en blanco al inicio o al final", "Username must not consist of dots only" : "El usuario no debe consistir de solo puntos. ", - "A valid password must be provided" : "Se debe proporcionar una contraseña válida", - "The username is already being used" : "Ese usuario ya está en uso", - "Could not create user" : "No fue posible crear el usuario", "User disabled" : "Usuario deshabilitado", "Login canceled by app" : "Inicio de sesión cancelado por la aplicación", "a safe home for all your data" : "un lugar seguro para todos tus datos", diff --git a/lib/l10n/es_PE.js b/lib/l10n/es_PE.js index bdb97e0892ad2..37b25e67445bf 100644 --- a/lib/l10n/es_PE.js +++ b/lib/l10n/es_PE.js @@ -133,13 +133,13 @@ OC.L10N.register( "Oct." : "Oct.", "Nov." : "Nov.", "Dec." : "Dic.", + "A valid password must be provided" : "Se debe proporcionar una contraseña válida", + "The username is already being used" : "Ese usuario ya está en uso", + "Could not create user" : "No fue posible crear el usuario", "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Sólo se permiten los siguientes caracteres en el usuario: \"a-z\", \"A-Z\", \"0-9\" y \"_.@-'\"", "A valid username must be provided" : "Debes proporcionar un nombre de usuario válido", "Username contains whitespace at the beginning or at the end" : "El usuario contiene un espacio en blanco al inicio o al final", "Username must not consist of dots only" : "El usuario no debe consistir de solo puntos. ", - "A valid password must be provided" : "Se debe proporcionar una contraseña válida", - "The username is already being used" : "Ese usuario ya está en uso", - "Could not create user" : "No fue posible crear el usuario", "User disabled" : "Usuario deshabilitado", "Login canceled by app" : "Inicio de sesión cancelado por la aplicación", "a safe home for all your data" : "un lugar seguro para todos tus datos", diff --git a/lib/l10n/es_PE.json b/lib/l10n/es_PE.json index c95ccf33aed96..ec0f63847d544 100644 --- a/lib/l10n/es_PE.json +++ b/lib/l10n/es_PE.json @@ -131,13 +131,13 @@ "Oct." : "Oct.", "Nov." : "Nov.", "Dec." : "Dic.", + "A valid password must be provided" : "Se debe proporcionar una contraseña válida", + "The username is already being used" : "Ese usuario ya está en uso", + "Could not create user" : "No fue posible crear el usuario", "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Sólo se permiten los siguientes caracteres en el usuario: \"a-z\", \"A-Z\", \"0-9\" y \"_.@-'\"", "A valid username must be provided" : "Debes proporcionar un nombre de usuario válido", "Username contains whitespace at the beginning or at the end" : "El usuario contiene un espacio en blanco al inicio o al final", "Username must not consist of dots only" : "El usuario no debe consistir de solo puntos. ", - "A valid password must be provided" : "Se debe proporcionar una contraseña válida", - "The username is already being used" : "Ese usuario ya está en uso", - "Could not create user" : "No fue posible crear el usuario", "User disabled" : "Usuario deshabilitado", "Login canceled by app" : "Inicio de sesión cancelado por la aplicación", "a safe home for all your data" : "un lugar seguro para todos tus datos", diff --git a/lib/l10n/es_PR.js b/lib/l10n/es_PR.js index 391b8837ff637..859bbf19ee31b 100644 --- a/lib/l10n/es_PR.js +++ b/lib/l10n/es_PR.js @@ -133,13 +133,13 @@ OC.L10N.register( "Oct." : "Oct.", "Nov." : "Nov.", "Dec." : "Dic.", + "A valid password must be provided" : "Se debe proporcionar una contraseña válida", + "The username is already being used" : "Ese usuario ya está en uso", + "Could not create user" : "No fue posible crear el usuario", "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Sólo se permiten los siguientes caracteres en el usuario: \"a-z\", \"A-Z\", \"0-9\" y \"_.@-'\"", "A valid username must be provided" : "Debes proporcionar un nombre de usuario válido", "Username contains whitespace at the beginning or at the end" : "El usuario contiene un espacio en blanco al inicio o al final", "Username must not consist of dots only" : "El usuario no debe consistir de solo puntos. ", - "A valid password must be provided" : "Se debe proporcionar una contraseña válida", - "The username is already being used" : "Ese usuario ya está en uso", - "Could not create user" : "No fue posible crear el usuario", "User disabled" : "Usuario deshabilitado", "Login canceled by app" : "Inicio de sesión cancelado por la aplicación", "a safe home for all your data" : "un lugar seguro para todos tus datos", diff --git a/lib/l10n/es_PR.json b/lib/l10n/es_PR.json index a0067388313fc..213ae26ce33fd 100644 --- a/lib/l10n/es_PR.json +++ b/lib/l10n/es_PR.json @@ -131,13 +131,13 @@ "Oct." : "Oct.", "Nov." : "Nov.", "Dec." : "Dic.", + "A valid password must be provided" : "Se debe proporcionar una contraseña válida", + "The username is already being used" : "Ese usuario ya está en uso", + "Could not create user" : "No fue posible crear el usuario", "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Sólo se permiten los siguientes caracteres en el usuario: \"a-z\", \"A-Z\", \"0-9\" y \"_.@-'\"", "A valid username must be provided" : "Debes proporcionar un nombre de usuario válido", "Username contains whitespace at the beginning or at the end" : "El usuario contiene un espacio en blanco al inicio o al final", "Username must not consist of dots only" : "El usuario no debe consistir de solo puntos. ", - "A valid password must be provided" : "Se debe proporcionar una contraseña válida", - "The username is already being used" : "Ese usuario ya está en uso", - "Could not create user" : "No fue posible crear el usuario", "User disabled" : "Usuario deshabilitado", "Login canceled by app" : "Inicio de sesión cancelado por la aplicación", "a safe home for all your data" : "un lugar seguro para todos tus datos", diff --git a/lib/l10n/es_PY.js b/lib/l10n/es_PY.js index 139a7d6a58af2..1f79c02aa05aa 100644 --- a/lib/l10n/es_PY.js +++ b/lib/l10n/es_PY.js @@ -133,13 +133,13 @@ OC.L10N.register( "Oct." : "Oct.", "Nov." : "Nov.", "Dec." : "Dic.", + "A valid password must be provided" : "Se debe proporcionar una contraseña válida", + "The username is already being used" : "Ese usuario ya está en uso", + "Could not create user" : "No fue posible crear el usuario", "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Sólo se permiten los siguientes caracteres en el usuario: \"a-z\", \"A-Z\", \"0-9\" y \"_.@-'\"", "A valid username must be provided" : "Debes proporcionar un nombre de usuario válido", "Username contains whitespace at the beginning or at the end" : "El usuario contiene un espacio en blanco al inicio o al final", "Username must not consist of dots only" : "El usuario no debe consistir de solo puntos. ", - "A valid password must be provided" : "Se debe proporcionar una contraseña válida", - "The username is already being used" : "Ese usuario ya está en uso", - "Could not create user" : "No fue posible crear el usuario", "User disabled" : "Usuario deshabilitado", "Login canceled by app" : "Inicio de sesión cancelado por la aplicación", "a safe home for all your data" : "un lugar seguro para todos tus datos", diff --git a/lib/l10n/es_PY.json b/lib/l10n/es_PY.json index a9d3c8a259fcb..1f19891f6d2cb 100644 --- a/lib/l10n/es_PY.json +++ b/lib/l10n/es_PY.json @@ -131,13 +131,13 @@ "Oct." : "Oct.", "Nov." : "Nov.", "Dec." : "Dic.", + "A valid password must be provided" : "Se debe proporcionar una contraseña válida", + "The username is already being used" : "Ese usuario ya está en uso", + "Could not create user" : "No fue posible crear el usuario", "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Sólo se permiten los siguientes caracteres en el usuario: \"a-z\", \"A-Z\", \"0-9\" y \"_.@-'\"", "A valid username must be provided" : "Debes proporcionar un nombre de usuario válido", "Username contains whitespace at the beginning or at the end" : "El usuario contiene un espacio en blanco al inicio o al final", "Username must not consist of dots only" : "El usuario no debe consistir de solo puntos. ", - "A valid password must be provided" : "Se debe proporcionar una contraseña válida", - "The username is already being used" : "Ese usuario ya está en uso", - "Could not create user" : "No fue posible crear el usuario", "User disabled" : "Usuario deshabilitado", "Login canceled by app" : "Inicio de sesión cancelado por la aplicación", "a safe home for all your data" : "un lugar seguro para todos tus datos", diff --git a/lib/l10n/es_SV.js b/lib/l10n/es_SV.js index 36ad2310edb52..2dcb68b351713 100644 --- a/lib/l10n/es_SV.js +++ b/lib/l10n/es_SV.js @@ -134,13 +134,13 @@ OC.L10N.register( "Oct." : "Oct.", "Nov." : "Nov.", "Dec." : "Dic.", + "A valid password must be provided" : "Se debe proporcionar una contraseña válida", + "The username is already being used" : "Ese usuario ya está en uso", + "Could not create user" : "No fue posible crear el usuario", "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Sólo se permiten los siguientes caracteres en el usuario: \"a-z\", \"A-Z\", \"0-9\" y \"_.@-'\"", "A valid username must be provided" : "Debes proporcionar un nombre de usuario válido", "Username contains whitespace at the beginning or at the end" : "El usuario contiene un espacio en blanco al inicio o al final", "Username must not consist of dots only" : "El usuario no debe consistir de solo puntos. ", - "A valid password must be provided" : "Se debe proporcionar una contraseña válida", - "The username is already being used" : "Ese usuario ya está en uso", - "Could not create user" : "No fue posible crear el usuario", "User disabled" : "Usuario deshabilitado", "Login canceled by app" : "Inicio de sesión cancelado por la aplicación", "a safe home for all your data" : "un lugar seguro para todos tus datos", diff --git a/lib/l10n/es_SV.json b/lib/l10n/es_SV.json index c279b2f00db2d..53874c95a548a 100644 --- a/lib/l10n/es_SV.json +++ b/lib/l10n/es_SV.json @@ -132,13 +132,13 @@ "Oct." : "Oct.", "Nov." : "Nov.", "Dec." : "Dic.", + "A valid password must be provided" : "Se debe proporcionar una contraseña válida", + "The username is already being used" : "Ese usuario ya está en uso", + "Could not create user" : "No fue posible crear el usuario", "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Sólo se permiten los siguientes caracteres en el usuario: \"a-z\", \"A-Z\", \"0-9\" y \"_.@-'\"", "A valid username must be provided" : "Debes proporcionar un nombre de usuario válido", "Username contains whitespace at the beginning or at the end" : "El usuario contiene un espacio en blanco al inicio o al final", "Username must not consist of dots only" : "El usuario no debe consistir de solo puntos. ", - "A valid password must be provided" : "Se debe proporcionar una contraseña válida", - "The username is already being used" : "Ese usuario ya está en uso", - "Could not create user" : "No fue posible crear el usuario", "User disabled" : "Usuario deshabilitado", "Login canceled by app" : "Inicio de sesión cancelado por la aplicación", "a safe home for all your data" : "un lugar seguro para todos tus datos", diff --git a/lib/l10n/es_UY.js b/lib/l10n/es_UY.js index 83d536be953b7..53efed21d1f9a 100644 --- a/lib/l10n/es_UY.js +++ b/lib/l10n/es_UY.js @@ -133,13 +133,13 @@ OC.L10N.register( "Oct." : "Oct.", "Nov." : "Nov.", "Dec." : "Dic.", + "A valid password must be provided" : "Se debe proporcionar una contraseña válida", + "The username is already being used" : "Ese usuario ya está en uso", + "Could not create user" : "No fue posible crear el usuario", "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Sólo se permiten los siguientes caracteres en el usuario: \"a-z\", \"A-Z\", \"0-9\" y \"_.@-'\"", "A valid username must be provided" : "Debes proporcionar un nombre de usuario válido", "Username contains whitespace at the beginning or at the end" : "El usuario contiene un espacio en blanco al inicio o al final", "Username must not consist of dots only" : "El usuario no debe consistir de solo puntos. ", - "A valid password must be provided" : "Se debe proporcionar una contraseña válida", - "The username is already being used" : "Ese usuario ya está en uso", - "Could not create user" : "No fue posible crear el usuario", "User disabled" : "Usuario deshabilitado", "Login canceled by app" : "Inicio de sesión cancelado por la aplicación", "a safe home for all your data" : "un lugar seguro para todos tus datos", diff --git a/lib/l10n/es_UY.json b/lib/l10n/es_UY.json index 9edd18ada239e..affb6f8d0176d 100644 --- a/lib/l10n/es_UY.json +++ b/lib/l10n/es_UY.json @@ -131,13 +131,13 @@ "Oct." : "Oct.", "Nov." : "Nov.", "Dec." : "Dic.", + "A valid password must be provided" : "Se debe proporcionar una contraseña válida", + "The username is already being used" : "Ese usuario ya está en uso", + "Could not create user" : "No fue posible crear el usuario", "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Sólo se permiten los siguientes caracteres en el usuario: \"a-z\", \"A-Z\", \"0-9\" y \"_.@-'\"", "A valid username must be provided" : "Debes proporcionar un nombre de usuario válido", "Username contains whitespace at the beginning or at the end" : "El usuario contiene un espacio en blanco al inicio o al final", "Username must not consist of dots only" : "El usuario no debe consistir de solo puntos. ", - "A valid password must be provided" : "Se debe proporcionar una contraseña válida", - "The username is already being used" : "Ese usuario ya está en uso", - "Could not create user" : "No fue posible crear el usuario", "User disabled" : "Usuario deshabilitado", "Login canceled by app" : "Inicio de sesión cancelado por la aplicación", "a safe home for all your data" : "un lugar seguro para todos tus datos", diff --git a/lib/l10n/et_EE.js b/lib/l10n/et_EE.js index e61b94a20da00..6147eb38ccfa1 100644 --- a/lib/l10n/et_EE.js +++ b/lib/l10n/et_EE.js @@ -117,13 +117,13 @@ OC.L10N.register( "Oct." : "Okt.", "Nov." : "Nov.", "Dec." : "Dets.", + "A valid password must be provided" : "Sisesta nõuetele vastav parool", + "The username is already being used" : "Kasutajanimi on juba kasutuses", + "Could not create user" : "Ei saanud kasutajat luua", "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Kasutajanimes on lubatud ainult järgmised sümbolid: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"", "A valid username must be provided" : "Sisesta nõuetele vastav kasutajatunnus", "Username contains whitespace at the beginning or at the end" : "Kasutajanime alguses või lõpus on tühik", "Username must not consist of dots only" : "Kasutajanimi ei tohi koosneda ainult punktidest", - "A valid password must be provided" : "Sisesta nõuetele vastav parool", - "The username is already being used" : "Kasutajanimi on juba kasutuses", - "Could not create user" : "Ei saanud kasutajat luua", "User disabled" : "Kasutaja deaktiveeritud", "a safe home for all your data" : "turvaline koht sinu andmetele", "File is currently busy, please try again later" : "Fail on hetkel kasutuses, proovi hiljem uuesti", diff --git a/lib/l10n/et_EE.json b/lib/l10n/et_EE.json index 6bd088afc55fd..c9dc07c86c48b 100644 --- a/lib/l10n/et_EE.json +++ b/lib/l10n/et_EE.json @@ -115,13 +115,13 @@ "Oct." : "Okt.", "Nov." : "Nov.", "Dec." : "Dets.", + "A valid password must be provided" : "Sisesta nõuetele vastav parool", + "The username is already being used" : "Kasutajanimi on juba kasutuses", + "Could not create user" : "Ei saanud kasutajat luua", "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Kasutajanimes on lubatud ainult järgmised sümbolid: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"", "A valid username must be provided" : "Sisesta nõuetele vastav kasutajatunnus", "Username contains whitespace at the beginning or at the end" : "Kasutajanime alguses või lõpus on tühik", "Username must not consist of dots only" : "Kasutajanimi ei tohi koosneda ainult punktidest", - "A valid password must be provided" : "Sisesta nõuetele vastav parool", - "The username is already being used" : "Kasutajanimi on juba kasutuses", - "Could not create user" : "Ei saanud kasutajat luua", "User disabled" : "Kasutaja deaktiveeritud", "a safe home for all your data" : "turvaline koht sinu andmetele", "File is currently busy, please try again later" : "Fail on hetkel kasutuses, proovi hiljem uuesti", diff --git a/lib/l10n/eu.js b/lib/l10n/eu.js index 89aa9a14b07fb..d3aac44cca85b 100644 --- a/lib/l10n/eu.js +++ b/lib/l10n/eu.js @@ -195,14 +195,14 @@ OC.L10N.register( "Oct." : "Urr.", "Nov." : "Aza.", "Dec." : "Abe.", + "A valid password must be provided" : "Baliozko pasahitza eman behar da", + "The username is already being used" : "Erabiltzaile izena dagoeneko erabiltzen ari da", + "Could not create user" : "Ezin izan da erabiltzailea sortu", "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Erabiltzaile-izenean karaktere hauek soilik erabili daitezke: \"a-z\", \"A-Z\", \"0-9\", eta \"_.@-'\"", "A valid username must be provided" : "Baliozko erabiltzaile izena eman behar da", "Username contains whitespace at the beginning or at the end" : "Erabiltzaile-izenak zuriuneren bat du hasieran edo amaieran", "Username must not consist of dots only" : "Erabiltzaile-izena ezin da puntuz osatuta soilik egon", "Username is invalid because files already exist for this user" : "Erabiltzaile-izena ez da baliozkoa fitxategiak erabiltzaile honentzat existitzen direlako dagoeneko", - "A valid password must be provided" : "Baliozko pasahitza eman behar da", - "The username is already being used" : "Erabiltzaile izena dagoeneko erabiltzen ari da", - "Could not create user" : "Ezin izan da erabiltzailea sortu", "User disabled" : "Erabiltzaile desgaituta", "Login canceled by app" : "Aplikazioa saioa bertan behera utzi du", "App \"%1$s\" cannot be installed because the following dependencies are not fulfilled: %2$s" : "\"%1$s\" aplikazioa ezin da instalatu, menpekotasun hauek betetzen ez direlako:%2$s", diff --git a/lib/l10n/eu.json b/lib/l10n/eu.json index 1e2e7f522dddc..42c87d606603a 100644 --- a/lib/l10n/eu.json +++ b/lib/l10n/eu.json @@ -193,14 +193,14 @@ "Oct." : "Urr.", "Nov." : "Aza.", "Dec." : "Abe.", + "A valid password must be provided" : "Baliozko pasahitza eman behar da", + "The username is already being used" : "Erabiltzaile izena dagoeneko erabiltzen ari da", + "Could not create user" : "Ezin izan da erabiltzailea sortu", "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Erabiltzaile-izenean karaktere hauek soilik erabili daitezke: \"a-z\", \"A-Z\", \"0-9\", eta \"_.@-'\"", "A valid username must be provided" : "Baliozko erabiltzaile izena eman behar da", "Username contains whitespace at the beginning or at the end" : "Erabiltzaile-izenak zuriuneren bat du hasieran edo amaieran", "Username must not consist of dots only" : "Erabiltzaile-izena ezin da puntuz osatuta soilik egon", "Username is invalid because files already exist for this user" : "Erabiltzaile-izena ez da baliozkoa fitxategiak erabiltzaile honentzat existitzen direlako dagoeneko", - "A valid password must be provided" : "Baliozko pasahitza eman behar da", - "The username is already being used" : "Erabiltzaile izena dagoeneko erabiltzen ari da", - "Could not create user" : "Ezin izan da erabiltzailea sortu", "User disabled" : "Erabiltzaile desgaituta", "Login canceled by app" : "Aplikazioa saioa bertan behera utzi du", "App \"%1$s\" cannot be installed because the following dependencies are not fulfilled: %2$s" : "\"%1$s\" aplikazioa ezin da instalatu, menpekotasun hauek betetzen ez direlako:%2$s", diff --git a/lib/l10n/fa.js b/lib/l10n/fa.js index 2f27d4cada8cf..e1e9c89ec8843 100644 --- a/lib/l10n/fa.js +++ b/lib/l10n/fa.js @@ -179,13 +179,13 @@ OC.L10N.register( "Oct." : "اکت.", "Nov." : "نو.", "Dec." : "دس.", + "A valid password must be provided" : "رمز عبور صحیح باید وارد شود", + "The username is already being used" : "نام‌کاربری قبلا استفاده شده است", + "Could not create user" : "نتواسنت کاربر را ایجاد کند", "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "تنها نویسه‌ها زیر در نام کاربری مجازند: \"a-z\" ، \"A-Z\" ، \"0-9\" و \"_. @ - '\"", "A valid username must be provided" : "نام کاربری صحیح باید وارد شود", "Username contains whitespace at the beginning or at the end" : "نام کاربری دارای فضای سفید در ابتدا یا انتهای آن است", "Username must not consist of dots only" : "نام کاربری نباید فقط از نقاط تشکیل شده باشد", - "A valid password must be provided" : "رمز عبور صحیح باید وارد شود", - "The username is already being used" : "نام‌کاربری قبلا استفاده شده است", - "Could not create user" : "نتواسنت کاربر را ایجاد کند", "User disabled" : "کاربر از کار افتاده", "Login canceled by app" : "ورود به دست کاره لغو شد", "App \"%1$s\" cannot be installed because the following dependencies are not fulfilled: %2$s" : "کارهٔ «%1$s» نمی‌تواند نصب شود؛ چرا که وابستگی زیر تأمین نشده: %2$s", diff --git a/lib/l10n/fa.json b/lib/l10n/fa.json index 3f0084ef89617..c3176b9ae8022 100644 --- a/lib/l10n/fa.json +++ b/lib/l10n/fa.json @@ -177,13 +177,13 @@ "Oct." : "اکت.", "Nov." : "نو.", "Dec." : "دس.", + "A valid password must be provided" : "رمز عبور صحیح باید وارد شود", + "The username is already being used" : "نام‌کاربری قبلا استفاده شده است", + "Could not create user" : "نتواسنت کاربر را ایجاد کند", "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "تنها نویسه‌ها زیر در نام کاربری مجازند: \"a-z\" ، \"A-Z\" ، \"0-9\" و \"_. @ - '\"", "A valid username must be provided" : "نام کاربری صحیح باید وارد شود", "Username contains whitespace at the beginning or at the end" : "نام کاربری دارای فضای سفید در ابتدا یا انتهای آن است", "Username must not consist of dots only" : "نام کاربری نباید فقط از نقاط تشکیل شده باشد", - "A valid password must be provided" : "رمز عبور صحیح باید وارد شود", - "The username is already being used" : "نام‌کاربری قبلا استفاده شده است", - "Could not create user" : "نتواسنت کاربر را ایجاد کند", "User disabled" : "کاربر از کار افتاده", "Login canceled by app" : "ورود به دست کاره لغو شد", "App \"%1$s\" cannot be installed because the following dependencies are not fulfilled: %2$s" : "کارهٔ «%1$s» نمی‌تواند نصب شود؛ چرا که وابستگی زیر تأمین نشده: %2$s", diff --git a/lib/l10n/fi.js b/lib/l10n/fi.js index 54b8a78c0c223..2bf240365ae79 100644 --- a/lib/l10n/fi.js +++ b/lib/l10n/fi.js @@ -180,14 +180,14 @@ OC.L10N.register( "Oct." : "Loka", "Nov." : "Marras", "Dec." : "Joulu", + "A valid password must be provided" : "Anna kelvollinen salasana", + "The username is already being used" : "Käyttäjätunnus on jo käytössä", + "Could not create user" : "Ei voitu luoda käyttäjää", "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Vain seuraavat merkit ovat sallittuja käyttäjätunnuksessa: \"a-z\", \"A-Z\", \"0-9\" ja \"_.@-'\"", "A valid username must be provided" : "Anna kelvollinen käyttäjätunnus", "Username contains whitespace at the beginning or at the end" : "Käyttäjätunnus sisältää tyhjätilaa joko alussa tai lopussa", "Username must not consist of dots only" : "Käyttäjänimi ei voi koostua vain pisteistä", "Username is invalid because files already exist for this user" : "Käyttäjänimi on virheellinen koska tiedostoja on olemassa tälle käyttäjälle", - "A valid password must be provided" : "Anna kelvollinen salasana", - "The username is already being used" : "Käyttäjätunnus on jo käytössä", - "Could not create user" : "Ei voitu luoda käyttäjää", "User disabled" : "Käyttäjä poistettu käytöstä", "Login canceled by app" : "Kirjautuminen peruttiin sovelluksen toimesta", "App \"%1$s\" cannot be installed because the following dependencies are not fulfilled: %2$s" : "Sovellusta \"%1$s\" ei voi asentaa, koska seuraavat riippuvuudet eivät täyty: %2$s", diff --git a/lib/l10n/fi.json b/lib/l10n/fi.json index 43d4b393f05b6..4222a1c4d2114 100644 --- a/lib/l10n/fi.json +++ b/lib/l10n/fi.json @@ -178,14 +178,14 @@ "Oct." : "Loka", "Nov." : "Marras", "Dec." : "Joulu", + "A valid password must be provided" : "Anna kelvollinen salasana", + "The username is already being used" : "Käyttäjätunnus on jo käytössä", + "Could not create user" : "Ei voitu luoda käyttäjää", "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Vain seuraavat merkit ovat sallittuja käyttäjätunnuksessa: \"a-z\", \"A-Z\", \"0-9\" ja \"_.@-'\"", "A valid username must be provided" : "Anna kelvollinen käyttäjätunnus", "Username contains whitespace at the beginning or at the end" : "Käyttäjätunnus sisältää tyhjätilaa joko alussa tai lopussa", "Username must not consist of dots only" : "Käyttäjänimi ei voi koostua vain pisteistä", "Username is invalid because files already exist for this user" : "Käyttäjänimi on virheellinen koska tiedostoja on olemassa tälle käyttäjälle", - "A valid password must be provided" : "Anna kelvollinen salasana", - "The username is already being used" : "Käyttäjätunnus on jo käytössä", - "Could not create user" : "Ei voitu luoda käyttäjää", "User disabled" : "Käyttäjä poistettu käytöstä", "Login canceled by app" : "Kirjautuminen peruttiin sovelluksen toimesta", "App \"%1$s\" cannot be installed because the following dependencies are not fulfilled: %2$s" : "Sovellusta \"%1$s\" ei voi asentaa, koska seuraavat riippuvuudet eivät täyty: %2$s", diff --git a/lib/l10n/fr.js b/lib/l10n/fr.js index 0183131615f4d..243a5b5bc7757 100644 --- a/lib/l10n/fr.js +++ b/lib/l10n/fr.js @@ -201,14 +201,14 @@ OC.L10N.register( "Oct." : "Oct.", "Nov." : "Nov.", "Dec." : "Déc.", + "A valid password must be provided" : "Un mot de passe valide doit être saisi", + "The username is already being used" : "Ce nom d'utilisateur est déjà utilisé", + "Could not create user" : "Impossible de créer l'utilisateur", "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Seuls les caractères suivants sont autorisés dans un nom d'utilisateur : \"a-z\", \"A-Z\", \"0-9\", \"_@-\" et \".\" (le point)", "A valid username must be provided" : "Un nom d'utilisateur valide doit être saisi", "Username contains whitespace at the beginning or at the end" : "Le nom d'utilisateur contient des espaces au début ou à la fin", "Username must not consist of dots only" : "Le nom d'utilisateur ne doit pas être composé uniquement de points", "Username is invalid because files already exist for this user" : "Ce nom d'utilisateur n'est pas valide car des fichiers existent déjà pour cet utilisateur", - "A valid password must be provided" : "Un mot de passe valide doit être saisi", - "The username is already being used" : "Ce nom d'utilisateur est déjà utilisé", - "Could not create user" : "Impossible de créer l'utilisateur", "User disabled" : "Utilisateur désactivé", "Login canceled by app" : "L'authentification a été annulé par l'application", "App \"%1$s\" cannot be installed because the following dependencies are not fulfilled: %2$s" : "L'application \"%1$s\" ne peut pas être installée à cause des dépendances suivantes non satisfaites : %2$s", diff --git a/lib/l10n/fr.json b/lib/l10n/fr.json index 342ea319ec943..6fc2ebf0c8585 100644 --- a/lib/l10n/fr.json +++ b/lib/l10n/fr.json @@ -199,14 +199,14 @@ "Oct." : "Oct.", "Nov." : "Nov.", "Dec." : "Déc.", + "A valid password must be provided" : "Un mot de passe valide doit être saisi", + "The username is already being used" : "Ce nom d'utilisateur est déjà utilisé", + "Could not create user" : "Impossible de créer l'utilisateur", "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Seuls les caractères suivants sont autorisés dans un nom d'utilisateur : \"a-z\", \"A-Z\", \"0-9\", \"_@-\" et \".\" (le point)", "A valid username must be provided" : "Un nom d'utilisateur valide doit être saisi", "Username contains whitespace at the beginning or at the end" : "Le nom d'utilisateur contient des espaces au début ou à la fin", "Username must not consist of dots only" : "Le nom d'utilisateur ne doit pas être composé uniquement de points", "Username is invalid because files already exist for this user" : "Ce nom d'utilisateur n'est pas valide car des fichiers existent déjà pour cet utilisateur", - "A valid password must be provided" : "Un mot de passe valide doit être saisi", - "The username is already being used" : "Ce nom d'utilisateur est déjà utilisé", - "Could not create user" : "Impossible de créer l'utilisateur", "User disabled" : "Utilisateur désactivé", "Login canceled by app" : "L'authentification a été annulé par l'application", "App \"%1$s\" cannot be installed because the following dependencies are not fulfilled: %2$s" : "L'application \"%1$s\" ne peut pas être installée à cause des dépendances suivantes non satisfaites : %2$s", diff --git a/lib/l10n/gl.js b/lib/l10n/gl.js index 07b892da0e3b0..fb04418ff115c 100644 --- a/lib/l10n/gl.js +++ b/lib/l10n/gl.js @@ -171,14 +171,14 @@ OC.L10N.register( "Oct." : "out.", "Nov." : "nov.", "Dec." : "dec.", + "A valid password must be provided" : "Debe fornecer un contrasinal", + "The username is already being used" : "Este nome de usuario xa está a ser usado", + "Could not create user" : "Non foi posíbel crear o usuario", "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Só os seguintes caracteres están permitidos nos nomes de usuario: «a-z», «A-Z», «0-9» e «_.@-'»", "A valid username must be provided" : "Debe fornecer un nome de usuario correcto", "Username contains whitespace at the beginning or at the end" : "O nome de usuario contén un espazo en branco no inicio ou no final", "Username must not consist of dots only" : "O nome de usuario non debe consistir só de puntos", "Username is invalid because files already exist for this user" : "O nome de usuario non é válido porque xa existen ficheiros para este usuario", - "A valid password must be provided" : "Debe fornecer un contrasinal", - "The username is already being used" : "Este nome de usuario xa está a ser usado", - "Could not create user" : "Non foi posíbel crear o usuario", "User disabled" : "Usuario desactivado", "Login canceled by app" : "Acceso cancelado pola aplicación", "App \"%1$s\" cannot be installed because the following dependencies are not fulfilled: %2$s" : "Non é posíbel instalar a aplicación «%1$s» por mor de non cumprirse as dependencias: %2$s", diff --git a/lib/l10n/gl.json b/lib/l10n/gl.json index a162f5ea19f18..a7805ec805bd6 100644 --- a/lib/l10n/gl.json +++ b/lib/l10n/gl.json @@ -169,14 +169,14 @@ "Oct." : "out.", "Nov." : "nov.", "Dec." : "dec.", + "A valid password must be provided" : "Debe fornecer un contrasinal", + "The username is already being used" : "Este nome de usuario xa está a ser usado", + "Could not create user" : "Non foi posíbel crear o usuario", "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Só os seguintes caracteres están permitidos nos nomes de usuario: «a-z», «A-Z», «0-9» e «_.@-'»", "A valid username must be provided" : "Debe fornecer un nome de usuario correcto", "Username contains whitespace at the beginning or at the end" : "O nome de usuario contén un espazo en branco no inicio ou no final", "Username must not consist of dots only" : "O nome de usuario non debe consistir só de puntos", "Username is invalid because files already exist for this user" : "O nome de usuario non é válido porque xa existen ficheiros para este usuario", - "A valid password must be provided" : "Debe fornecer un contrasinal", - "The username is already being used" : "Este nome de usuario xa está a ser usado", - "Could not create user" : "Non foi posíbel crear o usuario", "User disabled" : "Usuario desactivado", "Login canceled by app" : "Acceso cancelado pola aplicación", "App \"%1$s\" cannot be installed because the following dependencies are not fulfilled: %2$s" : "Non é posíbel instalar a aplicación «%1$s» por mor de non cumprirse as dependencias: %2$s", diff --git a/lib/l10n/he.js b/lib/l10n/he.js index e8fab819cc163..47d3f29c74bd0 100644 --- a/lib/l10n/he.js +++ b/lib/l10n/he.js @@ -143,14 +143,14 @@ OC.L10N.register( "Oct." : "אוק׳", "Nov." : "נוב׳", "Dec." : "דצמ׳", + "A valid password must be provided" : "יש לספק ססמה תקנית", + "The username is already being used" : "השם משתמש כבר בשימוש", + "Could not create user" : "לא ניתן ליצור משתמש", "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "רק התווים הבאים מאושרים לשם משתמש: \"a-z\", \"A-Z\", \"0-9\", וגם \"_.@-'\"", "A valid username must be provided" : "יש לספק שם משתמש תקני", "Username contains whitespace at the beginning or at the end" : "שם המשתמש מכיל רווח בתחילתו או בסופו", "Username must not consist of dots only" : "שם המשתמש לא יכול להיות מורכב מנקודות בלבד", "Username is invalid because files already exist for this user" : "שם המשתמש שגוי כיוון שכבר קיימים קבצים למשתמש הזה", - "A valid password must be provided" : "יש לספק ססמה תקנית", - "The username is already being used" : "השם משתמש כבר בשימוש", - "Could not create user" : "לא ניתן ליצור משתמש", "User disabled" : "משתמש מנוטרל", "Login canceled by app" : "התחברות בוטלה על ידי יישום", "a safe home for all your data" : "בית בטוח עבור כל המידע שלך", diff --git a/lib/l10n/he.json b/lib/l10n/he.json index a927eba8b8ef5..da967db538e2e 100644 --- a/lib/l10n/he.json +++ b/lib/l10n/he.json @@ -141,14 +141,14 @@ "Oct." : "אוק׳", "Nov." : "נוב׳", "Dec." : "דצמ׳", + "A valid password must be provided" : "יש לספק ססמה תקנית", + "The username is already being used" : "השם משתמש כבר בשימוש", + "Could not create user" : "לא ניתן ליצור משתמש", "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "רק התווים הבאים מאושרים לשם משתמש: \"a-z\", \"A-Z\", \"0-9\", וגם \"_.@-'\"", "A valid username must be provided" : "יש לספק שם משתמש תקני", "Username contains whitespace at the beginning or at the end" : "שם המשתמש מכיל רווח בתחילתו או בסופו", "Username must not consist of dots only" : "שם המשתמש לא יכול להיות מורכב מנקודות בלבד", "Username is invalid because files already exist for this user" : "שם המשתמש שגוי כיוון שכבר קיימים קבצים למשתמש הזה", - "A valid password must be provided" : "יש לספק ססמה תקנית", - "The username is already being used" : "השם משתמש כבר בשימוש", - "Could not create user" : "לא ניתן ליצור משתמש", "User disabled" : "משתמש מנוטרל", "Login canceled by app" : "התחברות בוטלה על ידי יישום", "a safe home for all your data" : "בית בטוח עבור כל המידע שלך", diff --git a/lib/l10n/hr.js b/lib/l10n/hr.js index 1f36f15831786..13fbe42955a8d 100644 --- a/lib/l10n/hr.js +++ b/lib/l10n/hr.js @@ -186,14 +186,14 @@ OC.L10N.register( "Oct." : "Lis.", "Nov." : "Stu.", "Dec." : "Pro.", + "A valid password must be provided" : "Nužno je navesti ispravnu zaporku", + "The username is already being used" : "Korisničko ime se već koristi", + "Could not create user" : "Nije moguće stvoriti korisnika", "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "U korisničkom imenu dopušteni su samo sljedeći znakovi: „a – z”, „A – Z”, „0 – 9” i „_.@-'”", "A valid username must be provided" : "Nužno je navesti ispravno korisničko ime", "Username contains whitespace at the beginning or at the end" : "Korisničko ime sadrži bijeli prostor na početku ili na kraju", "Username must not consist of dots only" : "Korisničko ime ne smije se sastojati samo od točkica", "Username is invalid because files already exist for this user" : "Korisničko ime je nevažeće jer već postoje datoteke za ovog korisnika", - "A valid password must be provided" : "Nužno je navesti ispravnu zaporku", - "The username is already being used" : "Korisničko ime se već koristi", - "Could not create user" : "Nije moguće stvoriti korisnika", "User disabled" : "Korisnik je onemogućen", "Login canceled by app" : "Prijava je otkazana putem aplikacije", "App \"%1$s\" cannot be installed because the following dependencies are not fulfilled: %2$s" : "Aplikaciju „%1$s” nije moguće instalirati jer nisu ispunjene sljedeće ovisnosti: %2$s", diff --git a/lib/l10n/hr.json b/lib/l10n/hr.json index 8c8f61aa316be..d9b468a770e8d 100644 --- a/lib/l10n/hr.json +++ b/lib/l10n/hr.json @@ -184,14 +184,14 @@ "Oct." : "Lis.", "Nov." : "Stu.", "Dec." : "Pro.", + "A valid password must be provided" : "Nužno je navesti ispravnu zaporku", + "The username is already being used" : "Korisničko ime se već koristi", + "Could not create user" : "Nije moguće stvoriti korisnika", "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "U korisničkom imenu dopušteni su samo sljedeći znakovi: „a – z”, „A – Z”, „0 – 9” i „_.@-'”", "A valid username must be provided" : "Nužno je navesti ispravno korisničko ime", "Username contains whitespace at the beginning or at the end" : "Korisničko ime sadrži bijeli prostor na početku ili na kraju", "Username must not consist of dots only" : "Korisničko ime ne smije se sastojati samo od točkica", "Username is invalid because files already exist for this user" : "Korisničko ime je nevažeće jer već postoje datoteke za ovog korisnika", - "A valid password must be provided" : "Nužno je navesti ispravnu zaporku", - "The username is already being used" : "Korisničko ime se već koristi", - "Could not create user" : "Nije moguće stvoriti korisnika", "User disabled" : "Korisnik je onemogućen", "Login canceled by app" : "Prijava je otkazana putem aplikacije", "App \"%1$s\" cannot be installed because the following dependencies are not fulfilled: %2$s" : "Aplikaciju „%1$s” nije moguće instalirati jer nisu ispunjene sljedeće ovisnosti: %2$s", diff --git a/lib/l10n/hu.js b/lib/l10n/hu.js index 1b59f8082f41d..3e1bc88b29c56 100644 --- a/lib/l10n/hu.js +++ b/lib/l10n/hu.js @@ -201,14 +201,14 @@ OC.L10N.register( "Oct." : "Okt.", "Nov." : "Nov.", "Dec." : "Dec.", + "A valid password must be provided" : "Érvényes jelszót kell megadnia", + "The username is already being used" : "Ez a felhasználónév már foglalt", + "Could not create user" : "Nem sikerült létrehozni a felhasználót", "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "A felhasználónévben csak a következő karakterek engedélyezettek: „a-z”, „A-Z”, „0-9”, és „_.@-'”", "A valid username must be provided" : "Érvényes felhasználónevet kell megadnia", "Username contains whitespace at the beginning or at the end" : "A felhasználónév szóközt tartalmaz az elején vagy a végén", "Username must not consist of dots only" : "A felhasználónév nem állhat csak pontokból", "Username is invalid because files already exist for this user" : "A felhasználónév érvénytelen, mert már vannak fájlok ehhez a felhasználóhoz", - "A valid password must be provided" : "Érvényes jelszót kell megadnia", - "The username is already being used" : "Ez a felhasználónév már foglalt", - "Could not create user" : "Nem sikerült létrehozni a felhasználót", "User disabled" : "Felhasználó letiltva", "Login canceled by app" : "Bejelentkezés megszakítva az alkalmazás által", "App \"%1$s\" cannot be installed because the following dependencies are not fulfilled: %2$s" : "A(z) „%1$s” alkalmazást nem lehet telepíteni, mert a következő függőségek nem teljesülnek: %2$s", diff --git a/lib/l10n/hu.json b/lib/l10n/hu.json index e0fd0fb0c1cf2..93cea209c11ff 100644 --- a/lib/l10n/hu.json +++ b/lib/l10n/hu.json @@ -199,14 +199,14 @@ "Oct." : "Okt.", "Nov." : "Nov.", "Dec." : "Dec.", + "A valid password must be provided" : "Érvényes jelszót kell megadnia", + "The username is already being used" : "Ez a felhasználónév már foglalt", + "Could not create user" : "Nem sikerült létrehozni a felhasználót", "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "A felhasználónévben csak a következő karakterek engedélyezettek: „a-z”, „A-Z”, „0-9”, és „_.@-'”", "A valid username must be provided" : "Érvényes felhasználónevet kell megadnia", "Username contains whitespace at the beginning or at the end" : "A felhasználónév szóközt tartalmaz az elején vagy a végén", "Username must not consist of dots only" : "A felhasználónév nem állhat csak pontokból", "Username is invalid because files already exist for this user" : "A felhasználónév érvénytelen, mert már vannak fájlok ehhez a felhasználóhoz", - "A valid password must be provided" : "Érvényes jelszót kell megadnia", - "The username is already being used" : "Ez a felhasználónév már foglalt", - "Could not create user" : "Nem sikerült létrehozni a felhasználót", "User disabled" : "Felhasználó letiltva", "Login canceled by app" : "Bejelentkezés megszakítva az alkalmazás által", "App \"%1$s\" cannot be installed because the following dependencies are not fulfilled: %2$s" : "A(z) „%1$s” alkalmazást nem lehet telepíteni, mert a következő függőségek nem teljesülnek: %2$s", diff --git a/lib/l10n/ia.js b/lib/l10n/ia.js index 8f03132793808..b8cb5167d4e05 100644 --- a/lib/l10n/ia.js +++ b/lib/l10n/ia.js @@ -64,8 +64,8 @@ OC.L10N.register( "Oct." : "Oct.", "Nov." : "Nov.", "Dec." : "Dec.", - "A valid username must be provided" : "Un nomine de usator valide debe esser providite", "A valid password must be provided" : "Un contrasigno valide debe esser providite", + "A valid username must be provided" : "Un nomine de usator valide debe esser providite", "Authentication error" : "Error in authentication", "Storage is temporarily not available" : "Immagazinage es provisorimente non disponibile" }, diff --git a/lib/l10n/ia.json b/lib/l10n/ia.json index 739cc6e7f544d..3731fc0ca719c 100644 --- a/lib/l10n/ia.json +++ b/lib/l10n/ia.json @@ -62,8 +62,8 @@ "Oct." : "Oct.", "Nov." : "Nov.", "Dec." : "Dec.", - "A valid username must be provided" : "Un nomine de usator valide debe esser providite", "A valid password must be provided" : "Un contrasigno valide debe esser providite", + "A valid username must be provided" : "Un nomine de usator valide debe esser providite", "Authentication error" : "Error in authentication", "Storage is temporarily not available" : "Immagazinage es provisorimente non disponibile" },"pluralForm" :"nplurals=2; plural=(n != 1);" diff --git a/lib/l10n/id.js b/lib/l10n/id.js index ec8318301f9c5..2a7c6669e1d13 100644 --- a/lib/l10n/id.js +++ b/lib/l10n/id.js @@ -112,11 +112,11 @@ OC.L10N.register( "Oct." : "Okt.", "Nov." : "Nov.", "Dec." : "Des.", + "A valid password must be provided" : "Tuliskan kata sandi yang valid", + "The username is already being used" : "Nama pengguna ini telah digunakan", "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Hanya karakter ini yang diizinkan dalam nama pengguna: \"a-z\", \"A-Z\", \"0-9\", dan \"_.@-'\"", "A valid username must be provided" : "Tuliskan nama pengguna yang valid", "Username contains whitespace at the beginning or at the end" : "Nama pengguna mengandung spasi di depan atau di belakang.", - "A valid password must be provided" : "Tuliskan kata sandi yang valid", - "The username is already being used" : "Nama pengguna ini telah digunakan", "User disabled" : "Pengguna dinonaktifkan", "Login canceled by app" : "Log masuk dibatalkan oleh aplikasi", "a safe home for all your data" : "rumah yang aman untuk semua datamu", diff --git a/lib/l10n/id.json b/lib/l10n/id.json index e76a0e159829b..5852b367d62d6 100644 --- a/lib/l10n/id.json +++ b/lib/l10n/id.json @@ -110,11 +110,11 @@ "Oct." : "Okt.", "Nov." : "Nov.", "Dec." : "Des.", + "A valid password must be provided" : "Tuliskan kata sandi yang valid", + "The username is already being used" : "Nama pengguna ini telah digunakan", "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Hanya karakter ini yang diizinkan dalam nama pengguna: \"a-z\", \"A-Z\", \"0-9\", dan \"_.@-'\"", "A valid username must be provided" : "Tuliskan nama pengguna yang valid", "Username contains whitespace at the beginning or at the end" : "Nama pengguna mengandung spasi di depan atau di belakang.", - "A valid password must be provided" : "Tuliskan kata sandi yang valid", - "The username is already being used" : "Nama pengguna ini telah digunakan", "User disabled" : "Pengguna dinonaktifkan", "Login canceled by app" : "Log masuk dibatalkan oleh aplikasi", "a safe home for all your data" : "rumah yang aman untuk semua datamu", diff --git a/lib/l10n/is.js b/lib/l10n/is.js index 82a5009394ca8..ca4b222f2e5a6 100644 --- a/lib/l10n/is.js +++ b/lib/l10n/is.js @@ -159,14 +159,14 @@ OC.L10N.register( "Oct." : "Okt.", "Nov." : "Nóv.", "Dec." : "Des.", + "A valid password must be provided" : "Skráðu inn gilt lykilorð", + "The username is already being used" : "Notandanafnið er þegar í notkun", + "Could not create user" : "Gat ekki búið til notanda", "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Einungis eru leyfilegir eftirfarandi stafir í notandanafni: \"a-z\", \"A-Z\", \"0-9\", og \"_.@-'\"", "A valid username must be provided" : "Skráðu inn gilt notandanafn", "Username contains whitespace at the beginning or at the end" : "Notandanafnið inniheldur orðabil í upphafi eða enda", "Username must not consist of dots only" : "Notandanafn má ekki einungis samanstanda af punktum", "Username is invalid because files already exist for this user" : "Notandanafnið er ógilt vegna þess að þegar eru fyrir hendi skrár sem tilheyra þessum notanda", - "A valid password must be provided" : "Skráðu inn gilt lykilorð", - "The username is already being used" : "Notandanafnið er þegar í notkun", - "Could not create user" : "Gat ekki búið til notanda", "User disabled" : "Notandi óvirkur", "Login canceled by app" : "Forrit hætti við innskráningu", "App \"%1$s\" cannot be installed because the following dependencies are not fulfilled: %2$s" : "Ekki var hægt að setja upp \"%1$s\" forritið þar sem eftirfarandi kerfiskröfur eru ekki uppfylltar: %2$s", diff --git a/lib/l10n/is.json b/lib/l10n/is.json index a933a98719406..7176f24b09cf4 100644 --- a/lib/l10n/is.json +++ b/lib/l10n/is.json @@ -157,14 +157,14 @@ "Oct." : "Okt.", "Nov." : "Nóv.", "Dec." : "Des.", + "A valid password must be provided" : "Skráðu inn gilt lykilorð", + "The username is already being used" : "Notandanafnið er þegar í notkun", + "Could not create user" : "Gat ekki búið til notanda", "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Einungis eru leyfilegir eftirfarandi stafir í notandanafni: \"a-z\", \"A-Z\", \"0-9\", og \"_.@-'\"", "A valid username must be provided" : "Skráðu inn gilt notandanafn", "Username contains whitespace at the beginning or at the end" : "Notandanafnið inniheldur orðabil í upphafi eða enda", "Username must not consist of dots only" : "Notandanafn má ekki einungis samanstanda af punktum", "Username is invalid because files already exist for this user" : "Notandanafnið er ógilt vegna þess að þegar eru fyrir hendi skrár sem tilheyra þessum notanda", - "A valid password must be provided" : "Skráðu inn gilt lykilorð", - "The username is already being used" : "Notandanafnið er þegar í notkun", - "Could not create user" : "Gat ekki búið til notanda", "User disabled" : "Notandi óvirkur", "Login canceled by app" : "Forrit hætti við innskráningu", "App \"%1$s\" cannot be installed because the following dependencies are not fulfilled: %2$s" : "Ekki var hægt að setja upp \"%1$s\" forritið þar sem eftirfarandi kerfiskröfur eru ekki uppfylltar: %2$s", diff --git a/lib/l10n/it.js b/lib/l10n/it.js index 0cd7bbe451e4e..909dc6f766174 100644 --- a/lib/l10n/it.js +++ b/lib/l10n/it.js @@ -188,14 +188,14 @@ OC.L10N.register( "Oct." : "Ott.", "Nov." : "Nov.", "Dec." : "Dic.", + "A valid password must be provided" : "Deve essere fornita una password valida", + "The username is already being used" : "Il nome utente è già utilizzato", + "Could not create user" : "Impossibile creare l'utente", "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Solo i seguenti caratteri sono consentiti in un nome utente: \"a-z\", \"A-Z\", \"0-9\", e \"_.@-'\"", "A valid username must be provided" : "Deve essere fornito un nome utente valido", "Username contains whitespace at the beginning or at the end" : "Il nome utente contiene spazi all'inizio o alla fine", "Username must not consist of dots only" : "Il nome utente non può consistere di soli punti", "Username is invalid because files already exist for this user" : "Il nome utente non è valido poiché esiste già per questo utente", - "A valid password must be provided" : "Deve essere fornita una password valida", - "The username is already being used" : "Il nome utente è già utilizzato", - "Could not create user" : "Impossibile creare l'utente", "User disabled" : "Utente disabilitato", "Login canceled by app" : "Accesso annullato dall'applicazione", "App \"%1$s\" cannot be installed because the following dependencies are not fulfilled: %2$s" : "L'applicazione \"%1$s\" non può essere installata poiché le seguenti dipendenze non sono soddisfatte: %2$s", diff --git a/lib/l10n/it.json b/lib/l10n/it.json index 7d9fea18a1759..04907cc3548bf 100644 --- a/lib/l10n/it.json +++ b/lib/l10n/it.json @@ -186,14 +186,14 @@ "Oct." : "Ott.", "Nov." : "Nov.", "Dec." : "Dic.", + "A valid password must be provided" : "Deve essere fornita una password valida", + "The username is already being used" : "Il nome utente è già utilizzato", + "Could not create user" : "Impossibile creare l'utente", "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Solo i seguenti caratteri sono consentiti in un nome utente: \"a-z\", \"A-Z\", \"0-9\", e \"_.@-'\"", "A valid username must be provided" : "Deve essere fornito un nome utente valido", "Username contains whitespace at the beginning or at the end" : "Il nome utente contiene spazi all'inizio o alla fine", "Username must not consist of dots only" : "Il nome utente non può consistere di soli punti", "Username is invalid because files already exist for this user" : "Il nome utente non è valido poiché esiste già per questo utente", - "A valid password must be provided" : "Deve essere fornita una password valida", - "The username is already being used" : "Il nome utente è già utilizzato", - "Could not create user" : "Impossibile creare l'utente", "User disabled" : "Utente disabilitato", "Login canceled by app" : "Accesso annullato dall'applicazione", "App \"%1$s\" cannot be installed because the following dependencies are not fulfilled: %2$s" : "L'applicazione \"%1$s\" non può essere installata poiché le seguenti dipendenze non sono soddisfatte: %2$s", diff --git a/lib/l10n/ja.js b/lib/l10n/ja.js index ff3ce44ba423f..a2c375145a2fd 100644 --- a/lib/l10n/ja.js +++ b/lib/l10n/ja.js @@ -199,14 +199,14 @@ OC.L10N.register( "Oct." : "10月", "Nov." : "11月", "Dec." : "12月", + "A valid password must be provided" : "有効なパスワードを指定する必要があります", + "The username is already being used" : "このユーザー名はすでに使われています", + "Could not create user" : "ユーザーを作成できませんでした", "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "ユーザー名で利用できる文字列: \"a-z\", \"A-Z\", \"0-9\", \"_.@-\"", "A valid username must be provided" : "有効なユーザー名を指定する必要があります", "Username contains whitespace at the beginning or at the end" : "ユーザー名の最初か最後に空白が含まれています", "Username must not consist of dots only" : "ユーザー名に、ドットのみはつけられません", "Username is invalid because files already exist for this user" : "このユーザーのファイルが既に存在するため、このユーザー名は使用できません", - "A valid password must be provided" : "有効なパスワードを指定する必要があります", - "The username is already being used" : "このユーザー名はすでに使われています", - "Could not create user" : "ユーザーを作成できませんでした", "User disabled" : "ユーザーは無効です", "Login canceled by app" : "アプリによりログインが中止されました", "App \"%1$s\" cannot be installed because the following dependencies are not fulfilled: %2$s" : "次の依存関係を満たしていないため、アプリ \"%1$s\" をインストールできません: %2$s", diff --git a/lib/l10n/ja.json b/lib/l10n/ja.json index 7c1ee363beb36..4fbf3007d5487 100644 --- a/lib/l10n/ja.json +++ b/lib/l10n/ja.json @@ -197,14 +197,14 @@ "Oct." : "10月", "Nov." : "11月", "Dec." : "12月", + "A valid password must be provided" : "有効なパスワードを指定する必要があります", + "The username is already being used" : "このユーザー名はすでに使われています", + "Could not create user" : "ユーザーを作成できませんでした", "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "ユーザー名で利用できる文字列: \"a-z\", \"A-Z\", \"0-9\", \"_.@-\"", "A valid username must be provided" : "有効なユーザー名を指定する必要があります", "Username contains whitespace at the beginning or at the end" : "ユーザー名の最初か最後に空白が含まれています", "Username must not consist of dots only" : "ユーザー名に、ドットのみはつけられません", "Username is invalid because files already exist for this user" : "このユーザーのファイルが既に存在するため、このユーザー名は使用できません", - "A valid password must be provided" : "有効なパスワードを指定する必要があります", - "The username is already being used" : "このユーザー名はすでに使われています", - "Could not create user" : "ユーザーを作成できませんでした", "User disabled" : "ユーザーは無効です", "Login canceled by app" : "アプリによりログインが中止されました", "App \"%1$s\" cannot be installed because the following dependencies are not fulfilled: %2$s" : "次の依存関係を満たしていないため、アプリ \"%1$s\" をインストールできません: %2$s", diff --git a/lib/l10n/ka_GE.js b/lib/l10n/ka_GE.js index 80ee98d439c97..39d52830023b1 100644 --- a/lib/l10n/ka_GE.js +++ b/lib/l10n/ka_GE.js @@ -134,13 +134,13 @@ OC.L10N.register( "Oct." : "ოქტ.", "Nov." : "ნოე.", "Dec." : "დეკ.", + "A valid password must be provided" : "უნდა მიუთითოთ სწორი პაროლი", + "The username is already being used" : "ესეთი მომხმარებლის სახელი უკვე არსებობს", + "Could not create user" : "მომხმარებლის შექმნა ვერ მოხერხდა", "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "მომხმარებლის სახელში დაშვებულია მხოლოდ შემდეგი ნიშნები: \"a-z\", \"A-Z\", \"0-9\", და \"_.@-'\"", "A valid username must be provided" : "უნდა მიუთითოთ არსებული მომხმარებლის სახელი", "Username contains whitespace at the beginning or at the end" : "მომხმარებლის სახელი დასაწყისსში ან დასასრულში მოიცავს სიცარიელეს", "Username must not consist of dots only" : "მომხმარებლის სახელი ვერ იქნება შემდგარი მხოლოდ წერტილებისგან", - "A valid password must be provided" : "უნდა მიუთითოთ სწორი პაროლი", - "The username is already being used" : "ესეთი მომხმარებლის სახელი უკვე არსებობს", - "Could not create user" : "მომხმარებლის შექმნა ვერ მოხერხდა", "User disabled" : "მომხმარებელი გათიშულია", "Login canceled by app" : "აპლიკაციამ ლოგინი უარყო", "a safe home for all your data" : "უსაფრთხო სახლი მთელი თქვენი მონაცემებისათვის", diff --git a/lib/l10n/ka_GE.json b/lib/l10n/ka_GE.json index 0ce21635798eb..f760f1d762555 100644 --- a/lib/l10n/ka_GE.json +++ b/lib/l10n/ka_GE.json @@ -132,13 +132,13 @@ "Oct." : "ოქტ.", "Nov." : "ნოე.", "Dec." : "დეკ.", + "A valid password must be provided" : "უნდა მიუთითოთ სწორი პაროლი", + "The username is already being used" : "ესეთი მომხმარებლის სახელი უკვე არსებობს", + "Could not create user" : "მომხმარებლის შექმნა ვერ მოხერხდა", "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "მომხმარებლის სახელში დაშვებულია მხოლოდ შემდეგი ნიშნები: \"a-z\", \"A-Z\", \"0-9\", და \"_.@-'\"", "A valid username must be provided" : "უნდა მიუთითოთ არსებული მომხმარებლის სახელი", "Username contains whitespace at the beginning or at the end" : "მომხმარებლის სახელი დასაწყისსში ან დასასრულში მოიცავს სიცარიელეს", "Username must not consist of dots only" : "მომხმარებლის სახელი ვერ იქნება შემდგარი მხოლოდ წერტილებისგან", - "A valid password must be provided" : "უნდა მიუთითოთ სწორი პაროლი", - "The username is already being used" : "ესეთი მომხმარებლის სახელი უკვე არსებობს", - "Could not create user" : "მომხმარებლის შექმნა ვერ მოხერხდა", "User disabled" : "მომხმარებელი გათიშულია", "Login canceled by app" : "აპლიკაციამ ლოგინი უარყო", "a safe home for all your data" : "უსაფრთხო სახლი მთელი თქვენი მონაცემებისათვის", diff --git a/lib/l10n/km.js b/lib/l10n/km.js index 5b325acc2d62c..64153a7f458c7 100644 --- a/lib/l10n/km.js +++ b/lib/l10n/km.js @@ -65,8 +65,8 @@ OC.L10N.register( "Oct." : "តុលា", "Nov." : "វិច្ឆិកា", "Dec." : "ធ្នូ", - "A valid username must be provided" : "ត្រូវ​ផ្ដល់​ឈ្មោះ​អ្នក​ប្រើ​ឲ្យ​បាន​ត្រឹម​ត្រូវ", "A valid password must be provided" : "ត្រូវ​ផ្ដល់​ពាក្យ​សម្ងាត់​ឲ្យ​បាន​ត្រឹម​ត្រូវ", + "A valid username must be provided" : "ត្រូវ​ផ្ដល់​ឈ្មោះ​អ្នក​ប្រើ​ឲ្យ​បាន​ត្រឹម​ត្រូវ", "Application is not enabled" : "មិន​បាន​បើក​កម្មវិធី", "Authentication error" : "កំហុស​ការ​ផ្ទៀង​ផ្ទាត់​ភាព​ត្រឹម​ត្រូវ", "%s enter the database username." : "%s វាយ​បញ្ចូល​ឈ្មោះ​អ្នក​ប្រើ​មូលដ្ឋាន​ទិន្នន័យ។", diff --git a/lib/l10n/km.json b/lib/l10n/km.json index bb4d3a72fa9e1..0d29545f259e3 100644 --- a/lib/l10n/km.json +++ b/lib/l10n/km.json @@ -63,8 +63,8 @@ "Oct." : "តុលា", "Nov." : "វិច្ឆិកា", "Dec." : "ធ្នូ", - "A valid username must be provided" : "ត្រូវ​ផ្ដល់​ឈ្មោះ​អ្នក​ប្រើ​ឲ្យ​បាន​ត្រឹម​ត្រូវ", "A valid password must be provided" : "ត្រូវ​ផ្ដល់​ពាក្យ​សម្ងាត់​ឲ្យ​បាន​ត្រឹម​ត្រូវ", + "A valid username must be provided" : "ត្រូវ​ផ្ដល់​ឈ្មោះ​អ្នក​ប្រើ​ឲ្យ​បាន​ត្រឹម​ត្រូវ", "Application is not enabled" : "មិន​បាន​បើក​កម្មវិធី", "Authentication error" : "កំហុស​ការ​ផ្ទៀង​ផ្ទាត់​ភាព​ត្រឹម​ត្រូវ", "%s enter the database username." : "%s វាយ​បញ្ចូល​ឈ្មោះ​អ្នក​ប្រើ​មូលដ្ឋាន​ទិន្នន័យ។", diff --git a/lib/l10n/kn.js b/lib/l10n/kn.js index d55bdb95127a3..e542c240a6a59 100644 --- a/lib/l10n/kn.js +++ b/lib/l10n/kn.js @@ -30,8 +30,8 @@ OC.L10N.register( "October" : "ಅಕ್ಟೋಬರ್", "November" : "ನವೆಂಬರ್", "December" : "ಡಿಸೆಂಬರ್", - "A valid username must be provided" : "ಮಾನ್ಯ ಬಳಕೆದಾರ ಹೆಸರು ಒದಗಿಸಬೇಕಾಗುತ್ತದೆ", "A valid password must be provided" : "ಸರಿಯಾದ ಬಳಕೆದಾರ ಗುಪ್ತಪದ ಒದಗಿಸಬೇಕಾಗಿದೆ", + "A valid username must be provided" : "ಮಾನ್ಯ ಬಳಕೆದಾರ ಹೆಸರು ಒದಗಿಸಬೇಕಾಗುತ್ತದೆ", "Authentication error" : "ದೃಢೀಕರಣ ದೋಷ" }, "nplurals=2; plural=(n > 1);"); diff --git a/lib/l10n/kn.json b/lib/l10n/kn.json index 81cc787151d21..6251c7436ff24 100644 --- a/lib/l10n/kn.json +++ b/lib/l10n/kn.json @@ -28,8 +28,8 @@ "October" : "ಅಕ್ಟೋಬರ್", "November" : "ನವೆಂಬರ್", "December" : "ಡಿಸೆಂಬರ್", - "A valid username must be provided" : "ಮಾನ್ಯ ಬಳಕೆದಾರ ಹೆಸರು ಒದಗಿಸಬೇಕಾಗುತ್ತದೆ", "A valid password must be provided" : "ಸರಿಯಾದ ಬಳಕೆದಾರ ಗುಪ್ತಪದ ಒದಗಿಸಬೇಕಾಗಿದೆ", + "A valid username must be provided" : "ಮಾನ್ಯ ಬಳಕೆದಾರ ಹೆಸರು ಒದಗಿಸಬೇಕಾಗುತ್ತದೆ", "Authentication error" : "ದೃಢೀಕರಣ ದೋಷ" },"pluralForm" :"nplurals=2; plural=(n > 1);" } \ No newline at end of file diff --git a/lib/l10n/ko.js b/lib/l10n/ko.js index 39bbaead38192..b9566d6dbee42 100644 --- a/lib/l10n/ko.js +++ b/lib/l10n/ko.js @@ -152,14 +152,14 @@ OC.L10N.register( "Oct." : "10월", "Nov." : "11월", "Dec." : "12월", + "A valid password must be provided" : "올바른 암호를 입력해야 합니다", + "The username is already being used" : "사용자 이름이 이미 존재합니다", + "Could not create user" : "사용자를 만들 수 없습니다", "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "다음 문자만 이름에 사용할 수 있습니다: \"a-z\", \"A-Z\", \"0-9\", 및 \"_.@-'\"", "A valid username must be provided" : "올바른 사용자 이름을 입력해야 합니다", "Username contains whitespace at the beginning or at the end" : "사용자 이름의 시작이나 끝에 공백이 있습니다", "Username must not consist of dots only" : "사용자 이름에 마침표만 있으면 안 됩니다", "Username is invalid because files already exist for this user" : "무효한 사용자이름. 이미 존재함", - "A valid password must be provided" : "올바른 암호를 입력해야 합니다", - "The username is already being used" : "사용자 이름이 이미 존재합니다", - "Could not create user" : "사용자를 만들 수 없습니다", "User disabled" : "사용자 비활성화됨", "Login canceled by app" : "앱에서 로그인 취소함", "a safe home for all your data" : "내 모든 데이터의 안전한 저장소", diff --git a/lib/l10n/ko.json b/lib/l10n/ko.json index 7016588adf3fb..aa388767bd989 100644 --- a/lib/l10n/ko.json +++ b/lib/l10n/ko.json @@ -150,14 +150,14 @@ "Oct." : "10월", "Nov." : "11월", "Dec." : "12월", + "A valid password must be provided" : "올바른 암호를 입력해야 합니다", + "The username is already being used" : "사용자 이름이 이미 존재합니다", + "Could not create user" : "사용자를 만들 수 없습니다", "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "다음 문자만 이름에 사용할 수 있습니다: \"a-z\", \"A-Z\", \"0-9\", 및 \"_.@-'\"", "A valid username must be provided" : "올바른 사용자 이름을 입력해야 합니다", "Username contains whitespace at the beginning or at the end" : "사용자 이름의 시작이나 끝에 공백이 있습니다", "Username must not consist of dots only" : "사용자 이름에 마침표만 있으면 안 됩니다", "Username is invalid because files already exist for this user" : "무효한 사용자이름. 이미 존재함", - "A valid password must be provided" : "올바른 암호를 입력해야 합니다", - "The username is already being used" : "사용자 이름이 이미 존재합니다", - "Could not create user" : "사용자를 만들 수 없습니다", "User disabled" : "사용자 비활성화됨", "Login canceled by app" : "앱에서 로그인 취소함", "a safe home for all your data" : "내 모든 데이터의 안전한 저장소", diff --git a/lib/l10n/lt_LT.js b/lib/l10n/lt_LT.js index f9166ce4c6888..80c81ad9ca4fb 100644 --- a/lib/l10n/lt_LT.js +++ b/lib/l10n/lt_LT.js @@ -157,13 +157,13 @@ OC.L10N.register( "Oct." : "Spl.", "Nov." : "Lap.", "Dec." : "Grd.", + "A valid password must be provided" : "Slaptažodis turi būti tinkamas", + "The username is already being used" : "Naudotojo vardas jau yra naudojamas", + "Could not create user" : "Nepavyko sukurti naudotojo", "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Naudotojo varde leidžiama naudoti tik šiuos simbolius: „a-z“, „A-Z“, „0-9“, ir „_.@-'“", "A valid username must be provided" : "Privalo būti pateiktas tinkamas naudotojo vardas", "Username contains whitespace at the beginning or at the end" : "Naudotojo varde pradžioje ar pabaigoje yra tarpas", "Username must not consist of dots only" : "Naudotojo vardas negali būti sudarytas tik iš taškų.", - "A valid password must be provided" : "Slaptažodis turi būti tinkamas", - "The username is already being used" : "Naudotojo vardas jau yra naudojamas", - "Could not create user" : "Nepavyko sukurti naudotojo", "User disabled" : "Naudotojas išjungtas", "Login canceled by app" : "Programėlė nutraukė prisijungimo procesą", "App \"%1$s\" cannot be installed because the following dependencies are not fulfilled: %2$s" : "Programėlė \"%1$s\" negali būti įdiegta, nes nėra patenkinamos šios priklausomybės: %2$s", diff --git a/lib/l10n/lt_LT.json b/lib/l10n/lt_LT.json index 1a0271eec92ce..a5e37dbe986a5 100644 --- a/lib/l10n/lt_LT.json +++ b/lib/l10n/lt_LT.json @@ -155,13 +155,13 @@ "Oct." : "Spl.", "Nov." : "Lap.", "Dec." : "Grd.", + "A valid password must be provided" : "Slaptažodis turi būti tinkamas", + "The username is already being used" : "Naudotojo vardas jau yra naudojamas", + "Could not create user" : "Nepavyko sukurti naudotojo", "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Naudotojo varde leidžiama naudoti tik šiuos simbolius: „a-z“, „A-Z“, „0-9“, ir „_.@-'“", "A valid username must be provided" : "Privalo būti pateiktas tinkamas naudotojo vardas", "Username contains whitespace at the beginning or at the end" : "Naudotojo varde pradžioje ar pabaigoje yra tarpas", "Username must not consist of dots only" : "Naudotojo vardas negali būti sudarytas tik iš taškų.", - "A valid password must be provided" : "Slaptažodis turi būti tinkamas", - "The username is already being used" : "Naudotojo vardas jau yra naudojamas", - "Could not create user" : "Nepavyko sukurti naudotojo", "User disabled" : "Naudotojas išjungtas", "Login canceled by app" : "Programėlė nutraukė prisijungimo procesą", "App \"%1$s\" cannot be installed because the following dependencies are not fulfilled: %2$s" : "Programėlė \"%1$s\" negali būti įdiegta, nes nėra patenkinamos šios priklausomybės: %2$s", diff --git a/lib/l10n/lv.js b/lib/l10n/lv.js index 481146c337821..3f500a806adeb 100644 --- a/lib/l10n/lv.js +++ b/lib/l10n/lv.js @@ -113,9 +113,9 @@ OC.L10N.register( "Oct." : "Okt.", "Nov." : "Nov.", "Dec." : "Dec.", - "A valid username must be provided" : "Jānorāda derīgs lietotājvārds", "A valid password must be provided" : "Jānorāda derīga parole", "The username is already being used" : "Šāds lietotājvārds jau tiek izmantots", + "A valid username must be provided" : "Jānorāda derīgs lietotājvārds", "User disabled" : "Lietotājs deaktivizēts", "Login canceled by app" : "Pieteikšanos atcelā lietotne", "a safe home for all your data" : "droša vieta visiem jūsu datiem", diff --git a/lib/l10n/lv.json b/lib/l10n/lv.json index 79ae90f6fbb2d..df516b7061ed3 100644 --- a/lib/l10n/lv.json +++ b/lib/l10n/lv.json @@ -111,9 +111,9 @@ "Oct." : "Okt.", "Nov." : "Nov.", "Dec." : "Dec.", - "A valid username must be provided" : "Jānorāda derīgs lietotājvārds", "A valid password must be provided" : "Jānorāda derīga parole", "The username is already being used" : "Šāds lietotājvārds jau tiek izmantots", + "A valid username must be provided" : "Jānorāda derīgs lietotājvārds", "User disabled" : "Lietotājs deaktivizēts", "Login canceled by app" : "Pieteikšanos atcelā lietotne", "a safe home for all your data" : "droša vieta visiem jūsu datiem", diff --git a/lib/l10n/mk.js b/lib/l10n/mk.js index cb84ed87a0adf..63a8cc4b32fdc 100644 --- a/lib/l10n/mk.js +++ b/lib/l10n/mk.js @@ -199,14 +199,14 @@ OC.L10N.register( "Oct." : "Окт.", "Nov." : "Ное.", "Dec." : "Дек.", + "A valid password must be provided" : "Мора да се обезбеди валидна лозинка", + "The username is already being used" : "Корисничкото име е веќе во употреба", + "Could not create user" : "Неможе да се креира корисник", "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Само следниве карактери се дозволени во корисничкото име:: \"a-z\", \"A-Z\", \"0-9\", и \"_.@-'\"", "A valid username must be provided" : "Мора да се внесе валидно корисничко име ", "Username contains whitespace at the beginning or at the end" : "Корисничкото име содржи празно место на почетокот или на крајот", "Username must not consist of dots only" : "Корисничкото име не смее да се состои само од точки", "Username is invalid because files already exist for this user" : "Невалидно корисничкото име бидејќи веќе постојат датотеки за овој корисник", - "A valid password must be provided" : "Мора да се обезбеди валидна лозинка", - "The username is already being used" : "Корисничкото име е веќе во употреба", - "Could not create user" : "Неможе да се креира корисник", "User disabled" : "Оневозможен корисник", "Login canceled by app" : "Најавата е одкажана од апликација", "App \"%1$s\" cannot be installed because the following dependencies are not fulfilled: %2$s" : "Апликацијата \"%1$s\" не може да се инсталира затоа што следниве зависности не се исполнети: %2$s", diff --git a/lib/l10n/mk.json b/lib/l10n/mk.json index 1e3e5d665691c..ea49ea20fe35e 100644 --- a/lib/l10n/mk.json +++ b/lib/l10n/mk.json @@ -197,14 +197,14 @@ "Oct." : "Окт.", "Nov." : "Ное.", "Dec." : "Дек.", + "A valid password must be provided" : "Мора да се обезбеди валидна лозинка", + "The username is already being used" : "Корисничкото име е веќе во употреба", + "Could not create user" : "Неможе да се креира корисник", "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Само следниве карактери се дозволени во корисничкото име:: \"a-z\", \"A-Z\", \"0-9\", и \"_.@-'\"", "A valid username must be provided" : "Мора да се внесе валидно корисничко име ", "Username contains whitespace at the beginning or at the end" : "Корисничкото име содржи празно место на почетокот или на крајот", "Username must not consist of dots only" : "Корисничкото име не смее да се состои само од точки", "Username is invalid because files already exist for this user" : "Невалидно корисничкото име бидејќи веќе постојат датотеки за овој корисник", - "A valid password must be provided" : "Мора да се обезбеди валидна лозинка", - "The username is already being used" : "Корисничкото име е веќе во употреба", - "Could not create user" : "Неможе да се креира корисник", "User disabled" : "Оневозможен корисник", "Login canceled by app" : "Најавата е одкажана од апликација", "App \"%1$s\" cannot be installed because the following dependencies are not fulfilled: %2$s" : "Апликацијата \"%1$s\" не може да се инсталира затоа што следниве зависности не се исполнети: %2$s", diff --git a/lib/l10n/nb.js b/lib/l10n/nb.js index ed44a89ef771f..5117def0b6f47 100644 --- a/lib/l10n/nb.js +++ b/lib/l10n/nb.js @@ -156,13 +156,13 @@ OC.L10N.register( "Oct." : "Okt.", "Nov." : "Nov.", "Dec." : "Des.", + "A valid password must be provided" : "Oppgi et gyldig passord", + "The username is already being used" : "Brukernavnet er allerede i bruk", + "Could not create user" : "Kunne ikke opprette bruker", "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Bare disse tegnene tillates i et brukernavn: \"a-z\", \"A-Z\", \"0-9\" og \"_.@-'\"", "A valid username must be provided" : "Oppgi et gyldig brukernavn", "Username contains whitespace at the beginning or at the end" : "Brukernavn inneholder blanke på begynnelsen eller slutten", "Username must not consist of dots only" : "Brukernavn kan ikke bare bestå av punktum", - "A valid password must be provided" : "Oppgi et gyldig passord", - "The username is already being used" : "Brukernavnet er allerede i bruk", - "Could not create user" : "Kunne ikke opprette bruker", "User disabled" : "Brukeren er deaktivert", "Login canceled by app" : "Innlogging avbrutt av app", "a safe home for all your data" : "et sikkert hjem for alle dine data", diff --git a/lib/l10n/nb.json b/lib/l10n/nb.json index 27e67f66876ac..3bee499b422ef 100644 --- a/lib/l10n/nb.json +++ b/lib/l10n/nb.json @@ -154,13 +154,13 @@ "Oct." : "Okt.", "Nov." : "Nov.", "Dec." : "Des.", + "A valid password must be provided" : "Oppgi et gyldig passord", + "The username is already being used" : "Brukernavnet er allerede i bruk", + "Could not create user" : "Kunne ikke opprette bruker", "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Bare disse tegnene tillates i et brukernavn: \"a-z\", \"A-Z\", \"0-9\" og \"_.@-'\"", "A valid username must be provided" : "Oppgi et gyldig brukernavn", "Username contains whitespace at the beginning or at the end" : "Brukernavn inneholder blanke på begynnelsen eller slutten", "Username must not consist of dots only" : "Brukernavn kan ikke bare bestå av punktum", - "A valid password must be provided" : "Oppgi et gyldig passord", - "The username is already being used" : "Brukernavnet er allerede i bruk", - "Could not create user" : "Kunne ikke opprette bruker", "User disabled" : "Brukeren er deaktivert", "Login canceled by app" : "Innlogging avbrutt av app", "a safe home for all your data" : "et sikkert hjem for alle dine data", diff --git a/lib/l10n/nl.js b/lib/l10n/nl.js index 91b773692fb74..d0446176b182f 100644 --- a/lib/l10n/nl.js +++ b/lib/l10n/nl.js @@ -188,14 +188,14 @@ OC.L10N.register( "Oct." : "Okt.", "Nov." : "Nov.", "Dec." : "Dec.", + "A valid password must be provided" : "Er moet een geldig wachtwoord worden opgegeven", + "The username is already being used" : "De gebruikersnaam bestaat al", + "Could not create user" : "Kan gebruiker niet aanmaken.", "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Alleen de volgende tekens zijn toegestaan in een gebruikersnaam: \"a-z\", \"A-Z\", \"0-9\", en \"_.@-\"", "A valid username must be provided" : "Er moet een geldige gebruikersnaam worden opgegeven", "Username contains whitespace at the beginning or at the end" : "De gebruikersnaam bevat spaties aan het begin of aan het eind", "Username must not consist of dots only" : "De gebruikersnaam mag niet uit alleen punten bestaan", "Username is invalid because files already exist for this user" : "Gebruikersnaam is ongeldig omdat er al bestanden voor deze gebruiker bestaan", - "A valid password must be provided" : "Er moet een geldig wachtwoord worden opgegeven", - "The username is already being used" : "De gebruikersnaam bestaat al", - "Could not create user" : "Kan gebruiker niet aanmaken.", "User disabled" : "Gebruiker uitgeschakeld", "Login canceled by app" : "Inloggen geannuleerd door app", "App \"%1$s\" cannot be installed because the following dependencies are not fulfilled: %2$s" : "App \"%1$s\" kan niet worden geïnstalleerd, omdat de volgende afhankelijkheden niet zijn ingevuld: %2$s", diff --git a/lib/l10n/nl.json b/lib/l10n/nl.json index 4045d151f6787..cd1c9dc92b14a 100644 --- a/lib/l10n/nl.json +++ b/lib/l10n/nl.json @@ -186,14 +186,14 @@ "Oct." : "Okt.", "Nov." : "Nov.", "Dec." : "Dec.", + "A valid password must be provided" : "Er moet een geldig wachtwoord worden opgegeven", + "The username is already being used" : "De gebruikersnaam bestaat al", + "Could not create user" : "Kan gebruiker niet aanmaken.", "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Alleen de volgende tekens zijn toegestaan in een gebruikersnaam: \"a-z\", \"A-Z\", \"0-9\", en \"_.@-\"", "A valid username must be provided" : "Er moet een geldige gebruikersnaam worden opgegeven", "Username contains whitespace at the beginning or at the end" : "De gebruikersnaam bevat spaties aan het begin of aan het eind", "Username must not consist of dots only" : "De gebruikersnaam mag niet uit alleen punten bestaan", "Username is invalid because files already exist for this user" : "Gebruikersnaam is ongeldig omdat er al bestanden voor deze gebruiker bestaan", - "A valid password must be provided" : "Er moet een geldig wachtwoord worden opgegeven", - "The username is already being used" : "De gebruikersnaam bestaat al", - "Could not create user" : "Kan gebruiker niet aanmaken.", "User disabled" : "Gebruiker uitgeschakeld", "Login canceled by app" : "Inloggen geannuleerd door app", "App \"%1$s\" cannot be installed because the following dependencies are not fulfilled: %2$s" : "App \"%1$s\" kan niet worden geïnstalleerd, omdat de volgende afhankelijkheden niet zijn ingevuld: %2$s", diff --git a/lib/l10n/nn_NO.js b/lib/l10n/nn_NO.js index 924adc60a8558..8c3a6b06fe7a6 100644 --- a/lib/l10n/nn_NO.js +++ b/lib/l10n/nn_NO.js @@ -76,8 +76,8 @@ OC.L10N.register( "Oct." : "Okt.", "Nov." : "Nov.", "Dec." : "Des.", - "A valid username must be provided" : "Du må oppgje eit gyldig brukarnamn", "A valid password must be provided" : "Du må oppgje eit gyldig passord", + "A valid username must be provided" : "Du må oppgje eit gyldig brukarnamn", "User disabled" : "Brukar deaktivert", "Login canceled by app" : "Innlogging avbroten av app", "Authentication error" : "Feil i autentisering" diff --git a/lib/l10n/nn_NO.json b/lib/l10n/nn_NO.json index 219148e7b1b24..3c6cee22e9316 100644 --- a/lib/l10n/nn_NO.json +++ b/lib/l10n/nn_NO.json @@ -74,8 +74,8 @@ "Oct." : "Okt.", "Nov." : "Nov.", "Dec." : "Des.", - "A valid username must be provided" : "Du må oppgje eit gyldig brukarnamn", "A valid password must be provided" : "Du må oppgje eit gyldig passord", + "A valid username must be provided" : "Du må oppgje eit gyldig brukarnamn", "User disabled" : "Brukar deaktivert", "Login canceled by app" : "Innlogging avbroten av app", "Authentication error" : "Feil i autentisering" diff --git a/lib/l10n/pl.js b/lib/l10n/pl.js index bc0ae2853ce12..2796a9b3a4c8c 100644 --- a/lib/l10n/pl.js +++ b/lib/l10n/pl.js @@ -201,14 +201,14 @@ OC.L10N.register( "Oct." : "Paź.", "Nov." : "Lis.", "Dec." : "Gru.", + "A valid password must be provided" : "Należy podać prawidłowe hasło", + "The username is already being used" : "Ta nazwa użytkownika jest już używana", + "Could not create user" : "Nie można utworzyć użytkownika", "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "W nazwie użytkownika dozwolone są tylko następujące znaki : \"a-z\", \"A-Z\", \"0-9\" i \"_.@-'\"", "A valid username must be provided" : "Należy podać prawidłową nazwę użytkownika", "Username contains whitespace at the beginning or at the end" : "Nazwa użytkownika zawiera spację na początku albo na końcu", "Username must not consist of dots only" : "Nazwa użytkownika nie może się składać tylko z kropek", "Username is invalid because files already exist for this user" : "Nazwa użytkownika jest nieprawidłowa, ponieważ pliki już istnieją dla tego użytkownika", - "A valid password must be provided" : "Należy podać prawidłowe hasło", - "The username is already being used" : "Ta nazwa użytkownika jest już używana", - "Could not create user" : "Nie można utworzyć użytkownika", "User disabled" : "Użytkownik zablokowany", "Login canceled by app" : "Logowanie anulowane przez aplikację", "App \"%1$s\" cannot be installed because the following dependencies are not fulfilled: %2$s" : "Nie można zainstalować aplikacji \"%1$s\", ponieważ nie są spełnione następujące zależności: %2$s", diff --git a/lib/l10n/pl.json b/lib/l10n/pl.json index 02b3396636bb8..4c59cbb213ff6 100644 --- a/lib/l10n/pl.json +++ b/lib/l10n/pl.json @@ -199,14 +199,14 @@ "Oct." : "Paź.", "Nov." : "Lis.", "Dec." : "Gru.", + "A valid password must be provided" : "Należy podać prawidłowe hasło", + "The username is already being used" : "Ta nazwa użytkownika jest już używana", + "Could not create user" : "Nie można utworzyć użytkownika", "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "W nazwie użytkownika dozwolone są tylko następujące znaki : \"a-z\", \"A-Z\", \"0-9\" i \"_.@-'\"", "A valid username must be provided" : "Należy podać prawidłową nazwę użytkownika", "Username contains whitespace at the beginning or at the end" : "Nazwa użytkownika zawiera spację na początku albo na końcu", "Username must not consist of dots only" : "Nazwa użytkownika nie może się składać tylko z kropek", "Username is invalid because files already exist for this user" : "Nazwa użytkownika jest nieprawidłowa, ponieważ pliki już istnieją dla tego użytkownika", - "A valid password must be provided" : "Należy podać prawidłowe hasło", - "The username is already being used" : "Ta nazwa użytkownika jest już używana", - "Could not create user" : "Nie można utworzyć użytkownika", "User disabled" : "Użytkownik zablokowany", "Login canceled by app" : "Logowanie anulowane przez aplikację", "App \"%1$s\" cannot be installed because the following dependencies are not fulfilled: %2$s" : "Nie można zainstalować aplikacji \"%1$s\", ponieważ nie są spełnione następujące zależności: %2$s", diff --git a/lib/l10n/pt_BR.js b/lib/l10n/pt_BR.js index f695f6262121f..036c3be9d5b14 100644 --- a/lib/l10n/pt_BR.js +++ b/lib/l10n/pt_BR.js @@ -196,14 +196,14 @@ OC.L10N.register( "Oct." : "Out.", "Nov." : "Nov.", "Dec." : "Dez.", + "A valid password must be provided" : "Uma senha válida deve ser fornecida", + "The username is already being used" : "Este nome de usuário já está em uso", + "Could not create user" : "Não foi possível criar o usuário", "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Somente os seguintes caracteres são permitidos em um nome de usuário: \"a-z\", \"A-Z\", \"0-9\", e \"_.@-'\"", "A valid username must be provided" : "Um nome de usuário válido deve ser fornecido", "Username contains whitespace at the beginning or at the end" : "O nome de usuário contém espaço em branco no início ou no fim", "Username must not consist of dots only" : "Nome do usuário não pode consistir de pontos somente", "Username is invalid because files already exist for this user" : "O nome de usuário é inválido porque já exstem arquivos para este usuário", - "A valid password must be provided" : "Uma senha válida deve ser fornecida", - "The username is already being used" : "Este nome de usuário já está em uso", - "Could not create user" : "Não foi possível criar o usuário", "User disabled" : "Usuário desativado", "Login canceled by app" : "Login cancelado pelo aplicativo", "App \"%1$s\" cannot be installed because the following dependencies are not fulfilled: %2$s" : "O aplicativo \"%1$s\" não pode ser instalado devido à estas dependências: %2$s", diff --git a/lib/l10n/pt_BR.json b/lib/l10n/pt_BR.json index 71ead0227cc9b..3ae226fddefcf 100644 --- a/lib/l10n/pt_BR.json +++ b/lib/l10n/pt_BR.json @@ -194,14 +194,14 @@ "Oct." : "Out.", "Nov." : "Nov.", "Dec." : "Dez.", + "A valid password must be provided" : "Uma senha válida deve ser fornecida", + "The username is already being used" : "Este nome de usuário já está em uso", + "Could not create user" : "Não foi possível criar o usuário", "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Somente os seguintes caracteres são permitidos em um nome de usuário: \"a-z\", \"A-Z\", \"0-9\", e \"_.@-'\"", "A valid username must be provided" : "Um nome de usuário válido deve ser fornecido", "Username contains whitespace at the beginning or at the end" : "O nome de usuário contém espaço em branco no início ou no fim", "Username must not consist of dots only" : "Nome do usuário não pode consistir de pontos somente", "Username is invalid because files already exist for this user" : "O nome de usuário é inválido porque já exstem arquivos para este usuário", - "A valid password must be provided" : "Uma senha válida deve ser fornecida", - "The username is already being used" : "Este nome de usuário já está em uso", - "Could not create user" : "Não foi possível criar o usuário", "User disabled" : "Usuário desativado", "Login canceled by app" : "Login cancelado pelo aplicativo", "App \"%1$s\" cannot be installed because the following dependencies are not fulfilled: %2$s" : "O aplicativo \"%1$s\" não pode ser instalado devido à estas dependências: %2$s", diff --git a/lib/l10n/pt_PT.js b/lib/l10n/pt_PT.js index b3e50a57e1633..6168038131219 100644 --- a/lib/l10n/pt_PT.js +++ b/lib/l10n/pt_PT.js @@ -161,13 +161,13 @@ OC.L10N.register( "Oct." : "Out.", "Nov." : "Nov.", "Dec." : "Dez.", + "A valid password must be provided" : "Deve ser fornecida uma palavra-passe válida", + "The username is already being used" : "O nome de utilizador já está a ser usado", + "Could not create user" : "Não foi possível criar o utilizador", "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Apenas os seguintes caracteres são permitidos num nome de utilizador: \"a-z\", \"A-Z\", \"0-9\", e \"_.@-'\"", "A valid username must be provided" : "Um nome de utilizador válido deve ser fornecido", "Username contains whitespace at the beginning or at the end" : "Nome de utilizador contém espaço em branco no início ou no fim", "Username must not consist of dots only" : "O utilizador não pode consistir de apenas pontos", - "A valid password must be provided" : "Deve ser fornecida uma palavra-passe válida", - "The username is already being used" : "O nome de utilizador já está a ser usado", - "Could not create user" : "Não foi possível criar o utilizador", "User disabled" : "Utilizador desativado", "Login canceled by app" : "Sessão cancelada pela app", "a safe home for all your data" : "Um lugar seguro para todos os seus dados", diff --git a/lib/l10n/pt_PT.json b/lib/l10n/pt_PT.json index 078e54ddf689f..b3a6a713eeb32 100644 --- a/lib/l10n/pt_PT.json +++ b/lib/l10n/pt_PT.json @@ -159,13 +159,13 @@ "Oct." : "Out.", "Nov." : "Nov.", "Dec." : "Dez.", + "A valid password must be provided" : "Deve ser fornecida uma palavra-passe válida", + "The username is already being used" : "O nome de utilizador já está a ser usado", + "Could not create user" : "Não foi possível criar o utilizador", "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Apenas os seguintes caracteres são permitidos num nome de utilizador: \"a-z\", \"A-Z\", \"0-9\", e \"_.@-'\"", "A valid username must be provided" : "Um nome de utilizador válido deve ser fornecido", "Username contains whitespace at the beginning or at the end" : "Nome de utilizador contém espaço em branco no início ou no fim", "Username must not consist of dots only" : "O utilizador não pode consistir de apenas pontos", - "A valid password must be provided" : "Deve ser fornecida uma palavra-passe válida", - "The username is already being used" : "O nome de utilizador já está a ser usado", - "Could not create user" : "Não foi possível criar o utilizador", "User disabled" : "Utilizador desativado", "Login canceled by app" : "Sessão cancelada pela app", "a safe home for all your data" : "Um lugar seguro para todos os seus dados", diff --git a/lib/l10n/ro.js b/lib/l10n/ro.js index 41ab35e1bef13..89011cfd05baa 100644 --- a/lib/l10n/ro.js +++ b/lib/l10n/ro.js @@ -115,13 +115,13 @@ OC.L10N.register( "Oct." : "Oct.", "Nov." : "Noi.", "Dec." : "Dec.", + "A valid password must be provided" : "Trebuie să furnizaţi o parolă validă", + "The username is already being used" : "Numele de utilizator este deja folosit", + "Could not create user" : "Nu s-a putut crea utilizatorul", "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Numai următoarele caractere sunt permise în numele utilizatorului: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"", "A valid username must be provided" : "Trebuie să furnizaţi un nume de utilizator valid", "Username contains whitespace at the beginning or at the end" : "Utilizatorul contine spațiu liber la început sau la sfârșit", "Username must not consist of dots only" : "Numele utilizatorului nu poate conține numai puncte", - "A valid password must be provided" : "Trebuie să furnizaţi o parolă validă", - "The username is already being used" : "Numele de utilizator este deja folosit", - "Could not create user" : "Nu s-a putut crea utilizatorul", "User disabled" : "Utilizator dezactivat", "Application is not enabled" : "Aplicația nu este activată", "Authentication error" : "Eroare la autentificare", diff --git a/lib/l10n/ro.json b/lib/l10n/ro.json index fe581daf19b7d..22d395f5d1864 100644 --- a/lib/l10n/ro.json +++ b/lib/l10n/ro.json @@ -113,13 +113,13 @@ "Oct." : "Oct.", "Nov." : "Noi.", "Dec." : "Dec.", + "A valid password must be provided" : "Trebuie să furnizaţi o parolă validă", + "The username is already being used" : "Numele de utilizator este deja folosit", + "Could not create user" : "Nu s-a putut crea utilizatorul", "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Numai următoarele caractere sunt permise în numele utilizatorului: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"", "A valid username must be provided" : "Trebuie să furnizaţi un nume de utilizator valid", "Username contains whitespace at the beginning or at the end" : "Utilizatorul contine spațiu liber la început sau la sfârșit", "Username must not consist of dots only" : "Numele utilizatorului nu poate conține numai puncte", - "A valid password must be provided" : "Trebuie să furnizaţi o parolă validă", - "The username is already being used" : "Numele de utilizator este deja folosit", - "Could not create user" : "Nu s-a putut crea utilizatorul", "User disabled" : "Utilizator dezactivat", "Application is not enabled" : "Aplicația nu este activată", "Authentication error" : "Eroare la autentificare", diff --git a/lib/l10n/ru.js b/lib/l10n/ru.js index 1e47a8e475838..76693d335896f 100644 --- a/lib/l10n/ru.js +++ b/lib/l10n/ru.js @@ -199,14 +199,14 @@ OC.L10N.register( "Oct." : "Окт.", "Nov." : "Нояб.", "Dec." : "Дек.", + "A valid password must be provided" : "Укажите допустимый пароль", + "The username is already being used" : "Имя пользователя уже используется", + "Could not create user" : "Не удалось создать пользователя", "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "В составе имени пользователя допускаются следующие символы: «a–z», «A–Z», «0–9» и «_.@-'»", "A valid username must be provided" : "Укажите допустимое имя пользователя", "Username contains whitespace at the beginning or at the end" : "Имя пользователя содержит пробел в начале или в конце", "Username must not consist of dots only" : "Имя пользователя должно состоять не только из точек", "Username is invalid because files already exist for this user" : "Это имя не может быть использовано, файлы этого пользователя уже существуют", - "A valid password must be provided" : "Укажите допустимый пароль", - "The username is already being used" : "Имя пользователя уже используется", - "Could not create user" : "Не удалось создать пользователя", "User disabled" : "Пользователь отключен", "Login canceled by app" : "Вход отменен приложением", "App \"%1$s\" cannot be installed because the following dependencies are not fulfilled: %2$s" : "Приложение «%1$s» не может быть установлено, так как не удовлетворены следующие зависимости: %2$s", diff --git a/lib/l10n/ru.json b/lib/l10n/ru.json index 2f4f795dd5a73..03defea7d3bb5 100644 --- a/lib/l10n/ru.json +++ b/lib/l10n/ru.json @@ -197,14 +197,14 @@ "Oct." : "Окт.", "Nov." : "Нояб.", "Dec." : "Дек.", + "A valid password must be provided" : "Укажите допустимый пароль", + "The username is already being used" : "Имя пользователя уже используется", + "Could not create user" : "Не удалось создать пользователя", "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "В составе имени пользователя допускаются следующие символы: «a–z», «A–Z», «0–9» и «_.@-'»", "A valid username must be provided" : "Укажите допустимое имя пользователя", "Username contains whitespace at the beginning or at the end" : "Имя пользователя содержит пробел в начале или в конце", "Username must not consist of dots only" : "Имя пользователя должно состоять не только из точек", "Username is invalid because files already exist for this user" : "Это имя не может быть использовано, файлы этого пользователя уже существуют", - "A valid password must be provided" : "Укажите допустимый пароль", - "The username is already being used" : "Имя пользователя уже используется", - "Could not create user" : "Не удалось создать пользователя", "User disabled" : "Пользователь отключен", "Login canceled by app" : "Вход отменен приложением", "App \"%1$s\" cannot be installed because the following dependencies are not fulfilled: %2$s" : "Приложение «%1$s» не может быть установлено, так как не удовлетворены следующие зависимости: %2$s", diff --git a/lib/l10n/sc.js b/lib/l10n/sc.js index b70c862b70eee..73084cc236f83 100644 --- a/lib/l10n/sc.js +++ b/lib/l10n/sc.js @@ -174,14 +174,14 @@ OC.L10N.register( "Oct." : "Lad./SGa.", "Nov." : "SAnd.", "Dec." : "Nad.", + "A valid password must be provided" : "Depes frunire una crae bàlida", + "The username is already being used" : "Su nùmene utente est giai impreadu", + "Could not create user" : "No at fatu a creare s'utente", "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Isceti custos caràteres sunt permìtidos in unu nùmene utente: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"", "A valid username must be provided" : "Depes frunire unu nùmene utente bàlidu", "Username contains whitespace at the beginning or at the end" : "Su nùmene utente cuntenet ispàtzios bòidos a su cumintzu o a sa fine", "Username must not consist of dots only" : "Su nùmene utente no depet tènnere isceti puntos", "Username is invalid because files already exist for this user" : "Su nùmene utente no est bàlidu, ca is archìvios bi sunt giai pro cust'utèntzia", - "A valid password must be provided" : "Depes frunire una crae bàlida", - "The username is already being used" : "Su nùmene utente est giai impreadu", - "Could not create user" : "No at fatu a creare s'utente", "User disabled" : "Utèntzia disativada", "Login canceled by app" : "Atzessu annulladu dae s'aplicatzione", "App \"%1$s\" cannot be installed because the following dependencies are not fulfilled: %2$s" : "Non faghet a installare s'aplicatzione %1$s ca is dipendèntzias in fatu non sunt satisfatos:%2$s", diff --git a/lib/l10n/sc.json b/lib/l10n/sc.json index 30da01a32ddb1..c772518583f72 100644 --- a/lib/l10n/sc.json +++ b/lib/l10n/sc.json @@ -172,14 +172,14 @@ "Oct." : "Lad./SGa.", "Nov." : "SAnd.", "Dec." : "Nad.", + "A valid password must be provided" : "Depes frunire una crae bàlida", + "The username is already being used" : "Su nùmene utente est giai impreadu", + "Could not create user" : "No at fatu a creare s'utente", "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Isceti custos caràteres sunt permìtidos in unu nùmene utente: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"", "A valid username must be provided" : "Depes frunire unu nùmene utente bàlidu", "Username contains whitespace at the beginning or at the end" : "Su nùmene utente cuntenet ispàtzios bòidos a su cumintzu o a sa fine", "Username must not consist of dots only" : "Su nùmene utente no depet tènnere isceti puntos", "Username is invalid because files already exist for this user" : "Su nùmene utente no est bàlidu, ca is archìvios bi sunt giai pro cust'utèntzia", - "A valid password must be provided" : "Depes frunire una crae bàlida", - "The username is already being used" : "Su nùmene utente est giai impreadu", - "Could not create user" : "No at fatu a creare s'utente", "User disabled" : "Utèntzia disativada", "Login canceled by app" : "Atzessu annulladu dae s'aplicatzione", "App \"%1$s\" cannot be installed because the following dependencies are not fulfilled: %2$s" : "Non faghet a installare s'aplicatzione %1$s ca is dipendèntzias in fatu non sunt satisfatos:%2$s", diff --git a/lib/l10n/sk.js b/lib/l10n/sk.js index 1d318e8f1df04..3814cdf93b064 100644 --- a/lib/l10n/sk.js +++ b/lib/l10n/sk.js @@ -201,14 +201,14 @@ OC.L10N.register( "Oct." : "Okt.", "Nov." : "Nov.", "Dec." : "Dec.", + "A valid password must be provided" : "Musíte zadať platné heslo", + "The username is already being used" : "Meno používateľa je už použité", + "Could not create user" : "Nepodarilo sa vytvoriť používateľa", "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "V mene používateľa je možné použiť iba nasledovné znaky: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"", "A valid username must be provided" : "Musíte zadať platné používateľské meno", "Username contains whitespace at the beginning or at the end" : "Meno používateľa obsahuje na začiatku, alebo na konci medzeru", "Username must not consist of dots only" : "Používateľské meno sa nesmie skladať len z bodiek", "Username is invalid because files already exist for this user" : "Používateľské meno je neplatné, pretože pre tohto používateľa už existujú súbory", - "A valid password must be provided" : "Musíte zadať platné heslo", - "The username is already being used" : "Meno používateľa je už použité", - "Could not create user" : "Nepodarilo sa vytvoriť používateľa", "User disabled" : "Používateľ zakázaný", "Login canceled by app" : "Prihlásenie bolo zrušené aplikáciou", "App \"%1$s\" cannot be installed because the following dependencies are not fulfilled: %2$s" : "Aplikáciu \"%1$s\" nie je možné inštalovať, pretože nie sú splnené nasledovné závislosti: %2$s", diff --git a/lib/l10n/sk.json b/lib/l10n/sk.json index 920f7044c1ece..1ff0708a79ff8 100644 --- a/lib/l10n/sk.json +++ b/lib/l10n/sk.json @@ -199,14 +199,14 @@ "Oct." : "Okt.", "Nov." : "Nov.", "Dec." : "Dec.", + "A valid password must be provided" : "Musíte zadať platné heslo", + "The username is already being used" : "Meno používateľa je už použité", + "Could not create user" : "Nepodarilo sa vytvoriť používateľa", "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "V mene používateľa je možné použiť iba nasledovné znaky: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"", "A valid username must be provided" : "Musíte zadať platné používateľské meno", "Username contains whitespace at the beginning or at the end" : "Meno používateľa obsahuje na začiatku, alebo na konci medzeru", "Username must not consist of dots only" : "Používateľské meno sa nesmie skladať len z bodiek", "Username is invalid because files already exist for this user" : "Používateľské meno je neplatné, pretože pre tohto používateľa už existujú súbory", - "A valid password must be provided" : "Musíte zadať platné heslo", - "The username is already being used" : "Meno používateľa je už použité", - "Could not create user" : "Nepodarilo sa vytvoriť používateľa", "User disabled" : "Používateľ zakázaný", "Login canceled by app" : "Prihlásenie bolo zrušené aplikáciou", "App \"%1$s\" cannot be installed because the following dependencies are not fulfilled: %2$s" : "Aplikáciu \"%1$s\" nie je možné inštalovať, pretože nie sú splnené nasledovné závislosti: %2$s", diff --git a/lib/l10n/sl.js b/lib/l10n/sl.js index 2333b3f0317af..d256248c1e4db 100644 --- a/lib/l10n/sl.js +++ b/lib/l10n/sl.js @@ -183,14 +183,14 @@ OC.L10N.register( "Oct." : "okt", "Nov." : "nov", "Dec." : "dec", + "A valid password must be provided" : "Navedeno mora biti veljavno geslo", + "The username is already being used" : "Vpisano uporabniško ime je že v uporabi", + "Could not create user" : "Uporabnika ni mogoče ustvariti", "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "V uporabniškem imenu je dovoljeno uporabiti le znake: »a–z«, »A–Z«, »0–9« in »_.@-«\".", "A valid username must be provided" : "Navedeno mora biti veljavno uporabniško ime", "Username contains whitespace at the beginning or at the end" : "Uporabniško ime vsebuje presledni znak na začetku ali na koncu imena.", "Username must not consist of dots only" : "Uporabniško ime ne sme biti zgolj iz pik", "Username is invalid because files already exist for this user" : "Uporabniško ime ni veljavno, ker za tega uporabnika že obstajajo datoteke", - "A valid password must be provided" : "Navedeno mora biti veljavno geslo", - "The username is already being used" : "Vpisano uporabniško ime je že v uporabi", - "Could not create user" : "Uporabnika ni mogoče ustvariti", "User disabled" : "Uporabnik je onemogočen", "Login canceled by app" : "Program onemogoča prijavo", "App \"%1$s\" cannot be installed because the following dependencies are not fulfilled: %2$s" : "Programa »%1$s« ni mogoče namestiti zaradi nerešenih odvisnosti: %2$s", diff --git a/lib/l10n/sl.json b/lib/l10n/sl.json index d729101e3c509..c2ee21689b730 100644 --- a/lib/l10n/sl.json +++ b/lib/l10n/sl.json @@ -181,14 +181,14 @@ "Oct." : "okt", "Nov." : "nov", "Dec." : "dec", + "A valid password must be provided" : "Navedeno mora biti veljavno geslo", + "The username is already being used" : "Vpisano uporabniško ime je že v uporabi", + "Could not create user" : "Uporabnika ni mogoče ustvariti", "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "V uporabniškem imenu je dovoljeno uporabiti le znake: »a–z«, »A–Z«, »0–9« in »_.@-«\".", "A valid username must be provided" : "Navedeno mora biti veljavno uporabniško ime", "Username contains whitespace at the beginning or at the end" : "Uporabniško ime vsebuje presledni znak na začetku ali na koncu imena.", "Username must not consist of dots only" : "Uporabniško ime ne sme biti zgolj iz pik", "Username is invalid because files already exist for this user" : "Uporabniško ime ni veljavno, ker za tega uporabnika že obstajajo datoteke", - "A valid password must be provided" : "Navedeno mora biti veljavno geslo", - "The username is already being used" : "Vpisano uporabniško ime je že v uporabi", - "Could not create user" : "Uporabnika ni mogoče ustvariti", "User disabled" : "Uporabnik je onemogočen", "Login canceled by app" : "Program onemogoča prijavo", "App \"%1$s\" cannot be installed because the following dependencies are not fulfilled: %2$s" : "Programa »%1$s« ni mogoče namestiti zaradi nerešenih odvisnosti: %2$s", diff --git a/lib/l10n/sq.js b/lib/l10n/sq.js index 4e07d3ab2138a..6ef810c850008 100644 --- a/lib/l10n/sq.js +++ b/lib/l10n/sq.js @@ -124,12 +124,12 @@ OC.L10N.register( "Oct." : "Tet.", "Nov." : "Nën.", "Dec." : "Dhj.", + "A valid password must be provided" : "Duhet dhënë një fjalëkalim i vlefshëm", + "The username is already being used" : "Emri i përdoruesit është tashmë i përdorur", "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Në një emër përdoruesi lejohen vetëm shenjat vijuese: \"a-z\", \"A-Z\", \"0-9\", dhe \"_.@-\"", "A valid username must be provided" : "Duhet dhënë një emër i vlefshëm përdoruesi", "Username contains whitespace at the beginning or at the end" : "Emri i përdoruesit përmban hapësirë në fillim ose në fund", "Username must not consist of dots only" : "Emri i përdoruesit nuk duhet të përbëhet vetëm nga pika", - "A valid password must be provided" : "Duhet dhënë një fjalëkalim i vlefshëm", - "The username is already being used" : "Emri i përdoruesit është tashmë i përdorur", "User disabled" : "Përdorues i çaktivizuar", "Login canceled by app" : "Hyrja u anulua nga aplikacioni", "a safe home for all your data" : "Një shtëpi e sigurt për të dhënat e tua", diff --git a/lib/l10n/sq.json b/lib/l10n/sq.json index 2f02fe61ebfc6..6e73c56a227ff 100644 --- a/lib/l10n/sq.json +++ b/lib/l10n/sq.json @@ -122,12 +122,12 @@ "Oct." : "Tet.", "Nov." : "Nën.", "Dec." : "Dhj.", + "A valid password must be provided" : "Duhet dhënë një fjalëkalim i vlefshëm", + "The username is already being used" : "Emri i përdoruesit është tashmë i përdorur", "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Në një emër përdoruesi lejohen vetëm shenjat vijuese: \"a-z\", \"A-Z\", \"0-9\", dhe \"_.@-\"", "A valid username must be provided" : "Duhet dhënë një emër i vlefshëm përdoruesi", "Username contains whitespace at the beginning or at the end" : "Emri i përdoruesit përmban hapësirë në fillim ose në fund", "Username must not consist of dots only" : "Emri i përdoruesit nuk duhet të përbëhet vetëm nga pika", - "A valid password must be provided" : "Duhet dhënë një fjalëkalim i vlefshëm", - "The username is already being used" : "Emri i përdoruesit është tashmë i përdorur", "User disabled" : "Përdorues i çaktivizuar", "Login canceled by app" : "Hyrja u anulua nga aplikacioni", "a safe home for all your data" : "Një shtëpi e sigurt për të dhënat e tua", diff --git a/lib/l10n/sr.js b/lib/l10n/sr.js index cc64e6fdbf15c..69ed580c3b187 100644 --- a/lib/l10n/sr.js +++ b/lib/l10n/sr.js @@ -165,14 +165,14 @@ OC.L10N.register( "Oct." : "Окт.", "Nov." : "Нов.", "Dec." : "Дец.", + "A valid password must be provided" : "Морате унети исправну лозинку", + "The username is already being used" : "Корисничко име се већ користи", + "Could not create user" : "Не могу да направим корисника", "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "У корисничком имену су дозвољени само следећи карактери: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"", "A valid username must be provided" : "Морате унети исправно корисничко име", "Username contains whitespace at the beginning or at the end" : "Корисничко име садржи белине на почетку или на крају", "Username must not consist of dots only" : "Корисничко име не могу бити само тачке", "Username is invalid because files already exist for this user" : "Корисничко име није исправно пошто већ постоје фајлови за овог корисника", - "A valid password must be provided" : "Морате унети исправну лозинку", - "The username is already being used" : "Корисничко име се већ користи", - "Could not create user" : "Не могу да направим корисника", "User disabled" : "Корисник онемогућен", "Login canceled by app" : "Пријава отказана од стране апликације", "App \"%1$s\" cannot be installed because the following dependencies are not fulfilled: %2$s" : "Апликација „%1$s“ не може бити инсталирана јер следеће зависности нису испуњене: %2$s", diff --git a/lib/l10n/sr.json b/lib/l10n/sr.json index f4987eaf938cd..3f75e2de93e0f 100644 --- a/lib/l10n/sr.json +++ b/lib/l10n/sr.json @@ -163,14 +163,14 @@ "Oct." : "Окт.", "Nov." : "Нов.", "Dec." : "Дец.", + "A valid password must be provided" : "Морате унети исправну лозинку", + "The username is already being used" : "Корисничко име се већ користи", + "Could not create user" : "Не могу да направим корисника", "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "У корисничком имену су дозвољени само следећи карактери: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"", "A valid username must be provided" : "Морате унети исправно корисничко име", "Username contains whitespace at the beginning or at the end" : "Корисничко име садржи белине на почетку или на крају", "Username must not consist of dots only" : "Корисничко име не могу бити само тачке", "Username is invalid because files already exist for this user" : "Корисничко име није исправно пошто већ постоје фајлови за овог корисника", - "A valid password must be provided" : "Морате унети исправну лозинку", - "The username is already being used" : "Корисничко име се већ користи", - "Could not create user" : "Не могу да направим корисника", "User disabled" : "Корисник онемогућен", "Login canceled by app" : "Пријава отказана од стране апликације", "App \"%1$s\" cannot be installed because the following dependencies are not fulfilled: %2$s" : "Апликација „%1$s“ не може бити инсталирана јер следеће зависности нису испуњене: %2$s", diff --git a/lib/l10n/sv.js b/lib/l10n/sv.js index ef2559b61ce32..688f69ff15622 100644 --- a/lib/l10n/sv.js +++ b/lib/l10n/sv.js @@ -190,14 +190,14 @@ OC.L10N.register( "Oct." : "Okt.", "Nov." : "Nov.", "Dec." : "Dec.", + "A valid password must be provided" : "Ett giltigt lösenord måste anges", + "The username is already being used" : "Användarnamnet används redan", + "Could not create user" : "Kunde inte skapa användare", "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Endast följande tecken är tillåtna i användarnamnet: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"", "A valid username must be provided" : "Ett giltigt användarnamn måste anges", "Username contains whitespace at the beginning or at the end" : "Användarnamnet består av ett mellanslag i början eller i slutet", "Username must not consist of dots only" : "Användarnamnet får inte innehålla enbart punkter", "Username is invalid because files already exist for this user" : "Användarnamnet är ogiltigt eftersom det redan finns filer för den här användaren", - "A valid password must be provided" : "Ett giltigt lösenord måste anges", - "The username is already being used" : "Användarnamnet används redan", - "Could not create user" : "Kunde inte skapa användare", "User disabled" : "Användare inaktiverad", "Login canceled by app" : "Inloggningen avbruten av appen", "App \"%1$s\" cannot be installed because the following dependencies are not fulfilled: %2$s" : "Appen \"%1$s\" kan inte installeras eftersom följande beroenden inte är uppfyllda: %2$s", diff --git a/lib/l10n/sv.json b/lib/l10n/sv.json index f444e303dc7c8..975d118061840 100644 --- a/lib/l10n/sv.json +++ b/lib/l10n/sv.json @@ -188,14 +188,14 @@ "Oct." : "Okt.", "Nov." : "Nov.", "Dec." : "Dec.", + "A valid password must be provided" : "Ett giltigt lösenord måste anges", + "The username is already being used" : "Användarnamnet används redan", + "Could not create user" : "Kunde inte skapa användare", "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Endast följande tecken är tillåtna i användarnamnet: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"", "A valid username must be provided" : "Ett giltigt användarnamn måste anges", "Username contains whitespace at the beginning or at the end" : "Användarnamnet består av ett mellanslag i början eller i slutet", "Username must not consist of dots only" : "Användarnamnet får inte innehålla enbart punkter", "Username is invalid because files already exist for this user" : "Användarnamnet är ogiltigt eftersom det redan finns filer för den här användaren", - "A valid password must be provided" : "Ett giltigt lösenord måste anges", - "The username is already being used" : "Användarnamnet används redan", - "Could not create user" : "Kunde inte skapa användare", "User disabled" : "Användare inaktiverad", "Login canceled by app" : "Inloggningen avbruten av appen", "App \"%1$s\" cannot be installed because the following dependencies are not fulfilled: %2$s" : "Appen \"%1$s\" kan inte installeras eftersom följande beroenden inte är uppfyllda: %2$s", diff --git a/lib/l10n/th.js b/lib/l10n/th.js index 686738fbf7d89..52063c57d0066 100644 --- a/lib/l10n/th.js +++ b/lib/l10n/th.js @@ -114,10 +114,10 @@ OC.L10N.register( "Oct." : "ต.ค.", "Nov." : "พ.ย.", "Dec." : "ธ.ค.", - "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "ชื่อผู้ใช้จะใช้ได้แค่อักษรดังต่อไปนี้: \"a-z\", \"A-Z\", \"0-9\" และ \"_.@-'\"", - "A valid username must be provided" : "ต้องระบุชื่อผู้ใช้ที่ถูกต้อง", "A valid password must be provided" : "ต้องระบุรหัสผ่านที่ถูกต้อง", "The username is already being used" : "ชื่อผู้ใช้นี้ถูกใช้ไปแล้ว", + "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "ชื่อผู้ใช้จะใช้ได้แค่อักษรดังต่อไปนี้: \"a-z\", \"A-Z\", \"0-9\" และ \"_.@-'\"", + "A valid username must be provided" : "ต้องระบุชื่อผู้ใช้ที่ถูกต้อง", "User disabled" : "ผู้ใช้ถูกปิดใช้งาน", "a safe home for all your data" : "บ้านที่ปลอดภัยสำหรับข้อมูลของคุณ", "File is currently busy, please try again later" : "ขณะนี้ไฟล์กำลังใช้งานอยู่ โปรดลองอีกครั้งในภายหลัง", diff --git a/lib/l10n/th.json b/lib/l10n/th.json index 965aa582765e0..cc255c3bac550 100644 --- a/lib/l10n/th.json +++ b/lib/l10n/th.json @@ -112,10 +112,10 @@ "Oct." : "ต.ค.", "Nov." : "พ.ย.", "Dec." : "ธ.ค.", - "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "ชื่อผู้ใช้จะใช้ได้แค่อักษรดังต่อไปนี้: \"a-z\", \"A-Z\", \"0-9\" และ \"_.@-'\"", - "A valid username must be provided" : "ต้องระบุชื่อผู้ใช้ที่ถูกต้อง", "A valid password must be provided" : "ต้องระบุรหัสผ่านที่ถูกต้อง", "The username is already being used" : "ชื่อผู้ใช้นี้ถูกใช้ไปแล้ว", + "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "ชื่อผู้ใช้จะใช้ได้แค่อักษรดังต่อไปนี้: \"a-z\", \"A-Z\", \"0-9\" และ \"_.@-'\"", + "A valid username must be provided" : "ต้องระบุชื่อผู้ใช้ที่ถูกต้อง", "User disabled" : "ผู้ใช้ถูกปิดใช้งาน", "a safe home for all your data" : "บ้านที่ปลอดภัยสำหรับข้อมูลของคุณ", "File is currently busy, please try again later" : "ขณะนี้ไฟล์กำลังใช้งานอยู่ โปรดลองอีกครั้งในภายหลัง", diff --git a/lib/l10n/tr.js b/lib/l10n/tr.js index 8a6f6e8edffa5..10102c9d8cee0 100644 --- a/lib/l10n/tr.js +++ b/lib/l10n/tr.js @@ -201,14 +201,14 @@ OC.L10N.register( "Oct." : "Eki", "Nov." : "Kas", "Dec." : "Ara", + "A valid password must be provided" : "Geçerli bir parola yazmalısınız", + "The username is already being used" : "Bu kullanıcı adı zaten var", + "Could not create user" : "Kullanıcı oluşturulamadı", "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Kullanıcı adında yalnızca şu karakterler kullanılabilir: \"a-z\", \"A-Z\", \"0-9\", ve \"_.@-'\"", "A valid username must be provided" : "Geçerli bir kullanıcı adı yazmalısınız", "Username contains whitespace at the beginning or at the end" : "Kullanıcı adının başı ya da sonunda boşluk var", "Username must not consist of dots only" : "Kullanıcı adı yalnızca noktalardan oluşamaz", "Username is invalid because files already exist for this user" : "Kullanıcı adı geçersiz, bu kullanıcı için zaten bazı dosyalar var", - "A valid password must be provided" : "Geçerli bir parola yazmalısınız", - "The username is already being used" : "Bu kullanıcı adı zaten var", - "Could not create user" : "Kullanıcı oluşturulamadı", "User disabled" : "Kullanıcı devre dışı", "Login canceled by app" : "Oturum açma uygulama tarafından iptal edildi", "App \"%1$s\" cannot be installed because the following dependencies are not fulfilled: %2$s" : "\"%1$s\" uygulaması, şu gereklilikler sağlanmadığı için kurulamıyor: %2$s", diff --git a/lib/l10n/tr.json b/lib/l10n/tr.json index 454563a8824a4..8de8b8936e9b7 100644 --- a/lib/l10n/tr.json +++ b/lib/l10n/tr.json @@ -199,14 +199,14 @@ "Oct." : "Eki", "Nov." : "Kas", "Dec." : "Ara", + "A valid password must be provided" : "Geçerli bir parola yazmalısınız", + "The username is already being used" : "Bu kullanıcı adı zaten var", + "Could not create user" : "Kullanıcı oluşturulamadı", "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Kullanıcı adında yalnızca şu karakterler kullanılabilir: \"a-z\", \"A-Z\", \"0-9\", ve \"_.@-'\"", "A valid username must be provided" : "Geçerli bir kullanıcı adı yazmalısınız", "Username contains whitespace at the beginning or at the end" : "Kullanıcı adının başı ya da sonunda boşluk var", "Username must not consist of dots only" : "Kullanıcı adı yalnızca noktalardan oluşamaz", "Username is invalid because files already exist for this user" : "Kullanıcı adı geçersiz, bu kullanıcı için zaten bazı dosyalar var", - "A valid password must be provided" : "Geçerli bir parola yazmalısınız", - "The username is already being used" : "Bu kullanıcı adı zaten var", - "Could not create user" : "Kullanıcı oluşturulamadı", "User disabled" : "Kullanıcı devre dışı", "Login canceled by app" : "Oturum açma uygulama tarafından iptal edildi", "App \"%1$s\" cannot be installed because the following dependencies are not fulfilled: %2$s" : "\"%1$s\" uygulaması, şu gereklilikler sağlanmadığı için kurulamıyor: %2$s", diff --git a/lib/l10n/ug.js b/lib/l10n/ug.js index f43bfe446b711..03456871c645f 100644 --- a/lib/l10n/ug.js +++ b/lib/l10n/ug.js @@ -50,8 +50,8 @@ OC.L10N.register( "Oct." : "ئوغۇز", "Nov." : "ئوغلاق", "Dec." : "كۆنەك", - "A valid username must be provided" : "چوقۇم ئىناۋەتلىك ئىشلەتكۈچى ئىسمىدىن بىرنى تەمىنلەش كېرەك", "A valid password must be provided" : "چوقۇم ئىناۋەتلىك ئىم تەمىنلەش كېرەك", + "A valid username must be provided" : "چوقۇم ئىناۋەتلىك ئىشلەتكۈچى ئىسمىدىن بىرنى تەمىنلەش كېرەك", "Authentication error" : "سالاھىيەت دەلىللەش خاتالىقى" }, "nplurals=2; plural=(n != 1);"); diff --git a/lib/l10n/ug.json b/lib/l10n/ug.json index 9c8245f972110..b5b528095cf2d 100644 --- a/lib/l10n/ug.json +++ b/lib/l10n/ug.json @@ -48,8 +48,8 @@ "Oct." : "ئوغۇز", "Nov." : "ئوغلاق", "Dec." : "كۆنەك", - "A valid username must be provided" : "چوقۇم ئىناۋەتلىك ئىشلەتكۈچى ئىسمىدىن بىرنى تەمىنلەش كېرەك", "A valid password must be provided" : "چوقۇم ئىناۋەتلىك ئىم تەمىنلەش كېرەك", + "A valid username must be provided" : "چوقۇم ئىناۋەتلىك ئىشلەتكۈچى ئىسمىدىن بىرنى تەمىنلەش كېرەك", "Authentication error" : "سالاھىيەت دەلىللەش خاتالىقى" },"pluralForm" :"nplurals=2; plural=(n != 1);" } \ No newline at end of file diff --git a/lib/l10n/uk.js b/lib/l10n/uk.js index e87fff578c926..c6d22c15f7fc7 100644 --- a/lib/l10n/uk.js +++ b/lib/l10n/uk.js @@ -195,14 +195,14 @@ OC.L10N.register( "Oct." : "Жов.", "Nov." : "Лис.", "Dec." : "Гру.", + "A valid password must be provided" : "Потрібно задати вірний пароль", + "The username is already being used" : "Ім'я користувача вже використовується", + "Could not create user" : "Не вдалося створити користувача", "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Тільки такі символи допускаються в імені користувача: \"a-z\", \"A-Z\", \"0-9\", і \"_.@-'\"", "A valid username must be provided" : "Потрібно задати вірне ім'я користувача", "Username contains whitespace at the beginning or at the end" : "Ім'я користувача містить символ пробілу в початку або в кінці", "Username must not consist of dots only" : "Ім'я користувача не повинно складатися лише з крапок", "Username is invalid because files already exist for this user" : "Ім'я користувача недійсне, оскільки файли для цього користувача вже існують", - "A valid password must be provided" : "Потрібно задати вірний пароль", - "The username is already being used" : "Ім'я користувача вже використовується", - "Could not create user" : "Не вдалося створити користувача", "User disabled" : "Користувач виключений", "Login canceled by app" : "Вхід скасовано застосунком", "App \"%1$s\" cannot be installed because the following dependencies are not fulfilled: %2$s" : "Програму \"%1$s\" неможливо встановити, оскільки не виконано такі залежності: %2$s", diff --git a/lib/l10n/uk.json b/lib/l10n/uk.json index 97225e60b0913..51a9be14028a3 100644 --- a/lib/l10n/uk.json +++ b/lib/l10n/uk.json @@ -193,14 +193,14 @@ "Oct." : "Жов.", "Nov." : "Лис.", "Dec." : "Гру.", + "A valid password must be provided" : "Потрібно задати вірний пароль", + "The username is already being used" : "Ім'я користувача вже використовується", + "Could not create user" : "Не вдалося створити користувача", "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Тільки такі символи допускаються в імені користувача: \"a-z\", \"A-Z\", \"0-9\", і \"_.@-'\"", "A valid username must be provided" : "Потрібно задати вірне ім'я користувача", "Username contains whitespace at the beginning or at the end" : "Ім'я користувача містить символ пробілу в початку або в кінці", "Username must not consist of dots only" : "Ім'я користувача не повинно складатися лише з крапок", "Username is invalid because files already exist for this user" : "Ім'я користувача недійсне, оскільки файли для цього користувача вже існують", - "A valid password must be provided" : "Потрібно задати вірний пароль", - "The username is already being used" : "Ім'я користувача вже використовується", - "Could not create user" : "Не вдалося створити користувача", "User disabled" : "Користувач виключений", "Login canceled by app" : "Вхід скасовано застосунком", "App \"%1$s\" cannot be installed because the following dependencies are not fulfilled: %2$s" : "Програму \"%1$s\" неможливо встановити, оскільки не виконано такі залежності: %2$s", diff --git a/lib/l10n/zh_CN.js b/lib/l10n/zh_CN.js index 43ea59c7558ed..51a69e9b3741b 100644 --- a/lib/l10n/zh_CN.js +++ b/lib/l10n/zh_CN.js @@ -196,14 +196,14 @@ OC.L10N.register( "Oct." : "十月", "Nov." : "十一月", "Dec." : "十二月", + "A valid password must be provided" : "必须提供合法的密码", + "The username is already being used" : "用户名已被使用", + "Could not create user" : "无法创建用户", "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "在用户名中只允许使用以下字符:“a-z”、“A-Z”、“0-9” 和 \"_.@-'\"", "A valid username must be provided" : "必须提供合法的用户名", "Username contains whitespace at the beginning or at the end" : "用户名在开头或结尾处包含空格", "Username must not consist of dots only" : "用户名不能仅由点组成", "Username is invalid because files already exist for this user" : "用户名无效,因为该用户已经存在文件", - "A valid password must be provided" : "必须提供合法的密码", - "The username is already being used" : "用户名已被使用", - "Could not create user" : "无法创建用户", "User disabled" : "用户已禁用", "Login canceled by app" : "已通过应用取消登录", "App \"%1$s\" cannot be installed because the following dependencies are not fulfilled: %2$s" : "应用 \"%1$s\" 无法安装,因为不能满足以下依赖: %2$s", diff --git a/lib/l10n/zh_CN.json b/lib/l10n/zh_CN.json index 146527281475e..cfc7103e84f5c 100644 --- a/lib/l10n/zh_CN.json +++ b/lib/l10n/zh_CN.json @@ -194,14 +194,14 @@ "Oct." : "十月", "Nov." : "十一月", "Dec." : "十二月", + "A valid password must be provided" : "必须提供合法的密码", + "The username is already being used" : "用户名已被使用", + "Could not create user" : "无法创建用户", "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "在用户名中只允许使用以下字符:“a-z”、“A-Z”、“0-9” 和 \"_.@-'\"", "A valid username must be provided" : "必须提供合法的用户名", "Username contains whitespace at the beginning or at the end" : "用户名在开头或结尾处包含空格", "Username must not consist of dots only" : "用户名不能仅由点组成", "Username is invalid because files already exist for this user" : "用户名无效,因为该用户已经存在文件", - "A valid password must be provided" : "必须提供合法的密码", - "The username is already being used" : "用户名已被使用", - "Could not create user" : "无法创建用户", "User disabled" : "用户已禁用", "Login canceled by app" : "已通过应用取消登录", "App \"%1$s\" cannot be installed because the following dependencies are not fulfilled: %2$s" : "应用 \"%1$s\" 无法安装,因为不能满足以下依赖: %2$s", diff --git a/lib/l10n/zh_HK.js b/lib/l10n/zh_HK.js index 563fa12647744..2fad8ad64cf71 100644 --- a/lib/l10n/zh_HK.js +++ b/lib/l10n/zh_HK.js @@ -201,14 +201,14 @@ OC.L10N.register( "Oct." : "十月", "Nov." : "十一月", "Dec." : "十二月", + "A valid password must be provided" : "須提供有效的密碼", + "The username is already being used" : "這個用戶名稱已經有人使用了", + "Could not create user" : "無法建立用戶", "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "用戶名稱當中只能包含下列字元:\"a-z\", \"A-Z\", \"0-9\", 和 \"_.@-'\"", "A valid username must be provided" : "必須提供一個有效的用戶名", "Username contains whitespace at the beginning or at the end" : "用戶名的開頭或結尾有空白", "Username must not consist of dots only" : "用戶名稱不能只包含小數點", "Username is invalid because files already exist for this user" : "用戶名稱無效,因為用戶的檔案已經存在", - "A valid password must be provided" : "須提供有效的密碼", - "The username is already being used" : "這個用戶名稱已經有人使用了", - "Could not create user" : "無法建立用戶", "User disabled" : "用戶已停用", "Login canceled by app" : "登入已被應用程式取消", "App \"%1$s\" cannot be installed because the following dependencies are not fulfilled: %2$s" : "應用程式 \"%1$s\" 無法被安裝,缺少下列所需元件: %2$s", diff --git a/lib/l10n/zh_HK.json b/lib/l10n/zh_HK.json index 39d04913f2de2..f5695aaaa5ed1 100644 --- a/lib/l10n/zh_HK.json +++ b/lib/l10n/zh_HK.json @@ -199,14 +199,14 @@ "Oct." : "十月", "Nov." : "十一月", "Dec." : "十二月", + "A valid password must be provided" : "須提供有效的密碼", + "The username is already being used" : "這個用戶名稱已經有人使用了", + "Could not create user" : "無法建立用戶", "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "用戶名稱當中只能包含下列字元:\"a-z\", \"A-Z\", \"0-9\", 和 \"_.@-'\"", "A valid username must be provided" : "必須提供一個有效的用戶名", "Username contains whitespace at the beginning or at the end" : "用戶名的開頭或結尾有空白", "Username must not consist of dots only" : "用戶名稱不能只包含小數點", "Username is invalid because files already exist for this user" : "用戶名稱無效,因為用戶的檔案已經存在", - "A valid password must be provided" : "須提供有效的密碼", - "The username is already being used" : "這個用戶名稱已經有人使用了", - "Could not create user" : "無法建立用戶", "User disabled" : "用戶已停用", "Login canceled by app" : "登入已被應用程式取消", "App \"%1$s\" cannot be installed because the following dependencies are not fulfilled: %2$s" : "應用程式 \"%1$s\" 無法被安裝,缺少下列所需元件: %2$s", diff --git a/lib/l10n/zh_TW.js b/lib/l10n/zh_TW.js index cf4b06d6cd414..df3ac7891f4e6 100644 --- a/lib/l10n/zh_TW.js +++ b/lib/l10n/zh_TW.js @@ -201,14 +201,14 @@ OC.L10N.register( "Oct." : "十月", "Nov." : "十一月", "Dec." : "十二月", + "A valid password must be provided" : "須提供有效的密碼", + "The username is already being used" : "這個使用者名稱已經有人使用了", + "Could not create user" : "無法建立使用者", "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "使用者名稱當中只能包含下列字元:\"a-z\", \"A-Z\", \"0-9\", 和 \"_.@-'\"", "A valid username must be provided" : "必須提供一個有效的用戶名", "Username contains whitespace at the beginning or at the end" : "用戶名的開頭或結尾有空白", "Username must not consist of dots only" : "使用者名稱不能只包含小數點", "Username is invalid because files already exist for this user" : "使用者名稱無效,因為使用者的檔案已經存在", - "A valid password must be provided" : "須提供有效的密碼", - "The username is already being used" : "這個使用者名稱已經有人使用了", - "Could not create user" : "無法建立使用者", "User disabled" : "使用者已停用", "Login canceled by app" : "應用程式取消了登入", "App \"%1$s\" cannot be installed because the following dependencies are not fulfilled: %2$s" : "應用程式 \"%1$s\" 無法被安裝,缺少下列所需元件: %2$s", diff --git a/lib/l10n/zh_TW.json b/lib/l10n/zh_TW.json index 03350581027a5..31096d8ba6de5 100644 --- a/lib/l10n/zh_TW.json +++ b/lib/l10n/zh_TW.json @@ -199,14 +199,14 @@ "Oct." : "十月", "Nov." : "十一月", "Dec." : "十二月", + "A valid password must be provided" : "須提供有效的密碼", + "The username is already being used" : "這個使用者名稱已經有人使用了", + "Could not create user" : "無法建立使用者", "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "使用者名稱當中只能包含下列字元:\"a-z\", \"A-Z\", \"0-9\", 和 \"_.@-'\"", "A valid username must be provided" : "必須提供一個有效的用戶名", "Username contains whitespace at the beginning or at the end" : "用戶名的開頭或結尾有空白", "Username must not consist of dots only" : "使用者名稱不能只包含小數點", "Username is invalid because files already exist for this user" : "使用者名稱無效,因為使用者的檔案已經存在", - "A valid password must be provided" : "須提供有效的密碼", - "The username is already being used" : "這個使用者名稱已經有人使用了", - "Could not create user" : "無法建立使用者", "User disabled" : "使用者已停用", "Login canceled by app" : "應用程式取消了登入", "App \"%1$s\" cannot be installed because the following dependencies are not fulfilled: %2$s" : "應用程式 \"%1$s\" 無法被安裝,缺少下列所需元件: %2$s", From 0c3e73c5426a593d1fef3c2260cc106d8489725a Mon Sep 17 00:00:00 2001 From: Daniel Kesselberg Date: Sat, 10 Dec 2022 23:21:12 +0100 Subject: [PATCH 10/14] ci: update minio image for s3 primary storage tests Signed-off-by: Daniel Kesselberg --- .github/workflows/s3-primary.yml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/.github/workflows/s3-primary.yml b/.github/workflows/s3-primary.yml index 53fc9dbb507a7..a6ee0970adaa4 100644 --- a/.github/workflows/s3-primary.yml +++ b/.github/workflows/s3-primary.yml @@ -24,7 +24,7 @@ jobs: env: MINIO_ACCESS_KEY: minio MINIO_SECRET_KEY: minio123 - image: bitnami/minio:2021.10.6 + image: bitnami/minio:2021.12.29 ports: - "9000:9000" @@ -52,8 +52,6 @@ jobs: run: | sleep 10 curl -f -m 1 --retry-connrefused --retry 10 --retry-delay 10 http://localhost:9000/minio/health/ready - sleep 10 - curl -f -m 1 --retry-connrefused --retry 10 --retry-delay 10 http://localhost:9000/minio/health/ready - name: PHPUnit working-directory: tests From d2933358d600905f6ce02910102d7560db7a82d8 Mon Sep 17 00:00:00 2001 From: Nextcloud bot Date: Sun, 11 Dec 2022 02:31:19 +0000 Subject: [PATCH 11/14] [tx-robot] updated from transifex Signed-off-by: Nextcloud bot --- apps/files_sharing/l10n/es_MX.js | 1 + apps/files_sharing/l10n/es_MX.json | 1 + apps/files_sharing/l10n/pl.js | 5 +++++ apps/files_sharing/l10n/pl.json | 5 +++++ apps/settings/l10n/ko.js | 1 + apps/settings/l10n/ko.json | 1 + apps/updatenotification/l10n/ko.js | 3 +++ apps/updatenotification/l10n/ko.json | 3 +++ core/l10n/de_DE.js | 2 ++ core/l10n/de_DE.json | 2 ++ core/l10n/pl.js | 2 ++ core/l10n/pl.json | 2 ++ lib/l10n/ko.js | 2 ++ lib/l10n/ko.json | 2 ++ 14 files changed, 32 insertions(+) diff --git a/apps/files_sharing/l10n/es_MX.js b/apps/files_sharing/l10n/es_MX.js index c86c50af32053..167a42b5c6f62 100644 --- a/apps/files_sharing/l10n/es_MX.js +++ b/apps/files_sharing/l10n/es_MX.js @@ -118,6 +118,7 @@ OC.L10N.register( "Password protect" : "Proteger con contraseña", "Add another link" : "Añadir otro enlace", "Share link" : "Compartir liga", + "No recommendations. Start typing." : "Sin recomendaciones. Empiece a escribir.", "Resharing is not allowed" : "No está permitido recompartir", "Shared with you by {owner}" : "Compartido contigo por {owner}", "Shared" : "Compartido", diff --git a/apps/files_sharing/l10n/es_MX.json b/apps/files_sharing/l10n/es_MX.json index 0d29e8c421f59..349d3a372dd93 100644 --- a/apps/files_sharing/l10n/es_MX.json +++ b/apps/files_sharing/l10n/es_MX.json @@ -116,6 +116,7 @@ "Password protect" : "Proteger con contraseña", "Add another link" : "Añadir otro enlace", "Share link" : "Compartir liga", + "No recommendations. Start typing." : "Sin recomendaciones. Empiece a escribir.", "Resharing is not allowed" : "No está permitido recompartir", "Shared with you by {owner}" : "Compartido contigo por {owner}", "Shared" : "Compartido", diff --git a/apps/files_sharing/l10n/pl.js b/apps/files_sharing/l10n/pl.js index b9f4ea360006b..0cc9f0c50831c 100644 --- a/apps/files_sharing/l10n/pl.js +++ b/apps/files_sharing/l10n/pl.js @@ -210,6 +210,8 @@ OC.L10N.register( "Share link" : "Udostępnij link", "Error, please enter proper password and/or expiration date" : "Błąd, wprowadź prawidłowe hasło i/lub datę ważności", "Error while creating the share" : "Błąd podczas tworzenia udostępniania", + "Share label saved" : "Etykieta udostępnienia zapisana", + "Share password saved" : "Hasło udostępnienia zapisane", "Search for share recipients" : "Szukaj odbiorców udostępnienia", "No recommendations. Start typing." : "Brak rekomendacji. Możesz napisać.", "Resharing is not allowed" : "Udostępnianie dalej jest niedozwolone", @@ -233,6 +235,9 @@ OC.L10N.register( "Error creating the share" : "Błąd podczas tworzenia udostępnienia", "Error updating the share: {errorMessage}" : "Błąd podczas aktualizacji udostępnienia: {errorMessage}", "Error updating the share" : "Błąd podczas aktualizacji udostępnienia", + "Share note saved" : "Notatka udostępnienia zapisana", + "File \"{path}\" has been unshared" : "Zatrzymane udostępnienie dla pliku \"{path}\"", + "Folder \"{path}\" has been unshared" : "Zatrzymane udostępnienie dla katalogu \"{path}\"", "Shared" : "Udostępniono", "Share" : "Udostępnij", "Shared with" : "Udostępnione", diff --git a/apps/files_sharing/l10n/pl.json b/apps/files_sharing/l10n/pl.json index 11fbca60248d0..e32b54c002101 100644 --- a/apps/files_sharing/l10n/pl.json +++ b/apps/files_sharing/l10n/pl.json @@ -208,6 +208,8 @@ "Share link" : "Udostępnij link", "Error, please enter proper password and/or expiration date" : "Błąd, wprowadź prawidłowe hasło i/lub datę ważności", "Error while creating the share" : "Błąd podczas tworzenia udostępniania", + "Share label saved" : "Etykieta udostępnienia zapisana", + "Share password saved" : "Hasło udostępnienia zapisane", "Search for share recipients" : "Szukaj odbiorców udostępnienia", "No recommendations. Start typing." : "Brak rekomendacji. Możesz napisać.", "Resharing is not allowed" : "Udostępnianie dalej jest niedozwolone", @@ -231,6 +233,9 @@ "Error creating the share" : "Błąd podczas tworzenia udostępnienia", "Error updating the share: {errorMessage}" : "Błąd podczas aktualizacji udostępnienia: {errorMessage}", "Error updating the share" : "Błąd podczas aktualizacji udostępnienia", + "Share note saved" : "Notatka udostępnienia zapisana", + "File \"{path}\" has been unshared" : "Zatrzymane udostępnienie dla pliku \"{path}\"", + "Folder \"{path}\" has been unshared" : "Zatrzymane udostępnienie dla katalogu \"{path}\"", "Shared" : "Udostępniono", "Share" : "Udostępnij", "Shared with" : "Udostępnione", diff --git a/apps/settings/l10n/ko.js b/apps/settings/l10n/ko.js index f74bc027d29a9..44a7301a3b6d8 100644 --- a/apps/settings/l10n/ko.js +++ b/apps/settings/l10n/ko.js @@ -258,6 +258,7 @@ OC.L10N.register( "png or jpg, max. 20 MB" : "PNG, JPG, 최대 20MB", "Picture provided by original account" : "원래 계정에서 제공하는 사진", "Cancel" : "취소", + "Please note that it can take up to 24 hours for your profile picture to be updated everywhere." : "프로필사진이 모든 곳에 갱신될 때 까지 최대 24시간이 걸릴 수 있습니다.", "Your biography" : "내 소개문구", "Details" : "자세히", "You are a member of the following groups:" : "당신은 다음 그룹의 멤버입니다:", diff --git a/apps/settings/l10n/ko.json b/apps/settings/l10n/ko.json index 8d74b2f017084..4cc088b99b37f 100644 --- a/apps/settings/l10n/ko.json +++ b/apps/settings/l10n/ko.json @@ -256,6 +256,7 @@ "png or jpg, max. 20 MB" : "PNG, JPG, 최대 20MB", "Picture provided by original account" : "원래 계정에서 제공하는 사진", "Cancel" : "취소", + "Please note that it can take up to 24 hours for your profile picture to be updated everywhere." : "프로필사진이 모든 곳에 갱신될 때 까지 최대 24시간이 걸릴 수 있습니다.", "Your biography" : "내 소개문구", "Details" : "자세히", "You are a member of the following groups:" : "당신은 다음 그룹의 멤버입니다:", diff --git a/apps/updatenotification/l10n/ko.js b/apps/updatenotification/l10n/ko.js index 44b3ca49305b4..e74dece5df1e1 100644 --- a/apps/updatenotification/l10n/ko.js +++ b/apps/updatenotification/l10n/ko.js @@ -14,18 +14,21 @@ OC.L10N.register( "Update" : "업데이트", "The version you are running is not maintained anymore. Please make sure to update to a supported version as soon as possible." : "실행 중인 버전이 더 이상 지원되지 않습니다. 빠른 시일 내에 지원되는 버전으로 업데이트하십시오.", "View in store" : "스토어에서 보기", + "Please note that the web updater is not recommended with more than 100 users! Please use the command line updater instead!" : "100명 이상의 사용자 수를 보유하고 있는 경우 웹 업데이터 사용을 권장하지 않습니다. 대신 명령행 업데이터를 사용하십시오. ", "Open updater" : "업데이터 열기", "Download now" : "지금 다운로드", "What's new?" : "새로운 항목", "The update check is not yet finished. Please refresh the page." : "업데이트 확인이 아직 끝나지 않았습니다. 페이지를 새로 고치십시오.", "Your version is up to date." : "최신 버전을 사용하고 있습니다.", "A non-default update server is in use to be checked for updates:" : "기본 업데이트 서버가 아닌 곳에서 업데이트를 확인하고 있음:", + "You can change the update channel below which also affects the apps management page. E.g. after switching to the beta channel, beta app updates will be offered to you in the apps management page." : "아래에서 업데이트 채널을 번경할 수 있으며, 이는 앱 관리 페이지에도 적용됩니다. 예를 들어 베타 채널로 변경할 경우, 앱 관리 페이지에서 각 앱에 대한 배타 업데이트가 제공됩니다.", "Update channel:" : "업데이트 채널:", "You can always update to a newer version. But you can never downgrade to a more stable version." : "항상 새 버전으로 업그레이드할 수 있지만, 더 안정적인 버전으로 다운그레이드할 수는 없습니다.", "Notify members of the following groups about available updates:" : "다음 그룹 구성원에게 업데이트 알림 전달:", "The selected update channel makes dedicated notifications for the server obsolete." : "선택한 업데이트 채널은 서버 알림을 사용하지 않습니다.", "The selected update channel does not support updates of the server." : "선택한 업데이트 채널은 서버 업데이트를 지원하지 않습니다.", "A new version is available: {newVersionString}" : "새 버전을 사용할 수 있음: {newVersionString}", + "Note that after a new release the update only shows up after the first minor release or later. We roll out new versions spread out over time to our users and sometimes skip a version when issues are found. Learn more about updates and release channels at {link}" : "메이저 업그레이드는 해당 버전의 첫 마이너 업데이트 혹은 그 후의 업데이트에 대해 제공됩니다. 새로운 버전은 단계적으로 적용되며, 문제가 발생할 경우 배포를 중단하고 다음 업데이트로 건너뛸 수 있습니다. 업데이트와 릴리즈 채널에 대한 자세한 정보는 다음의 링크를 참고하십시오. {link}", "Checked on {lastCheckedDate}" : "{lastCheckedDate}에 확인함", "Please make sure your config.php does not set appstoreenabled to false." : "config.php에서 appstoreenabled 설정이 false가 아닌지 확인하십시오.", "View changelog" : "변경 기록 확인", diff --git a/apps/updatenotification/l10n/ko.json b/apps/updatenotification/l10n/ko.json index 31ac9ef6732b8..49737200b3319 100644 --- a/apps/updatenotification/l10n/ko.json +++ b/apps/updatenotification/l10n/ko.json @@ -12,18 +12,21 @@ "Update" : "업데이트", "The version you are running is not maintained anymore. Please make sure to update to a supported version as soon as possible." : "실행 중인 버전이 더 이상 지원되지 않습니다. 빠른 시일 내에 지원되는 버전으로 업데이트하십시오.", "View in store" : "스토어에서 보기", + "Please note that the web updater is not recommended with more than 100 users! Please use the command line updater instead!" : "100명 이상의 사용자 수를 보유하고 있는 경우 웹 업데이터 사용을 권장하지 않습니다. 대신 명령행 업데이터를 사용하십시오. ", "Open updater" : "업데이터 열기", "Download now" : "지금 다운로드", "What's new?" : "새로운 항목", "The update check is not yet finished. Please refresh the page." : "업데이트 확인이 아직 끝나지 않았습니다. 페이지를 새로 고치십시오.", "Your version is up to date." : "최신 버전을 사용하고 있습니다.", "A non-default update server is in use to be checked for updates:" : "기본 업데이트 서버가 아닌 곳에서 업데이트를 확인하고 있음:", + "You can change the update channel below which also affects the apps management page. E.g. after switching to the beta channel, beta app updates will be offered to you in the apps management page." : "아래에서 업데이트 채널을 번경할 수 있으며, 이는 앱 관리 페이지에도 적용됩니다. 예를 들어 베타 채널로 변경할 경우, 앱 관리 페이지에서 각 앱에 대한 배타 업데이트가 제공됩니다.", "Update channel:" : "업데이트 채널:", "You can always update to a newer version. But you can never downgrade to a more stable version." : "항상 새 버전으로 업그레이드할 수 있지만, 더 안정적인 버전으로 다운그레이드할 수는 없습니다.", "Notify members of the following groups about available updates:" : "다음 그룹 구성원에게 업데이트 알림 전달:", "The selected update channel makes dedicated notifications for the server obsolete." : "선택한 업데이트 채널은 서버 알림을 사용하지 않습니다.", "The selected update channel does not support updates of the server." : "선택한 업데이트 채널은 서버 업데이트를 지원하지 않습니다.", "A new version is available: {newVersionString}" : "새 버전을 사용할 수 있음: {newVersionString}", + "Note that after a new release the update only shows up after the first minor release or later. We roll out new versions spread out over time to our users and sometimes skip a version when issues are found. Learn more about updates and release channels at {link}" : "메이저 업그레이드는 해당 버전의 첫 마이너 업데이트 혹은 그 후의 업데이트에 대해 제공됩니다. 새로운 버전은 단계적으로 적용되며, 문제가 발생할 경우 배포를 중단하고 다음 업데이트로 건너뛸 수 있습니다. 업데이트와 릴리즈 채널에 대한 자세한 정보는 다음의 링크를 참고하십시오. {link}", "Checked on {lastCheckedDate}" : "{lastCheckedDate}에 확인함", "Please make sure your config.php does not set appstoreenabled to false." : "config.php에서 appstoreenabled 설정이 false가 아닌지 확인하십시오.", "View changelog" : "변경 기록 확인", diff --git a/core/l10n/de_DE.js b/core/l10n/de_DE.js index 9471860965fcf..2f0c376ae02ec 100644 --- a/core/l10n/de_DE.js +++ b/core/l10n/de_DE.js @@ -190,6 +190,7 @@ OC.L10N.register( "You have not added any info yet" : "Sie haben noch keine Infos hinzugefügt", "{user} has not added any info yet" : "{user} hat noch keine Infos hinzugefügt", "Error opening the user status modal, try hard refreshing the page" : "Fehler beim Modal-öffnen des Benutzerstatus, versuchen Sie die Seite zu aktualisieren", + "Search starts once you start typing and results may be reached with the arrow keys" : "Die Suche beginnt, sobald Sie mit der Eingabe beginnen, und die Ergebnisse können mit den Pfeiltasten erreicht werden", "Reset search" : "Suche zurücksetzen", "Start search" : "Suche starten", "Search for {name} only" : "Nur nach {name} suchen", @@ -341,6 +342,7 @@ OC.L10N.register( "See the documentation" : "Schauen Sie in die Dokumentation", "It looks like you are trying to reinstall your Nextcloud. However the file CAN_INSTALL is missing from your config directory. Please create the file CAN_INSTALL in your config folder to continue." : "Es sieht so aus, als ob Sie Nextcloud erneut installieren möchten. Es fehlt jedoch die Datei CAN_INSTALL in ihrem Konfigurationsordner. Bitte erstellen Sie die Datei CAN_INSTALL im Konfigurationsordner um fortzufahren.", "Could not remove CAN_INSTALL from the config folder. Please remove this file manually." : "CAN_INSTALL kann nicht aus dem Konfigurationsordner gelöscht werden. Bitte entfernen Sie die Datei manuell.", + "%s logo" : "%s-Logo", "This application requires JavaScript for correct operation. Please {linkstart}enable JavaScript{linkend} and reload the page." : "Diese Anwendung benötigt JavaScript zum ordnungsgemäßen Betrieb. Bitte {linkstart}aktivieren Sie JavaScript{linkend} und laden Sie die Seite neu.", "Skip to main content" : "Zum Hauptinhalt springen", "Skip to navigation of app" : "Zum Navigationsbereich der App springen", diff --git a/core/l10n/de_DE.json b/core/l10n/de_DE.json index 41fb7c817880c..faf7354638694 100644 --- a/core/l10n/de_DE.json +++ b/core/l10n/de_DE.json @@ -188,6 +188,7 @@ "You have not added any info yet" : "Sie haben noch keine Infos hinzugefügt", "{user} has not added any info yet" : "{user} hat noch keine Infos hinzugefügt", "Error opening the user status modal, try hard refreshing the page" : "Fehler beim Modal-öffnen des Benutzerstatus, versuchen Sie die Seite zu aktualisieren", + "Search starts once you start typing and results may be reached with the arrow keys" : "Die Suche beginnt, sobald Sie mit der Eingabe beginnen, und die Ergebnisse können mit den Pfeiltasten erreicht werden", "Reset search" : "Suche zurücksetzen", "Start search" : "Suche starten", "Search for {name} only" : "Nur nach {name} suchen", @@ -339,6 +340,7 @@ "See the documentation" : "Schauen Sie in die Dokumentation", "It looks like you are trying to reinstall your Nextcloud. However the file CAN_INSTALL is missing from your config directory. Please create the file CAN_INSTALL in your config folder to continue." : "Es sieht so aus, als ob Sie Nextcloud erneut installieren möchten. Es fehlt jedoch die Datei CAN_INSTALL in ihrem Konfigurationsordner. Bitte erstellen Sie die Datei CAN_INSTALL im Konfigurationsordner um fortzufahren.", "Could not remove CAN_INSTALL from the config folder. Please remove this file manually." : "CAN_INSTALL kann nicht aus dem Konfigurationsordner gelöscht werden. Bitte entfernen Sie die Datei manuell.", + "%s logo" : "%s-Logo", "This application requires JavaScript for correct operation. Please {linkstart}enable JavaScript{linkend} and reload the page." : "Diese Anwendung benötigt JavaScript zum ordnungsgemäßen Betrieb. Bitte {linkstart}aktivieren Sie JavaScript{linkend} und laden Sie die Seite neu.", "Skip to main content" : "Zum Hauptinhalt springen", "Skip to navigation of app" : "Zum Navigationsbereich der App springen", diff --git a/core/l10n/pl.js b/core/l10n/pl.js index 25fa7c712ca4f..ad112962d8440 100644 --- a/core/l10n/pl.js +++ b/core/l10n/pl.js @@ -190,6 +190,7 @@ OC.L10N.register( "You have not added any info yet" : "Nie dodałeś jeszcze żadnych informacji", "{user} has not added any info yet" : "{user} nie dodał jeszcze żadnych informacji", "Error opening the user status modal, try hard refreshing the page" : "Błąd podczas otwierania modalnego statusu użytkownika, spróbuj bardziej odświeżyć stronę", + "Search starts once you start typing and results may be reached with the arrow keys" : "Wyszukiwanie rozpoczyna się po rozpoczęciu pisania, a wyniki można uzyskać za pomocą klawiszy strzałek", "Reset search" : "Zresetuj wyszukiwanie", "Start search" : "Zacznij wyszukiwać", "Search for {name} only" : "Wyszukaj tylko {name}", @@ -341,6 +342,7 @@ OC.L10N.register( "See the documentation" : "Zapoznaj się z dokumentacją", "It looks like you are trying to reinstall your Nextcloud. However the file CAN_INSTALL is missing from your config directory. Please create the file CAN_INSTALL in your config folder to continue." : "Wygląda na to, że próbujesz ponownie zainstalować Nextcloud. Brakuje jednak pliku CAN_INSTALL w katalogu konfiguracyjnym. Aby kontynuować, utwórz plik CAN_INSTALL w katalogu konfiguracyjnym.", "Could not remove CAN_INSTALL from the config folder. Please remove this file manually." : "Nie można usunąć CAN_INSTALL z katalogu konfiguracyjnego. Usuń ten plik ręcznie.", + "%s logo" : "Logo %s", "This application requires JavaScript for correct operation. Please {linkstart}enable JavaScript{linkend} and reload the page." : "Aplikacja do poprawnego działania wymaga JavaScript. {linkstart}włącz JavaScript{linkend} i wczytaj stronę ponownie.", "Skip to main content" : "Przejdź do głównej zawartości", "Skip to navigation of app" : "Przejdź do nawigacji aplikacji", diff --git a/core/l10n/pl.json b/core/l10n/pl.json index 4f4be1d69983a..88bc230662ea3 100644 --- a/core/l10n/pl.json +++ b/core/l10n/pl.json @@ -188,6 +188,7 @@ "You have not added any info yet" : "Nie dodałeś jeszcze żadnych informacji", "{user} has not added any info yet" : "{user} nie dodał jeszcze żadnych informacji", "Error opening the user status modal, try hard refreshing the page" : "Błąd podczas otwierania modalnego statusu użytkownika, spróbuj bardziej odświeżyć stronę", + "Search starts once you start typing and results may be reached with the arrow keys" : "Wyszukiwanie rozpoczyna się po rozpoczęciu pisania, a wyniki można uzyskać za pomocą klawiszy strzałek", "Reset search" : "Zresetuj wyszukiwanie", "Start search" : "Zacznij wyszukiwać", "Search for {name} only" : "Wyszukaj tylko {name}", @@ -339,6 +340,7 @@ "See the documentation" : "Zapoznaj się z dokumentacją", "It looks like you are trying to reinstall your Nextcloud. However the file CAN_INSTALL is missing from your config directory. Please create the file CAN_INSTALL in your config folder to continue." : "Wygląda na to, że próbujesz ponownie zainstalować Nextcloud. Brakuje jednak pliku CAN_INSTALL w katalogu konfiguracyjnym. Aby kontynuować, utwórz plik CAN_INSTALL w katalogu konfiguracyjnym.", "Could not remove CAN_INSTALL from the config folder. Please remove this file manually." : "Nie można usunąć CAN_INSTALL z katalogu konfiguracyjnego. Usuń ten plik ręcznie.", + "%s logo" : "Logo %s", "This application requires JavaScript for correct operation. Please {linkstart}enable JavaScript{linkend} and reload the page." : "Aplikacja do poprawnego działania wymaga JavaScript. {linkstart}włącz JavaScript{linkend} i wczytaj stronę ponownie.", "Skip to main content" : "Przejdź do głównej zawartości", "Skip to navigation of app" : "Przejdź do nawigacji aplikacji", diff --git a/lib/l10n/ko.js b/lib/l10n/ko.js index b9566d6dbee42..b0c903ab54703 100644 --- a/lib/l10n/ko.js +++ b/lib/l10n/ko.js @@ -68,6 +68,8 @@ OC.L10N.register( "Help" : "도움말", "Appearance and accessibility" : "외형과 접근성", "Apps" : "앱", + "Personal settings" : "개인 설정", + "Administration settings" : "관리자 설정", "Settings" : "설정", "Log out" : "로그아웃", "Users" : "사용자", diff --git a/lib/l10n/ko.json b/lib/l10n/ko.json index aa388767bd989..0501a7fa6544d 100644 --- a/lib/l10n/ko.json +++ b/lib/l10n/ko.json @@ -66,6 +66,8 @@ "Help" : "도움말", "Appearance and accessibility" : "외형과 접근성", "Apps" : "앱", + "Personal settings" : "개인 설정", + "Administration settings" : "관리자 설정", "Settings" : "설정", "Log out" : "로그아웃", "Users" : "사용자", From 2617c090d733811694eb9b4e2ecf0ba82942c8dd Mon Sep 17 00:00:00 2001 From: Varun Patil Date: Thu, 8 Dec 2022 15:06:58 -0800 Subject: [PATCH 12/14] preview: fix HEIC orientation Signed-off-by: Varun Patil --- lib/private/Preview/HEIC.php | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lib/private/Preview/HEIC.php b/lib/private/Preview/HEIC.php index ec200defce86f..71df98f9ac66e 100644 --- a/lib/private/Preview/HEIC.php +++ b/lib/private/Preview/HEIC.php @@ -115,6 +115,9 @@ private function getResizedPreview($tmpPath, $maxX, $maxY) { // Layer 0 contains either the bitmap or a flat representation of all vector layers $bp->readImage($tmpPath . '[0]'); + // Fix orientation from EXIF + $bp->autoOrient(); + $bp->setImageFormat('jpg'); $bp = $this->resize($bp, $maxX, $maxY); From 36e3661f3b75e590b2070816a81058dbba07a50b Mon Sep 17 00:00:00 2001 From: Nextcloud bot Date: Mon, 12 Dec 2022 02:20:03 +0000 Subject: [PATCH 13/14] [tx-robot] updated from transifex Signed-off-by: Nextcloud bot --- apps/files_sharing/l10n/fi.js | 2 +- apps/files_sharing/l10n/fi.json | 2 +- core/l10n/tr.js | 2 ++ core/l10n/tr.json | 2 ++ 4 files changed, 6 insertions(+), 2 deletions(-) diff --git a/apps/files_sharing/l10n/fi.js b/apps/files_sharing/l10n/fi.js index 07affc02e187e..9475044034a1b 100644 --- a/apps/files_sharing/l10n/fi.js +++ b/apps/files_sharing/l10n/fi.js @@ -200,7 +200,7 @@ OC.L10N.register( "Share link" : "Jaa linkki", "Error, please enter proper password and/or expiration date" : "Virhe, lisää kelvollinen salasana ja/tai päättymispäivä", "No recommendations. Start typing." : "Ei suosituksia. Aloita kirjoittaminen.", - "Resharing is not allowed" : "Uudellenjako ei ole salluttu", + "Resharing is not allowed" : "Uudelleenjako ei ole sallittu", "Name or email …" : "Nimi tai sähköposti...", "Name, email, or Federated Cloud ID …" : "Nimi, sähköposti tai federoitu Cloud ID...", "Searching …" : "Haetaan…", diff --git a/apps/files_sharing/l10n/fi.json b/apps/files_sharing/l10n/fi.json index 3fefbc1300d92..d97e48a4c4156 100644 --- a/apps/files_sharing/l10n/fi.json +++ b/apps/files_sharing/l10n/fi.json @@ -198,7 +198,7 @@ "Share link" : "Jaa linkki", "Error, please enter proper password and/or expiration date" : "Virhe, lisää kelvollinen salasana ja/tai päättymispäivä", "No recommendations. Start typing." : "Ei suosituksia. Aloita kirjoittaminen.", - "Resharing is not allowed" : "Uudellenjako ei ole salluttu", + "Resharing is not allowed" : "Uudelleenjako ei ole sallittu", "Name or email …" : "Nimi tai sähköposti...", "Name, email, or Federated Cloud ID …" : "Nimi, sähköposti tai federoitu Cloud ID...", "Searching …" : "Haetaan…", diff --git a/core/l10n/tr.js b/core/l10n/tr.js index bceb3c4cab21b..1c60d7a81665f 100644 --- a/core/l10n/tr.js +++ b/core/l10n/tr.js @@ -190,6 +190,7 @@ OC.L10N.register( "You have not added any info yet" : "Henüz herhangi bir bilgi eklememişsiniz", "{user} has not added any info yet" : "{user} henüz herhangi bir bilgi eklememiş", "Error opening the user status modal, try hard refreshing the page" : "Üste açılan kullanıcı durumu penceresinde sorun çıktı. Sayfası temizleyerek yenilemeyi deneyin ", + "Search starts once you start typing and results may be reached with the arrow keys" : "Arama, yazmaya başladığınızda başlar ve sonuçlara ok tuşları ile erişilebilir", "Reset search" : "Aramayı sıfırla", "Start search" : "Aramayı başlat", "Search for {name} only" : "Yalnızca {name} için aransın", @@ -341,6 +342,7 @@ OC.L10N.register( "See the documentation" : "Belgelere bakın", "It looks like you are trying to reinstall your Nextcloud. However the file CAN_INSTALL is missing from your config directory. Please create the file CAN_INSTALL in your config folder to continue." : "Nextcloud kurulumunu yeniden yapmayı deniyorsunuz gibi görünüyor. Ancak config klasöründe CAN_INSTALL dosyası eksik. Lütfen İşlemi sürdürmek için config klasöründe CAN_INSTALL dosyasını oluşturun.", "Could not remove CAN_INSTALL from the config folder. Please remove this file manually." : "Config klasöründeki CAN_INSTALL dosyası silinemedi. Lütfen bu dosyayı el ile silin.", + "%s logo" : "%s logosu", "This application requires JavaScript for correct operation. Please {linkstart}enable JavaScript{linkend} and reload the page." : "Bu uygulamanın düzgün çalışabilmesi için JavaScript gereklidir. Lütfen {linkstart}JavaScript uygulamasını etkinleştirip{linkend} sayfayı yeniden yükleyin.", "Skip to main content" : "Ana içeriğe geç", "Skip to navigation of app" : "Uygulama gezinmesine geç", diff --git a/core/l10n/tr.json b/core/l10n/tr.json index a95e6c369efb0..f80d5d94f840e 100644 --- a/core/l10n/tr.json +++ b/core/l10n/tr.json @@ -188,6 +188,7 @@ "You have not added any info yet" : "Henüz herhangi bir bilgi eklememişsiniz", "{user} has not added any info yet" : "{user} henüz herhangi bir bilgi eklememiş", "Error opening the user status modal, try hard refreshing the page" : "Üste açılan kullanıcı durumu penceresinde sorun çıktı. Sayfası temizleyerek yenilemeyi deneyin ", + "Search starts once you start typing and results may be reached with the arrow keys" : "Arama, yazmaya başladığınızda başlar ve sonuçlara ok tuşları ile erişilebilir", "Reset search" : "Aramayı sıfırla", "Start search" : "Aramayı başlat", "Search for {name} only" : "Yalnızca {name} için aransın", @@ -339,6 +340,7 @@ "See the documentation" : "Belgelere bakın", "It looks like you are trying to reinstall your Nextcloud. However the file CAN_INSTALL is missing from your config directory. Please create the file CAN_INSTALL in your config folder to continue." : "Nextcloud kurulumunu yeniden yapmayı deniyorsunuz gibi görünüyor. Ancak config klasöründe CAN_INSTALL dosyası eksik. Lütfen İşlemi sürdürmek için config klasöründe CAN_INSTALL dosyasını oluşturun.", "Could not remove CAN_INSTALL from the config folder. Please remove this file manually." : "Config klasöründeki CAN_INSTALL dosyası silinemedi. Lütfen bu dosyayı el ile silin.", + "%s logo" : "%s logosu", "This application requires JavaScript for correct operation. Please {linkstart}enable JavaScript{linkend} and reload the page." : "Bu uygulamanın düzgün çalışabilmesi için JavaScript gereklidir. Lütfen {linkstart}JavaScript uygulamasını etkinleştirip{linkend} sayfayı yeniden yükleyin.", "Skip to main content" : "Ana içeriğe geç", "Skip to navigation of app" : "Uygulama gezinmesine geç", From 370ad6d97b49c2596fae6989d25f6c573adb1f3e Mon Sep 17 00:00:00 2001 From: Christopher Ng Date: Thu, 8 Dec 2022 00:28:15 +0000 Subject: [PATCH 14/14] Increase default input field border contrast Signed-off-by: Christopher Ng --- core/css/inputs.css | 2 +- core/css/inputs.scss | 2 +- core/css/server.css | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/core/css/inputs.css b/core/css/inputs.css index 964319cb55e03..8c83c8155e14d 100644 --- a/core/css/inputs.css +++ b/core/css/inputs.css @@ -337,7 +337,7 @@ textarea { font-size: var(--default-font-size); background-color: var(--color-main-background); color: var(--color-main-text); - border: 2px solid var(--color-border-dark); + border: 2px solid var(--color-border-maxcontrast); height: 36px; outline: none; border-radius: var(--border-radius-large); diff --git a/core/css/inputs.scss b/core/css/inputs.scss index e2ff40d6253d7..888fe65c90338 100644 --- a/core/css/inputs.scss +++ b/core/css/inputs.scss @@ -209,7 +209,7 @@ textarea { font-size: var(--default-font-size); background-color: var(--color-main-background); color: var(--color-main-text); - border: 2px solid var(--color-border-dark); + border: 2px solid var(--color-border-maxcontrast); height: 36px; outline: none; border-radius: var(--border-radius-large); diff --git a/core/css/server.css b/core/css/server.css index 88f5169e6cfcf..51098b235e8fb 100644 --- a/core/css/server.css +++ b/core/css/server.css @@ -1469,7 +1469,7 @@ textarea { font-size: var(--default-font-size); background-color: var(--color-main-background); color: var(--color-main-text); - border: 2px solid var(--color-border-dark); + border: 2px solid var(--color-border-maxcontrast); height: 36px; outline: none; border-radius: var(--border-radius-large);