diff options
author | Faraz Samapoor <f.samapoor@gmail.com> | 2023-06-27 19:07:09 +0330 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-06-27 19:07:09 +0330 |
commit | bbfe2fb821f00713f46fd896a41dfc62cc02c31a (patch) | |
tree | 22923a6d3a78f7f1d780e958ff118a669c6c8c63 /apps | |
parent | 8c64ccae01ef3143a47dcca0b7ddb115d601c2f1 (diff) | |
parent | 266436b76788d14e061bbe1f013bc052edc8041f (diff) | |
download | nextcloud-server-bbfe2fb821f00713f46fd896a41dfc62cc02c31a.tar.gz nextcloud-server-bbfe2fb821f00713f46fd896a41dfc62cc02c31a.zip |
Merge branch 'master' into replace_strpos_calls_in_dav_app
Signed-off-by: Faraz Samapoor <f.samapoor@gmail.com>
Diffstat (limited to 'apps')
422 files changed, 9324 insertions, 4589 deletions
diff --git a/apps/admin_audit/l10n/gl.js b/apps/admin_audit/l10n/gl.js index 24d085532a4..114c760a5ea 100644 --- a/apps/admin_audit/l10n/gl.js +++ b/apps/admin_audit/l10n/gl.js @@ -2,6 +2,6 @@ OC.L10N.register( "admin_audit", { "Auditing / Logging" : "Auditoría / Rexistro", - "Provides logging abilities for Nextcloud such as logging file accesses or otherwise sensitive actions." : "Fornece recursos de rexistro para o Nextcloud como rexistros de acceso a ficheiros ou calquera outra acción sensíbel." + "Provides logging abilities for Nextcloud such as logging file accesses or otherwise sensitive actions." : "Fornece recursos de rexistro para Nextcloud como rexistros de acceso a ficheiros ou calquera outra acción sensíbel." }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/admin_audit/l10n/gl.json b/apps/admin_audit/l10n/gl.json index bcfc4ecb0f1..187504dcdca 100644 --- a/apps/admin_audit/l10n/gl.json +++ b/apps/admin_audit/l10n/gl.json @@ -1,5 +1,5 @@ { "translations": { "Auditing / Logging" : "Auditoría / Rexistro", - "Provides logging abilities for Nextcloud such as logging file accesses or otherwise sensitive actions." : "Fornece recursos de rexistro para o Nextcloud como rexistros de acceso a ficheiros ou calquera outra acción sensíbel." + "Provides logging abilities for Nextcloud such as logging file accesses or otherwise sensitive actions." : "Fornece recursos de rexistro para Nextcloud como rexistros de acceso a ficheiros ou calquera outra acción sensíbel." },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/cloud_federation_api/l10n/ar.js b/apps/cloud_federation_api/l10n/ar.js new file mode 100644 index 00000000000..45df0372089 --- /dev/null +++ b/apps/cloud_federation_api/l10n/ar.js @@ -0,0 +1,8 @@ +OC.L10N.register( + "cloud_federation_api", + { + "Cloud Federation API" : "واجهة برمجة التطبيقات API للاتحاد السحابي Cloud Federation", + "Enable clouds to communicate with each other and exchange data" : "يسمح للسحابات أن تتراسل فيما بينها و تتبادل البيانات", + "The Cloud Federation API enables various Nextcloud instances to communicate with each other and to exchange data." : "واجهة برمجة التطبيقات API للاتحاد السحابي Cloud Federation تسمح لخوادم نكست كلاود بالاتصال ببعضها البعض و تبادل البيانات." +}, +"nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;"); diff --git a/apps/cloud_federation_api/l10n/ar.json b/apps/cloud_federation_api/l10n/ar.json new file mode 100644 index 00000000000..29aaedaca6d --- /dev/null +++ b/apps/cloud_federation_api/l10n/ar.json @@ -0,0 +1,6 @@ +{ "translations": { + "Cloud Federation API" : "واجهة برمجة التطبيقات API للاتحاد السحابي Cloud Federation", + "Enable clouds to communicate with each other and exchange data" : "يسمح للسحابات أن تتراسل فيما بينها و تتبادل البيانات", + "The Cloud Federation API enables various Nextcloud instances to communicate with each other and to exchange data." : "واجهة برمجة التطبيقات API للاتحاد السحابي Cloud Federation تسمح لخوادم نكست كلاود بالاتصال ببعضها البعض و تبادل البيانات." +},"pluralForm" :"nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;" +}
\ No newline at end of file diff --git a/apps/cloud_federation_api/l10n/et_EE.js b/apps/cloud_federation_api/l10n/et_EE.js new file mode 100644 index 00000000000..67ae7128738 --- /dev/null +++ b/apps/cloud_federation_api/l10n/et_EE.js @@ -0,0 +1,8 @@ +OC.L10N.register( + "cloud_federation_api", + { + "Cloud Federation API" : "Pilve Liit API", + "Enable clouds to communicate with each other and exchange data" : "Luba pilvedel suhelda omavahel ja vahetada andmeid", + "The Cloud Federation API enables various Nextcloud instances to communicate with each other and to exchange data." : "Pilve Liit API lubab erinevad Nextcloud'i osadel suhelda omavahel ja vahetada andmeid" +}, +"nplurals=2; plural=(n != 1);"); diff --git a/apps/cloud_federation_api/l10n/et_EE.json b/apps/cloud_federation_api/l10n/et_EE.json new file mode 100644 index 00000000000..5fbc024b957 --- /dev/null +++ b/apps/cloud_federation_api/l10n/et_EE.json @@ -0,0 +1,6 @@ +{ "translations": { + "Cloud Federation API" : "Pilve Liit API", + "Enable clouds to communicate with each other and exchange data" : "Luba pilvedel suhelda omavahel ja vahetada andmeid", + "The Cloud Federation API enables various Nextcloud instances to communicate with each other and to exchange data." : "Pilve Liit API lubab erinevad Nextcloud'i osadel suhelda omavahel ja vahetada andmeid" +},"pluralForm" :"nplurals=2; plural=(n != 1);" +}
\ No newline at end of file diff --git a/apps/cloud_federation_api/l10n/gl.js b/apps/cloud_federation_api/l10n/gl.js index 4c885ae3b93..06b753a1f0b 100644 --- a/apps/cloud_federation_api/l10n/gl.js +++ b/apps/cloud_federation_api/l10n/gl.js @@ -3,6 +3,6 @@ OC.L10N.register( { "Cloud Federation API" : "API da Nube federada", "Enable clouds to communicate with each other and exchange data" : "Permite que as nubes se comuniquen entre elas e intercambien datos", - "The Cloud Federation API enables various Nextcloud instances to communicate with each other and to exchange data." : "A API de Nube federada permite que varias instancias do Nextcloud se comuniquen entre elas e intercambien datos." + "The Cloud Federation API enables various Nextcloud instances to communicate with each other and to exchange data." : "A API de Nube federada permite que varias instancias de Nextcloud se comuniquen entre elas e intercambien datos." }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/cloud_federation_api/l10n/gl.json b/apps/cloud_federation_api/l10n/gl.json index 5d468a800b8..17c51a3d7b2 100644 --- a/apps/cloud_federation_api/l10n/gl.json +++ b/apps/cloud_federation_api/l10n/gl.json @@ -1,6 +1,6 @@ { "translations": { "Cloud Federation API" : "API da Nube federada", "Enable clouds to communicate with each other and exchange data" : "Permite que as nubes se comuniquen entre elas e intercambien datos", - "The Cloud Federation API enables various Nextcloud instances to communicate with each other and to exchange data." : "A API de Nube federada permite que varias instancias do Nextcloud se comuniquen entre elas e intercambien datos." + "The Cloud Federation API enables various Nextcloud instances to communicate with each other and to exchange data." : "A API de Nube federada permite que varias instancias de Nextcloud se comuniquen entre elas e intercambien datos." },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/cloud_federation_api/l10n/zh_CN.js b/apps/cloud_federation_api/l10n/zh_CN.js index 5bea9e26c1e..90684ddca9d 100644 --- a/apps/cloud_federation_api/l10n/zh_CN.js +++ b/apps/cloud_federation_api/l10n/zh_CN.js @@ -1,8 +1,8 @@ OC.L10N.register( "cloud_federation_api", { - "Cloud Federation API" : "联合云 API", + "Cloud Federation API" : "联合云API", "Enable clouds to communicate with each other and exchange data" : "使云能够相互通信并交换数据", - "The Cloud Federation API enables various Nextcloud instances to communicate with each other and to exchange data." : "联合云 API 使各种 Nextcloud 实例可以相互通信并交换数据。" + "The Cloud Federation API enables various Nextcloud instances to communicate with each other and to exchange data." : "联合云API使各种 Nextcloud 实例可以相互通信并交换数据。" }, "nplurals=1; plural=0;"); diff --git a/apps/cloud_federation_api/l10n/zh_CN.json b/apps/cloud_federation_api/l10n/zh_CN.json index f0b021fa6a6..491d0494c0e 100644 --- a/apps/cloud_federation_api/l10n/zh_CN.json +++ b/apps/cloud_federation_api/l10n/zh_CN.json @@ -1,6 +1,6 @@ { "translations": { - "Cloud Federation API" : "联合云 API", + "Cloud Federation API" : "联合云API", "Enable clouds to communicate with each other and exchange data" : "使云能够相互通信并交换数据", - "The Cloud Federation API enables various Nextcloud instances to communicate with each other and to exchange data." : "联合云 API 使各种 Nextcloud 实例可以相互通信并交换数据。" + "The Cloud Federation API enables various Nextcloud instances to communicate with each other and to exchange data." : "联合云API使各种 Nextcloud 实例可以相互通信并交换数据。" },"pluralForm" :"nplurals=1; plural=0;" }
\ No newline at end of file diff --git a/apps/comments/composer/composer/autoload_classmap.php b/apps/comments/composer/composer/autoload_classmap.php index 6afc14d07a1..61def2ecc46 100644 --- a/apps/comments/composer/composer/autoload_classmap.php +++ b/apps/comments/composer/composer/autoload_classmap.php @@ -14,7 +14,7 @@ return array( 'OCA\\Comments\\AppInfo\\Application' => $baseDir . '/../lib/AppInfo/Application.php', 'OCA\\Comments\\Capabilities' => $baseDir . '/../lib/Capabilities.php', 'OCA\\Comments\\Collaboration\\CommentersSorter' => $baseDir . '/../lib/Collaboration/CommentersSorter.php', - 'OCA\\Comments\\Controller\\Notifications' => $baseDir . '/../lib/Controller/Notifications.php', + 'OCA\\Comments\\Controller\\NotificationsController' => $baseDir . '/../lib/Controller/NotificationsController.php', 'OCA\\Comments\\EventHandler' => $baseDir . '/../lib/EventHandler.php', 'OCA\\Comments\\Listener\\CommentsEntityEventListener' => $baseDir . '/../lib/Listener/CommentsEntityEventListener.php', 'OCA\\Comments\\Listener\\LoadAdditionalScripts' => $baseDir . '/../lib/Listener/LoadAdditionalScripts.php', diff --git a/apps/comments/composer/composer/autoload_static.php b/apps/comments/composer/composer/autoload_static.php index 0f832e1849b..9732ee9f4ca 100644 --- a/apps/comments/composer/composer/autoload_static.php +++ b/apps/comments/composer/composer/autoload_static.php @@ -7,14 +7,14 @@ namespace Composer\Autoload; class ComposerStaticInitComments { public static $prefixLengthsPsr4 = array ( - 'O' => + 'O' => array ( 'OCA\\Comments\\' => 13, ), ); public static $prefixDirsPsr4 = array ( - 'OCA\\Comments\\' => + 'OCA\\Comments\\' => array ( 0 => __DIR__ . '/..' . '/../lib', ), @@ -29,7 +29,7 @@ class ComposerStaticInitComments 'OCA\\Comments\\AppInfo\\Application' => __DIR__ . '/..' . '/../lib/AppInfo/Application.php', 'OCA\\Comments\\Capabilities' => __DIR__ . '/..' . '/../lib/Capabilities.php', 'OCA\\Comments\\Collaboration\\CommentersSorter' => __DIR__ . '/..' . '/../lib/Collaboration/CommentersSorter.php', - 'OCA\\Comments\\Controller\\Notifications' => __DIR__ . '/..' . '/../lib/Controller/Notifications.php', + 'OCA\\Comments\\Controller\\NotificationsController' => __DIR__ . '/..' . '/../lib/Controller/NotificationsController.php', 'OCA\\Comments\\EventHandler' => __DIR__ . '/..' . '/../lib/EventHandler.php', 'OCA\\Comments\\Listener\\CommentsEntityEventListener' => __DIR__ . '/..' . '/../lib/Listener/CommentsEntityEventListener.php', 'OCA\\Comments\\Listener\\LoadAdditionalScripts' => __DIR__ . '/..' . '/../lib/Listener/LoadAdditionalScripts.php', diff --git a/apps/comments/l10n/ar.js b/apps/comments/l10n/ar.js index 5a0554515a9..8f2eaf9b8c8 100644 --- a/apps/comments/l10n/ar.js +++ b/apps/comments/l10n/ar.js @@ -19,6 +19,7 @@ OC.L10N.register( "No comments yet, start the conversation!" : "لا يوجد تعليقات, ابدأ النقاش الآن!", "No more messages" : "لامزيد من الرسائل", "Retry" : "أعد المحاولة", + "Failed to mark comments as read" : "إخفاق في تعيين ملاحظات كمقرؤة", "Unable to load the comments list" : "تعذر تحميل قائمة التعليقات", "_%n unread comment_::_%n unread comments_" : ["%n تعليق غير مقروء","%n تعليق غير مقروء","تعليقان غير مقروءة","%n تعليقات غير مقروء","%n تعليق غير مقروء","%n تعليق غير مقروء"], "_1 new comment_::_{unread} new comments_" : ["1 تعليق جديد","1 تعليق جديد","{unread} تعليقات جديدة","{unread} تعليقات جديدة","{unread} تعليقات جديدة","{unread} تعليقات جديدة"], diff --git a/apps/comments/l10n/ar.json b/apps/comments/l10n/ar.json index c4e63b4da6b..7f1da8e4393 100644 --- a/apps/comments/l10n/ar.json +++ b/apps/comments/l10n/ar.json @@ -17,6 +17,7 @@ "No comments yet, start the conversation!" : "لا يوجد تعليقات, ابدأ النقاش الآن!", "No more messages" : "لامزيد من الرسائل", "Retry" : "أعد المحاولة", + "Failed to mark comments as read" : "إخفاق في تعيين ملاحظات كمقرؤة", "Unable to load the comments list" : "تعذر تحميل قائمة التعليقات", "_%n unread comment_::_%n unread comments_" : ["%n تعليق غير مقروء","%n تعليق غير مقروء","تعليقان غير مقروءة","%n تعليقات غير مقروء","%n تعليق غير مقروء","%n تعليق غير مقروء"], "_1 new comment_::_{unread} new comments_" : ["1 تعليق جديد","1 تعليق جديد","{unread} تعليقات جديدة","{unread} تعليقات جديدة","{unread} تعليقات جديدة","{unread} تعليقات جديدة"], diff --git a/apps/comments/l10n/et_EE.js b/apps/comments/l10n/et_EE.js index fed1952f83b..269c7cdd9c4 100644 --- a/apps/comments/l10n/et_EE.js +++ b/apps/comments/l10n/et_EE.js @@ -9,12 +9,25 @@ OC.L10N.register( "%1$s commented on %2$s" : "%1$s kommenteeris %2$s", "{author} commented on {file}" : "{author} kommenteeris faili {file}", "<strong>Comments</strong> for files" : "<strong>Kommentaarid</strong> failidele", + "You were mentioned on \"{file}\", in a comment by a user that has since been deleted" : "Sind mainis faili \"{file}\" kommentaaris kasutaja, kes on praeguseks kustutatud.", + "{user} mentioned you in a comment on \"{file}\"" : "{user} mainis sind faili \"{file}\" kommentaaris", + "Files app plugin to add comments to files" : "Failid rakenduse laiendus failidele kommentaaride lisamiseks", "Edit comment" : "Muuda kommentaari", "Delete comment" : "Kustuta kommentaar", - "No comments yet, start the conversation!" : "Kommentaare veel pole, alusta vestlust", + "Cancel edit" : "Loobu muutmisest", + "Post comment" : "Postita kommentaar", + "No comments yet, start the conversation!" : "Kommentaare veel pole, alusta vestlust!", + "No more messages" : "Rohkem teateid pole", "Retry" : "Proovi uuesti", + "Failed to mark comments as read" : "Kommentaaride loetuks märkimine ebaõnnestus", + "Unable to load the comments list" : "Kommentaaride loendi laadimine ebaõnnestus", "_%n unread comment_::_%n unread comments_" : ["%n lugemata kommentaar","%n lugemata kommentaari"], + "_1 new comment_::_{unread} new comments_" : ["1 uus kommentaar","{unread} uus kommentaar"], "Comment" : "Kommentaar", + "An error occurred while trying to edit the comment" : "Kommentaari muutmisel tekkis tõrge", + "Comment deleted" : "Kommentaar kustutatud", + "An error occurred while trying to delete the comment" : "Kommentaari kustutamisel tekkis tõrge", + "An error occurred while trying to create the comment" : "Kommentaari lisamisel tekkis tõrge", "%1$s commented" : "%1$s kommenteeris" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/comments/l10n/et_EE.json b/apps/comments/l10n/et_EE.json index 88d0906771e..31ac5007e9f 100644 --- a/apps/comments/l10n/et_EE.json +++ b/apps/comments/l10n/et_EE.json @@ -7,12 +7,25 @@ "%1$s commented on %2$s" : "%1$s kommenteeris %2$s", "{author} commented on {file}" : "{author} kommenteeris faili {file}", "<strong>Comments</strong> for files" : "<strong>Kommentaarid</strong> failidele", + "You were mentioned on \"{file}\", in a comment by a user that has since been deleted" : "Sind mainis faili \"{file}\" kommentaaris kasutaja, kes on praeguseks kustutatud.", + "{user} mentioned you in a comment on \"{file}\"" : "{user} mainis sind faili \"{file}\" kommentaaris", + "Files app plugin to add comments to files" : "Failid rakenduse laiendus failidele kommentaaride lisamiseks", "Edit comment" : "Muuda kommentaari", "Delete comment" : "Kustuta kommentaar", - "No comments yet, start the conversation!" : "Kommentaare veel pole, alusta vestlust", + "Cancel edit" : "Loobu muutmisest", + "Post comment" : "Postita kommentaar", + "No comments yet, start the conversation!" : "Kommentaare veel pole, alusta vestlust!", + "No more messages" : "Rohkem teateid pole", "Retry" : "Proovi uuesti", + "Failed to mark comments as read" : "Kommentaaride loetuks märkimine ebaõnnestus", + "Unable to load the comments list" : "Kommentaaride loendi laadimine ebaõnnestus", "_%n unread comment_::_%n unread comments_" : ["%n lugemata kommentaar","%n lugemata kommentaari"], + "_1 new comment_::_{unread} new comments_" : ["1 uus kommentaar","{unread} uus kommentaar"], "Comment" : "Kommentaar", + "An error occurred while trying to edit the comment" : "Kommentaari muutmisel tekkis tõrge", + "Comment deleted" : "Kommentaar kustutatud", + "An error occurred while trying to delete the comment" : "Kommentaari kustutamisel tekkis tõrge", + "An error occurred while trying to create the comment" : "Kommentaari lisamisel tekkis tõrge", "%1$s commented" : "%1$s kommenteeris" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/comments/l10n/gl.js b/apps/comments/l10n/gl.js index d1551536aea..a17aed3fb9f 100644 --- a/apps/comments/l10n/gl.js +++ b/apps/comments/l10n/gl.js @@ -9,16 +9,17 @@ OC.L10N.register( "%1$s commented on %2$s" : "%1$s comentados en %2$s", "{author} commented on {file}" : "{author} comentou en {file}", "<strong>Comments</strong> for files" : "<strong>Comentarios</strong> para ficheiros", - "You were mentioned on \"{file}\", in a comment by a user that has since been deleted" : "Mencionáronte en \"{ficheiro}\", nun comentario dun usuario que xa foi eliminado", - "{user} mentioned you in a comment on \"{file}\"" : "{user} mencionoute nun comentario en \"{file}\"", - "Files app plugin to add comments to files" : "Engadido da aplicación de ficheiros para engadir comentarios aos ficheiros", + "You were mentioned on \"{file}\", in a comment by a user that has since been deleted" : "Mencionárono en «{file}», nun comentario dun usuario que xa foi eliminado", + "{user} mentioned you in a comment on \"{file}\"" : "{user} mencionouno a vostede nun comentario en «{file}»", + "Files app plugin to add comments to files" : "Complemento da aplicación de ficheiros para engadir comentarios aos ficheiros", "Edit comment" : "Editar comentario", "Delete comment" : "Eliminar comentario", "Cancel edit" : "Cancelar a edición", "Post comment" : "Publicar comentario", "No comments yet, start the conversation!" : "Aínda non hai comentarios, comeza a conversa!", "No more messages" : "Non hai máis mensaxes", - "Retry" : "Volver tentar", + "Retry" : "Tentar de novo", + "Failed to mark comments as read" : "Produciuse un fallo ao marcar os comentarios como lidos", "Unable to load the comments list" : "Non é posíbel cargar a lista de comentarios", "_%n unread comment_::_%n unread comments_" : ["%n comentario sen ler","%n comentarios sen ler"], "_1 new comment_::_{unread} new comments_" : ["1 comentario novo","{unread} comentarios novos"], diff --git a/apps/comments/l10n/gl.json b/apps/comments/l10n/gl.json index ceda2ec017c..ca1278dd2d0 100644 --- a/apps/comments/l10n/gl.json +++ b/apps/comments/l10n/gl.json @@ -7,16 +7,17 @@ "%1$s commented on %2$s" : "%1$s comentados en %2$s", "{author} commented on {file}" : "{author} comentou en {file}", "<strong>Comments</strong> for files" : "<strong>Comentarios</strong> para ficheiros", - "You were mentioned on \"{file}\", in a comment by a user that has since been deleted" : "Mencionáronte en \"{ficheiro}\", nun comentario dun usuario que xa foi eliminado", - "{user} mentioned you in a comment on \"{file}\"" : "{user} mencionoute nun comentario en \"{file}\"", - "Files app plugin to add comments to files" : "Engadido da aplicación de ficheiros para engadir comentarios aos ficheiros", + "You were mentioned on \"{file}\", in a comment by a user that has since been deleted" : "Mencionárono en «{file}», nun comentario dun usuario que xa foi eliminado", + "{user} mentioned you in a comment on \"{file}\"" : "{user} mencionouno a vostede nun comentario en «{file}»", + "Files app plugin to add comments to files" : "Complemento da aplicación de ficheiros para engadir comentarios aos ficheiros", "Edit comment" : "Editar comentario", "Delete comment" : "Eliminar comentario", "Cancel edit" : "Cancelar a edición", "Post comment" : "Publicar comentario", "No comments yet, start the conversation!" : "Aínda non hai comentarios, comeza a conversa!", "No more messages" : "Non hai máis mensaxes", - "Retry" : "Volver tentar", + "Retry" : "Tentar de novo", + "Failed to mark comments as read" : "Produciuse un fallo ao marcar os comentarios como lidos", "Unable to load the comments list" : "Non é posíbel cargar a lista de comentarios", "_%n unread comment_::_%n unread comments_" : ["%n comentario sen ler","%n comentarios sen ler"], "_1 new comment_::_{unread} new comments_" : ["1 comentario novo","{unread} comentarios novos"], diff --git a/apps/comments/lib/Activity/Filter.php b/apps/comments/lib/Activity/Filter.php index efd8d5140ae..2b6e898f599 100644 --- a/apps/comments/lib/Activity/Filter.php +++ b/apps/comments/lib/Activity/Filter.php @@ -27,64 +27,42 @@ use OCP\IL10N; use OCP\IURLGenerator; class Filter implements IFilter { - - /** @var IL10N */ - protected $l; - - /** @var IURLGenerator */ - protected $url; + protected IL10N $l; + protected IURLGenerator $url; public function __construct(IL10N $l, IURLGenerator $url) { $this->l = $l; $this->url = $url; } - /** - * @return string Lowercase a-z only identifier - * @since 11.0.0 - */ - public function getIdentifier() { + public function getIdentifier(): string { return 'comments'; } - /** - * @return string A translated string - * @since 11.0.0 - */ - public function getName() { + public function getName(): string { return $this->l->t('Comments'); } - /** - * @return int - * @since 11.0.0 - */ - public function getPriority() { + public function getPriority(): int { return 40; } - /** - * @return string Full URL to an icon, empty string when none is given - * @since 11.0.0 - */ - public function getIcon() { + public function getIcon(): string { return $this->url->getAbsoluteURL($this->url->imagePath('core', 'actions/comment.svg')); } /** * @param string[] $types * @return string[] An array of allowed apps from which activities should be displayed - * @since 11.0.0 */ - public function filterTypes(array $types) { + public function filterTypes(array $types): array { return $types; } /** * @return string[] An array of allowed apps from which activities should be displayed - * @since 11.0.0 */ - public function allowedApps() { + public function allowedApps(): array { return ['comments']; } } diff --git a/apps/comments/lib/Activity/Listener.php b/apps/comments/lib/Activity/Listener.php index 69315b6ac00..a066ccdefc1 100644 --- a/apps/comments/lib/Activity/Listener.php +++ b/apps/comments/lib/Activity/Listener.php @@ -59,10 +59,7 @@ class Listener { $this->shareHelper = $shareHelper; } - /** - * @param CommentsEvent $event - */ - public function commentEvent(CommentsEvent $event) { + public function commentEvent(CommentsEvent $event): void { if ($event->getComment()->getObjectType() !== 'files' || $event->getEvent() !== CommentsEvent::EVENT_ADD || !$this->appManager->isInstalled('activity')) { diff --git a/apps/comments/lib/Activity/Provider.php b/apps/comments/lib/Activity/Provider.php index f9a5971c7f3..727f6d66b50 100644 --- a/apps/comments/lib/Activity/Provider.php +++ b/apps/comments/lib/Activity/Provider.php @@ -58,7 +58,7 @@ class Provider implements IProvider { * @throws \InvalidArgumentException * @since 11.0.0 */ - public function parse($language, IEvent $event, IEvent $previousEvent = null) { + public function parse($language, IEvent $event, IEvent $previousEvent = null): IEvent { if ($event->getApp() !== 'comments') { throw new \InvalidArgumentException(); } diff --git a/apps/comments/lib/Activity/Setting.php b/apps/comments/lib/Activity/Setting.php index c0d91c244a6..3352bf2a59b 100644 --- a/apps/comments/lib/Activity/Setting.php +++ b/apps/comments/lib/Activity/Setting.php @@ -26,72 +26,37 @@ use OCP\Activity\ISetting; use OCP\IL10N; class Setting implements ISetting { + protected IL10N $l; - /** @var IL10N */ - protected $l; - - /** - * @param IL10N $l - */ public function __construct(IL10N $l) { $this->l = $l; } - /** - * @return string Lowercase a-z and underscore only identifier - * @since 11.0.0 - */ - public function getIdentifier() { + public function getIdentifier(): string { return 'comments'; } - /** - * @return string A translated string - * @since 11.0.0 - */ - public function getName() { + public function getName(): string { return $this->l->t('<strong>Comments</strong> for files'); } - /** - * @return int whether the filter should be rather on the top or bottom of - * the admin section. The filters are arranged in ascending order of the - * priority values. It is required to return a value between 0 and 100. - * @since 11.0.0 - */ - public function getPriority() { + public function getPriority(): int { return 50; } - /** - * @return bool True when the option can be changed for the stream - * @since 11.0.0 - */ - public function canChangeStream() { + public function canChangeStream(): bool { return true; } - /** - * @return bool True when the option can be changed for the stream - * @since 11.0.0 - */ - public function isDefaultEnabledStream() { + public function isDefaultEnabledStream(): bool { return true; } - /** - * @return bool True when the option can be changed for the mail - * @since 11.0.0 - */ - public function canChangeMail() { + public function canChangeMail(): bool { return true; } - /** - * @return bool True when the option can be changed for the stream - * @since 11.0.0 - */ - public function isDefaultEnabledMail() { + public function isDefaultEnabledMail(): bool { return false; } } diff --git a/apps/comments/lib/AppInfo/Application.php b/apps/comments/lib/AppInfo/Application.php index 527c5d99fc3..bfd66c43ecd 100644 --- a/apps/comments/lib/AppInfo/Application.php +++ b/apps/comments/lib/AppInfo/Application.php @@ -28,7 +28,6 @@ namespace OCA\Comments\AppInfo; use Closure; use OCA\Comments\Capabilities; -use OCA\Comments\Controller\Notifications; use OCA\Comments\EventHandler; use OCA\Comments\Listener\CommentsEntityEventListener; use OCA\Comments\Listener\LoadAdditionalScripts; @@ -58,8 +57,6 @@ class Application extends App implements IBootstrap { public function register(IRegistrationContext $context): void { $context->registerCapability(Capabilities::class); - $context->registerServiceAlias('NotificationsController', Notifications::class); - $context->registerEventListener( LoadAdditionalScriptsEvent::class, LoadAdditionalScripts::class diff --git a/apps/comments/lib/Collaboration/CommentersSorter.php b/apps/comments/lib/Collaboration/CommentersSorter.php index 8723b132e03..b7c993b4f20 100644 --- a/apps/comments/lib/Collaboration/CommentersSorter.php +++ b/apps/comments/lib/Collaboration/CommentersSorter.php @@ -27,14 +27,13 @@ use OCP\Collaboration\AutoComplete\ISorter; use OCP\Comments\ICommentsManager; class CommentersSorter implements ISorter { - private ICommentsManager $commentsManager; public function __construct(ICommentsManager $commentsManager) { $this->commentsManager = $commentsManager; } - public function getId() { + public function getId(): string { return 'commenters'; } @@ -42,10 +41,10 @@ class CommentersSorter implements ISorter { * Sorts people who commented on the given item atop (descelating) of the * others * - * @param array $sortArray + * @param array &$sortArray * @param array $context */ - public function sort(array &$sortArray, array $context) { + public function sort(array &$sortArray, array $context): void { $commenters = $this->retrieveCommentsInformation($context['itemType'], $context['itemId']); if (count($commenters) === 0) { return; @@ -76,6 +75,9 @@ class CommentersSorter implements ISorter { } } + /** + * @return array<string, array<string, int>> + */ protected function retrieveCommentsInformation(string $type, string $id): array { $comments = $this->commentsManager->getForObject($type, $id); if (count($comments) === 0) { diff --git a/apps/comments/lib/Controller/Notifications.php b/apps/comments/lib/Controller/NotificationsController.php index ba61a0d33cd..41a9541a684 100644 --- a/apps/comments/lib/Controller/Notifications.php +++ b/apps/comments/lib/Controller/NotificationsController.php @@ -38,11 +38,11 @@ use OCP\IUserSession; use OCP\Notification\IManager; /** - * Class Notifications + * Class NotificationsController * * @package OCA\Comments\Controller */ -class Notifications extends Controller { +class NotificationsController extends Controller { protected IRootFolder $rootFolder; protected ICommentsManager $commentsManager; @@ -51,7 +51,7 @@ class Notifications extends Controller { protected IUserSession $userSession; /** - * Notifications constructor. + * NotificationsController constructor. */ public function __construct( string $appName, diff --git a/apps/comments/lib/EventHandler.php b/apps/comments/lib/EventHandler.php index 6027a24b026..722e3b8cc72 100644 --- a/apps/comments/lib/EventHandler.php +++ b/apps/comments/lib/EventHandler.php @@ -34,21 +34,15 @@ use OCP\Comments\ICommentsEventHandler; * @package OCA\Comments */ class EventHandler implements ICommentsEventHandler { - /** @var ActivityListener */ - private $activityListener; - - /** @var NotificationListener */ - private $notificationListener; + private ActivityListener $activityListener; + private NotificationListener $notificationListener; public function __construct(ActivityListener $activityListener, NotificationListener $notificationListener) { $this->activityListener = $activityListener; $this->notificationListener = $notificationListener; } - /** - * @param CommentsEvent $event - */ - public function handle(CommentsEvent $event) { + public function handle(CommentsEvent $event): void { if ($event->getComment()->getObjectType() !== 'files') { // this is a 'files'-specific Handler return; @@ -73,17 +67,11 @@ class EventHandler implements ICommentsEventHandler { } } - /** - * @param CommentsEvent $event - */ - private function activityHandler(CommentsEvent $event) { + private function activityHandler(CommentsEvent $event): void { $this->activityListener->commentEvent($event); } - /** - * @param CommentsEvent $event - */ - private function notificationHandler(CommentsEvent $event) { + private function notificationHandler(CommentsEvent $event): void { $this->notificationListener->evaluate($event); } } diff --git a/apps/comments/lib/Listener/CommentsEntityEventListener.php b/apps/comments/lib/Listener/CommentsEntityEventListener.php index 5675e1904cc..b49304c409b 100644 --- a/apps/comments/lib/Listener/CommentsEntityEventListener.php +++ b/apps/comments/lib/Listener/CommentsEntityEventListener.php @@ -28,16 +28,25 @@ namespace OCA\Comments\Listener; use OCP\Comments\CommentsEntityEvent; use OCP\EventDispatcher\Event; use OCP\EventDispatcher\IEventListener; +use OCP\Files\IRootFolder; class CommentsEntityEventListener implements IEventListener { + private IRootFolder $rootFolder; + private ?string $userId; + + public function __construct(IRootFolder $rootFolder, ?string $userId = null) { + $this->rootFolder = $rootFolder; + $this->userId = $userId; + } + public function handle(Event $event): void { if (!($event instanceof CommentsEntityEvent)) { // Unrelated return; } - $event->addEntityCollection('files', function ($name) { - $nodes = \OC::$server->getUserFolder()->getById((int)$name); + $event->addEntityCollection('files', function ($name): bool { + $nodes = $this->rootFolder->getUserFolder($this->userId)->getById((int)$name); return !empty($nodes); }); } diff --git a/apps/comments/lib/MaxAutoCompleteResultsInitialState.php b/apps/comments/lib/MaxAutoCompleteResultsInitialState.php index 015eaf19d84..cf7335e84c8 100644 --- a/apps/comments/lib/MaxAutoCompleteResultsInitialState.php +++ b/apps/comments/lib/MaxAutoCompleteResultsInitialState.php @@ -31,9 +31,7 @@ use OCP\AppFramework\Services\InitialStateProvider; use OCP\IConfig; class MaxAutoCompleteResultsInitialState extends InitialStateProvider { - - /** @var IConfig */ - private $config; + private IConfig $config; public function __construct(IConfig $config) { $this->config = $config; diff --git a/apps/comments/lib/Notification/Listener.php b/apps/comments/lib/Notification/Listener.php index d1662f84266..bbea310ef7e 100644 --- a/apps/comments/lib/Notification/Listener.php +++ b/apps/comments/lib/Notification/Listener.php @@ -27,15 +27,12 @@ use OCP\Comments\CommentsEvent; use OCP\Comments\IComment; use OCP\IUserManager; use OCP\Notification\IManager; +use OCP\Notification\INotification; class Listener { - protected IManager $notificationManager; protected IUserManager $userManager; - /** - * Listener constructor. - */ public function __construct( IManager $notificationManager, IUserManager $userManager @@ -44,10 +41,7 @@ class Listener { $this->userManager = $userManager; } - /** - * @param CommentsEvent $event - */ - public function evaluate(CommentsEvent $event) { + public function evaluate(CommentsEvent $event): void { $comment = $event->getComment(); $mentions = $this->extractMentions($comment->getMentions()); @@ -77,12 +71,9 @@ class Listener { } /** - * creates a notification instance and fills it with comment data - * - * @param IComment $comment - * @return \OCP\Notification\INotification + * Creates a notification instance and fills it with comment data */ - public function instantiateNotification(IComment $comment) { + public function instantiateNotification(IComment $comment): INotification { $notification = $this->notificationManager->createNotification(); $notification ->setApp('comments') @@ -94,12 +85,12 @@ class Listener { } /** - * flattens the mention array returned from comments to a list of user ids. + * Flattens the mention array returned from comments to a list of user ids. * * @param array $mentions - * @return string[] containing the mentions, e.g. ['alice', 'bob'] + * @return list<string> containing the mentions, e.g. ['alice', 'bob'] */ - public function extractMentions(array $mentions) { + public function extractMentions(array $mentions): array { if (empty($mentions)) { return []; } diff --git a/apps/comments/lib/Search/CommentsSearchProvider.php b/apps/comments/lib/Search/CommentsSearchProvider.php index b36f82f8401..cca01c8ac44 100644 --- a/apps/comments/lib/Search/CommentsSearchProvider.php +++ b/apps/comments/lib/Search/CommentsSearchProvider.php @@ -39,7 +39,6 @@ use function array_map; use function pathinfo; class CommentsSearchProvider implements IProvider { - private IUserManager $userManager; private IL10N $l10n; private IURLGenerator $urlGenerator; @@ -55,23 +54,14 @@ class CommentsSearchProvider implements IProvider { $this->legacyProvider = $legacyProvider; } - /** - * @inheritDoc - */ public function getId(): string { return 'comments'; } - /** - * @inheritDoc - */ public function getName(): string { return $this->l10n->t('Comments'); } - /** - * @inheritDoc - */ public function getOrder(string $route, array $routeParameters): int { if ($route === 'files.View.index') { // Files first @@ -80,9 +70,6 @@ class CommentsSearchProvider implements IProvider { return 10; } - /** - * @inheritDoc - */ public function search(IUser $user, ISearchQuery $query): SearchResult { return SearchResult::complete( $this->l10n->t('Comments'), diff --git a/apps/comments/lib/Search/Result.php b/apps/comments/lib/Search/Result.php index ec799b7e30a..06016d2b46d 100644 --- a/apps/comments/lib/Search/Result.php +++ b/apps/comments/lib/Search/Result.php @@ -58,10 +58,6 @@ class Result extends BaseResult { public $fileName; /** - * @param string $search - * @param IComment $comment - * @param string $authorName - * @param string $path * @throws NotFoundException * @deprecated 20.0.0 */ @@ -70,7 +66,7 @@ class Result extends BaseResult { string $authorName, string $path) { parent::__construct( - (int) $comment->getId(), + $comment->getId(), $comment->getMessage() /* @todo , [link to file] */ ); @@ -83,8 +79,6 @@ class Result extends BaseResult { } /** - * @param string $path - * @return string * @throws NotFoundException */ protected function getVisiblePath(string $path): string { @@ -98,9 +92,6 @@ class Result extends BaseResult { } /** - * @param string $message - * @param string $search - * @return string * @throws NotFoundException */ protected function getRelevantMessagePart(string $message, string $search): string { diff --git a/apps/comments/tests/Unit/AppInfo/ApplicationTest.php b/apps/comments/tests/Unit/AppInfo/ApplicationTest.php index 6e3658c0e5b..a0ec722b368 100644 --- a/apps/comments/tests/Unit/AppInfo/ApplicationTest.php +++ b/apps/comments/tests/Unit/AppInfo/ApplicationTest.php @@ -51,11 +51,8 @@ class ApplicationTest extends TestCase { $app = new Application(); $c = $app->getContainer(); - // assert service instances in the container are properly setup - $s = $c->get('NotificationsController'); - $this->assertInstanceOf('OCA\Comments\Controller\Notifications', $s); - $services = [ + 'OCA\Comments\Controller\NotificationsController', 'OCA\Comments\Activity\Filter', 'OCA\Comments\Activity\Listener', 'OCA\Comments\Activity\Provider', diff --git a/apps/comments/tests/Unit/Controller/NotificationsTest.php b/apps/comments/tests/Unit/Controller/NotificationsTest.php index c21101030e8..4ccb553739b 100644 --- a/apps/comments/tests/Unit/Controller/NotificationsTest.php +++ b/apps/comments/tests/Unit/Controller/NotificationsTest.php @@ -25,7 +25,7 @@ */ namespace OCA\Comments\Tests\Unit\Controller; -use OCA\Comments\Controller\Notifications; +use OCA\Comments\Controller\NotificationsController; use OCP\AppFramework\Http\NotFoundResponse; use OCP\AppFramework\Http\RedirectResponse; use OCP\Comments\IComment; @@ -43,7 +43,7 @@ use OCP\Notification\INotification; use Test\TestCase; class NotificationsTest extends TestCase { - /** @var Notifications */ + /** @var NotificationsController */ protected $notificationsController; /** @var ICommentsManager|\PHPUnit\Framework\MockObject\MockObject */ @@ -70,7 +70,7 @@ class NotificationsTest extends TestCase { $this->notificationManager = $this->createMock(IManager::class); $this->urlGenerator = $this->createMock(IURLGenerator::class); - $this->notificationsController = new Notifications( + $this->notificationsController = new NotificationsController( 'comments', $this->createMock(IRequest::class), $this->commentsManager, diff --git a/apps/contactsinteraction/l10n/ar.js b/apps/contactsinteraction/l10n/ar.js new file mode 100644 index 00000000000..95816ebf6d2 --- /dev/null +++ b/apps/contactsinteraction/l10n/ar.js @@ -0,0 +1,9 @@ +OC.L10N.register( + "contactsinteraction", + { + "Recently contacted" : "تمّ الاتصال به مؤخّراً", + "Contacts Interaction" : "تفاعل جهات الاتصال", + "Manages interaction between users and contacts" : "إدارة التفاعلات بين المستخدمين و جهات اتصالهم", + "Collect data about user and contacts interactions and provide an address book for the data" : "جمع بيانات عن المستخدمين و تفاعلات جهات اتصالهم و توفير سجل عناوين لتلك البيانات" +}, +"nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;"); diff --git a/apps/contactsinteraction/l10n/ar.json b/apps/contactsinteraction/l10n/ar.json new file mode 100644 index 00000000000..c7bf7d81ac4 --- /dev/null +++ b/apps/contactsinteraction/l10n/ar.json @@ -0,0 +1,7 @@ +{ "translations": { + "Recently contacted" : "تمّ الاتصال به مؤخّراً", + "Contacts Interaction" : "تفاعل جهات الاتصال", + "Manages interaction between users and contacts" : "إدارة التفاعلات بين المستخدمين و جهات اتصالهم", + "Collect data about user and contacts interactions and provide an address book for the data" : "جمع بيانات عن المستخدمين و تفاعلات جهات اتصالهم و توفير سجل عناوين لتلك البيانات" +},"pluralForm" :"nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;" +}
\ No newline at end of file diff --git a/apps/contactsinteraction/l10n/gl.js b/apps/contactsinteraction/l10n/gl.js index 2c2495cc6b9..8583baac87b 100644 --- a/apps/contactsinteraction/l10n/gl.js +++ b/apps/contactsinteraction/l10n/gl.js @@ -4,6 +4,6 @@ OC.L10N.register( "Recently contacted" : "Contactado recentemente", "Contacts Interaction" : "Interacción de contactos", "Manages interaction between users and contacts" : "Xestiona a interacción entre usuarios e contactos", - "Collect data about user and contacts interactions and provide an address book for the data" : "Recolle datos sobre as interaccións entre usuarios e contactos e fornrece un caderno de enderezos para os datos" + "Collect data about user and contacts interactions and provide an address book for the data" : "Recolle datos sobre as interaccións entre usuarios e contactos e fornece un caderno de enderezos para os datos" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/contactsinteraction/l10n/gl.json b/apps/contactsinteraction/l10n/gl.json index 17f4d655d59..e88233912e6 100644 --- a/apps/contactsinteraction/l10n/gl.json +++ b/apps/contactsinteraction/l10n/gl.json @@ -2,6 +2,6 @@ "Recently contacted" : "Contactado recentemente", "Contacts Interaction" : "Interacción de contactos", "Manages interaction between users and contacts" : "Xestiona a interacción entre usuarios e contactos", - "Collect data about user and contacts interactions and provide an address book for the data" : "Recolle datos sobre as interaccións entre usuarios e contactos e fornrece un caderno de enderezos para os datos" + "Collect data about user and contacts interactions and provide an address book for the data" : "Recolle datos sobre as interaccións entre usuarios e contactos e fornece un caderno de enderezos para os datos" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/dashboard/l10n/ar.js b/apps/dashboard/l10n/ar.js index 6c7e3e94240..4ee9a75d3ea 100644 --- a/apps/dashboard/l10n/ar.js +++ b/apps/dashboard/l10n/ar.js @@ -3,8 +3,11 @@ OC.L10N.register( { "Dashboard" : "الرئيسية", "Dashboard app" : "تطبيق الصفحة الرئيسية", + "Start your day informed\n\nThe Nextcloud Dashboard is your starting point of the day, giving you an overview of your upcoming appointments, urgent emails, chat messages, incoming tickets, latest tweets and much more! Users can add the widgets they like and change the background to their liking." : "إبدأ يومك بالاطلاع على ما يهمّك\n\nلوحة قيادة نكست كلاود هي نقطة البداية ليومك؛\nتعطيك لمحة عن مواعيدك القادمة و الرسائل المستعجلة و المحادثات الواردة و تذاكر طلب المساعدة المعلقة و آخر التغريدات و الكثير غيرها!\nيمكنك أن تضيف أدوات أخرى ترغبها\nكما يمكنك تغيير مظهر و خلفية اللوحة كما تريد. ", + "\"{title} icon\"" : "\"{title} أيقونة\"", "Customize" : "تعديل", "Edit widgets" : "تعديل الودجات", + "Get more widgets from the App Store" : "يمكنك الحصول على المزيد من الأدوات من متجر التطبيقات", "Weather service" : "خدمة احوال الطقس", "For your privacy, the weather data is requested by your Nextcloud server on your behalf so the weather service receives no personal information." : "لخصوصيتك، يتم استدعاء بيانات احوال الطقس عبر خادم نكست كلاود الخاص بك نيابه عنك ولذلك خدمة احوال الطقس لا تشارك المعلومات الشخصية.", "Weather data from Met.no" : "بيانات احوال الطقس من Met.no", @@ -19,6 +22,7 @@ OC.L10N.register( "Good evening" : "مساء الخير", "Good evening, {name}" : "مساء الخير، {name}", "Hello" : "مرحبا", - "Hello, {name}" : "مرحبا، {name} " + "Hello, {name}" : "مرحبا، {name} ", + "Start your day informed\n\nThe Nextcloud Dashboard is your starting point of the day, giving you an\noverview of your upcoming appointments, urgent emails, chat messages,\nincoming tickets, latest tweets and much more! Users can add the widgets\nthey like and change the background to their liking." : "إبدأ يومك بالاطلاع على ما يهمّك\n\nلوحة قيادة نكست كلاود هي نقطة البداية ليومك؛\nتعطيك لمحة عن مواعيدك القادمة و الرسائل المستعجلة و المحادثات الواردة و تذاكر طلب المساعدة المعلقة و آخر التغريدات و الكثير غيرها!\nيمكنك أن تضيف أدوات أخرى ترغبها\nكما يمكنك تغيير مظهر و خلفية اللوحة كما تريد. " }, "nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;"); diff --git a/apps/dashboard/l10n/ar.json b/apps/dashboard/l10n/ar.json index 924951fab62..e344d7c47b8 100644 --- a/apps/dashboard/l10n/ar.json +++ b/apps/dashboard/l10n/ar.json @@ -1,8 +1,11 @@ { "translations": { "Dashboard" : "الرئيسية", "Dashboard app" : "تطبيق الصفحة الرئيسية", + "Start your day informed\n\nThe Nextcloud Dashboard is your starting point of the day, giving you an overview of your upcoming appointments, urgent emails, chat messages, incoming tickets, latest tweets and much more! Users can add the widgets they like and change the background to their liking." : "إبدأ يومك بالاطلاع على ما يهمّك\n\nلوحة قيادة نكست كلاود هي نقطة البداية ليومك؛\nتعطيك لمحة عن مواعيدك القادمة و الرسائل المستعجلة و المحادثات الواردة و تذاكر طلب المساعدة المعلقة و آخر التغريدات و الكثير غيرها!\nيمكنك أن تضيف أدوات أخرى ترغبها\nكما يمكنك تغيير مظهر و خلفية اللوحة كما تريد. ", + "\"{title} icon\"" : "\"{title} أيقونة\"", "Customize" : "تعديل", "Edit widgets" : "تعديل الودجات", + "Get more widgets from the App Store" : "يمكنك الحصول على المزيد من الأدوات من متجر التطبيقات", "Weather service" : "خدمة احوال الطقس", "For your privacy, the weather data is requested by your Nextcloud server on your behalf so the weather service receives no personal information." : "لخصوصيتك، يتم استدعاء بيانات احوال الطقس عبر خادم نكست كلاود الخاص بك نيابه عنك ولذلك خدمة احوال الطقس لا تشارك المعلومات الشخصية.", "Weather data from Met.no" : "بيانات احوال الطقس من Met.no", @@ -17,6 +20,7 @@ "Good evening" : "مساء الخير", "Good evening, {name}" : "مساء الخير، {name}", "Hello" : "مرحبا", - "Hello, {name}" : "مرحبا، {name} " + "Hello, {name}" : "مرحبا، {name} ", + "Start your day informed\n\nThe Nextcloud Dashboard is your starting point of the day, giving you an\noverview of your upcoming appointments, urgent emails, chat messages,\nincoming tickets, latest tweets and much more! Users can add the widgets\nthey like and change the background to their liking." : "إبدأ يومك بالاطلاع على ما يهمّك\n\nلوحة قيادة نكست كلاود هي نقطة البداية ليومك؛\nتعطيك لمحة عن مواعيدك القادمة و الرسائل المستعجلة و المحادثات الواردة و تذاكر طلب المساعدة المعلقة و آخر التغريدات و الكثير غيرها!\nيمكنك أن تضيف أدوات أخرى ترغبها\nكما يمكنك تغيير مظهر و خلفية اللوحة كما تريد. " },"pluralForm" :"nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;" }
\ No newline at end of file diff --git a/apps/dashboard/l10n/gl.js b/apps/dashboard/l10n/gl.js index 65bc3e13825..39e12551b16 100644 --- a/apps/dashboard/l10n/gl.js +++ b/apps/dashboard/l10n/gl.js @@ -3,13 +3,13 @@ OC.L10N.register( { "Dashboard" : "Taboleiro", "Dashboard app" : "Aplicación de taboleiro", - "Start your day informed\n\nThe Nextcloud Dashboard is your starting point of the day, giving you an overview of your upcoming appointments, urgent emails, chat messages, incoming tickets, latest tweets and much more! Users can add the widgets they like and change the background to their liking." : "Comeza o día informado\n\nO Taboleiro de Nextcloud é o teu punto de partida do día, dándoche unha visión xeral das túas próximas citas, correos electrónicos urxentes, mensaxes de chat, tickets entrantes, chíos máis recentes e moito máis. Os usuarios poden engadir os widgets que lles gustan e cambiar o fondo ao seu gusto.", - "\"{title} icon\"" : "\"icona {title}\"", + "Start your day informed\n\nThe Nextcloud Dashboard is your starting point of the day, giving you an overview of your upcoming appointments, urgent emails, chat messages, incoming tickets, latest tweets and much more! Users can add the widgets they like and change the background to their liking." : "Comece o día informado\n\nO Taboleiro de Nextcloud é o seu punto de partida do día, onde atopará unha visión xeral das súas próximas citas, correos-e urxentes, mensaxes de conversas, billetes entrantes, chíos máis recentes e moito máis. Os usuarios poden engadir os trebellos que lles gusten e cambiar o fondo ao seu antollo.", + "\"{title} icon\"" : "«icona {title}»", "Customize" : "Personalizar", "Edit widgets" : "Editar trebellos", - "Get more widgets from the App Store" : "Obtén máis widgets da Tenda de Aplicacións", + "Get more widgets from the App Store" : "Obter máis trebellos na tenda de aplicacións", "Weather service" : "Servizo meteorolóxico", - "For your privacy, the weather data is requested by your Nextcloud server on your behalf so the weather service receives no personal information." : "Para a súa privacidade, o servidor do Nextcloud solicita os datos meteorolóxicos no seu nome para que o servizo meteorolóxico non reciba información persoal.", + "For your privacy, the weather data is requested by your Nextcloud server on your behalf so the weather service receives no personal information." : "Para a súa privacidade, o servidor de Nextcloud solicita os datos meteorolóxicos no seu nome para que o servizo meteorolóxico non reciba información persoal.", "Weather data from Met.no" : "Datos meteorolóxicos de Met.no", "geocoding with Nominatim" : "xeocodificación con Nominatim", "elevation data from OpenTopoData" : "datos de elevación de OpenTopoData", @@ -23,6 +23,6 @@ OC.L10N.register( "Good evening, {name}" : "Boas noites, {name}", "Hello" : "Hello", "Hello, {name}" : "Ola, {name}", - "Start your day informed\n\nThe Nextcloud Dashboard is your starting point of the day, giving you an\noverview of your upcoming appointments, urgent emails, chat messages,\nincoming tickets, latest tweets and much more! Users can add the widgets\nthey like and change the background to their liking." : "Comeza o día informado\n\nO Dashboard de Nextcloud é o teu punto de partida do día, dándoche unha\nvisión xeral das túas próximas citas, correos electrónicos urxentes, mensaxes de chat,\nentradas entrantes, tweets máis recentes e moito máis. Os usuarios poden engadir os widgets\nque lles gustan e cambiar o fondo ao seu gusto." + "Start your day informed\n\nThe Nextcloud Dashboard is your starting point of the day, giving you an\noverview of your upcoming appointments, urgent emails, chat messages,\nincoming tickets, latest tweets and much more! Users can add the widgets\nthey like and change the background to their liking." : "Comece o día informado\n\nO Taboleiro de Nextcloud é o seu punto de partida do día, onde atopará unha visión xeral das súas próximas citas, correos-e urxentes, mensaxes de conversas, billetes entrantes, chíos máis recentes e moito máis. Os usuarios poden engadir os trebellos que lles gusten e cambiar o fondo ao seu antollo." }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/dashboard/l10n/gl.json b/apps/dashboard/l10n/gl.json index 1e40ee6ac67..bd1b8892b26 100644 --- a/apps/dashboard/l10n/gl.json +++ b/apps/dashboard/l10n/gl.json @@ -1,13 +1,13 @@ { "translations": { "Dashboard" : "Taboleiro", "Dashboard app" : "Aplicación de taboleiro", - "Start your day informed\n\nThe Nextcloud Dashboard is your starting point of the day, giving you an overview of your upcoming appointments, urgent emails, chat messages, incoming tickets, latest tweets and much more! Users can add the widgets they like and change the background to their liking." : "Comeza o día informado\n\nO Taboleiro de Nextcloud é o teu punto de partida do día, dándoche unha visión xeral das túas próximas citas, correos electrónicos urxentes, mensaxes de chat, tickets entrantes, chíos máis recentes e moito máis. Os usuarios poden engadir os widgets que lles gustan e cambiar o fondo ao seu gusto.", - "\"{title} icon\"" : "\"icona {title}\"", + "Start your day informed\n\nThe Nextcloud Dashboard is your starting point of the day, giving you an overview of your upcoming appointments, urgent emails, chat messages, incoming tickets, latest tweets and much more! Users can add the widgets they like and change the background to their liking." : "Comece o día informado\n\nO Taboleiro de Nextcloud é o seu punto de partida do día, onde atopará unha visión xeral das súas próximas citas, correos-e urxentes, mensaxes de conversas, billetes entrantes, chíos máis recentes e moito máis. Os usuarios poden engadir os trebellos que lles gusten e cambiar o fondo ao seu antollo.", + "\"{title} icon\"" : "«icona {title}»", "Customize" : "Personalizar", "Edit widgets" : "Editar trebellos", - "Get more widgets from the App Store" : "Obtén máis widgets da Tenda de Aplicacións", + "Get more widgets from the App Store" : "Obter máis trebellos na tenda de aplicacións", "Weather service" : "Servizo meteorolóxico", - "For your privacy, the weather data is requested by your Nextcloud server on your behalf so the weather service receives no personal information." : "Para a súa privacidade, o servidor do Nextcloud solicita os datos meteorolóxicos no seu nome para que o servizo meteorolóxico non reciba información persoal.", + "For your privacy, the weather data is requested by your Nextcloud server on your behalf so the weather service receives no personal information." : "Para a súa privacidade, o servidor de Nextcloud solicita os datos meteorolóxicos no seu nome para que o servizo meteorolóxico non reciba información persoal.", "Weather data from Met.no" : "Datos meteorolóxicos de Met.no", "geocoding with Nominatim" : "xeocodificación con Nominatim", "elevation data from OpenTopoData" : "datos de elevación de OpenTopoData", @@ -21,6 +21,6 @@ "Good evening, {name}" : "Boas noites, {name}", "Hello" : "Hello", "Hello, {name}" : "Ola, {name}", - "Start your day informed\n\nThe Nextcloud Dashboard is your starting point of the day, giving you an\noverview of your upcoming appointments, urgent emails, chat messages,\nincoming tickets, latest tweets and much more! Users can add the widgets\nthey like and change the background to their liking." : "Comeza o día informado\n\nO Dashboard de Nextcloud é o teu punto de partida do día, dándoche unha\nvisión xeral das túas próximas citas, correos electrónicos urxentes, mensaxes de chat,\nentradas entrantes, tweets máis recentes e moito máis. Os usuarios poden engadir os widgets\nque lles gustan e cambiar o fondo ao seu gusto." + "Start your day informed\n\nThe Nextcloud Dashboard is your starting point of the day, giving you an\noverview of your upcoming appointments, urgent emails, chat messages,\nincoming tickets, latest tweets and much more! Users can add the widgets\nthey like and change the background to their liking." : "Comece o día informado\n\nO Taboleiro de Nextcloud é o seu punto de partida do día, onde atopará unha visión xeral das súas próximas citas, correos-e urxentes, mensaxes de conversas, billetes entrantes, chíos máis recentes e moito máis. Os usuarios poden engadir os trebellos que lles gusten e cambiar o fondo ao seu antollo." },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/dashboard/l10n/ko.js b/apps/dashboard/l10n/ko.js index c4349c67721..07685f6709f 100644 --- a/apps/dashboard/l10n/ko.js +++ b/apps/dashboard/l10n/ko.js @@ -13,12 +13,12 @@ OC.L10N.register( "Weather" : "날씨", "Status" : "상태", "Good morning" : "좋은 아침입니다.", - "Good morning, {name}" : "{name} 님, 좋은 아침입니다.", - "Good afternoon" : "안녕하세요", - "Good afternoon, {name}" : "{name} 님, 안녕하세요", - "Good evening" : "안녕하세요", - "Good evening, {name}" : "{name} 님, 안녕하세요", - "Hello" : "안녕하세요", - "Hello, {name}" : "{name} 님, 안녕하세요" + "Good morning, {name}" : "{name}님, 좋은 아침입니다.", + "Good afternoon" : "안녕하세요.", + "Good afternoon, {name}" : "안녕하세요, {name}님.", + "Good evening" : "안녕하세요.", + "Good evening, {name}" : "안녕하세요, {name}님.", + "Hello" : "안녕하세요.", + "Hello, {name}" : "안녕하세요, {name}님." }, "nplurals=1; plural=0;"); diff --git a/apps/dashboard/l10n/ko.json b/apps/dashboard/l10n/ko.json index 147fea9d52c..ab2b2369682 100644 --- a/apps/dashboard/l10n/ko.json +++ b/apps/dashboard/l10n/ko.json @@ -11,12 +11,12 @@ "Weather" : "날씨", "Status" : "상태", "Good morning" : "좋은 아침입니다.", - "Good morning, {name}" : "{name} 님, 좋은 아침입니다.", - "Good afternoon" : "안녕하세요", - "Good afternoon, {name}" : "{name} 님, 안녕하세요", - "Good evening" : "안녕하세요", - "Good evening, {name}" : "{name} 님, 안녕하세요", - "Hello" : "안녕하세요", - "Hello, {name}" : "{name} 님, 안녕하세요" + "Good morning, {name}" : "{name}님, 좋은 아침입니다.", + "Good afternoon" : "안녕하세요.", + "Good afternoon, {name}" : "안녕하세요, {name}님.", + "Good evening" : "안녕하세요.", + "Good evening, {name}" : "안녕하세요, {name}님.", + "Hello" : "안녕하세요.", + "Hello, {name}" : "안녕하세요, {name}님." },"pluralForm" :"nplurals=1; plural=0;" }
\ No newline at end of file diff --git a/apps/dav/l10n/ar.js b/apps/dav/l10n/ar.js new file mode 100644 index 00000000000..c29b5ae0b30 --- /dev/null +++ b/apps/dav/l10n/ar.js @@ -0,0 +1,191 @@ +OC.L10N.register( + "dav", + { + "Calendar" : "التقويم", + "To-dos" : "قائمة المهام", + "Personal" : "شخصي", + "{actor} created calendar {calendar}" : "{actor} قام بإنشاء تقويم {calendar}", + "You created calendar {calendar}" : "قمت بإنشاء التقويم {calendar}", + "{actor} deleted calendar {calendar}" : "{actor} قام بحذف التقويم {calendar}", + "You deleted calendar {calendar}" : "لقد قمت بحذف التقويم {calendar}", + "{actor} updated calendar {calendar}" : "{actor} حدّث التقويم {calendar}", + "You updated calendar {calendar}" : "لقد قمت بتحديث التقويم {calendar}", + "{actor} restored calendar {calendar}" : "{actor} استعاد التقويم {calendar}", + "You restored calendar {calendar}" : "أنت استعدت التقويم {calendar}", + "You shared calendar {calendar} as public link" : "أنت شاركت التقويم {calendar} كرابطٍ عموميٍ public link", + "You removed public link for calendar {calendar}" : "أنت ألغيب الرابط العمومي للتقويم {calendar}", + "{actor} shared calendar {calendar} with you" : "{actor} قام بمشاركة التقويم {calendar} معك", + "You shared calendar {calendar} with {user}" : "لقد قمت بمشاركة التقويم {calendar} مع {user}", + "{actor} shared calendar {calendar} with {user}" : "{actor} قام بمشاركة التقويم {calendar} مع {user}", + "{actor} unshared calendar {calendar} from you" : "{actor} أزال مشاركة التقويم {calendar} منك", + "You unshared calendar {calendar} from {user}" : "لقد أزلت مشاركة التقويم {calendar} من {user}", + "{actor} unshared calendar {calendar} from {user}" : "{actor} أزال مشاركة التقويم {calendar} من {user}", + "{actor} unshared calendar {calendar} from themselves" : "{actor} أزال مشاركة التقويم {calendar} من نفسه", + "You shared calendar {calendar} with group {group}" : "أنت شاركت التقويم {calendar} مع المجموعة {group}", + "{actor} shared calendar {calendar} with group {group}" : "{actor} شارك التقويم {calendar} مع المجموعة {group}", + "You unshared calendar {calendar} from group {group}" : "أنت أزلت مشاركة التقويم {calendar} من المجموعة {group}", + "{actor} unshared calendar {calendar} from group {group}" : "{actor} أزال مشاركة التقويم {calendar} من المجموعة {group}", + "Untitled event" : "حدث بدون اسم", + "{actor} created event {event} in calendar {calendar}" : "{actor} أنشأ الحدث {event} في التقويم {calendar}", + "You created event {event} in calendar {calendar}" : "أنت أنشأت الحدث {event} في التقويم {calendar}", + "{actor} deleted event {event} from calendar {calendar}" : "{actor} حذف الحدث {event} من التقويم {calendar}", + "You deleted event {event} from calendar {calendar}" : "أنت حذفت الحدث {event} من التقويم {calendar}", + "{actor} updated event {event} in calendar {calendar}" : "{actor} عدّل الحدث {event} في التقويم {calendar}", + "You updated event {event} in calendar {calendar}" : "أنت عدّلت الحدث {event} في التقويم {calendar}", + "{actor} moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "{actor} نقل الحدث {event} من التقويم {sourceCalendar} إلى التقويم {targetCalendar}", + "You moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "أنت نقلت الحدث {event} من التقويم {sourceCalendar} إلى التقويم {targetCalendar}", + "{actor} restored event {event} of calendar {calendar}" : "{actor} قام باستعادة الحدث {event} للتقويم {calendar}", + "You restored event {event} of calendar {calendar}" : "أنت قمت باستعادة الحدث {event} للتقويم {calendar}", + "Busy" : "مشغول", + "{actor} created to-do {todo} in list {calendar}" : "{actor} قائمة بإنشاء مهمة {todo} في القائمة {calendar}", + "You created to-do {todo} in list {calendar}" : "أنت قمت بإنشاء مهمة {todo} في القائمة {calendar}", + "{actor} deleted to-do {todo} from list {calendar}" : "{actor} قام بحذف مهمة {todo} من القائمة {calendar}", + "You deleted to-do {todo} from list {calendar}" : "أنت قمت بحذف مهمة {todo} من القائمة {calendar}", + "{actor} updated to-do {todo} in list {calendar}" : "{actor} قام بتعديل مهمة {todo} في القائمة {calendar}", + "You updated to-do {todo} in list {calendar}" : "أنت قمت بتعديل مهمة {todo} في القائمة {calendar}", + "{actor} solved to-do {todo} in list {calendar}" : "{actor} أنجز المهمة {todo} في القائمة{calendar}", + "You solved to-do {todo} in list {calendar}" : "أنت أنجزت المهمة {todo} في القائمة {calendar}", + "{actor} reopened to-do {todo} in list {calendar}" : "{actor} أعاد فتح المهمة {todo} في القائمة {calendar}", + "You reopened to-do {todo} in list {calendar}" : "أنت أعدت فتح المهمة {todo} في القائمة {calendar}", + "{actor} moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "{actor} قام بنقل المهمة {todo} من القائمة {sourceCalendar} إلى القائمة {targetCalendar}", + "You moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "أنت قمت بنقل المهمة {todo} من القائمة {sourceCalendar} إلى القائمة {targetCalendar}", + "Calendar, contacts and tasks" : "التقويم، و جهات الاتصال، و قائمة المهام", + "A <strong>calendar</strong> was modified" : " <strong>تقويم</strong> تمّ تعديله", + "A calendar <strong>event</strong> was modified" : "<strong>حدث</strong> في تقويم تمّ تعديله", + "A calendar <strong>to-do</strong> was modified" : " <strong>مهمة</strong> في تقويم تمّ تعديلها", + "Contact birthdays" : "أعياد ميلاد جهات الاتصال", + "Death of %s" : "وفاة %s", + "Untitled calendar" : "تقويم بدون اسم", + "Calendar:" : "التقويم:", + "Date:" : "التاريخ:", + "Where:" : "المكان:", + "Description:" : "الوصف:", + "_%n minute_::_%n minutes_" : ["%n دقيقة","%n دقيقة","%n دقيقتيْن","%n دقائق","%n دقائق","%n دقائق"], + "%s (in %s)" : "%s (في %s)", + "%s (%s ago)" : "%s (%s مضت)", + "Calendar: %s" : "التقويم: %s", + "Date: %s" : "التاريخ: %s", + "Description: %s" : "الوصف: %s", + "Where: %s" : "المكان: %s", + "%1$s via %2$s" : "%1$s عبر %2$s", + "Cancelled: %1$s" : "مُلغىً: %1$s", + "\"%1$s\" has been canceled" : "\"%1$s\" تمّ إلغاؤه", + "Re: %1$s" : "إعادة: %1$s", + "%1$s has accepted your invitation" : "%1$s قبل دعوتك", + "%1$s has tentatively accepted your invitation" : "%1$s قبل دعوتك بشكل مبدئي", + "%1$s has declined your invitation" : "%1$s لم يقبل دعوتك", + "%1$s has responded to your invitation" : "%1$s استجاب لدعوتك", + "Invitation updated: %1$s" : "تحديث الدعوة: %1$s", + "%1$s updated the event \"%2$s\"" : "%1$s تحديث الحدث \"%2$s\"", + "Invitation: %1$s" : "دعوة: %1$s", + "%1$s would like to invite you to \"%2$s\"" : "%1$s يرغب في دعوتكم إلى \"%2$s\"", + "Organizer:" : "تنظيم:", + "Attendees:" : "الحُضُور:", + "Title:" : "العنوان:", + "Time:" : "الوقت:", + "Location:" : "المكان :", + "Link:" : "الرابط:", + "Accept" : "قبول", + "Decline" : "رفض", + "More options …" : "مزيد مِن الخيارات…", + "More options at %s" : "خيارات أخرى في %s", + "Contacts" : "المُراسِلون", + "{actor} created address book {addressbook}" : "{actor} أنشأ دفتر العناوين {addressbook}", + "You created address book {addressbook}" : "أنت أنشأت دفتر العناوين {addressbook}", + "{actor} deleted address book {addressbook}" : "{actor} قام بحذف دفتر العناوين {addressbook}", + "You deleted address book {addressbook}" : "أنت قمت بحذف دفتر العناوين {addressbook}", + "{actor} updated address book {addressbook}" : "{actor} قام بتعديل دفتر العناوين {addressbook}", + "You updated address book {addressbook}" : "أنت قمت بتعديل دفتر العناوين {addressbook}", + "{actor} shared address book {addressbook} with you" : "{actor} قام بمشاركة دفتر العناوين {addressbook} معك", + "You shared address book {addressbook} with {user}" : "أنت قمت بمشاركة دفتر العناوين {addressbook} مع {user}", + "{actor} shared address book {addressbook} with {user}" : "{actor} قام بمشاركة دفتر العناوين {addressbook} مع {user}", + "{actor} unshared address book {addressbook} from you" : "{actor} قام بإلغاء مشاركة دفتر العناوين {addressbook} معك", + "You unshared address book {addressbook} from {user}" : "أنت قمت بإلغاء مشاركة دفتر العناوين {addressbook} مع {user}", + "{actor} unshared address book {addressbook} from {user}" : "{actor} قام بإلغاء مشاركة دفتر العناوين {addressbook} مع {user}", + "{actor} unshared address book {addressbook} from themselves" : "{actor} قام بإلغاء مشاركته في دفتر العناوين {addressbook} ", + "You shared address book {addressbook} with group {group}" : "أنت قمت بمشاركة دفتر العناوين {addressbook} مع المجموعة {group}", + "{actor} shared address book {addressbook} with group {group}" : "{actor} قام بمشاركة دفتر العناوين {addressbook} مع المجموعة {group}", + "You unshared address book {addressbook} from group {group}" : "أنت قمت بإلغاء مشاركة دفتر العناوين {addressbook} مع المجموعة {group}", + "{actor} unshared address book {addressbook} from group {group}" : "{actor} قام بإلغاء مشاركة دفتر العناوين {addressbook} مع المجموعة {group}", + "{actor} created contact {card} in address book {addressbook}" : "{actor} قام بإنشاء جهة اتصال {card} في دفتر العناوين {addressbook}", + "You created contact {card} in address book {addressbook}" : "أنت قمت بإنشاء جهة اتصال {card} في دفتر العناوين {addressbook}", + "{actor} deleted contact {card} from address book {addressbook}" : "{actor} قام بحذف جهة الاتصال {card} من دفتر العناوين {addressbook}", + "You deleted contact {card} from address book {addressbook}" : "أنت قمت بحذف جهة الاتصال {card} من دفتر العناوين {addressbook}", + "{actor} updated contact {card} in address book {addressbook}" : "{actor} قام بتحديث جهة الاتصال {card} في دفتر العناوين {addressbook}", + "You updated contact {card} in address book {addressbook}" : "أنت قمت بتحديث جهة الاتصال {card} في دفتر العناوين {addressbook}", + "A <strong>contact</strong> or <strong>address book</strong> was modified" : "تمّ تعديل <strong>جهة الاتصال</strong> أو <strong>دفتر العناوين</strong> ", + "Accounts" : "حسابات", + "System address book which holds all accounts" : "دفتر عناوين النظام الذي يحوي كل الحسابات", + "File is not updatable: %1$s" : "ملف غير قابل للتعديل: %1$s", + "Could not write to final file, canceled by hook" : "تعذرت الكتابة إلى الملف النهائي، تم إلغاؤه بواسطة خطّاف hook", + "Could not write file contents" : "تعذرت كتابة محتويات الملف", + "Error while copying file to target location (copied: %1$s, expected filesize: %2$s)" : "حدث خطأ أثناء نسخ الملف إلى الموقع المقصد (تمّ نسخه: %1$s, حجم الملف المتوقع: %2$s)", + "Expected filesize of %1$s but read (from Nextcloud client) and wrote (to Nextcloud storage) %2$s. Could either be a network problem on the sending side or a problem writing to the storage on the server side." : "الحجم المتوقع للملف هو %1$s؛ بينما المقروء من ( الجهاز العميل لنكست كلاود) و المكتوب في (تخزين نكست كلاود) هو %2$s. يمكن أن يكون السبب إمّا مشكلة اتصال في جانب الجهاز العميل أو مشكلة في الكتابة في وحدة التخزين في جانب خادوم نكست كلاود .", + "Could not rename part file to final file, canceled by hook" : "تعذّرت إعادة تسمية ملف جزئي إلى ملف نهائي. تمّ الإلغاء من قِبَل الخطّاف hook.", + "Could not rename part file to final file" : "تعذّرت إعادة تسمية ملف جزئي إلى ملف نهائي", + "Failed to check file size: %1$s" : "إخفاق في تحديد حجم الملف: %1$s", + "Could not open file" : "تعذّر فتح الملف", + "Encryption not ready: %1$s" : "التشفير غير جاهز: %1$s", + "Failed to open file: %1$s" : "تعذّر فتح الملف: %1$s", + "Failed to unlink: %1$s" : "تعذّر فك الارتباط: %1$s", + "Invalid chunk name" : "اسم كتلة chunk غير صحيح", + "Could not rename part file assembled from chunks" : "تعذّرت إعادة تسمية ملف جزئي مُجمّعٍ من كُتلٍ chunks", + "Failed to write file contents: %1$s" : "إخفاق في كتابة محتويات الملف: %1$s", + "File not found: %1$s" : "ملف غير موجود: %1$s", + "System is in maintenance mode." : "النظام في حالة صيانة.", + "Upgrade needed" : "الترقية لإصدارٍ أحدث لازمةٌٍ", + "Your %s needs to be configured to use HTTPS in order to use CalDAV and CardDAV with iOS/macOS." : "%s الخاص بك يجب تهيئته لاستخدام HTTPS حتى يمكن استعمال CalDAV و CardDAV في نظام التشغيل iOS/macOS. ", + "Configures a CalDAV account" : "تكوين حساب CalDAV", + "Configures a CardDAV account" : "تكوين حساب CardDAV", + "Events" : "أحداث", + "Tasks" : "المهام", + "Untitled task" : "مهمة بدون اسم", + "Completed on %s" : "تمّ الانتهاء منه في %s", + "Due on %s by %s" : "مطلوبٌ في %s من قِبَل%s", + "Due on %s" : "مطلوبٌ في %s", + "Migrated calendar (%1$s)" : "تقويم مُرحّل (%1$s)", + "Calendars including events, details and attendees" : "تحوي التقاويم الأحداث، و تفاصيلها، و الحُضُور", + "Contacts and groups" : "جهات الاتصال والمجموعات", + "WebDAV" : "WebDAV", + "WebDAV endpoint" : "النقطة الحدّيّة endpoint لـ WebDAV", + "Availability" : "أوقات التواجد availability", + "If you configure your working hours, other users will see when you are out of office when they book a meeting." : "إذا قمت بتهيئة ساعات العمل الخاصة بك، فسيظهر للمستخدمين الآخرين عندما يحجزون معك موعداً إذا ما كنت في المكتب أو خارجه.", + "Time zone:" : "منطقة زمنية:", + "to" : "إلى", + "Delete slot" : "حذف فُرَضَةٍ slot زمنيّةٍ", + "No working hours set" : "لم يتم تحديد ساعات العمل", + "Add slot" : "أضِف فُرَضَةً slot زمنيّةً", + "Monday" : "الإثنين", + "Tuesday" : "الثلاثاء", + "Wednesday" : "الأربعاء", + "Thursday" : "الخميس", + "Friday" : "الجمعة", + "Saturday" : "السبت", + "Sunday" : "الأحد", + "Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications." : "قم بتعيين حالة المستخدم تلقائيًا على \"عدم الإزعاج\" خارج نطاق أوقات التوافر لكتم جميع الإشعارات", + "Save" : "حفظ", + "Failed to load availability" : "إخفاق في تحميل أوقات التوافر", + "Saved availability" : "تمّ حفظ أوقات التوافر", + "Failed to save availability" : "إخفاق في حفظ أوقات التواجد", + "Calendar server" : "خادوم التقويم", + "Send invitations to attendees" : "إرسال دعوات للمُستهدفين بالحُضُُور", + "Automatically generate a birthday calendar" : "تجاهل تقويم أعياد الميلاد تلقائيّاً", + "Birthday calendars will be generated by a background job." : "تقويم أعياد الميلاد سيتم توليده من قِبَل مهمةٍ في الخلفية.", + "Hence they will not be available immediately after enabling but will show up after some time." : "ومن ثمّ لن تكون متاحةً فور التفعيل بل ستظهر بعد مرور بعض الوقت.", + "Send notifications for events" : "إرسال إشعارات حول الأحداث", + "Notifications are sent via background jobs, so these must occur often enough." : "يتمّ إرسال الإشعارات من قِبَل مهمّةٍ في الخلفية. لذا سيتكرر عمل هذا المهام حسب الحاجة.", + "Send reminder notifications to calendar sharees as well" : "أرسل إشعارات للتذكير إلى المشتركين بالتقويم كذلك", + "Reminders are always sent to organizers and attendees." : "إشعارات التذكير يتم إرسالها دائماً إلى مُنظّم أو مُنظّمي الحدث و المستهدفين بحضوره.", + "Enable notifications for events via push" : "تمكين الإشعارات حول الأحداث عبر الزّجّ push.", + "Also install the {calendarappstoreopen}Calendar app{linkclose}, or {calendardocopen}connect your desktop & mobile for syncing ↗{linkclose}." : "قم أيضاً بتنصيب {calendarappstoreopen} تطبيق التقويم {linkclose}, أو {calendardocopen} أوصل جهازك و موبايلك للمُزامنة ↗{linkclose}.", + "Please make sure to properly set up {emailopen}the email server{linkclose}." : "رجاءُ، تأكّد من الإعداد الصحيح لـ {emailopen} خادوم البريد الالكتروني {linkclose}.", + "There was an error updating your attendance status." : "حدث خطأ في تحديث حالة حضورك.", + "Please contact the organizer directly." : "رجاءً، تواصل مع المُنظّم أو المُنظّمين مُباشرةً.", + "Are you accepting the invitation?" : "هل تقبل الدعوة؟", + "Tentative" : "مبدئي", + "Your attendance was updated successfully." : "حضورك تم تحديثه بنجاحٍ", + "Invitation canceled" : "تمّ إلغاء الدعوة", + "Invitation updated" : "تمّ تعديل الدعوة", + "Invitation" : "دعوة" +}, +"nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;"); diff --git a/apps/dav/l10n/ar.json b/apps/dav/l10n/ar.json new file mode 100644 index 00000000000..2f5dd3da247 --- /dev/null +++ b/apps/dav/l10n/ar.json @@ -0,0 +1,189 @@ +{ "translations": { + "Calendar" : "التقويم", + "To-dos" : "قائمة المهام", + "Personal" : "شخصي", + "{actor} created calendar {calendar}" : "{actor} قام بإنشاء تقويم {calendar}", + "You created calendar {calendar}" : "قمت بإنشاء التقويم {calendar}", + "{actor} deleted calendar {calendar}" : "{actor} قام بحذف التقويم {calendar}", + "You deleted calendar {calendar}" : "لقد قمت بحذف التقويم {calendar}", + "{actor} updated calendar {calendar}" : "{actor} حدّث التقويم {calendar}", + "You updated calendar {calendar}" : "لقد قمت بتحديث التقويم {calendar}", + "{actor} restored calendar {calendar}" : "{actor} استعاد التقويم {calendar}", + "You restored calendar {calendar}" : "أنت استعدت التقويم {calendar}", + "You shared calendar {calendar} as public link" : "أنت شاركت التقويم {calendar} كرابطٍ عموميٍ public link", + "You removed public link for calendar {calendar}" : "أنت ألغيب الرابط العمومي للتقويم {calendar}", + "{actor} shared calendar {calendar} with you" : "{actor} قام بمشاركة التقويم {calendar} معك", + "You shared calendar {calendar} with {user}" : "لقد قمت بمشاركة التقويم {calendar} مع {user}", + "{actor} shared calendar {calendar} with {user}" : "{actor} قام بمشاركة التقويم {calendar} مع {user}", + "{actor} unshared calendar {calendar} from you" : "{actor} أزال مشاركة التقويم {calendar} منك", + "You unshared calendar {calendar} from {user}" : "لقد أزلت مشاركة التقويم {calendar} من {user}", + "{actor} unshared calendar {calendar} from {user}" : "{actor} أزال مشاركة التقويم {calendar} من {user}", + "{actor} unshared calendar {calendar} from themselves" : "{actor} أزال مشاركة التقويم {calendar} من نفسه", + "You shared calendar {calendar} with group {group}" : "أنت شاركت التقويم {calendar} مع المجموعة {group}", + "{actor} shared calendar {calendar} with group {group}" : "{actor} شارك التقويم {calendar} مع المجموعة {group}", + "You unshared calendar {calendar} from group {group}" : "أنت أزلت مشاركة التقويم {calendar} من المجموعة {group}", + "{actor} unshared calendar {calendar} from group {group}" : "{actor} أزال مشاركة التقويم {calendar} من المجموعة {group}", + "Untitled event" : "حدث بدون اسم", + "{actor} created event {event} in calendar {calendar}" : "{actor} أنشأ الحدث {event} في التقويم {calendar}", + "You created event {event} in calendar {calendar}" : "أنت أنشأت الحدث {event} في التقويم {calendar}", + "{actor} deleted event {event} from calendar {calendar}" : "{actor} حذف الحدث {event} من التقويم {calendar}", + "You deleted event {event} from calendar {calendar}" : "أنت حذفت الحدث {event} من التقويم {calendar}", + "{actor} updated event {event} in calendar {calendar}" : "{actor} عدّل الحدث {event} في التقويم {calendar}", + "You updated event {event} in calendar {calendar}" : "أنت عدّلت الحدث {event} في التقويم {calendar}", + "{actor} moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "{actor} نقل الحدث {event} من التقويم {sourceCalendar} إلى التقويم {targetCalendar}", + "You moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "أنت نقلت الحدث {event} من التقويم {sourceCalendar} إلى التقويم {targetCalendar}", + "{actor} restored event {event} of calendar {calendar}" : "{actor} قام باستعادة الحدث {event} للتقويم {calendar}", + "You restored event {event} of calendar {calendar}" : "أنت قمت باستعادة الحدث {event} للتقويم {calendar}", + "Busy" : "مشغول", + "{actor} created to-do {todo} in list {calendar}" : "{actor} قائمة بإنشاء مهمة {todo} في القائمة {calendar}", + "You created to-do {todo} in list {calendar}" : "أنت قمت بإنشاء مهمة {todo} في القائمة {calendar}", + "{actor} deleted to-do {todo} from list {calendar}" : "{actor} قام بحذف مهمة {todo} من القائمة {calendar}", + "You deleted to-do {todo} from list {calendar}" : "أنت قمت بحذف مهمة {todo} من القائمة {calendar}", + "{actor} updated to-do {todo} in list {calendar}" : "{actor} قام بتعديل مهمة {todo} في القائمة {calendar}", + "You updated to-do {todo} in list {calendar}" : "أنت قمت بتعديل مهمة {todo} في القائمة {calendar}", + "{actor} solved to-do {todo} in list {calendar}" : "{actor} أنجز المهمة {todo} في القائمة{calendar}", + "You solved to-do {todo} in list {calendar}" : "أنت أنجزت المهمة {todo} في القائمة {calendar}", + "{actor} reopened to-do {todo} in list {calendar}" : "{actor} أعاد فتح المهمة {todo} في القائمة {calendar}", + "You reopened to-do {todo} in list {calendar}" : "أنت أعدت فتح المهمة {todo} في القائمة {calendar}", + "{actor} moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "{actor} قام بنقل المهمة {todo} من القائمة {sourceCalendar} إلى القائمة {targetCalendar}", + "You moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "أنت قمت بنقل المهمة {todo} من القائمة {sourceCalendar} إلى القائمة {targetCalendar}", + "Calendar, contacts and tasks" : "التقويم، و جهات الاتصال، و قائمة المهام", + "A <strong>calendar</strong> was modified" : " <strong>تقويم</strong> تمّ تعديله", + "A calendar <strong>event</strong> was modified" : "<strong>حدث</strong> في تقويم تمّ تعديله", + "A calendar <strong>to-do</strong> was modified" : " <strong>مهمة</strong> في تقويم تمّ تعديلها", + "Contact birthdays" : "أعياد ميلاد جهات الاتصال", + "Death of %s" : "وفاة %s", + "Untitled calendar" : "تقويم بدون اسم", + "Calendar:" : "التقويم:", + "Date:" : "التاريخ:", + "Where:" : "المكان:", + "Description:" : "الوصف:", + "_%n minute_::_%n minutes_" : ["%n دقيقة","%n دقيقة","%n دقيقتيْن","%n دقائق","%n دقائق","%n دقائق"], + "%s (in %s)" : "%s (في %s)", + "%s (%s ago)" : "%s (%s مضت)", + "Calendar: %s" : "التقويم: %s", + "Date: %s" : "التاريخ: %s", + "Description: %s" : "الوصف: %s", + "Where: %s" : "المكان: %s", + "%1$s via %2$s" : "%1$s عبر %2$s", + "Cancelled: %1$s" : "مُلغىً: %1$s", + "\"%1$s\" has been canceled" : "\"%1$s\" تمّ إلغاؤه", + "Re: %1$s" : "إعادة: %1$s", + "%1$s has accepted your invitation" : "%1$s قبل دعوتك", + "%1$s has tentatively accepted your invitation" : "%1$s قبل دعوتك بشكل مبدئي", + "%1$s has declined your invitation" : "%1$s لم يقبل دعوتك", + "%1$s has responded to your invitation" : "%1$s استجاب لدعوتك", + "Invitation updated: %1$s" : "تحديث الدعوة: %1$s", + "%1$s updated the event \"%2$s\"" : "%1$s تحديث الحدث \"%2$s\"", + "Invitation: %1$s" : "دعوة: %1$s", + "%1$s would like to invite you to \"%2$s\"" : "%1$s يرغب في دعوتكم إلى \"%2$s\"", + "Organizer:" : "تنظيم:", + "Attendees:" : "الحُضُور:", + "Title:" : "العنوان:", + "Time:" : "الوقت:", + "Location:" : "المكان :", + "Link:" : "الرابط:", + "Accept" : "قبول", + "Decline" : "رفض", + "More options …" : "مزيد مِن الخيارات…", + "More options at %s" : "خيارات أخرى في %s", + "Contacts" : "المُراسِلون", + "{actor} created address book {addressbook}" : "{actor} أنشأ دفتر العناوين {addressbook}", + "You created address book {addressbook}" : "أنت أنشأت دفتر العناوين {addressbook}", + "{actor} deleted address book {addressbook}" : "{actor} قام بحذف دفتر العناوين {addressbook}", + "You deleted address book {addressbook}" : "أنت قمت بحذف دفتر العناوين {addressbook}", + "{actor} updated address book {addressbook}" : "{actor} قام بتعديل دفتر العناوين {addressbook}", + "You updated address book {addressbook}" : "أنت قمت بتعديل دفتر العناوين {addressbook}", + "{actor} shared address book {addressbook} with you" : "{actor} قام بمشاركة دفتر العناوين {addressbook} معك", + "You shared address book {addressbook} with {user}" : "أنت قمت بمشاركة دفتر العناوين {addressbook} مع {user}", + "{actor} shared address book {addressbook} with {user}" : "{actor} قام بمشاركة دفتر العناوين {addressbook} مع {user}", + "{actor} unshared address book {addressbook} from you" : "{actor} قام بإلغاء مشاركة دفتر العناوين {addressbook} معك", + "You unshared address book {addressbook} from {user}" : "أنت قمت بإلغاء مشاركة دفتر العناوين {addressbook} مع {user}", + "{actor} unshared address book {addressbook} from {user}" : "{actor} قام بإلغاء مشاركة دفتر العناوين {addressbook} مع {user}", + "{actor} unshared address book {addressbook} from themselves" : "{actor} قام بإلغاء مشاركته في دفتر العناوين {addressbook} ", + "You shared address book {addressbook} with group {group}" : "أنت قمت بمشاركة دفتر العناوين {addressbook} مع المجموعة {group}", + "{actor} shared address book {addressbook} with group {group}" : "{actor} قام بمشاركة دفتر العناوين {addressbook} مع المجموعة {group}", + "You unshared address book {addressbook} from group {group}" : "أنت قمت بإلغاء مشاركة دفتر العناوين {addressbook} مع المجموعة {group}", + "{actor} unshared address book {addressbook} from group {group}" : "{actor} قام بإلغاء مشاركة دفتر العناوين {addressbook} مع المجموعة {group}", + "{actor} created contact {card} in address book {addressbook}" : "{actor} قام بإنشاء جهة اتصال {card} في دفتر العناوين {addressbook}", + "You created contact {card} in address book {addressbook}" : "أنت قمت بإنشاء جهة اتصال {card} في دفتر العناوين {addressbook}", + "{actor} deleted contact {card} from address book {addressbook}" : "{actor} قام بحذف جهة الاتصال {card} من دفتر العناوين {addressbook}", + "You deleted contact {card} from address book {addressbook}" : "أنت قمت بحذف جهة الاتصال {card} من دفتر العناوين {addressbook}", + "{actor} updated contact {card} in address book {addressbook}" : "{actor} قام بتحديث جهة الاتصال {card} في دفتر العناوين {addressbook}", + "You updated contact {card} in address book {addressbook}" : "أنت قمت بتحديث جهة الاتصال {card} في دفتر العناوين {addressbook}", + "A <strong>contact</strong> or <strong>address book</strong> was modified" : "تمّ تعديل <strong>جهة الاتصال</strong> أو <strong>دفتر العناوين</strong> ", + "Accounts" : "حسابات", + "System address book which holds all accounts" : "دفتر عناوين النظام الذي يحوي كل الحسابات", + "File is not updatable: %1$s" : "ملف غير قابل للتعديل: %1$s", + "Could not write to final file, canceled by hook" : "تعذرت الكتابة إلى الملف النهائي، تم إلغاؤه بواسطة خطّاف hook", + "Could not write file contents" : "تعذرت كتابة محتويات الملف", + "Error while copying file to target location (copied: %1$s, expected filesize: %2$s)" : "حدث خطأ أثناء نسخ الملف إلى الموقع المقصد (تمّ نسخه: %1$s, حجم الملف المتوقع: %2$s)", + "Expected filesize of %1$s but read (from Nextcloud client) and wrote (to Nextcloud storage) %2$s. Could either be a network problem on the sending side or a problem writing to the storage on the server side." : "الحجم المتوقع للملف هو %1$s؛ بينما المقروء من ( الجهاز العميل لنكست كلاود) و المكتوب في (تخزين نكست كلاود) هو %2$s. يمكن أن يكون السبب إمّا مشكلة اتصال في جانب الجهاز العميل أو مشكلة في الكتابة في وحدة التخزين في جانب خادوم نكست كلاود .", + "Could not rename part file to final file, canceled by hook" : "تعذّرت إعادة تسمية ملف جزئي إلى ملف نهائي. تمّ الإلغاء من قِبَل الخطّاف hook.", + "Could not rename part file to final file" : "تعذّرت إعادة تسمية ملف جزئي إلى ملف نهائي", + "Failed to check file size: %1$s" : "إخفاق في تحديد حجم الملف: %1$s", + "Could not open file" : "تعذّر فتح الملف", + "Encryption not ready: %1$s" : "التشفير غير جاهز: %1$s", + "Failed to open file: %1$s" : "تعذّر فتح الملف: %1$s", + "Failed to unlink: %1$s" : "تعذّر فك الارتباط: %1$s", + "Invalid chunk name" : "اسم كتلة chunk غير صحيح", + "Could not rename part file assembled from chunks" : "تعذّرت إعادة تسمية ملف جزئي مُجمّعٍ من كُتلٍ chunks", + "Failed to write file contents: %1$s" : "إخفاق في كتابة محتويات الملف: %1$s", + "File not found: %1$s" : "ملف غير موجود: %1$s", + "System is in maintenance mode." : "النظام في حالة صيانة.", + "Upgrade needed" : "الترقية لإصدارٍ أحدث لازمةٌٍ", + "Your %s needs to be configured to use HTTPS in order to use CalDAV and CardDAV with iOS/macOS." : "%s الخاص بك يجب تهيئته لاستخدام HTTPS حتى يمكن استعمال CalDAV و CardDAV في نظام التشغيل iOS/macOS. ", + "Configures a CalDAV account" : "تكوين حساب CalDAV", + "Configures a CardDAV account" : "تكوين حساب CardDAV", + "Events" : "أحداث", + "Tasks" : "المهام", + "Untitled task" : "مهمة بدون اسم", + "Completed on %s" : "تمّ الانتهاء منه في %s", + "Due on %s by %s" : "مطلوبٌ في %s من قِبَل%s", + "Due on %s" : "مطلوبٌ في %s", + "Migrated calendar (%1$s)" : "تقويم مُرحّل (%1$s)", + "Calendars including events, details and attendees" : "تحوي التقاويم الأحداث، و تفاصيلها، و الحُضُور", + "Contacts and groups" : "جهات الاتصال والمجموعات", + "WebDAV" : "WebDAV", + "WebDAV endpoint" : "النقطة الحدّيّة endpoint لـ WebDAV", + "Availability" : "أوقات التواجد availability", + "If you configure your working hours, other users will see when you are out of office when they book a meeting." : "إذا قمت بتهيئة ساعات العمل الخاصة بك، فسيظهر للمستخدمين الآخرين عندما يحجزون معك موعداً إذا ما كنت في المكتب أو خارجه.", + "Time zone:" : "منطقة زمنية:", + "to" : "إلى", + "Delete slot" : "حذف فُرَضَةٍ slot زمنيّةٍ", + "No working hours set" : "لم يتم تحديد ساعات العمل", + "Add slot" : "أضِف فُرَضَةً slot زمنيّةً", + "Monday" : "الإثنين", + "Tuesday" : "الثلاثاء", + "Wednesday" : "الأربعاء", + "Thursday" : "الخميس", + "Friday" : "الجمعة", + "Saturday" : "السبت", + "Sunday" : "الأحد", + "Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications." : "قم بتعيين حالة المستخدم تلقائيًا على \"عدم الإزعاج\" خارج نطاق أوقات التوافر لكتم جميع الإشعارات", + "Save" : "حفظ", + "Failed to load availability" : "إخفاق في تحميل أوقات التوافر", + "Saved availability" : "تمّ حفظ أوقات التوافر", + "Failed to save availability" : "إخفاق في حفظ أوقات التواجد", + "Calendar server" : "خادوم التقويم", + "Send invitations to attendees" : "إرسال دعوات للمُستهدفين بالحُضُُور", + "Automatically generate a birthday calendar" : "تجاهل تقويم أعياد الميلاد تلقائيّاً", + "Birthday calendars will be generated by a background job." : "تقويم أعياد الميلاد سيتم توليده من قِبَل مهمةٍ في الخلفية.", + "Hence they will not be available immediately after enabling but will show up after some time." : "ومن ثمّ لن تكون متاحةً فور التفعيل بل ستظهر بعد مرور بعض الوقت.", + "Send notifications for events" : "إرسال إشعارات حول الأحداث", + "Notifications are sent via background jobs, so these must occur often enough." : "يتمّ إرسال الإشعارات من قِبَل مهمّةٍ في الخلفية. لذا سيتكرر عمل هذا المهام حسب الحاجة.", + "Send reminder notifications to calendar sharees as well" : "أرسل إشعارات للتذكير إلى المشتركين بالتقويم كذلك", + "Reminders are always sent to organizers and attendees." : "إشعارات التذكير يتم إرسالها دائماً إلى مُنظّم أو مُنظّمي الحدث و المستهدفين بحضوره.", + "Enable notifications for events via push" : "تمكين الإشعارات حول الأحداث عبر الزّجّ push.", + "Also install the {calendarappstoreopen}Calendar app{linkclose}, or {calendardocopen}connect your desktop & mobile for syncing ↗{linkclose}." : "قم أيضاً بتنصيب {calendarappstoreopen} تطبيق التقويم {linkclose}, أو {calendardocopen} أوصل جهازك و موبايلك للمُزامنة ↗{linkclose}.", + "Please make sure to properly set up {emailopen}the email server{linkclose}." : "رجاءُ، تأكّد من الإعداد الصحيح لـ {emailopen} خادوم البريد الالكتروني {linkclose}.", + "There was an error updating your attendance status." : "حدث خطأ في تحديث حالة حضورك.", + "Please contact the organizer directly." : "رجاءً، تواصل مع المُنظّم أو المُنظّمين مُباشرةً.", + "Are you accepting the invitation?" : "هل تقبل الدعوة؟", + "Tentative" : "مبدئي", + "Your attendance was updated successfully." : "حضورك تم تحديثه بنجاحٍ", + "Invitation canceled" : "تمّ إلغاء الدعوة", + "Invitation updated" : "تمّ تعديل الدعوة", + "Invitation" : "دعوة" +},"pluralForm" :"nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;" +}
\ No newline at end of file diff --git a/apps/dav/l10n/ca.js b/apps/dav/l10n/ca.js index 8c5a24aa162..581bb4ccc10 100644 --- a/apps/dav/l10n/ca.js +++ b/apps/dav/l10n/ca.js @@ -65,7 +65,7 @@ OC.L10N.register( "_%n day_::_%n days_" : ["%n dia","%n dies"], "_%n hour_::_%n hours_" : ["%n hora","%n hores"], "_%n minute_::_%n minutes_" : ["%n minut","%n minuts"], - "%s (in %s)" : "%s (d'aquí %s)", + "%s (in %s)" : "%s (d'aquí a %s)", "%s (%s ago)" : "%s (fa %s)", "Calendar: %s" : "Calendari: %s", "Date: %s" : "Data: %s", diff --git a/apps/dav/l10n/ca.json b/apps/dav/l10n/ca.json index 6b92dedc53e..522bc984fba 100644 --- a/apps/dav/l10n/ca.json +++ b/apps/dav/l10n/ca.json @@ -63,7 +63,7 @@ "_%n day_::_%n days_" : ["%n dia","%n dies"], "_%n hour_::_%n hours_" : ["%n hora","%n hores"], "_%n minute_::_%n minutes_" : ["%n minut","%n minuts"], - "%s (in %s)" : "%s (d'aquí %s)", + "%s (in %s)" : "%s (d'aquí a %s)", "%s (%s ago)" : "%s (fa %s)", "Calendar: %s" : "Calendari: %s", "Date: %s" : "Data: %s", diff --git a/apps/dav/l10n/fr.js b/apps/dav/l10n/fr.js index c9cdeea5ff3..d4547b65fb1 100644 --- a/apps/dav/l10n/fr.js +++ b/apps/dav/l10n/fr.js @@ -153,7 +153,7 @@ OC.L10N.register( "Contacts and groups" : "Contacts et groupes", "WebDAV" : "WebDAV", "WebDAV endpoint" : "Point d'accès WebDAV", - "Availability" : "Disponibilité", + "Availability" : "Disponibilités", "If you configure your working hours, other users will see when you are out of office when they book a meeting." : "Si vous configurez vos heures de travail, les autres utilisateurs verront si vous êtes disponible quand ils planifient une réunion.", "Time zone:" : "Fuseau horaire :", "to" : "à", @@ -167,11 +167,11 @@ OC.L10N.register( "Friday" : "Vendredi", "Saturday" : "Samedi", "Sunday" : "Dimanche", - "Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications." : "Définir automatiquement le statut \"Ne pas déranger\" en dehors des heures de disponibilité pour désactiver toutes les notifications.", + "Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications." : "Définir automatiquement le statut \"Ne pas déranger\" en dehors des heures de disponibilités pour désactiver toutes les notifications.", "Save" : "Enregistrer", - "Failed to load availability" : "Impossible de charger la disponibilité", - "Saved availability" : "Disponibilité sauvegardée", - "Failed to save availability" : "Impossible de sauvegarder la disponibilité", + "Failed to load availability" : "Impossible de charger les disponibilités", + "Saved availability" : "Disponibilités sauvegardées", + "Failed to save availability" : "Impossible de sauvegarder les disponibilités", "Calendar server" : "Serveur de calendrier", "Send invitations to attendees" : "Envoyer des invitations aux participants", "Automatically generate a birthday calendar" : "Générer automatiquement un agenda d'anniversaire", diff --git a/apps/dav/l10n/fr.json b/apps/dav/l10n/fr.json index ae4887e0ce1..672f4174af3 100644 --- a/apps/dav/l10n/fr.json +++ b/apps/dav/l10n/fr.json @@ -151,7 +151,7 @@ "Contacts and groups" : "Contacts et groupes", "WebDAV" : "WebDAV", "WebDAV endpoint" : "Point d'accès WebDAV", - "Availability" : "Disponibilité", + "Availability" : "Disponibilités", "If you configure your working hours, other users will see when you are out of office when they book a meeting." : "Si vous configurez vos heures de travail, les autres utilisateurs verront si vous êtes disponible quand ils planifient une réunion.", "Time zone:" : "Fuseau horaire :", "to" : "à", @@ -165,11 +165,11 @@ "Friday" : "Vendredi", "Saturday" : "Samedi", "Sunday" : "Dimanche", - "Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications." : "Définir automatiquement le statut \"Ne pas déranger\" en dehors des heures de disponibilité pour désactiver toutes les notifications.", + "Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications." : "Définir automatiquement le statut \"Ne pas déranger\" en dehors des heures de disponibilités pour désactiver toutes les notifications.", "Save" : "Enregistrer", - "Failed to load availability" : "Impossible de charger la disponibilité", - "Saved availability" : "Disponibilité sauvegardée", - "Failed to save availability" : "Impossible de sauvegarder la disponibilité", + "Failed to load availability" : "Impossible de charger les disponibilités", + "Saved availability" : "Disponibilités sauvegardées", + "Failed to save availability" : "Impossible de sauvegarder les disponibilités", "Calendar server" : "Serveur de calendrier", "Send invitations to attendees" : "Envoyer des invitations aux participants", "Automatically generate a birthday calendar" : "Générer automatiquement un agenda d'anniversaire", diff --git a/apps/dav/l10n/gl.js b/apps/dav/l10n/gl.js index 1bbc6a1afb5..288ad39f189 100644 --- a/apps/dav/l10n/gl.js +++ b/apps/dav/l10n/gl.js @@ -5,13 +5,13 @@ OC.L10N.register( "To-dos" : "Tarefas pendentes", "Personal" : "Persoal", "{actor} created calendar {calendar}" : "{actor} creou o calendario {calendar}", - "You created calendar {calendar}" : "Vostede creou o calendario {calendar}", + "You created calendar {calendar}" : "Creou o calendario {calendar}", "{actor} deleted calendar {calendar}" : "{actor} eliminou o calendario {calendar}", - "You deleted calendar {calendar}" : "Vostede eliminou o calendario {calendar}", + "You deleted calendar {calendar}" : "Eliminou o calendario {calendar}", "{actor} updated calendar {calendar}" : "{actor} actualizou o calendario {calendar}", "You updated calendar {calendar}" : "Vostede actualizou o calendario {calendar}", "{actor} restored calendar {calendar}" : "{actor} restaurou o calendario {calendar}", - "You restored calendar {calendar}" : "Restauraches o calendario {calendar}", + "You restored calendar {calendar}" : "Vostede restaurou o calendario {calendar}", "You shared calendar {calendar} as public link" : "Vostede compartiu o calendario {calendar} como ligazón pública", "You removed public link for calendar {calendar}" : "Vostede retirou a ligazón pública do calendario {calendar}", "{actor} shared calendar {calendar} with you" : "{actor} compartiu o calendario {calendar} con vostede", @@ -33,26 +33,26 @@ OC.L10N.register( "{actor} updated event {event} in calendar {calendar}" : "{actor} actualizou o evento {event} no calendario {calendar}", "You updated event {event} in calendar {calendar}" : "Vostede actualizou o evento {event} no calendario {calendar}", "{actor} moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "{actor} moveu o evento {event} do calendario {sourceCalendar} ao calendario {targetCalendar}", - "You moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "Moveches o evento {evento} do calendario {sourceCalendar} ao calendario {targetCalendar}", + "You moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "Moveu o evento {evento} do calendario {sourceCalendar} ao calendario {targetCalendar}", "{actor} restored event {event} of calendar {calendar}" : "{actor} restaurou o evento {evento} do calendario {calendar}", - "You restored event {event} of calendar {calendar}" : "Restauraches o evento {evento} do calendario {calendar}", + "You restored event {event} of calendar {calendar}" : "Restaurou o evento {evento} do calendario {calendar}", "Busy" : "Ocupado", - "{actor} created to-do {todo} in list {calendar}" : "{actor} creou as tarefas {todo} na lista {calendar}", - "You created to-do {todo} in list {calendar}" : "Creaches a tarefa {todo} na lista {calendar}", - "{actor} deleted to-do {todo} from list {calendar}" : "{actor} eliminou as tarefas pendentes {todo} da lista {calendar}", - "You deleted to-do {todo} from list {calendar}" : "Eliminaches as tarefas pendentes {todo} da lista {calendar}", - "{actor} updated to-do {todo} in list {calendar}" : "{actor} actualizou a tarefa {todo} na lista {calendar}", - "You updated to-do {todo} in list {calendar}" : "Actualizaches a tarefa {todo} na lista {calendar}", - "{actor} solved to-do {todo} in list {calendar}" : "{actor} resolveu as tarefas {todo} na lista {calendar}", - "You solved to-do {todo} in list {calendar}" : "Resolveches a tarefa {todo} na lista {calendar}", - "{actor} reopened to-do {todo} in list {calendar}" : "{actor} reabriu as tarefas {todo} na lista {calendar}", - "You reopened to-do {todo} in list {calendar}" : "Reabriches as tarefas {todo} na lista {calendar}", - "{actor} moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "{actor} moveu a tarefa {todo} da lista {sourceCalendar} á lista {targetCalendar}", - "You moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "Moveches a tarefa {todo} da lista {sourceCalendar} á lista {targetCalendar}", + "{actor} created to-do {todo} in list {calendar}" : "{actor} creou a tarefa pendente {todo} na lista {calendar}", + "You created to-do {todo} in list {calendar}" : "Creou a tarefa pendente {todo} na lista {calendar}", + "{actor} deleted to-do {todo} from list {calendar}" : "{actor} eliminou a tarefa pendente {todo} da lista {calendar}", + "You deleted to-do {todo} from list {calendar}" : "Eliminou a tarefa pendente {todo} da lista {calendar}", + "{actor} updated to-do {todo} in list {calendar}" : "{actor} actualizou a tarefa pendente {todo} na lista {calendar}", + "You updated to-do {todo} in list {calendar}" : "Actualizou a tarefa pendente {todo} na lista {calendar}", + "{actor} solved to-do {todo} in list {calendar}" : "{actor} resolveu a tarefa pendente {todo} na lista {calendar}", + "You solved to-do {todo} in list {calendar}" : "Resolveu a tarefa pendente {todo} na lista {calendar}", + "{actor} reopened to-do {todo} in list {calendar}" : "{actor} reabriu a tarefa pendente {todo} na lista {calendar}", + "You reopened to-do {todo} in list {calendar}" : "Reabriu a tarefa pendente {todo} na lista {calendar}", + "{actor} moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "{actor} moveu a tarefa pendente {todo} da lista {sourceCalendar} á lista {targetCalendar}", + "You moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "Moveu a tarefa pendente {todo} da lista {sourceCalendar} á lista {targetCalendar}", "Calendar, contacts and tasks" : "Calendario, contactos e tarefas", "A <strong>calendar</strong> was modified" : "Foi modificado un <strong>calendario</strong>", "A calendar <strong>event</strong> was modified" : "Foi modificado un <strong>evento</strong> do calendario", - "A calendar <strong>to-do</strong> was modified" : "Modificouse unha <strong>tarefa</strong> do calendario", + "A calendar <strong>to-do</strong> was modified" : "Modificouse unha <strong>tarefa pendente</strong> do calendario", "Contact birthdays" : "Aniversario do contacto", "Death of %s" : "Falecemento de %s", "Untitled calendar" : "Calendario sen título", @@ -73,16 +73,16 @@ OC.L10N.register( "Where: %s" : "Onde: %s", "%1$s via %2$s" : "%1$s mediante %2$s", "Cancelled: %1$s" : "Cancelado: %1$s", - "\"%1$s\" has been canceled" : "\"%1$s\" cancelouse", + "\"%1$s\" has been canceled" : "Cancelouse «%1$s»", "Re: %1$s" : "Re: %1$s", - "%1$s has accepted your invitation" : "%1$s aceptou a túa invitación", - "%1$s has tentatively accepted your invitation" : "%1$s aceptou provisionalmente a túa invitación", - "%1$s has declined your invitation" : "%1$s rexeitou a túa invitación", - "%1$s has responded to your invitation" : "%1$s respondeu á túa invitación", - "Invitation updated: %1$s" : "Invitación actualizada: %1$s", - "%1$s updated the event \"%2$s\"" : "%1$s actualizou o evento \"%2$s\"", - "Invitation: %1$s" : "Invitación: %1$s", - "%1$s would like to invite you to \"%2$s\"" : "%1$s quere invitarte a \"%2$s\"", + "%1$s has accepted your invitation" : "%1$s aceptou o seu convite", + "%1$s has tentatively accepted your invitation" : "%1$s aceptou provisionalmente o seu convite", + "%1$s has declined your invitation" : "%1$s rexeitou o seu convite", + "%1$s has responded to your invitation" : "%1$s respondeu ao seu convite", + "Invitation updated: %1$s" : "Convite actualizado: %1$s", + "%1$s updated the event \"%2$s\"" : "%1$s actualizou o evento «%2$s»", + "Invitation: %1$s" : "Convite: %1$s", + "%1$s would like to invite you to \"%2$s\"" : "%1$s quere convidalo a «%2$s»", "Organizer:" : "Organizador:", "Attendees:" : "Asistentes:", "Title:" : "Título:", @@ -94,49 +94,51 @@ OC.L10N.register( "More options …" : "Máis opcións…", "More options at %s" : "Máis opcións en %s", "Contacts" : "Contactos", - "{actor} created address book {addressbook}" : "{actor} creou a axenda de enderezos {addressbook}", - "You created address book {addressbook}" : "Creaches a axenda de enderezos {addressbook}", - "{actor} deleted address book {addressbook}" : "{actor} eliminou a axenda de enderezos {addressbook}", - "You deleted address book {addressbook}" : "Eliminaches a axenda de enderezos {addressbook}", - "{actor} updated address book {addressbook}" : "{actor} actualizou a axenda de enderezos {addressbook}", - "You updated address book {addressbook}" : "Actualizaches a axenda de enderezos {addressbook}", - "{actor} shared address book {addressbook} with you" : "{actor} compartiu a axenda de enderezos {addressbook} contigo", - "You shared address book {addressbook} with {user}" : "Compartiches a axenda de enderezos {addressbook} con {user}", - "{actor} shared address book {addressbook} with {user}" : "{actor} compartiu a axenda de enderezos {addressbook} con {user}", - "{actor} unshared address book {addressbook} from you" : "{actor} deixou de compartir a túa axenda de enderezos {addressbook}", - "You unshared address book {addressbook} from {user}" : "Deixaches de compartir a axenda de enderezos {addressbook} de {user}", - "{actor} unshared address book {addressbook} from {user}" : "{actor} deixou de compartir a axenda de enderezos {addressbook} de {user}", - "{actor} unshared address book {addressbook} from themselves" : "{actor} deixaron de compartir a súa axenda de enderezos {addressbook}", - "You shared address book {addressbook} with group {group}" : "Compartiches a axenda de enderezos {addressbook} co grupo {group}", - "{actor} shared address book {addressbook} with group {group}" : "{actor} compartiu a axenda de enderezos {addressbook} co grupo {group}", - "You unshared address book {addressbook} from group {group}" : "Deixaches de compartir a axenda de enderezos {addressbook} do grupo {group}", - "{actor} unshared address book {addressbook} from group {group}" : "{actor} deixou de compartir axenda de enderezos {addressbook} do grupo {group}", - "{actor} created contact {card} in address book {addressbook}" : "{actor} creou o contacto {card} na axenda de enderezos {addressbook}", - "You created contact {card} in address book {addressbook}" : "Creaches o contacto {card} na axenda de enderezos {addressbook}", - "{actor} deleted contact {card} from address book {addressbook}" : "{actor} eliminou o contacto {card} da axenda de enderezos {addressbook}", - "You deleted contact {card} from address book {addressbook}" : "Eliminaches o contacto {card} da axenda de enderezos {addressbook}", - "{actor} updated contact {card} in address book {addressbook}" : "{actor} actualizou o contacto {card} na axenda de enderezos {addressbook}", - "You updated contact {card} in address book {addressbook}" : "Actualizaches o contacto {card} na axenda de enderezos {addressbook}", - "A <strong>contact</strong> or <strong>address book</strong> was modified" : "Modificouse un <strong>contacto</strong> ou <strong>axenda de enderezos</strong>", - "File is not updatable: %1$s" : "O ficheiro non se pode actualizar: %1$s", - "Could not write to final file, canceled by hook" : "Non foi posíbel escribir no ficheiro final, cancelouse polo hook", - "Could not write file contents" : "Non se puido escribir o contido do ficheiro", + "{actor} created address book {addressbook}" : "{actor} creou o caderno de enderezos {addressbook}", + "You created address book {addressbook}" : "Vostede creou o caderno de enderezos {addressbook}", + "{actor} deleted address book {addressbook}" : "{actor} eliminou o caderno de enderezos {addressbook}", + "You deleted address book {addressbook}" : "Vostede eliminou o caderno de enderezos {addressbook}", + "{actor} updated address book {addressbook}" : "{actor} actualizou o caderno de enderezos {addressbook}", + "You updated address book {addressbook}" : "Vostede actualizou o caderno de enderezos {addressbook}", + "{actor} shared address book {addressbook} with you" : "{actor} compartiu o caderno de enderezos {addressbook} con vostede", + "You shared address book {addressbook} with {user}" : "Vostede compartiu o caderno de enderezos {addressbook} con {user}", + "{actor} shared address book {addressbook} with {user}" : "{actor} compartiu o caderno de enderezos {addressbook} con {user}", + "{actor} unshared address book {addressbook} from you" : "{actor} deixou de compartir o seu caderno de enderezos {addressbook}", + "You unshared address book {addressbook} from {user}" : "Vostede deixou de compartir o caderno de enderezos {addressbook} de {user}", + "{actor} unshared address book {addressbook} from {user}" : "{actor} deixou de compartir o caderno de enderezos {addressbook} de {user}", + "{actor} unshared address book {addressbook} from themselves" : "{actor} deixaron de compartir o seu caderno de enderezos {addressbook}", + "You shared address book {addressbook} with group {group}" : "Vostede compartiu o caderno de enderezos {addressbook} co grupo {group}", + "{actor} shared address book {addressbook} with group {group}" : "{actor} compartiu o caderno de enderezos {addressbook} co grupo {group}", + "You unshared address book {addressbook} from group {group}" : "Vostede deixou de compartir o caderno de enderezos {addressbook} do grupo {group}", + "{actor} unshared address book {addressbook} from group {group}" : "{actor} deixou de compartir o caderno de enderezos {addressbook} do grupo {group}", + "{actor} created contact {card} in address book {addressbook}" : "{actor} creou o contacto {card} no caderno de enderezos {addressbook}", + "You created contact {card} in address book {addressbook}" : "Vostede creou o contacto {card} no caderno de enderezos {addressbook}", + "{actor} deleted contact {card} from address book {addressbook}" : "{actor} eliminou o contacto {card} do caderno de enderezos {addressbook}", + "You deleted contact {card} from address book {addressbook}" : "Vostede eliminou o contacto {card} do caderno de enderezos {addressbook}", + "{actor} updated contact {card} in address book {addressbook}" : "{actor} actualizou o contacto {card} no caderno de enderezos {addressbook}", + "You updated contact {card} in address book {addressbook}" : "Vostede actualizou o contacto {card} no caderno de enderezos {addressbook}", + "A <strong>contact</strong> or <strong>address book</strong> was modified" : "Foi modificado un <strong>contacto</strong> ou <strong>caderno de enderezos</strong>", + "Accounts" : "Contas", + "System address book which holds all accounts" : "Caderno de enderezos do sistema que contén todas as contas", + "File is not updatable: %1$s" : "Non é posíbel actualizar o ficheiro: %1$s", + "Could not write to final file, canceled by hook" : "Non foi posíbel escribir no ficheiro final, foi cancelado polo sistema", + "Could not write file contents" : "Non foi posíbel escribir o contido do ficheiro", "_%n byte_::_%n bytes_" : ["%n byte","%n bytes"], - "Error while copying file to target location (copied: %1$s, expected filesize: %2$s)" : "Produciuse un erro ao copiar o ficheiro na localización de destino (copiado: %1$s, tamaño esperado do ficheiro: %2$s)", - "Expected filesize of %1$s but read (from Nextcloud client) and wrote (to Nextcloud storage) %2$s. Could either be a network problem on the sending side or a problem writing to the storage on the server side." : "Tamaño esperado do ficheiro %1$s pero lido (do cliente de Nextcloud) e escrito (no almacenamento de Nextcloud) %2$s. Pode ser un problema de rede no lado do envío ou un problema ao escribir no almacenamento no lado do servidor.", - "Could not rename part file to final file, canceled by hook" : "Non foi posíbel cambiar o nome do ficheiro de parte ao ficheiro final, cancelado polo hook", - "Could not rename part file to final file" : "Non se puido cambiar o nome do ficheiro de parte ao ficheiro final", + "Error while copying file to target location (copied: %1$s, expected filesize: %2$s)" : "Produciuse un erro ao copiar o ficheiro na localización de destino (copiado: %1$s, tamaño agardado do ficheiro: %2$s)", + "Expected filesize of %1$s but read (from Nextcloud client) and wrote (to Nextcloud storage) %2$s. Could either be a network problem on the sending side or a problem writing to the storage on the server side." : "Tamaño agardado do ficheiro %1$s mais lido (do cliente de Nextcloud) e escrito (no almacenamento de Nextcloud) %2$s. Pode ser un problema de rede no lado do envío ou un problema ao escribir no almacenamento no lado do servidor.", + "Could not rename part file to final file, canceled by hook" : "Non foi posíbel cambiar o nome do ficheiro parcial ao ficheiro final, foi cancelado polo sistema", + "Could not rename part file to final file" : "Non foi posíbel cambiar o nome do ficheiro parcial ao ficheiro final", "Failed to check file size: %1$s" : "Produciuse un erro ao comprobar o tamaño do ficheiro: %1$s", - "Could not open file" : "Non se puido abrir o ficheiro", - "Encryption not ready: %1$s" : "O cifrado non está listo: %1$s", + "Could not open file" : "Non foi posíbel abrir o ficheiro", + "Encryption not ready: %1$s" : "O cifrado non está preparado: %1$s", "Failed to open file: %1$s" : "Produciuse un erro ao abrir o ficheiro: %1$s", "Failed to unlink: %1$s" : "Produciuse un erro ao desligar: %1$s", "Invalid chunk name" : "O nome do fragmento non é válido", - "Could not rename part file assembled from chunks" : "Non se puido cambiar o nome do ficheiro de pezas ensamblados a partir de fragmentos", + "Could not rename part file assembled from chunks" : "Non foi posíbel cambiar o nome do ficheiro de pezas ensamblados a partir de fragmentos", "Failed to write file contents: %1$s" : "Produciuse un erro ao escribir o contido do ficheiro: %1$s", - "File not found: %1$s" : "Arquivo non atopado: %1$s", + "File not found: %1$s" : "Non se atopou o ficheiro: %1$s", "System is in maintenance mode." : "O sistema está en modo de mantemento.", - "Upgrade needed" : "É necesario anovar actualizar", + "Upgrade needed" : "É necesario anovar", "Your %s needs to be configured to use HTTPS in order to use CalDAV and CardDAV with iOS/macOS." : "É preciso configurar o seu %s para que empregue HTTPS para poder usar CalDAV e CardDAV con iOS / macOS.", "Configures a CalDAV account" : "Configurar unha conta de CalDAV", "Configures a CardDAV account" : "Configurar unha conta de CardDAV", @@ -152,11 +154,11 @@ OC.L10N.register( "WebDAV" : "WebDAV", "WebDAV endpoint" : "Terminación WebDAV", "Availability" : "Dispoñibilidade", - "If you configure your working hours, other users will see when you are out of office when they book a meeting." : "Se configuras o teu horario de traballo, outros usuarios verán cando estás fóra da oficina cando reserven unha reunión.", - "Time zone:" : "Franxa horaria:", + "If you configure your working hours, other users will see when you are out of office when they book a meeting." : "Se configura o seu horario de traballo, outros usuarios verán cando está fóra da oficina cando reserven unha xuntanza.", + "Time zone:" : "Fuso horario:", "to" : "para", "Delete slot" : "Eliminar franxa horaria", - "No working hours set" : "Sen horario de traballo establecido", + "No working hours set" : "Sen horario de traballo estabelecido", "Add slot" : "Engadir franxa horaria", "Monday" : "luns", "Tuesday" : "martes", @@ -165,7 +167,7 @@ OC.L10N.register( "Friday" : "venres", "Saturday" : "sábado", "Sunday" : "domingo", - "Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications." : "Establece automaticamente o estado do usuario en \"Non molestar\" fóra da dispoñibilidade para silenciar todas as notificacións.", + "Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications." : "Estabelecer automaticamente o estado do usuario en «Non molestar» fóra de dispoñibilidade para silenciar todas as notificacións.", "Save" : "Gardar", "Failed to load availability" : "Produciuse un erro ao cargar a dispoñibilidade", "Saved availability" : "Dispoñibilidade gardada", @@ -177,8 +179,8 @@ OC.L10N.register( "Hence they will not be available immediately after enabling but will show up after some time." : "Por isto, non estarán dispoñíbeis inmediatamente tras activalos, senón que aparecerán após certo tempo", "Send notifications for events" : "Enviar notificacións para eventos", "Notifications are sent via background jobs, so these must occur often enough." : "As notificacións enviaranse mediante procesos en segundo plano, polo que estes teñen que suceder con frecuencia.", - "Send reminder notifications to calendar sharees as well" : "Envía notificacións de recordatorio tamén aos que comparten calendario", - "Reminders are always sent to organizers and attendees." : "Os recordatorios sempre se envían aos organizadores e aos asistentes.", + "Send reminder notifications to calendar sharees as well" : "Enviar notificacións de lembrete tamén aos que comparten calendario", + "Reminders are always sent to organizers and attendees." : "Os lembretes envíanselle sempre aos organizadores e aos asistentes.", "Enable notifications for events via push" : "Activar o envío de notificacións do automáticas para eventos", "Also install the {calendarappstoreopen}Calendar app{linkclose}, or {calendardocopen}connect your desktop & mobile for syncing ↗{linkclose}." : "Instale tamén a {calendarappstoreopen}aplicación do Calendario{linkclose} ou {calendardocopen}conecte os seus escritorio e móbil para sincronizalos ↗{linkclose}.", "Please make sure to properly set up {emailopen}the email server{linkclose}." : "Asegúrese de ter configurado correctamente {emailopen}o servidor de correo-e{linkclose}.", diff --git a/apps/dav/l10n/gl.json b/apps/dav/l10n/gl.json index 87296f5f364..17e88139f67 100644 --- a/apps/dav/l10n/gl.json +++ b/apps/dav/l10n/gl.json @@ -3,13 +3,13 @@ "To-dos" : "Tarefas pendentes", "Personal" : "Persoal", "{actor} created calendar {calendar}" : "{actor} creou o calendario {calendar}", - "You created calendar {calendar}" : "Vostede creou o calendario {calendar}", + "You created calendar {calendar}" : "Creou o calendario {calendar}", "{actor} deleted calendar {calendar}" : "{actor} eliminou o calendario {calendar}", - "You deleted calendar {calendar}" : "Vostede eliminou o calendario {calendar}", + "You deleted calendar {calendar}" : "Eliminou o calendario {calendar}", "{actor} updated calendar {calendar}" : "{actor} actualizou o calendario {calendar}", "You updated calendar {calendar}" : "Vostede actualizou o calendario {calendar}", "{actor} restored calendar {calendar}" : "{actor} restaurou o calendario {calendar}", - "You restored calendar {calendar}" : "Restauraches o calendario {calendar}", + "You restored calendar {calendar}" : "Vostede restaurou o calendario {calendar}", "You shared calendar {calendar} as public link" : "Vostede compartiu o calendario {calendar} como ligazón pública", "You removed public link for calendar {calendar}" : "Vostede retirou a ligazón pública do calendario {calendar}", "{actor} shared calendar {calendar} with you" : "{actor} compartiu o calendario {calendar} con vostede", @@ -31,26 +31,26 @@ "{actor} updated event {event} in calendar {calendar}" : "{actor} actualizou o evento {event} no calendario {calendar}", "You updated event {event} in calendar {calendar}" : "Vostede actualizou o evento {event} no calendario {calendar}", "{actor} moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "{actor} moveu o evento {event} do calendario {sourceCalendar} ao calendario {targetCalendar}", - "You moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "Moveches o evento {evento} do calendario {sourceCalendar} ao calendario {targetCalendar}", + "You moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "Moveu o evento {evento} do calendario {sourceCalendar} ao calendario {targetCalendar}", "{actor} restored event {event} of calendar {calendar}" : "{actor} restaurou o evento {evento} do calendario {calendar}", - "You restored event {event} of calendar {calendar}" : "Restauraches o evento {evento} do calendario {calendar}", + "You restored event {event} of calendar {calendar}" : "Restaurou o evento {evento} do calendario {calendar}", "Busy" : "Ocupado", - "{actor} created to-do {todo} in list {calendar}" : "{actor} creou as tarefas {todo} na lista {calendar}", - "You created to-do {todo} in list {calendar}" : "Creaches a tarefa {todo} na lista {calendar}", - "{actor} deleted to-do {todo} from list {calendar}" : "{actor} eliminou as tarefas pendentes {todo} da lista {calendar}", - "You deleted to-do {todo} from list {calendar}" : "Eliminaches as tarefas pendentes {todo} da lista {calendar}", - "{actor} updated to-do {todo} in list {calendar}" : "{actor} actualizou a tarefa {todo} na lista {calendar}", - "You updated to-do {todo} in list {calendar}" : "Actualizaches a tarefa {todo} na lista {calendar}", - "{actor} solved to-do {todo} in list {calendar}" : "{actor} resolveu as tarefas {todo} na lista {calendar}", - "You solved to-do {todo} in list {calendar}" : "Resolveches a tarefa {todo} na lista {calendar}", - "{actor} reopened to-do {todo} in list {calendar}" : "{actor} reabriu as tarefas {todo} na lista {calendar}", - "You reopened to-do {todo} in list {calendar}" : "Reabriches as tarefas {todo} na lista {calendar}", - "{actor} moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "{actor} moveu a tarefa {todo} da lista {sourceCalendar} á lista {targetCalendar}", - "You moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "Moveches a tarefa {todo} da lista {sourceCalendar} á lista {targetCalendar}", + "{actor} created to-do {todo} in list {calendar}" : "{actor} creou a tarefa pendente {todo} na lista {calendar}", + "You created to-do {todo} in list {calendar}" : "Creou a tarefa pendente {todo} na lista {calendar}", + "{actor} deleted to-do {todo} from list {calendar}" : "{actor} eliminou a tarefa pendente {todo} da lista {calendar}", + "You deleted to-do {todo} from list {calendar}" : "Eliminou a tarefa pendente {todo} da lista {calendar}", + "{actor} updated to-do {todo} in list {calendar}" : "{actor} actualizou a tarefa pendente {todo} na lista {calendar}", + "You updated to-do {todo} in list {calendar}" : "Actualizou a tarefa pendente {todo} na lista {calendar}", + "{actor} solved to-do {todo} in list {calendar}" : "{actor} resolveu a tarefa pendente {todo} na lista {calendar}", + "You solved to-do {todo} in list {calendar}" : "Resolveu a tarefa pendente {todo} na lista {calendar}", + "{actor} reopened to-do {todo} in list {calendar}" : "{actor} reabriu a tarefa pendente {todo} na lista {calendar}", + "You reopened to-do {todo} in list {calendar}" : "Reabriu a tarefa pendente {todo} na lista {calendar}", + "{actor} moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "{actor} moveu a tarefa pendente {todo} da lista {sourceCalendar} á lista {targetCalendar}", + "You moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "Moveu a tarefa pendente {todo} da lista {sourceCalendar} á lista {targetCalendar}", "Calendar, contacts and tasks" : "Calendario, contactos e tarefas", "A <strong>calendar</strong> was modified" : "Foi modificado un <strong>calendario</strong>", "A calendar <strong>event</strong> was modified" : "Foi modificado un <strong>evento</strong> do calendario", - "A calendar <strong>to-do</strong> was modified" : "Modificouse unha <strong>tarefa</strong> do calendario", + "A calendar <strong>to-do</strong> was modified" : "Modificouse unha <strong>tarefa pendente</strong> do calendario", "Contact birthdays" : "Aniversario do contacto", "Death of %s" : "Falecemento de %s", "Untitled calendar" : "Calendario sen título", @@ -71,16 +71,16 @@ "Where: %s" : "Onde: %s", "%1$s via %2$s" : "%1$s mediante %2$s", "Cancelled: %1$s" : "Cancelado: %1$s", - "\"%1$s\" has been canceled" : "\"%1$s\" cancelouse", + "\"%1$s\" has been canceled" : "Cancelouse «%1$s»", "Re: %1$s" : "Re: %1$s", - "%1$s has accepted your invitation" : "%1$s aceptou a túa invitación", - "%1$s has tentatively accepted your invitation" : "%1$s aceptou provisionalmente a túa invitación", - "%1$s has declined your invitation" : "%1$s rexeitou a túa invitación", - "%1$s has responded to your invitation" : "%1$s respondeu á túa invitación", - "Invitation updated: %1$s" : "Invitación actualizada: %1$s", - "%1$s updated the event \"%2$s\"" : "%1$s actualizou o evento \"%2$s\"", - "Invitation: %1$s" : "Invitación: %1$s", - "%1$s would like to invite you to \"%2$s\"" : "%1$s quere invitarte a \"%2$s\"", + "%1$s has accepted your invitation" : "%1$s aceptou o seu convite", + "%1$s has tentatively accepted your invitation" : "%1$s aceptou provisionalmente o seu convite", + "%1$s has declined your invitation" : "%1$s rexeitou o seu convite", + "%1$s has responded to your invitation" : "%1$s respondeu ao seu convite", + "Invitation updated: %1$s" : "Convite actualizado: %1$s", + "%1$s updated the event \"%2$s\"" : "%1$s actualizou o evento «%2$s»", + "Invitation: %1$s" : "Convite: %1$s", + "%1$s would like to invite you to \"%2$s\"" : "%1$s quere convidalo a «%2$s»", "Organizer:" : "Organizador:", "Attendees:" : "Asistentes:", "Title:" : "Título:", @@ -92,49 +92,51 @@ "More options …" : "Máis opcións…", "More options at %s" : "Máis opcións en %s", "Contacts" : "Contactos", - "{actor} created address book {addressbook}" : "{actor} creou a axenda de enderezos {addressbook}", - "You created address book {addressbook}" : "Creaches a axenda de enderezos {addressbook}", - "{actor} deleted address book {addressbook}" : "{actor} eliminou a axenda de enderezos {addressbook}", - "You deleted address book {addressbook}" : "Eliminaches a axenda de enderezos {addressbook}", - "{actor} updated address book {addressbook}" : "{actor} actualizou a axenda de enderezos {addressbook}", - "You updated address book {addressbook}" : "Actualizaches a axenda de enderezos {addressbook}", - "{actor} shared address book {addressbook} with you" : "{actor} compartiu a axenda de enderezos {addressbook} contigo", - "You shared address book {addressbook} with {user}" : "Compartiches a axenda de enderezos {addressbook} con {user}", - "{actor} shared address book {addressbook} with {user}" : "{actor} compartiu a axenda de enderezos {addressbook} con {user}", - "{actor} unshared address book {addressbook} from you" : "{actor} deixou de compartir a túa axenda de enderezos {addressbook}", - "You unshared address book {addressbook} from {user}" : "Deixaches de compartir a axenda de enderezos {addressbook} de {user}", - "{actor} unshared address book {addressbook} from {user}" : "{actor} deixou de compartir a axenda de enderezos {addressbook} de {user}", - "{actor} unshared address book {addressbook} from themselves" : "{actor} deixaron de compartir a súa axenda de enderezos {addressbook}", - "You shared address book {addressbook} with group {group}" : "Compartiches a axenda de enderezos {addressbook} co grupo {group}", - "{actor} shared address book {addressbook} with group {group}" : "{actor} compartiu a axenda de enderezos {addressbook} co grupo {group}", - "You unshared address book {addressbook} from group {group}" : "Deixaches de compartir a axenda de enderezos {addressbook} do grupo {group}", - "{actor} unshared address book {addressbook} from group {group}" : "{actor} deixou de compartir axenda de enderezos {addressbook} do grupo {group}", - "{actor} created contact {card} in address book {addressbook}" : "{actor} creou o contacto {card} na axenda de enderezos {addressbook}", - "You created contact {card} in address book {addressbook}" : "Creaches o contacto {card} na axenda de enderezos {addressbook}", - "{actor} deleted contact {card} from address book {addressbook}" : "{actor} eliminou o contacto {card} da axenda de enderezos {addressbook}", - "You deleted contact {card} from address book {addressbook}" : "Eliminaches o contacto {card} da axenda de enderezos {addressbook}", - "{actor} updated contact {card} in address book {addressbook}" : "{actor} actualizou o contacto {card} na axenda de enderezos {addressbook}", - "You updated contact {card} in address book {addressbook}" : "Actualizaches o contacto {card} na axenda de enderezos {addressbook}", - "A <strong>contact</strong> or <strong>address book</strong> was modified" : "Modificouse un <strong>contacto</strong> ou <strong>axenda de enderezos</strong>", - "File is not updatable: %1$s" : "O ficheiro non se pode actualizar: %1$s", - "Could not write to final file, canceled by hook" : "Non foi posíbel escribir no ficheiro final, cancelouse polo hook", - "Could not write file contents" : "Non se puido escribir o contido do ficheiro", + "{actor} created address book {addressbook}" : "{actor} creou o caderno de enderezos {addressbook}", + "You created address book {addressbook}" : "Vostede creou o caderno de enderezos {addressbook}", + "{actor} deleted address book {addressbook}" : "{actor} eliminou o caderno de enderezos {addressbook}", + "You deleted address book {addressbook}" : "Vostede eliminou o caderno de enderezos {addressbook}", + "{actor} updated address book {addressbook}" : "{actor} actualizou o caderno de enderezos {addressbook}", + "You updated address book {addressbook}" : "Vostede actualizou o caderno de enderezos {addressbook}", + "{actor} shared address book {addressbook} with you" : "{actor} compartiu o caderno de enderezos {addressbook} con vostede", + "You shared address book {addressbook} with {user}" : "Vostede compartiu o caderno de enderezos {addressbook} con {user}", + "{actor} shared address book {addressbook} with {user}" : "{actor} compartiu o caderno de enderezos {addressbook} con {user}", + "{actor} unshared address book {addressbook} from you" : "{actor} deixou de compartir o seu caderno de enderezos {addressbook}", + "You unshared address book {addressbook} from {user}" : "Vostede deixou de compartir o caderno de enderezos {addressbook} de {user}", + "{actor} unshared address book {addressbook} from {user}" : "{actor} deixou de compartir o caderno de enderezos {addressbook} de {user}", + "{actor} unshared address book {addressbook} from themselves" : "{actor} deixaron de compartir o seu caderno de enderezos {addressbook}", + "You shared address book {addressbook} with group {group}" : "Vostede compartiu o caderno de enderezos {addressbook} co grupo {group}", + "{actor} shared address book {addressbook} with group {group}" : "{actor} compartiu o caderno de enderezos {addressbook} co grupo {group}", + "You unshared address book {addressbook} from group {group}" : "Vostede deixou de compartir o caderno de enderezos {addressbook} do grupo {group}", + "{actor} unshared address book {addressbook} from group {group}" : "{actor} deixou de compartir o caderno de enderezos {addressbook} do grupo {group}", + "{actor} created contact {card} in address book {addressbook}" : "{actor} creou o contacto {card} no caderno de enderezos {addressbook}", + "You created contact {card} in address book {addressbook}" : "Vostede creou o contacto {card} no caderno de enderezos {addressbook}", + "{actor} deleted contact {card} from address book {addressbook}" : "{actor} eliminou o contacto {card} do caderno de enderezos {addressbook}", + "You deleted contact {card} from address book {addressbook}" : "Vostede eliminou o contacto {card} do caderno de enderezos {addressbook}", + "{actor} updated contact {card} in address book {addressbook}" : "{actor} actualizou o contacto {card} no caderno de enderezos {addressbook}", + "You updated contact {card} in address book {addressbook}" : "Vostede actualizou o contacto {card} no caderno de enderezos {addressbook}", + "A <strong>contact</strong> or <strong>address book</strong> was modified" : "Foi modificado un <strong>contacto</strong> ou <strong>caderno de enderezos</strong>", + "Accounts" : "Contas", + "System address book which holds all accounts" : "Caderno de enderezos do sistema que contén todas as contas", + "File is not updatable: %1$s" : "Non é posíbel actualizar o ficheiro: %1$s", + "Could not write to final file, canceled by hook" : "Non foi posíbel escribir no ficheiro final, foi cancelado polo sistema", + "Could not write file contents" : "Non foi posíbel escribir o contido do ficheiro", "_%n byte_::_%n bytes_" : ["%n byte","%n bytes"], - "Error while copying file to target location (copied: %1$s, expected filesize: %2$s)" : "Produciuse un erro ao copiar o ficheiro na localización de destino (copiado: %1$s, tamaño esperado do ficheiro: %2$s)", - "Expected filesize of %1$s but read (from Nextcloud client) and wrote (to Nextcloud storage) %2$s. Could either be a network problem on the sending side or a problem writing to the storage on the server side." : "Tamaño esperado do ficheiro %1$s pero lido (do cliente de Nextcloud) e escrito (no almacenamento de Nextcloud) %2$s. Pode ser un problema de rede no lado do envío ou un problema ao escribir no almacenamento no lado do servidor.", - "Could not rename part file to final file, canceled by hook" : "Non foi posíbel cambiar o nome do ficheiro de parte ao ficheiro final, cancelado polo hook", - "Could not rename part file to final file" : "Non se puido cambiar o nome do ficheiro de parte ao ficheiro final", + "Error while copying file to target location (copied: %1$s, expected filesize: %2$s)" : "Produciuse un erro ao copiar o ficheiro na localización de destino (copiado: %1$s, tamaño agardado do ficheiro: %2$s)", + "Expected filesize of %1$s but read (from Nextcloud client) and wrote (to Nextcloud storage) %2$s. Could either be a network problem on the sending side or a problem writing to the storage on the server side." : "Tamaño agardado do ficheiro %1$s mais lido (do cliente de Nextcloud) e escrito (no almacenamento de Nextcloud) %2$s. Pode ser un problema de rede no lado do envío ou un problema ao escribir no almacenamento no lado do servidor.", + "Could not rename part file to final file, canceled by hook" : "Non foi posíbel cambiar o nome do ficheiro parcial ao ficheiro final, foi cancelado polo sistema", + "Could not rename part file to final file" : "Non foi posíbel cambiar o nome do ficheiro parcial ao ficheiro final", "Failed to check file size: %1$s" : "Produciuse un erro ao comprobar o tamaño do ficheiro: %1$s", - "Could not open file" : "Non se puido abrir o ficheiro", - "Encryption not ready: %1$s" : "O cifrado non está listo: %1$s", + "Could not open file" : "Non foi posíbel abrir o ficheiro", + "Encryption not ready: %1$s" : "O cifrado non está preparado: %1$s", "Failed to open file: %1$s" : "Produciuse un erro ao abrir o ficheiro: %1$s", "Failed to unlink: %1$s" : "Produciuse un erro ao desligar: %1$s", "Invalid chunk name" : "O nome do fragmento non é válido", - "Could not rename part file assembled from chunks" : "Non se puido cambiar o nome do ficheiro de pezas ensamblados a partir de fragmentos", + "Could not rename part file assembled from chunks" : "Non foi posíbel cambiar o nome do ficheiro de pezas ensamblados a partir de fragmentos", "Failed to write file contents: %1$s" : "Produciuse un erro ao escribir o contido do ficheiro: %1$s", - "File not found: %1$s" : "Arquivo non atopado: %1$s", + "File not found: %1$s" : "Non se atopou o ficheiro: %1$s", "System is in maintenance mode." : "O sistema está en modo de mantemento.", - "Upgrade needed" : "É necesario anovar actualizar", + "Upgrade needed" : "É necesario anovar", "Your %s needs to be configured to use HTTPS in order to use CalDAV and CardDAV with iOS/macOS." : "É preciso configurar o seu %s para que empregue HTTPS para poder usar CalDAV e CardDAV con iOS / macOS.", "Configures a CalDAV account" : "Configurar unha conta de CalDAV", "Configures a CardDAV account" : "Configurar unha conta de CardDAV", @@ -150,11 +152,11 @@ "WebDAV" : "WebDAV", "WebDAV endpoint" : "Terminación WebDAV", "Availability" : "Dispoñibilidade", - "If you configure your working hours, other users will see when you are out of office when they book a meeting." : "Se configuras o teu horario de traballo, outros usuarios verán cando estás fóra da oficina cando reserven unha reunión.", - "Time zone:" : "Franxa horaria:", + "If you configure your working hours, other users will see when you are out of office when they book a meeting." : "Se configura o seu horario de traballo, outros usuarios verán cando está fóra da oficina cando reserven unha xuntanza.", + "Time zone:" : "Fuso horario:", "to" : "para", "Delete slot" : "Eliminar franxa horaria", - "No working hours set" : "Sen horario de traballo establecido", + "No working hours set" : "Sen horario de traballo estabelecido", "Add slot" : "Engadir franxa horaria", "Monday" : "luns", "Tuesday" : "martes", @@ -163,7 +165,7 @@ "Friday" : "venres", "Saturday" : "sábado", "Sunday" : "domingo", - "Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications." : "Establece automaticamente o estado do usuario en \"Non molestar\" fóra da dispoñibilidade para silenciar todas as notificacións.", + "Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications." : "Estabelecer automaticamente o estado do usuario en «Non molestar» fóra de dispoñibilidade para silenciar todas as notificacións.", "Save" : "Gardar", "Failed to load availability" : "Produciuse un erro ao cargar a dispoñibilidade", "Saved availability" : "Dispoñibilidade gardada", @@ -175,8 +177,8 @@ "Hence they will not be available immediately after enabling but will show up after some time." : "Por isto, non estarán dispoñíbeis inmediatamente tras activalos, senón que aparecerán após certo tempo", "Send notifications for events" : "Enviar notificacións para eventos", "Notifications are sent via background jobs, so these must occur often enough." : "As notificacións enviaranse mediante procesos en segundo plano, polo que estes teñen que suceder con frecuencia.", - "Send reminder notifications to calendar sharees as well" : "Envía notificacións de recordatorio tamén aos que comparten calendario", - "Reminders are always sent to organizers and attendees." : "Os recordatorios sempre se envían aos organizadores e aos asistentes.", + "Send reminder notifications to calendar sharees as well" : "Enviar notificacións de lembrete tamén aos que comparten calendario", + "Reminders are always sent to organizers and attendees." : "Os lembretes envíanselle sempre aos organizadores e aos asistentes.", "Enable notifications for events via push" : "Activar o envío de notificacións do automáticas para eventos", "Also install the {calendarappstoreopen}Calendar app{linkclose}, or {calendardocopen}connect your desktop & mobile for syncing ↗{linkclose}." : "Instale tamén a {calendarappstoreopen}aplicación do Calendario{linkclose} ou {calendardocopen}conecte os seus escritorio e móbil para sincronizalos ↗{linkclose}.", "Please make sure to properly set up {emailopen}the email server{linkclose}." : "Asegúrese de ter configurado correctamente {emailopen}o servidor de correo-e{linkclose}.", diff --git a/apps/dav/l10n/ko.js b/apps/dav/l10n/ko.js index 43c181bd079..5f37a04a480 100644 --- a/apps/dav/l10n/ko.js +++ b/apps/dav/l10n/ko.js @@ -10,7 +10,7 @@ OC.L10N.register( "You deleted calendar {calendar}" : "달력 {calendar}을(를) 삭제함", "{actor} updated calendar {calendar}" : "{actor} 님이 달력 {calendar}을(를) 업데이트함", "You updated calendar {calendar}" : "달력 {calendar}을(를) 업데이트함", - "{actor} restored calendar {calendar}" : "{actor} 님이 달력 {calendar}을(를) 복구함", + "{actor} restored calendar {calendar}" : "{actor}님이 달력 {calendar}을(를) 복구함", "You restored calendar {calendar}" : "달력 {calendar}을(를) 복구함", "You shared calendar {calendar} as public link" : "달력 {calendar}을(를) 공개 링크로 공유함", "You removed public link for calendar {calendar}" : "달력 {calendar}의 공개 링크를 삭제함", @@ -32,22 +32,22 @@ OC.L10N.register( "You deleted event {event} from calendar {calendar}" : "행사 {event}을(를) 달력 {calendar}에서 삭제함", "{actor} updated event {event} in calendar {calendar}" : "{actor} 님이 달력 {calendar}의 행사 {event}을(를) 업데이트함", "You updated event {event} in calendar {calendar}" : "달력 {calendar}의 행사 {event}을(를) 업데이트함", - "{actor} moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "{actor} 님이 행사 {event}을(를) 달력 {sourceCalendar}에서 달력 {targetCalendar}(으)로 옮김", + "{actor} moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "{actor}님이 행사 {event}을(를) 달력 {sourceCalendar}에서 달력 {targetCalendar}(으)로 옮김", "You moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "행사 {event}을(를) 달력 {sourceCalendar}에서 달력 {targetCalendar}(으)로 옮김", - "{actor} restored event {event} of calendar {calendar}" : "{actor} 님이 행사 {event}을(를) 달력 {calendar}에 복구함", + "{actor} restored event {event} of calendar {calendar}" : "{actor}님이 행사 {event}을(를) 달력 {calendar}에 복구함", "You restored event {event} of calendar {calendar}" : "행사 {event}을(를) 달력 {calendar}에 복구함", "Busy" : "바쁨", - "{actor} created to-do {todo} in list {calendar}" : "{actor} 님이 목록 {calendar}에 할 일 {todo}을(를) 생성함", + "{actor} created to-do {todo} in list {calendar}" : "{actor}님이 목록 {calendar}에 할 일 {todo}을(를) 생성함", "You created to-do {todo} in list {calendar}" : "목록 {calendar}에 할 일 {todo}을(를) 생성함", - "{actor} deleted to-do {todo} from list {calendar}" : "{actor} 님이 목록 {calendar}에서 할 일 {todo}을(를) 삭제함", + "{actor} deleted to-do {todo} from list {calendar}" : "{actor}님이 목록 {calendar}에서 할 일 {todo}을(를) 삭제함", "You deleted to-do {todo} from list {calendar}" : "목록 {calendar}에서 할 일 {todo}을(를) 삭제함", - "{actor} updated to-do {todo} in list {calendar}" : "{actor} 님이 목록 {calendar}의 할 일 {todo}을(를) 업데이트함", + "{actor} updated to-do {todo} in list {calendar}" : "{actor}님이 목록 {calendar}의 할 일 {todo}을(를) 업데이트함", "You updated to-do {todo} in list {calendar}" : "목록 {calendar}의 할 일 {todo}을(를) 업데이트함", - "{actor} solved to-do {todo} in list {calendar}" : "{actor} 님이 목록 {calendar}의 할 일 {todo}을(를) 끝냄", + "{actor} solved to-do {todo} in list {calendar}" : "{actor}님이 목록 {calendar}의 할 일 {todo}을(를) 끝냄", "You solved to-do {todo} in list {calendar}" : "목록 {calendar}의 할 일 {todo}을(를) 끝냄", - "{actor} reopened to-do {todo} in list {calendar}" : "{actor} 님이 목록 {calendar}의 할 일 {todo}을(를) 다시 엶", + "{actor} reopened to-do {todo} in list {calendar}" : "{actor}님이 목록 {calendar}의 할 일 {todo}을(를) 다시 엶", "You reopened to-do {todo} in list {calendar}" : "목록 {calendar}의 할 일 {todo}을(를) 다시 엶", - "{actor} moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "{actor} 님이 할 일 {todo}을(를) 목록 {sourceCalendar}에서 목록 {targetCalendar}(으)로 옮김", + "{actor} moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "{actor}님이 할 일 {todo}을(를) 목록 {sourceCalendar}에서 목록 {targetCalendar}(으)로 옮김", "You moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "할 일 {todo}을(를) 목록 {sourceCalendar}에서 목록 {targetCalendar}(으)로 옮김", "Calendar, contacts and tasks" : "달력, 연락처 및 작업", "A <strong>calendar</strong> was modified" : "<strong>달력</strong>이 수정됨", @@ -86,28 +86,28 @@ OC.L10N.register( "More options …" : "더 많은 옵션 …", "More options at %s" : "%s에 더 많은 옵션 있음", "Contacts" : "연락처", - "{actor} created address book {addressbook}" : "{actor} 님이 주소록 {addressbook}을(를) 생성함", + "{actor} created address book {addressbook}" : "{actor}님이 주소록 {addressbook}을(를) 생성함", "You created address book {addressbook}" : "주소록 {addressbook}을(를) 생성함", - "{actor} deleted address book {addressbook}" : "{actor} 님이 주소록 {addressbook}을(를) 제거함", + "{actor} deleted address book {addressbook}" : "{actor}님이 주소록 {addressbook}을(를) 제거함", "You deleted address book {addressbook}" : "주소록 {addressbook}을(를) 제거함", - "{actor} updated address book {addressbook}" : "{actor} 님이 주소록 {addressbook}을(를) 갱신함", + "{actor} updated address book {addressbook}" : "{actor}님이 주소록 {addressbook}을(를) 갱신함", "You updated address book {addressbook}" : "주소록 {addressbook}을(를) 갱신함", - "{actor} shared address book {addressbook} with you" : "{actor} 님이 나와 주소록 {addressbook}을(를) 공유함", - "You shared address book {addressbook} with {user}" : "{user} 님과 주소록 {addressbook}을(를) 공유함", - "{actor} shared address book {addressbook} with {user}" : "{actor} 님이 {user} 님과 주소록 {addressbook}을(를) 공유함", - "{actor} unshared address book {addressbook} from you" : "{actor} 님이 주소록 {addressbook}의 공유를 해제함", - "You unshared address book {addressbook} from {user}" : "{user} 님과 주소록 {addressbook}의 공유를 해제함", - "{actor} unshared address book {addressbook} from {user}" : "{actor} 님이 {user} 님과 주소록 {addressbook}의 공유를 해제함", - "{actor} unshared address book {addressbook} from themselves" : "{actor} 님이 자신과 주소록 {addressbook}의 공유를 해제함", + "{actor} shared address book {addressbook} with you" : "{actor}님이 나와 주소록 {addressbook}을(를) 공유함", + "You shared address book {addressbook} with {user}" : "{user}님과 주소록 {addressbook}을(를) 공유함", + "{actor} shared address book {addressbook} with {user}" : "{actor}님이 {user}님과 주소록 {addressbook}을(를) 공유함", + "{actor} unshared address book {addressbook} from you" : "{actor}님이 주소록 {addressbook}의 공유를 해제함", + "You unshared address book {addressbook} from {user}" : "{user}님과 주소록 {addressbook}의 공유를 해제함", + "{actor} unshared address book {addressbook} from {user}" : "{actor}님이 {user}님과 주소록 {addressbook}의 공유를 해제함", + "{actor} unshared address book {addressbook} from themselves" : "{actor}님이 자신과 주소록 {addressbook}의 공유를 해제함", "You shared address book {addressbook} with group {group}" : "그룹 {group}과(와) 주소록 {addressbook}을(를) 공유함", - "{actor} shared address book {addressbook} with group {group}" : "{actor} 님이 그룹 {group}과(와) 주소록 {addressbook}을(를) 공유함", + "{actor} shared address book {addressbook} with group {group}" : "{actor}님이 그룹 {group}과(와) 주소록 {addressbook}을(를) 공유함", "You unshared address book {addressbook} from group {group}" : "그룹 {group}과(와) 주소록 {addressbook}의 공유를 해제함", - "{actor} unshared address book {addressbook} from group {group}" : "{actor} 님이 그룹 {group}과(와) 주소록 {addressbook}의 공유를 해제함", - "{actor} created contact {card} in address book {addressbook}" : "{actor} 님이 연락처 {card}을(를) 주소록 {addressbook}에 생성함", + "{actor} unshared address book {addressbook} from group {group}" : "{actor}님이 그룹 {group}과(와) 주소록 {addressbook}의 공유를 해제함", + "{actor} created contact {card} in address book {addressbook}" : "{actor}님이 연락처 {card}을(를) 주소록 {addressbook}에 생성함", "You created contact {card} in address book {addressbook}" : "연락처 {card}을(를) 주소록 {addressbook}에 생성함", - "{actor} deleted contact {card} from address book {addressbook}" : "{actor} 님이 연락처 {card}을(를) 주소록 {addressbook}에서 제거함", + "{actor} deleted contact {card} from address book {addressbook}" : "{actor}님이 연락처 {card}을(를) 주소록 {addressbook}에서 제거함", "You deleted contact {card} from address book {addressbook}" : "연락처 {card}을(를) 주소록 {addressbook}에서 제거함", - "{actor} updated contact {card} in address book {addressbook}" : "{actor} 님이 주소록 {addressbook}의 연락처 {card}을(를) 갱신함", + "{actor} updated contact {card} in address book {addressbook}" : "{actor}님이 주소록 {addressbook}의 연락처 {card}을(를) 갱신함", "You updated contact {card} in address book {addressbook}" : "주소록 {addressbook}의 연락처 {card}을(를) 갱신함", "A <strong>contact</strong> or <strong>address book</strong> was modified" : "<strong>연락처</strong> 또는 <strong>주소록</strong>이 변경됨", "File is not updatable: %1$s" : "파일을 갱신할 수 없습니다: %1$s", @@ -143,7 +143,7 @@ OC.L10N.register( "Contacts and groups" : "연락처 및 그룹", "WebDAV" : "WebDAV", "WebDAV endpoint" : "WebDAV 종단점", - "Availability" : "가능한 시간대", + "Availability" : "가용성", "If you configure your working hours, other users will see when you are out of office when they book a meeting." : "업무 시간을 설정하면, 회의를 예약할 때 다른 사용자가 부재 중 시간을 볼 수 있습니다.", "Time zone:" : "시간대:", "to" : "에서", @@ -157,10 +157,11 @@ OC.L10N.register( "Friday" : "금요일", "Saturday" : "토요일", "Sunday" : "일요일", + "Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications." : "다른 용무 중일 때 자동으로 사용자를 '방해 금지' 모드로 설정해 모든 알림을 음소거합니다.", "Save" : "저장", - "Failed to load availability" : "가능한 시간대 불러오기 실패", - "Saved availability" : "가능한 시간대를 저장함", - "Failed to save availability" : "가능한 시간대 저장 실패", + "Failed to load availability" : "가용성 불러오기 실패", + "Saved availability" : "가용성을 저장함", + "Failed to save availability" : "가용성 저장 실패", "Calendar server" : "달력 서버", "Send invitations to attendees" : "참석자에게 초대장 보내기", "Automatically generate a birthday calendar" : "자동으로 생일 달력 생성", diff --git a/apps/dav/l10n/ko.json b/apps/dav/l10n/ko.json index 8ef3286bdbe..2bf4574188d 100644 --- a/apps/dav/l10n/ko.json +++ b/apps/dav/l10n/ko.json @@ -8,7 +8,7 @@ "You deleted calendar {calendar}" : "달력 {calendar}을(를) 삭제함", "{actor} updated calendar {calendar}" : "{actor} 님이 달력 {calendar}을(를) 업데이트함", "You updated calendar {calendar}" : "달력 {calendar}을(를) 업데이트함", - "{actor} restored calendar {calendar}" : "{actor} 님이 달력 {calendar}을(를) 복구함", + "{actor} restored calendar {calendar}" : "{actor}님이 달력 {calendar}을(를) 복구함", "You restored calendar {calendar}" : "달력 {calendar}을(를) 복구함", "You shared calendar {calendar} as public link" : "달력 {calendar}을(를) 공개 링크로 공유함", "You removed public link for calendar {calendar}" : "달력 {calendar}의 공개 링크를 삭제함", @@ -30,22 +30,22 @@ "You deleted event {event} from calendar {calendar}" : "행사 {event}을(를) 달력 {calendar}에서 삭제함", "{actor} updated event {event} in calendar {calendar}" : "{actor} 님이 달력 {calendar}의 행사 {event}을(를) 업데이트함", "You updated event {event} in calendar {calendar}" : "달력 {calendar}의 행사 {event}을(를) 업데이트함", - "{actor} moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "{actor} 님이 행사 {event}을(를) 달력 {sourceCalendar}에서 달력 {targetCalendar}(으)로 옮김", + "{actor} moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "{actor}님이 행사 {event}을(를) 달력 {sourceCalendar}에서 달력 {targetCalendar}(으)로 옮김", "You moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "행사 {event}을(를) 달력 {sourceCalendar}에서 달력 {targetCalendar}(으)로 옮김", - "{actor} restored event {event} of calendar {calendar}" : "{actor} 님이 행사 {event}을(를) 달력 {calendar}에 복구함", + "{actor} restored event {event} of calendar {calendar}" : "{actor}님이 행사 {event}을(를) 달력 {calendar}에 복구함", "You restored event {event} of calendar {calendar}" : "행사 {event}을(를) 달력 {calendar}에 복구함", "Busy" : "바쁨", - "{actor} created to-do {todo} in list {calendar}" : "{actor} 님이 목록 {calendar}에 할 일 {todo}을(를) 생성함", + "{actor} created to-do {todo} in list {calendar}" : "{actor}님이 목록 {calendar}에 할 일 {todo}을(를) 생성함", "You created to-do {todo} in list {calendar}" : "목록 {calendar}에 할 일 {todo}을(를) 생성함", - "{actor} deleted to-do {todo} from list {calendar}" : "{actor} 님이 목록 {calendar}에서 할 일 {todo}을(를) 삭제함", + "{actor} deleted to-do {todo} from list {calendar}" : "{actor}님이 목록 {calendar}에서 할 일 {todo}을(를) 삭제함", "You deleted to-do {todo} from list {calendar}" : "목록 {calendar}에서 할 일 {todo}을(를) 삭제함", - "{actor} updated to-do {todo} in list {calendar}" : "{actor} 님이 목록 {calendar}의 할 일 {todo}을(를) 업데이트함", + "{actor} updated to-do {todo} in list {calendar}" : "{actor}님이 목록 {calendar}의 할 일 {todo}을(를) 업데이트함", "You updated to-do {todo} in list {calendar}" : "목록 {calendar}의 할 일 {todo}을(를) 업데이트함", - "{actor} solved to-do {todo} in list {calendar}" : "{actor} 님이 목록 {calendar}의 할 일 {todo}을(를) 끝냄", + "{actor} solved to-do {todo} in list {calendar}" : "{actor}님이 목록 {calendar}의 할 일 {todo}을(를) 끝냄", "You solved to-do {todo} in list {calendar}" : "목록 {calendar}의 할 일 {todo}을(를) 끝냄", - "{actor} reopened to-do {todo} in list {calendar}" : "{actor} 님이 목록 {calendar}의 할 일 {todo}을(를) 다시 엶", + "{actor} reopened to-do {todo} in list {calendar}" : "{actor}님이 목록 {calendar}의 할 일 {todo}을(를) 다시 엶", "You reopened to-do {todo} in list {calendar}" : "목록 {calendar}의 할 일 {todo}을(를) 다시 엶", - "{actor} moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "{actor} 님이 할 일 {todo}을(를) 목록 {sourceCalendar}에서 목록 {targetCalendar}(으)로 옮김", + "{actor} moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "{actor}님이 할 일 {todo}을(를) 목록 {sourceCalendar}에서 목록 {targetCalendar}(으)로 옮김", "You moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "할 일 {todo}을(를) 목록 {sourceCalendar}에서 목록 {targetCalendar}(으)로 옮김", "Calendar, contacts and tasks" : "달력, 연락처 및 작업", "A <strong>calendar</strong> was modified" : "<strong>달력</strong>이 수정됨", @@ -84,28 +84,28 @@ "More options …" : "더 많은 옵션 …", "More options at %s" : "%s에 더 많은 옵션 있음", "Contacts" : "연락처", - "{actor} created address book {addressbook}" : "{actor} 님이 주소록 {addressbook}을(를) 생성함", + "{actor} created address book {addressbook}" : "{actor}님이 주소록 {addressbook}을(를) 생성함", "You created address book {addressbook}" : "주소록 {addressbook}을(를) 생성함", - "{actor} deleted address book {addressbook}" : "{actor} 님이 주소록 {addressbook}을(를) 제거함", + "{actor} deleted address book {addressbook}" : "{actor}님이 주소록 {addressbook}을(를) 제거함", "You deleted address book {addressbook}" : "주소록 {addressbook}을(를) 제거함", - "{actor} updated address book {addressbook}" : "{actor} 님이 주소록 {addressbook}을(를) 갱신함", + "{actor} updated address book {addressbook}" : "{actor}님이 주소록 {addressbook}을(를) 갱신함", "You updated address book {addressbook}" : "주소록 {addressbook}을(를) 갱신함", - "{actor} shared address book {addressbook} with you" : "{actor} 님이 나와 주소록 {addressbook}을(를) 공유함", - "You shared address book {addressbook} with {user}" : "{user} 님과 주소록 {addressbook}을(를) 공유함", - "{actor} shared address book {addressbook} with {user}" : "{actor} 님이 {user} 님과 주소록 {addressbook}을(를) 공유함", - "{actor} unshared address book {addressbook} from you" : "{actor} 님이 주소록 {addressbook}의 공유를 해제함", - "You unshared address book {addressbook} from {user}" : "{user} 님과 주소록 {addressbook}의 공유를 해제함", - "{actor} unshared address book {addressbook} from {user}" : "{actor} 님이 {user} 님과 주소록 {addressbook}의 공유를 해제함", - "{actor} unshared address book {addressbook} from themselves" : "{actor} 님이 자신과 주소록 {addressbook}의 공유를 해제함", + "{actor} shared address book {addressbook} with you" : "{actor}님이 나와 주소록 {addressbook}을(를) 공유함", + "You shared address book {addressbook} with {user}" : "{user}님과 주소록 {addressbook}을(를) 공유함", + "{actor} shared address book {addressbook} with {user}" : "{actor}님이 {user}님과 주소록 {addressbook}을(를) 공유함", + "{actor} unshared address book {addressbook} from you" : "{actor}님이 주소록 {addressbook}의 공유를 해제함", + "You unshared address book {addressbook} from {user}" : "{user}님과 주소록 {addressbook}의 공유를 해제함", + "{actor} unshared address book {addressbook} from {user}" : "{actor}님이 {user}님과 주소록 {addressbook}의 공유를 해제함", + "{actor} unshared address book {addressbook} from themselves" : "{actor}님이 자신과 주소록 {addressbook}의 공유를 해제함", "You shared address book {addressbook} with group {group}" : "그룹 {group}과(와) 주소록 {addressbook}을(를) 공유함", - "{actor} shared address book {addressbook} with group {group}" : "{actor} 님이 그룹 {group}과(와) 주소록 {addressbook}을(를) 공유함", + "{actor} shared address book {addressbook} with group {group}" : "{actor}님이 그룹 {group}과(와) 주소록 {addressbook}을(를) 공유함", "You unshared address book {addressbook} from group {group}" : "그룹 {group}과(와) 주소록 {addressbook}의 공유를 해제함", - "{actor} unshared address book {addressbook} from group {group}" : "{actor} 님이 그룹 {group}과(와) 주소록 {addressbook}의 공유를 해제함", - "{actor} created contact {card} in address book {addressbook}" : "{actor} 님이 연락처 {card}을(를) 주소록 {addressbook}에 생성함", + "{actor} unshared address book {addressbook} from group {group}" : "{actor}님이 그룹 {group}과(와) 주소록 {addressbook}의 공유를 해제함", + "{actor} created contact {card} in address book {addressbook}" : "{actor}님이 연락처 {card}을(를) 주소록 {addressbook}에 생성함", "You created contact {card} in address book {addressbook}" : "연락처 {card}을(를) 주소록 {addressbook}에 생성함", - "{actor} deleted contact {card} from address book {addressbook}" : "{actor} 님이 연락처 {card}을(를) 주소록 {addressbook}에서 제거함", + "{actor} deleted contact {card} from address book {addressbook}" : "{actor}님이 연락처 {card}을(를) 주소록 {addressbook}에서 제거함", "You deleted contact {card} from address book {addressbook}" : "연락처 {card}을(를) 주소록 {addressbook}에서 제거함", - "{actor} updated contact {card} in address book {addressbook}" : "{actor} 님이 주소록 {addressbook}의 연락처 {card}을(를) 갱신함", + "{actor} updated contact {card} in address book {addressbook}" : "{actor}님이 주소록 {addressbook}의 연락처 {card}을(를) 갱신함", "You updated contact {card} in address book {addressbook}" : "주소록 {addressbook}의 연락처 {card}을(를) 갱신함", "A <strong>contact</strong> or <strong>address book</strong> was modified" : "<strong>연락처</strong> 또는 <strong>주소록</strong>이 변경됨", "File is not updatable: %1$s" : "파일을 갱신할 수 없습니다: %1$s", @@ -141,7 +141,7 @@ "Contacts and groups" : "연락처 및 그룹", "WebDAV" : "WebDAV", "WebDAV endpoint" : "WebDAV 종단점", - "Availability" : "가능한 시간대", + "Availability" : "가용성", "If you configure your working hours, other users will see when you are out of office when they book a meeting." : "업무 시간을 설정하면, 회의를 예약할 때 다른 사용자가 부재 중 시간을 볼 수 있습니다.", "Time zone:" : "시간대:", "to" : "에서", @@ -155,10 +155,11 @@ "Friday" : "금요일", "Saturday" : "토요일", "Sunday" : "일요일", + "Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications." : "다른 용무 중일 때 자동으로 사용자를 '방해 금지' 모드로 설정해 모든 알림을 음소거합니다.", "Save" : "저장", - "Failed to load availability" : "가능한 시간대 불러오기 실패", - "Saved availability" : "가능한 시간대를 저장함", - "Failed to save availability" : "가능한 시간대 저장 실패", + "Failed to load availability" : "가용성 불러오기 실패", + "Saved availability" : "가용성을 저장함", + "Failed to save availability" : "가용성 저장 실패", "Calendar server" : "달력 서버", "Send invitations to attendees" : "참석자에게 초대장 보내기", "Automatically generate a birthday calendar" : "자동으로 생일 달력 생성", diff --git a/apps/dav/l10n/zh_CN.js b/apps/dav/l10n/zh_CN.js index 505b3a734e3..f3c009b0cb0 100644 --- a/apps/dav/l10n/zh_CN.js +++ b/apps/dav/l10n/zh_CN.js @@ -2,7 +2,7 @@ OC.L10N.register( "dav", { "Calendar" : "日历", - "To-dos" : "代办事项", + "To-dos" : "待办事项", "Personal" : "个人", "{actor} created calendar {calendar}" : "{actor} 创建了日历 {calendar}", "You created calendar {calendar}" : "您创建的日历 {calendar}", @@ -37,8 +37,8 @@ OC.L10N.register( "{actor} restored event {event} of calendar {calendar}" : "{actor} 还原了事件 {event},它位于日历 {calendar}", "You restored event {event} of calendar {calendar}" : "你还原了事件 {event},它位于日历 {calendar}", "Busy" : "忙碌", - "{actor} created to-do {todo} in list {calendar}" : "{actor} 在清单 {calendar} 中创建了代办事项 {todo}", - "You created to-do {todo} in list {calendar}" : "您已在清单 {calendar} 中创建了代办事项 {todo}", + "{actor} created to-do {todo} in list {calendar}" : "{actor} 在清单 {calendar} 中创建了待办事项 {todo}", + "You created to-do {todo} in list {calendar}" : "您已在清单 {calendar} 中创建了待办事项 {todo}", "{actor} deleted to-do {todo} from list {calendar}" : "{actor} 从列表 {calendar} 中删除了待办事项 {todo}", "You deleted to-do {todo} from list {calendar}" : "你从列表 {calendar} 中删除了待办事项 {todo}", "{actor} updated to-do {todo} in list {calendar}" : "{actor} 更新了列表 {calendar} 中的待办事项 {todo}", @@ -63,8 +63,8 @@ OC.L10N.register( "_%n year_::_%n years_" : ["%n 年"], "_%n month_::_%n months_" : ["%n 月"], "_%n day_::_%n days_" : ["%n 天"], - "_%n hour_::_%n hours_" : ["%n 小时"], - "_%n minute_::_%n minutes_" : ["%n 分钟"], + "_%n hour_::_%n hours_" : ["%n小时"], + "_%n minute_::_%n minutes_" : ["%n分钟"], "%s (in %s)" : "%s (在 %s)", "%s (%s ago)" : "%s (%s 前)", "Calendar: %s" : "日历:%s", @@ -73,8 +73,16 @@ OC.L10N.register( "Where: %s" : "地点:%s", "%1$s via %2$s" : "%1$s 通过 %2$s", "Cancelled: %1$s" : "已取消:%1$s", + "\"%1$s\" has been canceled" : "“%1$s”已取消", "Re: %1$s" : "回复:%1$s", + "%1$s has accepted your invitation" : "%1$s 已接受您的邀请", + "%1$s has tentatively accepted your invitation" : "%1$s 暂时接受了您的邀请", + "%1$s has declined your invitation" : "%1$s 已拒绝了您的邀请", + "%1$s has responded to your invitation" : "%1$s 已回应了您的邀请", + "Invitation updated: %1$s" : "邀请已更新:%1$s", + "%1$s updated the event \"%2$s\"" : "%1$s 已更新事件“%2$s”", "Invitation: %1$s" : "邀请:%1$s", + "%1$s would like to invite you to \"%2$s\"" : "%1$s 想邀请您加入“%2$s”", "Organizer:" : "组织者:", "Attendees:" : "与会者:", "Title:" : "标题:", @@ -110,6 +118,8 @@ OC.L10N.register( "{actor} updated contact {card} in address book {addressbook}" : "{actor} 更新了通讯录 {addressbook} 中的联系人 {card} ", "You updated contact {card} in address book {addressbook}" : "你更新了通讯录 {addressbook} 中的联系人 {card} ", "A <strong>contact</strong> or <strong>address book</strong> was modified" : "一名 <strong>联系人</strong>或一个<strong>通讯录</strong>被更改了", + "Accounts" : "账户", + "System address book which holds all accounts" : "包含所有账户的系统通讯录", "File is not updatable: %1$s" : "无法更新文件:%1$s", "Could not write to final file, canceled by hook" : "无法写入最终文件,操作被插件取消", "Could not write file contents" : "无法写入文件内容", @@ -127,22 +137,22 @@ OC.L10N.register( "Could not rename part file assembled from chunks" : "无法重命名从分片组合的部分文件", "Failed to write file contents: %1$s" : "写入文件内容失败:%1$s", "File not found: %1$s" : "找不到文件:%1$s", - "System is in maintenance mode." : "系统处于维护模式 ", + "System is in maintenance mode." : "系统处于维护模式。", "Upgrade needed" : "需要升级", - "Your %s needs to be configured to use HTTPS in order to use CalDAV and CardDAV with iOS/macOS." : "您的%s 需要配置使用HTTPS以在iOS/macOS中使用CalDAV和CardDAV。", + "Your %s needs to be configured to use HTTPS in order to use CalDAV and CardDAV with iOS/macOS." : "您的 %s 需要配置使用 HTTPS 以在 iOS/macOS 中使用 CalDAV 和 CardDAV。", "Configures a CalDAV account" : "配置一个 CalDAV 账号", "Configures a CardDAV account" : "配置一个 CardDAV 账号", "Events" : "事件", "Tasks" : "任务", "Untitled task" : "无标题任务", "Completed on %s" : "已完成 %s", - "Due on %s by %s" : "到期于%s ,在%s之前", - "Due on %s" : "到期于%s", + "Due on %s by %s" : "到期于 %s,在 %s 之前", + "Due on %s" : "到期于 %s", "Migrated calendar (%1$s)" : "迁移的日历(%1$s)", "Calendars including events, details and attendees" : "日历包含活动、参与人和事件详情", "Contacts and groups" : "联系人和群组", "WebDAV" : "WebDAV", - "WebDAV endpoint" : "WebDAV端点", + "WebDAV endpoint" : "WebDAV 端点", "Availability" : "可用性", "If you configure your working hours, other users will see when you are out of office when they book a meeting." : "如果您配置了工作时间,其他用户在预订会议时就会了解您何时不在办公室。", "Time zone:" : "时区:", @@ -172,8 +182,8 @@ OC.L10N.register( "Send reminder notifications to calendar sharees as well" : "同时向日历共享者发送提醒通知", "Reminders are always sent to organizers and attendees." : "始终向组织者和与会者发出提醒。", "Enable notifications for events via push" : "启用推送事件通知", - "Also install the {calendarappstoreopen}Calendar app{linkclose}, or {calendardocopen}connect your desktop & mobile for syncing ↗{linkclose}." : "也安装 {calendarappstoreopen}日历应用{linkclose},或者 {calendardocopen}连接您的桌面和移动端同步日历 ↗{linkclose}。", - "Please make sure to properly set up {emailopen}the email server{linkclose}." : "请确保正确设置 {emailopen}邮件服务器{linkclose}。", + "Also install the {calendarappstoreopen}Calendar app{linkclose}, or {calendardocopen}connect your desktop & mobile for syncing ↗{linkclose}." : "也安装{calendarappstoreopen}日历应用{linkclose},或者{calendardocopen}连接您的桌面和移动端同步日历 ↗{linkclose}。", + "Please make sure to properly set up {emailopen}the email server{linkclose}." : "请确保正确设置{emailopen}邮件服务器{linkclose}。", "There was an error updating your attendance status." : "更新您的出席状态时出错。", "Please contact the organizer directly." : "请直接联系组织者。", "Are you accepting the invitation?" : "您是否接受邀请?", diff --git a/apps/dav/l10n/zh_CN.json b/apps/dav/l10n/zh_CN.json index a0033eaab87..051a53ef8df 100644 --- a/apps/dav/l10n/zh_CN.json +++ b/apps/dav/l10n/zh_CN.json @@ -1,6 +1,6 @@ { "translations": { "Calendar" : "日历", - "To-dos" : "代办事项", + "To-dos" : "待办事项", "Personal" : "个人", "{actor} created calendar {calendar}" : "{actor} 创建了日历 {calendar}", "You created calendar {calendar}" : "您创建的日历 {calendar}", @@ -35,8 +35,8 @@ "{actor} restored event {event} of calendar {calendar}" : "{actor} 还原了事件 {event},它位于日历 {calendar}", "You restored event {event} of calendar {calendar}" : "你还原了事件 {event},它位于日历 {calendar}", "Busy" : "忙碌", - "{actor} created to-do {todo} in list {calendar}" : "{actor} 在清单 {calendar} 中创建了代办事项 {todo}", - "You created to-do {todo} in list {calendar}" : "您已在清单 {calendar} 中创建了代办事项 {todo}", + "{actor} created to-do {todo} in list {calendar}" : "{actor} 在清单 {calendar} 中创建了待办事项 {todo}", + "You created to-do {todo} in list {calendar}" : "您已在清单 {calendar} 中创建了待办事项 {todo}", "{actor} deleted to-do {todo} from list {calendar}" : "{actor} 从列表 {calendar} 中删除了待办事项 {todo}", "You deleted to-do {todo} from list {calendar}" : "你从列表 {calendar} 中删除了待办事项 {todo}", "{actor} updated to-do {todo} in list {calendar}" : "{actor} 更新了列表 {calendar} 中的待办事项 {todo}", @@ -61,8 +61,8 @@ "_%n year_::_%n years_" : ["%n 年"], "_%n month_::_%n months_" : ["%n 月"], "_%n day_::_%n days_" : ["%n 天"], - "_%n hour_::_%n hours_" : ["%n 小时"], - "_%n minute_::_%n minutes_" : ["%n 分钟"], + "_%n hour_::_%n hours_" : ["%n小时"], + "_%n minute_::_%n minutes_" : ["%n分钟"], "%s (in %s)" : "%s (在 %s)", "%s (%s ago)" : "%s (%s 前)", "Calendar: %s" : "日历:%s", @@ -71,8 +71,16 @@ "Where: %s" : "地点:%s", "%1$s via %2$s" : "%1$s 通过 %2$s", "Cancelled: %1$s" : "已取消:%1$s", + "\"%1$s\" has been canceled" : "“%1$s”已取消", "Re: %1$s" : "回复:%1$s", + "%1$s has accepted your invitation" : "%1$s 已接受您的邀请", + "%1$s has tentatively accepted your invitation" : "%1$s 暂时接受了您的邀请", + "%1$s has declined your invitation" : "%1$s 已拒绝了您的邀请", + "%1$s has responded to your invitation" : "%1$s 已回应了您的邀请", + "Invitation updated: %1$s" : "邀请已更新:%1$s", + "%1$s updated the event \"%2$s\"" : "%1$s 已更新事件“%2$s”", "Invitation: %1$s" : "邀请:%1$s", + "%1$s would like to invite you to \"%2$s\"" : "%1$s 想邀请您加入“%2$s”", "Organizer:" : "组织者:", "Attendees:" : "与会者:", "Title:" : "标题:", @@ -108,6 +116,8 @@ "{actor} updated contact {card} in address book {addressbook}" : "{actor} 更新了通讯录 {addressbook} 中的联系人 {card} ", "You updated contact {card} in address book {addressbook}" : "你更新了通讯录 {addressbook} 中的联系人 {card} ", "A <strong>contact</strong> or <strong>address book</strong> was modified" : "一名 <strong>联系人</strong>或一个<strong>通讯录</strong>被更改了", + "Accounts" : "账户", + "System address book which holds all accounts" : "包含所有账户的系统通讯录", "File is not updatable: %1$s" : "无法更新文件:%1$s", "Could not write to final file, canceled by hook" : "无法写入最终文件,操作被插件取消", "Could not write file contents" : "无法写入文件内容", @@ -125,22 +135,22 @@ "Could not rename part file assembled from chunks" : "无法重命名从分片组合的部分文件", "Failed to write file contents: %1$s" : "写入文件内容失败:%1$s", "File not found: %1$s" : "找不到文件:%1$s", - "System is in maintenance mode." : "系统处于维护模式 ", + "System is in maintenance mode." : "系统处于维护模式。", "Upgrade needed" : "需要升级", - "Your %s needs to be configured to use HTTPS in order to use CalDAV and CardDAV with iOS/macOS." : "您的%s 需要配置使用HTTPS以在iOS/macOS中使用CalDAV和CardDAV。", + "Your %s needs to be configured to use HTTPS in order to use CalDAV and CardDAV with iOS/macOS." : "您的 %s 需要配置使用 HTTPS 以在 iOS/macOS 中使用 CalDAV 和 CardDAV。", "Configures a CalDAV account" : "配置一个 CalDAV 账号", "Configures a CardDAV account" : "配置一个 CardDAV 账号", "Events" : "事件", "Tasks" : "任务", "Untitled task" : "无标题任务", "Completed on %s" : "已完成 %s", - "Due on %s by %s" : "到期于%s ,在%s之前", - "Due on %s" : "到期于%s", + "Due on %s by %s" : "到期于 %s,在 %s 之前", + "Due on %s" : "到期于 %s", "Migrated calendar (%1$s)" : "迁移的日历(%1$s)", "Calendars including events, details and attendees" : "日历包含活动、参与人和事件详情", "Contacts and groups" : "联系人和群组", "WebDAV" : "WebDAV", - "WebDAV endpoint" : "WebDAV端点", + "WebDAV endpoint" : "WebDAV 端点", "Availability" : "可用性", "If you configure your working hours, other users will see when you are out of office when they book a meeting." : "如果您配置了工作时间,其他用户在预订会议时就会了解您何时不在办公室。", "Time zone:" : "时区:", @@ -170,8 +180,8 @@ "Send reminder notifications to calendar sharees as well" : "同时向日历共享者发送提醒通知", "Reminders are always sent to organizers and attendees." : "始终向组织者和与会者发出提醒。", "Enable notifications for events via push" : "启用推送事件通知", - "Also install the {calendarappstoreopen}Calendar app{linkclose}, or {calendardocopen}connect your desktop & mobile for syncing ↗{linkclose}." : "也安装 {calendarappstoreopen}日历应用{linkclose},或者 {calendardocopen}连接您的桌面和移动端同步日历 ↗{linkclose}。", - "Please make sure to properly set up {emailopen}the email server{linkclose}." : "请确保正确设置 {emailopen}邮件服务器{linkclose}。", + "Also install the {calendarappstoreopen}Calendar app{linkclose}, or {calendardocopen}connect your desktop & mobile for syncing ↗{linkclose}." : "也安装{calendarappstoreopen}日历应用{linkclose},或者{calendardocopen}连接您的桌面和移动端同步日历 ↗{linkclose}。", + "Please make sure to properly set up {emailopen}the email server{linkclose}." : "请确保正确设置{emailopen}邮件服务器{linkclose}。", "There was an error updating your attendance status." : "更新您的出席状态时出错。", "Please contact the organizer directly." : "请直接联系组织者。", "Are you accepting the invitation?" : "您是否接受邀请?", diff --git a/apps/dav/lib/CalDAV/CalDavBackend.php b/apps/dav/lib/CalDAV/CalDavBackend.php index 1cdb705ac92..94fe9acf356 100644 --- a/apps/dav/lib/CalDAV/CalDavBackend.php +++ b/apps/dav/lib/CalDAV/CalDavBackend.php @@ -3134,10 +3134,19 @@ class CalDavBackend extends AbstractBackend implements SyncSupport, Subscription if ($keep < 0) { throw new \InvalidArgumentException(); } + + $query = $this->db->getQueryBuilder(); + $query->select($query->func()->max('id')) + ->from('calendarchanges'); + + $maxId = $query->executeQuery()->fetchOne(); + if (!$maxId || $maxId < $keep) { + return 0; + } + $query = $this->db->getQueryBuilder(); $query->delete('calendarchanges') - ->orderBy('id', 'DESC') - ->setFirstResult($keep); + ->where($query->expr()->lte('id', $query->createNamedParameter($maxId - $keep, IQueryBuilder::PARAM_INT), IQueryBuilder::PARAM_INT)); return $query->executeStatement(); } diff --git a/apps/dav/lib/CardDAV/CardDavBackend.php b/apps/dav/lib/CardDAV/CardDavBackend.php index 87e9cd22dac..f6ca364f4a5 100644 --- a/apps/dav/lib/CardDAV/CardDavBackend.php +++ b/apps/dav/lib/CardDAV/CardDavBackend.php @@ -1399,10 +1399,19 @@ class CardDavBackend implements BackendInterface, SyncSupport { if ($keep < 0) { throw new \InvalidArgumentException(); } + + $query = $this->db->getQueryBuilder(); + $query->select($query->func()->max('id')) + ->from('addressbookchanges'); + + $maxId = $query->executeQuery()->fetchOne(); + if (!$maxId || $maxId < $keep) { + return 0; + } + $query = $this->db->getQueryBuilder(); $query->delete('addressbookchanges') - ->orderBy('id', 'DESC') - ->setFirstResult($keep); + ->where($query->expr()->lte('id', $query->createNamedParameter($maxId - $keep, IQueryBuilder::PARAM_INT), IQueryBuilder::PARAM_INT)); return $query->executeStatement(); } diff --git a/apps/dav/lib/CardDAV/Converter.php b/apps/dav/lib/CardDAV/Converter.php index c8add1b96a6..b3d8b094d69 100644 --- a/apps/dav/lib/CardDAV/Converter.php +++ b/apps/dav/lib/CardDAV/Converter.php @@ -92,7 +92,19 @@ class Converter { $vCard->add(new Text($vCard, 'TEL', $property->getValue(), ['TYPE' => 'VOICE', 'X-NC-SCOPE' => $scope])); break; case IAccountManager::PROPERTY_ADDRESS: - $vCard->add(new Text($vCard, 'ADR', $property->getValue(), ['TYPE' => 'OTHER', 'X-NC-SCOPE' => $scope])); + // structured prop: https://www.rfc-editor.org/rfc/rfc6350.html#section-6.3.1 + // post office box;extended address;street address;locality;region;postal code;country + $vCard->add( + new Text( + $vCard, + 'ADR', + [ '', '', '', $property->getValue(), '', '', '' ], + [ + 'TYPE' => 'OTHER', + 'X-NC-SCOPE' => $scope, + ] + ) + ); break; case IAccountManager::PROPERTY_TWITTER: $vCard->add(new Text($vCard, 'X-SOCIALPROFILE', $property->getValue(), ['TYPE' => 'TWITTER', 'X-NC-SCOPE' => $scope])); diff --git a/apps/dav/lib/CardDAV/SystemAddressbook.php b/apps/dav/lib/CardDAV/SystemAddressbook.php index 5587324efcd..498c4e95be7 100644 --- a/apps/dav/lib/CardDAV/SystemAddressbook.php +++ b/apps/dav/lib/CardDAV/SystemAddressbook.php @@ -64,7 +64,7 @@ class SystemAddressbook extends AddressBook { IUserSession $userSession, ?IRequest $request = null, ?TrustedServers $trustedServers = null, - ?IGroupManager $groupManager) { + ?IGroupManager $groupManager = null) { parent::__construct($carddavBackend, $addressBookInfo, $l10n); $this->config = $config; $this->userSession = $userSession; diff --git a/apps/dav/lib/Comments/CommentNode.php b/apps/dav/lib/Comments/CommentNode.php index 332c0e2d4d8..1d43c9c9309 100644 --- a/apps/dav/lib/Comments/CommentNode.php +++ b/apps/dav/lib/Comments/CommentNode.php @@ -165,10 +165,8 @@ class CommentNode implements \Sabre\DAV\INode, \Sabre\DAV\IProperties { /** * Returns the last modification time, as a unix timestamp - * - * @return int */ - public function getLastModified() { + public function getLastModified(): ?int { return null; } diff --git a/apps/dav/lib/Comments/CommentsPlugin.php b/apps/dav/lib/Comments/CommentsPlugin.php index bb07217a0ab..58de3e36139 100644 --- a/apps/dav/lib/Comments/CommentsPlugin.php +++ b/apps/dav/lib/Comments/CommentsPlugin.php @@ -176,7 +176,7 @@ class CommentsPlugin extends ServerPlugin { } if (!is_null($args['datetime'])) { - $args['datetime'] = new \DateTime($args['datetime']); + $args['datetime'] = new \DateTime((string)$args['datetime']); } $results = $node->findChildren($args['limit'], $args['offset'], $args['datetime']); @@ -189,7 +189,7 @@ class CommentsPlugin extends ServerPlugin { $responses[] = new Response( $this->server->getBaseUri() . $nodePath, [200 => $resultSet[0][200]], - 200 + '200' ); } } diff --git a/apps/dav/lib/Comments/EntityTypeCollection.php b/apps/dav/lib/Comments/EntityTypeCollection.php index d140a33ec4c..32adcee54f0 100644 --- a/apps/dav/lib/Comments/EntityTypeCollection.php +++ b/apps/dav/lib/Comments/EntityTypeCollection.php @@ -42,25 +42,14 @@ use Sabre\DAV\Exception\NotFound; * @package OCA\DAV\Comments */ class EntityTypeCollection extends RootCollection { - protected LoggerInterface $logger; - - /** @var IUserManager */ - protected $userManager; + protected IUserManager $userManager; /** @var \Closure */ protected $childExistsFunction; - /** - * @param string $name - * @param ICommentsManager $commentsManager - * @param IUserManager $userManager - * @param IUserSession $userSession - * @param LoggerInterface $logger - * @param \Closure $childExistsFunction - */ public function __construct( - $name, + string $name, ICommentsManager $commentsManager, IUserManager $userManager, IUserSession $userSession, @@ -68,7 +57,7 @@ class EntityTypeCollection extends RootCollection { \Closure $childExistsFunction ) { $name = trim($name); - if (empty($name) || !is_string($name)) { + if (empty($name)) { throw new \InvalidArgumentException('"name" parameter must be non-empty string'); } $this->name = $name; diff --git a/apps/dav/lib/Comments/RootCollection.php b/apps/dav/lib/Comments/RootCollection.php index 9832030291e..39d644b4766 100644 --- a/apps/dav/lib/Comments/RootCollection.php +++ b/apps/dav/lib/Comments/RootCollection.php @@ -36,26 +36,14 @@ use Sabre\DAV\ICollection; use Symfony\Component\EventDispatcher\EventDispatcherInterface; class RootCollection implements ICollection { - /** @var EntityTypeCollection[]|null */ - private $entityTypeCollections; - - /** @var ICommentsManager */ - protected $commentsManager; - - /** @var string */ - protected $name = 'comments'; - + private ?array $entityTypeCollections = null; + protected ICommentsManager $commentsManager; + protected string $name = 'comments'; protected LoggerInterface $logger; - - /** @var IUserManager */ - protected $userManager; - - /** @var IUserSession */ - protected $userSession; - - /** @var EventDispatcherInterface */ - protected $dispatcher; + protected IUserManager $userManager; + protected IUserSession $userSession; + protected EventDispatcherInterface $dispatcher; public function __construct( ICommentsManager $commentsManager, @@ -149,6 +137,7 @@ class RootCollection implements ICollection { */ public function getChildren() { $this->initCollections(); + assert(!is_null($this->entityTypeCollections)); return $this->entityTypeCollections; } @@ -160,6 +149,7 @@ class RootCollection implements ICollection { */ public function childExists($name) { $this->initCollections(); + assert(!is_null($this->entityTypeCollections)); return isset($this->entityTypeCollections[$name]); } @@ -196,7 +186,7 @@ class RootCollection implements ICollection { /** * Returns the last modification time, as a unix timestamp * - * @return int + * @return ?int */ public function getLastModified() { return null; diff --git a/apps/dav/lib/Connector/Sabre/DavAclPlugin.php b/apps/dav/lib/Connector/Sabre/DavAclPlugin.php index 6164b28b625..7fa94d7b903 100644 --- a/apps/dav/lib/Connector/Sabre/DavAclPlugin.php +++ b/apps/dav/lib/Connector/Sabre/DavAclPlugin.php @@ -94,8 +94,19 @@ class DavAclPlugin extends \Sabre\DAVACL\Plugin { $path = $request->getPath(); // prevent the plugin from causing an unneeded overhead for file requests - if (!str_starts_with($path, 'files/')) { - parent::beforeMethod($request, $response); + if (str_starts_with($path, 'files/')) { + return; + } + + parent::beforeMethod($request, $response); + + $createAddressbookOrCalendarRequest = ($request->getMethod() === 'MKCALENDAR' || $request->getMethod() === 'MKCOL') + && (str_starts_with($path, 'addressbooks/') || str_starts_with($path, 'calendars/')); + + if ($createAddressbookOrCalendarRequest) { + [$parentName] = \Sabre\Uri\split($path); + // is calendars/users/bob or addressbooks/users/bob writeable? + $this->checkPrivileges($parentName, '{DAV:}write'); } } } diff --git a/apps/dav/lib/Migration/Version1027Date20230504122946.php b/apps/dav/lib/Migration/Version1027Date20230504122946.php index e9ae174f56e..be3d19e8a80 100644 --- a/apps/dav/lib/Migration/Version1027Date20230504122946.php +++ b/apps/dav/lib/Migration/Version1027Date20230504122946.php @@ -34,6 +34,7 @@ use OCP\Migration\SimpleMigrationStep; use Psr\Container\ContainerExceptionInterface; use Psr\Container\NotFoundExceptionInterface; use Psr\Log\LoggerInterface; +use Throwable; class Version1027Date20230504122946 extends SimpleMigrationStep { private SyncService $syncService; @@ -49,6 +50,13 @@ class Version1027Date20230504122946 extends SimpleMigrationStep { * @param array $options */ public function postSchemaChange(IOutput $output, Closure $schemaClosure, array $options): void { - $this->syncService->syncInstance(); + try { + $this->syncService->syncInstance(); + } catch (Throwable $e) { + $this->logger->error('Could not sync system address books during update', [ + 'exception' => $e, + ]); + $output->warning('System address book sync failed. See logs for details'); + } } } diff --git a/apps/dav/tests/unit/CalDAV/CalDavBackendTest.php b/apps/dav/tests/unit/CalDAV/CalDavBackendTest.php index 69096d0cfbb..0fdd617943b 100644 --- a/apps/dav/tests/unit/CalDAV/CalDavBackendTest.php +++ b/apps/dav/tests/unit/CalDAV/CalDavBackendTest.php @@ -1291,6 +1291,8 @@ EOD; */ public function testPruneOutdatedSyncTokens(): void { $calendarId = $this->createTestCalendar(); + $changes = $this->backend->getChangesForCalendar($calendarId, '', 1); + $syncToken = $changes['syncToken']; $uri = static::getUniqueID('calobj'); $calData = <<<EOD @@ -1333,9 +1335,79 @@ EOD; $deleted = $this->backend->pruneOutdatedSyncTokens(0); // At least one from the object creation and one from the object update $this->assertGreaterThanOrEqual(2, $deleted); - $changes = $this->backend->getChangesForCalendar($calendarId, '5', 1); + $changes = $this->backend->getChangesForCalendar($calendarId, $syncToken, 1); $this->assertEmpty($changes['added']); $this->assertEmpty($changes['modified']); $this->assertEmpty($changes['deleted']); + + // Test that objects remain + + // Currently changes are empty + $changes = $this->backend->getChangesForCalendar($calendarId, $syncToken, 100); + $this->assertEquals(0, count($changes['added'] + $changes['modified'] + $changes['deleted'])); + + // Create card + $uri = static::getUniqueID('calobj'); +$calData = <<<EOD +BEGIN:VCALENDAR +VERSION:2.0 +PRODID:Nextcloud Calendar +BEGIN:VEVENT +CREATED;VALUE=DATE-TIME:20230910T125139Z +UID:47d15e3ec9 +LAST-MODIFIED;VALUE=DATE-TIME:20230910T125139Z +DTSTAMP;VALUE=DATE-TIME:20230910T125139Z +SUMMARY:Test Event +DTSTART;VALUE=DATE-TIME:20230912T130000Z +DTEND;VALUE=DATE-TIME:20230912T140000Z +CLASS:PUBLIC +END:VEVENT +END:VCALENDAR +EOD; + $this->backend->createCalendarObject($calendarId, $uri, $calData); + + // We now have one add + $changes = $this->backend->getChangesForCalendar($calendarId, $syncToken, 100); + $this->assertEquals(1, count($changes['added'])); + $this->assertEmpty($changes['modified']); + $this->assertEmpty($changes['deleted']); + + // update the card + $calData = <<<'EOD' +BEGIN:VCALENDAR +VERSION:2.0 +PRODID:Nextcloud Calendar +BEGIN:VEVENT +CREATED;VALUE=DATE-TIME:20230910T125139Z +UID:47d15e3ec9 +LAST-MODIFIED;VALUE=DATE-TIME:20230910T125139Z +DTSTAMP;VALUE=DATE-TIME:20230910T125139Z +SUMMARY:123 Event 🙈 +DTSTART;VALUE=DATE-TIME:20230912T130000Z +DTEND;VALUE=DATE-TIME:20230912T140000Z +ATTENDEE;CN=test:mailto:foo@bar.com +END:VEVENT +END:VCALENDAR +EOD; + $this->backend->updateCalendarObject($calendarId, $uri, $calData); + + // One add, one modify, but shortened to modify + $changes = $this->backend->getChangesForCalendar($calendarId, $syncToken, 100); + $this->assertEmpty($changes['added']); + $this->assertEquals(1, count($changes['modified'])); + $this->assertEmpty($changes['deleted']); + + // Delete all but last change + $deleted = $this->backend->pruneOutdatedSyncTokens(1); + $this->assertEquals(1, $deleted); // We had two changes before, now one + + // Only update should remain + $changes = $this->backend->getChangesForCalendar($calendarId, $syncToken, 100); + $this->assertEmpty($changes['added']); + $this->assertEquals(1, count($changes['modified'])); + $this->assertEmpty($changes['deleted']); + + // Check that no crash occurs when prune is called without current changes + $deleted = $this->backend->pruneOutdatedSyncTokens(1); } } diff --git a/apps/dav/tests/unit/CardDAV/CardDavBackendTest.php b/apps/dav/tests/unit/CardDAV/CardDavBackendTest.php index adf64ef82b0..425e7c44ba7 100644 --- a/apps/dav/tests/unit/CardDAV/CardDavBackendTest.php +++ b/apps/dav/tests/unit/CardDAV/CardDavBackendTest.php @@ -853,15 +853,54 @@ class CardDavBackendTest extends TestCase { */ public function testPruneOutdatedSyncTokens(): void { $addressBookId = $this->backend->createAddressBook(self::UNIT_TEST_USER, 'Example', []); + $changes = $this->backend->getChangesForAddressBook($addressBookId, '', 1); + $syncToken = $changes['syncToken']; + $uri = $this->getUniqueID('card'); $this->backend->createCard($addressBookId, $uri, $this->vcardTest0); $this->backend->updateCard($addressBookId, $uri, $this->vcardTest1); $deleted = $this->backend->pruneOutdatedSyncTokens(0); // At least one from the object creation and one from the object update $this->assertGreaterThanOrEqual(2, $deleted); - $changes = $this->backend->getChangesForAddressBook($addressBookId, '5', 1); + $changes = $this->backend->getChangesForAddressBook($addressBookId, $syncToken, 1); $this->assertEmpty($changes['added']); $this->assertEmpty($changes['modified']); $this->assertEmpty($changes['deleted']); + + // Test that objects remain + + // Currently changes are empty + $changes = $this->backend->getChangesForAddressBook($addressBookId, $syncToken, 100); + $this->assertEquals(0, count($changes['added'] + $changes['modified'] + $changes['deleted'])); + + // Create card + $uri = $this->getUniqueID('card'); + $this->backend->createCard($addressBookId, $uri, $this->vcardTest0); + // We now have one add + $changes = $this->backend->getChangesForAddressBook($addressBookId, $syncToken, 100); + $this->assertEquals(1, count($changes['added'])); + $this->assertEmpty($changes['modified']); + $this->assertEmpty($changes['deleted']); + + // Update card + $this->backend->updateCard($addressBookId, $uri, $this->vcardTest1); + // One add, one modify, but shortened to modify + $changes = $this->backend->getChangesForAddressBook($addressBookId, $syncToken, 100); + $this->assertEmpty($changes['added']); + $this->assertEquals(1, count($changes['modified'])); + $this->assertEmpty($changes['deleted']); + + // Delete all but last change + $deleted = $this->backend->pruneOutdatedSyncTokens(1); + $this->assertEquals(1, $deleted); // We had two changes before, now one + + // Only update should remain + $changes = $this->backend->getChangesForAddressBook($addressBookId, $syncToken, 100); + $this->assertEmpty($changes['added']); + $this->assertEquals(1, count($changes['modified'])); + $this->assertEmpty($changes['deleted']); + + // Check that no crash occurs when prune is called without current changes + $deleted = $this->backend->pruneOutdatedSyncTokens(1); } } diff --git a/apps/encryption/l10n/ar.js b/apps/encryption/l10n/ar.js index ff9ed33c0ab..4267bfd27c7 100644 --- a/apps/encryption/l10n/ar.js +++ b/apps/encryption/l10n/ar.js @@ -1,29 +1,43 @@ OC.L10N.register( "encryption", { - "Missing recovery key password" : "كلمة مرور مفتاح الاستعادة مفقودة", + "Missing recovery key password" : "لم يُمكن العثور على كلمة مرور مفتاح الاستعادة", "Please repeat the recovery key password" : "يرجى تكرار كلمة مرور مفتاح الاستعادة", - "Repeated recovery key password does not match the provided recovery key password" : "تأكيد كلمة مرور مفتاح الاستعادة لا تتطابق مع كلمة مرور مفتاح الاستعادة المدخلة", - "Recovery key successfully enabled" : "تم بنجاح تفعيل مفتاح الاستعادة", - "Could not enable recovery key. Please check your recovery key password!" : "لا يمكن تفعيل مفتاح الاستعادة, يرجى التحقق من كلمة مرور مفتاح الاستعادة!", - "Recovery key successfully disabled" : "تم تعطيل مفتاح الاستعادة بنجاح", - "Could not disable recovery key. Please check your recovery key password!" : "لا يمكن تعطيل مفتاح الاستعادة, يرجى التحقق من كلمة مرور مفتاح الاستعادة!", - "Missing parameters" : "المعاملات مفقودة", - "Please provide the old recovery password" : "يرجى تقديم كلمة مرور الاستعادة القديمة", - "Please provide a new recovery password" : "يرجى تقديم كلمة مرور جديدة للاستعادة", - "Please repeat the new recovery password" : "يرجى إعادة كلمة مرور الاستعادة الجديدة", - "Password successfully changed." : "تم تغيير كلمة المرور بنجاح.", - "Could not change the password. Maybe the old password was not correct." : "تعذر تغيير كلمة المرور. من الممكن ان كلمة المرور القديمة غير صحيحة.", - "Recovery Key disabled" : "مفتاح الاستعادة معطل", - "Recovery Key enabled" : "تم تمكين مفتاح الاستعادة", + "Repeated recovery key password does not match the provided recovery key password" : "كلمة مرور مفتاح الاستعادة المُكرّرة لا تتطابق مع كلمة مرور مفتاح الاستعادة المُدخلة", + "Recovery key successfully enabled" : "تمّ بنجاح تفعيل مفتاح الاستعادة", + "Could not enable recovery key. Please check your recovery key password!" : "لم يُمكن تفعيل مفتاح الاستعادة. يرجى التحقق من كلمة مرور مفتاح الاستعادة!", + "Recovery key successfully disabled" : "تمّ بنجاح تعطيل مفتاح الاستعادة ", + "Could not disable recovery key. Please check your recovery key password!" : "لم يُمكن تعطيل مفتاح الاستعادة. يرجى التحقق من كلمة مرور مفتاح الاستعادة!", + "Missing parameters" : "البارامترات ناقصة", + "Please provide the old recovery password" : "يرجى إعطاء كلمة مرور الاستعادة القديمة", + "Please provide a new recovery password" : "يرجى إعطاء كلمة مرور جديدة للاستعادة", + "Please repeat the new recovery password" : "يرجى تكرار كلمة مرور الاستعادة الجديدة", + "Password successfully changed." : "تمّ بنجاح تغيير كلمة المرور.", + "Could not change the password. Maybe the old password was not correct." : "تعذر تغيير كلمة المرور. يُمكن أن تكون كلمة المرور القديمة غير صحيحة.", + "Recovery Key disabled" : "مفتاح الاستعادة مُعطّل", + "Recovery Key enabled" : "تمّ تمكين مفتاح الاستعادة", "Could not enable the recovery key, please try again or contact your administrator" : "تعذر تمكين مفتاح الاسترداد ، يرجى المحاولة مرة أخرى أو الاتصال بالمسؤول", - "Could not update the private key password." : "تعذر تحديث كلمة مرور المفتاح الخاص.", + "Could not update the private key password." : "تعذّر تحديث كلمة مرور المفتاح الخاص.", "The old password was not correct, please try again." : "كلمة المرور القديمة غير صحيحة ، يرجى المحاولة مرة أخرى.", - "The current log-in password was not correct, please try again." : "كلمة المرور الحالية لتسجيل الدخول غير صحيحة، يرجى المحاولة مرة أخرى.", + "The current log-in password was not correct, please try again." : "كلمة المرور الحالية للدخول غير صحيحة، يرجى المحاولة مرة أخرى.", "Private key password successfully updated." : "تم تحديث كلمة المرور للمفتاح الخاص بنجاح.", - "Bad Signature" : "التوقيع الرقمي سيء", - "Missing Signature" : "التوقيع مفقود", - "one-time password for server-side-encryption" : "كلمة مرور لمرة واحدة للتشفير من جانب الخادم", + "Invalid private key for encryption app. Please update your private key password in your personal settings to recover access to your encrypted files." : "مفتاح خاص غير صالح لتطبيق التشفير. يرجى تحديث كلمة مرور المفتاح الخاص في إعداداتك الشخصية لاستعادة الوصول إلى ملفاتك المشفرة.", + "Encryption App is enabled, but your keys are not initialized. Please log-out and log-in again." : "تمّ تفعيل تطبيق التشفير، لكن لم تتم تهيئة المفاتيح الخاصة بك. الرجاء الخروج ثم الدخول من جديدٍ.", + "Please enable server side encryption in the admin settings in order to use the encryption module." : "يرجى تمكين التشفير من جانب الخادوم في إعدادات المُشرف حتّى يتسنّى استخدام وحدة التشفير.", + "Encryption app is enabled and ready" : "تطبيق التشفير مُفعّل و جاهز للعمل", + "Bad Signature" : "توقيع غير مقبول", + "Missing Signature" : "توقيع مفقود", + "one-time password for server-side-encryption" : "كلمة مرور لمرة واحدة للتشفير من جانب الخادوم", + "Encryption password" : "كلمة سر التشفير", + "The administration enabled server-side-encryption. Your files were encrypted using the password <strong>%s</strong>." : "قام المشرف بتمكين التشفير من جانب الخادوم. و تمّ تشفير ملفاتك باستخدام كلمة السر <strong>%s</strong>.", + "The administration enabled server-side-encryption. Your files were encrypted using the password \"%s\"." : "قام المشرف بتمكين التشفير من جانب الخادوم. و تمّ تشفير ملفاتك باستخدام كلمة السر \"%s\".", + "Please login to the web interface, go to the \"Security\" section of your personal settings and update your encryption password by entering this password into the \"Old log-in password\" field and your current login-password." : "الرجاء تسجيل الدخول إلى واجهة الويب ثم الانتقال إلى قسم \"الأمان\" security في إعداداتك الشخصية وتحديث كلمة مرور التشفير الخاصة بك بإدخالها في خانة \"كلمة مرور الدخول القديمة\" ثم إدخال كلمة مرور الدخول الحالية.", + "Cannot decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "تعذّر فك تشفير هذا الملف؛ ربما يكون ملفّاً مُشتركاً. رجاءً، أطلب من مالك الملف إلغاء مشاركته معك.", + "Cannot read this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "تعذرت قراءة هذا الملف؛ ربما يكون ملفّاً مُشتركاً. رجاءً، أطلب من مالك الملف إلغاء مشاركته معك.", + "Default encryption module" : "وحدة التشفير الافتراضية", + "Default encryption module for server-side encryption" : "وحدة التشفير الافتراضية للتشفير من جانب الخادوم", + "In order to use this encryption module you need to enable server-side encryption in the admin settings. Once enabled this module will encrypt all your files transparently. The encryption is based on AES 256 keys.\nThe module will not touch existing files, only new files will be encrypted after server-side encryption was enabled. It is also not possible to disable the encryption again and switch back to an unencrypted system.\nPlease read the documentation to know all implications before you decide to enable server-side encryption." : "لاستخدام وحدة التشفير هذه ، تحتاج إلى تمكين التشفير من جانب الخادوم في إعدادات المُشرف. بمجرد تمكين هذه الوحدة ، ستقوم بتشفير جميع ملفاتك بشفافية. يعتمد التشفير على مفاتيح AES 256. لن تلمس الوحدة الملفات الموجودة ، سيتم تشفير الملفات الجديدة فقط بعد تمكين التشفير من جانب الخادوم. لكن لاحظ أنه لن يُمكن تعطيل التشفير والعودة إلى حالة عدم التشفير. يرجى قراءة الوثائق لمعرفة جميع العواقب قبل أن تقرر تمكين التشفير من جانب الخادوم.", + "Encryption app is enabled but your keys are not initialized, please log-out and log-in again" : "تمّ تمكين تطبيق التشفير، ولكن لم يتمّ تهيئة المفاتيح الخاصة بك. يرجى الخروج ثم الدخول من جديدٍ.", "Encrypt the home storage" : "تشفير وحدة التخزين الأساسية", "Enabling this option encrypts all files stored on the main storage, otherwise only files on external storage will be encrypted" : "يؤدي تمكين هذا الخيار إلى تشفير جميع الملفات المخزنة على وحدة التخزين الرئيسية، وإلا فسيتم تشفير الملفات الموجودة على وحدة التخزين الخارجية فقط", "Enable recovery key" : "تمكين مفتاح الاستعادة", @@ -36,6 +50,7 @@ OC.L10N.register( "New recovery key password" : "كلمة مرور جديدة لمفتاح الاستعادة", "Repeat new recovery key password" : "أعد كتابة كلمة مرور مفتاح الاستعادة الجديدة", "Change Password" : "عدل كلمة السر", + "Basic encryption module" : "وحدة التشفير الأساسية", "Your private key password no longer matches your log-in password." : "لم تعد كلمة مرور المفتاح الخاص تطابق كلمة مرور تسجيل الدخول الخاصة بك.", "Set your old private key password to your current log-in password:" : "قم بتعيين كلمة مرور المفتاح الخاص القديم على كلمة مرور تسجيل الدخول الحالية:", " If you don't remember your old password you can ask your administrator to recover your files." : "اذا كنت لاتتذكر كلمة السر تستطيع ان تطلب من المدير ان يستعيد ملفاتك.", @@ -46,7 +61,10 @@ OC.L10N.register( "Enabling this option will allow you to reobtain access to your encrypted files in case of password loss" : "تفعيل هذا الخيار يمكنك من اعادة الوصول الى ملفاتك المشفرة عند فقدان كلمة المرور", "Enabled" : "مفعلة", "Disabled" : "معطلة", + "In order to use this encryption module you need to enable server-side\n\t\tencryption in the admin settings. Once enabled this module will encrypt\n\t\tall your files transparently. The encryption is based on AES 256 keys.\n\t\tThe module won't touch existing files, only new files will be encrypted\n\t\tafter server-side encryption was enabled. It is also not possible to\n\t\tdisable the encryption again and switch back to a unencrypted system.\n\t\tPlease read the documentation to know all implications before you decide\n\t\tto enable server-side encryption." : "من أجل استخدام وحدة التشفير هذه تحتاج إلى تمكين جانب الخادوم \n\t\t التشفير في إعدادات المسؤول. بمجرد تمكين هذه الوحدة سوف تقوم بتشفير \n\t\t كل ملفاتك بشفافية. يعتمد التشفير على مفتاح 256 AES\n \t\t لن تلمس الوحدة الملفات الموجودة مُسبقاً و ستقوم فقط بتشفير الملفات الجديدة\n\t\t بعد تمكين التشفير من جانب الخادوم، لن يكون مُمكناً \n\t\t تعطيل التشفير مرة أخرى والرجوع إلى حالة عدم التشفير. \n\t\t يرجى قراءة الوثائق لمعرفة جميع العواقب المترتبةقبل أن تقرر\n\t\t لتمكين التشفير من جانب الخادوم.", + "Hey there,\n\nThe administration enabled server-side-encryption. Your files were encrypted using the password \"%s\".\n\nPlease login to the web interface, go to the section \"Basic encryption module\" of your personal settings and update your encryption password by entering this password into the \"Old log-in password\" field and your current login-password.\n\n" : "مرحبًا ، تم تمكين التشفير من جانب الخادوم من قبل الإدارة. لذا تمّ تشفير ملفاتك باستخدام كلمة المرور %s\".\nالرجاء الدخول إلى واجهة الويب ثم الانتقال إلى قسم \"وحدة التشفير الأساسية\" Basic encryption module في إعداداتك الشخصية، و قُم بتحديث كلمة مرور التشفير عن طريق إدخال كلمتىْ مرورك القديمة و الحالية.\n", "The share will expire on %s." : "ستنتهي صلاحية المشاركة في %s.", - "Cheers!" : "تحياتي!" + "Cheers!" : "تحياتي!", + "Hey there,<br><br>The administration enabled server-side-encryption. Your files were encrypted using the password <strong>%s</strong>.<br><br>Please login to the web interface, go to the section \"Basic encryption module\" of your personal settings and update your encryption password by entering this password into the \"Old log-in password\" field and your current login-password.<br><br>" : "أهلاً؛<br><br>قامت الإدارة بتمكين التشفير من جانب الخادوم. لذا، سيتم تشفير ملفاتك باستخدام كلمة المرور <strong>%s</strong>.<br><br>الرجاء الدخول إلى واجهة الويب ثم الانتقال إلى قسم \"وحدة التشفير الأساسية\" Basic encryption module في إعداداتك الشخصية، و قُم بتحديث كلمة مرور التشفير عن طريق إدخال كلمتىْ مرورك القديمة و الحالية.<br><br>" }, "nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;"); diff --git a/apps/encryption/l10n/ar.json b/apps/encryption/l10n/ar.json index f68b1a5e0f7..4eb6ed44489 100644 --- a/apps/encryption/l10n/ar.json +++ b/apps/encryption/l10n/ar.json @@ -1,27 +1,41 @@ { "translations": { - "Missing recovery key password" : "كلمة مرور مفتاح الاستعادة مفقودة", + "Missing recovery key password" : "لم يُمكن العثور على كلمة مرور مفتاح الاستعادة", "Please repeat the recovery key password" : "يرجى تكرار كلمة مرور مفتاح الاستعادة", - "Repeated recovery key password does not match the provided recovery key password" : "تأكيد كلمة مرور مفتاح الاستعادة لا تتطابق مع كلمة مرور مفتاح الاستعادة المدخلة", - "Recovery key successfully enabled" : "تم بنجاح تفعيل مفتاح الاستعادة", - "Could not enable recovery key. Please check your recovery key password!" : "لا يمكن تفعيل مفتاح الاستعادة, يرجى التحقق من كلمة مرور مفتاح الاستعادة!", - "Recovery key successfully disabled" : "تم تعطيل مفتاح الاستعادة بنجاح", - "Could not disable recovery key. Please check your recovery key password!" : "لا يمكن تعطيل مفتاح الاستعادة, يرجى التحقق من كلمة مرور مفتاح الاستعادة!", - "Missing parameters" : "المعاملات مفقودة", - "Please provide the old recovery password" : "يرجى تقديم كلمة مرور الاستعادة القديمة", - "Please provide a new recovery password" : "يرجى تقديم كلمة مرور جديدة للاستعادة", - "Please repeat the new recovery password" : "يرجى إعادة كلمة مرور الاستعادة الجديدة", - "Password successfully changed." : "تم تغيير كلمة المرور بنجاح.", - "Could not change the password. Maybe the old password was not correct." : "تعذر تغيير كلمة المرور. من الممكن ان كلمة المرور القديمة غير صحيحة.", - "Recovery Key disabled" : "مفتاح الاستعادة معطل", - "Recovery Key enabled" : "تم تمكين مفتاح الاستعادة", + "Repeated recovery key password does not match the provided recovery key password" : "كلمة مرور مفتاح الاستعادة المُكرّرة لا تتطابق مع كلمة مرور مفتاح الاستعادة المُدخلة", + "Recovery key successfully enabled" : "تمّ بنجاح تفعيل مفتاح الاستعادة", + "Could not enable recovery key. Please check your recovery key password!" : "لم يُمكن تفعيل مفتاح الاستعادة. يرجى التحقق من كلمة مرور مفتاح الاستعادة!", + "Recovery key successfully disabled" : "تمّ بنجاح تعطيل مفتاح الاستعادة ", + "Could not disable recovery key. Please check your recovery key password!" : "لم يُمكن تعطيل مفتاح الاستعادة. يرجى التحقق من كلمة مرور مفتاح الاستعادة!", + "Missing parameters" : "البارامترات ناقصة", + "Please provide the old recovery password" : "يرجى إعطاء كلمة مرور الاستعادة القديمة", + "Please provide a new recovery password" : "يرجى إعطاء كلمة مرور جديدة للاستعادة", + "Please repeat the new recovery password" : "يرجى تكرار كلمة مرور الاستعادة الجديدة", + "Password successfully changed." : "تمّ بنجاح تغيير كلمة المرور.", + "Could not change the password. Maybe the old password was not correct." : "تعذر تغيير كلمة المرور. يُمكن أن تكون كلمة المرور القديمة غير صحيحة.", + "Recovery Key disabled" : "مفتاح الاستعادة مُعطّل", + "Recovery Key enabled" : "تمّ تمكين مفتاح الاستعادة", "Could not enable the recovery key, please try again or contact your administrator" : "تعذر تمكين مفتاح الاسترداد ، يرجى المحاولة مرة أخرى أو الاتصال بالمسؤول", - "Could not update the private key password." : "تعذر تحديث كلمة مرور المفتاح الخاص.", + "Could not update the private key password." : "تعذّر تحديث كلمة مرور المفتاح الخاص.", "The old password was not correct, please try again." : "كلمة المرور القديمة غير صحيحة ، يرجى المحاولة مرة أخرى.", - "The current log-in password was not correct, please try again." : "كلمة المرور الحالية لتسجيل الدخول غير صحيحة، يرجى المحاولة مرة أخرى.", + "The current log-in password was not correct, please try again." : "كلمة المرور الحالية للدخول غير صحيحة، يرجى المحاولة مرة أخرى.", "Private key password successfully updated." : "تم تحديث كلمة المرور للمفتاح الخاص بنجاح.", - "Bad Signature" : "التوقيع الرقمي سيء", - "Missing Signature" : "التوقيع مفقود", - "one-time password for server-side-encryption" : "كلمة مرور لمرة واحدة للتشفير من جانب الخادم", + "Invalid private key for encryption app. Please update your private key password in your personal settings to recover access to your encrypted files." : "مفتاح خاص غير صالح لتطبيق التشفير. يرجى تحديث كلمة مرور المفتاح الخاص في إعداداتك الشخصية لاستعادة الوصول إلى ملفاتك المشفرة.", + "Encryption App is enabled, but your keys are not initialized. Please log-out and log-in again." : "تمّ تفعيل تطبيق التشفير، لكن لم تتم تهيئة المفاتيح الخاصة بك. الرجاء الخروج ثم الدخول من جديدٍ.", + "Please enable server side encryption in the admin settings in order to use the encryption module." : "يرجى تمكين التشفير من جانب الخادوم في إعدادات المُشرف حتّى يتسنّى استخدام وحدة التشفير.", + "Encryption app is enabled and ready" : "تطبيق التشفير مُفعّل و جاهز للعمل", + "Bad Signature" : "توقيع غير مقبول", + "Missing Signature" : "توقيع مفقود", + "one-time password for server-side-encryption" : "كلمة مرور لمرة واحدة للتشفير من جانب الخادوم", + "Encryption password" : "كلمة سر التشفير", + "The administration enabled server-side-encryption. Your files were encrypted using the password <strong>%s</strong>." : "قام المشرف بتمكين التشفير من جانب الخادوم. و تمّ تشفير ملفاتك باستخدام كلمة السر <strong>%s</strong>.", + "The administration enabled server-side-encryption. Your files were encrypted using the password \"%s\"." : "قام المشرف بتمكين التشفير من جانب الخادوم. و تمّ تشفير ملفاتك باستخدام كلمة السر \"%s\".", + "Please login to the web interface, go to the \"Security\" section of your personal settings and update your encryption password by entering this password into the \"Old log-in password\" field and your current login-password." : "الرجاء تسجيل الدخول إلى واجهة الويب ثم الانتقال إلى قسم \"الأمان\" security في إعداداتك الشخصية وتحديث كلمة مرور التشفير الخاصة بك بإدخالها في خانة \"كلمة مرور الدخول القديمة\" ثم إدخال كلمة مرور الدخول الحالية.", + "Cannot decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "تعذّر فك تشفير هذا الملف؛ ربما يكون ملفّاً مُشتركاً. رجاءً، أطلب من مالك الملف إلغاء مشاركته معك.", + "Cannot read this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "تعذرت قراءة هذا الملف؛ ربما يكون ملفّاً مُشتركاً. رجاءً، أطلب من مالك الملف إلغاء مشاركته معك.", + "Default encryption module" : "وحدة التشفير الافتراضية", + "Default encryption module for server-side encryption" : "وحدة التشفير الافتراضية للتشفير من جانب الخادوم", + "In order to use this encryption module you need to enable server-side encryption in the admin settings. Once enabled this module will encrypt all your files transparently. The encryption is based on AES 256 keys.\nThe module will not touch existing files, only new files will be encrypted after server-side encryption was enabled. It is also not possible to disable the encryption again and switch back to an unencrypted system.\nPlease read the documentation to know all implications before you decide to enable server-side encryption." : "لاستخدام وحدة التشفير هذه ، تحتاج إلى تمكين التشفير من جانب الخادوم في إعدادات المُشرف. بمجرد تمكين هذه الوحدة ، ستقوم بتشفير جميع ملفاتك بشفافية. يعتمد التشفير على مفاتيح AES 256. لن تلمس الوحدة الملفات الموجودة ، سيتم تشفير الملفات الجديدة فقط بعد تمكين التشفير من جانب الخادوم. لكن لاحظ أنه لن يُمكن تعطيل التشفير والعودة إلى حالة عدم التشفير. يرجى قراءة الوثائق لمعرفة جميع العواقب قبل أن تقرر تمكين التشفير من جانب الخادوم.", + "Encryption app is enabled but your keys are not initialized, please log-out and log-in again" : "تمّ تمكين تطبيق التشفير، ولكن لم يتمّ تهيئة المفاتيح الخاصة بك. يرجى الخروج ثم الدخول من جديدٍ.", "Encrypt the home storage" : "تشفير وحدة التخزين الأساسية", "Enabling this option encrypts all files stored on the main storage, otherwise only files on external storage will be encrypted" : "يؤدي تمكين هذا الخيار إلى تشفير جميع الملفات المخزنة على وحدة التخزين الرئيسية، وإلا فسيتم تشفير الملفات الموجودة على وحدة التخزين الخارجية فقط", "Enable recovery key" : "تمكين مفتاح الاستعادة", @@ -34,6 +48,7 @@ "New recovery key password" : "كلمة مرور جديدة لمفتاح الاستعادة", "Repeat new recovery key password" : "أعد كتابة كلمة مرور مفتاح الاستعادة الجديدة", "Change Password" : "عدل كلمة السر", + "Basic encryption module" : "وحدة التشفير الأساسية", "Your private key password no longer matches your log-in password." : "لم تعد كلمة مرور المفتاح الخاص تطابق كلمة مرور تسجيل الدخول الخاصة بك.", "Set your old private key password to your current log-in password:" : "قم بتعيين كلمة مرور المفتاح الخاص القديم على كلمة مرور تسجيل الدخول الحالية:", " If you don't remember your old password you can ask your administrator to recover your files." : "اذا كنت لاتتذكر كلمة السر تستطيع ان تطلب من المدير ان يستعيد ملفاتك.", @@ -44,7 +59,10 @@ "Enabling this option will allow you to reobtain access to your encrypted files in case of password loss" : "تفعيل هذا الخيار يمكنك من اعادة الوصول الى ملفاتك المشفرة عند فقدان كلمة المرور", "Enabled" : "مفعلة", "Disabled" : "معطلة", + "In order to use this encryption module you need to enable server-side\n\t\tencryption in the admin settings. Once enabled this module will encrypt\n\t\tall your files transparently. The encryption is based on AES 256 keys.\n\t\tThe module won't touch existing files, only new files will be encrypted\n\t\tafter server-side encryption was enabled. It is also not possible to\n\t\tdisable the encryption again and switch back to a unencrypted system.\n\t\tPlease read the documentation to know all implications before you decide\n\t\tto enable server-side encryption." : "من أجل استخدام وحدة التشفير هذه تحتاج إلى تمكين جانب الخادوم \n\t\t التشفير في إعدادات المسؤول. بمجرد تمكين هذه الوحدة سوف تقوم بتشفير \n\t\t كل ملفاتك بشفافية. يعتمد التشفير على مفتاح 256 AES\n \t\t لن تلمس الوحدة الملفات الموجودة مُسبقاً و ستقوم فقط بتشفير الملفات الجديدة\n\t\t بعد تمكين التشفير من جانب الخادوم، لن يكون مُمكناً \n\t\t تعطيل التشفير مرة أخرى والرجوع إلى حالة عدم التشفير. \n\t\t يرجى قراءة الوثائق لمعرفة جميع العواقب المترتبةقبل أن تقرر\n\t\t لتمكين التشفير من جانب الخادوم.", + "Hey there,\n\nThe administration enabled server-side-encryption. Your files were encrypted using the password \"%s\".\n\nPlease login to the web interface, go to the section \"Basic encryption module\" of your personal settings and update your encryption password by entering this password into the \"Old log-in password\" field and your current login-password.\n\n" : "مرحبًا ، تم تمكين التشفير من جانب الخادوم من قبل الإدارة. لذا تمّ تشفير ملفاتك باستخدام كلمة المرور %s\".\nالرجاء الدخول إلى واجهة الويب ثم الانتقال إلى قسم \"وحدة التشفير الأساسية\" Basic encryption module في إعداداتك الشخصية، و قُم بتحديث كلمة مرور التشفير عن طريق إدخال كلمتىْ مرورك القديمة و الحالية.\n", "The share will expire on %s." : "ستنتهي صلاحية المشاركة في %s.", - "Cheers!" : "تحياتي!" + "Cheers!" : "تحياتي!", + "Hey there,<br><br>The administration enabled server-side-encryption. Your files were encrypted using the password <strong>%s</strong>.<br><br>Please login to the web interface, go to the section \"Basic encryption module\" of your personal settings and update your encryption password by entering this password into the \"Old log-in password\" field and your current login-password.<br><br>" : "أهلاً؛<br><br>قامت الإدارة بتمكين التشفير من جانب الخادوم. لذا، سيتم تشفير ملفاتك باستخدام كلمة المرور <strong>%s</strong>.<br><br>الرجاء الدخول إلى واجهة الويب ثم الانتقال إلى قسم \"وحدة التشفير الأساسية\" Basic encryption module في إعداداتك الشخصية، و قُم بتحديث كلمة مرور التشفير عن طريق إدخال كلمتىْ مرورك القديمة و الحالية.<br><br>" },"pluralForm" :"nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;" }
\ No newline at end of file diff --git a/apps/encryption/l10n/gl.js b/apps/encryption/l10n/gl.js index ca0cbbd6ec2..5046fcd5209 100644 --- a/apps/encryption/l10n/gl.js +++ b/apps/encryption/l10n/gl.js @@ -1,28 +1,28 @@ OC.L10N.register( "encryption", { - "Missing recovery key password" : "Falta o contrasinal da clave de recuperación", - "Please repeat the recovery key password" : "Repita o contrasinal da clave de recuperación", - "Repeated recovery key password does not match the provided recovery key password" : "A repetición do contrasinal da clave de recuperación non coincide co contrasinal da clave de recuperación fornecido", - "Recovery key successfully enabled" : "A clave de recuperación foi activada satisfactoriamente ", - "Could not enable recovery key. Please check your recovery key password!" : "Non foi posíbel activar a clave de recuperación. Comprobe o contrasinal da clave de recuperación!", - "Recovery key successfully disabled" : "A clave de recuperación foi desactivada satisfactoriamente ", - "Could not disable recovery key. Please check your recovery key password!" : "Non foi posíbel desactivar a clave de recuperación. Comprobe o contrasinal da clave de recuperación!", + "Missing recovery key password" : "Falta o contrasinal da chave de recuperación", + "Please repeat the recovery key password" : "Repita o contrasinal da chave de recuperación", + "Repeated recovery key password does not match the provided recovery key password" : "A repetición do contrasinal da chave de recuperación non coincide co contrasinal da chave de recuperación fornecido", + "Recovery key successfully enabled" : "A chave de recuperación foi activada satisfactoriamente ", + "Could not enable recovery key. Please check your recovery key password!" : "Non foi posíbel activar a chave de recuperación. Comprobe o contrasinal da chave de recuperación!", + "Recovery key successfully disabled" : "A chave de recuperación foi desactivada satisfactoriamente ", + "Could not disable recovery key. Please check your recovery key password!" : "Non foi posíbel desactivar a chave de recuperación. Comprobe o contrasinal da chave de recuperación!", "Missing parameters" : "Faltan os parámetros", "Please provide the old recovery password" : "Introduza o antigo contrasinal de recuperación", "Please provide a new recovery password" : "Introduza o novo contrasinal de recuperación", "Please repeat the new recovery password" : "Repita o novo contrasinal de recuperación", "Password successfully changed." : "O contrasinal foi cambiado satisfactoriamente", "Could not change the password. Maybe the old password was not correct." : "Non foi posíbel cambiar o contrasinal. Probabelmente o contrasinal antigo non é o correcto.", - "Recovery Key disabled" : "Desactivada a clave de recuperación", - "Recovery Key enabled" : "A clave de recuperación foi activada ", - "Could not enable the recovery key, please try again or contact your administrator" : "Non foi posíbel activar a clave de recuperación, ténteo de novo ou póñase en contacto co administrador.", - "Could not update the private key password." : "Non foi posíbel actualizar o contrasinal da clave privada.", + "Recovery Key disabled" : "Desactivada a chave de recuperación", + "Recovery Key enabled" : "A chave de recuperación foi activada ", + "Could not enable the recovery key, please try again or contact your administrator" : "Non foi posíbel activar a chave de recuperación, ténteo de novo ou póñase en contacto co administrador.", + "Could not update the private key password." : "Non foi posíbel actualizar o contrasinal da chave privada.", "The old password was not correct, please try again." : "O contrasinal antigo non é correcto, ténteo de novo.", "The current log-in password was not correct, please try again." : "O actual contrasinal de acceso non é correcto, ténteo de novo.", - "Private key password successfully updated." : "A clave privada foi actualizada correctamente.", - "Invalid private key for encryption app. Please update your private key password in your personal settings to recover access to your encrypted files." : "A clave privada para a aplicación de cifrado non é correcta. Actualice o contrasinal da súa clave privada nos seus axustes persoais para recuperar o acceso aos seus ficheiros cifrados.", - "Encryption App is enabled, but your keys are not initialized. Please log-out and log-in again." : "A aplicación de cifrado está activada, mais non foron preparadas as lhaves. Saia da sesión e volva a acceder de novo", + "Private key password successfully updated." : "A chave privada foi actualizada correctamente.", + "Invalid private key for encryption app. Please update your private key password in your personal settings to recover access to your encrypted files." : "A chave privada para a aplicación de cifrado non é correcta. Actualice o contrasinal da súa chave privada nos seus axustes persoais para recuperar o acceso aos seus ficheiros cifrados.", + "Encryption App is enabled, but your keys are not initialized. Please log-out and log-in again." : "A aplicación de cifrado está activada, mais non foron preparadas as lhaves. Saia da sesión e volva acceder de novo", "Please enable server side encryption in the admin settings in order to use the encryption module." : "Active o cifrado no lado do servidor nos axustes de administración para poder usar o módulo de cifrado.", "Encryption app is enabled and ready" : " A aplicación de cifrado está activada e preparada", "Bad Signature" : "Sinatura errónea", @@ -30,31 +30,31 @@ OC.L10N.register( "one-time password for server-side-encryption" : "Contrasinal de só un uso para o cifrado no lado do servidor", "Default encryption module" : "Módulo de cifrado predeterminado", "Default encryption module for server-side encryption" : "Módulo de cifrado predeterminado para o cifrado no lado do servidor", - "Encryption app is enabled but your keys are not initialized, please log-out and log-in again" : "A aplicación de cifrado está activada, mais as claves non foron preparadas, saia da sesión e volva a acceder de novo", + "Encryption app is enabled but your keys are not initialized, please log-out and log-in again" : "A aplicación de cifrado está activada, mais as súas chaves non foron preparadas, saia da sesión e volva acceder de novo", "Encrypt the home storage" : "Cifrar o almacenamento persoal", "Enabling this option encrypts all files stored on the main storage, otherwise only files on external storage will be encrypted" : "Ao activar esta opción cífranse todos os ficheiros almacenados no almacenamento principal, senón só se cifran os ficheiros do almacenamento externo.", - "Enable recovery key" : "Activar a clave de recuperación", - "Disable recovery key" : "Desactivar a clave de recuperación", - "The recovery key is an extra encryption key that is used to encrypt files. It allows recovery of a user's files if the user forgets his or her password." : "A clave de recuperación é unha clave de cifrado adicional que se utiliza para cifrar ficheiros. Permite a recuperación de ficheiros dun usuario se o usuario esquece o seu contrasinal.", - "Recovery key password" : "Contrasinal da clave de recuperación", - "Repeat recovery key password" : "Repita o contrasinal da clave de recuperación", - "Change recovery key password:" : "Cambiar o contrasinal da clave de la recuperación:", - "Old recovery key password" : "Contrasinal antigo da clave de recuperación", - "New recovery key password" : "Novo contrasinal da clave de recuperación", - "Repeat new recovery key password" : "Repita o novo contrasinal da clave de recuperación", + "Enable recovery key" : "Activar a chave de recuperación", + "Disable recovery key" : "Desactivar a chave de recuperación", + "The recovery key is an extra encryption key that is used to encrypt files. It allows recovery of a user's files if the user forgets his or her password." : "A chave de recuperación é unha chave de cifrado adicional que se utiliza para cifrar ficheiros. Permite a recuperación de ficheiros dun usuario se o usuario esquece o seu contrasinal.", + "Recovery key password" : "Contrasinal da chave de recuperación", + "Repeat recovery key password" : "Repita o contrasinal da chave de recuperación", + "Change recovery key password:" : "Cambiar o contrasinal da chave de la recuperación:", + "Old recovery key password" : "Contrasinal antigo da chave de recuperación", + "New recovery key password" : "Novo contrasinal da chave de recuperación", + "Repeat new recovery key password" : "Repita o novo contrasinal da chave de recuperación", "Change Password" : "Cambiar o contrasinal", "Basic encryption module" : "Módulo de cifrado básico", - "Your private key password no longer matches your log-in password." : "O seu contrasinal da clave privada non coincide co seu contrasinal de acceso.", - "Set your old private key password to your current log-in password:" : "Estabeleza o seu contrasinal antigo da clave de recuperación ao seu contrasinal de acceso actual:", + "Your private key password no longer matches your log-in password." : "O seu contrasinal da chave privada non coincide co seu contrasinal de acceso.", + "Set your old private key password to your current log-in password:" : "Estabeleza o seu contrasinal antigo da chave de recuperación ao seu contrasinal de acceso actual:", " If you don't remember your old password you can ask your administrator to recover your files." : "Se non lembra o seu antigo contrasinal pode pedirllo ao seu administrador para recuperar os seus ficheiros.", "Old log-in password" : "Contrasinal antigo de acceso", "Current log-in password" : "Contrasinal actual de acceso", - "Update Private Key Password" : "Actualizar o contrasinal da clave privada", + "Update Private Key Password" : "Actualizar o contrasinal da chave privada", "Enable password recovery:" : "Activar o contrasinal de recuperación:", "Enabling this option will allow you to reobtain access to your encrypted files in case of password loss" : "Ao activar esta opción permitiráselle volver obter acceso aos ficheiros cifrados no caso de perda do contrasinal", "Enabled" : "Activado", "Disabled" : "Desactivado", - "In order to use this encryption module you need to enable server-side\n\t\tencryption in the admin settings. Once enabled this module will encrypt\n\t\tall your files transparently. The encryption is based on AES 256 keys.\n\t\tThe module won't touch existing files, only new files will be encrypted\n\t\tafter server-side encryption was enabled. It is also not possible to\n\t\tdisable the encryption again and switch back to a unencrypted system.\n\t\tPlease read the documentation to know all implications before you decide\n\t\tto enable server-side encryption." : "Para usar este módulo de cifrado é preciso activar o cifrado no lado\n\t\tdo servidor nos axustes de administración. Una vez activado este módulo cifrará\n\t\ttodos os seus ficheiros de xeito transparente. O cifrado basease en claves AES 256.\n\t\tO módulo non tocará os ficheiros existentes, só se cifran os ficheiros novos\n\t\tapós que se active o cifrado no lado do servidor. Tampouco é posíbel\n\t\tdesactivar o cifrado e volver a un sistema sen cifrar.\n\t\tLea a documentación para coñecer todas as implicacións antes de decidir\n\t\tactivar o cifrado no lado do servidor.", + "In order to use this encryption module you need to enable server-side\n\t\tencryption in the admin settings. Once enabled this module will encrypt\n\t\tall your files transparently. The encryption is based on AES 256 keys.\n\t\tThe module won't touch existing files, only new files will be encrypted\n\t\tafter server-side encryption was enabled. It is also not possible to\n\t\tdisable the encryption again and switch back to a unencrypted system.\n\t\tPlease read the documentation to know all implications before you decide\n\t\tto enable server-side encryption." : "Para usar este módulo de cifrado é preciso activar o cifrado no lado\n\t\tdo servidor nos axustes de administración. Una vez activado este módulo cifrará\n\t\ttodos os seus ficheiros de xeito transparente. O cifrado basease en chave AES 256.\n\t\tO módulo non tocará os ficheiros existentes, só se cifran os ficheiros novos\n\t\tapós que se active o cifrado no lado do servidor. Tampouco é posíbel\n\t\tdesactivar o cifrado e volver a un sistema sen cifrar.\n\t\tLea a documentación para coñecer todas as implicacións antes de decidir\n\t\tactivar o cifrado no lado do servidor.", "The share will expire on %s." : "Este recurso compartido caduca o %s.", "Cheers!" : "Saúdos!" }, diff --git a/apps/encryption/l10n/gl.json b/apps/encryption/l10n/gl.json index 2e0c592b105..ed2802fd3ba 100644 --- a/apps/encryption/l10n/gl.json +++ b/apps/encryption/l10n/gl.json @@ -1,26 +1,26 @@ { "translations": { - "Missing recovery key password" : "Falta o contrasinal da clave de recuperación", - "Please repeat the recovery key password" : "Repita o contrasinal da clave de recuperación", - "Repeated recovery key password does not match the provided recovery key password" : "A repetición do contrasinal da clave de recuperación non coincide co contrasinal da clave de recuperación fornecido", - "Recovery key successfully enabled" : "A clave de recuperación foi activada satisfactoriamente ", - "Could not enable recovery key. Please check your recovery key password!" : "Non foi posíbel activar a clave de recuperación. Comprobe o contrasinal da clave de recuperación!", - "Recovery key successfully disabled" : "A clave de recuperación foi desactivada satisfactoriamente ", - "Could not disable recovery key. Please check your recovery key password!" : "Non foi posíbel desactivar a clave de recuperación. Comprobe o contrasinal da clave de recuperación!", + "Missing recovery key password" : "Falta o contrasinal da chave de recuperación", + "Please repeat the recovery key password" : "Repita o contrasinal da chave de recuperación", + "Repeated recovery key password does not match the provided recovery key password" : "A repetición do contrasinal da chave de recuperación non coincide co contrasinal da chave de recuperación fornecido", + "Recovery key successfully enabled" : "A chave de recuperación foi activada satisfactoriamente ", + "Could not enable recovery key. Please check your recovery key password!" : "Non foi posíbel activar a chave de recuperación. Comprobe o contrasinal da chave de recuperación!", + "Recovery key successfully disabled" : "A chave de recuperación foi desactivada satisfactoriamente ", + "Could not disable recovery key. Please check your recovery key password!" : "Non foi posíbel desactivar a chave de recuperación. Comprobe o contrasinal da chave de recuperación!", "Missing parameters" : "Faltan os parámetros", "Please provide the old recovery password" : "Introduza o antigo contrasinal de recuperación", "Please provide a new recovery password" : "Introduza o novo contrasinal de recuperación", "Please repeat the new recovery password" : "Repita o novo contrasinal de recuperación", "Password successfully changed." : "O contrasinal foi cambiado satisfactoriamente", "Could not change the password. Maybe the old password was not correct." : "Non foi posíbel cambiar o contrasinal. Probabelmente o contrasinal antigo non é o correcto.", - "Recovery Key disabled" : "Desactivada a clave de recuperación", - "Recovery Key enabled" : "A clave de recuperación foi activada ", - "Could not enable the recovery key, please try again or contact your administrator" : "Non foi posíbel activar a clave de recuperación, ténteo de novo ou póñase en contacto co administrador.", - "Could not update the private key password." : "Non foi posíbel actualizar o contrasinal da clave privada.", + "Recovery Key disabled" : "Desactivada a chave de recuperación", + "Recovery Key enabled" : "A chave de recuperación foi activada ", + "Could not enable the recovery key, please try again or contact your administrator" : "Non foi posíbel activar a chave de recuperación, ténteo de novo ou póñase en contacto co administrador.", + "Could not update the private key password." : "Non foi posíbel actualizar o contrasinal da chave privada.", "The old password was not correct, please try again." : "O contrasinal antigo non é correcto, ténteo de novo.", "The current log-in password was not correct, please try again." : "O actual contrasinal de acceso non é correcto, ténteo de novo.", - "Private key password successfully updated." : "A clave privada foi actualizada correctamente.", - "Invalid private key for encryption app. Please update your private key password in your personal settings to recover access to your encrypted files." : "A clave privada para a aplicación de cifrado non é correcta. Actualice o contrasinal da súa clave privada nos seus axustes persoais para recuperar o acceso aos seus ficheiros cifrados.", - "Encryption App is enabled, but your keys are not initialized. Please log-out and log-in again." : "A aplicación de cifrado está activada, mais non foron preparadas as lhaves. Saia da sesión e volva a acceder de novo", + "Private key password successfully updated." : "A chave privada foi actualizada correctamente.", + "Invalid private key for encryption app. Please update your private key password in your personal settings to recover access to your encrypted files." : "A chave privada para a aplicación de cifrado non é correcta. Actualice o contrasinal da súa chave privada nos seus axustes persoais para recuperar o acceso aos seus ficheiros cifrados.", + "Encryption App is enabled, but your keys are not initialized. Please log-out and log-in again." : "A aplicación de cifrado está activada, mais non foron preparadas as lhaves. Saia da sesión e volva acceder de novo", "Please enable server side encryption in the admin settings in order to use the encryption module." : "Active o cifrado no lado do servidor nos axustes de administración para poder usar o módulo de cifrado.", "Encryption app is enabled and ready" : " A aplicación de cifrado está activada e preparada", "Bad Signature" : "Sinatura errónea", @@ -28,31 +28,31 @@ "one-time password for server-side-encryption" : "Contrasinal de só un uso para o cifrado no lado do servidor", "Default encryption module" : "Módulo de cifrado predeterminado", "Default encryption module for server-side encryption" : "Módulo de cifrado predeterminado para o cifrado no lado do servidor", - "Encryption app is enabled but your keys are not initialized, please log-out and log-in again" : "A aplicación de cifrado está activada, mais as claves non foron preparadas, saia da sesión e volva a acceder de novo", + "Encryption app is enabled but your keys are not initialized, please log-out and log-in again" : "A aplicación de cifrado está activada, mais as súas chaves non foron preparadas, saia da sesión e volva acceder de novo", "Encrypt the home storage" : "Cifrar o almacenamento persoal", "Enabling this option encrypts all files stored on the main storage, otherwise only files on external storage will be encrypted" : "Ao activar esta opción cífranse todos os ficheiros almacenados no almacenamento principal, senón só se cifran os ficheiros do almacenamento externo.", - "Enable recovery key" : "Activar a clave de recuperación", - "Disable recovery key" : "Desactivar a clave de recuperación", - "The recovery key is an extra encryption key that is used to encrypt files. It allows recovery of a user's files if the user forgets his or her password." : "A clave de recuperación é unha clave de cifrado adicional que se utiliza para cifrar ficheiros. Permite a recuperación de ficheiros dun usuario se o usuario esquece o seu contrasinal.", - "Recovery key password" : "Contrasinal da clave de recuperación", - "Repeat recovery key password" : "Repita o contrasinal da clave de recuperación", - "Change recovery key password:" : "Cambiar o contrasinal da clave de la recuperación:", - "Old recovery key password" : "Contrasinal antigo da clave de recuperación", - "New recovery key password" : "Novo contrasinal da clave de recuperación", - "Repeat new recovery key password" : "Repita o novo contrasinal da clave de recuperación", + "Enable recovery key" : "Activar a chave de recuperación", + "Disable recovery key" : "Desactivar a chave de recuperación", + "The recovery key is an extra encryption key that is used to encrypt files. It allows recovery of a user's files if the user forgets his or her password." : "A chave de recuperación é unha chave de cifrado adicional que se utiliza para cifrar ficheiros. Permite a recuperación de ficheiros dun usuario se o usuario esquece o seu contrasinal.", + "Recovery key password" : "Contrasinal da chave de recuperación", + "Repeat recovery key password" : "Repita o contrasinal da chave de recuperación", + "Change recovery key password:" : "Cambiar o contrasinal da chave de la recuperación:", + "Old recovery key password" : "Contrasinal antigo da chave de recuperación", + "New recovery key password" : "Novo contrasinal da chave de recuperación", + "Repeat new recovery key password" : "Repita o novo contrasinal da chave de recuperación", "Change Password" : "Cambiar o contrasinal", "Basic encryption module" : "Módulo de cifrado básico", - "Your private key password no longer matches your log-in password." : "O seu contrasinal da clave privada non coincide co seu contrasinal de acceso.", - "Set your old private key password to your current log-in password:" : "Estabeleza o seu contrasinal antigo da clave de recuperación ao seu contrasinal de acceso actual:", + "Your private key password no longer matches your log-in password." : "O seu contrasinal da chave privada non coincide co seu contrasinal de acceso.", + "Set your old private key password to your current log-in password:" : "Estabeleza o seu contrasinal antigo da chave de recuperación ao seu contrasinal de acceso actual:", " If you don't remember your old password you can ask your administrator to recover your files." : "Se non lembra o seu antigo contrasinal pode pedirllo ao seu administrador para recuperar os seus ficheiros.", "Old log-in password" : "Contrasinal antigo de acceso", "Current log-in password" : "Contrasinal actual de acceso", - "Update Private Key Password" : "Actualizar o contrasinal da clave privada", + "Update Private Key Password" : "Actualizar o contrasinal da chave privada", "Enable password recovery:" : "Activar o contrasinal de recuperación:", "Enabling this option will allow you to reobtain access to your encrypted files in case of password loss" : "Ao activar esta opción permitiráselle volver obter acceso aos ficheiros cifrados no caso de perda do contrasinal", "Enabled" : "Activado", "Disabled" : "Desactivado", - "In order to use this encryption module you need to enable server-side\n\t\tencryption in the admin settings. Once enabled this module will encrypt\n\t\tall your files transparently. The encryption is based on AES 256 keys.\n\t\tThe module won't touch existing files, only new files will be encrypted\n\t\tafter server-side encryption was enabled. It is also not possible to\n\t\tdisable the encryption again and switch back to a unencrypted system.\n\t\tPlease read the documentation to know all implications before you decide\n\t\tto enable server-side encryption." : "Para usar este módulo de cifrado é preciso activar o cifrado no lado\n\t\tdo servidor nos axustes de administración. Una vez activado este módulo cifrará\n\t\ttodos os seus ficheiros de xeito transparente. O cifrado basease en claves AES 256.\n\t\tO módulo non tocará os ficheiros existentes, só se cifran os ficheiros novos\n\t\tapós que se active o cifrado no lado do servidor. Tampouco é posíbel\n\t\tdesactivar o cifrado e volver a un sistema sen cifrar.\n\t\tLea a documentación para coñecer todas as implicacións antes de decidir\n\t\tactivar o cifrado no lado do servidor.", + "In order to use this encryption module you need to enable server-side\n\t\tencryption in the admin settings. Once enabled this module will encrypt\n\t\tall your files transparently. The encryption is based on AES 256 keys.\n\t\tThe module won't touch existing files, only new files will be encrypted\n\t\tafter server-side encryption was enabled. It is also not possible to\n\t\tdisable the encryption again and switch back to a unencrypted system.\n\t\tPlease read the documentation to know all implications before you decide\n\t\tto enable server-side encryption." : "Para usar este módulo de cifrado é preciso activar o cifrado no lado\n\t\tdo servidor nos axustes de administración. Una vez activado este módulo cifrará\n\t\ttodos os seus ficheiros de xeito transparente. O cifrado basease en chave AES 256.\n\t\tO módulo non tocará os ficheiros existentes, só se cifran os ficheiros novos\n\t\tapós que se active o cifrado no lado do servidor. Tampouco é posíbel\n\t\tdesactivar o cifrado e volver a un sistema sen cifrar.\n\t\tLea a documentación para coñecer todas as implicacións antes de decidir\n\t\tactivar o cifrado no lado do servidor.", "The share will expire on %s." : "Este recurso compartido caduca o %s.", "Cheers!" : "Saúdos!" },"pluralForm" :"nplurals=2; plural=(n != 1);" diff --git a/apps/encryption/l10n/ko.js b/apps/encryption/l10n/ko.js index 5d7473f1d02..3e8a14ea6b1 100644 --- a/apps/encryption/l10n/ko.js +++ b/apps/encryption/l10n/ko.js @@ -6,7 +6,7 @@ OC.L10N.register( "Repeated recovery key password does not match the provided recovery key password" : "입력한 복구 키 암호가 서로 다릅니다", "Recovery key successfully enabled" : "복구 키가 성공적으로 활성화되었습니다", "Could not enable recovery key. Please check your recovery key password!" : "복구 키를 활성화할 수 없습니다. 복구 키의 암호를 확인해 주십시오!", - "Recovery key successfully disabled" : "복구 키가 성공적으로 비활성화되었습니다", + "Recovery key successfully disabled" : "복구 키가 성공적으로 비활성화되었습니다.", "Could not disable recovery key. Please check your recovery key password!" : "복구 키를 비활성화할 수 없습니다. 복구 키의 암호를 확인해 주십시오!", "Missing parameters" : "인자 부족함", "Please provide the old recovery password" : "이전 복구 암호를 입력하십시오", @@ -23,7 +23,7 @@ OC.L10N.register( "Private key password successfully updated." : "개인 키 암호가 성공적으로 업데이트되었습니다.", "Invalid private key for encryption app. Please update your private key password in your personal settings to recover access to your encrypted files." : "암호화 앱의 개인 키가 잘못되었습니다. 암호화된 파일에 다시 접근하려면 개인 설정에서 개인 키 암호를 업데이트해야 합니다.", "Encryption App is enabled, but your keys are not initialized. Please log-out and log-in again." : "암호화 앱이 활성화되었으나 키가 초기화되지 않았습니다. 로그아웃한 후 다시 로그인하십시오.", - "Please enable server side encryption in the admin settings in order to use the encryption module." : "암호화 모듈을 사용하려면 관리자 설정에서 서버 측 암호화 기능을 활성화해야 합니다", + "Please enable server side encryption in the admin settings in order to use the encryption module." : "암호화 모듈을 사용하려면 관리자 설정에서 서버 측 암호화 기능을 활성화해야 합니다.", "Encryption app is enabled and ready" : "암호화 앱이 활성화되었고 준비됨", "Bad Signature" : "잘못된 서명", "Missing Signature" : "서명 없음", diff --git a/apps/encryption/l10n/ko.json b/apps/encryption/l10n/ko.json index 97c41e883d6..c88ca14ce2b 100644 --- a/apps/encryption/l10n/ko.json +++ b/apps/encryption/l10n/ko.json @@ -4,7 +4,7 @@ "Repeated recovery key password does not match the provided recovery key password" : "입력한 복구 키 암호가 서로 다릅니다", "Recovery key successfully enabled" : "복구 키가 성공적으로 활성화되었습니다", "Could not enable recovery key. Please check your recovery key password!" : "복구 키를 활성화할 수 없습니다. 복구 키의 암호를 확인해 주십시오!", - "Recovery key successfully disabled" : "복구 키가 성공적으로 비활성화되었습니다", + "Recovery key successfully disabled" : "복구 키가 성공적으로 비활성화되었습니다.", "Could not disable recovery key. Please check your recovery key password!" : "복구 키를 비활성화할 수 없습니다. 복구 키의 암호를 확인해 주십시오!", "Missing parameters" : "인자 부족함", "Please provide the old recovery password" : "이전 복구 암호를 입력하십시오", @@ -21,7 +21,7 @@ "Private key password successfully updated." : "개인 키 암호가 성공적으로 업데이트되었습니다.", "Invalid private key for encryption app. Please update your private key password in your personal settings to recover access to your encrypted files." : "암호화 앱의 개인 키가 잘못되었습니다. 암호화된 파일에 다시 접근하려면 개인 설정에서 개인 키 암호를 업데이트해야 합니다.", "Encryption App is enabled, but your keys are not initialized. Please log-out and log-in again." : "암호화 앱이 활성화되었으나 키가 초기화되지 않았습니다. 로그아웃한 후 다시 로그인하십시오.", - "Please enable server side encryption in the admin settings in order to use the encryption module." : "암호화 모듈을 사용하려면 관리자 설정에서 서버 측 암호화 기능을 활성화해야 합니다", + "Please enable server side encryption in the admin settings in order to use the encryption module." : "암호화 모듈을 사용하려면 관리자 설정에서 서버 측 암호화 기능을 활성화해야 합니다.", "Encryption app is enabled and ready" : "암호화 앱이 활성화되었고 준비됨", "Bad Signature" : "잘못된 서명", "Missing Signature" : "서명 없음", diff --git a/apps/encryption/l10n/uk.js b/apps/encryption/l10n/uk.js index 98cf8326c3a..842d42c105e 100644 --- a/apps/encryption/l10n/uk.js +++ b/apps/encryption/l10n/uk.js @@ -28,10 +28,15 @@ OC.L10N.register( "Bad Signature" : "Погана сиґнатура", "Missing Signature" : "Відсутній підпис", "one-time password for server-side-encryption" : "одноразовий пароль для шифрування на сервері", + "Encryption password" : "Пароль для шифрування", + "The administration enabled server-side-encryption. Your files were encrypted using the password <strong>%s</strong>." : "Адміністратор увімкнув шифрування даних на рівні сервера. Ваші файли було зашифровано з використанням паролю <strong>%s</strong>.", + "The administration enabled server-side-encryption. Your files were encrypted using the password \"%s\"." : "Адміністратор увімкнув шифрування даних на рівні сервера. Ваші файли було зашифровано з використанням паролю \"%s\".", + "Please login to the web interface, go to the \"Security\" section of your personal settings and update your encryption password by entering this password into the \"Old log-in password\" field and your current login-password." : "Будь ласка, відкрийте вебсторінку хмари, перейдіть до розділу \"Безпека\" у особистих налаштуваннях та оновіть пароль шифрування, для цього зазначте парольні фрази у полях \"Старий пароль для входу\" та поточний пароль.", "Cannot decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Не вдається розшифрувати цей файл, ймовірно, він знаходиться у спільному доступі. Будь ласка, зверніться до власника файлу з проханням надати вам доступ до нього.", "Cannot read this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Не вдається прочитати цей файл, ймовірно, це файл із загальним доступом. Будь ласка, попросіть власника файлу надати вам спільний доступ до нього. ", "Default encryption module" : "Типовий модуль шифрування", "Default encryption module for server-side encryption" : "Типовий модуль шифрування для шифрування на стороні сервера", + "In order to use this encryption module you need to enable server-side encryption in the admin settings. Once enabled this module will encrypt all your files transparently. The encryption is based on AES 256 keys.\nThe module will not touch existing files, only new files will be encrypted after server-side encryption was enabled. It is also not possible to disable the encryption again and switch back to an unencrypted system.\nPlease read the documentation to know all implications before you decide to enable server-side encryption." : "Для користування цим модулем шифрування потрібно увімкнути шифрування даних на рівні сервера у налаштуваннях адміністратора. Одразу після увімкнення цього модуля ваші дані буде зашифровано з використанням AES 256 ключа.\nЗверніть увагу, що цей модуль передбачає, що шифрування буде застосовано тільки до нових файлів, файли, які було створено до увімкнення шифрування залишаться незашифровані. Також подалі не буде можливо вимкнути шифрування та повернутися до незашифрованого стану системи.\nБудь ласка, ознайомтеся з документацією та врахуйте всі ризики до того, як увімкнете шифрування на рівні сервера.", "Encryption app is enabled but your keys are not initialized, please log-out and log-in again" : "Програму для шифрування ввімкнено, але ваші ключі не ініціалізовано. Будь ласка, вийдіть із системи та увійдіть знову", "Encrypt the home storage" : "Зашифрувати домашній каталог", "Enabling this option encrypts all files stored on the main storage, otherwise only files on external storage will be encrypted" : "Увімкнення цього параметра шифрує всі файли, що зберігаються в основній пам’яті, інакше будуть зашифровані лише файли на зовнішній пам’яті", @@ -56,7 +61,10 @@ OC.L10N.register( "Enabling this option will allow you to reobtain access to your encrypted files in case of password loss" : "Включення цієї опції дозволить вам отримати доступ до своїх зашифрованих файлів у випадку втрати паролю", "Enabled" : "Увімкнено", "Disabled" : "Вимкнено", + "In order to use this encryption module you need to enable server-side\n\t\tencryption in the admin settings. Once enabled this module will encrypt\n\t\tall your files transparently. The encryption is based on AES 256 keys.\n\t\tThe module won't touch existing files, only new files will be encrypted\n\t\tafter server-side encryption was enabled. It is also not possible to\n\t\tdisable the encryption again and switch back to a unencrypted system.\n\t\tPlease read the documentation to know all implications before you decide\n\t\tto enable server-side encryption." : "Для користування цим модулем шифрування потрібно увімкнути шифрування даних на рівні сервера \n\t\tу налаштуваннях адміністратора. Одразу після увімкнення цього модуля ваші дані буде \n\t\tзашифровано з використанням AES 256 ключа. Зверніть увагу, що цей модуль передбачає, \n\t\tщо шифрування буде застосовано тільки до нових файлів, файли, які було створено до \n\t\tувімкнення шифрування залишаться незашифровані. Також подалі не буде можливо \n\t\tвимкнути шифрування та повернутися до незашифрованого стану системи.\n\t\tБудь ласка, ознайомтеся з документацією та врахуйте всі ризики до того, як \n\t\tувімкнете шифрування на рівні сервера.", + "Hey there,\n\nThe administration enabled server-side-encryption. Your files were encrypted using the password \"%s\".\n\nPlease login to the web interface, go to the section \"Basic encryption module\" of your personal settings and update your encryption password by entering this password into the \"Old log-in password\" field and your current login-password.\n\n" : "Вітання!\n\nАдміністратор увімкнув шифрування даних на рівні сервера. Ваші файли буде зашифровано з використанням паролю \"%s\".\n\nБудь ласка, перейдіть до розділу \"Основний модуль шифрування\" (Basic encryption module) ваших особистих налаштувань на вебсторінці хмари та оновіть пароль шифрування, для цього введіть цей пароль у полі \"Старий пароль для входу\" та поточний пароль авторизації.\n", "The share will expire on %s." : "Спільний доступ закінчиться %s.", - "Cheers!" : "Будьмо!" + "Cheers!" : "Будьмо!", + "Hey there,<br><br>The administration enabled server-side-encryption. Your files were encrypted using the password <strong>%s</strong>.<br><br>Please login to the web interface, go to the section \"Basic encryption module\" of your personal settings and update your encryption password by entering this password into the \"Old log-in password\" field and your current login-password.<br><br>" : "Вітання!<br><br>Адміністратор увімкнув шифрування даних на рівні сервера. Ваші файли буде зашифровано з використанням паролю <strong>%s</strong><br><br>Будь ласка, перейдіть до розділу \"Основний модуль шифрування\" (Basic encryption module) ваших особистих налаштувань на вебсторінці хмари та оновіть пароль шифрування, для цього введіть цей пароль у полі \"Старий пароль для входу\" та поточний пароль авторизації.<br><br>" }, "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/encryption/l10n/uk.json b/apps/encryption/l10n/uk.json index 62b246aaf5b..8c0692bd71b 100644 --- a/apps/encryption/l10n/uk.json +++ b/apps/encryption/l10n/uk.json @@ -26,10 +26,15 @@ "Bad Signature" : "Погана сиґнатура", "Missing Signature" : "Відсутній підпис", "one-time password for server-side-encryption" : "одноразовий пароль для шифрування на сервері", + "Encryption password" : "Пароль для шифрування", + "The administration enabled server-side-encryption. Your files were encrypted using the password <strong>%s</strong>." : "Адміністратор увімкнув шифрування даних на рівні сервера. Ваші файли було зашифровано з використанням паролю <strong>%s</strong>.", + "The administration enabled server-side-encryption. Your files were encrypted using the password \"%s\"." : "Адміністратор увімкнув шифрування даних на рівні сервера. Ваші файли було зашифровано з використанням паролю \"%s\".", + "Please login to the web interface, go to the \"Security\" section of your personal settings and update your encryption password by entering this password into the \"Old log-in password\" field and your current login-password." : "Будь ласка, відкрийте вебсторінку хмари, перейдіть до розділу \"Безпека\" у особистих налаштуваннях та оновіть пароль шифрування, для цього зазначте парольні фрази у полях \"Старий пароль для входу\" та поточний пароль.", "Cannot decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Не вдається розшифрувати цей файл, ймовірно, він знаходиться у спільному доступі. Будь ласка, зверніться до власника файлу з проханням надати вам доступ до нього.", "Cannot read this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Не вдається прочитати цей файл, ймовірно, це файл із загальним доступом. Будь ласка, попросіть власника файлу надати вам спільний доступ до нього. ", "Default encryption module" : "Типовий модуль шифрування", "Default encryption module for server-side encryption" : "Типовий модуль шифрування для шифрування на стороні сервера", + "In order to use this encryption module you need to enable server-side encryption in the admin settings. Once enabled this module will encrypt all your files transparently. The encryption is based on AES 256 keys.\nThe module will not touch existing files, only new files will be encrypted after server-side encryption was enabled. It is also not possible to disable the encryption again and switch back to an unencrypted system.\nPlease read the documentation to know all implications before you decide to enable server-side encryption." : "Для користування цим модулем шифрування потрібно увімкнути шифрування даних на рівні сервера у налаштуваннях адміністратора. Одразу після увімкнення цього модуля ваші дані буде зашифровано з використанням AES 256 ключа.\nЗверніть увагу, що цей модуль передбачає, що шифрування буде застосовано тільки до нових файлів, файли, які було створено до увімкнення шифрування залишаться незашифровані. Також подалі не буде можливо вимкнути шифрування та повернутися до незашифрованого стану системи.\nБудь ласка, ознайомтеся з документацією та врахуйте всі ризики до того, як увімкнете шифрування на рівні сервера.", "Encryption app is enabled but your keys are not initialized, please log-out and log-in again" : "Програму для шифрування ввімкнено, але ваші ключі не ініціалізовано. Будь ласка, вийдіть із системи та увійдіть знову", "Encrypt the home storage" : "Зашифрувати домашній каталог", "Enabling this option encrypts all files stored on the main storage, otherwise only files on external storage will be encrypted" : "Увімкнення цього параметра шифрує всі файли, що зберігаються в основній пам’яті, інакше будуть зашифровані лише файли на зовнішній пам’яті", @@ -54,7 +59,10 @@ "Enabling this option will allow you to reobtain access to your encrypted files in case of password loss" : "Включення цієї опції дозволить вам отримати доступ до своїх зашифрованих файлів у випадку втрати паролю", "Enabled" : "Увімкнено", "Disabled" : "Вимкнено", + "In order to use this encryption module you need to enable server-side\n\t\tencryption in the admin settings. Once enabled this module will encrypt\n\t\tall your files transparently. The encryption is based on AES 256 keys.\n\t\tThe module won't touch existing files, only new files will be encrypted\n\t\tafter server-side encryption was enabled. It is also not possible to\n\t\tdisable the encryption again and switch back to a unencrypted system.\n\t\tPlease read the documentation to know all implications before you decide\n\t\tto enable server-side encryption." : "Для користування цим модулем шифрування потрібно увімкнути шифрування даних на рівні сервера \n\t\tу налаштуваннях адміністратора. Одразу після увімкнення цього модуля ваші дані буде \n\t\tзашифровано з використанням AES 256 ключа. Зверніть увагу, що цей модуль передбачає, \n\t\tщо шифрування буде застосовано тільки до нових файлів, файли, які було створено до \n\t\tувімкнення шифрування залишаться незашифровані. Також подалі не буде можливо \n\t\tвимкнути шифрування та повернутися до незашифрованого стану системи.\n\t\tБудь ласка, ознайомтеся з документацією та врахуйте всі ризики до того, як \n\t\tувімкнете шифрування на рівні сервера.", + "Hey there,\n\nThe administration enabled server-side-encryption. Your files were encrypted using the password \"%s\".\n\nPlease login to the web interface, go to the section \"Basic encryption module\" of your personal settings and update your encryption password by entering this password into the \"Old log-in password\" field and your current login-password.\n\n" : "Вітання!\n\nАдміністратор увімкнув шифрування даних на рівні сервера. Ваші файли буде зашифровано з використанням паролю \"%s\".\n\nБудь ласка, перейдіть до розділу \"Основний модуль шифрування\" (Basic encryption module) ваших особистих налаштувань на вебсторінці хмари та оновіть пароль шифрування, для цього введіть цей пароль у полі \"Старий пароль для входу\" та поточний пароль авторизації.\n", "The share will expire on %s." : "Спільний доступ закінчиться %s.", - "Cheers!" : "Будьмо!" + "Cheers!" : "Будьмо!", + "Hey there,<br><br>The administration enabled server-side-encryption. Your files were encrypted using the password <strong>%s</strong>.<br><br>Please login to the web interface, go to the section \"Basic encryption module\" of your personal settings and update your encryption password by entering this password into the \"Old log-in password\" field and your current login-password.<br><br>" : "Вітання!<br><br>Адміністратор увімкнув шифрування даних на рівні сервера. Ваші файли буде зашифровано з використанням паролю <strong>%s</strong><br><br>Будь ласка, перейдіть до розділу \"Основний модуль шифрування\" (Basic encryption module) ваших особистих налаштувань на вебсторінці хмари та оновіть пароль шифрування, для цього введіть цей пароль у полі \"Старий пароль для входу\" та поточний пароль авторизації.<br><br>" },"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/federatedfilesharing/l10n/ar.js b/apps/federatedfilesharing/l10n/ar.js index 799c279a416..8c054b496c5 100644 --- a/apps/federatedfilesharing/l10n/ar.js +++ b/apps/federatedfilesharing/l10n/ar.js @@ -1,7 +1,59 @@ OC.L10N.register( "federatedfilesharing", { - "Invalid Federated Cloud ID" : "معرّف السحابة المتحدة غير صالح", - "Accept" : "قبول" + "Do you want to add the remote share {name} from {owner}@{remote}?" : "هل ترغب في إضافة مُشاركة قصيّة remote ـ {name} من {owner}@{remote}؟", + "Remote share" : "مُشاركة قصيّة remote", + "Remote share password" : "كلمة مرور مُشاركة قصيّة remote", + "Cancel" : "إلغاء", + "Add remote share" : "إضافة مُشاركة قصيّة remote", + "Invalid Federated Cloud ID" : "مُعرّف السحابة الاتحاديّة غير صحيح", + "Server to server sharing is not enabled on this server" : "المُشاركة من خادوم إلى خادوم غير مُمكّنة على هذا الخادوم", + "Couldn't establish a federated share." : "تعذّر تأسيس مُشاركة اتحاديّة.", + "Couldn't establish a federated share, maybe the password was wrong." : "تعذّر تأسيس مُشاركة اتحاديّة. ربما بسبب كلمة مرور غير صحيحة", + "Federated Share request sent, you will receive an invitation. Check your notifications." : "تمّ إرسال طلب مُشاركة اتحاديّة. سوف تصلك دعوة. رجاءً، تحقّق من إشعاراتك.", + "Couldn't establish a federated share, it looks like the server to federate with is too old (Nextcloud <= 9)." : "تعذّر تأسيس مُشاركة اتحاديّة. يبدو أن إصدار خادوم نكست كلاود الذي طلبت الاتحاد معه قديمٌ ( ما قبل الإصدار 9). ", + "It is not allowed to send federated group shares from this server." : "غيرُ مسموحٍ بإرسال مشاركات مجموعات اتحاديّة من هذا الخادوم.", + "Sharing %1$s failed, because this item is already shared with user %2$s" : "مُشاركة %1$s فشلت؛ بسبب أن هذا العنصر سبقت مُشاركته مع المُستخدِم %2$s ", + "Not allowed to create a federated share with the same user" : "غيرُ مسموحٍ أن تُنشيء مُشاركةً اتحاديّةً مع نفس المُستخدِم", + "Federated shares require read permissions" : "المُشاركات الاتحاديّة تتطلب إذونات قراءةٍ", + "File is already shared with %s" : "سبقت مُشاركة الملف مع %s", + "Sharing %1$s failed, could not find %2$s, maybe the server is currently unreachable or uses a self-signed certificate." : "المُشاركة %1$s فشلت؛ تعذّر إيجاد %2$s. يُمكن أن يكون هذ بسبب أن الخادوم لا يُمكن الوصول إليه حاليّاً أو أنه يستعمل شهادةً ذاتيّة التصديق self-signed certificate.", + "Could not find share" : "تعذّر العثور على المُشاركة", + "Federated sharing" : "مُشاركة اتحاديّة", + "You received {share} as a remote share from {user} (on behalf of {behalf})" : "أنت تلقّيتَ {share} كُمشاركة قصيّة من {user} (نيابةً عن {behalf})", + "You received {share} as a remote share from {user}" : "أنت تلقّيتَ {share} كُمشاركة قصيّة من {user} ", + "Accept" : "قبول", + "Decline" : "رفض", + "Federated Cloud Sharing" : "المشاركة السحابية الموحّدة", + "Sharing" : "المشاركة", + "Federated file sharing" : "مُشاركة اتحاديّة لملف", + "Provide federated file sharing across servers" : "توفير مُشاركة اتحاديّة للملفات عبر الخوادم", + "Adjust how people can share between servers. This includes shares between users on this server as well if they are using federated sharing." : "ضبط كيف يتشارك الأشخاص عبر الخوادم. و هذا يشمل المشاركات بين المستخدمين على هذا الخادوم و ما بين الخوادم الاتحاديّة كذلك.", + "Allow users on this server to send shares to other servers (this option also allows WebDAV access to public shares)" : "تمكين المستخدمين على هذا الخادوم من إرسال مُشاركاتٍ إلى خوادم أخرى ( هذا الخيار يُتيح أيضاً الوصول إلى المُشاركات العمومية عن طريق البروتوكول WebDAV )", + "Allow users on this server to receive shares from other servers" : "تمكين المستخدمين على هذا الخادوم من استقبال مُشاركاتٍ من خوادم أخرى", + "Allow users on this server to send shares to groups on other servers" : "تمكين المستخدمين على هذا الخادوم من إرسال مُشاركات إلى مجموعاتٍ على خوادم أخرى", + "Allow users on this server to receive group shares from other servers" : "تمكين المستخدمين على هذا الخادوم من استقبال مُشاركاتٍ من مجموعاتٍ على خوادم أخرى", + "Search global and public address book for users" : "البحث في سجلات العناوين العمومية public و الشاملة glabal عن مُستخدِمين", + "Allow users to publish their data to a global and public address book" : "تمكين المستخدمين من نشر بياناتهم في سجلات العناوين الشاملة و العمومية", + "Unable to update federated files sharing config" : "تعذر تحديث تهيئة مُشاركة الملفات الاتحادية", + "Federated Cloud" : "سحابة اتحاديّة", + "You can share with anyone who uses a Nextcloud server or other Open Cloud Mesh (OCM) compatible servers and services! Just put their Federated Cloud ID in the share dialog. It looks like person@cloud.example.com" : "يُمكنك المشاركة مع أي شخص يستخدم خادوم نكست كلاود أو خوادم وخدمات أخرى متوافقة مع بروتوكول Open Cloud Mesh (OCM)! فقط ضع مُعرّف السحابة الاتحاديّة Federated Cloud في مربع حوار المُشاركة؛ و الذي سيكون شكله على هذا النسق: person@cloud.example.com", + "Your Federated Cloud ID:" : "مُعرّف سحابتك الاتحاديّة:", + "Share it so your friends can share files with you:" : "شاركه مع أصدقائك بحيث يمكنهم مُشاركة الملفات معك:", + "Facebook" : "فيسبوك", + "Twitter" : "تويتر", + "Diaspora" : "دياسبورا", + "Add to your website" : "أضف إلى موقعك على الوب", + "Share with me via Nextcloud" : "شاركه معي عبر النكست كلاود", + "HTML Code:" : "كود HTML: ", + "Share with me through my #Nextcloud Federated Cloud ID, see {url}" : "شارك معي عبر #مُعرّف سحابة نكست كلاود الاتّحاديّة Nextcloud Federated Cloud ID، أنظر {url} ", + "Share with me through my #Nextcloud Federated Cloud ID" : "شارك معي عبر #مُعرّف سحابة نكست كلاود الاتّحاديّة Nextcloud Federated Cloud ID", + "Cloud ID copied to the clipboard" : "تمّ نسخ مُعرّف السحابة إلى الحافظة", + "Copy to clipboard" : "نسخ الرابط", + "Clipboard is not available" : "الحافظة غير متوافرة", + "Copied!" : "تم نسخه !", + "You received \"%3$s\" as a remote share from %4$s (%1$s) (on behalf of %5$s (%2$s))" : "أنت تلقّيت \"%3$s\" كمُشاركةٍ قصيّةٍ من %4$s (%1$s) (نيابةً عن%5$s (%2$s))", + "You received \"%3$s\" as a remote share from %4$s (%1$s)" : "أنت تلقّيت \"%3$s\" كمُشاركةٍ قصيّةٍ من %4$s (%1$s)", + "Share with me through my #Nextcloud Federated Cloud ID, see %s" : "شارك معي من خلال # مُعرّف سحابة نكست كلاود الاتحاديّة Nextcloud Federated Cloud ID. أنظر %s" }, "nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;"); diff --git a/apps/federatedfilesharing/l10n/ar.json b/apps/federatedfilesharing/l10n/ar.json index 2b2cb7401b1..d61c5d0b355 100644 --- a/apps/federatedfilesharing/l10n/ar.json +++ b/apps/federatedfilesharing/l10n/ar.json @@ -1,5 +1,57 @@ { "translations": { - "Invalid Federated Cloud ID" : "معرّف السحابة المتحدة غير صالح", - "Accept" : "قبول" + "Do you want to add the remote share {name} from {owner}@{remote}?" : "هل ترغب في إضافة مُشاركة قصيّة remote ـ {name} من {owner}@{remote}؟", + "Remote share" : "مُشاركة قصيّة remote", + "Remote share password" : "كلمة مرور مُشاركة قصيّة remote", + "Cancel" : "إلغاء", + "Add remote share" : "إضافة مُشاركة قصيّة remote", + "Invalid Federated Cloud ID" : "مُعرّف السحابة الاتحاديّة غير صحيح", + "Server to server sharing is not enabled on this server" : "المُشاركة من خادوم إلى خادوم غير مُمكّنة على هذا الخادوم", + "Couldn't establish a federated share." : "تعذّر تأسيس مُشاركة اتحاديّة.", + "Couldn't establish a federated share, maybe the password was wrong." : "تعذّر تأسيس مُشاركة اتحاديّة. ربما بسبب كلمة مرور غير صحيحة", + "Federated Share request sent, you will receive an invitation. Check your notifications." : "تمّ إرسال طلب مُشاركة اتحاديّة. سوف تصلك دعوة. رجاءً، تحقّق من إشعاراتك.", + "Couldn't establish a federated share, it looks like the server to federate with is too old (Nextcloud <= 9)." : "تعذّر تأسيس مُشاركة اتحاديّة. يبدو أن إصدار خادوم نكست كلاود الذي طلبت الاتحاد معه قديمٌ ( ما قبل الإصدار 9). ", + "It is not allowed to send federated group shares from this server." : "غيرُ مسموحٍ بإرسال مشاركات مجموعات اتحاديّة من هذا الخادوم.", + "Sharing %1$s failed, because this item is already shared with user %2$s" : "مُشاركة %1$s فشلت؛ بسبب أن هذا العنصر سبقت مُشاركته مع المُستخدِم %2$s ", + "Not allowed to create a federated share with the same user" : "غيرُ مسموحٍ أن تُنشيء مُشاركةً اتحاديّةً مع نفس المُستخدِم", + "Federated shares require read permissions" : "المُشاركات الاتحاديّة تتطلب إذونات قراءةٍ", + "File is already shared with %s" : "سبقت مُشاركة الملف مع %s", + "Sharing %1$s failed, could not find %2$s, maybe the server is currently unreachable or uses a self-signed certificate." : "المُشاركة %1$s فشلت؛ تعذّر إيجاد %2$s. يُمكن أن يكون هذ بسبب أن الخادوم لا يُمكن الوصول إليه حاليّاً أو أنه يستعمل شهادةً ذاتيّة التصديق self-signed certificate.", + "Could not find share" : "تعذّر العثور على المُشاركة", + "Federated sharing" : "مُشاركة اتحاديّة", + "You received {share} as a remote share from {user} (on behalf of {behalf})" : "أنت تلقّيتَ {share} كُمشاركة قصيّة من {user} (نيابةً عن {behalf})", + "You received {share} as a remote share from {user}" : "أنت تلقّيتَ {share} كُمشاركة قصيّة من {user} ", + "Accept" : "قبول", + "Decline" : "رفض", + "Federated Cloud Sharing" : "المشاركة السحابية الموحّدة", + "Sharing" : "المشاركة", + "Federated file sharing" : "مُشاركة اتحاديّة لملف", + "Provide federated file sharing across servers" : "توفير مُشاركة اتحاديّة للملفات عبر الخوادم", + "Adjust how people can share between servers. This includes shares between users on this server as well if they are using federated sharing." : "ضبط كيف يتشارك الأشخاص عبر الخوادم. و هذا يشمل المشاركات بين المستخدمين على هذا الخادوم و ما بين الخوادم الاتحاديّة كذلك.", + "Allow users on this server to send shares to other servers (this option also allows WebDAV access to public shares)" : "تمكين المستخدمين على هذا الخادوم من إرسال مُشاركاتٍ إلى خوادم أخرى ( هذا الخيار يُتيح أيضاً الوصول إلى المُشاركات العمومية عن طريق البروتوكول WebDAV )", + "Allow users on this server to receive shares from other servers" : "تمكين المستخدمين على هذا الخادوم من استقبال مُشاركاتٍ من خوادم أخرى", + "Allow users on this server to send shares to groups on other servers" : "تمكين المستخدمين على هذا الخادوم من إرسال مُشاركات إلى مجموعاتٍ على خوادم أخرى", + "Allow users on this server to receive group shares from other servers" : "تمكين المستخدمين على هذا الخادوم من استقبال مُشاركاتٍ من مجموعاتٍ على خوادم أخرى", + "Search global and public address book for users" : "البحث في سجلات العناوين العمومية public و الشاملة glabal عن مُستخدِمين", + "Allow users to publish their data to a global and public address book" : "تمكين المستخدمين من نشر بياناتهم في سجلات العناوين الشاملة و العمومية", + "Unable to update federated files sharing config" : "تعذر تحديث تهيئة مُشاركة الملفات الاتحادية", + "Federated Cloud" : "سحابة اتحاديّة", + "You can share with anyone who uses a Nextcloud server or other Open Cloud Mesh (OCM) compatible servers and services! Just put their Federated Cloud ID in the share dialog. It looks like person@cloud.example.com" : "يُمكنك المشاركة مع أي شخص يستخدم خادوم نكست كلاود أو خوادم وخدمات أخرى متوافقة مع بروتوكول Open Cloud Mesh (OCM)! فقط ضع مُعرّف السحابة الاتحاديّة Federated Cloud في مربع حوار المُشاركة؛ و الذي سيكون شكله على هذا النسق: person@cloud.example.com", + "Your Federated Cloud ID:" : "مُعرّف سحابتك الاتحاديّة:", + "Share it so your friends can share files with you:" : "شاركه مع أصدقائك بحيث يمكنهم مُشاركة الملفات معك:", + "Facebook" : "فيسبوك", + "Twitter" : "تويتر", + "Diaspora" : "دياسبورا", + "Add to your website" : "أضف إلى موقعك على الوب", + "Share with me via Nextcloud" : "شاركه معي عبر النكست كلاود", + "HTML Code:" : "كود HTML: ", + "Share with me through my #Nextcloud Federated Cloud ID, see {url}" : "شارك معي عبر #مُعرّف سحابة نكست كلاود الاتّحاديّة Nextcloud Federated Cloud ID، أنظر {url} ", + "Share with me through my #Nextcloud Federated Cloud ID" : "شارك معي عبر #مُعرّف سحابة نكست كلاود الاتّحاديّة Nextcloud Federated Cloud ID", + "Cloud ID copied to the clipboard" : "تمّ نسخ مُعرّف السحابة إلى الحافظة", + "Copy to clipboard" : "نسخ الرابط", + "Clipboard is not available" : "الحافظة غير متوافرة", + "Copied!" : "تم نسخه !", + "You received \"%3$s\" as a remote share from %4$s (%1$s) (on behalf of %5$s (%2$s))" : "أنت تلقّيت \"%3$s\" كمُشاركةٍ قصيّةٍ من %4$s (%1$s) (نيابةً عن%5$s (%2$s))", + "You received \"%3$s\" as a remote share from %4$s (%1$s)" : "أنت تلقّيت \"%3$s\" كمُشاركةٍ قصيّةٍ من %4$s (%1$s)", + "Share with me through my #Nextcloud Federated Cloud ID, see %s" : "شارك معي من خلال # مُعرّف سحابة نكست كلاود الاتحاديّة Nextcloud Federated Cloud ID. أنظر %s" },"pluralForm" :"nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;" }
\ No newline at end of file diff --git a/apps/federatedfilesharing/l10n/gl.js b/apps/federatedfilesharing/l10n/gl.js index c296317a12b..09c61a30321 100644 --- a/apps/federatedfilesharing/l10n/gl.js +++ b/apps/federatedfilesharing/l10n/gl.js @@ -9,7 +9,7 @@ OC.L10N.register( "Invalid Federated Cloud ID" : "ID de nube federada incorrecto", "Server to server sharing is not enabled on this server" : "Neste servidor non está activada a compartición de servidor a servidor", "Couldn't establish a federated share." : "Non foi posíbel estabelecer unha compartición federada", - "Couldn't establish a federated share, maybe the password was wrong." : "Non foi posíbel estabelecer unha compartición federada, é probábel que o contrasinal sexa incorrecto.", + "Couldn't establish a federated share, maybe the password was wrong." : "Non foi posíbel estabelecer unha compartición federada, é probábel que o contrasinal sexa erróneo.", "Federated Share request sent, you will receive an invitation. Check your notifications." : "Enviouse a solicitude dunha compartición federada, vostede recibirá unha notificación. Comprobe as súas notificacións.", "Couldn't establish a federated share, it looks like the server to federate with is too old (Nextcloud <= 9)." : "Non foi posíbel estabelecer unha compartición federada, semella que o servidor federar é antigo de máis (Nextcloud <= 9).", "It is not allowed to send federated group shares from this server." : "Non está permitido enviar unha compartición de grupos federados dende este servidor.", @@ -28,14 +28,14 @@ OC.L10N.register( "Sharing" : "Compartindo", "Federated file sharing" : "Compartir ficheiros en federación", "Provide federated file sharing across servers" : "Fornece a compartición federada de ficheiros entre servidores", - "Adjust how people can share between servers. This includes shares between users on this server as well if they are using federated sharing." : "Axusta como as persoas poden compartir entre servidores. Isto inclúe tamén as accións compartidas entre usuarios deste servidor se están a usar compartición federada.", + "Adjust how people can share between servers. This includes shares between users on this server as well if they are using federated sharing." : "Axuste a forma como as persoas poden compartir entre servidores. Isto inclúe tamén os recursos compartidos entre usuarios deste servidor se están a usar a compartición federada.", "Allow users on this server to send shares to other servers (this option also allows WebDAV access to public shares)" : "Permitirlle aos usuarios deste servidor enviar recursos compartidos a outros servidores (esta opción tamén permite o acceso de WebDAV a recursos compartidos públicos)", "Allow users on this server to receive shares from other servers" : "Permitirlle aos usuarios deste servidor recibir recursos compartidos doutros servidores", "Allow users on this server to send shares to groups on other servers" : "Permitirlle aos usuarios deste servidor enviar recursos compartidos a grupos noutros servidores", "Allow users on this server to receive group shares from other servers" : "Permitirlle aos usuarios deste servidor recibir comparticións de grupos dende outros servidores", "Search global and public address book for users" : "Buscar usuarios nos cadernos de enderezos globais e públicos", "Allow users to publish their data to a global and public address book" : "Permitirlle aos usuarios publicar os seus datos nun caderno de enderezos global e público", - "Unable to update federated files sharing config" : "Non se puido actualizar a configuración de uso compartido de ficheiros federados", + "Unable to update federated files sharing config" : "Non é posíbel actualizar a configuración de uso compartido de ficheiros federados", "Federated Cloud" : "Nube federada", "You can share with anyone who uses a Nextcloud server or other Open Cloud Mesh (OCM) compatible servers and services! Just put their Federated Cloud ID in the share dialog. It looks like person@cloud.example.com" : "Pode compartir con calquera persoa que empregue servidores Nextcloud, ou outro servidor ou servizo compatíbel co Open Cloud Mesh (OCM)! Simplemente, introduza o seu ID de nube federada no diálogo de compartir. É algo como persona@cloud.exemplo.com", "Your Federated Cloud ID:" : "ID da súa nube federada:", @@ -44,11 +44,11 @@ OC.L10N.register( "Twitter" : "Twitter", "Diaspora" : "Diaspora", "Add to your website" : "Engadir ao seu sitio web", - "Share with me via Nextcloud" : "Comparte comigo a través do Nextcloud", + "Share with me via Nextcloud" : "Comparte comigo a través de Nextcloud", "HTML Code:" : "Código HTML:", - "Share with me through my #Nextcloud Federated Cloud ID, see {url}" : "Comparte comigo a través do meu #Nextcloud Federated Cloud ID, consulta {url}", + "Share with me through my #Nextcloud Federated Cloud ID, see {url}" : "Comparte comigo a través do meu #Nextcloud Federated Cloud ID, ver {url}", "Share with me through my #Nextcloud Federated Cloud ID" : "Comparte comigo a través do meu ID da nube federada do #Nextcloud", - "Cloud ID copied to the clipboard" : "Cloud ID copiouse no portapapeis", + "Cloud ID copied to the clipboard" : "O identificador de nube (Cloud ID) (foi copiado no portapapeis", "Copy to clipboard" : "Copiar no portapapeis.", "Clipboard is not available" : "O portapapeis non está dispoñíbel", "Copied!" : "Copiado!", diff --git a/apps/federatedfilesharing/l10n/gl.json b/apps/federatedfilesharing/l10n/gl.json index d27194964b0..5c8bfe1985a 100644 --- a/apps/federatedfilesharing/l10n/gl.json +++ b/apps/federatedfilesharing/l10n/gl.json @@ -7,7 +7,7 @@ "Invalid Federated Cloud ID" : "ID de nube federada incorrecto", "Server to server sharing is not enabled on this server" : "Neste servidor non está activada a compartición de servidor a servidor", "Couldn't establish a federated share." : "Non foi posíbel estabelecer unha compartición federada", - "Couldn't establish a federated share, maybe the password was wrong." : "Non foi posíbel estabelecer unha compartición federada, é probábel que o contrasinal sexa incorrecto.", + "Couldn't establish a federated share, maybe the password was wrong." : "Non foi posíbel estabelecer unha compartición federada, é probábel que o contrasinal sexa erróneo.", "Federated Share request sent, you will receive an invitation. Check your notifications." : "Enviouse a solicitude dunha compartición federada, vostede recibirá unha notificación. Comprobe as súas notificacións.", "Couldn't establish a federated share, it looks like the server to federate with is too old (Nextcloud <= 9)." : "Non foi posíbel estabelecer unha compartición federada, semella que o servidor federar é antigo de máis (Nextcloud <= 9).", "It is not allowed to send federated group shares from this server." : "Non está permitido enviar unha compartición de grupos federados dende este servidor.", @@ -26,14 +26,14 @@ "Sharing" : "Compartindo", "Federated file sharing" : "Compartir ficheiros en federación", "Provide federated file sharing across servers" : "Fornece a compartición federada de ficheiros entre servidores", - "Adjust how people can share between servers. This includes shares between users on this server as well if they are using federated sharing." : "Axusta como as persoas poden compartir entre servidores. Isto inclúe tamén as accións compartidas entre usuarios deste servidor se están a usar compartición federada.", + "Adjust how people can share between servers. This includes shares between users on this server as well if they are using federated sharing." : "Axuste a forma como as persoas poden compartir entre servidores. Isto inclúe tamén os recursos compartidos entre usuarios deste servidor se están a usar a compartición federada.", "Allow users on this server to send shares to other servers (this option also allows WebDAV access to public shares)" : "Permitirlle aos usuarios deste servidor enviar recursos compartidos a outros servidores (esta opción tamén permite o acceso de WebDAV a recursos compartidos públicos)", "Allow users on this server to receive shares from other servers" : "Permitirlle aos usuarios deste servidor recibir recursos compartidos doutros servidores", "Allow users on this server to send shares to groups on other servers" : "Permitirlle aos usuarios deste servidor enviar recursos compartidos a grupos noutros servidores", "Allow users on this server to receive group shares from other servers" : "Permitirlle aos usuarios deste servidor recibir comparticións de grupos dende outros servidores", "Search global and public address book for users" : "Buscar usuarios nos cadernos de enderezos globais e públicos", "Allow users to publish their data to a global and public address book" : "Permitirlle aos usuarios publicar os seus datos nun caderno de enderezos global e público", - "Unable to update federated files sharing config" : "Non se puido actualizar a configuración de uso compartido de ficheiros federados", + "Unable to update federated files sharing config" : "Non é posíbel actualizar a configuración de uso compartido de ficheiros federados", "Federated Cloud" : "Nube federada", "You can share with anyone who uses a Nextcloud server or other Open Cloud Mesh (OCM) compatible servers and services! Just put their Federated Cloud ID in the share dialog. It looks like person@cloud.example.com" : "Pode compartir con calquera persoa que empregue servidores Nextcloud, ou outro servidor ou servizo compatíbel co Open Cloud Mesh (OCM)! Simplemente, introduza o seu ID de nube federada no diálogo de compartir. É algo como persona@cloud.exemplo.com", "Your Federated Cloud ID:" : "ID da súa nube federada:", @@ -42,11 +42,11 @@ "Twitter" : "Twitter", "Diaspora" : "Diaspora", "Add to your website" : "Engadir ao seu sitio web", - "Share with me via Nextcloud" : "Comparte comigo a través do Nextcloud", + "Share with me via Nextcloud" : "Comparte comigo a través de Nextcloud", "HTML Code:" : "Código HTML:", - "Share with me through my #Nextcloud Federated Cloud ID, see {url}" : "Comparte comigo a través do meu #Nextcloud Federated Cloud ID, consulta {url}", + "Share with me through my #Nextcloud Federated Cloud ID, see {url}" : "Comparte comigo a través do meu #Nextcloud Federated Cloud ID, ver {url}", "Share with me through my #Nextcloud Federated Cloud ID" : "Comparte comigo a través do meu ID da nube federada do #Nextcloud", - "Cloud ID copied to the clipboard" : "Cloud ID copiouse no portapapeis", + "Cloud ID copied to the clipboard" : "O identificador de nube (Cloud ID) (foi copiado no portapapeis", "Copy to clipboard" : "Copiar no portapapeis.", "Clipboard is not available" : "O portapapeis non está dispoñíbel", "Copied!" : "Copiado!", diff --git a/apps/federatedfilesharing/l10n/ko.js b/apps/federatedfilesharing/l10n/ko.js index 21e6b9a7cfd..074d7e2efed 100644 --- a/apps/federatedfilesharing/l10n/ko.js +++ b/apps/federatedfilesharing/l10n/ko.js @@ -41,6 +41,7 @@ OC.L10N.register( "HTML Code:" : "HTML 코드:", "Share with me through my #Nextcloud Federated Cloud ID" : "내 #Nextcloud 연합 클라우드 ID를 통해서 공유됨", "Copy to clipboard" : "클립보드로 복사", + "Clipboard is not available" : "클립보드를 사용할 수 없습니다.", "Copied!" : "복사 성공!", "Share with me through my #Nextcloud Federated Cloud ID, see %s" : "내 #Nextcloud 연합 클라우드 ID를 통해서 공유됨, 더 알아보기: %s" }, diff --git a/apps/federatedfilesharing/l10n/ko.json b/apps/federatedfilesharing/l10n/ko.json index 509d0cbbf86..d53271e7115 100644 --- a/apps/federatedfilesharing/l10n/ko.json +++ b/apps/federatedfilesharing/l10n/ko.json @@ -39,6 +39,7 @@ "HTML Code:" : "HTML 코드:", "Share with me through my #Nextcloud Federated Cloud ID" : "내 #Nextcloud 연합 클라우드 ID를 통해서 공유됨", "Copy to clipboard" : "클립보드로 복사", + "Clipboard is not available" : "클립보드를 사용할 수 없습니다.", "Copied!" : "복사 성공!", "Share with me through my #Nextcloud Federated Cloud ID, see %s" : "내 #Nextcloud 연합 클라우드 ID를 통해서 공유됨, 더 알아보기: %s" },"pluralForm" :"nplurals=1; plural=0;" diff --git a/apps/federatedfilesharing/l10n/zh_CN.js b/apps/federatedfilesharing/l10n/zh_CN.js index 9995a2f1de7..e5fee2479e1 100644 --- a/apps/federatedfilesharing/l10n/zh_CN.js +++ b/apps/federatedfilesharing/l10n/zh_CN.js @@ -1,12 +1,12 @@ OC.L10N.register( "federatedfilesharing", { - "Do you want to add the remote share {name} from {owner}@{remote}?" : "您想要添加来自 {owner}@{remote} 的远程共享 {name} 吗?", + "Do you want to add the remote share {name} from {owner}@{remote}?" : "您想要添加来自{owner}@{remote}的远程共享{name}吗?", "Remote share" : "远程共享", "Remote share password" : "远程共享密码", "Cancel" : "取消", "Add remote share" : "添加远程共享", - "Invalid Federated Cloud ID" : "联合云 ID 不正确", + "Invalid Federated Cloud ID" : "联合云ID不正确", "Server to server sharing is not enabled on this server" : "此服务器未启用服务器到服务器共享功能", "Couldn't establish a federated share." : "无法建立一个联合云共享", "Couldn't establish a federated share, maybe the password was wrong." : "无法建立联合云共享,可能密码是错误的。", @@ -15,7 +15,7 @@ OC.L10N.register( "It is not allowed to send federated group shares from this server." : "不允许从此服务器发送联合云分组共享。", "Sharing %1$s failed, because this item is already shared with user %2$s" : "分享 %1$s 失败,因为该项目已经和用户 %2$s 进行了分享", "Not allowed to create a federated share with the same user" : "不能给您自己共享文件", - "Federated shares require read permissions" : "联邦式共享需要读取权限", + "Federated shares require read permissions" : "联合共享需要读取权限", "File is already shared with %s" : "文件已经共享与 %s", "Sharing %1$s failed, could not find %2$s, maybe the server is currently unreachable or uses a self-signed certificate." : "共享 %1$s 失败,无法找到 %2$s,可能该服务器当前无法访问或者使用了自签名证书。", "Could not find share" : "没有发现共享", @@ -28,7 +28,7 @@ OC.L10N.register( "Sharing" : "共享", "Federated file sharing" : "联合云文件共享", "Provide federated file sharing across servers" : "在服务器间提供联合云文件共享", - "Adjust how people can share between servers. This includes shares between users on this server as well if they are using federated sharing." : "调整人们在服务器之间的共享方式。这也包括该服务器上使用联邦共享的用户之间的共享。", + "Adjust how people can share between servers. This includes shares between users on this server as well if they are using federated sharing." : "调整人们在服务器之间的共享方式。这也包括该服务器上使用联合共享的用户之间的共享。", "Allow users on this server to send shares to other servers (this option also allows WebDAV access to public shares)" : "允许此服务器上的用户将共享发送到其他服务器(此选项还允许 WebDAV 访问公共共享)", "Allow users on this server to receive shares from other servers" : "允许用户从其他服务器接收共享", "Allow users on this server to send shares to groups on other servers" : "允许此服务器上的用户向其他服务器上的分组发送共享", diff --git a/apps/federatedfilesharing/l10n/zh_CN.json b/apps/federatedfilesharing/l10n/zh_CN.json index 2477b8ece5f..b08f938ea29 100644 --- a/apps/federatedfilesharing/l10n/zh_CN.json +++ b/apps/federatedfilesharing/l10n/zh_CN.json @@ -1,10 +1,10 @@ { "translations": { - "Do you want to add the remote share {name} from {owner}@{remote}?" : "您想要添加来自 {owner}@{remote} 的远程共享 {name} 吗?", + "Do you want to add the remote share {name} from {owner}@{remote}?" : "您想要添加来自{owner}@{remote}的远程共享{name}吗?", "Remote share" : "远程共享", "Remote share password" : "远程共享密码", "Cancel" : "取消", "Add remote share" : "添加远程共享", - "Invalid Federated Cloud ID" : "联合云 ID 不正确", + "Invalid Federated Cloud ID" : "联合云ID不正确", "Server to server sharing is not enabled on this server" : "此服务器未启用服务器到服务器共享功能", "Couldn't establish a federated share." : "无法建立一个联合云共享", "Couldn't establish a federated share, maybe the password was wrong." : "无法建立联合云共享,可能密码是错误的。", @@ -13,7 +13,7 @@ "It is not allowed to send federated group shares from this server." : "不允许从此服务器发送联合云分组共享。", "Sharing %1$s failed, because this item is already shared with user %2$s" : "分享 %1$s 失败,因为该项目已经和用户 %2$s 进行了分享", "Not allowed to create a federated share with the same user" : "不能给您自己共享文件", - "Federated shares require read permissions" : "联邦式共享需要读取权限", + "Federated shares require read permissions" : "联合共享需要读取权限", "File is already shared with %s" : "文件已经共享与 %s", "Sharing %1$s failed, could not find %2$s, maybe the server is currently unreachable or uses a self-signed certificate." : "共享 %1$s 失败,无法找到 %2$s,可能该服务器当前无法访问或者使用了自签名证书。", "Could not find share" : "没有发现共享", @@ -26,7 +26,7 @@ "Sharing" : "共享", "Federated file sharing" : "联合云文件共享", "Provide federated file sharing across servers" : "在服务器间提供联合云文件共享", - "Adjust how people can share between servers. This includes shares between users on this server as well if they are using federated sharing." : "调整人们在服务器之间的共享方式。这也包括该服务器上使用联邦共享的用户之间的共享。", + "Adjust how people can share between servers. This includes shares between users on this server as well if they are using federated sharing." : "调整人们在服务器之间的共享方式。这也包括该服务器上使用联合共享的用户之间的共享。", "Allow users on this server to send shares to other servers (this option also allows WebDAV access to public shares)" : "允许此服务器上的用户将共享发送到其他服务器(此选项还允许 WebDAV 访问公共共享)", "Allow users on this server to receive shares from other servers" : "允许用户从其他服务器接收共享", "Allow users on this server to send shares to groups on other servers" : "允许此服务器上的用户向其他服务器上的分组发送共享", diff --git a/apps/federatedfilesharing/lib/Controller/RequestHandlerController.php b/apps/federatedfilesharing/lib/Controller/RequestHandlerController.php index c5e1a8b4e7e..2dd8098b3b0 100644 --- a/apps/federatedfilesharing/lib/Controller/RequestHandlerController.php +++ b/apps/federatedfilesharing/lib/Controller/RequestHandlerController.php @@ -33,7 +33,6 @@ use OCA\FederatedFileSharing\Notifications; use OCP\AppFramework\Http; use OCP\AppFramework\OCS\OCSBadRequestException; use OCP\AppFramework\OCS\OCSException; -use OCP\AppFramework\OCS\OCSForbiddenException; use OCP\AppFramework\OCSController; use OCP\App\IAppManager; use OCP\Constants; @@ -124,20 +123,29 @@ class RequestHandlerController extends OCSController { * * create a new share * + * @param string|null $remote + * @param string|null $token + * @param string|null $name + * @param string|null $owner + * @param string|null $sharedBy + * @param string|null $shareWith + * @param int|null $remoteId + * @param string|null $sharedByFederatedId + * @param string|null $ownerFederatedId * @return Http\DataResponse * @throws OCSException */ - public function createShare() { - $remote = isset($_POST['remote']) ? $_POST['remote'] : null; - $token = isset($_POST['token']) ? $_POST['token'] : null; - $name = isset($_POST['name']) ? $_POST['name'] : null; - $owner = isset($_POST['owner']) ? $_POST['owner'] : null; - $sharedBy = isset($_POST['sharedBy']) ? $_POST['sharedBy'] : null; - $shareWith = isset($_POST['shareWith']) ? $_POST['shareWith'] : null; - $remoteId = isset($_POST['remoteId']) ? (int)$_POST['remoteId'] : null; - $sharedByFederatedId = isset($_POST['sharedByFederatedId']) ? $_POST['sharedByFederatedId'] : null; - $ownerFederatedId = isset($_POST['ownerFederatedId']) ? $_POST['ownerFederatedId'] : null; - + public function createShare( + ?string $remote = null, + ?string $token = null, + ?string $name = null, + ?string $owner = null, + ?string $sharedBy = null, + ?string $shareWith = null, + ?int $remoteId = null, + ?string $sharedByFederatedId = null, + ?string $ownerFederatedId = null, + ) { if ($ownerFederatedId === null) { $ownerFederatedId = $this->cloudIdManager->getCloudId($owner, $this->cleanupRemote($remote))->getId(); } @@ -187,19 +195,16 @@ class RequestHandlerController extends OCSController { * create re-share on behalf of another user * * @param int $id + * @param string|null $token + * @param string|null $shareWith + * @param int|null $permission + * @param int|null $remoteId * @return Http\DataResponse * @throws OCSBadRequestException * @throws OCSException - * @throws OCSForbiddenException */ - public function reShare($id) { - $token = $this->request->getParam('token', null); - $shareWith = $this->request->getParam('shareWith', null); - $permission = (int)$this->request->getParam('permission', null); - $remoteId = (int)$this->request->getParam('remoteId', null); - - if ($id === null || - $token === null || + public function reShare(int $id, ?string $token = null, ?string $shareWith = null, ?int $permission = 0, ?int $remoteId = 0) { + if ($token === null || $shareWith === null || $permission === null || $remoteId === null @@ -240,14 +245,13 @@ class RequestHandlerController extends OCSController { * accept server-to-server share * * @param int $id + * @param string|null $token * @return Http\DataResponse * @throws OCSException * @throws ShareNotFound * @throws \OCP\HintException */ - public function acceptShare($id) { - $token = isset($_POST['token']) ? $_POST['token'] : null; - + public function acceptShare(int $id, ?string $token = null) { $notification = [ 'sharedSecret' => $token, 'message' => 'Recipient accept the share' @@ -275,12 +279,11 @@ class RequestHandlerController extends OCSController { * decline server-to-server share * * @param int $id + * @param string|null $token * @return Http\DataResponse * @throws OCSException */ - public function declineShare($id) { - $token = isset($_POST['token']) ? $_POST['token'] : null; - + public function declineShare(int $id, ?string $token = null) { $notification = [ 'sharedSecret' => $token, 'message' => 'Recipient declined the share' @@ -308,16 +311,15 @@ class RequestHandlerController extends OCSController { * remove server-to-server share if it was unshared by the owner * * @param int $id + * @param string|null $token * @return Http\DataResponse * @throws OCSException */ - public function unshare($id) { + public function unshare(int $id, ?string $token = null) { if (!$this->isS2SEnabled()) { throw new OCSException('Server does not support federated cloud sharing', 503); } - $token = isset($_POST['token']) ? $_POST['token'] : null; - try { $provider = $this->cloudFederationProviderManager->getCloudFederationProvider('file'); $notification = ['sharedSecret' => $token]; @@ -344,12 +346,11 @@ class RequestHandlerController extends OCSController { * federated share was revoked, either by the owner or the re-sharer * * @param int $id + * @param string|null $token * @return Http\DataResponse * @throws OCSBadRequestException */ - public function revoke($id) { - $token = $this->request->getParam('token'); - + public function revoke(int $id, ?string $token = null) { try { $provider = $this->cloudFederationProviderManager->getCloudFederationProvider('file'); $notification = ['sharedSecret' => $token]; @@ -385,12 +386,13 @@ class RequestHandlerController extends OCSController { * update share information to keep federated re-shares in sync * * @param int $id + * @param string|null $token + * @param int|null $permissions * @return Http\DataResponse * @throws OCSBadRequestException */ - public function updatePermissions($id) { - $token = $this->request->getParam('token', null); - $ncPermissions = $this->request->getParam('permissions', null); + public function updatePermissions(int $id, ?string $token = null, ?int $permissions = null) { + $ncPermissions = $permissions; try { $provider = $this->cloudFederationProviderManager->getCloudFederationProvider('file'); @@ -438,18 +440,20 @@ class RequestHandlerController extends OCSController { * change the owner of a server-to-server share * * @param int $id + * @param string|null $token + * @param string|null $remote + * @param string|null $remote_id * @return Http\DataResponse - * @throws \InvalidArgumentException + * @throws OCSBadRequestException * @throws OCSException + * @throws \OCP\DB\Exception */ - public function move($id) { + public function move(int $id, ?string $token = null, ?string $remote = null, ?string $remote_id = null) { if (!$this->isS2SEnabled()) { throw new OCSException('Server does not support federated cloud sharing', 503); } - $token = $this->request->getParam('token'); - $remote = $this->request->getParam('remote'); - $newRemoteId = $this->request->getParam('remote_id', $id); + $newRemoteId = (string) ($remote_id ?? $id); $cloudId = $this->cloudIdManager->resolveCloudId($remote); $qb = $this->connection->getQueryBuilder(); diff --git a/apps/federatedfilesharing/tests/Controller/RequestHandlerControllerTest.php b/apps/federatedfilesharing/tests/Controller/RequestHandlerControllerTest.php index 77f7fde70fa..22e80f875d7 100644 --- a/apps/federatedfilesharing/tests/Controller/RequestHandlerControllerTest.php +++ b/apps/federatedfilesharing/tests/Controller/RequestHandlerControllerTest.php @@ -151,17 +151,6 @@ class RequestHandlerControllerTest extends \Test\TestCase { } public function testCreateShare() { - // simulate a post request - $_POST['remote'] = 'localhost'; - $_POST['token'] = 'token'; - $_POST['name'] = 'name'; - $_POST['owner'] = $this->owner; - $_POST['sharedBy'] = $this->user1; - $_POST['shareWith'] = $this->user2; - $_POST['remoteId'] = 1; - $_POST['sharedByFederatedId'] = $this->user1CloudId; - $_POST['ownerFederatedId'] = $this->ownerCloudId; - $this->cloudFederationFactory->expects($this->once())->method('getCloudFederationShare') ->with( $this->user2, @@ -186,14 +175,13 @@ class RequestHandlerControllerTest extends \Test\TestCase { $this->cloudFederationProvider->expects($this->once())->method('shareReceived') ->with($this->cloudFederationShare); - $result = $this->requestHandler->createShare(); + $result = $this->requestHandler->createShare('localhost', 'token', 'name', $this->owner, $this->user1, $this->user2, 1, $this->user1CloudId, $this->ownerCloudId); $this->assertInstanceOf(DataResponse::class, $result); } public function testDeclineShare() { $id = 42; - $_POST['token'] = 'token'; $notification = [ 'sharedSecret' => 'token', @@ -209,7 +197,7 @@ class RequestHandlerControllerTest extends \Test\TestCase { ->method('notificationReceived') ->with('SHARE_DECLINED', $id, $notification); - $result = $this->requestHandler->declineShare($id); + $result = $this->requestHandler->declineShare($id, 'token'); $this->assertInstanceOf(DataResponse::class, $result); } @@ -217,7 +205,6 @@ class RequestHandlerControllerTest extends \Test\TestCase { public function testAcceptShare() { $id = 42; - $_POST['token'] = 'token'; $notification = [ 'sharedSecret' => 'token', @@ -233,7 +220,7 @@ class RequestHandlerControllerTest extends \Test\TestCase { ->method('notificationReceived') ->with('SHARE_ACCEPTED', $id, $notification); - $result = $this->requestHandler->acceptShare($id); + $result = $this->requestHandler->acceptShare($id, 'token'); $this->assertInstanceOf(DataResponse::class, $result); } diff --git a/apps/federation/l10n/ar.js b/apps/federation/l10n/ar.js index 62692b57ee6..826f5de728e 100644 --- a/apps/federation/l10n/ar.js +++ b/apps/federation/l10n/ar.js @@ -1,12 +1,17 @@ OC.L10N.register( "federation", { - "Server is already in the list of trusted servers." : "الخادوم موجود بالفعل في قائمة الخوادم الموثوق فيها.", - "Could not add server" : "تعذَّرت إضافة خادم", - "Trusted servers" : "الخوادم الموثوق فيها", + "Added to the list of trusted servers" : "أُضيف إلى قائمة الخوادم غير الموثوقة", + "Server is already in the list of trusted servers." : "الخادوم موجود بالفعل في قائمة الخوادم الموثوقة.", + "No server to federate with found" : "لم يُمكن إيجاد أي خادوم للاتحاد معه", + "Could not add server" : "تعذّرت إضافة الخادوم", + "Trusted servers" : "الخوادم الموثوقة", "Federation" : "الإتحاد", - "+ Add trusted server" : "+ إضافة خادوم موثوق فيه", - "Trusted server" : "خادوم موثوق فيه", + "Federation allows you to connect with other trusted servers to exchange the user directory." : "يُمكّنك الاتحاد من الاتصال بخوادم أخرى موثوقة لتبادل دليل المستخدمين.", + "Federation allows you to connect with other trusted servers to exchange the user directory. For example this will be used to auto-complete external users for federated sharing." : "يُمكّنك الاتحاد من الاتصال بخوادم أخرى موثوقة لتبادل دليل المستخدمين. على سبيل المثال: هذا يسمح بالاستكمال التلقائي لحسابات المستخدمين الخارجيين عبر المشاركات الاتحادية.", + "Federation allows you to connect with other trusted servers to exchange the user directory. For example this will be used to auto-complete external users for federated sharing. It is not necessary to add a server as trusted server in order to create a federated share." : "يُمكّنك الاتحاد من الاتصال بخوادم أخرى موثوقة لتبادل دليل المستخدمين. على سبيل المثال: هذا يسمح بالاستكمال التلقائي لحسابات المستخدمين الخارجيين عبر المُشاركات الاتحاديّة. و بالتالي، فلا ضرورة لإضافة خادوم لقائمة الخوادم الموثوقة من أجل إنشاء مُشاركات اتحاديّة.", + "+ Add trusted server" : "+ إضافة خادوم موثوق", + "Trusted server" : "خادوم موثوق", "Add" : "إضافة" }, "nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;"); diff --git a/apps/federation/l10n/ar.json b/apps/federation/l10n/ar.json index f2a9c3252a3..467021c2ced 100644 --- a/apps/federation/l10n/ar.json +++ b/apps/federation/l10n/ar.json @@ -1,10 +1,15 @@ { "translations": { - "Server is already in the list of trusted servers." : "الخادوم موجود بالفعل في قائمة الخوادم الموثوق فيها.", - "Could not add server" : "تعذَّرت إضافة خادم", - "Trusted servers" : "الخوادم الموثوق فيها", + "Added to the list of trusted servers" : "أُضيف إلى قائمة الخوادم غير الموثوقة", + "Server is already in the list of trusted servers." : "الخادوم موجود بالفعل في قائمة الخوادم الموثوقة.", + "No server to federate with found" : "لم يُمكن إيجاد أي خادوم للاتحاد معه", + "Could not add server" : "تعذّرت إضافة الخادوم", + "Trusted servers" : "الخوادم الموثوقة", "Federation" : "الإتحاد", - "+ Add trusted server" : "+ إضافة خادوم موثوق فيه", - "Trusted server" : "خادوم موثوق فيه", + "Federation allows you to connect with other trusted servers to exchange the user directory." : "يُمكّنك الاتحاد من الاتصال بخوادم أخرى موثوقة لتبادل دليل المستخدمين.", + "Federation allows you to connect with other trusted servers to exchange the user directory. For example this will be used to auto-complete external users for federated sharing." : "يُمكّنك الاتحاد من الاتصال بخوادم أخرى موثوقة لتبادل دليل المستخدمين. على سبيل المثال: هذا يسمح بالاستكمال التلقائي لحسابات المستخدمين الخارجيين عبر المشاركات الاتحادية.", + "Federation allows you to connect with other trusted servers to exchange the user directory. For example this will be used to auto-complete external users for federated sharing. It is not necessary to add a server as trusted server in order to create a federated share." : "يُمكّنك الاتحاد من الاتصال بخوادم أخرى موثوقة لتبادل دليل المستخدمين. على سبيل المثال: هذا يسمح بالاستكمال التلقائي لحسابات المستخدمين الخارجيين عبر المُشاركات الاتحاديّة. و بالتالي، فلا ضرورة لإضافة خادوم لقائمة الخوادم الموثوقة من أجل إنشاء مُشاركات اتحاديّة.", + "+ Add trusted server" : "+ إضافة خادوم موثوق", + "Trusted server" : "خادوم موثوق", "Add" : "إضافة" },"pluralForm" :"nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;" }
\ No newline at end of file diff --git a/apps/federation/l10n/et_EE.js b/apps/federation/l10n/et_EE.js index 2f54768180a..a3ef06aa534 100644 --- a/apps/federation/l10n/et_EE.js +++ b/apps/federation/l10n/et_EE.js @@ -1,13 +1,15 @@ OC.L10N.register( "federation", { - "Added to the list of trusted servers" : "Usaldatud serverite nimekirja lisatud", + "Added to the list of trusted servers" : "Lisatud usaldatud serverite nimekirja", "Server is already in the list of trusted servers." : "Server on juba usaldatud serverite nimekirjas.", - "No server to federate with found" : "Serverit millega liituda ei leitud", + "No server to federate with found" : "Ei leitud ühtegi serverit, millega liidenduda", "Could not add server" : "Serveri lisamine ebaõnnestus", "Trusted servers" : "Usaldatud serverid", - "Federation" : "Liit", - "Federation allows you to connect with other trusted servers to exchange the user directory. For example this will be used to auto-complete external users for federated sharing." : "Liitumine lubab sul ühenduse luua teiste usaldusväärsete serveritega, et kasutajaid jagada. Näiteks saab seda rakendada liitunud serverite väliste kasutajanimede automaatseks täitmiseks.", + "Federation" : "Liidendus", + "Federation allows you to connect with other trusted servers to exchange the user directory." : "Liidendamine võimaldab sul teiste usaldatud serveritega ühenduda, et kasutajaid jagada.", + "Federation allows you to connect with other trusted servers to exchange the user directory. For example this will be used to auto-complete external users for federated sharing." : "Liidendamine võimaldab sul teiste usaldatud serveritega ühenduda, et kasutajaid jagada. Näiteks saab seda rakendada liidendatud serverite väliste kasutajanimede automaatseks täitmiseks.", + "Federation allows you to connect with other trusted servers to exchange the user directory. For example this will be used to auto-complete external users for federated sharing. It is not necessary to add a server as trusted server in order to create a federated share." : "Liidendamine võimaldab sul teiste usaldatud serveritega ühenduda, et kasutajaid jagada. Näiteks saab seda rakendada liidendatud serverite väliste kasutajanimede automaatseks täitmiseks. Liidendatud jaoskausta loomiseks ei ole vaja serverit usaldatud serverite hulka lisada.", "+ Add trusted server" : "+ Lisa usaldatud server", "Trusted server" : "Usaldatud server", "Add" : "Lisa" diff --git a/apps/federation/l10n/et_EE.json b/apps/federation/l10n/et_EE.json index 710dcf12af5..e9f7a907492 100644 --- a/apps/federation/l10n/et_EE.json +++ b/apps/federation/l10n/et_EE.json @@ -1,11 +1,13 @@ { "translations": { - "Added to the list of trusted servers" : "Usaldatud serverite nimekirja lisatud", + "Added to the list of trusted servers" : "Lisatud usaldatud serverite nimekirja", "Server is already in the list of trusted servers." : "Server on juba usaldatud serverite nimekirjas.", - "No server to federate with found" : "Serverit millega liituda ei leitud", + "No server to federate with found" : "Ei leitud ühtegi serverit, millega liidenduda", "Could not add server" : "Serveri lisamine ebaõnnestus", "Trusted servers" : "Usaldatud serverid", - "Federation" : "Liit", - "Federation allows you to connect with other trusted servers to exchange the user directory. For example this will be used to auto-complete external users for federated sharing." : "Liitumine lubab sul ühenduse luua teiste usaldusväärsete serveritega, et kasutajaid jagada. Näiteks saab seda rakendada liitunud serverite väliste kasutajanimede automaatseks täitmiseks.", + "Federation" : "Liidendus", + "Federation allows you to connect with other trusted servers to exchange the user directory." : "Liidendamine võimaldab sul teiste usaldatud serveritega ühenduda, et kasutajaid jagada.", + "Federation allows you to connect with other trusted servers to exchange the user directory. For example this will be used to auto-complete external users for federated sharing." : "Liidendamine võimaldab sul teiste usaldatud serveritega ühenduda, et kasutajaid jagada. Näiteks saab seda rakendada liidendatud serverite väliste kasutajanimede automaatseks täitmiseks.", + "Federation allows you to connect with other trusted servers to exchange the user directory. For example this will be used to auto-complete external users for federated sharing. It is not necessary to add a server as trusted server in order to create a federated share." : "Liidendamine võimaldab sul teiste usaldatud serveritega ühenduda, et kasutajaid jagada. Näiteks saab seda rakendada liidendatud serverite väliste kasutajanimede automaatseks täitmiseks. Liidendatud jaoskausta loomiseks ei ole vaja serverit usaldatud serverite hulka lisada.", "+ Add trusted server" : "+ Lisa usaldatud server", "Trusted server" : "Usaldatud server", "Add" : "Lisa" diff --git a/apps/files/appinfo/routes.php b/apps/files/appinfo/routes.php index ce52a11a003..a97c631d896 100644 --- a/apps/files/appinfo/routes.php +++ b/apps/files/appinfo/routes.php @@ -62,74 +62,74 @@ $application->registerRoutes( 'root' => '', ], [ - 'name' => 'API#getThumbnail', + 'name' => 'Api#getThumbnail', 'url' => '/api/v1/thumbnail/{x}/{y}/{file}', 'verb' => 'GET', 'requirements' => ['file' => '.+'] ], [ - 'name' => 'API#updateFileTags', + 'name' => 'Api#updateFileTags', 'url' => '/api/v1/files/{path}', 'verb' => 'POST', 'requirements' => ['path' => '.+'], ], [ - 'name' => 'API#getRecentFiles', + 'name' => 'Api#getRecentFiles', 'url' => '/api/v1/recent/', 'verb' => 'GET' ], [ - 'name' => 'API#getStorageStats', + 'name' => 'Api#getStorageStats', 'url' => '/api/v1/stats', 'verb' => 'GET' ], [ - 'name' => 'API#setViewConfig', + 'name' => 'Api#setViewConfig', 'url' => '/api/v1/views/{view}/{key}', 'verb' => 'PUT' ], [ - 'name' => 'API#getViewConfigs', + 'name' => 'Api#getViewConfigs', 'url' => '/api/v1/views', 'verb' => 'GET' ], [ - 'name' => 'API#getViewConfig', + 'name' => 'Api#getViewConfig', 'url' => '/api/v1/views/{view}', 'verb' => 'GET' ], [ - 'name' => 'API#setConfig', + 'name' => 'Api#setConfig', 'url' => '/api/v1/config/{key}', 'verb' => 'PUT' ], [ - 'name' => 'API#getConfigs', + 'name' => 'Api#getConfigs', 'url' => '/api/v1/configs', 'verb' => 'GET' ], [ - 'name' => 'API#showHiddenFiles', + 'name' => 'Api#showHiddenFiles', 'url' => '/api/v1/showhidden', 'verb' => 'POST' ], [ - 'name' => 'API#cropImagePreviews', + 'name' => 'Api#cropImagePreviews', 'url' => '/api/v1/cropimagepreviews', 'verb' => 'POST' ], [ - 'name' => 'API#showGridView', + 'name' => 'Api#showGridView', 'url' => '/api/v1/showgridview', 'verb' => 'POST' ], [ - 'name' => 'API#getGridView', + 'name' => 'Api#getGridView', 'url' => '/api/v1/showgridview', 'verb' => 'GET' ], [ - 'name' => 'API#getNodeType', + 'name' => 'Api#getNodeType', 'url' => '/api/v1/quickaccess/get/NodeType', 'verb' => 'GET', ], @@ -139,7 +139,7 @@ $application->registerRoutes( 'verb' => 'GET' ], [ - 'name' => 'api#serviceWorker', + 'name' => 'Api#serviceWorker', 'url' => '/preview-service-worker.js', 'verb' => 'GET' ], diff --git a/apps/files/css/files.css b/apps/files/css/files.css index 957d77a3e6a..b91dcf94b81 100644 --- a/apps/files/css/files.css +++ b/apps/files/css/files.css @@ -1 +1 @@ -.actions{padding:3px;height:100%;display:inline-block;float:left}.actions input,.actions button,.actions .button{margin:0;float:left}.actions .button a{color:#555}.actions .button a:hover,.actions .button a:focus{background-color:var(--color-background-hover)}.actions .button a:active{background-color:var(--color-primary-element-light)}.actions.creatable{position:relative;display:flex;flex:1 1}.actions.creatable .button:not(:last-child){margin-right:3px}.actions.hidden{display:none}#trash{margin-right:8px;float:right;z-index:1010;padding:10px;font-weight:normal}.newFileMenu .error,.newFileMenu .error+.icon-confirm,.files-fileList .error{color:var(--color-error);border-color:var(--color-error)}.files-filestable{position:relative;width:100%;min-width:250px;display:block;flex-direction:column}.emptycontent:not(.hidden)~.files-filestable{display:none}.files-filestable thead{position:-webkit-sticky;position:sticky;top:44px;z-index:60;display:block;background-color:var(--color-main-background-translucent)}.files-filestable tbody{display:table;width:100%}.files-filestable tbody tr[data-permissions="0"],.files-filestable tbody tr[data-permissions="16"]{background-color:var(--color-background-dark)}.files-filestable tbody tr[data-permissions="0"] td.filename .nametext .innernametext,.files-filestable tbody tr[data-permissions="16"] td.filename .nametext .innernametext{color:var(--color-text-maxcontrast)}.files-filestable tbody tr[data-e2eencrypted=true] .selection{pointer-events:none}.files-filestable.hidden{display:none}.app-files #app-content>.viewcontainer{min-height:0%;width:100%}.app-files #app-content{width:calc(100% - 300px);overflow-anchor:none}.file-drag,.file-drag .files-filestable tbody tr,.file-drag .files-filestable tbody tr:hover{background-color:var(--color-primary-element-light) !important}.app-files #app-content.dir-drop{background-color:var(--color-main-background) !important}.file-drag .files-filestable tbody tr,.file-drag .files-filestable tbody tr:hover{background-color:rgba(0,0,0,0) !important}.app-files #app-content.dir-drop .files-filestable tbody tr.dropping-to-dir{background-color:var(--color-primary-element-light) !important}.nav-icon-files{background-image:var(--icon-folder-dark)}.nav-icon-recent{background-image:var(--icon-recent-dark)}.nav-icon-favorites{background-image:var(--icon-starred-dark)}.nav-icon-sharingin,.nav-icon-sharingout,.nav-icon-pendingshares,.nav-icon-shareoverview{background-image:var(--icon-share-dark)}.nav-icon-sharinglinks{background-image:var(--icon-public-dark)}.nav-icon-extstoragemounts{background-image:var(--icon-external-dark)}.nav-icon-trashbin{background-image:var(--icon-delete-dark)}.nav-icon-trashbin-starred{background-image:var(--icon-delete-#ff0000)}.nav-icon-deletedshares{background-image:var(--icon-unshare-dark)}.nav-icon-favorites-starred{background-image:var(--icon-starred-yellow)}#app-navigation .nav-files a.nav-icon-files{width:auto}#app-navigation .nav-files a.new{width:40px;height:32px;padding:0 10px;margin:0;cursor:pointer}#app-navigation .nav-files a.new.hidden{display:none}#app-navigation .nav-files a.new.disabled{opacity:.3}.files-filestable tbody tr{height:51px}.files-filestable tbody tr:hover,.files-filestable tbody tr:focus,.files-filestable tbody .name:focus,.files-filestable tbody tr:hover .filename form,table tr.mouseOver td{background-color:var(--color-background-hover)}.files-filestable tbody tr:active,.files-filestable tbody tr.highlighted,.files-filestable tbody tr.highlighted .name:focus,.files-filestable tbody tr.selected,.files-filestable tbody tr.searchresult{background-color:var(--color-primary-element-light)}tbody a{color:var(--color-main-text)}span.conflict-path,span.extension,span.uploading,td.date{color:var(--color-text-maxcontrast)}span.conflict-path,span.extension{-webkit-transition:opacity 300ms;-moz-transition:opacity 300ms;-o-transition:opacity 300ms;transition:opacity 300ms;vertical-align:top}tr:hover span.conflict-path,tr:focus span.conflict-path,tr:hover span.extension,tr:focus span.extension{opacity:1;color:var(--color-text-maxcontrast)}table th,table th a{color:var(--color-text-maxcontrast)}table.multiselect th a{color:var(--color-main-text)}table th .columntitle{display:block;padding:15px;height:50px;box-sizing:border-box;-moz-box-sizing:border-box;vertical-align:middle}table th .columntitle:focus-visible{border-radius:2px}table.multiselect th .columntitle{display:inline-block;margin-right:-20px}table th .columntitle.name{padding-left:0;margin-left:44px}table.multiselect th .columntitle.name{margin-left:0}table th .sort-indicator{width:10px;height:8px;margin-left:5px;display:inline-block;vertical-align:text-bottom;opacity:.3}.sort-indicator.hidden,.multiselect .sort-indicator,table.multiselect th:hover .sort-indicator.hidden,table.multiselect th:focus .sort-indicator.hidden{visibility:hidden}.multiselect .sort,.multiselect .sort span{cursor:default}table th:hover .sort-indicator.hidden,table th:focus .sort-indicator.hidden{visibility:visible}table th,table td{border-bottom:1px solid var(--color-border);text-align:left;font-weight:normal}table td{padding:0 15px;font-style:normal;background-position:8px center;background-repeat:no-repeat}table th.column-name{position:relative;width:9999px;padding:0}.column-name-container{position:relative;height:50px}table th.column-selection{padding-top:2px}table th.column-size,table td.filesize{text-align:right}table th.column-mtime,table td.date,table th.column-last,table td.column-last{-moz-box-sizing:border-box;box-sizing:border-box;position:relative;min-width:130px}#app-content-recent,#app-content-favorites,#app-content-shareoverview,#app-content-sharingout,#app-content-sharingin,#app-content-sharinglinks,#app-content-deletedshares,#app-content-pendingshares{margin-top:22px}#app-content-recent thead,#app-content-favorites thead,#app-content-shareoverview thead,#app-content-sharingout thead,#app-content-sharingin thead,#app-content-sharinglinks thead,#app-content-deletedshares thead,#app-content-pendingshares thead{top:0}table.multiselect thead th{background-color:var(--color-main-background-translucent);font-weight:bold}#app-content.with-app-sidebar table.multiselect thead{margin-right:27%}table.multiselect .column-name{position:relative;width:9999px}table.multiselect .column-mtime>a{display:none}table td.selection,table th.selection,table td.fileaction{width:32px;text-align:center}table td.filename a.name,table td.filename p.name{display:flex;position:relative;-moz-box-sizing:border-box;box-sizing:border-box;height:50px;line-height:50px;padding:0}table td.filename .thumbnail-wrapper{width:0;min-width:50px;max-width:50px;height:50px}table td.filename .thumbnail-wrapper.icon-loading-small:after{z-index:10}table td.filename .thumbnail-wrapper.icon-loading-small .thumbnail{opacity:.2}table td.filename .thumbnail{display:inline-block;width:32px;height:32px;background-size:contain;background-position:center;background-repeat:no-repeat;margin-left:9px;margin-top:9px;border-radius:var(--border-radius);cursor:pointer;position:absolute;z-index:4}table td.filename p.name .thumbnail{cursor:default}table tr[data-has-preview=true] .thumbnail{border:1px solid var(--color-border)}table:not(.view-grid) td.filename input.filename{width:70% !important;margin-left:48px !important;cursor:text}table td.filename form{margin-top:-40px;position:relative;top:-6px}table td.filename a,table td.login,table td.logout,table td.download,table td.upload,table td.create,table td.delete{padding:3px 8px 8px 3px}table td.filename .nametext,.modified,.column-last>span:first-child{float:left;padding:15px 0}.modified,.column-last>span:first-child{position:relative;overflow:hidden;text-overflow:ellipsis;width:110px}table td.filename{max-width:0}table td.filename .nametext{width:0;flex-grow:1;display:flex;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;height:100%;z-index:10;padding:0 20px 0 0}table td.filename .system-tags{--min-size: 32px;display:flex;justify-content:center;align-items:center;flex:1 1 100%;min-width:calc(var(--min-size)*2);max-width:300px}table td.filename .system-tags .system-tags__tag{padding:5px 10px;border:1px solid;border-radius:var(--border-radius-pill);border-color:var(--color-border);color:var(--color-text-maxcontrast);height:var(--min-size);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:22px;text-align:center}table td.filename .system-tags .system-tags__tag--more{overflow:visible;text-overflow:initial}table td.filename .system-tags .system-tags__tag+.system-tags__tag{margin-left:5px}.hide-hidden-files .files-filestable .files-fileList tr.hidden-file,.hide-hidden-files .files-filestable .files-fileList tr.hidden-file.dragging{display:none !important}.files-fileList tr.animate-opacity{-webkit-transition:opacity 250ms;-moz-transition:opacity 250ms;-o-transition:opacity 250ms;transition:opacity 250ms}.files-fileList tr.dragging{opacity:.2}table td.filename .nametext .innernametext{text-overflow:ellipsis;overflow:hidden;position:relative;vertical-align:top}table td.filename .uploadtext{position:absolute;font-weight:normal;margin-left:50px;left:0;bottom:0;height:20px;padding:0 4px;padding-left:1px;font-size:11px;line-height:22px;color:var(--color-text-maxcontrast);text-overflow:ellipsis;white-space:nowrap}table td.selection{padding:0}.files-fileList tr td.selection>.selectCheckBox+label:before{opacity:.3;margin-right:0}.files-fileList tr:hover td.selection>.selectCheckBox+label:before,.files-fileList tr:focus td.selection>.selectCheckBox+label:before,.files-fileList tr td.selection>.selectCheckBox:checked+label:before,.files-fileList tr.selected td.selection>.selectCheckBox+label:before{opacity:1}.files-fileList tr.halfselected td.selection>.selectCheckBox+label:before{opacity:.5}.files-fileList tr td.selection>.selectCheckBox+label,.select-all+label{padding:16px}.files-fileList tr td.selection>.selectCheckBox:focus-visible+label,.select-all:focus-visible+label{background-color:var(--color-background-hover);border-radius:var(--border-radius-pill);outline:none !important;border:2px solid var(--color-primary-element) !important;padding:14px}.files-fileList tr td.selection>.selectCheckBox:focus-visible+label,.select-all:focus-visible+label{outline-offset:0px}.files-fileList tr td.filename{position:relative;width:100%;padding-left:0;padding-right:0;-webkit-transition:background-image 500ms;-moz-transition:background-image 500ms;-o-transition:background-image 500ms;transition:background-image 500ms}.files-fileList tr td.filename a.name label,.files-fileList tr td.filename p.name label{position:absolute;width:80%;height:50px}.files-fileList tr td.filename .favorite{display:inline-block;float:left}.files-fileList tr td.filename .favorite-mark{position:absolute;display:block;top:-8px;right:-8px;line-height:100%;text-align:center}.files-fileList tr td.filename .favorite-mark.permanent{background-color:var(--color-main-background);mask:var(--icon-star-rounded-white) no-repeat;mask-size:22px 22px;width:22px;height:22px;display:flex;align-content:center;justify-content:center}.files-fileList tr:hover td.filename .favorite-mark.permanent{background-color:var(--color-background-hover)}#uploadsize-message,#delete-confirm{display:none}.fileactions{z-index:50}.busy .fileactions,.busy .action{visibility:hidden}.bubble,#app-navigation .app-navigation-entry-menu{min-width:100px}.files-fileList .icon-loading-small{opacity:1 !important;display:inline !important}.files-fileList .action.action-share-notification span,.files-fileList a.name{cursor:default !important}.files-fileList a.name.disabled *{cursor:default}.files-fileList a.name.disabled a,.files-fileList a.name.disabled a *{cursor:pointer}.files-fileList a.name.disabled:focus{background:none}a.action>img{height:16px;width:16px;vertical-align:text-bottom}a.action.action-editlocally img.icon{filter:var(--background-invert-if-dark)}.selectedActions{position:relative;display:inline-block;vertical-align:middle}.selectedActions.hidden{display:none}.selectedActions a{display:inline;line-height:50px;padding:16px 5px}.selectedActions a.hidden{display:none}.selectedActions a img{position:relative;vertical-align:text-bottom;margin-bottom:-1px}.selectedActions .actions-selected .icon-more{margin-top:-3px}.files-fileList td a a.action{display:inline;padding:17px 8px;line-height:50px;opacity:.3}.files-fileList td a a.action.action-share{padding:17px 14px}.files-fileList td a a.action.action-share.permanent:not(.shared-style) .icon-shared+span{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}.files-fileList td a a.action.action-share .avatar{display:inline-block;vertical-align:middle}.files-fileList td a a.action.action-menu{padding-top:17px;padding-bottom:17px;padding-left:14px;padding-right:14px}.files-fileList td a a.action.no-permission:hover,.files-fileList td a a.action.no-permission:focus{opacity:.3}.files-fileList td a a.action.disabled:hover,.files-fileList td a a.action.disabled:focus,.files-fileList td a a.action.disabled img{opacity:.3}.files-fileList td a a.action.disabled.action-download{opacity:.7}.files-fileList td a a.action.disabled.action-download:hover,.files-fileList td a a.action.disabled.action-download:focus{opacity:.7}.files-fileList td a a.action:hover,.files-fileList td a a.action:focus{opacity:1}.files-fileList td a a.action:focus{background-color:var(--color-background-hover);border-radius:var(--border-radius-pill)}.files-fileList td a .fileActionsMenu a.action,.files-fileList td a a.action.action-share.shared-style{opacity:.7}.files-fileList td a .fileActionsMenu .action.permanent{opacity:1}.files-fileList .action.action-share.permanent.shared-style span:not(.icon){display:inline-block;max-width:70px;overflow:hidden;text-overflow:ellipsis;vertical-align:middle;margin-left:6px}.files-fileList .remoteAddress .userDomain{margin-left:0 !important}.files-fileList .favorite-mark.permanent{opacity:1}.files-fileList .fileActionsMenu a.action:hover,.files-fileList .fileActionsMenu a.action:focus,.files-fileList a.action.action-share.shared-style:hover,.files-fileList a.action.action-share.shared-style:focus{opacity:1}.files-fileList tr a.action.disabled{background:none}.selectedActions a.download.disabled,.files-fileList tr a.action.action-download.disabled{color:#000}.files-fileList tr:hover a.action.disabled:hover *{cursor:default}.summary{color:var(--color-text-maxcontrast);height:330px}.files-filestable .summary .filesummary{width:100%;padding-left:101px}#body-public .summary{height:180px}.summary:hover,.summary:focus,.summary,table tr.summary td{background-color:rgba(0,0,0,0)}.summary td{border-bottom:none;vertical-align:top;padding-top:20px}.summary td:first-child{padding:0}.hiddeninfo{white-space:pre-line}table.dragshadow{width:auto;z-index:2000}table.dragshadow td.filename{padding-left:60px;padding-right:16px;height:36px;max-width:unset}table.dragshadow td.size{padding-right:8px}.mask{z-index:50;position:absolute;top:0;left:0;right:0;bottom:0;background-color:var(--color-main-background);background-repeat:no-repeat no-repeat;background-position:50%;opacity:.7;transition:opacity 100ms;-moz-transition:opacity 100ms;-o-transition:opacity 100ms;-ms-transition:opacity 100ms;-webkit-transition:opacity 100ms}.mask.transparent{opacity:0}.newFileMenu{font-weight:300;top:100%;left:-48px !important;margin-top:4px;min-width:100px;z-index:1001}.newFileMenu::after{left:61px !important}.files-controls{box-sizing:border-box;position:-webkit-sticky;position:sticky;height:50px;padding:0;margin:0;background-color:var(--color-main-background-translucent);z-index:62;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:flex;top:0;padding-left:50px}.files-controls .actions>div>.button,.files-controls .actions>div button,.files-controls .actions>.button,.files-controls .actions button{box-sizing:border-box;display:inline-block;display:flex;height:44px;width:44px;padding:9px;align-items:center;justify-content:center}.files-controls .actions>div .button.hidden,.files-controls .actions .button.hidden{display:none}.viewer-mode #app-navigation+#app-content .files-controls{left:0}.files-filestable .filename .action .icon,.files-filestable .selectedActions a .icon,.files-filestable .filename .favorite-mark .icon,.files-controls .actions .button .icon{display:inline-block;vertical-align:middle;background-size:16px 16px}.files-filestable .filename .favorite-mark .icon-star{background-image:none}.files-filestable .filename .favorite-mark .icon-starred{background-image:var(--icon-starred-yellow) !important}.files-filestable .filename .action .icon.hidden,.files-filestable .selectedActions a .icon.hidden,.files-controls .actions .button .icon.hidden{display:none}.files-filestable .filename .action .icon.loading,.files-filestable .selectedActions a .icon.loading,.files-controls .actions .button .icon.loading{width:15px;height:15px}.app-files .actions .button.new{position:relative}.breadcrumb{align-items:center}.breadcrumb .icon-home{border-radius:var(--border-radius)}.breadcrumb .canDrop>a,.files-filestable tbody tr.canDrop{background-color:rgba(0,130,201,.3)}.dropzone-background{background-color:rgba(0,130,201,.3)}.dropzone-background :hover{box-shadow:none !important}.notCreatable{margin-left:12px;margin-right:44px;margin-top:12px;color:var(--color-main-text);overflow:auto;min-width:160px;height:54px}.notCreatable:not(.hidden){display:flex}.notCreatable .icon-alert-outline{top:-15px;position:relative;margin-right:4px}.quota-navigation-item{margin:0 !important;border:none;border-radius:0;background-color:rgba(0,0,0,0);z-index:1;height:44px;display:flex !important;flex-direction:column}.quota-navigation-item__text{height:30px}.quota-navigation-item[href="#"],.quota-navigation-item[href="#"] *{cursor:default !important}.quota-navigation-item__container{height:5px;border-radius:var(--border-radius)}.files-filestable.view-grid:not(.hidden) thead tr{display:block;border-bottom:1px solid var(--color-border);background-color:var(--color-main-background-translucent)}.files-filestable.view-grid:not(.hidden) thead tr th{width:auto;border:none}.files-filestable.view-grid:not(.hidden) tbody{display:grid;grid-template-columns:repeat(auto-fill, 160px);justify-content:space-around;row-gap:15px;margin:15px 0}.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden){display:block;position:relative;height:190px;border-radius:var(--border-radius)}.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden):hover,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden):focus,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden):active,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden).selected,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden).searchresult,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden) .name:focus,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden).highlighted{background-color:rgba(0,0,0,0)}.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden):hover .thumbnail-wrapper,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden):hover .nametext,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden):hover .fileactions,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden):focus .thumbnail-wrapper,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden):focus .nametext,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden):focus .fileactions,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden):active .thumbnail-wrapper,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden):active .nametext,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden):active .fileactions,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden).selected .thumbnail-wrapper,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden).selected .nametext,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden).selected .fileactions,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden).searchresult .thumbnail-wrapper,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden).searchresult .nametext,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden).searchresult .fileactions,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden) .name:focus .thumbnail-wrapper,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden) .name:focus .nametext,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden) .name:focus .fileactions,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden).highlighted .thumbnail-wrapper,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden).highlighted .nametext,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden).highlighted .fileactions{background-color:var(--color-background-hover)}.files-filestable.view-grid:not(.hidden) tbody td{display:inline;border-bottom:none}.files-filestable.view-grid:not(.hidden) tbody td.filename .thumbnail-wrapper{min-width:0;max-width:none;position:absolute;width:160px;height:160px;padding:14px;top:0;left:0;z-index:-1}.files-filestable.view-grid:not(.hidden) tbody td.filename .thumbnail-wrapper .thumbnail{width:calc(100% - 2 * 14px);height:calc(100% - 2 * 14px);background-size:contain;margin:0;border-radius:var(--border-radius);background-repeat:no-repeat;background-position:center}.files-filestable.view-grid:not(.hidden) tbody td.filename .thumbnail-wrapper .thumbnail .favorite-mark{left:auto;top:-11px;right:-11px}.files-filestable.view-grid:not(.hidden) tbody td.filename .uploadtext{width:100%;margin:0;top:0;bottom:auto;height:28px;padding-top:4px;padding-left:28px}.files-filestable.view-grid:not(.hidden) tbody td.filename .name{height:100%;border-radius:var(--border-radius);overflow:hidden;cursor:pointer !important}.files-filestable.view-grid:not(.hidden) tbody td.filename .name .nametext{display:flex;height:44px;margin-top:146px;text-align:center;line-height:44px;padding:0}.files-filestable.view-grid:not(.hidden) tbody td.filename .name .nametext .innernametext{display:inline-block;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.files-filestable.view-grid:not(.hidden) tbody td.filename .name .nametext:before{content:"";flex:1;min-width:14px}.files-filestable.view-grid:not(.hidden) tbody td.filename .name .nametext:after{content:"";flex:1;min-width:44px}.files-filestable.view-grid:not(.hidden) tbody td.filename .name .nametext .extension{display:none}.files-filestable.view-grid:not(.hidden) tbody td.filename .name .system-tags{display:none}.files-filestable.view-grid:not(.hidden) tbody td.filename .name .fileactions{height:initial;margin-top:146px;display:flex;align-items:center;position:absolute;right:0}.files-filestable.view-grid:not(.hidden) tbody td.filename .name .fileactions .action{padding:14px;width:44px;height:44px;display:flex;align-items:center;justify-content:center}.files-filestable.view-grid:not(.hidden) tbody td.filename .name .fileactions .action:not(.action-menu){display:none}.files-filestable.view-grid:not(.hidden) tbody td.filename .fileActionsMenu .action-share-container.hidden{display:block !important}.files-filestable.view-grid:not(.hidden) tbody td.filename .fileActionsMenu .action-share-container.hidden .action-share img{padding:6px;border-radius:50%}.files-filestable.view-grid:not(.hidden) tbody td.filename .fileActionsMenu .action-restore-container.hidden{display:block !important}.files-filestable.view-grid:not(.hidden) tbody td.filename .fileActionsMenu .action-comment-container.hidden{display:block !important}.files-filestable.view-grid:not(.hidden) tbody td.filename form{padding:3px 14px;border-radius:var(--border-radius)}.files-filestable.view-grid:not(.hidden) tbody td.filename form input.filename{width:100%;margin-left:0;cursor:text}.files-filestable.view-grid:not(.hidden) tbody td.filesize,.files-filestable.view-grid:not(.hidden) tbody td.date{display:none}.files-filestable.view-grid:not(.hidden) tbody td.selection,.files-filestable.view-grid:not(.hidden) tbody td.filename .favorite-mark{position:absolute;top:-8px;left:-8px;display:flex;z-index:10}.files-filestable.view-grid:not(.hidden) tbody td.selection label,.files-filestable.view-grid:not(.hidden) tbody td.filename .favorite-mark label{width:44px;height:44px;display:inline-flex;padding:14px}.files-filestable.view-grid:not(.hidden) tbody td.selection label::before,.files-filestable.view-grid:not(.hidden) tbody td.filename .favorite-mark label::before{margin:0;width:14px;height:14px}.files-filestable.view-grid:not(.hidden) tbody td .popovermenu{left:0;width:150px;margin:0 5px}.files-filestable.view-grid:not(.hidden) tbody td .popovermenu .menuitem span:not(.icon){overflow:hidden;text-overflow:ellipsis}.files-filestable.view-grid:not(.hidden) tr.hidden-file td.filename .name .nametext .extension{display:block}.files-filestable.view-grid:not(.hidden) tfoot{display:grid}.files-filestable.view-grid:not(.hidden) tfoot .summary:not(.hidden){display:inline-block;margin:0 auto;height:418px}.files-filestable.view-grid:not(.hidden) tfoot .summary:not(.hidden) td{padding-top:50px}.files-filestable.view-grid:not(.hidden) tfoot .summary:not(.hidden) td:first-child,.files-filestable.view-grid:not(.hidden) tfoot .summary:not(.hidden) td.date{display:none}.files-filestable.view-grid:not(.hidden) tfoot .summary:not(.hidden) td .info{margin-left:0}#view-toggle{background-color:var(--color-main-background-translucent);border:none;margin:0;padding:22px;opacity:.5;float:right;right:var(--default-grid-baseline);top:var(--default-grid-baseline);z-index:100;position:sticky}#view-toggle:hover,#view-toggle:focus,#showgridview:focus+#view-toggle{opacity:1}#view-toggle:focus-visible,#showgridview:focus-visible+#view-toggle{box-shadow:inset 0 0 0 2px var(--color-primary-element) !important}#showgridview{position:fixed;top:0}#body-public .files-filestable.view-grid:not(.hidden) tbody td.filename .name .nametext .innernametext{max-width:124px}#body-public .files-filestable.view-grid:not(.hidden) tbody td .popovermenu{left:-80px}#body-public #view-toggle{position:absolute;right:0;top:0}#gallery-button{display:none}#tag_multiple_files_container{overflow:hidden;background-color:#fff;border-radius:3px;position:relative;display:flex;flex-wrap:wrap;margin-bottom:10px}#tag_multiple_files_container h3{width:100%;padding:0 18px}#tag_multiple_files_container .systemTagsInputFieldContainer{flex:1 1 80%;min-width:0;margin:0 12px}/*# sourceMappingURL=files.css.map */ +.actions{padding:3px;height:100%;display:inline-block;float:left}.actions input,.actions button,.actions .button{margin:0;float:left}.actions .button a{color:#555}.actions .button a:hover,.actions .button a:focus{background-color:var(--color-background-hover)}.actions .button a:active{background-color:var(--color-primary-element-light)}.actions.creatable{position:relative;display:flex;flex:1 1}.actions.creatable .button:not(:last-child){margin-right:3px}.actions.hidden{display:none}#trash{margin-right:8px;float:right;z-index:1010;padding:10px;font-weight:normal}.newFileMenu .error,.newFileMenu .error+.icon-confirm,.files-fileList .error{color:var(--color-error);border-color:var(--color-error)}.files-filestable{position:relative;width:100%;min-width:250px;display:block;flex-direction:column}.emptycontent:not(.hidden)~.files-filestable{display:none}.files-filestable thead{position:-webkit-sticky;position:sticky;top:44px;z-index:60;display:block;background-color:var(--color-main-background-translucent)}.files-filestable tbody{display:table;width:100%}.files-filestable tbody tr[data-permissions="0"],.files-filestable tbody tr[data-permissions="16"]{background-color:var(--color-background-dark)}.files-filestable tbody tr[data-permissions="0"] td.filename .nametext .innernametext,.files-filestable tbody tr[data-permissions="16"] td.filename .nametext .innernametext{color:var(--color-text-maxcontrast)}.files-filestable tbody tr[data-e2eencrypted=true] .selection{pointer-events:none}.files-filestable.hidden{display:none}.app-files #app-content>.viewcontainer{min-height:0%;width:100%}.app-files #app-content{width:calc(100% - 300px);overflow-anchor:none}.file-drag,.file-drag .files-filestable tbody tr,.file-drag .files-filestable tbody tr:hover{background-color:var(--color-primary-element-light) !important}.app-files #app-content.dir-drop{background-color:var(--color-main-background) !important}.file-drag .files-filestable tbody tr,.file-drag .files-filestable tbody tr:hover{background-color:rgba(0,0,0,0) !important}.app-files #app-content.dir-drop .files-filestable tbody tr.dropping-to-dir{background-color:var(--color-primary-element-light) !important}.nav-icon-files{background-image:var(--icon-folder-dark)}.nav-icon-recent{background-image:var(--icon-recent-dark)}.nav-icon-favorites{background-image:var(--icon-starred-dark)}.nav-icon-sharingin,.nav-icon-sharingout,.nav-icon-pendingshares,.nav-icon-shareoverview{background-image:var(--icon-share-dark)}.nav-icon-sharinglinks{background-image:var(--icon-public-dark)}.nav-icon-extstoragemounts{background-image:var(--icon-external-dark)}.nav-icon-trashbin{background-image:var(--icon-delete-dark)}.nav-icon-trashbin-starred{background-image:var(--icon-delete-#ff0000)}.nav-icon-deletedshares{background-image:var(--icon-unshare-dark)}.nav-icon-favorites-starred{background-image:var(--icon-starred-yellow)}#app-navigation .nav-files a.nav-icon-files{width:auto}#app-navigation .nav-files a.new{width:40px;height:32px;padding:0 10px;margin:0;cursor:pointer}#app-navigation .nav-files a.new.hidden{display:none}#app-navigation .nav-files a.new.disabled{opacity:.3}.files-filestable tbody tr{height:51px}.files-filestable tbody tr:hover,.files-filestable tbody tr:focus,.files-filestable tbody .name:focus,.files-filestable tbody tr:hover .filename form,table tr.mouseOver td{background-color:var(--color-background-hover)}.files-filestable tbody tr:active,.files-filestable tbody tr.highlighted,.files-filestable tbody tr.highlighted .name:focus,.files-filestable tbody tr.selected,.files-filestable tbody tr.searchresult{background-color:var(--color-primary-element-light)}tbody a{color:var(--color-main-text)}span.conflict-path,span.extension,span.uploading,td.date{color:var(--color-text-maxcontrast)}span.conflict-path,span.extension{-webkit-transition:opacity 300ms;-moz-transition:opacity 300ms;-o-transition:opacity 300ms;transition:opacity 300ms;vertical-align:top}tr:hover span.conflict-path,tr:focus span.conflict-path,tr:hover span.extension,tr:focus span.extension{opacity:1;color:var(--color-text-maxcontrast)}table th,table th a{color:var(--color-text-maxcontrast)}table.multiselect th a{color:var(--color-main-text)}table th .columntitle{display:block;padding:15px;height:50px;box-sizing:border-box;-moz-box-sizing:border-box;vertical-align:middle}table th .columntitle:focus-visible{border-radius:2px}table.multiselect th .columntitle{display:inline-block;margin-right:-20px}table th .columntitle.name{padding-left:0;margin-left:44px}table.multiselect th .columntitle.name{margin-left:0}table th .sort-indicator{width:10px;height:8px;margin-left:5px;display:inline-block;vertical-align:text-bottom;opacity:.3}.sort-indicator.hidden,.multiselect .sort-indicator,table.multiselect th:hover .sort-indicator.hidden,table.multiselect th:focus .sort-indicator.hidden{visibility:hidden}.multiselect .sort,.multiselect .sort span{cursor:default}table th:hover .sort-indicator.hidden,table th:focus .sort-indicator.hidden{visibility:visible}table th,table td{border-bottom:1px solid var(--color-border);text-align:left;font-weight:normal}table td{padding:0 15px;font-style:normal;background-position:8px center;background-repeat:no-repeat}table th.column-name{position:relative;width:9999px;padding:0}.column-name-container{position:relative;height:50px}table th.column-selection{padding-top:2px}table th.column-size,table td.filesize{text-align:right}table th.column-mtime,table td.date,table th.column-last,table td.column-last{-moz-box-sizing:border-box;box-sizing:border-box;position:relative;min-width:130px}#app-content-recent,#app-content-favorites,#app-content-shareoverview,#app-content-sharingout,#app-content-sharingin,#app-content-sharinglinks,#app-content-deletedshares,#app-content-pendingshares{margin-top:22px}#app-content-recent thead,#app-content-favorites thead,#app-content-shareoverview thead,#app-content-sharingout thead,#app-content-sharingin thead,#app-content-sharinglinks thead,#app-content-deletedshares thead,#app-content-pendingshares thead{top:0}table.multiselect thead th{background-color:var(--color-main-background-translucent);font-weight:bold}#app-content.with-app-sidebar table.multiselect thead{margin-right:27%}table.multiselect .column-name{position:relative;width:9999px}table.multiselect .column-mtime>a{display:none}table td.selection,table th.selection,table td.fileaction{width:32px;text-align:center}table td.filename a.name,table td.filename p.name{display:flex;position:relative;-moz-box-sizing:border-box;box-sizing:border-box;height:50px;line-height:50px;padding:0}table td.filename .thumbnail-wrapper{width:0;min-width:50px;max-width:50px;height:50px}table td.filename .thumbnail-wrapper.icon-loading-small:after{z-index:10}table td.filename .thumbnail-wrapper.icon-loading-small .thumbnail{opacity:.2}table td.filename .thumbnail{display:inline-block;width:32px;height:32px;background-size:contain;background-position:center;background-repeat:no-repeat;margin-left:9px;margin-top:9px;border-radius:var(--border-radius);cursor:pointer;position:absolute;z-index:4}table td.filename p.name .thumbnail{cursor:default}table tr[data-has-preview=true] .thumbnail{border:1px solid var(--color-border)}table:not(.view-grid) td.filename input.filename{width:70% !important;margin-left:48px !important;cursor:text}table td.filename form{margin-top:-40px;position:relative;top:-6px}table td.filename a,table td.login,table td.logout,table td.download,table td.upload,table td.create,table td.delete{padding:3px 8px 8px 3px}table td.filename .nametext,.modified,.column-last>span:first-child{float:left;padding:15px 0}.modified,.column-last>span:first-child{position:relative;overflow:hidden;text-overflow:ellipsis;width:110px}table td.filename{max-width:0}table td.filename .nametext{width:0;flex-grow:1;display:flex;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;height:100%;z-index:10;padding:0 20px 0 0}table td.filename .system-tags{--min-size: 32px;display:flex;justify-content:center;align-items:center;min-width:calc(var(--min-size)*2);max-width:300px}table td.filename .system-tags .system-tags__tag{padding:5px 10px;border:1px solid;border-radius:var(--border-radius-pill);border-color:var(--color-border);color:var(--color-text-maxcontrast);height:var(--min-size);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:22px;text-align:center}table td.filename .system-tags .system-tags__tag--more{overflow:visible;text-overflow:initial}table td.filename .system-tags .system-tags__tag+.system-tags__tag{margin-left:5px}.hide-hidden-files .files-filestable .files-fileList tr.hidden-file,.hide-hidden-files .files-filestable .files-fileList tr.hidden-file.dragging{display:none !important}.files-fileList tr.animate-opacity{-webkit-transition:opacity 250ms;-moz-transition:opacity 250ms;-o-transition:opacity 250ms;transition:opacity 250ms}.files-fileList tr.dragging{opacity:.2}table td.filename .nametext .innernametext{text-overflow:ellipsis;overflow:hidden;position:relative;vertical-align:top}table td.filename .uploadtext{position:absolute;font-weight:normal;margin-left:50px;left:0;bottom:0;height:20px;padding:0 4px;padding-left:1px;font-size:11px;line-height:22px;color:var(--color-text-maxcontrast);text-overflow:ellipsis;white-space:nowrap}table td.selection{padding:0}.files-fileList tr td.selection>.selectCheckBox+label:before{opacity:.3;margin-right:0}.files-fileList tr:hover td.selection>.selectCheckBox+label:before,.files-fileList tr:focus td.selection>.selectCheckBox+label:before,.files-fileList tr td.selection>.selectCheckBox:checked+label:before,.files-fileList tr.selected td.selection>.selectCheckBox+label:before{opacity:1}.files-fileList tr.halfselected td.selection>.selectCheckBox+label:before{opacity:.5}.files-fileList tr td.selection>.selectCheckBox+label,.select-all+label{padding:16px}.files-fileList tr td.selection>.selectCheckBox:focus-visible+label,.select-all:focus-visible+label{background-color:var(--color-background-hover);border-radius:var(--border-radius-pill);outline:none !important;border:2px solid var(--color-primary-element) !important;padding:14px}.files-fileList tr td.selection>.selectCheckBox:focus-visible+label,.select-all:focus-visible+label{outline-offset:0px}.files-fileList tr td.filename{position:relative;width:100%;padding-left:0;padding-right:0;-webkit-transition:background-image 500ms;-moz-transition:background-image 500ms;-o-transition:background-image 500ms;transition:background-image 500ms}.files-fileList tr td.filename a.name label,.files-fileList tr td.filename p.name label{position:absolute;width:80%;height:50px}.files-fileList tr td.filename .favorite{display:inline-block;float:left}.files-fileList tr td.filename .favorite-mark{position:absolute;display:block;top:-8px;right:-8px;line-height:100%;text-align:center}.files-fileList tr td.filename .favorite-mark.permanent{background-color:var(--color-main-background);mask:var(--icon-star-rounded-white) no-repeat;mask-size:22px 22px;width:22px;height:22px;display:flex;align-content:center;justify-content:center}.files-fileList tr:hover td.filename .favorite-mark.permanent{background-color:var(--color-background-hover)}#uploadsize-message,#delete-confirm{display:none}.fileactions{z-index:50}.busy .fileactions,.busy .action{visibility:hidden}.bubble,#app-navigation .app-navigation-entry-menu{min-width:100px}.files-fileList .icon-loading-small{opacity:1 !important;display:inline !important}.files-fileList .action.action-share-notification span,.files-fileList a.name{cursor:default !important}.files-fileList a.name.disabled *{cursor:default}.files-fileList a.name.disabled a,.files-fileList a.name.disabled a *{cursor:pointer}.files-fileList a.name.disabled:focus{background:none}a.action>img{height:16px;width:16px;vertical-align:text-bottom}a.action.action-editlocally img.icon{filter:var(--background-invert-if-dark)}.selectedActions{position:relative;display:inline-block;vertical-align:middle}.selectedActions.hidden{display:none}.selectedActions a{display:inline;line-height:50px;padding:16px 5px}.selectedActions a.hidden{display:none}.selectedActions a img{position:relative;vertical-align:text-bottom;margin-bottom:-1px}.selectedActions .actions-selected .icon-more{margin-top:-3px}.files-fileList td a a.action{display:inline;padding:17px 8px;line-height:50px;opacity:.3}.files-fileList td a a.action.action-share{padding:17px 14px}.files-fileList td a a.action.action-share.permanent:not(.shared-style) .icon-shared+span{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}.files-fileList td a a.action.action-share .avatar{display:inline-block;vertical-align:middle}.files-fileList td a a.action.action-menu{padding-top:17px;padding-bottom:17px;padding-left:14px;padding-right:14px}.files-fileList td a a.action.no-permission:hover,.files-fileList td a a.action.no-permission:focus{opacity:.3}.files-fileList td a a.action.disabled:hover,.files-fileList td a a.action.disabled:focus,.files-fileList td a a.action.disabled img{opacity:.3}.files-fileList td a a.action.disabled.action-download{opacity:.7}.files-fileList td a a.action.disabled.action-download:hover,.files-fileList td a a.action.disabled.action-download:focus{opacity:.7}.files-fileList td a a.action:hover,.files-fileList td a a.action:focus{opacity:1}.files-fileList td a a.action:focus{background-color:var(--color-background-hover);border-radius:var(--border-radius-pill)}.files-fileList td a .fileActionsMenu a.action,.files-fileList td a a.action.action-share.shared-style{opacity:.7}.files-fileList td a .fileActionsMenu .action.permanent{opacity:1}.files-fileList .action.action-share.permanent.shared-style span:not(.icon){display:inline-block;max-width:70px;overflow:hidden;text-overflow:ellipsis;vertical-align:middle;margin-left:6px}.files-fileList .remoteAddress .userDomain{margin-left:0 !important}.files-fileList .favorite-mark.permanent{opacity:1}.files-fileList .fileActionsMenu a.action:hover,.files-fileList .fileActionsMenu a.action:focus,.files-fileList a.action.action-share.shared-style:hover,.files-fileList a.action.action-share.shared-style:focus{opacity:1}.files-fileList tr a.action.disabled{background:none}.selectedActions a.download.disabled,.files-fileList tr a.action.action-download.disabled{color:#000}.files-fileList tr:hover a.action.disabled:hover *{cursor:default}.summary{color:var(--color-text-maxcontrast);height:330px}.files-filestable .summary .filesummary{width:100%;padding-left:101px}#body-public .summary{height:180px}.summary:hover,.summary:focus,.summary,table tr.summary td{background-color:rgba(0,0,0,0)}.summary td{border-bottom:none;vertical-align:top;padding-top:20px}.summary td:first-child{padding:0}.hiddeninfo{white-space:pre-line}table.dragshadow{width:auto;z-index:2000}table.dragshadow td.filename{padding-left:60px;padding-right:16px;height:36px;max-width:unset}table.dragshadow td.size{padding-right:8px}.mask{z-index:50;position:absolute;top:0;left:0;right:0;bottom:0;background-color:var(--color-main-background);background-repeat:no-repeat no-repeat;background-position:50%;opacity:.7;transition:opacity 100ms;-moz-transition:opacity 100ms;-o-transition:opacity 100ms;-ms-transition:opacity 100ms;-webkit-transition:opacity 100ms}.mask.transparent{opacity:0}.newFileMenu{font-weight:300;top:100%;left:-48px !important;margin-top:4px;min-width:100px;z-index:1001}.newFileMenu::after{left:61px !important}.files-controls{box-sizing:border-box;position:-webkit-sticky;position:sticky;height:50px;padding:0;margin:0;background-color:var(--color-main-background-translucent);z-index:62;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:flex;top:0;padding-left:50px}.files-controls .actions>div>.button,.files-controls .actions>div button,.files-controls .actions>.button,.files-controls .actions button{box-sizing:border-box;display:inline-block;display:flex;height:44px;width:44px;padding:9px;align-items:center;justify-content:center}.files-controls .actions>div .button.hidden,.files-controls .actions .button.hidden{display:none}.viewer-mode #app-navigation+#app-content .files-controls{left:0}.files-filestable .filename .action .icon,.files-filestable .selectedActions a .icon,.files-filestable .filename .favorite-mark .icon,.files-controls .actions .button .icon{display:inline-block;vertical-align:middle;background-size:16px 16px}.files-filestable .filename .favorite-mark .icon-star{background-image:none}.files-filestable .filename .favorite-mark .icon-starred{background-image:var(--icon-starred-yellow) !important}.files-filestable .filename .action .icon.hidden,.files-filestable .selectedActions a .icon.hidden,.files-controls .actions .button .icon.hidden{display:none}.files-filestable .filename .action .icon.loading,.files-filestable .selectedActions a .icon.loading,.files-controls .actions .button .icon.loading{width:15px;height:15px}.app-files .actions .button.new{position:relative}.breadcrumb{align-items:center}.breadcrumb .icon-home{border-radius:var(--border-radius)}.breadcrumb .canDrop>a,.files-filestable tbody tr.canDrop{background-color:rgba(0,130,201,.3)}.dropzone-background{background-color:rgba(0,130,201,.3)}.dropzone-background :hover{box-shadow:none !important}.notCreatable{margin-left:12px;margin-right:44px;margin-top:12px;color:var(--color-main-text);overflow:auto;min-width:160px;height:54px}.notCreatable:not(.hidden){display:flex}.notCreatable .icon-alert-outline{top:-15px;position:relative;margin-right:4px}.quota-navigation-item{margin:0 !important;border:none;border-radius:0;background-color:rgba(0,0,0,0);z-index:1;height:44px;display:flex !important;flex-direction:column}.quota-navigation-item__text{height:30px}.quota-navigation-item[href="#"],.quota-navigation-item[href="#"] *{cursor:default !important}.quota-navigation-item__container{height:5px;border-radius:var(--border-radius)}.files-filestable.view-grid:not(.hidden) thead tr{display:block;border-bottom:1px solid var(--color-border);background-color:var(--color-main-background-translucent)}.files-filestable.view-grid:not(.hidden) thead tr th{width:auto;border:none}.files-filestable.view-grid:not(.hidden) tbody{display:grid;grid-template-columns:repeat(auto-fill, 160px);justify-content:space-around;row-gap:15px;margin:15px 0}.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden){display:block;position:relative;height:190px;border-radius:var(--border-radius)}.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden):hover,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden):focus,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden):active,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden).selected,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden).searchresult,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden) .name:focus,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden).highlighted{background-color:rgba(0,0,0,0)}.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden):hover .thumbnail-wrapper,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden):hover .nametext,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden):hover .fileactions,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden):focus .thumbnail-wrapper,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden):focus .nametext,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden):focus .fileactions,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden):active .thumbnail-wrapper,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden):active .nametext,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden):active .fileactions,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden).selected .thumbnail-wrapper,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden).selected .nametext,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden).selected .fileactions,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden).searchresult .thumbnail-wrapper,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden).searchresult .nametext,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden).searchresult .fileactions,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden) .name:focus .thumbnail-wrapper,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden) .name:focus .nametext,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden) .name:focus .fileactions,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden).highlighted .thumbnail-wrapper,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden).highlighted .nametext,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden).highlighted .fileactions{background-color:var(--color-background-hover)}.files-filestable.view-grid:not(.hidden) tbody td{display:inline;border-bottom:none}.files-filestable.view-grid:not(.hidden) tbody td.filename .thumbnail-wrapper{min-width:0;max-width:none;position:absolute;width:160px;height:160px;padding:14px;top:0;left:0;z-index:-1}.files-filestable.view-grid:not(.hidden) tbody td.filename .thumbnail-wrapper .thumbnail{width:calc(100% - 2 * 14px);height:calc(100% - 2 * 14px);background-size:contain;margin:0;border-radius:var(--border-radius);background-repeat:no-repeat;background-position:center}.files-filestable.view-grid:not(.hidden) tbody td.filename .thumbnail-wrapper .thumbnail .favorite-mark{left:auto;top:-11px;right:-11px}.files-filestable.view-grid:not(.hidden) tbody td.filename .uploadtext{width:100%;margin:0;top:0;bottom:auto;height:28px;padding-top:4px;padding-left:28px}.files-filestable.view-grid:not(.hidden) tbody td.filename .name{height:100%;border-radius:var(--border-radius);overflow:hidden;cursor:pointer !important}.files-filestable.view-grid:not(.hidden) tbody td.filename .name .nametext{display:flex;height:44px;margin-top:146px;text-align:center;line-height:44px;padding:0}.files-filestable.view-grid:not(.hidden) tbody td.filename .name .nametext .innernametext{display:inline-block;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.files-filestable.view-grid:not(.hidden) tbody td.filename .name .nametext:before{content:"";flex:1;min-width:14px}.files-filestable.view-grid:not(.hidden) tbody td.filename .name .nametext:after{content:"";flex:1;min-width:44px}.files-filestable.view-grid:not(.hidden) tbody td.filename .name .nametext .extension{display:none}.files-filestable.view-grid:not(.hidden) tbody td.filename .name .system-tags{display:none}.files-filestable.view-grid:not(.hidden) tbody td.filename .name .fileactions{height:initial;margin-top:146px;display:flex;align-items:center;position:absolute;right:0}.files-filestable.view-grid:not(.hidden) tbody td.filename .name .fileactions .action{padding:14px;width:44px;height:44px;display:flex;align-items:center;justify-content:center}.files-filestable.view-grid:not(.hidden) tbody td.filename .name .fileactions .action:not(.action-menu){display:none}.files-filestable.view-grid:not(.hidden) tbody td.filename .fileActionsMenu .action-share-container.hidden{display:block !important}.files-filestable.view-grid:not(.hidden) tbody td.filename .fileActionsMenu .action-share-container.hidden .action-share img{padding:6px;border-radius:50%}.files-filestable.view-grid:not(.hidden) tbody td.filename .fileActionsMenu .action-restore-container.hidden{display:block !important}.files-filestable.view-grid:not(.hidden) tbody td.filename .fileActionsMenu .action-comment-container.hidden{display:block !important}.files-filestable.view-grid:not(.hidden) tbody td.filename form{padding:3px 14px;border-radius:var(--border-radius)}.files-filestable.view-grid:not(.hidden) tbody td.filename form input.filename{width:100%;margin-left:0;cursor:text}.files-filestable.view-grid:not(.hidden) tbody td.filesize,.files-filestable.view-grid:not(.hidden) tbody td.date{display:none}.files-filestable.view-grid:not(.hidden) tbody td.selection,.files-filestable.view-grid:not(.hidden) tbody td.filename .favorite-mark{position:absolute;top:-8px;left:-8px;display:flex;z-index:10}.files-filestable.view-grid:not(.hidden) tbody td.selection label,.files-filestable.view-grid:not(.hidden) tbody td.filename .favorite-mark label{width:44px;height:44px;display:inline-flex;padding:14px}.files-filestable.view-grid:not(.hidden) tbody td.selection label::before,.files-filestable.view-grid:not(.hidden) tbody td.filename .favorite-mark label::before{margin:0;width:14px;height:14px}.files-filestable.view-grid:not(.hidden) tbody td .popovermenu{left:0;width:150px;margin:0 5px}.files-filestable.view-grid:not(.hidden) tbody td .popovermenu .menuitem span:not(.icon){overflow:hidden;text-overflow:ellipsis}.files-filestable.view-grid:not(.hidden) tr.hidden-file td.filename .name .nametext .extension{display:block}.files-filestable.view-grid:not(.hidden) tfoot{display:grid}.files-filestable.view-grid:not(.hidden) tfoot .summary:not(.hidden){display:inline-block;margin:0 auto;height:418px}.files-filestable.view-grid:not(.hidden) tfoot .summary:not(.hidden) td{padding-top:50px}.files-filestable.view-grid:not(.hidden) tfoot .summary:not(.hidden) td:first-child,.files-filestable.view-grid:not(.hidden) tfoot .summary:not(.hidden) td.date{display:none}.files-filestable.view-grid:not(.hidden) tfoot .summary:not(.hidden) td .info{margin-left:0}#view-toggle{background-color:var(--color-main-background-translucent);border:none;margin:0;padding:22px;opacity:.5;float:right;right:var(--default-grid-baseline);top:var(--default-grid-baseline);z-index:100;position:sticky}#view-toggle:hover,#view-toggle:focus,#showgridview:focus+#view-toggle{opacity:1}#view-toggle:focus-visible,#showgridview:focus-visible+#view-toggle{box-shadow:inset 0 0 0 2px var(--color-primary-element) !important}#showgridview{position:fixed;top:0}#body-public .files-filestable.view-grid:not(.hidden) tbody td.filename .name .nametext .innernametext{max-width:124px}#body-public .files-filestable.view-grid:not(.hidden) tbody td .popovermenu{left:-80px}#body-public #view-toggle{position:absolute;right:0;top:0}#gallery-button{display:none}#tag_multiple_files_container{overflow:hidden;background-color:#fff;border-radius:3px;position:relative;display:flex;flex-wrap:wrap;margin-bottom:10px}#tag_multiple_files_container h3{width:100%;padding:0 18px}#tag_multiple_files_container .systemTagsInputFieldContainer{flex:1 1 80%;min-width:0;margin:0 12px}/*# sourceMappingURL=files.css.map */ diff --git a/apps/files/css/files.css.map b/apps/files/css/files.css.map index 0da56c7206b..14c23a8f68d 100644 --- a/apps/files/css/files.css.map +++ b/apps/files/css/files.css.map @@ -1 +1 @@ -{"version":3,"sourceRoot":"","sources":["files.scss","../../../core/css/functions.scss"],"names":[],"mappings":"AAWA,SAEC,YACA,YACA,qBACA,WAED,oEACA,8BACA,kDAEC,+CAED,0BACC,oDAGD,mBACC,kBACA,aACA,SACA,4CACC,iBAIF,gBACC,aAGD,OACC,iBACA,YACA,aACA,aACA,mBAGD,6EAGC,yBACA,gCAID,kBACC,kBACA,WACA,gBACA,cACA,sBAEA,6CACC,aAGD,wBACC,wBACA,gBAEA,SAEA,WACA,cACA,0DAMD,wBACC,cACA,WAEA,mGAEC,8CAEA,6KACC,oCAKF,8DACC,oBAKH,yBACC,aAID,uCACC,cACA,WAGD,wBAGC,yBAEA,qBAGD,6FACC,+DAGD,iCACC,yDAGD,kFACC,0CAGD,4EACC,+DAID,gBCxEC,yCD2ED,iBC3EC,yCD8ED,oBC9EC,0CDiFD,yFCjFC,wCDuFD,uBCvFC,yCD0FD,2BC1FC,2CD6FD,mBC7FC,yCDgGD,2BChGC,4CDmGD,wBCnGC,0CDsGD,4BCtGC,4CD0GD,4CACC,WAGD,iCACC,WACA,YACA,eACA,SACA,eAGD,wCACC,aAGD,0CACC,WAGD,2BACC,YAED,4KAKC,+CAED,wMAKC,oDAGD,qCAEA,yDACC,oCAED,kCACC,iCACA,8BACA,4BACA,yBACA,mBAED,wGAIC,UACA,oCAGD,oBACC,oCAED,uBACC,6BAED,sBACC,cACA,aACA,YACA,sBACA,2BACA,sBACA,oCACC,kBAGF,kCACC,qBACA,mBAED,2BACC,eACA,iBAGD,uCACC,cAGD,yBACC,WACA,WACA,gBACA,qBACA,2BACA,WAED,wJAIC,kBAED,2CACC,eAED,4EAEC,mBAGD,kBAEC,4CACA,gBACA,mBAED,SACC,eACA,kBACA,+BACA,4BAED,qBACC,kBACA,aACA,UAGD,uBACC,kBACA,YAGD,0BACC,gBAED,uCACC,iBAED,8EAEC,2BACA,sBACA,kBAEA,gBAGD,qMAQC,gBACA,qPACC,MAIF,2BACC,0DACA,iBAGD,sDACC,iBAGD,+BACC,kBACA,aAED,kCACC,aAGD,0DAGC,WACA,kBAED,kDAEC,aACA,kBACA,2BACA,sBACA,YACA,iBACA,UAED,qCAEC,QACA,eACA,eACA,YAGA,8DACC,WAED,mEACC,WAGF,6BACC,qBACA,WACA,YACA,wBACA,2BACA,4BACA,gBACA,eACA,mCACA,eACA,kBACA,UAED,oCACC,eAID,2CACC,qCAGD,iDACC,qBACA,4BACA,YAED,uBACC,iBACA,kBACA,SAGD,6IACA,8FAEA,wCACC,kBACA,gBACA,uBACA,YAKA,kBACC,YACA,4BACC,QACA,YACA,aACA,gBACA,mBACA,uBACA,YACA,WACA,mBAID,+BACC,iBACA,aACA,uBACA,mBACA,cACA,kCACA,gBAEA,iDACC,iBACA,iBACA,wCACA,iCACA,oCACA,uBACA,mBACA,gBACA,uBACA,iBACA,kBAEA,uDACC,iBACA,sBAID,mEACC,gBAOL,iJAEC,wBAGD,mCACC,iCACA,8BACA,4BACA,yBAED,4BACC,WAGD,2CACC,uBACA,gBACA,kBACA,mBAKD,8BACC,kBACA,mBAEA,iBACA,OACA,SACA,YACA,cAEA,iBACA,eAEA,iBACA,oCACA,uBACA,mBAGD,mBACC,UAID,6DACC,WACA,eAID,iRAIC,UAID,0EACC,WAMA,wEACC,aAGD,oGACC,+CACA,wCACA,wBACA,yDACA,aAIF,oGAEC,mBAGD,+BACC,kBACA,WACA,eACA,gBACA,wJAGD,wFAEC,kBACA,UACA,YAGD,yCACC,qBACA,WAED,8CACC,kBACA,cACA,SACA,WACA,iBACA,kBACA,wDAEC,8CACA,8CACA,oBAEA,WACA,YACA,aACA,qBACA,uBAGF,8DACC,+CAGD,iDAGA,aACC,WAGD,iCACC,kBAID,mDAEC,gBAID,oCACC,qBACA,0BAGD,8EACC,0BAOA,kCACC,eAGD,sEACC,eAGD,sCACC,gBAIF,aACC,YACA,WACA,2BAGD,qCACC,wCAID,iBACI,kBACA,qBACA,sBAEJ,wBACI,aAEJ,mBACC,eACA,iBACA,iBAGD,0BACC,aAED,uBACC,kBACA,2BACA,mBAGD,8CACC,gBAIA,8BACC,eACA,iBACA,iBACA,WACA,2CACC,kBACA,0FAGC,kBACA,cACA,SACA,UACA,WACA,gBAED,mDACC,qBACA,sBAGF,0CACC,iBACA,oBACA,kBACA,mBAGA,oGACC,WAID,qIAEC,WAED,uDACC,WACA,0HACC,WAIH,wEACC,UAED,oCACC,+CACA,wCAGF,uGACC,WAED,wDACC,UAKF,4EACC,qBACA,eACA,gBACA,uBACA,sBACA,gBAGD,2CACC,yBAGD,yCACC,UAGD,kNAKC,UAGD,qCACC,gBAGD,0FAEC,WAGD,mDACC,eAGD,SACC,oCAGA,aAED,wCACC,WAEA,mBAKD,sBACC,aAED,2DAIC,+BAED,YACC,mBACA,mBACA,iBAED,wBACC,UAED,YACC,qBAGD,iBACC,WACA,aAED,6BACC,kBACA,mBACA,YAGA,gBAED,yBACC,kBAED,MACC,WACA,kBACA,MACA,OACA,QACA,SACA,8CACA,sCACA,wBACA,WACA,yBACA,8BACA,4BACA,6BACA,iCAED,kBACC,UAGD,aACC,gBACA,SACA,sBACA,eACA,gBACA,aAGA,oBACC,qBAKF,gBACC,sBACA,wBACA,gBACA,YACA,UACA,SACA,0DACA,WACA,yBACA,sBACA,qBACA,iBACA,aACA,MACA,kBAKE,0IACC,sBACA,qBACA,aACA,YACA,WACA,YACA,mBACA,uBAED,oFACC,aAQJ,0DACC,OAGD,6KAIC,qBACA,sBACA,0BAMA,sDACC,sBAED,yDACC,uDAIF,iJAGC,aAGD,oJAGC,WACA,YAGD,gCACC,kBAGD,YACC,mBAEA,uBACC,mCAIF,0DAEC,oCAED,qBACC,oCACA,4BACC,2BAIF,cACC,iBACA,kBACA,gBACA,6BACA,cACA,gBACA,YAEA,2BACC,aAGD,kCACC,UACA,kBACA,iBAIF,uBACC,oBACA,YACA,gBACA,+BACA,UACA,YACA,wBACA,sBAEA,6BACC,YAKA,oEACC,0BAIF,kCACC,WACA,mCAWA,kDACC,cACA,4CACA,0DACA,qDACC,WACA,YAMH,+CACC,aACA,+CACA,6BACA,aACA,cAGA,+DACC,cACA,kBACA,aACA,mCAEA,0fAKC,+BAEA,oxDAGC,+CAKH,kDACC,eACA,mBAGC,8EACC,YACA,eACA,kBACA,MAvDQ,MAwDR,OAxDQ,MAyDR,QAxDO,KAyDP,MACA,OACA,WAEA,yFACC,4BACA,6BACA,wBACA,SACA,mCACA,4BACA,2BAKA,wGACC,UACA,UACA,YAKH,uEACC,WACA,SACA,MACA,YAEA,YACA,gBAEA,kBAGD,iEACC,YACA,mCAIA,gBAKA,0BAEA,2EACC,aACA,YACA,iBACA,kBACA,iBACA,UAEA,0FACC,qBACA,kBACA,gBACA,uBACA,mBAED,kFACC,WACA,OACA,eAED,iFACC,WACA,OACA,eAID,sFACC,aAKF,8EACC,aAGD,8EACC,eACA,iBACA,aACA,mBACA,kBACA,QAEA,sFACC,QAxJK,KAyJL,WACA,YACA,aACA,mBACA,uBAGA,wGACC,aAQH,2GACC,yBAEA,6HACC,YACA,kBAIF,6GACC,yBAGD,6GACC,yBAIF,gEACC,iBACA,mCAEA,+EACC,WACA,cACA,YAMH,kHAEC,aAGD,sIAEC,kBACA,SACA,UACA,aACA,WAEA,kJACC,WACA,YACA,oBACA,QAzNO,KA0NP,kKACC,SACA,MA5NM,KA6NN,OA7NM,KAmOT,+DACC,OACA,YACA,aAGA,yFACC,gBACA,uBAMJ,+FACC,cAID,+CACC,aAEA,qEACC,qBACA,cAEA,aAEA,wEACC,iBAEA,iKAEC,aAGD,8EACI,cAQR,aACC,0DACA,YACA,SACA,aACA,WACA,YACA,mCACA,iCACA,YACA,gBAEA,uEAGC,UAGD,oEAEC,mEASF,cACC,eACA,MAOC,uGACC,gBAID,4EACC,WAKF,0BACC,kBACA,QACA,MAKF,gBACC,aAGD,8BACC,gBACA,sBACA,kBACA,kBACA,aACA,eACA,mBAEA,iCACC,WACA,eAGD,6DACC,aACA,YACA","file":"files.css"}
\ No newline at end of file +{"version":3,"sourceRoot":"","sources":["files.scss","../../../core/css/functions.scss"],"names":[],"mappings":"AAWA,SAEC,YACA,YACA,qBACA,WAED,oEACA,8BACA,kDAEC,+CAED,0BACC,oDAGD,mBACC,kBACA,aACA,SACA,4CACC,iBAIF,gBACC,aAGD,OACC,iBACA,YACA,aACA,aACA,mBAGD,6EAGC,yBACA,gCAID,kBACC,kBACA,WACA,gBACA,cACA,sBAEA,6CACC,aAGD,wBACC,wBACA,gBAEA,SAEA,WACA,cACA,0DAMD,wBACC,cACA,WAEA,mGAEC,8CAEA,6KACC,oCAKF,8DACC,oBAKH,yBACC,aAID,uCACC,cACA,WAGD,wBAGC,yBAEA,qBAGD,6FACC,+DAGD,iCACC,yDAGD,kFACC,0CAGD,4EACC,+DAID,gBCxEC,yCD2ED,iBC3EC,yCD8ED,oBC9EC,0CDiFD,yFCjFC,wCDuFD,uBCvFC,yCD0FD,2BC1FC,2CD6FD,mBC7FC,yCDgGD,2BChGC,4CDmGD,wBCnGC,0CDsGD,4BCtGC,4CD0GD,4CACC,WAGD,iCACC,WACA,YACA,eACA,SACA,eAGD,wCACC,aAGD,0CACC,WAGD,2BACC,YAED,4KAKC,+CAED,wMAKC,oDAGD,qCAEA,yDACC,oCAED,kCACC,iCACA,8BACA,4BACA,yBACA,mBAED,wGAIC,UACA,oCAGD,oBACC,oCAED,uBACC,6BAED,sBACC,cACA,aACA,YACA,sBACA,2BACA,sBACA,oCACC,kBAGF,kCACC,qBACA,mBAED,2BACC,eACA,iBAGD,uCACC,cAGD,yBACC,WACA,WACA,gBACA,qBACA,2BACA,WAED,wJAIC,kBAED,2CACC,eAED,4EAEC,mBAGD,kBAEC,4CACA,gBACA,mBAED,SACC,eACA,kBACA,+BACA,4BAED,qBACC,kBACA,aACA,UAGD,uBACC,kBACA,YAGD,0BACC,gBAED,uCACC,iBAED,8EAEC,2BACA,sBACA,kBAEA,gBAGD,qMAQC,gBACA,qPACC,MAIF,2BACC,0DACA,iBAGD,sDACC,iBAGD,+BACC,kBACA,aAED,kCACC,aAGD,0DAGC,WACA,kBAED,kDAEC,aACA,kBACA,2BACA,sBACA,YACA,iBACA,UAED,qCAEC,QACA,eACA,eACA,YAGA,8DACC,WAED,mEACC,WAGF,6BACC,qBACA,WACA,YACA,wBACA,2BACA,4BACA,gBACA,eACA,mCACA,eACA,kBACA,UAED,oCACC,eAID,2CACC,qCAGD,iDACC,qBACA,4BACA,YAED,uBACC,iBACA,kBACA,SAGD,6IACA,8FAEA,wCACC,kBACA,gBACA,uBACA,YAKA,kBACC,YACA,4BACC,QACA,YACA,aACA,gBACA,mBACA,uBACA,YACA,WACA,mBAID,+BACC,iBACA,aACA,uBACA,mBACA,kCACA,gBAEA,iDACC,iBACA,iBACA,wCACA,iCACA,oCACA,uBACA,mBACA,gBACA,uBACA,iBACA,kBAEA,uDACC,iBACA,sBAID,mEACC,gBAOL,iJAEC,wBAGD,mCACC,iCACA,8BACA,4BACA,yBAED,4BACC,WAGD,2CACC,uBACA,gBACA,kBACA,mBAKD,8BACC,kBACA,mBAEA,iBACA,OACA,SACA,YACA,cAEA,iBACA,eAEA,iBACA,oCACA,uBACA,mBAGD,mBACC,UAID,6DACC,WACA,eAID,iRAIC,UAID,0EACC,WAMA,wEACC,aAGD,oGACC,+CACA,wCACA,wBACA,yDACA,aAIF,oGAEC,mBAGD,+BACC,kBACA,WACA,eACA,gBACA,wJAGD,wFAEC,kBACA,UACA,YAGD,yCACC,qBACA,WAED,8CACC,kBACA,cACA,SACA,WACA,iBACA,kBACA,wDAEC,8CACA,8CACA,oBAEA,WACA,YACA,aACA,qBACA,uBAGF,8DACC,+CAGD,iDAGA,aACC,WAGD,iCACC,kBAID,mDAEC,gBAID,oCACC,qBACA,0BAGD,8EACC,0BAOA,kCACC,eAGD,sEACC,eAGD,sCACC,gBAIF,aACC,YACA,WACA,2BAGD,qCACC,wCAID,iBACI,kBACA,qBACA,sBAEJ,wBACI,aAEJ,mBACC,eACA,iBACA,iBAGD,0BACC,aAED,uBACC,kBACA,2BACA,mBAGD,8CACC,gBAIA,8BACC,eACA,iBACA,iBACA,WACA,2CACC,kBACA,0FAGC,kBACA,cACA,SACA,UACA,WACA,gBAED,mDACC,qBACA,sBAGF,0CACC,iBACA,oBACA,kBACA,mBAGA,oGACC,WAID,qIAEC,WAED,uDACC,WACA,0HACC,WAIH,wEACC,UAED,oCACC,+CACA,wCAGF,uGACC,WAED,wDACC,UAKF,4EACC,qBACA,eACA,gBACA,uBACA,sBACA,gBAGD,2CACC,yBAGD,yCACC,UAGD,kNAKC,UAGD,qCACC,gBAGD,0FAEC,WAGD,mDACC,eAGD,SACC,oCAGA,aAED,wCACC,WAEA,mBAKD,sBACC,aAED,2DAIC,+BAED,YACC,mBACA,mBACA,iBAED,wBACC,UAED,YACC,qBAGD,iBACC,WACA,aAED,6BACC,kBACA,mBACA,YAGA,gBAED,yBACC,kBAED,MACC,WACA,kBACA,MACA,OACA,QACA,SACA,8CACA,sCACA,wBACA,WACA,yBACA,8BACA,4BACA,6BACA,iCAED,kBACC,UAGD,aACC,gBACA,SACA,sBACA,eACA,gBACA,aAGA,oBACC,qBAKF,gBACC,sBACA,wBACA,gBACA,YACA,UACA,SACA,0DACA,WACA,yBACA,sBACA,qBACA,iBACA,aACA,MACA,kBAKE,0IACC,sBACA,qBACA,aACA,YACA,WACA,YACA,mBACA,uBAED,oFACC,aAQJ,0DACC,OAGD,6KAIC,qBACA,sBACA,0BAMA,sDACC,sBAED,yDACC,uDAIF,iJAGC,aAGD,oJAGC,WACA,YAGD,gCACC,kBAGD,YACC,mBAEA,uBACC,mCAIF,0DAEC,oCAED,qBACC,oCACA,4BACC,2BAIF,cACC,iBACA,kBACA,gBACA,6BACA,cACA,gBACA,YAEA,2BACC,aAGD,kCACC,UACA,kBACA,iBAIF,uBACC,oBACA,YACA,gBACA,+BACA,UACA,YACA,wBACA,sBAEA,6BACC,YAKA,oEACC,0BAIF,kCACC,WACA,mCAWA,kDACC,cACA,4CACA,0DACA,qDACC,WACA,YAMH,+CACC,aACA,+CACA,6BACA,aACA,cAGA,+DACC,cACA,kBACA,aACA,mCAEA,0fAKC,+BAEA,oxDAGC,+CAKH,kDACC,eACA,mBAGC,8EACC,YACA,eACA,kBACA,MAvDQ,MAwDR,OAxDQ,MAyDR,QAxDO,KAyDP,MACA,OACA,WAEA,yFACC,4BACA,6BACA,wBACA,SACA,mCACA,4BACA,2BAKA,wGACC,UACA,UACA,YAKH,uEACC,WACA,SACA,MACA,YAEA,YACA,gBAEA,kBAGD,iEACC,YACA,mCAIA,gBAKA,0BAEA,2EACC,aACA,YACA,iBACA,kBACA,iBACA,UAEA,0FACC,qBACA,kBACA,gBACA,uBACA,mBAED,kFACC,WACA,OACA,eAED,iFACC,WACA,OACA,eAID,sFACC,aAKF,8EACC,aAGD,8EACC,eACA,iBACA,aACA,mBACA,kBACA,QAEA,sFACC,QAxJK,KAyJL,WACA,YACA,aACA,mBACA,uBAGA,wGACC,aAQH,2GACC,yBAEA,6HACC,YACA,kBAIF,6GACC,yBAGD,6GACC,yBAIF,gEACC,iBACA,mCAEA,+EACC,WACA,cACA,YAMH,kHAEC,aAGD,sIAEC,kBACA,SACA,UACA,aACA,WAEA,kJACC,WACA,YACA,oBACA,QAzNO,KA0NP,kKACC,SACA,MA5NM,KA6NN,OA7NM,KAmOT,+DACC,OACA,YACA,aAGA,yFACC,gBACA,uBAMJ,+FACC,cAID,+CACC,aAEA,qEACC,qBACA,cAEA,aAEA,wEACC,iBAEA,iKAEC,aAGD,8EACI,cAQR,aACC,0DACA,YACA,SACA,aACA,WACA,YACA,mCACA,iCACA,YACA,gBAEA,uEAGC,UAGD,oEAEC,mEASF,cACC,eACA,MAOC,uGACC,gBAID,4EACC,WAKF,0BACC,kBACA,QACA,MAKF,gBACC,aAGD,8BACC,gBACA,sBACA,kBACA,kBACA,aACA,eACA,mBAEA,iCACC,WACA,eAGD,6DACC,aACA,YACA","file":"files.css"}
\ No newline at end of file diff --git a/apps/files/css/files.scss b/apps/files/css/files.scss index 0bd8495c9ac..0437ad79875 100644 --- a/apps/files/css/files.scss +++ b/apps/files/css/files.scss @@ -445,7 +445,6 @@ table { display: flex; justify-content: center; align-items: center; - flex: 1 1 100%; min-width: calc(var(--min-size) * 2); max-width: 300px; diff --git a/apps/files/css/merged.css b/apps/files/css/merged.css index c567f17a1c0..38574ea3b86 100644 --- a/apps/files/css/merged.css +++ b/apps/files/css/merged.css @@ -1 +1 @@ -.actions{padding:3px;height:100%;display:inline-block;float:left}.actions input,.actions button,.actions .button{margin:0;float:left}.actions .button a{color:#555}.actions .button a:hover,.actions .button a:focus{background-color:var(--color-background-hover)}.actions .button a:active{background-color:var(--color-primary-element-light)}.actions.creatable{position:relative;display:flex;flex:1 1}.actions.creatable .button:not(:last-child){margin-right:3px}.actions.hidden{display:none}#trash{margin-right:8px;float:right;z-index:1010;padding:10px;font-weight:normal}.newFileMenu .error,.newFileMenu .error+.icon-confirm,.files-fileList .error{color:var(--color-error);border-color:var(--color-error)}.files-filestable{position:relative;width:100%;min-width:250px;display:block;flex-direction:column}.emptycontent:not(.hidden)~.files-filestable{display:none}.files-filestable thead{position:-webkit-sticky;position:sticky;top:44px;z-index:60;display:block;background-color:var(--color-main-background-translucent)}.files-filestable tbody{display:table;width:100%}.files-filestable tbody tr[data-permissions="0"],.files-filestable tbody tr[data-permissions="16"]{background-color:var(--color-background-dark)}.files-filestable tbody tr[data-permissions="0"] td.filename .nametext .innernametext,.files-filestable tbody tr[data-permissions="16"] td.filename .nametext .innernametext{color:var(--color-text-maxcontrast)}.files-filestable tbody tr[data-e2eencrypted=true] .selection{pointer-events:none}.files-filestable.hidden{display:none}.app-files #app-content>.viewcontainer{min-height:0%;width:100%}.app-files #app-content{width:calc(100% - 300px);overflow-anchor:none}.file-drag,.file-drag .files-filestable tbody tr,.file-drag .files-filestable tbody tr:hover{background-color:var(--color-primary-element-light) !important}.app-files #app-content.dir-drop{background-color:var(--color-main-background) !important}.file-drag .files-filestable tbody tr,.file-drag .files-filestable tbody tr:hover{background-color:rgba(0,0,0,0) !important}.app-files #app-content.dir-drop .files-filestable tbody tr.dropping-to-dir{background-color:var(--color-primary-element-light) !important}.nav-icon-files{background-image:var(--icon-folder-dark)}.nav-icon-recent{background-image:var(--icon-recent-dark)}.nav-icon-favorites{background-image:var(--icon-starred-dark)}.nav-icon-sharingin,.nav-icon-sharingout,.nav-icon-pendingshares,.nav-icon-shareoverview{background-image:var(--icon-share-dark)}.nav-icon-sharinglinks{background-image:var(--icon-public-dark)}.nav-icon-extstoragemounts{background-image:var(--icon-external-dark)}.nav-icon-trashbin{background-image:var(--icon-delete-dark)}.nav-icon-trashbin-starred{background-image:var(--icon-delete-#ff0000)}.nav-icon-deletedshares{background-image:var(--icon-unshare-dark)}.nav-icon-favorites-starred{background-image:var(--icon-starred-yellow)}#app-navigation .nav-files a.nav-icon-files{width:auto}#app-navigation .nav-files a.new{width:40px;height:32px;padding:0 10px;margin:0;cursor:pointer}#app-navigation .nav-files a.new.hidden{display:none}#app-navigation .nav-files a.new.disabled{opacity:.3}.files-filestable tbody tr{height:51px}.files-filestable tbody tr:hover,.files-filestable tbody tr:focus,.files-filestable tbody .name:focus,.files-filestable tbody tr:hover .filename form,table tr.mouseOver td{background-color:var(--color-background-hover)}.files-filestable tbody tr:active,.files-filestable tbody tr.highlighted,.files-filestable tbody tr.highlighted .name:focus,.files-filestable tbody tr.selected,.files-filestable tbody tr.searchresult{background-color:var(--color-primary-element-light)}tbody a{color:var(--color-main-text)}span.conflict-path,span.extension,span.uploading,td.date{color:var(--color-text-maxcontrast)}span.conflict-path,span.extension{-webkit-transition:opacity 300ms;-moz-transition:opacity 300ms;-o-transition:opacity 300ms;transition:opacity 300ms;vertical-align:top}tr:hover span.conflict-path,tr:focus span.conflict-path,tr:hover span.extension,tr:focus span.extension{opacity:1;color:var(--color-text-maxcontrast)}table th,table th a{color:var(--color-text-maxcontrast)}table.multiselect th a{color:var(--color-main-text)}table th .columntitle{display:block;padding:15px;height:50px;box-sizing:border-box;-moz-box-sizing:border-box;vertical-align:middle}table th .columntitle:focus-visible{border-radius:2px}table.multiselect th .columntitle{display:inline-block;margin-right:-20px}table th .columntitle.name{padding-left:0;margin-left:44px}table.multiselect th .columntitle.name{margin-left:0}table th .sort-indicator{width:10px;height:8px;margin-left:5px;display:inline-block;vertical-align:text-bottom;opacity:.3}.sort-indicator.hidden,.multiselect .sort-indicator,table.multiselect th:hover .sort-indicator.hidden,table.multiselect th:focus .sort-indicator.hidden{visibility:hidden}.multiselect .sort,.multiselect .sort span{cursor:default}table th:hover .sort-indicator.hidden,table th:focus .sort-indicator.hidden{visibility:visible}table th,table td{border-bottom:1px solid var(--color-border);text-align:left;font-weight:normal}table td{padding:0 15px;font-style:normal;background-position:8px center;background-repeat:no-repeat}table th.column-name{position:relative;width:9999px;padding:0}.column-name-container{position:relative;height:50px}table th.column-selection{padding-top:2px}table th.column-size,table td.filesize{text-align:right}table th.column-mtime,table td.date,table th.column-last,table td.column-last{-moz-box-sizing:border-box;box-sizing:border-box;position:relative;min-width:130px}#app-content-recent,#app-content-favorites,#app-content-shareoverview,#app-content-sharingout,#app-content-sharingin,#app-content-sharinglinks,#app-content-deletedshares,#app-content-pendingshares{margin-top:22px}#app-content-recent thead,#app-content-favorites thead,#app-content-shareoverview thead,#app-content-sharingout thead,#app-content-sharingin thead,#app-content-sharinglinks thead,#app-content-deletedshares thead,#app-content-pendingshares thead{top:0}table.multiselect thead th{background-color:var(--color-main-background-translucent);font-weight:bold}#app-content.with-app-sidebar table.multiselect thead{margin-right:27%}table.multiselect .column-name{position:relative;width:9999px}table.multiselect .column-mtime>a{display:none}table td.selection,table th.selection,table td.fileaction{width:32px;text-align:center}table td.filename a.name,table td.filename p.name{display:flex;position:relative;-moz-box-sizing:border-box;box-sizing:border-box;height:50px;line-height:50px;padding:0}table td.filename .thumbnail-wrapper{width:0;min-width:50px;max-width:50px;height:50px}table td.filename .thumbnail-wrapper.icon-loading-small:after{z-index:10}table td.filename .thumbnail-wrapper.icon-loading-small .thumbnail{opacity:.2}table td.filename .thumbnail{display:inline-block;width:32px;height:32px;background-size:contain;background-position:center;background-repeat:no-repeat;margin-left:9px;margin-top:9px;border-radius:var(--border-radius);cursor:pointer;position:absolute;z-index:4}table td.filename p.name .thumbnail{cursor:default}table tr[data-has-preview=true] .thumbnail{border:1px solid var(--color-border)}table:not(.view-grid) td.filename input.filename{width:70% !important;margin-left:48px !important;cursor:text}table td.filename form{margin-top:-40px;position:relative;top:-6px}table td.filename a,table td.login,table td.logout,table td.download,table td.upload,table td.create,table td.delete{padding:3px 8px 8px 3px}table td.filename .nametext,.modified,.column-last>span:first-child{float:left;padding:15px 0}.modified,.column-last>span:first-child{position:relative;overflow:hidden;text-overflow:ellipsis;width:110px}table td.filename{max-width:0}table td.filename .nametext{width:0;flex-grow:1;display:flex;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;height:100%;z-index:10;padding:0 20px 0 0}table td.filename .system-tags{--min-size: 32px;display:flex;justify-content:center;align-items:center;flex:1 1 100%;min-width:calc(var(--min-size)*2);max-width:300px}table td.filename .system-tags .system-tags__tag{padding:5px 10px;border:1px solid;border-radius:var(--border-radius-pill);border-color:var(--color-border);color:var(--color-text-maxcontrast);height:var(--min-size);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:22px;text-align:center}table td.filename .system-tags .system-tags__tag--more{overflow:visible;text-overflow:initial}table td.filename .system-tags .system-tags__tag+.system-tags__tag{margin-left:5px}.hide-hidden-files .files-filestable .files-fileList tr.hidden-file,.hide-hidden-files .files-filestable .files-fileList tr.hidden-file.dragging{display:none !important}.files-fileList tr.animate-opacity{-webkit-transition:opacity 250ms;-moz-transition:opacity 250ms;-o-transition:opacity 250ms;transition:opacity 250ms}.files-fileList tr.dragging{opacity:.2}table td.filename .nametext .innernametext{text-overflow:ellipsis;overflow:hidden;position:relative;vertical-align:top}table td.filename .uploadtext{position:absolute;font-weight:normal;margin-left:50px;left:0;bottom:0;height:20px;padding:0 4px;padding-left:1px;font-size:11px;line-height:22px;color:var(--color-text-maxcontrast);text-overflow:ellipsis;white-space:nowrap}table td.selection{padding:0}.files-fileList tr td.selection>.selectCheckBox+label:before{opacity:.3;margin-right:0}.files-fileList tr:hover td.selection>.selectCheckBox+label:before,.files-fileList tr:focus td.selection>.selectCheckBox+label:before,.files-fileList tr td.selection>.selectCheckBox:checked+label:before,.files-fileList tr.selected td.selection>.selectCheckBox+label:before{opacity:1}.files-fileList tr.halfselected td.selection>.selectCheckBox+label:before{opacity:.5}.files-fileList tr td.selection>.selectCheckBox+label,.select-all+label{padding:16px}.files-fileList tr td.selection>.selectCheckBox:focus-visible+label,.select-all:focus-visible+label{background-color:var(--color-background-hover);border-radius:var(--border-radius-pill);outline:none !important;border:2px solid var(--color-primary-element) !important;padding:14px}.files-fileList tr td.selection>.selectCheckBox:focus-visible+label,.select-all:focus-visible+label{outline-offset:0px}.files-fileList tr td.filename{position:relative;width:100%;padding-left:0;padding-right:0;-webkit-transition:background-image 500ms;-moz-transition:background-image 500ms;-o-transition:background-image 500ms;transition:background-image 500ms}.files-fileList tr td.filename a.name label,.files-fileList tr td.filename p.name label{position:absolute;width:80%;height:50px}.files-fileList tr td.filename .favorite{display:inline-block;float:left}.files-fileList tr td.filename .favorite-mark{position:absolute;display:block;top:-8px;right:-8px;line-height:100%;text-align:center}.files-fileList tr td.filename .favorite-mark.permanent{background-color:var(--color-main-background);mask:var(--icon-star-rounded-white) no-repeat;mask-size:22px 22px;width:22px;height:22px;display:flex;align-content:center;justify-content:center}.files-fileList tr:hover td.filename .favorite-mark.permanent{background-color:var(--color-background-hover)}#uploadsize-message,#delete-confirm{display:none}.fileactions{z-index:50}.busy .fileactions,.busy .action{visibility:hidden}.bubble,#app-navigation .app-navigation-entry-menu{min-width:100px}.files-fileList .icon-loading-small{opacity:1 !important;display:inline !important}.files-fileList .action.action-share-notification span,.files-fileList a.name{cursor:default !important}.files-fileList a.name.disabled *{cursor:default}.files-fileList a.name.disabled a,.files-fileList a.name.disabled a *{cursor:pointer}.files-fileList a.name.disabled:focus{background:none}a.action>img{height:16px;width:16px;vertical-align:text-bottom}a.action.action-editlocally img.icon{filter:var(--background-invert-if-dark)}.selectedActions{position:relative;display:inline-block;vertical-align:middle}.selectedActions.hidden{display:none}.selectedActions a{display:inline;line-height:50px;padding:16px 5px}.selectedActions a.hidden{display:none}.selectedActions a img{position:relative;vertical-align:text-bottom;margin-bottom:-1px}.selectedActions .actions-selected .icon-more{margin-top:-3px}.files-fileList td a a.action{display:inline;padding:17px 8px;line-height:50px;opacity:.3}.files-fileList td a a.action.action-share{padding:17px 14px}.files-fileList td a a.action.action-share.permanent:not(.shared-style) .icon-shared+span{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}.files-fileList td a a.action.action-share .avatar{display:inline-block;vertical-align:middle}.files-fileList td a a.action.action-menu{padding-top:17px;padding-bottom:17px;padding-left:14px;padding-right:14px}.files-fileList td a a.action.no-permission:hover,.files-fileList td a a.action.no-permission:focus{opacity:.3}.files-fileList td a a.action.disabled:hover,.files-fileList td a a.action.disabled:focus,.files-fileList td a a.action.disabled img{opacity:.3}.files-fileList td a a.action.disabled.action-download{opacity:.7}.files-fileList td a a.action.disabled.action-download:hover,.files-fileList td a a.action.disabled.action-download:focus{opacity:.7}.files-fileList td a a.action:hover,.files-fileList td a a.action:focus{opacity:1}.files-fileList td a a.action:focus{background-color:var(--color-background-hover);border-radius:var(--border-radius-pill)}.files-fileList td a .fileActionsMenu a.action,.files-fileList td a a.action.action-share.shared-style{opacity:.7}.files-fileList td a .fileActionsMenu .action.permanent{opacity:1}.files-fileList .action.action-share.permanent.shared-style span:not(.icon){display:inline-block;max-width:70px;overflow:hidden;text-overflow:ellipsis;vertical-align:middle;margin-left:6px}.files-fileList .remoteAddress .userDomain{margin-left:0 !important}.files-fileList .favorite-mark.permanent{opacity:1}.files-fileList .fileActionsMenu a.action:hover,.files-fileList .fileActionsMenu a.action:focus,.files-fileList a.action.action-share.shared-style:hover,.files-fileList a.action.action-share.shared-style:focus{opacity:1}.files-fileList tr a.action.disabled{background:none}.selectedActions a.download.disabled,.files-fileList tr a.action.action-download.disabled{color:#000}.files-fileList tr:hover a.action.disabled:hover *{cursor:default}.summary{color:var(--color-text-maxcontrast);height:330px}.files-filestable .summary .filesummary{width:100%;padding-left:101px}#body-public .summary{height:180px}.summary:hover,.summary:focus,.summary,table tr.summary td{background-color:rgba(0,0,0,0)}.summary td{border-bottom:none;vertical-align:top;padding-top:20px}.summary td:first-child{padding:0}.hiddeninfo{white-space:pre-line}table.dragshadow{width:auto;z-index:2000}table.dragshadow td.filename{padding-left:60px;padding-right:16px;height:36px;max-width:unset}table.dragshadow td.size{padding-right:8px}.mask{z-index:50;position:absolute;top:0;left:0;right:0;bottom:0;background-color:var(--color-main-background);background-repeat:no-repeat no-repeat;background-position:50%;opacity:.7;transition:opacity 100ms;-moz-transition:opacity 100ms;-o-transition:opacity 100ms;-ms-transition:opacity 100ms;-webkit-transition:opacity 100ms}.mask.transparent{opacity:0}.newFileMenu{font-weight:300;top:100%;left:-48px !important;margin-top:4px;min-width:100px;z-index:1001}.newFileMenu::after{left:61px !important}.files-controls{box-sizing:border-box;position:-webkit-sticky;position:sticky;height:50px;padding:0;margin:0;background-color:var(--color-main-background-translucent);z-index:62;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:flex;top:0;padding-left:50px}.files-controls .actions>div>.button,.files-controls .actions>div button,.files-controls .actions>.button,.files-controls .actions button{box-sizing:border-box;display:inline-block;display:flex;height:44px;width:44px;padding:9px;align-items:center;justify-content:center}.files-controls .actions>div .button.hidden,.files-controls .actions .button.hidden{display:none}.viewer-mode #app-navigation+#app-content .files-controls{left:0}.files-filestable .filename .action .icon,.files-filestable .selectedActions a .icon,.files-filestable .filename .favorite-mark .icon,.files-controls .actions .button .icon{display:inline-block;vertical-align:middle;background-size:16px 16px}.files-filestable .filename .favorite-mark .icon-star{background-image:none}.files-filestable .filename .favorite-mark .icon-starred{background-image:var(--icon-starred-yellow) !important}.files-filestable .filename .action .icon.hidden,.files-filestable .selectedActions a .icon.hidden,.files-controls .actions .button .icon.hidden{display:none}.files-filestable .filename .action .icon.loading,.files-filestable .selectedActions a .icon.loading,.files-controls .actions .button .icon.loading{width:15px;height:15px}.app-files .actions .button.new{position:relative}.breadcrumb{align-items:center}.breadcrumb .icon-home{border-radius:var(--border-radius)}.breadcrumb .canDrop>a,.files-filestable tbody tr.canDrop{background-color:rgba(0,130,201,.3)}.dropzone-background{background-color:rgba(0,130,201,.3)}.dropzone-background :hover{box-shadow:none !important}.notCreatable{margin-left:12px;margin-right:44px;margin-top:12px;color:var(--color-main-text);overflow:auto;min-width:160px;height:54px}.notCreatable:not(.hidden){display:flex}.notCreatable .icon-alert-outline{top:-15px;position:relative;margin-right:4px}.quota-navigation-item{margin:0 !important;border:none;border-radius:0;background-color:rgba(0,0,0,0);z-index:1;height:44px;display:flex !important;flex-direction:column}.quota-navigation-item__text{height:30px}.quota-navigation-item[href="#"],.quota-navigation-item[href="#"] *{cursor:default !important}.quota-navigation-item__container{height:5px;border-radius:var(--border-radius)}.files-filestable.view-grid:not(.hidden) thead tr{display:block;border-bottom:1px solid var(--color-border);background-color:var(--color-main-background-translucent)}.files-filestable.view-grid:not(.hidden) thead tr th{width:auto;border:none}.files-filestable.view-grid:not(.hidden) tbody{display:grid;grid-template-columns:repeat(auto-fill, 160px);justify-content:space-around;row-gap:15px;margin:15px 0}.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden){display:block;position:relative;height:190px;border-radius:var(--border-radius)}.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden):hover,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden):focus,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden):active,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden).selected,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden).searchresult,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden) .name:focus,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden).highlighted{background-color:rgba(0,0,0,0)}.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden):hover .thumbnail-wrapper,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden):hover .nametext,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden):hover .fileactions,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden):focus .thumbnail-wrapper,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden):focus .nametext,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden):focus .fileactions,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden):active .thumbnail-wrapper,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden):active .nametext,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden):active .fileactions,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden).selected .thumbnail-wrapper,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden).selected .nametext,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden).selected .fileactions,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden).searchresult .thumbnail-wrapper,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden).searchresult .nametext,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden).searchresult .fileactions,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden) .name:focus .thumbnail-wrapper,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden) .name:focus .nametext,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden) .name:focus .fileactions,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden).highlighted .thumbnail-wrapper,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden).highlighted .nametext,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden).highlighted .fileactions{background-color:var(--color-background-hover)}.files-filestable.view-grid:not(.hidden) tbody td{display:inline;border-bottom:none}.files-filestable.view-grid:not(.hidden) tbody td.filename .thumbnail-wrapper{min-width:0;max-width:none;position:absolute;width:160px;height:160px;padding:14px;top:0;left:0;z-index:-1}.files-filestable.view-grid:not(.hidden) tbody td.filename .thumbnail-wrapper .thumbnail{width:calc(100% - 2 * 14px);height:calc(100% - 2 * 14px);background-size:contain;margin:0;border-radius:var(--border-radius);background-repeat:no-repeat;background-position:center}.files-filestable.view-grid:not(.hidden) tbody td.filename .thumbnail-wrapper .thumbnail .favorite-mark{left:auto;top:-11px;right:-11px}.files-filestable.view-grid:not(.hidden) tbody td.filename .uploadtext{width:100%;margin:0;top:0;bottom:auto;height:28px;padding-top:4px;padding-left:28px}.files-filestable.view-grid:not(.hidden) tbody td.filename .name{height:100%;border-radius:var(--border-radius);overflow:hidden;cursor:pointer !important}.files-filestable.view-grid:not(.hidden) tbody td.filename .name .nametext{display:flex;height:44px;margin-top:146px;text-align:center;line-height:44px;padding:0}.files-filestable.view-grid:not(.hidden) tbody td.filename .name .nametext .innernametext{display:inline-block;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.files-filestable.view-grid:not(.hidden) tbody td.filename .name .nametext:before{content:"";flex:1;min-width:14px}.files-filestable.view-grid:not(.hidden) tbody td.filename .name .nametext:after{content:"";flex:1;min-width:44px}.files-filestable.view-grid:not(.hidden) tbody td.filename .name .nametext .extension{display:none}.files-filestable.view-grid:not(.hidden) tbody td.filename .name .system-tags{display:none}.files-filestable.view-grid:not(.hidden) tbody td.filename .name .fileactions{height:initial;margin-top:146px;display:flex;align-items:center;position:absolute;right:0}.files-filestable.view-grid:not(.hidden) tbody td.filename .name .fileactions .action{padding:14px;width:44px;height:44px;display:flex;align-items:center;justify-content:center}.files-filestable.view-grid:not(.hidden) tbody td.filename .name .fileactions .action:not(.action-menu){display:none}.files-filestable.view-grid:not(.hidden) tbody td.filename .fileActionsMenu .action-share-container.hidden{display:block !important}.files-filestable.view-grid:not(.hidden) tbody td.filename .fileActionsMenu .action-share-container.hidden .action-share img{padding:6px;border-radius:50%}.files-filestable.view-grid:not(.hidden) tbody td.filename .fileActionsMenu .action-restore-container.hidden{display:block !important}.files-filestable.view-grid:not(.hidden) tbody td.filename .fileActionsMenu .action-comment-container.hidden{display:block !important}.files-filestable.view-grid:not(.hidden) tbody td.filename form{padding:3px 14px;border-radius:var(--border-radius)}.files-filestable.view-grid:not(.hidden) tbody td.filename form input.filename{width:100%;margin-left:0;cursor:text}.files-filestable.view-grid:not(.hidden) tbody td.filesize,.files-filestable.view-grid:not(.hidden) tbody td.date{display:none}.files-filestable.view-grid:not(.hidden) tbody td.selection,.files-filestable.view-grid:not(.hidden) tbody td.filename .favorite-mark{position:absolute;top:-8px;left:-8px;display:flex;z-index:10}.files-filestable.view-grid:not(.hidden) tbody td.selection label,.files-filestable.view-grid:not(.hidden) tbody td.filename .favorite-mark label{width:44px;height:44px;display:inline-flex;padding:14px}.files-filestable.view-grid:not(.hidden) tbody td.selection label::before,.files-filestable.view-grid:not(.hidden) tbody td.filename .favorite-mark label::before{margin:0;width:14px;height:14px}.files-filestable.view-grid:not(.hidden) tbody td .popovermenu{left:0;width:150px;margin:0 5px}.files-filestable.view-grid:not(.hidden) tbody td .popovermenu .menuitem span:not(.icon){overflow:hidden;text-overflow:ellipsis}.files-filestable.view-grid:not(.hidden) tr.hidden-file td.filename .name .nametext .extension{display:block}.files-filestable.view-grid:not(.hidden) tfoot{display:grid}.files-filestable.view-grid:not(.hidden) tfoot .summary:not(.hidden){display:inline-block;margin:0 auto;height:418px}.files-filestable.view-grid:not(.hidden) tfoot .summary:not(.hidden) td{padding-top:50px}.files-filestable.view-grid:not(.hidden) tfoot .summary:not(.hidden) td:first-child,.files-filestable.view-grid:not(.hidden) tfoot .summary:not(.hidden) td.date{display:none}.files-filestable.view-grid:not(.hidden) tfoot .summary:not(.hidden) td .info{margin-left:0}#view-toggle{background-color:var(--color-main-background-translucent);border:none;margin:0;padding:22px;opacity:.5;float:right;right:var(--default-grid-baseline);top:var(--default-grid-baseline);z-index:100;position:sticky}#view-toggle:hover,#view-toggle:focus,#showgridview:focus+#view-toggle{opacity:1}#view-toggle:focus-visible,#showgridview:focus-visible+#view-toggle{box-shadow:inset 0 0 0 2px var(--color-primary-element) !important}#showgridview{position:fixed;top:0}#body-public .files-filestable.view-grid:not(.hidden) tbody td.filename .name .nametext .innernametext{max-width:124px}#body-public .files-filestable.view-grid:not(.hidden) tbody td .popovermenu{left:-80px}#body-public #view-toggle{position:absolute;right:0;top:0}#gallery-button{display:none}#tag_multiple_files_container{overflow:hidden;background-color:#fff;border-radius:3px;position:relative;display:flex;flex-wrap:wrap;margin-bottom:10px}#tag_multiple_files_container h3{width:100%;padding:0 18px}#tag_multiple_files_container .systemTagsInputFieldContainer{flex:1 1 80%;min-width:0;margin:0 12px}#upload{box-sizing:border-box;height:36px;width:39px;padding:0 !important;margin-left:3px;overflow:hidden;vertical-align:top;position:relative;z-index:-20}#upload .icon-upload{position:relative;display:block;width:100%;height:44px;width:44px;margin:-5px -3px;cursor:pointer;z-index:10;opacity:.65}.file_upload_target{display:none}.file_upload_form{display:inline;float:left;margin:0;padding:0;cursor:pointer;overflow:visible}.uploadprogresswrapper,.uploadprogresswrapper *{box-sizing:border-box}.uploadprogresswrapper{display:inline-block;vertical-align:top;height:36px;margin-left:3px}.uploadprogresswrapper>input[type=button]{height:36px;margin-left:3px}#uploadprogressbar{border-color:var(--color-border-dark);border-radius:var(--border-radius-pill) 0 0 var(--border-radius-pill);border-right:0;position:relative;float:left;width:200px;height:44px;display:inline-block;text-align:center}#uploadprogressbar .ui-progressbar-value{margin-top:.1em}#uploadprogressbar .ui-progressbar-value.ui-widget-header.ui-corner-left{height:calc(100% + 2px);top:-1px;left:-1px;position:absolute;overflow:hidden;background-color:var(--color-primary-element)}#uploadprogressbar .label{top:8px;opacity:1;overflow:hidden;white-space:nowrap;font-weight:normal}#uploadprogressbar .label.inner{color:var(--color-primary-element-text);position:absolute;display:block;width:200px}#uploadprogressbar .label.outer{position:relative;color:var(--color-main-text)}#uploadprogressbar .desktop{display:block}#uploadprogressbar .mobile{display:none}#uploadprogressbar+.stop{border-top-left-radius:0;border-bottom-left-radius:0}.oc-dialog .fileexists{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;margin-bottom:30px}.oc-dialog .fileexists .conflict .filename,.oc-dialog .fileexists .conflict .mtime,.oc-dialog .fileexists .conflict .size{-webkit-touch-callout:initial;-webkit-user-select:initial;-khtml-user-select:initial;-moz-user-select:initial;-ms-user-select:initial;user-select:initial}.oc-dialog .fileexists .conflict .message{color:#e9322d}.oc-dialog .fileexists table{width:100%}.oc-dialog .fileexists th{padding-left:0;padding-right:0}.oc-dialog .fileexists th input[type=checkbox]{margin-right:3px}.oc-dialog .fileexists th:first-child{width:225px}.oc-dialog .fileexists th label{font-weight:normal;color:var(--color-main-text)}.oc-dialog .fileexists th .count{margin-left:3px}.oc-dialog .fileexists .conflicts .template{display:none}.oc-dialog .fileexists .conflict{width:100%;height:85px}.oc-dialog .fileexists .conflict .filename{color:#777;word-break:break-all;clear:left}.oc-dialog .fileexists .icon{width:64px;height:64px;margin:0px 5px 5px 5px;background-repeat:no-repeat;background-size:64px 64px;float:left}.oc-dialog .fileexists .original,.oc-dialog .fileexists .replacement{float:left;width:50%}.oc-dialog .fileexists .conflicts{overflow-y:auto;max-height:225px}.oc-dialog .fileexists .conflict input[type=checkbox]{float:left}.oc-dialog .fileexists #allfileslabel{float:right}.oc-dialog .fileexists #allfiles{vertical-align:bottom;position:relative;top:-3px}.oc-dialog .fileexists #allfiles+span{vertical-align:bottom}.oc-dialog .oc-dialog-buttonrow{width:100%;text-align:right}.oc-dialog .oc-dialog-buttonrow .cancel{float:left}.highlightUploaded{-webkit-animation:highlightAnimation 2s 1;-moz-animation:highlightAnimation 2s 1;-o-animation:highlightAnimation 2s 1;animation:highlightAnimation 2s 1}@-webkit-keyframes highlightAnimation{0%{background-color:#ffff8c}100%{background-color:rgba(0,0,0,0)}}@-moz-keyframes highlightAnimation{0%{background-color:#ffff8c}100%{background-color:rgba(0,0,0,0)}}@-o-keyframes highlightAnimation{0%{background-color:#ffff8c}100%{background-color:rgba(0,0,0,0)}}@keyframes highlightAnimation{0%{background-color:#ffff8c}100%{background-color:rgba(0,0,0,0)}}@media only screen and (max-width: 988px)and (min-width: 1025px),only screen and (max-width: 688px){.app-files #app-content.dir-drop{background-color:#fff !important}table th.column-size,table td.filesize,table th.column-mtime,table td.date{display:none}table td{padding:0}table.multiselect thead{padding-left:0}.fileList a.action.action-menu img{padding-left:0}.fileList .fileActionsMenu{margin-right:6px}.fileList a.action-share span:not(.icon):not(.avatar){position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}td.filename a.name .system-tags{display:none}#uploadprogressbar,#uploadprogressbar .label.inner{width:50px}#uploadprogressbar .desktop{display:none !important}#uploadprogressbar .mobile{display:block !important}table.dragshadow{z-index:1000}}@media only screen and (max-width: 480px){table th .selectedActions{float:right}table th .selectedActions>a span:not(.icon){display:none}table th .selectedActions a{padding:17px 14px}table.multiselect th .columntitle.name{margin-left:0}}.app-sidebar .detailFileInfoContainer{min-height:50px;padding:15px}.app-sidebar .detailFileInfoContainer>div{clear:both}.app-sidebar .mainFileInfoView .icon{display:inline-block;background-size:16px 16px}.app-sidebar .mainFileInfoView .permalink{padding:6px 10px;vertical-align:top;opacity:.6}.app-sidebar .mainFileInfoView .permalink:hover,.app-sidebar .mainFileInfoView .permalink:focus{opacity:1}.app-sidebar .mainFileInfoView .permalink-field>input{clear:both;width:90%}.app-sidebar .thumbnailContainer.large{margin-left:-15px;margin-right:-35px;margin-top:-15px}.app-sidebar .thumbnailContainer.large.portrait{margin:0}.app-sidebar .large .thumbnail{width:100%;display:block;background-repeat:no-repeat;background-position:center;background-size:100%;float:none;margin:0;height:auto}.app-sidebar .large .thumbnail .stretcher{content:"";display:block;padding-bottom:56.25%}.app-sidebar .large.portrait .thumbnail{background-position:50% top}.app-sidebar .large.portrait .thumbnail{background-size:contain}.app-sidebar .large.text{overflow-y:scroll;overflow-x:hidden;padding-top:14px;font-size:80%;margin-left:0}.app-sidebar .thumbnail{width:100%;min-height:75px;display:inline-block;float:left;margin-right:10px;background-size:contain;background-repeat:no-repeat}.app-sidebar .ellipsis{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.app-sidebar .fileName{font-size:16px;padding-top:13px;padding-bottom:3px}.app-sidebar .fileName h3{width:calc(100% - 42px);display:inline-block;padding:5px 0;margin:-5px 0}.app-sidebar .file-details{color:var(--color-text-maxcontrast)}.app-sidebar .action-favorite{vertical-align:sub;padding:10px;margin:-10px}.app-sidebar .action-favorite>span{opacity:.7 !important}.app-sidebar .detailList{float:left}.app-sidebar .close{position:absolute;top:0;right:0;opacity:.5;z-index:1;width:44px;height:44px}.whatsNewPopover{bottom:35px !important;left:15px !important;width:270px;z-index:700}.whatsNewPopover p{width:auto !important}.whatsNewPopover .caption{font-weight:bold;cursor:auto !important}.whatsNewPopover .icon-close{position:absolute;right:0}.whatsNewPopover::after{content:none}/*# sourceMappingURL=merged.css.map */ +.actions{padding:3px;height:100%;display:inline-block;float:left}.actions input,.actions button,.actions .button{margin:0;float:left}.actions .button a{color:#555}.actions .button a:hover,.actions .button a:focus{background-color:var(--color-background-hover)}.actions .button a:active{background-color:var(--color-primary-element-light)}.actions.creatable{position:relative;display:flex;flex:1 1}.actions.creatable .button:not(:last-child){margin-right:3px}.actions.hidden{display:none}#trash{margin-right:8px;float:right;z-index:1010;padding:10px;font-weight:normal}.newFileMenu .error,.newFileMenu .error+.icon-confirm,.files-fileList .error{color:var(--color-error);border-color:var(--color-error)}.files-filestable{position:relative;width:100%;min-width:250px;display:block;flex-direction:column}.emptycontent:not(.hidden)~.files-filestable{display:none}.files-filestable thead{position:-webkit-sticky;position:sticky;top:44px;z-index:60;display:block;background-color:var(--color-main-background-translucent)}.files-filestable tbody{display:table;width:100%}.files-filestable tbody tr[data-permissions="0"],.files-filestable tbody tr[data-permissions="16"]{background-color:var(--color-background-dark)}.files-filestable tbody tr[data-permissions="0"] td.filename .nametext .innernametext,.files-filestable tbody tr[data-permissions="16"] td.filename .nametext .innernametext{color:var(--color-text-maxcontrast)}.files-filestable tbody tr[data-e2eencrypted=true] .selection{pointer-events:none}.files-filestable.hidden{display:none}.app-files #app-content>.viewcontainer{min-height:0%;width:100%}.app-files #app-content{width:calc(100% - 300px);overflow-anchor:none}.file-drag,.file-drag .files-filestable tbody tr,.file-drag .files-filestable tbody tr:hover{background-color:var(--color-primary-element-light) !important}.app-files #app-content.dir-drop{background-color:var(--color-main-background) !important}.file-drag .files-filestable tbody tr,.file-drag .files-filestable tbody tr:hover{background-color:rgba(0,0,0,0) !important}.app-files #app-content.dir-drop .files-filestable tbody tr.dropping-to-dir{background-color:var(--color-primary-element-light) !important}.nav-icon-files{background-image:var(--icon-folder-dark)}.nav-icon-recent{background-image:var(--icon-recent-dark)}.nav-icon-favorites{background-image:var(--icon-starred-dark)}.nav-icon-sharingin,.nav-icon-sharingout,.nav-icon-pendingshares,.nav-icon-shareoverview{background-image:var(--icon-share-dark)}.nav-icon-sharinglinks{background-image:var(--icon-public-dark)}.nav-icon-extstoragemounts{background-image:var(--icon-external-dark)}.nav-icon-trashbin{background-image:var(--icon-delete-dark)}.nav-icon-trashbin-starred{background-image:var(--icon-delete-#ff0000)}.nav-icon-deletedshares{background-image:var(--icon-unshare-dark)}.nav-icon-favorites-starred{background-image:var(--icon-starred-yellow)}#app-navigation .nav-files a.nav-icon-files{width:auto}#app-navigation .nav-files a.new{width:40px;height:32px;padding:0 10px;margin:0;cursor:pointer}#app-navigation .nav-files a.new.hidden{display:none}#app-navigation .nav-files a.new.disabled{opacity:.3}.files-filestable tbody tr{height:51px}.files-filestable tbody tr:hover,.files-filestable tbody tr:focus,.files-filestable tbody .name:focus,.files-filestable tbody tr:hover .filename form,table tr.mouseOver td{background-color:var(--color-background-hover)}.files-filestable tbody tr:active,.files-filestable tbody tr.highlighted,.files-filestable tbody tr.highlighted .name:focus,.files-filestable tbody tr.selected,.files-filestable tbody tr.searchresult{background-color:var(--color-primary-element-light)}tbody a{color:var(--color-main-text)}span.conflict-path,span.extension,span.uploading,td.date{color:var(--color-text-maxcontrast)}span.conflict-path,span.extension{-webkit-transition:opacity 300ms;-moz-transition:opacity 300ms;-o-transition:opacity 300ms;transition:opacity 300ms;vertical-align:top}tr:hover span.conflict-path,tr:focus span.conflict-path,tr:hover span.extension,tr:focus span.extension{opacity:1;color:var(--color-text-maxcontrast)}table th,table th a{color:var(--color-text-maxcontrast)}table.multiselect th a{color:var(--color-main-text)}table th .columntitle{display:block;padding:15px;height:50px;box-sizing:border-box;-moz-box-sizing:border-box;vertical-align:middle}table th .columntitle:focus-visible{border-radius:2px}table.multiselect th .columntitle{display:inline-block;margin-right:-20px}table th .columntitle.name{padding-left:0;margin-left:44px}table.multiselect th .columntitle.name{margin-left:0}table th .sort-indicator{width:10px;height:8px;margin-left:5px;display:inline-block;vertical-align:text-bottom;opacity:.3}.sort-indicator.hidden,.multiselect .sort-indicator,table.multiselect th:hover .sort-indicator.hidden,table.multiselect th:focus .sort-indicator.hidden{visibility:hidden}.multiselect .sort,.multiselect .sort span{cursor:default}table th:hover .sort-indicator.hidden,table th:focus .sort-indicator.hidden{visibility:visible}table th,table td{border-bottom:1px solid var(--color-border);text-align:left;font-weight:normal}table td{padding:0 15px;font-style:normal;background-position:8px center;background-repeat:no-repeat}table th.column-name{position:relative;width:9999px;padding:0}.column-name-container{position:relative;height:50px}table th.column-selection{padding-top:2px}table th.column-size,table td.filesize{text-align:right}table th.column-mtime,table td.date,table th.column-last,table td.column-last{-moz-box-sizing:border-box;box-sizing:border-box;position:relative;min-width:130px}#app-content-recent,#app-content-favorites,#app-content-shareoverview,#app-content-sharingout,#app-content-sharingin,#app-content-sharinglinks,#app-content-deletedshares,#app-content-pendingshares{margin-top:22px}#app-content-recent thead,#app-content-favorites thead,#app-content-shareoverview thead,#app-content-sharingout thead,#app-content-sharingin thead,#app-content-sharinglinks thead,#app-content-deletedshares thead,#app-content-pendingshares thead{top:0}table.multiselect thead th{background-color:var(--color-main-background-translucent);font-weight:bold}#app-content.with-app-sidebar table.multiselect thead{margin-right:27%}table.multiselect .column-name{position:relative;width:9999px}table.multiselect .column-mtime>a{display:none}table td.selection,table th.selection,table td.fileaction{width:32px;text-align:center}table td.filename a.name,table td.filename p.name{display:flex;position:relative;-moz-box-sizing:border-box;box-sizing:border-box;height:50px;line-height:50px;padding:0}table td.filename .thumbnail-wrapper{width:0;min-width:50px;max-width:50px;height:50px}table td.filename .thumbnail-wrapper.icon-loading-small:after{z-index:10}table td.filename .thumbnail-wrapper.icon-loading-small .thumbnail{opacity:.2}table td.filename .thumbnail{display:inline-block;width:32px;height:32px;background-size:contain;background-position:center;background-repeat:no-repeat;margin-left:9px;margin-top:9px;border-radius:var(--border-radius);cursor:pointer;position:absolute;z-index:4}table td.filename p.name .thumbnail{cursor:default}table tr[data-has-preview=true] .thumbnail{border:1px solid var(--color-border)}table:not(.view-grid) td.filename input.filename{width:70% !important;margin-left:48px !important;cursor:text}table td.filename form{margin-top:-40px;position:relative;top:-6px}table td.filename a,table td.login,table td.logout,table td.download,table td.upload,table td.create,table td.delete{padding:3px 8px 8px 3px}table td.filename .nametext,.modified,.column-last>span:first-child{float:left;padding:15px 0}.modified,.column-last>span:first-child{position:relative;overflow:hidden;text-overflow:ellipsis;width:110px}table td.filename{max-width:0}table td.filename .nametext{width:0;flex-grow:1;display:flex;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;height:100%;z-index:10;padding:0 20px 0 0}table td.filename .system-tags{--min-size: 32px;display:flex;justify-content:center;align-items:center;min-width:calc(var(--min-size)*2);max-width:300px}table td.filename .system-tags .system-tags__tag{padding:5px 10px;border:1px solid;border-radius:var(--border-radius-pill);border-color:var(--color-border);color:var(--color-text-maxcontrast);height:var(--min-size);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:22px;text-align:center}table td.filename .system-tags .system-tags__tag--more{overflow:visible;text-overflow:initial}table td.filename .system-tags .system-tags__tag+.system-tags__tag{margin-left:5px}.hide-hidden-files .files-filestable .files-fileList tr.hidden-file,.hide-hidden-files .files-filestable .files-fileList tr.hidden-file.dragging{display:none !important}.files-fileList tr.animate-opacity{-webkit-transition:opacity 250ms;-moz-transition:opacity 250ms;-o-transition:opacity 250ms;transition:opacity 250ms}.files-fileList tr.dragging{opacity:.2}table td.filename .nametext .innernametext{text-overflow:ellipsis;overflow:hidden;position:relative;vertical-align:top}table td.filename .uploadtext{position:absolute;font-weight:normal;margin-left:50px;left:0;bottom:0;height:20px;padding:0 4px;padding-left:1px;font-size:11px;line-height:22px;color:var(--color-text-maxcontrast);text-overflow:ellipsis;white-space:nowrap}table td.selection{padding:0}.files-fileList tr td.selection>.selectCheckBox+label:before{opacity:.3;margin-right:0}.files-fileList tr:hover td.selection>.selectCheckBox+label:before,.files-fileList tr:focus td.selection>.selectCheckBox+label:before,.files-fileList tr td.selection>.selectCheckBox:checked+label:before,.files-fileList tr.selected td.selection>.selectCheckBox+label:before{opacity:1}.files-fileList tr.halfselected td.selection>.selectCheckBox+label:before{opacity:.5}.files-fileList tr td.selection>.selectCheckBox+label,.select-all+label{padding:16px}.files-fileList tr td.selection>.selectCheckBox:focus-visible+label,.select-all:focus-visible+label{background-color:var(--color-background-hover);border-radius:var(--border-radius-pill);outline:none !important;border:2px solid var(--color-primary-element) !important;padding:14px}.files-fileList tr td.selection>.selectCheckBox:focus-visible+label,.select-all:focus-visible+label{outline-offset:0px}.files-fileList tr td.filename{position:relative;width:100%;padding-left:0;padding-right:0;-webkit-transition:background-image 500ms;-moz-transition:background-image 500ms;-o-transition:background-image 500ms;transition:background-image 500ms}.files-fileList tr td.filename a.name label,.files-fileList tr td.filename p.name label{position:absolute;width:80%;height:50px}.files-fileList tr td.filename .favorite{display:inline-block;float:left}.files-fileList tr td.filename .favorite-mark{position:absolute;display:block;top:-8px;right:-8px;line-height:100%;text-align:center}.files-fileList tr td.filename .favorite-mark.permanent{background-color:var(--color-main-background);mask:var(--icon-star-rounded-white) no-repeat;mask-size:22px 22px;width:22px;height:22px;display:flex;align-content:center;justify-content:center}.files-fileList tr:hover td.filename .favorite-mark.permanent{background-color:var(--color-background-hover)}#uploadsize-message,#delete-confirm{display:none}.fileactions{z-index:50}.busy .fileactions,.busy .action{visibility:hidden}.bubble,#app-navigation .app-navigation-entry-menu{min-width:100px}.files-fileList .icon-loading-small{opacity:1 !important;display:inline !important}.files-fileList .action.action-share-notification span,.files-fileList a.name{cursor:default !important}.files-fileList a.name.disabled *{cursor:default}.files-fileList a.name.disabled a,.files-fileList a.name.disabled a *{cursor:pointer}.files-fileList a.name.disabled:focus{background:none}a.action>img{height:16px;width:16px;vertical-align:text-bottom}a.action.action-editlocally img.icon{filter:var(--background-invert-if-dark)}.selectedActions{position:relative;display:inline-block;vertical-align:middle}.selectedActions.hidden{display:none}.selectedActions a{display:inline;line-height:50px;padding:16px 5px}.selectedActions a.hidden{display:none}.selectedActions a img{position:relative;vertical-align:text-bottom;margin-bottom:-1px}.selectedActions .actions-selected .icon-more{margin-top:-3px}.files-fileList td a a.action{display:inline;padding:17px 8px;line-height:50px;opacity:.3}.files-fileList td a a.action.action-share{padding:17px 14px}.files-fileList td a a.action.action-share.permanent:not(.shared-style) .icon-shared+span{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}.files-fileList td a a.action.action-share .avatar{display:inline-block;vertical-align:middle}.files-fileList td a a.action.action-menu{padding-top:17px;padding-bottom:17px;padding-left:14px;padding-right:14px}.files-fileList td a a.action.no-permission:hover,.files-fileList td a a.action.no-permission:focus{opacity:.3}.files-fileList td a a.action.disabled:hover,.files-fileList td a a.action.disabled:focus,.files-fileList td a a.action.disabled img{opacity:.3}.files-fileList td a a.action.disabled.action-download{opacity:.7}.files-fileList td a a.action.disabled.action-download:hover,.files-fileList td a a.action.disabled.action-download:focus{opacity:.7}.files-fileList td a a.action:hover,.files-fileList td a a.action:focus{opacity:1}.files-fileList td a a.action:focus{background-color:var(--color-background-hover);border-radius:var(--border-radius-pill)}.files-fileList td a .fileActionsMenu a.action,.files-fileList td a a.action.action-share.shared-style{opacity:.7}.files-fileList td a .fileActionsMenu .action.permanent{opacity:1}.files-fileList .action.action-share.permanent.shared-style span:not(.icon){display:inline-block;max-width:70px;overflow:hidden;text-overflow:ellipsis;vertical-align:middle;margin-left:6px}.files-fileList .remoteAddress .userDomain{margin-left:0 !important}.files-fileList .favorite-mark.permanent{opacity:1}.files-fileList .fileActionsMenu a.action:hover,.files-fileList .fileActionsMenu a.action:focus,.files-fileList a.action.action-share.shared-style:hover,.files-fileList a.action.action-share.shared-style:focus{opacity:1}.files-fileList tr a.action.disabled{background:none}.selectedActions a.download.disabled,.files-fileList tr a.action.action-download.disabled{color:#000}.files-fileList tr:hover a.action.disabled:hover *{cursor:default}.summary{color:var(--color-text-maxcontrast);height:330px}.files-filestable .summary .filesummary{width:100%;padding-left:101px}#body-public .summary{height:180px}.summary:hover,.summary:focus,.summary,table tr.summary td{background-color:rgba(0,0,0,0)}.summary td{border-bottom:none;vertical-align:top;padding-top:20px}.summary td:first-child{padding:0}.hiddeninfo{white-space:pre-line}table.dragshadow{width:auto;z-index:2000}table.dragshadow td.filename{padding-left:60px;padding-right:16px;height:36px;max-width:unset}table.dragshadow td.size{padding-right:8px}.mask{z-index:50;position:absolute;top:0;left:0;right:0;bottom:0;background-color:var(--color-main-background);background-repeat:no-repeat no-repeat;background-position:50%;opacity:.7;transition:opacity 100ms;-moz-transition:opacity 100ms;-o-transition:opacity 100ms;-ms-transition:opacity 100ms;-webkit-transition:opacity 100ms}.mask.transparent{opacity:0}.newFileMenu{font-weight:300;top:100%;left:-48px !important;margin-top:4px;min-width:100px;z-index:1001}.newFileMenu::after{left:61px !important}.files-controls{box-sizing:border-box;position:-webkit-sticky;position:sticky;height:50px;padding:0;margin:0;background-color:var(--color-main-background-translucent);z-index:62;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:flex;top:0;padding-left:50px}.files-controls .actions>div>.button,.files-controls .actions>div button,.files-controls .actions>.button,.files-controls .actions button{box-sizing:border-box;display:inline-block;display:flex;height:44px;width:44px;padding:9px;align-items:center;justify-content:center}.files-controls .actions>div .button.hidden,.files-controls .actions .button.hidden{display:none}.viewer-mode #app-navigation+#app-content .files-controls{left:0}.files-filestable .filename .action .icon,.files-filestable .selectedActions a .icon,.files-filestable .filename .favorite-mark .icon,.files-controls .actions .button .icon{display:inline-block;vertical-align:middle;background-size:16px 16px}.files-filestable .filename .favorite-mark .icon-star{background-image:none}.files-filestable .filename .favorite-mark .icon-starred{background-image:var(--icon-starred-yellow) !important}.files-filestable .filename .action .icon.hidden,.files-filestable .selectedActions a .icon.hidden,.files-controls .actions .button .icon.hidden{display:none}.files-filestable .filename .action .icon.loading,.files-filestable .selectedActions a .icon.loading,.files-controls .actions .button .icon.loading{width:15px;height:15px}.app-files .actions .button.new{position:relative}.breadcrumb{align-items:center}.breadcrumb .icon-home{border-radius:var(--border-radius)}.breadcrumb .canDrop>a,.files-filestable tbody tr.canDrop{background-color:rgba(0,130,201,.3)}.dropzone-background{background-color:rgba(0,130,201,.3)}.dropzone-background :hover{box-shadow:none !important}.notCreatable{margin-left:12px;margin-right:44px;margin-top:12px;color:var(--color-main-text);overflow:auto;min-width:160px;height:54px}.notCreatable:not(.hidden){display:flex}.notCreatable .icon-alert-outline{top:-15px;position:relative;margin-right:4px}.quota-navigation-item{margin:0 !important;border:none;border-radius:0;background-color:rgba(0,0,0,0);z-index:1;height:44px;display:flex !important;flex-direction:column}.quota-navigation-item__text{height:30px}.quota-navigation-item[href="#"],.quota-navigation-item[href="#"] *{cursor:default !important}.quota-navigation-item__container{height:5px;border-radius:var(--border-radius)}.files-filestable.view-grid:not(.hidden) thead tr{display:block;border-bottom:1px solid var(--color-border);background-color:var(--color-main-background-translucent)}.files-filestable.view-grid:not(.hidden) thead tr th{width:auto;border:none}.files-filestable.view-grid:not(.hidden) tbody{display:grid;grid-template-columns:repeat(auto-fill, 160px);justify-content:space-around;row-gap:15px;margin:15px 0}.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden){display:block;position:relative;height:190px;border-radius:var(--border-radius)}.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden):hover,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden):focus,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden):active,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden).selected,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden).searchresult,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden) .name:focus,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden).highlighted{background-color:rgba(0,0,0,0)}.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden):hover .thumbnail-wrapper,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden):hover .nametext,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden):hover .fileactions,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden):focus .thumbnail-wrapper,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden):focus .nametext,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden):focus .fileactions,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden):active .thumbnail-wrapper,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden):active .nametext,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden):active .fileactions,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden).selected .thumbnail-wrapper,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden).selected .nametext,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden).selected .fileactions,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden).searchresult .thumbnail-wrapper,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden).searchresult .nametext,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden).searchresult .fileactions,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden) .name:focus .thumbnail-wrapper,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden) .name:focus .nametext,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden) .name:focus .fileactions,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden).highlighted .thumbnail-wrapper,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden).highlighted .nametext,.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden).highlighted .fileactions{background-color:var(--color-background-hover)}.files-filestable.view-grid:not(.hidden) tbody td{display:inline;border-bottom:none}.files-filestable.view-grid:not(.hidden) tbody td.filename .thumbnail-wrapper{min-width:0;max-width:none;position:absolute;width:160px;height:160px;padding:14px;top:0;left:0;z-index:-1}.files-filestable.view-grid:not(.hidden) tbody td.filename .thumbnail-wrapper .thumbnail{width:calc(100% - 2 * 14px);height:calc(100% - 2 * 14px);background-size:contain;margin:0;border-radius:var(--border-radius);background-repeat:no-repeat;background-position:center}.files-filestable.view-grid:not(.hidden) tbody td.filename .thumbnail-wrapper .thumbnail .favorite-mark{left:auto;top:-11px;right:-11px}.files-filestable.view-grid:not(.hidden) tbody td.filename .uploadtext{width:100%;margin:0;top:0;bottom:auto;height:28px;padding-top:4px;padding-left:28px}.files-filestable.view-grid:not(.hidden) tbody td.filename .name{height:100%;border-radius:var(--border-radius);overflow:hidden;cursor:pointer !important}.files-filestable.view-grid:not(.hidden) tbody td.filename .name .nametext{display:flex;height:44px;margin-top:146px;text-align:center;line-height:44px;padding:0}.files-filestable.view-grid:not(.hidden) tbody td.filename .name .nametext .innernametext{display:inline-block;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.files-filestable.view-grid:not(.hidden) tbody td.filename .name .nametext:before{content:"";flex:1;min-width:14px}.files-filestable.view-grid:not(.hidden) tbody td.filename .name .nametext:after{content:"";flex:1;min-width:44px}.files-filestable.view-grid:not(.hidden) tbody td.filename .name .nametext .extension{display:none}.files-filestable.view-grid:not(.hidden) tbody td.filename .name .system-tags{display:none}.files-filestable.view-grid:not(.hidden) tbody td.filename .name .fileactions{height:initial;margin-top:146px;display:flex;align-items:center;position:absolute;right:0}.files-filestable.view-grid:not(.hidden) tbody td.filename .name .fileactions .action{padding:14px;width:44px;height:44px;display:flex;align-items:center;justify-content:center}.files-filestable.view-grid:not(.hidden) tbody td.filename .name .fileactions .action:not(.action-menu){display:none}.files-filestable.view-grid:not(.hidden) tbody td.filename .fileActionsMenu .action-share-container.hidden{display:block !important}.files-filestable.view-grid:not(.hidden) tbody td.filename .fileActionsMenu .action-share-container.hidden .action-share img{padding:6px;border-radius:50%}.files-filestable.view-grid:not(.hidden) tbody td.filename .fileActionsMenu .action-restore-container.hidden{display:block !important}.files-filestable.view-grid:not(.hidden) tbody td.filename .fileActionsMenu .action-comment-container.hidden{display:block !important}.files-filestable.view-grid:not(.hidden) tbody td.filename form{padding:3px 14px;border-radius:var(--border-radius)}.files-filestable.view-grid:not(.hidden) tbody td.filename form input.filename{width:100%;margin-left:0;cursor:text}.files-filestable.view-grid:not(.hidden) tbody td.filesize,.files-filestable.view-grid:not(.hidden) tbody td.date{display:none}.files-filestable.view-grid:not(.hidden) tbody td.selection,.files-filestable.view-grid:not(.hidden) tbody td.filename .favorite-mark{position:absolute;top:-8px;left:-8px;display:flex;z-index:10}.files-filestable.view-grid:not(.hidden) tbody td.selection label,.files-filestable.view-grid:not(.hidden) tbody td.filename .favorite-mark label{width:44px;height:44px;display:inline-flex;padding:14px}.files-filestable.view-grid:not(.hidden) tbody td.selection label::before,.files-filestable.view-grid:not(.hidden) tbody td.filename .favorite-mark label::before{margin:0;width:14px;height:14px}.files-filestable.view-grid:not(.hidden) tbody td .popovermenu{left:0;width:150px;margin:0 5px}.files-filestable.view-grid:not(.hidden) tbody td .popovermenu .menuitem span:not(.icon){overflow:hidden;text-overflow:ellipsis}.files-filestable.view-grid:not(.hidden) tr.hidden-file td.filename .name .nametext .extension{display:block}.files-filestable.view-grid:not(.hidden) tfoot{display:grid}.files-filestable.view-grid:not(.hidden) tfoot .summary:not(.hidden){display:inline-block;margin:0 auto;height:418px}.files-filestable.view-grid:not(.hidden) tfoot .summary:not(.hidden) td{padding-top:50px}.files-filestable.view-grid:not(.hidden) tfoot .summary:not(.hidden) td:first-child,.files-filestable.view-grid:not(.hidden) tfoot .summary:not(.hidden) td.date{display:none}.files-filestable.view-grid:not(.hidden) tfoot .summary:not(.hidden) td .info{margin-left:0}#view-toggle{background-color:var(--color-main-background-translucent);border:none;margin:0;padding:22px;opacity:.5;float:right;right:var(--default-grid-baseline);top:var(--default-grid-baseline);z-index:100;position:sticky}#view-toggle:hover,#view-toggle:focus,#showgridview:focus+#view-toggle{opacity:1}#view-toggle:focus-visible,#showgridview:focus-visible+#view-toggle{box-shadow:inset 0 0 0 2px var(--color-primary-element) !important}#showgridview{position:fixed;top:0}#body-public .files-filestable.view-grid:not(.hidden) tbody td.filename .name .nametext .innernametext{max-width:124px}#body-public .files-filestable.view-grid:not(.hidden) tbody td .popovermenu{left:-80px}#body-public #view-toggle{position:absolute;right:0;top:0}#gallery-button{display:none}#tag_multiple_files_container{overflow:hidden;background-color:#fff;border-radius:3px;position:relative;display:flex;flex-wrap:wrap;margin-bottom:10px}#tag_multiple_files_container h3{width:100%;padding:0 18px}#tag_multiple_files_container .systemTagsInputFieldContainer{flex:1 1 80%;min-width:0;margin:0 12px}#upload{box-sizing:border-box;height:36px;width:39px;padding:0 !important;margin-left:3px;overflow:hidden;vertical-align:top;position:relative;z-index:-20}#upload .icon-upload{position:relative;display:block;width:100%;height:44px;width:44px;margin:-5px -3px;cursor:pointer;z-index:10;opacity:.65}.file_upload_target{display:none}.file_upload_form{display:inline;float:left;margin:0;padding:0;cursor:pointer;overflow:visible}.uploadprogresswrapper,.uploadprogresswrapper *{box-sizing:border-box}.uploadprogresswrapper{display:inline-block;vertical-align:top;height:36px;margin-left:3px}.uploadprogresswrapper>input[type=button]{height:36px;margin-left:3px}#uploadprogressbar{border-color:var(--color-border-dark);border-radius:var(--border-radius-pill) 0 0 var(--border-radius-pill);border-right:0;position:relative;float:left;width:200px;height:44px;display:inline-block;text-align:center}#uploadprogressbar .ui-progressbar-value{margin-top:.1em}#uploadprogressbar .ui-progressbar-value.ui-widget-header.ui-corner-left{height:calc(100% + 2px);top:-1px;left:-1px;position:absolute;overflow:hidden;background-color:var(--color-primary-element)}#uploadprogressbar .label{top:8px;opacity:1;overflow:hidden;white-space:nowrap;font-weight:normal}#uploadprogressbar .label.inner{color:var(--color-primary-element-text);position:absolute;display:block;width:200px}#uploadprogressbar .label.outer{position:relative;color:var(--color-main-text)}#uploadprogressbar .desktop{display:block}#uploadprogressbar .mobile{display:none}#uploadprogressbar+.stop{border-top-left-radius:0;border-bottom-left-radius:0}.oc-dialog .fileexists{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;margin-bottom:30px}.oc-dialog .fileexists .conflict .filename,.oc-dialog .fileexists .conflict .mtime,.oc-dialog .fileexists .conflict .size{-webkit-touch-callout:initial;-webkit-user-select:initial;-khtml-user-select:initial;-moz-user-select:initial;-ms-user-select:initial;user-select:initial}.oc-dialog .fileexists .conflict .message{color:#e9322d}.oc-dialog .fileexists table{width:100%}.oc-dialog .fileexists th{padding-left:0;padding-right:0}.oc-dialog .fileexists th input[type=checkbox]{margin-right:3px}.oc-dialog .fileexists th:first-child{width:225px}.oc-dialog .fileexists th label{font-weight:normal;color:var(--color-main-text)}.oc-dialog .fileexists th .count{margin-left:3px}.oc-dialog .fileexists .conflicts .template{display:none}.oc-dialog .fileexists .conflict{width:100%;height:85px}.oc-dialog .fileexists .conflict .filename{color:#777;word-break:break-all;clear:left}.oc-dialog .fileexists .icon{width:64px;height:64px;margin:0px 5px 5px 5px;background-repeat:no-repeat;background-size:64px 64px;float:left}.oc-dialog .fileexists .original,.oc-dialog .fileexists .replacement{float:left;width:50%}.oc-dialog .fileexists .conflicts{overflow-y:auto;max-height:225px}.oc-dialog .fileexists .conflict input[type=checkbox]{float:left}.oc-dialog .fileexists #allfileslabel{float:right}.oc-dialog .fileexists #allfiles{vertical-align:bottom;position:relative;top:-3px}.oc-dialog .fileexists #allfiles+span{vertical-align:bottom}.oc-dialog .oc-dialog-buttonrow{width:100%;text-align:right}.oc-dialog .oc-dialog-buttonrow .cancel{float:left}.highlightUploaded{-webkit-animation:highlightAnimation 2s 1;-moz-animation:highlightAnimation 2s 1;-o-animation:highlightAnimation 2s 1;animation:highlightAnimation 2s 1}@-webkit-keyframes highlightAnimation{0%{background-color:#ffff8c}100%{background-color:rgba(0,0,0,0)}}@-moz-keyframes highlightAnimation{0%{background-color:#ffff8c}100%{background-color:rgba(0,0,0,0)}}@-o-keyframes highlightAnimation{0%{background-color:#ffff8c}100%{background-color:rgba(0,0,0,0)}}@keyframes highlightAnimation{0%{background-color:#ffff8c}100%{background-color:rgba(0,0,0,0)}}@media only screen and (max-width: 988px)and (min-width: 1025px),only screen and (max-width: 688px){.app-files #app-content.dir-drop{background-color:#fff !important}table th.column-size,table td.filesize,table th.column-mtime,table td.date{display:none}table td{padding:0}table.multiselect thead{padding-left:0}.fileList a.action.action-menu img{padding-left:0}.fileList .fileActionsMenu{margin-right:6px}.fileList a.action-share span:not(.icon):not(.avatar){position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}td.filename a.name .system-tags{display:none}#uploadprogressbar,#uploadprogressbar .label.inner{width:50px}#uploadprogressbar .desktop{display:none !important}#uploadprogressbar .mobile{display:block !important}table.dragshadow{z-index:1000}}@media only screen and (max-width: 480px){table th .selectedActions{float:right}table th .selectedActions>a span:not(.icon){display:none}table th .selectedActions a{padding:17px 14px}table.multiselect th .columntitle.name{margin-left:0}}.app-sidebar .detailFileInfoContainer{min-height:50px;padding:15px}.app-sidebar .detailFileInfoContainer>div{clear:both}.app-sidebar .mainFileInfoView .icon{display:inline-block;background-size:16px 16px}.app-sidebar .mainFileInfoView .permalink{padding:6px 10px;vertical-align:top;opacity:.6}.app-sidebar .mainFileInfoView .permalink:hover,.app-sidebar .mainFileInfoView .permalink:focus{opacity:1}.app-sidebar .mainFileInfoView .permalink-field>input{clear:both;width:90%}.app-sidebar .thumbnailContainer.large{margin-left:-15px;margin-right:-35px;margin-top:-15px}.app-sidebar .thumbnailContainer.large.portrait{margin:0}.app-sidebar .large .thumbnail{width:100%;display:block;background-repeat:no-repeat;background-position:center;background-size:100%;float:none;margin:0;height:auto}.app-sidebar .large .thumbnail .stretcher{content:"";display:block;padding-bottom:56.25%}.app-sidebar .large.portrait .thumbnail{background-position:50% top}.app-sidebar .large.portrait .thumbnail{background-size:contain}.app-sidebar .large.text{overflow-y:scroll;overflow-x:hidden;padding-top:14px;font-size:80%;margin-left:0}.app-sidebar .thumbnail{width:100%;min-height:75px;display:inline-block;float:left;margin-right:10px;background-size:contain;background-repeat:no-repeat}.app-sidebar .ellipsis{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.app-sidebar .fileName{font-size:16px;padding-top:13px;padding-bottom:3px}.app-sidebar .fileName h3{width:calc(100% - 42px);display:inline-block;padding:5px 0;margin:-5px 0}.app-sidebar .file-details{color:var(--color-text-maxcontrast)}.app-sidebar .action-favorite{vertical-align:sub;padding:10px;margin:-10px}.app-sidebar .action-favorite>span{opacity:.7 !important}.app-sidebar .detailList{float:left}.app-sidebar .close{position:absolute;top:0;right:0;opacity:.5;z-index:1;width:44px;height:44px}.whatsNewPopover{bottom:35px !important;left:15px !important;width:270px;z-index:700}.whatsNewPopover p{width:auto !important}.whatsNewPopover .caption{font-weight:bold;cursor:auto !important}.whatsNewPopover .icon-close{position:absolute;right:0}.whatsNewPopover::after{content:none}/*# sourceMappingURL=merged.css.map */ diff --git a/apps/files/css/merged.css.map b/apps/files/css/merged.css.map index 91abbce0af1..06281821a75 100644 --- a/apps/files/css/merged.css.map +++ b/apps/files/css/merged.css.map @@ -1 +1 @@ -{"version":3,"sourceRoot":"","sources":["files.scss","../../../core/css/functions.scss","upload.scss","mobile.scss","detailsView.scss","../../../core/css/whatsnew.scss"],"names":[],"mappings":"AAWA,SAEC,YACA,YACA,qBACA,WAED,oEACA,8BACA,kDAEC,+CAED,0BACC,oDAGD,mBACC,kBACA,aACA,SACA,4CACC,iBAIF,gBACC,aAGD,OACC,iBACA,YACA,aACA,aACA,mBAGD,6EAGC,yBACA,gCAID,kBACC,kBACA,WACA,gBACA,cACA,sBAEA,6CACC,aAGD,wBACC,wBACA,gBAEA,SAEA,WACA,cACA,0DAMD,wBACC,cACA,WAEA,mGAEC,8CAEA,6KACC,oCAKF,8DACC,oBAKH,yBACC,aAID,uCACC,cACA,WAGD,wBAGC,yBAEA,qBAGD,6FACC,+DAGD,iCACC,yDAGD,kFACC,0CAGD,4EACC,+DAID,gBCxEC,yCD2ED,iBC3EC,yCD8ED,oBC9EC,0CDiFD,yFCjFC,wCDuFD,uBCvFC,yCD0FD,2BC1FC,2CD6FD,mBC7FC,yCDgGD,2BChGC,4CDmGD,wBCnGC,0CDsGD,4BCtGC,4CD0GD,4CACC,WAGD,iCACC,WACA,YACA,eACA,SACA,eAGD,wCACC,aAGD,0CACC,WAGD,2BACC,YAED,4KAKC,+CAED,wMAKC,oDAGD,qCAEA,yDACC,oCAED,kCACC,iCACA,8BACA,4BACA,yBACA,mBAED,wGAIC,UACA,oCAGD,oBACC,oCAED,uBACC,6BAED,sBACC,cACA,aACA,YACA,sBACA,2BACA,sBACA,oCACC,kBAGF,kCACC,qBACA,mBAED,2BACC,eACA,iBAGD,uCACC,cAGD,yBACC,WACA,WACA,gBACA,qBACA,2BACA,WAED,wJAIC,kBAED,2CACC,eAED,4EAEC,mBAGD,kBAEC,4CACA,gBACA,mBAED,SACC,eACA,kBACA,+BACA,4BAED,qBACC,kBACA,aACA,UAGD,uBACC,kBACA,YAGD,0BACC,gBAED,uCACC,iBAED,8EAEC,2BACA,sBACA,kBAEA,gBAGD,qMAQC,gBACA,qPACC,MAIF,2BACC,0DACA,iBAGD,sDACC,iBAGD,+BACC,kBACA,aAED,kCACC,aAGD,0DAGC,WACA,kBAED,kDAEC,aACA,kBACA,2BACA,sBACA,YACA,iBACA,UAED,qCAEC,QACA,eACA,eACA,YAGA,8DACC,WAED,mEACC,WAGF,6BACC,qBACA,WACA,YACA,wBACA,2BACA,4BACA,gBACA,eACA,mCACA,eACA,kBACA,UAED,oCACC,eAID,2CACC,qCAGD,iDACC,qBACA,4BACA,YAED,uBACC,iBACA,kBACA,SAGD,6IACA,8FAEA,wCACC,kBACA,gBACA,uBACA,YAKA,kBACC,YACA,4BACC,QACA,YACA,aACA,gBACA,mBACA,uBACA,YACA,WACA,mBAID,+BACC,iBACA,aACA,uBACA,mBACA,cACA,kCACA,gBAEA,iDACC,iBACA,iBACA,wCACA,iCACA,oCACA,uBACA,mBACA,gBACA,uBACA,iBACA,kBAEA,uDACC,iBACA,sBAID,mEACC,gBAOL,iJAEC,wBAGD,mCACC,iCACA,8BACA,4BACA,yBAED,4BACC,WAGD,2CACC,uBACA,gBACA,kBACA,mBAKD,8BACC,kBACA,mBAEA,iBACA,OACA,SACA,YACA,cAEA,iBACA,eAEA,iBACA,oCACA,uBACA,mBAGD,mBACC,UAID,6DACC,WACA,eAID,iRAIC,UAID,0EACC,WAMA,wEACC,aAGD,oGACC,+CACA,wCACA,wBACA,yDACA,aAIF,oGAEC,mBAGD,+BACC,kBACA,WACA,eACA,gBACA,wJAGD,wFAEC,kBACA,UACA,YAGD,yCACC,qBACA,WAED,8CACC,kBACA,cACA,SACA,WACA,iBACA,kBACA,wDAEC,8CACA,8CACA,oBAEA,WACA,YACA,aACA,qBACA,uBAGF,8DACC,+CAGD,iDAGA,aACC,WAGD,iCACC,kBAID,mDAEC,gBAID,oCACC,qBACA,0BAGD,8EACC,0BAOA,kCACC,eAGD,sEACC,eAGD,sCACC,gBAIF,aACC,YACA,WACA,2BAGD,qCACC,wCAID,iBACI,kBACA,qBACA,sBAEJ,wBACI,aAEJ,mBACC,eACA,iBACA,iBAGD,0BACC,aAED,uBACC,kBACA,2BACA,mBAGD,8CACC,gBAIA,8BACC,eACA,iBACA,iBACA,WACA,2CACC,kBACA,0FAGC,kBACA,cACA,SACA,UACA,WACA,gBAED,mDACC,qBACA,sBAGF,0CACC,iBACA,oBACA,kBACA,mBAGA,oGACC,WAID,qIAEC,WAED,uDACC,WACA,0HACC,WAIH,wEACC,UAED,oCACC,+CACA,wCAGF,uGACC,WAED,wDACC,UAKF,4EACC,qBACA,eACA,gBACA,uBACA,sBACA,gBAGD,2CACC,yBAGD,yCACC,UAGD,kNAKC,UAGD,qCACC,gBAGD,0FAEC,WAGD,mDACC,eAGD,SACC,oCAGA,aAED,wCACC,WAEA,mBAKD,sBACC,aAED,2DAIC,+BAED,YACC,mBACA,mBACA,iBAED,wBACC,UAED,YACC,qBAGD,iBACC,WACA,aAED,6BACC,kBACA,mBACA,YAGA,gBAED,yBACC,kBAED,MACC,WACA,kBACA,MACA,OACA,QACA,SACA,8CACA,sCACA,wBACA,WACA,yBACA,8BACA,4BACA,6BACA,iCAED,kBACC,UAGD,aACC,gBACA,SACA,sBACA,eACA,gBACA,aAGA,oBACC,qBAKF,gBACC,sBACA,wBACA,gBACA,YACA,UACA,SACA,0DACA,WACA,yBACA,sBACA,qBACA,iBACA,aACA,MACA,kBAKE,0IACC,sBACA,qBACA,aACA,YACA,WACA,YACA,mBACA,uBAED,oFACC,aAQJ,0DACC,OAGD,6KAIC,qBACA,sBACA,0BAMA,sDACC,sBAED,yDACC,uDAIF,iJAGC,aAGD,oJAGC,WACA,YAGD,gCACC,kBAGD,YACC,mBAEA,uBACC,mCAIF,0DAEC,oCAED,qBACC,oCACA,4BACC,2BAIF,cACC,iBACA,kBACA,gBACA,6BACA,cACA,gBACA,YAEA,2BACC,aAGD,kCACC,UACA,kBACA,iBAIF,uBACC,oBACA,YACA,gBACA,+BACA,UACA,YACA,wBACA,sBAEA,6BACC,YAKA,oEACC,0BAIF,kCACC,WACA,mCAWA,kDACC,cACA,4CACA,0DACA,qDACC,WACA,YAMH,+CACC,aACA,+CACA,6BACA,aACA,cAGA,+DACC,cACA,kBACA,aACA,mCAEA,0fAKC,+BAEA,oxDAGC,+CAKH,kDACC,eACA,mBAGC,8EACC,YACA,eACA,kBACA,MAvDQ,MAwDR,OAxDQ,MAyDR,QAxDO,KAyDP,MACA,OACA,WAEA,yFACC,4BACA,6BACA,wBACA,SACA,mCACA,4BACA,2BAKA,wGACC,UACA,UACA,YAKH,uEACC,WACA,SACA,MACA,YAEA,YACA,gBAEA,kBAGD,iEACC,YACA,mCAIA,gBAKA,0BAEA,2EACC,aACA,YACA,iBACA,kBACA,iBACA,UAEA,0FACC,qBACA,kBACA,gBACA,uBACA,mBAED,kFACC,WACA,OACA,eAED,iFACC,WACA,OACA,eAID,sFACC,aAKF,8EACC,aAGD,8EACC,eACA,iBACA,aACA,mBACA,kBACA,QAEA,sFACC,QAxJK,KAyJL,WACA,YACA,aACA,mBACA,uBAGA,wGACC,aAQH,2GACC,yBAEA,6HACC,YACA,kBAIF,6GACC,yBAGD,6GACC,yBAIF,gEACC,iBACA,mCAEA,+EACC,WACA,cACA,YAMH,kHAEC,aAGD,sIAEC,kBACA,SACA,UACA,aACA,WAEA,kJACC,WACA,YACA,oBACA,QAzNO,KA0NP,kKACC,SACA,MA5NM,KA6NN,OA7NM,KAmOT,+DACC,OACA,YACA,aAGA,yFACC,gBACA,uBAMJ,+FACC,cAID,+CACC,aAEA,qEACC,qBACA,cAEA,aAEA,wEACC,iBAEA,iKAEC,aAGD,8EACI,cAQR,aACC,0DACA,YACA,SACA,aACA,WACA,YACA,mCACA,iCACA,YACA,gBAEA,uEAGC,UAGD,oEAEC,mEASF,cACC,eACA,MAOC,uGACC,gBAID,4EACC,WAKF,0BACC,kBACA,QACA,MAKF,gBACC,aAGD,8BACC,gBACA,sBACA,kBACA,kBACA,aACA,eACA,mBAEA,iCACC,WACA,eAGD,6DACC,aACA,YACA,cEh2CF,QACC,sBACA,YACA,WACA,qBACA,gBACA,gBACA,mBACA,kBACA,YAED,qBACC,kBACA,cACA,WACA,YACA,WACA,iBACA,eACA,WACA,YAED,iCACA,+FAEA,gDACC,sBAGD,uBACC,qBACA,mBACA,YACA,gBAED,0CACC,YACA,gBAED,mBACC,sCACA,sEACA,eACA,kBACA,WACA,YACA,YACA,qBACA,kBAEA,yCACC,gBAGF,yEACC,wBACA,SACA,UACA,kBACA,gBACA,8CAED,0BACC,QACA,UACA,gBACA,mBACA,mBAED,gCACC,wCACA,kBACA,cACA,YAED,gCACC,kBACA,6BAED,4BACC,cAED,2BACC,aAGD,yBACC,yBACA,4BAGD,uBACC,2BACA,yBACA,wBACA,sBACA,qBACA,iBACA,mBAGD,0HAGC,8BACA,4BACA,2BACA,yBACA,wBACA,oBAED,0CACC,cAED,6BACC,WAED,0BACC,eACA,gBAED,+CACC,iBAED,sCACC,YAED,gCACC,mBACA,6BAED,iCACC,gBAED,4CACC,aAED,iCACC,WACA,YAED,2CACC,WACA,qBACA,WAED,6BACC,WACA,YACA,uBACA,4BACA,0BACA,WAGD,qEAEC,WACA,UAED,kCACC,gBACA,iBAED,sDACC,WAED,sCACC,YAED,iCACC,sBACA,kBACA,SAED,sCACC,sBAGD,gCACC,WACA,iBAEA,wCACC,WAIF,mBACC,0CACA,uCACA,qCACA,kCAGD,sCACE,4BACA,qCAEF,mCACE,4BACA,qCAEF,iCACE,4BACA,qCAEF,8BACE,4BACA,qCC3MF,oGAEA,iCACC,iCAGD,2EAIC,aAID,SACC,UAID,wBACC,eAGD,mCACC,eAGD,2BACC,iBAID,sDACC,kBACA,cACA,SACA,UACA,WACA,gBAID,gCACC,aAKD,mDACC,WAGD,4BACC,wBAED,2BACC,yBAID,iBACC,cAID,0CAEC,0BACC,YAED,4CACC,aAID,4BACC,kBAID,uCACC,eCvFF,sCACC,gBACA,aAGD,0CACC,WAID,qCACC,qBACA,0BAGD,0CACC,iBACA,mBACA,WAEA,gGAEC,UAGF,sDACC,WACA,UAGD,uCACC,kBACA,mBACA,iBAGD,gDACC,SAGD,+BACC,WACA,cACA,4BACA,2BACA,qBACA,WACA,SACA,YAGD,0CACC,WACA,cACA,sBAGD,wCACC,4BAGD,wCACC,wBAGD,yBACC,kBACA,kBACA,iBACA,cACA,cAGD,wBACC,WACA,gBACA,qBACA,WACA,kBACA,wBACA,4BAGD,uBACC,mBACA,uBACA,gBAGD,uBACC,eACA,iBACA,mBAGD,0BACC,wBACA,qBACA,cACA,cAGD,2BACC,oCAGD,8BACC,mBACA,aACA,aAGD,mCACC,sBAGD,yBACC,WAGD,oBACC,kBACA,MACA,QACA,WACA,UACA,WACA,YCxHD,iBACE,uBACA,qBACA,YACA,YAGF,mBACE,sBAGF,0BACE,iBACA,uBAGF,6BACE,kBACA,QAGF,wBACE","file":"merged.css"}
\ No newline at end of file +{"version":3,"sourceRoot":"","sources":["files.scss","../../../core/css/functions.scss","upload.scss","mobile.scss","detailsView.scss","../../../core/css/whatsnew.scss"],"names":[],"mappings":"AAWA,SAEC,YACA,YACA,qBACA,WAED,oEACA,8BACA,kDAEC,+CAED,0BACC,oDAGD,mBACC,kBACA,aACA,SACA,4CACC,iBAIF,gBACC,aAGD,OACC,iBACA,YACA,aACA,aACA,mBAGD,6EAGC,yBACA,gCAID,kBACC,kBACA,WACA,gBACA,cACA,sBAEA,6CACC,aAGD,wBACC,wBACA,gBAEA,SAEA,WACA,cACA,0DAMD,wBACC,cACA,WAEA,mGAEC,8CAEA,6KACC,oCAKF,8DACC,oBAKH,yBACC,aAID,uCACC,cACA,WAGD,wBAGC,yBAEA,qBAGD,6FACC,+DAGD,iCACC,yDAGD,kFACC,0CAGD,4EACC,+DAID,gBCxEC,yCD2ED,iBC3EC,yCD8ED,oBC9EC,0CDiFD,yFCjFC,wCDuFD,uBCvFC,yCD0FD,2BC1FC,2CD6FD,mBC7FC,yCDgGD,2BChGC,4CDmGD,wBCnGC,0CDsGD,4BCtGC,4CD0GD,4CACC,WAGD,iCACC,WACA,YACA,eACA,SACA,eAGD,wCACC,aAGD,0CACC,WAGD,2BACC,YAED,4KAKC,+CAED,wMAKC,oDAGD,qCAEA,yDACC,oCAED,kCACC,iCACA,8BACA,4BACA,yBACA,mBAED,wGAIC,UACA,oCAGD,oBACC,oCAED,uBACC,6BAED,sBACC,cACA,aACA,YACA,sBACA,2BACA,sBACA,oCACC,kBAGF,kCACC,qBACA,mBAED,2BACC,eACA,iBAGD,uCACC,cAGD,yBACC,WACA,WACA,gBACA,qBACA,2BACA,WAED,wJAIC,kBAED,2CACC,eAED,4EAEC,mBAGD,kBAEC,4CACA,gBACA,mBAED,SACC,eACA,kBACA,+BACA,4BAED,qBACC,kBACA,aACA,UAGD,uBACC,kBACA,YAGD,0BACC,gBAED,uCACC,iBAED,8EAEC,2BACA,sBACA,kBAEA,gBAGD,qMAQC,gBACA,qPACC,MAIF,2BACC,0DACA,iBAGD,sDACC,iBAGD,+BACC,kBACA,aAED,kCACC,aAGD,0DAGC,WACA,kBAED,kDAEC,aACA,kBACA,2BACA,sBACA,YACA,iBACA,UAED,qCAEC,QACA,eACA,eACA,YAGA,8DACC,WAED,mEACC,WAGF,6BACC,qBACA,WACA,YACA,wBACA,2BACA,4BACA,gBACA,eACA,mCACA,eACA,kBACA,UAED,oCACC,eAID,2CACC,qCAGD,iDACC,qBACA,4BACA,YAED,uBACC,iBACA,kBACA,SAGD,6IACA,8FAEA,wCACC,kBACA,gBACA,uBACA,YAKA,kBACC,YACA,4BACC,QACA,YACA,aACA,gBACA,mBACA,uBACA,YACA,WACA,mBAID,+BACC,iBACA,aACA,uBACA,mBACA,kCACA,gBAEA,iDACC,iBACA,iBACA,wCACA,iCACA,oCACA,uBACA,mBACA,gBACA,uBACA,iBACA,kBAEA,uDACC,iBACA,sBAID,mEACC,gBAOL,iJAEC,wBAGD,mCACC,iCACA,8BACA,4BACA,yBAED,4BACC,WAGD,2CACC,uBACA,gBACA,kBACA,mBAKD,8BACC,kBACA,mBAEA,iBACA,OACA,SACA,YACA,cAEA,iBACA,eAEA,iBACA,oCACA,uBACA,mBAGD,mBACC,UAID,6DACC,WACA,eAID,iRAIC,UAID,0EACC,WAMA,wEACC,aAGD,oGACC,+CACA,wCACA,wBACA,yDACA,aAIF,oGAEC,mBAGD,+BACC,kBACA,WACA,eACA,gBACA,wJAGD,wFAEC,kBACA,UACA,YAGD,yCACC,qBACA,WAED,8CACC,kBACA,cACA,SACA,WACA,iBACA,kBACA,wDAEC,8CACA,8CACA,oBAEA,WACA,YACA,aACA,qBACA,uBAGF,8DACC,+CAGD,iDAGA,aACC,WAGD,iCACC,kBAID,mDAEC,gBAID,oCACC,qBACA,0BAGD,8EACC,0BAOA,kCACC,eAGD,sEACC,eAGD,sCACC,gBAIF,aACC,YACA,WACA,2BAGD,qCACC,wCAID,iBACI,kBACA,qBACA,sBAEJ,wBACI,aAEJ,mBACC,eACA,iBACA,iBAGD,0BACC,aAED,uBACC,kBACA,2BACA,mBAGD,8CACC,gBAIA,8BACC,eACA,iBACA,iBACA,WACA,2CACC,kBACA,0FAGC,kBACA,cACA,SACA,UACA,WACA,gBAED,mDACC,qBACA,sBAGF,0CACC,iBACA,oBACA,kBACA,mBAGA,oGACC,WAID,qIAEC,WAED,uDACC,WACA,0HACC,WAIH,wEACC,UAED,oCACC,+CACA,wCAGF,uGACC,WAED,wDACC,UAKF,4EACC,qBACA,eACA,gBACA,uBACA,sBACA,gBAGD,2CACC,yBAGD,yCACC,UAGD,kNAKC,UAGD,qCACC,gBAGD,0FAEC,WAGD,mDACC,eAGD,SACC,oCAGA,aAED,wCACC,WAEA,mBAKD,sBACC,aAED,2DAIC,+BAED,YACC,mBACA,mBACA,iBAED,wBACC,UAED,YACC,qBAGD,iBACC,WACA,aAED,6BACC,kBACA,mBACA,YAGA,gBAED,yBACC,kBAED,MACC,WACA,kBACA,MACA,OACA,QACA,SACA,8CACA,sCACA,wBACA,WACA,yBACA,8BACA,4BACA,6BACA,iCAED,kBACC,UAGD,aACC,gBACA,SACA,sBACA,eACA,gBACA,aAGA,oBACC,qBAKF,gBACC,sBACA,wBACA,gBACA,YACA,UACA,SACA,0DACA,WACA,yBACA,sBACA,qBACA,iBACA,aACA,MACA,kBAKE,0IACC,sBACA,qBACA,aACA,YACA,WACA,YACA,mBACA,uBAED,oFACC,aAQJ,0DACC,OAGD,6KAIC,qBACA,sBACA,0BAMA,sDACC,sBAED,yDACC,uDAIF,iJAGC,aAGD,oJAGC,WACA,YAGD,gCACC,kBAGD,YACC,mBAEA,uBACC,mCAIF,0DAEC,oCAED,qBACC,oCACA,4BACC,2BAIF,cACC,iBACA,kBACA,gBACA,6BACA,cACA,gBACA,YAEA,2BACC,aAGD,kCACC,UACA,kBACA,iBAIF,uBACC,oBACA,YACA,gBACA,+BACA,UACA,YACA,wBACA,sBAEA,6BACC,YAKA,oEACC,0BAIF,kCACC,WACA,mCAWA,kDACC,cACA,4CACA,0DACA,qDACC,WACA,YAMH,+CACC,aACA,+CACA,6BACA,aACA,cAGA,+DACC,cACA,kBACA,aACA,mCAEA,0fAKC,+BAEA,oxDAGC,+CAKH,kDACC,eACA,mBAGC,8EACC,YACA,eACA,kBACA,MAvDQ,MAwDR,OAxDQ,MAyDR,QAxDO,KAyDP,MACA,OACA,WAEA,yFACC,4BACA,6BACA,wBACA,SACA,mCACA,4BACA,2BAKA,wGACC,UACA,UACA,YAKH,uEACC,WACA,SACA,MACA,YAEA,YACA,gBAEA,kBAGD,iEACC,YACA,mCAIA,gBAKA,0BAEA,2EACC,aACA,YACA,iBACA,kBACA,iBACA,UAEA,0FACC,qBACA,kBACA,gBACA,uBACA,mBAED,kFACC,WACA,OACA,eAED,iFACC,WACA,OACA,eAID,sFACC,aAKF,8EACC,aAGD,8EACC,eACA,iBACA,aACA,mBACA,kBACA,QAEA,sFACC,QAxJK,KAyJL,WACA,YACA,aACA,mBACA,uBAGA,wGACC,aAQH,2GACC,yBAEA,6HACC,YACA,kBAIF,6GACC,yBAGD,6GACC,yBAIF,gEACC,iBACA,mCAEA,+EACC,WACA,cACA,YAMH,kHAEC,aAGD,sIAEC,kBACA,SACA,UACA,aACA,WAEA,kJACC,WACA,YACA,oBACA,QAzNO,KA0NP,kKACC,SACA,MA5NM,KA6NN,OA7NM,KAmOT,+DACC,OACA,YACA,aAGA,yFACC,gBACA,uBAMJ,+FACC,cAID,+CACC,aAEA,qEACC,qBACA,cAEA,aAEA,wEACC,iBAEA,iKAEC,aAGD,8EACI,cAQR,aACC,0DACA,YACA,SACA,aACA,WACA,YACA,mCACA,iCACA,YACA,gBAEA,uEAGC,UAGD,oEAEC,mEASF,cACC,eACA,MAOC,uGACC,gBAID,4EACC,WAKF,0BACC,kBACA,QACA,MAKF,gBACC,aAGD,8BACC,gBACA,sBACA,kBACA,kBACA,aACA,eACA,mBAEA,iCACC,WACA,eAGD,6DACC,aACA,YACA,cE/1CF,QACC,sBACA,YACA,WACA,qBACA,gBACA,gBACA,mBACA,kBACA,YAED,qBACC,kBACA,cACA,WACA,YACA,WACA,iBACA,eACA,WACA,YAED,iCACA,+FAEA,gDACC,sBAGD,uBACC,qBACA,mBACA,YACA,gBAED,0CACC,YACA,gBAED,mBACC,sCACA,sEACA,eACA,kBACA,WACA,YACA,YACA,qBACA,kBAEA,yCACC,gBAGF,yEACC,wBACA,SACA,UACA,kBACA,gBACA,8CAED,0BACC,QACA,UACA,gBACA,mBACA,mBAED,gCACC,wCACA,kBACA,cACA,YAED,gCACC,kBACA,6BAED,4BACC,cAED,2BACC,aAGD,yBACC,yBACA,4BAGD,uBACC,2BACA,yBACA,wBACA,sBACA,qBACA,iBACA,mBAGD,0HAGC,8BACA,4BACA,2BACA,yBACA,wBACA,oBAED,0CACC,cAED,6BACC,WAED,0BACC,eACA,gBAED,+CACC,iBAED,sCACC,YAED,gCACC,mBACA,6BAED,iCACC,gBAED,4CACC,aAED,iCACC,WACA,YAED,2CACC,WACA,qBACA,WAED,6BACC,WACA,YACA,uBACA,4BACA,0BACA,WAGD,qEAEC,WACA,UAED,kCACC,gBACA,iBAED,sDACC,WAED,sCACC,YAED,iCACC,sBACA,kBACA,SAED,sCACC,sBAGD,gCACC,WACA,iBAEA,wCACC,WAIF,mBACC,0CACA,uCACA,qCACA,kCAGD,sCACE,4BACA,qCAEF,mCACE,4BACA,qCAEF,iCACE,4BACA,qCAEF,8BACE,4BACA,qCC3MF,oGAEA,iCACC,iCAGD,2EAIC,aAID,SACC,UAID,wBACC,eAGD,mCACC,eAGD,2BACC,iBAID,sDACC,kBACA,cACA,SACA,UACA,WACA,gBAID,gCACC,aAKD,mDACC,WAGD,4BACC,wBAED,2BACC,yBAID,iBACC,cAID,0CAEC,0BACC,YAED,4CACC,aAID,4BACC,kBAID,uCACC,eCvFF,sCACC,gBACA,aAGD,0CACC,WAID,qCACC,qBACA,0BAGD,0CACC,iBACA,mBACA,WAEA,gGAEC,UAGF,sDACC,WACA,UAGD,uCACC,kBACA,mBACA,iBAGD,gDACC,SAGD,+BACC,WACA,cACA,4BACA,2BACA,qBACA,WACA,SACA,YAGD,0CACC,WACA,cACA,sBAGD,wCACC,4BAGD,wCACC,wBAGD,yBACC,kBACA,kBACA,iBACA,cACA,cAGD,wBACC,WACA,gBACA,qBACA,WACA,kBACA,wBACA,4BAGD,uBACC,mBACA,uBACA,gBAGD,uBACC,eACA,iBACA,mBAGD,0BACC,wBACA,qBACA,cACA,cAGD,2BACC,oCAGD,8BACC,mBACA,aACA,aAGD,mCACC,sBAGD,yBACC,WAGD,oBACC,kBACA,MACA,QACA,WACA,UACA,WACA,YCxHD,iBACE,uBACA,qBACA,YACA,YAGF,mBACE,sBAGF,0BACE,iBACA,uBAGF,6BACE,kBACA,QAGF,wBACE","file":"merged.css"}
\ No newline at end of file diff --git a/apps/files/js/filelist.js b/apps/files/js/filelist.js index 442fdec9322..6b964981a47 100644 --- a/apps/files/js/filelist.js +++ b/apps/files/js/filelist.js @@ -666,7 +666,7 @@ * @param {string} [tabId] optional tab id to select */ showDetailsView: function(fileName, tabId) { - console.warn('showDetailsView is deprecated! Use OCA.Files.Sidebar.activeTab. It will be removed in nextcloud 20.'); + OC.debug && console.warn('showDetailsView is deprecated! Use OCA.Files.Sidebar.activeTab. It will be removed in nextcloud 20.'); this._updateDetailsView(fileName); if (tabId) { OCA.Files.Sidebar.setActiveTab(tabId); @@ -3879,7 +3879,7 @@ * Register a tab view to be added to all views */ registerTabView: function(tabView) { - console.warn('registerTabView is deprecated! It will be removed in nextcloud 20.'); + OC.debug && console.warn('registerTabView is deprecated! It will be removed in nextcloud 20.'); const enabled = tabView.canDisplay || undefined if (tabView.id) { OCA.Files.Sidebar.registerTab(new OCA.Files.Sidebar.Tab({ @@ -3905,7 +3905,7 @@ * Register a detail view to be added to all views */ registerDetailView: function(detailView) { - console.warn('registerDetailView is deprecated! It will be removed in nextcloud 20.'); + OC.debug && console.warn('registerDetailView is deprecated! It will be removed in nextcloud 20.'); if (detailView.el) { OCA.Files.Sidebar.registerSecondaryView(detailView) } diff --git a/apps/files/js/files.js b/apps/files/js/files.js index b0c38248183..1788ebe9d3f 100644 --- a/apps/files/js/files.js +++ b/apps/files/js/files.js @@ -281,7 +281,7 @@ * @deprecated used OCA.Files.FileList.generatePreviewUrl instead */ generatePreviewUrl: function(urlSpec) { - console.warn('DEPRECATED: please use generatePreviewUrl() from an OCA.Files.FileList instance'); + OC.debug && console.warn('DEPRECATED: please use generatePreviewUrl() from an OCA.Files.FileList instance'); return OCA.Files.App.fileList.generatePreviewUrl(urlSpec); }, @@ -290,7 +290,7 @@ * @deprecated used OCA.Files.FileList.lazyLoadPreview instead */ lazyLoadPreview : function(path, mime, ready, width, height, etag) { - console.warn('DEPRECATED: please use lazyLoadPreview() from an OCA.Files.FileList instance'); + OC.debug && console.warn('DEPRECATED: please use lazyLoadPreview() from an OCA.Files.FileList instance'); return FileList.lazyLoadPreview({ path: path, mime: mime, diff --git a/apps/files/l10n/ar.js b/apps/files/l10n/ar.js index b1981e701df..03c800f9f81 100644 --- a/apps/files/l10n/ar.js +++ b/apps/files/l10n/ar.js @@ -228,6 +228,7 @@ OC.L10N.register( "Blank" : "فارغ", "Unable to create new file from template" : "تعذر إنشاء الملف الجديد من القالب", "Delete permanently" : "حذف بشكل دائم", + "Open folder {displayName}" : "إفتح المجلد {displayName}", "Set up templates folder" : "إعداد مجلد القوالب", "Templates" : "القوالب", "Create new templates folder" : "إنشيْ مجلد جديد للقوالب", diff --git a/apps/files/l10n/ar.json b/apps/files/l10n/ar.json index 2fe334a213b..d10758962db 100644 --- a/apps/files/l10n/ar.json +++ b/apps/files/l10n/ar.json @@ -226,6 +226,7 @@ "Blank" : "فارغ", "Unable to create new file from template" : "تعذر إنشاء الملف الجديد من القالب", "Delete permanently" : "حذف بشكل دائم", + "Open folder {displayName}" : "إفتح المجلد {displayName}", "Set up templates folder" : "إعداد مجلد القوالب", "Templates" : "القوالب", "Create new templates folder" : "إنشيْ مجلد جديد للقوالب", diff --git a/apps/files/l10n/ca.js b/apps/files/l10n/ca.js index 04b53a4f67a..b0750106a59 100644 --- a/apps/files/l10n/ca.js +++ b/apps/files/l10n/ca.js @@ -207,7 +207,7 @@ OC.L10N.register( "Go to the previous folder" : "Torna a la carpeta anterior", "Go back" : "Torna", "Open the files app settings" : "Obriu els paràmetres de l'aplicació Fitxers", - "Files settings" : "Paràmetres dels fitxers", + "Files settings" : "Paràmetres de Fitxers", "File cannot be accessed" : "No es pot accedir al fitxer", "You might not have have permissions to view it, ask the sender to share it" : "És possible que no tingueu permisos per a visualitzar-lo; demaneu al remitent que el comparteixi", "Show hidden files" : "Mostra els fitxers ocults", diff --git a/apps/files/l10n/ca.json b/apps/files/l10n/ca.json index 68f43c7f899..319230214da 100644 --- a/apps/files/l10n/ca.json +++ b/apps/files/l10n/ca.json @@ -205,7 +205,7 @@ "Go to the previous folder" : "Torna a la carpeta anterior", "Go back" : "Torna", "Open the files app settings" : "Obriu els paràmetres de l'aplicació Fitxers", - "Files settings" : "Paràmetres dels fitxers", + "Files settings" : "Paràmetres de Fitxers", "File cannot be accessed" : "No es pot accedir al fitxer", "You might not have have permissions to view it, ask the sender to share it" : "És possible que no tingueu permisos per a visualitzar-lo; demaneu al remitent que el comparteixi", "Show hidden files" : "Mostra els fitxers ocults", diff --git a/apps/files/l10n/de_DE.js b/apps/files/l10n/de_DE.js index 59aff4dc90c..44b4aeb73a6 100644 --- a/apps/files/l10n/de_DE.js +++ b/apps/files/l10n/de_DE.js @@ -109,8 +109,8 @@ OC.L10N.register( "Create new folder" : "Neuen Ordner erstellen", "Upload file" : "Datei hochladen", "Recent" : "Neueste", - "This file has the tag {tag}" : "Dies Datei hat das Schlagwort {tag}", - "This file has the tags {firstTags} and {lastTag}" : "Dies Datei hat die Schlagworte {firstTags} und {lastTag}", + "This file has the tag {tag}" : "Diese Datei trägt das Schlagwort {tag}", + "This file has the tags {firstTags} and {lastTag}" : "Diese Datei trägt die Schlagworte {firstTags} und {lastTag}", "Not favorited" : "Nicht favorisiert", "Remove from favorites" : "Von Favoriten entfernen", "Add to favorites" : "Zu den Favoriten hinzufügen", diff --git a/apps/files/l10n/de_DE.json b/apps/files/l10n/de_DE.json index 4c4255f5da5..737e566801b 100644 --- a/apps/files/l10n/de_DE.json +++ b/apps/files/l10n/de_DE.json @@ -107,8 +107,8 @@ "Create new folder" : "Neuen Ordner erstellen", "Upload file" : "Datei hochladen", "Recent" : "Neueste", - "This file has the tag {tag}" : "Dies Datei hat das Schlagwort {tag}", - "This file has the tags {firstTags} and {lastTag}" : "Dies Datei hat die Schlagworte {firstTags} und {lastTag}", + "This file has the tag {tag}" : "Diese Datei trägt das Schlagwort {tag}", + "This file has the tags {firstTags} and {lastTag}" : "Diese Datei trägt die Schlagworte {firstTags} und {lastTag}", "Not favorited" : "Nicht favorisiert", "Remove from favorites" : "Von Favoriten entfernen", "Add to favorites" : "Zu den Favoriten hinzufügen", diff --git a/apps/files/l10n/el.js b/apps/files/l10n/el.js index ffcbb15f51e..c955b6ff356 100644 --- a/apps/files/l10n/el.js +++ b/apps/files/l10n/el.js @@ -174,6 +174,7 @@ OC.L10N.register( "Open folder {name}" : "Άνοιγμα φακέλου {name}", "Download file {name}" : "Λήψη αρχείου {name}", "Select all" : "Επιλογή όλων", + "Unselect all" : "Αποεπιλογή όλων", "ascending" : "αύξουσα", "descending" : "φθίνουσα", "Sort list by {column} ({direction})" : "Ταξινόμηση λίστας ανά {column} ({direction})", @@ -215,8 +216,10 @@ OC.L10N.register( "Blank" : "Κενό", "Unable to create new file from template" : "Δεν είναι δυνατή η δημιουργία νέου αρχείου από το πρότυπο", "Delete permanently" : "Διαγραφή οριστικά", + "Open folder {displayName}" : "Άνοιγμα φακέλου {displayName}", "Set up templates folder" : "Ρύθμιση φακέλου προτύπων", "Templates" : "Πρότυπα", + "Create new templates folder" : "Δημιουργία νέου φακέλου προτύπων", "Unable to initialize the templates directory" : "Δεν είναι δυνατή η προετοιμασία του καταλόγου προτύπων", "Toggle %1$s sublist" : "Εναλλαγή %1$s σε υπολίστα", "Toggle grid view" : "Εναλλαγή σε προβολή πλέγματος", diff --git a/apps/files/l10n/el.json b/apps/files/l10n/el.json index eac3b384c3e..3bda1745892 100644 --- a/apps/files/l10n/el.json +++ b/apps/files/l10n/el.json @@ -172,6 +172,7 @@ "Open folder {name}" : "Άνοιγμα φακέλου {name}", "Download file {name}" : "Λήψη αρχείου {name}", "Select all" : "Επιλογή όλων", + "Unselect all" : "Αποεπιλογή όλων", "ascending" : "αύξουσα", "descending" : "φθίνουσα", "Sort list by {column} ({direction})" : "Ταξινόμηση λίστας ανά {column} ({direction})", @@ -213,8 +214,10 @@ "Blank" : "Κενό", "Unable to create new file from template" : "Δεν είναι δυνατή η δημιουργία νέου αρχείου από το πρότυπο", "Delete permanently" : "Διαγραφή οριστικά", + "Open folder {displayName}" : "Άνοιγμα φακέλου {displayName}", "Set up templates folder" : "Ρύθμιση φακέλου προτύπων", "Templates" : "Πρότυπα", + "Create new templates folder" : "Δημιουργία νέου φακέλου προτύπων", "Unable to initialize the templates directory" : "Δεν είναι δυνατή η προετοιμασία του καταλόγου προτύπων", "Toggle %1$s sublist" : "Εναλλαγή %1$s σε υπολίστα", "Toggle grid view" : "Εναλλαγή σε προβολή πλέγματος", diff --git a/apps/files/l10n/et_EE.js b/apps/files/l10n/et_EE.js index 4e44b8ee88f..5b4d5c02c1e 100644 --- a/apps/files/l10n/et_EE.js +++ b/apps/files/l10n/et_EE.js @@ -3,54 +3,72 @@ OC.L10N.register( { "File could not be found" : "Faili ei leitud", "Move or copy" : "Liiguta või kopeeri", - "Download" : "Lae alla", + "Download" : "Laadi alla", "Delete" : "Kustuta", "Tags" : "Sildid", + "Show list view" : "Näita loendivaadet", "Home" : "Kodu", "Close" : "Sulge", "Favorites" : "Lemmikud", "Could not create folder \"{dir}\"" : "Kausta \"{dir}\" loomine ebaõnnestus", "This will stop your current uploads." : "See peatab praegused üleslaadimised.", "Upload cancelled." : "Üleslaadimine tühistati.", + "Processing files …" : "Failide töötlemine …", "…" : "...", "Unable to upload {filename} as it is a directory or has 0 bytes" : "Ei saa üles laadida {filename}, kuna see on kataloog või selle suurus on 0 baiti", "Not enough free space, you are uploading {size1} but only {size2} is left" : "Pole piisavalt vaba ruumi. Sa laadid üles {size1}, kuid ainult {size2} on saadaval.", "Target folder \"{dir}\" does not exist any more" : "Kausta \"{dir}\" pole enam olemas", "Not enough free space" : "Pole piisavalt vaba ruumi", - "Uploading …" : "Üleslaadminie ...", - "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize}/{loadedSize} ({bitrate})", - "Target folder does not exist any more" : "Sihtkataloogi pole enam olemas", - "Error when assembling chunks, status code {status}" : "Tükkide kokkupanemise viga, staatus kood {status}", + "An unknown error has occurred" : "Tekkis tundmatu tõrge", + "File could not be uploaded" : "Faili üleslaadimine ebaõnnestus", + "Uploading …" : "Üleslaadmine ...", + "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} / {totalSize} ({bitrate})", + "Uploading that item is not supported" : "Selle objekti üleslaadimine ei ole toetatud", + "Target folder does not exist any more" : "Sihtkausta pole enam olemas", + "Operation is blocked by access control" : "Tegevus on blokeeritud ligipääsupiirangute poolt", + "Error when assembling chunks, status code {status}" : "Tükkide kokkupanemise viga, staatuskood {status}", "Actions" : "Tegevused", "Rename" : "Nimeta ümber", "Move" : "Liiguta", "Copy" : "Kopeeri", + "Choose target folder" : "Vali sihtkaust", + "Edit locally" : "Muuda lokaalselt", + "Open" : "Ava", "Delete file" : "Kustuta fail", "Delete folder" : "Kustuta kaust", - "Disconnect storage" : "Ühenda andmehoidla lahti.", + "Disconnect storage" : "Ühenda andmehoidla lahti", + "Leave this share" : "Lahku jaoskaustast", "Could not load info for file \"{file}\"" : "Faili \"{file}\" info laadimine ebaõnnestus", "Files" : "Failid", "Details" : "Üksikasjad", + "Please select tag(s) to add to the selection" : "Palun vali sildid, mida valitutele lisada", + "Apply tag(s) to selection" : "Rakenda sildid valitutele", + "Select directory \"{dirName}\"" : "Vali kataloog \"{dirName}\"", + "Select file \"{fileName}\"" : "Vali fail \"{fileName}\"", "Pending" : "Ootel", - "Unable to determine date" : "Kuupäeva tuvastamine ei õnnestunud", + "Unable to determine date" : "Kuupäeva tuvastamine ebaõnnestus", "This operation is forbidden" : "See toiming on keelatud", - "This directory is unavailable, please check the logs or contact the administrator" : "See kaust pole saadaval. Palun kontrolli logifaile või võta ühendust administraatoriga", + "This directory is unavailable, please check the logs or contact the administrator" : "See kaust pole saadaval, palun kontrolli logifaile või võta ühendust administraatoriga", "Storage is temporarily not available" : "Salvestusruum pole ajutiselt kättesaadav", - "Could not move \"{file}\", target exists" : "\"{file}\" liigutamine ebaõnnestus, fail on juba olemas", + "Could not move \"{file}\", target exists" : "\"{file}\" liigutamine ebaõnnestus, sihtfail on juba olemas", "Could not move \"{file}\"" : "\"{file}\" liigutamine ebaõnnestus", + "copy" : "koopia", "Could not copy \"{file}\", target exists" : "\"{file}\" kopeerimine ebaõnnestus, sihtfail on juba olemas", "Could not copy \"{file}\"" : "\"{file}\" kopeerimine ebaõnnestus", - "Copied {origin} inside {destination}" : "Kopeeris {origin} {destination} sisse", - "Copied {origin} and {nbfiles} other files inside {destination}" : "Kopeeris {origin} ja {nbfiles} teist faili {destination} sisse", + "Copied {origin} inside {destination}" : "{origin} kopeeritud kausta {destination}", + "Copied {origin} and {nbfiles} other files inside {destination}" : "{origin} ja {nbfiles} teist faili kopeeritud kausta {destination}", + "Failed to redirect to client" : "Kliendi ümbersuunamine ebaõnnestus", "{newName} already exists" : "{newName} on juba olemas", "Could not rename \"{fileName}\", it does not exist any more" : "\"{fileName}\" ümbernimetamine ebaõnnestus, seda pole enam olemas", - "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Nimi \"{targetName}\" on juba \"{dir}\" kaustas kasutusel. Palun valige teine nimi.", + "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Nimi \"{targetName}\" on juba \"{dir}\" kaustas kasutusel. Palun vali teine nimi.", "Could not rename \"{fileName}\"" : "\"{fileName}\" ümbernimetamine ebaõnnestus", "Could not create file \"{file}\"" : "Faili \"{file}\" loomine ebaõnnestus", "Could not create file \"{file}\" because it already exists" : "Faili \"{file}\" loomine ebaõnnestus, sest see on juba olemas", "Could not create folder \"{dir}\" because it already exists" : "Kausta \"{dir}\" loomine ebaõnnestus, sest see on juba olemas", + "Could not fetch file details \"{file}\"" : "Faili \"{file}\" üksikasjade laadimine ebaõnnestus", "Error deleting file \"{fileName}\"." : "Tõrge faili \"{fileName}\" kustutamisel.", "No search results in other folders for {tag}{filter}{endtag}" : "Teistest kaustadest ei leitud {tag}{filter}{endtag}", + "Enter more than two characters to search in other folders" : "Teistest kaustadest otsimiseks sisesta rohkem kui kaks sümbolit", "Name" : "Nimi", "Size" : "Suurus", "Modified" : "Muudetud", @@ -58,9 +76,12 @@ OC.L10N.register( "_%n file_::_%n files_" : ["%n fail","%n faili"], "{dirs} and {files}" : "{dirs} ja {files}", "_including %n hidden_::_including %n hidden_" : ["sealhulgas %n peidetud","sealhulgas %n peidetud"], + "You do not have permission to upload or create files here" : "Sul pole luba siia faile lisada ja üles laadida", "_Uploading %n file_::_Uploading %n files_" : ["Laadin üles %n faili","Laadin üles %n faili"], - "{used} of {quota} used" : "Kasutatud {used}/{quota}", - "{used} used" : "Kasutatud {used}", + "Select file range" : "Vali failivahemik", + "{used}%" : "{used}%", + "{used} of {quota} used" : "{used} / {quota} kasutusel", + "{used} used" : "{used} kasutusel", "\"{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.", @@ -71,62 +92,99 @@ OC.L10N.register( "Favorited" : "Lemmikud", "Favorite" : "Lemmik", "Copy direct link (only works for users who have access to this file/folder)" : "Kopeeri otselink (töötab ainult nende kasutajate jaoks, kelle on ligipääs sellele failile/kaustale)", + "You can only favorite a single file or folder at a time" : "Korraga saab lemmikuks märkida ainult ühe faili või kausta", "New folder" : "Uus kaust", "Create new folder" : "Loo uus kaust", - "Upload file" : "Lae fail üles", + "Upload file" : "Laadi fail üles", "Recent" : "Hiljutised", + "This file has the tag {tag}" : "Sellel failil on silt {tag}", + "This file has the tags {firstTags} and {lastTag}" : "Sellel failil on sildid {firstTags} and {lastTag}", "Not favorited" : "Lemmikuks lisamata", "Remove from favorites" : "Eemalda lemmikutest", "Add to favorites" : "Lisa lemmikutesse", "An error occurred while trying to update the tags" : "Siltide uuendamisel tekkis tõrge", "Added to favorites" : "Lemmikutesse lisatud", "Removed from favorites" : "Lemmikutest eemaldatud", - "You added {file} to your favorites" : "{file} lemmikutesse lisatud", - "You removed {file} from your favorites" : "{file} lemmikutest eemaldatud", + "You added {file} to your favorites" : "Lisasid {file} lemmikutesse", + "You removed {file} from your favorites" : "Eemaldasid {file} lemmikutest", "File changes" : "Failimuudatused", - "Created by {user}" : "Kasutaja {user} poolt loodud", - "Changed by {user}" : "Kasutaja {user} poolt muudetud", - "Deleted by {user}" : "Kasutaja {user} poolt kustutatud", - "Restored by {user}" : "Kasutaja {user} poolt taastatud", - "Renamed by {user}" : "Kasutaja {user} poolt ümber nimetatud", - "Moved by {user}" : "Kasutaja {user} liigutatud", + "Created by {user}" : "Loodud kasutaja {user} poolt", + "Changed by {user}" : "Muudetud kasutaja {user} poolt", + "Deleted by {user}" : "Kustutatud kasutaja {user} poolt", + "Restored by {user}" : "Taastatud kasutaja {user} poolt", + "Renamed by {user}" : "Ümber nimetatud kasutaja {user} poolt", + "Moved by {user}" : "Liigutatud kasutaja {user} poolt", "\"remote user\"" : "\"kaugkasutaja\"", "You created {file}" : "Sa lõid faili {file}", + "You created an encrypted file in {file}" : "Sa lõid krüpteeritud faili {file}", "{user} created {file}" : "Kasutaja {user} lõi faili {file}", - "{file} was created in a public folder" : "{file} loodi avalikku kausta", + "{user} created an encrypted file in {file}" : "Kasutaja {user} lõi krüpteeritud faili {file}", + "{file} was created in a public folder" : "{file} loodi avalikus kaustas", "You changed {file}" : "Sa muutsid faili {file}", + "You changed an encrypted file in {file}" : "Sa muutsid krüpteeritud faili {file}", "{user} changed {file}" : "Kasutaja {user} muutis faili {file}", + "{user} changed an encrypted file in {file}" : "Kasutaja {user} muutis krüpteeritud faili {file}", "You deleted {file}" : "Sa kustutasid faili {file}", + "You deleted an encrypted file in {file}" : "Sa kustutasid krüpteeritud faili {file}", "{user} deleted {file}" : "Kasutaja {user} kustutas faili {file}", + "{user} deleted an encrypted file in {file}" : "Kasutaja {user} kustutas krüpteeritud faili {file}", "You restored {file}" : "Sa taastasid faili {file}", "{user} restored {file}" : "Kasutaja {user} taastas faili {file}", - "You renamed {oldfile} to {newfile}" : "Sa nimetasid faili ümber: {oldfile} nüüd {newfile}", - "{user} renamed {oldfile} to {newfile}" : "{user} nimetas faili ümber: {oldfile} nüüd {newfile}", + "You renamed {oldfile} (hidden) to {newfile} (hidden)" : "Sa nimetasid faili {oldfile} (peidetud) ümber, uus nimi {newfile} (peidetud)", + "You renamed {oldfile} (hidden) to {newfile}" : "Sa nimetasid faili {oldfile} (peidetud) ümber, uus nimi {newfile}", + "You renamed {oldfile} to {newfile} (hidden)" : "Sa nimetasid faili {oldfile} ümber, uus nimi {newfile} (peidetud)", + "You renamed {oldfile} to {newfile}" : "Sa nimetasid faili {oldfile} ümber, uus nimi {newfile}", + "{user} renamed {oldfile} (hidden) to {newfile} (hidden)" : "Kasutaja {user} nimetas faili {oldfile} (peidetud) ümber, uus nimi {newfile} (peidetud)", + "{user} renamed {oldfile} (hidden) to {newfile}" : "Kasutaja {user} nimetas faili {oldfile} (peidetud) ümber, uus nimi {newfile}", + "{user} renamed {oldfile} to {newfile} (hidden)" : "Kasutaja {user} nimetas faili {oldfile} ümber, uus nimi {newfile} (peidetud)", + "{user} renamed {oldfile} to {newfile}" : "Kasutaja {user} nimetas faili {oldfile} ümber, uus nimi {newfile}", "You moved {oldfile} to {newfile}" : "Sa liigutasid faili: {oldfile} nüüd {newfile}", "{user} moved {oldfile} to {newfile}" : "{user} liigutas faili: {oldfile} nüüd {newfile}", - "A file has been added to or removed from your <strong>favorites</strong>" : "<strong>Lemmikutesse</strong> on lisatud või sealt eemaldatud fail", - "A file or folder has been <strong>changed</strong>" : "Fail või kataloog on <strong>muudetud</strong>", + "A file has been added to or removed from your <strong>favorites</strong>" : "Fail lisati su <strong>lemmikutesse</strong> või eemaldati sealt", + "A file or folder has been <strong>changed</strong>" : "Fail või kaust on <strong>muudetud</strong>", + "A favorite file or folder has been <strong>changed</strong>" : "Lemmikuks märgitud faili või kausta on <strong>muudetud</strong>", "All files" : "Kõik failid", "Upload (max. %s)" : "Üleslaadimine (max. %s)", "Accept" : "Nõustu", "Reject" : "Keeldu", "in %s" : "kaustas %s", + "File Management" : "Failihaldus", + "Reload current directory" : "Värskenda jooksvat kataloogi", + "Go to the \"{dir}\" directory" : "Mine kataloogi \"{dir}\"", + "Open folder {name}" : "Ava kaust {name}", + "Download file {name}" : "Laadi fail {name} alla", "Select all" : "Vali kõik", + "{usedQuotaByte} used" : "{usedQuotaByte} kasutusel", + "{relative}% used" : "{relative}% kasutusel", "Change" : "Muuda", + "New owner" : "Uus omanik", "Unknown error" : "Tundmatu viga", + "Loading current folder" : "Jooksva kausta laadimine", "No files in here" : "Siin ei ole faile", + "No files or folders have been deleted yet" : "Faile ega kaustu pole veel kustutatud", + "Go to the previous folder" : "Mine eelmisesse kausta", "Go back" : "Mine tagasi", + "Files settings" : "Failide seaded", + "File cannot be accessed" : "Failile ligipääs puudub", "Show hidden files" : "Näita peidetud faile", "Additional settings" : "Lisaseaded", "WebDAV" : "WebDAV", "Copy to clipboard" : "Kopeeri lõikepuhvrisse", + "Use this address to access your Files via WebDAV" : "Oma failidele WebDAV kaudu ligipääsemiseks kasuta seda aadressi", + "WebDAV URL copied to clipboard" : "WebDAV URL kopeeritud lõikepuhvrisse", "Create" : "Loo", + "Blank" : "Tühi", + "Unable to create new file from template" : "Faili loomine mallist ebaõnnestus", "Delete permanently" : "Kustuta jäädavalt", + "Open folder {displayName}" : "Ava kaust {displayName}", + "Set up templates folder" : "Seadista mallide kaust", "Templates" : "Mallid", + "Create new templates folder" : "Loo uus mallide kaust", + "Unable to initialize the templates directory" : "Mallide kausta loomine ebaõnnestus", "Upload some content or sync with your devices!" : "Laadi sisu üles või süngi oma seadmetega!", "No entries found in this folder" : "Selles kaustast ei leitud kirjeid", "Upload too large" : "Üleslaadimine on liiga suur", - "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Failid, mida sa proovid üles laadida, ületab serveri poolt üleslaetavatele failidele määratud maksimaalse suuruse.", + "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Failid, mida sa proovid üles laadida, ületavad serveri poolt üleslaaditavatele failidele määratud maksimaalse suuruse.", "No favorites yet" : "Lemmikuid veel pole", "Files and folders you mark as favorite will show up here" : "Siin kuvatakse faile ja kaustasid, mille oled märkinud lemmikuteks", "Shares" : "Jagamisi", @@ -139,9 +197,12 @@ OC.L10N.register( "New text file.txt" : "Uus tekstifail.txt", "Storage invalid" : "Vigane andmehoidla", "Unlimited" : "Piiramatult", + "Search users" : "Otsi kasutajaid", "Cancel" : "Loobu", - "%s used" : "Kasutatud %s", - "%1$s of %2$s used" : "Kasutatud %1$s/%2$s", - "Deleted files" : "Kustutatud failid" + "%s used" : "%s kasutusel", + "%s%%" : "%s%%", + "%1$s of %2$s used" : "%1$s / %2$s kasutusel", + "Deleted files" : "Kustutatud failid", + "Search for an account" : "Otsi kontot" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/files/l10n/et_EE.json b/apps/files/l10n/et_EE.json index 1c05bc89b12..86f3e7e0992 100644 --- a/apps/files/l10n/et_EE.json +++ b/apps/files/l10n/et_EE.json @@ -1,54 +1,72 @@ { "translations": { "File could not be found" : "Faili ei leitud", "Move or copy" : "Liiguta või kopeeri", - "Download" : "Lae alla", + "Download" : "Laadi alla", "Delete" : "Kustuta", "Tags" : "Sildid", + "Show list view" : "Näita loendivaadet", "Home" : "Kodu", "Close" : "Sulge", "Favorites" : "Lemmikud", "Could not create folder \"{dir}\"" : "Kausta \"{dir}\" loomine ebaõnnestus", "This will stop your current uploads." : "See peatab praegused üleslaadimised.", "Upload cancelled." : "Üleslaadimine tühistati.", + "Processing files …" : "Failide töötlemine …", "…" : "...", "Unable to upload {filename} as it is a directory or has 0 bytes" : "Ei saa üles laadida {filename}, kuna see on kataloog või selle suurus on 0 baiti", "Not enough free space, you are uploading {size1} but only {size2} is left" : "Pole piisavalt vaba ruumi. Sa laadid üles {size1}, kuid ainult {size2} on saadaval.", "Target folder \"{dir}\" does not exist any more" : "Kausta \"{dir}\" pole enam olemas", "Not enough free space" : "Pole piisavalt vaba ruumi", - "Uploading …" : "Üleslaadminie ...", - "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize}/{loadedSize} ({bitrate})", - "Target folder does not exist any more" : "Sihtkataloogi pole enam olemas", - "Error when assembling chunks, status code {status}" : "Tükkide kokkupanemise viga, staatus kood {status}", + "An unknown error has occurred" : "Tekkis tundmatu tõrge", + "File could not be uploaded" : "Faili üleslaadimine ebaõnnestus", + "Uploading …" : "Üleslaadmine ...", + "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} / {totalSize} ({bitrate})", + "Uploading that item is not supported" : "Selle objekti üleslaadimine ei ole toetatud", + "Target folder does not exist any more" : "Sihtkausta pole enam olemas", + "Operation is blocked by access control" : "Tegevus on blokeeritud ligipääsupiirangute poolt", + "Error when assembling chunks, status code {status}" : "Tükkide kokkupanemise viga, staatuskood {status}", "Actions" : "Tegevused", "Rename" : "Nimeta ümber", "Move" : "Liiguta", "Copy" : "Kopeeri", + "Choose target folder" : "Vali sihtkaust", + "Edit locally" : "Muuda lokaalselt", + "Open" : "Ava", "Delete file" : "Kustuta fail", "Delete folder" : "Kustuta kaust", - "Disconnect storage" : "Ühenda andmehoidla lahti.", + "Disconnect storage" : "Ühenda andmehoidla lahti", + "Leave this share" : "Lahku jaoskaustast", "Could not load info for file \"{file}\"" : "Faili \"{file}\" info laadimine ebaõnnestus", "Files" : "Failid", "Details" : "Üksikasjad", + "Please select tag(s) to add to the selection" : "Palun vali sildid, mida valitutele lisada", + "Apply tag(s) to selection" : "Rakenda sildid valitutele", + "Select directory \"{dirName}\"" : "Vali kataloog \"{dirName}\"", + "Select file \"{fileName}\"" : "Vali fail \"{fileName}\"", "Pending" : "Ootel", - "Unable to determine date" : "Kuupäeva tuvastamine ei õnnestunud", + "Unable to determine date" : "Kuupäeva tuvastamine ebaõnnestus", "This operation is forbidden" : "See toiming on keelatud", - "This directory is unavailable, please check the logs or contact the administrator" : "See kaust pole saadaval. Palun kontrolli logifaile või võta ühendust administraatoriga", + "This directory is unavailable, please check the logs or contact the administrator" : "See kaust pole saadaval, palun kontrolli logifaile või võta ühendust administraatoriga", "Storage is temporarily not available" : "Salvestusruum pole ajutiselt kättesaadav", - "Could not move \"{file}\", target exists" : "\"{file}\" liigutamine ebaõnnestus, fail on juba olemas", + "Could not move \"{file}\", target exists" : "\"{file}\" liigutamine ebaõnnestus, sihtfail on juba olemas", "Could not move \"{file}\"" : "\"{file}\" liigutamine ebaõnnestus", + "copy" : "koopia", "Could not copy \"{file}\", target exists" : "\"{file}\" kopeerimine ebaõnnestus, sihtfail on juba olemas", "Could not copy \"{file}\"" : "\"{file}\" kopeerimine ebaõnnestus", - "Copied {origin} inside {destination}" : "Kopeeris {origin} {destination} sisse", - "Copied {origin} and {nbfiles} other files inside {destination}" : "Kopeeris {origin} ja {nbfiles} teist faili {destination} sisse", + "Copied {origin} inside {destination}" : "{origin} kopeeritud kausta {destination}", + "Copied {origin} and {nbfiles} other files inside {destination}" : "{origin} ja {nbfiles} teist faili kopeeritud kausta {destination}", + "Failed to redirect to client" : "Kliendi ümbersuunamine ebaõnnestus", "{newName} already exists" : "{newName} on juba olemas", "Could not rename \"{fileName}\", it does not exist any more" : "\"{fileName}\" ümbernimetamine ebaõnnestus, seda pole enam olemas", - "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Nimi \"{targetName}\" on juba \"{dir}\" kaustas kasutusel. Palun valige teine nimi.", + "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Nimi \"{targetName}\" on juba \"{dir}\" kaustas kasutusel. Palun vali teine nimi.", "Could not rename \"{fileName}\"" : "\"{fileName}\" ümbernimetamine ebaõnnestus", "Could not create file \"{file}\"" : "Faili \"{file}\" loomine ebaõnnestus", "Could not create file \"{file}\" because it already exists" : "Faili \"{file}\" loomine ebaõnnestus, sest see on juba olemas", "Could not create folder \"{dir}\" because it already exists" : "Kausta \"{dir}\" loomine ebaõnnestus, sest see on juba olemas", + "Could not fetch file details \"{file}\"" : "Faili \"{file}\" üksikasjade laadimine ebaõnnestus", "Error deleting file \"{fileName}\"." : "Tõrge faili \"{fileName}\" kustutamisel.", "No search results in other folders for {tag}{filter}{endtag}" : "Teistest kaustadest ei leitud {tag}{filter}{endtag}", + "Enter more than two characters to search in other folders" : "Teistest kaustadest otsimiseks sisesta rohkem kui kaks sümbolit", "Name" : "Nimi", "Size" : "Suurus", "Modified" : "Muudetud", @@ -56,9 +74,12 @@ "_%n file_::_%n files_" : ["%n fail","%n faili"], "{dirs} and {files}" : "{dirs} ja {files}", "_including %n hidden_::_including %n hidden_" : ["sealhulgas %n peidetud","sealhulgas %n peidetud"], + "You do not have permission to upload or create files here" : "Sul pole luba siia faile lisada ja üles laadida", "_Uploading %n file_::_Uploading %n files_" : ["Laadin üles %n faili","Laadin üles %n faili"], - "{used} of {quota} used" : "Kasutatud {used}/{quota}", - "{used} used" : "Kasutatud {used}", + "Select file range" : "Vali failivahemik", + "{used}%" : "{used}%", + "{used} of {quota} used" : "{used} / {quota} kasutusel", + "{used} used" : "{used} kasutusel", "\"{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.", @@ -69,62 +90,99 @@ "Favorited" : "Lemmikud", "Favorite" : "Lemmik", "Copy direct link (only works for users who have access to this file/folder)" : "Kopeeri otselink (töötab ainult nende kasutajate jaoks, kelle on ligipääs sellele failile/kaustale)", + "You can only favorite a single file or folder at a time" : "Korraga saab lemmikuks märkida ainult ühe faili või kausta", "New folder" : "Uus kaust", "Create new folder" : "Loo uus kaust", - "Upload file" : "Lae fail üles", + "Upload file" : "Laadi fail üles", "Recent" : "Hiljutised", + "This file has the tag {tag}" : "Sellel failil on silt {tag}", + "This file has the tags {firstTags} and {lastTag}" : "Sellel failil on sildid {firstTags} and {lastTag}", "Not favorited" : "Lemmikuks lisamata", "Remove from favorites" : "Eemalda lemmikutest", "Add to favorites" : "Lisa lemmikutesse", "An error occurred while trying to update the tags" : "Siltide uuendamisel tekkis tõrge", "Added to favorites" : "Lemmikutesse lisatud", "Removed from favorites" : "Lemmikutest eemaldatud", - "You added {file} to your favorites" : "{file} lemmikutesse lisatud", - "You removed {file} from your favorites" : "{file} lemmikutest eemaldatud", + "You added {file} to your favorites" : "Lisasid {file} lemmikutesse", + "You removed {file} from your favorites" : "Eemaldasid {file} lemmikutest", "File changes" : "Failimuudatused", - "Created by {user}" : "Kasutaja {user} poolt loodud", - "Changed by {user}" : "Kasutaja {user} poolt muudetud", - "Deleted by {user}" : "Kasutaja {user} poolt kustutatud", - "Restored by {user}" : "Kasutaja {user} poolt taastatud", - "Renamed by {user}" : "Kasutaja {user} poolt ümber nimetatud", - "Moved by {user}" : "Kasutaja {user} liigutatud", + "Created by {user}" : "Loodud kasutaja {user} poolt", + "Changed by {user}" : "Muudetud kasutaja {user} poolt", + "Deleted by {user}" : "Kustutatud kasutaja {user} poolt", + "Restored by {user}" : "Taastatud kasutaja {user} poolt", + "Renamed by {user}" : "Ümber nimetatud kasutaja {user} poolt", + "Moved by {user}" : "Liigutatud kasutaja {user} poolt", "\"remote user\"" : "\"kaugkasutaja\"", "You created {file}" : "Sa lõid faili {file}", + "You created an encrypted file in {file}" : "Sa lõid krüpteeritud faili {file}", "{user} created {file}" : "Kasutaja {user} lõi faili {file}", - "{file} was created in a public folder" : "{file} loodi avalikku kausta", + "{user} created an encrypted file in {file}" : "Kasutaja {user} lõi krüpteeritud faili {file}", + "{file} was created in a public folder" : "{file} loodi avalikus kaustas", "You changed {file}" : "Sa muutsid faili {file}", + "You changed an encrypted file in {file}" : "Sa muutsid krüpteeritud faili {file}", "{user} changed {file}" : "Kasutaja {user} muutis faili {file}", + "{user} changed an encrypted file in {file}" : "Kasutaja {user} muutis krüpteeritud faili {file}", "You deleted {file}" : "Sa kustutasid faili {file}", + "You deleted an encrypted file in {file}" : "Sa kustutasid krüpteeritud faili {file}", "{user} deleted {file}" : "Kasutaja {user} kustutas faili {file}", + "{user} deleted an encrypted file in {file}" : "Kasutaja {user} kustutas krüpteeritud faili {file}", "You restored {file}" : "Sa taastasid faili {file}", "{user} restored {file}" : "Kasutaja {user} taastas faili {file}", - "You renamed {oldfile} to {newfile}" : "Sa nimetasid faili ümber: {oldfile} nüüd {newfile}", - "{user} renamed {oldfile} to {newfile}" : "{user} nimetas faili ümber: {oldfile} nüüd {newfile}", + "You renamed {oldfile} (hidden) to {newfile} (hidden)" : "Sa nimetasid faili {oldfile} (peidetud) ümber, uus nimi {newfile} (peidetud)", + "You renamed {oldfile} (hidden) to {newfile}" : "Sa nimetasid faili {oldfile} (peidetud) ümber, uus nimi {newfile}", + "You renamed {oldfile} to {newfile} (hidden)" : "Sa nimetasid faili {oldfile} ümber, uus nimi {newfile} (peidetud)", + "You renamed {oldfile} to {newfile}" : "Sa nimetasid faili {oldfile} ümber, uus nimi {newfile}", + "{user} renamed {oldfile} (hidden) to {newfile} (hidden)" : "Kasutaja {user} nimetas faili {oldfile} (peidetud) ümber, uus nimi {newfile} (peidetud)", + "{user} renamed {oldfile} (hidden) to {newfile}" : "Kasutaja {user} nimetas faili {oldfile} (peidetud) ümber, uus nimi {newfile}", + "{user} renamed {oldfile} to {newfile} (hidden)" : "Kasutaja {user} nimetas faili {oldfile} ümber, uus nimi {newfile} (peidetud)", + "{user} renamed {oldfile} to {newfile}" : "Kasutaja {user} nimetas faili {oldfile} ümber, uus nimi {newfile}", "You moved {oldfile} to {newfile}" : "Sa liigutasid faili: {oldfile} nüüd {newfile}", "{user} moved {oldfile} to {newfile}" : "{user} liigutas faili: {oldfile} nüüd {newfile}", - "A file has been added to or removed from your <strong>favorites</strong>" : "<strong>Lemmikutesse</strong> on lisatud või sealt eemaldatud fail", - "A file or folder has been <strong>changed</strong>" : "Fail või kataloog on <strong>muudetud</strong>", + "A file has been added to or removed from your <strong>favorites</strong>" : "Fail lisati su <strong>lemmikutesse</strong> või eemaldati sealt", + "A file or folder has been <strong>changed</strong>" : "Fail või kaust on <strong>muudetud</strong>", + "A favorite file or folder has been <strong>changed</strong>" : "Lemmikuks märgitud faili või kausta on <strong>muudetud</strong>", "All files" : "Kõik failid", "Upload (max. %s)" : "Üleslaadimine (max. %s)", "Accept" : "Nõustu", "Reject" : "Keeldu", "in %s" : "kaustas %s", + "File Management" : "Failihaldus", + "Reload current directory" : "Värskenda jooksvat kataloogi", + "Go to the \"{dir}\" directory" : "Mine kataloogi \"{dir}\"", + "Open folder {name}" : "Ava kaust {name}", + "Download file {name}" : "Laadi fail {name} alla", "Select all" : "Vali kõik", + "{usedQuotaByte} used" : "{usedQuotaByte} kasutusel", + "{relative}% used" : "{relative}% kasutusel", "Change" : "Muuda", + "New owner" : "Uus omanik", "Unknown error" : "Tundmatu viga", + "Loading current folder" : "Jooksva kausta laadimine", "No files in here" : "Siin ei ole faile", + "No files or folders have been deleted yet" : "Faile ega kaustu pole veel kustutatud", + "Go to the previous folder" : "Mine eelmisesse kausta", "Go back" : "Mine tagasi", + "Files settings" : "Failide seaded", + "File cannot be accessed" : "Failile ligipääs puudub", "Show hidden files" : "Näita peidetud faile", "Additional settings" : "Lisaseaded", "WebDAV" : "WebDAV", "Copy to clipboard" : "Kopeeri lõikepuhvrisse", + "Use this address to access your Files via WebDAV" : "Oma failidele WebDAV kaudu ligipääsemiseks kasuta seda aadressi", + "WebDAV URL copied to clipboard" : "WebDAV URL kopeeritud lõikepuhvrisse", "Create" : "Loo", + "Blank" : "Tühi", + "Unable to create new file from template" : "Faili loomine mallist ebaõnnestus", "Delete permanently" : "Kustuta jäädavalt", + "Open folder {displayName}" : "Ava kaust {displayName}", + "Set up templates folder" : "Seadista mallide kaust", "Templates" : "Mallid", + "Create new templates folder" : "Loo uus mallide kaust", + "Unable to initialize the templates directory" : "Mallide kausta loomine ebaõnnestus", "Upload some content or sync with your devices!" : "Laadi sisu üles või süngi oma seadmetega!", "No entries found in this folder" : "Selles kaustast ei leitud kirjeid", "Upload too large" : "Üleslaadimine on liiga suur", - "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Failid, mida sa proovid üles laadida, ületab serveri poolt üleslaetavatele failidele määratud maksimaalse suuruse.", + "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Failid, mida sa proovid üles laadida, ületavad serveri poolt üleslaaditavatele failidele määratud maksimaalse suuruse.", "No favorites yet" : "Lemmikuid veel pole", "Files and folders you mark as favorite will show up here" : "Siin kuvatakse faile ja kaustasid, mille oled märkinud lemmikuteks", "Shares" : "Jagamisi", @@ -137,9 +195,12 @@ "New text file.txt" : "Uus tekstifail.txt", "Storage invalid" : "Vigane andmehoidla", "Unlimited" : "Piiramatult", + "Search users" : "Otsi kasutajaid", "Cancel" : "Loobu", - "%s used" : "Kasutatud %s", - "%1$s of %2$s used" : "Kasutatud %1$s/%2$s", - "Deleted files" : "Kustutatud failid" + "%s used" : "%s kasutusel", + "%s%%" : "%s%%", + "%1$s of %2$s used" : "%1$s / %2$s kasutusel", + "Deleted files" : "Kustutatud failid", + "Search for an account" : "Otsi kontot" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/files/l10n/gl.js b/apps/files/l10n/gl.js index 67f9e5a5977..33c83de70d4 100644 --- a/apps/files/l10n/gl.js +++ b/apps/files/l10n/gl.js @@ -6,8 +6,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", + "Show list view" : "Amosar a vista de lista", + "Show grid view" : "Amosar a vista de grella", "Home" : "Inicio", "Close" : "Pechar", "Favorites" : "Favoritos", @@ -21,7 +21,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", + "File could not be uploaded" : "Non foi posíbel 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", @@ -42,10 +42,10 @@ OC.L10N.register( "Could not load info for file \"{file}\"" : "Non foi posíbel cargar información para o ficheiro «{file}»", "Files" : "Ficheiros", "Details" : "Detalles", - "Please select tag(s) to add to the selection" : "Elixe a etiqueta(s) para engadir á selección", + "Please select tag(s) to add to the selection" : "Escolla 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}\"", + "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", @@ -58,7 +58,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", + "Failed to redirect to client" : "Produciuse un fallo 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.", @@ -77,7 +77,7 @@ 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í", + "You do not have permission to upload or create files here" : "Non ten 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 ", @@ -88,17 +88,17 @@ OC.L10N.register( "File name cannot be empty." : "O nome de ficheiro non pode estar baleiro", "\"/\" is not allowed inside a file name." : "«/» non está permitido nun nome de ficheiro", "\"{name}\" is not an allowed filetype" : "«{name}» non é un tipo de ficheiro permitido", - "Storage of {owner} is full, files cannot be updated or synced anymore!" : "A almacenaxe de {owner} está chea, non se poden actualizar nin sincronizar os ficheiros!", - "Group folder \"{mountPoint}\" is full, files cannot be updated or synced anymore!" : "O cartafol \"{mountPoint}\" do grupo está completo, non se poderán subir nin sincronizar ficheiros!", - "External storage \"{mountPoint}\" is full, files cannot be updated or synced anymore!" : "A almacenaxe externa \"{mountPoint}\" está chea, non se pode actualizar ou sincronizar ficheiros!", - "Your storage is full, files cannot be updated or synced anymore!" : "A almacenaxe está completa, non se pode sincronizar ou actualizar ficheiros!", + "Storage of {owner} is full, files cannot be updated or synced anymore!" : "A almacenaxe de {owner} está chea, non é posíbel actualizar nin sincronizar os ficheiros!", + "Group folder \"{mountPoint}\" is full, files cannot be updated or synced anymore!" : "O cartafol «{mountPoint}» do grupo está completo, non se poderán actualizar nin sincronizar ficheiros!", + "External storage \"{mountPoint}\" is full, files cannot be updated or synced anymore!" : "A almacenaxe externa «{mountPoint}» está chea, non é posíbel actualizar ou sincronizar ficheiros!", + "Your storage is full, files cannot be updated or synced anymore!" : "A almacenaxe está chea, non é posíbel sincronizar ou actualizar ficheiros!", "Storage of {owner} is almost full ({usedSpacePercent}%)." : "O espazo de almacenamento de {owner} está case cheo ({usedSpacePercent}%).", "Group folder \"{mountPoint}\" is almost full ({usedSpacePercent}%)." : "O cartafol de grupo «{mountPoint}» está case cheo ({usedSpacePercent}%).", "External storage \"{mountPoint}\" is almost full ({usedSpacePercent}%)." : "O almacenamento externo «{mountPoint}» está case cheo ({usedSpacePercent}%).", "Your storage is almost full ({usedSpacePercent}%)." : "O seu espazo de almacenamento está case cheo ({usedSpacePercent}%).", - "_matches \"{filter}\"_::_match \"{filter}\"_" : ["coinciden con \"{filter}\"","coinciden con \"{filter}\""], + "_matches \"{filter}\"_::_match \"{filter}\"_" : ["coincide con «{filter}»","coinciden con «{filter}»"], "View in folder" : "Ver no cartafol", - "Direct link was copied (only works for users who have access to this file/folder)" : "Copiouse a ligazón directa (só funciona para os usuarios que teñen acceso a este ficheiro/cartafol)", + "Direct link was copied (only works for users who have access to this file/folder)" : "Foi copiada a ligazón directa (só funciona para os usuarios que teñen acceso a este ficheiro/cartafol)", "Path" : "Ruta", "_%n byte_::_%n bytes_" : ["%n byte","%n bytes"], "Favorited" : "Marcado como favorito", @@ -169,26 +169,26 @@ OC.L10N.register( "The ownership transfer of {path} from {user} has completed." : "Completouse a transferencia da propiedade de {path} cara a {user}.", "in %s" : "en %s", "File Management" : "Xestión de ficheiros", - "Reload current directory" : "Recarga o directorio actual", - "Go to the \"{dir}\" directory" : "Vaia ao directorio \"{dir}\".", - "Select the row for {displayName}" : "Selecciona a fila para {displayName}", - "Open folder {name}" : "Abrir cartafol {name}", - "Download file {name}" : "Descargar ficheiro {name}", - "\"{displayName}\" action executed successfully" : "A acción \"{displayName}\" executouse correctamente", - "\"{displayName}\" action failed" : "A acción \"{displayName}\" fallou", + "Reload current directory" : "Recargar o directorio actual", + "Go to the \"{dir}\" directory" : "Vaia ao directorio «{dir}».", + "Select the row for {displayName}" : "Seleccione a fila para {displayName}", + "Open folder {name}" : "Abrir o cartafol {name}", + "Download file {name}" : "Descargar o ficheiro {name}", + "\"{displayName}\" action executed successfully" : "A acción «{displayName}» executouse correctamente", + "\"{displayName}\" action failed" : "A acción «{displayName}» fallou", "Total rows summary" : "Resumo total de filas", "Select all" : "Seleccionar todo", - "Unselect all" : "Deselecciona todo", - "\"{displayName}\" failed on some elements " : "Fallou \"{displayName}\" nalgúns elementos", - "\"{displayName}\" batch action executed successfully" : "A acción por lotes \"{displayName}\" executouse correctamente", + "Unselect all" : "Desmarcar todo", + "\"{displayName}\" failed on some elements " : "Produciuse un fallo nalgúns elementos de «{displayName}» ", + "\"{displayName}\" batch action executed successfully" : "A acción por lotes «{displayName}» executouse correctamente", "ascending" : "ascendente", "descending" : "descendente", "Sort list by {column} ({direction})" : "Ordenar a lista por {column} ({direction})", - "This list is not fully rendered for performances reasons. The files will be rendered as you navigate through the list." : "Esta lista non se presenta completamente por motivos de rendemento. Os ficheiros mostraranse mentres navegues pola lista.", + "This list is not fully rendered for performances reasons. The files will be rendered as you navigate through the list." : "Esta lista non se presenta de xeito completo por mor do rendemento. Os ficheiros amósanse mentres navega pola lista.", "Storage informations" : "Información de almacenamento", "{usedQuotaByte} used" : "{usedQuotaByte} usado", "{relative}% used" : "{relative}% usado", - "Could not refresh storage stats" : "Non se puideron actualizar as estatísticas de almacenamento", + "Could not refresh storage stats" : "Non foi posíbel actualizar as estatísticas de almacenamento", "Transfer ownership of a file or folder" : "Transferencia da propiedade dun ficheiro ou cartafol", "Choose file or folder to transfer" : "Escolla o ficheiro ou cartafol para transferir", "Change" : "Cambiar", @@ -199,16 +199,16 @@ OC.L10N.register( "Invalid path selected" : "Seleccionou unha ruta incorrecta.", "Unknown error" : "Erro descoñecido", "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", - "Select file or folder to link to" : "Seleccione o ficheiro ou cartafol ao que quere enlazar", - "Loading current folder" : "Cargando cartafol actual", + "Cannot transfer ownership of a file or folder you do not own" : "Non é posíbel transferir a propiedade dun ficheiro ou cartafol do que non es o propietario", + "Select file or folder to link to" : "Seleccione o ficheiro ou cartafol ao que ligar", + "Loading current folder" : "Cargando o cartafol actual", "No files in here" : "Aquí non hai ficheiros", "No files or folders have been deleted yet" : "Aínda non se eliminou ningún ficheiro nin cartafol", - "Go to the previous folder" : "Vaia ao cartafol anterior", + "Go to the previous folder" : "Ir ao cartafol anterior", "Go back" : "Volver", - "Open the files app settings" : "Abre a configuración da aplicación de ficheiros", + "Open the files app settings" : "Abrir os axustes da aplicación de ficheiros", "Files settings" : "Axustes de ficheiros", - "File cannot be accessed" : "Non se pode acceder ao ficheiro", + "File cannot be accessed" : "Non é posíbel acceder ao ficheiro", "You might not have have permissions to view it, ask the sender to share it" : "É posíbel que non teña permisos para velo, pídalle ao remitente que o comparta", "Show hidden files" : "Amosar os ficheiros agochados", "Crop image previews" : "Recortar a vista previa das imaxes", @@ -216,9 +216,9 @@ OC.L10N.register( "WebDAV" : "WebDAV", "Copy to clipboard" : "Copiar no portapapeis.", "Use this address to access your Files via WebDAV" : "Empregue este enderezo para acceder ao seu Ficheiros mediante WebDAV", - "If you have enabled 2FA, you must create and use a new app password by clicking here." : "Se activaches 2FA, debes crear e utilizar un novo contrasinal da aplicación facendo clic aquí.", + "If you have enabled 2FA, you must create and use a new app password by clicking here." : "Se activou 2FA, debe crear e utilizar un novo contrasinal de aplicación premendo aquí.", "Clipboard is not available" : "O portapapeis non está dispoñíbel", - "WebDAV URL copied to clipboard" : "A URL de WebDAV copiouse no portapapeis", + "WebDAV URL copied to clipboard" : "O URL de WebDAV foi copiado no portapapeis", "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}", @@ -255,8 +255,8 @@ OC.L10N.register( "Cancel" : "Cancelar", "%s used" : "%s utilizado", "%s%%" : "%s%%", - "%1$s of %2$s used" : "%s de %s utilizado", + "%1$s of %2$s used" : "%1$s de %2$s utilizado", "Deleted files" : "Ficheiros eliminados", - "Search for an account" : "Busca unha conta" + "Search for an account" : "Buscar por unha conta" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/files/l10n/gl.json b/apps/files/l10n/gl.json index aa1473c0071..53efb8bee43 100644 --- a/apps/files/l10n/gl.json +++ b/apps/files/l10n/gl.json @@ -4,8 +4,8 @@ "Download" : "Descargar", "Delete" : "Eliminar", "Tags" : "Etiquetas", - "Show list view" : "Mostrar vista de lista", - "Show grid view" : "Mostrar a vista de cuadrícula", + "Show list view" : "Amosar a vista de lista", + "Show grid view" : "Amosar a vista de grella", "Home" : "Inicio", "Close" : "Pechar", "Favorites" : "Favoritos", @@ -19,7 +19,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", + "File could not be uploaded" : "Non foi posíbel 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", @@ -40,10 +40,10 @@ "Could not load info for file \"{file}\"" : "Non foi posíbel cargar información para o ficheiro «{file}»", "Files" : "Ficheiros", "Details" : "Detalles", - "Please select tag(s) to add to the selection" : "Elixe a etiqueta(s) para engadir á selección", + "Please select tag(s) to add to the selection" : "Escolla 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}\"", + "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", @@ -56,7 +56,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", + "Failed to redirect to client" : "Produciuse un fallo 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.", @@ -75,7 +75,7 @@ "_%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í", + "You do not have permission to upload or create files here" : "Non ten 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 ", @@ -86,17 +86,17 @@ "File name cannot be empty." : "O nome de ficheiro non pode estar baleiro", "\"/\" is not allowed inside a file name." : "«/» non está permitido nun nome de ficheiro", "\"{name}\" is not an allowed filetype" : "«{name}» non é un tipo de ficheiro permitido", - "Storage of {owner} is full, files cannot be updated or synced anymore!" : "A almacenaxe de {owner} está chea, non se poden actualizar nin sincronizar os ficheiros!", - "Group folder \"{mountPoint}\" is full, files cannot be updated or synced anymore!" : "O cartafol \"{mountPoint}\" do grupo está completo, non se poderán subir nin sincronizar ficheiros!", - "External storage \"{mountPoint}\" is full, files cannot be updated or synced anymore!" : "A almacenaxe externa \"{mountPoint}\" está chea, non se pode actualizar ou sincronizar ficheiros!", - "Your storage is full, files cannot be updated or synced anymore!" : "A almacenaxe está completa, non se pode sincronizar ou actualizar ficheiros!", + "Storage of {owner} is full, files cannot be updated or synced anymore!" : "A almacenaxe de {owner} está chea, non é posíbel actualizar nin sincronizar os ficheiros!", + "Group folder \"{mountPoint}\" is full, files cannot be updated or synced anymore!" : "O cartafol «{mountPoint}» do grupo está completo, non se poderán actualizar nin sincronizar ficheiros!", + "External storage \"{mountPoint}\" is full, files cannot be updated or synced anymore!" : "A almacenaxe externa «{mountPoint}» está chea, non é posíbel actualizar ou sincronizar ficheiros!", + "Your storage is full, files cannot be updated or synced anymore!" : "A almacenaxe está chea, non é posíbel sincronizar ou actualizar ficheiros!", "Storage of {owner} is almost full ({usedSpacePercent}%)." : "O espazo de almacenamento de {owner} está case cheo ({usedSpacePercent}%).", "Group folder \"{mountPoint}\" is almost full ({usedSpacePercent}%)." : "O cartafol de grupo «{mountPoint}» está case cheo ({usedSpacePercent}%).", "External storage \"{mountPoint}\" is almost full ({usedSpacePercent}%)." : "O almacenamento externo «{mountPoint}» está case cheo ({usedSpacePercent}%).", "Your storage is almost full ({usedSpacePercent}%)." : "O seu espazo de almacenamento está case cheo ({usedSpacePercent}%).", - "_matches \"{filter}\"_::_match \"{filter}\"_" : ["coinciden con \"{filter}\"","coinciden con \"{filter}\""], + "_matches \"{filter}\"_::_match \"{filter}\"_" : ["coincide con «{filter}»","coinciden con «{filter}»"], "View in folder" : "Ver no cartafol", - "Direct link was copied (only works for users who have access to this file/folder)" : "Copiouse a ligazón directa (só funciona para os usuarios que teñen acceso a este ficheiro/cartafol)", + "Direct link was copied (only works for users who have access to this file/folder)" : "Foi copiada a ligazón directa (só funciona para os usuarios que teñen acceso a este ficheiro/cartafol)", "Path" : "Ruta", "_%n byte_::_%n bytes_" : ["%n byte","%n bytes"], "Favorited" : "Marcado como favorito", @@ -167,26 +167,26 @@ "The ownership transfer of {path} from {user} has completed." : "Completouse a transferencia da propiedade de {path} cara a {user}.", "in %s" : "en %s", "File Management" : "Xestión de ficheiros", - "Reload current directory" : "Recarga o directorio actual", - "Go to the \"{dir}\" directory" : "Vaia ao directorio \"{dir}\".", - "Select the row for {displayName}" : "Selecciona a fila para {displayName}", - "Open folder {name}" : "Abrir cartafol {name}", - "Download file {name}" : "Descargar ficheiro {name}", - "\"{displayName}\" action executed successfully" : "A acción \"{displayName}\" executouse correctamente", - "\"{displayName}\" action failed" : "A acción \"{displayName}\" fallou", + "Reload current directory" : "Recargar o directorio actual", + "Go to the \"{dir}\" directory" : "Vaia ao directorio «{dir}».", + "Select the row for {displayName}" : "Seleccione a fila para {displayName}", + "Open folder {name}" : "Abrir o cartafol {name}", + "Download file {name}" : "Descargar o ficheiro {name}", + "\"{displayName}\" action executed successfully" : "A acción «{displayName}» executouse correctamente", + "\"{displayName}\" action failed" : "A acción «{displayName}» fallou", "Total rows summary" : "Resumo total de filas", "Select all" : "Seleccionar todo", - "Unselect all" : "Deselecciona todo", - "\"{displayName}\" failed on some elements " : "Fallou \"{displayName}\" nalgúns elementos", - "\"{displayName}\" batch action executed successfully" : "A acción por lotes \"{displayName}\" executouse correctamente", + "Unselect all" : "Desmarcar todo", + "\"{displayName}\" failed on some elements " : "Produciuse un fallo nalgúns elementos de «{displayName}» ", + "\"{displayName}\" batch action executed successfully" : "A acción por lotes «{displayName}» executouse correctamente", "ascending" : "ascendente", "descending" : "descendente", "Sort list by {column} ({direction})" : "Ordenar a lista por {column} ({direction})", - "This list is not fully rendered for performances reasons. The files will be rendered as you navigate through the list." : "Esta lista non se presenta completamente por motivos de rendemento. Os ficheiros mostraranse mentres navegues pola lista.", + "This list is not fully rendered for performances reasons. The files will be rendered as you navigate through the list." : "Esta lista non se presenta de xeito completo por mor do rendemento. Os ficheiros amósanse mentres navega pola lista.", "Storage informations" : "Información de almacenamento", "{usedQuotaByte} used" : "{usedQuotaByte} usado", "{relative}% used" : "{relative}% usado", - "Could not refresh storage stats" : "Non se puideron actualizar as estatísticas de almacenamento", + "Could not refresh storage stats" : "Non foi posíbel actualizar as estatísticas de almacenamento", "Transfer ownership of a file or folder" : "Transferencia da propiedade dun ficheiro ou cartafol", "Choose file or folder to transfer" : "Escolla o ficheiro ou cartafol para transferir", "Change" : "Cambiar", @@ -197,16 +197,16 @@ "Invalid path selected" : "Seleccionou unha ruta incorrecta.", "Unknown error" : "Erro descoñecido", "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", - "Select file or folder to link to" : "Seleccione o ficheiro ou cartafol ao que quere enlazar", - "Loading current folder" : "Cargando cartafol actual", + "Cannot transfer ownership of a file or folder you do not own" : "Non é posíbel transferir a propiedade dun ficheiro ou cartafol do que non es o propietario", + "Select file or folder to link to" : "Seleccione o ficheiro ou cartafol ao que ligar", + "Loading current folder" : "Cargando o cartafol actual", "No files in here" : "Aquí non hai ficheiros", "No files or folders have been deleted yet" : "Aínda non se eliminou ningún ficheiro nin cartafol", - "Go to the previous folder" : "Vaia ao cartafol anterior", + "Go to the previous folder" : "Ir ao cartafol anterior", "Go back" : "Volver", - "Open the files app settings" : "Abre a configuración da aplicación de ficheiros", + "Open the files app settings" : "Abrir os axustes da aplicación de ficheiros", "Files settings" : "Axustes de ficheiros", - "File cannot be accessed" : "Non se pode acceder ao ficheiro", + "File cannot be accessed" : "Non é posíbel acceder ao ficheiro", "You might not have have permissions to view it, ask the sender to share it" : "É posíbel que non teña permisos para velo, pídalle ao remitente que o comparta", "Show hidden files" : "Amosar os ficheiros agochados", "Crop image previews" : "Recortar a vista previa das imaxes", @@ -214,9 +214,9 @@ "WebDAV" : "WebDAV", "Copy to clipboard" : "Copiar no portapapeis.", "Use this address to access your Files via WebDAV" : "Empregue este enderezo para acceder ao seu Ficheiros mediante WebDAV", - "If you have enabled 2FA, you must create and use a new app password by clicking here." : "Se activaches 2FA, debes crear e utilizar un novo contrasinal da aplicación facendo clic aquí.", + "If you have enabled 2FA, you must create and use a new app password by clicking here." : "Se activou 2FA, debe crear e utilizar un novo contrasinal de aplicación premendo aquí.", "Clipboard is not available" : "O portapapeis non está dispoñíbel", - "WebDAV URL copied to clipboard" : "A URL de WebDAV copiouse no portapapeis", + "WebDAV URL copied to clipboard" : "O URL de WebDAV foi copiado no portapapeis", "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}", @@ -253,8 +253,8 @@ "Cancel" : "Cancelar", "%s used" : "%s utilizado", "%s%%" : "%s%%", - "%1$s of %2$s used" : "%s de %s utilizado", + "%1$s of %2$s used" : "%1$s de %2$s utilizado", "Deleted files" : "Ficheiros eliminados", - "Search for an account" : "Busca unha conta" + "Search for an account" : "Buscar por unha conta" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/files/l10n/ko.js b/apps/files/l10n/ko.js index a541a59f219..678636a1891 100644 --- a/apps/files/l10n/ko.js +++ b/apps/files/l10n/ko.js @@ -24,7 +24,7 @@ OC.L10N.register( "File could not be uploaded" : "파일을 업로드할 수 없음", "Uploading …" : "업로드 중…", "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize}/{totalSize}({bitrate})", - "Uploading that item is not supported" : "이 항목의 업로드를 지원하지 않습니다", + "Uploading that item is not supported" : "이 항목의 업로드를 지원하지 않습니다.", "Target folder does not exist any more" : "대상 폴더가 더 이상 존재하지 않습니다", "Operation is blocked by access control" : "접근 설정에 의해 동작이 차단됨", "Error when assembling chunks, status code {status}" : "조각을 모으는 중 오류 발생, 상태 코드 {status}", @@ -33,6 +33,7 @@ OC.L10N.register( "Move" : "이동", "Copy" : "복사", "Choose target folder" : "폴더 선택", + "Edit locally" : "로컬에서 편집", "Open" : "열기", "Delete file" : "파일 삭제", "Delete folder" : "폴더 삭제", @@ -41,7 +42,7 @@ OC.L10N.register( "Could not load info for file \"{file}\"" : "파일 \"{file}\"의 정보를 가져올 수 없음", "Files" : "파일", "Details" : "자세한 정보", - "Please select tag(s) to add to the selection" : "선택한 항목에 추가할 태그를 고르세요", + "Please select tag(s) to add to the selection" : "선택한 항목에 추가할 태그를 고르세요.", "Apply tag(s) to selection" : "선택한 항목에 태그 적용하기", "Select directory \"{dirName}\"" : "디렉터리 \"{dirName}\" 선택", "Select file \"{fileName}\"" : "파일 \"{fileName}\" 선택", @@ -57,6 +58,7 @@ OC.L10N.register( "Could not copy \"{file}\"" : "\"{file}\"을(를) 복사할 수 없음", "Copied {origin} inside {destination}" : "{origin}을(를) {destination}(으)로 복사함", "Copied {origin} and {nbfiles} other files inside {destination}" : "{origin} 및 다른 파일 {nbfiles}개를 {destination}(으)로 복사함", + "Failed to redirect to client" : "클라이언트로 리디렉션 하는데 실패함", "{newName} already exists" : "{newName}이(가) 이미 존재함", "Could not rename \"{fileName}\", it does not exist any more" : "\"{fileName}\"의 이름을 변경할 수 없음, 더 이상 존재하지 않음", "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "폴더 \"{dir}\" 내에 파일 \"{targetName}\"이(가) 이미 있습니다. 다른 이름을 사용하십시오.", @@ -67,7 +69,7 @@ OC.L10N.register( "Could not fetch file details \"{file}\"" : "\"{file}\"의 세부사항을 불러올 수 없음", "Error deleting file \"{fileName}\"." : "파일 \"{fileName}\"을(를) 삭제할 수 없습니다.", "No search results in other folders for {tag}{filter}{endtag}" : "다른 폴더에 {tag}{filter}{endtag} 검색 결과가 없음", - "Enter more than two characters to search in other folders" : "여러 폴더에서 검색하기 위해 2글자 이상 입력하십시오", + "Enter more than two characters to search in other folders" : "다른 폴더에서 검색하기 위해 2글자 이상 입력하세요.", "Name" : "이름", "Size" : "크기", "Modified" : "수정됨", @@ -75,9 +77,10 @@ OC.L10N.register( "_%n file_::_%n files_" : ["파일 %n개"], "{dirs} and {files}" : "{dirs} 그리고 {files}", "_including %n hidden_::_including %n hidden_" : ["%n개의 숨겨진 파일 포함"], - "You do not have permission to upload or create files here" : "여기에 파일을 업로드하거나 만들 권한이 없습니다", + "You do not have permission to upload or create files here" : "여기에 파일을 업로드하거나 만들 권한이 없습니다.", "_Uploading %n file_::_Uploading %n files_" : ["파일 %n개 업로드 중"], "New file/folder menu" : "새 파일/폴더 메뉴", + "Select file range" : "파일 범위 선택", "{used} of {quota} used" : "{quota} 중 {used} 사용함", "{used} used" : "{used} 사용함", "\"{name}\" is an invalid file name." : "\"{name}\"은(는) 잘못된 파일 이름입니다.", @@ -88,22 +91,25 @@ OC.L10N.register( "Group folder \"{mountPoint}\" is full, files cannot be updated or synced anymore!" : "그룹 폴더 \"{mountPoint}\"이(가) 가득 찼습니다. 파일을 더 이상 업데이트하거나 동기화할 수 없습니다!", "External storage \"{mountPoint}\" is full, files cannot be updated or synced anymore!" : "외부 저장소 \"{mountPoint}\"이(가) 가득 찼습니다. 파일을 더 이상 업데이트하거나 동기화할 수 없습니다!", "Your storage is full, files cannot be updated or synced anymore!" : "저장 공간이 가득 찼습니다. 파일을 업데이트하거나 동기화할 수 없습니다!", - "Storage of {owner} is almost full ({usedSpacePercent}%)." : "{owner}의 저장 공간이 거의 가득 찼습니다({usedSpacePercent}%)", - "Group folder \"{mountPoint}\" is almost full ({usedSpacePercent}%)." : "그룹 폴더 \"{mountPoint}\"이(가) 거의 가득 찼습니다({usedSpacePercent}%)", - "External storage \"{mountPoint}\" is almost full ({usedSpacePercent}%)." : "외부 저장소 \"{mountPoint}\"이(가) 거의 가득 찼습니다({usedSpacePercent}%)", - "Your storage is almost full ({usedSpacePercent}%)." : "저장 공간이 거의 가득 찼습니다({usedSpacePercent}%)", + "Storage of {owner} is almost full ({usedSpacePercent}%)." : "{owner}의 저장 공간이 거의 가득 찼습니다. ({usedSpacePercent}%)", + "Group folder \"{mountPoint}\" is almost full ({usedSpacePercent}%)." : "그룹 폴더 \"{mountPoint}\"이(가) 거의 가득 찼습니다. ({usedSpacePercent}%)", + "External storage \"{mountPoint}\" is almost full ({usedSpacePercent}%)." : "외부 저장소 \"{mountPoint}\"이(가) 거의 가득 찼습니다. ({usedSpacePercent}%)", + "Your storage is almost full ({usedSpacePercent}%)." : "저장 공간이 거의 가득 찼습니다. ({usedSpacePercent}%)", "_matches \"{filter}\"_::_match \"{filter}\"_" : ["'{filter}'와(과) 일치"], "View in folder" : "폴더에서 보기", + "Direct link was copied (only works for users who have access to this file/folder)" : "직접 링크를 복사했습니다. (이 파일 및 폴더에 접근할 수 있는 사용자에게만 작동)", "Path" : "경로", "_%n byte_::_%n bytes_" : ["%n 바이트"], "Favorited" : "즐겨찾기에 추가됨", "Favorite" : "즐겨찾기", "Copy direct link (only works for users who have access to this file/folder)" : "직접 링크 복사(이 파일/폴더에 접근 권한이 있는 사람만)", - "You can only favorite a single file or folder at a time" : "한번에 한 파일 혹은 한 폴더만 즐겨찾기로 지정할 수 있습니다", + "You can only favorite a single file or folder at a time" : "한번에 한 파일 혹은 한 폴더만 즐겨찾기로 지정할 수 있습니다.", "New folder" : "새 폴더", "Create new folder" : "새 폴더 생성", "Upload file" : "파일 업로드", "Recent" : "최근", + "This file has the tag {tag}" : "이 파일에 {tag} 태그가 있음", + "This file has the tags {firstTags} and {lastTag}" : "이 파일에 {firstTags}와 {lastTag} 태그가 있음", "Not favorited" : "즐겨찾기에 없음", "Remove from favorites" : "즐겨찾기에서 삭제", "Add to favorites" : "즐겨찾기에 추가", @@ -121,27 +127,27 @@ OC.L10N.register( "Moved by {user}" : "{user} 님이 이동함", "\"remote user\"" : "\"원격 사용자\"", "You created {file}" : "{file}을(를) 만듦", - "You created an encrypted file in {file}" : "{file}에 암호화된 파일을 생성했습니다", + "You created an encrypted file in {file}" : "{file}에 암호화된 파일을 생성했습니다.", "{user} created {file}" : "{user} 님이 {file}을(를) 만듦", - "{user} created an encrypted file in {file}" : "{user}이(가) {file}에 암호화된 파일을 생성했습니다", + "{user} created an encrypted file in {file}" : "{user}님이 {file}에 암호화된 파일을 생성", "{file} was created in a public folder" : "공유 폴더에 {file}이(가) 생성됨", "You changed {file}" : "{file}을(를) 변경함", - "You changed an encrypted file in {file}" : "{file}에 암호화된 파일을 변경했습니다", + "You changed an encrypted file in {file}" : "{file}에 암호화된 파일을 변경했습니다.", "{user} changed {file}" : "{user} 님이 {file}을(를) 변경함", - "{user} changed an encrypted file in {file}" : "{user}이(가) {file}에 암호화된 파일을 변경했습니다", + "{user} changed an encrypted file in {file}" : "{user}님이 {file}에 암호화된 파일을 변경", "You deleted {file}" : "{file}을(를) 삭제함", - "You deleted an encrypted file in {file}" : "{file}에 암호화된 파일을 제거했습니다", + "You deleted an encrypted file in {file}" : "{file}에 암호화된 파일을 제거했습니다.", "{user} deleted {file}" : "{user} 님이 {file}을(를) 삭제함", - "{user} deleted an encrypted file in {file}" : "{user}이(가) {file}에 암호화된 파일을 제거했습니다", + "{user} deleted an encrypted file in {file}" : "{user}님이 {file}에 암호화된 파일을 제거", "You restored {file}" : "내가 {file}을(를) 복원함", "{user} restored {file}" : "{user} 님이 {file}을(를) 복원함", "You renamed {oldfile} (hidden) to {newfile} (hidden)" : "{oldfile} (숨겨짐)을(를) {newfile} (숨겨짐)(으)로 이름을 바꿈", "You renamed {oldfile} (hidden) to {newfile}" : "{oldfile} (숨겨짐)을(를) {newfile}(으)로 이름을 바꿈", "You renamed {oldfile} to {newfile} (hidden)" : "{oldfile}을(를) {newfile} (숨겨짐)(으)로 이름을 바꿈", "You renamed {oldfile} to {newfile}" : "{oldfile}을(를) {newfile}(으)로 이름을 바꿈", - "{user} renamed {oldfile} (hidden) to {newfile} (hidden)" : "{user}이(가) {oldfile} (숨겨짐)을(를) {newfile} (숨겨짐)(으)로 이름을 바꿈", - "{user} renamed {oldfile} (hidden) to {newfile}" : "{user}이(가) {oldfile} (숨겨짐)을(를) {newfile}(으)로 이름을 바꿈", - "{user} renamed {oldfile} to {newfile} (hidden)" : "{user}이(가) {oldfile}을(를) {newfile} (숨겨짐)(으)로 이름을 바꿈", + "{user} renamed {oldfile} (hidden) to {newfile} (hidden)" : "{user}님이 {oldfile} (숨겨짐)을(를) {newfile} (숨겨짐)(으)로 이름을 바꿈", + "{user} renamed {oldfile} (hidden) to {newfile}" : "{user}님이 {oldfile} (숨겨짐)을(를) {newfile}(으)로 이름을 바꿈", + "{user} renamed {oldfile} to {newfile} (hidden)" : "{user}님이 {oldfile}을(를) {newfile} (숨겨짐)(으)로 이름을 바꿈", "{user} renamed {oldfile} to {newfile}" : "{user} 님이 {oldfile}을(를) {newfile}(으)로 이름을 바꿈", "You moved {oldfile} to {newfile}" : "{oldfile}을(를) {newfile}(으)로 이동함", "{user} moved {oldfile} to {newfile}" : "{user} 님이 {oldfile}을(를) {newfile}(으)로 이동함", @@ -162,7 +168,26 @@ OC.L10N.register( "The ownership transfer of {path} from {user} has completed." : "{user}(으)로부터 {path}의 소유권을 받았습니다.", "in %s" : "%s", "File Management" : "파일 관리", + "Reload current directory" : "이 경로를 새로고침", + "Go to the \"{dir}\" directory" : "\"{dir}\" 경로로 이동", + "Select the row for {displayName}" : "{displayName}을 위한 행을 선택", + "Open folder {name}" : "{name} 폴더 열기", + "Download file {name}" : "{name} 파일 다운로드", + "\"{displayName}\" action executed successfully" : "\"{displayName}\" 작업을 성공적으로 실행함", + "\"{displayName}\" action failed" : "\"{displayName}\" 작업을 실패함", + "Total rows summary" : "총 행 요약", "Select all" : "모두 선택", + "Unselect all" : "모두 선택 해제", + "\"{displayName}\" failed on some elements " : "\"{displayName}\" 이 일부 요소들에서 실패함", + "\"{displayName}\" batch action executed successfully" : "\"{displayName}\" 일괄 작업을 성공적으로 실행함", + "ascending" : "오름차순", + "descending" : "내림차순", + "Sort list by {column} ({direction})" : "{column} ({direction})으로 목록 정렬", + "This list is not fully rendered for performances reasons. The files will be rendered as you navigate through the list." : "이 목록은 성능 상의 이유로 완전히 표시되지 않았습니다. 목록을 탐색하면 파일이 표시됩니다.", + "Storage informations" : "저장소 정보", + "{usedQuotaByte} used" : "{usedQuotaByte} 사용", + "{relative}% used" : "{relative}% 사용", + "Could not refresh storage stats" : "저장소 정보를 새로고칠 수 없음", "Transfer ownership of a file or folder" : "파일이나 폴더의 소유권 이전", "Choose file or folder to transfer" : "이전할 파일이나 폴더 고르기", "Change" : "변경", @@ -174,14 +199,24 @@ OC.L10N.register( "Unknown error" : "알 수 없는 오류", "Ownership transfer request sent" : "소유권 이전 요청이 전송됨", "Cannot transfer ownership of a file or folder you do not own" : "내가 소유하지 않은 파일이나 폴더의 소유권을 이전할 수 없음", + "Select file or folder to link to" : "링크할 파일이나 폴더 선택", + "Loading current folder" : "현재 폴더를 불러오는 중", "No files in here" : "여기에 파일 없음", + "No files or folders have been deleted yet" : "아직 삭제된 파일이나 폴더가 없습니다.", + "Go to the previous folder" : "이전 폴더로 이동", "Go back" : "뒤로 가기", + "Open the files app settings" : "파일 앱 설정을 열기", "Files settings" : "파일 설정", + "File cannot be accessed" : "파일에 접근할 수 없음", + "You might not have have permissions to view it, ask the sender to share it" : "이것을 볼 권한이 없는 것 같습니다, 보낸 이에게 공유를 요청하세요.", "Show hidden files" : "숨김 파일 보이기", + "Crop image previews" : "이미지 미리보기 확대", "Additional settings" : "고급 설정", "WebDAV" : "WebDAV", "Copy to clipboard" : "클립보드로 복사", - "Use this address to access your Files via WebDAV" : "이 주소를 사용하여 WebDAV를 통해 내 파일에 접근하십시오", + "Use this address to access your Files via WebDAV" : "이 주소를 사용하여 WebDAV를 통해 내 파일에 접근하세요.", + "Clipboard is not available" : "클립보드를 사용할 수 없습니다.", + "WebDAV URL copied to clipboard" : "WebDAV URL이 클립보드에 복사됨", "Unable to change the favourite state of the file" : "파일의 즐겨찾기 상태를 변경할 수 없음", "Error while loading the file data" : "파일 데이터를 불러오는 중 오류 발생", "Pick a template for {name}" : "{name}을(를) 위한 템플릿 선택", @@ -191,8 +226,10 @@ OC.L10N.register( "Blank" : "여백", "Unable to create new file from template" : "템플릿으로 새 파일을 만들 수 없음", "Delete permanently" : "영구히 삭제", + "Open folder {displayName}" : "{displayName} 폴더 열기", "Set up templates folder" : "템플릿 폴더 설정", "Templates" : "템플릿", + "Create new templates folder" : "새로운 템플릿 폴더 만들기", "Unable to initialize the templates directory" : "템플릿 디렉터리를 설정할 수 없음", "Toggle grid view" : "모눈 보기 전환", "Upload some content or sync with your devices!" : "파일을 업로드하거나 장치와 동기화하십시오!", @@ -215,6 +252,7 @@ OC.L10N.register( "Cancel" : "취소", "%s used" : "%s 사용함", "%1$s of %2$s used" : "%2$s 중 %1$s 사용됨", - "Deleted files" : "삭제된 파일" + "Deleted files" : "삭제된 파일", + "Search for an account" : "계정 검색" }, "nplurals=1; plural=0;"); diff --git a/apps/files/l10n/ko.json b/apps/files/l10n/ko.json index 5e9d348fd5e..2ce8390cab1 100644 --- a/apps/files/l10n/ko.json +++ b/apps/files/l10n/ko.json @@ -22,7 +22,7 @@ "File could not be uploaded" : "파일을 업로드할 수 없음", "Uploading …" : "업로드 중…", "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize}/{totalSize}({bitrate})", - "Uploading that item is not supported" : "이 항목의 업로드를 지원하지 않습니다", + "Uploading that item is not supported" : "이 항목의 업로드를 지원하지 않습니다.", "Target folder does not exist any more" : "대상 폴더가 더 이상 존재하지 않습니다", "Operation is blocked by access control" : "접근 설정에 의해 동작이 차단됨", "Error when assembling chunks, status code {status}" : "조각을 모으는 중 오류 발생, 상태 코드 {status}", @@ -31,6 +31,7 @@ "Move" : "이동", "Copy" : "복사", "Choose target folder" : "폴더 선택", + "Edit locally" : "로컬에서 편집", "Open" : "열기", "Delete file" : "파일 삭제", "Delete folder" : "폴더 삭제", @@ -39,7 +40,7 @@ "Could not load info for file \"{file}\"" : "파일 \"{file}\"의 정보를 가져올 수 없음", "Files" : "파일", "Details" : "자세한 정보", - "Please select tag(s) to add to the selection" : "선택한 항목에 추가할 태그를 고르세요", + "Please select tag(s) to add to the selection" : "선택한 항목에 추가할 태그를 고르세요.", "Apply tag(s) to selection" : "선택한 항목에 태그 적용하기", "Select directory \"{dirName}\"" : "디렉터리 \"{dirName}\" 선택", "Select file \"{fileName}\"" : "파일 \"{fileName}\" 선택", @@ -55,6 +56,7 @@ "Could not copy \"{file}\"" : "\"{file}\"을(를) 복사할 수 없음", "Copied {origin} inside {destination}" : "{origin}을(를) {destination}(으)로 복사함", "Copied {origin} and {nbfiles} other files inside {destination}" : "{origin} 및 다른 파일 {nbfiles}개를 {destination}(으)로 복사함", + "Failed to redirect to client" : "클라이언트로 리디렉션 하는데 실패함", "{newName} already exists" : "{newName}이(가) 이미 존재함", "Could not rename \"{fileName}\", it does not exist any more" : "\"{fileName}\"의 이름을 변경할 수 없음, 더 이상 존재하지 않음", "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "폴더 \"{dir}\" 내에 파일 \"{targetName}\"이(가) 이미 있습니다. 다른 이름을 사용하십시오.", @@ -65,7 +67,7 @@ "Could not fetch file details \"{file}\"" : "\"{file}\"의 세부사항을 불러올 수 없음", "Error deleting file \"{fileName}\"." : "파일 \"{fileName}\"을(를) 삭제할 수 없습니다.", "No search results in other folders for {tag}{filter}{endtag}" : "다른 폴더에 {tag}{filter}{endtag} 검색 결과가 없음", - "Enter more than two characters to search in other folders" : "여러 폴더에서 검색하기 위해 2글자 이상 입력하십시오", + "Enter more than two characters to search in other folders" : "다른 폴더에서 검색하기 위해 2글자 이상 입력하세요.", "Name" : "이름", "Size" : "크기", "Modified" : "수정됨", @@ -73,9 +75,10 @@ "_%n file_::_%n files_" : ["파일 %n개"], "{dirs} and {files}" : "{dirs} 그리고 {files}", "_including %n hidden_::_including %n hidden_" : ["%n개의 숨겨진 파일 포함"], - "You do not have permission to upload or create files here" : "여기에 파일을 업로드하거나 만들 권한이 없습니다", + "You do not have permission to upload or create files here" : "여기에 파일을 업로드하거나 만들 권한이 없습니다.", "_Uploading %n file_::_Uploading %n files_" : ["파일 %n개 업로드 중"], "New file/folder menu" : "새 파일/폴더 메뉴", + "Select file range" : "파일 범위 선택", "{used} of {quota} used" : "{quota} 중 {used} 사용함", "{used} used" : "{used} 사용함", "\"{name}\" is an invalid file name." : "\"{name}\"은(는) 잘못된 파일 이름입니다.", @@ -86,22 +89,25 @@ "Group folder \"{mountPoint}\" is full, files cannot be updated or synced anymore!" : "그룹 폴더 \"{mountPoint}\"이(가) 가득 찼습니다. 파일을 더 이상 업데이트하거나 동기화할 수 없습니다!", "External storage \"{mountPoint}\" is full, files cannot be updated or synced anymore!" : "외부 저장소 \"{mountPoint}\"이(가) 가득 찼습니다. 파일을 더 이상 업데이트하거나 동기화할 수 없습니다!", "Your storage is full, files cannot be updated or synced anymore!" : "저장 공간이 가득 찼습니다. 파일을 업데이트하거나 동기화할 수 없습니다!", - "Storage of {owner} is almost full ({usedSpacePercent}%)." : "{owner}의 저장 공간이 거의 가득 찼습니다({usedSpacePercent}%)", - "Group folder \"{mountPoint}\" is almost full ({usedSpacePercent}%)." : "그룹 폴더 \"{mountPoint}\"이(가) 거의 가득 찼습니다({usedSpacePercent}%)", - "External storage \"{mountPoint}\" is almost full ({usedSpacePercent}%)." : "외부 저장소 \"{mountPoint}\"이(가) 거의 가득 찼습니다({usedSpacePercent}%)", - "Your storage is almost full ({usedSpacePercent}%)." : "저장 공간이 거의 가득 찼습니다({usedSpacePercent}%)", + "Storage of {owner} is almost full ({usedSpacePercent}%)." : "{owner}의 저장 공간이 거의 가득 찼습니다. ({usedSpacePercent}%)", + "Group folder \"{mountPoint}\" is almost full ({usedSpacePercent}%)." : "그룹 폴더 \"{mountPoint}\"이(가) 거의 가득 찼습니다. ({usedSpacePercent}%)", + "External storage \"{mountPoint}\" is almost full ({usedSpacePercent}%)." : "외부 저장소 \"{mountPoint}\"이(가) 거의 가득 찼습니다. ({usedSpacePercent}%)", + "Your storage is almost full ({usedSpacePercent}%)." : "저장 공간이 거의 가득 찼습니다. ({usedSpacePercent}%)", "_matches \"{filter}\"_::_match \"{filter}\"_" : ["'{filter}'와(과) 일치"], "View in folder" : "폴더에서 보기", + "Direct link was copied (only works for users who have access to this file/folder)" : "직접 링크를 복사했습니다. (이 파일 및 폴더에 접근할 수 있는 사용자에게만 작동)", "Path" : "경로", "_%n byte_::_%n bytes_" : ["%n 바이트"], "Favorited" : "즐겨찾기에 추가됨", "Favorite" : "즐겨찾기", "Copy direct link (only works for users who have access to this file/folder)" : "직접 링크 복사(이 파일/폴더에 접근 권한이 있는 사람만)", - "You can only favorite a single file or folder at a time" : "한번에 한 파일 혹은 한 폴더만 즐겨찾기로 지정할 수 있습니다", + "You can only favorite a single file or folder at a time" : "한번에 한 파일 혹은 한 폴더만 즐겨찾기로 지정할 수 있습니다.", "New folder" : "새 폴더", "Create new folder" : "새 폴더 생성", "Upload file" : "파일 업로드", "Recent" : "최근", + "This file has the tag {tag}" : "이 파일에 {tag} 태그가 있음", + "This file has the tags {firstTags} and {lastTag}" : "이 파일에 {firstTags}와 {lastTag} 태그가 있음", "Not favorited" : "즐겨찾기에 없음", "Remove from favorites" : "즐겨찾기에서 삭제", "Add to favorites" : "즐겨찾기에 추가", @@ -119,27 +125,27 @@ "Moved by {user}" : "{user} 님이 이동함", "\"remote user\"" : "\"원격 사용자\"", "You created {file}" : "{file}을(를) 만듦", - "You created an encrypted file in {file}" : "{file}에 암호화된 파일을 생성했습니다", + "You created an encrypted file in {file}" : "{file}에 암호화된 파일을 생성했습니다.", "{user} created {file}" : "{user} 님이 {file}을(를) 만듦", - "{user} created an encrypted file in {file}" : "{user}이(가) {file}에 암호화된 파일을 생성했습니다", + "{user} created an encrypted file in {file}" : "{user}님이 {file}에 암호화된 파일을 생성", "{file} was created in a public folder" : "공유 폴더에 {file}이(가) 생성됨", "You changed {file}" : "{file}을(를) 변경함", - "You changed an encrypted file in {file}" : "{file}에 암호화된 파일을 변경했습니다", + "You changed an encrypted file in {file}" : "{file}에 암호화된 파일을 변경했습니다.", "{user} changed {file}" : "{user} 님이 {file}을(를) 변경함", - "{user} changed an encrypted file in {file}" : "{user}이(가) {file}에 암호화된 파일을 변경했습니다", + "{user} changed an encrypted file in {file}" : "{user}님이 {file}에 암호화된 파일을 변경", "You deleted {file}" : "{file}을(를) 삭제함", - "You deleted an encrypted file in {file}" : "{file}에 암호화된 파일을 제거했습니다", + "You deleted an encrypted file in {file}" : "{file}에 암호화된 파일을 제거했습니다.", "{user} deleted {file}" : "{user} 님이 {file}을(를) 삭제함", - "{user} deleted an encrypted file in {file}" : "{user}이(가) {file}에 암호화된 파일을 제거했습니다", + "{user} deleted an encrypted file in {file}" : "{user}님이 {file}에 암호화된 파일을 제거", "You restored {file}" : "내가 {file}을(를) 복원함", "{user} restored {file}" : "{user} 님이 {file}을(를) 복원함", "You renamed {oldfile} (hidden) to {newfile} (hidden)" : "{oldfile} (숨겨짐)을(를) {newfile} (숨겨짐)(으)로 이름을 바꿈", "You renamed {oldfile} (hidden) to {newfile}" : "{oldfile} (숨겨짐)을(를) {newfile}(으)로 이름을 바꿈", "You renamed {oldfile} to {newfile} (hidden)" : "{oldfile}을(를) {newfile} (숨겨짐)(으)로 이름을 바꿈", "You renamed {oldfile} to {newfile}" : "{oldfile}을(를) {newfile}(으)로 이름을 바꿈", - "{user} renamed {oldfile} (hidden) to {newfile} (hidden)" : "{user}이(가) {oldfile} (숨겨짐)을(를) {newfile} (숨겨짐)(으)로 이름을 바꿈", - "{user} renamed {oldfile} (hidden) to {newfile}" : "{user}이(가) {oldfile} (숨겨짐)을(를) {newfile}(으)로 이름을 바꿈", - "{user} renamed {oldfile} to {newfile} (hidden)" : "{user}이(가) {oldfile}을(를) {newfile} (숨겨짐)(으)로 이름을 바꿈", + "{user} renamed {oldfile} (hidden) to {newfile} (hidden)" : "{user}님이 {oldfile} (숨겨짐)을(를) {newfile} (숨겨짐)(으)로 이름을 바꿈", + "{user} renamed {oldfile} (hidden) to {newfile}" : "{user}님이 {oldfile} (숨겨짐)을(를) {newfile}(으)로 이름을 바꿈", + "{user} renamed {oldfile} to {newfile} (hidden)" : "{user}님이 {oldfile}을(를) {newfile} (숨겨짐)(으)로 이름을 바꿈", "{user} renamed {oldfile} to {newfile}" : "{user} 님이 {oldfile}을(를) {newfile}(으)로 이름을 바꿈", "You moved {oldfile} to {newfile}" : "{oldfile}을(를) {newfile}(으)로 이동함", "{user} moved {oldfile} to {newfile}" : "{user} 님이 {oldfile}을(를) {newfile}(으)로 이동함", @@ -160,7 +166,26 @@ "The ownership transfer of {path} from {user} has completed." : "{user}(으)로부터 {path}의 소유권을 받았습니다.", "in %s" : "%s", "File Management" : "파일 관리", + "Reload current directory" : "이 경로를 새로고침", + "Go to the \"{dir}\" directory" : "\"{dir}\" 경로로 이동", + "Select the row for {displayName}" : "{displayName}을 위한 행을 선택", + "Open folder {name}" : "{name} 폴더 열기", + "Download file {name}" : "{name} 파일 다운로드", + "\"{displayName}\" action executed successfully" : "\"{displayName}\" 작업을 성공적으로 실행함", + "\"{displayName}\" action failed" : "\"{displayName}\" 작업을 실패함", + "Total rows summary" : "총 행 요약", "Select all" : "모두 선택", + "Unselect all" : "모두 선택 해제", + "\"{displayName}\" failed on some elements " : "\"{displayName}\" 이 일부 요소들에서 실패함", + "\"{displayName}\" batch action executed successfully" : "\"{displayName}\" 일괄 작업을 성공적으로 실행함", + "ascending" : "오름차순", + "descending" : "내림차순", + "Sort list by {column} ({direction})" : "{column} ({direction})으로 목록 정렬", + "This list is not fully rendered for performances reasons. The files will be rendered as you navigate through the list." : "이 목록은 성능 상의 이유로 완전히 표시되지 않았습니다. 목록을 탐색하면 파일이 표시됩니다.", + "Storage informations" : "저장소 정보", + "{usedQuotaByte} used" : "{usedQuotaByte} 사용", + "{relative}% used" : "{relative}% 사용", + "Could not refresh storage stats" : "저장소 정보를 새로고칠 수 없음", "Transfer ownership of a file or folder" : "파일이나 폴더의 소유권 이전", "Choose file or folder to transfer" : "이전할 파일이나 폴더 고르기", "Change" : "변경", @@ -172,14 +197,24 @@ "Unknown error" : "알 수 없는 오류", "Ownership transfer request sent" : "소유권 이전 요청이 전송됨", "Cannot transfer ownership of a file or folder you do not own" : "내가 소유하지 않은 파일이나 폴더의 소유권을 이전할 수 없음", + "Select file or folder to link to" : "링크할 파일이나 폴더 선택", + "Loading current folder" : "현재 폴더를 불러오는 중", "No files in here" : "여기에 파일 없음", + "No files or folders have been deleted yet" : "아직 삭제된 파일이나 폴더가 없습니다.", + "Go to the previous folder" : "이전 폴더로 이동", "Go back" : "뒤로 가기", + "Open the files app settings" : "파일 앱 설정을 열기", "Files settings" : "파일 설정", + "File cannot be accessed" : "파일에 접근할 수 없음", + "You might not have have permissions to view it, ask the sender to share it" : "이것을 볼 권한이 없는 것 같습니다, 보낸 이에게 공유를 요청하세요.", "Show hidden files" : "숨김 파일 보이기", + "Crop image previews" : "이미지 미리보기 확대", "Additional settings" : "고급 설정", "WebDAV" : "WebDAV", "Copy to clipboard" : "클립보드로 복사", - "Use this address to access your Files via WebDAV" : "이 주소를 사용하여 WebDAV를 통해 내 파일에 접근하십시오", + "Use this address to access your Files via WebDAV" : "이 주소를 사용하여 WebDAV를 통해 내 파일에 접근하세요.", + "Clipboard is not available" : "클립보드를 사용할 수 없습니다.", + "WebDAV URL copied to clipboard" : "WebDAV URL이 클립보드에 복사됨", "Unable to change the favourite state of the file" : "파일의 즐겨찾기 상태를 변경할 수 없음", "Error while loading the file data" : "파일 데이터를 불러오는 중 오류 발생", "Pick a template for {name}" : "{name}을(를) 위한 템플릿 선택", @@ -189,8 +224,10 @@ "Blank" : "여백", "Unable to create new file from template" : "템플릿으로 새 파일을 만들 수 없음", "Delete permanently" : "영구히 삭제", + "Open folder {displayName}" : "{displayName} 폴더 열기", "Set up templates folder" : "템플릿 폴더 설정", "Templates" : "템플릿", + "Create new templates folder" : "새로운 템플릿 폴더 만들기", "Unable to initialize the templates directory" : "템플릿 디렉터리를 설정할 수 없음", "Toggle grid view" : "모눈 보기 전환", "Upload some content or sync with your devices!" : "파일을 업로드하거나 장치와 동기화하십시오!", @@ -213,6 +250,7 @@ "Cancel" : "취소", "%s used" : "%s 사용함", "%1$s of %2$s used" : "%2$s 중 %1$s 사용됨", - "Deleted files" : "삭제된 파일" + "Deleted files" : "삭제된 파일", + "Search for an account" : "계정 검색" },"pluralForm" :"nplurals=1; plural=0;" }
\ No newline at end of file diff --git a/apps/files/l10n/lt_LT.js b/apps/files/l10n/lt_LT.js index e3532cab655..7d787627155 100644 --- a/apps/files/l10n/lt_LT.js +++ b/apps/files/l10n/lt_LT.js @@ -21,6 +21,7 @@ OC.L10N.register( "Target folder \"{dir}\" does not exist any more" : "Paskirties aplanko „{dir}“ daugiau nebėra", "Not enough free space" : "Trūksta laisvos vietos", "An unknown error has occurred" : "Įvyko nežinoma klaida", + "File could not be uploaded" : "Nepavyko įkelti failo", "Uploading …" : "Įkeliama…", "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} iš {totalSize} ({bitrate})", "Uploading that item is not supported" : "To elemento įkėlimas nėra palaikomas", @@ -32,13 +33,19 @@ OC.L10N.register( "Move" : "Perkelti", "Copy" : "Kopijuoti", "Choose target folder" : "Pasirinkite paskirties aplanką", + "Edit locally" : "Redaguoti lokaliai", "Open" : "Atverti", "Delete file" : "Ištrinti failą", "Delete folder" : "Ištrinti aplanką", "Disconnect storage" : "Atjungti saugyklą", + "Leave this share" : "Palikti bendrinimą", "Could not load info for file \"{file}\"" : "Nepavyko įkelti informacijos failui „{file}“", "Files" : "Failai", "Details" : "Duomenys", + "Please select tag(s) to add to the selection" : "Pasirinkite raktažodžius pridėti prie pažymėtų", + "Apply tag(s) to selection" : "Pritaikyti raktažodžiuis pasirinktiems", + "Select directory \"{dirName}\"" : "Pasirinkite direktoriją \"{dirName}\"", + "Select file \"{fileName}\"" : "Pasirinkite failą \"{fileName}\"", "Pending" : "Laukiantis", "Unable to determine date" : "Nepavyksta nustatyti datos", "This operation is forbidden" : "Ši operacija yra uždrausta", @@ -69,6 +76,7 @@ OC.L10N.register( "_%n file_::_%n files_" : ["%n failas","%n failai","%n failų","%n failas"], "{dirs} and {files}" : "{dirs} ir {files}", "_including %n hidden_::_including %n hidden_" : ["įskaitant %n paslėptą","įskaitant %n paslėptus","įskaitant %n paslėptų","įskaitant %n paslėptą"], + "You do not have permission to upload or create files here" : "Neturite teisės įkalti ar kurti failus šioje vietoje", "_Uploading %n file_::_Uploading %n files_" : ["Įkeliamas %n failas","Įkeliami %n failai","Įkeliama %n failų","Įkeliamas %n failas"], "Select file range" : "Žymėti failų rėžį", "{used}%" : "{used}%", @@ -94,6 +102,7 @@ OC.L10N.register( "Create new folder" : "Sukurti naują aplanką", "Upload file" : "Įkelti failą", "Recent" : "Paskiausiai naudoti", + "This file has the tag {tag}" : "Šis failas turi žymą {tag}", "Not favorited" : "Nepažymėtas mėgstamu", "Remove from favorites" : "Šalinti iš mėgstamų", "Add to favorites" : "Pridėti į mėgstamus", diff --git a/apps/files/l10n/lt_LT.json b/apps/files/l10n/lt_LT.json index 3c0d6146751..fa8e632d8ad 100644 --- a/apps/files/l10n/lt_LT.json +++ b/apps/files/l10n/lt_LT.json @@ -19,6 +19,7 @@ "Target folder \"{dir}\" does not exist any more" : "Paskirties aplanko „{dir}“ daugiau nebėra", "Not enough free space" : "Trūksta laisvos vietos", "An unknown error has occurred" : "Įvyko nežinoma klaida", + "File could not be uploaded" : "Nepavyko įkelti failo", "Uploading …" : "Įkeliama…", "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} iš {totalSize} ({bitrate})", "Uploading that item is not supported" : "To elemento įkėlimas nėra palaikomas", @@ -30,13 +31,19 @@ "Move" : "Perkelti", "Copy" : "Kopijuoti", "Choose target folder" : "Pasirinkite paskirties aplanką", + "Edit locally" : "Redaguoti lokaliai", "Open" : "Atverti", "Delete file" : "Ištrinti failą", "Delete folder" : "Ištrinti aplanką", "Disconnect storage" : "Atjungti saugyklą", + "Leave this share" : "Palikti bendrinimą", "Could not load info for file \"{file}\"" : "Nepavyko įkelti informacijos failui „{file}“", "Files" : "Failai", "Details" : "Duomenys", + "Please select tag(s) to add to the selection" : "Pasirinkite raktažodžius pridėti prie pažymėtų", + "Apply tag(s) to selection" : "Pritaikyti raktažodžiuis pasirinktiems", + "Select directory \"{dirName}\"" : "Pasirinkite direktoriją \"{dirName}\"", + "Select file \"{fileName}\"" : "Pasirinkite failą \"{fileName}\"", "Pending" : "Laukiantis", "Unable to determine date" : "Nepavyksta nustatyti datos", "This operation is forbidden" : "Ši operacija yra uždrausta", @@ -67,6 +74,7 @@ "_%n file_::_%n files_" : ["%n failas","%n failai","%n failų","%n failas"], "{dirs} and {files}" : "{dirs} ir {files}", "_including %n hidden_::_including %n hidden_" : ["įskaitant %n paslėptą","įskaitant %n paslėptus","įskaitant %n paslėptų","įskaitant %n paslėptą"], + "You do not have permission to upload or create files here" : "Neturite teisės įkalti ar kurti failus šioje vietoje", "_Uploading %n file_::_Uploading %n files_" : ["Įkeliamas %n failas","Įkeliami %n failai","Įkeliama %n failų","Įkeliamas %n failas"], "Select file range" : "Žymėti failų rėžį", "{used}%" : "{used}%", @@ -92,6 +100,7 @@ "Create new folder" : "Sukurti naują aplanką", "Upload file" : "Įkelti failą", "Recent" : "Paskiausiai naudoti", + "This file has the tag {tag}" : "Šis failas turi žymą {tag}", "Not favorited" : "Nepažymėtas mėgstamu", "Remove from favorites" : "Šalinti iš mėgstamų", "Add to favorites" : "Pridėti į mėgstamus", diff --git a/apps/files/l10n/uk.js b/apps/files/l10n/uk.js index 6016fea7aa5..81b451a44a6 100644 --- a/apps/files/l10n/uk.js +++ b/apps/files/l10n/uk.js @@ -124,24 +124,24 @@ OC.L10N.register( "Changed by {user}" : "Змінено користувачем {user}", "Deleted by {user}" : "Вилучено користувачем {user}", "Restored by {user}" : "Відновлено користувачем {user}", - "Renamed by {user}" : "Перейменовано користувачем {user}", + "Renamed by {user}" : "Перейменовано {user}", "Moved by {user}" : "Переміщено користувачем {user}", "\"remote user\"" : "\"віддалений користувач\"", "You created {file}" : "Ви створили {file}", "You created an encrypted file in {file}" : "Ви створили зашифрований файл у {file}", - "{user} created {file}" : "Користувач {user} створив файл {file}", + "{user} created {file}" : "{user} створив(-ла) файл {file}", "{user} created an encrypted file in {file}" : "{user} створив зашифрований файл у {file}", "{file} was created in a public folder" : "Файл {file} створено у публічному каталозі", "You changed {file}" : "Ви змінили файл {file}", "You changed an encrypted file in {file}" : "Ви змінили зашифрований файл у {file}", - "{user} changed {file}" : "Користувач {user} змінив(-ла) файл {file}", + "{user} changed {file}" : "{user} змінив(-ла) файл {file}", "{user} changed an encrypted file in {file}" : "{user} змінив(-ла) зашифрований файл {file}", "You deleted {file}" : "Ви вилучили {file}", "You deleted an encrypted file in {file}" : "Ви вилучити зашифрований файл у {file}", - "{user} deleted {file}" : "Користувач {user} вилучив {file}", + "{user} deleted {file}" : "{user} вилучив(-ла) {file}", "{user} deleted an encrypted file in {file}" : "{user} вилучив зашифрований файл у {file}", "You restored {file}" : "Ви відновили {file}", - "{user} restored {file}" : "Користувач {user} відновив {file}", + "{user} restored {file}" : "{user} відновив(-ла) {file}", "You renamed {oldfile} (hidden) to {newfile} (hidden)" : "Ви перейменували файл {oldfile} (прихований) на {newfile} (прихований)", "You renamed {oldfile} (hidden) to {newfile}" : "Ви перейменували файл {oldfile} (прихований) на {newfile}", "You renamed {oldfile} to {newfile} (hidden)" : "Ви перейменували файл {oldfile} на {newfile} (прихований)", @@ -149,9 +149,9 @@ OC.L10N.register( "{user} renamed {oldfile} (hidden) to {newfile} (hidden)" : "{user} перейменував {oldfile} (прихований) у {newfile} (прихований)", "{user} renamed {oldfile} (hidden) to {newfile}" : "{user} перейменував {oldfile} (прихований) у {newfile}", "{user} renamed {oldfile} to {newfile} (hidden)" : "{user} перейменував {oldfile} у {newfile} (прихований)", - "{user} renamed {oldfile} to {newfile}" : "Користувач {user} перейменував {oldfile} у {newfile}", + "{user} renamed {oldfile} to {newfile}" : "{user} перейменував(-ла) {oldfile} у {newfile}", "You moved {oldfile} to {newfile}" : "Ви перемістили {oldfile} до {newfile}", - "{user} moved {oldfile} to {newfile}" : "Користувач {user} перемістив {oldfile} до {newfile}", + "{user} moved {oldfile} to {newfile}" : "{user} перемістив(-ла) {oldfile} до {newfile}", "A file has been added to or removed from your <strong>favorites</strong>" : "Файл було додано або вилучено з ваших <strong>вподобаних</strong> документів", "A file or folder has been <strong>changed</strong>" : "Файл або каталог було <strong> змінено </strong>", "A favorite file or folder has been <strong>changed</strong>" : "Вподобаний файли або каталог було <strong>змінено</strong>", @@ -212,7 +212,7 @@ OC.L10N.register( "You might not have have permissions to view it, ask the sender to share it" : "Ймовірно у вас відсутні права на перегляд. Попросіть відправника поділитися доступом.", "Show hidden files" : "Показувати приховані файли", "Crop image previews" : "Попередній перегляд перед кадруванням", - "Additional settings" : "Додаткові", + "Additional settings" : "Додатково", "WebDAV" : "WebDAV", "Copy to clipboard" : "Копіювати до буферу обміну", "Use this address to access your Files via WebDAV" : "Адреса для доступу до файлів за допомогою протоколу WebDAV", @@ -228,6 +228,7 @@ OC.L10N.register( "Blank" : "Порожньо", "Unable to create new file from template" : "Неможливо створити новий файл з шаблону", "Delete permanently" : "Вилучити назавжди", + "Open folder {displayName}" : "Відкрити каталог {displayName}", "Set up templates folder" : "Встановити каталог з шаблонами", "Templates" : "Шаблони", "Create new templates folder" : "Створіть нову папку шаблонів", diff --git a/apps/files/l10n/uk.json b/apps/files/l10n/uk.json index 9747ed1d763..45fa9fecacb 100644 --- a/apps/files/l10n/uk.json +++ b/apps/files/l10n/uk.json @@ -122,24 +122,24 @@ "Changed by {user}" : "Змінено користувачем {user}", "Deleted by {user}" : "Вилучено користувачем {user}", "Restored by {user}" : "Відновлено користувачем {user}", - "Renamed by {user}" : "Перейменовано користувачем {user}", + "Renamed by {user}" : "Перейменовано {user}", "Moved by {user}" : "Переміщено користувачем {user}", "\"remote user\"" : "\"віддалений користувач\"", "You created {file}" : "Ви створили {file}", "You created an encrypted file in {file}" : "Ви створили зашифрований файл у {file}", - "{user} created {file}" : "Користувач {user} створив файл {file}", + "{user} created {file}" : "{user} створив(-ла) файл {file}", "{user} created an encrypted file in {file}" : "{user} створив зашифрований файл у {file}", "{file} was created in a public folder" : "Файл {file} створено у публічному каталозі", "You changed {file}" : "Ви змінили файл {file}", "You changed an encrypted file in {file}" : "Ви змінили зашифрований файл у {file}", - "{user} changed {file}" : "Користувач {user} змінив(-ла) файл {file}", + "{user} changed {file}" : "{user} змінив(-ла) файл {file}", "{user} changed an encrypted file in {file}" : "{user} змінив(-ла) зашифрований файл {file}", "You deleted {file}" : "Ви вилучили {file}", "You deleted an encrypted file in {file}" : "Ви вилучити зашифрований файл у {file}", - "{user} deleted {file}" : "Користувач {user} вилучив {file}", + "{user} deleted {file}" : "{user} вилучив(-ла) {file}", "{user} deleted an encrypted file in {file}" : "{user} вилучив зашифрований файл у {file}", "You restored {file}" : "Ви відновили {file}", - "{user} restored {file}" : "Користувач {user} відновив {file}", + "{user} restored {file}" : "{user} відновив(-ла) {file}", "You renamed {oldfile} (hidden) to {newfile} (hidden)" : "Ви перейменували файл {oldfile} (прихований) на {newfile} (прихований)", "You renamed {oldfile} (hidden) to {newfile}" : "Ви перейменували файл {oldfile} (прихований) на {newfile}", "You renamed {oldfile} to {newfile} (hidden)" : "Ви перейменували файл {oldfile} на {newfile} (прихований)", @@ -147,9 +147,9 @@ "{user} renamed {oldfile} (hidden) to {newfile} (hidden)" : "{user} перейменував {oldfile} (прихований) у {newfile} (прихований)", "{user} renamed {oldfile} (hidden) to {newfile}" : "{user} перейменував {oldfile} (прихований) у {newfile}", "{user} renamed {oldfile} to {newfile} (hidden)" : "{user} перейменував {oldfile} у {newfile} (прихований)", - "{user} renamed {oldfile} to {newfile}" : "Користувач {user} перейменував {oldfile} у {newfile}", + "{user} renamed {oldfile} to {newfile}" : "{user} перейменував(-ла) {oldfile} у {newfile}", "You moved {oldfile} to {newfile}" : "Ви перемістили {oldfile} до {newfile}", - "{user} moved {oldfile} to {newfile}" : "Користувач {user} перемістив {oldfile} до {newfile}", + "{user} moved {oldfile} to {newfile}" : "{user} перемістив(-ла) {oldfile} до {newfile}", "A file has been added to or removed from your <strong>favorites</strong>" : "Файл було додано або вилучено з ваших <strong>вподобаних</strong> документів", "A file or folder has been <strong>changed</strong>" : "Файл або каталог було <strong> змінено </strong>", "A favorite file or folder has been <strong>changed</strong>" : "Вподобаний файли або каталог було <strong>змінено</strong>", @@ -210,7 +210,7 @@ "You might not have have permissions to view it, ask the sender to share it" : "Ймовірно у вас відсутні права на перегляд. Попросіть відправника поділитися доступом.", "Show hidden files" : "Показувати приховані файли", "Crop image previews" : "Попередній перегляд перед кадруванням", - "Additional settings" : "Додаткові", + "Additional settings" : "Додатково", "WebDAV" : "WebDAV", "Copy to clipboard" : "Копіювати до буферу обміну", "Use this address to access your Files via WebDAV" : "Адреса для доступу до файлів за допомогою протоколу WebDAV", @@ -226,6 +226,7 @@ "Blank" : "Порожньо", "Unable to create new file from template" : "Неможливо створити новий файл з шаблону", "Delete permanently" : "Вилучити назавжди", + "Open folder {displayName}" : "Відкрити каталог {displayName}", "Set up templates folder" : "Встановити каталог з шаблонами", "Templates" : "Шаблони", "Create new templates folder" : "Створіть нову папку шаблонів", diff --git a/apps/files/l10n/zh_CN.js b/apps/files/l10n/zh_CN.js index c15a252f04d..d85a211d2e0 100644 --- a/apps/files/l10n/zh_CN.js +++ b/apps/files/l10n/zh_CN.js @@ -11,18 +11,18 @@ OC.L10N.register( "Home" : "首页", "Close" : "关闭", "Favorites" : "收藏", - "Could not create folder \"{dir}\"" : "无法创建文件夹 \"{dir}\"", + "Could not create folder \"{dir}\"" : "无法创建文件夹“{dir}”", "This will stop your current uploads." : "这会终止您当前的上传。", "Upload cancelled." : "上传已取消。", - "Processing files …" : "正在处理文件…", - "…" : "…", + "Processing files …" : "正在处理文件 ...", + "…" : "...", "Unable to upload {filename} as it is a directory or has 0 bytes" : "无法上传 {filename},因为它是一个目录或者是大小为 0 的空文件", "Not enough free space, you are uploading {size1} but only {size2} is left" : "可用空间不足,您上传的文件大小为 {size1} ,但可用空间仅剩 {size2}", - "Target folder \"{dir}\" does not exist any more" : "目标目录 \"{dir}\" 不存在", + "Target folder \"{dir}\" does not exist any more" : "目标文件夹“{dir}”不存在", "Not enough free space" : "可用空间不足", "An unknown error has occurred" : "发生了未知错误。", "File could not be uploaded" : "文件无法上传", - "Uploading …" : "正在上传...", + "Uploading …" : "正在上传 ...", "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} / {totalSize} ({bitrate})", "Uploading that item is not supported" : "不支持上传此项目", "Target folder does not exist any more" : "目标文件夹已不存在", @@ -39,35 +39,35 @@ OC.L10N.register( "Delete folder" : "删除文件夹", "Disconnect storage" : "断开与存储空间的连接", "Leave this share" : "离开这个共享", - "Could not load info for file \"{file}\"" : "无法加载文件 \"{file}\" 的信息", + "Could not load info for file \"{file}\"" : "无法加载文件“{file}”的信息", "Files" : "文件", "Details" : "详细信息", "Please select tag(s) to add to the selection" : "请选择要添加到所选项目的标签", "Apply tag(s) to selection" : "将标签应用到所选项目", - "Select directory \"{dirName}\"" : "选择目录 \"{dirName}\"", - "Select file \"{fileName}\"" : "选择文件 \"{dirName}\"", + "Select directory \"{dirName}\"" : "选择目录“{dirName}”", + "Select file \"{fileName}\"" : "选择文件“{dirName}”", "Pending" : "等待", "Unable to determine date" : "无法确定日期", "This operation is forbidden" : "该操作被禁止", "This directory is unavailable, please check the logs or contact the administrator" : "此目录不可用,请检查日志或联系管理员", "Storage is temporarily not available" : "存储空间暂时不可用", - "Could not move \"{file}\", target exists" : "无法移动 \"{file}\",目标已存在", - "Could not move \"{file}\"" : "无法移动 \"{file}\"", + "Could not move \"{file}\", target exists" : "无法移动“{file}”,目标已存在", + "Could not move \"{file}\"" : "无法移动“{file}”", "copy" : "复制", "Could not copy \"{file}\", target exists" : "无法复制“{file}”,目标已存在", - "Could not copy \"{file}\"" : "无法复制 \"{file}\"", + "Could not copy \"{file}\"" : "无法复制“{file}”", "Copied {origin} inside {destination}" : "在 {destination} 内复制 {origin}", "Copied {origin} and {nbfiles} other files inside {destination}" : "在 {destination} 内复制了 {origin} 和 {nbfiles} 个其他文件", "Failed to redirect to client" : "重定向到客户端失败", "{newName} already exists" : "{newName} 已经存在", - "Could not rename \"{fileName}\", it does not exist any more" : "无法重命名 \"{fileName}\",此文件已经不存在", - "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "文件夹 \"{dir}\" 中已经存在 \"{targetName}\"。请尝试其他的名称。", - "Could not rename \"{fileName}\"" : "无法重命名 \"{fileName}\"", - "Could not create file \"{file}\"" : "无法创建文件 \"{file}\"", - "Could not create file \"{file}\" because it already exists" : "无法创建文件 \"{file}\",因为它已经存在", - "Could not create folder \"{dir}\" because it already exists" : "无法创建文件夹 \"{dir}\",因为它已经存在", - "Could not fetch file details \"{file}\"" : "无法获取文件详细信息 “{file}”", - "Error deleting file \"{fileName}\"." : "删除文件 \"{fileName}\" 时出错。", + "Could not rename \"{fileName}\", it does not exist any more" : "无法重命名“{fileName}”,此文件已经不存在", + "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "文件夹“{dir}”中已经存在“{targetName}”。请尝试其它名称。", + "Could not rename \"{fileName}\"" : "无法重命名“{fileName}”", + "Could not create file \"{file}\"" : "无法创建文件“{file}”", + "Could not create file \"{file}\" because it already exists" : "无法创建文件“{file}”,因为它已经存在", + "Could not create folder \"{dir}\" because it already exists" : "无法创建文件夹“{dir}”,因为它已经存在", + "Could not fetch file details \"{file}\"" : "无法获取文件详细信息“{file}”", + "Error deleting file \"{fileName}\"." : "删除文件“{fileName}”时出错。", "No search results in other folders for {tag}{filter}{endtag}" : "在其它的文件夹里没有关于 {tag}{filter}{endtag} 的搜索结果", "Enter more than two characters to search in other folders" : "输入至少三个字符,以搜索其他文件夹", "Name" : "名称", @@ -84,21 +84,21 @@ OC.L10N.register( "{used}%" : "{used}%", "{used} of {quota} used" : "已使用 {used} / {quota}", "{used} used" : "已使用 {used} 存储空间", - "\"{name}\" is an invalid file name." : "\"{name}\" 是一个无效的文件名。", + "\"{name}\" is an invalid file name." : "“{name}”是一个无效的文件名。", "File name cannot be empty." : "文件名不能为空。", - "\"/\" is not allowed inside a file name." : "文件名不能包含“/”", - "\"{name}\" is not an allowed filetype" : "\"{name}\" 不是允许的文件类型", + "\"/\" is not allowed inside a file name." : "文件名不能包含“/”。", + "\"{name}\" is not an allowed filetype" : "“{name}”不是允许的文件类型", "Storage of {owner} is full, files cannot be updated or synced anymore!" : "{owner} 的存储已满,无法再更新或同步文件了!", - "Group folder \"{mountPoint}\" is full, files cannot be updated or synced anymore!" : "群组文件夹 “{mountPoint}” 已满,无法再更新或同步文件!", - "External storage \"{mountPoint}\" is full, files cannot be updated or synced anymore!" : "外部存储器 \"{mountPoint}\" 已满,无法再更新或同步文件!", - "Your storage is full, files cannot be updated or synced anymore!" : "你的存储已满,无法再更新或同步文件!", + "Group folder \"{mountPoint}\" is full, files cannot be updated or synced anymore!" : "群组文件夹“{mountPoint}”已满,无法再更新或同步文件!", + "External storage \"{mountPoint}\" is full, files cannot be updated or synced anymore!" : "外部存储器“{mountPoint}”已满,无法再更新或同步文件!", + "Your storage is full, files cannot be updated or synced anymore!" : "您的的存储已满,无法继续更新或同步文件!", "Storage of {owner} is almost full ({usedSpacePercent}%)." : "{owner} 的存储空间几乎已满 ({usedSpacePercent}%)。", - "Group folder \"{mountPoint}\" is almost full ({usedSpacePercent}%)." : "组文件夹 \"{mountPoint}\" 的存储空间几乎已满 ({usedSpacePercent}%)。", - "External storage \"{mountPoint}\" is almost full ({usedSpacePercent}%)." : "外部存储 \"{mountPoint}\" 的存储空间几乎已满 ({usedSpacePercent}%)。", + "Group folder \"{mountPoint}\" is almost full ({usedSpacePercent}%)." : "组文件夹“{mountPoint}”的存储空间几乎已满 ({usedSpacePercent}%)。", + "External storage \"{mountPoint}\" is almost full ({usedSpacePercent}%)." : "外部存储“{mountPoint}”的存储空间几乎已满 ({usedSpacePercent}%)。", "Your storage is almost full ({usedSpacePercent}%)." : "您的存储空间几乎已满({usedSpacePercent}%)", - "_matches \"{filter}\"_::_match \"{filter}\"_" : ["匹配 \"{filter}\""], + "_matches \"{filter}\"_::_match \"{filter}\"_" : ["匹配“{filter}”"], "View in folder" : "在文件夹中查看", - "Direct link was copied (only works for users who have access to this file/folder)" : "已复制直链(仅对有权访问此文件/文件夹的人有效)", + "Direct link was copied (only works for users who have access to this file/folder)" : "已复制直链(仅适用于有权访问此文件/文件夹的用户)", "Path" : "路径", "_%n byte_::_%n bytes_" : ["%n 字节"], "Favorited" : "已收藏", @@ -126,7 +126,7 @@ OC.L10N.register( "Restored by {user}" : "由 {user} 恢复", "Renamed by {user}" : "由 {user} 重命名", "Moved by {user}" : "由 {user} 移动", - "\"remote user\"" : "\"远程用户\"", + "\"remote user\"" : "“远程用户”", "You created {file}" : "您创建了 {file}", "You created an encrypted file in {file}" : "您在 {file} 创建了一个加密文件", "{user} created {file}" : "{user} 创建了 {file}", @@ -142,49 +142,49 @@ OC.L10N.register( "{user} deleted an encrypted file in {file}" : "{user} 在 {file} 删除了加密文件", "You restored {file}" : "您恢复了{file}", "{user} restored {file}" : "{user} 恢复了 {file}", - "You renamed {oldfile} (hidden) to {newfile} (hidden)" : "你将 {oldfile} (隐藏的) 重命名为了 {newfile} (隐藏的)", - "You renamed {oldfile} (hidden) to {newfile}" : "你将 {oldfile} (隐藏的) 重命名为了 {newfile}", - "You renamed {oldfile} to {newfile} (hidden)" : "你将 {oldfile} 重命名为了 {newfile} (隐藏的)", + "You renamed {oldfile} (hidden) to {newfile} (hidden)" : "您将 {oldfile}(隐藏)重命名为 {newfile}(隐藏)", + "You renamed {oldfile} (hidden) to {newfile}" : "您将 {oldfile}(隐藏)重命名为 {newfile}", + "You renamed {oldfile} to {newfile} (hidden)" : "您将 {oldfile} 重命名为了 {newfile}(隐藏)", "You renamed {oldfile} to {newfile}" : "您将 {oldfile} 改名为 {newfile}", - "{user} renamed {oldfile} (hidden) to {newfile} (hidden)" : "{user} 将 {oldfile} (隐藏的) 重命名为了 {newfile} (隐藏的)", - "{user} renamed {oldfile} (hidden) to {newfile}" : "{user} 将 {oldfile} (隐藏的) 重命名为了 {newfile}", - "{user} renamed {oldfile} to {newfile} (hidden)" : "{user} 将 {oldfile} 重命名为了 {newfile} (隐藏的)", + "{user} renamed {oldfile} (hidden) to {newfile} (hidden)" : "{user} 将 {oldfile}(隐藏)重命名为 {newfile}(隐藏)", + "{user} renamed {oldfile} (hidden) to {newfile}" : "{user} 将 {oldfile}(隐藏)重命名为 {newfile}", + "{user} renamed {oldfile} to {newfile} (hidden)" : "{user} 将 {oldfile} 重命名为 {newfile}(隐藏)", "{user} renamed {oldfile} to {newfile}" : "{user} 将 {oldfile} 改名为 {newfile}", - "You moved {oldfile} to {newfile}" : "你将 {oldfile} 移动到了 {newfile}", + "You moved {oldfile} to {newfile}" : "您将 {oldfile} 移动到了 {newfile}", "{user} moved {oldfile} to {newfile}" : "{user} 将 {oldfile} 移动到了 {newfile}", - "A file has been added to or removed from your <strong>favorites</strong>" : "文件已经添加或删除到您的 <strong>收藏夹</strong> 中", - "A file or folder has been <strong>changed</strong>" : "文件/文件夹已经 <strong>修改</strong>", - "A favorite file or folder has been <strong>changed</strong>" : "一个文件或文件夹已<strong>修改</strong>。", + "A file has been added to or removed from your <strong>favorites</strong>" : "文件已经添加或删除到您的<strong>收藏夹</strong> 中", + "A file or folder has been <strong>changed</strong>" : "文件或文件夹已经被<strong>修改</strong>", + "A favorite file or folder has been <strong>changed</strong>" : "一个收藏的文件或文件夹已经被<strong>修改</strong>", "All files" : "全部文件", "Upload (max. %s)" : "上传 (最大 %s)", "Accept" : "接受", "Reject" : "拒绝", - "Incoming ownership transfer from {user}" : "来自{user}的所有权转移", - "Do you want to accept {path}?\n\nNote: The transfer process after accepting may take up to 1 hour." : "您要接受{path}吗?\n\n注意:接受后转移过程可能长达1小时。", + "Incoming ownership transfer from {user}" : "来自 {user} 的所有权转移", + "Do you want to accept {path}?\n\nNote: The transfer process after accepting may take up to 1 hour." : "您要接受 {path} 吗?\n\n注意:接受后转移过程可能长达1小时。", "Ownership transfer failed" : "所有权转移失败", - "Your ownership transfer of {path} to {user} failed." : "您{path}的所有权向{user}转移失败。", - "The ownership transfer of {path} from {user} failed." : "来自{user}的{path}的所有权转移失败。", + "Your ownership transfer of {path} to {user} failed." : "您 {path} 的所有权向 {user} 转移失败。", + "The ownership transfer of {path} from {user} failed." : "来自 {user} 的 {path} 的所有权转移失败。", "Ownership transfer done" : "所有权转移完成", - "Your ownership transfer of {path} to {user} has completed." : "您的{path}向{user}的所有权转移已完成。", - "The ownership transfer of {path} from {user} has completed." : "来自{user}的{path}的所有权转移已完成。", + "Your ownership transfer of {path} to {user} has completed." : "您的 {path} 向 {user} 的所有权转移已完成。", + "The ownership transfer of {path} from {user} has completed." : "来自 {user} 的 {path} 的所有权转移已完成。", "in %s" : "在 %s", "File Management" : "文件管理", "Reload current directory" : "重新载入当前目录", - "Go to the \"{dir}\" directory" : "转到 \"{dir}\" 目录", + "Go to the \"{dir}\" directory" : "前往“{dir}”目录", "Select the row for {displayName}" : "选择 {displayName} 的行", "Open folder {name}" : "打开文件夹 {name}", "Download file {name}" : "下载文件 {name}", - "\"{displayName}\" action executed successfully" : "\"{displayName}\" 操作执行成功", - "\"{displayName}\" action failed" : "\"{displayName}\" 操作执行失败", + "\"{displayName}\" action executed successfully" : "“{displayName}”操作执行成功", + "\"{displayName}\" action failed" : "“{displayName}”操作执行失败", "Total rows summary" : "总行摘要", "Select all" : "全部选择", "Unselect all" : "取消全选", "\"{displayName}\" failed on some elements " : "“{displayName}”在某些元素上失败", - "\"{displayName}\" batch action executed successfully" : "批量操作 \"{displayName}\" 运行成功", + "\"{displayName}\" batch action executed successfully" : "批量操作“{displayName}”运行成功", "ascending" : "升序", "descending" : "降序", "Sort list by {column} ({direction})" : "按 {column} ({direction}) 排序列表", - "This list is not fully rendered for performances reasons. The files will be rendered as you navigate through the list." : "该列表因为性能原因没有完全加载。文件将会在您浏览列表的时候加载。", + "This list is not fully rendered for performances reasons. The files will be rendered as you navigate through the list." : "因为性能原因,该列表没有完全加载。这些文件将会在您浏览列表的时候加载。", "Storage informations" : "存储信息", "{usedQuotaByte} used" : "{usedQuotaByte} 已使用", "{relative}% used" : "{relative}% 已使用", @@ -216,7 +216,7 @@ OC.L10N.register( "WebDAV" : "WebDAV", "Copy to clipboard" : "复制到剪贴板", "Use this address to access your Files via WebDAV" : "使用此地址通过 WebDAV 访问您的文件", - "If you have enabled 2FA, you must create and use a new app password by clicking here." : "如果您启用了两步验证,您必须点击此处来创建和使用一个新的应用程序密码。", + "If you have enabled 2FA, you must create and use a new app password by clicking here." : "如果启用两步验证,您必须点击此处来创建和使用一个新的应用程序密码。", "Clipboard is not available" : "剪贴板不可用", "WebDAV URL copied to clipboard" : "WebDAV 链接已复制到剪贴板", "Unable to change the favourite state of the file" : "无法修改文件的收藏状态", @@ -238,7 +238,7 @@ OC.L10N.register( "Upload some content or sync with your devices!" : "上传一些内容或与您的设备同步!", "No entries found in this folder" : "在此文件夹中找不到项目", "Upload too large" : "上传文件过大", - "The files you are trying to upload exceed the maximum size for file uploads on this server." : "正在上传的文件超过了此服务器允许上传的最大容量限制", + "The files you are trying to upload exceed the maximum size for file uploads on this server." : "您尝试上传的文件大小超过了服务器的限制。", "No favorites yet" : "暂无收藏", "Files and folders you mark as favorite will show up here" : "收藏的文件和文件夹会在这里显示", "Shares" : "共享", diff --git a/apps/files/l10n/zh_CN.json b/apps/files/l10n/zh_CN.json index 1435ba9b39b..a95cbd1548c 100644 --- a/apps/files/l10n/zh_CN.json +++ b/apps/files/l10n/zh_CN.json @@ -9,18 +9,18 @@ "Home" : "首页", "Close" : "关闭", "Favorites" : "收藏", - "Could not create folder \"{dir}\"" : "无法创建文件夹 \"{dir}\"", + "Could not create folder \"{dir}\"" : "无法创建文件夹“{dir}”", "This will stop your current uploads." : "这会终止您当前的上传。", "Upload cancelled." : "上传已取消。", - "Processing files …" : "正在处理文件…", - "…" : "…", + "Processing files …" : "正在处理文件 ...", + "…" : "...", "Unable to upload {filename} as it is a directory or has 0 bytes" : "无法上传 {filename},因为它是一个目录或者是大小为 0 的空文件", "Not enough free space, you are uploading {size1} but only {size2} is left" : "可用空间不足,您上传的文件大小为 {size1} ,但可用空间仅剩 {size2}", - "Target folder \"{dir}\" does not exist any more" : "目标目录 \"{dir}\" 不存在", + "Target folder \"{dir}\" does not exist any more" : "目标文件夹“{dir}”不存在", "Not enough free space" : "可用空间不足", "An unknown error has occurred" : "发生了未知错误。", "File could not be uploaded" : "文件无法上传", - "Uploading …" : "正在上传...", + "Uploading …" : "正在上传 ...", "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} / {totalSize} ({bitrate})", "Uploading that item is not supported" : "不支持上传此项目", "Target folder does not exist any more" : "目标文件夹已不存在", @@ -37,35 +37,35 @@ "Delete folder" : "删除文件夹", "Disconnect storage" : "断开与存储空间的连接", "Leave this share" : "离开这个共享", - "Could not load info for file \"{file}\"" : "无法加载文件 \"{file}\" 的信息", + "Could not load info for file \"{file}\"" : "无法加载文件“{file}”的信息", "Files" : "文件", "Details" : "详细信息", "Please select tag(s) to add to the selection" : "请选择要添加到所选项目的标签", "Apply tag(s) to selection" : "将标签应用到所选项目", - "Select directory \"{dirName}\"" : "选择目录 \"{dirName}\"", - "Select file \"{fileName}\"" : "选择文件 \"{dirName}\"", + "Select directory \"{dirName}\"" : "选择目录“{dirName}”", + "Select file \"{fileName}\"" : "选择文件“{dirName}”", "Pending" : "等待", "Unable to determine date" : "无法确定日期", "This operation is forbidden" : "该操作被禁止", "This directory is unavailable, please check the logs or contact the administrator" : "此目录不可用,请检查日志或联系管理员", "Storage is temporarily not available" : "存储空间暂时不可用", - "Could not move \"{file}\", target exists" : "无法移动 \"{file}\",目标已存在", - "Could not move \"{file}\"" : "无法移动 \"{file}\"", + "Could not move \"{file}\", target exists" : "无法移动“{file}”,目标已存在", + "Could not move \"{file}\"" : "无法移动“{file}”", "copy" : "复制", "Could not copy \"{file}\", target exists" : "无法复制“{file}”,目标已存在", - "Could not copy \"{file}\"" : "无法复制 \"{file}\"", + "Could not copy \"{file}\"" : "无法复制“{file}”", "Copied {origin} inside {destination}" : "在 {destination} 内复制 {origin}", "Copied {origin} and {nbfiles} other files inside {destination}" : "在 {destination} 内复制了 {origin} 和 {nbfiles} 个其他文件", "Failed to redirect to client" : "重定向到客户端失败", "{newName} already exists" : "{newName} 已经存在", - "Could not rename \"{fileName}\", it does not exist any more" : "无法重命名 \"{fileName}\",此文件已经不存在", - "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "文件夹 \"{dir}\" 中已经存在 \"{targetName}\"。请尝试其他的名称。", - "Could not rename \"{fileName}\"" : "无法重命名 \"{fileName}\"", - "Could not create file \"{file}\"" : "无法创建文件 \"{file}\"", - "Could not create file \"{file}\" because it already exists" : "无法创建文件 \"{file}\",因为它已经存在", - "Could not create folder \"{dir}\" because it already exists" : "无法创建文件夹 \"{dir}\",因为它已经存在", - "Could not fetch file details \"{file}\"" : "无法获取文件详细信息 “{file}”", - "Error deleting file \"{fileName}\"." : "删除文件 \"{fileName}\" 时出错。", + "Could not rename \"{fileName}\", it does not exist any more" : "无法重命名“{fileName}”,此文件已经不存在", + "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "文件夹“{dir}”中已经存在“{targetName}”。请尝试其它名称。", + "Could not rename \"{fileName}\"" : "无法重命名“{fileName}”", + "Could not create file \"{file}\"" : "无法创建文件“{file}”", + "Could not create file \"{file}\" because it already exists" : "无法创建文件“{file}”,因为它已经存在", + "Could not create folder \"{dir}\" because it already exists" : "无法创建文件夹“{dir}”,因为它已经存在", + "Could not fetch file details \"{file}\"" : "无法获取文件详细信息“{file}”", + "Error deleting file \"{fileName}\"." : "删除文件“{fileName}”时出错。", "No search results in other folders for {tag}{filter}{endtag}" : "在其它的文件夹里没有关于 {tag}{filter}{endtag} 的搜索结果", "Enter more than two characters to search in other folders" : "输入至少三个字符,以搜索其他文件夹", "Name" : "名称", @@ -82,21 +82,21 @@ "{used}%" : "{used}%", "{used} of {quota} used" : "已使用 {used} / {quota}", "{used} used" : "已使用 {used} 存储空间", - "\"{name}\" is an invalid file name." : "\"{name}\" 是一个无效的文件名。", + "\"{name}\" is an invalid file name." : "“{name}”是一个无效的文件名。", "File name cannot be empty." : "文件名不能为空。", - "\"/\" is not allowed inside a file name." : "文件名不能包含“/”", - "\"{name}\" is not an allowed filetype" : "\"{name}\" 不是允许的文件类型", + "\"/\" is not allowed inside a file name." : "文件名不能包含“/”。", + "\"{name}\" is not an allowed filetype" : "“{name}”不是允许的文件类型", "Storage of {owner} is full, files cannot be updated or synced anymore!" : "{owner} 的存储已满,无法再更新或同步文件了!", - "Group folder \"{mountPoint}\" is full, files cannot be updated or synced anymore!" : "群组文件夹 “{mountPoint}” 已满,无法再更新或同步文件!", - "External storage \"{mountPoint}\" is full, files cannot be updated or synced anymore!" : "外部存储器 \"{mountPoint}\" 已满,无法再更新或同步文件!", - "Your storage is full, files cannot be updated or synced anymore!" : "你的存储已满,无法再更新或同步文件!", + "Group folder \"{mountPoint}\" is full, files cannot be updated or synced anymore!" : "群组文件夹“{mountPoint}”已满,无法再更新或同步文件!", + "External storage \"{mountPoint}\" is full, files cannot be updated or synced anymore!" : "外部存储器“{mountPoint}”已满,无法再更新或同步文件!", + "Your storage is full, files cannot be updated or synced anymore!" : "您的的存储已满,无法继续更新或同步文件!", "Storage of {owner} is almost full ({usedSpacePercent}%)." : "{owner} 的存储空间几乎已满 ({usedSpacePercent}%)。", - "Group folder \"{mountPoint}\" is almost full ({usedSpacePercent}%)." : "组文件夹 \"{mountPoint}\" 的存储空间几乎已满 ({usedSpacePercent}%)。", - "External storage \"{mountPoint}\" is almost full ({usedSpacePercent}%)." : "外部存储 \"{mountPoint}\" 的存储空间几乎已满 ({usedSpacePercent}%)。", + "Group folder \"{mountPoint}\" is almost full ({usedSpacePercent}%)." : "组文件夹“{mountPoint}”的存储空间几乎已满 ({usedSpacePercent}%)。", + "External storage \"{mountPoint}\" is almost full ({usedSpacePercent}%)." : "外部存储“{mountPoint}”的存储空间几乎已满 ({usedSpacePercent}%)。", "Your storage is almost full ({usedSpacePercent}%)." : "您的存储空间几乎已满({usedSpacePercent}%)", - "_matches \"{filter}\"_::_match \"{filter}\"_" : ["匹配 \"{filter}\""], + "_matches \"{filter}\"_::_match \"{filter}\"_" : ["匹配“{filter}”"], "View in folder" : "在文件夹中查看", - "Direct link was copied (only works for users who have access to this file/folder)" : "已复制直链(仅对有权访问此文件/文件夹的人有效)", + "Direct link was copied (only works for users who have access to this file/folder)" : "已复制直链(仅适用于有权访问此文件/文件夹的用户)", "Path" : "路径", "_%n byte_::_%n bytes_" : ["%n 字节"], "Favorited" : "已收藏", @@ -124,7 +124,7 @@ "Restored by {user}" : "由 {user} 恢复", "Renamed by {user}" : "由 {user} 重命名", "Moved by {user}" : "由 {user} 移动", - "\"remote user\"" : "\"远程用户\"", + "\"remote user\"" : "“远程用户”", "You created {file}" : "您创建了 {file}", "You created an encrypted file in {file}" : "您在 {file} 创建了一个加密文件", "{user} created {file}" : "{user} 创建了 {file}", @@ -140,49 +140,49 @@ "{user} deleted an encrypted file in {file}" : "{user} 在 {file} 删除了加密文件", "You restored {file}" : "您恢复了{file}", "{user} restored {file}" : "{user} 恢复了 {file}", - "You renamed {oldfile} (hidden) to {newfile} (hidden)" : "你将 {oldfile} (隐藏的) 重命名为了 {newfile} (隐藏的)", - "You renamed {oldfile} (hidden) to {newfile}" : "你将 {oldfile} (隐藏的) 重命名为了 {newfile}", - "You renamed {oldfile} to {newfile} (hidden)" : "你将 {oldfile} 重命名为了 {newfile} (隐藏的)", + "You renamed {oldfile} (hidden) to {newfile} (hidden)" : "您将 {oldfile}(隐藏)重命名为 {newfile}(隐藏)", + "You renamed {oldfile} (hidden) to {newfile}" : "您将 {oldfile}(隐藏)重命名为 {newfile}", + "You renamed {oldfile} to {newfile} (hidden)" : "您将 {oldfile} 重命名为了 {newfile}(隐藏)", "You renamed {oldfile} to {newfile}" : "您将 {oldfile} 改名为 {newfile}", - "{user} renamed {oldfile} (hidden) to {newfile} (hidden)" : "{user} 将 {oldfile} (隐藏的) 重命名为了 {newfile} (隐藏的)", - "{user} renamed {oldfile} (hidden) to {newfile}" : "{user} 将 {oldfile} (隐藏的) 重命名为了 {newfile}", - "{user} renamed {oldfile} to {newfile} (hidden)" : "{user} 将 {oldfile} 重命名为了 {newfile} (隐藏的)", + "{user} renamed {oldfile} (hidden) to {newfile} (hidden)" : "{user} 将 {oldfile}(隐藏)重命名为 {newfile}(隐藏)", + "{user} renamed {oldfile} (hidden) to {newfile}" : "{user} 将 {oldfile}(隐藏)重命名为 {newfile}", + "{user} renamed {oldfile} to {newfile} (hidden)" : "{user} 将 {oldfile} 重命名为 {newfile}(隐藏)", "{user} renamed {oldfile} to {newfile}" : "{user} 将 {oldfile} 改名为 {newfile}", - "You moved {oldfile} to {newfile}" : "你将 {oldfile} 移动到了 {newfile}", + "You moved {oldfile} to {newfile}" : "您将 {oldfile} 移动到了 {newfile}", "{user} moved {oldfile} to {newfile}" : "{user} 将 {oldfile} 移动到了 {newfile}", - "A file has been added to or removed from your <strong>favorites</strong>" : "文件已经添加或删除到您的 <strong>收藏夹</strong> 中", - "A file or folder has been <strong>changed</strong>" : "文件/文件夹已经 <strong>修改</strong>", - "A favorite file or folder has been <strong>changed</strong>" : "一个文件或文件夹已<strong>修改</strong>。", + "A file has been added to or removed from your <strong>favorites</strong>" : "文件已经添加或删除到您的<strong>收藏夹</strong> 中", + "A file or folder has been <strong>changed</strong>" : "文件或文件夹已经被<strong>修改</strong>", + "A favorite file or folder has been <strong>changed</strong>" : "一个收藏的文件或文件夹已经被<strong>修改</strong>", "All files" : "全部文件", "Upload (max. %s)" : "上传 (最大 %s)", "Accept" : "接受", "Reject" : "拒绝", - "Incoming ownership transfer from {user}" : "来自{user}的所有权转移", - "Do you want to accept {path}?\n\nNote: The transfer process after accepting may take up to 1 hour." : "您要接受{path}吗?\n\n注意:接受后转移过程可能长达1小时。", + "Incoming ownership transfer from {user}" : "来自 {user} 的所有权转移", + "Do you want to accept {path}?\n\nNote: The transfer process after accepting may take up to 1 hour." : "您要接受 {path} 吗?\n\n注意:接受后转移过程可能长达1小时。", "Ownership transfer failed" : "所有权转移失败", - "Your ownership transfer of {path} to {user} failed." : "您{path}的所有权向{user}转移失败。", - "The ownership transfer of {path} from {user} failed." : "来自{user}的{path}的所有权转移失败。", + "Your ownership transfer of {path} to {user} failed." : "您 {path} 的所有权向 {user} 转移失败。", + "The ownership transfer of {path} from {user} failed." : "来自 {user} 的 {path} 的所有权转移失败。", "Ownership transfer done" : "所有权转移完成", - "Your ownership transfer of {path} to {user} has completed." : "您的{path}向{user}的所有权转移已完成。", - "The ownership transfer of {path} from {user} has completed." : "来自{user}的{path}的所有权转移已完成。", + "Your ownership transfer of {path} to {user} has completed." : "您的 {path} 向 {user} 的所有权转移已完成。", + "The ownership transfer of {path} from {user} has completed." : "来自 {user} 的 {path} 的所有权转移已完成。", "in %s" : "在 %s", "File Management" : "文件管理", "Reload current directory" : "重新载入当前目录", - "Go to the \"{dir}\" directory" : "转到 \"{dir}\" 目录", + "Go to the \"{dir}\" directory" : "前往“{dir}”目录", "Select the row for {displayName}" : "选择 {displayName} 的行", "Open folder {name}" : "打开文件夹 {name}", "Download file {name}" : "下载文件 {name}", - "\"{displayName}\" action executed successfully" : "\"{displayName}\" 操作执行成功", - "\"{displayName}\" action failed" : "\"{displayName}\" 操作执行失败", + "\"{displayName}\" action executed successfully" : "“{displayName}”操作执行成功", + "\"{displayName}\" action failed" : "“{displayName}”操作执行失败", "Total rows summary" : "总行摘要", "Select all" : "全部选择", "Unselect all" : "取消全选", "\"{displayName}\" failed on some elements " : "“{displayName}”在某些元素上失败", - "\"{displayName}\" batch action executed successfully" : "批量操作 \"{displayName}\" 运行成功", + "\"{displayName}\" batch action executed successfully" : "批量操作“{displayName}”运行成功", "ascending" : "升序", "descending" : "降序", "Sort list by {column} ({direction})" : "按 {column} ({direction}) 排序列表", - "This list is not fully rendered for performances reasons. The files will be rendered as you navigate through the list." : "该列表因为性能原因没有完全加载。文件将会在您浏览列表的时候加载。", + "This list is not fully rendered for performances reasons. The files will be rendered as you navigate through the list." : "因为性能原因,该列表没有完全加载。这些文件将会在您浏览列表的时候加载。", "Storage informations" : "存储信息", "{usedQuotaByte} used" : "{usedQuotaByte} 已使用", "{relative}% used" : "{relative}% 已使用", @@ -214,7 +214,7 @@ "WebDAV" : "WebDAV", "Copy to clipboard" : "复制到剪贴板", "Use this address to access your Files via WebDAV" : "使用此地址通过 WebDAV 访问您的文件", - "If you have enabled 2FA, you must create and use a new app password by clicking here." : "如果您启用了两步验证,您必须点击此处来创建和使用一个新的应用程序密码。", + "If you have enabled 2FA, you must create and use a new app password by clicking here." : "如果启用两步验证,您必须点击此处来创建和使用一个新的应用程序密码。", "Clipboard is not available" : "剪贴板不可用", "WebDAV URL copied to clipboard" : "WebDAV 链接已复制到剪贴板", "Unable to change the favourite state of the file" : "无法修改文件的收藏状态", @@ -236,7 +236,7 @@ "Upload some content or sync with your devices!" : "上传一些内容或与您的设备同步!", "No entries found in this folder" : "在此文件夹中找不到项目", "Upload too large" : "上传文件过大", - "The files you are trying to upload exceed the maximum size for file uploads on this server." : "正在上传的文件超过了此服务器允许上传的最大容量限制", + "The files you are trying to upload exceed the maximum size for file uploads on this server." : "您尝试上传的文件大小超过了服务器的限制。", "No favorites yet" : "暂无收藏", "Files and folders you mark as favorite will show up here" : "收藏的文件和文件夹会在这里显示", "Shares" : "共享", diff --git a/apps/files/src/actions/deleteAction.spec.ts b/apps/files/src/actions/deleteAction.spec.ts new file mode 100644 index 00000000000..af7722008b6 --- /dev/null +++ b/apps/files/src/actions/deleteAction.spec.ts @@ -0,0 +1,185 @@ +/** + * @copyright Copyright (c) 2023 John Molakvoæ <skjnldsv@protonmail.com> + * + * @author John Molakvoæ <skjnldsv@protonmail.com> + * + * @license AGPL-3.0-or-later + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * + */ +import { action } from './deleteAction' +import { expect } from '@jest/globals' +import { File, Folder, Permission } from '@nextcloud/files' +import { FileAction } from '../services/FileAction' +import * as eventBus from '@nextcloud/event-bus' +import axios from '@nextcloud/axios' +import logger from '../logger' +import type { Navigation } from '../services/Navigation' + +const view = { + id: 'files', + name: 'Files', +} as Navigation + +const trashbinView = { + id: 'trashbin', + name: 'Trashbin', +} as Navigation + +describe('Delete action conditions tests', () => { + test('Default values', () => { + expect(action).toBeInstanceOf(FileAction) + expect(action.id).toBe('delete') + expect(action.displayName([], view)).toBe('Delete') + expect(action.iconSvgInline([], view)).toBe('SvgMock') + expect(action.default).toBe(false) + expect(action.order).toBe(100) + }) + + test('Default trashbin view values', () => { + expect(action.displayName([], trashbinView)).toBe('Delete permanently') + }) +}) + +describe('Delete action enabled tests', () => { + test('Enabled with DELETE permissions', () => { + const file = new File({ + id: 1, + source: 'https://cloud.domain.com/remote.php/dav/files/admin/foobar.txt', + owner: 'admin', + mime: 'text/plain', + permissions: Permission.ALL, + }) + + expect(action.enabled).toBeDefined() + expect(action.enabled!([file], view)).toBe(true) + }) + + test('Disabled without DELETE permissions', () => { + const file = new File({ + id: 1, + source: 'https://cloud.domain.com/remote.php/dav/files/admin/foobar.txt', + owner: 'admin', + mime: 'text/plain', + permissions: Permission.READ, + }) + + expect(action.enabled).toBeDefined() + expect(action.enabled!([file], view)).toBe(false) + }) + + test('Disabled without nodes', () => { + expect(action.enabled).toBeDefined() + expect(action.enabled!([], view)).toBe(false) + }) + + test('Disabled if not all nodes can be deleted', () => { + const folder1 = new Folder({ + id: 1, + source: 'https://cloud.domain.com/remote.php/dav/files/admin/Foo/', + owner: 'admin', + permissions: Permission.DELETE, + }) + const folder2 = new Folder({ + id: 2, + source: 'https://cloud.domain.com/remote.php/dav/files/admin/Bar/', + owner: 'admin', + permissions: Permission.READ, + }) + + expect(action.enabled).toBeDefined() + expect(action.enabled!([folder1], view)).toBe(true) + expect(action.enabled!([folder2], view)).toBe(false) + expect(action.enabled!([folder1, folder2], view)).toBe(false) + }) +}) + +describe('Delete action execute tests', () => { + test('Delete action', async () => { + jest.spyOn(axios, 'delete') + jest.spyOn(eventBus, 'emit') + + const file = new File({ + id: 1, + source: 'https://cloud.domain.com/remote.php/dav/files/admin/foobar.txt', + owner: 'admin', + mime: 'text/plain', + permissions: Permission.READ | Permission.UPDATE | Permission.DELETE, + }) + + const exec = await action.exec(file, view, '/') + + expect(exec).toBe(true) + expect(axios.delete).toBeCalledTimes(1) + expect(axios.delete).toBeCalledWith('https://cloud.domain.com/remote.php/dav/files/admin/foobar.txt') + + expect(eventBus.emit).toBeCalledTimes(1) + expect(eventBus.emit).toBeCalledWith('files:node:deleted', file) + }) + + test('Delete action batch', async () => { + jest.spyOn(axios, 'delete') + jest.spyOn(eventBus, 'emit') + + const file1 = new File({ + id: 1, + source: 'https://cloud.domain.com/remote.php/dav/files/admin/foo.txt', + owner: 'admin', + mime: 'text/plain', + permissions: Permission.READ | Permission.UPDATE | Permission.DELETE, + }) + + const file2 = new File({ + id: 2, + source: 'https://cloud.domain.com/remote.php/dav/files/admin/bar.txt', + owner: 'admin', + mime: 'text/plain', + permissions: Permission.READ | Permission.UPDATE | Permission.DELETE, + }) + + const exec = await action.execBatch!([file1, file2], view, '/') + + expect(exec).toStrictEqual([true, true]) + expect(axios.delete).toBeCalledTimes(2) + expect(axios.delete).toHaveBeenNthCalledWith(1, 'https://cloud.domain.com/remote.php/dav/files/admin/foo.txt') + expect(axios.delete).toHaveBeenNthCalledWith(2, 'https://cloud.domain.com/remote.php/dav/files/admin/bar.txt') + + expect(eventBus.emit).toBeCalledTimes(2) + expect(eventBus.emit).toHaveBeenNthCalledWith(1, 'files:node:deleted', file1) + expect(eventBus.emit).toHaveBeenNthCalledWith(2, 'files:node:deleted', file2) + }) + + test('Delete fails', async () => { + jest.spyOn(axios, 'delete').mockImplementation(() => { throw new Error('Mock error') }) + jest.spyOn(logger, 'error').mockImplementation(() => jest.fn()) + + const file = new File({ + id: 1, + source: 'https://cloud.domain.com/remote.php/dav/files/admin/foobar.txt', + owner: 'admin', + mime: 'text/plain', + permissions: Permission.READ | Permission.UPDATE | Permission.DELETE, + }) + + const exec = await action.exec(file, view, '/') + + expect(exec).toBe(false) + expect(axios.delete).toBeCalledTimes(1) + expect(axios.delete).toBeCalledWith('https://cloud.domain.com/remote.php/dav/files/admin/foobar.txt') + + expect(eventBus.emit).toBeCalledTimes(0) + expect(logger.error).toBeCalledTimes(1) + }) +}) diff --git a/apps/files/src/actions/deleteAction.ts b/apps/files/src/actions/deleteAction.ts index a633e477b1f..20af8573dd9 100644 --- a/apps/files/src/actions/deleteAction.ts +++ b/apps/files/src/actions/deleteAction.ts @@ -25,11 +25,11 @@ import { translate as t } from '@nextcloud/l10n' import axios from '@nextcloud/axios' import TrashCan from '@mdi/svg/svg/trash-can.svg?raw' -import { registerFileAction, FileAction } from '../services/FileAction.ts' +import { registerFileAction, FileAction } from '../services/FileAction' import logger from '../logger.js' -import type { Navigation } from '../services/Navigation.ts' +import type { Navigation } from '../services/Navigation' -registerFileAction(new FileAction({ +export const action = new FileAction({ id: 'delete', displayName(nodes: Node[], view: Navigation) { return view.id === 'trashbin' @@ -63,4 +63,6 @@ registerFileAction(new FileAction({ }, order: 100, -})) +}) + +registerFileAction(action) diff --git a/apps/files/src/actions/downloadAction.spec.ts b/apps/files/src/actions/downloadAction.spec.ts new file mode 100644 index 00000000000..a9b51b39510 --- /dev/null +++ b/apps/files/src/actions/downloadAction.spec.ts @@ -0,0 +1,186 @@ +/** + * @copyright Copyright (c) 2023 John Molakvoæ <skjnldsv@protonmail.com> + * + * @author John Molakvoæ <skjnldsv@protonmail.com> + * + * @license AGPL-3.0-or-later + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * + */ +import { action } from './downloadAction' +import { expect } from '@jest/globals' +import { File, Folder, Permission } from '@nextcloud/files' +import { FileAction } from '../services/FileAction' +import * as eventBus from '@nextcloud/event-bus' +import axios from '@nextcloud/axios' +import type { Navigation } from '../services/Navigation' +import logger from '../logger' + +const view = { + id: 'files', + name: 'Files', +} as Navigation + +describe('Download action conditions tests', () => { + test('Default values', () => { + expect(action).toBeInstanceOf(FileAction) + expect(action.id).toBe('download') + expect(action.displayName([], view)).toBe('Download') + expect(action.iconSvgInline([], view)).toBe('SvgMock') + expect(action.default).toBe(false) + expect(action.order).toBe(30) + }) +}) + +describe('Download action enabled tests', () => { + test('Enabled with READ permissions', () => { + const file = new File({ + id: 1, + source: 'https://cloud.domain.com/remote.php/dav/files/admin/foobar.txt', + owner: 'admin', + mime: 'text/plain', + permissions: Permission.ALL, + }) + + expect(action.enabled).toBeDefined() + expect(action.enabled!([file], view)).toBe(true) + }) + + test('Disabled without READ permissions', () => { + const file = new File({ + id: 1, + source: 'https://cloud.domain.com/remote.php/dav/files/admin/foobar.txt', + owner: 'admin', + mime: 'text/plain', + permissions: Permission.NONE, + }) + + expect(action.enabled).toBeDefined() + expect(action.enabled!([file], view)).toBe(false) + }) + + test('Disabled if not all nodes have READ permissions', () => { + const folder1 = new Folder({ + id: 1, + source: 'https://cloud.domain.com/remote.php/dav/files/admin/Foo/', + owner: 'admin', + permissions: Permission.READ, + }) + const folder2 = new Folder({ + id: 2, + source: 'https://cloud.domain.com/remote.php/dav/files/admin/Bar/', + owner: 'admin', + permissions: Permission.NONE, + }) + + expect(action.enabled).toBeDefined() + expect(action.enabled!([folder1], view)).toBe(true) + expect(action.enabled!([folder2], view)).toBe(false) + expect(action.enabled!([folder1, folder2], view)).toBe(false) + }) + + test('Disabled without nodes', () => { + expect(action.enabled).toBeDefined() + expect(action.enabled!([], view)).toBe(false) + }) +}) + +describe('Download action execute tests', () => { + const link = { + click: jest.fn(), + } as unknown as HTMLAnchorElement + + beforeEach(() => { + jest.spyOn(document, 'createElement').mockImplementation(() => link) + }) + + test('Download single file', async () => { + const file = new File({ + id: 1, + source: 'https://cloud.domain.com/remote.php/dav/files/admin/foobar.txt', + owner: 'admin', + mime: 'text/plain', + permissions: Permission.READ, + }) + + const exec = await action.exec(file, view, '/') + + // Silent action + expect(exec).toBe(null) + expect(link.download).toEqual('') + expect(link.href).toEqual('https://cloud.domain.com/remote.php/dav/files/admin/foobar.txt') + expect(link.click).toHaveBeenCalledTimes(1) + }) + + test('Download single file with batch', async () => { + const file = new File({ + id: 1, + source: 'https://cloud.domain.com/remote.php/dav/files/admin/foobar.txt', + owner: 'admin', + mime: 'text/plain', + permissions: Permission.READ, + }) + + const exec = await action.execBatch!([file], view, '/') + + // Silent action + expect(exec).toStrictEqual([null]) + expect(link.download).toEqual('') + expect(link.href).toEqual('https://cloud.domain.com/remote.php/dav/files/admin/foobar.txt') + expect(link.click).toHaveBeenCalledTimes(1) + }) + + test('Download single folder', async () => { + const folder = new Folder({ + id: 1, + source: 'https://cloud.domain.com/remote.php/dav/files/admin/FooBar/', + owner: 'admin', + permissions: Permission.READ, + }) + + const exec = await action.exec(folder, view, '/') + + // Silent action + expect(exec).toBe(null) + expect(link.download).toEqual('') + expect(link.href.startsWith('/index.php/apps/files/ajax/download.php?dir=%2F&files=%5B%22FooBar%22%5D&downloadStartSecret=')).toBe(true) + expect(link.click).toHaveBeenCalledTimes(1) + }) + + test('Download multiple nodes', async () => { + const file1 = new File({ + id: 1, + source: 'https://cloud.domain.com/remote.php/dav/files/admin/Dir/foo.txt', + owner: 'admin', + mime: 'text/plain', + permissions: Permission.READ, + }) + const file2 = new File({ + id: 1, + source: 'https://cloud.domain.com/remote.php/dav/files/admin/Dir/bar.txt', + owner: 'admin', + mime: 'text/plain', + permissions: Permission.READ, + }) + + const exec = await action.execBatch!([file1, file2], view, '/Dir') + + // Silent action + expect(exec).toStrictEqual([null, null]) + expect(link.download).toEqual('') + expect(link.href.startsWith('/index.php/apps/files/ajax/download.php?dir=%2FDir&files=%5B%22foo.txt%22%2C%22bar.txt%22%5D&downloadStartSecret=')).toBe(true) + expect(link.click).toHaveBeenCalledTimes(1) + }) +}) diff --git a/apps/files/src/actions/downloadAction.ts b/apps/files/src/actions/downloadAction.ts new file mode 100644 index 00000000000..3801553aeaa --- /dev/null +++ b/apps/files/src/actions/downloadAction.ts @@ -0,0 +1,82 @@ +/** + * @copyright Copyright (c) 2023 John Molakvoæ <skjnldsv@protonmail.com> + * + * @author John Molakvoæ <skjnldsv@protonmail.com> + * + * @license AGPL-3.0-or-later + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * + */ +import { emit } from '@nextcloud/event-bus' +import { Permission, Node, FileType } from '@nextcloud/files' +import { translate as t } from '@nextcloud/l10n' +import ArrowDown from '@mdi/svg/svg/arrow-down.svg?raw' + +import { registerFileAction, FileAction } from '../services/FileAction' +import { generateUrl } from '@nextcloud/router' +import type { Navigation } from '../services/Navigation' + +const triggerDownload = function(url: string) { + const hiddenElement = document.createElement('a') + hiddenElement.download = '' + hiddenElement.href = url + hiddenElement.click() +} + +const downloadNodes = function(dir: string, nodes: Node[]) { + const secret = Math.random().toString(36).substring(2) + const url = generateUrl('/apps/files/ajax/download.php?dir={dir}&files={files}&downloadStartSecret={secret}', { + dir, + secret, + files: JSON.stringify(nodes.map(node => node.basename)), + }) + triggerDownload(url) +} + +export const action = new FileAction({ + id: 'download', + displayName: () => t('files', 'Download'), + iconSvgInline: () => ArrowDown, + + enabled(nodes: Node[]) { + return nodes.length > 0 && nodes + .map(node => node.permissions) + .every(permission => (permission & Permission.READ) !== 0) + }, + + async exec(node: Node, view: Navigation, dir: string) { + if (node.type === FileType.Folder) { + downloadNodes(dir, [node]) + return null + } + + triggerDownload(node.source) + return null + }, + + async execBatch(nodes: Node[], view: Navigation, dir: string) { + if (nodes.length === 1) { + this.exec(nodes[0], view, dir) + return [null] + } + + downloadNodes(dir, nodes) + return new Array(nodes.length).fill(null) + }, + + order: 30, +}) + +registerFileAction(action) diff --git a/apps/files/src/actions/editLocallyAction.spec.ts b/apps/files/src/actions/editLocallyAction.spec.ts new file mode 100644 index 00000000000..93315c5a016 --- /dev/null +++ b/apps/files/src/actions/editLocallyAction.spec.ts @@ -0,0 +1,163 @@ +/** + * @copyright Copyright (c) 2023 John Molakvoæ <skjnldsv@protonmail.com> + * + * @author John Molakvoæ <skjnldsv@protonmail.com> + * + * @license AGPL-3.0-or-later + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * + */ +import { action } from './editLocallyAction' +import { expect } from '@jest/globals' +import { File, Folder, Permission } from '@nextcloud/files' +import { FileAction } from '../services/FileAction' +import axios from '@nextcloud/axios' +import type { Navigation } from '../services/Navigation' +import ncDialogs from '@nextcloud/dialogs' + +const view = { + id: 'files', + name: 'Files', +} as Navigation + +describe('Edit locally action conditions tests', () => { + test('Default values', () => { + expect(action).toBeInstanceOf(FileAction) + expect(action.id).toBe('edit-locally') + expect(action.displayName([], view)).toBe('Edit locally') + expect(action.iconSvgInline([], view)).toBe('SvgMock') + expect(action.default).toBe(true) + expect(action.order).toBe(25) + }) +}) + +describe('Edit locally action enabled tests', () => { + test('Enabled for file with UPDATE permission', () => { + const file = new File({ + id: 1, + source: 'https://cloud.domain.com/remote.php/dav/files/admin/foobar.txt', + owner: 'admin', + mime: 'text/plain', + permissions: Permission.ALL, + }) + + expect(action.enabled).toBeDefined() + expect(action.enabled!([file], view)).toBe(true) + }) + + test('Disabled for non-dav ressources', () => { + const file = new File({ + id: 1, + source: 'https://domain.com/data/foobar.txt', + owner: 'admin', + mime: 'text/plain', + }) + + expect(action.enabled).toBeDefined() + expect(action.enabled!([file], view)).toBe(false) + }) + + test('Disabled if more than one node', () => { + const file1 = new File({ + id: 1, + source: 'https://cloud.domain.com/remote.php/dav/files/admin/foo.txt', + owner: 'admin', + mime: 'text/plain', + permissions: Permission.ALL, + }) + const file2 = new File({ + id: 1, + source: 'https://cloud.domain.com/remote.php/dav/files/admin/bar.txt', + owner: 'admin', + mime: 'text/plain', + permissions: Permission.ALL, + }) + + expect(action.enabled).toBeDefined() + expect(action.enabled!([file1, file2], view)).toBe(false) + }) + + test('Disabled for files', () => { + const file = new File({ + id: 1, + source: 'https://cloud.domain.com/remote.php/dav/files/admin/Foo/', + owner: 'admin', + mime: 'text/plain', + }) + + expect(action.enabled).toBeDefined() + expect(action.enabled!([file], view)).toBe(false) + }) + + test('Disabled without UPDATE permissions', () => { + const file = new File({ + id: 1, + source: 'https://cloud.domain.com/remote.php/dav/files/admin/foobar.txt', + owner: 'admin', + mime: 'text/plain', + permissions: Permission.READ, + }) + + expect(action.enabled).toBeDefined() + expect(action.enabled!([file], view)).toBe(false) + }) +}) + +describe('Edit locally action execute tests', () => { + test('Edit locally opens proper URL', async () => { + jest.spyOn(axios, 'post').mockImplementation(async () => ({ data: { ocs: { data: { token: 'foobar' } } } })) + jest.spyOn(ncDialogs, 'showError') + + const file = new File({ + id: 1, + source: 'http://localhost/remote.php/dav/files/admin/foobar.txt', + owner: 'admin', + mime: 'text/plain', + permissions: Permission.UPDATE, + }) + + const exec = await action.exec(file, view, '/') + + // Silent action + expect(exec).toBe(null) + expect(axios.post).toBeCalledTimes(1) + expect(axios.post).toBeCalledWith('http://localhost/ocs/v2.php/apps/files/api/v1/openlocaleditor?format=json', { path: '/foobar.txt' }) + expect(ncDialogs.showError).toBeCalledTimes(0) + expect(window.location.href).toBe('nc://open/test@localhost/foobar.txt?token=foobar') + }) + + test('Edit locally fails and show error', async () => { + jest.spyOn(axios, 'post').mockImplementation(async () => ({})) + jest.spyOn(ncDialogs, 'showError') + + const file = new File({ + id: 1, + source: 'http://localhost/remote.php/dav/files/admin/foobar.txt', + owner: 'admin', + mime: 'text/plain', + permissions: Permission.UPDATE, + }) + + const exec = await action.exec(file, view, '/') + + // Silent action + expect(exec).toBe(null) + expect(axios.post).toBeCalledTimes(1) + expect(axios.post).toBeCalledWith('http://localhost/ocs/v2.php/apps/files/api/v1/openlocaleditor?format=json', { path: '/foobar.txt' }) + expect(ncDialogs.showError).toBeCalledTimes(1) + expect(ncDialogs.showError).toBeCalledWith('Failed to redirect to client') + expect(window.location.href).toBe('http://localhost/') + }) +}) diff --git a/apps/files/src/actions/editLocallyAction.ts b/apps/files/src/actions/editLocallyAction.ts new file mode 100644 index 00000000000..ad7e805ec2e --- /dev/null +++ b/apps/files/src/actions/editLocallyAction.ts @@ -0,0 +1,74 @@ +/** + * @copyright Copyright (c) 2023 John Molakvoæ <skjnldsv@protonmail.com> + * + * @author John Molakvoæ <skjnldsv@protonmail.com> + * + * @license AGPL-3.0-or-later + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * + */ +import { encodePath } from '@nextcloud/paths' +import { Permission, type Node } from '@nextcloud/files' +import { translate as t } from '@nextcloud/l10n' +import axios from '@nextcloud/axios' +import DevicesSvg from '@mdi/svg/svg/devices.svg?raw' + +import { generateOcsUrl } from '@nextcloud/router' +import { getCurrentUser } from '@nextcloud/auth' +import { registerFileAction, FileAction } from '../services/FileAction' +import { showError } from '@nextcloud/dialogs' + +const openLocalClient = async function(path: string) { + const link = generateOcsUrl('apps/files/api/v1') + '/openlocaleditor?format=json' + + try { + const result = await axios.post(link, { path }) + const uid = getCurrentUser()?.uid + let url = `nc://open/${uid}@` + window.location.host + encodePath(path) + url += '?token=' + result.data.ocs.data.token + + window.location.href = url + } catch (error) { + showError(t('files', 'Failed to redirect to client')) + } +} + +export const action = new FileAction({ + id: 'edit-locally', + displayName: () => t('files', 'Edit locally'), + iconSvgInline: () => DevicesSvg, + + // Only works on single files + enabled(nodes: Node[]) { + // Only works on single node + if (nodes.length !== 1) { + return false + } + + return (nodes[0].permissions & Permission.UPDATE) !== 0 + }, + + async exec(node: Node) { + openLocalClient(node.path) + return null + }, + + default: true, + order: 25, +}) + +if (!/Android|iPhone|iPad|iPod/i.test(navigator.userAgent)) { + registerFileAction(action) +} diff --git a/apps/files/src/actions/favoriteAction.spec.ts b/apps/files/src/actions/favoriteAction.spec.ts new file mode 100644 index 00000000000..144c3a51dc8 --- /dev/null +++ b/apps/files/src/actions/favoriteAction.spec.ts @@ -0,0 +1,391 @@ +/** + * @copyright Copyright (c) 2023 John Molakvoæ <skjnldsv@protonmail.com> + * + * @author John Molakvoæ <skjnldsv@protonmail.com> + * + * @license AGPL-3.0-or-later + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * + */ +import * as favoriteAction from './favoriteAction' +import { action } from './favoriteAction' +import { expect } from '@jest/globals' +import { File, Folder, Permission } from '@nextcloud/files' +import { FileAction } from '../services/FileAction' +import * as eventBus from '@nextcloud/event-bus' +import axios from '@nextcloud/axios' +import type { Navigation } from '../services/Navigation' +import logger from '../logger' + +const view = { + id: 'files', + name: 'Files', +} as Navigation + +const favoriteView = { + id: 'favorites', + name: 'Favorites', +} as Navigation + +global.window.OC = { + TAG_FAVORITE: '_$!<Favorite>!$_', +} + +describe('Favorite action conditions tests', () => { + test('Default values', () => { + const file = new File({ + id: 1, + source: 'https://cloud.domain.com/remote.php/dav/files/admin/foobar.txt', + owner: 'admin', + mime: 'text/plain', + }) + + expect(action).toBeInstanceOf(FileAction) + expect(action.id).toBe('favorite') + expect(action.displayName([file], view)).toBe('Add to favorites') + expect(action.iconSvgInline([], view)).toBe('SvgMock') + expect(action.default).toBe(false) + expect(action.order).toBe(-50) + }) + + test('Display name is Remove from favorites if already in favorites', () => { + const file = new File({ + id: 1, + source: 'https://cloud.domain.com/remote.php/dav/files/admin/foobar.txt', + owner: 'admin', + mime: 'text/plain', + attributes: { + favorite: 1, + }, + }) + + expect(action.displayName([file], view)).toBe('Remove from favorites') + }) + + test('Display name for multiple state files', () => { + const file1 = new File({ + id: 1, + source: 'https://cloud.domain.com/remote.php/dav/files/admin/foobar.txt', + owner: 'admin', + mime: 'text/plain', + permissions: Permission.ALL, + attributes: { + favorite: 1, + }, + }) + const file2 = new File({ + id: 1, + source: 'https://cloud.domain.com/remote.php/dav/files/admin/foobar.txt', + owner: 'admin', + mime: 'text/plain', + permissions: Permission.ALL, + attributes: { + favorite: 0, + }, + }) + const file3 = new File({ + id: 1, + source: 'https://cloud.domain.com/remote.php/dav/files/admin/foobar.txt', + owner: 'admin', + mime: 'text/plain', + permissions: Permission.ALL, + attributes: { + favorite: 1, + }, + }) + + expect(action.displayName([file1, file2, file3], view)).toBe('Add to favorites') + expect(action.displayName([file1, file2], view)).toBe('Add to favorites') + expect(action.displayName([file2, file3], view)).toBe('Add to favorites') + expect(action.displayName([file1, file3], view)).toBe('Remove from favorites') + }) +}) + +describe('Favorite action enabled tests', () => { + test('Enabled for dav file', () => { + const file = new File({ + id: 1, + source: 'https://cloud.domain.com/remote.php/dav/files/admin/foobar.txt', + owner: 'admin', + mime: 'text/plain', + }) + + expect(action.enabled).toBeDefined() + expect(action.enabled!([file], view)).toBe(true) + }) + + test('Disabled for non-dav ressources', () => { + const file = new File({ + id: 1, + source: 'https://domain.com/data/foobar.txt', + owner: 'admin', + mime: 'text/plain', + }) + + expect(action.enabled).toBeDefined() + expect(action.enabled!([file], view)).toBe(false) + }) +}) + +describe('Favorite action execute tests', () => { + afterEach(() => { + jest.spyOn(axios, 'post').mockRestore() + }) + + test('Favorite triggers tag addition', async () => { + jest.spyOn(axios, 'post') + jest.spyOn(eventBus, 'emit') + + const file = new File({ + id: 1, + source: 'http://localhost/remote.php/dav/files/admin/foobar.txt', + owner: 'admin', + mime: 'text/plain', + }) + + const exec = await action.exec(file, view, '/') + + expect(exec).toBe(true) + + // Check POST request + expect(axios.post).toBeCalledTimes(1) + expect(axios.post).toBeCalledWith('/index.php/apps/files/api/v1/files/foobar.txt', { tags: ['_$!<Favorite>!$_'] }) + + // Check node change propagation + expect(file.attributes.favorite).toBe(1) + expect(eventBus.emit).toBeCalledTimes(1) + expect(eventBus.emit).toBeCalledWith('files:favorites:added', file) + }) + + test('Favorite triggers tag removal', async () => { + jest.spyOn(axios, 'post') + jest.spyOn(eventBus, 'emit') + + const file = new File({ + id: 1, + source: 'http://localhost/remote.php/dav/files/admin/foobar.txt', + owner: 'admin', + mime: 'text/plain', + attributes: { + favorite: 1, + }, + }) + + const exec = await action.exec(file, view, '/') + + expect(exec).toBe(true) + + // Check POST request + expect(axios.post).toBeCalledTimes(1) + expect(axios.post).toBeCalledWith('/index.php/apps/files/api/v1/files/foobar.txt', { tags: [] }) + + // Check node change propagation + expect(file.attributes.favorite).toBe(0) + expect(eventBus.emit).toBeCalledTimes(1) + expect(eventBus.emit).toBeCalledWith('files:favorites:removed', file) + }) + + test('Favorite triggers node removal if favorite view and root dir', async () => { + jest.spyOn(axios, 'post') + jest.spyOn(eventBus, 'emit') + + const file = new File({ + id: 1, + source: 'http://localhost/remote.php/dav/files/admin/foobar.txt', + owner: 'admin', + mime: 'text/plain', + attributes: { + favorite: 1, + }, + }) + + const exec = await action.exec(file, favoriteView, '/') + + expect(exec).toBe(true) + + // Check POST request + expect(axios.post).toBeCalledTimes(1) + expect(axios.post).toBeCalledWith('/index.php/apps/files/api/v1/files/foobar.txt', { tags: [] }) + + // Check node change propagation + expect(file.attributes.favorite).toBe(0) + expect(eventBus.emit).toBeCalledTimes(2) + expect(eventBus.emit).toHaveBeenNthCalledWith(1, 'files:node:deleted', file) + expect(eventBus.emit).toHaveBeenNthCalledWith(2, 'files:favorites:removed', file) + }) + + test('Favorite does NOT triggers node removal if favorite view but NOT root dir', async () => { + jest.spyOn(axios, 'post') + jest.spyOn(eventBus, 'emit') + + const file = new File({ + id: 1, + source: 'http://localhost/remote.php/dav/files/admin/Foo/Bar/foobar.txt', + root: '/files/admin', + owner: 'admin', + mime: 'text/plain', + attributes: { + favorite: 1, + }, + }) + + const exec = await action.exec(file, favoriteView, '/') + + expect(exec).toBe(true) + + // Check POST request + expect(axios.post).toBeCalledTimes(1) + expect(axios.post).toBeCalledWith('/index.php/apps/files/api/v1/files/Foo/Bar/foobar.txt', { tags: [] }) + + // Check node change propagation + expect(file.attributes.favorite).toBe(0) + expect(eventBus.emit).toBeCalledTimes(1) + expect(eventBus.emit).toBeCalledWith('files:favorites:removed', file) + }) + + test('Favorite fails and show error', async () => { + const error = new Error('Mock error') + jest.spyOn(axios, 'post').mockImplementation(() => { throw new Error('Mock error') }) + jest.spyOn(logger, 'error').mockImplementation(() => jest.fn()) + + const file = new File({ + id: 1, + source: 'http://localhost/remote.php/dav/files/admin/foobar.txt', + owner: 'admin', + mime: 'text/plain', + attributes: { + favorite: 0, + }, + }) + + const exec = await action.exec(file, view, '/') + + expect(exec).toBe(false) + + // Check POST request + expect(axios.post).toBeCalledTimes(1) + expect(axios.post).toBeCalledWith('/index.php/apps/files/api/v1/files/foobar.txt', { tags: ['_$!<Favorite>!$_'] }) + + // Check node change propagation + expect(logger.error).toBeCalledTimes(1) + expect(logger.error).toBeCalledWith('Error while adding a file to favourites', { error, source: file.source, node: file }) + expect(file.attributes.favorite).toBe(0) + expect(eventBus.emit).toBeCalledTimes(0) + }) + + test('Removing from favorites fails and show error', async () => { + const error = new Error('Mock error') + jest.spyOn(axios, 'post').mockImplementation(() => { throw error }) + jest.spyOn(logger, 'error').mockImplementation(() => jest.fn()) + + const file = new File({ + id: 1, + source: 'http://localhost/remote.php/dav/files/admin/foobar.txt', + owner: 'admin', + mime: 'text/plain', + attributes: { + favorite: 1, + }, + }) + + const exec = await action.exec(file, view, '/') + + expect(exec).toBe(false) + + // Check POST request + expect(axios.post).toBeCalledTimes(1) + expect(axios.post).toBeCalledWith('/index.php/apps/files/api/v1/files/foobar.txt', { tags: [] }) + + // Check node change propagation + expect(logger.error).toBeCalledTimes(1) + expect(logger.error).toBeCalledWith('Error while removing a file from favourites', { error, source: file.source, node: file }) + expect(file.attributes.favorite).toBe(1) + expect(eventBus.emit).toBeCalledTimes(0) + }) +}) + +describe('Favorite action batch execute tests', () => { + test('Favorite action batch execute with mixed files', async () => { + jest.spyOn(favoriteAction, 'favoriteNode') + jest.spyOn(axios, 'post') + + const file1 = new File({ + id: 1, + source: 'https://cloud.domain.com/remote.php/dav/files/admin/foo.txt', + owner: 'admin', + mime: 'text/plain', + permissions: Permission.ALL, + attributes: { + favorite: 1, + }, + }) + const file2 = new File({ + id: 1, + source: 'https://cloud.domain.com/remote.php/dav/files/admin/bar.txt', + owner: 'admin', + mime: 'text/plain', + permissions: Permission.ALL, + attributes: { + favorite: 0, + }, + }) + + // Mixed states triggers favorite action + const exec = await action.execBatch!([file1, file2], view, '/') + expect(exec).toStrictEqual([true, true]) + expect([file1, file2].every(file => file.attributes.favorite === 1)).toBe(true) + + expect(favoriteAction.favoriteNode).toBeCalledTimes(2) + expect(axios.post).toBeCalledTimes(2) + expect(axios.post).toHaveBeenNthCalledWith(1, '/index.php/apps/files/api/v1/files/foo.txt', { tags: ['_$!<Favorite>!$_'] }) + expect(axios.post).toHaveBeenNthCalledWith(2, '/index.php/apps/files/api/v1/files/bar.txt', { tags: ['_$!<Favorite>!$_'] }) + }) + + test('Remove from favorite action batch execute with favorites only files', async () => { + jest.spyOn(favoriteAction, 'favoriteNode') + jest.spyOn(axios, 'post') + + const file1 = new File({ + id: 1, + source: 'https://cloud.domain.com/remote.php/dav/files/admin/foo.txt', + owner: 'admin', + mime: 'text/plain', + permissions: Permission.ALL, + attributes: { + favorite: 1, + }, + }) + const file2 = new File({ + id: 1, + source: 'https://cloud.domain.com/remote.php/dav/files/admin/bar.txt', + owner: 'admin', + mime: 'text/plain', + permissions: Permission.ALL, + attributes: { + favorite: 1, + }, + }) + + // Mixed states triggers favorite action + const exec = await action.execBatch!([file1, file2], view, '/') + expect(exec).toStrictEqual([true, true]) + expect([file1, file2].every(file => file.attributes.favorite === 0)).toBe(true) + + expect(favoriteAction.favoriteNode).toBeCalledTimes(2) + expect(axios.post).toBeCalledTimes(2) + expect(axios.post).toHaveBeenNthCalledWith(1, '/index.php/apps/files/api/v1/files/foo.txt', { tags: [] }) + expect(axios.post).toHaveBeenNthCalledWith(2, '/index.php/apps/files/api/v1/files/bar.txt', { tags: [] }) + }) +}) diff --git a/apps/files/src/actions/favoriteAction.ts b/apps/files/src/actions/favoriteAction.ts new file mode 100644 index 00000000000..5b9ba7f95e6 --- /dev/null +++ b/apps/files/src/actions/favoriteAction.ts @@ -0,0 +1,99 @@ +/** + * @copyright Copyright (c) 2023 John Molakvoæ <skjnldsv@protonmail.com> + * + * @author John Molakvoæ <skjnldsv@protonmail.com> + * + * @license AGPL-3.0-or-later + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * + */ +import { emit } from '@nextcloud/event-bus' +import { translate as t } from '@nextcloud/l10n' +import axios from '@nextcloud/axios' +import Star from '@mdi/svg/svg/star.svg?raw' +import type { Node } from '@nextcloud/files' + +import { generateUrl } from '@nextcloud/router' +import { registerFileAction, FileAction } from '../services/FileAction' +import logger from '../logger.js' +import type { Navigation } from '../services/Navigation' + +// If any of the nodes is not favorited, we display the favorite action. +const shouldFavorite = (nodes: Node[]): boolean => { + return nodes.some(node => node.attributes.favorite !== 1) +} + +export const favoriteNode = async (node: Node, view: Navigation, willFavorite: boolean): Promise<boolean> => { + try { + // TODO: migrate to webdav tags plugin + const url = generateUrl('/apps/files/api/v1/files') + node.path + await axios.post(url, { + tags: willFavorite + ? [window.OC.TAG_FAVORITE] + : [], + }) + + // Let's delete if we are in the favourites view + // AND if it is removed from the user favorites + // AND it's in the root of the favorites view + if (view.id === 'favorites' && !willFavorite && node.dirname === '/') { + emit('files:node:deleted', node) + } + + // Update the node webdav attribute + node.attributes.favorite = willFavorite ? 1 : 0 + + // Dispatch event to whoever is interested + if (willFavorite) { + emit('files:favorites:added', node) + } else { + emit('files:favorites:removed', node) + } + + return true + } catch (error) { + const action = willFavorite ? 'adding a file to favourites' : 'removing a file from favourites' + logger.error('Error while ' + action, { error, source: node.source, node }) + return false + } +} + +export const action = new FileAction({ + id: 'favorite', + displayName(nodes: Node[]) { + return shouldFavorite(nodes) + ? t('files', 'Add to favorites') + : t('files', 'Remove from favorites') + }, + iconSvgInline: () => Star, + + enabled(nodes: Node[]) { + // We can only favorite nodes within files + return !nodes.some(node => !node.root?.startsWith?.('/files')) + }, + + async exec(node: Node, view: Navigation) { + const willFavorite = shouldFavorite([node]) + return await favoriteNode(node, view, willFavorite) + }, + async execBatch(nodes: Node[], view: Navigation) { + const willFavorite = shouldFavorite(nodes) + return Promise.all(nodes.map(async node => await favoriteNode(node, view, willFavorite))) + }, + + order: -50, +}) + +registerFileAction(action) diff --git a/apps/files/src/actions/openFolderAction.spec.ts b/apps/files/src/actions/openFolderAction.spec.ts new file mode 100644 index 00000000000..07502be2eed --- /dev/null +++ b/apps/files/src/actions/openFolderAction.spec.ts @@ -0,0 +1,163 @@ +/** + * @copyright Copyright (c) 2023 John Molakvoæ <skjnldsv@protonmail.com> + * + * @author John Molakvoæ <skjnldsv@protonmail.com> + * + * @license AGPL-3.0-or-later + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * + */ +import { action } from './openFolderAction' +import { expect } from '@jest/globals' +import { File, Folder, Permission } from '@nextcloud/files' +import { FileAction } from '../services/FileAction' +import type { Navigation } from '../services/Navigation' + +const view = { + id: 'files', + name: 'Files', +} as Navigation + +describe('Open folder action conditions tests', () => { + test('Default values', () => { + const folder = new Folder({ + id: 1, + source: 'https://cloud.domain.com/remote.php/dav/files/admin/FooBar/', + owner: 'admin', + permissions: Permission.READ, + }) + + expect(action).toBeInstanceOf(FileAction) + expect(action.id).toBe('open-folder') + expect(action.displayName([folder], view)).toBe('Open folder FooBar') + expect(action.iconSvgInline([], view)).toBe('SvgMock') + expect(action.default).toBe(true) + expect(action.order).toBe(-100) + }) +}) + +describe('Open folder action enabled tests', () => { + test('Enabled for folders', () => { + const folder = new Folder({ + id: 1, + source: 'https://cloud.domain.com/remote.php/dav/files/admin/FooBar/', + owner: 'admin', + permissions: Permission.READ, + }) + + expect(action.enabled).toBeDefined() + expect(action.enabled!([folder], view)).toBe(true) + }) + + test('Disabled for non-dav ressources', () => { + const folder = new Folder({ + id: 1, + source: 'https://domain.com/data/FooBar/', + owner: 'admin', + permissions: Permission.NONE, + }) + + expect(action.enabled).toBeDefined() + expect(action.enabled!([folder], view)).toBe(false) + }) + + test('Disabled if more than one node', () => { + const folder1 = new Folder({ + id: 1, + source: 'https://cloud.domain.com/remote.php/dav/files/admin/Foo/', + owner: 'admin', + permissions: Permission.READ, + }) + const folder2 = new Folder({ + id: 2, + source: 'https://cloud.domain.com/remote.php/dav/files/admin/Bar/', + owner: 'admin', + permissions: Permission.READ, + }) + + expect(action.enabled).toBeDefined() + expect(action.enabled!([folder1, folder2], view)).toBe(false) + }) + + test('Disabled for files', () => { + const file = new File({ + id: 1, + source: 'https://cloud.domain.com/remote.php/dav/files/admin/Foo/', + owner: 'admin', + mime: 'text/plain', + }) + + expect(action.enabled).toBeDefined() + expect(action.enabled!([file], view)).toBe(false) + }) + + test('Disabled without READ permissions', () => { + const folder = new Folder({ + id: 1, + source: 'https://cloud.domain.com/remote.php/dav/files/admin/Foo/', + owner: 'admin', + permissions: Permission.NONE, + }) + + expect(action.enabled).toBeDefined() + expect(action.enabled!([folder], view)).toBe(false) + }) +}) + +describe('Open folder action execute tests', () => { + test('Open folder', async () => { + const goToRouteMock = jest.fn() + window.OCP = { Files: { Router: { goToRoute: goToRouteMock } } } + + const folder = new Folder({ + id: 1, + source: 'https://cloud.domain.com/remote.php/dav/files/admin/FooBar/', + owner: 'admin', + permissions: Permission.READ, + }) + + const exec = await action.exec(folder, view, '/') + // Silent action + expect(exec).toBe(null) + expect(goToRouteMock).toBeCalledTimes(1) + expect(goToRouteMock).toBeCalledWith(null, null, { dir: '/FooBar' }) + }) + + test('Open folder fails without node', async () => { + const goToRouteMock = jest.fn() + window.OCP = { Files: { Router: { goToRoute: goToRouteMock } } } + + // @ts-ignore null as Node + const exec = await action.exec(null, view, '/') + expect(exec).toBe(false) + expect(goToRouteMock).toBeCalledTimes(0) + }) + + test('Open folder fails without Folder', async () => { + const goToRouteMock = jest.fn() + window.OCP = { Files: { Router: { goToRoute: goToRouteMock } } } + + const file = new File({ + id: 1, + source: 'https://cloud.domain.com/remote.php/dav/files/admin/Foo/', + owner: 'admin', + mime: 'text/plain', + }) + + const exec = await action.exec(file, view, '/') + expect(exec).toBe(false) + expect(goToRouteMock).toBeCalledTimes(0) + }) +}) diff --git a/apps/files/src/actions/openFolderAction.ts b/apps/files/src/actions/openFolderAction.ts index cc2c0825bd4..76467796a2b 100644 --- a/apps/files/src/actions/openFolderAction.ts +++ b/apps/files/src/actions/openFolderAction.ts @@ -27,7 +27,7 @@ import type { Navigation } from '../services/Navigation' import { join } from 'path' import { registerFileAction, FileAction } from '../services/FileAction' -registerFileAction(new FileAction({ +export const action = new FileAction({ id: 'open-folder', displayName(files: Node[]) { // Only works on single node @@ -43,6 +43,11 @@ registerFileAction(new FileAction({ } const node = nodes[0] + + if (!node.isDavRessource) { + return false + } + return node.type === FileType.Folder && (node.permissions & Permission.READ) !== 0 }, @@ -59,11 +64,10 @@ registerFileAction(new FileAction({ ) return null }, - async execBatch(nodes: Node[], view: Navigation, dir: string) { - return Promise.all(nodes.map(node => this.exec(node, view, dir))) - }, // Main action if enabled, meaning folders only - order: -100, default: true, -})) + order: -100, +}) + +registerFileAction(action) diff --git a/apps/files/src/actions/renameAction.spec.ts b/apps/files/src/actions/renameAction.spec.ts new file mode 100644 index 00000000000..ae2cfcec7eb --- /dev/null +++ b/apps/files/src/actions/renameAction.spec.ts @@ -0,0 +1,111 @@ +/** + * @copyright Copyright (c) 2023 John Molakvoæ <skjnldsv@protonmail.com> + * + * @author John Molakvoæ <skjnldsv@protonmail.com> + * + * @license AGPL-3.0-or-later + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * + */ +import { action } from './renameAction' +import { expect } from '@jest/globals' +import { File, Permission } from '@nextcloud/files' +import { FileAction } from '../services/FileAction' +import * as eventBus from '@nextcloud/event-bus' +import type { Navigation } from '../services/Navigation' + +const view = { + id: 'files', + name: 'Files', +} as Navigation + +describe('Rename action conditions tests', () => { + test('Default values', () => { + expect(action).toBeInstanceOf(FileAction) + expect(action.id).toBe('rename') + expect(action.displayName([], view)).toBe('Rename') + expect(action.iconSvgInline([], view)).toBe('SvgMock') + expect(action.default).toBe(false) + expect(action.order).toBe(10) + }) +}) + +describe('Rename action enabled tests', () => { + test('Enabled for node with UPDATE permission', () => { + const file = new File({ + id: 1, + source: 'https://cloud.domain.com/remote.php/dav/files/admin/foobar.txt', + owner: 'admin', + mime: 'text/plain', + permissions: Permission.UPDATE, + }) + + expect(action.enabled).toBeDefined() + expect(action.enabled!([file], view)).toBe(true) + }) + + test('Disabled for node without UPDATE permission', () => { + const file = new File({ + id: 1, + source: 'https://cloud.domain.com/remote.php/dav/files/admin/foobar.txt', + owner: 'admin', + mime: 'text/plain', + permissions: Permission.READ, + }) + + expect(action.enabled).toBeDefined() + expect(action.enabled!([file], view)).toBe(false) + }) + + test('Disabled if more than one node', () => { + window.OCA = { Files: { Sidebar: {} } } + + const file1 = new File({ + id: 1, + source: 'https://cloud.domain.com/remote.php/dav/files/admin/foo.txt', + owner: 'admin', + mime: 'text/plain', + }) + const file2 = new File({ + id: 1, + source: 'https://cloud.domain.com/remote.php/dav/files/admin/bar.txt', + owner: 'admin', + mime: 'text/plain', + }) + + expect(action.enabled).toBeDefined() + expect(action.enabled!([file1, file2], view)).toBe(false) + }) +}) + +describe('Rename action exec tests', () => { + test('Rename', async () => { + jest.spyOn(eventBus, 'emit') + + const file = new File({ + id: 1, + source: 'https://cloud.domain.com/remote.php/dav/files/admin/foobar.txt', + owner: 'admin', + mime: 'text/plain', + }) + + const exec = await action.exec(file, view, '/') + + // Silent action + expect(exec).toBe(null) + expect(eventBus.emit).toBeCalledTimes(1) + expect(eventBus.emit).toHaveBeenCalledWith('files:node:rename', file) + }) +}) diff --git a/apps/files/src/actions/renameAction.ts b/apps/files/src/actions/renameAction.ts new file mode 100644 index 00000000000..02aaaa6d3b4 --- /dev/null +++ b/apps/files/src/actions/renameAction.ts @@ -0,0 +1,51 @@ +/** + * @copyright Copyright (c) 2023 John Molakvoæ <skjnldsv@protonmail.com> + * + * @author John Molakvoæ <skjnldsv@protonmail.com> + * + * @license AGPL-3.0-or-later + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * + */ +import { Permission, type Node } from '@nextcloud/files' +import { translate as t } from '@nextcloud/l10n' +import PencilSvg from '@mdi/svg/svg/pencil.svg?raw' + +import { emit } from '@nextcloud/event-bus' +import { registerFileAction, FileAction } from '../services/FileAction' + +export const ACTION_DETAILS = 'details' + +export const action = new FileAction({ + id: 'rename', + displayName: () => t('files', 'Rename'), + iconSvgInline: () => PencilSvg, + + enabled: (nodes: Node[]) => { + return nodes.length > 0 && nodes + .map(node => node.permissions) + .every(permission => (permission & Permission.UPDATE) !== 0) + }, + + async exec(node: Node) { + // Renaming is a built-in feature of the files app + emit('files:node:rename', node) + return null + }, + + order: 10, +}) + +registerFileAction(action) diff --git a/apps/files/src/actions/sidebarAction.spec.ts b/apps/files/src/actions/sidebarAction.spec.ts new file mode 100644 index 00000000000..f6594090c53 --- /dev/null +++ b/apps/files/src/actions/sidebarAction.spec.ts @@ -0,0 +1,144 @@ +/** + * @copyright Copyright (c) 2023 John Molakvoæ <skjnldsv@protonmail.com> + * + * @author John Molakvoæ <skjnldsv@protonmail.com> + * + * @license AGPL-3.0-or-later + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * + */ +import { action } from './sidebarAction' +import { expect } from '@jest/globals' +import { File } from '@nextcloud/files' +import { FileAction } from '../services/FileAction' +import type { Navigation } from '../services/Navigation' +import logger from '../logger' + +const view = { + id: 'files', + name: 'Files', +} as Navigation + +describe('Open sidebar action conditions tests', () => { + test('Default values', () => { + expect(action).toBeInstanceOf(FileAction) + expect(action.id).toBe('details') + expect(action.displayName([], view)).toBe('Details') + expect(action.iconSvgInline([], view)).toBe('SvgMock') + expect(action.default).toBe(true) + expect(action.order).toBe(-50) + }) +}) + +describe('Open sidebar action enabled tests', () => { + test('Enabled for ressources within user root folder', () => { + window.OCA = { Files: { Sidebar: {} } } + + const file = new File({ + id: 1, + source: 'https://cloud.domain.com/remote.php/dav/files/admin/foobar.txt', + owner: 'admin', + mime: 'text/plain', + }) + + expect(action.enabled).toBeDefined() + expect(action.enabled!([file], view)).toBe(true) + }) + + test('Disabled if more than one node', () => { + window.OCA = { Files: { Sidebar: {} } } + + const file1 = new File({ + id: 1, + source: 'https://cloud.domain.com/remote.php/dav/files/admin/foo.txt', + owner: 'admin', + mime: 'text/plain', + }) + const file2 = new File({ + id: 1, + source: 'https://cloud.domain.com/remote.php/dav/files/admin/bar.txt', + owner: 'admin', + mime: 'text/plain', + }) + + expect(action.enabled).toBeDefined() + expect(action.enabled!([file1, file2], view)).toBe(false) + }) + + test('Disabled if no Sidebar', () => { + window.OCA = {} + + const file = new File({ + id: 1, + source: 'https://cloud.domain.com/remote.php/dav/files/admin/foobar.txt', + owner: 'admin', + mime: 'text/plain', + }) + + expect(action.enabled).toBeDefined() + expect(action.enabled!([file], view)).toBe(false) + }) + + test('Disabled for non-dav ressources', () => { + window.OCA = { Files: { Sidebar: {} } } + + const file = new File({ + id: 1, + source: 'https://domain.com/documents/admin/foobar.txt', + owner: 'admin', + mime: 'text/plain', + }) + + expect(action.enabled).toBeDefined() + expect(action.enabled!([file], view)).toBe(false) + }) +}) + +describe('Open sidebar action exec tests', () => { + test('Open sidebar', async () => { + const openMock = jest.fn() + window.OCA = { Files: { Sidebar: { open: openMock } } } + + const file = new File({ + id: 1, + source: 'https://cloud.domain.com/remote.php/dav/files/admin/foobar.txt', + owner: 'admin', + mime: 'text/plain', + }) + + const exec = await action.exec(file, view, '/') + // Silent action + expect(exec).toBe(null) + expect(openMock).toBeCalledWith('/foobar.txt') + }) + + test('Open sidebar fails', async () => { + const openMock = jest.fn(() => { throw new Error('Mock error') }) + window.OCA = { Files: { Sidebar: { open: openMock } } } + jest.spyOn(logger, 'error').mockImplementation(() => jest.fn()) + + const file = new File({ + id: 1, + source: 'https://cloud.domain.com/remote.php/dav/files/admin/foobar.txt', + owner: 'admin', + mime: 'text/plain', + }) + + const exec = await action.exec(file, view, '/') + expect(exec).toBe(false) + expect(openMock).toBeCalledTimes(1) + expect(logger.error).toBeCalledTimes(1) + }) +}) diff --git a/apps/files/src/actions/sidebarAction.ts b/apps/files/src/actions/sidebarAction.ts index f56d3a9475f..d0baf611992 100644 --- a/apps/files/src/actions/sidebarAction.ts +++ b/apps/files/src/actions/sidebarAction.ts @@ -23,19 +23,30 @@ import { translate as t } from '@nextcloud/l10n' import InformationSvg from '@mdi/svg/svg/information-variant.svg?raw' import type { Node } from '@nextcloud/files' -import { registerFileAction, FileAction } from '../services/FileAction.ts' +import { registerFileAction, FileAction } from '../services/FileAction' import logger from '../logger.js' export const ACTION_DETAILS = 'details' -registerFileAction(new FileAction({ +export const action = new FileAction({ id: ACTION_DETAILS, displayName: () => t('files', 'Details'), iconSvgInline: () => InformationSvg, // Sidebar currently supports user folder only, /files/USER - enabled: (files: Node[]) => !!window?.OCA?.Files?.Sidebar - && files.some(node => node.root?.startsWith('/files/')), + enabled: (nodes: Node[]) => { + // Only works on single node + if (nodes.length !== 1) { + return false + } + + // Only work if the sidebar is available + if (!window?.OCA?.Files?.Sidebar) { + return false + } + + return nodes[0].root?.startsWith('/files/') ?? false + }, async exec(node: Node) { try { @@ -51,4 +62,7 @@ registerFileAction(new FileAction({ default: true, order: -50, -})) +}) + +registerFileAction(action) + diff --git a/apps/files/src/services/FileAction.ts b/apps/files/src/services/FileAction.ts index 70d6405c804..03cc957e1e5 100644 --- a/apps/files/src/services/FileAction.ts +++ b/apps/files/src/services/FileAction.ts @@ -39,11 +39,11 @@ interface FileActionData { /** Unique ID */ id: string /** Translatable string displayed in the menu */ - displayName: (files: Node[], view) => string + displayName: (files: Node[], view: Navigation) => string /** Svg as inline string. <svg><path fill="..." /></svg> */ - iconSvgInline: (files: Node[], view) => string + iconSvgInline: (files: Node[], view: Navigation) => string /** Condition wether this action is shown or not */ - enabled?: (files: Node[], view) => boolean + enabled?: (files: Node[], view: Navigation) => boolean /** * Function executed on single file action * @returns true if the action was executed, false otherwise @@ -64,12 +64,12 @@ interface FileActionData { /** * If true, the renderInline function will be called */ - inline?: (file: Node, view) => boolean, + inline?: (file: Node, view: Navigation) => boolean, /** * If defined, the returned html element will be * appended before the actions menu. */ - renderInline?: (file: Node, view) => HTMLElement, + renderInline?: (file: Node, view: Navigation) => HTMLElement, } export class FileAction { @@ -110,7 +110,7 @@ export class FileAction { } get default() { - return this._action.default + return this._action.default === true } get inline() { diff --git a/apps/files_external/l10n/ar.js b/apps/files_external/l10n/ar.js index 28624b702f9..1384edfa1a6 100644 --- a/apps/files_external/l10n/ar.js +++ b/apps/files_external/l10n/ar.js @@ -10,56 +10,94 @@ OC.L10N.register( "Error configuring OAuth2" : "خطأ في تكوين OAuth2", "Generate keys" : "توليد مفاتيح", "Error generating key pair" : "خطأ في توليد زوج المفاتيح", + "Type to select user or group." : "أكتب لاختيار مستخدم أو مجموعة", "(Group)" : "(مجموعة)", - "Compatibility with Mac NFD encoding (slow)" : "التوافق مع تشفير Mac NFD (بطيء)", - "Enable encryption" : "تنشيط التعمية", + "Compatibility with Mac NFD encoding (slow)" : "التوافق مع نظام التشفير Mac NFD (بطيء)", + "Enable encryption" : "تمكين التشفير", "Enable previews" : "تمكين المعاينة", - "Enable sharing" : "تمكين بالمشاركة", - "Check for changes" : "التحقق من وجود تغييرات", - "Never" : "أبدا", + "Enable sharing" : "تمكين المشاركة", + "Check for changes" : "التحقّق من وجود تغييرات", + "Never" : "إطلاقاً", "Once every direct access" : "مرة واحدة لكل وصول مباشر", "Read only" : "القراءة فقط", "Disconnect" : "قطع الإتصال", + "Admin defined" : "تمّ رفض المُشرف", + "Automatic status checking is disabled due to the large number of configured storages, click to check status" : "تمّ تعطيل الفحص التلقائي للحالة بسبب العدد الكبير من المخازن المُكوّنة configured storages. H. أُنقر للتحقق من الحالة.", + "Are you sure you want to disconnect this external storage? It will make the storage unavailable in Nextcloud and will lead to a deletion of these files and folders on any sync client that is currently connected but will not delete any files and folders on the external storage itself." : "هل أنت متأكد أنك تريد قطع الاتصال بوحدة التخزين الخارجية هذه؟ ستسبب ذلك في جعل وحدة التخزين هذه غير مُتاحة في Nextcloud، وسيؤدي إلى منع الوصول إلى هذه الملفات والمجلدات عن أي عميل مزامنةٍ مُتصلٍ حاليّاً، و لكنه لن يحذف أي ملفات أو مجلدات على وحدة التخزين الخارجية نفسها.", + "Delete storage?" : "حذف وحدة التخزين؟", "Saved" : "حفظ", "Saving …" : "جاري الحفظ…", "Save" : "حفظ", + "Empty response from the server" : "استجابة فارغة من الخادوم", + "Couldn't access. Please log out and in again to activate this mount point" : "تعذّر الوصول. يُرجى تسجيل الخروج ثم الدخول مرة أخرى لتفعيل نقطة التحميل mount point هذه", + "Couldn't get the information from the remote server: {code} {type}" : "تعذّر الحصول على المعلومات من الخادوم القصي remote server ـ : {code} {type}", + "Couldn't get the list of external mount points: {type}" : "تعذّر الحصول على قائمة بنقاط التحميل الخارجية external mount points ـ: {type}", + "There was an error with message: " : "حدث خطأ في الرسالة: ", "External mount error" : "خطأ في نقطة التثبيت (Mount point) الخارجي", + "external-storage" : "وحدة تخزين خارجية external-storage", + "Couldn't fetch list of Windows network drive mount points: Empty response from server" : "تعذر جلب قائمة \"نقاط تحميل محرك أقراص شبكة وندوز\" Windows network drive mount points: استجابة فارغة من الخادوم", "Please enter the credentials for the {mount} mount" : "الرجاء إدخال معلومات تسجيل الدخول لـ {mount} نقطة التثبيت", "Username" : "إسم المستخدم", "Password" : "كلمة السر", "Credentials saved" : "تم حفظ بيانات الدخول", "Credentials saving failed" : "فشل حفظ معلومات تسجيل الدخول", "Credentials required" : "يتطلب بيانات الدخول", + "Forbidden to manage local mounts" : "ممنوع من إدارة الحوامل المحلّيّة local mounts", + "Storage with ID \"%d\" not found" : "تعذّر العثور على وحدة التخزين ذات المُعرِّف \"%d\" ", + "Invalid backend or authentication mechanism class" : "فئة آلية المصادقة authentication mechanism class أو الخلفية backend غير صالحة", "Invalid mount point" : "نقطة تثبيت (Mount point) غير صالحة", "Objectstore forbidden" : "مخزن الكائنات Objectstore ممنوع", "Invalid storage backend \"%s\"" : "الواجهة الخلفية للتخزين (Storage Backend) غير صالحة \"%s\"", + "Not permitted to use backend \"%s\"" : "غير مُخوّل باستخدام الخلفية backend ـ \"%s\"", "Not permitted to use authentication mechanism \"%s\"" : "غير مسموح باستخدام آلية المصادقة \"%s\"", "Unsatisfied backend parameters" : "معاملات الواجهة الخلفية (backend) غير مكتملة", "Unsatisfied authentication mechanism parameters" : "معاملات آلية المصادقة غير مكتملة", "Insufficient data: %s" : "البيانات غير كافية: %s", "%s" : "%s", + "Storage with ID \"%d\" is not user editable" : "وحدة التخزين ذات المُعرِّف \"%d\" لا يمكن تعديلها من قِبل المستخدم", + "Access key" : "مفتاح المرور", + "Secret key" : "المفتاح السّرّي", "Builtin" : "مضمّن", "None" : "لا شيء", + "OAuth1" : "OAuth1", "App key" : "مفتاح التطبيق", "App secret" : "التطبيق السري", + "OAuth2" : "OAuth2", "Client ID" : "معرف العميل", "Client secret" : "كلمة سر العميل", + "OpenStack v2" : "OpenStack v2", "Tenant name" : "اسم المستأجر", "Identity endpoint URL" : "عنوان URL للوحدة الطرفية للهوية Identity endpoint", + "OpenStack v3" : "OpenStack v3", "Domain" : "النطاق", "Rackspace" : "Rackspace", + "API key" : "مفتاح واجهة برمجة التطبيقات API key", + "Global credentials" : "حيثيّات التعريف الشاملة Global credentials", + "Log-in credentials, save in database" : "حيثيّات الدخول؛ تُحفظ في قاعدة البيانات", "Username and password" : "اسم المستخدم والكلمة السرية", "Log-in credentials, save in session" : "معلومات تسجيل الدخول، احفظها في الجلسة", + "Global credentials, user entered" : "حيثيّات التعريف الشاملة Global credentials، يُدخِلُها المستخدم", "User entered, store in database" : "المستخدم مدخل، تخزين في قاعدة البيانات", + "RSA public key" : "مفتاح RSA العمومي", "Public key" : "المفتاح العمومي", + "RSA private key" : "مفتاح RSA الخصوصي", + "Private key" : "مفتاح خصوصي", + "Kerberos default realm, defaults to \"WORKGROUP\"" : "المجال الافتراضي لـ\"كيربيروس\" Kerberos default realm، يتمّ تعيينه افتراضيّاً على أساس \"WORKGROUP\"", + "Kerberos ticket Apache mode" : "تذكرة \"كيربيروس\" في حالة \"الأباتشي\" Kerberos ticket Apache mode", + "Kerberos ticket" : "تذكرة \"كيربيروس\" Kerberos ticket", "Amazon S3" : "أمازون S3", "Bucket" : "الحزمة", "Hostname" : "إسم الإستضافة", "Port" : "المنفذ", "Region" : "المنطقة", + "Storage Class" : "فئة وحدة التخزين", "Enable SSL" : "تمكين SSL", + "Enable Path Style" : "تمكين نمط المسار Path Style", + "Legacy (v2) authentication" : "المصادقة القديمة (الإصدار 2) Legacy authentication", "WebDAV" : "WebDAV", "URL" : "عنوان الموقع", + "Remote subfolder" : "مُجلّد فرعي قصي remote sunfolder", + "Secure https://" : "آمن https://", "FTP" : "FTP", "Host" : "المضيف", "Secure ftps://" : "بروتوكول نقل الملفات الآمن //:ftps", @@ -68,20 +106,39 @@ OC.L10N.register( "Nextcloud" : "نيكست كلاود", "SFTP" : "SFTP", "Root" : "الجذر", + "SFTP with secret key login" : "STFP مع الدخول بمفتاح سرّي", + "SMB/CIFS" : "SMB/CIFS", "Share" : "شارك", "Show hidden files" : "عرض الملفات المخفية", + "Verify ACL access when listing files" : "تأكد من قائمة صلاحيات الوصول ACL عند سرد الملفات", + "Check the ACL's of each file or folder inside a directory to filter out items where the user has no read permissions, comes with a performance penalty" : "التحقّق من قوائم صلاحيات الوصول ACL لكل ملف أو مجلد داخل دليل لتصفية العناصر التي لا يمتلك المستخدم أذونات لقراءتها. مع العلم أن هذا يؤثر على أداء النظام.", "Timeout" : "انتهى الوقت", + "SMB/CIFS using OC login" : "SMB/CIFS باستخدام دخول نكست كلاود", + "Username as share" : "اسم المستخدم كمُشاركةٍ", "OpenStack Object Storage" : "كائنات التخزين لـ OpenStack", "Service name" : "اسم الخدمة", + "Request timeout (seconds)" : "مُهلة تنفيذ الطلب (بالثواني)", + "The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "لم يتم تمكين أو تنصيب دعم cURL في PHP. لذا، سيتعذّر رفع نقطة التحميل mounting ـ %s. رجاءً، أطلب من مشرفك تنصيبها.", + "The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "لم يتم تمكين أو تنصيب دعم FTP في PH. لذا، سيتعذّر رفع نقطة التحميل mounting ـ %s . رجاءً، أطلب من مشرفك تنصيبها.", + "\"%1$s\" is not installed. Mounting of %2$s is not possible. Please ask your system administrator to install it." : "\"%1$s\" لم يتمّ تنصيبها. لذا، سيتعذّر رفع نقطة التحميل mounting ـ %2$s. رجاءً، أطلب من مشرفك تنصيبها.", + "External storage support" : "دعم وحدات التخزين الخارجية", + "Adds basic external storage support" : "يُضيف دعماً أساسيّاً للتخزين الخارجي", + "This application enables administrators to configure connections to external storage providers, such as FTP servers, S3 or SWIFT object stores, other Nextcloud servers, WebDAV servers, and more. Administrators can choose which types of storage to enable and can mount these storage locations for a user, a group, or the entire system. Users will see a new folder appear in their root Nextcloud directory, which they can access and use like any other Nextcloud folder. External storage also allows users to share files stored in these external locations. In these cases, the credentials for the owner of the file are used when the recipient requests the file from external storage, thereby ensuring that the recipient can access the shared file.\n\nExternal storage can be configured using the GUI or at the command line. This second option provides the advanced user with more flexibility for configuring bulk external storage mounts and setting mount priorities. More information is available in the external storage GUI documentation and the external storage Configuration File documentation." : "يُمكّن هذا التطبيق المشرفين من تكوين الاتصالات بمُوفّري التخزين الخارجي؛ مثل خوادم FTP، ومخازن عناصر S3 أو SWIFT، و خوادم Nextcloud الأخرى، و خوادم WebDAV و غيرها. يمكن للمشرفين اختيار أنواع التخزين التي يرغبون في تمكينها، ويمكنهم تحميل مواقع التخزين هذه لمستخدمٍ أو لمجموعة مستخدمين أو للنظام بأكمله. سيرى المستخدمون مُجلّدًا جديدًا يظهر في دليل Nextcloud الجذر الخاص بهم والذي يمكنهم الوصول إليه واستخدامه مثل أي مجلد آخر من Nextcloud. \nتتيح وحدة التخزين الخارجية أيضًا للمستخدمين مشاركة الملفات المُخزّنة في هذه المواقع الخارجية. في هذه الحالات، يتم استخدام حيثيات الدخول لمالك الملف عندما يطلب المستلم الملف من وحدة التخزين الخارجية، ممّا يضمن إمكانية وصول المستلم إلى الملف المشترك. \nيمكن تكوين التخزين الخارجي عن طريق واجهة المستخدم الرسومية أو عن طريق سطر الأوامر. يوفر الخيار الثاني للمستخدم المتقدم مزيدًا من المرونة لتكوين حوامل التخزين الخارجية الكبيرة وتحديد أولويات التحميل. \nيتوفر المزيد من المعلومات في وثائق واجهة المستخدم الرسومية للتخزين الخارجي ووثائق ملف تكوين وحدة التخزين الخارجية.", + "No external storage configured or you don't have the permission to configure them" : "لم يتم تكوين أي وحدة تخزين خارجية أو أنك لا تملك الصلاحية لتكوينها", "Name" : "اسم", "Storage type" : "نوع التخزين", "Scope" : "النطاق", "Open documentation" : "فتح الدليل", + "External storage enables you to mount external storage services and devices as secondary Nextcloud storage devices. You may also allow users to mount their own external storage services." : "تتيح لك وحدة التخزين الخارجية تحميل خدمات وأجهزة التخزين الخارجية كأجهزة تخزين ثانوية لـ Nextcloud. يمكنك أيضًا السماح للمستخدمين بتحميل خدمات التخزين الخارجية الخاصة بهم.", "Folder name" : "اسم المجلد", "Authentication" : "المصادقة", "Configuration" : "إعداد", "Available for" : "متاح لـ ", + "Click to recheck the configuration" : "أنقر لإعادة فحص التكوين", "Add storage" : "أضف تخزين", - "Advanced settings" : "الإعدادات المتقدمة" + "All users" : "كُلّ المستخدمين", + "Advanced settings" : "الإعدادات المتقدمة", + "Allow users to mount external storage" : "السماح للمستخدمين بتصعيد mount وحدات تخزين خارجية", + "Global credentials can be used to authenticate with multiple external storages that have the same credentials." : "حيثيّات الدخول الشاملة global credentials يُمكن استخدامها للتحقق من عدة وحدات تخزين خارجية لها نفس الحيثيّات." }, "nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;"); diff --git a/apps/files_external/l10n/ar.json b/apps/files_external/l10n/ar.json index a7c9c10b469..c6551705c91 100644 --- a/apps/files_external/l10n/ar.json +++ b/apps/files_external/l10n/ar.json @@ -8,56 +8,94 @@ "Error configuring OAuth2" : "خطأ في تكوين OAuth2", "Generate keys" : "توليد مفاتيح", "Error generating key pair" : "خطأ في توليد زوج المفاتيح", + "Type to select user or group." : "أكتب لاختيار مستخدم أو مجموعة", "(Group)" : "(مجموعة)", - "Compatibility with Mac NFD encoding (slow)" : "التوافق مع تشفير Mac NFD (بطيء)", - "Enable encryption" : "تنشيط التعمية", + "Compatibility with Mac NFD encoding (slow)" : "التوافق مع نظام التشفير Mac NFD (بطيء)", + "Enable encryption" : "تمكين التشفير", "Enable previews" : "تمكين المعاينة", - "Enable sharing" : "تمكين بالمشاركة", - "Check for changes" : "التحقق من وجود تغييرات", - "Never" : "أبدا", + "Enable sharing" : "تمكين المشاركة", + "Check for changes" : "التحقّق من وجود تغييرات", + "Never" : "إطلاقاً", "Once every direct access" : "مرة واحدة لكل وصول مباشر", "Read only" : "القراءة فقط", "Disconnect" : "قطع الإتصال", + "Admin defined" : "تمّ رفض المُشرف", + "Automatic status checking is disabled due to the large number of configured storages, click to check status" : "تمّ تعطيل الفحص التلقائي للحالة بسبب العدد الكبير من المخازن المُكوّنة configured storages. H. أُنقر للتحقق من الحالة.", + "Are you sure you want to disconnect this external storage? It will make the storage unavailable in Nextcloud and will lead to a deletion of these files and folders on any sync client that is currently connected but will not delete any files and folders on the external storage itself." : "هل أنت متأكد أنك تريد قطع الاتصال بوحدة التخزين الخارجية هذه؟ ستسبب ذلك في جعل وحدة التخزين هذه غير مُتاحة في Nextcloud، وسيؤدي إلى منع الوصول إلى هذه الملفات والمجلدات عن أي عميل مزامنةٍ مُتصلٍ حاليّاً، و لكنه لن يحذف أي ملفات أو مجلدات على وحدة التخزين الخارجية نفسها.", + "Delete storage?" : "حذف وحدة التخزين؟", "Saved" : "حفظ", "Saving …" : "جاري الحفظ…", "Save" : "حفظ", + "Empty response from the server" : "استجابة فارغة من الخادوم", + "Couldn't access. Please log out and in again to activate this mount point" : "تعذّر الوصول. يُرجى تسجيل الخروج ثم الدخول مرة أخرى لتفعيل نقطة التحميل mount point هذه", + "Couldn't get the information from the remote server: {code} {type}" : "تعذّر الحصول على المعلومات من الخادوم القصي remote server ـ : {code} {type}", + "Couldn't get the list of external mount points: {type}" : "تعذّر الحصول على قائمة بنقاط التحميل الخارجية external mount points ـ: {type}", + "There was an error with message: " : "حدث خطأ في الرسالة: ", "External mount error" : "خطأ في نقطة التثبيت (Mount point) الخارجي", + "external-storage" : "وحدة تخزين خارجية external-storage", + "Couldn't fetch list of Windows network drive mount points: Empty response from server" : "تعذر جلب قائمة \"نقاط تحميل محرك أقراص شبكة وندوز\" Windows network drive mount points: استجابة فارغة من الخادوم", "Please enter the credentials for the {mount} mount" : "الرجاء إدخال معلومات تسجيل الدخول لـ {mount} نقطة التثبيت", "Username" : "إسم المستخدم", "Password" : "كلمة السر", "Credentials saved" : "تم حفظ بيانات الدخول", "Credentials saving failed" : "فشل حفظ معلومات تسجيل الدخول", "Credentials required" : "يتطلب بيانات الدخول", + "Forbidden to manage local mounts" : "ممنوع من إدارة الحوامل المحلّيّة local mounts", + "Storage with ID \"%d\" not found" : "تعذّر العثور على وحدة التخزين ذات المُعرِّف \"%d\" ", + "Invalid backend or authentication mechanism class" : "فئة آلية المصادقة authentication mechanism class أو الخلفية backend غير صالحة", "Invalid mount point" : "نقطة تثبيت (Mount point) غير صالحة", "Objectstore forbidden" : "مخزن الكائنات Objectstore ممنوع", "Invalid storage backend \"%s\"" : "الواجهة الخلفية للتخزين (Storage Backend) غير صالحة \"%s\"", + "Not permitted to use backend \"%s\"" : "غير مُخوّل باستخدام الخلفية backend ـ \"%s\"", "Not permitted to use authentication mechanism \"%s\"" : "غير مسموح باستخدام آلية المصادقة \"%s\"", "Unsatisfied backend parameters" : "معاملات الواجهة الخلفية (backend) غير مكتملة", "Unsatisfied authentication mechanism parameters" : "معاملات آلية المصادقة غير مكتملة", "Insufficient data: %s" : "البيانات غير كافية: %s", "%s" : "%s", + "Storage with ID \"%d\" is not user editable" : "وحدة التخزين ذات المُعرِّف \"%d\" لا يمكن تعديلها من قِبل المستخدم", + "Access key" : "مفتاح المرور", + "Secret key" : "المفتاح السّرّي", "Builtin" : "مضمّن", "None" : "لا شيء", + "OAuth1" : "OAuth1", "App key" : "مفتاح التطبيق", "App secret" : "التطبيق السري", + "OAuth2" : "OAuth2", "Client ID" : "معرف العميل", "Client secret" : "كلمة سر العميل", + "OpenStack v2" : "OpenStack v2", "Tenant name" : "اسم المستأجر", "Identity endpoint URL" : "عنوان URL للوحدة الطرفية للهوية Identity endpoint", + "OpenStack v3" : "OpenStack v3", "Domain" : "النطاق", "Rackspace" : "Rackspace", + "API key" : "مفتاح واجهة برمجة التطبيقات API key", + "Global credentials" : "حيثيّات التعريف الشاملة Global credentials", + "Log-in credentials, save in database" : "حيثيّات الدخول؛ تُحفظ في قاعدة البيانات", "Username and password" : "اسم المستخدم والكلمة السرية", "Log-in credentials, save in session" : "معلومات تسجيل الدخول، احفظها في الجلسة", + "Global credentials, user entered" : "حيثيّات التعريف الشاملة Global credentials، يُدخِلُها المستخدم", "User entered, store in database" : "المستخدم مدخل، تخزين في قاعدة البيانات", + "RSA public key" : "مفتاح RSA العمومي", "Public key" : "المفتاح العمومي", + "RSA private key" : "مفتاح RSA الخصوصي", + "Private key" : "مفتاح خصوصي", + "Kerberos default realm, defaults to \"WORKGROUP\"" : "المجال الافتراضي لـ\"كيربيروس\" Kerberos default realm، يتمّ تعيينه افتراضيّاً على أساس \"WORKGROUP\"", + "Kerberos ticket Apache mode" : "تذكرة \"كيربيروس\" في حالة \"الأباتشي\" Kerberos ticket Apache mode", + "Kerberos ticket" : "تذكرة \"كيربيروس\" Kerberos ticket", "Amazon S3" : "أمازون S3", "Bucket" : "الحزمة", "Hostname" : "إسم الإستضافة", "Port" : "المنفذ", "Region" : "المنطقة", + "Storage Class" : "فئة وحدة التخزين", "Enable SSL" : "تمكين SSL", + "Enable Path Style" : "تمكين نمط المسار Path Style", + "Legacy (v2) authentication" : "المصادقة القديمة (الإصدار 2) Legacy authentication", "WebDAV" : "WebDAV", "URL" : "عنوان الموقع", + "Remote subfolder" : "مُجلّد فرعي قصي remote sunfolder", + "Secure https://" : "آمن https://", "FTP" : "FTP", "Host" : "المضيف", "Secure ftps://" : "بروتوكول نقل الملفات الآمن //:ftps", @@ -66,20 +104,39 @@ "Nextcloud" : "نيكست كلاود", "SFTP" : "SFTP", "Root" : "الجذر", + "SFTP with secret key login" : "STFP مع الدخول بمفتاح سرّي", + "SMB/CIFS" : "SMB/CIFS", "Share" : "شارك", "Show hidden files" : "عرض الملفات المخفية", + "Verify ACL access when listing files" : "تأكد من قائمة صلاحيات الوصول ACL عند سرد الملفات", + "Check the ACL's of each file or folder inside a directory to filter out items where the user has no read permissions, comes with a performance penalty" : "التحقّق من قوائم صلاحيات الوصول ACL لكل ملف أو مجلد داخل دليل لتصفية العناصر التي لا يمتلك المستخدم أذونات لقراءتها. مع العلم أن هذا يؤثر على أداء النظام.", "Timeout" : "انتهى الوقت", + "SMB/CIFS using OC login" : "SMB/CIFS باستخدام دخول نكست كلاود", + "Username as share" : "اسم المستخدم كمُشاركةٍ", "OpenStack Object Storage" : "كائنات التخزين لـ OpenStack", "Service name" : "اسم الخدمة", + "Request timeout (seconds)" : "مُهلة تنفيذ الطلب (بالثواني)", + "The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "لم يتم تمكين أو تنصيب دعم cURL في PHP. لذا، سيتعذّر رفع نقطة التحميل mounting ـ %s. رجاءً، أطلب من مشرفك تنصيبها.", + "The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "لم يتم تمكين أو تنصيب دعم FTP في PH. لذا، سيتعذّر رفع نقطة التحميل mounting ـ %s . رجاءً، أطلب من مشرفك تنصيبها.", + "\"%1$s\" is not installed. Mounting of %2$s is not possible. Please ask your system administrator to install it." : "\"%1$s\" لم يتمّ تنصيبها. لذا، سيتعذّر رفع نقطة التحميل mounting ـ %2$s. رجاءً، أطلب من مشرفك تنصيبها.", + "External storage support" : "دعم وحدات التخزين الخارجية", + "Adds basic external storage support" : "يُضيف دعماً أساسيّاً للتخزين الخارجي", + "This application enables administrators to configure connections to external storage providers, such as FTP servers, S3 or SWIFT object stores, other Nextcloud servers, WebDAV servers, and more. Administrators can choose which types of storage to enable and can mount these storage locations for a user, a group, or the entire system. Users will see a new folder appear in their root Nextcloud directory, which they can access and use like any other Nextcloud folder. External storage also allows users to share files stored in these external locations. In these cases, the credentials for the owner of the file are used when the recipient requests the file from external storage, thereby ensuring that the recipient can access the shared file.\n\nExternal storage can be configured using the GUI or at the command line. This second option provides the advanced user with more flexibility for configuring bulk external storage mounts and setting mount priorities. More information is available in the external storage GUI documentation and the external storage Configuration File documentation." : "يُمكّن هذا التطبيق المشرفين من تكوين الاتصالات بمُوفّري التخزين الخارجي؛ مثل خوادم FTP، ومخازن عناصر S3 أو SWIFT، و خوادم Nextcloud الأخرى، و خوادم WebDAV و غيرها. يمكن للمشرفين اختيار أنواع التخزين التي يرغبون في تمكينها، ويمكنهم تحميل مواقع التخزين هذه لمستخدمٍ أو لمجموعة مستخدمين أو للنظام بأكمله. سيرى المستخدمون مُجلّدًا جديدًا يظهر في دليل Nextcloud الجذر الخاص بهم والذي يمكنهم الوصول إليه واستخدامه مثل أي مجلد آخر من Nextcloud. \nتتيح وحدة التخزين الخارجية أيضًا للمستخدمين مشاركة الملفات المُخزّنة في هذه المواقع الخارجية. في هذه الحالات، يتم استخدام حيثيات الدخول لمالك الملف عندما يطلب المستلم الملف من وحدة التخزين الخارجية، ممّا يضمن إمكانية وصول المستلم إلى الملف المشترك. \nيمكن تكوين التخزين الخارجي عن طريق واجهة المستخدم الرسومية أو عن طريق سطر الأوامر. يوفر الخيار الثاني للمستخدم المتقدم مزيدًا من المرونة لتكوين حوامل التخزين الخارجية الكبيرة وتحديد أولويات التحميل. \nيتوفر المزيد من المعلومات في وثائق واجهة المستخدم الرسومية للتخزين الخارجي ووثائق ملف تكوين وحدة التخزين الخارجية.", + "No external storage configured or you don't have the permission to configure them" : "لم يتم تكوين أي وحدة تخزين خارجية أو أنك لا تملك الصلاحية لتكوينها", "Name" : "اسم", "Storage type" : "نوع التخزين", "Scope" : "النطاق", "Open documentation" : "فتح الدليل", + "External storage enables you to mount external storage services and devices as secondary Nextcloud storage devices. You may also allow users to mount their own external storage services." : "تتيح لك وحدة التخزين الخارجية تحميل خدمات وأجهزة التخزين الخارجية كأجهزة تخزين ثانوية لـ Nextcloud. يمكنك أيضًا السماح للمستخدمين بتحميل خدمات التخزين الخارجية الخاصة بهم.", "Folder name" : "اسم المجلد", "Authentication" : "المصادقة", "Configuration" : "إعداد", "Available for" : "متاح لـ ", + "Click to recheck the configuration" : "أنقر لإعادة فحص التكوين", "Add storage" : "أضف تخزين", - "Advanced settings" : "الإعدادات المتقدمة" + "All users" : "كُلّ المستخدمين", + "Advanced settings" : "الإعدادات المتقدمة", + "Allow users to mount external storage" : "السماح للمستخدمين بتصعيد mount وحدات تخزين خارجية", + "Global credentials can be used to authenticate with multiple external storages that have the same credentials." : "حيثيّات الدخول الشاملة global credentials يُمكن استخدامها للتحقق من عدة وحدات تخزين خارجية لها نفس الحيثيّات." },"pluralForm" :"nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;" }
\ No newline at end of file diff --git a/apps/files_external/l10n/et_EE.js b/apps/files_external/l10n/et_EE.js index 7722ff429f2..15cdc99dcd2 100644 --- a/apps/files_external/l10n/et_EE.js +++ b/apps/files_external/l10n/et_EE.js @@ -19,6 +19,7 @@ OC.L10N.register( "Disconnect" : "Ühenda lahti", "Admin defined" : "Admini poolt määratud", "Saved" : "Salvestatud", + "Saving …" : "Salvestamine …", "Save" : "Salvesta", "Empty response from the server" : "Tühi vastus serverilt", "Couldn't get the list of external mount points: {type}" : "Välise ühenduspunkti hankimine ebaõnnestus: {type}", diff --git a/apps/files_external/l10n/et_EE.json b/apps/files_external/l10n/et_EE.json index 29688917b65..00e39aa1e05 100644 --- a/apps/files_external/l10n/et_EE.json +++ b/apps/files_external/l10n/et_EE.json @@ -17,6 +17,7 @@ "Disconnect" : "Ühenda lahti", "Admin defined" : "Admini poolt määratud", "Saved" : "Salvestatud", + "Saving …" : "Salvestamine …", "Save" : "Salvesta", "Empty response from the server" : "Tühi vastus serverilt", "Couldn't get the list of external mount points: {type}" : "Välise ühenduspunkti hankimine ebaõnnestus: {type}", diff --git a/apps/files_external/l10n/gl.js b/apps/files_external/l10n/gl.js index e26c708be21..e2af8b3aa6c 100644 --- a/apps/files_external/l10n/gl.js +++ b/apps/files_external/l10n/gl.js @@ -6,10 +6,10 @@ OC.L10N.register( "System" : "Sistema", "Grant access" : "Permitir o acceso", "Error configuring OAuth1" : "Produciuse un erro ao configurar OAuth1", - "Please provide a valid app key and secret." : "Forneza unha clave de aplicación e a clave secreta.", + "Please provide a valid app key and secret." : "Forneza unha chave de aplicación e o segredo", "Error configuring OAuth2" : "Produciuse un erro ao configurar OAuth2", - "Generate keys" : "Xerar claves", - "Error generating key pair" : "Produciuse un erro ao xerar o par de clave", + "Generate keys" : "Xerar chaves", + "Error generating key pair" : "Produciuse un erro ao xerar o par de chaves", "Type to select user or group." : "Escriba para seleccionar usuario ou grupo.", "(Group)" : "(grupo)", "Compatibility with Mac NFD encoding (slow)" : "Compatibilidade coa codificación Mac MFD (lenta)", @@ -22,8 +22,8 @@ OC.L10N.register( "Read only" : "Só lectura", "Disconnect" : "Desconectar", "Admin defined" : "Definido polo administrador", - "Automatic status checking is disabled due to the large number of configured storages, click to check status" : "A comprobación automática do estado está desactivada debido á gran cantidade de almacenamentos configurados. Fai clic para comprobar o estado", - "Are you sure you want to disconnect this external storage? It will make the storage unavailable in Nextcloud and will lead to a deletion of these files and folders on any sync client that is currently connected but will not delete any files and folders on the external storage itself." : "Confirma que quere desconectar este almacenamento externo? Fará que o almacenamento non estea dispoñíbel en Nextcloud e provocará a eliminación destes ficheiros e cartafoles en calquera cliente de sincronización que estea conectado actualmente, mais non eliminará ningún ficheiro e cartafol do propio almacenamento externo.", + "Automatic status checking is disabled due to the large number of configured storages, click to check status" : "A comprobación automática do estado está desactivada por mor da gran cantidade de almacenamentos configurados. Prema para comprobar o estado", + "Are you sure you want to disconnect this external storage? It will make the storage unavailable in Nextcloud and will lead to a deletion of these files and folders on any sync client that is currently connected but will not delete any files and folders on the external storage itself." : "Confirma que quere desconectar este almacenamento externo? Isto fará que o almacenamento non estea dispoñíbel en Nextcloud e provocará a eliminación destes ficheiros e cartafoles en calquera cliente de sincronización que estea conectado actualmente, mais non eliminará ningún ficheiro e cartafol do propio almacenamento externo.", "Delete storage?" : "Eliminar o almacenamento?", "Saved" : "Gardado", "Saving …" : "Gardando…", @@ -55,12 +55,12 @@ OC.L10N.register( "Insufficient data: %s" : "Faltan datos: %s", "%s" : "%s", "Storage with ID \"%d\" is not user editable" : "O almacenamento co ID «%d» non pode ser editado polo usuario", - "Access key" : "Clave de acceso", - "Secret key" : "Clave secreta", + "Access key" : "Chave de acceso", + "Secret key" : "Chave secreta", "Builtin" : "Integrado", "None" : "Ningún", "OAuth1" : "OAuth1", - "App key" : "Clave da aplicación", + "App key" : "Chave da aplicación", "App secret" : "Segredo da aplicación", "OAuth2" : "OAuth2", "Client ID" : "ID do cliente", @@ -71,29 +71,29 @@ OC.L10N.register( "OpenStack v3" : "OpenStack v3", "Domain" : "Dominio", "Rackspace" : "Espazo no estante", - "API key" : "Clave da API", + "API key" : "Chave da API", "Global credentials" : "Credenciais globais", "Log-in credentials, save in database" : "Credenciais de acceso, gardar na base de datos", "Username and password" : "Nome de usuario e contrasinal", "Log-in credentials, save in session" : "Credenciais de acceso, gardar na sesión", "Global credentials, user entered" : "Credenciais globais, introducidas polo usuario", "User entered, store in database" : "Usuario que accedeu, almacenar na base de datos", - "RSA public key" : "Clave RSA pública", - "Public key" : "Clave pública", - "RSA private key" : "Clave RSA privada", - "Private key" : "Clave privada", - "Kerberos default realm, defaults to \"WORKGROUP\"" : "Dominio predeterminado de Kerberos, o valor predeterminado é \"WORKGROUP\"", - "Kerberos ticket Apache mode" : "Modo Apache de ticket Kerberos", + "RSA public key" : "Chave RSA pública", + "Public key" : "Chave pública", + "RSA private key" : "Chave RSA privada", + "Private key" : "Chave privada", + "Kerberos default realm, defaults to \"WORKGROUP\"" : "Dominio predeterminado de Kerberos, o valor predeterminado é «WORKGROUP»", + "Kerberos ticket Apache mode" : "Billete Kerberos modo Apache", "Kerberos ticket" : "Billete Kerberos", "Amazon S3" : "Amazon S3", "Bucket" : "Bucket", "Hostname" : "Nome de máquina", "Port" : "Porto", "Region" : "Rexión", - "Storage Class" : "Clase de Almacenamento", + "Storage Class" : "Clase de almacenamento", "Enable SSL" : "Activar SSL", "Enable Path Style" : "Activar o estilo de ruta", - "Legacy (v2) authentication" : "Autenticación (v2) herdada\n", + "Legacy (v2) authentication" : "Autenticación (v2) estilo antigo", "WebDAV" : "WebDAV", "URL" : "URL", "Remote subfolder" : "Subcartafol remoto", @@ -106,14 +106,14 @@ OC.L10N.register( "Nextcloud" : "Nextcloud", "SFTP" : "SFTP", "Root" : "Root (raíz)", - "SFTP with secret key login" : "SFTP con clave secreta de acceso", + "SFTP with secret key login" : "SFTP con chave secreta de acceso", "SMB/CIFS" : "SMB/CIFS", "Share" : "Compartir", "Show hidden files" : "Amosar os ficheiros agochados", "Verify ACL access when listing files" : "Verificar a lista de control de acceso (ACL) ao listar ficheiros", "Check the ACL's of each file or folder inside a directory to filter out items where the user has no read permissions, comes with a performance penalty" : "Comprobar as listas de control de acceso (ACL) de cada ficheiro ou cartafol dentro dun directorio para filtrar os elementos onde o usuario non ten permisos de lectura, ten unha penalización de rendemento.", "Timeout" : "Límite de tempo", - "SMB/CIFS using OC login" : "SMB/CIFS usando inicio de sesión OC", + "SMB/CIFS using OC login" : "SMB/CIFS usando acceso OC", "Username as share" : "Nome de usuario como compartición", "OpenStack Object Storage" : "OpenStack Object Storage", "Service name" : "Nome do servicio", @@ -122,19 +122,19 @@ OC.L10N.register( "The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "A compatibilidade de FTP en PHP non está activada, ou non está instalado. Non é posíbel a montaxe de %s. Consulte co administrador do sistema como instalalo.", "\"%1$s\" is not installed. Mounting of %2$s is not possible. Please ask your system administrator to install it." : "«%1$s» non está instalado. Non é posíbel a montaxe de %2$s. Consulte co administrador do sistema como instalalo.", "External storage support" : "Compatibilidade de almacenamento externo", - "Adds basic external storage support" : "Engade compatibilidade básica de almacenamento externo\n", - "This application enables administrators to configure connections to external storage providers, such as FTP servers, S3 or SWIFT object stores, other Nextcloud servers, WebDAV servers, and more. Administrators can choose which types of storage to enable and can mount these storage locations for a user, a group, or the entire system. Users will see a new folder appear in their root Nextcloud directory, which they can access and use like any other Nextcloud folder. External storage also allows users to share files stored in these external locations. In these cases, the credentials for the owner of the file are used when the recipient requests the file from external storage, thereby ensuring that the recipient can access the shared file.\n\nExternal storage can be configured using the GUI or at the command line. This second option provides the advanced user with more flexibility for configuring bulk external storage mounts and setting mount priorities. More information is available in the external storage GUI documentation and the external storage Configuration File documentation." : "Esta aplicación permítelle aos administradores configurar conexións a provedores externos de almacenamento, como servidores FTP, almacenamentos de obxectos S3 ou SWIFT, outros servidores Nextcloud, servidores WebDAV e máis. Os administradores poden escoller que tipos de almacenamento activar e poden montar estas localizacións de almacenamento para un usuario, un grupo ou o sistema enteiro. Os usuarios verán aparecer un novo cartafol no seu directorio raíz do Nextcloud, ao que poden acceder e que poden usar como calquera outro cartafol. O almacenamento externo tamén lle permite aos usuarios compartir os ficheiros almacenados nestas localizacións externas. Nestes casos, úsanse as credenciais para o dono dos ficheiros cando o receptor solicita o ficheiro do almacenamento externo, asegurando así que o receptor poida acceder ao ficheiro compartido.\n\nO almacenamento externo pódese configurar usando a IGU ou coa liña de ordes. A segunda opción fornece ao usuario avanzado máis flexibilidade para configurar montaxes de almacenamento externos en bloque e para configurar prioridades de montaxe. Ten dispoñíbel máis información na documentación da IGU do almacenamento externo e na documentación do ficheiro de configuración do almacenamento externo.", - "No external storage configured or you don't have the permission to configure them" : "No foi configurado ningún almacenamento externo ou non ten permiso para configuralos\n", + "Adds basic external storage support" : "Engade compatibilidade básica de almacenamento externo", + "This application enables administrators to configure connections to external storage providers, such as FTP servers, S3 or SWIFT object stores, other Nextcloud servers, WebDAV servers, and more. Administrators can choose which types of storage to enable and can mount these storage locations for a user, a group, or the entire system. Users will see a new folder appear in their root Nextcloud directory, which they can access and use like any other Nextcloud folder. External storage also allows users to share files stored in these external locations. In these cases, the credentials for the owner of the file are used when the recipient requests the file from external storage, thereby ensuring that the recipient can access the shared file.\n\nExternal storage can be configured using the GUI or at the command line. This second option provides the advanced user with more flexibility for configuring bulk external storage mounts and setting mount priorities. More information is available in the external storage GUI documentation and the external storage Configuration File documentation." : "Esta aplicación permítelle aos administradores configurar conexións a provedores externos de almacenamento, como servidores FTP, almacenamentos de obxectos S3 ou SWIFT, outros servidores Nextcloud, servidores WebDAV e máis. Os administradores poden escoller que tipos de almacenamento activar e poden montar estas localizacións de almacenamento para un usuario, un grupo ou o sistema enteiro. Os usuarios verán aparecer un novo cartafol no seu directorio raíz de Nextcloud, ao que poden acceder e que poden usar como calquera outro cartafol. O almacenamento externo tamén lle permite aos usuarios compartir os ficheiros almacenados nestas localizacións externas. Nestes casos, úsanse as credenciais para o dono dos ficheiros cando o receptor solicita o ficheiro do almacenamento externo, asegurando así que o receptor poida acceder ao ficheiro compartido.\n\nO almacenamento externo pódese configurar usando a IGU ou coa liña de ordes. A segunda opción fornece ao usuario avanzado máis flexibilidade para configurar montaxes de almacenamento externos en bloque e para configurar prioridades de montaxe. Ten dispoñíbel máis información na documentación da IGU do almacenamento externo e na documentación do ficheiro de configuración do almacenamento externo.", + "No external storage configured or you don't have the permission to configure them" : "No foi configurado ningún almacenamento externo ou non ten permiso para configuralos", "Name" : "Nome", "Storage type" : "Tipo de almacenamento", "Scope" : "Ámbito", "Open documentation" : "Abrir a documentación", - "External storage enables you to mount external storage services and devices as secondary Nextcloud storage devices. You may also allow users to mount their own external storage services." : "O almacenamento externo permítelle montar servizos e dispositivos de almacenamento externo como dispositivos de almacenamento secundarios do Nextcloud. Tamén pode permitirlle que os usuarios monten os seus propios servizos de almacenamento externos.", + "External storage enables you to mount external storage services and devices as secondary Nextcloud storage devices. You may also allow users to mount their own external storage services." : "O almacenamento externo permítelle montar servizos e dispositivos de almacenamento externo como dispositivos de almacenamento secundarios de Nextcloud. Tamén pode permitirlle que os usuarios monten os seus propios servizos de almacenamento externos.", "Folder name" : "Nome do cartafol", "Authentication" : "Autenticación", "Configuration" : "Configuración", "Available for" : "Dispoñíbel para", - "Click to recheck the configuration" : "Prema para volver comprobar a configuración\n", + "Click to recheck the configuration" : "Prema para volver comprobar a configuración", "Add storage" : "Engadir almacenamento", "All users" : "Todos os usuarios", "Advanced settings" : "Axustes avanzados", diff --git a/apps/files_external/l10n/gl.json b/apps/files_external/l10n/gl.json index 4fa05c5d1df..ec0759d3448 100644 --- a/apps/files_external/l10n/gl.json +++ b/apps/files_external/l10n/gl.json @@ -4,10 +4,10 @@ "System" : "Sistema", "Grant access" : "Permitir o acceso", "Error configuring OAuth1" : "Produciuse un erro ao configurar OAuth1", - "Please provide a valid app key and secret." : "Forneza unha clave de aplicación e a clave secreta.", + "Please provide a valid app key and secret." : "Forneza unha chave de aplicación e o segredo", "Error configuring OAuth2" : "Produciuse un erro ao configurar OAuth2", - "Generate keys" : "Xerar claves", - "Error generating key pair" : "Produciuse un erro ao xerar o par de clave", + "Generate keys" : "Xerar chaves", + "Error generating key pair" : "Produciuse un erro ao xerar o par de chaves", "Type to select user or group." : "Escriba para seleccionar usuario ou grupo.", "(Group)" : "(grupo)", "Compatibility with Mac NFD encoding (slow)" : "Compatibilidade coa codificación Mac MFD (lenta)", @@ -20,8 +20,8 @@ "Read only" : "Só lectura", "Disconnect" : "Desconectar", "Admin defined" : "Definido polo administrador", - "Automatic status checking is disabled due to the large number of configured storages, click to check status" : "A comprobación automática do estado está desactivada debido á gran cantidade de almacenamentos configurados. Fai clic para comprobar o estado", - "Are you sure you want to disconnect this external storage? It will make the storage unavailable in Nextcloud and will lead to a deletion of these files and folders on any sync client that is currently connected but will not delete any files and folders on the external storage itself." : "Confirma que quere desconectar este almacenamento externo? Fará que o almacenamento non estea dispoñíbel en Nextcloud e provocará a eliminación destes ficheiros e cartafoles en calquera cliente de sincronización que estea conectado actualmente, mais non eliminará ningún ficheiro e cartafol do propio almacenamento externo.", + "Automatic status checking is disabled due to the large number of configured storages, click to check status" : "A comprobación automática do estado está desactivada por mor da gran cantidade de almacenamentos configurados. Prema para comprobar o estado", + "Are you sure you want to disconnect this external storage? It will make the storage unavailable in Nextcloud and will lead to a deletion of these files and folders on any sync client that is currently connected but will not delete any files and folders on the external storage itself." : "Confirma que quere desconectar este almacenamento externo? Isto fará que o almacenamento non estea dispoñíbel en Nextcloud e provocará a eliminación destes ficheiros e cartafoles en calquera cliente de sincronización que estea conectado actualmente, mais non eliminará ningún ficheiro e cartafol do propio almacenamento externo.", "Delete storage?" : "Eliminar o almacenamento?", "Saved" : "Gardado", "Saving …" : "Gardando…", @@ -53,12 +53,12 @@ "Insufficient data: %s" : "Faltan datos: %s", "%s" : "%s", "Storage with ID \"%d\" is not user editable" : "O almacenamento co ID «%d» non pode ser editado polo usuario", - "Access key" : "Clave de acceso", - "Secret key" : "Clave secreta", + "Access key" : "Chave de acceso", + "Secret key" : "Chave secreta", "Builtin" : "Integrado", "None" : "Ningún", "OAuth1" : "OAuth1", - "App key" : "Clave da aplicación", + "App key" : "Chave da aplicación", "App secret" : "Segredo da aplicación", "OAuth2" : "OAuth2", "Client ID" : "ID do cliente", @@ -69,29 +69,29 @@ "OpenStack v3" : "OpenStack v3", "Domain" : "Dominio", "Rackspace" : "Espazo no estante", - "API key" : "Clave da API", + "API key" : "Chave da API", "Global credentials" : "Credenciais globais", "Log-in credentials, save in database" : "Credenciais de acceso, gardar na base de datos", "Username and password" : "Nome de usuario e contrasinal", "Log-in credentials, save in session" : "Credenciais de acceso, gardar na sesión", "Global credentials, user entered" : "Credenciais globais, introducidas polo usuario", "User entered, store in database" : "Usuario que accedeu, almacenar na base de datos", - "RSA public key" : "Clave RSA pública", - "Public key" : "Clave pública", - "RSA private key" : "Clave RSA privada", - "Private key" : "Clave privada", - "Kerberos default realm, defaults to \"WORKGROUP\"" : "Dominio predeterminado de Kerberos, o valor predeterminado é \"WORKGROUP\"", - "Kerberos ticket Apache mode" : "Modo Apache de ticket Kerberos", + "RSA public key" : "Chave RSA pública", + "Public key" : "Chave pública", + "RSA private key" : "Chave RSA privada", + "Private key" : "Chave privada", + "Kerberos default realm, defaults to \"WORKGROUP\"" : "Dominio predeterminado de Kerberos, o valor predeterminado é «WORKGROUP»", + "Kerberos ticket Apache mode" : "Billete Kerberos modo Apache", "Kerberos ticket" : "Billete Kerberos", "Amazon S3" : "Amazon S3", "Bucket" : "Bucket", "Hostname" : "Nome de máquina", "Port" : "Porto", "Region" : "Rexión", - "Storage Class" : "Clase de Almacenamento", + "Storage Class" : "Clase de almacenamento", "Enable SSL" : "Activar SSL", "Enable Path Style" : "Activar o estilo de ruta", - "Legacy (v2) authentication" : "Autenticación (v2) herdada\n", + "Legacy (v2) authentication" : "Autenticación (v2) estilo antigo", "WebDAV" : "WebDAV", "URL" : "URL", "Remote subfolder" : "Subcartafol remoto", @@ -104,14 +104,14 @@ "Nextcloud" : "Nextcloud", "SFTP" : "SFTP", "Root" : "Root (raíz)", - "SFTP with secret key login" : "SFTP con clave secreta de acceso", + "SFTP with secret key login" : "SFTP con chave secreta de acceso", "SMB/CIFS" : "SMB/CIFS", "Share" : "Compartir", "Show hidden files" : "Amosar os ficheiros agochados", "Verify ACL access when listing files" : "Verificar a lista de control de acceso (ACL) ao listar ficheiros", "Check the ACL's of each file or folder inside a directory to filter out items where the user has no read permissions, comes with a performance penalty" : "Comprobar as listas de control de acceso (ACL) de cada ficheiro ou cartafol dentro dun directorio para filtrar os elementos onde o usuario non ten permisos de lectura, ten unha penalización de rendemento.", "Timeout" : "Límite de tempo", - "SMB/CIFS using OC login" : "SMB/CIFS usando inicio de sesión OC", + "SMB/CIFS using OC login" : "SMB/CIFS usando acceso OC", "Username as share" : "Nome de usuario como compartición", "OpenStack Object Storage" : "OpenStack Object Storage", "Service name" : "Nome do servicio", @@ -120,19 +120,19 @@ "The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "A compatibilidade de FTP en PHP non está activada, ou non está instalado. Non é posíbel a montaxe de %s. Consulte co administrador do sistema como instalalo.", "\"%1$s\" is not installed. Mounting of %2$s is not possible. Please ask your system administrator to install it." : "«%1$s» non está instalado. Non é posíbel a montaxe de %2$s. Consulte co administrador do sistema como instalalo.", "External storage support" : "Compatibilidade de almacenamento externo", - "Adds basic external storage support" : "Engade compatibilidade básica de almacenamento externo\n", - "This application enables administrators to configure connections to external storage providers, such as FTP servers, S3 or SWIFT object stores, other Nextcloud servers, WebDAV servers, and more. Administrators can choose which types of storage to enable and can mount these storage locations for a user, a group, or the entire system. Users will see a new folder appear in their root Nextcloud directory, which they can access and use like any other Nextcloud folder. External storage also allows users to share files stored in these external locations. In these cases, the credentials for the owner of the file are used when the recipient requests the file from external storage, thereby ensuring that the recipient can access the shared file.\n\nExternal storage can be configured using the GUI or at the command line. This second option provides the advanced user with more flexibility for configuring bulk external storage mounts and setting mount priorities. More information is available in the external storage GUI documentation and the external storage Configuration File documentation." : "Esta aplicación permítelle aos administradores configurar conexións a provedores externos de almacenamento, como servidores FTP, almacenamentos de obxectos S3 ou SWIFT, outros servidores Nextcloud, servidores WebDAV e máis. Os administradores poden escoller que tipos de almacenamento activar e poden montar estas localizacións de almacenamento para un usuario, un grupo ou o sistema enteiro. Os usuarios verán aparecer un novo cartafol no seu directorio raíz do Nextcloud, ao que poden acceder e que poden usar como calquera outro cartafol. O almacenamento externo tamén lle permite aos usuarios compartir os ficheiros almacenados nestas localizacións externas. Nestes casos, úsanse as credenciais para o dono dos ficheiros cando o receptor solicita o ficheiro do almacenamento externo, asegurando así que o receptor poida acceder ao ficheiro compartido.\n\nO almacenamento externo pódese configurar usando a IGU ou coa liña de ordes. A segunda opción fornece ao usuario avanzado máis flexibilidade para configurar montaxes de almacenamento externos en bloque e para configurar prioridades de montaxe. Ten dispoñíbel máis información na documentación da IGU do almacenamento externo e na documentación do ficheiro de configuración do almacenamento externo.", - "No external storage configured or you don't have the permission to configure them" : "No foi configurado ningún almacenamento externo ou non ten permiso para configuralos\n", + "Adds basic external storage support" : "Engade compatibilidade básica de almacenamento externo", + "This application enables administrators to configure connections to external storage providers, such as FTP servers, S3 or SWIFT object stores, other Nextcloud servers, WebDAV servers, and more. Administrators can choose which types of storage to enable and can mount these storage locations for a user, a group, or the entire system. Users will see a new folder appear in their root Nextcloud directory, which they can access and use like any other Nextcloud folder. External storage also allows users to share files stored in these external locations. In these cases, the credentials for the owner of the file are used when the recipient requests the file from external storage, thereby ensuring that the recipient can access the shared file.\n\nExternal storage can be configured using the GUI or at the command line. This second option provides the advanced user with more flexibility for configuring bulk external storage mounts and setting mount priorities. More information is available in the external storage GUI documentation and the external storage Configuration File documentation." : "Esta aplicación permítelle aos administradores configurar conexións a provedores externos de almacenamento, como servidores FTP, almacenamentos de obxectos S3 ou SWIFT, outros servidores Nextcloud, servidores WebDAV e máis. Os administradores poden escoller que tipos de almacenamento activar e poden montar estas localizacións de almacenamento para un usuario, un grupo ou o sistema enteiro. Os usuarios verán aparecer un novo cartafol no seu directorio raíz de Nextcloud, ao que poden acceder e que poden usar como calquera outro cartafol. O almacenamento externo tamén lle permite aos usuarios compartir os ficheiros almacenados nestas localizacións externas. Nestes casos, úsanse as credenciais para o dono dos ficheiros cando o receptor solicita o ficheiro do almacenamento externo, asegurando así que o receptor poida acceder ao ficheiro compartido.\n\nO almacenamento externo pódese configurar usando a IGU ou coa liña de ordes. A segunda opción fornece ao usuario avanzado máis flexibilidade para configurar montaxes de almacenamento externos en bloque e para configurar prioridades de montaxe. Ten dispoñíbel máis información na documentación da IGU do almacenamento externo e na documentación do ficheiro de configuración do almacenamento externo.", + "No external storage configured or you don't have the permission to configure them" : "No foi configurado ningún almacenamento externo ou non ten permiso para configuralos", "Name" : "Nome", "Storage type" : "Tipo de almacenamento", "Scope" : "Ámbito", "Open documentation" : "Abrir a documentación", - "External storage enables you to mount external storage services and devices as secondary Nextcloud storage devices. You may also allow users to mount their own external storage services." : "O almacenamento externo permítelle montar servizos e dispositivos de almacenamento externo como dispositivos de almacenamento secundarios do Nextcloud. Tamén pode permitirlle que os usuarios monten os seus propios servizos de almacenamento externos.", + "External storage enables you to mount external storage services and devices as secondary Nextcloud storage devices. You may also allow users to mount their own external storage services." : "O almacenamento externo permítelle montar servizos e dispositivos de almacenamento externo como dispositivos de almacenamento secundarios de Nextcloud. Tamén pode permitirlle que os usuarios monten os seus propios servizos de almacenamento externos.", "Folder name" : "Nome do cartafol", "Authentication" : "Autenticación", "Configuration" : "Configuración", "Available for" : "Dispoñíbel para", - "Click to recheck the configuration" : "Prema para volver comprobar a configuración\n", + "Click to recheck the configuration" : "Prema para volver comprobar a configuración", "Add storage" : "Engadir almacenamento", "All users" : "Todos os usuarios", "Advanced settings" : "Axustes avanzados", diff --git a/apps/files_external/l10n/ko.js b/apps/files_external/l10n/ko.js index 4dfdc2e4632..a7223ced11f 100644 --- a/apps/files_external/l10n/ko.js +++ b/apps/files_external/l10n/ko.js @@ -122,7 +122,7 @@ OC.L10N.register( "Authentication" : "인증", "Configuration" : "설정", "Available for" : "다음으로 사용 가능", - "Click to recheck the configuration" : "설정을 다시 확인하려면 누르십시오", + "Click to recheck the configuration" : "설정을 다시 확인하려면 클릭", "Add storage" : "저장소 추가", "Advanced settings" : "고급 설정", "Allow users to mount external storage" : "사용자가 외부 저장소를 마운트하도록 허용", diff --git a/apps/files_external/l10n/ko.json b/apps/files_external/l10n/ko.json index 06242e315bf..89f5851e239 100644 --- a/apps/files_external/l10n/ko.json +++ b/apps/files_external/l10n/ko.json @@ -120,7 +120,7 @@ "Authentication" : "인증", "Configuration" : "설정", "Available for" : "다음으로 사용 가능", - "Click to recheck the configuration" : "설정을 다시 확인하려면 누르십시오", + "Click to recheck the configuration" : "설정을 다시 확인하려면 클릭", "Add storage" : "저장소 추가", "Advanced settings" : "고급 설정", "Allow users to mount external storage" : "사용자가 외부 저장소를 마운트하도록 허용", diff --git a/apps/files_external/l10n/zh_CN.js b/apps/files_external/l10n/zh_CN.js index e2b194aeb17..2fe6c483975 100644 --- a/apps/files_external/l10n/zh_CN.js +++ b/apps/files_external/l10n/zh_CN.js @@ -10,6 +10,7 @@ OC.L10N.register( "Error configuring OAuth2" : "OAuth2 配置错误", "Generate keys" : "生成密钥", "Error generating key pair" : "生成密钥对错误", + "Type to select user or group." : "输入以选择用户或群组。", "(Group)" : "(群组)", "Compatibility with Mac NFD encoding (slow)" : "兼用 Mac NFD 编码(慢)", "Enable encryption" : "启用加密", @@ -21,9 +22,11 @@ OC.L10N.register( "Read only" : "只读", "Disconnect" : "断开连接", "Admin defined" : "管理员定义", + "Automatic status checking is disabled due to the large number of configured storages, click to check status" : "因为配置的存储数量过多,自动状态检查已停用,点击以检查状态。", + "Are you sure you want to disconnect this external storage? It will make the storage unavailable in Nextcloud and will lead to a deletion of these files and folders on any sync client that is currently connected but will not delete any files and folders on the external storage itself." : "您确定要断开这个外部存储空间吗?这将会导致该存储空间在 Nextcloud 中不可用,并将会在当前连接的任何同步客户端上删除文件和文件夹,但不会删除外部存储空间本身的任何文件和文件夹。", "Delete storage?" : "删除存储?", "Saved" : "已保存", - "Saving …" : "正在保存…", + "Saving …" : "正在保存 …", "Save" : "保存", "Empty response from the server" : "服务器响应为空", "Couldn't access. Please log out and in again to activate this mount point" : "无法访问。 请登出并再次登录以激活此挂载点", @@ -32,7 +35,7 @@ OC.L10N.register( "There was an error with message: " : "错误信息:", "External mount error" : "外部挂载错误", "external-storage" : "外部存储", - "Couldn't fetch list of Windows network drive mount points: Empty response from server" : "无法获取Windows网络磁盘挂载点列表:服务器未响应", + "Couldn't fetch list of Windows network drive mount points: Empty response from server" : "无法获取 Windows 网络磁盘挂载点列表:服务器未响应", "Please enter the credentials for the {mount} mount" : "请输入 {mount} 挂载点的证书", "Username" : "用户名", "Password" : "密码", @@ -40,18 +43,18 @@ OC.L10N.register( "Credentials saving failed" : "证书保存失败", "Credentials required" : "需要凭据", "Forbidden to manage local mounts" : "禁止管理本地挂载", - "Storage with ID \"%d\" not found" : "ID%d的存储未找到", + "Storage with ID \"%d\" not found" : "未找到 ID 为“%d”的存储", "Invalid backend or authentication mechanism class" : "无效的后端或认证类型", "Invalid mount point" : "无效的挂载点", "Objectstore forbidden" : "对象存储禁止访问", - "Invalid storage backend \"%s\"" : "无效的存储后端 \"%s\"", - "Not permitted to use backend \"%s\"" : "不允许使用 \"%s\"", - "Not permitted to use authentication mechanism \"%s\"" : "不允许使用认证方式 \"%s\"", + "Invalid storage backend \"%s\"" : "无效的存储后端“%s”", + "Not permitted to use backend \"%s\"" : "不允许使用“%s”", + "Not permitted to use authentication mechanism \"%s\"" : "不允许使用认证方式 “%s”", "Unsatisfied backend parameters" : "无法满足后端条件", "Unsatisfied authentication mechanism parameters" : "无法满足认证类型条件", "Insufficient data: %s" : "数据不足:%s", "%s" : "%s", - "Storage with ID \"%d\" is not user editable" : "ID%d的存储不可编辑", + "Storage with ID \"%d\" is not user editable" : "无法编辑 ID 为“%d”的存储", "Access key" : "Access key", "Secret key" : "Secret key", "Builtin" : "内置", @@ -60,7 +63,7 @@ OC.L10N.register( "App key" : "App key", "App secret" : "应用程序 secret", "OAuth2" : "OAuth2", - "Client ID" : "客户端ID", + "Client ID" : "客户端 ID", "Client secret" : "客户端 secret", "OpenStack v2" : "OpenStack v2", "Tenant name" : "租户名称", @@ -68,7 +71,7 @@ OC.L10N.register( "OpenStack v3" : "OpenStack v3", "Domain" : "域名", "Rackspace" : "Rackspace", - "API key" : "API密匙", + "API key" : "API 密匙", "Global credentials" : "全局凭据", "Log-in credentials, save in database" : "登录凭据,保存在数据库中", "Username and password" : "用户名和密码", @@ -79,12 +82,15 @@ OC.L10N.register( "Public key" : "公钥", "RSA private key" : "RSA 私钥", "Private key" : "私钥", - "Kerberos ticket" : "Kerberos票据", + "Kerberos default realm, defaults to \"WORKGROUP\"" : "Kerberos 默认领域,默认为“WORKGROUP”", + "Kerberos ticket Apache mode" : "Kerberos 凭证 Apache 模式", + "Kerberos ticket" : "Kerberos 票据", "Amazon S3" : "Amazon S3", "Bucket" : "Bucket", "Hostname" : "主机名", "Port" : "端口", "Region" : "区域", + "Storage Class" : "存储类型", "Enable SSL" : "启用 SSL", "Enable Path Style" : "启用 Path Style", "Legacy (v2) authentication" : "旧版本(v2)认证", diff --git a/apps/files_external/l10n/zh_CN.json b/apps/files_external/l10n/zh_CN.json index d5e317b9711..21fc31fede0 100644 --- a/apps/files_external/l10n/zh_CN.json +++ b/apps/files_external/l10n/zh_CN.json @@ -8,6 +8,7 @@ "Error configuring OAuth2" : "OAuth2 配置错误", "Generate keys" : "生成密钥", "Error generating key pair" : "生成密钥对错误", + "Type to select user or group." : "输入以选择用户或群组。", "(Group)" : "(群组)", "Compatibility with Mac NFD encoding (slow)" : "兼用 Mac NFD 编码(慢)", "Enable encryption" : "启用加密", @@ -19,9 +20,11 @@ "Read only" : "只读", "Disconnect" : "断开连接", "Admin defined" : "管理员定义", + "Automatic status checking is disabled due to the large number of configured storages, click to check status" : "因为配置的存储数量过多,自动状态检查已停用,点击以检查状态。", + "Are you sure you want to disconnect this external storage? It will make the storage unavailable in Nextcloud and will lead to a deletion of these files and folders on any sync client that is currently connected but will not delete any files and folders on the external storage itself." : "您确定要断开这个外部存储空间吗?这将会导致该存储空间在 Nextcloud 中不可用,并将会在当前连接的任何同步客户端上删除文件和文件夹,但不会删除外部存储空间本身的任何文件和文件夹。", "Delete storage?" : "删除存储?", "Saved" : "已保存", - "Saving …" : "正在保存…", + "Saving …" : "正在保存 …", "Save" : "保存", "Empty response from the server" : "服务器响应为空", "Couldn't access. Please log out and in again to activate this mount point" : "无法访问。 请登出并再次登录以激活此挂载点", @@ -30,7 +33,7 @@ "There was an error with message: " : "错误信息:", "External mount error" : "外部挂载错误", "external-storage" : "外部存储", - "Couldn't fetch list of Windows network drive mount points: Empty response from server" : "无法获取Windows网络磁盘挂载点列表:服务器未响应", + "Couldn't fetch list of Windows network drive mount points: Empty response from server" : "无法获取 Windows 网络磁盘挂载点列表:服务器未响应", "Please enter the credentials for the {mount} mount" : "请输入 {mount} 挂载点的证书", "Username" : "用户名", "Password" : "密码", @@ -38,18 +41,18 @@ "Credentials saving failed" : "证书保存失败", "Credentials required" : "需要凭据", "Forbidden to manage local mounts" : "禁止管理本地挂载", - "Storage with ID \"%d\" not found" : "ID%d的存储未找到", + "Storage with ID \"%d\" not found" : "未找到 ID 为“%d”的存储", "Invalid backend or authentication mechanism class" : "无效的后端或认证类型", "Invalid mount point" : "无效的挂载点", "Objectstore forbidden" : "对象存储禁止访问", - "Invalid storage backend \"%s\"" : "无效的存储后端 \"%s\"", - "Not permitted to use backend \"%s\"" : "不允许使用 \"%s\"", - "Not permitted to use authentication mechanism \"%s\"" : "不允许使用认证方式 \"%s\"", + "Invalid storage backend \"%s\"" : "无效的存储后端“%s”", + "Not permitted to use backend \"%s\"" : "不允许使用“%s”", + "Not permitted to use authentication mechanism \"%s\"" : "不允许使用认证方式 “%s”", "Unsatisfied backend parameters" : "无法满足后端条件", "Unsatisfied authentication mechanism parameters" : "无法满足认证类型条件", "Insufficient data: %s" : "数据不足:%s", "%s" : "%s", - "Storage with ID \"%d\" is not user editable" : "ID%d的存储不可编辑", + "Storage with ID \"%d\" is not user editable" : "无法编辑 ID 为“%d”的存储", "Access key" : "Access key", "Secret key" : "Secret key", "Builtin" : "内置", @@ -58,7 +61,7 @@ "App key" : "App key", "App secret" : "应用程序 secret", "OAuth2" : "OAuth2", - "Client ID" : "客户端ID", + "Client ID" : "客户端 ID", "Client secret" : "客户端 secret", "OpenStack v2" : "OpenStack v2", "Tenant name" : "租户名称", @@ -66,7 +69,7 @@ "OpenStack v3" : "OpenStack v3", "Domain" : "域名", "Rackspace" : "Rackspace", - "API key" : "API密匙", + "API key" : "API 密匙", "Global credentials" : "全局凭据", "Log-in credentials, save in database" : "登录凭据,保存在数据库中", "Username and password" : "用户名和密码", @@ -77,12 +80,15 @@ "Public key" : "公钥", "RSA private key" : "RSA 私钥", "Private key" : "私钥", - "Kerberos ticket" : "Kerberos票据", + "Kerberos default realm, defaults to \"WORKGROUP\"" : "Kerberos 默认领域,默认为“WORKGROUP”", + "Kerberos ticket Apache mode" : "Kerberos 凭证 Apache 模式", + "Kerberos ticket" : "Kerberos 票据", "Amazon S3" : "Amazon S3", "Bucket" : "Bucket", "Hostname" : "主机名", "Port" : "端口", "Region" : "区域", + "Storage Class" : "存储类型", "Enable SSL" : "启用 SSL", "Enable Path Style" : "启用 Path Style", "Legacy (v2) authentication" : "旧版本(v2)认证", diff --git a/apps/files_external/lib/Command/Create.php b/apps/files_external/lib/Command/Create.php index 17e4731a2d6..6208ac0da07 100644 --- a/apps/files_external/lib/Command/Create.php +++ b/apps/files_external/lib/Command/Create.php @@ -134,7 +134,7 @@ class Create extends Base { $config = []; foreach ($configInput as $configOption) { - if (!strpos($configOption, '=')) { + if (!str_contains($configOption, '=')) { $output->writeln('<error>Invalid mount configuration option "' . $configOption . '"</error>'); return 1; } diff --git a/apps/files_external/lib/Lib/Storage/FtpConnection.php b/apps/files_external/lib/Lib/Storage/FtpConnection.php index f183a5a52de..cca03ddda65 100644 --- a/apps/files_external/lib/Lib/Storage/FtpConnection.php +++ b/apps/files_external/lib/Lib/Storage/FtpConnection.php @@ -110,7 +110,7 @@ class FtpConnection { public function nlist(string $path) { $files = @ftp_nlist($this->connection, $path); return array_map(function ($name) { - if (strpos($name, '/') !== false) { + if (str_contains($name, '/')) { $name = basename($name); } return $name; @@ -122,7 +122,7 @@ class FtpConnection { if ($files !== false) { return array_map(function ($file) { - if (strpos($file['name'], '/') !== false) { + if (str_contains($file['name'], '/')) { $file['name'] = basename($file['name']); } return $file; diff --git a/apps/files_external/lib/Lib/Storage/OwnCloud.php b/apps/files_external/lib/Lib/Storage/OwnCloud.php index d5926008f62..ba7ae1c36a9 100644 --- a/apps/files_external/lib/Lib/Storage/OwnCloud.php +++ b/apps/files_external/lib/Lib/Storage/OwnCloud.php @@ -60,7 +60,7 @@ class OwnCloud extends \OC\Files\Storage\DAV implements IDisableEncryptionStorag $host = substr($host, 0, $hostSlashPos); } - if (substr($contextPath, -1) !== '/') { + if (!str_ends_with($contextPath, '/')) { $contextPath .= '/'; } diff --git a/apps/files_external/lib/Lib/Storage/SFTP.php b/apps/files_external/lib/Lib/Storage/SFTP.php index e46f60d0be4..532c50808db 100644 --- a/apps/files_external/lib/Lib/Storage/SFTP.php +++ b/apps/files_external/lib/Lib/Storage/SFTP.php @@ -63,7 +63,7 @@ class SFTP extends \OC\Files\Storage\Common { */ private function splitHost($host) { $input = $host; - if (strpos($host, '://') === false) { + if (!str_contains($host, '://')) { // add a protocol to fix parse_url behavior with ipv6 $host = 'http://' . $host; } diff --git a/apps/files_external/lib/Lib/Storage/SMB.php b/apps/files_external/lib/Lib/Storage/SMB.php index e0e4659e668..66319d66770 100644 --- a/apps/files_external/lib/Lib/Storage/SMB.php +++ b/apps/files_external/lib/Lib/Storage/SMB.php @@ -139,13 +139,13 @@ class SMB extends Common implements INotifyStorage { } private function splitUser($user) { - if (strpos($user, '/')) { + if (str_contains($user, '/')) { return explode('/', $user, 2); - } elseif (strpos($user, '\\')) { + } elseif (str_contains($user, '\\')) { return explode('\\', $user); - } else { - return [null, $user]; } + + return [null, $user]; } /** diff --git a/apps/files_external/lib/Lib/Storage/Swift.php b/apps/files_external/lib/Lib/Storage/Swift.php index 85b3727f4db..26e6c5315cb 100644 --- a/apps/files_external/lib/Lib/Storage/Swift.php +++ b/apps/files_external/lib/Lib/Storage/Swift.php @@ -126,9 +126,10 @@ class Swift extends \OC\Files\Storage\Common { * @throws \OCP\Files\StorageNotAvailableException */ private function fetchObject(string $path) { - if ($this->objectCache->hasKey($path)) { + $cached = $this->objectCache->get($path); + if ($cached !== null) { // might be "false" if object did not exist from last check - return $this->objectCache->get($path); + return $cached; } try { $object = $this->getContainer()->getObject($path); diff --git a/apps/files_sharing/l10n/ar.js b/apps/files_sharing/l10n/ar.js index cb448f1194c..d02c4193cb9 100644 --- a/apps/files_sharing/l10n/ar.js +++ b/apps/files_sharing/l10n/ar.js @@ -1,11 +1,11 @@ OC.L10N.register( "files_sharing", { - "Shared with you" : "تم مشاركة معك", - "Nothing shared with you yet" : "لم يتم مشاركة معك حتى الآن", + "Shared with you" : "تم مشاركته معك", + "Nothing shared with you yet" : "لم تتم مشاركته معك حتى الآن", "Files and folders others share with you will show up here" : "ستظهر هنا الملفات والمجلدات التي يشاركها الآخرون معك", "Shared with others" : "مشترك مع الآخرين", - "Nothing shared yet" : "لا يوجد مشاركة حتى الآن", + "Nothing shared yet" : "لا توجد مشاركة حتى الآن", "Files and folders you share will show up here" : "سوف تظهر هنا كل من الملفات و المجلدات التي قمت بمشاركتها", "Shared by link" : "مشاركة عن طريق رابط", "No shared links" : "لا توجد روابط مشتركة", @@ -37,9 +37,9 @@ OC.L10N.register( "Terms of service" : "شروط الخدمة", "Show list view" : "اظهر معاينات الروابط", "Show grid view" : "أعرض شبكياً", - "No compatible server found at {remote}" : "لم يتم العثور على خادم متوافق في {remote}", - "Invalid server URL" : "عنوان الرابط للخادم غير صالح", - "Failed to add the public link to your Nextcloud" : "فشل في إضافة الرابط العام إلى الخادم السحابي الخاص بك", + "No compatible server found at {remote}" : "لم يتم العثور على خادوم متوافق في {remote}", + "Invalid server URL" : "عنوان الرابط للخادوم غير صالح", + "Failed to add the public link to your Nextcloud" : "فشل في إضافة الرابط العام إلى الخادوم السحابي الخاص بك", "No expiration date set" : "لم يتم تعيين تاريخ نهاية صلاحية المشاركة", "Shared by" : "تم مشاركتها بواسطة", "File shares" : "مشاركة الملفات", @@ -114,18 +114,25 @@ OC.L10N.register( "Public upload is only possible for publicly shared folders" : "عمليات الرفع العامة مسموحة فقط في المجلدات العامة", "Sharing %s sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "مشاركة %s لارسال كلمة المرور من قبل التحدث نكست كلاود فشلت بسبب عدم تفعيل تطبيق التحدث.", "Sharing %1$s failed because the back end does not allow shares from type %2$s" : "فشلت مشاركة %1$s لأن الخلفية لا تسمح بالمشاركة من النوع %2$s", + "Please specify a valid federated user ID" : "رجاءً عيّن رمزاً صحيحاً لمستخدم اتحادي", "Invalid date, date format must be YYYY-MM-DD" : "تاريخ غير صحيح, يجب أن يكون تنسيق التاريخ YYYY-MM-DD", + "Please specify a valid federated group ID" : "رجاءً عيّن رمزاً صحيحاً لمجموعة اتحادية", "You cannot share to a Circle if the app is not enabled" : "لا يمكن مشاركة الجماعات اذا التطبيق كان معطل", "Please specify a valid circle" : "يرجى ادخال جماعة صحيحة", "Sharing %s failed because the back end does not support room shares" : "فشلت مشاركة %s لأن الخلفية لا تدعم مشاركة الغرفة", + "Sharing %s failed because the back end does not support ScienceMesh shares" : " المشاركة %s فشلت بسبب أن الخادوم لا يدعم مشاركات ScienceMesh", "Unknown share type" : "نوع مشاركة غير معروف", "Not a directory" : "ليس مسار صحيح", "Could not lock node" : "تعذر تأمين نقطة اللقاء", "Could not lock path" : "تعذر تأمين المسار", "Wrong or no update parameter given" : "خطأ أو لم يتم تقديم معلمة تحديث", + "Share must at least have READ or CREATE permissions" : "يجب أن تمتلك المشاركة أذونات الإنشاء CREATE و القراءة READ على الأقل", + "Share must have READ permission if UPDATE or DELETE permission is set" : "يجب أن تمتلك المشاركة إذن القراءة READ إذا كانت أذونات UPDATE أو DELETE مُعيّنة ", + "\"Sending the password by Nextcloud Talk\" for sharing a file or folder failed because Nextcloud Talk is not enabled." : "عملية \"إرسال كلمة السر بواسطة تطبيق نكست كلاود للمحادثة Talk\" من أجل مشاركة ملف أو مُجلّد لم تُنفّذ بسبب أن التطبيق غير مُفعّل", "shared by %s" : "تمت مشاركته مِن قبل %s", "Download all files" : "تنزيل كافة الملفات", "Direct link" : "رابط مباشر", + "Add to your %s" : "أضاف إليك %s", "Share API is disabled" : "مشاركة عبر واجهة برمجة التطبيقات غير مفعلة", "File sharing" : "مشاركة الملفات", "Share will expire tomorrow" : "المشاركة ستنتهي غدا", @@ -137,8 +144,11 @@ OC.L10N.register( "This application enables users to share files within Nextcloud. If enabled, the admin can choose which groups can share files. The applicable users can then share files and folders with other users and groups within Nextcloud. In addition, if the admin enables the share link feature, an external link can be used to share files with other users outside of Nextcloud. Admins can also enforce passwords, expirations dates, and enable server to server sharing via share links, as well as sharing from mobile devices.\nTurning the feature off removes shared files and folders on the server for all share recipients, and also on the sync clients and mobile apps. More information is available in the Nextcloud Documentation." : "يتيح هذا التطبيق للمستخدمين مشاركة الملفات داخل نكست كلاود. في حالة التمكين ، يمكن للمسؤول اختيار المجموعات التي يمكنها مشاركة الملفات. يمكن للمستخدمين المناسبين مشاركة الملفات والمجلدات مع مستخدمين ومجموعات أخرى داخل نكست كلاود. بالإضافة إلى ذلك ، إذا قام المسؤول بتمكين ميزة ارتباط المشاركة ، فيمكن استخدام ارتباط خارجي لمشاركة الملفات مع مستخدمين آخرين خارج نكست كلاود. يمكن للمسؤولين أيضًا فرض كلمات المرور وتواريخ انتهاء الصلاحية وتمكين مشاركة الخادم للخادم عبر روابط المشاركة ، بالإضافة إلى المشاركة من الأجهزة المحمولة.\nيؤدي إيقاف تشغيل الميزة إلى إزالة الملفات والمجلدات المشتركة على الخادم لجميع مستلمي المشاركة ، وكذلك على عملاء المزامنة وتطبيقات الأجهزة المحمولة. يتوفر المزيد من المعلومات في نكست كلاود التعليمات.", "Sharing" : "مشاركة", "Accept user and group shares by default" : "قبول مشاركات المستخدم والمجموعة بشكل افتراضي", + "Error while toggling options" : "خطأ أثناء تقليب الخيارات", "Set default folder for accepted shares" : "تعيين المجلد الافتراضي للمشاركات المقبولة", "Reset" : "إعادة الضبط", + "Reset folder to system default" : "إعادة ضبط المجلد إلى افتراضات النظام", + "Choose a default folder for accepted shares" : "إختر مجلداً افتراضياً لقبول المشاركات", "Invalid path selected" : "تم تحديد مسار غير صحيح", "Unknown error" : "خطأ غير معروف", "Allow editing" : "السماح بالتعديلات", @@ -149,6 +159,7 @@ OC.L10N.register( "Read" : "القراءة", "Upload" : "تحميل", "Edit" : "تعديل", + "Bundled permissions" : "أذونات مُجمّعة", "Allow creating" : "السماح بالإنشاء", "Allow deleting" : "السماح بالحذف", "Allow resharing" : "السماح بإعادة المشاركة ", @@ -165,10 +176,12 @@ OC.L10N.register( "Shared with the group {user} by {owner}" : "مشترك مع المجموعة {user} بواسطة {owner}", "Shared with the conversation {user} by {owner}" : "تمت مشاركته مع المحادثة {user} بواسطة {owner}", "Shared with {user} by {owner}" : "مشترك مع {user} بواسطة {owner}", + "Allow download" : "اسمح بالتنزيل", "Added by {initiator}" : "تمت الإضافة بواسطة {initator}", "Via “{folder}”" : "عبر “{folder}”", "Internal link" : "الرابط الداخلي", "Cannot copy, please copy the link manually" : "لا يمكن النسخ ، يرجى نسخ الرابط يدويًا", + "Copy internal link to clipboard" : "إنسخ رابط داخلي إلى الحافظة", "Only works for users with access to this folder" : "يعمل فقط للمستخدمين الذين لديهم حق الوصول إلى هذا المجلد", "Only works for users with access to this file" : "يعمل فقط للمستخدمين الذين لديهم حق الوصول إلى هذا الملف", "Link copied" : "نُسِخ الرابط", @@ -182,6 +195,7 @@ OC.L10N.register( "Share label" : "تسمية المشاركة", "Hide download" : "إخفاء التنزيل", "Password protect" : "حماية كلمة السر", + "Password expires {passwordExpirationTime}" : "صلاحية كلمة السر تنتهي في {passwordExpirationTime}", "Password expired" : "انتهت صلاحية كلمة المرور", "Video verification" : "التحقق من الفيديو", "Enter a note for the share recipient" : "أدخل ملاحظة لمستلم المشاركة", @@ -189,15 +203,22 @@ OC.L10N.register( "Create a new share link" : "إنشاء رابط مشاركة جديد", "{shareWith} by {initiator}" : "{shareWith} مِن طرف {initiator}", "Shared via link by {initiator}" : "تمت المشاركة عبر رابط بواسطة {initator}", + "Mail share ({label})" : "مشاركة البريد ({label})", "Share link ({label})" : "رابط المشاركة ({label})", + "Share link ({index})" : "رابط مشاركة ({index})", "Share link" : "مشاركة الرابط", + "Actions for \"{title}\"" : "إجراءات لـ \"{title}\"", + "Copy public link of \"{title}\" to clipboard" : "إنسخ رابط عام لـ \"{title}\" إلى الحافظة", "Error, please enter proper password and/or expiration date" : "خطأ ، يرجى إدخال كلمة المرور الصحيحة أو تاريخ انتهاء الصلاحية", + "Link share created" : "تمّ إنشاء رابط مشاركة", + "Error while creating the share" : "خطأ أثناء إنشاء المشاركة", + "Search for share recipients" : "البحث عن مستقبلي المشاركة", "No recommendations. Start typing." : "لا توجد توصيات. ابدأ بالكتابة.", "Resharing is not allowed" : "لا يسمح بعملية إعادة المشاركة", - "Name or email …" : "اسم او بريد…", - "Name, email, or Federated Cloud ID …" : "الاسم، البريد أو معرف السحابة المتحدة", + "Name or email …" : "اسم او إيميل …", + "Name, email, or Federated Cloud ID …" : "اسم أو إيميل أو مُعرّف سحابي اتحادي", "Searching …" : "جاري البحث…", - "No elements found." : "لم يتم العثور على اي عناصر", + "No elements found." : "لم يتم العثور على أي عناصر", "Search globally" : "بحث عام", "Guest" : "ضيف", "Group" : "المجموعة", @@ -205,6 +226,7 @@ OC.L10N.register( "Circle" : "دائرة ", "Talk conversation" : "محادثات", "Deck board" : "لوح Deck", + "ScienceMesh" : "ScienceMesh", "on {server}" : "على {server}", "Others with access" : "الآخرين مع صلاحية الوصول", "No other users with access found" : "لم يتم العثور على مستخدمين آخرين لهم حق الوصول", @@ -216,11 +238,18 @@ OC.L10N.register( "this share just expired." : "هذه المشاركة انتهت للتو.", "Shared with you by {owner}" : "شورك معك من قبل {owner}", "Link to a file" : "ارتباط إلى ملف", + "Error creating the share: {errorMessage}" : "خطأ في إنشاء المشاركة: {errorMessage}", "Error creating the share" : "خطأ في إنشاء المشاركة", + "Error updating the share: {errorMessage}" : "خطأ أثناء تعديل المشاركة: {errorMessage}", "Error updating the share" : "خطأ في تحديث المشاركة", + "File \"{path}\" has been unshared" : "الملف \"{path}\" تمّ إلغاء مشاركته", + "Folder \"{path}\" has been unshared" : "المجلّد \"{path}\" تمّ إلغاء مشاركته", + "Share {propertyName} saved" : "اسم المشاركة {propertyName} تمّ حفظه", "Shared" : "مشترك", "Share" : "شارك", "Shared with" : "تمت مشاركته مع", + "Password created successfully" : "تمّ إنشاء الإحالة بنجاح", + "Error generating password from password policy" : "خطأ في توليد كلمة سر بسبب مخالفة قواعد إنشاء كلمات السر", "Shared with you and the group {group} by {owner}" : "تمت مشاركته معك ومع المجموعة {group} بواسطة {owner}", "Shared with you and {circle} by {owner}" : "تمت مشاركته معك ومع {circle} بواسطة {owner}", "Shared with you and the conversation {conversation} by {owner}" : "تمت مشاركته معك ومع المحادثة {conversation} بواسطة {owner}", @@ -243,6 +272,9 @@ OC.L10N.register( "Uploaded files:" : "تم رفع ملفات:", "By uploading files, you agree to the %1$sterms of service%2$s." : "برفع الملفات ، فإنك توافق على %1$s شروط الخدمة %2$s.", "Add to your Nextcloud" : "اضف إلى حسابك", - "One or more of your shares will expire tomorrow" : "ستنتهي صلاحية مشاركتك أو أكثر من مشاركة غدًا" + "Sharing %s failed because the back end does not support sciencemesh shares" : "مشاركة %s أخفقت بسبب أن الخادوم لا يدعم مشاركات ScienceMesh", + "One or more of your shares will expire tomorrow" : "ستنتهي صلاحية مشاركتك أو أكثر من مشاركة غدًا", + "Science Mesh" : "Science Mesh", + "Error generating password from password_policy" : "خطأ في توليد كلمة سر بسبب مخالفة قواعد إنشاء كلمات السر" }, "nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;"); diff --git a/apps/files_sharing/l10n/ar.json b/apps/files_sharing/l10n/ar.json index 3d1b618365f..b4e5c77dd12 100644 --- a/apps/files_sharing/l10n/ar.json +++ b/apps/files_sharing/l10n/ar.json @@ -1,9 +1,9 @@ { "translations": { - "Shared with you" : "تم مشاركة معك", - "Nothing shared with you yet" : "لم يتم مشاركة معك حتى الآن", + "Shared with you" : "تم مشاركته معك", + "Nothing shared with you yet" : "لم تتم مشاركته معك حتى الآن", "Files and folders others share with you will show up here" : "ستظهر هنا الملفات والمجلدات التي يشاركها الآخرون معك", "Shared with others" : "مشترك مع الآخرين", - "Nothing shared yet" : "لا يوجد مشاركة حتى الآن", + "Nothing shared yet" : "لا توجد مشاركة حتى الآن", "Files and folders you share will show up here" : "سوف تظهر هنا كل من الملفات و المجلدات التي قمت بمشاركتها", "Shared by link" : "مشاركة عن طريق رابط", "No shared links" : "لا توجد روابط مشتركة", @@ -35,9 +35,9 @@ "Terms of service" : "شروط الخدمة", "Show list view" : "اظهر معاينات الروابط", "Show grid view" : "أعرض شبكياً", - "No compatible server found at {remote}" : "لم يتم العثور على خادم متوافق في {remote}", - "Invalid server URL" : "عنوان الرابط للخادم غير صالح", - "Failed to add the public link to your Nextcloud" : "فشل في إضافة الرابط العام إلى الخادم السحابي الخاص بك", + "No compatible server found at {remote}" : "لم يتم العثور على خادوم متوافق في {remote}", + "Invalid server URL" : "عنوان الرابط للخادوم غير صالح", + "Failed to add the public link to your Nextcloud" : "فشل في إضافة الرابط العام إلى الخادوم السحابي الخاص بك", "No expiration date set" : "لم يتم تعيين تاريخ نهاية صلاحية المشاركة", "Shared by" : "تم مشاركتها بواسطة", "File shares" : "مشاركة الملفات", @@ -112,18 +112,25 @@ "Public upload is only possible for publicly shared folders" : "عمليات الرفع العامة مسموحة فقط في المجلدات العامة", "Sharing %s sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "مشاركة %s لارسال كلمة المرور من قبل التحدث نكست كلاود فشلت بسبب عدم تفعيل تطبيق التحدث.", "Sharing %1$s failed because the back end does not allow shares from type %2$s" : "فشلت مشاركة %1$s لأن الخلفية لا تسمح بالمشاركة من النوع %2$s", + "Please specify a valid federated user ID" : "رجاءً عيّن رمزاً صحيحاً لمستخدم اتحادي", "Invalid date, date format must be YYYY-MM-DD" : "تاريخ غير صحيح, يجب أن يكون تنسيق التاريخ YYYY-MM-DD", + "Please specify a valid federated group ID" : "رجاءً عيّن رمزاً صحيحاً لمجموعة اتحادية", "You cannot share to a Circle if the app is not enabled" : "لا يمكن مشاركة الجماعات اذا التطبيق كان معطل", "Please specify a valid circle" : "يرجى ادخال جماعة صحيحة", "Sharing %s failed because the back end does not support room shares" : "فشلت مشاركة %s لأن الخلفية لا تدعم مشاركة الغرفة", + "Sharing %s failed because the back end does not support ScienceMesh shares" : " المشاركة %s فشلت بسبب أن الخادوم لا يدعم مشاركات ScienceMesh", "Unknown share type" : "نوع مشاركة غير معروف", "Not a directory" : "ليس مسار صحيح", "Could not lock node" : "تعذر تأمين نقطة اللقاء", "Could not lock path" : "تعذر تأمين المسار", "Wrong or no update parameter given" : "خطأ أو لم يتم تقديم معلمة تحديث", + "Share must at least have READ or CREATE permissions" : "يجب أن تمتلك المشاركة أذونات الإنشاء CREATE و القراءة READ على الأقل", + "Share must have READ permission if UPDATE or DELETE permission is set" : "يجب أن تمتلك المشاركة إذن القراءة READ إذا كانت أذونات UPDATE أو DELETE مُعيّنة ", + "\"Sending the password by Nextcloud Talk\" for sharing a file or folder failed because Nextcloud Talk is not enabled." : "عملية \"إرسال كلمة السر بواسطة تطبيق نكست كلاود للمحادثة Talk\" من أجل مشاركة ملف أو مُجلّد لم تُنفّذ بسبب أن التطبيق غير مُفعّل", "shared by %s" : "تمت مشاركته مِن قبل %s", "Download all files" : "تنزيل كافة الملفات", "Direct link" : "رابط مباشر", + "Add to your %s" : "أضاف إليك %s", "Share API is disabled" : "مشاركة عبر واجهة برمجة التطبيقات غير مفعلة", "File sharing" : "مشاركة الملفات", "Share will expire tomorrow" : "المشاركة ستنتهي غدا", @@ -135,8 +142,11 @@ "This application enables users to share files within Nextcloud. If enabled, the admin can choose which groups can share files. The applicable users can then share files and folders with other users and groups within Nextcloud. In addition, if the admin enables the share link feature, an external link can be used to share files with other users outside of Nextcloud. Admins can also enforce passwords, expirations dates, and enable server to server sharing via share links, as well as sharing from mobile devices.\nTurning the feature off removes shared files and folders on the server for all share recipients, and also on the sync clients and mobile apps. More information is available in the Nextcloud Documentation." : "يتيح هذا التطبيق للمستخدمين مشاركة الملفات داخل نكست كلاود. في حالة التمكين ، يمكن للمسؤول اختيار المجموعات التي يمكنها مشاركة الملفات. يمكن للمستخدمين المناسبين مشاركة الملفات والمجلدات مع مستخدمين ومجموعات أخرى داخل نكست كلاود. بالإضافة إلى ذلك ، إذا قام المسؤول بتمكين ميزة ارتباط المشاركة ، فيمكن استخدام ارتباط خارجي لمشاركة الملفات مع مستخدمين آخرين خارج نكست كلاود. يمكن للمسؤولين أيضًا فرض كلمات المرور وتواريخ انتهاء الصلاحية وتمكين مشاركة الخادم للخادم عبر روابط المشاركة ، بالإضافة إلى المشاركة من الأجهزة المحمولة.\nيؤدي إيقاف تشغيل الميزة إلى إزالة الملفات والمجلدات المشتركة على الخادم لجميع مستلمي المشاركة ، وكذلك على عملاء المزامنة وتطبيقات الأجهزة المحمولة. يتوفر المزيد من المعلومات في نكست كلاود التعليمات.", "Sharing" : "مشاركة", "Accept user and group shares by default" : "قبول مشاركات المستخدم والمجموعة بشكل افتراضي", + "Error while toggling options" : "خطأ أثناء تقليب الخيارات", "Set default folder for accepted shares" : "تعيين المجلد الافتراضي للمشاركات المقبولة", "Reset" : "إعادة الضبط", + "Reset folder to system default" : "إعادة ضبط المجلد إلى افتراضات النظام", + "Choose a default folder for accepted shares" : "إختر مجلداً افتراضياً لقبول المشاركات", "Invalid path selected" : "تم تحديد مسار غير صحيح", "Unknown error" : "خطأ غير معروف", "Allow editing" : "السماح بالتعديلات", @@ -147,6 +157,7 @@ "Read" : "القراءة", "Upload" : "تحميل", "Edit" : "تعديل", + "Bundled permissions" : "أذونات مُجمّعة", "Allow creating" : "السماح بالإنشاء", "Allow deleting" : "السماح بالحذف", "Allow resharing" : "السماح بإعادة المشاركة ", @@ -163,10 +174,12 @@ "Shared with the group {user} by {owner}" : "مشترك مع المجموعة {user} بواسطة {owner}", "Shared with the conversation {user} by {owner}" : "تمت مشاركته مع المحادثة {user} بواسطة {owner}", "Shared with {user} by {owner}" : "مشترك مع {user} بواسطة {owner}", + "Allow download" : "اسمح بالتنزيل", "Added by {initiator}" : "تمت الإضافة بواسطة {initator}", "Via “{folder}”" : "عبر “{folder}”", "Internal link" : "الرابط الداخلي", "Cannot copy, please copy the link manually" : "لا يمكن النسخ ، يرجى نسخ الرابط يدويًا", + "Copy internal link to clipboard" : "إنسخ رابط داخلي إلى الحافظة", "Only works for users with access to this folder" : "يعمل فقط للمستخدمين الذين لديهم حق الوصول إلى هذا المجلد", "Only works for users with access to this file" : "يعمل فقط للمستخدمين الذين لديهم حق الوصول إلى هذا الملف", "Link copied" : "نُسِخ الرابط", @@ -180,6 +193,7 @@ "Share label" : "تسمية المشاركة", "Hide download" : "إخفاء التنزيل", "Password protect" : "حماية كلمة السر", + "Password expires {passwordExpirationTime}" : "صلاحية كلمة السر تنتهي في {passwordExpirationTime}", "Password expired" : "انتهت صلاحية كلمة المرور", "Video verification" : "التحقق من الفيديو", "Enter a note for the share recipient" : "أدخل ملاحظة لمستلم المشاركة", @@ -187,15 +201,22 @@ "Create a new share link" : "إنشاء رابط مشاركة جديد", "{shareWith} by {initiator}" : "{shareWith} مِن طرف {initiator}", "Shared via link by {initiator}" : "تمت المشاركة عبر رابط بواسطة {initator}", + "Mail share ({label})" : "مشاركة البريد ({label})", "Share link ({label})" : "رابط المشاركة ({label})", + "Share link ({index})" : "رابط مشاركة ({index})", "Share link" : "مشاركة الرابط", + "Actions for \"{title}\"" : "إجراءات لـ \"{title}\"", + "Copy public link of \"{title}\" to clipboard" : "إنسخ رابط عام لـ \"{title}\" إلى الحافظة", "Error, please enter proper password and/or expiration date" : "خطأ ، يرجى إدخال كلمة المرور الصحيحة أو تاريخ انتهاء الصلاحية", + "Link share created" : "تمّ إنشاء رابط مشاركة", + "Error while creating the share" : "خطأ أثناء إنشاء المشاركة", + "Search for share recipients" : "البحث عن مستقبلي المشاركة", "No recommendations. Start typing." : "لا توجد توصيات. ابدأ بالكتابة.", "Resharing is not allowed" : "لا يسمح بعملية إعادة المشاركة", - "Name or email …" : "اسم او بريد…", - "Name, email, or Federated Cloud ID …" : "الاسم، البريد أو معرف السحابة المتحدة", + "Name or email …" : "اسم او إيميل …", + "Name, email, or Federated Cloud ID …" : "اسم أو إيميل أو مُعرّف سحابي اتحادي", "Searching …" : "جاري البحث…", - "No elements found." : "لم يتم العثور على اي عناصر", + "No elements found." : "لم يتم العثور على أي عناصر", "Search globally" : "بحث عام", "Guest" : "ضيف", "Group" : "المجموعة", @@ -203,6 +224,7 @@ "Circle" : "دائرة ", "Talk conversation" : "محادثات", "Deck board" : "لوح Deck", + "ScienceMesh" : "ScienceMesh", "on {server}" : "على {server}", "Others with access" : "الآخرين مع صلاحية الوصول", "No other users with access found" : "لم يتم العثور على مستخدمين آخرين لهم حق الوصول", @@ -214,11 +236,18 @@ "this share just expired." : "هذه المشاركة انتهت للتو.", "Shared with you by {owner}" : "شورك معك من قبل {owner}", "Link to a file" : "ارتباط إلى ملف", + "Error creating the share: {errorMessage}" : "خطأ في إنشاء المشاركة: {errorMessage}", "Error creating the share" : "خطأ في إنشاء المشاركة", + "Error updating the share: {errorMessage}" : "خطأ أثناء تعديل المشاركة: {errorMessage}", "Error updating the share" : "خطأ في تحديث المشاركة", + "File \"{path}\" has been unshared" : "الملف \"{path}\" تمّ إلغاء مشاركته", + "Folder \"{path}\" has been unshared" : "المجلّد \"{path}\" تمّ إلغاء مشاركته", + "Share {propertyName} saved" : "اسم المشاركة {propertyName} تمّ حفظه", "Shared" : "مشترك", "Share" : "شارك", "Shared with" : "تمت مشاركته مع", + "Password created successfully" : "تمّ إنشاء الإحالة بنجاح", + "Error generating password from password policy" : "خطأ في توليد كلمة سر بسبب مخالفة قواعد إنشاء كلمات السر", "Shared with you and the group {group} by {owner}" : "تمت مشاركته معك ومع المجموعة {group} بواسطة {owner}", "Shared with you and {circle} by {owner}" : "تمت مشاركته معك ومع {circle} بواسطة {owner}", "Shared with you and the conversation {conversation} by {owner}" : "تمت مشاركته معك ومع المحادثة {conversation} بواسطة {owner}", @@ -241,6 +270,9 @@ "Uploaded files:" : "تم رفع ملفات:", "By uploading files, you agree to the %1$sterms of service%2$s." : "برفع الملفات ، فإنك توافق على %1$s شروط الخدمة %2$s.", "Add to your Nextcloud" : "اضف إلى حسابك", - "One or more of your shares will expire tomorrow" : "ستنتهي صلاحية مشاركتك أو أكثر من مشاركة غدًا" + "Sharing %s failed because the back end does not support sciencemesh shares" : "مشاركة %s أخفقت بسبب أن الخادوم لا يدعم مشاركات ScienceMesh", + "One or more of your shares will expire tomorrow" : "ستنتهي صلاحية مشاركتك أو أكثر من مشاركة غدًا", + "Science Mesh" : "Science Mesh", + "Error generating password from password_policy" : "خطأ في توليد كلمة سر بسبب مخالفة قواعد إنشاء كلمات السر" },"pluralForm" :"nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;" }
\ No newline at end of file diff --git a/apps/files_sharing/l10n/et_EE.js b/apps/files_sharing/l10n/et_EE.js index 58576817ff3..ab13e879b20 100644 --- a/apps/files_sharing/l10n/et_EE.js +++ b/apps/files_sharing/l10n/et_EE.js @@ -32,6 +32,7 @@ OC.L10N.register( "Delete" : "Kustuta", "You can upload into this folder" : "Sa saad sellesse kausta faile üles laadida", "Terms of service" : "Kasutustingimused", + "Show list view" : "Näita loendivaadet", "No compatible server found at {remote}" : "Aadressil {remote} ei leitud ühilduvat serverit", "Invalid server URL" : "Vigane serveri URL", "Failed to add the public link to your Nextcloud" : "Avaliku lingi lisamine sinu Nextcloudi ebaõnnestus", @@ -145,6 +146,7 @@ OC.L10N.register( "Cancel" : "Loobu", "Password protect" : "Parooliga kaitsmine", "Share link" : "Jaga link", + "No recommendations. Start typing." : "Soovitusi pole. Alusta trükkimist.", "Resharing is not allowed" : "Edasijagamine pole lubatud", "Searching …" : "Otsin ...", "Guest" : "Külaline", diff --git a/apps/files_sharing/l10n/et_EE.json b/apps/files_sharing/l10n/et_EE.json index 21641846c61..7aae4abfb89 100644 --- a/apps/files_sharing/l10n/et_EE.json +++ b/apps/files_sharing/l10n/et_EE.json @@ -30,6 +30,7 @@ "Delete" : "Kustuta", "You can upload into this folder" : "Sa saad sellesse kausta faile üles laadida", "Terms of service" : "Kasutustingimused", + "Show list view" : "Näita loendivaadet", "No compatible server found at {remote}" : "Aadressil {remote} ei leitud ühilduvat serverit", "Invalid server URL" : "Vigane serveri URL", "Failed to add the public link to your Nextcloud" : "Avaliku lingi lisamine sinu Nextcloudi ebaõnnestus", @@ -143,6 +144,7 @@ "Cancel" : "Loobu", "Password protect" : "Parooliga kaitsmine", "Share link" : "Jaga link", + "No recommendations. Start typing." : "Soovitusi pole. Alusta trükkimist.", "Resharing is not allowed" : "Edasijagamine pole lubatud", "Searching …" : "Otsin ...", "Guest" : "Külaline", diff --git a/apps/files_sharing/l10n/gl.js b/apps/files_sharing/l10n/gl.js index e8de67ab031..eb2725ab126 100644 --- a/apps/files_sharing/l10n/gl.js +++ b/apps/files_sharing/l10n/gl.js @@ -34,9 +34,9 @@ OC.L10N.register( "Download" : "Descargar", "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", + "Terms of service" : "Condicións do servizo", + "Show list view" : "Amosar a vista de lista", + "Show grid view" : "Amosar a vista de grella", "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", @@ -100,12 +100,12 @@ OC.L10N.register( "Files" : "Ficheiros", "A file or folder has been <strong>shared</strong>" : "<strong>Compartiuse</strong> un ficheiro ou cartafol", "Shared link" : "Ligazón compartida", - "Wrong share ID, share does not exist" : "ID de compartición incorrecto, a compartición non existe", + "Wrong share ID, share does not exist" : "O ID do recurso compartido é erróneo, o recurso compartido non existe", "Could not delete share" : "Non foi posíbel eliminar o recurso compartido", "Please specify a file or folder path" : "Especifique a ruta dun ficheiro ou cartafol", - "Wrong path, file/folder does not exist" : "Ruta incorrecta, o ficheiro/cartafol non existe", + "Wrong path, file/folder does not exist" : "Ruta errónea, o ficheiro/cartafol non existe", "Could not create share" : "Non foi posíbel crear o recurso compartido", - "Invalid permissions" : "Permisos non válidos", + "Invalid permissions" : "Permisos incorrectos", "Please specify a valid user" : "Especifique un usuario correcto", "Group sharing is disabled by the administrator" : "A opción de compartir en grupo foi desactivada polo administrador", "Please specify a valid group" : "Especifique un grupo correcto", @@ -117,22 +117,22 @@ OC.L10N.register( "Please specify a valid federated user ID" : "Especifique un ID de usuario federado válido", "Invalid date, date format must be YYYY-MM-DD" : "Data incorrecta, o formato da date debe ser AAAA-MM-DD", "Please specify a valid federated group ID" : "Especifique un ID de grupo federado válido", - "You cannot share to a Circle if the app is not enabled" : "Vostede non pode compartir para un circulo se a aplicación non esta activada", - "Please specify a valid circle" : "Especifique un circulo correcto", + "You cannot share to a Circle if the app is not enabled" : "Vostede non pode compartir para un círculo se a aplicación non esta activada", + "Please specify a valid circle" : "Especifique un círculo correcto", "Sharing %s failed because the back end does not support room shares" : "Fallou a compartición de %s, xa que a infraestrutura non admite salas compartidas", - "Sharing %s failed because the back end does not support ScienceMesh shares" : "Produciuse un erro ao compartir %s porque o back-end non admite recursos compartidos de ScienceMesh", + "Sharing %s failed because the back end does not support ScienceMesh shares" : "Produciuse un erro ao compartir %s porque a infraestrutura non admite recursos compartidos de ScienceMesh", "Unknown share type" : "Tipo descoñecido de recurso compartido", "Not a directory" : "Non é un directorio", "Could not lock node" : "Non foi posíbel bloquear o nodo", "Could not lock path" : "Non foi posíbel bloquear a ruta", - "Wrong or no update parameter given" : "Parámetro incorrecto ou non actualizado", + "Wrong or no update parameter given" : "Parámetro erróneo ou non actualizado", "Share must at least have READ or CREATE permissions" : "Compartir debe ter polo menos permisos de LER ou CREAR", "Share must have READ permission if UPDATE or DELETE permission is set" : "O recurso compartido debe ter permiso de LECTURA se está definido o permiso ACTUALIZAR ou ELIMINAR", - "\"Sending the password by Nextcloud Talk\" for sharing a file or folder failed because Nextcloud Talk is not enabled." : "Produciuse un erro ao \"enviar o contrasinal mediante Nextcloud Talk\" para compartir un ficheiro ou cartafol porque Nextcloud Talk non está activado.", + "\"Sending the password by Nextcloud Talk\" for sharing a file or folder failed because Nextcloud Talk is not enabled." : "Produciuse un erro ao «enviar o contrasinal mediante Nextcloud Talk» para compartir un ficheiro ou cartafol porque Nextcloud Talk non está activado.", "shared by %s" : "compartido por %s", "Download all files" : "Descargar todos os ficheiros", "Direct link" : "Ligazón directa", - "Add to your %s" : "Engade ao teu %s", + "Add to your %s" : "Engadir ao seu %s", "Share API is disabled" : "A API de compartición foi desactivada", "File sharing" : "Compartir ficheiros", "Share will expire tomorrow" : "O recurso compartido caduca mañá", @@ -141,11 +141,11 @@ OC.L10N.register( "You received {share} to group {group} as a share by {user}" : "Vostede recibiu {share} no grupo {group} como un elemento compartido de {user}", "Accept" : "Aceptar", "Reject" : "Rexeitar", - "This application enables users to share files within Nextcloud. If enabled, the admin can choose which groups can share files. The applicable users can then share files and folders with other users and groups within Nextcloud. In addition, if the admin enables the share link feature, an external link can be used to share files with other users outside of Nextcloud. Admins can also enforce passwords, expirations dates, and enable server to server sharing via share links, as well as sharing from mobile devices.\nTurning the feature off removes shared files and folders on the server for all share recipients, and also on the sync clients and mobile apps. More information is available in the Nextcloud Documentation." : "Esta aplicación permítelle aos usuarios compartir ficheiros dentro de Nextcloud. Se o activa, o administrador pode escoller que grupos poden compartir fiheiros. Os usuarios implicados poderán compartir ficheiros e cartafoles con outros usuarios e grupos dentro do Nextcloud. Ademais, se o administrador activa a característica de ligazón compartida, pode empregarse unha ligazón externa para compartir ficheiros con outros usuarios fora do Nextcloud. Os administradores poden obrigar a usar contrasinais ou datas de caducidade e activar a compartición de servidor a servidor mediante ligazóns compartidas, así como compartir dende dispositivos móbiles.\nDesactivar esta característica elimina os ficheiros compartidos e os cartafoles no servidor, para todos los receptores, e tamén dos clientes de sincronización e móbiles. Ten dispoñíbel máis información na documentación do Nextcloud.", + "This application enables users to share files within Nextcloud. If enabled, the admin can choose which groups can share files. The applicable users can then share files and folders with other users and groups within Nextcloud. In addition, if the admin enables the share link feature, an external link can be used to share files with other users outside of Nextcloud. Admins can also enforce passwords, expirations dates, and enable server to server sharing via share links, as well as sharing from mobile devices.\nTurning the feature off removes shared files and folders on the server for all share recipients, and also on the sync clients and mobile apps. More information is available in the Nextcloud Documentation." : "Esta aplicación permítelle aos usuarios compartir ficheiros dentro de Nextcloud. Se o activa, o administrador pode escoller que grupos poden compartir ficheiros. Os usuarios implicados poderán compartir ficheiros e cartafoles con outros usuarios e grupos dentro de Nextcloud. Ademais, se o administrador activa a característica de ligazón compartida, pode empregarse unha ligazón externa para compartir ficheiros con outros usuarios fora doeNextcloud. Os administradores poden forzar o uso de contrasinais ou datas de caducidade e activar a compartición de servidor a servidor mediante ligazóns compartidas, así como compartir dende dispositivos móbiles.\nDesactivar esta característica elimina os ficheiros compartidos e os cartafoles no servidor, para todos os receptores, e tamén dos clientes de sincronización e móbiles. Ten dispoñíbel máis información na documentación de Nextcloud.", "Sharing" : "Compartindo", "Accept user and group shares by default" : "Aceptar, por omisión, as comparticións de usuarios e grupos", "Error while toggling options" : "Produciuse un erro ao alternar as opcións", - "Set default folder for accepted shares" : "Establece o cartafol predeterminado para os recursos compartidos aceptados", + "Set default folder for accepted shares" : "Estabelecer o cartafol predeterminado para os recursos compartidos aceptados", "Reset" : "Restabelecer", "Reset folder to system default" : "Restabelecer o cartafol ao predeterminado do sistema", "Choose a default folder for accepted shares" : "Escolla un cartafol predeterminado para os recursos compartidos aceptados", @@ -195,7 +195,7 @@ OC.L10N.register( "Share label" : "Compartir a etiqueta", "Hide download" : "Agochar a descarga", "Password protect" : "Protexido con contrasinal", - "Password expires {passwordExpirationTime}" : "O contrasinal caduca {passwordExpirationTime}", + "Password expires {passwordExpirationTime}" : "O contrasinal caduca o {passwordExpirationTime}", "Password expired" : "O contrasinal caducou", "Video verification" : "Verificación de vídeo", "Enter a note for the share recipient" : "Introduza unha nota para o destinatario da compartición", @@ -205,18 +205,18 @@ OC.L10N.register( "Shared via link by {initiator}" : "Compartido mediante ligazón por {initiator}", "Mail share ({label})" : "Compartir correo ({label})", "Share link ({label})" : "Compartir a ligazón ({label})", - "Share link ({index})" : "Compartir ligazón ({index})", + "Share link ({index})" : "Compartir a ligazón ({index})", "Share link" : "Compartir ligazón", - "Actions for \"{title}\"" : "Accións para \"{title}\"", - "Copy public link of \"{title}\" to clipboard" : "Copia a ligazón pública de \"{title}\" no portapapeis", + "Actions for \"{title}\"" : "Accións para «{title}»", + "Copy public link of \"{title}\" to clipboard" : "Copiar a ligazón pública de «{title}» no portapapeis", "Error, please enter proper password and/or expiration date" : "Erro, introduza un contrasinal ou unha data de caducidade correctos", "Link share created" : "Creouse a ligazón compartida", "Error while creating the share" : "Produciuse un erro ao crear o recurso compartido", - "Search for share recipients" : "Busca destinatarios compartidos", + "Search for share recipients" : "Busca destinatarios de recursos compartidos", "No recommendations. Start typing." : "Non hai recomendacións. Comece a escribir.", "Resharing is not allowed" : "Non se permite volver compartir", "Name or email …" : "Nome ou correo…", - "Name, email, or Federated Cloud ID …" : "Nome, correo ou ID da nube federada...", + "Name, email, or Federated Cloud ID …" : "Nome, correo ou ID da nube federada…", "Searching …" : "Buscando…", "No elements found." : "Non se atoparon elementos.", "Search globally" : "Busca global", @@ -225,14 +225,14 @@ OC.L10N.register( "Email" : "Correo-e", "Circle" : "Círculo", "Talk conversation" : "Conversa co Talk", - "Deck board" : "Taboleiro do Deck", + "Deck board" : "Taboleiro do Tarxeteiro", "ScienceMesh" : "ScienceMesh", "on {server}" : "en {server}", "Others with access" : "Outros con acceso", "No other users with access found" : "Non se atoparon outros usuarios con acceso", "Toggle list of others with access to this directory" : "Alternar a lista doutros con acceso a este directorio", "Toggle list of others with access to this file" : "Alternar a lista doutros con acceso a este ficheiro", - "Unable to fetch inherited shares" : "Non foi posíbel obter os recursos compartidos herdados", + "Unable to fetch inherited shares" : "Non é posíbel obter os recursos compartidos herdados", "Unable to load the shares list" : "Non é posíbel cargar a lista de recursos compartidos", "Expires {relativetime}" : "Caducidades {relativetime}", "this share just expired." : "acaba de caducar este recurso compartido.", @@ -242,14 +242,14 @@ OC.L10N.register( "Error creating the share" : "Produciuse un erro ao crear a compartición", "Error updating the share: {errorMessage}" : "Produciuse un erro ao actualizar a compartición: {errorMessage}", "Error updating the share" : "Produciuse un erro ao actualizar a compartición", - "File \"{path}\" has been unshared" : "Non se compartiu o ficheiro \"{path}\".", - "Folder \"{path}\" has been unshared" : "Non se compartiu o cartafol \"{path}\".", + "File \"{path}\" has been unshared" : "Foi retirado o ficheiro compartido «{path}».", + "Folder \"{path}\" has been unshared" : "Foi retirado o cartafol compartido «{path}».", "Share {propertyName} saved" : "Recurso compartido {propertyName} gardado", "Shared" : "Compartido", "Share" : "Compartir", "Shared with" : "Compartido con", - "Password created successfully" : "O contrasinal creouse correctamente", - "Error generating password from password policy" : "Erro ao xerar o contrasinal pola política de contrasinais", + "Password created successfully" : "O contrasinal foi creado correctamente", + "Error generating password from password policy" : "Produciuse un erro ao xerar o contrasinal a partir da directiva de contrasinais", "Shared with you and the group {group} by {owner}" : "Compartido con vostede e co grupo {group} por {owner}", "Shared with you and {circle} by {owner}" : "Compartido con vostede e {circle} por {owner}", "Shared with you and the conversation {conversation} by {owner}" : "Compartido con vostede e a conversa {conversation} por {owner}", @@ -258,7 +258,7 @@ OC.L10N.register( "Name" : "Nome", "Share time" : "Compartido hai", "Expiration date" : "Data de caducidade", - "Sorry, this link does not seem to work anymore." : "Sentímolo, esta ligazón parece que xa non funciona.", + "Sorry, this link does not seem to work anymore." : "Desculpe, esta ligazón parece que xa non funciona.", "Reasons might be:" : "As razóns poderían ser:", "the item was removed" : "o elemento foi retirado", "the link expired" : "a ligazón caducou", @@ -270,11 +270,11 @@ OC.L10N.register( "Select or drop files" : "Seleccione ou arrastre e solte ficheiros", "Uploading files" : "Enviando ficheiros", "Uploaded files:" : "Ficheiros enviados:", - "By uploading files, you agree to the %1$sterms of service%2$s." : "Ao enviar ficheiros acepta os %1$s termos do servizo %2$s.", + "By uploading files, you agree to the %1$sterms of service%2$s." : "Ao enviar ficheiros acepta as %1$s condicións do servizo %2$s.", "Add to your Nextcloud" : "Engadir ao seu Nextcloud", - "Sharing %s failed because the back end does not support sciencemesh shares" : "Produciuse un erro ao compartir %s porque o back-end non admite recursos compartidos sciencemesh", + "Sharing %s failed because the back end does not support sciencemesh shares" : "Produciuse un erro ao compartir %s porque a infraestrutura non admite recursos compartidos de ScienceMesh", "One or more of your shares will expire tomorrow" : "Un ou mais dos seus recursos compartidos caducarán mañá", "Science Mesh" : "Science Mesh", - "Error generating password from password_policy" : "Erro ao xerar o contrasinal pola password_policy" + "Error generating password from password_policy" : "Produciuse un erro ao xerar o contrasinal a partir da directiva de contrasinais" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/files_sharing/l10n/gl.json b/apps/files_sharing/l10n/gl.json index 211c297aa50..5b1a7b8ae2b 100644 --- a/apps/files_sharing/l10n/gl.json +++ b/apps/files_sharing/l10n/gl.json @@ -32,9 +32,9 @@ "Download" : "Descargar", "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", + "Terms of service" : "Condicións do servizo", + "Show list view" : "Amosar a vista de lista", + "Show grid view" : "Amosar a vista de grella", "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", @@ -98,12 +98,12 @@ "Files" : "Ficheiros", "A file or folder has been <strong>shared</strong>" : "<strong>Compartiuse</strong> un ficheiro ou cartafol", "Shared link" : "Ligazón compartida", - "Wrong share ID, share does not exist" : "ID de compartición incorrecto, a compartición non existe", + "Wrong share ID, share does not exist" : "O ID do recurso compartido é erróneo, o recurso compartido non existe", "Could not delete share" : "Non foi posíbel eliminar o recurso compartido", "Please specify a file or folder path" : "Especifique a ruta dun ficheiro ou cartafol", - "Wrong path, file/folder does not exist" : "Ruta incorrecta, o ficheiro/cartafol non existe", + "Wrong path, file/folder does not exist" : "Ruta errónea, o ficheiro/cartafol non existe", "Could not create share" : "Non foi posíbel crear o recurso compartido", - "Invalid permissions" : "Permisos non válidos", + "Invalid permissions" : "Permisos incorrectos", "Please specify a valid user" : "Especifique un usuario correcto", "Group sharing is disabled by the administrator" : "A opción de compartir en grupo foi desactivada polo administrador", "Please specify a valid group" : "Especifique un grupo correcto", @@ -115,22 +115,22 @@ "Please specify a valid federated user ID" : "Especifique un ID de usuario federado válido", "Invalid date, date format must be YYYY-MM-DD" : "Data incorrecta, o formato da date debe ser AAAA-MM-DD", "Please specify a valid federated group ID" : "Especifique un ID de grupo federado válido", - "You cannot share to a Circle if the app is not enabled" : "Vostede non pode compartir para un circulo se a aplicación non esta activada", - "Please specify a valid circle" : "Especifique un circulo correcto", + "You cannot share to a Circle if the app is not enabled" : "Vostede non pode compartir para un círculo se a aplicación non esta activada", + "Please specify a valid circle" : "Especifique un círculo correcto", "Sharing %s failed because the back end does not support room shares" : "Fallou a compartición de %s, xa que a infraestrutura non admite salas compartidas", - "Sharing %s failed because the back end does not support ScienceMesh shares" : "Produciuse un erro ao compartir %s porque o back-end non admite recursos compartidos de ScienceMesh", + "Sharing %s failed because the back end does not support ScienceMesh shares" : "Produciuse un erro ao compartir %s porque a infraestrutura non admite recursos compartidos de ScienceMesh", "Unknown share type" : "Tipo descoñecido de recurso compartido", "Not a directory" : "Non é un directorio", "Could not lock node" : "Non foi posíbel bloquear o nodo", "Could not lock path" : "Non foi posíbel bloquear a ruta", - "Wrong or no update parameter given" : "Parámetro incorrecto ou non actualizado", + "Wrong or no update parameter given" : "Parámetro erróneo ou non actualizado", "Share must at least have READ or CREATE permissions" : "Compartir debe ter polo menos permisos de LER ou CREAR", "Share must have READ permission if UPDATE or DELETE permission is set" : "O recurso compartido debe ter permiso de LECTURA se está definido o permiso ACTUALIZAR ou ELIMINAR", - "\"Sending the password by Nextcloud Talk\" for sharing a file or folder failed because Nextcloud Talk is not enabled." : "Produciuse un erro ao \"enviar o contrasinal mediante Nextcloud Talk\" para compartir un ficheiro ou cartafol porque Nextcloud Talk non está activado.", + "\"Sending the password by Nextcloud Talk\" for sharing a file or folder failed because Nextcloud Talk is not enabled." : "Produciuse un erro ao «enviar o contrasinal mediante Nextcloud Talk» para compartir un ficheiro ou cartafol porque Nextcloud Talk non está activado.", "shared by %s" : "compartido por %s", "Download all files" : "Descargar todos os ficheiros", "Direct link" : "Ligazón directa", - "Add to your %s" : "Engade ao teu %s", + "Add to your %s" : "Engadir ao seu %s", "Share API is disabled" : "A API de compartición foi desactivada", "File sharing" : "Compartir ficheiros", "Share will expire tomorrow" : "O recurso compartido caduca mañá", @@ -139,11 +139,11 @@ "You received {share} to group {group} as a share by {user}" : "Vostede recibiu {share} no grupo {group} como un elemento compartido de {user}", "Accept" : "Aceptar", "Reject" : "Rexeitar", - "This application enables users to share files within Nextcloud. If enabled, the admin can choose which groups can share files. The applicable users can then share files and folders with other users and groups within Nextcloud. In addition, if the admin enables the share link feature, an external link can be used to share files with other users outside of Nextcloud. Admins can also enforce passwords, expirations dates, and enable server to server sharing via share links, as well as sharing from mobile devices.\nTurning the feature off removes shared files and folders on the server for all share recipients, and also on the sync clients and mobile apps. More information is available in the Nextcloud Documentation." : "Esta aplicación permítelle aos usuarios compartir ficheiros dentro de Nextcloud. Se o activa, o administrador pode escoller que grupos poden compartir fiheiros. Os usuarios implicados poderán compartir ficheiros e cartafoles con outros usuarios e grupos dentro do Nextcloud. Ademais, se o administrador activa a característica de ligazón compartida, pode empregarse unha ligazón externa para compartir ficheiros con outros usuarios fora do Nextcloud. Os administradores poden obrigar a usar contrasinais ou datas de caducidade e activar a compartición de servidor a servidor mediante ligazóns compartidas, así como compartir dende dispositivos móbiles.\nDesactivar esta característica elimina os ficheiros compartidos e os cartafoles no servidor, para todos los receptores, e tamén dos clientes de sincronización e móbiles. Ten dispoñíbel máis información na documentación do Nextcloud.", + "This application enables users to share files within Nextcloud. If enabled, the admin can choose which groups can share files. The applicable users can then share files and folders with other users and groups within Nextcloud. In addition, if the admin enables the share link feature, an external link can be used to share files with other users outside of Nextcloud. Admins can also enforce passwords, expirations dates, and enable server to server sharing via share links, as well as sharing from mobile devices.\nTurning the feature off removes shared files and folders on the server for all share recipients, and also on the sync clients and mobile apps. More information is available in the Nextcloud Documentation." : "Esta aplicación permítelle aos usuarios compartir ficheiros dentro de Nextcloud. Se o activa, o administrador pode escoller que grupos poden compartir ficheiros. Os usuarios implicados poderán compartir ficheiros e cartafoles con outros usuarios e grupos dentro de Nextcloud. Ademais, se o administrador activa a característica de ligazón compartida, pode empregarse unha ligazón externa para compartir ficheiros con outros usuarios fora doeNextcloud. Os administradores poden forzar o uso de contrasinais ou datas de caducidade e activar a compartición de servidor a servidor mediante ligazóns compartidas, así como compartir dende dispositivos móbiles.\nDesactivar esta característica elimina os ficheiros compartidos e os cartafoles no servidor, para todos os receptores, e tamén dos clientes de sincronización e móbiles. Ten dispoñíbel máis información na documentación de Nextcloud.", "Sharing" : "Compartindo", "Accept user and group shares by default" : "Aceptar, por omisión, as comparticións de usuarios e grupos", "Error while toggling options" : "Produciuse un erro ao alternar as opcións", - "Set default folder for accepted shares" : "Establece o cartafol predeterminado para os recursos compartidos aceptados", + "Set default folder for accepted shares" : "Estabelecer o cartafol predeterminado para os recursos compartidos aceptados", "Reset" : "Restabelecer", "Reset folder to system default" : "Restabelecer o cartafol ao predeterminado do sistema", "Choose a default folder for accepted shares" : "Escolla un cartafol predeterminado para os recursos compartidos aceptados", @@ -193,7 +193,7 @@ "Share label" : "Compartir a etiqueta", "Hide download" : "Agochar a descarga", "Password protect" : "Protexido con contrasinal", - "Password expires {passwordExpirationTime}" : "O contrasinal caduca {passwordExpirationTime}", + "Password expires {passwordExpirationTime}" : "O contrasinal caduca o {passwordExpirationTime}", "Password expired" : "O contrasinal caducou", "Video verification" : "Verificación de vídeo", "Enter a note for the share recipient" : "Introduza unha nota para o destinatario da compartición", @@ -203,18 +203,18 @@ "Shared via link by {initiator}" : "Compartido mediante ligazón por {initiator}", "Mail share ({label})" : "Compartir correo ({label})", "Share link ({label})" : "Compartir a ligazón ({label})", - "Share link ({index})" : "Compartir ligazón ({index})", + "Share link ({index})" : "Compartir a ligazón ({index})", "Share link" : "Compartir ligazón", - "Actions for \"{title}\"" : "Accións para \"{title}\"", - "Copy public link of \"{title}\" to clipboard" : "Copia a ligazón pública de \"{title}\" no portapapeis", + "Actions for \"{title}\"" : "Accións para «{title}»", + "Copy public link of \"{title}\" to clipboard" : "Copiar a ligazón pública de «{title}» no portapapeis", "Error, please enter proper password and/or expiration date" : "Erro, introduza un contrasinal ou unha data de caducidade correctos", "Link share created" : "Creouse a ligazón compartida", "Error while creating the share" : "Produciuse un erro ao crear o recurso compartido", - "Search for share recipients" : "Busca destinatarios compartidos", + "Search for share recipients" : "Busca destinatarios de recursos compartidos", "No recommendations. Start typing." : "Non hai recomendacións. Comece a escribir.", "Resharing is not allowed" : "Non se permite volver compartir", "Name or email …" : "Nome ou correo…", - "Name, email, or Federated Cloud ID …" : "Nome, correo ou ID da nube federada...", + "Name, email, or Federated Cloud ID …" : "Nome, correo ou ID da nube federada…", "Searching …" : "Buscando…", "No elements found." : "Non se atoparon elementos.", "Search globally" : "Busca global", @@ -223,14 +223,14 @@ "Email" : "Correo-e", "Circle" : "Círculo", "Talk conversation" : "Conversa co Talk", - "Deck board" : "Taboleiro do Deck", + "Deck board" : "Taboleiro do Tarxeteiro", "ScienceMesh" : "ScienceMesh", "on {server}" : "en {server}", "Others with access" : "Outros con acceso", "No other users with access found" : "Non se atoparon outros usuarios con acceso", "Toggle list of others with access to this directory" : "Alternar a lista doutros con acceso a este directorio", "Toggle list of others with access to this file" : "Alternar a lista doutros con acceso a este ficheiro", - "Unable to fetch inherited shares" : "Non foi posíbel obter os recursos compartidos herdados", + "Unable to fetch inherited shares" : "Non é posíbel obter os recursos compartidos herdados", "Unable to load the shares list" : "Non é posíbel cargar a lista de recursos compartidos", "Expires {relativetime}" : "Caducidades {relativetime}", "this share just expired." : "acaba de caducar este recurso compartido.", @@ -240,14 +240,14 @@ "Error creating the share" : "Produciuse un erro ao crear a compartición", "Error updating the share: {errorMessage}" : "Produciuse un erro ao actualizar a compartición: {errorMessage}", "Error updating the share" : "Produciuse un erro ao actualizar a compartición", - "File \"{path}\" has been unshared" : "Non se compartiu o ficheiro \"{path}\".", - "Folder \"{path}\" has been unshared" : "Non se compartiu o cartafol \"{path}\".", + "File \"{path}\" has been unshared" : "Foi retirado o ficheiro compartido «{path}».", + "Folder \"{path}\" has been unshared" : "Foi retirado o cartafol compartido «{path}».", "Share {propertyName} saved" : "Recurso compartido {propertyName} gardado", "Shared" : "Compartido", "Share" : "Compartir", "Shared with" : "Compartido con", - "Password created successfully" : "O contrasinal creouse correctamente", - "Error generating password from password policy" : "Erro ao xerar o contrasinal pola política de contrasinais", + "Password created successfully" : "O contrasinal foi creado correctamente", + "Error generating password from password policy" : "Produciuse un erro ao xerar o contrasinal a partir da directiva de contrasinais", "Shared with you and the group {group} by {owner}" : "Compartido con vostede e co grupo {group} por {owner}", "Shared with you and {circle} by {owner}" : "Compartido con vostede e {circle} por {owner}", "Shared with you and the conversation {conversation} by {owner}" : "Compartido con vostede e a conversa {conversation} por {owner}", @@ -256,7 +256,7 @@ "Name" : "Nome", "Share time" : "Compartido hai", "Expiration date" : "Data de caducidade", - "Sorry, this link does not seem to work anymore." : "Sentímolo, esta ligazón parece que xa non funciona.", + "Sorry, this link does not seem to work anymore." : "Desculpe, esta ligazón parece que xa non funciona.", "Reasons might be:" : "As razóns poderían ser:", "the item was removed" : "o elemento foi retirado", "the link expired" : "a ligazón caducou", @@ -268,11 +268,11 @@ "Select or drop files" : "Seleccione ou arrastre e solte ficheiros", "Uploading files" : "Enviando ficheiros", "Uploaded files:" : "Ficheiros enviados:", - "By uploading files, you agree to the %1$sterms of service%2$s." : "Ao enviar ficheiros acepta os %1$s termos do servizo %2$s.", + "By uploading files, you agree to the %1$sterms of service%2$s." : "Ao enviar ficheiros acepta as %1$s condicións do servizo %2$s.", "Add to your Nextcloud" : "Engadir ao seu Nextcloud", - "Sharing %s failed because the back end does not support sciencemesh shares" : "Produciuse un erro ao compartir %s porque o back-end non admite recursos compartidos sciencemesh", + "Sharing %s failed because the back end does not support sciencemesh shares" : "Produciuse un erro ao compartir %s porque a infraestrutura non admite recursos compartidos de ScienceMesh", "One or more of your shares will expire tomorrow" : "Un ou mais dos seus recursos compartidos caducarán mañá", "Science Mesh" : "Science Mesh", - "Error generating password from password_policy" : "Erro ao xerar o contrasinal pola password_policy" + "Error generating password from password_policy" : "Produciuse un erro ao xerar o contrasinal a partir da directiva de contrasinais" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/files_sharing/l10n/ko.js b/apps/files_sharing/l10n/ko.js index ab2fd831e0b..6f79305f5df 100644 --- a/apps/files_sharing/l10n/ko.js +++ b/apps/files_sharing/l10n/ko.js @@ -12,11 +12,13 @@ OC.L10N.register( "Files and folders you share by link will show up here" : "내가 링크로 공유하는 파일과 폴더가 여기에 나타납니다", "Deleted shares" : "삭제된 공유", "No deleted shares" : "삭제된 공유 없음", - "Shares you deleted will show up here" : "삭제한 공유 목록이 여기에 표시됩니다", + "Shares you deleted will show up here" : "삭제한 공유 목록이 여기에 표시됩니다.", "Pending shares" : "진행중인 공유", + "No pending shares" : "보류 중인 공유 없음", + "Shares you have received but not confirmed will show up here" : "공유를 받았지만 확인하지 않은 경우 이곳에 표시됩니다.", "Shares" : "공유", "No shares" : "공유 없음", - "Shares will show up here" : "공유 목록이 여기에 표시됩니다", + "Shares will show up here" : "공유 목록이 여기에 표시됩니다.", "Restore" : "Restore", "Restore share" : "공유 복원", "Something happened. Unable to restore the share." : "무언가 잘못되었습니다. 공유를 복원할 수 없습니다.", @@ -33,6 +35,7 @@ OC.L10N.register( "Delete" : "삭제", "You can upload into this folder" : "이 폴더에 업로드할 수 있습니다", "Terms of service" : "이용 약관", + "Show list view" : "목록 보기", "Show grid view" : "그리드 보기", "No compatible server found at {remote}" : "{remote}에서 호환 서버를 찾을 수 없음", "Invalid server URL" : "잘못된 서버 URL", @@ -48,10 +51,12 @@ OC.L10N.register( "Removed share for group {group}" : "그룹 {group}의 공유를 삭제함", "{actor} shared with group {group}" : "{actor} 님이 그룹 {group}와(과) 공유함", "{actor} removed share for group {group}" : "{actor} 님이 그룹 {group}의 공유를 삭제함", + "Share for group {group} expired" : "{group} 그룹과의 공유가 만료됨", "You shared {file} with group {group}" : "파일 {file}을(를) 그룹 {group}와(과) 공유함", "You removed group {group} from {file}" : "그룹 {group}을(를) {file}에서 삭제함", "{actor} shared {file} with group {group}" : "{actor} 님이 {file}을(를) 그룹 {group}와(과) 공유함", "{actor} removed group {group} from {file}" : "{actor} 님이 그룹 {group}을(를) {file}에서 삭제함", + "Share for file {file} with group {group} expired" : "{group} 그룹과의 {file} 파일의 공유가 만료됨", "Shared as public link" : "공개 링크로 공유함", "Removed public link" : "공개 링크 삭제함", "Public link expired" : "공개 링크 만료됨", @@ -73,91 +78,146 @@ OC.L10N.register( "Shared with {user}" : "{user} 님과 공유됨", "Removed share for {user}" : "{user} 님의 공유 삭제함", "You removed yourself" : "자기 자신을 삭제함", - "{actor} removed themselves" : "{actor} 님이 자기 자신을 삭제함", + "{actor} removed themselves" : "{actor}님이 자기 자신을 삭제함", "{actor} shared with {user}" : "{actor} 님이 {user} 님과 공유함", "{actor} removed share for {user}" : "{actor} 님이 {user} 님의 공유 삭제함", "Shared by {actor}" : "{actor} 님이 공유함", "{actor} removed share" : "{actor} 님이 공유 삭제함", + "Share for {user} expired" : "{user}(과)와의 공유가 만료됨", + "Share expired" : "공유가 만료됨", "You shared {file} with {user}" : "{file}을(를) {user} 님과 공유함", "You removed {user} from {file}" : "{user} 님을 {file}에서 삭제함", "You removed yourself from {file}" : "{file}에서 자기 자신을 삭제함", - "{actor} removed themselves from {file}" : "{actor} 님이 {file}에서 자기 자신을 삭제함", + "{actor} removed themselves from {file}" : "{actor}님이 {file}에서 자기 자신을 삭제함", "{actor} shared {file} with {user}" : "{actor} 님이 {file}을(를) {user} 님과 공유함", "{actor} removed {user} from {file}" : "{actor} 님이 {user} 님을 {file}에서 삭제함", "{actor} shared {file} with you" : "{actor} 님이 {file}을 공유함", - "{actor} removed you from the share named {file}" : "{actor} 님이 여러분을 {file} 공유에서 삭제함", + "{actor} removed you from the share named {file}" : "{actor}님이 여러분을 {file} 공유에서 삭제함", + "Share for file {file} with {user} expired" : "{user}(과)와의 {file} 파일의 공유가 만료됨", + "Share for file {file} expired" : "{file} 파일의 공유가 만료됨", "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "이메일이나 공개 공유로 공유한 파일이 <strong>다운로드됨</strong>", "A file or folder was shared from <strong>another server</strong>" : "<strong>다른 서버</strong>에서 파일이나 폴더를 공유함", "Files" : "파일", "A file or folder has been <strong>shared</strong>" : "파일이나 폴더가 <strong>공유됨</strong>", "Shared link" : "공유 링크", + "Wrong share ID, share does not exist" : "공유 ID가 잘못되었습니다, 공유가 존재하지 않습니다.", "Could not delete share" : "공유를 삭제할 수 없음", "Please specify a file or folder path" : "파일이나 폴더 경로를 지정하십시오", + "Wrong path, file/folder does not exist" : "경로가 잘못됨, 파일 또는 폴더가 존재하지 않음", "Could not create share" : "공유를 만들 수 없음", + "Invalid permissions" : "권한이 유효하지 않음", "Please specify a valid user" : "올바른 사용자를 지정하십시오", "Group sharing is disabled by the administrator" : "관리자가 그룹 공유를 비활성화함", "Please specify a valid group" : "올바른 그룹을 지정하십시오", "Public link sharing is disabled by the administrator" : "관리자가 공개 링크 공유를 비활성화함", "Public upload disabled by the administrator" : "공개 업로드는 관리자에 의해 비활성화되어 있음", "Public upload is only possible for publicly shared folders" : "공개 공유 폴더에만 공개 업로드를 사용할 수 있음", - "Sharing %s sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "Nextcloud 토크가 활성화되어 있지 않기 때문에 Nextcloud 토크로 %s의 공유 암호를 전송할 수 없음", + "Sharing %s sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "Nextcloud 토크가 활성화되어 있지 않기 때문에 Nextcloud 토크에 암호를 보내서 %s(을)를 공유 할 수 없음", "Sharing %1$s failed because the back end does not allow shares from type %2$s" : "%1$s을(를) 공유할 수 없습니다. 백엔드에서 %2$s 형식의 공유를 지원하지 않습니다", - "Invalid date, date format must be YYYY-MM-DD" : "잘못된 날짜, YYYY-MM-DD 형식이어야 합니다", + "Please specify a valid federated user ID" : "유효한 연합 사용자 ID를 지정하세요.", + "Invalid date, date format must be YYYY-MM-DD" : "잘못된 날짜, YYYY-MM-DD 형식이어야 합니다.", + "Please specify a valid federated group ID" : "유효한 연합 그룹 ID를 지정하세요.", "You cannot share to a Circle if the app is not enabled" : "서클 앱이 활성화되어 있지 않으면 서클로 공유할 수 없음", "Please specify a valid circle" : "올바른 서클을 지정하십시오", "Sharing %s failed because the back end does not support room shares" : "%s 공유 실패. 백엔드에서 방 공유를 지원하지 않습니다", + "Sharing %s failed because the back end does not support ScienceMesh shares" : "백엔드가 ScienceMesh 공유를 지원하지 않기 때문에 %s의 공유가 실패했습니다.", "Unknown share type" : "알 수 없는 공유 형식", "Not a directory" : "디렉터리가 아님", + "Could not lock node" : "노드를 잠글 수 없음", "Could not lock path" : "경로를 잠글 수 없음", "Wrong or no update parameter given" : "업데이트 인자가 잘못되었거나 지정되지 않았음", + "Share must at least have READ or CREATE permissions" : "공유에는 읽기와 생성 권한이 꼭 필요합니다.", + "Share must have READ permission if UPDATE or DELETE permission is set" : "공유에 업데이트와 삭제 권한이 설정되어 있다면 읽기 권한이 꼭 필요합니다.", + "\"Sending the password by Nextcloud Talk\" for sharing a file or folder failed because Nextcloud Talk is not enabled." : "Nextcloud 토크가 활성화되어 있지 않기 때문에, 파일 및 폴더 공유를 위한 \"Nextcloud 토크에 암호 보내기\"가 실패했습니다.", "shared by %s" : "%s에 의해 공유됨", "Download all files" : "모든 파일 다운로드", "Direct link" : "직접 링크", + "Add to your %s" : "%s에 추가", "Share API is disabled" : "공유 API가 비활성화됨", "File sharing" : "파일 공유", + "Share will expire tomorrow" : "내일 공유가 만료됩니다.", + "Your share of {node} will expire tomorrow" : "내일 {node}의 공유가 만료됩니다.", + "You received {share} as a share by {user}" : "{user}님의 공유로 {share}(을)를 받았습니다.", + "You received {share} to group {group} as a share by {user}" : "{user}님의 공유로 {group}그룹에서 {share}(을)를 받았습니다.", "Accept" : "수락", "Reject" : "거절", "This application enables users to share files within Nextcloud. If enabled, the admin can choose which groups can share files. The applicable users can then share files and folders with other users and groups within Nextcloud. In addition, if the admin enables the share link feature, an external link can be used to share files with other users outside of Nextcloud. Admins can also enforce passwords, expirations dates, and enable server to server sharing via share links, as well as sharing from mobile devices.\nTurning the feature off removes shared files and folders on the server for all share recipients, and also on the sync clients and mobile apps. More information is available in the Nextcloud Documentation." : "이 앱을 사용하여 Nextcloud 내에서 사용자간 파일을 공유할 수 있습니다. 앱을 활성화하면 관리자가 파일 공유를 허용할 그룹을 지정할 수 있습니다. 공유가 허용된 사용자는 Nextcloud 내의 다른 사용자나 그룹과 파일이나 폴더를 공유할 수 있습니다. 추가로 관리자가 링크 공유 기능을 활성화하면 Nextcloud 외부 사용자와 파일을 공유할 수 있는 외부 링크가 생성됩니다. 관리자는 암호나 만료 날짜 사용을 강제할 수 있으며, 공유 링크로 서버간 공유 기능이나 모바일 장치에서 공유를 활성화할 수 있습니다.\n공유 기능을 비활성화하면 서버에 있는 모든 공유된 파일이나 폴더를 삭제하며, 동기화 클라이언트나 모바일 앱에도 적용됩니다. 자세한 정보를 보려면 Nextcloud 문서를 참조하십시오.", "Sharing" : "공유", "Accept user and group shares by default" : "사용자 공유나 그룹 공유를 기본으로 허용함", + "Error while toggling options" : "옵션을 켜는 중 오류 발생", "Set default folder for accepted shares" : "허용한 공유의 기본 경로 설정", "Reset" : "초기화", + "Reset folder to system default" : "폴더를 시스템 기본값으로 재설정", + "Choose a default folder for accepted shares" : "수락한 공유의 기본 폴더를 지정하세요.", "Invalid path selected" : "잘못된 경로가 선택됨", "Unknown error" : "알 수 없는 오류", "Allow editing" : "Allow editing", "Read only" : "Read only", "Allow upload and editing" : "Allow upload and editing", "File drop (upload only)" : "File drop (upload only)", + "Custom permissions" : "사용자 지정 권한", "Read" : "읽기", "Upload" : "업로드", "Edit" : "편집", + "Bundled permissions" : "번들 권한", "Allow creating" : "생성 수락", "Allow deleting" : "삭제 수락", "Allow resharing" : "재공유 허용", "Expiration date enforced" : "만료 날짜 적용", "Set expiration date" : "만료기한 설정", "Enter a date" : "날짜 입력", - "Note to recipient" : "받는 사람 메모", + "Note to recipient" : "받는이에게 메모", "Unshare" : "공유 해제", "group" : "그룹", "conversation" : "대화", "remote" : "원격", "remote group" : "원격 그룹", "guest" : "손님", + "Shared with the group {user} by {owner}" : "{owner}님이 {user} 그룹에게 공유함", + "Shared with the conversation {user} by {owner}" : "{owner}님이 {user} 대화방과 함께 공유함", + "Shared with {user} by {owner}" : "{owner}님이 {user}님에게 공유함", + "Allow download" : "다운로드 허용", + "Added by {initiator}" : "{initiator}님에 의해 추가됨", + "Via “{folder}”" : "“{folder}”(을)를 통하여", "Internal link" : "내부 링크", + "Cannot copy, please copy the link manually" : "복사할 수 없습니다, 링크를 수동으로 복사하세요.", + "Copy internal link to clipboard" : "내부 링크를 클립보드에 복사", "Only works for users with access to this folder" : "이 폴더에 액세스하는 사용자에게만 해당됩니다.", + "Only works for users with access to this file" : "이 파일에 접근할 수 있는 사용자에게만 작동", "Link copied" : "링크 복사됨", + "Please enter the following required information before creating the share" : "공유를 하기 전에 다음 필수 정보를 입력하세요.", + "Password protection (enforced)" : "암호 보호 (강제됨)", "Password protection" : "암호 보호", "Enter a password" : "Enter a password", + "Expiration date (enforced)" : "만료일 (강제됨)", + "Create share" : "공유 만들기", "Cancel" : "취소", + "Share label" : "레이블 공유", "Hide download" : "Hide download", "Password protect" : "암호 보호", + "Password expires {passwordExpirationTime}" : "암호가 {passwordExpirationTime}에 만료됨", + "Password expired" : "암호 만료됨", + "Video verification" : "화상 인증", + "Enter a note for the share recipient" : "받는이를 위한 메모 입력", "Add another link" : "다른 링크 추가", "Create a new share link" : "새로운 공유 링크 생성", + "Shared via link by {initiator}" : "{initiator}님이 링크를 통해 공유함", + "Mail share ({label})" : "메일 공유 ({label})", + "Share link ({label})" : "링크 공유 ({label})", + "Share link ({index})" : "링크 공유 ({index})", "Share link" : "링크 공유", + "Actions for \"{title}\"" : "\"{title}\"에 대한 작업", + "Copy public link of \"{title}\" to clipboard" : "\"{title}\"의 공개 링크를 클립보드에 복사", + "Error, please enter proper password and/or expiration date" : "오류, 적절한 암호와 만료일을 입력하세요.", + "Link share created" : "링크 공유가 만들어짐", + "Error while creating the share" : "공유를 만드는 중 오류 발생", + "Search for share recipients" : "공유 받는이 검색", "No recommendations. Start typing." : "추천 없음. 타이핑을 시작하십시오", "Resharing is not allowed" : "다시 공유할 수 없음", + "Name or email …" : "이름 또는 이메일 …", + "Name, email, or Federated Cloud ID …" : "이름, 이메일, 또는 연합 클라우드 ID …", "Searching …" : "검색 ...", + "No elements found." : "요소를 찾을 수 없습니다.", "Search globally" : "전역 검색", "Guest" : "손님", "Group" : "그룹", @@ -165,19 +225,38 @@ OC.L10N.register( "Circle" : "서클", "Talk conversation" : "토크 대화", "Deck board" : "Deck 보드", - "Shared with you by {owner}" : "{owner} 님이 여러분과 공유함", + "on {server}" : "{server}에서", + "Others with access" : "접근할 수 있는 다른 사용자", + "No other users with access found" : "접근할 수 있는 다른 사용자가 없음", + "Toggle list of others with access to this directory" : "이 경로에 접근할 수 있는 사용자들의 목록 전환", + "Toggle list of others with access to this file" : "이 파일에 접근할 수 있는 사용자들의 목록 전환", + "Unable to fetch inherited shares" : "상속된 공유를 가져올 수 없음", + "Unable to load the shares list" : "공유 목록을 불러올 수 없음", + "Expires {relativetime}" : "{relativetime}에 만료", + "this share just expired." : "이 공유는 방금 만료되었습니다.", + "Shared with you by {owner}" : "{owner}님이 당신에게 공유함", "Link to a file" : "파일로 향한 링크", + "Error creating the share: {errorMessage}" : "공유를 만드는 중 오류 발생: {errorMessage}", + "Error creating the share" : "공유를 만드는 중 오류 발생", + "Error updating the share: {errorMessage}" : "공유를 업데이트 하는 중 오류 발생: {errorMessage}", + "Error updating the share" : "공유를 업데이트 하는 중 오류 발생", + "File \"{path}\" has been unshared" : "\"{path}\" 파일의 공유가 취소됨", + "Folder \"{path}\" has been unshared" : "\"{path}\" 폴더의 공유가 취소됨", + "Share {propertyName} saved" : "{propertyName} 공유 저장됨", "Shared" : "공유됨", "Share" : "공유", "Shared with" : "다음 사용자와 공유함", - "Shared with you and the group {group} by {owner}" : "{owner} 님이 여러분 및 그룹 {group}와(과) 공유함", - "Shared with you and {circle} by {owner}" : "{owner} 님이 여러분과 {circle}와(과) 공유함", - "Shared with you and the conversation {conversation} by {owner}" : "{owner} 님이 여러분과 대화 {conversation}와(과) 공유함", - "Shared with you in a conversation by {owner}" : "{owner} 님이 대화에서 여러분과 공유함", + "Password created successfully" : "암호가 성공적으로 생성됨", + "Error generating password from password policy" : "암호 정책에서 암호 생성 중에 오류 발생", + "Shared with you and the group {group} by {owner}" : "{owner}님이 당신 및 {group} 그룹에게 공유함", + "Shared with you and {circle} by {owner}" : "{owner}님이 여러분과 {circle}에게 공유함", + "Shared with you and the conversation {conversation} by {owner}" : "{owner}님이 여러분과 대화 {conversation}와(과) 공유함", + "Shared with you in a conversation by {owner}" : "{owner}님이 대화에서 당신에게 공유함", "No entries found in this folder" : "이 폴더에 항목 없음", "Name" : "이름", "Share time" : "공유 시간", "Expiration date" : "만료 날짜", + "Sorry, this link does not seem to work anymore." : "죄송합니다, 이 링크는 더 이상 작동하지 않습니다.", "Reasons might be:" : "이유는 다음과 같을 수 있습니다:", "the item was removed" : "항목이 삭제됨", "the link expired" : "링크가 만료됨", @@ -187,9 +266,12 @@ OC.L10N.register( "Upload files to %s" : "%s에 파일 업로드", "Note" : "노트", "Select or drop files" : "파일을 선택하거나 끌어다 놓기", - "Uploading files" : "파일 업로드", + "Uploading files" : "파일 업로드 중", "Uploaded files:" : "업로드한 파일:", "By uploading files, you agree to the %1$sterms of service%2$s." : "파일을 업로드하면 %1$s이용 약관%2$s에 동의하는 것을 의미합니다.", - "Add to your Nextcloud" : "내 Nextcloud에 추가" + "Add to your Nextcloud" : "내 Nextcloud에 추가", + "Sharing %s failed because the back end does not support sciencemesh shares" : "백엔드가 ScienceMesh 공유를 지원하지 않기 때문에 %s의 공유가 실패했습니다.", + "One or more of your shares will expire tomorrow" : "하나 이상의 공유가 내일 만료됩니다.", + "Error generating password from password_policy" : "password_policy에서 암호 생성 중에 오류 발생" }, "nplurals=1; plural=0;"); diff --git a/apps/files_sharing/l10n/ko.json b/apps/files_sharing/l10n/ko.json index acce7832d22..1cb3ae7b79d 100644 --- a/apps/files_sharing/l10n/ko.json +++ b/apps/files_sharing/l10n/ko.json @@ -10,11 +10,13 @@ "Files and folders you share by link will show up here" : "내가 링크로 공유하는 파일과 폴더가 여기에 나타납니다", "Deleted shares" : "삭제된 공유", "No deleted shares" : "삭제된 공유 없음", - "Shares you deleted will show up here" : "삭제한 공유 목록이 여기에 표시됩니다", + "Shares you deleted will show up here" : "삭제한 공유 목록이 여기에 표시됩니다.", "Pending shares" : "진행중인 공유", + "No pending shares" : "보류 중인 공유 없음", + "Shares you have received but not confirmed will show up here" : "공유를 받았지만 확인하지 않은 경우 이곳에 표시됩니다.", "Shares" : "공유", "No shares" : "공유 없음", - "Shares will show up here" : "공유 목록이 여기에 표시됩니다", + "Shares will show up here" : "공유 목록이 여기에 표시됩니다.", "Restore" : "Restore", "Restore share" : "공유 복원", "Something happened. Unable to restore the share." : "무언가 잘못되었습니다. 공유를 복원할 수 없습니다.", @@ -31,6 +33,7 @@ "Delete" : "삭제", "You can upload into this folder" : "이 폴더에 업로드할 수 있습니다", "Terms of service" : "이용 약관", + "Show list view" : "목록 보기", "Show grid view" : "그리드 보기", "No compatible server found at {remote}" : "{remote}에서 호환 서버를 찾을 수 없음", "Invalid server URL" : "잘못된 서버 URL", @@ -46,10 +49,12 @@ "Removed share for group {group}" : "그룹 {group}의 공유를 삭제함", "{actor} shared with group {group}" : "{actor} 님이 그룹 {group}와(과) 공유함", "{actor} removed share for group {group}" : "{actor} 님이 그룹 {group}의 공유를 삭제함", + "Share for group {group} expired" : "{group} 그룹과의 공유가 만료됨", "You shared {file} with group {group}" : "파일 {file}을(를) 그룹 {group}와(과) 공유함", "You removed group {group} from {file}" : "그룹 {group}을(를) {file}에서 삭제함", "{actor} shared {file} with group {group}" : "{actor} 님이 {file}을(를) 그룹 {group}와(과) 공유함", "{actor} removed group {group} from {file}" : "{actor} 님이 그룹 {group}을(를) {file}에서 삭제함", + "Share for file {file} with group {group} expired" : "{group} 그룹과의 {file} 파일의 공유가 만료됨", "Shared as public link" : "공개 링크로 공유함", "Removed public link" : "공개 링크 삭제함", "Public link expired" : "공개 링크 만료됨", @@ -71,91 +76,146 @@ "Shared with {user}" : "{user} 님과 공유됨", "Removed share for {user}" : "{user} 님의 공유 삭제함", "You removed yourself" : "자기 자신을 삭제함", - "{actor} removed themselves" : "{actor} 님이 자기 자신을 삭제함", + "{actor} removed themselves" : "{actor}님이 자기 자신을 삭제함", "{actor} shared with {user}" : "{actor} 님이 {user} 님과 공유함", "{actor} removed share for {user}" : "{actor} 님이 {user} 님의 공유 삭제함", "Shared by {actor}" : "{actor} 님이 공유함", "{actor} removed share" : "{actor} 님이 공유 삭제함", + "Share for {user} expired" : "{user}(과)와의 공유가 만료됨", + "Share expired" : "공유가 만료됨", "You shared {file} with {user}" : "{file}을(를) {user} 님과 공유함", "You removed {user} from {file}" : "{user} 님을 {file}에서 삭제함", "You removed yourself from {file}" : "{file}에서 자기 자신을 삭제함", - "{actor} removed themselves from {file}" : "{actor} 님이 {file}에서 자기 자신을 삭제함", + "{actor} removed themselves from {file}" : "{actor}님이 {file}에서 자기 자신을 삭제함", "{actor} shared {file} with {user}" : "{actor} 님이 {file}을(를) {user} 님과 공유함", "{actor} removed {user} from {file}" : "{actor} 님이 {user} 님을 {file}에서 삭제함", "{actor} shared {file} with you" : "{actor} 님이 {file}을 공유함", - "{actor} removed you from the share named {file}" : "{actor} 님이 여러분을 {file} 공유에서 삭제함", + "{actor} removed you from the share named {file}" : "{actor}님이 여러분을 {file} 공유에서 삭제함", + "Share for file {file} with {user} expired" : "{user}(과)와의 {file} 파일의 공유가 만료됨", + "Share for file {file} expired" : "{file} 파일의 공유가 만료됨", "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "이메일이나 공개 공유로 공유한 파일이 <strong>다운로드됨</strong>", "A file or folder was shared from <strong>another server</strong>" : "<strong>다른 서버</strong>에서 파일이나 폴더를 공유함", "Files" : "파일", "A file or folder has been <strong>shared</strong>" : "파일이나 폴더가 <strong>공유됨</strong>", "Shared link" : "공유 링크", + "Wrong share ID, share does not exist" : "공유 ID가 잘못되었습니다, 공유가 존재하지 않습니다.", "Could not delete share" : "공유를 삭제할 수 없음", "Please specify a file or folder path" : "파일이나 폴더 경로를 지정하십시오", + "Wrong path, file/folder does not exist" : "경로가 잘못됨, 파일 또는 폴더가 존재하지 않음", "Could not create share" : "공유를 만들 수 없음", + "Invalid permissions" : "권한이 유효하지 않음", "Please specify a valid user" : "올바른 사용자를 지정하십시오", "Group sharing is disabled by the administrator" : "관리자가 그룹 공유를 비활성화함", "Please specify a valid group" : "올바른 그룹을 지정하십시오", "Public link sharing is disabled by the administrator" : "관리자가 공개 링크 공유를 비활성화함", "Public upload disabled by the administrator" : "공개 업로드는 관리자에 의해 비활성화되어 있음", "Public upload is only possible for publicly shared folders" : "공개 공유 폴더에만 공개 업로드를 사용할 수 있음", - "Sharing %s sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "Nextcloud 토크가 활성화되어 있지 않기 때문에 Nextcloud 토크로 %s의 공유 암호를 전송할 수 없음", + "Sharing %s sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "Nextcloud 토크가 활성화되어 있지 않기 때문에 Nextcloud 토크에 암호를 보내서 %s(을)를 공유 할 수 없음", "Sharing %1$s failed because the back end does not allow shares from type %2$s" : "%1$s을(를) 공유할 수 없습니다. 백엔드에서 %2$s 형식의 공유를 지원하지 않습니다", - "Invalid date, date format must be YYYY-MM-DD" : "잘못된 날짜, YYYY-MM-DD 형식이어야 합니다", + "Please specify a valid federated user ID" : "유효한 연합 사용자 ID를 지정하세요.", + "Invalid date, date format must be YYYY-MM-DD" : "잘못된 날짜, YYYY-MM-DD 형식이어야 합니다.", + "Please specify a valid federated group ID" : "유효한 연합 그룹 ID를 지정하세요.", "You cannot share to a Circle if the app is not enabled" : "서클 앱이 활성화되어 있지 않으면 서클로 공유할 수 없음", "Please specify a valid circle" : "올바른 서클을 지정하십시오", "Sharing %s failed because the back end does not support room shares" : "%s 공유 실패. 백엔드에서 방 공유를 지원하지 않습니다", + "Sharing %s failed because the back end does not support ScienceMesh shares" : "백엔드가 ScienceMesh 공유를 지원하지 않기 때문에 %s의 공유가 실패했습니다.", "Unknown share type" : "알 수 없는 공유 형식", "Not a directory" : "디렉터리가 아님", + "Could not lock node" : "노드를 잠글 수 없음", "Could not lock path" : "경로를 잠글 수 없음", "Wrong or no update parameter given" : "업데이트 인자가 잘못되었거나 지정되지 않았음", + "Share must at least have READ or CREATE permissions" : "공유에는 읽기와 생성 권한이 꼭 필요합니다.", + "Share must have READ permission if UPDATE or DELETE permission is set" : "공유에 업데이트와 삭제 권한이 설정되어 있다면 읽기 권한이 꼭 필요합니다.", + "\"Sending the password by Nextcloud Talk\" for sharing a file or folder failed because Nextcloud Talk is not enabled." : "Nextcloud 토크가 활성화되어 있지 않기 때문에, 파일 및 폴더 공유를 위한 \"Nextcloud 토크에 암호 보내기\"가 실패했습니다.", "shared by %s" : "%s에 의해 공유됨", "Download all files" : "모든 파일 다운로드", "Direct link" : "직접 링크", + "Add to your %s" : "%s에 추가", "Share API is disabled" : "공유 API가 비활성화됨", "File sharing" : "파일 공유", + "Share will expire tomorrow" : "내일 공유가 만료됩니다.", + "Your share of {node} will expire tomorrow" : "내일 {node}의 공유가 만료됩니다.", + "You received {share} as a share by {user}" : "{user}님의 공유로 {share}(을)를 받았습니다.", + "You received {share} to group {group} as a share by {user}" : "{user}님의 공유로 {group}그룹에서 {share}(을)를 받았습니다.", "Accept" : "수락", "Reject" : "거절", "This application enables users to share files within Nextcloud. If enabled, the admin can choose which groups can share files. The applicable users can then share files and folders with other users and groups within Nextcloud. In addition, if the admin enables the share link feature, an external link can be used to share files with other users outside of Nextcloud. Admins can also enforce passwords, expirations dates, and enable server to server sharing via share links, as well as sharing from mobile devices.\nTurning the feature off removes shared files and folders on the server for all share recipients, and also on the sync clients and mobile apps. More information is available in the Nextcloud Documentation." : "이 앱을 사용하여 Nextcloud 내에서 사용자간 파일을 공유할 수 있습니다. 앱을 활성화하면 관리자가 파일 공유를 허용할 그룹을 지정할 수 있습니다. 공유가 허용된 사용자는 Nextcloud 내의 다른 사용자나 그룹과 파일이나 폴더를 공유할 수 있습니다. 추가로 관리자가 링크 공유 기능을 활성화하면 Nextcloud 외부 사용자와 파일을 공유할 수 있는 외부 링크가 생성됩니다. 관리자는 암호나 만료 날짜 사용을 강제할 수 있으며, 공유 링크로 서버간 공유 기능이나 모바일 장치에서 공유를 활성화할 수 있습니다.\n공유 기능을 비활성화하면 서버에 있는 모든 공유된 파일이나 폴더를 삭제하며, 동기화 클라이언트나 모바일 앱에도 적용됩니다. 자세한 정보를 보려면 Nextcloud 문서를 참조하십시오.", "Sharing" : "공유", "Accept user and group shares by default" : "사용자 공유나 그룹 공유를 기본으로 허용함", + "Error while toggling options" : "옵션을 켜는 중 오류 발생", "Set default folder for accepted shares" : "허용한 공유의 기본 경로 설정", "Reset" : "초기화", + "Reset folder to system default" : "폴더를 시스템 기본값으로 재설정", + "Choose a default folder for accepted shares" : "수락한 공유의 기본 폴더를 지정하세요.", "Invalid path selected" : "잘못된 경로가 선택됨", "Unknown error" : "알 수 없는 오류", "Allow editing" : "Allow editing", "Read only" : "Read only", "Allow upload and editing" : "Allow upload and editing", "File drop (upload only)" : "File drop (upload only)", + "Custom permissions" : "사용자 지정 권한", "Read" : "읽기", "Upload" : "업로드", "Edit" : "편집", + "Bundled permissions" : "번들 권한", "Allow creating" : "생성 수락", "Allow deleting" : "삭제 수락", "Allow resharing" : "재공유 허용", "Expiration date enforced" : "만료 날짜 적용", "Set expiration date" : "만료기한 설정", "Enter a date" : "날짜 입력", - "Note to recipient" : "받는 사람 메모", + "Note to recipient" : "받는이에게 메모", "Unshare" : "공유 해제", "group" : "그룹", "conversation" : "대화", "remote" : "원격", "remote group" : "원격 그룹", "guest" : "손님", + "Shared with the group {user} by {owner}" : "{owner}님이 {user} 그룹에게 공유함", + "Shared with the conversation {user} by {owner}" : "{owner}님이 {user} 대화방과 함께 공유함", + "Shared with {user} by {owner}" : "{owner}님이 {user}님에게 공유함", + "Allow download" : "다운로드 허용", + "Added by {initiator}" : "{initiator}님에 의해 추가됨", + "Via “{folder}”" : "“{folder}”(을)를 통하여", "Internal link" : "내부 링크", + "Cannot copy, please copy the link manually" : "복사할 수 없습니다, 링크를 수동으로 복사하세요.", + "Copy internal link to clipboard" : "내부 링크를 클립보드에 복사", "Only works for users with access to this folder" : "이 폴더에 액세스하는 사용자에게만 해당됩니다.", + "Only works for users with access to this file" : "이 파일에 접근할 수 있는 사용자에게만 작동", "Link copied" : "링크 복사됨", + "Please enter the following required information before creating the share" : "공유를 하기 전에 다음 필수 정보를 입력하세요.", + "Password protection (enforced)" : "암호 보호 (강제됨)", "Password protection" : "암호 보호", "Enter a password" : "Enter a password", + "Expiration date (enforced)" : "만료일 (강제됨)", + "Create share" : "공유 만들기", "Cancel" : "취소", + "Share label" : "레이블 공유", "Hide download" : "Hide download", "Password protect" : "암호 보호", + "Password expires {passwordExpirationTime}" : "암호가 {passwordExpirationTime}에 만료됨", + "Password expired" : "암호 만료됨", + "Video verification" : "화상 인증", + "Enter a note for the share recipient" : "받는이를 위한 메모 입력", "Add another link" : "다른 링크 추가", "Create a new share link" : "새로운 공유 링크 생성", + "Shared via link by {initiator}" : "{initiator}님이 링크를 통해 공유함", + "Mail share ({label})" : "메일 공유 ({label})", + "Share link ({label})" : "링크 공유 ({label})", + "Share link ({index})" : "링크 공유 ({index})", "Share link" : "링크 공유", + "Actions for \"{title}\"" : "\"{title}\"에 대한 작업", + "Copy public link of \"{title}\" to clipboard" : "\"{title}\"의 공개 링크를 클립보드에 복사", + "Error, please enter proper password and/or expiration date" : "오류, 적절한 암호와 만료일을 입력하세요.", + "Link share created" : "링크 공유가 만들어짐", + "Error while creating the share" : "공유를 만드는 중 오류 발생", + "Search for share recipients" : "공유 받는이 검색", "No recommendations. Start typing." : "추천 없음. 타이핑을 시작하십시오", "Resharing is not allowed" : "다시 공유할 수 없음", + "Name or email …" : "이름 또는 이메일 …", + "Name, email, or Federated Cloud ID …" : "이름, 이메일, 또는 연합 클라우드 ID …", "Searching …" : "검색 ...", + "No elements found." : "요소를 찾을 수 없습니다.", "Search globally" : "전역 검색", "Guest" : "손님", "Group" : "그룹", @@ -163,19 +223,38 @@ "Circle" : "서클", "Talk conversation" : "토크 대화", "Deck board" : "Deck 보드", - "Shared with you by {owner}" : "{owner} 님이 여러분과 공유함", + "on {server}" : "{server}에서", + "Others with access" : "접근할 수 있는 다른 사용자", + "No other users with access found" : "접근할 수 있는 다른 사용자가 없음", + "Toggle list of others with access to this directory" : "이 경로에 접근할 수 있는 사용자들의 목록 전환", + "Toggle list of others with access to this file" : "이 파일에 접근할 수 있는 사용자들의 목록 전환", + "Unable to fetch inherited shares" : "상속된 공유를 가져올 수 없음", + "Unable to load the shares list" : "공유 목록을 불러올 수 없음", + "Expires {relativetime}" : "{relativetime}에 만료", + "this share just expired." : "이 공유는 방금 만료되었습니다.", + "Shared with you by {owner}" : "{owner}님이 당신에게 공유함", "Link to a file" : "파일로 향한 링크", + "Error creating the share: {errorMessage}" : "공유를 만드는 중 오류 발생: {errorMessage}", + "Error creating the share" : "공유를 만드는 중 오류 발생", + "Error updating the share: {errorMessage}" : "공유를 업데이트 하는 중 오류 발생: {errorMessage}", + "Error updating the share" : "공유를 업데이트 하는 중 오류 발생", + "File \"{path}\" has been unshared" : "\"{path}\" 파일의 공유가 취소됨", + "Folder \"{path}\" has been unshared" : "\"{path}\" 폴더의 공유가 취소됨", + "Share {propertyName} saved" : "{propertyName} 공유 저장됨", "Shared" : "공유됨", "Share" : "공유", "Shared with" : "다음 사용자와 공유함", - "Shared with you and the group {group} by {owner}" : "{owner} 님이 여러분 및 그룹 {group}와(과) 공유함", - "Shared with you and {circle} by {owner}" : "{owner} 님이 여러분과 {circle}와(과) 공유함", - "Shared with you and the conversation {conversation} by {owner}" : "{owner} 님이 여러분과 대화 {conversation}와(과) 공유함", - "Shared with you in a conversation by {owner}" : "{owner} 님이 대화에서 여러분과 공유함", + "Password created successfully" : "암호가 성공적으로 생성됨", + "Error generating password from password policy" : "암호 정책에서 암호 생성 중에 오류 발생", + "Shared with you and the group {group} by {owner}" : "{owner}님이 당신 및 {group} 그룹에게 공유함", + "Shared with you and {circle} by {owner}" : "{owner}님이 여러분과 {circle}에게 공유함", + "Shared with you and the conversation {conversation} by {owner}" : "{owner}님이 여러분과 대화 {conversation}와(과) 공유함", + "Shared with you in a conversation by {owner}" : "{owner}님이 대화에서 당신에게 공유함", "No entries found in this folder" : "이 폴더에 항목 없음", "Name" : "이름", "Share time" : "공유 시간", "Expiration date" : "만료 날짜", + "Sorry, this link does not seem to work anymore." : "죄송합니다, 이 링크는 더 이상 작동하지 않습니다.", "Reasons might be:" : "이유는 다음과 같을 수 있습니다:", "the item was removed" : "항목이 삭제됨", "the link expired" : "링크가 만료됨", @@ -185,9 +264,12 @@ "Upload files to %s" : "%s에 파일 업로드", "Note" : "노트", "Select or drop files" : "파일을 선택하거나 끌어다 놓기", - "Uploading files" : "파일 업로드", + "Uploading files" : "파일 업로드 중", "Uploaded files:" : "업로드한 파일:", "By uploading files, you agree to the %1$sterms of service%2$s." : "파일을 업로드하면 %1$s이용 약관%2$s에 동의하는 것을 의미합니다.", - "Add to your Nextcloud" : "내 Nextcloud에 추가" + "Add to your Nextcloud" : "내 Nextcloud에 추가", + "Sharing %s failed because the back end does not support sciencemesh shares" : "백엔드가 ScienceMesh 공유를 지원하지 않기 때문에 %s의 공유가 실패했습니다.", + "One or more of your shares will expire tomorrow" : "하나 이상의 공유가 내일 만료됩니다.", + "Error generating password from password_policy" : "password_policy에서 암호 생성 중에 오류 발생" },"pluralForm" :"nplurals=1; plural=0;" }
\ No newline at end of file diff --git a/apps/files_sharing/l10n/zh_CN.js b/apps/files_sharing/l10n/zh_CN.js index f279790b3b6..782f7e784f6 100644 --- a/apps/files_sharing/l10n/zh_CN.js +++ b/apps/files_sharing/l10n/zh_CN.js @@ -1,7 +1,7 @@ OC.L10N.register( "files_sharing", { - "Shared with you" : "和你共享的", + "Shared with you" : "共享给您的", "Nothing shared with you yet" : "您还没有收到任何共享的文件", "Files and folders others share with you will show up here" : "其它人共享给您的文件和文件夹将显示在这里", "Shared with others" : "您共享的文件", @@ -54,7 +54,7 @@ OC.L10N.register( "Share for group {group} expired" : "给分组 {group} 的共享已过期", "You shared {file} with group {group}" : "您与群组 {group} 共享了 {file} ", "You removed group {group} from {file}" : "已从 {file} 移除组 {group}", - "{actor} shared {file} with group {group}" : " {actor} 与群组 {group} 共享了 {file} ", + "{actor} shared {file} with group {group}" : "{actor} 与群组 {group} 共享了 {file} ", "{actor} removed group {group} from {file}" : "{actor} 从 {file} 删除群组 {group} ", "Share for file {file} with group {group} expired" : "与分组 {group} 的文件共享 {file} 已过期", "Shared as public link" : "共享为公开链接", @@ -74,7 +74,7 @@ OC.L10N.register( "You received a new remote share {file} from {user}" : "您收到了一个来自 {user} 的远程共享 {file} ", "{user} accepted the remote share of {file}" : "{user} 接受了 {file} 的远程共享", "{user} declined the remote share of {file}" : "{user} 拒绝了 {file} 的远程共享", - "{user} unshared {file} from you" : "你取消了 {user} 共享的文件 {file}", + "{user} unshared {file} from you" : "{user} 取消与您共享 {file}", "Shared with {user}" : "与 {user} 共享", "Removed share for {user}" : "移除给 {user} 的共享", "You removed yourself" : "您移除了您自己", @@ -98,7 +98,7 @@ OC.L10N.register( "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "通过邮件或公共链接共享的文件或文件夹<strong>已下载</strong>", "A file or folder was shared from <strong>another server</strong>" : "<strong>其它服务器</strong> 中一个文件或者文件夹被共享 ", "Files" : "文件", - "A file or folder has been <strong>shared</strong>" : "一个文件或文件夹已<strong>共享</strong>。", + "A file or folder has been <strong>shared</strong>" : "一个文件或文件夹已<strong>共享</strong>", "Shared link" : "已共享的链接", "Wrong share ID, share does not exist" : "错误的分享 ID,分享不存在", "Could not delete share" : "不能删除共享", @@ -112,14 +112,15 @@ OC.L10N.register( "Public link sharing is disabled by the administrator" : "公共链接共享已被管理员禁用", "Public upload disabled by the administrator" : "公共上传已被管理员禁用", "Public upload is only possible for publicly shared folders" : "公共上传仅适用于公共共享文件夹", - "Sharing %s sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "由于Nextcloud通话应用没有启用,所以通过Nextcloud通话应用发送%s共享密码失败。", + "Sharing %s sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "由于 Nextcloud 通话应用没有启用,所以通过 Nextcloud 通话应用发送%s共享密码失败。", "Sharing %1$s failed because the back end does not allow shares from type %2$s" : "共享 %1$s 失败,后端不允许类型为 %2$s 的共享", - "Please specify a valid federated user ID" : "请指定一个有效的联邦用户 ID", + "Please specify a valid federated user ID" : "请指定一个有效的联合用户 ID", "Invalid date, date format must be YYYY-MM-DD" : "无效的日期,日期格式必须是 YYYY-MM-DD", - "Please specify a valid federated group ID" : "请指定一个有效的联邦群组 ID", + "Please specify a valid federated group ID" : "请指定一个有效的联合群组 ID", "You cannot share to a Circle if the app is not enabled" : "如果这个应用程序不可用,您不能共享到圈子", "Please specify a valid circle" : "请指明一个可用圈子", "Sharing %s failed because the back end does not support room shares" : "由于后端不支持房间共享,所以共享 %s 失败。", + "Sharing %s failed because the back end does not support ScienceMesh shares" : "共享 %s 失败,因为后端不支持 ScienceMesh 共享。", "Unknown share type" : "未知共享类型", "Not a directory" : "不是一个目录", "Could not lock node" : "无法锁定节点", @@ -127,15 +128,15 @@ OC.L10N.register( "Wrong or no update parameter given" : "错误或没有更新参数给出", "Share must at least have READ or CREATE permissions" : "分享至少具有 READ 或 CREATE 权限", "Share must have READ permission if UPDATE or DELETE permission is set" : "分享如果设置了 UPDATE 或 DELETE 权限,则必须具有 READ 权限", - "\"Sending the password by Nextcloud Talk\" for sharing a file or folder failed because Nextcloud Talk is not enabled." : "“通过Nextcloud通话应用发送密码”共享文件或文件夹失败了,因为未启用Nextcloud通话应用", + "\"Sending the password by Nextcloud Talk\" for sharing a file or folder failed because Nextcloud Talk is not enabled." : "“通过 Nextcloud 通话应用发送密码”共享文件或文件夹失败了,因为未启用Nextcloud 通话应用", "shared by %s" : "共享者 %s", "Download all files" : "下载所有文件", "Direct link" : "直接链接", - "Add to your %s" : "添加到你的 %s", + "Add to your %s" : "添加到您的 %s", "Share API is disabled" : "共享 API 已被禁用", "File sharing" : "文件共享", "Share will expire tomorrow" : "共享将在明天过期", - "Your share of {node} will expire tomorrow" : "您在{node}的共享将在明天过期", + "Your share of {node} will expire tomorrow" : "您在 {node} 的共享将在明天过期", "You received {share} as a share by {user}" : "您收到了 {user} 共享的 {share}", "You received {share} to group {group} as a share by {user}" : "您收到了来自 {user} 的共享给分组 {group} 的 {share}", "Accept" : "接受", @@ -177,7 +178,7 @@ OC.L10N.register( "Shared with {user} by {owner}" : "{owner} 共享给 {user}", "Allow download" : "允许下载", "Added by {initiator}" : "由 {initiator} 添加", - "Via “{folder}”" : "通过 “{folder}”", + "Via “{folder}”" : "通过“{folder}”", "Internal link" : "内部链接", "Cannot copy, please copy the link manually" : "无法复制,请手动复制链接", "Copy internal link to clipboard" : "复制内部链接到剪贴板", @@ -202,14 +203,20 @@ OC.L10N.register( "Create a new share link" : "创建新的共享链接", "{shareWith} by {initiator}" : "由 {initiator} 通过 {shareWith} 共享", "Shared via link by {initiator}" : "由 {initiator} 通过链接共享", - "Mail share ({label})" : "邮件分享 ({label})", - "Share link ({label})" : "分享链接({label})", + "Mail share ({label})" : "邮件分享({label})", + "Share link ({label})" : "分享链接({label})", + "Share link ({index})" : "分享链接({index})", "Share link" : "共享链接", + "Actions for \"{title}\"" : "“{title}”的动作", + "Copy public link of \"{title}\" to clipboard" : "将“{title}”的公开链接复制到剪贴板", "Error, please enter proper password and/or expiration date" : "错误,请输入正确的密码和/或过期日期", - "No recommendations. Start typing." : "没有推荐。开始输入。", + "Link share created" : "已创建链接分享", + "Error while creating the share" : "创建共享时出错", + "Search for share recipients" : "查找共享参与者", + "No recommendations. Start typing." : "没有建议。开始输入。", "Resharing is not allowed" : "不允许二次共享", "Name or email …" : "姓名或电子邮件 ...", - "Name, email, or Federated Cloud ID …" : "名称,电子邮件或联合云 ID ...", + "Name, email, or Federated Cloud ID …" : "名称、电子邮件或联合云 ID ...", "Searching …" : "正在搜索 ...", "No elements found." : "未发现元素。", "Search globally" : "全局搜索", @@ -219,6 +226,7 @@ OC.L10N.register( "Circle" : "圈子", "Talk conversation" : "通话应用对话", "Deck board" : "Deck 看板", + "ScienceMesh" : "ScienceMesh", "on {server}" : "在 {server} 上", "Others with access" : "其他具有访问权限的人", "No other users with access found" : "找不到其他具有访问权限的用户", @@ -234,9 +242,14 @@ OC.L10N.register( "Error creating the share" : "创建共享时出错", "Error updating the share: {errorMessage}" : "更新共享失败:{errorMessage}", "Error updating the share" : "更新共享时出错", + "File \"{path}\" has been unshared" : "文件“{path}”已取消共享", + "Folder \"{path}\" has been unshared" : "文件夹“{path}”已取消共享", + "Share {propertyName} saved" : "共享 {propertyName} 已保存", "Shared" : "已共享", "Share" : "共享", "Shared with" : "共享给", + "Password created successfully" : "成功创建密码", + "Error generating password from password policy" : "从密码策略生成密码时出错", "Shared with you and the group {group} by {owner}" : "{owner} 共享给您及 {group} 分组", "Shared with you and {circle} by {owner}" : "{owner} 共享给您及 {circle}", "Shared with you and the conversation {conversation} by {owner}" : "由{owner} 共享给您及对话 {conversation}", @@ -250,7 +263,7 @@ OC.L10N.register( "the item was removed" : "此项已移除", "the link expired" : "链接过期", "sharing is disabled" : "已禁用共享", - "For more info, please ask the person who sent this link." : "欲知详情,请联系发给您该链接的人。", + "For more info, please ask the person who sent this link." : "如需了解更多信息,请联系发给您该链接的人。", "Share note" : "共享笔记", "Upload files to %s" : "上传文件到 %s", "Note" : "备注", @@ -259,6 +272,9 @@ OC.L10N.register( "Uploaded files:" : "上传的文件: ", "By uploading files, you agree to the %1$sterms of service%2$s." : "通过上传文件,您同意了 %1$s 服务条款 %2$s。", "Add to your Nextcloud" : "添加到您的 Nextcloud", - "One or more of your shares will expire tomorrow" : "您的一个或多个共享将在明天过期" + "Sharing %s failed because the back end does not support sciencemesh shares" : "共享 %s 失败,因为后端不支持 ScienceMesh 共享。", + "One or more of your shares will expire tomorrow" : "您的一个或多个共享将在明天过期", + "Science Mesh" : "Science Mesh", + "Error generating password from password_policy" : "从密码策略生成密码时出错" }, "nplurals=1; plural=0;"); diff --git a/apps/files_sharing/l10n/zh_CN.json b/apps/files_sharing/l10n/zh_CN.json index e150c0b53cf..e491fc4cc42 100644 --- a/apps/files_sharing/l10n/zh_CN.json +++ b/apps/files_sharing/l10n/zh_CN.json @@ -1,5 +1,5 @@ { "translations": { - "Shared with you" : "和你共享的", + "Shared with you" : "共享给您的", "Nothing shared with you yet" : "您还没有收到任何共享的文件", "Files and folders others share with you will show up here" : "其它人共享给您的文件和文件夹将显示在这里", "Shared with others" : "您共享的文件", @@ -52,7 +52,7 @@ "Share for group {group} expired" : "给分组 {group} 的共享已过期", "You shared {file} with group {group}" : "您与群组 {group} 共享了 {file} ", "You removed group {group} from {file}" : "已从 {file} 移除组 {group}", - "{actor} shared {file} with group {group}" : " {actor} 与群组 {group} 共享了 {file} ", + "{actor} shared {file} with group {group}" : "{actor} 与群组 {group} 共享了 {file} ", "{actor} removed group {group} from {file}" : "{actor} 从 {file} 删除群组 {group} ", "Share for file {file} with group {group} expired" : "与分组 {group} 的文件共享 {file} 已过期", "Shared as public link" : "共享为公开链接", @@ -72,7 +72,7 @@ "You received a new remote share {file} from {user}" : "您收到了一个来自 {user} 的远程共享 {file} ", "{user} accepted the remote share of {file}" : "{user} 接受了 {file} 的远程共享", "{user} declined the remote share of {file}" : "{user} 拒绝了 {file} 的远程共享", - "{user} unshared {file} from you" : "你取消了 {user} 共享的文件 {file}", + "{user} unshared {file} from you" : "{user} 取消与您共享 {file}", "Shared with {user}" : "与 {user} 共享", "Removed share for {user}" : "移除给 {user} 的共享", "You removed yourself" : "您移除了您自己", @@ -96,7 +96,7 @@ "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "通过邮件或公共链接共享的文件或文件夹<strong>已下载</strong>", "A file or folder was shared from <strong>another server</strong>" : "<strong>其它服务器</strong> 中一个文件或者文件夹被共享 ", "Files" : "文件", - "A file or folder has been <strong>shared</strong>" : "一个文件或文件夹已<strong>共享</strong>。", + "A file or folder has been <strong>shared</strong>" : "一个文件或文件夹已<strong>共享</strong>", "Shared link" : "已共享的链接", "Wrong share ID, share does not exist" : "错误的分享 ID,分享不存在", "Could not delete share" : "不能删除共享", @@ -110,14 +110,15 @@ "Public link sharing is disabled by the administrator" : "公共链接共享已被管理员禁用", "Public upload disabled by the administrator" : "公共上传已被管理员禁用", "Public upload is only possible for publicly shared folders" : "公共上传仅适用于公共共享文件夹", - "Sharing %s sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "由于Nextcloud通话应用没有启用,所以通过Nextcloud通话应用发送%s共享密码失败。", + "Sharing %s sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "由于 Nextcloud 通话应用没有启用,所以通过 Nextcloud 通话应用发送%s共享密码失败。", "Sharing %1$s failed because the back end does not allow shares from type %2$s" : "共享 %1$s 失败,后端不允许类型为 %2$s 的共享", - "Please specify a valid federated user ID" : "请指定一个有效的联邦用户 ID", + "Please specify a valid federated user ID" : "请指定一个有效的联合用户 ID", "Invalid date, date format must be YYYY-MM-DD" : "无效的日期,日期格式必须是 YYYY-MM-DD", - "Please specify a valid federated group ID" : "请指定一个有效的联邦群组 ID", + "Please specify a valid federated group ID" : "请指定一个有效的联合群组 ID", "You cannot share to a Circle if the app is not enabled" : "如果这个应用程序不可用,您不能共享到圈子", "Please specify a valid circle" : "请指明一个可用圈子", "Sharing %s failed because the back end does not support room shares" : "由于后端不支持房间共享,所以共享 %s 失败。", + "Sharing %s failed because the back end does not support ScienceMesh shares" : "共享 %s 失败,因为后端不支持 ScienceMesh 共享。", "Unknown share type" : "未知共享类型", "Not a directory" : "不是一个目录", "Could not lock node" : "无法锁定节点", @@ -125,15 +126,15 @@ "Wrong or no update parameter given" : "错误或没有更新参数给出", "Share must at least have READ or CREATE permissions" : "分享至少具有 READ 或 CREATE 权限", "Share must have READ permission if UPDATE or DELETE permission is set" : "分享如果设置了 UPDATE 或 DELETE 权限,则必须具有 READ 权限", - "\"Sending the password by Nextcloud Talk\" for sharing a file or folder failed because Nextcloud Talk is not enabled." : "“通过Nextcloud通话应用发送密码”共享文件或文件夹失败了,因为未启用Nextcloud通话应用", + "\"Sending the password by Nextcloud Talk\" for sharing a file or folder failed because Nextcloud Talk is not enabled." : "“通过 Nextcloud 通话应用发送密码”共享文件或文件夹失败了,因为未启用Nextcloud 通话应用", "shared by %s" : "共享者 %s", "Download all files" : "下载所有文件", "Direct link" : "直接链接", - "Add to your %s" : "添加到你的 %s", + "Add to your %s" : "添加到您的 %s", "Share API is disabled" : "共享 API 已被禁用", "File sharing" : "文件共享", "Share will expire tomorrow" : "共享将在明天过期", - "Your share of {node} will expire tomorrow" : "您在{node}的共享将在明天过期", + "Your share of {node} will expire tomorrow" : "您在 {node} 的共享将在明天过期", "You received {share} as a share by {user}" : "您收到了 {user} 共享的 {share}", "You received {share} to group {group} as a share by {user}" : "您收到了来自 {user} 的共享给分组 {group} 的 {share}", "Accept" : "接受", @@ -175,7 +176,7 @@ "Shared with {user} by {owner}" : "{owner} 共享给 {user}", "Allow download" : "允许下载", "Added by {initiator}" : "由 {initiator} 添加", - "Via “{folder}”" : "通过 “{folder}”", + "Via “{folder}”" : "通过“{folder}”", "Internal link" : "内部链接", "Cannot copy, please copy the link manually" : "无法复制,请手动复制链接", "Copy internal link to clipboard" : "复制内部链接到剪贴板", @@ -200,14 +201,20 @@ "Create a new share link" : "创建新的共享链接", "{shareWith} by {initiator}" : "由 {initiator} 通过 {shareWith} 共享", "Shared via link by {initiator}" : "由 {initiator} 通过链接共享", - "Mail share ({label})" : "邮件分享 ({label})", - "Share link ({label})" : "分享链接({label})", + "Mail share ({label})" : "邮件分享({label})", + "Share link ({label})" : "分享链接({label})", + "Share link ({index})" : "分享链接({index})", "Share link" : "共享链接", + "Actions for \"{title}\"" : "“{title}”的动作", + "Copy public link of \"{title}\" to clipboard" : "将“{title}”的公开链接复制到剪贴板", "Error, please enter proper password and/or expiration date" : "错误,请输入正确的密码和/或过期日期", - "No recommendations. Start typing." : "没有推荐。开始输入。", + "Link share created" : "已创建链接分享", + "Error while creating the share" : "创建共享时出错", + "Search for share recipients" : "查找共享参与者", + "No recommendations. Start typing." : "没有建议。开始输入。", "Resharing is not allowed" : "不允许二次共享", "Name or email …" : "姓名或电子邮件 ...", - "Name, email, or Federated Cloud ID …" : "名称,电子邮件或联合云 ID ...", + "Name, email, or Federated Cloud ID …" : "名称、电子邮件或联合云 ID ...", "Searching …" : "正在搜索 ...", "No elements found." : "未发现元素。", "Search globally" : "全局搜索", @@ -217,6 +224,7 @@ "Circle" : "圈子", "Talk conversation" : "通话应用对话", "Deck board" : "Deck 看板", + "ScienceMesh" : "ScienceMesh", "on {server}" : "在 {server} 上", "Others with access" : "其他具有访问权限的人", "No other users with access found" : "找不到其他具有访问权限的用户", @@ -232,9 +240,14 @@ "Error creating the share" : "创建共享时出错", "Error updating the share: {errorMessage}" : "更新共享失败:{errorMessage}", "Error updating the share" : "更新共享时出错", + "File \"{path}\" has been unshared" : "文件“{path}”已取消共享", + "Folder \"{path}\" has been unshared" : "文件夹“{path}”已取消共享", + "Share {propertyName} saved" : "共享 {propertyName} 已保存", "Shared" : "已共享", "Share" : "共享", "Shared with" : "共享给", + "Password created successfully" : "成功创建密码", + "Error generating password from password policy" : "从密码策略生成密码时出错", "Shared with you and the group {group} by {owner}" : "{owner} 共享给您及 {group} 分组", "Shared with you and {circle} by {owner}" : "{owner} 共享给您及 {circle}", "Shared with you and the conversation {conversation} by {owner}" : "由{owner} 共享给您及对话 {conversation}", @@ -248,7 +261,7 @@ "the item was removed" : "此项已移除", "the link expired" : "链接过期", "sharing is disabled" : "已禁用共享", - "For more info, please ask the person who sent this link." : "欲知详情,请联系发给您该链接的人。", + "For more info, please ask the person who sent this link." : "如需了解更多信息,请联系发给您该链接的人。", "Share note" : "共享笔记", "Upload files to %s" : "上传文件到 %s", "Note" : "备注", @@ -257,6 +270,9 @@ "Uploaded files:" : "上传的文件: ", "By uploading files, you agree to the %1$sterms of service%2$s." : "通过上传文件,您同意了 %1$s 服务条款 %2$s。", "Add to your Nextcloud" : "添加到您的 Nextcloud", - "One or more of your shares will expire tomorrow" : "您的一个或多个共享将在明天过期" + "Sharing %s failed because the back end does not support sciencemesh shares" : "共享 %s 失败,因为后端不支持 ScienceMesh 共享。", + "One or more of your shares will expire tomorrow" : "您的一个或多个共享将在明天过期", + "Science Mesh" : "Science Mesh", + "Error generating password from password_policy" : "从密码策略生成密码时出错" },"pluralForm" :"nplurals=1; plural=0;" }
\ No newline at end of file diff --git a/apps/files_sharing/lib/External/Storage.php b/apps/files_sharing/lib/External/Storage.php index 506a2f83c2d..9e6c169e140 100644 --- a/apps/files_sharing/lib/External/Storage.php +++ b/apps/files_sharing/lib/External/Storage.php @@ -265,8 +265,9 @@ class Storage extends DAV implements ISharedStorage, IDisableEncryptionStorage, private function testRemoteUrl(string $url): bool { $cache = $this->memcacheFactory->createDistributed('files_sharing_remote_url'); - if ($cache->hasKey($url)) { - return (bool)$cache->get($url); + $cached = $cache->get($url); + if ($cached !== null) { + return (bool)$cached; } $client = $this->httpClient->newClient(); diff --git a/apps/files_sharing/lib/SharedMount.php b/apps/files_sharing/lib/SharedMount.php index 943f14dc2bd..6cde9f82bec 100644 --- a/apps/files_sharing/lib/SharedMount.php +++ b/apps/files_sharing/lib/SharedMount.php @@ -117,8 +117,9 @@ class SharedMount extends MountPoint implements MoveableMount { $this->eventDispatcher->dispatchTyped($event); $parent = $event->getParent(); - if ($folderExistCache->hasKey($parent)) { - $parentExists = $folderExistCache->get($parent); + $cached = $folderExistCache->get($parent); + if ($cached) { + $parentExists = $cached; } else { $parentExists = $this->recipientView->is_dir($parent); $folderExistCache->set($parent, $parentExists); diff --git a/apps/files_sharing/src/components/SharePermissionsEditor.vue b/apps/files_sharing/src/components/SharePermissionsEditor.vue index 41aec036baf..cc1a150ecc1 100644 --- a/apps/files_sharing/src/components/SharePermissionsEditor.vue +++ b/apps/files_sharing/src/components/SharePermissionsEditor.vue @@ -26,7 +26,6 @@ <!-- file --> <NcActionCheckbox v-if="!isFolder" :checked="shareHasPermissions(atomicPermissions.UPDATE)" - :disabled="saving" @update:checked="toggleSharePermissions(atomicPermissions.UPDATE)"> {{ t('files_sharing', 'Allow editing') }} </NcActionCheckbox> @@ -37,21 +36,18 @@ <NcActionRadio :checked="sharePermissionEqual(bundledPermissions.READ_ONLY)" :value="bundledPermissions.READ_ONLY" :name="randomFormName" - :disabled="saving" @change="setSharePermissions(bundledPermissions.READ_ONLY)"> {{ t('files_sharing', 'Read only') }} </NcActionRadio> <NcActionRadio :checked="sharePermissionEqual(bundledPermissions.UPLOAD_AND_UPDATE)" :value="bundledPermissions.UPLOAD_AND_UPDATE" - :disabled="saving" :name="randomFormName" @change="setSharePermissions(bundledPermissions.UPLOAD_AND_UPDATE)"> {{ t('files_sharing', 'Allow upload and editing') }} </NcActionRadio> <NcActionRadio :checked="sharePermissionEqual(bundledPermissions.FILE_DROP)" :value="bundledPermissions.FILE_DROP" - :disabled="saving" :name="randomFormName" class="sharing-entry__action--public-upload" @change="setSharePermissions(bundledPermissions.FILE_DROP)"> @@ -71,22 +67,22 @@ <!-- custom permissions --> <span v-else :class="{error: !sharePermissionsSetIsValid}"> <NcActionCheckbox :checked="shareHasPermissions(atomicPermissions.READ)" - :disabled="saving || !canToggleSharePermissions(atomicPermissions.READ)" + :disabled="!canToggleSharePermissions(atomicPermissions.READ)" @update:checked="toggleSharePermissions(atomicPermissions.READ)"> {{ t('files_sharing', 'Read') }} </NcActionCheckbox> <NcActionCheckbox :checked="shareHasPermissions(atomicPermissions.CREATE)" - :disabled="saving || !canToggleSharePermissions(atomicPermissions.CREATE)" + :disabled="!canToggleSharePermissions(atomicPermissions.CREATE)" @update:checked="toggleSharePermissions(atomicPermissions.CREATE)"> {{ t('files_sharing', 'Upload') }} </NcActionCheckbox> <NcActionCheckbox :checked="shareHasPermissions(atomicPermissions.UPDATE)" - :disabled="saving || !canToggleSharePermissions(atomicPermissions.UPDATE)" + :disabled="!canToggleSharePermissions(atomicPermissions.UPDATE)" @update:checked="toggleSharePermissions(atomicPermissions.UPDATE)"> {{ t('files_sharing', 'Edit') }} </NcActionCheckbox> <NcActionCheckbox :checked="shareHasPermissions(atomicPermissions.DELETE)" - :disabled="saving || !canToggleSharePermissions(atomicPermissions.DELETE)" + :disabled="!canToggleSharePermissions(atomicPermissions.DELETE)" @update:checked="toggleSharePermissions(atomicPermissions.DELETE)"> {{ t('files_sharing', 'Delete') }} </NcActionCheckbox> diff --git a/apps/files_sharing/src/services/ExternalLinkActions.js b/apps/files_sharing/src/services/ExternalLinkActions.js index 06cf97ed255..1975b38808a 100644 --- a/apps/files_sharing/src/services/ExternalLinkActions.js +++ b/apps/files_sharing/src/services/ExternalLinkActions.js @@ -52,7 +52,7 @@ export default class ExternalLinkActions { * @return {boolean} */ registerAction(action) { - console.warn('OCA.Sharing.ExternalLinkActions is deprecated, use OCA.Sharing.ExternalShareAction instead') + OC.debug && console.warn('OCA.Sharing.ExternalLinkActions is deprecated, use OCA.Sharing.ExternalShareAction instead') if (typeof action === 'object' && action.icon && action.name && action.url) { this._state.actions.push(action) diff --git a/apps/files_sharing/templates/public.php b/apps/files_sharing/templates/public.php index 510a8d04e04..9c1b3dbbab2 100644 --- a/apps/files_sharing/templates/public.php +++ b/apps/files_sharing/templates/public.php @@ -62,7 +62,7 @@ $maxUploadFilesize = min($upload_max_filesize, $post_max_size); <?php else: ?> <!-- preview frame to open file in with viewer --> <div id="imgframe"></div> - <?php if (isset($_['mimetype']) && str_starts_with($_['mimetype'], 'image')) { ?> + <?php if (isset($_['mimetype']) && str_starts_with($_['mimetype'], 'image')): ?> <div class="directDownload"> <div> <?php p($_['filename'])?> (<?php p($_['fileSize']) ?>) @@ -74,8 +74,7 @@ $maxUploadFilesize = min($upload_max_filesize, $post_max_size); </a> <?php } ?> </div> - <?php } ?> - <?php if ($_['previewURL'] === $_['downloadURL'] && !$_['hideDownload']): ?> + <?php elseif ($_['previewURL'] === $_['downloadURL'] && !$_['hideDownload']): ?> <div class="directDownload"> <div> <?php p($_['filename'])?> (<?php p($_['fileSize']) ?>) diff --git a/apps/files_trashbin/l10n/ar.js b/apps/files_trashbin/l10n/ar.js index 825c18a5483..515a866e808 100644 --- a/apps/files_trashbin/l10n/ar.js +++ b/apps/files_trashbin/l10n/ar.js @@ -1,19 +1,28 @@ OC.L10N.register( "files_trashbin", { - "restored" : "تمت الاستعادة", + "restored" : "تمّت الاستعادة", "Deleted files" : "الملفات المحذوفة", - "Restore" : "استعيد", - "Deleted" : "تم الحذف", - "No deleted files" : "لا يوجد ملفات محذوفة", - "You will be able to recover deleted files from here" : "سوف تكون قادر على استعادة الملفات المحذوفة من هنا", + "Deleted files and folders in the trash bin (may expire during export if you are low on storage space)" : "الملفات و المجلّدات المحذوفة في سلة المحذوفات ( قد يتم التخلص منها إذا ما تناقصت السعة التخزينية)", + "This application enables users to restore files that were deleted from the system." : "هذا التطبيق يُمكّن المستخدمين من استعادة الملفات التي قاموا بحذفها من النظام.", + "This application enables users to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the users file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent a user from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "هذا التطبيق يُمكّن المستخدمين من استعادة الملفات التي قاموا بحذفها من النظام. يقوم التطبيق بعرض الملفات و المجلدات المحذوفة على المستخدم و يسمح له باختيار إمّا استعادتها إلى موقعها الأصلي أو حذفها من النظام نهائيّاً. إستعادة الملف تعني استعادة جميع نسخه. عند حذف ملف من مشاركة فإنه يمكن استعادته بنفس الكيفية بالرغم من انتهاء المشاركة. مع العلم أن هذه الملفات تبقى في سلة المحذوفات لمدة 30 يوماً ما لم يُعيّن غير ذلك.\nلتجنب نفاذ الحصة التخزينية للمستخدم، لا يسمح النظام بإشغال أكثر من 50% من حصته.. بمحتويات سلة محذوفاته. إذا وصل حجم السلة إلى هذا الحد، يقوم النظام بحذف الملفات الأقدم فالأقدم حتى يصل الحجم المتاح من الحصة إلى 50% على الأقل. للمزيد، أنظر: توثيق المفات المحذوفة Deleted Files.\n ", + "Restore" : "إستعادة", + "List of files that have been deleted." : "قائمة بجميع الملفات المحذوفة", + "Deleted" : "محذوفة", + "No deleted files" : "لا توجد ملفات محذوفة", + "You will be able to recover deleted files from here" : "يُمكنك استعادة الملفات المحذوفة من هنا", "No entries found in this folder" : "لا يوجد مدخلات في هذا المجلد ", "Select all" : "تحديد الكل ", "Name" : "اسم", "Actions" : "الإجراءات", "Delete permanently" : "حذف بشكل دائم", + "Error while restoring file from trash bin" : "خطأ في استعادة ملف من سلة المحذوفات", + "Error while removing file from trash bin" : "خطأ في حذف ملف من سلة المحذوفات", + "Error while restoring files from trash bin" : "خطأ في استعادة ملف من سلة المحذوفات", + "Error while emptying trash bin" : "خطأ في إفراغ سلة المحذوفات", + "Error while removing files from trash bin" : "خطأ في حذف ملفات من سلة المحذوفات", "This operation is forbidden" : "هذة العملية ممنوعة ", - "This directory is unavailable, please check the logs or contact the administrator" : "هذا المجلد غير متوفر, الرجاء مراجعة سجل الأخطاء أو الاتصال بمدير النظام", - "Delete" : "إلغاء" + "This directory is unavailable, please check the logs or contact the administrator" : "هذا المجلد غير متوفر؛ الرجاء مراجعة سجل الأخطاء أو الاتصال بمدير النظام", + "Delete" : "حذف" }, "nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;"); diff --git a/apps/files_trashbin/l10n/ar.json b/apps/files_trashbin/l10n/ar.json index c2cc0627556..1f611dd8fbe 100644 --- a/apps/files_trashbin/l10n/ar.json +++ b/apps/files_trashbin/l10n/ar.json @@ -1,17 +1,26 @@ { "translations": { - "restored" : "تمت الاستعادة", + "restored" : "تمّت الاستعادة", "Deleted files" : "الملفات المحذوفة", - "Restore" : "استعيد", - "Deleted" : "تم الحذف", - "No deleted files" : "لا يوجد ملفات محذوفة", - "You will be able to recover deleted files from here" : "سوف تكون قادر على استعادة الملفات المحذوفة من هنا", + "Deleted files and folders in the trash bin (may expire during export if you are low on storage space)" : "الملفات و المجلّدات المحذوفة في سلة المحذوفات ( قد يتم التخلص منها إذا ما تناقصت السعة التخزينية)", + "This application enables users to restore files that were deleted from the system." : "هذا التطبيق يُمكّن المستخدمين من استعادة الملفات التي قاموا بحذفها من النظام.", + "This application enables users to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the users file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent a user from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "هذا التطبيق يُمكّن المستخدمين من استعادة الملفات التي قاموا بحذفها من النظام. يقوم التطبيق بعرض الملفات و المجلدات المحذوفة على المستخدم و يسمح له باختيار إمّا استعادتها إلى موقعها الأصلي أو حذفها من النظام نهائيّاً. إستعادة الملف تعني استعادة جميع نسخه. عند حذف ملف من مشاركة فإنه يمكن استعادته بنفس الكيفية بالرغم من انتهاء المشاركة. مع العلم أن هذه الملفات تبقى في سلة المحذوفات لمدة 30 يوماً ما لم يُعيّن غير ذلك.\nلتجنب نفاذ الحصة التخزينية للمستخدم، لا يسمح النظام بإشغال أكثر من 50% من حصته.. بمحتويات سلة محذوفاته. إذا وصل حجم السلة إلى هذا الحد، يقوم النظام بحذف الملفات الأقدم فالأقدم حتى يصل الحجم المتاح من الحصة إلى 50% على الأقل. للمزيد، أنظر: توثيق المفات المحذوفة Deleted Files.\n ", + "Restore" : "إستعادة", + "List of files that have been deleted." : "قائمة بجميع الملفات المحذوفة", + "Deleted" : "محذوفة", + "No deleted files" : "لا توجد ملفات محذوفة", + "You will be able to recover deleted files from here" : "يُمكنك استعادة الملفات المحذوفة من هنا", "No entries found in this folder" : "لا يوجد مدخلات في هذا المجلد ", "Select all" : "تحديد الكل ", "Name" : "اسم", "Actions" : "الإجراءات", "Delete permanently" : "حذف بشكل دائم", + "Error while restoring file from trash bin" : "خطأ في استعادة ملف من سلة المحذوفات", + "Error while removing file from trash bin" : "خطأ في حذف ملف من سلة المحذوفات", + "Error while restoring files from trash bin" : "خطأ في استعادة ملف من سلة المحذوفات", + "Error while emptying trash bin" : "خطأ في إفراغ سلة المحذوفات", + "Error while removing files from trash bin" : "خطأ في حذف ملفات من سلة المحذوفات", "This operation is forbidden" : "هذة العملية ممنوعة ", - "This directory is unavailable, please check the logs or contact the administrator" : "هذا المجلد غير متوفر, الرجاء مراجعة سجل الأخطاء أو الاتصال بمدير النظام", - "Delete" : "إلغاء" + "This directory is unavailable, please check the logs or contact the administrator" : "هذا المجلد غير متوفر؛ الرجاء مراجعة سجل الأخطاء أو الاتصال بمدير النظام", + "Delete" : "حذف" },"pluralForm" :"nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;" }
\ No newline at end of file diff --git a/apps/files_trashbin/l10n/et_EE.js b/apps/files_trashbin/l10n/et_EE.js index fa25f8be009..9f40948c20e 100644 --- a/apps/files_trashbin/l10n/et_EE.js +++ b/apps/files_trashbin/l10n/et_EE.js @@ -3,17 +3,26 @@ OC.L10N.register( { "restored" : "taastatud", "Deleted files" : "Kustutatud failid", + "Deleted files and folders in the trash bin (may expire during export if you are low on storage space)" : "Kustutatud failid ja kaustad prügikastis (võivad ekspordi käigus aeguda, kui salvestusruum on otsakorral)", + "This application enables users to restore files that were deleted from the system." : "See rakendus võimaldab kasutajatel kustutatud faile taastada.", + "This application enables users to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the users file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent a user from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "See rakendus võimaldab kasutajatel kustutatud faile taastada. Veebiliideses kuvatakse kustutatud failide loendit koos võimalusega need kas kasutaja failide hulka taastada või jäädavalt kustutada. Faili taastamine taastab ka selle versioonid, kui versioonide rakendus on lubatud. Kui fail kustutatakse jaoskaustast, saab seda samal moel taastada, ehkki see pole siis enam jagatud. Vaikimisi on failid prügikastus kuni 30 päeva.\nEt vältida kasutaja salvestusruumi otsasaamist, ei kasuta rakendus rohkem kui 50% saadaolevast salvestusruumist. Kui kustutatud failide maht ületab seda limiiti, kustutab rakendus järjest vanemaid faile, kuni maht jääb alla limiidi. Rohkem infot rakenduse dokumentatsioonis.", "Restore" : "Taasta", + "List of files that have been deleted." : "Kustutatud failide loend.", "Deleted" : "Kustutatud", "No deleted files" : "Kustutatud faile pole", - "You will be able to recover deleted files from here" : "Sa saad siit kustutatud faile taastada", + "You will be able to recover deleted files from here" : "Siit saad kustutatud faile taastada", "No entries found in this folder" : "Selles kaustas ei leitud kirjeid", "Select all" : "Vali kõik", "Name" : "Nimi", "Actions" : "Tegevused", "Delete permanently" : "Kustuta jäädavalt", + "Error while restoring file from trash bin" : "Faili prügikastist taastamine ebaõnnestus", + "Error while removing file from trash bin" : "Faili prügikastist eemaldamine ebaõnnestus", + "Error while restoring files from trash bin" : "Failide prügikastist taastamine ebaõnnestus", + "Error while emptying trash bin" : "Prügikasti tühjendamine ebaõnnestus", + "Error while removing files from trash bin" : "Failide prügikastist eemaldamine ebaõnnestus", "This operation is forbidden" : "See toiming on keelatud", - "This directory is unavailable, please check the logs or contact the administrator" : "See kaust pole saadaval. Palun kontrolli logifaile või võta ühendust administraatoriga", + "This directory is unavailable, please check the logs or contact the administrator" : "See kataloog pole saadaval, palun kontrolli logifaile või võta ühendust administraatoriga", "Delete" : "Kustuta" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/files_trashbin/l10n/et_EE.json b/apps/files_trashbin/l10n/et_EE.json index 5ced0fef640..3fcf4115a69 100644 --- a/apps/files_trashbin/l10n/et_EE.json +++ b/apps/files_trashbin/l10n/et_EE.json @@ -1,17 +1,26 @@ { "translations": { "restored" : "taastatud", "Deleted files" : "Kustutatud failid", + "Deleted files and folders in the trash bin (may expire during export if you are low on storage space)" : "Kustutatud failid ja kaustad prügikastis (võivad ekspordi käigus aeguda, kui salvestusruum on otsakorral)", + "This application enables users to restore files that were deleted from the system." : "See rakendus võimaldab kasutajatel kustutatud faile taastada.", + "This application enables users to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the users file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent a user from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "See rakendus võimaldab kasutajatel kustutatud faile taastada. Veebiliideses kuvatakse kustutatud failide loendit koos võimalusega need kas kasutaja failide hulka taastada või jäädavalt kustutada. Faili taastamine taastab ka selle versioonid, kui versioonide rakendus on lubatud. Kui fail kustutatakse jaoskaustast, saab seda samal moel taastada, ehkki see pole siis enam jagatud. Vaikimisi on failid prügikastus kuni 30 päeva.\nEt vältida kasutaja salvestusruumi otsasaamist, ei kasuta rakendus rohkem kui 50% saadaolevast salvestusruumist. Kui kustutatud failide maht ületab seda limiiti, kustutab rakendus järjest vanemaid faile, kuni maht jääb alla limiidi. Rohkem infot rakenduse dokumentatsioonis.", "Restore" : "Taasta", + "List of files that have been deleted." : "Kustutatud failide loend.", "Deleted" : "Kustutatud", "No deleted files" : "Kustutatud faile pole", - "You will be able to recover deleted files from here" : "Sa saad siit kustutatud faile taastada", + "You will be able to recover deleted files from here" : "Siit saad kustutatud faile taastada", "No entries found in this folder" : "Selles kaustas ei leitud kirjeid", "Select all" : "Vali kõik", "Name" : "Nimi", "Actions" : "Tegevused", "Delete permanently" : "Kustuta jäädavalt", + "Error while restoring file from trash bin" : "Faili prügikastist taastamine ebaõnnestus", + "Error while removing file from trash bin" : "Faili prügikastist eemaldamine ebaõnnestus", + "Error while restoring files from trash bin" : "Failide prügikastist taastamine ebaõnnestus", + "Error while emptying trash bin" : "Prügikasti tühjendamine ebaõnnestus", + "Error while removing files from trash bin" : "Failide prügikastist eemaldamine ebaõnnestus", "This operation is forbidden" : "See toiming on keelatud", - "This directory is unavailable, please check the logs or contact the administrator" : "See kaust pole saadaval. Palun kontrolli logifaile või võta ühendust administraatoriga", + "This directory is unavailable, please check the logs or contact the administrator" : "See kataloog pole saadaval, palun kontrolli logifaile või võta ühendust administraatoriga", "Delete" : "Kustuta" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/files_trashbin/l10n/gl.js b/apps/files_trashbin/l10n/gl.js index e6fabbdd260..fdfc5a3e119 100644 --- a/apps/files_trashbin/l10n/gl.js +++ b/apps/files_trashbin/l10n/gl.js @@ -3,7 +3,7 @@ OC.L10N.register( { "restored" : "restaurado", "Deleted files" : "Ficheiros eliminados", - "Deleted files and folders in the trash bin (may expire during export if you are low on storage space)" : "Ficheiros e cartafoles eliminados da papeleira (pode caducar durante a exportación se tes pouco espazo de almacenamento)", + "Deleted files and folders in the trash bin (may expire during export if you are low on storage space)" : "Ficheiros e cartafoles eliminados do cesto do lixo (pode caducar durante a exportación se ten pouco espazo de almacenamento)", "This application enables users to restore files that were deleted from the system." : "Esta aplicación permítelle aos usuarios recuperar ficheiros que foron eliminados do sistema.", "This application enables users to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the users file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent a user from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Esta aplicación permítelle aos usuarios recuperar ficheiros que foron eliminados do sistema. Amosa unha lista dos ficheiros eliminados na interface web e dispón de opcións para restaurar eses ficheiros eliminados cara aos os directorios do usuario ou eliminalos de xeito permanente do sistema. Ao restaurar un ficheiro restauraranse tamén as versións do ficheiro relacionadas. Cando se elimina un ficheiro dunha compartición, non se pode restaurar do mesmo xeito, pois xa non será compartido. Por omisión, estes ficheiros permanecen no lixo durante 30 días.\nPara evitar que un usuario quede sen espazo de disco, a aplicación non empregará máis do 50% do espazo dispoñíbel en cada momento. Se os ficheiros eliminados exceden este límite, a aplicación elimina os ficheiros máis antigos ata volver estar por baixo do límite. Ten máis información dispoñíbel na documentación de Ficheiros eliminados.", "Restore" : "Restaurar", @@ -16,11 +16,11 @@ OC.L10N.register( "Name" : "Nome", "Actions" : "Accións", "Delete permanently" : "Eliminar de xeito permanente", - "Error while restoring file from trash bin" : "Produciuse un erro ao restaurar o ficheiro do lixo", - "Error while removing file from trash bin" : "Produciuse un erro ao eliminar o ficheiro da papeleira", - "Error while restoring files from trash bin" : "Produciuse un erro ao restaurar os ficheiros do lixo", - "Error while emptying trash bin" : "Produciuse un erro ao baleirar o lixo", - "Error while removing files from trash bin" : "Produciuse un erro ao eliminar ficheiros do lixo", + "Error while restoring file from trash bin" : "Produciuse un erro ao restaurar o ficheiro do cesto do lixo", + "Error while removing file from trash bin" : "Produciuse un erro ao retirar o ficheiro do cesto do lixo", + "Error while restoring files from trash bin" : "Produciuse un erro ao restaurar os ficheiros do cesto do lixo", + "Error while emptying trash bin" : "Produciuse un erro ao baleirar o cesto do lixo", + "Error while removing files from trash bin" : "Produciuse un erro ao retirar ficheiros do cesto do lixo", "This operation is forbidden" : "Esta operación está prohibida", "This directory is unavailable, please check the logs or contact the administrator" : "Este directorio non está dispoñíbel, comprobe os rexistros ou póñase en contacto co administrador", "Delete" : "Eliminar" diff --git a/apps/files_trashbin/l10n/gl.json b/apps/files_trashbin/l10n/gl.json index 76ba5eaf4f1..244a1f1999f 100644 --- a/apps/files_trashbin/l10n/gl.json +++ b/apps/files_trashbin/l10n/gl.json @@ -1,7 +1,7 @@ { "translations": { "restored" : "restaurado", "Deleted files" : "Ficheiros eliminados", - "Deleted files and folders in the trash bin (may expire during export if you are low on storage space)" : "Ficheiros e cartafoles eliminados da papeleira (pode caducar durante a exportación se tes pouco espazo de almacenamento)", + "Deleted files and folders in the trash bin (may expire during export if you are low on storage space)" : "Ficheiros e cartafoles eliminados do cesto do lixo (pode caducar durante a exportación se ten pouco espazo de almacenamento)", "This application enables users to restore files that were deleted from the system." : "Esta aplicación permítelle aos usuarios recuperar ficheiros que foron eliminados do sistema.", "This application enables users to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the users file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent a user from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Esta aplicación permítelle aos usuarios recuperar ficheiros que foron eliminados do sistema. Amosa unha lista dos ficheiros eliminados na interface web e dispón de opcións para restaurar eses ficheiros eliminados cara aos os directorios do usuario ou eliminalos de xeito permanente do sistema. Ao restaurar un ficheiro restauraranse tamén as versións do ficheiro relacionadas. Cando se elimina un ficheiro dunha compartición, non se pode restaurar do mesmo xeito, pois xa non será compartido. Por omisión, estes ficheiros permanecen no lixo durante 30 días.\nPara evitar que un usuario quede sen espazo de disco, a aplicación non empregará máis do 50% do espazo dispoñíbel en cada momento. Se os ficheiros eliminados exceden este límite, a aplicación elimina os ficheiros máis antigos ata volver estar por baixo do límite. Ten máis información dispoñíbel na documentación de Ficheiros eliminados.", "Restore" : "Restaurar", @@ -14,11 +14,11 @@ "Name" : "Nome", "Actions" : "Accións", "Delete permanently" : "Eliminar de xeito permanente", - "Error while restoring file from trash bin" : "Produciuse un erro ao restaurar o ficheiro do lixo", - "Error while removing file from trash bin" : "Produciuse un erro ao eliminar o ficheiro da papeleira", - "Error while restoring files from trash bin" : "Produciuse un erro ao restaurar os ficheiros do lixo", - "Error while emptying trash bin" : "Produciuse un erro ao baleirar o lixo", - "Error while removing files from trash bin" : "Produciuse un erro ao eliminar ficheiros do lixo", + "Error while restoring file from trash bin" : "Produciuse un erro ao restaurar o ficheiro do cesto do lixo", + "Error while removing file from trash bin" : "Produciuse un erro ao retirar o ficheiro do cesto do lixo", + "Error while restoring files from trash bin" : "Produciuse un erro ao restaurar os ficheiros do cesto do lixo", + "Error while emptying trash bin" : "Produciuse un erro ao baleirar o cesto do lixo", + "Error while removing files from trash bin" : "Produciuse un erro ao retirar ficheiros do cesto do lixo", "This operation is forbidden" : "Esta operación está prohibida", "This directory is unavailable, please check the logs or contact the administrator" : "Este directorio non está dispoñíbel, comprobe os rexistros ou póñase en contacto co administrador", "Delete" : "Eliminar" diff --git a/apps/files_trashbin/l10n/ko.js b/apps/files_trashbin/l10n/ko.js index 4ec3fe1cb95..2f532d8157c 100644 --- a/apps/files_trashbin/l10n/ko.js +++ b/apps/files_trashbin/l10n/ko.js @@ -6,6 +6,7 @@ OC.L10N.register( "This application enables users to restore files that were deleted from the system." : "이 앱은 시스템에서 삭제된 파일을 복원할 수 있도록 합니다.", "This application enables users to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the users file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent a user from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "이 앱은 시스템에서 삭제된 파일을 복원할 수 있도록 합니다. 웹 인터페이스로 삭제된 파일의 목록을 표시하며, 삭제된 파일을 사용자의 파일 디렉터리로 복원하거나 시스템에서 완전히 삭제하는 옵션이 있습니다. 버전 앱을 활성화한 경우 파일을 복원하면 해당 파일의 모든 버전을 같이 복원합니다. 공유에서 삭제한 파일도 같은 방법으로 복원할 수 있으나 더 이상 공유되지는 않습니다. 기본값으로 파일은 휴지통에 30일 동안 저장됩니다.\n사용자 디스크 공간 부족을 예방하기 위해서 삭제된 파일 앱에서는 삭제된 파일 디스크 할당량의 50% 이상을 사용하지 않습니다. 삭제된 파일이 해당 할당량을 초과한다면 할당량 이하로 떨어질 때까지 앱에서 가장 오래된 파일을 삭제합니다. 자세한 정보를 보려면 삭제된 파일 문서를 참조하십시오.", "Restore" : "복원", + "List of files that have been deleted." : "삭제된 파일들의 목록입니다.", "Deleted" : "삭제됨", "No deleted files" : "삭제된 파일 없음", "You will be able to recover deleted files from here" : "삭제된 파일을 여기에서 복구할 수 있습니다", @@ -14,6 +15,11 @@ OC.L10N.register( "Name" : "이름", "Actions" : "동작", "Delete permanently" : "영구히 삭제", + "Error while restoring file from trash bin" : "휴지통에서 파일을 복구하는 중 오류 발생", + "Error while removing file from trash bin" : "휴지통에서 파일을 제거하는 중 오류 발생", + "Error while restoring files from trash bin" : "휴지통에서 파일들을 복구하는 중 오류 발생", + "Error while emptying trash bin" : "휴지통을 비우는 중 오류 발생", + "Error while removing files from trash bin" : "휴지통에서 파일들을 제거하는 중 오류 발생", "This operation is forbidden" : "이 작업이 금지됨", "This directory is unavailable, please check the logs or contact the administrator" : "디렉터리를 사용할 수 없습니다. 로그를 확인하거나 관리자에게 연락하십시오", "Delete" : "삭제" diff --git a/apps/files_trashbin/l10n/ko.json b/apps/files_trashbin/l10n/ko.json index ba8b603ee45..6fd5ce8a872 100644 --- a/apps/files_trashbin/l10n/ko.json +++ b/apps/files_trashbin/l10n/ko.json @@ -4,6 +4,7 @@ "This application enables users to restore files that were deleted from the system." : "이 앱은 시스템에서 삭제된 파일을 복원할 수 있도록 합니다.", "This application enables users to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the users file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent a user from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "이 앱은 시스템에서 삭제된 파일을 복원할 수 있도록 합니다. 웹 인터페이스로 삭제된 파일의 목록을 표시하며, 삭제된 파일을 사용자의 파일 디렉터리로 복원하거나 시스템에서 완전히 삭제하는 옵션이 있습니다. 버전 앱을 활성화한 경우 파일을 복원하면 해당 파일의 모든 버전을 같이 복원합니다. 공유에서 삭제한 파일도 같은 방법으로 복원할 수 있으나 더 이상 공유되지는 않습니다. 기본값으로 파일은 휴지통에 30일 동안 저장됩니다.\n사용자 디스크 공간 부족을 예방하기 위해서 삭제된 파일 앱에서는 삭제된 파일 디스크 할당량의 50% 이상을 사용하지 않습니다. 삭제된 파일이 해당 할당량을 초과한다면 할당량 이하로 떨어질 때까지 앱에서 가장 오래된 파일을 삭제합니다. 자세한 정보를 보려면 삭제된 파일 문서를 참조하십시오.", "Restore" : "복원", + "List of files that have been deleted." : "삭제된 파일들의 목록입니다.", "Deleted" : "삭제됨", "No deleted files" : "삭제된 파일 없음", "You will be able to recover deleted files from here" : "삭제된 파일을 여기에서 복구할 수 있습니다", @@ -12,6 +13,11 @@ "Name" : "이름", "Actions" : "동작", "Delete permanently" : "영구히 삭제", + "Error while restoring file from trash bin" : "휴지통에서 파일을 복구하는 중 오류 발생", + "Error while removing file from trash bin" : "휴지통에서 파일을 제거하는 중 오류 발생", + "Error while restoring files from trash bin" : "휴지통에서 파일들을 복구하는 중 오류 발생", + "Error while emptying trash bin" : "휴지통을 비우는 중 오류 발생", + "Error while removing files from trash bin" : "휴지통에서 파일들을 제거하는 중 오류 발생", "This operation is forbidden" : "이 작업이 금지됨", "This directory is unavailable, please check the logs or contact the administrator" : "디렉터리를 사용할 수 없습니다. 로그를 확인하거나 관리자에게 연락하십시오", "Delete" : "삭제" diff --git a/apps/files_trashbin/l10n/zh_CN.js b/apps/files_trashbin/l10n/zh_CN.js index d32c37dce92..7a3b9b23f37 100644 --- a/apps/files_trashbin/l10n/zh_CN.js +++ b/apps/files_trashbin/l10n/zh_CN.js @@ -4,7 +4,7 @@ OC.L10N.register( "restored" : "已恢复", "Deleted files" : "已删除文件", "This application enables users to restore files that were deleted from the system." : "此应用允许用户恢复从系统中删除的文件。", - "This application enables users to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the users file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent a user from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "此应用允许用户恢复从系统中删除的文件。它会在web界面上显示已删除文件的列表,且可以选择将这些已删除文件恢复到用户的文件目录中或者将其永久地从系统删除。如果版本应用启用的话,恢复文件同时也会恢复相关的文件副本。当文件从共享中删除时,它可以用同样的方法恢复,但它不会再被共享。默认情况下,这些文件将会在回收站中保留30天。\n为防止用户把磁盘空间用完,文件删除应用用于保存已删除文件的空间将不会超过当前可用空闲配额的50%。当已删除文件的容量超过这一限制时,应用将删除最旧的文件直到容量低于限制。更多信息请参考文件删除应用文档。", + "This application enables users to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the users file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent a user from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "此应用允许用户恢复从系统中删除的文件。它会在 web 界面上显示已删除文件的列表,且可以选择将这些已删除文件恢复到用户的文件目录中或者将其永久地从系统删除。如果版本应用启用的话,恢复文件同时也会恢复相关的文件副本。当文件从共享中删除时,它可以用同样的方法恢复,但它不会再被共享。默认情况下,这些文件将会在回收站中保留 30 天。\n为防止用户把磁盘空间用完,文件删除应用用于保存已删除文件的空间将不会超过当前可用空闲配额的 50%。当已删除文件的容量超过这一限制时,应用将删除最旧的文件直到容量低于限制。更多信息请参考文件删除应用文档。", "Restore" : "恢复", "Deleted" : "已删除", "No deleted files" : "无已删除文件", diff --git a/apps/files_trashbin/l10n/zh_CN.json b/apps/files_trashbin/l10n/zh_CN.json index 677286df80a..441827987ef 100644 --- a/apps/files_trashbin/l10n/zh_CN.json +++ b/apps/files_trashbin/l10n/zh_CN.json @@ -2,7 +2,7 @@ "restored" : "已恢复", "Deleted files" : "已删除文件", "This application enables users to restore files that were deleted from the system." : "此应用允许用户恢复从系统中删除的文件。", - "This application enables users to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the users file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent a user from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "此应用允许用户恢复从系统中删除的文件。它会在web界面上显示已删除文件的列表,且可以选择将这些已删除文件恢复到用户的文件目录中或者将其永久地从系统删除。如果版本应用启用的话,恢复文件同时也会恢复相关的文件副本。当文件从共享中删除时,它可以用同样的方法恢复,但它不会再被共享。默认情况下,这些文件将会在回收站中保留30天。\n为防止用户把磁盘空间用完,文件删除应用用于保存已删除文件的空间将不会超过当前可用空闲配额的50%。当已删除文件的容量超过这一限制时,应用将删除最旧的文件直到容量低于限制。更多信息请参考文件删除应用文档。", + "This application enables users to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the users file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent a user from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "此应用允许用户恢复从系统中删除的文件。它会在 web 界面上显示已删除文件的列表,且可以选择将这些已删除文件恢复到用户的文件目录中或者将其永久地从系统删除。如果版本应用启用的话,恢复文件同时也会恢复相关的文件副本。当文件从共享中删除时,它可以用同样的方法恢复,但它不会再被共享。默认情况下,这些文件将会在回收站中保留 30 天。\n为防止用户把磁盘空间用完,文件删除应用用于保存已删除文件的空间将不会超过当前可用空闲配额的 50%。当已删除文件的容量超过这一限制时,应用将删除最旧的文件直到容量低于限制。更多信息请参考文件删除应用文档。", "Restore" : "恢复", "Deleted" : "已删除", "No deleted files" : "无已删除文件", diff --git a/apps/files_versions/l10n/ar.js b/apps/files_versions/l10n/ar.js index 81bd0c65269..3a3aa110c34 100644 --- a/apps/files_versions/l10n/ar.js +++ b/apps/files_versions/l10n/ar.js @@ -2,6 +2,23 @@ OC.L10N.register( "files_versions", { "Versions" : "الإصدارات", + "This application automatically maintains older versions of files that are changed." : "هذا التطبيق يقوم بحفظ النسخ الأقدم من الملفات التي يتم تعديلها.", + "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." : "هذا التطبيق يقوم بحفظ النسخ الأقدم من الملفات التي يتم تعديلها. عند تفعيله، يتم توفير مُجلد مخفي في دليل المستخدم لحفظ النسخ الأقدم للملفات. و يمكن للمستخدم العودة لأي نسخة قديمة من الملف من خلال الشاشة في أي لحظة. و حينها يتم نقل النسخة الأقدم المحفوظة لتصبح هي النسخة العامة و بالمقابل يتم نسخ النسخة العاملة لتصبح ضمن النُّسخ الأقدم. \nلا يسمح النظام بأن تتجاوز مساحة تخزين النُّسخ الأقدم 50% من حصة المستخدم المُتاحة. عند تضاؤل مساحة التخزين المُتاحة من حصة المستخدم، يقوم النظام بحذف النُّسخ الأقدم فالأقدم بحيث لا تقل حصة لا تشغل النُّسخ الأقدم أكثر من 50% من حصة المستخدم في جميع الأحوال. للمزيد؛ أنظر توثيق النُّسخ Version documenation.", + "Name this version" : "أعط اسماً لهذه النسخة", + "Edit version name" : "عدّل اسم النسخة", + "Restore version" : "استعادة النسخة", + "Download version" : "تنزيل النسخة", + "Delete version" : "حذف النسخة", + "Version name" : "اسم النسخة", + "Named versions are persisted, and excluded from automatic cleanups when your storage quota is full." : "النُّسخ المُسمّاة محفوظة و مُستثناة من التنظيف التلقائي عند تضاؤل المٌتاح من الحصة التخزينية.", + "Remove version name" : "إلغ اسم النسخة", + "Save version name" : "إحفظ اسم النسخة", + "Initial version restored" : "استعادة النسخة الأساسية", + "Version restored" : "تمّت استعادة النسخة", + "Could not restore version" : "لم يُمكن استعادة النسخة", + "Could not set version name" : "لم يُمكن تعيين اسم للنسخة", + "Could not delete version" : "لم يُمكن حذف النسخة", + "${version.label} restored" : "${version.label} تمّت استعادتها", "Failed to revert {file} to revision {timestamp}." : "فشل في استعادة {ملف} لنتقيح {الطابع الزمني}", "Restore" : "استعادة ", "No other versions available" : "لا تتوفر هناك نُسخ أخرى" diff --git a/apps/files_versions/l10n/ar.json b/apps/files_versions/l10n/ar.json index f68c07fb142..3550a4e971e 100644 --- a/apps/files_versions/l10n/ar.json +++ b/apps/files_versions/l10n/ar.json @@ -1,5 +1,22 @@ { "translations": { "Versions" : "الإصدارات", + "This application automatically maintains older versions of files that are changed." : "هذا التطبيق يقوم بحفظ النسخ الأقدم من الملفات التي يتم تعديلها.", + "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." : "هذا التطبيق يقوم بحفظ النسخ الأقدم من الملفات التي يتم تعديلها. عند تفعيله، يتم توفير مُجلد مخفي في دليل المستخدم لحفظ النسخ الأقدم للملفات. و يمكن للمستخدم العودة لأي نسخة قديمة من الملف من خلال الشاشة في أي لحظة. و حينها يتم نقل النسخة الأقدم المحفوظة لتصبح هي النسخة العامة و بالمقابل يتم نسخ النسخة العاملة لتصبح ضمن النُّسخ الأقدم. \nلا يسمح النظام بأن تتجاوز مساحة تخزين النُّسخ الأقدم 50% من حصة المستخدم المُتاحة. عند تضاؤل مساحة التخزين المُتاحة من حصة المستخدم، يقوم النظام بحذف النُّسخ الأقدم فالأقدم بحيث لا تقل حصة لا تشغل النُّسخ الأقدم أكثر من 50% من حصة المستخدم في جميع الأحوال. للمزيد؛ أنظر توثيق النُّسخ Version documenation.", + "Name this version" : "أعط اسماً لهذه النسخة", + "Edit version name" : "عدّل اسم النسخة", + "Restore version" : "استعادة النسخة", + "Download version" : "تنزيل النسخة", + "Delete version" : "حذف النسخة", + "Version name" : "اسم النسخة", + "Named versions are persisted, and excluded from automatic cleanups when your storage quota is full." : "النُّسخ المُسمّاة محفوظة و مُستثناة من التنظيف التلقائي عند تضاؤل المٌتاح من الحصة التخزينية.", + "Remove version name" : "إلغ اسم النسخة", + "Save version name" : "إحفظ اسم النسخة", + "Initial version restored" : "استعادة النسخة الأساسية", + "Version restored" : "تمّت استعادة النسخة", + "Could not restore version" : "لم يُمكن استعادة النسخة", + "Could not set version name" : "لم يُمكن تعيين اسم للنسخة", + "Could not delete version" : "لم يُمكن حذف النسخة", + "${version.label} restored" : "${version.label} تمّت استعادتها", "Failed to revert {file} to revision {timestamp}." : "فشل في استعادة {ملف} لنتقيح {الطابع الزمني}", "Restore" : "استعادة ", "No other versions available" : "لا تتوفر هناك نُسخ أخرى" diff --git a/apps/files_versions/l10n/et_EE.js b/apps/files_versions/l10n/et_EE.js index 08a395f53ff..a97c70a3a92 100644 --- a/apps/files_versions/l10n/et_EE.js +++ b/apps/files_versions/l10n/et_EE.js @@ -3,9 +3,23 @@ OC.L10N.register( { "Versions" : "Versioonid", "This application automatically maintains older versions of files that are changed." : "See rakendus haldab automaatselt muudetud failide vanemaid versioone.", - "Version" : "Versioon", - "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." : "See rakendus säilitab automaatselt muudetud failide vanemaid versioone. Kui see on aktiveeritud, luuakse iga kasutaja kataloogis peidetud versioonide kaust, mida kasutatakse vanade failiversioonide säilitamiseks. Kasutaja saab igal ajal veebiliidese kaudu pöörduda tagasi vanema versiooni juurde, kusjuures asendatud failist saab versioon. Rakendus haldab versioonide kausta automaatselt, et tagada, et kasutaja salvestusmaht ei saa versioonide tõttu otsa. Lisaks versioonide aegumisele hoolitseb versioonide rakendus selle eest, et kunagi ei kasutataks rohkem kui 50% kasutaja hetkel kasutatavast vabast ruumist. Kui salvestatud versioonid ületavad selle piiri, kustutab rakendus kõigepealt vanimad versioonid, kuni see piir on saavutatud. Lisateave on saadaval versioonide dokumentatsioonis. ", - "Failed to revert {file} to revision {timestamp}." : "Ebaõnnestus faili {file} taastamine revisjonile {timestamp}", + "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." : "See rakendus haldab automaatselt muudetud failide vanemaid versioone. Sisselülitamisel tekitatakse iga kasutaja kataloogi peidetud versioonide kaust, milles hoitakse failide vanemaid versioone. Kasutaja saab veebiliidese kaudu iga hetk vanema versiooni taastada, kusjuures asendatud fail muutub omakorda versiooniks. Rakendus haldab versioonide kausta automaatselt, hoolitsedes selle eest, et kasutaja salvestusruumi limiiti ei ületataks.\n\t\tLisaks versioonide aegumisele ei kasuta rakendus kunagi rohkem kui 50% kasutaja saadaolevast salvestusruumist. Kui salvestatud versioonide maht ületab seda limiiti, kustutatakse järjest vanemaid versioone, kuni maht jääb alla limiidi. Rohkem infot rakenduse dokumentatsioonis.", + "Name this version" : "Nimeta see versioon", + "Edit version name" : "Muuda versiooni nime", + "Restore version" : "Taasta versioon", + "Download version" : "Laadi versioon alla", + "Delete version" : "Kustuta versioo", + "Version name" : "Versiooni nimi", + "Named versions are persisted, and excluded from automatic cleanups when your storage quota is full." : "Nimelised versioonid hoitakse alles ja ei kustutata automaatselt, kui salvestusruum on täis.", + "Remove version name" : "Eemalda versiooni nimi", + "Save version name" : "Salvesta versiooni nimi", + "Initial version restored" : "Algne versioon taastatud", + "Version restored" : "Versioon taastatud", + "Could not restore version" : "Versiooni taastamine ebaõnnestus", + "Could not set version name" : "Versiooni nime seadmine ebaõnnestus", + "Could not delete version" : "Versiooni kustutamine ebaõnnestus", + "${version.label} restored" : "${version.label} taastatud", + "Failed to revert {file} to revision {timestamp}." : "Faili {file} taastamine revisjonile {timestamp} ebaõnnestus", "_%n byte_::_%n bytes_" : ["%n bait","%n baiti"], "Restore" : "Taasta", "No other versions available" : "Muid versioone pole saadaval" diff --git a/apps/files_versions/l10n/et_EE.json b/apps/files_versions/l10n/et_EE.json index f690935e689..5265f952266 100644 --- a/apps/files_versions/l10n/et_EE.json +++ b/apps/files_versions/l10n/et_EE.json @@ -1,9 +1,23 @@ { "translations": { "Versions" : "Versioonid", "This application automatically maintains older versions of files that are changed." : "See rakendus haldab automaatselt muudetud failide vanemaid versioone.", - "Version" : "Versioon", - "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." : "See rakendus säilitab automaatselt muudetud failide vanemaid versioone. Kui see on aktiveeritud, luuakse iga kasutaja kataloogis peidetud versioonide kaust, mida kasutatakse vanade failiversioonide säilitamiseks. Kasutaja saab igal ajal veebiliidese kaudu pöörduda tagasi vanema versiooni juurde, kusjuures asendatud failist saab versioon. Rakendus haldab versioonide kausta automaatselt, et tagada, et kasutaja salvestusmaht ei saa versioonide tõttu otsa. Lisaks versioonide aegumisele hoolitseb versioonide rakendus selle eest, et kunagi ei kasutataks rohkem kui 50% kasutaja hetkel kasutatavast vabast ruumist. Kui salvestatud versioonid ületavad selle piiri, kustutab rakendus kõigepealt vanimad versioonid, kuni see piir on saavutatud. Lisateave on saadaval versioonide dokumentatsioonis. ", - "Failed to revert {file} to revision {timestamp}." : "Ebaõnnestus faili {file} taastamine revisjonile {timestamp}", + "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." : "See rakendus haldab automaatselt muudetud failide vanemaid versioone. Sisselülitamisel tekitatakse iga kasutaja kataloogi peidetud versioonide kaust, milles hoitakse failide vanemaid versioone. Kasutaja saab veebiliidese kaudu iga hetk vanema versiooni taastada, kusjuures asendatud fail muutub omakorda versiooniks. Rakendus haldab versioonide kausta automaatselt, hoolitsedes selle eest, et kasutaja salvestusruumi limiiti ei ületataks.\n\t\tLisaks versioonide aegumisele ei kasuta rakendus kunagi rohkem kui 50% kasutaja saadaolevast salvestusruumist. Kui salvestatud versioonide maht ületab seda limiiti, kustutatakse järjest vanemaid versioone, kuni maht jääb alla limiidi. Rohkem infot rakenduse dokumentatsioonis.", + "Name this version" : "Nimeta see versioon", + "Edit version name" : "Muuda versiooni nime", + "Restore version" : "Taasta versioon", + "Download version" : "Laadi versioon alla", + "Delete version" : "Kustuta versioo", + "Version name" : "Versiooni nimi", + "Named versions are persisted, and excluded from automatic cleanups when your storage quota is full." : "Nimelised versioonid hoitakse alles ja ei kustutata automaatselt, kui salvestusruum on täis.", + "Remove version name" : "Eemalda versiooni nimi", + "Save version name" : "Salvesta versiooni nimi", + "Initial version restored" : "Algne versioon taastatud", + "Version restored" : "Versioon taastatud", + "Could not restore version" : "Versiooni taastamine ebaõnnestus", + "Could not set version name" : "Versiooni nime seadmine ebaõnnestus", + "Could not delete version" : "Versiooni kustutamine ebaõnnestus", + "${version.label} restored" : "${version.label} taastatud", + "Failed to revert {file} to revision {timestamp}." : "Faili {file} taastamine revisjonile {timestamp} ebaõnnestus", "_%n byte_::_%n bytes_" : ["%n bait","%n baiti"], "Restore" : "Taasta", "No other versions available" : "Muid versioone pole saadaval" diff --git a/apps/files_versions/l10n/gl.js b/apps/files_versions/l10n/gl.js index 37571f730a7..b598fa64dbd 100644 --- a/apps/files_versions/l10n/gl.js +++ b/apps/files_versions/l10n/gl.js @@ -4,21 +4,21 @@ OC.L10N.register( "Versions" : "Versións", "This application automatically maintains older versions of files that are changed." : "Esta aplicación mantén automaticamente versións antigas dos ficheiros 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 mantén automaticamente versións antigas dos ficheiros que cambian. Ao activarse, crease un cartafol agochado de versións que se emprega para almacenar versións antigas de ficheiros. Un usuario pode reverter cara a unha versión anterior a través da interface web en calquera momento, co ficheiro substituído converténdose nunha versión. A aplicación xestiona automaticamente o cartafol de versións para asegurarse de que o usuario non queda sen espazo por mor das versións.\n\t\tAdemais da caducidade de versións, a aplicación de versións asegurase de non empregar nunca máis do 50% do espazo libre actualmente dispoñíbel para un usuario. Se as versións almacenadas exceden este límite, a aplicación eliminará as versións máis antigas ata acadar este límite. Hai máis información dispoñíbel na documentación de Versións.", - "Name this version" : "Nomea esta versión", + "Name this version" : "Nomear esta versión", "Edit version name" : "Editar o nome da versión", - "Restore version" : "Restaurar versión", - "Download version" : "Descargar versión", - "Delete version" : "Eliminar versión", + "Restore version" : "Restaurar a versión", + "Download version" : "Descargar a versión", + "Delete version" : "Eliminar a versión", "Version name" : "Nome da versión", - "Named versions are persisted, and excluded from automatic cleanups when your storage quota is full." : "As versións con nome mantéñense e exclúense das limpezas automáticas cando a túa cota de almacenamento estea completa.", - "Remove version name" : "Eliminar o nome da versión", + "Named versions are persisted, and excluded from automatic cleanups when your storage quota is full." : "As versións con nome mantéñense e exclúense das limpezas automáticas cando a súa cota de almacenamento estea completa.", + "Remove version name" : "Retirar o nome da versión", "Save version name" : "Gardar o nome da versión", - "Initial version restored" : "Versión inicial restaurada", - "Version restored" : "Versión restaurada", - "Could not restore version" : "Non se puido restaurar a versión", - "Could not set version name" : "Non se puido definir o nome da versión", - "Could not delete version" : "Non se puido eliminar a versión", - "${version.label} restored" : "${version.label} restaurouse", + "Initial version restored" : "A versión inicial foi restaurada", + "Version restored" : "A versión foi restaurada", + "Could not restore version" : "Non foi posíbel restaurar a versión", + "Could not set version name" : "Non foi posíbel estabelecer o nome da versión", + "Could not delete version" : "Non foi posíbel eliminar a versión", + "${version.label} restored" : "${version.label} foi restaurada", "Failed to revert {file} to revision {timestamp}." : "Non foi posíbel reverter {file} á revisión {timestamp}.", "_%n byte_::_%n bytes_" : ["%n byte","%n bytes"], "Restore" : "Restaurar", diff --git a/apps/files_versions/l10n/gl.json b/apps/files_versions/l10n/gl.json index 4fbdb71a947..9a51a6b1b40 100644 --- a/apps/files_versions/l10n/gl.json +++ b/apps/files_versions/l10n/gl.json @@ -2,21 +2,21 @@ "Versions" : "Versións", "This application automatically maintains older versions of files that are changed." : "Esta aplicación mantén automaticamente versións antigas dos ficheiros 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 mantén automaticamente versións antigas dos ficheiros que cambian. Ao activarse, crease un cartafol agochado de versións que se emprega para almacenar versións antigas de ficheiros. Un usuario pode reverter cara a unha versión anterior a través da interface web en calquera momento, co ficheiro substituído converténdose nunha versión. A aplicación xestiona automaticamente o cartafol de versións para asegurarse de que o usuario non queda sen espazo por mor das versións.\n\t\tAdemais da caducidade de versións, a aplicación de versións asegurase de non empregar nunca máis do 50% do espazo libre actualmente dispoñíbel para un usuario. Se as versións almacenadas exceden este límite, a aplicación eliminará as versións máis antigas ata acadar este límite. Hai máis información dispoñíbel na documentación de Versións.", - "Name this version" : "Nomea esta versión", + "Name this version" : "Nomear esta versión", "Edit version name" : "Editar o nome da versión", - "Restore version" : "Restaurar versión", - "Download version" : "Descargar versión", - "Delete version" : "Eliminar versión", + "Restore version" : "Restaurar a versión", + "Download version" : "Descargar a versión", + "Delete version" : "Eliminar a versión", "Version name" : "Nome da versión", - "Named versions are persisted, and excluded from automatic cleanups when your storage quota is full." : "As versións con nome mantéñense e exclúense das limpezas automáticas cando a túa cota de almacenamento estea completa.", - "Remove version name" : "Eliminar o nome da versión", + "Named versions are persisted, and excluded from automatic cleanups when your storage quota is full." : "As versións con nome mantéñense e exclúense das limpezas automáticas cando a súa cota de almacenamento estea completa.", + "Remove version name" : "Retirar o nome da versión", "Save version name" : "Gardar o nome da versión", - "Initial version restored" : "Versión inicial restaurada", - "Version restored" : "Versión restaurada", - "Could not restore version" : "Non se puido restaurar a versión", - "Could not set version name" : "Non se puido definir o nome da versión", - "Could not delete version" : "Non se puido eliminar a versión", - "${version.label} restored" : "${version.label} restaurouse", + "Initial version restored" : "A versión inicial foi restaurada", + "Version restored" : "A versión foi restaurada", + "Could not restore version" : "Non foi posíbel restaurar a versión", + "Could not set version name" : "Non foi posíbel estabelecer o nome da versión", + "Could not delete version" : "Non foi posíbel eliminar a versión", + "${version.label} restored" : "${version.label} foi restaurada", "Failed to revert {file} to revision {timestamp}." : "Non foi posíbel reverter {file} á revisión {timestamp}.", "_%n byte_::_%n bytes_" : ["%n byte","%n bytes"], "Restore" : "Restaurar", diff --git a/apps/files_versions/lib/Capabilities.php b/apps/files_versions/lib/Capabilities.php index e97a5c4aaa4..afc6fa39da7 100644 --- a/apps/files_versions/lib/Capabilities.php +++ b/apps/files_versions/lib/Capabilities.php @@ -46,13 +46,13 @@ class Capabilities implements ICapability { * @return array */ public function getCapabilities() { - $groupFolderOrS3VersioningInstalled = $this->appManager->isInstalled('groupfolders') || $this->appManager->isInstalled('files_versions_s3'); + $groupFolderInstalled = $this->appManager->isInstalled('groupfolders'); return [ 'files' => [ 'versioning' => true, - 'version_labeling' => !$groupFolderOrS3VersioningInstalled && $this->config->getSystemValueBool('enable_version_labeling', true), - 'version_deletion' => !$groupFolderOrS3VersioningInstalled && $this->config->getSystemValueBool('enable_version_deletion', true), + 'version_labeling' => !$groupFolderInstalled && $this->config->getSystemValueBool('enable_version_labeling', true), + 'version_deletion' => !$groupFolderInstalled && $this->config->getSystemValueBool('enable_version_deletion', true), ] ]; } diff --git a/apps/files_versions/lib/Listener/FileEventsListener.php b/apps/files_versions/lib/Listener/FileEventsListener.php index 76590733e26..fe638364b9d 100644 --- a/apps/files_versions/lib/Listener/FileEventsListener.php +++ b/apps/files_versions/lib/Listener/FileEventsListener.php @@ -40,6 +40,7 @@ use OCA\Files_Versions\Db\VersionEntity; use OCA\Files_Versions\Db\VersionsMapper; use OCA\Files_Versions\Storage; use OCP\AppFramework\Db\DoesNotExistException; +use OCP\DB\Exception; use OCP\EventDispatcher\Event; use OCP\EventDispatcher\IEventListener; use OCP\Files\Events\Node\BeforeNodeCopiedEvent; @@ -57,6 +58,7 @@ use OCP\Files\Folder; use OCP\Files\IMimeTypeLoader; use OCP\Files\IRootFolder; use OCP\Files\Node; +use Psr\Log\LoggerInterface; class FileEventsListener implements IEventListener { private IRootFolder $rootFolder; @@ -74,15 +76,18 @@ class FileEventsListener implements IEventListener { */ private array $versionsDeleted = []; private IMimeTypeLoader $mimeTypeLoader; + private LoggerInterface $logger; public function __construct( IRootFolder $rootFolder, VersionsMapper $versionsMapper, - IMimeTypeLoader $mimeTypeLoader + IMimeTypeLoader $mimeTypeLoader, + LoggerInterface $logger, ) { $this->rootFolder = $rootFolder; $this->versionsMapper = $versionsMapper; $this->mimeTypeLoader = $mimeTypeLoader; + $this->logger = $logger; } public function handle(Event $event): void { @@ -226,24 +231,37 @@ class FileEventsListener implements IEventListener { return; } - if ($writeHookInfo['versionCreated'] && $node->getMTime() !== $writeHookInfo['previousNode']->getMTime()) { + if ( + ($writeHookInfo['versionCreated'] || $writeHookInfo['previousNode']->getSize() === 0) && + $node->getMTime() !== $writeHookInfo['previousNode']->getMTime() + ) { // If a new version was created, insert a version in the DB for the current content. // Unless both versions have the same mtime. - $versionEntity = new VersionEntity(); - $versionEntity->setFileId($node->getId()); - $versionEntity->setTimestamp($node->getMTime()); - $versionEntity->setSize($node->getSize()); - $versionEntity->setMimetype($this->mimeTypeLoader->getId($node->getMimetype())); - $versionEntity->setMetadata([]); - $this->versionsMapper->insert($versionEntity); + $this->created($node); } else { - // If no new version was stored in the FS, no new version should be added in the DB. - // So we simply update the associated version. - $currentVersionEntity = $this->versionsMapper->findVersionForFileId($node->getId(), $writeHookInfo['previousNode']->getMtime()); - $currentVersionEntity->setTimestamp($node->getMTime()); - $currentVersionEntity->setSize($node->getSize()); - $currentVersionEntity->setMimetype($this->mimeTypeLoader->getId($node->getMimetype())); - $this->versionsMapper->update($currentVersionEntity); + try { + // If no new version was stored in the FS, no new version should be added in the DB. + // So we simply update the associated version. + $currentVersionEntity = $this->versionsMapper->findVersionForFileId($node->getId(), $writeHookInfo['previousNode']->getMtime()); + $currentVersionEntity->setTimestamp($node->getMTime()); + $currentVersionEntity->setSize($node->getSize()); + $currentVersionEntity->setMimetype($this->mimeTypeLoader->getId($node->getMimetype())); + $this->versionsMapper->update($currentVersionEntity); + } catch (Exception $e) { + $this->logger->error('Failed to update existing version for ' . $node->getPath(), [ + 'exception' => $e, + 'versionCreated' => $writeHookInfo['versionCreated'], + 'previousNode' => [ + 'size' => $writeHookInfo['previousNode']->getSize(), + 'mtime' => $writeHookInfo['previousNode']->getMTime(), + ], + 'node' => [ + 'size' => $node->getSize(), + 'mtime' => $node->getMTime(), + ] + ]); + throw $e; + } } unset($this->writeHookInfo[$node->getId()]); diff --git a/apps/lookup_server_connector/l10n/ar.js b/apps/lookup_server_connector/l10n/ar.js new file mode 100644 index 00000000000..b60d9a66d19 --- /dev/null +++ b/apps/lookup_server_connector/l10n/ar.js @@ -0,0 +1,7 @@ +OC.L10N.register( + "lookup_server_connector", + { + "Lookup Server Connector" : "قابس خادوم البحث Lookup Server Connector", + "Sync public user information with the lookup server" : "مزامنة بيانات المستخدم العامة مع خادوم البحث" +}, +"nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;"); diff --git a/apps/lookup_server_connector/l10n/ar.json b/apps/lookup_server_connector/l10n/ar.json new file mode 100644 index 00000000000..f881eb21f74 --- /dev/null +++ b/apps/lookup_server_connector/l10n/ar.json @@ -0,0 +1,5 @@ +{ "translations": { + "Lookup Server Connector" : "قابس خادوم البحث Lookup Server Connector", + "Sync public user information with the lookup server" : "مزامنة بيانات المستخدم العامة مع خادوم البحث" +},"pluralForm" :"nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;" +}
\ No newline at end of file diff --git a/apps/lookup_server_connector/l10n/et_EE.js b/apps/lookup_server_connector/l10n/et_EE.js new file mode 100644 index 00000000000..f26119aedaf --- /dev/null +++ b/apps/lookup_server_connector/l10n/et_EE.js @@ -0,0 +1,7 @@ +OC.L10N.register( + "lookup_server_connector", + { + "Lookup Server Connector" : "Otsingu serveri ühendaja", + "Sync public user information with the lookup server" : "Sünkroniseeri avaliku kasutaja informatsioon otsingu serveriga" +}, +"nplurals=2; plural=(n != 1);"); diff --git a/apps/lookup_server_connector/l10n/et_EE.json b/apps/lookup_server_connector/l10n/et_EE.json new file mode 100644 index 00000000000..4dbc907221b --- /dev/null +++ b/apps/lookup_server_connector/l10n/et_EE.json @@ -0,0 +1,5 @@ +{ "translations": { + "Lookup Server Connector" : "Otsingu serveri ühendaja", + "Sync public user information with the lookup server" : "Sünkroniseeri avaliku kasutaja informatsioon otsingu serveriga" +},"pluralForm" :"nplurals=2; plural=(n != 1);" +}
\ No newline at end of file diff --git a/apps/oauth2/appinfo/info.xml b/apps/oauth2/appinfo/info.xml index 3d18f936da8..bc31d12f161 100644 --- a/apps/oauth2/appinfo/info.xml +++ b/apps/oauth2/appinfo/info.xml @@ -5,7 +5,7 @@ <name>OAuth 2.0</name> <summary>Allows OAuth2 compatible authentication from other web applications.</summary> <description>The OAuth2 app allows administrators to configure the built-in authentication workflow to also allow OAuth2 compatible authentication from other web applications.</description> - <version>1.16.1</version> + <version>1.16.2</version> <licence>agpl</licence> <author>Lukas Reschke</author> <namespace>OAuth2</namespace> diff --git a/apps/oauth2/composer/composer/autoload_classmap.php b/apps/oauth2/composer/composer/autoload_classmap.php index 09cacb20335..ffc00e254de 100644 --- a/apps/oauth2/composer/composer/autoload_classmap.php +++ b/apps/oauth2/composer/composer/autoload_classmap.php @@ -20,5 +20,6 @@ return array( 'OCA\\OAuth2\\Migration\\Version010401Date20181207190718' => $baseDir . '/../lib/Migration/Version010401Date20181207190718.php', 'OCA\\OAuth2\\Migration\\Version010402Date20190107124745' => $baseDir . '/../lib/Migration/Version010402Date20190107124745.php', 'OCA\\OAuth2\\Migration\\Version011601Date20230522143227' => $baseDir . '/../lib/Migration/Version011601Date20230522143227.php', + 'OCA\\OAuth2\\Migration\\Version011602Date20230613160650' => $baseDir . '/../lib/Migration/Version011602Date20230613160650.php', 'OCA\\OAuth2\\Settings\\Admin' => $baseDir . '/../lib/Settings/Admin.php', ); diff --git a/apps/oauth2/composer/composer/autoload_static.php b/apps/oauth2/composer/composer/autoload_static.php index 1442093e32f..759e4fc3b79 100644 --- a/apps/oauth2/composer/composer/autoload_static.php +++ b/apps/oauth2/composer/composer/autoload_static.php @@ -35,6 +35,7 @@ class ComposerStaticInitOAuth2 'OCA\\OAuth2\\Migration\\Version010401Date20181207190718' => __DIR__ . '/..' . '/../lib/Migration/Version010401Date20181207190718.php', 'OCA\\OAuth2\\Migration\\Version010402Date20190107124745' => __DIR__ . '/..' . '/../lib/Migration/Version010402Date20190107124745.php', 'OCA\\OAuth2\\Migration\\Version011601Date20230522143227' => __DIR__ . '/..' . '/../lib/Migration/Version011601Date20230522143227.php', + 'OCA\\OAuth2\\Migration\\Version011602Date20230613160650' => __DIR__ . '/..' . '/../lib/Migration/Version011602Date20230613160650.php', 'OCA\\OAuth2\\Settings\\Admin' => __DIR__ . '/..' . '/../lib/Settings/Admin.php', ); diff --git a/apps/oauth2/l10n/ar.js b/apps/oauth2/l10n/ar.js index 9771d514540..06047e87cde 100644 --- a/apps/oauth2/l10n/ar.js +++ b/apps/oauth2/l10n/ar.js @@ -1,11 +1,20 @@ OC.L10N.register( "oauth2", { - "Name" : "الإسم", + "Your client is not authorized to connect. Please inform the administrator of your client." : "عميلك ليس مُخوّلاً بالربط. رجاءً، أبلغ مشرفك.", + "Your redirect URL needs to be a full URL for example: https://yourdomain.com/path" : "عنوان URL المُعاد توجيهه يجب أن يكون عنواناً كاملاً كما في المثال التالي: https://yourdomain.com/path", + "OAuth 2.0" : "OAuth 2.0", + "Allows OAuth2 compatible authentication from other web applications." : "يسمح بالتحقّق من الهويّة عن طريق تطبيقات وب أخرى متوافقة مع OAuth2.", + "The OAuth2 app allows administrators to configure the built-in authentication workflow to also allow OAuth2 compatible authentication from other web applications." : "التطبيق OAuth2 يسمح للمشرفين بتهيئة الأجراء الأساسي للتحقّق من الهويّةبحيث يسمح بالتحقّق من الهويّة عن طريق تطبيقات وب أخرى متوافقة مع OAuth2.", + "OAuth 2.0 clients" : "عملاء OAuth2,0", + "OAuth 2.0 allows external services to request access to {instanceName}." : "يسمح OAuth2.0 لخدمات خارجية بطلب الوصول إلى {instanceName}", + "Add client" : "إضافة عميل", + "Name" : "الاسم", "Redirection URI" : "رابط إعادة التوجيه", + "Add" : "إضافة", "Client Identifier" : "مُعرِّف العميل", "Secret" : "السر", - "Add client" : "إضافة عميل", - "Add" : "إضافة" + "Show client secret" : "عرض كلمة سر العميل", + "Delete" : "حذف" }, "nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;"); diff --git a/apps/oauth2/l10n/ar.json b/apps/oauth2/l10n/ar.json index bfa7e0487ea..ebf45d4d7c9 100644 --- a/apps/oauth2/l10n/ar.json +++ b/apps/oauth2/l10n/ar.json @@ -1,9 +1,18 @@ { "translations": { - "Name" : "الإسم", + "Your client is not authorized to connect. Please inform the administrator of your client." : "عميلك ليس مُخوّلاً بالربط. رجاءً، أبلغ مشرفك.", + "Your redirect URL needs to be a full URL for example: https://yourdomain.com/path" : "عنوان URL المُعاد توجيهه يجب أن يكون عنواناً كاملاً كما في المثال التالي: https://yourdomain.com/path", + "OAuth 2.0" : "OAuth 2.0", + "Allows OAuth2 compatible authentication from other web applications." : "يسمح بالتحقّق من الهويّة عن طريق تطبيقات وب أخرى متوافقة مع OAuth2.", + "The OAuth2 app allows administrators to configure the built-in authentication workflow to also allow OAuth2 compatible authentication from other web applications." : "التطبيق OAuth2 يسمح للمشرفين بتهيئة الأجراء الأساسي للتحقّق من الهويّةبحيث يسمح بالتحقّق من الهويّة عن طريق تطبيقات وب أخرى متوافقة مع OAuth2.", + "OAuth 2.0 clients" : "عملاء OAuth2,0", + "OAuth 2.0 allows external services to request access to {instanceName}." : "يسمح OAuth2.0 لخدمات خارجية بطلب الوصول إلى {instanceName}", + "Add client" : "إضافة عميل", + "Name" : "الاسم", "Redirection URI" : "رابط إعادة التوجيه", + "Add" : "إضافة", "Client Identifier" : "مُعرِّف العميل", "Secret" : "السر", - "Add client" : "إضافة عميل", - "Add" : "إضافة" + "Show client secret" : "عرض كلمة سر العميل", + "Delete" : "حذف" },"pluralForm" :"nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;" }
\ No newline at end of file diff --git a/apps/oauth2/lib/Controller/OauthApiController.php b/apps/oauth2/lib/Controller/OauthApiController.php index badafd3bb77..e07a2c2de15 100644 --- a/apps/oauth2/lib/Controller/OauthApiController.php +++ b/apps/oauth2/lib/Controller/OauthApiController.php @@ -64,6 +64,7 @@ class OauthApiController extends Controller { /** * @PublicPage * @NoCSRFRequired + * @BruteForceProtection(action=oauth2GetToken) * * @param string $grant_type * @param string $code @@ -76,9 +77,11 @@ class OauthApiController extends Controller { // We only handle two types if ($grant_type !== 'authorization_code' && $grant_type !== 'refresh_token') { - return new JSONResponse([ + $response = new JSONResponse([ 'error' => 'invalid_grant', ], Http::STATUS_BAD_REQUEST); + $response->throttle(['invalid_grant' => $grant_type]); + return $response; } // We handle the initial and refresh tokens the same way @@ -89,17 +92,21 @@ class OauthApiController extends Controller { try { $accessToken = $this->accessTokenMapper->getByCode($code); } catch (AccessTokenNotFoundException $e) { - return new JSONResponse([ + $response = new JSONResponse([ 'error' => 'invalid_request', ], Http::STATUS_BAD_REQUEST); + $response->throttle(['invalid_request' => 'token not found', 'code' => $code]); + return $response; } try { $client = $this->clientMapper->getByUid($accessToken->getClientId()); } catch (ClientNotFoundException $e) { - return new JSONResponse([ + $response = new JSONResponse([ 'error' => 'invalid_request', ], Http::STATUS_BAD_REQUEST); + $response->throttle(['invalid_request' => 'client not found', 'client_id' => $accessToken->getClientId()]); + return $response; } if (isset($this->request->server['PHP_AUTH_USER'])) { @@ -111,15 +118,18 @@ class OauthApiController extends Controller { $storedClientSecret = $this->crypto->decrypt($client->getSecret()); } catch (\Exception $e) { $this->logger->error('OAuth client secret decryption error', ['exception' => $e]); + // we don't throttle here because it might not be a bruteforce attack return new JSONResponse([ 'error' => 'invalid_client', ], Http::STATUS_BAD_REQUEST); } // The client id and secret must match. Else we don't provide an access token! if ($client->getClientIdentifier() !== $client_id || $storedClientSecret !== $client_secret) { - return new JSONResponse([ + $response = new JSONResponse([ 'error' => 'invalid_client', ], Http::STATUS_BAD_REQUEST); + $response->throttle(['invalid_client' => 'client ID or secret does not match']); + return $response; } $decryptedToken = $this->crypto->decrypt($accessToken->getEncryptedToken(), $code); @@ -132,9 +142,11 @@ class OauthApiController extends Controller { } catch (InvalidTokenException $e) { //We can't do anything... $this->accessTokenMapper->delete($accessToken); - return new JSONResponse([ + $response = new JSONResponse([ 'error' => 'invalid_request', ], Http::STATUS_BAD_REQUEST); + $response->throttle(['invalid_request' => 'token is invalid']); + return $response; } // Rotate the apptoken (so the old one becomes invalid basically) diff --git a/apps/oauth2/lib/Migration/Version011601Date20230522143227.php b/apps/oauth2/lib/Migration/Version011601Date20230522143227.php index e258224bb39..43e3a2e26e3 100644 --- a/apps/oauth2/lib/Migration/Version011601Date20230522143227.php +++ b/apps/oauth2/lib/Migration/Version011601Date20230522143227.php @@ -49,7 +49,7 @@ class Version011601Date20230522143227 extends SimpleMigrationStep { $table = $schema->getTable('oauth2_clients'); if ($table->hasColumn('secret')) { $column = $table->getColumn('secret'); - $column->setLength(256); + $column->setLength(512); return $schema; } } diff --git a/apps/oauth2/lib/Migration/Version011602Date20230613160650.php b/apps/oauth2/lib/Migration/Version011602Date20230613160650.php new file mode 100644 index 00000000000..3e6ddf0ec50 --- /dev/null +++ b/apps/oauth2/lib/Migration/Version011602Date20230613160650.php @@ -0,0 +1,56 @@ +<?php + +declare(strict_types=1); + +/** + * @copyright Copyright 2023, Julien Veyssier <julien-nc@posteo.net> + * + * @author Julien Veyssier <julien-nc@posteo.net> + * + * @license GNU AGPL version 3 or any later version + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * + */ +namespace OCA\OAuth2\Migration; + +use Closure; +use OCP\DB\ISchemaWrapper; +use OCP\Migration\IOutput; +use OCP\Migration\SimpleMigrationStep; + +class Version011602Date20230613160650 extends SimpleMigrationStep { + + public function __construct( + ) { + } + + public function changeSchema(IOutput $output, Closure $schemaClosure, array $options) { + /** @var ISchemaWrapper $schema */ + $schema = $schemaClosure(); + + if ($schema->hasTable('oauth2_clients')) { + $table = $schema->getTable('oauth2_clients'); + if ($table->hasColumn('secret')) { + $column = $table->getColumn('secret'); + // we still change the column length in case Version011601Date20230522143227 + // has run before it was changed to set the length to 512 + $column->setLength(512); + return $schema; + } + } + + return null; + } +} diff --git a/apps/oauth2/tests/Controller/OauthApiControllerTest.php b/apps/oauth2/tests/Controller/OauthApiControllerTest.php index eb9311dbbc7..c65302532a9 100644 --- a/apps/oauth2/tests/Controller/OauthApiControllerTest.php +++ b/apps/oauth2/tests/Controller/OauthApiControllerTest.php @@ -104,6 +104,7 @@ class OauthApiControllerTest extends TestCase { $expected = new JSONResponse([ 'error' => 'invalid_grant', ], Http::STATUS_BAD_REQUEST); + $expected->throttle(['invalid_grant' => 'foo']); $this->assertEquals($expected, $this->oauthApiController->getToken('foo', null, null, null, null)); } @@ -112,6 +113,7 @@ class OauthApiControllerTest extends TestCase { $expected = new JSONResponse([ 'error' => 'invalid_request', ], Http::STATUS_BAD_REQUEST); + $expected->throttle(['invalid_request' => 'token not found', 'code' => 'invalidcode']); $this->accessTokenMapper->method('getByCode') ->with('invalidcode') @@ -124,6 +126,7 @@ class OauthApiControllerTest extends TestCase { $expected = new JSONResponse([ 'error' => 'invalid_request', ], Http::STATUS_BAD_REQUEST); + $expected->throttle(['invalid_request' => 'token not found', 'code' => 'invalidrefresh']); $this->accessTokenMapper->method('getByCode') ->with('invalidrefresh') @@ -136,6 +139,7 @@ class OauthApiControllerTest extends TestCase { $expected = new JSONResponse([ 'error' => 'invalid_request', ], Http::STATUS_BAD_REQUEST); + $expected->throttle(['invalid_request' => 'client not found', 'client_id' => 42]); $accessToken = new AccessToken(); $accessToken->setClientId(42); @@ -169,6 +173,7 @@ class OauthApiControllerTest extends TestCase { $expected = new JSONResponse([ 'error' => 'invalid_client', ], Http::STATUS_BAD_REQUEST); + $expected->throttle(['invalid_client' => 'client ID or secret does not match']); $accessToken = new AccessToken(); $accessToken->setClientId(42); @@ -191,6 +196,7 @@ class OauthApiControllerTest extends TestCase { $expected = new JSONResponse([ 'error' => 'invalid_request', ], Http::STATUS_BAD_REQUEST); + $expected->throttle(['invalid_request' => 'token is invalid']); $accessToken = new AccessToken(); $accessToken->setClientId(42); diff --git a/apps/oauth2/tests/Db/ClientMapperTest.php b/apps/oauth2/tests/Db/ClientMapperTest.php index fdc458fa301..5da048d4b47 100644 --- a/apps/oauth2/tests/Db/ClientMapperTest.php +++ b/apps/oauth2/tests/Db/ClientMapperTest.php @@ -84,4 +84,14 @@ class ClientMapperTest extends TestCase { public function testGetClients() { $this->assertSame('array', gettype($this->clientMapper->getClients())); } + + public function testInsertLongEncryptedSecret(): void { + $client = new Client(); + $client->setClientIdentifier('MyNewClient'); + $client->setName('Client Name'); + $client->setRedirectUri('https://example.com/'); + $client->setSecret('b81dc8e2dc178817bf28ca7b37265aa96559ca02e6dcdeb74b42221d096ed5ef63681e836ae0ba1077b5fb5e6c2fa7748c78463f66fe0110c8dcb8dd7eb0305b16d0cd993e2ae275879994a2abf88c68|e466d9befa6b0102341458e45ecd551a|013af9e277374483123437f180a3b0371a411ad4f34c451547909769181a7d7cc191f0f5c2de78376d124dd7751b8c9660aabdd913f5e071fc6b819ba2e3d919|3'); + $this->clientMapper->insert($client); + $this->assertTrue(true); + } } diff --git a/apps/provisioning_api/l10n/ar.js b/apps/provisioning_api/l10n/ar.js new file mode 100644 index 00000000000..cad061884e7 --- /dev/null +++ b/apps/provisioning_api/l10n/ar.js @@ -0,0 +1,18 @@ +OC.L10N.register( + "provisioning_api", + { + "Logged in user must be an administrator or have authorization to edit this setting." : "المستخدم الداخل يجب أن يكون مُشرفاً أو يملك صلاحية تعديل الإعدادات.", + "User already exists" : "أنت موجودٌ مُسبقاً", + "Email confirmation" : "تأكيد الإيميل", + "To enable the email address %s please click the button below." : "لتمكين عنوان الإيميل %s، إضغط الزر أدناه رجاءً.", + "Confirm" : "تأكيد", + "Email was already removed from account and cannot be confirmed anymore." : "الإيميل سبق حذفه من الحساب و لا يمكن توكيده بعد الآن.", + "Could not verify mail because the token is expired." : "لا يمكن التحقّق من الإيميل بسبب انتهاء صلاحية الأَمارة token.", + "Could not verify mail because the token is invalid." : "لا يمكن التحقّق من الإيميل بسبب أن الأَمارة token غير صحيحة.", + "An unexpected error occurred. Please contact your admin." : "حدث خطأ غير متوقع. اتصل بالمشرف رجاءً.", + "Email confirmation successful" : "تمّ توكيد الإيميل بنجاح", + "Provisioning API" : "توفير واجهة برمجة التطبيقات API", + "This application enables a set of APIs that external systems can use to manage users, groups and apps." : "هذا التطبيق يُفعّل مجموعة من واجهات API التي يمكن أن تستعملها نُظُم خارجية لإدارة المستخدمين و المجموعات و التطبيقات.", + "This application enables a set of APIs that external systems can use to create, edit, delete and query user\n\t\tattributes, query, set and remove groups, set quota and query total storage used in Nextcloud. Group admin users\n\t\tcan also query Nextcloud and perform the same functions as an admin for groups they manage. The API also enables\n\t\tan admin to query for active Nextcloud applications, application info, and to enable or disable an app remotely.\n\t\tOnce the app is enabled, HTTP requests can be used via a Basic Auth header to perform any of the functions\n\t\tlisted above. More information is available in the Provisioning API documentation, including example calls\n\t\tand server responses." : "هذا التطبيق يُفعّل مجموعة من الواجهات API التي يُمكن أن تستعملها نُظُم خارجية للاستعلام و إضافة و تعديل و حذف المستخدمين و المجموعات في نكست كلاود، و تحديد حصصهم التخزينية بمن فيهم مجموعة المشرفين.\n\nكذلك تُمكّن الواجهة من الاستعلام عن تطبيقات نكست كلاود النشطة، و بياناتها، و تُمكّن من تفعيلها أو إلغاء تفعيلها عن بُعدٍ. \n\nبعدما يتم تفعيل التطبيق، يُمكن استخدام طلبيات HTTP request من خلال ترويسة تحقّق بسيطة Basic Auth header لتنفيذ أيٍّ من الوظائف المذكورة أعلاه.\n\nللمزيد، أنظر توثيق Provisioning API؛ وفيه أمثلة عن الاستدعاء call ،و استجابات الخادوم response. \n " +}, +"nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;"); diff --git a/apps/provisioning_api/l10n/ar.json b/apps/provisioning_api/l10n/ar.json new file mode 100644 index 00000000000..67acf0ee06d --- /dev/null +++ b/apps/provisioning_api/l10n/ar.json @@ -0,0 +1,16 @@ +{ "translations": { + "Logged in user must be an administrator or have authorization to edit this setting." : "المستخدم الداخل يجب أن يكون مُشرفاً أو يملك صلاحية تعديل الإعدادات.", + "User already exists" : "أنت موجودٌ مُسبقاً", + "Email confirmation" : "تأكيد الإيميل", + "To enable the email address %s please click the button below." : "لتمكين عنوان الإيميل %s، إضغط الزر أدناه رجاءً.", + "Confirm" : "تأكيد", + "Email was already removed from account and cannot be confirmed anymore." : "الإيميل سبق حذفه من الحساب و لا يمكن توكيده بعد الآن.", + "Could not verify mail because the token is expired." : "لا يمكن التحقّق من الإيميل بسبب انتهاء صلاحية الأَمارة token.", + "Could not verify mail because the token is invalid." : "لا يمكن التحقّق من الإيميل بسبب أن الأَمارة token غير صحيحة.", + "An unexpected error occurred. Please contact your admin." : "حدث خطأ غير متوقع. اتصل بالمشرف رجاءً.", + "Email confirmation successful" : "تمّ توكيد الإيميل بنجاح", + "Provisioning API" : "توفير واجهة برمجة التطبيقات API", + "This application enables a set of APIs that external systems can use to manage users, groups and apps." : "هذا التطبيق يُفعّل مجموعة من واجهات API التي يمكن أن تستعملها نُظُم خارجية لإدارة المستخدمين و المجموعات و التطبيقات.", + "This application enables a set of APIs that external systems can use to create, edit, delete and query user\n\t\tattributes, query, set and remove groups, set quota and query total storage used in Nextcloud. Group admin users\n\t\tcan also query Nextcloud and perform the same functions as an admin for groups they manage. The API also enables\n\t\tan admin to query for active Nextcloud applications, application info, and to enable or disable an app remotely.\n\t\tOnce the app is enabled, HTTP requests can be used via a Basic Auth header to perform any of the functions\n\t\tlisted above. More information is available in the Provisioning API documentation, including example calls\n\t\tand server responses." : "هذا التطبيق يُفعّل مجموعة من الواجهات API التي يُمكن أن تستعملها نُظُم خارجية للاستعلام و إضافة و تعديل و حذف المستخدمين و المجموعات في نكست كلاود، و تحديد حصصهم التخزينية بمن فيهم مجموعة المشرفين.\n\nكذلك تُمكّن الواجهة من الاستعلام عن تطبيقات نكست كلاود النشطة، و بياناتها، و تُمكّن من تفعيلها أو إلغاء تفعيلها عن بُعدٍ. \n\nبعدما يتم تفعيل التطبيق، يُمكن استخدام طلبيات HTTP request من خلال ترويسة تحقّق بسيطة Basic Auth header لتنفيذ أيٍّ من الوظائف المذكورة أعلاه.\n\nللمزيد، أنظر توثيق Provisioning API؛ وفيه أمثلة عن الاستدعاء call ،و استجابات الخادوم response. \n " +},"pluralForm" :"nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;" +}
\ No newline at end of file diff --git a/apps/provisioning_api/l10n/gl.js b/apps/provisioning_api/l10n/gl.js index 945316fe1ac..78f615bb83a 100644 --- a/apps/provisioning_api/l10n/gl.js +++ b/apps/provisioning_api/l10n/gl.js @@ -13,6 +13,6 @@ OC.L10N.register( "Email confirmation successful" : "Confirmación de correo satisfactoria", "Provisioning API" : "API de aprovisionamento", "This application enables a set of APIs that external systems can use to manage users, groups and apps." : "Esta aplicación activa un conxunto de API que os sistemas externos poden usar para xestionar usuarios, grupos e aplicacións.", - "This application enables a set of APIs that external systems can use to create, edit, delete and query user\n\t\tattributes, query, set and remove groups, set quota and query total storage used in Nextcloud. Group admin users\n\t\tcan also query Nextcloud and perform the same functions as an admin for groups they manage. The API also enables\n\t\tan admin to query for active Nextcloud applications, application info, and to enable or disable an app remotely.\n\t\tOnce the app is enabled, HTTP requests can be used via a Basic Auth header to perform any of the functions\n\t\tlisted above. More information is available in the Provisioning API documentation, including example calls\n\t\tand server responses." : "Esta aplicación activa un conxunto de API que os sistemas externos poden usar para crear, editar, eliminar e consultar os\n\t\tatributos do usuario, consultar, estabelecer e eliminar grupos, estabelecer cota e consultar o almacenamento total\n\t\tutilizado no Nextcloud. Os usuarios administradores de grupos tamén poden consultar o Nextcloud e\n\t\trealizar as mesmas funcións que un administrador para os grupos que xestionan. A API tamén permite a un administrador\n\t\tconsultar aplicacións activas do Nextcloud, información da aplicación e activar ou desactivar unha aplicación remotamente.\n\t\tUnha vez que a aplicación estea activada, as solicitudes HTTP pódense usar a través dunha cabeceira Basic Auth para\n\t\trealizar calquera das funcións listadas anteriormente. Hai dispoñíbel máis información na documentación da API \n\t\tde aprovisionamento, incluíndo exemplos de chamadas e respostas do servidor." + "This application enables a set of APIs that external systems can use to create, edit, delete and query user\n\t\tattributes, query, set and remove groups, set quota and query total storage used in Nextcloud. Group admin users\n\t\tcan also query Nextcloud and perform the same functions as an admin for groups they manage. The API also enables\n\t\tan admin to query for active Nextcloud applications, application info, and to enable or disable an app remotely.\n\t\tOnce the app is enabled, HTTP requests can be used via a Basic Auth header to perform any of the functions\n\t\tlisted above. More information is available in the Provisioning API documentation, including example calls\n\t\tand server responses." : "Esta aplicación activa un conxunto de API que os sistemas externos poden usar para crear, editar, eliminar e consultar os\n\t\tatributos do usuario, consultar, estabelecer e retirar grupos, estabelecer cota e consultar o almacenamento total\n\t\tutilizado en Nextcloud. Os usuarios administradores de grupos tamén poden consultar Nextcloud e\n\t\trealizar as mesmas funcións que un administrador para os grupos que xestionan. A API tamén permite a un administrador\n\t\tconsultar aplicacións activas de Nextcloud, información da aplicación e activar ou desactivar unha aplicación remotamente.\n\t\tUnha vez que a aplicación estea activada, as solicitudes HTTP pódense usar a través dunha cabeceira Basic Auth para\n\t\trealizar calquera das funcións listadas anteriormente. Hai dispoñíbel máis información na documentación da API \n\t\tde aprovisionamento, incluíndo exemplos de chamadas e respostas do servidor." }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/provisioning_api/l10n/gl.json b/apps/provisioning_api/l10n/gl.json index 22f0bd16571..1bf62db9885 100644 --- a/apps/provisioning_api/l10n/gl.json +++ b/apps/provisioning_api/l10n/gl.json @@ -11,6 +11,6 @@ "Email confirmation successful" : "Confirmación de correo satisfactoria", "Provisioning API" : "API de aprovisionamento", "This application enables a set of APIs that external systems can use to manage users, groups and apps." : "Esta aplicación activa un conxunto de API que os sistemas externos poden usar para xestionar usuarios, grupos e aplicacións.", - "This application enables a set of APIs that external systems can use to create, edit, delete and query user\n\t\tattributes, query, set and remove groups, set quota and query total storage used in Nextcloud. Group admin users\n\t\tcan also query Nextcloud and perform the same functions as an admin for groups they manage. The API also enables\n\t\tan admin to query for active Nextcloud applications, application info, and to enable or disable an app remotely.\n\t\tOnce the app is enabled, HTTP requests can be used via a Basic Auth header to perform any of the functions\n\t\tlisted above. More information is available in the Provisioning API documentation, including example calls\n\t\tand server responses." : "Esta aplicación activa un conxunto de API que os sistemas externos poden usar para crear, editar, eliminar e consultar os\n\t\tatributos do usuario, consultar, estabelecer e eliminar grupos, estabelecer cota e consultar o almacenamento total\n\t\tutilizado no Nextcloud. Os usuarios administradores de grupos tamén poden consultar o Nextcloud e\n\t\trealizar as mesmas funcións que un administrador para os grupos que xestionan. A API tamén permite a un administrador\n\t\tconsultar aplicacións activas do Nextcloud, información da aplicación e activar ou desactivar unha aplicación remotamente.\n\t\tUnha vez que a aplicación estea activada, as solicitudes HTTP pódense usar a través dunha cabeceira Basic Auth para\n\t\trealizar calquera das funcións listadas anteriormente. Hai dispoñíbel máis información na documentación da API \n\t\tde aprovisionamento, incluíndo exemplos de chamadas e respostas do servidor." + "This application enables a set of APIs that external systems can use to create, edit, delete and query user\n\t\tattributes, query, set and remove groups, set quota and query total storage used in Nextcloud. Group admin users\n\t\tcan also query Nextcloud and perform the same functions as an admin for groups they manage. The API also enables\n\t\tan admin to query for active Nextcloud applications, application info, and to enable or disable an app remotely.\n\t\tOnce the app is enabled, HTTP requests can be used via a Basic Auth header to perform any of the functions\n\t\tlisted above. More information is available in the Provisioning API documentation, including example calls\n\t\tand server responses." : "Esta aplicación activa un conxunto de API que os sistemas externos poden usar para crear, editar, eliminar e consultar os\n\t\tatributos do usuario, consultar, estabelecer e retirar grupos, estabelecer cota e consultar o almacenamento total\n\t\tutilizado en Nextcloud. Os usuarios administradores de grupos tamén poden consultar Nextcloud e\n\t\trealizar as mesmas funcións que un administrador para os grupos que xestionan. A API tamén permite a un administrador\n\t\tconsultar aplicacións activas de Nextcloud, información da aplicación e activar ou desactivar unha aplicación remotamente.\n\t\tUnha vez que a aplicación estea activada, as solicitudes HTTP pódense usar a través dunha cabeceira Basic Auth para\n\t\trealizar calquera das funcións listadas anteriormente. Hai dispoñíbel máis información na documentación da API \n\t\tde aprovisionamento, incluíndo exemplos de chamadas e respostas do servidor." },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/settings/css/settings.css b/apps/settings/css/settings.css index 621068049df..a06bfd7714d 100644 --- a/apps/settings/css/settings.css +++ b/apps/settings/css/settings.css @@ -1 +1 @@ -input#openid,input#webdav{width:20em}.clear{clear:both}.nav-icon-personal-settings{background-image:var(--icon-personal-dark)}.nav-icon-security{background-image:var(--icon-toggle-filelist-dark)}.nav-icon-clientsbox{background-image:var(--icon-change-dark)}.nav-icon-federated-cloud{background-image:var(--icon-share-dark)}.nav-icon-second-factor-backup-codes,.nav-icon-ssl-root-certificate{background-image:var(--icon-password-dark)}#personal-settings-avatar-container{display:inline-grid;grid-template-columns:1fr;grid-template-rows:2fr 1fr 2fr;vertical-align:top}.profile-settings-container{display:inline-grid;grid-template-columns:1fr 1fr 1fr}.personal-show-container{width:100%}.personal-settings-setting-box .section{padding:10px 30px}.personal-settings-setting-box .section .headerbar-label{margin-bottom:0}.personal-settings-setting-box .section input[type=text],.personal-settings-setting-box .section input[type=email],.personal-settings-setting-box .section input[type=tel],.personal-settings-setting-box .section input[type=url]{width:100%}.personal-settings-setting-box-profile{grid-row:3/5}.personal-settings-setting-box-detail{grid-row:5}.personal-settings-setting-box-detail--without-profile{grid-row:3}select#timezone{width:100%}#personal-settings{display:grid;padding:20px;max-width:1700px;grid-template-columns:repeat(auto-fill, minmax(300px, 1fr));grid-column-gap:10px}#personal-settings .section{padding:10px 10px;border:0}#personal-settings .section h2{margin-bottom:12px}#personal-settings .section h3>label{font-weight:bold}#personal-settings .personal-info{margin-right:10%;margin-bottom:12px;margin-top:12px}#personal-settings .personal-info[class^=icon-],#personal-settings .personal-info[class*=" icon-"]{background-position:0px 2px;padding-left:30px;opacity:.7}.development-notice{text-align:center}.development-notice a:not(.link-button){text-decoration:underline}.development-notice a:not(.link-button):hover{background-color:var(--color-primary-element-hover)}.link-button{display:inline-block;margin:16px;padding:14px 20px;background-color:var(--color-primary-element);color:#fff;border-radius:var(--border-radius-pill);border:1px solid var(--color-primary-element);box-shadow:0 2px 9px var(--color-box-shadow)}.link-button:active,.link-button:hover,.link-button:focus{color:var(--color-primary-element);background-color:var(--color-primary-element-text);border-color:var(--color-primary-element) !important}.link-button.icon-file{padding-left:48px;background-position:24px}.personal-settings-container{display:inline-grid;grid-template-columns:1fr 1fr 1fr}.personal-settings-container:after{clear:both}.personal-settings-container>div h3{position:relative;display:inline-flex;flex-wrap:nowrap;justify-content:flex-start;width:100%;align-items:center;gap:8px}.personal-settings-container>div h3>label{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.personal-settings-container>div>form span[class^=icon-checkmark],.personal-settings-container>div>form span[class^=icon-error]{position:relative;right:8px;top:-28px;pointer-events:none;float:right}.personal-settings-container .verify{position:relative;left:100%;top:0;height:0}.personal-settings-container .verify img{padding:12px 7px 6px}.personal-settings-container .verify-action{cursor:pointer}.personal-settings-container input:disabled{background-color:#fff;color:#000;border:none;opacity:100}.verification-dialog{display:none;right:-9px;top:40px;width:275px}.verification-dialog p{padding:10px}.verification-dialog .verificationCode{font-family:monospace;display:block;overflow-wrap:break-word}.federation-menu{position:relative;cursor:pointer;width:44px;height:44px;padding:10px;margin:0;background:none;border:none}.federation-menu:hover,.federation-menu:focus{background-color:var(--color-background-hover);border-radius:var(--border-radius-pill)}.federation-menu:hover .icon-federation-menu,.federation-menu:focus .icon-federation-menu{opacity:.8}.federation-menu .icon-federation-menu{padding-left:16px;background-size:16px;background-position:left center;opacity:.3;cursor:inherit}.federation-menu .icon-federation-menu .icon-triangle-s{display:inline-block;vertical-align:middle;cursor:inherit}.federation-menu .federationScopeMenu{top:44px}.federation-menu .federationScopeMenu.popovermenu .menuitem{font-size:12.8px;line-height:1.6em}.federation-menu .federationScopeMenu.popovermenu .menuitem .menuitem-text-detail{opacity:.75}.federation-menu .federationScopeMenu.popovermenu .menuitem.active{box-shadow:inset 2px 0 var(--color-primary-element)}.federation-menu .federationScopeMenu.popovermenu .menuitem.active .menuitem-text{font-weight:bold}.federation-menu .federationScopeMenu.popovermenu .menuitem.disabled{opacity:.5;cursor:default}.federation-menu .federationScopeMenu.popovermenu .menuitem.disabled *{cursor:default}.clientsbox img{height:60px}#sslCertificate tr.expired{background-color:rgba(255,0,0,.5)}#sslCertificate td{padding:5px}#displaynameerror,#displaynamechanged{display:none}input#identity{width:20em}#showWizard{display:inline-block}.msg.success{color:#fff;background-color:#47a447;padding:3px}.msg.error{color:#fff;background-color:#d2322d;padding:3px}table.nostyle label{margin-right:2em}table.nostyle td{padding:.2em 0}#security-password #passwordform{display:flex;flex-wrap:wrap;flex-direction:column;gap:1rem}#security-password #passwordform .input-control{display:flex;flex-wrap:wrap;flex-direction:column}#security-password #passwordform .input-control label{margin-bottom:.5rem}#security-password #passwordform #pass1,#security-password #passwordform .personal-show-container{flex-shrink:1;width:300px;min-width:150px}#security-password #passwordform .personal-show-container #pass2{position:relative;top:.5rem}#security-password #passwordform .personal-show-container .personal-show-label{top:34px !important;margin-right:0;margin-top:0 !important;right:3px}#security-password #passwordform #pass2{width:100%}#security-password #passwordform .password-state{display:inline-block}#security-password #passwordform .strengthify-wrapper{position:absolute;left:0;width:100%;border-radius:0 0 2px 2px;margin-top:5px;overflow:hidden;height:3px}#two-factor-auth h3{margin-top:24px}#two-factor-auth li>div{margin-left:20px}#two-factor-auth .two-factor-provider-settings-icon{width:16px;height:16px;vertical-align:sub;filter:var(--background-invert-if-dark)}.isgroup .groupname{width:85%;display:block;overflow:hidden;text-overflow:ellipsis}.isgroup.active .groupname{width:65%}li.active .delete,li.active .rename{display:block}.app-navigation-entry-utils .delete,.app-navigation-entry-utils .rename{display:none}#usersearchform{position:absolute;top:2px;right:0}#usersearchform input{width:150px}#usersearchform label{font-weight:bold}table.grid{width:100%}table.grid th{height:2em;color:#999;border-bottom:1px solid var(--color-border);padding:0 .5em;padding-left:.8em;text-align:left;font-weight:normal}table.grid td{border-bottom:1px solid var(--color-border);padding:0 .5em;padding-left:.8em;text-align:left;font-weight:normal}td.name,th.name{padding-left:.8em;min-width:5em;max-width:12em;text-overflow:ellipsis;overflow:hidden}td.password,th.password{padding-left:.8em}td.password>img,th.password>img{visibility:hidden}td.displayName>img,th.displayName>img{visibility:hidden}td.password,td.mailAddress,th.password,th.mailAddress{min-width:5em;max-width:12em;cursor:pointer}td.password span,td.mailAddress span,th.password span,th.mailAddress span{width:90%;display:inline-block;text-overflow:ellipsis;overflow:hidden}td.mailAddress,th.mailAddress{cursor:pointer}td.password>span,th.password>span{margin-right:1.2em;color:#c7c7c7}span.usersLastLoginTooltip{white-space:nowrap}#app-content>svg.app-filter{float:left;height:0;width:0}#app-category-app-bundles{margin-bottom:20px}.appinfo{margin:1em 40px}#app-navigation img{margin-bottom:-3px;margin-right:6px;width:16px}#app-navigation li span.no-icon{padding-left:32px}#app-navigation ul li.active>span.utils .delete,#app-navigation ul li.active>span.utils .rename{display:block}#app-navigation .appwarning{background:#fcc}#app-navigation.appwarning:hover{background:#fbb}#app-navigation .app-external{color:var(--color-text-maxcontrast)}span.version{margin-left:1em;margin-right:1em;color:var(--color-text-maxcontrast)}.app-version{color:var(--color-text-maxcontrast)}.app-level span{color:var(--color-text-maxcontrast);background-color:rgba(0,0,0,0);border:1px solid var(--color-text-maxcontrast);border-radius:var(--border-radius);padding:3px 6px}.app-level a{padding:10px;margin:-6px;white-space:nowrap}.app-level .official{background-position:left center;background-position:5px center;padding-left:25px}.app-level .supported{border-color:var(--color-success);background-position:left center;background-position:5px center;padding-left:25px;color:var(--color-success)}.app-score{position:relative;top:4px;opacity:.5}.app-settings-content #searchresults{display:none}#apps-list.store .section{border:0}#apps-list.store .app-name{display:block;margin:5px 0}#apps-list.store .app-name,#apps-list.store .app-image *{cursor:pointer}#apps-list.store .app-summary{opacity:.7}#apps-list.store .app-image-icon .icon-settings-dark{width:100%;height:150px;background-size:45px;opacity:.5}#apps-list.store .app-score-image{height:14px}#apps-list.store .actions{margin-top:10px}#app-sidebar #app-details-view h2 .icon-settings-dark,#app-sidebar #app-details-view h2 svg{display:inline-block;width:16px;height:16px;margin-right:10px;opacity:.7}#app-sidebar #app-details-view .app-level{clear:right;width:100%}#app-sidebar #app-details-view .app-level .supported,#app-sidebar #app-details-view .app-level .official{vertical-align:top}#app-sidebar #app-details-view .app-level .app-score-image{float:right}#app-sidebar #app-details-view .app-author,#app-sidebar #app-details-view .app-licence{color:var(--color-text-maxcontrast)}#app-sidebar #app-details-view .app-dependencies{margin:10px 0}#app-sidebar #app-details-view .app-description p{margin:10px 0}#app-sidebar #app-details-view .close{position:absolute;top:0;right:0;padding:14px;opacity:.5;z-index:1;width:44px;height:44px}#app-sidebar #app-details-view .actions{display:flex;align-items:center}#app-sidebar #app-details-view .actions .app-groups{padding:5px}#app-sidebar #app-details-view .appslink{text-decoration:underline;margin-right:5px}#app-sidebar #app-details-view .app-level,#app-sidebar #app-details-view .actions,#app-sidebar #app-details-view .documentation,#app-sidebar #app-details-view .app-dependencies,#app-sidebar #app-details-view .app-description{margin:20px 0}@media only screen and (min-width: 1601px){.store .section{width:25%}.with-app-sidebar .store .section{width:33%}}@media only screen and (max-width: 1600px){.store .section{width:25%}.with-app-sidebar .store .section{width:33%}}@media only screen and (max-width: 1400px){.store .section{width:33%}.with-app-sidebar .store .section{width:50%}}@media only screen and (max-width: 900px){.store .section{width:50%}.with-app-sidebar .store .section{width:100%}}@media only screen and (max-width: 1024px){.store .section{width:50%}}@media only screen and (max-width: 480px){.store .section{width:100%}}@media only screen and (max-width: 900px){.apps-list.installed .app-version,.apps-list.installed .app-level{display:none !important}}@media only screen and (max-width: 500px){.apps-list.installed .app-groups{display:none !important}}.section{margin-bottom:0}.section:not(:last-child){border-bottom:1px solid var(--color-border)}.section h2{margin-bottom:22px}.section h2 .icon-info{padding:6px 20px;vertical-align:text-bottom;display:inline-block}.followupsection{display:block;padding:0 30px 30px 30px}.app-image{position:relative;height:150px;opacity:1;overflow:hidden}.app-name,.app-version,.app-score,.app-level{display:inline-block}.app-description-toggle-show,.app-description-toggle-hide{clear:both;padding:7px 0;cursor:pointer;opacity:.5}.app-description-container{clear:both;position:relative;top:7px}.app-description{clear:both}#app-category-1{margin-bottom:18px}#app-category-925{text-transform:capitalize}.app-dependencies{color:#ce3702}.missing-dependencies{list-style:initial;list-style-type:initial;list-style-position:inside}.apps-list{display:flex;flex-wrap:wrap;align-content:flex-start}.apps-list .section{cursor:pointer}.apps-list .app-list-move{transition:transform 1s}.apps-list #app-list-update-all{margin-left:10px}.apps-list .toolbar{height:60px;padding:8px;padding-left:60px;width:100%;background-color:var(--color-main-background);position:sticky;top:0;z-index:1;display:flex;align-items:center}.apps-list.installed{margin-bottom:100px}.apps-list.installed .apps-list-container{display:table;width:100%;height:auto;margin-top:60px}.apps-list.installed .section{display:table-row;padding:0;margin:0}.apps-list.installed .section>*{display:table-cell;height:initial;vertical-align:middle;float:none;border-bottom:1px solid var(--color-border);padding:6px;box-sizing:border-box}.apps-list.installed .section.selected{background-color:var(--color-background-dark)}.apps-list.installed .groups-enable{margin-top:0}.apps-list.installed .groups-enable label{margin-right:3px}.apps-list.installed .app-image{width:44px;height:auto;text-align:right}.apps-list.installed .app-image-icon svg,.apps-list.installed .app-image-icon .icon-settings-dark{margin-top:5px;width:20px;height:20px;opacity:.5;background-size:cover;display:inline-block}.apps-list.installed .actions{text-align:right}.apps-list.installed .actions .icon-loading-small{display:inline-block;top:4px;margin-right:10px}.apps-list:not(.installed) .app-image-icon svg{position:absolute;bottom:43px;width:64px;height:64px;opacity:.1}.apps-list.hidden{display:none}.apps-list .section{position:relative;flex:0 0 auto}.apps-list .section h2.app-name{display:block;margin:8px 0}.apps-list .section:hover{background-color:var(--color-background-dark)}.apps-list .app-description p{margin:10px 0}.apps-list .app-description ul{list-style:disc}.apps-list .app-description ol{list-style:decimal}.apps-list .app-description ol ol,.apps-list .app-description ol ul{padding-left:15px}.apps-list .app-description>ul,.apps-list .app-description>ol{margin-left:19px}.apps-list .app-description ul ol,.apps-list .app-description ul ul{padding-left:15px}.apps-list .apps-header{display:table-row;position:relative}.apps-list .apps-header div{display:table-cell;height:70px}.apps-list .apps-header h2{display:table-cell;position:absolute;padding-left:6px;padding-top:15px}.apps-list .apps-header h2 .enable{position:relative;top:-1px;margin-left:12px}.apps-list .apps-header h2+.section{margin-top:50px}#apps-list-search .section h2{margin-bottom:0}#log{white-space:normal;margin-bottom:14px}#lessLog{display:none}table.grid td.date{white-space:nowrap}#log-section p{margin-top:20px}#security-warning-state-ok span,#security-warning-state-warning span,#security-warning-state-failure span,#security-warning-state-loading span{vertical-align:middle}#security-warning-state-ok span.message,#security-warning-state-warning span.message,#security-warning-state-failure span.message,#security-warning-state-loading span.message{padding:12px}#security-warning-state-ok span.icon,#security-warning-state-warning span.icon,#security-warning-state-failure span.icon,#security-warning-state-loading span.icon{width:32px;height:32px;background-position:center center;display:inline-block;border-radius:50%}#security-warning-state-ok span.icon-checkmark-white,#security-warning-state-warning span.icon-checkmark-white,#security-warning-state-failure span.icon-checkmark-white,#security-warning-state-loading span.icon-checkmark-white{background-color:var(--color-success)}#security-warning-state-ok span.icon-error-white,#security-warning-state-warning span.icon-error-white,#security-warning-state-failure span.icon-error-white,#security-warning-state-loading span.icon-error-white{background-color:var(--color-warning)}#security-warning-state-ok span.icon-close-white,#security-warning-state-warning span.icon-close-white,#security-warning-state-failure span.icon-close-white,#security-warning-state-loading span.icon-close-white{background-color:var(--color-error)}#shareAPI.loading>div{display:none}#shareAPI p{padding-bottom:.8em}#shareAPI .indent{padding-left:28px}#shareAPI .double-indent{padding-left:56px}#shareAPI .nocheckbox{padding-left:20px}#shareApiDefaultPermissionsSection label{margin-right:20px}#fileSharingSettings h3{display:inline-block}#publicShareDisclaimerText{width:calc(100% - 23px);max-width:600px;height:150px;margin-left:20px;box-sizing:border-box}.icon-info{padding:11px 20px;vertical-align:text-bottom;opacity:.5}#two-factor-auth h2,#shareAPI h2,#mail_general_settings h2{display:inline-block}.mail_settings p label:first-child{display:inline-block;width:300px;text-align:right}.mail_settings p select:nth-child(2),.mail_settings p input:not([type=button]){width:143px}#mail_smtpport{width:60px}.cronlog{margin-left:10px}.status{display:inline-block;height:16px;width:16px;vertical-align:text-bottom}.status.success{border-radius:50%}#selectGroups select{box-sizing:border-box;display:inline-block;height:36px;padding:7px 10px}#log .log-message{word-break:break-all;min-width:180px}span.success{background-color:var(--color-success);border-radius:var(--border-radius)}span.error{background-color:var(--color-error)}span.indeterminate{background-color:var(--color-warning);border-radius:40% 0}doesnotexist:-o-prefocus,.strengthify-wrapper{left:185px;width:129px}.trusted-domain-warning{color:#fff;padding:5px;background:#ce3702;border-radius:5px;font-family:Consolas,"Liberation Mono",Menlo,Courier,monospace}#postsetupchecks ul{margin-left:44px;list-style:disc}#postsetupchecks ul li{margin:10px 0}#postsetupchecks ul ul{list-style:circle}#postsetupchecks .loading{height:50px;background-position:left center}#postsetupchecks .errors,#postsetupchecks .errors a{color:var(--color-error)}#postsetupchecks .warnings,#postsetupchecks .warnings a{color:var(--color-warning)}#postsetupchecks .hint{margin:20px 0}#security-warning a{text-decoration:underline}#security-warning .extra-top-margin{margin-top:12px}#admin-tips li{list-style:initial}#admin-tips li a{display:inline-block;padding:3px 0}#warning{color:red}.settings-hint{margin-top:-12px;margin-bottom:12px;opacity:.7}#body-settings #app-content.user-list-grid{display:grid;grid-column-gap:20px;grid-auto-rows:minmax(60px, max-content)}#body-settings #app-content.user-list-grid .row{display:flex;display:grid;min-height:60px;grid-row-start:span 1;grid-gap:3px;align-items:center;grid-template-columns:44px minmax(190px, 1fr) minmax(160px, 1fr) minmax(160px, 1fr) minmax(240px, 1fr) minmax(240px, 1fr) minmax(160px, 1fr) minmax(240px, 1fr) repeat(auto-fit, minmax(160px, 1fr));border-bottom:var(--color-border) 1px solid}#body-settings #app-content.user-list-grid .row.disabled{opacity:.5}#body-settings #app-content.user-list-grid .row .name,#body-settings #app-content.user-list-grid .row .password,#body-settings #app-content.user-list-grid .row .mailAddress,#body-settings #app-content.user-list-grid .row .languages,#body-settings #app-content.user-list-grid .row .storageLocation,#body-settings #app-content.user-list-grid .row .userBackend,#body-settings #app-content.user-list-grid .row .lastLogin{min-width:160px}#body-settings #app-content.user-list-grid .row .name doesnotexist:-o-prefocus,#body-settings #app-content.user-list-grid .row .name .strengthify-wrapper,#body-settings #app-content.user-list-grid .row .password doesnotexist:-o-prefocus,#body-settings #app-content.user-list-grid .row .password .strengthify-wrapper,#body-settings #app-content.user-list-grid .row .mailAddress doesnotexist:-o-prefocus,#body-settings #app-content.user-list-grid .row .mailAddress .strengthify-wrapper,#body-settings #app-content.user-list-grid .row .languages doesnotexist:-o-prefocus,#body-settings #app-content.user-list-grid .row .languages .strengthify-wrapper,#body-settings #app-content.user-list-grid .row .storageLocation doesnotexist:-o-prefocus,#body-settings #app-content.user-list-grid .row .storageLocation .strengthify-wrapper,#body-settings #app-content.user-list-grid .row .userBackend doesnotexist:-o-prefocus,#body-settings #app-content.user-list-grid .row .userBackend .strengthify-wrapper,#body-settings #app-content.user-list-grid .row .lastLogin doesnotexist:-o-prefocus,#body-settings #app-content.user-list-grid .row .lastLogin .strengthify-wrapper{color:var(--color-text-dark);vertical-align:baseline;text-overflow:ellipsis}#body-settings #app-content.user-list-grid .row:not(.row--editable).name,#body-settings #app-content.user-list-grid .row:not(.row--editable).password,#body-settings #app-content.user-list-grid .row:not(.row--editable).displayName,#body-settings #app-content.user-list-grid .row:not(.row--editable).mailAddress,#body-settings #app-content.user-list-grid .row:not(.row--editable).userBackend,#body-settings #app-content.user-list-grid .row:not(.row--editable).languages{overflow:hidden}#body-settings #app-content.user-list-grid .row:not(.row--editable) .groups,#body-settings #app-content.user-list-grid .row:not(.row--editable) .subadmins{overflow:auto;max-height:100%}#body-settings #app-content.user-list-grid .row .managers,#body-settings #app-content.user-list-grid .row .groups,#body-settings #app-content.user-list-grid .row .subadmins,#body-settings #app-content.user-list-grid .row .quota{min-width:160px}#body-settings #app-content.user-list-grid .row .managers .multiselect,#body-settings #app-content.user-list-grid .row .groups .multiselect,#body-settings #app-content.user-list-grid .row .subadmins .multiselect,#body-settings #app-content.user-list-grid .row .quota .multiselect{width:100%;color:var(--color-text-dark);vertical-align:baseline}#body-settings #app-content.user-list-grid .row .managers progress,#body-settings #app-content.user-list-grid .row .groups progress,#body-settings #app-content.user-list-grid .row .subadmins progress,#body-settings #app-content.user-list-grid .row .quota progress{max-width:95%}#body-settings #app-content.user-list-grid .row .obfuscated{width:400px;opacity:.7}#body-settings #app-content.user-list-grid .row .userActions{display:flex;justify-content:flex-end;position:sticky;right:0px;min-width:88px;background-color:var(--color-main-background)}#body-settings #app-content.user-list-grid .row.row--editable .userActions{z-index:10}#body-settings #app-content.user-list-grid .row .subtitle{color:var(--color-text-maxcontrast);vertical-align:baseline}#body-settings #app-content.user-list-grid .row#grid-header{position:sticky;align-self:normal;background-color:var(--color-main-background);z-index:100;top:0}#body-settings #app-content.user-list-grid .row#grid-header.sticky{box-shadow:0 -2px 10px 1px var(--color-box-shadow)}#body-settings #app-content.user-list-grid .row#grid-header{color:var(--color-text-maxcontrast);border-bottom-width:thin}#body-settings #app-content.user-list-grid .row#grid-header #headerDisplayName,#body-settings #app-content.user-list-grid .row#grid-header #headerPassword,#body-settings #app-content.user-list-grid .row#grid-header #headerAddress,#body-settings #app-content.user-list-grid .row#grid-header #headerGroups,#body-settings #app-content.user-list-grid .row#grid-header #headerSubAdmins,#body-settings #app-content.user-list-grid .row#grid-header #theHeaderUserBackend,#body-settings #app-content.user-list-grid .row#grid-header #theHeaderLastLogin,#body-settings #app-content.user-list-grid .row#grid-header #headerQuota,#body-settings #app-content.user-list-grid .row#grid-header #theHeaderStorageLocation,#body-settings #app-content.user-list-grid .row#grid-header #headerLanguages{padding-left:7px;text-transform:none;color:var(--color-text-maxcontrast);vertical-align:baseline}#body-settings #app-content.user-list-grid .row:hover input:not([type=submit]):not(:focus):not(:active){border-color:var(--color-border) !important}#body-settings #app-content.user-list-grid .row:hover:not(#grid-header){box-shadow:5px 0 0 var(--color-primary-element) inset}#body-settings #app-content.user-list-grid .row>form{width:100%}#body-settings #app-content.user-list-grid .row>div,#body-settings #app-content.user-list-grid .row>.displayName>form,#body-settings #app-content.user-list-grid .row>form{grid-row:1;display:inline-flex;color:var(--color-text-lighter);flex-grow:1}#body-settings #app-content.user-list-grid .row>div>input:not(:focus):not(:active),#body-settings #app-content.user-list-grid .row>.displayName>form>input:not(:focus):not(:active),#body-settings #app-content.user-list-grid .row>form>input:not(:focus):not(:active){border-color:rgba(0,0,0,0);cursor:pointer}#body-settings #app-content.user-list-grid .row>div>input:focus+.icon-confirm,#body-settings #app-content.user-list-grid .row>div>input:active+.icon-confirm,#body-settings #app-content.user-list-grid .row>.displayName>form>input:focus+.icon-confirm,#body-settings #app-content.user-list-grid .row>.displayName>form>input:active+.icon-confirm,#body-settings #app-content.user-list-grid .row>form>input:focus+.icon-confirm,#body-settings #app-content.user-list-grid .row>form>input:active+.icon-confirm{display:block !important}#body-settings #app-content.user-list-grid .row>div:not(.userActions)>input:not([type=submit]),#body-settings #app-content.user-list-grid .row>.displayName>form:not(.userActions)>input:not([type=submit]),#body-settings #app-content.user-list-grid .row>form:not(.userActions)>input:not([type=submit]){width:100%;min-width:0}#body-settings #app-content.user-list-grid .row>div.name,#body-settings #app-content.user-list-grid .row>.displayName>form.name,#body-settings #app-content.user-list-grid .row>form.name{word-break:break-all}#body-settings #app-content.user-list-grid .row>div.displayName>input,#body-settings #app-content.user-list-grid .row>div.mailAddress>input,#body-settings #app-content.user-list-grid .row>.displayName>form.displayName>input,#body-settings #app-content.user-list-grid .row>.displayName>form.mailAddress>input,#body-settings #app-content.user-list-grid .row>form.displayName>input,#body-settings #app-content.user-list-grid .row>form.mailAddress>input{text-overflow:ellipsis;flex-grow:1}#body-settings #app-content.user-list-grid .row>div.name,#body-settings #app-content.user-list-grid .row>div.userBackend,#body-settings #app-content.user-list-grid .row>.displayName>form.name,#body-settings #app-content.user-list-grid .row>.displayName>form.userBackend,#body-settings #app-content.user-list-grid .row>form.name,#body-settings #app-content.user-list-grid .row>form.userBackend{line-height:1.3em;max-height:100%;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}#body-settings #app-content.user-list-grid .row>div.name .subtitle,#body-settings #app-content.user-list-grid .row>.displayName>form.name .subtitle,#body-settings #app-content.user-list-grid .row>form.name .subtitle{color:var(--color-main-text)}#body-settings #app-content.user-list-grid .row>div.quota,#body-settings #app-content.user-list-grid .row>.displayName>form.quota,#body-settings #app-content.user-list-grid .row>form.quota{display:flex;justify-content:left;white-space:nowrap;position:relative}#body-settings #app-content.user-list-grid .row>div.quota progress,#body-settings #app-content.user-list-grid .row>.displayName>form.quota progress,#body-settings #app-content.user-list-grid .row>form.quota progress{width:150px;margin-top:35px;height:3px}#body-settings #app-content.user-list-grid .row>div .icon-confirm,#body-settings #app-content.user-list-grid .row>.displayName>form .icon-confirm,#body-settings #app-content.user-list-grid .row>form .icon-confirm{flex:0 0 auto;cursor:pointer}#body-settings #app-content.user-list-grid .row>div .icon-confirm:not(:active),#body-settings #app-content.user-list-grid .row>.displayName>form .icon-confirm:not(:active),#body-settings #app-content.user-list-grid .row>form .icon-confirm:not(:active){display:none}#body-settings #app-content.user-list-grid .row>div.avatar,#body-settings #app-content.user-list-grid .row>.displayName>form.avatar,#body-settings #app-content.user-list-grid .row>form.avatar{height:32px;width:32px;margin:6px}#body-settings #app-content.user-list-grid .row>div.avatar img,#body-settings #app-content.user-list-grid .row>.displayName>form.avatar img,#body-settings #app-content.user-list-grid .row>form.avatar img{display:block}#body-settings #app-content.user-list-grid .row>div.userActions,#body-settings #app-content.user-list-grid .row>.displayName>form.userActions,#body-settings #app-content.user-list-grid .row>form.userActions{display:flex;justify-content:flex-end}#body-settings #app-content.user-list-grid .row>div.userActions #newsubmit,#body-settings #app-content.user-list-grid .row>.displayName>form.userActions #newsubmit,#body-settings #app-content.user-list-grid .row>form.userActions #newsubmit{width:100%}#body-settings #app-content.user-list-grid .row>div.userActions .toggleUserActions,#body-settings #app-content.user-list-grid .row>.displayName>form.userActions .toggleUserActions,#body-settings #app-content.user-list-grid .row>form.userActions .toggleUserActions{position:relative;display:flex;align-items:center;background-color:var(--color-main-background)}#body-settings #app-content.user-list-grid .row>div.userActions .toggleUserActions .icon-more,#body-settings #app-content.user-list-grid .row>.displayName>form.userActions .toggleUserActions .icon-more,#body-settings #app-content.user-list-grid .row>form.userActions .toggleUserActions .icon-more{width:44px;height:44px;opacity:.5;cursor:pointer}#body-settings #app-content.user-list-grid .row>div.userActions .toggleUserActions .icon-more:focus,#body-settings #app-content.user-list-grid .row>div.userActions .toggleUserActions .icon-more:hover,#body-settings #app-content.user-list-grid .row>div.userActions .toggleUserActions .icon-more:active,#body-settings #app-content.user-list-grid .row>.displayName>form.userActions .toggleUserActions .icon-more:focus,#body-settings #app-content.user-list-grid .row>.displayName>form.userActions .toggleUserActions .icon-more:hover,#body-settings #app-content.user-list-grid .row>.displayName>form.userActions .toggleUserActions .icon-more:active,#body-settings #app-content.user-list-grid .row>form.userActions .toggleUserActions .icon-more:focus,#body-settings #app-content.user-list-grid .row>form.userActions .toggleUserActions .icon-more:hover,#body-settings #app-content.user-list-grid .row>form.userActions .toggleUserActions .icon-more:active{opacity:.7;background-color:var(--color-background-dark)}#body-settings #app-content.user-list-grid .row>div.userActions .feedback,#body-settings #app-content.user-list-grid .row>.displayName>form.userActions .feedback,#body-settings #app-content.user-list-grid .row>form.userActions .feedback{display:flex;align-items:center;white-space:nowrap;transition:opacity 200ms ease-in-out}#body-settings #app-content.user-list-grid .row>div.userActions .feedback .icon-checkmark,#body-settings #app-content.user-list-grid .row>.displayName>form.userActions .feedback .icon-checkmark,#body-settings #app-content.user-list-grid .row>form.userActions .feedback .icon-checkmark{opacity:.5;margin-right:5px}#body-settings #app-content.user-list-grid .row>div .multiselect.multiselect-vue,#body-settings #app-content.user-list-grid .row>.displayName>form .multiselect.multiselect-vue,#body-settings #app-content.user-list-grid .row>form .multiselect.multiselect-vue{min-width:100%;width:100%}#body-settings #app-content.user-list-grid .infinite-loading-container{display:flex;align-items:center;justify-content:center;grid-row-start:span 4}#body-settings #app-content.user-list-grid .users-list-end{opacity:.5;user-select:none}.animated{animation:blink-animation 1s steps(5, start) 4}@keyframes blink-animation{to{opacity:.6}}@-webkit-keyframes blink-animation{to{opacity:1}}/*# sourceMappingURL=settings.css.map */ +input#openid,input#webdav{width:20em}.clear{clear:both}.nav-icon-personal-settings{background-image:var(--icon-personal-dark)}.nav-icon-security{background-image:var(--icon-toggle-filelist-dark)}.nav-icon-clientsbox{background-image:var(--icon-change-dark)}.nav-icon-federated-cloud{background-image:var(--icon-share-dark)}.nav-icon-second-factor-backup-codes,.nav-icon-ssl-root-certificate{background-image:var(--icon-password-dark)}#personal-settings-avatar-container{display:inline-grid;grid-template-columns:1fr;grid-template-rows:2fr 1fr 2fr;vertical-align:top}.profile-settings-container{display:inline-grid;grid-template-columns:1fr 1fr 1fr}.personal-show-container{width:100%}.personal-settings-setting-box .section{padding:10px 30px}.personal-settings-setting-box .section .headerbar-label{margin-bottom:0}.personal-settings-setting-box .section input[type=text],.personal-settings-setting-box .section input[type=email],.personal-settings-setting-box .section input[type=tel],.personal-settings-setting-box .section input[type=url]{width:100%}.personal-settings-setting-box-profile{grid-row:3/5}.personal-settings-setting-box-detail{grid-row:5}.personal-settings-setting-box-detail--without-profile{grid-row:3}select#timezone{width:100%}#personal-settings{display:grid;padding:20px;max-width:1700px;grid-template-columns:repeat(auto-fill, minmax(300px, 1fr));grid-column-gap:10px}#personal-settings .section{padding:10px 10px;border:0}#personal-settings .section h2{margin-bottom:12px}#personal-settings .section h3>label{font-weight:bold}#personal-settings .personal-info{margin-right:10%;margin-bottom:12px;margin-top:12px}#personal-settings .personal-info[class^=icon-],#personal-settings .personal-info[class*=" icon-"]{background-position:0px 2px;padding-left:30px;opacity:.7}.development-notice{text-align:center}.development-notice a:not(.link-button){text-decoration:underline}.development-notice a:not(.link-button):hover{background-color:var(--color-primary-element-hover)}.link-button{display:inline-block;margin:16px;padding:14px 20px;background-color:var(--color-primary-element);color:#fff;border-radius:var(--border-radius-pill);border:1px solid var(--color-primary-element);box-shadow:0 2px 9px var(--color-box-shadow)}.link-button:active,.link-button:hover,.link-button:focus{color:var(--color-primary-element);background-color:var(--color-primary-element-text);border-color:var(--color-primary-element) !important}.link-button.icon-file{padding-left:48px;background-position:24px}.personal-settings-container{display:inline-grid;grid-template-columns:1fr 1fr 1fr}.personal-settings-container:after{clear:both}.personal-settings-container>div h3{position:relative;display:inline-flex;flex-wrap:nowrap;justify-content:flex-start;width:100%;align-items:center;gap:8px}.personal-settings-container>div h3>label{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.personal-settings-container>div>form span[class^=icon-checkmark],.personal-settings-container>div>form span[class^=icon-error]{position:relative;right:8px;top:-28px;pointer-events:none;float:right}.personal-settings-container .verify{position:relative;left:100%;top:0;height:0}.personal-settings-container .verify img{padding:12px 7px 6px}.personal-settings-container .verify-action{cursor:pointer}.personal-settings-container input:disabled{background-color:#fff;color:#000;border:none;opacity:100}.verification-dialog{display:none;right:-9px;top:40px;width:275px}.verification-dialog p{padding:10px}.verification-dialog .verificationCode{font-family:monospace;display:block;overflow-wrap:break-word}.federation-menu{position:relative;cursor:pointer;width:44px;height:44px;padding:10px;margin:0;background:none;border:none}.federation-menu:hover,.federation-menu:focus{background-color:var(--color-background-hover);border-radius:var(--border-radius-pill)}.federation-menu:hover .icon-federation-menu,.federation-menu:focus .icon-federation-menu{opacity:.8}.federation-menu .icon-federation-menu{padding-left:16px;background-size:16px;background-position:left center;opacity:.3;cursor:inherit}.federation-menu .icon-federation-menu .icon-triangle-s{display:inline-block;vertical-align:middle;cursor:inherit}.federation-menu .federationScopeMenu{top:44px}.federation-menu .federationScopeMenu.popovermenu .menuitem{font-size:12.8px;line-height:1.6em}.federation-menu .federationScopeMenu.popovermenu .menuitem .menuitem-text-detail{opacity:.75}.federation-menu .federationScopeMenu.popovermenu .menuitem.active{box-shadow:inset 2px 0 var(--color-primary-element)}.federation-menu .federationScopeMenu.popovermenu .menuitem.active .menuitem-text{font-weight:bold}.federation-menu .federationScopeMenu.popovermenu .menuitem.disabled{opacity:.5;cursor:default}.federation-menu .federationScopeMenu.popovermenu .menuitem.disabled *{cursor:default}.clientsbox img{height:60px}#sslCertificate tr.expired{background-color:rgba(255,0,0,.5)}#sslCertificate td{padding:5px}#displaynameerror,#displaynamechanged{display:none}input#identity{width:20em}#showWizard{display:inline-block}.msg.success{color:#fff;background-color:#47a447;padding:3px}.msg.error{color:#fff;background-color:#d2322d;padding:3px}table.nostyle label{margin-right:2em}table.nostyle td{padding:.2em 0}#security-password #passwordform{display:flex;flex-wrap:wrap;flex-direction:column;gap:1rem}#security-password #passwordform .input-control{display:flex;flex-wrap:wrap;flex-direction:column}#security-password #passwordform .input-control label{margin-bottom:.5rem}#security-password #passwordform #pass1,#security-password #passwordform .personal-show-container{flex-shrink:1;width:300px;min-width:150px}#security-password #passwordform .personal-show-container #pass2{position:relative;top:.5rem}#security-password #passwordform .personal-show-container .personal-show-label{top:34px !important;margin-right:0;margin-top:0 !important;right:3px}#security-password #passwordform #pass2{width:100%}#security-password #passwordform .password-state{display:inline-block}#security-password #passwordform .strengthify-wrapper{position:absolute;left:0;width:100%;border-radius:0 0 2px 2px;margin-top:5px;overflow:hidden;height:3px}#two-factor-auth h3{margin-top:24px}#two-factor-auth li>div{margin-left:20px}#two-factor-auth .two-factor-provider-settings-icon{width:16px;height:16px;vertical-align:sub;filter:var(--background-invert-if-dark)}.isgroup .groupname{width:85%;display:block;overflow:hidden;text-overflow:ellipsis}.isgroup.active .groupname{width:65%}li.active .delete,li.active .rename{display:block}.app-navigation-entry-utils .delete,.app-navigation-entry-utils .rename{display:none}#usersearchform{position:absolute;top:2px;right:0}#usersearchform input{width:150px}#usersearchform label{font-weight:bold}table.grid{width:100%}table.grid th{height:2em;color:#999;border-bottom:1px solid var(--color-border);padding:0 .5em;padding-left:.8em;text-align:left;font-weight:normal}table.grid td{border-bottom:1px solid var(--color-border);padding:0 .5em;padding-left:.8em;text-align:left;font-weight:normal}td.name,th.name{padding-left:.8em;min-width:5em;max-width:12em;text-overflow:ellipsis;overflow:hidden}td.password,th.password{padding-left:.8em}td.password>img,th.password>img{visibility:hidden}td.displayName>img,th.displayName>img{visibility:hidden}td.password,td.mailAddress,th.password,th.mailAddress{min-width:5em;max-width:12em;cursor:pointer}td.password span,td.mailAddress span,th.password span,th.mailAddress span{width:90%;display:inline-block;text-overflow:ellipsis;overflow:hidden}td.mailAddress,th.mailAddress{cursor:pointer}td.password>span,th.password>span{margin-right:1.2em;color:#c7c7c7}span.usersLastLoginTooltip{white-space:nowrap}#app-content>svg.app-filter{float:left;height:0;width:0}#app-category-app-bundles{margin-bottom:20px}.appinfo{margin:1em 40px}#app-navigation img{margin-bottom:-3px;margin-right:6px;width:16px}#app-navigation li span.no-icon{padding-left:32px}#app-navigation ul li.active>span.utils .delete,#app-navigation ul li.active>span.utils .rename{display:block}#app-navigation .appwarning{background:#fcc}#app-navigation.appwarning:hover{background:#fbb}#app-navigation .app-external{color:var(--color-text-maxcontrast)}span.version{margin-left:1em;margin-right:1em;color:var(--color-text-maxcontrast)}.app-version{color:var(--color-text-maxcontrast)}.app-level span{color:var(--color-text-maxcontrast);background-color:rgba(0,0,0,0);border:1px solid var(--color-text-maxcontrast);border-radius:var(--border-radius);padding:3px 6px}.app-level a{padding:10px;margin:-6px;white-space:nowrap}.app-level .official{background-position:left center;background-position:5px center;padding-left:25px}.app-level .supported{border-color:var(--color-success);background-position:left center;background-position:5px center;padding-left:25px;color:var(--color-success)}.app-score{position:relative;top:4px;opacity:.5}.app-settings-content #searchresults{display:none}#apps-list.store .section{border:0}#apps-list.store .app-name{display:block;margin:5px 0}#apps-list.store .app-name,#apps-list.store .app-image *{cursor:pointer}#apps-list.store .app-summary{opacity:.7}#apps-list.store .app-image-icon .icon-settings-dark{width:100%;height:150px;background-size:45px;opacity:.5}#apps-list.store .app-score-image{height:14px}#apps-list.store .actions{margin-top:10px}#app-sidebar #app-details-view h2 .icon-settings-dark,#app-sidebar #app-details-view h2 svg{display:inline-block;width:16px;height:16px;margin-right:10px;opacity:.7}#app-sidebar #app-details-view .app-level{clear:right;width:100%}#app-sidebar #app-details-view .app-level .supported,#app-sidebar #app-details-view .app-level .official{vertical-align:top}#app-sidebar #app-details-view .app-level .app-score-image{float:right}#app-sidebar #app-details-view .app-author,#app-sidebar #app-details-view .app-licence{color:var(--color-text-maxcontrast)}#app-sidebar #app-details-view .app-dependencies{margin:10px 0}#app-sidebar #app-details-view .app-description p{margin:10px 0}#app-sidebar #app-details-view .close{position:absolute;top:0;right:0;padding:14px;opacity:.5;z-index:1;width:44px;height:44px}#app-sidebar #app-details-view .actions{display:flex;align-items:center}#app-sidebar #app-details-view .actions .app-groups{padding:5px}#app-sidebar #app-details-view .appslink{text-decoration:underline;margin-right:5px}#app-sidebar #app-details-view .app-level,#app-sidebar #app-details-view .actions,#app-sidebar #app-details-view .documentation,#app-sidebar #app-details-view .app-dependencies,#app-sidebar #app-details-view .app-description{margin:20px 0}@media only screen and (min-width: 1601px){.store .section{width:25%}.with-app-sidebar .store .section{width:33%}}@media only screen and (max-width: 1600px){.store .section{width:25%}.with-app-sidebar .store .section{width:33%}}@media only screen and (max-width: 1400px){.store .section{width:33%}.with-app-sidebar .store .section{width:50%}}@media only screen and (max-width: 900px){.store .section{width:50%}.with-app-sidebar .store .section{width:100%}}@media only screen and (max-width: 1024px){.store .section{width:50%}}@media only screen and (max-width: 480px){.store .section{width:100%}}@media only screen and (max-width: 900px){.apps-list.installed .app-version,.apps-list.installed .app-level{display:none !important}}@media only screen and (max-width: 500px){.apps-list.installed .app-groups{display:none !important}}.section{margin-bottom:0}.section:not(:last-child){border-bottom:1px solid var(--color-border)}.section h2{margin-bottom:22px}.section h2 .icon-info{padding:6px 20px;vertical-align:text-bottom;display:inline-block}.followupsection{display:block;padding:0 30px 30px 30px}.app-image{position:relative;height:150px;opacity:1;overflow:hidden}.app-name,.app-version,.app-score,.app-level{display:inline-block}.app-description-toggle-show,.app-description-toggle-hide{clear:both;padding:7px 0;cursor:pointer;opacity:.5}.app-description-container{clear:both;position:relative;top:7px}.app-description{clear:both}#app-category-1{margin-bottom:18px}#app-category-925{text-transform:capitalize}.app-dependencies{color:#ce3702}.missing-dependencies{list-style:initial;list-style-type:initial;list-style-position:inside}.apps-list{display:flex;flex-wrap:wrap;align-content:flex-start}.apps-list .section{cursor:pointer}.apps-list .app-list-move{transition:transform 1s}.apps-list #app-list-update-all{margin-left:10px}.apps-list .toolbar{height:60px;padding:8px;padding-left:60px;width:100%;background-color:var(--color-main-background);position:sticky;top:0;z-index:1;display:flex;align-items:center}.apps-list.installed{margin-bottom:100px}.apps-list.installed .apps-list-container{display:table;width:100%;height:auto;margin-top:60px}.apps-list.installed .section{display:table-row;padding:0;margin:0}.apps-list.installed .section>*{display:table-cell;height:initial;vertical-align:middle;float:none;border-bottom:1px solid var(--color-border);padding:6px;box-sizing:border-box}.apps-list.installed .section.selected{background-color:var(--color-background-dark)}.apps-list.installed .groups-enable{margin-top:0}.apps-list.installed .groups-enable label{margin-right:3px}.apps-list.installed .app-image{width:44px;height:auto;text-align:right}.apps-list.installed .app-image-icon svg,.apps-list.installed .app-image-icon .icon-settings-dark{margin-top:5px;width:20px;height:20px;opacity:.5;background-size:cover;display:inline-block}.apps-list.installed .actions{text-align:right}.apps-list.installed .actions .icon-loading-small{display:inline-block;top:4px;margin-right:10px}.apps-list:not(.installed) .app-image-icon svg{position:absolute;bottom:43px;width:64px;height:64px;opacity:.1}.apps-list.hidden{display:none}.apps-list .section{position:relative;flex:0 0 auto}.apps-list .section h2.app-name{display:block;margin:8px 0}.apps-list .section:hover{background-color:var(--color-background-dark)}.apps-list .app-description p{margin:10px 0}.apps-list .app-description ul{list-style:disc}.apps-list .app-description ol{list-style:decimal}.apps-list .app-description ol ol,.apps-list .app-description ol ul{padding-left:15px}.apps-list .app-description>ul,.apps-list .app-description>ol{margin-left:19px}.apps-list .app-description ul ol,.apps-list .app-description ul ul{padding-left:15px}.apps-list .apps-header{display:table-row;position:relative}.apps-list .apps-header div{display:table-cell;height:70px}.apps-list .apps-header h2{display:table-cell;position:absolute;padding-left:6px;padding-top:15px}.apps-list .apps-header h2 .enable{position:relative;top:-1px;margin-left:12px}.apps-list .apps-header h2+.section{margin-top:50px}#apps-list-search .section h2{margin-bottom:0}#log{white-space:normal;margin-bottom:14px}#lessLog{display:none}table.grid td.date{white-space:nowrap}#log-section p{margin-top:20px}#security-warning-state-ok span,#security-warning-state-warning span,#security-warning-state-failure span,#security-warning-state-loading span{vertical-align:middle}#security-warning-state-ok span.message,#security-warning-state-warning span.message,#security-warning-state-failure span.message,#security-warning-state-loading span.message{padding:12px}#security-warning-state-ok span.icon,#security-warning-state-warning span.icon,#security-warning-state-failure span.icon,#security-warning-state-loading span.icon{width:32px;height:32px;background-position:center center;display:inline-block;border-radius:50%}#security-warning-state-ok span.icon-checkmark-white,#security-warning-state-warning span.icon-checkmark-white,#security-warning-state-failure span.icon-checkmark-white,#security-warning-state-loading span.icon-checkmark-white{background-color:var(--color-success)}#security-warning-state-ok span.icon-error-white,#security-warning-state-warning span.icon-error-white,#security-warning-state-failure span.icon-error-white,#security-warning-state-loading span.icon-error-white{background-color:var(--color-warning)}#security-warning-state-ok span.icon-close-white,#security-warning-state-warning span.icon-close-white,#security-warning-state-failure span.icon-close-white,#security-warning-state-loading span.icon-close-white{background-color:var(--color-error)}#shareAPI.loading>div{display:none}#shareAPI p{padding-bottom:.8em}#shareAPI .indent{padding-left:28px}#shareAPI .double-indent{padding-left:56px}#shareAPI .nocheckbox{padding-left:20px}#shareApiDefaultPermissionsSection label{margin-right:20px}#fileSharingSettings h3{display:inline-block}#publicShareDisclaimerText{width:calc(100% - 23px);max-width:600px;height:150px;margin-left:20px;box-sizing:border-box}.icon-info{padding:11px 20px;vertical-align:text-bottom;opacity:.5}#two-factor-auth h2,#shareAPI h2,#mail_general_settings h2{display:inline-block}.mail_settings p label:first-child{display:inline-block;width:300px;text-align:right}.mail_settings p select:nth-child(2),.mail_settings p input:not([type=button]){width:143px}#mail_smtpport{width:60px}.cronlog{margin-left:10px}.status{display:inline-block;height:16px;width:16px;vertical-align:text-bottom}.status.success{border-radius:50%}#selectGroups select{box-sizing:border-box;display:inline-block;height:36px;padding:7px 10px}#log .log-message{word-break:break-all;min-width:180px}span.success{background-color:var(--color-success);border-radius:var(--border-radius)}span.error{background-color:var(--color-error)}span.indeterminate{background-color:var(--color-warning);border-radius:40% 0}doesnotexist:-o-prefocus,.strengthify-wrapper{left:185px;width:129px}.trusted-domain-warning{color:#fff;padding:5px;background:#ce3702;border-radius:5px;font-family:Consolas,"Liberation Mono",Menlo,Courier,monospace}#postsetupchecks ul{margin-left:44px;list-style:disc}#postsetupchecks ul li{margin:10px 0}#postsetupchecks ul ul{list-style:circle}#postsetupchecks .loading{height:50px;background-position:left center}#postsetupchecks .errors,#postsetupchecks .errors a{color:var(--color-error)}#postsetupchecks .warnings,#postsetupchecks .warnings a{color:var(--color-warning)}#postsetupchecks .hint{margin:20px 0}#security-warning a{text-decoration:underline}#security-warning .extra-top-margin{margin-top:12px}#admin-tips li{list-style:initial}#admin-tips li a{display:inline-block;padding:3px 0}#warning{color:red}.settings-hint{margin-top:-12px;margin-bottom:12px;opacity:.7}#body-settings #app-content.user-list-grid{display:grid;grid-column-gap:20px;grid-auto-rows:minmax(60px, max-content)}#body-settings #app-content.user-list-grid .row{display:flex;display:grid;min-height:60px;grid-row-start:span 1;grid-gap:3px;align-items:center;grid-template-columns:44px minmax(190px, 1fr) minmax(160px, 1fr) minmax(160px, 1fr) minmax(240px, 1fr) minmax(240px, 1fr) minmax(160px, 1fr) minmax(240px, 1fr) repeat(auto-fit, minmax(160px, 1fr));border-bottom:var(--color-border) 1px solid}#body-settings #app-content.user-list-grid .row.disabled{opacity:.5}#body-settings #app-content.user-list-grid .row .name,#body-settings #app-content.user-list-grid .row .password,#body-settings #app-content.user-list-grid .row .mailAddress,#body-settings #app-content.user-list-grid .row .languages,#body-settings #app-content.user-list-grid .row .storageLocation,#body-settings #app-content.user-list-grid .row .userBackend,#body-settings #app-content.user-list-grid .row .lastLogin{min-width:160px}#body-settings #app-content.user-list-grid .row .name doesnotexist:-o-prefocus,#body-settings #app-content.user-list-grid .row .name .strengthify-wrapper,#body-settings #app-content.user-list-grid .row .password doesnotexist:-o-prefocus,#body-settings #app-content.user-list-grid .row .password .strengthify-wrapper,#body-settings #app-content.user-list-grid .row .mailAddress doesnotexist:-o-prefocus,#body-settings #app-content.user-list-grid .row .mailAddress .strengthify-wrapper,#body-settings #app-content.user-list-grid .row .languages doesnotexist:-o-prefocus,#body-settings #app-content.user-list-grid .row .languages .strengthify-wrapper,#body-settings #app-content.user-list-grid .row .storageLocation doesnotexist:-o-prefocus,#body-settings #app-content.user-list-grid .row .storageLocation .strengthify-wrapper,#body-settings #app-content.user-list-grid .row .userBackend doesnotexist:-o-prefocus,#body-settings #app-content.user-list-grid .row .userBackend .strengthify-wrapper,#body-settings #app-content.user-list-grid .row .lastLogin doesnotexist:-o-prefocus,#body-settings #app-content.user-list-grid .row .lastLogin .strengthify-wrapper{color:var(--color-text-dark);vertical-align:baseline;text-overflow:ellipsis}#body-settings #app-content.user-list-grid .row:not(.row--editable).name,#body-settings #app-content.user-list-grid .row:not(.row--editable).password,#body-settings #app-content.user-list-grid .row:not(.row--editable).displayName,#body-settings #app-content.user-list-grid .row:not(.row--editable).mailAddress,#body-settings #app-content.user-list-grid .row:not(.row--editable).userBackend,#body-settings #app-content.user-list-grid .row:not(.row--editable).languages{overflow:hidden}#body-settings #app-content.user-list-grid .row:not(.row--editable) .groups,#body-settings #app-content.user-list-grid .row:not(.row--editable) .subadmins,#body-settings #app-content.user-list-grid .row:not(.row--editable) .subAdminsGroups{overflow:auto;max-height:100%}#body-settings #app-content.user-list-grid .row .managers,#body-settings #app-content.user-list-grid .row .groups,#body-settings #app-content.user-list-grid .row .subadmins,#body-settings #app-content.user-list-grid .row .subAdminsGroups,#body-settings #app-content.user-list-grid .row .quota{min-width:160px}#body-settings #app-content.user-list-grid .row .managers .multiselect,#body-settings #app-content.user-list-grid .row .groups .multiselect,#body-settings #app-content.user-list-grid .row .subadmins .multiselect,#body-settings #app-content.user-list-grid .row .subAdminsGroups .multiselect,#body-settings #app-content.user-list-grid .row .quota .multiselect{width:100%;color:var(--color-text-dark);vertical-align:baseline}#body-settings #app-content.user-list-grid .row .managers progress,#body-settings #app-content.user-list-grid .row .groups progress,#body-settings #app-content.user-list-grid .row .subadmins progress,#body-settings #app-content.user-list-grid .row .subAdminsGroups progress,#body-settings #app-content.user-list-grid .row .quota progress{max-width:95%}#body-settings #app-content.user-list-grid .row .obfuscated{width:400px;opacity:.7}#body-settings #app-content.user-list-grid .row .userActions{display:flex;justify-content:flex-end;position:sticky;right:0px;min-width:88px;background-color:var(--color-main-background)}#body-settings #app-content.user-list-grid .row.row--editable .userActions{z-index:10}#body-settings #app-content.user-list-grid .row .subtitle{color:var(--color-text-maxcontrast);vertical-align:baseline}#body-settings #app-content.user-list-grid .row#grid-header{position:sticky;align-self:normal;background-color:var(--color-main-background);z-index:100;top:0}#body-settings #app-content.user-list-grid .row#grid-header.sticky{box-shadow:0 -2px 10px 1px var(--color-box-shadow)}#body-settings #app-content.user-list-grid .row#grid-header{color:var(--color-text-maxcontrast);border-bottom-width:thin}#body-settings #app-content.user-list-grid .row#grid-header #headerDisplayName,#body-settings #app-content.user-list-grid .row#grid-header #headerPassword,#body-settings #app-content.user-list-grid .row#grid-header #headerAddress,#body-settings #app-content.user-list-grid .row#grid-header #headerGroups,#body-settings #app-content.user-list-grid .row#grid-header #headerSubAdmins,#body-settings #app-content.user-list-grid .row#grid-header #theHeaderUserBackend,#body-settings #app-content.user-list-grid .row#grid-header #theHeaderLastLogin,#body-settings #app-content.user-list-grid .row#grid-header #headerQuota,#body-settings #app-content.user-list-grid .row#grid-header #theHeaderStorageLocation,#body-settings #app-content.user-list-grid .row#grid-header #headerLanguages{padding-left:7px;text-transform:none;color:var(--color-text-maxcontrast);vertical-align:baseline}#body-settings #app-content.user-list-grid .row:hover input:not([type=submit]):not(:focus):not(:active){border-color:var(--color-border) !important}#body-settings #app-content.user-list-grid .row:hover:not(#grid-header){box-shadow:5px 0 0 var(--color-primary-element) inset}#body-settings #app-content.user-list-grid .row>form{width:100%}#body-settings #app-content.user-list-grid .row>div,#body-settings #app-content.user-list-grid .row>.displayName>form,#body-settings #app-content.user-list-grid .row>form{grid-row:1;display:inline-flex;color:var(--color-text-lighter);flex-grow:1}#body-settings #app-content.user-list-grid .row>div>input:not(:focus):not(:active),#body-settings #app-content.user-list-grid .row>.displayName>form>input:not(:focus):not(:active),#body-settings #app-content.user-list-grid .row>form>input:not(:focus):not(:active){border-color:rgba(0,0,0,0);cursor:pointer}#body-settings #app-content.user-list-grid .row>div>input:focus+.icon-confirm,#body-settings #app-content.user-list-grid .row>div>input:active+.icon-confirm,#body-settings #app-content.user-list-grid .row>.displayName>form>input:focus+.icon-confirm,#body-settings #app-content.user-list-grid .row>.displayName>form>input:active+.icon-confirm,#body-settings #app-content.user-list-grid .row>form>input:focus+.icon-confirm,#body-settings #app-content.user-list-grid .row>form>input:active+.icon-confirm{display:block !important}#body-settings #app-content.user-list-grid .row>div:not(.userActions)>input:not([type=submit]),#body-settings #app-content.user-list-grid .row>.displayName>form:not(.userActions)>input:not([type=submit]),#body-settings #app-content.user-list-grid .row>form:not(.userActions)>input:not([type=submit]){width:100%;min-width:0}#body-settings #app-content.user-list-grid .row>div.name,#body-settings #app-content.user-list-grid .row>.displayName>form.name,#body-settings #app-content.user-list-grid .row>form.name{word-break:break-all}#body-settings #app-content.user-list-grid .row>div.displayName>input,#body-settings #app-content.user-list-grid .row>div.mailAddress>input,#body-settings #app-content.user-list-grid .row>.displayName>form.displayName>input,#body-settings #app-content.user-list-grid .row>.displayName>form.mailAddress>input,#body-settings #app-content.user-list-grid .row>form.displayName>input,#body-settings #app-content.user-list-grid .row>form.mailAddress>input{text-overflow:ellipsis;flex-grow:1}#body-settings #app-content.user-list-grid .row>div.name,#body-settings #app-content.user-list-grid .row>div.userBackend,#body-settings #app-content.user-list-grid .row>.displayName>form.name,#body-settings #app-content.user-list-grid .row>.displayName>form.userBackend,#body-settings #app-content.user-list-grid .row>form.name,#body-settings #app-content.user-list-grid .row>form.userBackend{line-height:1.3em;max-height:100%;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}#body-settings #app-content.user-list-grid .row>div.name .subtitle,#body-settings #app-content.user-list-grid .row>.displayName>form.name .subtitle,#body-settings #app-content.user-list-grid .row>form.name .subtitle{color:var(--color-main-text)}#body-settings #app-content.user-list-grid .row>div.quota,#body-settings #app-content.user-list-grid .row>.displayName>form.quota,#body-settings #app-content.user-list-grid .row>form.quota{display:flex;justify-content:left;white-space:nowrap;position:relative}#body-settings #app-content.user-list-grid .row>div.quota progress,#body-settings #app-content.user-list-grid .row>.displayName>form.quota progress,#body-settings #app-content.user-list-grid .row>form.quota progress{width:150px;margin-top:35px;height:3px}#body-settings #app-content.user-list-grid .row>div .icon-confirm,#body-settings #app-content.user-list-grid .row>.displayName>form .icon-confirm,#body-settings #app-content.user-list-grid .row>form .icon-confirm{flex:0 0 auto;cursor:pointer}#body-settings #app-content.user-list-grid .row>div .icon-confirm:not(:active),#body-settings #app-content.user-list-grid .row>.displayName>form .icon-confirm:not(:active),#body-settings #app-content.user-list-grid .row>form .icon-confirm:not(:active){display:none}#body-settings #app-content.user-list-grid .row>div.avatar,#body-settings #app-content.user-list-grid .row>.displayName>form.avatar,#body-settings #app-content.user-list-grid .row>form.avatar{height:32px;width:32px;margin:6px}#body-settings #app-content.user-list-grid .row>div.avatar img,#body-settings #app-content.user-list-grid .row>.displayName>form.avatar img,#body-settings #app-content.user-list-grid .row>form.avatar img{display:block}#body-settings #app-content.user-list-grid .row>div.userActions,#body-settings #app-content.user-list-grid .row>.displayName>form.userActions,#body-settings #app-content.user-list-grid .row>form.userActions{display:flex;justify-content:flex-end}#body-settings #app-content.user-list-grid .row>div.userActions #newsubmit,#body-settings #app-content.user-list-grid .row>.displayName>form.userActions #newsubmit,#body-settings #app-content.user-list-grid .row>form.userActions #newsubmit{width:100%}#body-settings #app-content.user-list-grid .row>div.userActions .toggleUserActions,#body-settings #app-content.user-list-grid .row>.displayName>form.userActions .toggleUserActions,#body-settings #app-content.user-list-grid .row>form.userActions .toggleUserActions{position:relative;display:flex;align-items:center;background-color:var(--color-main-background)}#body-settings #app-content.user-list-grid .row>div.userActions .toggleUserActions .icon-more,#body-settings #app-content.user-list-grid .row>.displayName>form.userActions .toggleUserActions .icon-more,#body-settings #app-content.user-list-grid .row>form.userActions .toggleUserActions .icon-more{width:44px;height:44px;opacity:.5;cursor:pointer}#body-settings #app-content.user-list-grid .row>div.userActions .toggleUserActions .icon-more:focus,#body-settings #app-content.user-list-grid .row>div.userActions .toggleUserActions .icon-more:hover,#body-settings #app-content.user-list-grid .row>div.userActions .toggleUserActions .icon-more:active,#body-settings #app-content.user-list-grid .row>.displayName>form.userActions .toggleUserActions .icon-more:focus,#body-settings #app-content.user-list-grid .row>.displayName>form.userActions .toggleUserActions .icon-more:hover,#body-settings #app-content.user-list-grid .row>.displayName>form.userActions .toggleUserActions .icon-more:active,#body-settings #app-content.user-list-grid .row>form.userActions .toggleUserActions .icon-more:focus,#body-settings #app-content.user-list-grid .row>form.userActions .toggleUserActions .icon-more:hover,#body-settings #app-content.user-list-grid .row>form.userActions .toggleUserActions .icon-more:active{opacity:.7;background-color:var(--color-background-dark)}#body-settings #app-content.user-list-grid .row>div.userActions .feedback,#body-settings #app-content.user-list-grid .row>.displayName>form.userActions .feedback,#body-settings #app-content.user-list-grid .row>form.userActions .feedback{display:flex;align-items:center;white-space:nowrap;transition:opacity 200ms ease-in-out}#body-settings #app-content.user-list-grid .row>div.userActions .feedback .icon-checkmark,#body-settings #app-content.user-list-grid .row>.displayName>form.userActions .feedback .icon-checkmark,#body-settings #app-content.user-list-grid .row>form.userActions .feedback .icon-checkmark{opacity:.5;margin-right:5px}#body-settings #app-content.user-list-grid .row>div .multiselect.multiselect-vue,#body-settings #app-content.user-list-grid .row>.displayName>form .multiselect.multiselect-vue,#body-settings #app-content.user-list-grid .row>form .multiselect.multiselect-vue{min-width:100%;width:100%}#body-settings #app-content.user-list-grid .infinite-loading-container{display:flex;align-items:center;justify-content:center;grid-row-start:span 4}#body-settings #app-content.user-list-grid .users-list-end{opacity:.5;user-select:none}.animated{animation:blink-animation 1s steps(5, start) 4}@keyframes blink-animation{to{opacity:.6}}@-webkit-keyframes blink-animation{to{opacity:1}}/*# sourceMappingURL=settings.css.map */ diff --git a/apps/settings/css/settings.css.map b/apps/settings/css/settings.css.map index 3e7d8587aa1..eb8f9b488fe 100644 --- a/apps/settings/css/settings.css.map +++ b/apps/settings/css/settings.css.map @@ -1 +1 @@ -{"version":3,"sourceRoot":"","sources":["settings.scss","../../../core/css/functions.scss"],"names":[],"mappings":"AAOC,0BACC,WAKF,OACC,WAID,4BC+CC,2CD3CD,mBC2CC,kDDvCD,qBCuCC,yCDnCD,0BCmCC,wCD/BD,oEC+BC,2CD3BD,oCACC,oBACA,0BACA,+BACA,mBAGD,4BACC,oBACA,kCAGD,yBACC,WAIA,wCACC,kBACA,yDACC,gBAIA,mOACC,WAKH,uCACC,aAGD,sCACC,WAED,uDACC,WAKD,gBACC,WAIF,mBACC,aACA,aACA,iBACA,4DACA,qBAEA,4BACC,kBACA,SAEA,+BACC,mBAIA,qCACC,iBAKH,kCACC,iBACA,mBACA,gBAGD,mGACC,4BACA,kBACA,WAMF,oBACC,kBACA,wCACC,0BACA,8CACC,oDAKH,aACC,qBACA,YACA,kBACA,8CACA,WACA,wCACA,8CACA,6CAEA,0DAGC,mCACA,mDACA,qDAGD,uBACC,kBACA,yBAIF,6BACC,oBACA,kCAEA,mCACC,WAIA,oCACC,kBACA,oBACA,iBACA,2BACA,WACA,mBACA,QAEA,0CACC,mBACA,uBACA,gBAKD,gIACC,kBACA,UACA,UACA,oBACA,YAKH,qCACC,kBACA,UACA,MACA,SAEA,yCACC,qBAIF,4CACC,eAGD,4CACC,sBACA,WACA,YACA,YAMF,qBACC,aACA,WACA,SACA,YAEA,uBACC,aAGD,uCACC,sBACA,cACA,yBAIF,iBACC,kBACA,eACA,WACA,YACA,aACA,SACA,gBACA,YAEA,8CAEC,+CACA,wCAEA,0FACC,WAIF,uCACC,kBACA,qBACA,gCACA,WACA,eAEA,wDACC,qBACA,sBACA,eAIF,sCACC,SAGC,4DAEC,iBACA,kBAEA,kFACC,YAGD,mEACC,oDAEA,kFACC,iBAIF,qEACC,WAEA,eAEA,uEACC,eAQN,gBACC,YAIA,2BACC,kCAGD,mBACC,YAIF,sCAEC,aAGD,eACC,WAGD,YACC,qBAIA,aACC,WACA,yBACA,YAGD,WACC,WACA,yBACA,YAMD,oBACC,iBAGD,iBACC,eAKD,iCACC,aACA,eACA,sBACA,SACA,gDACC,aACA,eACA,sBACA,sDACC,oBAIF,kGACC,cACA,YACA,gBAKA,iEACC,kBACA,UAED,+EACC,oBACA,eACA,wBACA,UAIF,wCACC,WAGD,iDACC,qBAGD,sDACC,kBACA,OACA,WACA,0BACA,eACA,gBACA,WAQF,oBACC,gBAGD,wBACC,iBAGD,oDACC,WACA,YACA,mBACA,wCAOD,oBACC,UACA,cACA,gBACA,uBAGD,2BACC,UAKD,oCAEC,cAKD,wEAEC,aAIF,gBACC,kBACA,QACA,QAEA,sBACC,YAGD,sBACC,iBAKF,WACC,WAEA,cACC,WACA,WACA,4CACA,eACA,kBACA,gBACA,mBAGD,cACC,4CACA,eACA,kBACA,gBACA,mBAKD,gBACC,kBACA,cACA,eACA,uBACA,gBAGD,wBACC,kBAEA,gCACC,kBAIF,sCACC,kBAGD,sDAEC,cACA,eACA,eAEA,0EACC,UACA,qBACA,uBACA,gBAIF,8BACC,eAGD,kCACC,mBACA,cAIF,2BACC,mBAID,4BACC,WACA,SACA,QAGD,0BACC,mBAGD,SACC,gBAKA,oBACC,mBACA,iBACA,WAGD,gCACC,kBAIA,gGACC,cAIF,4BACC,gBAGD,iCACC,gBAGD,8BACC,oCAIF,aACC,gBACA,iBACA,oCAGD,aACC,oCAIA,gBACC,oCACA,+BACA,+CACA,mCACA,gBAGD,aACC,aACA,YACA,mBAGD,qBACC,gCACA,+BACA,kBAGD,sBACC,kCACA,gCACA,+BACA,kBACA,2BAIF,WACC,kBACA,QACA,WAIA,qCACC,aAMD,0BACC,SAGD,2BACC,cACA,aAGD,yDACC,eAGD,8BACC,WAGD,qDACC,WACA,aACA,qBACA,WAGD,kCACC,YAGD,0BACC,gBAMA,4FAEC,qBACA,WACA,YACA,kBACA,WAIF,0CACC,YACA,WAEA,yGAEC,mBAGD,2DACC,YAIF,uFACC,oCAGD,iDACC,cAGD,kDACC,cAGD,sCACC,kBACA,MACA,QACA,aACA,WACA,UACA,WACA,YAGD,wCACC,aACA,mBAEA,oDACC,YAIF,yCACC,0BACA,iBAGD,iOAKC,cAIF,2CACC,gBACC,UAED,kCACC,WAIF,2CACC,gBACC,UAED,kCACC,WAIF,2CACC,gBACC,UAED,kCACC,WAIF,0CACC,gBACC,UAED,kCACC,YAIF,2CACC,gBACC,WAIF,0CACC,gBACC,YAKF,0CAEE,kEACC,yBAKH,0CACC,iCACC,yBAIF,SACC,gBAEA,0BACC,4CAID,YACC,mBAEA,uBACC,iBACA,2BACA,qBAKH,iBACC,cACA,yBAGD,WACC,kBACA,aACA,UACA,gBAGD,6CACC,qBAGD,0DACC,WACA,cACA,eACA,WAGD,2BACC,WACA,kBACA,QAGD,iBACC,WAGD,gBACC,mBAKD,kBACC,0BAGD,kBACC,cAGD,sBACC,mBACA,wBACA,2BAGD,WAyGC,aACA,eACA,yBAvGA,oBACC,eAGD,0BACC,wBAGD,gCACC,iBAGD,oBACC,OAfgB,KAgBhB,QAjBiB,IAmBjB,aAlBgB,KAmBhB,WACA,8CACA,gBACA,MACA,UACA,aACA,mBAGD,qBAQC,oBAPA,0CACC,cACA,WACA,YACA,WAjCe,KAsChB,8BACC,kBACA,UACA,SAEA,gCACC,mBACA,eACA,sBACA,WACA,4CACA,YACA,sBAGD,uCACC,8CAKF,oCACC,aAEA,0CACC,iBAIF,gCACC,WACA,YACA,iBAGD,kGAEC,eACA,WACA,YACA,WACA,sBACA,qBAGD,8BACC,iBAEA,kDACC,qBACA,QACA,kBAKH,+CACC,kBACA,YAEA,WACA,YACA,WAOD,kBACC,aAGD,oBACC,kBACA,cAEA,gCACC,cACA,aAGD,0BACC,8CAKD,8BACC,cAGD,+BACC,gBAGD,+BACC,mBAEA,oEACC,kBAKD,8DACC,iBAKD,oEACC,kBAMH,wBACC,kBACA,kBAEA,4BACC,mBACA,YAGD,2BACC,mBACA,kBACA,iBACA,iBAEA,mCACC,kBACA,SACA,iBAGD,oCACC,gBAQF,8BACC,gBAMH,KACC,mBACA,mBAGD,SACC,aAGD,mBACC,mBAGD,eACC,gBAOA,+IACC,sBAEA,+KACC,aAGD,mKACC,WACA,YACA,kCACA,qBACA,kBAGD,mOACC,sCAGD,mNACC,sCAGD,mNACC,oCAMF,sBACC,aAGD,YACC,oBAGD,kBACC,kBAGD,yBACC,kBAGD,sBACC,kBAIF,yCACC,kBAGD,wBACC,qBAGD,2BACC,wBAEA,gBACA,aACA,iBACA,sBAKD,WACC,kBACA,2BACA,WAGD,2DAGC,qBAIA,mCACC,qBACA,YACA,iBAGD,+EAEC,YAIF,eACC,WAGD,SACC,iBAGD,QACC,qBACA,YACA,WACA,2BAEA,gBACC,kBAIF,qBACC,sBACA,qBACA,YACA,iBAGD,kBACC,qBACA,gBAIA,aACC,sCACA,mCAGD,WACC,oCAGD,mBACC,sCACA,oBAMF,8CACC,WACA,YAGD,wBACC,WACA,YACA,mBACA,kBACA,+DAIA,oBACC,iBACA,gBAEA,uBACC,cAGD,uBACC,kBAIF,0BACC,YACA,gCAGD,oDACC,yBAGD,wDACC,2BAGD,uBACC,cAKD,oBACC,0BAGD,oCACC,gBAIF,eACC,mBAEA,iBACC,qBACA,cAIF,SACC,UAGD,eACC,iBACA,mBACA,WASA,2CACC,aACA,qBACA,yCAEA,gDAGC,aACA,aACA,WAbgB,KAchB,sBACA,aACA,mBAGA,sBACE,+KASF,4CAEA,yDACC,WAID,iaAOC,UA1CkB,MA4ClB,ooCACC,6BACA,wBACA,uBAKD,odAMC,gBAMD,2JAEC,cACA,gBAIF,oOAIC,UA3EkB,MA6ElB,wRACC,WACA,6BACA,wBAGD,wQACC,cAIF,4DACC,YACA,WAGD,6DACC,aACA,yBACA,gBACA,UACA,eACA,8CAGD,2EACC,WAGD,0DACC,oCACA,wBAID,4DACC,gBACA,kBACA,8CACA,YACA,MAEA,mEACC,mDAIF,4DACC,oCACA,yBAEA,2wBAWC,iBACA,oBACA,oCACA,wBAKD,wGACC,4CAGD,wEACC,sDAIF,qDACC,WAGD,2KAGC,WACA,oBACA,gCACA,YAEA,wQACC,2BACA,eAIA,qfACC,yBAKF,4SACC,WACA,YAGD,0LACC,qBAKA,kcACC,uBACA,YAIF,yYAGC,kBACA,gBACA,gBAIA,uBACA,oBACA,qBACA,4BAGD,wNACC,6BAGD,6LACC,aACA,qBACA,mBACA,kBAEA,wNACC,YACA,gBACA,WAIF,qNACC,cACA,eAEA,4PACC,aAIF,gMACC,YACA,WACA,WAEA,4MACC,cAIF,+MACC,aACA,yBAEA,gPACC,WAGD,wQACC,kBACA,aACA,mBACA,8CAEA,ySACC,WACA,YACA,WACA,eAEA,o7BAGC,WACA,8CAKH,6OACC,aACA,mBACA,mBACA,qCAEA,6RACC,WACA,iBAMH,kQACC,eACA,WAKH,uEACC,aACA,mBACA,uBACA,sBAGD,2DACC,WACA,iBAKH,UACI,+CAGJ,2BACE,GACE,YAGJ,mCACE,GACE","file":"settings.css"}
\ No newline at end of file +{"version":3,"sourceRoot":"","sources":["settings.scss","../../../core/css/functions.scss"],"names":[],"mappings":"AAOC,0BACC,WAKF,OACC,WAID,4BC+CC,2CD3CD,mBC2CC,kDDvCD,qBCuCC,yCDnCD,0BCmCC,wCD/BD,oEC+BC,2CD3BD,oCACC,oBACA,0BACA,+BACA,mBAGD,4BACC,oBACA,kCAGD,yBACC,WAIA,wCACC,kBACA,yDACC,gBAIA,mOACC,WAKH,uCACC,aAGD,sCACC,WAED,uDACC,WAKD,gBACC,WAIF,mBACC,aACA,aACA,iBACA,4DACA,qBAEA,4BACC,kBACA,SAEA,+BACC,mBAIA,qCACC,iBAKH,kCACC,iBACA,mBACA,gBAGD,mGACC,4BACA,kBACA,WAMF,oBACC,kBACA,wCACC,0BACA,8CACC,oDAKH,aACC,qBACA,YACA,kBACA,8CACA,WACA,wCACA,8CACA,6CAEA,0DAGC,mCACA,mDACA,qDAGD,uBACC,kBACA,yBAIF,6BACC,oBACA,kCAEA,mCACC,WAIA,oCACC,kBACA,oBACA,iBACA,2BACA,WACA,mBACA,QAEA,0CACC,mBACA,uBACA,gBAKD,gIACC,kBACA,UACA,UACA,oBACA,YAKH,qCACC,kBACA,UACA,MACA,SAEA,yCACC,qBAIF,4CACC,eAGD,4CACC,sBACA,WACA,YACA,YAMF,qBACC,aACA,WACA,SACA,YAEA,uBACC,aAGD,uCACC,sBACA,cACA,yBAIF,iBACC,kBACA,eACA,WACA,YACA,aACA,SACA,gBACA,YAEA,8CAEC,+CACA,wCAEA,0FACC,WAIF,uCACC,kBACA,qBACA,gCACA,WACA,eAEA,wDACC,qBACA,sBACA,eAIF,sCACC,SAGC,4DAEC,iBACA,kBAEA,kFACC,YAGD,mEACC,oDAEA,kFACC,iBAIF,qEACC,WAEA,eAEA,uEACC,eAQN,gBACC,YAIA,2BACC,kCAGD,mBACC,YAIF,sCAEC,aAGD,eACC,WAGD,YACC,qBAIA,aACC,WACA,yBACA,YAGD,WACC,WACA,yBACA,YAMD,oBACC,iBAGD,iBACC,eAKD,iCACC,aACA,eACA,sBACA,SACA,gDACC,aACA,eACA,sBACA,sDACC,oBAIF,kGACC,cACA,YACA,gBAKA,iEACC,kBACA,UAED,+EACC,oBACA,eACA,wBACA,UAIF,wCACC,WAGD,iDACC,qBAGD,sDACC,kBACA,OACA,WACA,0BACA,eACA,gBACA,WAQF,oBACC,gBAGD,wBACC,iBAGD,oDACC,WACA,YACA,mBACA,wCAOD,oBACC,UACA,cACA,gBACA,uBAGD,2BACC,UAKD,oCAEC,cAKD,wEAEC,aAIF,gBACC,kBACA,QACA,QAEA,sBACC,YAGD,sBACC,iBAKF,WACC,WAEA,cACC,WACA,WACA,4CACA,eACA,kBACA,gBACA,mBAGD,cACC,4CACA,eACA,kBACA,gBACA,mBAKD,gBACC,kBACA,cACA,eACA,uBACA,gBAGD,wBACC,kBAEA,gCACC,kBAIF,sCACC,kBAGD,sDAEC,cACA,eACA,eAEA,0EACC,UACA,qBACA,uBACA,gBAIF,8BACC,eAGD,kCACC,mBACA,cAIF,2BACC,mBAID,4BACC,WACA,SACA,QAGD,0BACC,mBAGD,SACC,gBAKA,oBACC,mBACA,iBACA,WAGD,gCACC,kBAIA,gGACC,cAIF,4BACC,gBAGD,iCACC,gBAGD,8BACC,oCAIF,aACC,gBACA,iBACA,oCAGD,aACC,oCAIA,gBACC,oCACA,+BACA,+CACA,mCACA,gBAGD,aACC,aACA,YACA,mBAGD,qBACC,gCACA,+BACA,kBAGD,sBACC,kCACA,gCACA,+BACA,kBACA,2BAIF,WACC,kBACA,QACA,WAIA,qCACC,aAMD,0BACC,SAGD,2BACC,cACA,aAGD,yDACC,eAGD,8BACC,WAGD,qDACC,WACA,aACA,qBACA,WAGD,kCACC,YAGD,0BACC,gBAMA,4FAEC,qBACA,WACA,YACA,kBACA,WAIF,0CACC,YACA,WAEA,yGAEC,mBAGD,2DACC,YAIF,uFACC,oCAGD,iDACC,cAGD,kDACC,cAGD,sCACC,kBACA,MACA,QACA,aACA,WACA,UACA,WACA,YAGD,wCACC,aACA,mBAEA,oDACC,YAIF,yCACC,0BACA,iBAGD,iOAKC,cAIF,2CACC,gBACC,UAED,kCACC,WAIF,2CACC,gBACC,UAED,kCACC,WAIF,2CACC,gBACC,UAED,kCACC,WAIF,0CACC,gBACC,UAED,kCACC,YAIF,2CACC,gBACC,WAIF,0CACC,gBACC,YAKF,0CAEE,kEACC,yBAKH,0CACC,iCACC,yBAIF,SACC,gBAEA,0BACC,4CAID,YACC,mBAEA,uBACC,iBACA,2BACA,qBAKH,iBACC,cACA,yBAGD,WACC,kBACA,aACA,UACA,gBAGD,6CACC,qBAGD,0DACC,WACA,cACA,eACA,WAGD,2BACC,WACA,kBACA,QAGD,iBACC,WAGD,gBACC,mBAKD,kBACC,0BAGD,kBACC,cAGD,sBACC,mBACA,wBACA,2BAGD,WAyGC,aACA,eACA,yBAvGA,oBACC,eAGD,0BACC,wBAGD,gCACC,iBAGD,oBACC,OAfgB,KAgBhB,QAjBiB,IAmBjB,aAlBgB,KAmBhB,WACA,8CACA,gBACA,MACA,UACA,aACA,mBAGD,qBAQC,oBAPA,0CACC,cACA,WACA,YACA,WAjCe,KAsChB,8BACC,kBACA,UACA,SAEA,gCACC,mBACA,eACA,sBACA,WACA,4CACA,YACA,sBAGD,uCACC,8CAKF,oCACC,aAEA,0CACC,iBAIF,gCACC,WACA,YACA,iBAGD,kGAEC,eACA,WACA,YACA,WACA,sBACA,qBAGD,8BACC,iBAEA,kDACC,qBACA,QACA,kBAKH,+CACC,kBACA,YAEA,WACA,YACA,WAOD,kBACC,aAGD,oBACC,kBACA,cAEA,gCACC,cACA,aAGD,0BACC,8CAKD,8BACC,cAGD,+BACC,gBAGD,+BACC,mBAEA,oEACC,kBAKD,8DACC,iBAKD,oEACC,kBAMH,wBACC,kBACA,kBAEA,4BACC,mBACA,YAGD,2BACC,mBACA,kBACA,iBACA,iBAEA,mCACC,kBACA,SACA,iBAGD,oCACC,gBAQF,8BACC,gBAMH,KACC,mBACA,mBAGD,SACC,aAGD,mBACC,mBAGD,eACC,gBAOA,+IACC,sBAEA,+KACC,aAGD,mKACC,WACA,YACA,kCACA,qBACA,kBAGD,mOACC,sCAGD,mNACC,sCAGD,mNACC,oCAMF,sBACC,aAGD,YACC,oBAGD,kBACC,kBAGD,yBACC,kBAGD,sBACC,kBAIF,yCACC,kBAGD,wBACC,qBAGD,2BACC,wBAEA,gBACA,aACA,iBACA,sBAKD,WACC,kBACA,2BACA,WAGD,2DAGC,qBAIA,mCACC,qBACA,YACA,iBAGD,+EAEC,YAIF,eACC,WAGD,SACC,iBAGD,QACC,qBACA,YACA,WACA,2BAEA,gBACC,kBAIF,qBACC,sBACA,qBACA,YACA,iBAGD,kBACC,qBACA,gBAIA,aACC,sCACA,mCAGD,WACC,oCAGD,mBACC,sCACA,oBAMF,8CACC,WACA,YAGD,wBACC,WACA,YACA,mBACA,kBACA,+DAIA,oBACC,iBACA,gBAEA,uBACC,cAGD,uBACC,kBAIF,0BACC,YACA,gCAGD,oDACC,yBAGD,wDACC,2BAGD,uBACC,cAKD,oBACC,0BAGD,oCACC,gBAIF,eACC,mBAEA,iBACC,qBACA,cAIF,SACC,UAGD,eACC,iBACA,mBACA,WASA,2CACC,aACA,qBACA,yCAEA,gDAGC,aACA,aACA,WAbgB,KAchB,sBACA,aACA,mBAGA,sBACE,+KASF,4CAEA,yDACC,WAID,iaAOC,UA1CkB,MA4ClB,ooCACC,6BACA,wBACA,uBAKD,odAMC,gBAMD,gPAGC,cACA,gBAIF,qSAKC,UA7EkB,MA+ElB,sWACC,WACA,6BACA,wBAGD,kVACC,cAIF,4DACC,YACA,WAGD,6DACC,aACA,yBACA,gBACA,UACA,eACA,8CAGD,2EACC,WAGD,0DACC,oCACA,wBAID,4DACC,gBACA,kBACA,8CACA,YACA,MAEA,mEACC,mDAIF,4DACC,oCACA,yBAEA,2wBAWC,iBACA,oBACA,oCACA,wBAKD,wGACC,4CAGD,wEACC,sDAIF,qDACC,WAGD,2KAGC,WACA,oBACA,gCACA,YAEA,wQACC,2BACA,eAIA,qfACC,yBAKF,4SACC,WACA,YAGD,0LACC,qBAKA,kcACC,uBACA,YAIF,yYAGC,kBACA,gBACA,gBAIA,uBACA,oBACA,qBACA,4BAGD,wNACC,6BAGD,6LACC,aACA,qBACA,mBACA,kBAEA,wNACC,YACA,gBACA,WAIF,qNACC,cACA,eAEA,4PACC,aAIF,gMACC,YACA,WACA,WAEA,4MACC,cAIF,+MACC,aACA,yBAEA,gPACC,WAGD,wQACC,kBACA,aACA,mBACA,8CAEA,ySACC,WACA,YACA,WACA,eAEA,o7BAGC,WACA,8CAKH,6OACC,aACA,mBACA,mBACA,qCAEA,6RACC,WACA,iBAMH,kQACC,eACA,WAKH,uEACC,aACA,mBACA,uBACA,sBAGD,2DACC,WACA,iBAKH,UACI,+CAGJ,2BACE,GACE,YAGJ,mCACE,GACE","file":"settings.css"}
\ No newline at end of file diff --git a/apps/settings/css/settings.scss b/apps/settings/css/settings.scss index 63aceca3f0a..c44242513dd 100644 --- a/apps/settings/css/settings.scss +++ b/apps/settings/css/settings.scss @@ -1386,7 +1386,8 @@ doesnotexist:-o-prefocus, .strengthify-wrapper { // Scroll if too much groups &:not(.row--editable) { .groups, - .subadmins { + .subadmins, + .subAdminsGroups { overflow: auto; max-height: 100%; } @@ -1394,7 +1395,8 @@ doesnotexist:-o-prefocus, .strengthify-wrapper { .managers, .groups, - .subadmins, + .subadmins, + .subAdminsGroups, .quota { min-width: $grid-col-min-width; diff --git a/apps/settings/l10n/ar.js b/apps/settings/l10n/ar.js index 91d822a073f..26767b9c4e4 100644 --- a/apps/settings/l10n/ar.js +++ b/apps/settings/l10n/ar.js @@ -58,6 +58,7 @@ OC.L10N.register( "Overview" : "نظرة شاملة", "Basic settings" : "الإعدادات الأساسية", "Sharing" : "مشاركة", + "Availability" : "أوقات التواجد availability", "Calendar" : "التقويم", "Personal info" : "المعلومات الشخصية", "Mobile & desktop" : "الجوال وسطح المكتب", @@ -142,20 +143,22 @@ OC.L10N.register( "No email address set" : "لم يتم تعيين بريد الكتروني", "Language" : "اللغة", "Help translate" : "ساعد في الترجمة", + "Your city" : "مدينتك", "Your phone number" : "رقم هاتفك", "Add" : "إضافة", - "Delete user" : "احذف المستخدم", - "Welcome mail sent!" : "تم إرسال بريد الترحيب!", - "Edit User" : "تعديل المستخدم", - "New user" : "مستخدم جديد", "Display name" : "الاسم المعروض", "Email" : "البريد الإلكترونى", - "Default language" : "اللغة الافتراضية", - "Add a new user" : "إضافة مستخدِم جديد", "Group admin for" : "فريق المُدراء لـ", "Quota" : "حصه", "Storage location" : "مسار التخزين", "Last login" : "آخِر تسجيل للدخول", + "Default language" : "اللغة الافتراضية", + "New user" : "مستخدم جديد", + "Password (required)" : "كلمة المرور (مطلوبة)", + "Delete user" : "احذف المستخدم", + "Account deletion" : "حذف حساب", + "Welcome mail sent!" : "تم إرسال بريد الترحيب!", + "Edit User" : "تعديل المستخدم", "Name your device" : "اسم جهازك", "Your browser does not support WebAuthn." : "متصفحك لا يدعم WebAuthn.", "Your apps" : "تطبيقاتك", @@ -165,7 +168,6 @@ OC.L10N.register( "Admins" : "المدراء", "Disabled users" : "المستخدمون المُعطَّلون", "Default quota:" : "الحصة الافتراضية:", - "Show Languages" : "اعرض اللغات", "Show user backend" : "عرض مستخدم لوحة التحكم الرئيسية", "Not saved" : "لم يتم حفظه", "Sending…" : "جارٍ الإرسال …", @@ -182,20 +184,21 @@ OC.L10N.register( "Disabled apps" : "التطبيقات المعطلة", "Updates" : "التحديثات", "App bundles" : "حُزَم التطبيقات", + "Featured apps" : "تطبيقات مُميّزة", "Hide" : "إخفاء", "Never" : "أبدا", "There were too many requests from your network. Retry later or contact your administrator if this is an error." : "يوجد طلبات أقصى من الحد المسموح به في الشبكة. أعد المحاولة أو اتصل بمسؤول النظام.", "Documentation" : "الدليل", "Forum" : "منتدى", "Login" : "تسجيل الدخول", - "SSL/TLS" : "SSL/TLS", + "SSL" : "SSL", "Open documentation" : "فتح الدليل", "Send mode" : "وضعية الإرسال", "Encryption" : "التشفير", "From address" : "عنوان الإرسال", "Server address" : "عنوان الخادم", "Port" : "المنفذ", - "Authentication method" : "أسلوب التطابق", + "Authentication" : "المصادقة", "Authentication required" : "المصادقة مطلوبة", "Credentials" : "معلومات تسجيل الدخول", "SMTP Username" : "إسم مستخدم الـ SMTP", @@ -221,9 +224,12 @@ OC.L10N.register( "Check out our blog" : "إلقي نظرة على مدوّنتنا", "This community release of Nextcloud is unsupported and instant notifications are unavailable." : "إصدار المجتمع هذا من Nextcloud غير مدعوم والإشعارات الفورية غير متاحة.", "png or jpg, max. 20 MB" : "صيغة png أو jpg و حجم أقصاه 20 م.ب", + "Add a new user" : "إضافة مستخدِم جديد", + "Show Languages" : "اعرض اللغات", "Plain" : "سادة", "NT LAN Manager" : "مدير الشبكة المحلية LAN NT", + "SSL/TLS" : "SSL/TLS", "STARTTLS" : "STARTTLS", - "Avatar" : "الصورة الرمزية" + "Authentication method" : "أسلوب التطابق" }, "nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;"); diff --git a/apps/settings/l10n/ar.json b/apps/settings/l10n/ar.json index e855cff461b..9019d88c1bb 100644 --- a/apps/settings/l10n/ar.json +++ b/apps/settings/l10n/ar.json @@ -56,6 +56,7 @@ "Overview" : "نظرة شاملة", "Basic settings" : "الإعدادات الأساسية", "Sharing" : "مشاركة", + "Availability" : "أوقات التواجد availability", "Calendar" : "التقويم", "Personal info" : "المعلومات الشخصية", "Mobile & desktop" : "الجوال وسطح المكتب", @@ -140,20 +141,22 @@ "No email address set" : "لم يتم تعيين بريد الكتروني", "Language" : "اللغة", "Help translate" : "ساعد في الترجمة", + "Your city" : "مدينتك", "Your phone number" : "رقم هاتفك", "Add" : "إضافة", - "Delete user" : "احذف المستخدم", - "Welcome mail sent!" : "تم إرسال بريد الترحيب!", - "Edit User" : "تعديل المستخدم", - "New user" : "مستخدم جديد", "Display name" : "الاسم المعروض", "Email" : "البريد الإلكترونى", - "Default language" : "اللغة الافتراضية", - "Add a new user" : "إضافة مستخدِم جديد", "Group admin for" : "فريق المُدراء لـ", "Quota" : "حصه", "Storage location" : "مسار التخزين", "Last login" : "آخِر تسجيل للدخول", + "Default language" : "اللغة الافتراضية", + "New user" : "مستخدم جديد", + "Password (required)" : "كلمة المرور (مطلوبة)", + "Delete user" : "احذف المستخدم", + "Account deletion" : "حذف حساب", + "Welcome mail sent!" : "تم إرسال بريد الترحيب!", + "Edit User" : "تعديل المستخدم", "Name your device" : "اسم جهازك", "Your browser does not support WebAuthn." : "متصفحك لا يدعم WebAuthn.", "Your apps" : "تطبيقاتك", @@ -163,7 +166,6 @@ "Admins" : "المدراء", "Disabled users" : "المستخدمون المُعطَّلون", "Default quota:" : "الحصة الافتراضية:", - "Show Languages" : "اعرض اللغات", "Show user backend" : "عرض مستخدم لوحة التحكم الرئيسية", "Not saved" : "لم يتم حفظه", "Sending…" : "جارٍ الإرسال …", @@ -180,20 +182,21 @@ "Disabled apps" : "التطبيقات المعطلة", "Updates" : "التحديثات", "App bundles" : "حُزَم التطبيقات", + "Featured apps" : "تطبيقات مُميّزة", "Hide" : "إخفاء", "Never" : "أبدا", "There were too many requests from your network. Retry later or contact your administrator if this is an error." : "يوجد طلبات أقصى من الحد المسموح به في الشبكة. أعد المحاولة أو اتصل بمسؤول النظام.", "Documentation" : "الدليل", "Forum" : "منتدى", "Login" : "تسجيل الدخول", - "SSL/TLS" : "SSL/TLS", + "SSL" : "SSL", "Open documentation" : "فتح الدليل", "Send mode" : "وضعية الإرسال", "Encryption" : "التشفير", "From address" : "عنوان الإرسال", "Server address" : "عنوان الخادم", "Port" : "المنفذ", - "Authentication method" : "أسلوب التطابق", + "Authentication" : "المصادقة", "Authentication required" : "المصادقة مطلوبة", "Credentials" : "معلومات تسجيل الدخول", "SMTP Username" : "إسم مستخدم الـ SMTP", @@ -219,9 +222,12 @@ "Check out our blog" : "إلقي نظرة على مدوّنتنا", "This community release of Nextcloud is unsupported and instant notifications are unavailable." : "إصدار المجتمع هذا من Nextcloud غير مدعوم والإشعارات الفورية غير متاحة.", "png or jpg, max. 20 MB" : "صيغة png أو jpg و حجم أقصاه 20 م.ب", + "Add a new user" : "إضافة مستخدِم جديد", + "Show Languages" : "اعرض اللغات", "Plain" : "سادة", "NT LAN Manager" : "مدير الشبكة المحلية LAN NT", + "SSL/TLS" : "SSL/TLS", "STARTTLS" : "STARTTLS", - "Avatar" : "الصورة الرمزية" + "Authentication method" : "أسلوب التطابق" },"pluralForm" :"nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;" }
\ No newline at end of file diff --git a/apps/settings/l10n/az.js b/apps/settings/l10n/az.js index 8dece16ad44..0cb8e889e28 100644 --- a/apps/settings/l10n/az.js +++ b/apps/settings/l10n/az.js @@ -1,105 +1,197 @@ OC.L10N.register( "settings", { - "Saved" : "Saxlanıldı", - "Email sent" : "Məktub göndərildi", + "Private" : "Gizli", "Local" : "Yerli", + "Federated" : "Federated", + "Published" : "Nəşr edilmiş", + "Verify" : "Təsdiq et", + "Verifying …" : "Təsdiqlənir ...", "Unable to change password" : "Şifrəni dəyişmək olmur", "Very weak password" : "Çox asan şifrə", "Weak password" : "Asan şifrə", "So-so password" : "Elə-belə şifrə", "Good password" : "Yaxşı şifrə", "Strong password" : "Çətin şifrə", - "Select a profile picture" : "Profil üçün şəkli seç", "Groups" : "Qruplar", - "Couldn't remove app." : "Proqram təminatını silmək mümkün olmadı.", - "Couldn't update app." : "Proqram təminatını yeniləmək mümkün deyil.", + "Group list is empty" : "Qrup listi boşdur", + "Your password was reset" : "Sizin parol yeniləndi", + "You changed your email address" : "Siz email ünvanınızı dəyişdir", + "Apps" : "Tətbiqlər", + "Could not remove app." : "Tətbiqi silmək olmur.", + "Could not update app." : "Tətbiqi yeniləmək alınmır", "Wrong password" : "Yalnış şifrə", + "Unable to change personal password" : "Şəxsi parolu dəyişmək alınmadı", + "Saved" : "Saxlanıldı", "No user supplied" : "Heç bir istifadəçiyə mənimsədilmir", + "Unable to change password. Password too long." : "Parolu dəyişmək alınmadı. Parol çox uzundur.", "Authentication error" : "Təyinat metodikası", "Wrong admin recovery password. Please check the password and try again." : "İnzibatçı geriyə qayıdış şifrəsi yalnışdır. Xahiş olunur şifrəni yoxlayıb yenidən təkrar edəsiniz.", "Federated Cloud Sharing" : "Federal Cloud Paylaşım", + "User documentation" : "İstifadəçi dokumentasiyası", + "Invalid SMTP password." : "SMTP parol səhvdir", + "Email setting test" : "Email parametrləriinin testi", "A problem occurred while sending the email. Please revise your settings. (Error: %s)" : "Məktubun yollanmasında səhv baş verdi. Xahiş olunur öz quraşdırmalarınıza yenidən göz yetirəsiniz.(Error: %s)", - "You need to set your user email before being able to send test emails." : "Test məktubu göndərməzdən öncə, siz öz istifadəçi poçtunuzu təyin etməlisiniz.", + "Users" : "İstifadəçilər", + "Invalid user" : "İstifadəçi adı yalnışdır", "Invalid mail address" : "Yalnış mail ünvanı", + "Settings saved" : "Parametrlər yaddaşa verildi", "Unable to change full name" : "Tam adı dəyişmək olmur", "Your %s account was created" : "Sizin %s hesab yaradıldı", + "Set your password" : "Parolunuzu təyin edin", + "Install Client" : "Müştərini Quraşdır", "Settings" : "Quraşdırmalar", "Personal" : "Şəxsi", + "Administration" : "İdarəetmə", + "Additional settings" : "Əlavə parametrlər", + "Overview" : "İcmal", + "Basic settings" : "İlkin parametrlər", "Sharing" : "Paylaşılır", + "Availability" : "Əlçatanlıq", + "Calendar" : "Təqvim", "Personal info" : "Şəxsi məlumat", + "Mobile & desktop" : "Mobil & Desktop", + "Email server" : "Email server", "Security & setup warnings" : "Təhlükəsizlik & işə salma xəbərdarlıqları", + "Background jobs" : "Background işlər", "Create" : "Yarat", + "Change" : "Dəyiş", "Delete" : "Sil", "Unlimited" : "Limitsiz", + "Verifying" : "Təsdiqlənir", + "The old server-side-encryption format is enabled. We recommend disabling this." : "Server tərəfdən köhnə şifrələnmə formatı aktivdir. Onu söndürməyi tövsiyyə edirik.", + "MariaDB version \"%s\" is used. Nextcloud 21 and higher do not support this version and require MariaDB 10.2 or higher." : "MariaDB \"%s\" versiyası istifadə edilir. Nextcloud 21 və yuxarı versiyaları bunu dəstəkləmir və ən azı MariaDB 10.2 və ya yuxarı versiya tələb edir.", + "MySQL version \"%s\" is used. Nextcloud 21 and higher do not support this version and require MySQL 8.0 or MariaDB 10.2 or higher." : "MySQL \"%s\" versiyası istifadə edilir. Nextcloud 21 və yuxarı versiyaları bunu dəstəkləmir və ən azı MySQL 8.0 və ya MariaDB 10.2 və ya yuxarı versiya tələb edir.", + "Profile information" : "Profil məlumatı", + "Nextcloud settings" : "Nextcloud parametrləri", "None" : "Heç bir", + "Unable to modify setting" : "Xassələri yeniləmək olmadı", + "Two-Factor Authentication" : "İki faktorlu autentifikasiya", + "Limit to groups" : "Qruplara limitlə", + "Save changes" : "Dəyişiklikləri yaddaşa ver", "All" : "Hamısı", + "Limit app usage to groups" : "Tətbiqin istifadəsini qruplar üçün limitlə", + "No results" : "Nəticə yoxdur", + "Update to {version}" : "{version} dək yenilə", "Remove" : "Sil", "Disable" : "Dayandır", "This app cannot be installed because the following dependencies are not fulfilled:" : "Bu proqram yüklənə bilməz ona görə ki, göstərilən asılılıqlar yerinə yetirilməyib:", + "View in store" : "Dükanda bax", + "Visit website" : "Sayta keç", + "Report a bug" : "Səhv haqqında bildir", + "Admin documentation" : "İdarəci dokumentasiyası", "Developer documentation" : "Yaradıcı sənədləşməsi", + "Supported" : "Dəstəklənir", + "Featured" : "Seçilmiş", "No apps found for your version" : "Sizin versiya üçün proqram tapılmadı", + "Device settings" : "Cihazın parametrləri", "Rename" : "Adı dəyiş", + "Wipe device" : "Cihazı silin", + "Internet Explorer" : "Internet Explorer", + "Edge" : "Edge", + "Firefox" : "Firefox", + "Google Chrome" : "Google Chrome", + "Safari" : "Safari", + "Google Chrome for Android" : "Android üçün Google Chrome", + "iPhone" : "iPhone", + "iPad" : "iPad", + "{productName} iOS app" : "{productName} iOS tətbiq", + "{productName} Android app" : "{productName} Android tətbiq", + "{productName} Talk for iOS" : "{productName} iOS üçün danış", + "{productName} Talk for Android" : "{productName} Android üçün danış", + "This session" : "Bu sessiya", + "Device" : "Cihaz", + "Last activity" : "Son aktivlik", + "Devices & sessions" : "Cihaz & sessiyalar", + "Confirm wipe" : "Silməni təsdiq edin", + "Error while updating device token name" : "Cihazın tokeninin adını yeniləyən vaxtı səhv baş verdi", + "Error while deleting the token" : "Token silinən vaxtı səhv baş verdi", + "App name" : "Tətbiqin adı", + "Create new app password" : "Yeni tətbiq parolu yaradın", "Username" : "İstifadəçi adı", "Password" : "Şifrə", "Done" : "Edildi", + "Show QR code for mobile apps" : "Mobil tətbiqlər üçün QR kodu göstərin", + "Copied!" : "Kopyalandı!", + "Copy" : "Kopyala", + "Last job ran {relativeTime}." : "Son işin icra vaxtı {relativeTime}.", + "AJAX" : "AJAX", + "Webcron" : "Webcron", + "Cron (Recommended)" : "Cron (Tövsiyyə edilən)", + "Profile" : "Profil", + "Enable" : "İşə sal", + "Rename group" : "Qrupun adını dəyiş", + "Remove group" : "Qrupu sil", + "Current password" : "Hazırkı şifrə", + "New password" : "Yeni şifrə", + "Change password" : "Şifrəni dəyiş", + "Your profile information" : "Sizin profil məlumatlarınız", + "Your profile picture" : "Sizin profil şəkliniz", + "Upload profile picture" : "Profil şəklini yüklə", + "Choose profile picture from Files" : "Profil şəklini Faylalrdan seçin", + "Remove profile picture" : "Profil şəklini silin", + "The file must be a PNG or JPG" : "Fayl PNG və ya JPG olmalıdır", + "Cancel" : "Dayandır", + "Set as profile picture" : "Profil şəkli kimi təyin et", + "Please select a valid png or jpg file" : "Zəhmət olmasa düzgün png və ya jpg fayl seçin", + "Error setting profile picture" : "Profil şəklini təyiin edən vaxtı səhv baş verdi", + "Error saving profile picture" : "Profil şəklini saxlayan vaxtı səhv baş verdi", + "Error removing profile picture" : "Profil şəklini silən vaxtı səhv baş verdi", + "Details" : "Detallar", "Your email address" : "Sizin email ünvanı", "No email address set" : "Email ünvanı dəsti yoxdur", "Language" : "Dil", "Help translate" : "Tərcüməyə kömək", "Add" : "Əlavə etmək", - "Cancel" : "Dayandır", "Email" : "Email", "Quota" : "Norma", - "Updates" : "Yenilənmələr", - "Details" : "Detallar", "Admins" : "İnzibatçılar", "Show user backend" : "Daxili istifadəçini göstər", "Send email to new user" : "Yeni istifadəçiyə məktub yolla", - "Address" : "Ünvan", + "Email sent" : "Məktub göndərildi", + "Location" : "Yerləşdiyiniz ünvan", + "Profile picture" : "Profil şəkli", + "About" : "Haqqında", "Full name" : "Tam ad", - "Enable" : "İşə sal", + "Updates" : "Yenilənmələr", + "Hide" : "Gizlə", "Never" : "Heç vaxt", "Documentation" : "Sənədlər", "Forum" : "Forum", "Login" : "Giriş", - "Plain" : "Adi", - "NT LAN Manager" : "NT LAN Manager", + "SSL" : "SSL", "Open documentation" : "Sənədləri aç", "Send mode" : "Göndərmə rejimi", "Encryption" : "Şifrələnmə", "From address" : "Ünvandan", - "Authentication method" : "Qeydiyyat metodikası", - "Authentication required" : "Qeydiyyat tələb edilir", "Server address" : "Server ünvanı", "Port" : "Port", + "Authentication required" : "Qeydiyyat tələb edilir", "Credentials" : "Səlahiyyətlər", "SMTP Username" : "SMTP İstifadəçi adı", "SMTP Password" : "SMTP Şifrəsi", "Save" : "Saxla", - "Test email settings" : "Email qurmalarını test et", "Send email" : "Email yolla", "Version" : "Versiya", "Allow apps to use the Share API" : "Proqramlara izin verin ki, Paylaşım API-sindən istifadə edə bilsinlər.", "Enforce expiration date" : "Bitmə tarixini həyata keçir", "Allow public uploads" : "Ümumi yüklənmələrə izin vermək", "Enforce password protection" : "Şifrə müdafiəsini həyata keçirmək", + "Set default expiration date" : "Susmaya görə olan bitmə vaxtını təyin edin", "Allow resharing" : "Yenidən paylaşıma izin", "Restrict users to only share with users in their groups" : "İstifadəçiləri yalnız yerləşdikləri qrup üzvləri ilə paylaşım edə bilmələrini məhdudla", "Exclude groups from sharing" : "Qrupları paylaşımdan ayır", "These groups will still be able to receive shares, but not to initiate them." : "Bu qruplar paylaşımları hələdə ala biləcəklər ancaq, yarada bilməyəcəklər", - "Profile picture" : "Profil şəkli", - "Upload new" : "Yenisini yüklə", - "Remove image" : "Şəkili sil", - "Current password" : "Hazırkı şifrə", - "New password" : "Yeni şifrə", - "Change password" : "Şifrəni dəyiş", - "Close" : "Bağla", - "Everyone" : "Hamı", - "mail" : "poçt", - "Expire after " : "Bitir sonra", - "days" : "günlər", - "Allow users to share via link" : "Istifadəçilərə link üzərindən paylaşım etməyə izin vermək", - "No display name set" : "Ekranda adı dəsti yoxdur" + "Check out our blog" : "Bizim bloqa baxın", + "Subscribe to our newsletter" : "Yeniliklərə abunə olun", + "png or jpg, max. 20 MB" : "png vəya jpg, maksimum. 20 MB", + "Your location" : "Sizin məkan", + "Add a new user" : "Yeni istifadəçi əlavə edin", + "Show Languages" : "Dilləri göstərin", + "Plain" : "Adi", + "NT LAN Manager" : "NT LAN Manager", + "SSL/TLS" : "SSL/TLS", + "STARTTLS" : "STARTTLS", + "Authentication method" : "Qeydiyyat metodikası" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/settings/l10n/az.json b/apps/settings/l10n/az.json index 4f99428f4e5..ae6cb69a33b 100644 --- a/apps/settings/l10n/az.json +++ b/apps/settings/l10n/az.json @@ -1,103 +1,195 @@ { "translations": { - "Saved" : "Saxlanıldı", - "Email sent" : "Məktub göndərildi", + "Private" : "Gizli", "Local" : "Yerli", + "Federated" : "Federated", + "Published" : "Nəşr edilmiş", + "Verify" : "Təsdiq et", + "Verifying …" : "Təsdiqlənir ...", "Unable to change password" : "Şifrəni dəyişmək olmur", "Very weak password" : "Çox asan şifrə", "Weak password" : "Asan şifrə", "So-so password" : "Elə-belə şifrə", "Good password" : "Yaxşı şifrə", "Strong password" : "Çətin şifrə", - "Select a profile picture" : "Profil üçün şəkli seç", "Groups" : "Qruplar", - "Couldn't remove app." : "Proqram təminatını silmək mümkün olmadı.", - "Couldn't update app." : "Proqram təminatını yeniləmək mümkün deyil.", + "Group list is empty" : "Qrup listi boşdur", + "Your password was reset" : "Sizin parol yeniləndi", + "You changed your email address" : "Siz email ünvanınızı dəyişdir", + "Apps" : "Tətbiqlər", + "Could not remove app." : "Tətbiqi silmək olmur.", + "Could not update app." : "Tətbiqi yeniləmək alınmır", "Wrong password" : "Yalnış şifrə", + "Unable to change personal password" : "Şəxsi parolu dəyişmək alınmadı", + "Saved" : "Saxlanıldı", "No user supplied" : "Heç bir istifadəçiyə mənimsədilmir", + "Unable to change password. Password too long." : "Parolu dəyişmək alınmadı. Parol çox uzundur.", "Authentication error" : "Təyinat metodikası", "Wrong admin recovery password. Please check the password and try again." : "İnzibatçı geriyə qayıdış şifrəsi yalnışdır. Xahiş olunur şifrəni yoxlayıb yenidən təkrar edəsiniz.", "Federated Cloud Sharing" : "Federal Cloud Paylaşım", + "User documentation" : "İstifadəçi dokumentasiyası", + "Invalid SMTP password." : "SMTP parol səhvdir", + "Email setting test" : "Email parametrləriinin testi", "A problem occurred while sending the email. Please revise your settings. (Error: %s)" : "Məktubun yollanmasında səhv baş verdi. Xahiş olunur öz quraşdırmalarınıza yenidən göz yetirəsiniz.(Error: %s)", - "You need to set your user email before being able to send test emails." : "Test məktubu göndərməzdən öncə, siz öz istifadəçi poçtunuzu təyin etməlisiniz.", + "Users" : "İstifadəçilər", + "Invalid user" : "İstifadəçi adı yalnışdır", "Invalid mail address" : "Yalnış mail ünvanı", + "Settings saved" : "Parametrlər yaddaşa verildi", "Unable to change full name" : "Tam adı dəyişmək olmur", "Your %s account was created" : "Sizin %s hesab yaradıldı", + "Set your password" : "Parolunuzu təyin edin", + "Install Client" : "Müştərini Quraşdır", "Settings" : "Quraşdırmalar", "Personal" : "Şəxsi", + "Administration" : "İdarəetmə", + "Additional settings" : "Əlavə parametrlər", + "Overview" : "İcmal", + "Basic settings" : "İlkin parametrlər", "Sharing" : "Paylaşılır", + "Availability" : "Əlçatanlıq", + "Calendar" : "Təqvim", "Personal info" : "Şəxsi məlumat", + "Mobile & desktop" : "Mobil & Desktop", + "Email server" : "Email server", "Security & setup warnings" : "Təhlükəsizlik & işə salma xəbərdarlıqları", + "Background jobs" : "Background işlər", "Create" : "Yarat", + "Change" : "Dəyiş", "Delete" : "Sil", "Unlimited" : "Limitsiz", + "Verifying" : "Təsdiqlənir", + "The old server-side-encryption format is enabled. We recommend disabling this." : "Server tərəfdən köhnə şifrələnmə formatı aktivdir. Onu söndürməyi tövsiyyə edirik.", + "MariaDB version \"%s\" is used. Nextcloud 21 and higher do not support this version and require MariaDB 10.2 or higher." : "MariaDB \"%s\" versiyası istifadə edilir. Nextcloud 21 və yuxarı versiyaları bunu dəstəkləmir və ən azı MariaDB 10.2 və ya yuxarı versiya tələb edir.", + "MySQL version \"%s\" is used. Nextcloud 21 and higher do not support this version and require MySQL 8.0 or MariaDB 10.2 or higher." : "MySQL \"%s\" versiyası istifadə edilir. Nextcloud 21 və yuxarı versiyaları bunu dəstəkləmir və ən azı MySQL 8.0 və ya MariaDB 10.2 və ya yuxarı versiya tələb edir.", + "Profile information" : "Profil məlumatı", + "Nextcloud settings" : "Nextcloud parametrləri", "None" : "Heç bir", + "Unable to modify setting" : "Xassələri yeniləmək olmadı", + "Two-Factor Authentication" : "İki faktorlu autentifikasiya", + "Limit to groups" : "Qruplara limitlə", + "Save changes" : "Dəyişiklikləri yaddaşa ver", "All" : "Hamısı", + "Limit app usage to groups" : "Tətbiqin istifadəsini qruplar üçün limitlə", + "No results" : "Nəticə yoxdur", + "Update to {version}" : "{version} dək yenilə", "Remove" : "Sil", "Disable" : "Dayandır", "This app cannot be installed because the following dependencies are not fulfilled:" : "Bu proqram yüklənə bilməz ona görə ki, göstərilən asılılıqlar yerinə yetirilməyib:", + "View in store" : "Dükanda bax", + "Visit website" : "Sayta keç", + "Report a bug" : "Səhv haqqında bildir", + "Admin documentation" : "İdarəci dokumentasiyası", "Developer documentation" : "Yaradıcı sənədləşməsi", + "Supported" : "Dəstəklənir", + "Featured" : "Seçilmiş", "No apps found for your version" : "Sizin versiya üçün proqram tapılmadı", + "Device settings" : "Cihazın parametrləri", "Rename" : "Adı dəyiş", + "Wipe device" : "Cihazı silin", + "Internet Explorer" : "Internet Explorer", + "Edge" : "Edge", + "Firefox" : "Firefox", + "Google Chrome" : "Google Chrome", + "Safari" : "Safari", + "Google Chrome for Android" : "Android üçün Google Chrome", + "iPhone" : "iPhone", + "iPad" : "iPad", + "{productName} iOS app" : "{productName} iOS tətbiq", + "{productName} Android app" : "{productName} Android tətbiq", + "{productName} Talk for iOS" : "{productName} iOS üçün danış", + "{productName} Talk for Android" : "{productName} Android üçün danış", + "This session" : "Bu sessiya", + "Device" : "Cihaz", + "Last activity" : "Son aktivlik", + "Devices & sessions" : "Cihaz & sessiyalar", + "Confirm wipe" : "Silməni təsdiq edin", + "Error while updating device token name" : "Cihazın tokeninin adını yeniləyən vaxtı səhv baş verdi", + "Error while deleting the token" : "Token silinən vaxtı səhv baş verdi", + "App name" : "Tətbiqin adı", + "Create new app password" : "Yeni tətbiq parolu yaradın", "Username" : "İstifadəçi adı", "Password" : "Şifrə", "Done" : "Edildi", + "Show QR code for mobile apps" : "Mobil tətbiqlər üçün QR kodu göstərin", + "Copied!" : "Kopyalandı!", + "Copy" : "Kopyala", + "Last job ran {relativeTime}." : "Son işin icra vaxtı {relativeTime}.", + "AJAX" : "AJAX", + "Webcron" : "Webcron", + "Cron (Recommended)" : "Cron (Tövsiyyə edilən)", + "Profile" : "Profil", + "Enable" : "İşə sal", + "Rename group" : "Qrupun adını dəyiş", + "Remove group" : "Qrupu sil", + "Current password" : "Hazırkı şifrə", + "New password" : "Yeni şifrə", + "Change password" : "Şifrəni dəyiş", + "Your profile information" : "Sizin profil məlumatlarınız", + "Your profile picture" : "Sizin profil şəkliniz", + "Upload profile picture" : "Profil şəklini yüklə", + "Choose profile picture from Files" : "Profil şəklini Faylalrdan seçin", + "Remove profile picture" : "Profil şəklini silin", + "The file must be a PNG or JPG" : "Fayl PNG və ya JPG olmalıdır", + "Cancel" : "Dayandır", + "Set as profile picture" : "Profil şəkli kimi təyin et", + "Please select a valid png or jpg file" : "Zəhmət olmasa düzgün png və ya jpg fayl seçin", + "Error setting profile picture" : "Profil şəklini təyiin edən vaxtı səhv baş verdi", + "Error saving profile picture" : "Profil şəklini saxlayan vaxtı səhv baş verdi", + "Error removing profile picture" : "Profil şəklini silən vaxtı səhv baş verdi", + "Details" : "Detallar", "Your email address" : "Sizin email ünvanı", "No email address set" : "Email ünvanı dəsti yoxdur", "Language" : "Dil", "Help translate" : "Tərcüməyə kömək", "Add" : "Əlavə etmək", - "Cancel" : "Dayandır", "Email" : "Email", "Quota" : "Norma", - "Updates" : "Yenilənmələr", - "Details" : "Detallar", "Admins" : "İnzibatçılar", "Show user backend" : "Daxili istifadəçini göstər", "Send email to new user" : "Yeni istifadəçiyə məktub yolla", - "Address" : "Ünvan", + "Email sent" : "Məktub göndərildi", + "Location" : "Yerləşdiyiniz ünvan", + "Profile picture" : "Profil şəkli", + "About" : "Haqqında", "Full name" : "Tam ad", - "Enable" : "İşə sal", + "Updates" : "Yenilənmələr", + "Hide" : "Gizlə", "Never" : "Heç vaxt", "Documentation" : "Sənədlər", "Forum" : "Forum", "Login" : "Giriş", - "Plain" : "Adi", - "NT LAN Manager" : "NT LAN Manager", + "SSL" : "SSL", "Open documentation" : "Sənədləri aç", "Send mode" : "Göndərmə rejimi", "Encryption" : "Şifrələnmə", "From address" : "Ünvandan", - "Authentication method" : "Qeydiyyat metodikası", - "Authentication required" : "Qeydiyyat tələb edilir", "Server address" : "Server ünvanı", "Port" : "Port", + "Authentication required" : "Qeydiyyat tələb edilir", "Credentials" : "Səlahiyyətlər", "SMTP Username" : "SMTP İstifadəçi adı", "SMTP Password" : "SMTP Şifrəsi", "Save" : "Saxla", - "Test email settings" : "Email qurmalarını test et", "Send email" : "Email yolla", "Version" : "Versiya", "Allow apps to use the Share API" : "Proqramlara izin verin ki, Paylaşım API-sindən istifadə edə bilsinlər.", "Enforce expiration date" : "Bitmə tarixini həyata keçir", "Allow public uploads" : "Ümumi yüklənmələrə izin vermək", "Enforce password protection" : "Şifrə müdafiəsini həyata keçirmək", + "Set default expiration date" : "Susmaya görə olan bitmə vaxtını təyin edin", "Allow resharing" : "Yenidən paylaşıma izin", "Restrict users to only share with users in their groups" : "İstifadəçiləri yalnız yerləşdikləri qrup üzvləri ilə paylaşım edə bilmələrini məhdudla", "Exclude groups from sharing" : "Qrupları paylaşımdan ayır", "These groups will still be able to receive shares, but not to initiate them." : "Bu qruplar paylaşımları hələdə ala biləcəklər ancaq, yarada bilməyəcəklər", - "Profile picture" : "Profil şəkli", - "Upload new" : "Yenisini yüklə", - "Remove image" : "Şəkili sil", - "Current password" : "Hazırkı şifrə", - "New password" : "Yeni şifrə", - "Change password" : "Şifrəni dəyiş", - "Close" : "Bağla", - "Everyone" : "Hamı", - "mail" : "poçt", - "Expire after " : "Bitir sonra", - "days" : "günlər", - "Allow users to share via link" : "Istifadəçilərə link üzərindən paylaşım etməyə izin vermək", - "No display name set" : "Ekranda adı dəsti yoxdur" + "Check out our blog" : "Bizim bloqa baxın", + "Subscribe to our newsletter" : "Yeniliklərə abunə olun", + "png or jpg, max. 20 MB" : "png vəya jpg, maksimum. 20 MB", + "Your location" : "Sizin məkan", + "Add a new user" : "Yeni istifadəçi əlavə edin", + "Show Languages" : "Dilləri göstərin", + "Plain" : "Adi", + "NT LAN Manager" : "NT LAN Manager", + "SSL/TLS" : "SSL/TLS", + "STARTTLS" : "STARTTLS", + "Authentication method" : "Qeydiyyat metodikası" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/settings/l10n/bg.js b/apps/settings/l10n/bg.js index fce52cf2a58..7bc73e18051 100644 --- a/apps/settings/l10n/bg.js +++ b/apps/settings/l10n/bg.js @@ -316,7 +316,6 @@ OC.L10N.register( "Week starts on {firstDayOfWeek}" : "Седмицата започва на {firstDayOfWeek}", "Unable to update locale" : "Не може да се актуализира езиково-географската променлива", "No locale set" : "Не е зададена езиково-географска променлива", - "Your location" : "Вашето местоположение", "Your organisation" : "Вашата организация", "Your phone number" : "Вашият тел. номер", "Edit your Profile visibility" : "Редактиране на видимостта на вашия профил", @@ -334,6 +333,20 @@ OC.L10N.register( "Unable to update federation scope of additional {property}" : "Не може да се актуализира обхватът на обединяване на допълнителното {property}", "Add additional email" : "Добавяне на допълнителен имейл", "Add" : "Добави", + "Display name" : "Вписване като", + "Email" : "Имейл", + "Group admin for" : "Групов администратор за", + "Quota" : "Квота", + "User backend" : "Потребителски сървър", + "Storage location" : "Дисково пространство", + "Last login" : "Последно вписване", + "No users in here" : "Тук няма потребители", + "Default quota" : "Стандартна квота", + "Default language" : "Стандартен език", + "Common languages" : "Познати езици", + "Other languages" : "Други езици", + "Password change is disabled because the master key is disabled" : "Промяната на паролата е деактивирана, защото главният ключ е деактивиран", + "New user" : "Нов потребител", "You do not have permissions to see the details of this user" : "Нямате права да виждате подробности за този потребител", "Add new password" : "Въведете новата парола", "Add new email address" : "Смени адреса на елетронната поща", @@ -355,22 +368,6 @@ OC.L10N.register( "Welcome mail sent!" : "Изпратена е поща за добре дошли!", "Edit User" : "Редактиране на потребител", "{size} used" : "{size} използвани", - "New user" : "Нов потребител", - "Will be autogenerated" : "Ще се генерира автоматично", - "Display name" : "Вписване като", - "Email" : "Имейл", - "Default language" : "Стандартен език", - "Add a new user" : "Добавяне на новия потребител", - "Group admin for" : "Групов администратор за", - "Quota" : "Квота", - "User backend" : "Потребителски сървър", - "Storage location" : "Дисково пространство", - "Last login" : "Последно вписване", - "No users in here" : "Тук няма потребители", - "Default quota" : "Стандартна квота", - "Common languages" : "Познати езици", - "Other languages" : "Други езици", - "Password change is disabled because the master key is disabled" : "Промяната на паролата е деактивирана, защото главният ключ е деактивиран", "Passwordless authentication requires a secure connection." : "Удостоверяване без парола изисква сигурна връзка.", "Add WebAuthn device" : "Добавяне на WebAuthn устройство", "Please authorize your WebAuthn device." : "Моля, да упълномощите вашето WebAuthn устройство.", @@ -395,7 +392,6 @@ OC.L10N.register( "Disabled users" : "Деактивирани потребители", "Default quota:" : "Стандартна квота:", "Select default quota" : "Изберете стандартна квота", - "Show Languages" : "Показвай ползвания език", "Show last login" : "Показвай последното вписване", "Show user backend" : "Показване на потребителския сървър", "Show storage path" : "Показване на пътя за хранилище", @@ -439,7 +435,7 @@ OC.L10N.register( "Documentation" : "Документация", "Forum" : "Форум", "Login" : "Вписване", - "SSL/TLS" : "SSL/TLS", + "SSL" : "SSL", "Open documentation" : "Отвори документацията", "It is important to set up this server to be able to send emails, like for password reset and notifications." : "След като настроите сървъра Nextcloud ще може да изпраща имейли за възстановяване на забравени пароли и известия.", "Send mode" : "Режим на изпращане", @@ -448,8 +444,7 @@ OC.L10N.register( "From address" : "От адрес", "Server address" : "Адрес на сървъра", "Port" : "Порт", - "Authentication method" : "Метод за удостоверяване", - "Only applies when authentication is required" : "Прилага се само когато е необходимо удостоверяване", + "Authentication" : "Удостоверяване", "Authentication required" : "Нужно е удостоверяване", "Credentials" : "Потребител и парола", "SMTP Username" : "SMTP потребител", @@ -505,11 +500,16 @@ OC.L10N.register( "An administrator created app password \"{token}\"" : "Администратор създаде парола за приложение „{token}“", "Choose profile picture from files" : "Избор на профилна снимка от файлове", "png or jpg, max. 20 MB" : "png или jpg, макс. 20 MB", + "Your location" : "Вашето местоположение", + "Will be autogenerated" : "Ще се генерира автоматично", + "Add a new user" : "Добавяне на новия потребител", + "Show Languages" : "Показвай ползвания език", "Plain" : "Обикновен", "NT LAN Manager" : "NT LAN Manager", + "SSL/TLS" : "SSL/TLS", "STARTTLS" : "STARTTLS", + "Authentication method" : "Метод за удостоверяване", "Allow username autocompletion in share dialog" : "Разрешаване на автоматично довършване на име на потребител в диалоговия прозорец за споделяне", - "Allow username autocompletion to users within the same groups" : "Разрешаване на автоматично довършване на име на потребител на потребители в същите групи", - "Avatar" : "Аватар" + "Allow username autocompletion to users within the same groups" : "Разрешаване на автоматично довършване на име на потребител на потребители в същите групи" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/settings/l10n/bg.json b/apps/settings/l10n/bg.json index 88d7b3355e8..9cd8ec6a3c0 100644 --- a/apps/settings/l10n/bg.json +++ b/apps/settings/l10n/bg.json @@ -314,7 +314,6 @@ "Week starts on {firstDayOfWeek}" : "Седмицата започва на {firstDayOfWeek}", "Unable to update locale" : "Не може да се актуализира езиково-географската променлива", "No locale set" : "Не е зададена езиково-географска променлива", - "Your location" : "Вашето местоположение", "Your organisation" : "Вашата организация", "Your phone number" : "Вашият тел. номер", "Edit your Profile visibility" : "Редактиране на видимостта на вашия профил", @@ -332,6 +331,20 @@ "Unable to update federation scope of additional {property}" : "Не може да се актуализира обхватът на обединяване на допълнителното {property}", "Add additional email" : "Добавяне на допълнителен имейл", "Add" : "Добави", + "Display name" : "Вписване като", + "Email" : "Имейл", + "Group admin for" : "Групов администратор за", + "Quota" : "Квота", + "User backend" : "Потребителски сървър", + "Storage location" : "Дисково пространство", + "Last login" : "Последно вписване", + "No users in here" : "Тук няма потребители", + "Default quota" : "Стандартна квота", + "Default language" : "Стандартен език", + "Common languages" : "Познати езици", + "Other languages" : "Други езици", + "Password change is disabled because the master key is disabled" : "Промяната на паролата е деактивирана, защото главният ключ е деактивиран", + "New user" : "Нов потребител", "You do not have permissions to see the details of this user" : "Нямате права да виждате подробности за този потребител", "Add new password" : "Въведете новата парола", "Add new email address" : "Смени адреса на елетронната поща", @@ -353,22 +366,6 @@ "Welcome mail sent!" : "Изпратена е поща за добре дошли!", "Edit User" : "Редактиране на потребител", "{size} used" : "{size} използвани", - "New user" : "Нов потребител", - "Will be autogenerated" : "Ще се генерира автоматично", - "Display name" : "Вписване като", - "Email" : "Имейл", - "Default language" : "Стандартен език", - "Add a new user" : "Добавяне на новия потребител", - "Group admin for" : "Групов администратор за", - "Quota" : "Квота", - "User backend" : "Потребителски сървър", - "Storage location" : "Дисково пространство", - "Last login" : "Последно вписване", - "No users in here" : "Тук няма потребители", - "Default quota" : "Стандартна квота", - "Common languages" : "Познати езици", - "Other languages" : "Други езици", - "Password change is disabled because the master key is disabled" : "Промяната на паролата е деактивирана, защото главният ключ е деактивиран", "Passwordless authentication requires a secure connection." : "Удостоверяване без парола изисква сигурна връзка.", "Add WebAuthn device" : "Добавяне на WebAuthn устройство", "Please authorize your WebAuthn device." : "Моля, да упълномощите вашето WebAuthn устройство.", @@ -393,7 +390,6 @@ "Disabled users" : "Деактивирани потребители", "Default quota:" : "Стандартна квота:", "Select default quota" : "Изберете стандартна квота", - "Show Languages" : "Показвай ползвания език", "Show last login" : "Показвай последното вписване", "Show user backend" : "Показване на потребителския сървър", "Show storage path" : "Показване на пътя за хранилище", @@ -437,7 +433,7 @@ "Documentation" : "Документация", "Forum" : "Форум", "Login" : "Вписване", - "SSL/TLS" : "SSL/TLS", + "SSL" : "SSL", "Open documentation" : "Отвори документацията", "It is important to set up this server to be able to send emails, like for password reset and notifications." : "След като настроите сървъра Nextcloud ще може да изпраща имейли за възстановяване на забравени пароли и известия.", "Send mode" : "Режим на изпращане", @@ -446,8 +442,7 @@ "From address" : "От адрес", "Server address" : "Адрес на сървъра", "Port" : "Порт", - "Authentication method" : "Метод за удостоверяване", - "Only applies when authentication is required" : "Прилага се само когато е необходимо удостоверяване", + "Authentication" : "Удостоверяване", "Authentication required" : "Нужно е удостоверяване", "Credentials" : "Потребител и парола", "SMTP Username" : "SMTP потребител", @@ -503,11 +498,16 @@ "An administrator created app password \"{token}\"" : "Администратор създаде парола за приложение „{token}“", "Choose profile picture from files" : "Избор на профилна снимка от файлове", "png or jpg, max. 20 MB" : "png или jpg, макс. 20 MB", + "Your location" : "Вашето местоположение", + "Will be autogenerated" : "Ще се генерира автоматично", + "Add a new user" : "Добавяне на новия потребител", + "Show Languages" : "Показвай ползвания език", "Plain" : "Обикновен", "NT LAN Manager" : "NT LAN Manager", + "SSL/TLS" : "SSL/TLS", "STARTTLS" : "STARTTLS", + "Authentication method" : "Метод за удостоверяване", "Allow username autocompletion in share dialog" : "Разрешаване на автоматично довършване на име на потребител в диалоговия прозорец за споделяне", - "Allow username autocompletion to users within the same groups" : "Разрешаване на автоматично довършване на име на потребител на потребители в същите групи", - "Avatar" : "Аватар" + "Allow username autocompletion to users within the same groups" : "Разрешаване на автоматично довършване на име на потребител на потребители в същите групи" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/settings/l10n/br.js b/apps/settings/l10n/br.js index 989db47fd25..57f174cfb97 100644 --- a/apps/settings/l10n/br.js +++ b/apps/settings/l10n/br.js @@ -216,6 +216,19 @@ OC.L10N.register( "Locale" : "Diabarzh", "Your phone number" : "O niverenn pelgomzer", "Add" : "Ouzhpennañ", + "Display name" : "Anv ardivink", + "Email" : "Postel", + "Group admin for" : "Strollad merour evit", + "Quota" : "Quota", + "User backend" : "Backen implijer", + "Storage location" : "Lec'h berniañ", + "Last login" : "Mont-tre divezhañ", + "No users in here" : "Implijour ebet amañ", + "Default quota" : "Quota dre ziouer", + "Default language" : "Yezh dre ziouer", + "Common languages" : "Yezh boutiñ", + "Password change is disabled because the master key is disabled" : "N'eo ket aotreet cheñch ger-tremen peogwir n'eo ket aotreet an alc'hwez meur", + "New user" : "Implijer nevez", "You do not have permissions to see the details of this user" : "N'oc'h ket aotreet da gwellet munudoù an implijer", "Add new password" : "Ouzhpennañ ur ger-tremen", "Add new email address" : "Ouzhpennañ ur chom-lec'h postel nevez", @@ -236,21 +249,6 @@ OC.L10N.register( "Welcome mail sent!" : "Postel degemer kaset !", "Edit User" : "Embann implijer", "{size} used" : "{size} implijet", - "New user" : "Implijer nevez", - "Will be autogenerated" : "A vo krouet en un doare otomatek", - "Display name" : "Anv ardivink", - "Email" : "Postel", - "Default language" : "Yezh dre ziouer", - "Add a new user" : "Ouzhpennan un im^lijer", - "Group admin for" : "Strollad merour evit", - "Quota" : "Quota", - "User backend" : "Backen implijer", - "Storage location" : "Lec'h berniañ", - "Last login" : "Mont-tre divezhañ", - "No users in here" : "Implijour ebet amañ", - "Default quota" : "Quota dre ziouer", - "Common languages" : "Yezh boutiñ", - "Password change is disabled because the master key is disabled" : "N'eo ket aotreet cheñch ger-tremen peogwir n'eo ket aotreet an alc'hwez meur", "Passwordless authentication requires a secure connection." : "Ret eo kaout ur c'henstagadur sur evit un dilesa di-ger-tremen.", "Add WebAuthn device" : "Ouzhpenn ardivink WebAuthn", "Please authorize your WebAuthn device." : "Aotreit o ardivink WebAuthn.", @@ -273,7 +271,6 @@ OC.L10N.register( "Disabled users" : "Disaotreañ implijer", "Default quota:" : "Quota dre ziouer :", "Select default quota" : "Choaz ar c'hota dre ziouer", - "Show Languages" : "Diskouez Yezhoù", "Show last login" : "Diskouez ar c'hennask diwezhañ", "Show user backend" : "Diskouez backend an implijer", "Show storage path" : "Diskouez an hent klenkañ", @@ -304,7 +301,6 @@ OC.L10N.register( "Documentation" : "Diellvadur", "Forum" : "Forum", "Login" : "Anv arveriad", - "SSL/TLS" : "SSL/TLS", "Open documentation" : "Digeriñ an dielvadur", "It is important to set up this server to be able to send emails, like for password reset and notifications." : "Pouezus eo stummañ ar servijour avit ma c'helfe kas posteloù, evit kemenadennoù pe posteloù evit cheñch ar ger-tremen.", "Send mode" : "Mod kas", @@ -313,7 +309,6 @@ OC.L10N.register( "From address" : "Eus chom-lec'h", "Server address" : "Chom-lec'h ar servijour", "Port" : "Porzh", - "Authentication method" : "Doare dilesa", "Authentication required" : "Eus un dilesa ez eus ezhomp", "Credentials" : "Kretaatoù", "SMTP Username" : "Anv implijer SMTP", @@ -352,9 +347,13 @@ OC.L10N.register( "Use a second factor besides your password to increase security for your account." : "Implijour un eil-elfenn d'ho ger-tremen a gwella urentez o c'hont.", "You created app password \"{token}\"" : "Ar ger-tremen meziant \"{token}\" o peus krouet", "png or jpg, max. 20 MB" : "png pe jpg, 20 MB d'ar muiañ", + "Will be autogenerated" : "A vo krouet en un doare otomatek", + "Add a new user" : "Ouzhpennan un im^lijer", + "Show Languages" : "Diskouez Yezhoù", "Plain" : "Sklaer", "NT LAN Manager" : "NT LAN Manager", + "SSL/TLS" : "SSL/TLS", "STARTTLS" : "STARTTLS", - "Avatar" : "Avatar" + "Authentication method" : "Doare dilesa" }, "nplurals=5; plural=((n%10 == 1) && (n%100 != 11) && (n%100 !=71) && (n%100 !=91) ? 0 :(n%10 == 2) && (n%100 != 12) && (n%100 !=72) && (n%100 !=92) ? 1 :(n%10 ==3 || n%10==4 || n%10==9) && (n%100 < 10 || n% 100 > 19) && (n%100 < 70 || n%100 > 79) && (n%100 < 90 || n%100 > 99) ? 2 :(n != 0 && n % 1000000 == 0) ? 3 : 4);"); diff --git a/apps/settings/l10n/br.json b/apps/settings/l10n/br.json index 204f73fbf23..94ea677ac6a 100644 --- a/apps/settings/l10n/br.json +++ b/apps/settings/l10n/br.json @@ -214,6 +214,19 @@ "Locale" : "Diabarzh", "Your phone number" : "O niverenn pelgomzer", "Add" : "Ouzhpennañ", + "Display name" : "Anv ardivink", + "Email" : "Postel", + "Group admin for" : "Strollad merour evit", + "Quota" : "Quota", + "User backend" : "Backen implijer", + "Storage location" : "Lec'h berniañ", + "Last login" : "Mont-tre divezhañ", + "No users in here" : "Implijour ebet amañ", + "Default quota" : "Quota dre ziouer", + "Default language" : "Yezh dre ziouer", + "Common languages" : "Yezh boutiñ", + "Password change is disabled because the master key is disabled" : "N'eo ket aotreet cheñch ger-tremen peogwir n'eo ket aotreet an alc'hwez meur", + "New user" : "Implijer nevez", "You do not have permissions to see the details of this user" : "N'oc'h ket aotreet da gwellet munudoù an implijer", "Add new password" : "Ouzhpennañ ur ger-tremen", "Add new email address" : "Ouzhpennañ ur chom-lec'h postel nevez", @@ -234,21 +247,6 @@ "Welcome mail sent!" : "Postel degemer kaset !", "Edit User" : "Embann implijer", "{size} used" : "{size} implijet", - "New user" : "Implijer nevez", - "Will be autogenerated" : "A vo krouet en un doare otomatek", - "Display name" : "Anv ardivink", - "Email" : "Postel", - "Default language" : "Yezh dre ziouer", - "Add a new user" : "Ouzhpennan un im^lijer", - "Group admin for" : "Strollad merour evit", - "Quota" : "Quota", - "User backend" : "Backen implijer", - "Storage location" : "Lec'h berniañ", - "Last login" : "Mont-tre divezhañ", - "No users in here" : "Implijour ebet amañ", - "Default quota" : "Quota dre ziouer", - "Common languages" : "Yezh boutiñ", - "Password change is disabled because the master key is disabled" : "N'eo ket aotreet cheñch ger-tremen peogwir n'eo ket aotreet an alc'hwez meur", "Passwordless authentication requires a secure connection." : "Ret eo kaout ur c'henstagadur sur evit un dilesa di-ger-tremen.", "Add WebAuthn device" : "Ouzhpenn ardivink WebAuthn", "Please authorize your WebAuthn device." : "Aotreit o ardivink WebAuthn.", @@ -271,7 +269,6 @@ "Disabled users" : "Disaotreañ implijer", "Default quota:" : "Quota dre ziouer :", "Select default quota" : "Choaz ar c'hota dre ziouer", - "Show Languages" : "Diskouez Yezhoù", "Show last login" : "Diskouez ar c'hennask diwezhañ", "Show user backend" : "Diskouez backend an implijer", "Show storage path" : "Diskouez an hent klenkañ", @@ -302,7 +299,6 @@ "Documentation" : "Diellvadur", "Forum" : "Forum", "Login" : "Anv arveriad", - "SSL/TLS" : "SSL/TLS", "Open documentation" : "Digeriñ an dielvadur", "It is important to set up this server to be able to send emails, like for password reset and notifications." : "Pouezus eo stummañ ar servijour avit ma c'helfe kas posteloù, evit kemenadennoù pe posteloù evit cheñch ar ger-tremen.", "Send mode" : "Mod kas", @@ -311,7 +307,6 @@ "From address" : "Eus chom-lec'h", "Server address" : "Chom-lec'h ar servijour", "Port" : "Porzh", - "Authentication method" : "Doare dilesa", "Authentication required" : "Eus un dilesa ez eus ezhomp", "Credentials" : "Kretaatoù", "SMTP Username" : "Anv implijer SMTP", @@ -350,9 +345,13 @@ "Use a second factor besides your password to increase security for your account." : "Implijour un eil-elfenn d'ho ger-tremen a gwella urentez o c'hont.", "You created app password \"{token}\"" : "Ar ger-tremen meziant \"{token}\" o peus krouet", "png or jpg, max. 20 MB" : "png pe jpg, 20 MB d'ar muiañ", + "Will be autogenerated" : "A vo krouet en un doare otomatek", + "Add a new user" : "Ouzhpennan un im^lijer", + "Show Languages" : "Diskouez Yezhoù", "Plain" : "Sklaer", "NT LAN Manager" : "NT LAN Manager", + "SSL/TLS" : "SSL/TLS", "STARTTLS" : "STARTTLS", - "Avatar" : "Avatar" + "Authentication method" : "Doare dilesa" },"pluralForm" :"nplurals=5; plural=((n%10 == 1) && (n%100 != 11) && (n%100 !=71) && (n%100 !=91) ? 0 :(n%10 == 2) && (n%100 != 12) && (n%100 !=72) && (n%100 !=92) ? 1 :(n%10 ==3 || n%10==4 || n%10==9) && (n%100 < 10 || n% 100 > 19) && (n%100 < 70 || n%100 > 79) && (n%100 < 90 || n%100 > 99) ? 2 :(n != 0 && n % 1000000 == 0) ? 3 : 4);" }
\ No newline at end of file diff --git a/apps/settings/l10n/ca.js b/apps/settings/l10n/ca.js index 356a1d98b28..b8b9a15fd2d 100644 --- a/apps/settings/l10n/ca.js +++ b/apps/settings/l10n/ca.js @@ -316,7 +316,6 @@ OC.L10N.register( "Week starts on {firstDayOfWeek}" : "La setmana comença el {firstDayOfWeek}", "Unable to update locale" : "No es pot actualitzar la configuració local", "No locale set" : "No s'ha establert cap configuració local", - "Your location" : "La vostra localització", "Your organisation" : "La vostra organització", "Your phone number" : "El vostre número de telèfon", "Edit your Profile visibility" : "Edició de la visibilitat del vostre perfil", @@ -334,6 +333,20 @@ OC.L10N.register( "Unable to update federation scope of additional {property}" : "No es pot actualitzar l'àmbit de la federació de {property} addicional", "Add additional email" : "Afegeix un correu electrònic addicional", "Add" : "Afegeix", + "Display name" : "Nom per mostrar", + "Email" : "Correu electrònic", + "Group admin for" : "Administrador de grup per", + "Quota" : "Quota", + "User backend" : "Rerefons d'usuari", + "Storage location" : "Ubicació de l'emmagatzematge", + "Last login" : "Darrer inici de sessió", + "No users in here" : "No hi ha usuaris aquí dins", + "Default quota" : "Quota per defecte", + "Default language" : "Llengua per defecte", + "Common languages" : "Llengües freqüents", + "Other languages" : "Altres llengües", + "Password change is disabled because the master key is disabled" : "El canvi de contrasenya està inhabilitat perquè la clau mestra està desactivada", + "New user" : "Nou usuari", "You do not have permissions to see the details of this user" : "No teniu els permisos necessaris per veure els detalls d'aquest usuari", "Add new password" : "Afegeix una nova contrasenya", "Add new email address" : "Afegeix una nova adreça de correu electrònic", @@ -355,22 +368,6 @@ OC.L10N.register( "Welcome mail sent!" : "S'ha enviat el correu electrònic de benvinguda!", "Edit User" : "Edita Usuari", "{size} used" : "{size} en ús", - "New user" : "Nou usuari", - "Will be autogenerated" : "Serà auto-generat", - "Display name" : "Nom per mostrar", - "Email" : "Correu electrònic", - "Default language" : "Llengua per defecte", - "Add a new user" : "Afegeix un nou usuari", - "Group admin for" : "Administrador de grup per", - "Quota" : "Quota", - "User backend" : "Rerefons d'usuari", - "Storage location" : "Ubicació de l'emmagatzematge", - "Last login" : "Darrer inici de sessió", - "No users in here" : "No hi ha usuaris aquí dins", - "Default quota" : "Quota per defecte", - "Common languages" : "Llengües freqüents", - "Other languages" : "Altres llengües", - "Password change is disabled because the master key is disabled" : "El canvi de contrasenya està inhabilitat perquè la clau mestra està desactivada", "Passwordless authentication requires a secure connection." : "L'autenticació sense contrasenya necessita una connexió segura.", "Add WebAuthn device" : "Afegeix un dispositiu WebAuthn", "Please authorize your WebAuthn device." : "Si us plau, autoritzeu el vostre dispositiu WebAuthn.", @@ -395,7 +392,6 @@ OC.L10N.register( "Disabled users" : "Usuaris inhabilitats", "Default quota:" : "Quota per defecte:", "Select default quota" : "Seleccioneu la quota per defecte", - "Show Languages" : "Mostra els idiomes", "Show last login" : "Mostra el darrer inici de sessió", "Show user backend" : "Mostra el rerefons d'usuari", "Show storage path" : "Mostra el camí del magatzem", @@ -439,7 +435,7 @@ OC.L10N.register( "Documentation" : "Documentació", "Forum" : "Fòrum", "Login" : "Inici de sessió", - "SSL/TLS" : "SSL/TLS", + "SSL" : "SSL", "Open documentation" : "Obre la documentació", "It is important to set up this server to be able to send emails, like for password reset and notifications." : "És important configurar aquest servidor per poder enviar correus electrònics, com ara per poder restablir la contrasenya i notificacions.", "Send mode" : "Mode d'enviament", @@ -448,8 +444,7 @@ OC.L10N.register( "From address" : "Des de l'adreça", "Server address" : "Adreça del servidor", "Port" : "Port", - "Authentication method" : "Mètode d'autenticació", - "Only applies when authentication is required" : "Només s'aplica quan es requereix autenticació", + "Authentication" : "Autenticació", "Authentication required" : "Cal autenticació", "Credentials" : "Credencials", "SMTP Username" : "Nom d'usuari SMTP", @@ -505,11 +500,16 @@ OC.L10N.register( "An administrator created app password \"{token}\"" : "Un administrador ha creat la contrasenya de l'aplicació \"{token}\"", "Choose profile picture from files" : "Trieu una imatge de perfil als fitxers", "png or jpg, max. 20 MB" : "png o jpg, màx. 20 MB", + "Your location" : "La vostra localització", + "Will be autogenerated" : "Serà auto-generat", + "Add a new user" : "Afegeix un nou usuari", + "Show Languages" : "Mostra els idiomes", "Plain" : "Net", "NT LAN Manager" : "Gestor NT LAN", + "SSL/TLS" : "SSL/TLS", "STARTTLS" : "STARTTLS", + "Authentication method" : "Mètode d'autenticació", "Allow username autocompletion in share dialog" : "Permet l'emplenament automàtic del nom d'usuari al diàleg de compartir", - "Allow username autocompletion to users within the same groups" : "Permet l'emplenament automàtic del nom d'usuari als usuaris dels mateixos grups", - "Avatar" : "Avatar" + "Allow username autocompletion to users within the same groups" : "Permet l'emplenament automàtic del nom d'usuari als usuaris dels mateixos grups" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/settings/l10n/ca.json b/apps/settings/l10n/ca.json index e7adc45691a..8f76cd9a5b2 100644 --- a/apps/settings/l10n/ca.json +++ b/apps/settings/l10n/ca.json @@ -314,7 +314,6 @@ "Week starts on {firstDayOfWeek}" : "La setmana comença el {firstDayOfWeek}", "Unable to update locale" : "No es pot actualitzar la configuració local", "No locale set" : "No s'ha establert cap configuració local", - "Your location" : "La vostra localització", "Your organisation" : "La vostra organització", "Your phone number" : "El vostre número de telèfon", "Edit your Profile visibility" : "Edició de la visibilitat del vostre perfil", @@ -332,6 +331,20 @@ "Unable to update federation scope of additional {property}" : "No es pot actualitzar l'àmbit de la federació de {property} addicional", "Add additional email" : "Afegeix un correu electrònic addicional", "Add" : "Afegeix", + "Display name" : "Nom per mostrar", + "Email" : "Correu electrònic", + "Group admin for" : "Administrador de grup per", + "Quota" : "Quota", + "User backend" : "Rerefons d'usuari", + "Storage location" : "Ubicació de l'emmagatzematge", + "Last login" : "Darrer inici de sessió", + "No users in here" : "No hi ha usuaris aquí dins", + "Default quota" : "Quota per defecte", + "Default language" : "Llengua per defecte", + "Common languages" : "Llengües freqüents", + "Other languages" : "Altres llengües", + "Password change is disabled because the master key is disabled" : "El canvi de contrasenya està inhabilitat perquè la clau mestra està desactivada", + "New user" : "Nou usuari", "You do not have permissions to see the details of this user" : "No teniu els permisos necessaris per veure els detalls d'aquest usuari", "Add new password" : "Afegeix una nova contrasenya", "Add new email address" : "Afegeix una nova adreça de correu electrònic", @@ -353,22 +366,6 @@ "Welcome mail sent!" : "S'ha enviat el correu electrònic de benvinguda!", "Edit User" : "Edita Usuari", "{size} used" : "{size} en ús", - "New user" : "Nou usuari", - "Will be autogenerated" : "Serà auto-generat", - "Display name" : "Nom per mostrar", - "Email" : "Correu electrònic", - "Default language" : "Llengua per defecte", - "Add a new user" : "Afegeix un nou usuari", - "Group admin for" : "Administrador de grup per", - "Quota" : "Quota", - "User backend" : "Rerefons d'usuari", - "Storage location" : "Ubicació de l'emmagatzematge", - "Last login" : "Darrer inici de sessió", - "No users in here" : "No hi ha usuaris aquí dins", - "Default quota" : "Quota per defecte", - "Common languages" : "Llengües freqüents", - "Other languages" : "Altres llengües", - "Password change is disabled because the master key is disabled" : "El canvi de contrasenya està inhabilitat perquè la clau mestra està desactivada", "Passwordless authentication requires a secure connection." : "L'autenticació sense contrasenya necessita una connexió segura.", "Add WebAuthn device" : "Afegeix un dispositiu WebAuthn", "Please authorize your WebAuthn device." : "Si us plau, autoritzeu el vostre dispositiu WebAuthn.", @@ -393,7 +390,6 @@ "Disabled users" : "Usuaris inhabilitats", "Default quota:" : "Quota per defecte:", "Select default quota" : "Seleccioneu la quota per defecte", - "Show Languages" : "Mostra els idiomes", "Show last login" : "Mostra el darrer inici de sessió", "Show user backend" : "Mostra el rerefons d'usuari", "Show storage path" : "Mostra el camí del magatzem", @@ -437,7 +433,7 @@ "Documentation" : "Documentació", "Forum" : "Fòrum", "Login" : "Inici de sessió", - "SSL/TLS" : "SSL/TLS", + "SSL" : "SSL", "Open documentation" : "Obre la documentació", "It is important to set up this server to be able to send emails, like for password reset and notifications." : "És important configurar aquest servidor per poder enviar correus electrònics, com ara per poder restablir la contrasenya i notificacions.", "Send mode" : "Mode d'enviament", @@ -446,8 +442,7 @@ "From address" : "Des de l'adreça", "Server address" : "Adreça del servidor", "Port" : "Port", - "Authentication method" : "Mètode d'autenticació", - "Only applies when authentication is required" : "Només s'aplica quan es requereix autenticació", + "Authentication" : "Autenticació", "Authentication required" : "Cal autenticació", "Credentials" : "Credencials", "SMTP Username" : "Nom d'usuari SMTP", @@ -503,11 +498,16 @@ "An administrator created app password \"{token}\"" : "Un administrador ha creat la contrasenya de l'aplicació \"{token}\"", "Choose profile picture from files" : "Trieu una imatge de perfil als fitxers", "png or jpg, max. 20 MB" : "png o jpg, màx. 20 MB", + "Your location" : "La vostra localització", + "Will be autogenerated" : "Serà auto-generat", + "Add a new user" : "Afegeix un nou usuari", + "Show Languages" : "Mostra els idiomes", "Plain" : "Net", "NT LAN Manager" : "Gestor NT LAN", + "SSL/TLS" : "SSL/TLS", "STARTTLS" : "STARTTLS", + "Authentication method" : "Mètode d'autenticació", "Allow username autocompletion in share dialog" : "Permet l'emplenament automàtic del nom d'usuari al diàleg de compartir", - "Allow username autocompletion to users within the same groups" : "Permet l'emplenament automàtic del nom d'usuari als usuaris dels mateixos grups", - "Avatar" : "Avatar" + "Allow username autocompletion to users within the same groups" : "Permet l'emplenament automàtic del nom d'usuari als usuaris dels mateixos grups" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/settings/l10n/cs.js b/apps/settings/l10n/cs.js index 545f14c86d1..a90b7ec5373 100644 --- a/apps/settings/l10n/cs.js +++ b/apps/settings/l10n/cs.js @@ -316,7 +316,7 @@ OC.L10N.register( "Week starts on {firstDayOfWeek}" : "Týden začíná {firstDayOfWeek}", "Unable to update locale" : "Nedaří se aktualizovat místní a jazyková nastavení", "No locale set" : "Nenastaveno žádné místní a jazykové nastavení", - "Your location" : "Kde se nacházíte", + "Your city" : "Město ve kterém/poblíž kterého žijete", "Your organisation" : "Vaše organizace", "Your phone number" : "Vaše telefonní číslo", "Edit your Profile visibility" : "Upravit viditelnost profilu", @@ -334,6 +334,35 @@ OC.L10N.register( "Unable to update federation scope of additional {property}" : "Nedaří se aktualizovat rozsah federování dodatečné {property}", "Add additional email" : "Přidat další e-mail", "Add" : "Přidat", + "User's table" : "Tabulka uživatele", + "Display name" : "Zobrazované jméno", + "Email" : "E-mail", + "Group admin for" : "Správce skupiny", + "Quota" : "Kvóta", + "User backend" : "Podpůrná vrstva pro uživatelské účty", + "Storage location" : "Úložiště dat", + "Last login" : "Poslední přihlášení", + "Manager" : "Nástroj pro správu", + "No users in here" : "Nejsou zde žádní uživatelé", + "Default quota" : "Výchozí kvóta", + "Default language" : "Výchozí jazyk", + "Common languages" : "Běžné jazyky", + "Other languages" : "Ostatní jazyky", + "Password change is disabled because the master key is disabled" : "Změna hesla je vypnutá protože je vypnutý hlavní klíč", + "New user" : "Nový uživatel", + "Either password or email is required" : "Je zapotřebí heslo nebo e-mail", + "Password (required)" : "Heslo (vyžadováno)", + "Email (required)" : "E-mail (vyžadováno)", + "Groups (required)" : "Skupiny (vyžadováno)", + "Set user groups" : "Nastavit skupiny uživatele", + "Administered groups" : "Spravované skupiny", + "Set user as admin for …" : "Nastavit uživatele jako správce pro", + "Set user quota" : "Nastavit uživateli kvótu", + "Set default language" : "Nastavit výchozí jazyk", + "Set user manager" : "Nastavit nadřízeného uživatele", + "Add new user" : "Přidat nového uživatele", + "Username will be autogenerated" : "Uživatelské jméno bude vytvořeno automaticky", + "Username (required)" : "Uživatelské jméno (vyžadováno)", "You do not have permissions to see the details of this user" : "Nemáte oprávnění zobrazit si podrobností o tomto uživateli", "Edit display name" : "Upravit zobrazovaný název", "Add new password" : "Přidat nové heslo", @@ -358,25 +387,6 @@ OC.L10N.register( "Welcome mail sent!" : "Uvítací e-mail odeslán!", "Edit User" : "Upravit uživatele", "{size} used" : "{size} použito", - "User's table" : "Tabulka uživatele", - "New user" : "Nový uživatel", - "Will be autogenerated" : "Bude automaticky vytvořeno", - "Display name" : "Zobrazované jméno", - "Email" : "E-mail", - "Default language" : "Výchozí jazyk", - "Select user manager" : "Vyberte nástroj pro správu uživatelů", - "Add a new user" : "Přidat nového uživatele", - "Group admin for" : "Správce skupiny", - "Quota" : "Kvóta", - "User backend" : "Podpůrná vrstva pro uživatelské účty", - "Storage location" : "Úložiště dat", - "Last login" : "Poslední přihlášení", - "Manager" : "Nástroj pro správu", - "No users in here" : "Nejsou zde žádní uživatelé", - "Default quota" : "Výchozí kvóta", - "Common languages" : "Běžné jazyky", - "Other languages" : "Ostatní jazyky", - "Password change is disabled because the master key is disabled" : "Změna hesla je vypnutá protože je vypnutý hlavní klíč", "Passwordless authentication requires a secure connection." : "Ověřování se bez hesla vyžaduje zabezpečené připojení.", "Add WebAuthn device" : "Přidat WebAuthn zařízení", "Please authorize your WebAuthn device." : "Udělte pověření vámi využívanému WebAuthn zařízení.", @@ -401,7 +411,7 @@ OC.L10N.register( "Disabled users" : "Znepřístupnění uživatelé", "Default quota:" : "Výchozí kvóta:", "Select default quota" : "Vybrat výchozí kvótu", - "Show Languages" : "Zobrazit jazyky", + "Show languages" : "Zobrazit jazyky", "Show last login" : "Zobrazit poslední přihlášení", "Show user backend" : "Zobrazit podpůrnou vrstvu pro uživatelské účty", "Show storage path" : "Zobrazit popis umístění úložiště", @@ -445,7 +455,8 @@ OC.L10N.register( "Documentation" : "Dokumentace", "Forum" : "Diskuzní fórum", "Login" : "Přihlásit", - "SSL/TLS" : "SSL/TLS", + "None/STARTTLS" : "Žádné/STARTTLS", + "SSL" : "SSL", "Open documentation" : "Otevřít dokumentaci", "It is important to set up this server to be able to send emails, like for password reset and notifications." : "Je důležité tento server nastavit, aby mohly být odesílány e-maily, jako jsou např. ty pro resetování hesla a s upozorněními.", "Send mode" : "Režim odesílání", @@ -454,8 +465,7 @@ OC.L10N.register( "From address" : "Adresa odesílatele", "Server address" : "Adresa serveru", "Port" : "Port", - "Authentication method" : "Metoda ověření", - "Only applies when authentication is required" : "Použije se pouze v případě, že je vyžadováno ověření", + "Authentication" : "Ověřování se", "Authentication required" : "Vyžadováno ověření se", "Credentials" : "Přihlašovací údaje", "SMTP Username" : "SMTP uživatelské jméno ", @@ -513,12 +523,17 @@ OC.L10N.register( "An administrator created app password \"{token}\"" : "Správce vytvořil heslo pro aplikaci „{token}“", "Choose profile picture from files" : "Zvolit profilový obrázek ze souborů", "png or jpg, max. 20 MB" : "png nebo jpg, nejvýše 20 MB", + "Your location" : "Kde se nacházíte", + "Will be autogenerated" : "Bude automaticky vytvořeno", + "Add a new user" : "Přidat nového uživatele", + "Show Languages" : "Zobrazit jazyky", "Plain" : "V čitelné podobě", "NT LAN Manager" : "Správce NT LAN", + "SSL/TLS" : "SSL/TLS", "STARTTLS" : "STARTTLS", + "Authentication method" : "Metoda ověření", "Allow username autocompletion in share dialog" : "Povolit automatické dokončování uživatelského jména v dialogu pro sdílení", "Allow username autocompletion to users within the same groups" : "Umožnit automatické dokončování uživatelského jména uživatelům v rámci stejných skupin", - "Avatar" : "Profilový obrázek", - "User actions" : "Akce ohledně uživatele" + "Select user manager" : "Vyberte nástroj pro správu uživatelů" }, "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/apps/settings/l10n/cs.json b/apps/settings/l10n/cs.json index c5fcff65b23..0ff8d62d360 100644 --- a/apps/settings/l10n/cs.json +++ b/apps/settings/l10n/cs.json @@ -314,7 +314,7 @@ "Week starts on {firstDayOfWeek}" : "Týden začíná {firstDayOfWeek}", "Unable to update locale" : "Nedaří se aktualizovat místní a jazyková nastavení", "No locale set" : "Nenastaveno žádné místní a jazykové nastavení", - "Your location" : "Kde se nacházíte", + "Your city" : "Město ve kterém/poblíž kterého žijete", "Your organisation" : "Vaše organizace", "Your phone number" : "Vaše telefonní číslo", "Edit your Profile visibility" : "Upravit viditelnost profilu", @@ -332,6 +332,35 @@ "Unable to update federation scope of additional {property}" : "Nedaří se aktualizovat rozsah federování dodatečné {property}", "Add additional email" : "Přidat další e-mail", "Add" : "Přidat", + "User's table" : "Tabulka uživatele", + "Display name" : "Zobrazované jméno", + "Email" : "E-mail", + "Group admin for" : "Správce skupiny", + "Quota" : "Kvóta", + "User backend" : "Podpůrná vrstva pro uživatelské účty", + "Storage location" : "Úložiště dat", + "Last login" : "Poslední přihlášení", + "Manager" : "Nástroj pro správu", + "No users in here" : "Nejsou zde žádní uživatelé", + "Default quota" : "Výchozí kvóta", + "Default language" : "Výchozí jazyk", + "Common languages" : "Běžné jazyky", + "Other languages" : "Ostatní jazyky", + "Password change is disabled because the master key is disabled" : "Změna hesla je vypnutá protože je vypnutý hlavní klíč", + "New user" : "Nový uživatel", + "Either password or email is required" : "Je zapotřebí heslo nebo e-mail", + "Password (required)" : "Heslo (vyžadováno)", + "Email (required)" : "E-mail (vyžadováno)", + "Groups (required)" : "Skupiny (vyžadováno)", + "Set user groups" : "Nastavit skupiny uživatele", + "Administered groups" : "Spravované skupiny", + "Set user as admin for …" : "Nastavit uživatele jako správce pro", + "Set user quota" : "Nastavit uživateli kvótu", + "Set default language" : "Nastavit výchozí jazyk", + "Set user manager" : "Nastavit nadřízeného uživatele", + "Add new user" : "Přidat nového uživatele", + "Username will be autogenerated" : "Uživatelské jméno bude vytvořeno automaticky", + "Username (required)" : "Uživatelské jméno (vyžadováno)", "You do not have permissions to see the details of this user" : "Nemáte oprávnění zobrazit si podrobností o tomto uživateli", "Edit display name" : "Upravit zobrazovaný název", "Add new password" : "Přidat nové heslo", @@ -356,25 +385,6 @@ "Welcome mail sent!" : "Uvítací e-mail odeslán!", "Edit User" : "Upravit uživatele", "{size} used" : "{size} použito", - "User's table" : "Tabulka uživatele", - "New user" : "Nový uživatel", - "Will be autogenerated" : "Bude automaticky vytvořeno", - "Display name" : "Zobrazované jméno", - "Email" : "E-mail", - "Default language" : "Výchozí jazyk", - "Select user manager" : "Vyberte nástroj pro správu uživatelů", - "Add a new user" : "Přidat nového uživatele", - "Group admin for" : "Správce skupiny", - "Quota" : "Kvóta", - "User backend" : "Podpůrná vrstva pro uživatelské účty", - "Storage location" : "Úložiště dat", - "Last login" : "Poslední přihlášení", - "Manager" : "Nástroj pro správu", - "No users in here" : "Nejsou zde žádní uživatelé", - "Default quota" : "Výchozí kvóta", - "Common languages" : "Běžné jazyky", - "Other languages" : "Ostatní jazyky", - "Password change is disabled because the master key is disabled" : "Změna hesla je vypnutá protože je vypnutý hlavní klíč", "Passwordless authentication requires a secure connection." : "Ověřování se bez hesla vyžaduje zabezpečené připojení.", "Add WebAuthn device" : "Přidat WebAuthn zařízení", "Please authorize your WebAuthn device." : "Udělte pověření vámi využívanému WebAuthn zařízení.", @@ -399,7 +409,7 @@ "Disabled users" : "Znepřístupnění uživatelé", "Default quota:" : "Výchozí kvóta:", "Select default quota" : "Vybrat výchozí kvótu", - "Show Languages" : "Zobrazit jazyky", + "Show languages" : "Zobrazit jazyky", "Show last login" : "Zobrazit poslední přihlášení", "Show user backend" : "Zobrazit podpůrnou vrstvu pro uživatelské účty", "Show storage path" : "Zobrazit popis umístění úložiště", @@ -443,7 +453,8 @@ "Documentation" : "Dokumentace", "Forum" : "Diskuzní fórum", "Login" : "Přihlásit", - "SSL/TLS" : "SSL/TLS", + "None/STARTTLS" : "Žádné/STARTTLS", + "SSL" : "SSL", "Open documentation" : "Otevřít dokumentaci", "It is important to set up this server to be able to send emails, like for password reset and notifications." : "Je důležité tento server nastavit, aby mohly být odesílány e-maily, jako jsou např. ty pro resetování hesla a s upozorněními.", "Send mode" : "Režim odesílání", @@ -452,8 +463,7 @@ "From address" : "Adresa odesílatele", "Server address" : "Adresa serveru", "Port" : "Port", - "Authentication method" : "Metoda ověření", - "Only applies when authentication is required" : "Použije se pouze v případě, že je vyžadováno ověření", + "Authentication" : "Ověřování se", "Authentication required" : "Vyžadováno ověření se", "Credentials" : "Přihlašovací údaje", "SMTP Username" : "SMTP uživatelské jméno ", @@ -511,12 +521,17 @@ "An administrator created app password \"{token}\"" : "Správce vytvořil heslo pro aplikaci „{token}“", "Choose profile picture from files" : "Zvolit profilový obrázek ze souborů", "png or jpg, max. 20 MB" : "png nebo jpg, nejvýše 20 MB", + "Your location" : "Kde se nacházíte", + "Will be autogenerated" : "Bude automaticky vytvořeno", + "Add a new user" : "Přidat nového uživatele", + "Show Languages" : "Zobrazit jazyky", "Plain" : "V čitelné podobě", "NT LAN Manager" : "Správce NT LAN", + "SSL/TLS" : "SSL/TLS", "STARTTLS" : "STARTTLS", + "Authentication method" : "Metoda ověření", "Allow username autocompletion in share dialog" : "Povolit automatické dokončování uživatelského jména v dialogu pro sdílení", "Allow username autocompletion to users within the same groups" : "Umožnit automatické dokončování uživatelského jména uživatelům v rámci stejných skupin", - "Avatar" : "Profilový obrázek", - "User actions" : "Akce ohledně uživatele" + "Select user manager" : "Vyberte nástroj pro správu uživatelů" },"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/apps/settings/l10n/da.js b/apps/settings/l10n/da.js index c29702842b7..fde9d76490b 100644 --- a/apps/settings/l10n/da.js +++ b/apps/settings/l10n/da.js @@ -281,6 +281,20 @@ OC.L10N.register( "Your Twitter handle" : "Dit Twitter handle @…", "Your website" : "Vores hjemmeside", "Add" : "Tilføj", + "Display name" : "Vist navn", + "Email" : "E-mail", + "Group admin for" : "Gruppeadministrator for", + "Quota" : "Kvote", + "User backend" : "Bruger-backend", + "Storage location" : "Placering af lageret", + "Last login" : "Seneste login", + "No users in here" : "Ingen brugere her", + "Default quota" : "Standard kvote", + "Default language" : "Standardsprog", + "Common languages" : "Hyppigt brugte sprog", + "Other languages" : "Andre sprog", + "Password change is disabled because the master key is disabled" : "Adgangskodeændring er deaktiveret, fordi hovednøglen er deaktiveret", + "New user" : "Ny bruger", "You do not have permissions to see the details of this user" : "Du har ikke tilladelse til at se denne brugers detaljer", "Add new password" : "Tilføj ny adgangskode", "Add new email address" : "Tilføj ny e-mailadresse", @@ -302,22 +316,6 @@ OC.L10N.register( "Welcome mail sent!" : "Velkomstemail sendt!", "Edit User" : "Rediger bruger", "{size} used" : "{size} brugt", - "New user" : "Ny bruger", - "Will be autogenerated" : "Vil blive autogenereret", - "Display name" : "Vist navn", - "Email" : "E-mail", - "Default language" : "Standardsprog", - "Add a new user" : "Tilføj en bruger", - "Group admin for" : "Gruppeadministrator for", - "Quota" : "Kvote", - "User backend" : "Bruger-backend", - "Storage location" : "Placering af lageret", - "Last login" : "Seneste login", - "No users in here" : "Ingen brugere her", - "Default quota" : "Standard kvote", - "Common languages" : "Hyppigt brugte sprog", - "Other languages" : "Andre sprog", - "Password change is disabled because the master key is disabled" : "Adgangskodeændring er deaktiveret, fordi hovednøglen er deaktiveret", "Passwordless authentication requires a secure connection." : "Adgangskodefri godkendelse kræver en sikker forbindelse.", "Add WebAuthn device" : "Tilføj WebAuthn-enhed", "Please authorize your WebAuthn device." : "Godkend venligst din WebAuthn-enhed.", @@ -342,7 +340,6 @@ OC.L10N.register( "Disabled users" : "Deaktiverede brugere", "Default quota:" : "Standardkvote:", "Select default quota" : "Vælg standardkvote", - "Show Languages" : "Vis sprog", "Show last login" : "Vis seneste login", "Show user backend" : "Vis bruger-backend", "Show storage path" : "Vis lagersti", @@ -383,7 +380,7 @@ OC.L10N.register( "Documentation" : "Dokumentation", "Forum" : "Forum", "Login" : "Login", - "SSL/TLS" : "SSL/TLS", + "SSL" : "SSL", "Open documentation" : "Åbn dokumentation", "It is important to set up this server to be able to send emails, like for password reset and notifications." : "Det er vigtigt at konfigurere denne server til at kunne sende e-mails, f.eks. for nulstilling af adgangskode og meddelelser.", "Send mode" : "Tilstand for afsendelse", @@ -392,7 +389,7 @@ OC.L10N.register( "From address" : "Fra adresse", "Server address" : "Serveradresse", "Port" : "Port", - "Authentication method" : "Godkendelsesmetode", + "Authentication" : "Godkendelse", "Authentication required" : "Godkendelse påkrævet", "Credentials" : "Brugeroplysninger", "SMTP Username" : "SMTP Brugernavn", @@ -443,11 +440,15 @@ OC.L10N.register( "If you use third party applications to connect to Nextcloud, please make sure to create and configure an app password for each before enabling second factor authentication." : "Hvis du bruger tredjepartsapplikationer til at oprette forbindelse til Nextcloud, skal du sørge for at oprette og konfigurere en app-adgangskode for hver, før du aktiverer anden faktor-godkendelse.", "You created app password \"{token}\"" : "Du har oprettet app-adgangskoden \"{token}\"", "png or jpg, max. 20 MB" : "png eller jpg, max. 20 MB", + "Will be autogenerated" : "Vil blive autogenereret", + "Add a new user" : "Tilføj en bruger", + "Show Languages" : "Vis sprog", "Plain" : "Klartekst", "NT LAN Manager" : "NT LAN Manager", + "SSL/TLS" : "SSL/TLS", "STARTTLS" : "STARTTLS", + "Authentication method" : "Godkendelsesmetode", "Allow username autocompletion in share dialog" : "Tillad autofuldførelse af brugernavn i delingsdialogen", - "Allow username autocompletion to users within the same groups" : "Tillad autofuldførelse af brugernavn til brugere inden for de samme grupper", - "Avatar" : "Avatar" + "Allow username autocompletion to users within the same groups" : "Tillad autofuldførelse af brugernavn til brugere inden for de samme grupper" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/settings/l10n/da.json b/apps/settings/l10n/da.json index d7cac7f1b09..376dcf50d02 100644 --- a/apps/settings/l10n/da.json +++ b/apps/settings/l10n/da.json @@ -279,6 +279,20 @@ "Your Twitter handle" : "Dit Twitter handle @…", "Your website" : "Vores hjemmeside", "Add" : "Tilføj", + "Display name" : "Vist navn", + "Email" : "E-mail", + "Group admin for" : "Gruppeadministrator for", + "Quota" : "Kvote", + "User backend" : "Bruger-backend", + "Storage location" : "Placering af lageret", + "Last login" : "Seneste login", + "No users in here" : "Ingen brugere her", + "Default quota" : "Standard kvote", + "Default language" : "Standardsprog", + "Common languages" : "Hyppigt brugte sprog", + "Other languages" : "Andre sprog", + "Password change is disabled because the master key is disabled" : "Adgangskodeændring er deaktiveret, fordi hovednøglen er deaktiveret", + "New user" : "Ny bruger", "You do not have permissions to see the details of this user" : "Du har ikke tilladelse til at se denne brugers detaljer", "Add new password" : "Tilføj ny adgangskode", "Add new email address" : "Tilføj ny e-mailadresse", @@ -300,22 +314,6 @@ "Welcome mail sent!" : "Velkomstemail sendt!", "Edit User" : "Rediger bruger", "{size} used" : "{size} brugt", - "New user" : "Ny bruger", - "Will be autogenerated" : "Vil blive autogenereret", - "Display name" : "Vist navn", - "Email" : "E-mail", - "Default language" : "Standardsprog", - "Add a new user" : "Tilføj en bruger", - "Group admin for" : "Gruppeadministrator for", - "Quota" : "Kvote", - "User backend" : "Bruger-backend", - "Storage location" : "Placering af lageret", - "Last login" : "Seneste login", - "No users in here" : "Ingen brugere her", - "Default quota" : "Standard kvote", - "Common languages" : "Hyppigt brugte sprog", - "Other languages" : "Andre sprog", - "Password change is disabled because the master key is disabled" : "Adgangskodeændring er deaktiveret, fordi hovednøglen er deaktiveret", "Passwordless authentication requires a secure connection." : "Adgangskodefri godkendelse kræver en sikker forbindelse.", "Add WebAuthn device" : "Tilføj WebAuthn-enhed", "Please authorize your WebAuthn device." : "Godkend venligst din WebAuthn-enhed.", @@ -340,7 +338,6 @@ "Disabled users" : "Deaktiverede brugere", "Default quota:" : "Standardkvote:", "Select default quota" : "Vælg standardkvote", - "Show Languages" : "Vis sprog", "Show last login" : "Vis seneste login", "Show user backend" : "Vis bruger-backend", "Show storage path" : "Vis lagersti", @@ -381,7 +378,7 @@ "Documentation" : "Dokumentation", "Forum" : "Forum", "Login" : "Login", - "SSL/TLS" : "SSL/TLS", + "SSL" : "SSL", "Open documentation" : "Åbn dokumentation", "It is important to set up this server to be able to send emails, like for password reset and notifications." : "Det er vigtigt at konfigurere denne server til at kunne sende e-mails, f.eks. for nulstilling af adgangskode og meddelelser.", "Send mode" : "Tilstand for afsendelse", @@ -390,7 +387,7 @@ "From address" : "Fra adresse", "Server address" : "Serveradresse", "Port" : "Port", - "Authentication method" : "Godkendelsesmetode", + "Authentication" : "Godkendelse", "Authentication required" : "Godkendelse påkrævet", "Credentials" : "Brugeroplysninger", "SMTP Username" : "SMTP Brugernavn", @@ -441,11 +438,15 @@ "If you use third party applications to connect to Nextcloud, please make sure to create and configure an app password for each before enabling second factor authentication." : "Hvis du bruger tredjepartsapplikationer til at oprette forbindelse til Nextcloud, skal du sørge for at oprette og konfigurere en app-adgangskode for hver, før du aktiverer anden faktor-godkendelse.", "You created app password \"{token}\"" : "Du har oprettet app-adgangskoden \"{token}\"", "png or jpg, max. 20 MB" : "png eller jpg, max. 20 MB", + "Will be autogenerated" : "Vil blive autogenereret", + "Add a new user" : "Tilføj en bruger", + "Show Languages" : "Vis sprog", "Plain" : "Klartekst", "NT LAN Manager" : "NT LAN Manager", + "SSL/TLS" : "SSL/TLS", "STARTTLS" : "STARTTLS", + "Authentication method" : "Godkendelsesmetode", "Allow username autocompletion in share dialog" : "Tillad autofuldførelse af brugernavn i delingsdialogen", - "Allow username autocompletion to users within the same groups" : "Tillad autofuldførelse af brugernavn til brugere inden for de samme grupper", - "Avatar" : "Avatar" + "Allow username autocompletion to users within the same groups" : "Tillad autofuldførelse af brugernavn til brugere inden for de samme grupper" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/settings/l10n/de.js b/apps/settings/l10n/de.js index f23481a73b6..7ea7d8072cf 100644 --- a/apps/settings/l10n/de.js +++ b/apps/settings/l10n/de.js @@ -316,7 +316,6 @@ OC.L10N.register( "Week starts on {firstDayOfWeek}" : "Woche beginnt am {firstDayOfWeek}", "Unable to update locale" : "Gebietsschema konnte nicht aktualisiert werden.", "No locale set" : "Kein Gebietsschema festgelegt", - "Your location" : "Dein Ort", "Your organisation" : "Deine Organisation", "Your phone number" : "Deine Telefonnummer", "Edit your Profile visibility" : "Sichtbarkeit des Profils anpassen", @@ -334,6 +333,20 @@ OC.L10N.register( "Unable to update federation scope of additional {property}" : "Der Federations-Bereich des zusätzlichen {property} kann nicht aktualisiert werden.", "Add additional email" : "Zusätzliche E-Mail-Adresse hinzufügen", "Add" : "Hinzufügen", + "Display name" : "Anzeigename", + "Email" : "E-Mail-Adresse", + "Group admin for" : "Gruppenadministrator für", + "Quota" : "Kontingent", + "User backend" : "Benutzer-Backend", + "Storage location" : "Speicherort", + "Last login" : "Letzte Anmeldung", + "No users in here" : "Keine Benutzer vorhanden", + "Default quota" : "Standardkontingent", + "Default language" : "Standard-Sprache", + "Common languages" : "Gängige Sprachen", + "Other languages" : "Weitere Sprachen", + "Password change is disabled because the master key is disabled" : "Das Ändern des Passwortes ist deaktiviert, da der Master-Schlüssel deaktiviert ist", + "New user" : "Neuer Benutzer", "You do not have permissions to see the details of this user" : "Du hast keine Berechtigung, um auf die Details dieses Benutzers zu sehen", "Add new password" : "Neues Passwort hinzufügen", "Add new email address" : "Neue E-Mail-Adresse hinzufügen", @@ -355,22 +368,6 @@ OC.L10N.register( "Welcome mail sent!" : "Willkommens-E-Mail gesendet!", "Edit User" : "Benutzer bearbeiten", "{size} used" : "{size} verwendet", - "New user" : "Neuer Benutzer", - "Will be autogenerated" : "Wird automatisch erzeugt", - "Display name" : "Anzeigename", - "Email" : "E-Mail-Adresse", - "Default language" : "Standard-Sprache", - "Add a new user" : "Neuen Benutzer hinzufügen", - "Group admin for" : "Gruppenadministrator für", - "Quota" : "Kontingent", - "User backend" : "Benutzer-Backend", - "Storage location" : "Speicherort", - "Last login" : "Letzte Anmeldung", - "No users in here" : "Keine Benutzer vorhanden", - "Default quota" : "Standardkontingent", - "Common languages" : "Gängige Sprachen", - "Other languages" : "Weitere Sprachen", - "Password change is disabled because the master key is disabled" : "Das Ändern des Passwortes ist deaktiviert, da der Master-Schlüssel deaktiviert ist", "Passwordless authentication requires a secure connection." : "Die Anmeldung ohne Passwort erfordert eine sichere Verbindung.", "Add WebAuthn device" : "WebAuthn-Gerät hinzufügen", "Please authorize your WebAuthn device." : "Bitte autorisiere dein WebAuthn-Gerät.", @@ -395,7 +392,6 @@ OC.L10N.register( "Disabled users" : "Deaktivierte Benutzer", "Default quota:" : "Standardkontingent:", "Select default quota" : "Standardkontingent auswählen", - "Show Languages" : "Sprachen anzeigen", "Show last login" : "Letzte Anmeldung anzeigen", "Show user backend" : "Benutzer-Backend anzeigen", "Show storage path" : "Zeige Speicherpfad", @@ -439,7 +435,7 @@ OC.L10N.register( "Documentation" : "Dokumentation", "Forum" : "Forum", "Login" : "Anmelden", - "SSL/TLS" : "SSL/TLS", + "SSL" : "SSL", "Open documentation" : "Dokumentation öffnen", "It is important to set up this server to be able to send emails, like for password reset and notifications." : "Es ist wichtig, diesen Server so zu konfigurieren, dass E-Mails versandt werden können, z. B. zum Zurücksetzen des Passworts und für Benachrichtigungen.", "Send mode" : "Sendemodus", @@ -448,8 +444,7 @@ OC.L10N.register( "From address" : "Absenderadresse", "Server address" : "Serveradresse", "Port" : "Port", - "Authentication method" : "Authentifizierungsmethode", - "Only applies when authentication is required" : "Gilt nur, wenn eine Authentifizierung erforderlich ist", + "Authentication" : "Authentifizierung", "Authentication required" : "Authentifizierung benötigt", "Credentials" : "Zugangsdaten", "SMTP Username" : "SMTP-Benutzername", @@ -505,11 +500,16 @@ OC.L10N.register( "An administrator created app password \"{token}\"" : "Ein vom Administrator erstelltes App-Passwort \"{token}\"", "Choose profile picture from files" : "Profilbild aus Dateien auswählen", "png or jpg, max. 20 MB" : "png oder jpg, max. 20 MB", + "Your location" : "Dein Ort", + "Will be autogenerated" : "Wird automatisch erzeugt", + "Add a new user" : "Neuen Benutzer hinzufügen", + "Show Languages" : "Sprachen anzeigen", "Plain" : "Klartext", "NT LAN Manager" : "NT-LAN-Manager", + "SSL/TLS" : "SSL/TLS", "STARTTLS" : "STARTTLS", + "Authentication method" : "Authentifizierungsmethode", "Allow username autocompletion in share dialog" : "Automatische Vervollständigung der Benutzernamen im Teilen-Dialog erlauben", - "Allow username autocompletion to users within the same groups" : "Automatische Vervollständigung der Benutzernamen auf Benutzer innerhalb der gleichen Gruppen erlauben", - "Avatar" : "Avatar" + "Allow username autocompletion to users within the same groups" : "Automatische Vervollständigung der Benutzernamen auf Benutzer innerhalb der gleichen Gruppen erlauben" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/settings/l10n/de.json b/apps/settings/l10n/de.json index 74b75f8cbec..e32e4fc2fd7 100644 --- a/apps/settings/l10n/de.json +++ b/apps/settings/l10n/de.json @@ -314,7 +314,6 @@ "Week starts on {firstDayOfWeek}" : "Woche beginnt am {firstDayOfWeek}", "Unable to update locale" : "Gebietsschema konnte nicht aktualisiert werden.", "No locale set" : "Kein Gebietsschema festgelegt", - "Your location" : "Dein Ort", "Your organisation" : "Deine Organisation", "Your phone number" : "Deine Telefonnummer", "Edit your Profile visibility" : "Sichtbarkeit des Profils anpassen", @@ -332,6 +331,20 @@ "Unable to update federation scope of additional {property}" : "Der Federations-Bereich des zusätzlichen {property} kann nicht aktualisiert werden.", "Add additional email" : "Zusätzliche E-Mail-Adresse hinzufügen", "Add" : "Hinzufügen", + "Display name" : "Anzeigename", + "Email" : "E-Mail-Adresse", + "Group admin for" : "Gruppenadministrator für", + "Quota" : "Kontingent", + "User backend" : "Benutzer-Backend", + "Storage location" : "Speicherort", + "Last login" : "Letzte Anmeldung", + "No users in here" : "Keine Benutzer vorhanden", + "Default quota" : "Standardkontingent", + "Default language" : "Standard-Sprache", + "Common languages" : "Gängige Sprachen", + "Other languages" : "Weitere Sprachen", + "Password change is disabled because the master key is disabled" : "Das Ändern des Passwortes ist deaktiviert, da der Master-Schlüssel deaktiviert ist", + "New user" : "Neuer Benutzer", "You do not have permissions to see the details of this user" : "Du hast keine Berechtigung, um auf die Details dieses Benutzers zu sehen", "Add new password" : "Neues Passwort hinzufügen", "Add new email address" : "Neue E-Mail-Adresse hinzufügen", @@ -353,22 +366,6 @@ "Welcome mail sent!" : "Willkommens-E-Mail gesendet!", "Edit User" : "Benutzer bearbeiten", "{size} used" : "{size} verwendet", - "New user" : "Neuer Benutzer", - "Will be autogenerated" : "Wird automatisch erzeugt", - "Display name" : "Anzeigename", - "Email" : "E-Mail-Adresse", - "Default language" : "Standard-Sprache", - "Add a new user" : "Neuen Benutzer hinzufügen", - "Group admin for" : "Gruppenadministrator für", - "Quota" : "Kontingent", - "User backend" : "Benutzer-Backend", - "Storage location" : "Speicherort", - "Last login" : "Letzte Anmeldung", - "No users in here" : "Keine Benutzer vorhanden", - "Default quota" : "Standardkontingent", - "Common languages" : "Gängige Sprachen", - "Other languages" : "Weitere Sprachen", - "Password change is disabled because the master key is disabled" : "Das Ändern des Passwortes ist deaktiviert, da der Master-Schlüssel deaktiviert ist", "Passwordless authentication requires a secure connection." : "Die Anmeldung ohne Passwort erfordert eine sichere Verbindung.", "Add WebAuthn device" : "WebAuthn-Gerät hinzufügen", "Please authorize your WebAuthn device." : "Bitte autorisiere dein WebAuthn-Gerät.", @@ -393,7 +390,6 @@ "Disabled users" : "Deaktivierte Benutzer", "Default quota:" : "Standardkontingent:", "Select default quota" : "Standardkontingent auswählen", - "Show Languages" : "Sprachen anzeigen", "Show last login" : "Letzte Anmeldung anzeigen", "Show user backend" : "Benutzer-Backend anzeigen", "Show storage path" : "Zeige Speicherpfad", @@ -437,7 +433,7 @@ "Documentation" : "Dokumentation", "Forum" : "Forum", "Login" : "Anmelden", - "SSL/TLS" : "SSL/TLS", + "SSL" : "SSL", "Open documentation" : "Dokumentation öffnen", "It is important to set up this server to be able to send emails, like for password reset and notifications." : "Es ist wichtig, diesen Server so zu konfigurieren, dass E-Mails versandt werden können, z. B. zum Zurücksetzen des Passworts und für Benachrichtigungen.", "Send mode" : "Sendemodus", @@ -446,8 +442,7 @@ "From address" : "Absenderadresse", "Server address" : "Serveradresse", "Port" : "Port", - "Authentication method" : "Authentifizierungsmethode", - "Only applies when authentication is required" : "Gilt nur, wenn eine Authentifizierung erforderlich ist", + "Authentication" : "Authentifizierung", "Authentication required" : "Authentifizierung benötigt", "Credentials" : "Zugangsdaten", "SMTP Username" : "SMTP-Benutzername", @@ -503,11 +498,16 @@ "An administrator created app password \"{token}\"" : "Ein vom Administrator erstelltes App-Passwort \"{token}\"", "Choose profile picture from files" : "Profilbild aus Dateien auswählen", "png or jpg, max. 20 MB" : "png oder jpg, max. 20 MB", + "Your location" : "Dein Ort", + "Will be autogenerated" : "Wird automatisch erzeugt", + "Add a new user" : "Neuen Benutzer hinzufügen", + "Show Languages" : "Sprachen anzeigen", "Plain" : "Klartext", "NT LAN Manager" : "NT-LAN-Manager", + "SSL/TLS" : "SSL/TLS", "STARTTLS" : "STARTTLS", + "Authentication method" : "Authentifizierungsmethode", "Allow username autocompletion in share dialog" : "Automatische Vervollständigung der Benutzernamen im Teilen-Dialog erlauben", - "Allow username autocompletion to users within the same groups" : "Automatische Vervollständigung der Benutzernamen auf Benutzer innerhalb der gleichen Gruppen erlauben", - "Avatar" : "Avatar" + "Allow username autocompletion to users within the same groups" : "Automatische Vervollständigung der Benutzernamen auf Benutzer innerhalb der gleichen Gruppen erlauben" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/settings/l10n/de_DE.js b/apps/settings/l10n/de_DE.js index 160d3727e41..71f9a9cd4d3 100644 --- a/apps/settings/l10n/de_DE.js +++ b/apps/settings/l10n/de_DE.js @@ -316,7 +316,7 @@ OC.L10N.register( "Week starts on {firstDayOfWeek}" : "Woche beginnt am {firstDayOfWeek}", "Unable to update locale" : "Gebietsschema kann nicht aktualisiert werden", "No locale set" : "Kein Gebietsschema festgelegt", - "Your location" : "Ihr Ort", + "Your city" : "Ihre Stadt", "Your organisation" : "Ihre Organisation", "Your phone number" : "Ihre Telefonnummer", "Edit your Profile visibility" : "Bearbeiten Sie die Sichtbarkeit Ihres Profils", @@ -334,6 +334,35 @@ OC.L10N.register( "Unable to update federation scope of additional {property}" : "Der Federation-Bereich des zusätzlichen {property} kann nicht aktualisiert werden", "Add additional email" : "Zusätzliche E-Mail-Adresse hinzufügen", "Add" : "Hinzufügen", + "User's table" : "Benutzertabelle", + "Display name" : "Anzeigename", + "Email" : "E-Mail", + "Group admin for" : "Gruppenadministrator für", + "Quota" : "Kontingent", + "User backend" : "Benutzer-Backend", + "Storage location" : "Speicherort", + "Last login" : "Letzte Anmeldung", + "Manager" : "Manager", + "No users in here" : "Keine Benutzer vorhanden", + "Default quota" : "Standard Speicherkontingent ", + "Default language" : "Standard-Sprache", + "Common languages" : "Gebräuchliche Sprachen", + "Other languages" : "Weitere Sprachen", + "Password change is disabled because the master key is disabled" : "Das Ändern des Passwortes ist deaktiviert, da der Master-Schlüssel deaktiviert ist", + "New user" : "Neuer Benutzer", + "Either password or email is required" : "Passwort oder E-Mailadresse ist erforderlich", + "Password (required)" : "Passwort (erforderlich)", + "Email (required)" : "E-Mailadresse (erforderlich)", + "Groups (required)" : "Gruppen (erforderlich)", + "Set user groups" : "Benutzergruppen einstellen", + "Administered groups" : "Administrierte Gruppen", + "Set user as admin for …" : "Benutzer als Administrator setzen für…", + "Set user quota" : "Benutzerkontingent einstellen", + "Set default language" : "Standard-Sprache einstellen", + "Set user manager" : "Benutzermanager setzen", + "Add new user" : "Neuen Benutzer hinzufügen", + "Username will be autogenerated" : "Benutzername wird automatisch erzeugt", + "Username (required)" : "Benutzername (erforderlich)", "You do not have permissions to see the details of this user" : "Sie haben keine Berechtigung, um auf die Details dieses Benutzers zu sehen", "Edit display name" : "Anzeigename bearbeiten", "Add new password" : "Neues Passwort hinzufügen", @@ -358,25 +387,6 @@ OC.L10N.register( "Welcome mail sent!" : "Willkommens-E-Mail gesendet!", "Edit User" : "Benutzer bearbeiten", "{size} used" : "{size} verwendet", - "User's table" : "Benutzertabelle", - "New user" : "Neuer Benutzer", - "Will be autogenerated" : "Wird automatisch erzeugt", - "Display name" : "Anzeigename", - "Email" : "E-Mail", - "Default language" : "Standard-Sprache", - "Select user manager" : "Benutzermanager wählen", - "Add a new user" : "Neuen Benutzer hinzufügen", - "Group admin for" : "Gruppenadministrator für", - "Quota" : "Kontingent", - "User backend" : "Benutzer-Backend", - "Storage location" : "Speicherort", - "Last login" : "Letzte Anmeldung", - "Manager" : "Manager", - "No users in here" : "Keine Benutzer vorhanden", - "Default quota" : "Standard Speicherkontingent ", - "Common languages" : "Gebräuchliche Sprachen", - "Other languages" : "Weitere Sprachen", - "Password change is disabled because the master key is disabled" : "Das Ändern des Passwortes ist deaktiviert, da der Master-Schlüssel deaktiviert ist", "Passwordless authentication requires a secure connection." : "Die Anmeldung ohne Passwort erfordert eine sichere Verbindung.", "Add WebAuthn device" : "WebAuthn-Gerät hinzufügen", "Please authorize your WebAuthn device." : "Bitte autorisieren Sie Ihr WebAuthn-Gerät.", @@ -401,7 +411,7 @@ OC.L10N.register( "Disabled users" : "Deaktivierte Benutzer", "Default quota:" : "Standardkontingent:", "Select default quota" : "Standardkontingent auswählen", - "Show Languages" : "Sprachen anzeigen", + "Show languages" : "Sprachen anzeigen", "Show last login" : "Letzte Anmeldung anzeigen", "Show user backend" : "Benutzer-Backend anzeigen", "Show storage path" : "Zeige Speicherpfad", @@ -445,7 +455,8 @@ OC.L10N.register( "Documentation" : "Dokumentation", "Forum" : "Forum", "Login" : "Anmelden", - "SSL/TLS" : "SSL/TLS", + "None/STARTTLS" : "Keine/STARTTLS", + "SSL" : "SSL", "Open documentation" : "Dokumentation öffnen", "It is important to set up this server to be able to send emails, like for password reset and notifications." : "Es ist wichtig diesen Server so zu konfigurieren, dass E-Mails versandt werden können, z.B. für den Passwort-Reset und Benachrichtigungen.", "Send mode" : "Sendemodus", @@ -454,8 +465,7 @@ OC.L10N.register( "From address" : "Absenderadresse", "Server address" : "Serveradresse", "Port" : "Port", - "Authentication method" : "Authentifizierungsmethode", - "Only applies when authentication is required" : "Gilt nur, wenn eine Authentifizierung erforderlich ist", + "Authentication" : "Authentifizierung", "Authentication required" : "Authentifizierung benötigt", "Credentials" : "Zugangsdaten", "SMTP Username" : "SMTP-Benutzername", @@ -513,12 +523,17 @@ OC.L10N.register( "An administrator created app password \"{token}\"" : "Ein vom Administrator erstelltes App-Passwort \"{token}\"", "Choose profile picture from files" : "Profilbild aus Dateien auswählen", "png or jpg, max. 20 MB" : "png oder jpg, max. 20 MB", + "Your location" : "Ihr Ort", + "Will be autogenerated" : "Wird automatisch erzeugt", + "Add a new user" : "Neuen Benutzer hinzufügen", + "Show Languages" : "Sprachen anzeigen", "Plain" : "Klartext", "NT LAN Manager" : "NT-LAN-Manager", + "SSL/TLS" : "SSL/TLS", "STARTTLS" : "STARTTLS", + "Authentication method" : "Authentifizierungsmethode", "Allow username autocompletion in share dialog" : "Automatische Vervollständigung der Benutzernamen im Teilen-Dialog erlauben", "Allow username autocompletion to users within the same groups" : "Automatische Vervollständigung der Benutzernamen auf Benutzer innerhalb der gleichen Gruppen erlauben", - "Avatar" : "Avatar", - "User actions" : "Benutzeraktionen" + "Select user manager" : "Benutzermanager wählen" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/settings/l10n/de_DE.json b/apps/settings/l10n/de_DE.json index e29b24ac356..b82bccd477b 100644 --- a/apps/settings/l10n/de_DE.json +++ b/apps/settings/l10n/de_DE.json @@ -314,7 +314,7 @@ "Week starts on {firstDayOfWeek}" : "Woche beginnt am {firstDayOfWeek}", "Unable to update locale" : "Gebietsschema kann nicht aktualisiert werden", "No locale set" : "Kein Gebietsschema festgelegt", - "Your location" : "Ihr Ort", + "Your city" : "Ihre Stadt", "Your organisation" : "Ihre Organisation", "Your phone number" : "Ihre Telefonnummer", "Edit your Profile visibility" : "Bearbeiten Sie die Sichtbarkeit Ihres Profils", @@ -332,6 +332,35 @@ "Unable to update federation scope of additional {property}" : "Der Federation-Bereich des zusätzlichen {property} kann nicht aktualisiert werden", "Add additional email" : "Zusätzliche E-Mail-Adresse hinzufügen", "Add" : "Hinzufügen", + "User's table" : "Benutzertabelle", + "Display name" : "Anzeigename", + "Email" : "E-Mail", + "Group admin for" : "Gruppenadministrator für", + "Quota" : "Kontingent", + "User backend" : "Benutzer-Backend", + "Storage location" : "Speicherort", + "Last login" : "Letzte Anmeldung", + "Manager" : "Manager", + "No users in here" : "Keine Benutzer vorhanden", + "Default quota" : "Standard Speicherkontingent ", + "Default language" : "Standard-Sprache", + "Common languages" : "Gebräuchliche Sprachen", + "Other languages" : "Weitere Sprachen", + "Password change is disabled because the master key is disabled" : "Das Ändern des Passwortes ist deaktiviert, da der Master-Schlüssel deaktiviert ist", + "New user" : "Neuer Benutzer", + "Either password or email is required" : "Passwort oder E-Mailadresse ist erforderlich", + "Password (required)" : "Passwort (erforderlich)", + "Email (required)" : "E-Mailadresse (erforderlich)", + "Groups (required)" : "Gruppen (erforderlich)", + "Set user groups" : "Benutzergruppen einstellen", + "Administered groups" : "Administrierte Gruppen", + "Set user as admin for …" : "Benutzer als Administrator setzen für…", + "Set user quota" : "Benutzerkontingent einstellen", + "Set default language" : "Standard-Sprache einstellen", + "Set user manager" : "Benutzermanager setzen", + "Add new user" : "Neuen Benutzer hinzufügen", + "Username will be autogenerated" : "Benutzername wird automatisch erzeugt", + "Username (required)" : "Benutzername (erforderlich)", "You do not have permissions to see the details of this user" : "Sie haben keine Berechtigung, um auf die Details dieses Benutzers zu sehen", "Edit display name" : "Anzeigename bearbeiten", "Add new password" : "Neues Passwort hinzufügen", @@ -356,25 +385,6 @@ "Welcome mail sent!" : "Willkommens-E-Mail gesendet!", "Edit User" : "Benutzer bearbeiten", "{size} used" : "{size} verwendet", - "User's table" : "Benutzertabelle", - "New user" : "Neuer Benutzer", - "Will be autogenerated" : "Wird automatisch erzeugt", - "Display name" : "Anzeigename", - "Email" : "E-Mail", - "Default language" : "Standard-Sprache", - "Select user manager" : "Benutzermanager wählen", - "Add a new user" : "Neuen Benutzer hinzufügen", - "Group admin for" : "Gruppenadministrator für", - "Quota" : "Kontingent", - "User backend" : "Benutzer-Backend", - "Storage location" : "Speicherort", - "Last login" : "Letzte Anmeldung", - "Manager" : "Manager", - "No users in here" : "Keine Benutzer vorhanden", - "Default quota" : "Standard Speicherkontingent ", - "Common languages" : "Gebräuchliche Sprachen", - "Other languages" : "Weitere Sprachen", - "Password change is disabled because the master key is disabled" : "Das Ändern des Passwortes ist deaktiviert, da der Master-Schlüssel deaktiviert ist", "Passwordless authentication requires a secure connection." : "Die Anmeldung ohne Passwort erfordert eine sichere Verbindung.", "Add WebAuthn device" : "WebAuthn-Gerät hinzufügen", "Please authorize your WebAuthn device." : "Bitte autorisieren Sie Ihr WebAuthn-Gerät.", @@ -399,7 +409,7 @@ "Disabled users" : "Deaktivierte Benutzer", "Default quota:" : "Standardkontingent:", "Select default quota" : "Standardkontingent auswählen", - "Show Languages" : "Sprachen anzeigen", + "Show languages" : "Sprachen anzeigen", "Show last login" : "Letzte Anmeldung anzeigen", "Show user backend" : "Benutzer-Backend anzeigen", "Show storage path" : "Zeige Speicherpfad", @@ -443,7 +453,8 @@ "Documentation" : "Dokumentation", "Forum" : "Forum", "Login" : "Anmelden", - "SSL/TLS" : "SSL/TLS", + "None/STARTTLS" : "Keine/STARTTLS", + "SSL" : "SSL", "Open documentation" : "Dokumentation öffnen", "It is important to set up this server to be able to send emails, like for password reset and notifications." : "Es ist wichtig diesen Server so zu konfigurieren, dass E-Mails versandt werden können, z.B. für den Passwort-Reset und Benachrichtigungen.", "Send mode" : "Sendemodus", @@ -452,8 +463,7 @@ "From address" : "Absenderadresse", "Server address" : "Serveradresse", "Port" : "Port", - "Authentication method" : "Authentifizierungsmethode", - "Only applies when authentication is required" : "Gilt nur, wenn eine Authentifizierung erforderlich ist", + "Authentication" : "Authentifizierung", "Authentication required" : "Authentifizierung benötigt", "Credentials" : "Zugangsdaten", "SMTP Username" : "SMTP-Benutzername", @@ -511,12 +521,17 @@ "An administrator created app password \"{token}\"" : "Ein vom Administrator erstelltes App-Passwort \"{token}\"", "Choose profile picture from files" : "Profilbild aus Dateien auswählen", "png or jpg, max. 20 MB" : "png oder jpg, max. 20 MB", + "Your location" : "Ihr Ort", + "Will be autogenerated" : "Wird automatisch erzeugt", + "Add a new user" : "Neuen Benutzer hinzufügen", + "Show Languages" : "Sprachen anzeigen", "Plain" : "Klartext", "NT LAN Manager" : "NT-LAN-Manager", + "SSL/TLS" : "SSL/TLS", "STARTTLS" : "STARTTLS", + "Authentication method" : "Authentifizierungsmethode", "Allow username autocompletion in share dialog" : "Automatische Vervollständigung der Benutzernamen im Teilen-Dialog erlauben", "Allow username autocompletion to users within the same groups" : "Automatische Vervollständigung der Benutzernamen auf Benutzer innerhalb der gleichen Gruppen erlauben", - "Avatar" : "Avatar", - "User actions" : "Benutzeraktionen" + "Select user manager" : "Benutzermanager wählen" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/settings/l10n/el.js b/apps/settings/l10n/el.js index b041683104b..d73bd983a89 100644 --- a/apps/settings/l10n/el.js +++ b/apps/settings/l10n/el.js @@ -285,7 +285,6 @@ OC.L10N.register( "No language set" : "Δεν ορίστηκε γλώσσα", "Locale" : "Ρυθμίσεις τοποθεσίας", "Week starts on {firstDayOfWeek}" : "Η εβδομάδα ξεκινά την {firstDayOfWeek}", - "Your location" : "Η τοποθεσία σας", "Your organisation" : "Ο οργανισμός σας", "Your phone number" : "Ο αριθμός τηλεφώνου σας", "Edit your Profile visibility" : "Επεξεργασία της ορατότητας του Προφίλ σας", @@ -298,6 +297,20 @@ OC.L10N.register( "Your website" : "Η ιστοσελίδα σας", "Add additional email" : "Προσθέστε επιπλέον email", "Add" : "Προσθήκη", + "Display name" : "Εμφανιζόμενο όνομα", + "Email" : "Email", + "Group admin for" : "Ομαδα διαχειριστή για", + "Quota" : "Σύνολο Χώρου", + "User backend" : "Σύστημα υποστήριξης χρήστη", + "Storage location" : "Τοποθεσία αποθηκευτικού χώρου", + "Last login" : "Τελευταία είσοδος", + "No users in here" : "Δεν υπάρχουν χρήστες εδώ", + "Default quota" : "Προεπιλέγμενη χωρητικότητα", + "Default language" : "Προεπιλεγμένη γλώσσα", + "Common languages" : "Κοινές γλώσσες", + "Other languages" : "Άλλες γλώσσες", + "Password change is disabled because the master key is disabled" : "Η αλλαγή κωδικού είναι απενεργοποιημένη επειδή το κεντρικό κλειδί είναι απενεργοποιημένο", + "New user" : "Νέος χρήστης", "You do not have permissions to see the details of this user" : "Δεν έχετε δικαιώματα να δείτε λεπτομέρειες του χρήστη", "Add new password" : "Προσθήκη νέου κωδικού πρόσβασης", "Add new email address" : "Προσθήκη νέας διεύθυνσης ηλ. αλληλογραφίας", @@ -319,22 +332,6 @@ OC.L10N.register( "Welcome mail sent!" : "Απεστάλη το μήνυμα καλωσορίσματος!", "Edit User" : "Επεξεργασία Χρήστη", "{size} used" : "{size} που χρησιμοποιείται", - "New user" : "Νέος χρήστης", - "Will be autogenerated" : "Θα δημιουργηθεί αυτόματα", - "Display name" : "Εμφανιζόμενο όνομα", - "Email" : "Email", - "Default language" : "Προεπιλεγμένη γλώσσα", - "Add a new user" : "Προσθήκη νέου χρήστη", - "Group admin for" : "Ομαδα διαχειριστή για", - "Quota" : "Σύνολο Χώρου", - "User backend" : "Σύστημα υποστήριξης χρήστη", - "Storage location" : "Τοποθεσία αποθηκευτικού χώρου", - "Last login" : "Τελευταία είσοδος", - "No users in here" : "Δεν υπάρχουν χρήστες εδώ", - "Default quota" : "Προεπιλέγμενη χωρητικότητα", - "Common languages" : "Κοινές γλώσσες", - "Other languages" : "Άλλες γλώσσες", - "Password change is disabled because the master key is disabled" : "Η αλλαγή κωδικού είναι απενεργοποιημένη επειδή το κεντρικό κλειδί είναι απενεργοποιημένο", "Passwordless authentication requires a secure connection." : "Η σύνδεση χωρίς κωδικό πρόσβασης απαιτεί ασφαλή σύνδεση.", "Add WebAuthn device" : "Προσθήκη συσκευής WebAuthn ", "Please authorize your WebAuthn device." : "Παρακαλώ εξουσιοδοτήστε την συσκευή σας WebAuthn.", @@ -359,7 +356,6 @@ OC.L10N.register( "Disabled users" : "Απενεργοποιημένοι χρήστες", "Default quota:" : "Προεπιλεγμένο όριο χωρητικότητας:", "Select default quota" : "Επιλογή προεπιλεγμένης χωρητικότητας", - "Show Languages" : "Εμφάνιση γλωσσών", "Show last login" : "Εμφάνιση τελευταίας σύνδεσης", "Show user backend" : "Εμφάνιση χρήστη συστήματος υποστήριξης", "Show storage path" : "Εμφάνιση διαδρομής αποθήκευσης", @@ -401,7 +397,7 @@ OC.L10N.register( "Documentation" : "Τεκμηρίωση", "Forum" : "Φόρουμ", "Login" : "Σύνδεση", - "SSL/TLS" : "SSL/TLS", + "SSL" : "SSL", "Open documentation" : "Άνοιγμα τεκμηρίωσης.", "It is important to set up this server to be able to send emails, like for password reset and notifications." : "Είναι σημαντικό να ρυθμίσετε τον διακομιστή να μπορεί να στέλνει Ηλ.Ταχυδρομείο, όπως για επαναφορά κωδικού πρόσβασης και ειδοποιήσεις.", "Send mode" : "Λειτουργία αποστολής", @@ -410,7 +406,7 @@ OC.L10N.register( "From address" : "Από τη διεύθυνση", "Server address" : "Διεύθυνση διακομιστή", "Port" : "Θύρα", - "Authentication method" : "Μέθοδος πιστοποίησης", + "Authentication" : "Πιστοποίηση", "Authentication required" : "Απαιτείται πιστοποίηση", "Credentials" : "Διαπιστευτήρια", "SMTP Username" : "Όνομα χρήστη SMTP", @@ -463,11 +459,16 @@ OC.L10N.register( "An administrator created app password \"{token}\"" : "Ένας διαχειριστής δημιούργησε το αναγνωριστικό εφαρμογής \"{token}\"", "Choose profile picture from files" : "Επιλογή εικόνας προφίλ από το αρχείο", "png or jpg, max. 20 MB" : "png ή jpg, μεγ. 20 MB", + "Your location" : "Η τοποθεσία σας", + "Will be autogenerated" : "Θα δημιουργηθεί αυτόματα", + "Add a new user" : "Προσθήκη νέου χρήστη", + "Show Languages" : "Εμφάνιση γλωσσών", "Plain" : "Απλό", "NT LAN Manager" : "Διαχειριστης NT LAN", + "SSL/TLS" : "SSL/TLS", "STARTTLS" : "STARTTLS", + "Authentication method" : "Μέθοδος πιστοποίησης", "Allow username autocompletion in share dialog" : "Να επιτρέπεται η αυτόματη συμπλήρωση ονόματος χρήστη στο πλαίσιο διαλόγου κοινής χρήσης", - "Allow username autocompletion to users within the same groups" : "Να επιτρέπεται η αυτόματη συμπλήρωση ονόματος χρήστη σε χρήστες στις ίδιες ομάδες", - "Avatar" : "Εικόνα προφίλ" + "Allow username autocompletion to users within the same groups" : "Να επιτρέπεται η αυτόματη συμπλήρωση ονόματος χρήστη σε χρήστες στις ίδιες ομάδες" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/settings/l10n/el.json b/apps/settings/l10n/el.json index 11389688f1a..09a157e2070 100644 --- a/apps/settings/l10n/el.json +++ b/apps/settings/l10n/el.json @@ -283,7 +283,6 @@ "No language set" : "Δεν ορίστηκε γλώσσα", "Locale" : "Ρυθμίσεις τοποθεσίας", "Week starts on {firstDayOfWeek}" : "Η εβδομάδα ξεκινά την {firstDayOfWeek}", - "Your location" : "Η τοποθεσία σας", "Your organisation" : "Ο οργανισμός σας", "Your phone number" : "Ο αριθμός τηλεφώνου σας", "Edit your Profile visibility" : "Επεξεργασία της ορατότητας του Προφίλ σας", @@ -296,6 +295,20 @@ "Your website" : "Η ιστοσελίδα σας", "Add additional email" : "Προσθέστε επιπλέον email", "Add" : "Προσθήκη", + "Display name" : "Εμφανιζόμενο όνομα", + "Email" : "Email", + "Group admin for" : "Ομαδα διαχειριστή για", + "Quota" : "Σύνολο Χώρου", + "User backend" : "Σύστημα υποστήριξης χρήστη", + "Storage location" : "Τοποθεσία αποθηκευτικού χώρου", + "Last login" : "Τελευταία είσοδος", + "No users in here" : "Δεν υπάρχουν χρήστες εδώ", + "Default quota" : "Προεπιλέγμενη χωρητικότητα", + "Default language" : "Προεπιλεγμένη γλώσσα", + "Common languages" : "Κοινές γλώσσες", + "Other languages" : "Άλλες γλώσσες", + "Password change is disabled because the master key is disabled" : "Η αλλαγή κωδικού είναι απενεργοποιημένη επειδή το κεντρικό κλειδί είναι απενεργοποιημένο", + "New user" : "Νέος χρήστης", "You do not have permissions to see the details of this user" : "Δεν έχετε δικαιώματα να δείτε λεπτομέρειες του χρήστη", "Add new password" : "Προσθήκη νέου κωδικού πρόσβασης", "Add new email address" : "Προσθήκη νέας διεύθυνσης ηλ. αλληλογραφίας", @@ -317,22 +330,6 @@ "Welcome mail sent!" : "Απεστάλη το μήνυμα καλωσορίσματος!", "Edit User" : "Επεξεργασία Χρήστη", "{size} used" : "{size} που χρησιμοποιείται", - "New user" : "Νέος χρήστης", - "Will be autogenerated" : "Θα δημιουργηθεί αυτόματα", - "Display name" : "Εμφανιζόμενο όνομα", - "Email" : "Email", - "Default language" : "Προεπιλεγμένη γλώσσα", - "Add a new user" : "Προσθήκη νέου χρήστη", - "Group admin for" : "Ομαδα διαχειριστή για", - "Quota" : "Σύνολο Χώρου", - "User backend" : "Σύστημα υποστήριξης χρήστη", - "Storage location" : "Τοποθεσία αποθηκευτικού χώρου", - "Last login" : "Τελευταία είσοδος", - "No users in here" : "Δεν υπάρχουν χρήστες εδώ", - "Default quota" : "Προεπιλέγμενη χωρητικότητα", - "Common languages" : "Κοινές γλώσσες", - "Other languages" : "Άλλες γλώσσες", - "Password change is disabled because the master key is disabled" : "Η αλλαγή κωδικού είναι απενεργοποιημένη επειδή το κεντρικό κλειδί είναι απενεργοποιημένο", "Passwordless authentication requires a secure connection." : "Η σύνδεση χωρίς κωδικό πρόσβασης απαιτεί ασφαλή σύνδεση.", "Add WebAuthn device" : "Προσθήκη συσκευής WebAuthn ", "Please authorize your WebAuthn device." : "Παρακαλώ εξουσιοδοτήστε την συσκευή σας WebAuthn.", @@ -357,7 +354,6 @@ "Disabled users" : "Απενεργοποιημένοι χρήστες", "Default quota:" : "Προεπιλεγμένο όριο χωρητικότητας:", "Select default quota" : "Επιλογή προεπιλεγμένης χωρητικότητας", - "Show Languages" : "Εμφάνιση γλωσσών", "Show last login" : "Εμφάνιση τελευταίας σύνδεσης", "Show user backend" : "Εμφάνιση χρήστη συστήματος υποστήριξης", "Show storage path" : "Εμφάνιση διαδρομής αποθήκευσης", @@ -399,7 +395,7 @@ "Documentation" : "Τεκμηρίωση", "Forum" : "Φόρουμ", "Login" : "Σύνδεση", - "SSL/TLS" : "SSL/TLS", + "SSL" : "SSL", "Open documentation" : "Άνοιγμα τεκμηρίωσης.", "It is important to set up this server to be able to send emails, like for password reset and notifications." : "Είναι σημαντικό να ρυθμίσετε τον διακομιστή να μπορεί να στέλνει Ηλ.Ταχυδρομείο, όπως για επαναφορά κωδικού πρόσβασης και ειδοποιήσεις.", "Send mode" : "Λειτουργία αποστολής", @@ -408,7 +404,7 @@ "From address" : "Από τη διεύθυνση", "Server address" : "Διεύθυνση διακομιστή", "Port" : "Θύρα", - "Authentication method" : "Μέθοδος πιστοποίησης", + "Authentication" : "Πιστοποίηση", "Authentication required" : "Απαιτείται πιστοποίηση", "Credentials" : "Διαπιστευτήρια", "SMTP Username" : "Όνομα χρήστη SMTP", @@ -461,11 +457,16 @@ "An administrator created app password \"{token}\"" : "Ένας διαχειριστής δημιούργησε το αναγνωριστικό εφαρμογής \"{token}\"", "Choose profile picture from files" : "Επιλογή εικόνας προφίλ από το αρχείο", "png or jpg, max. 20 MB" : "png ή jpg, μεγ. 20 MB", + "Your location" : "Η τοποθεσία σας", + "Will be autogenerated" : "Θα δημιουργηθεί αυτόματα", + "Add a new user" : "Προσθήκη νέου χρήστη", + "Show Languages" : "Εμφάνιση γλωσσών", "Plain" : "Απλό", "NT LAN Manager" : "Διαχειριστης NT LAN", + "SSL/TLS" : "SSL/TLS", "STARTTLS" : "STARTTLS", + "Authentication method" : "Μέθοδος πιστοποίησης", "Allow username autocompletion in share dialog" : "Να επιτρέπεται η αυτόματη συμπλήρωση ονόματος χρήστη στο πλαίσιο διαλόγου κοινής χρήσης", - "Allow username autocompletion to users within the same groups" : "Να επιτρέπεται η αυτόματη συμπλήρωση ονόματος χρήστη σε χρήστες στις ίδιες ομάδες", - "Avatar" : "Εικόνα προφίλ" + "Allow username autocompletion to users within the same groups" : "Να επιτρέπεται η αυτόματη συμπλήρωση ονόματος χρήστη σε χρήστες στις ίδιες ομάδες" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/settings/l10n/en_GB.js b/apps/settings/l10n/en_GB.js index 09874feedee..cb2100e4beb 100644 --- a/apps/settings/l10n/en_GB.js +++ b/apps/settings/l10n/en_GB.js @@ -316,7 +316,7 @@ OC.L10N.register( "Week starts on {firstDayOfWeek}" : "Week starts on {firstDayOfWeek}", "Unable to update locale" : "Unable to update locale", "No locale set" : "No locale set", - "Your location" : "Your location", + "Your city" : "Your city", "Your organisation" : "Your organisation", "Your phone number" : "Your phone number", "Edit your Profile visibility" : "Edit your Profile visibility", @@ -334,6 +334,35 @@ OC.L10N.register( "Unable to update federation scope of additional {property}" : "Unable to update federation scope of additional {property}", "Add additional email" : "Add additional email", "Add" : "Add", + "User's table" : "User's table", + "Display name" : "Display name", + "Email" : "Email", + "Group admin for" : "Group admin for", + "Quota" : "Quota", + "User backend" : "User backend", + "Storage location" : "Storage location", + "Last login" : "Last login", + "Manager" : "Manager", + "No users in here" : "No users in here", + "Default quota" : "Default quota", + "Default language" : "Default language", + "Common languages" : "Common languages", + "Other languages" : "Other languages", + "Password change is disabled because the master key is disabled" : "Password change is disabled because the master key is disabled", + "New user" : "New user", + "Either password or email is required" : "Either password or email is required", + "Password (required)" : "Password (required)", + "Email (required)" : "Email (required)", + "Groups (required)" : "Groups (required)", + "Set user groups" : "Set user groups", + "Administered groups" : "Administered groups", + "Set user as admin for …" : "Set user as admin for …", + "Set user quota" : "Set user quota", + "Set default language" : "Set default language", + "Set user manager" : "Set user manager", + "Add new user" : "Add new user", + "Username will be autogenerated" : "Username will be autogenerated", + "Username (required)" : "Username (required)", "You do not have permissions to see the details of this user" : "You do not have permissions to see the details of this user", "Edit display name" : "Edit display name", "Add new password" : "Add new password", @@ -358,25 +387,6 @@ OC.L10N.register( "Welcome mail sent!" : "Welcome mail sent!", "Edit User" : "Edit User", "{size} used" : "{size} used", - "User's table" : "User's table", - "New user" : "New user", - "Will be autogenerated" : "Will be autogenerated", - "Display name" : "Display name", - "Email" : "Email", - "Default language" : "Default language", - "Select user manager" : "Select user manager", - "Add a new user" : "Add a new user", - "Group admin for" : "Group admin for", - "Quota" : "Quota", - "User backend" : "User backend", - "Storage location" : "Storage location", - "Last login" : "Last login", - "Manager" : "Manager", - "No users in here" : "No users in here", - "Default quota" : "Default quota", - "Common languages" : "Common languages", - "Other languages" : "Other languages", - "Password change is disabled because the master key is disabled" : "Password change is disabled because the master key is disabled", "Passwordless authentication requires a secure connection." : "Passwordless authentication requires a secure connection.", "Add WebAuthn device" : "Add WebAuthn device", "Please authorize your WebAuthn device." : "Please authorise your WebAuthn device.", @@ -401,7 +411,7 @@ OC.L10N.register( "Disabled users" : "Disabled users", "Default quota:" : "Default quota:", "Select default quota" : "Select default quota", - "Show Languages" : "Show Languages", + "Show languages" : "Show languages", "Show last login" : "Show last login", "Show user backend" : "Show user backend", "Show storage path" : "Show storage path", @@ -445,7 +455,8 @@ OC.L10N.register( "Documentation" : "Documentation", "Forum" : "Forum", "Login" : "Login", - "SSL/TLS" : "SSL/TLS", + "None/STARTTLS" : "None/STARTTLS", + "SSL" : "SSL", "Open documentation" : "Open documentation", "It is important to set up this server to be able to send emails, like for password reset and notifications." : "It is important to set up this server to be able to send emails, like for password reset and notifications.", "Send mode" : "Send mode", @@ -454,8 +465,7 @@ OC.L10N.register( "From address" : "From address", "Server address" : "Server address", "Port" : "Port", - "Authentication method" : "Authentication method", - "Only applies when authentication is required" : "Only applies when authentication is required", + "Authentication" : "Authentication", "Authentication required" : "Authentication required", "Credentials" : "Credentials", "SMTP Username" : "SMTP Username", @@ -513,12 +523,17 @@ OC.L10N.register( "An administrator created app password \"{token}\"" : "An administrator created app password \"{token}\"", "Choose profile picture from files" : "Choose profile picture from files", "png or jpg, max. 20 MB" : "png or jpg, max. 20 MB", + "Your location" : "Your location", + "Will be autogenerated" : "Will be autogenerated", + "Add a new user" : "Add a new user", + "Show Languages" : "Show Languages", "Plain" : "Plain", "NT LAN Manager" : "NT LAN Manager", + "SSL/TLS" : "SSL/TLS", "STARTTLS" : "STARTTLS", + "Authentication method" : "Authentication method", "Allow username autocompletion in share dialog" : "Allow username autocompletion in share dialogue", "Allow username autocompletion to users within the same groups" : "Allow username autocompletion to users within the same groups", - "Avatar" : "Avatar", - "User actions" : "User actions" + "Select user manager" : "Select user manager" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/settings/l10n/en_GB.json b/apps/settings/l10n/en_GB.json index 524ded571f5..2aced551aa7 100644 --- a/apps/settings/l10n/en_GB.json +++ b/apps/settings/l10n/en_GB.json @@ -314,7 +314,7 @@ "Week starts on {firstDayOfWeek}" : "Week starts on {firstDayOfWeek}", "Unable to update locale" : "Unable to update locale", "No locale set" : "No locale set", - "Your location" : "Your location", + "Your city" : "Your city", "Your organisation" : "Your organisation", "Your phone number" : "Your phone number", "Edit your Profile visibility" : "Edit your Profile visibility", @@ -332,6 +332,35 @@ "Unable to update federation scope of additional {property}" : "Unable to update federation scope of additional {property}", "Add additional email" : "Add additional email", "Add" : "Add", + "User's table" : "User's table", + "Display name" : "Display name", + "Email" : "Email", + "Group admin for" : "Group admin for", + "Quota" : "Quota", + "User backend" : "User backend", + "Storage location" : "Storage location", + "Last login" : "Last login", + "Manager" : "Manager", + "No users in here" : "No users in here", + "Default quota" : "Default quota", + "Default language" : "Default language", + "Common languages" : "Common languages", + "Other languages" : "Other languages", + "Password change is disabled because the master key is disabled" : "Password change is disabled because the master key is disabled", + "New user" : "New user", + "Either password or email is required" : "Either password or email is required", + "Password (required)" : "Password (required)", + "Email (required)" : "Email (required)", + "Groups (required)" : "Groups (required)", + "Set user groups" : "Set user groups", + "Administered groups" : "Administered groups", + "Set user as admin for …" : "Set user as admin for …", + "Set user quota" : "Set user quota", + "Set default language" : "Set default language", + "Set user manager" : "Set user manager", + "Add new user" : "Add new user", + "Username will be autogenerated" : "Username will be autogenerated", + "Username (required)" : "Username (required)", "You do not have permissions to see the details of this user" : "You do not have permissions to see the details of this user", "Edit display name" : "Edit display name", "Add new password" : "Add new password", @@ -356,25 +385,6 @@ "Welcome mail sent!" : "Welcome mail sent!", "Edit User" : "Edit User", "{size} used" : "{size} used", - "User's table" : "User's table", - "New user" : "New user", - "Will be autogenerated" : "Will be autogenerated", - "Display name" : "Display name", - "Email" : "Email", - "Default language" : "Default language", - "Select user manager" : "Select user manager", - "Add a new user" : "Add a new user", - "Group admin for" : "Group admin for", - "Quota" : "Quota", - "User backend" : "User backend", - "Storage location" : "Storage location", - "Last login" : "Last login", - "Manager" : "Manager", - "No users in here" : "No users in here", - "Default quota" : "Default quota", - "Common languages" : "Common languages", - "Other languages" : "Other languages", - "Password change is disabled because the master key is disabled" : "Password change is disabled because the master key is disabled", "Passwordless authentication requires a secure connection." : "Passwordless authentication requires a secure connection.", "Add WebAuthn device" : "Add WebAuthn device", "Please authorize your WebAuthn device." : "Please authorise your WebAuthn device.", @@ -399,7 +409,7 @@ "Disabled users" : "Disabled users", "Default quota:" : "Default quota:", "Select default quota" : "Select default quota", - "Show Languages" : "Show Languages", + "Show languages" : "Show languages", "Show last login" : "Show last login", "Show user backend" : "Show user backend", "Show storage path" : "Show storage path", @@ -443,7 +453,8 @@ "Documentation" : "Documentation", "Forum" : "Forum", "Login" : "Login", - "SSL/TLS" : "SSL/TLS", + "None/STARTTLS" : "None/STARTTLS", + "SSL" : "SSL", "Open documentation" : "Open documentation", "It is important to set up this server to be able to send emails, like for password reset and notifications." : "It is important to set up this server to be able to send emails, like for password reset and notifications.", "Send mode" : "Send mode", @@ -452,8 +463,7 @@ "From address" : "From address", "Server address" : "Server address", "Port" : "Port", - "Authentication method" : "Authentication method", - "Only applies when authentication is required" : "Only applies when authentication is required", + "Authentication" : "Authentication", "Authentication required" : "Authentication required", "Credentials" : "Credentials", "SMTP Username" : "SMTP Username", @@ -511,12 +521,17 @@ "An administrator created app password \"{token}\"" : "An administrator created app password \"{token}\"", "Choose profile picture from files" : "Choose profile picture from files", "png or jpg, max. 20 MB" : "png or jpg, max. 20 MB", + "Your location" : "Your location", + "Will be autogenerated" : "Will be autogenerated", + "Add a new user" : "Add a new user", + "Show Languages" : "Show Languages", "Plain" : "Plain", "NT LAN Manager" : "NT LAN Manager", + "SSL/TLS" : "SSL/TLS", "STARTTLS" : "STARTTLS", + "Authentication method" : "Authentication method", "Allow username autocompletion in share dialog" : "Allow username autocompletion in share dialogue", "Allow username autocompletion to users within the same groups" : "Allow username autocompletion to users within the same groups", - "Avatar" : "Avatar", - "User actions" : "User actions" + "Select user manager" : "Select user manager" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/settings/l10n/eo.js b/apps/settings/l10n/eo.js index 4412f3d0e89..27fe2b70bf6 100644 --- a/apps/settings/l10n/eo.js +++ b/apps/settings/l10n/eo.js @@ -207,6 +207,19 @@ OC.L10N.register( "Locale" : "Lokaĵaro", "Your phone number" : "Via telefonnumero", "Add" : "Aldoni", + "Display name" : "Vidiga nomo", + "Email" : "Retpoŝtadreso", + "Group admin for" : "Grupadministranto por", + "Quota" : "Kvoto", + "User backend" : "Uzanto-loko", + "Storage location" : "Konserveja loko", + "Last login" : "Lasta ensaluto", + "No users in here" : "Neniu uzanto ĉi tie", + "Default quota" : "Defaŭlta kvoto", + "Default language" : "Defaŭlta lingvo", + "Common languages" : "Ordinaraj lingvoj", + "Password change is disabled because the master key is disabled" : "Pasvorta ŝanĝo ne eblas, ĉar la ĉefa ŝlosilo estas neebligita", + "New user" : "Nova uzanto", "You do not have permissions to see the details of this user" : "Vi ne rajtas vidi detalojn pri tiu ĉu uzanto", "Set user as admin for" : "Agordi uzanton kiel administranto por", "Select user quota" : "Elekti uzant-kvoton", @@ -223,21 +236,6 @@ OC.L10N.register( "Delete {userid}'s account" : "Forigi konton de {userid}", "Welcome mail sent!" : "Bonvena retpoŝtmesaĝo sendita!", "{size} used" : "{size} uzataj", - "New user" : "Nova uzanto", - "Will be autogenerated" : "Estos memgenerita", - "Display name" : "Vidiga nomo", - "Email" : "Retpoŝtadreso", - "Default language" : "Defaŭlta lingvo", - "Add a new user" : "Aldoni novan uzanton", - "Group admin for" : "Grupadministranto por", - "Quota" : "Kvoto", - "User backend" : "Uzanto-loko", - "Storage location" : "Konserveja loko", - "Last login" : "Lasta ensaluto", - "No users in here" : "Neniu uzanto ĉi tie", - "Default quota" : "Defaŭlta kvoto", - "Common languages" : "Ordinaraj lingvoj", - "Password change is disabled because the master key is disabled" : "Pasvorta ŝanĝo ne eblas, ĉar la ĉefa ŝlosilo estas neebligita", "Your apps" : "Viaj aplikaĵoj", "{license}-licensed" : "Permesilo: {license}", "Changelog" : "Ŝanĝoprotokolo", @@ -247,7 +245,6 @@ OC.L10N.register( "Disabled users" : "Malebligitaj uzantoj", "Default quota:" : "Defaŭlta kvoto:", "Select default quota" : "Elekti defaŭltan kvoton", - "Show Languages" : "Montri lingvojn", "Show last login" : "Montri lastan ensaluton", "Show user backend" : "Montri uzantolokon", "Show storage path" : "Montri vojon al konservejo", @@ -275,7 +272,7 @@ OC.L10N.register( "Documentation" : "Dokumentaro", "Forum" : "Forumo", "Login" : "Ensaluti", - "SSL/TLS" : "SSL/TLS", + "SSL" : "SSL", "Open documentation" : "Malfermi la dokumentaron", "It is important to set up this server to be able to send emails, like for password reset and notifications." : "Gravas agordi tiun ĉi servilon por povi sendi retpoŝtmesaĝojn, ekz. por restarigo de pasvorto aŭ sciigoj.", "Send mode" : "Kiel sendi", @@ -284,7 +281,7 @@ OC.L10N.register( "From address" : "El adreso", "Server address" : "Servila adreso", "Port" : "Pordo", - "Authentication method" : "Aŭtentiga metodo", + "Authentication" : "Aŭtentigo", "Authentication required" : "Aŭtentiĝo nepras", "Credentials" : "Aŭtentigiloj", "SMTP Username" : "SMTP-uzantonomo", @@ -323,9 +320,13 @@ OC.L10N.register( "Use a second factor besides your password to increase security for your account." : "Uzu duan fazon krom via pasvorto por plisekurigi vian konton.", "You created app password \"{token}\"" : "Vi kreis aplikaĵan pasvorton „{token}“", "png or jpg, max. 20 MB" : "png aŭ jpg, maksimume 20 MB", + "Will be autogenerated" : "Estos memgenerita", + "Add a new user" : "Aldoni novan uzanton", + "Show Languages" : "Montri lingvojn", "Plain" : "Plena", "NT LAN Manager" : "NT LAN Manager", + "SSL/TLS" : "SSL/TLS", "STARTTLS" : "STARTTLS", - "Avatar" : "Avataro" + "Authentication method" : "Aŭtentiga metodo" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/settings/l10n/eo.json b/apps/settings/l10n/eo.json index 370e379b964..37febeed9fb 100644 --- a/apps/settings/l10n/eo.json +++ b/apps/settings/l10n/eo.json @@ -205,6 +205,19 @@ "Locale" : "Lokaĵaro", "Your phone number" : "Via telefonnumero", "Add" : "Aldoni", + "Display name" : "Vidiga nomo", + "Email" : "Retpoŝtadreso", + "Group admin for" : "Grupadministranto por", + "Quota" : "Kvoto", + "User backend" : "Uzanto-loko", + "Storage location" : "Konserveja loko", + "Last login" : "Lasta ensaluto", + "No users in here" : "Neniu uzanto ĉi tie", + "Default quota" : "Defaŭlta kvoto", + "Default language" : "Defaŭlta lingvo", + "Common languages" : "Ordinaraj lingvoj", + "Password change is disabled because the master key is disabled" : "Pasvorta ŝanĝo ne eblas, ĉar la ĉefa ŝlosilo estas neebligita", + "New user" : "Nova uzanto", "You do not have permissions to see the details of this user" : "Vi ne rajtas vidi detalojn pri tiu ĉu uzanto", "Set user as admin for" : "Agordi uzanton kiel administranto por", "Select user quota" : "Elekti uzant-kvoton", @@ -221,21 +234,6 @@ "Delete {userid}'s account" : "Forigi konton de {userid}", "Welcome mail sent!" : "Bonvena retpoŝtmesaĝo sendita!", "{size} used" : "{size} uzataj", - "New user" : "Nova uzanto", - "Will be autogenerated" : "Estos memgenerita", - "Display name" : "Vidiga nomo", - "Email" : "Retpoŝtadreso", - "Default language" : "Defaŭlta lingvo", - "Add a new user" : "Aldoni novan uzanton", - "Group admin for" : "Grupadministranto por", - "Quota" : "Kvoto", - "User backend" : "Uzanto-loko", - "Storage location" : "Konserveja loko", - "Last login" : "Lasta ensaluto", - "No users in here" : "Neniu uzanto ĉi tie", - "Default quota" : "Defaŭlta kvoto", - "Common languages" : "Ordinaraj lingvoj", - "Password change is disabled because the master key is disabled" : "Pasvorta ŝanĝo ne eblas, ĉar la ĉefa ŝlosilo estas neebligita", "Your apps" : "Viaj aplikaĵoj", "{license}-licensed" : "Permesilo: {license}", "Changelog" : "Ŝanĝoprotokolo", @@ -245,7 +243,6 @@ "Disabled users" : "Malebligitaj uzantoj", "Default quota:" : "Defaŭlta kvoto:", "Select default quota" : "Elekti defaŭltan kvoton", - "Show Languages" : "Montri lingvojn", "Show last login" : "Montri lastan ensaluton", "Show user backend" : "Montri uzantolokon", "Show storage path" : "Montri vojon al konservejo", @@ -273,7 +270,7 @@ "Documentation" : "Dokumentaro", "Forum" : "Forumo", "Login" : "Ensaluti", - "SSL/TLS" : "SSL/TLS", + "SSL" : "SSL", "Open documentation" : "Malfermi la dokumentaron", "It is important to set up this server to be able to send emails, like for password reset and notifications." : "Gravas agordi tiun ĉi servilon por povi sendi retpoŝtmesaĝojn, ekz. por restarigo de pasvorto aŭ sciigoj.", "Send mode" : "Kiel sendi", @@ -282,7 +279,7 @@ "From address" : "El adreso", "Server address" : "Servila adreso", "Port" : "Pordo", - "Authentication method" : "Aŭtentiga metodo", + "Authentication" : "Aŭtentigo", "Authentication required" : "Aŭtentiĝo nepras", "Credentials" : "Aŭtentigiloj", "SMTP Username" : "SMTP-uzantonomo", @@ -321,9 +318,13 @@ "Use a second factor besides your password to increase security for your account." : "Uzu duan fazon krom via pasvorto por plisekurigi vian konton.", "You created app password \"{token}\"" : "Vi kreis aplikaĵan pasvorton „{token}“", "png or jpg, max. 20 MB" : "png aŭ jpg, maksimume 20 MB", + "Will be autogenerated" : "Estos memgenerita", + "Add a new user" : "Aldoni novan uzanton", + "Show Languages" : "Montri lingvojn", "Plain" : "Plena", "NT LAN Manager" : "NT LAN Manager", + "SSL/TLS" : "SSL/TLS", "STARTTLS" : "STARTTLS", - "Avatar" : "Avataro" + "Authentication method" : "Aŭtentiga metodo" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/settings/l10n/es.js b/apps/settings/l10n/es.js index 365dfe916ac..0abc76900f4 100644 --- a/apps/settings/l10n/es.js +++ b/apps/settings/l10n/es.js @@ -316,7 +316,7 @@ OC.L10N.register( "Week starts on {firstDayOfWeek}" : "La semana comienza en {firstDayOfWeek}", "Unable to update locale" : "No fue posible actualizar el idioma", "No locale set" : "No se ha establecido el idioma", - "Your location" : "Su ubicación", + "Your city" : "Tu ciudad", "Your organisation" : "Tu organización", "Your phone number" : "Su número de teléfono", "Edit your Profile visibility" : "Editar la visibilidad de tu perfil", @@ -334,6 +334,35 @@ OC.L10N.register( "Unable to update federation scope of additional {property}" : "No se puede actualizar el alcance de federación adicional de {property}", "Add additional email" : "Añadir un email adicional", "Add" : "Añadir", + "User's table" : "Tabla de usuario", + "Display name" : "Nombre para mostrar", + "Email" : "Correo electrónico", + "Group admin for" : "Administrador de grupo para", + "Quota" : "Espacio asignado", + "User backend" : "Motor de usuario", + "Storage location" : "Ubicación de los datos", + "Last login" : "Último inicio de sesión", + "Manager" : "Administrador", + "No users in here" : "No hay usuarios aquí", + "Default quota" : "Espacio predefinido", + "Default language" : "Idioma predeterminado", + "Common languages" : "Idiomas habituales", + "Other languages" : "Otros idiomas", + "Password change is disabled because the master key is disabled" : "El cambio de contraseña está desactivado porque la clave maestra está desactivada", + "New user" : "Nuevo usuario", + "Either password or email is required" : "Se requiere contraseña o correo electrónico", + "Password (required)" : "Contraseña (requerido)", + "Email (required)" : "Email (requerido)", + "Groups (required)" : "Grupos (requerido)", + "Set user groups" : "Establecer grupos de usuario", + "Administered groups" : "Grupos administrados", + "Set user as admin for …" : "Establecer usuario como admin durante …", + "Set user quota" : "Establecer cuota de usuario", + "Set default language" : "Establecer idioma por defecto", + "Set user manager" : "Establecer administrador de usuario", + "Add new user" : "Añadir nuevo usuario", + "Username will be autogenerated" : "El nombre de usuario será autogenerado", + "Username (required)" : "Nombre de usuario (requerido)", "You do not have permissions to see the details of this user" : "No tienes permisos para ver los detalles de este usuario", "Edit display name" : "Editar nombre a mostrar", "Add new password" : " Añadir nueva contraseña", @@ -358,25 +387,6 @@ OC.L10N.register( "Welcome mail sent!" : "¡Correo de bienvenida enviado!", "Edit User" : "Editar usuario", "{size} used" : "{size} usados", - "User's table" : "Tabla de usuario", - "New user" : "Nuevo usuario", - "Will be autogenerated" : "Se generará de forma automática", - "Display name" : "Nombre para mostrar", - "Email" : "Correo electrónico", - "Default language" : "Idioma predeterminado", - "Select user manager" : "Seleccione administrador de usuarios", - "Add a new user" : "Añadir nuevo usuario", - "Group admin for" : "Administrador de grupo para", - "Quota" : "Espacio asignado", - "User backend" : "Motor de usuario", - "Storage location" : "Ubicación de los datos", - "Last login" : "Último inicio de sesión", - "Manager" : "Administrador", - "No users in here" : "No hay usuarios aquí", - "Default quota" : "Espacio predefinido", - "Common languages" : "Idiomas habituales", - "Other languages" : "Otros idiomas", - "Password change is disabled because the master key is disabled" : "El cambio de contraseña está desactivado porque la clave maestra está desactivada", "Passwordless authentication requires a secure connection." : "La autenticación sin contraseña requiere una conexión segura.", "Add WebAuthn device" : "Añadir dispositivo WebAuthn", "Please authorize your WebAuthn device." : "Autorice a su dispositivo WebAuthn, por favor.", @@ -401,7 +411,7 @@ OC.L10N.register( "Disabled users" : "Usuarios inhabilitados", "Default quota:" : "Espacio por defecto:", "Select default quota" : "Seleccionar espacio por defecto", - "Show Languages" : "Mostrar idiomas", + "Show languages" : "Mostrar idiomas", "Show last login" : "Mostrar último inicio de sesión", "Show user backend" : "Mostrar motor de usuario", "Show storage path" : "Mostrar ruta de almacenamiento", @@ -445,7 +455,8 @@ OC.L10N.register( "Documentation" : "Documentación", "Forum" : "Foro", "Login" : "Iniciar sesión", - "SSL/TLS" : "SSL/TLS", + "None/STARTTLS" : "Ninguno/STARTTLS", + "SSL" : "SSL", "Open documentation" : "Abrir documentación", "It is important to set up this server to be able to send emails, like for password reset and notifications." : "Es importante configurar este servidor para que pueda enviar correos, por ejemplo para cambios de contraseñas y notificaciones.", "Send mode" : "Modo de envío", @@ -454,8 +465,7 @@ OC.L10N.register( "From address" : "Desde la dirección", "Server address" : "Dirección del servidor", "Port" : "Puerto", - "Authentication method" : "Método de autenticación", - "Only applies when authentication is required" : "Aplica solamente cuando se requiere autenticación", + "Authentication" : "Autenticación", "Authentication required" : "Se necesita autenticación", "Credentials" : "Credenciales", "SMTP Username" : "Nombre de usuario SMTP", @@ -513,12 +523,17 @@ OC.L10N.register( "An administrator created app password \"{token}\"" : "Un administrador ha creado la contraseña de app \"{token}\"", "Choose profile picture from files" : "Seleccionar imagen del perfil desde los archivos", "png or jpg, max. 20 MB" : "png o jpg, max. 20 MB", + "Your location" : "Su ubicación", + "Will be autogenerated" : "Se generará de forma automática", + "Add a new user" : "Añadir nuevo usuario", + "Show Languages" : "Mostrar idiomas", "Plain" : "Plano", "NT LAN Manager" : "Gestor de NT LAN", + "SSL/TLS" : "SSL/TLS", "STARTTLS" : "STARTTLS", + "Authentication method" : "Método de autenticación", "Allow username autocompletion in share dialog" : "Permitir autocompletar nombre de usuario en la casilla de compartir", "Allow username autocompletion to users within the same groups" : "Permitir autocompletar nombre de usuario a los usuarios del mismo grupo", - "Avatar" : "Avatar", - "User actions" : "Acciones de usuario" + "Select user manager" : "Seleccione administrador de usuarios" }, "nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); diff --git a/apps/settings/l10n/es.json b/apps/settings/l10n/es.json index 98e3b0dc571..607efbe6a17 100644 --- a/apps/settings/l10n/es.json +++ b/apps/settings/l10n/es.json @@ -314,7 +314,7 @@ "Week starts on {firstDayOfWeek}" : "La semana comienza en {firstDayOfWeek}", "Unable to update locale" : "No fue posible actualizar el idioma", "No locale set" : "No se ha establecido el idioma", - "Your location" : "Su ubicación", + "Your city" : "Tu ciudad", "Your organisation" : "Tu organización", "Your phone number" : "Su número de teléfono", "Edit your Profile visibility" : "Editar la visibilidad de tu perfil", @@ -332,6 +332,35 @@ "Unable to update federation scope of additional {property}" : "No se puede actualizar el alcance de federación adicional de {property}", "Add additional email" : "Añadir un email adicional", "Add" : "Añadir", + "User's table" : "Tabla de usuario", + "Display name" : "Nombre para mostrar", + "Email" : "Correo electrónico", + "Group admin for" : "Administrador de grupo para", + "Quota" : "Espacio asignado", + "User backend" : "Motor de usuario", + "Storage location" : "Ubicación de los datos", + "Last login" : "Último inicio de sesión", + "Manager" : "Administrador", + "No users in here" : "No hay usuarios aquí", + "Default quota" : "Espacio predefinido", + "Default language" : "Idioma predeterminado", + "Common languages" : "Idiomas habituales", + "Other languages" : "Otros idiomas", + "Password change is disabled because the master key is disabled" : "El cambio de contraseña está desactivado porque la clave maestra está desactivada", + "New user" : "Nuevo usuario", + "Either password or email is required" : "Se requiere contraseña o correo electrónico", + "Password (required)" : "Contraseña (requerido)", + "Email (required)" : "Email (requerido)", + "Groups (required)" : "Grupos (requerido)", + "Set user groups" : "Establecer grupos de usuario", + "Administered groups" : "Grupos administrados", + "Set user as admin for …" : "Establecer usuario como admin durante …", + "Set user quota" : "Establecer cuota de usuario", + "Set default language" : "Establecer idioma por defecto", + "Set user manager" : "Establecer administrador de usuario", + "Add new user" : "Añadir nuevo usuario", + "Username will be autogenerated" : "El nombre de usuario será autogenerado", + "Username (required)" : "Nombre de usuario (requerido)", "You do not have permissions to see the details of this user" : "No tienes permisos para ver los detalles de este usuario", "Edit display name" : "Editar nombre a mostrar", "Add new password" : " Añadir nueva contraseña", @@ -356,25 +385,6 @@ "Welcome mail sent!" : "¡Correo de bienvenida enviado!", "Edit User" : "Editar usuario", "{size} used" : "{size} usados", - "User's table" : "Tabla de usuario", - "New user" : "Nuevo usuario", - "Will be autogenerated" : "Se generará de forma automática", - "Display name" : "Nombre para mostrar", - "Email" : "Correo electrónico", - "Default language" : "Idioma predeterminado", - "Select user manager" : "Seleccione administrador de usuarios", - "Add a new user" : "Añadir nuevo usuario", - "Group admin for" : "Administrador de grupo para", - "Quota" : "Espacio asignado", - "User backend" : "Motor de usuario", - "Storage location" : "Ubicación de los datos", - "Last login" : "Último inicio de sesión", - "Manager" : "Administrador", - "No users in here" : "No hay usuarios aquí", - "Default quota" : "Espacio predefinido", - "Common languages" : "Idiomas habituales", - "Other languages" : "Otros idiomas", - "Password change is disabled because the master key is disabled" : "El cambio de contraseña está desactivado porque la clave maestra está desactivada", "Passwordless authentication requires a secure connection." : "La autenticación sin contraseña requiere una conexión segura.", "Add WebAuthn device" : "Añadir dispositivo WebAuthn", "Please authorize your WebAuthn device." : "Autorice a su dispositivo WebAuthn, por favor.", @@ -399,7 +409,7 @@ "Disabled users" : "Usuarios inhabilitados", "Default quota:" : "Espacio por defecto:", "Select default quota" : "Seleccionar espacio por defecto", - "Show Languages" : "Mostrar idiomas", + "Show languages" : "Mostrar idiomas", "Show last login" : "Mostrar último inicio de sesión", "Show user backend" : "Mostrar motor de usuario", "Show storage path" : "Mostrar ruta de almacenamiento", @@ -443,7 +453,8 @@ "Documentation" : "Documentación", "Forum" : "Foro", "Login" : "Iniciar sesión", - "SSL/TLS" : "SSL/TLS", + "None/STARTTLS" : "Ninguno/STARTTLS", + "SSL" : "SSL", "Open documentation" : "Abrir documentación", "It is important to set up this server to be able to send emails, like for password reset and notifications." : "Es importante configurar este servidor para que pueda enviar correos, por ejemplo para cambios de contraseñas y notificaciones.", "Send mode" : "Modo de envío", @@ -452,8 +463,7 @@ "From address" : "Desde la dirección", "Server address" : "Dirección del servidor", "Port" : "Puerto", - "Authentication method" : "Método de autenticación", - "Only applies when authentication is required" : "Aplica solamente cuando se requiere autenticación", + "Authentication" : "Autenticación", "Authentication required" : "Se necesita autenticación", "Credentials" : "Credenciales", "SMTP Username" : "Nombre de usuario SMTP", @@ -511,12 +521,17 @@ "An administrator created app password \"{token}\"" : "Un administrador ha creado la contraseña de app \"{token}\"", "Choose profile picture from files" : "Seleccionar imagen del perfil desde los archivos", "png or jpg, max. 20 MB" : "png o jpg, max. 20 MB", + "Your location" : "Su ubicación", + "Will be autogenerated" : "Se generará de forma automática", + "Add a new user" : "Añadir nuevo usuario", + "Show Languages" : "Mostrar idiomas", "Plain" : "Plano", "NT LAN Manager" : "Gestor de NT LAN", + "SSL/TLS" : "SSL/TLS", "STARTTLS" : "STARTTLS", + "Authentication method" : "Método de autenticación", "Allow username autocompletion in share dialog" : "Permitir autocompletar nombre de usuario en la casilla de compartir", "Allow username autocompletion to users within the same groups" : "Permitir autocompletar nombre de usuario a los usuarios del mismo grupo", - "Avatar" : "Avatar", - "User actions" : "Acciones de usuario" + "Select user manager" : "Seleccione administrador de usuarios" },"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" }
\ No newline at end of file diff --git a/apps/settings/l10n/es_419.js b/apps/settings/l10n/es_419.js index dc966806997..78779af1b8a 100644 --- a/apps/settings/l10n/es_419.js +++ b/apps/settings/l10n/es_419.js @@ -158,7 +158,6 @@ OC.L10N.register( "Your Twitter handle" : "Tu cuenta de Twitter", "Your website" : "Tu sitio web", "Add" : "Agregar", - "{size} used" : "{size} usado", "Display name" : "Nombre a desplegar", "Email" : "Correo electrónico", "Group admin for" : "Administrador del grupo para", @@ -167,6 +166,7 @@ OC.L10N.register( "Storage location" : "Úbicación del almacenamiento", "Last login" : "Último inicio de sesión", "Default quota" : "Cuota predeterminada", + "{size} used" : "{size} usado", "Unnamed device" : "Dispositivo sin nombre", "Your apps" : "Tus aplicaciones", "Changelog" : "Bitácora de cambios", @@ -195,7 +195,7 @@ OC.L10N.register( "Documentation" : "Documentación", "Forum" : "Foro", "Login" : "Iniciar sesión", - "SSL/TLS" : "SSL/TLS", + "SSL" : "SSL", "Open documentation" : "Abrir documentación", "It is important to set up this server to be able to send emails, like for password reset and notifications." : "Es importante preparar este servidor para poder enviar correos electrónicos, como para restablecer contraseñas y notificaciones. ", "Send mode" : "Modo de envío", @@ -203,7 +203,7 @@ OC.L10N.register( "From address" : "De la dirección", "Server address" : "Dirección del servidor", "Port" : "Puerto", - "Authentication method" : "Método de autenticación", + "Authentication" : "Autenticación", "Authentication required" : "Autenticación requerida", "Credentials" : "Credenciales", "SMTP Username" : "Usuario SMTP", @@ -235,7 +235,8 @@ OC.L10N.register( "png or jpg, max. 20 MB" : "png o jpg max. 20 MB", "Plain" : "Plano", "NT LAN Manager" : "Administrador de LAN NT", + "SSL/TLS" : "SSL/TLS", "STARTTLS" : "STARTTLS", - "Avatar" : "Avatar" + "Authentication method" : "Método de autenticación" }, "nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); diff --git a/apps/settings/l10n/es_419.json b/apps/settings/l10n/es_419.json index 494ceccde4e..858824d2bb5 100644 --- a/apps/settings/l10n/es_419.json +++ b/apps/settings/l10n/es_419.json @@ -156,7 +156,6 @@ "Your Twitter handle" : "Tu cuenta de Twitter", "Your website" : "Tu sitio web", "Add" : "Agregar", - "{size} used" : "{size} usado", "Display name" : "Nombre a desplegar", "Email" : "Correo electrónico", "Group admin for" : "Administrador del grupo para", @@ -165,6 +164,7 @@ "Storage location" : "Úbicación del almacenamiento", "Last login" : "Último inicio de sesión", "Default quota" : "Cuota predeterminada", + "{size} used" : "{size} usado", "Unnamed device" : "Dispositivo sin nombre", "Your apps" : "Tus aplicaciones", "Changelog" : "Bitácora de cambios", @@ -193,7 +193,7 @@ "Documentation" : "Documentación", "Forum" : "Foro", "Login" : "Iniciar sesión", - "SSL/TLS" : "SSL/TLS", + "SSL" : "SSL", "Open documentation" : "Abrir documentación", "It is important to set up this server to be able to send emails, like for password reset and notifications." : "Es importante preparar este servidor para poder enviar correos electrónicos, como para restablecer contraseñas y notificaciones. ", "Send mode" : "Modo de envío", @@ -201,7 +201,7 @@ "From address" : "De la dirección", "Server address" : "Dirección del servidor", "Port" : "Puerto", - "Authentication method" : "Método de autenticación", + "Authentication" : "Autenticación", "Authentication required" : "Autenticación requerida", "Credentials" : "Credenciales", "SMTP Username" : "Usuario SMTP", @@ -233,7 +233,8 @@ "png or jpg, max. 20 MB" : "png o jpg max. 20 MB", "Plain" : "Plano", "NT LAN Manager" : "Administrador de LAN NT", + "SSL/TLS" : "SSL/TLS", "STARTTLS" : "STARTTLS", - "Avatar" : "Avatar" + "Authentication method" : "Método de autenticación" },"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" }
\ No newline at end of file diff --git a/apps/settings/l10n/es_AR.js b/apps/settings/l10n/es_AR.js index f6c7e141df4..9559f76e648 100644 --- a/apps/settings/l10n/es_AR.js +++ b/apps/settings/l10n/es_AR.js @@ -186,7 +186,7 @@ OC.L10N.register( "Documentation" : "Documentación", "Forum" : "Foro", "Login" : "Inicio de sesión", - "SSL/TLS" : "SSL/TLS", + "SSL" : "SSL", "Open documentation" : "Abrir documentación", "It is important to set up this server to be able to send emails, like for password reset and notifications." : "Es importante preparar este servidor para poder enviar correos electrónicos, como para restablecer contraseñas y notificaciones. ", "Send mode" : "Modo de envío", @@ -194,7 +194,7 @@ OC.L10N.register( "From address" : "De la dirección", "Server address" : "Dirección del servidor", "Port" : "Puerto", - "Authentication method" : "Método de autenticación", + "Authentication" : "Autenticación", "Authentication required" : "Autenticación requerida", "Credentials" : "Credenciales", "SMTP Username" : "nombre de usuario SMTP", @@ -224,7 +224,8 @@ OC.L10N.register( "png or jpg, max. 20 MB" : "png o jpg max. 20 MB", "Plain" : "Plano", "NT LAN Manager" : "Administrador de LAN NT", + "SSL/TLS" : "SSL/TLS", "STARTTLS" : "STARTTLS", - "Avatar" : "Avatar" + "Authentication method" : "Método de autenticación" }, "nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); diff --git a/apps/settings/l10n/es_AR.json b/apps/settings/l10n/es_AR.json index eefe60a0fb5..16bfb8ff9af 100644 --- a/apps/settings/l10n/es_AR.json +++ b/apps/settings/l10n/es_AR.json @@ -184,7 +184,7 @@ "Documentation" : "Documentación", "Forum" : "Foro", "Login" : "Inicio de sesión", - "SSL/TLS" : "SSL/TLS", + "SSL" : "SSL", "Open documentation" : "Abrir documentación", "It is important to set up this server to be able to send emails, like for password reset and notifications." : "Es importante preparar este servidor para poder enviar correos electrónicos, como para restablecer contraseñas y notificaciones. ", "Send mode" : "Modo de envío", @@ -192,7 +192,7 @@ "From address" : "De la dirección", "Server address" : "Dirección del servidor", "Port" : "Puerto", - "Authentication method" : "Método de autenticación", + "Authentication" : "Autenticación", "Authentication required" : "Autenticación requerida", "Credentials" : "Credenciales", "SMTP Username" : "nombre de usuario SMTP", @@ -222,7 +222,8 @@ "png or jpg, max. 20 MB" : "png o jpg max. 20 MB", "Plain" : "Plano", "NT LAN Manager" : "Administrador de LAN NT", + "SSL/TLS" : "SSL/TLS", "STARTTLS" : "STARTTLS", - "Avatar" : "Avatar" + "Authentication method" : "Método de autenticación" },"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" }
\ No newline at end of file diff --git a/apps/settings/l10n/es_CL.js b/apps/settings/l10n/es_CL.js index fa63dd25f9d..3de277eea5c 100644 --- a/apps/settings/l10n/es_CL.js +++ b/apps/settings/l10n/es_CL.js @@ -157,7 +157,6 @@ OC.L10N.register( "Your Twitter handle" : "Tu cuenta de Twitter", "Your website" : "Tu sitio web", "Add" : "Agregar", - "{size} used" : "{size} usado", "Display name" : "Nombre a desplegar", "Email" : "Correo electrónico", "Group admin for" : "Administrador del grupo para", @@ -166,6 +165,7 @@ OC.L10N.register( "Storage location" : "Úbicación del almacenamiento", "Last login" : "Último inicio de sesión", "Default quota" : "Cuota predeterminada", + "{size} used" : "{size} usado", "Unnamed device" : "Dispositivo sin nombre", "Your apps" : "Tus aplicaciones", "Changelog" : "Bitácora de cambios", @@ -194,7 +194,7 @@ OC.L10N.register( "Documentation" : "Documentación", "Forum" : "Foro", "Login" : "Iniciar sesión", - "SSL/TLS" : "SSL/TLS", + "SSL" : "SSL", "Open documentation" : "Abrir documentación", "It is important to set up this server to be able to send emails, like for password reset and notifications." : "Es importante preparar este servidor para poder enviar correos electrónicos, como para restablecer contraseñas y notificaciones. ", "Send mode" : "Modo de envío", @@ -202,7 +202,7 @@ OC.L10N.register( "From address" : "De la dirección", "Server address" : "Dirección del servidor", "Port" : "Puerto", - "Authentication method" : "Método de autenticación", + "Authentication" : "Autenticación", "Authentication required" : "Autenticación requerida", "Credentials" : "Credenciales", "SMTP Username" : "Usuario SMTP", @@ -233,7 +233,8 @@ OC.L10N.register( "png or jpg, max. 20 MB" : "png o jpg max. 20 MB", "Plain" : "Plano", "NT LAN Manager" : "Administrador de LAN NT", + "SSL/TLS" : "SSL/TLS", "STARTTLS" : "STARTTLS", - "Avatar" : "Avatar" + "Authentication method" : "Método de autenticación" }, "nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); diff --git a/apps/settings/l10n/es_CL.json b/apps/settings/l10n/es_CL.json index be88ffcef62..0f5a25757e5 100644 --- a/apps/settings/l10n/es_CL.json +++ b/apps/settings/l10n/es_CL.json @@ -155,7 +155,6 @@ "Your Twitter handle" : "Tu cuenta de Twitter", "Your website" : "Tu sitio web", "Add" : "Agregar", - "{size} used" : "{size} usado", "Display name" : "Nombre a desplegar", "Email" : "Correo electrónico", "Group admin for" : "Administrador del grupo para", @@ -164,6 +163,7 @@ "Storage location" : "Úbicación del almacenamiento", "Last login" : "Último inicio de sesión", "Default quota" : "Cuota predeterminada", + "{size} used" : "{size} usado", "Unnamed device" : "Dispositivo sin nombre", "Your apps" : "Tus aplicaciones", "Changelog" : "Bitácora de cambios", @@ -192,7 +192,7 @@ "Documentation" : "Documentación", "Forum" : "Foro", "Login" : "Iniciar sesión", - "SSL/TLS" : "SSL/TLS", + "SSL" : "SSL", "Open documentation" : "Abrir documentación", "It is important to set up this server to be able to send emails, like for password reset and notifications." : "Es importante preparar este servidor para poder enviar correos electrónicos, como para restablecer contraseñas y notificaciones. ", "Send mode" : "Modo de envío", @@ -200,7 +200,7 @@ "From address" : "De la dirección", "Server address" : "Dirección del servidor", "Port" : "Puerto", - "Authentication method" : "Método de autenticación", + "Authentication" : "Autenticación", "Authentication required" : "Autenticación requerida", "Credentials" : "Credenciales", "SMTP Username" : "Usuario SMTP", @@ -231,7 +231,8 @@ "png or jpg, max. 20 MB" : "png o jpg max. 20 MB", "Plain" : "Plano", "NT LAN Manager" : "Administrador de LAN NT", + "SSL/TLS" : "SSL/TLS", "STARTTLS" : "STARTTLS", - "Avatar" : "Avatar" + "Authentication method" : "Método de autenticación" },"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" }
\ No newline at end of file diff --git a/apps/settings/l10n/es_CO.js b/apps/settings/l10n/es_CO.js index 86e2a368ee4..ffc7cf3a38a 100644 --- a/apps/settings/l10n/es_CO.js +++ b/apps/settings/l10n/es_CO.js @@ -157,7 +157,6 @@ OC.L10N.register( "Your Twitter handle" : "Tu cuenta de Twitter", "Your website" : "Tu sitio web", "Add" : "Agregar", - "{size} used" : "{size} usado", "Display name" : "Nombre a desplegar", "Email" : "Correo electrónico", "Group admin for" : "Administrador del grupo para", @@ -166,6 +165,7 @@ OC.L10N.register( "Storage location" : "Úbicación del almacenamiento", "Last login" : "Último inicio de sesión", "Default quota" : "Cuota predeterminada", + "{size} used" : "{size} usado", "Unnamed device" : "Dispositivo sin nombre", "Your apps" : "Tus aplicaciones", "Changelog" : "Bitácora de cambios", @@ -194,7 +194,7 @@ OC.L10N.register( "Documentation" : "Documentación", "Forum" : "Foro", "Login" : "Iniciar sesión", - "SSL/TLS" : "SSL/TLS", + "SSL" : "SSL", "Open documentation" : "Abrir documentación", "It is important to set up this server to be able to send emails, like for password reset and notifications." : "Es importante preparar este servidor para poder enviar correos electrónicos, como para restablecer contraseñas y notificaciones. ", "Send mode" : "Modo de envío", @@ -202,7 +202,7 @@ OC.L10N.register( "From address" : "De la dirección", "Server address" : "Dirección del servidor", "Port" : "Puerto", - "Authentication method" : "Método de autenticación", + "Authentication" : "Autenticación", "Authentication required" : "Autenticación requerida", "Credentials" : "Credenciales", "SMTP Username" : "Usuario SMTP", @@ -233,7 +233,8 @@ OC.L10N.register( "png or jpg, max. 20 MB" : "png o jpg max. 20 MB", "Plain" : "Plano", "NT LAN Manager" : "Administrador de LAN NT", + "SSL/TLS" : "SSL/TLS", "STARTTLS" : "STARTTLS", - "Avatar" : "Avatar" + "Authentication method" : "Método de autenticación" }, "nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); diff --git a/apps/settings/l10n/es_CO.json b/apps/settings/l10n/es_CO.json index a14faf410c5..ea1da4faa2b 100644 --- a/apps/settings/l10n/es_CO.json +++ b/apps/settings/l10n/es_CO.json @@ -155,7 +155,6 @@ "Your Twitter handle" : "Tu cuenta de Twitter", "Your website" : "Tu sitio web", "Add" : "Agregar", - "{size} used" : "{size} usado", "Display name" : "Nombre a desplegar", "Email" : "Correo electrónico", "Group admin for" : "Administrador del grupo para", @@ -164,6 +163,7 @@ "Storage location" : "Úbicación del almacenamiento", "Last login" : "Último inicio de sesión", "Default quota" : "Cuota predeterminada", + "{size} used" : "{size} usado", "Unnamed device" : "Dispositivo sin nombre", "Your apps" : "Tus aplicaciones", "Changelog" : "Bitácora de cambios", @@ -192,7 +192,7 @@ "Documentation" : "Documentación", "Forum" : "Foro", "Login" : "Iniciar sesión", - "SSL/TLS" : "SSL/TLS", + "SSL" : "SSL", "Open documentation" : "Abrir documentación", "It is important to set up this server to be able to send emails, like for password reset and notifications." : "Es importante preparar este servidor para poder enviar correos electrónicos, como para restablecer contraseñas y notificaciones. ", "Send mode" : "Modo de envío", @@ -200,7 +200,7 @@ "From address" : "De la dirección", "Server address" : "Dirección del servidor", "Port" : "Puerto", - "Authentication method" : "Método de autenticación", + "Authentication" : "Autenticación", "Authentication required" : "Autenticación requerida", "Credentials" : "Credenciales", "SMTP Username" : "Usuario SMTP", @@ -231,7 +231,8 @@ "png or jpg, max. 20 MB" : "png o jpg max. 20 MB", "Plain" : "Plano", "NT LAN Manager" : "Administrador de LAN NT", + "SSL/TLS" : "SSL/TLS", "STARTTLS" : "STARTTLS", - "Avatar" : "Avatar" + "Authentication method" : "Método de autenticación" },"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" }
\ No newline at end of file diff --git a/apps/settings/l10n/es_CR.js b/apps/settings/l10n/es_CR.js index 86e2a368ee4..ffc7cf3a38a 100644 --- a/apps/settings/l10n/es_CR.js +++ b/apps/settings/l10n/es_CR.js @@ -157,7 +157,6 @@ OC.L10N.register( "Your Twitter handle" : "Tu cuenta de Twitter", "Your website" : "Tu sitio web", "Add" : "Agregar", - "{size} used" : "{size} usado", "Display name" : "Nombre a desplegar", "Email" : "Correo electrónico", "Group admin for" : "Administrador del grupo para", @@ -166,6 +165,7 @@ OC.L10N.register( "Storage location" : "Úbicación del almacenamiento", "Last login" : "Último inicio de sesión", "Default quota" : "Cuota predeterminada", + "{size} used" : "{size} usado", "Unnamed device" : "Dispositivo sin nombre", "Your apps" : "Tus aplicaciones", "Changelog" : "Bitácora de cambios", @@ -194,7 +194,7 @@ OC.L10N.register( "Documentation" : "Documentación", "Forum" : "Foro", "Login" : "Iniciar sesión", - "SSL/TLS" : "SSL/TLS", + "SSL" : "SSL", "Open documentation" : "Abrir documentación", "It is important to set up this server to be able to send emails, like for password reset and notifications." : "Es importante preparar este servidor para poder enviar correos electrónicos, como para restablecer contraseñas y notificaciones. ", "Send mode" : "Modo de envío", @@ -202,7 +202,7 @@ OC.L10N.register( "From address" : "De la dirección", "Server address" : "Dirección del servidor", "Port" : "Puerto", - "Authentication method" : "Método de autenticación", + "Authentication" : "Autenticación", "Authentication required" : "Autenticación requerida", "Credentials" : "Credenciales", "SMTP Username" : "Usuario SMTP", @@ -233,7 +233,8 @@ OC.L10N.register( "png or jpg, max. 20 MB" : "png o jpg max. 20 MB", "Plain" : "Plano", "NT LAN Manager" : "Administrador de LAN NT", + "SSL/TLS" : "SSL/TLS", "STARTTLS" : "STARTTLS", - "Avatar" : "Avatar" + "Authentication method" : "Método de autenticación" }, "nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); diff --git a/apps/settings/l10n/es_CR.json b/apps/settings/l10n/es_CR.json index a14faf410c5..ea1da4faa2b 100644 --- a/apps/settings/l10n/es_CR.json +++ b/apps/settings/l10n/es_CR.json @@ -155,7 +155,6 @@ "Your Twitter handle" : "Tu cuenta de Twitter", "Your website" : "Tu sitio web", "Add" : "Agregar", - "{size} used" : "{size} usado", "Display name" : "Nombre a desplegar", "Email" : "Correo electrónico", "Group admin for" : "Administrador del grupo para", @@ -164,6 +163,7 @@ "Storage location" : "Úbicación del almacenamiento", "Last login" : "Último inicio de sesión", "Default quota" : "Cuota predeterminada", + "{size} used" : "{size} usado", "Unnamed device" : "Dispositivo sin nombre", "Your apps" : "Tus aplicaciones", "Changelog" : "Bitácora de cambios", @@ -192,7 +192,7 @@ "Documentation" : "Documentación", "Forum" : "Foro", "Login" : "Iniciar sesión", - "SSL/TLS" : "SSL/TLS", + "SSL" : "SSL", "Open documentation" : "Abrir documentación", "It is important to set up this server to be able to send emails, like for password reset and notifications." : "Es importante preparar este servidor para poder enviar correos electrónicos, como para restablecer contraseñas y notificaciones. ", "Send mode" : "Modo de envío", @@ -200,7 +200,7 @@ "From address" : "De la dirección", "Server address" : "Dirección del servidor", "Port" : "Puerto", - "Authentication method" : "Método de autenticación", + "Authentication" : "Autenticación", "Authentication required" : "Autenticación requerida", "Credentials" : "Credenciales", "SMTP Username" : "Usuario SMTP", @@ -231,7 +231,8 @@ "png or jpg, max. 20 MB" : "png o jpg max. 20 MB", "Plain" : "Plano", "NT LAN Manager" : "Administrador de LAN NT", + "SSL/TLS" : "SSL/TLS", "STARTTLS" : "STARTTLS", - "Avatar" : "Avatar" + "Authentication method" : "Método de autenticación" },"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" }
\ No newline at end of file diff --git a/apps/settings/l10n/es_DO.js b/apps/settings/l10n/es_DO.js index 86e2a368ee4..ffc7cf3a38a 100644 --- a/apps/settings/l10n/es_DO.js +++ b/apps/settings/l10n/es_DO.js @@ -157,7 +157,6 @@ OC.L10N.register( "Your Twitter handle" : "Tu cuenta de Twitter", "Your website" : "Tu sitio web", "Add" : "Agregar", - "{size} used" : "{size} usado", "Display name" : "Nombre a desplegar", "Email" : "Correo electrónico", "Group admin for" : "Administrador del grupo para", @@ -166,6 +165,7 @@ OC.L10N.register( "Storage location" : "Úbicación del almacenamiento", "Last login" : "Último inicio de sesión", "Default quota" : "Cuota predeterminada", + "{size} used" : "{size} usado", "Unnamed device" : "Dispositivo sin nombre", "Your apps" : "Tus aplicaciones", "Changelog" : "Bitácora de cambios", @@ -194,7 +194,7 @@ OC.L10N.register( "Documentation" : "Documentación", "Forum" : "Foro", "Login" : "Iniciar sesión", - "SSL/TLS" : "SSL/TLS", + "SSL" : "SSL", "Open documentation" : "Abrir documentación", "It is important to set up this server to be able to send emails, like for password reset and notifications." : "Es importante preparar este servidor para poder enviar correos electrónicos, como para restablecer contraseñas y notificaciones. ", "Send mode" : "Modo de envío", @@ -202,7 +202,7 @@ OC.L10N.register( "From address" : "De la dirección", "Server address" : "Dirección del servidor", "Port" : "Puerto", - "Authentication method" : "Método de autenticación", + "Authentication" : "Autenticación", "Authentication required" : "Autenticación requerida", "Credentials" : "Credenciales", "SMTP Username" : "Usuario SMTP", @@ -233,7 +233,8 @@ OC.L10N.register( "png or jpg, max. 20 MB" : "png o jpg max. 20 MB", "Plain" : "Plano", "NT LAN Manager" : "Administrador de LAN NT", + "SSL/TLS" : "SSL/TLS", "STARTTLS" : "STARTTLS", - "Avatar" : "Avatar" + "Authentication method" : "Método de autenticación" }, "nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); diff --git a/apps/settings/l10n/es_DO.json b/apps/settings/l10n/es_DO.json index a14faf410c5..ea1da4faa2b 100644 --- a/apps/settings/l10n/es_DO.json +++ b/apps/settings/l10n/es_DO.json @@ -155,7 +155,6 @@ "Your Twitter handle" : "Tu cuenta de Twitter", "Your website" : "Tu sitio web", "Add" : "Agregar", - "{size} used" : "{size} usado", "Display name" : "Nombre a desplegar", "Email" : "Correo electrónico", "Group admin for" : "Administrador del grupo para", @@ -164,6 +163,7 @@ "Storage location" : "Úbicación del almacenamiento", "Last login" : "Último inicio de sesión", "Default quota" : "Cuota predeterminada", + "{size} used" : "{size} usado", "Unnamed device" : "Dispositivo sin nombre", "Your apps" : "Tus aplicaciones", "Changelog" : "Bitácora de cambios", @@ -192,7 +192,7 @@ "Documentation" : "Documentación", "Forum" : "Foro", "Login" : "Iniciar sesión", - "SSL/TLS" : "SSL/TLS", + "SSL" : "SSL", "Open documentation" : "Abrir documentación", "It is important to set up this server to be able to send emails, like for password reset and notifications." : "Es importante preparar este servidor para poder enviar correos electrónicos, como para restablecer contraseñas y notificaciones. ", "Send mode" : "Modo de envío", @@ -200,7 +200,7 @@ "From address" : "De la dirección", "Server address" : "Dirección del servidor", "Port" : "Puerto", - "Authentication method" : "Método de autenticación", + "Authentication" : "Autenticación", "Authentication required" : "Autenticación requerida", "Credentials" : "Credenciales", "SMTP Username" : "Usuario SMTP", @@ -231,7 +231,8 @@ "png or jpg, max. 20 MB" : "png o jpg max. 20 MB", "Plain" : "Plano", "NT LAN Manager" : "Administrador de LAN NT", + "SSL/TLS" : "SSL/TLS", "STARTTLS" : "STARTTLS", - "Avatar" : "Avatar" + "Authentication method" : "Método de autenticación" },"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" }
\ No newline at end of file diff --git a/apps/settings/l10n/es_EC.js b/apps/settings/l10n/es_EC.js index 86e2a368ee4..ffc7cf3a38a 100644 --- a/apps/settings/l10n/es_EC.js +++ b/apps/settings/l10n/es_EC.js @@ -157,7 +157,6 @@ OC.L10N.register( "Your Twitter handle" : "Tu cuenta de Twitter", "Your website" : "Tu sitio web", "Add" : "Agregar", - "{size} used" : "{size} usado", "Display name" : "Nombre a desplegar", "Email" : "Correo electrónico", "Group admin for" : "Administrador del grupo para", @@ -166,6 +165,7 @@ OC.L10N.register( "Storage location" : "Úbicación del almacenamiento", "Last login" : "Último inicio de sesión", "Default quota" : "Cuota predeterminada", + "{size} used" : "{size} usado", "Unnamed device" : "Dispositivo sin nombre", "Your apps" : "Tus aplicaciones", "Changelog" : "Bitácora de cambios", @@ -194,7 +194,7 @@ OC.L10N.register( "Documentation" : "Documentación", "Forum" : "Foro", "Login" : "Iniciar sesión", - "SSL/TLS" : "SSL/TLS", + "SSL" : "SSL", "Open documentation" : "Abrir documentación", "It is important to set up this server to be able to send emails, like for password reset and notifications." : "Es importante preparar este servidor para poder enviar correos electrónicos, como para restablecer contraseñas y notificaciones. ", "Send mode" : "Modo de envío", @@ -202,7 +202,7 @@ OC.L10N.register( "From address" : "De la dirección", "Server address" : "Dirección del servidor", "Port" : "Puerto", - "Authentication method" : "Método de autenticación", + "Authentication" : "Autenticación", "Authentication required" : "Autenticación requerida", "Credentials" : "Credenciales", "SMTP Username" : "Usuario SMTP", @@ -233,7 +233,8 @@ OC.L10N.register( "png or jpg, max. 20 MB" : "png o jpg max. 20 MB", "Plain" : "Plano", "NT LAN Manager" : "Administrador de LAN NT", + "SSL/TLS" : "SSL/TLS", "STARTTLS" : "STARTTLS", - "Avatar" : "Avatar" + "Authentication method" : "Método de autenticación" }, "nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); diff --git a/apps/settings/l10n/es_EC.json b/apps/settings/l10n/es_EC.json index a14faf410c5..ea1da4faa2b 100644 --- a/apps/settings/l10n/es_EC.json +++ b/apps/settings/l10n/es_EC.json @@ -155,7 +155,6 @@ "Your Twitter handle" : "Tu cuenta de Twitter", "Your website" : "Tu sitio web", "Add" : "Agregar", - "{size} used" : "{size} usado", "Display name" : "Nombre a desplegar", "Email" : "Correo electrónico", "Group admin for" : "Administrador del grupo para", @@ -164,6 +163,7 @@ "Storage location" : "Úbicación del almacenamiento", "Last login" : "Último inicio de sesión", "Default quota" : "Cuota predeterminada", + "{size} used" : "{size} usado", "Unnamed device" : "Dispositivo sin nombre", "Your apps" : "Tus aplicaciones", "Changelog" : "Bitácora de cambios", @@ -192,7 +192,7 @@ "Documentation" : "Documentación", "Forum" : "Foro", "Login" : "Iniciar sesión", - "SSL/TLS" : "SSL/TLS", + "SSL" : "SSL", "Open documentation" : "Abrir documentación", "It is important to set up this server to be able to send emails, like for password reset and notifications." : "Es importante preparar este servidor para poder enviar correos electrónicos, como para restablecer contraseñas y notificaciones. ", "Send mode" : "Modo de envío", @@ -200,7 +200,7 @@ "From address" : "De la dirección", "Server address" : "Dirección del servidor", "Port" : "Puerto", - "Authentication method" : "Método de autenticación", + "Authentication" : "Autenticación", "Authentication required" : "Autenticación requerida", "Credentials" : "Credenciales", "SMTP Username" : "Usuario SMTP", @@ -231,7 +231,8 @@ "png or jpg, max. 20 MB" : "png o jpg max. 20 MB", "Plain" : "Plano", "NT LAN Manager" : "Administrador de LAN NT", + "SSL/TLS" : "SSL/TLS", "STARTTLS" : "STARTTLS", - "Avatar" : "Avatar" + "Authentication method" : "Método de autenticación" },"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" }
\ No newline at end of file diff --git a/apps/settings/l10n/es_GT.js b/apps/settings/l10n/es_GT.js index 86e2a368ee4..ffc7cf3a38a 100644 --- a/apps/settings/l10n/es_GT.js +++ b/apps/settings/l10n/es_GT.js @@ -157,7 +157,6 @@ OC.L10N.register( "Your Twitter handle" : "Tu cuenta de Twitter", "Your website" : "Tu sitio web", "Add" : "Agregar", - "{size} used" : "{size} usado", "Display name" : "Nombre a desplegar", "Email" : "Correo electrónico", "Group admin for" : "Administrador del grupo para", @@ -166,6 +165,7 @@ OC.L10N.register( "Storage location" : "Úbicación del almacenamiento", "Last login" : "Último inicio de sesión", "Default quota" : "Cuota predeterminada", + "{size} used" : "{size} usado", "Unnamed device" : "Dispositivo sin nombre", "Your apps" : "Tus aplicaciones", "Changelog" : "Bitácora de cambios", @@ -194,7 +194,7 @@ OC.L10N.register( "Documentation" : "Documentación", "Forum" : "Foro", "Login" : "Iniciar sesión", - "SSL/TLS" : "SSL/TLS", + "SSL" : "SSL", "Open documentation" : "Abrir documentación", "It is important to set up this server to be able to send emails, like for password reset and notifications." : "Es importante preparar este servidor para poder enviar correos electrónicos, como para restablecer contraseñas y notificaciones. ", "Send mode" : "Modo de envío", @@ -202,7 +202,7 @@ OC.L10N.register( "From address" : "De la dirección", "Server address" : "Dirección del servidor", "Port" : "Puerto", - "Authentication method" : "Método de autenticación", + "Authentication" : "Autenticación", "Authentication required" : "Autenticación requerida", "Credentials" : "Credenciales", "SMTP Username" : "Usuario SMTP", @@ -233,7 +233,8 @@ OC.L10N.register( "png or jpg, max. 20 MB" : "png o jpg max. 20 MB", "Plain" : "Plano", "NT LAN Manager" : "Administrador de LAN NT", + "SSL/TLS" : "SSL/TLS", "STARTTLS" : "STARTTLS", - "Avatar" : "Avatar" + "Authentication method" : "Método de autenticación" }, "nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); diff --git a/apps/settings/l10n/es_GT.json b/apps/settings/l10n/es_GT.json index a14faf410c5..ea1da4faa2b 100644 --- a/apps/settings/l10n/es_GT.json +++ b/apps/settings/l10n/es_GT.json @@ -155,7 +155,6 @@ "Your Twitter handle" : "Tu cuenta de Twitter", "Your website" : "Tu sitio web", "Add" : "Agregar", - "{size} used" : "{size} usado", "Display name" : "Nombre a desplegar", "Email" : "Correo electrónico", "Group admin for" : "Administrador del grupo para", @@ -164,6 +163,7 @@ "Storage location" : "Úbicación del almacenamiento", "Last login" : "Último inicio de sesión", "Default quota" : "Cuota predeterminada", + "{size} used" : "{size} usado", "Unnamed device" : "Dispositivo sin nombre", "Your apps" : "Tus aplicaciones", "Changelog" : "Bitácora de cambios", @@ -192,7 +192,7 @@ "Documentation" : "Documentación", "Forum" : "Foro", "Login" : "Iniciar sesión", - "SSL/TLS" : "SSL/TLS", + "SSL" : "SSL", "Open documentation" : "Abrir documentación", "It is important to set up this server to be able to send emails, like for password reset and notifications." : "Es importante preparar este servidor para poder enviar correos electrónicos, como para restablecer contraseñas y notificaciones. ", "Send mode" : "Modo de envío", @@ -200,7 +200,7 @@ "From address" : "De la dirección", "Server address" : "Dirección del servidor", "Port" : "Puerto", - "Authentication method" : "Método de autenticación", + "Authentication" : "Autenticación", "Authentication required" : "Autenticación requerida", "Credentials" : "Credenciales", "SMTP Username" : "Usuario SMTP", @@ -231,7 +231,8 @@ "png or jpg, max. 20 MB" : "png o jpg max. 20 MB", "Plain" : "Plano", "NT LAN Manager" : "Administrador de LAN NT", + "SSL/TLS" : "SSL/TLS", "STARTTLS" : "STARTTLS", - "Avatar" : "Avatar" + "Authentication method" : "Método de autenticación" },"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" }
\ No newline at end of file diff --git a/apps/settings/l10n/es_HN.js b/apps/settings/l10n/es_HN.js index 35769e00f33..46248e5d852 100644 --- a/apps/settings/l10n/es_HN.js +++ b/apps/settings/l10n/es_HN.js @@ -152,7 +152,6 @@ OC.L10N.register( "Your Twitter handle" : "Tu cuenta de Twitter", "Your website" : "Tu sitio web", "Add" : "Agregar", - "{size} used" : "{size} usado", "Display name" : "Nombre a desplegar", "Email" : "Correo electrónico", "Group admin for" : "Administrador del grupo para", @@ -161,6 +160,7 @@ OC.L10N.register( "Storage location" : "Úbicación del almacenamiento", "Last login" : "Último inicio de sesión", "Default quota" : "Cuota predeterminada", + "{size} used" : "{size} usado", "Unnamed device" : "Dispositivo sin nombre", "Your apps" : "Tus aplicaciones", "Changelog" : "Bitácora de cambios", @@ -189,7 +189,7 @@ OC.L10N.register( "Documentation" : "Documentación", "Forum" : "Foro", "Login" : "Iniciar sesión", - "SSL/TLS" : "SSL/TLS", + "SSL" : "SSL", "Open documentation" : "Abrir documentación", "It is important to set up this server to be able to send emails, like for password reset and notifications." : "Es importante preparar este servidor para poder enviar correos electrónicos, como para restablecer contraseñas y notificaciones. ", "Send mode" : "Modo de envío", @@ -197,7 +197,7 @@ OC.L10N.register( "From address" : "De la dirección", "Server address" : "Dirección del servidor", "Port" : "Puerto", - "Authentication method" : "Método de autenticación", + "Authentication" : "Autenticación", "Authentication required" : "Autenticación requerida", "Credentials" : "Credenciales", "SMTP Username" : "Usuario SMTP", @@ -227,7 +227,8 @@ OC.L10N.register( "png or jpg, max. 20 MB" : "png o jpg max. 20 MB", "Plain" : "Plano", "NT LAN Manager" : "Administrador de LAN NT", + "SSL/TLS" : "SSL/TLS", "STARTTLS" : "STARTTLS", - "Avatar" : "Avatar" + "Authentication method" : "Método de autenticación" }, "nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); diff --git a/apps/settings/l10n/es_HN.json b/apps/settings/l10n/es_HN.json index 268538c45d9..8cdb5b12313 100644 --- a/apps/settings/l10n/es_HN.json +++ b/apps/settings/l10n/es_HN.json @@ -150,7 +150,6 @@ "Your Twitter handle" : "Tu cuenta de Twitter", "Your website" : "Tu sitio web", "Add" : "Agregar", - "{size} used" : "{size} usado", "Display name" : "Nombre a desplegar", "Email" : "Correo electrónico", "Group admin for" : "Administrador del grupo para", @@ -159,6 +158,7 @@ "Storage location" : "Úbicación del almacenamiento", "Last login" : "Último inicio de sesión", "Default quota" : "Cuota predeterminada", + "{size} used" : "{size} usado", "Unnamed device" : "Dispositivo sin nombre", "Your apps" : "Tus aplicaciones", "Changelog" : "Bitácora de cambios", @@ -187,7 +187,7 @@ "Documentation" : "Documentación", "Forum" : "Foro", "Login" : "Iniciar sesión", - "SSL/TLS" : "SSL/TLS", + "SSL" : "SSL", "Open documentation" : "Abrir documentación", "It is important to set up this server to be able to send emails, like for password reset and notifications." : "Es importante preparar este servidor para poder enviar correos electrónicos, como para restablecer contraseñas y notificaciones. ", "Send mode" : "Modo de envío", @@ -195,7 +195,7 @@ "From address" : "De la dirección", "Server address" : "Dirección del servidor", "Port" : "Puerto", - "Authentication method" : "Método de autenticación", + "Authentication" : "Autenticación", "Authentication required" : "Autenticación requerida", "Credentials" : "Credenciales", "SMTP Username" : "Usuario SMTP", @@ -225,7 +225,8 @@ "png or jpg, max. 20 MB" : "png o jpg max. 20 MB", "Plain" : "Plano", "NT LAN Manager" : "Administrador de LAN NT", + "SSL/TLS" : "SSL/TLS", "STARTTLS" : "STARTTLS", - "Avatar" : "Avatar" + "Authentication method" : "Método de autenticación" },"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" }
\ No newline at end of file diff --git a/apps/settings/l10n/es_MX.js b/apps/settings/l10n/es_MX.js index 19b8a4d61b3..1007d5c5436 100644 --- a/apps/settings/l10n/es_MX.js +++ b/apps/settings/l10n/es_MX.js @@ -171,23 +171,23 @@ OC.L10N.register( "Your Twitter handle" : "Tu cuenta de Twitter", "Your website" : "Tu sitio web", "Add" : "Agregar", - "You do not have permissions to see the details of this user" : "No tienes los permisos para ver los detalles de este usuario", - "Delete user" : "Borrar usuario", - "Disable user" : "Deshabilitar usuario", - "Enable user" : "Habilitar usuario", - "{size} used" : "{size} usado", - "New user" : "Nuevo usuario", "Display name" : "Nombre a desplegar", "Email" : "Correo electrónico", - "Default language" : "Idioma predeterminado", "Group admin for" : "Administrador del grupo para", "Quota" : "Cuota", "User backend" : "Backend del usuario", "Storage location" : "Úbicación del almacenamiento", "Last login" : "Último inicio de sesión", "Default quota" : "Cuota predeterminada", + "Default language" : "Idioma predeterminado", "Common languages" : "Idiomas comunes", "Password change is disabled because the master key is disabled" : "El cambio de contraseña está deshabilitado porque la llave maestra está deshabilitada", + "New user" : "Nuevo usuario", + "You do not have permissions to see the details of this user" : "No tienes los permisos para ver los detalles de este usuario", + "Delete user" : "Borrar usuario", + "Disable user" : "Deshabilitar usuario", + "Enable user" : "Habilitar usuario", + "{size} used" : "{size} usado", "Unnamed device" : "Dispositivo sin nombre", "Your apps" : "Tus aplicaciones", "Changelog" : "Bitácora de cambios", @@ -217,7 +217,7 @@ OC.L10N.register( "Documentation" : "Documentación", "Forum" : "Foro", "Login" : "Iniciar sesión", - "SSL/TLS" : "SSL/TLS", + "SSL" : "SSL", "Open documentation" : "Abrir documentación", "It is important to set up this server to be able to send emails, like for password reset and notifications." : "Es importante preparar este servidor para poder enviar correos electrónicos, como para restablecer contraseñas y notificaciones. ", "Send mode" : "Modo de envío", @@ -225,7 +225,7 @@ OC.L10N.register( "From address" : "De la dirección", "Server address" : "Dirección del servidor", "Port" : "Puerto", - "Authentication method" : "Método de autenticación", + "Authentication" : "Autenticación", "Authentication required" : "Autenticación requerida", "Credentials" : "Credenciales", "SMTP Username" : "Usuario SMTP", @@ -257,7 +257,8 @@ OC.L10N.register( "png or jpg, max. 20 MB" : "png o jpg max. 20 MB", "Plain" : "Plano", "NT LAN Manager" : "Administrador de LAN NT", + "SSL/TLS" : "SSL/TLS", "STARTTLS" : "STARTTLS", - "Avatar" : "Avatar" + "Authentication method" : "Método de autenticación" }, "nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); diff --git a/apps/settings/l10n/es_MX.json b/apps/settings/l10n/es_MX.json index fc7fb53717a..11dd67ee316 100644 --- a/apps/settings/l10n/es_MX.json +++ b/apps/settings/l10n/es_MX.json @@ -169,23 +169,23 @@ "Your Twitter handle" : "Tu cuenta de Twitter", "Your website" : "Tu sitio web", "Add" : "Agregar", - "You do not have permissions to see the details of this user" : "No tienes los permisos para ver los detalles de este usuario", - "Delete user" : "Borrar usuario", - "Disable user" : "Deshabilitar usuario", - "Enable user" : "Habilitar usuario", - "{size} used" : "{size} usado", - "New user" : "Nuevo usuario", "Display name" : "Nombre a desplegar", "Email" : "Correo electrónico", - "Default language" : "Idioma predeterminado", "Group admin for" : "Administrador del grupo para", "Quota" : "Cuota", "User backend" : "Backend del usuario", "Storage location" : "Úbicación del almacenamiento", "Last login" : "Último inicio de sesión", "Default quota" : "Cuota predeterminada", + "Default language" : "Idioma predeterminado", "Common languages" : "Idiomas comunes", "Password change is disabled because the master key is disabled" : "El cambio de contraseña está deshabilitado porque la llave maestra está deshabilitada", + "New user" : "Nuevo usuario", + "You do not have permissions to see the details of this user" : "No tienes los permisos para ver los detalles de este usuario", + "Delete user" : "Borrar usuario", + "Disable user" : "Deshabilitar usuario", + "Enable user" : "Habilitar usuario", + "{size} used" : "{size} usado", "Unnamed device" : "Dispositivo sin nombre", "Your apps" : "Tus aplicaciones", "Changelog" : "Bitácora de cambios", @@ -215,7 +215,7 @@ "Documentation" : "Documentación", "Forum" : "Foro", "Login" : "Iniciar sesión", - "SSL/TLS" : "SSL/TLS", + "SSL" : "SSL", "Open documentation" : "Abrir documentación", "It is important to set up this server to be able to send emails, like for password reset and notifications." : "Es importante preparar este servidor para poder enviar correos electrónicos, como para restablecer contraseñas y notificaciones. ", "Send mode" : "Modo de envío", @@ -223,7 +223,7 @@ "From address" : "De la dirección", "Server address" : "Dirección del servidor", "Port" : "Puerto", - "Authentication method" : "Método de autenticación", + "Authentication" : "Autenticación", "Authentication required" : "Autenticación requerida", "Credentials" : "Credenciales", "SMTP Username" : "Usuario SMTP", @@ -255,7 +255,8 @@ "png or jpg, max. 20 MB" : "png o jpg max. 20 MB", "Plain" : "Plano", "NT LAN Manager" : "Administrador de LAN NT", + "SSL/TLS" : "SSL/TLS", "STARTTLS" : "STARTTLS", - "Avatar" : "Avatar" + "Authentication method" : "Método de autenticación" },"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" }
\ No newline at end of file diff --git a/apps/settings/l10n/es_NI.js b/apps/settings/l10n/es_NI.js index 35769e00f33..46248e5d852 100644 --- a/apps/settings/l10n/es_NI.js +++ b/apps/settings/l10n/es_NI.js @@ -152,7 +152,6 @@ OC.L10N.register( "Your Twitter handle" : "Tu cuenta de Twitter", "Your website" : "Tu sitio web", "Add" : "Agregar", - "{size} used" : "{size} usado", "Display name" : "Nombre a desplegar", "Email" : "Correo electrónico", "Group admin for" : "Administrador del grupo para", @@ -161,6 +160,7 @@ OC.L10N.register( "Storage location" : "Úbicación del almacenamiento", "Last login" : "Último inicio de sesión", "Default quota" : "Cuota predeterminada", + "{size} used" : "{size} usado", "Unnamed device" : "Dispositivo sin nombre", "Your apps" : "Tus aplicaciones", "Changelog" : "Bitácora de cambios", @@ -189,7 +189,7 @@ OC.L10N.register( "Documentation" : "Documentación", "Forum" : "Foro", "Login" : "Iniciar sesión", - "SSL/TLS" : "SSL/TLS", + "SSL" : "SSL", "Open documentation" : "Abrir documentación", "It is important to set up this server to be able to send emails, like for password reset and notifications." : "Es importante preparar este servidor para poder enviar correos electrónicos, como para restablecer contraseñas y notificaciones. ", "Send mode" : "Modo de envío", @@ -197,7 +197,7 @@ OC.L10N.register( "From address" : "De la dirección", "Server address" : "Dirección del servidor", "Port" : "Puerto", - "Authentication method" : "Método de autenticación", + "Authentication" : "Autenticación", "Authentication required" : "Autenticación requerida", "Credentials" : "Credenciales", "SMTP Username" : "Usuario SMTP", @@ -227,7 +227,8 @@ OC.L10N.register( "png or jpg, max. 20 MB" : "png o jpg max. 20 MB", "Plain" : "Plano", "NT LAN Manager" : "Administrador de LAN NT", + "SSL/TLS" : "SSL/TLS", "STARTTLS" : "STARTTLS", - "Avatar" : "Avatar" + "Authentication method" : "Método de autenticación" }, "nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); diff --git a/apps/settings/l10n/es_NI.json b/apps/settings/l10n/es_NI.json index 268538c45d9..8cdb5b12313 100644 --- a/apps/settings/l10n/es_NI.json +++ b/apps/settings/l10n/es_NI.json @@ -150,7 +150,6 @@ "Your Twitter handle" : "Tu cuenta de Twitter", "Your website" : "Tu sitio web", "Add" : "Agregar", - "{size} used" : "{size} usado", "Display name" : "Nombre a desplegar", "Email" : "Correo electrónico", "Group admin for" : "Administrador del grupo para", @@ -159,6 +158,7 @@ "Storage location" : "Úbicación del almacenamiento", "Last login" : "Último inicio de sesión", "Default quota" : "Cuota predeterminada", + "{size} used" : "{size} usado", "Unnamed device" : "Dispositivo sin nombre", "Your apps" : "Tus aplicaciones", "Changelog" : "Bitácora de cambios", @@ -187,7 +187,7 @@ "Documentation" : "Documentación", "Forum" : "Foro", "Login" : "Iniciar sesión", - "SSL/TLS" : "SSL/TLS", + "SSL" : "SSL", "Open documentation" : "Abrir documentación", "It is important to set up this server to be able to send emails, like for password reset and notifications." : "Es importante preparar este servidor para poder enviar correos electrónicos, como para restablecer contraseñas y notificaciones. ", "Send mode" : "Modo de envío", @@ -195,7 +195,7 @@ "From address" : "De la dirección", "Server address" : "Dirección del servidor", "Port" : "Puerto", - "Authentication method" : "Método de autenticación", + "Authentication" : "Autenticación", "Authentication required" : "Autenticación requerida", "Credentials" : "Credenciales", "SMTP Username" : "Usuario SMTP", @@ -225,7 +225,8 @@ "png or jpg, max. 20 MB" : "png o jpg max. 20 MB", "Plain" : "Plano", "NT LAN Manager" : "Administrador de LAN NT", + "SSL/TLS" : "SSL/TLS", "STARTTLS" : "STARTTLS", - "Avatar" : "Avatar" + "Authentication method" : "Método de autenticación" },"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" }
\ No newline at end of file diff --git a/apps/settings/l10n/es_PA.js b/apps/settings/l10n/es_PA.js index 35769e00f33..46248e5d852 100644 --- a/apps/settings/l10n/es_PA.js +++ b/apps/settings/l10n/es_PA.js @@ -152,7 +152,6 @@ OC.L10N.register( "Your Twitter handle" : "Tu cuenta de Twitter", "Your website" : "Tu sitio web", "Add" : "Agregar", - "{size} used" : "{size} usado", "Display name" : "Nombre a desplegar", "Email" : "Correo electrónico", "Group admin for" : "Administrador del grupo para", @@ -161,6 +160,7 @@ OC.L10N.register( "Storage location" : "Úbicación del almacenamiento", "Last login" : "Último inicio de sesión", "Default quota" : "Cuota predeterminada", + "{size} used" : "{size} usado", "Unnamed device" : "Dispositivo sin nombre", "Your apps" : "Tus aplicaciones", "Changelog" : "Bitácora de cambios", @@ -189,7 +189,7 @@ OC.L10N.register( "Documentation" : "Documentación", "Forum" : "Foro", "Login" : "Iniciar sesión", - "SSL/TLS" : "SSL/TLS", + "SSL" : "SSL", "Open documentation" : "Abrir documentación", "It is important to set up this server to be able to send emails, like for password reset and notifications." : "Es importante preparar este servidor para poder enviar correos electrónicos, como para restablecer contraseñas y notificaciones. ", "Send mode" : "Modo de envío", @@ -197,7 +197,7 @@ OC.L10N.register( "From address" : "De la dirección", "Server address" : "Dirección del servidor", "Port" : "Puerto", - "Authentication method" : "Método de autenticación", + "Authentication" : "Autenticación", "Authentication required" : "Autenticación requerida", "Credentials" : "Credenciales", "SMTP Username" : "Usuario SMTP", @@ -227,7 +227,8 @@ OC.L10N.register( "png or jpg, max. 20 MB" : "png o jpg max. 20 MB", "Plain" : "Plano", "NT LAN Manager" : "Administrador de LAN NT", + "SSL/TLS" : "SSL/TLS", "STARTTLS" : "STARTTLS", - "Avatar" : "Avatar" + "Authentication method" : "Método de autenticación" }, "nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); diff --git a/apps/settings/l10n/es_PA.json b/apps/settings/l10n/es_PA.json index 268538c45d9..8cdb5b12313 100644 --- a/apps/settings/l10n/es_PA.json +++ b/apps/settings/l10n/es_PA.json @@ -150,7 +150,6 @@ "Your Twitter handle" : "Tu cuenta de Twitter", "Your website" : "Tu sitio web", "Add" : "Agregar", - "{size} used" : "{size} usado", "Display name" : "Nombre a desplegar", "Email" : "Correo electrónico", "Group admin for" : "Administrador del grupo para", @@ -159,6 +158,7 @@ "Storage location" : "Úbicación del almacenamiento", "Last login" : "Último inicio de sesión", "Default quota" : "Cuota predeterminada", + "{size} used" : "{size} usado", "Unnamed device" : "Dispositivo sin nombre", "Your apps" : "Tus aplicaciones", "Changelog" : "Bitácora de cambios", @@ -187,7 +187,7 @@ "Documentation" : "Documentación", "Forum" : "Foro", "Login" : "Iniciar sesión", - "SSL/TLS" : "SSL/TLS", + "SSL" : "SSL", "Open documentation" : "Abrir documentación", "It is important to set up this server to be able to send emails, like for password reset and notifications." : "Es importante preparar este servidor para poder enviar correos electrónicos, como para restablecer contraseñas y notificaciones. ", "Send mode" : "Modo de envío", @@ -195,7 +195,7 @@ "From address" : "De la dirección", "Server address" : "Dirección del servidor", "Port" : "Puerto", - "Authentication method" : "Método de autenticación", + "Authentication" : "Autenticación", "Authentication required" : "Autenticación requerida", "Credentials" : "Credenciales", "SMTP Username" : "Usuario SMTP", @@ -225,7 +225,8 @@ "png or jpg, max. 20 MB" : "png o jpg max. 20 MB", "Plain" : "Plano", "NT LAN Manager" : "Administrador de LAN NT", + "SSL/TLS" : "SSL/TLS", "STARTTLS" : "STARTTLS", - "Avatar" : "Avatar" + "Authentication method" : "Método de autenticación" },"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" }
\ No newline at end of file diff --git a/apps/settings/l10n/es_PE.js b/apps/settings/l10n/es_PE.js index 35769e00f33..46248e5d852 100644 --- a/apps/settings/l10n/es_PE.js +++ b/apps/settings/l10n/es_PE.js @@ -152,7 +152,6 @@ OC.L10N.register( "Your Twitter handle" : "Tu cuenta de Twitter", "Your website" : "Tu sitio web", "Add" : "Agregar", - "{size} used" : "{size} usado", "Display name" : "Nombre a desplegar", "Email" : "Correo electrónico", "Group admin for" : "Administrador del grupo para", @@ -161,6 +160,7 @@ OC.L10N.register( "Storage location" : "Úbicación del almacenamiento", "Last login" : "Último inicio de sesión", "Default quota" : "Cuota predeterminada", + "{size} used" : "{size} usado", "Unnamed device" : "Dispositivo sin nombre", "Your apps" : "Tus aplicaciones", "Changelog" : "Bitácora de cambios", @@ -189,7 +189,7 @@ OC.L10N.register( "Documentation" : "Documentación", "Forum" : "Foro", "Login" : "Iniciar sesión", - "SSL/TLS" : "SSL/TLS", + "SSL" : "SSL", "Open documentation" : "Abrir documentación", "It is important to set up this server to be able to send emails, like for password reset and notifications." : "Es importante preparar este servidor para poder enviar correos electrónicos, como para restablecer contraseñas y notificaciones. ", "Send mode" : "Modo de envío", @@ -197,7 +197,7 @@ OC.L10N.register( "From address" : "De la dirección", "Server address" : "Dirección del servidor", "Port" : "Puerto", - "Authentication method" : "Método de autenticación", + "Authentication" : "Autenticación", "Authentication required" : "Autenticación requerida", "Credentials" : "Credenciales", "SMTP Username" : "Usuario SMTP", @@ -227,7 +227,8 @@ OC.L10N.register( "png or jpg, max. 20 MB" : "png o jpg max. 20 MB", "Plain" : "Plano", "NT LAN Manager" : "Administrador de LAN NT", + "SSL/TLS" : "SSL/TLS", "STARTTLS" : "STARTTLS", - "Avatar" : "Avatar" + "Authentication method" : "Método de autenticación" }, "nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); diff --git a/apps/settings/l10n/es_PE.json b/apps/settings/l10n/es_PE.json index 268538c45d9..8cdb5b12313 100644 --- a/apps/settings/l10n/es_PE.json +++ b/apps/settings/l10n/es_PE.json @@ -150,7 +150,6 @@ "Your Twitter handle" : "Tu cuenta de Twitter", "Your website" : "Tu sitio web", "Add" : "Agregar", - "{size} used" : "{size} usado", "Display name" : "Nombre a desplegar", "Email" : "Correo electrónico", "Group admin for" : "Administrador del grupo para", @@ -159,6 +158,7 @@ "Storage location" : "Úbicación del almacenamiento", "Last login" : "Último inicio de sesión", "Default quota" : "Cuota predeterminada", + "{size} used" : "{size} usado", "Unnamed device" : "Dispositivo sin nombre", "Your apps" : "Tus aplicaciones", "Changelog" : "Bitácora de cambios", @@ -187,7 +187,7 @@ "Documentation" : "Documentación", "Forum" : "Foro", "Login" : "Iniciar sesión", - "SSL/TLS" : "SSL/TLS", + "SSL" : "SSL", "Open documentation" : "Abrir documentación", "It is important to set up this server to be able to send emails, like for password reset and notifications." : "Es importante preparar este servidor para poder enviar correos electrónicos, como para restablecer contraseñas y notificaciones. ", "Send mode" : "Modo de envío", @@ -195,7 +195,7 @@ "From address" : "De la dirección", "Server address" : "Dirección del servidor", "Port" : "Puerto", - "Authentication method" : "Método de autenticación", + "Authentication" : "Autenticación", "Authentication required" : "Autenticación requerida", "Credentials" : "Credenciales", "SMTP Username" : "Usuario SMTP", @@ -225,7 +225,8 @@ "png or jpg, max. 20 MB" : "png o jpg max. 20 MB", "Plain" : "Plano", "NT LAN Manager" : "Administrador de LAN NT", + "SSL/TLS" : "SSL/TLS", "STARTTLS" : "STARTTLS", - "Avatar" : "Avatar" + "Authentication method" : "Método de autenticación" },"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" }
\ No newline at end of file diff --git a/apps/settings/l10n/es_PR.js b/apps/settings/l10n/es_PR.js index 35769e00f33..46248e5d852 100644 --- a/apps/settings/l10n/es_PR.js +++ b/apps/settings/l10n/es_PR.js @@ -152,7 +152,6 @@ OC.L10N.register( "Your Twitter handle" : "Tu cuenta de Twitter", "Your website" : "Tu sitio web", "Add" : "Agregar", - "{size} used" : "{size} usado", "Display name" : "Nombre a desplegar", "Email" : "Correo electrónico", "Group admin for" : "Administrador del grupo para", @@ -161,6 +160,7 @@ OC.L10N.register( "Storage location" : "Úbicación del almacenamiento", "Last login" : "Último inicio de sesión", "Default quota" : "Cuota predeterminada", + "{size} used" : "{size} usado", "Unnamed device" : "Dispositivo sin nombre", "Your apps" : "Tus aplicaciones", "Changelog" : "Bitácora de cambios", @@ -189,7 +189,7 @@ OC.L10N.register( "Documentation" : "Documentación", "Forum" : "Foro", "Login" : "Iniciar sesión", - "SSL/TLS" : "SSL/TLS", + "SSL" : "SSL", "Open documentation" : "Abrir documentación", "It is important to set up this server to be able to send emails, like for password reset and notifications." : "Es importante preparar este servidor para poder enviar correos electrónicos, como para restablecer contraseñas y notificaciones. ", "Send mode" : "Modo de envío", @@ -197,7 +197,7 @@ OC.L10N.register( "From address" : "De la dirección", "Server address" : "Dirección del servidor", "Port" : "Puerto", - "Authentication method" : "Método de autenticación", + "Authentication" : "Autenticación", "Authentication required" : "Autenticación requerida", "Credentials" : "Credenciales", "SMTP Username" : "Usuario SMTP", @@ -227,7 +227,8 @@ OC.L10N.register( "png or jpg, max. 20 MB" : "png o jpg max. 20 MB", "Plain" : "Plano", "NT LAN Manager" : "Administrador de LAN NT", + "SSL/TLS" : "SSL/TLS", "STARTTLS" : "STARTTLS", - "Avatar" : "Avatar" + "Authentication method" : "Método de autenticación" }, "nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); diff --git a/apps/settings/l10n/es_PR.json b/apps/settings/l10n/es_PR.json index 268538c45d9..8cdb5b12313 100644 --- a/apps/settings/l10n/es_PR.json +++ b/apps/settings/l10n/es_PR.json @@ -150,7 +150,6 @@ "Your Twitter handle" : "Tu cuenta de Twitter", "Your website" : "Tu sitio web", "Add" : "Agregar", - "{size} used" : "{size} usado", "Display name" : "Nombre a desplegar", "Email" : "Correo electrónico", "Group admin for" : "Administrador del grupo para", @@ -159,6 +158,7 @@ "Storage location" : "Úbicación del almacenamiento", "Last login" : "Último inicio de sesión", "Default quota" : "Cuota predeterminada", + "{size} used" : "{size} usado", "Unnamed device" : "Dispositivo sin nombre", "Your apps" : "Tus aplicaciones", "Changelog" : "Bitácora de cambios", @@ -187,7 +187,7 @@ "Documentation" : "Documentación", "Forum" : "Foro", "Login" : "Iniciar sesión", - "SSL/TLS" : "SSL/TLS", + "SSL" : "SSL", "Open documentation" : "Abrir documentación", "It is important to set up this server to be able to send emails, like for password reset and notifications." : "Es importante preparar este servidor para poder enviar correos electrónicos, como para restablecer contraseñas y notificaciones. ", "Send mode" : "Modo de envío", @@ -195,7 +195,7 @@ "From address" : "De la dirección", "Server address" : "Dirección del servidor", "Port" : "Puerto", - "Authentication method" : "Método de autenticación", + "Authentication" : "Autenticación", "Authentication required" : "Autenticación requerida", "Credentials" : "Credenciales", "SMTP Username" : "Usuario SMTP", @@ -225,7 +225,8 @@ "png or jpg, max. 20 MB" : "png o jpg max. 20 MB", "Plain" : "Plano", "NT LAN Manager" : "Administrador de LAN NT", + "SSL/TLS" : "SSL/TLS", "STARTTLS" : "STARTTLS", - "Avatar" : "Avatar" + "Authentication method" : "Método de autenticación" },"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" }
\ No newline at end of file diff --git a/apps/settings/l10n/es_PY.js b/apps/settings/l10n/es_PY.js index 35769e00f33..46248e5d852 100644 --- a/apps/settings/l10n/es_PY.js +++ b/apps/settings/l10n/es_PY.js @@ -152,7 +152,6 @@ OC.L10N.register( "Your Twitter handle" : "Tu cuenta de Twitter", "Your website" : "Tu sitio web", "Add" : "Agregar", - "{size} used" : "{size} usado", "Display name" : "Nombre a desplegar", "Email" : "Correo electrónico", "Group admin for" : "Administrador del grupo para", @@ -161,6 +160,7 @@ OC.L10N.register( "Storage location" : "Úbicación del almacenamiento", "Last login" : "Último inicio de sesión", "Default quota" : "Cuota predeterminada", + "{size} used" : "{size} usado", "Unnamed device" : "Dispositivo sin nombre", "Your apps" : "Tus aplicaciones", "Changelog" : "Bitácora de cambios", @@ -189,7 +189,7 @@ OC.L10N.register( "Documentation" : "Documentación", "Forum" : "Foro", "Login" : "Iniciar sesión", - "SSL/TLS" : "SSL/TLS", + "SSL" : "SSL", "Open documentation" : "Abrir documentación", "It is important to set up this server to be able to send emails, like for password reset and notifications." : "Es importante preparar este servidor para poder enviar correos electrónicos, como para restablecer contraseñas y notificaciones. ", "Send mode" : "Modo de envío", @@ -197,7 +197,7 @@ OC.L10N.register( "From address" : "De la dirección", "Server address" : "Dirección del servidor", "Port" : "Puerto", - "Authentication method" : "Método de autenticación", + "Authentication" : "Autenticación", "Authentication required" : "Autenticación requerida", "Credentials" : "Credenciales", "SMTP Username" : "Usuario SMTP", @@ -227,7 +227,8 @@ OC.L10N.register( "png or jpg, max. 20 MB" : "png o jpg max. 20 MB", "Plain" : "Plano", "NT LAN Manager" : "Administrador de LAN NT", + "SSL/TLS" : "SSL/TLS", "STARTTLS" : "STARTTLS", - "Avatar" : "Avatar" + "Authentication method" : "Método de autenticación" }, "nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); diff --git a/apps/settings/l10n/es_PY.json b/apps/settings/l10n/es_PY.json index 268538c45d9..8cdb5b12313 100644 --- a/apps/settings/l10n/es_PY.json +++ b/apps/settings/l10n/es_PY.json @@ -150,7 +150,6 @@ "Your Twitter handle" : "Tu cuenta de Twitter", "Your website" : "Tu sitio web", "Add" : "Agregar", - "{size} used" : "{size} usado", "Display name" : "Nombre a desplegar", "Email" : "Correo electrónico", "Group admin for" : "Administrador del grupo para", @@ -159,6 +158,7 @@ "Storage location" : "Úbicación del almacenamiento", "Last login" : "Último inicio de sesión", "Default quota" : "Cuota predeterminada", + "{size} used" : "{size} usado", "Unnamed device" : "Dispositivo sin nombre", "Your apps" : "Tus aplicaciones", "Changelog" : "Bitácora de cambios", @@ -187,7 +187,7 @@ "Documentation" : "Documentación", "Forum" : "Foro", "Login" : "Iniciar sesión", - "SSL/TLS" : "SSL/TLS", + "SSL" : "SSL", "Open documentation" : "Abrir documentación", "It is important to set up this server to be able to send emails, like for password reset and notifications." : "Es importante preparar este servidor para poder enviar correos electrónicos, como para restablecer contraseñas y notificaciones. ", "Send mode" : "Modo de envío", @@ -195,7 +195,7 @@ "From address" : "De la dirección", "Server address" : "Dirección del servidor", "Port" : "Puerto", - "Authentication method" : "Método de autenticación", + "Authentication" : "Autenticación", "Authentication required" : "Autenticación requerida", "Credentials" : "Credenciales", "SMTP Username" : "Usuario SMTP", @@ -225,7 +225,8 @@ "png or jpg, max. 20 MB" : "png o jpg max. 20 MB", "Plain" : "Plano", "NT LAN Manager" : "Administrador de LAN NT", + "SSL/TLS" : "SSL/TLS", "STARTTLS" : "STARTTLS", - "Avatar" : "Avatar" + "Authentication method" : "Método de autenticación" },"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" }
\ No newline at end of file diff --git a/apps/settings/l10n/es_SV.js b/apps/settings/l10n/es_SV.js index 86e2a368ee4..ffc7cf3a38a 100644 --- a/apps/settings/l10n/es_SV.js +++ b/apps/settings/l10n/es_SV.js @@ -157,7 +157,6 @@ OC.L10N.register( "Your Twitter handle" : "Tu cuenta de Twitter", "Your website" : "Tu sitio web", "Add" : "Agregar", - "{size} used" : "{size} usado", "Display name" : "Nombre a desplegar", "Email" : "Correo electrónico", "Group admin for" : "Administrador del grupo para", @@ -166,6 +165,7 @@ OC.L10N.register( "Storage location" : "Úbicación del almacenamiento", "Last login" : "Último inicio de sesión", "Default quota" : "Cuota predeterminada", + "{size} used" : "{size} usado", "Unnamed device" : "Dispositivo sin nombre", "Your apps" : "Tus aplicaciones", "Changelog" : "Bitácora de cambios", @@ -194,7 +194,7 @@ OC.L10N.register( "Documentation" : "Documentación", "Forum" : "Foro", "Login" : "Iniciar sesión", - "SSL/TLS" : "SSL/TLS", + "SSL" : "SSL", "Open documentation" : "Abrir documentación", "It is important to set up this server to be able to send emails, like for password reset and notifications." : "Es importante preparar este servidor para poder enviar correos electrónicos, como para restablecer contraseñas y notificaciones. ", "Send mode" : "Modo de envío", @@ -202,7 +202,7 @@ OC.L10N.register( "From address" : "De la dirección", "Server address" : "Dirección del servidor", "Port" : "Puerto", - "Authentication method" : "Método de autenticación", + "Authentication" : "Autenticación", "Authentication required" : "Autenticación requerida", "Credentials" : "Credenciales", "SMTP Username" : "Usuario SMTP", @@ -233,7 +233,8 @@ OC.L10N.register( "png or jpg, max. 20 MB" : "png o jpg max. 20 MB", "Plain" : "Plano", "NT LAN Manager" : "Administrador de LAN NT", + "SSL/TLS" : "SSL/TLS", "STARTTLS" : "STARTTLS", - "Avatar" : "Avatar" + "Authentication method" : "Método de autenticación" }, "nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); diff --git a/apps/settings/l10n/es_SV.json b/apps/settings/l10n/es_SV.json index a14faf410c5..ea1da4faa2b 100644 --- a/apps/settings/l10n/es_SV.json +++ b/apps/settings/l10n/es_SV.json @@ -155,7 +155,6 @@ "Your Twitter handle" : "Tu cuenta de Twitter", "Your website" : "Tu sitio web", "Add" : "Agregar", - "{size} used" : "{size} usado", "Display name" : "Nombre a desplegar", "Email" : "Correo electrónico", "Group admin for" : "Administrador del grupo para", @@ -164,6 +163,7 @@ "Storage location" : "Úbicación del almacenamiento", "Last login" : "Último inicio de sesión", "Default quota" : "Cuota predeterminada", + "{size} used" : "{size} usado", "Unnamed device" : "Dispositivo sin nombre", "Your apps" : "Tus aplicaciones", "Changelog" : "Bitácora de cambios", @@ -192,7 +192,7 @@ "Documentation" : "Documentación", "Forum" : "Foro", "Login" : "Iniciar sesión", - "SSL/TLS" : "SSL/TLS", + "SSL" : "SSL", "Open documentation" : "Abrir documentación", "It is important to set up this server to be able to send emails, like for password reset and notifications." : "Es importante preparar este servidor para poder enviar correos electrónicos, como para restablecer contraseñas y notificaciones. ", "Send mode" : "Modo de envío", @@ -200,7 +200,7 @@ "From address" : "De la dirección", "Server address" : "Dirección del servidor", "Port" : "Puerto", - "Authentication method" : "Método de autenticación", + "Authentication" : "Autenticación", "Authentication required" : "Autenticación requerida", "Credentials" : "Credenciales", "SMTP Username" : "Usuario SMTP", @@ -231,7 +231,8 @@ "png or jpg, max. 20 MB" : "png o jpg max. 20 MB", "Plain" : "Plano", "NT LAN Manager" : "Administrador de LAN NT", + "SSL/TLS" : "SSL/TLS", "STARTTLS" : "STARTTLS", - "Avatar" : "Avatar" + "Authentication method" : "Método de autenticación" },"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" }
\ No newline at end of file diff --git a/apps/settings/l10n/es_UY.js b/apps/settings/l10n/es_UY.js index 35769e00f33..46248e5d852 100644 --- a/apps/settings/l10n/es_UY.js +++ b/apps/settings/l10n/es_UY.js @@ -152,7 +152,6 @@ OC.L10N.register( "Your Twitter handle" : "Tu cuenta de Twitter", "Your website" : "Tu sitio web", "Add" : "Agregar", - "{size} used" : "{size} usado", "Display name" : "Nombre a desplegar", "Email" : "Correo electrónico", "Group admin for" : "Administrador del grupo para", @@ -161,6 +160,7 @@ OC.L10N.register( "Storage location" : "Úbicación del almacenamiento", "Last login" : "Último inicio de sesión", "Default quota" : "Cuota predeterminada", + "{size} used" : "{size} usado", "Unnamed device" : "Dispositivo sin nombre", "Your apps" : "Tus aplicaciones", "Changelog" : "Bitácora de cambios", @@ -189,7 +189,7 @@ OC.L10N.register( "Documentation" : "Documentación", "Forum" : "Foro", "Login" : "Iniciar sesión", - "SSL/TLS" : "SSL/TLS", + "SSL" : "SSL", "Open documentation" : "Abrir documentación", "It is important to set up this server to be able to send emails, like for password reset and notifications." : "Es importante preparar este servidor para poder enviar correos electrónicos, como para restablecer contraseñas y notificaciones. ", "Send mode" : "Modo de envío", @@ -197,7 +197,7 @@ OC.L10N.register( "From address" : "De la dirección", "Server address" : "Dirección del servidor", "Port" : "Puerto", - "Authentication method" : "Método de autenticación", + "Authentication" : "Autenticación", "Authentication required" : "Autenticación requerida", "Credentials" : "Credenciales", "SMTP Username" : "Usuario SMTP", @@ -227,7 +227,8 @@ OC.L10N.register( "png or jpg, max. 20 MB" : "png o jpg max. 20 MB", "Plain" : "Plano", "NT LAN Manager" : "Administrador de LAN NT", + "SSL/TLS" : "SSL/TLS", "STARTTLS" : "STARTTLS", - "Avatar" : "Avatar" + "Authentication method" : "Método de autenticación" }, "nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); diff --git a/apps/settings/l10n/es_UY.json b/apps/settings/l10n/es_UY.json index 268538c45d9..8cdb5b12313 100644 --- a/apps/settings/l10n/es_UY.json +++ b/apps/settings/l10n/es_UY.json @@ -150,7 +150,6 @@ "Your Twitter handle" : "Tu cuenta de Twitter", "Your website" : "Tu sitio web", "Add" : "Agregar", - "{size} used" : "{size} usado", "Display name" : "Nombre a desplegar", "Email" : "Correo electrónico", "Group admin for" : "Administrador del grupo para", @@ -159,6 +158,7 @@ "Storage location" : "Úbicación del almacenamiento", "Last login" : "Último inicio de sesión", "Default quota" : "Cuota predeterminada", + "{size} used" : "{size} usado", "Unnamed device" : "Dispositivo sin nombre", "Your apps" : "Tus aplicaciones", "Changelog" : "Bitácora de cambios", @@ -187,7 +187,7 @@ "Documentation" : "Documentación", "Forum" : "Foro", "Login" : "Iniciar sesión", - "SSL/TLS" : "SSL/TLS", + "SSL" : "SSL", "Open documentation" : "Abrir documentación", "It is important to set up this server to be able to send emails, like for password reset and notifications." : "Es importante preparar este servidor para poder enviar correos electrónicos, como para restablecer contraseñas y notificaciones. ", "Send mode" : "Modo de envío", @@ -195,7 +195,7 @@ "From address" : "De la dirección", "Server address" : "Dirección del servidor", "Port" : "Puerto", - "Authentication method" : "Método de autenticación", + "Authentication" : "Autenticación", "Authentication required" : "Autenticación requerida", "Credentials" : "Credenciales", "SMTP Username" : "Usuario SMTP", @@ -225,7 +225,8 @@ "png or jpg, max. 20 MB" : "png o jpg max. 20 MB", "Plain" : "Plano", "NT LAN Manager" : "Administrador de LAN NT", + "SSL/TLS" : "SSL/TLS", "STARTTLS" : "STARTTLS", - "Avatar" : "Avatar" + "Authentication method" : "Método de autenticación" },"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" }
\ No newline at end of file diff --git a/apps/settings/l10n/et_EE.js b/apps/settings/l10n/et_EE.js index 2237fd6346e..7f6b508efd7 100644 --- a/apps/settings/l10n/et_EE.js +++ b/apps/settings/l10n/et_EE.js @@ -157,25 +157,24 @@ OC.L10N.register( "Your phone number" : "Sinu telefoninumber", "Your website" : "Sinu veebileht", "Add" : "Lisa", - "You do not have permissions to see the details of this user" : "Sul puuduvad õigused selle kasutaja üksikasjade vaatamiseks", - "Delete user" : "Kustuta kasutaja", - "Disable user" : "Keela kasutaja", - "Enable user" : "Luba kasutaja", - "Resend welcome email" : "Saada tervitusmeil uuesti", - "Welcome mail sent!" : "Tervitusmeil saadetud!", - "{size} used" : "{size} kasutatud", - "New user" : "Uus kasutaja", "Display name" : "Kuvatav nimi", "Email" : "E-post", - "Default language" : "Vaikekeel", - "Add a new user" : "Lisa uus kasutaja", "Group admin for" : "Grupi admin", "Quota" : "Mahupiir", "User backend" : "Kasutaja taustarakendus", "Storage location" : "Salvestusruumi asukoht", "Last login" : "Viimane sisselogimine", "Default quota" : "Vaikimisi mahupiir", + "Default language" : "Vaikekeel", "Common languages" : "Levinud keeled", + "New user" : "Uus kasutaja", + "You do not have permissions to see the details of this user" : "Sul puuduvad õigused selle kasutaja üksikasjade vaatamiseks", + "Delete user" : "Kustuta kasutaja", + "Disable user" : "Keela kasutaja", + "Enable user" : "Luba kasutaja", + "Resend welcome email" : "Saada tervitusmeil uuesti", + "Welcome mail sent!" : "Tervitusmeil saadetud!", + "{size} used" : "{size} kasutatud", "Unnamed device" : "Nimetu seade", "Your apps" : "Sinu rakendused", "{license}-licensed" : "{license} litsents", @@ -205,10 +204,11 @@ OC.L10N.register( "Hide" : "Peida", "Never" : "Mitte kunagi", "The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "Rakendus on lubatud, aga see vajab uuendamist. Sind suunatakse 5 sekundi pärast uuendamise lehele.", + "There were too many requests from your network. Retry later or contact your administrator if this is an error." : "Sinu võrgust tuli liiga palju päringuid. Proovi hiljem uuesti, või võta ühendust administraatoriga, kui tegu on veaga.", "Documentation" : "Dokumentatsioon", "Forum" : "Foorum", "Login" : "Logi sisse", - "SSL/TLS" : "SSL/TLS", + "SSL" : "SSL", "Open documentation" : "Ava dokumentatsioon", "It is important to set up this server to be able to send emails, like for password reset and notifications." : "E-kirjad saatmise võimekus on olulile seadistada paroolide lähtestamiseks ja teavituste saatmiseks.", "Send mode" : "Saatmise viis", @@ -216,7 +216,7 @@ OC.L10N.register( "From address" : "Saatja aadress", "Server address" : "Serveri aadress", "Port" : "Port", - "Authentication method" : "Autentimise meetod", + "Authentication" : "Autentimine", "Authentication required" : "Autentimine on vajalik", "Credentials" : "Kasutajatunnused", "SMTP Username" : "SMTP kasutajatunnus", @@ -239,9 +239,11 @@ OC.L10N.register( "These groups will still be able to receive shares, but not to initiate them." : "Need grupid saavad vastu võtta jagamisi, kuid ise jagamisi algatada ei saa.", "This text will be shown on the public link upload page when the file list is hidden." : "Seda teksti näidatakse avaliku lingiga üleslaadimise lehel kui failide loend on peidetud.", "png or jpg, max. 20 MB" : "png või jpg, max. 20 MB", + "Add a new user" : "Lisa uus kasutaja", "Plain" : "Tavatekst", "NT LAN Manager" : "NT LAN Manager", + "SSL/TLS" : "SSL/TLS", "STARTTLS" : "STARTTLS", - "Avatar" : "Avatar" + "Authentication method" : "Autentimise meetod" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/settings/l10n/et_EE.json b/apps/settings/l10n/et_EE.json index 74a2bdba9ff..1b921dd13cd 100644 --- a/apps/settings/l10n/et_EE.json +++ b/apps/settings/l10n/et_EE.json @@ -155,25 +155,24 @@ "Your phone number" : "Sinu telefoninumber", "Your website" : "Sinu veebileht", "Add" : "Lisa", - "You do not have permissions to see the details of this user" : "Sul puuduvad õigused selle kasutaja üksikasjade vaatamiseks", - "Delete user" : "Kustuta kasutaja", - "Disable user" : "Keela kasutaja", - "Enable user" : "Luba kasutaja", - "Resend welcome email" : "Saada tervitusmeil uuesti", - "Welcome mail sent!" : "Tervitusmeil saadetud!", - "{size} used" : "{size} kasutatud", - "New user" : "Uus kasutaja", "Display name" : "Kuvatav nimi", "Email" : "E-post", - "Default language" : "Vaikekeel", - "Add a new user" : "Lisa uus kasutaja", "Group admin for" : "Grupi admin", "Quota" : "Mahupiir", "User backend" : "Kasutaja taustarakendus", "Storage location" : "Salvestusruumi asukoht", "Last login" : "Viimane sisselogimine", "Default quota" : "Vaikimisi mahupiir", + "Default language" : "Vaikekeel", "Common languages" : "Levinud keeled", + "New user" : "Uus kasutaja", + "You do not have permissions to see the details of this user" : "Sul puuduvad õigused selle kasutaja üksikasjade vaatamiseks", + "Delete user" : "Kustuta kasutaja", + "Disable user" : "Keela kasutaja", + "Enable user" : "Luba kasutaja", + "Resend welcome email" : "Saada tervitusmeil uuesti", + "Welcome mail sent!" : "Tervitusmeil saadetud!", + "{size} used" : "{size} kasutatud", "Unnamed device" : "Nimetu seade", "Your apps" : "Sinu rakendused", "{license}-licensed" : "{license} litsents", @@ -203,10 +202,11 @@ "Hide" : "Peida", "Never" : "Mitte kunagi", "The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "Rakendus on lubatud, aga see vajab uuendamist. Sind suunatakse 5 sekundi pärast uuendamise lehele.", + "There were too many requests from your network. Retry later or contact your administrator if this is an error." : "Sinu võrgust tuli liiga palju päringuid. Proovi hiljem uuesti, või võta ühendust administraatoriga, kui tegu on veaga.", "Documentation" : "Dokumentatsioon", "Forum" : "Foorum", "Login" : "Logi sisse", - "SSL/TLS" : "SSL/TLS", + "SSL" : "SSL", "Open documentation" : "Ava dokumentatsioon", "It is important to set up this server to be able to send emails, like for password reset and notifications." : "E-kirjad saatmise võimekus on olulile seadistada paroolide lähtestamiseks ja teavituste saatmiseks.", "Send mode" : "Saatmise viis", @@ -214,7 +214,7 @@ "From address" : "Saatja aadress", "Server address" : "Serveri aadress", "Port" : "Port", - "Authentication method" : "Autentimise meetod", + "Authentication" : "Autentimine", "Authentication required" : "Autentimine on vajalik", "Credentials" : "Kasutajatunnused", "SMTP Username" : "SMTP kasutajatunnus", @@ -237,9 +237,11 @@ "These groups will still be able to receive shares, but not to initiate them." : "Need grupid saavad vastu võtta jagamisi, kuid ise jagamisi algatada ei saa.", "This text will be shown on the public link upload page when the file list is hidden." : "Seda teksti näidatakse avaliku lingiga üleslaadimise lehel kui failide loend on peidetud.", "png or jpg, max. 20 MB" : "png või jpg, max. 20 MB", + "Add a new user" : "Lisa uus kasutaja", "Plain" : "Tavatekst", "NT LAN Manager" : "NT LAN Manager", + "SSL/TLS" : "SSL/TLS", "STARTTLS" : "STARTTLS", - "Avatar" : "Avatar" + "Authentication method" : "Autentimise meetod" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/settings/l10n/eu.js b/apps/settings/l10n/eu.js index 0b3fa2059bf..7dbbfff37c2 100644 --- a/apps/settings/l10n/eu.js +++ b/apps/settings/l10n/eu.js @@ -316,7 +316,6 @@ OC.L10N.register( "Week starts on {firstDayOfWeek}" : "Astea {firstDayOfWeek} egunean hasten da", "Unable to update locale" : "Ezin izan da lokalizazioa eguneratu", "No locale set" : "Ez da lokalizaziorik ezarri", - "Your location" : "Zure kokapena", "Your organisation" : "Zure erakundea", "Your phone number" : "Zure telefono zenbakia", "Edit your Profile visibility" : "Editatu profilaren ikusgarritasuna", @@ -334,6 +333,20 @@ OC.L10N.register( "Unable to update federation scope of additional {property}" : "Ezin da eguneratu {property} gehigarriaren federazio-esparrua", "Add additional email" : "Gehitu e-posta gehigarria", "Add" : "Gehitu", + "Display name" : "Erakusteko izena", + "Email" : "E-posta", + "Group admin for" : "Talde honen administratzailea", + "Quota" : "Kuota", + "User backend" : "Erabiltzaile jatorria", + "Storage location" : "Biltegiratze kokapena", + "Last login" : "Azken saioa", + "No users in here" : "Ez dago erabiltzailerik hemen", + "Default quota" : "Kuota lehenetsia", + "Default language" : "Hizkuntza lehenetsia", + "Common languages" : "Hizkuntza komunak", + "Other languages" : "Beste hizkuntza batzuk", + "Password change is disabled because the master key is disabled" : "Pasahitza aldatzea desgaituta dago gako nagusia desaktibatuta baitago.", + "New user" : "Erabiltzaile berria", "You do not have permissions to see the details of this user" : "Ez duzu baimenik erabiltzaile honen xehetasunak ikusteko", "Add new password" : "Gehitu pasahitz berria", "Add new email address" : "Gehitu e-mail helbide berria", @@ -355,22 +368,6 @@ OC.L10N.register( "Welcome mail sent!" : "Ongi etorri mezua bidalita!", "Edit User" : "Erabiltzailea editatu", "{size} used" : "{size} erabilita", - "New user" : "Erabiltzaile berria", - "Will be autogenerated" : "Automatikoki sortuko da", - "Display name" : "Erakusteko izena", - "Email" : "E-posta", - "Default language" : "Hizkuntza lehenetsia", - "Add a new user" : "Gehitu erabiltze berria", - "Group admin for" : "Talde honen administratzailea", - "Quota" : "Kuota", - "User backend" : "Erabiltzaile jatorria", - "Storage location" : "Biltegiratze kokapena", - "Last login" : "Azken saioa", - "No users in here" : "Ez dago erabiltzailerik hemen", - "Default quota" : "Kuota lehenetsia", - "Common languages" : "Hizkuntza komunak", - "Other languages" : "Beste hizkuntza batzuk", - "Password change is disabled because the master key is disabled" : "Pasahitza aldatzea desgaituta dago gako nagusia desaktibatuta baitago.", "Passwordless authentication requires a secure connection." : "Pasahitzik gabeko autentifikazioak konexio segurua behar du.", "Add WebAuthn device" : "Gehitu WebAuthn gailua", "Please authorize your WebAuthn device." : "Mesedez, baimendu zure WebAuthn gailua.", @@ -395,7 +392,6 @@ OC.L10N.register( "Disabled users" : "Erabiltzaile ezinduak", "Default quota:" : "Lehenetsitako kuota:", "Select default quota" : "Aukeratu lehenetsitako kuota", - "Show Languages" : "Erakutsi Hizkuntzak", "Show last login" : "Azken izen ematea erakutsi", "Show user backend" : "Bistaratu erabiltzaile motorra", "Show storage path" : "Erakutsi biltegiaren bidea", @@ -439,7 +435,7 @@ OC.L10N.register( "Documentation" : "Dokumentazioa", "Forum" : "Foroa", "Login" : "Saio hasiera", - "SSL/TLS" : "SSL/TLS", + "SSL" : "SSL", "Open documentation" : "Ireki dokumentazioa", "It is important to set up this server to be able to send emails, like for password reset and notifications." : "Zerbitzaria epostak bidaltzeko gai izatea garrantzitsua da, pasahitzak berrezartzeko eta abisuentzako", "Send mode" : "Bidaltzeko modua", @@ -448,8 +444,7 @@ OC.L10N.register( "From address" : "Helbidetik", "Server address" : "Zerbitzariaren helbidea", "Port" : "Portua", - "Authentication method" : "Autentifikazio metodoa", - "Only applies when authentication is required" : "Autentifikazioa behar denean bakarrik aplikatzen da", + "Authentication" : "Autentifikazioa", "Authentication required" : "Autentikazioa beharrezkoa", "Credentials" : "Kredentzialak", "SMTP Username" : "SMTP erabiltzaile-izena", @@ -505,11 +500,16 @@ OC.L10N.register( "An administrator created app password \"{token}\"" : "Administratzaile batek \"{token}\" aplikazioaren pasahitza sortu du", "Choose profile picture from files" : "Aukeratu profil-irudia fitxategietatik", "png or jpg, max. 20 MB" : "png edo jpg, gehienez 20MB", + "Your location" : "Zure kokapena", + "Will be autogenerated" : "Automatikoki sortuko da", + "Add a new user" : "Gehitu erabiltze berria", + "Show Languages" : "Erakutsi Hizkuntzak", "Plain" : "Arrunta", "NT LAN Manager" : "NT LAN Manager", + "SSL/TLS" : "SSL/TLS", "STARTTLS" : "STARTTLS", + "Authentication method" : "Autentifikazio metodoa", "Allow username autocompletion in share dialog" : "Baimendu erabiltzaile-izenaren osatze automatikoa partekatze elkarrizketan", - "Allow username autocompletion to users within the same groups" : "Baimendu erabiltzaile-izenen osatze automatikoa talde bereko erabiltzaileei", - "Avatar" : "Avatarra" + "Allow username autocompletion to users within the same groups" : "Baimendu erabiltzaile-izenen osatze automatikoa talde bereko erabiltzaileei" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/settings/l10n/eu.json b/apps/settings/l10n/eu.json index 5d91258382e..2b542312eaf 100644 --- a/apps/settings/l10n/eu.json +++ b/apps/settings/l10n/eu.json @@ -314,7 +314,6 @@ "Week starts on {firstDayOfWeek}" : "Astea {firstDayOfWeek} egunean hasten da", "Unable to update locale" : "Ezin izan da lokalizazioa eguneratu", "No locale set" : "Ez da lokalizaziorik ezarri", - "Your location" : "Zure kokapena", "Your organisation" : "Zure erakundea", "Your phone number" : "Zure telefono zenbakia", "Edit your Profile visibility" : "Editatu profilaren ikusgarritasuna", @@ -332,6 +331,20 @@ "Unable to update federation scope of additional {property}" : "Ezin da eguneratu {property} gehigarriaren federazio-esparrua", "Add additional email" : "Gehitu e-posta gehigarria", "Add" : "Gehitu", + "Display name" : "Erakusteko izena", + "Email" : "E-posta", + "Group admin for" : "Talde honen administratzailea", + "Quota" : "Kuota", + "User backend" : "Erabiltzaile jatorria", + "Storage location" : "Biltegiratze kokapena", + "Last login" : "Azken saioa", + "No users in here" : "Ez dago erabiltzailerik hemen", + "Default quota" : "Kuota lehenetsia", + "Default language" : "Hizkuntza lehenetsia", + "Common languages" : "Hizkuntza komunak", + "Other languages" : "Beste hizkuntza batzuk", + "Password change is disabled because the master key is disabled" : "Pasahitza aldatzea desgaituta dago gako nagusia desaktibatuta baitago.", + "New user" : "Erabiltzaile berria", "You do not have permissions to see the details of this user" : "Ez duzu baimenik erabiltzaile honen xehetasunak ikusteko", "Add new password" : "Gehitu pasahitz berria", "Add new email address" : "Gehitu e-mail helbide berria", @@ -353,22 +366,6 @@ "Welcome mail sent!" : "Ongi etorri mezua bidalita!", "Edit User" : "Erabiltzailea editatu", "{size} used" : "{size} erabilita", - "New user" : "Erabiltzaile berria", - "Will be autogenerated" : "Automatikoki sortuko da", - "Display name" : "Erakusteko izena", - "Email" : "E-posta", - "Default language" : "Hizkuntza lehenetsia", - "Add a new user" : "Gehitu erabiltze berria", - "Group admin for" : "Talde honen administratzailea", - "Quota" : "Kuota", - "User backend" : "Erabiltzaile jatorria", - "Storage location" : "Biltegiratze kokapena", - "Last login" : "Azken saioa", - "No users in here" : "Ez dago erabiltzailerik hemen", - "Default quota" : "Kuota lehenetsia", - "Common languages" : "Hizkuntza komunak", - "Other languages" : "Beste hizkuntza batzuk", - "Password change is disabled because the master key is disabled" : "Pasahitza aldatzea desgaituta dago gako nagusia desaktibatuta baitago.", "Passwordless authentication requires a secure connection." : "Pasahitzik gabeko autentifikazioak konexio segurua behar du.", "Add WebAuthn device" : "Gehitu WebAuthn gailua", "Please authorize your WebAuthn device." : "Mesedez, baimendu zure WebAuthn gailua.", @@ -393,7 +390,6 @@ "Disabled users" : "Erabiltzaile ezinduak", "Default quota:" : "Lehenetsitako kuota:", "Select default quota" : "Aukeratu lehenetsitako kuota", - "Show Languages" : "Erakutsi Hizkuntzak", "Show last login" : "Azken izen ematea erakutsi", "Show user backend" : "Bistaratu erabiltzaile motorra", "Show storage path" : "Erakutsi biltegiaren bidea", @@ -437,7 +433,7 @@ "Documentation" : "Dokumentazioa", "Forum" : "Foroa", "Login" : "Saio hasiera", - "SSL/TLS" : "SSL/TLS", + "SSL" : "SSL", "Open documentation" : "Ireki dokumentazioa", "It is important to set up this server to be able to send emails, like for password reset and notifications." : "Zerbitzaria epostak bidaltzeko gai izatea garrantzitsua da, pasahitzak berrezartzeko eta abisuentzako", "Send mode" : "Bidaltzeko modua", @@ -446,8 +442,7 @@ "From address" : "Helbidetik", "Server address" : "Zerbitzariaren helbidea", "Port" : "Portua", - "Authentication method" : "Autentifikazio metodoa", - "Only applies when authentication is required" : "Autentifikazioa behar denean bakarrik aplikatzen da", + "Authentication" : "Autentifikazioa", "Authentication required" : "Autentikazioa beharrezkoa", "Credentials" : "Kredentzialak", "SMTP Username" : "SMTP erabiltzaile-izena", @@ -503,11 +498,16 @@ "An administrator created app password \"{token}\"" : "Administratzaile batek \"{token}\" aplikazioaren pasahitza sortu du", "Choose profile picture from files" : "Aukeratu profil-irudia fitxategietatik", "png or jpg, max. 20 MB" : "png edo jpg, gehienez 20MB", + "Your location" : "Zure kokapena", + "Will be autogenerated" : "Automatikoki sortuko da", + "Add a new user" : "Gehitu erabiltze berria", + "Show Languages" : "Erakutsi Hizkuntzak", "Plain" : "Arrunta", "NT LAN Manager" : "NT LAN Manager", + "SSL/TLS" : "SSL/TLS", "STARTTLS" : "STARTTLS", + "Authentication method" : "Autentifikazio metodoa", "Allow username autocompletion in share dialog" : "Baimendu erabiltzaile-izenaren osatze automatikoa partekatze elkarrizketan", - "Allow username autocompletion to users within the same groups" : "Baimendu erabiltzaile-izenen osatze automatikoa talde bereko erabiltzaileei", - "Avatar" : "Avatarra" + "Allow username autocompletion to users within the same groups" : "Baimendu erabiltzaile-izenen osatze automatikoa talde bereko erabiltzaileei" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/settings/l10n/fa.js b/apps/settings/l10n/fa.js index 56a7bb24a2d..75602ab1d71 100644 --- a/apps/settings/l10n/fa.js +++ b/apps/settings/l10n/fa.js @@ -245,6 +245,19 @@ OC.L10N.register( "Locale" : "محل", "Your phone number" : "شماره تلفن شما", "Add" : "افزودن", + "Display name" : "نام جهت نمایش", + "Email" : "ایمیل", + "Group admin for" : "مدیر گروه برای", + "Quota" : "سهم", + "User backend" : "پشتیبان کاربر", + "Storage location" : "محل ذخیره سازی", + "Last login" : "آخرین ورود", + "No users in here" : "هیچ کاربر در اینجا نیست", + "Default quota" : "سهمیه پیش فرض", + "Default language" : "زبان پیش فرض", + "Common languages" : "زبانهای رایج", + "Password change is disabled because the master key is disabled" : "تغییر رمز غیرفعال شده است زیرا کلید اصلی غیرفعال شده است", + "New user" : "کاربر جدید", "You do not have permissions to see the details of this user" : "شما مجوز دیدن جزئیات این کاربر را ندارید", "Add new password" : "رمزعبور جدید اضافه کنید", "Add new email address" : "آدرس ایمیل جدید اضافه کنید", @@ -264,21 +277,6 @@ OC.L10N.register( "Welcome mail sent!" : "نامه خوش آمديد ارسال شد", "Edit User" : "ویرایش کاربر", "{size} used" : "{size} مورد استفاده", - "New user" : "کاربر جدید", - "Will be autogenerated" : "به صورت خودکار تولید می شود", - "Display name" : "نام جهت نمایش", - "Email" : "ایمیل", - "Default language" : "زبان پیش فرض", - "Add a new user" : "افزودن کاربر جدید", - "Group admin for" : "مدیر گروه برای", - "Quota" : "سهم", - "User backend" : "پشتیبان کاربر", - "Storage location" : "محل ذخیره سازی", - "Last login" : "آخرین ورود", - "No users in here" : "هیچ کاربر در اینجا نیست", - "Default quota" : "سهمیه پیش فرض", - "Common languages" : "زبانهای رایج", - "Password change is disabled because the master key is disabled" : "تغییر رمز غیرفعال شده است زیرا کلید اصلی غیرفعال شده است", "Your apps" : "برنامه های شما", "{license}-licensed" : "دارای مجوز- {license}", "Changelog" : "تغییر", @@ -288,7 +286,6 @@ OC.L10N.register( "Disabled users" : "کاربران غیرفعال شده است", "Default quota:" : "سهمیه پیش فرض:", "Select default quota" : "سهمیه پیش فرض را انتخاب کنید", - "Show Languages" : "نمایش زبانها", "Show last login" : "نمایش آخرین ورود", "Show user backend" : "نمایش پس زمینه کاربر", "Show storage path" : "نمایش مسیر ذخیره سازی", @@ -320,7 +317,7 @@ OC.L10N.register( "Documentation" : "مستندسازی", "Forum" : "انجمن", "Login" : "ورود", - "SSL/TLS" : "SSL/TLS", + "SSL" : "SSL", "Open documentation" : "بازکردن مستند", "It is important to set up this server to be able to send emails, like for password reset and notifications." : "تنظیم این سرور برای این مهم است که بتواند ایمیل ارسال کند ، مانند تنظیم مجدد گذرواژه و اعلان ها.", "Send mode" : "حالت ارسال", @@ -329,7 +326,7 @@ OC.L10N.register( "From address" : "آدرس فرستنده", "Server address" : "آدرس سرور", "Port" : "درگاه", - "Authentication method" : "روش احراز هویت", + "Authentication" : "احراز هویت", "Authentication required" : "احراز هویت مورد نیاز است", "Credentials" : "اعتبارهای", "SMTP Username" : "نام کاربری SMTP", @@ -341,7 +338,7 @@ OC.L10N.register( "There are some errors regarding your setup." : "برخی از خطاها در مورد راه اندازی شما وجود دارد", "There are some warnings regarding your setup." : "هشدارهایی درباره تنظیم شما وجود دارد.", "Checking for system and security issues." : "بررسی مشکلات سیستم و امنیت.", - "Please double check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%1$s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"%2$s\">log</a>." : "لطفاً <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%1$s\">راهنماهای نصب</a> را دو برابر کنید و هرگونه خطا یا هشدار را در <a href=\"%2$s\">گزارشات log </a> بررسی کنید.", + "Please double check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%1$s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"%2$s\">log</a>." : "لطفاً <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%1$s\">راهنماهای نصب</a> را مجددا مرور کرده و هرگونه خطا یا هشدار را در <a href=\"%2$s\">گزارشات log </a> بررسی کنید.", "Check the security of your Nextcloud over <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">our security scan ↗</a>." : "امنیت نکست کلود خود را در مورد <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">اسکن امنیتی ما ↗ </a>بررسی کنید", "Version" : "نسخه", "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "به عنوان مدیر ، می توانید رفتار اشتراک گذاری را تنظیم کنید. لطفا برای اطلاعات بیشتر به اسناد مراجعه کنید.", @@ -371,9 +368,13 @@ OC.L10N.register( "An administrator created app password \"{token}\"" : "مدیری گذرواژهٔ کارهٔ «{token}» را ایجاد کرد", "Choose profile picture from files" : "گزینش نگارهٔ نمایه از پروندهها", "png or jpg, max. 20 MB" : "png یا jpg. بیشینه ۲۰ مب", + "Will be autogenerated" : "به صورت خودکار تولید می شود", + "Add a new user" : "افزودن کاربر جدید", + "Show Languages" : "نمایش زبانها", "Plain" : "ساده", "NT LAN Manager" : "مدیر NT LAN", + "SSL/TLS" : "SSL/TLS", "STARTTLS" : "شروع TLS", - "Avatar" : "آواتار" + "Authentication method" : "روش احراز هویت" }, "nplurals=2; plural=(n > 1);"); diff --git a/apps/settings/l10n/fa.json b/apps/settings/l10n/fa.json index 454003e4f2f..62d97549bf8 100644 --- a/apps/settings/l10n/fa.json +++ b/apps/settings/l10n/fa.json @@ -243,6 +243,19 @@ "Locale" : "محل", "Your phone number" : "شماره تلفن شما", "Add" : "افزودن", + "Display name" : "نام جهت نمایش", + "Email" : "ایمیل", + "Group admin for" : "مدیر گروه برای", + "Quota" : "سهم", + "User backend" : "پشتیبان کاربر", + "Storage location" : "محل ذخیره سازی", + "Last login" : "آخرین ورود", + "No users in here" : "هیچ کاربر در اینجا نیست", + "Default quota" : "سهمیه پیش فرض", + "Default language" : "زبان پیش فرض", + "Common languages" : "زبانهای رایج", + "Password change is disabled because the master key is disabled" : "تغییر رمز غیرفعال شده است زیرا کلید اصلی غیرفعال شده است", + "New user" : "کاربر جدید", "You do not have permissions to see the details of this user" : "شما مجوز دیدن جزئیات این کاربر را ندارید", "Add new password" : "رمزعبور جدید اضافه کنید", "Add new email address" : "آدرس ایمیل جدید اضافه کنید", @@ -262,21 +275,6 @@ "Welcome mail sent!" : "نامه خوش آمديد ارسال شد", "Edit User" : "ویرایش کاربر", "{size} used" : "{size} مورد استفاده", - "New user" : "کاربر جدید", - "Will be autogenerated" : "به صورت خودکار تولید می شود", - "Display name" : "نام جهت نمایش", - "Email" : "ایمیل", - "Default language" : "زبان پیش فرض", - "Add a new user" : "افزودن کاربر جدید", - "Group admin for" : "مدیر گروه برای", - "Quota" : "سهم", - "User backend" : "پشتیبان کاربر", - "Storage location" : "محل ذخیره سازی", - "Last login" : "آخرین ورود", - "No users in here" : "هیچ کاربر در اینجا نیست", - "Default quota" : "سهمیه پیش فرض", - "Common languages" : "زبانهای رایج", - "Password change is disabled because the master key is disabled" : "تغییر رمز غیرفعال شده است زیرا کلید اصلی غیرفعال شده است", "Your apps" : "برنامه های شما", "{license}-licensed" : "دارای مجوز- {license}", "Changelog" : "تغییر", @@ -286,7 +284,6 @@ "Disabled users" : "کاربران غیرفعال شده است", "Default quota:" : "سهمیه پیش فرض:", "Select default quota" : "سهمیه پیش فرض را انتخاب کنید", - "Show Languages" : "نمایش زبانها", "Show last login" : "نمایش آخرین ورود", "Show user backend" : "نمایش پس زمینه کاربر", "Show storage path" : "نمایش مسیر ذخیره سازی", @@ -318,7 +315,7 @@ "Documentation" : "مستندسازی", "Forum" : "انجمن", "Login" : "ورود", - "SSL/TLS" : "SSL/TLS", + "SSL" : "SSL", "Open documentation" : "بازکردن مستند", "It is important to set up this server to be able to send emails, like for password reset and notifications." : "تنظیم این سرور برای این مهم است که بتواند ایمیل ارسال کند ، مانند تنظیم مجدد گذرواژه و اعلان ها.", "Send mode" : "حالت ارسال", @@ -327,7 +324,7 @@ "From address" : "آدرس فرستنده", "Server address" : "آدرس سرور", "Port" : "درگاه", - "Authentication method" : "روش احراز هویت", + "Authentication" : "احراز هویت", "Authentication required" : "احراز هویت مورد نیاز است", "Credentials" : "اعتبارهای", "SMTP Username" : "نام کاربری SMTP", @@ -339,7 +336,7 @@ "There are some errors regarding your setup." : "برخی از خطاها در مورد راه اندازی شما وجود دارد", "There are some warnings regarding your setup." : "هشدارهایی درباره تنظیم شما وجود دارد.", "Checking for system and security issues." : "بررسی مشکلات سیستم و امنیت.", - "Please double check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%1$s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"%2$s\">log</a>." : "لطفاً <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%1$s\">راهنماهای نصب</a> را دو برابر کنید و هرگونه خطا یا هشدار را در <a href=\"%2$s\">گزارشات log </a> بررسی کنید.", + "Please double check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%1$s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"%2$s\">log</a>." : "لطفاً <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%1$s\">راهنماهای نصب</a> را مجددا مرور کرده و هرگونه خطا یا هشدار را در <a href=\"%2$s\">گزارشات log </a> بررسی کنید.", "Check the security of your Nextcloud over <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">our security scan ↗</a>." : "امنیت نکست کلود خود را در مورد <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">اسکن امنیتی ما ↗ </a>بررسی کنید", "Version" : "نسخه", "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "به عنوان مدیر ، می توانید رفتار اشتراک گذاری را تنظیم کنید. لطفا برای اطلاعات بیشتر به اسناد مراجعه کنید.", @@ -369,9 +366,13 @@ "An administrator created app password \"{token}\"" : "مدیری گذرواژهٔ کارهٔ «{token}» را ایجاد کرد", "Choose profile picture from files" : "گزینش نگارهٔ نمایه از پروندهها", "png or jpg, max. 20 MB" : "png یا jpg. بیشینه ۲۰ مب", + "Will be autogenerated" : "به صورت خودکار تولید می شود", + "Add a new user" : "افزودن کاربر جدید", + "Show Languages" : "نمایش زبانها", "Plain" : "ساده", "NT LAN Manager" : "مدیر NT LAN", + "SSL/TLS" : "SSL/TLS", "STARTTLS" : "شروع TLS", - "Avatar" : "آواتار" + "Authentication method" : "روش احراز هویت" },"pluralForm" :"nplurals=2; plural=(n > 1);" }
\ No newline at end of file diff --git a/apps/settings/l10n/fi.js b/apps/settings/l10n/fi.js index 9f57d596339..4cbbd41dc1f 100644 --- a/apps/settings/l10n/fi.js +++ b/apps/settings/l10n/fi.js @@ -278,7 +278,6 @@ OC.L10N.register( "Week starts on {firstDayOfWeek}" : "Viikon ensimmäinen päivä on {firstDayOfWeek}", "Unable to update locale" : "Maa-asetuston päivittäminen ei onnistu", "No locale set" : "Maa-asetustoa ei ole asetettu", - "Your location" : "Sijaintisi", "Your organisation" : "Organisaatiosi", "Your phone number" : "Puhelinnumerosi", "Edit your Profile visibility" : "Muokkaa profiilisi näkyvyyttä", @@ -288,6 +287,19 @@ OC.L10N.register( "Your website" : "Verkkosivustosi", "Add additional email" : "Lisää toissijainen sähköpostiosoite", "Add" : "Lisää", + "Display name" : "Näyttönimi", + "Email" : "Sähköpostiosoite", + "Group admin for" : "Ryhmäylläpitäjä ryhmille", + "Quota" : "Kiintiö", + "User backend" : "Käyttäjätaustaosa", + "Storage location" : "Tallennustilan sijainti", + "Last login" : "Viimeisin kirjautuminen", + "No users in here" : "Täällä ei ole käyttäjiä", + "Default quota" : "Oletuskiintiö", + "Default language" : "Oletuskieli", + "Common languages" : "Yleiset kielet", + "Other languages" : "Muut kielet", + "New user" : "Uusi käyttäjä", "You do not have permissions to see the details of this user" : "Käyttöoikeutesi eivät riitä tämän käyttäjän tietojen näkemiseen", "Edit display name" : "Muokkaa näyttönimeä", "Add new password" : "Lisää uusi salasana", @@ -311,21 +323,6 @@ OC.L10N.register( "Welcome mail sent!" : "Tervetuloviesti lähetetty!", "Edit User" : "Muokkaa käyttäjää", "{size} used" : "{size} käytetty", - "New user" : "Uusi käyttäjä", - "Will be autogenerated" : "Luodaan automaattisesti", - "Display name" : "Näyttönimi", - "Email" : "Sähköpostiosoite", - "Default language" : "Oletuskieli", - "Add a new user" : "Lisää uusi käyttäjä", - "Group admin for" : "Ryhmäylläpitäjä ryhmille", - "Quota" : "Kiintiö", - "User backend" : "Käyttäjätaustaosa", - "Storage location" : "Tallennustilan sijainti", - "Last login" : "Viimeisin kirjautuminen", - "No users in here" : "Täällä ei ole käyttäjiä", - "Default quota" : "Oletuskiintiö", - "Common languages" : "Yleiset kielet", - "Other languages" : "Muut kielet", "Passwordless authentication requires a secure connection." : "Tunnistautuminen ilman salasanaa vaatii salatun yhteyden.", "Add WebAuthn device" : "Lisää WebAuthn-laite", "Please authorize your WebAuthn device." : "Valtuuta WebAuthn-laitteesi.", @@ -350,7 +347,6 @@ OC.L10N.register( "Disabled users" : "Käytöstä poistetut käyttäjät", "Default quota:" : "Oletuskiintiö:", "Select default quota" : "Valitse oletuskiintiö", - "Show Languages" : "Näytä kielet", "Show last login" : "Näytä viimeisin sisäänkirjautuminen", "Show user backend" : "Näytä käyttäjätaustaosa", "Show storage path" : "Näytä tallennustilan polku", @@ -390,7 +386,7 @@ OC.L10N.register( "Documentation" : "Dokumentaatio", "Forum" : "Keskustelupalsta", "Login" : "Kirjaudu", - "SSL/TLS" : "SSL/TLS", + "SSL" : "SSL", "Open documentation" : "Avaa dokumentaatio", "It is important to set up this server to be able to send emails, like for password reset and notifications." : "On tärkeää määrittää sähköpostipalvelinasetukset, jotta voidaan lähettää muun muassa salasanan palautus- ja ilmoitussähköpostiviestejä.", "Send mode" : "Lähetystila", @@ -399,8 +395,7 @@ OC.L10N.register( "From address" : "Lähettäjän osoite", "Server address" : "Palvelimen osoite", "Port" : "Portti", - "Authentication method" : "Tunnistautumistapa", - "Only applies when authentication is required" : "Sovelletaan vain kun tunnistautuminen vaaditaan", + "Authentication" : "Tunnistautuminen", "Authentication required" : "Tunnistautuminen vaaditaan", "Credentials" : "Tilitiedot", "SMTP Username" : "SMTP-käyttäjätunnus", @@ -450,12 +445,16 @@ OC.L10N.register( "An administrator created app password \"{token}\"" : "Ylläpitäjä loi sovellussalasanan \"{token}\"", "Choose profile picture from files" : "Valitse profiilikuva tiedostoista", "png or jpg, max. 20 MB" : "png tai jpg, korkeintaan 20 Mt", + "Your location" : "Sijaintisi", + "Will be autogenerated" : "Luodaan automaattisesti", + "Add a new user" : "Lisää uusi käyttäjä", + "Show Languages" : "Näytä kielet", "Plain" : "Plain", "NT LAN Manager" : "NT LAN Manager", + "SSL/TLS" : "SSL/TLS", "STARTTLS" : "STARTTLS", + "Authentication method" : "Tunnistautumistapa", "Allow username autocompletion in share dialog" : "Ota käyttöön käyttäjänimen automaattitäyttö jakolomakkeessa", - "Allow username autocompletion to users within the same groups" : "Ota käyttöön käyttäjänimen automaattitäyttö saman ryhmän käyttäjille", - "Avatar" : "Profiilikuva", - "User actions" : "Käyttäjätoiminnot" + "Allow username autocompletion to users within the same groups" : "Ota käyttöön käyttäjänimen automaattitäyttö saman ryhmän käyttäjille" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/settings/l10n/fi.json b/apps/settings/l10n/fi.json index 77b716f732f..02d3a37c232 100644 --- a/apps/settings/l10n/fi.json +++ b/apps/settings/l10n/fi.json @@ -276,7 +276,6 @@ "Week starts on {firstDayOfWeek}" : "Viikon ensimmäinen päivä on {firstDayOfWeek}", "Unable to update locale" : "Maa-asetuston päivittäminen ei onnistu", "No locale set" : "Maa-asetustoa ei ole asetettu", - "Your location" : "Sijaintisi", "Your organisation" : "Organisaatiosi", "Your phone number" : "Puhelinnumerosi", "Edit your Profile visibility" : "Muokkaa profiilisi näkyvyyttä", @@ -286,6 +285,19 @@ "Your website" : "Verkkosivustosi", "Add additional email" : "Lisää toissijainen sähköpostiosoite", "Add" : "Lisää", + "Display name" : "Näyttönimi", + "Email" : "Sähköpostiosoite", + "Group admin for" : "Ryhmäylläpitäjä ryhmille", + "Quota" : "Kiintiö", + "User backend" : "Käyttäjätaustaosa", + "Storage location" : "Tallennustilan sijainti", + "Last login" : "Viimeisin kirjautuminen", + "No users in here" : "Täällä ei ole käyttäjiä", + "Default quota" : "Oletuskiintiö", + "Default language" : "Oletuskieli", + "Common languages" : "Yleiset kielet", + "Other languages" : "Muut kielet", + "New user" : "Uusi käyttäjä", "You do not have permissions to see the details of this user" : "Käyttöoikeutesi eivät riitä tämän käyttäjän tietojen näkemiseen", "Edit display name" : "Muokkaa näyttönimeä", "Add new password" : "Lisää uusi salasana", @@ -309,21 +321,6 @@ "Welcome mail sent!" : "Tervetuloviesti lähetetty!", "Edit User" : "Muokkaa käyttäjää", "{size} used" : "{size} käytetty", - "New user" : "Uusi käyttäjä", - "Will be autogenerated" : "Luodaan automaattisesti", - "Display name" : "Näyttönimi", - "Email" : "Sähköpostiosoite", - "Default language" : "Oletuskieli", - "Add a new user" : "Lisää uusi käyttäjä", - "Group admin for" : "Ryhmäylläpitäjä ryhmille", - "Quota" : "Kiintiö", - "User backend" : "Käyttäjätaustaosa", - "Storage location" : "Tallennustilan sijainti", - "Last login" : "Viimeisin kirjautuminen", - "No users in here" : "Täällä ei ole käyttäjiä", - "Default quota" : "Oletuskiintiö", - "Common languages" : "Yleiset kielet", - "Other languages" : "Muut kielet", "Passwordless authentication requires a secure connection." : "Tunnistautuminen ilman salasanaa vaatii salatun yhteyden.", "Add WebAuthn device" : "Lisää WebAuthn-laite", "Please authorize your WebAuthn device." : "Valtuuta WebAuthn-laitteesi.", @@ -348,7 +345,6 @@ "Disabled users" : "Käytöstä poistetut käyttäjät", "Default quota:" : "Oletuskiintiö:", "Select default quota" : "Valitse oletuskiintiö", - "Show Languages" : "Näytä kielet", "Show last login" : "Näytä viimeisin sisäänkirjautuminen", "Show user backend" : "Näytä käyttäjätaustaosa", "Show storage path" : "Näytä tallennustilan polku", @@ -388,7 +384,7 @@ "Documentation" : "Dokumentaatio", "Forum" : "Keskustelupalsta", "Login" : "Kirjaudu", - "SSL/TLS" : "SSL/TLS", + "SSL" : "SSL", "Open documentation" : "Avaa dokumentaatio", "It is important to set up this server to be able to send emails, like for password reset and notifications." : "On tärkeää määrittää sähköpostipalvelinasetukset, jotta voidaan lähettää muun muassa salasanan palautus- ja ilmoitussähköpostiviestejä.", "Send mode" : "Lähetystila", @@ -397,8 +393,7 @@ "From address" : "Lähettäjän osoite", "Server address" : "Palvelimen osoite", "Port" : "Portti", - "Authentication method" : "Tunnistautumistapa", - "Only applies when authentication is required" : "Sovelletaan vain kun tunnistautuminen vaaditaan", + "Authentication" : "Tunnistautuminen", "Authentication required" : "Tunnistautuminen vaaditaan", "Credentials" : "Tilitiedot", "SMTP Username" : "SMTP-käyttäjätunnus", @@ -448,12 +443,16 @@ "An administrator created app password \"{token}\"" : "Ylläpitäjä loi sovellussalasanan \"{token}\"", "Choose profile picture from files" : "Valitse profiilikuva tiedostoista", "png or jpg, max. 20 MB" : "png tai jpg, korkeintaan 20 Mt", + "Your location" : "Sijaintisi", + "Will be autogenerated" : "Luodaan automaattisesti", + "Add a new user" : "Lisää uusi käyttäjä", + "Show Languages" : "Näytä kielet", "Plain" : "Plain", "NT LAN Manager" : "NT LAN Manager", + "SSL/TLS" : "SSL/TLS", "STARTTLS" : "STARTTLS", + "Authentication method" : "Tunnistautumistapa", "Allow username autocompletion in share dialog" : "Ota käyttöön käyttäjänimen automaattitäyttö jakolomakkeessa", - "Allow username autocompletion to users within the same groups" : "Ota käyttöön käyttäjänimen automaattitäyttö saman ryhmän käyttäjille", - "Avatar" : "Profiilikuva", - "User actions" : "Käyttäjätoiminnot" + "Allow username autocompletion to users within the same groups" : "Ota käyttöön käyttäjänimen automaattitäyttö saman ryhmän käyttäjille" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/settings/l10n/fr.js b/apps/settings/l10n/fr.js index 33935fd88ed..85fd2592f01 100644 --- a/apps/settings/l10n/fr.js +++ b/apps/settings/l10n/fr.js @@ -125,7 +125,7 @@ OC.L10N.register( "Overview" : "Vue d'ensemble", "Basic settings" : "Paramètres de base", "Sharing" : "Partage", - "Availability" : "Disponibilité", + "Availability" : "Disponibilités", "Calendar" : "Agenda", "Personal info" : "Informations personnelles", "Mobile & desktop" : "Mobile & bureau", @@ -316,7 +316,7 @@ OC.L10N.register( "Week starts on {firstDayOfWeek}" : "Les semaines commencent le {firstDayOfWeek}", "Unable to update locale" : "Impossible de mettre à jour les paramètres régionaux", "No locale set" : "Paramètres régionaux non définis", - "Your location" : "Votre localisation", + "Your city" : "Votre ville", "Your organisation" : "Votre organisation", "Your phone number" : "Votre numéro de téléphone", "Edit your Profile visibility" : "Visibilité du profil", @@ -334,6 +334,35 @@ OC.L10N.register( "Unable to update federation scope of additional {property}" : "Impossible de mettre à jour la portée de la fédération pour le/la {property} additionnel(le)", "Add additional email" : "Ajouter un e-mail supplémentaire", "Add" : "Ajouter", + "User's table" : "Tableau des utilisateurs", + "Display name" : "Nom d'affichage", + "Email" : "E-mail", + "Group admin for" : "Administrateur de groupe pour", + "Quota" : "Quota", + "User backend" : "Origine du compte", + "Storage location" : "Emplacement du stockage", + "Last login" : "Dernière connexion", + "Manager" : "Gestionnaire", + "No users in here" : "Aucun utilisateur", + "Default quota" : "Quota par défaut", + "Default language" : "Langue par défaut", + "Common languages" : "Langues communes", + "Other languages" : "Autres langues", + "Password change is disabled because the master key is disabled" : "Le changement de mot de passe est désactivé car la clé principale est désactivée", + "New user" : "Nouvel utilisateur", + "Either password or email is required" : "Le mot de passe ou l'e-mail est requis", + "Password (required)" : "Mot de passe (requis)", + "Email (required)" : "E-mail (requis)", + "Groups (required)" : "Groupes (requis)", + "Set user groups" : "Définir les groupes d'utilisateurs", + "Administered groups" : "Groupes administrés", + "Set user as admin for …" : "Définir l'utilisateur comme administrateur pour…", + "Set user quota" : "Définir le quota de l'utilisateur", + "Set default language" : "Définir la langue par défaut", + "Set user manager" : "Définir le gestionnaire des utilisateurs", + "Add new user" : "Ajouter un nouvel utilisateur", + "Username will be autogenerated" : "Le nom d'utilisateur sera généré automatiquement", + "Username (required)" : "Nom d'utilisateur (requis)", "You do not have permissions to see the details of this user" : "Vous n'avez pas les autorisations pour voir le détail de cet utilisateur", "Edit display name" : "Modifier le nom d'affichage", "Add new password" : "Ajouter un nouveau mot de passe", @@ -358,37 +387,18 @@ OC.L10N.register( "Welcome mail sent!" : "E-mail de bienvenue envoyé !", "Edit User" : "Modifier l'utilisateur", "{size} used" : "{size} utilisés", - "User's table" : "Tableau des utilisateurs", - "New user" : "Nouvel utilisateur", - "Will be autogenerated" : "Sera généré automatiquement", - "Display name" : "Nom d'affichage", - "Email" : "E-mail", - "Default language" : "Langue par défaut", - "Select user manager" : "Sélectionner le gestionnaire des utilisateurs", - "Add a new user" : "Ajouter un nouvel utilisateur", - "Group admin for" : "Administrateur de groupe pour", - "Quota" : "Quota", - "User backend" : "Origine du compte", - "Storage location" : "Emplacement du stockage", - "Last login" : "Dernière connexion", - "Manager" : "Gestionnaire", - "No users in here" : "Aucun utilisateur", - "Default quota" : "Quota par défaut", - "Common languages" : "Langues communes", - "Other languages" : "Autres langues", - "Password change is disabled because the master key is disabled" : "Le changement de mot de passe est désactivé car la clé principale est désactivée", "Passwordless authentication requires a secure connection." : "L'authentification sans mot de passe requiert une connexion sécurisée.", - "Add WebAuthn device" : "Ajouter un appareil WebAuthn", - "Please authorize your WebAuthn device." : "Veuillez autoriser votre appareil WebAuthn.", - "Name your device" : "Nommez votre appareil", - "Adding your device …" : "Ajout de votre appareil…", + "Add WebAuthn device" : "Ajouter un périphérique WebAuthn", + "Please authorize your WebAuthn device." : "Veuillez autoriser votre périphérique WebAuthn.", + "Name your device" : "Nommez votre périphérique", + "Adding your device …" : "Ajout de votre périphérique…", "Server error while trying to add WebAuthn device" : "Erreur du serveur lors de l'ajout du périphérique WebAuthn", - "Server error while trying to complete WebAuthn device registration" : "Erreur du serveur lors de l'enregistrement de l'appareil WebAuthn", - "Unnamed device" : "Appareil sans nom", + "Server error while trying to complete WebAuthn device registration" : "Erreur du serveur lors de l'enregistrement du périphérique WebAuthn", + "Unnamed device" : "Périphérique sans nom", "Passwordless Authentication" : "Authentification sans mot de passe", "Set up your account for passwordless authentication following the FIDO2 standard." : "Configurer votre compte pour une authentification sans mot de passe suivant le standard FIDO2.", "No devices configured." : "Aucun périphérique paramétré.", - "The following devices are configured for your account:" : "Les appareils suivants sont paramétrés pour votre compte :", + "The following devices are configured for your account:" : "Les périphériques suivants sont paramétrés pour votre compte :", "Your browser does not support WebAuthn." : "Votre navigateur ne prend pas en charge WebAuthn.", "Your apps" : "Vos applications", "{license}-licensed" : "Sous licence {license}", @@ -401,7 +411,7 @@ OC.L10N.register( "Disabled users" : "Utilisateurs désactivés", "Default quota:" : "Quota par défaut :", "Select default quota" : "Sélectionner le quota par défaut", - "Show Languages" : "Afficher la langue", + "Show languages" : "Afficher les langues", "Show last login" : "Afficher la dernière connexion", "Show user backend" : "Afficher l'origine du compte", "Show storage path" : "Afficher l'emplacement du stockage", @@ -445,7 +455,8 @@ OC.L10N.register( "Documentation" : "Documentation", "Forum" : "Forum", "Login" : "Login", - "SSL/TLS" : "SSL/TLS", + "None/STARTTLS" : "Aucun/STARTTLS", + "SSL" : "SSL", "Open documentation" : "Ouvrir la documentation", "It is important to set up this server to be able to send emails, like for password reset and notifications." : "Il est important d'indiquer un serveur afin de pouvoir envoyer des mails en cas de perte de mot de passe et pour d'autres notifications.", "Send mode" : "Mode d'envoi", @@ -454,8 +465,7 @@ OC.L10N.register( "From address" : "Adresse source", "Server address" : "Adresse du serveur", "Port" : "Port", - "Authentication method" : "Méthode d'authentification", - "Only applies when authentication is required" : "Ne s'applique que lorsque l'authentification est requise", + "Authentication" : "Authentification", "Authentication required" : "Authentification requise", "Credentials" : "Informations d'identification", "SMTP Username" : "Nom d'utilisateur SMTP", @@ -513,12 +523,17 @@ OC.L10N.register( "An administrator created app password \"{token}\"" : "Un administrateur a créé un mot de passe d'application \"{token}\"", "Choose profile picture from files" : "Choisir une image parmi les fichiers", "png or jpg, max. 20 MB" : "png ou jpg, max. 20 Mo", + "Your location" : "Votre localisation", + "Will be autogenerated" : "Sera généré automatiquement", + "Add a new user" : "Ajouter un nouvel utilisateur", + "Show Languages" : "Afficher la langue", "Plain" : "En clair", "NT LAN Manager" : "Gestionnaire du réseau NT", + "SSL/TLS" : "SSL/TLS", "STARTTLS" : "STARTTLS", + "Authentication method" : "Méthode d'authentification", "Allow username autocompletion in share dialog" : "Autoriser l'autocomplétion du nom d'utilisateur dans la boite de dialogue de partage", "Allow username autocompletion to users within the same groups" : "Autoriser l'autocomplétion du nom d'utilisateur pour les utilisateurs du même groupe", - "Avatar" : "Avatar", - "User actions" : "Actions de l'utilisateur" + "Select user manager" : "Sélectionner le gestionnaire des utilisateurs" }, "nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); diff --git a/apps/settings/l10n/fr.json b/apps/settings/l10n/fr.json index 7f06424cdcf..defad1506e8 100644 --- a/apps/settings/l10n/fr.json +++ b/apps/settings/l10n/fr.json @@ -123,7 +123,7 @@ "Overview" : "Vue d'ensemble", "Basic settings" : "Paramètres de base", "Sharing" : "Partage", - "Availability" : "Disponibilité", + "Availability" : "Disponibilités", "Calendar" : "Agenda", "Personal info" : "Informations personnelles", "Mobile & desktop" : "Mobile & bureau", @@ -314,7 +314,7 @@ "Week starts on {firstDayOfWeek}" : "Les semaines commencent le {firstDayOfWeek}", "Unable to update locale" : "Impossible de mettre à jour les paramètres régionaux", "No locale set" : "Paramètres régionaux non définis", - "Your location" : "Votre localisation", + "Your city" : "Votre ville", "Your organisation" : "Votre organisation", "Your phone number" : "Votre numéro de téléphone", "Edit your Profile visibility" : "Visibilité du profil", @@ -332,6 +332,35 @@ "Unable to update federation scope of additional {property}" : "Impossible de mettre à jour la portée de la fédération pour le/la {property} additionnel(le)", "Add additional email" : "Ajouter un e-mail supplémentaire", "Add" : "Ajouter", + "User's table" : "Tableau des utilisateurs", + "Display name" : "Nom d'affichage", + "Email" : "E-mail", + "Group admin for" : "Administrateur de groupe pour", + "Quota" : "Quota", + "User backend" : "Origine du compte", + "Storage location" : "Emplacement du stockage", + "Last login" : "Dernière connexion", + "Manager" : "Gestionnaire", + "No users in here" : "Aucun utilisateur", + "Default quota" : "Quota par défaut", + "Default language" : "Langue par défaut", + "Common languages" : "Langues communes", + "Other languages" : "Autres langues", + "Password change is disabled because the master key is disabled" : "Le changement de mot de passe est désactivé car la clé principale est désactivée", + "New user" : "Nouvel utilisateur", + "Either password or email is required" : "Le mot de passe ou l'e-mail est requis", + "Password (required)" : "Mot de passe (requis)", + "Email (required)" : "E-mail (requis)", + "Groups (required)" : "Groupes (requis)", + "Set user groups" : "Définir les groupes d'utilisateurs", + "Administered groups" : "Groupes administrés", + "Set user as admin for …" : "Définir l'utilisateur comme administrateur pour…", + "Set user quota" : "Définir le quota de l'utilisateur", + "Set default language" : "Définir la langue par défaut", + "Set user manager" : "Définir le gestionnaire des utilisateurs", + "Add new user" : "Ajouter un nouvel utilisateur", + "Username will be autogenerated" : "Le nom d'utilisateur sera généré automatiquement", + "Username (required)" : "Nom d'utilisateur (requis)", "You do not have permissions to see the details of this user" : "Vous n'avez pas les autorisations pour voir le détail de cet utilisateur", "Edit display name" : "Modifier le nom d'affichage", "Add new password" : "Ajouter un nouveau mot de passe", @@ -356,37 +385,18 @@ "Welcome mail sent!" : "E-mail de bienvenue envoyé !", "Edit User" : "Modifier l'utilisateur", "{size} used" : "{size} utilisés", - "User's table" : "Tableau des utilisateurs", - "New user" : "Nouvel utilisateur", - "Will be autogenerated" : "Sera généré automatiquement", - "Display name" : "Nom d'affichage", - "Email" : "E-mail", - "Default language" : "Langue par défaut", - "Select user manager" : "Sélectionner le gestionnaire des utilisateurs", - "Add a new user" : "Ajouter un nouvel utilisateur", - "Group admin for" : "Administrateur de groupe pour", - "Quota" : "Quota", - "User backend" : "Origine du compte", - "Storage location" : "Emplacement du stockage", - "Last login" : "Dernière connexion", - "Manager" : "Gestionnaire", - "No users in here" : "Aucun utilisateur", - "Default quota" : "Quota par défaut", - "Common languages" : "Langues communes", - "Other languages" : "Autres langues", - "Password change is disabled because the master key is disabled" : "Le changement de mot de passe est désactivé car la clé principale est désactivée", "Passwordless authentication requires a secure connection." : "L'authentification sans mot de passe requiert une connexion sécurisée.", - "Add WebAuthn device" : "Ajouter un appareil WebAuthn", - "Please authorize your WebAuthn device." : "Veuillez autoriser votre appareil WebAuthn.", - "Name your device" : "Nommez votre appareil", - "Adding your device …" : "Ajout de votre appareil…", + "Add WebAuthn device" : "Ajouter un périphérique WebAuthn", + "Please authorize your WebAuthn device." : "Veuillez autoriser votre périphérique WebAuthn.", + "Name your device" : "Nommez votre périphérique", + "Adding your device …" : "Ajout de votre périphérique…", "Server error while trying to add WebAuthn device" : "Erreur du serveur lors de l'ajout du périphérique WebAuthn", - "Server error while trying to complete WebAuthn device registration" : "Erreur du serveur lors de l'enregistrement de l'appareil WebAuthn", - "Unnamed device" : "Appareil sans nom", + "Server error while trying to complete WebAuthn device registration" : "Erreur du serveur lors de l'enregistrement du périphérique WebAuthn", + "Unnamed device" : "Périphérique sans nom", "Passwordless Authentication" : "Authentification sans mot de passe", "Set up your account for passwordless authentication following the FIDO2 standard." : "Configurer votre compte pour une authentification sans mot de passe suivant le standard FIDO2.", "No devices configured." : "Aucun périphérique paramétré.", - "The following devices are configured for your account:" : "Les appareils suivants sont paramétrés pour votre compte :", + "The following devices are configured for your account:" : "Les périphériques suivants sont paramétrés pour votre compte :", "Your browser does not support WebAuthn." : "Votre navigateur ne prend pas en charge WebAuthn.", "Your apps" : "Vos applications", "{license}-licensed" : "Sous licence {license}", @@ -399,7 +409,7 @@ "Disabled users" : "Utilisateurs désactivés", "Default quota:" : "Quota par défaut :", "Select default quota" : "Sélectionner le quota par défaut", - "Show Languages" : "Afficher la langue", + "Show languages" : "Afficher les langues", "Show last login" : "Afficher la dernière connexion", "Show user backend" : "Afficher l'origine du compte", "Show storage path" : "Afficher l'emplacement du stockage", @@ -443,7 +453,8 @@ "Documentation" : "Documentation", "Forum" : "Forum", "Login" : "Login", - "SSL/TLS" : "SSL/TLS", + "None/STARTTLS" : "Aucun/STARTTLS", + "SSL" : "SSL", "Open documentation" : "Ouvrir la documentation", "It is important to set up this server to be able to send emails, like for password reset and notifications." : "Il est important d'indiquer un serveur afin de pouvoir envoyer des mails en cas de perte de mot de passe et pour d'autres notifications.", "Send mode" : "Mode d'envoi", @@ -452,8 +463,7 @@ "From address" : "Adresse source", "Server address" : "Adresse du serveur", "Port" : "Port", - "Authentication method" : "Méthode d'authentification", - "Only applies when authentication is required" : "Ne s'applique que lorsque l'authentification est requise", + "Authentication" : "Authentification", "Authentication required" : "Authentification requise", "Credentials" : "Informations d'identification", "SMTP Username" : "Nom d'utilisateur SMTP", @@ -511,12 +521,17 @@ "An administrator created app password \"{token}\"" : "Un administrateur a créé un mot de passe d'application \"{token}\"", "Choose profile picture from files" : "Choisir une image parmi les fichiers", "png or jpg, max. 20 MB" : "png ou jpg, max. 20 Mo", + "Your location" : "Votre localisation", + "Will be autogenerated" : "Sera généré automatiquement", + "Add a new user" : "Ajouter un nouvel utilisateur", + "Show Languages" : "Afficher la langue", "Plain" : "En clair", "NT LAN Manager" : "Gestionnaire du réseau NT", + "SSL/TLS" : "SSL/TLS", "STARTTLS" : "STARTTLS", + "Authentication method" : "Méthode d'authentification", "Allow username autocompletion in share dialog" : "Autoriser l'autocomplétion du nom d'utilisateur dans la boite de dialogue de partage", "Allow username autocompletion to users within the same groups" : "Autoriser l'autocomplétion du nom d'utilisateur pour les utilisateurs du même groupe", - "Avatar" : "Avatar", - "User actions" : "Actions de l'utilisateur" + "Select user manager" : "Sélectionner le gestionnaire des utilisateurs" },"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/settings/l10n/gl.js b/apps/settings/l10n/gl.js index 1bbceafdfcc..24902e6d28c 100644 --- a/apps/settings/l10n/gl.js +++ b/apps/settings/l10n/gl.js @@ -2,9 +2,9 @@ OC.L10N.register( "settings", { "Private" : "Privado", - "Only visible to people matched via phone number integration through Talk on mobile" : "Só son visibles para as persoas coincidentes mediante a integración do número de teléfono a través de Talk no móbil", + "Only visible to people matched via phone number integration through Talk on mobile" : "Só son visíbeis para as persoas coincidentes mediante a integración do número de teléfono a través de Talk no móbil", "Local" : "Local", - "Only visible to people on this instance and guests" : "Só visible para as persoas desta instancia e os convidados", + "Only visible to people on this instance and guests" : "Visíbel só para as persoas desta instancia e os convidados", "Federated" : "Federado", "Only synchronize to trusted servers" : "Sincronizar só con servidores de confianza", "Published" : "Publicado", @@ -44,37 +44,37 @@ OC.L10N.register( "You renamed app password \"{token}\" to \"{newToken}\"" : "Vostede renomeou o contrasinal da aplicación «{token}» como «{newToken}»", "You granted filesystem access to app password \"{token}\"" : "Vostede concedeu acceso ao sistema de ficheiros ao contrasinal da aplicación «{token}»", "You revoked filesystem access from app password \"{token}\"" : "Vostede revogou o acceso ao sistema de ficheiros dende o contrasinal da aplicación «{token}»", - "Security" : "Seguridade", + "Security" : "Seguranza", "You successfully logged in using two-factor authentication (%1$s)" : "Accedeu satisfactoriamente usando autenticación de dous factores (%1$s)", "A login attempt using two-factor authentication failed (%1$s)" : "Fallou un intento de acceso usando autenticación de dous factores (%1$s)", "Remote wipe was started on %1$s" : "Iniciouse a limpeza remota en %1$s", "Remote wipe has finished on %1$s" : "Rematou a limpeza remota en %1$s", - "Your <strong>password</strong> or <strong>email</strong> was modified" : "Foi modificado o seu <strong>contrasinal</strong> ou o seu <strong>correo electrónico</strong>", + "Your <strong>password</strong> or <strong>email</strong> was modified" : "Foi modificado o seu <strong>contrasinal</strong> ou o seu <strong>correo</strong>", "Apps" : "Aplicacións", - "Could not remove app." : "Non se puido eliminar a aplicación.", - "Could not update app." : "Non se puido actualizar a aplicación.", - "Wrong password" : "Contrasinal incorrecto", - "Unable to change personal password" : "Non se puido cambiar o contrasinal persoal", + "Could not remove app." : "Non foi posíbel retirar a aplicación.", + "Could not update app." : "Non foi posíbel actualizar a aplicación.", + "Wrong password" : "Contrasinal erróneo", + "Unable to change personal password" : "Non é posíbel cambiar o contrasinal persoal", "Saved" : "Gardado", "No user supplied" : "Non subministrado polo usuario", - "Unable to change password. Password too long." : "Non se puido cambiar o contrasinal. O contrasinal é demasiado longo.", + "Unable to change password. Password too long." : "Non é posíbel cambiar o contrasinal. O contrasinal é longo de máis.", "Authentication error" : "Produciuse un erro de autenticación", "Please provide an admin recovery password; otherwise, all user data will be lost." : "Forneza un contrasinal de recuperación de administrador; senón perderase toda a información do usuario.", - "Wrong admin recovery password. Please check the password and try again." : "Contrasinal de recuperación do administrador incorrecto. Comprobe o contrasinal e ténteo de novo.", - "Backend does not support password change, but the user's encryption key was updated." : "O backend non admite o cambio de contrasinal, pero actualizouse a clave de cifrado do usuario.", - "installing and updating apps via the App Store or Federated Cloud Sharing" : "instalar e actualizar aplicacións a través da App Store ou Federated Cloud Sharing", + "Wrong admin recovery password. Please check the password and try again." : "Contrasinal de recuperación do administrador erróneo. Comprobe o contrasinal e ténteo de novo.", + "Backend does not support password change, but the user's encryption key was updated." : "A infraestrutura non admite o cambio de contrasinal, mais a chave de cifrado do usuario foi actualizada.", + "installing and updating apps via the App Store or Federated Cloud Sharing" : "instalar e actualizar aplicacións a través da tenda de aplicacións ou da nube federada compartida", "Federated Cloud Sharing" : "Nube federada compartida", "cURL is using an outdated %1$s version (%2$s). Please update your operating system or features such as %3$s will not work reliably." : "cURL está utilizando unha versión obsoleta %1$s (%2$s). Actualice o seu sistema operativo, caso contrario características como %3$s non funcionarán de xeito fiábel.", - "Could not determine if TLS version of cURL is outdated or not because an error happened during the HTTPS request against https://nextcloud.com. Please check the Nextcloud log file for more details." : "Non se puido determinar se a versión TLS de cURL está desactualizada ou non porque se produciu un erro durante a solicitude HTTPS contra https://nextcloud.com. Consulte o ficheiro de rexistro de Nextcloud para obter máis detalles.", + "Could not determine if TLS version of cURL is outdated or not because an error happened during the HTTPS request against https://nextcloud.com. Please check the Nextcloud log file for more details." : "Non foi posíbel determinar se a versión TLS de cURL está desactualizada ou non porque se produciu un erro durante a solicitude HTTPS contra https://nextcloud.com. Consulte o ficheiro de rexistro de Nextcloud para obter máis detalles.", "The PHP OPcache module is not loaded. For better performance it is recommended to load it into your PHP installation." : "O módulo PHP OPcache non está cargado. Para un mellor rendemento, recoméndase cargalo na súa instalación de PHP.", "OPcache is disabled. For better performance, it is recommended to apply <code>opcache.enable=1</code> to your PHP configuration." : "OPcache está desactivado. Para un mellor rendemento, recoméndase aplicar <code>opcache.enable=1</code> á súa configuración de PHP.", - "OPcache is configured to remove code comments. With OPcache enabled, <code>opcache.save_comments=1</code> must be set for Nextcloud to function." : "OPcache está configurado para eliminar comentarios de código. Con OPcache activado, debe configurarse <code>opcache.save_comments=1</code> para que Nextcloud funcione.", - "Nextcloud is not allowed to use the OPcache API. With OPcache enabled, it is highly recommended to include all Nextcloud directories with <code>opcache.restrict_api</code> or unset this setting to disable OPcache API restrictions, to prevent errors during Nextcloud core or app upgrades." : "Nextcloud non pode usar a API OPcache. Con OPcache activado, é moi recomendable incluír todos os directorios de Nextcloud con <code>opcache.restrict_api</code> ou desactivar esta configuración para desactivar as restricións da API de OPcache, para evitar erros durante as actualizacións do núcleo de Nextcloud ou da aplicación.", - "Nextcloud is not allowed to use the OPcache API. It is highly recommended to include all Nextcloud directories with <code>opcache.restrict_api</code> or unset this setting to disable OPcache API restrictions, to prevent errors during Nextcloud core or app upgrades." : "Nextcloud non pode usar a API OPcache. É moi recomendable incluír todos os directorios de Nextcloud con <code>opcache.restrict_api</code> ou desactivar esta configuración para desactivar as restricións da API de OPcache, para evitar erros durante as actualizacións do núcleo de Nextcloud ou das aplicacións.", + "OPcache is configured to remove code comments. With OPcache enabled, <code>opcache.save_comments=1</code> must be set for Nextcloud to function." : "OPcache está configurado para retirar comentarios de código. Con OPcache activado, debe configurarse <code>opcache.save_comments=1</code> para que Nextcloud funcione.", + "Nextcloud is not allowed to use the OPcache API. With OPcache enabled, it is highly recommended to include all Nextcloud directories with <code>opcache.restrict_api</code> or unset this setting to disable OPcache API restrictions, to prevent errors during Nextcloud core or app upgrades." : "Nextcloud non pode usar a API OPcache. Con OPcache activado, é moi recomendábel incluír todos os directorios de Nextcloud con <code>opcache.restrict_api</code> ou desactivar este axuste para desactivar as restricións da API de OPcache, para evitar erros durante as anovacións do núcleo de Nextcloud ou da aplicación.", + "Nextcloud is not allowed to use the OPcache API. It is highly recommended to include all Nextcloud directories with <code>opcache.restrict_api</code> or unset this setting to disable OPcache API restrictions, to prevent errors during Nextcloud core or app upgrades." : "Nextcloud non pode usar a API OPcache. É moi recomendábel incluír todos os directorios de Nextcloud con <code>opcache.restrict_api</code> ou desactivar este axuste para desactivar as restricións da API de OPcache, para evitar erros durante as anovacións do núcleo de Nextcloud ou das aplicacións.", "The shared memory based OPcache is disabled. For better performance, it is recommended to apply <code>opcache.file_cache_only=0</code> to your PHP configuration and use the file cache as second level cache only." : "O OPcache baseado na memoria compartida está desactivado. Para un mellor rendemento, recoméndase aplicar <code>opcache.file_cache_only=0</code> á súa configuración de PHP e utilizar a caché de ficheiros só como caché de segundo nivel.", "The maximum number of OPcache keys is nearly exceeded. To assure that all scripts can be kept in the cache, it is recommended to apply <code>opcache.max_accelerated_files</code> to your PHP configuration with a value higher than <code>%s</code>." : "O número máximo de chaves OPcache está case superado. Para garantir que todos os scripts poden manterse na caché, recoméndase aplicar <code>opcache.max_accelerated_files</code> á súa configuración de PHP cun valor superior a <code>%s</code>.", "The OPcache buffer is nearly full. To assure that all scripts can be hold in cache, it is recommended to apply <code>opcache.memory_consumption</code> to your PHP configuration with a value higher than <code>%s</code>." : "O búfer OPcache está case cheo. Para garantir que todos os scripts se poidan gardar na caché, recoméndase aplicar <code>opcache.memory_consumption</code> á súa configuración de PHP cun valor superior a <code>%s</code>.", - "The OPcache interned strings buffer is nearly full. To assure that repeating strings can be effectively cached, it is recommended to apply <code>opcache.interned_strings_buffer</code> to your PHP configuration with a value higher than <code>%s</code>." : "O búfer de cadeas internadas en OPcache está case cheo. Para asegurarse de que as cadeas que se repiten poidan almacenarse na caché de forma efectiva, recoméndase aplicar <code>opcache.interned_strings_buffer</code> á súa configuración de PHP cun valor superior a <code>%s</code>.", + "The OPcache interned strings buffer is nearly full. To assure that repeating strings can be effectively cached, it is recommended to apply <code>opcache.interned_strings_buffer</code> to your PHP configuration with a value higher than <code>%s</code>." : "O búfer de cadeas internas en OPcache está case cheo. Para asegurarse de que as cadeas que se repiten poidan almacenarse na caché de forma efectiva, recoméndase aplicar <code>opcache.interned_strings_buffer</code> á súa configuración de PHP cun valor superior a <code>%s</code>.", "Administrator documentation" : "Documentación do administrador", "User documentation" : "Documentación do usuario", "Invalid SMTP password." : "Contrasinal SMTP incorrecta.", @@ -82,8 +82,8 @@ OC.L10N.register( "Well done, %s!" : "Ben feito, %s!", "If you received this email, the email configuration seems to be correct." : "Se vostede ten recibido este correo, a configuración do correo semella ser correcta. ", "Email could not be sent. Check your mail server log" : "Non foi posíbel enviar o correo. Comprobe o rexistro do servidor de correo", - "A problem occurred while sending the email. Please revise your settings. (Error: %s)" : "Ocorreu un problema ao enviar o correo. Revise a súa configuración. (Erro: %s)", - "You need to set your user email before being able to send test emails. Go to %s for that." : "Debes configurar o teu correo electrónico de usuario antes de poder enviar correos electrónicos de proba. Vaia a %spara iso.", + "A problem occurred while sending the email. Please revise your settings. (Error: %s)" : "Ocorreu un problema ao enviar o correo. Revise os seus axustes. (Erro: %s)", + "You need to set your user email before being able to send test emails. Go to %s for that." : "É necesario estabelecer o seu correo de usuario antes de poder enviar correos de proba. Vaia a %spara iso.", "Users" : "Usuarios", "Invalid user" : "Usuario incorrecto", "Invalid mail address" : "Enderezo de correo incorrecto", @@ -108,14 +108,14 @@ OC.L10N.register( "Email address changed for %s" : "Enderezo de correo cambiado por %s", "The new email address is %s" : "O novo enderezo de correo é %s", "Your %s account was created" : "Foi creada a conta %s", - "Welcome aboard" : "Benvido a bordo", - "Welcome aboard %s" : "Benvido a bordo %s", - "Welcome to your %s account, you can add, protect, and share your data." : "Benvido á súa conta , pode engadir, protexer e compartir os seus datos.", + "Welcome aboard" : "Dámoslle a benvida a bordo", + "Welcome aboard %s" : "Dámoslle a benvida a bordo %s", + "Welcome to your %s account, you can add, protect, and share your data." : "Benvido á súa conta %s , pode engadir, protexer e compartir os seus datos.", "Your username is: %s" : "O seu nome de usuario é: %s", "Set your password" : "Estabeleza o seu contrasinal", "Go to %s" : "Ira a %s", "Install Client" : "Instalar o cliente", - "Logged in user must be a subadmin" : "O usuario rexistrado debe ser un subadministrador", + "Logged in user must be a subadmin" : "O usuario autenticado debe ser un subadministrador", "Settings" : "Axustes", "Personal" : "Persoal", "Administration" : "Administración", @@ -130,7 +130,7 @@ OC.L10N.register( "Personal info" : "Información persoal", "Mobile & desktop" : "Móbil e escritorio", "Email server" : "Servidor de correo", - "Security & setup warnings" : "Advertencias de seguridade e configuración", + "Security & setup warnings" : "Advertencias de seguranza e configuración", "Background jobs" : "Traballos en segundo plano", "Create" : "Crear", "Change" : "Cambiar", @@ -146,17 +146,17 @@ OC.L10N.register( "MySQL version \"%s\" is used. Nextcloud 21 and higher do not support this version and require MySQL 8.0 or MariaDB 10.2 or higher." : "Utilízase a versión «%s» de MySQL. Nextcloud 21 e superior non admite esta versión e requiren MySQL 8.0 ou MariaDB 10.2 ou superior.", "PostgreSQL version \"%s\" is used. Nextcloud 21 and higher do not support this version and require PostgreSQL 9.6 or higher." : "Utilízase a versión «%s» de PostgreSQL. Nextcloud 21 ou superior non admite esta versión e require PostgreSQL 9.6 ou superior.", "Profile information" : "Información do perfil", - "Profile picture, full name, email, phone number, address, website, Twitter, organisation, role, headline, biography, and whether your profile is enabled" : "Imaxe de perfil, nome completo, correo electrónico, número de teléfono, enderezo, sitio web, Twitter, organización, función, título, biografía e se o teu perfil está activado", - "Nextcloud settings" : "Axustes do Nextcloud", - "Here you can decide which group can access certain sections of the administration settings." : "Aquí pode decidir que grupo pode acceder a determinadas seccións da configuración de administración.", + "Profile picture, full name, email, phone number, address, website, Twitter, organisation, role, headline, biography, and whether your profile is enabled" : "Imaxe de perfil, nome completo, correo-e, número de teléfono, enderezo, sitio web, Twitter, organización, función, título, biografía e se o seu perfil está activado", + "Nextcloud settings" : "Axustes de Nextcloud", + "Here you can decide which group can access certain sections of the administration settings." : "Aquí pode decidir que grupo pode acceder a determinadas seccións dos axustes de administración.", "None" : "Ningún", - "Unable to modify setting" : "Non se puido modificar a configuración", + "Unable to modify setting" : "Non é posíbel modificar a configuración", "Two-Factor Authentication" : "Autenticación de dous factores", "Two-factor authentication can be enforced for all users and specific groups. If they do not have a two-factor provider configured, they will be unable to log into the system." : "A autenticación de dous factores pode ser aplicada para todos os usuarios e grupos específicos. Se non tiveran configurado un provedor de dous factores, non podería acceder ao sistema.", - "Enforce two-factor authentication" : "Obrigar a autenticación de dous factores", + "Enforce two-factor authentication" : "Forzar a autenticación de dous factores", "Limit to groups" : "Límite para grupos", "Enforcement of two-factor authentication can be set for certain groups only." : "A obrigatoriedade da autenticación de dous factores pode estabelecerse só para certos grupos.", - "Two-factor authentication is enforced for all members of the following groups." : "A autenticación de dous factores é obrigatoria para todos os membros os seguintes grupos.", + "Two-factor authentication is enforced for all members of the following groups." : "A autenticación de dous factores é obrigatoria para todos os membros dos seguintes grupos.", "Enforced groups" : "Grupos obrigados", "Two-factor authentication is not enforced for members of the following groups." : "A autenticación de dous factores non é obrigatoria para os membros dos seguintes grupos.", "Excluded groups" : "Grupos excluídos", @@ -187,7 +187,7 @@ OC.L10N.register( "Disable all" : "Desactivar todo", "Enable all" : "Activar todo", "_%n app has an update available_::_%n apps have an update available_" : ["%n aplicación ten unha actualización dispòñíbel.","%n aplicacións teñen unha actualización dispoñíbel."], - "_Update_::_Update all_" : ["Actualizar","Actualiza todo"], + "_Update_::_Update all_" : ["Actualizar","Actualizar todo"], "Marked for remote wipe" : "Marcado para limpeza remota", "Device settings" : "Axustes do dispositivo", "Allow filesystem access" : "Permitir o acceso aos sistema de ficheiros", @@ -203,10 +203,10 @@ OC.L10N.register( "Google Chrome for Android" : "Google Chrome para Android", "iPhone" : "iPhone", "iPad" : "iPad", - "{productName} iOS app" : "{productName} aplicación de iOS", - "{productName} Android app" : "{productName} aplicación de Android", - "{productName} Talk for iOS" : "{productName} Talk para iOS", - "{productName} Talk for Android" : "{productName} Talk para Android", + "{productName} iOS app" : "Apli de iOS {productName}", + "{productName} Android app" : "Apli de Android {productName}", + "{productName} Talk for iOS" : "Talk para iOS {productName}", + "{productName} Talk for Android" : "Talk para Android {productName}", "Sync client - {os}" : "Cliente de sincronización - {os}", "This session" : "Esta sesión", "Device" : "Dispositivo", @@ -223,16 +223,16 @@ OC.L10N.register( "App name" : "Nome da aplicación", "Create new app password" : "Crear un novo contrasinal de aplicación", "Use the credentials below to configure your app or device." : "Use as seguintes credenciais para configurar a súa aplicación ou dispositivo. ", - "For security reasons this password will only be shown once." : "Por razóns de seguridade ese contrasinal só se amosará unha vez. ", + "For security reasons this password will only be shown once." : "Por mor da seguranza ese contrasinal só se amosará unha vez. ", "Username" : "Nome de usuario", "Password" : "Contrasinal", "Done" : "Feito", "Show QR code for mobile apps" : "Amosar un código QR para aplicacións móbiles", "Copied!" : "Copiado!", "Copy" : "Copiar", - "Could not copy app password. Please copy it manually." : "Non foi posíbel copiar o contrasinal da app. Cópieo manualmente.", - "For the server to work properly, it's important to configure background jobs correctly. Cron is the recommended setting. Please see the documentation for more information." : "Para que o servidor funcione correctamente, é importante configurar correctamente os traballos en segundo plano. Cron é a configuración recomendada. Consulte a documentación para obter máis información.", - "Last job execution ran {time}. Something seems wrong." : "A última execución do traballo executouse o {time}. Algo parece funcionar mal.", + "Could not copy app password. Please copy it manually." : "Non foi posíbel copiar o contrasinal da apli. Cópieo manualmente.", + "For the server to work properly, it's important to configure background jobs correctly. Cron is the recommended setting. Please see the documentation for more information." : "Para que o servidor funcione correctamente, é importante configurar correctamente os traballos en segundo plano. Cron é o axuste recomendado. Consulte a documentación para obter máis información.", + "Last job execution ran {time}. Something seems wrong." : "A última execución do traballo produciuse o {time}. Semella que algo foi mal.", "Last job ran {relativeTime}." : "O último traballo executouse {relativeTime}.", "Background job did not run yet!" : "O traballo en segundo plano aínda non se executou!", "AJAX" : "AJAX", @@ -243,24 +243,24 @@ OC.L10N.register( "To run this you need the PHP POSIX extension. See {linkstart}PHP documentation{linkend} for more details." : "Para executar isto necesitase a extensión POSIX de PHP. Vexa a {linkstart}documentación de PHP{linkend} para obter máis detalles. ", "Use system cron service to call the cron.php file every 5 minutes. Recommended for all instances." : "Use o servizo cron do sistema para chamar ao ficheiro cron.php cada 5 minutos. Recomendado para todos os casos.", "The cron.php needs to be executed by the system user \"{user}\"." : "O cron.php debe ser executado polo usuario do sistema «{user}».", - "Unable to update background job mode" : "Non se puido actualizar o modo de traballo en segundo plano", + "Unable to update background job mode" : "Non é posíbel actualizar o modo de traballo en segundo plano", "Profile" : "Perfil", - "Enable or disable profile by default for new users." : "Activa ou desactiva o perfil por defecto para os novos usuarios.", + "Enable or disable profile by default for new users." : "Activar ou desactivar o perfil predeterminado para os novos usuarios.", "Enable" : "Activar", - "Unable to update profile default setting" : "Non se puido actualizar a configuración predeterminada do perfil", + "Unable to update profile default setting" : "Non é posíbel actualizar a configuración predeterminada do perfil", "Server-side encryption" : "Cifrado na parte do servidor", "Server-side encryption makes it possible to encrypt files which are uploaded to this server. This comes with limitations like a performance penalty, so enable this only if needed." : "O cifrado do lado do servidor fai posíbel cifrar os ficheiros que van ser enviados a este servidor. Isto leva algunhas limitacións como penalizacións no rendemento, así que actíveo só se é necesario.", "Enable server-side encryption" : "Activar o cifrado na parte do servidor", "Please read carefully before activating server-side encryption:" : "Lea atentamente antes de activar o cifrado do servidor:", - "Once encryption is enabled, all files uploaded to the server from that point forward will be encrypted at rest on the server. It will only be possible to disable encryption at a later date if the active encryption module supports that function, and all pre-conditions (e.g. setting a recover key) are met." : "Una vez que o cifrado estea activado, todos os ficheiros enviados ao servidor dende ese punto en diante cifraranse en repouso no servidor. Só será posíbel desactivar o cifrado nunha data posterior se o módulo de cifrado activado admite esa función, e se cumpran todas as condicións previas (por exemplo, o estabelecemento dunha clave de recuperación).", - "Encryption alone does not guarantee security of the system. Please see documentation for more information about how the encryption app works, and the supported use cases." : "O cifrado por si só non garante a seguridade do sistema. Vexa a documentación para obter máis información sobre como funciona a aplicación de cifrado e os casos de uso admitidos.", + "Once encryption is enabled, all files uploaded to the server from that point forward will be encrypted at rest on the server. It will only be possible to disable encryption at a later date if the active encryption module supports that function, and all pre-conditions (e.g. setting a recover key) are met." : "Una vez que o cifrado estea activado, todos os ficheiros enviados ao servidor dende ese punto en diante cifraranse en repouso no servidor. Só será posíbel desactivar o cifrado nunha data posterior se o módulo de cifrado activado admite esa función, e se cumpran todas as condicións previas (por exemplo, o estabelecemento dunha chave de recuperación).", + "Encryption alone does not guarantee security of the system. Please see documentation for more information about how the encryption app works, and the supported use cases." : "O cifrado por si só non garante a seguranza do sistema. Vexa a documentación para obter máis información sobre como funciona a aplicación de cifrado e os casos de uso admitidos.", "Be aware that encryption always increases the file size." : "Teña presente que o cifrado sempre incrementa o tamaño do ficheiro.", - "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Sempre é bo crear copias de seguridade dos seus datos, no caso do cifrado, asegúrese de ter unha copia de seguridade das claves de cifrado xunto cos seus datos.", + "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Sempre é bo crear copias de seguranza dos seus datos, no caso do cifrado, asegúrese de ter unha copia de seguranza das chaves de cifrado xunto cos seus datos.", "This is the final warning: Do you really want to enable encryption?" : "Esta é a advertencia final. Confirma que quere activar o cifrado?", "No encryption module loaded, please enable an encryption module in the app menu." : "Non hai cargado ningún módulo de cifrado, active un módulo de cifrado no menú de aplicacións.", "Select default encryption module:" : "Seleccionar o módulo predeterminado de cifrado:", - "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please enable the \"Default encryption module\" and run {command}" : "É necesario migrar as súas claves de cifrado do antigo cifrado (ownCloud <= 8,0) cara ao novo. Active o «Módulo predeterminado de cifrado» e execute {command}", - "Unable to update server side encryption config" : "Non se puido actualizar a configuración de cifrado do servidor", + "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please enable the \"Default encryption module\" and run {command}" : "É necesario migrar as súas chave de cifrado do antigo cifrado (ownCloud <= 8,0) cara ao novo. Active o «Módulo predeterminado de cifrado» e execute {command}", + "Unable to update server side encryption config" : "Non é posíbel actualizar a configuración de cifrado do servidor", "Rename group" : "Cambiar o nome do grupo", "Remove group" : "Retirar o grupo", "You are about to remove the group {group}. The users will NOT be deleted." : "Está a piques de retirar o grupo {group}. Os usuarios NON van seren eliminados.", @@ -268,27 +268,27 @@ OC.L10N.register( "Current password" : "Contrasinal actual", "New password" : "Novo contrasinal", "Change password" : "Cambiar o contrasinal", - "Your profile information" : "A información do teu perfil", - "Your profile picture" : "A túa imaxe de perfil", - "Upload profile picture" : "Subir imaxe de perfil", - "Choose profile picture from Files" : "Escolle a imaxe de perfil de Ficheiros", - "Remove profile picture" : "Eliminar a imaxe de perfil", + "Your profile information" : "A información do seu perfil", + "Your profile picture" : "A súa imaxe de perfil", + "Upload profile picture" : "Enviar a imaxe de perfil", + "Choose profile picture from Files" : "Escolla a imaxe de perfil en Ficheiros", + "Remove profile picture" : "Retirar a imaxe de perfil", "The file must be a PNG or JPG" : "O ficheiro debe ser PNG ou JPG", "Picture provided by original account" : "Imaxe fornecida pola conta orixinal ", "Cancel" : "Cancelar", "Set as profile picture" : "Estabelecer como imaxe de perfil", - "Please note that it can take up to 24 hours for your profile picture to be updated everywhere." : "Ten en conta que pode tardar ata 24 horas en actualizar a túa foto de perfil en todas partes.", - "Choose your profile picture" : "Escolle a túa imaxe de perfil", + "Please note that it can take up to 24 hours for your profile picture to be updated everywhere." : "Teña en conta que pode tardar ata 24 horas en actualizar a súa foto de perfil en todos os sitios.", + "Choose your profile picture" : "Escolla a súa imaxe de perfil", "Please select a valid png or jpg file" : "Seleccione un ficheiro png ou jpg válido", "Error setting profile picture" : "Produciuse un erro ao configurar a imaxe de perfil", "Error cropping profile picture" : "Produciuse un erro ao recortar a imaxe de perfil", "Error saving profile picture" : "Produciuse un erro ao gardar a imaxe de perfil", - "Error removing profile picture" : "Produciuse un erro ao eliminar a imaxe de perfil", - "Your biography" : "A túa biografía", + "Error removing profile picture" : "Produciuse un erro ao retirar a imaxe de perfil", + "Your biography" : "A súa biografía", "Details" : "Detalles", - "You are a member of the following groups:" : "Vostede é membro dos seguintes grupos: ", - "You are using <strong>{usage}</strong>" : "Estás usando <strong>{usage}</strong>", - "You are using <strong>{usage}</strong> of <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)" : "Estás usando <strong>{usage}</strong> de <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)", + "You are a member of the following groups:" : "Vostede é membro dos seguintes grupos:", + "You are using <strong>{usage}</strong>" : "Está a usar <strong>{usage}</strong>", + "You are using <strong>{usage}</strong> of <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)" : "Está a usar <strong>{usage}</strong> de <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)", "Your full name" : "O seu nome completo", "Email options" : "Opcións de correo -e", "Primary email for password reset and notifications" : "Correo-e principal para restabelecer o contrasinal e notificacións", @@ -299,46 +299,79 @@ OC.L10N.register( "Set as primary email" : "Estabelecer como correo principal", "Your email address" : "O seu enderezo de correo", "Additional email address {index}" : "Enderezo de correo adicional {index}", - "Unable to delete primary email address" : "Non foi posíbel eliminar o enderezo de correo principal", - "Unable to update primary email address" : "Non foi posíbel actualizar o enderezo de correo principal", - "Unable to add additional email address" : "Non foi posíbel engadir un o enderezo de correo adicional", - "Unable to update additional email address" : "Non foi posíbel actualizar o enderezo de correo adicional", - "Unable to delete additional email address" : "Non foi posíbel eliminar o enderezo de correo adicional", + "Unable to delete primary email address" : "Non é posíbel eliminar o enderezo de correo principal", + "Unable to update primary email address" : "Non é posíbel actualizar o enderezo de correo principal", + "Unable to add additional email address" : "Non é posíbel engadir un o enderezo de correo adicional", + "Unable to update additional email address" : "Non é posíbel actualizar o enderezo de correo adicional", + "Unable to delete additional email address" : "Non é posíbel eliminar o enderezo de correo adicional", "No email address set" : "Non hai un enderezo de correo definido", "Additional emails" : "Correos adicionais", - "Your headline" : "O teu titular", + "Your handle" : "O seu identificador", + "Your headline" : "O seu titular", "Language" : "Idioma", "Help translate" : "Axude na tradución", - "Unable to update language" : "Non foi posíbel actualizar o idioma", + "Unable to update language" : "Non é posíbel actualizar o idioma", "No language set" : "Non foi estabelecido ningún idioma", "Locale" : "Configuración rexional", "Week starts on {firstDayOfWeek}" : "A semana comeza o {firstDayOfWeek}", - "Unable to update locale" : "Non foi posíbel actualizar a configuración rexional", - "No locale set" : "Non se definiu ningunha configuración rexional", - "Your location" : "A súa localización", + "Unable to update locale" : "Non é posíbel actualizar a configuración rexional", + "No locale set" : "Non foi definida ningunha configuración rexional", + "Your city" : "A súa cidade", "Your organisation" : "A súa organización", "Your phone number" : "O seu número de teléfono", - "Edit your Profile visibility" : "Edita a visibilidade do teu Perfil", - "Enable Profile" : "Activar o Perfil", - "Unable to update profile enabled state" : "Non se puido actualizar o estado activado do perfil", + "Edit your Profile visibility" : "Edita a visibilidade do seu perfil", + "Enable Profile" : "Activar o perfil", + "Unable to update profile enabled state" : "Non é posíbel actualizar o estado activado do perfil", "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." : "No seu perfil respectase a configuración máis restritiva de visibilidade ou ambito. Por exemplo, se a visibilidade está definida como«Amosar a todos» e o ámbito está configurado como «Privado», respéctase «Privado».", - "Unable to update visibility of {displayId}" : "Non se puido actualizar a visibilidade de {displayId}", - "Your role" : "O teu cargo", + "Unable to update visibility of {displayId}" : "Non é posíbel actualizar a visibilidade de {displayId}", + "Your role" : "O seu cargo", "Your Twitter handle" : "O seu usuario do Twitter", "Your website" : "O seu sitio web", - "No {property} set" : "Non hai {property} definida", - "Unable to update {property}" : "Non se puido actualizar a {property}", + "No {property} set" : "Non definiu {property}", + "Unable to update {property}" : "Non é posíbel actualizar a {property}", "Change scope level of {property}, current scope is {scope}" : "Cambiar o nivel de ámbito de {property}, o ámbito actual é {scope}", - "Unable to update federation scope of the primary {property}" : "Non se puido actualizar o ámbito de federación da {property} principal", - "Unable to update federation scope of additional {property}" : "Non se puido actualizar o ámbito da federación de {property} adicional", + "Unable to update federation scope of the primary {property}" : "Non é posíbel actualizar o ámbito de federación da {property} principal", + "Unable to update federation scope of additional {property}" : "Non é posíbel actualizar o ámbito da federación de {property} adicional", "Add additional email" : "Engadir un correo adicional", "Add" : "Engadir", + "User's table" : "Táboa de usuarios", + "Display name" : "Nome para amosar", + "Email" : "Correo", + "Group admin for" : "Administrador de grupo para", + "Quota" : "Cota", + "User backend" : "Infraestrutura do usuario", + "Storage location" : "Localización do almacenamento", + "Last login" : "Último acceso", + "Manager" : "Xestor/a", + "No users in here" : "Aquí non hai usuarios", + "Default quota" : "Cota predeterminada", + "Default language" : "Idioma predeterminado", + "Common languages" : "Idiomas habituais", + "Other languages" : "Outros idiomas", + "Password change is disabled because the master key is disabled" : "O cambio de contrasinal está desactivado porque a chave principal está desactivada", + "New user" : "Novo usuario", + "Either password or email is required" : "É necesario un contrasinal ou un correo-e", + "Password (required)" : "Contrasinal (obrigatorio)", + "Email (required)" : "Correo-e (obrigatorio)", + "Groups (required)" : "Grupos (obrigatorio)", + "Set user groups" : "Estabelecer grupos de usuarios", + "Administered groups" : "Grupos administrados", + "Set user as admin for …" : "Estabelecer o usuario como administrador para…", + "Set user quota" : "Estabelecer a cota de usuario", + "Set default language" : "Estabelecer o idioma predeterminado", + "Set user manager" : "Estabelecer o xestor de usuarios", + "Add new user" : "Engadir un novo usuario", + "Username will be autogenerated" : "O nome de usuario vai ser xerado automaticamente", + "Username (required)" : "Nome de usuario (obrigatorio)", "You do not have permissions to see the details of this user" : "Vostede non ten permisos para ver os detalles deste usuario", + "Edit display name" : "Editar o nome para amosar", "Add new password" : "Engadir un novo contrasinal", "Add new email address" : "Engadir un novo enderezo de correo", "Add user to group" : "Engadir usuario ao grupo", "Set user as admin for" : "Estabelecer o usuario como administrador para", "Select user quota" : "Seleccionar a cota de usuario", + "Set the language" : "Estabelecer o idioma", + "Select manager" : "Seleccionar o xestor", "Toggle user actions menu" : "Alternar o menú de accións do usuario", "Delete user" : "Eliminar usuario", "Wipe all devices" : "Limpar todos os dispositivos", @@ -354,22 +387,6 @@ OC.L10N.register( "Welcome mail sent!" : "Enviado o correo de benvida!", "Edit User" : "Editar usuario", "{size} used" : "{size} usado", - "New user" : "Novo usuario", - "Will be autogenerated" : "Vai ser xerado automaticamente", - "Display name" : "Nome a amosar", - "Email" : "Correo", - "Default language" : "Idioma predeterminado", - "Add a new user" : "Engadir un novo usuario", - "Group admin for" : "Administrador de grupo para", - "Quota" : "Cota", - "User backend" : "Infraestrutura do usuario", - "Storage location" : "Localización do almacenamento", - "Last login" : "Último acceso", - "No users in here" : "Aquí non hai usuarios", - "Default quota" : "Cota predeterminada", - "Common languages" : "Idiomas habituais", - "Other languages" : "Outras linguas", - "Password change is disabled because the master key is disabled" : "O cambio de contrasinal está desactivado porque a clave principal está desactivada", "Passwordless authentication requires a secure connection." : "A autenticación sen contrasinal require dunha conexión segura.", "Add WebAuthn device" : "Engadir un dispositivo WebAuthn", "Please authorize your WebAuthn device." : "Autorice o seu dispositivo WebAuthn.", @@ -394,13 +411,13 @@ OC.L10N.register( "Disabled users" : "Usuarios desactivados", "Default quota:" : "Cota predeterminada:", "Select default quota" : "Seleccionar a cota predeterminada", - "Show Languages" : "Amosar os idiomas", + "Show languages" : "Amosar os idiomas", "Show last login" : "Amosar o último acceso", "Show user backend" : "Amosar a infraestrutura do usuario", "Show storage path" : "Amosar a ruta do almacenamento", "Send email to new user" : "Enviar correo ao novo usuario", "Not saved" : "Sen gardar", - "Sending…" : "Enviando...", + "Sending…" : "Enviando…", "Email sent" : "Correo enviado", "Location" : "Localización", "Profile picture" : "Imaxe do perfil", @@ -412,7 +429,7 @@ OC.L10N.register( "Phone number" : "Número de teléfono", "Role" : "Cargo", "Twitter" : "Twitter", - "Fediverse (e.g. Mastodon)" : "Fediverso (por exemplo, Mastodon)", + "Fediverse (e.g. Mastodon)" : "Fediverso (p. ex., Mastodon)", "Website" : "Sitio web", "Profile visibility" : "Visibilidade do perfil", "Not available as this property is required for core functionality including file sharing and calendar invitations" : "Non está dispoñíbel porque esta propiedade é necesaria para as funcións básicas, como compartir ficheiros e convites de calendario", @@ -424,21 +441,22 @@ OC.L10N.register( "App bundles" : "Paquetes de aplicacións", "Featured apps" : "Aplis destacadas", "Show to everyone" : "Amosar a todos", - "Show to logged in users only" : "Amosar só aos usuarios que iniciaron sesión", + "Show to logged in users only" : "Amosar só aos usuarios que accederon", "Hide" : "Agochar", "Download and enable" : "Descargar e activar", "Enable untested app" : "Activar a aplicación sen probar", "The app will be downloaded from the App Store" : "A aplicación descargarase da tenda de aplicacións", - "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." : "Esta aplicación non está marcado como compatíbel coa súa versión do Nextcloud. Se continúa, poderá instalar a aplicación. Teña en conta que é probábel que a aplicación non funcione como se agarda.", + "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." : "Esta aplicación non está marcado como compatíbel coa súa versión de Nextcloud. Se continúa, poderá instalar a aplicación. Teña en conta que é probábel que a aplicación non funcione como se agarda.", "Never" : "Nunca", - "An error occurred during the request. Unable to proceed." : "Produciuse un erro durante a solicitude. Non se pode continuar.", + "An error occurred during the request. Unable to proceed." : "Produciuse un erro durante a solicitude. Non é posíbel continuar.", "The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "A aplicación foi activada pero necesita ser actualizada. Vai ser redirixido cara a páxina de actualizarións en 5 segundos.", - "Error: This app cannot be enabled because it makes the server unstable" : "Erro: esta aplicación non se pode activar porque fai que o servidor sexa inestable", + "Error: This app cannot be enabled because it makes the server unstable" : "Erro: non é posíbel activar esta aplicación porque fai que o servidor sexa inestábel", "There were too many requests from your network. Retry later or contact your administrator if this is an error." : "Houbo demasiadas solicitudes da súa rede. Volva tentalo máis adiante ou póñase en contacto co seu administrador se se trata dun erro.", "Documentation" : "Documentación", "Forum" : "Foro", "Login" : "Acceso", - "SSL/TLS" : "SSL/TLS", + "None/STARTTLS" : "Ningún/STARTTLS", + "SSL" : "SSL", "Open documentation" : "Abrir a documentación", "It is important to set up this server to be able to send emails, like for password reset and notifications." : "É importante configurar este servidor para que poida enviar correos, por exemplo para cambios de contrasinais e notificacións.", "Send mode" : "Modo de envío", @@ -447,8 +465,7 @@ OC.L10N.register( "From address" : "Dende o enderezo", "Server address" : "Enderezo do servidor", "Port" : "Porto", - "Authentication method" : "Método de autenticación", - "Only applies when authentication is required" : "Só se aplica cando é necesaria a autenticación", + "Authentication" : "Autenticación", "Authentication required" : "É necesaria a autenticación", "Credentials" : "Credenciais", "SMTP Username" : "Nome de usuario SMTP", @@ -456,23 +473,23 @@ OC.L10N.register( "Save" : "Gardar", "Test and verify email settings" : "Probe e verifique os axustes do correo", "Send email" : "Enviar o correo", - "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the linked documentation for more information." : "É importante para a seguridade e o bo funcionamento da súa instancia que todo estea configurado correctamente. Para axudarlle niso, imos facer algunhas comprobacións automáticas. Vexa a documentación ligada para obter máis información. ", + "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the linked documentation for more information." : "É importante para a seguranza e o bo funcionamento da súa instancia que todo estea configurado correctamente. Para axudarlle niso, imos facer algunhas comprobacións automáticas. Vexa a documentación ligada para obter máis información. ", "All checks passed." : "Pasáronse todas as verificacións.", "There are some errors regarding your setup." : "Hai algún erro relativo aos seus axustes.", - "There are some warnings regarding your setup." : "Hai algún aviso relativo aos seus axustes.", - "Checking for system and security issues." : "Verificando incidencias de sistema e seguridade.", - "Please double check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%1$s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"%2$s\">log</a>." : "Volva verificar as <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%1$s\">guías de instalación ↗</a>, e comprobe que non haxa erros ou avisos no <a href=\"%2$s\">rexistro</a>. ", - "Check the security of your Nextcloud over <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">our security scan ↗</a>." : "Comprobe a seguridade do seu Nextcloud empregando o <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">noso escaneo de seguridade ↗</a>.", + "There are some warnings regarding your setup." : "Hai algunha advertencia relativa aos seus axustes.", + "Checking for system and security issues." : "Verificando incidencias de sistema e seguranza.", + "Please double check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%1$s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"%2$s\">log</a>." : "Volva verificar as <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%1$s\">guías de instalación ↗</a>, e comprobe que non haxa erros ou advertencias no <a href=\"%2$s\">rexistro</a>. ", + "Check the security of your Nextcloud over <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">our security scan ↗</a>." : "Comprobe a seguranza do seu Nextcloud empregando o <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">noso escaneo de seguranza ↗</a>.", "Version" : "Versión", - "You need to enable the File sharing App." : "Debes activar a Aplicación Compartir ficheiros.", + "You need to enable the File sharing App." : "Debe activar a aplicación Compartir ficheiros.", "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Como administrador pode facer axustes finos do comportamento al compartir. Lea a documentación para obter máis más información.", "Allow apps to use the Share API" : "Permitir que as aplicacións empreguen a API para compartir", "Set default expiration date for shares" : "Estabeleza a data de caducidade predeterminada das comparticións", - "Expire after" : "Caduca tras", + "Expire after" : "Caduca após", "day(s)" : "día(s)", "Enforce expiration date" : "Forzar a data de caducidade", - "Set default expiration date for shares to other servers" : "Establece a data de caducidade predeterminada para as accións compartidas con outros servidores", - "Allow users to share via link and emails" : "Permitir aos usuarios compartir mediante ligazóns e correos electrónicos", + "Set default expiration date for shares to other servers" : "Estabelecer a data de caducidade predeterminada para os recursos compartidos con outros servidores", + "Allow users to share via link and emails" : "Permitir que os usuarios compartan a través de ligazóns e correos-e", "Allow public uploads" : "Permitir os envíos públicos", "Always ask for a password" : "Pedir sempre un contrasinal", "Enforce password protection" : "Forzar a protección por contrasinal", @@ -484,31 +501,39 @@ OC.L10N.register( "Restrict users to only share with users in their groups" : "Restrinxir os usuarios a compartir só cos usuarios dos seus grupos", "Exclude groups from sharing" : "Excluír grupos da compartición", "These groups will still be able to receive shares, but not to initiate them." : "Estes grupos poderán recibir comparticións, mais non inicialas.", + "Allow username autocompletion in share dialog and allow access to the system address book" : "Permitir o autocompletado do nome de usuario no diálogo de compartir e permitir o acceso ao caderno de enderezos do sistema", + "Allow username autocompletion to users within the same groups and limit system address books to users in the same groups" : "Permitir o autocompletado de nome de usuario aos usuarios dos mesmos grupos e limitar os cadernos de enderezos do sistema aos usuarios dos mesmos grupos", "Allow username autocompletion to users based on phone number integration" : "Permitir o autocompletado do nome de usuario aos usuarios en función da integración do número de teléfono", "If autocompletion \"same group\" and \"phone number integration\" are enabled a match in either is enough to show the user." : "Se está activado o autocompletado «mesmo grupo» e a «integración do número de teléfono», unha coincidencia en calquera é abondo para amosar o usuario.", - "Allow autocompletion when entering the full name or email address (ignoring missing phonebook match and being in the same group)" : "Permitir o autocompletado ao introducir o nome completo ou o enderezo de correo electrónico (ignorando a coincidencia que falta na axenda telefónica e estar no mesmo grupo)", + "Allow autocompletion when entering the full name or email address (ignoring missing phonebook match and being in the same group)" : "Permitir o autocompletado ao introducir o nome completo ou o enderezo de correo-e (ignorando a falta de coincidencia na lista de teléfonos e estar no mesmo grupo)", "Show disclaimer text on the public link upload page (only shown when the file list is hidden)" : "Amosar o texto de exención de responsabilidade na páxina de envío de ligazóns publicas (amosarase só cando a lista de ficheiros estea agochada)", "This text will be shown on the public link upload page when the file list is hidden." : "Este texto amosarase na páxina de envío das ligazóns públicas cando a lista de ficheiros estea agochada.", "Default share permissions" : "Permisos predeterminados para compartir", - "Reasons to use Nextcloud in your organization" : "Razóns para usar o Nextcloud na súa organización", + "Reasons to use Nextcloud in your organization" : "Razóns para usar Nextcloud na súa organización", "Developed by the {communityopen}Nextcloud community{linkclose}, the {githubopen}source code{linkclose} is licensed under the {licenseopen}AGPL{linkclose}." : "Desenvolvido pola {communityopen}comunidade Nextcloud{linkclose}, o {githubopen}código fonte{linkclose} está licenciado baixo a {licenseopen}AGPL{linkclose}.", "Like our Facebook page" : "Faga un Gústame na nosa páxina de Facebook", "Follow us on Twitter" : "Síganos no Twitter", "Follow us on Mastodon" : "Síganos na Mastodon", "Check out our blog" : "Visite o noso blog ", "Subscribe to our newsletter" : "Subscríbase ao noso boletín", - "This community release of Nextcloud is unsupported and instant notifications are unavailable." : "Esta versión comunitaria de Nextcloud non é compatible e as notificacións instantáneas non están dispoñibles.", - "Use a second factor besides your password to increase security for your account." : "Empregue un segundo factor ademais do seu contrasinal para aumentar a seguridade da súa conta.", + "This community release of Nextcloud is unsupported and instant notifications are unavailable." : "Esta versión comunitaria de Nextcloud non é compatíbel e as notificacións instantáneas non están dispoñíbeis.", + "Use a second factor besides your password to increase security for your account." : "Empregue un segundo factor ademais do seu contrasinal para aumentar a seguranza da súa conta.", "If you use third party applications to connect to Nextcloud, please make sure to create and configure an app password for each before enabling second factor authentication." : " Se usa aplicacións de terceiros para conectarse a Nextcloud, asegúrese de crear e configurar un contrasinal de aplicación para cada unha antes de activar a autenticación de segundo factor.", "You created app password \"{token}\"" : "Vostede creou o contrasinal da aplicación «{token}»", "An administrator created app password \"{token}\"" : "Un administrador creou o contrasinal da aplicación «{token}»", - "Choose profile picture from files" : "Escolle a imaxe de perfil dende Ficheiros", + "Choose profile picture from files" : "Escolla a imaxe de perfil en ficheiros", "png or jpg, max. 20 MB" : "png ou jpg, max. 20 MB", + "Your location" : "A súa localización", + "Will be autogenerated" : "Vai ser xerado automaticamente", + "Add a new user" : "Engadir un novo usuario", + "Show Languages" : "Amosar os idiomas", "Plain" : "Simple", "NT LAN Manager" : "Xestor NT LAN", + "SSL/TLS" : "SSL/TLS", "STARTTLS" : "STARTTLS", + "Authentication method" : "Método de autenticación", "Allow username autocompletion in share dialog" : "Permitir autocompletar o nome de usuario no diálogo de compartir", "Allow username autocompletion to users within the same groups" : "Permitir autocompletar o nome de usuario aos usuarios dos mesmos grupos", - "Avatar" : "Avatar" + "Select user manager" : "Seleccione o xestor de usuarios" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/settings/l10n/gl.json b/apps/settings/l10n/gl.json index a7c8f962610..db95ca8c452 100644 --- a/apps/settings/l10n/gl.json +++ b/apps/settings/l10n/gl.json @@ -1,8 +1,8 @@ { "translations": { "Private" : "Privado", - "Only visible to people matched via phone number integration through Talk on mobile" : "Só son visibles para as persoas coincidentes mediante a integración do número de teléfono a través de Talk no móbil", + "Only visible to people matched via phone number integration through Talk on mobile" : "Só son visíbeis para as persoas coincidentes mediante a integración do número de teléfono a través de Talk no móbil", "Local" : "Local", - "Only visible to people on this instance and guests" : "Só visible para as persoas desta instancia e os convidados", + "Only visible to people on this instance and guests" : "Visíbel só para as persoas desta instancia e os convidados", "Federated" : "Federado", "Only synchronize to trusted servers" : "Sincronizar só con servidores de confianza", "Published" : "Publicado", @@ -42,37 +42,37 @@ "You renamed app password \"{token}\" to \"{newToken}\"" : "Vostede renomeou o contrasinal da aplicación «{token}» como «{newToken}»", "You granted filesystem access to app password \"{token}\"" : "Vostede concedeu acceso ao sistema de ficheiros ao contrasinal da aplicación «{token}»", "You revoked filesystem access from app password \"{token}\"" : "Vostede revogou o acceso ao sistema de ficheiros dende o contrasinal da aplicación «{token}»", - "Security" : "Seguridade", + "Security" : "Seguranza", "You successfully logged in using two-factor authentication (%1$s)" : "Accedeu satisfactoriamente usando autenticación de dous factores (%1$s)", "A login attempt using two-factor authentication failed (%1$s)" : "Fallou un intento de acceso usando autenticación de dous factores (%1$s)", "Remote wipe was started on %1$s" : "Iniciouse a limpeza remota en %1$s", "Remote wipe has finished on %1$s" : "Rematou a limpeza remota en %1$s", - "Your <strong>password</strong> or <strong>email</strong> was modified" : "Foi modificado o seu <strong>contrasinal</strong> ou o seu <strong>correo electrónico</strong>", + "Your <strong>password</strong> or <strong>email</strong> was modified" : "Foi modificado o seu <strong>contrasinal</strong> ou o seu <strong>correo</strong>", "Apps" : "Aplicacións", - "Could not remove app." : "Non se puido eliminar a aplicación.", - "Could not update app." : "Non se puido actualizar a aplicación.", - "Wrong password" : "Contrasinal incorrecto", - "Unable to change personal password" : "Non se puido cambiar o contrasinal persoal", + "Could not remove app." : "Non foi posíbel retirar a aplicación.", + "Could not update app." : "Non foi posíbel actualizar a aplicación.", + "Wrong password" : "Contrasinal erróneo", + "Unable to change personal password" : "Non é posíbel cambiar o contrasinal persoal", "Saved" : "Gardado", "No user supplied" : "Non subministrado polo usuario", - "Unable to change password. Password too long." : "Non se puido cambiar o contrasinal. O contrasinal é demasiado longo.", + "Unable to change password. Password too long." : "Non é posíbel cambiar o contrasinal. O contrasinal é longo de máis.", "Authentication error" : "Produciuse un erro de autenticación", "Please provide an admin recovery password; otherwise, all user data will be lost." : "Forneza un contrasinal de recuperación de administrador; senón perderase toda a información do usuario.", - "Wrong admin recovery password. Please check the password and try again." : "Contrasinal de recuperación do administrador incorrecto. Comprobe o contrasinal e ténteo de novo.", - "Backend does not support password change, but the user's encryption key was updated." : "O backend non admite o cambio de contrasinal, pero actualizouse a clave de cifrado do usuario.", - "installing and updating apps via the App Store or Federated Cloud Sharing" : "instalar e actualizar aplicacións a través da App Store ou Federated Cloud Sharing", + "Wrong admin recovery password. Please check the password and try again." : "Contrasinal de recuperación do administrador erróneo. Comprobe o contrasinal e ténteo de novo.", + "Backend does not support password change, but the user's encryption key was updated." : "A infraestrutura non admite o cambio de contrasinal, mais a chave de cifrado do usuario foi actualizada.", + "installing and updating apps via the App Store or Federated Cloud Sharing" : "instalar e actualizar aplicacións a través da tenda de aplicacións ou da nube federada compartida", "Federated Cloud Sharing" : "Nube federada compartida", "cURL is using an outdated %1$s version (%2$s). Please update your operating system or features such as %3$s will not work reliably." : "cURL está utilizando unha versión obsoleta %1$s (%2$s). Actualice o seu sistema operativo, caso contrario características como %3$s non funcionarán de xeito fiábel.", - "Could not determine if TLS version of cURL is outdated or not because an error happened during the HTTPS request against https://nextcloud.com. Please check the Nextcloud log file for more details." : "Non se puido determinar se a versión TLS de cURL está desactualizada ou non porque se produciu un erro durante a solicitude HTTPS contra https://nextcloud.com. Consulte o ficheiro de rexistro de Nextcloud para obter máis detalles.", + "Could not determine if TLS version of cURL is outdated or not because an error happened during the HTTPS request against https://nextcloud.com. Please check the Nextcloud log file for more details." : "Non foi posíbel determinar se a versión TLS de cURL está desactualizada ou non porque se produciu un erro durante a solicitude HTTPS contra https://nextcloud.com. Consulte o ficheiro de rexistro de Nextcloud para obter máis detalles.", "The PHP OPcache module is not loaded. For better performance it is recommended to load it into your PHP installation." : "O módulo PHP OPcache non está cargado. Para un mellor rendemento, recoméndase cargalo na súa instalación de PHP.", "OPcache is disabled. For better performance, it is recommended to apply <code>opcache.enable=1</code> to your PHP configuration." : "OPcache está desactivado. Para un mellor rendemento, recoméndase aplicar <code>opcache.enable=1</code> á súa configuración de PHP.", - "OPcache is configured to remove code comments. With OPcache enabled, <code>opcache.save_comments=1</code> must be set for Nextcloud to function." : "OPcache está configurado para eliminar comentarios de código. Con OPcache activado, debe configurarse <code>opcache.save_comments=1</code> para que Nextcloud funcione.", - "Nextcloud is not allowed to use the OPcache API. With OPcache enabled, it is highly recommended to include all Nextcloud directories with <code>opcache.restrict_api</code> or unset this setting to disable OPcache API restrictions, to prevent errors during Nextcloud core or app upgrades." : "Nextcloud non pode usar a API OPcache. Con OPcache activado, é moi recomendable incluír todos os directorios de Nextcloud con <code>opcache.restrict_api</code> ou desactivar esta configuración para desactivar as restricións da API de OPcache, para evitar erros durante as actualizacións do núcleo de Nextcloud ou da aplicación.", - "Nextcloud is not allowed to use the OPcache API. It is highly recommended to include all Nextcloud directories with <code>opcache.restrict_api</code> or unset this setting to disable OPcache API restrictions, to prevent errors during Nextcloud core or app upgrades." : "Nextcloud non pode usar a API OPcache. É moi recomendable incluír todos os directorios de Nextcloud con <code>opcache.restrict_api</code> ou desactivar esta configuración para desactivar as restricións da API de OPcache, para evitar erros durante as actualizacións do núcleo de Nextcloud ou das aplicacións.", + "OPcache is configured to remove code comments. With OPcache enabled, <code>opcache.save_comments=1</code> must be set for Nextcloud to function." : "OPcache está configurado para retirar comentarios de código. Con OPcache activado, debe configurarse <code>opcache.save_comments=1</code> para que Nextcloud funcione.", + "Nextcloud is not allowed to use the OPcache API. With OPcache enabled, it is highly recommended to include all Nextcloud directories with <code>opcache.restrict_api</code> or unset this setting to disable OPcache API restrictions, to prevent errors during Nextcloud core or app upgrades." : "Nextcloud non pode usar a API OPcache. Con OPcache activado, é moi recomendábel incluír todos os directorios de Nextcloud con <code>opcache.restrict_api</code> ou desactivar este axuste para desactivar as restricións da API de OPcache, para evitar erros durante as anovacións do núcleo de Nextcloud ou da aplicación.", + "Nextcloud is not allowed to use the OPcache API. It is highly recommended to include all Nextcloud directories with <code>opcache.restrict_api</code> or unset this setting to disable OPcache API restrictions, to prevent errors during Nextcloud core or app upgrades." : "Nextcloud non pode usar a API OPcache. É moi recomendábel incluír todos os directorios de Nextcloud con <code>opcache.restrict_api</code> ou desactivar este axuste para desactivar as restricións da API de OPcache, para evitar erros durante as anovacións do núcleo de Nextcloud ou das aplicacións.", "The shared memory based OPcache is disabled. For better performance, it is recommended to apply <code>opcache.file_cache_only=0</code> to your PHP configuration and use the file cache as second level cache only." : "O OPcache baseado na memoria compartida está desactivado. Para un mellor rendemento, recoméndase aplicar <code>opcache.file_cache_only=0</code> á súa configuración de PHP e utilizar a caché de ficheiros só como caché de segundo nivel.", "The maximum number of OPcache keys is nearly exceeded. To assure that all scripts can be kept in the cache, it is recommended to apply <code>opcache.max_accelerated_files</code> to your PHP configuration with a value higher than <code>%s</code>." : "O número máximo de chaves OPcache está case superado. Para garantir que todos os scripts poden manterse na caché, recoméndase aplicar <code>opcache.max_accelerated_files</code> á súa configuración de PHP cun valor superior a <code>%s</code>.", "The OPcache buffer is nearly full. To assure that all scripts can be hold in cache, it is recommended to apply <code>opcache.memory_consumption</code> to your PHP configuration with a value higher than <code>%s</code>." : "O búfer OPcache está case cheo. Para garantir que todos os scripts se poidan gardar na caché, recoméndase aplicar <code>opcache.memory_consumption</code> á súa configuración de PHP cun valor superior a <code>%s</code>.", - "The OPcache interned strings buffer is nearly full. To assure that repeating strings can be effectively cached, it is recommended to apply <code>opcache.interned_strings_buffer</code> to your PHP configuration with a value higher than <code>%s</code>." : "O búfer de cadeas internadas en OPcache está case cheo. Para asegurarse de que as cadeas que se repiten poidan almacenarse na caché de forma efectiva, recoméndase aplicar <code>opcache.interned_strings_buffer</code> á súa configuración de PHP cun valor superior a <code>%s</code>.", + "The OPcache interned strings buffer is nearly full. To assure that repeating strings can be effectively cached, it is recommended to apply <code>opcache.interned_strings_buffer</code> to your PHP configuration with a value higher than <code>%s</code>." : "O búfer de cadeas internas en OPcache está case cheo. Para asegurarse de que as cadeas que se repiten poidan almacenarse na caché de forma efectiva, recoméndase aplicar <code>opcache.interned_strings_buffer</code> á súa configuración de PHP cun valor superior a <code>%s</code>.", "Administrator documentation" : "Documentación do administrador", "User documentation" : "Documentación do usuario", "Invalid SMTP password." : "Contrasinal SMTP incorrecta.", @@ -80,8 +80,8 @@ "Well done, %s!" : "Ben feito, %s!", "If you received this email, the email configuration seems to be correct." : "Se vostede ten recibido este correo, a configuración do correo semella ser correcta. ", "Email could not be sent. Check your mail server log" : "Non foi posíbel enviar o correo. Comprobe o rexistro do servidor de correo", - "A problem occurred while sending the email. Please revise your settings. (Error: %s)" : "Ocorreu un problema ao enviar o correo. Revise a súa configuración. (Erro: %s)", - "You need to set your user email before being able to send test emails. Go to %s for that." : "Debes configurar o teu correo electrónico de usuario antes de poder enviar correos electrónicos de proba. Vaia a %spara iso.", + "A problem occurred while sending the email. Please revise your settings. (Error: %s)" : "Ocorreu un problema ao enviar o correo. Revise os seus axustes. (Erro: %s)", + "You need to set your user email before being able to send test emails. Go to %s for that." : "É necesario estabelecer o seu correo de usuario antes de poder enviar correos de proba. Vaia a %spara iso.", "Users" : "Usuarios", "Invalid user" : "Usuario incorrecto", "Invalid mail address" : "Enderezo de correo incorrecto", @@ -106,14 +106,14 @@ "Email address changed for %s" : "Enderezo de correo cambiado por %s", "The new email address is %s" : "O novo enderezo de correo é %s", "Your %s account was created" : "Foi creada a conta %s", - "Welcome aboard" : "Benvido a bordo", - "Welcome aboard %s" : "Benvido a bordo %s", - "Welcome to your %s account, you can add, protect, and share your data." : "Benvido á súa conta , pode engadir, protexer e compartir os seus datos.", + "Welcome aboard" : "Dámoslle a benvida a bordo", + "Welcome aboard %s" : "Dámoslle a benvida a bordo %s", + "Welcome to your %s account, you can add, protect, and share your data." : "Benvido á súa conta %s , pode engadir, protexer e compartir os seus datos.", "Your username is: %s" : "O seu nome de usuario é: %s", "Set your password" : "Estabeleza o seu contrasinal", "Go to %s" : "Ira a %s", "Install Client" : "Instalar o cliente", - "Logged in user must be a subadmin" : "O usuario rexistrado debe ser un subadministrador", + "Logged in user must be a subadmin" : "O usuario autenticado debe ser un subadministrador", "Settings" : "Axustes", "Personal" : "Persoal", "Administration" : "Administración", @@ -128,7 +128,7 @@ "Personal info" : "Información persoal", "Mobile & desktop" : "Móbil e escritorio", "Email server" : "Servidor de correo", - "Security & setup warnings" : "Advertencias de seguridade e configuración", + "Security & setup warnings" : "Advertencias de seguranza e configuración", "Background jobs" : "Traballos en segundo plano", "Create" : "Crear", "Change" : "Cambiar", @@ -144,17 +144,17 @@ "MySQL version \"%s\" is used. Nextcloud 21 and higher do not support this version and require MySQL 8.0 or MariaDB 10.2 or higher." : "Utilízase a versión «%s» de MySQL. Nextcloud 21 e superior non admite esta versión e requiren MySQL 8.0 ou MariaDB 10.2 ou superior.", "PostgreSQL version \"%s\" is used. Nextcloud 21 and higher do not support this version and require PostgreSQL 9.6 or higher." : "Utilízase a versión «%s» de PostgreSQL. Nextcloud 21 ou superior non admite esta versión e require PostgreSQL 9.6 ou superior.", "Profile information" : "Información do perfil", - "Profile picture, full name, email, phone number, address, website, Twitter, organisation, role, headline, biography, and whether your profile is enabled" : "Imaxe de perfil, nome completo, correo electrónico, número de teléfono, enderezo, sitio web, Twitter, organización, función, título, biografía e se o teu perfil está activado", - "Nextcloud settings" : "Axustes do Nextcloud", - "Here you can decide which group can access certain sections of the administration settings." : "Aquí pode decidir que grupo pode acceder a determinadas seccións da configuración de administración.", + "Profile picture, full name, email, phone number, address, website, Twitter, organisation, role, headline, biography, and whether your profile is enabled" : "Imaxe de perfil, nome completo, correo-e, número de teléfono, enderezo, sitio web, Twitter, organización, función, título, biografía e se o seu perfil está activado", + "Nextcloud settings" : "Axustes de Nextcloud", + "Here you can decide which group can access certain sections of the administration settings." : "Aquí pode decidir que grupo pode acceder a determinadas seccións dos axustes de administración.", "None" : "Ningún", - "Unable to modify setting" : "Non se puido modificar a configuración", + "Unable to modify setting" : "Non é posíbel modificar a configuración", "Two-Factor Authentication" : "Autenticación de dous factores", "Two-factor authentication can be enforced for all users and specific groups. If they do not have a two-factor provider configured, they will be unable to log into the system." : "A autenticación de dous factores pode ser aplicada para todos os usuarios e grupos específicos. Se non tiveran configurado un provedor de dous factores, non podería acceder ao sistema.", - "Enforce two-factor authentication" : "Obrigar a autenticación de dous factores", + "Enforce two-factor authentication" : "Forzar a autenticación de dous factores", "Limit to groups" : "Límite para grupos", "Enforcement of two-factor authentication can be set for certain groups only." : "A obrigatoriedade da autenticación de dous factores pode estabelecerse só para certos grupos.", - "Two-factor authentication is enforced for all members of the following groups." : "A autenticación de dous factores é obrigatoria para todos os membros os seguintes grupos.", + "Two-factor authentication is enforced for all members of the following groups." : "A autenticación de dous factores é obrigatoria para todos os membros dos seguintes grupos.", "Enforced groups" : "Grupos obrigados", "Two-factor authentication is not enforced for members of the following groups." : "A autenticación de dous factores non é obrigatoria para os membros dos seguintes grupos.", "Excluded groups" : "Grupos excluídos", @@ -185,7 +185,7 @@ "Disable all" : "Desactivar todo", "Enable all" : "Activar todo", "_%n app has an update available_::_%n apps have an update available_" : ["%n aplicación ten unha actualización dispòñíbel.","%n aplicacións teñen unha actualización dispoñíbel."], - "_Update_::_Update all_" : ["Actualizar","Actualiza todo"], + "_Update_::_Update all_" : ["Actualizar","Actualizar todo"], "Marked for remote wipe" : "Marcado para limpeza remota", "Device settings" : "Axustes do dispositivo", "Allow filesystem access" : "Permitir o acceso aos sistema de ficheiros", @@ -201,10 +201,10 @@ "Google Chrome for Android" : "Google Chrome para Android", "iPhone" : "iPhone", "iPad" : "iPad", - "{productName} iOS app" : "{productName} aplicación de iOS", - "{productName} Android app" : "{productName} aplicación de Android", - "{productName} Talk for iOS" : "{productName} Talk para iOS", - "{productName} Talk for Android" : "{productName} Talk para Android", + "{productName} iOS app" : "Apli de iOS {productName}", + "{productName} Android app" : "Apli de Android {productName}", + "{productName} Talk for iOS" : "Talk para iOS {productName}", + "{productName} Talk for Android" : "Talk para Android {productName}", "Sync client - {os}" : "Cliente de sincronización - {os}", "This session" : "Esta sesión", "Device" : "Dispositivo", @@ -221,16 +221,16 @@ "App name" : "Nome da aplicación", "Create new app password" : "Crear un novo contrasinal de aplicación", "Use the credentials below to configure your app or device." : "Use as seguintes credenciais para configurar a súa aplicación ou dispositivo. ", - "For security reasons this password will only be shown once." : "Por razóns de seguridade ese contrasinal só se amosará unha vez. ", + "For security reasons this password will only be shown once." : "Por mor da seguranza ese contrasinal só se amosará unha vez. ", "Username" : "Nome de usuario", "Password" : "Contrasinal", "Done" : "Feito", "Show QR code for mobile apps" : "Amosar un código QR para aplicacións móbiles", "Copied!" : "Copiado!", "Copy" : "Copiar", - "Could not copy app password. Please copy it manually." : "Non foi posíbel copiar o contrasinal da app. Cópieo manualmente.", - "For the server to work properly, it's important to configure background jobs correctly. Cron is the recommended setting. Please see the documentation for more information." : "Para que o servidor funcione correctamente, é importante configurar correctamente os traballos en segundo plano. Cron é a configuración recomendada. Consulte a documentación para obter máis información.", - "Last job execution ran {time}. Something seems wrong." : "A última execución do traballo executouse o {time}. Algo parece funcionar mal.", + "Could not copy app password. Please copy it manually." : "Non foi posíbel copiar o contrasinal da apli. Cópieo manualmente.", + "For the server to work properly, it's important to configure background jobs correctly. Cron is the recommended setting. Please see the documentation for more information." : "Para que o servidor funcione correctamente, é importante configurar correctamente os traballos en segundo plano. Cron é o axuste recomendado. Consulte a documentación para obter máis información.", + "Last job execution ran {time}. Something seems wrong." : "A última execución do traballo produciuse o {time}. Semella que algo foi mal.", "Last job ran {relativeTime}." : "O último traballo executouse {relativeTime}.", "Background job did not run yet!" : "O traballo en segundo plano aínda non se executou!", "AJAX" : "AJAX", @@ -241,24 +241,24 @@ "To run this you need the PHP POSIX extension. See {linkstart}PHP documentation{linkend} for more details." : "Para executar isto necesitase a extensión POSIX de PHP. Vexa a {linkstart}documentación de PHP{linkend} para obter máis detalles. ", "Use system cron service to call the cron.php file every 5 minutes. Recommended for all instances." : "Use o servizo cron do sistema para chamar ao ficheiro cron.php cada 5 minutos. Recomendado para todos os casos.", "The cron.php needs to be executed by the system user \"{user}\"." : "O cron.php debe ser executado polo usuario do sistema «{user}».", - "Unable to update background job mode" : "Non se puido actualizar o modo de traballo en segundo plano", + "Unable to update background job mode" : "Non é posíbel actualizar o modo de traballo en segundo plano", "Profile" : "Perfil", - "Enable or disable profile by default for new users." : "Activa ou desactiva o perfil por defecto para os novos usuarios.", + "Enable or disable profile by default for new users." : "Activar ou desactivar o perfil predeterminado para os novos usuarios.", "Enable" : "Activar", - "Unable to update profile default setting" : "Non se puido actualizar a configuración predeterminada do perfil", + "Unable to update profile default setting" : "Non é posíbel actualizar a configuración predeterminada do perfil", "Server-side encryption" : "Cifrado na parte do servidor", "Server-side encryption makes it possible to encrypt files which are uploaded to this server. This comes with limitations like a performance penalty, so enable this only if needed." : "O cifrado do lado do servidor fai posíbel cifrar os ficheiros que van ser enviados a este servidor. Isto leva algunhas limitacións como penalizacións no rendemento, así que actíveo só se é necesario.", "Enable server-side encryption" : "Activar o cifrado na parte do servidor", "Please read carefully before activating server-side encryption:" : "Lea atentamente antes de activar o cifrado do servidor:", - "Once encryption is enabled, all files uploaded to the server from that point forward will be encrypted at rest on the server. It will only be possible to disable encryption at a later date if the active encryption module supports that function, and all pre-conditions (e.g. setting a recover key) are met." : "Una vez que o cifrado estea activado, todos os ficheiros enviados ao servidor dende ese punto en diante cifraranse en repouso no servidor. Só será posíbel desactivar o cifrado nunha data posterior se o módulo de cifrado activado admite esa función, e se cumpran todas as condicións previas (por exemplo, o estabelecemento dunha clave de recuperación).", - "Encryption alone does not guarantee security of the system. Please see documentation for more information about how the encryption app works, and the supported use cases." : "O cifrado por si só non garante a seguridade do sistema. Vexa a documentación para obter máis información sobre como funciona a aplicación de cifrado e os casos de uso admitidos.", + "Once encryption is enabled, all files uploaded to the server from that point forward will be encrypted at rest on the server. It will only be possible to disable encryption at a later date if the active encryption module supports that function, and all pre-conditions (e.g. setting a recover key) are met." : "Una vez que o cifrado estea activado, todos os ficheiros enviados ao servidor dende ese punto en diante cifraranse en repouso no servidor. Só será posíbel desactivar o cifrado nunha data posterior se o módulo de cifrado activado admite esa función, e se cumpran todas as condicións previas (por exemplo, o estabelecemento dunha chave de recuperación).", + "Encryption alone does not guarantee security of the system. Please see documentation for more information about how the encryption app works, and the supported use cases." : "O cifrado por si só non garante a seguranza do sistema. Vexa a documentación para obter máis información sobre como funciona a aplicación de cifrado e os casos de uso admitidos.", "Be aware that encryption always increases the file size." : "Teña presente que o cifrado sempre incrementa o tamaño do ficheiro.", - "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Sempre é bo crear copias de seguridade dos seus datos, no caso do cifrado, asegúrese de ter unha copia de seguridade das claves de cifrado xunto cos seus datos.", + "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Sempre é bo crear copias de seguranza dos seus datos, no caso do cifrado, asegúrese de ter unha copia de seguranza das chaves de cifrado xunto cos seus datos.", "This is the final warning: Do you really want to enable encryption?" : "Esta é a advertencia final. Confirma que quere activar o cifrado?", "No encryption module loaded, please enable an encryption module in the app menu." : "Non hai cargado ningún módulo de cifrado, active un módulo de cifrado no menú de aplicacións.", "Select default encryption module:" : "Seleccionar o módulo predeterminado de cifrado:", - "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please enable the \"Default encryption module\" and run {command}" : "É necesario migrar as súas claves de cifrado do antigo cifrado (ownCloud <= 8,0) cara ao novo. Active o «Módulo predeterminado de cifrado» e execute {command}", - "Unable to update server side encryption config" : "Non se puido actualizar a configuración de cifrado do servidor", + "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please enable the \"Default encryption module\" and run {command}" : "É necesario migrar as súas chave de cifrado do antigo cifrado (ownCloud <= 8,0) cara ao novo. Active o «Módulo predeterminado de cifrado» e execute {command}", + "Unable to update server side encryption config" : "Non é posíbel actualizar a configuración de cifrado do servidor", "Rename group" : "Cambiar o nome do grupo", "Remove group" : "Retirar o grupo", "You are about to remove the group {group}. The users will NOT be deleted." : "Está a piques de retirar o grupo {group}. Os usuarios NON van seren eliminados.", @@ -266,27 +266,27 @@ "Current password" : "Contrasinal actual", "New password" : "Novo contrasinal", "Change password" : "Cambiar o contrasinal", - "Your profile information" : "A información do teu perfil", - "Your profile picture" : "A túa imaxe de perfil", - "Upload profile picture" : "Subir imaxe de perfil", - "Choose profile picture from Files" : "Escolle a imaxe de perfil de Ficheiros", - "Remove profile picture" : "Eliminar a imaxe de perfil", + "Your profile information" : "A información do seu perfil", + "Your profile picture" : "A súa imaxe de perfil", + "Upload profile picture" : "Enviar a imaxe de perfil", + "Choose profile picture from Files" : "Escolla a imaxe de perfil en Ficheiros", + "Remove profile picture" : "Retirar a imaxe de perfil", "The file must be a PNG or JPG" : "O ficheiro debe ser PNG ou JPG", "Picture provided by original account" : "Imaxe fornecida pola conta orixinal ", "Cancel" : "Cancelar", "Set as profile picture" : "Estabelecer como imaxe de perfil", - "Please note that it can take up to 24 hours for your profile picture to be updated everywhere." : "Ten en conta que pode tardar ata 24 horas en actualizar a túa foto de perfil en todas partes.", - "Choose your profile picture" : "Escolle a túa imaxe de perfil", + "Please note that it can take up to 24 hours for your profile picture to be updated everywhere." : "Teña en conta que pode tardar ata 24 horas en actualizar a súa foto de perfil en todos os sitios.", + "Choose your profile picture" : "Escolla a súa imaxe de perfil", "Please select a valid png or jpg file" : "Seleccione un ficheiro png ou jpg válido", "Error setting profile picture" : "Produciuse un erro ao configurar a imaxe de perfil", "Error cropping profile picture" : "Produciuse un erro ao recortar a imaxe de perfil", "Error saving profile picture" : "Produciuse un erro ao gardar a imaxe de perfil", - "Error removing profile picture" : "Produciuse un erro ao eliminar a imaxe de perfil", - "Your biography" : "A túa biografía", + "Error removing profile picture" : "Produciuse un erro ao retirar a imaxe de perfil", + "Your biography" : "A súa biografía", "Details" : "Detalles", - "You are a member of the following groups:" : "Vostede é membro dos seguintes grupos: ", - "You are using <strong>{usage}</strong>" : "Estás usando <strong>{usage}</strong>", - "You are using <strong>{usage}</strong> of <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)" : "Estás usando <strong>{usage}</strong> de <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)", + "You are a member of the following groups:" : "Vostede é membro dos seguintes grupos:", + "You are using <strong>{usage}</strong>" : "Está a usar <strong>{usage}</strong>", + "You are using <strong>{usage}</strong> of <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)" : "Está a usar <strong>{usage}</strong> de <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)", "Your full name" : "O seu nome completo", "Email options" : "Opcións de correo -e", "Primary email for password reset and notifications" : "Correo-e principal para restabelecer o contrasinal e notificacións", @@ -297,46 +297,79 @@ "Set as primary email" : "Estabelecer como correo principal", "Your email address" : "O seu enderezo de correo", "Additional email address {index}" : "Enderezo de correo adicional {index}", - "Unable to delete primary email address" : "Non foi posíbel eliminar o enderezo de correo principal", - "Unable to update primary email address" : "Non foi posíbel actualizar o enderezo de correo principal", - "Unable to add additional email address" : "Non foi posíbel engadir un o enderezo de correo adicional", - "Unable to update additional email address" : "Non foi posíbel actualizar o enderezo de correo adicional", - "Unable to delete additional email address" : "Non foi posíbel eliminar o enderezo de correo adicional", + "Unable to delete primary email address" : "Non é posíbel eliminar o enderezo de correo principal", + "Unable to update primary email address" : "Non é posíbel actualizar o enderezo de correo principal", + "Unable to add additional email address" : "Non é posíbel engadir un o enderezo de correo adicional", + "Unable to update additional email address" : "Non é posíbel actualizar o enderezo de correo adicional", + "Unable to delete additional email address" : "Non é posíbel eliminar o enderezo de correo adicional", "No email address set" : "Non hai un enderezo de correo definido", "Additional emails" : "Correos adicionais", - "Your headline" : "O teu titular", + "Your handle" : "O seu identificador", + "Your headline" : "O seu titular", "Language" : "Idioma", "Help translate" : "Axude na tradución", - "Unable to update language" : "Non foi posíbel actualizar o idioma", + "Unable to update language" : "Non é posíbel actualizar o idioma", "No language set" : "Non foi estabelecido ningún idioma", "Locale" : "Configuración rexional", "Week starts on {firstDayOfWeek}" : "A semana comeza o {firstDayOfWeek}", - "Unable to update locale" : "Non foi posíbel actualizar a configuración rexional", - "No locale set" : "Non se definiu ningunha configuración rexional", - "Your location" : "A súa localización", + "Unable to update locale" : "Non é posíbel actualizar a configuración rexional", + "No locale set" : "Non foi definida ningunha configuración rexional", + "Your city" : "A súa cidade", "Your organisation" : "A súa organización", "Your phone number" : "O seu número de teléfono", - "Edit your Profile visibility" : "Edita a visibilidade do teu Perfil", - "Enable Profile" : "Activar o Perfil", - "Unable to update profile enabled state" : "Non se puido actualizar o estado activado do perfil", + "Edit your Profile visibility" : "Edita a visibilidade do seu perfil", + "Enable Profile" : "Activar o perfil", + "Unable to update profile enabled state" : "Non é posíbel actualizar o estado activado do perfil", "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." : "No seu perfil respectase a configuración máis restritiva de visibilidade ou ambito. Por exemplo, se a visibilidade está definida como«Amosar a todos» e o ámbito está configurado como «Privado», respéctase «Privado».", - "Unable to update visibility of {displayId}" : "Non se puido actualizar a visibilidade de {displayId}", - "Your role" : "O teu cargo", + "Unable to update visibility of {displayId}" : "Non é posíbel actualizar a visibilidade de {displayId}", + "Your role" : "O seu cargo", "Your Twitter handle" : "O seu usuario do Twitter", "Your website" : "O seu sitio web", - "No {property} set" : "Non hai {property} definida", - "Unable to update {property}" : "Non se puido actualizar a {property}", + "No {property} set" : "Non definiu {property}", + "Unable to update {property}" : "Non é posíbel actualizar a {property}", "Change scope level of {property}, current scope is {scope}" : "Cambiar o nivel de ámbito de {property}, o ámbito actual é {scope}", - "Unable to update federation scope of the primary {property}" : "Non se puido actualizar o ámbito de federación da {property} principal", - "Unable to update federation scope of additional {property}" : "Non se puido actualizar o ámbito da federación de {property} adicional", + "Unable to update federation scope of the primary {property}" : "Non é posíbel actualizar o ámbito de federación da {property} principal", + "Unable to update federation scope of additional {property}" : "Non é posíbel actualizar o ámbito da federación de {property} adicional", "Add additional email" : "Engadir un correo adicional", "Add" : "Engadir", + "User's table" : "Táboa de usuarios", + "Display name" : "Nome para amosar", + "Email" : "Correo", + "Group admin for" : "Administrador de grupo para", + "Quota" : "Cota", + "User backend" : "Infraestrutura do usuario", + "Storage location" : "Localización do almacenamento", + "Last login" : "Último acceso", + "Manager" : "Xestor/a", + "No users in here" : "Aquí non hai usuarios", + "Default quota" : "Cota predeterminada", + "Default language" : "Idioma predeterminado", + "Common languages" : "Idiomas habituais", + "Other languages" : "Outros idiomas", + "Password change is disabled because the master key is disabled" : "O cambio de contrasinal está desactivado porque a chave principal está desactivada", + "New user" : "Novo usuario", + "Either password or email is required" : "É necesario un contrasinal ou un correo-e", + "Password (required)" : "Contrasinal (obrigatorio)", + "Email (required)" : "Correo-e (obrigatorio)", + "Groups (required)" : "Grupos (obrigatorio)", + "Set user groups" : "Estabelecer grupos de usuarios", + "Administered groups" : "Grupos administrados", + "Set user as admin for …" : "Estabelecer o usuario como administrador para…", + "Set user quota" : "Estabelecer a cota de usuario", + "Set default language" : "Estabelecer o idioma predeterminado", + "Set user manager" : "Estabelecer o xestor de usuarios", + "Add new user" : "Engadir un novo usuario", + "Username will be autogenerated" : "O nome de usuario vai ser xerado automaticamente", + "Username (required)" : "Nome de usuario (obrigatorio)", "You do not have permissions to see the details of this user" : "Vostede non ten permisos para ver os detalles deste usuario", + "Edit display name" : "Editar o nome para amosar", "Add new password" : "Engadir un novo contrasinal", "Add new email address" : "Engadir un novo enderezo de correo", "Add user to group" : "Engadir usuario ao grupo", "Set user as admin for" : "Estabelecer o usuario como administrador para", "Select user quota" : "Seleccionar a cota de usuario", + "Set the language" : "Estabelecer o idioma", + "Select manager" : "Seleccionar o xestor", "Toggle user actions menu" : "Alternar o menú de accións do usuario", "Delete user" : "Eliminar usuario", "Wipe all devices" : "Limpar todos os dispositivos", @@ -352,22 +385,6 @@ "Welcome mail sent!" : "Enviado o correo de benvida!", "Edit User" : "Editar usuario", "{size} used" : "{size} usado", - "New user" : "Novo usuario", - "Will be autogenerated" : "Vai ser xerado automaticamente", - "Display name" : "Nome a amosar", - "Email" : "Correo", - "Default language" : "Idioma predeterminado", - "Add a new user" : "Engadir un novo usuario", - "Group admin for" : "Administrador de grupo para", - "Quota" : "Cota", - "User backend" : "Infraestrutura do usuario", - "Storage location" : "Localización do almacenamento", - "Last login" : "Último acceso", - "No users in here" : "Aquí non hai usuarios", - "Default quota" : "Cota predeterminada", - "Common languages" : "Idiomas habituais", - "Other languages" : "Outras linguas", - "Password change is disabled because the master key is disabled" : "O cambio de contrasinal está desactivado porque a clave principal está desactivada", "Passwordless authentication requires a secure connection." : "A autenticación sen contrasinal require dunha conexión segura.", "Add WebAuthn device" : "Engadir un dispositivo WebAuthn", "Please authorize your WebAuthn device." : "Autorice o seu dispositivo WebAuthn.", @@ -392,13 +409,13 @@ "Disabled users" : "Usuarios desactivados", "Default quota:" : "Cota predeterminada:", "Select default quota" : "Seleccionar a cota predeterminada", - "Show Languages" : "Amosar os idiomas", + "Show languages" : "Amosar os idiomas", "Show last login" : "Amosar o último acceso", "Show user backend" : "Amosar a infraestrutura do usuario", "Show storage path" : "Amosar a ruta do almacenamento", "Send email to new user" : "Enviar correo ao novo usuario", "Not saved" : "Sen gardar", - "Sending…" : "Enviando...", + "Sending…" : "Enviando…", "Email sent" : "Correo enviado", "Location" : "Localización", "Profile picture" : "Imaxe do perfil", @@ -410,7 +427,7 @@ "Phone number" : "Número de teléfono", "Role" : "Cargo", "Twitter" : "Twitter", - "Fediverse (e.g. Mastodon)" : "Fediverso (por exemplo, Mastodon)", + "Fediverse (e.g. Mastodon)" : "Fediverso (p. ex., Mastodon)", "Website" : "Sitio web", "Profile visibility" : "Visibilidade do perfil", "Not available as this property is required for core functionality including file sharing and calendar invitations" : "Non está dispoñíbel porque esta propiedade é necesaria para as funcións básicas, como compartir ficheiros e convites de calendario", @@ -422,21 +439,22 @@ "App bundles" : "Paquetes de aplicacións", "Featured apps" : "Aplis destacadas", "Show to everyone" : "Amosar a todos", - "Show to logged in users only" : "Amosar só aos usuarios que iniciaron sesión", + "Show to logged in users only" : "Amosar só aos usuarios que accederon", "Hide" : "Agochar", "Download and enable" : "Descargar e activar", "Enable untested app" : "Activar a aplicación sen probar", "The app will be downloaded from the App Store" : "A aplicación descargarase da tenda de aplicacións", - "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." : "Esta aplicación non está marcado como compatíbel coa súa versión do Nextcloud. Se continúa, poderá instalar a aplicación. Teña en conta que é probábel que a aplicación non funcione como se agarda.", + "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." : "Esta aplicación non está marcado como compatíbel coa súa versión de Nextcloud. Se continúa, poderá instalar a aplicación. Teña en conta que é probábel que a aplicación non funcione como se agarda.", "Never" : "Nunca", - "An error occurred during the request. Unable to proceed." : "Produciuse un erro durante a solicitude. Non se pode continuar.", + "An error occurred during the request. Unable to proceed." : "Produciuse un erro durante a solicitude. Non é posíbel continuar.", "The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "A aplicación foi activada pero necesita ser actualizada. Vai ser redirixido cara a páxina de actualizarións en 5 segundos.", - "Error: This app cannot be enabled because it makes the server unstable" : "Erro: esta aplicación non se pode activar porque fai que o servidor sexa inestable", + "Error: This app cannot be enabled because it makes the server unstable" : "Erro: non é posíbel activar esta aplicación porque fai que o servidor sexa inestábel", "There were too many requests from your network. Retry later or contact your administrator if this is an error." : "Houbo demasiadas solicitudes da súa rede. Volva tentalo máis adiante ou póñase en contacto co seu administrador se se trata dun erro.", "Documentation" : "Documentación", "Forum" : "Foro", "Login" : "Acceso", - "SSL/TLS" : "SSL/TLS", + "None/STARTTLS" : "Ningún/STARTTLS", + "SSL" : "SSL", "Open documentation" : "Abrir a documentación", "It is important to set up this server to be able to send emails, like for password reset and notifications." : "É importante configurar este servidor para que poida enviar correos, por exemplo para cambios de contrasinais e notificacións.", "Send mode" : "Modo de envío", @@ -445,8 +463,7 @@ "From address" : "Dende o enderezo", "Server address" : "Enderezo do servidor", "Port" : "Porto", - "Authentication method" : "Método de autenticación", - "Only applies when authentication is required" : "Só se aplica cando é necesaria a autenticación", + "Authentication" : "Autenticación", "Authentication required" : "É necesaria a autenticación", "Credentials" : "Credenciais", "SMTP Username" : "Nome de usuario SMTP", @@ -454,23 +471,23 @@ "Save" : "Gardar", "Test and verify email settings" : "Probe e verifique os axustes do correo", "Send email" : "Enviar o correo", - "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the linked documentation for more information." : "É importante para a seguridade e o bo funcionamento da súa instancia que todo estea configurado correctamente. Para axudarlle niso, imos facer algunhas comprobacións automáticas. Vexa a documentación ligada para obter máis información. ", + "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the linked documentation for more information." : "É importante para a seguranza e o bo funcionamento da súa instancia que todo estea configurado correctamente. Para axudarlle niso, imos facer algunhas comprobacións automáticas. Vexa a documentación ligada para obter máis información. ", "All checks passed." : "Pasáronse todas as verificacións.", "There are some errors regarding your setup." : "Hai algún erro relativo aos seus axustes.", - "There are some warnings regarding your setup." : "Hai algún aviso relativo aos seus axustes.", - "Checking for system and security issues." : "Verificando incidencias de sistema e seguridade.", - "Please double check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%1$s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"%2$s\">log</a>." : "Volva verificar as <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%1$s\">guías de instalación ↗</a>, e comprobe que non haxa erros ou avisos no <a href=\"%2$s\">rexistro</a>. ", - "Check the security of your Nextcloud over <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">our security scan ↗</a>." : "Comprobe a seguridade do seu Nextcloud empregando o <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">noso escaneo de seguridade ↗</a>.", + "There are some warnings regarding your setup." : "Hai algunha advertencia relativa aos seus axustes.", + "Checking for system and security issues." : "Verificando incidencias de sistema e seguranza.", + "Please double check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%1$s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"%2$s\">log</a>." : "Volva verificar as <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%1$s\">guías de instalación ↗</a>, e comprobe que non haxa erros ou advertencias no <a href=\"%2$s\">rexistro</a>. ", + "Check the security of your Nextcloud over <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">our security scan ↗</a>." : "Comprobe a seguranza do seu Nextcloud empregando o <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">noso escaneo de seguranza ↗</a>.", "Version" : "Versión", - "You need to enable the File sharing App." : "Debes activar a Aplicación Compartir ficheiros.", + "You need to enable the File sharing App." : "Debe activar a aplicación Compartir ficheiros.", "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Como administrador pode facer axustes finos do comportamento al compartir. Lea a documentación para obter máis más información.", "Allow apps to use the Share API" : "Permitir que as aplicacións empreguen a API para compartir", "Set default expiration date for shares" : "Estabeleza a data de caducidade predeterminada das comparticións", - "Expire after" : "Caduca tras", + "Expire after" : "Caduca após", "day(s)" : "día(s)", "Enforce expiration date" : "Forzar a data de caducidade", - "Set default expiration date for shares to other servers" : "Establece a data de caducidade predeterminada para as accións compartidas con outros servidores", - "Allow users to share via link and emails" : "Permitir aos usuarios compartir mediante ligazóns e correos electrónicos", + "Set default expiration date for shares to other servers" : "Estabelecer a data de caducidade predeterminada para os recursos compartidos con outros servidores", + "Allow users to share via link and emails" : "Permitir que os usuarios compartan a través de ligazóns e correos-e", "Allow public uploads" : "Permitir os envíos públicos", "Always ask for a password" : "Pedir sempre un contrasinal", "Enforce password protection" : "Forzar a protección por contrasinal", @@ -482,31 +499,39 @@ "Restrict users to only share with users in their groups" : "Restrinxir os usuarios a compartir só cos usuarios dos seus grupos", "Exclude groups from sharing" : "Excluír grupos da compartición", "These groups will still be able to receive shares, but not to initiate them." : "Estes grupos poderán recibir comparticións, mais non inicialas.", + "Allow username autocompletion in share dialog and allow access to the system address book" : "Permitir o autocompletado do nome de usuario no diálogo de compartir e permitir o acceso ao caderno de enderezos do sistema", + "Allow username autocompletion to users within the same groups and limit system address books to users in the same groups" : "Permitir o autocompletado de nome de usuario aos usuarios dos mesmos grupos e limitar os cadernos de enderezos do sistema aos usuarios dos mesmos grupos", "Allow username autocompletion to users based on phone number integration" : "Permitir o autocompletado do nome de usuario aos usuarios en función da integración do número de teléfono", "If autocompletion \"same group\" and \"phone number integration\" are enabled a match in either is enough to show the user." : "Se está activado o autocompletado «mesmo grupo» e a «integración do número de teléfono», unha coincidencia en calquera é abondo para amosar o usuario.", - "Allow autocompletion when entering the full name or email address (ignoring missing phonebook match and being in the same group)" : "Permitir o autocompletado ao introducir o nome completo ou o enderezo de correo electrónico (ignorando a coincidencia que falta na axenda telefónica e estar no mesmo grupo)", + "Allow autocompletion when entering the full name or email address (ignoring missing phonebook match and being in the same group)" : "Permitir o autocompletado ao introducir o nome completo ou o enderezo de correo-e (ignorando a falta de coincidencia na lista de teléfonos e estar no mesmo grupo)", "Show disclaimer text on the public link upload page (only shown when the file list is hidden)" : "Amosar o texto de exención de responsabilidade na páxina de envío de ligazóns publicas (amosarase só cando a lista de ficheiros estea agochada)", "This text will be shown on the public link upload page when the file list is hidden." : "Este texto amosarase na páxina de envío das ligazóns públicas cando a lista de ficheiros estea agochada.", "Default share permissions" : "Permisos predeterminados para compartir", - "Reasons to use Nextcloud in your organization" : "Razóns para usar o Nextcloud na súa organización", + "Reasons to use Nextcloud in your organization" : "Razóns para usar Nextcloud na súa organización", "Developed by the {communityopen}Nextcloud community{linkclose}, the {githubopen}source code{linkclose} is licensed under the {licenseopen}AGPL{linkclose}." : "Desenvolvido pola {communityopen}comunidade Nextcloud{linkclose}, o {githubopen}código fonte{linkclose} está licenciado baixo a {licenseopen}AGPL{linkclose}.", "Like our Facebook page" : "Faga un Gústame na nosa páxina de Facebook", "Follow us on Twitter" : "Síganos no Twitter", "Follow us on Mastodon" : "Síganos na Mastodon", "Check out our blog" : "Visite o noso blog ", "Subscribe to our newsletter" : "Subscríbase ao noso boletín", - "This community release of Nextcloud is unsupported and instant notifications are unavailable." : "Esta versión comunitaria de Nextcloud non é compatible e as notificacións instantáneas non están dispoñibles.", - "Use a second factor besides your password to increase security for your account." : "Empregue un segundo factor ademais do seu contrasinal para aumentar a seguridade da súa conta.", + "This community release of Nextcloud is unsupported and instant notifications are unavailable." : "Esta versión comunitaria de Nextcloud non é compatíbel e as notificacións instantáneas non están dispoñíbeis.", + "Use a second factor besides your password to increase security for your account." : "Empregue un segundo factor ademais do seu contrasinal para aumentar a seguranza da súa conta.", "If you use third party applications to connect to Nextcloud, please make sure to create and configure an app password for each before enabling second factor authentication." : " Se usa aplicacións de terceiros para conectarse a Nextcloud, asegúrese de crear e configurar un contrasinal de aplicación para cada unha antes de activar a autenticación de segundo factor.", "You created app password \"{token}\"" : "Vostede creou o contrasinal da aplicación «{token}»", "An administrator created app password \"{token}\"" : "Un administrador creou o contrasinal da aplicación «{token}»", - "Choose profile picture from files" : "Escolle a imaxe de perfil dende Ficheiros", + "Choose profile picture from files" : "Escolla a imaxe de perfil en ficheiros", "png or jpg, max. 20 MB" : "png ou jpg, max. 20 MB", + "Your location" : "A súa localización", + "Will be autogenerated" : "Vai ser xerado automaticamente", + "Add a new user" : "Engadir un novo usuario", + "Show Languages" : "Amosar os idiomas", "Plain" : "Simple", "NT LAN Manager" : "Xestor NT LAN", + "SSL/TLS" : "SSL/TLS", "STARTTLS" : "STARTTLS", + "Authentication method" : "Método de autenticación", "Allow username autocompletion in share dialog" : "Permitir autocompletar o nome de usuario no diálogo de compartir", "Allow username autocompletion to users within the same groups" : "Permitir autocompletar o nome de usuario aos usuarios dos mesmos grupos", - "Avatar" : "Avatar" + "Select user manager" : "Seleccione o xestor de usuarios" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/settings/l10n/he.js b/apps/settings/l10n/he.js index dfbbf0c3d41..c13de2ae855 100644 --- a/apps/settings/l10n/he.js +++ b/apps/settings/l10n/he.js @@ -222,6 +222,19 @@ OC.L10N.register( "Locale" : "הגדרות אזוריות", "Your phone number" : "מספר הטלפון שלך", "Add" : "הוספה", + "Display name" : "שם תצוגה", + "Email" : "דוא״ל", + "Group admin for" : "הנהלת הקבוצה", + "Quota" : "מכיסה", + "User backend" : "מנגנון משתמש", + "Storage location" : "מיקום אחסון", + "Last login" : "כניסה אחרונה", + "No users in here" : "אין כאן משתמשים", + "Default quota" : "מיכסת בררת מחדל", + "Default language" : "שפת בררת מחדל", + "Common languages" : "שפות נפוצות", + "Password change is disabled because the master key is disabled" : "החלפת ססמה מושבתת כיוון שהמפתח הראשי מושבת", + "New user" : "משתמש חדש", "You do not have permissions to see the details of this user" : "אין לך הרשאות לצפות בפירוט על המשתמש", "Add new password" : "הוספת ססמה חדשה", "Add new email address" : "הוספת כתובת דוא״ל חדשה", @@ -242,21 +255,6 @@ OC.L10N.register( "Welcome mail sent!" : "נשלחה הודעת קבלת פנים בדוא״ל!", "Edit User" : "עריכת משתמש", "{size} used" : "{size} בשימוש", - "New user" : "משתמש חדש", - "Will be autogenerated" : "ייווצר אוטומטית", - "Display name" : "שם תצוגה", - "Email" : "דוא״ל", - "Default language" : "שפת בררת מחדל", - "Add a new user" : "הוספת משתמש חדש", - "Group admin for" : "הנהלת הקבוצה", - "Quota" : "מכיסה", - "User backend" : "מנגנון משתמש", - "Storage location" : "מיקום אחסון", - "Last login" : "כניסה אחרונה", - "No users in here" : "אין כאן משתמשים", - "Default quota" : "מיכסת בררת מחדל", - "Common languages" : "שפות נפוצות", - "Password change is disabled because the master key is disabled" : "החלפת ססמה מושבתת כיוון שהמפתח הראשי מושבת", "Passwordless authentication requires a secure connection." : "אימות ללא ססמה דורש חיבור מוצפן.", "Add WebAuthn device" : "הוספת התקן WebAuthn", "Please authorize your WebAuthn device." : "נא לייפות את כוחו של התקן ה־WebAuthn שלך.", @@ -281,7 +279,6 @@ OC.L10N.register( "Disabled users" : "משתמשים מושבתים", "Default quota:" : "מכסת בררת מחדל:", "Select default quota" : "בחירת מכסת בררת מחדל", - "Show Languages" : "הצגת שפות", "Show last login" : "הצגת כניסה אחרונה", "Show user backend" : "הצגת צד אחורי למשתמש", "Show storage path" : "הצגת נתיב אחסון", @@ -311,7 +308,7 @@ OC.L10N.register( "Documentation" : "תיעוד", "Forum" : "פורום", "Login" : "התחברות", - "SSL/TLS" : "SSL/TLS", + "SSL" : "SSL", "Open documentation" : "תיעוד פתוח", "It is important to set up this server to be able to send emails, like for password reset and notifications." : "חשוב להגדיר את השרת הזה כדי שיתאפשר לשלוח דרכו הודעות דוא״ל, למשל כדי לאפס ססמה ולשלוח התרעות.", "Send mode" : "מצב שליחה", @@ -320,7 +317,7 @@ OC.L10N.register( "From address" : "מכתובת", "Server address" : "כתובת שרת", "Port" : "שער", - "Authentication method" : "שיטת אימות", + "Authentication" : "אימות", "Authentication required" : "נדרש אימות", "Credentials" : "פרטי גישה", "SMTP Username" : "שם משתמש SMTP ", @@ -363,11 +360,15 @@ OC.L10N.register( "If you use third party applications to connect to Nextcloud, please make sure to create and configure an app password for each before enabling second factor authentication." : "אם משמשים אותך יישומי צד־שלישי להתחברות אל Nextcloud, נא לוודא יצירת והגדרת ססמה ליישומון לכל אחד מהם בטרם הפעלת אימות דו־שלבי.", "You created app password \"{token}\"" : "יצרת ססמה „{token}” ליישומון", "png or jpg, max. 20 MB" : "png או jpg, מקסימום 20 מגה-בייט", + "Will be autogenerated" : "ייווצר אוטומטית", + "Add a new user" : "הוספת משתמש חדש", + "Show Languages" : "הצגת שפות", "Plain" : "רגיל", "NT LAN Manager" : "מנהל רשת NT", + "SSL/TLS" : "SSL/TLS", "STARTTLS" : "STARTTLS", + "Authentication method" : "שיטת אימות", "Allow username autocompletion in share dialog" : "לאפשר השלמה אוטומטית של שם משתמש בחלונית השיתוף", - "Allow username autocompletion to users within the same groups" : "לאפשר השלמה אוטומטית של שם משתמש למשתמשים בתוך אותן הקבוצות", - "Avatar" : "תמונה מייצגת" + "Allow username autocompletion to users within the same groups" : "לאפשר השלמה אוטומטית של שם משתמש למשתמשים בתוך אותן הקבוצות" }, "nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: (n % 10 == 0 && n % 1 == 0 && n > 10) ? 2 : 3;"); diff --git a/apps/settings/l10n/he.json b/apps/settings/l10n/he.json index 12bbbd0fe81..486f5032c89 100644 --- a/apps/settings/l10n/he.json +++ b/apps/settings/l10n/he.json @@ -220,6 +220,19 @@ "Locale" : "הגדרות אזוריות", "Your phone number" : "מספר הטלפון שלך", "Add" : "הוספה", + "Display name" : "שם תצוגה", + "Email" : "דוא״ל", + "Group admin for" : "הנהלת הקבוצה", + "Quota" : "מכיסה", + "User backend" : "מנגנון משתמש", + "Storage location" : "מיקום אחסון", + "Last login" : "כניסה אחרונה", + "No users in here" : "אין כאן משתמשים", + "Default quota" : "מיכסת בררת מחדל", + "Default language" : "שפת בררת מחדל", + "Common languages" : "שפות נפוצות", + "Password change is disabled because the master key is disabled" : "החלפת ססמה מושבתת כיוון שהמפתח הראשי מושבת", + "New user" : "משתמש חדש", "You do not have permissions to see the details of this user" : "אין לך הרשאות לצפות בפירוט על המשתמש", "Add new password" : "הוספת ססמה חדשה", "Add new email address" : "הוספת כתובת דוא״ל חדשה", @@ -240,21 +253,6 @@ "Welcome mail sent!" : "נשלחה הודעת קבלת פנים בדוא״ל!", "Edit User" : "עריכת משתמש", "{size} used" : "{size} בשימוש", - "New user" : "משתמש חדש", - "Will be autogenerated" : "ייווצר אוטומטית", - "Display name" : "שם תצוגה", - "Email" : "דוא״ל", - "Default language" : "שפת בררת מחדל", - "Add a new user" : "הוספת משתמש חדש", - "Group admin for" : "הנהלת הקבוצה", - "Quota" : "מכיסה", - "User backend" : "מנגנון משתמש", - "Storage location" : "מיקום אחסון", - "Last login" : "כניסה אחרונה", - "No users in here" : "אין כאן משתמשים", - "Default quota" : "מיכסת בררת מחדל", - "Common languages" : "שפות נפוצות", - "Password change is disabled because the master key is disabled" : "החלפת ססמה מושבתת כיוון שהמפתח הראשי מושבת", "Passwordless authentication requires a secure connection." : "אימות ללא ססמה דורש חיבור מוצפן.", "Add WebAuthn device" : "הוספת התקן WebAuthn", "Please authorize your WebAuthn device." : "נא לייפות את כוחו של התקן ה־WebAuthn שלך.", @@ -279,7 +277,6 @@ "Disabled users" : "משתמשים מושבתים", "Default quota:" : "מכסת בררת מחדל:", "Select default quota" : "בחירת מכסת בררת מחדל", - "Show Languages" : "הצגת שפות", "Show last login" : "הצגת כניסה אחרונה", "Show user backend" : "הצגת צד אחורי למשתמש", "Show storage path" : "הצגת נתיב אחסון", @@ -309,7 +306,7 @@ "Documentation" : "תיעוד", "Forum" : "פורום", "Login" : "התחברות", - "SSL/TLS" : "SSL/TLS", + "SSL" : "SSL", "Open documentation" : "תיעוד פתוח", "It is important to set up this server to be able to send emails, like for password reset and notifications." : "חשוב להגדיר את השרת הזה כדי שיתאפשר לשלוח דרכו הודעות דוא״ל, למשל כדי לאפס ססמה ולשלוח התרעות.", "Send mode" : "מצב שליחה", @@ -318,7 +315,7 @@ "From address" : "מכתובת", "Server address" : "כתובת שרת", "Port" : "שער", - "Authentication method" : "שיטת אימות", + "Authentication" : "אימות", "Authentication required" : "נדרש אימות", "Credentials" : "פרטי גישה", "SMTP Username" : "שם משתמש SMTP ", @@ -361,11 +358,15 @@ "If you use third party applications to connect to Nextcloud, please make sure to create and configure an app password for each before enabling second factor authentication." : "אם משמשים אותך יישומי צד־שלישי להתחברות אל Nextcloud, נא לוודא יצירת והגדרת ססמה ליישומון לכל אחד מהם בטרם הפעלת אימות דו־שלבי.", "You created app password \"{token}\"" : "יצרת ססמה „{token}” ליישומון", "png or jpg, max. 20 MB" : "png או jpg, מקסימום 20 מגה-בייט", + "Will be autogenerated" : "ייווצר אוטומטית", + "Add a new user" : "הוספת משתמש חדש", + "Show Languages" : "הצגת שפות", "Plain" : "רגיל", "NT LAN Manager" : "מנהל רשת NT", + "SSL/TLS" : "SSL/TLS", "STARTTLS" : "STARTTLS", + "Authentication method" : "שיטת אימות", "Allow username autocompletion in share dialog" : "לאפשר השלמה אוטומטית של שם משתמש בחלונית השיתוף", - "Allow username autocompletion to users within the same groups" : "לאפשר השלמה אוטומטית של שם משתמש למשתמשים בתוך אותן הקבוצות", - "Avatar" : "תמונה מייצגת" + "Allow username autocompletion to users within the same groups" : "לאפשר השלמה אוטומטית של שם משתמש למשתמשים בתוך אותן הקבוצות" },"pluralForm" :"nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: (n % 10 == 0 && n % 1 == 0 && n > 10) ? 2 : 3;" }
\ No newline at end of file diff --git a/apps/settings/l10n/hr.js b/apps/settings/l10n/hr.js index 90546fd67a8..4ee98d23449 100644 --- a/apps/settings/l10n/hr.js +++ b/apps/settings/l10n/hr.js @@ -260,6 +260,20 @@ OC.L10N.register( "Unable to update visibility of {displayId}" : "Nije moguće ažurirati vidljivost za {displayId}", "Your role" : "Vaša uloga", "Add" : "Dodaj", + "Display name" : "Ime za prikaz", + "Email" : "E-pošta", + "Group admin for" : "Administrator grupe za", + "Quota" : "Kvota", + "User backend" : "Korisnički pozadinski sustav", + "Storage location" : "Mjesto pohrane", + "Last login" : "Posljednja prijava", + "No users in here" : "Ovdje nema korisnika", + "Default quota" : "Zadana kvota", + "Default language" : "Zadani jezik", + "Common languages" : "Česti jezici", + "Other languages" : "Drugi jezici", + "Password change is disabled because the master key is disabled" : "Onemogućeno je mijenjanje zaporke jer je onemogućen glavni ključ", + "New user" : "Novi korisnik", "You do not have permissions to see the details of this user" : "Nemate dopuštenja za prikaz pojedinosti ovog korisnika", "Add new password" : "Dodaj novu zaporku", "Add new email address" : "Dodaj novu adresu e-pošte", @@ -281,22 +295,6 @@ OC.L10N.register( "Welcome mail sent!" : "Poslana poruka dobrodošlice!", "Edit User" : "Uredi korisnika", "{size} used" : "Iskorišteno {size}", - "New user" : "Novi korisnik", - "Will be autogenerated" : "Automatski će se generirati", - "Display name" : "Ime za prikaz", - "Email" : "E-pošta", - "Default language" : "Zadani jezik", - "Add a new user" : "Dodaj novog korisnika", - "Group admin for" : "Administrator grupe za", - "Quota" : "Kvota", - "User backend" : "Korisnički pozadinski sustav", - "Storage location" : "Mjesto pohrane", - "Last login" : "Posljednja prijava", - "No users in here" : "Ovdje nema korisnika", - "Default quota" : "Zadana kvota", - "Common languages" : "Česti jezici", - "Other languages" : "Drugi jezici", - "Password change is disabled because the master key is disabled" : "Onemogućeno je mijenjanje zaporke jer je onemogućen glavni ključ", "Passwordless authentication requires a secure connection." : "Autentifikacija bez zaporke zahtijeva sigurnu vezu.", "Add WebAuthn device" : "Dodaj WebAuthn uređaj", "Please authorize your WebAuthn device." : "Autorizirajte svoj WebAuthn uređaj.", @@ -321,7 +319,6 @@ OC.L10N.register( "Disabled users" : "Onemogućeni korisnici", "Default quota:" : "Zadana kvota:", "Select default quota" : "Odaberi zadanu kvotu", - "Show Languages" : "Prikaži jezike", "Show last login" : "Prikaži posljednju prijavu", "Show user backend" : "Prikaži korisnički pozadinski sustav", "Show storage path" : "Prikaži put pohrane", @@ -362,7 +359,7 @@ OC.L10N.register( "Documentation" : "Dokumentacija", "Forum" : "Forum", "Login" : "Prijava", - "SSL/TLS" : "SSL/TLS", + "SSL" : "SSL", "Open documentation" : "Otvori dokumentaciju", "It is important to set up this server to be able to send emails, like for password reset and notifications." : "Važno je postaviti ovaj poslužitelj kako biste mogli slati poruke e-pošte u vezi s resetiranjem zaporke i obavijesti.", "Send mode" : "Način slanja", @@ -371,7 +368,7 @@ OC.L10N.register( "From address" : "Adresa pošiljatelja", "Server address" : "Adresa poslužitelja", "Port" : "Port", - "Authentication method" : "Način autentifikacije", + "Authentication" : "Autentifikacija", "Authentication required" : "Potrebna autentifikacija", "Credentials" : "Vjerodajnice", "SMTP Username" : "Korisničko ime za SMTP", @@ -422,11 +419,15 @@ OC.L10N.register( "If you use third party applications to connect to Nextcloud, please make sure to create and configure an app password for each before enabling second factor authentication." : "Ako se za povezivanje s Nextcloudom koristite aplikacijama treće strane, stvorite i konfigurirajte lozinku za svaku aplikaciju prije omogućavanja drugog faktora za provođenje autentifikacije.", "You created app password \"{token}\"" : "Stvorili ste zaporku aplikacije „{token}”", "png or jpg, max. 20 MB" : "png ili jpg, maks. 20 MB", + "Will be autogenerated" : "Automatski će se generirati", + "Add a new user" : "Dodaj novog korisnika", + "Show Languages" : "Prikaži jezike", "Plain" : "Čisti tekst", "NT LAN Manager" : "NT LAN Manager", + "SSL/TLS" : "SSL/TLS", "STARTTLS" : "STARTTLS", + "Authentication method" : "Način autentifikacije", "Allow username autocompletion in share dialog" : "Dopusti automatsko dovršavanje korisničkog imena u dijaloškom okviru za dijeljenje", - "Allow username autocompletion to users within the same groups" : "Dopusti automatsko dovršavanje korisničkog imena na korisnike iz istih grupa", - "Avatar" : "Avatar" + "Allow username autocompletion to users within the same groups" : "Dopusti automatsko dovršavanje korisničkog imena na korisnike iz istih grupa" }, "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/apps/settings/l10n/hr.json b/apps/settings/l10n/hr.json index 44f5b4d3c95..00368407b99 100644 --- a/apps/settings/l10n/hr.json +++ b/apps/settings/l10n/hr.json @@ -258,6 +258,20 @@ "Unable to update visibility of {displayId}" : "Nije moguće ažurirati vidljivost za {displayId}", "Your role" : "Vaša uloga", "Add" : "Dodaj", + "Display name" : "Ime za prikaz", + "Email" : "E-pošta", + "Group admin for" : "Administrator grupe za", + "Quota" : "Kvota", + "User backend" : "Korisnički pozadinski sustav", + "Storage location" : "Mjesto pohrane", + "Last login" : "Posljednja prijava", + "No users in here" : "Ovdje nema korisnika", + "Default quota" : "Zadana kvota", + "Default language" : "Zadani jezik", + "Common languages" : "Česti jezici", + "Other languages" : "Drugi jezici", + "Password change is disabled because the master key is disabled" : "Onemogućeno je mijenjanje zaporke jer je onemogućen glavni ključ", + "New user" : "Novi korisnik", "You do not have permissions to see the details of this user" : "Nemate dopuštenja za prikaz pojedinosti ovog korisnika", "Add new password" : "Dodaj novu zaporku", "Add new email address" : "Dodaj novu adresu e-pošte", @@ -279,22 +293,6 @@ "Welcome mail sent!" : "Poslana poruka dobrodošlice!", "Edit User" : "Uredi korisnika", "{size} used" : "Iskorišteno {size}", - "New user" : "Novi korisnik", - "Will be autogenerated" : "Automatski će se generirati", - "Display name" : "Ime za prikaz", - "Email" : "E-pošta", - "Default language" : "Zadani jezik", - "Add a new user" : "Dodaj novog korisnika", - "Group admin for" : "Administrator grupe za", - "Quota" : "Kvota", - "User backend" : "Korisnički pozadinski sustav", - "Storage location" : "Mjesto pohrane", - "Last login" : "Posljednja prijava", - "No users in here" : "Ovdje nema korisnika", - "Default quota" : "Zadana kvota", - "Common languages" : "Česti jezici", - "Other languages" : "Drugi jezici", - "Password change is disabled because the master key is disabled" : "Onemogućeno je mijenjanje zaporke jer je onemogućen glavni ključ", "Passwordless authentication requires a secure connection." : "Autentifikacija bez zaporke zahtijeva sigurnu vezu.", "Add WebAuthn device" : "Dodaj WebAuthn uređaj", "Please authorize your WebAuthn device." : "Autorizirajte svoj WebAuthn uređaj.", @@ -319,7 +317,6 @@ "Disabled users" : "Onemogućeni korisnici", "Default quota:" : "Zadana kvota:", "Select default quota" : "Odaberi zadanu kvotu", - "Show Languages" : "Prikaži jezike", "Show last login" : "Prikaži posljednju prijavu", "Show user backend" : "Prikaži korisnički pozadinski sustav", "Show storage path" : "Prikaži put pohrane", @@ -360,7 +357,7 @@ "Documentation" : "Dokumentacija", "Forum" : "Forum", "Login" : "Prijava", - "SSL/TLS" : "SSL/TLS", + "SSL" : "SSL", "Open documentation" : "Otvori dokumentaciju", "It is important to set up this server to be able to send emails, like for password reset and notifications." : "Važno je postaviti ovaj poslužitelj kako biste mogli slati poruke e-pošte u vezi s resetiranjem zaporke i obavijesti.", "Send mode" : "Način slanja", @@ -369,7 +366,7 @@ "From address" : "Adresa pošiljatelja", "Server address" : "Adresa poslužitelja", "Port" : "Port", - "Authentication method" : "Način autentifikacije", + "Authentication" : "Autentifikacija", "Authentication required" : "Potrebna autentifikacija", "Credentials" : "Vjerodajnice", "SMTP Username" : "Korisničko ime za SMTP", @@ -420,11 +417,15 @@ "If you use third party applications to connect to Nextcloud, please make sure to create and configure an app password for each before enabling second factor authentication." : "Ako se za povezivanje s Nextcloudom koristite aplikacijama treće strane, stvorite i konfigurirajte lozinku za svaku aplikaciju prije omogućavanja drugog faktora za provođenje autentifikacije.", "You created app password \"{token}\"" : "Stvorili ste zaporku aplikacije „{token}”", "png or jpg, max. 20 MB" : "png ili jpg, maks. 20 MB", + "Will be autogenerated" : "Automatski će se generirati", + "Add a new user" : "Dodaj novog korisnika", + "Show Languages" : "Prikaži jezike", "Plain" : "Čisti tekst", "NT LAN Manager" : "NT LAN Manager", + "SSL/TLS" : "SSL/TLS", "STARTTLS" : "STARTTLS", + "Authentication method" : "Način autentifikacije", "Allow username autocompletion in share dialog" : "Dopusti automatsko dovršavanje korisničkog imena u dijaloškom okviru za dijeljenje", - "Allow username autocompletion to users within the same groups" : "Dopusti automatsko dovršavanje korisničkog imena na korisnike iz istih grupa", - "Avatar" : "Avatar" + "Allow username autocompletion to users within the same groups" : "Dopusti automatsko dovršavanje korisničkog imena na korisnike iz istih grupa" },"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;" }
\ No newline at end of file diff --git a/apps/settings/l10n/hu.js b/apps/settings/l10n/hu.js index dda84fe0d4e..e8b1deae8da 100644 --- a/apps/settings/l10n/hu.js +++ b/apps/settings/l10n/hu.js @@ -316,7 +316,6 @@ OC.L10N.register( "Week starts on {firstDayOfWeek}" : "A hét kezdete: {firstDayOfWeek}", "Unable to update locale" : "A területi beállítás nem frissíthető", "No locale set" : "Nincs területi beállítás megadva", - "Your location" : "A saját helye", "Your organisation" : "Az Ön szervezete", "Your phone number" : "Telefonszáma", "Edit your Profile visibility" : "Profil láthatósága", @@ -334,6 +333,22 @@ OC.L10N.register( "Unable to update federation scope of additional {property}" : "A további {property} föderációs hatóköre nem frissíthető", "Add additional email" : "További e-mail hozzáadása", "Add" : "Hozzáadás", + "User's table" : "A felhasználó táblázata", + "Display name" : "Megjelenítendő név", + "Email" : "E-mail", + "Group admin for" : "Csoport rendszergazda itt:", + "Quota" : "Kvóta", + "User backend" : "Felhasználói háttérszolgáltatás", + "Storage location" : "Háttértár helye", + "Last login" : "Utolsó bejelentkezés", + "Manager" : "Kezelő", + "No users in here" : "Nincsenek felhasználók", + "Default quota" : "Alapértelmezett kvóta", + "Default language" : "Alapértelmezett nyelv", + "Common languages" : "Alapvető nyelvek", + "Other languages" : "Más nyelvek", + "Password change is disabled because the master key is disabled" : "A jelszó megváltoztatása tiltott, mert a mesterkulcs tiltott", + "New user" : "Új felhasználó", "You do not have permissions to see the details of this user" : "Nincs jogosultsága megnézni a felhasználó részletes adatait", "Edit display name" : "Megjelenítendő név szerkesztése", "Add new password" : "Új jelszó hozzáadása", @@ -358,25 +373,6 @@ OC.L10N.register( "Welcome mail sent!" : "Üdvözlő üzenet elküldve!", "Edit User" : "Felhasználó szerkesztése", "{size} used" : "{size} felhasználva", - "User's table" : "A felhasználó táblázata", - "New user" : "Új felhasználó", - "Will be autogenerated" : "Automatikusan lesz elkészítve", - "Display name" : "Megjelenítendő név", - "Email" : "E-mail", - "Default language" : "Alapértelmezett nyelv", - "Select user manager" : "Felhasználókezelő kiválasztása", - "Add a new user" : "Új felhasználó felvétele", - "Group admin for" : "Csoport rendszergazda itt:", - "Quota" : "Kvóta", - "User backend" : "Felhasználói háttérszolgáltatás", - "Storage location" : "Háttértár helye", - "Last login" : "Utolsó bejelentkezés", - "Manager" : "Kezelő", - "No users in here" : "Nincsenek felhasználók", - "Default quota" : "Alapértelmezett kvóta", - "Common languages" : "Alapvető nyelvek", - "Other languages" : "Más nyelvek", - "Password change is disabled because the master key is disabled" : "A jelszó megváltoztatása tiltott, mert a mesterkulcs tiltott", "Passwordless authentication requires a secure connection." : "A jelszó nélküli hitelesítés biztonságos kapcsolatot igényel.", "Add WebAuthn device" : "WebAuth eszköz hozzáadása", "Please authorize your WebAuthn device." : "Hitelesítse a WebAuthn eszközét.", @@ -401,7 +397,6 @@ OC.L10N.register( "Disabled users" : "Letiltott felhasználók", "Default quota:" : "Alapértelmezett kvóta:", "Select default quota" : "Válasszon alapértelmezett kvótát", - "Show Languages" : "Nyelvek megjelenítése", "Show last login" : "Utolsó bejelentkezés megjelenítése", "Show user backend" : "Felhasználói háttérszolgáltatás megjelenítése", "Show storage path" : "Tároló útvonal megjelenítése", @@ -445,7 +440,7 @@ OC.L10N.register( "Documentation" : "Dokumentáció", "Forum" : "Fórum", "Login" : "Bejelentkezés", - "SSL/TLS" : "SSL/TLS", + "SSL" : "SSL", "Open documentation" : "Dokumentáció megnyitása", "It is important to set up this server to be able to send emails, like for password reset and notifications." : "Fontos, hogy a levelezés be legyen állítva a kiszolgálón, például a jelszó-visszaállítások és az értesítések miatt.", "Send mode" : "Küldési mód", @@ -454,8 +449,7 @@ OC.L10N.register( "From address" : "Feladó címe", "Server address" : "Kiszolgáló címe", "Port" : "Port", - "Authentication method" : "Hitelesítési mód", - "Only applies when authentication is required" : "Csak akkor érvényes, ha kötelező a hitelesítés", + "Authentication" : "Hitelesítés", "Authentication required" : "Hitelesítés szükséges", "Credentials" : "Hitelesítő adatok", "SMTP Username" : "SMTP felhasználónév", @@ -513,12 +507,17 @@ OC.L10N.register( "An administrator created app password \"{token}\"" : "Egy rendszergazda létrehozta a(z) „{token}” alkalmazásjelszót", "Choose profile picture from files" : "Válasszon profilképet a fájlok közül", "png or jpg, max. 20 MB" : "png vagy jpg, legfeljebb 20 MB", + "Your location" : "A saját helye", + "Will be autogenerated" : "Automatikusan lesz elkészítve", + "Add a new user" : "Új felhasználó felvétele", + "Show Languages" : "Nyelvek megjelenítése", "Plain" : "Egyszerű", "NT LAN Manager" : "NT LAN Manager", + "SSL/TLS" : "SSL/TLS", "STARTTLS" : "STARTTLS", + "Authentication method" : "Hitelesítési mód", "Allow username autocompletion in share dialog" : "A felhasználónév automatikus kiegészítésének engedélyezése a megosztás párbeszédpanelen ", "Allow username autocompletion to users within the same groups" : "A felhasználónév automatikus kiegészítésének engedélyezése az azonos csoportokba tartozó felhasználók számára ", - "Avatar" : "Profilkép", - "User actions" : "Felhasználói műveletek" + "Select user manager" : "Felhasználókezelő kiválasztása" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/settings/l10n/hu.json b/apps/settings/l10n/hu.json index a98324042d8..d35a5be012e 100644 --- a/apps/settings/l10n/hu.json +++ b/apps/settings/l10n/hu.json @@ -314,7 +314,6 @@ "Week starts on {firstDayOfWeek}" : "A hét kezdete: {firstDayOfWeek}", "Unable to update locale" : "A területi beállítás nem frissíthető", "No locale set" : "Nincs területi beállítás megadva", - "Your location" : "A saját helye", "Your organisation" : "Az Ön szervezete", "Your phone number" : "Telefonszáma", "Edit your Profile visibility" : "Profil láthatósága", @@ -332,6 +331,22 @@ "Unable to update federation scope of additional {property}" : "A további {property} föderációs hatóköre nem frissíthető", "Add additional email" : "További e-mail hozzáadása", "Add" : "Hozzáadás", + "User's table" : "A felhasználó táblázata", + "Display name" : "Megjelenítendő név", + "Email" : "E-mail", + "Group admin for" : "Csoport rendszergazda itt:", + "Quota" : "Kvóta", + "User backend" : "Felhasználói háttérszolgáltatás", + "Storage location" : "Háttértár helye", + "Last login" : "Utolsó bejelentkezés", + "Manager" : "Kezelő", + "No users in here" : "Nincsenek felhasználók", + "Default quota" : "Alapértelmezett kvóta", + "Default language" : "Alapértelmezett nyelv", + "Common languages" : "Alapvető nyelvek", + "Other languages" : "Más nyelvek", + "Password change is disabled because the master key is disabled" : "A jelszó megváltoztatása tiltott, mert a mesterkulcs tiltott", + "New user" : "Új felhasználó", "You do not have permissions to see the details of this user" : "Nincs jogosultsága megnézni a felhasználó részletes adatait", "Edit display name" : "Megjelenítendő név szerkesztése", "Add new password" : "Új jelszó hozzáadása", @@ -356,25 +371,6 @@ "Welcome mail sent!" : "Üdvözlő üzenet elküldve!", "Edit User" : "Felhasználó szerkesztése", "{size} used" : "{size} felhasználva", - "User's table" : "A felhasználó táblázata", - "New user" : "Új felhasználó", - "Will be autogenerated" : "Automatikusan lesz elkészítve", - "Display name" : "Megjelenítendő név", - "Email" : "E-mail", - "Default language" : "Alapértelmezett nyelv", - "Select user manager" : "Felhasználókezelő kiválasztása", - "Add a new user" : "Új felhasználó felvétele", - "Group admin for" : "Csoport rendszergazda itt:", - "Quota" : "Kvóta", - "User backend" : "Felhasználói háttérszolgáltatás", - "Storage location" : "Háttértár helye", - "Last login" : "Utolsó bejelentkezés", - "Manager" : "Kezelő", - "No users in here" : "Nincsenek felhasználók", - "Default quota" : "Alapértelmezett kvóta", - "Common languages" : "Alapvető nyelvek", - "Other languages" : "Más nyelvek", - "Password change is disabled because the master key is disabled" : "A jelszó megváltoztatása tiltott, mert a mesterkulcs tiltott", "Passwordless authentication requires a secure connection." : "A jelszó nélküli hitelesítés biztonságos kapcsolatot igényel.", "Add WebAuthn device" : "WebAuth eszköz hozzáadása", "Please authorize your WebAuthn device." : "Hitelesítse a WebAuthn eszközét.", @@ -399,7 +395,6 @@ "Disabled users" : "Letiltott felhasználók", "Default quota:" : "Alapértelmezett kvóta:", "Select default quota" : "Válasszon alapértelmezett kvótát", - "Show Languages" : "Nyelvek megjelenítése", "Show last login" : "Utolsó bejelentkezés megjelenítése", "Show user backend" : "Felhasználói háttérszolgáltatás megjelenítése", "Show storage path" : "Tároló útvonal megjelenítése", @@ -443,7 +438,7 @@ "Documentation" : "Dokumentáció", "Forum" : "Fórum", "Login" : "Bejelentkezés", - "SSL/TLS" : "SSL/TLS", + "SSL" : "SSL", "Open documentation" : "Dokumentáció megnyitása", "It is important to set up this server to be able to send emails, like for password reset and notifications." : "Fontos, hogy a levelezés be legyen állítva a kiszolgálón, például a jelszó-visszaállítások és az értesítések miatt.", "Send mode" : "Küldési mód", @@ -452,8 +447,7 @@ "From address" : "Feladó címe", "Server address" : "Kiszolgáló címe", "Port" : "Port", - "Authentication method" : "Hitelesítési mód", - "Only applies when authentication is required" : "Csak akkor érvényes, ha kötelező a hitelesítés", + "Authentication" : "Hitelesítés", "Authentication required" : "Hitelesítés szükséges", "Credentials" : "Hitelesítő adatok", "SMTP Username" : "SMTP felhasználónév", @@ -511,12 +505,17 @@ "An administrator created app password \"{token}\"" : "Egy rendszergazda létrehozta a(z) „{token}” alkalmazásjelszót", "Choose profile picture from files" : "Válasszon profilképet a fájlok közül", "png or jpg, max. 20 MB" : "png vagy jpg, legfeljebb 20 MB", + "Your location" : "A saját helye", + "Will be autogenerated" : "Automatikusan lesz elkészítve", + "Add a new user" : "Új felhasználó felvétele", + "Show Languages" : "Nyelvek megjelenítése", "Plain" : "Egyszerű", "NT LAN Manager" : "NT LAN Manager", + "SSL/TLS" : "SSL/TLS", "STARTTLS" : "STARTTLS", + "Authentication method" : "Hitelesítési mód", "Allow username autocompletion in share dialog" : "A felhasználónév automatikus kiegészítésének engedélyezése a megosztás párbeszédpanelen ", "Allow username autocompletion to users within the same groups" : "A felhasználónév automatikus kiegészítésének engedélyezése az azonos csoportokba tartozó felhasználók számára ", - "Avatar" : "Profilkép", - "User actions" : "Felhasználói műveletek" + "Select user manager" : "Felhasználókezelő kiválasztása" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/settings/l10n/ia.js b/apps/settings/l10n/ia.js index c7447515367..67334279e14 100644 --- a/apps/settings/l10n/ia.js +++ b/apps/settings/l10n/ia.js @@ -104,14 +104,13 @@ OC.L10N.register( "Documentation" : "Documentation", "Forum" : "Foro", "Login" : "Login", - "SSL/TLS" : "SSL/TLS", "Open documentation" : "Aperir documentation", "Send mode" : "Modo de invio", "Encryption" : "Cryptographia", "From address" : "De adresse", "Server address" : "Adresse del servitor", "Port" : "Porto", - "Authentication method" : "Methodo de authentication", + "Authentication" : "Authentication", "Authentication required" : "Authentication requirite", "Credentials" : "Datos de authentication", "SMTP Username" : "Nomine de usator SMTP", @@ -124,6 +123,8 @@ OC.L10N.register( "Enforce password protection" : "Exiger protection per contrasigno", "Set default expiration date" : "Assignar data predefinite de expiration", "png or jpg, max. 20 MB" : "formato png o jpg, dimension maxime 20 MB", - "STARTTLS" : "STARTTLS" + "SSL/TLS" : "SSL/TLS", + "STARTTLS" : "STARTTLS", + "Authentication method" : "Methodo de authentication" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/settings/l10n/ia.json b/apps/settings/l10n/ia.json index 0844fe51647..9fb3990808d 100644 --- a/apps/settings/l10n/ia.json +++ b/apps/settings/l10n/ia.json @@ -102,14 +102,13 @@ "Documentation" : "Documentation", "Forum" : "Foro", "Login" : "Login", - "SSL/TLS" : "SSL/TLS", "Open documentation" : "Aperir documentation", "Send mode" : "Modo de invio", "Encryption" : "Cryptographia", "From address" : "De adresse", "Server address" : "Adresse del servitor", "Port" : "Porto", - "Authentication method" : "Methodo de authentication", + "Authentication" : "Authentication", "Authentication required" : "Authentication requirite", "Credentials" : "Datos de authentication", "SMTP Username" : "Nomine de usator SMTP", @@ -122,6 +121,8 @@ "Enforce password protection" : "Exiger protection per contrasigno", "Set default expiration date" : "Assignar data predefinite de expiration", "png or jpg, max. 20 MB" : "formato png o jpg, dimension maxime 20 MB", - "STARTTLS" : "STARTTLS" + "SSL/TLS" : "SSL/TLS", + "STARTTLS" : "STARTTLS", + "Authentication method" : "Methodo de authentication" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/settings/l10n/id.js b/apps/settings/l10n/id.js index 3eef6898f24..0db7f37c565 100644 --- a/apps/settings/l10n/id.js +++ b/apps/settings/l10n/id.js @@ -240,20 +240,8 @@ OC.L10N.register( "Your phone number" : "Nomor telefon Anda", "Edit your Profile visibility" : "Ubah visibilitas Profil Anda", "Add" : "Masukkan", - "You do not have permissions to see the details of this user" : "Anda tidak memiliki ijin untuk melihat detil pengguna ini", - "Set user as admin for" : "Atur pengguna sebagai admin untuk", - "Select user quota" : "Pilih kuota pengguna", - "Delete user" : "Hapus pengguna", - "Disable user" : "Nonaktifkan pengguna", - "Enable user" : "Aktifkan pengguna", - "Resend welcome email" : "Kirim ulang surel selamat datang", - "Welcome mail sent!" : "Surat selamat datang terkirim!", - "{size} used" : "{size} digunakan", - "New user" : "Pengguna baru", "Display name" : "Nama tampilan", "Email" : "Surel", - "Default language" : "Bahasa bawaan", - "Add a new user" : "Tambah pengguna baru", "Group admin for" : "Grup admin untuk", "Quota" : "Kuota", "User backend" : "Backend pengguna", @@ -261,8 +249,19 @@ OC.L10N.register( "Last login" : "Log masuk terakhir", "No users in here" : "Tidak ada pengguna di sini", "Default quota" : "Kuota standar", + "Default language" : "Bahasa bawaan", "Common languages" : "Bahasa umum", "Password change is disabled because the master key is disabled" : "Pengaturan kata sandi dinonaktifkan karena kunci master dinonaktifkan", + "New user" : "Pengguna baru", + "You do not have permissions to see the details of this user" : "Anda tidak memiliki ijin untuk melihat detil pengguna ini", + "Set user as admin for" : "Atur pengguna sebagai admin untuk", + "Select user quota" : "Pilih kuota pengguna", + "Delete user" : "Hapus pengguna", + "Disable user" : "Nonaktifkan pengguna", + "Enable user" : "Aktifkan pengguna", + "Resend welcome email" : "Kirim ulang surel selamat datang", + "Welcome mail sent!" : "Surat selamat datang terkirim!", + "{size} used" : "{size} digunakan", "Passwordless authentication requires a secure connection." : "Otentikasi tanpa kata sandi membutuhkan koneksi aman.", "Passwordless Authentication" : "Otentikasi Tanpa Kata Sandi", "No devices configured." : "Tidak ada perangkat yang dikonfigurasi.", @@ -275,7 +274,6 @@ OC.L10N.register( "Disabled users" : "Nonaktifkan pengguna", "Default quota:" : "Kuota bawaan:", "Select default quota" : "Pilih kuota bawaan", - "Show Languages" : "Tampilkan bahasa", "Show last login" : "Tampilkan yang terakhir masuk", "Show user backend" : "Tampilkan pengguna backend", "Show storage path" : "Tampilkan jalur penyimpanan", @@ -305,7 +303,7 @@ OC.L10N.register( "Documentation" : "Dokumentasi", "Forum" : "Forum", "Login" : "Masuk", - "SSL/TLS" : "SSL/TLS", + "SSL" : "SSL", "Open documentation" : "Buka dokumentasi", "It is important to set up this server to be able to send emails, like for password reset and notifications." : "Sangat penting untuk mengatur server ini untuk dapat mengirim surat, seperti melakukan reset kata sandi dan notifikasi.", "Send mode" : "Modus kirim", @@ -314,7 +312,7 @@ OC.L10N.register( "From address" : "Dari alamat", "Server address" : "Alamat server", "Port" : "Port", - "Authentication method" : "Metode otentikasi", + "Authentication" : "Otentikasi", "Authentication required" : "Diperlukan otentikasi", "Credentials" : "Kredensial", "SMTP Username" : "Nama pengguna SMTP", @@ -351,9 +349,12 @@ OC.L10N.register( "You created app password \"{token}\"" : "Anda telah membuat kata sandi aplikasi \"{token}\"", "An administrator created app password \"{token}\"" : "Administrator membuat sandi aplikasi \"{token}\"", "png or jpg, max. 20 MB" : "png atau jpg, maks. 20 MB", + "Add a new user" : "Tambah pengguna baru", + "Show Languages" : "Tampilkan bahasa", "Plain" : "Biasa", "NT LAN Manager" : "Manajer NT LAN", + "SSL/TLS" : "SSL/TLS", "STARTTLS" : "STARTTLS", - "Avatar" : "Avatar" + "Authentication method" : "Metode otentikasi" }, "nplurals=1; plural=0;"); diff --git a/apps/settings/l10n/id.json b/apps/settings/l10n/id.json index eb5f9249315..bba083dcb66 100644 --- a/apps/settings/l10n/id.json +++ b/apps/settings/l10n/id.json @@ -238,20 +238,8 @@ "Your phone number" : "Nomor telefon Anda", "Edit your Profile visibility" : "Ubah visibilitas Profil Anda", "Add" : "Masukkan", - "You do not have permissions to see the details of this user" : "Anda tidak memiliki ijin untuk melihat detil pengguna ini", - "Set user as admin for" : "Atur pengguna sebagai admin untuk", - "Select user quota" : "Pilih kuota pengguna", - "Delete user" : "Hapus pengguna", - "Disable user" : "Nonaktifkan pengguna", - "Enable user" : "Aktifkan pengguna", - "Resend welcome email" : "Kirim ulang surel selamat datang", - "Welcome mail sent!" : "Surat selamat datang terkirim!", - "{size} used" : "{size} digunakan", - "New user" : "Pengguna baru", "Display name" : "Nama tampilan", "Email" : "Surel", - "Default language" : "Bahasa bawaan", - "Add a new user" : "Tambah pengguna baru", "Group admin for" : "Grup admin untuk", "Quota" : "Kuota", "User backend" : "Backend pengguna", @@ -259,8 +247,19 @@ "Last login" : "Log masuk terakhir", "No users in here" : "Tidak ada pengguna di sini", "Default quota" : "Kuota standar", + "Default language" : "Bahasa bawaan", "Common languages" : "Bahasa umum", "Password change is disabled because the master key is disabled" : "Pengaturan kata sandi dinonaktifkan karena kunci master dinonaktifkan", + "New user" : "Pengguna baru", + "You do not have permissions to see the details of this user" : "Anda tidak memiliki ijin untuk melihat detil pengguna ini", + "Set user as admin for" : "Atur pengguna sebagai admin untuk", + "Select user quota" : "Pilih kuota pengguna", + "Delete user" : "Hapus pengguna", + "Disable user" : "Nonaktifkan pengguna", + "Enable user" : "Aktifkan pengguna", + "Resend welcome email" : "Kirim ulang surel selamat datang", + "Welcome mail sent!" : "Surat selamat datang terkirim!", + "{size} used" : "{size} digunakan", "Passwordless authentication requires a secure connection." : "Otentikasi tanpa kata sandi membutuhkan koneksi aman.", "Passwordless Authentication" : "Otentikasi Tanpa Kata Sandi", "No devices configured." : "Tidak ada perangkat yang dikonfigurasi.", @@ -273,7 +272,6 @@ "Disabled users" : "Nonaktifkan pengguna", "Default quota:" : "Kuota bawaan:", "Select default quota" : "Pilih kuota bawaan", - "Show Languages" : "Tampilkan bahasa", "Show last login" : "Tampilkan yang terakhir masuk", "Show user backend" : "Tampilkan pengguna backend", "Show storage path" : "Tampilkan jalur penyimpanan", @@ -303,7 +301,7 @@ "Documentation" : "Dokumentasi", "Forum" : "Forum", "Login" : "Masuk", - "SSL/TLS" : "SSL/TLS", + "SSL" : "SSL", "Open documentation" : "Buka dokumentasi", "It is important to set up this server to be able to send emails, like for password reset and notifications." : "Sangat penting untuk mengatur server ini untuk dapat mengirim surat, seperti melakukan reset kata sandi dan notifikasi.", "Send mode" : "Modus kirim", @@ -312,7 +310,7 @@ "From address" : "Dari alamat", "Server address" : "Alamat server", "Port" : "Port", - "Authentication method" : "Metode otentikasi", + "Authentication" : "Otentikasi", "Authentication required" : "Diperlukan otentikasi", "Credentials" : "Kredensial", "SMTP Username" : "Nama pengguna SMTP", @@ -349,9 +347,12 @@ "You created app password \"{token}\"" : "Anda telah membuat kata sandi aplikasi \"{token}\"", "An administrator created app password \"{token}\"" : "Administrator membuat sandi aplikasi \"{token}\"", "png or jpg, max. 20 MB" : "png atau jpg, maks. 20 MB", + "Add a new user" : "Tambah pengguna baru", + "Show Languages" : "Tampilkan bahasa", "Plain" : "Biasa", "NT LAN Manager" : "Manajer NT LAN", + "SSL/TLS" : "SSL/TLS", "STARTTLS" : "STARTTLS", - "Avatar" : "Avatar" + "Authentication method" : "Metode otentikasi" },"pluralForm" :"nplurals=1; plural=0;" }
\ No newline at end of file diff --git a/apps/settings/l10n/is.js b/apps/settings/l10n/is.js index fd6b190845e..cdb95c88343 100644 --- a/apps/settings/l10n/is.js +++ b/apps/settings/l10n/is.js @@ -209,6 +209,19 @@ OC.L10N.register( "Your Twitter handle" : "Twitter notandanafnið þitt", "Your website" : "Vefsvæðið þitt", "Add" : "Bæta við", + "Display name" : "Birtingarnafn", + "Email" : "Netfang", + "Group admin for" : "Hópstjóri fyrir", + "Quota" : "Kvóti", + "User backend" : "Bakendi notanda", + "Storage location" : "Staðsetning gagnageymslu", + "Last login" : "Síðasta innskráning", + "No users in here" : "Engir notendur hér", + "Default quota" : "Sjálfgefinn kvóti", + "Default language" : "Sjálfgefið tungumál", + "Common languages" : "Algeng tungumál", + "Password change is disabled because the master key is disabled" : "Lykilorðabreyting er óvirk vegna þess að aðallykill er óvirkur", + "New user" : "Nýr notandi", "You do not have permissions to see the details of this user" : "Þú hefur ekki réttindi til að skoða ítarupplýsingar um þennan notanda", "Set user as admin for" : "Setja notanda sem stjórnanda fyrir", "Select user quota" : "Veldu kvóta notandans", @@ -223,21 +236,6 @@ OC.L10N.register( "Delete {userid}'s account" : "Eyða notandaaðgangi {userid}", "Welcome mail sent!" : "Kveðjupóstur sendur!", "{size} used" : "{size} notað", - "New user" : "Nýr notandi", - "Will be autogenerated" : "Verður útbúið sjálfvirkt", - "Display name" : "Birtingarnafn", - "Email" : "Netfang", - "Default language" : "Sjálfgefið tungumál", - "Add a new user" : "Bæta við nýjum notanda", - "Group admin for" : "Hópstjóri fyrir", - "Quota" : "Kvóti", - "User backend" : "Bakendi notanda", - "Storage location" : "Staðsetning gagnageymslu", - "Last login" : "Síðasta innskráning", - "No users in here" : "Engir notendur hér", - "Default quota" : "Sjálfgefinn kvóti", - "Common languages" : "Algeng tungumál", - "Password change is disabled because the master key is disabled" : "Lykilorðabreyting er óvirk vegna þess að aðallykill er óvirkur", "Passwordless authentication requires a secure connection." : "Lykilorðalaus auðkenning krefst öruggrar tengingar.", "Add WebAuthn device" : "Bæta við WebAuthn-tæki", "Name your device" : "Gefðu tækinu þínu nafn", @@ -257,7 +255,6 @@ OC.L10N.register( "Disabled users" : "Óvirkir notendur", "Default quota:" : "Sjálfgefinn kvóti:", "Select default quota" : "Setja sjálfgefinn kvóta", - "Show Languages" : "Birta tungumál", "Show last login" : "Birta síðustu innskráningu", "Show user backend" : "Birta bakenda notanda", "Show storage path" : "Birta slóð á gagnageymslu", @@ -288,7 +285,7 @@ OC.L10N.register( "Documentation" : "Hjálparskjöl", "Forum" : "Vefspjall", "Login" : "Innskráning", - "SSL/TLS" : "SSL/TLS", + "SSL" : "SSL", "Open documentation" : "Opna hjálparskjöl", "It is important to set up this server to be able to send emails, like for password reset and notifications." : "Það er mikilvægt að setja þennan vefþjón upp þannig að hann getir sent tölvupóst, eins og fyrir endurstillingu lykilorða og útsendingu tilkynninga.", "Send mode" : "Sendihamur", @@ -297,7 +294,7 @@ OC.L10N.register( "From address" : "Frá vistfangi", "Server address" : "Vistfang þjóns", "Port" : "Gátt", - "Authentication method" : "Auðkenningarmáti", + "Authentication" : "Auðkenning", "Authentication required" : "Auðkenningar krafist", "Credentials" : "Auðkenni", "SMTP Username" : "SMTP-notandanafn", @@ -337,9 +334,13 @@ OC.L10N.register( "Use a second factor besides your password to increase security for your account." : "Notaðu annað þrep til viðbótar lykilorðinu þínu til að auka öryggi notandaaðgangsins þíns.", "You created app password \"{token}\"" : "Þú bjóst til forritslykilorðið \"{token}\"", "png or jpg, max. 20 MB" : "png eða jpg, hám. 20 MB", + "Will be autogenerated" : "Verður útbúið sjálfvirkt", + "Add a new user" : "Bæta við nýjum notanda", + "Show Languages" : "Birta tungumál", "Plain" : "Einfalt", "NT LAN Manager" : "NT LAN stjórnun", + "SSL/TLS" : "SSL/TLS", "STARTTLS" : "STARTTLS", - "Avatar" : "Auðkennismynd" + "Authentication method" : "Auðkenningarmáti" }, "nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);"); diff --git a/apps/settings/l10n/is.json b/apps/settings/l10n/is.json index e25fcfb5fe0..0cff43aec0f 100644 --- a/apps/settings/l10n/is.json +++ b/apps/settings/l10n/is.json @@ -207,6 +207,19 @@ "Your Twitter handle" : "Twitter notandanafnið þitt", "Your website" : "Vefsvæðið þitt", "Add" : "Bæta við", + "Display name" : "Birtingarnafn", + "Email" : "Netfang", + "Group admin for" : "Hópstjóri fyrir", + "Quota" : "Kvóti", + "User backend" : "Bakendi notanda", + "Storage location" : "Staðsetning gagnageymslu", + "Last login" : "Síðasta innskráning", + "No users in here" : "Engir notendur hér", + "Default quota" : "Sjálfgefinn kvóti", + "Default language" : "Sjálfgefið tungumál", + "Common languages" : "Algeng tungumál", + "Password change is disabled because the master key is disabled" : "Lykilorðabreyting er óvirk vegna þess að aðallykill er óvirkur", + "New user" : "Nýr notandi", "You do not have permissions to see the details of this user" : "Þú hefur ekki réttindi til að skoða ítarupplýsingar um þennan notanda", "Set user as admin for" : "Setja notanda sem stjórnanda fyrir", "Select user quota" : "Veldu kvóta notandans", @@ -221,21 +234,6 @@ "Delete {userid}'s account" : "Eyða notandaaðgangi {userid}", "Welcome mail sent!" : "Kveðjupóstur sendur!", "{size} used" : "{size} notað", - "New user" : "Nýr notandi", - "Will be autogenerated" : "Verður útbúið sjálfvirkt", - "Display name" : "Birtingarnafn", - "Email" : "Netfang", - "Default language" : "Sjálfgefið tungumál", - "Add a new user" : "Bæta við nýjum notanda", - "Group admin for" : "Hópstjóri fyrir", - "Quota" : "Kvóti", - "User backend" : "Bakendi notanda", - "Storage location" : "Staðsetning gagnageymslu", - "Last login" : "Síðasta innskráning", - "No users in here" : "Engir notendur hér", - "Default quota" : "Sjálfgefinn kvóti", - "Common languages" : "Algeng tungumál", - "Password change is disabled because the master key is disabled" : "Lykilorðabreyting er óvirk vegna þess að aðallykill er óvirkur", "Passwordless authentication requires a secure connection." : "Lykilorðalaus auðkenning krefst öruggrar tengingar.", "Add WebAuthn device" : "Bæta við WebAuthn-tæki", "Name your device" : "Gefðu tækinu þínu nafn", @@ -255,7 +253,6 @@ "Disabled users" : "Óvirkir notendur", "Default quota:" : "Sjálfgefinn kvóti:", "Select default quota" : "Setja sjálfgefinn kvóta", - "Show Languages" : "Birta tungumál", "Show last login" : "Birta síðustu innskráningu", "Show user backend" : "Birta bakenda notanda", "Show storage path" : "Birta slóð á gagnageymslu", @@ -286,7 +283,7 @@ "Documentation" : "Hjálparskjöl", "Forum" : "Vefspjall", "Login" : "Innskráning", - "SSL/TLS" : "SSL/TLS", + "SSL" : "SSL", "Open documentation" : "Opna hjálparskjöl", "It is important to set up this server to be able to send emails, like for password reset and notifications." : "Það er mikilvægt að setja þennan vefþjón upp þannig að hann getir sent tölvupóst, eins og fyrir endurstillingu lykilorða og útsendingu tilkynninga.", "Send mode" : "Sendihamur", @@ -295,7 +292,7 @@ "From address" : "Frá vistfangi", "Server address" : "Vistfang þjóns", "Port" : "Gátt", - "Authentication method" : "Auðkenningarmáti", + "Authentication" : "Auðkenning", "Authentication required" : "Auðkenningar krafist", "Credentials" : "Auðkenni", "SMTP Username" : "SMTP-notandanafn", @@ -335,9 +332,13 @@ "Use a second factor besides your password to increase security for your account." : "Notaðu annað þrep til viðbótar lykilorðinu þínu til að auka öryggi notandaaðgangsins þíns.", "You created app password \"{token}\"" : "Þú bjóst til forritslykilorðið \"{token}\"", "png or jpg, max. 20 MB" : "png eða jpg, hám. 20 MB", + "Will be autogenerated" : "Verður útbúið sjálfvirkt", + "Add a new user" : "Bæta við nýjum notanda", + "Show Languages" : "Birta tungumál", "Plain" : "Einfalt", "NT LAN Manager" : "NT LAN stjórnun", + "SSL/TLS" : "SSL/TLS", "STARTTLS" : "STARTTLS", - "Avatar" : "Auðkennismynd" + "Authentication method" : "Auðkenningarmáti" },"pluralForm" :"nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);" }
\ No newline at end of file diff --git a/apps/settings/l10n/it.js b/apps/settings/l10n/it.js index 9381974bf9d..f68c6d3eaf8 100644 --- a/apps/settings/l10n/it.js +++ b/apps/settings/l10n/it.js @@ -293,6 +293,20 @@ OC.L10N.register( "Your website" : "Il tuo sito web", "Add additional email" : "Aggiungi email aggiuntiva", "Add" : "Aggiungi", + "Display name" : "Nome visualizzato", + "Email" : "Posta elettronica", + "Group admin for" : "Amministratore per il gruppo", + "Quota" : "Quote", + "User backend" : "Motore utente", + "Storage location" : "Posizione di archiviazione", + "Last login" : "Ultimo accesso", + "No users in here" : "Non ci sono utenti qui", + "Default quota" : "Quota predefinita", + "Default language" : "Lingua predefinita", + "Common languages" : "Lingue comuni", + "Other languages" : "Altre lingue", + "Password change is disabled because the master key is disabled" : "La modifica della password è disabilitata poiché la chiave principale è disabilitata", + "New user" : "Nuovo utente", "You do not have permissions to see the details of this user" : "Non hai i permessi per vedere i dettagli di questo utente", "Add new password" : "Aggiungi nuova password", "Add new email address" : "Aggiungi nuovo indirizzo email", @@ -314,22 +328,6 @@ OC.L10N.register( "Welcome mail sent!" : "Email di benvenuto inviata!", "Edit User" : "Modifica utente", "{size} used" : "{size} utilizzati", - "New user" : "Nuovo utente", - "Will be autogenerated" : "Sarà generata automaticamente", - "Display name" : "Nome visualizzato", - "Email" : "Posta elettronica", - "Default language" : "Lingua predefinita", - "Add a new user" : "Aggiungi un nuovo utente", - "Group admin for" : "Amministratore per il gruppo", - "Quota" : "Quote", - "User backend" : "Motore utente", - "Storage location" : "Posizione di archiviazione", - "Last login" : "Ultimo accesso", - "No users in here" : "Non ci sono utenti qui", - "Default quota" : "Quota predefinita", - "Common languages" : "Lingue comuni", - "Other languages" : "Altre lingue", - "Password change is disabled because the master key is disabled" : "La modifica della password è disabilitata poiché la chiave principale è disabilitata", "Passwordless authentication requires a secure connection." : "L'autenticazione senza password richiede una connessione sicura.", "Add WebAuthn device" : "Aggiungi dispositivo WebAuthn", "Please authorize your WebAuthn device." : "Autorizza il tuo dispositivo WebAuthn.", @@ -354,7 +352,6 @@ OC.L10N.register( "Disabled users" : "Utenti disabilitati", "Default quota:" : "Quota predefinita:", "Select default quota" : "Seleziona la quota predefinita", - "Show Languages" : "Mostra lingue", "Show last login" : "Mostra ultimo accesso", "Show user backend" : "Mostra il motore utente", "Show storage path" : "Mostra percorso di archiviazione", @@ -395,7 +392,7 @@ OC.L10N.register( "Documentation" : "Documentazione", "Forum" : "Forum", "Login" : "Login", - "SSL/TLS" : "SSL/TLS", + "SSL" : "SSL", "Open documentation" : "Apri la documentazione", "It is important to set up this server to be able to send emails, like for password reset and notifications." : "È importante impostare questo server per poter inviare email, come per il ripristino della password e per le notifiche.", "Send mode" : "Modalità di invio", @@ -404,7 +401,7 @@ OC.L10N.register( "From address" : "Indirizzo mittente", "Server address" : "Indirizzo del server", "Port" : "Porta", - "Authentication method" : "Metodo di autenticazione", + "Authentication" : "Autenticazione", "Authentication required" : "Autenticazione richiesta", "Credentials" : "Credenziali", "SMTP Username" : "Nome utente SMTP", @@ -459,11 +456,15 @@ OC.L10N.register( "You created app password \"{token}\"" : "Hai creato la password di applicazione \"{token}\"", "An administrator created app password \"{token}\"" : "Un amministratore ha creato per l'app la password \"{token}\" ", "png or jpg, max. 20 MB" : "png o jpg, max. 20 MB", + "Will be autogenerated" : "Sarà generata automaticamente", + "Add a new user" : "Aggiungi un nuovo utente", + "Show Languages" : "Mostra lingue", "Plain" : "Semplice", "NT LAN Manager" : "Gestore NT LAN", + "SSL/TLS" : "SSL/TLS", "STARTTLS" : "STARTTLS", + "Authentication method" : "Metodo di autenticazione", "Allow username autocompletion in share dialog" : "Consenti il completamento del nome utente nella finestra di condivisione", - "Allow username autocompletion to users within the same groups" : "Consenti il completamento del nome utente agli utenti degli stessi gruppi", - "Avatar" : "Avatar" + "Allow username autocompletion to users within the same groups" : "Consenti il completamento del nome utente agli utenti degli stessi gruppi" }, "nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); diff --git a/apps/settings/l10n/it.json b/apps/settings/l10n/it.json index 900b5e9b1f5..dc53c144763 100644 --- a/apps/settings/l10n/it.json +++ b/apps/settings/l10n/it.json @@ -291,6 +291,20 @@ "Your website" : "Il tuo sito web", "Add additional email" : "Aggiungi email aggiuntiva", "Add" : "Aggiungi", + "Display name" : "Nome visualizzato", + "Email" : "Posta elettronica", + "Group admin for" : "Amministratore per il gruppo", + "Quota" : "Quote", + "User backend" : "Motore utente", + "Storage location" : "Posizione di archiviazione", + "Last login" : "Ultimo accesso", + "No users in here" : "Non ci sono utenti qui", + "Default quota" : "Quota predefinita", + "Default language" : "Lingua predefinita", + "Common languages" : "Lingue comuni", + "Other languages" : "Altre lingue", + "Password change is disabled because the master key is disabled" : "La modifica della password è disabilitata poiché la chiave principale è disabilitata", + "New user" : "Nuovo utente", "You do not have permissions to see the details of this user" : "Non hai i permessi per vedere i dettagli di questo utente", "Add new password" : "Aggiungi nuova password", "Add new email address" : "Aggiungi nuovo indirizzo email", @@ -312,22 +326,6 @@ "Welcome mail sent!" : "Email di benvenuto inviata!", "Edit User" : "Modifica utente", "{size} used" : "{size} utilizzati", - "New user" : "Nuovo utente", - "Will be autogenerated" : "Sarà generata automaticamente", - "Display name" : "Nome visualizzato", - "Email" : "Posta elettronica", - "Default language" : "Lingua predefinita", - "Add a new user" : "Aggiungi un nuovo utente", - "Group admin for" : "Amministratore per il gruppo", - "Quota" : "Quote", - "User backend" : "Motore utente", - "Storage location" : "Posizione di archiviazione", - "Last login" : "Ultimo accesso", - "No users in here" : "Non ci sono utenti qui", - "Default quota" : "Quota predefinita", - "Common languages" : "Lingue comuni", - "Other languages" : "Altre lingue", - "Password change is disabled because the master key is disabled" : "La modifica della password è disabilitata poiché la chiave principale è disabilitata", "Passwordless authentication requires a secure connection." : "L'autenticazione senza password richiede una connessione sicura.", "Add WebAuthn device" : "Aggiungi dispositivo WebAuthn", "Please authorize your WebAuthn device." : "Autorizza il tuo dispositivo WebAuthn.", @@ -352,7 +350,6 @@ "Disabled users" : "Utenti disabilitati", "Default quota:" : "Quota predefinita:", "Select default quota" : "Seleziona la quota predefinita", - "Show Languages" : "Mostra lingue", "Show last login" : "Mostra ultimo accesso", "Show user backend" : "Mostra il motore utente", "Show storage path" : "Mostra percorso di archiviazione", @@ -393,7 +390,7 @@ "Documentation" : "Documentazione", "Forum" : "Forum", "Login" : "Login", - "SSL/TLS" : "SSL/TLS", + "SSL" : "SSL", "Open documentation" : "Apri la documentazione", "It is important to set up this server to be able to send emails, like for password reset and notifications." : "È importante impostare questo server per poter inviare email, come per il ripristino della password e per le notifiche.", "Send mode" : "Modalità di invio", @@ -402,7 +399,7 @@ "From address" : "Indirizzo mittente", "Server address" : "Indirizzo del server", "Port" : "Porta", - "Authentication method" : "Metodo di autenticazione", + "Authentication" : "Autenticazione", "Authentication required" : "Autenticazione richiesta", "Credentials" : "Credenziali", "SMTP Username" : "Nome utente SMTP", @@ -457,11 +454,15 @@ "You created app password \"{token}\"" : "Hai creato la password di applicazione \"{token}\"", "An administrator created app password \"{token}\"" : "Un amministratore ha creato per l'app la password \"{token}\" ", "png or jpg, max. 20 MB" : "png o jpg, max. 20 MB", + "Will be autogenerated" : "Sarà generata automaticamente", + "Add a new user" : "Aggiungi un nuovo utente", + "Show Languages" : "Mostra lingue", "Plain" : "Semplice", "NT LAN Manager" : "Gestore NT LAN", + "SSL/TLS" : "SSL/TLS", "STARTTLS" : "STARTTLS", + "Authentication method" : "Metodo di autenticazione", "Allow username autocompletion in share dialog" : "Consenti il completamento del nome utente nella finestra di condivisione", - "Allow username autocompletion to users within the same groups" : "Consenti il completamento del nome utente agli utenti degli stessi gruppi", - "Avatar" : "Avatar" + "Allow username autocompletion to users within the same groups" : "Consenti il completamento del nome utente agli utenti degli stessi gruppi" },"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" }
\ No newline at end of file diff --git a/apps/settings/l10n/ja.js b/apps/settings/l10n/ja.js index 81dcd2de523..5d65b3ec70a 100644 --- a/apps/settings/l10n/ja.js +++ b/apps/settings/l10n/ja.js @@ -309,7 +309,6 @@ OC.L10N.register( "Week starts on {firstDayOfWeek}" : "週の始まりは{firstDayOfWeek}です。", "Unable to update locale" : "ロケールを更新できませんでした", "No locale set" : "ロケールは未設定", - "Your location" : "位置情報", "Your organisation" : "あなたの組織", "Your phone number" : "あなたの電話番号", "Edit your Profile visibility" : "プロフィールの公開範囲を変更", @@ -327,6 +326,20 @@ OC.L10N.register( "Unable to update federation scope of additional {property}" : "追加の{property}のフェデレーションスコープを更新できませんでした", "Add additional email" : "その他メールアドレスを追加", "Add" : "追加", + "Display name" : "表示名", + "Email" : "メール", + "Group admin for" : "グループの管理者", + "Quota" : "クオータ", + "User backend" : "ユーザーバックエンド", + "Storage location" : "データの保存場所", + "Last login" : "最終ログイン", + "No users in here" : "ここにはユーザーがありません", + "Default quota" : "デフォルトのクオータ", + "Default language" : "デフォルトの言語", + "Common languages" : "共通言語", + "Other languages" : "他の言語", + "Password change is disabled because the master key is disabled" : "マスターキーが無効になっているため、パスワードの変更は無効です", + "New user" : "新しいユーザー", "You do not have permissions to see the details of this user" : "このユーザーの詳細を表示する権限がありません", "Add new password" : "新しいパスワードを追加する", "Add new email address" : "新しいメールアドレスを追加する", @@ -348,22 +361,6 @@ OC.L10N.register( "Welcome mail sent!" : "ウェルカムメールを送信しました!", "Edit User" : "ユーザーを編集する", "{size} used" : "{size} を使用中", - "New user" : "新しいユーザー", - "Will be autogenerated" : "自動生成されます", - "Display name" : "表示名", - "Email" : "メール", - "Default language" : "デフォルトの言語", - "Add a new user" : "新しいユーザーを追加", - "Group admin for" : "グループの管理者", - "Quota" : "クオータ", - "User backend" : "ユーザーバックエンド", - "Storage location" : "データの保存場所", - "Last login" : "最終ログイン", - "No users in here" : "ここにはユーザーがありません", - "Default quota" : "デフォルトのクオータ", - "Common languages" : "共通言語", - "Other languages" : "他の言語", - "Password change is disabled because the master key is disabled" : "マスターキーが無効になっているため、パスワードの変更は無効です", "Passwordless authentication requires a secure connection." : "パスワードレス認証では、安全な接続が必要です。", "Add WebAuthn device" : "WebAuthn デバイスの追加", "Please authorize your WebAuthn device." : "WebAuthn デバイスを認証してください。", @@ -388,7 +385,6 @@ OC.L10N.register( "Disabled users" : "無効なユーザー", "Default quota:" : "デフォルトのクオータ:", "Select default quota" : "デフォルトのクオータを選択", - "Show Languages" : "言語を表示", "Show last login" : "最終ログインを表示", "Show user backend" : "ユーザーバックエンドを表示", "Show storage path" : "ストレージの場所を表示", @@ -432,7 +428,7 @@ OC.L10N.register( "Documentation" : "ドキュメント", "Forum" : "フォーラム", "Login" : "ログイン", - "SSL/TLS" : "SSL/TLS", + "SSL" : "SSL", "Open documentation" : "ドキュメントを開く", "It is important to set up this server to be able to send emails, like for password reset and notifications." : "パスワードのリセットや通知などのメールを送信できるよう、このサーバーを設定することが重要です。", "Send mode" : "送信モード", @@ -441,7 +437,7 @@ OC.L10N.register( "From address" : "送信元アドレス", "Server address" : "サーバーアドレス", "Port" : "ポート", - "Authentication method" : "認証方法", + "Authentication" : "認証", "Authentication required" : "認証を必要とする", "Credentials" : "資格情報", "SMTP Username" : "SMTPユーザー名", @@ -497,11 +493,16 @@ OC.L10N.register( "An administrator created app password \"{token}\"" : "管理者がアプリパスワード\"{token}\"を作成しました", "Choose profile picture from files" : "ファイルからプロフィール画像を選択", "png or jpg, max. 20 MB" : "pngまたはjpg。最大20MB", + "Your location" : "位置情報", + "Will be autogenerated" : "自動生成されます", + "Add a new user" : "新しいユーザーを追加", + "Show Languages" : "言語を表示", "Plain" : "平文", "NT LAN Manager" : "NT LAN マネージャー", + "SSL/TLS" : "SSL/TLS", "STARTTLS" : "STARTTLS", + "Authentication method" : "認証方法", "Allow username autocompletion in share dialog" : "共有ダイアログでユーザー名を自動補完する", - "Allow username autocompletion to users within the same groups" : "同じグループ内のユーザーのみユーザー名を自動補完する", - "Avatar" : "アバター" + "Allow username autocompletion to users within the same groups" : "同じグループ内のユーザーのみユーザー名を自動補完する" }, "nplurals=1; plural=0;"); diff --git a/apps/settings/l10n/ja.json b/apps/settings/l10n/ja.json index d332b9104a7..f8c81e87395 100644 --- a/apps/settings/l10n/ja.json +++ b/apps/settings/l10n/ja.json @@ -307,7 +307,6 @@ "Week starts on {firstDayOfWeek}" : "週の始まりは{firstDayOfWeek}です。", "Unable to update locale" : "ロケールを更新できませんでした", "No locale set" : "ロケールは未設定", - "Your location" : "位置情報", "Your organisation" : "あなたの組織", "Your phone number" : "あなたの電話番号", "Edit your Profile visibility" : "プロフィールの公開範囲を変更", @@ -325,6 +324,20 @@ "Unable to update federation scope of additional {property}" : "追加の{property}のフェデレーションスコープを更新できませんでした", "Add additional email" : "その他メールアドレスを追加", "Add" : "追加", + "Display name" : "表示名", + "Email" : "メール", + "Group admin for" : "グループの管理者", + "Quota" : "クオータ", + "User backend" : "ユーザーバックエンド", + "Storage location" : "データの保存場所", + "Last login" : "最終ログイン", + "No users in here" : "ここにはユーザーがありません", + "Default quota" : "デフォルトのクオータ", + "Default language" : "デフォルトの言語", + "Common languages" : "共通言語", + "Other languages" : "他の言語", + "Password change is disabled because the master key is disabled" : "マスターキーが無効になっているため、パスワードの変更は無効です", + "New user" : "新しいユーザー", "You do not have permissions to see the details of this user" : "このユーザーの詳細を表示する権限がありません", "Add new password" : "新しいパスワードを追加する", "Add new email address" : "新しいメールアドレスを追加する", @@ -346,22 +359,6 @@ "Welcome mail sent!" : "ウェルカムメールを送信しました!", "Edit User" : "ユーザーを編集する", "{size} used" : "{size} を使用中", - "New user" : "新しいユーザー", - "Will be autogenerated" : "自動生成されます", - "Display name" : "表示名", - "Email" : "メール", - "Default language" : "デフォルトの言語", - "Add a new user" : "新しいユーザーを追加", - "Group admin for" : "グループの管理者", - "Quota" : "クオータ", - "User backend" : "ユーザーバックエンド", - "Storage location" : "データの保存場所", - "Last login" : "最終ログイン", - "No users in here" : "ここにはユーザーがありません", - "Default quota" : "デフォルトのクオータ", - "Common languages" : "共通言語", - "Other languages" : "他の言語", - "Password change is disabled because the master key is disabled" : "マスターキーが無効になっているため、パスワードの変更は無効です", "Passwordless authentication requires a secure connection." : "パスワードレス認証では、安全な接続が必要です。", "Add WebAuthn device" : "WebAuthn デバイスの追加", "Please authorize your WebAuthn device." : "WebAuthn デバイスを認証してください。", @@ -386,7 +383,6 @@ "Disabled users" : "無効なユーザー", "Default quota:" : "デフォルトのクオータ:", "Select default quota" : "デフォルトのクオータを選択", - "Show Languages" : "言語を表示", "Show last login" : "最終ログインを表示", "Show user backend" : "ユーザーバックエンドを表示", "Show storage path" : "ストレージの場所を表示", @@ -430,7 +426,7 @@ "Documentation" : "ドキュメント", "Forum" : "フォーラム", "Login" : "ログイン", - "SSL/TLS" : "SSL/TLS", + "SSL" : "SSL", "Open documentation" : "ドキュメントを開く", "It is important to set up this server to be able to send emails, like for password reset and notifications." : "パスワードのリセットや通知などのメールを送信できるよう、このサーバーを設定することが重要です。", "Send mode" : "送信モード", @@ -439,7 +435,7 @@ "From address" : "送信元アドレス", "Server address" : "サーバーアドレス", "Port" : "ポート", - "Authentication method" : "認証方法", + "Authentication" : "認証", "Authentication required" : "認証を必要とする", "Credentials" : "資格情報", "SMTP Username" : "SMTPユーザー名", @@ -495,11 +491,16 @@ "An administrator created app password \"{token}\"" : "管理者がアプリパスワード\"{token}\"を作成しました", "Choose profile picture from files" : "ファイルからプロフィール画像を選択", "png or jpg, max. 20 MB" : "pngまたはjpg。最大20MB", + "Your location" : "位置情報", + "Will be autogenerated" : "自動生成されます", + "Add a new user" : "新しいユーザーを追加", + "Show Languages" : "言語を表示", "Plain" : "平文", "NT LAN Manager" : "NT LAN マネージャー", + "SSL/TLS" : "SSL/TLS", "STARTTLS" : "STARTTLS", + "Authentication method" : "認証方法", "Allow username autocompletion in share dialog" : "共有ダイアログでユーザー名を自動補完する", - "Allow username autocompletion to users within the same groups" : "同じグループ内のユーザーのみユーザー名を自動補完する", - "Avatar" : "アバター" + "Allow username autocompletion to users within the same groups" : "同じグループ内のユーザーのみユーザー名を自動補完する" },"pluralForm" :"nplurals=1; plural=0;" }
\ No newline at end of file diff --git a/apps/settings/l10n/ka_GE.js b/apps/settings/l10n/ka_GE.js index 1b0e1d664a4..e7f8219b2a3 100644 --- a/apps/settings/l10n/ka_GE.js +++ b/apps/settings/l10n/ka_GE.js @@ -156,7 +156,6 @@ OC.L10N.register( "Your Twitter handle" : "თქვენი Twitter-is @…", "Your website" : "თქვენი ვებ-საიტი", "Add" : "დამატება", - "{size} used" : "მოხმარებულია {size}", "Display name" : "დისპლეი სახელი", "Email" : "ელ-ფოსტა", "Group admin for" : "ადმინისტრატორის შეჯგუფება", @@ -165,6 +164,7 @@ OC.L10N.register( "Storage location" : "საცავის ადგილმდებარეობა", "Last login" : "ბოლო ავტორიზაცია", "Default quota" : "საწყისი კვოტა", + "{size} used" : "მოხმარებულია {size}", "Unnamed device" : "უსახელო მოწყობილობა", "Your apps" : "თქვენი აპლიკაციები", "Changelog" : "ცვლილებების ლოგი", @@ -193,7 +193,7 @@ OC.L10N.register( "Documentation" : "დოკუმენტაცია", "Forum" : "ფორუმი", "Login" : "ლოგინი", - "SSL/TLS" : "SSL/TLS", + "SSL" : "SSL", "Open documentation" : "ღია დოკუმენტაცია", "It is important to set up this server to be able to send emails, like for password reset and notifications." : "ამ სერვერის მოწყობა ელ-წერილების გასაგზვნად მნიშვნელოვანია, მაგ. პაროლის აღსადგენად და შეტყობინებების მისაღებად.", "Send mode" : "გაგზავნის რეჟიმი", @@ -201,7 +201,7 @@ OC.L10N.register( "From address" : "მისამართიდან", "Server address" : "სერვერის მისამართი", "Port" : "პორტი", - "Authentication method" : "აუტენტიფიკაციის მეთოდი", + "Authentication" : "აუტენტიფიკაცია", "Authentication required" : "აუტენტიფიკაცია საჭიროებს", "Credentials" : "უფლებამოსილებანი", "SMTP Username" : "SMTP მოხმარებლის სახელი", @@ -232,7 +232,8 @@ OC.L10N.register( "png or jpg, max. 20 MB" : "png ან jpg, მაქს. 20 მბ", "Plain" : "ჩვეულებრივი", "NT LAN Manager" : "NT LAN მენეჯერი", + "SSL/TLS" : "SSL/TLS", "STARTTLS" : "STARTTLS", - "Avatar" : "ავატარი" + "Authentication method" : "აუტენტიფიკაციის მეთოდი" }, "nplurals=2; plural=(n!=1);"); diff --git a/apps/settings/l10n/ka_GE.json b/apps/settings/l10n/ka_GE.json index ab8542bf71f..0fe2f3890e4 100644 --- a/apps/settings/l10n/ka_GE.json +++ b/apps/settings/l10n/ka_GE.json @@ -154,7 +154,6 @@ "Your Twitter handle" : "თქვენი Twitter-is @…", "Your website" : "თქვენი ვებ-საიტი", "Add" : "დამატება", - "{size} used" : "მოხმარებულია {size}", "Display name" : "დისპლეი სახელი", "Email" : "ელ-ფოსტა", "Group admin for" : "ადმინისტრატორის შეჯგუფება", @@ -163,6 +162,7 @@ "Storage location" : "საცავის ადგილმდებარეობა", "Last login" : "ბოლო ავტორიზაცია", "Default quota" : "საწყისი კვოტა", + "{size} used" : "მოხმარებულია {size}", "Unnamed device" : "უსახელო მოწყობილობა", "Your apps" : "თქვენი აპლიკაციები", "Changelog" : "ცვლილებების ლოგი", @@ -191,7 +191,7 @@ "Documentation" : "დოკუმენტაცია", "Forum" : "ფორუმი", "Login" : "ლოგინი", - "SSL/TLS" : "SSL/TLS", + "SSL" : "SSL", "Open documentation" : "ღია დოკუმენტაცია", "It is important to set up this server to be able to send emails, like for password reset and notifications." : "ამ სერვერის მოწყობა ელ-წერილების გასაგზვნად მნიშვნელოვანია, მაგ. პაროლის აღსადგენად და შეტყობინებების მისაღებად.", "Send mode" : "გაგზავნის რეჟიმი", @@ -199,7 +199,7 @@ "From address" : "მისამართიდან", "Server address" : "სერვერის მისამართი", "Port" : "პორტი", - "Authentication method" : "აუტენტიფიკაციის მეთოდი", + "Authentication" : "აუტენტიფიკაცია", "Authentication required" : "აუტენტიფიკაცია საჭიროებს", "Credentials" : "უფლებამოსილებანი", "SMTP Username" : "SMTP მოხმარებლის სახელი", @@ -230,7 +230,8 @@ "png or jpg, max. 20 MB" : "png ან jpg, მაქს. 20 მბ", "Plain" : "ჩვეულებრივი", "NT LAN Manager" : "NT LAN მენეჯერი", + "SSL/TLS" : "SSL/TLS", "STARTTLS" : "STARTTLS", - "Avatar" : "ავატარი" + "Authentication method" : "აუტენტიფიკაციის მეთოდი" },"pluralForm" :"nplurals=2; plural=(n!=1);" }
\ No newline at end of file diff --git a/apps/settings/l10n/ko.js b/apps/settings/l10n/ko.js index 2c110478ebc..072f372cc92 100644 --- a/apps/settings/l10n/ko.js +++ b/apps/settings/l10n/ko.js @@ -34,7 +34,7 @@ OC.L10N.register( "{actor} changed your password" : "{actor} 님이 내 암호를 변경함", "You changed your password" : "내 암호를 변경함", "Your password was reset by an administrator" : "관리자가 내 암호를 초기화함", - "Your password was reset" : "비밀번호가 재설정 되었습니다", + "Your password was reset" : "암호가 재설정 되었습니다.", "{actor} changed your email address" : "{actor} 님이 내 이메일 주소를 변경함", "You changed your email address" : "내 이메일 주소를 변경함", "Your email address was changed by an administrator" : "관리자가 내 이메일 주소를 변경함", @@ -122,7 +122,7 @@ OC.L10N.register( "Overview" : "개요", "Basic settings" : "기본 설정", "Sharing" : "공유", - "Availability" : "가능한 시간대", + "Availability" : "가용성", "Calendar" : "달력", "Personal info" : "개인 정보", "Mobile & desktop" : "모바일 & 데스크톱", @@ -147,9 +147,9 @@ OC.L10N.register( "Nextcloud settings" : "Nextcloud 환경설정", "Here you can decide which group can access certain sections of the administration settings." : "이곳에서 각 설정 메뉴별로 해당 메뉴에 접근 가능한 그룹을 지정할 수 있습니다.", "None" : "없음", - "Unable to modify setting" : "설정을 수정할 수 없습니다", + "Unable to modify setting" : "설정을 수정할 수 없습니다.", "Two-Factor Authentication" : "2단계 인증", - "Two-factor authentication can be enforced for all users and specific groups. If they do not have a two-factor provider configured, they will be unable to log into the system." : "2단계 인증을 모든 유저 또는 특정 그룹에 강제할 수 있습니다. 만약 대상자가 2단계 인증 공급자를 설정하지 않았다면, 대상자는 시스템에 접근할 수 없게 될 것입니다.", + "Two-factor authentication can be enforced for all users and specific groups. If they do not have a two-factor provider configured, they will be unable to log into the system." : "2단계 인증을 모든 사용자 또는 특정 그룹에 강제할 수 있습니다. 만약 대상자가 2단계 인증 공급자를 설정하지 않았다면, 대상자는 시스템에 접근할 수 없게 될 것입니다.", "Enforce two-factor authentication" : "2단계 인증 강제하기", "Limit to groups" : "그룹으로 제한", "Enforcement of two-factor authentication can be set for certain groups only." : "2단계 인증 강제는 특정 그룹에게만 적용됩니다.", @@ -157,7 +157,7 @@ OC.L10N.register( "Enforced groups" : "강제된 그룹", "Two-factor authentication is not enforced for members of the following groups." : "2단계 인증이 강제되지 않은 그룹은 다음과 같습니다.", "Excluded groups" : "제외된 그룹", - "When groups are selected/excluded, they use the following logic to determine if a user has 2FA enforced: If no groups are selected, 2FA is enabled for everyone except members of the excluded groups. If groups are selected, 2FA is enabled for all members of these. If a user is both in a selected and excluded group, the selected takes precedence and 2FA is enforced." : "그룹이 선택되거나 제외되었을 때, 다음과 같은 상황을 고려할 수 있습니다. 만약 2단계 인증이 강제되었고, 아무런 그룹이 선택되지 않았다면 제외된 그룹의 멤버를 제외하고 모든 유저에게 2단계 인증이 강제됩니다. 만약 그룹이 선택되었다면 그룹 안의 모든 멤버에게 2단계 인증이 강제됩니다. 만약 유저가 선택된 그룹과 제외된 그룹에 동시에 속해있다면, 선택된 그룹이 우선되며 2단계 인증이 강제됩니다.", + "When groups are selected/excluded, they use the following logic to determine if a user has 2FA enforced: If no groups are selected, 2FA is enabled for everyone except members of the excluded groups. If groups are selected, 2FA is enabled for all members of these. If a user is both in a selected and excluded group, the selected takes precedence and 2FA is enforced." : "그룹을 선택 또는 제외할 때, 이들의 2단계 인증 강제 여부는 다음과 같은 로직을 따릅니다: 만약 2단계 인증이 강제되었고, 아무런 그룹이 선택되지 않았다면 제외된 그룹의 멤버를 제외하고 모든 사용자에게 2단계 인증이 강제됩니다. 만약 그룹이 선택되었다면 그룹 안의 모든 멤버에게 2단계 인증이 강제됩니다. 만약 사용자가 선택된 그룹과 제외된 그룹에 동시에 속해 있다면, 선택된 그룹이 우선되며 2단계 인증이 강제됩니다.", "Save changes" : "변경 사항 저장", "All" : "모두", "Limit app usage to groups" : "앱 사용을 그룹으로 제한합니다.", @@ -216,10 +216,10 @@ OC.L10N.register( "Username" : "사용자 이름", "Password" : "암호", "Done" : "완료", - "Show QR code for mobile apps" : "모바일 앱을 위한 QR코드를 보여주십시오", + "Show QR code for mobile apps" : "모바일 앱을 위한 QR코드를 보여주세요.", "Copied!" : "복사 성공!", "Copy" : "복사", - "Could not copy app password. Please copy it manually." : "앱 비밀번호를 복사할 수 없습니다. 직접 옮겨 적으십시오.", + "Could not copy app password. Please copy it manually." : "앱 암호를 복사할 수 없습니다. 수동으로 복사해 주세요.", "For the server to work properly, it's important to configure background jobs correctly. Cron is the recommended setting. Please see the documentation for more information." : "서버가 적절하게 동작하기 위해 백그라운드 작업을 올바르게 설정하는 것이 중요합니다. Cron으로 설정하는 것을 권장합니다. 더 많은 정보는 문서를 참조하십시오.", "Last job execution ran {time}. Something seems wrong." : "마지막 작업이 {time}에 실행되었습니다. 무언가 잘못된 것 같습니다.", "Last job ran {relativeTime}." : "마지막 작업이 {relativeTime}에 실행되었음", @@ -238,7 +238,7 @@ OC.L10N.register( "Server-side encryption" : "서버 측 암호화", "Server-side encryption makes it possible to encrypt files which are uploaded to this server. This comes with limitations like a performance penalty, so enable this only if needed." : "서버 측 암호화를 사용하면 이 서버에 업로드되는 파일을 암호화할 수 있습니다. 성능 감소 등 제약 사항이 있으므로 필요한 경우에만 사용하십시오.", "Enable server-side encryption" : "서버 측 암호화 사용", - "Please read carefully before activating server-side encryption:" : "서버 측 암호화를 활성화하기 전에 읽어 보십시오:", + "Please read carefully before activating server-side encryption:" : "서버 측 암호화를 활성화하기 전에 읽어 보세요:", "Once encryption is enabled, all files uploaded to the server from that point forward will be encrypted at rest on the server. It will only be possible to disable encryption at a later date if the active encryption module supports that function, and all pre-conditions (e.g. setting a recover key) are met." : "암호화를 사용하면, 사용하기 시작한 시간 이후에 서버에 업로드된 모든 파일이 암호화됩니다. 나중에 암호화를 사용하지 않으려면 사용하고 있는 암호화 모듈에서 비활성화를 지원해야 하고 모든 사전 조건(예: 복구 키 설정)을 만족해야 합니다.", "Encryption alone does not guarantee security of the system. Please see documentation for more information about how the encryption app works, and the supported use cases." : "암호화만으로 시스템의 보안을 보장할 수 없습니다. 암호화 응용 프로그램 작동 방식 및 지원되는 사용 사례에 대한 자세한 내용은 설명서를 참조하십시오.", "Be aware that encryption always increases the file size." : "암호화된 파일의 크기는 항상 커집니다.", @@ -255,6 +255,7 @@ OC.L10N.register( "Current password" : "현재 암호", "New password" : "새 암호", "Change password" : "암호 변경", + "The file must be a PNG or JPG" : "파일은 PNG 또는 JPG여야 합니다.", "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시간이 걸릴 수 있습니다.", @@ -287,7 +288,6 @@ OC.L10N.register( "No language set" : "언어가 설정되지 않음", "Locale" : "지역", "Week starts on {firstDayOfWeek}" : "일주일이 {firstDayOfWeek}에 시작함", - "Your location" : "내 위치", "Your organisation" : "내 조직", "Your phone number" : "내 휴대폰 번호", "Edit your Profile visibility" : "프로필 표시 여부 편집", @@ -300,16 +300,30 @@ OC.L10N.register( "Your website" : "내 웹 사이트", "Add additional email" : "추가 이메일 추가", "Add" : "추가", - "You do not have permissions to see the details of this user" : "사용자의 상세정보를 볼 권한이 없습니다", - "Add new password" : "새로운 비밀번호를 입력하시오", + "Display name" : "표시 이름", + "Email" : "이메일", + "Group admin for" : "다음 그룹의 관리자:", + "Quota" : "할당량", + "User backend" : "사용자 백엔드", + "Storage location" : "저장소 위치", + "Last login" : "마지막 로그인", + "No users in here" : "사용자가 이곳에 없습니다.", + "Default quota" : "기본 할당량", + "Default language" : "기본 언어", + "Common languages" : "공통 언어", + "Other languages" : "다른 언어", + "Password change is disabled because the master key is disabled" : "마스터 키가 비활성화 되어 암호 변경이 비활성화 됨", + "New user" : "새 사용자", + "You do not have permissions to see the details of this user" : "사용자의 상세정보를 볼 권한이 없습니다.", + "Add new password" : "새로운 암호 입력", "Add new email address" : "새로운 이메일 추가하기", "Add user to group" : "사용자를 그룹에 추가", "Set user as admin for" : "사용자를 다음에 대한 관리자로 설정", "Select user quota" : "사용자 할당량 선택", - "Delete user" : "유저 지우기", + "Delete user" : "사용자 지우기", "Wipe all devices" : "모든 기기 지우기", - "Disable user" : "유저 비활성화하기", - "Enable user" : "유저 활성화하기", + "Disable user" : "사용자 비활성화하기", + "Enable user" : "사용자 활성화하기", "Resend welcome email" : "환영 메일 다시 보내기", "In case of lost device or exiting the organization, this can remotely wipe the Nextcloud data from all devices associated with {userid}. Only works if the devices are connected to the internet." : "기기를 분실했거나 조직에서 이탈할 경우, 이를 통해 모든 기기에 있는 {userid} 관련 Nextcloud 데이터를 원격으로 삭제할 수 있습니다. 해당 기기들이 인터넷에 연결된 경우에 한하여 작동합니다.", "Remote wipe of devices" : "기기 원격 제거", @@ -320,22 +334,6 @@ OC.L10N.register( "Welcome mail sent!" : "환영 메일을 보냈습니다!", "Edit User" : "사용자 편집", "{size} used" : "{size} 사용됨", - "New user" : "새 사용자", - "Will be autogenerated" : "자동으로 생성될 것임", - "Display name" : "표시 이름", - "Email" : "이메일", - "Default language" : "기본 언어", - "Add a new user" : "새 사용자 추가", - "Group admin for" : "다음 그룹의 관리자:", - "Quota" : "할당량", - "User backend" : "사용자 백엔드", - "Storage location" : "저장소 위치", - "Last login" : "마지막 로그인", - "No users in here" : "사용자가 이곳에 없습니다.", - "Default quota" : "기본 할당량", - "Common languages" : "공통 언어", - "Other languages" : "다른 언어", - "Password change is disabled because the master key is disabled" : "마스터 키가 비활성화 되어 암호 변경이 비활성화 됨", "Passwordless authentication requires a secure connection." : "무암호 인증을 위해 보안 연결이 필요합니다.", "Add WebAuthn device" : "WebAuthn 기기 추가", "Please authorize your WebAuthn device." : "내 WebAuthn 기기를 인증하십시오.", @@ -345,7 +343,7 @@ OC.L10N.register( "Server error while trying to complete WebAuthn device registration" : "WebAuthn 기기 등록을 마치는 중 오류 발생", "Unnamed device" : "이름 없는 장치", "Passwordless Authentication" : "무암호 인증", - "Set up your account for passwordless authentication following the FIDO2 standard." : "FIDO2 기준을 준수하여 계정에 무암호 인증을 설정하십시오", + "Set up your account for passwordless authentication following the FIDO2 standard." : "FIDO2 기준을 준수하여 계정에 무암호 인증을 설정하세요.", "No devices configured." : "설정된 기기가 없습니다.", "The following devices are configured for your account:" : "다음의 기기가 계정에 설정되었습니다:", "Your browser does not support WebAuthn." : "WebAuthn이 현재 브라우저를 지원하지 않습니다.", @@ -356,10 +354,9 @@ OC.L10N.register( "Add group" : "그룹 추가", "Active users" : "활성 사용자", "Admins" : "관리자", - "Disabled users" : "비활성화된 유저", + "Disabled users" : "비활성화된 사용자", "Default quota:" : "기본 할당량:", "Select default quota" : "기본 할당량 설정", - "Show Languages" : "언어 보이기", "Show last login" : "마지막 로그인 보이기", "Show user backend" : "사용자 백엔드 보이기", "Show storage path" : "스토리지 경로 보이기", @@ -389,17 +386,17 @@ OC.L10N.register( "Hide" : "비공개", "Download and enable" : "다운로드 및 활성화", "Enable untested app" : "미시험 앱 활성화", - "The app will be downloaded from the App Store" : "이 앱이 앱 스토어에서 다운로드됩니다", + "The app will be downloaded from the App Store" : "이 앱이 앱 스토어에서 다운로드됩니다.", "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." : "이 앱은 현재 Nextcloud 버젼과 호환되지 않습니다. 이 앱을 설치하면, 제대로 작동하지 않을 수 있습니다.", "Never" : "하지 않음", "An error occurred during the request. Unable to proceed." : "요청을 보내는 도중 에러가 발생하였습니다. 더 이상 진행할 수 없습니다.", "The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "앱이 활성화되었지만, 앱을 업데이트해야 합니다. 5초 후 앱 업데이트 페이지로 넘어갑니다.", - "Error: This app cannot be enabled because it makes the server unstable" : "오류: 이 앱은 서버를 불안정하게 만들 수 있어서 활성화할 수 없습니다", + "Error: This app cannot be enabled because it makes the server unstable" : "오류: 이 앱은 서버를 불안정하게 만들 수 있어서 활성화할 수 없습니다.", "There were too many requests from your network. Retry later or contact your administrator if this is an error." : "이 네트워크에 너무 요청이 많습니다. 나중에 다시 시도하십시오. 이것이 오류일 경우 관리자에게 문의하십시오.", "Documentation" : "문서", "Forum" : "포럼", "Login" : "로그인", - "SSL/TLS" : "SSL/TLS", + "SSL" : "SSL", "Open documentation" : "문서 열기", "It is important to set up this server to be able to send emails, like for password reset and notifications." : "암호 초기화 및 알림 이메일을 보내려면 이메일 서버를 설정해야 합니다.", "Send mode" : "보내기 모드", @@ -408,7 +405,7 @@ OC.L10N.register( "From address" : "보낸 사람 주소", "Server address" : "서버 주소", "Port" : "포트", - "Authentication method" : "인증 방법", + "Authentication" : "인증", "Authentication required" : "인증 필요함", "Credentials" : "인증 정보", "SMTP Username" : "SMTP 사용자 이름", @@ -456,9 +453,14 @@ OC.L10N.register( "You created app password \"{token}\"" : "앱 패스워드 \"{token}\"이 생성되었습니다.", "An administrator created app password \"{token}\"" : "관리자가 앱 패스워드 \"{token}\"을(를) 생성함", "png or jpg, max. 20 MB" : "PNG, JPG, 최대 20MB", + "Your location" : "내 위치", + "Will be autogenerated" : "자동으로 생성될 것임", + "Add a new user" : "새 사용자 추가", + "Show Languages" : "언어 보이기", "Plain" : "일반", "NT LAN Manager" : "NT LAN 관리자", + "SSL/TLS" : "SSL/TLS", "STARTTLS" : "STARTTLS", - "Avatar" : "아바타" + "Authentication method" : "인증 방법" }, "nplurals=1; plural=0;"); diff --git a/apps/settings/l10n/ko.json b/apps/settings/l10n/ko.json index 554d228786e..31fd51b359a 100644 --- a/apps/settings/l10n/ko.json +++ b/apps/settings/l10n/ko.json @@ -32,7 +32,7 @@ "{actor} changed your password" : "{actor} 님이 내 암호를 변경함", "You changed your password" : "내 암호를 변경함", "Your password was reset by an administrator" : "관리자가 내 암호를 초기화함", - "Your password was reset" : "비밀번호가 재설정 되었습니다", + "Your password was reset" : "암호가 재설정 되었습니다.", "{actor} changed your email address" : "{actor} 님이 내 이메일 주소를 변경함", "You changed your email address" : "내 이메일 주소를 변경함", "Your email address was changed by an administrator" : "관리자가 내 이메일 주소를 변경함", @@ -120,7 +120,7 @@ "Overview" : "개요", "Basic settings" : "기본 설정", "Sharing" : "공유", - "Availability" : "가능한 시간대", + "Availability" : "가용성", "Calendar" : "달력", "Personal info" : "개인 정보", "Mobile & desktop" : "모바일 & 데스크톱", @@ -145,9 +145,9 @@ "Nextcloud settings" : "Nextcloud 환경설정", "Here you can decide which group can access certain sections of the administration settings." : "이곳에서 각 설정 메뉴별로 해당 메뉴에 접근 가능한 그룹을 지정할 수 있습니다.", "None" : "없음", - "Unable to modify setting" : "설정을 수정할 수 없습니다", + "Unable to modify setting" : "설정을 수정할 수 없습니다.", "Two-Factor Authentication" : "2단계 인증", - "Two-factor authentication can be enforced for all users and specific groups. If they do not have a two-factor provider configured, they will be unable to log into the system." : "2단계 인증을 모든 유저 또는 특정 그룹에 강제할 수 있습니다. 만약 대상자가 2단계 인증 공급자를 설정하지 않았다면, 대상자는 시스템에 접근할 수 없게 될 것입니다.", + "Two-factor authentication can be enforced for all users and specific groups. If they do not have a two-factor provider configured, they will be unable to log into the system." : "2단계 인증을 모든 사용자 또는 특정 그룹에 강제할 수 있습니다. 만약 대상자가 2단계 인증 공급자를 설정하지 않았다면, 대상자는 시스템에 접근할 수 없게 될 것입니다.", "Enforce two-factor authentication" : "2단계 인증 강제하기", "Limit to groups" : "그룹으로 제한", "Enforcement of two-factor authentication can be set for certain groups only." : "2단계 인증 강제는 특정 그룹에게만 적용됩니다.", @@ -155,7 +155,7 @@ "Enforced groups" : "강제된 그룹", "Two-factor authentication is not enforced for members of the following groups." : "2단계 인증이 강제되지 않은 그룹은 다음과 같습니다.", "Excluded groups" : "제외된 그룹", - "When groups are selected/excluded, they use the following logic to determine if a user has 2FA enforced: If no groups are selected, 2FA is enabled for everyone except members of the excluded groups. If groups are selected, 2FA is enabled for all members of these. If a user is both in a selected and excluded group, the selected takes precedence and 2FA is enforced." : "그룹이 선택되거나 제외되었을 때, 다음과 같은 상황을 고려할 수 있습니다. 만약 2단계 인증이 강제되었고, 아무런 그룹이 선택되지 않았다면 제외된 그룹의 멤버를 제외하고 모든 유저에게 2단계 인증이 강제됩니다. 만약 그룹이 선택되었다면 그룹 안의 모든 멤버에게 2단계 인증이 강제됩니다. 만약 유저가 선택된 그룹과 제외된 그룹에 동시에 속해있다면, 선택된 그룹이 우선되며 2단계 인증이 강제됩니다.", + "When groups are selected/excluded, they use the following logic to determine if a user has 2FA enforced: If no groups are selected, 2FA is enabled for everyone except members of the excluded groups. If groups are selected, 2FA is enabled for all members of these. If a user is both in a selected and excluded group, the selected takes precedence and 2FA is enforced." : "그룹을 선택 또는 제외할 때, 이들의 2단계 인증 강제 여부는 다음과 같은 로직을 따릅니다: 만약 2단계 인증이 강제되었고, 아무런 그룹이 선택되지 않았다면 제외된 그룹의 멤버를 제외하고 모든 사용자에게 2단계 인증이 강제됩니다. 만약 그룹이 선택되었다면 그룹 안의 모든 멤버에게 2단계 인증이 강제됩니다. 만약 사용자가 선택된 그룹과 제외된 그룹에 동시에 속해 있다면, 선택된 그룹이 우선되며 2단계 인증이 강제됩니다.", "Save changes" : "변경 사항 저장", "All" : "모두", "Limit app usage to groups" : "앱 사용을 그룹으로 제한합니다.", @@ -214,10 +214,10 @@ "Username" : "사용자 이름", "Password" : "암호", "Done" : "완료", - "Show QR code for mobile apps" : "모바일 앱을 위한 QR코드를 보여주십시오", + "Show QR code for mobile apps" : "모바일 앱을 위한 QR코드를 보여주세요.", "Copied!" : "복사 성공!", "Copy" : "복사", - "Could not copy app password. Please copy it manually." : "앱 비밀번호를 복사할 수 없습니다. 직접 옮겨 적으십시오.", + "Could not copy app password. Please copy it manually." : "앱 암호를 복사할 수 없습니다. 수동으로 복사해 주세요.", "For the server to work properly, it's important to configure background jobs correctly. Cron is the recommended setting. Please see the documentation for more information." : "서버가 적절하게 동작하기 위해 백그라운드 작업을 올바르게 설정하는 것이 중요합니다. Cron으로 설정하는 것을 권장합니다. 더 많은 정보는 문서를 참조하십시오.", "Last job execution ran {time}. Something seems wrong." : "마지막 작업이 {time}에 실행되었습니다. 무언가 잘못된 것 같습니다.", "Last job ran {relativeTime}." : "마지막 작업이 {relativeTime}에 실행되었음", @@ -236,7 +236,7 @@ "Server-side encryption" : "서버 측 암호화", "Server-side encryption makes it possible to encrypt files which are uploaded to this server. This comes with limitations like a performance penalty, so enable this only if needed." : "서버 측 암호화를 사용하면 이 서버에 업로드되는 파일을 암호화할 수 있습니다. 성능 감소 등 제약 사항이 있으므로 필요한 경우에만 사용하십시오.", "Enable server-side encryption" : "서버 측 암호화 사용", - "Please read carefully before activating server-side encryption:" : "서버 측 암호화를 활성화하기 전에 읽어 보십시오:", + "Please read carefully before activating server-side encryption:" : "서버 측 암호화를 활성화하기 전에 읽어 보세요:", "Once encryption is enabled, all files uploaded to the server from that point forward will be encrypted at rest on the server. It will only be possible to disable encryption at a later date if the active encryption module supports that function, and all pre-conditions (e.g. setting a recover key) are met." : "암호화를 사용하면, 사용하기 시작한 시간 이후에 서버에 업로드된 모든 파일이 암호화됩니다. 나중에 암호화를 사용하지 않으려면 사용하고 있는 암호화 모듈에서 비활성화를 지원해야 하고 모든 사전 조건(예: 복구 키 설정)을 만족해야 합니다.", "Encryption alone does not guarantee security of the system. Please see documentation for more information about how the encryption app works, and the supported use cases." : "암호화만으로 시스템의 보안을 보장할 수 없습니다. 암호화 응용 프로그램 작동 방식 및 지원되는 사용 사례에 대한 자세한 내용은 설명서를 참조하십시오.", "Be aware that encryption always increases the file size." : "암호화된 파일의 크기는 항상 커집니다.", @@ -253,6 +253,7 @@ "Current password" : "현재 암호", "New password" : "새 암호", "Change password" : "암호 변경", + "The file must be a PNG or JPG" : "파일은 PNG 또는 JPG여야 합니다.", "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시간이 걸릴 수 있습니다.", @@ -285,7 +286,6 @@ "No language set" : "언어가 설정되지 않음", "Locale" : "지역", "Week starts on {firstDayOfWeek}" : "일주일이 {firstDayOfWeek}에 시작함", - "Your location" : "내 위치", "Your organisation" : "내 조직", "Your phone number" : "내 휴대폰 번호", "Edit your Profile visibility" : "프로필 표시 여부 편집", @@ -298,16 +298,30 @@ "Your website" : "내 웹 사이트", "Add additional email" : "추가 이메일 추가", "Add" : "추가", - "You do not have permissions to see the details of this user" : "사용자의 상세정보를 볼 권한이 없습니다", - "Add new password" : "새로운 비밀번호를 입력하시오", + "Display name" : "표시 이름", + "Email" : "이메일", + "Group admin for" : "다음 그룹의 관리자:", + "Quota" : "할당량", + "User backend" : "사용자 백엔드", + "Storage location" : "저장소 위치", + "Last login" : "마지막 로그인", + "No users in here" : "사용자가 이곳에 없습니다.", + "Default quota" : "기본 할당량", + "Default language" : "기본 언어", + "Common languages" : "공통 언어", + "Other languages" : "다른 언어", + "Password change is disabled because the master key is disabled" : "마스터 키가 비활성화 되어 암호 변경이 비활성화 됨", + "New user" : "새 사용자", + "You do not have permissions to see the details of this user" : "사용자의 상세정보를 볼 권한이 없습니다.", + "Add new password" : "새로운 암호 입력", "Add new email address" : "새로운 이메일 추가하기", "Add user to group" : "사용자를 그룹에 추가", "Set user as admin for" : "사용자를 다음에 대한 관리자로 설정", "Select user quota" : "사용자 할당량 선택", - "Delete user" : "유저 지우기", + "Delete user" : "사용자 지우기", "Wipe all devices" : "모든 기기 지우기", - "Disable user" : "유저 비활성화하기", - "Enable user" : "유저 활성화하기", + "Disable user" : "사용자 비활성화하기", + "Enable user" : "사용자 활성화하기", "Resend welcome email" : "환영 메일 다시 보내기", "In case of lost device or exiting the organization, this can remotely wipe the Nextcloud data from all devices associated with {userid}. Only works if the devices are connected to the internet." : "기기를 분실했거나 조직에서 이탈할 경우, 이를 통해 모든 기기에 있는 {userid} 관련 Nextcloud 데이터를 원격으로 삭제할 수 있습니다. 해당 기기들이 인터넷에 연결된 경우에 한하여 작동합니다.", "Remote wipe of devices" : "기기 원격 제거", @@ -318,22 +332,6 @@ "Welcome mail sent!" : "환영 메일을 보냈습니다!", "Edit User" : "사용자 편집", "{size} used" : "{size} 사용됨", - "New user" : "새 사용자", - "Will be autogenerated" : "자동으로 생성될 것임", - "Display name" : "표시 이름", - "Email" : "이메일", - "Default language" : "기본 언어", - "Add a new user" : "새 사용자 추가", - "Group admin for" : "다음 그룹의 관리자:", - "Quota" : "할당량", - "User backend" : "사용자 백엔드", - "Storage location" : "저장소 위치", - "Last login" : "마지막 로그인", - "No users in here" : "사용자가 이곳에 없습니다.", - "Default quota" : "기본 할당량", - "Common languages" : "공통 언어", - "Other languages" : "다른 언어", - "Password change is disabled because the master key is disabled" : "마스터 키가 비활성화 되어 암호 변경이 비활성화 됨", "Passwordless authentication requires a secure connection." : "무암호 인증을 위해 보안 연결이 필요합니다.", "Add WebAuthn device" : "WebAuthn 기기 추가", "Please authorize your WebAuthn device." : "내 WebAuthn 기기를 인증하십시오.", @@ -343,7 +341,7 @@ "Server error while trying to complete WebAuthn device registration" : "WebAuthn 기기 등록을 마치는 중 오류 발생", "Unnamed device" : "이름 없는 장치", "Passwordless Authentication" : "무암호 인증", - "Set up your account for passwordless authentication following the FIDO2 standard." : "FIDO2 기준을 준수하여 계정에 무암호 인증을 설정하십시오", + "Set up your account for passwordless authentication following the FIDO2 standard." : "FIDO2 기준을 준수하여 계정에 무암호 인증을 설정하세요.", "No devices configured." : "설정된 기기가 없습니다.", "The following devices are configured for your account:" : "다음의 기기가 계정에 설정되었습니다:", "Your browser does not support WebAuthn." : "WebAuthn이 현재 브라우저를 지원하지 않습니다.", @@ -354,10 +352,9 @@ "Add group" : "그룹 추가", "Active users" : "활성 사용자", "Admins" : "관리자", - "Disabled users" : "비활성화된 유저", + "Disabled users" : "비활성화된 사용자", "Default quota:" : "기본 할당량:", "Select default quota" : "기본 할당량 설정", - "Show Languages" : "언어 보이기", "Show last login" : "마지막 로그인 보이기", "Show user backend" : "사용자 백엔드 보이기", "Show storage path" : "스토리지 경로 보이기", @@ -387,17 +384,17 @@ "Hide" : "비공개", "Download and enable" : "다운로드 및 활성화", "Enable untested app" : "미시험 앱 활성화", - "The app will be downloaded from the App Store" : "이 앱이 앱 스토어에서 다운로드됩니다", + "The app will be downloaded from the App Store" : "이 앱이 앱 스토어에서 다운로드됩니다.", "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." : "이 앱은 현재 Nextcloud 버젼과 호환되지 않습니다. 이 앱을 설치하면, 제대로 작동하지 않을 수 있습니다.", "Never" : "하지 않음", "An error occurred during the request. Unable to proceed." : "요청을 보내는 도중 에러가 발생하였습니다. 더 이상 진행할 수 없습니다.", "The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "앱이 활성화되었지만, 앱을 업데이트해야 합니다. 5초 후 앱 업데이트 페이지로 넘어갑니다.", - "Error: This app cannot be enabled because it makes the server unstable" : "오류: 이 앱은 서버를 불안정하게 만들 수 있어서 활성화할 수 없습니다", + "Error: This app cannot be enabled because it makes the server unstable" : "오류: 이 앱은 서버를 불안정하게 만들 수 있어서 활성화할 수 없습니다.", "There were too many requests from your network. Retry later or contact your administrator if this is an error." : "이 네트워크에 너무 요청이 많습니다. 나중에 다시 시도하십시오. 이것이 오류일 경우 관리자에게 문의하십시오.", "Documentation" : "문서", "Forum" : "포럼", "Login" : "로그인", - "SSL/TLS" : "SSL/TLS", + "SSL" : "SSL", "Open documentation" : "문서 열기", "It is important to set up this server to be able to send emails, like for password reset and notifications." : "암호 초기화 및 알림 이메일을 보내려면 이메일 서버를 설정해야 합니다.", "Send mode" : "보내기 모드", @@ -406,7 +403,7 @@ "From address" : "보낸 사람 주소", "Server address" : "서버 주소", "Port" : "포트", - "Authentication method" : "인증 방법", + "Authentication" : "인증", "Authentication required" : "인증 필요함", "Credentials" : "인증 정보", "SMTP Username" : "SMTP 사용자 이름", @@ -454,9 +451,14 @@ "You created app password \"{token}\"" : "앱 패스워드 \"{token}\"이 생성되었습니다.", "An administrator created app password \"{token}\"" : "관리자가 앱 패스워드 \"{token}\"을(를) 생성함", "png or jpg, max. 20 MB" : "PNG, JPG, 최대 20MB", + "Your location" : "내 위치", + "Will be autogenerated" : "자동으로 생성될 것임", + "Add a new user" : "새 사용자 추가", + "Show Languages" : "언어 보이기", "Plain" : "일반", "NT LAN Manager" : "NT LAN 관리자", + "SSL/TLS" : "SSL/TLS", "STARTTLS" : "STARTTLS", - "Avatar" : "아바타" + "Authentication method" : "인증 방법" },"pluralForm" :"nplurals=1; plural=0;" }
\ No newline at end of file diff --git a/apps/settings/l10n/lt_LT.js b/apps/settings/l10n/lt_LT.js index 1e7f63a8777..49afeee36f0 100644 --- a/apps/settings/l10n/lt_LT.js +++ b/apps/settings/l10n/lt_LT.js @@ -291,6 +291,20 @@ OC.L10N.register( "Unable to update {property}" : "Nepavyko atnaujinti {property}", "Add additional email" : "Pridėti papildomą el. paštą", "Add" : "Pridėti", + "Display name" : "Rodomas vardas", + "Email" : "El. paštas", + "Group admin for" : "Grupės administratorius", + "Quota" : "Limitas", + "User backend" : "Naudotojo vidinė pusė", + "Storage location" : "Saugyklos vieta", + "Last login" : "Paskutinis prisijungimas", + "No users in here" : "Čia naudotojų nėra", + "Default quota" : "Numatytasis leidžiamas duomenų kiekis", + "Default language" : "Numatytoji kalba", + "Common languages" : "Bendrosios kalbos", + "Other languages" : "Kitos kalbos", + "Password change is disabled because the master key is disabled" : "Slaptažodžių keitimas išjungtas, nes yra išjungtas pagrindinis raktas", + "New user" : "Naujas naudotojas", "You do not have permissions to see the details of this user" : "Jūs neturite leidimų matyti išsamesnę informaciją apie šį naudotoją", "Add new password" : "Pridėti naują slaptažodį", "Add new email address" : "Pridėti naują el. pašto adresą", @@ -312,22 +326,6 @@ OC.L10N.register( "Welcome mail sent!" : "Pasveikinimo laiškas išsiųstas!", "Edit User" : "Taisyti naudotoją", "{size} used" : "{size} naudojama", - "New user" : "Naujas naudotojas", - "Will be autogenerated" : "Bus automatiškai sugeneruotas ", - "Display name" : "Rodomas vardas", - "Email" : "El. paštas", - "Default language" : "Numatytoji kalba", - "Add a new user" : "Pridėti naują naudotoją", - "Group admin for" : "Grupės administratorius", - "Quota" : "Limitas", - "User backend" : "Naudotojo vidinė pusė", - "Storage location" : "Saugyklos vieta", - "Last login" : "Paskutinis prisijungimas", - "No users in here" : "Čia naudotojų nėra", - "Default quota" : "Numatytasis leidžiamas duomenų kiekis", - "Common languages" : "Bendrosios kalbos", - "Other languages" : "Kitos kalbos", - "Password change is disabled because the master key is disabled" : "Slaptažodžių keitimas išjungtas, nes yra išjungtas pagrindinis raktas", "Passwordless authentication requires a secure connection." : "Tapatybės nustatymas be slaptažodžio reikalauja saugaus ryšio.", "Add WebAuthn device" : "Pridėti WebAuthn įrenginį", "Please authorize your WebAuthn device." : "Prašome, autorizikuote savo WebAuthn įrenginį.", @@ -352,7 +350,6 @@ OC.L10N.register( "Disabled users" : "Išjungti naudotojai", "Default quota:" : "Numatytasis leidžiamas duomenų kiekis:", "Select default quota" : "Pasirinkite numatytą leidžiamą duomenų kiekį ", - "Show Languages" : "Rodyti kalbas", "Show last login" : "Rodyti paskutinį prisijungimą", "Show user backend" : "Rodyti naudotojo vidinę pusę", "Show storage path" : "Rodyti saugyklos kelią", @@ -393,7 +390,7 @@ OC.L10N.register( "Documentation" : "Dokumentacija", "Forum" : "Forumas", "Login" : "Prisijungti", - "SSL/TLS" : "SSL/TLS", + "SSL" : "SSL", "Open documentation" : "Atverti dokumentaciją", "It is important to set up this server to be able to send emails, like for password reset and notifications." : "Svarbu nustatyti šį serverį, kad galėtumėte siųsti el. laiškus, kaip, pavyzdžiui, slaptažodžio atstatymą ar pranešimus.", "Send mode" : "Siuntimo veiksena", @@ -402,7 +399,7 @@ OC.L10N.register( "From address" : "Siuntėjo adresas", "Server address" : "Serverio adresas", "Port" : "Prievadas", - "Authentication method" : "Tapatybės nustatymo metodas", + "Authentication" : "Tapatybės nustatymas", "Authentication required" : "Reikalingas tapatybės nustatymas", "Credentials" : "Prisijungimo duomenys", "SMTP Username" : "SMTP naudotojo vardas", @@ -445,9 +442,13 @@ OC.L10N.register( "You created app password \"{token}\"" : "Jūs sukūrėte programėlės slaptažodį \"{token}\"", "An administrator created app password \"{token}\"" : "Administratorius sukūrė programėlės slaptažodį „{token}“", "png or jpg, max. 20 MB" : "png arba jpg, daugiausiai 20 MB", + "Will be autogenerated" : "Bus automatiškai sugeneruotas ", + "Add a new user" : "Pridėti naują naudotoją", + "Show Languages" : "Rodyti kalbas", "Plain" : "Paprastas", "NT LAN Manager" : "NT LAN tvarkytuvė", + "SSL/TLS" : "SSL/TLS", "STARTTLS" : "STARTTLS", - "Avatar" : "Avataras" + "Authentication method" : "Tapatybės nustatymo metodas" }, "nplurals=4; plural=(n % 10 == 1 && (n % 100 > 19 || n % 100 < 11) ? 0 : (n % 10 >= 2 && n % 10 <=9) && (n % 100 > 19 || n % 100 < 11) ? 1 : n % 1 != 0 ? 2: 3);"); diff --git a/apps/settings/l10n/lt_LT.json b/apps/settings/l10n/lt_LT.json index b7453e47759..21684460e96 100644 --- a/apps/settings/l10n/lt_LT.json +++ b/apps/settings/l10n/lt_LT.json @@ -289,6 +289,20 @@ "Unable to update {property}" : "Nepavyko atnaujinti {property}", "Add additional email" : "Pridėti papildomą el. paštą", "Add" : "Pridėti", + "Display name" : "Rodomas vardas", + "Email" : "El. paštas", + "Group admin for" : "Grupės administratorius", + "Quota" : "Limitas", + "User backend" : "Naudotojo vidinė pusė", + "Storage location" : "Saugyklos vieta", + "Last login" : "Paskutinis prisijungimas", + "No users in here" : "Čia naudotojų nėra", + "Default quota" : "Numatytasis leidžiamas duomenų kiekis", + "Default language" : "Numatytoji kalba", + "Common languages" : "Bendrosios kalbos", + "Other languages" : "Kitos kalbos", + "Password change is disabled because the master key is disabled" : "Slaptažodžių keitimas išjungtas, nes yra išjungtas pagrindinis raktas", + "New user" : "Naujas naudotojas", "You do not have permissions to see the details of this user" : "Jūs neturite leidimų matyti išsamesnę informaciją apie šį naudotoją", "Add new password" : "Pridėti naują slaptažodį", "Add new email address" : "Pridėti naują el. pašto adresą", @@ -310,22 +324,6 @@ "Welcome mail sent!" : "Pasveikinimo laiškas išsiųstas!", "Edit User" : "Taisyti naudotoją", "{size} used" : "{size} naudojama", - "New user" : "Naujas naudotojas", - "Will be autogenerated" : "Bus automatiškai sugeneruotas ", - "Display name" : "Rodomas vardas", - "Email" : "El. paštas", - "Default language" : "Numatytoji kalba", - "Add a new user" : "Pridėti naują naudotoją", - "Group admin for" : "Grupės administratorius", - "Quota" : "Limitas", - "User backend" : "Naudotojo vidinė pusė", - "Storage location" : "Saugyklos vieta", - "Last login" : "Paskutinis prisijungimas", - "No users in here" : "Čia naudotojų nėra", - "Default quota" : "Numatytasis leidžiamas duomenų kiekis", - "Common languages" : "Bendrosios kalbos", - "Other languages" : "Kitos kalbos", - "Password change is disabled because the master key is disabled" : "Slaptažodžių keitimas išjungtas, nes yra išjungtas pagrindinis raktas", "Passwordless authentication requires a secure connection." : "Tapatybės nustatymas be slaptažodžio reikalauja saugaus ryšio.", "Add WebAuthn device" : "Pridėti WebAuthn įrenginį", "Please authorize your WebAuthn device." : "Prašome, autorizikuote savo WebAuthn įrenginį.", @@ -350,7 +348,6 @@ "Disabled users" : "Išjungti naudotojai", "Default quota:" : "Numatytasis leidžiamas duomenų kiekis:", "Select default quota" : "Pasirinkite numatytą leidžiamą duomenų kiekį ", - "Show Languages" : "Rodyti kalbas", "Show last login" : "Rodyti paskutinį prisijungimą", "Show user backend" : "Rodyti naudotojo vidinę pusę", "Show storage path" : "Rodyti saugyklos kelią", @@ -391,7 +388,7 @@ "Documentation" : "Dokumentacija", "Forum" : "Forumas", "Login" : "Prisijungti", - "SSL/TLS" : "SSL/TLS", + "SSL" : "SSL", "Open documentation" : "Atverti dokumentaciją", "It is important to set up this server to be able to send emails, like for password reset and notifications." : "Svarbu nustatyti šį serverį, kad galėtumėte siųsti el. laiškus, kaip, pavyzdžiui, slaptažodžio atstatymą ar pranešimus.", "Send mode" : "Siuntimo veiksena", @@ -400,7 +397,7 @@ "From address" : "Siuntėjo adresas", "Server address" : "Serverio adresas", "Port" : "Prievadas", - "Authentication method" : "Tapatybės nustatymo metodas", + "Authentication" : "Tapatybės nustatymas", "Authentication required" : "Reikalingas tapatybės nustatymas", "Credentials" : "Prisijungimo duomenys", "SMTP Username" : "SMTP naudotojo vardas", @@ -443,9 +440,13 @@ "You created app password \"{token}\"" : "Jūs sukūrėte programėlės slaptažodį \"{token}\"", "An administrator created app password \"{token}\"" : "Administratorius sukūrė programėlės slaptažodį „{token}“", "png or jpg, max. 20 MB" : "png arba jpg, daugiausiai 20 MB", + "Will be autogenerated" : "Bus automatiškai sugeneruotas ", + "Add a new user" : "Pridėti naują naudotoją", + "Show Languages" : "Rodyti kalbas", "Plain" : "Paprastas", "NT LAN Manager" : "NT LAN tvarkytuvė", + "SSL/TLS" : "SSL/TLS", "STARTTLS" : "STARTTLS", - "Avatar" : "Avataras" + "Authentication method" : "Tapatybės nustatymo metodas" },"pluralForm" :"nplurals=4; plural=(n % 10 == 1 && (n % 100 > 19 || n % 100 < 11) ? 0 : (n % 10 >= 2 && n % 10 <=9) && (n % 100 > 19 || n % 100 < 11) ? 1 : n % 1 != 0 ? 2: 3);" }
\ No newline at end of file diff --git a/apps/settings/l10n/lv.js b/apps/settings/l10n/lv.js index 2fbd2116ecd..f50ab24ed0d 100644 --- a/apps/settings/l10n/lv.js +++ b/apps/settings/l10n/lv.js @@ -136,14 +136,14 @@ OC.L10N.register( "Documentation" : "Dokumentācija", "Forum" : "Forums", "Login" : "Autorizēties", - "SSL/TLS" : "SSL/TLS", + "SSL" : "SSL", "Open documentation" : "Atvērt dokumentāciju", "Send mode" : "Sūtīšanas metode", "Encryption" : "Šifrēšana", "From address" : "No adreses", "Server address" : "Servera adrese", "Port" : "Ports", - "Authentication method" : "Autentifikācijas metode", + "Authentication" : "Autentifikācija", "Authentication required" : "Nepieciešama autentifikācija", "Credentials" : "Akreditācijas dati", "SMTP Username" : "SMTP lietotājvārds", @@ -165,7 +165,8 @@ OC.L10N.register( "png or jpg, max. 20 MB" : "png vai jpg, max. 20 MB", "Plain" : "vienkāršs teksts", "NT LAN Manager" : "NT LAN Pārvaldnieks", + "SSL/TLS" : "SSL/TLS", "STARTTLS" : "STARTTLS", - "Avatar" : "Profila attēls" + "Authentication method" : "Autentifikācijas metode" }, "nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);"); diff --git a/apps/settings/l10n/lv.json b/apps/settings/l10n/lv.json index 8c061e0f666..d89811f2558 100644 --- a/apps/settings/l10n/lv.json +++ b/apps/settings/l10n/lv.json @@ -134,14 +134,14 @@ "Documentation" : "Dokumentācija", "Forum" : "Forums", "Login" : "Autorizēties", - "SSL/TLS" : "SSL/TLS", + "SSL" : "SSL", "Open documentation" : "Atvērt dokumentāciju", "Send mode" : "Sūtīšanas metode", "Encryption" : "Šifrēšana", "From address" : "No adreses", "Server address" : "Servera adrese", "Port" : "Ports", - "Authentication method" : "Autentifikācijas metode", + "Authentication" : "Autentifikācija", "Authentication required" : "Nepieciešama autentifikācija", "Credentials" : "Akreditācijas dati", "SMTP Username" : "SMTP lietotājvārds", @@ -163,7 +163,8 @@ "png or jpg, max. 20 MB" : "png vai jpg, max. 20 MB", "Plain" : "vienkāršs teksts", "NT LAN Manager" : "NT LAN Pārvaldnieks", + "SSL/TLS" : "SSL/TLS", "STARTTLS" : "STARTTLS", - "Avatar" : "Profila attēls" + "Authentication method" : "Autentifikācijas metode" },"pluralForm" :"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);" }
\ No newline at end of file diff --git a/apps/settings/l10n/mk.js b/apps/settings/l10n/mk.js index 54b834d834d..c511c01ddeb 100644 --- a/apps/settings/l10n/mk.js +++ b/apps/settings/l10n/mk.js @@ -259,9 +259,12 @@ OC.L10N.register( "Current password" : "Моментална лозинка", "New password" : "Нова лозинка", "Change password" : "Промени лозинка", + "Your profile information" : "Информации за профилот", "Your profile picture" : "Ваша фотографија на профилот", "Upload profile picture" : "Прикачи фотографија на профилот", + "Choose profile picture from Files" : "Избери фотографија на профилот од датотеките", "Remove profile picture" : "Избриши фотографија на профилот", + "The file must be a PNG or JPG" : "Датотеката мора да биде PNG или JPG", "Picture provided by original account" : "Слика обезбедена од оригинална сметка", "Cancel" : "Откажи", "Set as profile picture" : "Постави фотографија на профилот", @@ -300,8 +303,7 @@ OC.L10N.register( "Unable to update language" : "Не може да се ажурира јазикот", "No language set" : "Не е поставен јазик", "Locale" : "Локација", - "Week starts on {firstDayOfWeek}" : "Неделите започнуваат во {firstDayOfWeek}", - "Your location" : "Ваша локација", + "Week starts on {firstDayOfWeek}" : "Неделата започнува во {firstDayOfWeek}", "Your organisation" : "Вашата организација", "Your phone number" : "Вашиот телефонски број", "Edit your Profile visibility" : "Уредете ја видливоста на вашиот профил", @@ -315,12 +317,34 @@ OC.L10N.register( "Unable to update {property}" : "Неможе да се ажурира {property}", "Add additional email" : "Додади дополнителна е-пошта", "Add" : "Додади", + "Display name" : "Име и презиме", + "Email" : "Е-пошта", + "Group admin for" : "Администратор на група", + "Quota" : "Квота", + "User backend" : "Задна страна на корисник", + "Storage location" : "Локација на складиште", + "Last login" : "Последно најавување", + "Manager" : "Менаџер", + "No users in here" : "Тука нема корисници", + "Default quota" : "Стандардна квота", + "Default language" : "Стајдарден јазик", + "Common languages" : "Заеднички јазици", + "Other languages" : "Други јазици", + "Password change is disabled because the master key is disabled" : "Ресетирање на лозинка е оневозможено бидејќи главниот клуч е оневозможен", + "New user" : "Нов корисник", + "Password (required)" : "Лозинка (задолжително)", + "Email (required)" : "Е-пошта (задолжително)", + "Groups (required)" : "Групи (задолжително)", + "Add new user" : "Додади нов корисник", + "Username will be autogenerated" : "Корисничкото име ќе биде автоматски генерирано", + "Username (required)" : "Корисничко име (задолжително)", "You do not have permissions to see the details of this user" : "Немате дозвола за да ги гледате деталите на овој корисник", "Add new password" : "Додади нова лозинка", "Add new email address" : "Додади нова е-пошта адреса", "Add user to group" : "Додади корисник во група", "Set user as admin for" : "Назначи го корисникот како администратор за", "Select user quota" : "Избери квота за корисник", + "Set the language" : "Постави јазик", "Toggle user actions menu" : "Вклучи го менито за активности", "Delete user" : "Избриши корисник", "Wipe all devices" : "Избриши ги сите уреди", @@ -336,22 +360,6 @@ OC.L10N.register( "Welcome mail sent!" : "Испратена е-пошта порака за добредојде!", "Edit User" : "Уреди корисник", "{size} used" : "искористено {size}", - "New user" : "Нов корисник", - "Will be autogenerated" : "Ќе бидат автоматски генерирани", - "Display name" : "Име и презиме", - "Email" : "Е-пошта", - "Default language" : "Стајдарден јазик", - "Add a new user" : "Додади нов корисник", - "Group admin for" : "Администратор на група", - "Quota" : "Квота", - "User backend" : "Задна страна на корисник", - "Storage location" : "Локација на складиште", - "Last login" : "Последно најавување", - "No users in here" : "Тука нема корисници", - "Default quota" : "Стандардна квота", - "Common languages" : "Заеднички јазици", - "Other languages" : "Други јазици", - "Password change is disabled because the master key is disabled" : "Ресетирање на лозинка е оневозможено бидејќи главниот клуч е оневозможен", "Passwordless authentication requires a secure connection." : "За најавување без лозинка потребно е да се користи безбедна врска.", "Add WebAuthn device" : "Додади WebAuthn уред", "Please authorize your WebAuthn device." : "Авторизирајте го вашиот WebAuthn уред.", @@ -376,7 +384,7 @@ OC.L10N.register( "Disabled users" : "Оневозможени корисници", "Default quota:" : "Стандардна квота:", "Select default quota" : "Избери стандардна квота", - "Show Languages" : "Прикажи јазици", + "Show languages" : "Прикажи јазици", "Show last login" : "Прикажи последно најавување", "Show user backend" : "Прикажи задна страна на корисник", "Show storage path" : "Прикажи патека на складиште", @@ -418,7 +426,7 @@ OC.L10N.register( "Documentation" : "Документација", "Forum" : "Форум", "Login" : "Најава", - "SSL/TLS" : "SSL/TLS", + "SSL" : "SSL", "Open documentation" : "Отвори ја документацијата", "It is important to set up this server to be able to send emails, like for password reset and notifications." : "Важно е да овозможите на серверот да испраќа е-пошта пораки, поради можноста за ресетирање на лозинки и известувања.", "Send mode" : "Начин на испраќање", @@ -427,7 +435,7 @@ OC.L10N.register( "From address" : "Од адреса", "Server address" : "Адреса на сервер", "Port" : "Порта", - "Authentication method" : "Начин на автентификација", + "Authentication" : "Автентикација", "Authentication required" : "Потребна е автентификација", "Credentials" : "Акредитиви", "SMTP Username" : "SMTP корисничко име", @@ -482,11 +490,16 @@ OC.L10N.register( "An administrator created app password \"{token}\"" : "Администраторот креираше лозинка за апликација \"{token}\"", "Choose profile picture from files" : "Избери фотографија на профилот од датотеките", "png or jpg, max. 20 MB" : "png или jpg, максимум 20 MB", + "Your location" : "Ваша локација", + "Will be autogenerated" : "Ќе бидат автоматски генерирани", + "Add a new user" : "Додади нов корисник", + "Show Languages" : "Прикажи јазици", "Plain" : "Чиста", "NT LAN Manager" : "NT LAN Менаџер", + "SSL/TLS" : "SSL/TLS", "STARTTLS" : "STARTTLS", + "Authentication method" : "Начин на автентификација", "Allow username autocompletion in share dialog" : "Дозволи автоматско комплетирање на корисници за споделување", - "Allow username autocompletion to users within the same groups" : "Овозможи автоматско комплетирање за корисници од исти групи ", - "Avatar" : "Аватар" + "Allow username autocompletion to users within the same groups" : "Овозможи автоматско комплетирање за корисници од исти групи " }, "nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;"); diff --git a/apps/settings/l10n/mk.json b/apps/settings/l10n/mk.json index 0b967ba607a..bd33f718c6a 100644 --- a/apps/settings/l10n/mk.json +++ b/apps/settings/l10n/mk.json @@ -257,9 +257,12 @@ "Current password" : "Моментална лозинка", "New password" : "Нова лозинка", "Change password" : "Промени лозинка", + "Your profile information" : "Информации за профилот", "Your profile picture" : "Ваша фотографија на профилот", "Upload profile picture" : "Прикачи фотографија на профилот", + "Choose profile picture from Files" : "Избери фотографија на профилот од датотеките", "Remove profile picture" : "Избриши фотографија на профилот", + "The file must be a PNG or JPG" : "Датотеката мора да биде PNG или JPG", "Picture provided by original account" : "Слика обезбедена од оригинална сметка", "Cancel" : "Откажи", "Set as profile picture" : "Постави фотографија на профилот", @@ -298,8 +301,7 @@ "Unable to update language" : "Не може да се ажурира јазикот", "No language set" : "Не е поставен јазик", "Locale" : "Локација", - "Week starts on {firstDayOfWeek}" : "Неделите започнуваат во {firstDayOfWeek}", - "Your location" : "Ваша локација", + "Week starts on {firstDayOfWeek}" : "Неделата започнува во {firstDayOfWeek}", "Your organisation" : "Вашата организација", "Your phone number" : "Вашиот телефонски број", "Edit your Profile visibility" : "Уредете ја видливоста на вашиот профил", @@ -313,12 +315,34 @@ "Unable to update {property}" : "Неможе да се ажурира {property}", "Add additional email" : "Додади дополнителна е-пошта", "Add" : "Додади", + "Display name" : "Име и презиме", + "Email" : "Е-пошта", + "Group admin for" : "Администратор на група", + "Quota" : "Квота", + "User backend" : "Задна страна на корисник", + "Storage location" : "Локација на складиште", + "Last login" : "Последно најавување", + "Manager" : "Менаџер", + "No users in here" : "Тука нема корисници", + "Default quota" : "Стандардна квота", + "Default language" : "Стајдарден јазик", + "Common languages" : "Заеднички јазици", + "Other languages" : "Други јазици", + "Password change is disabled because the master key is disabled" : "Ресетирање на лозинка е оневозможено бидејќи главниот клуч е оневозможен", + "New user" : "Нов корисник", + "Password (required)" : "Лозинка (задолжително)", + "Email (required)" : "Е-пошта (задолжително)", + "Groups (required)" : "Групи (задолжително)", + "Add new user" : "Додади нов корисник", + "Username will be autogenerated" : "Корисничкото име ќе биде автоматски генерирано", + "Username (required)" : "Корисничко име (задолжително)", "You do not have permissions to see the details of this user" : "Немате дозвола за да ги гледате деталите на овој корисник", "Add new password" : "Додади нова лозинка", "Add new email address" : "Додади нова е-пошта адреса", "Add user to group" : "Додади корисник во група", "Set user as admin for" : "Назначи го корисникот како администратор за", "Select user quota" : "Избери квота за корисник", + "Set the language" : "Постави јазик", "Toggle user actions menu" : "Вклучи го менито за активности", "Delete user" : "Избриши корисник", "Wipe all devices" : "Избриши ги сите уреди", @@ -334,22 +358,6 @@ "Welcome mail sent!" : "Испратена е-пошта порака за добредојде!", "Edit User" : "Уреди корисник", "{size} used" : "искористено {size}", - "New user" : "Нов корисник", - "Will be autogenerated" : "Ќе бидат автоматски генерирани", - "Display name" : "Име и презиме", - "Email" : "Е-пошта", - "Default language" : "Стајдарден јазик", - "Add a new user" : "Додади нов корисник", - "Group admin for" : "Администратор на група", - "Quota" : "Квота", - "User backend" : "Задна страна на корисник", - "Storage location" : "Локација на складиште", - "Last login" : "Последно најавување", - "No users in here" : "Тука нема корисници", - "Default quota" : "Стандардна квота", - "Common languages" : "Заеднички јазици", - "Other languages" : "Други јазици", - "Password change is disabled because the master key is disabled" : "Ресетирање на лозинка е оневозможено бидејќи главниот клуч е оневозможен", "Passwordless authentication requires a secure connection." : "За најавување без лозинка потребно е да се користи безбедна врска.", "Add WebAuthn device" : "Додади WebAuthn уред", "Please authorize your WebAuthn device." : "Авторизирајте го вашиот WebAuthn уред.", @@ -374,7 +382,7 @@ "Disabled users" : "Оневозможени корисници", "Default quota:" : "Стандардна квота:", "Select default quota" : "Избери стандардна квота", - "Show Languages" : "Прикажи јазици", + "Show languages" : "Прикажи јазици", "Show last login" : "Прикажи последно најавување", "Show user backend" : "Прикажи задна страна на корисник", "Show storage path" : "Прикажи патека на складиште", @@ -416,7 +424,7 @@ "Documentation" : "Документација", "Forum" : "Форум", "Login" : "Најава", - "SSL/TLS" : "SSL/TLS", + "SSL" : "SSL", "Open documentation" : "Отвори ја документацијата", "It is important to set up this server to be able to send emails, like for password reset and notifications." : "Важно е да овозможите на серверот да испраќа е-пошта пораки, поради можноста за ресетирање на лозинки и известувања.", "Send mode" : "Начин на испраќање", @@ -425,7 +433,7 @@ "From address" : "Од адреса", "Server address" : "Адреса на сервер", "Port" : "Порта", - "Authentication method" : "Начин на автентификација", + "Authentication" : "Автентикација", "Authentication required" : "Потребна е автентификација", "Credentials" : "Акредитиви", "SMTP Username" : "SMTP корисничко име", @@ -480,11 +488,16 @@ "An administrator created app password \"{token}\"" : "Администраторот креираше лозинка за апликација \"{token}\"", "Choose profile picture from files" : "Избери фотографија на профилот од датотеките", "png or jpg, max. 20 MB" : "png или jpg, максимум 20 MB", + "Your location" : "Ваша локација", + "Will be autogenerated" : "Ќе бидат автоматски генерирани", + "Add a new user" : "Додади нов корисник", + "Show Languages" : "Прикажи јазици", "Plain" : "Чиста", "NT LAN Manager" : "NT LAN Менаџер", + "SSL/TLS" : "SSL/TLS", "STARTTLS" : "STARTTLS", + "Authentication method" : "Начин на автентификација", "Allow username autocompletion in share dialog" : "Дозволи автоматско комплетирање на корисници за споделување", - "Allow username autocompletion to users within the same groups" : "Овозможи автоматско комплетирање за корисници од исти групи ", - "Avatar" : "Аватар" + "Allow username autocompletion to users within the same groups" : "Овозможи автоматско комплетирање за корисници од исти групи " },"pluralForm" :"nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;" }
\ No newline at end of file diff --git a/apps/settings/l10n/nb.js b/apps/settings/l10n/nb.js index c2bb3cc6168..c85f6687a89 100644 --- a/apps/settings/l10n/nb.js +++ b/apps/settings/l10n/nb.js @@ -285,7 +285,6 @@ OC.L10N.register( "Locale" : "Nasjonal innstilling", "Week starts on {firstDayOfWeek}" : "Uken starter på {firstDayOfWeek}", "Unable to update locale" : "Kan ikke oppdatere lokaliteten", - "Your location" : "Lokasjonen din", "Your organisation" : "Din organisasjon", "Your phone number" : "Ditt telefonnummer", "Edit your Profile visibility" : "Endre synlighet for din profil", @@ -298,6 +297,20 @@ OC.L10N.register( "Unable to update {property}" : "Kan ikke oppdatere {property}", "Add additional email" : "Legg til ekstra e-post", "Add" : "Legg til", + "Display name" : "Visningsnavn", + "Email" : "E-post", + "Group admin for" : "Gruppeadministrator for", + "Quota" : "Kvote", + "User backend" : "Bruker-server", + "Storage location" : "Lagringsplassering", + "Last login" : "Siste innlogging", + "No users in here" : "Ingen brukere her", + "Default quota" : "Standard kvote", + "Default language" : "Standard språk", + "Common languages" : "Vanlige språk", + "Other languages" : "Andre språk", + "Password change is disabled because the master key is disabled" : "Passordendring er deaktivert fordi hoved-nøkkelen er deaktivert", + "New user" : "Ny bruker", "You do not have permissions to see the details of this user" : "Du har ikke tilgang til å se detaljer om denne brukeren", "Add new password" : "Legg til nytt passord", "Add new email address" : "Legg til ny e-postadresse", @@ -318,22 +331,6 @@ OC.L10N.register( "Welcome mail sent!" : "Velkomst-epost sendt!", "Edit User" : "Rediger bruker", "{size} used" : "{size} brukt", - "New user" : "Ny bruker", - "Will be autogenerated" : "Blir generert automatisk", - "Display name" : "Visningsnavn", - "Email" : "E-post", - "Default language" : "Standard språk", - "Add a new user" : "Legg til en ny bruker", - "Group admin for" : "Gruppeadministrator for", - "Quota" : "Kvote", - "User backend" : "Bruker-server", - "Storage location" : "Lagringsplassering", - "Last login" : "Siste innlogging", - "No users in here" : "Ingen brukere her", - "Default quota" : "Standard kvote", - "Common languages" : "Vanlige språk", - "Other languages" : "Andre språk", - "Password change is disabled because the master key is disabled" : "Passordendring er deaktivert fordi hoved-nøkkelen er deaktivert", "Name your device" : "Gi navn til enhet", "Adding your device …" : "Legger til enheten...", "Unnamed device" : "Ikke navngitt enhet", @@ -348,7 +345,6 @@ OC.L10N.register( "Disabled users" : "Deaktiverte brukere", "Default quota:" : "Standard kvote:", "Select default quota" : "Sett standard kvote", - "Show Languages" : "Vis språk", "Show last login" : "Vis siste innlogging", "Show user backend" : "Vis bruker-server", "Show storage path" : "Vis lagringsplassering", @@ -385,7 +381,7 @@ OC.L10N.register( "Documentation" : "Dokumentasjon", "Forum" : "Forum", "Login" : "Innlogging", - "SSL/TLS" : "SSL/TLS", + "SSL" : "SSL", "Open documentation" : "Åpne dokumentasjonen", "It is important to set up this server to be able to send emails, like for password reset and notifications." : "Det er viktig å sette opp denne serveren for å kunne sende e-poster, som tilbakestilling av e-poster og merknader.", "Send mode" : "Forsendelsesmåte", @@ -394,7 +390,7 @@ OC.L10N.register( "From address" : "Fra adresse", "Server address" : "Serveradresse", "Port" : "Port", - "Authentication method" : "Autentiseringsmetode", + "Authentication" : "Autentisering", "Authentication required" : "Autentisering kreves", "Credentials" : "Påloggingsdetaljer", "SMTP Username" : "SMTP-brukernavn", @@ -445,9 +441,14 @@ OC.L10N.register( "An administrator created app password \"{token}\"" : "En administrator opprettet apppassordet \"{token}\"", "Choose profile picture from files" : "Velg profilbilde blant filer", "png or jpg, max. 20 MB" : "png eller jpg, maks. 20 MB", + "Your location" : "Lokasjonen din", + "Will be autogenerated" : "Blir generert automatisk", + "Add a new user" : "Legg til en ny bruker", + "Show Languages" : "Vis språk", "Plain" : "Enkel", "NT LAN Manager" : "NT LAN-behandler", + "SSL/TLS" : "SSL/TLS", "STARTTLS" : "STARTTLS", - "Avatar" : "Avatar" + "Authentication method" : "Autentiseringsmetode" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/settings/l10n/nb.json b/apps/settings/l10n/nb.json index 7d9d9dd1134..56b9c8070d2 100644 --- a/apps/settings/l10n/nb.json +++ b/apps/settings/l10n/nb.json @@ -283,7 +283,6 @@ "Locale" : "Nasjonal innstilling", "Week starts on {firstDayOfWeek}" : "Uken starter på {firstDayOfWeek}", "Unable to update locale" : "Kan ikke oppdatere lokaliteten", - "Your location" : "Lokasjonen din", "Your organisation" : "Din organisasjon", "Your phone number" : "Ditt telefonnummer", "Edit your Profile visibility" : "Endre synlighet for din profil", @@ -296,6 +295,20 @@ "Unable to update {property}" : "Kan ikke oppdatere {property}", "Add additional email" : "Legg til ekstra e-post", "Add" : "Legg til", + "Display name" : "Visningsnavn", + "Email" : "E-post", + "Group admin for" : "Gruppeadministrator for", + "Quota" : "Kvote", + "User backend" : "Bruker-server", + "Storage location" : "Lagringsplassering", + "Last login" : "Siste innlogging", + "No users in here" : "Ingen brukere her", + "Default quota" : "Standard kvote", + "Default language" : "Standard språk", + "Common languages" : "Vanlige språk", + "Other languages" : "Andre språk", + "Password change is disabled because the master key is disabled" : "Passordendring er deaktivert fordi hoved-nøkkelen er deaktivert", + "New user" : "Ny bruker", "You do not have permissions to see the details of this user" : "Du har ikke tilgang til å se detaljer om denne brukeren", "Add new password" : "Legg til nytt passord", "Add new email address" : "Legg til ny e-postadresse", @@ -316,22 +329,6 @@ "Welcome mail sent!" : "Velkomst-epost sendt!", "Edit User" : "Rediger bruker", "{size} used" : "{size} brukt", - "New user" : "Ny bruker", - "Will be autogenerated" : "Blir generert automatisk", - "Display name" : "Visningsnavn", - "Email" : "E-post", - "Default language" : "Standard språk", - "Add a new user" : "Legg til en ny bruker", - "Group admin for" : "Gruppeadministrator for", - "Quota" : "Kvote", - "User backend" : "Bruker-server", - "Storage location" : "Lagringsplassering", - "Last login" : "Siste innlogging", - "No users in here" : "Ingen brukere her", - "Default quota" : "Standard kvote", - "Common languages" : "Vanlige språk", - "Other languages" : "Andre språk", - "Password change is disabled because the master key is disabled" : "Passordendring er deaktivert fordi hoved-nøkkelen er deaktivert", "Name your device" : "Gi navn til enhet", "Adding your device …" : "Legger til enheten...", "Unnamed device" : "Ikke navngitt enhet", @@ -346,7 +343,6 @@ "Disabled users" : "Deaktiverte brukere", "Default quota:" : "Standard kvote:", "Select default quota" : "Sett standard kvote", - "Show Languages" : "Vis språk", "Show last login" : "Vis siste innlogging", "Show user backend" : "Vis bruker-server", "Show storage path" : "Vis lagringsplassering", @@ -383,7 +379,7 @@ "Documentation" : "Dokumentasjon", "Forum" : "Forum", "Login" : "Innlogging", - "SSL/TLS" : "SSL/TLS", + "SSL" : "SSL", "Open documentation" : "Åpne dokumentasjonen", "It is important to set up this server to be able to send emails, like for password reset and notifications." : "Det er viktig å sette opp denne serveren for å kunne sende e-poster, som tilbakestilling av e-poster og merknader.", "Send mode" : "Forsendelsesmåte", @@ -392,7 +388,7 @@ "From address" : "Fra adresse", "Server address" : "Serveradresse", "Port" : "Port", - "Authentication method" : "Autentiseringsmetode", + "Authentication" : "Autentisering", "Authentication required" : "Autentisering kreves", "Credentials" : "Påloggingsdetaljer", "SMTP Username" : "SMTP-brukernavn", @@ -443,9 +439,14 @@ "An administrator created app password \"{token}\"" : "En administrator opprettet apppassordet \"{token}\"", "Choose profile picture from files" : "Velg profilbilde blant filer", "png or jpg, max. 20 MB" : "png eller jpg, maks. 20 MB", + "Your location" : "Lokasjonen din", + "Will be autogenerated" : "Blir generert automatisk", + "Add a new user" : "Legg til en ny bruker", + "Show Languages" : "Vis språk", "Plain" : "Enkel", "NT LAN Manager" : "NT LAN-behandler", + "SSL/TLS" : "SSL/TLS", "STARTTLS" : "STARTTLS", - "Avatar" : "Avatar" + "Authentication method" : "Autentiseringsmetode" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/settings/l10n/nl.js b/apps/settings/l10n/nl.js index 18ce856b034..3b227a6c2ab 100644 --- a/apps/settings/l10n/nl.js +++ b/apps/settings/l10n/nl.js @@ -272,7 +272,6 @@ OC.L10N.register( "No language set" : "Geen taal ingesteld", "Locale" : "Regionale instellingen", "Week starts on {firstDayOfWeek}" : "Week begint op {firstDayOfWeek}", - "Your location" : "Je locatie", "Your organisation" : "Jouw organisatie", "Your phone number" : "Je telefoonnummer", "Edit your Profile visibility" : "Wijzig je Profiel zichtbaarheid", @@ -285,6 +284,20 @@ OC.L10N.register( "Your website" : "Je website", "Add additional email" : "Toevoegen extra e-mailadres", "Add" : "Toevoegen", + "Display name" : "Weergavenaam", + "Email" : "E-mailadres", + "Group admin for" : "Groepsbeheerder voor", + "Quota" : "Limieten", + "User backend" : "Backend gebruiker", + "Storage location" : "Opslag locatie", + "Last login" : "Laatste login", + "No users in here" : "Hier zijn geen gebruikers", + "Default quota" : "Standaard quota", + "Default language" : "Standaardtaal", + "Common languages" : "Gebruikelijke talen", + "Other languages" : "Andere talen", + "Password change is disabled because the master key is disabled" : "Wachtwoordwijziging is uitgeschakeld omdat de hoofdsleutel is uitgeschakeld", + "New user" : "Nieuwe gebruiker", "You do not have permissions to see the details of this user" : "Je hebt niet de machtigingen om de details van deze gebruiekr te zien", "Add new password" : "Nieuw wachtwoord toevoegen", "Add new email address" : "Toevoegen nieuw e-mailadres", @@ -306,22 +319,6 @@ OC.L10N.register( "Welcome mail sent!" : "Welkomst-e-mail verstuurd!", "Edit User" : "Bewerk gebruiker", "{size} used" : "{size} gebruikt", - "New user" : "Nieuwe gebruiker", - "Will be autogenerated" : "Wordt automatisch gegenereerd", - "Display name" : "Weergavenaam", - "Email" : "E-mailadres", - "Default language" : "Standaardtaal", - "Add a new user" : "Nieuwe gebruiker toevoegen", - "Group admin for" : "Groepsbeheerder voor", - "Quota" : "Limieten", - "User backend" : "Backend gebruiker", - "Storage location" : "Opslag locatie", - "Last login" : "Laatste login", - "No users in here" : "Hier zijn geen gebruikers", - "Default quota" : "Standaard quota", - "Common languages" : "Gebruikelijke talen", - "Other languages" : "Andere talen", - "Password change is disabled because the master key is disabled" : "Wachtwoordwijziging is uitgeschakeld omdat de hoofdsleutel is uitgeschakeld", "Passwordless authentication requires a secure connection." : "Inloggen zonder wachtwoord vereist een beveiligde verbinding.", "Add WebAuthn device" : "WebAuthn-apparaat toevoegen", "Please authorize your WebAuthn device." : "Autoriseer je WebAuthn toestel.", @@ -346,7 +343,6 @@ OC.L10N.register( "Disabled users" : "Uitgeschakelde gebruikers", "Default quota:" : "Standaardquota:", "Select default quota" : "Selecteer standaardquotum", - "Show Languages" : "Toon talen", "Show last login" : "Toon laatste inlog", "Show user backend" : "Toon backend gebruiker", "Show storage path" : "Tonen opslagpad", @@ -388,7 +384,7 @@ OC.L10N.register( "Documentation" : "Documentatie", "Forum" : "Forum", "Login" : "Login", - "SSL/TLS" : "SSL/TLS", + "SSL" : "SSL", "Open documentation" : "Open documentatie", "It is important to set up this server to be able to send emails, like for password reset and notifications." : "Het is belangrijk deze server zo in te stellen dat er ook e-mails verstuurd kunnen worden om wachtwoord resets en meldingen bijvoorbeeld te versturen.", "Send mode" : "Verstuurmodus", @@ -397,7 +393,7 @@ OC.L10N.register( "From address" : "Afzenderadres", "Server address" : "Server adres", "Port" : "Poort", - "Authentication method" : "Authenticatiemethode", + "Authentication" : "Authenticatie", "Authentication required" : "Authenticatie vereist", "Credentials" : "Inloggegevens", "SMTP Username" : "SMTP gebruikersnaam", @@ -450,11 +446,16 @@ OC.L10N.register( "If you use third party applications to connect to Nextcloud, please make sure to create and configure an app password for each before enabling second factor authentication." : "Als u toepassingen van derden gebruikt om met Nextcloud te verbinden, zorg er dan voor om voor elke app een wachtwoord te maken en te configureren voordat \"tweede factor authenticatie\" wordt geactiveerd.", "You created app password \"{token}\"" : "Je creëerde appwachtwoord \"{token}\"", "png or jpg, max. 20 MB" : "png of jpg, max. 20 MB", + "Your location" : "Je locatie", + "Will be autogenerated" : "Wordt automatisch gegenereerd", + "Add a new user" : "Nieuwe gebruiker toevoegen", + "Show Languages" : "Toon talen", "Plain" : "Gewoon", "NT LAN Manager" : "NT LAN Manager", + "SSL/TLS" : "SSL/TLS", "STARTTLS" : "STARTTLS", + "Authentication method" : "Authenticatiemethode", "Allow username autocompletion in share dialog" : "Automatisch aanvullen gebruikersnamen binnen deeldialoog toegestaan", - "Allow username autocompletion to users within the same groups" : "Automatisch aanvullen van gebruikersnamen voor de gebruikers binnen dezelfde groepen toegestaan", - "Avatar" : "Avatar" + "Allow username autocompletion to users within the same groups" : "Automatisch aanvullen van gebruikersnamen voor de gebruikers binnen dezelfde groepen toegestaan" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/settings/l10n/nl.json b/apps/settings/l10n/nl.json index 0cdbe0efe44..4c2c71b0705 100644 --- a/apps/settings/l10n/nl.json +++ b/apps/settings/l10n/nl.json @@ -270,7 +270,6 @@ "No language set" : "Geen taal ingesteld", "Locale" : "Regionale instellingen", "Week starts on {firstDayOfWeek}" : "Week begint op {firstDayOfWeek}", - "Your location" : "Je locatie", "Your organisation" : "Jouw organisatie", "Your phone number" : "Je telefoonnummer", "Edit your Profile visibility" : "Wijzig je Profiel zichtbaarheid", @@ -283,6 +282,20 @@ "Your website" : "Je website", "Add additional email" : "Toevoegen extra e-mailadres", "Add" : "Toevoegen", + "Display name" : "Weergavenaam", + "Email" : "E-mailadres", + "Group admin for" : "Groepsbeheerder voor", + "Quota" : "Limieten", + "User backend" : "Backend gebruiker", + "Storage location" : "Opslag locatie", + "Last login" : "Laatste login", + "No users in here" : "Hier zijn geen gebruikers", + "Default quota" : "Standaard quota", + "Default language" : "Standaardtaal", + "Common languages" : "Gebruikelijke talen", + "Other languages" : "Andere talen", + "Password change is disabled because the master key is disabled" : "Wachtwoordwijziging is uitgeschakeld omdat de hoofdsleutel is uitgeschakeld", + "New user" : "Nieuwe gebruiker", "You do not have permissions to see the details of this user" : "Je hebt niet de machtigingen om de details van deze gebruiekr te zien", "Add new password" : "Nieuw wachtwoord toevoegen", "Add new email address" : "Toevoegen nieuw e-mailadres", @@ -304,22 +317,6 @@ "Welcome mail sent!" : "Welkomst-e-mail verstuurd!", "Edit User" : "Bewerk gebruiker", "{size} used" : "{size} gebruikt", - "New user" : "Nieuwe gebruiker", - "Will be autogenerated" : "Wordt automatisch gegenereerd", - "Display name" : "Weergavenaam", - "Email" : "E-mailadres", - "Default language" : "Standaardtaal", - "Add a new user" : "Nieuwe gebruiker toevoegen", - "Group admin for" : "Groepsbeheerder voor", - "Quota" : "Limieten", - "User backend" : "Backend gebruiker", - "Storage location" : "Opslag locatie", - "Last login" : "Laatste login", - "No users in here" : "Hier zijn geen gebruikers", - "Default quota" : "Standaard quota", - "Common languages" : "Gebruikelijke talen", - "Other languages" : "Andere talen", - "Password change is disabled because the master key is disabled" : "Wachtwoordwijziging is uitgeschakeld omdat de hoofdsleutel is uitgeschakeld", "Passwordless authentication requires a secure connection." : "Inloggen zonder wachtwoord vereist een beveiligde verbinding.", "Add WebAuthn device" : "WebAuthn-apparaat toevoegen", "Please authorize your WebAuthn device." : "Autoriseer je WebAuthn toestel.", @@ -344,7 +341,6 @@ "Disabled users" : "Uitgeschakelde gebruikers", "Default quota:" : "Standaardquota:", "Select default quota" : "Selecteer standaardquotum", - "Show Languages" : "Toon talen", "Show last login" : "Toon laatste inlog", "Show user backend" : "Toon backend gebruiker", "Show storage path" : "Tonen opslagpad", @@ -386,7 +382,7 @@ "Documentation" : "Documentatie", "Forum" : "Forum", "Login" : "Login", - "SSL/TLS" : "SSL/TLS", + "SSL" : "SSL", "Open documentation" : "Open documentatie", "It is important to set up this server to be able to send emails, like for password reset and notifications." : "Het is belangrijk deze server zo in te stellen dat er ook e-mails verstuurd kunnen worden om wachtwoord resets en meldingen bijvoorbeeld te versturen.", "Send mode" : "Verstuurmodus", @@ -395,7 +391,7 @@ "From address" : "Afzenderadres", "Server address" : "Server adres", "Port" : "Poort", - "Authentication method" : "Authenticatiemethode", + "Authentication" : "Authenticatie", "Authentication required" : "Authenticatie vereist", "Credentials" : "Inloggegevens", "SMTP Username" : "SMTP gebruikersnaam", @@ -448,11 +444,16 @@ "If you use third party applications to connect to Nextcloud, please make sure to create and configure an app password for each before enabling second factor authentication." : "Als u toepassingen van derden gebruikt om met Nextcloud te verbinden, zorg er dan voor om voor elke app een wachtwoord te maken en te configureren voordat \"tweede factor authenticatie\" wordt geactiveerd.", "You created app password \"{token}\"" : "Je creëerde appwachtwoord \"{token}\"", "png or jpg, max. 20 MB" : "png of jpg, max. 20 MB", + "Your location" : "Je locatie", + "Will be autogenerated" : "Wordt automatisch gegenereerd", + "Add a new user" : "Nieuwe gebruiker toevoegen", + "Show Languages" : "Toon talen", "Plain" : "Gewoon", "NT LAN Manager" : "NT LAN Manager", + "SSL/TLS" : "SSL/TLS", "STARTTLS" : "STARTTLS", + "Authentication method" : "Authenticatiemethode", "Allow username autocompletion in share dialog" : "Automatisch aanvullen gebruikersnamen binnen deeldialoog toegestaan", - "Allow username autocompletion to users within the same groups" : "Automatisch aanvullen van gebruikersnamen voor de gebruikers binnen dezelfde groepen toegestaan", - "Avatar" : "Avatar" + "Allow username autocompletion to users within the same groups" : "Automatisch aanvullen van gebruikersnamen voor de gebruikers binnen dezelfde groepen toegestaan" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/settings/l10n/nn_NO.js b/apps/settings/l10n/nn_NO.js index 122c6383931..1f5800e8302 100644 --- a/apps/settings/l10n/nn_NO.js +++ b/apps/settings/l10n/nn_NO.js @@ -99,6 +99,7 @@ OC.L10N.register( "From address" : "Frå adresse", "Server address" : "Tenaradresse", "Port" : "Port", + "Authentication" : "Godkjenning", "Credentials" : "Credentials", "SMTP Username" : "SMTP-brukarnamn", "Save" : "Lagre", @@ -112,7 +113,6 @@ OC.L10N.register( "Follow us on Twitter" : "Fylj på Twitter", "Check out our blog" : "Les våre nettsider", "Subscribe to our newsletter" : "Abonner på nyhende", - "png or jpg, max. 20 MB" : "png eller jpg, maks. 20 MB", - "Avatar" : "Avatar" + "png or jpg, max. 20 MB" : "png eller jpg, maks. 20 MB" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/settings/l10n/nn_NO.json b/apps/settings/l10n/nn_NO.json index 87c86b26aae..255818626ef 100644 --- a/apps/settings/l10n/nn_NO.json +++ b/apps/settings/l10n/nn_NO.json @@ -97,6 +97,7 @@ "From address" : "Frå adresse", "Server address" : "Tenaradresse", "Port" : "Port", + "Authentication" : "Godkjenning", "Credentials" : "Credentials", "SMTP Username" : "SMTP-brukarnamn", "Save" : "Lagre", @@ -110,7 +111,6 @@ "Follow us on Twitter" : "Fylj på Twitter", "Check out our blog" : "Les våre nettsider", "Subscribe to our newsletter" : "Abonner på nyhende", - "png or jpg, max. 20 MB" : "png eller jpg, maks. 20 MB", - "Avatar" : "Avatar" + "png or jpg, max. 20 MB" : "png eller jpg, maks. 20 MB" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/settings/l10n/oc.js b/apps/settings/l10n/oc.js index 6b7b67bcd9c..d50eed2afde 100644 --- a/apps/settings/l10n/oc.js +++ b/apps/settings/l10n/oc.js @@ -152,6 +152,16 @@ OC.L10N.register( "Enable Profile" : "Activar Perfil", "Your role" : "Vòstre ròtle", "Add" : "Ajustar", + "Display name" : "Nom afichat", + "Email" : "Adreça corrièl", + "Quota" : "Quota", + "Last login" : "Darrièra connexion", + "No users in here" : "Cap d’utilizaire aquí", + "Default quota" : "Quota per defaut", + "Default language" : "Lenga per defaut", + "Common languages" : "Lengas comunas", + "Other languages" : "Autras lengas", + "New user" : "Utilizaire novèl", "Add new password" : "Apondre senhal novèl", "Add new email address" : "Apondre adreça electronica", "Add user to group" : "Apondre utilizaire al grop", @@ -167,17 +177,6 @@ OC.L10N.register( "Welcome mail sent!" : "Email de benvenguda enviat !", "Edit User" : "Modificar l’utilizaire", "{size} used" : "{size} utilizat", - "New user" : "Utilizaire novèl", - "Display name" : "Nom afichat", - "Email" : "Adreça corrièl", - "Default language" : "Lenga per defaut", - "Add a new user" : "Apondre un utilizaire novè", - "Quota" : "Quota", - "Last login" : "Darrièra connexion", - "No users in here" : "Cap d’utilizaire aquí", - "Default quota" : "Quota per defaut", - "Common languages" : "Lengas comunas", - "Other languages" : "Autras lengas", "Name your device" : "Nommatz vòstre periferic", "Adding your device …" : "Apondon del periferic…", "Unnamed device" : "Periferic sens nom", @@ -192,7 +191,6 @@ OC.L10N.register( "Active users" : "Utilizaires actius", "Admins" : "Admins", "Disabled users" : "Utilizaires desactivats", - "Show Languages" : "Veire las lengas", "Show last login" : "Afichar la darrièra connexion", "Not saved" : "Pas enregistrat", "Sending…" : "Mandadís…", @@ -219,12 +217,12 @@ OC.L10N.register( "Documentation" : "Documentacion", "Forum" : "Forum", "Login" : "Login", - "SSL/TLS" : "SSL/TLS", "Open documentation" : "Dobrir la documentacion", "Send mode" : "Mòde de mandadís", "Encryption" : "Chiframent", "Server address" : "Adreça del servidor", "Port" : "Pòrt", + "Authentication" : "Autentificacion", "Authentication required" : "Autentificacion requerida", "Credentials" : "Informacions d'identificacion", "SMTP Username" : "Utilizaire SMTP", @@ -243,7 +241,9 @@ OC.L10N.register( "Subscribe to our newsletter" : "S’abonar a l’infoletra", "You created app password \"{token}\"" : "Avètz creat lo senhal d’aplicacion « {token} »", "png or jpg, max. 20 MB" : "png or jpg, max. 20 Mo", - "STARTTLS" : "STARTTLS", - "Avatar" : "Avatar" + "Add a new user" : "Apondre un utilizaire novè", + "Show Languages" : "Veire las lengas", + "SSL/TLS" : "SSL/TLS", + "STARTTLS" : "STARTTLS" }, "nplurals=2; plural=(n > 1);"); diff --git a/apps/settings/l10n/oc.json b/apps/settings/l10n/oc.json index da01036c930..03d6923bbf7 100644 --- a/apps/settings/l10n/oc.json +++ b/apps/settings/l10n/oc.json @@ -150,6 +150,16 @@ "Enable Profile" : "Activar Perfil", "Your role" : "Vòstre ròtle", "Add" : "Ajustar", + "Display name" : "Nom afichat", + "Email" : "Adreça corrièl", + "Quota" : "Quota", + "Last login" : "Darrièra connexion", + "No users in here" : "Cap d’utilizaire aquí", + "Default quota" : "Quota per defaut", + "Default language" : "Lenga per defaut", + "Common languages" : "Lengas comunas", + "Other languages" : "Autras lengas", + "New user" : "Utilizaire novèl", "Add new password" : "Apondre senhal novèl", "Add new email address" : "Apondre adreça electronica", "Add user to group" : "Apondre utilizaire al grop", @@ -165,17 +175,6 @@ "Welcome mail sent!" : "Email de benvenguda enviat !", "Edit User" : "Modificar l’utilizaire", "{size} used" : "{size} utilizat", - "New user" : "Utilizaire novèl", - "Display name" : "Nom afichat", - "Email" : "Adreça corrièl", - "Default language" : "Lenga per defaut", - "Add a new user" : "Apondre un utilizaire novè", - "Quota" : "Quota", - "Last login" : "Darrièra connexion", - "No users in here" : "Cap d’utilizaire aquí", - "Default quota" : "Quota per defaut", - "Common languages" : "Lengas comunas", - "Other languages" : "Autras lengas", "Name your device" : "Nommatz vòstre periferic", "Adding your device …" : "Apondon del periferic…", "Unnamed device" : "Periferic sens nom", @@ -190,7 +189,6 @@ "Active users" : "Utilizaires actius", "Admins" : "Admins", "Disabled users" : "Utilizaires desactivats", - "Show Languages" : "Veire las lengas", "Show last login" : "Afichar la darrièra connexion", "Not saved" : "Pas enregistrat", "Sending…" : "Mandadís…", @@ -217,12 +215,12 @@ "Documentation" : "Documentacion", "Forum" : "Forum", "Login" : "Login", - "SSL/TLS" : "SSL/TLS", "Open documentation" : "Dobrir la documentacion", "Send mode" : "Mòde de mandadís", "Encryption" : "Chiframent", "Server address" : "Adreça del servidor", "Port" : "Pòrt", + "Authentication" : "Autentificacion", "Authentication required" : "Autentificacion requerida", "Credentials" : "Informacions d'identificacion", "SMTP Username" : "Utilizaire SMTP", @@ -241,7 +239,9 @@ "Subscribe to our newsletter" : "S’abonar a l’infoletra", "You created app password \"{token}\"" : "Avètz creat lo senhal d’aplicacion « {token} »", "png or jpg, max. 20 MB" : "png or jpg, max. 20 Mo", - "STARTTLS" : "STARTTLS", - "Avatar" : "Avatar" + "Add a new user" : "Apondre un utilizaire novè", + "Show Languages" : "Veire las lengas", + "SSL/TLS" : "SSL/TLS", + "STARTTLS" : "STARTTLS" },"pluralForm" :"nplurals=2; plural=(n > 1);" }
\ No newline at end of file diff --git a/apps/settings/l10n/pl.js b/apps/settings/l10n/pl.js index a98a45007a6..67029c46a95 100644 --- a/apps/settings/l10n/pl.js +++ b/apps/settings/l10n/pl.js @@ -316,7 +316,6 @@ OC.L10N.register( "Week starts on {firstDayOfWeek}" : "Tydzień zaczyna się w {firstDayOfWeek}", "Unable to update locale" : "Nie można zaktualizować regionu", "No locale set" : "Nie ustawiono regionu", - "Your location" : "Twoja lokalizacja", "Your organisation" : "Twoja organizacja", "Your phone number" : "Twój numer telefonu", "Edit your Profile visibility" : "Edycja widoczności swojego profilu", @@ -334,6 +333,20 @@ OC.L10N.register( "Unable to update federation scope of additional {property}" : "Nie można zaktualizować zakresu federacji dodatkowego {property}", "Add additional email" : "Dodaj dodatkowy e-mail", "Add" : "Dodaj", + "Display name" : "Nazwa wyświetlana", + "Email" : "E-mail", + "Group admin for" : "Administrator grupy", + "Quota" : "Limit", + "User backend" : "Moduł użytkownika", + "Storage location" : "Lokalizacja magazynu", + "Last login" : "Ostatnio zalogowany", + "No users in here" : "Brak użytkowników", + "Default quota" : "Domyślny limit", + "Default language" : "Domyślny język", + "Common languages" : "Popularne języki", + "Other languages" : "Inne języki", + "Password change is disabled because the master key is disabled" : "Zmiana hasła jest zablokowana z powodu włączenia klucza głównego.", + "New user" : "Nowy użytkownik", "You do not have permissions to see the details of this user" : "Nie masz uprawnień aby zobaczyć informacje o tym użytkowniku", "Add new password" : "Dodaj nowe hasło", "Add new email address" : "Dodaj nowy adres e-mail", @@ -355,22 +368,6 @@ OC.L10N.register( "Welcome mail sent!" : "Wysłano wiadomość powitalną!", "Edit User" : "Edytuj użytkownika", "{size} used" : "Wykorzystane: {size}", - "New user" : "Nowy użytkownik", - "Will be autogenerated" : "Zostanie automatycznie wygenerowany", - "Display name" : "Nazwa wyświetlana", - "Email" : "E-mail", - "Default language" : "Domyślny język", - "Add a new user" : "Dodaj użytkownika", - "Group admin for" : "Administrator grupy", - "Quota" : "Limit", - "User backend" : "Moduł użytkownika", - "Storage location" : "Lokalizacja magazynu", - "Last login" : "Ostatnio zalogowany", - "No users in here" : "Brak użytkowników", - "Default quota" : "Domyślny limit", - "Common languages" : "Popularne języki", - "Other languages" : "Inne języki", - "Password change is disabled because the master key is disabled" : "Zmiana hasła jest zablokowana z powodu włączenia klucza głównego.", "Passwordless authentication requires a secure connection." : "Uwierzytelnianie bez hasła wymaga bezpiecznego połączenia.", "Add WebAuthn device" : "Dodaj urządzenie WebAuthn", "Please authorize your WebAuthn device." : "Autoryzuj swoje urządzenie WebAuthn.", @@ -395,7 +392,6 @@ OC.L10N.register( "Disabled users" : "Zablokowani użytkownicy", "Default quota:" : "Domyślny limit:", "Select default quota" : "Wybierz domyślny limit", - "Show Languages" : "Pokaż języki", "Show last login" : "Pokaż ostatnie logowanie", "Show user backend" : "Pokaż moduł użytkownika", "Show storage path" : "Pokaż ścieżkę przechowywania", @@ -439,7 +435,7 @@ OC.L10N.register( "Documentation" : "Dokumentacja", "Forum" : "Forum", "Login" : "Login", - "SSL/TLS" : "SSL/TLS", + "SSL" : "SSL", "Open documentation" : "Otwórz dokumentację", "It is important to set up this server to be able to send emails, like for password reset and notifications." : "Należy skonfigurować ten serwer, aby umożliwić wysyłanie wiadomości e-mail z powiadomieniami i resetowaniem hasła.", "Send mode" : "Sposób wysyłania", @@ -448,8 +444,7 @@ OC.L10N.register( "From address" : "Z adresu", "Server address" : "Adres serwera", "Port" : "Port", - "Authentication method" : "Metoda uwierzytelnienia", - "Only applies when authentication is required" : "Ma zastosowanie tylko wtedy, gdy wymagane jest uwierzytelnienie", + "Authentication" : "Uwierzytelnienie", "Authentication required" : "Wymagane uwierzytelnienie", "Credentials" : "Poświadczenia", "SMTP Username" : "Użytkownik SMTP", @@ -505,11 +500,16 @@ OC.L10N.register( "An administrator created app password \"{token}\"" : "Administrator utworzył hasło aplikacji \"{token}\"", "Choose profile picture from files" : "Wybierz zdjęcie profilowe z Plików", "png or jpg, max. 20 MB" : "png lub jpg, maks. 20 MB", + "Your location" : "Twoja lokalizacja", + "Will be autogenerated" : "Zostanie automatycznie wygenerowany", + "Add a new user" : "Dodaj użytkownika", + "Show Languages" : "Pokaż języki", "Plain" : "Czysty tekst", "NT LAN Manager" : "NT LAN Manager", + "SSL/TLS" : "SSL/TLS", "STARTTLS" : "STARTTLS", + "Authentication method" : "Metoda uwierzytelnienia", "Allow username autocompletion in share dialog" : "Zezwalaj na automatyczne uzupełnianie nazwy użytkownika w oknie udostępnienia", - "Allow username autocompletion to users within the same groups" : "Zezwalaj na automatyczne uzupełnianie nazwy użytkownika dla użytkowników w tych samych grupach", - "Avatar" : "Awatar" + "Allow username autocompletion to users within the same groups" : "Zezwalaj na automatyczne uzupełnianie nazwy użytkownika dla użytkowników w tych samych grupach" }, "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/apps/settings/l10n/pl.json b/apps/settings/l10n/pl.json index b18cc85a699..2ebba8fdebc 100644 --- a/apps/settings/l10n/pl.json +++ b/apps/settings/l10n/pl.json @@ -314,7 +314,6 @@ "Week starts on {firstDayOfWeek}" : "Tydzień zaczyna się w {firstDayOfWeek}", "Unable to update locale" : "Nie można zaktualizować regionu", "No locale set" : "Nie ustawiono regionu", - "Your location" : "Twoja lokalizacja", "Your organisation" : "Twoja organizacja", "Your phone number" : "Twój numer telefonu", "Edit your Profile visibility" : "Edycja widoczności swojego profilu", @@ -332,6 +331,20 @@ "Unable to update federation scope of additional {property}" : "Nie można zaktualizować zakresu federacji dodatkowego {property}", "Add additional email" : "Dodaj dodatkowy e-mail", "Add" : "Dodaj", + "Display name" : "Nazwa wyświetlana", + "Email" : "E-mail", + "Group admin for" : "Administrator grupy", + "Quota" : "Limit", + "User backend" : "Moduł użytkownika", + "Storage location" : "Lokalizacja magazynu", + "Last login" : "Ostatnio zalogowany", + "No users in here" : "Brak użytkowników", + "Default quota" : "Domyślny limit", + "Default language" : "Domyślny język", + "Common languages" : "Popularne języki", + "Other languages" : "Inne języki", + "Password change is disabled because the master key is disabled" : "Zmiana hasła jest zablokowana z powodu włączenia klucza głównego.", + "New user" : "Nowy użytkownik", "You do not have permissions to see the details of this user" : "Nie masz uprawnień aby zobaczyć informacje o tym użytkowniku", "Add new password" : "Dodaj nowe hasło", "Add new email address" : "Dodaj nowy adres e-mail", @@ -353,22 +366,6 @@ "Welcome mail sent!" : "Wysłano wiadomość powitalną!", "Edit User" : "Edytuj użytkownika", "{size} used" : "Wykorzystane: {size}", - "New user" : "Nowy użytkownik", - "Will be autogenerated" : "Zostanie automatycznie wygenerowany", - "Display name" : "Nazwa wyświetlana", - "Email" : "E-mail", - "Default language" : "Domyślny język", - "Add a new user" : "Dodaj użytkownika", - "Group admin for" : "Administrator grupy", - "Quota" : "Limit", - "User backend" : "Moduł użytkownika", - "Storage location" : "Lokalizacja magazynu", - "Last login" : "Ostatnio zalogowany", - "No users in here" : "Brak użytkowników", - "Default quota" : "Domyślny limit", - "Common languages" : "Popularne języki", - "Other languages" : "Inne języki", - "Password change is disabled because the master key is disabled" : "Zmiana hasła jest zablokowana z powodu włączenia klucza głównego.", "Passwordless authentication requires a secure connection." : "Uwierzytelnianie bez hasła wymaga bezpiecznego połączenia.", "Add WebAuthn device" : "Dodaj urządzenie WebAuthn", "Please authorize your WebAuthn device." : "Autoryzuj swoje urządzenie WebAuthn.", @@ -393,7 +390,6 @@ "Disabled users" : "Zablokowani użytkownicy", "Default quota:" : "Domyślny limit:", "Select default quota" : "Wybierz domyślny limit", - "Show Languages" : "Pokaż języki", "Show last login" : "Pokaż ostatnie logowanie", "Show user backend" : "Pokaż moduł użytkownika", "Show storage path" : "Pokaż ścieżkę przechowywania", @@ -437,7 +433,7 @@ "Documentation" : "Dokumentacja", "Forum" : "Forum", "Login" : "Login", - "SSL/TLS" : "SSL/TLS", + "SSL" : "SSL", "Open documentation" : "Otwórz dokumentację", "It is important to set up this server to be able to send emails, like for password reset and notifications." : "Należy skonfigurować ten serwer, aby umożliwić wysyłanie wiadomości e-mail z powiadomieniami i resetowaniem hasła.", "Send mode" : "Sposób wysyłania", @@ -446,8 +442,7 @@ "From address" : "Z adresu", "Server address" : "Adres serwera", "Port" : "Port", - "Authentication method" : "Metoda uwierzytelnienia", - "Only applies when authentication is required" : "Ma zastosowanie tylko wtedy, gdy wymagane jest uwierzytelnienie", + "Authentication" : "Uwierzytelnienie", "Authentication required" : "Wymagane uwierzytelnienie", "Credentials" : "Poświadczenia", "SMTP Username" : "Użytkownik SMTP", @@ -503,11 +498,16 @@ "An administrator created app password \"{token}\"" : "Administrator utworzył hasło aplikacji \"{token}\"", "Choose profile picture from files" : "Wybierz zdjęcie profilowe z Plików", "png or jpg, max. 20 MB" : "png lub jpg, maks. 20 MB", + "Your location" : "Twoja lokalizacja", + "Will be autogenerated" : "Zostanie automatycznie wygenerowany", + "Add a new user" : "Dodaj użytkownika", + "Show Languages" : "Pokaż języki", "Plain" : "Czysty tekst", "NT LAN Manager" : "NT LAN Manager", + "SSL/TLS" : "SSL/TLS", "STARTTLS" : "STARTTLS", + "Authentication method" : "Metoda uwierzytelnienia", "Allow username autocompletion in share dialog" : "Zezwalaj na automatyczne uzupełnianie nazwy użytkownika w oknie udostępnienia", - "Allow username autocompletion to users within the same groups" : "Zezwalaj na automatyczne uzupełnianie nazwy użytkownika dla użytkowników w tych samych grupach", - "Avatar" : "Awatar" + "Allow username autocompletion to users within the same groups" : "Zezwalaj na automatyczne uzupełnianie nazwy użytkownika dla użytkowników w tych samych grupach" },"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/apps/settings/l10n/pt_BR.js b/apps/settings/l10n/pt_BR.js index 9bc78e3a368..430f68d14a4 100644 --- a/apps/settings/l10n/pt_BR.js +++ b/apps/settings/l10n/pt_BR.js @@ -316,7 +316,6 @@ OC.L10N.register( "Week starts on {firstDayOfWeek}" : "A semana começa em {firstDayOfWeek}", "Unable to update locale" : "Não foi possível atualizar a localidade", "No locale set" : "Nenhuma localidade definida", - "Your location" : "Sua localização", "Your organisation" : "Sua organização", "Your phone number" : "Seu número de telefone", "Edit your Profile visibility" : "Edite a visibilidade do seu perfil", @@ -334,6 +333,35 @@ OC.L10N.register( "Unable to update federation scope of additional {property}" : "Não foi possível atualizar o escopo da federação de adicional {property}", "Add additional email" : "Adicionar e-mail adicional", "Add" : "Adicionar", + "User's table" : "Selecione o gerente", + "Display name" : "Nome de exibição", + "Email" : "E-mail", + "Group admin for" : "Admin. de grupo", + "Quota" : "Cota", + "User backend" : "Plataforma de serviço de usuário", + "Storage location" : "Local do armazenamento", + "Last login" : "Último acesso", + "Manager" : "Gerente", + "No users in here" : "Nenhum usuário aqui", + "Default quota" : "Cota padrão", + "Default language" : "Idioma padrão", + "Common languages" : "Idiomas comuns", + "Other languages" : "Outros Idiomas", + "Password change is disabled because the master key is disabled" : "A alteração de senha está desativada porque a chave mestra está desativada", + "New user" : "Novo usuário", + "Either password or email is required" : "Either password or email is required", + "Password (required)" : "Password (required)", + "Email (required)" : "Email (required)", + "Groups (required)" : "Groups (required)", + "Set user groups" : "Set user groups", + "Administered groups" : "Administered groups", + "Set user as admin for …" : "Set user as admin for …", + "Set user quota" : "Set user quota", + "Set default language" : "Set default language", + "Set user manager" : "Set user manager", + "Add new user" : "Add new user", + "Username will be autogenerated" : "Username will be autogenerated", + "Username (required)" : "Username (required)", "You do not have permissions to see the details of this user" : "Você não tem permissão para ver os detalhes deste usuário", "Edit display name" : "Editar nome de exibição", "Add new password" : "Adicionar nova senha", @@ -358,25 +386,6 @@ OC.L10N.register( "Welcome mail sent!" : "E-mail de boas-vindas enviado!", "Edit User" : "Editar Usuário", "{size} used" : "{size} usado", - "User's table" : "Selecione o gerente", - "New user" : "Novo usuário", - "Will be autogenerated" : "Será autogerado", - "Display name" : "Nome de exibição", - "Email" : "E-mail", - "Default language" : "Idioma padrão", - "Select user manager" : "Selecione o gerenciador de usuários", - "Add a new user" : "Adicione um novo usuário", - "Group admin for" : "Admin. de grupo", - "Quota" : "Cota", - "User backend" : "Plataforma de serviço de usuário", - "Storage location" : "Local do armazenamento", - "Last login" : "Último acesso", - "Manager" : "Gerente", - "No users in here" : "Nenhum usuário aqui", - "Default quota" : "Cota padrão", - "Common languages" : "Idiomas comuns", - "Other languages" : "Outros Idiomas", - "Password change is disabled because the master key is disabled" : "A alteração de senha está desativada porque a chave mestra está desativada", "Passwordless authentication requires a secure connection." : "Autenticação sem senha necessita uma conexão segura.", "Add WebAuthn device" : "Adicionar dispositivo WebAuthn", "Please authorize your WebAuthn device." : "Autorize seu dispositivo Webauthn.", @@ -401,7 +410,7 @@ OC.L10N.register( "Disabled users" : "Usuários desativados", "Default quota:" : "Cota padrão:", "Select default quota" : "Selecionar a cota padrão", - "Show Languages" : "Exibir idiomas", + "Show languages" : "Show languages", "Show last login" : "Exibir último login", "Show user backend" : "Exibir plataforma de serviço de usuário", "Show storage path" : "Exibir caminho de armazenamento", @@ -445,7 +454,8 @@ OC.L10N.register( "Documentation" : "Documentação", "Forum" : "Fórum", "Login" : "Login", - "SSL/TLS" : "SSL/TLS", + "None/STARTTLS" : "None/STARTTLS", + "SSL" : "SSL", "Open documentation" : "Abrir documentação", "It is important to set up this server to be able to send emails, like for password reset and notifications." : "É importante configurar este servidor para poder enviar e-mails para redefinir a senha e notificações.", "Send mode" : "Modo de envio", @@ -454,8 +464,7 @@ OC.L10N.register( "From address" : "Endereço \"From\"", "Server address" : "Endereço do servidor", "Port" : "Porta", - "Authentication method" : "Método de autenticação", - "Only applies when authentication is required" : "Only applies when authentication is required", + "Authentication" : "Autenticação", "Authentication required" : "Autenticação é necessária", "Credentials" : "Credenciais", "SMTP Username" : "Nome do Usuário SMTP", @@ -513,12 +522,17 @@ OC.L10N.register( "An administrator created app password \"{token}\"" : "Um administrador criou a senha do aplicativo \"{token}\"", "Choose profile picture from files" : "Escolha a foto do perfil dos arquivos", "png or jpg, max. 20 MB" : "png ou jpg, max. 20 MB", + "Your location" : "Sua localização", + "Will be autogenerated" : "Será autogerado", + "Add a new user" : "Adicione um novo usuário", + "Show Languages" : "Exibir idiomas", "Plain" : "Plano", "NT LAN Manager" : "Gerenciador NT LAN", + "SSL/TLS" : "SSL/TLS", "STARTTLS" : "STARTTLS", + "Authentication method" : "Método de autenticação", "Allow username autocompletion in share dialog" : "Permitir autocompletar o nome de usuário na caixa de compartilhamento", "Allow username autocompletion to users within the same groups" : "Permitir autocompletar o nome de usuário para usuários dentro dos mesmos grupos", - "Avatar" : "Avatar", - "User actions" : "Ações do usuário" + "Select user manager" : "Selecione o gerenciador de usuários" }, "nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); diff --git a/apps/settings/l10n/pt_BR.json b/apps/settings/l10n/pt_BR.json index 0af50fa040d..8bedefa8dc4 100644 --- a/apps/settings/l10n/pt_BR.json +++ b/apps/settings/l10n/pt_BR.json @@ -314,7 +314,6 @@ "Week starts on {firstDayOfWeek}" : "A semana começa em {firstDayOfWeek}", "Unable to update locale" : "Não foi possível atualizar a localidade", "No locale set" : "Nenhuma localidade definida", - "Your location" : "Sua localização", "Your organisation" : "Sua organização", "Your phone number" : "Seu número de telefone", "Edit your Profile visibility" : "Edite a visibilidade do seu perfil", @@ -332,6 +331,35 @@ "Unable to update federation scope of additional {property}" : "Não foi possível atualizar o escopo da federação de adicional {property}", "Add additional email" : "Adicionar e-mail adicional", "Add" : "Adicionar", + "User's table" : "Selecione o gerente", + "Display name" : "Nome de exibição", + "Email" : "E-mail", + "Group admin for" : "Admin. de grupo", + "Quota" : "Cota", + "User backend" : "Plataforma de serviço de usuário", + "Storage location" : "Local do armazenamento", + "Last login" : "Último acesso", + "Manager" : "Gerente", + "No users in here" : "Nenhum usuário aqui", + "Default quota" : "Cota padrão", + "Default language" : "Idioma padrão", + "Common languages" : "Idiomas comuns", + "Other languages" : "Outros Idiomas", + "Password change is disabled because the master key is disabled" : "A alteração de senha está desativada porque a chave mestra está desativada", + "New user" : "Novo usuário", + "Either password or email is required" : "Either password or email is required", + "Password (required)" : "Password (required)", + "Email (required)" : "Email (required)", + "Groups (required)" : "Groups (required)", + "Set user groups" : "Set user groups", + "Administered groups" : "Administered groups", + "Set user as admin for …" : "Set user as admin for …", + "Set user quota" : "Set user quota", + "Set default language" : "Set default language", + "Set user manager" : "Set user manager", + "Add new user" : "Add new user", + "Username will be autogenerated" : "Username will be autogenerated", + "Username (required)" : "Username (required)", "You do not have permissions to see the details of this user" : "Você não tem permissão para ver os detalhes deste usuário", "Edit display name" : "Editar nome de exibição", "Add new password" : "Adicionar nova senha", @@ -356,25 +384,6 @@ "Welcome mail sent!" : "E-mail de boas-vindas enviado!", "Edit User" : "Editar Usuário", "{size} used" : "{size} usado", - "User's table" : "Selecione o gerente", - "New user" : "Novo usuário", - "Will be autogenerated" : "Será autogerado", - "Display name" : "Nome de exibição", - "Email" : "E-mail", - "Default language" : "Idioma padrão", - "Select user manager" : "Selecione o gerenciador de usuários", - "Add a new user" : "Adicione um novo usuário", - "Group admin for" : "Admin. de grupo", - "Quota" : "Cota", - "User backend" : "Plataforma de serviço de usuário", - "Storage location" : "Local do armazenamento", - "Last login" : "Último acesso", - "Manager" : "Gerente", - "No users in here" : "Nenhum usuário aqui", - "Default quota" : "Cota padrão", - "Common languages" : "Idiomas comuns", - "Other languages" : "Outros Idiomas", - "Password change is disabled because the master key is disabled" : "A alteração de senha está desativada porque a chave mestra está desativada", "Passwordless authentication requires a secure connection." : "Autenticação sem senha necessita uma conexão segura.", "Add WebAuthn device" : "Adicionar dispositivo WebAuthn", "Please authorize your WebAuthn device." : "Autorize seu dispositivo Webauthn.", @@ -399,7 +408,7 @@ "Disabled users" : "Usuários desativados", "Default quota:" : "Cota padrão:", "Select default quota" : "Selecionar a cota padrão", - "Show Languages" : "Exibir idiomas", + "Show languages" : "Show languages", "Show last login" : "Exibir último login", "Show user backend" : "Exibir plataforma de serviço de usuário", "Show storage path" : "Exibir caminho de armazenamento", @@ -443,7 +452,8 @@ "Documentation" : "Documentação", "Forum" : "Fórum", "Login" : "Login", - "SSL/TLS" : "SSL/TLS", + "None/STARTTLS" : "None/STARTTLS", + "SSL" : "SSL", "Open documentation" : "Abrir documentação", "It is important to set up this server to be able to send emails, like for password reset and notifications." : "É importante configurar este servidor para poder enviar e-mails para redefinir a senha e notificações.", "Send mode" : "Modo de envio", @@ -452,8 +462,7 @@ "From address" : "Endereço \"From\"", "Server address" : "Endereço do servidor", "Port" : "Porta", - "Authentication method" : "Método de autenticação", - "Only applies when authentication is required" : "Only applies when authentication is required", + "Authentication" : "Autenticação", "Authentication required" : "Autenticação é necessária", "Credentials" : "Credenciais", "SMTP Username" : "Nome do Usuário SMTP", @@ -511,12 +520,17 @@ "An administrator created app password \"{token}\"" : "Um administrador criou a senha do aplicativo \"{token}\"", "Choose profile picture from files" : "Escolha a foto do perfil dos arquivos", "png or jpg, max. 20 MB" : "png ou jpg, max. 20 MB", + "Your location" : "Sua localização", + "Will be autogenerated" : "Será autogerado", + "Add a new user" : "Adicione um novo usuário", + "Show Languages" : "Exibir idiomas", "Plain" : "Plano", "NT LAN Manager" : "Gerenciador NT LAN", + "SSL/TLS" : "SSL/TLS", "STARTTLS" : "STARTTLS", + "Authentication method" : "Método de autenticação", "Allow username autocompletion in share dialog" : "Permitir autocompletar o nome de usuário na caixa de compartilhamento", "Allow username autocompletion to users within the same groups" : "Permitir autocompletar o nome de usuário para usuários dentro dos mesmos grupos", - "Avatar" : "Avatar", - "User actions" : "Ações do usuário" + "Select user manager" : "Selecione o gerenciador de usuários" },"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/settings/l10n/pt_PT.js b/apps/settings/l10n/pt_PT.js index 02fdc0f034e..10baf2d933b 100644 --- a/apps/settings/l10n/pt_PT.js +++ b/apps/settings/l10n/pt_PT.js @@ -203,7 +203,6 @@ OC.L10N.register( "Help translate" : "Ajude a traduzir", "Your phone number" : "O seu número de telefone", "Add" : "Adicionar", - "{size} used" : "{size} utilizado", "Display name" : "Nome de apresentação", "Email" : "Email", "Group admin for" : "Administrador de grupo para", @@ -212,6 +211,7 @@ OC.L10N.register( "Storage location" : "Localização do armazenamento", "Last login" : "Último início de sessão", "Default quota" : "Quota padrão", + "{size} used" : "{size} utilizado", "Your apps" : "As suas apps", "Changelog" : "Registo de alterações", "Add group" : "Adicionar grupo", @@ -243,7 +243,7 @@ OC.L10N.register( "Documentation" : "Documentação", "Forum" : "Fórum", "Login" : "Iniciar Sessão", - "SSL/TLS" : "SSL/TLS", + "SSL" : "SSL", "Open documentation" : "Abrir documentação", "It is important to set up this server to be able to send emails, like for password reset and notifications." : "É importante configurar este servidor para ser possível enviar emails, possibilitando enviar notificações bem como possibilitar a recuperação de senhas.", "Send mode" : "Modo de Envio", @@ -251,7 +251,7 @@ OC.L10N.register( "From address" : "Do endereço", "Server address" : "Endereço do Servidor", "Port" : "Porta", - "Authentication method" : "Método de Autenticação", + "Authentication" : "Autenticação", "Authentication required" : "Autenticação necessária", "Credentials" : "Credenciais", "SMTP Username" : "Nome de utilizador SMTP", @@ -283,7 +283,8 @@ OC.L10N.register( "png or jpg, max. 20 MB" : "png ou jpg, máx. 20 MB", "Plain" : "Plano", "NT LAN Manager" : "Gestor de REDE NT", + "SSL/TLS" : "SSL/TLS", "STARTTLS" : "STARTTLS", - "Avatar" : "Avatar" + "Authentication method" : "Método de Autenticação" }, "nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); diff --git a/apps/settings/l10n/pt_PT.json b/apps/settings/l10n/pt_PT.json index 31402e4feab..126611825a3 100644 --- a/apps/settings/l10n/pt_PT.json +++ b/apps/settings/l10n/pt_PT.json @@ -201,7 +201,6 @@ "Help translate" : "Ajude a traduzir", "Your phone number" : "O seu número de telefone", "Add" : "Adicionar", - "{size} used" : "{size} utilizado", "Display name" : "Nome de apresentação", "Email" : "Email", "Group admin for" : "Administrador de grupo para", @@ -210,6 +209,7 @@ "Storage location" : "Localização do armazenamento", "Last login" : "Último início de sessão", "Default quota" : "Quota padrão", + "{size} used" : "{size} utilizado", "Your apps" : "As suas apps", "Changelog" : "Registo de alterações", "Add group" : "Adicionar grupo", @@ -241,7 +241,7 @@ "Documentation" : "Documentação", "Forum" : "Fórum", "Login" : "Iniciar Sessão", - "SSL/TLS" : "SSL/TLS", + "SSL" : "SSL", "Open documentation" : "Abrir documentação", "It is important to set up this server to be able to send emails, like for password reset and notifications." : "É importante configurar este servidor para ser possível enviar emails, possibilitando enviar notificações bem como possibilitar a recuperação de senhas.", "Send mode" : "Modo de Envio", @@ -249,7 +249,7 @@ "From address" : "Do endereço", "Server address" : "Endereço do Servidor", "Port" : "Porta", - "Authentication method" : "Método de Autenticação", + "Authentication" : "Autenticação", "Authentication required" : "Autenticação necessária", "Credentials" : "Credenciais", "SMTP Username" : "Nome de utilizador SMTP", @@ -281,7 +281,8 @@ "png or jpg, max. 20 MB" : "png ou jpg, máx. 20 MB", "Plain" : "Plano", "NT LAN Manager" : "Gestor de REDE NT", + "SSL/TLS" : "SSL/TLS", "STARTTLS" : "STARTTLS", - "Avatar" : "Avatar" + "Authentication method" : "Método de Autenticação" },"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/settings/l10n/ro.js b/apps/settings/l10n/ro.js index c261d27c7b0..6e677e14fe7 100644 --- a/apps/settings/l10n/ro.js +++ b/apps/settings/l10n/ro.js @@ -196,12 +196,12 @@ OC.L10N.register( "Help translate" : "Ajută la traducere", "Your phone number" : "Numărul tău de telefon", "Add" : "Adaugă", - "You do not have permissions to see the details of this user" : "Nu aveți permisiuni pentru a vedea detaliile acestui utilizator", - "{size} used" : "{size} folosită", "Display name" : "Nume afișat", "Email" : "Email", - "Default language" : "Limba implicită", "Quota" : "Cotă", + "Default language" : "Limba implicită", + "You do not have permissions to see the details of this user" : "Nu aveți permisiuni pentru a vedea detaliile acestui utilizator", + "{size} used" : "{size} folosită", "Add WebAuthn device" : "Adăugați dispozitivul WebAuthn", "Name your device" : "Numiți dispozitivul dvs.", "Adding your device …" : "Adăugarea dispozitivului dvs ...", @@ -231,14 +231,14 @@ OC.L10N.register( "Documentation" : "Documentație", "Forum" : "Forum", "Login" : "Autentificare", - "SSL/TLS" : "SSL/TLS", + "SSL" : "SSL", "Open documentation" : "Deschide documentația", "Send mode" : "Modul de expediere", "Encryption" : "Încriptare", "From address" : "De la adresa", "Server address" : "Adresa server-ului", "Port" : "Portul", - "Authentication method" : "Modul de autentificare", + "Authentication" : "Autentificare", "Authentication required" : "Autentificare necesară", "Credentials" : "Detalii de autentificare", "SMTP Username" : "Nume utilizator SMTP", @@ -262,7 +262,8 @@ OC.L10N.register( "png or jpg, max. 20 MB" : "png sau jpg, max. 20 MB", "Plain" : "Plain", "NT LAN Manager" : "NT LAN Manager", + "SSL/TLS" : "SSL/TLS", "STARTTLS" : "STARTTLS", - "Avatar" : "Avatar" + "Authentication method" : "Modul de autentificare" }, "nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));"); diff --git a/apps/settings/l10n/ro.json b/apps/settings/l10n/ro.json index e3ebe88c390..17faed93f55 100644 --- a/apps/settings/l10n/ro.json +++ b/apps/settings/l10n/ro.json @@ -194,12 +194,12 @@ "Help translate" : "Ajută la traducere", "Your phone number" : "Numărul tău de telefon", "Add" : "Adaugă", - "You do not have permissions to see the details of this user" : "Nu aveți permisiuni pentru a vedea detaliile acestui utilizator", - "{size} used" : "{size} folosită", "Display name" : "Nume afișat", "Email" : "Email", - "Default language" : "Limba implicită", "Quota" : "Cotă", + "Default language" : "Limba implicită", + "You do not have permissions to see the details of this user" : "Nu aveți permisiuni pentru a vedea detaliile acestui utilizator", + "{size} used" : "{size} folosită", "Add WebAuthn device" : "Adăugați dispozitivul WebAuthn", "Name your device" : "Numiți dispozitivul dvs.", "Adding your device …" : "Adăugarea dispozitivului dvs ...", @@ -229,14 +229,14 @@ "Documentation" : "Documentație", "Forum" : "Forum", "Login" : "Autentificare", - "SSL/TLS" : "SSL/TLS", + "SSL" : "SSL", "Open documentation" : "Deschide documentația", "Send mode" : "Modul de expediere", "Encryption" : "Încriptare", "From address" : "De la adresa", "Server address" : "Adresa server-ului", "Port" : "Portul", - "Authentication method" : "Modul de autentificare", + "Authentication" : "Autentificare", "Authentication required" : "Autentificare necesară", "Credentials" : "Detalii de autentificare", "SMTP Username" : "Nume utilizator SMTP", @@ -260,7 +260,8 @@ "png or jpg, max. 20 MB" : "png sau jpg, max. 20 MB", "Plain" : "Plain", "NT LAN Manager" : "NT LAN Manager", + "SSL/TLS" : "SSL/TLS", "STARTTLS" : "STARTTLS", - "Avatar" : "Avatar" + "Authentication method" : "Modul de autentificare" },"pluralForm" :"nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));" }
\ No newline at end of file diff --git a/apps/settings/l10n/ru.js b/apps/settings/l10n/ru.js index ffe2d70298d..e1e4362de78 100644 --- a/apps/settings/l10n/ru.js +++ b/apps/settings/l10n/ru.js @@ -316,7 +316,6 @@ OC.L10N.register( "Week starts on {firstDayOfWeek}" : "Первый день недели: {firstDayOfWeek}", "Unable to update locale" : "Не удалось обновить локаль", "No locale set" : "Локаль не задана", - "Your location" : "Местоположение", "Your organisation" : "Ваша организация", "Your phone number" : "Ваш номер телефона", "Edit your Profile visibility" : "Изменить видимость профиля", @@ -334,6 +333,22 @@ OC.L10N.register( "Unable to update federation scope of additional {property}" : "Не удалось обновить область федерации дополнительного {property}", "Add additional email" : "Добавить дополнительную электронную почту", "Add" : "Добавить", + "User's table" : "Таблица пользователя", + "Display name" : "Отображаемое имя", + "Email" : "Адрес эл. почты", + "Group admin for" : "Администратор групп", + "Quota" : "Квота", + "User backend" : "Механизм учёта", + "Storage location" : "Расположение хранилища", + "Last login" : "Последний вход", + "Manager" : "Руководитель", + "No users in here" : "Здесь нет ни одного пользователя", + "Default quota" : "Квота по умолчанию", + "Default language" : "Язык по умолчанию", + "Common languages" : "Основные языки", + "Other languages" : "Другие языки", + "Password change is disabled because the master key is disabled" : "Смена пароля невозможна при отключённом мастер-ключе", + "New user" : "Новый пользователь", "You do not have permissions to see the details of this user" : "У вас нет прав на просмотр данных об этом пользователе", "Edit display name" : "Редактировать отображаемое имя", "Add new password" : "Добавить пароль", @@ -358,25 +373,6 @@ OC.L10N.register( "Welcome mail sent!" : "Приглашение отправлено!", "Edit User" : "Редактировать уч. запись", "{size} used" : "использовано {size}", - "User's table" : "Таблица пользователя", - "New user" : "Новый пользователь", - "Will be autogenerated" : "Будет сгенерирован автоматически", - "Display name" : "Отображаемое имя", - "Email" : "Адрес эл. почты", - "Default language" : "Язык по умолчанию", - "Select user manager" : "Выбрать менеджер выделений", - "Add a new user" : "Создать пользователя", - "Group admin for" : "Администратор групп", - "Quota" : "Квота", - "User backend" : "Механизм учёта", - "Storage location" : "Расположение хранилища", - "Last login" : "Последний вход", - "Manager" : "Руководитель", - "No users in here" : "Здесь нет ни одного пользователя", - "Default quota" : "Квота по умолчанию", - "Common languages" : "Основные языки", - "Other languages" : "Другие языки", - "Password change is disabled because the master key is disabled" : "Смена пароля невозможна при отключённом мастер-ключе", "Passwordless authentication requires a secure connection." : "Аутентификация без пароля требует безопасного соединения.", "Add WebAuthn device" : "Добавить устройство WebAuthn", "Please authorize your WebAuthn device." : "Пожалуйста, авторизуйте ваше устройство WebAuthn.", @@ -401,7 +397,6 @@ OC.L10N.register( "Disabled users" : "Отключённые пользователи", "Default quota:" : "Квота по умолчанию: ", "Select default quota" : "Квота по умолчанию", - "Show Languages" : "Показывать язык", "Show last login" : "Время последнего входа в систему", "Show user backend" : "Механизм учёта", "Show storage path" : "Путь хранилища", @@ -445,7 +440,7 @@ OC.L10N.register( "Documentation" : "Документация", "Forum" : "Форум", "Login" : "Логин", - "SSL/TLS" : "SSL/TLS", + "SSL" : "SSL", "Open documentation" : "Открыть документацию", "It is important to set up this server to be able to send emails, like for password reset and notifications." : "Важно предоставить этому серверу возможность отправлять электронные письма, например, для сброса пароля и уведомлений.", "Send mode" : "Способ отправки", @@ -454,8 +449,7 @@ OC.L10N.register( "From address" : "Адрес отправителя", "Server address" : "Адрес сервера", "Port" : "Порт", - "Authentication method" : "Метод проверки подлинности", - "Only applies when authentication is required" : "Применяется только тогда, когда требуется аутентификация", + "Authentication" : "Аутентификация", "Authentication required" : "Требуется аутентификация ", "Credentials" : "Учётные данные", "SMTP Username" : "Пользователь SMTP", @@ -513,12 +507,17 @@ OC.L10N.register( "An administrator created app password \"{token}\"" : "Администратор создал пароль приложения «{token}»", "Choose profile picture from files" : "Выбрать изображение профиля из загруженных файлов", "png or jpg, max. 20 MB" : "png или jpg, макс. 20 МБ", + "Your location" : "Местоположение", + "Will be autogenerated" : "Будет сгенерирован автоматически", + "Add a new user" : "Создать пользователя", + "Show Languages" : "Показывать язык", "Plain" : "Простой", "NT LAN Manager" : "Менеджер NT LAN", + "SSL/TLS" : "SSL/TLS", "STARTTLS" : "STARTTLS", + "Authentication method" : "Метод проверки подлинности", "Allow username autocompletion in share dialog" : "Разрешить автозаполнение имени пользователя в диалоговом окне общего доступа", "Allow username autocompletion to users within the same groups" : "Разрешить автозаполнение имени пользователя для пользователей в тех же группах", - "Avatar" : "Аватар", - "User actions" : "Действия пользователя" + "Select user manager" : "Выбрать менеджер выделений" }, "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/apps/settings/l10n/ru.json b/apps/settings/l10n/ru.json index b6982a63893..6af6bcd821c 100644 --- a/apps/settings/l10n/ru.json +++ b/apps/settings/l10n/ru.json @@ -314,7 +314,6 @@ "Week starts on {firstDayOfWeek}" : "Первый день недели: {firstDayOfWeek}", "Unable to update locale" : "Не удалось обновить локаль", "No locale set" : "Локаль не задана", - "Your location" : "Местоположение", "Your organisation" : "Ваша организация", "Your phone number" : "Ваш номер телефона", "Edit your Profile visibility" : "Изменить видимость профиля", @@ -332,6 +331,22 @@ "Unable to update federation scope of additional {property}" : "Не удалось обновить область федерации дополнительного {property}", "Add additional email" : "Добавить дополнительную электронную почту", "Add" : "Добавить", + "User's table" : "Таблица пользователя", + "Display name" : "Отображаемое имя", + "Email" : "Адрес эл. почты", + "Group admin for" : "Администратор групп", + "Quota" : "Квота", + "User backend" : "Механизм учёта", + "Storage location" : "Расположение хранилища", + "Last login" : "Последний вход", + "Manager" : "Руководитель", + "No users in here" : "Здесь нет ни одного пользователя", + "Default quota" : "Квота по умолчанию", + "Default language" : "Язык по умолчанию", + "Common languages" : "Основные языки", + "Other languages" : "Другие языки", + "Password change is disabled because the master key is disabled" : "Смена пароля невозможна при отключённом мастер-ключе", + "New user" : "Новый пользователь", "You do not have permissions to see the details of this user" : "У вас нет прав на просмотр данных об этом пользователе", "Edit display name" : "Редактировать отображаемое имя", "Add new password" : "Добавить пароль", @@ -356,25 +371,6 @@ "Welcome mail sent!" : "Приглашение отправлено!", "Edit User" : "Редактировать уч. запись", "{size} used" : "использовано {size}", - "User's table" : "Таблица пользователя", - "New user" : "Новый пользователь", - "Will be autogenerated" : "Будет сгенерирован автоматически", - "Display name" : "Отображаемое имя", - "Email" : "Адрес эл. почты", - "Default language" : "Язык по умолчанию", - "Select user manager" : "Выбрать менеджер выделений", - "Add a new user" : "Создать пользователя", - "Group admin for" : "Администратор групп", - "Quota" : "Квота", - "User backend" : "Механизм учёта", - "Storage location" : "Расположение хранилища", - "Last login" : "Последний вход", - "Manager" : "Руководитель", - "No users in here" : "Здесь нет ни одного пользователя", - "Default quota" : "Квота по умолчанию", - "Common languages" : "Основные языки", - "Other languages" : "Другие языки", - "Password change is disabled because the master key is disabled" : "Смена пароля невозможна при отключённом мастер-ключе", "Passwordless authentication requires a secure connection." : "Аутентификация без пароля требует безопасного соединения.", "Add WebAuthn device" : "Добавить устройство WebAuthn", "Please authorize your WebAuthn device." : "Пожалуйста, авторизуйте ваше устройство WebAuthn.", @@ -399,7 +395,6 @@ "Disabled users" : "Отключённые пользователи", "Default quota:" : "Квота по умолчанию: ", "Select default quota" : "Квота по умолчанию", - "Show Languages" : "Показывать язык", "Show last login" : "Время последнего входа в систему", "Show user backend" : "Механизм учёта", "Show storage path" : "Путь хранилища", @@ -443,7 +438,7 @@ "Documentation" : "Документация", "Forum" : "Форум", "Login" : "Логин", - "SSL/TLS" : "SSL/TLS", + "SSL" : "SSL", "Open documentation" : "Открыть документацию", "It is important to set up this server to be able to send emails, like for password reset and notifications." : "Важно предоставить этому серверу возможность отправлять электронные письма, например, для сброса пароля и уведомлений.", "Send mode" : "Способ отправки", @@ -452,8 +447,7 @@ "From address" : "Адрес отправителя", "Server address" : "Адрес сервера", "Port" : "Порт", - "Authentication method" : "Метод проверки подлинности", - "Only applies when authentication is required" : "Применяется только тогда, когда требуется аутентификация", + "Authentication" : "Аутентификация", "Authentication required" : "Требуется аутентификация ", "Credentials" : "Учётные данные", "SMTP Username" : "Пользователь SMTP", @@ -511,12 +505,17 @@ "An administrator created app password \"{token}\"" : "Администратор создал пароль приложения «{token}»", "Choose profile picture from files" : "Выбрать изображение профиля из загруженных файлов", "png or jpg, max. 20 MB" : "png или jpg, макс. 20 МБ", + "Your location" : "Местоположение", + "Will be autogenerated" : "Будет сгенерирован автоматически", + "Add a new user" : "Создать пользователя", + "Show Languages" : "Показывать язык", "Plain" : "Простой", "NT LAN Manager" : "Менеджер NT LAN", + "SSL/TLS" : "SSL/TLS", "STARTTLS" : "STARTTLS", + "Authentication method" : "Метод проверки подлинности", "Allow username autocompletion in share dialog" : "Разрешить автозаполнение имени пользователя в диалоговом окне общего доступа", "Allow username autocompletion to users within the same groups" : "Разрешить автозаполнение имени пользователя для пользователей в тех же группах", - "Avatar" : "Аватар", - "User actions" : "Действия пользователя" + "Select user manager" : "Выбрать менеджер выделений" },"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/apps/settings/l10n/sc.js b/apps/settings/l10n/sc.js index ea462d0795a..881de4a588c 100644 --- a/apps/settings/l10n/sc.js +++ b/apps/settings/l10n/sc.js @@ -236,6 +236,19 @@ OC.L10N.register( "Locale" : "Localizatzione", "Your phone number" : "Nùmero tuo de telèfonu", "Add" : "Agiunghe", + "Display name" : "Ammustra nùmene", + "Email" : "Posta eletrònica", + "Group admin for" : "In amministratzione pro su grupu", + "Quota" : "Cuota", + "User backend" : "Motore utente", + "Storage location" : "Positzione de s'archiviatzione", + "Last login" : "Ùrtimu atzessu", + "No users in here" : "Peruna utèntzia inoghe", + "Default quota" : "Cuota predefinida", + "Default language" : "Limba predefinida", + "Common languages" : "Limbas comunes", + "Password change is disabled because the master key is disabled" : "Su càmbiu de sa crae est disativadu ca sa crae printzipale est disativada", + "New user" : "Utèntzia noa", "You do not have permissions to see the details of this user" : "Non tenes is permissos pro bìdere is detàllios de s'utente", "Add new password" : "Agiunghe una crae noa", "Add new email address" : "Agiunghe un'indiritzu nou de posta eletrònica", @@ -257,21 +270,6 @@ OC.L10N.register( "Welcome mail sent!" : "Messàgiu de benebènnida imbiadu!", "Edit User" : "Modìfica utente", "{size} used" : "{size} impreadu", - "New user" : "Utèntzia noa", - "Will be autogenerated" : "At a èssere auto-generadu", - "Display name" : "Ammustra nùmene", - "Email" : "Posta eletrònica", - "Default language" : "Limba predefinida", - "Add a new user" : "Agiunghe un'utèntzia noa", - "Group admin for" : "In amministratzione pro su grupu", - "Quota" : "Cuota", - "User backend" : "Motore utente", - "Storage location" : "Positzione de s'archiviatzione", - "Last login" : "Ùrtimu atzessu", - "No users in here" : "Peruna utèntzia inoghe", - "Default quota" : "Cuota predefinida", - "Common languages" : "Limbas comunes", - "Password change is disabled because the master key is disabled" : "Su càmbiu de sa crae est disativadu ca sa crae printzipale est disativada", "Passwordless authentication requires a secure connection." : "S'autenticatzione chene crae rechedet una connessione segura.", "Add WebAuthn device" : "Agiunghe dispositivu WebAuthn", "Please authorize your WebAuthn device." : "Autoriza su dispositivu WebAuthn tuo.", @@ -296,7 +294,6 @@ OC.L10N.register( "Disabled users" : "Disativa utentes", "Default quota:" : "Cuota predefinida:", "Select default quota" : "Seletziona cuota predefinida", - "Show Languages" : "Mustra limbas", "Show last login" : "Mustra s'ùrtimu atzessu", "Show user backend" : "Mustra su motore utente", "Show storage path" : "Mustra su percursu de archiviatzione", @@ -330,7 +327,6 @@ OC.L10N.register( "Documentation" : "Documentatzione", "Forum" : "Forum", "Login" : "Atzessu", - "SSL/TLS" : "SSL/TLS", "Open documentation" : "Aberi documentatzione", "It is important to set up this server to be able to send emails, like for password reset and notifications." : "Est importante a impostare custu serbidore pro imbiare messàgios de posta eletrònica, pro re-impostare sa crae e pro is notìficas. ", "Send mode" : "Modalidade de imbiu", @@ -339,7 +335,7 @@ OC.L10N.register( "From address" : "Indiritzu de chie imbiat", "Server address" : "Indiritzu de su serbidore", "Port" : "Porta", - "Authentication method" : "Mètodu de autenticatzione", + "Authentication" : "Autenticatzione", "Authentication required" : "Autenticatzione recherta", "Credentials" : "Credentziales", "SMTP Username" : "Nùmene utente SMTP ", @@ -388,11 +384,15 @@ OC.L10N.register( "If you use third party applications to connect to Nextcloud, please make sure to create and configure an app password for each before enabling second factor authentication." : "Si impreas aplicatziones de sa de tres partes pro ti connètere a Nextcloud, assegura•ti de creare e cunfigurare una crae pro cada aplicatzione antis de ativare su segundu fatore de autenticatzione.", "You created app password \"{token}\"" : "As creadu sa crae de s'aplicatzione \"{token}\"", "png or jpg, max. 20 MB" : "png o jpg, max. 20 MB", + "Will be autogenerated" : "At a èssere auto-generadu", + "Add a new user" : "Agiunghe un'utèntzia noa", + "Show Languages" : "Mustra limbas", "Plain" : "Simpre", "NT LAN Manager" : "NT LAN Manager", + "SSL/TLS" : "SSL/TLS", "STARTTLS" : "STARTTLS", + "Authentication method" : "Mètodu de autenticatzione", "Allow username autocompletion in share dialog" : "Permite sa cumponidura automàtica de su nùmene de utente in sa ventana de cumpartzidura", - "Allow username autocompletion to users within the same groups" : "Permite sa cumponidura automàtica de su nùmene de utente a is utentes de su matessi grupu", - "Avatar" : "Avatar" + "Allow username autocompletion to users within the same groups" : "Permite sa cumponidura automàtica de su nùmene de utente a is utentes de su matessi grupu" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/settings/l10n/sc.json b/apps/settings/l10n/sc.json index fe091d1a514..d86a36d1e8b 100644 --- a/apps/settings/l10n/sc.json +++ b/apps/settings/l10n/sc.json @@ -234,6 +234,19 @@ "Locale" : "Localizatzione", "Your phone number" : "Nùmero tuo de telèfonu", "Add" : "Agiunghe", + "Display name" : "Ammustra nùmene", + "Email" : "Posta eletrònica", + "Group admin for" : "In amministratzione pro su grupu", + "Quota" : "Cuota", + "User backend" : "Motore utente", + "Storage location" : "Positzione de s'archiviatzione", + "Last login" : "Ùrtimu atzessu", + "No users in here" : "Peruna utèntzia inoghe", + "Default quota" : "Cuota predefinida", + "Default language" : "Limba predefinida", + "Common languages" : "Limbas comunes", + "Password change is disabled because the master key is disabled" : "Su càmbiu de sa crae est disativadu ca sa crae printzipale est disativada", + "New user" : "Utèntzia noa", "You do not have permissions to see the details of this user" : "Non tenes is permissos pro bìdere is detàllios de s'utente", "Add new password" : "Agiunghe una crae noa", "Add new email address" : "Agiunghe un'indiritzu nou de posta eletrònica", @@ -255,21 +268,6 @@ "Welcome mail sent!" : "Messàgiu de benebènnida imbiadu!", "Edit User" : "Modìfica utente", "{size} used" : "{size} impreadu", - "New user" : "Utèntzia noa", - "Will be autogenerated" : "At a èssere auto-generadu", - "Display name" : "Ammustra nùmene", - "Email" : "Posta eletrònica", - "Default language" : "Limba predefinida", - "Add a new user" : "Agiunghe un'utèntzia noa", - "Group admin for" : "In amministratzione pro su grupu", - "Quota" : "Cuota", - "User backend" : "Motore utente", - "Storage location" : "Positzione de s'archiviatzione", - "Last login" : "Ùrtimu atzessu", - "No users in here" : "Peruna utèntzia inoghe", - "Default quota" : "Cuota predefinida", - "Common languages" : "Limbas comunes", - "Password change is disabled because the master key is disabled" : "Su càmbiu de sa crae est disativadu ca sa crae printzipale est disativada", "Passwordless authentication requires a secure connection." : "S'autenticatzione chene crae rechedet una connessione segura.", "Add WebAuthn device" : "Agiunghe dispositivu WebAuthn", "Please authorize your WebAuthn device." : "Autoriza su dispositivu WebAuthn tuo.", @@ -294,7 +292,6 @@ "Disabled users" : "Disativa utentes", "Default quota:" : "Cuota predefinida:", "Select default quota" : "Seletziona cuota predefinida", - "Show Languages" : "Mustra limbas", "Show last login" : "Mustra s'ùrtimu atzessu", "Show user backend" : "Mustra su motore utente", "Show storage path" : "Mustra su percursu de archiviatzione", @@ -328,7 +325,6 @@ "Documentation" : "Documentatzione", "Forum" : "Forum", "Login" : "Atzessu", - "SSL/TLS" : "SSL/TLS", "Open documentation" : "Aberi documentatzione", "It is important to set up this server to be able to send emails, like for password reset and notifications." : "Est importante a impostare custu serbidore pro imbiare messàgios de posta eletrònica, pro re-impostare sa crae e pro is notìficas. ", "Send mode" : "Modalidade de imbiu", @@ -337,7 +333,7 @@ "From address" : "Indiritzu de chie imbiat", "Server address" : "Indiritzu de su serbidore", "Port" : "Porta", - "Authentication method" : "Mètodu de autenticatzione", + "Authentication" : "Autenticatzione", "Authentication required" : "Autenticatzione recherta", "Credentials" : "Credentziales", "SMTP Username" : "Nùmene utente SMTP ", @@ -386,11 +382,15 @@ "If you use third party applications to connect to Nextcloud, please make sure to create and configure an app password for each before enabling second factor authentication." : "Si impreas aplicatziones de sa de tres partes pro ti connètere a Nextcloud, assegura•ti de creare e cunfigurare una crae pro cada aplicatzione antis de ativare su segundu fatore de autenticatzione.", "You created app password \"{token}\"" : "As creadu sa crae de s'aplicatzione \"{token}\"", "png or jpg, max. 20 MB" : "png o jpg, max. 20 MB", + "Will be autogenerated" : "At a èssere auto-generadu", + "Add a new user" : "Agiunghe un'utèntzia noa", + "Show Languages" : "Mustra limbas", "Plain" : "Simpre", "NT LAN Manager" : "NT LAN Manager", + "SSL/TLS" : "SSL/TLS", "STARTTLS" : "STARTTLS", + "Authentication method" : "Mètodu de autenticatzione", "Allow username autocompletion in share dialog" : "Permite sa cumponidura automàtica de su nùmene de utente in sa ventana de cumpartzidura", - "Allow username autocompletion to users within the same groups" : "Permite sa cumponidura automàtica de su nùmene de utente a is utentes de su matessi grupu", - "Avatar" : "Avatar" + "Allow username autocompletion to users within the same groups" : "Permite sa cumponidura automàtica de su nùmene de utente a is utentes de su matessi grupu" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/settings/l10n/sk.js b/apps/settings/l10n/sk.js index e397b9f9296..29720f5b557 100644 --- a/apps/settings/l10n/sk.js +++ b/apps/settings/l10n/sk.js @@ -309,7 +309,6 @@ OC.L10N.register( "Week starts on {firstDayOfWeek}" : "Začiatok týždňa je {firstDayOfWeek}", "Unable to update locale" : "Nie je možné aktualizovať miestne nastavenie", "No locale set" : "Nie je nastavené žiadne miestne nastavenie", - "Your location" : "Vaša poloha", "Your organisation" : "Vaša organizácia", "Your phone number" : "Vaše telefónne číslo", "Edit your Profile visibility" : "Upraviť viditeľnosť vášho profilu", @@ -327,6 +326,20 @@ OC.L10N.register( "Unable to update federation scope of additional {property}" : "Nie je možné aktualizovať rozsah federácie ďalšieho {property}", "Add additional email" : "Pridať ďalší e-mail", "Add" : "Pridať", + "Display name" : "Zobrazované meno", + "Email" : "Email", + "Group admin for" : "Administrátor skupiny pre", + "Quota" : "Kvóta", + "User backend" : "Backend používateľa", + "Storage location" : "Umiestnenie úložiska", + "Last login" : "Posledné prihlásenie", + "No users in here" : "Nie sú tu žiadni používatelia", + "Default quota" : "Predvolená kvóta", + "Default language" : "Predvolený jazyk", + "Common languages" : "Spoločné jazyky", + "Other languages" : "Iné jazyky", + "Password change is disabled because the master key is disabled" : "Zmena hesla je zablokovaná pretože hlavný kľúč je vypnutý", + "New user" : "Nový používateľ", "You do not have permissions to see the details of this user" : "Nemáte oprávnenie vidieť detaily tohoto používateľa", "Add new password" : "Pridať nové heslo", "Add new email address" : "Pridať novú emailovú adresu", @@ -348,22 +361,6 @@ OC.L10N.register( "Welcome mail sent!" : "Privítací email odoslaný", "Edit User" : "Upraviť používateľa", "{size} used" : "{size} použité", - "New user" : "Nový používateľ", - "Will be autogenerated" : "Bude automaticky vytvorené", - "Display name" : "Zobrazované meno", - "Email" : "Email", - "Default language" : "Predvolený jazyk", - "Add a new user" : "Pridať nového používateľa", - "Group admin for" : "Administrátor skupiny pre", - "Quota" : "Kvóta", - "User backend" : "Backend používateľa", - "Storage location" : "Umiestnenie úložiska", - "Last login" : "Posledné prihlásenie", - "No users in here" : "Nie sú tu žiadni používatelia", - "Default quota" : "Predvolená kvóta", - "Common languages" : "Spoločné jazyky", - "Other languages" : "Iné jazyky", - "Password change is disabled because the master key is disabled" : "Zmena hesla je zablokovaná pretože hlavný kľúč je vypnutý", "Passwordless authentication requires a secure connection." : "Overenie bez hesla vyžaduje zabezpečné pripojenie.", "Add WebAuthn device" : "Pridať zariadenie WebAuthn", "Please authorize your WebAuthn device." : "Autorizujte svoje zariadenie WebAuthn.", @@ -388,7 +385,6 @@ OC.L10N.register( "Disabled users" : "Zablokovaní používatelia", "Default quota:" : "Predvolená kvóta:", "Select default quota" : "Vybrať predvolenú kvótu", - "Show Languages" : "Zobraziť jazyky", "Show last login" : "Zobraziť posledné prihlásenie", "Show user backend" : "Zobraziť backend používateľa", "Show storage path" : "Zobraziť popis umiestnenia úložiska", @@ -431,7 +427,7 @@ OC.L10N.register( "Documentation" : "Dokumentácia", "Forum" : "Fórum", "Login" : "Prihlásenie", - "SSL/TLS" : "SSL/TLS", + "SSL" : "SSL", "Open documentation" : "Otvoriť dokumentáciu", "It is important to set up this server to be able to send emails, like for password reset and notifications." : "Je dôležité nastaviť aby server vedel odosielať emaily, napríklad pre nastavenie hesla a notifikácie.", "Send mode" : "Mód odosielania", @@ -440,7 +436,7 @@ OC.L10N.register( "From address" : "Z adresy", "Server address" : "Adresa servera", "Port" : "Port", - "Authentication method" : "Autentifikačná metóda", + "Authentication" : "Autentifikácia", "Authentication required" : "Vyžaduje sa overenie", "Credentials" : "Prihlasovanie údaje", "SMTP Username" : "SMTP používateľské meno", @@ -496,11 +492,16 @@ OC.L10N.register( "An administrator created app password \"{token}\"" : "Administrátor vytvoril heslo pre aplikáciu \"{token}\"", "Choose profile picture from files" : "Vybrať profilový obrázok zo súborov", "png or jpg, max. 20 MB" : "png alebo jpg, max. 20 MB", + "Your location" : "Vaša poloha", + "Will be autogenerated" : "Bude automaticky vytvorené", + "Add a new user" : "Pridať nového používateľa", + "Show Languages" : "Zobraziť jazyky", "Plain" : "Neformátovaný", "NT LAN Manager" : "NT LAN Manager", + "SSL/TLS" : "SSL/TLS", "STARTTLS" : "STARTTLS", + "Authentication method" : "Autentifikačná metóda", "Allow username autocompletion in share dialog" : "Povoliť automatické dopĺňanie používateľského mena v dialógovom okne zdieľania", - "Allow username autocompletion to users within the same groups" : "Povoliť automatické dopĺňanie mien užívateľom v rovnakých skupinách", - "Avatar" : "Avatar" + "Allow username autocompletion to users within the same groups" : "Povoliť automatické dopĺňanie mien užívateľom v rovnakých skupinách" }, "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/apps/settings/l10n/sk.json b/apps/settings/l10n/sk.json index 8bb5041762b..15766bd5b7a 100644 --- a/apps/settings/l10n/sk.json +++ b/apps/settings/l10n/sk.json @@ -307,7 +307,6 @@ "Week starts on {firstDayOfWeek}" : "Začiatok týždňa je {firstDayOfWeek}", "Unable to update locale" : "Nie je možné aktualizovať miestne nastavenie", "No locale set" : "Nie je nastavené žiadne miestne nastavenie", - "Your location" : "Vaša poloha", "Your organisation" : "Vaša organizácia", "Your phone number" : "Vaše telefónne číslo", "Edit your Profile visibility" : "Upraviť viditeľnosť vášho profilu", @@ -325,6 +324,20 @@ "Unable to update federation scope of additional {property}" : "Nie je možné aktualizovať rozsah federácie ďalšieho {property}", "Add additional email" : "Pridať ďalší e-mail", "Add" : "Pridať", + "Display name" : "Zobrazované meno", + "Email" : "Email", + "Group admin for" : "Administrátor skupiny pre", + "Quota" : "Kvóta", + "User backend" : "Backend používateľa", + "Storage location" : "Umiestnenie úložiska", + "Last login" : "Posledné prihlásenie", + "No users in here" : "Nie sú tu žiadni používatelia", + "Default quota" : "Predvolená kvóta", + "Default language" : "Predvolený jazyk", + "Common languages" : "Spoločné jazyky", + "Other languages" : "Iné jazyky", + "Password change is disabled because the master key is disabled" : "Zmena hesla je zablokovaná pretože hlavný kľúč je vypnutý", + "New user" : "Nový používateľ", "You do not have permissions to see the details of this user" : "Nemáte oprávnenie vidieť detaily tohoto používateľa", "Add new password" : "Pridať nové heslo", "Add new email address" : "Pridať novú emailovú adresu", @@ -346,22 +359,6 @@ "Welcome mail sent!" : "Privítací email odoslaný", "Edit User" : "Upraviť používateľa", "{size} used" : "{size} použité", - "New user" : "Nový používateľ", - "Will be autogenerated" : "Bude automaticky vytvorené", - "Display name" : "Zobrazované meno", - "Email" : "Email", - "Default language" : "Predvolený jazyk", - "Add a new user" : "Pridať nového používateľa", - "Group admin for" : "Administrátor skupiny pre", - "Quota" : "Kvóta", - "User backend" : "Backend používateľa", - "Storage location" : "Umiestnenie úložiska", - "Last login" : "Posledné prihlásenie", - "No users in here" : "Nie sú tu žiadni používatelia", - "Default quota" : "Predvolená kvóta", - "Common languages" : "Spoločné jazyky", - "Other languages" : "Iné jazyky", - "Password change is disabled because the master key is disabled" : "Zmena hesla je zablokovaná pretože hlavný kľúč je vypnutý", "Passwordless authentication requires a secure connection." : "Overenie bez hesla vyžaduje zabezpečné pripojenie.", "Add WebAuthn device" : "Pridať zariadenie WebAuthn", "Please authorize your WebAuthn device." : "Autorizujte svoje zariadenie WebAuthn.", @@ -386,7 +383,6 @@ "Disabled users" : "Zablokovaní používatelia", "Default quota:" : "Predvolená kvóta:", "Select default quota" : "Vybrať predvolenú kvótu", - "Show Languages" : "Zobraziť jazyky", "Show last login" : "Zobraziť posledné prihlásenie", "Show user backend" : "Zobraziť backend používateľa", "Show storage path" : "Zobraziť popis umiestnenia úložiska", @@ -429,7 +425,7 @@ "Documentation" : "Dokumentácia", "Forum" : "Fórum", "Login" : "Prihlásenie", - "SSL/TLS" : "SSL/TLS", + "SSL" : "SSL", "Open documentation" : "Otvoriť dokumentáciu", "It is important to set up this server to be able to send emails, like for password reset and notifications." : "Je dôležité nastaviť aby server vedel odosielať emaily, napríklad pre nastavenie hesla a notifikácie.", "Send mode" : "Mód odosielania", @@ -438,7 +434,7 @@ "From address" : "Z adresy", "Server address" : "Adresa servera", "Port" : "Port", - "Authentication method" : "Autentifikačná metóda", + "Authentication" : "Autentifikácia", "Authentication required" : "Vyžaduje sa overenie", "Credentials" : "Prihlasovanie údaje", "SMTP Username" : "SMTP používateľské meno", @@ -494,11 +490,16 @@ "An administrator created app password \"{token}\"" : "Administrátor vytvoril heslo pre aplikáciu \"{token}\"", "Choose profile picture from files" : "Vybrať profilový obrázok zo súborov", "png or jpg, max. 20 MB" : "png alebo jpg, max. 20 MB", + "Your location" : "Vaša poloha", + "Will be autogenerated" : "Bude automaticky vytvorené", + "Add a new user" : "Pridať nového používateľa", + "Show Languages" : "Zobraziť jazyky", "Plain" : "Neformátovaný", "NT LAN Manager" : "NT LAN Manager", + "SSL/TLS" : "SSL/TLS", "STARTTLS" : "STARTTLS", + "Authentication method" : "Autentifikačná metóda", "Allow username autocompletion in share dialog" : "Povoliť automatické dopĺňanie používateľského mena v dialógovom okne zdieľania", - "Allow username autocompletion to users within the same groups" : "Povoliť automatické dopĺňanie mien užívateľom v rovnakých skupinách", - "Avatar" : "Avatar" + "Allow username autocompletion to users within the same groups" : "Povoliť automatické dopĺňanie mien užívateľom v rovnakých skupinách" },"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/apps/settings/l10n/sl.js b/apps/settings/l10n/sl.js index 0ba70e0ffed..93949d403f2 100644 --- a/apps/settings/l10n/sl.js +++ b/apps/settings/l10n/sl.js @@ -303,6 +303,22 @@ OC.L10N.register( "Your website" : "Osebna spletna stran", "Add additional email" : "Dodaj dodaten elektronski naslov", "Add" : "Dodaj", + "User's table" : "Uporabniška razpredelnica", + "Display name" : "Prikazno ime", + "Email" : "Elektronski naslov", + "Group admin for" : "Skrbnik skupine za", + "Quota" : "Količinska omejitev", + "User backend" : "Uporabniški ozadnji program", + "Storage location" : "Mesto shrambe", + "Last login" : "Zadnja prijava", + "Manager" : "Upravljalnik", + "No users in here" : "Ni še vključenih uporabnikov", + "Default quota" : "Privzeta omejitev", + "Default language" : "Privzeti jezik", + "Common languages" : "Splošni jeziki", + "Other languages" : "Drugi jeziki", + "Password change is disabled because the master key is disabled" : "Spreminjanje gesla je onemogočeno, ker je onemogočen tudi glavni šifrirni ključ", + "New user" : "Nov uporabnik", "You do not have permissions to see the details of this user" : "Ni ustreznih dovoljenj za pregled podatkov uporabnika", "Edit display name" : "Uredi prikazno ime", "Add new password" : "Vpis gesla", @@ -327,25 +343,6 @@ OC.L10N.register( "Welcome mail sent!" : "Potrditveno sporočilo je poslano!", "Edit User" : "Uredi podatke uporabnika", "{size} used" : "V uporabi {size}·", - "User's table" : "Uporabniška razpredelnica", - "New user" : "Nov uporabnik", - "Will be autogenerated" : "Samodejno ustvarjeno", - "Display name" : "Prikazno ime", - "Email" : "Elektronski naslov", - "Default language" : "Privzeti jezik", - "Select user manager" : "Izbor upravljalnika uporabnikov", - "Add a new user" : "Dodaj uporabnika", - "Group admin for" : "Skrbnik skupine za", - "Quota" : "Količinska omejitev", - "User backend" : "Uporabniški ozadnji program", - "Storage location" : "Mesto shrambe", - "Last login" : "Zadnja prijava", - "Manager" : "Upravljalnik", - "No users in here" : "Ni še vključenih uporabnikov", - "Default quota" : "Privzeta omejitev", - "Common languages" : "Splošni jeziki", - "Other languages" : "Drugi jeziki", - "Password change is disabled because the master key is disabled" : "Spreminjanje gesla je onemogočeno, ker je onemogočen tudi glavni šifrirni ključ", "Passwordless authentication requires a secure connection." : "Brezgeselna overitev zahteva varno povezavo.", "Add WebAuthn device" : "Dodaj napravo WebAuthn", "Please authorize your WebAuthn device." : "Overite napravo WebAuthn", @@ -370,7 +367,6 @@ OC.L10N.register( "Disabled users" : "Onemogočeni uporabniki", "Default quota:" : "Privzeta količinska omejitev :", "Select default quota" : "Izbor količinske omejitve", - "Show Languages" : "Pokaži jezike", "Show last login" : "Pokaži zadnjo prijavo", "Show user backend" : "Pokaži ozadnji program", "Show storage path" : "Pokaži pot mesta shrambe", @@ -408,7 +404,7 @@ OC.L10N.register( "Documentation" : "Dokumentacija", "Forum" : "Forum", "Login" : "Prijava", - "SSL/TLS" : "SSL/TLS", + "SSL" : "Protokol SSL", "Open documentation" : "Odprta dokumentacija", "It is important to set up this server to be able to send emails, like for password reset and notifications." : "Strežnik mora biti za pošiljanje sporočil ustrezno nastavljen. Velja tudi za pošiljanje povezav za ponastavitev gesla..", "Send mode" : "Način pošiljanja", @@ -417,7 +413,7 @@ OC.L10N.register( "From address" : "Naslov pošiljatelja", "Server address" : "Naslov strežnika", "Port" : "Vrata", - "Authentication method" : "Način overitve", + "Authentication" : "Overitev", "Authentication required" : "Zahtevana je overitev", "Credentials" : "Poverila", "SMTP Username" : "Uporabniško ime SMTP", @@ -469,11 +465,16 @@ OC.L10N.register( "You created app password \"{token}\"" : "Ustvarite žeton gesla programa »{token}«", "Choose profile picture from files" : "Izbor slike profila med datotekami", "png or jpg, max. 20 MB" : "png ali jpg, največ. 20 MB", + "Will be autogenerated" : "Samodejno ustvarjeno", + "Add a new user" : "Dodaj uporabnika", + "Show Languages" : "Pokaži jezike", "Plain" : "Besedilno", "NT LAN Manager" : "Upravljalnik NT LAN", + "SSL/TLS" : "SSL/TLS", "STARTTLS" : "STARTTLS", + "Authentication method" : "Način overitve", "Allow username autocompletion in share dialog" : "Dovoli samodejno dopolnjevanje uporabniških imen v oknu omogočanja souporabe", "Allow username autocompletion to users within the same groups" : "Dovoli samodejno dopolnjevanje uporabniških imen znotraj iste skupine", - "Avatar" : "Podoba" + "Select user manager" : "Izbor upravljalnika uporabnikov" }, "nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);"); diff --git a/apps/settings/l10n/sl.json b/apps/settings/l10n/sl.json index f6278d98a1a..afc117140b1 100644 --- a/apps/settings/l10n/sl.json +++ b/apps/settings/l10n/sl.json @@ -301,6 +301,22 @@ "Your website" : "Osebna spletna stran", "Add additional email" : "Dodaj dodaten elektronski naslov", "Add" : "Dodaj", + "User's table" : "Uporabniška razpredelnica", + "Display name" : "Prikazno ime", + "Email" : "Elektronski naslov", + "Group admin for" : "Skrbnik skupine za", + "Quota" : "Količinska omejitev", + "User backend" : "Uporabniški ozadnji program", + "Storage location" : "Mesto shrambe", + "Last login" : "Zadnja prijava", + "Manager" : "Upravljalnik", + "No users in here" : "Ni še vključenih uporabnikov", + "Default quota" : "Privzeta omejitev", + "Default language" : "Privzeti jezik", + "Common languages" : "Splošni jeziki", + "Other languages" : "Drugi jeziki", + "Password change is disabled because the master key is disabled" : "Spreminjanje gesla je onemogočeno, ker je onemogočen tudi glavni šifrirni ključ", + "New user" : "Nov uporabnik", "You do not have permissions to see the details of this user" : "Ni ustreznih dovoljenj za pregled podatkov uporabnika", "Edit display name" : "Uredi prikazno ime", "Add new password" : "Vpis gesla", @@ -325,25 +341,6 @@ "Welcome mail sent!" : "Potrditveno sporočilo je poslano!", "Edit User" : "Uredi podatke uporabnika", "{size} used" : "V uporabi {size}·", - "User's table" : "Uporabniška razpredelnica", - "New user" : "Nov uporabnik", - "Will be autogenerated" : "Samodejno ustvarjeno", - "Display name" : "Prikazno ime", - "Email" : "Elektronski naslov", - "Default language" : "Privzeti jezik", - "Select user manager" : "Izbor upravljalnika uporabnikov", - "Add a new user" : "Dodaj uporabnika", - "Group admin for" : "Skrbnik skupine za", - "Quota" : "Količinska omejitev", - "User backend" : "Uporabniški ozadnji program", - "Storage location" : "Mesto shrambe", - "Last login" : "Zadnja prijava", - "Manager" : "Upravljalnik", - "No users in here" : "Ni še vključenih uporabnikov", - "Default quota" : "Privzeta omejitev", - "Common languages" : "Splošni jeziki", - "Other languages" : "Drugi jeziki", - "Password change is disabled because the master key is disabled" : "Spreminjanje gesla je onemogočeno, ker je onemogočen tudi glavni šifrirni ključ", "Passwordless authentication requires a secure connection." : "Brezgeselna overitev zahteva varno povezavo.", "Add WebAuthn device" : "Dodaj napravo WebAuthn", "Please authorize your WebAuthn device." : "Overite napravo WebAuthn", @@ -368,7 +365,6 @@ "Disabled users" : "Onemogočeni uporabniki", "Default quota:" : "Privzeta količinska omejitev :", "Select default quota" : "Izbor količinske omejitve", - "Show Languages" : "Pokaži jezike", "Show last login" : "Pokaži zadnjo prijavo", "Show user backend" : "Pokaži ozadnji program", "Show storage path" : "Pokaži pot mesta shrambe", @@ -406,7 +402,7 @@ "Documentation" : "Dokumentacija", "Forum" : "Forum", "Login" : "Prijava", - "SSL/TLS" : "SSL/TLS", + "SSL" : "Protokol SSL", "Open documentation" : "Odprta dokumentacija", "It is important to set up this server to be able to send emails, like for password reset and notifications." : "Strežnik mora biti za pošiljanje sporočil ustrezno nastavljen. Velja tudi za pošiljanje povezav za ponastavitev gesla..", "Send mode" : "Način pošiljanja", @@ -415,7 +411,7 @@ "From address" : "Naslov pošiljatelja", "Server address" : "Naslov strežnika", "Port" : "Vrata", - "Authentication method" : "Način overitve", + "Authentication" : "Overitev", "Authentication required" : "Zahtevana je overitev", "Credentials" : "Poverila", "SMTP Username" : "Uporabniško ime SMTP", @@ -467,11 +463,16 @@ "You created app password \"{token}\"" : "Ustvarite žeton gesla programa »{token}«", "Choose profile picture from files" : "Izbor slike profila med datotekami", "png or jpg, max. 20 MB" : "png ali jpg, največ. 20 MB", + "Will be autogenerated" : "Samodejno ustvarjeno", + "Add a new user" : "Dodaj uporabnika", + "Show Languages" : "Pokaži jezike", "Plain" : "Besedilno", "NT LAN Manager" : "Upravljalnik NT LAN", + "SSL/TLS" : "SSL/TLS", "STARTTLS" : "STARTTLS", + "Authentication method" : "Način overitve", "Allow username autocompletion in share dialog" : "Dovoli samodejno dopolnjevanje uporabniških imen v oknu omogočanja souporabe", "Allow username autocompletion to users within the same groups" : "Dovoli samodejno dopolnjevanje uporabniških imen znotraj iste skupine", - "Avatar" : "Podoba" + "Select user manager" : "Izbor upravljalnika uporabnikov" },"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/apps/settings/l10n/sq.js b/apps/settings/l10n/sq.js index 440255fb78e..0a6d746536c 100644 --- a/apps/settings/l10n/sq.js +++ b/apps/settings/l10n/sq.js @@ -152,8 +152,6 @@ OC.L10N.register( "Your Twitter handle" : "Emri i përdoruesit tuaj në Twitter", "Your website" : "Website-i juaj", "Add" : "Shto", - "{size} used" : "{madhësia} e përdorur", - "New user" : "Përdorues i ri", "Display name" : "Shfaq emrin", "Email" : "Email", "Group admin for" : "Administratori i grupit për", @@ -162,6 +160,8 @@ OC.L10N.register( "Storage location" : "Vendndodhje Depozite", "Last login" : "Hyrja e fundit", "Default quota" : "Kuota Parazgjedhje", + "New user" : "Përdorues i ri", + "{size} used" : "{madhësia} e përdorur", "Name your device" : "Emërtoni pajisjen tuaj", "Adding your device …" : "Shtoni pajisjen tuaj ...", "Unnamed device" : "Paisje pa emër", @@ -194,7 +194,7 @@ OC.L10N.register( "Documentation" : "Dokumentacioni", "Forum" : "Forum", "Login" : "Hyrje", - "SSL/TLS" : "SSL/TLS", + "SSL" : "SSL", "Open documentation" : "Hapni dokumentimin", "It is important to set up this server to be able to send emails, like for password reset and notifications." : "Është e rëndësishme të ngrini këtë server për të qenë në gjendje të dërgoni email, si për rivendosjen e fjalëkalimeve dhe për njoftimet.", "Send mode" : "Mënyrë dërgimi", @@ -202,7 +202,7 @@ OC.L10N.register( "From address" : "Nga adresa", "Server address" : "Adresë shërbyesi", "Port" : "Portë", - "Authentication method" : "Metodë mirëfilltësimi", + "Authentication" : "Mirëfilltësim", "Authentication required" : "Lypset mirëfilltësim", "Credentials" : "Kredenciale", "SMTP Username" : "Emër përdoruesi SMTP", @@ -232,7 +232,8 @@ OC.L10N.register( "png or jpg, max. 20 MB" : "png ose jpg, maks. 20 MB", "Plain" : "E thjeshtë", "NT LAN Manager" : "Përgjegjës Rrjeti NT", + "SSL/TLS" : "SSL/TLS", "STARTTLS" : "STARTTLS", - "Avatar" : "Avatari" + "Authentication method" : "Metodë mirëfilltësimi" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/settings/l10n/sq.json b/apps/settings/l10n/sq.json index eb7da5eaa93..d69b116e16f 100644 --- a/apps/settings/l10n/sq.json +++ b/apps/settings/l10n/sq.json @@ -150,8 +150,6 @@ "Your Twitter handle" : "Emri i përdoruesit tuaj në Twitter", "Your website" : "Website-i juaj", "Add" : "Shto", - "{size} used" : "{madhësia} e përdorur", - "New user" : "Përdorues i ri", "Display name" : "Shfaq emrin", "Email" : "Email", "Group admin for" : "Administratori i grupit për", @@ -160,6 +158,8 @@ "Storage location" : "Vendndodhje Depozite", "Last login" : "Hyrja e fundit", "Default quota" : "Kuota Parazgjedhje", + "New user" : "Përdorues i ri", + "{size} used" : "{madhësia} e përdorur", "Name your device" : "Emërtoni pajisjen tuaj", "Adding your device …" : "Shtoni pajisjen tuaj ...", "Unnamed device" : "Paisje pa emër", @@ -192,7 +192,7 @@ "Documentation" : "Dokumentacioni", "Forum" : "Forum", "Login" : "Hyrje", - "SSL/TLS" : "SSL/TLS", + "SSL" : "SSL", "Open documentation" : "Hapni dokumentimin", "It is important to set up this server to be able to send emails, like for password reset and notifications." : "Është e rëndësishme të ngrini këtë server për të qenë në gjendje të dërgoni email, si për rivendosjen e fjalëkalimeve dhe për njoftimet.", "Send mode" : "Mënyrë dërgimi", @@ -200,7 +200,7 @@ "From address" : "Nga adresa", "Server address" : "Adresë shërbyesi", "Port" : "Portë", - "Authentication method" : "Metodë mirëfilltësimi", + "Authentication" : "Mirëfilltësim", "Authentication required" : "Lypset mirëfilltësim", "Credentials" : "Kredenciale", "SMTP Username" : "Emër përdoruesi SMTP", @@ -230,7 +230,8 @@ "png or jpg, max. 20 MB" : "png ose jpg, maks. 20 MB", "Plain" : "E thjeshtë", "NT LAN Manager" : "Përgjegjës Rrjeti NT", + "SSL/TLS" : "SSL/TLS", "STARTTLS" : "STARTTLS", - "Avatar" : "Avatari" + "Authentication method" : "Metodë mirëfilltësimi" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/settings/l10n/sr.js b/apps/settings/l10n/sr.js index ac5cb234587..3eb8679d2b5 100644 --- a/apps/settings/l10n/sr.js +++ b/apps/settings/l10n/sr.js @@ -316,7 +316,6 @@ OC.L10N.register( "Week starts on {firstDayOfWeek}" : "Недеља почиње у {firstDayOfWeek}", "Unable to update locale" : "Локалитет није могао да се ажурира", "No locale set" : "Није постављен локалитет", - "Your location" : "Ваша локација", "Your organisation" : "Ваша организација", "Your phone number" : "Ваш број телефона", "Edit your Profile visibility" : "Уредите видљивост вашег профила", @@ -334,6 +333,22 @@ OC.L10N.register( "Unable to update federation scope of additional {property}" : "Није успело ажурирање опсега важења федерације додатне {property}", "Add additional email" : "Додај додатни и-мејл", "Add" : "Додај", + "User's table" : "Корисникова табела", + "Display name" : "Име за приказ", + "Email" : "Е-пошта", + "Group admin for" : "Администратор групе за", + "Quota" : "Квота", + "User backend" : "Позадина за кориснике", + "Storage location" : "Локација складишта", + "Last login" : "Последња пријава", + "Manager" : "Менаџер", + "No users in here" : "Овде нема корисника", + "Default quota" : "Подразумевана квота", + "Default language" : "Подразумевани језик", + "Common languages" : "Најкоришћенији језици", + "Other languages" : "Остали језици", + "Password change is disabled because the master key is disabled" : "Промена лозинке је искључена пошто је главни кључ искључен", + "New user" : "Нови корисник", "You do not have permissions to see the details of this user" : "Немате дозволе да видите детаље о овом кориснику", "Edit display name" : "Уреди име за приказ", "Add new password" : "Додај нову лозинку", @@ -358,25 +373,6 @@ OC.L10N.register( "Welcome mail sent!" : "Е-пошта добродошлице послата!", "Edit User" : "Измени корисника", "{size} used" : "{size} искоришћено", - "User's table" : "Корисникова табела", - "New user" : "Нови корисник", - "Will be autogenerated" : "Биће генерисано аутоматски", - "Display name" : "Име за приказ", - "Email" : "Е-пошта", - "Default language" : "Подразумевани језик", - "Select user manager" : "Избор менаџера корисника", - "Add a new user" : "Додај новог корисника", - "Group admin for" : "Администратор групе за", - "Quota" : "Квота", - "User backend" : "Позадина за кориснике", - "Storage location" : "Локација складишта", - "Last login" : "Последња пријава", - "Manager" : "Менаџер", - "No users in here" : "Овде нема корисника", - "Default quota" : "Подразумевана квота", - "Common languages" : "Најкоришћенији језици", - "Other languages" : "Остали језици", - "Password change is disabled because the master key is disabled" : "Промена лозинке је искључена пошто је главни кључ искључен", "Passwordless authentication requires a secure connection." : "Пријављивање без лозинке захтева безбедну конекцију.", "Add WebAuthn device" : "Додајте WebAuthn уређај", "Please authorize your WebAuthn device." : "Ауторизујте Ваш WebAuthn уређај.", @@ -401,7 +397,6 @@ OC.L10N.register( "Disabled users" : "Искључени корисници", "Default quota:" : "Подразумевана квота:", "Select default quota" : "Одаберите подразумевану квоту", - "Show Languages" : "Прикажи језике", "Show last login" : "Прикажи последњу пријаву", "Show user backend" : "Прикажи позадину за кориснике", "Show storage path" : "Прикажи путању до складишта", @@ -445,7 +440,8 @@ OC.L10N.register( "Documentation" : "Документација", "Forum" : "Форум", "Login" : "Пријава", - "SSL/TLS" : "SSL/TLS", + "None/STARTTLS" : "Ништа/STARTTLS", + "SSL" : "ССЛ", "Open documentation" : "Отвори документацију", "It is important to set up this server to be able to send emails, like for password reset and notifications." : "Важно је да подесите сервер тако да може да шаље е-пошту када нпр. треба послати ресетовање лозинке или нека обавештења.", "Send mode" : "Режим слања", @@ -454,8 +450,7 @@ OC.L10N.register( "From address" : "Са адресе", "Server address" : "Адреса сервера", "Port" : "Порт", - "Authentication method" : "Начин провере идентитета", - "Only applies when authentication is required" : "Примењује се само када је потребна аутентификација", + "Authentication" : "Провера идентитета", "Authentication required" : "Неопходна провера идентитета", "Credentials" : "Акредитиви", "SMTP Username" : "SMTP корисничко име", @@ -513,12 +508,17 @@ OC.L10N.register( "An administrator created app password \"{token}\"" : "Администратор је креирао лозинку апликације „{token}", "Choose profile picture from files" : "Изабери слику профила међу фајловима", "png or jpg, max. 20 MB" : "„png“ или „jpg“, макс. 20 МБ", + "Your location" : "Ваша локација", + "Will be autogenerated" : "Биће генерисано аутоматски", + "Add a new user" : "Додај новог корисника", + "Show Languages" : "Прикажи језике", "Plain" : "Обичан", "NT LAN Manager" : "НТ ЛАН менаџер", + "SSL/TLS" : "SSL/TLS", "STARTTLS" : "STARTTLS", + "Authentication method" : "Начин провере идентитета", "Allow username autocompletion in share dialog" : "Дозволи аутоматско довршавање корисничког имена у дијалогу за дељење", "Allow username autocompletion to users within the same groups" : "Дозволи аутоматско довршавање корисничког корисницима из исте групе", - "Avatar" : "Аватар", - "User actions" : "Корисникове акције" + "Select user manager" : "Избор менаџера корисника" }, "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/apps/settings/l10n/sr.json b/apps/settings/l10n/sr.json index f964c2597d7..0c2c23d65db 100644 --- a/apps/settings/l10n/sr.json +++ b/apps/settings/l10n/sr.json @@ -314,7 +314,6 @@ "Week starts on {firstDayOfWeek}" : "Недеља почиње у {firstDayOfWeek}", "Unable to update locale" : "Локалитет није могао да се ажурира", "No locale set" : "Није постављен локалитет", - "Your location" : "Ваша локација", "Your organisation" : "Ваша организација", "Your phone number" : "Ваш број телефона", "Edit your Profile visibility" : "Уредите видљивост вашег профила", @@ -332,6 +331,22 @@ "Unable to update federation scope of additional {property}" : "Није успело ажурирање опсега важења федерације додатне {property}", "Add additional email" : "Додај додатни и-мејл", "Add" : "Додај", + "User's table" : "Корисникова табела", + "Display name" : "Име за приказ", + "Email" : "Е-пошта", + "Group admin for" : "Администратор групе за", + "Quota" : "Квота", + "User backend" : "Позадина за кориснике", + "Storage location" : "Локација складишта", + "Last login" : "Последња пријава", + "Manager" : "Менаџер", + "No users in here" : "Овде нема корисника", + "Default quota" : "Подразумевана квота", + "Default language" : "Подразумевани језик", + "Common languages" : "Најкоришћенији језици", + "Other languages" : "Остали језици", + "Password change is disabled because the master key is disabled" : "Промена лозинке је искључена пошто је главни кључ искључен", + "New user" : "Нови корисник", "You do not have permissions to see the details of this user" : "Немате дозволе да видите детаље о овом кориснику", "Edit display name" : "Уреди име за приказ", "Add new password" : "Додај нову лозинку", @@ -356,25 +371,6 @@ "Welcome mail sent!" : "Е-пошта добродошлице послата!", "Edit User" : "Измени корисника", "{size} used" : "{size} искоришћено", - "User's table" : "Корисникова табела", - "New user" : "Нови корисник", - "Will be autogenerated" : "Биће генерисано аутоматски", - "Display name" : "Име за приказ", - "Email" : "Е-пошта", - "Default language" : "Подразумевани језик", - "Select user manager" : "Избор менаџера корисника", - "Add a new user" : "Додај новог корисника", - "Group admin for" : "Администратор групе за", - "Quota" : "Квота", - "User backend" : "Позадина за кориснике", - "Storage location" : "Локација складишта", - "Last login" : "Последња пријава", - "Manager" : "Менаџер", - "No users in here" : "Овде нема корисника", - "Default quota" : "Подразумевана квота", - "Common languages" : "Најкоришћенији језици", - "Other languages" : "Остали језици", - "Password change is disabled because the master key is disabled" : "Промена лозинке је искључена пошто је главни кључ искључен", "Passwordless authentication requires a secure connection." : "Пријављивање без лозинке захтева безбедну конекцију.", "Add WebAuthn device" : "Додајте WebAuthn уређај", "Please authorize your WebAuthn device." : "Ауторизујте Ваш WebAuthn уређај.", @@ -399,7 +395,6 @@ "Disabled users" : "Искључени корисници", "Default quota:" : "Подразумевана квота:", "Select default quota" : "Одаберите подразумевану квоту", - "Show Languages" : "Прикажи језике", "Show last login" : "Прикажи последњу пријаву", "Show user backend" : "Прикажи позадину за кориснике", "Show storage path" : "Прикажи путању до складишта", @@ -443,7 +438,8 @@ "Documentation" : "Документација", "Forum" : "Форум", "Login" : "Пријава", - "SSL/TLS" : "SSL/TLS", + "None/STARTTLS" : "Ништа/STARTTLS", + "SSL" : "ССЛ", "Open documentation" : "Отвори документацију", "It is important to set up this server to be able to send emails, like for password reset and notifications." : "Важно је да подесите сервер тако да може да шаље е-пошту када нпр. треба послати ресетовање лозинке или нека обавештења.", "Send mode" : "Режим слања", @@ -452,8 +448,7 @@ "From address" : "Са адресе", "Server address" : "Адреса сервера", "Port" : "Порт", - "Authentication method" : "Начин провере идентитета", - "Only applies when authentication is required" : "Примењује се само када је потребна аутентификација", + "Authentication" : "Провера идентитета", "Authentication required" : "Неопходна провера идентитета", "Credentials" : "Акредитиви", "SMTP Username" : "SMTP корисничко име", @@ -511,12 +506,17 @@ "An administrator created app password \"{token}\"" : "Администратор је креирао лозинку апликације „{token}", "Choose profile picture from files" : "Изабери слику профила међу фајловима", "png or jpg, max. 20 MB" : "„png“ или „jpg“, макс. 20 МБ", + "Your location" : "Ваша локација", + "Will be autogenerated" : "Биће генерисано аутоматски", + "Add a new user" : "Додај новог корисника", + "Show Languages" : "Прикажи језике", "Plain" : "Обичан", "NT LAN Manager" : "НТ ЛАН менаџер", + "SSL/TLS" : "SSL/TLS", "STARTTLS" : "STARTTLS", + "Authentication method" : "Начин провере идентитета", "Allow username autocompletion in share dialog" : "Дозволи аутоматско довршавање корисничког имена у дијалогу за дељење", "Allow username autocompletion to users within the same groups" : "Дозволи аутоматско довршавање корисничког корисницима из исте групе", - "Avatar" : "Аватар", - "User actions" : "Корисникове акције" + "Select user manager" : "Избор менаџера корисника" },"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);" }
\ No newline at end of file diff --git a/apps/settings/l10n/sv.js b/apps/settings/l10n/sv.js index 88c08425e6b..7123dbf37f1 100644 --- a/apps/settings/l10n/sv.js +++ b/apps/settings/l10n/sv.js @@ -316,7 +316,6 @@ OC.L10N.register( "Week starts on {firstDayOfWeek}" : "Veckan börjar med {firstDayOfWeek}", "Unable to update locale" : "Det gick inte att uppdatera språk", "No locale set" : "Inget språk angivet", - "Your location" : "Din plats", "Your organisation" : "Din organisation", "Your phone number" : "Ditt telefonnummer", "Edit your Profile visibility" : "Ändra synligheten för din profil", @@ -334,6 +333,33 @@ OC.L10N.register( "Unable to update federation scope of additional {property}" : "Det gick inte att uppdatera federationens omfattning för ytterligare {property}", "Add additional email" : "Lägg till ytterligare e-post", "Add" : "Lägg till", + "Display name" : "Visningsnamn", + "Email" : "E-post", + "Group admin for" : "Gruppadministratör för", + "Quota" : "Lagringsutrymme", + "User backend" : "Användarbackend", + "Storage location" : "Lagringsplats", + "Last login" : "Senaste inloggning", + "Manager" : "Chef", + "No users in here" : "Inga användare här", + "Default quota" : "Standard kvot", + "Default language" : "Standardspråk", + "Common languages" : "Vanliga språk", + "Other languages" : "Andra språk", + "Password change is disabled because the master key is disabled" : "Lösenordsbyte är inaktiverat eftersom huvudnyckeln är inaktiverad", + "New user" : "Ny användare", + "Either password or email is required" : "Antingen lösenord eller e-post krävs", + "Password (required)" : "Lösenord (obligatoriskt)", + "Email (required)" : "E-post (obligatoriskt)", + "Groups (required)" : "Grupper (obligatoriskt)", + "Set user groups" : "Ställ in användargrupper", + "Administered groups" : "Administrerade grupper", + "Set user as admin for …" : "Ange användare som administratör för...", + "Set user quota" : "Ställ in användarkvot", + "Set default language" : "Ställ in standardspråk", + "Add new user" : "Lägg till ny användare", + "Username will be autogenerated" : "Användarnamn kommer att autogenereras", + "Username (required)" : "Användarnamn (obligatoriskt)", "You do not have permissions to see the details of this user" : "Du har inte behörighet att se detaljerna för den här användaren", "Edit display name" : "Ändra visningsnamn", "Add new password" : "Lägg till nytt lösenord", @@ -358,23 +384,6 @@ OC.L10N.register( "Welcome mail sent!" : "Välkomstmeddelande skickat via e-post!", "Edit User" : "Redigera användare", "{size} used" : "{size} använt", - "New user" : "Ny användare", - "Will be autogenerated" : "Kommer att autogenereras", - "Display name" : "Visningsnamn", - "Email" : "E-post", - "Default language" : "Standardspråk", - "Add a new user" : "Lägg till ny användare", - "Group admin for" : "Gruppadministratör för", - "Quota" : "Lagringsutrymme", - "User backend" : "Användarbackend", - "Storage location" : "Lagringsplats", - "Last login" : "Senaste inloggning", - "Manager" : "Chef", - "No users in here" : "Inga användare här", - "Default quota" : "Standard kvot", - "Common languages" : "Vanliga språk", - "Other languages" : "Andra språk", - "Password change is disabled because the master key is disabled" : "Lösenordsbyte är inaktiverat eftersom huvudnyckeln är inaktiverad", "Passwordless authentication requires a secure connection." : "Lösenordsfri autentisering kräver en säker anslutning.", "Add WebAuthn device" : "Lägg till WebAuthn-enhet", "Please authorize your WebAuthn device." : "Godkänn din WebAuthn-enhet.", @@ -399,7 +408,7 @@ OC.L10N.register( "Disabled users" : "Inaktiva användare", "Default quota:" : "Standardkvot:", "Select default quota" : "Välj standard kvot", - "Show Languages" : "Visa språk", + "Show languages" : "Visa språk", "Show last login" : "Visa senaste inloggning", "Show user backend" : "Visa användar-backend", "Show storage path" : "Visa lagringsväg", @@ -443,7 +452,7 @@ OC.L10N.register( "Documentation" : "Dokumentation", "Forum" : "Forum", "Login" : "Logga in", - "SSL/TLS" : "SSL/TLS", + "SSL" : "SSL", "Open documentation" : "Öppna dokumentation", "It is important to set up this server to be able to send emails, like for password reset and notifications." : "Det är viktigt att konfigurera den här servern för att kunna skicka e-post, till exempel för återställning av lösenord och aviseringar.", "Send mode" : "Sändningsläge", @@ -452,8 +461,7 @@ OC.L10N.register( "From address" : "Från adress", "Server address" : "Serveradress", "Port" : "Port", - "Authentication method" : "Autentiseringsmetod", - "Only applies when authentication is required" : "Gäller endast när autentisering krävs", + "Authentication" : "Autentisering", "Authentication required" : "Autentisering krävs", "Credentials" : "Inloggningsuppgifter", "SMTP Username" : "SMTP-användarnamn", @@ -509,11 +517,16 @@ OC.L10N.register( "An administrator created app password \"{token}\"" : "En administratör skapade applösenord \"{token}\"", "Choose profile picture from files" : "Välj profilbild från filer", "png or jpg, max. 20 MB" : "png eller jpg, max 20 MB", + "Your location" : "Din plats", + "Will be autogenerated" : "Kommer att autogenereras", + "Add a new user" : "Lägg till ny användare", + "Show Languages" : "Visa språk", "Plain" : "Enkel", "NT LAN Manager" : "NT LAN Manager", + "SSL/TLS" : "SSL/TLS", "STARTTLS" : "STARTTLS", + "Authentication method" : "Autentiseringsmetod", "Allow username autocompletion in share dialog" : "Tillåt autokomplettering av användarnamn i delningsdialogen", - "Allow username autocompletion to users within the same groups" : "Tillåt autokomplettering av användarnamn till användare inom samma grupper", - "Avatar" : "Avatar" + "Allow username autocompletion to users within the same groups" : "Tillåt autokomplettering av användarnamn till användare inom samma grupper" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/settings/l10n/sv.json b/apps/settings/l10n/sv.json index 087b80ec3ac..9f314c3ba9b 100644 --- a/apps/settings/l10n/sv.json +++ b/apps/settings/l10n/sv.json @@ -314,7 +314,6 @@ "Week starts on {firstDayOfWeek}" : "Veckan börjar med {firstDayOfWeek}", "Unable to update locale" : "Det gick inte att uppdatera språk", "No locale set" : "Inget språk angivet", - "Your location" : "Din plats", "Your organisation" : "Din organisation", "Your phone number" : "Ditt telefonnummer", "Edit your Profile visibility" : "Ändra synligheten för din profil", @@ -332,6 +331,33 @@ "Unable to update federation scope of additional {property}" : "Det gick inte att uppdatera federationens omfattning för ytterligare {property}", "Add additional email" : "Lägg till ytterligare e-post", "Add" : "Lägg till", + "Display name" : "Visningsnamn", + "Email" : "E-post", + "Group admin for" : "Gruppadministratör för", + "Quota" : "Lagringsutrymme", + "User backend" : "Användarbackend", + "Storage location" : "Lagringsplats", + "Last login" : "Senaste inloggning", + "Manager" : "Chef", + "No users in here" : "Inga användare här", + "Default quota" : "Standard kvot", + "Default language" : "Standardspråk", + "Common languages" : "Vanliga språk", + "Other languages" : "Andra språk", + "Password change is disabled because the master key is disabled" : "Lösenordsbyte är inaktiverat eftersom huvudnyckeln är inaktiverad", + "New user" : "Ny användare", + "Either password or email is required" : "Antingen lösenord eller e-post krävs", + "Password (required)" : "Lösenord (obligatoriskt)", + "Email (required)" : "E-post (obligatoriskt)", + "Groups (required)" : "Grupper (obligatoriskt)", + "Set user groups" : "Ställ in användargrupper", + "Administered groups" : "Administrerade grupper", + "Set user as admin for …" : "Ange användare som administratör för...", + "Set user quota" : "Ställ in användarkvot", + "Set default language" : "Ställ in standardspråk", + "Add new user" : "Lägg till ny användare", + "Username will be autogenerated" : "Användarnamn kommer att autogenereras", + "Username (required)" : "Användarnamn (obligatoriskt)", "You do not have permissions to see the details of this user" : "Du har inte behörighet att se detaljerna för den här användaren", "Edit display name" : "Ändra visningsnamn", "Add new password" : "Lägg till nytt lösenord", @@ -356,23 +382,6 @@ "Welcome mail sent!" : "Välkomstmeddelande skickat via e-post!", "Edit User" : "Redigera användare", "{size} used" : "{size} använt", - "New user" : "Ny användare", - "Will be autogenerated" : "Kommer att autogenereras", - "Display name" : "Visningsnamn", - "Email" : "E-post", - "Default language" : "Standardspråk", - "Add a new user" : "Lägg till ny användare", - "Group admin for" : "Gruppadministratör för", - "Quota" : "Lagringsutrymme", - "User backend" : "Användarbackend", - "Storage location" : "Lagringsplats", - "Last login" : "Senaste inloggning", - "Manager" : "Chef", - "No users in here" : "Inga användare här", - "Default quota" : "Standard kvot", - "Common languages" : "Vanliga språk", - "Other languages" : "Andra språk", - "Password change is disabled because the master key is disabled" : "Lösenordsbyte är inaktiverat eftersom huvudnyckeln är inaktiverad", "Passwordless authentication requires a secure connection." : "Lösenordsfri autentisering kräver en säker anslutning.", "Add WebAuthn device" : "Lägg till WebAuthn-enhet", "Please authorize your WebAuthn device." : "Godkänn din WebAuthn-enhet.", @@ -397,7 +406,7 @@ "Disabled users" : "Inaktiva användare", "Default quota:" : "Standardkvot:", "Select default quota" : "Välj standard kvot", - "Show Languages" : "Visa språk", + "Show languages" : "Visa språk", "Show last login" : "Visa senaste inloggning", "Show user backend" : "Visa användar-backend", "Show storage path" : "Visa lagringsväg", @@ -441,7 +450,7 @@ "Documentation" : "Dokumentation", "Forum" : "Forum", "Login" : "Logga in", - "SSL/TLS" : "SSL/TLS", + "SSL" : "SSL", "Open documentation" : "Öppna dokumentation", "It is important to set up this server to be able to send emails, like for password reset and notifications." : "Det är viktigt att konfigurera den här servern för att kunna skicka e-post, till exempel för återställning av lösenord och aviseringar.", "Send mode" : "Sändningsläge", @@ -450,8 +459,7 @@ "From address" : "Från adress", "Server address" : "Serveradress", "Port" : "Port", - "Authentication method" : "Autentiseringsmetod", - "Only applies when authentication is required" : "Gäller endast när autentisering krävs", + "Authentication" : "Autentisering", "Authentication required" : "Autentisering krävs", "Credentials" : "Inloggningsuppgifter", "SMTP Username" : "SMTP-användarnamn", @@ -507,11 +515,16 @@ "An administrator created app password \"{token}\"" : "En administratör skapade applösenord \"{token}\"", "Choose profile picture from files" : "Välj profilbild från filer", "png or jpg, max. 20 MB" : "png eller jpg, max 20 MB", + "Your location" : "Din plats", + "Will be autogenerated" : "Kommer att autogenereras", + "Add a new user" : "Lägg till ny användare", + "Show Languages" : "Visa språk", "Plain" : "Enkel", "NT LAN Manager" : "NT LAN Manager", + "SSL/TLS" : "SSL/TLS", "STARTTLS" : "STARTTLS", + "Authentication method" : "Autentiseringsmetod", "Allow username autocompletion in share dialog" : "Tillåt autokomplettering av användarnamn i delningsdialogen", - "Allow username autocompletion to users within the same groups" : "Tillåt autokomplettering av användarnamn till användare inom samma grupper", - "Avatar" : "Avatar" + "Allow username autocompletion to users within the same groups" : "Tillåt autokomplettering av användarnamn till användare inom samma grupper" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/settings/l10n/th.js b/apps/settings/l10n/th.js index 561ea6f3eec..4007185a546 100644 --- a/apps/settings/l10n/th.js +++ b/apps/settings/l10n/th.js @@ -177,6 +177,19 @@ OC.L10N.register( "No language set" : "ไม่ได้ตั้งภาษา", "Locale" : "ตำแหน่งที่ตั้ง", "Add" : "เพิ่ม", + "Display name" : "ชื่อที่แสดง", + "Email" : "อีเมล", + "Group admin for" : "ผู้ดูแลกลุ่มสำหรับ", + "Quota" : "โควต้า", + "User backend" : "แบ็กเอนด์ของผู้ใช้", + "Storage location" : "สถานที่จัดเก็บข้อมูล", + "Last login" : "เข้าสู่ระบบล่าสุด", + "No users in here" : "ไม่มีผู้ใช้ที่นี่", + "Default quota" : "ค่าโควต้าเริ่มต้น", + "Default language" : "ภาษาค่าเริ่มต้น", + "Common languages" : "ภาษาที่นิยม", + "Password change is disabled because the master key is disabled" : "การเปลี่ยนรหัสผ่านถูกปิดการใช้งาน เนื่องจากคีย์หลักถูกปิดการใช้งาน", + "New user" : "ผู้ใช้ใหม่", "You do not have permissions to see the details of this user" : "คุณไม่มีสิทธิ์ที่จะดูรายละเอียดของผู้ใช้นี้", "Add new password" : "เพิ่มรหัสผ่านใหม่", "Add new email address" : "เพิ่มที่อยู่อีเมลใหม่", @@ -198,21 +211,6 @@ OC.L10N.register( "Welcome mail sent!" : "ส่งอีเมลยินดีต้อนรับแล้ว!", "Edit User" : "แก้ไขผู้ใช้", "{size} used" : "ใช้ไป {size}", - "New user" : "ผู้ใช้ใหม่", - "Will be autogenerated" : "จะถูกสร้างขึ้นโดยอัตโนมัติ", - "Display name" : "ชื่อที่แสดง", - "Email" : "อีเมล", - "Default language" : "ภาษาค่าเริ่มต้น", - "Add a new user" : "เพิ่มผู้ใช้ใหม่", - "Group admin for" : "ผู้ดูแลกลุ่มสำหรับ", - "Quota" : "โควต้า", - "User backend" : "แบ็กเอนด์ของผู้ใช้", - "Storage location" : "สถานที่จัดเก็บข้อมูล", - "Last login" : "เข้าสู่ระบบล่าสุด", - "No users in here" : "ไม่มีผู้ใช้ที่นี่", - "Default quota" : "ค่าโควต้าเริ่มต้น", - "Common languages" : "ภาษาที่นิยม", - "Password change is disabled because the master key is disabled" : "การเปลี่ยนรหัสผ่านถูกปิดการใช้งาน เนื่องจากคีย์หลักถูกปิดการใช้งาน", "Passwordless authentication requires a secure connection." : "การรับรองความถูกต้องแบบไร้รหัสผ่านต้องใช้การเชื่อมต่อที่ปลอดภัย", "Add WebAuthn device" : "เพิ่มอุปกรณ์ WebAuthn", "Please authorize your WebAuthn device." : "โปรดอนุมัติอุปกรณ์ WebAuthn ของคุณ", @@ -237,7 +235,6 @@ OC.L10N.register( "Disabled users" : "ผู้ใช้ที่ปิดใช้งาน", "Default quota:" : "ค่าโควต้าเริ่มต้น:", "Select default quota" : "เลือกค่าโควต้าเริ่มต้น", - "Show Languages" : "แสดงภาษา", "Show last login" : "แสดงการเข้าสู่ระบบล่าสุด", "Show user backend" : "แสดงแบ็กเอนด์ของผู้ใช้", "Show storage path" : "แสดงเส้นทางจัดเก็บข้อมูล", @@ -269,7 +266,7 @@ OC.L10N.register( "Documentation" : "เอกสารประกอบ", "Forum" : "ฟอรัม", "Login" : "เข้าสู่ระบบ", - "SSL/TLS" : "SSL/TLS", + "SSL" : "SSL", "Open documentation" : "เปิดเอกสารประกอบ", "It is important to set up this server to be able to send emails, like for password reset and notifications." : "การตั้งค่าให้เซิร์ฟเวอร์นี้ส่งอีเมลได้ เช่น อีเมลสำหรับการตั้งรหัสผ่านใหม่และการแจ้งเตือน เป็นสิ่งสำคัญ", "Send mode" : "โหมดการส่ง", @@ -278,7 +275,7 @@ OC.L10N.register( "From address" : "จากที่อยู่", "Server address" : "ที่อยู่เซิร์ฟเวอร์", "Port" : "พอร์ต", - "Authentication method" : "วิธีการตรวจสอบความถูกต้อง", + "Authentication" : "การตรวจสอบสิทธิ์", "Authentication required" : "จำเป็นต้องตรวจสอบความถูกต้อง", "Credentials" : "ข้อมูลส่วนตัวสำหรับเข้าระบบ", "SMTP Username" : "ชื่อผู้ใช้ SMTP", @@ -314,9 +311,13 @@ OC.L10N.register( "This community release of Nextcloud is unsupported and instant notifications are unavailable." : "รุ่นที่ออกโดยชุมชนของ Nextcloud นี้ไม่ได้รับการสนับสนุน และไม่สามารถใช้งานการแจ้งเตือนทันทีได้", "You created app password \"{token}\"" : "คุณสร้างรหัสผ่านแอป \"{token}\" แล้ว", "png or jpg, max. 20 MB" : "png หรือ jpg สูงสุดไม่เกิน 20 MB", + "Will be autogenerated" : "จะถูกสร้างขึ้นโดยอัตโนมัติ", + "Add a new user" : "เพิ่มผู้ใช้ใหม่", + "Show Languages" : "แสดงภาษา", "Plain" : "ธรรมดา", "NT LAN Manager" : "ตัวจัดการ NT LAN", + "SSL/TLS" : "SSL/TLS", "STARTTLS" : "STARTTLS", - "Avatar" : "ภาพแทนตัว" + "Authentication method" : "วิธีการตรวจสอบความถูกต้อง" }, "nplurals=1; plural=0;"); diff --git a/apps/settings/l10n/th.json b/apps/settings/l10n/th.json index 4433b1d111a..e2bc1883ef9 100644 --- a/apps/settings/l10n/th.json +++ b/apps/settings/l10n/th.json @@ -175,6 +175,19 @@ "No language set" : "ไม่ได้ตั้งภาษา", "Locale" : "ตำแหน่งที่ตั้ง", "Add" : "เพิ่ม", + "Display name" : "ชื่อที่แสดง", + "Email" : "อีเมล", + "Group admin for" : "ผู้ดูแลกลุ่มสำหรับ", + "Quota" : "โควต้า", + "User backend" : "แบ็กเอนด์ของผู้ใช้", + "Storage location" : "สถานที่จัดเก็บข้อมูล", + "Last login" : "เข้าสู่ระบบล่าสุด", + "No users in here" : "ไม่มีผู้ใช้ที่นี่", + "Default quota" : "ค่าโควต้าเริ่มต้น", + "Default language" : "ภาษาค่าเริ่มต้น", + "Common languages" : "ภาษาที่นิยม", + "Password change is disabled because the master key is disabled" : "การเปลี่ยนรหัสผ่านถูกปิดการใช้งาน เนื่องจากคีย์หลักถูกปิดการใช้งาน", + "New user" : "ผู้ใช้ใหม่", "You do not have permissions to see the details of this user" : "คุณไม่มีสิทธิ์ที่จะดูรายละเอียดของผู้ใช้นี้", "Add new password" : "เพิ่มรหัสผ่านใหม่", "Add new email address" : "เพิ่มที่อยู่อีเมลใหม่", @@ -196,21 +209,6 @@ "Welcome mail sent!" : "ส่งอีเมลยินดีต้อนรับแล้ว!", "Edit User" : "แก้ไขผู้ใช้", "{size} used" : "ใช้ไป {size}", - "New user" : "ผู้ใช้ใหม่", - "Will be autogenerated" : "จะถูกสร้างขึ้นโดยอัตโนมัติ", - "Display name" : "ชื่อที่แสดง", - "Email" : "อีเมล", - "Default language" : "ภาษาค่าเริ่มต้น", - "Add a new user" : "เพิ่มผู้ใช้ใหม่", - "Group admin for" : "ผู้ดูแลกลุ่มสำหรับ", - "Quota" : "โควต้า", - "User backend" : "แบ็กเอนด์ของผู้ใช้", - "Storage location" : "สถานที่จัดเก็บข้อมูล", - "Last login" : "เข้าสู่ระบบล่าสุด", - "No users in here" : "ไม่มีผู้ใช้ที่นี่", - "Default quota" : "ค่าโควต้าเริ่มต้น", - "Common languages" : "ภาษาที่นิยม", - "Password change is disabled because the master key is disabled" : "การเปลี่ยนรหัสผ่านถูกปิดการใช้งาน เนื่องจากคีย์หลักถูกปิดการใช้งาน", "Passwordless authentication requires a secure connection." : "การรับรองความถูกต้องแบบไร้รหัสผ่านต้องใช้การเชื่อมต่อที่ปลอดภัย", "Add WebAuthn device" : "เพิ่มอุปกรณ์ WebAuthn", "Please authorize your WebAuthn device." : "โปรดอนุมัติอุปกรณ์ WebAuthn ของคุณ", @@ -235,7 +233,6 @@ "Disabled users" : "ผู้ใช้ที่ปิดใช้งาน", "Default quota:" : "ค่าโควต้าเริ่มต้น:", "Select default quota" : "เลือกค่าโควต้าเริ่มต้น", - "Show Languages" : "แสดงภาษา", "Show last login" : "แสดงการเข้าสู่ระบบล่าสุด", "Show user backend" : "แสดงแบ็กเอนด์ของผู้ใช้", "Show storage path" : "แสดงเส้นทางจัดเก็บข้อมูล", @@ -267,7 +264,7 @@ "Documentation" : "เอกสารประกอบ", "Forum" : "ฟอรัม", "Login" : "เข้าสู่ระบบ", - "SSL/TLS" : "SSL/TLS", + "SSL" : "SSL", "Open documentation" : "เปิดเอกสารประกอบ", "It is important to set up this server to be able to send emails, like for password reset and notifications." : "การตั้งค่าให้เซิร์ฟเวอร์นี้ส่งอีเมลได้ เช่น อีเมลสำหรับการตั้งรหัสผ่านใหม่และการแจ้งเตือน เป็นสิ่งสำคัญ", "Send mode" : "โหมดการส่ง", @@ -276,7 +273,7 @@ "From address" : "จากที่อยู่", "Server address" : "ที่อยู่เซิร์ฟเวอร์", "Port" : "พอร์ต", - "Authentication method" : "วิธีการตรวจสอบความถูกต้อง", + "Authentication" : "การตรวจสอบสิทธิ์", "Authentication required" : "จำเป็นต้องตรวจสอบความถูกต้อง", "Credentials" : "ข้อมูลส่วนตัวสำหรับเข้าระบบ", "SMTP Username" : "ชื่อผู้ใช้ SMTP", @@ -312,9 +309,13 @@ "This community release of Nextcloud is unsupported and instant notifications are unavailable." : "รุ่นที่ออกโดยชุมชนของ Nextcloud นี้ไม่ได้รับการสนับสนุน และไม่สามารถใช้งานการแจ้งเตือนทันทีได้", "You created app password \"{token}\"" : "คุณสร้างรหัสผ่านแอป \"{token}\" แล้ว", "png or jpg, max. 20 MB" : "png หรือ jpg สูงสุดไม่เกิน 20 MB", + "Will be autogenerated" : "จะถูกสร้างขึ้นโดยอัตโนมัติ", + "Add a new user" : "เพิ่มผู้ใช้ใหม่", + "Show Languages" : "แสดงภาษา", "Plain" : "ธรรมดา", "NT LAN Manager" : "ตัวจัดการ NT LAN", + "SSL/TLS" : "SSL/TLS", "STARTTLS" : "STARTTLS", - "Avatar" : "ภาพแทนตัว" + "Authentication method" : "วิธีการตรวจสอบความถูกต้อง" },"pluralForm" :"nplurals=1; plural=0;" }
\ No newline at end of file diff --git a/apps/settings/l10n/tr.js b/apps/settings/l10n/tr.js index c3c44ca88bf..23c178e2ba4 100644 --- a/apps/settings/l10n/tr.js +++ b/apps/settings/l10n/tr.js @@ -316,7 +316,7 @@ OC.L10N.register( "Week starts on {firstDayOfWeek}" : "Hafta başlangıcı: {firstDayOfWeek}", "Unable to update locale" : "Yerel ayar güncellenemedi", "No locale set" : "Herhangi bir yerel ayar seçilmemiş", - "Your location" : "Konumunuz", + "Your city" : "İliniz", "Your organisation" : "Kuruluşunuz", "Your phone number" : "Telefon numaranız", "Edit your Profile visibility" : "Profilinizin görünürlüğü değiştirin", @@ -334,6 +334,35 @@ OC.L10N.register( "Unable to update federation scope of additional {property}" : "Ek {property} birleşik kapsamı güncellenemedi", "Add additional email" : "Ek e-posta adresi ekle", "Add" : "Ekle", + "User's table" : "Kullanıcının tablosu", + "Display name" : "Görüntülenecek ad", + "Email" : "E-posta", + "Group admin for" : "Şunun grup yöneticisi", + "Quota" : "Kota", + "User backend" : "Kullanıcı arka ucu", + "Storage location" : "Depolama konumu", + "Last login" : "Son oturum açma", + "Manager" : "Yönetici", + "No users in here" : "Henüz herhangi bir kullanıcı eklenmemiş", + "Default quota" : "Varsayılan kota", + "Default language" : "Varsayılan dil", + "Common languages" : "Sık kullanılan diller", + "Other languages" : "Diğer diller", + "Password change is disabled because the master key is disabled" : "Ana anahtar devre dışı bırakıldığından parola değişikliği devre dışı bırakıldı.", + "New user" : "Yeni kullanıcı", + "Either password or email is required" : "Parola ya da e-posta adresi zorunludur", + "Password (required)" : "Parola (zorunlu)", + "Email (required)" : "E-posta adresi (zorunlu)", + "Groups (required)" : "Gruplar (zorunlu)", + "Set user groups" : "Kullanıcı gruplarını ayarla", + "Administered groups" : "Yönetilen gruplar", + "Set user as admin for …" : "Kullanıcıyı şunun yöneticisi yap…", + "Set user quota" : "Kullanıcı kotasını ayarla", + "Set default language" : "Varsayılan dili ayarla", + "Set user manager" : "Kullanıcı yöneticisi ayarla", + "Add new user" : "Yeni kullanıcı ekle", + "Username will be autogenerated" : "Kullanıcı adı otomatik olarak oluşturulacak", + "Username (required)" : "Kullanıcı adı (zorunlu)", "You do not have permissions to see the details of this user" : "Bu kullanıcının ayrıntılarını görüntüleme izniniz yok", "Edit display name" : "Görüntülenecek adı düzenle", "Add new password" : "Yeni parola ekle", @@ -358,25 +387,6 @@ OC.L10N.register( "Welcome mail sent!" : "Karşılama e-postası gönderildi!", "Edit User" : "Kullanıcıyı düzenle", "{size} used" : "{size} kullanılmış", - "User's table" : "Kullanıcının tablosu", - "New user" : "Yeni kullanıcı", - "Will be autogenerated" : "Otomatik olarak oluşturulacak", - "Display name" : "Görüntülenecek ad", - "Email" : "E-posta", - "Default language" : "Varsayılan dil", - "Select user manager" : "Kullanıcı yöneticisini seçin", - "Add a new user" : "Kullanıcı ekle", - "Group admin for" : "Şunun grup yöneticisi", - "Quota" : "Kota", - "User backend" : "Kullanıcı arka ucu", - "Storage location" : "Depolama konumu", - "Last login" : "Son oturum açma", - "Manager" : "Yönetici", - "No users in here" : "Henüz herhangi bir kullanıcı eklenmemiş", - "Default quota" : "Varsayılan kota", - "Common languages" : "Sık kullanılan diller", - "Other languages" : "Diğer diller", - "Password change is disabled because the master key is disabled" : "Ana anahtar devre dışı bırakıldığından parola değişikliği devre dışı bırakıldı.", "Passwordless authentication requires a secure connection." : "Parolasız kimlik doğrulama özelliği güvenli bir bağlantı üzerinden kullanılabilir.", "Add WebAuthn device" : "WebAuthn aygıtı ekle", "Please authorize your WebAuthn device." : "Lütfen WebAuthn aygıtınızın kimliğini doğrulayın.", @@ -401,7 +411,7 @@ OC.L10N.register( "Disabled users" : "Devre dışı bırakılmış kullanıcılar", "Default quota:" : "Varsayılan kota:", "Select default quota" : "Varsayılan kota değerini seçin", - "Show Languages" : "Dilleri görüntüle", + "Show languages" : "Dilleri görüntüle", "Show last login" : "Son oturum açma zamanı görüntülensin", "Show user backend" : "Kullanıcı arka ucu görüntülensin", "Show storage path" : "Depolama yolu görüntülensin", @@ -445,7 +455,8 @@ OC.L10N.register( "Documentation" : "Belgeler", "Forum" : "Forum", "Login" : "Oturum açın", - "SSL/TLS" : "SSL/TLS", + "None/STARTTLS" : "Yok/STARTTLS", + "SSL" : "SSL", "Open documentation" : "Belgeleri aç", "It is important to set up this server to be able to send emails, like for password reset and notifications." : "Bu sunucunun parola sıfırlama ve bildirim işlemleri için e-posta gönderebilecek şekilde ayarlanmış olması önemlidir.", "Send mode" : "Gönderim kipi", @@ -454,8 +465,7 @@ OC.L10N.register( "From address" : "Kimden adresi", "Server address" : "Sunucu adresi", "Port" : "Bağlantı noktası", - "Authentication method" : "Kimlik doğrulama yöntemi", - "Only applies when authentication is required" : "Yalnızca kimlik doğrulaması istendiğinde uygulanır", + "Authentication" : "Kimlik doğrulama", "Authentication required" : "Kimlik doğrulaması gerekli", "Credentials" : "Kimlik doğrulama bilgileri", "SMTP Username" : "SMTP kullanıcı adı", @@ -513,12 +523,17 @@ OC.L10N.register( "An administrator created app password \"{token}\"" : "Bir yönetici \"{token}\" uygulama parolasını oluşturdu", "Choose profile picture from files" : "Profil görselini dosyalardan seçin", "png or jpg, max. 20 MB" : "png ya da jpg, en fazla 20 MB", + "Your location" : "Konumunuz", + "Will be autogenerated" : "Otomatik olarak oluşturulacak", + "Add a new user" : "Kullanıcı ekle", + "Show Languages" : "Dilleri görüntüle", "Plain" : "Düz", "NT LAN Manager" : "NT ağ yöneticisi", + "SSL/TLS" : "SSL/TLS", "STARTTLS" : "STARTTLS", + "Authentication method" : "Kimlik doğrulama yöntemi", "Allow username autocompletion in share dialog" : "Paylaşım penceresinde kullanıcı adı otomatik olarak tamamlanabilsin", "Allow username autocompletion to users within the same groups" : "Aynı gruplardaki kullanıcıların kullanıcı adları otomatik olarak tamamlanabilsin", - "Avatar" : "Avatar", - "User actions" : "Kullanıcı işlemleri" + "Select user manager" : "Kullanıcı yöneticisini seçin" }, "nplurals=2; plural=(n > 1);"); diff --git a/apps/settings/l10n/tr.json b/apps/settings/l10n/tr.json index 664851ad645..4383be814a6 100644 --- a/apps/settings/l10n/tr.json +++ b/apps/settings/l10n/tr.json @@ -314,7 +314,7 @@ "Week starts on {firstDayOfWeek}" : "Hafta başlangıcı: {firstDayOfWeek}", "Unable to update locale" : "Yerel ayar güncellenemedi", "No locale set" : "Herhangi bir yerel ayar seçilmemiş", - "Your location" : "Konumunuz", + "Your city" : "İliniz", "Your organisation" : "Kuruluşunuz", "Your phone number" : "Telefon numaranız", "Edit your Profile visibility" : "Profilinizin görünürlüğü değiştirin", @@ -332,6 +332,35 @@ "Unable to update federation scope of additional {property}" : "Ek {property} birleşik kapsamı güncellenemedi", "Add additional email" : "Ek e-posta adresi ekle", "Add" : "Ekle", + "User's table" : "Kullanıcının tablosu", + "Display name" : "Görüntülenecek ad", + "Email" : "E-posta", + "Group admin for" : "Şunun grup yöneticisi", + "Quota" : "Kota", + "User backend" : "Kullanıcı arka ucu", + "Storage location" : "Depolama konumu", + "Last login" : "Son oturum açma", + "Manager" : "Yönetici", + "No users in here" : "Henüz herhangi bir kullanıcı eklenmemiş", + "Default quota" : "Varsayılan kota", + "Default language" : "Varsayılan dil", + "Common languages" : "Sık kullanılan diller", + "Other languages" : "Diğer diller", + "Password change is disabled because the master key is disabled" : "Ana anahtar devre dışı bırakıldığından parola değişikliği devre dışı bırakıldı.", + "New user" : "Yeni kullanıcı", + "Either password or email is required" : "Parola ya da e-posta adresi zorunludur", + "Password (required)" : "Parola (zorunlu)", + "Email (required)" : "E-posta adresi (zorunlu)", + "Groups (required)" : "Gruplar (zorunlu)", + "Set user groups" : "Kullanıcı gruplarını ayarla", + "Administered groups" : "Yönetilen gruplar", + "Set user as admin for …" : "Kullanıcıyı şunun yöneticisi yap…", + "Set user quota" : "Kullanıcı kotasını ayarla", + "Set default language" : "Varsayılan dili ayarla", + "Set user manager" : "Kullanıcı yöneticisi ayarla", + "Add new user" : "Yeni kullanıcı ekle", + "Username will be autogenerated" : "Kullanıcı adı otomatik olarak oluşturulacak", + "Username (required)" : "Kullanıcı adı (zorunlu)", "You do not have permissions to see the details of this user" : "Bu kullanıcının ayrıntılarını görüntüleme izniniz yok", "Edit display name" : "Görüntülenecek adı düzenle", "Add new password" : "Yeni parola ekle", @@ -356,25 +385,6 @@ "Welcome mail sent!" : "Karşılama e-postası gönderildi!", "Edit User" : "Kullanıcıyı düzenle", "{size} used" : "{size} kullanılmış", - "User's table" : "Kullanıcının tablosu", - "New user" : "Yeni kullanıcı", - "Will be autogenerated" : "Otomatik olarak oluşturulacak", - "Display name" : "Görüntülenecek ad", - "Email" : "E-posta", - "Default language" : "Varsayılan dil", - "Select user manager" : "Kullanıcı yöneticisini seçin", - "Add a new user" : "Kullanıcı ekle", - "Group admin for" : "Şunun grup yöneticisi", - "Quota" : "Kota", - "User backend" : "Kullanıcı arka ucu", - "Storage location" : "Depolama konumu", - "Last login" : "Son oturum açma", - "Manager" : "Yönetici", - "No users in here" : "Henüz herhangi bir kullanıcı eklenmemiş", - "Default quota" : "Varsayılan kota", - "Common languages" : "Sık kullanılan diller", - "Other languages" : "Diğer diller", - "Password change is disabled because the master key is disabled" : "Ana anahtar devre dışı bırakıldığından parola değişikliği devre dışı bırakıldı.", "Passwordless authentication requires a secure connection." : "Parolasız kimlik doğrulama özelliği güvenli bir bağlantı üzerinden kullanılabilir.", "Add WebAuthn device" : "WebAuthn aygıtı ekle", "Please authorize your WebAuthn device." : "Lütfen WebAuthn aygıtınızın kimliğini doğrulayın.", @@ -399,7 +409,7 @@ "Disabled users" : "Devre dışı bırakılmış kullanıcılar", "Default quota:" : "Varsayılan kota:", "Select default quota" : "Varsayılan kota değerini seçin", - "Show Languages" : "Dilleri görüntüle", + "Show languages" : "Dilleri görüntüle", "Show last login" : "Son oturum açma zamanı görüntülensin", "Show user backend" : "Kullanıcı arka ucu görüntülensin", "Show storage path" : "Depolama yolu görüntülensin", @@ -443,7 +453,8 @@ "Documentation" : "Belgeler", "Forum" : "Forum", "Login" : "Oturum açın", - "SSL/TLS" : "SSL/TLS", + "None/STARTTLS" : "Yok/STARTTLS", + "SSL" : "SSL", "Open documentation" : "Belgeleri aç", "It is important to set up this server to be able to send emails, like for password reset and notifications." : "Bu sunucunun parola sıfırlama ve bildirim işlemleri için e-posta gönderebilecek şekilde ayarlanmış olması önemlidir.", "Send mode" : "Gönderim kipi", @@ -452,8 +463,7 @@ "From address" : "Kimden adresi", "Server address" : "Sunucu adresi", "Port" : "Bağlantı noktası", - "Authentication method" : "Kimlik doğrulama yöntemi", - "Only applies when authentication is required" : "Yalnızca kimlik doğrulaması istendiğinde uygulanır", + "Authentication" : "Kimlik doğrulama", "Authentication required" : "Kimlik doğrulaması gerekli", "Credentials" : "Kimlik doğrulama bilgileri", "SMTP Username" : "SMTP kullanıcı adı", @@ -511,12 +521,17 @@ "An administrator created app password \"{token}\"" : "Bir yönetici \"{token}\" uygulama parolasını oluşturdu", "Choose profile picture from files" : "Profil görselini dosyalardan seçin", "png or jpg, max. 20 MB" : "png ya da jpg, en fazla 20 MB", + "Your location" : "Konumunuz", + "Will be autogenerated" : "Otomatik olarak oluşturulacak", + "Add a new user" : "Kullanıcı ekle", + "Show Languages" : "Dilleri görüntüle", "Plain" : "Düz", "NT LAN Manager" : "NT ağ yöneticisi", + "SSL/TLS" : "SSL/TLS", "STARTTLS" : "STARTTLS", + "Authentication method" : "Kimlik doğrulama yöntemi", "Allow username autocompletion in share dialog" : "Paylaşım penceresinde kullanıcı adı otomatik olarak tamamlanabilsin", "Allow username autocompletion to users within the same groups" : "Aynı gruplardaki kullanıcıların kullanıcı adları otomatik olarak tamamlanabilsin", - "Avatar" : "Avatar", - "User actions" : "Kullanıcı işlemleri" + "Select user manager" : "Kullanıcı yöneticisini seçin" },"pluralForm" :"nplurals=2; plural=(n > 1);" }
\ No newline at end of file diff --git a/apps/settings/l10n/uk.js b/apps/settings/l10n/uk.js index 2bf2f6907c8..46af52a31d9 100644 --- a/apps/settings/l10n/uk.js +++ b/apps/settings/l10n/uk.js @@ -119,7 +119,7 @@ OC.L10N.register( "Settings" : "Налаштування", "Personal" : "Особисте", "Administration" : "Адміністрування", - "Additional settings" : "Додаткові", + "Additional settings" : "Додатково", "Administration privileges" : "Права адміністратора", "Groupware" : "Робочі групи", "Overview" : "Огляд", @@ -130,7 +130,7 @@ OC.L10N.register( "Personal info" : "Про мене", "Mobile & desktop" : "Застосунки для пристроїв", "Email server" : "Сервер електронної пошти", - "Security & setup warnings" : "Перевірка безпеки та встановлення системи", + "Security & setup warnings" : "Перевірка налаштування та захисту", "Background jobs" : "Фонові завдання", "Create" : "Створити", "Change" : "Змінити", @@ -316,7 +316,6 @@ OC.L10N.register( "Week starts on {firstDayOfWeek}" : "Тиждень починається у {firstDayOfWeek}", "Unable to update locale" : "Не вдалося оновити мову", "No locale set" : "Мову не визначено", - "Your location" : "Ваше місце розташування", "Your organisation" : "Ваша організація", "Your phone number" : "Ваш номер телефону", "Edit your Profile visibility" : "Встановіть видимість профілю", @@ -334,6 +333,20 @@ OC.L10N.register( "Unable to update federation scope of additional {property}" : "Не вдається оновити область об'єднаної хмари додаткового {property}", "Add additional email" : "Додайте додаткову електронну адресу", "Add" : "Додати", + "Display name" : "Ім'я для показу", + "Email" : "E-mail", + "Group admin for" : "Адміністратор групи", + "Quota" : "Квота", + "User backend" : "Сервер користувача", + "Storage location" : "Місце розташування сховища", + "Last login" : "Останній вхід", + "No users in here" : "Немає користувачів", + "Default quota" : "Квота за замовчуванням", + "Default language" : "Мова за замовчуванням", + "Common languages" : "Основні мови", + "Other languages" : "Інші мови", + "Password change is disabled because the master key is disabled" : "Зміну пароля вимкнено, оскільки майстер-ключ відключений", + "New user" : "Новий користувач", "You do not have permissions to see the details of this user" : "Ви не маєте прав для перегляду деталей про цього користувача", "Add new password" : "Встановити новий пароль", "Add new email address" : "Додати нову адресу електронної пошти", @@ -355,22 +368,6 @@ OC.L10N.register( "Welcome mail sent!" : "Запрошення надіслано!", "Edit User" : "Редагувати користувача", "{size} used" : "{size} використано", - "New user" : "Новий користувач", - "Will be autogenerated" : "Буде створено автоматично", - "Display name" : "Ім'я для показу", - "Email" : "E-mail", - "Default language" : "Мова за замовчуванням", - "Add a new user" : "Додати нового користувача", - "Group admin for" : "Адміністратор групи", - "Quota" : "Квота", - "User backend" : "Сервер користувача", - "Storage location" : "Місце розташування сховища", - "Last login" : "Останній вхід", - "No users in here" : "Немає користувачів", - "Default quota" : "Квота за замовчуванням", - "Common languages" : "Основні мови", - "Other languages" : "Інші мови", - "Password change is disabled because the master key is disabled" : "Зміну пароля вимкнено, оскільки майстер-ключ відключений", "Passwordless authentication requires a secure connection." : "Авторизація без пароля вимагає безпечного з'єднання.", "Add WebAuthn device" : "Додайте пристрій WebAuthn", "Please authorize your WebAuthn device." : "Авторизуйте свій пристрій WebAuthn.", @@ -395,7 +392,6 @@ OC.L10N.register( "Disabled users" : "Вимкнені користувачі", "Default quota:" : "Квота за замовчуванням:", "Select default quota" : "Виберіть квоту за замовчуванням", - "Show Languages" : "Показати мови", "Show last login" : "Показати останній вхід", "Show user backend" : "Показати бекенд", "Show storage path" : "Показати шлях до сховища", @@ -439,7 +435,7 @@ OC.L10N.register( "Documentation" : "Документація", "Forum" : "Форум", "Login" : "Логін", - "SSL/TLS" : "SSL/TLS", + "SSL" : "SSL", "Open documentation" : "Відкрити документацію", "It is important to set up this server to be able to send emails, like for password reset and notifications." : "Важливо налаштувати цей сервер, для надсилання електронних листів, наприклад, для скидання пароля та сповіщень.", "Send mode" : "Режим надсилання", @@ -448,8 +444,7 @@ OC.L10N.register( "From address" : "Адреса відправника", "Server address" : "Адреса сервера", "Port" : "Порт", - "Authentication method" : "Спосіб авторизації", - "Only applies when authentication is required" : "Застосовується, коли вимагається авторизація", + "Authentication" : "Авторизація", "Authentication required" : "Потрібно авторизуватися", "Credentials" : "Облікові дані", "SMTP Username" : "Ім'я користувача SMTP", @@ -505,11 +500,16 @@ OC.L10N.register( "An administrator created app password \"{token}\"" : "Адміністратор створив пароль програми \"{token}\"", "Choose profile picture from files" : "Виберіть зображення профілю з файлів", "png or jpg, max. 20 MB" : "png або jpg, макс. 20 МБ", + "Your location" : "Ваше місце розташування", + "Will be autogenerated" : "Буде створено автоматично", + "Add a new user" : "Додати нового користувача", + "Show Languages" : "Показати мови", "Plain" : "Звичайний", "NT LAN Manager" : "Менеджер NT LAN", + "SSL/TLS" : "SSL/TLS", "STARTTLS" : "STARTTLS", + "Authentication method" : "Спосіб авторизації", "Allow username autocompletion in share dialog" : "Дозволити автозаповнення імені користувача в діалоговому вікні спільного доступу", - "Allow username autocompletion to users within the same groups" : "Дозволити автозавершення імен користувачів для користувачів у тих самих групах", - "Avatar" : "Світлина" + "Allow username autocompletion to users within the same groups" : "Дозволити автозавершення імен користувачів для користувачів у тих самих групах" }, "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/settings/l10n/uk.json b/apps/settings/l10n/uk.json index 6a59f2e4df0..4250c78d0f4 100644 --- a/apps/settings/l10n/uk.json +++ b/apps/settings/l10n/uk.json @@ -117,7 +117,7 @@ "Settings" : "Налаштування", "Personal" : "Особисте", "Administration" : "Адміністрування", - "Additional settings" : "Додаткові", + "Additional settings" : "Додатково", "Administration privileges" : "Права адміністратора", "Groupware" : "Робочі групи", "Overview" : "Огляд", @@ -128,7 +128,7 @@ "Personal info" : "Про мене", "Mobile & desktop" : "Застосунки для пристроїв", "Email server" : "Сервер електронної пошти", - "Security & setup warnings" : "Перевірка безпеки та встановлення системи", + "Security & setup warnings" : "Перевірка налаштування та захисту", "Background jobs" : "Фонові завдання", "Create" : "Створити", "Change" : "Змінити", @@ -314,7 +314,6 @@ "Week starts on {firstDayOfWeek}" : "Тиждень починається у {firstDayOfWeek}", "Unable to update locale" : "Не вдалося оновити мову", "No locale set" : "Мову не визначено", - "Your location" : "Ваше місце розташування", "Your organisation" : "Ваша організація", "Your phone number" : "Ваш номер телефону", "Edit your Profile visibility" : "Встановіть видимість профілю", @@ -332,6 +331,20 @@ "Unable to update federation scope of additional {property}" : "Не вдається оновити область об'єднаної хмари додаткового {property}", "Add additional email" : "Додайте додаткову електронну адресу", "Add" : "Додати", + "Display name" : "Ім'я для показу", + "Email" : "E-mail", + "Group admin for" : "Адміністратор групи", + "Quota" : "Квота", + "User backend" : "Сервер користувача", + "Storage location" : "Місце розташування сховища", + "Last login" : "Останній вхід", + "No users in here" : "Немає користувачів", + "Default quota" : "Квота за замовчуванням", + "Default language" : "Мова за замовчуванням", + "Common languages" : "Основні мови", + "Other languages" : "Інші мови", + "Password change is disabled because the master key is disabled" : "Зміну пароля вимкнено, оскільки майстер-ключ відключений", + "New user" : "Новий користувач", "You do not have permissions to see the details of this user" : "Ви не маєте прав для перегляду деталей про цього користувача", "Add new password" : "Встановити новий пароль", "Add new email address" : "Додати нову адресу електронної пошти", @@ -353,22 +366,6 @@ "Welcome mail sent!" : "Запрошення надіслано!", "Edit User" : "Редагувати користувача", "{size} used" : "{size} використано", - "New user" : "Новий користувач", - "Will be autogenerated" : "Буде створено автоматично", - "Display name" : "Ім'я для показу", - "Email" : "E-mail", - "Default language" : "Мова за замовчуванням", - "Add a new user" : "Додати нового користувача", - "Group admin for" : "Адміністратор групи", - "Quota" : "Квота", - "User backend" : "Сервер користувача", - "Storage location" : "Місце розташування сховища", - "Last login" : "Останній вхід", - "No users in here" : "Немає користувачів", - "Default quota" : "Квота за замовчуванням", - "Common languages" : "Основні мови", - "Other languages" : "Інші мови", - "Password change is disabled because the master key is disabled" : "Зміну пароля вимкнено, оскільки майстер-ключ відключений", "Passwordless authentication requires a secure connection." : "Авторизація без пароля вимагає безпечного з'єднання.", "Add WebAuthn device" : "Додайте пристрій WebAuthn", "Please authorize your WebAuthn device." : "Авторизуйте свій пристрій WebAuthn.", @@ -393,7 +390,6 @@ "Disabled users" : "Вимкнені користувачі", "Default quota:" : "Квота за замовчуванням:", "Select default quota" : "Виберіть квоту за замовчуванням", - "Show Languages" : "Показати мови", "Show last login" : "Показати останній вхід", "Show user backend" : "Показати бекенд", "Show storage path" : "Показати шлях до сховища", @@ -437,7 +433,7 @@ "Documentation" : "Документація", "Forum" : "Форум", "Login" : "Логін", - "SSL/TLS" : "SSL/TLS", + "SSL" : "SSL", "Open documentation" : "Відкрити документацію", "It is important to set up this server to be able to send emails, like for password reset and notifications." : "Важливо налаштувати цей сервер, для надсилання електронних листів, наприклад, для скидання пароля та сповіщень.", "Send mode" : "Режим надсилання", @@ -446,8 +442,7 @@ "From address" : "Адреса відправника", "Server address" : "Адреса сервера", "Port" : "Порт", - "Authentication method" : "Спосіб авторизації", - "Only applies when authentication is required" : "Застосовується, коли вимагається авторизація", + "Authentication" : "Авторизація", "Authentication required" : "Потрібно авторизуватися", "Credentials" : "Облікові дані", "SMTP Username" : "Ім'я користувача SMTP", @@ -503,11 +498,16 @@ "An administrator created app password \"{token}\"" : "Адміністратор створив пароль програми \"{token}\"", "Choose profile picture from files" : "Виберіть зображення профілю з файлів", "png or jpg, max. 20 MB" : "png або jpg, макс. 20 МБ", + "Your location" : "Ваше місце розташування", + "Will be autogenerated" : "Буде створено автоматично", + "Add a new user" : "Додати нового користувача", + "Show Languages" : "Показати мови", "Plain" : "Звичайний", "NT LAN Manager" : "Менеджер NT LAN", + "SSL/TLS" : "SSL/TLS", "STARTTLS" : "STARTTLS", + "Authentication method" : "Спосіб авторизації", "Allow username autocompletion in share dialog" : "Дозволити автозаповнення імені користувача в діалоговому вікні спільного доступу", - "Allow username autocompletion to users within the same groups" : "Дозволити автозавершення імен користувачів для користувачів у тих самих групах", - "Avatar" : "Світлина" + "Allow username autocompletion to users within the same groups" : "Дозволити автозавершення імен користувачів для користувачів у тих самих групах" },"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/settings/l10n/vi.js b/apps/settings/l10n/vi.js index 848b96c48c6..dd464bbedc4 100644 --- a/apps/settings/l10n/vi.js +++ b/apps/settings/l10n/vi.js @@ -184,22 +184,8 @@ OC.L10N.register( "Help translate" : "Hỗ trợ dịch thuật", "No language set" : "Không có ngôn ngữ", "Add" : "Thêm", - "You do not have permissions to see the details of this user" : "Bạn không có quyền xem chi tiết của người dùng này", - "Set user as admin for" : "Đặt người dùng làm quản trị viên cho", - "Select user quota" : "Chọn hạn ngạch người dùng", - "Delete user" : "Xóa người dùng", - "Wipe all devices" : "Xóa sạch tất cả các thiết bị", - "Disable user" : "Vô hiệu hóa người dùng", - "Enable user" : "Kích hoạt người dùng", - "Resend welcome email" : "Gửi lại email chào mừng", - "Welcome mail sent!" : "Thư chào mừng đã được gửi!", - "{size} used" : "{size} đã sử dụng", - "New user" : "Người dùng mới", - "Will be autogenerated" : "Sẽ được tạo tự động", "Display name" : "Tên hiển thị", "Email" : "Email", - "Default language" : "Ngôn ngữ mặc định", - "Add a new user" : "Thêm người dùng mới", "Group admin for" : "Quản trị viên nhóm", "Quota" : "Hạn ngạch", "User backend" : "Trang cài đặt người dùng", @@ -207,8 +193,20 @@ OC.L10N.register( "Last login" : "Lần đăng nhập cuối", "No users in here" : "Không có người dùng nào tại đây", "Default quota" : "Hạn ngạch mặc định", + "Default language" : "Ngôn ngữ mặc định", "Common languages" : "Ngôn ngữ thông dụng", "Password change is disabled because the master key is disabled" : "Thay đổi mật khẩu bị vô hiệu hóa vì khóa chính bị vô hiệu hóa", + "New user" : "Người dùng mới", + "You do not have permissions to see the details of this user" : "Bạn không có quyền xem chi tiết của người dùng này", + "Set user as admin for" : "Đặt người dùng làm quản trị viên cho", + "Select user quota" : "Chọn hạn ngạch người dùng", + "Delete user" : "Xóa người dùng", + "Wipe all devices" : "Xóa sạch tất cả các thiết bị", + "Disable user" : "Vô hiệu hóa người dùng", + "Enable user" : "Kích hoạt người dùng", + "Resend welcome email" : "Gửi lại email chào mừng", + "Welcome mail sent!" : "Thư chào mừng đã được gửi!", + "{size} used" : "{size} đã sử dụng", "Your apps" : "Ứng dụng của bạn", "Changelog" : "Sổ cập nhập thay đổi", "Add group" : "Thêm nhóm", @@ -216,7 +214,6 @@ OC.L10N.register( "Disabled users" : "Người dùng đã bị vô hiệu hóa", "Default quota:" : "Hạn ngạch mặc định:", "Select default quota" : "Chọn hạn ngạch mặc định", - "Show Languages" : "Hiển thị ngôn ngữ", "Show last login" : "Hiển thị lần cuối đăng nhập", "Show user backend" : "Hiển thị cài đặt người dùng", "Show storage path" : "Hiển thị đường dẫn lưu trữ", @@ -249,7 +246,7 @@ OC.L10N.register( "From address" : "Từ địa chỉ", "Server address" : "Địa chỉ máy chủ", "Port" : "Cổng", - "Authentication method" : "Phương thức xác thực", + "Authentication" : "Xác thực", "Authentication required" : "Cần phải được xác thực", "Credentials" : "Giấy chứng nhận", "SMTP Password" : "Mật khẩu SMTP", @@ -264,6 +261,9 @@ OC.L10N.register( "Allow sharing with groups" : "Cho phép chia sẻ với các nhóm", "You created app password \"{token}\"" : "Bạn đã tạo ứng dụng mật khẩu \"{token}\"", "png or jpg, max. 20 MB" : "png hoặc jpg, tối đa 20 MB", - "Avatar" : "Hình đại diện" + "Will be autogenerated" : "Sẽ được tạo tự động", + "Add a new user" : "Thêm người dùng mới", + "Show Languages" : "Hiển thị ngôn ngữ", + "Authentication method" : "Phương thức xác thực" }, "nplurals=1; plural=0;"); diff --git a/apps/settings/l10n/vi.json b/apps/settings/l10n/vi.json index 5f5089aa981..9a648d2f3c0 100644 --- a/apps/settings/l10n/vi.json +++ b/apps/settings/l10n/vi.json @@ -182,22 +182,8 @@ "Help translate" : "Hỗ trợ dịch thuật", "No language set" : "Không có ngôn ngữ", "Add" : "Thêm", - "You do not have permissions to see the details of this user" : "Bạn không có quyền xem chi tiết của người dùng này", - "Set user as admin for" : "Đặt người dùng làm quản trị viên cho", - "Select user quota" : "Chọn hạn ngạch người dùng", - "Delete user" : "Xóa người dùng", - "Wipe all devices" : "Xóa sạch tất cả các thiết bị", - "Disable user" : "Vô hiệu hóa người dùng", - "Enable user" : "Kích hoạt người dùng", - "Resend welcome email" : "Gửi lại email chào mừng", - "Welcome mail sent!" : "Thư chào mừng đã được gửi!", - "{size} used" : "{size} đã sử dụng", - "New user" : "Người dùng mới", - "Will be autogenerated" : "Sẽ được tạo tự động", "Display name" : "Tên hiển thị", "Email" : "Email", - "Default language" : "Ngôn ngữ mặc định", - "Add a new user" : "Thêm người dùng mới", "Group admin for" : "Quản trị viên nhóm", "Quota" : "Hạn ngạch", "User backend" : "Trang cài đặt người dùng", @@ -205,8 +191,20 @@ "Last login" : "Lần đăng nhập cuối", "No users in here" : "Không có người dùng nào tại đây", "Default quota" : "Hạn ngạch mặc định", + "Default language" : "Ngôn ngữ mặc định", "Common languages" : "Ngôn ngữ thông dụng", "Password change is disabled because the master key is disabled" : "Thay đổi mật khẩu bị vô hiệu hóa vì khóa chính bị vô hiệu hóa", + "New user" : "Người dùng mới", + "You do not have permissions to see the details of this user" : "Bạn không có quyền xem chi tiết của người dùng này", + "Set user as admin for" : "Đặt người dùng làm quản trị viên cho", + "Select user quota" : "Chọn hạn ngạch người dùng", + "Delete user" : "Xóa người dùng", + "Wipe all devices" : "Xóa sạch tất cả các thiết bị", + "Disable user" : "Vô hiệu hóa người dùng", + "Enable user" : "Kích hoạt người dùng", + "Resend welcome email" : "Gửi lại email chào mừng", + "Welcome mail sent!" : "Thư chào mừng đã được gửi!", + "{size} used" : "{size} đã sử dụng", "Your apps" : "Ứng dụng của bạn", "Changelog" : "Sổ cập nhập thay đổi", "Add group" : "Thêm nhóm", @@ -214,7 +212,6 @@ "Disabled users" : "Người dùng đã bị vô hiệu hóa", "Default quota:" : "Hạn ngạch mặc định:", "Select default quota" : "Chọn hạn ngạch mặc định", - "Show Languages" : "Hiển thị ngôn ngữ", "Show last login" : "Hiển thị lần cuối đăng nhập", "Show user backend" : "Hiển thị cài đặt người dùng", "Show storage path" : "Hiển thị đường dẫn lưu trữ", @@ -247,7 +244,7 @@ "From address" : "Từ địa chỉ", "Server address" : "Địa chỉ máy chủ", "Port" : "Cổng", - "Authentication method" : "Phương thức xác thực", + "Authentication" : "Xác thực", "Authentication required" : "Cần phải được xác thực", "Credentials" : "Giấy chứng nhận", "SMTP Password" : "Mật khẩu SMTP", @@ -262,6 +259,9 @@ "Allow sharing with groups" : "Cho phép chia sẻ với các nhóm", "You created app password \"{token}\"" : "Bạn đã tạo ứng dụng mật khẩu \"{token}\"", "png or jpg, max. 20 MB" : "png hoặc jpg, tối đa 20 MB", - "Avatar" : "Hình đại diện" + "Will be autogenerated" : "Sẽ được tạo tự động", + "Add a new user" : "Thêm người dùng mới", + "Show Languages" : "Hiển thị ngôn ngữ", + "Authentication method" : "Phương thức xác thực" },"pluralForm" :"nplurals=1; plural=0;" }
\ No newline at end of file diff --git a/apps/settings/l10n/zh_CN.js b/apps/settings/l10n/zh_CN.js index 5d236a2e44f..61d7b3609ce 100644 --- a/apps/settings/l10n/zh_CN.js +++ b/apps/settings/l10n/zh_CN.js @@ -2,7 +2,7 @@ OC.L10N.register( "settings", { "Private" : "私有", - "Only visible to people matched via phone number integration through Talk on mobile" : "只对通过手机上Talk应用的电话号码整合功能匹配的人可见", + "Only visible to people matched via phone number integration through Talk on mobile" : "只对通过手机上 Talk 应用的电话号码整合功能匹配的人可见", "Local" : "本地", "Only visible to people on this instance and guests" : "仅对该实例上的人及来宾可见", "Federated" : "联合云", @@ -38,10 +38,12 @@ OC.L10N.register( "{actor} changed your email address" : "{actor} 已更改您的电子邮件地址", "You changed your email address" : "您已更改您的电子邮件地址", "Your email address was changed by an administrator" : "您的电子邮件地址已被管理员更改", - "You deleted app password \"{token}\"" : "您删除了应用密码 \"{token}\"", - "You renamed app password \"{token}\" to \"{newToken}\"" : "您将应用密码 \"{token}\" 重命名为 \"{newToken}\"", - "You granted filesystem access to app password \"{token}\"" : "您将文件系统访问权限授予了应用密码 \"{token}\"", - "You revoked filesystem access from app password \"{token}\"" : "您撤销了应用密码 \"{token}\" 的文件系统访问权限", + "You created an app password for a session named \"{token}\"" : "您已经为名为“{token}”的会话创建了应用程序密码", + "An administrator created an app password for a session named \"{token}\"" : "管理员已经为名为“{token}”的会话创建了应用程序密码", + "You deleted app password \"{token}\"" : "您删除了应用密码“{token}”", + "You renamed app password \"{token}\" to \"{newToken}\"" : "您将应用密码“{token}”重命名为“{newToken}”", + "You granted filesystem access to app password \"{token}\"" : "您将文件系统访问权限授予了应用密码“{token}”", + "You revoked filesystem access from app password \"{token}\"" : "您撤销了应用密码“{token}”的文件系统访问权限", "Security" : "安全", "You successfully logged in using two-factor authentication (%1$s)" : "您使用两步验证登录成功(%1$s)", "A login attempt using two-factor authentication failed (%1$s)" : "使用两步验证登录失败的尝试 (%1$s)", @@ -62,13 +64,14 @@ OC.L10N.register( "Backend does not support password change, but the user's encryption key was updated." : "后端不支持密码修改,但用户的加密密钥已经更新。", "installing and updating apps via the App Store or Federated Cloud Sharing" : "通过应用商店或联合云共享安装和更新应用", "Federated Cloud Sharing" : "联合云共享", - "cURL is using an outdated %1$s version (%2$s). Please update your operating system or features such as %3$s will not work reliably." : "cURL正使用一个过时的%1$s 版本 (%2$s)。请升级您的操作系统,否则像 %3$s 这样的特性将无法可靠地工作。", + "cURL is using an outdated %1$s version (%2$s). Please update your operating system or features such as %3$s will not work reliably." : "cURL 正使用一个过时的%1$s 版本 (%2$s)。请升级您的操作系统,否则像 %3$s 这样的特性将无法可靠地工作。", "Could not determine if TLS version of cURL is outdated or not because an error happened during the HTTPS request against https://nextcloud.com. Please check the Nextcloud log file for more details." : "不能确定 cURL 的 TLS 版本是否已过时,因为在 HTTPS 请求 https://nextcloud.com 时发生了错误。请检查 nextcloud 日志文件以获取更多信息。", "The PHP OPcache module is not loaded. For better performance it is recommended to load it into your PHP installation." : "未加载 PHP OPcache 模块。为了更好的性能,建议将其加载到您的 PHP 安装中。", "OPcache is disabled. For better performance, it is recommended to apply <code>opcache.enable=1</code> to your PHP configuration." : "OPcache 已经禁用。为了更好的性能,建议在您的 PHP 设置中应用 <code>opcache.enable=1</code>。", "OPcache is configured to remove code comments. With OPcache enabled, <code>opcache.save_comments=1</code> must be set for Nextcloud to function." : "OPcache 被设置为移除代码注释。当启用 OPcache 后,必须设置 <code>opcache.save_comments=1</code>,才能让 Nextcloud 工作。", "Nextcloud is not allowed to use the OPcache API. With OPcache enabled, it is highly recommended to include all Nextcloud directories with <code>opcache.restrict_api</code> or unset this setting to disable OPcache API restrictions, to prevent errors during Nextcloud core or app upgrades." : "Nextcloud 不被允许使用 OPcache API。启用 OPcache 后,强烈建议使用 <code>opcache.restrict_api</code> 包含所有 Nextcloud 目录,或取消该设置以禁用 OPcache API 限制,以避免 Nextcloud 核心或应用程序升级期间发生错误。", "Nextcloud is not allowed to use the OPcache API. It is highly recommended to include all Nextcloud directories with <code>opcache.restrict_api</code> or unset this setting to disable OPcache API restrictions, to prevent errors during Nextcloud core or app upgrades." : "Nextcloud 不被允许使用 OPcache API。强烈建议使用 <code>opcache.restrict_api</code> 包含所有 Nextcloud 目录,或取消该设置以禁用 OPcache API 限制,以避免 Nextcloud 核心或应用程序升级期间发生错误。", + "The shared memory based OPcache is disabled. For better performance, it is recommended to apply <code>opcache.file_cache_only=0</code> to your PHP configuration and use the file cache as second level cache only." : "基于共享内存的 OPcache 已禁用。为了更好的性能,建议在您的 PHP 配置中应用 <code>opcache.file_cache_only=0</code>,并仅使用文件作为二级缓存。", "The maximum number of OPcache keys is nearly exceeded. To assure that all scripts can be kept in the cache, it is recommended to apply <code>opcache.max_accelerated_files</code> to your PHP configuration with a value higher than <code>%s</code>." : "几乎超过了 OPcache 键的最大数量。为确保所有脚本可以保留在缓存中,建议在您的 PHP 设置中 <code>opcache.max_accelerated_files</code> 设置一个高于 <code>%s</code> 的值。", "The OPcache buffer is nearly full. To assure that all scripts can be hold in cache, it is recommended to apply <code>opcache.memory_consumption</code> to your PHP configuration with a value higher than <code>%s</code>." : "OPcache 缓存几乎已满。为确保所有脚本可以保留在缓存中,建议在您的 PHP 设置中 <code>opcache.memory_consumption</code> 设置一个高于 <code>%s</code> 的值。", "The OPcache interned strings buffer is nearly full. To assure that repeating strings can be effectively cached, it is recommended to apply <code>opcache.interned_strings_buffer</code> to your PHP configuration with a value higher than <code>%s</code>." : "OPcache 内部字符串缓存几乎已满。为确保重复的字符串可以被有效地缓存,建议在您的 PHP 设置中 <code>opcache.interned_strings_buffer</code> 设置一个高于 <code>%s</code> 的值。", @@ -202,8 +205,8 @@ OC.L10N.register( "iPad" : "iPad", "{productName} iOS app" : "{productName} iOS 应用", "{productName} Android app" : "{productName} 安卓应用", - "{productName} Talk for iOS" : "{productName}iOS版通话应用", - "{productName} Talk for Android" : "{productName}Android版通话应用", + "{productName} Talk for iOS" : "{productName}iOS 版通话应用", + "{productName} Talk for Android" : "{productName}Android 版通话应用", "Sync client - {os}" : "同步客户端 - {os}", "This session" : "当前会话", "Device" : "设备", @@ -239,7 +242,7 @@ OC.L10N.register( "Cron (Recommended)" : "Cron(推荐)", "To run this you need the PHP POSIX extension. See {linkstart}PHP documentation{linkend} for more details." : "为了运行该功能,您需要 PHP posix 扩展。请参考 {linkstart}PHP 文档{linkend} 获取更多信息。", "Use system cron service to call the cron.php file every 5 minutes. Recommended for all instances." : "使用系统 cron 服务,每 5 分钟调用 cron.php 文件。建议在所有实例中使用。", - "The cron.php needs to be executed by the system user \"{user}\"." : "cron.php 需要由系统用户 \"{user}\" 执行。", + "The cron.php needs to be executed by the system user \"{user}\"." : "cron.php 需要由系统用户“{user}”执行。", "Unable to update background job mode" : "无法更新后台任务模式", "Profile" : "个人资料", "Enable or disable profile by default for new users." : "对新用户默认启用或禁用简介。", @@ -265,9 +268,12 @@ OC.L10N.register( "Current password" : "当前密码", "New password" : "新密码", "Change password" : "修改密码", + "Your profile information" : "您的个人资料", "Your profile picture" : "您的个人资料图片", "Upload profile picture" : "上传个人资料图片", + "Choose profile picture from Files" : "从文件中选择个人资料图片", "Remove profile picture" : "移除个人资料图片", + "The file must be a PNG or JPG" : "文件必须是 PNG 或 JPG 格式", "Picture provided by original account" : "初始账号提供的图片", "Cancel" : "取消", "Set as profile picture" : "设置为个人资料图片", @@ -300,6 +306,7 @@ OC.L10N.register( "Unable to delete additional email address" : "无法删除附加电邮地址", "No email address set" : "尚未设置 Email 地址", "Additional emails" : "附加邮箱地址", + "Your handle" : "您的别名", "Your headline" : "您的标题", "Language" : "语言", "Help translate" : "帮助翻译", @@ -309,7 +316,7 @@ OC.L10N.register( "Week starts on {firstDayOfWeek}" : "每周开始于 {firstDayOfWeek}", "Unable to update locale" : "无法更新语系", "No locale set" : "没有设置语系", - "Your location" : "您的位置", + "Your city" : "您的城市", "Your organisation" : "您的组织", "Your phone number" : "您的电话号码", "Edit your Profile visibility" : "编辑个人资料可见性", @@ -327,12 +334,44 @@ OC.L10N.register( "Unable to update federation scope of additional {property}" : "无法更新额外 {property} 的联盟范围", "Add additional email" : "添加额外的电子邮箱", "Add" : "添加", + "User's table" : "用户的表格", + "Display name" : "显示名称", + "Email" : "电子邮件", + "Group admin for" : "分组管理员", + "Quota" : "配额", + "User backend" : "用户来源", + "Storage location" : "存储位置", + "Last login" : "最后登录", + "Manager" : "管理者", + "No users in here" : "这里没有用户", + "Default quota" : "默认配额", + "Default language" : "默认语言", + "Common languages" : "常用语言", + "Other languages" : "其他语言", + "Password change is disabled because the master key is disabled" : "密码修改被禁用,因为主密码被禁用", + "New user" : "新建用户", + "Either password or email is required" : "需要密码或者电子邮件地址", + "Password (required)" : "密码(必填)", + "Email (required)" : "电子邮件(必填)", + "Groups (required)" : "群组(必填)", + "Set user groups" : "设置用户群组", + "Administered groups" : "被管理的群组", + "Set user as admin for …" : "将用户设置为以下群组的管理员 ...", + "Set user quota" : "设置用户配额", + "Set default language" : "设置默认语言", + "Set user manager" : "设置用户管理者", + "Add new user" : "添加新用户", + "Username will be autogenerated" : "用户名将自动生成", + "Username (required)" : "用户名(必填)", "You do not have permissions to see the details of this user" : "您没有权限查看该用户的详细信息", + "Edit display name" : "编辑显示名称", "Add new password" : "添加新的密码", "Add new email address" : "添加新的电子邮件地址", "Add user to group" : "添加用户到组", "Set user as admin for" : "设置用户为管理员", "Select user quota" : "选择用户容量限额", + "Set the language" : "设置语言", + "Select manager" : "选择管理者", "Toggle user actions menu" : "切换用户行动菜单", "Delete user" : "删除用户", "Wipe all devices" : "擦除所有设备", @@ -348,22 +387,6 @@ OC.L10N.register( "Welcome mail sent!" : "欢迎邮件已经发送!", "Edit User" : "编辑用户", "{size} used" : "已使用 {size}", - "New user" : "新建用户", - "Will be autogenerated" : "将自动生成", - "Display name" : "显示名称", - "Email" : "电子邮件", - "Default language" : "默认语言", - "Add a new user" : "添加新用户", - "Group admin for" : "分组管理员", - "Quota" : "配额", - "User backend" : "用户来源", - "Storage location" : "存储位置", - "Last login" : "最后登录", - "No users in here" : "这里没有用户", - "Default quota" : "默认配额", - "Common languages" : "常用语言", - "Other languages" : "其他语言", - "Password change is disabled because the master key is disabled" : "密码修改被禁用,因为主密码被禁用", "Passwordless authentication requires a secure connection." : "无密码身份验证需要安全的连接。", "Add WebAuthn device" : "添加 WebAuthn 设备", "Please authorize your WebAuthn device." : "请授权您的 WebAuthn 设备。", @@ -388,13 +411,13 @@ OC.L10N.register( "Disabled users" : "已禁用的用户", "Default quota:" : "默认配额:", "Select default quota" : "选择默认存储限额", - "Show Languages" : "显示语言", + "Show languages" : "显示语言", "Show last login" : "显示最后登录", "Show user backend" : "显示用户来源", "Show storage path" : "显示存储路径", "Send email to new user" : "发送电子邮件给新用户", "Not saved" : "未保存", - "Sending…" : "正在发送…", + "Sending…" : "正在发送 ...", "Email sent" : "邮件已发送", "Location" : "位置", "Profile picture" : "个人头像", @@ -406,7 +429,7 @@ OC.L10N.register( "Phone number" : "电话号码", "Role" : "角色", "Twitter" : "Twitter", - "Fediverse (e.g. Mastodon)" : "联邦宇宙(例如Mastodon)", + "Fediverse (e.g. Mastodon)" : "联邦宇宙(例如 Mastodon)", "Website" : "网站", "Profile visibility" : "个人资料可见性", "Not available as this property is required for core functionality including file sharing and calendar invitations" : "不可用,因为包括文件共享和日历邀请在内的核心功能需要此属性", @@ -426,13 +449,14 @@ OC.L10N.register( "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." : "此应用被标记为与您的 Nextcloud 版本不兼容。如果您要继续,您仍可安装此应用。请注意此应用可能不会正常工作。", "Never" : "从不", "An error occurred during the request. Unable to proceed." : "请求期间发生错误。无法继续。", - "The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "该应用已启用,但是需要更新。5秒后将跳转到更新页面。", + "The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "该应用已启用,但是需要更新。将在 5 秒后跳转到更新页面。", "Error: This app cannot be enabled because it makes the server unstable" : "错误:这个应用程序不能被启用,因为它使服务器不稳定 ", "There were too many requests from your network. Retry later or contact your administrator if this is an error." : "您的网络请求过多。如果出现错误,请稍后重试或与您的管理员联系。", "Documentation" : "文档", "Forum" : "论坛", "Login" : "登录", - "SSL/TLS" : "SSL/TLS", + "None/STARTTLS" : "无/STARTTLS", + "SSL" : "SSL", "Open documentation" : "打开文档", "It is important to set up this server to be able to send emails, like for password reset and notifications." : "设置此服务器以能够发送电子邮件(例如密码重置和通知)非常重要。", "Send mode" : "发送模式", @@ -441,7 +465,7 @@ OC.L10N.register( "From address" : "来自地址", "Server address" : "服务器地址", "Port" : "端口", - "Authentication method" : "认证方法", + "Authentication" : "身份认证", "Authentication required" : "需要认证", "Credentials" : "证书", "SMTP Username" : "SMTP 用户名", @@ -477,6 +501,8 @@ OC.L10N.register( "Restrict users to only share with users in their groups" : "限制用户只与他们组中的用户共享", "Exclude groups from sharing" : "在共享中排除组", "These groups will still be able to receive shares, but not to initiate them." : "这些组将仍可以获取共享,但无法向他人共享。", + "Allow username autocompletion in share dialog and allow access to the system address book" : "允许在分享对话框中自动补全用户名并访问系统通讯录", + "Allow username autocompletion to users within the same groups and limit system address books to users in the same groups" : "允许群组内部的用户名自动补全,并将系统通讯录限制为同一群组用户", "Allow username autocompletion to users based on phone number integration" : "允许基于手机号码集成自动完成用户的用户名", "If autocompletion \"same group\" and \"phone number integration\" are enabled a match in either is enough to show the user." : "如果启用了“同组”自动完成和“手机号码集成”,则匹配两者中的任何一个都足以显示用户", "Allow autocompletion when entering the full name or email address (ignoring missing phonebook match and being in the same group)" : "输入全名或电子邮箱地址时,允许自动完成(忽略缺少的通讯录匹配及同组要求)", @@ -484,24 +510,30 @@ OC.L10N.register( "This text will be shown on the public link upload page when the file list is hidden." : "这些内容将在公开链接上传页中当文件列表隐藏时显示。", "Default share permissions" : "默认共享权限", "Reasons to use Nextcloud in your organization" : "在您的组织中使用 Nextcloud 的原因", - "Developed by the {communityopen}Nextcloud community{linkclose}, the {githubopen}source code{linkclose} is licensed under the {licenseopen}AGPL{linkclose}." : "由{communityopen}Nextcloud社区{linkclose}开发,{githubopen}源代码{linkclose}基于 {licenseopen}AGPL{linkclose}许可协议。", - "Like our Facebook page" : "点赞我们 facebook 页面!", + "Developed by the {communityopen}Nextcloud community{linkclose}, the {githubopen}source code{linkclose} is licensed under the {licenseopen}AGPL{linkclose}." : "由 {communityopen}Nextcloud 社区{linkclose} 开发,{githubopen}源代码{linkclose} 基于 {licenseopen}AGPL{linkclose}许可协议。", + "Like our Facebook page" : "给我们的 Facebook 页面点赞!", "Follow us on Twitter" : "在 Twitter 上关注我们!", - "Follow us on Mastodon" : "在Mastodon上关注我们", + "Follow us on Mastodon" : "在 Mastodon 上关注我们", "Check out our blog" : "浏览我们的博客!", "Subscribe to our newsletter" : "订阅我们的最新消息!", - "This community release of Nextcloud is unsupported and instant notifications are unavailable." : "Nextcloud 的这个社区版本不受支持,即时通知不可用。", + "This community release of Nextcloud is unsupported and instant notifications are unavailable." : "Nextcloud 的此社区版本不受支持,即时通知不可用。", "Use a second factor besides your password to increase security for your account." : "使用除您密码之外的第二种方法来增强您账号的安全性。", - "If you use third party applications to connect to Nextcloud, please make sure to create and configure an app password for each before enabling second factor authentication." : "如果您使用第三方应用程序连接到 Nextcloud,请确保在启用第二因素身份验证之前为每个应用程序创建和配置应用程序密码。", - "You created app password \"{token}\"" : "您创建了应用密码 \"{token}\"", - "An administrator created app password \"{token}\"" : "管理员创建了应用密码 \"{token}\"", + "If you use third party applications to connect to Nextcloud, please make sure to create and configure an app password for each before enabling second factor authentication." : "如果您使用第三方应用程序连接到 Nextcloud,请确保在启用双因素身份验证之前为每个应用程序创建和配置应用程序密码。", + "You created app password \"{token}\"" : "您创建了应用密码“{token}”", + "An administrator created app password \"{token}\"" : "管理员创建了应用密码“{token}”", "Choose profile picture from files" : "从文件中选择个人资料图片", "png or jpg, max. 20 MB" : "png 或 jpg 格式,最大 20MB", + "Your location" : "您的位置", + "Will be autogenerated" : "将自动生成", + "Add a new user" : "添加新用户", + "Show Languages" : "显示语言", "Plain" : "明文", "NT LAN Manager" : "NT LAN 管理器", + "SSL/TLS" : "SSL/TLS", "STARTTLS" : "STARTTLS", + "Authentication method" : "认证方法", "Allow username autocompletion in share dialog" : "在分享对话框中允许用户名自动完成", "Allow username autocompletion to users within the same groups" : "允许自动完成同一组内的用户的用户名", - "Avatar" : "头像" + "Select user manager" : "选择用户管理者" }, "nplurals=1; plural=0;"); diff --git a/apps/settings/l10n/zh_CN.json b/apps/settings/l10n/zh_CN.json index 9bd862658c6..f15aa1ad43a 100644 --- a/apps/settings/l10n/zh_CN.json +++ b/apps/settings/l10n/zh_CN.json @@ -1,6 +1,6 @@ { "translations": { "Private" : "私有", - "Only visible to people matched via phone number integration through Talk on mobile" : "只对通过手机上Talk应用的电话号码整合功能匹配的人可见", + "Only visible to people matched via phone number integration through Talk on mobile" : "只对通过手机上 Talk 应用的电话号码整合功能匹配的人可见", "Local" : "本地", "Only visible to people on this instance and guests" : "仅对该实例上的人及来宾可见", "Federated" : "联合云", @@ -36,10 +36,12 @@ "{actor} changed your email address" : "{actor} 已更改您的电子邮件地址", "You changed your email address" : "您已更改您的电子邮件地址", "Your email address was changed by an administrator" : "您的电子邮件地址已被管理员更改", - "You deleted app password \"{token}\"" : "您删除了应用密码 \"{token}\"", - "You renamed app password \"{token}\" to \"{newToken}\"" : "您将应用密码 \"{token}\" 重命名为 \"{newToken}\"", - "You granted filesystem access to app password \"{token}\"" : "您将文件系统访问权限授予了应用密码 \"{token}\"", - "You revoked filesystem access from app password \"{token}\"" : "您撤销了应用密码 \"{token}\" 的文件系统访问权限", + "You created an app password for a session named \"{token}\"" : "您已经为名为“{token}”的会话创建了应用程序密码", + "An administrator created an app password for a session named \"{token}\"" : "管理员已经为名为“{token}”的会话创建了应用程序密码", + "You deleted app password \"{token}\"" : "您删除了应用密码“{token}”", + "You renamed app password \"{token}\" to \"{newToken}\"" : "您将应用密码“{token}”重命名为“{newToken}”", + "You granted filesystem access to app password \"{token}\"" : "您将文件系统访问权限授予了应用密码“{token}”", + "You revoked filesystem access from app password \"{token}\"" : "您撤销了应用密码“{token}”的文件系统访问权限", "Security" : "安全", "You successfully logged in using two-factor authentication (%1$s)" : "您使用两步验证登录成功(%1$s)", "A login attempt using two-factor authentication failed (%1$s)" : "使用两步验证登录失败的尝试 (%1$s)", @@ -60,13 +62,14 @@ "Backend does not support password change, but the user's encryption key was updated." : "后端不支持密码修改,但用户的加密密钥已经更新。", "installing and updating apps via the App Store or Federated Cloud Sharing" : "通过应用商店或联合云共享安装和更新应用", "Federated Cloud Sharing" : "联合云共享", - "cURL is using an outdated %1$s version (%2$s). Please update your operating system or features such as %3$s will not work reliably." : "cURL正使用一个过时的%1$s 版本 (%2$s)。请升级您的操作系统,否则像 %3$s 这样的特性将无法可靠地工作。", + "cURL is using an outdated %1$s version (%2$s). Please update your operating system or features such as %3$s will not work reliably." : "cURL 正使用一个过时的%1$s 版本 (%2$s)。请升级您的操作系统,否则像 %3$s 这样的特性将无法可靠地工作。", "Could not determine if TLS version of cURL is outdated or not because an error happened during the HTTPS request against https://nextcloud.com. Please check the Nextcloud log file for more details." : "不能确定 cURL 的 TLS 版本是否已过时,因为在 HTTPS 请求 https://nextcloud.com 时发生了错误。请检查 nextcloud 日志文件以获取更多信息。", "The PHP OPcache module is not loaded. For better performance it is recommended to load it into your PHP installation." : "未加载 PHP OPcache 模块。为了更好的性能,建议将其加载到您的 PHP 安装中。", "OPcache is disabled. For better performance, it is recommended to apply <code>opcache.enable=1</code> to your PHP configuration." : "OPcache 已经禁用。为了更好的性能,建议在您的 PHP 设置中应用 <code>opcache.enable=1</code>。", "OPcache is configured to remove code comments. With OPcache enabled, <code>opcache.save_comments=1</code> must be set for Nextcloud to function." : "OPcache 被设置为移除代码注释。当启用 OPcache 后,必须设置 <code>opcache.save_comments=1</code>,才能让 Nextcloud 工作。", "Nextcloud is not allowed to use the OPcache API. With OPcache enabled, it is highly recommended to include all Nextcloud directories with <code>opcache.restrict_api</code> or unset this setting to disable OPcache API restrictions, to prevent errors during Nextcloud core or app upgrades." : "Nextcloud 不被允许使用 OPcache API。启用 OPcache 后,强烈建议使用 <code>opcache.restrict_api</code> 包含所有 Nextcloud 目录,或取消该设置以禁用 OPcache API 限制,以避免 Nextcloud 核心或应用程序升级期间发生错误。", "Nextcloud is not allowed to use the OPcache API. It is highly recommended to include all Nextcloud directories with <code>opcache.restrict_api</code> or unset this setting to disable OPcache API restrictions, to prevent errors during Nextcloud core or app upgrades." : "Nextcloud 不被允许使用 OPcache API。强烈建议使用 <code>opcache.restrict_api</code> 包含所有 Nextcloud 目录,或取消该设置以禁用 OPcache API 限制,以避免 Nextcloud 核心或应用程序升级期间发生错误。", + "The shared memory based OPcache is disabled. For better performance, it is recommended to apply <code>opcache.file_cache_only=0</code> to your PHP configuration and use the file cache as second level cache only." : "基于共享内存的 OPcache 已禁用。为了更好的性能,建议在您的 PHP 配置中应用 <code>opcache.file_cache_only=0</code>,并仅使用文件作为二级缓存。", "The maximum number of OPcache keys is nearly exceeded. To assure that all scripts can be kept in the cache, it is recommended to apply <code>opcache.max_accelerated_files</code> to your PHP configuration with a value higher than <code>%s</code>." : "几乎超过了 OPcache 键的最大数量。为确保所有脚本可以保留在缓存中,建议在您的 PHP 设置中 <code>opcache.max_accelerated_files</code> 设置一个高于 <code>%s</code> 的值。", "The OPcache buffer is nearly full. To assure that all scripts can be hold in cache, it is recommended to apply <code>opcache.memory_consumption</code> to your PHP configuration with a value higher than <code>%s</code>." : "OPcache 缓存几乎已满。为确保所有脚本可以保留在缓存中,建议在您的 PHP 设置中 <code>opcache.memory_consumption</code> 设置一个高于 <code>%s</code> 的值。", "The OPcache interned strings buffer is nearly full. To assure that repeating strings can be effectively cached, it is recommended to apply <code>opcache.interned_strings_buffer</code> to your PHP configuration with a value higher than <code>%s</code>." : "OPcache 内部字符串缓存几乎已满。为确保重复的字符串可以被有效地缓存,建议在您的 PHP 设置中 <code>opcache.interned_strings_buffer</code> 设置一个高于 <code>%s</code> 的值。", @@ -200,8 +203,8 @@ "iPad" : "iPad", "{productName} iOS app" : "{productName} iOS 应用", "{productName} Android app" : "{productName} 安卓应用", - "{productName} Talk for iOS" : "{productName}iOS版通话应用", - "{productName} Talk for Android" : "{productName}Android版通话应用", + "{productName} Talk for iOS" : "{productName}iOS 版通话应用", + "{productName} Talk for Android" : "{productName}Android 版通话应用", "Sync client - {os}" : "同步客户端 - {os}", "This session" : "当前会话", "Device" : "设备", @@ -237,7 +240,7 @@ "Cron (Recommended)" : "Cron(推荐)", "To run this you need the PHP POSIX extension. See {linkstart}PHP documentation{linkend} for more details." : "为了运行该功能,您需要 PHP posix 扩展。请参考 {linkstart}PHP 文档{linkend} 获取更多信息。", "Use system cron service to call the cron.php file every 5 minutes. Recommended for all instances." : "使用系统 cron 服务,每 5 分钟调用 cron.php 文件。建议在所有实例中使用。", - "The cron.php needs to be executed by the system user \"{user}\"." : "cron.php 需要由系统用户 \"{user}\" 执行。", + "The cron.php needs to be executed by the system user \"{user}\"." : "cron.php 需要由系统用户“{user}”执行。", "Unable to update background job mode" : "无法更新后台任务模式", "Profile" : "个人资料", "Enable or disable profile by default for new users." : "对新用户默认启用或禁用简介。", @@ -263,9 +266,12 @@ "Current password" : "当前密码", "New password" : "新密码", "Change password" : "修改密码", + "Your profile information" : "您的个人资料", "Your profile picture" : "您的个人资料图片", "Upload profile picture" : "上传个人资料图片", + "Choose profile picture from Files" : "从文件中选择个人资料图片", "Remove profile picture" : "移除个人资料图片", + "The file must be a PNG or JPG" : "文件必须是 PNG 或 JPG 格式", "Picture provided by original account" : "初始账号提供的图片", "Cancel" : "取消", "Set as profile picture" : "设置为个人资料图片", @@ -298,6 +304,7 @@ "Unable to delete additional email address" : "无法删除附加电邮地址", "No email address set" : "尚未设置 Email 地址", "Additional emails" : "附加邮箱地址", + "Your handle" : "您的别名", "Your headline" : "您的标题", "Language" : "语言", "Help translate" : "帮助翻译", @@ -307,7 +314,7 @@ "Week starts on {firstDayOfWeek}" : "每周开始于 {firstDayOfWeek}", "Unable to update locale" : "无法更新语系", "No locale set" : "没有设置语系", - "Your location" : "您的位置", + "Your city" : "您的城市", "Your organisation" : "您的组织", "Your phone number" : "您的电话号码", "Edit your Profile visibility" : "编辑个人资料可见性", @@ -325,12 +332,44 @@ "Unable to update federation scope of additional {property}" : "无法更新额外 {property} 的联盟范围", "Add additional email" : "添加额外的电子邮箱", "Add" : "添加", + "User's table" : "用户的表格", + "Display name" : "显示名称", + "Email" : "电子邮件", + "Group admin for" : "分组管理员", + "Quota" : "配额", + "User backend" : "用户来源", + "Storage location" : "存储位置", + "Last login" : "最后登录", + "Manager" : "管理者", + "No users in here" : "这里没有用户", + "Default quota" : "默认配额", + "Default language" : "默认语言", + "Common languages" : "常用语言", + "Other languages" : "其他语言", + "Password change is disabled because the master key is disabled" : "密码修改被禁用,因为主密码被禁用", + "New user" : "新建用户", + "Either password or email is required" : "需要密码或者电子邮件地址", + "Password (required)" : "密码(必填)", + "Email (required)" : "电子邮件(必填)", + "Groups (required)" : "群组(必填)", + "Set user groups" : "设置用户群组", + "Administered groups" : "被管理的群组", + "Set user as admin for …" : "将用户设置为以下群组的管理员 ...", + "Set user quota" : "设置用户配额", + "Set default language" : "设置默认语言", + "Set user manager" : "设置用户管理者", + "Add new user" : "添加新用户", + "Username will be autogenerated" : "用户名将自动生成", + "Username (required)" : "用户名(必填)", "You do not have permissions to see the details of this user" : "您没有权限查看该用户的详细信息", + "Edit display name" : "编辑显示名称", "Add new password" : "添加新的密码", "Add new email address" : "添加新的电子邮件地址", "Add user to group" : "添加用户到组", "Set user as admin for" : "设置用户为管理员", "Select user quota" : "选择用户容量限额", + "Set the language" : "设置语言", + "Select manager" : "选择管理者", "Toggle user actions menu" : "切换用户行动菜单", "Delete user" : "删除用户", "Wipe all devices" : "擦除所有设备", @@ -346,22 +385,6 @@ "Welcome mail sent!" : "欢迎邮件已经发送!", "Edit User" : "编辑用户", "{size} used" : "已使用 {size}", - "New user" : "新建用户", - "Will be autogenerated" : "将自动生成", - "Display name" : "显示名称", - "Email" : "电子邮件", - "Default language" : "默认语言", - "Add a new user" : "添加新用户", - "Group admin for" : "分组管理员", - "Quota" : "配额", - "User backend" : "用户来源", - "Storage location" : "存储位置", - "Last login" : "最后登录", - "No users in here" : "这里没有用户", - "Default quota" : "默认配额", - "Common languages" : "常用语言", - "Other languages" : "其他语言", - "Password change is disabled because the master key is disabled" : "密码修改被禁用,因为主密码被禁用", "Passwordless authentication requires a secure connection." : "无密码身份验证需要安全的连接。", "Add WebAuthn device" : "添加 WebAuthn 设备", "Please authorize your WebAuthn device." : "请授权您的 WebAuthn 设备。", @@ -386,13 +409,13 @@ "Disabled users" : "已禁用的用户", "Default quota:" : "默认配额:", "Select default quota" : "选择默认存储限额", - "Show Languages" : "显示语言", + "Show languages" : "显示语言", "Show last login" : "显示最后登录", "Show user backend" : "显示用户来源", "Show storage path" : "显示存储路径", "Send email to new user" : "发送电子邮件给新用户", "Not saved" : "未保存", - "Sending…" : "正在发送…", + "Sending…" : "正在发送 ...", "Email sent" : "邮件已发送", "Location" : "位置", "Profile picture" : "个人头像", @@ -404,7 +427,7 @@ "Phone number" : "电话号码", "Role" : "角色", "Twitter" : "Twitter", - "Fediverse (e.g. Mastodon)" : "联邦宇宙(例如Mastodon)", + "Fediverse (e.g. Mastodon)" : "联邦宇宙(例如 Mastodon)", "Website" : "网站", "Profile visibility" : "个人资料可见性", "Not available as this property is required for core functionality including file sharing and calendar invitations" : "不可用,因为包括文件共享和日历邀请在内的核心功能需要此属性", @@ -424,13 +447,14 @@ "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." : "此应用被标记为与您的 Nextcloud 版本不兼容。如果您要继续,您仍可安装此应用。请注意此应用可能不会正常工作。", "Never" : "从不", "An error occurred during the request. Unable to proceed." : "请求期间发生错误。无法继续。", - "The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "该应用已启用,但是需要更新。5秒后将跳转到更新页面。", + "The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "该应用已启用,但是需要更新。将在 5 秒后跳转到更新页面。", "Error: This app cannot be enabled because it makes the server unstable" : "错误:这个应用程序不能被启用,因为它使服务器不稳定 ", "There were too many requests from your network. Retry later or contact your administrator if this is an error." : "您的网络请求过多。如果出现错误,请稍后重试或与您的管理员联系。", "Documentation" : "文档", "Forum" : "论坛", "Login" : "登录", - "SSL/TLS" : "SSL/TLS", + "None/STARTTLS" : "无/STARTTLS", + "SSL" : "SSL", "Open documentation" : "打开文档", "It is important to set up this server to be able to send emails, like for password reset and notifications." : "设置此服务器以能够发送电子邮件(例如密码重置和通知)非常重要。", "Send mode" : "发送模式", @@ -439,7 +463,7 @@ "From address" : "来自地址", "Server address" : "服务器地址", "Port" : "端口", - "Authentication method" : "认证方法", + "Authentication" : "身份认证", "Authentication required" : "需要认证", "Credentials" : "证书", "SMTP Username" : "SMTP 用户名", @@ -475,6 +499,8 @@ "Restrict users to only share with users in their groups" : "限制用户只与他们组中的用户共享", "Exclude groups from sharing" : "在共享中排除组", "These groups will still be able to receive shares, but not to initiate them." : "这些组将仍可以获取共享,但无法向他人共享。", + "Allow username autocompletion in share dialog and allow access to the system address book" : "允许在分享对话框中自动补全用户名并访问系统通讯录", + "Allow username autocompletion to users within the same groups and limit system address books to users in the same groups" : "允许群组内部的用户名自动补全,并将系统通讯录限制为同一群组用户", "Allow username autocompletion to users based on phone number integration" : "允许基于手机号码集成自动完成用户的用户名", "If autocompletion \"same group\" and \"phone number integration\" are enabled a match in either is enough to show the user." : "如果启用了“同组”自动完成和“手机号码集成”,则匹配两者中的任何一个都足以显示用户", "Allow autocompletion when entering the full name or email address (ignoring missing phonebook match and being in the same group)" : "输入全名或电子邮箱地址时,允许自动完成(忽略缺少的通讯录匹配及同组要求)", @@ -482,24 +508,30 @@ "This text will be shown on the public link upload page when the file list is hidden." : "这些内容将在公开链接上传页中当文件列表隐藏时显示。", "Default share permissions" : "默认共享权限", "Reasons to use Nextcloud in your organization" : "在您的组织中使用 Nextcloud 的原因", - "Developed by the {communityopen}Nextcloud community{linkclose}, the {githubopen}source code{linkclose} is licensed under the {licenseopen}AGPL{linkclose}." : "由{communityopen}Nextcloud社区{linkclose}开发,{githubopen}源代码{linkclose}基于 {licenseopen}AGPL{linkclose}许可协议。", - "Like our Facebook page" : "点赞我们 facebook 页面!", + "Developed by the {communityopen}Nextcloud community{linkclose}, the {githubopen}source code{linkclose} is licensed under the {licenseopen}AGPL{linkclose}." : "由 {communityopen}Nextcloud 社区{linkclose} 开发,{githubopen}源代码{linkclose} 基于 {licenseopen}AGPL{linkclose}许可协议。", + "Like our Facebook page" : "给我们的 Facebook 页面点赞!", "Follow us on Twitter" : "在 Twitter 上关注我们!", - "Follow us on Mastodon" : "在Mastodon上关注我们", + "Follow us on Mastodon" : "在 Mastodon 上关注我们", "Check out our blog" : "浏览我们的博客!", "Subscribe to our newsletter" : "订阅我们的最新消息!", - "This community release of Nextcloud is unsupported and instant notifications are unavailable." : "Nextcloud 的这个社区版本不受支持,即时通知不可用。", + "This community release of Nextcloud is unsupported and instant notifications are unavailable." : "Nextcloud 的此社区版本不受支持,即时通知不可用。", "Use a second factor besides your password to increase security for your account." : "使用除您密码之外的第二种方法来增强您账号的安全性。", - "If you use third party applications to connect to Nextcloud, please make sure to create and configure an app password for each before enabling second factor authentication." : "如果您使用第三方应用程序连接到 Nextcloud,请确保在启用第二因素身份验证之前为每个应用程序创建和配置应用程序密码。", - "You created app password \"{token}\"" : "您创建了应用密码 \"{token}\"", - "An administrator created app password \"{token}\"" : "管理员创建了应用密码 \"{token}\"", + "If you use third party applications to connect to Nextcloud, please make sure to create and configure an app password for each before enabling second factor authentication." : "如果您使用第三方应用程序连接到 Nextcloud,请确保在启用双因素身份验证之前为每个应用程序创建和配置应用程序密码。", + "You created app password \"{token}\"" : "您创建了应用密码“{token}”", + "An administrator created app password \"{token}\"" : "管理员创建了应用密码“{token}”", "Choose profile picture from files" : "从文件中选择个人资料图片", "png or jpg, max. 20 MB" : "png 或 jpg 格式,最大 20MB", + "Your location" : "您的位置", + "Will be autogenerated" : "将自动生成", + "Add a new user" : "添加新用户", + "Show Languages" : "显示语言", "Plain" : "明文", "NT LAN Manager" : "NT LAN 管理器", + "SSL/TLS" : "SSL/TLS", "STARTTLS" : "STARTTLS", + "Authentication method" : "认证方法", "Allow username autocompletion in share dialog" : "在分享对话框中允许用户名自动完成", "Allow username autocompletion to users within the same groups" : "允许自动完成同一组内的用户的用户名", - "Avatar" : "头像" + "Select user manager" : "选择用户管理者" },"pluralForm" :"nplurals=1; plural=0;" }
\ No newline at end of file diff --git a/apps/settings/l10n/zh_HK.js b/apps/settings/l10n/zh_HK.js index 3c80fdb7a10..07bd52929ca 100644 --- a/apps/settings/l10n/zh_HK.js +++ b/apps/settings/l10n/zh_HK.js @@ -316,7 +316,7 @@ OC.L10N.register( "Week starts on {firstDayOfWeek}" : "一星期從 {firstDayOfWeek} 開始", "Unable to update locale" : "無法更新語言場景", "No locale set" : "沒有設置語言場景", - "Your location" : "您的位置", + "Your city" : "您的城市", "Your organisation" : "您的機構", "Your phone number" : "您的電話號碼", "Edit your Profile visibility" : "編輯個人檔案能見度", @@ -334,6 +334,35 @@ OC.L10N.register( "Unable to update federation scope of additional {property}" : "無法更新額外 {property} 的聯盟範圍", "Add additional email" : "添加額外電郵地址", "Add" : "新增", + "User's table" : "用戶的表格", + "Display name" : "顯示名稱", + "Email" : "電郵地址", + "Group admin for" : "群組管理員", + "Quota" : "容量限制", + "User backend" : "用戶後端系統", + "Storage location" : "儲存位置", + "Last login" : "最後登入", + "Manager" : "管理者", + "No users in here" : "這裡沒有用戶", + "Default quota" : "默認儲存容量限制", + "Default language" : "預設語言", + "Common languages" : "常用語言", + "Other languages" : "其他語言", + "Password change is disabled because the master key is disabled" : "已停用密碼變更,因為主控密鑰已停用", + "New user" : "新用戶", + "Either password or email is required" : "需要密碼或電郵地址", + "Password (required)" : "密碼(必填)", + "Email (required)" : "電郵地址(必填)", + "Groups (required)" : "群組(必填)", + "Set user groups" : "設置用戶群組", + "Administered groups" : "被管理的群組", + "Set user as admin for …" : "將用戶設置為以下群組的管理員...", + "Set user quota" : "設置用戶配額", + "Set default language" : "設置默認語言", + "Set user manager" : "設置用戶管理者", + "Add new user" : "添加新用戶", + "Username will be autogenerated" : "用戶名將自動生成", + "Username (required)" : "用戶名(必填)", "You do not have permissions to see the details of this user" : "您沒有檢視此用戶詳細資料的權限", "Edit display name" : "編輯顯示名稱", "Add new password" : "新增密碼", @@ -358,25 +387,6 @@ OC.L10N.register( "Welcome mail sent!" : "已傳送歡迎郵件!", "Edit User" : "編輯用戶", "{size} used" : "已使用 {size}", - "User's table" : "用戶的表格", - "New user" : "新用戶", - "Will be autogenerated" : "將自動生成", - "Display name" : "顯示名稱", - "Email" : "電郵地址", - "Default language" : "預設語言", - "Select user manager" : "選擇用戶管理者", - "Add a new user" : "新增用戶", - "Group admin for" : "群組管理員", - "Quota" : "容量限制", - "User backend" : "用戶後端系統", - "Storage location" : "儲存位置", - "Last login" : "最後登入", - "Manager" : "管理者", - "No users in here" : "這裡沒有用戶", - "Default quota" : "默認儲存容量限制", - "Common languages" : "常用語言", - "Other languages" : "其他語言", - "Password change is disabled because the master key is disabled" : "已停用密碼變更,因為主控密鑰已停用", "Passwordless authentication requires a secure connection." : "無密碼身分驗證需要安全連線。", "Add WebAuthn device" : "新增 WebAuthn 裝置", "Please authorize your WebAuthn device." : "請驗證您的 WebAuthn 裝置。", @@ -401,7 +411,7 @@ OC.L10N.register( "Disabled users" : "已停用用戶", "Default quota:" : "預設容量限制:", "Select default quota" : "選擇預設容量限制", - "Show Languages" : "顯示語言", + "Show languages" : "顯示語言", "Show last login" : "顯示上次登入時間", "Show user backend" : "顯示用戶資料後端", "Show storage path" : "顯示儲存路徑", @@ -445,7 +455,8 @@ OC.L10N.register( "Documentation" : "使用手冊", "Forum" : "論壇", "Login" : "登入", - "SSL/TLS" : "SSL/TLS", + "None/STARTTLS" : "無/STARTTLS", + "SSL" : "SSL", "Open documentation" : "開啟使用手冊", "It is important to set up this server to be able to send emails, like for password reset and notifications." : "設置此伺服器以使其能夠發送電郵以進行密碼重置﹑通知等。", "Send mode" : "傳送模式", @@ -454,8 +465,7 @@ OC.L10N.register( "From address" : "寄件地址", "Server address" : "伺服器位址", "Port" : "連接埠", - "Authentication method" : "認證方式", - "Only applies when authentication is required" : "僅在需要身份驗證時套用", + "Authentication" : "驗證", "Authentication required" : "需要認證", "Credentials" : "身分驗證", "SMTP Username" : "SMTP 用戶名稱", @@ -513,12 +523,17 @@ OC.L10N.register( "An administrator created app password \"{token}\"" : "管理員建立了應用程式密碼「{token}」", "Choose profile picture from files" : "從檔案選擇個人資料圖片", "png or jpg, max. 20 MB" : "png 或 jpg,最大 20 MB", + "Your location" : "您的位置", + "Will be autogenerated" : "將自動生成", + "Add a new user" : "新增用戶", + "Show Languages" : "顯示語言", "Plain" : "明文", "NT LAN Manager" : "NT LAN 管理程式", + "SSL/TLS" : "SSL/TLS", "STARTTLS" : "STARTTLS", + "Authentication method" : "認證方式", "Allow username autocompletion in share dialog" : "在共享對話框中允許用戶名自動完成", "Allow username autocompletion to users within the same groups" : "允許對同一群組中的用戶自動完成用戶名", - "Avatar" : "虛擬化身大頭照", - "User actions" : "用戶操作" + "Select user manager" : "選擇用戶管理者" }, "nplurals=1; plural=0;"); diff --git a/apps/settings/l10n/zh_HK.json b/apps/settings/l10n/zh_HK.json index d45f1bbe4f6..f5ad6723ab8 100644 --- a/apps/settings/l10n/zh_HK.json +++ b/apps/settings/l10n/zh_HK.json @@ -314,7 +314,7 @@ "Week starts on {firstDayOfWeek}" : "一星期從 {firstDayOfWeek} 開始", "Unable to update locale" : "無法更新語言場景", "No locale set" : "沒有設置語言場景", - "Your location" : "您的位置", + "Your city" : "您的城市", "Your organisation" : "您的機構", "Your phone number" : "您的電話號碼", "Edit your Profile visibility" : "編輯個人檔案能見度", @@ -332,6 +332,35 @@ "Unable to update federation scope of additional {property}" : "無法更新額外 {property} 的聯盟範圍", "Add additional email" : "添加額外電郵地址", "Add" : "新增", + "User's table" : "用戶的表格", + "Display name" : "顯示名稱", + "Email" : "電郵地址", + "Group admin for" : "群組管理員", + "Quota" : "容量限制", + "User backend" : "用戶後端系統", + "Storage location" : "儲存位置", + "Last login" : "最後登入", + "Manager" : "管理者", + "No users in here" : "這裡沒有用戶", + "Default quota" : "默認儲存容量限制", + "Default language" : "預設語言", + "Common languages" : "常用語言", + "Other languages" : "其他語言", + "Password change is disabled because the master key is disabled" : "已停用密碼變更,因為主控密鑰已停用", + "New user" : "新用戶", + "Either password or email is required" : "需要密碼或電郵地址", + "Password (required)" : "密碼(必填)", + "Email (required)" : "電郵地址(必填)", + "Groups (required)" : "群組(必填)", + "Set user groups" : "設置用戶群組", + "Administered groups" : "被管理的群組", + "Set user as admin for …" : "將用戶設置為以下群組的管理員...", + "Set user quota" : "設置用戶配額", + "Set default language" : "設置默認語言", + "Set user manager" : "設置用戶管理者", + "Add new user" : "添加新用戶", + "Username will be autogenerated" : "用戶名將自動生成", + "Username (required)" : "用戶名(必填)", "You do not have permissions to see the details of this user" : "您沒有檢視此用戶詳細資料的權限", "Edit display name" : "編輯顯示名稱", "Add new password" : "新增密碼", @@ -356,25 +385,6 @@ "Welcome mail sent!" : "已傳送歡迎郵件!", "Edit User" : "編輯用戶", "{size} used" : "已使用 {size}", - "User's table" : "用戶的表格", - "New user" : "新用戶", - "Will be autogenerated" : "將自動生成", - "Display name" : "顯示名稱", - "Email" : "電郵地址", - "Default language" : "預設語言", - "Select user manager" : "選擇用戶管理者", - "Add a new user" : "新增用戶", - "Group admin for" : "群組管理員", - "Quota" : "容量限制", - "User backend" : "用戶後端系統", - "Storage location" : "儲存位置", - "Last login" : "最後登入", - "Manager" : "管理者", - "No users in here" : "這裡沒有用戶", - "Default quota" : "默認儲存容量限制", - "Common languages" : "常用語言", - "Other languages" : "其他語言", - "Password change is disabled because the master key is disabled" : "已停用密碼變更,因為主控密鑰已停用", "Passwordless authentication requires a secure connection." : "無密碼身分驗證需要安全連線。", "Add WebAuthn device" : "新增 WebAuthn 裝置", "Please authorize your WebAuthn device." : "請驗證您的 WebAuthn 裝置。", @@ -399,7 +409,7 @@ "Disabled users" : "已停用用戶", "Default quota:" : "預設容量限制:", "Select default quota" : "選擇預設容量限制", - "Show Languages" : "顯示語言", + "Show languages" : "顯示語言", "Show last login" : "顯示上次登入時間", "Show user backend" : "顯示用戶資料後端", "Show storage path" : "顯示儲存路徑", @@ -443,7 +453,8 @@ "Documentation" : "使用手冊", "Forum" : "論壇", "Login" : "登入", - "SSL/TLS" : "SSL/TLS", + "None/STARTTLS" : "無/STARTTLS", + "SSL" : "SSL", "Open documentation" : "開啟使用手冊", "It is important to set up this server to be able to send emails, like for password reset and notifications." : "設置此伺服器以使其能夠發送電郵以進行密碼重置﹑通知等。", "Send mode" : "傳送模式", @@ -452,8 +463,7 @@ "From address" : "寄件地址", "Server address" : "伺服器位址", "Port" : "連接埠", - "Authentication method" : "認證方式", - "Only applies when authentication is required" : "僅在需要身份驗證時套用", + "Authentication" : "驗證", "Authentication required" : "需要認證", "Credentials" : "身分驗證", "SMTP Username" : "SMTP 用戶名稱", @@ -511,12 +521,17 @@ "An administrator created app password \"{token}\"" : "管理員建立了應用程式密碼「{token}」", "Choose profile picture from files" : "從檔案選擇個人資料圖片", "png or jpg, max. 20 MB" : "png 或 jpg,最大 20 MB", + "Your location" : "您的位置", + "Will be autogenerated" : "將自動生成", + "Add a new user" : "新增用戶", + "Show Languages" : "顯示語言", "Plain" : "明文", "NT LAN Manager" : "NT LAN 管理程式", + "SSL/TLS" : "SSL/TLS", "STARTTLS" : "STARTTLS", + "Authentication method" : "認證方式", "Allow username autocompletion in share dialog" : "在共享對話框中允許用戶名自動完成", "Allow username autocompletion to users within the same groups" : "允許對同一群組中的用戶自動完成用戶名", - "Avatar" : "虛擬化身大頭照", - "User actions" : "用戶操作" + "Select user manager" : "選擇用戶管理者" },"pluralForm" :"nplurals=1; plural=0;" }
\ No newline at end of file diff --git a/apps/settings/l10n/zh_TW.js b/apps/settings/l10n/zh_TW.js index 61218a4a501..7357eabb56d 100644 --- a/apps/settings/l10n/zh_TW.js +++ b/apps/settings/l10n/zh_TW.js @@ -316,7 +316,7 @@ OC.L10N.register( "Week starts on {firstDayOfWeek}" : "一週從 {firstDayOfWeek} 開始", "Unable to update locale" : "無法更新語系", "No locale set" : "未設定語系", - "Your location" : "您的位置", + "Your city" : "您的城市", "Your organisation" : "您的組織", "Your phone number" : "您的電話號碼", "Edit your Profile visibility" : "編輯您的個人資料能見度", @@ -334,6 +334,35 @@ OC.L10N.register( "Unable to update federation scope of additional {property}" : "無法更新額外 {property} 的聯盟範圍", "Add additional email" : "新增額外電子郵件", "Add" : "新增", + "User's table" : "使用者的表格", + "Display name" : "顯示名稱", + "Email" : "信箱", + "Group admin for" : "群組管理員", + "Quota" : "容量限制", + "User backend" : "使用者資料後端", + "Storage location" : "儲存位址", + "Last login" : "最後登入", + "Manager" : "管理者", + "No users in here" : "這裡沒有使用者", + "Default quota" : "預設儲存容量限制", + "Default language" : "預設語言", + "Common languages" : "常用語言", + "Other languages" : "其他語言", + "Password change is disabled because the master key is disabled" : "已停用密碼變更,因為主控金鑰已停用", + "New user" : "新使用者", + "Either password or email is required" : "需要密碼或電子郵件地址", + "Password (required)" : "密碼(必填)", + "Email (required)" : "電子郵件(必填)", + "Groups (required)" : "群組(必填)", + "Set user groups" : "設定使用者群組", + "Administered groups" : "管理群組", + "Set user as admin for …" : "將使用者設定為以下群組的管理員……", + "Set user quota" : "設定使用者配額", + "Set default language" : "設定預設語言", + "Set user manager" : "設定使用者管理者", + "Add new user" : "新增使用者", + "Username will be autogenerated" : "使用者名稱將會自動產生", + "Username (required)" : "使用者名稱(必填)", "You do not have permissions to see the details of this user" : "您沒有檢視此使用者詳細資料的權限", "Edit display name" : "編輯顯示名稱", "Add new password" : "新增密碼", @@ -358,25 +387,6 @@ OC.L10N.register( "Welcome mail sent!" : "已傳送歡迎郵件!", "Edit User" : "編輯使用者", "{size} used" : "已使用 {size}", - "User's table" : "使用者的表格", - "New user" : "新使用者", - "Will be autogenerated" : "將自動生成", - "Display name" : "顯示名稱", - "Email" : "信箱", - "Default language" : "預設語言", - "Select user manager" : "選取使用者管理者", - "Add a new user" : "新增使用者", - "Group admin for" : "群組管理員", - "Quota" : "容量限制", - "User backend" : "使用者資料後端", - "Storage location" : "儲存位址", - "Last login" : "最後登入", - "Manager" : "管理者", - "No users in here" : "這裡沒有使用者", - "Default quota" : "預設儲存容量限制", - "Common languages" : "常用語言", - "Other languages" : "其他語言", - "Password change is disabled because the master key is disabled" : "已停用密碼變更,因為主控金鑰已停用", "Passwordless authentication requires a secure connection." : "無密碼身份驗證需要安全連線。", "Add WebAuthn device" : "新增 WebAuthn 裝置", "Please authorize your WebAuthn device." : "請驗證您的 WebAuthn 裝置。", @@ -401,7 +411,7 @@ OC.L10N.register( "Disabled users" : "已停用使用者", "Default quota:" : "預設容量限制:", "Select default quota" : "選取預設容量限制", - "Show Languages" : "顯示語言", + "Show languages" : "顯示語言", "Show last login" : "顯示上次登入時間", "Show user backend" : "顯示使用者資料後端", "Show storage path" : "顯示儲存路徑", @@ -445,7 +455,8 @@ OC.L10N.register( "Documentation" : "說明文件", "Forum" : "論壇", "Login" : "登入", - "SSL/TLS" : "SSL/TLS", + "None/STARTTLS" : "無/STARTTLS", + "SSL" : "SSL", "Open documentation" : "開啟說明文件", "It is important to set up this server to be able to send emails, like for password reset and notifications." : "設定伺服器可以寄送電子郵件非常重要,使用者通知和密碼重設將會需要。", "Send mode" : "傳送模式", @@ -454,8 +465,7 @@ OC.L10N.register( "From address" : "寄件地址", "Server address" : "伺服器位址", "Port" : "連接埠", - "Authentication method" : "認證方式", - "Only applies when authentication is required" : "僅在需要身份驗證時套用", + "Authentication" : "驗證", "Authentication required" : "需要認證", "Credentials" : "憑證", "SMTP Username" : "SMTP 使用者名稱", @@ -513,12 +523,17 @@ OC.L10N.register( "An administrator created app password \"{token}\"" : "管理員建立了應用程式密碼「{token}」", "Choose profile picture from files" : "從檔案中選擇個人檔案圖片", "png or jpg, max. 20 MB" : "png 或 jpg,最大 20 MB", + "Your location" : "您的位置", + "Will be autogenerated" : "將自動生成", + "Add a new user" : "新增使用者", + "Show Languages" : "顯示語言", "Plain" : "明文", "NT LAN Manager" : "NT LAN 管理程式", + "SSL/TLS" : "SSL/TLS", "STARTTLS" : "STARTTLS", + "Authentication method" : "認證方式", "Allow username autocompletion in share dialog" : "在分享對話框中允許使用者名稱自動完成", "Allow username autocompletion to users within the same groups" : "允許使用者自動完成在同一個群組中的使用者", - "Avatar" : "大頭照", - "User actions" : "使用者動作" + "Select user manager" : "選取使用者管理者" }, "nplurals=1; plural=0;"); diff --git a/apps/settings/l10n/zh_TW.json b/apps/settings/l10n/zh_TW.json index 0cac52a5711..0535c61c910 100644 --- a/apps/settings/l10n/zh_TW.json +++ b/apps/settings/l10n/zh_TW.json @@ -314,7 +314,7 @@ "Week starts on {firstDayOfWeek}" : "一週從 {firstDayOfWeek} 開始", "Unable to update locale" : "無法更新語系", "No locale set" : "未設定語系", - "Your location" : "您的位置", + "Your city" : "您的城市", "Your organisation" : "您的組織", "Your phone number" : "您的電話號碼", "Edit your Profile visibility" : "編輯您的個人資料能見度", @@ -332,6 +332,35 @@ "Unable to update federation scope of additional {property}" : "無法更新額外 {property} 的聯盟範圍", "Add additional email" : "新增額外電子郵件", "Add" : "新增", + "User's table" : "使用者的表格", + "Display name" : "顯示名稱", + "Email" : "信箱", + "Group admin for" : "群組管理員", + "Quota" : "容量限制", + "User backend" : "使用者資料後端", + "Storage location" : "儲存位址", + "Last login" : "最後登入", + "Manager" : "管理者", + "No users in here" : "這裡沒有使用者", + "Default quota" : "預設儲存容量限制", + "Default language" : "預設語言", + "Common languages" : "常用語言", + "Other languages" : "其他語言", + "Password change is disabled because the master key is disabled" : "已停用密碼變更,因為主控金鑰已停用", + "New user" : "新使用者", + "Either password or email is required" : "需要密碼或電子郵件地址", + "Password (required)" : "密碼(必填)", + "Email (required)" : "電子郵件(必填)", + "Groups (required)" : "群組(必填)", + "Set user groups" : "設定使用者群組", + "Administered groups" : "管理群組", + "Set user as admin for …" : "將使用者設定為以下群組的管理員……", + "Set user quota" : "設定使用者配額", + "Set default language" : "設定預設語言", + "Set user manager" : "設定使用者管理者", + "Add new user" : "新增使用者", + "Username will be autogenerated" : "使用者名稱將會自動產生", + "Username (required)" : "使用者名稱(必填)", "You do not have permissions to see the details of this user" : "您沒有檢視此使用者詳細資料的權限", "Edit display name" : "編輯顯示名稱", "Add new password" : "新增密碼", @@ -356,25 +385,6 @@ "Welcome mail sent!" : "已傳送歡迎郵件!", "Edit User" : "編輯使用者", "{size} used" : "已使用 {size}", - "User's table" : "使用者的表格", - "New user" : "新使用者", - "Will be autogenerated" : "將自動生成", - "Display name" : "顯示名稱", - "Email" : "信箱", - "Default language" : "預設語言", - "Select user manager" : "選取使用者管理者", - "Add a new user" : "新增使用者", - "Group admin for" : "群組管理員", - "Quota" : "容量限制", - "User backend" : "使用者資料後端", - "Storage location" : "儲存位址", - "Last login" : "最後登入", - "Manager" : "管理者", - "No users in here" : "這裡沒有使用者", - "Default quota" : "預設儲存容量限制", - "Common languages" : "常用語言", - "Other languages" : "其他語言", - "Password change is disabled because the master key is disabled" : "已停用密碼變更,因為主控金鑰已停用", "Passwordless authentication requires a secure connection." : "無密碼身份驗證需要安全連線。", "Add WebAuthn device" : "新增 WebAuthn 裝置", "Please authorize your WebAuthn device." : "請驗證您的 WebAuthn 裝置。", @@ -399,7 +409,7 @@ "Disabled users" : "已停用使用者", "Default quota:" : "預設容量限制:", "Select default quota" : "選取預設容量限制", - "Show Languages" : "顯示語言", + "Show languages" : "顯示語言", "Show last login" : "顯示上次登入時間", "Show user backend" : "顯示使用者資料後端", "Show storage path" : "顯示儲存路徑", @@ -443,7 +453,8 @@ "Documentation" : "說明文件", "Forum" : "論壇", "Login" : "登入", - "SSL/TLS" : "SSL/TLS", + "None/STARTTLS" : "無/STARTTLS", + "SSL" : "SSL", "Open documentation" : "開啟說明文件", "It is important to set up this server to be able to send emails, like for password reset and notifications." : "設定伺服器可以寄送電子郵件非常重要,使用者通知和密碼重設將會需要。", "Send mode" : "傳送模式", @@ -452,8 +463,7 @@ "From address" : "寄件地址", "Server address" : "伺服器位址", "Port" : "連接埠", - "Authentication method" : "認證方式", - "Only applies when authentication is required" : "僅在需要身份驗證時套用", + "Authentication" : "驗證", "Authentication required" : "需要認證", "Credentials" : "憑證", "SMTP Username" : "SMTP 使用者名稱", @@ -511,12 +521,17 @@ "An administrator created app password \"{token}\"" : "管理員建立了應用程式密碼「{token}」", "Choose profile picture from files" : "從檔案中選擇個人檔案圖片", "png or jpg, max. 20 MB" : "png 或 jpg,最大 20 MB", + "Your location" : "您的位置", + "Will be autogenerated" : "將自動生成", + "Add a new user" : "新增使用者", + "Show Languages" : "顯示語言", "Plain" : "明文", "NT LAN Manager" : "NT LAN 管理程式", + "SSL/TLS" : "SSL/TLS", "STARTTLS" : "STARTTLS", + "Authentication method" : "認證方式", "Allow username autocompletion in share dialog" : "在分享對話框中允許使用者名稱自動完成", "Allow username autocompletion to users within the same groups" : "允許使用者自動完成在同一個群組中的使用者", - "Avatar" : "大頭照", - "User actions" : "使用者動作" + "Select user manager" : "選取使用者管理者" },"pluralForm" :"nplurals=1; plural=0;" }
\ No newline at end of file diff --git a/apps/settings/src/components/AuthTokenSetupDialogue.vue b/apps/settings/src/components/AuthTokenSetupDialogue.vue index 63836290535..23a3a1f1d09 100644 --- a/apps/settings/src/components/AuthTokenSetupDialogue.vue +++ b/apps/settings/src/components/AuthTokenSetupDialogue.vue @@ -70,10 +70,10 @@ </div> <div class="app-password-row"> <span class="app-password-label" /> - <a v-if="!showQR" + <NcButton v-if="!showQR" @click="showQR = true"> {{ t('settings', 'Show QR code for mobile apps') }} - </a> + </NcButton> <QR v-else :value="qrUrl" /> </div> diff --git a/apps/settings/src/components/PersonalInfo/LocationSection.vue b/apps/settings/src/components/PersonalInfo/LocationSection.vue index ceef7c432cd..57811ddf3b0 100644 --- a/apps/settings/src/components/PersonalInfo/LocationSection.vue +++ b/apps/settings/src/components/PersonalInfo/LocationSection.vue @@ -23,7 +23,7 @@ <template> <AccountPropertySection v-bind.sync="location" autocomplete="address-level1" - :placeholder="t('settings', 'Your location')" /> + :placeholder="t('settings', 'Your city')" /> </template> <script> diff --git a/apps/settings/src/components/UserList.vue b/apps/settings/src/components/UserList.vue index 9a97aff085f..2f3da92ca02 100644 --- a/apps/settings/src/components/UserList.vue +++ b/apps/settings/src/components/UserList.vue @@ -26,150 +26,12 @@ :aria-label="t('settings', 'User\'s table')" class="user-list-grid" @scroll.passive="onScroll"> - <NcModal v-if="showConfig.showNewUserForm" size="small" @close="closeModal"> - <form id="new-user" - :disabled="loading.all" - class="modal__content" - @submit.prevent="createUser"> - <h2>{{ t('settings','New user') }}</h2> - <input id="newusername" - ref="newusername" - v-model="newUser.id" - :disabled="settings.newUserGenerateUserID" - :placeholder="settings.newUserGenerateUserID - ? t('settings', 'Will be autogenerated') - : t('settings', 'Username')" - autocapitalize="none" - autocomplete="off" - autocorrect="off" - class="modal__item" - name="username" - pattern="[a-zA-Z0-9 _\.@\-']+" - required - type="text"> - <input id="newdisplayname" - v-model="newUser.displayName" - :placeholder="t('settings', 'Display name')" - autocapitalize="none" - autocomplete="off" - autocorrect="off" - class="modal__item" - name="displayname" - type="text"> - <input id="newuserpassword" - ref="newuserpassword" - v-model="newUser.password" - :minlength="minPasswordLength" - :maxlength="469" - :placeholder="t('settings', 'Password')" - :required="newUser.mailAddress===''" - autocapitalize="none" - autocomplete="new-password" - autocorrect="off" - class="modal__item" - name="password" - type="password"> - <input id="newemail" - v-model="newUser.mailAddress" - :placeholder="t('settings', 'Email')" - :required="newUser.password==='' || settings.newUserRequireEmail" - autocapitalize="none" - autocomplete="off" - autocorrect="off" - class="modal__item" - name="email" - type="email"> - <div class="groups modal__item"> - <!-- hidden input trick for vanilla html5 form validation --> - <input v-if="!settings.isAdmin" - id="newgroups" - :class="{'icon-loading-small': loading.groups}" - :required="!settings.isAdmin" - :value="newUser.groups" - tabindex="-1" - type="text"> - <NcMultiselect v-model="newUser.groups" - :close-on-select="false" - :disabled="loading.groups||loading.all" - :multiple="true" - :options="canAddGroups" - :placeholder="t('settings', 'Add user to group')" - :tag-width="60" - :taggable="true" - class="multiselect-vue" - label="name" - tag-placeholder="create" - track-by="id" - @tag="createGroup"> - <!-- If user is not admin, he is a subadmin. - Subadmins can't create users outside their groups - Therefore, empty select is forbidden --> - <span slot="noResult">{{ t('settings', 'No results') }}</span> - </NcMultiselect> - </div> - <div v-if="subAdminsGroups.length>0 && settings.isAdmin" - class="subadmins modal__item"> - <NcMultiselect v-model="newUser.subAdminsGroups" - :close-on-select="false" - :multiple="true" - :options="subAdminsGroups" - :placeholder="t('settings', 'Set user as admin for')" - :tag-width="60" - class="multiselect-vue" - label="name" - track-by="id"> - <span slot="noResult">{{ t('settings', 'No results') }}</span> - </NcMultiselect> - </div> - <div class="quota modal__item"> - <NcMultiselect v-model="newUser.quota" - :allow-empty="false" - :options="quotaOptions" - :placeholder="t('settings', 'Select user quota')" - :taggable="true" - class="multiselect-vue" - label="label" - track-by="id" - @tag="validateQuota" /> - </div> - <div v-if="showConfig.showLanguages" class="languages modal__item"> - <NcMultiselect v-model="newUser.language" - :allow-empty="false" - :options="languages" - :placeholder="t('settings', 'Default language')" - class="multiselect-vue" - group-label="label" - group-values="languages" - label="name" - track-by="code" /> - </div> - <div v-if="showConfig.showStoragePath" class="storageLocation" /> - <div v-if="showConfig.showUserBackend" class="userBackend" /> - <div v-if="showConfig.showLastLogin" class="lastLogin" /> - <div :class="{'icon-loading-small': loading.manager}" class="modal__item managers"> - <NcMultiselect ref="manager" - v-model="newUser.manager" - :close-on-select="true" - :user-select="true" - :options="possibleManagers" - :placeholder="t('settings', 'Select user manager')" - class="multiselect-vue" - label="displayname" - track-by="id" - @search-change="searchUserManager"> - <span slot="noResult">{{ t('settings', 'No results') }}</span> - </NcMultiselect> - </div> - <div class="user-actions"> - <NcButton id="newsubmit" - type="primary" - native-type="submit" - value=""> - {{ t('settings', 'Add a new user') }} - </NcButton> - </div> - </form> - </NcModal> + <NewUserModal v-if="showConfig.showNewUserForm" + :loading="loading" + :new-user="newUser" + :show-config="showConfig" + @reset="resetForm" + @close="showConfig.showNewUserForm = false" /> <div id="grid-header" :class="{'sticky': scrolled && !showConfig.showNewUserForm}" class="row"> @@ -225,7 +87,7 @@ <div class="userActions" /> </div> - <user-row v-for="user in filteredUsers" + <UserRow v-for="user in filteredUsers" :key="user.id" :external-actions="externalActions" :groups="groups" @@ -256,23 +118,24 @@ </template> <script> -import { subscribe, unsubscribe } from '@nextcloud/event-bus' -import InfiniteLoading from 'vue-infinite-loading' import Vue from 'vue' -import NcModal from '@nextcloud/vue/dist/Components/NcModal.js' -import NcButton from '@nextcloud/vue/dist/Components/NcButton.js' -import NcMultiselect from '@nextcloud/vue/dist/Components/NcMultiselect.js' +import InfiniteLoading from 'vue-infinite-loading' + +import { subscribe, unsubscribe } from '@nextcloud/event-bus' -import userRow from './UserList/UserRow.vue' +import UserRow from './Users/UserRow.vue' +import NewUserModal from './Users/NewUserModal.vue' const unlimitedQuota = { id: 'none', label: t('settings', 'Unlimited'), } + const defaultQuota = { id: 'default', label: t('settings', 'Default quota'), } + const newUser = { id: '', displayName: '', @@ -290,13 +153,13 @@ const newUser = { export default { name: 'UserList', + components: { - NcModal, - userRow, - NcMultiselect, InfiniteLoading, - NcButton, + NewUserModal, + UserRow, }, + props: { users: { type: Array, @@ -315,20 +178,19 @@ export default { default: () => [], }, }, + data() { return { - unlimitedQuota, - defaultQuota, loading: { all: false, groups: false, }, scrolled: false, - possibleManagers: [], searchQuery: '', newUser: Object.assign({}, newUser), } }, + computed: { settings() { return this.$store.getters.getServerData @@ -352,16 +214,6 @@ export default { .filter(group => group.id !== 'disabled') .sort((a, b) => a.name.localeCompare(b.name)) }, - canAddGroups() { - // disabled if no permission to add new users to group - return this.groups.map(group => { - // clone object because we don't want - // to edit the original groups - group = Object.assign({}, group) - group.$isDisabled = group.canAdd === false - return group - }) - }, subAdminsGroups() { // data provided php side return this.$store.getters.getSubadminGroups @@ -374,14 +226,11 @@ export default { }), []) // add default presets if (this.settings.allowUnlimitedQuota) { - quotaPreset.unshift(this.unlimitedQuota) + quotaPreset.unshift(unlimitedQuota) } - quotaPreset.unshift(this.defaultQuota) + quotaPreset.unshift(defaultQuota) return quotaPreset }, - minPasswordLength() { - return this.$store.getters.getPasswordPolicyMinLength - }, usersOffset() { return this.$store.getters.getUsersOffset }, @@ -435,10 +284,6 @@ export default { }, }, - async beforeMount() { - await this.searchUserManager() - }, - mounted() { if (!this.settings.canChangePassword) { OC.Notification.showTemporary(t('settings', 'Password change is disabled because the master key is disabled')) @@ -466,38 +311,10 @@ export default { }, methods: { - async searchUserManager(query) { - await this.$store.dispatch('searchUsers', { offset: 0, limit: 10, search: query }).then(response => { - const users = response?.data ? Object.values(response?.data.ocs.data.users) : [] - if (users.length > 0) { - this.possibleManagers = users - } - }) - }, onScroll(event) { this.scrolled = event.target.scrollTo > 0 }, - /** - * Validate quota string to make sure it's a valid human file size - * - * @param {string} quota Quota in readable format '5 GB' - * @return {object} - */ - validateQuota(quota) { - // only used for new presets sent through @Tag - const validQuota = OC.Util.computerFileSize(quota) - if (validQuota !== null && validQuota >= 0) { - // unify format output - quota = OC.Util.humanFileSize(OC.Util.computerFileSize(quota)) - this.newUser.quota = { id: quota, label: quota } - return this.newUser.quota - } - // Default is unlimited - this.newUser.quota = this.quotaOptions[0] - return this.quotaOptions[0] - }, - infiniteHandler($state) { this.$store.dispatch('getUsers', { offset: this.usersOffset, @@ -521,6 +338,7 @@ export default { this.$store.commit('resetUsers') this.$refs.infiniteLoading.stateChanger.reset() }, + resetSearch() { this.search({ query: '' }) }, @@ -546,38 +364,7 @@ export default { this.loading.all = false }, - createUser() { - this.loading.all = true - this.$store.dispatch('addUser', { - userid: this.newUser.id, - password: this.newUser.password, - displayName: this.newUser.displayName, - email: this.newUser.mailAddress, - groups: this.newUser.groups.map(group => group.id), - subadmin: this.newUser.subAdminsGroups.map(group => group.id), - quota: this.newUser.quota.id, - language: this.newUser.language.code, - manager: this.newUser.manager.id, - }) - .then(() => { - this.resetForm() - this.$refs.newusername.focus() - this.closeModal() - }) - .catch((error) => { - this.loading.all = false - if (error.response && error.response.data && error.response.data.ocs && error.response.data.ocs.meta) { - const statuscode = error.response.data.ocs.meta.statuscode - if (statuscode === 102) { - // wrong username - this.$refs.newusername.focus() - } else if (statuscode === 107) { - // wrong password - this.$refs.newuserpassword.focus() - } - } - }) - }, + setNewUserDefaultGroup(value) { if (value && value.length > 0) { // setting new user default group to the current selected one @@ -592,25 +379,6 @@ export default { }, /** - * Create a new group - * - * @param {string} gid Group id - * @return {Promise} - */ - createGroup(gid) { - this.loading.groups = true - this.$store.dispatch('addGroup', gid) - .then((group) => { - this.newUser.groups.push(this.groups.find(group => group.id === gid)) - this.loading.groups = false - }) - .catch(() => { - this.loading.groups = false - }) - return this.$store.getters.getGroups[this.groups.length] - }, - - /** * If the selected group is the disabled group but the count is 0 * redirect to the all users page. * we only check for 0 because we don't have the count on ldap @@ -625,58 +393,6 @@ export default { this.$refs.infiniteLoading.stateChanger.reset() } }, - closeModal() { - // eslint-disable-next-line vue/no-mutating-props - this.showConfig.showNewUserForm = false - }, }, } </script> -<style lang="scss" scoped> - .modal-wrapper { - margin: 2vh 0; - align-items: flex-start; - } - .modal__content { - display: flex; - padding: 20px; - flex-direction: column; - align-items: center; - text-align: center; - } - .modal__item { - margin-bottom: 16px; - width: 100%; - } - .modal__item:not(:focus):not(:active) { - border-color: var(--color-border-dark); - } - .modal__item::v-deep .multiselect { - width: 100%; - } - .user-actions { - margin-top: 20px; - } - .modal__content::v-deep .multiselect__single { - text-align: left; - box-sizing: border-box; - } - .modal__content::v-deep .multiselect__content-wrapper { - box-sizing: border-box; - } - .row::v-deep .multiselect__single { - z-index: auto !important; - } - - /* fake input for groups validation */ - input#newgroups { - position: absolute; - opacity: 0; - /* The "hidden" input is behind the Multiselect, so in general it does - * not receives clicks. However, with Firefox, after the validation - * fails, it will receive the first click done on it, so its width needs - * to be set to 0 to prevent that ("pointer-events: none" does not - * prevent it). */ - width: 0; - } -</style> diff --git a/apps/settings/src/components/Users/NewUserModal.vue b/apps/settings/src/components/Users/NewUserModal.vue new file mode 100644 index 00000000000..be7714f9373 --- /dev/null +++ b/apps/settings/src/components/Users/NewUserModal.vue @@ -0,0 +1,461 @@ +<!-- + - @copyright 2023 Christopher Ng <chrng8@gmail.com> + - + - @author Christopher Ng <chrng8@gmail.com> + - + - @license AGPL-3.0-or-later + - + - This program is free software: you can redistribute it and/or modify + - it under the terms of the GNU Affero General Public License as + - published by the Free Software Foundation, either version 3 of the + - License, or (at your option) any later version. + - + - This program is distributed in the hope that it will be useful, + - but WITHOUT ANY WARRANTY; without even the implied warranty of + - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + - GNU Affero General Public License for more details. + - + - You should have received a copy of the GNU Affero General Public License + - along with this program. If not, see <http://www.gnu.org/licenses/>. + - +--> + +<template> + <NcModal class="modal" + size="small" + v-on="$listeners"> + <form class="modal__form" + data-test="form" + :disabled="loading.all" + @submit.prevent="createUser"> + <h2>{{ t('settings', 'New user') }}</h2> + <NcTextField class="modal__item" + ref="username" + data-test="username" + :value.sync="newUser.id" + :disabled="settings.newUserGenerateUserID" + :label="usernameLabel" + :label-visible="true" + autocapitalize="none" + autocomplete="off" + autocorrect="off" + pattern="[a-zA-Z0-9 _\.@\-']+" + required /> + <NcTextField class="modal__item" + data-test="displayName" + :value.sync="newUser.displayName" + :label="t('settings', 'Display name')" + :label-visible="true" + autocapitalize="none" + autocomplete="off" + autocorrect="off" /> + <span v-if="!settings.newUserRequireEmail" + class="modal__hint" + id="password-email-hint"> + {{ t('settings', 'Either password or email is required') }} + </span> + <NcPasswordField class="modal__item" + ref="password" + data-test="password" + :value.sync="newUser.password" + :minlength="minPasswordLength" + :maxlength="469" + aria-describedby="password-email-hint" + :label="newUser.mailAddress === '' ? t('settings', 'Password (required)') : t('settings', 'Password')" + :label-visible="true" + autocapitalize="none" + autocomplete="new-password" + autocorrect="off" + :required="newUser.mailAddress === ''" /> + <NcTextField class="modal__item" + data-test="email" + type="email" + :value.sync="newUser.mailAddress" + aria-describedby="password-email-hint" + :label="newUser.password === '' || settings.newUserRequireEmail ? t('settings', 'Email (required)') : t('settings', 'Email')" + :label-visible="true" + autocapitalize="none" + autocomplete="off" + autocorrect="off" + :required="newUser.password === '' || settings.newUserRequireEmail" /> + <div class="modal__item"> + <!-- hidden input trick for vanilla html5 form validation --> + <NcTextField v-if="!settings.isAdmin" + tabindex="-1" + id="new-user-groups-input" + :class="{ 'icon-loading-small': loading.groups }" + :value="newUser.groups" + :required="!settings.isAdmin" /> + <label class="modal__label" + for="new-user-groups"> + {{ !settings.isAdmin ? t('settings', 'Groups (required)') : t('settings', 'Groups') }} + </label> + <NcSelect class="modal__select" + input-id="new-user-groups" + :placeholder="t('settings', 'Set user groups')" + :disabled="loading.groups || loading.all" + :options="canAddGroups" + :value="newUser.groups" + label="name" + :close-on-select="false" + :multiple="true" + :taggable="true" + @input="handleGroupInput" + @option:created="createGroup" /> + <!-- If user is not admin, he is a subadmin. + Subadmins can't create users outside their groups + Therefore, empty select is forbidden --> + </div> + <div v-if="subAdminsGroups.length > 0 && settings.isAdmin" + class="modal__item"> + <label class="modal__label" + for="new-user-sub-admin"> + {{ t('settings', 'Administered groups') }} + </label> + <NcSelect class="modal__select" + input-id="new-user-sub-admin" + :placeholder="t('settings', 'Set user as admin for …')" + :options="subAdminsGroups" + v-model="newUser.subAdminsGroups" + :close-on-select="false" + :multiple="true" + label="name" /> + </div> + <div class="modal__item"> + <label class="modal__label" + for="new-user-quota"> + {{ t('settings', 'Quota') }} + </label> + <NcSelect class="modal__select" + input-id="new-user-quota" + :placeholder="t('settings', 'Set user quota')" + :options="quotaOptions" + v-model="newUser.quota" + :clearable="false" + :taggable="true" + :create-option="validateQuota" /> + </div> + <div v-if="showConfig.showLanguages" + class="modal__item"> + <label class="modal__label" + for="new-user-language"> + {{ t('settings', 'Language') }} + </label> + <NcSelect class="modal__select" + input-id="new-user-language" + :placeholder="t('settings', 'Set default language')" + :clearable="false" + :selectable="option => !option.languages" + :filter-by="languageFilterBy" + :options="languages" + v-model="newUser.language" + label="name" /> + </div> + <div :class="['modal__item managers', { 'icon-loading-small': loading.manager }]"> + <label class="modal__label" + for="new-user-manager"> + {{ t('settings', 'Manager') }} + </label> + <NcSelect class="modal__select" + input-id="new-user-manager" + :placeholder="t('settings', 'Set user manager')" + :options="possibleManagers" + v-model="newUser.manager" + :user-select="true" + label="displayname" + @search="searchUserManager" /> + </div> + <NcButton class="modal__submit" + data-test="submit" + type="primary" + native-type="submit"> + {{ t('settings', 'Add new user') }} + </NcButton> + </form> + </NcModal> +</template> + +<script> +import NcButton from '@nextcloud/vue/dist/Components/NcButton.js' +import NcModal from '@nextcloud/vue/dist/Components/NcModal.js' +import NcPasswordField from '@nextcloud/vue/dist/Components/NcPasswordField.js' +import NcSelect from '@nextcloud/vue/dist/Components/NcSelect.js' +import NcTextField from '@nextcloud/vue/dist/Components/NcTextField.js' + +const unlimitedQuota = { + id: 'none', + label: t('settings', 'Unlimited'), +} + +const defaultQuota = { + id: 'default', + label: t('settings', 'Default quota'), +} + +export default { + name: 'NewUserModal', + + components: { + NcButton, + NcModal, + NcPasswordField, + NcSelect, + NcTextField, + }, + + props: { + loading: { + type: Object, + required: true, + }, + + newUser: { + type: Object, + required: true, + }, + + showConfig: { + type: Object, + required: true, + }, + }, + + data() { + return { + possibleManagers: [], + } + }, + + computed: { + settings() { + return this.$store.getters.getServerData + }, + + usernameLabel() { + if (this.settings.newUserGenerateUserID) { + return t('settings', 'Username will be autogenerated') + } + return t('settings', 'Username (required)') + }, + + minPasswordLength() { + return this.$store.getters.getPasswordPolicyMinLength + }, + + groups() { + // data provided php side + remove the disabled group + return this.$store.getters.getGroups + .filter(group => group.id !== 'disabled') + .sort((a, b) => a.name.localeCompare(b.name)) + }, + + subAdminsGroups() { + // data provided php side + return this.$store.getters.getSubadminGroups + }, + + canAddGroups() { + // disabled if no permission to add new users to group + return this.groups.map(group => { + // clone object because we don't want + // to edit the original groups + group = Object.assign({}, group) + group.$isDisabled = group.canAdd === false + return group + }) + }, + + quotaOptions() { + // convert the preset array into objects + const quotaPreset = this.settings.quotaPreset.reduce((acc, cur) => acc.concat({ + id: cur, + label: cur, + }), []) + // add default presets + if (this.settings.allowUnlimitedQuota) { + quotaPreset.unshift(unlimitedQuota) + } + quotaPreset.unshift(defaultQuota) + return quotaPreset + }, + + languages() { + return [ + { + name: t('settings', 'Common languages'), + languages: this.settings.languages.commonLanguages, + }, + ...this.settings.languages.commonLanguages, + { + name: t('settings', 'Other languages'), + languages: this.settings.languages.otherLanguages, + }, + ...this.settings.languages.otherLanguages, + ] + }, + }, + + async beforeMount() { + await this.searchUserManager() + }, + + methods: { + async createUser() { + this.loading.all = true + try { + await this.$store.dispatch('addUser', { + userid: this.newUser.id, + password: this.newUser.password, + displayName: this.newUser.displayName, + email: this.newUser.mailAddress, + groups: this.newUser.groups.map(group => group.id), + subadmin: this.newUser.subAdminsGroups.map(group => group.id), + quota: this.newUser.quota.id, + language: this.newUser.language.code, + manager: this.newUser.manager.id, + }) + + this.$emit('reset') + this.$refs.username?.$refs?.inputField?.$refs?.input?.focus?.() + this.$emit('close') + } catch (error) { + this.loading.all = false + if (error.response && error.response.data && error.response.data.ocs && error.response.data.ocs.meta) { + const statuscode = error.response.data.ocs.meta.statuscode + if (statuscode === 102) { + // wrong username + this.$refs.username?.$refs?.inputField?.$refs?.input?.focus?.() + } else if (statuscode === 107) { + // wrong password + this.$refs.password?.$refs?.inputField?.$refs?.input?.focus?.() + } + } + } + }, + + handleGroupInput(groups) { + /** + * Filter out groups with no id to prevent duplicate selected options + * + * Created groups are added programmatically by `createGroup()` + */ + this.newUser.groups = groups.filter(group => Boolean(group.id)) + }, + + /** + * Create a new group + * + * @param {any} group Group + * @param {string} group.name Group id + */ + async createGroup({ name: gid }) { + this.loading.groups = true + try { + await this.$store.dispatch('addGroup', gid) + this.newUser.groups.push(this.groups.find(group => group.id === gid)) + this.loading.groups = false + } catch (error) { + this.loading.groups = false + } + }, + + /** + * Validate quota string to make sure it's a valid human file size + * + * @param {string} quota Quota in readable format '5 GB' + * @return {object} + */ + validateQuota(quota) { + // only used for new presets sent through @Tag + const validQuota = OC.Util.computerFileSize(quota) + if (validQuota !== null && validQuota >= 0) { + // unify format output + quota = OC.Util.humanFileSize(OC.Util.computerFileSize(quota)) + this.newUser.quota = { id: quota, label: quota } + return this.newUser.quota + } + // Default is unlimited + this.newUser.quota = this.quotaOptions[0] + return this.quotaOptions[0] + }, + + languageFilterBy(option, label, search) { + // Show group header of the language + if (option.languages) { + return option.languages.some( + ({ name }) => name.toLocaleLowerCase().includes(search.toLocaleLowerCase()) + ) + } + + return (label || '').toLocaleLowerCase().includes(search.toLocaleLowerCase()) + }, + + async searchUserManager(query) { + await this.$store.dispatch( + 'searchUsers', + { + offset: 0, + limit: 10, + search: query, + }, + ).then(response => { + const users = response?.data ? Object.values(response?.data.ocs.data.users) : [] + if (users.length > 0) { + this.possibleManagers = users + } + }) + }, + }, +} +</script> + +<style lang="scss" scoped> +.modal { + &__form { + display: flex; + flex-direction: column; + align-items: center; + padding: 20px; + gap: 4px 0; + + /* fake input for groups validation */ + #new-user-groups-input { + position: absolute; + opacity: 0; + /* The "hidden" input is behind the NcSelect, so in general it does + * not receives clicks. However, with Firefox, after the validation + * fails, it will receive the first click done on it, so its width needs + * to be set to 0 to prevent that ("pointer-events: none" does not + * prevent it). */ + width: 0; + } + } + + &__item { + width: 100%; + + &:not(:focus):not(:active) { + border-color: var(--color-border-dark); + } + } + + &__hint { + color: var(--color-text-maxcontrast); + margin-top: 8px; + align-self: flex-start; + } + + &__label { + display: block; + padding: 4px 0; + } + + &__select { + width: 100%; + } + + &__submit { + margin-top: 20px; + } +} +</style> diff --git a/apps/settings/src/components/UserList/UserRow.vue b/apps/settings/src/components/Users/UserRow.vue index 60dfbd03934..60dfbd03934 100644 --- a/apps/settings/src/components/UserList/UserRow.vue +++ b/apps/settings/src/components/Users/UserRow.vue diff --git a/apps/settings/src/components/UserList/UserRowSimple.vue b/apps/settings/src/components/Users/UserRowSimple.vue index 20a3e96d54f..20a3e96d54f 100644 --- a/apps/settings/src/components/UserList/UserRowSimple.vue +++ b/apps/settings/src/components/Users/UserRowSimple.vue diff --git a/apps/settings/src/views/Users.vue b/apps/settings/src/views/Users.vue index d2c8c6a0a4e..de9648c5d0f 100644 --- a/apps/settings/src/views/Users.vue +++ b/apps/settings/src/views/Users.vue @@ -83,53 +83,41 @@ </template> <template #footer> <NcAppNavigationSettings exclude-click-outside-selectors=".vs__dropdown-menu"> - <div> - <label for="default-quota-multiselect">{{ t('settings', 'Default quota:') }}</label> - <NcSelect v-model="defaultQuota" - input-id="default-quota-multiselect" - :taggable="true" - :options="quotaOptions" - :create-option="validateQuota" - :placeholder="t('settings', 'Select default quota')" - :close-on-select="true" - @option:selected="setDefaultQuota" /> - </div> - <div> - <input id="showLanguages" - v-model="showLanguages" - type="checkbox" - class="checkbox"> - <label for="showLanguages">{{ t('settings', 'Show Languages') }}</label> - </div> - <div> - <input id="showLastLogin" - v-model="showLastLogin" - type="checkbox" - class="checkbox"> - <label for="showLastLogin">{{ t('settings', 'Show last login') }}</label> - </div> - <div> - <input id="showUserBackend" - v-model="showUserBackend" - type="checkbox" - class="checkbox"> - <label for="showUserBackend">{{ t('settings', 'Show user backend') }}</label> - </div> - <div> - <input id="showStoragePath" - v-model="showStoragePath" - type="checkbox" - class="checkbox"> - <label for="showStoragePath">{{ t('settings', 'Show storage path') }}</label> - </div> - <div> - <input id="sendWelcomeMail" - v-model="sendWelcomeMail" - :disabled="loadingSendMail" - type="checkbox" - class="checkbox"> - <label for="sendWelcomeMail">{{ t('settings', 'Send email to new user') }}</label> - </div> + <label for="default-quota-select">{{ t('settings', 'Default quota:') }}</label> + <NcSelect v-model="defaultQuota" + input-id="default-quota-select" + :taggable="true" + :options="quotaOptions" + :create-option="validateQuota" + :placeholder="t('settings', 'Select default quota')" + :clearable="false" + @option:selected="setDefaultQuota" /> + <NcCheckboxRadioSwitch type="switch" + data-test="showLanguages" + :checked.sync="showLanguages"> + {{ t('settings', 'Show languages') }} + </NcCheckboxRadioSwitch> + <NcCheckboxRadioSwitch type="switch" + data-test="showLastLogin" + :checked.sync="showLastLogin"> + {{ t('settings', 'Show last login') }} + </NcCheckboxRadioSwitch> + <NcCheckboxRadioSwitch type="switch" + data-test="showUserBackend" + :checked.sync="showUserBackend"> + {{ t('settings', 'Show user backend') }} + </NcCheckboxRadioSwitch> + <NcCheckboxRadioSwitch type="switch" + data-test="showStoragePath" + :checked.sync="showStoragePath"> + {{ t('settings', 'Show storage path') }} + </NcCheckboxRadioSwitch> + <NcCheckboxRadioSwitch type="switch" + data-test="sendWelcomeMail" + :checked.sync="sendWelcomeMail" + :disabled="loadingSendMail"> + {{ t('settings', 'Send email to new user') }} + </NcCheckboxRadioSwitch> </NcAppNavigationSettings> </template> </NcAppNavigation> @@ -143,6 +131,9 @@ </template> <script> +import Vue from 'vue' +import VueLocalStorage from 'vue-localstorage' + import NcAppContent from '@nextcloud/vue/dist/Components/NcAppContent.js' import NcAppNavigation from '@nextcloud/vue/dist/Components/NcAppNavigation.js' import NcAppNavigationCaption from '@nextcloud/vue/dist/Components/NcAppNavigationCaption.js' @@ -151,22 +142,24 @@ import NcAppNavigationItem from '@nextcloud/vue/dist/Components/NcAppNavigationI import NcAppNavigationNew from '@nextcloud/vue/dist/Components/NcAppNavigationNew.js' import NcAppNavigationNewItem from '@nextcloud/vue/dist/Components/NcAppNavigationNewItem.js' import NcAppNavigationSettings from '@nextcloud/vue/dist/Components/NcAppNavigationSettings.js' -import axios from '@nextcloud/axios' +import NcCheckboxRadioSwitch from '@nextcloud/vue/dist/Components/NcCheckboxRadioSwitch.js' import NcContent from '@nextcloud/vue/dist/Components/NcContent.js' -import { generateUrl } from '@nextcloud/router' import NcSelect from '@nextcloud/vue/dist/Components/NcSelect.js' -import Vue from 'vue' -import VueLocalStorage from 'vue-localstorage' + +import Plus from 'vue-material-design-icons/Plus.vue' + +import axios from '@nextcloud/axios' +import { generateUrl } from '@nextcloud/router' import GroupListItem from '../components/GroupListItem.vue' import UserList from '../components/UserList.vue' -import Plus from 'vue-material-design-icons/Plus.vue' Vue.use(VueLocalStorage) export default { name: 'Users', components: { + GroupListItem, NcAppContent, NcAppNavigation, NcAppNavigationCaption, @@ -175,8 +168,8 @@ export default { NcAppNavigationNew, NcAppNavigationNewItem, NcAppNavigationSettings, + NcCheckboxRadioSwitch, NcContent, - GroupListItem, NcSelect, Plus, UserList, @@ -341,11 +334,6 @@ export default { methods: { showNewUserMenu() { this.showConfig.showNewUserForm = true - if (this.showConfig.showNewUserForm) { - Vue.nextTick(() => { - window.newusername.focus() - }) - } }, getLocalstorage(key) { // force initialization diff --git a/apps/settings/templates/settings/admin/additional-mail.php b/apps/settings/templates/settings/admin/additional-mail.php index 55c58f4caa5..c6548d88737 100644 --- a/apps/settings/templates/settings/admin/additional-mail.php +++ b/apps/settings/templates/settings/admin/additional-mail.php @@ -29,8 +29,8 @@ $mail_smtpauthtype = [ ]; $mail_smtpsecure = [ - '' => $l->t('None'), - 'ssl' => $l->t('SSL/TLS') + '' => $l->t('None/STARTTLS'), + 'ssl' => $l->t('SSL') ]; $mail_smtpmode = [ @@ -72,7 +72,9 @@ $mail_sendmailmode = [ <option value="<?php p($smtpmode[0])?>" <?php p($selected) ?>><?php p($smtpmode[1]) ?></option> <?php endforeach;?> </select> + </p> + <p> <label id="mail_smtpsecure_label" for="mail_smtpsecure" <?php if ($_['mail_smtpmode'] !== 'smtp') { print_unescaped(' class="hidden"'); @@ -91,11 +93,13 @@ $mail_sendmailmode = [ <option value="<?php p($secure)?>" <?php p($selected) ?>><?php p($name) ?></option> <?php endforeach;?> </select> + </p> - <label id="mail_sendmailmode_label" for="mail_sendmailmode" class="<?= $_['mail_smtpmode'] !== 'sendmail' ? 'hidden' : '' ?>"> + <p class="<?= $_['mail_smtpmode'] !== 'sendmail' ? 'hidden' : '' ?>"> + <label id="mail_sendmailmode_label" for="mail_sendmailmode"> <?php p($l->t('Sendmail mode')); ?> </label> - <select name="mail_sendmailmode" id="mail_sendmailmode" class="<?= $_['mail_smtpmode'] !== 'sendmail' ? 'hidden' : '' ?>"> + <select name="mail_sendmailmode" id="mail_sendmailmode"> <?php foreach ($mail_sendmailmode as $sendmailmodeValue => $sendmailmodeLabel): ?> <option value="<?php p($sendmailmodeValue)?>" <?= $sendmailmodeValue === $_['mail_sendmailmode'] ? 'selected="selected"' : '' ?>><?php p($sendmailmodeLabel) ?></option> <?php endforeach;?> @@ -123,10 +127,8 @@ $mail_sendmailmode = [ <p id='setting_smtpauth' <?php if ($_['mail_smtpmode'] !== 'smtp') { print_unescaped(' class="hidden"'); } ?>> - <label for='mail_smtpauthtype'><?php p($l->t('Authentication method')); ?> - <span class="icon-info" title="<?php p($l->t('Only applies when authentication is required')); ?>"></span> - </label> - <select name="mail_smtpauthtype" id="mail_smtpauthtype" disabled="disabled"> + <label for='mail_smtpauthtype'><?php p($l->t('Authentication')); ?></label> + <select name="mail_smtpauthtype" id="mail_smtpauthtype" class="hidden"> <?php foreach ($mail_smtpauthtype as $authtype => $name): ?> <option value="<?php p($authtype) ?>"><?php p($name) ?></option> <?php endforeach; ?> diff --git a/apps/sharebymail/l10n/gl.js b/apps/sharebymail/l10n/gl.js index 734d5936534..e862d8891c8 100644 --- a/apps/sharebymail/l10n/gl.js +++ b/apps/sharebymail/l10n/gl.js @@ -32,7 +32,7 @@ OC.L10N.register( "%1$s shared »%2$s« with you and wants to add:" : "%1$s compartiu «%2$s» con vostede e quere engadir:", "%1$s shared »%2$s« with you and wants to add" : "%1$s compartiu «%2$s» con vostede e quere engadir", "»%s« added a note to a file shared with you" : "«%s» engadiu unha nota a un ficheiro compartido con vostede", - "You just shared »%1$s« with %2$s. The share was already sent to the recipient. Due to the security policies defined by the administrator of %3$s each share needs to be protected by password and it is not allowed to send the password directly to the recipient. Therefore you need to forward the password manually to the recipient." : "Ven de de compartir «%1$s» con %2$s. O recurso compartido xa foi enviado ao destinatario. Por mor das regras de seguridade definidas polo administrador de %3$s cada recurso compartido necesita ser protexido por un contrasinal e non está permitido que vostede envíe o contrasinal directamente ao destinatario. Daquela, necesita enviar manualmente o contrasinal ao destinatario.", + "You just shared »%1$s« with %2$s. The share was already sent to the recipient. Due to the security policies defined by the administrator of %3$s each share needs to be protected by password and it is not allowed to send the password directly to the recipient. Therefore you need to forward the password manually to the recipient." : "Ven de de compartir «%1$s» con %2$s. O recurso compartido xa foi enviado ao destinatario. Por mor das directivas de seguranza definidas polo administrador de %3$s cada recurso compartido necesita ser protexido por un contrasinal e non está permitido que vostede envíe o contrasinal directamente ao destinatario. Daquela, necesita enviar manualmente o contrasinal ao destinatario.", "Password to access »%1$s« shared by you with %2$s" : "Contrasinal para acceder a «%1$s» compartida por vostede con %2$s", "This is the password:" : "Este é o contrasinal:", "You can choose a different password at any time in the share dialog." : "Pode escoller un contrasinal diferente en calquera momento no diálogo de compartir.", @@ -41,7 +41,7 @@ OC.L10N.register( "Allows users to share a personalized link to a file or folder by putting in an email address." : "Permite que os usuarios compartan unha ligazón personalizada ou un ficheiro ou cartafol enviándoo a un enderezo de correo.", "Send password by mail" : "Enviar contrasinal por correo", "Reply to initiator" : "Resposta ao iniciador", - "Unable to update share by mail config" : "Non foi posíbel actualizar a configuración para compartir por correo", + "Unable to update share by mail config" : "Non é posíbel actualizar a configuración para compartir por correo", "Shared with %1$s" : "Compartido con %1$s", "Shared with %1$s by %2$s" : "Compartido con %1$s por %2$s", "Unshared from %1$s" : "Recurso compartido eliminado dende %1$s", diff --git a/apps/sharebymail/l10n/gl.json b/apps/sharebymail/l10n/gl.json index c6c6deb8bfb..37d826245b8 100644 --- a/apps/sharebymail/l10n/gl.json +++ b/apps/sharebymail/l10n/gl.json @@ -30,7 +30,7 @@ "%1$s shared »%2$s« with you and wants to add:" : "%1$s compartiu «%2$s» con vostede e quere engadir:", "%1$s shared »%2$s« with you and wants to add" : "%1$s compartiu «%2$s» con vostede e quere engadir", "»%s« added a note to a file shared with you" : "«%s» engadiu unha nota a un ficheiro compartido con vostede", - "You just shared »%1$s« with %2$s. The share was already sent to the recipient. Due to the security policies defined by the administrator of %3$s each share needs to be protected by password and it is not allowed to send the password directly to the recipient. Therefore you need to forward the password manually to the recipient." : "Ven de de compartir «%1$s» con %2$s. O recurso compartido xa foi enviado ao destinatario. Por mor das regras de seguridade definidas polo administrador de %3$s cada recurso compartido necesita ser protexido por un contrasinal e non está permitido que vostede envíe o contrasinal directamente ao destinatario. Daquela, necesita enviar manualmente o contrasinal ao destinatario.", + "You just shared »%1$s« with %2$s. The share was already sent to the recipient. Due to the security policies defined by the administrator of %3$s each share needs to be protected by password and it is not allowed to send the password directly to the recipient. Therefore you need to forward the password manually to the recipient." : "Ven de de compartir «%1$s» con %2$s. O recurso compartido xa foi enviado ao destinatario. Por mor das directivas de seguranza definidas polo administrador de %3$s cada recurso compartido necesita ser protexido por un contrasinal e non está permitido que vostede envíe o contrasinal directamente ao destinatario. Daquela, necesita enviar manualmente o contrasinal ao destinatario.", "Password to access »%1$s« shared by you with %2$s" : "Contrasinal para acceder a «%1$s» compartida por vostede con %2$s", "This is the password:" : "Este é o contrasinal:", "You can choose a different password at any time in the share dialog." : "Pode escoller un contrasinal diferente en calquera momento no diálogo de compartir.", @@ -39,7 +39,7 @@ "Allows users to share a personalized link to a file or folder by putting in an email address." : "Permite que os usuarios compartan unha ligazón personalizada ou un ficheiro ou cartafol enviándoo a un enderezo de correo.", "Send password by mail" : "Enviar contrasinal por correo", "Reply to initiator" : "Resposta ao iniciador", - "Unable to update share by mail config" : "Non foi posíbel actualizar a configuración para compartir por correo", + "Unable to update share by mail config" : "Non é posíbel actualizar a configuración para compartir por correo", "Shared with %1$s" : "Compartido con %1$s", "Shared with %1$s by %2$s" : "Compartido con %1$s por %2$s", "Unshared from %1$s" : "Recurso compartido eliminado dende %1$s", diff --git a/apps/sharebymail/l10n/ko.js b/apps/sharebymail/l10n/ko.js index 38ea1cd5853..c029f2a3774 100644 --- a/apps/sharebymail/l10n/ko.js +++ b/apps/sharebymail/l10n/ko.js @@ -15,11 +15,11 @@ OC.L10N.register( "Open »%s«" : "%s 열기", "%1$s via %2$s" : "%1$s(%2$s 경유)", "Password to access »%s«" : "%s에 접근할 수 있는 암호", - "It is protected with the following password:" : "비밀번호로 보호됩니다.", - "%1$s shared »%2$s« with you and wants to add:" : "%1$s이(가) %2$s을(를) 당신과 공유하며, 다음을 추가하고자 함:", - "%1$s shared »%2$s« with you and wants to add" : "%1$s이(가) %2$s을(를) 당신과 공유하며 다음을 추가하고자 함", - "»%s« added a note to a file shared with you" : "%s이(가) 당신과 공유한 파일에 메모를 추가함", - "This is the password:" : "비밀번호", + "It is protected with the following password:" : "다음 암호로 보호됩니다:", + "%1$s shared »%2$s« with you and wants to add:" : "%1$s님이 %2$s을(를) 당신과 공유하며, 다음을 추가하고자 함:", + "%1$s shared »%2$s« with you and wants to add" : "%1$s님이 %2$s을(를) 당신과 공유하며 다음을 추가하고자 함", + "»%s« added a note to a file shared with you" : "%s님이 당신과 공유한 파일에 메모를 추가함", + "This is the password:" : "암호:", "You can choose a different password at any time in the share dialog." : "공유 대화 상자에서 언제든지 다른 암호를 선택할 수 있습니다.", "Could not find share" : "공유를 찾을 수 없음", "Allows users to share a personalized link to a file or folder by putting in an email address." : "파일이나 폴더를 공유하는 개인화된 링크를 이메일 주소를 통해서 공유합니다.", diff --git a/apps/sharebymail/l10n/ko.json b/apps/sharebymail/l10n/ko.json index c4d5bf5e15d..d767dca655a 100644 --- a/apps/sharebymail/l10n/ko.json +++ b/apps/sharebymail/l10n/ko.json @@ -13,11 +13,11 @@ "Open »%s«" : "%s 열기", "%1$s via %2$s" : "%1$s(%2$s 경유)", "Password to access »%s«" : "%s에 접근할 수 있는 암호", - "It is protected with the following password:" : "비밀번호로 보호됩니다.", - "%1$s shared »%2$s« with you and wants to add:" : "%1$s이(가) %2$s을(를) 당신과 공유하며, 다음을 추가하고자 함:", - "%1$s shared »%2$s« with you and wants to add" : "%1$s이(가) %2$s을(를) 당신과 공유하며 다음을 추가하고자 함", - "»%s« added a note to a file shared with you" : "%s이(가) 당신과 공유한 파일에 메모를 추가함", - "This is the password:" : "비밀번호", + "It is protected with the following password:" : "다음 암호로 보호됩니다:", + "%1$s shared »%2$s« with you and wants to add:" : "%1$s님이 %2$s을(를) 당신과 공유하며, 다음을 추가하고자 함:", + "%1$s shared »%2$s« with you and wants to add" : "%1$s님이 %2$s을(를) 당신과 공유하며 다음을 추가하고자 함", + "»%s« added a note to a file shared with you" : "%s님이 당신과 공유한 파일에 메모를 추가함", + "This is the password:" : "암호:", "You can choose a different password at any time in the share dialog." : "공유 대화 상자에서 언제든지 다른 암호를 선택할 수 있습니다.", "Could not find share" : "공유를 찾을 수 없음", "Allows users to share a personalized link to a file or folder by putting in an email address." : "파일이나 폴더를 공유하는 개인화된 링크를 이메일 주소를 통해서 공유합니다.", diff --git a/apps/systemtags/l10n/ar.js b/apps/systemtags/l10n/ar.js index e6b482d3362..c4f1bc57560 100644 --- a/apps/systemtags/l10n/ar.js +++ b/apps/systemtags/l10n/ar.js @@ -1,10 +1,79 @@ OC.L10N.register( "systemtags", { - "Tags" : "فئاة", + "Tag name is empty" : "إسم الوسم فارغ", + "Update" : "تحديث", + "Create" : "إنشاء", + "Select tag …" : "إختر وسما…", + "System tag %1$s added by the system" : "الوسم النظامي %1$s تمت إضافته من النظام", + "Added system tag {systemtag}" : "وسم نظامي مضاف {systemtag}", + "Added system tag %1$s" : "وسم نظامي مضاف %1$s", + "%1$s added system tag %2$s" : "%1$s أضاف الوسم النظامي%2$s", + "{actor} added system tag {systemtag}" : "{actor} أضاف الوسم النظامي {systemtag}", + "System tag %1$s removed by the system" : " وسم نظامي %1$s تمّ حذفه من النظام", + "Removed system tag {systemtag}" : "وسم نظامي محذوف {systemtag}", + "Removed system tag %1$s" : "وسم نظامي محذوف %1$s", + "%1$s removed system tag %2$s" : "%1$s حذف الوسم النظامي %2$s", + "{actor} removed system tag {systemtag}" : "{actor} حذف الوسم النظامي {systemtag}", + "You created system tag %1$s" : "أنت أنشأت الوسم النظامي %1$s", + "You created system tag {systemtag}" : "أنت أنشأت الوسم النظامي {systemtag}", + "%1$s created system tag %2$s" : "%1$s أنشأ الوسم النظامي %2$s", + "{actor} created system tag {systemtag}" : "{actor} أنشأ الوسم النظامي {systemtag}", + "You deleted system tag %1$s" : "أنت حذفت الوسم النظامي %1$s", + "You deleted system tag {systemtag}" : "أنت حذفت الوسم النظامي {systemtag}", + "%1$s deleted system tag %2$s" : "%1$s حذف الوسم النظامي %2$s", + "{actor} deleted system tag {systemtag}" : "{actor} حذف الوسم النظامي {systemtag}", + "You updated system tag %2$s to %1$s" : "أنت غيّرت الوسم النظامي %2$s إلى %1$s", + "You updated system tag {oldsystemtag} to {newsystemtag}" : "أنت عدّلت الوسم النظامي {oldsystemtag} إلى {newsystemtag}", + "%1$s updated system tag %3$s to %2$s" : "%1$s عدّل الوسم النظامي %3$s إلى %2$s", + "{actor} updated system tag {oldsystemtag} to {newsystemtag}" : "{actor} عدّل الوسم النظامي {oldsystemtag} إلى {newsystemtag}", + "System tag %2$s was added to %1$s by the system" : "الوسم النظامي %2$s تمّت إضافته إلى %1$s من قِبل النظام", + "System tag {systemtag} was added to {file} by the system" : "الوسم النظامي {systemtag} تمّت إضافته إلى {file} من قِبل النظام", + "You added system tag %2$s to %1$s" : "أنت قمت بإضافة الوسم النظامي %2$s إلى %1$s", + "You added system tag {systemtag} to {file}" : "أنت قمت بإضافة الوسم النظامي {systemtag} إلى {file}", + "%1$s added system tag %3$s to %2$s" : "%1$s أضاف الوسم النظامي %3$s إلى %2$s", + "{actor} added system tag {systemtag} to {file}" : "{actor} أضاف الوسم النظامي {systemtag} إلى {file}", + "System tag %2$s was removed from %1$s by the system" : "الوسم النظامي %2$s تمّ حذفه من %1$s من قِبل النظام", + "System tag {systemtag} was removed from {file} by the system" : "الوسم النظامي {systemtag} تمّ حذفه من {file} من قِبل النظام", + "You removed system tag %2$s from %1$s" : "أنت حذفت الوسم النظامي %2$s من %1$s", + "You removed system tag {systemtag} from {file}" : "أنت حذفت الوسم النظامي {systemtag} من {file}", + "%1$s removed system tag %3$s from %2$s" : "%1$s حذف الوسم النظامي %3$s من %2$s", + "{actor} removed system tag {systemtag} from {file}" : "{actor} حذف الوسم النظامي {systemtag} من {file}", + "%s (restricted)" : "%s (محظور)", + "%s (invisible)" : "%s (مخفي)", + "<strong>System tags</strong> for a file have been modified" : "<strong>وسم النظام</strong> للملف تمّ تغييرها", + "Tags" : "الوسوم", + "All tagged %s …" : "جميع الوسوم %s …", + "tagged %s" : "موسوم %s", + "Collaborative tags" : "وسوم التعاونية", + "Collaborative tagging functionality which shares tags among users." : "وظيفة التوسيم التعاوني التي تسمح بمشاركة الوسوم tags فيما بين المستخدمين.", + "Collaborative tagging functionality which shares tags among users. Great for teams.\n\t(If you are a provider with a multi-tenancy installation, it is advised to deactivate this app as tags are shared.)" : "وظيفة التوسيم التعاوني التي تسمح بمشاركة الوسوم tags فيما بين المستخدمين. ذات فائدة عظيمة لعمل الفرق.\n\t(إذا كنت مستضيفاً لنظام متعدد المستأجرين multi-tenant، فإنه يُنصح بأن تقوم بتعطيل هذه الخدمة حيث أن الوسوم ستتم مشاركتها بين جميع المستخدمين من جميع المستأجرين.)", + "Loading collaborative tags …" : "تحميل الوسوم التعاونية ...", + "Search or create collaborative tags" : "البحث عن أو إنشاء وسم تعاوني", + "Collaborative tags …" : "وسوم تعاونية ...", + "No tags to select, type to create a new tag" : "لا توجد أي وسوم؛ أكتب لإنشاء وسم جديد", + "Failed to load tags" : "إخفاق في تحميل الوسوم", + "Failed to load selected tags" : "إخفاق في تحميل الوسوم المنتقاة", + "Failed to select tag" : "إخفاق في اختيار وسم", + "Failed to create tag" : "إخفاق في إنشا وسم", + "Failed to delete tag" : "إخفاق في حذف وسم", + "Failed to load last used tags" : "إخفاق في تحميل آخر الوسوم استعمالاً", + "Missing \"Content-Location\" header" : "ترويسة موقع المحتوى \"Content-Location\" مفقودة", + "Tagged files" : "الملفات الموسومة", + "Select tags to filter by" : "حدد الوسوم للترشيح بواسطتها", + "No tags found" : "لم يُعثَر على أي وسم", + "Please select tags to filter by" : "الرجاء تحديد الوسوم لترشيح بواسطتها", + "No files found for the selected tags" : "لم يتم العثور على ملفات مع الوسوم المختارة", + "Collaborative tags are available for all users. Restricted tags are visible to users but cannot be assigned by them. Invisible tags are for internal use, since users cannot see or assign them." : "الوسوم التعاونية مُتاحة لكل المستخدمين. الوسوم المُقيّدة restricted يمكن للمستخدمين رؤيتها لكن لا يمكنهم اسنادها. الوسوم المخفية invisible للاستعمال الداخلي فقط حيث لا يستطيع المستخدمون رؤيتها و لا إسنادها.", + "Create a new tag" : "أنشئ وسما جديدا", + "Name" : "اسم", + "Public" : "للعامة", + "Restricted" : "مقيدة", + "Invisible" : "غير مرئية", + "Delete" : "حذف ", + "Reset" : "إعادة الضبط", "No files in here" : "لا يوجد ملفات هنا ", "No entries found in this folder" : "لا يوجد مدخلات في هذا المجلد ", - "Name" : "اسم", "Size" : "حجم", "Modified" : "معدل" }, diff --git a/apps/systemtags/l10n/ar.json b/apps/systemtags/l10n/ar.json index 5527f0303e8..1c6d5b9afe7 100644 --- a/apps/systemtags/l10n/ar.json +++ b/apps/systemtags/l10n/ar.json @@ -1,8 +1,77 @@ { "translations": { - "Tags" : "فئاة", + "Tag name is empty" : "إسم الوسم فارغ", + "Update" : "تحديث", + "Create" : "إنشاء", + "Select tag …" : "إختر وسما…", + "System tag %1$s added by the system" : "الوسم النظامي %1$s تمت إضافته من النظام", + "Added system tag {systemtag}" : "وسم نظامي مضاف {systemtag}", + "Added system tag %1$s" : "وسم نظامي مضاف %1$s", + "%1$s added system tag %2$s" : "%1$s أضاف الوسم النظامي%2$s", + "{actor} added system tag {systemtag}" : "{actor} أضاف الوسم النظامي {systemtag}", + "System tag %1$s removed by the system" : " وسم نظامي %1$s تمّ حذفه من النظام", + "Removed system tag {systemtag}" : "وسم نظامي محذوف {systemtag}", + "Removed system tag %1$s" : "وسم نظامي محذوف %1$s", + "%1$s removed system tag %2$s" : "%1$s حذف الوسم النظامي %2$s", + "{actor} removed system tag {systemtag}" : "{actor} حذف الوسم النظامي {systemtag}", + "You created system tag %1$s" : "أنت أنشأت الوسم النظامي %1$s", + "You created system tag {systemtag}" : "أنت أنشأت الوسم النظامي {systemtag}", + "%1$s created system tag %2$s" : "%1$s أنشأ الوسم النظامي %2$s", + "{actor} created system tag {systemtag}" : "{actor} أنشأ الوسم النظامي {systemtag}", + "You deleted system tag %1$s" : "أنت حذفت الوسم النظامي %1$s", + "You deleted system tag {systemtag}" : "أنت حذفت الوسم النظامي {systemtag}", + "%1$s deleted system tag %2$s" : "%1$s حذف الوسم النظامي %2$s", + "{actor} deleted system tag {systemtag}" : "{actor} حذف الوسم النظامي {systemtag}", + "You updated system tag %2$s to %1$s" : "أنت غيّرت الوسم النظامي %2$s إلى %1$s", + "You updated system tag {oldsystemtag} to {newsystemtag}" : "أنت عدّلت الوسم النظامي {oldsystemtag} إلى {newsystemtag}", + "%1$s updated system tag %3$s to %2$s" : "%1$s عدّل الوسم النظامي %3$s إلى %2$s", + "{actor} updated system tag {oldsystemtag} to {newsystemtag}" : "{actor} عدّل الوسم النظامي {oldsystemtag} إلى {newsystemtag}", + "System tag %2$s was added to %1$s by the system" : "الوسم النظامي %2$s تمّت إضافته إلى %1$s من قِبل النظام", + "System tag {systemtag} was added to {file} by the system" : "الوسم النظامي {systemtag} تمّت إضافته إلى {file} من قِبل النظام", + "You added system tag %2$s to %1$s" : "أنت قمت بإضافة الوسم النظامي %2$s إلى %1$s", + "You added system tag {systemtag} to {file}" : "أنت قمت بإضافة الوسم النظامي {systemtag} إلى {file}", + "%1$s added system tag %3$s to %2$s" : "%1$s أضاف الوسم النظامي %3$s إلى %2$s", + "{actor} added system tag {systemtag} to {file}" : "{actor} أضاف الوسم النظامي {systemtag} إلى {file}", + "System tag %2$s was removed from %1$s by the system" : "الوسم النظامي %2$s تمّ حذفه من %1$s من قِبل النظام", + "System tag {systemtag} was removed from {file} by the system" : "الوسم النظامي {systemtag} تمّ حذفه من {file} من قِبل النظام", + "You removed system tag %2$s from %1$s" : "أنت حذفت الوسم النظامي %2$s من %1$s", + "You removed system tag {systemtag} from {file}" : "أنت حذفت الوسم النظامي {systemtag} من {file}", + "%1$s removed system tag %3$s from %2$s" : "%1$s حذف الوسم النظامي %3$s من %2$s", + "{actor} removed system tag {systemtag} from {file}" : "{actor} حذف الوسم النظامي {systemtag} من {file}", + "%s (restricted)" : "%s (محظور)", + "%s (invisible)" : "%s (مخفي)", + "<strong>System tags</strong> for a file have been modified" : "<strong>وسم النظام</strong> للملف تمّ تغييرها", + "Tags" : "الوسوم", + "All tagged %s …" : "جميع الوسوم %s …", + "tagged %s" : "موسوم %s", + "Collaborative tags" : "وسوم التعاونية", + "Collaborative tagging functionality which shares tags among users." : "وظيفة التوسيم التعاوني التي تسمح بمشاركة الوسوم tags فيما بين المستخدمين.", + "Collaborative tagging functionality which shares tags among users. Great for teams.\n\t(If you are a provider with a multi-tenancy installation, it is advised to deactivate this app as tags are shared.)" : "وظيفة التوسيم التعاوني التي تسمح بمشاركة الوسوم tags فيما بين المستخدمين. ذات فائدة عظيمة لعمل الفرق.\n\t(إذا كنت مستضيفاً لنظام متعدد المستأجرين multi-tenant، فإنه يُنصح بأن تقوم بتعطيل هذه الخدمة حيث أن الوسوم ستتم مشاركتها بين جميع المستخدمين من جميع المستأجرين.)", + "Loading collaborative tags …" : "تحميل الوسوم التعاونية ...", + "Search or create collaborative tags" : "البحث عن أو إنشاء وسم تعاوني", + "Collaborative tags …" : "وسوم تعاونية ...", + "No tags to select, type to create a new tag" : "لا توجد أي وسوم؛ أكتب لإنشاء وسم جديد", + "Failed to load tags" : "إخفاق في تحميل الوسوم", + "Failed to load selected tags" : "إخفاق في تحميل الوسوم المنتقاة", + "Failed to select tag" : "إخفاق في اختيار وسم", + "Failed to create tag" : "إخفاق في إنشا وسم", + "Failed to delete tag" : "إخفاق في حذف وسم", + "Failed to load last used tags" : "إخفاق في تحميل آخر الوسوم استعمالاً", + "Missing \"Content-Location\" header" : "ترويسة موقع المحتوى \"Content-Location\" مفقودة", + "Tagged files" : "الملفات الموسومة", + "Select tags to filter by" : "حدد الوسوم للترشيح بواسطتها", + "No tags found" : "لم يُعثَر على أي وسم", + "Please select tags to filter by" : "الرجاء تحديد الوسوم لترشيح بواسطتها", + "No files found for the selected tags" : "لم يتم العثور على ملفات مع الوسوم المختارة", + "Collaborative tags are available for all users. Restricted tags are visible to users but cannot be assigned by them. Invisible tags are for internal use, since users cannot see or assign them." : "الوسوم التعاونية مُتاحة لكل المستخدمين. الوسوم المُقيّدة restricted يمكن للمستخدمين رؤيتها لكن لا يمكنهم اسنادها. الوسوم المخفية invisible للاستعمال الداخلي فقط حيث لا يستطيع المستخدمون رؤيتها و لا إسنادها.", + "Create a new tag" : "أنشئ وسما جديدا", + "Name" : "اسم", + "Public" : "للعامة", + "Restricted" : "مقيدة", + "Invisible" : "غير مرئية", + "Delete" : "حذف ", + "Reset" : "إعادة الضبط", "No files in here" : "لا يوجد ملفات هنا ", "No entries found in this folder" : "لا يوجد مدخلات في هذا المجلد ", - "Name" : "اسم", "Size" : "حجم", "Modified" : "معدل" },"pluralForm" :"nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;" diff --git a/apps/systemtags/l10n/gl.js b/apps/systemtags/l10n/gl.js index 04577406ccb..0c2c7d82cb0 100644 --- a/apps/systemtags/l10n/gl.js +++ b/apps/systemtags/l10n/gl.js @@ -43,21 +43,22 @@ OC.L10N.register( "%s (invisible)" : "%s (invisíbel)", "<strong>System tags</strong> for a file have been modified" : "Modificáronse as <strong>etiquetas de sistemas</strong> dun ficheio", "Tags" : "Etiquetas", - "All tagged %s …" : "Todo etiquetado %s ...", + "All tagged %s …" : "Todo etiquetado %s…", "tagged %s" : "etiquetado %s", "Collaborative tags" : "Etiquetas colaborativas", "Collaborative tagging functionality which shares tags among users." : "Funcionalidade de etiquetado colaborativo que comparte as etiquetas entre usuarios.", "Collaborative tagging functionality which shares tags among users. Great for teams.\n\t(If you are a provider with a multi-tenancy installation, it is advised to deactivate this app as tags are shared.)" : "Funcionalidade de etiquetado colaborativo que comparte as etiquetas entre usuarios. Moi axeitado para equipos.\n(Se vostede é un provedor cunha instalación de varias instalacións, recoméndase desactivar esta aplicación xa que as etiquetas compártense).", - "Search or create collaborative tags" : "Busca ou crea etiquetas colaborativas", - "Collaborative tags …" : "Etiquetas colaborativas ...", - "No tags to select, type to create a new tag" : "Non hai etiquetas que seleccionar, escribe para crear unha nova", + "Loading collaborative tags …" : "Cargando etiquetas colaborativas…", + "Search or create collaborative tags" : "Buscar ou crear etiquetas colaborativas", + "Collaborative tags …" : "Etiquetas colaborativas…", + "No tags to select, type to create a new tag" : "Non hai etiquetas que seleccionar, escriba para crear unha nova", "Failed to load tags" : "Produciuse un fallo ao cargar as etiquetas", "Failed to load selected tags" : "Produciuse un erro ao cargar as etiquetas seleccionadas", "Failed to select tag" : "Produciuse un erro ao seleccionar a etiqueta", "Failed to create tag" : "Produciuse un erro ao crear a etiqueta", "Failed to delete tag" : "Produciuse un erro ao eliminar a etiqueta", "Failed to load last used tags" : "Produciuse un erro ao cargar as últimas etiquetas utilizadas", - "Missing \"Content-Location\" header" : "Falta a cabeceira \"Content-Location\".", + "Missing \"Content-Location\" header" : "Falta a cabeceira «Content-Location».", "Tagged files" : "Ficheiros etiquetados", "Select tags to filter by" : "Seleccionar etiquetas polas que filtrar", "No tags found" : "Non se atoparon etiquetas", diff --git a/apps/systemtags/l10n/gl.json b/apps/systemtags/l10n/gl.json index 6c83f873a3c..7e668b7f5f7 100644 --- a/apps/systemtags/l10n/gl.json +++ b/apps/systemtags/l10n/gl.json @@ -41,21 +41,22 @@ "%s (invisible)" : "%s (invisíbel)", "<strong>System tags</strong> for a file have been modified" : "Modificáronse as <strong>etiquetas de sistemas</strong> dun ficheio", "Tags" : "Etiquetas", - "All tagged %s …" : "Todo etiquetado %s ...", + "All tagged %s …" : "Todo etiquetado %s…", "tagged %s" : "etiquetado %s", "Collaborative tags" : "Etiquetas colaborativas", "Collaborative tagging functionality which shares tags among users." : "Funcionalidade de etiquetado colaborativo que comparte as etiquetas entre usuarios.", "Collaborative tagging functionality which shares tags among users. Great for teams.\n\t(If you are a provider with a multi-tenancy installation, it is advised to deactivate this app as tags are shared.)" : "Funcionalidade de etiquetado colaborativo que comparte as etiquetas entre usuarios. Moi axeitado para equipos.\n(Se vostede é un provedor cunha instalación de varias instalacións, recoméndase desactivar esta aplicación xa que as etiquetas compártense).", - "Search or create collaborative tags" : "Busca ou crea etiquetas colaborativas", - "Collaborative tags …" : "Etiquetas colaborativas ...", - "No tags to select, type to create a new tag" : "Non hai etiquetas que seleccionar, escribe para crear unha nova", + "Loading collaborative tags …" : "Cargando etiquetas colaborativas…", + "Search or create collaborative tags" : "Buscar ou crear etiquetas colaborativas", + "Collaborative tags …" : "Etiquetas colaborativas…", + "No tags to select, type to create a new tag" : "Non hai etiquetas que seleccionar, escriba para crear unha nova", "Failed to load tags" : "Produciuse un fallo ao cargar as etiquetas", "Failed to load selected tags" : "Produciuse un erro ao cargar as etiquetas seleccionadas", "Failed to select tag" : "Produciuse un erro ao seleccionar a etiqueta", "Failed to create tag" : "Produciuse un erro ao crear a etiqueta", "Failed to delete tag" : "Produciuse un erro ao eliminar a etiqueta", "Failed to load last used tags" : "Produciuse un erro ao cargar as últimas etiquetas utilizadas", - "Missing \"Content-Location\" header" : "Falta a cabeceira \"Content-Location\".", + "Missing \"Content-Location\" header" : "Falta a cabeceira «Content-Location».", "Tagged files" : "Ficheiros etiquetados", "Select tags to filter by" : "Seleccionar etiquetas polas que filtrar", "No tags found" : "Non se atoparon etiquetas", diff --git a/apps/systemtags/l10n/ko.js b/apps/systemtags/l10n/ko.js index cc911472010..6e1581f5119 100644 --- a/apps/systemtags/l10n/ko.js +++ b/apps/systemtags/l10n/ko.js @@ -1,7 +1,7 @@ OC.L10N.register( "systemtags", { - "Tag name is empty" : "태그 이름이 비었습니다", + "Tag name is empty" : "태그 이름이 비었습니다.", "Update" : "업데이트", "Create" : "만들기", "Select tag …" : "태그 선택 …", diff --git a/apps/systemtags/l10n/ko.json b/apps/systemtags/l10n/ko.json index 3c8e1b31b96..764e24eab9b 100644 --- a/apps/systemtags/l10n/ko.json +++ b/apps/systemtags/l10n/ko.json @@ -1,5 +1,5 @@ { "translations": { - "Tag name is empty" : "태그 이름이 비었습니다", + "Tag name is empty" : "태그 이름이 비었습니다.", "Update" : "업데이트", "Create" : "만들기", "Select tag …" : "태그 선택 …", diff --git a/apps/systemtags/l10n/lt_LT.js b/apps/systemtags/l10n/lt_LT.js index 9e38530941f..98fde466cf9 100644 --- a/apps/systemtags/l10n/lt_LT.js +++ b/apps/systemtags/l10n/lt_LT.js @@ -39,8 +39,14 @@ OC.L10N.register( "%s (invisible)" : "%s (nematomas)", "<strong>System tags</strong> for a file have been modified" : "Modifikuotos failo <strong>sistemos žymės</strong>", "Tags" : "Žymės", + "All tagged %s …" : "Visi pažymėti %s ...", + "tagged %s" : "pažymėta %s", "Collaborative tags" : "Bendradarbiavimo žymės", "Failed to load tags" : "Nepavyko įkelti žymių", + "Failed to select tag" : "Nepavyko parinkti žymios", + "Failed to create tag" : "Nepavyko įkelti žymios", + "Failed to delete tag" : "Nepavyko pervadinti žymės", + "Failed to load last used tags" : "Nepavyko įkelti paskutinių naudotų žymų", "Tagged files" : "Pažymėti failai", "Select tags to filter by" : "Pasirinkite žymes, pagal kurias filtruoti", "No tags found" : "Nerasta jokių žymių", diff --git a/apps/systemtags/l10n/lt_LT.json b/apps/systemtags/l10n/lt_LT.json index def18c4d25f..8ef202d4bce 100644 --- a/apps/systemtags/l10n/lt_LT.json +++ b/apps/systemtags/l10n/lt_LT.json @@ -37,8 +37,14 @@ "%s (invisible)" : "%s (nematomas)", "<strong>System tags</strong> for a file have been modified" : "Modifikuotos failo <strong>sistemos žymės</strong>", "Tags" : "Žymės", + "All tagged %s …" : "Visi pažymėti %s ...", + "tagged %s" : "pažymėta %s", "Collaborative tags" : "Bendradarbiavimo žymės", "Failed to load tags" : "Nepavyko įkelti žymių", + "Failed to select tag" : "Nepavyko parinkti žymios", + "Failed to create tag" : "Nepavyko įkelti žymios", + "Failed to delete tag" : "Nepavyko pervadinti žymės", + "Failed to load last used tags" : "Nepavyko įkelti paskutinių naudotų žymų", "Tagged files" : "Pažymėti failai", "Select tags to filter by" : "Pasirinkite žymes, pagal kurias filtruoti", "No tags found" : "Nerasta jokių žymių", diff --git a/apps/systemtags/l10n/ru.js b/apps/systemtags/l10n/ru.js index 1d258e23af7..c34aafa38a0 100644 --- a/apps/systemtags/l10n/ru.js +++ b/apps/systemtags/l10n/ru.js @@ -48,6 +48,7 @@ OC.L10N.register( "Collaborative tags" : "Метки совместной работы", "Collaborative tagging functionality which shares tags among users." : "Совместная работа с метками файлов.", "Collaborative tagging functionality which shares tags among users. Great for teams.\n\t(If you are a provider with a multi-tenancy installation, it is advised to deactivate this app as tags are shared.)" : "Совместная работа с метками файлов, предназначенная для групп пользователей. (Провайдерам с большим количеством клиентов рекомендуется отключить это приложение, так как метки являются общими).", + "Loading collaborative tags …" : "Загрузка совместных тегов ...", "Search or create collaborative tags" : "Поиск или создание совместных тегов", "Collaborative tags …" : "Совместные теги ...", "No tags to select, type to create a new tag" : "Нет тегов для выбора. Введите что-нибудь для создания нового тега", diff --git a/apps/systemtags/l10n/ru.json b/apps/systemtags/l10n/ru.json index adf958f58e0..18df46807cb 100644 --- a/apps/systemtags/l10n/ru.json +++ b/apps/systemtags/l10n/ru.json @@ -46,6 +46,7 @@ "Collaborative tags" : "Метки совместной работы", "Collaborative tagging functionality which shares tags among users." : "Совместная работа с метками файлов.", "Collaborative tagging functionality which shares tags among users. Great for teams.\n\t(If you are a provider with a multi-tenancy installation, it is advised to deactivate this app as tags are shared.)" : "Совместная работа с метками файлов, предназначенная для групп пользователей. (Провайдерам с большим количеством клиентов рекомендуется отключить это приложение, так как метки являются общими).", + "Loading collaborative tags …" : "Загрузка совместных тегов ...", "Search or create collaborative tags" : "Поиск или создание совместных тегов", "Collaborative tags …" : "Совместные теги ...", "No tags to select, type to create a new tag" : "Нет тегов для выбора. Введите что-нибудь для создания нового тега", diff --git a/apps/theming/l10n/ar.js b/apps/theming/l10n/ar.js index bdc891a56d1..428ccac6c9b 100644 --- a/apps/theming/l10n/ar.js +++ b/apps/theming/l10n/ar.js @@ -3,8 +3,14 @@ OC.L10N.register( { "The given name is too long" : "هذا الاسم أطول مما يجب", "The given web address is too long" : "هذا العنوان أطول مما يجب", - "The given slogan is too long" : "هذا الشعار أطول مما يجب", - "The given color is invalid" : "هناك خطأ في اللون", + "The given web address is not a valid URL" : "عنوان الوب هذا ليس عنوان URL صحيح", + "The given legal notice address is too long" : "هذه الملاحظة القانونية أطول مما يجب", + "The given legal notice address is not a valid URL" : "عنوان الملاحظة القانونية هذه ليس عنوان URL صحيح", + "The given privacy policy address is too long" : "عنوان سياسة الخصوصية هذا أطول مما يجب", + "The given privacy policy address is not a valid URL" : "عنوان سياسة الخصوصية هذا ليس عنوان URL صحيح", + "The given slogan is too long" : "هذه الشارة slogan أطول مما يجب", + "The given color is invalid" : "هذا اللون غير صحيح", + "Disable-user-theming should be true or false" : "\"إيقاف ثيمة المستخدم\" Disable-user-theming يجب أن تكون إمّا صح أو خطأ", "Saved" : "تم الحفظ", "The file was uploaded" : "الملف تم رفعه", "The uploaded file exceeds the upload_max_filesize directive in php.ini" : "حجم الملف المرفوع قد تجاوز upload_max_filesize الموجودة في ملف php.ini ", @@ -15,18 +21,35 @@ OC.L10N.register( "Could not write file to disk" : "لم يستطع كتابة ملف للقرص", "A PHP extension stopped the file upload" : "اضافة البي اچ بي PHP اوقفت رفع الملف", "No file uploaded" : "لم يتم رفع الملف", + "Failed to clean up the old administration theming images folder" : "إخفاق في تنظيف مجلد صور ثيمات الإدارة القديمة", + "Failed to clean up the old administration image folder" : "إخفاق في تنظيف مجلد صور الإدارة القديمة", + "You are already using a custom theme. Theming app settings might be overwritten by that." : "أنت تستخدم الآن ثيمة مُخصّصة. إعدادات تطبيق الثيمات يُمكن أن يتم الكتابة عليها بسبب ذلك. ", "Theming" : "تخصيص القالب", + "Appearance and accessibility" : "المظهر appearance، و سهولة الوصول accessibility", + "Dark theme with high contrast mode" : "ثيمة داكنة dark مع وضعية تباين عالي", + "Enable dark high contrast mode" : "فَعِّل وضعية التباين العالي الدّاكن", + "Similar to the high contrast mode, but with dark colours." : "مُماثلة لوضعية التباين العالي، لكن بألوان داكنة", "Dark theme" : "مظهر داكن", "Enable dark theme" : "تفعيل المظهر الداكن", + "A dark theme to ease your eyes by reducing the overall luminosity and brightness." : "ثيمة داكنة تريح عينيك من خلال تقليل اللمعان والسطوع بشكل عام", + "System default theme" : "ثيمة النظام التلقائية", + "Enable the system default" : "تمكين ثيمة النظام التلقائية", + "Using the default system appearance." : "إستخدام المظهر التلقائي للنظام", "Dyslexia font" : "خط خاص بالمصابين بعسر القراءة", "Enable dyslexia font" : "تفعيل الخط الخاص بالمصابين بعسر القراءة", "OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "OpenDyslexic خط مجاني مصمم للمساعدة على تفادي الأخطاء لمن يعانون من عسر القراءة.", "High contrast mode" : "وضع تباين الألوان العالي", "Enable high contrast mode" : "تفعيل وضع تباين الألوان العالي", "A high contrast mode to ease your navigation. Visual quality will be reduced but clarity will be increased." : "وضع تباين الألوان العالي يساعدك على التنقل في الموقع بسهولة. الجودة المرئية سوف تقل بينما الوضوح سيزداد.", + "Light theme" : "ثيمة فاتحة light", + "Enable the default light theme" : "مكّن الثيمة التلقائية الفاتحة", + "The default light appearance." : "المظهر الفاتح التلقائي", + "Legal notice" : "ملاحظة قانونية", "Privacy policy" : "سياسة الخصوصية", + "Adjust the Nextcloud theme" : "تضبيط ثيمة نكست كلاود", "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "السمات تجعل من الممكن بسهولة تخصيص الشكل والمظهر لنموذجك ودعم العملاء. سيكون هذا مرئيا لجميع المستخدمين.", "Advanced options" : "الخيارات المتقدمة", + "Install the ImageMagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "قم بتثبيت ImageMagick و التي هي امتداد لـ PHP مع دعم صور SVG لإنشاء الرموز المفضلة تلقائيًا بناءً على الشعار واللون اللذيْن تمّ تحميلهما.", "Name" : "الاسم", "Web link" : "رابط الويب", "a safe home for all your data" : "مكان آمن لكل معلوماتك", @@ -34,24 +57,51 @@ 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" : "إعدادات المستخدم", + "Disable user theming" : "إيقاف تصرف المستخدم في الثيمات", + "Although you can select and customize your instance, users can change their background and colors. If you want to enforce your customization, you can toggle this on." : "على الرغم من أنه يمكنك تحديد وتخصيص الخادوم الخاص بك، فإنه يمكن للمستخدمين تغيير صور خلفيات شاشاتهم وألوانهم. إذا كنت تريد فرض التخصيص الخاص بك ، فيمكنك التبديل إلى هذا.", "Keyboard shortcuts" : "إختصارات لوحة المفاتيح", + "In some cases keyboard shortcuts can interfere 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." : "في بعض الحالات، يمكن أن تتداخل اختصارات لوحة المفاتيح مع أدوات تسهيل الوصول. للسماح بالتركيز على أداتك بشكل صحيح، يُمكنك تعطيل جميع اختصارات لوحة المفاتيح هنا. سيؤدي هذا أيضًا إلى تعطيل جميع الاختصارات المتاحة في التطبيقات.", + "Disable all keyboard shortcuts" : "إيقاف كل اختصارات لوحة المفاتيح", + "Background" : "خلفية الشاشة", + "Customization has been disabled by your administrator" : "التخصيص موقوف من قِبَل المُشرف", + "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}!", + "Custom background" : "خلفيّة مُخصّصة", + "Default background" : "الخلفية التلقائية", + "Change color" : "غيّر اللون", + "No background" : "لا خلفية", + "Select a background from your files" : "إختر خلفية من ملفاتك", + "Theme selection is enforced" : "تمّ فرض اختيار الثيمة", + "Select a custom color" : "إختر لوناً مُخصّصاً", "Reset to default" : "اعادة تعيين الافتراضيات", "Upload" : "تحميل", "Remove background image" : "إزالة صورة الخلفية", "Loading preview…" : "جار تحميل المعاينة ...", "Admin" : "ادارة", + "Error uploading the file" : "خطأ في تحميل الملف", + "Name cannot be empty" : "لا يمكن أن يكون الاسم فارغاً", + "Migrate and clean up admin theming images" : "رَحِّل و نَظِّف صور ثيمات المشرف", + "Failed to clean up the old admin theming images folder" : "تعذّر تنظيف مُجلّد صور ثيمات المشرف القديمة", + "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" : "الصورة التلقائية", "Custom color" : "لون خاص", "Plain background" : "خلفية سادة", "Insert from {productName}" : "اضف من {productName}", "Open documentation" : "فتح الدليل", - "Upload new login background" : "تحميل خلفية جديدة للدخول" + "https://…" : "https://…", + "Upload new login background" : "تحميل خلفية جديدة للدخول", + "Although you can select and customize your instance, users can change their background and colors. If you want to enforce your customization, you can check this box." : "على الرغم من أنه يمكنك تحديد وتخصيص الخادوم الخاص بك، فإنه يمكن للمستخدمين تغيير صور خلفيات شاشاتهم وألوانهم. إذا كنت ترغب في فرض التخصيص الخاص بك، يمكنك تحديد هذا المربع.", + "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "قم بتثبيت Imagemagick و الذي هو امتداد لـ PHP مع دعم صور SVG لإنشاء الرموز المفضلة تلقائيًا بناءً على الشعار واللون اللذين تم~ تحميلهما." }, "nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;"); diff --git a/apps/theming/l10n/ar.json b/apps/theming/l10n/ar.json index 1828b7c02c5..06071e12034 100644 --- a/apps/theming/l10n/ar.json +++ b/apps/theming/l10n/ar.json @@ -1,8 +1,14 @@ { "translations": { "The given name is too long" : "هذا الاسم أطول مما يجب", "The given web address is too long" : "هذا العنوان أطول مما يجب", - "The given slogan is too long" : "هذا الشعار أطول مما يجب", - "The given color is invalid" : "هناك خطأ في اللون", + "The given web address is not a valid URL" : "عنوان الوب هذا ليس عنوان URL صحيح", + "The given legal notice address is too long" : "هذه الملاحظة القانونية أطول مما يجب", + "The given legal notice address is not a valid URL" : "عنوان الملاحظة القانونية هذه ليس عنوان URL صحيح", + "The given privacy policy address is too long" : "عنوان سياسة الخصوصية هذا أطول مما يجب", + "The given privacy policy address is not a valid URL" : "عنوان سياسة الخصوصية هذا ليس عنوان URL صحيح", + "The given slogan is too long" : "هذه الشارة slogan أطول مما يجب", + "The given color is invalid" : "هذا اللون غير صحيح", + "Disable-user-theming should be true or false" : "\"إيقاف ثيمة المستخدم\" Disable-user-theming يجب أن تكون إمّا صح أو خطأ", "Saved" : "تم الحفظ", "The file was uploaded" : "الملف تم رفعه", "The uploaded file exceeds the upload_max_filesize directive in php.ini" : "حجم الملف المرفوع قد تجاوز upload_max_filesize الموجودة في ملف php.ini ", @@ -13,18 +19,35 @@ "Could not write file to disk" : "لم يستطع كتابة ملف للقرص", "A PHP extension stopped the file upload" : "اضافة البي اچ بي PHP اوقفت رفع الملف", "No file uploaded" : "لم يتم رفع الملف", + "Failed to clean up the old administration theming images folder" : "إخفاق في تنظيف مجلد صور ثيمات الإدارة القديمة", + "Failed to clean up the old administration image folder" : "إخفاق في تنظيف مجلد صور الإدارة القديمة", + "You are already using a custom theme. Theming app settings might be overwritten by that." : "أنت تستخدم الآن ثيمة مُخصّصة. إعدادات تطبيق الثيمات يُمكن أن يتم الكتابة عليها بسبب ذلك. ", "Theming" : "تخصيص القالب", + "Appearance and accessibility" : "المظهر appearance، و سهولة الوصول accessibility", + "Dark theme with high contrast mode" : "ثيمة داكنة dark مع وضعية تباين عالي", + "Enable dark high contrast mode" : "فَعِّل وضعية التباين العالي الدّاكن", + "Similar to the high contrast mode, but with dark colours." : "مُماثلة لوضعية التباين العالي، لكن بألوان داكنة", "Dark theme" : "مظهر داكن", "Enable dark theme" : "تفعيل المظهر الداكن", + "A dark theme to ease your eyes by reducing the overall luminosity and brightness." : "ثيمة داكنة تريح عينيك من خلال تقليل اللمعان والسطوع بشكل عام", + "System default theme" : "ثيمة النظام التلقائية", + "Enable the system default" : "تمكين ثيمة النظام التلقائية", + "Using the default system appearance." : "إستخدام المظهر التلقائي للنظام", "Dyslexia font" : "خط خاص بالمصابين بعسر القراءة", "Enable dyslexia font" : "تفعيل الخط الخاص بالمصابين بعسر القراءة", "OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "OpenDyslexic خط مجاني مصمم للمساعدة على تفادي الأخطاء لمن يعانون من عسر القراءة.", "High contrast mode" : "وضع تباين الألوان العالي", "Enable high contrast mode" : "تفعيل وضع تباين الألوان العالي", "A high contrast mode to ease your navigation. Visual quality will be reduced but clarity will be increased." : "وضع تباين الألوان العالي يساعدك على التنقل في الموقع بسهولة. الجودة المرئية سوف تقل بينما الوضوح سيزداد.", + "Light theme" : "ثيمة فاتحة light", + "Enable the default light theme" : "مكّن الثيمة التلقائية الفاتحة", + "The default light appearance." : "المظهر الفاتح التلقائي", + "Legal notice" : "ملاحظة قانونية", "Privacy policy" : "سياسة الخصوصية", + "Adjust the Nextcloud theme" : "تضبيط ثيمة نكست كلاود", "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "السمات تجعل من الممكن بسهولة تخصيص الشكل والمظهر لنموذجك ودعم العملاء. سيكون هذا مرئيا لجميع المستخدمين.", "Advanced options" : "الخيارات المتقدمة", + "Install the ImageMagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "قم بتثبيت ImageMagick و التي هي امتداد لـ PHP مع دعم صور SVG لإنشاء الرموز المفضلة تلقائيًا بناءً على الشعار واللون اللذيْن تمّ تحميلهما.", "Name" : "الاسم", "Web link" : "رابط الويب", "a safe home for all your data" : "مكان آمن لكل معلوماتك", @@ -32,24 +55,51 @@ "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" : "إعدادات المستخدم", + "Disable user theming" : "إيقاف تصرف المستخدم في الثيمات", + "Although you can select and customize your instance, users can change their background and colors. If you want to enforce your customization, you can toggle this on." : "على الرغم من أنه يمكنك تحديد وتخصيص الخادوم الخاص بك، فإنه يمكن للمستخدمين تغيير صور خلفيات شاشاتهم وألوانهم. إذا كنت تريد فرض التخصيص الخاص بك ، فيمكنك التبديل إلى هذا.", "Keyboard shortcuts" : "إختصارات لوحة المفاتيح", + "In some cases keyboard shortcuts can interfere 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." : "في بعض الحالات، يمكن أن تتداخل اختصارات لوحة المفاتيح مع أدوات تسهيل الوصول. للسماح بالتركيز على أداتك بشكل صحيح، يُمكنك تعطيل جميع اختصارات لوحة المفاتيح هنا. سيؤدي هذا أيضًا إلى تعطيل جميع الاختصارات المتاحة في التطبيقات.", + "Disable all keyboard shortcuts" : "إيقاف كل اختصارات لوحة المفاتيح", + "Background" : "خلفية الشاشة", + "Customization has been disabled by your administrator" : "التخصيص موقوف من قِبَل المُشرف", + "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}!", + "Custom background" : "خلفيّة مُخصّصة", + "Default background" : "الخلفية التلقائية", + "Change color" : "غيّر اللون", + "No background" : "لا خلفية", + "Select a background from your files" : "إختر خلفية من ملفاتك", + "Theme selection is enforced" : "تمّ فرض اختيار الثيمة", + "Select a custom color" : "إختر لوناً مُخصّصاً", "Reset to default" : "اعادة تعيين الافتراضيات", "Upload" : "تحميل", "Remove background image" : "إزالة صورة الخلفية", "Loading preview…" : "جار تحميل المعاينة ...", "Admin" : "ادارة", + "Error uploading the file" : "خطأ في تحميل الملف", + "Name cannot be empty" : "لا يمكن أن يكون الاسم فارغاً", + "Migrate and clean up admin theming images" : "رَحِّل و نَظِّف صور ثيمات المشرف", + "Failed to clean up the old admin theming images folder" : "تعذّر تنظيف مُجلّد صور ثيمات المشرف القديمة", + "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" : "الصورة التلقائية", "Custom color" : "لون خاص", "Plain background" : "خلفية سادة", "Insert from {productName}" : "اضف من {productName}", "Open documentation" : "فتح الدليل", - "Upload new login background" : "تحميل خلفية جديدة للدخول" + "https://…" : "https://…", + "Upload new login background" : "تحميل خلفية جديدة للدخول", + "Although you can select and customize your instance, users can change their background and colors. If you want to enforce your customization, you can check this box." : "على الرغم من أنه يمكنك تحديد وتخصيص الخادوم الخاص بك، فإنه يمكن للمستخدمين تغيير صور خلفيات شاشاتهم وألوانهم. إذا كنت ترغب في فرض التخصيص الخاص بك، يمكنك تحديد هذا المربع.", + "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "قم بتثبيت Imagemagick و الذي هو امتداد لـ PHP مع دعم صور SVG لإنشاء الرموز المفضلة تلقائيًا بناءً على الشعار واللون اللذين تم~ تحميلهما." },"pluralForm" :"nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;" }
\ No newline at end of file diff --git a/apps/theming/l10n/gl.js b/apps/theming/l10n/gl.js index bf644cdd984..2eaa984f832 100644 --- a/apps/theming/l10n/gl.js +++ b/apps/theming/l10n/gl.js @@ -10,7 +10,7 @@ OC.L10N.register( "The given privacy policy address is not a valid URL" : "O enderezo da directiva de privacidade indicado non é un URL válido", "The given slogan is too long" : "O lema indicado é longo de máis", "The given color is invalid" : "A cor indicada é incorrecta", - "Disable-user-theming should be true or false" : "Desactivar-a-temática-do-usuario debe ser verdadeiro ou falso", + "Disable-user-theming should be true or false" : "Disable-user-theming (desactivar o tema do usuario) debe ser verdadeiro ou falso", "Saved" : "Gardado", "The file was uploaded" : "O ficheiro foi enviado", "The uploaded file exceeds the upload_max_filesize directive in php.ini" : "O ficheiro enviado excede a directiva indicada por upload_max_filesize de php.ini", @@ -25,15 +25,15 @@ OC.L10N.register( "Failed to clean up the old administration image folder" : "Produciuse un erro ao limpar o antigo cartafol de administración de imaxes", "You are already using a custom theme. Theming app settings might be overwritten by that." : "Está a empregar un tema personalizado. Os axustes da aplicación de temas poden ser sobrescritos por el.", "Theming" : "Temas", - "Appearance and accessibility" : "Aspecto e accesibilidade", + "Appearance and accessibility" : "Aparencia e accesibilidade", "Dark theme with high contrast mode" : "Tema escuro con modo de alto contraste", - "Enable dark high contrast mode" : "Activa o modo escuro de alto contraste", - "Similar to the high contrast mode, but with dark colours." : "Similar ao modo de alto contraste, pero con cores escuras.", + "Enable dark high contrast mode" : "Activar o modo escuro de alto contraste", + "Similar to the high contrast mode, but with dark colours." : "Semellante ao modo de alto contraste, mais con cores escuras.", "Dark theme" : "Tema escuro", "Enable dark theme" : "Activar o tema escuro", - "A dark theme to ease your eyes by reducing the overall luminosity and brightness." : "Un tema escuro para aliviar os teus ollos reducindo a luminosidade e o brillo xerais.", + "A dark theme to ease your eyes by reducing the overall luminosity and brightness." : "Un tema escuro para aliviar os seus ollos reducindo a luminosidade e o brillo xerais.", "System default theme" : "Tema predeterminado do sistema", - "Enable the system default" : "Activa o predeterminado do sistema ", + "Enable the system default" : "Activar o predeterminado do sistema ", "Using the default system appearance." : "Usando a aparencia predeterminada do sistema.", "Dyslexia font" : "Tipo de letra para disléxicos", "Enable dyslexia font" : "Activar o tipo de letra para disléxicos", @@ -42,14 +42,14 @@ OC.L10N.register( "Enable high contrast mode" : "Activar o modo de alto contraste", "A high contrast mode to ease your navigation. Visual quality will be reduced but clarity will be increased." : "Un modo de alto contraste para facilitar a navegación. A calidade visual será reducida, mais a claridade aumentará.", "Light theme" : "Tema claro", - "Enable the default light theme" : "Activa o tema claro predeterminado", + "Enable the default light theme" : "Activar o tema claro predeterminado", "The default light appearance." : "A aparencia clara predeterminada.", "Legal notice" : "Aviso legal", "Privacy policy" : "Directiva de privacidade", - "Adjust the Nextcloud theme" : "Axustar o tema do Nextcloud", + "Adjust the Nextcloud theme" : "Axustar o tema de Nextcloud", "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "Os temas fan posíbel personalizar facilmente a aparencia da súa instancia e os clientes compatíbeis. Isto será visíbel para todos os usuarios.", "Advanced options" : "Opcións avanzadas", - "Install the ImageMagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Instala a extensión PHP ImageMagick con soporte para imaxes SVG para xerar automaticamente favicons baseados no logotipo e na cor cargados.", + "Install the ImageMagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Instalar a extensión PHP ImageMagick con compatibilidade con imaxes SVG para xerar automaticamente favicons baseados no logotipo e na cor cargados.", "Name" : "Nome", "Web link" : "Ligazón web", "a safe home for all your data" : "un lugar seguro para todos os seus datos", @@ -57,8 +57,8 @@ OC.L10N.register( "Color" : "Cor", "Logo" : "Logotipo", "Upload new logo" : "Enviar un novo logotipo", - "Background and login image" : "Imaxe de fondo e inicio de sesión", - "Upload new background and login image" : "Carga nova imaxe de fondo e inicio de sesión", + "Background and login image" : "Imaxe de fondo e acceso", + "Upload new background and login image" : "Carga unha nova imaxe de fondo e de acceso", "Legal notice link" : "Ligazón ao aviso legal", "Privacy policy link" : "Ligazón á directiva de privacidade", "Header logo" : "Logotipo da cabeceira", @@ -66,21 +66,21 @@ OC.L10N.register( "Favicon" : "Favicon", "Upload new favicon" : "Enviar un novo favicon", "User settings" : "Axustes de usuario", - "Disable user theming" : "Desactivar a temática do usuario", - "Although you can select and customize your instance, users can change their background and colors. If you want to enforce your customization, you can toggle this on." : "Aínda que pode seleccionar e personalizar a súa instancia, os usuarios poden cambiar o seu fondo e cores. Se queres aplicar a túa personalización, podes activar esta opción.", + "Disable user theming" : "Desactivar o tema do usuario", + "Although you can select and customize your instance, users can change their background and colors. If you want to enforce your customization, you can toggle this on." : "Aínda que pode seleccionar e personalizar a súa instancia, os usuarios poden cambiar o seu fondo e cores. Se quere forzar a súa personalización, pode activar esta opción.", "Keyboard shortcuts" : "Atallos de teclado", - "In some cases keyboard shortcuts can interfere 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." : "Nalgúns casos, os atallos de teclado poden interferir coas ferramentas de accesibilidade. Para poder centrarte na túa ferramenta correctamente, podes desactivar aquí todos os atallos de teclado. Isto tamén desactivará todos os atallos dispoñibles nas aplicacións.", - "Disable all keyboard shortcuts" : "Desactiva todos os atallos de teclado", + "In some cases keyboard shortcuts can interfere 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." : "Nalgúns casos, os atallos de teclado poden interferir coas ferramentas de accesibilidade. Para poder centrarse na súa ferramenta correctamente, pode desactivar aquí todos os atallos de teclado. Isto tamén desactivará todos os atallos dispoñíbeis nas aplicacións.", + "Disable all keyboard shortcuts" : "Desactivar todos os atallos de teclado", "Background" : "Fondo", - "Customization has been disabled by your administrator" : "O teu administrador desactivou a personalización", - "Set a custom background" : "Establece un fondo personalizado", + "Customization has been disabled by your administrator" : "O seu administrador desactivou a personalización", + "Set a custom background" : "Estabelecer 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." : "Para nós o acceso universal é moi importante. Seguimos os estándares web e comprobamos que todo poida ser utilizado sen rato e software de axuda como os lectores de pantalla. O noso obxectivo é ter cumprir ás {guidelines}Directrices de accesibilidade ao contido web{linkend} 2.1 a nivel AA, co tema de alto contraste incluso a 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}!" : "Se atopas algún problema, non dubides en informalo no {issuetracker}o noso rastreador de problemas{linkend}. E se queres participar, únete ao {designteam}noso equipo de deseño{linkend}!", + "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}!" : "Se atopa algúnha incidencia, non dubide en informalo no {issuetracker}noso seguidor de incidencias{linkend} E se quere involucrarse, únase ao {designteam}noso equipo de deseño {linkend}!", "Custom background" : "Fondo personalizado", "Default background" : "Fondo predeterminado", "Change color" : "Cambiar a cor", "No background" : "Sen fondo", - "Select a background from your files" : "Selecciona un fondo dende os teus ficheiros", + "Select a background from your files" : "Seleccione un fondo dende os seus ficheiros", "Theme selection is enforced" : "Aplicarase a selección do tema", "Select a custom color" : "Seleccione unha cor personalizada", "Reset to default" : "Restabelecer os valores predeterminados", @@ -88,11 +88,11 @@ OC.L10N.register( "Remove background image" : "Retirar a imaxe de fondo", "Loading preview…" : "Cargando a vista previa…", "Admin" : "Administración", - "Error uploading the file" : "Produciuse un erro ao cargar o ficheiro", + "Error uploading the file" : "Produciuse un erro ao enviar o ficheiro", "Name cannot be empty" : "O nome non pode estar baleiro", - "Migrate and clean up admin theming images" : "Migra e limpa imaxes de temas de administrador", + "Migrate and clean up admin theming images" : "Migración e limpeza de imaxes de temas de administrador", "Failed to clean up the old admin theming images folder" : "Produciuse un erro ao limpar o antigo cartafol de imaxes de temas do administrador", - "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." : "Nalgúns casos, os atallos de teclado poden interferir coas ferramentas de accesibilidade. Para poder centrarte na túa ferramenta correctamente, podes desactivar aquí todos os atallos de teclado. Isto tamén desactivará todos os atallos dispoñibles nas aplicacións.", + "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." : "Nalgúns casos, os atallos de teclado poden interferir coas ferramentas de accesibilidade. Para poder centrarse na súa ferramenta correctamente, pode desactivar aquí todos os atallos de teclado. Isto tamén desactivará todos os atallos dispoñíbeis nas aplicacións.", "Pick from Files" : "Escolla entre os ficheiros", "Default image" : "Imaxe predeterminada", "Custom color" : "Cor personalizada", @@ -101,7 +101,7 @@ OC.L10N.register( "Open documentation" : "Abrir a documentación", "https://…" : "https://…", "Upload new login background" : "Enviar unha nova imaxe de fondo", - "Although you can select and customize your instance, users can change their background and colors. If you want to enforce your customization, you can check this box." : "Aínda que pode seleccionar e personalizar a súa instancia, os usuarios poden cambiar o seu fondo e cores. Se queres aplicar a túa personalización, podes marcar esta caixa.", + "Although you can select and customize your instance, users can change their background and colors. If you want to enforce your customization, you can check this box." : "Aínda que pode seleccionar e personalizar a súa instancia, os usuarios poden cambiar o seu fondo e cores. Se quere forzar a súa personalización, pode marcar esta caixa.", "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Instale a extensión de PHP Imagemagick con compatibilidade con imaxes SVG para xerar automáticamente faviconos baseados no logotipo e cor enviados." }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/theming/l10n/gl.json b/apps/theming/l10n/gl.json index fe32d01281e..bfed56f4046 100644 --- a/apps/theming/l10n/gl.json +++ b/apps/theming/l10n/gl.json @@ -8,7 +8,7 @@ "The given privacy policy address is not a valid URL" : "O enderezo da directiva de privacidade indicado non é un URL válido", "The given slogan is too long" : "O lema indicado é longo de máis", "The given color is invalid" : "A cor indicada é incorrecta", - "Disable-user-theming should be true or false" : "Desactivar-a-temática-do-usuario debe ser verdadeiro ou falso", + "Disable-user-theming should be true or false" : "Disable-user-theming (desactivar o tema do usuario) debe ser verdadeiro ou falso", "Saved" : "Gardado", "The file was uploaded" : "O ficheiro foi enviado", "The uploaded file exceeds the upload_max_filesize directive in php.ini" : "O ficheiro enviado excede a directiva indicada por upload_max_filesize de php.ini", @@ -23,15 +23,15 @@ "Failed to clean up the old administration image folder" : "Produciuse un erro ao limpar o antigo cartafol de administración de imaxes", "You are already using a custom theme. Theming app settings might be overwritten by that." : "Está a empregar un tema personalizado. Os axustes da aplicación de temas poden ser sobrescritos por el.", "Theming" : "Temas", - "Appearance and accessibility" : "Aspecto e accesibilidade", + "Appearance and accessibility" : "Aparencia e accesibilidade", "Dark theme with high contrast mode" : "Tema escuro con modo de alto contraste", - "Enable dark high contrast mode" : "Activa o modo escuro de alto contraste", - "Similar to the high contrast mode, but with dark colours." : "Similar ao modo de alto contraste, pero con cores escuras.", + "Enable dark high contrast mode" : "Activar o modo escuro de alto contraste", + "Similar to the high contrast mode, but with dark colours." : "Semellante ao modo de alto contraste, mais con cores escuras.", "Dark theme" : "Tema escuro", "Enable dark theme" : "Activar o tema escuro", - "A dark theme to ease your eyes by reducing the overall luminosity and brightness." : "Un tema escuro para aliviar os teus ollos reducindo a luminosidade e o brillo xerais.", + "A dark theme to ease your eyes by reducing the overall luminosity and brightness." : "Un tema escuro para aliviar os seus ollos reducindo a luminosidade e o brillo xerais.", "System default theme" : "Tema predeterminado do sistema", - "Enable the system default" : "Activa o predeterminado do sistema ", + "Enable the system default" : "Activar o predeterminado do sistema ", "Using the default system appearance." : "Usando a aparencia predeterminada do sistema.", "Dyslexia font" : "Tipo de letra para disléxicos", "Enable dyslexia font" : "Activar o tipo de letra para disléxicos", @@ -40,14 +40,14 @@ "Enable high contrast mode" : "Activar o modo de alto contraste", "A high contrast mode to ease your navigation. Visual quality will be reduced but clarity will be increased." : "Un modo de alto contraste para facilitar a navegación. A calidade visual será reducida, mais a claridade aumentará.", "Light theme" : "Tema claro", - "Enable the default light theme" : "Activa o tema claro predeterminado", + "Enable the default light theme" : "Activar o tema claro predeterminado", "The default light appearance." : "A aparencia clara predeterminada.", "Legal notice" : "Aviso legal", "Privacy policy" : "Directiva de privacidade", - "Adjust the Nextcloud theme" : "Axustar o tema do Nextcloud", + "Adjust the Nextcloud theme" : "Axustar o tema de Nextcloud", "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "Os temas fan posíbel personalizar facilmente a aparencia da súa instancia e os clientes compatíbeis. Isto será visíbel para todos os usuarios.", "Advanced options" : "Opcións avanzadas", - "Install the ImageMagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Instala a extensión PHP ImageMagick con soporte para imaxes SVG para xerar automaticamente favicons baseados no logotipo e na cor cargados.", + "Install the ImageMagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Instalar a extensión PHP ImageMagick con compatibilidade con imaxes SVG para xerar automaticamente favicons baseados no logotipo e na cor cargados.", "Name" : "Nome", "Web link" : "Ligazón web", "a safe home for all your data" : "un lugar seguro para todos os seus datos", @@ -55,8 +55,8 @@ "Color" : "Cor", "Logo" : "Logotipo", "Upload new logo" : "Enviar un novo logotipo", - "Background and login image" : "Imaxe de fondo e inicio de sesión", - "Upload new background and login image" : "Carga nova imaxe de fondo e inicio de sesión", + "Background and login image" : "Imaxe de fondo e acceso", + "Upload new background and login image" : "Carga unha nova imaxe de fondo e de acceso", "Legal notice link" : "Ligazón ao aviso legal", "Privacy policy link" : "Ligazón á directiva de privacidade", "Header logo" : "Logotipo da cabeceira", @@ -64,21 +64,21 @@ "Favicon" : "Favicon", "Upload new favicon" : "Enviar un novo favicon", "User settings" : "Axustes de usuario", - "Disable user theming" : "Desactivar a temática do usuario", - "Although you can select and customize your instance, users can change their background and colors. If you want to enforce your customization, you can toggle this on." : "Aínda que pode seleccionar e personalizar a súa instancia, os usuarios poden cambiar o seu fondo e cores. Se queres aplicar a túa personalización, podes activar esta opción.", + "Disable user theming" : "Desactivar o tema do usuario", + "Although you can select and customize your instance, users can change their background and colors. If you want to enforce your customization, you can toggle this on." : "Aínda que pode seleccionar e personalizar a súa instancia, os usuarios poden cambiar o seu fondo e cores. Se quere forzar a súa personalización, pode activar esta opción.", "Keyboard shortcuts" : "Atallos de teclado", - "In some cases keyboard shortcuts can interfere 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." : "Nalgúns casos, os atallos de teclado poden interferir coas ferramentas de accesibilidade. Para poder centrarte na túa ferramenta correctamente, podes desactivar aquí todos os atallos de teclado. Isto tamén desactivará todos os atallos dispoñibles nas aplicacións.", - "Disable all keyboard shortcuts" : "Desactiva todos os atallos de teclado", + "In some cases keyboard shortcuts can interfere 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." : "Nalgúns casos, os atallos de teclado poden interferir coas ferramentas de accesibilidade. Para poder centrarse na súa ferramenta correctamente, pode desactivar aquí todos os atallos de teclado. Isto tamén desactivará todos os atallos dispoñíbeis nas aplicacións.", + "Disable all keyboard shortcuts" : "Desactivar todos os atallos de teclado", "Background" : "Fondo", - "Customization has been disabled by your administrator" : "O teu administrador desactivou a personalización", - "Set a custom background" : "Establece un fondo personalizado", + "Customization has been disabled by your administrator" : "O seu administrador desactivou a personalización", + "Set a custom background" : "Estabelecer 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." : "Para nós o acceso universal é moi importante. Seguimos os estándares web e comprobamos que todo poida ser utilizado sen rato e software de axuda como os lectores de pantalla. O noso obxectivo é ter cumprir ás {guidelines}Directrices de accesibilidade ao contido web{linkend} 2.1 a nivel AA, co tema de alto contraste incluso a 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}!" : "Se atopas algún problema, non dubides en informalo no {issuetracker}o noso rastreador de problemas{linkend}. E se queres participar, únete ao {designteam}noso equipo de deseño{linkend}!", + "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}!" : "Se atopa algúnha incidencia, non dubide en informalo no {issuetracker}noso seguidor de incidencias{linkend} E se quere involucrarse, únase ao {designteam}noso equipo de deseño {linkend}!", "Custom background" : "Fondo personalizado", "Default background" : "Fondo predeterminado", "Change color" : "Cambiar a cor", "No background" : "Sen fondo", - "Select a background from your files" : "Selecciona un fondo dende os teus ficheiros", + "Select a background from your files" : "Seleccione un fondo dende os seus ficheiros", "Theme selection is enforced" : "Aplicarase a selección do tema", "Select a custom color" : "Seleccione unha cor personalizada", "Reset to default" : "Restabelecer os valores predeterminados", @@ -86,11 +86,11 @@ "Remove background image" : "Retirar a imaxe de fondo", "Loading preview…" : "Cargando a vista previa…", "Admin" : "Administración", - "Error uploading the file" : "Produciuse un erro ao cargar o ficheiro", + "Error uploading the file" : "Produciuse un erro ao enviar o ficheiro", "Name cannot be empty" : "O nome non pode estar baleiro", - "Migrate and clean up admin theming images" : "Migra e limpa imaxes de temas de administrador", + "Migrate and clean up admin theming images" : "Migración e limpeza de imaxes de temas de administrador", "Failed to clean up the old admin theming images folder" : "Produciuse un erro ao limpar o antigo cartafol de imaxes de temas do administrador", - "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." : "Nalgúns casos, os atallos de teclado poden interferir coas ferramentas de accesibilidade. Para poder centrarte na túa ferramenta correctamente, podes desactivar aquí todos os atallos de teclado. Isto tamén desactivará todos os atallos dispoñibles nas aplicacións.", + "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." : "Nalgúns casos, os atallos de teclado poden interferir coas ferramentas de accesibilidade. Para poder centrarse na súa ferramenta correctamente, pode desactivar aquí todos os atallos de teclado. Isto tamén desactivará todos os atallos dispoñíbeis nas aplicacións.", "Pick from Files" : "Escolla entre os ficheiros", "Default image" : "Imaxe predeterminada", "Custom color" : "Cor personalizada", @@ -99,7 +99,7 @@ "Open documentation" : "Abrir a documentación", "https://…" : "https://…", "Upload new login background" : "Enviar unha nova imaxe de fondo", - "Although you can select and customize your instance, users can change their background and colors. If you want to enforce your customization, you can check this box." : "Aínda que pode seleccionar e personalizar a súa instancia, os usuarios poden cambiar o seu fondo e cores. Se queres aplicar a túa personalización, podes marcar esta caixa.", + "Although you can select and customize your instance, users can change their background and colors. If you want to enforce your customization, you can check this box." : "Aínda que pode seleccionar e personalizar a súa instancia, os usuarios poden cambiar o seu fondo e cores. Se quere forzar a súa personalización, pode marcar esta caixa.", "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Instale a extensión de PHP Imagemagick con compatibilidade con imaxes SVG para xerar automáticamente faviconos baseados no logotipo e cor enviados." },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/theming/l10n/ko.js b/apps/theming/l10n/ko.js index 3aac6e95760..7c8ae6b97a5 100644 --- a/apps/theming/l10n/ko.js +++ b/apps/theming/l10n/ko.js @@ -57,7 +57,7 @@ OC.L10N.register( "Disable all keyboard shortcuts" : "모든 키보드 단축키 비활성화", "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 수준의 고대비 테마에서 준수하기 위해 노력하고 있습니다. ", + "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" : "색깔 바꾸기", "Theme selection is enforced" : "테마가 강제로 선택됨", diff --git a/apps/theming/l10n/ko.json b/apps/theming/l10n/ko.json index a1dfc51f901..81c1f5f32a9 100644 --- a/apps/theming/l10n/ko.json +++ b/apps/theming/l10n/ko.json @@ -55,7 +55,7 @@ "Disable all keyboard shortcuts" : "모든 키보드 단축키 비활성화", "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 수준의 고대비 테마에서 준수하기 위해 노력하고 있습니다. ", + "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" : "색깔 바꾸기", "Theme selection is enforced" : "테마가 강제로 선택됨", diff --git a/apps/theming/l10n/zh_CN.js b/apps/theming/l10n/zh_CN.js index a4086a91a3a..7d4cd045637 100644 --- a/apps/theming/l10n/zh_CN.js +++ b/apps/theming/l10n/zh_CN.js @@ -3,13 +3,14 @@ OC.L10N.register( { "The given name is too long" : "输入的名称过长", "The given web address is too long" : "输入的地址过长", - "The given web address is not a valid URL" : "提供的web地址不是一个合法的URL", + "The given web address is not a valid URL" : "提供的 web 地址不是一个合法的 URL", "The given legal notice address is too long" : "提供的法律通告地址太长", - "The given legal notice address is not a valid URL" : "提供的法律通告地址不是一个合法的URL", + "The given legal notice address is not a valid URL" : "提供的法律通告地址不是一个合法的 URL", "The given privacy policy address is too long" : "提供的隐私政策地址太长", - "The given privacy policy address is not a valid URL" : "提供的隐私政策地址不是一个合法的URL", + "The given privacy policy address is not a valid URL" : "提供的隐私政策地址不是一个合法的 URL", "The given slogan is too long" : "输入的标语过长", "The given color is invalid" : "提供的颜色无效", + "Disable-user-theming should be true or false" : "Disable-user-theming 应该是 true 或者 false", "Saved" : "已保存", "The file was uploaded" : "文件已上传", "The uploaded file exceeds the upload_max_filesize directive in php.ini" : "上传的文件超出了 php.ini 中的 upload_max_filesize 的值", @@ -20,11 +21,13 @@ OC.L10N.register( "Could not write file to disk" : "无法写入文件到磁盘", "A PHP extension stopped the file upload" : "PHP 扩展停止了文件上传。", "No file uploaded" : "文件没有上传", + "Failed to clean up the old administration theming images folder" : "无法清除旧的管理主题图片文件夹", + "Failed to clean up the old administration image folder" : "无法清除旧的管理图片文件夹", "You are already using a custom theme. Theming app settings might be overwritten by that." : "你已经在使用一个自定义的主题。主题应用的设置可能会被其覆盖。", "Theming" : "主题", "Appearance and accessibility" : "外观和可访问性", "Dark theme with high contrast mode" : "高对比度深色主题", - "Enable dark high contrast mode" : "使用深色高对比度模式", + "Enable dark high contrast mode" : "使用高对比度深色模式", "Similar to the high contrast mode, but with dark colours." : "类似高对比度模式,但是使用深色色调。", "Dark theme" : "深色主题", "Enable dark theme" : "启用深色主题", @@ -34,7 +37,7 @@ OC.L10N.register( "Using the default system appearance." : "使用系统默认外观。", "Dyslexia font" : "阅读障碍字体", "Enable dyslexia font" : "启用阅读障碍字体", - "OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "OpenDyslexic是一款免费的字样/字体,这款字体的设计目的是缓解由阅读障碍引起的一些常见阅读错误。", + "OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "OpenDyslexic 是一款免费的字样/字体,这款字体的设计目的是缓解由阅读障碍引起的一些常见阅读错误。", "High contrast mode" : "高对比度模式", "Enable high contrast mode" : "启用高对比度模式", "A high contrast mode to ease your navigation. Visual quality will be reduced but clarity will be increased." : "使用高对比度模式。图像质量会下降,但清晰度会提升。", @@ -72,16 +75,22 @@ OC.L10N.register( "Customization has been disabled by your administrator" : "管理员已禁用自定义功能", "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} Web 内容可访问性指南 {linkend} 2.1 中的 AA 级别,并另外通过高对比度主题达到 AAA 级别。", + "Custom background" : "自定义背景", + "Default background" : "默认背景", "Change color" : "更改颜色", + "No background" : "没有背景", + "Select a background from your files" : "从文件中选择背景", "Theme selection is enforced" : "主题由管理员指定", "Select a custom color" : "自定义颜色", "Reset to default" : "重置为默认设置", "Upload" : "上传", "Remove background image" : "删除背景图片", - "Loading preview…" : "正在加载预览...", + "Loading preview…" : "正在加载预览 ...", "Admin" : "管理", "Error uploading the file" : "上传文件时出错", "Name cannot be empty" : "名称不能为空", + "Migrate and clean up admin theming images" : "迁移并管理主题图像", + "Failed to clean up the old admin theming images folder" : "无法清除旧的管理主题图片文件夹", "Pick from Files" : "从文件中挑选", "Default image" : "默认图片", "Custom color" : "自定义颜色", @@ -90,6 +99,7 @@ OC.L10N.register( "Open documentation" : "打开文档", "https://…" : "https://…", "Upload new login background" : "上传新登录背景", + "Although you can select and customize your instance, users can change their background and colors. If you want to enforce your customization, you can check this box." : "即使您可以选择并自定义您的实例,用户仍然可以更改他们的背景和颜色。如果您希望强制执行您的设置,请勾选此复选框。", "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "安装支持 SVG 图像的 PHP 扩展 Imagemagick,以根据上传的 logo 和颜色自动生成图标。" }, "nplurals=1; plural=0;"); diff --git a/apps/theming/l10n/zh_CN.json b/apps/theming/l10n/zh_CN.json index 63ef3f2cfe1..89ea1600a9d 100644 --- a/apps/theming/l10n/zh_CN.json +++ b/apps/theming/l10n/zh_CN.json @@ -1,13 +1,14 @@ { "translations": { "The given name is too long" : "输入的名称过长", "The given web address is too long" : "输入的地址过长", - "The given web address is not a valid URL" : "提供的web地址不是一个合法的URL", + "The given web address is not a valid URL" : "提供的 web 地址不是一个合法的 URL", "The given legal notice address is too long" : "提供的法律通告地址太长", - "The given legal notice address is not a valid URL" : "提供的法律通告地址不是一个合法的URL", + "The given legal notice address is not a valid URL" : "提供的法律通告地址不是一个合法的 URL", "The given privacy policy address is too long" : "提供的隐私政策地址太长", - "The given privacy policy address is not a valid URL" : "提供的隐私政策地址不是一个合法的URL", + "The given privacy policy address is not a valid URL" : "提供的隐私政策地址不是一个合法的 URL", "The given slogan is too long" : "输入的标语过长", "The given color is invalid" : "提供的颜色无效", + "Disable-user-theming should be true or false" : "Disable-user-theming 应该是 true 或者 false", "Saved" : "已保存", "The file was uploaded" : "文件已上传", "The uploaded file exceeds the upload_max_filesize directive in php.ini" : "上传的文件超出了 php.ini 中的 upload_max_filesize 的值", @@ -18,11 +19,13 @@ "Could not write file to disk" : "无法写入文件到磁盘", "A PHP extension stopped the file upload" : "PHP 扩展停止了文件上传。", "No file uploaded" : "文件没有上传", + "Failed to clean up the old administration theming images folder" : "无法清除旧的管理主题图片文件夹", + "Failed to clean up the old administration image folder" : "无法清除旧的管理图片文件夹", "You are already using a custom theme. Theming app settings might be overwritten by that." : "你已经在使用一个自定义的主题。主题应用的设置可能会被其覆盖。", "Theming" : "主题", "Appearance and accessibility" : "外观和可访问性", "Dark theme with high contrast mode" : "高对比度深色主题", - "Enable dark high contrast mode" : "使用深色高对比度模式", + "Enable dark high contrast mode" : "使用高对比度深色模式", "Similar to the high contrast mode, but with dark colours." : "类似高对比度模式,但是使用深色色调。", "Dark theme" : "深色主题", "Enable dark theme" : "启用深色主题", @@ -32,7 +35,7 @@ "Using the default system appearance." : "使用系统默认外观。", "Dyslexia font" : "阅读障碍字体", "Enable dyslexia font" : "启用阅读障碍字体", - "OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "OpenDyslexic是一款免费的字样/字体,这款字体的设计目的是缓解由阅读障碍引起的一些常见阅读错误。", + "OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "OpenDyslexic 是一款免费的字样/字体,这款字体的设计目的是缓解由阅读障碍引起的一些常见阅读错误。", "High contrast mode" : "高对比度模式", "Enable high contrast mode" : "启用高对比度模式", "A high contrast mode to ease your navigation. Visual quality will be reduced but clarity will be increased." : "使用高对比度模式。图像质量会下降,但清晰度会提升。", @@ -70,16 +73,22 @@ "Customization has been disabled by your administrator" : "管理员已禁用自定义功能", "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} Web 内容可访问性指南 {linkend} 2.1 中的 AA 级别,并另外通过高对比度主题达到 AAA 级别。", + "Custom background" : "自定义背景", + "Default background" : "默认背景", "Change color" : "更改颜色", + "No background" : "没有背景", + "Select a background from your files" : "从文件中选择背景", "Theme selection is enforced" : "主题由管理员指定", "Select a custom color" : "自定义颜色", "Reset to default" : "重置为默认设置", "Upload" : "上传", "Remove background image" : "删除背景图片", - "Loading preview…" : "正在加载预览...", + "Loading preview…" : "正在加载预览 ...", "Admin" : "管理", "Error uploading the file" : "上传文件时出错", "Name cannot be empty" : "名称不能为空", + "Migrate and clean up admin theming images" : "迁移并管理主题图像", + "Failed to clean up the old admin theming images folder" : "无法清除旧的管理主题图片文件夹", "Pick from Files" : "从文件中挑选", "Default image" : "默认图片", "Custom color" : "自定义颜色", @@ -88,6 +97,7 @@ "Open documentation" : "打开文档", "https://…" : "https://…", "Upload new login background" : "上传新登录背景", + "Although you can select and customize your instance, users can change their background and colors. If you want to enforce your customization, you can check this box." : "即使您可以选择并自定义您的实例,用户仍然可以更改他们的背景和颜色。如果您希望强制执行您的设置,请勾选此复选框。", "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "安装支持 SVG 图像的 PHP 扩展 Imagemagick,以根据上传的 logo 和颜色自动生成图标。" },"pluralForm" :"nplurals=1; plural=0;" }
\ No newline at end of file diff --git a/apps/theming/lib/Controller/IconController.php b/apps/theming/lib/Controller/IconController.php index 08ee71ac660..1b16293a7f3 100644 --- a/apps/theming/lib/Controller/IconController.php +++ b/apps/theming/lib/Controller/IconController.php @@ -120,14 +120,15 @@ class IconController extends Controller { } catch (NotFoundException $e) { } if ($iconFile === null && $this->imageManager->shouldReplaceIcons()) { + $color = $this->themingDefaults->getColorPrimary(); try { - $iconFile = $this->imageManager->getCachedImage('favIcon-' . $app); + $iconFile = $this->imageManager->getCachedImage('favIcon-' . $app . $color); } catch (NotFoundException $exception) { $icon = $this->iconBuilder->getFavicon($app); if ($icon === false || $icon === '') { return new NotFoundResponse(); } - $iconFile = $this->imageManager->setCachedImage('favIcon-' . $app, $icon); + $iconFile = $this->imageManager->setCachedImage('favIcon-' . $app . $color, $icon); } $response = new FileDisplayResponse($iconFile, Http::STATUS_OK, ['Content-Type' => 'image/x-icon']); } @@ -157,14 +158,15 @@ class IconController extends Controller { } catch (NotFoundException $e) { } if ($this->imageManager->shouldReplaceIcons()) { + $color = $this->themingDefaults->getColorPrimary(); try { - $iconFile = $this->imageManager->getCachedImage('touchIcon-' . $app); + $iconFile = $this->imageManager->getCachedImage('touchIcon-' . $app . $color); } catch (NotFoundException $exception) { $icon = $this->iconBuilder->getTouchIcon($app); if ($icon === false || $icon === '') { return new NotFoundResponse(); } - $iconFile = $this->imageManager->setCachedImage('touchIcon-' . $app, $icon); + $iconFile = $this->imageManager->setCachedImage('touchIcon-' . $app . $color, $icon); } $response = new FileDisplayResponse($iconFile, Http::STATUS_OK, ['Content-Type' => 'image/png']); } diff --git a/apps/theming/lib/ImageManager.php b/apps/theming/lib/ImageManager.php index 87123a6f7c9..f609e5ef9d4 100644 --- a/apps/theming/lib/ImageManager.php +++ b/apps/theming/lib/ImageManager.php @@ -240,7 +240,7 @@ class ImageManager { $supportedFormats = $this->getSupportedUploadImageFormats($key); $detectedMimeType = mime_content_type($tmpFile); if (!in_array($detectedMimeType, $supportedFormats, true)) { - throw new \Exception('Unsupported image type'); + throw new \Exception('Unsupported image type: ' . $detectedMimeType); } if ($key === 'background' && $this->shouldOptimizeBackgroundImage($detectedMimeType, filesize($tmpFile))) { diff --git a/apps/theming/tests/ImageManagerTest.php b/apps/theming/tests/ImageManagerTest.php index 22432a00103..e0e00615edb 100644 --- a/apps/theming/tests/ImageManagerTest.php +++ b/apps/theming/tests/ImageManagerTest.php @@ -390,4 +390,30 @@ class ImageManagerTest extends TestCase { $this->imageManager->updateImage($key, $tmpFile); } + + public function testUnsupportedImageType(): void { + $this->expectException(\Exception::class); + $this->expectExceptionMessage('Unsupported image type: text/plain'); + + $file = $this->createMock(ISimpleFile::class); + $folder = $this->createMock(ISimpleFolder::class); + $oldFile = $this->createMock(ISimpleFile::class); + + $folder->expects($this->any()) + ->method('getFile') + ->willReturn($oldFile); + + $this->rootFolder + ->expects($this->any()) + ->method('getFolder') + ->with('images') + ->willReturn($folder); + + $folder->expects($this->once()) + ->method('newFile') + ->with('favicon') + ->willReturn($file); + + $this->imageManager->updateImage('favicon', __DIR__ . '/../../../tests/data/lorem.txt'); + } } diff --git a/apps/twofactor_backupcodes/l10n/ar.js b/apps/twofactor_backupcodes/l10n/ar.js new file mode 100644 index 00000000000..2bbe98e3368 --- /dev/null +++ b/apps/twofactor_backupcodes/l10n/ar.js @@ -0,0 +1,23 @@ +OC.L10N.register( + "twofactor_backupcodes", + { + "You created two-factor backup codes for your account" : "لقد قمت بتوليد الأكواد الاحتياطية للدخول المُثنّى لحسابك", + "Second-factor backup codes" : "الأكواد الاحتياطية للعامل الثاني في الدخول المُثنّى", + "Generate backup codes" : "توليد رموز الاسترجاع الاحتياطية", + "You enabled two-factor authentication but did not generate backup codes yet. They are needed to restore access to your account in case you lose your second factor." : "لقد قمت بتمكين التحقّق المثنى من الهوية لكنك لم تقم بتوليد الأكواد الاحتياطية بعد. ستحتاج هذه الأكواد لاسترجاع حق الدخول لحسابك إذا ما ضاع عاملك الثاني في الدخول.", + "Backup code" : "الرمز الاحتياطي", + "Use backup code" : "إستخدم الرمز الإحتياطي", + "Two factor backup codes" : "الأكواد الاحتياطية للدّخول المُثنّى", + "A two-factor auth backup codes provider" : "مُوفّر الأكواد الاحتياطية للتحقّق المُثنّى من الهويّة", + "Backup codes have been generated. {used} of {total} codes have been used." : "تمّ توليد الأكواد الاحتياطية. {used} من {total} تمّ استخدامها.", + "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later" : "هذه هي الأكواد الاحتياطية. رجاءً إحفظها أو إطبعها حيث أنك لن تستطيع قراءتها مجدّداً في المستقبل", + "Save backup codes" : "الإحتفاظ بالرموز الإحتياطية", + "Print backup codes" : "طباعة الرموز الإحتياطية", + "Regenerate backup codes" : "إعادة توليد رموز الإسترجاع الإحتياطية", + "If you regenerate backup codes, you automatically invalidate old codes." : "عندما تقوم بتوليد أكواد احتياطية جديدة، فإن الأكواد القديمة تفقد صلاحيتها تلقائيّتاً.", + "An error occurred while generating your backup codes" : "حدث خطأ عند توليد أكوادك الاحتياطية", + "{name} backup codes" : "{name} أكواد احتياطية", + "Use one of the backup codes you saved when setting up two-factor authentication." : "استخدم واحداً من الأكواد الاحتياطية التي سبق و أن خزنتها عند تجهيز إعدادات التحقّق المُثنّى من الهويّة.", + "Submit" : "إرسال " +}, +"nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;"); diff --git a/apps/twofactor_backupcodes/l10n/ar.json b/apps/twofactor_backupcodes/l10n/ar.json new file mode 100644 index 00000000000..cdea70491a6 --- /dev/null +++ b/apps/twofactor_backupcodes/l10n/ar.json @@ -0,0 +1,21 @@ +{ "translations": { + "You created two-factor backup codes for your account" : "لقد قمت بتوليد الأكواد الاحتياطية للدخول المُثنّى لحسابك", + "Second-factor backup codes" : "الأكواد الاحتياطية للعامل الثاني في الدخول المُثنّى", + "Generate backup codes" : "توليد رموز الاسترجاع الاحتياطية", + "You enabled two-factor authentication but did not generate backup codes yet. They are needed to restore access to your account in case you lose your second factor." : "لقد قمت بتمكين التحقّق المثنى من الهوية لكنك لم تقم بتوليد الأكواد الاحتياطية بعد. ستحتاج هذه الأكواد لاسترجاع حق الدخول لحسابك إذا ما ضاع عاملك الثاني في الدخول.", + "Backup code" : "الرمز الاحتياطي", + "Use backup code" : "إستخدم الرمز الإحتياطي", + "Two factor backup codes" : "الأكواد الاحتياطية للدّخول المُثنّى", + "A two-factor auth backup codes provider" : "مُوفّر الأكواد الاحتياطية للتحقّق المُثنّى من الهويّة", + "Backup codes have been generated. {used} of {total} codes have been used." : "تمّ توليد الأكواد الاحتياطية. {used} من {total} تمّ استخدامها.", + "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later" : "هذه هي الأكواد الاحتياطية. رجاءً إحفظها أو إطبعها حيث أنك لن تستطيع قراءتها مجدّداً في المستقبل", + "Save backup codes" : "الإحتفاظ بالرموز الإحتياطية", + "Print backup codes" : "طباعة الرموز الإحتياطية", + "Regenerate backup codes" : "إعادة توليد رموز الإسترجاع الإحتياطية", + "If you regenerate backup codes, you automatically invalidate old codes." : "عندما تقوم بتوليد أكواد احتياطية جديدة، فإن الأكواد القديمة تفقد صلاحيتها تلقائيّتاً.", + "An error occurred while generating your backup codes" : "حدث خطأ عند توليد أكوادك الاحتياطية", + "{name} backup codes" : "{name} أكواد احتياطية", + "Use one of the backup codes you saved when setting up two-factor authentication." : "استخدم واحداً من الأكواد الاحتياطية التي سبق و أن خزنتها عند تجهيز إعدادات التحقّق المُثنّى من الهويّة.", + "Submit" : "إرسال " +},"pluralForm" :"nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;" +}
\ No newline at end of file diff --git a/apps/twofactor_backupcodes/l10n/et_EE.js b/apps/twofactor_backupcodes/l10n/et_EE.js new file mode 100644 index 00000000000..533e2bd9aba --- /dev/null +++ b/apps/twofactor_backupcodes/l10n/et_EE.js @@ -0,0 +1,23 @@ +OC.L10N.register( + "twofactor_backupcodes", + { + "You created two-factor backup codes for your account" : "Sa lõid oma konto jaoks kaheastmelise autentimise varukoodid", + "Second-factor backup codes" : "Kaheastmelise autentimise varukoodid", + "Generate backup codes" : "Genereeri varukoodid", + "You enabled two-factor authentication but did not generate backup codes yet. They are needed to restore access to your account in case you lose your second factor." : "Sa lülitasid sisse kaheastmelise autentimise, aga pole veel varukoode genereerinud. Neid on vaja kontole ligipääsemiseks, kui peaksid oma teise autentimisfaktori kaotama.", + "Backup code" : "Varukood", + "Use backup code" : "Kasuta varukoodi", + "Two factor backup codes" : "Kaheastmelise autentimise varukoodid", + "A two-factor auth backup codes provider" : "Kaheastmelise autentimise varukoodide pakkuja", + "Backup codes have been generated. {used} of {total} codes have been used." : "Varukoodid genereeritud. {used} koodi {total}-st on kasutatud.", + "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later" : "Need on su varukoodid. Palun salvesta ja/või trüki need välja, sest rohkem sa neid vaadata ei saa.", + "Save backup codes" : "Salvesta varukoodid", + "Print backup codes" : "Trüki varukoodid", + "Regenerate backup codes" : "Genereeri varukoodid uuesti", + "If you regenerate backup codes, you automatically invalidate old codes." : "Kui genereerid varukoodid uuesti, muudad vanad koodid automaatselt kehtetuks.", + "An error occurred while generating your backup codes" : "Varukoodide genereerimisel tekkis tõrge", + "{name} backup codes" : "{name} varukoodid", + "Use one of the backup codes you saved when setting up two-factor authentication." : "Kasuta üht kaheastmelise autentimise seadistamisel salvestatud varukoodidest.", + "Submit" : "Saada" +}, +"nplurals=2; plural=(n != 1);"); diff --git a/apps/twofactor_backupcodes/l10n/et_EE.json b/apps/twofactor_backupcodes/l10n/et_EE.json new file mode 100644 index 00000000000..56f17564b41 --- /dev/null +++ b/apps/twofactor_backupcodes/l10n/et_EE.json @@ -0,0 +1,21 @@ +{ "translations": { + "You created two-factor backup codes for your account" : "Sa lõid oma konto jaoks kaheastmelise autentimise varukoodid", + "Second-factor backup codes" : "Kaheastmelise autentimise varukoodid", + "Generate backup codes" : "Genereeri varukoodid", + "You enabled two-factor authentication but did not generate backup codes yet. They are needed to restore access to your account in case you lose your second factor." : "Sa lülitasid sisse kaheastmelise autentimise, aga pole veel varukoode genereerinud. Neid on vaja kontole ligipääsemiseks, kui peaksid oma teise autentimisfaktori kaotama.", + "Backup code" : "Varukood", + "Use backup code" : "Kasuta varukoodi", + "Two factor backup codes" : "Kaheastmelise autentimise varukoodid", + "A two-factor auth backup codes provider" : "Kaheastmelise autentimise varukoodide pakkuja", + "Backup codes have been generated. {used} of {total} codes have been used." : "Varukoodid genereeritud. {used} koodi {total}-st on kasutatud.", + "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later" : "Need on su varukoodid. Palun salvesta ja/või trüki need välja, sest rohkem sa neid vaadata ei saa.", + "Save backup codes" : "Salvesta varukoodid", + "Print backup codes" : "Trüki varukoodid", + "Regenerate backup codes" : "Genereeri varukoodid uuesti", + "If you regenerate backup codes, you automatically invalidate old codes." : "Kui genereerid varukoodid uuesti, muudad vanad koodid automaatselt kehtetuks.", + "An error occurred while generating your backup codes" : "Varukoodide genereerimisel tekkis tõrge", + "{name} backup codes" : "{name} varukoodid", + "Use one of the backup codes you saved when setting up two-factor authentication." : "Kasuta üht kaheastmelise autentimise seadistamisel salvestatud varukoodidest.", + "Submit" : "Saada" +},"pluralForm" :"nplurals=2; plural=(n != 1);" +}
\ No newline at end of file diff --git a/apps/twofactor_backupcodes/l10n/gl.js b/apps/twofactor_backupcodes/l10n/gl.js index 6f01f163ac0..50588af0e58 100644 --- a/apps/twofactor_backupcodes/l10n/gl.js +++ b/apps/twofactor_backupcodes/l10n/gl.js @@ -1,23 +1,23 @@ OC.L10N.register( "twofactor_backupcodes", { - "You created two-factor backup codes for your account" : "Creou códigos de seguridade de dous factores para a súa conta", - "Second-factor backup codes" : "Códigos de seguridade do segundo factor", - "Generate backup codes" : "Xerar códigos de seguridade", - "You enabled two-factor authentication but did not generate backup codes yet. They are needed to restore access to your account in case you lose your second factor." : "Activou a autenticación de dous factores mais aínda non xerou os códigos de copia de seguridade. Necesítanse para restaurar o acceso á súa conta no caso de perder o segundo factor.", - "Backup code" : "Código de seguridade", - "Use backup code" : "Usar código de seguridade", - "Two factor backup codes" : "Códigos de seguridade de dous factores", - "A two-factor auth backup codes provider" : "Un provedor de códigos de seguridade para a autenticación de dous factores", - "Backup codes have been generated. {used} of {total} codes have been used." : "Os códigos de seguridade foron xerados. Usou {used} códigos de {total}.", - "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later" : "Estes son os seus códigos de seguridade. Gárdeos e/ou imprímaos xa que non poderá volver lelos de novo.", - "Save backup codes" : "Gardar os códigos de seguridade", - "Print backup codes" : "Imprimir os códigos de seguridade", - "Regenerate backup codes" : "Rexenerar códigos de seguridade", - "If you regenerate backup codes, you automatically invalidate old codes." : "Se rexenera os códigos de seguridade, automaticamente invalidara os antigos códigos.", - "An error occurred while generating your backup codes" : "Produciuse un erro ao rexenerar os seus códigos de seguridade", - "{name} backup codes" : "{name} códigos de seguridade", - "Use one of the backup codes you saved when setting up two-factor authentication." : "Use un dos códigos de seguridade que gardou cuando axustou a autenticación de dous factores.", + "You created two-factor backup codes for your account" : "Creou códigos de recuperación de dous factores para a súa conta", + "Second-factor backup codes" : "Códigos de recuperación do segundo factor", + "Generate backup codes" : "Xerar códigos de recuperación", + "You enabled two-factor authentication but did not generate backup codes yet. They are needed to restore access to your account in case you lose your second factor." : "Activou a autenticación de dous factores mais aínda non xerou os códigos de recuperación. Necesítanse para restaurar o acceso á súa conta no caso de perder o segundo factor.", + "Backup code" : "Código de recuperación", + "Use backup code" : "Usar código de recuperación", + "Two factor backup codes" : "Códigos de recuperación de dous factores", + "A two-factor auth backup codes provider" : "Un provedor de códigos de recuperación para a autenticación de dous factores", + "Backup codes have been generated. {used} of {total} codes have been used." : "Xeraronse os códigos de recuperación. Usou {used} códigos de {total}.", + "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later" : "Estes son os seus códigos de recuperación. Gárdeos e/ou imprímaos xa que non poderá volver lelos de novo.", + "Save backup codes" : "Gardar os códigos de recuperación", + "Print backup codes" : "Imprimir os códigos de recuperación", + "Regenerate backup codes" : "Volver xerar códigos de recuperación", + "If you regenerate backup codes, you automatically invalidate old codes." : "Se volve xerar os códigos de recuperación, automaticamente invalidara os antigos códigos.", + "An error occurred while generating your backup codes" : "Produciuse un erro ao xerar os seus códigos de recuperación", + "{name} backup codes" : "Códigos de recuperación {name} ", + "Use one of the backup codes you saved when setting up two-factor authentication." : "Use un dos códigos de recuperación que gardou cando axustou a autenticación de dous factores.", "Submit" : "Enviar " }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/twofactor_backupcodes/l10n/gl.json b/apps/twofactor_backupcodes/l10n/gl.json index 523715b48e2..dac3ef6df14 100644 --- a/apps/twofactor_backupcodes/l10n/gl.json +++ b/apps/twofactor_backupcodes/l10n/gl.json @@ -1,21 +1,21 @@ { "translations": { - "You created two-factor backup codes for your account" : "Creou códigos de seguridade de dous factores para a súa conta", - "Second-factor backup codes" : "Códigos de seguridade do segundo factor", - "Generate backup codes" : "Xerar códigos de seguridade", - "You enabled two-factor authentication but did not generate backup codes yet. They are needed to restore access to your account in case you lose your second factor." : "Activou a autenticación de dous factores mais aínda non xerou os códigos de copia de seguridade. Necesítanse para restaurar o acceso á súa conta no caso de perder o segundo factor.", - "Backup code" : "Código de seguridade", - "Use backup code" : "Usar código de seguridade", - "Two factor backup codes" : "Códigos de seguridade de dous factores", - "A two-factor auth backup codes provider" : "Un provedor de códigos de seguridade para a autenticación de dous factores", - "Backup codes have been generated. {used} of {total} codes have been used." : "Os códigos de seguridade foron xerados. Usou {used} códigos de {total}.", - "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later" : "Estes son os seus códigos de seguridade. Gárdeos e/ou imprímaos xa que non poderá volver lelos de novo.", - "Save backup codes" : "Gardar os códigos de seguridade", - "Print backup codes" : "Imprimir os códigos de seguridade", - "Regenerate backup codes" : "Rexenerar códigos de seguridade", - "If you regenerate backup codes, you automatically invalidate old codes." : "Se rexenera os códigos de seguridade, automaticamente invalidara os antigos códigos.", - "An error occurred while generating your backup codes" : "Produciuse un erro ao rexenerar os seus códigos de seguridade", - "{name} backup codes" : "{name} códigos de seguridade", - "Use one of the backup codes you saved when setting up two-factor authentication." : "Use un dos códigos de seguridade que gardou cuando axustou a autenticación de dous factores.", + "You created two-factor backup codes for your account" : "Creou códigos de recuperación de dous factores para a súa conta", + "Second-factor backup codes" : "Códigos de recuperación do segundo factor", + "Generate backup codes" : "Xerar códigos de recuperación", + "You enabled two-factor authentication but did not generate backup codes yet. They are needed to restore access to your account in case you lose your second factor." : "Activou a autenticación de dous factores mais aínda non xerou os códigos de recuperación. Necesítanse para restaurar o acceso á súa conta no caso de perder o segundo factor.", + "Backup code" : "Código de recuperación", + "Use backup code" : "Usar código de recuperación", + "Two factor backup codes" : "Códigos de recuperación de dous factores", + "A two-factor auth backup codes provider" : "Un provedor de códigos de recuperación para a autenticación de dous factores", + "Backup codes have been generated. {used} of {total} codes have been used." : "Xeraronse os códigos de recuperación. Usou {used} códigos de {total}.", + "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later" : "Estes son os seus códigos de recuperación. Gárdeos e/ou imprímaos xa que non poderá volver lelos de novo.", + "Save backup codes" : "Gardar os códigos de recuperación", + "Print backup codes" : "Imprimir os códigos de recuperación", + "Regenerate backup codes" : "Volver xerar códigos de recuperación", + "If you regenerate backup codes, you automatically invalidate old codes." : "Se volve xerar os códigos de recuperación, automaticamente invalidara os antigos códigos.", + "An error occurred while generating your backup codes" : "Produciuse un erro ao xerar os seus códigos de recuperación", + "{name} backup codes" : "Códigos de recuperación {name} ", + "Use one of the backup codes you saved when setting up two-factor authentication." : "Use un dos códigos de recuperación que gardou cando axustou a autenticación de dous factores.", "Submit" : "Enviar " },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/updatenotification/l10n/ar.js b/apps/updatenotification/l10n/ar.js index ac73e8cb1fd..4eeeef9635c 100644 --- a/apps/updatenotification/l10n/ar.js +++ b/apps/updatenotification/l10n/ar.js @@ -1,32 +1,45 @@ OC.L10N.register( "updatenotification", { - "{version} is available. Get more information on how to update." : "{version} متوفر. أحصل على معلومات كيفية التحديث.", - "Channel updated" : "حُدثت القناة", + "{version} is available. Get more information on how to update." : "الإصدار {version} متوفر. أحصل على معلومات عن كيفية التحديث.", + "Channel updated" : "تمّ تحديث القناة", + "Web updater is disabled" : "مُحدّث الوب موقوف", "Update notifications" : "إشعارات التحديث", - "The update server could not be reached since %d days to check for new updates." : "تعذر الوصول إلى خادم التحديث منذ %d أيام للتحقق من وجود تحديثات جديدة.", - "Please check the Nextcloud and server log files for errors." : "يرجى التحقق من Nextcloud وملفات تسجيل الخادم بحثًا عن الأخطاء.", - "Update to %1$s is available." : "التحديث إلى %1$s متوفر.", + "The update server could not be reached since %d days to check for new updates." : "تعذر الوصول إلى خادم التحديث للتحقق من وجود تحديثات جديدة منذ %d أيام.", + "Please check the Nextcloud and server log files for errors." : "يرجى التحقق من نكست كلاود و سجل حركات الخادوم log بحثًا عن الأخطاء.", + "Update to %1$s is available." : "التحديثات متوفرة حتى الإصدار %1$s.", + "Update to {serverAndVersion} is available." : "تحديث الـ {serverAndVersion} متوفّر.", "Update for {app} to version %s is available." : "التحديث ل {app} نسخة رقم %s متوفر.", "Update notification" : "إشعار التحديث", "Displays update notifications for Nextcloud and provides the SSO for the updater." : "يعرض إشعارات التحديث لـ Nextcloud ويوفر SSO للمُحدِّث.", "Update" : "تحديث", "The version you are running is not maintained anymore. Please make sure to update to a supported version as soon as possible." : "لم يعد الإصدار الذي تقوم بتشغيله قيد الصيانة. يرجى التأكد من التحديث إلى إصدار مدعوم في أقرب وقت ممكن.", + "Apps missing compatible version" : "تفتقد التطبيقات إلى إصدار متوافق", "View in store" : "العرض على المتجر", + "Apps with compatible version" : "تطبيقات بإصدار متوافق", + "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" : "حمل الآن", + "Please use the command line updater to update." : "رجاءً، للتحديث استخدم المُحدّث عن طريق سطر الأوامر.", "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:" : "إشعار أعضاء المجموعات التالية بتوفر التحديثات:", + "No groups" : "لا توجد مجموعات", + "Only notifications for app updates are available." : "توجد فقط إشعارات حول تحديثات التطبيقات", "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: <strong>{newVersionString}</strong>" : "توجد نسخة جديدة: <strong>{newVersionString}</strong>", + "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}" : "لاحظ أنه بعد الإصدار الجديد، لا يظهر التحديث إلاّ مع الإصدار الثانوي الأول أو بعده. بالرغ من من أنه يتم دوريّاً طرح إصدارات جديدة متعاقبة للنظام، فإنه يتم إحياناً إسقاط بعض الإصدارات إذا ما ظهرت فيها بعض الإشكالات. للمزيد حول التحديثات و قنوات الإصدار updates and release channels، أنظر: {link}", "Checked on {lastCheckedDate}" : "فحص في {lastCheckedDate}", + "Checking apps for compatible versions" : "فحص التطبيقات من ناحية توافر أي إصدارات متوافقة", "Please make sure your config.php does not set <samp>appstoreenabled</samp> to false." : "الرجاء التأكد أن ملف الconfig.php الخاص بك لا يعين قيمة <samp>appstoreenabled</samp> إلى false.", + "Could not connect to the App Store or no updates have been returned at all. Search manually for updates or make sure your server has access to the internet and can connect to the App Store." : "لم يُمكن الاتصال مع متجر التطبيقات App Store أو لم يتم إرجاع أي تحديثات. إبحث يدويّاً عن التحديثات أو تأكّد من أنك خادومك متصل بالإنترنت و يستطيع الاتصال بالمتجر.", + "<strong>All</strong> apps have a compatible version for this Nextcloud version available." : "<strong>كل </strong>التطبيقات لها نسخ متوفقة مع نسخة نكست كلاود هذه.", "View changelog" : "اعرض سجل التغييرات", "Enterprise" : "المؤسسة", "For enterprise use. Provides always the latest patch level, but will not update to the next major release immediately. That update happens once Nextcloud GmbH has done additional hardening and testing for large-scale and mission-critical deployments. This channel is only available to customers and provides the Nextcloud Enterprise package." : "لاستخدام المؤسسات. يوفر دائمًا أحدث مستوى من التصحيح ، ولكنه لن يتم تحديثه إلى الإصدار الرئيسي التالي على الفور. يحدث هذا التحديث بمجرد أن تقوم شركة Nextcloud GmbH بإجراء مزيد من الصلابة والاختبار لعمليات النشر واسعة النطاق والمهمة. هذه القناة متاحة فقط للعملاء وتوفر حزمة Nextcloud للمؤسسة.", diff --git a/apps/updatenotification/l10n/ar.json b/apps/updatenotification/l10n/ar.json index d59bc25fec8..6c6c2bdd97c 100644 --- a/apps/updatenotification/l10n/ar.json +++ b/apps/updatenotification/l10n/ar.json @@ -1,30 +1,43 @@ { "translations": { - "{version} is available. Get more information on how to update." : "{version} متوفر. أحصل على معلومات كيفية التحديث.", - "Channel updated" : "حُدثت القناة", + "{version} is available. Get more information on how to update." : "الإصدار {version} متوفر. أحصل على معلومات عن كيفية التحديث.", + "Channel updated" : "تمّ تحديث القناة", + "Web updater is disabled" : "مُحدّث الوب موقوف", "Update notifications" : "إشعارات التحديث", - "The update server could not be reached since %d days to check for new updates." : "تعذر الوصول إلى خادم التحديث منذ %d أيام للتحقق من وجود تحديثات جديدة.", - "Please check the Nextcloud and server log files for errors." : "يرجى التحقق من Nextcloud وملفات تسجيل الخادم بحثًا عن الأخطاء.", - "Update to %1$s is available." : "التحديث إلى %1$s متوفر.", + "The update server could not be reached since %d days to check for new updates." : "تعذر الوصول إلى خادم التحديث للتحقق من وجود تحديثات جديدة منذ %d أيام.", + "Please check the Nextcloud and server log files for errors." : "يرجى التحقق من نكست كلاود و سجل حركات الخادوم log بحثًا عن الأخطاء.", + "Update to %1$s is available." : "التحديثات متوفرة حتى الإصدار %1$s.", + "Update to {serverAndVersion} is available." : "تحديث الـ {serverAndVersion} متوفّر.", "Update for {app} to version %s is available." : "التحديث ل {app} نسخة رقم %s متوفر.", "Update notification" : "إشعار التحديث", "Displays update notifications for Nextcloud and provides the SSO for the updater." : "يعرض إشعارات التحديث لـ Nextcloud ويوفر SSO للمُحدِّث.", "Update" : "تحديث", "The version you are running is not maintained anymore. Please make sure to update to a supported version as soon as possible." : "لم يعد الإصدار الذي تقوم بتشغيله قيد الصيانة. يرجى التأكد من التحديث إلى إصدار مدعوم في أقرب وقت ممكن.", + "Apps missing compatible version" : "تفتقد التطبيقات إلى إصدار متوافق", "View in store" : "العرض على المتجر", + "Apps with compatible version" : "تطبيقات بإصدار متوافق", + "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" : "حمل الآن", + "Please use the command line updater to update." : "رجاءً، للتحديث استخدم المُحدّث عن طريق سطر الأوامر.", "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:" : "إشعار أعضاء المجموعات التالية بتوفر التحديثات:", + "No groups" : "لا توجد مجموعات", + "Only notifications for app updates are available." : "توجد فقط إشعارات حول تحديثات التطبيقات", "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: <strong>{newVersionString}</strong>" : "توجد نسخة جديدة: <strong>{newVersionString}</strong>", + "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}" : "لاحظ أنه بعد الإصدار الجديد، لا يظهر التحديث إلاّ مع الإصدار الثانوي الأول أو بعده. بالرغ من من أنه يتم دوريّاً طرح إصدارات جديدة متعاقبة للنظام، فإنه يتم إحياناً إسقاط بعض الإصدارات إذا ما ظهرت فيها بعض الإشكالات. للمزيد حول التحديثات و قنوات الإصدار updates and release channels، أنظر: {link}", "Checked on {lastCheckedDate}" : "فحص في {lastCheckedDate}", + "Checking apps for compatible versions" : "فحص التطبيقات من ناحية توافر أي إصدارات متوافقة", "Please make sure your config.php does not set <samp>appstoreenabled</samp> to false." : "الرجاء التأكد أن ملف الconfig.php الخاص بك لا يعين قيمة <samp>appstoreenabled</samp> إلى false.", + "Could not connect to the App Store or no updates have been returned at all. Search manually for updates or make sure your server has access to the internet and can connect to the App Store." : "لم يُمكن الاتصال مع متجر التطبيقات App Store أو لم يتم إرجاع أي تحديثات. إبحث يدويّاً عن التحديثات أو تأكّد من أنك خادومك متصل بالإنترنت و يستطيع الاتصال بالمتجر.", + "<strong>All</strong> apps have a compatible version for this Nextcloud version available." : "<strong>كل </strong>التطبيقات لها نسخ متوفقة مع نسخة نكست كلاود هذه.", "View changelog" : "اعرض سجل التغييرات", "Enterprise" : "المؤسسة", "For enterprise use. Provides always the latest patch level, but will not update to the next major release immediately. That update happens once Nextcloud GmbH has done additional hardening and testing for large-scale and mission-critical deployments. This channel is only available to customers and provides the Nextcloud Enterprise package." : "لاستخدام المؤسسات. يوفر دائمًا أحدث مستوى من التصحيح ، ولكنه لن يتم تحديثه إلى الإصدار الرئيسي التالي على الفور. يحدث هذا التحديث بمجرد أن تقوم شركة Nextcloud GmbH بإجراء مزيد من الصلابة والاختبار لعمليات النشر واسعة النطاق والمهمة. هذه القناة متاحة فقط للعملاء وتوفر حزمة Nextcloud للمؤسسة.", diff --git a/apps/updatenotification/l10n/fr.js b/apps/updatenotification/l10n/fr.js index 0b7e6955831..bbcb5a44677 100644 --- a/apps/updatenotification/l10n/fr.js +++ b/apps/updatenotification/l10n/fr.js @@ -18,7 +18,7 @@ OC.L10N.register( "View in store" : "Afficher dans le magasin d'applications", "Apps with compatible version" : "Applications compatibles avec la nouvelle version", "Please note that the web updater is not recommended with more than 100 users! Please use the command line updater instead!" : "Veuillez noter que la mise à jour par le navigateur n'est pas recommandée si votre instance comporte plus de 100 utilisateurs ! Veuillez utiliser l'interface en ligne de commandes. ", - "Open updater" : "Ouvrir le système de mise à jour", + "Open updater" : "Ouvrir l'interface de mise à jour", "Download now" : "Télécharger maintenant", "Please use the command line updater to update." : "Veuillez utiliser le programme de mise à jour en ligne de commande pour mettre à jour. ", "What's new?" : "Quoi de neuf ?", diff --git a/apps/updatenotification/l10n/fr.json b/apps/updatenotification/l10n/fr.json index a2a3d37c776..e486493a361 100644 --- a/apps/updatenotification/l10n/fr.json +++ b/apps/updatenotification/l10n/fr.json @@ -16,7 +16,7 @@ "View in store" : "Afficher dans le magasin d'applications", "Apps with compatible version" : "Applications compatibles avec la nouvelle version", "Please note that the web updater is not recommended with more than 100 users! Please use the command line updater instead!" : "Veuillez noter que la mise à jour par le navigateur n'est pas recommandée si votre instance comporte plus de 100 utilisateurs ! Veuillez utiliser l'interface en ligne de commandes. ", - "Open updater" : "Ouvrir le système de mise à jour", + "Open updater" : "Ouvrir l'interface de mise à jour", "Download now" : "Télécharger maintenant", "Please use the command line updater to update." : "Veuillez utiliser le programme de mise à jour en ligne de commande pour mettre à jour. ", "What's new?" : "Quoi de neuf ?", diff --git a/apps/user_ldap/l10n/gl.js b/apps/user_ldap/l10n/gl.js index f857d32236f..3747d2e5f92 100644 --- a/apps/user_ldap/l10n/gl.js +++ b/apps/user_ldap/l10n/gl.js @@ -3,9 +3,9 @@ OC.L10N.register( { "Failed to clear the mappings." : "Non foi posíbel limpar as asignacións.", "Failed to delete the server configuration" : "Non foi posíbel eliminar a configuración do servidor", - "Invalid configuration: Anonymous binding is not allowed." : "A configuración non é correcta: o vínculo anónimo non está permitido.", + "Invalid configuration: Anonymous binding is not allowed." : "A configuración non é correcta: o vínculo non está permitido.", "Valid configuration, connection established!" : "A configuración é correcta, estabeleceuse a conexión!", - "Valid configuration, but binding failed. Please check the server settings and credentials." : "A configuración é correcta, mais o vínculo falla. Comprobe os axustes do servidor e as credenciais.", + "Valid configuration, but binding failed. Please check the server settings and credentials." : "A configuración é correcta, mais o vínculo fallou. Comprobe os axustes do servidor e as credenciais.", "Invalid configuration. Please have a look at the logs for further details." : "A configuración non é correcta. Bótelle unha ollada aos rexistros para obter máis detalles.", "No action specified" : "Non se especificou unha acción", "No configuration specified" : "Non se especificou unha configuración", @@ -20,13 +20,13 @@ OC.L10N.register( "Good password" : "Bo contrasinal", "Strong password" : "Contrasinal forte", "The Base DN appears to be wrong" : "O DN base semella ser erróneo", - "Testing configuration…" : "Probando a configuración...", + "Testing configuration…" : "Probando a configuración…", "Configuration incorrect" : "Configuración incorrecta", "Configuration incomplete" : "Configuración incompleta", "Configuration OK" : "Configuración correcta", "Select groups" : "Seleccionar grupos", "Select object classes" : "Seleccione as clases de obxectos", - "Please check the credentials, they seem to be wrong." : "Comprobe as credenciais, semella que son incorrectas.", + "Please check the credentials, they seem to be wrong." : "Comprobe as credenciais, semella que son erróneas.", "Please specify the port, it could not be auto-detected." : "Especifique o porto, non foi posíbel detectalo automaticamente.", "Base DN could not be auto-detected, please revise credentials, host and port." : "Non foi posíbel detectar automaticamente o DN base, revise as credenciais, a máquina e o porto.", "Could not detect Base DN, please enter it manually." : "Non foi posíbel detectar o DN base, introdúzao manualmente.", @@ -47,7 +47,7 @@ OC.L10N.register( "Select attributes" : "Seleccione os atributos", "User not found. Please check your login attributes and username. Effective filter (to copy-and-paste for command-line validation): <br/>" : "Non se atopou o usuario. Recomendase consultar os atributos de acceso e o nome de usuario. Filtro eficaz (copiar e pegar para a validación en liña de ordes): <br/>", "User found and settings verified." : "Atopouse o usuario e verificáronse os axustes.", - "Consider narrowing your search, as it encompassed many users, only the first one of whom will be able to log in." : "Considere restrinxir a súa busca, pois abrange moitos usuarios, apenas o primeiro deles poderá acceder.\n", + "Consider narrowing your search, as it encompassed many users, only the first one of whom will be able to log in." : "Considere restrinxir a súa busca, pois abrange moitos usuarios, apenas o primeiro deles poderá acceder.", "An unspecified error occurred. Please check log and settings." : "Produciuse un erro non especificado. Comprobe o rexistro e os axustes.", "The search filter is invalid, probably due to syntax issues like uneven number of opened and closed brackets. Please revise." : "O filtro de busca é incorrecto, probabelmente por mor de erros de sintaxe como un número impar de chaves de apertura/peche. Revíseo.", "A connection error to LDAP/AD occurred. Please check host, port and credentials." : "Produciuse un erro de conexión a LDAP/AD. Verifique a máquina, o porto e as credenciais.", @@ -70,7 +70,7 @@ OC.L10N.register( "Invalid Host" : "Máquina incorrecta", "LDAP user and group backend" : "Infraestrutura de usuarios e grupos LDAP", "This application enables administrators to connect Nextcloud to an LDAP-based user directory." : "Esta aplicación permitelle aos administradores conectar Nextcloud a un directorio de usuarios baseado en LDAP.", - "This application enables administrators to connect Nextcloud to an LDAP-based user directory for authentication and provisioning users, groups and user attributes. Admins can configure this application to connect to one or more LDAP directories or Active Directories via an LDAP interface. Attributes such as user quota, email, avatar pictures, group memberships and more can be pulled into Nextcloud from a directory with the appropriate queries and filters.\n\nA user logs into Nextcloud with their LDAP or AD credentials, and is granted access based on an authentication request handled by the LDAP or AD server. Nextcloud does not store LDAP or AD passwords, rather these credentials are used to authenticate a user and then Nextcloud uses a session for the user ID. More information is available in the LDAP User and Group Backend documentation." : "Esta aplicación permítelle aos administradores conectar Nextcloud cun directorio de usuarios baseado en LDAP para a autenticación e aprovisionamento de usuarios, grupos e atributos de usuario. Os administradores poden configurar esta aplicación para conectarse a un ou máis directorios LDAP ou Active Directory mediante unha interface LDAP. Os atributos como cota de usuario, correo, imaxes de avatar, pertenza a grupos e máis poden incorporarse ao Nextcloud dende un directorio coas peticións e filtros axeitados.\n\nUn usuario rexistrase no Nextcloud coas súa credenciais LDAP ou AD e se lle concede acceso baseandose nunha petición de autenticación manexada polo servidor LDAP ou AD.Nexttcloud non almacen os contrasinais LDAP ou AD, senon que estas credenciais usanse para autenticar un usuario e após o Nextcloud emprega unha sesión para O ID do usuario. Ten dispoñíbel máis información na documentación da infraestrutura de usuarios e grupos LDAP.", + "This application enables administrators to connect Nextcloud to an LDAP-based user directory for authentication and provisioning users, groups and user attributes. Admins can configure this application to connect to one or more LDAP directories or Active Directories via an LDAP interface. Attributes such as user quota, email, avatar pictures, group memberships and more can be pulled into Nextcloud from a directory with the appropriate queries and filters.\n\nA user logs into Nextcloud with their LDAP or AD credentials, and is granted access based on an authentication request handled by the LDAP or AD server. Nextcloud does not store LDAP or AD passwords, rather these credentials are used to authenticate a user and then Nextcloud uses a session for the user ID. More information is available in the LDAP User and Group Backend documentation." : "Esta aplicación permítelle aos administradores conectar Nextcloud cun directorio de usuarios baseado en LDAP para a autenticación e aprovisionamento de usuarios, grupos e atributos de usuario. Os administradores poden configurar esta aplicación para conectarse a un ou máis directorios LDAP ou Active Directory mediante unha interface LDAP. Os atributos como cota de usuario, correo, imaxes de avatar, pertenza a grupos e máis poden incorporarse a Nextcloud dende un directorio coas peticións e filtros axeitados.\n\nUn usuario rexistrase en Nextcloud coas súa credenciais LDAP ou AD e se lle concede acceso baseandose nunha petición de autenticación manexada polo servidor LDAP ou AD.Nexttcloud non almacen os contrasinais LDAP ou AD, senon que estas credenciais usanse para autenticar un usuario e após Nextcloud emprega unha sesión para O ID do usuario. Ten dispoñíbel máis información na documentación da infraestrutura de usuarios e grupos LDAP.", "Test Configuration" : "Probar a configuración", "Help" : "Axuda", "Groups meeting these criteria are available in %s:" : "Os grupos que cumpren estes criterios están dispoñíbeis en %s:", @@ -85,7 +85,7 @@ OC.L10N.register( "Verify settings and count the groups" : "Verificar os axustes e contar os grupos", "When logging in, %s will find the user based on the following attributes:" : "Ao acceder, %s atopa o usuario en función dos seguintes atributos:", "LDAP/AD Username:" : "Nome de usuario LDAP/AD:", - "Allows login against the LDAP/AD username, which is either \"uid\" or \"sAMAccountName\" and will be detected." : "Permite iniciar sesión co nome de usuario LDAP/AD, que é «uid» ou «sAMAccountName» e será detectado.", + "Allows login against the LDAP/AD username, which is either \"uid\" or \"sAMAccountName\" and will be detected." : "Permite acceder co nome de usuario LDAP/AD, que é «uid» ou «sAMAccountName» e será detectado.", "LDAP/AD Email Address:" : "Enderezo de correo LDAP/AD:", "Allows login against an email attribute. \"mail\" and \"mailPrimaryAddress\" allowed." : "Permite o acceso contra un atributo de correo-e. Permitirase «mail» e «mailPrimaryAddress».", "Other Attributes:" : "Outros atributos:", @@ -125,7 +125,7 @@ OC.L10N.register( "Current password" : "Contrasinal actual", "New password" : "Contrasinal novo", "Renew password" : "Renovar o contrasinal", - "Wrong password." : "Contrasinal incorrecto.", + "Wrong password." : "Contrasinal erróneo", "Cancel" : "Cancelar", "Server" : "Servidor", "Users" : "Usuarios", @@ -133,13 +133,13 @@ OC.L10N.register( "Groups" : "Grupos", "Expert" : "Experto", "Advanced" : "Avanzado", - "<b>Warning:</b> The PHP LDAP module is not installed, the backend will not work. Please ask your system administrator to install it." : "<b>Aviso:</b> O módulo PHP LDAP non está instalado, o servidor non funcionará. Consulte co administrador do sistema para instalalo.", + "<b>Warning:</b> The PHP LDAP module is not installed, the backend will not work. Please ask your system administrator to install it." : "<b>Advertencia:</b> O módulo PHP LDAP non está instalado, o servidor non funcionará. Consulte co administrador do sistema para instalalo.", "Connection Settings" : "Axustes da conexión", "Configuration Active" : "Configuración activa", "When unchecked, this configuration will be skipped." : "Se está sen marcar, omítese esta configuración.", - "Backup (Replica) Host" : "Servidor da copia de seguridade (réplica)", - "Give an optional backup host. It must be a replica of the main LDAP/AD server." : "Indicar un servidor de copia de seguridade opcional. Debe ser unha réplica do servidor principal LDAP/AD.", - "Backup (Replica) Port" : "Porto da copia de seguridade (réplica)", + "Backup (Replica) Host" : "Servidor da copia de seguranza (réplica)", + "Give an optional backup host. It must be a replica of the main LDAP/AD server." : "Indicar un servidor de copia de seguranza opcional. Debe ser unha réplica do servidor principal LDAP/AD.", + "Backup (Replica) Port" : "Porto da copia de seguranza (réplica)", "Disable Main Server" : "Desactivar o servidor principal", "Only connect to the replica server." : "Conectar só co servidor de réplica.", "Turn off SSL certificate validation." : "Desactiva a validación do certificado SSL.", @@ -155,7 +155,7 @@ OC.L10N.register( "One User Base DN per line" : "Un DN base de usuario por liña", "User Search Attributes" : "Atributos de busca do usuario", "Optional; one attribute per line" : "Opcional; un atributo por liña", - "Group Display Name Field" : "Campo de mostra do nome de grupo", + "Group Display Name Field" : "Campo de nome de grupo para amosar", "The LDAP attribute to use to generate the groups's display name." : "O atributo LDAP úsase para xerar os nomes dos grupos que amosar.", "Base Group Tree" : "Base da árbore de grupo", "One Group Base DN per line" : "Un DN base de grupo por liña", @@ -164,7 +164,7 @@ OC.L10N.register( "Dynamic Group Member URL" : "URL dinámico do membro do grupo", "The LDAP attribute that on group objects contains an LDAP search URL that determines what objects belong to the group. (An empty setting disables dynamic group membership functionality.)" : "O atributo LDAP que nos obxectos de grupo contén un URL de busca LDAP que determina que obxectos pertencen ao grupo. (Un escenario baleiro desactiva a funcionalidade dinámica de pertenza ao grupo.)", "Nested Groups" : "Grupos aniñados", - "When switched on, groups that contain groups are supported. (Only works if the group member attribute contains DNs.)" : "Se está activado, admítense grupos que conteñen grupos. (Só funciona se o atributo de membro no grupo contén os DN.)", + "When switched on, groups that contain groups are supported. (Only works if the group member attribute contains DNs.)" : "Se está activado, admítense grupos que conteñen grupos. (Só funciona se o atributo de membros do grupo contén os DN.)", "Paging chunksize" : "Tamaño dos fragmentos paxinados", "Chunksize used for paged LDAP searches that may return bulky results like user or group enumeration. (Setting it 0 disables paged LDAP searches in those situations.)" : "Tamaño dos fragmentos utilizados para as buscas LDAP paxinadas, que poden devolver resultados voluminosos como usuario ou enumeración de grupo. (Se se estabelece a 0, desactívanse as buscas LDAP paxinadas nesas situacións.)", "Enable LDAP password changes per user" : "Activar os cambios no contrasinal LDAP polo usuario", @@ -176,7 +176,7 @@ OC.L10N.register( "Quota Field" : "Campo de cota", "Leave empty for user's default quota. Otherwise, specify an LDAP/AD attribute." : "Deixar baleiro para a cota predeterminada do usuario. Noutro caso, especifique un atributo LDAP/AD.", "Quota Default" : "Cota predeterminada", - "Override default quota for LDAP users who do not have a quota set in the Quota Field." : "Sobrescribir a cota predeterminada para usuarios LDAP que non teñen unha cota configurada no campo Cota.", + "Override default quota for LDAP users who do not have a quota set in the Quota Field." : "Substituír a cota predeterminada para usuarios LDAP que non teñen unha cota configurada no campo Cota.", "Email Field" : "Campo do correo", "Set the user's email from their LDAP attribute. Leave it empty for default behaviour." : "Axustar o correo do usuario dende un atributo LDAP. Déixeo baleiro para un comportamento predeterminado.", "User Home Folder Naming Rule" : "Regra de nomeado do cartafol do usuario", @@ -192,7 +192,7 @@ OC.L10N.register( "User profile Address will be set from the specified attribute" : "O enderezo do perfil de usuario estabelecerase a partir do atributo especificado", "Twitter Field" : "Campo de Twitter", "User profile Twitter will be set from the specified attribute" : "O perfil de usuario Twitter estabelecerase a partir do atributo especificado", - "Fediverse Field" : "Campo Fediverso", + "Fediverse Field" : "Campo do Fediverso", "User profile Fediverse will be set from the specified attribute" : "O perfil de usuario Fediverso estabelecerase a partir do atributo especificado", "Organisation Field" : "Campo da organización", "User profile Organisation will be set from the specified attribute" : "A organización do perfil de usuario estabelecerase a partir do atributo especificado", diff --git a/apps/user_ldap/l10n/gl.json b/apps/user_ldap/l10n/gl.json index 0d41c65fe1d..0f4eeb1e7dc 100644 --- a/apps/user_ldap/l10n/gl.json +++ b/apps/user_ldap/l10n/gl.json @@ -1,9 +1,9 @@ { "translations": { "Failed to clear the mappings." : "Non foi posíbel limpar as asignacións.", "Failed to delete the server configuration" : "Non foi posíbel eliminar a configuración do servidor", - "Invalid configuration: Anonymous binding is not allowed." : "A configuración non é correcta: o vínculo anónimo non está permitido.", + "Invalid configuration: Anonymous binding is not allowed." : "A configuración non é correcta: o vínculo non está permitido.", "Valid configuration, connection established!" : "A configuración é correcta, estabeleceuse a conexión!", - "Valid configuration, but binding failed. Please check the server settings and credentials." : "A configuración é correcta, mais o vínculo falla. Comprobe os axustes do servidor e as credenciais.", + "Valid configuration, but binding failed. Please check the server settings and credentials." : "A configuración é correcta, mais o vínculo fallou. Comprobe os axustes do servidor e as credenciais.", "Invalid configuration. Please have a look at the logs for further details." : "A configuración non é correcta. Bótelle unha ollada aos rexistros para obter máis detalles.", "No action specified" : "Non se especificou unha acción", "No configuration specified" : "Non se especificou unha configuración", @@ -18,13 +18,13 @@ "Good password" : "Bo contrasinal", "Strong password" : "Contrasinal forte", "The Base DN appears to be wrong" : "O DN base semella ser erróneo", - "Testing configuration…" : "Probando a configuración...", + "Testing configuration…" : "Probando a configuración…", "Configuration incorrect" : "Configuración incorrecta", "Configuration incomplete" : "Configuración incompleta", "Configuration OK" : "Configuración correcta", "Select groups" : "Seleccionar grupos", "Select object classes" : "Seleccione as clases de obxectos", - "Please check the credentials, they seem to be wrong." : "Comprobe as credenciais, semella que son incorrectas.", + "Please check the credentials, they seem to be wrong." : "Comprobe as credenciais, semella que son erróneas.", "Please specify the port, it could not be auto-detected." : "Especifique o porto, non foi posíbel detectalo automaticamente.", "Base DN could not be auto-detected, please revise credentials, host and port." : "Non foi posíbel detectar automaticamente o DN base, revise as credenciais, a máquina e o porto.", "Could not detect Base DN, please enter it manually." : "Non foi posíbel detectar o DN base, introdúzao manualmente.", @@ -45,7 +45,7 @@ "Select attributes" : "Seleccione os atributos", "User not found. Please check your login attributes and username. Effective filter (to copy-and-paste for command-line validation): <br/>" : "Non se atopou o usuario. Recomendase consultar os atributos de acceso e o nome de usuario. Filtro eficaz (copiar e pegar para a validación en liña de ordes): <br/>", "User found and settings verified." : "Atopouse o usuario e verificáronse os axustes.", - "Consider narrowing your search, as it encompassed many users, only the first one of whom will be able to log in." : "Considere restrinxir a súa busca, pois abrange moitos usuarios, apenas o primeiro deles poderá acceder.\n", + "Consider narrowing your search, as it encompassed many users, only the first one of whom will be able to log in." : "Considere restrinxir a súa busca, pois abrange moitos usuarios, apenas o primeiro deles poderá acceder.", "An unspecified error occurred. Please check log and settings." : "Produciuse un erro non especificado. Comprobe o rexistro e os axustes.", "The search filter is invalid, probably due to syntax issues like uneven number of opened and closed brackets. Please revise." : "O filtro de busca é incorrecto, probabelmente por mor de erros de sintaxe como un número impar de chaves de apertura/peche. Revíseo.", "A connection error to LDAP/AD occurred. Please check host, port and credentials." : "Produciuse un erro de conexión a LDAP/AD. Verifique a máquina, o porto e as credenciais.", @@ -68,7 +68,7 @@ "Invalid Host" : "Máquina incorrecta", "LDAP user and group backend" : "Infraestrutura de usuarios e grupos LDAP", "This application enables administrators to connect Nextcloud to an LDAP-based user directory." : "Esta aplicación permitelle aos administradores conectar Nextcloud a un directorio de usuarios baseado en LDAP.", - "This application enables administrators to connect Nextcloud to an LDAP-based user directory for authentication and provisioning users, groups and user attributes. Admins can configure this application to connect to one or more LDAP directories or Active Directories via an LDAP interface. Attributes such as user quota, email, avatar pictures, group memberships and more can be pulled into Nextcloud from a directory with the appropriate queries and filters.\n\nA user logs into Nextcloud with their LDAP or AD credentials, and is granted access based on an authentication request handled by the LDAP or AD server. Nextcloud does not store LDAP or AD passwords, rather these credentials are used to authenticate a user and then Nextcloud uses a session for the user ID. More information is available in the LDAP User and Group Backend documentation." : "Esta aplicación permítelle aos administradores conectar Nextcloud cun directorio de usuarios baseado en LDAP para a autenticación e aprovisionamento de usuarios, grupos e atributos de usuario. Os administradores poden configurar esta aplicación para conectarse a un ou máis directorios LDAP ou Active Directory mediante unha interface LDAP. Os atributos como cota de usuario, correo, imaxes de avatar, pertenza a grupos e máis poden incorporarse ao Nextcloud dende un directorio coas peticións e filtros axeitados.\n\nUn usuario rexistrase no Nextcloud coas súa credenciais LDAP ou AD e se lle concede acceso baseandose nunha petición de autenticación manexada polo servidor LDAP ou AD.Nexttcloud non almacen os contrasinais LDAP ou AD, senon que estas credenciais usanse para autenticar un usuario e após o Nextcloud emprega unha sesión para O ID do usuario. Ten dispoñíbel máis información na documentación da infraestrutura de usuarios e grupos LDAP.", + "This application enables administrators to connect Nextcloud to an LDAP-based user directory for authentication and provisioning users, groups and user attributes. Admins can configure this application to connect to one or more LDAP directories or Active Directories via an LDAP interface. Attributes such as user quota, email, avatar pictures, group memberships and more can be pulled into Nextcloud from a directory with the appropriate queries and filters.\n\nA user logs into Nextcloud with their LDAP or AD credentials, and is granted access based on an authentication request handled by the LDAP or AD server. Nextcloud does not store LDAP or AD passwords, rather these credentials are used to authenticate a user and then Nextcloud uses a session for the user ID. More information is available in the LDAP User and Group Backend documentation." : "Esta aplicación permítelle aos administradores conectar Nextcloud cun directorio de usuarios baseado en LDAP para a autenticación e aprovisionamento de usuarios, grupos e atributos de usuario. Os administradores poden configurar esta aplicación para conectarse a un ou máis directorios LDAP ou Active Directory mediante unha interface LDAP. Os atributos como cota de usuario, correo, imaxes de avatar, pertenza a grupos e máis poden incorporarse a Nextcloud dende un directorio coas peticións e filtros axeitados.\n\nUn usuario rexistrase en Nextcloud coas súa credenciais LDAP ou AD e se lle concede acceso baseandose nunha petición de autenticación manexada polo servidor LDAP ou AD.Nexttcloud non almacen os contrasinais LDAP ou AD, senon que estas credenciais usanse para autenticar un usuario e após Nextcloud emprega unha sesión para O ID do usuario. Ten dispoñíbel máis información na documentación da infraestrutura de usuarios e grupos LDAP.", "Test Configuration" : "Probar a configuración", "Help" : "Axuda", "Groups meeting these criteria are available in %s:" : "Os grupos que cumpren estes criterios están dispoñíbeis en %s:", @@ -83,7 +83,7 @@ "Verify settings and count the groups" : "Verificar os axustes e contar os grupos", "When logging in, %s will find the user based on the following attributes:" : "Ao acceder, %s atopa o usuario en función dos seguintes atributos:", "LDAP/AD Username:" : "Nome de usuario LDAP/AD:", - "Allows login against the LDAP/AD username, which is either \"uid\" or \"sAMAccountName\" and will be detected." : "Permite iniciar sesión co nome de usuario LDAP/AD, que é «uid» ou «sAMAccountName» e será detectado.", + "Allows login against the LDAP/AD username, which is either \"uid\" or \"sAMAccountName\" and will be detected." : "Permite acceder co nome de usuario LDAP/AD, que é «uid» ou «sAMAccountName» e será detectado.", "LDAP/AD Email Address:" : "Enderezo de correo LDAP/AD:", "Allows login against an email attribute. \"mail\" and \"mailPrimaryAddress\" allowed." : "Permite o acceso contra un atributo de correo-e. Permitirase «mail» e «mailPrimaryAddress».", "Other Attributes:" : "Outros atributos:", @@ -123,7 +123,7 @@ "Current password" : "Contrasinal actual", "New password" : "Contrasinal novo", "Renew password" : "Renovar o contrasinal", - "Wrong password." : "Contrasinal incorrecto.", + "Wrong password." : "Contrasinal erróneo", "Cancel" : "Cancelar", "Server" : "Servidor", "Users" : "Usuarios", @@ -131,13 +131,13 @@ "Groups" : "Grupos", "Expert" : "Experto", "Advanced" : "Avanzado", - "<b>Warning:</b> The PHP LDAP module is not installed, the backend will not work. Please ask your system administrator to install it." : "<b>Aviso:</b> O módulo PHP LDAP non está instalado, o servidor non funcionará. Consulte co administrador do sistema para instalalo.", + "<b>Warning:</b> The PHP LDAP module is not installed, the backend will not work. Please ask your system administrator to install it." : "<b>Advertencia:</b> O módulo PHP LDAP non está instalado, o servidor non funcionará. Consulte co administrador do sistema para instalalo.", "Connection Settings" : "Axustes da conexión", "Configuration Active" : "Configuración activa", "When unchecked, this configuration will be skipped." : "Se está sen marcar, omítese esta configuración.", - "Backup (Replica) Host" : "Servidor da copia de seguridade (réplica)", - "Give an optional backup host. It must be a replica of the main LDAP/AD server." : "Indicar un servidor de copia de seguridade opcional. Debe ser unha réplica do servidor principal LDAP/AD.", - "Backup (Replica) Port" : "Porto da copia de seguridade (réplica)", + "Backup (Replica) Host" : "Servidor da copia de seguranza (réplica)", + "Give an optional backup host. It must be a replica of the main LDAP/AD server." : "Indicar un servidor de copia de seguranza opcional. Debe ser unha réplica do servidor principal LDAP/AD.", + "Backup (Replica) Port" : "Porto da copia de seguranza (réplica)", "Disable Main Server" : "Desactivar o servidor principal", "Only connect to the replica server." : "Conectar só co servidor de réplica.", "Turn off SSL certificate validation." : "Desactiva a validación do certificado SSL.", @@ -153,7 +153,7 @@ "One User Base DN per line" : "Un DN base de usuario por liña", "User Search Attributes" : "Atributos de busca do usuario", "Optional; one attribute per line" : "Opcional; un atributo por liña", - "Group Display Name Field" : "Campo de mostra do nome de grupo", + "Group Display Name Field" : "Campo de nome de grupo para amosar", "The LDAP attribute to use to generate the groups's display name." : "O atributo LDAP úsase para xerar os nomes dos grupos que amosar.", "Base Group Tree" : "Base da árbore de grupo", "One Group Base DN per line" : "Un DN base de grupo por liña", @@ -162,7 +162,7 @@ "Dynamic Group Member URL" : "URL dinámico do membro do grupo", "The LDAP attribute that on group objects contains an LDAP search URL that determines what objects belong to the group. (An empty setting disables dynamic group membership functionality.)" : "O atributo LDAP que nos obxectos de grupo contén un URL de busca LDAP que determina que obxectos pertencen ao grupo. (Un escenario baleiro desactiva a funcionalidade dinámica de pertenza ao grupo.)", "Nested Groups" : "Grupos aniñados", - "When switched on, groups that contain groups are supported. (Only works if the group member attribute contains DNs.)" : "Se está activado, admítense grupos que conteñen grupos. (Só funciona se o atributo de membro no grupo contén os DN.)", + "When switched on, groups that contain groups are supported. (Only works if the group member attribute contains DNs.)" : "Se está activado, admítense grupos que conteñen grupos. (Só funciona se o atributo de membros do grupo contén os DN.)", "Paging chunksize" : "Tamaño dos fragmentos paxinados", "Chunksize used for paged LDAP searches that may return bulky results like user or group enumeration. (Setting it 0 disables paged LDAP searches in those situations.)" : "Tamaño dos fragmentos utilizados para as buscas LDAP paxinadas, que poden devolver resultados voluminosos como usuario ou enumeración de grupo. (Se se estabelece a 0, desactívanse as buscas LDAP paxinadas nesas situacións.)", "Enable LDAP password changes per user" : "Activar os cambios no contrasinal LDAP polo usuario", @@ -174,7 +174,7 @@ "Quota Field" : "Campo de cota", "Leave empty for user's default quota. Otherwise, specify an LDAP/AD attribute." : "Deixar baleiro para a cota predeterminada do usuario. Noutro caso, especifique un atributo LDAP/AD.", "Quota Default" : "Cota predeterminada", - "Override default quota for LDAP users who do not have a quota set in the Quota Field." : "Sobrescribir a cota predeterminada para usuarios LDAP que non teñen unha cota configurada no campo Cota.", + "Override default quota for LDAP users who do not have a quota set in the Quota Field." : "Substituír a cota predeterminada para usuarios LDAP que non teñen unha cota configurada no campo Cota.", "Email Field" : "Campo do correo", "Set the user's email from their LDAP attribute. Leave it empty for default behaviour." : "Axustar o correo do usuario dende un atributo LDAP. Déixeo baleiro para un comportamento predeterminado.", "User Home Folder Naming Rule" : "Regra de nomeado do cartafol do usuario", @@ -190,7 +190,7 @@ "User profile Address will be set from the specified attribute" : "O enderezo do perfil de usuario estabelecerase a partir do atributo especificado", "Twitter Field" : "Campo de Twitter", "User profile Twitter will be set from the specified attribute" : "O perfil de usuario Twitter estabelecerase a partir do atributo especificado", - "Fediverse Field" : "Campo Fediverso", + "Fediverse Field" : "Campo do Fediverso", "User profile Fediverse will be set from the specified attribute" : "O perfil de usuario Fediverso estabelecerase a partir do atributo especificado", "Organisation Field" : "Campo da organización", "User profile Organisation will be set from the specified attribute" : "A organización do perfil de usuario estabelecerase a partir do atributo especificado", diff --git a/apps/user_ldap/l10n/zh_CN.js b/apps/user_ldap/l10n/zh_CN.js index 7a9faac5f8d..847b0d28330 100644 --- a/apps/user_ldap/l10n/zh_CN.js +++ b/apps/user_ldap/l10n/zh_CN.js @@ -12,7 +12,7 @@ OC.L10N.register( "No data specified" : "未指定数据", " Could not set configuration %s" : " 无法设定配置文件 %s", "Action does not exist" : "操作不存在", - "Renewing …" : "正在更新…", + "Renewing …" : "正在更新……", "Very weak password" : "非常弱的密码", "Weak password" : "弱密码", "So-so password" : "一般的密码", diff --git a/apps/user_ldap/l10n/zh_CN.json b/apps/user_ldap/l10n/zh_CN.json index 46d4b4bf69c..7599b62a8ac 100644 --- a/apps/user_ldap/l10n/zh_CN.json +++ b/apps/user_ldap/l10n/zh_CN.json @@ -10,7 +10,7 @@ "No data specified" : "未指定数据", " Could not set configuration %s" : " 无法设定配置文件 %s", "Action does not exist" : "操作不存在", - "Renewing …" : "正在更新…", + "Renewing …" : "正在更新……", "Very weak password" : "非常弱的密码", "Weak password" : "弱密码", "So-so password" : "一般的密码", diff --git a/apps/user_ldap/lib/Access.php b/apps/user_ldap/lib/Access.php index 3edeabda747..3fbb003ed51 100644 --- a/apps/user_ldap/lib/Access.php +++ b/apps/user_ldap/lib/Access.php @@ -1993,8 +1993,15 @@ class Access extends LDAPUtility { // no cookie known from a potential previous search. We need // to start from 0 to come to the desired page. cookie value // of '0' is valid, because 389ds - $reOffset = ($offset - $pageSize) < 0 ? 0 : $offset - $pageSize; - $this->search($filter, $base, $attr, $pageSize, $reOffset, true); + $defaultPageSize = (int)$this->connection->ldapPagingSize; + if ($offset < $defaultPageSize) { + /* Make a search with offset as page size and dismiss the result, to init the cookie */ + $this->search($filter, $base, $attr, $offset, 0, true); + } else { + /* Make a search for previous page and dismiss the result, to init the cookie */ + $reOffset = $offset - $defaultPageSize; + $this->search($filter, $base, $attr, $defaultPageSize, $reOffset, true); + } if (!$this->hasMoreResults()) { // when the cookie is reset with != 0 offset, there are no further // results, so stop. diff --git a/apps/user_status/l10n/ar.js b/apps/user_status/l10n/ar.js index 25b6ee2ab2f..f5aaa6b35b6 100644 --- a/apps/user_status/l10n/ar.js +++ b/apps/user_status/l10n/ar.js @@ -4,20 +4,31 @@ OC.L10N.register( "Recent statuses" : "آخر الحالات", "In a meeting" : "في اجتماع", "Commuting" : "تجوال", - "Out sick" : "مريض", + "Out sick" : "إجازة مرضية", "Vacationing" : "في اجازة", - "Working remotely" : "العمل عن بعد", + "Working remotely" : "عمل عن بعد", + "In a call" : "على الهاتف", "User status" : "حالة العضو", + "View profile" : "عرض الملف الشخصي", "Clear status after" : "مسح رسالة الحالة بعد", + "Emoji for your status message" : "رسم تعبيري \"إيموجي\" لرسالة الحالة الخاصة بك", "What is your status?" : "ماهي حالتك؟", + "Predefined statuses" : "حالات مُعرّفة مُسبقاً", + "Previously set" : "سبق تعيينها", + "Reset status" : "إعادة تعيين الحالة", "Set status" : "تعيين الحالة", "Online status" : "حالة الاتصال", "Status message" : "رسالة الحالة", + "Your status was set automatically" : "تمّ تعيين حالتك تلقائيّاً", "Clear status message" : "حذف رسالة الحالة", "Set status message" : "تعيين رسالة الحالة", + "Reset status to \"{icon} {message}\"" : "إعادة تعيين الحالة إلى \"{icon} {message}\"", + "Reset status to \"{message}\"" : "إعادة تعيين الحالة إلى \"{message}\"", + "Reset status to \"{icon}\"" : "إعادة تعيين الحالة إلى \"{icon}\"", "There was an error saving the status" : "حدث خطأ اثناء حفظ الحالة", "There was an error clearing the status" : "حدث خطأ اثناء حذف الحالة", - "No recent status changes" : "لم يتم تغيير الحالة", + "There was an error reverting the status" : "حدث خطأ أثناء استرجاع الحالة", + "No recent status changes" : "لم يتم تغيير الحالة مؤخراً", "Away" : "بالخارج", "Do not disturb" : "عدم الازعاج", "{status}, {timestamp}" : "{status}, {timestamp}", diff --git a/apps/user_status/l10n/ar.json b/apps/user_status/l10n/ar.json index 41fa27553ae..1d28973bbe4 100644 --- a/apps/user_status/l10n/ar.json +++ b/apps/user_status/l10n/ar.json @@ -2,20 +2,31 @@ "Recent statuses" : "آخر الحالات", "In a meeting" : "في اجتماع", "Commuting" : "تجوال", - "Out sick" : "مريض", + "Out sick" : "إجازة مرضية", "Vacationing" : "في اجازة", - "Working remotely" : "العمل عن بعد", + "Working remotely" : "عمل عن بعد", + "In a call" : "على الهاتف", "User status" : "حالة العضو", + "View profile" : "عرض الملف الشخصي", "Clear status after" : "مسح رسالة الحالة بعد", + "Emoji for your status message" : "رسم تعبيري \"إيموجي\" لرسالة الحالة الخاصة بك", "What is your status?" : "ماهي حالتك؟", + "Predefined statuses" : "حالات مُعرّفة مُسبقاً", + "Previously set" : "سبق تعيينها", + "Reset status" : "إعادة تعيين الحالة", "Set status" : "تعيين الحالة", "Online status" : "حالة الاتصال", "Status message" : "رسالة الحالة", + "Your status was set automatically" : "تمّ تعيين حالتك تلقائيّاً", "Clear status message" : "حذف رسالة الحالة", "Set status message" : "تعيين رسالة الحالة", + "Reset status to \"{icon} {message}\"" : "إعادة تعيين الحالة إلى \"{icon} {message}\"", + "Reset status to \"{message}\"" : "إعادة تعيين الحالة إلى \"{message}\"", + "Reset status to \"{icon}\"" : "إعادة تعيين الحالة إلى \"{icon}\"", "There was an error saving the status" : "حدث خطأ اثناء حفظ الحالة", "There was an error clearing the status" : "حدث خطأ اثناء حذف الحالة", - "No recent status changes" : "لم يتم تغيير الحالة", + "There was an error reverting the status" : "حدث خطأ أثناء استرجاع الحالة", + "No recent status changes" : "لم يتم تغيير الحالة مؤخراً", "Away" : "بالخارج", "Do not disturb" : "عدم الازعاج", "{status}, {timestamp}" : "{status}, {timestamp}", diff --git a/apps/user_status/l10n/et_EE.js b/apps/user_status/l10n/et_EE.js new file mode 100644 index 00000000000..14d9129cb2e --- /dev/null +++ b/apps/user_status/l10n/et_EE.js @@ -0,0 +1,29 @@ +OC.L10N.register( + "user_status", + { + "Recent statuses" : "Hiljutised staatused", + "In a meeting" : "Koosolekul", + "Out sick" : "Haige", + "Vacationing" : "Puhkusel", + "Working remotely" : "Kaugtööl", + "User status" : "Kasutaja staatus", + "View profile" : "Vaata profiili", + "Clear status after" : "Tühjenda staatus pärast", + "Emoji for your status message" : "Staatuse teate emoji", + "What is your status?" : "Mis on su staatus?", + "Predefined statuses" : "Eeldefineeritud staatused", + "Status message" : "Staatuse teade", + "Away" : "Eemal", + "Do not disturb" : "Mitte segada", + "Don't clear" : "Ära tühjenda", + "Today" : "Täna", + "This week" : "Käesolev nädal", + "Online" : "Online", + "Invisible" : "Nähtamatu", + "Offline" : "Offline", + "30 minutes" : "30 minutit", + "1 hour" : "1 tund", + "4 hours" : "4 tundi", + "Mute all notifications" : "Vaigista kõik teavituse" +}, +"nplurals=2; plural=(n != 1);"); diff --git a/apps/user_status/l10n/et_EE.json b/apps/user_status/l10n/et_EE.json new file mode 100644 index 00000000000..35c3e23a740 --- /dev/null +++ b/apps/user_status/l10n/et_EE.json @@ -0,0 +1,27 @@ +{ "translations": { + "Recent statuses" : "Hiljutised staatused", + "In a meeting" : "Koosolekul", + "Out sick" : "Haige", + "Vacationing" : "Puhkusel", + "Working remotely" : "Kaugtööl", + "User status" : "Kasutaja staatus", + "View profile" : "Vaata profiili", + "Clear status after" : "Tühjenda staatus pärast", + "Emoji for your status message" : "Staatuse teate emoji", + "What is your status?" : "Mis on su staatus?", + "Predefined statuses" : "Eeldefineeritud staatused", + "Status message" : "Staatuse teade", + "Away" : "Eemal", + "Do not disturb" : "Mitte segada", + "Don't clear" : "Ära tühjenda", + "Today" : "Täna", + "This week" : "Käesolev nädal", + "Online" : "Online", + "Invisible" : "Nähtamatu", + "Offline" : "Offline", + "30 minutes" : "30 minutit", + "1 hour" : "1 tund", + "4 hours" : "4 tundi", + "Mute all notifications" : "Vaigista kõik teavituse" +},"pluralForm" :"nplurals=2; plural=(n != 1);" +}
\ No newline at end of file diff --git a/apps/user_status/l10n/ko.js b/apps/user_status/l10n/ko.js index a47b250ac07..d4fd09c519c 100644 --- a/apps/user_status/l10n/ko.js +++ b/apps/user_status/l10n/ko.js @@ -17,8 +17,8 @@ OC.L10N.register( "Status message" : "상태 메시지", "Clear status message" : "상태 메시지 지움", "Set status message" : "상태 메시지 설정", - "There was an error saving the status" : "상태 저장에 오류가 발생했습니다", - "There was an error clearing the status" : "상태 해제에 오류가 발생했습니다", + "There was an error saving the status" : "상태 저장에 오류가 발생했습니다.", + "There was an error clearing the status" : "상태 해제에 오류가 발생했습니다.", "No recent status changes" : "최근 상태 변경 없음", "Away" : "자리 비움", "Do not disturb" : "방해 금지", @@ -29,11 +29,11 @@ OC.L10N.register( "Online" : "접속 중", "Invisible" : "숨겨짐", "Offline" : "오프라인", - "There was an error saving the new status" : "새로운 상태 저장에 오류가 발생했습니다", + "There was an error saving the new status" : "새로운 상태 저장에 오류가 발생했습니다.", "30 minutes" : "30 분", "1 hour" : "한 시간", "4 hours" : "4 시간", - "Mute all notifications" : "모든 알림을 무시합니다", + "Mute all notifications" : "모든 알림을 음소거", "Appear offline" : "접속 안함으로 표시" }, "nplurals=1; plural=0;"); diff --git a/apps/user_status/l10n/ko.json b/apps/user_status/l10n/ko.json index ad755f25e4b..7b2ae312814 100644 --- a/apps/user_status/l10n/ko.json +++ b/apps/user_status/l10n/ko.json @@ -15,8 +15,8 @@ "Status message" : "상태 메시지", "Clear status message" : "상태 메시지 지움", "Set status message" : "상태 메시지 설정", - "There was an error saving the status" : "상태 저장에 오류가 발생했습니다", - "There was an error clearing the status" : "상태 해제에 오류가 발생했습니다", + "There was an error saving the status" : "상태 저장에 오류가 발생했습니다.", + "There was an error clearing the status" : "상태 해제에 오류가 발생했습니다.", "No recent status changes" : "최근 상태 변경 없음", "Away" : "자리 비움", "Do not disturb" : "방해 금지", @@ -27,11 +27,11 @@ "Online" : "접속 중", "Invisible" : "숨겨짐", "Offline" : "오프라인", - "There was an error saving the new status" : "새로운 상태 저장에 오류가 발생했습니다", + "There was an error saving the new status" : "새로운 상태 저장에 오류가 발생했습니다.", "30 minutes" : "30 분", "1 hour" : "한 시간", "4 hours" : "4 시간", - "Mute all notifications" : "모든 알림을 무시합니다", + "Mute all notifications" : "모든 알림을 음소거", "Appear offline" : "접속 안함으로 표시" },"pluralForm" :"nplurals=1; plural=0;" }
\ No newline at end of file diff --git a/apps/user_status/l10n/pl.js b/apps/user_status/l10n/pl.js index ff891adeb70..b992a81c48f 100644 --- a/apps/user_status/l10n/pl.js +++ b/apps/user_status/l10n/pl.js @@ -11,14 +11,23 @@ OC.L10N.register( "User status" : "Status użytkownika", "View profile" : "Zobacz profil", "Clear status after" : "Wyczyść status po", + "Emoji for your status message" : "Emoji dla komunikatu o statusie", "What is your status?" : "Jaki jest Twój status?", + "Predefined statuses" : "Predefiniowane statusy", + "Previously set" : "Ustawione wcześniej", + "Reset status" : "Zresetuj status", "Set status" : "Ustaw status", "Online status" : "Status online", "Status message" : "Komunikat statusu", + "Your status was set automatically" : "Twój status został ustawiony automatycznie", "Clear status message" : "Wyczyść komunikat statusu", "Set status message" : "Ustaw komunikat statusu", + "Reset status to \"{icon} {message}\"" : "Zresetuj status do \"{icon} {message}\"", + "Reset status to \"{message}\"" : "Zresetuj status do \"{message}\"", + "Reset status to \"{icon}\"" : "Zresetuj status do \"{icon}\"", "There was an error saving the status" : "Wystąpił błąd podczas zapisywania statusu", "There was an error clearing the status" : "Wystąpił błąd podczas usuwania statusu", + "There was an error reverting the status" : "Podczas przywracania statusu wystąpił błąd", "No recent status changes" : "Brak ostatnich zmian statusu", "Away" : "Bezczynny", "Do not disturb" : "Nie przeszkadzać", diff --git a/apps/user_status/l10n/pl.json b/apps/user_status/l10n/pl.json index 3e2e39e960a..3c8191aeef0 100644 --- a/apps/user_status/l10n/pl.json +++ b/apps/user_status/l10n/pl.json @@ -9,14 +9,23 @@ "User status" : "Status użytkownika", "View profile" : "Zobacz profil", "Clear status after" : "Wyczyść status po", + "Emoji for your status message" : "Emoji dla komunikatu o statusie", "What is your status?" : "Jaki jest Twój status?", + "Predefined statuses" : "Predefiniowane statusy", + "Previously set" : "Ustawione wcześniej", + "Reset status" : "Zresetuj status", "Set status" : "Ustaw status", "Online status" : "Status online", "Status message" : "Komunikat statusu", + "Your status was set automatically" : "Twój status został ustawiony automatycznie", "Clear status message" : "Wyczyść komunikat statusu", "Set status message" : "Ustaw komunikat statusu", + "Reset status to \"{icon} {message}\"" : "Zresetuj status do \"{icon} {message}\"", + "Reset status to \"{message}\"" : "Zresetuj status do \"{message}\"", + "Reset status to \"{icon}\"" : "Zresetuj status do \"{icon}\"", "There was an error saving the status" : "Wystąpił błąd podczas zapisywania statusu", "There was an error clearing the status" : "Wystąpił błąd podczas usuwania statusu", + "There was an error reverting the status" : "Podczas przywracania statusu wystąpił błąd", "No recent status changes" : "Brak ostatnich zmian statusu", "Away" : "Bezczynny", "Do not disturb" : "Nie przeszkadzać", diff --git a/apps/user_status/l10n/zh_CN.js b/apps/user_status/l10n/zh_CN.js index 9ad67229954..f43c36d7aa9 100644 --- a/apps/user_status/l10n/zh_CN.js +++ b/apps/user_status/l10n/zh_CN.js @@ -30,9 +30,9 @@ OC.L10N.register( "Invisible" : "不可见", "Offline" : "离线", "There was an error saving the new status" : "保存新状态时出错", - "30 minutes" : "30 分钟", - "1 hour" : "1 小时", - "4 hours" : "4 小时", + "30 minutes" : "30分钟", + "1 hour" : "1小时", + "4 hours" : "4小时", "Mute all notifications" : "静音所有通知", "Appear offline" : "显示为离线" }, diff --git a/apps/user_status/l10n/zh_CN.json b/apps/user_status/l10n/zh_CN.json index 0c516d9ef46..c5e65bb107b 100644 --- a/apps/user_status/l10n/zh_CN.json +++ b/apps/user_status/l10n/zh_CN.json @@ -28,9 +28,9 @@ "Invisible" : "不可见", "Offline" : "离线", "There was an error saving the new status" : "保存新状态时出错", - "30 minutes" : "30 分钟", - "1 hour" : "1 小时", - "4 hours" : "4 小时", + "30 minutes" : "30分钟", + "1 hour" : "1小时", + "4 hours" : "4小时", "Mute all notifications" : "静音所有通知", "Appear offline" : "显示为离线" },"pluralForm" :"nplurals=1; plural=0;" diff --git a/apps/weather_status/l10n/et_EE.js b/apps/weather_status/l10n/et_EE.js new file mode 100644 index 00000000000..5d81c84808f --- /dev/null +++ b/apps/weather_status/l10n/et_EE.js @@ -0,0 +1,38 @@ +OC.L10N.register( + "weather_status", + { + "Unknown address" : "Tundmatu aadress", + "No result." : "Vasteid ei leitud.", + "Malformed JSON data." : "Vigased JSON-andmed.", + "Error" : "Viga", + "Detect location" : "Tuvasta asukoht", + "Favorites" : "Lemmikud", + "{temperature} {unit} clear sky later today" : "{temperature} {unit} hiljem taevas selge", + "{temperature} {unit} clear sky" : "{temperature} {unit} taevas selge", + "{temperature} {unit} cloudy later today" : "{temperature} {unit} hiljem taevas pilvine", + "{temperature} {unit} cloudy" : "{temperature} {unit} pilvine", + "{temperature} {unit} fair weather later today" : "{temperature} {unit} hiljem ilus ilm", + "{temperature} {unit} fair weather" : "{temperature} {unit} ilus ilm", + "{temperature} {unit} partly cloudy later today" : "{temperature} {unit} hiljem vahelduv pilvisus", + "{temperature} {unit} partly cloudy" : "{temperature} {unit} vahelduv pilvisus", + "{temperature} {unit} foggy later today" : "{temperature} {unit} hiljem udune", + "{temperature} {unit} foggy" : "{temperature} {unit} udune", + "{temperature} {unit} light rainfall later today" : "{temperature} {unit} hiljem kerge vihm", + "{temperature} {unit} light rainfall" : "{temperature} {unit} kerge vihm", + "{temperature} {unit} rainfall later today" : "{temperature} {unit} hiljem vihm", + "{temperature} {unit} rainfall" : "{temperature} {unit} vihm", + "{temperature} {unit} heavy rainfall later today" : "{temperature} {unit} hiljem tihe vihm", + "{temperature} {unit} heavy rainfall" : "{temperature} {unit} tihe vihm", + "{temperature} {unit} rainfall showers later today" : "{temperature} {unit} hiljem hoovihm", + "{temperature} {unit} rainfall showers" : "{temperature} {unit} hoovihm", + "{temperature} {unit} light rainfall showers later today" : "{temperature} {unit} hiljem kerge hoovihm", + "{temperature} {unit} light rainfall showers" : "{temperature} {unit} kerge hoovihm", + "{temperature} {unit} heavy rainfall showers later today" : "{temperature} {unit} hiljem tihe hoovihm", + "{temperature} {unit} heavy rainfall showers" : "{temperature} {unit} tihe hoovihm", + "Loading weather" : "Ilmaennustuse laadimine", + "Remove from favorites" : "Eemalda lemmikutest", + "Add as favorite" : "Lisa lemmikuks", + "You are not logged in." : "Sa pole sisse logitud.", + "Location not found" : "Asukohta ei leitud" +}, +"nplurals=2; plural=(n != 1);"); diff --git a/apps/weather_status/l10n/et_EE.json b/apps/weather_status/l10n/et_EE.json new file mode 100644 index 00000000000..ab0d4255cfa --- /dev/null +++ b/apps/weather_status/l10n/et_EE.json @@ -0,0 +1,36 @@ +{ "translations": { + "Unknown address" : "Tundmatu aadress", + "No result." : "Vasteid ei leitud.", + "Malformed JSON data." : "Vigased JSON-andmed.", + "Error" : "Viga", + "Detect location" : "Tuvasta asukoht", + "Favorites" : "Lemmikud", + "{temperature} {unit} clear sky later today" : "{temperature} {unit} hiljem taevas selge", + "{temperature} {unit} clear sky" : "{temperature} {unit} taevas selge", + "{temperature} {unit} cloudy later today" : "{temperature} {unit} hiljem taevas pilvine", + "{temperature} {unit} cloudy" : "{temperature} {unit} pilvine", + "{temperature} {unit} fair weather later today" : "{temperature} {unit} hiljem ilus ilm", + "{temperature} {unit} fair weather" : "{temperature} {unit} ilus ilm", + "{temperature} {unit} partly cloudy later today" : "{temperature} {unit} hiljem vahelduv pilvisus", + "{temperature} {unit} partly cloudy" : "{temperature} {unit} vahelduv pilvisus", + "{temperature} {unit} foggy later today" : "{temperature} {unit} hiljem udune", + "{temperature} {unit} foggy" : "{temperature} {unit} udune", + "{temperature} {unit} light rainfall later today" : "{temperature} {unit} hiljem kerge vihm", + "{temperature} {unit} light rainfall" : "{temperature} {unit} kerge vihm", + "{temperature} {unit} rainfall later today" : "{temperature} {unit} hiljem vihm", + "{temperature} {unit} rainfall" : "{temperature} {unit} vihm", + "{temperature} {unit} heavy rainfall later today" : "{temperature} {unit} hiljem tihe vihm", + "{temperature} {unit} heavy rainfall" : "{temperature} {unit} tihe vihm", + "{temperature} {unit} rainfall showers later today" : "{temperature} {unit} hiljem hoovihm", + "{temperature} {unit} rainfall showers" : "{temperature} {unit} hoovihm", + "{temperature} {unit} light rainfall showers later today" : "{temperature} {unit} hiljem kerge hoovihm", + "{temperature} {unit} light rainfall showers" : "{temperature} {unit} kerge hoovihm", + "{temperature} {unit} heavy rainfall showers later today" : "{temperature} {unit} hiljem tihe hoovihm", + "{temperature} {unit} heavy rainfall showers" : "{temperature} {unit} tihe hoovihm", + "Loading weather" : "Ilmaennustuse laadimine", + "Remove from favorites" : "Eemalda lemmikutest", + "Add as favorite" : "Lisa lemmikuks", + "You are not logged in." : "Sa pole sisse logitud.", + "Location not found" : "Asukohta ei leitud" +},"pluralForm" :"nplurals=2; plural=(n != 1);" +}
\ No newline at end of file diff --git a/apps/weather_status/l10n/gl.js b/apps/weather_status/l10n/gl.js index 9bc90ef6483..80e49cb6f93 100644 --- a/apps/weather_status/l10n/gl.js +++ b/apps/weather_status/l10n/gl.js @@ -11,27 +11,27 @@ OC.L10N.register( "Detect location" : "Detectar localización", "Set custom address" : "Estabelecer o enderezo personalizado", "Favorites" : "Favoritos", - "{temperature} {unit} clear sky later today" : "{temperature} {unit} hoxe vai estar o ceo despexado", + "{temperature} {unit} clear sky later today" : "{temperature} {unit} ceo despexado hoxe máis tarde", "{temperature} {unit} clear sky" : "{temperature} {unit} ceo despexado", - "{temperature} {unit} cloudy later today" : "{temperature} {unit} hoxe vai estar nubrado", + "{temperature} {unit} cloudy later today" : "{temperature} {unit} nubrado hoxe máis tarde", "{temperature} {unit} cloudy" : "{temperature} {unit} nubrado", - "{temperature} {unit} fair weather later today" : "{temperature} {unit} bo tempo previsto para hoxe", + "{temperature} {unit} fair weather later today" : "{temperature} {unit} bo tempo hoxe máis tarde", "{temperature} {unit} fair weather" : "{temperature} {unit} bo tempo", - "{temperature} {unit} partly cloudy later today" : "{temperature} {unit} hoxe estará parcialmente nubrado", + "{temperature} {unit} partly cloudy later today" : "{temperature} {unit} parcialmente nubrado hoxe máis tarde", "{temperature} {unit} partly cloudy" : "{temperature} {unit} parcialmente nuboso", - "{temperature} {unit} foggy later today" : "{temperature} {unit} néboa prevista para hoxe", + "{temperature} {unit} foggy later today" : "{temperature} {unit} néboa hoxe máis tarde", "{temperature} {unit} foggy" : "{temperature} {unit} brumoso", - "{temperature} {unit} light rainfall later today" : "{temperature} {unit} chuvias leves previstas para hoxe", - "{temperature} {unit} light rainfall" : "{temperature} {unit} chuvias leves", - "{temperature} {unit} rainfall later today" : "{temperature} {unit} chuvias previstas para hoxe", - "{temperature} {unit} rainfall" : "{temperature} {unit} chuvia", - "{temperature} {unit} heavy rainfall later today" : "{temperature} {unit} chuvias fortes previstas para hoxe", - "{temperature} {unit} heavy rainfall" : "{temperature} {unit} chuvia forte", - "{temperature} {unit} rainfall showers later today" : "{temperature} {unit} chuvascos previstos para hoxe", + "{temperature} {unit} light rainfall later today" : "{temperature} {unit} choiva lene hoxe máis tarde", + "{temperature} {unit} light rainfall" : "{temperature} {unit} choiva lene", + "{temperature} {unit} rainfall later today" : "{temperature} {unit} choiva hoxe máis tarde", + "{temperature} {unit} rainfall" : "{temperature} {unit} choiva", + "{temperature} {unit} heavy rainfall later today" : "{temperature} {unit} choiva forte hoxe máis tarde", + "{temperature} {unit} heavy rainfall" : "{temperature} {unit} choiva forte", + "{temperature} {unit} rainfall showers later today" : "{temperature} {unit} chuvascos hoxe máis tarde", "{temperature} {unit} rainfall showers" : "{temperature} {unit} chuvascos", - "{temperature} {unit} light rainfall showers later today" : "{temperature} {unit} chuvascos lixeiros previstos para hoxe", + "{temperature} {unit} light rainfall showers later today" : "{temperature} {unit} chuvascos lixeiros hoxe máis tarde", "{temperature} {unit} light rainfall showers" : "{temperature} {unit} chuvascos lixeiros", - "{temperature} {unit} heavy rainfall showers later today" : "{temperature} {unit} chuvascos fortes previstos para hoxe", + "{temperature} {unit} heavy rainfall showers later today" : "{temperature} {unit} chuvascos fortes hoxe máis tarde", "{temperature} {unit} heavy rainfall showers" : "{temperature} {unit} chuvascos fortes", "More weather for {adr}" : "Máis previsións para {adr}", "Loading weather" : "Cargando as previsións", diff --git a/apps/weather_status/l10n/gl.json b/apps/weather_status/l10n/gl.json index 723e7419541..6de8dfeda50 100644 --- a/apps/weather_status/l10n/gl.json +++ b/apps/weather_status/l10n/gl.json @@ -9,27 +9,27 @@ "Detect location" : "Detectar localización", "Set custom address" : "Estabelecer o enderezo personalizado", "Favorites" : "Favoritos", - "{temperature} {unit} clear sky later today" : "{temperature} {unit} hoxe vai estar o ceo despexado", + "{temperature} {unit} clear sky later today" : "{temperature} {unit} ceo despexado hoxe máis tarde", "{temperature} {unit} clear sky" : "{temperature} {unit} ceo despexado", - "{temperature} {unit} cloudy later today" : "{temperature} {unit} hoxe vai estar nubrado", + "{temperature} {unit} cloudy later today" : "{temperature} {unit} nubrado hoxe máis tarde", "{temperature} {unit} cloudy" : "{temperature} {unit} nubrado", - "{temperature} {unit} fair weather later today" : "{temperature} {unit} bo tempo previsto para hoxe", + "{temperature} {unit} fair weather later today" : "{temperature} {unit} bo tempo hoxe máis tarde", "{temperature} {unit} fair weather" : "{temperature} {unit} bo tempo", - "{temperature} {unit} partly cloudy later today" : "{temperature} {unit} hoxe estará parcialmente nubrado", + "{temperature} {unit} partly cloudy later today" : "{temperature} {unit} parcialmente nubrado hoxe máis tarde", "{temperature} {unit} partly cloudy" : "{temperature} {unit} parcialmente nuboso", - "{temperature} {unit} foggy later today" : "{temperature} {unit} néboa prevista para hoxe", + "{temperature} {unit} foggy later today" : "{temperature} {unit} néboa hoxe máis tarde", "{temperature} {unit} foggy" : "{temperature} {unit} brumoso", - "{temperature} {unit} light rainfall later today" : "{temperature} {unit} chuvias leves previstas para hoxe", - "{temperature} {unit} light rainfall" : "{temperature} {unit} chuvias leves", - "{temperature} {unit} rainfall later today" : "{temperature} {unit} chuvias previstas para hoxe", - "{temperature} {unit} rainfall" : "{temperature} {unit} chuvia", - "{temperature} {unit} heavy rainfall later today" : "{temperature} {unit} chuvias fortes previstas para hoxe", - "{temperature} {unit} heavy rainfall" : "{temperature} {unit} chuvia forte", - "{temperature} {unit} rainfall showers later today" : "{temperature} {unit} chuvascos previstos para hoxe", + "{temperature} {unit} light rainfall later today" : "{temperature} {unit} choiva lene hoxe máis tarde", + "{temperature} {unit} light rainfall" : "{temperature} {unit} choiva lene", + "{temperature} {unit} rainfall later today" : "{temperature} {unit} choiva hoxe máis tarde", + "{temperature} {unit} rainfall" : "{temperature} {unit} choiva", + "{temperature} {unit} heavy rainfall later today" : "{temperature} {unit} choiva forte hoxe máis tarde", + "{temperature} {unit} heavy rainfall" : "{temperature} {unit} choiva forte", + "{temperature} {unit} rainfall showers later today" : "{temperature} {unit} chuvascos hoxe máis tarde", "{temperature} {unit} rainfall showers" : "{temperature} {unit} chuvascos", - "{temperature} {unit} light rainfall showers later today" : "{temperature} {unit} chuvascos lixeiros previstos para hoxe", + "{temperature} {unit} light rainfall showers later today" : "{temperature} {unit} chuvascos lixeiros hoxe máis tarde", "{temperature} {unit} light rainfall showers" : "{temperature} {unit} chuvascos lixeiros", - "{temperature} {unit} heavy rainfall showers later today" : "{temperature} {unit} chuvascos fortes previstos para hoxe", + "{temperature} {unit} heavy rainfall showers later today" : "{temperature} {unit} chuvascos fortes hoxe máis tarde", "{temperature} {unit} heavy rainfall showers" : "{temperature} {unit} chuvascos fortes", "More weather for {adr}" : "Máis previsións para {adr}", "Loading weather" : "Cargando as previsións", diff --git a/apps/weather_status/l10n/ko.js b/apps/weather_status/l10n/ko.js index 8426dc8b2c3..fb2a4196840 100644 --- a/apps/weather_status/l10n/ko.js +++ b/apps/weather_status/l10n/ko.js @@ -18,7 +18,7 @@ OC.L10N.register( "You are not logged in." : "당신은 로그인하지 않았습니다.", "There was an error getting the weather status information." : "날씨 현황 정보를 불러오는 동안 오류가 발생했습니다.", "No weather information found" : "날씨 정보 없음", - "Location not found" : "위치를 찾을 수 없습니다", + "Location not found" : "위치를 찾을 수 없습니다.", "There was an error setting the location address." : "이 위치의 주소를 설정하는 동안 오류가 발생했습니다.", "There was an error setting the location." : "주소를 설정하는 동안 오류가 발생했습니다.", "There was an error saving the mode." : "모드 저장에 오류가 있습니다.", diff --git a/apps/weather_status/l10n/ko.json b/apps/weather_status/l10n/ko.json index bae160dbd03..a0ed7600ac5 100644 --- a/apps/weather_status/l10n/ko.json +++ b/apps/weather_status/l10n/ko.json @@ -16,7 +16,7 @@ "You are not logged in." : "당신은 로그인하지 않았습니다.", "There was an error getting the weather status information." : "날씨 현황 정보를 불러오는 동안 오류가 발생했습니다.", "No weather information found" : "날씨 정보 없음", - "Location not found" : "위치를 찾을 수 없습니다", + "Location not found" : "위치를 찾을 수 없습니다.", "There was an error setting the location address." : "이 위치의 주소를 설정하는 동안 오류가 발생했습니다.", "There was an error setting the location." : "주소를 설정하는 동안 오류가 발생했습니다.", "There was an error saving the mode." : "모드 저장에 오류가 있습니다.", diff --git a/apps/weather_status/lib/Service/WeatherStatusService.php b/apps/weather_status/lib/Service/WeatherStatusService.php index 5b1d926f090..b334a5e3ba3 100644 --- a/apps/weather_status/lib/Service/WeatherStatusService.php +++ b/apps/weather_status/lib/Service/WeatherStatusService.php @@ -8,7 +8,7 @@ declare(strict_types=1); * @author Julien Veyssier <eneiluj@posteo.net> * @author Roeland Jago Douma <roeland@famdouma.nl> * - * @license GNU AGPL version 3 or any later version + * @license AGPL-3.0-or-later * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as @@ -310,13 +310,14 @@ class WeatherStatusService { */ private function searchForAddress(string $address): array { $params = [ + 'q' => $address, 'format' => 'json', 'addressdetails' => '1', 'extratags' => '1', 'namedetails' => '1', 'limit' => '1', ]; - $url = 'https://nominatim.openstreetmap.org/search/' . $address; + $url = 'https://nominatim.openstreetmap.org/search'; $results = $this->requestJSON($url, $params); if (count($results) > 0) { return $results[0]; diff --git a/apps/workflowengine/composer/composer/autoload_classmap.php b/apps/workflowengine/composer/composer/autoload_classmap.php index 39a6c6c4703..0444cce13e7 100644 --- a/apps/workflowengine/composer/composer/autoload_classmap.php +++ b/apps/workflowengine/composer/composer/autoload_classmap.php @@ -23,7 +23,7 @@ return array( 'OCA\\WorkflowEngine\\Command\\Index' => $baseDir . '/../lib/Command/Index.php', 'OCA\\WorkflowEngine\\Controller\\AWorkflowController' => $baseDir . '/../lib/Controller/AWorkflowController.php', 'OCA\\WorkflowEngine\\Controller\\GlobalWorkflowsController' => $baseDir . '/../lib/Controller/GlobalWorkflowsController.php', - 'OCA\\WorkflowEngine\\Controller\\RequestTime' => $baseDir . '/../lib/Controller/RequestTime.php', + 'OCA\\WorkflowEngine\\Controller\\RequestTimeController' => $baseDir . '/../lib/Controller/RequestTimeController.php', 'OCA\\WorkflowEngine\\Controller\\UserWorkflowsController' => $baseDir . '/../lib/Controller/UserWorkflowsController.php', 'OCA\\WorkflowEngine\\Entity\\File' => $baseDir . '/../lib/Entity/File.php', 'OCA\\WorkflowEngine\\Helper\\LogContext' => $baseDir . '/../lib/Helper/LogContext.php', diff --git a/apps/workflowengine/composer/composer/autoload_static.php b/apps/workflowengine/composer/composer/autoload_static.php index e867bfa4feb..0b9ac89ae30 100644 --- a/apps/workflowengine/composer/composer/autoload_static.php +++ b/apps/workflowengine/composer/composer/autoload_static.php @@ -38,7 +38,7 @@ class ComposerStaticInitWorkflowEngine 'OCA\\WorkflowEngine\\Command\\Index' => __DIR__ . '/..' . '/../lib/Command/Index.php', 'OCA\\WorkflowEngine\\Controller\\AWorkflowController' => __DIR__ . '/..' . '/../lib/Controller/AWorkflowController.php', 'OCA\\WorkflowEngine\\Controller\\GlobalWorkflowsController' => __DIR__ . '/..' . '/../lib/Controller/GlobalWorkflowsController.php', - 'OCA\\WorkflowEngine\\Controller\\RequestTime' => __DIR__ . '/..' . '/../lib/Controller/RequestTime.php', + 'OCA\\WorkflowEngine\\Controller\\RequestTimeController' => __DIR__ . '/..' . '/../lib/Controller/RequestTimeController.php', 'OCA\\WorkflowEngine\\Controller\\UserWorkflowsController' => __DIR__ . '/..' . '/../lib/Controller/UserWorkflowsController.php', 'OCA\\WorkflowEngine\\Entity\\File' => __DIR__ . '/..' . '/../lib/Entity/File.php', 'OCA\\WorkflowEngine\\Helper\\LogContext' => __DIR__ . '/..' . '/../lib/Helper/LogContext.php', diff --git a/apps/workflowengine/l10n/gl.js b/apps/workflowengine/l10n/gl.js index fe3f37969ab..5ab427c3e62 100644 --- a/apps/workflowengine/l10n/gl.js +++ b/apps/workflowengine/l10n/gl.js @@ -45,7 +45,7 @@ OC.L10N.register( "Check #%s does not exist" : "Non existe a proba num. %s ", "Check %s is invalid or does not exist" : "A proba %s é incorrecta ou non existe", "Flow" : "Fluxo", - "Nextcloud workflow engine" : "Motor de fluxo de traballo do Nextcloud", + "Nextcloud workflow engine" : "Motor de fluxo de traballo de Nextcloud", "Select a filter" : "Seleccione un filtro", "Select a comparator" : "Seleccione un comparador", "Select a file type" : "Seleccione un tipo de ficheiro", @@ -106,7 +106,7 @@ OC.L10N.register( "between" : "entre", "not between" : "non entre", "Request user agent" : "Solicitar axente de usuario", - "User group membership" : "Pertencia a un grupo de usuarios", + "User group membership" : "Pertenza a un grupo de usuarios", "is member of" : "é membro de", "is not member of" : "non é membro de", "Predefined URLs" : "URL predefinidos", diff --git a/apps/workflowengine/l10n/gl.json b/apps/workflowengine/l10n/gl.json index 51b74de4185..cc3ee15655c 100644 --- a/apps/workflowengine/l10n/gl.json +++ b/apps/workflowengine/l10n/gl.json @@ -43,7 +43,7 @@ "Check #%s does not exist" : "Non existe a proba num. %s ", "Check %s is invalid or does not exist" : "A proba %s é incorrecta ou non existe", "Flow" : "Fluxo", - "Nextcloud workflow engine" : "Motor de fluxo de traballo do Nextcloud", + "Nextcloud workflow engine" : "Motor de fluxo de traballo de Nextcloud", "Select a filter" : "Seleccione un filtro", "Select a comparator" : "Seleccione un comparador", "Select a file type" : "Seleccione un tipo de ficheiro", @@ -104,7 +104,7 @@ "between" : "entre", "not between" : "non entre", "Request user agent" : "Solicitar axente de usuario", - "User group membership" : "Pertencia a un grupo de usuarios", + "User group membership" : "Pertenza a un grupo de usuarios", "is member of" : "é membro de", "is not member of" : "non é membro de", "Predefined URLs" : "URL predefinidos", diff --git a/apps/workflowengine/l10n/ko.js b/apps/workflowengine/l10n/ko.js index 3fc2c22159d..004f7a4914f 100644 --- a/apps/workflowengine/l10n/ko.js +++ b/apps/workflowengine/l10n/ko.js @@ -20,18 +20,18 @@ OC.L10N.register( "File accessed" : "파일 접근됨", "File copied" : "파일 복사됨", "Tag assigned" : "태그 할당됨", - "%s created %s" : "%s이(가) %s을(를) 생성하였습니다.", - "%s modified %s" : "%s이(가) %s을(를) 수정하였습니다.", - "%s deleted %s" : "%s이(가) %s을(를) 삭제하였습니다.", - "%s accessed %s" : "%s이(가) %s에 접근하였습니다.", - "%s renamed %s" : "%s이(가) %s의 이름을 변경하였습니다.", - "%s copied %s" : "%s이(가) %s을(를) 복사하였습니다.", - "%s assigned %s to %s" : "%s이(가) %s을(를) %s로 할당하였습니다.", + "%s created %s" : "%s님이 %s을(를) 생성함", + "%s modified %s" : "%s님이 %s을(를) 수정함", + "%s deleted %s" : "%s님이 %s을(를) 삭제함", + "%s accessed %s" : "%s님이 %s에 접근함", + "%s renamed %s" : "%s님이 %s의 이름을 변경함", + "%s copied %s" : "%s님이 %s을(를) 복사함", + "%s assigned %s to %s" : "%s님이 %s을(를) %s(으)로 할당함", "Operation #%s does not exist" : "작업 #%s이(가) 존재하지 않음", - "Entity %s does not exist" : "엔티티 %s이 없습니다", - "Entity %s is invalid" : "엔티티 %s이 유효하지 않습니다", + "Entity %s does not exist" : "엔티티 %s이 없습니다.", + "Entity %s is invalid" : "엔티티 %s이 유효하지 않습니다.", "No events are chosen." : "선택된 이벤트 없음", - "Entity %s has no event %s" : "엔티티 %s은 이벤트 %s을 포함하지 않습니다", + "Entity %s has no event %s" : "엔티티 %s은 이벤트 %s을 포함하지 않습니다.", "Operation %s does not exist" : "작업 %s이(가) 존재하지 않음", "Operation %s is invalid" : "작업 %s이(가) 잘못됨", "Check %s does not exist" : "검사 %s이(가) 존재하지 않음", diff --git a/apps/workflowengine/l10n/ko.json b/apps/workflowengine/l10n/ko.json index 2229bb953c2..a2e0bbc8cea 100644 --- a/apps/workflowengine/l10n/ko.json +++ b/apps/workflowengine/l10n/ko.json @@ -18,18 +18,18 @@ "File accessed" : "파일 접근됨", "File copied" : "파일 복사됨", "Tag assigned" : "태그 할당됨", - "%s created %s" : "%s이(가) %s을(를) 생성하였습니다.", - "%s modified %s" : "%s이(가) %s을(를) 수정하였습니다.", - "%s deleted %s" : "%s이(가) %s을(를) 삭제하였습니다.", - "%s accessed %s" : "%s이(가) %s에 접근하였습니다.", - "%s renamed %s" : "%s이(가) %s의 이름을 변경하였습니다.", - "%s copied %s" : "%s이(가) %s을(를) 복사하였습니다.", - "%s assigned %s to %s" : "%s이(가) %s을(를) %s로 할당하였습니다.", + "%s created %s" : "%s님이 %s을(를) 생성함", + "%s modified %s" : "%s님이 %s을(를) 수정함", + "%s deleted %s" : "%s님이 %s을(를) 삭제함", + "%s accessed %s" : "%s님이 %s에 접근함", + "%s renamed %s" : "%s님이 %s의 이름을 변경함", + "%s copied %s" : "%s님이 %s을(를) 복사함", + "%s assigned %s to %s" : "%s님이 %s을(를) %s(으)로 할당함", "Operation #%s does not exist" : "작업 #%s이(가) 존재하지 않음", - "Entity %s does not exist" : "엔티티 %s이 없습니다", - "Entity %s is invalid" : "엔티티 %s이 유효하지 않습니다", + "Entity %s does not exist" : "엔티티 %s이 없습니다.", + "Entity %s is invalid" : "엔티티 %s이 유효하지 않습니다.", "No events are chosen." : "선택된 이벤트 없음", - "Entity %s has no event %s" : "엔티티 %s은 이벤트 %s을 포함하지 않습니다", + "Entity %s has no event %s" : "엔티티 %s은 이벤트 %s을 포함하지 않습니다.", "Operation %s does not exist" : "작업 %s이(가) 존재하지 않음", "Operation %s is invalid" : "작업 %s이(가) 잘못됨", "Check %s does not exist" : "검사 %s이(가) 존재하지 않음", diff --git a/apps/workflowengine/l10n/ru.js b/apps/workflowengine/l10n/ru.js index f0eee3e22fe..1a742414546 100644 --- a/apps/workflowengine/l10n/ru.js +++ b/apps/workflowengine/l10n/ru.js @@ -48,6 +48,7 @@ OC.L10N.register( "Nextcloud workflow engine" : "Механизм обработки Nextcloud", "Select a filter" : "Выберите фильтр", "Select a comparator" : "Выберите компаратор", + "Remove filter" : "Удалить фильтр", "Select a file type" : "Выберите тип файла", "e.g. httpd/unix-directory" : "например, каталог httpd/unix", "Folder" : "Каталог", @@ -70,6 +71,7 @@ OC.L10N.register( "Add new flow" : "Добавить обработку", "When" : "Когда", "and" : "и", + "Add a new filter" : "Добавить новый фильтр", "Cancel" : "Отменить", "Delete" : "Удалить", "The configuration is invalid" : "Конфигурация неверна", diff --git a/apps/workflowengine/l10n/ru.json b/apps/workflowengine/l10n/ru.json index 82f412d70d7..9395f45559d 100644 --- a/apps/workflowengine/l10n/ru.json +++ b/apps/workflowengine/l10n/ru.json @@ -46,6 +46,7 @@ "Nextcloud workflow engine" : "Механизм обработки Nextcloud", "Select a filter" : "Выберите фильтр", "Select a comparator" : "Выберите компаратор", + "Remove filter" : "Удалить фильтр", "Select a file type" : "Выберите тип файла", "e.g. httpd/unix-directory" : "например, каталог httpd/unix", "Folder" : "Каталог", @@ -68,6 +69,7 @@ "Add new flow" : "Добавить обработку", "When" : "Когда", "and" : "и", + "Add a new filter" : "Добавить новый фильтр", "Cancel" : "Отменить", "Delete" : "Удалить", "The configuration is invalid" : "Конфигурация неверна", diff --git a/apps/workflowengine/l10n/uk.js b/apps/workflowengine/l10n/uk.js index 92b05314d3b..ce38c8d509c 100644 --- a/apps/workflowengine/l10n/uk.js +++ b/apps/workflowengine/l10n/uk.js @@ -60,7 +60,7 @@ OC.L10N.register( "Available flows" : "Процеси", "For details on how to write your own flow, check out the development documentation." : "Перегляньте документацію для розробника, щоби дізнатися, як додати власні процеси.", "More flows" : "Більше процесів", - "Browse the App Store" : "Перегляньте App Store", + "Browse the App Store" : "Перейти до App Store", "Show less" : "Показувати менше", "Show more" : "Показати більше", "Configured flows" : "Налаштовані процеси", diff --git a/apps/workflowengine/l10n/uk.json b/apps/workflowengine/l10n/uk.json index 34d3a0b022b..a18539005a9 100644 --- a/apps/workflowengine/l10n/uk.json +++ b/apps/workflowengine/l10n/uk.json @@ -58,7 +58,7 @@ "Available flows" : "Процеси", "For details on how to write your own flow, check out the development documentation." : "Перегляньте документацію для розробника, щоби дізнатися, як додати власні процеси.", "More flows" : "Більше процесів", - "Browse the App Store" : "Перегляньте App Store", + "Browse the App Store" : "Перейти до App Store", "Show less" : "Показувати менше", "Show more" : "Показати більше", "Configured flows" : "Налаштовані процеси", diff --git a/apps/workflowengine/lib/AppInfo/Application.php b/apps/workflowengine/lib/AppInfo/Application.php index 19ff530f2ae..ddf6bf30af6 100644 --- a/apps/workflowengine/lib/AppInfo/Application.php +++ b/apps/workflowengine/lib/AppInfo/Application.php @@ -27,7 +27,6 @@ namespace OCA\WorkflowEngine\AppInfo; use Closure; -use OCA\WorkflowEngine\Controller\RequestTime; use OCA\WorkflowEngine\Helper\LogContext; use OCA\WorkflowEngine\Listener\LoadAdditionalSettingsScriptsListener; use OCA\WorkflowEngine\Manager; @@ -53,7 +52,6 @@ class Application extends App implements IBootstrap { } public function register(IRegistrationContext $context): void { - $context->registerServiceAlias('RequestTimeController', RequestTime::class); $context->registerEventListener( LoadSettingsScriptsEvent::class, LoadAdditionalSettingsScriptsListener::class, diff --git a/apps/workflowengine/lib/Controller/RequestTime.php b/apps/workflowengine/lib/Controller/RequestTimeController.php index a1d9ff4a630..bb65e020c56 100644 --- a/apps/workflowengine/lib/Controller/RequestTime.php +++ b/apps/workflowengine/lib/Controller/RequestTimeController.php @@ -26,7 +26,7 @@ namespace OCA\WorkflowEngine\Controller; use OCP\AppFramework\Controller; use OCP\AppFramework\Http\JSONResponse; -class RequestTime extends Controller { +class RequestTimeController extends Controller { /** * @NoAdminRequired diff --git a/apps/workflowengine/src/components/Checks/request.js b/apps/workflowengine/src/components/Checks/request.js index 9f33bac6676..04d2069c7c8 100644 --- a/apps/workflowengine/src/components/Checks/request.js +++ b/apps/workflowengine/src/components/Checks/request.js @@ -38,7 +38,7 @@ const RequestChecks = [ component: RequestURL, }, { - class: 'OCA\\WorkflowEngine\\Check\\RequestTime', + class: 'OCA\\WorkflowEngine\\Check\\RequestTimeController', name: t('workflowengine', 'Request time'), operators: [ { operator: 'in', name: t('workflowengine', 'between') }, |