diff options
Diffstat (limited to 'apps/federation')
189 files changed, 2608 insertions, 1450 deletions
diff --git a/apps/federation/appinfo/info.xml b/apps/federation/appinfo/info.xml index 1d34358ae77..2762344344d 100644 --- a/apps/federation/appinfo/info.xml +++ b/apps/federation/appinfo/info.xml @@ -10,7 +10,7 @@ <name>Federation</name> <summary>Federation allows you to connect with other trusted servers to exchange the account directory.</summary> <description>Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing.</description> - <version>1.20.0</version> + <version>1.22.0</version> <licence>agpl</licence> <author>Bjoern Schiessle</author> <namespace>Federation</namespace> @@ -22,7 +22,7 @@ <bugs>https://github.com/nextcloud/server/issues</bugs> <dependencies> - <nextcloud min-version="30" max-version="30"/> + <nextcloud min-version="32" max-version="32"/> </dependencies> <background-jobs> diff --git a/apps/federation/appinfo/routes.php b/apps/federation/appinfo/routes.php index 7ab9f84edd5..343870614b3 100644 --- a/apps/federation/appinfo/routes.php +++ b/apps/federation/appinfo/routes.php @@ -6,18 +6,6 @@ * SPDX-License-Identifier: AGPL-3.0-only */ return [ - 'routes' => [ - [ - 'name' => 'Settings#addServer', - 'url' => '/trusted-servers', - 'verb' => 'POST' - ], - [ - 'name' => 'Settings#removeServer', - 'url' => '/trusted-servers/{id}', - 'verb' => 'DELETE' - ], - ], 'ocs' => [ // old endpoints, only used by Nextcloud and ownCloud [ diff --git a/apps/federation/composer/composer/autoload_classmap.php b/apps/federation/composer/composer/autoload_classmap.php index 1be343a65d1..d648b643c46 100644 --- a/apps/federation/composer/composer/autoload_classmap.php +++ b/apps/federation/composer/composer/autoload_classmap.php @@ -16,7 +16,6 @@ return array( 'OCA\\Federation\\DAV\\FedAuth' => $baseDir . '/../lib/DAV/FedAuth.php', 'OCA\\Federation\\DbHandler' => $baseDir . '/../lib/DbHandler.php', 'OCA\\Federation\\Listener\\SabrePluginAuthInitListener' => $baseDir . '/../lib/Listener/SabrePluginAuthInitListener.php', - 'OCA\\Federation\\Middleware\\AddServerMiddleware' => $baseDir . '/../lib/Middleware/AddServerMiddleware.php', 'OCA\\Federation\\Migration\\Version1010Date20200630191302' => $baseDir . '/../lib/Migration/Version1010Date20200630191302.php', 'OCA\\Federation\\Settings\\Admin' => $baseDir . '/../lib/Settings/Admin.php', 'OCA\\Federation\\SyncFederationAddressBooks' => $baseDir . '/../lib/SyncFederationAddressBooks.php', diff --git a/apps/federation/composer/composer/autoload_static.php b/apps/federation/composer/composer/autoload_static.php index 927aca66949..29932e1dffc 100644 --- a/apps/federation/composer/composer/autoload_static.php +++ b/apps/federation/composer/composer/autoload_static.php @@ -31,7 +31,6 @@ class ComposerStaticInitFederation 'OCA\\Federation\\DAV\\FedAuth' => __DIR__ . '/..' . '/../lib/DAV/FedAuth.php', 'OCA\\Federation\\DbHandler' => __DIR__ . '/..' . '/../lib/DbHandler.php', 'OCA\\Federation\\Listener\\SabrePluginAuthInitListener' => __DIR__ . '/..' . '/../lib/Listener/SabrePluginAuthInitListener.php', - 'OCA\\Federation\\Middleware\\AddServerMiddleware' => __DIR__ . '/..' . '/../lib/Middleware/AddServerMiddleware.php', 'OCA\\Federation\\Migration\\Version1010Date20200630191302' => __DIR__ . '/..' . '/../lib/Migration/Version1010Date20200630191302.php', 'OCA\\Federation\\Settings\\Admin' => __DIR__ . '/..' . '/../lib/Settings/Admin.php', 'OCA\\Federation\\SyncFederationAddressBooks' => __DIR__ . '/..' . '/../lib/SyncFederationAddressBooks.php', diff --git a/apps/federation/css/settings-admin.css b/apps/federation/css/settings-admin.css index 1e298a5d796..6fa103e83b2 100644 --- a/apps/federation/css/settings-admin.css +++ b/apps/federation/css/settings-admin.css @@ -9,12 +9,14 @@ #listOfTrustedServers li { padding-bottom: 10px; + display: flex; + align-items: center; } .removeTrustedServer { display: none; - vertical-align:middle; - padding-left: 10px; + vertical-align: middle; + padding-inline-start: 10px; } #ocFederationAddServerButton { @@ -22,24 +24,24 @@ } #listOfTrustedServers .status { - margin-right: 10px; + margin-inline-end: 10px; } #listOfTrustedServers .icon { - cursor: pointer; display: inline-block; + cursor: pointer; vertical-align: middle; - margin-left: 10px; -} - -#ocFederationAddServer #serverUrl { - width: 270px; + margin-inline-start: 10px; } .serverUrl-block { - max-width: 310px; display: flex; - flex-direction: row; align-items: center; - justify-content: space-between; + flex-direction: row; + justify-content: flex-start; + gap: 8px; +} + +.serverUrl-block input { + width: 270px; } diff --git a/apps/federation/img/app.svg b/apps/federation/img/app.svg index 370c9c51125..22ce8e18f99 100644 --- a/apps/federation/img/app.svg +++ b/apps/federation/img/app.svg @@ -1 +1 @@ -<svg viewBox="0 0 16 16" height="16" width="16" xmlns="http://www.w3.org/2000/svg" xml:space="preserve" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2"><path d="M17.999 22.775c-1.049 0-1.941-.367-2.674-1.101-.733-.734-1.1-1.625-1.1-2.674a3.472 3.472 0 0 1 .1-.825l-5.825-3.4a3.604 3.604 0 0 1-1.146.737A3.545 3.545 0 0 1 6 15.775c-1.049 0-1.94-.367-2.674-1.102-.734-.734-1.101-1.625-1.101-2.674s.367-1.941 1.101-2.674c.734-.733 1.625-1.1 2.674-1.1.472 0 .923.088 1.354.262.431.176.813.421 1.146.738l5.825-3.4a3.388 3.388 0 0 1-.1-.825c0-1.049.367-1.94 1.101-2.674.735-.734 1.626-1.101 2.676-1.101 1.049 0 1.94.367 2.673 1.101.733.735 1.1 1.626 1.1 2.675s-.367 1.941-1.101 2.674c-.734.733-1.625 1.1-2.674 1.1-.472 0-.923-.079-1.354-.237a3.3 3.3 0 0 1-1.146-.713l-5.825 3.35a3.388 3.388 0 0 1 .1.825 3.46 3.46 0 0 1-.1.825l5.825 3.35a3.284 3.284 0 0 1 1.146-.712A3.879 3.879 0 0 1 18 15.225c1.049 0 1.94.367 2.674 1.101.734.735 1.101 1.627 1.101 2.676 0 1.049-.367 1.94-1.101 2.673-.735.733-1.626 1.1-2.675 1.1Z" style="fill:#fff;fill-rule:nonzero" transform="translate(.06 .204) scale(.64965)"/></svg>
\ No newline at end of file +<svg xmlns="http://www.w3.org/2000/svg" height="20px" viewBox="0 -960 960 960" width="20px" fill="#fff"><path d="M696-96q-50 0-85-35t-35-85q0-8 1-14.5t3-14.5L342-390q-15 16-35.35 23-20.36 7-42.65 7-50 0-85-35t-35-85q0-50 35-85t85-35q22 0 42.5 7.5T342-570l238-145q-2-8-3-14.5t-1-14.5q0-50 35-85t85-35q50 0 85 35t35 85q0 50-35 85t-85 35q-22.29 0-42.65-7Q633-638 618-654L380-509q2 8 3 14.5t1 14.5q0 8-1 14.5t-3 14.5l238 145q15-17 35.35-23.5Q673.71-336 696-336q50 0 85 35t35 85q0 50-35 85t-85 35Z"/></svg>
\ No newline at end of file diff --git a/apps/federation/js/settings-admin.js b/apps/federation/js/settings-admin.js index 2487ed993ac..aa672e53e94 100644 --- a/apps/federation/js/settings-admin.js +++ b/apps/federation/js/settings-admin.js @@ -51,9 +51,6 @@ }); $inpServerUrl.on("change keyup", function (e) { - - console.log("typing away"); - var url = $(this).val(); // toggle add-button visibility based on input length @@ -79,11 +76,14 @@ OC.msg.startSaving('#ocFederationAddServer .msg'); $.post( - OC.generateUrl('/apps/federation/trusted-servers'), + OC.getRootPath() + '/ocs/v2.php/apps/federation/trusted-servers', { url: url - } - ).done(function (data) { + }, + null, + 'json' + ).done(function({ ocs }) { + var data = ocs.data; $("#serverUrl").attr('value', ''); $("#listOfTrustedServers").prepend( $('<li>') @@ -95,13 +95,13 @@ OC.msg.finishedSuccess('#ocFederationAddServer .msg', data.message); }) .fail(function (jqXHR) { - OC.msg.finishedError('#ocFederationAddServer .msg', JSON.parse(jqXHR.responseText).message); + OC.msg.finishedError('#ocFederationAddServer .msg', JSON.parse(jqXHR.responseText).ocs.meta.message); }); }; function removeServer( id ) { $.ajax({ - url: OC.generateUrl('/apps/federation/trusted-servers/' + id), + url: OC.getRootPath() + '/ocs/v2.php/apps/federation/trusted-servers/' + id, type: 'DELETE', success: function(response) { $("#ocFederationSettings").find("#" + id).remove(); diff --git a/apps/federation/l10n/ar.js b/apps/federation/l10n/ar.js index 94988594ffb..41215a74cfd 100644 --- a/apps/federation/l10n/ar.js +++ b/apps/federation/l10n/ar.js @@ -2,19 +2,20 @@ OC.L10N.register( "federation", { "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" : "تعذّرت إضافة الخادوم", + "No server found with ID: %s" : "لايوجد أي خادوم بهذا الرقم: %s", + "Could not remove server" : "تتعذّر إزالة الخادوم", + "Server is already in the list of trusted servers." : "الخادم موجود بالفعل في قائمة الخوادم الموثوقة.", + "No server to federate with found" : "لم يُمكن إيجاد أي خادم للاتحاد معه", + "Could not add server" : "تعذّرت إضافة الخادم", "Trusted servers" : "الخوادم الموثوقة", - "Federation" : "الإتحاد", + "Federation" : "الربط عبر السحابة الموحدة", "Federation allows you to connect with other trusted servers to exchange the account directory." : "يسمح لك الاتحاد بالاتصال بخوادم موثوقة أخرى لتبادل أدلة الحسابات معها.", - "Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing." : "يسمح لك الاتحاد بالاتصال بخوادم موثوقة أخرى لتبادل أدلة الحسابات معها. على سبيل المثال، سيتم استخدام هذا للإكمال التلقائي للحسابات الخارجية عند المشاركةالاتحادية federated sharing.", - "Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts 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" : "إضافة", - "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." : "يُمكّنك الاتحاد من الاتصال بخوادم أخرى موثوقة لتبادل دليل المستخدمين. على سبيل المثال: هذا يسمح بالاستكمال التلقائي لحسابات المستخدمين الخارجيين عبر المُشاركات الاتحاديّة. و بالتالي، فلا ضرورة لإضافة خادوم لقائمة الخوادم الموثوقة من أجل إنشاء مُشاركات اتحاديّة." + "Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing." : "يسمح لك الاتحاد بالاتصال بخوادم موثوقة أخرى لتبادل أدلة الحسابات معها. على سبيل المثال، سيتم استخدام هذا للإكمال التلقائي للحسابات الخارجية عند المشاركة عبر السحابة الموحدة federated sharing.", + "External documentation for Federated Cloud Sharing" : "التوثيق الخارجي لمشاركة السحابة الاتحادية", + "Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing. It is not necessary to add a server as trusted server in order to create a federated share." : "يسمح لك الاتحاد بالاتصال بخوادم موثوقة أخرى لتبادل أدلة الحسابات معها. على سبيل المثال، سيتم استخدام هذا للإكمال التلقائي للحسابات الخارجية عند المشاركة الاتحادية. ليس من الضروري إضافة خادم كخادم موثوق به لإنشاء مشاركة السحابة الموحدة.", + "Each server must validate the other. This process may require a few cron cycles." : "يجب على كل خادوم أن يُصادِق على الآخر. هذه العملية يمكن أن تستغرق عدة دورات من مهام الخلفية cron.", + "+ 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 b2c75372bb1..318f3393348 100644 --- a/apps/federation/l10n/ar.json +++ b/apps/federation/l10n/ar.json @@ -1,18 +1,19 @@ { "translations": { "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" : "تعذّرت إضافة الخادوم", + "No server found with ID: %s" : "لايوجد أي خادوم بهذا الرقم: %s", + "Could not remove server" : "تتعذّر إزالة الخادوم", + "Server is already in the list of trusted servers." : "الخادم موجود بالفعل في قائمة الخوادم الموثوقة.", + "No server to federate with found" : "لم يُمكن إيجاد أي خادم للاتحاد معه", + "Could not add server" : "تعذّرت إضافة الخادم", "Trusted servers" : "الخوادم الموثوقة", - "Federation" : "الإتحاد", + "Federation" : "الربط عبر السحابة الموحدة", "Federation allows you to connect with other trusted servers to exchange the account directory." : "يسمح لك الاتحاد بالاتصال بخوادم موثوقة أخرى لتبادل أدلة الحسابات معها.", - "Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing." : "يسمح لك الاتحاد بالاتصال بخوادم موثوقة أخرى لتبادل أدلة الحسابات معها. على سبيل المثال، سيتم استخدام هذا للإكمال التلقائي للحسابات الخارجية عند المشاركةالاتحادية federated sharing.", - "Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts 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" : "إضافة", - "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." : "يُمكّنك الاتحاد من الاتصال بخوادم أخرى موثوقة لتبادل دليل المستخدمين. على سبيل المثال: هذا يسمح بالاستكمال التلقائي لحسابات المستخدمين الخارجيين عبر المُشاركات الاتحاديّة. و بالتالي، فلا ضرورة لإضافة خادوم لقائمة الخوادم الموثوقة من أجل إنشاء مُشاركات اتحاديّة." + "Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing." : "يسمح لك الاتحاد بالاتصال بخوادم موثوقة أخرى لتبادل أدلة الحسابات معها. على سبيل المثال، سيتم استخدام هذا للإكمال التلقائي للحسابات الخارجية عند المشاركة عبر السحابة الموحدة federated sharing.", + "External documentation for Federated Cloud Sharing" : "التوثيق الخارجي لمشاركة السحابة الاتحادية", + "Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing. It is not necessary to add a server as trusted server in order to create a federated share." : "يسمح لك الاتحاد بالاتصال بخوادم موثوقة أخرى لتبادل أدلة الحسابات معها. على سبيل المثال، سيتم استخدام هذا للإكمال التلقائي للحسابات الخارجية عند المشاركة الاتحادية. ليس من الضروري إضافة خادم كخادم موثوق به لإنشاء مشاركة السحابة الموحدة.", + "Each server must validate the other. This process may require a few cron cycles." : "يجب على كل خادوم أن يُصادِق على الآخر. هذه العملية يمكن أن تستغرق عدة دورات من مهام الخلفية cron.", + "+ 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/ast.js b/apps/federation/l10n/ast.js index 30092e74add..f19158a881e 100644 --- a/apps/federation/l10n/ast.js +++ b/apps/federation/l10n/ast.js @@ -12,9 +12,6 @@ OC.L10N.register( "Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing. It is not necessary to add a server as trusted server in order to create a federated share." : "La federación permite que te conectes a otros sirvidores d'enfotu pa intercambiar el direutoriu de cuentes. Por exemplu, va usase pa completar automáticamente les cuentes esternes de la compartición federada. Nun ye necesario amestar un sirvidor como sirvidor d'enfotu pa crear una compartición federada.", "+ Add trusted server" : "+ Amestar un sirvidor d'enfotu", "Trusted server" : "Sirvidor d'enfotu", - "Add" : "Amestar", - "Federation allows you to connect with other trusted servers to exchange the user directory." : "La federación permite que te conectes a otros sirvidores d'enfotu pa intercambiar el direutoriu d'usuarios.", - "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." : "La federación permite que te conectes a otros sirvidores d'enfotu pa intercambiar el direutoriu d'usuarios. Por exemplu, va usase pa completar automáticamente'l nome d'usuarios esternos de la compartición federada.", - "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." : "La federación permite que te conectes a otros sirvidores d'enfotu pa intercambiar el direutoriu d'usuarios. Por exemplu, va usase pa completar automáticamente'l nome d'usuarios esternos de la compartición federada. Nun ye necesario amestar un sirvidor como sirvidor d'enfotu pa crear una compartición federada." + "Add" : "Amestar" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/federation/l10n/ast.json b/apps/federation/l10n/ast.json index 211dcd6016c..a9849dbf5dd 100644 --- a/apps/federation/l10n/ast.json +++ b/apps/federation/l10n/ast.json @@ -10,9 +10,6 @@ "Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing. It is not necessary to add a server as trusted server in order to create a federated share." : "La federación permite que te conectes a otros sirvidores d'enfotu pa intercambiar el direutoriu de cuentes. Por exemplu, va usase pa completar automáticamente les cuentes esternes de la compartición federada. Nun ye necesario amestar un sirvidor como sirvidor d'enfotu pa crear una compartición federada.", "+ Add trusted server" : "+ Amestar un sirvidor d'enfotu", "Trusted server" : "Sirvidor d'enfotu", - "Add" : "Amestar", - "Federation allows you to connect with other trusted servers to exchange the user directory." : "La federación permite que te conectes a otros sirvidores d'enfotu pa intercambiar el direutoriu d'usuarios.", - "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." : "La federación permite que te conectes a otros sirvidores d'enfotu pa intercambiar el direutoriu d'usuarios. Por exemplu, va usase pa completar automáticamente'l nome d'usuarios esternos de la compartición federada.", - "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." : "La federación permite que te conectes a otros sirvidores d'enfotu pa intercambiar el direutoriu d'usuarios. Por exemplu, va usase pa completar automáticamente'l nome d'usuarios esternos de la compartición federada. Nun ye necesario amestar un sirvidor como sirvidor d'enfotu pa crear una compartición federada." + "Add" : "Amestar" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/federation/l10n/bg.js b/apps/federation/l10n/bg.js index 3946a7c4de2..8d1071ed3fe 100644 --- a/apps/federation/l10n/bg.js +++ b/apps/federation/l10n/bg.js @@ -9,9 +9,6 @@ OC.L10N.register( "Federation" : "Федерация", "+ Add trusted server" : "+ Добави доверен сървър", "Trusted server" : "Доверен сървър", - "Add" : "Добави", - "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" : "Добави" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/federation/l10n/bg.json b/apps/federation/l10n/bg.json index 3a4b8382af6..caf88a7d6c2 100644 --- a/apps/federation/l10n/bg.json +++ b/apps/federation/l10n/bg.json @@ -7,9 +7,6 @@ "Federation" : "Федерация", "+ Add trusted server" : "+ Добави доверен сървър", "Trusted server" : "Доверен сървър", - "Add" : "Добави", - "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" : "Добави" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/federation/l10n/br.js b/apps/federation/l10n/br.js index a8c67df2253..d896f18e6d3 100644 --- a/apps/federation/l10n/br.js +++ b/apps/federation/l10n/br.js @@ -9,9 +9,6 @@ OC.L10N.register( "Federation" : "Kevread", "+ Add trusted server" : "+ Ouzhpenna ur servijour fiziet", "Trusted server" : "Servijour fiziet", - "Add" : "Ouzhpennañ", - "Federation allows you to connect with other trusted servers to exchange the user directory." : "Aotreañ a ra deoc'h ar gevread d'en em genstagañ gant servijrourienn fiziet all evit eskemm teuliadoù.", - "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." : "Aotreañ a ra deoc'h ar gevread d'en em genstagañ gant servijrourienn fiziet all evit eskemm teuliadoù. Da skouer implijet e vo evit klokañ en un doare otomatek implijourienn diavaez evit rannadennoù kevredet.", - "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." : "Aotreañ a ra deoc'h ar gevread d'en em genstagañ gant servijrourienn fiziet all evit eskemm teuliadoù. Da skouer implijet e vo evit klokañ en un doare otomatek implijourienn diavaez evit rannadennoù kevredet. N'eo ket rediet ouzhpennañ ur servijour fiziet evit kroui ur rannadenn kevredet." + "Add" : "Ouzhpennañ" }, "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/federation/l10n/br.json b/apps/federation/l10n/br.json index aef357330a0..f5e656c2472 100644 --- a/apps/federation/l10n/br.json +++ b/apps/federation/l10n/br.json @@ -7,9 +7,6 @@ "Federation" : "Kevread", "+ Add trusted server" : "+ Ouzhpenna ur servijour fiziet", "Trusted server" : "Servijour fiziet", - "Add" : "Ouzhpennañ", - "Federation allows you to connect with other trusted servers to exchange the user directory." : "Aotreañ a ra deoc'h ar gevread d'en em genstagañ gant servijrourienn fiziet all evit eskemm teuliadoù.", - "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." : "Aotreañ a ra deoc'h ar gevread d'en em genstagañ gant servijrourienn fiziet all evit eskemm teuliadoù. Da skouer implijet e vo evit klokañ en un doare otomatek implijourienn diavaez evit rannadennoù kevredet.", - "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." : "Aotreañ a ra deoc'h ar gevread d'en em genstagañ gant servijrourienn fiziet all evit eskemm teuliadoù. Da skouer implijet e vo evit klokañ en un doare otomatek implijourienn diavaez evit rannadennoù kevredet. N'eo ket rediet ouzhpennañ ur servijour fiziet evit kroui ur rannadenn kevredet." + "Add" : "Ouzhpennañ" },"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/federation/l10n/ca.js b/apps/federation/l10n/ca.js index 737b9e9aa1b..ab76d309c6f 100644 --- a/apps/federation/l10n/ca.js +++ b/apps/federation/l10n/ca.js @@ -2,6 +2,8 @@ OC.L10N.register( "federation", { "Added to the list of trusted servers" : "S'ha afegit a la llista de servidors de confiança", + "No server found with ID: %s" : "No s'ha trobat cap servidor amb ID: %s", + "Could not remove server" : "No s'ha pogut suprimir el servidor", "Server is already in the list of trusted servers." : "El servidor ja es troba en la llista de servidors de confiança.", "No server to federate with found" : "No s'ha trobat cap servidor amb què federar-se", "Could not add server" : "No s'ha pogut afegir el servidor", @@ -9,12 +11,11 @@ OC.L10N.register( "Federation" : "Federació", "Federation allows you to connect with other trusted servers to exchange the account directory." : "La federació us permet connectar-vos amb altres servidors de confiança per a intercanviar la carpeta del compte.", "Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing." : "La federació us permet connectar-vos amb altres servidors de confiança per a intercanviar carpetes de compte. Per exemple, s'utilitzarà per a proporcionar resultats d'emplenament automàtic de comptes externs per a l'ús compartit federat.", + "External documentation for Federated Cloud Sharing" : "Documentació externa per a compartició federada de núvol", "Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing. It is not necessary to add a server as trusted server in order to create a federated share." : "La federació us permet connectar-vos amb altres servidors de confiança per a intercanviar carpetes de compte. Per exemple, s'utilitzarà per a proporcionar resultats d'emplenament automàtic de comptes externs per a l'ús compartit federat. No cal afegir un servidor com a servidor de confiança per a crear un recurs d'ús compartit federat.", + "Each server must validate the other. This process may require a few cron cycles." : "Cada servidor ha de validar l'altre. Aquest procés pot requerir uns quants cicles cron.", "+ Add trusted server" : "+ Afegeix un servidor de confiança", "Trusted server" : "Servidor de confiança", - "Add" : "Afegeix", - "Federation allows you to connect with other trusted servers to exchange the user directory." : "La federació us permet connectar-vos amb altres servidors de confiança per a intercanviar la carpeta d'usuari.", - "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." : "La federació us permet connectar-vos amb altres servidors de confiança per a intercanviar carpetes d'usuari. Per exemple, s'utilitzarà per a proporcionar resultats d'emplenament automàtic d'usuaris externs per a l'ús compartit federat.", - "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." : "La federació us permet connectar-vos amb altres servidors de confiança per a intercanviar carpetes d'usuari. Per exemple, s'utilitzarà per a proporcionar resultats d'emplenament automàtic d'usuaris externs per a l'ús compartit federat. No cal afegir un servidor com a servidor de confiança per a crear un recurs d'ús compartit federat." + "Add" : "Afegeix" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/federation/l10n/ca.json b/apps/federation/l10n/ca.json index e760008fcc6..0d4579feb04 100644 --- a/apps/federation/l10n/ca.json +++ b/apps/federation/l10n/ca.json @@ -1,5 +1,7 @@ { "translations": { "Added to the list of trusted servers" : "S'ha afegit a la llista de servidors de confiança", + "No server found with ID: %s" : "No s'ha trobat cap servidor amb ID: %s", + "Could not remove server" : "No s'ha pogut suprimir el servidor", "Server is already in the list of trusted servers." : "El servidor ja es troba en la llista de servidors de confiança.", "No server to federate with found" : "No s'ha trobat cap servidor amb què federar-se", "Could not add server" : "No s'ha pogut afegir el servidor", @@ -7,12 +9,11 @@ "Federation" : "Federació", "Federation allows you to connect with other trusted servers to exchange the account directory." : "La federació us permet connectar-vos amb altres servidors de confiança per a intercanviar la carpeta del compte.", "Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing." : "La federació us permet connectar-vos amb altres servidors de confiança per a intercanviar carpetes de compte. Per exemple, s'utilitzarà per a proporcionar resultats d'emplenament automàtic de comptes externs per a l'ús compartit federat.", + "External documentation for Federated Cloud Sharing" : "Documentació externa per a compartició federada de núvol", "Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing. It is not necessary to add a server as trusted server in order to create a federated share." : "La federació us permet connectar-vos amb altres servidors de confiança per a intercanviar carpetes de compte. Per exemple, s'utilitzarà per a proporcionar resultats d'emplenament automàtic de comptes externs per a l'ús compartit federat. No cal afegir un servidor com a servidor de confiança per a crear un recurs d'ús compartit federat.", + "Each server must validate the other. This process may require a few cron cycles." : "Cada servidor ha de validar l'altre. Aquest procés pot requerir uns quants cicles cron.", "+ Add trusted server" : "+ Afegeix un servidor de confiança", "Trusted server" : "Servidor de confiança", - "Add" : "Afegeix", - "Federation allows you to connect with other trusted servers to exchange the user directory." : "La federació us permet connectar-vos amb altres servidors de confiança per a intercanviar la carpeta d'usuari.", - "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." : "La federació us permet connectar-vos amb altres servidors de confiança per a intercanviar carpetes d'usuari. Per exemple, s'utilitzarà per a proporcionar resultats d'emplenament automàtic d'usuaris externs per a l'ús compartit federat.", - "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." : "La federació us permet connectar-vos amb altres servidors de confiança per a intercanviar carpetes d'usuari. Per exemple, s'utilitzarà per a proporcionar resultats d'emplenament automàtic d'usuaris externs per a l'ús compartit federat. No cal afegir un servidor com a servidor de confiança per a crear un recurs d'ús compartit federat." + "Add" : "Afegeix" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/federation/l10n/cs.js b/apps/federation/l10n/cs.js index 4e8d05a7dab..8a10ca10b9f 100644 --- a/apps/federation/l10n/cs.js +++ b/apps/federation/l10n/cs.js @@ -2,16 +2,20 @@ OC.L10N.register( "federation", { "Added to the list of trusted servers" : "Přidáno na seznam důvěryhodných serverů", + "No server found with ID: %s" : "Nenalezen žádný server, který by měl identifikátor: %s", + "Could not remove server" : "Nebylo možné odebrat server", "Server is already in the list of trusted servers." : "Server se už nachází na seznamu těch důvěryhodných.", "No server to federate with found" : "Nenalezen žádný server, se kterým by bylo možné federovat", "Could not add server" : "Server se nepodařilo přidat", "Trusted servers" : "Důvěryhodné servery", "Federation" : "Federování", + "Federation allows you to connect with other trusted servers to exchange the account directory." : "Federování umožňuje propojit s ostatními servery, kterým věříte a vyměňovat si tak adresář účtů.", + "Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing." : "Federování umožňuje propojit s ostatními servery, kterým věříte a vyměňovat si tak adresář uživatelských účtů. Používá se toho například pro automatické doplňování externích účtů při federovaném sdílení.", + "External documentation for Federated Cloud Sharing" : "Externí dokumentace pro sdílení v rámci federovaného cloudu", + "Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing. It is not necessary to add a server as trusted server in order to create a federated share." : "Federování umožňuje propojit se s ostatními servery, kterým věříte a vyměňovat si tak adresář uživatelských účtů. Používá se toho například pro automatické dokončování externích účtů při federovaném sdílení. Nicméně pro vytvoření federovaného sdílení jako takového není nezbytné přidávat server jako důvěryhodný.", + "Each server must validate the other. This process may require a few cron cycles." : "Je třeba, aby každý server ověřil ten druhý. Tento proces může vyžadovat několik cyklů plánovače.", "+ Add trusted server" : "+ Přidat důvěryhodný server", "Trusted server" : "Důvěryhodný server", - "Add" : "Přidat", - "Federation allows you to connect with other trusted servers to exchange the user directory." : "Federování umožňuje propojit s ostatními servery, kterým věříte a vyměňovat si tak adresář uživatelů.", - "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." : "Federování umožňuje propojit s ostatními servery, kterým věříte a vyměňovat si tak adresář uživatelských účtů. Používá se toho například pro automatické doplňování externích uživatelů při federovaném sdílení.", - "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." : "Federování umožňuje propojit se s ostatními servery, kterým věříte a vyměňovat si tak adresář uživatelských účtů. Používá se toho například pro automatické dokončování externích uživatelů při federovaném sdílení. Nicméně pro vytvoření federovaného sdílení jako takového není nezbytné přidávat server jako důvěryhodný." + "Add" : "Přidat" }, "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/federation/l10n/cs.json b/apps/federation/l10n/cs.json index f517ed360fd..d11979fbca2 100644 --- a/apps/federation/l10n/cs.json +++ b/apps/federation/l10n/cs.json @@ -1,15 +1,19 @@ { "translations": { "Added to the list of trusted servers" : "Přidáno na seznam důvěryhodných serverů", + "No server found with ID: %s" : "Nenalezen žádný server, který by měl identifikátor: %s", + "Could not remove server" : "Nebylo možné odebrat server", "Server is already in the list of trusted servers." : "Server se už nachází na seznamu těch důvěryhodných.", "No server to federate with found" : "Nenalezen žádný server, se kterým by bylo možné federovat", "Could not add server" : "Server se nepodařilo přidat", "Trusted servers" : "Důvěryhodné servery", "Federation" : "Federování", + "Federation allows you to connect with other trusted servers to exchange the account directory." : "Federování umožňuje propojit s ostatními servery, kterým věříte a vyměňovat si tak adresář účtů.", + "Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing." : "Federování umožňuje propojit s ostatními servery, kterým věříte a vyměňovat si tak adresář uživatelských účtů. Používá se toho například pro automatické doplňování externích účtů při federovaném sdílení.", + "External documentation for Federated Cloud Sharing" : "Externí dokumentace pro sdílení v rámci federovaného cloudu", + "Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing. It is not necessary to add a server as trusted server in order to create a federated share." : "Federování umožňuje propojit se s ostatními servery, kterým věříte a vyměňovat si tak adresář uživatelských účtů. Používá se toho například pro automatické dokončování externích účtů při federovaném sdílení. Nicméně pro vytvoření federovaného sdílení jako takového není nezbytné přidávat server jako důvěryhodný.", + "Each server must validate the other. This process may require a few cron cycles." : "Je třeba, aby každý server ověřil ten druhý. Tento proces může vyžadovat několik cyklů plánovače.", "+ Add trusted server" : "+ Přidat důvěryhodný server", "Trusted server" : "Důvěryhodný server", - "Add" : "Přidat", - "Federation allows you to connect with other trusted servers to exchange the user directory." : "Federování umožňuje propojit s ostatními servery, kterým věříte a vyměňovat si tak adresář uživatelů.", - "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." : "Federování umožňuje propojit s ostatními servery, kterým věříte a vyměňovat si tak adresář uživatelských účtů. Používá se toho například pro automatické doplňování externích uživatelů při federovaném sdílení.", - "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." : "Federování umožňuje propojit se s ostatními servery, kterým věříte a vyměňovat si tak adresář uživatelských účtů. Používá se toho například pro automatické dokončování externích uživatelů při federovaném sdílení. Nicméně pro vytvoření federovaného sdílení jako takového není nezbytné přidávat server jako důvěryhodný." + "Add" : "Přidat" },"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/federation/l10n/da.js b/apps/federation/l10n/da.js index e1d4d813c38..547aaddb6c5 100644 --- a/apps/federation/l10n/da.js +++ b/apps/federation/l10n/da.js @@ -2,19 +2,20 @@ OC.L10N.register( "federation", { "Added to the list of trusted servers" : "Tilføjet listen af godkendte servere", + "No server found with ID: %s" : "Ingen server fundet med ID: %s", + "Could not remove server" : "Serveren kunne ikke fjernes", "Server is already in the list of trusted servers." : "Serveren står allerede på listen over sikre servere", - "No server to federate with found" : "Ingen server at forbinde til blev fundet", + "No server to federate with found" : "Der blev ikke fundet nogen server til at sammenkoble med", "Could not add server" : "Kunne ikke tilføje server", "Trusted servers" : "Pålidelige servere", - "Federation" : "Datafællesskab", - "Federation allows you to connect with other trusted servers to exchange the account directory." : "Federation giver dig mulighed for at oprette forbindelse til andre betroede servere for at udveksle kontobiblioteket.", - "Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing." : "Federation giver dig mulighed for at oprette forbindelse til andre betroede servere for at udveksle kontobiblioteket. For eksempel vil dette blive brugt til automatisk at fuldføre eksterne konti til deling.", - "Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing. It is not necessary to add a server as trusted server in order to create a federated share." : "Federation giver dig mulighed for at oprette forbindelse til andre betroede servere for at udveksle kontobiblioteket. For eksempel vil dette blive brugt til automatisk at fuldføre eksterne konti til forbundsdeling. Det er ikke nødvendigt at tilføje en server som betroet server for at oprette en normal deling.", + "Federation" : "Sammenkobling", + "Federation allows you to connect with other trusted servers to exchange the account directory." : "Sammenkobling giver dig mulighed for at oprette forbindelse til andre betroede servere for at udveksle kontobiblioteket.", + "Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing." : "Sammenkobling giver dig mulighed for at oprette forbindelse til andre betroede servere for at udveksle kontobiblioteket. For eksempel vil dette blive brugt til automatisk at fuldføre eksterne konti til deling.", + "External documentation for Federated Cloud Sharing" : "Ekstern dokumentation for Sammenkoblings Cloud deling", + "Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing. It is not necessary to add a server as trusted server in order to create a federated share." : "Sammenkobling giver dig mulighed for at oprette forbindelse til andre betroede servere for at udveksle kontobiblioteket. For eksempel vil dette blive brugt til automatisk at fuldføre eksterne konti til sammenkoblet deling. Det er ikke nødvendigt at tilføje en server som betroet server for at oprette en sammenkoblet deling.", + "Each server must validate the other. This process may require a few cron cycles." : "Hver server skal validere den anden. Denne proces kan kræve et par cron cyklusser.", "+ Add trusted server" : "+ Tilføj pålidelig server", "Trusted server" : "Pålidelig server", - "Add" : "Tilføj", - "Federation allows you to connect with other trusted servers to exchange the user directory." : "Datafællesskab gør dig i stand til at forbinde med andre serveren du stoler på og udveksle brugerdatabaser.", - "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 gør dig i stand til at forbinde med andre serveren du stoler på og udveksle brugerdatabaser. F. eks. dette kan blive bruge til at auto complete eksterne brugere når du laver federated deling.", - "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." : "Federation giver dig mulighed for at oprette forbindelse til andre betroede servere for at udveksle brugerkataloget. For eksempel vil dette blive brugt til automatisk at udfylde eksterne brugere til fødereret deling. Det er ikke nødvendigt at tilføje en server som betroet server for at oprette en sammensat deling." + "Add" : "Tilføj" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/federation/l10n/da.json b/apps/federation/l10n/da.json index c284b302c91..932c5156ed7 100644 --- a/apps/federation/l10n/da.json +++ b/apps/federation/l10n/da.json @@ -1,18 +1,19 @@ { "translations": { "Added to the list of trusted servers" : "Tilføjet listen af godkendte servere", + "No server found with ID: %s" : "Ingen server fundet med ID: %s", + "Could not remove server" : "Serveren kunne ikke fjernes", "Server is already in the list of trusted servers." : "Serveren står allerede på listen over sikre servere", - "No server to federate with found" : "Ingen server at forbinde til blev fundet", + "No server to federate with found" : "Der blev ikke fundet nogen server til at sammenkoble med", "Could not add server" : "Kunne ikke tilføje server", "Trusted servers" : "Pålidelige servere", - "Federation" : "Datafællesskab", - "Federation allows you to connect with other trusted servers to exchange the account directory." : "Federation giver dig mulighed for at oprette forbindelse til andre betroede servere for at udveksle kontobiblioteket.", - "Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing." : "Federation giver dig mulighed for at oprette forbindelse til andre betroede servere for at udveksle kontobiblioteket. For eksempel vil dette blive brugt til automatisk at fuldføre eksterne konti til deling.", - "Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing. It is not necessary to add a server as trusted server in order to create a federated share." : "Federation giver dig mulighed for at oprette forbindelse til andre betroede servere for at udveksle kontobiblioteket. For eksempel vil dette blive brugt til automatisk at fuldføre eksterne konti til forbundsdeling. Det er ikke nødvendigt at tilføje en server som betroet server for at oprette en normal deling.", + "Federation" : "Sammenkobling", + "Federation allows you to connect with other trusted servers to exchange the account directory." : "Sammenkobling giver dig mulighed for at oprette forbindelse til andre betroede servere for at udveksle kontobiblioteket.", + "Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing." : "Sammenkobling giver dig mulighed for at oprette forbindelse til andre betroede servere for at udveksle kontobiblioteket. For eksempel vil dette blive brugt til automatisk at fuldføre eksterne konti til deling.", + "External documentation for Federated Cloud Sharing" : "Ekstern dokumentation for Sammenkoblings Cloud deling", + "Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing. It is not necessary to add a server as trusted server in order to create a federated share." : "Sammenkobling giver dig mulighed for at oprette forbindelse til andre betroede servere for at udveksle kontobiblioteket. For eksempel vil dette blive brugt til automatisk at fuldføre eksterne konti til sammenkoblet deling. Det er ikke nødvendigt at tilføje en server som betroet server for at oprette en sammenkoblet deling.", + "Each server must validate the other. This process may require a few cron cycles." : "Hver server skal validere den anden. Denne proces kan kræve et par cron cyklusser.", "+ Add trusted server" : "+ Tilføj pålidelig server", "Trusted server" : "Pålidelig server", - "Add" : "Tilføj", - "Federation allows you to connect with other trusted servers to exchange the user directory." : "Datafællesskab gør dig i stand til at forbinde med andre serveren du stoler på og udveksle brugerdatabaser.", - "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 gør dig i stand til at forbinde med andre serveren du stoler på og udveksle brugerdatabaser. F. eks. dette kan blive bruge til at auto complete eksterne brugere når du laver federated deling.", - "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." : "Federation giver dig mulighed for at oprette forbindelse til andre betroede servere for at udveksle brugerkataloget. For eksempel vil dette blive brugt til automatisk at udfylde eksterne brugere til fødereret deling. Det er ikke nødvendigt at tilføje en server som betroet server for at oprette en sammensat deling." + "Add" : "Tilføj" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/federation/l10n/de.js b/apps/federation/l10n/de.js index f0047fc3ec6..070c7e76e92 100644 --- a/apps/federation/l10n/de.js +++ b/apps/federation/l10n/de.js @@ -2,16 +2,20 @@ OC.L10N.register( "federation", { "Added to the list of trusted servers" : "Der Liste der vertrauenswürdigen Server hinzugefügt", + "No server found with ID: %s" : "Kein Server mit folgender ID gefunden: %s", + "Could not remove server" : "Server konnte nicht entfernt werden", "Server is already in the list of trusted servers." : "Server ist bereits in der Liste der vertrauenswürdigen Server.", "No server to federate with found" : "Es wurde kein Server zum Verbinden per Federation gefunden", - "Could not add server" : "Konnte Server nicht hinzufügen", + "Could not add server" : "Server konnte nicht hinzugefügt werden", "Trusted servers" : "Vertrauenswürdige Server", "Federation" : "Federation", + "Federation allows you to connect with other trusted servers to exchange the account directory." : "Federation ermöglicht die Verbindung mit anderen vertrauenswürdigen Servern, um das Kontenverzeichnis auszutauschen.", + "Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing." : "Federation ermöglicht es dir, dich mit anderen vertrauenswürdigen Servern zu verbinden, um das Kontoverzeichnis auszutauschen. Dies wird zum Beispiel für die automatische Vervollständigung externer Konten beim Federated-Sharing verwendet.", + "External documentation for Federated Cloud Sharing" : "Externe Dokumentation für das Teilen über Federated Cloud", + "Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing. It is not necessary to add a server as trusted server in order to create a federated share." : "Federation ermöglicht es dir, dich mit anderen vertrauenswürdigen Servern zu verbinden, um das Kontoverzeichnis auszutauschen. Dies wird zum Beispiel für die automatische Vervollständigung externer Konten beim Federated-Sharing verwendet. Es ist nicht erforderlich einen Server als vertrauenswürdig hinzuzufügen, um eine \"federated\" Freigabe zu erstellen.", + "Each server must validate the other. This process may require a few cron cycles." : "Jeder Server muss den anderen validieren. Dieser Vorgang kann einige Cron-Zyklen benötigen.", "+ Add trusted server" : "+ Vertrauenswürdigen Server hinzufügen", "Trusted server" : "Vertrauenswürdiger Server", - "Add" : "Hinzufügen", - "Federation allows you to connect with other trusted servers to exchange the user directory." : "Federation ermöglicht die Verbindung mit anderen vertrauenswürdigen Servern um das Nutzerverzeichnis auszutauschen.", - "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 erlaubt es dir, dich mit anderen vertrauenswürdigen Servern zu verbinden, um das Benutzerverzeichnis auszutauschen. Dies wird zum Beispiel für die automatische Vervollständigung externer Benutzernamen beim Federated-Sharing verwendet.", - "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." : "Federation ermöglicht es dir, dich mit anderen vertrauenswürdigen Servern zu verbinden, um das Benutzerverzeichnis auszutauschen. Dies wird zum Beispiel für die automatische Vervollständigung externer Benutzernamen beim Federated-Sharing verwendet. Es ist nicht erforderlich, einen Server als vertrauenswürdig hinzuzufügen, um eine \"federated\" Freigabe zu erstellen." + "Add" : "Hinzufügen" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/federation/l10n/de.json b/apps/federation/l10n/de.json index cd32149766f..ec1118bce91 100644 --- a/apps/federation/l10n/de.json +++ b/apps/federation/l10n/de.json @@ -1,15 +1,19 @@ { "translations": { "Added to the list of trusted servers" : "Der Liste der vertrauenswürdigen Server hinzugefügt", + "No server found with ID: %s" : "Kein Server mit folgender ID gefunden: %s", + "Could not remove server" : "Server konnte nicht entfernt werden", "Server is already in the list of trusted servers." : "Server ist bereits in der Liste der vertrauenswürdigen Server.", "No server to federate with found" : "Es wurde kein Server zum Verbinden per Federation gefunden", - "Could not add server" : "Konnte Server nicht hinzufügen", + "Could not add server" : "Server konnte nicht hinzugefügt werden", "Trusted servers" : "Vertrauenswürdige Server", "Federation" : "Federation", + "Federation allows you to connect with other trusted servers to exchange the account directory." : "Federation ermöglicht die Verbindung mit anderen vertrauenswürdigen Servern, um das Kontenverzeichnis auszutauschen.", + "Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing." : "Federation ermöglicht es dir, dich mit anderen vertrauenswürdigen Servern zu verbinden, um das Kontoverzeichnis auszutauschen. Dies wird zum Beispiel für die automatische Vervollständigung externer Konten beim Federated-Sharing verwendet.", + "External documentation for Federated Cloud Sharing" : "Externe Dokumentation für das Teilen über Federated Cloud", + "Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing. It is not necessary to add a server as trusted server in order to create a federated share." : "Federation ermöglicht es dir, dich mit anderen vertrauenswürdigen Servern zu verbinden, um das Kontoverzeichnis auszutauschen. Dies wird zum Beispiel für die automatische Vervollständigung externer Konten beim Federated-Sharing verwendet. Es ist nicht erforderlich einen Server als vertrauenswürdig hinzuzufügen, um eine \"federated\" Freigabe zu erstellen.", + "Each server must validate the other. This process may require a few cron cycles." : "Jeder Server muss den anderen validieren. Dieser Vorgang kann einige Cron-Zyklen benötigen.", "+ Add trusted server" : "+ Vertrauenswürdigen Server hinzufügen", "Trusted server" : "Vertrauenswürdiger Server", - "Add" : "Hinzufügen", - "Federation allows you to connect with other trusted servers to exchange the user directory." : "Federation ermöglicht die Verbindung mit anderen vertrauenswürdigen Servern um das Nutzerverzeichnis auszutauschen.", - "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 erlaubt es dir, dich mit anderen vertrauenswürdigen Servern zu verbinden, um das Benutzerverzeichnis auszutauschen. Dies wird zum Beispiel für die automatische Vervollständigung externer Benutzernamen beim Federated-Sharing verwendet.", - "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." : "Federation ermöglicht es dir, dich mit anderen vertrauenswürdigen Servern zu verbinden, um das Benutzerverzeichnis auszutauschen. Dies wird zum Beispiel für die automatische Vervollständigung externer Benutzernamen beim Federated-Sharing verwendet. Es ist nicht erforderlich, einen Server als vertrauenswürdig hinzuzufügen, um eine \"federated\" Freigabe zu erstellen." + "Add" : "Hinzufügen" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/federation/l10n/de_DE.js b/apps/federation/l10n/de_DE.js index 2e1a7c5fe0d..efb22f90bb5 100644 --- a/apps/federation/l10n/de_DE.js +++ b/apps/federation/l10n/de_DE.js @@ -2,19 +2,20 @@ OC.L10N.register( "federation", { "Added to the list of trusted servers" : "Der Liste der vertrauenswürdigen Server hinzugefügt", + "No server found with ID: %s" : "Kein Server mit folgender ID gefunden: %s", + "Could not remove server" : "Server konnte nicht entfernt werden", "Server is already in the list of trusted servers." : "Server ist bereits in der Liste der vertrauenswürdigen Servern.", "No server to federate with found" : "Es wurde kein Server zum Verbinden per Federation gefunden", - "Could not add server" : "Konnte Server nicht hinzufügen", + "Could not add server" : "Server konnte nicht hinzugefügt werden", "Trusted servers" : "Vertrauenswürdige Server", "Federation" : "Federation", "Federation allows you to connect with other trusted servers to exchange the account directory." : "Federation ermöglicht die Verbindung mit anderen vertrauenswürdigen Servern, um das Kontenverzeichnis auszutauschen.", "Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing." : "Federation ermöglicht es Ihnen, sich mit anderen vertrauenswürdigen Servern zu verbinden, um das Kontoverzeichnis auszutauschen. Dies wird zum Beispiel für die automatische Vervollständigung externer Konten beim Federated-Sharing verwendet.", + "External documentation for Federated Cloud Sharing" : "Externe Dokumentation für Teilen über Federated Cloud", "Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing. It is not necessary to add a server as trusted server in order to create a federated share." : "Federation ermöglicht es Ihnen, sich mit anderen vertrauenswürdigen Servern zu verbinden, um das Kontoverzeichnis auszutauschen. Dies wird zum Beispiel für die automatische Vervollständigung externer Konten beim Federated-Sharing verwendet. Es ist nicht erforderlich einen Server als vertrauenswürdig hinzuzufügen, um eine \"federated\" Freigabe zu erstellen.", + "Each server must validate the other. This process may require a few cron cycles." : "Jeder Server muss den anderen validieren. Dieser Vorgang kann einige Cron-Zyklen erfordern.", "+ Add trusted server" : "+ Vertrauenswürdigen Server hinzufügen", "Trusted server" : "Vertrauenswürdiger Server", - "Add" : "Hinzufügen", - "Federation allows you to connect with other trusted servers to exchange the user directory." : "Federation ermöglicht die Verbindung mit anderen vertrauenswürdigen Servern, um das Benutzerverzeichnis auszutauschen.", - "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 erlaubt es Ihnen, sich mit anderen vertrauenswürdigen Servern zu verbinden, um das Benutzerverzeichnis auszutauschen. Dies wird zum Beispiel für die automatische Vervollständigung externer Benutzernamen beim Federated-Sharing verwendet.", - "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." : "Federation ermöglicht es Ihnen, sich mit anderen vertrauenswürdigen Servern zu verbinden, um das Benutzerverzeichnis auszutauschen. Dies wird zum Beispiel für die automatische Vervollständigung externer Benutzernamen beim Federated-Sharing verwendet. Es ist nicht erforderlich einen Server als vertrauenswürdig hinzuzufügen, um eine \"federated\" Freigabe zu erstellen." + "Add" : "Hinzufügen" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/federation/l10n/de_DE.json b/apps/federation/l10n/de_DE.json index d0789fda29c..96f5fb099d3 100644 --- a/apps/federation/l10n/de_DE.json +++ b/apps/federation/l10n/de_DE.json @@ -1,18 +1,19 @@ { "translations": { "Added to the list of trusted servers" : "Der Liste der vertrauenswürdigen Server hinzugefügt", + "No server found with ID: %s" : "Kein Server mit folgender ID gefunden: %s", + "Could not remove server" : "Server konnte nicht entfernt werden", "Server is already in the list of trusted servers." : "Server ist bereits in der Liste der vertrauenswürdigen Servern.", "No server to federate with found" : "Es wurde kein Server zum Verbinden per Federation gefunden", - "Could not add server" : "Konnte Server nicht hinzufügen", + "Could not add server" : "Server konnte nicht hinzugefügt werden", "Trusted servers" : "Vertrauenswürdige Server", "Federation" : "Federation", "Federation allows you to connect with other trusted servers to exchange the account directory." : "Federation ermöglicht die Verbindung mit anderen vertrauenswürdigen Servern, um das Kontenverzeichnis auszutauschen.", "Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing." : "Federation ermöglicht es Ihnen, sich mit anderen vertrauenswürdigen Servern zu verbinden, um das Kontoverzeichnis auszutauschen. Dies wird zum Beispiel für die automatische Vervollständigung externer Konten beim Federated-Sharing verwendet.", + "External documentation for Federated Cloud Sharing" : "Externe Dokumentation für Teilen über Federated Cloud", "Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing. It is not necessary to add a server as trusted server in order to create a federated share." : "Federation ermöglicht es Ihnen, sich mit anderen vertrauenswürdigen Servern zu verbinden, um das Kontoverzeichnis auszutauschen. Dies wird zum Beispiel für die automatische Vervollständigung externer Konten beim Federated-Sharing verwendet. Es ist nicht erforderlich einen Server als vertrauenswürdig hinzuzufügen, um eine \"federated\" Freigabe zu erstellen.", + "Each server must validate the other. This process may require a few cron cycles." : "Jeder Server muss den anderen validieren. Dieser Vorgang kann einige Cron-Zyklen erfordern.", "+ Add trusted server" : "+ Vertrauenswürdigen Server hinzufügen", "Trusted server" : "Vertrauenswürdiger Server", - "Add" : "Hinzufügen", - "Federation allows you to connect with other trusted servers to exchange the user directory." : "Federation ermöglicht die Verbindung mit anderen vertrauenswürdigen Servern, um das Benutzerverzeichnis auszutauschen.", - "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 erlaubt es Ihnen, sich mit anderen vertrauenswürdigen Servern zu verbinden, um das Benutzerverzeichnis auszutauschen. Dies wird zum Beispiel für die automatische Vervollständigung externer Benutzernamen beim Federated-Sharing verwendet.", - "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." : "Federation ermöglicht es Ihnen, sich mit anderen vertrauenswürdigen Servern zu verbinden, um das Benutzerverzeichnis auszutauschen. Dies wird zum Beispiel für die automatische Vervollständigung externer Benutzernamen beim Federated-Sharing verwendet. Es ist nicht erforderlich einen Server als vertrauenswürdig hinzuzufügen, um eine \"federated\" Freigabe zu erstellen." + "Add" : "Hinzufügen" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/federation/l10n/el.js b/apps/federation/l10n/el.js index 241bcd3db95..d877d7dfe0d 100644 --- a/apps/federation/l10n/el.js +++ b/apps/federation/l10n/el.js @@ -9,9 +9,6 @@ OC.L10N.register( "Federation" : "Federation", "+ Add trusted server" : "+Προσθήκη έμπιστων διακομιστών", "Trusted server" : "Έμπιστοι διακομιστές", - "Add" : "Προσθήκη", - "Federation allows you to connect with other trusted servers to exchange the user directory." : "Το Federation σας επιτρέπει να συνδεθείτε με αξιόπιστους διακομιστές για ανταλλαγή καταλόγου χρηστών.", - "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 σας επιτρέπει να συνδεθείτε με άλλους αξιόπιστους διακομιστές για να ανταλλάξετε τον κατάλογο χρηστών. Για παράδειγμα, αυτό θα χρησιμοποιηθεί για την αυτόματη συμπλήρωση εξωτερικών χρηστών για ομαδική κοινή χρήση.", - "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." : "Το Federation σας επιτρέπει να συνδεθείτε με άλλους αξιόπιστους διακομιστές για να ανταλλάξετε τον κατάλογο χρηστών. Για παράδειγμα, αυτό θα χρησιμοποιηθεί για την αυτόματη συμπλήρωση εξωτερικών χρηστών για ομαδική κοινή χρήση. Δεν είναι απαραίτητο να προσθέσετε έναν διακομιστή ως αξιόπιστο για να δημιουργήσετε ένα κοινόχρηστο μεταξύ τους στοιχείο." + "Add" : "Προσθήκη" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/federation/l10n/el.json b/apps/federation/l10n/el.json index 6cad12d42cd..d074129fe06 100644 --- a/apps/federation/l10n/el.json +++ b/apps/federation/l10n/el.json @@ -7,9 +7,6 @@ "Federation" : "Federation", "+ Add trusted server" : "+Προσθήκη έμπιστων διακομιστών", "Trusted server" : "Έμπιστοι διακομιστές", - "Add" : "Προσθήκη", - "Federation allows you to connect with other trusted servers to exchange the user directory." : "Το Federation σας επιτρέπει να συνδεθείτε με αξιόπιστους διακομιστές για ανταλλαγή καταλόγου χρηστών.", - "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 σας επιτρέπει να συνδεθείτε με άλλους αξιόπιστους διακομιστές για να ανταλλάξετε τον κατάλογο χρηστών. Για παράδειγμα, αυτό θα χρησιμοποιηθεί για την αυτόματη συμπλήρωση εξωτερικών χρηστών για ομαδική κοινή χρήση.", - "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." : "Το Federation σας επιτρέπει να συνδεθείτε με άλλους αξιόπιστους διακομιστές για να ανταλλάξετε τον κατάλογο χρηστών. Για παράδειγμα, αυτό θα χρησιμοποιηθεί για την αυτόματη συμπλήρωση εξωτερικών χρηστών για ομαδική κοινή χρήση. Δεν είναι απαραίτητο να προσθέσετε έναν διακομιστή ως αξιόπιστο για να δημιουργήσετε ένα κοινόχρηστο μεταξύ τους στοιχείο." + "Add" : "Προσθήκη" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/federation/l10n/en_GB.js b/apps/federation/l10n/en_GB.js index 2c94a692d27..d0b88545467 100644 --- a/apps/federation/l10n/en_GB.js +++ b/apps/federation/l10n/en_GB.js @@ -2,6 +2,8 @@ OC.L10N.register( "federation", { "Added to the list of trusted servers" : "Added to the list of trusted servers", + "No server found with ID: %s" : "No server found with ID: %s", + "Could not remove server" : "Could not remove server", "Server is already in the list of trusted servers." : "Server is already in the list of trusted servers.", "No server to federate with found" : "No server to federate with found", "Could not add server" : "Could not add server", @@ -9,12 +11,11 @@ OC.L10N.register( "Federation" : "Federation", "Federation allows you to connect with other trusted servers to exchange the account directory." : "Federation allows you to connect with other trusted servers to exchange the account directory.", "Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing." : "Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing.", + "External documentation for Federated Cloud Sharing" : "External documentation for Federated Cloud Sharing", "Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing. It is not necessary to add a server as trusted server in order to create a federated share." : "Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing. It is not necessary to add a server as trusted server in order to create a federated share.", + "Each server must validate the other. This process may require a few cron cycles." : "Each server must validate the other. This process may require a few cron cycles.", "+ Add trusted server" : "+ Add trusted server", "Trusted server" : "Trusted server", - "Add" : "Add", - "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.", - "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: 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." : "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" : "Add" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/federation/l10n/en_GB.json b/apps/federation/l10n/en_GB.json index 55e98f638ca..7a7b7f9a060 100644 --- a/apps/federation/l10n/en_GB.json +++ b/apps/federation/l10n/en_GB.json @@ -1,5 +1,7 @@ { "translations": { "Added to the list of trusted servers" : "Added to the list of trusted servers", + "No server found with ID: %s" : "No server found with ID: %s", + "Could not remove server" : "Could not remove server", "Server is already in the list of trusted servers." : "Server is already in the list of trusted servers.", "No server to federate with found" : "No server to federate with found", "Could not add server" : "Could not add server", @@ -7,12 +9,11 @@ "Federation" : "Federation", "Federation allows you to connect with other trusted servers to exchange the account directory." : "Federation allows you to connect with other trusted servers to exchange the account directory.", "Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing." : "Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing.", + "External documentation for Federated Cloud Sharing" : "External documentation for Federated Cloud Sharing", "Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing. It is not necessary to add a server as trusted server in order to create a federated share." : "Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing. It is not necessary to add a server as trusted server in order to create a federated share.", + "Each server must validate the other. This process may require a few cron cycles." : "Each server must validate the other. This process may require a few cron cycles.", "+ Add trusted server" : "+ Add trusted server", "Trusted server" : "Trusted server", - "Add" : "Add", - "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.", - "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: 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." : "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" : "Add" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/federation/l10n/eo.js b/apps/federation/l10n/eo.js index 0865aba0f33..e1739be31e8 100644 --- a/apps/federation/l10n/eo.js +++ b/apps/federation/l10n/eo.js @@ -9,8 +9,6 @@ OC.L10N.register( "Federation" : "Federado", "+ Add trusted server" : "+ Aldoni fidindan servilon", "Trusted server" : "Fidinda servilo", - "Add" : "Aldoni", - "Federation allows you to connect with other trusted servers to exchange the user directory." : "„Federado“ ebligas vin konekti al aliaj fidindaj serviloj por interŝanĝi liston de uzantoj.", - "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." : "„Federado“ ebligas vin konekti al aliaj fidindaj serviloj por interŝanĝi liston de uzantoj. Ekzemple, tio uziĝos por aŭtomate kompletigi forajn uzantojn en federa kunhavigo." + "Add" : "Aldoni" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/federation/l10n/eo.json b/apps/federation/l10n/eo.json index 63f8202361c..375ae2a6433 100644 --- a/apps/federation/l10n/eo.json +++ b/apps/federation/l10n/eo.json @@ -7,8 +7,6 @@ "Federation" : "Federado", "+ Add trusted server" : "+ Aldoni fidindan servilon", "Trusted server" : "Fidinda servilo", - "Add" : "Aldoni", - "Federation allows you to connect with other trusted servers to exchange the user directory." : "„Federado“ ebligas vin konekti al aliaj fidindaj serviloj por interŝanĝi liston de uzantoj.", - "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." : "„Federado“ ebligas vin konekti al aliaj fidindaj serviloj por interŝanĝi liston de uzantoj. Ekzemple, tio uziĝos por aŭtomate kompletigi forajn uzantojn en federa kunhavigo." + "Add" : "Aldoni" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/federation/l10n/es.js b/apps/federation/l10n/es.js index 71e399e0549..83e1acb38f8 100644 --- a/apps/federation/l10n/es.js +++ b/apps/federation/l10n/es.js @@ -2,6 +2,8 @@ OC.L10N.register( "federation", { "Added to the list of trusted servers" : "Añadido a la lista de servidores de confianza", + "No server found with ID: %s" : "No se ha encontrado el servidor con ID: %s", + "Could not remove server" : "No se pudo eliminar el servidor", "Server is already in the list of trusted servers." : "El servidor ya está en la lista de servidores en los que se confía.", "No server to federate with found" : "No se ha encontrado ningún servidor con el que federarse.", "Could not add server" : "No se ha podido añadir el servidor", @@ -9,12 +11,11 @@ OC.L10N.register( "Federation" : "Federación", "Federation allows you to connect with other trusted servers to exchange the account directory." : "La federación le permite conectarse con otros servidores de confianza para intercambiar el directorio de usuarios.", "Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing." : "La Federación le permite conectarse con otros servidores de confianza para intercambiar el directorio de usuarios. Por ejemplo, esto se utilizará para auto-completar a los usuarios externos para el intercambio federado.", + "External documentation for Federated Cloud Sharing" : "Documentación externa para Compartir con Nube Federada", "Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing. It is not necessary to add a server as trusted server in order to create a federated share." : "La Federación le permite conectarse con otros servidores de confianza para intercambiar el directorio de usuarios. Por ejemplo, esto se utilizará para auto-completar a los usuarios externos para el intercambio federado. No es necesario añadir un servidor como servidor de confianza para crear una recurso compartido federado.", + "Each server must validate the other. This process may require a few cron cycles." : "Cada servidor debe validar al otro. Este proceso puede necesitar algunos ciclos de cron.", "+ Add trusted server" : "+ Añadir servidor de confianza", "Trusted server" : "Servidor de confianza", - "Add" : "Añadir", - "Federation allows you to connect with other trusted servers to exchange the user directory." : "Federación te permite conectar con otros servidores de confianza para intercambiar el directorio de usuarios.", - "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." : "La federación permite conectarte con otros servidores de confianza para intercambiar directorios. Por ejemplo, esto se usará para autocompletar la selección de usuarios externos al compartir en federación.", - "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." : "La Federación le permite conectarse con otros servidores de confianza para intercambiar el directorio de usuarios. Por ejemplo, esto se utilizará para auto-completar a los usuarios externos para el intercambio federado. No es necesario añadir un servidor como servidor de confianza para crear una recurso compartido federado." + "Add" : "Añadir" }, "nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); diff --git a/apps/federation/l10n/es.json b/apps/federation/l10n/es.json index a2d05c45009..3c07677f806 100644 --- a/apps/federation/l10n/es.json +++ b/apps/federation/l10n/es.json @@ -1,5 +1,7 @@ { "translations": { "Added to the list of trusted servers" : "Añadido a la lista de servidores de confianza", + "No server found with ID: %s" : "No se ha encontrado el servidor con ID: %s", + "Could not remove server" : "No se pudo eliminar el servidor", "Server is already in the list of trusted servers." : "El servidor ya está en la lista de servidores en los que se confía.", "No server to federate with found" : "No se ha encontrado ningún servidor con el que federarse.", "Could not add server" : "No se ha podido añadir el servidor", @@ -7,12 +9,11 @@ "Federation" : "Federación", "Federation allows you to connect with other trusted servers to exchange the account directory." : "La federación le permite conectarse con otros servidores de confianza para intercambiar el directorio de usuarios.", "Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing." : "La Federación le permite conectarse con otros servidores de confianza para intercambiar el directorio de usuarios. Por ejemplo, esto se utilizará para auto-completar a los usuarios externos para el intercambio federado.", + "External documentation for Federated Cloud Sharing" : "Documentación externa para Compartir con Nube Federada", "Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing. It is not necessary to add a server as trusted server in order to create a federated share." : "La Federación le permite conectarse con otros servidores de confianza para intercambiar el directorio de usuarios. Por ejemplo, esto se utilizará para auto-completar a los usuarios externos para el intercambio federado. No es necesario añadir un servidor como servidor de confianza para crear una recurso compartido federado.", + "Each server must validate the other. This process may require a few cron cycles." : "Cada servidor debe validar al otro. Este proceso puede necesitar algunos ciclos de cron.", "+ Add trusted server" : "+ Añadir servidor de confianza", "Trusted server" : "Servidor de confianza", - "Add" : "Añadir", - "Federation allows you to connect with other trusted servers to exchange the user directory." : "Federación te permite conectar con otros servidores de confianza para intercambiar el directorio de usuarios.", - "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." : "La federación permite conectarte con otros servidores de confianza para intercambiar directorios. Por ejemplo, esto se usará para autocompletar la selección de usuarios externos al compartir en federación.", - "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." : "La Federación le permite conectarse con otros servidores de confianza para intercambiar el directorio de usuarios. Por ejemplo, esto se utilizará para auto-completar a los usuarios externos para el intercambio federado. No es necesario añadir un servidor como servidor de confianza para crear una recurso compartido federado." + "Add" : "Añadir" },"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" }
\ No newline at end of file diff --git a/apps/federation/l10n/es_419.js b/apps/federation/l10n/es_419.js index 596a9a2d36f..38d278ed2b9 100644 --- a/apps/federation/l10n/es_419.js +++ b/apps/federation/l10n/es_419.js @@ -9,7 +9,6 @@ OC.L10N.register( "Federation" : "Federación", "+ Add trusted server" : "+ Agregar servidor de confianza", "Trusted server" : "Servidor de confianza", - "Add" : "Agregar", - "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." : "La federación te permite conectarte con otros servidores de confianza para intercambiar el directorio de usuarios. Por ejemplo, esto se usará para auto-completar usuarios externos en el recurso compartido federado." + "Add" : "Agregar" }, "nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); diff --git a/apps/federation/l10n/es_419.json b/apps/federation/l10n/es_419.json index cf3a0c06d27..0864dcbcee6 100644 --- a/apps/federation/l10n/es_419.json +++ b/apps/federation/l10n/es_419.json @@ -7,7 +7,6 @@ "Federation" : "Federación", "+ Add trusted server" : "+ Agregar servidor de confianza", "Trusted server" : "Servidor de confianza", - "Add" : "Agregar", - "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." : "La federación te permite conectarte con otros servidores de confianza para intercambiar el directorio de usuarios. Por ejemplo, esto se usará para auto-completar usuarios externos en el recurso compartido federado." + "Add" : "Agregar" },"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" }
\ No newline at end of file diff --git a/apps/federation/l10n/es_AR.js b/apps/federation/l10n/es_AR.js index ffb88382eda..38d278ed2b9 100644 --- a/apps/federation/l10n/es_AR.js +++ b/apps/federation/l10n/es_AR.js @@ -9,7 +9,6 @@ OC.L10N.register( "Federation" : "Federación", "+ Add trusted server" : "+ Agregar servidor de confianza", "Trusted server" : "Servidor de confianza", - "Add" : "Agregar", - "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." : "La federación le permite conectarse con otros servidores de confianza para intercambiar el directorio de usuarios. Por ejemplo, esto se usará para auto-completar usuarios externos en el recurso compartido federado." + "Add" : "Agregar" }, "nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); diff --git a/apps/federation/l10n/es_AR.json b/apps/federation/l10n/es_AR.json index bc348e5fe6e..0864dcbcee6 100644 --- a/apps/federation/l10n/es_AR.json +++ b/apps/federation/l10n/es_AR.json @@ -7,7 +7,6 @@ "Federation" : "Federación", "+ Add trusted server" : "+ Agregar servidor de confianza", "Trusted server" : "Servidor de confianza", - "Add" : "Agregar", - "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." : "La federación le permite conectarse con otros servidores de confianza para intercambiar el directorio de usuarios. Por ejemplo, esto se usará para auto-completar usuarios externos en el recurso compartido federado." + "Add" : "Agregar" },"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" }
\ No newline at end of file diff --git a/apps/federation/l10n/es_CL.js b/apps/federation/l10n/es_CL.js index 596a9a2d36f..38d278ed2b9 100644 --- a/apps/federation/l10n/es_CL.js +++ b/apps/federation/l10n/es_CL.js @@ -9,7 +9,6 @@ OC.L10N.register( "Federation" : "Federación", "+ Add trusted server" : "+ Agregar servidor de confianza", "Trusted server" : "Servidor de confianza", - "Add" : "Agregar", - "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." : "La federación te permite conectarte con otros servidores de confianza para intercambiar el directorio de usuarios. Por ejemplo, esto se usará para auto-completar usuarios externos en el recurso compartido federado." + "Add" : "Agregar" }, "nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); diff --git a/apps/federation/l10n/es_CL.json b/apps/federation/l10n/es_CL.json index cf3a0c06d27..0864dcbcee6 100644 --- a/apps/federation/l10n/es_CL.json +++ b/apps/federation/l10n/es_CL.json @@ -7,7 +7,6 @@ "Federation" : "Federación", "+ Add trusted server" : "+ Agregar servidor de confianza", "Trusted server" : "Servidor de confianza", - "Add" : "Agregar", - "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." : "La federación te permite conectarte con otros servidores de confianza para intercambiar el directorio de usuarios. Por ejemplo, esto se usará para auto-completar usuarios externos en el recurso compartido federado." + "Add" : "Agregar" },"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" }
\ No newline at end of file diff --git a/apps/federation/l10n/es_CO.js b/apps/federation/l10n/es_CO.js index 596a9a2d36f..38d278ed2b9 100644 --- a/apps/federation/l10n/es_CO.js +++ b/apps/federation/l10n/es_CO.js @@ -9,7 +9,6 @@ OC.L10N.register( "Federation" : "Federación", "+ Add trusted server" : "+ Agregar servidor de confianza", "Trusted server" : "Servidor de confianza", - "Add" : "Agregar", - "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." : "La federación te permite conectarte con otros servidores de confianza para intercambiar el directorio de usuarios. Por ejemplo, esto se usará para auto-completar usuarios externos en el recurso compartido federado." + "Add" : "Agregar" }, "nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); diff --git a/apps/federation/l10n/es_CO.json b/apps/federation/l10n/es_CO.json index cf3a0c06d27..0864dcbcee6 100644 --- a/apps/federation/l10n/es_CO.json +++ b/apps/federation/l10n/es_CO.json @@ -7,7 +7,6 @@ "Federation" : "Federación", "+ Add trusted server" : "+ Agregar servidor de confianza", "Trusted server" : "Servidor de confianza", - "Add" : "Agregar", - "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." : "La federación te permite conectarte con otros servidores de confianza para intercambiar el directorio de usuarios. Por ejemplo, esto se usará para auto-completar usuarios externos en el recurso compartido federado." + "Add" : "Agregar" },"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" }
\ No newline at end of file diff --git a/apps/federation/l10n/es_CR.js b/apps/federation/l10n/es_CR.js index 596a9a2d36f..38d278ed2b9 100644 --- a/apps/federation/l10n/es_CR.js +++ b/apps/federation/l10n/es_CR.js @@ -9,7 +9,6 @@ OC.L10N.register( "Federation" : "Federación", "+ Add trusted server" : "+ Agregar servidor de confianza", "Trusted server" : "Servidor de confianza", - "Add" : "Agregar", - "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." : "La federación te permite conectarte con otros servidores de confianza para intercambiar el directorio de usuarios. Por ejemplo, esto se usará para auto-completar usuarios externos en el recurso compartido federado." + "Add" : "Agregar" }, "nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); diff --git a/apps/federation/l10n/es_CR.json b/apps/federation/l10n/es_CR.json index cf3a0c06d27..0864dcbcee6 100644 --- a/apps/federation/l10n/es_CR.json +++ b/apps/federation/l10n/es_CR.json @@ -7,7 +7,6 @@ "Federation" : "Federación", "+ Add trusted server" : "+ Agregar servidor de confianza", "Trusted server" : "Servidor de confianza", - "Add" : "Agregar", - "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." : "La federación te permite conectarte con otros servidores de confianza para intercambiar el directorio de usuarios. Por ejemplo, esto se usará para auto-completar usuarios externos en el recurso compartido federado." + "Add" : "Agregar" },"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" }
\ No newline at end of file diff --git a/apps/federation/l10n/es_DO.js b/apps/federation/l10n/es_DO.js index 116c204d6e6..38d278ed2b9 100644 --- a/apps/federation/l10n/es_DO.js +++ b/apps/federation/l10n/es_DO.js @@ -9,9 +9,6 @@ OC.L10N.register( "Federation" : "Federación", "+ Add trusted server" : "+ Agregar servidor de confianza", "Trusted server" : "Servidor de confianza", - "Add" : "Agregar", - "Federation allows you to connect with other trusted servers to exchange the user directory." : "La federación le permite conectarse con otros servidores de confianza para intercambiar el directorio de usuarios.", - "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." : "La federación te permite conectarte con otros servidores de confianza para intercambiar el directorio de usuarios. Por ejemplo, esto se usará para auto-completar usuarios externos en el recurso compartido federado.", - "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." : "La federación le permite conectarse con otros servidores de confianza para intercambiar el directorio de usuarios. Por ejemplo, esto se utilizará para autocompletar usuarios externos para uso compartido federado. No es necesario agregar un servidor como servidor de confianza para crear un recurso compartido federado." + "Add" : "Agregar" }, "nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); diff --git a/apps/federation/l10n/es_DO.json b/apps/federation/l10n/es_DO.json index d5c34690c80..0864dcbcee6 100644 --- a/apps/federation/l10n/es_DO.json +++ b/apps/federation/l10n/es_DO.json @@ -7,9 +7,6 @@ "Federation" : "Federación", "+ Add trusted server" : "+ Agregar servidor de confianza", "Trusted server" : "Servidor de confianza", - "Add" : "Agregar", - "Federation allows you to connect with other trusted servers to exchange the user directory." : "La federación le permite conectarse con otros servidores de confianza para intercambiar el directorio de usuarios.", - "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." : "La federación te permite conectarte con otros servidores de confianza para intercambiar el directorio de usuarios. Por ejemplo, esto se usará para auto-completar usuarios externos en el recurso compartido federado.", - "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." : "La federación le permite conectarse con otros servidores de confianza para intercambiar el directorio de usuarios. Por ejemplo, esto se utilizará para autocompletar usuarios externos para uso compartido federado. No es necesario agregar un servidor como servidor de confianza para crear un recurso compartido federado." + "Add" : "Agregar" },"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" }
\ No newline at end of file diff --git a/apps/federation/l10n/es_EC.js b/apps/federation/l10n/es_EC.js index c86179f323e..38d278ed2b9 100644 --- a/apps/federation/l10n/es_EC.js +++ b/apps/federation/l10n/es_EC.js @@ -9,9 +9,6 @@ OC.L10N.register( "Federation" : "Federación", "+ Add trusted server" : "+ Agregar servidor de confianza", "Trusted server" : "Servidor de confianza", - "Add" : "Agregar", - "Federation allows you to connect with other trusted servers to exchange the user directory." : "La federación te permite conectarte con otros servidores de confianza para intercambiar el directorio de usuarios.", - "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." : "La federación te permite conectarte con otros servidores de confianza para intercambiar el directorio de usuarios. Por ejemplo, esto se usará para auto-completar usuarios externos en el recurso compartido federado.", - "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." : "La federación te permite conectarte con otros servidores de confianza para intercambiar el directorio de usuarios. Por ejemplo, esto se utiliza para autocompletar usuarios externos en el uso compartido federado. No es necesario agregar un servidor como servidor de confianza para crear un uso compartido federado." + "Add" : "Agregar" }, "nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); diff --git a/apps/federation/l10n/es_EC.json b/apps/federation/l10n/es_EC.json index ca7b92bc5c4..0864dcbcee6 100644 --- a/apps/federation/l10n/es_EC.json +++ b/apps/federation/l10n/es_EC.json @@ -7,9 +7,6 @@ "Federation" : "Federación", "+ Add trusted server" : "+ Agregar servidor de confianza", "Trusted server" : "Servidor de confianza", - "Add" : "Agregar", - "Federation allows you to connect with other trusted servers to exchange the user directory." : "La federación te permite conectarte con otros servidores de confianza para intercambiar el directorio de usuarios.", - "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." : "La federación te permite conectarte con otros servidores de confianza para intercambiar el directorio de usuarios. Por ejemplo, esto se usará para auto-completar usuarios externos en el recurso compartido federado.", - "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." : "La federación te permite conectarte con otros servidores de confianza para intercambiar el directorio de usuarios. Por ejemplo, esto se utiliza para autocompletar usuarios externos en el uso compartido federado. No es necesario agregar un servidor como servidor de confianza para crear un uso compartido federado." + "Add" : "Agregar" },"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" }
\ No newline at end of file diff --git a/apps/federation/l10n/es_GT.js b/apps/federation/l10n/es_GT.js index 596a9a2d36f..38d278ed2b9 100644 --- a/apps/federation/l10n/es_GT.js +++ b/apps/federation/l10n/es_GT.js @@ -9,7 +9,6 @@ OC.L10N.register( "Federation" : "Federación", "+ Add trusted server" : "+ Agregar servidor de confianza", "Trusted server" : "Servidor de confianza", - "Add" : "Agregar", - "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." : "La federación te permite conectarte con otros servidores de confianza para intercambiar el directorio de usuarios. Por ejemplo, esto se usará para auto-completar usuarios externos en el recurso compartido federado." + "Add" : "Agregar" }, "nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); diff --git a/apps/federation/l10n/es_GT.json b/apps/federation/l10n/es_GT.json index cf3a0c06d27..0864dcbcee6 100644 --- a/apps/federation/l10n/es_GT.json +++ b/apps/federation/l10n/es_GT.json @@ -7,7 +7,6 @@ "Federation" : "Federación", "+ Add trusted server" : "+ Agregar servidor de confianza", "Trusted server" : "Servidor de confianza", - "Add" : "Agregar", - "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." : "La federación te permite conectarte con otros servidores de confianza para intercambiar el directorio de usuarios. Por ejemplo, esto se usará para auto-completar usuarios externos en el recurso compartido federado." + "Add" : "Agregar" },"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" }
\ No newline at end of file diff --git a/apps/federation/l10n/es_HN.js b/apps/federation/l10n/es_HN.js index 596a9a2d36f..38d278ed2b9 100644 --- a/apps/federation/l10n/es_HN.js +++ b/apps/federation/l10n/es_HN.js @@ -9,7 +9,6 @@ OC.L10N.register( "Federation" : "Federación", "+ Add trusted server" : "+ Agregar servidor de confianza", "Trusted server" : "Servidor de confianza", - "Add" : "Agregar", - "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." : "La federación te permite conectarte con otros servidores de confianza para intercambiar el directorio de usuarios. Por ejemplo, esto se usará para auto-completar usuarios externos en el recurso compartido federado." + "Add" : "Agregar" }, "nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); diff --git a/apps/federation/l10n/es_HN.json b/apps/federation/l10n/es_HN.json index cf3a0c06d27..0864dcbcee6 100644 --- a/apps/federation/l10n/es_HN.json +++ b/apps/federation/l10n/es_HN.json @@ -7,7 +7,6 @@ "Federation" : "Federación", "+ Add trusted server" : "+ Agregar servidor de confianza", "Trusted server" : "Servidor de confianza", - "Add" : "Agregar", - "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." : "La federación te permite conectarte con otros servidores de confianza para intercambiar el directorio de usuarios. Por ejemplo, esto se usará para auto-completar usuarios externos en el recurso compartido federado." + "Add" : "Agregar" },"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" }
\ No newline at end of file diff --git a/apps/federation/l10n/es_MX.js b/apps/federation/l10n/es_MX.js index dfb55c454a6..298f0c5cca6 100644 --- a/apps/federation/l10n/es_MX.js +++ b/apps/federation/l10n/es_MX.js @@ -12,9 +12,6 @@ OC.L10N.register( "Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing. It is not necessary to add a server as trusted server in order to create a federated share." : "La Federación permite conectarse con otros servidores de confianza para intercambiar el directorio de usuarios. Por ejemplo, esto se usará para autocompletar usuarios externos en el recurso compartido federado. No es necesario añadir un servidor como servidor de confianza para crear un recurso compartido federado.", "+ Add trusted server" : "+ Agregar servidor de confianza", "Trusted server" : "Servidor de confianza", - "Add" : "Agregar", - "Federation allows you to connect with other trusted servers to exchange the user directory." : "La Federación te permite conectarte con otros servidores de confianza para intercambiar el directorio de usuarios.", - "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." : "La federación te permite conectarte con otros servidores de confianza para intercambiar el directorio de usuarios. Por ejemplo, esto se usará para auto-completar usuarios externos en el recurso compartido federado.", - "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." : "La Federación permite conectarse con otros servidores de confianza para intercambiar el directorio de usuarios. Por ejemplo, esto se usará para autocompletar usuarios externos en el recurso compartido federado. No es necesario añadir un servidor como servidor de confianza para crear un recurso compartido federado." + "Add" : "Agregar" }, "nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); diff --git a/apps/federation/l10n/es_MX.json b/apps/federation/l10n/es_MX.json index 65290771de3..8619bee4a09 100644 --- a/apps/federation/l10n/es_MX.json +++ b/apps/federation/l10n/es_MX.json @@ -10,9 +10,6 @@ "Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing. It is not necessary to add a server as trusted server in order to create a federated share." : "La Federación permite conectarse con otros servidores de confianza para intercambiar el directorio de usuarios. Por ejemplo, esto se usará para autocompletar usuarios externos en el recurso compartido federado. No es necesario añadir un servidor como servidor de confianza para crear un recurso compartido federado.", "+ Add trusted server" : "+ Agregar servidor de confianza", "Trusted server" : "Servidor de confianza", - "Add" : "Agregar", - "Federation allows you to connect with other trusted servers to exchange the user directory." : "La Federación te permite conectarte con otros servidores de confianza para intercambiar el directorio de usuarios.", - "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." : "La federación te permite conectarte con otros servidores de confianza para intercambiar el directorio de usuarios. Por ejemplo, esto se usará para auto-completar usuarios externos en el recurso compartido federado.", - "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." : "La Federación permite conectarse con otros servidores de confianza para intercambiar el directorio de usuarios. Por ejemplo, esto se usará para autocompletar usuarios externos en el recurso compartido federado. No es necesario añadir un servidor como servidor de confianza para crear un recurso compartido federado." + "Add" : "Agregar" },"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" }
\ No newline at end of file diff --git a/apps/federation/l10n/es_NI.js b/apps/federation/l10n/es_NI.js index 596a9a2d36f..38d278ed2b9 100644 --- a/apps/federation/l10n/es_NI.js +++ b/apps/federation/l10n/es_NI.js @@ -9,7 +9,6 @@ OC.L10N.register( "Federation" : "Federación", "+ Add trusted server" : "+ Agregar servidor de confianza", "Trusted server" : "Servidor de confianza", - "Add" : "Agregar", - "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." : "La federación te permite conectarte con otros servidores de confianza para intercambiar el directorio de usuarios. Por ejemplo, esto se usará para auto-completar usuarios externos en el recurso compartido federado." + "Add" : "Agregar" }, "nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); diff --git a/apps/federation/l10n/es_NI.json b/apps/federation/l10n/es_NI.json index cf3a0c06d27..0864dcbcee6 100644 --- a/apps/federation/l10n/es_NI.json +++ b/apps/federation/l10n/es_NI.json @@ -7,7 +7,6 @@ "Federation" : "Federación", "+ Add trusted server" : "+ Agregar servidor de confianza", "Trusted server" : "Servidor de confianza", - "Add" : "Agregar", - "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." : "La federación te permite conectarte con otros servidores de confianza para intercambiar el directorio de usuarios. Por ejemplo, esto se usará para auto-completar usuarios externos en el recurso compartido federado." + "Add" : "Agregar" },"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" }
\ No newline at end of file diff --git a/apps/federation/l10n/es_PA.js b/apps/federation/l10n/es_PA.js index 596a9a2d36f..38d278ed2b9 100644 --- a/apps/federation/l10n/es_PA.js +++ b/apps/federation/l10n/es_PA.js @@ -9,7 +9,6 @@ OC.L10N.register( "Federation" : "Federación", "+ Add trusted server" : "+ Agregar servidor de confianza", "Trusted server" : "Servidor de confianza", - "Add" : "Agregar", - "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." : "La federación te permite conectarte con otros servidores de confianza para intercambiar el directorio de usuarios. Por ejemplo, esto se usará para auto-completar usuarios externos en el recurso compartido federado." + "Add" : "Agregar" }, "nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); diff --git a/apps/federation/l10n/es_PA.json b/apps/federation/l10n/es_PA.json index cf3a0c06d27..0864dcbcee6 100644 --- a/apps/federation/l10n/es_PA.json +++ b/apps/federation/l10n/es_PA.json @@ -7,7 +7,6 @@ "Federation" : "Federación", "+ Add trusted server" : "+ Agregar servidor de confianza", "Trusted server" : "Servidor de confianza", - "Add" : "Agregar", - "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." : "La federación te permite conectarte con otros servidores de confianza para intercambiar el directorio de usuarios. Por ejemplo, esto se usará para auto-completar usuarios externos en el recurso compartido federado." + "Add" : "Agregar" },"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" }
\ No newline at end of file diff --git a/apps/federation/l10n/es_PE.js b/apps/federation/l10n/es_PE.js index 596a9a2d36f..38d278ed2b9 100644 --- a/apps/federation/l10n/es_PE.js +++ b/apps/federation/l10n/es_PE.js @@ -9,7 +9,6 @@ OC.L10N.register( "Federation" : "Federación", "+ Add trusted server" : "+ Agregar servidor de confianza", "Trusted server" : "Servidor de confianza", - "Add" : "Agregar", - "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." : "La federación te permite conectarte con otros servidores de confianza para intercambiar el directorio de usuarios. Por ejemplo, esto se usará para auto-completar usuarios externos en el recurso compartido federado." + "Add" : "Agregar" }, "nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); diff --git a/apps/federation/l10n/es_PE.json b/apps/federation/l10n/es_PE.json index cf3a0c06d27..0864dcbcee6 100644 --- a/apps/federation/l10n/es_PE.json +++ b/apps/federation/l10n/es_PE.json @@ -7,7 +7,6 @@ "Federation" : "Federación", "+ Add trusted server" : "+ Agregar servidor de confianza", "Trusted server" : "Servidor de confianza", - "Add" : "Agregar", - "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." : "La federación te permite conectarte con otros servidores de confianza para intercambiar el directorio de usuarios. Por ejemplo, esto se usará para auto-completar usuarios externos en el recurso compartido federado." + "Add" : "Agregar" },"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" }
\ No newline at end of file diff --git a/apps/federation/l10n/es_PR.js b/apps/federation/l10n/es_PR.js index 596a9a2d36f..38d278ed2b9 100644 --- a/apps/federation/l10n/es_PR.js +++ b/apps/federation/l10n/es_PR.js @@ -9,7 +9,6 @@ OC.L10N.register( "Federation" : "Federación", "+ Add trusted server" : "+ Agregar servidor de confianza", "Trusted server" : "Servidor de confianza", - "Add" : "Agregar", - "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." : "La federación te permite conectarte con otros servidores de confianza para intercambiar el directorio de usuarios. Por ejemplo, esto se usará para auto-completar usuarios externos en el recurso compartido federado." + "Add" : "Agregar" }, "nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); diff --git a/apps/federation/l10n/es_PR.json b/apps/federation/l10n/es_PR.json index cf3a0c06d27..0864dcbcee6 100644 --- a/apps/federation/l10n/es_PR.json +++ b/apps/federation/l10n/es_PR.json @@ -7,7 +7,6 @@ "Federation" : "Federación", "+ Add trusted server" : "+ Agregar servidor de confianza", "Trusted server" : "Servidor de confianza", - "Add" : "Agregar", - "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." : "La federación te permite conectarte con otros servidores de confianza para intercambiar el directorio de usuarios. Por ejemplo, esto se usará para auto-completar usuarios externos en el recurso compartido federado." + "Add" : "Agregar" },"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" }
\ No newline at end of file diff --git a/apps/federation/l10n/es_PY.js b/apps/federation/l10n/es_PY.js index 596a9a2d36f..38d278ed2b9 100644 --- a/apps/federation/l10n/es_PY.js +++ b/apps/federation/l10n/es_PY.js @@ -9,7 +9,6 @@ OC.L10N.register( "Federation" : "Federación", "+ Add trusted server" : "+ Agregar servidor de confianza", "Trusted server" : "Servidor de confianza", - "Add" : "Agregar", - "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." : "La federación te permite conectarte con otros servidores de confianza para intercambiar el directorio de usuarios. Por ejemplo, esto se usará para auto-completar usuarios externos en el recurso compartido federado." + "Add" : "Agregar" }, "nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); diff --git a/apps/federation/l10n/es_PY.json b/apps/federation/l10n/es_PY.json index cf3a0c06d27..0864dcbcee6 100644 --- a/apps/federation/l10n/es_PY.json +++ b/apps/federation/l10n/es_PY.json @@ -7,7 +7,6 @@ "Federation" : "Federación", "+ Add trusted server" : "+ Agregar servidor de confianza", "Trusted server" : "Servidor de confianza", - "Add" : "Agregar", - "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." : "La federación te permite conectarte con otros servidores de confianza para intercambiar el directorio de usuarios. Por ejemplo, esto se usará para auto-completar usuarios externos en el recurso compartido federado." + "Add" : "Agregar" },"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" }
\ No newline at end of file diff --git a/apps/federation/l10n/es_SV.js b/apps/federation/l10n/es_SV.js index 596a9a2d36f..38d278ed2b9 100644 --- a/apps/federation/l10n/es_SV.js +++ b/apps/federation/l10n/es_SV.js @@ -9,7 +9,6 @@ OC.L10N.register( "Federation" : "Federación", "+ Add trusted server" : "+ Agregar servidor de confianza", "Trusted server" : "Servidor de confianza", - "Add" : "Agregar", - "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." : "La federación te permite conectarte con otros servidores de confianza para intercambiar el directorio de usuarios. Por ejemplo, esto se usará para auto-completar usuarios externos en el recurso compartido federado." + "Add" : "Agregar" }, "nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); diff --git a/apps/federation/l10n/es_SV.json b/apps/federation/l10n/es_SV.json index cf3a0c06d27..0864dcbcee6 100644 --- a/apps/federation/l10n/es_SV.json +++ b/apps/federation/l10n/es_SV.json @@ -7,7 +7,6 @@ "Federation" : "Federación", "+ Add trusted server" : "+ Agregar servidor de confianza", "Trusted server" : "Servidor de confianza", - "Add" : "Agregar", - "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." : "La federación te permite conectarte con otros servidores de confianza para intercambiar el directorio de usuarios. Por ejemplo, esto se usará para auto-completar usuarios externos en el recurso compartido federado." + "Add" : "Agregar" },"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" }
\ No newline at end of file diff --git a/apps/federation/l10n/es_UY.js b/apps/federation/l10n/es_UY.js index 596a9a2d36f..38d278ed2b9 100644 --- a/apps/federation/l10n/es_UY.js +++ b/apps/federation/l10n/es_UY.js @@ -9,7 +9,6 @@ OC.L10N.register( "Federation" : "Federación", "+ Add trusted server" : "+ Agregar servidor de confianza", "Trusted server" : "Servidor de confianza", - "Add" : "Agregar", - "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." : "La federación te permite conectarte con otros servidores de confianza para intercambiar el directorio de usuarios. Por ejemplo, esto se usará para auto-completar usuarios externos en el recurso compartido federado." + "Add" : "Agregar" }, "nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); diff --git a/apps/federation/l10n/es_UY.json b/apps/federation/l10n/es_UY.json index cf3a0c06d27..0864dcbcee6 100644 --- a/apps/federation/l10n/es_UY.json +++ b/apps/federation/l10n/es_UY.json @@ -7,7 +7,6 @@ "Federation" : "Federación", "+ Add trusted server" : "+ Agregar servidor de confianza", "Trusted server" : "Servidor de confianza", - "Add" : "Agregar", - "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." : "La federación te permite conectarte con otros servidores de confianza para intercambiar el directorio de usuarios. Por ejemplo, esto se usará para auto-completar usuarios externos en el recurso compartido federado." + "Add" : "Agregar" },"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" }
\ No newline at end of file diff --git a/apps/federation/l10n/et_EE.js b/apps/federation/l10n/et_EE.js index 54a0b6894f1..55a6c763bd6 100644 --- a/apps/federation/l10n/et_EE.js +++ b/apps/federation/l10n/et_EE.js @@ -2,16 +2,20 @@ OC.L10N.register( "federation", { "Added to the list of trusted servers" : "Lisatud usaldatud serverite nimekirja", + "No server found with ID: %s" : "Ei leidnud serverit IDga: %s", + "Could not remove server" : "Ei saanud serverit eemaldada", "Server is already in the list of trusted servers." : "Server on juba usaldatud serverite nimekirjas.", "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" : "Liidendus", + "Federation allows you to connect with other trusted servers to exchange the account directory." : "Liitjagamine võimaldab teil kontokataloogi vahetamiseks luua ühenduse teiste usaldusväärsete serveritega.", + "Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing." : "Liitjagamine võimaldab kontokataloogi vahendamiseks luua ühenduse teiste usaldusväärsete serveritega. Näiteks kasutatakse seda väliste kontode automaatseks täitmiseks ühendatud jagamiseks.", + "External documentation for Federated Cloud Sharing" : "Väiline dokumentatsioon Liitjagamise Pilvjagamise kohta", + "Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing. It is not necessary to add a server as trusted server in order to create a federated share." : "Liitjagamine võimaldab kontokataloogi vahendamiseks luua ühenduse teiste usaldusväärsete serveritega. Näiteks kasutatakse seda väliste kontode automaatseks täitmiseks ühendatud jagamiseks. Liitjagamise loomiseks ei ole vaja serverit usaldusväärse serverina lisada.", + "Each server must validate the other. This process may require a few cron cycles." : "Iga server peab valideerima teise. See protsess võib võtta mitu cron tsüklit.", "+ Add trusted server" : "+ Lisa usaldatud server", "Trusted server" : "Usaldatud server", - "Add" : "Lisa", - "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" : "Lisa" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/federation/l10n/et_EE.json b/apps/federation/l10n/et_EE.json index a9f4a123fb2..1e9d045edff 100644 --- a/apps/federation/l10n/et_EE.json +++ b/apps/federation/l10n/et_EE.json @@ -1,15 +1,19 @@ { "translations": { "Added to the list of trusted servers" : "Lisatud usaldatud serverite nimekirja", + "No server found with ID: %s" : "Ei leidnud serverit IDga: %s", + "Could not remove server" : "Ei saanud serverit eemaldada", "Server is already in the list of trusted servers." : "Server on juba usaldatud serverite nimekirjas.", "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" : "Liidendus", + "Federation allows you to connect with other trusted servers to exchange the account directory." : "Liitjagamine võimaldab teil kontokataloogi vahetamiseks luua ühenduse teiste usaldusväärsete serveritega.", + "Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing." : "Liitjagamine võimaldab kontokataloogi vahendamiseks luua ühenduse teiste usaldusväärsete serveritega. Näiteks kasutatakse seda väliste kontode automaatseks täitmiseks ühendatud jagamiseks.", + "External documentation for Federated Cloud Sharing" : "Väiline dokumentatsioon Liitjagamise Pilvjagamise kohta", + "Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing. It is not necessary to add a server as trusted server in order to create a federated share." : "Liitjagamine võimaldab kontokataloogi vahendamiseks luua ühenduse teiste usaldusväärsete serveritega. Näiteks kasutatakse seda väliste kontode automaatseks täitmiseks ühendatud jagamiseks. Liitjagamise loomiseks ei ole vaja serverit usaldusväärse serverina lisada.", + "Each server must validate the other. This process may require a few cron cycles." : "Iga server peab valideerima teise. See protsess võib võtta mitu cron tsüklit.", "+ Add trusted server" : "+ Lisa usaldatud server", "Trusted server" : "Usaldatud server", - "Add" : "Lisa", - "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" : "Lisa" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/federation/l10n/eu.js b/apps/federation/l10n/eu.js index 65df82e3064..0a4ccf10760 100644 --- a/apps/federation/l10n/eu.js +++ b/apps/federation/l10n/eu.js @@ -2,6 +2,8 @@ OC.L10N.register( "federation", { "Added to the list of trusted servers" : "Zerbitzari fidagarrien zerrendara gehituta", + "No server found with ID: %s" : "Ez da zerbitzaririk aurkitu ID honekin: %s", + "Could not remove server" : "Ezin izan da zerbitzaria kendu", "Server is already in the list of trusted servers." : "Zerbitzaria fidagarrien zerrendan dago jadanik", "No server to federate with found" : "Ez da federatzeko zerbitzaririk aurkitu", "Could not add server" : "Ezin izan da zerbitzaria gehitu", @@ -9,12 +11,11 @@ OC.L10N.register( "Federation" : "Federazioa", "Federation allows you to connect with other trusted servers to exchange the account directory." : "Federazioak fidagarriak diren beste zerbitzariekin kontu-direktorioa konektatzea ahalbidetzen dizu.", "Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing." : "Federazioaren bidez fidagarriak diren zerbitzariekin kontu-direktorioa trukatzeko aukera dago. Adibidez, kanpo erabiltzaileak automatikoki betetzeko erabil daiteke, federatze partekatuan. ", + "External documentation for Federated Cloud Sharing" : "Federatutako hodei partekatzerako kanpoko dokumentazioa", "Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing. It is not necessary to add a server as trusted server in order to create a federated share." : "Federazioaren bidez fidagarriak diren zerbitzariekin kontu-direktorioa trukatzeko aukera dago. Adibidez, kanpo erabiltzaileak automatikoki betetzeko erabil daiteke, federatze partekatuan. Federatze partekatua egiteko ez da beharrezkoa zerbitzari bat gehitzea zerbitzari fidagarri gisa.", + "Each server must validate the other. This process may require a few cron cycles." : "Zerbitzari bakoitza bestea balioztatu behar du. Prozesu honek cron ziklo batzuk beharko ditu.", "+ Add trusted server" : "+ Gehitu zerbitzari fidagarria", "Trusted server" : "Zerbitzari fidagarria", - "Add" : "Gehitu", - "Federation allows you to connect with other trusted servers to exchange the user directory." : "Federazioak fidagarriak diren beste zerbitzariekin erabiltzaile-direktorioa konektatzea ahalbidetzen dizu.", - "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." : "Federazioaren bidez fidagarriak diren zerbitzariekin erabiltzaileen direktorioa trukatzeko aukera dago. Adibidez, kanpo erabiltzaileak automatikoki betetzeko erabil daiteke, federatze partekatuan. ", - "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." : "Federazioaren bidez fidagarriak diren zerbitzariekin erabiltzaile-direktorioa trukatzeko aukera dago. Adibidez, kanpo erabiltzaileak automatikoki betetzeko erabil daiteke, federatze partekatuan. Federatze partekatua egiteko ez da beharrezkoa zerbitzari bat gehitzea zerbitzari fidagarri gisa." + "Add" : "Gehitu" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/federation/l10n/eu.json b/apps/federation/l10n/eu.json index 1eaa5520a1d..4f72bcabf30 100644 --- a/apps/federation/l10n/eu.json +++ b/apps/federation/l10n/eu.json @@ -1,5 +1,7 @@ { "translations": { "Added to the list of trusted servers" : "Zerbitzari fidagarrien zerrendara gehituta", + "No server found with ID: %s" : "Ez da zerbitzaririk aurkitu ID honekin: %s", + "Could not remove server" : "Ezin izan da zerbitzaria kendu", "Server is already in the list of trusted servers." : "Zerbitzaria fidagarrien zerrendan dago jadanik", "No server to federate with found" : "Ez da federatzeko zerbitzaririk aurkitu", "Could not add server" : "Ezin izan da zerbitzaria gehitu", @@ -7,12 +9,11 @@ "Federation" : "Federazioa", "Federation allows you to connect with other trusted servers to exchange the account directory." : "Federazioak fidagarriak diren beste zerbitzariekin kontu-direktorioa konektatzea ahalbidetzen dizu.", "Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing." : "Federazioaren bidez fidagarriak diren zerbitzariekin kontu-direktorioa trukatzeko aukera dago. Adibidez, kanpo erabiltzaileak automatikoki betetzeko erabil daiteke, federatze partekatuan. ", + "External documentation for Federated Cloud Sharing" : "Federatutako hodei partekatzerako kanpoko dokumentazioa", "Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing. It is not necessary to add a server as trusted server in order to create a federated share." : "Federazioaren bidez fidagarriak diren zerbitzariekin kontu-direktorioa trukatzeko aukera dago. Adibidez, kanpo erabiltzaileak automatikoki betetzeko erabil daiteke, federatze partekatuan. Federatze partekatua egiteko ez da beharrezkoa zerbitzari bat gehitzea zerbitzari fidagarri gisa.", + "Each server must validate the other. This process may require a few cron cycles." : "Zerbitzari bakoitza bestea balioztatu behar du. Prozesu honek cron ziklo batzuk beharko ditu.", "+ Add trusted server" : "+ Gehitu zerbitzari fidagarria", "Trusted server" : "Zerbitzari fidagarria", - "Add" : "Gehitu", - "Federation allows you to connect with other trusted servers to exchange the user directory." : "Federazioak fidagarriak diren beste zerbitzariekin erabiltzaile-direktorioa konektatzea ahalbidetzen dizu.", - "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." : "Federazioaren bidez fidagarriak diren zerbitzariekin erabiltzaileen direktorioa trukatzeko aukera dago. Adibidez, kanpo erabiltzaileak automatikoki betetzeko erabil daiteke, federatze partekatuan. ", - "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." : "Federazioaren bidez fidagarriak diren zerbitzariekin erabiltzaile-direktorioa trukatzeko aukera dago. Adibidez, kanpo erabiltzaileak automatikoki betetzeko erabil daiteke, federatze partekatuan. Federatze partekatua egiteko ez da beharrezkoa zerbitzari bat gehitzea zerbitzari fidagarri gisa." + "Add" : "Gehitu" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/federation/l10n/fa.js b/apps/federation/l10n/fa.js index cc71530e948..772c99c4c8b 100644 --- a/apps/federation/l10n/fa.js +++ b/apps/federation/l10n/fa.js @@ -9,9 +9,6 @@ OC.L10N.register( "Federation" : "Federation", "+ Add trusted server" : "+ سرور قابل اعتماد را اضافه کنید", "Trusted server" : "سرور قابل اعتماد", - "Add" : "افزودن", - "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" : "افزودن" }, "nplurals=2; plural=(n > 1);"); diff --git a/apps/federation/l10n/fa.json b/apps/federation/l10n/fa.json index a8442578380..af0586af402 100644 --- a/apps/federation/l10n/fa.json +++ b/apps/federation/l10n/fa.json @@ -7,9 +7,6 @@ "Federation" : "Federation", "+ Add trusted server" : "+ سرور قابل اعتماد را اضافه کنید", "Trusted server" : "سرور قابل اعتماد", - "Add" : "افزودن", - "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" : "افزودن" },"pluralForm" :"nplurals=2; plural=(n > 1);" }
\ No newline at end of file diff --git a/apps/federation/l10n/fi.js b/apps/federation/l10n/fi.js index 8ee405d38fa..b85b5e9f3fb 100644 --- a/apps/federation/l10n/fi.js +++ b/apps/federation/l10n/fi.js @@ -9,8 +9,6 @@ OC.L10N.register( "Federation" : "Federaatio", "+ Add trusted server" : "+ Lisää luotettu palvelin", "Trusted server" : "Luotettu palvelin", - "Add" : "Lisää", - "Federation allows you to connect with other trusted servers to exchange the user directory." : "Federaatio mahdollistaa yhdistämisen muihin luotettuihin palvelimiin ja siten käyttäjähakemiston vaihtamisen.", - "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." : "Federointi sallii sinun liittyä toisten luotettujen palvelimien käyttäjähakemistoihin. Sitä käytetään esimerkiksi ulkoisten käyttäjänimien automaattiseen täydentämiseen." + "Add" : "Lisää" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/federation/l10n/fi.json b/apps/federation/l10n/fi.json index d704e519028..b1918f4d10d 100644 --- a/apps/federation/l10n/fi.json +++ b/apps/federation/l10n/fi.json @@ -7,8 +7,6 @@ "Federation" : "Federaatio", "+ Add trusted server" : "+ Lisää luotettu palvelin", "Trusted server" : "Luotettu palvelin", - "Add" : "Lisää", - "Federation allows you to connect with other trusted servers to exchange the user directory." : "Federaatio mahdollistaa yhdistämisen muihin luotettuihin palvelimiin ja siten käyttäjähakemiston vaihtamisen.", - "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." : "Federointi sallii sinun liittyä toisten luotettujen palvelimien käyttäjähakemistoihin. Sitä käytetään esimerkiksi ulkoisten käyttäjänimien automaattiseen täydentämiseen." + "Add" : "Lisää" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/federation/l10n/fr.js b/apps/federation/l10n/fr.js index 3e1806cfa8a..004a634bea8 100644 --- a/apps/federation/l10n/fr.js +++ b/apps/federation/l10n/fr.js @@ -2,6 +2,8 @@ OC.L10N.register( "federation", { "Added to the list of trusted servers" : "Ajouté à la liste des serveurs de confiance", + "No server found with ID: %s" : "Aucun serveur trouvé avec l'identifiant %s", + "Could not remove server" : "Impossible de supprimer le serveur", "Server is already in the list of trusted servers." : "Le serveur est déjà dans la liste des serveurs de confiance.", "No server to federate with found" : "Aucun serveur avec lequel fédérer n’a été trouvé", "Could not add server" : "Impossible d’ajouter le serveur", @@ -9,12 +11,11 @@ OC.L10N.register( "Federation" : "Fédération", "Federation allows you to connect with other trusted servers to exchange the account directory." : "Une fédération vous permet de vous connecter avec d'autres serveurs de confiance pour échanger la liste des comptes.", "Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing." : "Une fédération vous permet de vous connecter avec d'autres serveurs de confiance pour échanger la liste des comptes. Par exemple, ce sera utilisé pour auto-compléter les comptes externes lors du partage fédéré.", + "External documentation for Federated Cloud Sharing" : "Documentation externe sur le partage de Cloud Fédéré", "Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing. It is not necessary to add a server as trusted server in order to create a federated share." : "Une fédération vous permet de vous connecter avec d'autres serveurs de confiance pour échanger la liste des comptes. Par exemple, ce sera utilisé pour auto-compléter les comptes externes lors du partage fédéré. Il n'est pas nécessaire d'ajouter un serveur comme serveur de confiance afin de créer un partage fédéré.", + "Each server must validate the other. This process may require a few cron cycles." : "Chaque serveur doit valider l'autre. Ce processus peut prendre plusieurs cycles de tâches planifiées.", "+ Add trusted server" : "+ Ajouter un serveur de confiance", "Trusted server" : "Serveur de confiance", - "Add" : "Ajouter", - "Federation allows you to connect with other trusted servers to exchange the user directory." : "Une fédération vous permet de vous connecter avec d'autres serveurs de confiance pour échanger la liste des utilisateurs.", - "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." : "Une fédération vous permet de vous connecter avec d'autres serveurs de confiance pour échanger la liste des utilisateurs. Par exemple, ce sera utilisé pour auto-compléter les utilisateurs externes lors du partage fédéré.", - "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." : "Une fédération vous permet de vous connecter avec d'autres serveurs de confiance pour échanger la liste des utilisateurs. Par exemple, ce sera utilisé pour auto-compléter les utilisateurs externes lors du partage fédéré. Il n'est pas nécessaire d'ajouter un serveur comme serveur de confiance afin de créer un partage fédéré." + "Add" : "Ajouter" }, "nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); diff --git a/apps/federation/l10n/fr.json b/apps/federation/l10n/fr.json index eb2a2f368ec..05a3828887f 100644 --- a/apps/federation/l10n/fr.json +++ b/apps/federation/l10n/fr.json @@ -1,5 +1,7 @@ { "translations": { "Added to the list of trusted servers" : "Ajouté à la liste des serveurs de confiance", + "No server found with ID: %s" : "Aucun serveur trouvé avec l'identifiant %s", + "Could not remove server" : "Impossible de supprimer le serveur", "Server is already in the list of trusted servers." : "Le serveur est déjà dans la liste des serveurs de confiance.", "No server to federate with found" : "Aucun serveur avec lequel fédérer n’a été trouvé", "Could not add server" : "Impossible d’ajouter le serveur", @@ -7,12 +9,11 @@ "Federation" : "Fédération", "Federation allows you to connect with other trusted servers to exchange the account directory." : "Une fédération vous permet de vous connecter avec d'autres serveurs de confiance pour échanger la liste des comptes.", "Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing." : "Une fédération vous permet de vous connecter avec d'autres serveurs de confiance pour échanger la liste des comptes. Par exemple, ce sera utilisé pour auto-compléter les comptes externes lors du partage fédéré.", + "External documentation for Federated Cloud Sharing" : "Documentation externe sur le partage de Cloud Fédéré", "Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing. It is not necessary to add a server as trusted server in order to create a federated share." : "Une fédération vous permet de vous connecter avec d'autres serveurs de confiance pour échanger la liste des comptes. Par exemple, ce sera utilisé pour auto-compléter les comptes externes lors du partage fédéré. Il n'est pas nécessaire d'ajouter un serveur comme serveur de confiance afin de créer un partage fédéré.", + "Each server must validate the other. This process may require a few cron cycles." : "Chaque serveur doit valider l'autre. Ce processus peut prendre plusieurs cycles de tâches planifiées.", "+ Add trusted server" : "+ Ajouter un serveur de confiance", "Trusted server" : "Serveur de confiance", - "Add" : "Ajouter", - "Federation allows you to connect with other trusted servers to exchange the user directory." : "Une fédération vous permet de vous connecter avec d'autres serveurs de confiance pour échanger la liste des utilisateurs.", - "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." : "Une fédération vous permet de vous connecter avec d'autres serveurs de confiance pour échanger la liste des utilisateurs. Par exemple, ce sera utilisé pour auto-compléter les utilisateurs externes lors du partage fédéré.", - "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." : "Une fédération vous permet de vous connecter avec d'autres serveurs de confiance pour échanger la liste des utilisateurs. Par exemple, ce sera utilisé pour auto-compléter les utilisateurs externes lors du partage fédéré. Il n'est pas nécessaire d'ajouter un serveur comme serveur de confiance afin de créer un partage fédéré." + "Add" : "Ajouter" },"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/federation/l10n/ga.js b/apps/federation/l10n/ga.js index 0d8f968c44a..46b73669caa 100644 --- a/apps/federation/l10n/ga.js +++ b/apps/federation/l10n/ga.js @@ -2,6 +2,8 @@ OC.L10N.register( "federation", { "Added to the list of trusted servers" : "Curtha leis an liosta freastalaithe iontaofa", + "No server found with ID: %s" : "Níor aimsíodh aon fhreastalaí a bhfuil ID air: %s", + "Could not remove server" : "Níorbh fhéidir an freastalaí a bhaint", "Server is already in the list of trusted servers." : "Tá an freastalaí ar liosta na bhfreastalaithe iontaofa cheana féin.", "No server to federate with found" : "Níor aimsíodh aon fhreastalaí le cónascadh leis", "Could not add server" : "Níorbh fhéidir an freastalaí a chur leis", @@ -9,12 +11,11 @@ OC.L10N.register( "Federation" : "Cónaidhm", "Federation allows you to connect with other trusted servers to exchange the account directory." : "Ceadaíonn Cónaidhm duit nascadh le freastalaithe iontaofa eile chun an t-eolaire cuntais a mhalartú.", "Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing." : "Ceadaíonn Cónaidhm duit nascadh le freastalaithe iontaofa eile chun an t-eolaire cuntais a mhalartú. Mar shampla, úsáidfear é seo chun cuntais sheachtracha a uathchríochnú le haghaidh comhroinnte cónasctha.", + "External documentation for Federated Cloud Sharing" : "Doiciméadú seachtrach maidir le Comhroinnt Néalríomhaireachta", "Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing. It is not necessary to add a server as trusted server in order to create a federated share." : "Ceadaíonn Cónaidhm duit nascadh le freastalaithe iontaofa eile chun an t-eolaire cuntais a mhalartú. Mar shampla, úsáidfear é seo chun cuntais sheachtracha a uathchríochnú le haghaidh comhroinnte cónasctha. Ní gá freastalaí a chur leis mar fhreastalaí iontaofa chun sciar cónasctha a chruthú.", + "Each server must validate the other. This process may require a few cron cycles." : "Ní mór do gach freastalaí an ceann eile a bhailíochtú. D'fhéadfadh go mbeadh cúpla timthriall cron ag teastáil don phróiseas seo.", "+ Add trusted server" : "+ Cuir freastalaí iontaofa leis", "Trusted server" : "Freastalaí iontaofa", - "Add" : "Cuir", - "Federation allows you to connect with other trusted servers to exchange the user directory." : "Ceadaíonn Cónaidhm duit nascadh le freastalaithe iontaofa eile chun an t-eolaire úsáideora a mhalartú.", - "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." : "Ceadaíonn Cónaidhm duit nascadh le freastalaithe iontaofa eile chun an t-eolaire úsáideora a mhalartú. Mar shampla úsáidfear é seo chun úsáideoirí seachtracha a uathchríochnú chun comhroinnt chónasctha a dhéanamh.", - "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." : "Ceadaíonn Cónaidhm duit nascadh le freastalaithe iontaofa eile chun an t-eolaire úsáideora a mhalartú. Mar shampla úsáidfear é seo chun úsáideoirí seachtracha a uathchríochnú chun comhroinnt chónasctha a dhéanamh. Ní gá freastalaí a chur leis mar fhreastalaí iontaofa chun sciar cónasctha a chruthú." + "Add" : "Cuir" }, "nplurals=5; plural=(n==1 ? 0 : n==2 ? 1 : n<7 ? 2 : n<11 ? 3 : 4);"); diff --git a/apps/federation/l10n/ga.json b/apps/federation/l10n/ga.json index b8718b1f737..c706d6a54fd 100644 --- a/apps/federation/l10n/ga.json +++ b/apps/federation/l10n/ga.json @@ -1,5 +1,7 @@ { "translations": { "Added to the list of trusted servers" : "Curtha leis an liosta freastalaithe iontaofa", + "No server found with ID: %s" : "Níor aimsíodh aon fhreastalaí a bhfuil ID air: %s", + "Could not remove server" : "Níorbh fhéidir an freastalaí a bhaint", "Server is already in the list of trusted servers." : "Tá an freastalaí ar liosta na bhfreastalaithe iontaofa cheana féin.", "No server to federate with found" : "Níor aimsíodh aon fhreastalaí le cónascadh leis", "Could not add server" : "Níorbh fhéidir an freastalaí a chur leis", @@ -7,12 +9,11 @@ "Federation" : "Cónaidhm", "Federation allows you to connect with other trusted servers to exchange the account directory." : "Ceadaíonn Cónaidhm duit nascadh le freastalaithe iontaofa eile chun an t-eolaire cuntais a mhalartú.", "Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing." : "Ceadaíonn Cónaidhm duit nascadh le freastalaithe iontaofa eile chun an t-eolaire cuntais a mhalartú. Mar shampla, úsáidfear é seo chun cuntais sheachtracha a uathchríochnú le haghaidh comhroinnte cónasctha.", + "External documentation for Federated Cloud Sharing" : "Doiciméadú seachtrach maidir le Comhroinnt Néalríomhaireachta", "Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing. It is not necessary to add a server as trusted server in order to create a federated share." : "Ceadaíonn Cónaidhm duit nascadh le freastalaithe iontaofa eile chun an t-eolaire cuntais a mhalartú. Mar shampla, úsáidfear é seo chun cuntais sheachtracha a uathchríochnú le haghaidh comhroinnte cónasctha. Ní gá freastalaí a chur leis mar fhreastalaí iontaofa chun sciar cónasctha a chruthú.", + "Each server must validate the other. This process may require a few cron cycles." : "Ní mór do gach freastalaí an ceann eile a bhailíochtú. D'fhéadfadh go mbeadh cúpla timthriall cron ag teastáil don phróiseas seo.", "+ Add trusted server" : "+ Cuir freastalaí iontaofa leis", "Trusted server" : "Freastalaí iontaofa", - "Add" : "Cuir", - "Federation allows you to connect with other trusted servers to exchange the user directory." : "Ceadaíonn Cónaidhm duit nascadh le freastalaithe iontaofa eile chun an t-eolaire úsáideora a mhalartú.", - "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." : "Ceadaíonn Cónaidhm duit nascadh le freastalaithe iontaofa eile chun an t-eolaire úsáideora a mhalartú. Mar shampla úsáidfear é seo chun úsáideoirí seachtracha a uathchríochnú chun comhroinnt chónasctha a dhéanamh.", - "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." : "Ceadaíonn Cónaidhm duit nascadh le freastalaithe iontaofa eile chun an t-eolaire úsáideora a mhalartú. Mar shampla úsáidfear é seo chun úsáideoirí seachtracha a uathchríochnú chun comhroinnt chónasctha a dhéanamh. Ní gá freastalaí a chur leis mar fhreastalaí iontaofa chun sciar cónasctha a chruthú." + "Add" : "Cuir" },"pluralForm" :"nplurals=5; plural=(n==1 ? 0 : n==2 ? 1 : n<7 ? 2 : n<11 ? 3 : 4);" }
\ No newline at end of file diff --git a/apps/federation/l10n/gl.js b/apps/federation/l10n/gl.js index ceaf55f0745..39cbf379c8d 100644 --- a/apps/federation/l10n/gl.js +++ b/apps/federation/l10n/gl.js @@ -2,6 +2,8 @@ OC.L10N.register( "federation", { "Added to the list of trusted servers" : "Engadido á lista de servidores de confianza", + "No server found with ID: %s" : "Non se atopou ningún servidor co ID: %s", + "Could not remove server" : "Non foi posíbel retirar o servidor", "Server is already in the list of trusted servers." : "O servidor xa está na lista de servidores de confianza.", "No server to federate with found" : "Non se atopou ningún servidor co que federarse", "Could not add server" : "Non foi posíbel engadir o servidor", @@ -9,12 +11,11 @@ OC.L10N.register( "Federation" : "Federación", "Federation allows you to connect with other trusted servers to exchange the account directory." : "A federación permítelle conectarse con outros servidores de confianza para intercambiar o directorio da conta.", "Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing." : "A federación permítelle conectarse con outros servidores de confianza para intercambiar o directorio da conta. Por exemplo, isto empregarase para autocompletar con contas externas ao compartir en federación.", + "External documentation for Federated Cloud Sharing" : "Documentación externa para «Nube compartida federada»", "Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing. It is not necessary to add a server as trusted server in order to create a federated share." : "A federación permítelle conectarse con outros servidores de confianza para intercambiar o directorio da conta. Por exemplo, isto empregarase para autocompletar con contas externas ao compartir en federación. Non é necesario engadir un servidor como servidor de confianza para poder crear unha compartición federada.", + "Each server must validate the other. This process may require a few cron cycles." : "Cada servidor debe validar ao outro. Este proceso pode requirir algúns ciclos de «cron».", "+ Add trusted server" : "+ Engadir servidor de confianza", "Trusted server" : "Servidor de confianza", - "Add" : "Engadir", - "Federation allows you to connect with other trusted servers to exchange the user directory." : "A federación permítelle conectarse con outros servidores de confianza para intercambiar directorios de usuario.", - "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." : "A federación permítelle conectarse con outros servidores de confianza para intercambiar directorios de usuario. Por exemplo, isto usarase para autocompletar a selección de usuarios externos ao compartir en federación. ", - "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." : "A federación permítelle conectarse con outros servidores de confianza para intercambiar directorios de usuario. Por exemplo, isto usarase para autocompletar a selección de usuarios externos ao compartir en federación. Non é necesario engadir un servidor como servidor de confianza para poder crear unha compartición federada." + "Add" : "Engadir" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/federation/l10n/gl.json b/apps/federation/l10n/gl.json index aa424908028..f987bc282af 100644 --- a/apps/federation/l10n/gl.json +++ b/apps/federation/l10n/gl.json @@ -1,5 +1,7 @@ { "translations": { "Added to the list of trusted servers" : "Engadido á lista de servidores de confianza", + "No server found with ID: %s" : "Non se atopou ningún servidor co ID: %s", + "Could not remove server" : "Non foi posíbel retirar o servidor", "Server is already in the list of trusted servers." : "O servidor xa está na lista de servidores de confianza.", "No server to federate with found" : "Non se atopou ningún servidor co que federarse", "Could not add server" : "Non foi posíbel engadir o servidor", @@ -7,12 +9,11 @@ "Federation" : "Federación", "Federation allows you to connect with other trusted servers to exchange the account directory." : "A federación permítelle conectarse con outros servidores de confianza para intercambiar o directorio da conta.", "Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing." : "A federación permítelle conectarse con outros servidores de confianza para intercambiar o directorio da conta. Por exemplo, isto empregarase para autocompletar con contas externas ao compartir en federación.", + "External documentation for Federated Cloud Sharing" : "Documentación externa para «Nube compartida federada»", "Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing. It is not necessary to add a server as trusted server in order to create a federated share." : "A federación permítelle conectarse con outros servidores de confianza para intercambiar o directorio da conta. Por exemplo, isto empregarase para autocompletar con contas externas ao compartir en federación. Non é necesario engadir un servidor como servidor de confianza para poder crear unha compartición federada.", + "Each server must validate the other. This process may require a few cron cycles." : "Cada servidor debe validar ao outro. Este proceso pode requirir algúns ciclos de «cron».", "+ Add trusted server" : "+ Engadir servidor de confianza", "Trusted server" : "Servidor de confianza", - "Add" : "Engadir", - "Federation allows you to connect with other trusted servers to exchange the user directory." : "A federación permítelle conectarse con outros servidores de confianza para intercambiar directorios de usuario.", - "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." : "A federación permítelle conectarse con outros servidores de confianza para intercambiar directorios de usuario. Por exemplo, isto usarase para autocompletar a selección de usuarios externos ao compartir en federación. ", - "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." : "A federación permítelle conectarse con outros servidores de confianza para intercambiar directorios de usuario. Por exemplo, isto usarase para autocompletar a selección de usuarios externos ao compartir en federación. Non é necesario engadir un servidor como servidor de confianza para poder crear unha compartición federada." + "Add" : "Engadir" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/federation/l10n/he.js b/apps/federation/l10n/he.js index e906603501f..24284abb963 100644 --- a/apps/federation/l10n/he.js +++ b/apps/federation/l10n/he.js @@ -9,8 +9,6 @@ OC.L10N.register( "Federation" : "איגוד", "+ Add trusted server" : "+ הוספת שרת מהימן", "Trusted server" : "שרת מהימן", - "Add" : "הוספה", - "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." : "איגוד מאפשר לך להתחבר לשרתים מהימנים אחרים כדי להחליף ביניהם את ספריית המשתמש. למשל: ייעשה שימוש באיגוד לטובת השלמה אוטומטית של משתמשים חיצוניים לשיתוף מאוגד." + "Add" : "הוספה" }, "nplurals=3; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: 2;"); diff --git a/apps/federation/l10n/he.json b/apps/federation/l10n/he.json index cfe78eb2455..23f108dbad3 100644 --- a/apps/federation/l10n/he.json +++ b/apps/federation/l10n/he.json @@ -7,8 +7,6 @@ "Federation" : "איגוד", "+ Add trusted server" : "+ הוספת שרת מהימן", "Trusted server" : "שרת מהימן", - "Add" : "הוספה", - "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." : "איגוד מאפשר לך להתחבר לשרתים מהימנים אחרים כדי להחליף ביניהם את ספריית המשתמש. למשל: ייעשה שימוש באיגוד לטובת השלמה אוטומטית של משתמשים חיצוניים לשיתוף מאוגד." + "Add" : "הוספה" },"pluralForm" :"nplurals=3; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: 2;" }
\ No newline at end of file diff --git a/apps/federation/l10n/hr.js b/apps/federation/l10n/hr.js index e12e42b8cb2..37224c9e6d8 100644 --- a/apps/federation/l10n/hr.js +++ b/apps/federation/l10n/hr.js @@ -9,9 +9,6 @@ OC.L10N.register( "Federation" : "Udruženje", "+ Add trusted server" : "+ Dodaj pouzdani poslužitelj", "Trusted server" : "Pouzdan poslužitelj", - "Add" : "Dodaj", - "Federation allows you to connect with other trusted servers to exchange the user directory." : "Udruženje vam omogućuje povezivanje s drugim pouzdanim poslužiteljima i razmjenu korisničkih imenika.", - "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." : "Udruženje vam omogućuje povezivanje s drugim pouzdanim poslužiteljima i razmjenu korisničkih imenika. Primjerice, može se koristiti za automatsko dovršavanje imena vanjskih korisnika za udruženo dijeljenje.", - "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." : "Udruženje vam omogućuje povezivanje s drugim pouzdanim poslužiteljima i razmjenu korisničkih imenika. Primjerice, može se upotrijebiti za automatsko dovršavanje imena vanjskih korisnika za udruženo dijeljenje. Za stvaranje udruženog dijeljenja nije potrebno dodati poslužitelj kao pouzdani poslužitelj." + "Add" : "Dodaj" }, "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/federation/l10n/hr.json b/apps/federation/l10n/hr.json index ba82baa7d92..dd413c764b8 100644 --- a/apps/federation/l10n/hr.json +++ b/apps/federation/l10n/hr.json @@ -7,9 +7,6 @@ "Federation" : "Udruženje", "+ Add trusted server" : "+ Dodaj pouzdani poslužitelj", "Trusted server" : "Pouzdan poslužitelj", - "Add" : "Dodaj", - "Federation allows you to connect with other trusted servers to exchange the user directory." : "Udruženje vam omogućuje povezivanje s drugim pouzdanim poslužiteljima i razmjenu korisničkih imenika.", - "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." : "Udruženje vam omogućuje povezivanje s drugim pouzdanim poslužiteljima i razmjenu korisničkih imenika. Primjerice, može se koristiti za automatsko dovršavanje imena vanjskih korisnika za udruženo dijeljenje.", - "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." : "Udruženje vam omogućuje povezivanje s drugim pouzdanim poslužiteljima i razmjenu korisničkih imenika. Primjerice, može se upotrijebiti za automatsko dovršavanje imena vanjskih korisnika za udruženo dijeljenje. Za stvaranje udruženog dijeljenja nije potrebno dodati poslužitelj kao pouzdani poslužitelj." + "Add" : "Dodaj" },"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/federation/l10n/hu.js b/apps/federation/l10n/hu.js index 831b3808e10..953cd963196 100644 --- a/apps/federation/l10n/hu.js +++ b/apps/federation/l10n/hu.js @@ -2,16 +2,20 @@ OC.L10N.register( "federation", { "Added to the list of trusted servers" : "Hozzáadva a megbízható kiszolgálók listájához", + "No server found with ID: %s" : "Nem található kiszolgáló az azonosítóval: %s", + "Could not remove server" : "Nem sikerült a kiszolgáló eltávolítása", "Server is already in the list of trusted servers." : "A kiszolgáló már szerepel a megbízható kiszolgálók között.", "No server to federate with found" : "Nem található olyan kiszolgáló, amellyel föderálni lehetne", "Could not add server" : "A kiszolgáló nem adható hozzá", "Trusted servers" : "Megbízható kiszolgálók", "Federation" : "Föderáció", + "Federation allows you to connect with other trusted servers to exchange the account directory." : "A föderáció lehetővé teszi a más megbízható kiszolgálókhoz kapcsolódást, hogy a kiszolgálók fiókjegyzéket cserélhessenek.", + "Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing." : "A föderáció lehetővé teszi a más megbízható kiszolgálókhoz kapcsolódást, hogy a kiszolgálók fiókjegyzéket cseréljenek. Például ennek segítségével lesznek automatikusan kiegészítve a külső fiókok a föderált megosztásnál.", + "External documentation for Federated Cloud Sharing" : "Külső dokumentáció a föderált felhőmegosztáshoz", + "Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing. It is not necessary to add a server as trusted server in order to create a federated share." : "A föderáció lehetővé teszi a más megbízható kiszolgálókhoz kapcsolódást, hogy a kiszolgálók fiókjegyzéket cseréljenek. Például ennek segítségével lesznek automatikusan kiegészítve a külső fiókok a föderált megosztásnál. Nem szükséges egy kiszolgálót megbízhatóként hozzáadni ahhoz, hogy föderált megosztást hozzon létre.", + "Each server must validate the other. This process may require a few cron cycles." : "Minden kiszolgálónak ellenőriznie kell a másikat. Ez a folyat néhány cron ciklust vehet igénybe.", "+ Add trusted server" : "+ Megbízható kiszolgáló hozzáadása", "Trusted server" : "Megbízható kiszolgáló", - "Add" : "Hozzáadás", - "Federation allows you to connect with other trusted servers to exchange the user directory." : "A föderáció lehetővé teszi a más megbízható kiszolgálókhoz kapcsolódást, hogy a kiszolgálók felhasználójegyzéket cserélhessenek.", - "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." : "A föderáció lehetővé teszi a más megbízható kiszolgálókhoz kapcsolódást, hogy a kiszolgálók felhasználójegyzéket cseréljenek. Például ennek segítségével lesznek automatikusan kiegészítve a külső felhasználók a föderált megosztásnál.", - "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." : "A föderáció lehetővé teszi a más megbízható kiszolgálókhoz kapcsolódást, hogy a kiszolgálók felhasználójegyzéket cseréljenek. Például ennek segítségével lesznek automatikusan kiegészítve a külső felhasználók a föderált megosztásnál. Nem szükséges egy kiszolgálót megbízhatóként hozzáadni ahhoz, hogy föderált megosztást hozzon létre." + "Add" : "Hozzáadás" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/federation/l10n/hu.json b/apps/federation/l10n/hu.json index 365311f7ac2..d10201e424c 100644 --- a/apps/federation/l10n/hu.json +++ b/apps/federation/l10n/hu.json @@ -1,15 +1,19 @@ { "translations": { "Added to the list of trusted servers" : "Hozzáadva a megbízható kiszolgálók listájához", + "No server found with ID: %s" : "Nem található kiszolgáló az azonosítóval: %s", + "Could not remove server" : "Nem sikerült a kiszolgáló eltávolítása", "Server is already in the list of trusted servers." : "A kiszolgáló már szerepel a megbízható kiszolgálók között.", "No server to federate with found" : "Nem található olyan kiszolgáló, amellyel föderálni lehetne", "Could not add server" : "A kiszolgáló nem adható hozzá", "Trusted servers" : "Megbízható kiszolgálók", "Federation" : "Föderáció", + "Federation allows you to connect with other trusted servers to exchange the account directory." : "A föderáció lehetővé teszi a más megbízható kiszolgálókhoz kapcsolódást, hogy a kiszolgálók fiókjegyzéket cserélhessenek.", + "Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing." : "A föderáció lehetővé teszi a más megbízható kiszolgálókhoz kapcsolódást, hogy a kiszolgálók fiókjegyzéket cseréljenek. Például ennek segítségével lesznek automatikusan kiegészítve a külső fiókok a föderált megosztásnál.", + "External documentation for Federated Cloud Sharing" : "Külső dokumentáció a föderált felhőmegosztáshoz", + "Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing. It is not necessary to add a server as trusted server in order to create a federated share." : "A föderáció lehetővé teszi a más megbízható kiszolgálókhoz kapcsolódást, hogy a kiszolgálók fiókjegyzéket cseréljenek. Például ennek segítségével lesznek automatikusan kiegészítve a külső fiókok a föderált megosztásnál. Nem szükséges egy kiszolgálót megbízhatóként hozzáadni ahhoz, hogy föderált megosztást hozzon létre.", + "Each server must validate the other. This process may require a few cron cycles." : "Minden kiszolgálónak ellenőriznie kell a másikat. Ez a folyat néhány cron ciklust vehet igénybe.", "+ Add trusted server" : "+ Megbízható kiszolgáló hozzáadása", "Trusted server" : "Megbízható kiszolgáló", - "Add" : "Hozzáadás", - "Federation allows you to connect with other trusted servers to exchange the user directory." : "A föderáció lehetővé teszi a más megbízható kiszolgálókhoz kapcsolódást, hogy a kiszolgálók felhasználójegyzéket cserélhessenek.", - "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." : "A föderáció lehetővé teszi a más megbízható kiszolgálókhoz kapcsolódást, hogy a kiszolgálók felhasználójegyzéket cseréljenek. Például ennek segítségével lesznek automatikusan kiegészítve a külső felhasználók a föderált megosztásnál.", - "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." : "A föderáció lehetővé teszi a más megbízható kiszolgálókhoz kapcsolódást, hogy a kiszolgálók felhasználójegyzéket cseréljenek. Például ennek segítségével lesznek automatikusan kiegészítve a külső felhasználók a föderált megosztásnál. Nem szükséges egy kiszolgálót megbízhatóként hozzáadni ahhoz, hogy föderált megosztást hozzon létre." + "Add" : "Hozzáadás" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/federation/l10n/ia.js b/apps/federation/l10n/ia.js index f09bdb2cf8c..3ce43455dc5 100644 --- a/apps/federation/l10n/ia.js +++ b/apps/federation/l10n/ia.js @@ -9,7 +9,6 @@ OC.L10N.register( "Federation" : "Federation", "+ Add trusted server" : "+ Adder servitor fiduciari", "Trusted server" : "Servitor fiduciari", - "Add" : "Adder", - "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." : "Le federation permitte te connecter con altere servitores fiduciari pro excambiar le directorio del usator. Per exemplo, iste attributo essera usate pro completar automaticamente usatores externe pro le compartimento federate." + "Add" : "Adder" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/federation/l10n/ia.json b/apps/federation/l10n/ia.json index a983fe9bcea..19f8dc1732b 100644 --- a/apps/federation/l10n/ia.json +++ b/apps/federation/l10n/ia.json @@ -7,7 +7,6 @@ "Federation" : "Federation", "+ Add trusted server" : "+ Adder servitor fiduciari", "Trusted server" : "Servitor fiduciari", - "Add" : "Adder", - "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." : "Le federation permitte te connecter con altere servitores fiduciari pro excambiar le directorio del usator. Per exemplo, iste attributo essera usate pro completar automaticamente usatores externe pro le compartimento federate." + "Add" : "Adder" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/federation/l10n/id.js b/apps/federation/l10n/id.js index c07a5e9f920..1b9c6a1071e 100644 --- a/apps/federation/l10n/id.js +++ b/apps/federation/l10n/id.js @@ -9,7 +9,6 @@ OC.L10N.register( "Federation" : "Federasi", "+ Add trusted server" : "+ Tambah server terpercaya", "Trusted server" : "Server terpercaya", - "Add" : "Tambah", - "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." : "Federasi memungkinkan Anda untuk terhubung dengan server lainnya yang terpercaya untuk menukar direktori pengguna. Contohnya, ini akan digunakan untuk pengisian-otomatis untuk pengguna eksternal untuk pembagian terfederasi." + "Add" : "Tambah" }, "nplurals=1; plural=0;"); diff --git a/apps/federation/l10n/id.json b/apps/federation/l10n/id.json index c41f15744e5..49154b367e1 100644 --- a/apps/federation/l10n/id.json +++ b/apps/federation/l10n/id.json @@ -7,7 +7,6 @@ "Federation" : "Federasi", "+ Add trusted server" : "+ Tambah server terpercaya", "Trusted server" : "Server terpercaya", - "Add" : "Tambah", - "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." : "Federasi memungkinkan Anda untuk terhubung dengan server lainnya yang terpercaya untuk menukar direktori pengguna. Contohnya, ini akan digunakan untuk pengisian-otomatis untuk pengguna eksternal untuk pembagian terfederasi." + "Add" : "Tambah" },"pluralForm" :"nplurals=1; plural=0;" }
\ No newline at end of file diff --git a/apps/federation/l10n/is.js b/apps/federation/l10n/is.js index cd2c51f03e4..9e8cedcf9cc 100644 --- a/apps/federation/l10n/is.js +++ b/apps/federation/l10n/is.js @@ -2,16 +2,20 @@ OC.L10N.register( "federation", { "Added to the list of trusted servers" : "Bætt á lista yfir treysta þjóna", + "No server found with ID: %s" : "Enginn þjónn fannst með auðkennið: %s", + "Could not remove server" : "Gat ekki fjarlægt netþjón", "Server is already in the list of trusted servers." : "Þjónninn er nú þegar á listanum yfir treysta þjóna.", "No server to federate with found" : "Enginn þjónn sem hæfur er til skýjasambands fannst", "Could not add server" : "Gat ekki bætt við þjóni", "Trusted servers" : "Treystir þjónar", "Federation" : "Deilt milli þjóna", + "Federation allows you to connect with other trusted servers to exchange the account directory." : "Þjónasamband (federation) gerir þér kleift að tengjast öðrum treystum skýjum til að skiptast á aðgangaskrám.", + "Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing." : "Þjónasamband (federation) gerir þér kleift að tengjast öðrum treystum skýjum til að skiptast á aðgangaskrám. Þetta er til dæmis notað til að sjálfklára nöfn ytri notendaaðganga við deilingu sambandssameigna.", + "External documentation for Federated Cloud Sharing" : "Utanaðkomandi leiðbeiningar fyrir skýjasambandsdeilingu (Federated Cloud Sharing)", + "Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing. It is not necessary to add a server as trusted server in order to create a federated share." : "Þjónasamband (federation) gerir þér kleift að tengjast öðrum treystum skýjum til að skiptast á aðgangaskrám. Þetta er til dæmis notað til að sjálfklára nöfn ytri notendaaðganga við deilingu sambandssameigna. Ekki er nauðsynlegt að bæta netþjóni við sem treystum netþjóni til að útbúa sambandssameign (federated share).", + "Each server must validate the other. This process may require a few cron cycles." : "Hver þjónn þarf að sanngilda hina. Þetta gæti krafist nokkurra umferða cron-verka.", "+ Add trusted server" : "+ Bæta við treystum þjóni", "Trusted server" : "Treystur þjónn", - "Add" : "Bæta við", - "Federation allows you to connect with other trusted servers to exchange the user directory." : "Þjónasamband (federation) gerir þér kleift að tengjast öðrum treystum skýjum til að skiptast á notendaskrám.", - "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." : "Þjónasamband (federation) gerir þér kleift að tengjast öðrum treystum skýjum til að skiptast á notendaskrám. Þetta er til dæmis notað til að sjálfklára nöfn ytri notenda við deilingu sambandssameigna.", - "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." : "Þjónasamband (federation) gerir þér kleift að tengjast öðrum treystum skýjum til að skiptast á notendaskrám. Þetta er til dæmis notað til að sjálfklára nöfn ytri notenda við deilingu sambandssameigna. Ekki er nauðsynlegt að bæta netþjóni við sem treystum netþjóni til að útbúa sambandssameign (federated share)." + "Add" : "Bæta við" }, "nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);"); diff --git a/apps/federation/l10n/is.json b/apps/federation/l10n/is.json index c6167a64b02..185d287f410 100644 --- a/apps/federation/l10n/is.json +++ b/apps/federation/l10n/is.json @@ -1,15 +1,19 @@ { "translations": { "Added to the list of trusted servers" : "Bætt á lista yfir treysta þjóna", + "No server found with ID: %s" : "Enginn þjónn fannst með auðkennið: %s", + "Could not remove server" : "Gat ekki fjarlægt netþjón", "Server is already in the list of trusted servers." : "Þjónninn er nú þegar á listanum yfir treysta þjóna.", "No server to federate with found" : "Enginn þjónn sem hæfur er til skýjasambands fannst", "Could not add server" : "Gat ekki bætt við þjóni", "Trusted servers" : "Treystir þjónar", "Federation" : "Deilt milli þjóna", + "Federation allows you to connect with other trusted servers to exchange the account directory." : "Þjónasamband (federation) gerir þér kleift að tengjast öðrum treystum skýjum til að skiptast á aðgangaskrám.", + "Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing." : "Þjónasamband (federation) gerir þér kleift að tengjast öðrum treystum skýjum til að skiptast á aðgangaskrám. Þetta er til dæmis notað til að sjálfklára nöfn ytri notendaaðganga við deilingu sambandssameigna.", + "External documentation for Federated Cloud Sharing" : "Utanaðkomandi leiðbeiningar fyrir skýjasambandsdeilingu (Federated Cloud Sharing)", + "Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing. It is not necessary to add a server as trusted server in order to create a federated share." : "Þjónasamband (federation) gerir þér kleift að tengjast öðrum treystum skýjum til að skiptast á aðgangaskrám. Þetta er til dæmis notað til að sjálfklára nöfn ytri notendaaðganga við deilingu sambandssameigna. Ekki er nauðsynlegt að bæta netþjóni við sem treystum netþjóni til að útbúa sambandssameign (federated share).", + "Each server must validate the other. This process may require a few cron cycles." : "Hver þjónn þarf að sanngilda hina. Þetta gæti krafist nokkurra umferða cron-verka.", "+ Add trusted server" : "+ Bæta við treystum þjóni", "Trusted server" : "Treystur þjónn", - "Add" : "Bæta við", - "Federation allows you to connect with other trusted servers to exchange the user directory." : "Þjónasamband (federation) gerir þér kleift að tengjast öðrum treystum skýjum til að skiptast á notendaskrám.", - "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." : "Þjónasamband (federation) gerir þér kleift að tengjast öðrum treystum skýjum til að skiptast á notendaskrám. Þetta er til dæmis notað til að sjálfklára nöfn ytri notenda við deilingu sambandssameigna.", - "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." : "Þjónasamband (federation) gerir þér kleift að tengjast öðrum treystum skýjum til að skiptast á notendaskrám. Þetta er til dæmis notað til að sjálfklára nöfn ytri notenda við deilingu sambandssameigna. Ekki er nauðsynlegt að bæta netþjóni við sem treystum netþjóni til að útbúa sambandssameign (federated share)." + "Add" : "Bæta við" },"pluralForm" :"nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);" }
\ No newline at end of file diff --git a/apps/federation/l10n/it.js b/apps/federation/l10n/it.js index e3c6cbb59e1..496caa51883 100644 --- a/apps/federation/l10n/it.js +++ b/apps/federation/l10n/it.js @@ -2,16 +2,20 @@ OC.L10N.register( "federation", { "Added to the list of trusted servers" : "Aggiunto all'elenco dei server affidabili", + "No server found with ID: %s" : "Nessun server trovato con il seguete ID: %s", + "Could not remove server" : "Impossibile rimuovere il server", "Server is already in the list of trusted servers." : "Il server è già nell'elenco dei server affidabili.", "No server to federate with found" : "Non ho trovato alcun server per la federazione", "Could not add server" : "Impossibile aggiungere il server", "Trusted servers" : "Server affidabili", "Federation" : "Federazione", + "Federation allows you to connect with other trusted servers to exchange the account directory." : "La federazione consente di connettersi ad altri server attendibili per scambiare la directory degli account.", + "Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing." : "La federazione consente di connettersi ad altri server attendibili per scambiare la directory degli account. Ad esempio, questo verrà utilizzato per completare automaticamente gli account esterni per la condivisione federata.", + "External documentation for Federated Cloud Sharing" : "Documentazione esterna per la Condivisione Federata", + "Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing. It is not necessary to add a server as trusted server in order to create a federated share." : "La federazione consente di connettersi ad altri server attendibili per scambiare la directory degli account. Ad esempio, questo verrà utilizzato per completare automaticamente gli account esterni per la condivisione federata. Non è necessario aggiungere un server come server attendibile per creare una condivisione federata.", + "Each server must validate the other. This process may require a few cron cycles." : "Ogni server deve validare gli altri. Questa operazione può richiedere qualche ciclo cron.", "+ Add trusted server" : "+ Aggiungi server affidabile", "Trusted server" : "Server affidabile", - "Add" : "Aggiungi", - "Federation allows you to connect with other trusted servers to exchange the user directory." : "La federazione consente di connettersi ad altri server affidabili per scambiare la cartella utente.", - "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." : "La federazione consente di connettersi ad altri server affidabili per accedere alla cartella utente. Ad esempio, può essere utilizzata per il completamento automatico di utenti esterni per la condivisione federata.", - "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." : "La federazione ti consente di connetterti ad altri server affidabili per accedere alla cartella utente. Ad esempio, può essere utilizzata per il completamento automatico di utenti esterni per la condivisione federata. Non è necessario aggiungere un server come affidabile per creare una condivisione federata." + "Add" : "Aggiungi" }, "nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); diff --git a/apps/federation/l10n/it.json b/apps/federation/l10n/it.json index 965bce83af9..be2f780b633 100644 --- a/apps/federation/l10n/it.json +++ b/apps/federation/l10n/it.json @@ -1,15 +1,19 @@ { "translations": { "Added to the list of trusted servers" : "Aggiunto all'elenco dei server affidabili", + "No server found with ID: %s" : "Nessun server trovato con il seguete ID: %s", + "Could not remove server" : "Impossibile rimuovere il server", "Server is already in the list of trusted servers." : "Il server è già nell'elenco dei server affidabili.", "No server to federate with found" : "Non ho trovato alcun server per la federazione", "Could not add server" : "Impossibile aggiungere il server", "Trusted servers" : "Server affidabili", "Federation" : "Federazione", + "Federation allows you to connect with other trusted servers to exchange the account directory." : "La federazione consente di connettersi ad altri server attendibili per scambiare la directory degli account.", + "Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing." : "La federazione consente di connettersi ad altri server attendibili per scambiare la directory degli account. Ad esempio, questo verrà utilizzato per completare automaticamente gli account esterni per la condivisione federata.", + "External documentation for Federated Cloud Sharing" : "Documentazione esterna per la Condivisione Federata", + "Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing. It is not necessary to add a server as trusted server in order to create a federated share." : "La federazione consente di connettersi ad altri server attendibili per scambiare la directory degli account. Ad esempio, questo verrà utilizzato per completare automaticamente gli account esterni per la condivisione federata. Non è necessario aggiungere un server come server attendibile per creare una condivisione federata.", + "Each server must validate the other. This process may require a few cron cycles." : "Ogni server deve validare gli altri. Questa operazione può richiedere qualche ciclo cron.", "+ Add trusted server" : "+ Aggiungi server affidabile", "Trusted server" : "Server affidabile", - "Add" : "Aggiungi", - "Federation allows you to connect with other trusted servers to exchange the user directory." : "La federazione consente di connettersi ad altri server affidabili per scambiare la cartella utente.", - "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." : "La federazione consente di connettersi ad altri server affidabili per accedere alla cartella utente. Ad esempio, può essere utilizzata per il completamento automatico di utenti esterni per la condivisione federata.", - "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." : "La federazione ti consente di connetterti ad altri server affidabili per accedere alla cartella utente. Ad esempio, può essere utilizzata per il completamento automatico di utenti esterni per la condivisione federata. Non è necessario aggiungere un server come affidabile per creare una condivisione federata." + "Add" : "Aggiungi" },"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" }
\ No newline at end of file diff --git a/apps/federation/l10n/ja.js b/apps/federation/l10n/ja.js index 4b6955e5736..c292c8ce531 100644 --- a/apps/federation/l10n/ja.js +++ b/apps/federation/l10n/ja.js @@ -2,6 +2,8 @@ OC.L10N.register( "federation", { "Added to the list of trusted servers" : "信頼済サーバーとしてリストに登録済", + "No server found with ID: %s" : "IDを持つサーバーが見つかりません: %s", + "Could not remove server" : "サーバーを削除できませんでした", "Server is already in the list of trusted servers." : "信頼済サーバーとしてすでに登録されています。", "No server to federate with found" : "Nextcloud連携サーバーはありません。", "Could not add server" : "サーバーを追加できませんでした", @@ -9,12 +11,11 @@ OC.L10N.register( "Federation" : "連携", "Federation allows you to connect with other trusted servers to exchange the account directory." : "フェデレーションは、信頼できる他のサーバーと接続し、アカウントリストを交換することを可能にします。", "Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing." : "フェデレーションでは他の信頼済サーバーとアカウントリストをやり取りすること許可します。例えば、フェデレーション共有時に他のサーバーのアカウントIDを自動補完します。", + "External documentation for Federated Cloud Sharing" : "Federated Cloud Sharingの外部ドキュメント", "Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing. It is not necessary to add a server as trusted server in order to create a federated share." : "Nextcloud連携では、他の信頼できるサーバーと接続して、アカウントリストをやりとりすることができます。例えば、これにより他のサーバーのアカウントがフェデレーション共有の時に自動的に補完されます。フェデレーション共有を行うときには、信頼できるサーバーとして追加する必要はありません。", + "Each server must validate the other. This process may require a few cron cycles." : "各サーバーは他のサーバーを検証しなければならない。このプロセスには数サイクルのcronが必要です。", "+ Add trusted server" : "+ 信頼済サーバーに追加", "Trusted server" : "信頼済サーバー", - "Add" : "追加", - "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." : "連携では他の信頼済サーバーとユーザーリストをやり取りすること許可します。例えば、連携共有時で他のサーバーのユーザーのIDを自動補完します。", - "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." : "Nextcloud連携では、他の信頼できるサーバーと接続して、ユーザーリストをやりとりすることができます。例えば、これにより他のサーバーのユーザーが連携共有の時に自動的に補完されます。フェデレーション共有を行うときには、信頼できるサーバーとして追加する必要はありません。" + "Add" : "追加" }, "nplurals=1; plural=0;"); diff --git a/apps/federation/l10n/ja.json b/apps/federation/l10n/ja.json index 92e1982e0bc..e890f99daa8 100644 --- a/apps/federation/l10n/ja.json +++ b/apps/federation/l10n/ja.json @@ -1,5 +1,7 @@ { "translations": { "Added to the list of trusted servers" : "信頼済サーバーとしてリストに登録済", + "No server found with ID: %s" : "IDを持つサーバーが見つかりません: %s", + "Could not remove server" : "サーバーを削除できませんでした", "Server is already in the list of trusted servers." : "信頼済サーバーとしてすでに登録されています。", "No server to federate with found" : "Nextcloud連携サーバーはありません。", "Could not add server" : "サーバーを追加できませんでした", @@ -7,12 +9,11 @@ "Federation" : "連携", "Federation allows you to connect with other trusted servers to exchange the account directory." : "フェデレーションは、信頼できる他のサーバーと接続し、アカウントリストを交換することを可能にします。", "Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing." : "フェデレーションでは他の信頼済サーバーとアカウントリストをやり取りすること許可します。例えば、フェデレーション共有時に他のサーバーのアカウントIDを自動補完します。", + "External documentation for Federated Cloud Sharing" : "Federated Cloud Sharingの外部ドキュメント", "Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing. It is not necessary to add a server as trusted server in order to create a federated share." : "Nextcloud連携では、他の信頼できるサーバーと接続して、アカウントリストをやりとりすることができます。例えば、これにより他のサーバーのアカウントがフェデレーション共有の時に自動的に補完されます。フェデレーション共有を行うときには、信頼できるサーバーとして追加する必要はありません。", + "Each server must validate the other. This process may require a few cron cycles." : "各サーバーは他のサーバーを検証しなければならない。このプロセスには数サイクルのcronが必要です。", "+ Add trusted server" : "+ 信頼済サーバーに追加", "Trusted server" : "信頼済サーバー", - "Add" : "追加", - "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." : "連携では他の信頼済サーバーとユーザーリストをやり取りすること許可します。例えば、連携共有時で他のサーバーのユーザーのIDを自動補完します。", - "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." : "Nextcloud連携では、他の信頼できるサーバーと接続して、ユーザーリストをやりとりすることができます。例えば、これにより他のサーバーのユーザーが連携共有の時に自動的に補完されます。フェデレーション共有を行うときには、信頼できるサーバーとして追加する必要はありません。" + "Add" : "追加" },"pluralForm" :"nplurals=1; plural=0;" }
\ No newline at end of file diff --git a/apps/federation/l10n/ka.js b/apps/federation/l10n/ka.js index daa2c34fa68..23f2d17e924 100644 --- a/apps/federation/l10n/ka.js +++ b/apps/federation/l10n/ka.js @@ -9,9 +9,6 @@ OC.L10N.register( "Federation" : "Federation", "+ Add trusted server" : "+ Add trusted server", "Trusted server" : "Trusted server", - "Add" : "Add", - "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.", - "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.", - "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." : "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" : "Add" }, "nplurals=2; plural=(n!=1);"); diff --git a/apps/federation/l10n/ka.json b/apps/federation/l10n/ka.json index 85cb97542ff..44363176fef 100644 --- a/apps/federation/l10n/ka.json +++ b/apps/federation/l10n/ka.json @@ -7,9 +7,6 @@ "Federation" : "Federation", "+ Add trusted server" : "+ Add trusted server", "Trusted server" : "Trusted server", - "Add" : "Add", - "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.", - "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.", - "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." : "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" : "Add" },"pluralForm" :"nplurals=2; plural=(n!=1);" }
\ No newline at end of file diff --git a/apps/federation/l10n/ka_GE.js b/apps/federation/l10n/ka_GE.js index 068493758d3..52a41211fe8 100644 --- a/apps/federation/l10n/ka_GE.js +++ b/apps/federation/l10n/ka_GE.js @@ -9,7 +9,6 @@ OC.L10N.register( "Federation" : "ფედერაცია", "+ Add trusted server" : "+ სანდო სერვერის დამატება", "Trusted server" : "სანდო სერვერი", - "Add" : "დამატება", - "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." : "ფედერალიზაცია იძლევა საშუალებას დაუკავშირდეთ სხვა დაცულ სერვერებს და გაცვალოთ მომხმარებლის დირექტორია. მაგალითისთვის ეს გამოყენებულ იქნება, რომ მოხდეს ექსტერნალური მომხმარებლების ფედერალური გაზიარებისთვის ავტო-დასრულება." + "Add" : "დამატება" }, "nplurals=2; plural=(n!=1);"); diff --git a/apps/federation/l10n/ka_GE.json b/apps/federation/l10n/ka_GE.json index d26f7912dea..40e307ce59f 100644 --- a/apps/federation/l10n/ka_GE.json +++ b/apps/federation/l10n/ka_GE.json @@ -7,7 +7,6 @@ "Federation" : "ფედერაცია", "+ Add trusted server" : "+ სანდო სერვერის დამატება", "Trusted server" : "სანდო სერვერი", - "Add" : "დამატება", - "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." : "ფედერალიზაცია იძლევა საშუალებას დაუკავშირდეთ სხვა დაცულ სერვერებს და გაცვალოთ მომხმარებლის დირექტორია. მაგალითისთვის ეს გამოყენებულ იქნება, რომ მოხდეს ექსტერნალური მომხმარებლების ფედერალური გაზიარებისთვის ავტო-დასრულება." + "Add" : "დამატება" },"pluralForm" :"nplurals=2; plural=(n!=1);" }
\ No newline at end of file diff --git a/apps/federation/l10n/ko.js b/apps/federation/l10n/ko.js index 41f95f7746d..f6f49d9b79c 100644 --- a/apps/federation/l10n/ko.js +++ b/apps/federation/l10n/ko.js @@ -12,9 +12,6 @@ OC.L10N.register( "Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts 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" : "추가", - "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" : "추가" }, "nplurals=1; plural=0;"); diff --git a/apps/federation/l10n/ko.json b/apps/federation/l10n/ko.json index 710d9a34834..9f09dfb80b9 100644 --- a/apps/federation/l10n/ko.json +++ b/apps/federation/l10n/ko.json @@ -10,9 +10,6 @@ "Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts 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" : "추가", - "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" : "추가" },"pluralForm" :"nplurals=1; plural=0;" }
\ No newline at end of file diff --git a/apps/federation/l10n/lb.js b/apps/federation/l10n/lb.js deleted file mode 100644 index df0f6d5d07a..00000000000 --- a/apps/federation/l10n/lb.js +++ /dev/null @@ -1,15 +0,0 @@ -OC.L10N.register( - "federation", - { - "Server added to the list of trusted ownClouds" : "De Server gouf op d'Lëscht vun den zouverlässegen ownClouds gesat.", - "Server is already in the list of trusted servers." : "De Server ass schonn op der Lëscht vun den zouverlässegen Serveren.", - "No ownCloud server found" : "Keen ownCloud Server fonnt", - "Could not add server" : "De Server konnt net derbäi gesat ginn", - "Federation" : "Federatioun", - "ownCloud Federation allows you to connect with other trusted ownClouds to exchange the user directory. For example this will be used to auto-complete external users for federated sharing." : "D'ownCloud Federatioun erlaabt der fir dech mat aneren zouverlässegen ownClouds ze verbannen an d'Benotzer Verzeechnes auszetauschen. Zum Beispill gëtt dëst hei benotzt fir extern Benotzer automatesch fir federatiivt Deelen ze vervollstännegen.", - "Add server automatically once a federated share was created successfully" : "Setz de Server automatesch derbäi soubal e federativen Undeel erfollegräich erstallt gouf", - "Trusted ownCloud Servers" : "Zouverlässeg ownCloud Serveren", - "+ Add ownCloud server" : "+ ownCloud Server derbäi setzen", - "ownCloud Server" : "ownCloud Server" -}, -"nplurals=2; plural=(n != 1);"); diff --git a/apps/federation/l10n/lb.json b/apps/federation/l10n/lb.json deleted file mode 100644 index 03179a4b8ee..00000000000 --- a/apps/federation/l10n/lb.json +++ /dev/null @@ -1,13 +0,0 @@ -{ "translations": { - "Server added to the list of trusted ownClouds" : "De Server gouf op d'Lëscht vun den zouverlässegen ownClouds gesat.", - "Server is already in the list of trusted servers." : "De Server ass schonn op der Lëscht vun den zouverlässegen Serveren.", - "No ownCloud server found" : "Keen ownCloud Server fonnt", - "Could not add server" : "De Server konnt net derbäi gesat ginn", - "Federation" : "Federatioun", - "ownCloud Federation allows you to connect with other trusted ownClouds to exchange the user directory. For example this will be used to auto-complete external users for federated sharing." : "D'ownCloud Federatioun erlaabt der fir dech mat aneren zouverlässegen ownClouds ze verbannen an d'Benotzer Verzeechnes auszetauschen. Zum Beispill gëtt dëst hei benotzt fir extern Benotzer automatesch fir federatiivt Deelen ze vervollstännegen.", - "Add server automatically once a federated share was created successfully" : "Setz de Server automatesch derbäi soubal e federativen Undeel erfollegräich erstallt gouf", - "Trusted ownCloud Servers" : "Zouverlässeg ownCloud Serveren", - "+ Add ownCloud server" : "+ ownCloud Server derbäi setzen", - "ownCloud Server" : "ownCloud Server" -},"pluralForm" :"nplurals=2; plural=(n != 1);" -}
\ No newline at end of file diff --git a/apps/federation/l10n/lt_LT.js b/apps/federation/l10n/lt_LT.js index 2c364030363..8efd7d1b04e 100644 --- a/apps/federation/l10n/lt_LT.js +++ b/apps/federation/l10n/lt_LT.js @@ -2,6 +2,8 @@ OC.L10N.register( "federation", { "Added to the list of trusted servers" : "Pridėtas į patikimų serverių sąrašą", + "No server found with ID: %s" : "Nerasta jokio serverio, kurio ID: %s", + "Could not remove server" : "Nepavyko pašalinti serverio", "Server is already in the list of trusted servers." : "Serveris jau yra patikimų serverių sąraše.", "No server to federate with found" : "Nerasta jokio serverio, su kuriuo jungtis į federaciją", "Could not add server" : "Nepavyko pridėti serverio", @@ -9,9 +11,6 @@ OC.L10N.register( "Federation" : "Federacija", "+ Add trusted server" : "+ Pridėti patikimą serverį", "Trusted server" : "Patikimas serveris", - "Add" : "Pridėti", - "Federation allows you to connect with other trusted servers to exchange the user directory." : "Federacija jums leidžia prisijungti prie kitų patikimų serverių, siekiant keistis naudotojo katalogu.", - "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." : "Federacija leidžia jums prisijungti prie kitų patikimų serverių, siekiant keistis naudotojo katalogu. Pavyzdžiui, tai bus naudojama, kad būtų automatiškai užbaigti išoriniai federacinio bendrinimo naudotojų vardai.", - "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." : "Gederacijos paslauga suteikia galimybę prisijungti prie kitų patikimų serverių, kad būtų galima keistis naudotojų katalogu. Pavyzdžiui, tai bus naudojama, kad būtų automatiškai užbaigti išoriniai federacinio bendrinimo naudotojų vardai." + "Add" : "Pridėti" }, "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/federation/l10n/lt_LT.json b/apps/federation/l10n/lt_LT.json index fa5183b7c49..63c0ed5bab5 100644 --- a/apps/federation/l10n/lt_LT.json +++ b/apps/federation/l10n/lt_LT.json @@ -1,5 +1,7 @@ { "translations": { "Added to the list of trusted servers" : "Pridėtas į patikimų serverių sąrašą", + "No server found with ID: %s" : "Nerasta jokio serverio, kurio ID: %s", + "Could not remove server" : "Nepavyko pašalinti serverio", "Server is already in the list of trusted servers." : "Serveris jau yra patikimų serverių sąraše.", "No server to federate with found" : "Nerasta jokio serverio, su kuriuo jungtis į federaciją", "Could not add server" : "Nepavyko pridėti serverio", @@ -7,9 +9,6 @@ "Federation" : "Federacija", "+ Add trusted server" : "+ Pridėti patikimą serverį", "Trusted server" : "Patikimas serveris", - "Add" : "Pridėti", - "Federation allows you to connect with other trusted servers to exchange the user directory." : "Federacija jums leidžia prisijungti prie kitų patikimų serverių, siekiant keistis naudotojo katalogu.", - "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." : "Federacija leidžia jums prisijungti prie kitų patikimų serverių, siekiant keistis naudotojo katalogu. Pavyzdžiui, tai bus naudojama, kad būtų automatiškai užbaigti išoriniai federacinio bendrinimo naudotojų vardai.", - "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." : "Gederacijos paslauga suteikia galimybę prisijungti prie kitų patikimų serverių, kad būtų galima keistis naudotojų katalogu. Pavyzdžiui, tai bus naudojama, kad būtų automatiškai užbaigti išoriniai federacinio bendrinimo naudotojų vardai." + "Add" : "Pridėti" },"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/federation/l10n/lv.js b/apps/federation/l10n/lv.js index 7ad1eebb6bb..1eab9f26ad7 100644 --- a/apps/federation/l10n/lv.js +++ b/apps/federation/l10n/lv.js @@ -9,8 +9,6 @@ OC.L10N.register( "Federation" : "Federācija", "+ Add trusted server" : "+ pievietot uzticamiem serveriem", "Trusted server" : "Uzticams serveris", - "Add" : "Pievienot", - "Federation allows you to connect with other trusted servers to exchange the user directory." : "Federācija ļauj jums sazināties ar citiem uzticamiem serveriem, lai apmainītos ar lietotāju direktoriju.", - "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." : "Federācija ļauj savienot ar citiem uzticamiem serveriem ar Exchange lietotāja direktoriju. Piemēram, tas tiks izmantots, lai automātiski pieslēgtu ārējiem lietotājiem integrēto koplietošanu." + "Add" : "Pievienot" }, "nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);"); diff --git a/apps/federation/l10n/lv.json b/apps/federation/l10n/lv.json index 313e7a1367a..9a05e6903a2 100644 --- a/apps/federation/l10n/lv.json +++ b/apps/federation/l10n/lv.json @@ -7,8 +7,6 @@ "Federation" : "Federācija", "+ Add trusted server" : "+ pievietot uzticamiem serveriem", "Trusted server" : "Uzticams serveris", - "Add" : "Pievienot", - "Federation allows you to connect with other trusted servers to exchange the user directory." : "Federācija ļauj jums sazināties ar citiem uzticamiem serveriem, lai apmainītos ar lietotāju direktoriju.", - "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." : "Federācija ļauj savienot ar citiem uzticamiem serveriem ar Exchange lietotāja direktoriju. Piemēram, tas tiks izmantots, lai automātiski pieslēgtu ārējiem lietotājiem integrēto koplietošanu." + "Add" : "Pievienot" },"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/federation/l10n/mk.js b/apps/federation/l10n/mk.js index 9cd29bf10a1..f193b2ce08a 100644 --- a/apps/federation/l10n/mk.js +++ b/apps/federation/l10n/mk.js @@ -9,9 +9,6 @@ OC.L10N.register( "Federation" : "Федерација", "+ Add trusted server" : "+ Додади доверлив сервер", "Trusted server" : "Доверлив сервер", - "Add" : "Додади", - "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" : "Додади" }, "nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;"); diff --git a/apps/federation/l10n/mk.json b/apps/federation/l10n/mk.json index e5053906c4d..0efc8eedc98 100644 --- a/apps/federation/l10n/mk.json +++ b/apps/federation/l10n/mk.json @@ -7,9 +7,6 @@ "Federation" : "Федерација", "+ Add trusted server" : "+ Додади доверлив сервер", "Trusted server" : "Доверлив сервер", - "Add" : "Додади", - "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" : "Додади" },"pluralForm" :"nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;" }
\ No newline at end of file diff --git a/apps/federation/l10n/mn.js b/apps/federation/l10n/mn.js index c2bcb88d1e2..f342839fc78 100644 --- a/apps/federation/l10n/mn.js +++ b/apps/federation/l10n/mn.js @@ -9,7 +9,6 @@ OC.L10N.register( "Federation" : "холбоо", "+ Add trusted server" : "+ найдвартай сервер нэмэх", "Trusted server" : "найдвартай сервер", - "Add" : "нэмэх", - "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." : "Холбоо нь хэрэглэгчийн санг солилцох бусад найдвартай серверүүд уруу холбогдох боломжийг олгоно. Жишээ нь үүнийг холбооны хуваарилалт авто бүрэн гадны хэрэглэгчдэд ашиглаж болно" + "Add" : "нэмэх" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/federation/l10n/mn.json b/apps/federation/l10n/mn.json index f19ecfedccc..1b2131e55e1 100644 --- a/apps/federation/l10n/mn.json +++ b/apps/federation/l10n/mn.json @@ -7,7 +7,6 @@ "Federation" : "холбоо", "+ Add trusted server" : "+ найдвартай сервер нэмэх", "Trusted server" : "найдвартай сервер", - "Add" : "нэмэх", - "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." : "Холбоо нь хэрэглэгчийн санг солилцох бусад найдвартай серверүүд уруу холбогдох боломжийг олгоно. Жишээ нь үүнийг холбооны хуваарилалт авто бүрэн гадны хэрэглэгчдэд ашиглаж болно" + "Add" : "нэмэх" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/federation/l10n/nb.js b/apps/federation/l10n/nb.js index bb3419178e2..f918b42b539 100644 --- a/apps/federation/l10n/nb.js +++ b/apps/federation/l10n/nb.js @@ -2,6 +2,8 @@ OC.L10N.register( "federation", { "Added to the list of trusted servers" : "Lagt til i listen over klarerte servere", + "No server found with ID: %s" : "Kunne ikke finne tjener med ID: %s", + "Could not remove server" : "Kunne ikke fjerne tjener", "Server is already in the list of trusted servers." : "Serveren er allerede i listen av klarerte servere.", "No server to federate with found" : "Ingen server å sammenknytte med ble funnet", "Could not add server" : "Kunne ikke legge til server", @@ -12,9 +14,6 @@ OC.L10N.register( "Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing. It is not necessary to add a server as trusted server in order to create a federated share." : "Sammenknytting lar deg koble til andre klarerte servere for å utveksle kontokatalogen. Dette brukes for eksempel til å automatisk fullføre eksterne kontoer for deling i organisasjonsnettverk. Det er ikke nødvendig å legge til en server som klarert server for å opprette en delt delt ressurs i forbund.", "+ Add trusted server" : "+ Legg til klarert server", "Trusted server" : "Klarert server", - "Add" : "Legg til", - "Federation allows you to connect with other trusted servers to exchange the user directory." : "Sammenknytting lar deg tilkoble andre servere du er stoler på for å utveksle brukerinformasjon.", - "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." : "Sammenknytting tillater deg å koble sammen andre betrodde servere for utveksling av brukermapper. For eksempel vil det bli brukt for autofullføring av eksterne brukere for sammenknyttet deling.", - "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." : "Sammenknytting tillater deg å koble sammen andre betrodde servere for utveksling av brukermapper. For eksempel vil det bli brukt for autofullføring av eksterne brukere for sammenknyttet deling. Det er ikke nødvendig å legge til en server som pålitelig server for å opprette en forent deling." + "Add" : "Legg til" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/federation/l10n/nb.json b/apps/federation/l10n/nb.json index 442b648cc1f..672035bdccc 100644 --- a/apps/federation/l10n/nb.json +++ b/apps/federation/l10n/nb.json @@ -1,5 +1,7 @@ { "translations": { "Added to the list of trusted servers" : "Lagt til i listen over klarerte servere", + "No server found with ID: %s" : "Kunne ikke finne tjener med ID: %s", + "Could not remove server" : "Kunne ikke fjerne tjener", "Server is already in the list of trusted servers." : "Serveren er allerede i listen av klarerte servere.", "No server to federate with found" : "Ingen server å sammenknytte med ble funnet", "Could not add server" : "Kunne ikke legge til server", @@ -10,9 +12,6 @@ "Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing. It is not necessary to add a server as trusted server in order to create a federated share." : "Sammenknytting lar deg koble til andre klarerte servere for å utveksle kontokatalogen. Dette brukes for eksempel til å automatisk fullføre eksterne kontoer for deling i organisasjonsnettverk. Det er ikke nødvendig å legge til en server som klarert server for å opprette en delt delt ressurs i forbund.", "+ Add trusted server" : "+ Legg til klarert server", "Trusted server" : "Klarert server", - "Add" : "Legg til", - "Federation allows you to connect with other trusted servers to exchange the user directory." : "Sammenknytting lar deg tilkoble andre servere du er stoler på for å utveksle brukerinformasjon.", - "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." : "Sammenknytting tillater deg å koble sammen andre betrodde servere for utveksling av brukermapper. For eksempel vil det bli brukt for autofullføring av eksterne brukere for sammenknyttet deling.", - "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." : "Sammenknytting tillater deg å koble sammen andre betrodde servere for utveksling av brukermapper. For eksempel vil det bli brukt for autofullføring av eksterne brukere for sammenknyttet deling. Det er ikke nødvendig å legge til en server som pålitelig server for å opprette en forent deling." + "Add" : "Legg til" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/federation/l10n/nl.js b/apps/federation/l10n/nl.js index 009eba11f80..4633804db82 100644 --- a/apps/federation/l10n/nl.js +++ b/apps/federation/l10n/nl.js @@ -2,16 +2,20 @@ OC.L10N.register( "federation", { "Added to the list of trusted servers" : "Toegevoegd aan de lijst met vertrouwde servers", + "No server found with ID: %s" : "Geen server gevonden met ID: %s", + "Could not remove server" : "Kon server niet verwijderen", "Server is already in the list of trusted servers." : "Server bestaat reeds in de lijst van vertrouwde servers.", "No server to federate with found" : "Geen server gevonden om mee te federeren", "Could not add server" : "Kon server niet toevoegen", "Trusted servers" : "Vertrouwde servers", "Federation" : "Federatie", + "Federation allows you to connect with other trusted servers to exchange the account directory." : "Met Federatie kun je verbinding maken met andere vertrouwde servers om de accountmap uit te wisselen.", + "Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing." : "Federatie stelt je in staat om verbinding te maken met andere vertrouwde servers om de accountdirectory uit te wisselen. Dit zal bijvoorbeeld worden gebruikt om externe accounts automatisch aan te vullen voor gefedereerd delen.", + "External documentation for Federated Cloud Sharing" : "Externe documentatie voor Federated Cloud Sharing", + "Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing. It is not necessary to add a server as trusted server in order to create a federated share." : "Federatie stelt je in staat om verbinding te maken met andere vertrouwde servers om de accountdirectory uit te wisselen. Dit zal bijvoorbeeld worden gebruikt om externe accounts automatisch aan te vullen voor gefedereerd delen. Het is niet nodig om een server als vertrouwde server toe te voegen om een gefedereerde share te maken.", + "Each server must validate the other. This process may require a few cron cycles." : "Elke server moet de andere valideren. Dit proces kan enkele croncycli duren.", "+ Add trusted server" : "+ Toevoegen vertrouwde server", "Trusted server" : "Vertrouwde server", - "Add" : "Toevoegen", - "Federation allows you to connect with other trusted servers to exchange the user directory." : "Federatie maakt het mogelijk om te verbinden met andere vertrouwde servers om de gebuikersadministratie te delen.", - "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." : "Federatie maakt het mogelijk om te verbinden met vertrouwde servers en de gebuikersadministratie te delen. Zo kun je automatisch externe gebruikers toevoegen voor federatief delen.", - "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." : "Met Federatie kunt u verbinding maken met andere vertrouwde servers om de gebruikersdirectory uit te wisselen. Dit wordt bijvoorbeeld gebruikt om externe gebruikers automatisch aan te vullen voor federatief delen. Het is niet nodig om een server als vertrouwde server toe te voegen om een federatieve share te maken." + "Add" : "Toevoegen" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/federation/l10n/nl.json b/apps/federation/l10n/nl.json index 1d9d4ca1946..e217a0b03d3 100644 --- a/apps/federation/l10n/nl.json +++ b/apps/federation/l10n/nl.json @@ -1,15 +1,19 @@ { "translations": { "Added to the list of trusted servers" : "Toegevoegd aan de lijst met vertrouwde servers", + "No server found with ID: %s" : "Geen server gevonden met ID: %s", + "Could not remove server" : "Kon server niet verwijderen", "Server is already in the list of trusted servers." : "Server bestaat reeds in de lijst van vertrouwde servers.", "No server to federate with found" : "Geen server gevonden om mee te federeren", "Could not add server" : "Kon server niet toevoegen", "Trusted servers" : "Vertrouwde servers", "Federation" : "Federatie", + "Federation allows you to connect with other trusted servers to exchange the account directory." : "Met Federatie kun je verbinding maken met andere vertrouwde servers om de accountmap uit te wisselen.", + "Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing." : "Federatie stelt je in staat om verbinding te maken met andere vertrouwde servers om de accountdirectory uit te wisselen. Dit zal bijvoorbeeld worden gebruikt om externe accounts automatisch aan te vullen voor gefedereerd delen.", + "External documentation for Federated Cloud Sharing" : "Externe documentatie voor Federated Cloud Sharing", + "Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing. It is not necessary to add a server as trusted server in order to create a federated share." : "Federatie stelt je in staat om verbinding te maken met andere vertrouwde servers om de accountdirectory uit te wisselen. Dit zal bijvoorbeeld worden gebruikt om externe accounts automatisch aan te vullen voor gefedereerd delen. Het is niet nodig om een server als vertrouwde server toe te voegen om een gefedereerde share te maken.", + "Each server must validate the other. This process may require a few cron cycles." : "Elke server moet de andere valideren. Dit proces kan enkele croncycli duren.", "+ Add trusted server" : "+ Toevoegen vertrouwde server", "Trusted server" : "Vertrouwde server", - "Add" : "Toevoegen", - "Federation allows you to connect with other trusted servers to exchange the user directory." : "Federatie maakt het mogelijk om te verbinden met andere vertrouwde servers om de gebuikersadministratie te delen.", - "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." : "Federatie maakt het mogelijk om te verbinden met vertrouwde servers en de gebuikersadministratie te delen. Zo kun je automatisch externe gebruikers toevoegen voor federatief delen.", - "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." : "Met Federatie kunt u verbinding maken met andere vertrouwde servers om de gebruikersdirectory uit te wisselen. Dit wordt bijvoorbeeld gebruikt om externe gebruikers automatisch aan te vullen voor federatief delen. Het is niet nodig om een server als vertrouwde server toe te voegen om een federatieve share te maken." + "Add" : "Toevoegen" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/federation/l10n/oc.js b/apps/federation/l10n/oc.js deleted file mode 100644 index d65cc9bdef8..00000000000 --- a/apps/federation/l10n/oc.js +++ /dev/null @@ -1,9 +0,0 @@ -OC.L10N.register( - "federation", - { - "No ownCloud server found" : "Cap de servidor ownCloud pas trobat", - "Could not add server" : "Impossible d'apondre un servidor", - "Federation" : "Federacion", - "ownCloud Server" : "Servidor ownCloud" -}, -"nplurals=2; plural=(n > 1);"); diff --git a/apps/federation/l10n/oc.json b/apps/federation/l10n/oc.json deleted file mode 100644 index 809a86fcaa8..00000000000 --- a/apps/federation/l10n/oc.json +++ /dev/null @@ -1,7 +0,0 @@ -{ "translations": { - "No ownCloud server found" : "Cap de servidor ownCloud pas trobat", - "Could not add server" : "Impossible d'apondre un servidor", - "Federation" : "Federacion", - "ownCloud Server" : "Servidor ownCloud" -},"pluralForm" :"nplurals=2; plural=(n > 1);" -}
\ No newline at end of file diff --git a/apps/federation/l10n/pl.js b/apps/federation/l10n/pl.js index f6f1e24d220..75e12a8fec4 100644 --- a/apps/federation/l10n/pl.js +++ b/apps/federation/l10n/pl.js @@ -2,6 +2,8 @@ OC.L10N.register( "federation", { "Added to the list of trusted servers" : "Dodano do listy zaufanych serwerów.", + "No server found with ID: %s" : "Nie znaleziono serwera o ID: %s", + "Could not remove server" : "Nie można usunąć serwera", "Server is already in the list of trusted servers." : "Serwer znajduje się już na liście zaufanych serwerów.", "No server to federate with found" : "Nie znaleziono federacyjnego serwera", "Could not add server" : "Nie można dodać serwera", @@ -9,12 +11,11 @@ OC.L10N.register( "Federation" : "Federacja", "Federation allows you to connect with other trusted servers to exchange the account directory." : "Federacja umożliwia łączenie się z innymi zaufanymi serwerami w celu wymiany katalogu kont.", "Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing." : "Federacja umożliwia łączenie się z innymi zaufanymi serwerami w celu wymiany katalogu kont. Na przykład będzie to używane do automatycznego uzupełniania kont zewnętrznych na potrzeby udostępniania federacyjnego.", + "External documentation for Federated Cloud Sharing" : "Dokumentacja zewnętrzna dla usługi Udostępnienia Chmury Federacyjnej", "Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing. It is not necessary to add a server as trusted server in order to create a federated share." : "Federacja umożliwia łączenie się z innymi zaufanymi serwerami w celu wymiany katalogu kont. Na przykład zostanie to użyte do automatycznego uzupełniania dla zewnętrznych kont przy udostępnianiu federacyjnym. Nie jest konieczne dodawanie serwera jako serwera zaufanego w celu utworzenia udostępnienia federacyjnego.", + "Each server must validate the other. This process may require a few cron cycles." : "Każdy serwer musi zweryfikować inny serwer. Ten proces może wymagać kilku cykli cron.", "+ Add trusted server" : "+ Dodaj zaufany serwer", "Trusted server" : "Zaufany serwer", - "Add" : "Dodaj", - "Federation allows you to connect with other trusted servers to exchange the user directory." : "Federacja umożliwia łączenie się z innymi zaufanymi serwerami w celu wymiany katalogu użytkownika.", - "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." : "Federacja umożliwia łączenie się z innymi zaufanymi serwerami w celu wymiany katalogu użytkownika. Na przykład zostanie to użyte do automatycznego uzupełniania dla zewnętrznych użytkowników przy udostępnianiu federacyjnym.", - "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." : "Federacja umożliwia łączenie się z innymi zaufanymi serwerami w celu wymiany katalogu użytkownika. Na przykład zostanie to użyte do automatycznego uzupełniania dla zewnętrznych użytkowników przy udostępnianiu federacyjnym. Nie jest konieczne dodawanie serwera jako serwera zaufanego w celu utworzenia udostępnienia federacyjnego." + "Add" : "Dodaj" }, "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/federation/l10n/pl.json b/apps/federation/l10n/pl.json index ffeca756dca..bf54f1fc437 100644 --- a/apps/federation/l10n/pl.json +++ b/apps/federation/l10n/pl.json @@ -1,5 +1,7 @@ { "translations": { "Added to the list of trusted servers" : "Dodano do listy zaufanych serwerów.", + "No server found with ID: %s" : "Nie znaleziono serwera o ID: %s", + "Could not remove server" : "Nie można usunąć serwera", "Server is already in the list of trusted servers." : "Serwer znajduje się już na liście zaufanych serwerów.", "No server to federate with found" : "Nie znaleziono federacyjnego serwera", "Could not add server" : "Nie można dodać serwera", @@ -7,12 +9,11 @@ "Federation" : "Federacja", "Federation allows you to connect with other trusted servers to exchange the account directory." : "Federacja umożliwia łączenie się z innymi zaufanymi serwerami w celu wymiany katalogu kont.", "Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing." : "Federacja umożliwia łączenie się z innymi zaufanymi serwerami w celu wymiany katalogu kont. Na przykład będzie to używane do automatycznego uzupełniania kont zewnętrznych na potrzeby udostępniania federacyjnego.", + "External documentation for Federated Cloud Sharing" : "Dokumentacja zewnętrzna dla usługi Udostępnienia Chmury Federacyjnej", "Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing. It is not necessary to add a server as trusted server in order to create a federated share." : "Federacja umożliwia łączenie się z innymi zaufanymi serwerami w celu wymiany katalogu kont. Na przykład zostanie to użyte do automatycznego uzupełniania dla zewnętrznych kont przy udostępnianiu federacyjnym. Nie jest konieczne dodawanie serwera jako serwera zaufanego w celu utworzenia udostępnienia federacyjnego.", + "Each server must validate the other. This process may require a few cron cycles." : "Każdy serwer musi zweryfikować inny serwer. Ten proces może wymagać kilku cykli cron.", "+ Add trusted server" : "+ Dodaj zaufany serwer", "Trusted server" : "Zaufany serwer", - "Add" : "Dodaj", - "Federation allows you to connect with other trusted servers to exchange the user directory." : "Federacja umożliwia łączenie się z innymi zaufanymi serwerami w celu wymiany katalogu użytkownika.", - "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." : "Federacja umożliwia łączenie się z innymi zaufanymi serwerami w celu wymiany katalogu użytkownika. Na przykład zostanie to użyte do automatycznego uzupełniania dla zewnętrznych użytkowników przy udostępnianiu federacyjnym.", - "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." : "Federacja umożliwia łączenie się z innymi zaufanymi serwerami w celu wymiany katalogu użytkownika. Na przykład zostanie to użyte do automatycznego uzupełniania dla zewnętrznych użytkowników przy udostępnianiu federacyjnym. Nie jest konieczne dodawanie serwera jako serwera zaufanego w celu utworzenia udostępnienia federacyjnego." + "Add" : "Dodaj" },"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/federation/l10n/pt_BR.js b/apps/federation/l10n/pt_BR.js index 698a68eebb3..9423314eeef 100644 --- a/apps/federation/l10n/pt_BR.js +++ b/apps/federation/l10n/pt_BR.js @@ -2,19 +2,20 @@ OC.L10N.register( "federation", { "Added to the list of trusted servers" : "Adicionado à lista de servidores confiáveis.", + "No server found with ID: %s" : "Nenhum servidor encontrado com o ID: %s", + "Could not remove server" : "Não foi possível remover o servidor", "Server is already in the list of trusted servers." : "O servidor já está na lista de servidores confiáveis.", "No server to federate with found" : "Nenhum servidor encontrado para federar", "Could not add server" : "Não foi possível adicionar servidor", "Trusted servers" : "Servidores confiáveis", "Federation" : "Federação", - "Federation allows you to connect with other trusted servers to exchange the account directory." : "A federação permite que você se conecte a outros servidores confiáveis para trocar o diretório da conta.", - "Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing." : "A federação permite que você se conecte a outros servidores confiáveis para trocar o diretório da conta. Por exemplo, isso será usado para preencher automaticamente contas externas para compartilhamento federado.", - "Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing. It is not necessary to add a server as trusted server in order to create a federated share." : "A federação permite que você se conecte a outros servidores confiáveis para trocar o diretório da conta. Por exemplo, isso será usado para preencher automaticamente contas externas para compartilhamento federado. Não é necessário adicionar um servidor como servidor confiável para criar um compartilhamento federado.", + "Federation allows you to connect with other trusted servers to exchange the account directory." : "A federação permite que você se conecte a outros servidores confiáveis para trocar o diretório de contas.", + "Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing." : "A federação permite que você se conecte a outros servidores confiáveis para trocar o diretório de contas. Por exemplo, isso será usado para preencher automaticamente contas externas para compartilhamento federado.", + "External documentation for Federated Cloud Sharing" : "Documentação externa para Compartilhamento de Nuvem Federada", + "Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing. It is not necessary to add a server as trusted server in order to create a federated share." : "A federação permite que você se conecte a outros servidores confiáveis para trocar o diretório de contas. Por exemplo, isso será usado para preencher automaticamente contas externas para compartilhamento federado. Não é necessário adicionar um servidor como servidor confiável para criar um compartilhamento federado.", + "Each server must validate the other. This process may require a few cron cycles." : "Cada servidor deve validar o outro. Esse processo pode exigir alguns ciclos de cron.", "+ Add trusted server" : "+Adicionar servidores confiáveis", "Trusted server" : "Servidores confiáveis", - "Add" : "Adicionar", - "Federation allows you to connect with other trusted servers to exchange the user directory." : "A federação permite que você se conecte a outros servidores confiáveis para trocar o diretório do usuário.", - "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." : "Federação permite que você conecte com outros servidores confiáveis para trocar o diretório do usuário. Por exemplo, este atributo será usado para completar automaticamente usuários externos para compartilhamento federado.", - "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." : "A federação permite que você se conecte com outros servidores confiáveis para trocar o diretório do usuário. Isso é usado, por exemplo, para auto-completar automaticamente usuários externos para compartilhamento federado. Não é necessário adicionar um servidor como servidor confiável para criar um compartilhamento federado." + "Add" : "Adicionar" }, "nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); diff --git a/apps/federation/l10n/pt_BR.json b/apps/federation/l10n/pt_BR.json index 293be3a00af..712e1f33687 100644 --- a/apps/federation/l10n/pt_BR.json +++ b/apps/federation/l10n/pt_BR.json @@ -1,18 +1,19 @@ { "translations": { "Added to the list of trusted servers" : "Adicionado à lista de servidores confiáveis.", + "No server found with ID: %s" : "Nenhum servidor encontrado com o ID: %s", + "Could not remove server" : "Não foi possível remover o servidor", "Server is already in the list of trusted servers." : "O servidor já está na lista de servidores confiáveis.", "No server to federate with found" : "Nenhum servidor encontrado para federar", "Could not add server" : "Não foi possível adicionar servidor", "Trusted servers" : "Servidores confiáveis", "Federation" : "Federação", - "Federation allows you to connect with other trusted servers to exchange the account directory." : "A federação permite que você se conecte a outros servidores confiáveis para trocar o diretório da conta.", - "Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing." : "A federação permite que você se conecte a outros servidores confiáveis para trocar o diretório da conta. Por exemplo, isso será usado para preencher automaticamente contas externas para compartilhamento federado.", - "Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing. It is not necessary to add a server as trusted server in order to create a federated share." : "A federação permite que você se conecte a outros servidores confiáveis para trocar o diretório da conta. Por exemplo, isso será usado para preencher automaticamente contas externas para compartilhamento federado. Não é necessário adicionar um servidor como servidor confiável para criar um compartilhamento federado.", + "Federation allows you to connect with other trusted servers to exchange the account directory." : "A federação permite que você se conecte a outros servidores confiáveis para trocar o diretório de contas.", + "Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing." : "A federação permite que você se conecte a outros servidores confiáveis para trocar o diretório de contas. Por exemplo, isso será usado para preencher automaticamente contas externas para compartilhamento federado.", + "External documentation for Federated Cloud Sharing" : "Documentação externa para Compartilhamento de Nuvem Federada", + "Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing. It is not necessary to add a server as trusted server in order to create a federated share." : "A federação permite que você se conecte a outros servidores confiáveis para trocar o diretório de contas. Por exemplo, isso será usado para preencher automaticamente contas externas para compartilhamento federado. Não é necessário adicionar um servidor como servidor confiável para criar um compartilhamento federado.", + "Each server must validate the other. This process may require a few cron cycles." : "Cada servidor deve validar o outro. Esse processo pode exigir alguns ciclos de cron.", "+ Add trusted server" : "+Adicionar servidores confiáveis", "Trusted server" : "Servidores confiáveis", - "Add" : "Adicionar", - "Federation allows you to connect with other trusted servers to exchange the user directory." : "A federação permite que você se conecte a outros servidores confiáveis para trocar o diretório do usuário.", - "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." : "Federação permite que você conecte com outros servidores confiáveis para trocar o diretório do usuário. Por exemplo, este atributo será usado para completar automaticamente usuários externos para compartilhamento federado.", - "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." : "A federação permite que você se conecte com outros servidores confiáveis para trocar o diretório do usuário. Isso é usado, por exemplo, para auto-completar automaticamente usuários externos para compartilhamento federado. Não é necessário adicionar um servidor como servidor confiável para criar um compartilhamento federado." + "Add" : "Adicionar" },"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/federation/l10n/pt_PT.js b/apps/federation/l10n/pt_PT.js index ee2f5fbacd6..a9c5b3e0af5 100644 --- a/apps/federation/l10n/pt_PT.js +++ b/apps/federation/l10n/pt_PT.js @@ -9,9 +9,6 @@ OC.L10N.register( "Federation" : "Federação", "+ Add trusted server" : "+ Adicionar servidor confiável", "Trusted server" : "Servidor confiável", - "Add" : "Adicionar", - "Federation allows you to connect with other trusted servers to exchange the user directory." : "Federação permite-o conectar-se a outros servidores confiáveis para troca de diretoria de utilizador.", - "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." : "Federação permite-o conectar-se a outros servidores confiáveis para trocar a diretoria de utilizador. Por exemplo, isto será usado para completar automaticamente utilizadores externos para partilhada federada.", - "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." : "A federação permite que você se conecte com outros servidores confiáveis para trocar o directório do utilizador. Isso é usado, por exemplo, para auto-completar automaticamente utlilizadores externos para partilha federada. Não é necessário adicionar um servidor como servidor confiável para criar uma partilha federada." + "Add" : "Adicionar" }, "nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); diff --git a/apps/federation/l10n/pt_PT.json b/apps/federation/l10n/pt_PT.json index 3db2e57f0f2..bec9eea1089 100644 --- a/apps/federation/l10n/pt_PT.json +++ b/apps/federation/l10n/pt_PT.json @@ -7,9 +7,6 @@ "Federation" : "Federação", "+ Add trusted server" : "+ Adicionar servidor confiável", "Trusted server" : "Servidor confiável", - "Add" : "Adicionar", - "Federation allows you to connect with other trusted servers to exchange the user directory." : "Federação permite-o conectar-se a outros servidores confiáveis para troca de diretoria de utilizador.", - "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." : "Federação permite-o conectar-se a outros servidores confiáveis para trocar a diretoria de utilizador. Por exemplo, isto será usado para completar automaticamente utilizadores externos para partilhada federada.", - "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." : "A federação permite que você se conecte com outros servidores confiáveis para trocar o directório do utilizador. Isso é usado, por exemplo, para auto-completar automaticamente utlilizadores externos para partilha federada. Não é necessário adicionar um servidor como servidor confiável para criar uma partilha federada." + "Add" : "Adicionar" },"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/federation/l10n/ro.js b/apps/federation/l10n/ro.js deleted file mode 100644 index 19f37f329a1..00000000000 --- a/apps/federation/l10n/ro.js +++ /dev/null @@ -1,15 +0,0 @@ -OC.L10N.register( - "federation", - { - "Server added to the list of trusted ownClouds" : "Server adăugat la lista serverelor ownCloud de încredere", - "Server is already in the list of trusted servers." : "Serverul este deja pe lista celor de încredere.", - "No ownCloud server found" : "Nu s-a găsit niciun server ownCloud", - "Could not add server" : "Nu s-a putut adăuga serverul", - "Federation" : "Federare", - "ownCloud Federation allows you to connect with other trusted ownClouds to exchange the user directory. For example this will be used to auto-complete external users for federated sharing." : "Federarea ownCloud îți permite să te conectezi la alte servere ownCloud de încredere pentru a partaja baza de utilizatori. De exemplu, va permite completarea automată a numelor utilizatorilor externi pentru partajarea federată.", - "Add server automatically once a federated share was created successfully" : "Adaugă serverul automat odată ce elementul partajat federat a fost creat cu succes", - "Trusted ownCloud Servers" : "Servere ownCloud de încredere", - "+ Add ownCloud server" : "+ Adaugă server ownCloud", - "ownCloud Server" : "Server ownCloud" -}, -"nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));"); diff --git a/apps/federation/l10n/ro.json b/apps/federation/l10n/ro.json deleted file mode 100644 index 0acb4ebd962..00000000000 --- a/apps/federation/l10n/ro.json +++ /dev/null @@ -1,13 +0,0 @@ -{ "translations": { - "Server added to the list of trusted ownClouds" : "Server adăugat la lista serverelor ownCloud de încredere", - "Server is already in the list of trusted servers." : "Serverul este deja pe lista celor de încredere.", - "No ownCloud server found" : "Nu s-a găsit niciun server ownCloud", - "Could not add server" : "Nu s-a putut adăuga serverul", - "Federation" : "Federare", - "ownCloud Federation allows you to connect with other trusted ownClouds to exchange the user directory. For example this will be used to auto-complete external users for federated sharing." : "Federarea ownCloud îți permite să te conectezi la alte servere ownCloud de încredere pentru a partaja baza de utilizatori. De exemplu, va permite completarea automată a numelor utilizatorilor externi pentru partajarea federată.", - "Add server automatically once a federated share was created successfully" : "Adaugă serverul automat odată ce elementul partajat federat a fost creat cu succes", - "Trusted ownCloud Servers" : "Servere ownCloud de încredere", - "+ Add ownCloud server" : "+ Adaugă server ownCloud", - "ownCloud Server" : "Server ownCloud" -},"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/federation/l10n/ru.js b/apps/federation/l10n/ru.js index 20e99ef9af5..662a92f413e 100644 --- a/apps/federation/l10n/ru.js +++ b/apps/federation/l10n/ru.js @@ -2,6 +2,8 @@ OC.L10N.register( "federation", { "Added to the list of trusted servers" : "Добавлено в список доверенных серверов", + "No server found with ID: %s" : "Сервер с идентификатором не найден: %s", + "Could not remove server" : "Не удалось удалить сервер", "Server is already in the list of trusted servers." : "Сервер уже есть в списке доверенных серверов.", "No server to federate with found" : "Сервер для объединения не найден", "Could not add server" : "Не удалось добавить сервер", @@ -9,12 +11,11 @@ OC.L10N.register( "Federation" : "Федерация", "Federation allows you to connect with other trusted servers to exchange the account directory." : "Федерация позволяет вам подключаться к другим доверенным серверам для обмена каталогом учетных записей.", "Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing." : "Федерация позволяет вам подключаться к другим доверенным серверам для обмена каталогом учетных записей. Например, это будет использоваться для автоматического заполнения внешних учетных записей для федеративного общего доступа.", + "External documentation for Federated Cloud Sharing" : "Внешняя документация для федеративного облачного обмена", "Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing. It is not necessary to add a server as trusted server in order to create a federated share." : "Федерация позволяет вам подключаться к другим доверенным серверам для обмена каталогом учетных записей. Например, это будет использоваться для автоматического заполнения внешних учетных записей для федеративного общего доступа. Для создания федеративного общего ресурса нет необходимости добавлять сервер в качестве доверенного.", + "Each server must validate the other. This process may require a few cron cycles." : "Каждый сервер должен проверить другой. Этот процесс может потребовать нескольких циклов cron.", "+ Add trusted server" : "+ Добавить доверенный сервер", "Trusted server" : "Доверенный сервер", - "Add" : "Добавить", - "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" : "Добавить" }, "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/federation/l10n/ru.json b/apps/federation/l10n/ru.json index d0c7fc8641f..f8d8ea90f5b 100644 --- a/apps/federation/l10n/ru.json +++ b/apps/federation/l10n/ru.json @@ -1,5 +1,7 @@ { "translations": { "Added to the list of trusted servers" : "Добавлено в список доверенных серверов", + "No server found with ID: %s" : "Сервер с идентификатором не найден: %s", + "Could not remove server" : "Не удалось удалить сервер", "Server is already in the list of trusted servers." : "Сервер уже есть в списке доверенных серверов.", "No server to federate with found" : "Сервер для объединения не найден", "Could not add server" : "Не удалось добавить сервер", @@ -7,12 +9,11 @@ "Federation" : "Федерация", "Federation allows you to connect with other trusted servers to exchange the account directory." : "Федерация позволяет вам подключаться к другим доверенным серверам для обмена каталогом учетных записей.", "Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing." : "Федерация позволяет вам подключаться к другим доверенным серверам для обмена каталогом учетных записей. Например, это будет использоваться для автоматического заполнения внешних учетных записей для федеративного общего доступа.", + "External documentation for Federated Cloud Sharing" : "Внешняя документация для федеративного облачного обмена", "Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing. It is not necessary to add a server as trusted server in order to create a federated share." : "Федерация позволяет вам подключаться к другим доверенным серверам для обмена каталогом учетных записей. Например, это будет использоваться для автоматического заполнения внешних учетных записей для федеративного общего доступа. Для создания федеративного общего ресурса нет необходимости добавлять сервер в качестве доверенного.", + "Each server must validate the other. This process may require a few cron cycles." : "Каждый сервер должен проверить другой. Этот процесс может потребовать нескольких циклов cron.", "+ Add trusted server" : "+ Добавить доверенный сервер", "Trusted server" : "Доверенный сервер", - "Add" : "Добавить", - "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" : "Добавить" },"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/federation/l10n/sc.js b/apps/federation/l10n/sc.js index 914d990b950..122860c98fc 100644 --- a/apps/federation/l10n/sc.js +++ b/apps/federation/l10n/sc.js @@ -9,9 +9,6 @@ OC.L10N.register( "Federation" : "Federatzione", "+ Add trusted server" : "+ Agiunghe serbidore seguru", "Trusted server" : "Serbidore seguru", - "Add" : "Agiunghe", - "Federation allows you to connect with other trusted servers to exchange the user directory." : "Sa federatzione cunsentit de si collegare a àteros serbidores seguros pro iscambiare sa cartella utente.", - "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." : "Sa federatzione permitit de si collegare a àteros serbidores seguros pro intrare in sa cartella utente. Pro esèmpiu, si podet impreare pro su cumpletamentu automàticu de utèntzias esternas pro cumpartziduras federadas.", - "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." : "Sa federatzione permitit de si collegare a àteros serbidores seguros pro iscambiare sa cartella utente. Pro esèmpiu s'at a impreare pro su cumpletamentu automàticu de utèntzias esternas pro cumpartziduras federadas. Non serbit a agiùnghere unu serbidore comente seguru pro creare una cumpartzidura federada." + "Add" : "Agiunghe" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/federation/l10n/sc.json b/apps/federation/l10n/sc.json index 6dea1cdb454..d666d8e5bab 100644 --- a/apps/federation/l10n/sc.json +++ b/apps/federation/l10n/sc.json @@ -7,9 +7,6 @@ "Federation" : "Federatzione", "+ Add trusted server" : "+ Agiunghe serbidore seguru", "Trusted server" : "Serbidore seguru", - "Add" : "Agiunghe", - "Federation allows you to connect with other trusted servers to exchange the user directory." : "Sa federatzione cunsentit de si collegare a àteros serbidores seguros pro iscambiare sa cartella utente.", - "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." : "Sa federatzione permitit de si collegare a àteros serbidores seguros pro intrare in sa cartella utente. Pro esèmpiu, si podet impreare pro su cumpletamentu automàticu de utèntzias esternas pro cumpartziduras federadas.", - "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." : "Sa federatzione permitit de si collegare a àteros serbidores seguros pro iscambiare sa cartella utente. Pro esèmpiu s'at a impreare pro su cumpletamentu automàticu de utèntzias esternas pro cumpartziduras federadas. Non serbit a agiùnghere unu serbidore comente seguru pro creare una cumpartzidura federada." + "Add" : "Agiunghe" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/federation/l10n/sk.js b/apps/federation/l10n/sk.js index ce5e28be072..222d89da7c7 100644 --- a/apps/federation/l10n/sk.js +++ b/apps/federation/l10n/sk.js @@ -2,6 +2,8 @@ OC.L10N.register( "federation", { "Added to the list of trusted servers" : "Pridané do zoznamu dôveryhodných serverov", + "No server found with ID: %s" : "Nenašiel sa žiadny server s ID: %s", + "Could not remove server" : "Nepodarilo sa odstrániť server", "Server is already in the list of trusted servers." : "Server sa už nachádza v zozname dôveryhodných serverov", "No server to federate with found" : "Server pre združenie sa nenašiel", "Could not add server" : "Nebolo možné pridať server", @@ -9,12 +11,11 @@ OC.L10N.register( "Federation" : "Združovanie", "Federation allows you to connect with other trusted servers to exchange the account directory." : "Združovanie vám umožňuje sa pripojiť k iným dôveryhodným serverom za účelom výmeny účtov.", "Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing." : "Združovanie vám umožňuje sa pripojiť k iným dôveryhodným serverom za účelom výmeny účtov. Používa sa to napr. pre automatické doplňovanie externých účtov pri združenom zdieľaní.", + "External documentation for Federated Cloud Sharing" : "Externá dokumentácia pre Federatívne zdieľanie v cloude", "Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing. It is not necessary to add a server as trusted server in order to create a federated share." : "Združovanie vám umožňuje sa pripojiť k iným dôveryhodným serverom za účelom výmeny zoznamu užívateľov. Používa sa to napr. pre automatické doplňovanie externých účtov pri združenom zdieľaní. Na vytvorenie združeného zdieľaného adresára nie je potrebné pridať server ako dôveryhodný server.", + "Each server must validate the other. This process may require a few cron cycles." : "Každý server musí overiť ostatné. Tento proces môže vyžadovať pár cyklov v crone.", "+ Add trusted server" : "Pridať dôveryhodný server", "Trusted server" : "Dôveryhodný server", - "Add" : "Pridať", - "Federation allows you to connect with other trusted servers to exchange the user directory." : "Združovanie vám umožňuje sa pripojiť k iným dôveryhodným serverom za účelom výmeny adresára používateľov.", - "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." : "Združovanie vám umožňuje sa pripojiť k iným dôveryhodným serverom za účelom výmeny adresára používateľov. Používa sa to napr. pre automatické doplňovanie používateľov pri združenom zdieľaní.", - "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." : "Združovanie vám umožňuje sa pripojiť k iným dôveryhodným serverom za účelom výmeny adresára používateľov. Používa sa to napr. pre automatické doplňovanie používateľov pri združenom zdieľaní. Na vytvorenie zdieľaného adresára nie je potrebné pridať server ako dôveryhodný server." + "Add" : "Pridať" }, "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/federation/l10n/sk.json b/apps/federation/l10n/sk.json index 6108e5e164e..ed4f4d1d75c 100644 --- a/apps/federation/l10n/sk.json +++ b/apps/federation/l10n/sk.json @@ -1,5 +1,7 @@ { "translations": { "Added to the list of trusted servers" : "Pridané do zoznamu dôveryhodných serverov", + "No server found with ID: %s" : "Nenašiel sa žiadny server s ID: %s", + "Could not remove server" : "Nepodarilo sa odstrániť server", "Server is already in the list of trusted servers." : "Server sa už nachádza v zozname dôveryhodných serverov", "No server to federate with found" : "Server pre združenie sa nenašiel", "Could not add server" : "Nebolo možné pridať server", @@ -7,12 +9,11 @@ "Federation" : "Združovanie", "Federation allows you to connect with other trusted servers to exchange the account directory." : "Združovanie vám umožňuje sa pripojiť k iným dôveryhodným serverom za účelom výmeny účtov.", "Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing." : "Združovanie vám umožňuje sa pripojiť k iným dôveryhodným serverom za účelom výmeny účtov. Používa sa to napr. pre automatické doplňovanie externých účtov pri združenom zdieľaní.", + "External documentation for Federated Cloud Sharing" : "Externá dokumentácia pre Federatívne zdieľanie v cloude", "Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing. It is not necessary to add a server as trusted server in order to create a federated share." : "Združovanie vám umožňuje sa pripojiť k iným dôveryhodným serverom za účelom výmeny zoznamu užívateľov. Používa sa to napr. pre automatické doplňovanie externých účtov pri združenom zdieľaní. Na vytvorenie združeného zdieľaného adresára nie je potrebné pridať server ako dôveryhodný server.", + "Each server must validate the other. This process may require a few cron cycles." : "Každý server musí overiť ostatné. Tento proces môže vyžadovať pár cyklov v crone.", "+ Add trusted server" : "Pridať dôveryhodný server", "Trusted server" : "Dôveryhodný server", - "Add" : "Pridať", - "Federation allows you to connect with other trusted servers to exchange the user directory." : "Združovanie vám umožňuje sa pripojiť k iným dôveryhodným serverom za účelom výmeny adresára používateľov.", - "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." : "Združovanie vám umožňuje sa pripojiť k iným dôveryhodným serverom za účelom výmeny adresára používateľov. Používa sa to napr. pre automatické doplňovanie používateľov pri združenom zdieľaní.", - "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." : "Združovanie vám umožňuje sa pripojiť k iným dôveryhodným serverom za účelom výmeny adresára používateľov. Používa sa to napr. pre automatické doplňovanie používateľov pri združenom zdieľaní. Na vytvorenie zdieľaného adresára nie je potrebné pridať server ako dôveryhodný server." + "Add" : "Pridať" },"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/federation/l10n/sl.js b/apps/federation/l10n/sl.js index b143c2b0f0a..d93005e5df8 100644 --- a/apps/federation/l10n/sl.js +++ b/apps/federation/l10n/sl.js @@ -7,11 +7,11 @@ OC.L10N.register( "Could not add server" : "Strežnika ni mogoče dodati.", "Trusted servers" : "Varni strežniki", "Federation" : "Zvezni oblaki", + "Federation allows you to connect with other trusted servers to exchange the account directory." : "Zvezni oblak omogoča povezovanje zunanjih strežnikov v skupen oblak in izmenjavo datotek in map uporabnikov različnih sistemov.", + "Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing." : "Zvezni oblak omogoča povezovanje z drugimi varnimi strežniki in izmenjavo datotek in map računov v enotnem oblaku. Možnost omogoča na primer samodejno dopolnjevanje tudi računov na drugih, zunanjih strežnikih.", + "Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing. It is not necessary to add a server as trusted server in order to create a federated share." : "Zvezni oblak omogoča povezovanje z drugimi varnimi strežniki in izmenjavo datotek in map računov v enotnem oblaku. Možnost omogoča na primer samodejno dopolnjevanje tudi imen računov na drugih, zunanjih strežnikih. Zunanjih strežnikov ni nujno dodati kot zaupanja vredne, da lahko ustvarite povezave.", "+ Add trusted server" : "+ Dodaj varen strežnik", "Trusted server" : "Varen strežnik", - "Add" : "Dodaj", - "Federation allows you to connect with other trusted servers to exchange the user directory." : "Zvezni oblak omogoča povezovanje zunanjih strežnikov v skupen oblak in izmenjavo datotek in map uporabnikov različnih sistemov.", - "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." : "Zvezni oblak omogoča povezovanje z drugimi varnimi strežniki in izmenjavo datotek in map uporabnikov v enotnem oblaku. Možnost omogoča na primer samodejno dopolnjevanje tudi imen uporabnikov na drugih, zunanjih strežnikih.", - "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." : "Zvezni oblak omogoča povezovanje z drugimi varnimi strežniki in izmenjavo datotek in map uporabnikov v enotnem oblaku. Možnost omogoča na primer samodejno dopolnjevanje tudi imen uporabnikov na drugih, zunanjih strežnikih. Zunanjih strežnikov ni nujno dodati kot zaupanja vredne, da lahko ustvarite povezave." + "Add" : "Dodaj" }, "nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);"); diff --git a/apps/federation/l10n/sl.json b/apps/federation/l10n/sl.json index 6945558ad45..a864b1159bd 100644 --- a/apps/federation/l10n/sl.json +++ b/apps/federation/l10n/sl.json @@ -5,11 +5,11 @@ "Could not add server" : "Strežnika ni mogoče dodati.", "Trusted servers" : "Varni strežniki", "Federation" : "Zvezni oblaki", + "Federation allows you to connect with other trusted servers to exchange the account directory." : "Zvezni oblak omogoča povezovanje zunanjih strežnikov v skupen oblak in izmenjavo datotek in map uporabnikov različnih sistemov.", + "Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing." : "Zvezni oblak omogoča povezovanje z drugimi varnimi strežniki in izmenjavo datotek in map računov v enotnem oblaku. Možnost omogoča na primer samodejno dopolnjevanje tudi računov na drugih, zunanjih strežnikih.", + "Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing. It is not necessary to add a server as trusted server in order to create a federated share." : "Zvezni oblak omogoča povezovanje z drugimi varnimi strežniki in izmenjavo datotek in map računov v enotnem oblaku. Možnost omogoča na primer samodejno dopolnjevanje tudi imen računov na drugih, zunanjih strežnikih. Zunanjih strežnikov ni nujno dodati kot zaupanja vredne, da lahko ustvarite povezave.", "+ Add trusted server" : "+ Dodaj varen strežnik", "Trusted server" : "Varen strežnik", - "Add" : "Dodaj", - "Federation allows you to connect with other trusted servers to exchange the user directory." : "Zvezni oblak omogoča povezovanje zunanjih strežnikov v skupen oblak in izmenjavo datotek in map uporabnikov različnih sistemov.", - "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." : "Zvezni oblak omogoča povezovanje z drugimi varnimi strežniki in izmenjavo datotek in map uporabnikov v enotnem oblaku. Možnost omogoča na primer samodejno dopolnjevanje tudi imen uporabnikov na drugih, zunanjih strežnikih.", - "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." : "Zvezni oblak omogoča povezovanje z drugimi varnimi strežniki in izmenjavo datotek in map uporabnikov v enotnem oblaku. Možnost omogoča na primer samodejno dopolnjevanje tudi imen uporabnikov na drugih, zunanjih strežnikih. Zunanjih strežnikov ni nujno dodati kot zaupanja vredne, da lahko ustvarite povezave." + "Add" : "Dodaj" },"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/federation/l10n/sq.js b/apps/federation/l10n/sq.js index 5511f53cb09..cf7edac45cc 100644 --- a/apps/federation/l10n/sq.js +++ b/apps/federation/l10n/sq.js @@ -9,7 +9,6 @@ OC.L10N.register( "Federation" : "Federim", "+ Add trusted server" : "+ Shto server-a të besuar", "Trusted server" : "Server i besuar", - "Add" : "Shto", - "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." : "Federimi ju lejon të lidheni me server-a të tjerë për të shkëmbyer direktorinë e përdoruesit. Për shembull, kjo mund të përdoret për të parapërgatitur vendet e punës për përdorues të jashtëm në shpërndarjen e federuar." + "Add" : "Shto" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/federation/l10n/sq.json b/apps/federation/l10n/sq.json index 459aee1fae9..ee5c9fc0e40 100644 --- a/apps/federation/l10n/sq.json +++ b/apps/federation/l10n/sq.json @@ -7,7 +7,6 @@ "Federation" : "Federim", "+ Add trusted server" : "+ Shto server-a të besuar", "Trusted server" : "Server i besuar", - "Add" : "Shto", - "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." : "Federimi ju lejon të lidheni me server-a të tjerë për të shkëmbyer direktorinë e përdoruesit. Për shembull, kjo mund të përdoret për të parapërgatitur vendet e punës për përdorues të jashtëm në shpërndarjen e federuar." + "Add" : "Shto" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/federation/l10n/sr.js b/apps/federation/l10n/sr.js index 81edf9d50b3..c50566e97d4 100644 --- a/apps/federation/l10n/sr.js +++ b/apps/federation/l10n/sr.js @@ -2,6 +2,8 @@ OC.L10N.register( "federation", { "Added to the list of trusted servers" : "Додат на листу сервера од поверења", + "No server found with ID: %s" : "Није пронађен сервер са ID: %s", + "Could not remove server" : "Сервер није могао да се уклони", "Server is already in the list of trusted servers." : "Сервер је већ на списку сервера од поверења.", "No server to federate with found" : "Није нађен сервер за здруживање", "Could not add server" : "Неуспело додавање сервера", @@ -9,12 +11,11 @@ OC.L10N.register( "Federation" : "Здруживање", "Federation allows you to connect with other trusted servers to exchange the account directory." : "Федерисање вам омогућава да се повежете са другим серверима којима се верује и да размењујете директоријум налога.", "Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing." : "Федерисање вам омогућава да се повежете са другим серверима којима се верује и да размењујете директоријум налога. На пример, ово ће се користити за аутоматско довршавање спољних налога када се врши федерисано дељење.", + "External documentation for Federated Cloud Sharing" : "Спољна документација за Здружено дељење у облаку", "Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing. It is not necessary to add a server as trusted server in order to create a federated share." : "Федерисање вам омогућава да се повежете са другим серверима којима се верује и да размењујете директоријум налога. На пример, ово ће се користити за аутоматско довршавање спољних налога када се врши федерисано дељење. Да би се креирало федерисано дељење, нема потребе да се сервер дода као сервер којем се верује.", + "Each server must validate the other. This process may require a few cron cycles." : "Сваки сервер мора да потврди остале. За овај процес може бити потребно неколико cron циклуса.", "+ Add trusted server" : "+ Додај сервер од поверења", "Trusted server" : "Сервер од поверења", - "Add" : "Додај", - "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" : "Додај" }, "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/federation/l10n/sr.json b/apps/federation/l10n/sr.json index b7a4e19a10e..329c7f1df41 100644 --- a/apps/federation/l10n/sr.json +++ b/apps/federation/l10n/sr.json @@ -1,5 +1,7 @@ { "translations": { "Added to the list of trusted servers" : "Додат на листу сервера од поверења", + "No server found with ID: %s" : "Није пронађен сервер са ID: %s", + "Could not remove server" : "Сервер није могао да се уклони", "Server is already in the list of trusted servers." : "Сервер је већ на списку сервера од поверења.", "No server to federate with found" : "Није нађен сервер за здруживање", "Could not add server" : "Неуспело додавање сервера", @@ -7,12 +9,11 @@ "Federation" : "Здруживање", "Federation allows you to connect with other trusted servers to exchange the account directory." : "Федерисање вам омогућава да се повежете са другим серверима којима се верује и да размењујете директоријум налога.", "Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing." : "Федерисање вам омогућава да се повежете са другим серверима којима се верује и да размењујете директоријум налога. На пример, ово ће се користити за аутоматско довршавање спољних налога када се врши федерисано дељење.", + "External documentation for Federated Cloud Sharing" : "Спољна документација за Здружено дељење у облаку", "Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing. It is not necessary to add a server as trusted server in order to create a federated share." : "Федерисање вам омогућава да се повежете са другим серверима којима се верује и да размењујете директоријум налога. На пример, ово ће се користити за аутоматско довршавање спољних налога када се врши федерисано дељење. Да би се креирало федерисано дељење, нема потребе да се сервер дода као сервер којем се верује.", + "Each server must validate the other. This process may require a few cron cycles." : "Сваки сервер мора да потврди остале. За овај процес може бити потребно неколико cron циклуса.", "+ Add trusted server" : "+ Додај сервер од поверења", "Trusted server" : "Сервер од поверења", - "Add" : "Додај", - "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" : "Додај" },"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/federation/l10n/sv.js b/apps/federation/l10n/sv.js index 20fe1655bf9..ae2ff0bdb4c 100644 --- a/apps/federation/l10n/sv.js +++ b/apps/federation/l10n/sv.js @@ -2,6 +2,8 @@ OC.L10N.register( "federation", { "Added to the list of trusted servers" : "Tillagd i listan med betrodda servrar", + "No server found with ID: %s" : "Ingen server hittades med ID: %s", + "Could not remove server" : "Kunde inte ta bort server", "Server is already in the list of trusted servers." : "Servern finns redan i listan", "No server to federate with found" : "Ingen server att federera med hittades", "Could not add server" : "Kunde inte lägga till server", @@ -9,12 +11,11 @@ OC.L10N.register( "Federation" : "Federation", "Federation allows you to connect with other trusted servers to exchange the account directory." : "Federation låter dig ansluta med andra betrodda servrar för att utbyta användarkatalogen.", "Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing." : "Federation låter dig ansluta till andra betrodda servrar för att utbyta användarkatalogen. Till exempel kommer detta användas för att auto-komplettera externa konton för federerad delning.", + "External documentation for Federated Cloud Sharing" : "Extern dokumentation för Federerad molndelning", "Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing. It is not necessary to add a server as trusted server in order to create a federated share." : "Federation låter dig ansluta till andra betrodda servrar för att utbyta användarkatalogen. Till exempel kommer detta användas för att auto-komplettera externa användare för federerad delning. Det är inte nödvändigt att lägga till en server som betrodd för att skapa en federerad delning.", + "Each server must validate the other. This process may require a few cron cycles." : "Varje server måste validera den andra. Denna process kan kräva några cron-cykler.", "+ Add trusted server" : "+ Lägg till betrodd server", "Trusted server" : "Betrodd server", - "Add" : "Lägg till", - "Federation allows you to connect with other trusted servers to exchange the user directory." : "Federation låter dig ansluta med andra betrodda servrar för att utbyta användarkatalogen.", - "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 låter dig ansluta till andra betrodda servrar för att utbyta användarinformation. Till exempel kommer detta användas för att auto-komplettera externa användare för federerad delning.", - "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." : "Federation låter dig ansluta till andra betrodda servrar för att utbyta användarinformation. Till exempel kommer detta användas för att auto-komplettera externa användare för federerad delning. Det är inte nödvändigt att lägga till en server som betrodd för att skapa en federerad delning." + "Add" : "Lägg till" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/federation/l10n/sv.json b/apps/federation/l10n/sv.json index d3a0c529751..78448971d78 100644 --- a/apps/federation/l10n/sv.json +++ b/apps/federation/l10n/sv.json @@ -1,5 +1,7 @@ { "translations": { "Added to the list of trusted servers" : "Tillagd i listan med betrodda servrar", + "No server found with ID: %s" : "Ingen server hittades med ID: %s", + "Could not remove server" : "Kunde inte ta bort server", "Server is already in the list of trusted servers." : "Servern finns redan i listan", "No server to federate with found" : "Ingen server att federera med hittades", "Could not add server" : "Kunde inte lägga till server", @@ -7,12 +9,11 @@ "Federation" : "Federation", "Federation allows you to connect with other trusted servers to exchange the account directory." : "Federation låter dig ansluta med andra betrodda servrar för att utbyta användarkatalogen.", "Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing." : "Federation låter dig ansluta till andra betrodda servrar för att utbyta användarkatalogen. Till exempel kommer detta användas för att auto-komplettera externa konton för federerad delning.", + "External documentation for Federated Cloud Sharing" : "Extern dokumentation för Federerad molndelning", "Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing. It is not necessary to add a server as trusted server in order to create a federated share." : "Federation låter dig ansluta till andra betrodda servrar för att utbyta användarkatalogen. Till exempel kommer detta användas för att auto-komplettera externa användare för federerad delning. Det är inte nödvändigt att lägga till en server som betrodd för att skapa en federerad delning.", + "Each server must validate the other. This process may require a few cron cycles." : "Varje server måste validera den andra. Denna process kan kräva några cron-cykler.", "+ Add trusted server" : "+ Lägg till betrodd server", "Trusted server" : "Betrodd server", - "Add" : "Lägg till", - "Federation allows you to connect with other trusted servers to exchange the user directory." : "Federation låter dig ansluta med andra betrodda servrar för att utbyta användarkatalogen.", - "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 låter dig ansluta till andra betrodda servrar för att utbyta användarinformation. Till exempel kommer detta användas för att auto-komplettera externa användare för federerad delning.", - "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." : "Federation låter dig ansluta till andra betrodda servrar för att utbyta användarinformation. Till exempel kommer detta användas för att auto-komplettera externa användare för federerad delning. Det är inte nödvändigt att lägga till en server som betrodd för att skapa en federerad delning." + "Add" : "Lägg till" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/federation/l10n/sw.js b/apps/federation/l10n/sw.js new file mode 100644 index 00000000000..4c09b59af82 --- /dev/null +++ b/apps/federation/l10n/sw.js @@ -0,0 +1,21 @@ +OC.L10N.register( + "federation", + { + "Added to the list of trusted servers" : " Imeongezwa kwenye orodha ya seva zinazoaminika", + "No server found with ID: %s" : "Hakuna seva iliyopatikana na kitambulisho: %s", + "Could not remove server" : "Isingeweza kuondoa seva", + "Server is already in the list of trusted servers." : "Seva tayari iko kwenye orodha ya seva zinazoaminika.", + "No server to federate with found" : "Hakuna seva ya kushirikiana na, iliyopatikana", + "Could not add server" : "Isingeweza kuongeza seva", + "Trusted servers" : "Seva zinazoaminiwa", + "Federation" : "Shirikisho", + "Federation allows you to connect with other trusted servers to exchange the account directory." : "Shirikisho hukuruhusu kuunganishwa na seva zingine zinazoaminika ili kubadilishana saraka ya akaunti.", + "Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing." : "Shirikisho hukuruhusu kuunganishwa na seva zingine zinazoaminika ili kubadilishana saraka ya akaunti. Kwa mfano hii itatumika kukamilisha kiotomatiki akaunti za nje kwa ushiriki wa shirikisho.", + "External documentation for Federated Cloud Sharing" : "Hati za nje za Ushirikiano wa Nextcloud Ulioshirikishwa", + "Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing. It is not necessary to add a server as trusted server in order to create a federated share." : "Shirikisho hukuruhusu kuunganishwa na seva zingine zinazoaminika ili kubadilishana saraka ya akaunti. Kwa mfano hii itatumika kukamilisha kiotomatiki akaunti za nje kwa kushiriki kwa shirikisho. Sio lazima kuongeza seva kama seva inayoaminika ili kuunda sehemu iliyoshirikishwa.", + "Each server must validate the other. This process may require a few cron cycles." : " Kila seva lazima ithibitishe nyingine. Mchakato huu unaweza kuhitaji mizunguko michache ya cron.", + "+ Add trusted server" : "+ ongeza seva inayoaminiwa", + "Trusted server" : "Seva inayoaminiwa", + "Add" : "Ongeza" +}, +"nplurals=2; plural=(n != 1);"); diff --git a/apps/federation/l10n/sw.json b/apps/federation/l10n/sw.json new file mode 100644 index 00000000000..6f9abc85cbc --- /dev/null +++ b/apps/federation/l10n/sw.json @@ -0,0 +1,19 @@ +{ "translations": { + "Added to the list of trusted servers" : " Imeongezwa kwenye orodha ya seva zinazoaminika", + "No server found with ID: %s" : "Hakuna seva iliyopatikana na kitambulisho: %s", + "Could not remove server" : "Isingeweza kuondoa seva", + "Server is already in the list of trusted servers." : "Seva tayari iko kwenye orodha ya seva zinazoaminika.", + "No server to federate with found" : "Hakuna seva ya kushirikiana na, iliyopatikana", + "Could not add server" : "Isingeweza kuongeza seva", + "Trusted servers" : "Seva zinazoaminiwa", + "Federation" : "Shirikisho", + "Federation allows you to connect with other trusted servers to exchange the account directory." : "Shirikisho hukuruhusu kuunganishwa na seva zingine zinazoaminika ili kubadilishana saraka ya akaunti.", + "Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing." : "Shirikisho hukuruhusu kuunganishwa na seva zingine zinazoaminika ili kubadilishana saraka ya akaunti. Kwa mfano hii itatumika kukamilisha kiotomatiki akaunti za nje kwa ushiriki wa shirikisho.", + "External documentation for Federated Cloud Sharing" : "Hati za nje za Ushirikiano wa Nextcloud Ulioshirikishwa", + "Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing. It is not necessary to add a server as trusted server in order to create a federated share." : "Shirikisho hukuruhusu kuunganishwa na seva zingine zinazoaminika ili kubadilishana saraka ya akaunti. Kwa mfano hii itatumika kukamilisha kiotomatiki akaunti za nje kwa kushiriki kwa shirikisho. Sio lazima kuongeza seva kama seva inayoaminika ili kuunda sehemu iliyoshirikishwa.", + "Each server must validate the other. This process may require a few cron cycles." : " Kila seva lazima ithibitishe nyingine. Mchakato huu unaweza kuhitaji mizunguko michache ya cron.", + "+ Add trusted server" : "+ ongeza seva inayoaminiwa", + "Trusted server" : "Seva inayoaminiwa", + "Add" : "Ongeza" +},"pluralForm" :"nplurals=2; plural=(n != 1);" +}
\ No newline at end of file diff --git a/apps/federation/l10n/tr.js b/apps/federation/l10n/tr.js index 79d11d4a250..e8a0f31fe2b 100644 --- a/apps/federation/l10n/tr.js +++ b/apps/federation/l10n/tr.js @@ -2,6 +2,8 @@ OC.L10N.register( "federation", { "Added to the list of trusted servers" : "Güvenilen sunucular listesine eklendi", + "No server found with ID: %s" : "Şu kimlikle bir sunucu bulunamadı: %s", + "Could not remove server" : "Sunucu kaldırılamadı", "Server is already in the list of trusted servers." : "Sunucu zaten güvenilen sunucu listesine eklenmiş.", "No server to federate with found" : "Birleştirilecek bir sunucu bulunamadı", "Could not add server" : "Sunucu eklenemedi", @@ -9,12 +11,11 @@ OC.L10N.register( "Federation" : "Birleşim", "Federation allows you to connect with other trusted servers to exchange the account directory." : "Birleşim, diğer güvenilen sunucularla bağlantı kurarak hesap dizininin paylaşılmasını sağlar.", "Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing." : "Birleşik çalışma, diğer güvenilen sunucularla hesap dizininin paylaşılmasını sağlar. Örneğin, bu işlem birleşik paylaşım için dış hesapların otomatik olarak tamamlanmasını sağlar.", + "External documentation for Federated Cloud Sharing" : "Birleşik bulut paylaşımı belgeleri", "Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing. It is not necessary to add a server as trusted server in order to create a federated share." : "Birleşik çalışma, diğer güvenilen sunucularla hesap dizininin paylaşılmasını sağlar. Örneğin, bu işlem birleşik paylaşım için dış hesapların otomatik olarak tamamlanmasını sağlar. Bir birleşik çalışma oluşturmak için bir güvenilen sunucu eklenmesi gerekmez.", + "Each server must validate the other. This process may require a few cron cycles." : "Her sunucunun diğerini doğrulaması gerekir. Bu işlemin tamamlanması için birkaç zamanlanmış görev döngüsünün geçilmesi gerekebilir.", "+ Add trusted server" : "+ Güvenilen sunucu ekle", "Trusted server" : "Güvenilen sunucu", - "Add" : "Ekle", - "Federation allows you to connect with other trusted servers to exchange the user directory." : "Birleşim, diğer güvenilen sunucularla bağlantı kurarak kullanıcı dizininin paylaşılmasını sağlar.", - "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." : "Birleşik çalışma, diğer güvenilen sunucularla dosya/klasör paylaşımı yapılmasını sağlar. Örneğin, bu işlem birleşik paylaşım için dış kullanıcıların otomatik olarak tamamlanmasını sağlar.", - "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." : "Birleşik çalışma, diğer güvenilen sunucularla dosya/klasör paylaşımı yapılmasını sağlar. Örneğin, bu işlem birleşik paylaşım için dış kullanıcıların otomatik olarak tamamlanmasını sağlar. Bir birleşik çalışma oluşturmak için bir güvenilen sunucu eklenmesi gerekmez." + "Add" : "Ekle" }, "nplurals=2; plural=(n > 1);"); diff --git a/apps/federation/l10n/tr.json b/apps/federation/l10n/tr.json index 7e10bd9e979..c0ed4ea0d74 100644 --- a/apps/federation/l10n/tr.json +++ b/apps/federation/l10n/tr.json @@ -1,5 +1,7 @@ { "translations": { "Added to the list of trusted servers" : "Güvenilen sunucular listesine eklendi", + "No server found with ID: %s" : "Şu kimlikle bir sunucu bulunamadı: %s", + "Could not remove server" : "Sunucu kaldırılamadı", "Server is already in the list of trusted servers." : "Sunucu zaten güvenilen sunucu listesine eklenmiş.", "No server to federate with found" : "Birleştirilecek bir sunucu bulunamadı", "Could not add server" : "Sunucu eklenemedi", @@ -7,12 +9,11 @@ "Federation" : "Birleşim", "Federation allows you to connect with other trusted servers to exchange the account directory." : "Birleşim, diğer güvenilen sunucularla bağlantı kurarak hesap dizininin paylaşılmasını sağlar.", "Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing." : "Birleşik çalışma, diğer güvenilen sunucularla hesap dizininin paylaşılmasını sağlar. Örneğin, bu işlem birleşik paylaşım için dış hesapların otomatik olarak tamamlanmasını sağlar.", + "External documentation for Federated Cloud Sharing" : "Birleşik bulut paylaşımı belgeleri", "Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing. It is not necessary to add a server as trusted server in order to create a federated share." : "Birleşik çalışma, diğer güvenilen sunucularla hesap dizininin paylaşılmasını sağlar. Örneğin, bu işlem birleşik paylaşım için dış hesapların otomatik olarak tamamlanmasını sağlar. Bir birleşik çalışma oluşturmak için bir güvenilen sunucu eklenmesi gerekmez.", + "Each server must validate the other. This process may require a few cron cycles." : "Her sunucunun diğerini doğrulaması gerekir. Bu işlemin tamamlanması için birkaç zamanlanmış görev döngüsünün geçilmesi gerekebilir.", "+ Add trusted server" : "+ Güvenilen sunucu ekle", "Trusted server" : "Güvenilen sunucu", - "Add" : "Ekle", - "Federation allows you to connect with other trusted servers to exchange the user directory." : "Birleşim, diğer güvenilen sunucularla bağlantı kurarak kullanıcı dizininin paylaşılmasını sağlar.", - "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." : "Birleşik çalışma, diğer güvenilen sunucularla dosya/klasör paylaşımı yapılmasını sağlar. Örneğin, bu işlem birleşik paylaşım için dış kullanıcıların otomatik olarak tamamlanmasını sağlar.", - "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." : "Birleşik çalışma, diğer güvenilen sunucularla dosya/klasör paylaşımı yapılmasını sağlar. Örneğin, bu işlem birleşik paylaşım için dış kullanıcıların otomatik olarak tamamlanmasını sağlar. Bir birleşik çalışma oluşturmak için bir güvenilen sunucu eklenmesi gerekmez." + "Add" : "Ekle" },"pluralForm" :"nplurals=2; plural=(n > 1);" }
\ No newline at end of file diff --git a/apps/federation/l10n/ug.js b/apps/federation/l10n/ug.js new file mode 100644 index 00000000000..eee95bdf3c8 --- /dev/null +++ b/apps/federation/l10n/ug.js @@ -0,0 +1,17 @@ +OC.L10N.register( + "federation", + { + "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" : "فېدېراتسىيە", + "Federation allows you to connect with other trusted servers to exchange the account directory." : "فېدېراتسىيە ھېسابات مۇندەرىجىسىنى ئالماشتۇرۇش ئۈچۈن باشقا ئىشەنچلىك مۇلازىمېتىرلار بىلەن ئۇلىنالايسىز.", + "Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing." : "فېدېراتسىيە ھېسابات مۇندەرىجىسىنى ئالماشتۇرۇش ئۈچۈن باشقا ئىشەنچلىك مۇلازىمېتىرلار بىلەن ئۇلىنالايسىز. مەسىلەن ، فېدېراتسىيە ئورتاقلىشىش ئۈچۈن تاشقى ھېساباتلارنى ئاپتوماتىك تاماملاشقا ئىشلىتىلىدۇ.", + "Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts 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=2; plural=(n != 1);"); diff --git a/apps/federation/l10n/ug.json b/apps/federation/l10n/ug.json new file mode 100644 index 00000000000..796bdc4394b --- /dev/null +++ b/apps/federation/l10n/ug.json @@ -0,0 +1,15 @@ +{ "translations": { + "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" : "فېدېراتسىيە", + "Federation allows you to connect with other trusted servers to exchange the account directory." : "فېدېراتسىيە ھېسابات مۇندەرىجىسىنى ئالماشتۇرۇش ئۈچۈن باشقا ئىشەنچلىك مۇلازىمېتىرلار بىلەن ئۇلىنالايسىز.", + "Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing." : "فېدېراتسىيە ھېسابات مۇندەرىجىسىنى ئالماشتۇرۇش ئۈچۈن باشقا ئىشەنچلىك مۇلازىمېتىرلار بىلەن ئۇلىنالايسىز. مەسىلەن ، فېدېراتسىيە ئورتاقلىشىش ئۈچۈن تاشقى ھېساباتلارنى ئاپتوماتىك تاماملاشقا ئىشلىتىلىدۇ.", + "Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts 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=2; plural=(n != 1);" +}
\ No newline at end of file diff --git a/apps/federation/l10n/uk.js b/apps/federation/l10n/uk.js index f6cb2b72cc5..adcd2ee732b 100644 --- a/apps/federation/l10n/uk.js +++ b/apps/federation/l10n/uk.js @@ -2,16 +2,20 @@ OC.L10N.register( "federation", { "Added to the list of trusted servers" : "Сервер додано до списку довірених серверів", + "No server found with ID: %s" : "Не знайдено сервер з ідентифікатором: %s", + "Could not remove server" : "Не вдалося видалити сервер", "Server is already in the list of trusted servers." : "Сервер вже знаходиться в переліку довірених серверів", "No server to federate with found" : "Не знайдено жодного сервера для об'єднання", "Could not add server" : "Не вдалося додати сервер", "Trusted servers" : "Довірені сервера", "Federation" : "Об'єднання", + "Federation allows you to connect with other trusted servers to exchange the account directory." : "Об'єднання хмар дозволяє з'єднуватися з іншими довіреними серверами й обмінюватися обліковими даними користувачів.", + "Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing." : "Об'єднання хмар дозволяє з'єднуватися з іншими довіреними серверами й обмінюватися обліковими даними користувачів. Так, це може бути корисно для автоматичної підстановки зовнішніх користувачів під час надання у спільний доступ ресурсів об'єднаних хмар.", + "External documentation for Federated Cloud Sharing" : "Документація з надання доступу у об'єднаних хмарах", + "Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing. It is not necessary to add a server as trusted server in order to create a federated share." : "Об'єднання хмар дозволяє з'єднуватися з іншими довіреними серверами й обмінюватися обліковими даними користувачів. Так, це може бути корисно для автоматичної підстановки зовнішніх користувачів під час надання у спільний доступ ресурсів об'єднаних хмар. Необов'язково додавати сервер яко довірений для створення спільного ресурсу між об'єднаними хмарами.", + "Each server must validate the other. This process may require a few cron cycles." : "Кожен сервер має підтвердити один одного. Цей процес може вимагати кількох циклів виконання cron.", "+ Add trusted server" : "Додати довірений сервер", "Trusted server" : "Довірений сервер", - "Add" : "Додати", - "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" : "Додати" }, "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/federation/l10n/uk.json b/apps/federation/l10n/uk.json index ec10d017fc8..97e4915bdf7 100644 --- a/apps/federation/l10n/uk.json +++ b/apps/federation/l10n/uk.json @@ -1,15 +1,19 @@ { "translations": { "Added to the list of trusted servers" : "Сервер додано до списку довірених серверів", + "No server found with ID: %s" : "Не знайдено сервер з ідентифікатором: %s", + "Could not remove server" : "Не вдалося видалити сервер", "Server is already in the list of trusted servers." : "Сервер вже знаходиться в переліку довірених серверів", "No server to federate with found" : "Не знайдено жодного сервера для об'єднання", "Could not add server" : "Не вдалося додати сервер", "Trusted servers" : "Довірені сервера", "Federation" : "Об'єднання", + "Federation allows you to connect with other trusted servers to exchange the account directory." : "Об'єднання хмар дозволяє з'єднуватися з іншими довіреними серверами й обмінюватися обліковими даними користувачів.", + "Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing." : "Об'єднання хмар дозволяє з'єднуватися з іншими довіреними серверами й обмінюватися обліковими даними користувачів. Так, це може бути корисно для автоматичної підстановки зовнішніх користувачів під час надання у спільний доступ ресурсів об'єднаних хмар.", + "External documentation for Federated Cloud Sharing" : "Документація з надання доступу у об'єднаних хмарах", + "Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing. It is not necessary to add a server as trusted server in order to create a federated share." : "Об'єднання хмар дозволяє з'єднуватися з іншими довіреними серверами й обмінюватися обліковими даними користувачів. Так, це може бути корисно для автоматичної підстановки зовнішніх користувачів під час надання у спільний доступ ресурсів об'єднаних хмар. Необов'язково додавати сервер яко довірений для створення спільного ресурсу між об'єднаними хмарами.", + "Each server must validate the other. This process may require a few cron cycles." : "Кожен сервер має підтвердити один одного. Цей процес може вимагати кількох циклів виконання cron.", "+ Add trusted server" : "Додати довірений сервер", "Trusted server" : "Довірений сервер", - "Add" : "Додати", - "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" : "Додати" },"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/federation/l10n/vi.js b/apps/federation/l10n/vi.js index 0fc790f88f1..6e3ccfb1243 100644 --- a/apps/federation/l10n/vi.js +++ b/apps/federation/l10n/vi.js @@ -9,8 +9,6 @@ OC.L10N.register( "Federation" : "Kết nối Liên Bang ", "+ Add trusted server" : "+ Thêm máy chủ được tin cậy", "Trusted server" : "Máy chủ được tin cậy", - "Add" : "Thêm", - "Federation allows you to connect with other trusted servers to exchange the user directory." : "Kết nối Liên Bang cho phép bạn có thể kết nối với các máy chủ được tin tưởng khác để trao đổi chỉ mục người dùng", - "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." : "Kết nối Liên Bang cho phép bạn kết nối với các máy chủ tin tưởng khác để trao đổi chỉ mục người dùng. Lấy ví dụ, kết nối này sẽ được dùng để tự-động-điền các người dùng bên ngoài cho các chia sẻ Liên Bang." + "Add" : "Thêm" }, "nplurals=1; plural=0;"); diff --git a/apps/federation/l10n/vi.json b/apps/federation/l10n/vi.json index 5caf3ed1ce3..e4fb729c7b5 100644 --- a/apps/federation/l10n/vi.json +++ b/apps/federation/l10n/vi.json @@ -7,8 +7,6 @@ "Federation" : "Kết nối Liên Bang ", "+ Add trusted server" : "+ Thêm máy chủ được tin cậy", "Trusted server" : "Máy chủ được tin cậy", - "Add" : "Thêm", - "Federation allows you to connect with other trusted servers to exchange the user directory." : "Kết nối Liên Bang cho phép bạn có thể kết nối với các máy chủ được tin tưởng khác để trao đổi chỉ mục người dùng", - "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." : "Kết nối Liên Bang cho phép bạn kết nối với các máy chủ tin tưởng khác để trao đổi chỉ mục người dùng. Lấy ví dụ, kết nối này sẽ được dùng để tự-động-điền các người dùng bên ngoài cho các chia sẻ Liên Bang." + "Add" : "Thêm" },"pluralForm" :"nplurals=1; plural=0;" }
\ No newline at end of file diff --git a/apps/federation/l10n/zh_CN.js b/apps/federation/l10n/zh_CN.js index 76ba46ea6e2..ac6b51d5659 100644 --- a/apps/federation/l10n/zh_CN.js +++ b/apps/federation/l10n/zh_CN.js @@ -2,16 +2,20 @@ OC.L10N.register( "federation", { "Added to the list of trusted servers" : "添加到受信任服务器列表中", + "No server found with ID: %s" : "未找到此 ID 的服务器:%s", + "Could not remove server" : "无法移除服务器", "Server is already in the list of trusted servers." : "服务器已在受信任服务器列表中。", "No server to federate with found" : "没有找到联合云服务器", "Could not add server" : "无法添加服务器", "Trusted servers" : "受信任服务器", "Federation" : "联合云", + "Federation allows you to connect with other trusted servers to exchange the account directory." : "联合允许您与其他受信任的服务器连接以交换账号目录。", + "Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing." : "联合云允许您与其他受信任的服务器连接以交换帐户目录。例如,这将用于自动完成联合云共享的外部帐户。", + "External documentation for Federated Cloud Sharing" : "联合云共享的外部文档", + "Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing. It is not necessary to add a server as trusted server in order to create a federated share." : "联合允许您与其他受信任的服务器连接以交换账号目录。例如,这将用于自动完成联合共享的外部账号。无需将服务器添加为受信任的服务器即可创建联合共享。", + "Each server must validate the other. This process may require a few cron cycles." : "每个服务器都必须验证其他服务器,此过程可能需要几个 cron 周期。", "+ Add trusted server" : "+ 添加受信任服务器", "Trusted server" : "受信任服务器", - "Add" : "添加", - "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." : "联合云(Federation)应用允许您连接其他受信任的服务器以交换用户目录。例如,这将用于自动完成外部用户的联合共享。无需将服务器添加为受信任服务器即可创建联合共享。" + "Add" : "添加" }, "nplurals=1; plural=0;"); diff --git a/apps/federation/l10n/zh_CN.json b/apps/federation/l10n/zh_CN.json index 2e18c52c87a..8c53944acbf 100644 --- a/apps/federation/l10n/zh_CN.json +++ b/apps/federation/l10n/zh_CN.json @@ -1,15 +1,19 @@ { "translations": { "Added to the list of trusted servers" : "添加到受信任服务器列表中", + "No server found with ID: %s" : "未找到此 ID 的服务器:%s", + "Could not remove server" : "无法移除服务器", "Server is already in the list of trusted servers." : "服务器已在受信任服务器列表中。", "No server to federate with found" : "没有找到联合云服务器", "Could not add server" : "无法添加服务器", "Trusted servers" : "受信任服务器", "Federation" : "联合云", + "Federation allows you to connect with other trusted servers to exchange the account directory." : "联合允许您与其他受信任的服务器连接以交换账号目录。", + "Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing." : "联合云允许您与其他受信任的服务器连接以交换帐户目录。例如,这将用于自动完成联合云共享的外部帐户。", + "External documentation for Federated Cloud Sharing" : "联合云共享的外部文档", + "Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing. It is not necessary to add a server as trusted server in order to create a federated share." : "联合允许您与其他受信任的服务器连接以交换账号目录。例如,这将用于自动完成联合共享的外部账号。无需将服务器添加为受信任的服务器即可创建联合共享。", + "Each server must validate the other. This process may require a few cron cycles." : "每个服务器都必须验证其他服务器,此过程可能需要几个 cron 周期。", "+ Add trusted server" : "+ 添加受信任服务器", "Trusted server" : "受信任服务器", - "Add" : "添加", - "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." : "联合云(Federation)应用允许您连接其他受信任的服务器以交换用户目录。例如,这将用于自动完成外部用户的联合共享。无需将服务器添加为受信任服务器即可创建联合共享。" + "Add" : "添加" },"pluralForm" :"nplurals=1; plural=0;" }
\ No newline at end of file diff --git a/apps/federation/l10n/zh_HK.js b/apps/federation/l10n/zh_HK.js index 80894ad4d40..573672c5211 100644 --- a/apps/federation/l10n/zh_HK.js +++ b/apps/federation/l10n/zh_HK.js @@ -2,6 +2,8 @@ OC.L10N.register( "federation", { "Added to the list of trusted servers" : "已加入信任伺服器清單", + "No server found with ID: %s" : "沒有找到此 ID 的伺服器:%s", + "Could not remove server" : "無法移除伺服器", "Server is already in the list of trusted servers." : "伺服器已經在信任清單內", "No server to federate with found" : "沒有找到可結盟的伺服器", "Could not add server" : "無法加入伺服器", @@ -9,12 +11,11 @@ OC.L10N.register( "Federation" : "聯盟", "Federation allows you to connect with other trusted servers to exchange the account directory." : "聯盟功能允許您與信任的伺服器連結,交換帳戶目錄。", "Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing." : "聯盟功能允許您與信任的伺服器連結,交換帳戶目錄。舉例來說,與其他雲端聯盟的帳戶分享檔案時,有了這一份列表,就可以在輸入框搜尋他們的帳戶名稱。", + "External documentation for Federated Cloud Sharing" : "聯邦雲共享(Federated Cloud Sharing)的外部說明書", "Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing. It is not necessary to add a server as trusted server in order to create a federated share." : "聯盟功能允許您與信任的伺服器連結,交換帳戶目錄。舉例來說,與其他雲端聯盟的用戶分享檔案時,有了這一份目錄,就可以在輸入框搜尋他們的帳戶名稱。不必將伺服器新增為受信任的伺服器就可以建立聯盟分享。", + "Each server must validate the other. This process may require a few cron cycles." : "每個伺服器必須彼此驗證。此過程可能需要幾個 cron 周期。", "+ Add trusted server" : "+ 加入信任的伺服器", "Trusted server" : "信任的伺服器", - "Add" : "新增", - "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" : "新增" }, "nplurals=1; plural=0;"); diff --git a/apps/federation/l10n/zh_HK.json b/apps/federation/l10n/zh_HK.json index 8b1ea7b7dee..42b53588880 100644 --- a/apps/federation/l10n/zh_HK.json +++ b/apps/federation/l10n/zh_HK.json @@ -1,5 +1,7 @@ { "translations": { "Added to the list of trusted servers" : "已加入信任伺服器清單", + "No server found with ID: %s" : "沒有找到此 ID 的伺服器:%s", + "Could not remove server" : "無法移除伺服器", "Server is already in the list of trusted servers." : "伺服器已經在信任清單內", "No server to federate with found" : "沒有找到可結盟的伺服器", "Could not add server" : "無法加入伺服器", @@ -7,12 +9,11 @@ "Federation" : "聯盟", "Federation allows you to connect with other trusted servers to exchange the account directory." : "聯盟功能允許您與信任的伺服器連結,交換帳戶目錄。", "Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing." : "聯盟功能允許您與信任的伺服器連結,交換帳戶目錄。舉例來說,與其他雲端聯盟的帳戶分享檔案時,有了這一份列表,就可以在輸入框搜尋他們的帳戶名稱。", + "External documentation for Federated Cloud Sharing" : "聯邦雲共享(Federated Cloud Sharing)的外部說明書", "Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing. It is not necessary to add a server as trusted server in order to create a federated share." : "聯盟功能允許您與信任的伺服器連結,交換帳戶目錄。舉例來說,與其他雲端聯盟的用戶分享檔案時,有了這一份目錄,就可以在輸入框搜尋他們的帳戶名稱。不必將伺服器新增為受信任的伺服器就可以建立聯盟分享。", + "Each server must validate the other. This process may require a few cron cycles." : "每個伺服器必須彼此驗證。此過程可能需要幾個 cron 周期。", "+ Add trusted server" : "+ 加入信任的伺服器", "Trusted server" : "信任的伺服器", - "Add" : "新增", - "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" : "新增" },"pluralForm" :"nplurals=1; plural=0;" }
\ No newline at end of file diff --git a/apps/federation/l10n/zh_TW.js b/apps/federation/l10n/zh_TW.js index 22fa4c51885..567713c353f 100644 --- a/apps/federation/l10n/zh_TW.js +++ b/apps/federation/l10n/zh_TW.js @@ -2,19 +2,20 @@ OC.L10N.register( "federation", { "Added to the list of trusted servers" : "已加入信任伺服器清單", - "Server is already in the list of trusted servers." : "伺服器已經在信任清單內", - "No server to federate with found" : "沒有找到可聯盟的伺服器", + "No server found with ID: %s" : "沒有找到此 ID 的伺服器:%s", + "Could not remove server" : "無法移除伺服器", + "Server is already in the list of trusted servers." : "伺服器已在信任清單內。", + "No server to federate with found" : "沒有找到可聯邦的伺服器", "Could not add server" : "無法新增伺服器", "Trusted servers" : "信任的伺服器", - "Federation" : "聯盟", + "Federation" : "聯邦", "Federation allows you to connect with other trusted servers to exchange the account directory." : "聯盟功能允許您與信任的伺服器連結,交換帳號列表。", "Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing." : "聯盟功能允許您與信任的伺服器連結,交換帳號列表。舉例來說,與其他雲端聯盟的使用者分享檔案時,有了這一份列表,就可以在輸入框搜尋他們的帳號名稱。", + "External documentation for Federated Cloud Sharing" : "聯邦雲端分享的外部文件", "Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing. It is not necessary to add a server as trusted server in order to create a federated share." : "聯盟功能允許您與信任的伺服器連結,交換使用者列表。舉例來說,與其他雲端聯盟的帳號分享檔案時,有了這一份列表,就可以在輸入框搜尋他們的帳號名稱。不必將伺服器新增為受信任的伺服器就可以建立聯盟分享。", + "Each server must validate the other. This process may require a few cron cycles." : "每個伺服器都必須驗證其他伺服器。這個過程可能需要幾個 cron 循環。", "+ Add trusted server" : "+ 新增信任的伺服器", "Trusted server" : "信任的伺服器", - "Add" : "新增", - "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" : "新增" }, "nplurals=1; plural=0;"); diff --git a/apps/federation/l10n/zh_TW.json b/apps/federation/l10n/zh_TW.json index 01622ebd9ba..e74ac19f36f 100644 --- a/apps/federation/l10n/zh_TW.json +++ b/apps/federation/l10n/zh_TW.json @@ -1,18 +1,19 @@ { "translations": { "Added to the list of trusted servers" : "已加入信任伺服器清單", - "Server is already in the list of trusted servers." : "伺服器已經在信任清單內", - "No server to federate with found" : "沒有找到可聯盟的伺服器", + "No server found with ID: %s" : "沒有找到此 ID 的伺服器:%s", + "Could not remove server" : "無法移除伺服器", + "Server is already in the list of trusted servers." : "伺服器已在信任清單內。", + "No server to federate with found" : "沒有找到可聯邦的伺服器", "Could not add server" : "無法新增伺服器", "Trusted servers" : "信任的伺服器", - "Federation" : "聯盟", + "Federation" : "聯邦", "Federation allows you to connect with other trusted servers to exchange the account directory." : "聯盟功能允許您與信任的伺服器連結,交換帳號列表。", "Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing." : "聯盟功能允許您與信任的伺服器連結,交換帳號列表。舉例來說,與其他雲端聯盟的使用者分享檔案時,有了這一份列表,就可以在輸入框搜尋他們的帳號名稱。", + "External documentation for Federated Cloud Sharing" : "聯邦雲端分享的外部文件", "Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing. It is not necessary to add a server as trusted server in order to create a federated share." : "聯盟功能允許您與信任的伺服器連結,交換使用者列表。舉例來說,與其他雲端聯盟的帳號分享檔案時,有了這一份列表,就可以在輸入框搜尋他們的帳號名稱。不必將伺服器新增為受信任的伺服器就可以建立聯盟分享。", + "Each server must validate the other. This process may require a few cron cycles." : "每個伺服器都必須驗證其他伺服器。這個過程可能需要幾個 cron 循環。", "+ Add trusted server" : "+ 新增信任的伺服器", "Trusted server" : "信任的伺服器", - "Add" : "新增", - "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" : "新增" },"pluralForm" :"nplurals=1; plural=0;" }
\ No newline at end of file diff --git a/apps/federation/lib/AppInfo/Application.php b/apps/federation/lib/AppInfo/Application.php index c7503921164..358e3f68d50 100644 --- a/apps/federation/lib/AppInfo/Application.php +++ b/apps/federation/lib/AppInfo/Application.php @@ -9,7 +9,6 @@ namespace OCA\Federation\AppInfo; use OCA\DAV\Events\SabrePluginAuthInitEvent; use OCA\Federation\Listener\SabrePluginAuthInitListener; -use OCA\Federation\Middleware\AddServerMiddleware; use OCP\AppFramework\App; use OCP\AppFramework\Bootstrap\IBootContext; use OCP\AppFramework\Bootstrap\IBootstrap; @@ -25,8 +24,6 @@ class Application extends App implements IBootstrap { } public function register(IRegistrationContext $context): void { - $context->registerMiddleware(AddServerMiddleware::class); - $context->registerEventListener(SabrePluginAuthInitEvent::class, SabrePluginAuthInitListener::class); } diff --git a/apps/federation/lib/BackgroundJob/GetSharedSecret.php b/apps/federation/lib/BackgroundJob/GetSharedSecret.php index f07e0d8c2a7..dc57db9fd62 100644 --- a/apps/federation/lib/BackgroundJob/GetSharedSecret.php +++ b/apps/federation/lib/BackgroundJob/GetSharedSecret.php @@ -17,6 +17,7 @@ use OCP\BackgroundJob\Job; use OCP\Http\Client\IClient; use OCP\Http\Client\IClientService; use OCP\Http\Client\IResponse; +use OCP\IConfig; use OCP\IURLGenerator; use OCP\OCS\IDiscoveryService; use Psr\Log\LoggerInterface; @@ -30,11 +31,6 @@ use Psr\Log\LoggerInterface; */ class GetSharedSecret extends Job { private IClient $httpClient; - private IJobList $jobList; - private IURLGenerator $urlGenerator; - private TrustedServers $trustedServers; - private IDiscoveryService $ocsDiscoveryService; - private LoggerInterface $logger; protected bool $retainJob = false; private string $defaultEndPoint = '/ocs/v2.php/apps/federation/api/v1/shared-secret'; /** 30 day = 2592000sec */ @@ -42,20 +38,16 @@ class GetSharedSecret extends Job { public function __construct( IClientService $httpClientService, - IURLGenerator $urlGenerator, - IJobList $jobList, - TrustedServers $trustedServers, - LoggerInterface $logger, - IDiscoveryService $ocsDiscoveryService, - ITimeFactory $timeFactory + private IURLGenerator $urlGenerator, + private IJobList $jobList, + private TrustedServers $trustedServers, + private LoggerInterface $logger, + private IDiscoveryService $ocsDiscoveryService, + ITimeFactory $timeFactory, + private IConfig $config, ) { parent::__construct($timeFactory); - $this->logger = $logger; $this->httpClient = $httpClientService->newClient(); - $this->jobList = $jobList; - $this->urlGenerator = $urlGenerator; - $this->ocsDiscoveryService = $ocsDiscoveryService; - $this->trustedServers = $trustedServers; } /** @@ -90,6 +82,7 @@ class GetSharedSecret extends Job { // kill job after 30 days of trying $deadline = $currentTime - $this->maxLifespan; if ($created < $deadline) { + $this->logger->warning("The job to get the shared secret job is too old and gets stopped now without retention. Setting server status of '{$target}' to failure."); $this->retainJob = false; $this->trustedServers->setServerStatus($target, TrustedServers::STATUS_FAILURE); return; @@ -106,14 +99,14 @@ class GetSharedSecret extends Job { $result = $this->httpClient->get( $url, [ - 'query' => - [ - 'url' => $source, - 'token' => $token, - 'format' => 'json', - ], + 'query' => [ + 'url' => $source, + 'token' => $token, + 'format' => 'json', + ], 'timeout' => 3, 'connect_timeout' => 3, + 'verify' => !$this->config->getSystemValue('sharing.federation.allowSelfSignedCertificates', false), ] ); @@ -121,9 +114,9 @@ class GetSharedSecret extends Job { } catch (ClientException $e) { $status = $e->getCode(); if ($status === Http::STATUS_FORBIDDEN) { - $this->logger->info($target . ' refused to exchange a shared secret with you.', ['app' => 'federation']); + $this->logger->info($target . ' refused to exchange a shared secret with you.'); } else { - $this->logger->info($target . ' responded with a ' . $status . ' containing: ' . $e->getMessage(), ['app' => 'federation']); + $this->logger->info($target . ' responded with a ' . $status . ' containing: ' . $e->getMessage()); } } catch (RequestException $e) { $status = -1; // There is no status code if we could not connect @@ -155,8 +148,7 @@ class GetSharedSecret extends Job { ); } else { $this->logger->error( - 'remote server "' . $target . '"" does not return a valid shared secret. Received data: ' . $body, - ['app' => 'federation'] + 'remote server "' . $target . '"" does not return a valid shared secret. Received data: ' . $body ); $this->trustedServers->setServerStatus($target, TrustedServers::STATUS_FAILURE); } diff --git a/apps/federation/lib/BackgroundJob/RequestSharedSecret.php b/apps/federation/lib/BackgroundJob/RequestSharedSecret.php index 07243f5c94d..4d57d1f6aef 100644 --- a/apps/federation/lib/BackgroundJob/RequestSharedSecret.php +++ b/apps/federation/lib/BackgroundJob/RequestSharedSecret.php @@ -18,6 +18,7 @@ use OCP\BackgroundJob\IJobList; use OCP\BackgroundJob\Job; use OCP\Http\Client\IClient; use OCP\Http\Client\IClientService; +use OCP\IConfig; use OCP\IURLGenerator; use OCP\OCS\IDiscoveryService; use Psr\Log\LoggerInterface; @@ -47,6 +48,7 @@ class RequestSharedSecret extends Job { private IDiscoveryService $ocsDiscoveryService, private LoggerInterface $logger, ITimeFactory $timeFactory, + private IConfig $config, ) { parent::__construct($timeFactory); $this->httpClient = $httpClientService->newClient(); @@ -93,6 +95,7 @@ class RequestSharedSecret extends Job { // kill job after 30 days of trying $deadline = $currentTime - $this->maxLifespan; if ($created < $deadline) { + $this->logger->warning("The job to request the shared secret job is too old and gets stopped now without retention. Setting server status of '{$target}' to failure."); $this->retainJob = false; $this->trustedServers->setServerStatus($target, TrustedServers::STATUS_FAILURE); return; @@ -115,6 +118,7 @@ class RequestSharedSecret extends Job { ], 'timeout' => 3, 'connect_timeout' => 3, + 'verify' => !$this->config->getSystemValue('sharing.federation.allowSelfSignedCertificates', false), ] ); @@ -122,16 +126,16 @@ class RequestSharedSecret extends Job { } catch (ClientException $e) { $status = $e->getCode(); if ($status === Http::STATUS_FORBIDDEN) { - $this->logger->info($target . ' refused to ask for a shared secret.', ['app' => 'federation']); + $this->logger->info($target . ' refused to ask for a shared secret.'); } else { - $this->logger->info($target . ' responded with a ' . $status . ' containing: ' . $e->getMessage(), ['app' => 'federation']); + $this->logger->info($target . ' responded with a ' . $status . ' containing: ' . $e->getMessage()); } } catch (RequestException $e) { $status = -1; // There is no status code if we could not connect - $this->logger->info('Could not connect to ' . $target, ['app' => 'federation']); + $this->logger->info('Could not connect to ' . $target); } catch (\Throwable $e) { $status = Http::STATUS_INTERNAL_SERVER_ERROR; - $this->logger->error($e->getMessage(), ['app' => 'federation', 'exception' => $e]); + $this->logger->error($e->getMessage(), ['exception' => $e]); } // if we received a unexpected response we try again later diff --git a/apps/federation/lib/Command/SyncFederationAddressBooks.php b/apps/federation/lib/Command/SyncFederationAddressBooks.php index 38b4a538336..36cb99473f7 100644 --- a/apps/federation/lib/Command/SyncFederationAddressBooks.php +++ b/apps/federation/lib/Command/SyncFederationAddressBooks.php @@ -14,12 +14,10 @@ use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Output\OutputInterface; class SyncFederationAddressBooks extends Command { - private SyncService $syncService; - - public function __construct(SyncService $syncService) { + public function __construct( + private SyncService $syncService, + ) { parent::__construct(); - - $this->syncService = $syncService; } protected function configure() { @@ -31,7 +29,7 @@ class SyncFederationAddressBooks extends Command { protected function execute(InputInterface $input, OutputInterface $output): int { $progress = new ProgressBar($output); $progress->start(); - $this->syncService->syncThemAll(function ($url, $ex) use ($progress, $output) { + $this->syncService->syncThemAll(function ($url, $ex) use ($progress, $output): void { if ($ex instanceof \Exception) { $output->writeln("Error while syncing $url : " . $ex->getMessage()); } else { diff --git a/apps/federation/lib/Controller/OCSAuthAPIController.php b/apps/federation/lib/Controller/OCSAuthAPIController.php index b4849b274b8..16b401be251 100644 --- a/apps/federation/lib/Controller/OCSAuthAPIController.php +++ b/apps/federation/lib/Controller/OCSAuthAPIController.php @@ -10,7 +10,10 @@ namespace OCA\Federation\Controller; use OCA\Federation\DbHandler; use OCA\Federation\TrustedServers; use OCP\AppFramework\Http; +use OCP\AppFramework\Http\Attribute\BruteForceProtection; +use OCP\AppFramework\Http\Attribute\NoCSRFRequired; use OCP\AppFramework\Http\Attribute\OpenAPI; +use OCP\AppFramework\Http\Attribute\PublicPage; use OCP\AppFramework\Http\DataResponse; use OCP\AppFramework\OCS\OCSForbiddenException; use OCP\AppFramework\OCSController; @@ -30,50 +33,33 @@ use Psr\Log\LoggerInterface; */ #[OpenAPI(scope: OpenAPI::SCOPE_FEDERATION)] class OCSAuthAPIController extends OCSController { - private ISecureRandom $secureRandom; - private IJobList $jobList; - private TrustedServers $trustedServers; - private DbHandler $dbHandler; - private LoggerInterface $logger; - private ITimeFactory $timeFactory; - private IThrottler $throttler; - public function __construct( string $appName, IRequest $request, - ISecureRandom $secureRandom, - IJobList $jobList, - TrustedServers $trustedServers, - DbHandler $dbHandler, - LoggerInterface $logger, - ITimeFactory $timeFactory, - IThrottler $throttler + private ISecureRandom $secureRandom, + private IJobList $jobList, + private TrustedServers $trustedServers, + private DbHandler $dbHandler, + private LoggerInterface $logger, + private ITimeFactory $timeFactory, + private IThrottler $throttler, ) { parent::__construct($appName, $request); - - $this->secureRandom = $secureRandom; - $this->jobList = $jobList; - $this->trustedServers = $trustedServers; - $this->dbHandler = $dbHandler; - $this->logger = $logger; - $this->timeFactory = $timeFactory; - $this->throttler = $throttler; } /** * Request received to ask remote server for a shared secret, for legacy end-points * - * @NoCSRFRequired - * @PublicPage - * @BruteForceProtection(action=federationSharedSecret) - * * @param string $url URL of the server * @param string $token Token of the server - * @return DataResponse<Http::STATUS_OK, array<empty>, array{}> + * @return DataResponse<Http::STATUS_OK, list<empty>, array{}> * @throws OCSForbiddenException Requesting shared secret is not allowed * * 200: Shared secret requested successfully */ + #[NoCSRFRequired] + #[PublicPage] + #[BruteForceProtection(action: 'federationSharedSecret')] public function requestSharedSecretLegacy(string $url, string $token): DataResponse { return $this->requestSharedSecret($url, $token); } @@ -82,10 +68,6 @@ class OCSAuthAPIController extends OCSController { /** * Create shared secret and return it, for legacy end-points * - * @NoCSRFRequired - * @PublicPage - * @BruteForceProtection(action=federationSharedSecret) - * * @param string $url URL of the server * @param string $token Token of the server * @return DataResponse<Http::STATUS_OK, array{sharedSecret: string}, array{}> @@ -93,6 +75,9 @@ class OCSAuthAPIController extends OCSController { * * 200: Shared secret returned */ + #[NoCSRFRequired] + #[PublicPage] + #[BruteForceProtection(action: 'federationSharedSecret')] public function getSharedSecretLegacy(string $url, string $token): DataResponse { return $this->getSharedSecret($url, $token); } @@ -100,21 +85,20 @@ class OCSAuthAPIController extends OCSController { /** * Request received to ask remote server for a shared secret * - * @NoCSRFRequired - * @PublicPage - * @BruteForceProtection(action=federationSharedSecret) - * * @param string $url URL of the server * @param string $token Token of the server - * @return DataResponse<Http::STATUS_OK, array<empty>, array{}> + * @return DataResponse<Http::STATUS_OK, list<empty>, array{}> * @throws OCSForbiddenException Requesting shared secret is not allowed * * 200: Shared secret requested successfully */ + #[NoCSRFRequired] + #[PublicPage] + #[BruteForceProtection(action: 'federationSharedSecret')] public function requestSharedSecret(string $url, string $token): DataResponse { if ($this->trustedServers->isTrustedServer($url) === false) { $this->throttler->registerAttempt('federationSharedSecret', $this->request->getRemoteAddress()); - $this->logger->error('remote server not trusted (' . $url . ') while requesting shared secret', ['app' => 'federation']); + $this->logger->error('remote server not trusted (' . $url . ') while requesting shared secret'); throw new OCSForbiddenException(); } @@ -123,8 +107,7 @@ class OCSAuthAPIController extends OCSController { $localToken = $this->dbHandler->getToken($url); if (strcmp($localToken, $token) > 0) { $this->logger->info( - 'remote server (' . $url . ') presented lower token. We will initiate the exchange of the shared secret.', - ['app' => 'federation'] + 'remote server (' . $url . ') presented lower token. We will initiate the exchange of the shared secret.' ); throw new OCSForbiddenException(); } @@ -144,10 +127,6 @@ class OCSAuthAPIController extends OCSController { /** * Create shared secret and return it * - * @NoCSRFRequired - * @PublicPage - * @BruteForceProtection(action=federationSharedSecret) - * * @param string $url URL of the server * @param string $token Token of the server * @return DataResponse<Http::STATUS_OK, array{sharedSecret: string}, array{}> @@ -155,10 +134,13 @@ class OCSAuthAPIController extends OCSController { * * 200: Shared secret returned */ + #[NoCSRFRequired] + #[PublicPage] + #[BruteForceProtection(action: 'federationSharedSecret')] public function getSharedSecret(string $url, string $token): DataResponse { if ($this->trustedServers->isTrustedServer($url) === false) { $this->throttler->registerAttempt('federationSharedSecret', $this->request->getRemoteAddress()); - $this->logger->error('remote server not trusted (' . $url . ') while getting shared secret', ['app' => 'federation']); + $this->logger->error('remote server not trusted (' . $url . ') while getting shared secret'); throw new OCSForbiddenException(); } @@ -166,8 +148,7 @@ class OCSAuthAPIController extends OCSController { $this->throttler->registerAttempt('federationSharedSecret', $this->request->getRemoteAddress()); $expectedToken = $this->dbHandler->getToken($url); $this->logger->error( - 'remote server (' . $url . ') didn\'t send a valid token (got "' . $token . '" but expected "'. $expectedToken . '") while getting shared secret', - ['app' => 'federation'] + 'remote server (' . $url . ') didn\'t send a valid token (got "' . $token . '" but expected "' . $expectedToken . '") while getting shared secret' ); throw new OCSForbiddenException(); } diff --git a/apps/federation/lib/Controller/SettingsController.php b/apps/federation/lib/Controller/SettingsController.php index f5cc7eae8ba..27341eba815 100644 --- a/apps/federation/lib/Controller/SettingsController.php +++ b/apps/federation/lib/Controller/SettingsController.php @@ -7,38 +7,48 @@ */ namespace OCA\Federation\Controller; +use OCA\Federation\Settings\Admin; use OCA\Federation\TrustedServers; -use OCP\AppFramework\Controller; +use OCP\AppFramework\Http; +use OCP\AppFramework\Http\Attribute\ApiRoute; +use OCP\AppFramework\Http\Attribute\AuthorizedAdminSetting; use OCP\AppFramework\Http\DataResponse; -use OCP\HintException; +use OCP\AppFramework\OCS\OCSException; +use OCP\AppFramework\OCS\OCSNotFoundException; +use OCP\AppFramework\OCSController; use OCP\IL10N; use OCP\IRequest; +use Psr\Log\LoggerInterface; -class SettingsController extends Controller { - private IL10N $l; - private TrustedServers $trustedServers; - - public function __construct(string $AppName, +class SettingsController extends OCSController { + public function __construct( + string $AppName, IRequest $request, - IL10N $l10n, - TrustedServers $trustedServers + private IL10N $l, + private TrustedServers $trustedServers, + private LoggerInterface $logger, ) { parent::__construct($AppName, $request); - $this->l = $l10n; - $this->trustedServers = $trustedServers; } /** - * Add server to the list of trusted Nextclouds. + * Add server to the list of trusted Nextcloud servers + * + * @param string $url The URL of the server to add + * @return DataResponse<Http::STATUS_OK, array{id: int, message: string, url: string}, array{}>|DataResponse<Http::STATUS_NOT_FOUND|Http::STATUS_CONFLICT, array{message: string}, array{}> * - * @AuthorizedAdminSetting(settings=OCA\Federation\Settings\Admin) - * @throws HintException + * 200: Server added successfully + * 404: Server not found at the given URL + * 409: Server is already in the list of trusted servers */ + #[AuthorizedAdminSetting(settings: Admin::class)] + #[ApiRoute(verb: 'POST', url: '/trusted-servers')] public function addServer(string $url): DataResponse { - $this->checkServer($url); - $id = $this->trustedServers->addServer($url); + $this->checkServer(trim($url)); + // Add the server to the list of trusted servers, all is well + $id = $this->trustedServers->addServer(trim($url)); return new DataResponse([ 'url' => $url, 'id' => $id, @@ -47,34 +57,69 @@ class SettingsController extends Controller { } /** - * Add server to the list of trusted Nextclouds. + * Add server to the list of trusted Nextcloud servers + * + * @param int $id The ID of the trusted server to remove + * @return DataResponse<Http::STATUS_OK, array{id: int}, array{}>|DataResponse<Http::STATUS_NOT_FOUND, array{message: string}, array{}> * - * @AuthorizedAdminSetting(settings=OCA\Federation\Settings\Admin) + * 200: Server removed successfully + * 404: Server not found at the given ID */ + #[AuthorizedAdminSetting(settings: Admin::class)] + #[ApiRoute(verb: 'DELETE', url: '/trusted-servers/{id}', requirements: ['id' => '\d+'])] public function removeServer(int $id): DataResponse { - $this->trustedServers->removeServer($id); - return new DataResponse(); + try { + $this->trustedServers->getServer($id); + } catch (\Exception $e) { + throw new OCSNotFoundException($this->l->t('No server found with ID: %s', [$id])); + } + + try { + $this->trustedServers->removeServer($id); + return new DataResponse(['id' => $id]); + } catch (\Exception $e) { + $this->logger->error($e->getMessage(), ['e' => $e]); + throw new OCSException($this->l->t('Could not remove server'), Http::STATUS_INTERNAL_SERVER_ERROR); + } } /** - * Check if the server should be added to the list of trusted servers or not. + * List all trusted servers * - * @AuthorizedAdminSetting(settings=OCA\Federation\Settings\Admin) - * @throws HintException + * @return DataResponse<Http::STATUS_OK, list<array{id: int, status: int, url: string}>, array{}> + * + * 200: List of trusted servers */ - protected function checkServer(string $url): bool { + #[AuthorizedAdminSetting(settings: Admin::class)] + #[ApiRoute(verb: 'GET', url: '/trusted-servers')] + public function getServers(): DataResponse { + $servers = $this->trustedServers->getServers(); + + // obfuscate the shared secret + $servers = array_map(function ($server) { + return [ + 'url' => $server['url'], + 'id' => $server['id'], + 'status' => $server['status'], + ]; + }, $servers); + + // return the list of trusted servers + return new DataResponse($servers); + } + + + /** + * Check if the server should be added to the list of trusted servers or not. + */ + #[AuthorizedAdminSetting(settings: Admin::class)] + protected function checkServer(string $url): void { if ($this->trustedServers->isTrustedServer($url) === true) { - $message = 'Server is already in the list of trusted servers.'; - $hint = $this->l->t('Server is already in the list of trusted servers.'); - throw new HintException($message, $hint); + throw new OCSException($this->l->t('Server is already in the list of trusted servers.'), Http::STATUS_CONFLICT); } if ($this->trustedServers->isNextcloudServer($url) === false) { - $message = 'No server to federate with found'; - $hint = $this->l->t('No server to federate with found'); - throw new HintException($message, $hint); + throw new OCSNotFoundException($this->l->t('No server to federate with found')); } - - return true; } } diff --git a/apps/federation/lib/DAV/FedAuth.php b/apps/federation/lib/DAV/FedAuth.php index 7dc63dca2af..45bf422c104 100644 --- a/apps/federation/lib/DAV/FedAuth.php +++ b/apps/federation/lib/DAV/FedAuth.php @@ -8,26 +8,25 @@ namespace OCA\Federation\DAV; use OCA\Federation\DbHandler; +use OCP\Defaults; use Sabre\DAV\Auth\Backend\AbstractBasic; use Sabre\HTTP\RequestInterface; use Sabre\HTTP\ResponseInterface; class FedAuth extends AbstractBasic { - /** @var DbHandler */ - private $db; - /** * FedAuth constructor. * * @param DbHandler $db */ - public function __construct(DbHandler $db) { - $this->db = $db; + public function __construct( + private DbHandler $db, + ) { $this->principalPrefix = 'principals/system/'; // setup realm - $defaults = new \OCP\Defaults(); + $defaults = new Defaults(); $this->realm = $defaults->getName(); } diff --git a/apps/federation/lib/DbHandler.php b/apps/federation/lib/DbHandler.php index ca05417d768..877663b058a 100644 --- a/apps/federation/lib/DbHandler.php +++ b/apps/federation/lib/DbHandler.php @@ -25,16 +25,12 @@ use OCP\IL10N; * @package OCA\Federation */ class DbHandler { - private IDBConnection $connection; - private IL10N $IL10N; private string $dbTable = 'trusted_servers'; public function __construct( - IDBConnection $connection, - IL10N $il10n + private IDBConnection $connection, + private IL10N $IL10N, ) { - $this->connection = $connection; - $this->IL10N = $il10n; } /** @@ -206,8 +202,8 @@ class DbHandler { $hash = $this->hash($url); $query = $this->connection->getQueryBuilder(); $query->update($this->dbTable) - ->set('status', $query->createNamedParameter($status)) - ->where($query->expr()->eq('url_hash', $query->createNamedParameter($hash))); + ->set('status', $query->createNamedParameter($status)) + ->where($query->expr()->eq('url_hash', $query->createNamedParameter($hash))); if (!is_null($token)) { $query->set('sync_token', $query->createNamedParameter($token)); } @@ -221,8 +217,8 @@ class DbHandler { $hash = $this->hash($url); $query = $this->connection->getQueryBuilder(); $query->select('status')->from($this->dbTable) - ->where($query->expr()->eq('url_hash', $query->createParameter('url_hash'))) - ->setParameter('url_hash', $hash); + ->where($query->expr()->eq('url_hash', $query->createParameter('url_hash'))) + ->setParameter('url_hash', $hash); $statement = $query->executeQuery(); $result = $statement->fetch(); @@ -262,7 +258,7 @@ class DbHandler { } $query = $this->connection->getQueryBuilder(); $query->select('url')->from($this->dbTable) - ->where($query->expr()->eq('shared_secret', $query->createNamedParameter($password))); + ->where($query->expr()->eq('shared_secret', $query->createNamedParameter($password))); $statement = $query->executeQuery(); $result = $statement->fetch(); diff --git a/apps/federation/lib/Listener/SabrePluginAuthInitListener.php b/apps/federation/lib/Listener/SabrePluginAuthInitListener.php index a7f82c349f3..514a893fb39 100644 --- a/apps/federation/lib/Listener/SabrePluginAuthInitListener.php +++ b/apps/federation/lib/Listener/SabrePluginAuthInitListener.php @@ -19,10 +19,9 @@ use Sabre\DAV\Auth\Plugin; * @template-implements IEventListener<SabrePluginAuthInitEvent> */ class SabrePluginAuthInitListener implements IEventListener { - private FedAuth $fedAuth; - - public function __construct(FedAuth $fedAuth) { - $this->fedAuth = $fedAuth; + public function __construct( + private FedAuth $fedAuth, + ) { } public function handle(Event $event): void { diff --git a/apps/federation/lib/Middleware/AddServerMiddleware.php b/apps/federation/lib/Middleware/AddServerMiddleware.php deleted file mode 100644 index 8868e5c9207..00000000000 --- a/apps/federation/lib/Middleware/AddServerMiddleware.php +++ /dev/null @@ -1,58 +0,0 @@ -<?php - -/** - * SPDX-FileCopyrightText: 2017-2024 Nextcloud GmbH and Nextcloud contributors - * SPDX-FileCopyrightText: 2016 ownCloud, Inc. - * SPDX-License-Identifier: AGPL-3.0-only - */ -namespace OCA\Federation\Middleware; - -use OCA\Federation\Controller\SettingsController; -use OCP\AppFramework\Controller; -use OCP\AppFramework\Http; -use OCP\AppFramework\Http\JSONResponse; -use OCP\AppFramework\Middleware; -use OCP\HintException; -use OCP\IL10N; -use Psr\Log\LoggerInterface; - -class AddServerMiddleware extends Middleware { - protected string $appName; - protected IL10N $l; - protected LoggerInterface $logger; - - public function __construct(string $appName, IL10N $l, LoggerInterface $logger) { - $this->appName = $appName; - $this->l = $l; - $this->logger = $logger; - } - - /** - * Log error message and return a response which can be displayed to the user - * - * @param Controller $controller - * @param string $methodName - * @param \Exception $exception - * @return JSONResponse - * @throws \Exception - */ - public function afterException($controller, $methodName, \Exception $exception) { - if (($controller instanceof SettingsController) === false) { - throw $exception; - } - $this->logger->error($exception->getMessage(), [ - 'app' => $this->appName, - 'exception' => $exception, - ]); - if ($exception instanceof HintException) { - $message = $exception->getHint(); - } else { - $message = $exception->getMessage(); - } - - return new JSONResponse( - ['message' => $message], - Http::STATUS_BAD_REQUEST - ); - } -} diff --git a/apps/federation/lib/Settings/Admin.php b/apps/federation/lib/Settings/Admin.php index 56e27eda2b9..5cf5346bb85 100644 --- a/apps/federation/lib/Settings/Admin.php +++ b/apps/federation/lib/Settings/Admin.php @@ -1,4 +1,5 @@ <?php + /** * SPDX-FileCopyrightText: 2016 Nextcloud GmbH and Nextcloud contributors * SPDX-License-Identifier: AGPL-3.0-or-later @@ -11,12 +12,10 @@ use OCP\IL10N; use OCP\Settings\IDelegatedSettings; class Admin implements IDelegatedSettings { - private TrustedServers $trustedServers; - private IL10N $l; - - public function __construct(TrustedServers $trustedServers, IL10N $l) { - $this->trustedServers = $trustedServers; - $this->l = $l; + public function __construct( + private TrustedServers $trustedServers, + private IL10N $l, + ) { } /** @@ -39,8 +38,8 @@ class Admin implements IDelegatedSettings { /** * @return int whether the form should be rather on the top or bottom of - * the admin section. The forms are arranged in ascending order of the - * priority values. It is required to return a value between 0 and 100. + * the admin section. The forms are arranged in ascending order of the + * priority values. It is required to return a value between 0 and 100. * * E.g.: 70 */ @@ -49,7 +48,7 @@ class Admin implements IDelegatedSettings { } public function getName(): ?string { - return $this->l->t("Trusted servers"); + return $this->l->t('Trusted servers'); } public function getAuthorizedAppConfig(): array { diff --git a/apps/federation/lib/SyncFederationAddressBooks.php b/apps/federation/lib/SyncFederationAddressBooks.php index 46a6a8c40a5..d11f92b76ef 100644 --- a/apps/federation/lib/SyncFederationAddressBooks.php +++ b/apps/federation/lib/SyncFederationAddressBooks.php @@ -14,20 +14,15 @@ use OCP\OCS\IDiscoveryService; use Psr\Log\LoggerInterface; class SyncFederationAddressBooks { - protected DbHandler $dbHandler; - private SyncService $syncService; private DiscoveryService $ocsDiscoveryService; - private LoggerInterface $logger; - public function __construct(DbHandler $dbHandler, - SyncService $syncService, + public function __construct( + protected DbHandler $dbHandler, + private SyncService $syncService, IDiscoveryService $ocsDiscoveryService, - LoggerInterface $logger + private LoggerInterface $logger, ) { - $this->syncService = $syncService; - $this->dbHandler = $dbHandler; $this->ocsDiscoveryService = $ocsDiscoveryService; - $this->logger = $logger; } /** @@ -39,7 +34,7 @@ class SyncFederationAddressBooks { $url = $trustedServer['url']; $callback($url, null); $sharedSecret = $trustedServer['shared_secret']; - $syncToken = $trustedServer['sync_token']; + $oldSyncToken = $trustedServer['sync_token']; $endPoints = $this->ocsDiscoveryService->discover($url, 'FEDERATED_SHARING'); $cardDavUser = $endPoints['carddav-user'] ?? 'system'; @@ -50,16 +45,35 @@ class SyncFederationAddressBooks { continue; } $targetBookId = $trustedServer['url_hash']; - $targetPrincipal = "principals/system/system"; + $targetPrincipal = 'principals/system/system'; $targetBookProperties = [ '{DAV:}displayname' => $url ]; + try { - $newToken = $this->syncService->syncRemoteAddressBook($url, $cardDavUser, $addressBookUrl, $sharedSecret, $syncToken, $targetBookId, $targetPrincipal, $targetBookProperties); - if ($newToken !== $syncToken) { - $this->dbHandler->setServerStatus($url, TrustedServers::STATUS_OK, $newToken); + $syncToken = $oldSyncToken; + + do { + [$syncToken, $truncated] = $this->syncService->syncRemoteAddressBook( + $url, + $cardDavUser, + $addressBookUrl, + $sharedSecret, + $syncToken, + $targetBookId, + $targetPrincipal, + $targetBookProperties + ); + } while ($truncated); + + if ($syncToken !== $oldSyncToken) { + $this->dbHandler->setServerStatus($url, TrustedServers::STATUS_OK, $syncToken); } else { $this->logger->debug("Sync Token for $url unchanged from previous sync"); + // The server status might have been changed to a failure status in previous runs. + if ($this->dbHandler->getServerStatus($url) !== TrustedServers::STATUS_OK) { + $this->dbHandler->setServerStatus($url, TrustedServers::STATUS_OK); + } } } catch (\Exception $ex) { if ($ex->getCode() === Http::STATUS_UNAUTHORIZED) { diff --git a/apps/federation/lib/SyncJob.php b/apps/federation/lib/SyncJob.php index fe6454cd5b1..b802dfa9308 100644 --- a/apps/federation/lib/SyncJob.php +++ b/apps/federation/lib/SyncJob.php @@ -12,22 +12,21 @@ use OCP\BackgroundJob\TimedJob; use Psr\Log\LoggerInterface; class SyncJob extends TimedJob { - protected SyncFederationAddressBooks $syncService; - protected LoggerInterface $logger; - - public function __construct(SyncFederationAddressBooks $syncService, LoggerInterface $logger, ITimeFactory $timeFactory) { + public function __construct( + protected SyncFederationAddressBooks $syncService, + protected LoggerInterface $logger, + ITimeFactory $timeFactory, + ) { parent::__construct($timeFactory); // Run once a day $this->setInterval(24 * 60 * 60); - $this->syncService = $syncService; - $this->logger = $logger; + $this->setTimeSensitivity(self::TIME_INSENSITIVE); } protected function run($argument) { - $this->syncService->syncThemAll(function ($url, $ex) { + $this->syncService->syncThemAll(function ($url, $ex): void { if ($ex instanceof \Exception) { $this->logger->error("Error while syncing $url.", [ - 'app' => 'fed-sync', 'exception' => $ex, ]); } diff --git a/apps/federation/lib/TrustedServers.php b/apps/federation/lib/TrustedServers.php index 48cffd2d274..3d15cfac448 100644 --- a/apps/federation/lib/TrustedServers.php +++ b/apps/federation/lib/TrustedServers.php @@ -31,36 +31,19 @@ class TrustedServers { /** remote server revoked access */ public const STATUS_ACCESS_REVOKED = 4; - private DbHandler $dbHandler; - private IClientService $httpClientService; - private LoggerInterface $logger; - private IJobList $jobList; - private ISecureRandom $secureRandom; - private IConfig $config; - private IEventDispatcher $dispatcher; - private ITimeFactory $timeFactory; - /** @var list<array{id: int, url: string, url_hash: string, shared_secret: ?string, status: int, sync_token: ?string}>|null */ private ?array $trustedServersCache = null; public function __construct( - DbHandler $dbHandler, - IClientService $httpClientService, - LoggerInterface $logger, - IJobList $jobList, - ISecureRandom $secureRandom, - IConfig $config, - IEventDispatcher $dispatcher, - ITimeFactory $timeFactory + private DbHandler $dbHandler, + private IClientService $httpClientService, + private LoggerInterface $logger, + private IJobList $jobList, + private ISecureRandom $secureRandom, + private IConfig $config, + private IEventDispatcher $dispatcher, + private ITimeFactory $timeFactory, ) { - $this->dbHandler = $dbHandler; - $this->httpClientService = $httpClientService; - $this->logger = $logger; - $this->jobList = $jobList; - $this->secureRandom = $secureRandom; - $this->config = $config; - $this->dispatcher = $dispatcher; - $this->timeFactory = $timeFactory; } /** @@ -113,9 +96,9 @@ class TrustedServers { * Get all trusted servers * * @return list<array{id: int, url: string, url_hash: string, shared_secret: ?string, status: int, sync_token: ?string}> - * @throws Exception + * @throws \Exception */ - public function getServers() { + public function getServers(): ?array { if ($this->trustedServersCache === null) { $this->trustedServersCache = $this->dbHandler->getAllServer(); } @@ -123,6 +106,26 @@ class TrustedServers { } /** + * Get a trusted server + * + * @return array{id: int, url: string, url_hash: string, shared_secret: ?string, status: int, sync_token: ?string} + * @throws Exception + */ + public function getServer(int $id): ?array { + if ($this->trustedServersCache === null) { + $this->trustedServersCache = $this->dbHandler->getAllServer(); + } + + foreach ($this->trustedServersCache as $server) { + if ($server['id'] === $id) { + return $server; + } + } + + throw new \Exception('No server found with ID: ' . $id); + } + + /** * Check if given server is a trusted Nextcloud server */ public function isTrustedServer(string $url): bool { @@ -155,6 +158,7 @@ class TrustedServers { [ 'timeout' => 3, 'connect_timeout' => 3, + 'verify' => !$this->config->getSystemValue('sharing.federation.allowSelfSignedCertificates', false), ] ); if ($result->getStatusCode() === Http::STATUS_OK) { @@ -166,7 +170,6 @@ class TrustedServers { } } catch (\Exception $e) { $this->logger->error('No Nextcloud server.', [ - 'app' => 'federation', 'exception' => $e, ]); return false; diff --git a/apps/federation/openapi-administration.json b/apps/federation/openapi-administration.json new file mode 100644 index 00000000000..060e0826593 --- /dev/null +++ b/apps/federation/openapi-administration.json @@ -0,0 +1,431 @@ +{ + "openapi": "3.0.3", + "info": { + "title": "federation-administration", + "version": "0.0.1", + "description": "Federation allows you to connect with other trusted servers to exchange the account directory.", + "license": { + "name": "agpl" + } + }, + "components": { + "securitySchemes": { + "basic_auth": { + "type": "http", + "scheme": "basic" + }, + "bearer_auth": { + "type": "http", + "scheme": "bearer" + } + }, + "schemas": { + "OCSMeta": { + "type": "object", + "required": [ + "status", + "statuscode" + ], + "properties": { + "status": { + "type": "string" + }, + "statuscode": { + "type": "integer" + }, + "message": { + "type": "string" + }, + "totalitems": { + "type": "string" + }, + "itemsperpage": { + "type": "string" + } + } + } + } + }, + "paths": { + "/ocs/v2.php/apps/federation/trusted-servers": { + "post": { + "operationId": "settings-add-server", + "summary": "Add server to the list of trusted Nextcloud servers", + "description": "This endpoint requires admin access", + "tags": [ + "settings" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "url" + ], + "properties": { + "url": { + "type": "string", + "description": "The URL of the server to add" + } + } + } + } + } + }, + "parameters": [ + { + "name": "OCS-APIRequest", + "in": "header", + "description": "Required to be true for the API request to pass", + "required": true, + "schema": { + "type": "boolean", + "default": true + } + } + ], + "responses": { + "200": { + "description": "Server added successfully", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": { + "type": "object", + "required": [ + "id", + "message", + "url" + ], + "properties": { + "id": { + "type": "integer", + "format": "int64" + }, + "message": { + "type": "string" + }, + "url": { + "type": "string" + } + } + } + } + } + } + } + } + } + }, + "404": { + "description": "Server not found at the given URL", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": { + "type": "object", + "required": [ + "message" + ], + "properties": { + "message": { + "type": "string" + } + } + } + } + } + } + } + } + } + }, + "409": { + "description": "Server is already in the list of trusted servers", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": { + "type": "object", + "required": [ + "message" + ], + "properties": { + "message": { + "type": "string" + } + } + } + } + } + } + } + } + } + } + } + }, + "get": { + "operationId": "settings-get-servers", + "summary": "List all trusted servers", + "description": "This endpoint requires admin access", + "tags": [ + "settings" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "parameters": [ + { + "name": "OCS-APIRequest", + "in": "header", + "description": "Required to be true for the API request to pass", + "required": true, + "schema": { + "type": "boolean", + "default": true + } + } + ], + "responses": { + "200": { + "description": "List of trusted servers", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": { + "type": "array", + "items": { + "type": "object", + "required": [ + "id", + "status", + "url" + ], + "properties": { + "id": { + "type": "integer", + "format": "int64" + }, + "status": { + "type": "integer", + "format": "int64" + }, + "url": { + "type": "string" + } + } + } + } + } + } + } + } + } + } + } + } + } + }, + "/ocs/v2.php/apps/federation/trusted-servers/{id}": { + "delete": { + "operationId": "settings-remove-server", + "summary": "Add server to the list of trusted Nextcloud servers", + "description": "This endpoint requires admin access", + "tags": [ + "settings" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "parameters": [ + { + "name": "id", + "in": "path", + "description": "The ID of the trusted server to remove", + "required": true, + "schema": { + "type": "integer", + "format": "int64" + } + }, + { + "name": "OCS-APIRequest", + "in": "header", + "description": "Required to be true for the API request to pass", + "required": true, + "schema": { + "type": "boolean", + "default": true + } + } + ], + "responses": { + "200": { + "description": "Server removed successfully", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": { + "type": "object", + "required": [ + "id" + ], + "properties": { + "id": { + "type": "integer", + "format": "int64" + } + } + } + } + } + } + } + } + } + }, + "404": { + "description": "Server not found at the given ID", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": { + "type": "object", + "required": [ + "message" + ], + "properties": { + "message": { + "type": "string" + } + } + } + } + } + } + } + } + } + } + } + } + } + }, + "tags": [ + { + "name": "ocs_authapi", + "description": "Class OCSAuthAPI OCS API end-points to exchange shared secret between two connected Nextclouds" + } + ] +} diff --git a/apps/federation/openapi-administration.json.license b/apps/federation/openapi-administration.json.license new file mode 100644 index 00000000000..5dcb9c9e84b --- /dev/null +++ b/apps/federation/openapi-administration.json.license @@ -0,0 +1,2 @@ +SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors +SPDX-License-Identifier: AGPL-3.0-or-later
\ No newline at end of file diff --git a/apps/federation/openapi.json b/apps/federation/openapi-federation.json index 59545e7dc98..beb66fcfcd6 100644 --- a/apps/federation/openapi.json +++ b/apps/federation/openapi-federation.json @@ -1,7 +1,7 @@ { "openapi": "3.0.3", "info": { - "title": "federation", + "title": "federation-federation", "version": "0.0.1", "description": "Federation allows you to connect with other trusted servers to exchange the account directory.", "license": { @@ -179,25 +179,31 @@ "basic_auth": [] } ], - "parameters": [ - { - "name": "url", - "in": "query", - "description": "URL of the server", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "token", - "in": "query", - "description": "Token of the server", - "required": true, - "schema": { - "type": "string" + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "url", + "token" + ], + "properties": { + "url": { + "type": "string", + "description": "URL of the server" + }, + "token": { + "type": "string", + "description": "Token of the server" + } + } + } } - }, + } + }, + "parameters": [ { "name": "OCS-APIRequest", "in": "header", @@ -399,25 +405,31 @@ "basic_auth": [] } ], - "parameters": [ - { - "name": "url", - "in": "query", - "description": "URL of the server", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "token", - "in": "query", - "description": "Token of the server", - "required": true, - "schema": { - "type": "string" + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "url", + "token" + ], + "properties": { + "url": { + "type": "string", + "description": "URL of the server" + }, + "token": { + "type": "string", + "description": "Token of the server" + } + } + } } - }, + } + }, + "parameters": [ { "name": "OCS-APIRequest", "in": "header", @@ -493,7 +505,7 @@ "tags": [ { "name": "ocs_authapi", - "description": "Class OCSAuthAPI\nOCS API end-points to exchange shared secret between two connected Nextclouds" + "description": "Class OCSAuthAPI OCS API end-points to exchange shared secret between two connected Nextclouds" } ] -}
\ No newline at end of file +} diff --git a/apps/federation/openapi-federation.json.license b/apps/federation/openapi-federation.json.license new file mode 100644 index 00000000000..5dcb9c9e84b --- /dev/null +++ b/apps/federation/openapi-federation.json.license @@ -0,0 +1,2 @@ +SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors +SPDX-License-Identifier: AGPL-3.0-or-later
\ No newline at end of file diff --git a/apps/federation/openapi-full.json b/apps/federation/openapi-full.json new file mode 100644 index 00000000000..c9a9e3ccf81 --- /dev/null +++ b/apps/federation/openapi-full.json @@ -0,0 +1,885 @@ +{ + "openapi": "3.0.3", + "info": { + "title": "federation-full", + "version": "0.0.1", + "description": "Federation allows you to connect with other trusted servers to exchange the account directory.", + "license": { + "name": "agpl" + } + }, + "components": { + "securitySchemes": { + "basic_auth": { + "type": "http", + "scheme": "basic" + }, + "bearer_auth": { + "type": "http", + "scheme": "bearer" + } + }, + "schemas": { + "OCSMeta": { + "type": "object", + "required": [ + "status", + "statuscode" + ], + "properties": { + "status": { + "type": "string" + }, + "statuscode": { + "type": "integer" + }, + "message": { + "type": "string" + }, + "totalitems": { + "type": "string" + }, + "itemsperpage": { + "type": "string" + } + } + } + } + }, + "paths": { + "/ocs/v2.php/apps/federation/api/v1/shared-secret": { + "get": { + "operationId": "ocs_authapi-get-shared-secret-legacy", + "summary": "Create shared secret and return it, for legacy end-points", + "tags": [ + "ocs_authapi" + ], + "security": [ + {}, + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "parameters": [ + { + "name": "url", + "in": "query", + "description": "URL of the server", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "token", + "in": "query", + "description": "Token of the server", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "OCS-APIRequest", + "in": "header", + "description": "Required to be true for the API request to pass", + "required": true, + "schema": { + "type": "boolean", + "default": true + } + } + ], + "responses": { + "200": { + "description": "Shared secret returned", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": { + "type": "object", + "required": [ + "sharedSecret" + ], + "properties": { + "sharedSecret": { + "type": "string" + } + } + } + } + } + } + } + } + } + }, + "403": { + "description": "Getting shared secret is not allowed", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": {} + } + } + } + } + } + } + } + } + } + }, + "/ocs/v2.php/apps/federation/api/v1/request-shared-secret": { + "post": { + "operationId": "ocs_authapi-request-shared-secret-legacy", + "summary": "Request received to ask remote server for a shared secret, for legacy end-points", + "tags": [ + "ocs_authapi" + ], + "security": [ + {}, + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "url", + "token" + ], + "properties": { + "url": { + "type": "string", + "description": "URL of the server" + }, + "token": { + "type": "string", + "description": "Token of the server" + } + } + } + } + } + }, + "parameters": [ + { + "name": "OCS-APIRequest", + "in": "header", + "description": "Required to be true for the API request to pass", + "required": true, + "schema": { + "type": "boolean", + "default": true + } + } + ], + "responses": { + "200": { + "description": "Shared secret requested successfully", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": {} + } + } + } + } + } + } + }, + "403": { + "description": "Requesting shared secret is not allowed", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": {} + } + } + } + } + } + } + } + } + } + }, + "/ocs/v2.php/cloud/shared-secret": { + "get": { + "operationId": "ocs_authapi-get-shared-secret", + "summary": "Create shared secret and return it", + "tags": [ + "ocs_authapi" + ], + "security": [ + {}, + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "parameters": [ + { + "name": "url", + "in": "query", + "description": "URL of the server", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "token", + "in": "query", + "description": "Token of the server", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "OCS-APIRequest", + "in": "header", + "description": "Required to be true for the API request to pass", + "required": true, + "schema": { + "type": "boolean", + "default": true + } + } + ], + "responses": { + "200": { + "description": "Shared secret returned", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": { + "type": "object", + "required": [ + "sharedSecret" + ], + "properties": { + "sharedSecret": { + "type": "string" + } + } + } + } + } + } + } + } + } + }, + "403": { + "description": "Getting shared secret is not allowed", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": {} + } + } + } + } + } + } + } + } + }, + "post": { + "operationId": "ocs_authapi-request-shared-secret", + "summary": "Request received to ask remote server for a shared secret", + "tags": [ + "ocs_authapi" + ], + "security": [ + {}, + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "url", + "token" + ], + "properties": { + "url": { + "type": "string", + "description": "URL of the server" + }, + "token": { + "type": "string", + "description": "Token of the server" + } + } + } + } + } + }, + "parameters": [ + { + "name": "OCS-APIRequest", + "in": "header", + "description": "Required to be true for the API request to pass", + "required": true, + "schema": { + "type": "boolean", + "default": true + } + } + ], + "responses": { + "200": { + "description": "Shared secret requested successfully", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": {} + } + } + } + } + } + } + }, + "403": { + "description": "Requesting shared secret is not allowed", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": {} + } + } + } + } + } + } + } + } + } + }, + "/ocs/v2.php/apps/federation/trusted-servers": { + "post": { + "operationId": "settings-add-server", + "summary": "Add server to the list of trusted Nextcloud servers", + "description": "This endpoint requires admin access", + "tags": [ + "settings" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "url" + ], + "properties": { + "url": { + "type": "string", + "description": "The URL of the server to add" + } + } + } + } + } + }, + "parameters": [ + { + "name": "OCS-APIRequest", + "in": "header", + "description": "Required to be true for the API request to pass", + "required": true, + "schema": { + "type": "boolean", + "default": true + } + } + ], + "responses": { + "200": { + "description": "Server added successfully", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": { + "type": "object", + "required": [ + "id", + "message", + "url" + ], + "properties": { + "id": { + "type": "integer", + "format": "int64" + }, + "message": { + "type": "string" + }, + "url": { + "type": "string" + } + } + } + } + } + } + } + } + } + }, + "404": { + "description": "Server not found at the given URL", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": { + "type": "object", + "required": [ + "message" + ], + "properties": { + "message": { + "type": "string" + } + } + } + } + } + } + } + } + } + }, + "409": { + "description": "Server is already in the list of trusted servers", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": { + "type": "object", + "required": [ + "message" + ], + "properties": { + "message": { + "type": "string" + } + } + } + } + } + } + } + } + } + } + } + }, + "get": { + "operationId": "settings-get-servers", + "summary": "List all trusted servers", + "description": "This endpoint requires admin access", + "tags": [ + "settings" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "parameters": [ + { + "name": "OCS-APIRequest", + "in": "header", + "description": "Required to be true for the API request to pass", + "required": true, + "schema": { + "type": "boolean", + "default": true + } + } + ], + "responses": { + "200": { + "description": "List of trusted servers", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": { + "type": "array", + "items": { + "type": "object", + "required": [ + "id", + "status", + "url" + ], + "properties": { + "id": { + "type": "integer", + "format": "int64" + }, + "status": { + "type": "integer", + "format": "int64" + }, + "url": { + "type": "string" + } + } + } + } + } + } + } + } + } + } + } + } + } + }, + "/ocs/v2.php/apps/federation/trusted-servers/{id}": { + "delete": { + "operationId": "settings-remove-server", + "summary": "Add server to the list of trusted Nextcloud servers", + "description": "This endpoint requires admin access", + "tags": [ + "settings" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "parameters": [ + { + "name": "id", + "in": "path", + "description": "The ID of the trusted server to remove", + "required": true, + "schema": { + "type": "integer", + "format": "int64" + } + }, + { + "name": "OCS-APIRequest", + "in": "header", + "description": "Required to be true for the API request to pass", + "required": true, + "schema": { + "type": "boolean", + "default": true + } + } + ], + "responses": { + "200": { + "description": "Server removed successfully", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": { + "type": "object", + "required": [ + "id" + ], + "properties": { + "id": { + "type": "integer", + "format": "int64" + } + } + } + } + } + } + } + } + } + }, + "404": { + "description": "Server not found at the given ID", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": { + "type": "object", + "required": [ + "message" + ], + "properties": { + "message": { + "type": "string" + } + } + } + } + } + } + } + } + } + } + } + } + } + }, + "tags": [ + { + "name": "ocs_authapi", + "description": "Class OCSAuthAPI OCS API end-points to exchange shared secret between two connected Nextclouds" + } + ] +} diff --git a/apps/federation/openapi-full.json.license b/apps/federation/openapi-full.json.license new file mode 100644 index 00000000000..5dcb9c9e84b --- /dev/null +++ b/apps/federation/openapi-full.json.license @@ -0,0 +1,2 @@ +SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors +SPDX-License-Identifier: AGPL-3.0-or-later
\ No newline at end of file diff --git a/apps/federation/openapi.json.license b/apps/federation/openapi.json.license deleted file mode 100644 index 83559daa9dc..00000000000 --- a/apps/federation/openapi.json.license +++ /dev/null @@ -1,2 +0,0 @@ -SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors -SPDX-License-Identifier: AGPL-3.0-or-later
\ No newline at end of file diff --git a/apps/federation/templates/settings-admin.php b/apps/federation/templates/settings-admin.php index dabd341ce72..857a8b23e37 100644 --- a/apps/federation/templates/settings-admin.php +++ b/apps/federation/templates/settings-admin.php @@ -1,20 +1,34 @@ <?php - /** * SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors * SPDX-FileCopyrightText: 2015-2016 ownCloud, Inc. * SPDX-License-Identifier: AGPL-3.0-only */ -/** @var array $_ */ + use OCA\Federation\TrustedServers; +use OCP\IL10N; +use OCP\IURLGenerator; +use OCP\Server; +use OCP\Util; + +/** @var IL10N $l */ -/** @var \OCP\IL10N $l */ -script('federation', 'settings-admin'); -style('federation', 'settings-admin') +Util::addScript('federation', 'settings-admin'); +Util::addStyle('federation', 'settings-admin'); + +$urlGenerator = Server::get(IURLGenerator::class); +$documentationLink = $urlGenerator->linkToDocs('admin-sharing-federated') . '#configuring-trusted-nextcloud-servers'; +$documentationLabel = $l->t('External documentation for Federated Cloud Sharing'); ?> <div id="ocFederationSettings" class="section"> - <h2><?php p($l->t('Trusted servers')); ?></h2> + <h2> + <?php p($l->t('Trusted servers')); ?> + <a target="_blank" rel="noreferrer noopener" class="icon-info" + title="<?php p($documentationLabel);?>" + href="<?php p($documentationLink); ?>"></a> + </h2> <p class="settings-hint"><?php p($l->t('Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing. It is not necessary to add a server as trusted server in order to create a federated share.')); ?></p> + <p class="settings-hint"><?php p($l->t('Each server must validate the other. This process may require a few cron cycles.')); ?></p> <ul id="listOfTrustedServers"> <?php foreach ($_['trustedServers'] as $trustedServer) { ?> @@ -23,8 +37,8 @@ style('federation', 'settings-admin') <span class="status success"></span> <?php } elseif ( - (int)$trustedServer['status'] === TrustedServers::STATUS_PENDING || - (int)$trustedServer['status'] === TrustedServers::STATUS_ACCESS_REVOKED + (int)$trustedServer['status'] === TrustedServers::STATUS_PENDING + || (int)$trustedServer['status'] === TrustedServers::STATUS_ACCESS_REVOKED ) { ?> <span class="status indeterminate"></span> <?php } else {?> @@ -35,8 +49,9 @@ style('federation', 'settings-admin') </li> <?php } ?> </ul> - <p id="ocFederationAddServer"> - <button id="ocFederationAddServerButton" class=""><?php p($l->t('+ Add trusted server')); ?></button> + + <div id="ocFederationAddServer"> + <button id="ocFederationAddServerButton"><?php p($l->t('+ Add trusted server')); ?></button> <div class="serverUrl hidden"> <div class="serverUrl-block"> <label for="serverUrl"><?php p($l->t('Trusted server')); ?></label> @@ -45,6 +60,5 @@ style('federation', 'settings-admin') </div> <span class="msg"></span> </div> - </p> - + </div> </div> diff --git a/apps/federation/tests/BackgroundJob/GetSharedSecretTest.php b/apps/federation/tests/BackgroundJob/GetSharedSecretTest.php index a53bfb8d4c1..943bdf352de 100644 --- a/apps/federation/tests/BackgroundJob/GetSharedSecretTest.php +++ b/apps/federation/tests/BackgroundJob/GetSharedSecretTest.php @@ -1,5 +1,6 @@ <?php +declare(strict_types=1); /** * SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors * SPDX-FileCopyrightText: 2016 ownCloud, Inc. @@ -17,8 +18,10 @@ use OCP\BackgroundJob\IJobList; use OCP\Http\Client\IClient; use OCP\Http\Client\IClientService; use OCP\Http\Client\IResponse; +use OCP\IConfig; use OCP\IURLGenerator; use OCP\OCS\IDiscoveryService; +use PHPUnit\Framework\MockObject\MockObject; use Psr\Log\LoggerInterface; /** @@ -30,32 +33,16 @@ use Psr\Log\LoggerInterface; */ class GetSharedSecretTest extends TestCase { - /** @var \PHPUnit\Framework\MockObject\MockObject|IClient */ - private $httpClient; - - /** @var \PHPUnit\Framework\MockObject\MockObject|IClientService */ - private $httpClientService; - - /** @var \PHPUnit\Framework\MockObject\MockObject|IJobList */ - private $jobList; - - /** @var \PHPUnit\Framework\MockObject\MockObject|IURLGenerator */ - private $urlGenerator; - - /** @var \PHPUnit\Framework\MockObject\MockObject|TrustedServers */ - private $trustedServers; - - /** @var \PHPUnit\Framework\MockObject\MockObject|LoggerInterface */ - private $logger; - - /** @var \PHPUnit\Framework\MockObject\MockObject|IResponse */ - private $response; - - /** @var \PHPUnit\Framework\MockObject\MockObject|IDiscoveryService */ - private $discoverService; - - /** @var \PHPUnit\Framework\MockObject\MockObject|ITimeFactory */ - private $timeFactory; + private MockObject&IClient $httpClient; + private MockObject&IClientService $httpClientService; + private MockObject&IJobList $jobList; + private MockObject&IURLGenerator $urlGenerator; + private MockObject&TrustedServers $trustedServers; + private MockObject&LoggerInterface $logger; + private MockObject&IResponse $response; + private MockObject&IDiscoveryService $discoverService; + private MockObject&ITimeFactory $timeFactory; + private MockObject&IConfig $config; private GetSharedSecret $getSharedSecret; @@ -72,6 +59,7 @@ class GetSharedSecretTest extends TestCase { $this->response = $this->getMockBuilder(IResponse::class)->getMock(); $this->discoverService = $this->getMockBuilder(IDiscoveryService::class)->getMock(); $this->timeFactory = $this->createMock(ITimeFactory::class); + $this->config = $this->createMock(IConfig::class); $this->discoverService->expects($this->any())->method('discover')->willReturn([]); $this->httpClientService->expects($this->any())->method('newClient')->willReturn($this->httpClient); @@ -83,18 +71,14 @@ class GetSharedSecretTest extends TestCase { $this->trustedServers, $this->logger, $this->discoverService, - $this->timeFactory + $this->timeFactory, + $this->config, ); } - /** - * @dataProvider dataTestExecute - * - * @param bool $isTrustedServer - * @param bool $retainBackgroundJob - */ + #[\PHPUnit\Framework\Attributes\DataProvider('dataTestExecute')] public function testExecute(bool $isTrustedServer, bool $retainBackgroundJob): void { - /** @var GetSharedSecret |\PHPUnit\Framework\MockObject\MockObject $getSharedSecret */ + /** @var GetSharedSecret&MockObject $getSharedSecret */ $getSharedSecret = $this->getMockBuilder(GetSharedSecret::class) ->setConstructorArgs( [ @@ -104,10 +88,13 @@ class GetSharedSecretTest extends TestCase { $this->trustedServers, $this->logger, $this->discoverService, - $this->timeFactory + $this->timeFactory, + $this->config, ] - )->setMethods(['parentStart'])->getMock(); - $this->invokePrivate($getSharedSecret, 'argument', [['url' => 'url', 'token' => 'token']]); + ) + ->onlyMethods(['parentStart']) + ->getMock(); + self::invokePrivate($getSharedSecret, 'argument', [['url' => 'url', 'token' => 'token']]); $this->trustedServers->expects($this->once())->method('isTrustedServer') ->with('url')->willReturn($isTrustedServer); @@ -116,7 +103,7 @@ class GetSharedSecretTest extends TestCase { } else { $getSharedSecret->expects($this->never())->method('parentStart'); } - $this->invokePrivate($getSharedSecret, 'retainJob', [$retainBackgroundJob]); + self::invokePrivate($getSharedSecret, 'retainJob', [$retainBackgroundJob]); $this->jobList->expects($this->once())->method('remove'); $this->timeFactory->method('getTime')->willReturn(42); @@ -139,7 +126,7 @@ class GetSharedSecretTest extends TestCase { $getSharedSecret->start($this->jobList); } - public function dataTestExecute() { + public static function dataTestExecute(): array { return [ [true, true], [true, false], @@ -147,12 +134,8 @@ class GetSharedSecretTest extends TestCase { ]; } - /** - * @dataProvider dataTestRun - * - * @param int $statusCode - */ - public function testRun($statusCode) { + #[\PHPUnit\Framework\Attributes\DataProvider('dataTestRun')] + public function testRun(int $statusCode): void { $target = 'targetURL'; $source = 'sourceURL'; $token = 'token'; @@ -168,14 +151,14 @@ class GetSharedSecretTest extends TestCase { ->with( $target . '/ocs/v2.php/apps/federation/api/v1/shared-secret', [ - 'query' => - [ - 'url' => $source, - 'token' => $token, - 'format' => 'json', - ], + 'query' => [ + 'url' => $source, + 'token' => $token, + 'format' => 'json', + ], 'timeout' => 3, 'connect_timeout' => 3, + 'verify' => true, ] )->willReturn($this->response); @@ -191,18 +174,18 @@ class GetSharedSecretTest extends TestCase { $this->trustedServers->expects($this->never())->method('addSharedSecret'); } - $this->invokePrivate($this->getSharedSecret, 'run', [$argument]); + self::invokePrivate($this->getSharedSecret, 'run', [$argument]); if ( $statusCode !== Http::STATUS_OK && $statusCode !== Http::STATUS_FORBIDDEN ) { - $this->assertTrue($this->invokePrivate($this->getSharedSecret, 'retainJob')); + $this->assertTrue(self::invokePrivate($this->getSharedSecret, 'retainJob')); } else { - $this->assertFalse($this->invokePrivate($this->getSharedSecret, 'retainJob')); + $this->assertFalse(self::invokePrivate($this->getSharedSecret, 'retainJob')); } } - public function dataTestRun() { + public static function dataTestRun(): array { return [ [Http::STATUS_OK], [Http::STATUS_FORBIDDEN], @@ -210,7 +193,7 @@ class GetSharedSecretTest extends TestCase { ]; } - public function testRunExpired() { + public function testRunExpired(): void { $target = 'targetURL'; $source = 'sourceURL'; $token = 'token'; @@ -237,10 +220,10 @@ class GetSharedSecretTest extends TestCase { TrustedServers::STATUS_FAILURE ); - $this->invokePrivate($this->getSharedSecret, 'run', [$argument]); + self::invokePrivate($this->getSharedSecret, 'run', [$argument]); } - public function testRunConnectionError() { + public function testRunConnectionError(): void { $target = 'targetURL'; $source = 'sourceURL'; $token = 'token'; @@ -259,21 +242,21 @@ class GetSharedSecretTest extends TestCase { ->with( $target . '/ocs/v2.php/apps/federation/api/v1/shared-secret', [ - 'query' => - [ - 'url' => $source, - 'token' => $token, - 'format' => 'json', - ], + 'query' => [ + 'url' => $source, + 'token' => $token, + 'format' => 'json', + ], 'timeout' => 3, 'connect_timeout' => 3, + 'verify' => true, ] )->willThrowException($this->createMock(ConnectException::class)); $this->trustedServers->expects($this->never())->method('addSharedSecret'); - $this->invokePrivate($this->getSharedSecret, 'run', [$argument]); + self::invokePrivate($this->getSharedSecret, 'run', [$argument]); - $this->assertTrue($this->invokePrivate($this->getSharedSecret, 'retainJob')); + $this->assertTrue(self::invokePrivate($this->getSharedSecret, 'retainJob')); } } diff --git a/apps/federation/tests/BackgroundJob/RequestSharedSecretTest.php b/apps/federation/tests/BackgroundJob/RequestSharedSecretTest.php index 9bfc6239301..6ef579c7483 100644 --- a/apps/federation/tests/BackgroundJob/RequestSharedSecretTest.php +++ b/apps/federation/tests/BackgroundJob/RequestSharedSecretTest.php @@ -1,5 +1,6 @@ <?php +declare(strict_types=1); /** * SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors * SPDX-FileCopyrightText: 2016 ownCloud, Inc. @@ -16,6 +17,7 @@ use OCP\BackgroundJob\IJobList; use OCP\Http\Client\IClient; use OCP\Http\Client\IClientService; use OCP\Http\Client\IResponse; +use OCP\IConfig; use OCP\IURLGenerator; use OCP\OCS\IDiscoveryService; use PHPUnit\Framework\MockObject\MockObject; @@ -23,49 +25,31 @@ use Psr\Log\LoggerInterface; use Test\TestCase; class RequestSharedSecretTest extends TestCase { - /** @var MockObject|IClientService */ - private $httpClientService; - - /** @var MockObject|IClient */ - private $httpClient; - - /** @var MockObject|IJobList */ - private $jobList; - - /** @var MockObject|IURLGenerator */ - private $urlGenerator; - - /** @var MockObject|TrustedServers */ - private $trustedServers; - - /** @var MockObject|IResponse */ - private $response; - - /** @var MockObject|IDiscoveryService */ - private $discoveryService; - - /** @var MockObject|LoggerInterface */ - private $logger; - - /** @var MockObject|ITimeFactory */ - private $timeFactory; - - /** @var RequestSharedSecret */ - private $requestSharedSecret; + private IClientService&MockObject $httpClientService; + private IClient&MockObject $httpClient; + private IJobList&MockObject $jobList; + private IURLGenerator&MockObject $urlGenerator; + private TrustedServers&MockObject $trustedServers; + private IResponse&MockObject $response; + private IDiscoveryService&MockObject $discoveryService; + private LoggerInterface&MockObject $logger; + private ITimeFactory&MockObject $timeFactory; + private IConfig&MockObject $config; + private RequestSharedSecret $requestSharedSecret; protected function setUp(): void { parent::setUp(); $this->httpClientService = $this->createMock(IClientService::class); - $this->httpClient = $this->getMockBuilder(IClient::class)->getMock(); - $this->jobList = $this->getMockBuilder(IJobList::class)->getMock(); - $this->urlGenerator = $this->getMockBuilder(IURLGenerator::class)->getMock(); - $this->trustedServers = $this->getMockBuilder(TrustedServers::class) - ->disableOriginalConstructor()->getMock(); - $this->response = $this->getMockBuilder(IResponse::class)->getMock(); - $this->discoveryService = $this->getMockBuilder(IDiscoveryService::class)->getMock(); + $this->httpClient = $this->createMock(IClient::class); + $this->jobList = $this->createMock(IJobList::class); + $this->urlGenerator = $this->createMock(IURLGenerator::class); + $this->trustedServers = $this->createMock(TrustedServers::class); + $this->response = $this->createMock(IResponse::class); + $this->discoveryService = $this->createMock(IDiscoveryService::class); $this->logger = $this->createMock(LoggerInterface::class); $this->timeFactory = $this->createMock(ITimeFactory::class); + $this->config = $this->createMock(IConfig::class); $this->discoveryService->expects($this->any())->method('discover')->willReturn([]); $this->httpClientService->expects($this->any())->method('newClient')->willReturn($this->httpClient); @@ -77,19 +61,15 @@ class RequestSharedSecretTest extends TestCase { $this->trustedServers, $this->discoveryService, $this->logger, - $this->timeFactory + $this->timeFactory, + $this->config, ); } - /** - * @dataProvider dataTestStart - * - * @param bool $isTrustedServer - * @param bool $retainBackgroundJob - */ - public function testStart($isTrustedServer, $retainBackgroundJob) { - /** @var RequestSharedSecret |MockObject $requestSharedSecret */ - $requestSharedSecret = $this->getMockBuilder('OCA\Federation\BackgroundJob\RequestSharedSecret') + #[\PHPUnit\Framework\Attributes\DataProvider('dataTestStart')] + public function testStart(bool $isTrustedServer, bool $retainBackgroundJob): void { + /** @var RequestSharedSecret&MockObject $requestSharedSecret */ + $requestSharedSecret = $this->getMockBuilder(RequestSharedSecret::class) ->setConstructorArgs( [ $this->httpClientService, @@ -98,10 +78,13 @@ class RequestSharedSecretTest extends TestCase { $this->trustedServers, $this->discoveryService, $this->logger, - $this->timeFactory + $this->timeFactory, + $this->config, ] - )->setMethods(['parentStart'])->getMock(); - $this->invokePrivate($requestSharedSecret, 'argument', [['url' => 'url', 'token' => 'token']]); + ) + ->onlyMethods(['parentStart']) + ->getMock(); + self::invokePrivate($requestSharedSecret, 'argument', [['url' => 'url', 'token' => 'token']]); $this->trustedServers->expects($this->once())->method('isTrustedServer') ->with('url')->willReturn($isTrustedServer); @@ -110,7 +93,7 @@ class RequestSharedSecretTest extends TestCase { } else { $requestSharedSecret->expects($this->never())->method('parentStart'); } - $this->invokePrivate($requestSharedSecret, 'retainJob', [$retainBackgroundJob]); + self::invokePrivate($requestSharedSecret, 'retainJob', [$retainBackgroundJob]); $this->jobList->expects($this->once())->method('remove'); $this->timeFactory->method('getTime')->willReturn(42); @@ -134,7 +117,7 @@ class RequestSharedSecretTest extends TestCase { $requestSharedSecret->start($this->jobList); } - public function dataTestStart() { + public static function dataTestStart(): array { return [ [true, true], [true, false], @@ -142,11 +125,7 @@ class RequestSharedSecretTest extends TestCase { ]; } - /** - * @dataProvider dataTestRun - * - * @param int $statusCode - */ + #[\PHPUnit\Framework\Attributes\DataProvider('dataTestRun')] public function testRun(int $statusCode, int $attempt = 0): void { $target = 'targetURL'; $source = 'sourceURL'; @@ -162,32 +141,32 @@ class RequestSharedSecretTest extends TestCase { ->with( $target . '/ocs/v2.php/apps/federation/api/v1/request-shared-secret', [ - 'body' => - [ - 'url' => $source, - 'token' => $token, - 'format' => 'json', - ], + 'body' => [ + 'url' => $source, + 'token' => $token, + 'format' => 'json', + ], 'timeout' => 3, 'connect_timeout' => 3, + 'verify' => true, ] )->willReturn($this->response); $this->response->expects($this->once())->method('getStatusCode') ->willReturn($statusCode); - $this->invokePrivate($this->requestSharedSecret, 'run', [$argument]); + self::invokePrivate($this->requestSharedSecret, 'run', [$argument]); if ( $statusCode !== Http::STATUS_OK && ($statusCode !== Http::STATUS_FORBIDDEN || $attempt < 5) ) { - $this->assertTrue($this->invokePrivate($this->requestSharedSecret, 'retainJob')); + $this->assertTrue(self::invokePrivate($this->requestSharedSecret, 'retainJob')); } else { - $this->assertFalse($this->invokePrivate($this->requestSharedSecret, 'retainJob')); + $this->assertFalse(self::invokePrivate($this->requestSharedSecret, 'retainJob')); } } - public function dataTestRun() { + public static function dataTestRun(): array { return [ [Http::STATUS_OK], [Http::STATUS_FORBIDDEN, 5], @@ -196,7 +175,7 @@ class RequestSharedSecretTest extends TestCase { ]; } - public function testRunExpired() { + public function testRunExpired(): void { $target = 'targetURL'; $source = 'sourceURL'; $token = 'token'; @@ -223,10 +202,10 @@ class RequestSharedSecretTest extends TestCase { TrustedServers::STATUS_FAILURE ); - $this->invokePrivate($this->requestSharedSecret, 'run', [$argument]); + self::invokePrivate($this->requestSharedSecret, 'run', [$argument]); } - public function testRunConnectionError() { + public function testRunConnectionError(): void { $target = 'targetURL'; $source = 'sourceURL'; $token = 'token'; @@ -247,18 +226,18 @@ class RequestSharedSecretTest extends TestCase { ->with( $target . '/ocs/v2.php/apps/federation/api/v1/request-shared-secret', [ - 'body' => - [ - 'url' => $source, - 'token' => $token, - 'format' => 'json', - ], + 'body' => [ + 'url' => $source, + 'token' => $token, + 'format' => 'json', + ], 'timeout' => 3, 'connect_timeout' => 3, + 'verify' => true, ] )->willThrowException($this->createMock(ConnectException::class)); - $this->invokePrivate($this->requestSharedSecret, 'run', [$argument]); - $this->assertTrue($this->invokePrivate($this->requestSharedSecret, 'retainJob')); + self::invokePrivate($this->requestSharedSecret, 'run', [$argument]); + $this->assertTrue(self::invokePrivate($this->requestSharedSecret, 'retainJob')); } } diff --git a/apps/federation/tests/Controller/OCSAuthAPIControllerTest.php b/apps/federation/tests/Controller/OCSAuthAPIControllerTest.php index ef008b991f5..a054277c5cd 100644 --- a/apps/federation/tests/Controller/OCSAuthAPIControllerTest.php +++ b/apps/federation/tests/Controller/OCSAuthAPIControllerTest.php @@ -1,5 +1,6 @@ <?php +declare(strict_types=1); /** * SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors * SPDX-FileCopyrightText: 2016 ownCloud, Inc. @@ -8,6 +9,7 @@ namespace OCA\Federation\Tests\Controller; use OC\BackgroundJob\JobList; +use OCA\Federation\BackgroundJob\GetSharedSecret; use OCA\Federation\Controller\OCSAuthAPIController; use OCA\Federation\DbHandler; use OCA\Federation\TrustedServers; @@ -16,34 +18,19 @@ use OCP\AppFramework\Utility\ITimeFactory; use OCP\IRequest; use OCP\Security\Bruteforce\IThrottler; use OCP\Security\ISecureRandom; +use PHPUnit\Framework\MockObject\MockObject; use Psr\Log\LoggerInterface; use Test\TestCase; class OCSAuthAPIControllerTest extends TestCase { - /** @var \PHPUnit\Framework\MockObject\MockObject|IRequest */ - private $request; - - /** @var \PHPUnit\Framework\MockObject\MockObject|ISecureRandom */ - private $secureRandom; - - /** @var \PHPUnit\Framework\MockObject\MockObject|JobList */ - private $jobList; - - /** @var \PHPUnit\Framework\MockObject\MockObject|TrustedServers */ - private $trustedServers; - - /** @var \PHPUnit\Framework\MockObject\MockObject|DbHandler */ - private $dbHandler; - - /** @var \PHPUnit\Framework\MockObject\MockObject|LoggerInterface */ - private $logger; - - /** @var \PHPUnit\Framework\MockObject\MockObject|ITimeFactory */ - private $timeFactory; - - /** @var \PHPUnit\Framework\MockObject\MockObject|IThrottler */ - private $throttler; - + private IRequest&MockObject $request; + private ISecureRandom&MockObject $secureRandom; + private JobList&MockObject $jobList; + private TrustedServers&MockObject $trustedServers; + private DbHandler&MockObject $dbHandler; + private LoggerInterface&MockObject $logger; + private ITimeFactory&MockObject $timeFactory; + private IThrottler&MockObject $throttler; private OCSAuthAPIController $ocsAuthApi; /** @var int simulated timestamp */ @@ -77,9 +64,7 @@ class OCSAuthAPIControllerTest extends TestCase { ->willReturn($this->currentTime); } - /** - * @dataProvider dataTestRequestSharedSecret - */ + #[\PHPUnit\Framework\Attributes\DataProvider('dataTestRequestSharedSecret')] public function testRequestSharedSecret(string $token, string $localToken, bool $isTrustedServer, bool $ok): void { $url = 'url'; @@ -91,7 +76,7 @@ class OCSAuthAPIControllerTest extends TestCase { if ($ok) { $this->jobList->expects($this->once())->method('add') - ->with('OCA\Federation\BackgroundJob\GetSharedSecret', ['url' => $url, 'token' => $token, 'created' => $this->currentTime]); + ->with(GetSharedSecret::class, ['url' => $url, 'token' => $token, 'created' => $this->currentTime]); } else { $this->jobList->expects($this->never())->method('add'); $this->jobList->expects($this->never())->method('remove'); @@ -111,7 +96,7 @@ class OCSAuthAPIControllerTest extends TestCase { } } - public function dataTestRequestSharedSecret() { + public static function dataTestRequestSharedSecret(): array { return [ ['token2', 'token1', true, true], ['token1', 'token2', false, false], @@ -119,15 +104,13 @@ class OCSAuthAPIControllerTest extends TestCase { ]; } - /** - * @dataProvider dataTestGetSharedSecret - */ + #[\PHPUnit\Framework\Attributes\DataProvider('dataTestGetSharedSecret')] public function testGetSharedSecret(bool $isTrustedServer, bool $isValidToken, bool $ok): void { $url = 'url'; $token = 'token'; - /** @var OCSAuthAPIController | \PHPUnit\Framework\MockObject\MockObject $ocsAuthApi */ - $ocsAuthApi = $this->getMockBuilder('OCA\Federation\Controller\OCSAuthAPIController') + /** @var OCSAuthAPIController&MockObject $ocsAuthApi */ + $ocsAuthApi = $this->getMockBuilder(OCSAuthAPIController::class) ->setConstructorArgs( [ 'federation', @@ -140,7 +123,9 @@ class OCSAuthAPIControllerTest extends TestCase { $this->timeFactory, $this->throttler ] - )->setMethods(['isValidToken'])->getMock(); + ) + ->onlyMethods(['isValidToken']) + ->getMock(); $this->trustedServers ->expects($this->any()) @@ -171,7 +156,7 @@ class OCSAuthAPIControllerTest extends TestCase { } } - public function dataTestGetSharedSecret() { + public static function dataTestGetSharedSecret(): array { return [ [true, true, true], [false, true, false], diff --git a/apps/federation/tests/Controller/SettingsControllerTest.php b/apps/federation/tests/Controller/SettingsControllerTest.php index 0eb15e40d8f..b0a7a5e30c9 100644 --- a/apps/federation/tests/Controller/SettingsControllerTest.php +++ b/apps/federation/tests/Controller/SettingsControllerTest.php @@ -1,5 +1,6 @@ <?php +declare(strict_types=1); /** * SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors * SPDX-FileCopyrightText: 2016 ownCloud, Inc. @@ -10,35 +11,36 @@ namespace OCA\Federation\Tests\Controller; use OCA\Federation\Controller\SettingsController; use OCA\Federation\TrustedServers; use OCP\AppFramework\Http\DataResponse; +use OCP\AppFramework\OCS\OCSException; +use OCP\AppFramework\OCS\OCSNotFoundException; use OCP\IL10N; use OCP\IRequest; +use PHPUnit\Framework\MockObject\MockObject; +use Psr\Log\LoggerInterface; use Test\TestCase; class SettingsControllerTest extends TestCase { private SettingsController $controller; - /** @var \PHPUnit\Framework\MockObject\MockObject | \OCP\IRequest */ - private $request; - - /** @var \PHPUnit\Framework\MockObject\MockObject | \OCP\IL10N */ - private $l10n; - - /** @var \PHPUnit\Framework\MockObject\MockObject | \OCA\Federation\TrustedServers */ - private $trustedServers; + private IRequest&MockObject $request; + private IL10N&MockObject $l10n; + private TrustedServers&MockObject $trustedServers; + private LoggerInterface&MockObject $logger; protected function setUp(): void { parent::setUp(); - $this->request = $this->getMockBuilder(IRequest::class)->getMock(); - $this->l10n = $this->getMockBuilder(IL10N::class)->getMock(); - $this->trustedServers = $this->getMockBuilder(TrustedServers::class) - ->disableOriginalConstructor()->getMock(); + $this->request = $this->createMock(IRequest::class); + $this->l10n = $this->createMock(IL10N::class); + $this->trustedServers = $this->createMock(TrustedServers::class); + $this->logger = $this->createMock(LoggerInterface::class); $this->controller = new SettingsController( 'SettingsControllerTest', $this->request, $this->l10n, - $this->trustedServers + $this->trustedServers, + $this->logger, ); } @@ -55,7 +57,7 @@ class SettingsControllerTest extends TestCase { ->willReturn(true); $result = $this->controller->addServer('url'); - $this->assertTrue($result instanceof DataResponse); + $this->assertInstanceOf(DataResponse::class, $result); $data = $result->getData(); $this->assertSame(200, $result->getStatus()); @@ -63,12 +65,8 @@ class SettingsControllerTest extends TestCase { $this->assertArrayHasKey('id', $data); } - /** - * @dataProvider checkServerFails - */ + #[\PHPUnit\Framework\Attributes\DataProvider('checkServerFails')] public function testAddServerFail(bool $isTrustedServer, bool $isNextcloud): void { - $this->expectException(\OCP\HintException::class); - $this->trustedServers ->expects($this->any()) ->method('isTrustedServer') @@ -80,6 +78,12 @@ class SettingsControllerTest extends TestCase { ->with('url') ->willReturn($isNextcloud); + if ($isTrustedServer) { + $this->expectException(OCSException::class); + } else { + $this->expectException(OCSNotFoundException::class); + } + $this->controller->addServer('url'); } @@ -104,17 +108,13 @@ class SettingsControllerTest extends TestCase { ->with('url') ->willReturn(true); - $this->assertTrue( - $this->invokePrivate($this->controller, 'checkServer', ['url']) + $this->assertNull( + self::invokePrivate($this->controller, 'checkServer', ['url']) ); } - /** - * @dataProvider checkServerFails - */ + #[\PHPUnit\Framework\Attributes\DataProvider('checkServerFails')] public function testCheckServerFail(bool $isTrustedServer, bool $isNextcloud): void { - $this->expectException(\OCP\HintException::class); - $this->trustedServers ->expects($this->any()) ->method('isTrustedServer') @@ -126,15 +126,18 @@ class SettingsControllerTest extends TestCase { ->with('url') ->willReturn($isNextcloud); + if ($isTrustedServer) { + $this->expectException(OCSException::class); + } else { + $this->expectException(OCSNotFoundException::class); + } + $this->assertTrue( - $this->invokePrivate($this->controller, 'checkServer', ['url']) + self::invokePrivate($this->controller, 'checkServer', ['url']) ); } - /** - * Data to simulate checkServer fails - */ - public function checkServerFails(): array { + public static function checkServerFails(): array { return [ [true, true], [false, false] diff --git a/apps/federation/tests/DAV/FedAuthTest.php b/apps/federation/tests/DAV/FedAuthTest.php index 2d71137ae38..c95d3852b48 100644 --- a/apps/federation/tests/DAV/FedAuthTest.php +++ b/apps/federation/tests/DAV/FedAuthTest.php @@ -1,5 +1,6 @@ <?php +declare(strict_types=1); /** * SPDX-FileCopyrightText: 2019-2024 Nextcloud GmbH and Nextcloud contributors * SPDX-FileCopyrightText: 2016 ownCloud, Inc. @@ -9,27 +10,22 @@ namespace OCA\Federation\Tests\DAV; use OCA\Federation\DAV\FedAuth; use OCA\Federation\DbHandler; +use PHPUnit\Framework\MockObject\MockObject; use Test\TestCase; class FedAuthTest extends TestCase { - /** - * @dataProvider providesUser - * - * @param array $expected - * @param string $user - * @param string $password - */ - public function testFedAuth($expected, $user, $password) { - /** @var DbHandler | \PHPUnit\Framework\MockObject\MockObject $db */ - $db = $this->getMockBuilder('OCA\Federation\DbHandler')->disableOriginalConstructor()->getMock(); + #[\PHPUnit\Framework\Attributes\DataProvider('providesUser')] + public function testFedAuth(bool $expected, string $user, string $password): void { + /** @var DbHandler&MockObject $db */ + $db = $this->createMock(DbHandler::class); $db->method('auth')->willReturn(true); $auth = new FedAuth($db); - $result = $this->invokePrivate($auth, 'validateUserPass', [$user, $password]); + $result = self::invokePrivate($auth, 'validateUserPass', [$user, $password]); $this->assertEquals($expected, $result); } - public function providesUser() { + public static function providesUser(): array { return [ [true, 'system', '123456'] ]; diff --git a/apps/federation/tests/DbHandlerTest.php b/apps/federation/tests/DbHandlerTest.php index fa06807d110..5452a48fc4a 100644 --- a/apps/federation/tests/DbHandlerTest.php +++ b/apps/federation/tests/DbHandlerTest.php @@ -1,5 +1,6 @@ <?php +declare(strict_types=1); /** * SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors * SPDX-FileCopyrightText: 2016 ownCloud, Inc. @@ -11,30 +12,24 @@ use OCA\Federation\DbHandler; use OCA\Federation\TrustedServers; use OCP\IDBConnection; use OCP\IL10N; +use OCP\Server; +use PHPUnit\Framework\MockObject\MockObject; use Test\TestCase; /** * @group DB */ class DbHandlerTest extends TestCase { - - /** @var DbHandler */ - private $dbHandler; - - /** @var IL10N | \PHPUnit\Framework\MockObject\MockObject */ - private $il10n; - - /** @var IDBConnection */ - private $connection; - - /** @var string */ - private $dbTable = 'trusted_servers'; + private DbHandler $dbHandler; + private IL10N&MockObject $il10n; + private IDBConnection $connection; + private string $dbTable = 'trusted_servers'; protected function setUp(): void { parent::setUp(); - $this->connection = \OC::$server->getDatabaseConnection(); - $this->il10n = $this->getMockBuilder(IL10N::class)->getMock(); + $this->connection = Server::get(IDBConnection::class); + $this->il10n = $this->createMock(IL10N::class); $this->dbHandler = new DbHandler( $this->connection, @@ -43,26 +38,27 @@ class DbHandlerTest extends TestCase { $query = $this->connection->getQueryBuilder()->select('*')->from($this->dbTable); - $qResult = $query->execute(); + $qResult = $query->executeQuery(); $result = $qResult->fetchAll(); $qResult->closeCursor(); $this->assertEmpty($result, 'we need to start with a empty trusted_servers table'); } protected function tearDown(): void { - parent::tearDown(); $query = $this->connection->getQueryBuilder()->delete($this->dbTable); - $query->execute(); + $query->executeStatement() + ; + parent::tearDown(); } /** - * @dataProvider dataTestAddServer * * @param string $url passed to the method * @param string $expectedUrl the url we expect to be written to the db * @param string $expectedHash the hash value we expect to be written to the db */ - public function testAddServer($url, $expectedUrl, $expectedHash) { + #[\PHPUnit\Framework\Attributes\DataProvider('dataTestAddServer')] + public function testAddServer(string $url, string $expectedUrl, string $expectedHash): void { $id = $this->dbHandler->addServer($url); $query = $this->connection->getQueryBuilder()->select('*')->from($this->dbTable); @@ -70,14 +66,14 @@ class DbHandlerTest extends TestCase { $qResult = $query->execute(); $result = $qResult->fetchAll(); $qResult->closeCursor(); - $this->assertSame(1, count($result)); + $this->assertCount(1, $result); $this->assertSame($expectedUrl, $result[0]['url']); $this->assertSame($id, (int)$result[0]['id']); $this->assertSame($expectedHash, $result[0]['url_hash']); $this->assertSame(TrustedServers::STATUS_PENDING, (int)$result[0]['status']); } - public function dataTestAddServer() { + public static function dataTestAddServer(): array { return [ ['http://owncloud.org', 'http://owncloud.org', sha1('owncloud.org')], ['https://owncloud.org', 'https://owncloud.org', sha1('owncloud.org')], @@ -85,7 +81,7 @@ class DbHandlerTest extends TestCase { ]; } - public function testRemove() { + public function testRemove(): void { $id1 = $this->dbHandler->addServer('server1'); $id2 = $this->dbHandler->addServer('server2'); @@ -94,7 +90,7 @@ class DbHandlerTest extends TestCase { $qResult = $query->execute(); $result = $qResult->fetchAll(); $qResult->closeCursor(); - $this->assertSame(2, count($result)); + $this->assertCount(2, $result); $this->assertSame('server1', $result[0]['url']); $this->assertSame('server2', $result[1]['url']); $this->assertSame($id1, (int)$result[0]['id']); @@ -106,13 +102,13 @@ class DbHandlerTest extends TestCase { $qResult = $query->execute(); $result = $qResult->fetchAll(); $qResult->closeCursor(); - $this->assertSame(1, count($result)); + $this->assertCount(1, $result); $this->assertSame('server1', $result[0]['url']); $this->assertSame($id1, (int)$result[0]['id']); } - public function testGetServerById() { + public function testGetServerById(): void { $this->dbHandler->addServer('server1'); $id = $this->dbHandler->addServer('server2'); @@ -120,7 +116,7 @@ class DbHandlerTest extends TestCase { $this->assertSame('server2', $result['url']); } - public function testGetAll() { + public function testGetAll(): void { $id1 = $this->dbHandler->addServer('server1'); $id2 = $this->dbHandler->addServer('server2'); @@ -132,21 +128,15 @@ class DbHandlerTest extends TestCase { $this->assertSame($id2, (int)$result[1]['id']); } - /** - * @dataProvider dataTestServerExists - * - * @param string $serverInTable - * @param string $checkForServer - * @param bool $expected - */ - public function testServerExists($serverInTable, $checkForServer, $expected) { + #[\PHPUnit\Framework\Attributes\DataProvider('dataTestServerExists')] + public function testServerExists(string $serverInTable, string $checkForServer, bool $expected): void { $this->dbHandler->addServer($serverInTable); $this->assertSame($expected, $this->dbHandler->serverExists($checkForServer) ); } - public function dataTestServerExists() { + public static function dataTestServerExists(): array { return [ ['server1', 'server1', true], ['server1', 'http://server1', true], @@ -158,22 +148,22 @@ class DbHandlerTest extends TestCase { $this->dbHandler->addServer('server1'); $query = $this->connection->getQueryBuilder()->select('*')->from($this->dbTable); - $qResult = $query->execute(); + $qResult = $query->executeQuery(); $result = $qResult->fetchAll(); $qResult->closeCursor(); - $this->assertSame(1, count($result)); + $this->assertCount(1, $result); $this->assertSame(null, $result[0]['token']); $this->dbHandler->addToken('http://server1', 'token'); $query = $this->connection->getQueryBuilder()->select('*')->from($this->dbTable); - $qResult = $query->execute(); + $qResult = $query->executeQuery(); $result = $qResult->fetchAll(); $qResult->closeCursor(); - $this->assertSame(1, count($result)); + $this->assertCount(1, $result); $this->assertSame('token', $result[0]['token']); } - public function testGetToken() { + public function testGetToken(): void { $this->dbHandler->addServer('server1'); $this->dbHandler->addToken('http://server1', 'token'); $this->assertSame('token', @@ -188,7 +178,7 @@ class DbHandlerTest extends TestCase { $qResult = $query->execute(); $result = $qResult->fetchAll(); $qResult->closeCursor(); - $this->assertSame(1, count($result)); + $this->assertCount(1, $result); $this->assertSame(null, $result[0]['shared_secret']); $this->dbHandler->addSharedSecret('http://server1', 'secret'); $query = $this->connection->getQueryBuilder()->select('*')->from($this->dbTable); @@ -196,11 +186,11 @@ class DbHandlerTest extends TestCase { $qResult = $query->execute(); $result = $qResult->fetchAll(); $qResult->closeCursor(); - $this->assertSame(1, count($result)); + $this->assertCount(1, $result); $this->assertSame('secret', $result[0]['shared_secret']); } - public function testGetSharedSecret() { + public function testGetSharedSecret(): void { $this->dbHandler->addServer('server1'); $this->dbHandler->addSharedSecret('http://server1', 'secret'); $this->assertSame('secret', @@ -208,26 +198,26 @@ class DbHandlerTest extends TestCase { ); } - public function testSetServerStatus() { + public function testSetServerStatus(): void { $this->dbHandler->addServer('server1'); $query = $this->connection->getQueryBuilder()->select('*')->from($this->dbTable); - $qResult = $query->execute(); + $qResult = $query->executeQuery(); $result = $qResult->fetchAll(); $qResult->closeCursor(); - $this->assertSame(1, count($result)); + $this->assertCount(1, $result); $this->assertSame(TrustedServers::STATUS_PENDING, (int)$result[0]['status']); $this->dbHandler->setServerStatus('http://server1', TrustedServers::STATUS_OK); $query = $this->connection->getQueryBuilder()->select('*')->from($this->dbTable); - $qResult = $query->execute(); + $qResult = $query->executeQuery(); $result = $qResult->fetchAll(); $qResult->closeCursor(); - $this->assertSame(1, count($result)); + $this->assertCount(1, $result); $this->assertSame(TrustedServers::STATUS_OK, (int)$result[0]['status']); } - public function testGetServerStatus() { + public function testGetServerStatus(): void { $this->dbHandler->addServer('server1'); $this->dbHandler->setServerStatus('http://server1', TrustedServers::STATUS_OK); $this->assertSame(TrustedServers::STATUS_OK, @@ -242,19 +232,15 @@ class DbHandlerTest extends TestCase { /** * hash should always be computed with the normalized URL - * - * @dataProvider dataTestHash - * - * @param string $url - * @param string $expected */ - public function testHash($url, $expected) { + #[\PHPUnit\Framework\Attributes\DataProvider('dataTestHash')] + public function testHash(string $url, string $expected): void { $this->assertSame($expected, $this->invokePrivate($this->dbHandler, 'hash', [$url]) ); } - public function dataTestHash() { + public static function dataTestHash(): array { return [ ['server1', sha1('server1')], ['http://server1', sha1('server1')], @@ -263,19 +249,14 @@ class DbHandlerTest extends TestCase { ]; } - /** - * @dataProvider dataTestNormalizeUrl - * - * @param string $url - * @param string $expected - */ - public function testNormalizeUrl($url, $expected) { + #[\PHPUnit\Framework\Attributes\DataProvider('dataTestNormalizeUrl')] + public function testNormalizeUrl(string $url, string $expected): void { $this->assertSame($expected, $this->invokePrivate($this->dbHandler, 'normalizeUrl', [$url]) ); } - public function dataTestNormalizeUrl() { + public static function dataTestNormalizeUrl(): array { return [ ['owncloud.org', 'owncloud.org'], ['http://owncloud.org', 'owncloud.org'], @@ -285,10 +266,8 @@ class DbHandlerTest extends TestCase { ]; } - /** - * @dataProvider providesAuth - */ - public function testAuth($expectedResult, $user, $password) { + #[\PHPUnit\Framework\Attributes\DataProvider('providesAuth')] + public function testAuth(bool $expectedResult, string $user, string $password): void { if ($expectedResult) { $this->dbHandler->addServer('url1'); $this->dbHandler->addSharedSecret('url1', $password); @@ -297,7 +276,7 @@ class DbHandlerTest extends TestCase { $this->assertEquals($expectedResult, $result); } - public function providesAuth() { + public static function providesAuth(): array { return [ [false, 'foo', ''], [true, 'system', '123456789'], diff --git a/apps/federation/tests/Middleware/AddServerMiddlewareTest.php b/apps/federation/tests/Middleware/AddServerMiddlewareTest.php deleted file mode 100644 index 5cdd255a497..00000000000 --- a/apps/federation/tests/Middleware/AddServerMiddlewareTest.php +++ /dev/null @@ -1,81 +0,0 @@ -<?php - -/** - * SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors - * SPDX-FileCopyrightText: 2016 ownCloud, Inc. - * SPDX-License-Identifier: AGPL-3.0-only - */ -namespace OCA\Federation\Tests\Middleware; - -use OCA\Federation\Controller\SettingsController; -use OCA\Federation\Middleware\AddServerMiddleware; -use OCP\AppFramework\Http; -use OCP\HintException; -use OCP\IL10N; -use Psr\Log\LoggerInterface; -use Test\TestCase; - -class AddServerMiddlewareTest extends TestCase { - - /** @var \PHPUnit\Framework\MockObject\MockObject | LoggerInterface */ - private $logger; - - /** @var \PHPUnit\Framework\MockObject\MockObject | \OCP\IL10N */ - private $l10n; - - private AddServerMiddleware $middleware; - - /** @var \PHPUnit\Framework\MockObject\MockObject | SettingsController */ - private $controller; - - protected function setUp(): void { - parent::setUp(); - - $this->logger = $this->getMockBuilder(LoggerInterface::class)->getMock(); - $this->l10n = $this->getMockBuilder(IL10N::class)->getMock(); - $this->controller = $this->getMockBuilder(SettingsController::class) - ->disableOriginalConstructor()->getMock(); - - $this->middleware = new AddServerMiddleware( - 'AddServerMiddlewareTest', - $this->l10n, - $this->logger - ); - } - - /** - * @dataProvider dataTestAfterException - * - * @param \Exception $exception - * @param string $hint - */ - public function testAfterException($exception, $hint) { - $this->logger->expects($this->once())->method('error'); - - $this->l10n->expects($this->any())->method('t') - ->willReturnCallback( - function (string $message): string { - return $message; - } - ); - - $result = $this->middleware->afterException($this->controller, 'method', $exception); - - $this->assertSame(Http::STATUS_BAD_REQUEST, - $result->getStatus() - ); - - $data = $result->getData(); - - $this->assertSame($hint, - $data['message'] - ); - } - - public function dataTestAfterException() { - return [ - [new HintException('message', 'hint'), 'hint'], - [new \Exception('message'), 'message'], - ]; - } -} diff --git a/apps/federation/tests/Settings/AdminTest.php b/apps/federation/tests/Settings/AdminTest.php index 3bbf4c4a9e7..b879547a8cd 100644 --- a/apps/federation/tests/Settings/AdminTest.php +++ b/apps/federation/tests/Settings/AdminTest.php @@ -1,4 +1,6 @@ <?php + +declare(strict_types=1); /** * SPDX-FileCopyrightText: 2016 Nextcloud GmbH and Nextcloud contributors * SPDX-License-Identifier: AGPL-3.0-or-later @@ -9,24 +11,23 @@ use OCA\Federation\Settings\Admin; use OCA\Federation\TrustedServers; use OCP\AppFramework\Http\TemplateResponse; use OCP\IL10N; +use PHPUnit\Framework\MockObject\MockObject; use Test\TestCase; class AdminTest extends TestCase { - /** @var Admin */ - private $admin; - /** @var TrustedServers */ - private $trustedServers; + private TrustedServers&MockObject $trustedServers; + private Admin $admin; protected function setUp(): void { parent::setUp(); - $this->trustedServers = $this->getMockBuilder('\OCA\Federation\TrustedServers')->disableOriginalConstructor()->getMock(); + $this->trustedServers = $this->createMock(TrustedServers::class); $this->admin = new Admin( $this->trustedServers, $this->createMock(IL10N::class) ); } - public function testGetForm() { + public function testGetForm(): void { $this->trustedServers ->expects($this->once()) ->method('getServers') @@ -39,11 +40,11 @@ class AdminTest extends TestCase { $this->assertEquals($expected, $this->admin->getForm()); } - public function testGetSection() { + public function testGetSection(): void { $this->assertSame('sharing', $this->admin->getSection()); } - public function testGetPriority() { + public function testGetPriority(): void { $this->assertSame(30, $this->admin->getPriority()); } } diff --git a/apps/federation/tests/SyncFederationAddressbooksTest.php b/apps/federation/tests/SyncFederationAddressbooksTest.php index 1ebca2f6a0f..ff03f5cf442 100644 --- a/apps/federation/tests/SyncFederationAddressbooksTest.php +++ b/apps/federation/tests/SyncFederationAddressbooksTest.php @@ -1,5 +1,6 @@ <?php +declare(strict_types=1); /** * SPDX-FileCopyrightText: 2017-2024 Nextcloud GmbH and Nextcloud contributors * SPDX-FileCopyrightText: 2016 ownCloud, Inc. @@ -8,86 +9,100 @@ namespace OCA\Federation\Tests; use OC\OCS\DiscoveryService; +use OCA\DAV\CardDAV\SyncService; use OCA\Federation\DbHandler; use OCA\Federation\SyncFederationAddressBooks; +use OCA\Federation\TrustedServers; use PHPUnit\Framework\MockObject\MockObject; use Psr\Log\LoggerInterface; class SyncFederationAddressbooksTest extends \Test\TestCase { - - /** @var array */ - private $callBacks = []; - - /** @var MockObject | DiscoveryService */ - private $discoveryService; - - /** @var MockObject|LoggerInterface */ - private $logger; + private array $callBacks = []; + private DiscoveryService&MockObject $discoveryService; + private LoggerInterface&MockObject $logger; protected function setUp(): void { parent::setUp(); - $this->discoveryService = $this->getMockBuilder(DiscoveryService::class) - ->disableOriginalConstructor()->getMock(); + $this->discoveryService = $this->createMock(DiscoveryService::class); $this->discoveryService->expects($this->any())->method('discover')->willReturn([]); $this->logger = $this->createMock(LoggerInterface::class); } - public function testSync() { - /** @var DbHandler | MockObject $dbHandler */ - $dbHandler = $this->getMockBuilder('OCA\Federation\DbHandler') - ->disableOriginalConstructor() - ->getMock(); + public function testSync(): void { + /** @var DbHandler&MockObject $dbHandler */ + $dbHandler = $this->createMock(DbHandler::class); $dbHandler->method('getAllServer') ->willReturn([ [ - 'url' => 'https://cloud.drop.box', + 'url' => 'https://cloud.example.org', 'url_hash' => 'sha1', - 'shared_secret' => 'iloveowncloud', + 'shared_secret' => 'ilovenextcloud', 'sync_token' => '0' ] ]); - $dbHandler->expects($this->once())->method('setServerStatus')-> - with('https://cloud.drop.box', 1, '1'); - $syncService = $this->getMockBuilder('OCA\DAV\CardDAV\SyncService') - ->disableOriginalConstructor() - ->getMock(); + $dbHandler->expects($this->once())->method('setServerStatus') + ->with('https://cloud.example.org', 1, '1'); + $syncService = $this->createMock(SyncService::class); $syncService->expects($this->once())->method('syncRemoteAddressBook') - ->willReturn('1'); + ->willReturn(['1', false]); - /** @var \OCA\DAV\CardDAV\SyncService $syncService */ + /** @var SyncService $syncService */ $s = new SyncFederationAddressBooks($dbHandler, $syncService, $this->discoveryService, $this->logger); - $s->syncThemAll(function ($url, $ex) { + $s->syncThemAll(function ($url, $ex): void { $this->callBacks[] = [$url, $ex]; }); - $this->assertEquals('1', count($this->callBacks)); + $this->assertCount(1, $this->callBacks); } - public function testException() { - /** @var DbHandler | MockObject $dbHandler */ - $dbHandler = $this->getMockBuilder('OCA\Federation\DbHandler')-> - disableOriginalConstructor()-> - getMock(); - $dbHandler->method('getAllServer')-> - willReturn([ - [ - 'url' => 'https://cloud.drop.box', - 'url_hash' => 'sha1', - 'shared_secret' => 'iloveowncloud', - 'sync_token' => '0' - ] - ]); - $syncService = $this->getMockBuilder('OCA\DAV\CardDAV\SyncService') - ->disableOriginalConstructor() - ->getMock(); + public function testException(): void { + /** @var DbHandler&MockObject $dbHandler */ + $dbHandler = $this->createMock(DbHandler::class); + $dbHandler->method('getAllServer') + ->willReturn([ + [ + 'url' => 'https://cloud.example.org', + 'url_hash' => 'sha1', + 'shared_secret' => 'ilovenextcloud', + 'sync_token' => '0' + ] + ]); + $syncService = $this->createMock(SyncService::class); $syncService->expects($this->once())->method('syncRemoteAddressBook') ->willThrowException(new \Exception('something did not work out')); - /** @var \OCA\DAV\CardDAV\SyncService $syncService */ + /** @var SyncService $syncService */ + $s = new SyncFederationAddressBooks($dbHandler, $syncService, $this->discoveryService, $this->logger); + $s->syncThemAll(function ($url, $ex): void { + $this->callBacks[] = [$url, $ex]; + }); + $this->assertCount(2, $this->callBacks); + } + + public function testSuccessfulSyncWithoutChangesAfterFailure(): void { + /** @var DbHandler&MockObject $dbHandler */ + $dbHandler = $this->createMock(DbHandler::class); + $dbHandler->method('getAllServer') + ->willReturn([ + [ + 'url' => 'https://cloud.example.org', + 'url_hash' => 'sha1', + 'shared_secret' => 'ilovenextcloud', + 'sync_token' => '0' + ] + ]); + $dbHandler->method('getServerStatus')->willReturn(TrustedServers::STATUS_FAILURE); + $dbHandler->expects($this->once())->method('setServerStatus') + ->with('https://cloud.example.org', 1); + $syncService = $this->createMock(SyncService::class); + $syncService->expects($this->once())->method('syncRemoteAddressBook') + ->willReturn(['0', false]); + + /** @var SyncService $syncService */ $s = new SyncFederationAddressBooks($dbHandler, $syncService, $this->discoveryService, $this->logger); - $s->syncThemAll(function ($url, $ex) { + $s->syncThemAll(function ($url, $ex): void { $this->callBacks[] = [$url, $ex]; }); - $this->assertEquals(2, count($this->callBacks)); + $this->assertCount(1, $this->callBacks); } } diff --git a/apps/federation/tests/TrustedServersTest.php b/apps/federation/tests/TrustedServersTest.php index 52979cdc538..0c900f6edf7 100644 --- a/apps/federation/tests/TrustedServersTest.php +++ b/apps/federation/tests/TrustedServersTest.php @@ -1,5 +1,6 @@ <?php +declare(strict_types=1); /** * SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors * SPDX-FileCopyrightText: 2016 ownCloud, Inc. @@ -7,67 +8,48 @@ */ namespace OCA\Federation\Tests; +use OCA\Federation\BackgroundJob\RequestSharedSecret; use OCA\Federation\DbHandler; use OCA\Federation\TrustedServers; use OCP\AppFramework\Utility\ITimeFactory; use OCP\BackgroundJob\IJobList; use OCP\EventDispatcher\IEventDispatcher; +use OCP\Federation\Events\TrustedServerRemovedEvent; +use OCP\HintException; use OCP\Http\Client\IClient; use OCP\Http\Client\IClientService; use OCP\Http\Client\IResponse; use OCP\IConfig; use OCP\Security\ISecureRandom; +use PHPUnit\Framework\MockObject\MockObject; use Psr\Log\LoggerInterface; use Test\TestCase; class TrustedServersTest extends TestCase { - /** @var \PHPUnit\Framework\MockObject\MockObject | TrustedServers */ - private $trustedServers; - - /** @var \PHPUnit\Framework\MockObject\MockObject | DbHandler */ - private $dbHandler; - - /** @var \PHPUnit\Framework\MockObject\MockObject | IClientService */ - private $httpClientService; - - /** @var \PHPUnit\Framework\MockObject\MockObject | IClient */ - private $httpClient; - - /** @var \PHPUnit\Framework\MockObject\MockObject | IResponse */ - private $response; - - /** @var \PHPUnit\Framework\MockObject\MockObject | LoggerInterface */ - private $logger; - - /** @var \PHPUnit\Framework\MockObject\MockObject | IJobList */ - private $jobList; - - /** @var \PHPUnit\Framework\MockObject\MockObject | ISecureRandom */ - private $secureRandom; - - /** @var \PHPUnit\Framework\MockObject\MockObject | IConfig */ - private $config; - - /** @var \PHPUnit\Framework\MockObject\MockObject | IEventDispatcher */ - private $dispatcher; - - /** @var \PHPUnit\Framework\MockObject\MockObject|ITimeFactory */ - private $timeFactory; + private TrustedServers $trustedServers; + private DbHandler&MockObject $dbHandler; + private IClientService&MockObject $httpClientService; + private IClient&MockObject $httpClient; + private IResponse&MockObject $response; + private LoggerInterface&MockObject $logger; + private IJobList&MockObject $jobList; + private ISecureRandom&MockObject $secureRandom; + private IConfig&MockObject $config; + private IEventDispatcher&MockObject $dispatcher; + private ITimeFactory&MockObject $timeFactory; protected function setUp(): void { parent::setUp(); - $this->dbHandler = $this->getMockBuilder(DbHandler::class) - ->disableOriginalConstructor()->getMock(); - $this->dispatcher = $this->getMockBuilder(IEventDispatcher::class) - ->disableOriginalConstructor()->getMock(); - $this->httpClientService = $this->getMockBuilder(IClientService::class)->getMock(); - $this->httpClient = $this->getMockBuilder(IClient::class)->getMock(); - $this->response = $this->getMockBuilder(IResponse::class)->getMock(); - $this->logger = $this->getMockBuilder(LoggerInterface::class)->getMock(); - $this->jobList = $this->getMockBuilder(IJobList::class)->getMock(); - $this->secureRandom = $this->getMockBuilder(ISecureRandom::class)->getMock(); - $this->config = $this->getMockBuilder(IConfig::class)->getMock(); + $this->dbHandler = $this->createMock(DbHandler::class); + $this->dispatcher = $this->createMock(IEventDispatcher::class); + $this->httpClientService = $this->createMock(IClientService::class); + $this->httpClient = $this->createMock(IClient::class); + $this->response = $this->createMock(IResponse::class); + $this->logger = $this->createMock(LoggerInterface::class); + $this->jobList = $this->createMock(IJobList::class); + $this->secureRandom = $this->createMock(ISecureRandom::class); + $this->config = $this->createMock(IConfig::class); $this->timeFactory = $this->createMock(ITimeFactory::class); $this->trustedServers = new TrustedServers( @@ -83,8 +65,8 @@ class TrustedServersTest extends TestCase { } public function testAddServer(): void { - /** @var \PHPUnit\Framework\MockObject\MockObject|TrustedServers $trustedServers */ - $trustedServers = $this->getMockBuilder('OCA\Federation\TrustedServers') + /** @var TrustedServers&MockObject $trustedServers */ + $trustedServers = $this->getMockBuilder(TrustedServers::class) ->setConstructorArgs( [ $this->dbHandler, @@ -97,10 +79,10 @@ class TrustedServersTest extends TestCase { $this->timeFactory ] ) - ->setMethods(['normalizeUrl', 'updateProtocol']) + ->onlyMethods(['updateProtocol']) ->getMock(); $trustedServers->expects($this->once())->method('updateProtocol') - ->with('url')->willReturn('https://url'); + ->with('url')->willReturn('https://url'); $this->timeFactory->method('getTime') ->willReturn(1234567); $this->dbHandler->expects($this->once())->method('addServer')->with('https://url') @@ -110,12 +92,12 @@ class TrustedServersTest extends TestCase { ->willReturn('token'); $this->dbHandler->expects($this->once())->method('addToken')->with('https://url', 'token'); $this->jobList->expects($this->once())->method('add') - ->with('OCA\Federation\BackgroundJob\RequestSharedSecret', + ->with(RequestSharedSecret::class, ['url' => 'https://url', 'token' => 'token', 'created' => 1234567]); $this->assertSame( - $trustedServers->addServer('url'), - 1 + 1, + $trustedServers->addServer('url') ); } @@ -127,9 +109,9 @@ class TrustedServersTest extends TestCase { public function testGetSharedSecret(): void { $this->dbHandler->expects($this->once()) - ->method('getSharedSecret') - ->with('url') - ->willReturn('secret'); + ->method('getSharedSecret') + ->with('url') + ->willReturn('secret'); $this->assertSame( $this->trustedServers->getSharedSecret('url'), 'secret' @@ -144,8 +126,8 @@ class TrustedServersTest extends TestCase { ->willReturn($server); $this->dispatcher->expects($this->once())->method('dispatchTyped') ->willReturnCallback( - function ($event) { - $this->assertSame(get_class($event), \OCP\Federation\Events\TrustedServerRemovedEvent::class); + function ($event): void { + $this->assertSame(get_class($event), TrustedServerRemovedEvent::class); /** @var \OCP\Federated\Events\TrustedServerRemovedEvent $event */ $this->assertSame('url_hash', $event->getUrlHash()); } @@ -162,6 +144,64 @@ class TrustedServersTest extends TestCase { ); } + public static function dataTestGetServer() { + return [ + [ + 15, + [ + 'id' => 15, + 'otherData' => 'first server', + ] + ], + [ + 16, + [ + 'id' => 16, + 'otherData' => 'second server', + ] + ], + [ + 42, + [ + 'id' => 42, + 'otherData' => 'last server', + ] + ], + [ + 108, + null + ], + ]; + } + + #[\PHPUnit\Framework\Attributes\DataProvider('dataTestGetServer')] + public function testGetServer(int $id, ?array $expectedServer): void { + $servers = [ + [ + 'id' => 15, + 'otherData' => 'first server', + ], + [ + 'id' => 16, + 'otherData' => 'second server', + ], + [ + 'id' => 42, + 'otherData' => 'last server', + ], + ]; + $this->dbHandler->expects($this->once())->method('getAllServer')->willReturn($servers); + + if ($expectedServer === null) { + $this->expectException(\Exception::class); + $this->expectExceptionMessage('No server found with ID: ' . $id); + } + + $this->assertEquals( + $expectedServer, + $this->trustedServers->getServer($id) + ); + } public function testIsTrustedServer(): void { $this->dbHandler->expects($this->once()) @@ -173,13 +213,13 @@ class TrustedServersTest extends TestCase { ); } - public function testSetServerStatus() { + public function testSetServerStatus(): void { $this->dbHandler->expects($this->once())->method('setServerStatus') ->with('url', 1); $this->trustedServers->setServerStatus('url', 1); } - public function testGetServerStatus() { + public function testGetServerStatus(): void { $this->dbHandler->expects($this->once())->method('getServerStatus') ->with('url')->willReturn(1); $this->assertSame( @@ -188,14 +228,12 @@ class TrustedServersTest extends TestCase { ); } - /** - * @dataProvider dataTestIsNextcloudServer - */ + #[\PHPUnit\Framework\Attributes\DataProvider('dataTestIsNextcloudServer')] public function testIsNextcloudServer(int $statusCode, bool $isValidNextcloudVersion, bool $expected): void { $server = 'server1'; - /** @var \PHPUnit\Framework\MockObject\MockObject | TrustedServers $trustedServers */ - $trustedServers = $this->getMockBuilder('OCA\Federation\TrustedServers') + /** @var TrustedServers&MockObject $trustedServers */ + $trustedServers = $this->getMockBuilder(TrustedServers::class) ->setConstructorArgs( [ $this->dbHandler, @@ -208,7 +246,7 @@ class TrustedServersTest extends TestCase { $this->timeFactory ] ) - ->setMethods(['checkNextcloudVersion']) + ->onlyMethods(['checkNextcloudVersion']) ->getMock(); $this->httpClientService->expects($this->once())->method('newClient') @@ -234,7 +272,7 @@ class TrustedServersTest extends TestCase { ); } - public function dataTestIsNextcloudServer(): array { + public static function dataTestIsNextcloudServer(): array { return [ [200, true, true], [200, false, false], @@ -242,63 +280,55 @@ class TrustedServersTest extends TestCase { ]; } - /** - * @expectedExceptionMessage simulated exception - */ public function testIsNextcloudServerFail(): void { $server = 'server1'; - $this->httpClientService->expects($this->once())->method('newClient') + $this->httpClientService->expects($this->once()) + ->method('newClient') ->willReturn($this->httpClient); - $this->httpClient->expects($this->once())->method('get')->with($server . '/status.php') - ->willReturnCallback(function () { - throw new \Exception('simulated exception'); - }); + $this->httpClient->expects($this->once()) + ->method('get') + ->with($server . '/status.php') + ->willThrowException(new \Exception('simulated exception')); $this->assertFalse($this->trustedServers->isNextcloudServer($server)); } - /** - * @dataProvider dataTestCheckNextcloudVersion - */ - public function testCheckNextcloudVersion($status): void { - $this->assertTrue($this->invokePrivate($this->trustedServers, 'checkNextcloudVersion', [$status])); + #[\PHPUnit\Framework\Attributes\DataProvider('dataTestCheckNextcloudVersion')] + public function testCheckNextcloudVersion(string $status): void { + $this->assertTrue(self::invokePrivate($this->trustedServers, 'checkNextcloudVersion', [$status])); } - public function dataTestCheckNextcloudVersion(): array { + public static function dataTestCheckNextcloudVersion(): array { return [ ['{"version":"9.0.0"}'], ['{"version":"9.1.0"}'] ]; } - /** - * @dataProvider dataTestCheckNextcloudVersionTooLow - */ + #[\PHPUnit\Framework\Attributes\DataProvider('dataTestCheckNextcloudVersionTooLow')] public function testCheckNextcloudVersionTooLow(string $status): void { - $this->expectException(\OCP\HintException::class); + $this->expectException(HintException::class); $this->expectExceptionMessage('Remote server version is too low. 9.0 is required.'); - $this->invokePrivate($this->trustedServers, 'checkNextcloudVersion', [$status]); + self::invokePrivate($this->trustedServers, 'checkNextcloudVersion', [$status]); } - public function dataTestCheckNextcloudVersionTooLow(): array { + public static function dataTestCheckNextcloudVersionTooLow(): array { return [ ['{"version":"8.2.3"}'], ]; } - /** - * @dataProvider dataTestUpdateProtocol - */ + #[\PHPUnit\Framework\Attributes\DataProvider('dataTestUpdateProtocol')] public function testUpdateProtocol(string $url, string $expected): void { $this->assertSame($expected, - $this->invokePrivate($this->trustedServers, 'updateProtocol', [$url]) + self::invokePrivate($this->trustedServers, 'updateProtocol', [$url]) ); } - public function dataTestUpdateProtocol(): array { + public static function dataTestUpdateProtocol(): array { return [ ['http://owncloud.org', 'http://owncloud.org'], ['https://owncloud.org', 'https://owncloud.org'], |