diff options
Diffstat (limited to 'apps')
231 files changed, 1993 insertions, 828 deletions
diff --git a/apps/encryption/appinfo/application.php b/apps/encryption/appinfo/application.php index 0d6f57f46e9..10ad610cd4a 100644 --- a/apps/encryption/appinfo/application.php +++ b/apps/encryption/appinfo/application.php @@ -104,7 +104,8 @@ class Application extends \OCP\AppFramework\App { $container->query('Crypt'), $container->query('KeyManager'), $container->query('Util'), - $container->getServer()->getLogger() + $container->getServer()->getLogger(), + $container->getServer()->getL10N($container->getAppName()) ); }); @@ -209,7 +210,8 @@ class Application extends \OCP\AppFramework\App { $c->query('Crypt'), $server->getLogger(), $server->getUserSession(), - $server->getConfig()); + $server->getConfig(), + $server->getUserManager()); }); } diff --git a/apps/encryption/css/settings-admin.css b/apps/encryption/css/settings-admin.css new file mode 100644 index 00000000000..47360e6bcf6 --- /dev/null +++ b/apps/encryption/css/settings-admin.css @@ -0,0 +1,23 @@ +/** + * @author Björn Schießle <schiessle@owncloud.com> + * + * @copyright Copyright (c) 2015, ownCloud, Inc. + * @license AGPL-3.0 + * + * This code is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License, version 3, + * as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License, version 3, + * along with this program. If not, see <http://www.gnu.org/licenses/> + * + */ + +#encryptionAPI input[type=password] { + width: 300px; +} diff --git a/apps/encryption/js/settings-admin.js b/apps/encryption/js/settings-admin.js index fdc53c52152..39923718c21 100644 --- a/apps/encryption/js/settings-admin.js +++ b/apps/encryption/js/settings-admin.js @@ -8,37 +8,51 @@ */ $(document).ready(function () { + + $('input:button[name="enableRecoveryKey"]').click(function () { - $('input:radio[name="adminEnableRecovery"]').change( - function () { - var recoveryStatus = $(this).val(); - var oldStatus = (1 + parseInt(recoveryStatus)) % 2; - var recoveryPassword = $('#encryptionRecoveryPassword').val(); - var confirmPassword = $('#repeatEncryptionRecoveryPassword').val(); - OC.msg.startSaving('#encryptionSetRecoveryKey .msg'); - $.post( - OC.generateUrl('/apps/encryption/ajax/adminRecovery'), - { - adminEnableRecovery: recoveryStatus, - recoveryPassword: recoveryPassword, - confirmPassword: confirmPassword + var recoveryStatus = $(this).attr('status'); + var newRecoveryStatus = (1 + parseInt(recoveryStatus)) % 2; + var buttonValue = $(this).attr('value'); + + var recoveryPassword = $('#encryptionRecoveryPassword').val(); + var confirmPassword = $('#repeatEncryptionRecoveryPassword').val(); + OC.msg.startSaving('#encryptionSetRecoveryKey .msg'); + $.post( + OC.generateUrl('/apps/encryption/ajax/adminRecovery'), + { + adminEnableRecovery: newRecoveryStatus, + recoveryPassword: recoveryPassword, + confirmPassword: confirmPassword + } + ).done(function (data) { + OC.msg.finishedSuccess('#encryptionSetRecoveryKey .msg', data.data.message); + + if (newRecoveryStatus === 0) { + $('p[name="changeRecoveryPasswordBlock"]').addClass("hidden"); + $('input:button[name="enableRecoveryKey"]').attr('value', 'Enable recovery key'); + $('input:button[name="enableRecoveryKey"]').attr('status', '0'); + } else { + $('input:password[name="changeRecoveryPassword"]').val(""); + $('p[name="changeRecoveryPasswordBlock"]').removeClass("hidden"); + $('input:button[name="enableRecoveryKey"]').attr('value', 'Disable recovery key'); + $('input:button[name="enableRecoveryKey"]').attr('status', '1'); } - ).done(function (data) { - OC.msg.finishedSuccess('#encryptionSetRecoveryKey .msg', data.data.message); + }) + .fail(function (jqXHR) { + $('input:button[name="enableRecoveryKey"]').attr('value', buttonValue); + $('input:button[name="enableRecoveryKey"]').attr('status', recoveryStatus); + OC.msg.finishedError('#encryptionSetRecoveryKey .msg', JSON.parse(jqXHR.responseText).data.message); + }); + - if (recoveryStatus === "0") { - $('p[name="changeRecoveryPasswordBlock"]').addClass("hidden"); - } else { - $('input:password[name="changeRecoveryPassword"]').val(""); - $('p[name="changeRecoveryPasswordBlock"]').removeClass("hidden"); - } - }) - .fail(function (jqXHR) { - $('input:radio[name="adminEnableRecovery"][value="' + oldStatus.toString() + '"]').attr("checked", "true"); - OC.msg.finishedError('#encryptionSetRecoveryKey .msg', JSON.parse(jqXHR.responseText).data.message); - }); + }); + + $("#repeatEncryptionRecoveryPassword").keyup(function (event) { + if (event.keyCode == 13) { + $("#enableRecoveryKey").click(); } - ); + }); // change recovery password diff --git a/apps/encryption/js/settings-personal.js b/apps/encryption/js/settings-personal.js index 658ba2a86ec..fa94bea6bc5 100644 --- a/apps/encryption/js/settings-personal.js +++ b/apps/encryption/js/settings-personal.js @@ -12,7 +12,7 @@ OC.Encryption = { updatePrivateKeyPassword: function () { var oldPrivateKeyPassword = $('input:password[id="oldPrivateKeyPassword"]').val(); var newPrivateKeyPassword = $('input:password[id="newPrivateKeyPassword"]').val(); - OC.msg.startSaving('#encryption .msg'); + OC.msg.startSaving('#ocDefaultEncryptionModule .msg'); $.post( OC.generateUrl('/apps/encryption/ajax/updatePrivateKeyPassword'), { @@ -20,10 +20,10 @@ OC.Encryption = { newPassword: newPrivateKeyPassword } ).done(function (data) { - OC.msg.finishedSuccess('#encryption .msg', data.message); + OC.msg.finishedSuccess('#ocDefaultEncryptionModule .msg', data.message); }) .fail(function (jqXHR) { - OC.msg.finishedError('#encryption .msg', JSON.parse(jqXHR.responseText).message); + OC.msg.finishedError('#ocDefaultEncryptionModule .msg', JSON.parse(jqXHR.responseText).message); }); } }; diff --git a/apps/encryption/l10n/ar.js b/apps/encryption/l10n/ar.js index 446f2bda9a3..3e3d73ead26 100644 --- a/apps/encryption/l10n/ar.js +++ b/apps/encryption/l10n/ar.js @@ -11,11 +11,7 @@ OC.L10N.register( "Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "المفتاح الخاص بتشفير التطبيقات غير صالح. يرجى تحديث كلمة السر الخاصة بالمفتاح الخاص من الإعدادت الشخصية حتى تتمكن من الوصول للملفات المشفرة.", "Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "تم تمكين تشفير البرامج لكن لم يتم تهيئة المفاتيح لذا يرجى تسجيل الخروج ثم تسجيل الدخول مرة آخرى.", "Recovery key password" : "استعادة كلمة مرور المفتاح", - "Repeat Recovery key password" : "كرر كلمة المرور لـ استعادة المفتاح", "Change recovery key password:" : "تعديل كلمة المرور استعادة المفتاح:", - "Old Recovery key password" : "كلمة المرور القديمة لـ استعامة المفتاح", - "New Recovery key password" : "تعيين كلمة مرور جديدة لـ استعادة المفتاح", - "Repeat New Recovery key password" : "كرر كلمة المرور لـ استعادة المفتاح من جديد", "Change Password" : "عدل كلمة السر", " If you don't remember your old password you can ask your administrator to recover your files." : "اذا كنت لاتتذكر كلمة السر تستطيع ان تطلب من المدير ان يستعيد ملفاتك.", "Old log-in password" : "كلمة المرور القديمة الخاصة بالدخول", diff --git a/apps/encryption/l10n/ar.json b/apps/encryption/l10n/ar.json index b1dd298d419..8cb0aa2e3a5 100644 --- a/apps/encryption/l10n/ar.json +++ b/apps/encryption/l10n/ar.json @@ -9,11 +9,7 @@ "Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "المفتاح الخاص بتشفير التطبيقات غير صالح. يرجى تحديث كلمة السر الخاصة بالمفتاح الخاص من الإعدادت الشخصية حتى تتمكن من الوصول للملفات المشفرة.", "Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "تم تمكين تشفير البرامج لكن لم يتم تهيئة المفاتيح لذا يرجى تسجيل الخروج ثم تسجيل الدخول مرة آخرى.", "Recovery key password" : "استعادة كلمة مرور المفتاح", - "Repeat Recovery key password" : "كرر كلمة المرور لـ استعادة المفتاح", "Change recovery key password:" : "تعديل كلمة المرور استعادة المفتاح:", - "Old Recovery key password" : "كلمة المرور القديمة لـ استعامة المفتاح", - "New Recovery key password" : "تعيين كلمة مرور جديدة لـ استعادة المفتاح", - "Repeat New Recovery key password" : "كرر كلمة المرور لـ استعادة المفتاح من جديد", "Change Password" : "عدل كلمة السر", " If you don't remember your old password you can ask your administrator to recover your files." : "اذا كنت لاتتذكر كلمة السر تستطيع ان تطلب من المدير ان يستعيد ملفاتك.", "Old log-in password" : "كلمة المرور القديمة الخاصة بالدخول", diff --git a/apps/encryption/l10n/ast.js b/apps/encryption/l10n/ast.js index b5d4796ade9..637a66d178c 100644 --- a/apps/encryption/l10n/ast.js +++ b/apps/encryption/l10n/ast.js @@ -11,11 +11,7 @@ OC.L10N.register( "Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "Clave privada non válida pa Encryption. Por favor, anueva la to contraseña de clave nos tos axustes personales pa recuperar l'accesu a los tos ficheros cifraos.", "Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "L'aplicación Encryption ta habilitada pero les tos claves nun s'aniciaron, por favor zarra sesión y aníciala de nueves", "Recovery key password" : "Contraseña de clave de recuperación", - "Repeat Recovery key password" : "Repeti la contraseña de clave de recuperación", "Change recovery key password:" : "Camudar la contraseña de la clave de recuperación", - "Old Recovery key password" : "Clave de recuperación vieya", - "New Recovery key password" : "Clave de recuperación nueva", - "Repeat New Recovery key password" : "Repetir la clave de recuperación nueva", "Change Password" : "Camudar contraseña", "Set your old private key password to your current log-in password:" : "Afita la contraseña de clave privada vieya pa la to contraseña d'aniciu de sesión actual:", " If you don't remember your old password you can ask your administrator to recover your files." : "Si nun recuerdes la contraseña vieya, pues pidir a alministrador que te recupere los ficheros.", diff --git a/apps/encryption/l10n/ast.json b/apps/encryption/l10n/ast.json index f58905f762a..30f3c70aab8 100644 --- a/apps/encryption/l10n/ast.json +++ b/apps/encryption/l10n/ast.json @@ -9,11 +9,7 @@ "Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "Clave privada non válida pa Encryption. Por favor, anueva la to contraseña de clave nos tos axustes personales pa recuperar l'accesu a los tos ficheros cifraos.", "Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "L'aplicación Encryption ta habilitada pero les tos claves nun s'aniciaron, por favor zarra sesión y aníciala de nueves", "Recovery key password" : "Contraseña de clave de recuperación", - "Repeat Recovery key password" : "Repeti la contraseña de clave de recuperación", "Change recovery key password:" : "Camudar la contraseña de la clave de recuperación", - "Old Recovery key password" : "Clave de recuperación vieya", - "New Recovery key password" : "Clave de recuperación nueva", - "Repeat New Recovery key password" : "Repetir la clave de recuperación nueva", "Change Password" : "Camudar contraseña", "Set your old private key password to your current log-in password:" : "Afita la contraseña de clave privada vieya pa la to contraseña d'aniciu de sesión actual:", " If you don't remember your old password you can ask your administrator to recover your files." : "Si nun recuerdes la contraseña vieya, pues pidir a alministrador que te recupere los ficheros.", diff --git a/apps/encryption/l10n/az.js b/apps/encryption/l10n/az.js index f453f5aa757..b82034083e9 100644 --- a/apps/encryption/l10n/az.js +++ b/apps/encryption/l10n/az.js @@ -20,11 +20,7 @@ OC.L10N.register( "Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "Şifrələnmə proqramı üçün yalnış şəxsi açar. Xahiş olunur öz şəxsi quraşdırmalarınızda şəxsi açarınızı yeniləyəsiniz ki, şifrələnmiş fayllara yetki ala biləsiniz. ", "Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "Proqram şifrələnməsi işə salınıb ancaq, sizin açarlar inisializasiya edilməyib. Xahiş edilir çıxıb yenidən daxil olasınız", "Recovery key password" : "Açar şifrənin bərpa edilməsi", - "Repeat Recovery key password" : "Bərpa açarın şifrəsini təkrar edin", "Change recovery key password:" : "Bərpa açarın şifrəsini dəyişdir:", - "Old Recovery key password" : "Köhnə bərpa açarı şifrəsi", - "New Recovery key password" : "Yeni bərpa açarı şifrəsi", - "Repeat New Recovery key password" : "Yeni bərpa açarı şifrəsini təkrar edin", "Change Password" : "Şifrəni dəyişdir", "Your private key password no longer matches your log-in password." : "Sizin gizli açar şifrəsi, artıq giriş adınızla uyğun gəlmir.", "Set your old private key password to your current log-in password:" : "Köhnə açar şifrənizi, sizin hal-hazırki giriş şifrənizə təyin edin: ", diff --git a/apps/encryption/l10n/az.json b/apps/encryption/l10n/az.json index 72f5c2a29df..32f59791733 100644 --- a/apps/encryption/l10n/az.json +++ b/apps/encryption/l10n/az.json @@ -18,11 +18,7 @@ "Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "Şifrələnmə proqramı üçün yalnış şəxsi açar. Xahiş olunur öz şəxsi quraşdırmalarınızda şəxsi açarınızı yeniləyəsiniz ki, şifrələnmiş fayllara yetki ala biləsiniz. ", "Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "Proqram şifrələnməsi işə salınıb ancaq, sizin açarlar inisializasiya edilməyib. Xahiş edilir çıxıb yenidən daxil olasınız", "Recovery key password" : "Açar şifrənin bərpa edilməsi", - "Repeat Recovery key password" : "Bərpa açarın şifrəsini təkrar edin", "Change recovery key password:" : "Bərpa açarın şifrəsini dəyişdir:", - "Old Recovery key password" : "Köhnə bərpa açarı şifrəsi", - "New Recovery key password" : "Yeni bərpa açarı şifrəsi", - "Repeat New Recovery key password" : "Yeni bərpa açarı şifrəsini təkrar edin", "Change Password" : "Şifrəni dəyişdir", "Your private key password no longer matches your log-in password." : "Sizin gizli açar şifrəsi, artıq giriş adınızla uyğun gəlmir.", "Set your old private key password to your current log-in password:" : "Köhnə açar şifrənizi, sizin hal-hazırki giriş şifrənizə təyin edin: ", diff --git a/apps/encryption/l10n/bg_BG.js b/apps/encryption/l10n/bg_BG.js index e6a064201eb..4683f2c05bc 100644 --- a/apps/encryption/l10n/bg_BG.js +++ b/apps/encryption/l10n/bg_BG.js @@ -20,11 +20,7 @@ OC.L10N.register( "Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "Невалиден личен ключ за Криптиращата Програма. Моля, обнови личния си ключ в Лични настройки, за да възстановиш достъпа до криптираните си файловете.", "Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "Програмата за криптиране е включена, но твоите ключове не са зададени, моля отпиши си и се впиши отново.", "Recovery key password" : "Парола за възстановяане на ключа", - "Repeat Recovery key password" : "Повтори паролата за възстановяване на ключа", "Change recovery key password:" : "Промени паролата за въстановяване на ключа:", - "Old Recovery key password" : "Старата парола за въстановяване на ключа", - "New Recovery key password" : "Новата парола за възстановяване на ключа", - "Repeat New Recovery key password" : "Повтори новата паролза за възстановяване на ключа", "Change Password" : "Промени Паролата", "Your private key password no longer matches your log-in password." : "Личният ти ключ не съвпада с паролата за вписване.", "Set your old private key password to your current log-in password:" : "Промени паролата за тайния ти включ на паролата за вписване:", diff --git a/apps/encryption/l10n/bg_BG.json b/apps/encryption/l10n/bg_BG.json index 23df23adc79..562dd0d2af5 100644 --- a/apps/encryption/l10n/bg_BG.json +++ b/apps/encryption/l10n/bg_BG.json @@ -18,11 +18,7 @@ "Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "Невалиден личен ключ за Криптиращата Програма. Моля, обнови личния си ключ в Лични настройки, за да възстановиш достъпа до криптираните си файловете.", "Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "Програмата за криптиране е включена, но твоите ключове не са зададени, моля отпиши си и се впиши отново.", "Recovery key password" : "Парола за възстановяане на ключа", - "Repeat Recovery key password" : "Повтори паролата за възстановяване на ключа", "Change recovery key password:" : "Промени паролата за въстановяване на ключа:", - "Old Recovery key password" : "Старата парола за въстановяване на ключа", - "New Recovery key password" : "Новата парола за възстановяване на ключа", - "Repeat New Recovery key password" : "Повтори новата паролза за възстановяване на ключа", "Change Password" : "Промени Паролата", "Your private key password no longer matches your log-in password." : "Личният ти ключ не съвпада с паролата за вписване.", "Set your old private key password to your current log-in password:" : "Промени паролата за тайния ти включ на паролата за вписване:", diff --git a/apps/encryption/l10n/bn_BD.js b/apps/encryption/l10n/bn_BD.js index 83a18e92f88..f91008e2408 100644 --- a/apps/encryption/l10n/bn_BD.js +++ b/apps/encryption/l10n/bn_BD.js @@ -4,11 +4,7 @@ OC.L10N.register( "Recovery key successfully enabled" : "পূনরুদ্ধার চাবি সার্থকভাবে কার্যকর করা হয়েছে", "Recovery key successfully disabled" : "পূনরুদ্ধার চাবি সার্থকভাবে অকার্যকর করা হয়েছে", "Password successfully changed." : "আপনার কূটশব্দটি সার্থকভাবে পরিবর্তন করা হয়েছে ", - "Repeat Recovery key password" : "পূণরূদ্ধার কি এর কুটশব্দ পূণরায় দিন", "Change recovery key password:" : "পূণরূদ্ধার কি এর কুটশব্দ পরিবর্তন করুন:", - "Old Recovery key password" : "পূণরূদ্ধার কি এর পুরাতন কুটশব্দ", - "New Recovery key password" : "পূণরূদ্ধার কি এর নতুন কুটশব্দ", - "Repeat New Recovery key password" : "পূণরূদ্ধার কি এর নতুন কুটশব্দ পূণরায় দিন", "Change Password" : "কূটশব্দ পরিবর্তন করুন", "Enabled" : "কার্যকর", "Disabled" : "অকার্যকর" diff --git a/apps/encryption/l10n/bn_BD.json b/apps/encryption/l10n/bn_BD.json index 4ce04754e6b..375bbd517a7 100644 --- a/apps/encryption/l10n/bn_BD.json +++ b/apps/encryption/l10n/bn_BD.json @@ -2,11 +2,7 @@ "Recovery key successfully enabled" : "পূনরুদ্ধার চাবি সার্থকভাবে কার্যকর করা হয়েছে", "Recovery key successfully disabled" : "পূনরুদ্ধার চাবি সার্থকভাবে অকার্যকর করা হয়েছে", "Password successfully changed." : "আপনার কূটশব্দটি সার্থকভাবে পরিবর্তন করা হয়েছে ", - "Repeat Recovery key password" : "পূণরূদ্ধার কি এর কুটশব্দ পূণরায় দিন", "Change recovery key password:" : "পূণরূদ্ধার কি এর কুটশব্দ পরিবর্তন করুন:", - "Old Recovery key password" : "পূণরূদ্ধার কি এর পুরাতন কুটশব্দ", - "New Recovery key password" : "পূণরূদ্ধার কি এর নতুন কুটশব্দ", - "Repeat New Recovery key password" : "পূণরূদ্ধার কি এর নতুন কুটশব্দ পূণরায় দিন", "Change Password" : "কূটশব্দ পরিবর্তন করুন", "Enabled" : "কার্যকর", "Disabled" : "অকার্যকর" diff --git a/apps/encryption/l10n/ca.js b/apps/encryption/l10n/ca.js index d9351d848a1..d1eff280140 100644 --- a/apps/encryption/l10n/ca.js +++ b/apps/encryption/l10n/ca.js @@ -11,11 +11,7 @@ OC.L10N.register( "Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "La clau privada de l'aplicació d'encriptació no és vàlida! Actualitzeu la contrasenya de la clau privada a l'arranjament personal per recuperar els fitxers encriptats.", "Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "L'aplicació d'encriptació està activada però les claus no estan inicialitzades, sortiu i acrediteu-vos de nou.", "Recovery key password" : "Clau de recuperació de la contrasenya", - "Repeat Recovery key password" : "Repetiu la clau de recuperació de contrasenya", "Change recovery key password:" : "Canvia la clau de recuperació de contrasenya:", - "Old Recovery key password" : "Antiga clau de recuperació de contrasenya", - "New Recovery key password" : "Nova clau de recuperació de contrasenya", - "Repeat New Recovery key password" : "Repetiu la nova clau de recuperació de contrasenya", "Change Password" : "Canvia la contrasenya", "Your private key password no longer matches your log-in password." : "La clau privada ja no es correspon amb la contrasenya d'accés:", "Set your old private key password to your current log-in password:" : "Establiu la vostra antiga clau privada a l'actual contrasenya d'accés:", diff --git a/apps/encryption/l10n/ca.json b/apps/encryption/l10n/ca.json index 16205e27683..0bb29d59c5a 100644 --- a/apps/encryption/l10n/ca.json +++ b/apps/encryption/l10n/ca.json @@ -9,11 +9,7 @@ "Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "La clau privada de l'aplicació d'encriptació no és vàlida! Actualitzeu la contrasenya de la clau privada a l'arranjament personal per recuperar els fitxers encriptats.", "Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "L'aplicació d'encriptació està activada però les claus no estan inicialitzades, sortiu i acrediteu-vos de nou.", "Recovery key password" : "Clau de recuperació de la contrasenya", - "Repeat Recovery key password" : "Repetiu la clau de recuperació de contrasenya", "Change recovery key password:" : "Canvia la clau de recuperació de contrasenya:", - "Old Recovery key password" : "Antiga clau de recuperació de contrasenya", - "New Recovery key password" : "Nova clau de recuperació de contrasenya", - "Repeat New Recovery key password" : "Repetiu la nova clau de recuperació de contrasenya", "Change Password" : "Canvia la contrasenya", "Your private key password no longer matches your log-in password." : "La clau privada ja no es correspon amb la contrasenya d'accés:", "Set your old private key password to your current log-in password:" : "Establiu la vostra antiga clau privada a l'actual contrasenya d'accés:", diff --git a/apps/encryption/l10n/cs_CZ.js b/apps/encryption/l10n/cs_CZ.js index 1dc7a468233..4aeae1741de 100644 --- a/apps/encryption/l10n/cs_CZ.js +++ b/apps/encryption/l10n/cs_CZ.js @@ -23,17 +23,17 @@ OC.L10N.register( "Private key password successfully updated." : "Heslo soukromého klíče úspěšně aktualizováno.", "Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "Chybný soukromý klíč pro šifrovací aplikaci. Aktualizujte prosím heslo svého soukromého klíče ve vašem osobním nastavení, abyste znovu získali přístup k vašim zašifrovaným souborům.", "Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "Aplikace pro šifrování je zapnuta, ale vaše klíče nejsou inicializované. Prosím odhlaste se a znovu přihlaste", - "ownCloud basic encryption module" : "ownCloud základní šifrovací modul", - "Enable recovery key: " : "Povolit záchranný klíč:", - "Recovery key password" : "Heslo klíče pro obnovu", - "Repeat Recovery key password" : "Zopakujte heslo klíče pro obnovu", "Enable recovery key" : "Povolit záchranný klíč", "Disable recovery key" : "Vypnout záchranný klíč", + "The recovery key is an extra encryption key that is used to encrypt files. It allows recovery of a user's files if the user forgets his or her password." : "Záchranný klíč je dodatečný šifrovací klíč použitý pro\nšifrování souborů. S jeho pomocí lze obnovit soubory uživatele při zapomenutí hesla.", + "Recovery key password" : "Heslo klíče pro obnovu", + "Repeat recovery key password" : "Zopakovat heslo záchranného klíče", "Change recovery key password:" : "Změna hesla klíče pro obnovu:", - "Old Recovery key password" : "Původní heslo klíče pro obnovu", - "New Recovery key password" : "Nové heslo klíče pro obnovu", - "Repeat New Recovery key password" : "Zopakujte nové heslo klíče pro obnovu", + "Old recovery key password" : "Staré heslo záchranného klíče", + "New recovery key password" : "Nové heslo záchranného klíče", + "Repeat new recovery key password" : "Zopakujte nové heslo záchranného klíče", "Change Password" : "Změnit heslo", + "ownCloud basic encryption module" : "ownCloud základní šifrovací modul", "Your private key password no longer matches your log-in password." : "Heslo vašeho soukromého klíče se již neshoduje s vaším přihlašovacím heslem.", "Set your old private key password to your current log-in password:" : "Změňte své staré heslo soukromého klíče na stejné, jako je vaše současné přihlašovací heslo:", " If you don't remember your old password you can ask your administrator to recover your files." : "Pokud si nepamatujete své původní heslo, můžete požádat správce o obnovu vašich souborů.", diff --git a/apps/encryption/l10n/cs_CZ.json b/apps/encryption/l10n/cs_CZ.json index 4c93ef45ac1..bea25e846c1 100644 --- a/apps/encryption/l10n/cs_CZ.json +++ b/apps/encryption/l10n/cs_CZ.json @@ -21,17 +21,17 @@ "Private key password successfully updated." : "Heslo soukromého klíče úspěšně aktualizováno.", "Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "Chybný soukromý klíč pro šifrovací aplikaci. Aktualizujte prosím heslo svého soukromého klíče ve vašem osobním nastavení, abyste znovu získali přístup k vašim zašifrovaným souborům.", "Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "Aplikace pro šifrování je zapnuta, ale vaše klíče nejsou inicializované. Prosím odhlaste se a znovu přihlaste", - "ownCloud basic encryption module" : "ownCloud základní šifrovací modul", - "Enable recovery key: " : "Povolit záchranný klíč:", - "Recovery key password" : "Heslo klíče pro obnovu", - "Repeat Recovery key password" : "Zopakujte heslo klíče pro obnovu", "Enable recovery key" : "Povolit záchranný klíč", "Disable recovery key" : "Vypnout záchranný klíč", + "The recovery key is an extra encryption key that is used to encrypt files. It allows recovery of a user's files if the user forgets his or her password." : "Záchranný klíč je dodatečný šifrovací klíč použitý pro\nšifrování souborů. S jeho pomocí lze obnovit soubory uživatele při zapomenutí hesla.", + "Recovery key password" : "Heslo klíče pro obnovu", + "Repeat recovery key password" : "Zopakovat heslo záchranného klíče", "Change recovery key password:" : "Změna hesla klíče pro obnovu:", - "Old Recovery key password" : "Původní heslo klíče pro obnovu", - "New Recovery key password" : "Nové heslo klíče pro obnovu", - "Repeat New Recovery key password" : "Zopakujte nové heslo klíče pro obnovu", + "Old recovery key password" : "Staré heslo záchranného klíče", + "New recovery key password" : "Nové heslo záchranného klíče", + "Repeat new recovery key password" : "Zopakujte nové heslo záchranného klíče", "Change Password" : "Změnit heslo", + "ownCloud basic encryption module" : "ownCloud základní šifrovací modul", "Your private key password no longer matches your log-in password." : "Heslo vašeho soukromého klíče se již neshoduje s vaším přihlašovacím heslem.", "Set your old private key password to your current log-in password:" : "Změňte své staré heslo soukromého klíče na stejné, jako je vaše současné přihlašovací heslo:", " If you don't remember your old password you can ask your administrator to recover your files." : "Pokud si nepamatujete své původní heslo, můžete požádat správce o obnovu vašich souborů.", diff --git a/apps/encryption/l10n/da.js b/apps/encryption/l10n/da.js index 806a2a15e9a..233c3b7ae68 100644 --- a/apps/encryption/l10n/da.js +++ b/apps/encryption/l10n/da.js @@ -21,14 +21,10 @@ OC.L10N.register( "Private key password successfully updated." : "Privat nøgle kodeord succesfuldt opdateret.", "Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "Ugyldig privat nøgle for krypteringsprogrammet. Opdater venligst dit kodeord for den private nøgle i dine personlige indstillinger. Det kræves for at få adgang til dine krypterede filer.", "Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "Krypteringsprogrammet er aktiveret, men din nøgler er ikke igangsat. Log venligst ud og ind igen.", - "ownCloud basic encryption module" : "ownCloud basis krypteringsmodul", "Recovery key password" : "Gendannelsesnøgle kodeord", - "Repeat Recovery key password" : "Gentag gendannelse af nøglekoden", "Change recovery key password:" : "Skift gendannelsesnøgle kodeord:", - "Old Recovery key password" : "Gammel Gendannelsesnøgle kodeord", - "New Recovery key password" : "Ny Gendannelsesnøgle kodeord", - "Repeat New Recovery key password" : "Gentag det nye gendannaleses nøglekodeord", "Change Password" : "Skift Kodeord", + "ownCloud basic encryption module" : "ownCloud basis krypteringsmodul", "Your private key password no longer matches your log-in password." : "Dit private nøglekodeord stemmer ikke længere overens med dit login-kodeord.", "Set your old private key password to your current log-in password:" : "Sæt dit gamle, private nøglekodeord til at være dit nuværende login-kodeord. ", " If you don't remember your old password you can ask your administrator to recover your files." : "Hvis du ikke kan huske dit gamle kodeord kan du bede din administrator om at gendanne dine filer.", diff --git a/apps/encryption/l10n/da.json b/apps/encryption/l10n/da.json index 0511170d8ff..a3c69c46a09 100644 --- a/apps/encryption/l10n/da.json +++ b/apps/encryption/l10n/da.json @@ -19,14 +19,10 @@ "Private key password successfully updated." : "Privat nøgle kodeord succesfuldt opdateret.", "Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "Ugyldig privat nøgle for krypteringsprogrammet. Opdater venligst dit kodeord for den private nøgle i dine personlige indstillinger. Det kræves for at få adgang til dine krypterede filer.", "Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "Krypteringsprogrammet er aktiveret, men din nøgler er ikke igangsat. Log venligst ud og ind igen.", - "ownCloud basic encryption module" : "ownCloud basis krypteringsmodul", "Recovery key password" : "Gendannelsesnøgle kodeord", - "Repeat Recovery key password" : "Gentag gendannelse af nøglekoden", "Change recovery key password:" : "Skift gendannelsesnøgle kodeord:", - "Old Recovery key password" : "Gammel Gendannelsesnøgle kodeord", - "New Recovery key password" : "Ny Gendannelsesnøgle kodeord", - "Repeat New Recovery key password" : "Gentag det nye gendannaleses nøglekodeord", "Change Password" : "Skift Kodeord", + "ownCloud basic encryption module" : "ownCloud basis krypteringsmodul", "Your private key password no longer matches your log-in password." : "Dit private nøglekodeord stemmer ikke længere overens med dit login-kodeord.", "Set your old private key password to your current log-in password:" : "Sæt dit gamle, private nøglekodeord til at være dit nuværende login-kodeord. ", " If you don't remember your old password you can ask your administrator to recover your files." : "Hvis du ikke kan huske dit gamle kodeord kan du bede din administrator om at gendanne dine filer.", diff --git a/apps/encryption/l10n/de.js b/apps/encryption/l10n/de.js index defbd8ae8b2..5dc4453fd74 100644 --- a/apps/encryption/l10n/de.js +++ b/apps/encryption/l10n/de.js @@ -23,17 +23,17 @@ OC.L10N.register( "Private key password successfully updated." : "Passwort des privaten Schlüssels erfolgreich aktualisiert", "Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "Ungültiger privater Schlüssel für die Verschlüsselung-App. Bitte aktualisiere Dein privates Schlüssel-Passwort, um den Zugriff auf Deine verschlüsselten Dateien wiederherzustellen.", "Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "Die Verschlüsselung-App ist aktiviert, aber Deine Schlüssel sind nicht initialisiert. Bitte melde Dich nochmals ab und wieder an.", - "ownCloud basic encryption module" : "ownCloud-Basisverschlüsselungsmodul", - "Enable recovery key: " : "Wiederherstellungsschlüssel aktivieren:", - "Recovery key password" : "Wiederherstellungsschlüssel-Passwort", - "Repeat Recovery key password" : "Schlüssel-Passwort zur Wiederherstellung wiederholen", "Enable recovery key" : "Wiederherstellungsschlüssel aktivieren", "Disable recovery key" : "Wiederherstellungsschlüssel deaktivieren", + "The recovery key is an extra encryption key that is used to encrypt files. It allows recovery of a user's files if the user forgets his or her password." : "Der Wiederherstellungsschlüssel ist ein zusätzlicher Verschlüsselungsschlüssel, der zum Verschlüsseln von Dateien benutzt wird. Er erlaubt die Wiederherstellung von Benutzerdateien auch dann, wenn der Benutzer sein oder ihr Passwort vergessen hat.", + "Recovery key password" : "Wiederherstellungsschlüssel-Passwort", + "Repeat recovery key password" : "Passwort für den Wiederherstellungsschlüssel wiederholen", "Change recovery key password:" : "Wiederherstellungsschlüssel-Passwort ändern:", - "Old Recovery key password" : "Altes Wiederherstellungsschlüssel-Passwort", - "New Recovery key password" : "Neues Wiederherstellungsschlüssel-Passwort", - "Repeat New Recovery key password" : "Neues Schlüssel-Passwort zur Wiederherstellung wiederholen", + "Old recovery key password" : "Altes Passwort für den Wiederherstellungsschlüssel", + "New recovery key password" : "Neues Passwort für den Wiederherstellungsschlüssel", + "Repeat new recovery key password" : "Neues Passwort für den Wiederherstellungsschlüssel wiederholen", "Change Password" : "Passwort ändern", + "ownCloud basic encryption module" : "ownCloud-Basisverschlüsselungsmodul", "Your private key password no longer matches your log-in password." : "Dein Passwort für Deinen privaten Schlüssel stimmt nicht mehr mit Deinem Loginpasswort überein.", "Set your old private key password to your current log-in password:" : "Dein altes Passwort für Deinen privaten Schlüssel auf Dein aktuelles Anmeldepasswort einstellen:", " If you don't remember your old password you can ask your administrator to recover your files." : "Wenn Du Dein altes Passwort vergessen hast, könntest Du Deinen Administrator bitten, Deine Daten wiederherzustellen.", diff --git a/apps/encryption/l10n/de.json b/apps/encryption/l10n/de.json index a9d19846c93..abccb4016d1 100644 --- a/apps/encryption/l10n/de.json +++ b/apps/encryption/l10n/de.json @@ -21,17 +21,17 @@ "Private key password successfully updated." : "Passwort des privaten Schlüssels erfolgreich aktualisiert", "Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "Ungültiger privater Schlüssel für die Verschlüsselung-App. Bitte aktualisiere Dein privates Schlüssel-Passwort, um den Zugriff auf Deine verschlüsselten Dateien wiederherzustellen.", "Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "Die Verschlüsselung-App ist aktiviert, aber Deine Schlüssel sind nicht initialisiert. Bitte melde Dich nochmals ab und wieder an.", - "ownCloud basic encryption module" : "ownCloud-Basisverschlüsselungsmodul", - "Enable recovery key: " : "Wiederherstellungsschlüssel aktivieren:", - "Recovery key password" : "Wiederherstellungsschlüssel-Passwort", - "Repeat Recovery key password" : "Schlüssel-Passwort zur Wiederherstellung wiederholen", "Enable recovery key" : "Wiederherstellungsschlüssel aktivieren", "Disable recovery key" : "Wiederherstellungsschlüssel deaktivieren", + "The recovery key is an extra encryption key that is used to encrypt files. It allows recovery of a user's files if the user forgets his or her password." : "Der Wiederherstellungsschlüssel ist ein zusätzlicher Verschlüsselungsschlüssel, der zum Verschlüsseln von Dateien benutzt wird. Er erlaubt die Wiederherstellung von Benutzerdateien auch dann, wenn der Benutzer sein oder ihr Passwort vergessen hat.", + "Recovery key password" : "Wiederherstellungsschlüssel-Passwort", + "Repeat recovery key password" : "Passwort für den Wiederherstellungsschlüssel wiederholen", "Change recovery key password:" : "Wiederherstellungsschlüssel-Passwort ändern:", - "Old Recovery key password" : "Altes Wiederherstellungsschlüssel-Passwort", - "New Recovery key password" : "Neues Wiederherstellungsschlüssel-Passwort", - "Repeat New Recovery key password" : "Neues Schlüssel-Passwort zur Wiederherstellung wiederholen", + "Old recovery key password" : "Altes Passwort für den Wiederherstellungsschlüssel", + "New recovery key password" : "Neues Passwort für den Wiederherstellungsschlüssel", + "Repeat new recovery key password" : "Neues Passwort für den Wiederherstellungsschlüssel wiederholen", "Change Password" : "Passwort ändern", + "ownCloud basic encryption module" : "ownCloud-Basisverschlüsselungsmodul", "Your private key password no longer matches your log-in password." : "Dein Passwort für Deinen privaten Schlüssel stimmt nicht mehr mit Deinem Loginpasswort überein.", "Set your old private key password to your current log-in password:" : "Dein altes Passwort für Deinen privaten Schlüssel auf Dein aktuelles Anmeldepasswort einstellen:", " If you don't remember your old password you can ask your administrator to recover your files." : "Wenn Du Dein altes Passwort vergessen hast, könntest Du Deinen Administrator bitten, Deine Daten wiederherzustellen.", diff --git a/apps/encryption/l10n/de_DE.js b/apps/encryption/l10n/de_DE.js index 4e8276ec039..9b8e571518a 100644 --- a/apps/encryption/l10n/de_DE.js +++ b/apps/encryption/l10n/de_DE.js @@ -23,17 +23,17 @@ OC.L10N.register( "Private key password successfully updated." : "Das Passwort des privaten Schlüssels wurde erfolgreich aktualisiert.", "Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "Ungültiger privater Schlüssel für die Verschlüsselungs-App. Bitte aktualisieren Sie Ihr privates Schlüsselpasswort, um den Zugriff auf Ihre verschlüsselten Dateien wiederherzustellen.", "Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "Verschlüsselung-App ist aktiviert, aber Ihre Schlüssel sind nicht initialisiert. Bitte nochmals ab- und wieder anmelden.", - "ownCloud basic encryption module" : "ownCloud-Basisverschlüsselungsmodul", - "Enable recovery key: " : "Wiederherstellungsschlüssel aktivieren:", - "Recovery key password" : "Wiederherstellungschlüsselpasswort", - "Repeat Recovery key password" : "Schlüsselpasswort zur Wiederherstellung wiederholen", "Enable recovery key" : "Wiederherstellungsschlüssel aktivieren", "Disable recovery key" : "Wiederherstellungsschlüssel deaktivieren", + "The recovery key is an extra encryption key that is used to encrypt files. It allows recovery of a user's files if the user forgets his or her password." : "Der Wiederherstellungsschlüssel ist ein zusätzlicher Verschlüsselungsschlüssel, der zum Verschlüsseln von Dateien benutzt wird. Er erlaubt die Wiederherstellung von Benutzerdateien auch dann, wenn der Benutzer sein oder ihr Passwort vergessen hat.", + "Recovery key password" : "Wiederherstellungschlüsselpasswort", + "Repeat recovery key password" : "Passwort für den Wiederherstellungsschlüssel wiederholen", "Change recovery key password:" : "Wiederherstellungsschlüsselpasswort ändern", - "Old Recovery key password" : "Altes Wiederherstellungsschlüsselpasswort", - "New Recovery key password" : "Neues Wiederherstellungsschlüsselpasswort ", - "Repeat New Recovery key password" : "Neues Schlüsselpasswort zur Wiederherstellung wiederholen", + "Old recovery key password" : "Altes Passwort für den Wiederherstellungsschlüssel", + "New recovery key password" : "Neues Passwort für den Wiederherstellungsschlüssel", + "Repeat new recovery key password" : "Neues Passwort für den Wiederherstellungsschlüssel wiederholen", "Change Password" : "Passwort ändern", + "ownCloud basic encryption module" : "ownCloud-Basisverschlüsselungsmodul", "Your private key password no longer matches your log-in password." : "Das Privatschlüsselpasswort stimmt nicht länger mit dem Anmeldepasswort überein.", "Set your old private key password to your current log-in password:" : "Ihr altes Privatschlüsselpasswort auf Ihr aktuelles Anmeldepasswort stellen:", " If you don't remember your old password you can ask your administrator to recover your files." : "Falls Sie sich nicht an Ihr altes Passwort erinnern können, fragen Sie bitte Ihren Administrator, um Ihre Dateien wiederherzustellen.", diff --git a/apps/encryption/l10n/de_DE.json b/apps/encryption/l10n/de_DE.json index f8d984a081b..aee9e551163 100644 --- a/apps/encryption/l10n/de_DE.json +++ b/apps/encryption/l10n/de_DE.json @@ -21,17 +21,17 @@ "Private key password successfully updated." : "Das Passwort des privaten Schlüssels wurde erfolgreich aktualisiert.", "Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "Ungültiger privater Schlüssel für die Verschlüsselungs-App. Bitte aktualisieren Sie Ihr privates Schlüsselpasswort, um den Zugriff auf Ihre verschlüsselten Dateien wiederherzustellen.", "Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "Verschlüsselung-App ist aktiviert, aber Ihre Schlüssel sind nicht initialisiert. Bitte nochmals ab- und wieder anmelden.", - "ownCloud basic encryption module" : "ownCloud-Basisverschlüsselungsmodul", - "Enable recovery key: " : "Wiederherstellungsschlüssel aktivieren:", - "Recovery key password" : "Wiederherstellungschlüsselpasswort", - "Repeat Recovery key password" : "Schlüsselpasswort zur Wiederherstellung wiederholen", "Enable recovery key" : "Wiederherstellungsschlüssel aktivieren", "Disable recovery key" : "Wiederherstellungsschlüssel deaktivieren", + "The recovery key is an extra encryption key that is used to encrypt files. It allows recovery of a user's files if the user forgets his or her password." : "Der Wiederherstellungsschlüssel ist ein zusätzlicher Verschlüsselungsschlüssel, der zum Verschlüsseln von Dateien benutzt wird. Er erlaubt die Wiederherstellung von Benutzerdateien auch dann, wenn der Benutzer sein oder ihr Passwort vergessen hat.", + "Recovery key password" : "Wiederherstellungschlüsselpasswort", + "Repeat recovery key password" : "Passwort für den Wiederherstellungsschlüssel wiederholen", "Change recovery key password:" : "Wiederherstellungsschlüsselpasswort ändern", - "Old Recovery key password" : "Altes Wiederherstellungsschlüsselpasswort", - "New Recovery key password" : "Neues Wiederherstellungsschlüsselpasswort ", - "Repeat New Recovery key password" : "Neues Schlüsselpasswort zur Wiederherstellung wiederholen", + "Old recovery key password" : "Altes Passwort für den Wiederherstellungsschlüssel", + "New recovery key password" : "Neues Passwort für den Wiederherstellungsschlüssel", + "Repeat new recovery key password" : "Neues Passwort für den Wiederherstellungsschlüssel wiederholen", "Change Password" : "Passwort ändern", + "ownCloud basic encryption module" : "ownCloud-Basisverschlüsselungsmodul", "Your private key password no longer matches your log-in password." : "Das Privatschlüsselpasswort stimmt nicht länger mit dem Anmeldepasswort überein.", "Set your old private key password to your current log-in password:" : "Ihr altes Privatschlüsselpasswort auf Ihr aktuelles Anmeldepasswort stellen:", " If you don't remember your old password you can ask your administrator to recover your files." : "Falls Sie sich nicht an Ihr altes Passwort erinnern können, fragen Sie bitte Ihren Administrator, um Ihre Dateien wiederherzustellen.", diff --git a/apps/encryption/l10n/el.js b/apps/encryption/l10n/el.js index 635c65b98e3..ec6491dc055 100644 --- a/apps/encryption/l10n/el.js +++ b/apps/encryption/l10n/el.js @@ -8,11 +8,13 @@ OC.L10N.register( "Could not enable recovery key. Please check your recovery key password!" : "Αποτυχία ενεργοποίησης κλειδιού ανάκτησης. Παρακαλώ ελέγξτε τον κωδικό του κλειδιού ανάκτησής σας!", "Recovery key successfully disabled" : "Επιτυχής απενεργοποίηση κλειδιού ανάκτησης", "Could not disable recovery key. Please check your recovery key password!" : "Αποτυχία απενεργοποίησης κλειδιού ανάκτησης. Παρακαλώ ελέγξτε τον κωδικό του κλειδιού ανάκτησής σας!", + "Missing parameters" : "Ελλιπείς παράμετροι", "Please provide the old recovery password" : "Παρακαλώ παρέχετε τον παλιό κωδικό επαναφοράς", "Please provide a new recovery password" : "Παρακαλώ παρέχετε ένα νέο κωδικό επαναφοράς", "Please repeat the new recovery password" : "Παρακαλώ επαναλάβετε το νέο κωδικό επαναφοράς", "Password successfully changed." : "Ο κωδικός αλλάχτηκε επιτυχώς.", "Could not change the password. Maybe the old password was not correct." : "Αποτυχία αλλαγής κωδικού ίσως ο παλιός κωδικός να μην ήταν σωστός.", + "Recovery Key disabled" : "Κλειδί ανάκτησης απενεργοποιημένο", "Recovery Key enabled" : "Κλειδί ανάκτησης ενεργοποιημένο", "Could not enable the recovery key, please try again or contact your administrator" : "Αδυναμία ενεργοποίησης κλειδιού ανάκτησης, παρακαλούμε προσπαθήστε αργότερα ή επικοινωνήστε με το διαχειριστή σας", "Could not update the private key password." : "Αποτυχία ενημέρωσης του προσωπικού κλειδιού πρόσβασης", @@ -21,14 +23,17 @@ OC.L10N.register( "Private key password successfully updated." : "Το Προσωπικό κλειδί πρόσβασης ενημερώθηκε επιτυχώς", "Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "Άκυρο προσωπικό κλειδί για την εφαρμογή κρυπτογράφησης. Παρακαλώ ενημερώστε τον κωδικό του προσωπικού κλειδίου σας στις προσωπικές ρυθμίσεις για να επανακτήσετε πρόσβαση στα κρυπτογραφημένα σας αρχεία.", "Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "Η εφαρμογή κρυπτογράφησης είναι ενεργοποιημένη αλλά τα κλειδιά σας δεν έχουν καταγραφεί, παρακαλώ αποσυνδεθείτε και επανασυνδεθείτε.", - "ownCloud basic encryption module" : "Βασική μονάδα κρυπτογράφησης του ", + "Enable recovery key" : "Ενεργοποίηση κλειδιού ανάκτησης", + "Disable recovery key" : "Απενεργοποίηση κλειδιού ανάκτησης", + "The recovery key is an extra encryption key that is used to encrypt files. It allows recovery of a user's files if the user forgets his or her password." : "Το κλειδί ανάκτησης είναι ένα επιπλέον κλειδί κρυπτογράφησης που χρησιμοποιείται για να κρυπτογραφήσει αρχεία. Επιτρέπει την ανάκτηση των αρχείων ενός χρήστη αν αυτός/αυτή ξεχάσει τον κωδικό πρόσβασης.", "Recovery key password" : "Επαναφορά κωδικού κλειδιού", - "Repeat Recovery key password" : "Επαναλάβετε το κλειδί επαναφοράς κωδικού", + "Repeat recovery key password" : "Επαναλάβετε τον κωδικό του κλειδιού ανάκτησης", "Change recovery key password:" : "Αλλαγή κλειδιού επαναφοράς κωδικού:", - "Old Recovery key password" : "Παλιό κλειδί επαναφοράς κωδικού", - "New Recovery key password" : "Νέο κλειδί επαναφοράς κωδικού", - "Repeat New Recovery key password" : "Επαναλάβετε νέο κλειδί επαναφοράς κωδικού", + "Old recovery key password" : "Παλιός κωδικός κλειδιού ανάκτησης", + "New recovery key password" : "Νέος κωδικός κλειδιού ανάκτησης", + "Repeat new recovery key password" : "Επαναλάβετε το νέο κωδικό κλειδιού ανάκτησης", "Change Password" : "Αλλαγή Κωδικού Πρόσβασης", + "ownCloud basic encryption module" : "Βασική μονάδα κρυπτογράφησης του ", "Your private key password no longer matches your log-in password." : "Ο κωδικός του ιδιωτικού κλειδιού σας δεν ταιριάζει πλέον με τον κωδικό σύνδεσής σας.", "Set your old private key password to your current log-in password:" : "Ορίστε τον παλιό σας κωδικό ιδιωτικού κλειδιού στον τρέχοντα κωδικό σύνδεσης.", " If you don't remember your old password you can ask your administrator to recover your files." : "Εάν δεν θυμάστε τον παλιό σας κωδικό μπορείτε να ζητήσετε από τον διαχειριστή σας να επανακτήσει τα αρχεία σας.", diff --git a/apps/encryption/l10n/el.json b/apps/encryption/l10n/el.json index 8d169b8e950..a94eac410da 100644 --- a/apps/encryption/l10n/el.json +++ b/apps/encryption/l10n/el.json @@ -6,11 +6,13 @@ "Could not enable recovery key. Please check your recovery key password!" : "Αποτυχία ενεργοποίησης κλειδιού ανάκτησης. Παρακαλώ ελέγξτε τον κωδικό του κλειδιού ανάκτησής σας!", "Recovery key successfully disabled" : "Επιτυχής απενεργοποίηση κλειδιού ανάκτησης", "Could not disable recovery key. Please check your recovery key password!" : "Αποτυχία απενεργοποίησης κλειδιού ανάκτησης. Παρακαλώ ελέγξτε τον κωδικό του κλειδιού ανάκτησής σας!", + "Missing parameters" : "Ελλιπείς παράμετροι", "Please provide the old recovery password" : "Παρακαλώ παρέχετε τον παλιό κωδικό επαναφοράς", "Please provide a new recovery password" : "Παρακαλώ παρέχετε ένα νέο κωδικό επαναφοράς", "Please repeat the new recovery password" : "Παρακαλώ επαναλάβετε το νέο κωδικό επαναφοράς", "Password successfully changed." : "Ο κωδικός αλλάχτηκε επιτυχώς.", "Could not change the password. Maybe the old password was not correct." : "Αποτυχία αλλαγής κωδικού ίσως ο παλιός κωδικός να μην ήταν σωστός.", + "Recovery Key disabled" : "Κλειδί ανάκτησης απενεργοποιημένο", "Recovery Key enabled" : "Κλειδί ανάκτησης ενεργοποιημένο", "Could not enable the recovery key, please try again or contact your administrator" : "Αδυναμία ενεργοποίησης κλειδιού ανάκτησης, παρακαλούμε προσπαθήστε αργότερα ή επικοινωνήστε με το διαχειριστή σας", "Could not update the private key password." : "Αποτυχία ενημέρωσης του προσωπικού κλειδιού πρόσβασης", @@ -19,14 +21,17 @@ "Private key password successfully updated." : "Το Προσωπικό κλειδί πρόσβασης ενημερώθηκε επιτυχώς", "Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "Άκυρο προσωπικό κλειδί για την εφαρμογή κρυπτογράφησης. Παρακαλώ ενημερώστε τον κωδικό του προσωπικού κλειδίου σας στις προσωπικές ρυθμίσεις για να επανακτήσετε πρόσβαση στα κρυπτογραφημένα σας αρχεία.", "Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "Η εφαρμογή κρυπτογράφησης είναι ενεργοποιημένη αλλά τα κλειδιά σας δεν έχουν καταγραφεί, παρακαλώ αποσυνδεθείτε και επανασυνδεθείτε.", - "ownCloud basic encryption module" : "Βασική μονάδα κρυπτογράφησης του ", + "Enable recovery key" : "Ενεργοποίηση κλειδιού ανάκτησης", + "Disable recovery key" : "Απενεργοποίηση κλειδιού ανάκτησης", + "The recovery key is an extra encryption key that is used to encrypt files. It allows recovery of a user's files if the user forgets his or her password." : "Το κλειδί ανάκτησης είναι ένα επιπλέον κλειδί κρυπτογράφησης που χρησιμοποιείται για να κρυπτογραφήσει αρχεία. Επιτρέπει την ανάκτηση των αρχείων ενός χρήστη αν αυτός/αυτή ξεχάσει τον κωδικό πρόσβασης.", "Recovery key password" : "Επαναφορά κωδικού κλειδιού", - "Repeat Recovery key password" : "Επαναλάβετε το κλειδί επαναφοράς κωδικού", + "Repeat recovery key password" : "Επαναλάβετε τον κωδικό του κλειδιού ανάκτησης", "Change recovery key password:" : "Αλλαγή κλειδιού επαναφοράς κωδικού:", - "Old Recovery key password" : "Παλιό κλειδί επαναφοράς κωδικού", - "New Recovery key password" : "Νέο κλειδί επαναφοράς κωδικού", - "Repeat New Recovery key password" : "Επαναλάβετε νέο κλειδί επαναφοράς κωδικού", + "Old recovery key password" : "Παλιός κωδικός κλειδιού ανάκτησης", + "New recovery key password" : "Νέος κωδικός κλειδιού ανάκτησης", + "Repeat new recovery key password" : "Επαναλάβετε το νέο κωδικό κλειδιού ανάκτησης", "Change Password" : "Αλλαγή Κωδικού Πρόσβασης", + "ownCloud basic encryption module" : "Βασική μονάδα κρυπτογράφησης του ", "Your private key password no longer matches your log-in password." : "Ο κωδικός του ιδιωτικού κλειδιού σας δεν ταιριάζει πλέον με τον κωδικό σύνδεσής σας.", "Set your old private key password to your current log-in password:" : "Ορίστε τον παλιό σας κωδικό ιδιωτικού κλειδιού στον τρέχοντα κωδικό σύνδεσης.", " If you don't remember your old password you can ask your administrator to recover your files." : "Εάν δεν θυμάστε τον παλιό σας κωδικό μπορείτε να ζητήσετε από τον διαχειριστή σας να επανακτήσει τα αρχεία σας.", diff --git a/apps/encryption/l10n/en_GB.js b/apps/encryption/l10n/en_GB.js index a9668b26ab0..678c62f982d 100644 --- a/apps/encryption/l10n/en_GB.js +++ b/apps/encryption/l10n/en_GB.js @@ -21,14 +21,10 @@ OC.L10N.register( "Private key password successfully updated." : "Private key password updated successfully.", "Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files.", "Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "Encryption App is enabled but your keys are not initialised, please log-out and log-in again", - "ownCloud basic encryption module" : "ownCloud basic encryption module", "Recovery key password" : "Recovery key password", - "Repeat Recovery key password" : "Repeat recovery key password", "Change recovery key password:" : "Change recovery key password:", - "Old Recovery key password" : "Old recovery key password", - "New Recovery key password" : "New recovery key password", - "Repeat New Recovery key password" : "Repeat new recovery key password", "Change Password" : "Change Password", + "ownCloud basic encryption module" : "ownCloud basic encryption module", "Your private key password no longer matches your log-in password." : "Your private key password no longer matches your log-in password.", "Set your old private key password to your current log-in password:" : "Set your old private key password to your current log-in password:", " If you don't remember your old password you can ask your administrator to recover your files." : " If you don't remember your old password you can ask your administrator to recover your files.", diff --git a/apps/encryption/l10n/en_GB.json b/apps/encryption/l10n/en_GB.json index 4d77e4353fb..6132868f396 100644 --- a/apps/encryption/l10n/en_GB.json +++ b/apps/encryption/l10n/en_GB.json @@ -19,14 +19,10 @@ "Private key password successfully updated." : "Private key password updated successfully.", "Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files.", "Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "Encryption App is enabled but your keys are not initialised, please log-out and log-in again", - "ownCloud basic encryption module" : "ownCloud basic encryption module", "Recovery key password" : "Recovery key password", - "Repeat Recovery key password" : "Repeat recovery key password", "Change recovery key password:" : "Change recovery key password:", - "Old Recovery key password" : "Old recovery key password", - "New Recovery key password" : "New recovery key password", - "Repeat New Recovery key password" : "Repeat new recovery key password", "Change Password" : "Change Password", + "ownCloud basic encryption module" : "ownCloud basic encryption module", "Your private key password no longer matches your log-in password." : "Your private key password no longer matches your log-in password.", "Set your old private key password to your current log-in password:" : "Set your old private key password to your current log-in password:", " If you don't remember your old password you can ask your administrator to recover your files." : " If you don't remember your old password you can ask your administrator to recover your files.", diff --git a/apps/encryption/l10n/es.js b/apps/encryption/l10n/es.js index 7c7aa3b4085..a5a6f086fd0 100644 --- a/apps/encryption/l10n/es.js +++ b/apps/encryption/l10n/es.js @@ -8,11 +8,13 @@ OC.L10N.register( "Could not enable recovery key. Please check your recovery key password!" : "No se pudo habilitar la contraseña de recuperación. Por favor, ¡compruebe su contraseña de recuperación!", "Recovery key successfully disabled" : "Clave de recuperación deshabilitada", "Could not disable recovery key. Please check your recovery key password!" : "No se pudo deshabilitar la clave de recuperación. Por favor, ¡compruebe su contraseña!", + "Missing parameters" : "Faltan parámetros", "Please provide the old recovery password" : "Por favor, ingrese su antigua contraseña de recuperación", "Please provide a new recovery password" : "Por favor, provea una nueva contraseña de recuperación", "Please repeat the new recovery password" : "Por favor, repita su nueva contraseña de recuperación", "Password successfully changed." : "Su contraseña ha sido cambiada", "Could not change the password. Maybe the old password was not correct." : "No se pudo cambiar la contraseña. Compruebe que la contraseña actual sea correcta.", + "Recovery Key disabled" : "Desactivada la clave de recuperación", "Recovery Key enabled" : "Recuperación de clave habilitada", "Could not enable the recovery key, please try again or contact your administrator" : "No se pudo habilitar la clave de recuperación, por favor vuelva a intentarlo o póngase en contacto con el administrador", "Could not update the private key password." : "No se pudo actualizar la contraseña de la clave privada.", @@ -21,14 +23,17 @@ OC.L10N.register( "Private key password successfully updated." : "Contraseña de clave privada actualizada con éxito.", "Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "La clave privada no es válida para la app de cifrado. Por favor, actualiza la contraseña de tu clave privada en tus ajustes personales para recuperar el acceso a tus archivos cifrados.", "Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "La app de cifrado está habilitada pero sus claves no se han inicializado, por favor, cierre la sesión y vuelva a iniciarla de nuevo.", - "ownCloud basic encryption module" : "Módulo básico de encriptación ownCloud", + "Enable recovery key" : "Activa la clave de recuperación", + "Disable recovery key" : "Desactiva la clave de recuperación", + "The recovery key is an extra encryption key that is used to encrypt files. It allows recovery of a user's files if the user forgets his or her password." : "La clave de recuperación es una clave de cifrado extra que se usa para cifrar ficheros. Permite la recuperación de los ficheros de un usuario si él o ella olvida su contraseña.", "Recovery key password" : "Contraseña de clave de recuperación", - "Repeat Recovery key password" : "Repite la contraseña de clave de recuperación", + "Repeat recovery key password" : "Repita la contraseña de recuperación", "Change recovery key password:" : "Cambiar la contraseña de la clave de recuperación", - "Old Recovery key password" : "Antigua clave de recuperación", - "New Recovery key password" : "Nueva clave de recuperación", - "Repeat New Recovery key password" : "Repetir la nueva clave de recuperación", + "Old recovery key password" : "Antigua contraseña de recuperación", + "New recovery key password" : "Nueva contraseña de recuperación", + "Repeat new recovery key password" : "Repita la nueva contraseña de recuperación.", "Change Password" : "Cambiar contraseña", + "ownCloud basic encryption module" : "Módulo básico de cifrado ownCloud", "Your private key password no longer matches your log-in password." : "Su contraseña de clave privada ya no coincide con su contraseña de acceso.", "Set your old private key password to your current log-in password:" : "Establezca la contraseña de clave privada antigua para su contraseña de inicio de sesión actual:", " If you don't remember your old password you can ask your administrator to recover your files." : "Si no recuerda su antigua contraseña puede pedir a su administrador que le recupere sus ficheros.", diff --git a/apps/encryption/l10n/es.json b/apps/encryption/l10n/es.json index 2ffccb7be39..911d1f8b893 100644 --- a/apps/encryption/l10n/es.json +++ b/apps/encryption/l10n/es.json @@ -6,11 +6,13 @@ "Could not enable recovery key. Please check your recovery key password!" : "No se pudo habilitar la contraseña de recuperación. Por favor, ¡compruebe su contraseña de recuperación!", "Recovery key successfully disabled" : "Clave de recuperación deshabilitada", "Could not disable recovery key. Please check your recovery key password!" : "No se pudo deshabilitar la clave de recuperación. Por favor, ¡compruebe su contraseña!", + "Missing parameters" : "Faltan parámetros", "Please provide the old recovery password" : "Por favor, ingrese su antigua contraseña de recuperación", "Please provide a new recovery password" : "Por favor, provea una nueva contraseña de recuperación", "Please repeat the new recovery password" : "Por favor, repita su nueva contraseña de recuperación", "Password successfully changed." : "Su contraseña ha sido cambiada", "Could not change the password. Maybe the old password was not correct." : "No se pudo cambiar la contraseña. Compruebe que la contraseña actual sea correcta.", + "Recovery Key disabled" : "Desactivada la clave de recuperación", "Recovery Key enabled" : "Recuperación de clave habilitada", "Could not enable the recovery key, please try again or contact your administrator" : "No se pudo habilitar la clave de recuperación, por favor vuelva a intentarlo o póngase en contacto con el administrador", "Could not update the private key password." : "No se pudo actualizar la contraseña de la clave privada.", @@ -19,14 +21,17 @@ "Private key password successfully updated." : "Contraseña de clave privada actualizada con éxito.", "Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "La clave privada no es válida para la app de cifrado. Por favor, actualiza la contraseña de tu clave privada en tus ajustes personales para recuperar el acceso a tus archivos cifrados.", "Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "La app de cifrado está habilitada pero sus claves no se han inicializado, por favor, cierre la sesión y vuelva a iniciarla de nuevo.", - "ownCloud basic encryption module" : "Módulo básico de encriptación ownCloud", + "Enable recovery key" : "Activa la clave de recuperación", + "Disable recovery key" : "Desactiva la clave de recuperación", + "The recovery key is an extra encryption key that is used to encrypt files. It allows recovery of a user's files if the user forgets his or her password." : "La clave de recuperación es una clave de cifrado extra que se usa para cifrar ficheros. Permite la recuperación de los ficheros de un usuario si él o ella olvida su contraseña.", "Recovery key password" : "Contraseña de clave de recuperación", - "Repeat Recovery key password" : "Repite la contraseña de clave de recuperación", + "Repeat recovery key password" : "Repita la contraseña de recuperación", "Change recovery key password:" : "Cambiar la contraseña de la clave de recuperación", - "Old Recovery key password" : "Antigua clave de recuperación", - "New Recovery key password" : "Nueva clave de recuperación", - "Repeat New Recovery key password" : "Repetir la nueva clave de recuperación", + "Old recovery key password" : "Antigua contraseña de recuperación", + "New recovery key password" : "Nueva contraseña de recuperación", + "Repeat new recovery key password" : "Repita la nueva contraseña de recuperación.", "Change Password" : "Cambiar contraseña", + "ownCloud basic encryption module" : "Módulo básico de cifrado ownCloud", "Your private key password no longer matches your log-in password." : "Su contraseña de clave privada ya no coincide con su contraseña de acceso.", "Set your old private key password to your current log-in password:" : "Establezca la contraseña de clave privada antigua para su contraseña de inicio de sesión actual:", " If you don't remember your old password you can ask your administrator to recover your files." : "Si no recuerda su antigua contraseña puede pedir a su administrador que le recupere sus ficheros.", diff --git a/apps/encryption/l10n/es_AR.js b/apps/encryption/l10n/es_AR.js index c3e1d60982e..4b47a49e629 100644 --- a/apps/encryption/l10n/es_AR.js +++ b/apps/encryption/l10n/es_AR.js @@ -11,11 +11,7 @@ OC.L10N.register( "Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "Llave privada inválida para la aplicación de encriptación. Por favor actualice la clave de la llave privada en las configuraciones personales para recobrar el acceso a sus archivos encriptados.", "Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "La aplicación de encriptación está habilitada pero las llaves no fueron inicializadas, por favor termine y vuelva a iniciar la sesión", "Recovery key password" : "Contraseña de recuperación de clave", - "Repeat Recovery key password" : "Repetir la contraseña de la clave de recuperación", "Change recovery key password:" : "Cambiar contraseña para recuperar la clave:", - "Old Recovery key password" : "Contraseña antigua de recuperación de clave", - "New Recovery key password" : "Nueva contraseña de recuperación de clave", - "Repeat New Recovery key password" : "Repetir Nueva contraseña para la clave de recuperación", "Change Password" : "Cambiar contraseña", " If you don't remember your old password you can ask your administrator to recover your files." : "Si no te acordás de tu contraseña antigua, pedile al administrador que recupere tus archivos", "Old log-in password" : "Contraseña anterior", diff --git a/apps/encryption/l10n/es_AR.json b/apps/encryption/l10n/es_AR.json index b344e3e8f9e..9c5d2519333 100644 --- a/apps/encryption/l10n/es_AR.json +++ b/apps/encryption/l10n/es_AR.json @@ -9,11 +9,7 @@ "Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "Llave privada inválida para la aplicación de encriptación. Por favor actualice la clave de la llave privada en las configuraciones personales para recobrar el acceso a sus archivos encriptados.", "Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "La aplicación de encriptación está habilitada pero las llaves no fueron inicializadas, por favor termine y vuelva a iniciar la sesión", "Recovery key password" : "Contraseña de recuperación de clave", - "Repeat Recovery key password" : "Repetir la contraseña de la clave de recuperación", "Change recovery key password:" : "Cambiar contraseña para recuperar la clave:", - "Old Recovery key password" : "Contraseña antigua de recuperación de clave", - "New Recovery key password" : "Nueva contraseña de recuperación de clave", - "Repeat New Recovery key password" : "Repetir Nueva contraseña para la clave de recuperación", "Change Password" : "Cambiar contraseña", " If you don't remember your old password you can ask your administrator to recover your files." : "Si no te acordás de tu contraseña antigua, pedile al administrador que recupere tus archivos", "Old log-in password" : "Contraseña anterior", diff --git a/apps/encryption/l10n/es_MX.js b/apps/encryption/l10n/es_MX.js index 3ee57f500f1..64bfc291f82 100644 --- a/apps/encryption/l10n/es_MX.js +++ b/apps/encryption/l10n/es_MX.js @@ -11,11 +11,7 @@ OC.L10N.register( "Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "La clave privada no es válida para la aplicación de cifrado. Por favor, actualiza la contraseña de tu clave privada en tus ajustes personales para recuperar el acceso a tus archivos cifrados.", "Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "La aplicación de crifrado está habilitada pero tus claves no han sido inicializadas, por favor, cierra la sesión y vuelva a iniciarla de nuevo.", "Recovery key password" : "Contraseña de clave de recuperación", - "Repeat Recovery key password" : "Repite la contraseña de clave de recuperación", "Change recovery key password:" : "Cambiar la contraseña de la clave de recuperación", - "Old Recovery key password" : "Antigua clave de recuperación", - "New Recovery key password" : "Nueva clave de recuperación", - "Repeat New Recovery key password" : "Repetir la nueva clave de recuperación", "Change Password" : "Cambiar contraseña", " If you don't remember your old password you can ask your administrator to recover your files." : "Si no recuerda su antigua contraseña puede pedir a su administrador que le recupere sus archivos.", "Old log-in password" : "Contraseña de acceso antigua", diff --git a/apps/encryption/l10n/es_MX.json b/apps/encryption/l10n/es_MX.json index f36f0dbd5fd..9115513d7b1 100644 --- a/apps/encryption/l10n/es_MX.json +++ b/apps/encryption/l10n/es_MX.json @@ -9,11 +9,7 @@ "Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "La clave privada no es válida para la aplicación de cifrado. Por favor, actualiza la contraseña de tu clave privada en tus ajustes personales para recuperar el acceso a tus archivos cifrados.", "Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "La aplicación de crifrado está habilitada pero tus claves no han sido inicializadas, por favor, cierra la sesión y vuelva a iniciarla de nuevo.", "Recovery key password" : "Contraseña de clave de recuperación", - "Repeat Recovery key password" : "Repite la contraseña de clave de recuperación", "Change recovery key password:" : "Cambiar la contraseña de la clave de recuperación", - "Old Recovery key password" : "Antigua clave de recuperación", - "New Recovery key password" : "Nueva clave de recuperación", - "Repeat New Recovery key password" : "Repetir la nueva clave de recuperación", "Change Password" : "Cambiar contraseña", " If you don't remember your old password you can ask your administrator to recover your files." : "Si no recuerda su antigua contraseña puede pedir a su administrador que le recupere sus archivos.", "Old log-in password" : "Contraseña de acceso antigua", diff --git a/apps/encryption/l10n/et_EE.js b/apps/encryption/l10n/et_EE.js index 5805b8e8e1c..6e2684058fe 100644 --- a/apps/encryption/l10n/et_EE.js +++ b/apps/encryption/l10n/et_EE.js @@ -20,11 +20,7 @@ OC.L10N.register( "Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "Vigane Krüpteerimisrakendi privaatvõti . Palun uuenda oma privaatse võtme parool oma personaasete seadete all taastamaks ligipääsu oma krüpteeritud failidele.", "Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "Krüpteerimisrakend on lubatud, kuid võtmeid pole lähtestatud. Palun logi välja ning uuesti sisse.", "Recovery key password" : "Taastevõtme parool", - "Repeat Recovery key password" : "Korda taastevõtme parooli", "Change recovery key password:" : "Muuda taastevõtme parooli:", - "Old Recovery key password" : "Vana taastevõtme parool", - "New Recovery key password" : "Uus taastevõtme parool", - "Repeat New Recovery key password" : "Korda uut taastevõtme parooli", "Change Password" : "Muuda parooli", "Your private key password no longer matches your log-in password." : "Sinu provaatvõtme parool ei kattu enam sinu sisselogimise parooliga.", "Set your old private key password to your current log-in password:" : "Pane oma vana privaatvõtme parooliks oma praegune sisselogimise parool.", diff --git a/apps/encryption/l10n/et_EE.json b/apps/encryption/l10n/et_EE.json index 37887eb73b2..66839779f67 100644 --- a/apps/encryption/l10n/et_EE.json +++ b/apps/encryption/l10n/et_EE.json @@ -18,11 +18,7 @@ "Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "Vigane Krüpteerimisrakendi privaatvõti . Palun uuenda oma privaatse võtme parool oma personaasete seadete all taastamaks ligipääsu oma krüpteeritud failidele.", "Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "Krüpteerimisrakend on lubatud, kuid võtmeid pole lähtestatud. Palun logi välja ning uuesti sisse.", "Recovery key password" : "Taastevõtme parool", - "Repeat Recovery key password" : "Korda taastevõtme parooli", "Change recovery key password:" : "Muuda taastevõtme parooli:", - "Old Recovery key password" : "Vana taastevõtme parool", - "New Recovery key password" : "Uus taastevõtme parool", - "Repeat New Recovery key password" : "Korda uut taastevõtme parooli", "Change Password" : "Muuda parooli", "Your private key password no longer matches your log-in password." : "Sinu provaatvõtme parool ei kattu enam sinu sisselogimise parooliga.", "Set your old private key password to your current log-in password:" : "Pane oma vana privaatvõtme parooliks oma praegune sisselogimise parool.", diff --git a/apps/encryption/l10n/eu.js b/apps/encryption/l10n/eu.js index 10afacfcfac..083bd125ba9 100644 --- a/apps/encryption/l10n/eu.js +++ b/apps/encryption/l10n/eu.js @@ -20,11 +20,7 @@ OC.L10N.register( "Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "Enkriptazio aplikaziorako gako pribatu okerra. Mesedez eguneratu zure gako pribatuaren pasahitza zure ezarpen pertsonaletan zure enkriptatuko fitxategietarako sarrera berreskuratzeko.", "Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "Enkriptazio aplikazioa gaituta dago baina zure gakoak ez daude konfiguratuta, mesedez saioa bukatu eta berriro hasi", "Recovery key password" : "Berreskuratze gako pasahitza", - "Repeat Recovery key password" : "Errepikatu berreskuratze gakoaren pasahitza", "Change recovery key password:" : "Aldatu berreskuratze gako pasahitza:", - "Old Recovery key password" : "Berreskuratze gako pasahitz zaharra", - "New Recovery key password" : "Berreskuratze gako pasahitz berria", - "Repeat New Recovery key password" : "Errepikatu berreskuratze gako berriaren pasahitza", "Change Password" : "Aldatu Pasahitza", "Your private key password no longer matches your log-in password." : "Zure gako pasahitza pribatua ez da dagoeneko bat etortzen zure sartzeko pasahitzarekin.", "Set your old private key password to your current log-in password:" : "Ezarri zure gako pasahitz zaharra orain duzun sartzeko pasahitzan:", diff --git a/apps/encryption/l10n/eu.json b/apps/encryption/l10n/eu.json index e1355ce6b06..88639331be4 100644 --- a/apps/encryption/l10n/eu.json +++ b/apps/encryption/l10n/eu.json @@ -18,11 +18,7 @@ "Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "Enkriptazio aplikaziorako gako pribatu okerra. Mesedez eguneratu zure gako pribatuaren pasahitza zure ezarpen pertsonaletan zure enkriptatuko fitxategietarako sarrera berreskuratzeko.", "Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "Enkriptazio aplikazioa gaituta dago baina zure gakoak ez daude konfiguratuta, mesedez saioa bukatu eta berriro hasi", "Recovery key password" : "Berreskuratze gako pasahitza", - "Repeat Recovery key password" : "Errepikatu berreskuratze gakoaren pasahitza", "Change recovery key password:" : "Aldatu berreskuratze gako pasahitza:", - "Old Recovery key password" : "Berreskuratze gako pasahitz zaharra", - "New Recovery key password" : "Berreskuratze gako pasahitz berria", - "Repeat New Recovery key password" : "Errepikatu berreskuratze gako berriaren pasahitza", "Change Password" : "Aldatu Pasahitza", "Your private key password no longer matches your log-in password." : "Zure gako pasahitza pribatua ez da dagoeneko bat etortzen zure sartzeko pasahitzarekin.", "Set your old private key password to your current log-in password:" : "Ezarri zure gako pasahitz zaharra orain duzun sartzeko pasahitzan:", diff --git a/apps/encryption/l10n/fa.js b/apps/encryption/l10n/fa.js index dd1dff78984..493b3992a62 100644 --- a/apps/encryption/l10n/fa.js +++ b/apps/encryption/l10n/fa.js @@ -10,8 +10,6 @@ OC.L10N.register( "Private key password successfully updated." : "رمزعبور کلید خصوصی با موفقیت به روز شد.", "Recovery key password" : "رمزعبور کلید بازیابی", "Change recovery key password:" : "تغییر رمزعبور کلید بازیابی:", - "Old Recovery key password" : "رمزعبور قدیمی کلید بازیابی ", - "New Recovery key password" : "رمزعبور جدید کلید بازیابی", "Change Password" : "تغییر رمزعبور", " If you don't remember your old password you can ask your administrator to recover your files." : "اگر رمزعبور قدیمی را فراموش کرده اید میتوانید از مدیر خود برای بازیابی فایل هایتان درخواست نمایید.", "Old log-in password" : "رمزعبور قدیمی", diff --git a/apps/encryption/l10n/fa.json b/apps/encryption/l10n/fa.json index 9d059a7cc1e..ccb7949e7e5 100644 --- a/apps/encryption/l10n/fa.json +++ b/apps/encryption/l10n/fa.json @@ -8,8 +8,6 @@ "Private key password successfully updated." : "رمزعبور کلید خصوصی با موفقیت به روز شد.", "Recovery key password" : "رمزعبور کلید بازیابی", "Change recovery key password:" : "تغییر رمزعبور کلید بازیابی:", - "Old Recovery key password" : "رمزعبور قدیمی کلید بازیابی ", - "New Recovery key password" : "رمزعبور جدید کلید بازیابی", "Change Password" : "تغییر رمزعبور", " If you don't remember your old password you can ask your administrator to recover your files." : "اگر رمزعبور قدیمی را فراموش کرده اید میتوانید از مدیر خود برای بازیابی فایل هایتان درخواست نمایید.", "Old log-in password" : "رمزعبور قدیمی", diff --git a/apps/encryption/l10n/fi_FI.js b/apps/encryption/l10n/fi_FI.js index 6baefc8de4c..54b43463199 100644 --- a/apps/encryption/l10n/fi_FI.js +++ b/apps/encryption/l10n/fi_FI.js @@ -23,18 +23,17 @@ OC.L10N.register( "Private key password successfully updated." : "Yksityisen avaimen salasana päivitettiin onnistuneesti.", "Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "Salaussovelluksen salausavain on virheellinen. Ole hyvä ja päivitä salausavain henkilökohtaisissa asetuksissasi jotta voit taas avata salatuskirjoitetut tiedostosi.", "Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "Salaussovellus on käytössä, mutta salausavaimia ei ole alustettu. Ole hyvä ja kirjaudu sisään uudelleen.", - "ownCloud basic encryption module" : "ownCloudin perussalausmoduuli", - "Enable recovery key: " : "Ota palautusavain käyttöön:", - "The recovery key is an extra encryption key that is used\n\t\tto encrypt files. It allows recovery of a user's files if the user forgets their password." : "Palautusavain lisäturvaa tuova palautusavain, jolla salataan tiedostoja.\nSen avulla käyttäjien tiedostojen palauttaminen on mahdollista, jos käyttäjät unohtavat salasanansa.", - "Recovery key password" : "Palautusavaimen salasana", - "Repeat Recovery key password" : "Toista palautusavaimen salasana", "Enable recovery key" : "Ota palautusavain käyttöön", "Disable recovery key" : "Poista palautusavain käytöstä", + "The recovery key is an extra encryption key that is used to encrypt files. It allows recovery of a user's files if the user forgets his or her password." : "Palautusavain on ylimääräinen salausavain, jota käytetään tiedostojen salaamiseen. Sen avulla on mahdollista palauttaa käyttäjien tiedostot, vaikka käyttäjä unohtaisi oman salasanansa.", + "Recovery key password" : "Palautusavaimen salasana", + "Repeat recovery key password" : "Toista salausavaimen salasana", "Change recovery key password:" : "Vaihda palautusavaimen salasana:", - "Old Recovery key password" : "Vanha palautusavaimen salasana", - "New Recovery key password" : "Uusi palautusavaimen salasana", - "Repeat New Recovery key password" : "Toista uusi palautusavaimen salasana", + "Old recovery key password" : "Vanha salausavaimen salasana", + "New recovery key password" : "Uusi salausavaimen salasana", + "Repeat new recovery key password" : "Toista uusi salausavaimen salasana", "Change Password" : "Vaihda salasana", + "ownCloud basic encryption module" : "ownCloudin perussalausmoduuli", "Your private key password no longer matches your log-in password." : "Salaisen avaimesi salasana ei enää vastaa kirjautumissalasanaasi.", "Set your old private key password to your current log-in password:" : "Aseta yksityisen avaimen vanha salasana vastaamaan nykyistä kirjautumissalasanaasi:", " If you don't remember your old password you can ask your administrator to recover your files." : "Jos et muista vanhaa salasanaasi, voit pyytää ylläpitäjää palauttamaan tiedostosi.", diff --git a/apps/encryption/l10n/fi_FI.json b/apps/encryption/l10n/fi_FI.json index a130fc98c77..c42f9928c6b 100644 --- a/apps/encryption/l10n/fi_FI.json +++ b/apps/encryption/l10n/fi_FI.json @@ -21,18 +21,17 @@ "Private key password successfully updated." : "Yksityisen avaimen salasana päivitettiin onnistuneesti.", "Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "Salaussovelluksen salausavain on virheellinen. Ole hyvä ja päivitä salausavain henkilökohtaisissa asetuksissasi jotta voit taas avata salatuskirjoitetut tiedostosi.", "Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "Salaussovellus on käytössä, mutta salausavaimia ei ole alustettu. Ole hyvä ja kirjaudu sisään uudelleen.", - "ownCloud basic encryption module" : "ownCloudin perussalausmoduuli", - "Enable recovery key: " : "Ota palautusavain käyttöön:", - "The recovery key is an extra encryption key that is used\n\t\tto encrypt files. It allows recovery of a user's files if the user forgets their password." : "Palautusavain lisäturvaa tuova palautusavain, jolla salataan tiedostoja.\nSen avulla käyttäjien tiedostojen palauttaminen on mahdollista, jos käyttäjät unohtavat salasanansa.", - "Recovery key password" : "Palautusavaimen salasana", - "Repeat Recovery key password" : "Toista palautusavaimen salasana", "Enable recovery key" : "Ota palautusavain käyttöön", "Disable recovery key" : "Poista palautusavain käytöstä", + "The recovery key is an extra encryption key that is used to encrypt files. It allows recovery of a user's files if the user forgets his or her password." : "Palautusavain on ylimääräinen salausavain, jota käytetään tiedostojen salaamiseen. Sen avulla on mahdollista palauttaa käyttäjien tiedostot, vaikka käyttäjä unohtaisi oman salasanansa.", + "Recovery key password" : "Palautusavaimen salasana", + "Repeat recovery key password" : "Toista salausavaimen salasana", "Change recovery key password:" : "Vaihda palautusavaimen salasana:", - "Old Recovery key password" : "Vanha palautusavaimen salasana", - "New Recovery key password" : "Uusi palautusavaimen salasana", - "Repeat New Recovery key password" : "Toista uusi palautusavaimen salasana", + "Old recovery key password" : "Vanha salausavaimen salasana", + "New recovery key password" : "Uusi salausavaimen salasana", + "Repeat new recovery key password" : "Toista uusi salausavaimen salasana", "Change Password" : "Vaihda salasana", + "ownCloud basic encryption module" : "ownCloudin perussalausmoduuli", "Your private key password no longer matches your log-in password." : "Salaisen avaimesi salasana ei enää vastaa kirjautumissalasanaasi.", "Set your old private key password to your current log-in password:" : "Aseta yksityisen avaimen vanha salasana vastaamaan nykyistä kirjautumissalasanaasi:", " If you don't remember your old password you can ask your administrator to recover your files." : "Jos et muista vanhaa salasanaasi, voit pyytää ylläpitäjää palauttamaan tiedostosi.", diff --git a/apps/encryption/l10n/fr.js b/apps/encryption/l10n/fr.js index 09910bf5fef..293626e95da 100644 --- a/apps/encryption/l10n/fr.js +++ b/apps/encryption/l10n/fr.js @@ -8,11 +8,13 @@ OC.L10N.register( "Could not enable recovery key. Please check your recovery key password!" : "Impossible d'activer la clef de récupération. Veuillez vérifier le mot de passe de votre clé de récupération !", "Recovery key successfully disabled" : "Clef de récupération désactivée avec succès", "Could not disable recovery key. Please check your recovery key password!" : "Impossible de désactiver la clef de récupération. Veuillez vérifier le mot de passe de votre clef de récupération !", + "Missing parameters" : "Paramètres manquants", "Please provide the old recovery password" : "Veuillez entrer l'ancien mot de passe de récupération", "Please provide a new recovery password" : "Veuillez entrer un nouveau mot de passe de récupération", "Please repeat the new recovery password" : "Veuillez répéter le nouveau mot de passe de récupération", "Password successfully changed." : "Mot de passe changé avec succès.", "Could not change the password. Maybe the old password was not correct." : "Erreur lors du changement de mot de passe. L'ancien mot de passe est peut-être incorrect.", + "Recovery Key disabled" : "Clé de récupération désactivée", "Recovery Key enabled" : "Clef de récupération activée", "Could not enable the recovery key, please try again or contact your administrator" : "Impossible d'activer la clef de récupération. Veuillez essayer à nouveau ou contacter votre administrateur", "Could not update the private key password." : "Impossible de mettre à jour le mot de passe de la clef privée.", @@ -21,14 +23,17 @@ OC.L10N.register( "Private key password successfully updated." : "Mot de passe de la clef privée mis à jour avec succès.", "Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "Votre clef privée pour le chiffrement n'est pas valide ! Veuillez mettre à jour le mot de passe de votre clef privée dans vos paramètres personnels pour récupérer l'accès à vos fichiers chiffrés.", "Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "L'application de chiffrement est activée mais vos clefs ne sont pas initialisées. Veuillez vous déconnecter et ensuite vous reconnecter.", - "ownCloud basic encryption module" : "Module de chiffrement de base d'ownCloud", + "Enable recovery key" : "Activer la clé de récupération", + "Disable recovery key" : "Désactiver la clé de récupération", + "The recovery key is an extra encryption key that is used to encrypt files. It allows recovery of a user's files if the user forgets his or her password." : "La clé de récupération est une clé supplémentaire utilisée pour chiffrer les fichiers. Elle permet de récupérer les fichiers des utilisateurs en cas d'oubli de leur mot de passe.", "Recovery key password" : "Mot de passe de la clef de récupération", - "Repeat Recovery key password" : "Répétez le mot de passe de la clef de récupération", + "Repeat recovery key password" : "Répétez le mot de passe de la clé de récupération", "Change recovery key password:" : "Modifier le mot de passe de la clef de récupération :", - "Old Recovery key password" : "Ancien mot de passe de la clef de récupération", - "New Recovery key password" : "Nouveau mot de passe de la clef de récupération", - "Repeat New Recovery key password" : "Répétez le nouveau mot de passe de la clef de récupération", + "Old recovery key password" : "Ancien mot de passe de la clé de récupération", + "New recovery key password" : "Nouveau mot de passe de la clé de récupération", + "Repeat new recovery key password" : "Répétez le nouveau mot de passe de la clé de récupération", "Change Password" : "Changer de mot de passe", + "ownCloud basic encryption module" : "Module de chiffrement de base d'ownCloud", "Your private key password no longer matches your log-in password." : "Le mot de passe de votre clef privée ne correspond plus à votre mot de passe de connexion.", "Set your old private key password to your current log-in password:" : "Faites de votre mot de passe de connexion le mot de passe de votre clef privée :", " If you don't remember your old password you can ask your administrator to recover your files." : "Si vous ne vous souvenez plus de votre ancien mot de passe, vous pouvez demander à votre administrateur de récupérer vos fichiers.", diff --git a/apps/encryption/l10n/fr.json b/apps/encryption/l10n/fr.json index a18086cce05..c35d5d31296 100644 --- a/apps/encryption/l10n/fr.json +++ b/apps/encryption/l10n/fr.json @@ -6,11 +6,13 @@ "Could not enable recovery key. Please check your recovery key password!" : "Impossible d'activer la clef de récupération. Veuillez vérifier le mot de passe de votre clé de récupération !", "Recovery key successfully disabled" : "Clef de récupération désactivée avec succès", "Could not disable recovery key. Please check your recovery key password!" : "Impossible de désactiver la clef de récupération. Veuillez vérifier le mot de passe de votre clef de récupération !", + "Missing parameters" : "Paramètres manquants", "Please provide the old recovery password" : "Veuillez entrer l'ancien mot de passe de récupération", "Please provide a new recovery password" : "Veuillez entrer un nouveau mot de passe de récupération", "Please repeat the new recovery password" : "Veuillez répéter le nouveau mot de passe de récupération", "Password successfully changed." : "Mot de passe changé avec succès.", "Could not change the password. Maybe the old password was not correct." : "Erreur lors du changement de mot de passe. L'ancien mot de passe est peut-être incorrect.", + "Recovery Key disabled" : "Clé de récupération désactivée", "Recovery Key enabled" : "Clef de récupération activée", "Could not enable the recovery key, please try again or contact your administrator" : "Impossible d'activer la clef de récupération. Veuillez essayer à nouveau ou contacter votre administrateur", "Could not update the private key password." : "Impossible de mettre à jour le mot de passe de la clef privée.", @@ -19,14 +21,17 @@ "Private key password successfully updated." : "Mot de passe de la clef privée mis à jour avec succès.", "Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "Votre clef privée pour le chiffrement n'est pas valide ! Veuillez mettre à jour le mot de passe de votre clef privée dans vos paramètres personnels pour récupérer l'accès à vos fichiers chiffrés.", "Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "L'application de chiffrement est activée mais vos clefs ne sont pas initialisées. Veuillez vous déconnecter et ensuite vous reconnecter.", - "ownCloud basic encryption module" : "Module de chiffrement de base d'ownCloud", + "Enable recovery key" : "Activer la clé de récupération", + "Disable recovery key" : "Désactiver la clé de récupération", + "The recovery key is an extra encryption key that is used to encrypt files. It allows recovery of a user's files if the user forgets his or her password." : "La clé de récupération est une clé supplémentaire utilisée pour chiffrer les fichiers. Elle permet de récupérer les fichiers des utilisateurs en cas d'oubli de leur mot de passe.", "Recovery key password" : "Mot de passe de la clef de récupération", - "Repeat Recovery key password" : "Répétez le mot de passe de la clef de récupération", + "Repeat recovery key password" : "Répétez le mot de passe de la clé de récupération", "Change recovery key password:" : "Modifier le mot de passe de la clef de récupération :", - "Old Recovery key password" : "Ancien mot de passe de la clef de récupération", - "New Recovery key password" : "Nouveau mot de passe de la clef de récupération", - "Repeat New Recovery key password" : "Répétez le nouveau mot de passe de la clef de récupération", + "Old recovery key password" : "Ancien mot de passe de la clé de récupération", + "New recovery key password" : "Nouveau mot de passe de la clé de récupération", + "Repeat new recovery key password" : "Répétez le nouveau mot de passe de la clé de récupération", "Change Password" : "Changer de mot de passe", + "ownCloud basic encryption module" : "Module de chiffrement de base d'ownCloud", "Your private key password no longer matches your log-in password." : "Le mot de passe de votre clef privée ne correspond plus à votre mot de passe de connexion.", "Set your old private key password to your current log-in password:" : "Faites de votre mot de passe de connexion le mot de passe de votre clef privée :", " If you don't remember your old password you can ask your administrator to recover your files." : "Si vous ne vous souvenez plus de votre ancien mot de passe, vous pouvez demander à votre administrateur de récupérer vos fichiers.", diff --git a/apps/encryption/l10n/gl.js b/apps/encryption/l10n/gl.js index 4cf00535490..6cc14cc80e4 100644 --- a/apps/encryption/l10n/gl.js +++ b/apps/encryption/l10n/gl.js @@ -1,17 +1,17 @@ OC.L10N.register( "encryption", { - "Missing recovery key password" : "Falta a chave de recuperación", - "Please repeat the recovery key password" : "Repita a chave de recuperación", - "Repeated recovery key password does not match the provided recovery key password" : "A repetición da chave de recuperación non coincide coa chave de recuperación estabelecida", + "Missing recovery key password" : "Falta o contrasinal da chave de recuperación", + "Please repeat the recovery key password" : "Repita o contrasinal da chave de recuperación", + "Repeated recovery key password does not match the provided recovery key password" : "A repetición do contrasinal da chave de recuperación non coincide co contrasinal da chave de recuperación fornecido", "Recovery key successfully enabled" : "Activada satisfactoriamente a chave de recuperación", "Could not enable recovery key. Please check your recovery key password!" : "Non foi posíbel activar a chave de recuperación. Comprobe o contrasinal da chave de recuperación!", "Recovery key successfully disabled" : "Desactivada satisfactoriamente a chave de recuperación", "Could not disable recovery key. Please check your recovery key password!" : "Non foi posíbel desactivar a chave de recuperación. Comprobe o contrasinal da chave de recuperación!", "Missing parameters" : "Faltan os parámetros", - "Please provide the old recovery password" : "Introduza a chave de recuperación antiga", + "Please provide the old recovery password" : "Introduza o antigo contrasinal de recuperación", "Please provide a new recovery password" : "Introduza a nova chave de recuperación", - "Please repeat the new recovery password" : "Repita a nova chave de recuperación", + "Please repeat the new recovery password" : "Repita o novo contrasinal de recuperación", "Password successfully changed." : "O contrasinal foi cambiado satisfactoriamente", "Could not change the password. Maybe the old password was not correct." : "Non foi posíbel cambiar o contrasinal. Probabelmente o contrasinal antigo non é o correcto.", "Recovery Key disabled" : "Desactivada a chave de recuperación", @@ -23,18 +23,17 @@ OC.L10N.register( "Private key password successfully updated." : "A chave privada foi actualizada correctamente.", "Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "A chave privada para a aplicación de cifrado non é correcta. Actualice o contrasinal da súa chave privada nos seus axustes persoais para recuperar o acceso aos seus ficheiros cifrados.", "Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "A aplicación de cifrado está activada, mais as chaves non foron preparadas, saia da sesión e volva a acceder de novo", - "ownCloud basic encryption module" : "Módulo básico de cifrado de ownCloud", - "Enable recovery key: " : "Activar a chave de recuperación:", - "The recovery key is an extra encryption key that is used\n\t\tto encrypt files. It allows recovery of a user's files if the user forgets their password." : "A chave de recuperación é unha chave de cifrado adicional utilizada\n\t\tpara cifrar ficheiros. Permite a recuperación de ficheiros dun usuario se este esquece o seu contrasinal.", - "Recovery key password" : "Contrasinal da chave de recuperación", - "Repeat Recovery key password" : "Repita o contrasinal da chave de recuperación", "Enable recovery key" : "Activar a chave de recuperación", "Disable recovery key" : "Desactivar a chave de recuperación", + "The recovery key is an extra encryption key that is used to encrypt files. It allows recovery of a user's files if the user forgets his or her password." : "A chave de recuperación é unha chave de cifrado adicional que se utiliza para cifrar ficheiros. Permite a recuperación de ficheiros dun usuario se o usuario esquece o seu contrasinal.", + "Recovery key password" : "Contrasinal da chave de recuperación", + "Repeat recovery key password" : "Repita o contrasinal da chave de recuperación", "Change recovery key password:" : "Cambiar o contrasinal da chave de la recuperación:", - "Old Recovery key password" : "Antigo contrasinal da chave de recuperación", - "New Recovery key password" : "Novo contrasinal da chave de recuperación", - "Repeat New Recovery key password" : "Repita o novo contrasinal da chave de recuperación", + "Old recovery key password" : "Contrasinal antigo da chave de recuperación", + "New recovery key password" : "Novo contrasinal da chave de recuperación", + "Repeat new recovery key password" : "Repita o novo contrasinal da chave de recuperación", "Change Password" : "Cambiar o contrasinal", + "ownCloud basic encryption module" : "Módulo básico de cifrado de ownCloud", "Your private key password no longer matches your log-in password." : "O seu contrasinal da chave privada non coincide co seu contrasinal de acceso.", "Set your old private key password to your current log-in password:" : "Estabeleza o seu contrasinal antigo da chave de recuperación ao seu contrasinal de acceso actual:", " If you don't remember your old password you can ask your administrator to recover your files." : "Se non lembra o seu antigo contrasinal pode pedírllelo ao seu administrador para recuperar os seus ficheiros.", diff --git a/apps/encryption/l10n/gl.json b/apps/encryption/l10n/gl.json index b1654e75a54..df89a75eecd 100644 --- a/apps/encryption/l10n/gl.json +++ b/apps/encryption/l10n/gl.json @@ -1,15 +1,15 @@ { "translations": { - "Missing recovery key password" : "Falta a chave de recuperación", - "Please repeat the recovery key password" : "Repita a chave de recuperación", - "Repeated recovery key password does not match the provided recovery key password" : "A repetición da chave de recuperación non coincide coa chave de recuperación estabelecida", + "Missing recovery key password" : "Falta o contrasinal da chave de recuperación", + "Please repeat the recovery key password" : "Repita o contrasinal da chave de recuperación", + "Repeated recovery key password does not match the provided recovery key password" : "A repetición do contrasinal da chave de recuperación non coincide co contrasinal da chave de recuperación fornecido", "Recovery key successfully enabled" : "Activada satisfactoriamente a chave de recuperación", "Could not enable recovery key. Please check your recovery key password!" : "Non foi posíbel activar a chave de recuperación. Comprobe o contrasinal da chave de recuperación!", "Recovery key successfully disabled" : "Desactivada satisfactoriamente a chave de recuperación", "Could not disable recovery key. Please check your recovery key password!" : "Non foi posíbel desactivar a chave de recuperación. Comprobe o contrasinal da chave de recuperación!", "Missing parameters" : "Faltan os parámetros", - "Please provide the old recovery password" : "Introduza a chave de recuperación antiga", + "Please provide the old recovery password" : "Introduza o antigo contrasinal de recuperación", "Please provide a new recovery password" : "Introduza a nova chave de recuperación", - "Please repeat the new recovery password" : "Repita a nova chave de recuperación", + "Please repeat the new recovery password" : "Repita o novo contrasinal de recuperación", "Password successfully changed." : "O contrasinal foi cambiado satisfactoriamente", "Could not change the password. Maybe the old password was not correct." : "Non foi posíbel cambiar o contrasinal. Probabelmente o contrasinal antigo non é o correcto.", "Recovery Key disabled" : "Desactivada a chave de recuperación", @@ -21,18 +21,17 @@ "Private key password successfully updated." : "A chave privada foi actualizada correctamente.", "Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "A chave privada para a aplicación de cifrado non é correcta. Actualice o contrasinal da súa chave privada nos seus axustes persoais para recuperar o acceso aos seus ficheiros cifrados.", "Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "A aplicación de cifrado está activada, mais as chaves non foron preparadas, saia da sesión e volva a acceder de novo", - "ownCloud basic encryption module" : "Módulo básico de cifrado de ownCloud", - "Enable recovery key: " : "Activar a chave de recuperación:", - "The recovery key is an extra encryption key that is used\n\t\tto encrypt files. It allows recovery of a user's files if the user forgets their password." : "A chave de recuperación é unha chave de cifrado adicional utilizada\n\t\tpara cifrar ficheiros. Permite a recuperación de ficheiros dun usuario se este esquece o seu contrasinal.", - "Recovery key password" : "Contrasinal da chave de recuperación", - "Repeat Recovery key password" : "Repita o contrasinal da chave de recuperación", "Enable recovery key" : "Activar a chave de recuperación", "Disable recovery key" : "Desactivar a chave de recuperación", + "The recovery key is an extra encryption key that is used to encrypt files. It allows recovery of a user's files if the user forgets his or her password." : "A chave de recuperación é unha chave de cifrado adicional que se utiliza para cifrar ficheiros. Permite a recuperación de ficheiros dun usuario se o usuario esquece o seu contrasinal.", + "Recovery key password" : "Contrasinal da chave de recuperación", + "Repeat recovery key password" : "Repita o contrasinal da chave de recuperación", "Change recovery key password:" : "Cambiar o contrasinal da chave de la recuperación:", - "Old Recovery key password" : "Antigo contrasinal da chave de recuperación", - "New Recovery key password" : "Novo contrasinal da chave de recuperación", - "Repeat New Recovery key password" : "Repita o novo contrasinal da chave de recuperación", + "Old recovery key password" : "Contrasinal antigo da chave de recuperación", + "New recovery key password" : "Novo contrasinal da chave de recuperación", + "Repeat new recovery key password" : "Repita o novo contrasinal da chave de recuperación", "Change Password" : "Cambiar o contrasinal", + "ownCloud basic encryption module" : "Módulo básico de cifrado de ownCloud", "Your private key password no longer matches your log-in password." : "O seu contrasinal da chave privada non coincide co seu contrasinal de acceso.", "Set your old private key password to your current log-in password:" : "Estabeleza o seu contrasinal antigo da chave de recuperación ao seu contrasinal de acceso actual:", " If you don't remember your old password you can ask your administrator to recover your files." : "Se non lembra o seu antigo contrasinal pode pedírllelo ao seu administrador para recuperar os seus ficheiros.", diff --git a/apps/encryption/l10n/hr.js b/apps/encryption/l10n/hr.js index b00d74e3e9e..40ad26f9daa 100644 --- a/apps/encryption/l10n/hr.js +++ b/apps/encryption/l10n/hr.js @@ -11,11 +11,7 @@ OC.L10N.register( "Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "Neispravan privatni ključ za šifriranje. Molimo ažurirajte lozinku svoga privatnog ključa u svojim osobnimpostavkama da biste obnovili pristup svojim šifriranim datotekama.", "Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "Aplikacija šifriranja je aktivirana ali vaši ključevi nisu inicijalizirani, molimo odjavite se iponovno prijavite.", "Recovery key password" : "Lozinka ključa za oporavak", - "Repeat Recovery key password" : "Ponovite lozinku ključa za oporavak", "Change recovery key password:" : "Promijenite lozinku ključa za oporavak", - "Old Recovery key password" : "Stara lozinka ključa za oporavak", - "New Recovery key password" : "Nova lozinka ključa za oporavak", - "Repeat New Recovery key password" : "Ponovite novu lozinku ključa za oporavak", "Change Password" : "Promijenite lozinku", "Your private key password no longer matches your log-in password." : "Lozinka vašeg privatnog ključa više se ne slaže s vašom lozinkom za prijavu.", "Set your old private key password to your current log-in password:" : "Postavite svoju staru lozinku privatnog ključa u svoju postojeću lozinku za prijavu.", diff --git a/apps/encryption/l10n/hr.json b/apps/encryption/l10n/hr.json index 95f1c004f1f..71f83db1bdf 100644 --- a/apps/encryption/l10n/hr.json +++ b/apps/encryption/l10n/hr.json @@ -9,11 +9,7 @@ "Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "Neispravan privatni ključ za šifriranje. Molimo ažurirajte lozinku svoga privatnog ključa u svojim osobnimpostavkama da biste obnovili pristup svojim šifriranim datotekama.", "Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "Aplikacija šifriranja je aktivirana ali vaši ključevi nisu inicijalizirani, molimo odjavite se iponovno prijavite.", "Recovery key password" : "Lozinka ključa za oporavak", - "Repeat Recovery key password" : "Ponovite lozinku ključa za oporavak", "Change recovery key password:" : "Promijenite lozinku ključa za oporavak", - "Old Recovery key password" : "Stara lozinka ključa za oporavak", - "New Recovery key password" : "Nova lozinka ključa za oporavak", - "Repeat New Recovery key password" : "Ponovite novu lozinku ključa za oporavak", "Change Password" : "Promijenite lozinku", "Your private key password no longer matches your log-in password." : "Lozinka vašeg privatnog ključa više se ne slaže s vašom lozinkom za prijavu.", "Set your old private key password to your current log-in password:" : "Postavite svoju staru lozinku privatnog ključa u svoju postojeću lozinku za prijavu.", diff --git a/apps/encryption/l10n/hu_HU.js b/apps/encryption/l10n/hu_HU.js index edd92d670a6..be4df724ef8 100644 --- a/apps/encryption/l10n/hu_HU.js +++ b/apps/encryption/l10n/hu_HU.js @@ -11,11 +11,7 @@ OC.L10N.register( "Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "Az állományok titkosításához használt titkos kulcsa érvénytelen. Kérjük frissítse a titkos kulcs jelszót a személyes beállításokban, hogy ismét hozzáférjen a titkosított állományaihoz!", "Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "Az állományok titkosítása engedélyezve van, de az Ön titkos kulcsai nincsenek beállítva. Ezért kérjük, hogy jelentkezzen ki, és lépjen be újra!", "Recovery key password" : "A helyreállítási kulcs jelszava", - "Repeat Recovery key password" : "Ismételje meg a helyreállítási kulcs jelszavát", "Change recovery key password:" : "A helyreállítási kulcs jelszavának módosítása:", - "Old Recovery key password" : "Régi Helyreállítási Kulcs Jelszava", - "New Recovery key password" : "Új Helyreállítási kulcs jelszava", - "Repeat New Recovery key password" : "Ismételje meg az új helyreállítási kulcs jelszavát", "Change Password" : "Jelszó megváltoztatása", " If you don't remember your old password you can ask your administrator to recover your files." : "Ha nem emlékszik a régi jelszavára akkor megkérheti a rendszergazdát, hogy állítsa vissza az állományait.", "Old log-in password" : "Régi bejelentkezési jelszó", diff --git a/apps/encryption/l10n/hu_HU.json b/apps/encryption/l10n/hu_HU.json index 439e137d1c9..260a6ae3342 100644 --- a/apps/encryption/l10n/hu_HU.json +++ b/apps/encryption/l10n/hu_HU.json @@ -9,11 +9,7 @@ "Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "Az állományok titkosításához használt titkos kulcsa érvénytelen. Kérjük frissítse a titkos kulcs jelszót a személyes beállításokban, hogy ismét hozzáférjen a titkosított állományaihoz!", "Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "Az állományok titkosítása engedélyezve van, de az Ön titkos kulcsai nincsenek beállítva. Ezért kérjük, hogy jelentkezzen ki, és lépjen be újra!", "Recovery key password" : "A helyreállítási kulcs jelszava", - "Repeat Recovery key password" : "Ismételje meg a helyreállítási kulcs jelszavát", "Change recovery key password:" : "A helyreállítási kulcs jelszavának módosítása:", - "Old Recovery key password" : "Régi Helyreállítási Kulcs Jelszava", - "New Recovery key password" : "Új Helyreállítási kulcs jelszava", - "Repeat New Recovery key password" : "Ismételje meg az új helyreállítási kulcs jelszavát", "Change Password" : "Jelszó megváltoztatása", " If you don't remember your old password you can ask your administrator to recover your files." : "Ha nem emlékszik a régi jelszavára akkor megkérheti a rendszergazdát, hogy állítsa vissza az állományait.", "Old log-in password" : "Régi bejelentkezési jelszó", diff --git a/apps/encryption/l10n/id.js b/apps/encryption/l10n/id.js index 37c538613d4..4feb1de4186 100644 --- a/apps/encryption/l10n/id.js +++ b/apps/encryption/l10n/id.js @@ -8,24 +8,32 @@ OC.L10N.register( "Could not enable recovery key. Please check your recovery key password!" : "Tidak dapat mengaktifkan kunci pemulihan. Silakan periksa sandi kunci pemulihan Anda!", "Recovery key successfully disabled" : "Kunci pemulihan berhasil dinonaktifkan", "Could not disable recovery key. Please check your recovery key password!" : "Tidak dapat menonaktifkan kunci pemulihan. Silakan periksa sandi kunci pemulihan Anda!", + "Missing parameters" : "Parameter salah", "Please provide the old recovery password" : "Mohon berikan sandi pemulihan lama", "Please provide a new recovery password" : "Mohon berikan sandi pemulihan baru", "Please repeat the new recovery password" : "Silakan ulangi sandi pemulihan baru", "Password successfully changed." : "Sandi berhasil diubah", "Could not change the password. Maybe the old password was not correct." : "Tidak dapat mengubah sandi. Kemungkinan sandi lama yang dimasukkan salah.", + "Recovery Key disabled" : "Kunci Pemulihan dinonaktifkan", + "Recovery Key enabled" : "Kunci Pemulihan diaktifkan", + "Could not enable the recovery key, please try again or contact your administrator" : "Tidak dapat mengaktifkan kunci pemulihan, silakan coba lagi atau hubungi administrator Anda", "Could not update the private key password." : "Tidak dapat memperbarui sandi kunci private.", "The old password was not correct, please try again." : "Sandi lama salah, mohon coba lagi.", "The current log-in password was not correct, please try again." : "Sandi masuk saat ini salah, mohon coba lagi.", "Private key password successfully updated." : "Sandi kunci privat berhasil diperbarui.", "Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "Kunci privat tidak sah untuk Aplikasi Enskripsi. Silakan perbarui sandi kunci privat anda pada pengaturan pribadi untuk memulihkan akses ke berkas anda yang dienskripsi.", "Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "Aplikasi Enskripsi telah diaktifkan tetapi kunci tidak diinisialisasi, silakan log-out dan log-in lagi", + "Enable recovery key" : "Aktifkan kunci pemulihan", + "Disable recovery key" : "Nonaktifkan kunci pemulihan", + "The recovery key is an extra encryption key that is used to encrypt files. It allows recovery of a user's files if the user forgets his or her password." : "Kunci pemulihan adalah kunci enkripsi tambahan yang digunakan untuk mengenkripsi berkas. Kunci pemulihan memungkinkan untuk memulihkan berkas-berkas pengguna ketika pengguna tersebut melupakan sandi mereka.", "Recovery key password" : "Sandi kunci pemulihan", - "Repeat Recovery key password" : "Ulangi sandi kunci Pemulihan", + "Repeat recovery key password" : "Ulangi sandi kunci pemulihan", "Change recovery key password:" : "Ubah sandi kunci pemulihan:", - "Old Recovery key password" : "Sandi kunci Pemulihan Lama", - "New Recovery key password" : "Sandi kunci Pemulihan Baru", - "Repeat New Recovery key password" : "Ulangi sandi kunci Pemulihan baru", + "Old recovery key password" : "Sandi kunci pemulihan lama", + "New recovery key password" : "Sandi kunci pemulihan baru", + "Repeat new recovery key password" : "Ulangi sandi kunci pemulihan baru", "Change Password" : "Ubah Sandi", + "ownCloud basic encryption module" : "Modul enkripsi dasar ownCloud", "Your private key password no longer matches your log-in password." : "Sandi kunci private Anda tidak lagi cocok dengan sandi masuk Anda.", "Set your old private key password to your current log-in password:" : "Setel sandi kunci private Anda untuk sandi masuk Anda saat ini:", " If you don't remember your old password you can ask your administrator to recover your files." : "Jika Anda tidak ingat sandi lama, Anda dapat meminta administrator Anda untuk memulihkan berkas.", diff --git a/apps/encryption/l10n/id.json b/apps/encryption/l10n/id.json index 949e4cd1d4c..da2bf575939 100644 --- a/apps/encryption/l10n/id.json +++ b/apps/encryption/l10n/id.json @@ -6,24 +6,32 @@ "Could not enable recovery key. Please check your recovery key password!" : "Tidak dapat mengaktifkan kunci pemulihan. Silakan periksa sandi kunci pemulihan Anda!", "Recovery key successfully disabled" : "Kunci pemulihan berhasil dinonaktifkan", "Could not disable recovery key. Please check your recovery key password!" : "Tidak dapat menonaktifkan kunci pemulihan. Silakan periksa sandi kunci pemulihan Anda!", + "Missing parameters" : "Parameter salah", "Please provide the old recovery password" : "Mohon berikan sandi pemulihan lama", "Please provide a new recovery password" : "Mohon berikan sandi pemulihan baru", "Please repeat the new recovery password" : "Silakan ulangi sandi pemulihan baru", "Password successfully changed." : "Sandi berhasil diubah", "Could not change the password. Maybe the old password was not correct." : "Tidak dapat mengubah sandi. Kemungkinan sandi lama yang dimasukkan salah.", + "Recovery Key disabled" : "Kunci Pemulihan dinonaktifkan", + "Recovery Key enabled" : "Kunci Pemulihan diaktifkan", + "Could not enable the recovery key, please try again or contact your administrator" : "Tidak dapat mengaktifkan kunci pemulihan, silakan coba lagi atau hubungi administrator Anda", "Could not update the private key password." : "Tidak dapat memperbarui sandi kunci private.", "The old password was not correct, please try again." : "Sandi lama salah, mohon coba lagi.", "The current log-in password was not correct, please try again." : "Sandi masuk saat ini salah, mohon coba lagi.", "Private key password successfully updated." : "Sandi kunci privat berhasil diperbarui.", "Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "Kunci privat tidak sah untuk Aplikasi Enskripsi. Silakan perbarui sandi kunci privat anda pada pengaturan pribadi untuk memulihkan akses ke berkas anda yang dienskripsi.", "Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "Aplikasi Enskripsi telah diaktifkan tetapi kunci tidak diinisialisasi, silakan log-out dan log-in lagi", + "Enable recovery key" : "Aktifkan kunci pemulihan", + "Disable recovery key" : "Nonaktifkan kunci pemulihan", + "The recovery key is an extra encryption key that is used to encrypt files. It allows recovery of a user's files if the user forgets his or her password." : "Kunci pemulihan adalah kunci enkripsi tambahan yang digunakan untuk mengenkripsi berkas. Kunci pemulihan memungkinkan untuk memulihkan berkas-berkas pengguna ketika pengguna tersebut melupakan sandi mereka.", "Recovery key password" : "Sandi kunci pemulihan", - "Repeat Recovery key password" : "Ulangi sandi kunci Pemulihan", + "Repeat recovery key password" : "Ulangi sandi kunci pemulihan", "Change recovery key password:" : "Ubah sandi kunci pemulihan:", - "Old Recovery key password" : "Sandi kunci Pemulihan Lama", - "New Recovery key password" : "Sandi kunci Pemulihan Baru", - "Repeat New Recovery key password" : "Ulangi sandi kunci Pemulihan baru", + "Old recovery key password" : "Sandi kunci pemulihan lama", + "New recovery key password" : "Sandi kunci pemulihan baru", + "Repeat new recovery key password" : "Ulangi sandi kunci pemulihan baru", "Change Password" : "Ubah Sandi", + "ownCloud basic encryption module" : "Modul enkripsi dasar ownCloud", "Your private key password no longer matches your log-in password." : "Sandi kunci private Anda tidak lagi cocok dengan sandi masuk Anda.", "Set your old private key password to your current log-in password:" : "Setel sandi kunci private Anda untuk sandi masuk Anda saat ini:", " If you don't remember your old password you can ask your administrator to recover your files." : "Jika Anda tidak ingat sandi lama, Anda dapat meminta administrator Anda untuk memulihkan berkas.", diff --git a/apps/encryption/l10n/it.js b/apps/encryption/l10n/it.js index 16714996de0..23b62b6d544 100644 --- a/apps/encryption/l10n/it.js +++ b/apps/encryption/l10n/it.js @@ -23,18 +23,17 @@ OC.L10N.register( "Private key password successfully updated." : "Password della chiave privata aggiornata correttamente.", "Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "Chiave privata non valida per l'applicazione di cifratura. Aggiorna la password della chiave privata nelle impostazioni personali per ripristinare l'accesso ai tuoi file cifrati.", "Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "L'applicazione di cifratura è abilitata, ma le chiavi non sono state inizializzate, disconnettiti ed effettua nuovamente l'accesso", - "ownCloud basic encryption module" : "Modulo di cifratura di base di ownCloud", - "Enable recovery key: " : "Abilita chiave di ripristino:", - "The recovery key is an extra encryption key that is used\n\t\tto encrypt files. It allows recovery of a user's files if the user forgets their password." : "La chiave di ripristino è un chiave di cifratura aggiuntiva utilizzata\n\t\tper cifrare i file. Consente il ripristino dei file di un utente nel caso in cui l'utente smarrisca la propria password.", - "Recovery key password" : "Password della chiave di recupero", - "Repeat Recovery key password" : "Ripeti la password della chiave di recupero", "Enable recovery key" : "Abilita chiave di ripristino", "Disable recovery key" : "Disabilita chiave di ripristino", + "The recovery key is an extra encryption key that is used to encrypt files. It allows recovery of a user's files if the user forgets his or her password." : "La chiave di ripristino è una chiave di cifratura aggiuntiva utilizzata per cifrare i file. Consente di ripristinare i file di un utente se l'utente dimentica la propria password.", + "Recovery key password" : "Password della chiave di recupero", + "Repeat recovery key password" : "Ripeti la password della chiave di ripristino", "Change recovery key password:" : "Cambia la password della chiave di recupero:", - "Old Recovery key password" : "Vecchia password della chiave di recupero", - "New Recovery key password" : "Nuova password della chiave di recupero", - "Repeat New Recovery key password" : "Ripeti la nuova password della chiave di recupero", + "Old recovery key password" : "Vecchia password della chiave di ripristino", + "New recovery key password" : "Nuova password della chiave di ripristino", + "Repeat new recovery key password" : "Ripeti la nuova password della chiave di ripristino", "Change Password" : "Modifica password", + "ownCloud basic encryption module" : "Modulo di cifratura di base di ownCloud", "Your private key password no longer matches your log-in password." : "La password della chiave privata non corrisponde più alla password di accesso.", "Set your old private key password to your current log-in password:" : "Imposta la vecchia password della chiave privata sull'attuale password di accesso:", " If you don't remember your old password you can ask your administrator to recover your files." : "Se non ricordi la vecchia password puoi chiedere al tuo amministratore di recuperare i file.", diff --git a/apps/encryption/l10n/it.json b/apps/encryption/l10n/it.json index ee3e75820d0..f4a5b12ff6f 100644 --- a/apps/encryption/l10n/it.json +++ b/apps/encryption/l10n/it.json @@ -21,18 +21,17 @@ "Private key password successfully updated." : "Password della chiave privata aggiornata correttamente.", "Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "Chiave privata non valida per l'applicazione di cifratura. Aggiorna la password della chiave privata nelle impostazioni personali per ripristinare l'accesso ai tuoi file cifrati.", "Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "L'applicazione di cifratura è abilitata, ma le chiavi non sono state inizializzate, disconnettiti ed effettua nuovamente l'accesso", - "ownCloud basic encryption module" : "Modulo di cifratura di base di ownCloud", - "Enable recovery key: " : "Abilita chiave di ripristino:", - "The recovery key is an extra encryption key that is used\n\t\tto encrypt files. It allows recovery of a user's files if the user forgets their password." : "La chiave di ripristino è un chiave di cifratura aggiuntiva utilizzata\n\t\tper cifrare i file. Consente il ripristino dei file di un utente nel caso in cui l'utente smarrisca la propria password.", - "Recovery key password" : "Password della chiave di recupero", - "Repeat Recovery key password" : "Ripeti la password della chiave di recupero", "Enable recovery key" : "Abilita chiave di ripristino", "Disable recovery key" : "Disabilita chiave di ripristino", + "The recovery key is an extra encryption key that is used to encrypt files. It allows recovery of a user's files if the user forgets his or her password." : "La chiave di ripristino è una chiave di cifratura aggiuntiva utilizzata per cifrare i file. Consente di ripristinare i file di un utente se l'utente dimentica la propria password.", + "Recovery key password" : "Password della chiave di recupero", + "Repeat recovery key password" : "Ripeti la password della chiave di ripristino", "Change recovery key password:" : "Cambia la password della chiave di recupero:", - "Old Recovery key password" : "Vecchia password della chiave di recupero", - "New Recovery key password" : "Nuova password della chiave di recupero", - "Repeat New Recovery key password" : "Ripeti la nuova password della chiave di recupero", + "Old recovery key password" : "Vecchia password della chiave di ripristino", + "New recovery key password" : "Nuova password della chiave di ripristino", + "Repeat new recovery key password" : "Ripeti la nuova password della chiave di ripristino", "Change Password" : "Modifica password", + "ownCloud basic encryption module" : "Modulo di cifratura di base di ownCloud", "Your private key password no longer matches your log-in password." : "La password della chiave privata non corrisponde più alla password di accesso.", "Set your old private key password to your current log-in password:" : "Imposta la vecchia password della chiave privata sull'attuale password di accesso:", " If you don't remember your old password you can ask your administrator to recover your files." : "Se non ricordi la vecchia password puoi chiedere al tuo amministratore di recuperare i file.", diff --git a/apps/encryption/l10n/ja.js b/apps/encryption/l10n/ja.js index 395a2bb292a..1f2cf3cf49d 100644 --- a/apps/encryption/l10n/ja.js +++ b/apps/encryption/l10n/ja.js @@ -21,14 +21,10 @@ OC.L10N.register( "Private key password successfully updated." : "秘密鍵のパスワードが正常に更新されました。", "Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "暗号化アプリの無効なプライベートキーです。あなたの暗号化されたファイルへアクセスするために、個人設定からプライベートキーのパスワードを更新してください。", "Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "暗号化アプリは有効ですが、あなたの暗号化キーは初期化されていません。ログアウトした後に、再度ログインしてください", - "ownCloud basic encryption module" : "ownCloud 基本暗号化モジュール", "Recovery key password" : "リカバリキーのパスワード", - "Repeat Recovery key password" : "リカバリキーのパスワードをもう一度入力", "Change recovery key password:" : "リカバリキーのパスワードを変更:", - "Old Recovery key password" : "古いリカバリキーのパスワード", - "New Recovery key password" : "新しいリカバリキーのパスワード", - "Repeat New Recovery key password" : "新しいリカバリキーのパスワードをもう一度入力", "Change Password" : "パスワードを変更", + "ownCloud basic encryption module" : "ownCloud 基本暗号化モジュール", "Your private key password no longer matches your log-in password." : "もはや秘密鍵はログインパスワードと一致しません。", "Set your old private key password to your current log-in password:" : "古い秘密鍵のパスワードを現在のログインパスワードに設定:", " If you don't remember your old password you can ask your administrator to recover your files." : "古いパスワードを覚えていない場合、管理者に尋ねてファイルを回復することができます。", diff --git a/apps/encryption/l10n/ja.json b/apps/encryption/l10n/ja.json index 49ce1522363..38f8a84d8c7 100644 --- a/apps/encryption/l10n/ja.json +++ b/apps/encryption/l10n/ja.json @@ -19,14 +19,10 @@ "Private key password successfully updated." : "秘密鍵のパスワードが正常に更新されました。", "Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "暗号化アプリの無効なプライベートキーです。あなたの暗号化されたファイルへアクセスするために、個人設定からプライベートキーのパスワードを更新してください。", "Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "暗号化アプリは有効ですが、あなたの暗号化キーは初期化されていません。ログアウトした後に、再度ログインしてください", - "ownCloud basic encryption module" : "ownCloud 基本暗号化モジュール", "Recovery key password" : "リカバリキーのパスワード", - "Repeat Recovery key password" : "リカバリキーのパスワードをもう一度入力", "Change recovery key password:" : "リカバリキーのパスワードを変更:", - "Old Recovery key password" : "古いリカバリキーのパスワード", - "New Recovery key password" : "新しいリカバリキーのパスワード", - "Repeat New Recovery key password" : "新しいリカバリキーのパスワードをもう一度入力", "Change Password" : "パスワードを変更", + "ownCloud basic encryption module" : "ownCloud 基本暗号化モジュール", "Your private key password no longer matches your log-in password." : "もはや秘密鍵はログインパスワードと一致しません。", "Set your old private key password to your current log-in password:" : "古い秘密鍵のパスワードを現在のログインパスワードに設定:", " If you don't remember your old password you can ask your administrator to recover your files." : "古いパスワードを覚えていない場合、管理者に尋ねてファイルを回復することができます。", diff --git a/apps/encryption/l10n/ko.js b/apps/encryption/l10n/ko.js index 8ec1b5173a3..b4f9049082d 100644 --- a/apps/encryption/l10n/ko.js +++ b/apps/encryption/l10n/ko.js @@ -5,27 +5,35 @@ OC.L10N.register( "Please repeat the recovery key password" : "복구 키 암호를 다시 입력하십시오", "Repeated recovery key password does not match the provided recovery key password" : "입력한 복구 키 암호가 서로 다릅니다", "Recovery key successfully enabled" : "복구 키가 성공적으로 활성화되었습니다", - "Could not enable recovery key. Please check your recovery key password!" : "복구 키를 활성화 할 수 없습니다. 복구 키의 암호를 확인해 주세요!", + "Could not enable recovery key. Please check your recovery key password!" : "복구 키를 활성화 할 수 없습니다. 복구 키의 암호를 확인해 주십시오!", "Recovery key successfully disabled" : "복구 키가 성공적으로 비활성화 되었습니다", "Could not disable recovery key. Please check your recovery key password!" : "복구 키를 비활성화 할 수 없습니다. 복구 키의 암호를 확인해 주십시오!", + "Missing parameters" : "인자 부족함", "Please provide the old recovery password" : "이전 복구 암호를 입력하십시오", "Please provide a new recovery password" : "새 복구 암호를 입력하십시오", "Please repeat the new recovery password" : "새 복구 암호를 다시 입력하십시오", "Password successfully changed." : "암호가 성공적으로 변경되었습니다", "Could not change the password. Maybe the old password was not correct." : "암호를 변경할 수 없습니다. 예전 암호가 정확하지 않은 것 같습니다.", + "Recovery Key disabled" : "복구 키가 비활성화됨", + "Recovery Key enabled" : "복구 키가 활성화됨", + "Could not enable the recovery key, please try again or contact your administrator" : "복구 키를 활성화할 수 없습니다. 다시 시도하거나 관리자에게 연락하십시오", "Could not update the private key password." : "개인 키 암호를 업데이트할 수 없습니다", "The old password was not correct, please try again." : "이전 암호가 잘못되었습니다. 다시 시도하십시오.", "The current log-in password was not correct, please try again." : "현재 로그인 암호가 잘못되었습니다. 다시 시도하십시오.", "Private key password successfully updated." : "개인 키 암호가 성공적으로 업데이트 되었습니다.", "Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "암호화 앱의 개인 키가 잘못되었습니다. 암호화된 파일에 다시 접근하려면 개인 설정에서 개인 키 암호를 업데이트해야 합니다.", "Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "암호화 앱이 활성화되어 있지만 키가 초기화되지 않았습니다. 로그아웃한 후 다시 로그인하십시오", + "Enable recovery key" : "복구 키 활성화", + "Disable recovery key" : "복구 키 비활성화", + "The recovery key is an extra encryption key that is used to encrypt files. It allows recovery of a user's files if the user forgets his or her password." : "복구 키는 파일을 암호화하는 추가 키입니다. 사용자가 암호를 잊었을 때 복구할 수 있도록 해 줍니다.", "Recovery key password" : "복구 키 암호", - "Repeat Recovery key password" : "복구 키 암호 재입력", + "Repeat recovery key password" : "복구 키 암호 확인", "Change recovery key password:" : "복구 키 암호 변경:", - "Old Recovery key password" : "이전 복구 키 암호", - "New Recovery key password" : "새 복구 키 암호", - "Repeat New Recovery key password" : "새 복구 키 암호 재입력", + "Old recovery key password" : "이전 복구 키 암호", + "New recovery key password" : "새 복구 키 암호", + "Repeat new recovery key password" : "새 복구 키 암호 확인", "Change Password" : "암호 변경", + "ownCloud basic encryption module" : "ownCloud 기본 암호화 모듈", "Your private key password no longer matches your log-in password." : "개인 키 암호와 로그인 암호가 일치하지 않습니다.", "Set your old private key password to your current log-in password:" : "기존 개인 키 암호를 로그인 암호와 동일하게 설정하십시오:", " If you don't remember your old password you can ask your administrator to recover your files." : " 이전 암호가 기억나지 않으면 시스템 관리자에게 파일 복구를 요청하십시오.", diff --git a/apps/encryption/l10n/ko.json b/apps/encryption/l10n/ko.json index c4411489401..4cb2f35540c 100644 --- a/apps/encryption/l10n/ko.json +++ b/apps/encryption/l10n/ko.json @@ -3,27 +3,35 @@ "Please repeat the recovery key password" : "복구 키 암호를 다시 입력하십시오", "Repeated recovery key password does not match the provided recovery key password" : "입력한 복구 키 암호가 서로 다릅니다", "Recovery key successfully enabled" : "복구 키가 성공적으로 활성화되었습니다", - "Could not enable recovery key. Please check your recovery key password!" : "복구 키를 활성화 할 수 없습니다. 복구 키의 암호를 확인해 주세요!", + "Could not enable recovery key. Please check your recovery key password!" : "복구 키를 활성화 할 수 없습니다. 복구 키의 암호를 확인해 주십시오!", "Recovery key successfully disabled" : "복구 키가 성공적으로 비활성화 되었습니다", "Could not disable recovery key. Please check your recovery key password!" : "복구 키를 비활성화 할 수 없습니다. 복구 키의 암호를 확인해 주십시오!", + "Missing parameters" : "인자 부족함", "Please provide the old recovery password" : "이전 복구 암호를 입력하십시오", "Please provide a new recovery password" : "새 복구 암호를 입력하십시오", "Please repeat the new recovery password" : "새 복구 암호를 다시 입력하십시오", "Password successfully changed." : "암호가 성공적으로 변경되었습니다", "Could not change the password. Maybe the old password was not correct." : "암호를 변경할 수 없습니다. 예전 암호가 정확하지 않은 것 같습니다.", + "Recovery Key disabled" : "복구 키가 비활성화됨", + "Recovery Key enabled" : "복구 키가 활성화됨", + "Could not enable the recovery key, please try again or contact your administrator" : "복구 키를 활성화할 수 없습니다. 다시 시도하거나 관리자에게 연락하십시오", "Could not update the private key password." : "개인 키 암호를 업데이트할 수 없습니다", "The old password was not correct, please try again." : "이전 암호가 잘못되었습니다. 다시 시도하십시오.", "The current log-in password was not correct, please try again." : "현재 로그인 암호가 잘못되었습니다. 다시 시도하십시오.", "Private key password successfully updated." : "개인 키 암호가 성공적으로 업데이트 되었습니다.", "Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "암호화 앱의 개인 키가 잘못되었습니다. 암호화된 파일에 다시 접근하려면 개인 설정에서 개인 키 암호를 업데이트해야 합니다.", "Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "암호화 앱이 활성화되어 있지만 키가 초기화되지 않았습니다. 로그아웃한 후 다시 로그인하십시오", + "Enable recovery key" : "복구 키 활성화", + "Disable recovery key" : "복구 키 비활성화", + "The recovery key is an extra encryption key that is used to encrypt files. It allows recovery of a user's files if the user forgets his or her password." : "복구 키는 파일을 암호화하는 추가 키입니다. 사용자가 암호를 잊었을 때 복구할 수 있도록 해 줍니다.", "Recovery key password" : "복구 키 암호", - "Repeat Recovery key password" : "복구 키 암호 재입력", + "Repeat recovery key password" : "복구 키 암호 확인", "Change recovery key password:" : "복구 키 암호 변경:", - "Old Recovery key password" : "이전 복구 키 암호", - "New Recovery key password" : "새 복구 키 암호", - "Repeat New Recovery key password" : "새 복구 키 암호 재입력", + "Old recovery key password" : "이전 복구 키 암호", + "New recovery key password" : "새 복구 키 암호", + "Repeat new recovery key password" : "새 복구 키 암호 확인", "Change Password" : "암호 변경", + "ownCloud basic encryption module" : "ownCloud 기본 암호화 모듈", "Your private key password no longer matches your log-in password." : "개인 키 암호와 로그인 암호가 일치하지 않습니다.", "Set your old private key password to your current log-in password:" : "기존 개인 키 암호를 로그인 암호와 동일하게 설정하십시오:", " If you don't remember your old password you can ask your administrator to recover your files." : " 이전 암호가 기억나지 않으면 시스템 관리자에게 파일 복구를 요청하십시오.", diff --git a/apps/encryption/l10n/lt_LT.js b/apps/encryption/l10n/lt_LT.js index 502c7b35268..2fd29ca7788 100644 --- a/apps/encryption/l10n/lt_LT.js +++ b/apps/encryption/l10n/lt_LT.js @@ -11,11 +11,7 @@ OC.L10N.register( "Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "Netinkamas privatus raktas Šifravimo programai. Prašome atnaujinti savo privataus rakto slaptažodį asmeniniuose nustatymuose, kad atkurti prieigą prie šifruotų failų.", "Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "Šifravimo programa įjungta, bet Jūsų raktai nėra pritaikyti. Prašome atsijungti ir vėl prisijungti", "Recovery key password" : "Atkūrimo rakto slaptažodis", - "Repeat Recovery key password" : "Pakartokite atkūrimo rakto slaptažodį", "Change recovery key password:" : "Pakeisti atkūrimo rakto slaptažodį:", - "Old Recovery key password" : "Senas atkūrimo rakto slaptažodis", - "New Recovery key password" : "Naujas atkūrimo rakto slaptažodis", - "Repeat New Recovery key password" : "Pakartokite naują atkūrimo rakto slaptažodį", "Change Password" : "Pakeisti slaptažodį", " If you don't remember your old password you can ask your administrator to recover your files." : "Jei nepamenate savo seno slaptažodžio, galite paprašyti administratoriaus atkurti Jūsų failus.", "Old log-in password" : "Senas prisijungimo slaptažodis", diff --git a/apps/encryption/l10n/lt_LT.json b/apps/encryption/l10n/lt_LT.json index e73973b48ea..3e97937d60d 100644 --- a/apps/encryption/l10n/lt_LT.json +++ b/apps/encryption/l10n/lt_LT.json @@ -9,11 +9,7 @@ "Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "Netinkamas privatus raktas Šifravimo programai. Prašome atnaujinti savo privataus rakto slaptažodį asmeniniuose nustatymuose, kad atkurti prieigą prie šifruotų failų.", "Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "Šifravimo programa įjungta, bet Jūsų raktai nėra pritaikyti. Prašome atsijungti ir vėl prisijungti", "Recovery key password" : "Atkūrimo rakto slaptažodis", - "Repeat Recovery key password" : "Pakartokite atkūrimo rakto slaptažodį", "Change recovery key password:" : "Pakeisti atkūrimo rakto slaptažodį:", - "Old Recovery key password" : "Senas atkūrimo rakto slaptažodis", - "New Recovery key password" : "Naujas atkūrimo rakto slaptažodis", - "Repeat New Recovery key password" : "Pakartokite naują atkūrimo rakto slaptažodį", "Change Password" : "Pakeisti slaptažodį", " If you don't remember your old password you can ask your administrator to recover your files." : "Jei nepamenate savo seno slaptažodžio, galite paprašyti administratoriaus atkurti Jūsų failus.", "Old log-in password" : "Senas prisijungimo slaptažodis", diff --git a/apps/encryption/l10n/mk.js b/apps/encryption/l10n/mk.js index 6a886626fb5..f1abdd2f518 100644 --- a/apps/encryption/l10n/mk.js +++ b/apps/encryption/l10n/mk.js @@ -3,9 +3,6 @@ OC.L10N.register( { "Password successfully changed." : "Лозинката е успешно променета.", "Could not change the password. Maybe the old password was not correct." : "Лозинката не можеше да се промени. Можеби старата лозинка не беше исправна.", - "Repeat Recovery key password" : "Повтори ја лозинката за клучот на обновување", - "Old Recovery key password" : "Старата лозинка за клучот на обновување ", - "Repeat New Recovery key password" : "Повтори ја лозинката за клучот на обновувањето", "Change Password" : "Смени лозинка", "Old log-in password" : "Старата лозинка за најавување", "Current log-in password" : "Тековната лозинка за најавување", diff --git a/apps/encryption/l10n/mk.json b/apps/encryption/l10n/mk.json index 4d6b7db5255..112d818347c 100644 --- a/apps/encryption/l10n/mk.json +++ b/apps/encryption/l10n/mk.json @@ -1,9 +1,6 @@ { "translations": { "Password successfully changed." : "Лозинката е успешно променета.", "Could not change the password. Maybe the old password was not correct." : "Лозинката не можеше да се промени. Можеби старата лозинка не беше исправна.", - "Repeat Recovery key password" : "Повтори ја лозинката за клучот на обновување", - "Old Recovery key password" : "Старата лозинка за клучот на обновување ", - "Repeat New Recovery key password" : "Повтори ја лозинката за клучот на обновувањето", "Change Password" : "Смени лозинка", "Old log-in password" : "Старата лозинка за најавување", "Current log-in password" : "Тековната лозинка за најавување", diff --git a/apps/encryption/l10n/nb_NO.js b/apps/encryption/l10n/nb_NO.js index b0b6a4d2c9b..205f9713583 100644 --- a/apps/encryption/l10n/nb_NO.js +++ b/apps/encryption/l10n/nb_NO.js @@ -20,11 +20,7 @@ OC.L10N.register( "Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "Ugyldig privat nøkkel for Krypterings-app. Oppdater passordet for din private nøkkel i dine personlige innstillinger for å gjenopprette tilgang til de krypterte filene dine.", "Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "App for kryptering er aktivert men nøklene dine er ikke satt opp. Logg ut og logg inn igjen.", "Recovery key password" : "Passord for gjenopprettingsnøkkel", - "Repeat Recovery key password" : "Gjenta passord for gjenopprettingsnøkkel", "Change recovery key password:" : "Endre passord for gjenopprettingsnøkkel:", - "Old Recovery key password" : "Gammelt passord for gjenopprettingsnøkkel", - "New Recovery key password" : "Nytt passord for gjenopprettingsnøkkel", - "Repeat New Recovery key password" : "Gjenta nytt passord for gjenopprettingsnøkkel", "Change Password" : "Endre passord", "Your private key password no longer matches your log-in password." : "Passordet for din private nøkkel stemmer ikke lenger med påloggingspassordet ditt.", "Set your old private key password to your current log-in password:" : "Sett ditt gamle passord for privat nøkkel til ditt nåværende påloggingspassord:", diff --git a/apps/encryption/l10n/nb_NO.json b/apps/encryption/l10n/nb_NO.json index 2e402fb8b15..8f0a09d56b5 100644 --- a/apps/encryption/l10n/nb_NO.json +++ b/apps/encryption/l10n/nb_NO.json @@ -18,11 +18,7 @@ "Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "Ugyldig privat nøkkel for Krypterings-app. Oppdater passordet for din private nøkkel i dine personlige innstillinger for å gjenopprette tilgang til de krypterte filene dine.", "Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "App for kryptering er aktivert men nøklene dine er ikke satt opp. Logg ut og logg inn igjen.", "Recovery key password" : "Passord for gjenopprettingsnøkkel", - "Repeat Recovery key password" : "Gjenta passord for gjenopprettingsnøkkel", "Change recovery key password:" : "Endre passord for gjenopprettingsnøkkel:", - "Old Recovery key password" : "Gammelt passord for gjenopprettingsnøkkel", - "New Recovery key password" : "Nytt passord for gjenopprettingsnøkkel", - "Repeat New Recovery key password" : "Gjenta nytt passord for gjenopprettingsnøkkel", "Change Password" : "Endre passord", "Your private key password no longer matches your log-in password." : "Passordet for din private nøkkel stemmer ikke lenger med påloggingspassordet ditt.", "Set your old private key password to your current log-in password:" : "Sett ditt gamle passord for privat nøkkel til ditt nåværende påloggingspassord:", diff --git a/apps/encryption/l10n/nl.js b/apps/encryption/l10n/nl.js index d7da433965e..d455039cff0 100644 --- a/apps/encryption/l10n/nl.js +++ b/apps/encryption/l10n/nl.js @@ -23,18 +23,17 @@ OC.L10N.register( "Private key password successfully updated." : "Privésleutel succesvol bijgewerkt.", "Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "Ongeldige privésleutel voor crypto app. Werk het privésleutel wachtwoord bij in uw persoonlijke instellingen om opnieuw toegang te krijgen tot uw versleutelde bestanden.", "Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "Crypto app is geactiveerd, maar uw sleutels werden niet geïnitialiseerd. Log uit en log daarna opnieuw in.", - "ownCloud basic encryption module" : "ownCloud basis versleutelingsmodule", - "Enable recovery key: " : "Activeer herstelsleutel:", - "The recovery key is an extra encryption key that is used\n\t\tto encrypt files. It allows recovery of a user's files if the user forgets their password." : "De herstelsleutel is een extra cryptografische sleutel die wordt gebruikt\n\t\tom bestanden te versleutelen. Die maakt het mogelijk bestanden te herstellen als de gebruiker het wachtwoord vergeet.", - "Recovery key password" : "Wachtwoord herstelsleulel", - "Repeat Recovery key password" : "Herhaal het herstelsleutel wachtwoord", "Enable recovery key" : "Activeer herstelsleutel", "Disable recovery key" : "Deactiveer herstelsleutel", + "The recovery key is an extra encryption key that is used to encrypt files. It allows recovery of a user's files if the user forgets his or her password." : "De herstelsleutel is een extra cryptografische sleutel die wordt gebruikt om bestanden te versleutelen. Die maakt het mogelijk bestanden te herstellen als de gebruiker zijn of haar wachtwoord vergeet.", + "Recovery key password" : "Wachtwoord herstelsleulel", + "Repeat recovery key password" : "Herhaal wachtwoord herstelsleutel", "Change recovery key password:" : "Wijzig wachtwoord herstelsleutel:", - "Old Recovery key password" : "Oude wachtwoord herstelsleutel", - "New Recovery key password" : "Nieuwe wachtwoord herstelsleutel", - "Repeat New Recovery key password" : "Herhaal het nieuwe herstelsleutel wachtwoord", + "Old recovery key password" : "Oude wachtwoord herstelsleutel", + "New recovery key password" : "Nieuwe wachtwoord herstelsleutel", + "Repeat new recovery key password" : "Herhaal nieuwe wachtwoord herstelsleutel", "Change Password" : "Wijzigen wachtwoord", + "ownCloud basic encryption module" : "ownCloud basis versleutelingsmodule", "Your private key password no longer matches your log-in password." : "Het wachtwoord van uw privésleutel komt niet meer overeen met uw inlogwachtwoord.", "Set your old private key password to your current log-in password:" : "Stel het wachtwoord van uw oude privésleutel in op uw huidige inlogwachtwoord.", " If you don't remember your old password you can ask your administrator to recover your files." : "Als u uw oude wachtwoord niet meer weet, kunt u uw beheerder vragen uw bestanden terug te halen.", diff --git a/apps/encryption/l10n/nl.json b/apps/encryption/l10n/nl.json index 6374d983d89..6172a9fa3c8 100644 --- a/apps/encryption/l10n/nl.json +++ b/apps/encryption/l10n/nl.json @@ -21,18 +21,17 @@ "Private key password successfully updated." : "Privésleutel succesvol bijgewerkt.", "Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "Ongeldige privésleutel voor crypto app. Werk het privésleutel wachtwoord bij in uw persoonlijke instellingen om opnieuw toegang te krijgen tot uw versleutelde bestanden.", "Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "Crypto app is geactiveerd, maar uw sleutels werden niet geïnitialiseerd. Log uit en log daarna opnieuw in.", - "ownCloud basic encryption module" : "ownCloud basis versleutelingsmodule", - "Enable recovery key: " : "Activeer herstelsleutel:", - "The recovery key is an extra encryption key that is used\n\t\tto encrypt files. It allows recovery of a user's files if the user forgets their password." : "De herstelsleutel is een extra cryptografische sleutel die wordt gebruikt\n\t\tom bestanden te versleutelen. Die maakt het mogelijk bestanden te herstellen als de gebruiker het wachtwoord vergeet.", - "Recovery key password" : "Wachtwoord herstelsleulel", - "Repeat Recovery key password" : "Herhaal het herstelsleutel wachtwoord", "Enable recovery key" : "Activeer herstelsleutel", "Disable recovery key" : "Deactiveer herstelsleutel", + "The recovery key is an extra encryption key that is used to encrypt files. It allows recovery of a user's files if the user forgets his or her password." : "De herstelsleutel is een extra cryptografische sleutel die wordt gebruikt om bestanden te versleutelen. Die maakt het mogelijk bestanden te herstellen als de gebruiker zijn of haar wachtwoord vergeet.", + "Recovery key password" : "Wachtwoord herstelsleulel", + "Repeat recovery key password" : "Herhaal wachtwoord herstelsleutel", "Change recovery key password:" : "Wijzig wachtwoord herstelsleutel:", - "Old Recovery key password" : "Oude wachtwoord herstelsleutel", - "New Recovery key password" : "Nieuwe wachtwoord herstelsleutel", - "Repeat New Recovery key password" : "Herhaal het nieuwe herstelsleutel wachtwoord", + "Old recovery key password" : "Oude wachtwoord herstelsleutel", + "New recovery key password" : "Nieuwe wachtwoord herstelsleutel", + "Repeat new recovery key password" : "Herhaal nieuwe wachtwoord herstelsleutel", "Change Password" : "Wijzigen wachtwoord", + "ownCloud basic encryption module" : "ownCloud basis versleutelingsmodule", "Your private key password no longer matches your log-in password." : "Het wachtwoord van uw privésleutel komt niet meer overeen met uw inlogwachtwoord.", "Set your old private key password to your current log-in password:" : "Stel het wachtwoord van uw oude privésleutel in op uw huidige inlogwachtwoord.", " If you don't remember your old password you can ask your administrator to recover your files." : "Als u uw oude wachtwoord niet meer weet, kunt u uw beheerder vragen uw bestanden terug te halen.", diff --git a/apps/encryption/l10n/pl.js b/apps/encryption/l10n/pl.js index 287b2d6ede5..dd8ecd2081b 100644 --- a/apps/encryption/l10n/pl.js +++ b/apps/encryption/l10n/pl.js @@ -20,11 +20,7 @@ OC.L10N.register( "Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "Klucz prywatny nie jest poprawny! Może Twoje hasło zostało zmienione z zewnątrz. Można zaktualizować hasło klucza prywatnego w ustawieniach osobistych w celu odzyskania dostępu do plików", "Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "Aplikacja szyfrująca jest aktywna, ale twoje klucze nie zostały zainicjowane, prosze wyloguj się i zaloguj ponownie.", "Recovery key password" : "Hasło klucza odzyskiwania", - "Repeat Recovery key password" : "Powtórz hasło klucza odzyskiwania", "Change recovery key password:" : "Zmień hasło klucza odzyskiwania", - "Old Recovery key password" : "Stare hasło klucza odzyskiwania", - "New Recovery key password" : "Nowe hasło klucza odzyskiwania", - "Repeat New Recovery key password" : "Powtórz nowe hasło klucza odzyskiwania", "Change Password" : "Zmień hasło", "Your private key password no longer matches your log-in password." : "Hasło Twojego klucza prywatnego nie pasuje już do Twojego hasła logowania.", "Set your old private key password to your current log-in password:" : "Ustaw stare hasło klucza prywatnego na aktualne hasło logowania:", diff --git a/apps/encryption/l10n/pl.json b/apps/encryption/l10n/pl.json index 472ab93b063..8e40fe41200 100644 --- a/apps/encryption/l10n/pl.json +++ b/apps/encryption/l10n/pl.json @@ -18,11 +18,7 @@ "Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "Klucz prywatny nie jest poprawny! Może Twoje hasło zostało zmienione z zewnątrz. Można zaktualizować hasło klucza prywatnego w ustawieniach osobistych w celu odzyskania dostępu do plików", "Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "Aplikacja szyfrująca jest aktywna, ale twoje klucze nie zostały zainicjowane, prosze wyloguj się i zaloguj ponownie.", "Recovery key password" : "Hasło klucza odzyskiwania", - "Repeat Recovery key password" : "Powtórz hasło klucza odzyskiwania", "Change recovery key password:" : "Zmień hasło klucza odzyskiwania", - "Old Recovery key password" : "Stare hasło klucza odzyskiwania", - "New Recovery key password" : "Nowe hasło klucza odzyskiwania", - "Repeat New Recovery key password" : "Powtórz nowe hasło klucza odzyskiwania", "Change Password" : "Zmień hasło", "Your private key password no longer matches your log-in password." : "Hasło Twojego klucza prywatnego nie pasuje już do Twojego hasła logowania.", "Set your old private key password to your current log-in password:" : "Ustaw stare hasło klucza prywatnego na aktualne hasło logowania:", diff --git a/apps/encryption/l10n/pt_BR.js b/apps/encryption/l10n/pt_BR.js index b4550578cf4..4d25a18c137 100644 --- a/apps/encryption/l10n/pt_BR.js +++ b/apps/encryption/l10n/pt_BR.js @@ -23,18 +23,17 @@ OC.L10N.register( "Private key password successfully updated." : "Senha de chave privada atualizada com sucesso.", "Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "Chave do App de Criptografia é inválida. Por favor, atualize sua senha de chave privada em suas configurações pessoais para recuperar o acesso a seus arquivos criptografados.", "Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "App de criptografia está ativado, mas as chaves não estão inicializadas, por favor log-out e faça login novamente", - "ownCloud basic encryption module" : "Modo de criptografia básico ownCloud", - "Enable recovery key: " : "Habilitar recuperação de chave:", - "The recovery key is an extra encryption key that is used\n\t\tto encrypt files. It allows recovery of a user's files if the user forgets their password." : "A chave de recuperação é uma chave de criptografia extra que é usada para \ncriptografar arquivos. Ela permite a recuperação de arquivos de um usuário, se o usuário esquecer sua senha.", - "Recovery key password" : "Senha da chave de recuperação", - "Repeat Recovery key password" : "Repita Recuperação de senha da chave", "Enable recovery key" : "Habilitar recuperação de chave", "Disable recovery key" : "Dasabilitar chave de recuperação", + "The recovery key is an extra encryption key that is used to encrypt files. It allows recovery of a user's files if the user forgets his or her password." : "A chave de recuperação é uma chave de encriptação extra que é utilizada para encriptar arquivos. Ela permite a recuperação de arquivos de um usuário esquecer sua senha.", + "Recovery key password" : "Senha da chave de recuperação", + "Repeat recovery key password" : "Repita senha da chave de recuperação", "Change recovery key password:" : "Mudar a senha da chave de recuperação:", - "Old Recovery key password" : "Senha antiga da chave de recuperação", - "New Recovery key password" : "Nova senha da chave de recuperação", - "Repeat New Recovery key password" : "Repita Nova senha da chave de recuperação", + "Old recovery key password" : "Senha da chave de recuperação antiga", + "New recovery key password" : "Nova senha da chave de recuperação", + "Repeat new recovery key password" : "Repita a nova senha da chave de recuperação", "Change Password" : "Trocar Senha", + "ownCloud basic encryption module" : "Modo de criptografia básico ownCloud", "Your private key password no longer matches your log-in password." : "A sua senha de chave privada não corresponde a sua senha de login.", "Set your old private key password to your current log-in password:" : "Defina a sua antiga senha da chave privada para sua senha de login atual:", " If you don't remember your old password you can ask your administrator to recover your files." : "Se você não se lembra de sua antiga senha você pode pedir ao administrador que recupere seus arquivos.", diff --git a/apps/encryption/l10n/pt_BR.json b/apps/encryption/l10n/pt_BR.json index 44ba8f85fed..1c7b13e2e7d 100644 --- a/apps/encryption/l10n/pt_BR.json +++ b/apps/encryption/l10n/pt_BR.json @@ -21,18 +21,17 @@ "Private key password successfully updated." : "Senha de chave privada atualizada com sucesso.", "Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "Chave do App de Criptografia é inválida. Por favor, atualize sua senha de chave privada em suas configurações pessoais para recuperar o acesso a seus arquivos criptografados.", "Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "App de criptografia está ativado, mas as chaves não estão inicializadas, por favor log-out e faça login novamente", - "ownCloud basic encryption module" : "Modo de criptografia básico ownCloud", - "Enable recovery key: " : "Habilitar recuperação de chave:", - "The recovery key is an extra encryption key that is used\n\t\tto encrypt files. It allows recovery of a user's files if the user forgets their password." : "A chave de recuperação é uma chave de criptografia extra que é usada para \ncriptografar arquivos. Ela permite a recuperação de arquivos de um usuário, se o usuário esquecer sua senha.", - "Recovery key password" : "Senha da chave de recuperação", - "Repeat Recovery key password" : "Repita Recuperação de senha da chave", "Enable recovery key" : "Habilitar recuperação de chave", "Disable recovery key" : "Dasabilitar chave de recuperação", + "The recovery key is an extra encryption key that is used to encrypt files. It allows recovery of a user's files if the user forgets his or her password." : "A chave de recuperação é uma chave de encriptação extra que é utilizada para encriptar arquivos. Ela permite a recuperação de arquivos de um usuário esquecer sua senha.", + "Recovery key password" : "Senha da chave de recuperação", + "Repeat recovery key password" : "Repita senha da chave de recuperação", "Change recovery key password:" : "Mudar a senha da chave de recuperação:", - "Old Recovery key password" : "Senha antiga da chave de recuperação", - "New Recovery key password" : "Nova senha da chave de recuperação", - "Repeat New Recovery key password" : "Repita Nova senha da chave de recuperação", + "Old recovery key password" : "Senha da chave de recuperação antiga", + "New recovery key password" : "Nova senha da chave de recuperação", + "Repeat new recovery key password" : "Repita a nova senha da chave de recuperação", "Change Password" : "Trocar Senha", + "ownCloud basic encryption module" : "Modo de criptografia básico ownCloud", "Your private key password no longer matches your log-in password." : "A sua senha de chave privada não corresponde a sua senha de login.", "Set your old private key password to your current log-in password:" : "Defina a sua antiga senha da chave privada para sua senha de login atual:", " If you don't remember your old password you can ask your administrator to recover your files." : "Se você não se lembra de sua antiga senha você pode pedir ao administrador que recupere seus arquivos.", diff --git a/apps/encryption/l10n/pt_PT.js b/apps/encryption/l10n/pt_PT.js index 947f91a955e..d3055cd4a40 100644 --- a/apps/encryption/l10n/pt_PT.js +++ b/apps/encryption/l10n/pt_PT.js @@ -21,14 +21,10 @@ OC.L10N.register( "Private key password successfully updated." : "A senha da chave privada foi atualizada com sucesso. ", "Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "Chave privada inválida da Aplicação de Encriptação. Por favor atualize a sua senha de chave privada nas definições pessoais, para recuperar o acesso aos seus ficheiros encriptados.", "Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "A Aplicação de Encriptação está ativada, mas as suas chaves não inicializaram. Por favor termine e inicie a sessão novamente", - "ownCloud basic encryption module" : "módulo de encriptação básico da ownCloud", "Recovery key password" : "Senha da chave de recuperação", - "Repeat Recovery key password" : "Contrassenha da chave de recuperação", "Change recovery key password:" : "Alterar a senha da chave de recuperação:", - "Old Recovery key password" : "Senha da chave de recuperação antiga", - "New Recovery key password" : "Nova senha da chave de recuperação", - "Repeat New Recovery key password" : "Contrassenha da nova chave de recuperação", "Change Password" : "Alterar a Senha", + "ownCloud basic encryption module" : "módulo de encriptação básico da ownCloud", "Your private key password no longer matches your log-in password." : "A Password da sua chave privada não coincide mais com a password do seu login.", "Set your old private key password to your current log-in password:" : "Altere a password antiga da chave privada para a nova password do login:", " If you don't remember your old password you can ask your administrator to recover your files." : "Se não se lembra da senha antiga pode pedir ao administrador para recuperar os seus ficheiros. ", diff --git a/apps/encryption/l10n/pt_PT.json b/apps/encryption/l10n/pt_PT.json index 1231a23b82b..57baaa64ff1 100644 --- a/apps/encryption/l10n/pt_PT.json +++ b/apps/encryption/l10n/pt_PT.json @@ -19,14 +19,10 @@ "Private key password successfully updated." : "A senha da chave privada foi atualizada com sucesso. ", "Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "Chave privada inválida da Aplicação de Encriptação. Por favor atualize a sua senha de chave privada nas definições pessoais, para recuperar o acesso aos seus ficheiros encriptados.", "Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "A Aplicação de Encriptação está ativada, mas as suas chaves não inicializaram. Por favor termine e inicie a sessão novamente", - "ownCloud basic encryption module" : "módulo de encriptação básico da ownCloud", "Recovery key password" : "Senha da chave de recuperação", - "Repeat Recovery key password" : "Contrassenha da chave de recuperação", "Change recovery key password:" : "Alterar a senha da chave de recuperação:", - "Old Recovery key password" : "Senha da chave de recuperação antiga", - "New Recovery key password" : "Nova senha da chave de recuperação", - "Repeat New Recovery key password" : "Contrassenha da nova chave de recuperação", "Change Password" : "Alterar a Senha", + "ownCloud basic encryption module" : "módulo de encriptação básico da ownCloud", "Your private key password no longer matches your log-in password." : "A Password da sua chave privada não coincide mais com a password do seu login.", "Set your old private key password to your current log-in password:" : "Altere a password antiga da chave privada para a nova password do login:", " If you don't remember your old password you can ask your administrator to recover your files." : "Se não se lembra da senha antiga pode pedir ao administrador para recuperar os seus ficheiros. ", diff --git a/apps/encryption/l10n/ro.js b/apps/encryption/l10n/ro.js index f01bc68ff26..3f699577243 100644 --- a/apps/encryption/l10n/ro.js +++ b/apps/encryption/l10n/ro.js @@ -17,8 +17,8 @@ OC.L10N.register( "Private key password successfully updated." : "Cheia privata a fost actualizata cu succes", "Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "Cheie privată nevalidă pentru aplicația Încriptare. Te rog, actualizează-ți parola cheii private folosind setările personale pentru a reaccesa fișierele tale încriptate.", "Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "Aplicatia de criptare este activata dar tastatura nu este initializata , va rugam deconectati-va si reconectati-va", - "ownCloud basic encryption module" : "modul de ecnriptie bazic ownCloud", "Change Password" : "Schimbă parola", + "ownCloud basic encryption module" : "modul de ecnriptie bazic ownCloud", "Enabled" : "Activat", "Disabled" : "Dezactivat" }, diff --git a/apps/encryption/l10n/ro.json b/apps/encryption/l10n/ro.json index b7c12785ab1..e546b400935 100644 --- a/apps/encryption/l10n/ro.json +++ b/apps/encryption/l10n/ro.json @@ -15,8 +15,8 @@ "Private key password successfully updated." : "Cheia privata a fost actualizata cu succes", "Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "Cheie privată nevalidă pentru aplicația Încriptare. Te rog, actualizează-ți parola cheii private folosind setările personale pentru a reaccesa fișierele tale încriptate.", "Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "Aplicatia de criptare este activata dar tastatura nu este initializata , va rugam deconectati-va si reconectati-va", - "ownCloud basic encryption module" : "modul de ecnriptie bazic ownCloud", "Change Password" : "Schimbă parola", + "ownCloud basic encryption module" : "modul de ecnriptie bazic ownCloud", "Enabled" : "Activat", "Disabled" : "Dezactivat" },"pluralForm" :"nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));" diff --git a/apps/encryption/l10n/ru.js b/apps/encryption/l10n/ru.js index 4041b289ec5..03af392d19e 100644 --- a/apps/encryption/l10n/ru.js +++ b/apps/encryption/l10n/ru.js @@ -8,6 +8,7 @@ OC.L10N.register( "Could not enable recovery key. Please check your recovery key password!" : "Невозможно включить ключ восстановления. Проверьте правильность пароля от ключа!", "Recovery key successfully disabled" : "Ключ восстановления успешно отключен", "Could not disable recovery key. Please check your recovery key password!" : "Невозможно выключить ключ восстановления. Проверьте правильность пароля от ключа!", + "Missing parameters" : "Отсутствуют параметры", "Please provide the old recovery password" : "Введите старый пароль восстановления", "Please provide a new recovery password" : "Введите новый пароль восстановления", "Please repeat the new recovery password" : "Повторите новый пароль восстановления", @@ -22,14 +23,12 @@ OC.L10N.register( "Private key password successfully updated." : "Пароль закрытого ключа успешно обновлён.", "Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "Закрытый ключ приложения шифрования недействителен. Обновите закрытый ключ в личных настройках, чтобы восстановить доступ к зашифрованным файлам.", "Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "Приложение шифрования активно, но ваши ключи не инициализированы, выйдите из системы и войдите заново", - "ownCloud basic encryption module" : "Базовый модуль шифрования ownCloud", + "Enable recovery key" : "Включить ключ восстановления", + "Disable recovery key" : "Отключить ключ восстановления", "Recovery key password" : "Пароль ключа восстановления", - "Repeat Recovery key password" : "Повторите пароль ключа восстановления", "Change recovery key password:" : "Смена пароля ключа восстановления:", - "Old Recovery key password" : "Старый пароль ключа восстановления", - "New Recovery key password" : "Новый пароль ключа восстановления", - "Repeat New Recovery key password" : "Повторите новый пароль ключа восстановления", "Change Password" : "Изменить пароль", + "ownCloud basic encryption module" : "Базовый модуль шифрования ownCloud", "Your private key password no longer matches your log-in password." : "Пароль закрытого ключа больше не соответствует паролю вашей учетной записи.", "Set your old private key password to your current log-in password:" : "Замените старый пароль закрытого ключа на текущий пароль учётной записи.", " If you don't remember your old password you can ask your administrator to recover your files." : "Если вы не помните свой старый пароль, вы можете попросить своего администратора восстановить ваши файлы", diff --git a/apps/encryption/l10n/ru.json b/apps/encryption/l10n/ru.json index d92b5d42b26..2e2bcfd0513 100644 --- a/apps/encryption/l10n/ru.json +++ b/apps/encryption/l10n/ru.json @@ -6,6 +6,7 @@ "Could not enable recovery key. Please check your recovery key password!" : "Невозможно включить ключ восстановления. Проверьте правильность пароля от ключа!", "Recovery key successfully disabled" : "Ключ восстановления успешно отключен", "Could not disable recovery key. Please check your recovery key password!" : "Невозможно выключить ключ восстановления. Проверьте правильность пароля от ключа!", + "Missing parameters" : "Отсутствуют параметры", "Please provide the old recovery password" : "Введите старый пароль восстановления", "Please provide a new recovery password" : "Введите новый пароль восстановления", "Please repeat the new recovery password" : "Повторите новый пароль восстановления", @@ -20,14 +21,12 @@ "Private key password successfully updated." : "Пароль закрытого ключа успешно обновлён.", "Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "Закрытый ключ приложения шифрования недействителен. Обновите закрытый ключ в личных настройках, чтобы восстановить доступ к зашифрованным файлам.", "Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "Приложение шифрования активно, но ваши ключи не инициализированы, выйдите из системы и войдите заново", - "ownCloud basic encryption module" : "Базовый модуль шифрования ownCloud", + "Enable recovery key" : "Включить ключ восстановления", + "Disable recovery key" : "Отключить ключ восстановления", "Recovery key password" : "Пароль ключа восстановления", - "Repeat Recovery key password" : "Повторите пароль ключа восстановления", "Change recovery key password:" : "Смена пароля ключа восстановления:", - "Old Recovery key password" : "Старый пароль ключа восстановления", - "New Recovery key password" : "Новый пароль ключа восстановления", - "Repeat New Recovery key password" : "Повторите новый пароль ключа восстановления", "Change Password" : "Изменить пароль", + "ownCloud basic encryption module" : "Базовый модуль шифрования ownCloud", "Your private key password no longer matches your log-in password." : "Пароль закрытого ключа больше не соответствует паролю вашей учетной записи.", "Set your old private key password to your current log-in password:" : "Замените старый пароль закрытого ключа на текущий пароль учётной записи.", " If you don't remember your old password you can ask your administrator to recover your files." : "Если вы не помните свой старый пароль, вы можете попросить своего администратора восстановить ваши файлы", diff --git a/apps/encryption/l10n/sk_SK.js b/apps/encryption/l10n/sk_SK.js index 40f594db21e..ff9f5df4b15 100644 --- a/apps/encryption/l10n/sk_SK.js +++ b/apps/encryption/l10n/sk_SK.js @@ -20,11 +20,7 @@ OC.L10N.register( "Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "Chybný súkromný kľúč na šifrovanie aplikácií. Zaktualizujte si heslo súkromného kľúča v svojom osobnom nastavení, aby ste znovu získali prístup k svojim zašifrovaným súborom.", "Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "Aplikácia na šifrovanie je zapnutá, ale vaše kľúče nie sú inicializované. Odhláste sa a znovu sa prihláste.", "Recovery key password" : "Heslo obnovovacieho kľúča", - "Repeat Recovery key password" : "Zopakujte heslo kľúča pre obnovu", "Change recovery key password:" : "Zmeniť heslo obnovovacieho kľúča:", - "Old Recovery key password" : "Staré heslo obnovovacieho kľúča", - "New Recovery key password" : "Nové heslo obnovovacieho kľúča", - "Repeat New Recovery key password" : "Zopakujte nové heslo kľúča pre obnovu", "Change Password" : "Zmeniť heslo", "Your private key password no longer matches your log-in password." : "Heslo vášho súkromného kľúča sa nezhoduje v vašim prihlasovacím heslom.", "Set your old private key password to your current log-in password:" : "Zmeňte si vaše staré heslo súkromného kľúča na rovnaké, aké je vaše aktuálne prihlasovacie heslo:", diff --git a/apps/encryption/l10n/sk_SK.json b/apps/encryption/l10n/sk_SK.json index c9de838f9af..1dd03e0f9ea 100644 --- a/apps/encryption/l10n/sk_SK.json +++ b/apps/encryption/l10n/sk_SK.json @@ -18,11 +18,7 @@ "Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "Chybný súkromný kľúč na šifrovanie aplikácií. Zaktualizujte si heslo súkromného kľúča v svojom osobnom nastavení, aby ste znovu získali prístup k svojim zašifrovaným súborom.", "Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "Aplikácia na šifrovanie je zapnutá, ale vaše kľúče nie sú inicializované. Odhláste sa a znovu sa prihláste.", "Recovery key password" : "Heslo obnovovacieho kľúča", - "Repeat Recovery key password" : "Zopakujte heslo kľúča pre obnovu", "Change recovery key password:" : "Zmeniť heslo obnovovacieho kľúča:", - "Old Recovery key password" : "Staré heslo obnovovacieho kľúča", - "New Recovery key password" : "Nové heslo obnovovacieho kľúča", - "Repeat New Recovery key password" : "Zopakujte nové heslo kľúča pre obnovu", "Change Password" : "Zmeniť heslo", "Your private key password no longer matches your log-in password." : "Heslo vášho súkromného kľúča sa nezhoduje v vašim prihlasovacím heslom.", "Set your old private key password to your current log-in password:" : "Zmeňte si vaše staré heslo súkromného kľúča na rovnaké, aké je vaše aktuálne prihlasovacie heslo:", diff --git a/apps/encryption/l10n/sl.js b/apps/encryption/l10n/sl.js index df745a189ae..fe9f775fbef 100644 --- a/apps/encryption/l10n/sl.js +++ b/apps/encryption/l10n/sl.js @@ -20,11 +20,7 @@ OC.L10N.register( "Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "Ni ustreznega osebnega ključa za program za šifriranje. Posodobite osebni ključ za dostop do šifriranih datotek med nastavitvami.", "Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "Program za šifriranje je omogočen, vendar ni začet. Odjavite se in nato ponovno prijavite.", "Recovery key password" : "Ključ za obnovitev gesla", - "Repeat Recovery key password" : "Ponovi ključ za obnovitev gesla", "Change recovery key password:" : "Spremeni ključ za obnovitev gesla:", - "Old Recovery key password" : "Stari ključ za obnovitev gesla", - "New Recovery key password" : "Novi ključ za obnovitev gesla", - "Repeat New Recovery key password" : "Ponovi novi ključ za obnovitev gesla", "Change Password" : "Spremeni geslo", "Your private key password no longer matches your log-in password." : "Zasebno geslo ni več skladno s prijavnim geslom.", "Set your old private key password to your current log-in password:" : "Nastavite star zasebni ključ na trenutno prijavno geslo:", diff --git a/apps/encryption/l10n/sl.json b/apps/encryption/l10n/sl.json index 71f2dfe4ea5..f650196eac1 100644 --- a/apps/encryption/l10n/sl.json +++ b/apps/encryption/l10n/sl.json @@ -18,11 +18,7 @@ "Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "Ni ustreznega osebnega ključa za program za šifriranje. Posodobite osebni ključ za dostop do šifriranih datotek med nastavitvami.", "Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "Program za šifriranje je omogočen, vendar ni začet. Odjavite se in nato ponovno prijavite.", "Recovery key password" : "Ključ za obnovitev gesla", - "Repeat Recovery key password" : "Ponovi ključ za obnovitev gesla", "Change recovery key password:" : "Spremeni ključ za obnovitev gesla:", - "Old Recovery key password" : "Stari ključ za obnovitev gesla", - "New Recovery key password" : "Novi ključ za obnovitev gesla", - "Repeat New Recovery key password" : "Ponovi novi ključ za obnovitev gesla", "Change Password" : "Spremeni geslo", "Your private key password no longer matches your log-in password." : "Zasebno geslo ni več skladno s prijavnim geslom.", "Set your old private key password to your current log-in password:" : "Nastavite star zasebni ključ na trenutno prijavno geslo:", diff --git a/apps/encryption/l10n/sr.js b/apps/encryption/l10n/sr.js index f13fcf18a2e..b1e0feaa343 100644 --- a/apps/encryption/l10n/sr.js +++ b/apps/encryption/l10n/sr.js @@ -23,18 +23,17 @@ OC.L10N.register( "Private key password successfully updated." : "Лозинка личног кључа је успешно ажурирана.", "Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "Неисправан лични кључ за апликацију шифровања. Ажурирајте лозинку личног кључа у личним поставкама да бисте опоравили приступ вашим шифрованим фајловима.", "Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "Апликација шифровања је укључена али ваши кључеви нису иницијализовани. Одјавите се и поново се пријавите.", - "ownCloud basic encryption module" : "оунКлауд основни шифрарски модул", - "Enable recovery key: " : "Омогући кључ за опоравак:", - "The recovery key is an extra encryption key that is used\n\t\tto encrypt files. It allows recovery of a user's files if the user forgets their password." : "Кључ за опоравак је додатни кључ за шифровање који се користи\n\t\tза шифровање фајлова. Омогућује опоравак корисничких фајлова ако корисник заборави своју лозинку.", - "Recovery key password" : "Лозинка кључа за опоравак", - "Repeat Recovery key password" : "Поновите лозинку кључа за опоравак", "Enable recovery key" : "Омогући кључ за опоравак", "Disable recovery key" : "Онемогући кључ за опоравак", + "The recovery key is an extra encryption key that is used to encrypt files. It allows recovery of a user's files if the user forgets his or her password." : "Кључ за опоравак је додатни шифрарски кључ који се користи за шифровање фајлова. Он омогућава опоравак корисничких фајлова ако корисник заборави своју лозинку.", + "Recovery key password" : "Лозинка кључа за опоравак", + "Repeat recovery key password" : "Поновите лозинку кључа за опоравак", "Change recovery key password:" : "Измена лозинке кључа опоравка:", - "Old Recovery key password" : "Стара лозинка кључа опоравка", - "New Recovery key password" : "Нова лозинка кључа опоравка", - "Repeat New Recovery key password" : "Поновите лозинку кључа опоравка", + "Old recovery key password" : "Стара лозинка кључа за опоравак", + "New recovery key password" : "Нова лозинка кључа за опоравак", + "Repeat new recovery key password" : "Поновите нову лозинку кључа за опоравак", "Change Password" : "Измени лозинку", + "ownCloud basic encryption module" : "оунКлауд основни шифрарски модул", "Your private key password no longer matches your log-in password." : "Лозинка вашег личног кључа више није иста као ваша лозинка за пријаву.", "Set your old private key password to your current log-in password:" : "Поставите стару лозинку личног кључа као тренутну лозинку за пријаву:", " If you don't remember your old password you can ask your administrator to recover your files." : "Ако се не сећате старе лозинке, можете затражити од администратора да опорави ваше фајлове.", diff --git a/apps/encryption/l10n/sr.json b/apps/encryption/l10n/sr.json index 8b4fc0f3fc0..f3139af14af 100644 --- a/apps/encryption/l10n/sr.json +++ b/apps/encryption/l10n/sr.json @@ -21,18 +21,17 @@ "Private key password successfully updated." : "Лозинка личног кључа је успешно ажурирана.", "Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "Неисправан лични кључ за апликацију шифровања. Ажурирајте лозинку личног кључа у личним поставкама да бисте опоравили приступ вашим шифрованим фајловима.", "Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "Апликација шифровања је укључена али ваши кључеви нису иницијализовани. Одјавите се и поново се пријавите.", - "ownCloud basic encryption module" : "оунКлауд основни шифрарски модул", - "Enable recovery key: " : "Омогући кључ за опоравак:", - "The recovery key is an extra encryption key that is used\n\t\tto encrypt files. It allows recovery of a user's files if the user forgets their password." : "Кључ за опоравак је додатни кључ за шифровање који се користи\n\t\tза шифровање фајлова. Омогућује опоравак корисничких фајлова ако корисник заборави своју лозинку.", - "Recovery key password" : "Лозинка кључа за опоравак", - "Repeat Recovery key password" : "Поновите лозинку кључа за опоравак", "Enable recovery key" : "Омогући кључ за опоравак", "Disable recovery key" : "Онемогући кључ за опоравак", + "The recovery key is an extra encryption key that is used to encrypt files. It allows recovery of a user's files if the user forgets his or her password." : "Кључ за опоравак је додатни шифрарски кључ који се користи за шифровање фајлова. Он омогућава опоравак корисничких фајлова ако корисник заборави своју лозинку.", + "Recovery key password" : "Лозинка кључа за опоравак", + "Repeat recovery key password" : "Поновите лозинку кључа за опоравак", "Change recovery key password:" : "Измена лозинке кључа опоравка:", - "Old Recovery key password" : "Стара лозинка кључа опоравка", - "New Recovery key password" : "Нова лозинка кључа опоравка", - "Repeat New Recovery key password" : "Поновите лозинку кључа опоравка", + "Old recovery key password" : "Стара лозинка кључа за опоравак", + "New recovery key password" : "Нова лозинка кључа за опоравак", + "Repeat new recovery key password" : "Поновите нову лозинку кључа за опоравак", "Change Password" : "Измени лозинку", + "ownCloud basic encryption module" : "оунКлауд основни шифрарски модул", "Your private key password no longer matches your log-in password." : "Лозинка вашег личног кључа више није иста као ваша лозинка за пријаву.", "Set your old private key password to your current log-in password:" : "Поставите стару лозинку личног кључа као тренутну лозинку за пријаву:", " If you don't remember your old password you can ask your administrator to recover your files." : "Ако се не сећате старе лозинке, можете затражити од администратора да опорави ваше фајлове.", diff --git a/apps/encryption/l10n/sv.js b/apps/encryption/l10n/sv.js index 64998296df9..9ffea2b937f 100644 --- a/apps/encryption/l10n/sv.js +++ b/apps/encryption/l10n/sv.js @@ -20,11 +20,7 @@ OC.L10N.register( "Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "Ogiltig privat nyckel i krypteringsprogrammet. Vänligen uppdatera lösenordet till din privata nyckel under dina personliga inställningar för att återfå tillgång till dina krypterade filer.", "Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "Krypteringsprogrammet är aktiverat men dina nycklar är inte initierade. Vänligen logga ut och in igen", "Recovery key password" : "Lösenord för återställningsnyckel", - "Repeat Recovery key password" : "Upprepa återställningsnyckelns lösenord", "Change recovery key password:" : "Ändra lösenord för återställningsnyckel:", - "Old Recovery key password" : "Gammalt lösenord för återställningsnyckel", - "New Recovery key password" : "Nytt lösenord för återställningsnyckel", - "Repeat New Recovery key password" : "Upprepa lösenord för ny återställningsnyckel", "Change Password" : "Byt lösenord", "Your private key password no longer matches your log-in password." : "Ditt lösenord för din privata nyckel matchar inte längre ditt inloggningslösenord.", "Set your old private key password to your current log-in password:" : "Sätt ditt gamla privatnyckellösenord till ditt aktuella inloggningslösenord:", diff --git a/apps/encryption/l10n/sv.json b/apps/encryption/l10n/sv.json index 1b46603a0e3..e977107ba21 100644 --- a/apps/encryption/l10n/sv.json +++ b/apps/encryption/l10n/sv.json @@ -18,11 +18,7 @@ "Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "Ogiltig privat nyckel i krypteringsprogrammet. Vänligen uppdatera lösenordet till din privata nyckel under dina personliga inställningar för att återfå tillgång till dina krypterade filer.", "Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "Krypteringsprogrammet är aktiverat men dina nycklar är inte initierade. Vänligen logga ut och in igen", "Recovery key password" : "Lösenord för återställningsnyckel", - "Repeat Recovery key password" : "Upprepa återställningsnyckelns lösenord", "Change recovery key password:" : "Ändra lösenord för återställningsnyckel:", - "Old Recovery key password" : "Gammalt lösenord för återställningsnyckel", - "New Recovery key password" : "Nytt lösenord för återställningsnyckel", - "Repeat New Recovery key password" : "Upprepa lösenord för ny återställningsnyckel", "Change Password" : "Byt lösenord", "Your private key password no longer matches your log-in password." : "Ditt lösenord för din privata nyckel matchar inte längre ditt inloggningslösenord.", "Set your old private key password to your current log-in password:" : "Sätt ditt gamla privatnyckellösenord till ditt aktuella inloggningslösenord:", diff --git a/apps/encryption/l10n/tr.js b/apps/encryption/l10n/tr.js index 36eb1b36e58..f462437912e 100644 --- a/apps/encryption/l10n/tr.js +++ b/apps/encryption/l10n/tr.js @@ -8,11 +8,13 @@ OC.L10N.register( "Could not enable recovery key. Please check your recovery key password!" : "Kurtarma anahtarı etkinleştirilemedi. Lütfen kurtarma anahtarı parolanızı kontrol edin!", "Recovery key successfully disabled" : "Kurtarma anahtarı başarıyla devre dışı bırakıldı", "Could not disable recovery key. Please check your recovery key password!" : "Kurtarma anahtarı devre dışı bırakılamadı. Lütfen kurtarma anahtarı parolanızı kontrol edin!", + "Missing parameters" : "Eksik parametreler", "Please provide the old recovery password" : "Lütfen eski kurtarma parolasını girin", "Please provide a new recovery password" : "Lütfen yeni bir kurtarma parolası girin", "Please repeat the new recovery password" : "Lütfen yeni kurtarma parolasını yenileyin", "Password successfully changed." : "Parola başarıyla değiştirildi.", "Could not change the password. Maybe the old password was not correct." : "Parola değiştirilemedi. Eski parolanız doğru olmayabilir.", + "Recovery Key disabled" : "Kurtarma anahtarı kapalı", "Recovery Key enabled" : "Kurtarma anahtarı etkin", "Could not enable the recovery key, please try again or contact your administrator" : "Kurtarma anahtarını etkinleştirmek olmadı, tekrar deneyin ya da yöneticinize başvurun", "Could not update the private key password." : "Özel anahtar parolası güncellenemedi", @@ -21,14 +23,12 @@ OC.L10N.register( "Private key password successfully updated." : "Özel anahtar parolası başarıyla güncellendi.", "Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "Şifreleme Uygulaması için geçersiz özel anahtar. Lütfen şifreli dosyalarınıza erişimi tekrar kazanabilmek için kişisel ayarlarınızdan özel anahtar parolanızı güncelleyin.", "Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "Şifreleme Uygulaması etkin ancak anahtarlarınız başlatılmamış. Lütfen oturumu kapatıp yeniden açın", - "ownCloud basic encryption module" : "ownCloud basit şifreleme modülü", + "Enable recovery key" : "Kurtarma anahtarını aktif et", + "Disable recovery key" : "Kurtarma anahtarını kapat", "Recovery key password" : "Kurtarma anahtarı parolası", - "Repeat Recovery key password" : "Kurtarma anahtarı parolasını yineleyin", "Change recovery key password:" : "Kurtarma anahtarı parolasını değiştir:", - "Old Recovery key password" : "Eski Kurtarma anahtarı parolası", - "New Recovery key password" : "Yeni Kurtarma anahtarı parolası", - "Repeat New Recovery key password" : "Yeni Kurtarma anahtarı parolasını yineleyin", "Change Password" : "Parola Değiştir", + "ownCloud basic encryption module" : "ownCloud basit şifreleme modülü", "Your private key password no longer matches your log-in password." : "Özel anahtar parolanız artık oturum açma parolanız ile eşleşmiyor.", "Set your old private key password to your current log-in password:" : "Eski özel anahtar parolanızı, geçerli oturum açma parolanız olarak ayarlayın:", " If you don't remember your old password you can ask your administrator to recover your files." : "Eğer eski parolanızı hatırlamıyorsanız, yöneticinizden dosyalarınızı kurtarmasını talep edebilirsiniz.", diff --git a/apps/encryption/l10n/tr.json b/apps/encryption/l10n/tr.json index 209277acfc1..1f3dea88d57 100644 --- a/apps/encryption/l10n/tr.json +++ b/apps/encryption/l10n/tr.json @@ -6,11 +6,13 @@ "Could not enable recovery key. Please check your recovery key password!" : "Kurtarma anahtarı etkinleştirilemedi. Lütfen kurtarma anahtarı parolanızı kontrol edin!", "Recovery key successfully disabled" : "Kurtarma anahtarı başarıyla devre dışı bırakıldı", "Could not disable recovery key. Please check your recovery key password!" : "Kurtarma anahtarı devre dışı bırakılamadı. Lütfen kurtarma anahtarı parolanızı kontrol edin!", + "Missing parameters" : "Eksik parametreler", "Please provide the old recovery password" : "Lütfen eski kurtarma parolasını girin", "Please provide a new recovery password" : "Lütfen yeni bir kurtarma parolası girin", "Please repeat the new recovery password" : "Lütfen yeni kurtarma parolasını yenileyin", "Password successfully changed." : "Parola başarıyla değiştirildi.", "Could not change the password. Maybe the old password was not correct." : "Parola değiştirilemedi. Eski parolanız doğru olmayabilir.", + "Recovery Key disabled" : "Kurtarma anahtarı kapalı", "Recovery Key enabled" : "Kurtarma anahtarı etkin", "Could not enable the recovery key, please try again or contact your administrator" : "Kurtarma anahtarını etkinleştirmek olmadı, tekrar deneyin ya da yöneticinize başvurun", "Could not update the private key password." : "Özel anahtar parolası güncellenemedi", @@ -19,14 +21,12 @@ "Private key password successfully updated." : "Özel anahtar parolası başarıyla güncellendi.", "Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "Şifreleme Uygulaması için geçersiz özel anahtar. Lütfen şifreli dosyalarınıza erişimi tekrar kazanabilmek için kişisel ayarlarınızdan özel anahtar parolanızı güncelleyin.", "Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "Şifreleme Uygulaması etkin ancak anahtarlarınız başlatılmamış. Lütfen oturumu kapatıp yeniden açın", - "ownCloud basic encryption module" : "ownCloud basit şifreleme modülü", + "Enable recovery key" : "Kurtarma anahtarını aktif et", + "Disable recovery key" : "Kurtarma anahtarını kapat", "Recovery key password" : "Kurtarma anahtarı parolası", - "Repeat Recovery key password" : "Kurtarma anahtarı parolasını yineleyin", "Change recovery key password:" : "Kurtarma anahtarı parolasını değiştir:", - "Old Recovery key password" : "Eski Kurtarma anahtarı parolası", - "New Recovery key password" : "Yeni Kurtarma anahtarı parolası", - "Repeat New Recovery key password" : "Yeni Kurtarma anahtarı parolasını yineleyin", "Change Password" : "Parola Değiştir", + "ownCloud basic encryption module" : "ownCloud basit şifreleme modülü", "Your private key password no longer matches your log-in password." : "Özel anahtar parolanız artık oturum açma parolanız ile eşleşmiyor.", "Set your old private key password to your current log-in password:" : "Eski özel anahtar parolanızı, geçerli oturum açma parolanız olarak ayarlayın:", " If you don't remember your old password you can ask your administrator to recover your files." : "Eğer eski parolanızı hatırlamıyorsanız, yöneticinizden dosyalarınızı kurtarmasını talep edebilirsiniz.", diff --git a/apps/encryption/l10n/uk.js b/apps/encryption/l10n/uk.js index faedb5391ba..de044e5a506 100644 --- a/apps/encryption/l10n/uk.js +++ b/apps/encryption/l10n/uk.js @@ -21,14 +21,10 @@ OC.L10N.register( "Private key password successfully updated." : "Пароль секретного ключа оновлено.", "Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "Невірний закритий ключ для доданку шифрування. Оновіть пароль до вашого закритого ключа в особистих налаштуваннях.", "Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "Доданок шифрування ввімкнено, але ваші ключі не ініціалізовано, вийдіть та зайдіть знову", - "ownCloud basic encryption module" : "базовий модуль шифрування ownCloud", "Recovery key password" : "Пароль ключа відновлення", - "Repeat Recovery key password" : "Введіть ще раз пароль ключа відновлення", "Change recovery key password:" : "Змінити пароль ключа відновлення:", - "Old Recovery key password" : "Старий пароль ключа відновлення", - "New Recovery key password" : "Новий пароль ключа відновлення", - "Repeat New Recovery key password" : "Введіть ще раз новий пароль ключа відновлення", "Change Password" : "Змінити Пароль", + "ownCloud basic encryption module" : "базовий модуль шифрування ownCloud", "Your private key password no longer matches your log-in password." : "Пароль вашого закритого ключа більше не відповідає паролю від вашого облікового запису.", "Set your old private key password to your current log-in password:" : "Замініть старий пароль від закритого ключа на новий пароль входу:", " If you don't remember your old password you can ask your administrator to recover your files." : "Якщо ви не пам'ятаєте ваш старий пароль, ви можете звернутися до адміністратора щоб його відновити.", diff --git a/apps/encryption/l10n/uk.json b/apps/encryption/l10n/uk.json index 1dfca9a6f6f..f0ac6b8789a 100644 --- a/apps/encryption/l10n/uk.json +++ b/apps/encryption/l10n/uk.json @@ -19,14 +19,10 @@ "Private key password successfully updated." : "Пароль секретного ключа оновлено.", "Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "Невірний закритий ключ для доданку шифрування. Оновіть пароль до вашого закритого ключа в особистих налаштуваннях.", "Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "Доданок шифрування ввімкнено, але ваші ключі не ініціалізовано, вийдіть та зайдіть знову", - "ownCloud basic encryption module" : "базовий модуль шифрування ownCloud", "Recovery key password" : "Пароль ключа відновлення", - "Repeat Recovery key password" : "Введіть ще раз пароль ключа відновлення", "Change recovery key password:" : "Змінити пароль ключа відновлення:", - "Old Recovery key password" : "Старий пароль ключа відновлення", - "New Recovery key password" : "Новий пароль ключа відновлення", - "Repeat New Recovery key password" : "Введіть ще раз новий пароль ключа відновлення", "Change Password" : "Змінити Пароль", + "ownCloud basic encryption module" : "базовий модуль шифрування ownCloud", "Your private key password no longer matches your log-in password." : "Пароль вашого закритого ключа більше не відповідає паролю від вашого облікового запису.", "Set your old private key password to your current log-in password:" : "Замініть старий пароль від закритого ключа на новий пароль входу:", " If you don't remember your old password you can ask your administrator to recover your files." : "Якщо ви не пам'ятаєте ваш старий пароль, ви можете звернутися до адміністратора щоб його відновити.", diff --git a/apps/encryption/l10n/zh_CN.js b/apps/encryption/l10n/zh_CN.js index 01db2a8d3a8..05cfcca307c 100644 --- a/apps/encryption/l10n/zh_CN.js +++ b/apps/encryption/l10n/zh_CN.js @@ -18,11 +18,7 @@ OC.L10N.register( "Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "无效的私有密钥。请到您的个人配置里去更新私有密钥,来恢复对加密文件的访问。", "Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "加密应用被启用了,但是你的加密密钥没有初始化,请重新登出登录系统一次。", "Recovery key password" : "恢复密钥密码", - "Repeat Recovery key password" : "重复恢复密钥密码", "Change recovery key password:" : "更改恢复密钥密码", - "Old Recovery key password" : "旧的恢复密钥密码", - "New Recovery key password" : "新的恢复密钥密码", - "Repeat New Recovery key password" : "重复新的密钥恢复密码", "Change Password" : "修改密码", " If you don't remember your old password you can ask your administrator to recover your files." : "如果您记不住旧的密码,您可以请求管理员恢复您的文件。", "Old log-in password" : "旧登录密码", diff --git a/apps/encryption/l10n/zh_CN.json b/apps/encryption/l10n/zh_CN.json index 463c029b554..4106228b0d5 100644 --- a/apps/encryption/l10n/zh_CN.json +++ b/apps/encryption/l10n/zh_CN.json @@ -16,11 +16,7 @@ "Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "无效的私有密钥。请到您的个人配置里去更新私有密钥,来恢复对加密文件的访问。", "Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "加密应用被启用了,但是你的加密密钥没有初始化,请重新登出登录系统一次。", "Recovery key password" : "恢复密钥密码", - "Repeat Recovery key password" : "重复恢复密钥密码", "Change recovery key password:" : "更改恢复密钥密码", - "Old Recovery key password" : "旧的恢复密钥密码", - "New Recovery key password" : "新的恢复密钥密码", - "Repeat New Recovery key password" : "重复新的密钥恢复密码", "Change Password" : "修改密码", " If you don't remember your old password you can ask your administrator to recover your files." : "如果您记不住旧的密码,您可以请求管理员恢复您的文件。", "Old log-in password" : "旧登录密码", diff --git a/apps/encryption/l10n/zh_TW.js b/apps/encryption/l10n/zh_TW.js index ddf2c2e2d8d..946dc001507 100644 --- a/apps/encryption/l10n/zh_TW.js +++ b/apps/encryption/l10n/zh_TW.js @@ -11,11 +11,7 @@ OC.L10N.register( "Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "無效的檔案加密私鑰,請在個人設定中更新您的私鑰密語以存取加密的檔案。", "Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "檔案加密已啓用,但是您的金鑰尚未初始化,請重新登入一次", "Recovery key password" : "還原金鑰密碼", - "Repeat Recovery key password" : "再輸入還原金鑰密碼一次", "Change recovery key password:" : "變更還原金鑰密碼:", - "Old Recovery key password" : "舊的還原金鑰密碼", - "New Recovery key password" : "新的還原金鑰密碼", - "Repeat New Recovery key password" : "再輸入新的還原金鑰密碼一次", "Change Password" : "變更密碼", " If you don't remember your old password you can ask your administrator to recover your files." : "如果您忘記舊密碼,可以請求管理員協助取回檔案。", "Old log-in password" : "舊登入密碼", diff --git a/apps/encryption/l10n/zh_TW.json b/apps/encryption/l10n/zh_TW.json index 49d3b5df0ee..67878ea4bf4 100644 --- a/apps/encryption/l10n/zh_TW.json +++ b/apps/encryption/l10n/zh_TW.json @@ -9,11 +9,7 @@ "Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "無效的檔案加密私鑰,請在個人設定中更新您的私鑰密語以存取加密的檔案。", "Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "檔案加密已啓用,但是您的金鑰尚未初始化,請重新登入一次", "Recovery key password" : "還原金鑰密碼", - "Repeat Recovery key password" : "再輸入還原金鑰密碼一次", "Change recovery key password:" : "變更還原金鑰密碼:", - "Old Recovery key password" : "舊的還原金鑰密碼", - "New Recovery key password" : "新的還原金鑰密碼", - "Repeat New Recovery key password" : "再輸入新的還原金鑰密碼一次", "Change Password" : "變更密碼", " If you don't remember your old password you can ask your administrator to recover your files." : "如果您忘記舊密碼,可以請求管理員協助取回檔案。", "Old log-in password" : "舊登入密碼", diff --git a/apps/encryption/lib/crypto/encryption.php b/apps/encryption/lib/crypto/encryption.php index 1bc42ce032f..f527955b496 100644 --- a/apps/encryption/lib/crypto/encryption.php +++ b/apps/encryption/lib/crypto/encryption.php @@ -25,10 +25,12 @@ namespace OCA\Encryption\Crypto; +use OC\Encryption\Exceptions\DecryptionFailedException; use OCA\Encryption\Exceptions\PublicKeyMissingException; use OCA\Encryption\Util; use OCP\Encryption\IEncryptionModule; use OCA\Encryption\KeyManager; +use OCP\IL10N; use OCP\ILogger; class Encryption implements IEncryptionModule { @@ -68,25 +70,30 @@ class Encryption implements IEncryptionModule { /** @var Util */ private $util; - /** @var ILogger */ private $logger; + /** @var IL10N */ + private $l; + /** * * @param Crypt $crypt * @param KeyManager $keyManager * @param Util $util * @param ILogger $logger + * @param IL10N $il10n */ public function __construct(Crypt $crypt, KeyManager $keyManager, Util $util, - ILogger $logger) { + ILogger $logger, + IL10N $il10n) { $this->crypt = $crypt; $this->keyManager = $keyManager; $this->util = $util; $this->logger = $logger; + $this->l = $il10n; } /** @@ -268,8 +275,18 @@ class Encryption implements IEncryptionModule { * * @param string $data you want to decrypt * @return mixed decrypted data + * @throws DecryptionFailedException */ public function decrypt($data) { + if (empty($this->fileKey)) { + $msg = $this->l->t('Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you.'); + $this->logger->error('Can not decrypt this file, + probably this is a shared file. + Please ask the file owner to reshare the file with you.'); + + throw new DecryptionFailedException($msg); + } + $result = ''; if (!empty($data)) { $result = $this->crypt->symmetricDecryptFileContent($data, $this->fileKey, $this->cipher); @@ -321,7 +338,7 @@ class Encryption implements IEncryptionModule { */ public function shouldEncrypt($path) { $parts = explode('/', $path); - if (count($parts) < 3) { + if (count($parts) < 4) { return false; } @@ -331,6 +348,9 @@ class Encryption implements IEncryptionModule { if ($parts[2] == 'files_versions') { return true; } + if ($parts[2] == 'files_trashbin') { + return true; + } return false; } @@ -346,6 +366,36 @@ class Encryption implements IEncryptionModule { } /** + * check if the encryption module is able to read the file, + * e.g. if all encryption keys exists + * + * @param string $path + * @param string $uid user for whom we want to check if he can read the file + * @return bool + * @throws DecryptionFailedException + */ + public function isReadable($path, $uid) { + $fileKey = $this->keyManager->getFileKey($path, $uid); + if (empty($fileKey)) { + $owner = $this->util->getOwner($path); + if ($owner !== $uid) { + // if it is a shared file we throw a exception with a useful + // error message because in this case it means that the file was + // shared with the user at a point where the user didn't had a + // valid private/public key + $msg = 'Encryption module "' . $this->getDisplayName() . + '" is not able to read ' . $path; + $hint = $this->l->t('Can not read this file, probably this is a shared file. Please ask the file owner to reshare the file with you.'); + $this->logger->warning($msg); + throw new DecryptionFailedException($msg, 0, null, $hint); + } + return false; + } + + return true; + } + + /** * @param string $path * @return string */ @@ -360,4 +410,5 @@ class Encryption implements IEncryptionModule { return $realPath; } + } diff --git a/apps/encryption/lib/keymanager.php b/apps/encryption/lib/keymanager.php index aa9614812bc..05d23873482 100644 --- a/apps/encryption/lib/keymanager.php +++ b/apps/encryption/lib/keymanager.php @@ -483,7 +483,7 @@ class KeyManager { } public function deleteAllFileKeys($path) { - return $this->keyStorage->deleteAllFileKeys($path, Encryption::ID); + return $this->keyStorage->deleteAllFileKeys($path); } /** diff --git a/apps/encryption/lib/util.php b/apps/encryption/lib/util.php index 51d5241122f..afed96aaa38 100644 --- a/apps/encryption/lib/util.php +++ b/apps/encryption/lib/util.php @@ -29,6 +29,7 @@ use OCA\Encryption\Crypto\Crypt; use OCP\IConfig; use OCP\ILogger; use OCP\IUser; +use OCP\IUserManager; use OCP\IUserSession; use OCP\PreConditionNotMetException; @@ -53,6 +54,10 @@ class Util { * @var IConfig */ private $config; + /** + * @var IUserManager + */ + private $userManager; /** * Util constructor. @@ -62,18 +67,21 @@ class Util { * @param ILogger $logger * @param IUserSession $userSession * @param IConfig $config + * @param IUserManager $userManager */ public function __construct(View $files, Crypt $crypt, ILogger $logger, IUserSession $userSession, - IConfig $config + IConfig $config, + IUserManager $userManager ) { $this->files = $files; $this->crypt = $crypt; $this->logger = $logger; $this->user = $userSession && $userSession->isLoggedIn() ? $userSession->getUser() : false; $this->config = $config; + $this->userManager = $userManager; } /** @@ -117,5 +125,26 @@ class Util { return $this->files->file_exists($uid . '/files'); } + /** + * get owner from give path, path relative to data/ expected + * + * @param string $path relative to data/ + * @return string + * @throws \BadMethodCallException + */ + public function getOwner($path) { + $owner = ''; + $parts = explode('/', $path, 3); + if (count($parts) > 1) { + $owner = $parts[1]; + if ($this->userManager->userExists($owner) === false) { + throw new \BadMethodCallException('Unknown user: ' . + 'method expects path to a user folder relative to the data folder'); + } + + } + + return $owner; + } } diff --git a/apps/encryption/settings/settings-personal.php b/apps/encryption/settings/settings-personal.php index 003a27da71d..3815626ee64 100644 --- a/apps/encryption/settings/settings-personal.php +++ b/apps/encryption/settings/settings-personal.php @@ -35,7 +35,8 @@ $util = new \OCA\Encryption\Util( $crypt, \OC::$server->getLogger(), $userSession, - \OC::$server->getConfig()); + \OC::$server->getConfig(), + \OC::$server->getUserManager()); $keyManager = new \OCA\Encryption\KeyManager( \OC::$server->getEncryptionKeyStorage(), diff --git a/apps/encryption/templates/settings-admin.php b/apps/encryption/templates/settings-admin.php index f1cb83f7457..81c7f0607d8 100644 --- a/apps/encryption/templates/settings-admin.php +++ b/apps/encryption/templates/settings-admin.php @@ -3,70 +3,57 @@ /** @var OC_L10N $l */ script('encryption', 'settings-admin'); script('core', 'multiselect'); +style('encryption', 'settings-admin'); ?> -<form id="encryption" class="section"> - <h2><?php p($l->t('ownCloud basic encryption module')); ?></h2> - +<form id="ocDefaultEncryptionModule" class="sub-section"> <?php if(!$_["initStatus"]): ?> <?php p($l->t("Encryption App is enabled but your keys are not initialized, please log-out and log-in again")); ?> <?php else: ?> <p id="encryptionSetRecoveryKey"> - <?php p($l->t('Enable recovery key: ')); ?> + <?php $_["recoveryEnabled"] === '0' ? p($l->t("Enable recovery key")) : p($l->t("Disable recovery key")); ?> <span class="msg"></span> <br/> <em> - <?php p($l->t("The recovery key is an extra encryption key that is used - to encrypt files. It allows recovery of a user's files if the user forgets their password.")) ?> + <?php p($l->t("The recovery key is an extra encryption key that is used to encrypt files. It allows recovery of a user's files if the user forgets his or her password.")) ?> </em> <br/> - <input type="password" name="encryptionRecoveryPassword" id="encryptionRecoveryPassword"/> - <label for="recoveryPassword"><?php p($l->t("Recovery key password")); ?></label> - <br/> - <input type="password" name="encryptionRecoveryPassword" id="repeatEncryptionRecoveryPassword"/> - <label for="repeatEncryptionRecoveryPassword"><?php p($l->t("Repeat Recovery key password")); ?></label> - <br/> - <input - type='radio' - id='adminEnableRecovery' - name='adminEnableRecovery' - value='1' - <?php echo($_["recoveryEnabled"] === '1' ? 'checked="checked"' : ''); ?> /> - <label for="adminEnableRecovery"><?php p($l->t("Enable recovery key")); ?></label> - <br/> - - <input - type='radio' - id='adminDisableRecovery' - name='adminEnableRecovery' - value='0' - <?php echo($_["recoveryEnabled"] === '0' ? 'checked="checked"' : ''); ?> /> - <label for="adminDisableRecovery"><?php p($l->t("Disable recovery key")); ?></label> + <input type="password" + name="encryptionRecoveryPassword" + id="encryptionRecoveryPassword" + placeholder="<?php p($l->t("Recovery key password")); ?>"/> + <input type="password" + name="encryptionRecoveryPassword" + id="repeatEncryptionRecoveryPassword" + placeholder="<?php p($l->t("Repeat recovery key password")); ?>"/> + <input type="button" + name="enableRecoveryKey" + id="enableRecoveryKey" + status="<?php p($_["recoveryEnabled"]) ?>" + value="<?php $_["recoveryEnabled"] === '0' ? p($l->t("Enable recovery key")) : p($l->t("Disable recovery key")); ?>"/> </p> <br/><br/> - <p name="changeRecoveryPasswordBlock" id="encryptionChangeRecoveryKey" <?php if ($_['recoveryEnabled'] === '0') print_unescaped('class="hidden"');?>> - <strong><?php p($l->t("Change recovery key password:")); ?></strong> + <p name="changeRecoveryPasswordBlock" id="encryptionChangeRecoveryKey" <?php if($_['recoveryEnabled'] === '0') print_unescaped('class="hidden"');?>> + <?php p($l->t("Change recovery key password:")); ?> <span class="msg"></span> - <br/><br/> + <br/> <input type="password" name="changeRecoveryPassword" - id="oldEncryptionRecoveryPassword" /> - <label for="oldEncryptionRecoveryPassword"><?php p($l->t("Old Recovery key password")); ?></label> - <br/> - <br/> + id="oldEncryptionRecoveryPassword" + placeholder="<?php p($l->t("Old recovery key password")); ?>"/> + <br /> <input type="password" name="changeRecoveryPassword" - id="newEncryptionRecoveryPassword" /> - <label for="newEncryptionRecoveryPassword"><?php p($l->t("New Recovery key password")); ?></label> - <br/> + id="newEncryptionRecoveryPassword" + placeholder="<?php p($l->t("New recovery key password")); ?>"/> <input type="password" name="changeRecoveryPassword" - id="repeatedNewEncryptionRecoveryPassword" /> - <label for="repeatEncryptionRecoveryPassword"><?php p($l->t("Repeat New Recovery key password")); ?></label> - <br/> + id="repeatedNewEncryptionRecoveryPassword" + placeholder="<?php p($l->t("Repeat new recovery key password")); ?>"/> + <button type="button" name="submitChangeRecoveryKey"> diff --git a/apps/encryption/templates/settings-personal.php b/apps/encryption/templates/settings-personal.php index 6b8821ca8a8..e0a7fc22eeb 100644 --- a/apps/encryption/templates/settings-personal.php +++ b/apps/encryption/templates/settings-personal.php @@ -4,7 +4,7 @@ script('encryption', 'settings-personal'); script('core', 'multiselect'); ?> -<form id="encryption" class="section"> +<form id="ocDefaultEncryptionModule" class="section"> <h2><?php p($l->t('ownCloud basic encryption module')); ?></h2> <?php if ($_["initialized"] === \OCA\Encryption\Session::NOT_INITIALIZED ): ?> diff --git a/apps/encryption/tests/lib/UtilTest.php b/apps/encryption/tests/lib/UtilTest.php index eab912b82d4..18cf0386793 100644 --- a/apps/encryption/tests/lib/UtilTest.php +++ b/apps/encryption/tests/lib/UtilTest.php @@ -28,11 +28,17 @@ use Test\TestCase; class UtilTest extends TestCase { private static $tempStorage = []; + + /** @var \PHPUnit_Framework_MockObject_MockObject */ private $configMock; + + /** @var \PHPUnit_Framework_MockObject_MockObject */ private $filesMock; - /** - * @var Util - */ + + /** @var \PHPUnit_Framework_MockObject_MockObject */ + private $userManagerMock; + + /** @var Util */ private $instance; public function testSetRecoveryForUser() { @@ -40,9 +46,6 @@ class UtilTest extends TestCase { $this->assertArrayHasKey('recoveryEnabled', self::$tempStorage); } - /** - * - */ public function testIsRecoveryEnabledForUser() { $this->assertTrue($this->instance->isRecoveryEnabledForUser('admin')); @@ -62,6 +65,7 @@ class UtilTest extends TestCase { protected function setUp() { parent::setUp(); $this->filesMock = $this->getMock('OC\Files\View'); + $this->userManagerMock = $this->getMock('\OCP\IUserManager'); $cryptMock = $this->getMockBuilder('OCA\Encryption\Crypto\Crypt') ->disableOriginalConstructor() @@ -98,7 +102,7 @@ class UtilTest extends TestCase { ->method('setUserValue') ->will($this->returnCallback([$this, 'setValueTester'])); - $this->instance = new Util($this->filesMock, $cryptMock, $loggerMock, $userSessionMock, $configMock); + $this->instance = new Util($this->filesMock, $cryptMock, $loggerMock, $userSessionMock, $configMock, $this->userManagerMock); } /** diff --git a/apps/encryption/tests/lib/crypto/encryptionTest.php b/apps/encryption/tests/lib/crypto/encryptionTest.php index aa28a8b44a4..d33aff877bf 100644 --- a/apps/encryption/tests/lib/crypto/encryptionTest.php +++ b/apps/encryption/tests/lib/crypto/encryptionTest.php @@ -42,6 +42,9 @@ class EncryptionTest extends TestCase { /** @var \PHPUnit_Framework_MockObject_MockObject */ private $loggerMock; + /** @var \PHPUnit_Framework_MockObject_MockObject */ + private $l10nMock; + public function setUp() { parent::setUp(); @@ -57,12 +60,20 @@ class EncryptionTest extends TestCase { $this->loggerMock = $this->getMockBuilder('OCP\ILogger') ->disableOriginalConstructor() ->getMock(); + $this->l10nMock = $this->getMockBuilder('OCP\IL10N') + ->disableOriginalConstructor() + ->getMock(); + $this->l10nMock->expects($this->any()) + ->method('t') + ->with($this->anything()) + ->willReturnArgument(0); $this->instance = new Encryption( $this->cryptMock, $this->keyManagerMock, $this->utilMock, - $this->loggerMock + $this->loggerMock, + $this->l10nMock ); } @@ -220,4 +231,36 @@ class EncryptionTest extends TestCase { ); } + /** + * by default the encryption module should encrypt regular files, files in + * files_versions and files in files_trashbin + * + * @dataProvider dataTestShouldEncrypt + */ + public function testShouldEncrypt($path, $expected) { + $this->assertSame($expected, + $this->instance->shouldEncrypt($path) + ); + } + + public function dataTestShouldEncrypt() { + return array( + array('/user1/files/foo.txt', true), + array('/user1/files_versions/foo.txt', true), + array('/user1/files_trashbin/foo.txt', true), + array('/user1/some_folder/foo.txt', false), + array('/user1/foo.txt', false), + array('/user1/files', false), + array('/user1/files_trashbin', false), + array('/user1/files_versions', false), + ); + } + + /** + * @expectedException \OC\Encryption\Exceptions\DecryptionFailedException + * @expectedExceptionMessage Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you. + */ + public function testDecrypt() { + $this->instance->decrypt('abc'); + } } diff --git a/apps/files/js/filelist.js b/apps/files/js/filelist.js index 0181acab596..e88ea1ad5d7 100644 --- a/apps/files/js/filelist.js +++ b/apps/files/js/filelist.js @@ -950,7 +950,8 @@ if (fileData.isPreviewAvailable) { var iconDiv = filenameTd.find('.thumbnail'); // lazy load / newly inserted td ? - if (options.animate) { + // the typeof check ensures that the default value of animate is true + if (typeof(options.animate) === 'undefined' || !!options.animate) { this.lazyLoadPreview({ path: path + '/' + fileData.name, mime: mime, diff --git a/apps/files/l10n/da.js b/apps/files/l10n/da.js index b2cd08da2d3..9433acbf95e 100644 --- a/apps/files/l10n/da.js +++ b/apps/files/l10n/da.js @@ -42,6 +42,7 @@ OC.L10N.register( "Delete" : "Slet", "Disconnect storage" : "Frakobl lager", "Unshare" : "Fjern deling", + "No permission to delete" : "Ingen rettigheder at slette", "Download" : "Download", "Select" : "Vælg", "Pending" : "Afventer", diff --git a/apps/files/l10n/da.json b/apps/files/l10n/da.json index 2b368767a44..0fb4159ef5c 100644 --- a/apps/files/l10n/da.json +++ b/apps/files/l10n/da.json @@ -40,6 +40,7 @@ "Delete" : "Slet", "Disconnect storage" : "Frakobl lager", "Unshare" : "Fjern deling", + "No permission to delete" : "Ingen rettigheder at slette", "Download" : "Download", "Select" : "Vælg", "Pending" : "Afventer", diff --git a/apps/files/l10n/de_AT.js b/apps/files/l10n/de_AT.js index a94d0486f4b..046e993f7f6 100644 --- a/apps/files/l10n/de_AT.js +++ b/apps/files/l10n/de_AT.js @@ -1,6 +1,7 @@ OC.L10N.register( "files", { + "Unknown error" : "Unbekannter Fehler", "Files" : "Dateien", "Delete" : "Löschen", "Unshare" : "Teilung zurücknehmen", @@ -16,6 +17,9 @@ OC.L10N.register( "You deleted %1$s" : "Du hast %1$s gelöscht", "%2$s deleted %1$s" : "%2$s löschte %1$s", "Save" : "Speichern", - "Settings" : "Einstellungen" + "Settings" : "Einstellungen", + "New folder" : "Neuer Ordner", + "Upload" : "Hochladen", + "Cancel upload" : "Hochladen abbrechen" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/files/l10n/de_AT.json b/apps/files/l10n/de_AT.json index 89b99b5d001..b31eb12c490 100644 --- a/apps/files/l10n/de_AT.json +++ b/apps/files/l10n/de_AT.json @@ -1,4 +1,5 @@ { "translations": { + "Unknown error" : "Unbekannter Fehler", "Files" : "Dateien", "Delete" : "Löschen", "Unshare" : "Teilung zurücknehmen", @@ -14,6 +15,9 @@ "You deleted %1$s" : "Du hast %1$s gelöscht", "%2$s deleted %1$s" : "%2$s löschte %1$s", "Save" : "Speichern", - "Settings" : "Einstellungen" + "Settings" : "Einstellungen", + "New folder" : "Neuer Ordner", + "Upload" : "Hochladen", + "Cancel upload" : "Hochladen abbrechen" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/files/l10n/is.js b/apps/files/l10n/is.js index 00507bf43d9..6fea601bdfc 100644 --- a/apps/files/l10n/is.js +++ b/apps/files/l10n/is.js @@ -42,4 +42,4 @@ OC.L10N.register( "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Skrárnar sem þú ert að senda inn eru stærri en hámarks innsendingarstærð á þessum netþjóni.", "Files are being scanned, please wait." : "Verið er að skima skrár, vinsamlegast hinkraðu." }, -"nplurals=2; plural=(n != 1);"); +"nplurals=2; plural=(n % 10 == 1 || n % 100 != 11);"); diff --git a/apps/files/l10n/is.json b/apps/files/l10n/is.json index e63dd585d17..1fe2dd93e2f 100644 --- a/apps/files/l10n/is.json +++ b/apps/files/l10n/is.json @@ -39,5 +39,5 @@ "Upload too large" : "Innsend skrá er of stór", "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Skrárnar sem þú ert að senda inn eru stærri en hámarks innsendingarstærð á þessum netþjóni.", "Files are being scanned, please wait." : "Verið er að skima skrár, vinsamlegast hinkraðu." -},"pluralForm" :"nplurals=2; plural=(n != 1);" +},"pluralForm" :"nplurals=2; plural=(n % 10 == 1 || n % 100 != 11);" }
\ No newline at end of file diff --git a/apps/files/l10n/ko.js b/apps/files/l10n/ko.js index ca961a8fbbd..b49fcd33bc5 100644 --- a/apps/files/l10n/ko.js +++ b/apps/files/l10n/ko.js @@ -42,6 +42,7 @@ OC.L10N.register( "Delete" : "삭제", "Disconnect storage" : "저장소 연결 해제", "Unshare" : "공유 해제", + "No permission to delete" : "삭제할 권한 없음", "Download" : "다운로드", "Select" : "선택", "Pending" : "대기 중", @@ -70,6 +71,7 @@ OC.L10N.register( "An error occurred while trying to update the tags" : "태그를 업데이트하는 중 오류 발생", "A new file or folder has been <strong>created</strong>" : "새 파일이나 폴더가 <strong>생성됨</strong>", "A file or folder has been <strong>changed</strong>" : "파일이나 폴더가 <strong>변경됨</strong>", + "Limit notifications about creation and changes to your <strong>favorite files</strong> <em>(Stream only)</em>" : "<strong>즐겨찾는 파일</strong>의 생성 및 변경 사항에 대한 알림을 줄일 수 있습니다<em>(스트림에서만)</em>", "A file or folder has been <strong>deleted</strong>" : "파일이나 폴더가 <strong>삭제됨</strong>", "A file or folder has been <strong>restored</strong>" : "파일이나 폴더가 <strong>복원됨</strong>", "You created %1$s" : "내가 %1$s을(를) 생성함", @@ -88,6 +90,7 @@ OC.L10N.register( "Maximum upload size" : "최대 업로드 크기", "max. possible: " : "최대 가능:", "Save" : "저장", + "Can not be edited from here due to insufficient permissions." : "권한이 부족하므로 여기에서 편집할 수 없습니다.", "Settings" : "설정", "WebDAV" : "WebDAV", "Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "WebDAV로 파일에 접근하려면 <a href=\"%s\" target=\"_blank\">이 주소를 사용하십시오</a>", @@ -98,6 +101,7 @@ OC.L10N.register( "Folder" : "폴더", "Upload" : "업로드", "Cancel upload" : "업로드 취소", + "No files in here" : "여기에 파일 없음", "Upload some content or sync with your devices!" : "파일을 업로드하거나 장치와 동기화하십시오!", "No entries found in this folder" : "이 폴더에 항목 없음", "Select all" : "모두 선택", diff --git a/apps/files/l10n/ko.json b/apps/files/l10n/ko.json index e8757da56b9..b9611b185b5 100644 --- a/apps/files/l10n/ko.json +++ b/apps/files/l10n/ko.json @@ -40,6 +40,7 @@ "Delete" : "삭제", "Disconnect storage" : "저장소 연결 해제", "Unshare" : "공유 해제", + "No permission to delete" : "삭제할 권한 없음", "Download" : "다운로드", "Select" : "선택", "Pending" : "대기 중", @@ -68,6 +69,7 @@ "An error occurred while trying to update the tags" : "태그를 업데이트하는 중 오류 발생", "A new file or folder has been <strong>created</strong>" : "새 파일이나 폴더가 <strong>생성됨</strong>", "A file or folder has been <strong>changed</strong>" : "파일이나 폴더가 <strong>변경됨</strong>", + "Limit notifications about creation and changes to your <strong>favorite files</strong> <em>(Stream only)</em>" : "<strong>즐겨찾는 파일</strong>의 생성 및 변경 사항에 대한 알림을 줄일 수 있습니다<em>(스트림에서만)</em>", "A file or folder has been <strong>deleted</strong>" : "파일이나 폴더가 <strong>삭제됨</strong>", "A file or folder has been <strong>restored</strong>" : "파일이나 폴더가 <strong>복원됨</strong>", "You created %1$s" : "내가 %1$s을(를) 생성함", @@ -86,6 +88,7 @@ "Maximum upload size" : "최대 업로드 크기", "max. possible: " : "최대 가능:", "Save" : "저장", + "Can not be edited from here due to insufficient permissions." : "권한이 부족하므로 여기에서 편집할 수 없습니다.", "Settings" : "설정", "WebDAV" : "WebDAV", "Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "WebDAV로 파일에 접근하려면 <a href=\"%s\" target=\"_blank\">이 주소를 사용하십시오</a>", @@ -96,6 +99,7 @@ "Folder" : "폴더", "Upload" : "업로드", "Cancel upload" : "업로드 취소", + "No files in here" : "여기에 파일 없음", "Upload some content or sync with your devices!" : "파일을 업로드하거나 장치와 동기화하십시오!", "No entries found in this folder" : "이 폴더에 항목 없음", "Select all" : "모두 선택", diff --git a/apps/files/l10n/mk.js b/apps/files/l10n/mk.js index 13e21643c97..fbda6b4d1fb 100644 --- a/apps/files/l10n/mk.js +++ b/apps/files/l10n/mk.js @@ -51,6 +51,7 @@ OC.L10N.register( "You deleted %1$s" : "Вие избришавте %1$s", "%2$s deleted %1$s" : "%2$s избришани %1$s", "%s could not be renamed" : "%s не може да биде преименуван", + "Upload (max. %s)" : "Префрлање (макс. %s)", "File handling" : "Ракување со датотеки", "Maximum upload size" : "Максимална големина за подигање", "max. possible: " : "макс. можно:", diff --git a/apps/files/l10n/mk.json b/apps/files/l10n/mk.json index 12c4edc25c5..7eb9488916f 100644 --- a/apps/files/l10n/mk.json +++ b/apps/files/l10n/mk.json @@ -49,6 +49,7 @@ "You deleted %1$s" : "Вие избришавте %1$s", "%2$s deleted %1$s" : "%2$s избришани %1$s", "%s could not be renamed" : "%s не може да биде преименуван", + "Upload (max. %s)" : "Префрлање (макс. %s)", "File handling" : "Ракување со датотеки", "Maximum upload size" : "Максимална големина за подигање", "max. possible: " : "макс. можно:", diff --git a/apps/files/l10n/pt_BR.js b/apps/files/l10n/pt_BR.js index 83343a9444e..a55e0e88b69 100644 --- a/apps/files/l10n/pt_BR.js +++ b/apps/files/l10n/pt_BR.js @@ -42,6 +42,7 @@ OC.L10N.register( "Delete" : "Excluir", "Disconnect storage" : "Desconectar armazenagem", "Unshare" : "Descompartilhar", + "No permission to delete" : "Sem permissão para excluir", "Download" : "Baixar", "Select" : "Selecionar", "Pending" : "Pendente", diff --git a/apps/files/l10n/pt_BR.json b/apps/files/l10n/pt_BR.json index 42bacf971b2..0129b544ab4 100644 --- a/apps/files/l10n/pt_BR.json +++ b/apps/files/l10n/pt_BR.json @@ -40,6 +40,7 @@ "Delete" : "Excluir", "Disconnect storage" : "Desconectar armazenagem", "Unshare" : "Descompartilhar", + "No permission to delete" : "Sem permissão para excluir", "Download" : "Baixar", "Select" : "Selecionar", "Pending" : "Pendente", diff --git a/apps/files/l10n/pt_PT.js b/apps/files/l10n/pt_PT.js index 072141105c8..09974a0321d 100644 --- a/apps/files/l10n/pt_PT.js +++ b/apps/files/l10n/pt_PT.js @@ -42,6 +42,7 @@ OC.L10N.register( "Delete" : "Apagar", "Disconnect storage" : "Desconete o armazenamento", "Unshare" : "Deixar de partilhar", + "No permission to delete" : "Não tem permissão para apagar", "Download" : "Transferir", "Select" : "Selecionar", "Pending" : "Pendente", diff --git a/apps/files/l10n/pt_PT.json b/apps/files/l10n/pt_PT.json index 66230a0e6c9..4172185936a 100644 --- a/apps/files/l10n/pt_PT.json +++ b/apps/files/l10n/pt_PT.json @@ -40,6 +40,7 @@ "Delete" : "Apagar", "Disconnect storage" : "Desconete o armazenamento", "Unshare" : "Deixar de partilhar", + "No permission to delete" : "Não tem permissão para apagar", "Download" : "Transferir", "Select" : "Selecionar", "Pending" : "Pendente", diff --git a/apps/files/l10n/ru.js b/apps/files/l10n/ru.js index 19e71acd491..f69b4a9817e 100644 --- a/apps/files/l10n/ru.js +++ b/apps/files/l10n/ru.js @@ -56,15 +56,15 @@ OC.L10N.register( "Name" : "Имя", "Size" : "Размер", "Modified" : "Изменён", - "_%n folder_::_%n folders_" : ["%n каталог","%n каталога","%n каталогов"], - "_%n file_::_%n files_" : ["%n файл","%n файла","%n файлов"], + "_%n folder_::_%n folders_" : ["%n каталог","%n каталога","%n каталогов","%n каталогов"], + "_%n file_::_%n files_" : ["%n файл","%n файла","%n файлов","%n файлов"], "You don’t have permission to upload or create files here" : "У вас нет прав для загрузки или создания файлов здесь.", - "_Uploading %n file_::_Uploading %n files_" : ["Закачка %n файла","Закачка %n файлов","Закачка %n файлов"], + "_Uploading %n file_::_Uploading %n files_" : ["Закачка %n файла","Закачка %n файлов","Закачка %n файлов","Закачка %n файлов"], "\"{name}\" is an invalid file name." : "\"{name}\" это неправильное имя файла.", "File name cannot be empty." : "Имя файла не может быть пустым.", "Your storage is full, files can not be updated or synced anymore!" : "Ваше хранилище заполнено, произведите очистку перед загрузкой новых файлов.", "Your storage is almost full ({usedSpacePercent}%)" : "Ваше хранилище почти заполнено ({usedSpacePercent}%)", - "_matches '{filter}'_::_match '{filter}'_" : ["соответствует '{filter}'","соответствуют '{filter}'","соответствуют '{filter}'"], + "_matches '{filter}'_::_match '{filter}'_" : ["соответствует '{filter}'","соответствуют '{filter}'","соответствуют '{filter}'","соответствуют '{filter}'"], "{dirs} and {files}" : "{dirs} и {files}", "Favorited" : "Избранное", "Favorite" : "Избранное", @@ -112,4 +112,4 @@ OC.L10N.register( "No favorites" : "Нет избранного", "Files and folders you mark as favorite will show up here" : "Здесь появятся файлы и каталоги, отмеченные как избранные" }, -"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);"); +"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/files/l10n/ru.json b/apps/files/l10n/ru.json index 99e7b91861d..1099ca30b0d 100644 --- a/apps/files/l10n/ru.json +++ b/apps/files/l10n/ru.json @@ -54,15 +54,15 @@ "Name" : "Имя", "Size" : "Размер", "Modified" : "Изменён", - "_%n folder_::_%n folders_" : ["%n каталог","%n каталога","%n каталогов"], - "_%n file_::_%n files_" : ["%n файл","%n файла","%n файлов"], + "_%n folder_::_%n folders_" : ["%n каталог","%n каталога","%n каталогов","%n каталогов"], + "_%n file_::_%n files_" : ["%n файл","%n файла","%n файлов","%n файлов"], "You don’t have permission to upload or create files here" : "У вас нет прав для загрузки или создания файлов здесь.", - "_Uploading %n file_::_Uploading %n files_" : ["Закачка %n файла","Закачка %n файлов","Закачка %n файлов"], + "_Uploading %n file_::_Uploading %n files_" : ["Закачка %n файла","Закачка %n файлов","Закачка %n файлов","Закачка %n файлов"], "\"{name}\" is an invalid file name." : "\"{name}\" это неправильное имя файла.", "File name cannot be empty." : "Имя файла не может быть пустым.", "Your storage is full, files can not be updated or synced anymore!" : "Ваше хранилище заполнено, произведите очистку перед загрузкой новых файлов.", "Your storage is almost full ({usedSpacePercent}%)" : "Ваше хранилище почти заполнено ({usedSpacePercent}%)", - "_matches '{filter}'_::_match '{filter}'_" : ["соответствует '{filter}'","соответствуют '{filter}'","соответствуют '{filter}'"], + "_matches '{filter}'_::_match '{filter}'_" : ["соответствует '{filter}'","соответствуют '{filter}'","соответствуют '{filter}'","соответствуют '{filter}'"], "{dirs} and {files}" : "{dirs} и {files}", "Favorited" : "Избранное", "Favorite" : "Избранное", @@ -109,5 +109,5 @@ "Currently scanning" : "В настоящее время сканируется", "No favorites" : "Нет избранного", "Files and folders you mark as favorite will show up here" : "Здесь появятся файлы и каталоги, отмеченные как избранные" -},"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);" +},"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/files/l10n/uk.js b/apps/files/l10n/uk.js index a9496a55823..e8c0ccd8a6c 100644 --- a/apps/files/l10n/uk.js +++ b/apps/files/l10n/uk.js @@ -42,6 +42,7 @@ OC.L10N.register( "Delete" : "Видалити", "Disconnect storage" : "Від’єднати сховище", "Unshare" : "Закрити доступ", + "No permission to delete" : "Недостатньо прав для видалення", "Download" : "Завантажити", "Select" : "Оберіть", "Pending" : "Очікування", diff --git a/apps/files/l10n/uk.json b/apps/files/l10n/uk.json index c34b8501ae9..82aa81d4cc1 100644 --- a/apps/files/l10n/uk.json +++ b/apps/files/l10n/uk.json @@ -40,6 +40,7 @@ "Delete" : "Видалити", "Disconnect storage" : "Від’єднати сховище", "Unshare" : "Закрити доступ", + "No permission to delete" : "Недостатньо прав для видалення", "Download" : "Завантажити", "Select" : "Оберіть", "Pending" : "Очікування", diff --git a/apps/files_external/l10n/de_AT.js b/apps/files_external/l10n/de_AT.js index c4a56bb7a5f..5dbc69e2966 100644 --- a/apps/files_external/l10n/de_AT.js +++ b/apps/files_external/l10n/de_AT.js @@ -4,9 +4,11 @@ OC.L10N.register( "Location" : "Ort", "Port" : "Port", "Host" : "Host", + "Username" : "Benutzername", "Password" : "Passwort", "Share" : "Freigeben", "Personal" : "Persönlich", + "Folder name" : "Ordner Name", "Delete" : "Löschen" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/files_external/l10n/de_AT.json b/apps/files_external/l10n/de_AT.json index 3dea5f2cd58..7fd1d456c58 100644 --- a/apps/files_external/l10n/de_AT.json +++ b/apps/files_external/l10n/de_AT.json @@ -2,9 +2,11 @@ "Location" : "Ort", "Port" : "Port", "Host" : "Host", + "Username" : "Benutzername", "Password" : "Passwort", "Share" : "Freigeben", "Personal" : "Persönlich", + "Folder name" : "Ordner Name", "Delete" : "Löschen" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/files_external/l10n/is.js b/apps/files_external/l10n/is.js index 0ef3945c353..644c4a06546 100644 --- a/apps/files_external/l10n/is.js +++ b/apps/files_external/l10n/is.js @@ -20,4 +20,4 @@ OC.L10N.register( "Delete" : "Eyða", "Enable User External Storage" : "Virkja ytra gagnasvæði notenda" }, -"nplurals=2; plural=(n != 1);"); +"nplurals=2; plural=(n % 10 == 1 || n % 100 != 11);"); diff --git a/apps/files_external/l10n/is.json b/apps/files_external/l10n/is.json index c5d55bea9ce..512f0ed76b9 100644 --- a/apps/files_external/l10n/is.json +++ b/apps/files_external/l10n/is.json @@ -17,5 +17,5 @@ "Configuration" : "Uppsetning", "Delete" : "Eyða", "Enable User External Storage" : "Virkja ytra gagnasvæði notenda" -},"pluralForm" :"nplurals=2; plural=(n != 1);" +},"pluralForm" :"nplurals=2; plural=(n % 10 == 1 || n % 100 != 11);" }
\ No newline at end of file diff --git a/apps/files_external/l10n/ko.js b/apps/files_external/l10n/ko.js index 164a6b4f5b0..61996d8ba27 100644 --- a/apps/files_external/l10n/ko.js +++ b/apps/files_external/l10n/ko.js @@ -44,6 +44,9 @@ OC.L10N.register( "URL" : "URL", "Secure https://" : "보안 https://", "Public key" : "공개 키", + "Storage with id \"%i\" not found" : "ID가 \"%i\"인 저장소를 찾을 수 없음", + "Invalid mount point" : "잘못된 마운트 지점", + "Invalid storage backend \"%s\"" : "잘못된 저장소 백엔드 \"%s\"", "Access granted" : "접근 허가됨", "Error configuring Dropbox storage" : "Dropbox 저장소 설정 오류", "Grant access" : "접근 권한 부여", @@ -53,12 +56,15 @@ OC.L10N.register( "All users. Type to select user or group." : "모든 사용자입니다. 사용자나 그룹을 선택하려면 입력하십시오", "(group)" : "(그룹)", "Saved" : "저장됨", + "Generate keys" : "키 생성", + "Error generating key pair" : "키 쌍을 생성하는 중 오류 발생", "<b>Note:</b> " : "<b>메모:</b>", "and" : "그리고", "<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>메모:</b> PHP cURL 모듈이 비활성화되어 있거나 설치되어 있지 않습니다. %s을(를) 마운트할 수 없습니다. 시스템 관리자에게 설치를 요청하십시오.", "<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>메모:</b> PHP FTP 모듈이 비활성화되어 있거나 설치되어 있지 않습니다. %s을(를) 마운트할 수 없습니다. 시스템 관리자에게 설치를 요청하십시오.", "<b>Note:</b> \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>메모:</b> \"%s\"이(가) 설치되어 있지 않습니다. %s을(를) 마운트할 수 없습니다. 시스템 관리자에게 설치를 요청하십시오.", "No external storage configured" : "외부 저장소가 설정되지 않았음", + "You can add external storages in the personal settings" : "개인 설정에서 외부 저장소를 추가할 수 있습니다", "Name" : "이름", "Storage type" : "저장소 종류", "Scope" : "범위", @@ -67,6 +73,7 @@ OC.L10N.register( "Configuration" : "설정", "Available for" : "다음으로 사용 가능", "Add storage" : "저장소 추가", + "Advanced settings" : "고급 설정", "Delete" : "삭제", "Enable User External Storage" : "사용자 외부 저장소 사용", "Allow users to mount the following external storage" : "사용자가 다음 외부 저장소를 마운트할 수 있도록 허용" diff --git a/apps/files_external/l10n/ko.json b/apps/files_external/l10n/ko.json index b68e18e2581..d0fabd105e1 100644 --- a/apps/files_external/l10n/ko.json +++ b/apps/files_external/l10n/ko.json @@ -42,6 +42,9 @@ "URL" : "URL", "Secure https://" : "보안 https://", "Public key" : "공개 키", + "Storage with id \"%i\" not found" : "ID가 \"%i\"인 저장소를 찾을 수 없음", + "Invalid mount point" : "잘못된 마운트 지점", + "Invalid storage backend \"%s\"" : "잘못된 저장소 백엔드 \"%s\"", "Access granted" : "접근 허가됨", "Error configuring Dropbox storage" : "Dropbox 저장소 설정 오류", "Grant access" : "접근 권한 부여", @@ -51,12 +54,15 @@ "All users. Type to select user or group." : "모든 사용자입니다. 사용자나 그룹을 선택하려면 입력하십시오", "(group)" : "(그룹)", "Saved" : "저장됨", + "Generate keys" : "키 생성", + "Error generating key pair" : "키 쌍을 생성하는 중 오류 발생", "<b>Note:</b> " : "<b>메모:</b>", "and" : "그리고", "<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>메모:</b> PHP cURL 모듈이 비활성화되어 있거나 설치되어 있지 않습니다. %s을(를) 마운트할 수 없습니다. 시스템 관리자에게 설치를 요청하십시오.", "<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>메모:</b> PHP FTP 모듈이 비활성화되어 있거나 설치되어 있지 않습니다. %s을(를) 마운트할 수 없습니다. 시스템 관리자에게 설치를 요청하십시오.", "<b>Note:</b> \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>메모:</b> \"%s\"이(가) 설치되어 있지 않습니다. %s을(를) 마운트할 수 없습니다. 시스템 관리자에게 설치를 요청하십시오.", "No external storage configured" : "외부 저장소가 설정되지 않았음", + "You can add external storages in the personal settings" : "개인 설정에서 외부 저장소를 추가할 수 있습니다", "Name" : "이름", "Storage type" : "저장소 종류", "Scope" : "범위", @@ -65,6 +71,7 @@ "Configuration" : "설정", "Available for" : "다음으로 사용 가능", "Add storage" : "저장소 추가", + "Advanced settings" : "고급 설정", "Delete" : "삭제", "Enable User External Storage" : "사용자 외부 저장소 사용", "Allow users to mount the following external storage" : "사용자가 다음 외부 저장소를 마운트할 수 있도록 허용" diff --git a/apps/files_external/l10n/ru.js b/apps/files_external/l10n/ru.js index 07bd765ff80..aafb4b36551 100644 --- a/apps/files_external/l10n/ru.js +++ b/apps/files_external/l10n/ru.js @@ -78,4 +78,4 @@ OC.L10N.register( "Enable User External Storage" : "Включить пользовательские внешние хранилища", "Allow users to mount the following external storage" : "Разрешить пользователям монтировать следующие сервисы хранения данных" }, -"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);"); +"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/files_external/l10n/ru.json b/apps/files_external/l10n/ru.json index 40ea8e23563..b01779e83d1 100644 --- a/apps/files_external/l10n/ru.json +++ b/apps/files_external/l10n/ru.json @@ -75,5 +75,5 @@ "Delete" : "Удалить", "Enable User External Storage" : "Включить пользовательские внешние хранилища", "Allow users to mount the following external storage" : "Разрешить пользователям монтировать следующие сервисы хранения данных" -},"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);" +},"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/files_sharing/api/local.php b/apps/files_sharing/api/local.php index 00509bcee69..03812800c17 100644 --- a/apps/files_sharing/api/local.php +++ b/apps/files_sharing/api/local.php @@ -68,6 +68,7 @@ class Local { if (\OC::$server->getPreviewManager()->isMimeSupported($share['mimetype'])) { $share['isPreviewAvailable'] = true; } + $share['icon'] = substr(\OC_Helper::mimetypeIcon($share['mimetype']), 0, -3) . 'svg'; } } return new \OC_OCS_Result($shares); diff --git a/apps/files_sharing/js/sharedfilelist.js b/apps/files_sharing/js/sharedfilelist.js index 2c7d6c7d43a..ca187940a08 100644 --- a/apps/files_sharing/js/sharedfilelist.js +++ b/apps/files_sharing/js/sharedfilelist.js @@ -176,6 +176,7 @@ .map(function(share) { var file = { id: share.file_source, + icon: share.icon, mimetype: share.mimetype }; if (share.item_type === 'folder') { diff --git a/apps/files_sharing/l10n/is.js b/apps/files_sharing/l10n/is.js index 57e49f68ec4..93f63e25314 100644 --- a/apps/files_sharing/l10n/is.js +++ b/apps/files_sharing/l10n/is.js @@ -8,4 +8,4 @@ OC.L10N.register( "Name" : "Nafn", "Download" : "Niðurhal" }, -"nplurals=2; plural=(n != 1);"); +"nplurals=2; plural=(n % 10 == 1 || n % 100 != 11);"); diff --git a/apps/files_sharing/l10n/is.json b/apps/files_sharing/l10n/is.json index f7094b9cbe8..69493847d9b 100644 --- a/apps/files_sharing/l10n/is.json +++ b/apps/files_sharing/l10n/is.json @@ -5,5 +5,5 @@ "Password" : "Lykilorð", "Name" : "Nafn", "Download" : "Niðurhal" -},"pluralForm" :"nplurals=2; plural=(n != 1);" +},"pluralForm" :"nplurals=2; plural=(n % 10 == 1 || n % 100 != 11);" }
\ No newline at end of file diff --git a/apps/files_sharing/l10n/ja.js b/apps/files_sharing/l10n/ja.js index af8c0bdbcef..dde011c8b4d 100644 --- a/apps/files_sharing/l10n/ja.js +++ b/apps/files_sharing/l10n/ja.js @@ -21,6 +21,7 @@ OC.L10N.register( "Remote share password" : "リモート共有のパスワード", "Cancel" : "キャンセル", "Add remote share" : "リモート共有を追加", + "You can upload into this folder" : "このフォルダーにアップロードできます", "No ownCloud installation (7 or higher) found at {remote}" : "{remote} にはownCloud (7以上)がインストールされていません", "Invalid ownCloud url" : "無効なownCloud URL です", "Share" : "共有", diff --git a/apps/files_sharing/l10n/ja.json b/apps/files_sharing/l10n/ja.json index ee1f81e8e0a..76d8d8e8968 100644 --- a/apps/files_sharing/l10n/ja.json +++ b/apps/files_sharing/l10n/ja.json @@ -19,6 +19,7 @@ "Remote share password" : "リモート共有のパスワード", "Cancel" : "キャンセル", "Add remote share" : "リモート共有を追加", + "You can upload into this folder" : "このフォルダーにアップロードできます", "No ownCloud installation (7 or higher) found at {remote}" : "{remote} にはownCloud (7以上)がインストールされていません", "Invalid ownCloud url" : "無効なownCloud URL です", "Share" : "共有", diff --git a/apps/files_sharing/l10n/ko.js b/apps/files_sharing/l10n/ko.js index 4d94b883890..0373de3ca9d 100644 --- a/apps/files_sharing/l10n/ko.js +++ b/apps/files_sharing/l10n/ko.js @@ -21,6 +21,7 @@ OC.L10N.register( "Remote share password" : "원격 공유 암호", "Cancel" : "취소", "Add remote share" : "원격 공유 추가", + "You can upload into this folder" : "이 폴더에 업로드할 수 있습니다", "No ownCloud installation (7 or higher) found at {remote}" : "{remote}에 ownCloud 7 이상이 설치되어 있지 않음", "Invalid ownCloud url" : "잘못된 ownCloud URL", "Share" : "공유", diff --git a/apps/files_sharing/l10n/ko.json b/apps/files_sharing/l10n/ko.json index cc0e793977d..054194ee7a7 100644 --- a/apps/files_sharing/l10n/ko.json +++ b/apps/files_sharing/l10n/ko.json @@ -19,6 +19,7 @@ "Remote share password" : "원격 공유 암호", "Cancel" : "취소", "Add remote share" : "원격 공유 추가", + "You can upload into this folder" : "이 폴더에 업로드할 수 있습니다", "No ownCloud installation (7 or higher) found at {remote}" : "{remote}에 ownCloud 7 이상이 설치되어 있지 않음", "Invalid ownCloud url" : "잘못된 ownCloud URL", "Share" : "공유", diff --git a/apps/files_sharing/l10n/uk.js b/apps/files_sharing/l10n/uk.js index 5561d011710..18a6dde9e3a 100644 --- a/apps/files_sharing/l10n/uk.js +++ b/apps/files_sharing/l10n/uk.js @@ -21,6 +21,7 @@ OC.L10N.register( "Remote share password" : "Пароль для віддаленої загальної теки", "Cancel" : "Відмінити", "Add remote share" : "Додати віддалену загальну теку", + "You can upload into this folder" : "Ви можете завантажити до цієї теки", "No ownCloud installation (7 or higher) found at {remote}" : "Немає установленого OwnCloud (7 або вище), можна знайти на {remote}", "Invalid ownCloud url" : "Невірний ownCloud URL", "Share" : "Поділитися", diff --git a/apps/files_sharing/l10n/uk.json b/apps/files_sharing/l10n/uk.json index 13f2ac4fc6a..de200a1fe8f 100644 --- a/apps/files_sharing/l10n/uk.json +++ b/apps/files_sharing/l10n/uk.json @@ -19,6 +19,7 @@ "Remote share password" : "Пароль для віддаленої загальної теки", "Cancel" : "Відмінити", "Add remote share" : "Додати віддалену загальну теку", + "You can upload into this folder" : "Ви можете завантажити до цієї теки", "No ownCloud installation (7 or higher) found at {remote}" : "Немає установленого OwnCloud (7 або вище), можна знайти на {remote}", "Invalid ownCloud url" : "Невірний ownCloud URL", "Share" : "Поділитися", diff --git a/apps/files_sharing/lib/sharedstorage.php b/apps/files_sharing/lib/sharedstorage.php index bc01465cb4a..10a37c7dae9 100644 --- a/apps/files_sharing/lib/sharedstorage.php +++ b/apps/files_sharing/lib/sharedstorage.php @@ -31,7 +31,6 @@ namespace OC\Files\Storage; use OC\Files\Cache\ChangePropagator; use OC\Files\Filesystem; -use OC\Files\View; use OCA\Files_Sharing\ISharedStorage; use OCA\Files_Sharing\Propagator; use OCA\Files_Sharing\SharedMount; @@ -218,7 +217,13 @@ class Shared extends \OC\Files\Storage\Common implements ISharedStorage { } public function isReadable($path) { - return $this->file_exists($path); + $isReadable = false; + if ($source = $this->getSourcePath($path)) { + list($storage, $internalPath) = \OC\Files\Filesystem::resolvePath($source); + $isReadable = $storage->isReadable($internalPath); + } + + return $isReadable && $this->file_exists($path); } public function isUpdatable($path) { @@ -327,30 +332,32 @@ class Shared extends \OC\Files\Storage\Common implements ISharedStorage { } } - // for part files we need to ask for the owner and path from the parent directory because - // the file cache doesn't return any results for part files - if ($isPartFile) { - list($user1, $path1) = \OCA\Files_Sharing\Helper::getUidAndFilename($pathinfo['dirname']); - $path1 = $path1 . '/' . $pathinfo['basename']; - } else { - list($user1, $path1) = \OCA\Files_Sharing\Helper::getUidAndFilename($relPath1); - } - $targetFilename = basename($relPath2); - list($user2, $path2) = \OCA\Files_Sharing\Helper::getUidAndFilename(dirname($relPath2)); - $rootView = new \OC\Files\View(''); - $rootView->getUpdater()->disable(); // dont update the cache here - $result = $rootView->rename('/' . $user1 . '/files/' . $path1, '/' . $user2 . '/files/' . $path2 . '/' . $targetFilename); - $rootView->getUpdater()->enable(); - return $result; + + /** + * @var \OC\Files\Storage\Storage $sourceStorage + */ + list($sourceStorage, $sourceInternalPath) = $this->resolvePath($path1); + /** + * @var \OC\Files\Storage\Storage $targetStorage + */ + list($targetStorage, $targetInternalPath) = $this->resolvePath($path2); + + return $targetStorage->moveFromStorage($sourceStorage, $sourceInternalPath, $targetInternalPath); } public function copy($path1, $path2) { // Copy the file if CREATE permission is granted if ($this->isCreatable(dirname($path2))) { - $oldSource = $this->getSourcePath($path1); - $newSource = $this->getSourcePath(dirname($path2)) . '/' . basename($path2); - $rootView = new \OC\Files\View(''); - return $rootView->copy($oldSource, $newSource); + /** + * @var \OC\Files\Storage\Storage $sourceStorage + */ + list($sourceStorage, $sourceInternalPath) = $this->resolvePath($path1); + /** + * @var \OC\Files\Storage\Storage $targetStorage + */ + list($targetStorage, $targetInternalPath) = $this->resolvePath($path2); + + return $targetStorage->copyFromStorage($sourceStorage, $sourceInternalPath, $targetInternalPath); } return false; } diff --git a/apps/files_sharing/lib/updater.php b/apps/files_sharing/lib/updater.php index 45cf662d148..88bb68aa36e 100644 --- a/apps/files_sharing/lib/updater.php +++ b/apps/files_sharing/lib/updater.php @@ -28,13 +28,15 @@ namespace OC\Files\Cache; class Shared_Updater { /** - * walk up the users file tree and update the etags - * @param string $user - * @param string $path + * Walk up the users file tree and update the etags. + * + * @param string $user user id + * @param string $path share mount point path, relative to the user's "files" folder */ static private function correctUsersFolder($user, $path) { // $path points to the mount point which is a virtual folder, so we start with // the parent + $path = '/' . ltrim($path, '/'); $path = '/files' . dirname($path); \OC\Files\Filesystem::initMountPoints($user); $view = new \OC\Files\View('/' . $user); @@ -101,10 +103,10 @@ class Shared_Updater { foreach ($deletedShares as $share) { if ($share['shareType'] === \OCP\Share::SHARE_TYPE_GROUP) { foreach (\OC_Group::usersInGroup($share['shareWith']) as $user) { - self::correctUsersFolder($user, dirname($share['fileTarget'])); + self::correctUsersFolder($user, $share['fileTarget']); } } else { - self::correctUsersFolder($share['shareWith'], dirname($share['fileTarget'])); + self::correctUsersFolder($share['shareWith'], $share['fileTarget']); } } } @@ -119,10 +121,10 @@ class Shared_Updater { foreach ($params['unsharedItems'] as $item) { if ($item['shareType'] === \OCP\Share::SHARE_TYPE_GROUP) { foreach (\OC_Group::usersInGroup($item['shareWith']) as $user) { - self::correctUsersFolder($user, dirname($item['fileTarget'])); + self::correctUsersFolder($user, $item['fileTarget']); } } else { - self::correctUsersFolder($item['shareWith'], dirname($item['fileTarget'])); + self::correctUsersFolder($item['shareWith'], $item['fileTarget']); } } } diff --git a/apps/files_sharing/publicwebdav.php b/apps/files_sharing/publicwebdav.php index 3be464c64f0..c2a16e933b3 100644 --- a/apps/files_sharing/publicwebdav.php +++ b/apps/files_sharing/publicwebdav.php @@ -48,7 +48,8 @@ $server->setBaseUri($baseuri); // Load plugins $defaults = new OC_Defaults(); $server->addPlugin(new \Sabre\DAV\Auth\Plugin($authBackend, $defaults->getName())); -$server->addPlugin(new \Sabre\DAV\Browser\Plugin(false)); // Show something in the Browser, but no upload +// FIXME: The following line is a workaround for legacy components relying on being able to send a GET to / +$server->addPlugin(new \OC\Connector\Sabre\DummyGetResponsePlugin()); $server->addPlugin(new \OC\Connector\Sabre\FilesPlugin($objectTree)); $server->addPlugin(new \OC\Connector\Sabre\MaintenancePlugin()); $server->addPlugin(new \OC\Connector\Sabre\ExceptionLoggerPlugin('webdav', \OC::$server->getLogger())); diff --git a/apps/files_sharing/tests/etagpropagation.php b/apps/files_sharing/tests/etagpropagation.php index 041ed34ce11..60b7c525e35 100644 --- a/apps/files_sharing/tests/etagpropagation.php +++ b/apps/files_sharing/tests/etagpropagation.php @@ -32,6 +32,11 @@ class EtagPropagation extends TestCase { protected $fileIds = []; // [$user=>[$path=>$id]] protected $fileEtags = []; // [$id=>$etag] + public static function setUpBeforeClass() { + parent::setUpBeforeClass(); + \OCA\Files_Sharing\Helper::registerHooks(); + } + protected function setUp() { parent::setUp(); $this->setUpShares(); @@ -239,6 +244,43 @@ class EtagPropagation extends TestCase { $this->assertAllUnchaged(); } + public function testOwnerUnshares() { + $this->loginAsUser(self::TEST_FILES_SHARING_API_USER1); + $folderInfo = $this->rootView->getFileInfo('/' . self::TEST_FILES_SHARING_API_USER1 . '/files/sub1/sub2/folder'); + $folderId = $folderInfo->getId(); + $this->assertTrue( + \OCP\Share::unshare( + 'folder', + $folderId, + \OCP\Share::SHARE_TYPE_USER, + self::TEST_FILES_SHARING_API_USER2 + ) + ); + $this->assertEtagsForFoldersChanged([ + // direct recipient affected + self::TEST_FILES_SHARING_API_USER2, + // reshare recipient affected + self::TEST_FILES_SHARING_API_USER4, + ]); + + $this->assertAllUnchaged(); + } + + public function testRecipientUnsharesFromSelf() { + $this->loginAsUser(self::TEST_FILES_SHARING_API_USER2); + $this->assertTrue( + $this->rootView->unlink('/' . self::TEST_FILES_SHARING_API_USER2 . '/files/sub1/sub2/folder') + ); + $this->assertEtagsForFoldersChanged([ + // direct recipient affected + self::TEST_FILES_SHARING_API_USER2, + // reshare recipient affected + self::TEST_FILES_SHARING_API_USER4, + ]); + + $this->assertAllUnchaged(); + } + public function testRecipientWritesToShare() { $this->loginAsUser(self::TEST_FILES_SHARING_API_USER2); Filesystem::file_put_contents('/sub1/sub2/folder/asd.txt', 'bar'); diff --git a/apps/files_sharing/tests/updater.php b/apps/files_sharing/tests/updater.php index 67c76c28ed2..294388bfe26 100644 --- a/apps/files_sharing/tests/updater.php +++ b/apps/files_sharing/tests/updater.php @@ -147,79 +147,6 @@ class Test_Files_Sharing_Updater extends OCA\Files_Sharing\Tests\TestCase { } /** - * if a file gets unshared by the owner the etag for the recipients root should change - */ - function testUnshareFile() { - - $this->loginHelper(self::TEST_FILES_SHARING_API_USER1); - $fileinfo = \OC\Files\Filesystem::getFileInfo($this->folder); - $result = \OCP\Share::shareItem('folder', $fileinfo->getId(), \OCP\Share::SHARE_TYPE_USER, self::TEST_FILES_SHARING_API_USER2, 31); - $this->assertTrue($result); - - $this->loginHelper(self::TEST_FILES_SHARING_API_USER2); - - $beforeUnshare = \OC\Files\Filesystem::getFileInfo(''); - $etagBeforeUnshare = $beforeUnshare->getEtag(); - - $this->loginHelper(self::TEST_FILES_SHARING_API_USER1); - $result = \OCP\Share::unshare('folder', $fileinfo->getId(), \OCP\Share::SHARE_TYPE_USER, self::TEST_FILES_SHARING_API_USER2); - $this->assertTrue($result); - - $this->loginHelper(self::TEST_FILES_SHARING_API_USER2); - - $afterUnshare = \OC\Files\Filesystem::getFileInfo(''); - $etagAfterUnshare = $afterUnshare->getEtag(); - - $this->assertTrue(is_string($etagBeforeUnshare)); - $this->assertTrue(is_string($etagAfterUnshare)); - $this->assertTrue($etagBeforeUnshare !== $etagAfterUnshare); - - } - - /** - * if a file gets unshared from self the etag for the recipients root should change - */ - function testUnshareFromSelfFile() { - $this->loginHelper(self::TEST_FILES_SHARING_API_USER1); - $fileinfo = \OC\Files\Filesystem::getFileInfo($this->folder); - $result = \OCP\Share::shareItem('folder', $fileinfo->getId(), \OCP\Share::SHARE_TYPE_USER, self::TEST_FILES_SHARING_API_USER2, 31); - $this->assertTrue($result); - - $this->loginHelper(self::TEST_FILES_SHARING_API_USER2); - - $result = \OCP\Share::shareItem('folder', $fileinfo->getId(), \OCP\Share::SHARE_TYPE_USER, self::TEST_FILES_SHARING_API_USER3, 31); - - $beforeUnshareUser2 = \OC\Files\Filesystem::getFileInfo(''); - $etagBeforeUnshareUser2 = $beforeUnshareUser2->getEtag(); - - $this->loginHelper(self::TEST_FILES_SHARING_API_USER3); - - $beforeUnshareUser3 = \OC\Files\Filesystem::getFileInfo(''); - $etagBeforeUnshareUser3 = $beforeUnshareUser3->getEtag(); - - $this->loginHelper(self::TEST_FILES_SHARING_API_USER2); - - $result = \OC\Files\Filesystem::unlink($this->folder); - $this->assertTrue($result); - - $afterUnshareUser2 = \OC\Files\Filesystem::getFileInfo(''); - $etagAfterUnshareUser2 = $afterUnshareUser2->getEtag(); - - $this->loginHelper(self::TEST_FILES_SHARING_API_USER3); - - $afterUnshareUser3 = \OC\Files\Filesystem::getFileInfo(''); - $etagAfterUnshareUser3 = $afterUnshareUser3->getEtag(); - - $this->assertTrue(is_string($etagBeforeUnshareUser2)); - $this->assertTrue(is_string($etagBeforeUnshareUser3)); - $this->assertTrue(is_string($etagAfterUnshareUser2)); - $this->assertTrue(is_string($etagAfterUnshareUser3)); - $this->assertTrue($etagBeforeUnshareUser2 !== $etagAfterUnshareUser2); - $this->assertTrue($etagBeforeUnshareUser3 !== $etagAfterUnshareUser3); - - } - - /** * if a folder gets renamed all children mount points should be renamed too */ function testRename() { diff --git a/apps/files_trashbin/l10n/is.js b/apps/files_trashbin/l10n/is.js index 916875decea..de8522ed671 100644 --- a/apps/files_trashbin/l10n/is.js +++ b/apps/files_trashbin/l10n/is.js @@ -5,4 +5,4 @@ OC.L10N.register( "Name" : "Nafn", "Delete" : "Eyða" }, -"nplurals=2; plural=(n != 1);"); +"nplurals=2; plural=(n % 10 == 1 || n % 100 != 11);"); diff --git a/apps/files_trashbin/l10n/is.json b/apps/files_trashbin/l10n/is.json index 35e1620df95..5ce58fc128b 100644 --- a/apps/files_trashbin/l10n/is.json +++ b/apps/files_trashbin/l10n/is.json @@ -2,5 +2,5 @@ "Error" : "Villa", "Name" : "Nafn", "Delete" : "Eyða" -},"pluralForm" :"nplurals=2; plural=(n != 1);" +},"pluralForm" :"nplurals=2; plural=(n % 10 == 1 || n % 100 != 11);" }
\ No newline at end of file diff --git a/apps/files_trashbin/l10n/ru.js b/apps/files_trashbin/l10n/ru.js index 47b971180c3..b51486b6eb0 100644 --- a/apps/files_trashbin/l10n/ru.js +++ b/apps/files_trashbin/l10n/ru.js @@ -16,4 +16,4 @@ OC.L10N.register( "Deleted" : "Удалён", "Delete" : "Удалить" }, -"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);"); +"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/files_trashbin/l10n/ru.json b/apps/files_trashbin/l10n/ru.json index 3d38b545ad7..9fecb3a9641 100644 --- a/apps/files_trashbin/l10n/ru.json +++ b/apps/files_trashbin/l10n/ru.json @@ -13,5 +13,5 @@ "Name" : "Имя", "Deleted" : "Удалён", "Delete" : "Удалить" -},"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);" +},"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/files_trashbin/lib/storage.php b/apps/files_trashbin/lib/storage.php index 418d7d2f1fd..006971fb242 100644 --- a/apps/files_trashbin/lib/storage.php +++ b/apps/files_trashbin/lib/storage.php @@ -81,14 +81,39 @@ class Storage extends Wrapper { /** * Deletes the given file by moving it into the trashbin. * - * @param string $path + * @param string $path path of file or folder to delete + * + * @return bool true if the operation succeeded, false otherwise */ public function unlink($path) { + return $this->doDelete($path, 'unlink'); + } + + /** + * Deletes the given folder by moving it into the trashbin. + * + * @param string $path path of folder to delete + * + * @return bool true if the operation succeeded, false otherwise + */ + public function rmdir($path) { + return $this->doDelete($path, 'rmdir'); + } + + /** + * Run the delete operation with the given method + * + * @param string $path path of file or folder to delete + * @param string $method either "unlink" or "rmdir" + * + * @return bool true if the operation succeeded, false otherwise + */ + private function doDelete($path, $method) { if (self::$disableTrash || !\OC_App::isEnabled('files_trashbin') || (pathinfo($path, PATHINFO_EXTENSION) === 'part') ) { - return $this->storage->unlink($path); + return call_user_func_array([$this->storage, $method], [$path]); } $normalized = Filesystem::normalizePath($this->mountPoint . '/' . $path); $result = true; @@ -101,14 +126,14 @@ class Storage extends Wrapper { // in cross-storage cases the file will be copied // but not deleted, so we delete it here if ($result) { - $this->storage->unlink($path); + call_user_func_array([$this->storage, $method], [$path]); } } else { - $result = $this->storage->unlink($path); + $result = call_user_func_array([$this->storage, $method], [$path]); } unset($this->deletedFiles[$normalized]); } else if ($this->storage->file_exists($path)) { - $result = $this->storage->unlink($path); + $result = call_user_func_array([$this->storage, $method], [$path]); } return $result; diff --git a/apps/files_trashbin/lib/trashbin.php b/apps/files_trashbin/lib/trashbin.php index 1c880735b5a..31d77c01c91 100644 --- a/apps/files_trashbin/lib/trashbin.php +++ b/apps/files_trashbin/lib/trashbin.php @@ -277,16 +277,16 @@ class Trashbin { } /** - * restore files from trash bin + * Restore a file or folder from trash bin * - * @param string $file path to the deleted file - * @param string $filename name of the file - * @param int $timestamp time when the file was deleted + * @param string $file path to the deleted file/folder relative to "files_trashbin/files/", + * including the timestamp suffix ".d12345678" + * @param string $filename name of the file/folder + * @param int $timestamp time when the file/folder was deleted * - * @return bool + * @return bool true on success, false otherwise */ public static function restore($file, $filename, $timestamp) { - $user = \OCP\User::getUser(); $view = new \OC\Files\View('/' . $user); @@ -311,6 +311,9 @@ class Trashbin { $source = \OC\Files\Filesystem::normalizePath('files_trashbin/files/' . $file); $target = \OC\Files\Filesystem::normalizePath('files/' . $location . '/' . $uniqueFilename); + if (!$view->file_exists($source)) { + return false; + } $mtime = $view->filemtime($source); // restore file @@ -762,6 +765,8 @@ class Trashbin { $name = pathinfo($filename, PATHINFO_FILENAME); $l = \OC::$server->getL10N('files_trashbin'); + $location = '/' . trim($location, '/'); + // if extension is not empty we set a dot in front of it if ($ext !== '') { $ext = '.' . $ext; diff --git a/apps/files_trashbin/tests/storage.php b/apps/files_trashbin/tests/storage.php index d1468522dc2..7415aba09e9 100644 --- a/apps/files_trashbin/tests/storage.php +++ b/apps/files_trashbin/tests/storage.php @@ -62,6 +62,8 @@ class Storage extends \Test\TestCase { $this->userView = new \OC\Files\View('/' . $this->user . '/files/'); $this->userView->file_put_contents('test.txt', 'foo'); + $this->userView->mkdir('folder'); + $this->userView->file_put_contents('folder/inside.txt', 'bar'); } protected function tearDown() { @@ -75,7 +77,7 @@ class Storage extends \Test\TestCase { /** * Test that deleting a file puts it into the trashbin. */ - public function testSingleStorageDelete() { + public function testSingleStorageDeleteFile() { $this->assertTrue($this->userView->file_exists('test.txt')); $this->userView->unlink('test.txt'); list($storage,) = $this->userView->resolvePath('test.txt'); @@ -90,12 +92,34 @@ class Storage extends \Test\TestCase { } /** + * Test that deleting a folder puts it into the trashbin. + */ + public function testSingleStorageDeleteFolder() { + $this->assertTrue($this->userView->file_exists('folder/inside.txt')); + $this->userView->rmdir('folder'); + list($storage,) = $this->userView->resolvePath('folder/inside.txt'); + $storage->getScanner()->scan(''); // make sure we check the storage + $this->assertFalse($this->userView->getFileInfo('folder')); + + // check if folder is in trashbin + $results = $this->rootView->getDirectoryContent($this->user . '/files_trashbin/files/'); + $this->assertEquals(1, count($results)); + $name = $results[0]->getName(); + $this->assertEquals('folder', substr($name, 0, strrpos($name, '.'))); + + $results = $this->rootView->getDirectoryContent($this->user . '/files_trashbin/files/' . $name . '/'); + $this->assertEquals(1, count($results)); + $name = $results[0]->getName(); + $this->assertEquals('inside.txt', $name); + } + + /** * Test that deleting a file from another mounted storage properly * lands in the trashbin. This is a cross-storage situation because * the trashbin folder is in the root storage while the mounted one * isn't. */ - public function testCrossStorageDelete() { + public function testCrossStorageDeleteFile() { $storage2 = new Temporary(array()); \OC\Files\Filesystem::mount($storage2, array(), $this->user . '/files/substorage'); @@ -116,9 +140,41 @@ class Storage extends \Test\TestCase { } /** + * Test that deleting a folder from another mounted storage properly + * lands in the trashbin. This is a cross-storage situation because + * the trashbin folder is in the root storage while the mounted one + * isn't. + */ + public function testCrossStorageDeleteFolder() { + $storage2 = new Temporary(array()); + \OC\Files\Filesystem::mount($storage2, array(), $this->user . '/files/substorage'); + + $this->userView->mkdir('substorage/folder'); + $this->userView->file_put_contents('substorage/folder/subfile.txt', 'bar'); + $storage2->getScanner()->scan(''); + $this->assertTrue($storage2->file_exists('folder/subfile.txt')); + $this->userView->rmdir('substorage/folder'); + + $storage2->getScanner()->scan(''); + $this->assertFalse($this->userView->getFileInfo('substorage/folder')); + $this->assertFalse($storage2->file_exists('folder/subfile.txt')); + + // check if folder is in trashbin + $results = $this->rootView->getDirectoryContent($this->user . '/files_trashbin/files'); + $this->assertEquals(1, count($results)); + $name = $results[0]->getName(); + $this->assertEquals('folder', substr($name, 0, strrpos($name, '.'))); + + $results = $this->rootView->getDirectoryContent($this->user . '/files_trashbin/files/' . $name . '/'); + $this->assertEquals(1, count($results)); + $name = $results[0]->getName(); + $this->assertEquals('subfile.txt', $name); + } + + /** * Test that deleted versions properly land in the trashbin. */ - public function testDeleteVersions() { + public function testDeleteVersionsOfFile() { \OCA\Files_Versions\Hooks::connectHooks(); // trigger a version (multiple would not work because of the expire logic) @@ -137,7 +193,38 @@ class Storage extends \Test\TestCase { $results = $this->rootView->getDirectoryContent($this->user . '/files_trashbin/versions'); $this->assertEquals(1, count($results)); $name = $results[0]->getName(); - $this->assertEquals('test.txt', substr($name, 0, strlen('test.txt'))); + $this->assertEquals('test.txt.v', substr($name, 0, strlen('test.txt.v'))); + } + + /** + * Test that deleted versions properly land in the trashbin. + */ + public function testDeleteVersionsOfFolder() { + \OCA\Files_Versions\Hooks::connectHooks(); + + // trigger a version (multiple would not work because of the expire logic) + $this->userView->file_put_contents('folder/inside.txt', 'v1'); + + $results = $this->rootView->getDirectoryContent($this->user . '/files_versions/folder/'); + $this->assertEquals(1, count($results)); + + $this->userView->rmdir('folder'); + + // rescan trash storage + list($rootStorage,) = $this->rootView->resolvePath($this->user . '/files_trashbin'); + $rootStorage->getScanner()->scan(''); + + // check if versions are in trashbin + $results = $this->rootView->getDirectoryContent($this->user . '/files_trashbin/versions'); + $this->assertEquals(1, count($results)); + $name = $results[0]->getName(); + $this->assertEquals('folder.d', substr($name, 0, strlen('folder.d'))); + + // check if versions are in trashbin + $results = $this->rootView->getDirectoryContent($this->user . '/files_trashbin/versions/' . $name . '/'); + $this->assertEquals(1, count($results)); + $name = $results[0]->getName(); + $this->assertEquals('inside.txt.v', substr($name, 0, strlen('inside.txt.v'))); } /** @@ -145,7 +232,7 @@ class Storage extends \Test\TestCase { * storages. This is because rename() between storages would call * unlink() which should NOT trigger the version deletion logic. */ - public function testKeepFileAndVersionsWhenMovingBetweenStorages() { + public function testKeepFileAndVersionsWhenMovingFileBetweenStorages() { \OCA\Files_Versions\Hooks::connectHooks(); $storage2 = new Temporary(array()); @@ -162,7 +249,7 @@ class Storage extends \Test\TestCase { // move to another storage $this->userView->rename('test.txt', 'substorage/test.txt'); - $this->userView->file_exists('substorage/test.txt'); + $this->assertTrue($this->userView->file_exists('substorage/test.txt')); // rescan trash storage list($rootStorage,) = $this->rootView->resolvePath($this->user . '/files_trashbin'); @@ -182,9 +269,50 @@ class Storage extends \Test\TestCase { } /** + * Test that versions are not auto-trashed when moving a file between + * storages. This is because rename() between storages would call + * unlink() which should NOT trigger the version deletion logic. + */ + public function testKeepFileAndVersionsWhenMovingFolderBetweenStorages() { + \OCA\Files_Versions\Hooks::connectHooks(); + + $storage2 = new Temporary(array()); + \OC\Files\Filesystem::mount($storage2, array(), $this->user . '/files/substorage'); + + // trigger a version (multiple would not work because of the expire logic) + $this->userView->file_put_contents('folder/inside.txt', 'v1'); + + $results = $this->rootView->getDirectoryContent($this->user . '/files_trashbin/files'); + $this->assertEquals(0, count($results)); + + $results = $this->rootView->getDirectoryContent($this->user . '/files_versions/folder/'); + $this->assertEquals(1, count($results)); + + // move to another storage + $this->userView->rename('folder', 'substorage/folder'); + $this->assertTrue($this->userView->file_exists('substorage/folder/inside.txt')); + + // rescan trash storage + list($rootStorage,) = $this->rootView->resolvePath($this->user . '/files_trashbin'); + $rootStorage->getScanner()->scan(''); + + // versions were moved too + $results = $this->rootView->getDirectoryContent($this->user . '/files_versions/substorage/folder/'); + $this->assertEquals(1, count($results)); + + // check that nothing got trashed by the rename's unlink() call + $results = $this->rootView->getDirectoryContent($this->user . '/files_trashbin/files'); + $this->assertEquals(0, count($results)); + + // check that versions were moved and not trashed + $results = $this->rootView->getDirectoryContent($this->user . '/files_trashbin/versions/'); + $this->assertEquals(0, count($results)); + } + + /** * Delete should fail is the source file cant be deleted */ - public function testSingleStorageDeleteFail() { + public function testSingleStorageDeleteFileFail() { /** * @var \OC\Files\Storage\Temporary | \PHPUnit_Framework_MockObject_MockObject $storage */ @@ -194,9 +322,6 @@ class Storage extends \Test\TestCase { ->getMock(); $storage->expects($this->any()) - ->method('rename') - ->will($this->returnValue(false)); - $storage->expects($this->any()) ->method('unlink') ->will($this->returnValue(false)); @@ -214,4 +339,38 @@ class Storage extends \Test\TestCase { $results = $this->rootView->getDirectoryContent($this->user . '/files_trashbin/files/'); $this->assertEquals(0, count($results)); } + + /** + * Delete should fail is the source folder cant be deleted + */ + public function testSingleStorageDeleteFolderFail() { + /** + * @var \OC\Files\Storage\Temporary | \PHPUnit_Framework_MockObject_MockObject $storage + */ + $storage = $this->getMockBuilder('\OC\Files\Storage\Temporary') + ->setConstructorArgs([[]]) + ->setMethods(['rename', 'unlink', 'rmdir']) + ->getMock(); + + $storage->expects($this->any()) + ->method('rmdir') + ->will($this->returnValue(false)); + + $cache = $storage->getCache(); + + Filesystem::mount($storage, [], '/' . $this->user); + $storage->mkdir('files'); + $this->userView->mkdir('folder'); + $this->userView->file_put_contents('folder/test.txt', 'foo'); + $this->assertTrue($storage->file_exists('files/folder/test.txt')); + $this->assertFalse($this->userView->rmdir('files/folder')); + $this->assertTrue($storage->file_exists('files/folder')); + $this->assertTrue($storage->file_exists('files/folder/test.txt')); + $this->assertTrue($cache->inCache('files/folder')); + $this->assertTrue($cache->inCache('files/folder/test.txt')); + + // file should not be in the trashbin + $results = $this->rootView->getDirectoryContent($this->user . '/files_trashbin/files/'); + $this->assertEquals(0, count($results)); + } } diff --git a/apps/files_trashbin/tests/trashbin.php b/apps/files_trashbin/tests/trashbin.php index a2e1a9addf6..85c47b527b7 100644 --- a/apps/files_trashbin/tests/trashbin.php +++ b/apps/files_trashbin/tests/trashbin.php @@ -40,6 +40,11 @@ class Test_Trashbin extends \Test\TestCase { private static $rememberAutoExpire; /** + * @var bool + */ + private static $trashBinStatus; + + /** * @var \OC\Files\View */ private $rootView; @@ -47,6 +52,9 @@ class Test_Trashbin extends \Test\TestCase { public static function setUpBeforeClass() { parent::setUpBeforeClass(); + $appManager = \OC::$server->getAppManager(); + self::$trashBinStatus = $appManager->isEnabledForUser('files_trashbin'); + // reset backend \OC_User::clearBackends(); \OC_User::useBackend('database'); @@ -89,12 +97,18 @@ class Test_Trashbin extends \Test\TestCase { \OC\Files\Filesystem::getLoader()->removeStorageWrapper('oc_trashbin'); + if (self::$trashBinStatus) { + \OC::$server->getAppManager()->enableApp('files_trashbin'); + } + parent::tearDownAfterClass(); } protected function setUp() { parent::setUp(); + \OC::$server->getAppManager()->enableApp('files_trashbin'); + $this->trashRoot1 = '/' . self::TEST_TRASHBIN_USER1 . '/files_trashbin'; $this->trashRoot2 = '/' . self::TEST_TRASHBIN_USER2 . '/files_trashbin'; $this->rootView = new \OC\Files\View(); @@ -102,9 +116,18 @@ class Test_Trashbin extends \Test\TestCase { } protected function tearDown() { + // disable trashbin to be able to properly clean up + \OC::$server->getAppManager()->disableApp('files_trashbin'); + + $this->rootView->deleteAll('/' . self::TEST_TRASHBIN_USER1 . '/files'); + $this->rootView->deleteAll('/' . self::TEST_TRASHBIN_USER2 . '/files'); $this->rootView->deleteAll($this->trashRoot1); $this->rootView->deleteAll($this->trashRoot2); + // clear trash table + $connection = \OC::$server->getDatabaseConnection(); + $connection->executeUpdate('DELETE FROM `*PREFIX*files_trash`'); + parent::tearDown(); } @@ -295,6 +318,310 @@ class Test_Trashbin extends \Test\TestCase { } /** + * Test restoring a file + */ + public function testRestoreFileInRoot() { + $userFolder = \OC::$server->getUserFolder(); + $file = $userFolder->newFile('file1.txt'); + $file->putContent('foo'); + + $this->assertTrue($userFolder->nodeExists('file1.txt')); + + $file->delete(); + + $this->assertFalse($userFolder->nodeExists('file1.txt')); + + $filesInTrash = OCA\Files_Trashbin\Helper::getTrashFiles('/', self::TEST_TRASHBIN_USER1, 'mtime'); + $this->assertCount(1, $filesInTrash); + + /** @var \OCP\Files\FileInfo */ + $trashedFile = $filesInTrash[0]; + + $this->assertTrue( + OCA\Files_Trashbin\Trashbin::restore( + 'file1.txt.d' . $trashedFile->getMtime(), + $trashedFile->getName(), + $trashedFile->getMtime() + ) + ); + + $file = $userFolder->get('file1.txt'); + $this->assertEquals('foo', $file->getContent()); + } + + /** + * Test restoring a file in subfolder + */ + public function testRestoreFileInSubfolder() { + $userFolder = \OC::$server->getUserFolder(); + $folder = $userFolder->newFolder('folder'); + $file = $folder->newFile('file1.txt'); + $file->putContent('foo'); + + $this->assertTrue($userFolder->nodeExists('folder/file1.txt')); + + $file->delete(); + + $this->assertFalse($userFolder->nodeExists('folder/file1.txt')); + + $filesInTrash = OCA\Files_Trashbin\Helper::getTrashFiles('/', self::TEST_TRASHBIN_USER1, 'mtime'); + $this->assertCount(1, $filesInTrash); + + /** @var \OCP\Files\FileInfo */ + $trashedFile = $filesInTrash[0]; + + $this->assertTrue( + OCA\Files_Trashbin\Trashbin::restore( + 'file1.txt.d' . $trashedFile->getMtime(), + $trashedFile->getName(), + $trashedFile->getMtime() + ) + ); + + $file = $userFolder->get('folder/file1.txt'); + $this->assertEquals('foo', $file->getContent()); + } + + /** + * Test restoring a folder + */ + public function testRestoreFolder() { + $userFolder = \OC::$server->getUserFolder(); + $folder = $userFolder->newFolder('folder'); + $file = $folder->newFile('file1.txt'); + $file->putContent('foo'); + + $this->assertTrue($userFolder->nodeExists('folder')); + + $folder->delete(); + + $this->assertFalse($userFolder->nodeExists('folder')); + + $filesInTrash = OCA\Files_Trashbin\Helper::getTrashFiles('/', self::TEST_TRASHBIN_USER1, 'mtime'); + $this->assertCount(1, $filesInTrash); + + /** @var \OCP\Files\FileInfo */ + $trashedFolder = $filesInTrash[0]; + + $this->assertTrue( + OCA\Files_Trashbin\Trashbin::restore( + 'folder.d' . $trashedFolder->getMtime(), + $trashedFolder->getName(), + $trashedFolder->getMtime() + ) + ); + + $file = $userFolder->get('folder/file1.txt'); + $this->assertEquals('foo', $file->getContent()); + } + + /** + * Test restoring a file from inside a trashed folder + */ + public function testRestoreFileFromTrashedSubfolder() { + $userFolder = \OC::$server->getUserFolder(); + $folder = $userFolder->newFolder('folder'); + $file = $folder->newFile('file1.txt'); + $file->putContent('foo'); + + $this->assertTrue($userFolder->nodeExists('folder')); + + $folder->delete(); + + $this->assertFalse($userFolder->nodeExists('folder')); + + $filesInTrash = OCA\Files_Trashbin\Helper::getTrashFiles('/', self::TEST_TRASHBIN_USER1, 'mtime'); + $this->assertCount(1, $filesInTrash); + + /** @var \OCP\Files\FileInfo */ + $trashedFile = $filesInTrash[0]; + + $this->assertTrue( + OCA\Files_Trashbin\Trashbin::restore( + 'folder.d' . $trashedFile->getMtime() . '/file1.txt', + 'file1.txt', + $trashedFile->getMtime() + ) + ); + + $file = $userFolder->get('file1.txt'); + $this->assertEquals('foo', $file->getContent()); + } + + /** + * Test restoring a file whenever the source folder was removed. + * The file should then land in the root. + */ + public function testRestoreFileWithMissingSourceFolder() { + $userFolder = \OC::$server->getUserFolder(); + $folder = $userFolder->newFolder('folder'); + $file = $folder->newFile('file1.txt'); + $file->putContent('foo'); + + $this->assertTrue($userFolder->nodeExists('folder/file1.txt')); + + $file->delete(); + + $this->assertFalse($userFolder->nodeExists('folder/file1.txt')); + + $filesInTrash = OCA\Files_Trashbin\Helper::getTrashFiles('/', self::TEST_TRASHBIN_USER1, 'mtime'); + $this->assertCount(1, $filesInTrash); + + /** @var \OCP\Files\FileInfo */ + $trashedFile = $filesInTrash[0]; + + // delete source folder + $folder->delete(); + + $this->assertTrue( + OCA\Files_Trashbin\Trashbin::restore( + 'file1.txt.d' . $trashedFile->getMtime(), + $trashedFile->getName(), + $trashedFile->getMtime() + ) + ); + + $file = $userFolder->get('file1.txt'); + $this->assertEquals('foo', $file->getContent()); + } + + /** + * Test restoring a file in the root folder whenever there is another file + * with the same name in the root folder + */ + public function testRestoreFileDoesNotOverwriteExistingInRoot() { + $userFolder = \OC::$server->getUserFolder(); + $file = $userFolder->newFile('file1.txt'); + $file->putContent('foo'); + + $this->assertTrue($userFolder->nodeExists('file1.txt')); + + $file->delete(); + + $this->assertFalse($userFolder->nodeExists('file1.txt')); + + $filesInTrash = OCA\Files_Trashbin\Helper::getTrashFiles('/', self::TEST_TRASHBIN_USER1, 'mtime'); + $this->assertCount(1, $filesInTrash); + + /** @var \OCP\Files\FileInfo */ + $trashedFile = $filesInTrash[0]; + + // create another file + $file = $userFolder->newFile('file1.txt'); + $file->putContent('bar'); + + $this->assertTrue( + OCA\Files_Trashbin\Trashbin::restore( + 'file1.txt.d' . $trashedFile->getMtime(), + $trashedFile->getName(), + $trashedFile->getMtime() + ) + ); + + $anotherFile = $userFolder->get('file1.txt'); + $this->assertEquals('bar', $anotherFile->getContent()); + + $restoredFile = $userFolder->get('file1 (restored).txt'); + $this->assertEquals('foo', $restoredFile->getContent()); + } + + /** + * Test restoring a file whenever there is another file + * with the same name in the source folder + */ + public function testRestoreFileDoesNotOverwriteExistingInSubfolder() { + $userFolder = \OC::$server->getUserFolder(); + $folder = $userFolder->newFolder('folder'); + $file = $folder->newFile('file1.txt'); + $file->putContent('foo'); + + $this->assertTrue($userFolder->nodeExists('folder/file1.txt')); + + $file->delete(); + + $this->assertFalse($userFolder->nodeExists('folder/file1.txt')); + + $filesInTrash = OCA\Files_Trashbin\Helper::getTrashFiles('/', self::TEST_TRASHBIN_USER1, 'mtime'); + $this->assertCount(1, $filesInTrash); + + /** @var \OCP\Files\FileInfo */ + $trashedFile = $filesInTrash[0]; + + // create another file + $file = $folder->newFile('file1.txt'); + $file->putContent('bar'); + + $this->assertTrue( + OCA\Files_Trashbin\Trashbin::restore( + 'file1.txt.d' . $trashedFile->getMtime(), + $trashedFile->getName(), + $trashedFile->getMtime() + ) + ); + + $anotherFile = $userFolder->get('folder/file1.txt'); + $this->assertEquals('bar', $anotherFile->getContent()); + + $restoredFile = $userFolder->get('folder/file1 (restored).txt'); + $this->assertEquals('foo', $restoredFile->getContent()); + } + + /** + * Test restoring a non-existing file from trashbin, returns false + */ + public function testRestoreUnexistingFile() { + $this->assertFalse( + OCA\Files_Trashbin\Trashbin::restore( + 'unexist.txt.d123456', + 'unexist.txt', + '123456' + ) + ); + } + + /** + * Test restoring a file into a read-only folder, will restore + * the file to root instead + */ + public function testRestoreFileIntoReadOnlySourceFolder() { + $userFolder = \OC::$server->getUserFolder(); + $folder = $userFolder->newFolder('folder'); + $file = $folder->newFile('file1.txt'); + $file->putContent('foo'); + + $this->assertTrue($userFolder->nodeExists('folder/file1.txt')); + + $file->delete(); + + $this->assertFalse($userFolder->nodeExists('folder/file1.txt')); + + $filesInTrash = OCA\Files_Trashbin\Helper::getTrashFiles('/', self::TEST_TRASHBIN_USER1, 'mtime'); + $this->assertCount(1, $filesInTrash); + + /** @var \OCP\Files\FileInfo */ + $trashedFile = $filesInTrash[0]; + + // delete source folder + list($storage, $internalPath) = $this->rootView->resolvePath('/' . self::TEST_TRASHBIN_USER1 . '/files/folder'); + $folderAbsPath = $storage->getSourcePath($internalPath); + // make folder read-only + chmod($folderAbsPath, 0555); + + $this->assertTrue( + OCA\Files_Trashbin\Trashbin::restore( + 'file1.txt.d' . $trashedFile->getMtime(), + $trashedFile->getName(), + $trashedFile->getMtime() + ) + ); + + $file = $userFolder->get('file1.txt'); + $this->assertEquals('foo', $file->getContent()); + + chmod($folderAbsPath, 0755); + } + + /** * @param string $user * @param bool $create * @param bool $password diff --git a/apps/files_versions/l10n/mk.js b/apps/files_versions/l10n/mk.js index a730ea89404..fa295501320 100644 --- a/apps/files_versions/l10n/mk.js +++ b/apps/files_versions/l10n/mk.js @@ -2,7 +2,7 @@ OC.L10N.register( "files_versions", { "Could not revert: %s" : "Не можев да го вратам: %s", - "Versions" : "Версии", + "Versions" : "Верзии", "Failed to revert {file} to revision {timestamp}." : "Не успеав да го вратам {file} на ревизијата {timestamp}.", "More versions..." : "Повеќе верзии...", "No other versions available" : "Не постојат други верзии", diff --git a/apps/files_versions/l10n/mk.json b/apps/files_versions/l10n/mk.json index 7e57aa91b55..cdef37ecde3 100644 --- a/apps/files_versions/l10n/mk.json +++ b/apps/files_versions/l10n/mk.json @@ -1,6 +1,6 @@ { "translations": { "Could not revert: %s" : "Не можев да го вратам: %s", - "Versions" : "Версии", + "Versions" : "Верзии", "Failed to revert {file} to revision {timestamp}." : "Не успеав да го вратам {file} на ревизијата {timestamp}.", "More versions..." : "Повеќе верзии...", "No other versions available" : "Не постојат други верзии", diff --git a/apps/files_versions/lib/storage.php b/apps/files_versions/lib/storage.php index 4a5b47d2c2b..98e486690b6 100644 --- a/apps/files_versions/lib/storage.php +++ b/apps/files_versions/lib/storage.php @@ -158,7 +158,7 @@ class Storage { // 1.5 times as large as the current version -> 2.5 $neededSpace = $files_view->filesize($filename) * 2.5; - self::scheduleExpire($filename, $versionsSize, $neededSpace); + self::scheduleExpire($uid, $filename, $versionsSize, $neededSpace); // store a new version of a file $mtime = $users_view->filemtime('files/' . $filename); @@ -223,40 +223,60 @@ class Storage { } /** - * rename or copy versions of a file - * @param string $old_path - * @param string $new_path + * Rename or copy versions of a file of the given paths + * + * @param string $sourcePath source path of the file to move, relative to + * the currently logged in user's "files" folder + * @param string $targetPath target path of the file to move, relative to + * the currently logged in user's "files" folder * @param string $operation can be 'copy' or 'rename' */ - public static function renameOrCopy($old_path, $new_path, $operation) { - list($uid, $oldpath) = self::getSourcePathAndUser($old_path); + public static function renameOrCopy($sourcePath, $targetPath, $operation) { + list($sourceOwner, $sourcePath) = self::getSourcePathAndUser($sourcePath); // it was a upload of a existing file if no old path exists // in this case the pre-hook already called the store method and we can // stop here - if ($oldpath === false) { + if ($sourcePath === false) { return true; } - list($uidn, $newpath) = self::getUidAndFilename($new_path); - $versions_view = new \OC\Files\View('/'.$uid .'/files_versions'); - $files_view = new \OC\Files\View('/'.$uid .'/files'); + list($targetOwner, $targetPath) = self::getUidAndFilename($targetPath); + + $sourcePath = ltrim($sourcePath, '/'); + $targetPath = ltrim($targetPath, '/'); + $rootView = new \OC\Files\View(''); + // did we move a directory ? + if ($rootView->is_dir('/' . $targetOwner . '/files/' . $targetPath)) { + // does the directory exists for versions too ? + if ($rootView->is_dir('/' . $sourceOwner . '/files_versions/' . $sourcePath)) { + // create missing dirs if necessary + self::createMissingDirectories($targetPath, new \OC\Files\View('/'. $targetOwner)); - if ( $files_view->is_dir($oldpath) && $versions_view->is_dir($oldpath) ) { - $versions_view->$operation($oldpath, $newpath); - } else if ( ($versions = Storage::getVersions($uid, $oldpath)) ) { + // move the directory containing the versions + $rootView->$operation( + '/' . $sourceOwner . '/files_versions/' . $sourcePath, + '/' . $targetOwner . '/files_versions/' . $targetPath + ); + } + } else if ($versions = Storage::getVersions($sourceOwner, '/' . $sourcePath)) { // create missing dirs if necessary - self::createMissingDirectories($newpath, new \OC\Files\View('/'. $uidn)); + self::createMissingDirectories($targetPath, new \OC\Files\View('/'. $targetOwner)); foreach ($versions as $v) { - $versions_view->$operation($oldpath.'.v'.$v['version'], $newpath.'.v'.$v['version']); + // move each version one by one to the target directory + $rootView->$operation( + '/' . $sourceOwner . '/files_versions/' . $sourcePath.'.v' . $v['version'], + '/' . $targetOwner . '/files_versions/' . $targetPath.'.v'.$v['version'] + ); } } - if (!$files_view->is_dir($newpath)) { - self::scheduleExpire($newpath); + // if we moved versions directly for a file, schedule expiration check for that file + if (!$rootView->is_dir('/' . $targetOwner . '/files/' . $targetPath)) { + self::scheduleExpire($targetOwner, $targetPath); } } @@ -289,7 +309,7 @@ class Storage { // rollback if (self::copyFileContents($users_view, 'files_versions' . $filename . '.v' . $revision, 'files' . $filename)) { $files_view->touch($file, $revision); - Storage::scheduleExpire($file); + Storage::scheduleExpire($uid, $file); return true; } else if ($versionCreated) { self::deleteVersion($users_view, $version); @@ -326,6 +346,9 @@ class Storage { */ public static function getVersions($uid, $filename, $userFullPath = '') { $versions = array(); + if ($filename === '') { + return $versions; + } // fetch for old versions $view = new \OC\Files\View('/' . $uid . '/'); @@ -509,12 +532,15 @@ class Storage { } /** - * @param string $fileName - * @param int|null $versionsSize - * @param int $neededSpace + * Schedule versions expiration for the given file + * + * @param string $uid owner of the file + * @param string $fileName file/folder for which to schedule expiration + * @param int|null $versionsSize current versions size + * @param int $neededSpace requested versions size */ - private static function scheduleExpire($fileName, $versionsSize = null, $neededSpace = 0) { - $command = new Expire(\OC::$server->getUserSession()->getUser()->getUID(), $fileName, $versionsSize, $neededSpace); + private static function scheduleExpire($uid, $fileName, $versionsSize = null, $neededSpace = 0) { + $command = new Expire($uid, $fileName, $versionsSize, $neededSpace); \OC::$server->getCommandBus()->push($command); } @@ -622,8 +648,11 @@ class Storage { } /** - * create recursively missing directories - * @param string $filename $path to a file + * Create recursively missing directories inside of files_versions + * that match the given path to a file. + * + * @param string $filename $path to a file, relative to the user's + * "files" folder * @param \OC\Files\View $view view on data/user/ */ private static function createMissingDirectories($filename, $view) { diff --git a/apps/files_versions/tests/versions.php b/apps/files_versions/tests/versions.php index 5ea6d9ee5b9..97afcf715cb 100644 --- a/apps/files_versions/tests/versions.php +++ b/apps/files_versions/tests/versions.php @@ -45,10 +45,6 @@ class Test_Files_Versioning extends \Test\TestCase { public static function setUpBeforeClass() { parent::setUpBeforeClass(); - // clear share hooks - \OC_Hook::clear('OCP\\Share'); - \OC::registerShareHooks(); - \OCA\Files_Versions\Hooks::connectHooks(); $application = new \OCA\Files_Sharing\AppInfo\Application(); $application->registerMountProviders(); $application->setupPropagation(); @@ -69,6 +65,11 @@ class Test_Files_Versioning extends \Test\TestCase { protected function setUp() { parent::setUp(); + // clear hooks + \OC_Hook::clear(); + \OC::registerShareHooks(); + \OCA\Files_Versions\Hooks::connectHooks(); + self::loginHelper(self::TEST_VERSIONS_USER); $this->rootView = new \OC\Files\View(); if (!$this->rootView->file_exists(self::USERS_VERSIONS_ROOT)) { @@ -77,7 +78,12 @@ class Test_Files_Versioning extends \Test\TestCase { } protected function tearDown() { - $this->rootView->deleteAll(self::USERS_VERSIONS_ROOT); + $this->rootView->deleteAll(self::TEST_VERSIONS_USER . '/files/'); + $this->rootView->deleteAll(self::TEST_VERSIONS_USER2 . '/files/'); + $this->rootView->deleteAll(self::TEST_VERSIONS_USER . '/files_versions/'); + $this->rootView->deleteAll(self::TEST_VERSIONS_USER2 . '/files_versions/'); + + \OC_Hook::clear(); parent::tearDown(); } @@ -257,9 +263,6 @@ class Test_Files_Versioning extends \Test\TestCase { $this->assertTrue($this->rootView->file_exists($v1Renamed)); $this->assertTrue($this->rootView->file_exists($v2Renamed)); - - //cleanup - \OC\Files\Filesystem::unlink('test2.txt'); } public function testRenameInSharedFolder() { @@ -304,9 +307,136 @@ class Test_Files_Versioning extends \Test\TestCase { $this->assertTrue($this->rootView->file_exists($v1Renamed)); $this->assertTrue($this->rootView->file_exists($v2Renamed)); + } - //cleanup - \OC\Files\Filesystem::unlink('/folder1/folder2/test.txt'); + public function testMoveFolder() { + + \OC\Files\Filesystem::mkdir('folder1'); + \OC\Files\Filesystem::mkdir('folder2'); + \OC\Files\Filesystem::file_put_contents('folder1/test.txt', 'test file'); + + $t1 = time(); + // second version is two weeks older, this way we make sure that no + // version will be expired + $t2 = $t1 - 60 * 60 * 24 * 14; + + // create some versions + $this->rootView->mkdir(self::USERS_VERSIONS_ROOT . '/folder1'); + $v1 = self::USERS_VERSIONS_ROOT . '/folder1/test.txt.v' . $t1; + $v2 = self::USERS_VERSIONS_ROOT . '/folder1/test.txt.v' . $t2; + $v1Renamed = self::USERS_VERSIONS_ROOT . '/folder2/folder1/test.txt.v' . $t1; + $v2Renamed = self::USERS_VERSIONS_ROOT . '/folder2/folder1/test.txt.v' . $t2; + + $this->rootView->file_put_contents($v1, 'version1'); + $this->rootView->file_put_contents($v2, 'version2'); + + // execute rename hook of versions app + \OC\Files\Filesystem::rename('folder1', 'folder2/folder1'); + + $this->runCommands(); + + $this->assertFalse($this->rootView->file_exists($v1)); + $this->assertFalse($this->rootView->file_exists($v2)); + + $this->assertTrue($this->rootView->file_exists($v1Renamed)); + $this->assertTrue($this->rootView->file_exists($v2Renamed)); + } + + + public function testMoveFileIntoSharedFolderAsRecipient() { + + \OC\Files\Filesystem::mkdir('folder1'); + $fileInfo = \OC\Files\Filesystem::getFileInfo('folder1'); + + \OCP\Share::shareItem( + 'folder', + $fileInfo['fileid'], + \OCP\Share::SHARE_TYPE_USER, + self::TEST_VERSIONS_USER2, + \OCP\Constants::PERMISSION_ALL + ); + + self::loginHelper(self::TEST_VERSIONS_USER2); + $versionsFolder2 = '/' . self::TEST_VERSIONS_USER2 . '/files_versions'; + \OC\Files\Filesystem::file_put_contents('test.txt', 'test file'); + + $t1 = time(); + // second version is two weeks older, this way we make sure that no + // version will be expired + $t2 = $t1 - 60 * 60 * 24 * 14; + + $this->rootView->mkdir($versionsFolder2); + // create some versions + $v1 = $versionsFolder2 . '/test.txt.v' . $t1; + $v2 = $versionsFolder2 . '/test.txt.v' . $t2; + + $this->rootView->file_put_contents($v1, 'version1'); + $this->rootView->file_put_contents($v2, 'version2'); + + // move file into the shared folder as recipient + \OC\Files\Filesystem::rename('/test.txt', '/folder1/test.txt'); + + $this->assertFalse($this->rootView->file_exists($v1)); + $this->assertFalse($this->rootView->file_exists($v2)); + + self::loginHelper(self::TEST_VERSIONS_USER); + + $versionsFolder1 = '/' . self::TEST_VERSIONS_USER . '/files_versions'; + + $v1Renamed = $versionsFolder1 . '/folder1/test.txt.v' . $t1; + $v2Renamed = $versionsFolder1 . '/folder1/test.txt.v' . $t2; + + $this->assertTrue($this->rootView->file_exists($v1Renamed)); + $this->assertTrue($this->rootView->file_exists($v2Renamed)); + } + + public function testMoveFolderIntoSharedFolderAsRecipient() { + + \OC\Files\Filesystem::mkdir('folder1'); + $fileInfo = \OC\Files\Filesystem::getFileInfo('folder1'); + + \OCP\Share::shareItem( + 'folder', + $fileInfo['fileid'], + \OCP\Share::SHARE_TYPE_USER, + self::TEST_VERSIONS_USER2, + \OCP\Constants::PERMISSION_ALL + ); + + self::loginHelper(self::TEST_VERSIONS_USER2); + $versionsFolder2 = '/' . self::TEST_VERSIONS_USER2 . '/files_versions'; + \OC\Files\Filesystem::mkdir('folder2'); + \OC\Files\Filesystem::file_put_contents('folder2/test.txt', 'test file'); + + $t1 = time(); + // second version is two weeks older, this way we make sure that no + // version will be expired + $t2 = $t1 - 60 * 60 * 24 * 14; + + $this->rootView->mkdir($versionsFolder2); + $this->rootView->mkdir($versionsFolder2 . '/folder2'); + // create some versions + $v1 = $versionsFolder2 . '/folder2/test.txt.v' . $t1; + $v2 = $versionsFolder2 . '/folder2/test.txt.v' . $t2; + + $this->rootView->file_put_contents($v1, 'version1'); + $this->rootView->file_put_contents($v2, 'version2'); + + // move file into the shared folder as recipient + \OC\Files\Filesystem::rename('/folder2', '/folder1/folder2'); + + $this->assertFalse($this->rootView->file_exists($v1)); + $this->assertFalse($this->rootView->file_exists($v2)); + + self::loginHelper(self::TEST_VERSIONS_USER); + + $versionsFolder1 = '/' . self::TEST_VERSIONS_USER . '/files_versions'; + + $v1Renamed = $versionsFolder1 . '/folder1/folder2/test.txt.v' . $t1; + $v2Renamed = $versionsFolder1 . '/folder1/folder2/test.txt.v' . $t2; + + $this->assertTrue($this->rootView->file_exists($v1Renamed)); + $this->assertTrue($this->rootView->file_exists($v2Renamed)); } public function testRenameSharedFile() { @@ -349,9 +479,6 @@ class Test_Files_Versioning extends \Test\TestCase { $this->assertFalse($this->rootView->file_exists($v1Renamed)); $this->assertFalse($this->rootView->file_exists($v2Renamed)); - - //cleanup - \OC\Files\Filesystem::unlink('/test.txt'); } public function testCopy() { @@ -382,10 +509,6 @@ class Test_Files_Versioning extends \Test\TestCase { $this->assertTrue($this->rootView->file_exists($v1Copied)); $this->assertTrue($this->rootView->file_exists($v2Copied)); - - //cleanup - \OC\Files\Filesystem::unlink('test.txt'); - \OC\Files\Filesystem::unlink('test2.txt'); } /** @@ -411,7 +534,7 @@ class Test_Files_Versioning extends \Test\TestCase { // execute copy hook of versions app $versions = \OCA\Files_Versions\Storage::getVersions(self::TEST_VERSIONS_USER, '/subfolder/test.txt'); - $this->assertSame(2, count($versions)); + $this->assertCount(2, $versions); foreach ($versions as $version) { $this->assertSame('/subfolder/test.txt', $version['path']); @@ -422,6 +545,17 @@ class Test_Files_Versioning extends \Test\TestCase { $this->rootView->deleteAll(self::USERS_VERSIONS_ROOT . '/subfolder'); } + /** + * test if we find all versions and if the versions array contain + * the correct 'path' and 'name' + */ + public function testGetVersionsEmptyFile() { + // execute copy hook of versions app + $versions = \OCA\Files_Versions\Storage::getVersions(self::TEST_VERSIONS_USER, ''); + + $this->assertCount(0, $versions); + } + public function testRestoreSameStorage() { \OC\Files\Filesystem::mkdir('sub'); $this->doTestRestore(); @@ -517,6 +651,85 @@ class Test_Files_Versioning extends \Test\TestCase { } /** + * Test whether versions are created when overwriting as owner + */ + public function testStoreVersionAsOwner() { + $this->loginAsUser(self::TEST_VERSIONS_USER); + + $this->createAndCheckVersions( + \OC\Files\Filesystem::getView(), + 'test.txt' + ); + } + + /** + * Test whether versions are created when overwriting as share recipient + */ + public function testStoreVersionAsRecipient() { + $this->loginAsUser(self::TEST_VERSIONS_USER); + + \OC\Files\Filesystem::mkdir('folder'); + \OC\Files\Filesystem::file_put_contents('folder/test.txt', 'test file'); + $fileInfo = \OC\Files\Filesystem::getFileInfo('folder'); + + \OCP\Share::shareItem( + 'folder', + $fileInfo['fileid'], + \OCP\Share::SHARE_TYPE_USER, + self::TEST_VERSIONS_USER2, + \OCP\Constants::PERMISSION_ALL + ); + + $this->loginAsUser(self::TEST_VERSIONS_USER2); + + $this->createAndCheckVersions( + \OC\Files\Filesystem::getView(), + 'folder/test.txt' + ); + } + + /** + * Test whether versions are created when overwriting anonymously. + * + * When uploading through a public link or publicwebdav, no user + * is logged in. File modification must still be able to find + * the owner and create versions. + */ + public function testStoreVersionAsAnonymous() { + $this->logout(); + + // note: public link upload does this, + // needed to make the hooks fire + \OC_Util::setupFS(self::TEST_VERSIONS_USER); + + $userView = new \OC\Files\View('/' . self::TEST_VERSIONS_USER . '/files'); + $this->createAndCheckVersions( + $userView, + 'test.txt' + ); + } + + private function createAndCheckVersions($view, $path) { + $view->file_put_contents($path, 'test file'); + $view->file_put_contents($path, 'version 1'); + $view->file_put_contents($path, 'version 2'); + + $this->loginAsUser(self::TEST_VERSIONS_USER); + + // need to scan for the versions + list($rootStorage,) = $this->rootView->resolvePath(self::TEST_VERSIONS_USER . '/files_versions'); + $rootStorage->getScanner()->scan('files_versions'); + + $versions = \OCA\Files_Versions\Storage::getVersions( + self::TEST_VERSIONS_USER, '/' . $path + ); + + // note: we cannot predict how many versions are created due to + // test run timing + $this->assertGreaterThan(0, count($versions)); + } + + /** * @param string $user * @param bool $create * @param bool $password diff --git a/apps/provisioning_api/lib/users.php b/apps/provisioning_api/lib/users.php index 505a141c032..43cf22b071b 100644 --- a/apps/provisioning_api/lib/users.php +++ b/apps/provisioning_api/lib/users.php @@ -155,7 +155,14 @@ class Users { case 'quota': $quota = $parameters['_put']['value']; if($quota !== 'none' and $quota !== 'default') { - $quota = OC_Helper::computerFileSize($quota); + if (is_numeric($quota)) { + $quota = floatval($quota); + } else { + $quota = OC_Helper::computerFileSize($quota); + } + if ($quota === false) { + return new OC_OCS_Result(null, 103, "Invalid quota value {$parameters['_put']['value']}"); + } if($quota == 0) { $quota = 'default'; }else if($quota == -1){ diff --git a/apps/provisioning_api/tests/userstest.php b/apps/provisioning_api/tests/userstest.php index b7e83a3c4fe..c6a6133b7d2 100644 --- a/apps/provisioning_api/tests/userstest.php +++ b/apps/provisioning_api/tests/userstest.php @@ -187,20 +187,36 @@ class UsersTest extends TestCase { } - public function testEditOwnQuota() { + /** + * @dataProvider providesQuotas + * @param $expected + * @param $quota + */ + public function testEditOwnQuota($expected, $quota) { $user = $this->generateUsers(); + \OC_Group::addToGroup($user, 'admin'); \OC_User::setUserId($user); $result = \OCA\provisioning_API\Users::editUser( - array( + [ 'userid' => $user, - '_put' => array( + '_put' => [ 'key' => 'quota', - 'value' => '20G', - ), - ) + 'value' => $quota, + ], + ] ); $this->assertInstanceOf('OC_OCS_Result', $result); - $this->assertFalse($result->succeeded()); + $this->assertEquals($expected, $result->succeeded()); + } + + public function providesQuotas() { + return [ + [true, '20G'], + [true, '1234567'], + [true, 'none'], + [true, 'default'], + [false, 'qwertzu'], + ]; } public function testAdminEditOwnQuota() { diff --git a/apps/user_ldap/ajax/testConfiguration.php b/apps/user_ldap/ajax/testConfiguration.php index 31f72a38e0b..f5fd5f23b87 100644 --- a/apps/user_ldap/ajax/testConfiguration.php +++ b/apps/user_ldap/ajax/testConfiguration.php @@ -34,16 +34,38 @@ $ldapWrapper = new OCA\user_ldap\lib\LDAP(); $connection = new \OCA\user_ldap\lib\Connection($ldapWrapper, '', null); //needs to be true, otherwise it will also fail with an irritating message $_POST['ldap_configuration_active'] = 1; -if($connection->setConfiguration($_POST)) { - //Configuration is okay - if($connection->bind()) { - OCP\JSON::success(array('message' + +try { + if ($connection->setConfiguration($_POST)) { + //Configuration is okay + if ($connection->bind()) { + /* + * This shiny if block is an ugly hack to find out whether anonymous + * bind is possible on AD or not. Because AD happily and constantly + * replies with success to any anonymous bind request, we need to + * fire up a broken operation. If AD does not allow anonymous bind, + * it will end up with LDAP error code 1 which is turned into an + * exception by the LDAP wrapper. We catch this. Other cases may + * pass (like e.g. expected syntax error). + */ + try { + $ldapWrapper->read($connection->getConnectionResource(), 'neverwhere', 'objectClass=*', array('dn')); + } catch (\Exception $e) { + if($e->getCode() === 1) { + OCP\JSON::error(array('message' => $l->t('The configuration is invalid: anonymous bind is not allowed.'))); + exit; + } + } + OCP\JSON::success(array('message' => $l->t('The configuration is valid and the connection could be established!'))); + } else { + OCP\JSON::error(array('message' + => $l->t('The configuration is valid, but the Bind failed. Please check the server settings and credentials.'))); + } } else { OCP\JSON::error(array('message' - => $l->t('The configuration is valid, but the Bind failed. Please check the server settings and credentials.'))); - } -} else { - OCP\JSON::error(array('message' => $l->t('The configuration is invalid. Please have a look at the logs for further details.'))); + } +} catch (\Exception $e) { + OCP\JSON::error(array('message' => $e->getMessage())); } diff --git a/apps/user_ldap/js/wizard/wizardTabAbstractFilter.js b/apps/user_ldap/js/wizard/wizardTabAbstractFilter.js index 702c30a5a69..c9c3aeb241d 100644 --- a/apps/user_ldap/js/wizard/wizardTabAbstractFilter.js +++ b/apps/user_ldap/js/wizard/wizardTabAbstractFilter.js @@ -158,15 +158,19 @@ OCA = OCA || {}; /** * sets the selected groups * - * @param {Array} groups + * @param {string} groups */ setGroups: function(groups) { + if(typeof groups === 'string') { + groups = groups.split("\n"); + } if(!this.isComplexGroupChooser) { this.setElementValue(this.getGroupsItem().$element, groups); this.getGroupsItem().$element.multiselect('refresh'); } else { var $element = $(this.tabID).find('.ldapGroupListSelected'); this.equipMultiSelect($element, groups); + this.updateFilterOnType('selected'); } }, @@ -224,10 +228,10 @@ OCA = OCA || {}; $selectedGroups, $(this.tabID).find('.ldapManyGroupsSearch') )); } else { - if(_.isUndefined || only.toLowerCase() === 'available') { + if(_.isUndefined(only) || only.toLowerCase() === 'available') { this.filterOnType[0].updateOptions(); } - if(_.isUndefined || only.toLowerCase() === 'selected') { + if(_.isUndefined(only) || only.toLowerCase() === 'selected') { this.filterOnType[1].updateOptions(); } } @@ -357,7 +361,7 @@ OCA = OCA || {}; this._saveGroups(selected.concat($available.val())); $available.find('option:selected').prependTo($selected); - this.updateFilterOnType(); + this.updateFilterOnType('available'); // selected groups are not updated yet }, /** @@ -370,7 +374,7 @@ OCA = OCA || {}; this._saveGroups(selected); $selected.find('option:selected').appendTo($available); - this.updateFilterOnType(); + this.updateFilterOnType('available'); // selected groups are not updated yet } }); diff --git a/apps/user_ldap/js/wizard/wizardTabElementary.js b/apps/user_ldap/js/wizard/wizardTabElementary.js index b8ab367dfd1..75664275a9c 100644 --- a/apps/user_ldap/js/wizard/wizardTabElementary.js +++ b/apps/user_ldap/js/wizard/wizardTabElementary.js @@ -165,6 +165,12 @@ OCA = OCA || {}; * @inheritdoc */ overrideErrorMessage: function(message, key) { + var original = message; + message = this._super(message, key); + if(original !== message) { + // we pass the parents change + return message; + } switch(key) { case 'ldap_port': if (message === 'Invalid credentials') { @@ -267,7 +273,8 @@ OCA = OCA || {}; message = t('user_ldap', objectsFound + ' entries available within the provided Base DN'); } } else { - message = t('user_ldap', 'An error occurred. Please check the Base DN, as well as connection settings and credentials.'); + message = view.overrideErrorMessage(payload.data.message); + message = message || t('user_ldap', 'An error occurred. Please check the Base DN, as well as connection settings and credentials.'); if(payload.data.message) { console.warn(payload.data.message); } diff --git a/apps/user_ldap/js/wizard/wizardTabGeneric.js b/apps/user_ldap/js/wizard/wizardTabGeneric.js index 720628fa609..b755f3ca060 100644 --- a/apps/user_ldap/js/wizard/wizardTabGeneric.js +++ b/apps/user_ldap/js/wizard/wizardTabGeneric.js @@ -70,6 +70,17 @@ OCA = OCA || {}; * @returns {string} */ overrideErrorMessage: function(message, key) { + if(message === 'LDAP authentication method rejected' + && !this.configModel.configuration.ldap_dn) + { + message = t('user_ldap', 'Anonymous bind is not allowed. Please provide a User DN and Password.'); + } else if (message === 'LDAP Operations error' + && !this.configModel.configuration.ldap_dn + && !this.configModel.configuration.ldap_agent_password) + { + message = t('user_ldap', 'LDAP Operations error. Anonymous bind might not be allowed.'); + } + return message; }, diff --git a/apps/user_ldap/js/wizard/wizardTabUserFilter.js b/apps/user_ldap/js/wizard/wizardTabUserFilter.js index 992c1ccf379..4fe223ee075 100644 --- a/apps/user_ldap/js/wizard/wizardTabUserFilter.js +++ b/apps/user_ldap/js/wizard/wizardTabUserFilter.js @@ -122,6 +122,12 @@ OCA = OCA || {}; * @inheritdoc */ overrideErrorMessage: function(message, key) { + var original = message; + message = this._super(message, key); + if(original !== message) { + // we pass the parents change + return message; + } if( key === 'ldap_userfilter_groups' && message === 'memberOf is not supported by the server' ) { diff --git a/apps/user_ldap/l10n/ast.js b/apps/user_ldap/l10n/ast.js index 1ae219b25e6..3cc4b7d6b08 100644 --- a/apps/user_ldap/l10n/ast.js +++ b/apps/user_ldap/l10n/ast.js @@ -31,7 +31,6 @@ OC.L10N.register( "Help" : "Ayuda", "Groups meeting these criteria are available in %s:" : "Los grupos que cumplen estos criterios tán disponibles en %s:", "The filter specifies which LDAP groups shall have access to the %s instance." : "El filtru especifica qué grupos LDAP van tener accesu a %s.", - "Test Filter" : "Filtru de preba", "Other Attributes:" : "Otros atributos:", "Defines the filter to apply, when login is attempted. %%uid replaces the username in the login action. Example: \"uid=%%uid\"" : "Define'l filtru a aplicar cuando s'intenta identificar. %%uid va trocar al nome d'usuariu nel procesu d'identificación. Por exemplu: \"uid=%%uid\"", "1. Server" : "1. Sirvidor", diff --git a/apps/user_ldap/l10n/ast.json b/apps/user_ldap/l10n/ast.json index 408febfb899..19b8c5fad14 100644 --- a/apps/user_ldap/l10n/ast.json +++ b/apps/user_ldap/l10n/ast.json @@ -29,7 +29,6 @@ "Help" : "Ayuda", "Groups meeting these criteria are available in %s:" : "Los grupos que cumplen estos criterios tán disponibles en %s:", "The filter specifies which LDAP groups shall have access to the %s instance." : "El filtru especifica qué grupos LDAP van tener accesu a %s.", - "Test Filter" : "Filtru de preba", "Other Attributes:" : "Otros atributos:", "Defines the filter to apply, when login is attempted. %%uid replaces the username in the login action. Example: \"uid=%%uid\"" : "Define'l filtru a aplicar cuando s'intenta identificar. %%uid va trocar al nome d'usuariu nel procesu d'identificación. Por exemplu: \"uid=%%uid\"", "1. Server" : "1. Sirvidor", diff --git a/apps/user_ldap/l10n/be.js b/apps/user_ldap/l10n/be.js index dda51e8ac42..99117026327 100644 --- a/apps/user_ldap/l10n/be.js +++ b/apps/user_ldap/l10n/be.js @@ -3,4 +3,4 @@ OC.L10N.register( { "Advanced" : "Дасведчаны" }, -"nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);"); +"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/user_ldap/l10n/be.json b/apps/user_ldap/l10n/be.json index f70adabdbe1..987589ccd81 100644 --- a/apps/user_ldap/l10n/be.json +++ b/apps/user_ldap/l10n/be.json @@ -1,4 +1,4 @@ { "translations": { "Advanced" : "Дасведчаны" -},"pluralForm" :"nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);" +},"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/user_ldap/l10n/bg_BG.js b/apps/user_ldap/l10n/bg_BG.js index e363f1c897b..b2e12165deb 100644 --- a/apps/user_ldap/l10n/bg_BG.js +++ b/apps/user_ldap/l10n/bg_BG.js @@ -30,7 +30,6 @@ OC.L10N.register( "Help" : "Помощ", "Groups meeting these criteria are available in %s:" : "Групи спазващи тези критерии са разположени в %s:", "The filter specifies which LDAP groups shall have access to the %s instance." : "Филтърът посочва кои LDAP групи ще имат достъп до %s инсталацията.", - "Test Filter" : "Тестов Филтър", "Other Attributes:" : "Други Атрибути:", "Defines the filter to apply, when login is attempted. %%uid replaces the username in the login action. Example: \"uid=%%uid\"" : "Заявява филтърът, който да бъде приложен при опит за вписване. %%uid замества потребителското име в полето login action. Пример: \"uid=%%uid\".", "Test Loginname" : "Проверка на Потребителско име", diff --git a/apps/user_ldap/l10n/bg_BG.json b/apps/user_ldap/l10n/bg_BG.json index 250be5f00a3..39fc9b1e49b 100644 --- a/apps/user_ldap/l10n/bg_BG.json +++ b/apps/user_ldap/l10n/bg_BG.json @@ -28,7 +28,6 @@ "Help" : "Помощ", "Groups meeting these criteria are available in %s:" : "Групи спазващи тези критерии са разположени в %s:", "The filter specifies which LDAP groups shall have access to the %s instance." : "Филтърът посочва кои LDAP групи ще имат достъп до %s инсталацията.", - "Test Filter" : "Тестов Филтър", "Other Attributes:" : "Други Атрибути:", "Defines the filter to apply, when login is attempted. %%uid replaces the username in the login action. Example: \"uid=%%uid\"" : "Заявява филтърът, който да бъде приложен при опит за вписване. %%uid замества потребителското име в полето login action. Пример: \"uid=%%uid\".", "Test Loginname" : "Проверка на Потребителско име", diff --git a/apps/user_ldap/l10n/cs_CZ.js b/apps/user_ldap/l10n/cs_CZ.js index 1e993d66a6b..a5eb704c3e6 100644 --- a/apps/user_ldap/l10n/cs_CZ.js +++ b/apps/user_ldap/l10n/cs_CZ.js @@ -62,7 +62,6 @@ OC.L10N.register( "Edit LDAP Query" : "Upravit LDAP požadavek", "LDAP Filter:" : "LDAP filtr:", "The filter specifies which LDAP groups shall have access to the %s instance." : "Filtr určuje, kteří uživatelé LDAP mají mít přístup k instanci %s.", - "Test Filter" : "Otestovat filtr", "Verify settings and count groups" : "Ověřit nastavení a spočítat skupiny", "When logging in, %s will find the user based on the following attributes:" : "Při přihlašování, %s bude hledat uživatele na základě následujících atributů:", "LDAP / AD Username:" : "LDAP / AD uživatelské jméno:", diff --git a/apps/user_ldap/l10n/cs_CZ.json b/apps/user_ldap/l10n/cs_CZ.json index 061e77eedec..dbe157bb1ba 100644 --- a/apps/user_ldap/l10n/cs_CZ.json +++ b/apps/user_ldap/l10n/cs_CZ.json @@ -60,7 +60,6 @@ "Edit LDAP Query" : "Upravit LDAP požadavek", "LDAP Filter:" : "LDAP filtr:", "The filter specifies which LDAP groups shall have access to the %s instance." : "Filtr určuje, kteří uživatelé LDAP mají mít přístup k instanci %s.", - "Test Filter" : "Otestovat filtr", "Verify settings and count groups" : "Ověřit nastavení a spočítat skupiny", "When logging in, %s will find the user based on the following attributes:" : "Při přihlašování, %s bude hledat uživatele na základě následujících atributů:", "LDAP / AD Username:" : "LDAP / AD uživatelské jméno:", diff --git a/apps/user_ldap/l10n/da.js b/apps/user_ldap/l10n/da.js index dd679fd842c..1b070f48a90 100644 --- a/apps/user_ldap/l10n/da.js +++ b/apps/user_ldap/l10n/da.js @@ -22,6 +22,7 @@ OC.L10N.register( "Could not detect Base DN, please enter it manually." : "Kunne ikke registrere Base DN - angiv den venligst manuelt.", "{nthServer}. Server" : "{nthServer}. server", "No object found in the given Base DN. Please revise." : "Intet objekt fundet i den givne Base DN. Gennemse venligst.", + "More than 1.000 directory entries available." : "Mere end 1.000 opslag tilgængelige", " entries available within the provided Base DN" : "poster tilgængelige inden for det angivne Base DN.", "An error occurred. Please check the Base DN, as well as connection settings and credentials." : "Der opstod en fejl. Tjek venligst Base DN, såvel som forbindelsesindstillingerne og brugeroplysningerne.", "Do you really want to delete the current Server Configuration?" : "Ønsker du virkelig at slette den nuværende Server Konfiguration?", @@ -61,7 +62,6 @@ OC.L10N.register( "Edit LDAP Query" : "Redigér LDAP-forespørgsel", "LDAP Filter:" : "LDAP-filter:", "The filter specifies which LDAP groups shall have access to the %s instance." : "Filteret angiver hvilke LDAP-grupper, der skal have adgang til instansen %s.", - "Test Filter" : "Test filter", "Verify settings and count groups" : "Verificér indstillinger og optællingsgrupper", "When logging in, %s will find the user based on the following attributes:" : "Når der logges ind, så vil %s finde brugeren baseret på følgende attributter:", "LDAP / AD Username:" : "LDAP/AD-brugernavn:", diff --git a/apps/user_ldap/l10n/da.json b/apps/user_ldap/l10n/da.json index 6937eee04f6..acd0eaae13e 100644 --- a/apps/user_ldap/l10n/da.json +++ b/apps/user_ldap/l10n/da.json @@ -20,6 +20,7 @@ "Could not detect Base DN, please enter it manually." : "Kunne ikke registrere Base DN - angiv den venligst manuelt.", "{nthServer}. Server" : "{nthServer}. server", "No object found in the given Base DN. Please revise." : "Intet objekt fundet i den givne Base DN. Gennemse venligst.", + "More than 1.000 directory entries available." : "Mere end 1.000 opslag tilgængelige", " entries available within the provided Base DN" : "poster tilgængelige inden for det angivne Base DN.", "An error occurred. Please check the Base DN, as well as connection settings and credentials." : "Der opstod en fejl. Tjek venligst Base DN, såvel som forbindelsesindstillingerne og brugeroplysningerne.", "Do you really want to delete the current Server Configuration?" : "Ønsker du virkelig at slette den nuværende Server Konfiguration?", @@ -59,7 +60,6 @@ "Edit LDAP Query" : "Redigér LDAP-forespørgsel", "LDAP Filter:" : "LDAP-filter:", "The filter specifies which LDAP groups shall have access to the %s instance." : "Filteret angiver hvilke LDAP-grupper, der skal have adgang til instansen %s.", - "Test Filter" : "Test filter", "Verify settings and count groups" : "Verificér indstillinger og optællingsgrupper", "When logging in, %s will find the user based on the following attributes:" : "Når der logges ind, så vil %s finde brugeren baseret på følgende attributter:", "LDAP / AD Username:" : "LDAP/AD-brugernavn:", diff --git a/apps/user_ldap/l10n/de.js b/apps/user_ldap/l10n/de.js index 34c37d7aa70..c06922818ca 100644 --- a/apps/user_ldap/l10n/de.js +++ b/apps/user_ldap/l10n/de.js @@ -35,7 +35,13 @@ OC.L10N.register( "Select attributes" : "Attribute auswählen", "User not found. Please check your login attributes and username. Effective filter (to copy-and-paste for command line validation): <br/>" : "Benutzer nicht gefunden. Bitte überprüfe Deine Loginattribute und Deinen Benutzernamen. Gültige Filter (zum Kopieren und Einfügen bei der Überprüfung auf der Kommandozeile): <br/>", "User found and settings verified." : "Benutzer gefunden und Einstellungen überprüft.", + "Settings verified, but one user found. Only the first will be able to login. Consider a more narrow filter." : "Einstellungen überprüft, aber einen Nutzer gefunden. Nur der Erste kann sich anmelden. Verwende möglicherweise einen engeren Filter.", + "An unspecified error occurred. Please check the settings and the log." : "Ein nicht näher spezifizierter Fehler ist aufgetreten. Bitte prüfe die Einstellungen und die Logdatei.", + "The search filter is invalid, probably due to syntax issues like uneven number of opened and closed brackets. Please revise." : "Der Suchfilter ist ungültig, möglicherweise bestehen Eingabefehler wie z.B. eine ungerade Anzahl von geöffneten und geschlossenen Klammern. Bitte überarbeiten.", "A connection error to LDAP / AD occurred, please check host, port and credentials." : "Es ist ein Verbindungsfehler zum LDAP/AD aufgetreten, bitte überprüfe Host, Port und Anmeldeinformationen.", + "The %uid placeholder is missing. It will be replaced with the login name when querying LDAP / AD." : "Der %uid - Platzhalter fehlt. Dieser wird mit dem Anmeldenamen beim Abfragen von LDAP / AD ersetzt.", + "Please provide a login name to test against" : "Bitte gib einen Benutzernamen an, um gegen diesen zu testen", + "The group box was disabled, because the LDAP / AD server does not support memberOf." : "Das Gruppenfeld wurde deaktiviert, da der LDAP / AD-Server memberOf nicht unterstützt.", "_%s group found_::_%s groups found_" : ["%s Gruppe gefunden","%s Gruppen gefunden"], "_%s user found_::_%s users found_" : ["%s Benutzer gefunden","%s Benutzer gefunden"], "Could not detect user display name attribute. Please specify it yourself in advanced ldap settings." : "Das Anzeigename-Attribut des Benutzers konnte nicht gefunden werden. Bitte gib es in den erweiterten LDAP-Einstellungen selber an.", @@ -56,10 +62,12 @@ OC.L10N.register( "Edit LDAP Query" : "LDAP-Abfrage bearbeiten", "LDAP Filter:" : "LDAP-Filter:", "The filter specifies which LDAP groups shall have access to the %s instance." : "Der Filter bestimmt, welche LDAP-Gruppen Zugriff auf die %s-Instanz haben sollen.", - "Test Filter" : "Testfilter", "Verify settings and count groups" : "Einstellungen überprüfen und Gruppen zählen", + "When logging in, %s will find the user based on the following attributes:" : "Beim Anmelden wird %s die Nutzerbasis mit folgenden Attributen vorfinden:", "LDAP / AD Username:" : "LDAP-/AD-Benutzername:", + "Allows login against the LDAP / AD username, which is either uid or samaccountname and will be detected." : "Erlaubt das Anmelden gegen den LDAP / AD Nutzernamen, welcher entweder eine UID oder samaccountname ist und automatisch erkannt wird.", "LDAP / AD Email Address:" : "LDAP-/AD-E-Mail-Adresse:", + "Allows login against an email attribute. Mail and mailPrimaryAddress will be allowed." : "Erlaubt das Anmelden gegen ein E-Mail Attribut. Mail und mailPrimaryAddress sind erlaubt.", "Other Attributes:" : "Andere Attribute:", "Defines the filter to apply, when login is attempted. %%uid replaces the username in the login action. Example: \"uid=%%uid\"" : "Bestimmt den Filter, welcher bei einer Anmeldung angewandt wird. %%uid ersetzt den Benutzernamen bei der Anmeldung. Beispiel: \"uid=%%uid\"", "Test Loginname" : "Loginnamen testen", @@ -81,6 +89,7 @@ OC.L10N.register( "Avoids automatic LDAP requests. Better for bigger setups, but requires some LDAP knowledge." : "Verhindert automatische LDAP-Anfragen. Besser geeignet für größere Installationen, benötigt aber erweiterte LDAP-Kenntnisse.", "Manually enter LDAP filters (recommended for large directories)" : "LDAP-Filter manuell eingeben (empfohlen für große Verzeichnisse)", "Limit %s access to users meeting these criteria:" : "Den %s-Zugriff auf Benutzer, die den folgenden Kriterien entsprechen, beschränken:", + "The most common object classes for users are organizationalPerson, person, user, and inetOrgPerson. If you are not sure which object class to select, please consult your directory admin." : "Die häufigsten Objektklassen für Benutzer sind organizationalPerson, person, user und inetOrgPerson. Wenn Sie nicht sicher, welche Objektklasse Sie wählen sollen, fragen Sie bitte Ihren Verzeichnis-Admin.", "The filter specifies which LDAP users shall have access to the %s instance." : "Der Filter gibt an, welche LDAP-Benutzer Zugriff auf die %s-Instanz haben sollen.", "Verify settings and count users" : "Einstellungen überprüfen und Benutzer zählen", "Saving" : "Speichern", diff --git a/apps/user_ldap/l10n/de.json b/apps/user_ldap/l10n/de.json index 26bbc601601..7c6cb120559 100644 --- a/apps/user_ldap/l10n/de.json +++ b/apps/user_ldap/l10n/de.json @@ -33,7 +33,13 @@ "Select attributes" : "Attribute auswählen", "User not found. Please check your login attributes and username. Effective filter (to copy-and-paste for command line validation): <br/>" : "Benutzer nicht gefunden. Bitte überprüfe Deine Loginattribute und Deinen Benutzernamen. Gültige Filter (zum Kopieren und Einfügen bei der Überprüfung auf der Kommandozeile): <br/>", "User found and settings verified." : "Benutzer gefunden und Einstellungen überprüft.", + "Settings verified, but one user found. Only the first will be able to login. Consider a more narrow filter." : "Einstellungen überprüft, aber einen Nutzer gefunden. Nur der Erste kann sich anmelden. Verwende möglicherweise einen engeren Filter.", + "An unspecified error occurred. Please check the settings and the log." : "Ein nicht näher spezifizierter Fehler ist aufgetreten. Bitte prüfe die Einstellungen und die Logdatei.", + "The search filter is invalid, probably due to syntax issues like uneven number of opened and closed brackets. Please revise." : "Der Suchfilter ist ungültig, möglicherweise bestehen Eingabefehler wie z.B. eine ungerade Anzahl von geöffneten und geschlossenen Klammern. Bitte überarbeiten.", "A connection error to LDAP / AD occurred, please check host, port and credentials." : "Es ist ein Verbindungsfehler zum LDAP/AD aufgetreten, bitte überprüfe Host, Port und Anmeldeinformationen.", + "The %uid placeholder is missing. It will be replaced with the login name when querying LDAP / AD." : "Der %uid - Platzhalter fehlt. Dieser wird mit dem Anmeldenamen beim Abfragen von LDAP / AD ersetzt.", + "Please provide a login name to test against" : "Bitte gib einen Benutzernamen an, um gegen diesen zu testen", + "The group box was disabled, because the LDAP / AD server does not support memberOf." : "Das Gruppenfeld wurde deaktiviert, da der LDAP / AD-Server memberOf nicht unterstützt.", "_%s group found_::_%s groups found_" : ["%s Gruppe gefunden","%s Gruppen gefunden"], "_%s user found_::_%s users found_" : ["%s Benutzer gefunden","%s Benutzer gefunden"], "Could not detect user display name attribute. Please specify it yourself in advanced ldap settings." : "Das Anzeigename-Attribut des Benutzers konnte nicht gefunden werden. Bitte gib es in den erweiterten LDAP-Einstellungen selber an.", @@ -54,10 +60,12 @@ "Edit LDAP Query" : "LDAP-Abfrage bearbeiten", "LDAP Filter:" : "LDAP-Filter:", "The filter specifies which LDAP groups shall have access to the %s instance." : "Der Filter bestimmt, welche LDAP-Gruppen Zugriff auf die %s-Instanz haben sollen.", - "Test Filter" : "Testfilter", "Verify settings and count groups" : "Einstellungen überprüfen und Gruppen zählen", + "When logging in, %s will find the user based on the following attributes:" : "Beim Anmelden wird %s die Nutzerbasis mit folgenden Attributen vorfinden:", "LDAP / AD Username:" : "LDAP-/AD-Benutzername:", + "Allows login against the LDAP / AD username, which is either uid or samaccountname and will be detected." : "Erlaubt das Anmelden gegen den LDAP / AD Nutzernamen, welcher entweder eine UID oder samaccountname ist und automatisch erkannt wird.", "LDAP / AD Email Address:" : "LDAP-/AD-E-Mail-Adresse:", + "Allows login against an email attribute. Mail and mailPrimaryAddress will be allowed." : "Erlaubt das Anmelden gegen ein E-Mail Attribut. Mail und mailPrimaryAddress sind erlaubt.", "Other Attributes:" : "Andere Attribute:", "Defines the filter to apply, when login is attempted. %%uid replaces the username in the login action. Example: \"uid=%%uid\"" : "Bestimmt den Filter, welcher bei einer Anmeldung angewandt wird. %%uid ersetzt den Benutzernamen bei der Anmeldung. Beispiel: \"uid=%%uid\"", "Test Loginname" : "Loginnamen testen", @@ -79,6 +87,7 @@ "Avoids automatic LDAP requests. Better for bigger setups, but requires some LDAP knowledge." : "Verhindert automatische LDAP-Anfragen. Besser geeignet für größere Installationen, benötigt aber erweiterte LDAP-Kenntnisse.", "Manually enter LDAP filters (recommended for large directories)" : "LDAP-Filter manuell eingeben (empfohlen für große Verzeichnisse)", "Limit %s access to users meeting these criteria:" : "Den %s-Zugriff auf Benutzer, die den folgenden Kriterien entsprechen, beschränken:", + "The most common object classes for users are organizationalPerson, person, user, and inetOrgPerson. If you are not sure which object class to select, please consult your directory admin." : "Die häufigsten Objektklassen für Benutzer sind organizationalPerson, person, user und inetOrgPerson. Wenn Sie nicht sicher, welche Objektklasse Sie wählen sollen, fragen Sie bitte Ihren Verzeichnis-Admin.", "The filter specifies which LDAP users shall have access to the %s instance." : "Der Filter gibt an, welche LDAP-Benutzer Zugriff auf die %s-Instanz haben sollen.", "Verify settings and count users" : "Einstellungen überprüfen und Benutzer zählen", "Saving" : "Speichern", diff --git a/apps/user_ldap/l10n/de_DE.js b/apps/user_ldap/l10n/de_DE.js index 4b582d0c48e..7f36fe64be0 100644 --- a/apps/user_ldap/l10n/de_DE.js +++ b/apps/user_ldap/l10n/de_DE.js @@ -35,7 +35,13 @@ OC.L10N.register( "Select attributes" : "Attribute auswählen", "User not found. Please check your login attributes and username. Effective filter (to copy-and-paste for command line validation): <br/>" : "Benutzer nicht gefunden. Bitte überprüfen Sie Ihre Loginattribute und Ihren Benutzernamen. Gültiger Filter (zum Kopieren und Einfügen bei der Überprüfung auf der Kommandozeile): <br/>", "User found and settings verified." : "Benutzer gefunden und Einstellungen überprüft.", + "Settings verified, but one user found. Only the first will be able to login. Consider a more narrow filter." : "Einstellungen überprüft, aber einen Nutzer gefunden. Nur der Erste kann sich anmelden. Verwenden Sie möglicherweise einen engeren Filter.", + "An unspecified error occurred. Please check the settings and the log." : "Ein nicht näher spezifizierter Fehler ist aufgetreten. Bitte überprüfe die Einstellungen und die Logdatei.", + "The search filter is invalid, probably due to syntax issues like uneven number of opened and closed brackets. Please revise." : "Der Suchfilter ist ungültig, möglicherweise bestehen Eingabefehler wie z.B. eine ungerade Anzahl von geöffneten und geschlossenen Klammern. Bitte überarbeiten.", "A connection error to LDAP / AD occurred, please check host, port and credentials." : "Es ist ein Verbindungsfehler zum LDAP/AD aufgetreten, bitte überprüfen Sie Host, Port und Anmeldeinformationen.", + "The %uid placeholder is missing. It will be replaced with the login name when querying LDAP / AD." : "Der %uid - Platzhalter fehlt. Dieser wird mit dem Anmeldenamen beim Abfragen von LDAP / AD ersetzt.", + "Please provide a login name to test against" : "Bitte geben Sie einen Benutzernamen an, um gegen diesen zu testen", + "The group box was disabled, because the LDAP / AD server does not support memberOf." : "Das Gruppenfeld wurde deaktiviert, da der LDAP / AD-Server memberOf nicht unterstützt.", "_%s group found_::_%s groups found_" : ["%s Gruppe gefunden","%s Gruppen gefunden"], "_%s user found_::_%s users found_" : ["%s Benutzer gefunden","%s Benutzer gefunden"], "Could not detect user display name attribute. Please specify it yourself in advanced ldap settings." : "Das Anzeigename-Attribut des Benutzers konnte nicht gefunden werden. Bitte geben Sie es in den erweiterten LDAP-Einstellungen selber an.", @@ -56,10 +62,12 @@ OC.L10N.register( "Edit LDAP Query" : "LDAP-Abfrage bearbeiten", "LDAP Filter:" : "LDAP-Filter:", "The filter specifies which LDAP groups shall have access to the %s instance." : "Der Filter bestimmt, welche LDAP-Gruppen Zugriff auf die %s-Instanz haben sollen.", - "Test Filter" : "Testfilter", "Verify settings and count groups" : "Einstellungen überprüfen und Gruppen zählen", + "When logging in, %s will find the user based on the following attributes:" : "Beim Anmelden wird %s die Nutzerbasis mit folgenden Attributen vorfinden:", "LDAP / AD Username:" : "LDAP-/AD-Benutzername:", + "Allows login against the LDAP / AD username, which is either uid or samaccountname and will be detected." : "Erlaubt das Anmelden gegen den LDAP / AD Nutzernamen, welcher entweder eine UID oder samaccountname ist und automatisch erkannt wird.", "LDAP / AD Email Address:" : "LDAP-/AD-E-Mail-Adresse:", + "Allows login against an email attribute. Mail and mailPrimaryAddress will be allowed." : "Erlaubt das Anmelden gegen ein E-Mail Attribut. Mail und mailPrimaryAddress sind erlaubt.", "Other Attributes:" : "Andere Attribute:", "Defines the filter to apply, when login is attempted. %%uid replaces the username in the login action. Example: \"uid=%%uid\"" : "Bestimmt den Filter, welcher bei einer Anmeldung angewandt wird. %%uid ersetzt den Benutzernamen bei der Anmeldung. Beispiel: \"uid=%%uid\"", "Test Loginname" : "Loginnamen testen", @@ -81,6 +89,7 @@ OC.L10N.register( "Avoids automatic LDAP requests. Better for bigger setups, but requires some LDAP knowledge." : "Verhindert automatische LDAP-Anfragen. Besser geeignet für größere Installationen, benötigt aber erweiterte LDAP-Kenntnisse.", "Manually enter LDAP filters (recommended for large directories)" : "LDAP-Filter manuell eingeben (empfohlen für große Verzeichnisse)", "Limit %s access to users meeting these criteria:" : "Den %s-Zugriff auf Benutzer, die den folgenden Kriterien entsprechen, beschränken:", + "The most common object classes for users are organizationalPerson, person, user, and inetOrgPerson. If you are not sure which object class to select, please consult your directory admin." : "Die häufigsten Objektklassen für Benutzer sind organizationalPerson, person, user und inetOrgPerson. Wenn Sie nicht sicher, welche Objektklasse Sie wählen sollen, fragen Sie bitte Ihren Verzeichnis-Admin.", "The filter specifies which LDAP users shall have access to the %s instance." : "Der Filter gibt an, welche LDAP-Benutzer Zugriff auf die %s-Instanz haben sollen.", "Verify settings and count users" : "Einstellungen überprüfen und Benutzer zählen", "Saving" : "Speichern", diff --git a/apps/user_ldap/l10n/de_DE.json b/apps/user_ldap/l10n/de_DE.json index 83b79938da6..27190826a20 100644 --- a/apps/user_ldap/l10n/de_DE.json +++ b/apps/user_ldap/l10n/de_DE.json @@ -33,7 +33,13 @@ "Select attributes" : "Attribute auswählen", "User not found. Please check your login attributes and username. Effective filter (to copy-and-paste for command line validation): <br/>" : "Benutzer nicht gefunden. Bitte überprüfen Sie Ihre Loginattribute und Ihren Benutzernamen. Gültiger Filter (zum Kopieren und Einfügen bei der Überprüfung auf der Kommandozeile): <br/>", "User found and settings verified." : "Benutzer gefunden und Einstellungen überprüft.", + "Settings verified, but one user found. Only the first will be able to login. Consider a more narrow filter." : "Einstellungen überprüft, aber einen Nutzer gefunden. Nur der Erste kann sich anmelden. Verwenden Sie möglicherweise einen engeren Filter.", + "An unspecified error occurred. Please check the settings and the log." : "Ein nicht näher spezifizierter Fehler ist aufgetreten. Bitte überprüfe die Einstellungen und die Logdatei.", + "The search filter is invalid, probably due to syntax issues like uneven number of opened and closed brackets. Please revise." : "Der Suchfilter ist ungültig, möglicherweise bestehen Eingabefehler wie z.B. eine ungerade Anzahl von geöffneten und geschlossenen Klammern. Bitte überarbeiten.", "A connection error to LDAP / AD occurred, please check host, port and credentials." : "Es ist ein Verbindungsfehler zum LDAP/AD aufgetreten, bitte überprüfen Sie Host, Port und Anmeldeinformationen.", + "The %uid placeholder is missing. It will be replaced with the login name when querying LDAP / AD." : "Der %uid - Platzhalter fehlt. Dieser wird mit dem Anmeldenamen beim Abfragen von LDAP / AD ersetzt.", + "Please provide a login name to test against" : "Bitte geben Sie einen Benutzernamen an, um gegen diesen zu testen", + "The group box was disabled, because the LDAP / AD server does not support memberOf." : "Das Gruppenfeld wurde deaktiviert, da der LDAP / AD-Server memberOf nicht unterstützt.", "_%s group found_::_%s groups found_" : ["%s Gruppe gefunden","%s Gruppen gefunden"], "_%s user found_::_%s users found_" : ["%s Benutzer gefunden","%s Benutzer gefunden"], "Could not detect user display name attribute. Please specify it yourself in advanced ldap settings." : "Das Anzeigename-Attribut des Benutzers konnte nicht gefunden werden. Bitte geben Sie es in den erweiterten LDAP-Einstellungen selber an.", @@ -54,10 +60,12 @@ "Edit LDAP Query" : "LDAP-Abfrage bearbeiten", "LDAP Filter:" : "LDAP-Filter:", "The filter specifies which LDAP groups shall have access to the %s instance." : "Der Filter bestimmt, welche LDAP-Gruppen Zugriff auf die %s-Instanz haben sollen.", - "Test Filter" : "Testfilter", "Verify settings and count groups" : "Einstellungen überprüfen und Gruppen zählen", + "When logging in, %s will find the user based on the following attributes:" : "Beim Anmelden wird %s die Nutzerbasis mit folgenden Attributen vorfinden:", "LDAP / AD Username:" : "LDAP-/AD-Benutzername:", + "Allows login against the LDAP / AD username, which is either uid or samaccountname and will be detected." : "Erlaubt das Anmelden gegen den LDAP / AD Nutzernamen, welcher entweder eine UID oder samaccountname ist und automatisch erkannt wird.", "LDAP / AD Email Address:" : "LDAP-/AD-E-Mail-Adresse:", + "Allows login against an email attribute. Mail and mailPrimaryAddress will be allowed." : "Erlaubt das Anmelden gegen ein E-Mail Attribut. Mail und mailPrimaryAddress sind erlaubt.", "Other Attributes:" : "Andere Attribute:", "Defines the filter to apply, when login is attempted. %%uid replaces the username in the login action. Example: \"uid=%%uid\"" : "Bestimmt den Filter, welcher bei einer Anmeldung angewandt wird. %%uid ersetzt den Benutzernamen bei der Anmeldung. Beispiel: \"uid=%%uid\"", "Test Loginname" : "Loginnamen testen", @@ -79,6 +87,7 @@ "Avoids automatic LDAP requests. Better for bigger setups, but requires some LDAP knowledge." : "Verhindert automatische LDAP-Anfragen. Besser geeignet für größere Installationen, benötigt aber erweiterte LDAP-Kenntnisse.", "Manually enter LDAP filters (recommended for large directories)" : "LDAP-Filter manuell eingeben (empfohlen für große Verzeichnisse)", "Limit %s access to users meeting these criteria:" : "Den %s-Zugriff auf Benutzer, die den folgenden Kriterien entsprechen, beschränken:", + "The most common object classes for users are organizationalPerson, person, user, and inetOrgPerson. If you are not sure which object class to select, please consult your directory admin." : "Die häufigsten Objektklassen für Benutzer sind organizationalPerson, person, user und inetOrgPerson. Wenn Sie nicht sicher, welche Objektklasse Sie wählen sollen, fragen Sie bitte Ihren Verzeichnis-Admin.", "The filter specifies which LDAP users shall have access to the %s instance." : "Der Filter gibt an, welche LDAP-Benutzer Zugriff auf die %s-Instanz haben sollen.", "Verify settings and count users" : "Einstellungen überprüfen und Benutzer zählen", "Saving" : "Speichern", diff --git a/apps/user_ldap/l10n/el.js b/apps/user_ldap/l10n/el.js index a00a65f3b81..939edd4d045 100644 --- a/apps/user_ldap/l10n/el.js +++ b/apps/user_ldap/l10n/el.js @@ -62,7 +62,6 @@ OC.L10N.register( "Edit LDAP Query" : "Επεξεργασία ερωτήματος ", "LDAP Filter:" : "Φίλτρο LDAP:", "The filter specifies which LDAP groups shall have access to the %s instance." : "Το φίλτρο καθορίζει ποιες ομάδες LDAP θα έχουν πρόσβαση στην εγκατάσταση %s.", - "Test Filter" : "Φίλτρο Ελέγχου", "Verify settings and count groups" : "Επιβεβαίωση ρυθμίσεων και καταμέτρηση ομάδων", "When logging in, %s will find the user based on the following attributes:" : "Κατά τη σύνδεση, το %s θα βρει το χρήστη βασιζόμενος στις ακόλουθες ιδιότητες:", "LDAP / AD Username:" : "Όνομα χρήστη LDAP / AD:", diff --git a/apps/user_ldap/l10n/el.json b/apps/user_ldap/l10n/el.json index a98c2d0438e..1e0add9ee44 100644 --- a/apps/user_ldap/l10n/el.json +++ b/apps/user_ldap/l10n/el.json @@ -60,7 +60,6 @@ "Edit LDAP Query" : "Επεξεργασία ερωτήματος ", "LDAP Filter:" : "Φίλτρο LDAP:", "The filter specifies which LDAP groups shall have access to the %s instance." : "Το φίλτρο καθορίζει ποιες ομάδες LDAP θα έχουν πρόσβαση στην εγκατάσταση %s.", - "Test Filter" : "Φίλτρο Ελέγχου", "Verify settings and count groups" : "Επιβεβαίωση ρυθμίσεων και καταμέτρηση ομάδων", "When logging in, %s will find the user based on the following attributes:" : "Κατά τη σύνδεση, το %s θα βρει το χρήστη βασιζόμενος στις ακόλουθες ιδιότητες:", "LDAP / AD Username:" : "Όνομα χρήστη LDAP / AD:", diff --git a/apps/user_ldap/l10n/en_GB.js b/apps/user_ldap/l10n/en_GB.js index 4f6e9c96a68..86c93e972d7 100644 --- a/apps/user_ldap/l10n/en_GB.js +++ b/apps/user_ldap/l10n/en_GB.js @@ -61,7 +61,6 @@ OC.L10N.register( "Edit LDAP Query" : "Edit LDAP Query", "LDAP Filter:" : "LDAP Filter:", "The filter specifies which LDAP groups shall have access to the %s instance." : "The filter specifies which LDAP groups shall have access to the %s instance.", - "Test Filter" : "Test Filter", "Verify settings and count groups" : "Verify settings and count groups", "When logging in, %s will find the user based on the following attributes:" : "When logging in, %s will find the user based on the following attributes:", "LDAP / AD Username:" : "LDAP / AD Username:", diff --git a/apps/user_ldap/l10n/en_GB.json b/apps/user_ldap/l10n/en_GB.json index 51df2fe845e..39366fd146b 100644 --- a/apps/user_ldap/l10n/en_GB.json +++ b/apps/user_ldap/l10n/en_GB.json @@ -59,7 +59,6 @@ "Edit LDAP Query" : "Edit LDAP Query", "LDAP Filter:" : "LDAP Filter:", "The filter specifies which LDAP groups shall have access to the %s instance." : "The filter specifies which LDAP groups shall have access to the %s instance.", - "Test Filter" : "Test Filter", "Verify settings and count groups" : "Verify settings and count groups", "When logging in, %s will find the user based on the following attributes:" : "When logging in, %s will find the user based on the following attributes:", "LDAP / AD Username:" : "LDAP / AD Username:", diff --git a/apps/user_ldap/l10n/es.js b/apps/user_ldap/l10n/es.js index 239488f2f82..fd90625352b 100644 --- a/apps/user_ldap/l10n/es.js +++ b/apps/user_ldap/l10n/es.js @@ -22,6 +22,7 @@ OC.L10N.register( "Could not detect Base DN, please enter it manually." : "No se pudo detectar Base DN, por favor ingrésela manualmente.", "{nthServer}. Server" : "{nthServer}. servidor", "No object found in the given Base DN. Please revise." : "No se encuentra ningún objeto en la Base DN dada. Por favor revisar.", + "More than 1.000 directory entries available." : "Más de 1.000 directorios disponibles.", " entries available within the provided Base DN" : "entradas disponibles dentro de la BaseDN provista", "An error occurred. Please check the Base DN, as well as connection settings and credentials." : "Un error ocurrió. Por favor revise la Base DN, también como la configuración de la conexión y credenciales.", "Do you really want to delete the current Server Configuration?" : "¿Realmente desea eliminar la configuración actual del servidor?", @@ -61,7 +62,6 @@ OC.L10N.register( "Edit LDAP Query" : "Editar consulta LDAP", "LDAP Filter:" : "Filtro LDAP:", "The filter specifies which LDAP groups shall have access to the %s instance." : "El filtro especifica que grupos LDAP tendrán acceso a %s.", - "Test Filter" : "Filtro de prueba", "Verify settings and count groups" : "Verificar configuraciones y contar grupos", "When logging in, %s will find the user based on the following attributes:" : "Cuando se inicia sesión, %s encontrará al usuario basado en los siguientes atributos:", "LDAP / AD Username:" : "Nombre de usuario LDAP /AD:", diff --git a/apps/user_ldap/l10n/es.json b/apps/user_ldap/l10n/es.json index adb7a31bfbc..3e939e07de2 100644 --- a/apps/user_ldap/l10n/es.json +++ b/apps/user_ldap/l10n/es.json @@ -20,6 +20,7 @@ "Could not detect Base DN, please enter it manually." : "No se pudo detectar Base DN, por favor ingrésela manualmente.", "{nthServer}. Server" : "{nthServer}. servidor", "No object found in the given Base DN. Please revise." : "No se encuentra ningún objeto en la Base DN dada. Por favor revisar.", + "More than 1.000 directory entries available." : "Más de 1.000 directorios disponibles.", " entries available within the provided Base DN" : "entradas disponibles dentro de la BaseDN provista", "An error occurred. Please check the Base DN, as well as connection settings and credentials." : "Un error ocurrió. Por favor revise la Base DN, también como la configuración de la conexión y credenciales.", "Do you really want to delete the current Server Configuration?" : "¿Realmente desea eliminar la configuración actual del servidor?", @@ -59,7 +60,6 @@ "Edit LDAP Query" : "Editar consulta LDAP", "LDAP Filter:" : "Filtro LDAP:", "The filter specifies which LDAP groups shall have access to the %s instance." : "El filtro especifica que grupos LDAP tendrán acceso a %s.", - "Test Filter" : "Filtro de prueba", "Verify settings and count groups" : "Verificar configuraciones y contar grupos", "When logging in, %s will find the user based on the following attributes:" : "Cuando se inicia sesión, %s encontrará al usuario basado en los siguientes atributos:", "LDAP / AD Username:" : "Nombre de usuario LDAP /AD:", diff --git a/apps/user_ldap/l10n/et_EE.js b/apps/user_ldap/l10n/et_EE.js index 08c696977d8..cfe06cf0d6e 100644 --- a/apps/user_ldap/l10n/et_EE.js +++ b/apps/user_ldap/l10n/et_EE.js @@ -30,7 +30,6 @@ OC.L10N.register( "Help" : "Abiinfo", "Groups meeting these criteria are available in %s:" : "Kriteeriumiga sobivad grupid on saadaval %s:", "The filter specifies which LDAP groups shall have access to the %s instance." : "Filter määrab millised LDAP grupid saavad ligipääsu sellele %s instantsile.", - "Test Filter" : "Testi filtrit", "Other Attributes:" : "Muud atribuudid:", "Defines the filter to apply, when login is attempted. %%uid replaces the username in the login action. Example: \"uid=%%uid\"" : "Määrab sisselogimisel kasutatava filtri. %%uid asendab sisselogimistegevuses kasutajanime. Näide: \"uid=%%uid\"", "1. Server" : "1. Server", diff --git a/apps/user_ldap/l10n/et_EE.json b/apps/user_ldap/l10n/et_EE.json index 21b25b52d1a..b592f01087d 100644 --- a/apps/user_ldap/l10n/et_EE.json +++ b/apps/user_ldap/l10n/et_EE.json @@ -28,7 +28,6 @@ "Help" : "Abiinfo", "Groups meeting these criteria are available in %s:" : "Kriteeriumiga sobivad grupid on saadaval %s:", "The filter specifies which LDAP groups shall have access to the %s instance." : "Filter määrab millised LDAP grupid saavad ligipääsu sellele %s instantsile.", - "Test Filter" : "Testi filtrit", "Other Attributes:" : "Muud atribuudid:", "Defines the filter to apply, when login is attempted. %%uid replaces the username in the login action. Example: \"uid=%%uid\"" : "Määrab sisselogimisel kasutatava filtri. %%uid asendab sisselogimistegevuses kasutajanime. Näide: \"uid=%%uid\"", "1. Server" : "1. Server", diff --git a/apps/user_ldap/l10n/eu.js b/apps/user_ldap/l10n/eu.js index b846dfa1e10..096973d2f1c 100644 --- a/apps/user_ldap/l10n/eu.js +++ b/apps/user_ldap/l10n/eu.js @@ -31,7 +31,6 @@ OC.L10N.register( "Help" : "Laguntza", "Groups meeting these criteria are available in %s:" : "Baldintza horiek betetzen dituzten taldeak bertan eskuragarri %s:", "The filter specifies which LDAP groups shall have access to the %s instance." : "Iragazkiak zehazten du ze LDAP taldek izango duten sarrera %s instantziara:", - "Test Filter" : "Frogatu Iragazkia", "Other Attributes:" : "Bestelako atributuak:", "Defines the filter to apply, when login is attempted. %%uid replaces the username in the login action. Example: \"uid=%%uid\"" : "Definitu aplikatu beharreko iragazkia sartzen saiatzean. %%uid erabiltzailearen izena ordezten du sartzeko ekintzan. Adibidez: \"uid=%%uid\"", "1. Server" : "1. Zerbitzaria", diff --git a/apps/user_ldap/l10n/eu.json b/apps/user_ldap/l10n/eu.json index 247618ea884..84e8650d213 100644 --- a/apps/user_ldap/l10n/eu.json +++ b/apps/user_ldap/l10n/eu.json @@ -29,7 +29,6 @@ "Help" : "Laguntza", "Groups meeting these criteria are available in %s:" : "Baldintza horiek betetzen dituzten taldeak bertan eskuragarri %s:", "The filter specifies which LDAP groups shall have access to the %s instance." : "Iragazkiak zehazten du ze LDAP taldek izango duten sarrera %s instantziara:", - "Test Filter" : "Frogatu Iragazkia", "Other Attributes:" : "Bestelako atributuak:", "Defines the filter to apply, when login is attempted. %%uid replaces the username in the login action. Example: \"uid=%%uid\"" : "Definitu aplikatu beharreko iragazkia sartzen saiatzean. %%uid erabiltzailearen izena ordezten du sartzeko ekintzan. Adibidez: \"uid=%%uid\"", "1. Server" : "1. Zerbitzaria", diff --git a/apps/user_ldap/l10n/fr.js b/apps/user_ldap/l10n/fr.js index c924a9dd16f..eeb890c70c5 100644 --- a/apps/user_ldap/l10n/fr.js +++ b/apps/user_ldap/l10n/fr.js @@ -27,7 +27,7 @@ OC.L10N.register( "An error occurred. Please check the Base DN, as well as connection settings and credentials." : "Une erreur est survenue. Veuillez vérifier le DN de base, ainsi que les paramètres de connexion et les informations d'identification", "Do you really want to delete the current Server Configuration?" : "Êtes-vous vraiment sûr de vouloir effacer la configuration actuelle du serveur ?", "Confirm Deletion" : "Confirmer la suppression", - "Mappings cleared successfully!" : "Succès de la suppression des associations!", + "Mappings cleared successfully!" : "Associations supprimées avec succès !", "Error while clearing the mappings." : "Erreur lors de la suppression des associations.", "Saving failed. Please make sure the database is in Operation. Reload before continuing." : "La sauvegarde a échoué. Veuillez vérifier que la base de données est opérationnelle. Rechargez avant de poursuivre.", "Switching the mode will enable automatic LDAP queries. Depending on your LDAP size they may take a while. Do you still want to switch the mode?" : "Changer de mode activera les requêtes LDAP automatiques. Selon la taille de votre annuaire LDAP, cela peut prendre du temps. Voulez-vous toujours changer de mode ?", @@ -62,7 +62,6 @@ OC.L10N.register( "Edit LDAP Query" : "Modifier la requête LDAP", "LDAP Filter:" : "Filtre LDAP :", "The filter specifies which LDAP groups shall have access to the %s instance." : "Le filtre spécifie quels groupes LDAP ont accès à l'instance %s.", - "Test Filter" : "Test du filtre", "Verify settings and count groups" : "Vérifier les paramètres et compter les groupes", "When logging in, %s will find the user based on the following attributes:" : "Au login, %s cherchera l'utilisateur sur base de ces attributs :", "LDAP / AD Username:" : "Nom d'utilisateur LDAP / AD :", diff --git a/apps/user_ldap/l10n/fr.json b/apps/user_ldap/l10n/fr.json index fbb36e0201a..b6c1c9e9985 100644 --- a/apps/user_ldap/l10n/fr.json +++ b/apps/user_ldap/l10n/fr.json @@ -25,7 +25,7 @@ "An error occurred. Please check the Base DN, as well as connection settings and credentials." : "Une erreur est survenue. Veuillez vérifier le DN de base, ainsi que les paramètres de connexion et les informations d'identification", "Do you really want to delete the current Server Configuration?" : "Êtes-vous vraiment sûr de vouloir effacer la configuration actuelle du serveur ?", "Confirm Deletion" : "Confirmer la suppression", - "Mappings cleared successfully!" : "Succès de la suppression des associations!", + "Mappings cleared successfully!" : "Associations supprimées avec succès !", "Error while clearing the mappings." : "Erreur lors de la suppression des associations.", "Saving failed. Please make sure the database is in Operation. Reload before continuing." : "La sauvegarde a échoué. Veuillez vérifier que la base de données est opérationnelle. Rechargez avant de poursuivre.", "Switching the mode will enable automatic LDAP queries. Depending on your LDAP size they may take a while. Do you still want to switch the mode?" : "Changer de mode activera les requêtes LDAP automatiques. Selon la taille de votre annuaire LDAP, cela peut prendre du temps. Voulez-vous toujours changer de mode ?", @@ -60,7 +60,6 @@ "Edit LDAP Query" : "Modifier la requête LDAP", "LDAP Filter:" : "Filtre LDAP :", "The filter specifies which LDAP groups shall have access to the %s instance." : "Le filtre spécifie quels groupes LDAP ont accès à l'instance %s.", - "Test Filter" : "Test du filtre", "Verify settings and count groups" : "Vérifier les paramètres et compter les groupes", "When logging in, %s will find the user based on the following attributes:" : "Au login, %s cherchera l'utilisateur sur base de ces attributs :", "LDAP / AD Username:" : "Nom d'utilisateur LDAP / AD :", diff --git a/apps/user_ldap/l10n/gl.js b/apps/user_ldap/l10n/gl.js index 2dce42d9131..63f7a2cdaf1 100644 --- a/apps/user_ldap/l10n/gl.js +++ b/apps/user_ldap/l10n/gl.js @@ -62,7 +62,6 @@ OC.L10N.register( "Edit LDAP Query" : "Editar a consulta LDAP", "LDAP Filter:" : "Filtro LDAP:", "The filter specifies which LDAP groups shall have access to the %s instance." : "O filtro especifica que grupos LDAP teñen acceso á instancia %s.", - "Test Filter" : "Filtro de probas", "Verify settings and count groups" : "Verificar os axustes e contar os grupos", "When logging in, %s will find the user based on the following attributes:" : "Ao acceder, %s atopa o usuario en función dos seguintes atributos:", "LDAP / AD Username:" : "Nome de usuario LDAP / AD:", diff --git a/apps/user_ldap/l10n/gl.json b/apps/user_ldap/l10n/gl.json index 58832e778f2..bcbef5d530e 100644 --- a/apps/user_ldap/l10n/gl.json +++ b/apps/user_ldap/l10n/gl.json @@ -60,7 +60,6 @@ "Edit LDAP Query" : "Editar a consulta LDAP", "LDAP Filter:" : "Filtro LDAP:", "The filter specifies which LDAP groups shall have access to the %s instance." : "O filtro especifica que grupos LDAP teñen acceso á instancia %s.", - "Test Filter" : "Filtro de probas", "Verify settings and count groups" : "Verificar os axustes e contar os grupos", "When logging in, %s will find the user based on the following attributes:" : "Ao acceder, %s atopa o usuario en función dos seguintes atributos:", "LDAP / AD Username:" : "Nome de usuario LDAP / AD:", diff --git a/apps/user_ldap/l10n/hu_HU.js b/apps/user_ldap/l10n/hu_HU.js index d6fe2fde2d8..6d3ad2600f0 100644 --- a/apps/user_ldap/l10n/hu_HU.js +++ b/apps/user_ldap/l10n/hu_HU.js @@ -30,7 +30,6 @@ OC.L10N.register( "Help" : "Súgó", "Groups meeting these criteria are available in %s:" : "A %s szolgáltatás azon csoportok létezését veszi figyelembe, amik a következő feltételeknek felelnek meg:", "The filter specifies which LDAP groups shall have access to the %s instance." : "A szűrő meghatározza, hogy mely LDAP csoportok lesznek jogosultak %s elérésére.", - "Test Filter" : "Test szűrő ", "Other Attributes:" : "Más attribútumok:", "Defines the filter to apply, when login is attempted. %%uid replaces the username in the login action. Example: \"uid=%%uid\"" : "Ez a szűrő érvényes a bejelentkezés megkísérlésekor. Ekkor az %%uid változó helyére a bejelentkezési név kerül. Például: \"uid=%%uid\"", "1. Server" : "1. Kiszolgáló", diff --git a/apps/user_ldap/l10n/hu_HU.json b/apps/user_ldap/l10n/hu_HU.json index d793887c0b2..19552648b73 100644 --- a/apps/user_ldap/l10n/hu_HU.json +++ b/apps/user_ldap/l10n/hu_HU.json @@ -28,7 +28,6 @@ "Help" : "Súgó", "Groups meeting these criteria are available in %s:" : "A %s szolgáltatás azon csoportok létezését veszi figyelembe, amik a következő feltételeknek felelnek meg:", "The filter specifies which LDAP groups shall have access to the %s instance." : "A szűrő meghatározza, hogy mely LDAP csoportok lesznek jogosultak %s elérésére.", - "Test Filter" : "Test szűrő ", "Other Attributes:" : "Más attribútumok:", "Defines the filter to apply, when login is attempted. %%uid replaces the username in the login action. Example: \"uid=%%uid\"" : "Ez a szűrő érvényes a bejelentkezés megkísérlésekor. Ekkor az %%uid változó helyére a bejelentkezési név kerül. Például: \"uid=%%uid\"", "1. Server" : "1. Kiszolgáló", diff --git a/apps/user_ldap/l10n/id.js b/apps/user_ldap/l10n/id.js index 3433482319d..23170f99864 100644 --- a/apps/user_ldap/l10n/id.js +++ b/apps/user_ldap/l10n/id.js @@ -35,6 +35,8 @@ OC.L10N.register( "Select attributes" : "Pilih atribut", "User not found. Please check your login attributes and username. Effective filter (to copy-and-paste for command line validation): <br/>" : "Pengguna tidak ditemukan. Mohon periksa atribut login dan nama pengguna Anda. Penyaring efektif (salin dan tempel berikut untuk validasi baris perintah):\n<br/>", "User found and settings verified." : "Pengguna ditemukan dan pengaturan terverifikasi.", + "An unspecified error occurred. Please check the settings and the log." : "Terjadi kesalahan yang tidak disebutkan. Mohon periksa pengaturan dan log.", + "The search filter is invalid, probably due to syntax issues like uneven number of opened and closed brackets. Please revise." : "Penyaring pencarian tidak sah, kemungkinan karena masalah sintaks seperti jumlah kurung buka dan tutup tidak sama. Mohon diperiksa.", "A connection error to LDAP / AD occurred, please check host, port and credentials." : "Terjadi kesalahan sambungan ke LDAP / AD, mohon periksa host, port dan kredensial.", "The group box was disabled, because the LDAP / AD server does not support memberOf." : "Kotak grup telah diaktifkan, karena server LDAP / AD tidak mendukung keanggotaan.", "_%s group found_::_%s groups found_" : ["%s grup ditemukan"], @@ -56,7 +58,6 @@ OC.L10N.register( "Selected groups" : "Grup terpilih", "Edit LDAP Query" : "Sunting Kueri LDAP", "LDAP Filter:" : "Penyaring LDAP:", - "Test Filter" : "Uji Penyaring", "LDAP / AD Username:" : "Nama pengguna LDAP / AD:", "LDAP / AD Email Address:" : "Alamat Email LDAP / AD:", "Other Attributes:" : "Atribut Lain:", diff --git a/apps/user_ldap/l10n/id.json b/apps/user_ldap/l10n/id.json index 0d1818f9a51..fa0a0a7be20 100644 --- a/apps/user_ldap/l10n/id.json +++ b/apps/user_ldap/l10n/id.json @@ -33,6 +33,8 @@ "Select attributes" : "Pilih atribut", "User not found. Please check your login attributes and username. Effective filter (to copy-and-paste for command line validation): <br/>" : "Pengguna tidak ditemukan. Mohon periksa atribut login dan nama pengguna Anda. Penyaring efektif (salin dan tempel berikut untuk validasi baris perintah):\n<br/>", "User found and settings verified." : "Pengguna ditemukan dan pengaturan terverifikasi.", + "An unspecified error occurred. Please check the settings and the log." : "Terjadi kesalahan yang tidak disebutkan. Mohon periksa pengaturan dan log.", + "The search filter is invalid, probably due to syntax issues like uneven number of opened and closed brackets. Please revise." : "Penyaring pencarian tidak sah, kemungkinan karena masalah sintaks seperti jumlah kurung buka dan tutup tidak sama. Mohon diperiksa.", "A connection error to LDAP / AD occurred, please check host, port and credentials." : "Terjadi kesalahan sambungan ke LDAP / AD, mohon periksa host, port dan kredensial.", "The group box was disabled, because the LDAP / AD server does not support memberOf." : "Kotak grup telah diaktifkan, karena server LDAP / AD tidak mendukung keanggotaan.", "_%s group found_::_%s groups found_" : ["%s grup ditemukan"], @@ -54,7 +56,6 @@ "Selected groups" : "Grup terpilih", "Edit LDAP Query" : "Sunting Kueri LDAP", "LDAP Filter:" : "Penyaring LDAP:", - "Test Filter" : "Uji Penyaring", "LDAP / AD Username:" : "Nama pengguna LDAP / AD:", "LDAP / AD Email Address:" : "Alamat Email LDAP / AD:", "Other Attributes:" : "Atribut Lain:", diff --git a/apps/user_ldap/l10n/is.js b/apps/user_ldap/l10n/is.js index 1532ec7baff..b880fd3b059 100644 --- a/apps/user_ldap/l10n/is.js +++ b/apps/user_ldap/l10n/is.js @@ -9,4 +9,4 @@ OC.L10N.register( "Password" : "Lykilorð", "Advanced" : "Ítarlegt" }, -"nplurals=2; plural=(n != 1);"); +"nplurals=2; plural=(n % 10 == 1 || n % 100 != 11);"); diff --git a/apps/user_ldap/l10n/is.json b/apps/user_ldap/l10n/is.json index c3ae29c3735..f9c82ebf49f 100644 --- a/apps/user_ldap/l10n/is.json +++ b/apps/user_ldap/l10n/is.json @@ -6,5 +6,5 @@ "Host" : "Netþjónn", "Password" : "Lykilorð", "Advanced" : "Ítarlegt" -},"pluralForm" :"nplurals=2; plural=(n != 1);" +},"pluralForm" :"nplurals=2; plural=(n % 10 == 1 || n % 100 != 11);" }
\ No newline at end of file diff --git a/apps/user_ldap/l10n/it.js b/apps/user_ldap/l10n/it.js index 146b5f7d705..342808994e4 100644 --- a/apps/user_ldap/l10n/it.js +++ b/apps/user_ldap/l10n/it.js @@ -62,7 +62,6 @@ OC.L10N.register( "Edit LDAP Query" : "Modifica query LDAP", "LDAP Filter:" : "Filtro LDAP:", "The filter specifies which LDAP groups shall have access to the %s instance." : "Il filtro specifica quali gruppi LDAP devono avere accesso all'istanza %s.", - "Test Filter" : "Prova filtro", "Verify settings and count groups" : "Verifica le impostazioni e conta i gruppi", "When logging in, %s will find the user based on the following attributes:" : "Quando accedi, %s troverà l'utente sulla base dei seguenti attributi:", "LDAP / AD Username:" : "Nome utente LDAP / AD:", diff --git a/apps/user_ldap/l10n/it.json b/apps/user_ldap/l10n/it.json index 705d3ddd212..42ab5158a28 100644 --- a/apps/user_ldap/l10n/it.json +++ b/apps/user_ldap/l10n/it.json @@ -60,7 +60,6 @@ "Edit LDAP Query" : "Modifica query LDAP", "LDAP Filter:" : "Filtro LDAP:", "The filter specifies which LDAP groups shall have access to the %s instance." : "Il filtro specifica quali gruppi LDAP devono avere accesso all'istanza %s.", - "Test Filter" : "Prova filtro", "Verify settings and count groups" : "Verifica le impostazioni e conta i gruppi", "When logging in, %s will find the user based on the following attributes:" : "Quando accedi, %s troverà l'utente sulla base dei seguenti attributi:", "LDAP / AD Username:" : "Nome utente LDAP / AD:", diff --git a/apps/user_ldap/l10n/ja.js b/apps/user_ldap/l10n/ja.js index 3f2c6e0130e..60c8fce22f6 100644 --- a/apps/user_ldap/l10n/ja.js +++ b/apps/user_ldap/l10n/ja.js @@ -16,6 +16,7 @@ OC.L10N.register( "Configuration OK" : "設定OK", "Select groups" : "グループを選択", "Select object classes" : "オブジェクトクラスを選択", + "Please specify the port, it could not be auto-detected." : "ポートを指定してください。自動認識できません。", "{nthServer}. Server" : "{nthServer}. サーバー", "Do you really want to delete the current Server Configuration?" : "現在のサーバー設定を本当に削除してもよろしいですか?", "Confirm Deletion" : "削除の確認", @@ -27,22 +28,27 @@ OC.L10N.register( "Invalid Host" : "無効なホスト", "Server" : "サーバー", "Users" : "ユーザー", + "Login Attributes" : "ログイン属性", "Groups" : "グループ", "Test Configuration" : "設定をテスト", "Help" : "ヘルプ", "Groups meeting these criteria are available in %s:" : "これらの基準を満たすグループが %s で利用可能:", + "Search groups" : "グループを検索", + "Available groups" : "利用可能なグループ", + "Selected groups" : "選択されたグループ", "LDAP Filter:" : "LDAP フィルタ:", "The filter specifies which LDAP groups shall have access to the %s instance." : "フィルターは、どの LDAP グループが %s にアクセスするかを指定します。", - "Test Filter" : "フィルターをテスト", "LDAP / AD Username:" : "LDAP/ADユーザー名:", "LDAP / AD Email Address:" : "LDAP / AD メールアドレス:", "Other Attributes:" : "その他の属性:", "Defines the filter to apply, when login is attempted. %%uid replaces the username in the login action. Example: \"uid=%%uid\"" : "ログイン実行時に適用するフィルターを定義します。%%uid にはログイン操作におけるユーザー名が入ります。例: \"uid=%%uid\"", + "Verify settings" : "設定のチェック", "1. Server" : "1. Server", "%s. Server:" : "%s. サーバー:", "Host" : "ホスト", "You can omit the protocol, except you require SSL. Then start with ldaps://" : "SSL通信しない場合には、プロトコル名を省略することができます。そうでない場合には、ldaps:// から始めてください。", "Port" : "ポート", + "Detect Port" : "ポートの検出", "User DN" : "ユーザーDN", "The DN of the client user with which the bind shall be done, e.g. uid=agent,dc=example,dc=com. For anonymous access, leave DN and Password empty." : "どのクライアントユーザーのDNで接続するか指定します。例えば uid=agent,dc=example,dc=com になります。匿名アクセスの場合、DNとパスワードは空のままにしてください。", "Password" : "パスワード", diff --git a/apps/user_ldap/l10n/ja.json b/apps/user_ldap/l10n/ja.json index 12ccf15788c..9b8433c18e3 100644 --- a/apps/user_ldap/l10n/ja.json +++ b/apps/user_ldap/l10n/ja.json @@ -14,6 +14,7 @@ "Configuration OK" : "設定OK", "Select groups" : "グループを選択", "Select object classes" : "オブジェクトクラスを選択", + "Please specify the port, it could not be auto-detected." : "ポートを指定してください。自動認識できません。", "{nthServer}. Server" : "{nthServer}. サーバー", "Do you really want to delete the current Server Configuration?" : "現在のサーバー設定を本当に削除してもよろしいですか?", "Confirm Deletion" : "削除の確認", @@ -25,22 +26,27 @@ "Invalid Host" : "無効なホスト", "Server" : "サーバー", "Users" : "ユーザー", + "Login Attributes" : "ログイン属性", "Groups" : "グループ", "Test Configuration" : "設定をテスト", "Help" : "ヘルプ", "Groups meeting these criteria are available in %s:" : "これらの基準を満たすグループが %s で利用可能:", + "Search groups" : "グループを検索", + "Available groups" : "利用可能なグループ", + "Selected groups" : "選択されたグループ", "LDAP Filter:" : "LDAP フィルタ:", "The filter specifies which LDAP groups shall have access to the %s instance." : "フィルターは、どの LDAP グループが %s にアクセスするかを指定します。", - "Test Filter" : "フィルターをテスト", "LDAP / AD Username:" : "LDAP/ADユーザー名:", "LDAP / AD Email Address:" : "LDAP / AD メールアドレス:", "Other Attributes:" : "その他の属性:", "Defines the filter to apply, when login is attempted. %%uid replaces the username in the login action. Example: \"uid=%%uid\"" : "ログイン実行時に適用するフィルターを定義します。%%uid にはログイン操作におけるユーザー名が入ります。例: \"uid=%%uid\"", + "Verify settings" : "設定のチェック", "1. Server" : "1. Server", "%s. Server:" : "%s. サーバー:", "Host" : "ホスト", "You can omit the protocol, except you require SSL. Then start with ldaps://" : "SSL通信しない場合には、プロトコル名を省略することができます。そうでない場合には、ldaps:// から始めてください。", "Port" : "ポート", + "Detect Port" : "ポートの検出", "User DN" : "ユーザーDN", "The DN of the client user with which the bind shall be done, e.g. uid=agent,dc=example,dc=com. For anonymous access, leave DN and Password empty." : "どのクライアントユーザーのDNで接続するか指定します。例えば uid=agent,dc=example,dc=com になります。匿名アクセスの場合、DNとパスワードは空のままにしてください。", "Password" : "パスワード", diff --git a/apps/user_ldap/l10n/ko.js b/apps/user_ldap/l10n/ko.js index 94be236ab63..dab98051611 100644 --- a/apps/user_ldap/l10n/ko.js +++ b/apps/user_ldap/l10n/ko.js @@ -10,15 +10,38 @@ OC.L10N.register( "No configuration specified" : "설정이 지정되지 않음", "No data specified" : "데이터가 지정되지 않음", " Could not set configuration %s" : " 설정 %s을(를) 지정할 수 없음", + "Action does not exist" : "동작이 존재하지 않음", "Configuration incorrect" : "설정 올바르지 않음", "Configuration incomplete" : "설정 불완전함", "Configuration OK" : "설정 올바름", "Select groups" : "그룹 선택", "Select object classes" : "객체 클래스 선택", + "Please check the credentials, they seem to be wrong." : "인증 정보가 잘못된 것 같습니다. 다시 확인해 주십시오.", + "Please specify the port, it could not be auto-detected." : "포트를 자동으로 감지할 수 없습니다. 포트를 입력해 주십시오.", + "Base DN could not be auto-detected, please revise credentials, host and port." : "기본 DN을 자동으로 감지할 수 없습니다. 인증 정보, 호스트, 포트를 다시 확인하십시오.", + "Could not detect Base DN, please enter it manually." : "기본 DN을 자동으로 감지할 수 없습니다. 직접 입력하십시오.", "{nthServer}. Server" : "{nthServer}. 서버", + "No object found in the given Base DN. Please revise." : "입력한 기본 DN에서 객체를 찾을 수 없습니다. 다시 입력하십시오.", + "More than 1.000 directory entries available." : "디렉터리 항목이 1,000개 이상 존재합니다.", + " entries available within the provided Base DN" : "개(지정한 DN의 기본 항목 수)", + "An error occurred. Please check the Base DN, as well as connection settings and credentials." : "오류가 발생하였습니다. 기본 DN, 연결 설정, 인증 정보를 확인하십시오.", "Do you really want to delete the current Server Configuration?" : "현재 서버 설정을 지우시겠습니까?", "Confirm Deletion" : "삭제 확인", + "Mappings cleared successfully!" : "매핑을 삭제하였습니다!", + "Error while clearing the mappings." : "매핑을 삭제하는 중 오류가 발생하였습니다.", + "Saving failed. Please make sure the database is in Operation. Reload before continuing." : "저장할 수 없습니다. 데이터베이스 상태를 확인하십시오. 계속하기 전에 새로 고치십시오.", + "Switching the mode will enable automatic LDAP queries. Depending on your LDAP size they may take a while. Do you still want to switch the mode?" : "모드를 전환하면 자동 LDAP 쿼리를 활성화합니다. LDAP 크기에 따라서 시간이 걸릴 수도 있습니다. 모드를 전환하시겠습니까?", + "Mode switch" : "모드 전환", "Select attributes" : "속성 선택", + "User not found. Please check your login attributes and username. Effective filter (to copy-and-paste for command line validation): <br/>" : "사용자를 찾을 수 없습니다. 로그인 속성과 사용자 이름을 확인하십시오. 적용되는 필터(명령행에 붙여넣어 검증 가능):", + "User found and settings verified." : "사용자를 찾았고 설정을 확인하였습니다.", + "Settings verified, but one user found. Only the first will be able to login. Consider a more narrow filter." : "설정을 확인하였으나 한 명의 사용자만 찾았습니다. 첫 사용자만 로그인할 수 있습니다. 더 좁은 필터를 지정하십시오.", + "An unspecified error occurred. Please check the settings and the log." : "알 수 없는 오류가 발생하였습니다. 설정과 로그를 확인하십시오.", + "The search filter is invalid, probably due to syntax issues like uneven number of opened and closed brackets. Please revise." : "검색 필터가 잘못되었습니다. 열고 닫는 괄호 쌍이 맞지 않을 수도 있습니다. 확인 후 수정하십시오.", + "A connection error to LDAP / AD occurred, please check host, port and credentials." : "LDAP/AD 연결 오류가 발생하였습니다. 호스트, 포트, 인증 정보를 확인하십시오.", + "The %uid placeholder is missing. It will be replaced with the login name when querying LDAP / AD." : "%uid 자리 비움자가 존재하지 않습니다. LDAP/AD에 조회할 때 로그인 사용자 이름으로 대체됩니다.", + "Please provide a login name to test against" : "테스트할 로그인 사용자 이름을 입력하십시오", + "The group box was disabled, because the LDAP / AD server does not support memberOf." : "LDAP/AD 서버에서 memberOf를 지원하지 않아서 그룹 상자를 비활성화합니다.", "_%s group found_::_%s groups found_" : ["그룹 %s개 찾음"], "_%s user found_::_%s users found_" : ["사용자 %s명 찾음"], "Could not detect user display name attribute. Please specify it yourself in advanced ldap settings." : "사용자 표시 이름을 결정할 수 없습니다. 고급 LDAP 설정에서 직접 입력하십시오.", @@ -26,29 +49,49 @@ OC.L10N.register( "Invalid Host" : "잘못된 호스트", "Server" : "서버", "Users" : "사용자", + "Login Attributes" : "로그인 속성", "Groups" : "그룹", "Test Configuration" : "설정 시험", "Help" : "도움말", "Groups meeting these criteria are available in %s:" : "이 조건을 만족하는 그룹은 %s에 있습니다:", + "Only these object classes:" : "다음 객체 클래스만:", + "Only from these groups:" : "다음 그룹만:", + "Search groups" : "그룹 검색", + "Available groups" : "사용 가능한 그룹", + "Selected groups" : "선택한 그룹", + "Edit LDAP Query" : "LDAP 쿼리 편집", + "LDAP Filter:" : "LDAP 필터:", "The filter specifies which LDAP groups shall have access to the %s instance." : "이 필터는 %s에 접근할 수 있는 LDAP 그룹을 설정합니다.", - "Test Filter" : "필터 시험", + "Verify settings and count groups" : "설정을 확인하고 그룹 수 계산", + "When logging in, %s will find the user based on the following attributes:" : "로그인할 때 %s에서 다음 속성을 기반으로 사용자를 찾습니다:", + "LDAP / AD Username:" : "LDAP/AD 사용자 이름:", + "Allows login against the LDAP / AD username, which is either uid or samaccountname and will be detected." : "uid 또는 samaccountname에 해당하는 LDAP/AD 사용자 이름으로 로그인을 허용합니다. 속성은 자동으로 감지됩니다.", + "LDAP / AD Email Address:" : "LDAP/AD 이메일 주소:", + "Allows login against an email attribute. Mail and mailPrimaryAddress will be allowed." : "이메일 속성으로 로그인을 허용합니다. Mail 및 mailPrimaryAddress를 허용합니다.", "Other Attributes:" : "기타 속성:", "Defines the filter to apply, when login is attempted. %%uid replaces the username in the login action. Example: \"uid=%%uid\"" : "로그인을 시도할 때 적용할 필터를 입력하십시오. %%uid는 로그인 동작의 사용자 이름으로 대체됩니다. 예: \"uid=%%uid\"", + "Test Loginname" : "로그인 이름 테스트", + "Verify settings" : "설정 검사", "1. Server" : "1. 서버", "%s. Server:" : "%s. 서버:", "Host" : "호스트", "You can omit the protocol, except you require SSL. Then start with ldaps://" : "SSL을 사용하지 않으면 프로토콜을 입력하지 않아도 됩니다. SSL을 사용하려면 ldaps://를 입력하십시오.", "Port" : "포트", + "Detect Port" : "포트 감지", "User DN" : "사용자 DN", "The DN of the client user with which the bind shall be done, e.g. uid=agent,dc=example,dc=com. For anonymous access, leave DN and Password empty." : "바인딩 작업을 수행할 클라이언트 사용자 DN입니다. 예를 들어서 uid=agent,dc=example,dc=com입니다. 익명 접근을 허용하려면 DN과 암호를 비워 두십시오.", "Password" : "암호", "For anonymous access, leave DN and Password empty." : "익명 접근을 허용하려면 DN과 암호를 비워 두십시오.", "One Base DN per line" : "기본 DN을 한 줄에 하나씩 입력하십시오", "You can specify Base DN for users and groups in the Advanced tab" : "고급 탭에서 사용자 및 그룹에 대한 기본 DN을 지정할 수 있습니다.", + "Detect Base DN" : "기본 DN 감지", + "Test Base DN" : "기본 DN 시험", "Avoids automatic LDAP requests. Better for bigger setups, but requires some LDAP knowledge." : "자동 LDAP 요청을 줄입니다. 대형 사이트에서 유용하지만 LDAP에 관한 지식이 필요합니다.", "Manually enter LDAP filters (recommended for large directories)" : "수동으로 LDAP 필터 입력(대형 사이트에 추천)", "Limit %s access to users meeting these criteria:" : "다음 조건을 만족하는 사용자만 %s 접근 허용:", + "The most common object classes for users are organizationalPerson, person, user, and inetOrgPerson. If you are not sure which object class to select, please consult your directory admin." : "일반적인 객체 클래스는 organizationalPerson, person, user, inetOrgPerson입니다. 어떤 객체 클래스를 사용해야 할 지 모르겠으면 디렉터리 서비스 관리자에게 연락하십시오.", "The filter specifies which LDAP users shall have access to the %s instance." : "이 필터는 %s에 접근할 수 있는 LDAP 사용자를 설정합니다.", + "Verify settings and count users" : "설정을 확인하고 사용자 수 계산", "Saving" : "저장 중", "Back" : "뒤로", "Continue" : "계속", @@ -102,6 +145,7 @@ OC.L10N.register( "UUID Attribute for Users:" : "사용자 UUID 속성:", "UUID Attribute for Groups:" : "그룹 UUID 속성:", "Username-LDAP User Mapping" : "사용자 이름-LDAP 사용자 매핑", + "Usernames are used to store and assign (meta) data. In order to precisely identify and recognize users, each LDAP user will have an internal username. This requires a mapping from username to LDAP user. The created username is mapped to the UUID of the LDAP user. Additionally the DN is cached as well to reduce LDAP interaction, but it is not used for identification. If the DN changes, the changes will be found. The internal username is used all over. Clearing the mappings will have leftovers everywhere. Clearing the mappings is not configuration sensitive, it affects all LDAP configurations! Never clear the mappings in a production environment, only in a testing or experimental stage." : "사용자 이름은 (메타)데이터를 저장하고 할당하는 데 사용됩니다. 사용자를 정확히 식별하기 위해서 모든 LDAP 사용자는 내부 사용자 이름을 갖고 있습니다. 이 정보에 접근하려면 사용자 이름과 LDAP 사용자 사이의 연결을 알아야 합니다. 생성된 사용자 이름은 LDAP 사용자의 UUID에 연결됩니다. LDAP에 연결하는 횟수를 줄이기 위하여 DN을 캐시에 저장하지만, 식별에는 사용하지 않습니다. DN이 변경되었을 때 변경 사항이 적용됩니다. 내부 사용자 이름은 항상 사용됩니다. 매핑을 비우면 과거 매핑의 흔적이 남습니다. 매핑을 비우는 것은 설정에 관계 없이 적용되므로 모든 LDAP 설정에 영향을 줍니다! 테스트 및 실험 단계에서만 매핑을 비우고, 상용 환경에서는 매핑을 비우지 마십시오.", "Clear Username-LDAP User Mapping" : "사용자 이름-LDAP 사용자 매핑 비우기", "Clear Groupname-LDAP Group Mapping" : "그룹 이름-LDAP 그룹 매핑 비우기" }, diff --git a/apps/user_ldap/l10n/ko.json b/apps/user_ldap/l10n/ko.json index d426febafcd..ef04a2c8d93 100644 --- a/apps/user_ldap/l10n/ko.json +++ b/apps/user_ldap/l10n/ko.json @@ -8,15 +8,38 @@ "No configuration specified" : "설정이 지정되지 않음", "No data specified" : "데이터가 지정되지 않음", " Could not set configuration %s" : " 설정 %s을(를) 지정할 수 없음", + "Action does not exist" : "동작이 존재하지 않음", "Configuration incorrect" : "설정 올바르지 않음", "Configuration incomplete" : "설정 불완전함", "Configuration OK" : "설정 올바름", "Select groups" : "그룹 선택", "Select object classes" : "객체 클래스 선택", + "Please check the credentials, they seem to be wrong." : "인증 정보가 잘못된 것 같습니다. 다시 확인해 주십시오.", + "Please specify the port, it could not be auto-detected." : "포트를 자동으로 감지할 수 없습니다. 포트를 입력해 주십시오.", + "Base DN could not be auto-detected, please revise credentials, host and port." : "기본 DN을 자동으로 감지할 수 없습니다. 인증 정보, 호스트, 포트를 다시 확인하십시오.", + "Could not detect Base DN, please enter it manually." : "기본 DN을 자동으로 감지할 수 없습니다. 직접 입력하십시오.", "{nthServer}. Server" : "{nthServer}. 서버", + "No object found in the given Base DN. Please revise." : "입력한 기본 DN에서 객체를 찾을 수 없습니다. 다시 입력하십시오.", + "More than 1.000 directory entries available." : "디렉터리 항목이 1,000개 이상 존재합니다.", + " entries available within the provided Base DN" : "개(지정한 DN의 기본 항목 수)", + "An error occurred. Please check the Base DN, as well as connection settings and credentials." : "오류가 발생하였습니다. 기본 DN, 연결 설정, 인증 정보를 확인하십시오.", "Do you really want to delete the current Server Configuration?" : "현재 서버 설정을 지우시겠습니까?", "Confirm Deletion" : "삭제 확인", + "Mappings cleared successfully!" : "매핑을 삭제하였습니다!", + "Error while clearing the mappings." : "매핑을 삭제하는 중 오류가 발생하였습니다.", + "Saving failed. Please make sure the database is in Operation. Reload before continuing." : "저장할 수 없습니다. 데이터베이스 상태를 확인하십시오. 계속하기 전에 새로 고치십시오.", + "Switching the mode will enable automatic LDAP queries. Depending on your LDAP size they may take a while. Do you still want to switch the mode?" : "모드를 전환하면 자동 LDAP 쿼리를 활성화합니다. LDAP 크기에 따라서 시간이 걸릴 수도 있습니다. 모드를 전환하시겠습니까?", + "Mode switch" : "모드 전환", "Select attributes" : "속성 선택", + "User not found. Please check your login attributes and username. Effective filter (to copy-and-paste for command line validation): <br/>" : "사용자를 찾을 수 없습니다. 로그인 속성과 사용자 이름을 확인하십시오. 적용되는 필터(명령행에 붙여넣어 검증 가능):", + "User found and settings verified." : "사용자를 찾았고 설정을 확인하였습니다.", + "Settings verified, but one user found. Only the first will be able to login. Consider a more narrow filter." : "설정을 확인하였으나 한 명의 사용자만 찾았습니다. 첫 사용자만 로그인할 수 있습니다. 더 좁은 필터를 지정하십시오.", + "An unspecified error occurred. Please check the settings and the log." : "알 수 없는 오류가 발생하였습니다. 설정과 로그를 확인하십시오.", + "The search filter is invalid, probably due to syntax issues like uneven number of opened and closed brackets. Please revise." : "검색 필터가 잘못되었습니다. 열고 닫는 괄호 쌍이 맞지 않을 수도 있습니다. 확인 후 수정하십시오.", + "A connection error to LDAP / AD occurred, please check host, port and credentials." : "LDAP/AD 연결 오류가 발생하였습니다. 호스트, 포트, 인증 정보를 확인하십시오.", + "The %uid placeholder is missing. It will be replaced with the login name when querying LDAP / AD." : "%uid 자리 비움자가 존재하지 않습니다. LDAP/AD에 조회할 때 로그인 사용자 이름으로 대체됩니다.", + "Please provide a login name to test against" : "테스트할 로그인 사용자 이름을 입력하십시오", + "The group box was disabled, because the LDAP / AD server does not support memberOf." : "LDAP/AD 서버에서 memberOf를 지원하지 않아서 그룹 상자를 비활성화합니다.", "_%s group found_::_%s groups found_" : ["그룹 %s개 찾음"], "_%s user found_::_%s users found_" : ["사용자 %s명 찾음"], "Could not detect user display name attribute. Please specify it yourself in advanced ldap settings." : "사용자 표시 이름을 결정할 수 없습니다. 고급 LDAP 설정에서 직접 입력하십시오.", @@ -24,29 +47,49 @@ "Invalid Host" : "잘못된 호스트", "Server" : "서버", "Users" : "사용자", + "Login Attributes" : "로그인 속성", "Groups" : "그룹", "Test Configuration" : "설정 시험", "Help" : "도움말", "Groups meeting these criteria are available in %s:" : "이 조건을 만족하는 그룹은 %s에 있습니다:", + "Only these object classes:" : "다음 객체 클래스만:", + "Only from these groups:" : "다음 그룹만:", + "Search groups" : "그룹 검색", + "Available groups" : "사용 가능한 그룹", + "Selected groups" : "선택한 그룹", + "Edit LDAP Query" : "LDAP 쿼리 편집", + "LDAP Filter:" : "LDAP 필터:", "The filter specifies which LDAP groups shall have access to the %s instance." : "이 필터는 %s에 접근할 수 있는 LDAP 그룹을 설정합니다.", - "Test Filter" : "필터 시험", + "Verify settings and count groups" : "설정을 확인하고 그룹 수 계산", + "When logging in, %s will find the user based on the following attributes:" : "로그인할 때 %s에서 다음 속성을 기반으로 사용자를 찾습니다:", + "LDAP / AD Username:" : "LDAP/AD 사용자 이름:", + "Allows login against the LDAP / AD username, which is either uid or samaccountname and will be detected." : "uid 또는 samaccountname에 해당하는 LDAP/AD 사용자 이름으로 로그인을 허용합니다. 속성은 자동으로 감지됩니다.", + "LDAP / AD Email Address:" : "LDAP/AD 이메일 주소:", + "Allows login against an email attribute. Mail and mailPrimaryAddress will be allowed." : "이메일 속성으로 로그인을 허용합니다. Mail 및 mailPrimaryAddress를 허용합니다.", "Other Attributes:" : "기타 속성:", "Defines the filter to apply, when login is attempted. %%uid replaces the username in the login action. Example: \"uid=%%uid\"" : "로그인을 시도할 때 적용할 필터를 입력하십시오. %%uid는 로그인 동작의 사용자 이름으로 대체됩니다. 예: \"uid=%%uid\"", + "Test Loginname" : "로그인 이름 테스트", + "Verify settings" : "설정 검사", "1. Server" : "1. 서버", "%s. Server:" : "%s. 서버:", "Host" : "호스트", "You can omit the protocol, except you require SSL. Then start with ldaps://" : "SSL을 사용하지 않으면 프로토콜을 입력하지 않아도 됩니다. SSL을 사용하려면 ldaps://를 입력하십시오.", "Port" : "포트", + "Detect Port" : "포트 감지", "User DN" : "사용자 DN", "The DN of the client user with which the bind shall be done, e.g. uid=agent,dc=example,dc=com. For anonymous access, leave DN and Password empty." : "바인딩 작업을 수행할 클라이언트 사용자 DN입니다. 예를 들어서 uid=agent,dc=example,dc=com입니다. 익명 접근을 허용하려면 DN과 암호를 비워 두십시오.", "Password" : "암호", "For anonymous access, leave DN and Password empty." : "익명 접근을 허용하려면 DN과 암호를 비워 두십시오.", "One Base DN per line" : "기본 DN을 한 줄에 하나씩 입력하십시오", "You can specify Base DN for users and groups in the Advanced tab" : "고급 탭에서 사용자 및 그룹에 대한 기본 DN을 지정할 수 있습니다.", + "Detect Base DN" : "기본 DN 감지", + "Test Base DN" : "기본 DN 시험", "Avoids automatic LDAP requests. Better for bigger setups, but requires some LDAP knowledge." : "자동 LDAP 요청을 줄입니다. 대형 사이트에서 유용하지만 LDAP에 관한 지식이 필요합니다.", "Manually enter LDAP filters (recommended for large directories)" : "수동으로 LDAP 필터 입력(대형 사이트에 추천)", "Limit %s access to users meeting these criteria:" : "다음 조건을 만족하는 사용자만 %s 접근 허용:", + "The most common object classes for users are organizationalPerson, person, user, and inetOrgPerson. If you are not sure which object class to select, please consult your directory admin." : "일반적인 객체 클래스는 organizationalPerson, person, user, inetOrgPerson입니다. 어떤 객체 클래스를 사용해야 할 지 모르겠으면 디렉터리 서비스 관리자에게 연락하십시오.", "The filter specifies which LDAP users shall have access to the %s instance." : "이 필터는 %s에 접근할 수 있는 LDAP 사용자를 설정합니다.", + "Verify settings and count users" : "설정을 확인하고 사용자 수 계산", "Saving" : "저장 중", "Back" : "뒤로", "Continue" : "계속", @@ -100,6 +143,7 @@ "UUID Attribute for Users:" : "사용자 UUID 속성:", "UUID Attribute for Groups:" : "그룹 UUID 속성:", "Username-LDAP User Mapping" : "사용자 이름-LDAP 사용자 매핑", + "Usernames are used to store and assign (meta) data. In order to precisely identify and recognize users, each LDAP user will have an internal username. This requires a mapping from username to LDAP user. The created username is mapped to the UUID of the LDAP user. Additionally the DN is cached as well to reduce LDAP interaction, but it is not used for identification. If the DN changes, the changes will be found. The internal username is used all over. Clearing the mappings will have leftovers everywhere. Clearing the mappings is not configuration sensitive, it affects all LDAP configurations! Never clear the mappings in a production environment, only in a testing or experimental stage." : "사용자 이름은 (메타)데이터를 저장하고 할당하는 데 사용됩니다. 사용자를 정확히 식별하기 위해서 모든 LDAP 사용자는 내부 사용자 이름을 갖고 있습니다. 이 정보에 접근하려면 사용자 이름과 LDAP 사용자 사이의 연결을 알아야 합니다. 생성된 사용자 이름은 LDAP 사용자의 UUID에 연결됩니다. LDAP에 연결하는 횟수를 줄이기 위하여 DN을 캐시에 저장하지만, 식별에는 사용하지 않습니다. DN이 변경되었을 때 변경 사항이 적용됩니다. 내부 사용자 이름은 항상 사용됩니다. 매핑을 비우면 과거 매핑의 흔적이 남습니다. 매핑을 비우는 것은 설정에 관계 없이 적용되므로 모든 LDAP 설정에 영향을 줍니다! 테스트 및 실험 단계에서만 매핑을 비우고, 상용 환경에서는 매핑을 비우지 마십시오.", "Clear Username-LDAP User Mapping" : "사용자 이름-LDAP 사용자 매핑 비우기", "Clear Groupname-LDAP Group Mapping" : "그룹 이름-LDAP 그룹 매핑 비우기" },"pluralForm" :"nplurals=1; plural=0;" diff --git a/apps/user_ldap/l10n/nb_NO.js b/apps/user_ldap/l10n/nb_NO.js index c28947a62fb..146efa56dfc 100644 --- a/apps/user_ldap/l10n/nb_NO.js +++ b/apps/user_ldap/l10n/nb_NO.js @@ -31,7 +31,6 @@ OC.L10N.register( "Help" : "Hjelp", "Groups meeting these criteria are available in %s:" : "Grupper som tilfredsstiller disse kriteriene er tilgjengelige i %s:", "The filter specifies which LDAP groups shall have access to the %s instance." : "Filteret spesifiserer hvilke LDAP-grupper som skal ha tilgang til %s-instansen.", - "Test Filter" : "Test filter", "Other Attributes:" : "Andre attributter:", "Defines the filter to apply, when login is attempted. %%uid replaces the username in the login action. Example: \"uid=%%uid\"" : "Definerer filteret som skal brukes når noen prøver å logge inn. %%uid erstatter brukernavnet i innloggingen. Eksempel: \"uid=%%uid\"", "1. Server" : "1. server", diff --git a/apps/user_ldap/l10n/nb_NO.json b/apps/user_ldap/l10n/nb_NO.json index cd399a4eb62..82950c884cb 100644 --- a/apps/user_ldap/l10n/nb_NO.json +++ b/apps/user_ldap/l10n/nb_NO.json @@ -29,7 +29,6 @@ "Help" : "Hjelp", "Groups meeting these criteria are available in %s:" : "Grupper som tilfredsstiller disse kriteriene er tilgjengelige i %s:", "The filter specifies which LDAP groups shall have access to the %s instance." : "Filteret spesifiserer hvilke LDAP-grupper som skal ha tilgang til %s-instansen.", - "Test Filter" : "Test filter", "Other Attributes:" : "Andre attributter:", "Defines the filter to apply, when login is attempted. %%uid replaces the username in the login action. Example: \"uid=%%uid\"" : "Definerer filteret som skal brukes når noen prøver å logge inn. %%uid erstatter brukernavnet i innloggingen. Eksempel: \"uid=%%uid\"", "1. Server" : "1. server", diff --git a/apps/user_ldap/l10n/nl.js b/apps/user_ldap/l10n/nl.js index 34340f65514..4600b251564 100644 --- a/apps/user_ldap/l10n/nl.js +++ b/apps/user_ldap/l10n/nl.js @@ -62,7 +62,6 @@ OC.L10N.register( "Edit LDAP Query" : "Bewerken LDAP bevraging", "LDAP Filter:" : "LDAP Filter:", "The filter specifies which LDAP groups shall have access to the %s instance." : "Dit filter geeft aan welke LDAP groepen toegang hebben tot %s.", - "Test Filter" : "Testfilter", "Verify settings and count groups" : "Verifiëren instellingen en tel groepen", "When logging in, %s will find the user based on the following attributes:" : "Bij inloggen vindt %s de gebruiker gebaseerd op de volgende attributen:", "LDAP / AD Username:" : "LDAP / AD gebruikersnaam:", diff --git a/apps/user_ldap/l10n/nl.json b/apps/user_ldap/l10n/nl.json index 31a73d6f93b..63d8720555d 100644 --- a/apps/user_ldap/l10n/nl.json +++ b/apps/user_ldap/l10n/nl.json @@ -60,7 +60,6 @@ "Edit LDAP Query" : "Bewerken LDAP bevraging", "LDAP Filter:" : "LDAP Filter:", "The filter specifies which LDAP groups shall have access to the %s instance." : "Dit filter geeft aan welke LDAP groepen toegang hebben tot %s.", - "Test Filter" : "Testfilter", "Verify settings and count groups" : "Verifiëren instellingen en tel groepen", "When logging in, %s will find the user based on the following attributes:" : "Bij inloggen vindt %s de gebruiker gebaseerd op de volgende attributen:", "LDAP / AD Username:" : "LDAP / AD gebruikersnaam:", diff --git a/apps/user_ldap/l10n/pl.js b/apps/user_ldap/l10n/pl.js index 1c8a4d17e7b..f0a6af6f6b8 100644 --- a/apps/user_ldap/l10n/pl.js +++ b/apps/user_ldap/l10n/pl.js @@ -31,7 +31,6 @@ OC.L10N.register( "Help" : "Pomoc", "Groups meeting these criteria are available in %s:" : "Przyłączenie do grupy z tymi ustawieniami dostępne jest w %s:", "The filter specifies which LDAP groups shall have access to the %s instance." : "Filtr określa, które grupy LDAP powinny mieć dostęp do instancji %s.", - "Test Filter" : "Testuj filtr", "Other Attributes:" : "Inne atrybuty:", "Defines the filter to apply, when login is attempted. %%uid replaces the username in the login action. Example: \"uid=%%uid\"" : "Określa jakiego filtru użyć podczas próby zalogowania. %%uid zastępuje nazwę użytkownika w procesie logowania. Przykład: \"uid=%%uid\"", "1. Server" : "1. Serwer", diff --git a/apps/user_ldap/l10n/pl.json b/apps/user_ldap/l10n/pl.json index 28fba352023..ed5beeefaba 100644 --- a/apps/user_ldap/l10n/pl.json +++ b/apps/user_ldap/l10n/pl.json @@ -29,7 +29,6 @@ "Help" : "Pomoc", "Groups meeting these criteria are available in %s:" : "Przyłączenie do grupy z tymi ustawieniami dostępne jest w %s:", "The filter specifies which LDAP groups shall have access to the %s instance." : "Filtr określa, które grupy LDAP powinny mieć dostęp do instancji %s.", - "Test Filter" : "Testuj filtr", "Other Attributes:" : "Inne atrybuty:", "Defines the filter to apply, when login is attempted. %%uid replaces the username in the login action. Example: \"uid=%%uid\"" : "Określa jakiego filtru użyć podczas próby zalogowania. %%uid zastępuje nazwę użytkownika w procesie logowania. Przykład: \"uid=%%uid\"", "1. Server" : "1. Serwer", diff --git a/apps/user_ldap/l10n/pt_BR.js b/apps/user_ldap/l10n/pt_BR.js index 6c98f979128..37d5de96d38 100644 --- a/apps/user_ldap/l10n/pt_BR.js +++ b/apps/user_ldap/l10n/pt_BR.js @@ -22,6 +22,7 @@ OC.L10N.register( "Could not detect Base DN, please enter it manually." : "Não foi possível detectar a Base DN, por favor entre manualmente.", "{nthServer}. Server" : "Servidor {nthServer}.", "No object found in the given Base DN. Please revise." : "Nenhum objeto encontrado ba Base DN informada. Por favor revise.", + "More than 1.000 directory entries available." : "Mais de 1.000 entradas de diretórios disponíveis.", " entries available within the provided Base DN" : "entradas disponíveis na Base DN disponibilizada", "An error occurred. Please check the Base DN, as well as connection settings and credentials." : "Um erro ocorreu. Por favor verifique a Base DN, e também a conexção e credenciais.", "Do you really want to delete the current Server Configuration?" : "Você quer realmente deletar as atuais Configurações de Servidor?", @@ -61,7 +62,6 @@ OC.L10N.register( "Edit LDAP Query" : "Editar consulta LDAP", "LDAP Filter:" : "Filtro LDAP:", "The filter specifies which LDAP groups shall have access to the %s instance." : "O filtro especifica quais grupos LDAP devem ter acesso à instância do %s.", - "Test Filter" : "Filtro Teste", "Verify settings and count groups" : "Verificar as configurações e grupos de conta", "When logging in, %s will find the user based on the following attributes:" : "Ao entrar, %s vai encontrar o usuário com base nos seguintes atributos:", "LDAP / AD Username:" : "Nome do usuário LDAP / AD:", diff --git a/apps/user_ldap/l10n/pt_BR.json b/apps/user_ldap/l10n/pt_BR.json index 5f57180d93c..5980b372c8b 100644 --- a/apps/user_ldap/l10n/pt_BR.json +++ b/apps/user_ldap/l10n/pt_BR.json @@ -20,6 +20,7 @@ "Could not detect Base DN, please enter it manually." : "Não foi possível detectar a Base DN, por favor entre manualmente.", "{nthServer}. Server" : "Servidor {nthServer}.", "No object found in the given Base DN. Please revise." : "Nenhum objeto encontrado ba Base DN informada. Por favor revise.", + "More than 1.000 directory entries available." : "Mais de 1.000 entradas de diretórios disponíveis.", " entries available within the provided Base DN" : "entradas disponíveis na Base DN disponibilizada", "An error occurred. Please check the Base DN, as well as connection settings and credentials." : "Um erro ocorreu. Por favor verifique a Base DN, e também a conexção e credenciais.", "Do you really want to delete the current Server Configuration?" : "Você quer realmente deletar as atuais Configurações de Servidor?", @@ -59,7 +60,6 @@ "Edit LDAP Query" : "Editar consulta LDAP", "LDAP Filter:" : "Filtro LDAP:", "The filter specifies which LDAP groups shall have access to the %s instance." : "O filtro especifica quais grupos LDAP devem ter acesso à instância do %s.", - "Test Filter" : "Filtro Teste", "Verify settings and count groups" : "Verificar as configurações e grupos de conta", "When logging in, %s will find the user based on the following attributes:" : "Ao entrar, %s vai encontrar o usuário com base nos seguintes atributos:", "LDAP / AD Username:" : "Nome do usuário LDAP / AD:", diff --git a/apps/user_ldap/l10n/pt_PT.js b/apps/user_ldap/l10n/pt_PT.js index 2b275908770..55cccb28022 100644 --- a/apps/user_ldap/l10n/pt_PT.js +++ b/apps/user_ldap/l10n/pt_PT.js @@ -10,6 +10,7 @@ OC.L10N.register( "No configuration specified" : "Nenhuma configuração especificada", "No data specified" : "Nenhuma data especificada", " Could not set configuration %s" : "Não foi possível definir a configuração %s", + "Action does not exist" : "Não existe esta acção", "Configuration incorrect" : "Configuração incorreta", "Configuration incomplete" : "Configuração incompleta", "Configuration OK" : "Configuração OK", @@ -31,7 +32,6 @@ OC.L10N.register( "Help" : "Ajuda", "Groups meeting these criteria are available in %s:" : "Grupos que satisfazerem estes critérios estão disponíveis em %s:", "The filter specifies which LDAP groups shall have access to the %s instance." : "O filtro especifica quais grupos LDAP devem ter acesso à instância %s.", - "Test Filter" : "Testar Filtro", "Other Attributes:" : "Outros Atributos:", "Defines the filter to apply, when login is attempted. %%uid replaces the username in the login action. Example: \"uid=%%uid\"" : "Define o filtro a aplicar, quando se tenta uma sessão. %%uid substitui o nome de utilizador na ação de início de sessão. Exemplo: \"uid=%%uid\"", "1. Server" : "1. Servidor", diff --git a/apps/user_ldap/l10n/pt_PT.json b/apps/user_ldap/l10n/pt_PT.json index 9d94106818e..2b0c81a96f4 100644 --- a/apps/user_ldap/l10n/pt_PT.json +++ b/apps/user_ldap/l10n/pt_PT.json @@ -8,6 +8,7 @@ "No configuration specified" : "Nenhuma configuração especificada", "No data specified" : "Nenhuma data especificada", " Could not set configuration %s" : "Não foi possível definir a configuração %s", + "Action does not exist" : "Não existe esta acção", "Configuration incorrect" : "Configuração incorreta", "Configuration incomplete" : "Configuração incompleta", "Configuration OK" : "Configuração OK", @@ -29,7 +30,6 @@ "Help" : "Ajuda", "Groups meeting these criteria are available in %s:" : "Grupos que satisfazerem estes critérios estão disponíveis em %s:", "The filter specifies which LDAP groups shall have access to the %s instance." : "O filtro especifica quais grupos LDAP devem ter acesso à instância %s.", - "Test Filter" : "Testar Filtro", "Other Attributes:" : "Outros Atributos:", "Defines the filter to apply, when login is attempted. %%uid replaces the username in the login action. Example: \"uid=%%uid\"" : "Define o filtro a aplicar, quando se tenta uma sessão. %%uid substitui o nome de utilizador na ação de início de sessão. Exemplo: \"uid=%%uid\"", "1. Server" : "1. Servidor", diff --git a/apps/user_ldap/l10n/ru.js b/apps/user_ldap/l10n/ru.js index 84f4aef0585..50ec2122070 100644 --- a/apps/user_ldap/l10n/ru.js +++ b/apps/user_ldap/l10n/ru.js @@ -26,8 +26,8 @@ OC.L10N.register( "Do you really want to delete the current Server Configuration?" : "Вы действительно хотите удалить существующую конфигурацию сервера?", "Confirm Deletion" : "Подтверждение удаления", "Select attributes" : "Выберите атрибуты", - "_%s group found_::_%s groups found_" : ["%s группа найдена","%s группы найдены","%s групп найдено"], - "_%s user found_::_%s users found_" : ["%s пользователь найден","%s пользователя найдено","%s пользователей найдено"], + "_%s group found_::_%s groups found_" : ["%s группа найдена","%s группы найдены","%s групп найдено","%s групп найдено"], + "_%s user found_::_%s users found_" : ["%s пользователь найден","%s пользователя найдено","%s пользователей найдено","%s пользователей найдено"], "Could not detect user display name attribute. Please specify it yourself in advanced ldap settings." : "Не удалось автоматически определить атрибут содержащий отображаемое имя пользователя. Зайдите в расширенные настройки ldap и укажите его вручную.", "Could not find the desired feature" : "Не удается найти требуемую функциональность", "Invalid Host" : "Некорректный адрес сервера", @@ -41,7 +41,6 @@ OC.L10N.register( "Available groups" : "Доступные группы", "Selected groups" : "Выбранные группы", "The filter specifies which LDAP groups shall have access to the %s instance." : "Этот фильтр определяет какие LDAP группы должны иметь доступ к экземпляру %s.", - "Test Filter" : "Проверить фильтр", "LDAP / AD Username:" : "Имя пользователя LDAP/AD:", "Other Attributes:" : "Другие атрибуты:", "Defines the filter to apply, when login is attempted. %%uid replaces the username in the login action. Example: \"uid=%%uid\"" : "Определяет фильтр для применения при попытке входа. %%uid заменяет имя пользователя при входе в систему. Например: \"uid=%%uid\"", @@ -117,4 +116,4 @@ OC.L10N.register( "Clear Username-LDAP User Mapping" : "Очистить соответствия Имя-Пользователь LDAP", "Clear Groupname-LDAP Group Mapping" : "Очистить соответствия Группа-Группа LDAP" }, -"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);"); +"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/user_ldap/l10n/ru.json b/apps/user_ldap/l10n/ru.json index a1dc39252aa..1e828573fe2 100644 --- a/apps/user_ldap/l10n/ru.json +++ b/apps/user_ldap/l10n/ru.json @@ -24,8 +24,8 @@ "Do you really want to delete the current Server Configuration?" : "Вы действительно хотите удалить существующую конфигурацию сервера?", "Confirm Deletion" : "Подтверждение удаления", "Select attributes" : "Выберите атрибуты", - "_%s group found_::_%s groups found_" : ["%s группа найдена","%s группы найдены","%s групп найдено"], - "_%s user found_::_%s users found_" : ["%s пользователь найден","%s пользователя найдено","%s пользователей найдено"], + "_%s group found_::_%s groups found_" : ["%s группа найдена","%s группы найдены","%s групп найдено","%s групп найдено"], + "_%s user found_::_%s users found_" : ["%s пользователь найден","%s пользователя найдено","%s пользователей найдено","%s пользователей найдено"], "Could not detect user display name attribute. Please specify it yourself in advanced ldap settings." : "Не удалось автоматически определить атрибут содержащий отображаемое имя пользователя. Зайдите в расширенные настройки ldap и укажите его вручную.", "Could not find the desired feature" : "Не удается найти требуемую функциональность", "Invalid Host" : "Некорректный адрес сервера", @@ -39,7 +39,6 @@ "Available groups" : "Доступные группы", "Selected groups" : "Выбранные группы", "The filter specifies which LDAP groups shall have access to the %s instance." : "Этот фильтр определяет какие LDAP группы должны иметь доступ к экземпляру %s.", - "Test Filter" : "Проверить фильтр", "LDAP / AD Username:" : "Имя пользователя LDAP/AD:", "Other Attributes:" : "Другие атрибуты:", "Defines the filter to apply, when login is attempted. %%uid replaces the username in the login action. Example: \"uid=%%uid\"" : "Определяет фильтр для применения при попытке входа. %%uid заменяет имя пользователя при входе в систему. Например: \"uid=%%uid\"", @@ -114,5 +113,5 @@ "Usernames are used to store and assign (meta) data. In order to precisely identify and recognize users, each LDAP user will have an internal username. This requires a mapping from username to LDAP user. The created username is mapped to the UUID of the LDAP user. Additionally the DN is cached as well to reduce LDAP interaction, but it is not used for identification. If the DN changes, the changes will be found. The internal username is used all over. Clearing the mappings will have leftovers everywhere. Clearing the mappings is not configuration sensitive, it affects all LDAP configurations! Never clear the mappings in a production environment, only in a testing or experimental stage." : "ownCloud использует имена пользователей для хранения и назначения метаданных. Для точной идентификации и распознавания пользователей, каждый пользователь LDAP будет иметь свое внутреннее имя пользователя. Это требует привязки имени пользователя ownCloud к пользователю LDAP. При создании имя пользователя назначается идентификатору UUID пользователя LDAP. Помимо этого кешируется доменное имя (DN) для уменьшения числа обращений к LDAP, однако оно не используется для идентификации. Если доменное имя было изменено, об этом станет известно ownCloud. Внутреннее имя ownCloud используется повсеместно в ownCloud. После сброса привязок в базе могут сохраниться остатки старой информации. Сброс привязок не привязан к конфигурации, он повлияет на все LDAP подключения! Ни в коем случае не рекомендуется сбрасывать привязки если система уже находится в эксплуатации, только на этапе тестирования.", "Clear Username-LDAP User Mapping" : "Очистить соответствия Имя-Пользователь LDAP", "Clear Groupname-LDAP Group Mapping" : "Очистить соответствия Группа-Группа LDAP" -},"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);" +},"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/user_ldap/l10n/sk_SK.js b/apps/user_ldap/l10n/sk_SK.js index a8f9cb398da..745f17a0145 100644 --- a/apps/user_ldap/l10n/sk_SK.js +++ b/apps/user_ldap/l10n/sk_SK.js @@ -36,7 +36,6 @@ OC.L10N.register( "Selected groups" : "Vybrané skupiny", "LDAP Filter:" : "LDAP filter:", "The filter specifies which LDAP groups shall have access to the %s instance." : "Tento filter LDAP určuje, ktoré skupiny budú mať prístup k %s inštancii.", - "Test Filter" : "Otestovať filter", "LDAP / AD Username:" : "Používateľské meno LDAP / AD:", "LDAP / AD Email Address:" : "LDAP / AD emailová adresa:", "Other Attributes:" : "Iné atribúty:", diff --git a/apps/user_ldap/l10n/sk_SK.json b/apps/user_ldap/l10n/sk_SK.json index c7d877bae69..269ca3e076d 100644 --- a/apps/user_ldap/l10n/sk_SK.json +++ b/apps/user_ldap/l10n/sk_SK.json @@ -34,7 +34,6 @@ "Selected groups" : "Vybrané skupiny", "LDAP Filter:" : "LDAP filter:", "The filter specifies which LDAP groups shall have access to the %s instance." : "Tento filter LDAP určuje, ktoré skupiny budú mať prístup k %s inštancii.", - "Test Filter" : "Otestovať filter", "LDAP / AD Username:" : "Používateľské meno LDAP / AD:", "LDAP / AD Email Address:" : "LDAP / AD emailová adresa:", "Other Attributes:" : "Iné atribúty:", diff --git a/apps/user_ldap/l10n/sl.js b/apps/user_ldap/l10n/sl.js index 82d64c27c70..925f802f3a9 100644 --- a/apps/user_ldap/l10n/sl.js +++ b/apps/user_ldap/l10n/sl.js @@ -42,7 +42,6 @@ OC.L10N.register( "Selected groups" : "Izbrane skupine", "LDAP Filter:" : "LDAP Filter:", "The filter specifies which LDAP groups shall have access to the %s instance." : "Filter določa, katere skupine LDAP bodo imele dostop do %s.", - "Test Filter" : "Preizkusi filter", "Other Attributes:" : "Drugi atributi:", "Defines the filter to apply, when login is attempted. %%uid replaces the username in the login action. Example: \"uid=%%uid\"" : "Določi filter, ki bo uveljavljen ob poskusu prijave. %%uid zamenja uporabniško ime pri prijavi, na primer: \"uid=%%uid\"", "Verify settings" : "Preveri nastavitve", diff --git a/apps/user_ldap/l10n/sl.json b/apps/user_ldap/l10n/sl.json index 6ff384a20d7..4674f513589 100644 --- a/apps/user_ldap/l10n/sl.json +++ b/apps/user_ldap/l10n/sl.json @@ -40,7 +40,6 @@ "Selected groups" : "Izbrane skupine", "LDAP Filter:" : "LDAP Filter:", "The filter specifies which LDAP groups shall have access to the %s instance." : "Filter določa, katere skupine LDAP bodo imele dostop do %s.", - "Test Filter" : "Preizkusi filter", "Other Attributes:" : "Drugi atributi:", "Defines the filter to apply, when login is attempted. %%uid replaces the username in the login action. Example: \"uid=%%uid\"" : "Določi filter, ki bo uveljavljen ob poskusu prijave. %%uid zamenja uporabniško ime pri prijavi, na primer: \"uid=%%uid\"", "Verify settings" : "Preveri nastavitve", diff --git a/apps/user_ldap/l10n/sr.js b/apps/user_ldap/l10n/sr.js index 45ccf5b1847..4e1402d95cf 100644 --- a/apps/user_ldap/l10n/sr.js +++ b/apps/user_ldap/l10n/sr.js @@ -62,7 +62,6 @@ OC.L10N.register( "Edit LDAP Query" : "Уреди ЛДАП упит", "LDAP Filter:" : "ЛДАП филтер:", "The filter specifies which LDAP groups shall have access to the %s instance." : "Филтер прецизира које ће LDAP групе требају имати приступ %s случају.", - "Test Filter" : "Испробај филтер", "Verify settings and count groups" : "Провери поставке и преброј групе", "When logging in, %s will find the user based on the following attributes:" : "При пријављивању, %s ће пронаћи корисника на основу следећих атрибута:", "LDAP / AD Username:" : "ЛДАП / АД корисничко име:", diff --git a/apps/user_ldap/l10n/sr.json b/apps/user_ldap/l10n/sr.json index 3c7dffd237d..c2a9c2898eb 100644 --- a/apps/user_ldap/l10n/sr.json +++ b/apps/user_ldap/l10n/sr.json @@ -60,7 +60,6 @@ "Edit LDAP Query" : "Уреди ЛДАП упит", "LDAP Filter:" : "ЛДАП филтер:", "The filter specifies which LDAP groups shall have access to the %s instance." : "Филтер прецизира које ће LDAP групе требају имати приступ %s случају.", - "Test Filter" : "Испробај филтер", "Verify settings and count groups" : "Провери поставке и преброј групе", "When logging in, %s will find the user based on the following attributes:" : "При пријављивању, %s ће пронаћи корисника на основу следећих атрибута:", "LDAP / AD Username:" : "ЛДАП / АД корисничко име:", diff --git a/apps/user_ldap/l10n/sv.js b/apps/user_ldap/l10n/sv.js index f9920f6ca7d..95921f20467 100644 --- a/apps/user_ldap/l10n/sv.js +++ b/apps/user_ldap/l10n/sv.js @@ -31,7 +31,6 @@ OC.L10N.register( "Help" : "Hjälp", "Groups meeting these criteria are available in %s:" : "Grupper som uppfyller dessa kriterier finns i %s:", "The filter specifies which LDAP groups shall have access to the %s instance." : "Filtret specifierar vilka LDAD-grupper som ska ha åtkomst till %s instans", - "Test Filter" : "Testfilter", "Other Attributes:" : "Övriga attribut:", "Defines the filter to apply, when login is attempted. %%uid replaces the username in the login action. Example: \"uid=%%uid\"" : "Definierar filter som tillämpas vid inloggning. %%uid ersätter användarnamn vid inloggningen. Exempel: \"uid=%%uid\"", "1. Server" : "1. Server", diff --git a/apps/user_ldap/l10n/sv.json b/apps/user_ldap/l10n/sv.json index 53155976d98..3f2b74e8dad 100644 --- a/apps/user_ldap/l10n/sv.json +++ b/apps/user_ldap/l10n/sv.json @@ -29,7 +29,6 @@ "Help" : "Hjälp", "Groups meeting these criteria are available in %s:" : "Grupper som uppfyller dessa kriterier finns i %s:", "The filter specifies which LDAP groups shall have access to the %s instance." : "Filtret specifierar vilka LDAD-grupper som ska ha åtkomst till %s instans", - "Test Filter" : "Testfilter", "Other Attributes:" : "Övriga attribut:", "Defines the filter to apply, when login is attempted. %%uid replaces the username in the login action. Example: \"uid=%%uid\"" : "Definierar filter som tillämpas vid inloggning. %%uid ersätter användarnamn vid inloggningen. Exempel: \"uid=%%uid\"", "1. Server" : "1. Server", diff --git a/apps/user_ldap/l10n/tr.js b/apps/user_ldap/l10n/tr.js index 449ad9334cc..e0e46731a59 100644 --- a/apps/user_ldap/l10n/tr.js +++ b/apps/user_ldap/l10n/tr.js @@ -36,7 +36,6 @@ OC.L10N.register( "Help" : "Yardım", "Groups meeting these criteria are available in %s:" : "Bu kriterlerle eşleşen gruplar %s içinde mevcut:", "The filter specifies which LDAP groups shall have access to the %s instance." : "Filtre, %s örneğine erişmesi gereken LDAP gruplarını belirtir.", - "Test Filter" : "Filtreyi Test Et", "Other Attributes:" : "Diğer Nitelikler:", "Defines the filter to apply, when login is attempted. %%uid replaces the username in the login action. Example: \"uid=%%uid\"" : "Oturum açma girişimi olduğunda uygulanacak filtreyi tanımlar. %%uid, oturum işleminde kullanıcı adı ile değiştirilir. Örneğin: \"uid=%%uid\"", "1. Server" : "1. Sunucu", diff --git a/apps/user_ldap/l10n/tr.json b/apps/user_ldap/l10n/tr.json index 45945eb009f..01cfc4c94a4 100644 --- a/apps/user_ldap/l10n/tr.json +++ b/apps/user_ldap/l10n/tr.json @@ -34,7 +34,6 @@ "Help" : "Yardım", "Groups meeting these criteria are available in %s:" : "Bu kriterlerle eşleşen gruplar %s içinde mevcut:", "The filter specifies which LDAP groups shall have access to the %s instance." : "Filtre, %s örneğine erişmesi gereken LDAP gruplarını belirtir.", - "Test Filter" : "Filtreyi Test Et", "Other Attributes:" : "Diğer Nitelikler:", "Defines the filter to apply, when login is attempted. %%uid replaces the username in the login action. Example: \"uid=%%uid\"" : "Oturum açma girişimi olduğunda uygulanacak filtreyi tanımlar. %%uid, oturum işleminde kullanıcı adı ile değiştirilir. Örneğin: \"uid=%%uid\"", "1. Server" : "1. Sunucu", diff --git a/apps/user_ldap/l10n/uk.js b/apps/user_ldap/l10n/uk.js index 40941e3479f..038657a5065 100644 --- a/apps/user_ldap/l10n/uk.js +++ b/apps/user_ldap/l10n/uk.js @@ -31,7 +31,6 @@ OC.L10N.register( "Help" : "Допомога", "Groups meeting these criteria are available in %s:" : "Групи, що відповідають цим критеріям доступні в %s:", "The filter specifies which LDAP groups shall have access to the %s instance." : "Фільтр визначає, які LDAP групи повинні мати доступ до %s примірника.", - "Test Filter" : "Тест Фільтр", "Other Attributes:" : "Інші Атрибути:", "Defines the filter to apply, when login is attempted. %%uid replaces the username in the login action. Example: \"uid=%%uid\"" : "Визначає фільтр, який слід застосовувати при спробі входу.\n%%uid замінює ім'я користувача при вході в систему. Приклад: \"uid=%%uid\"", "1. Server" : "1. Сервер", diff --git a/apps/user_ldap/l10n/uk.json b/apps/user_ldap/l10n/uk.json index daa03c128d3..bfd877a1892 100644 --- a/apps/user_ldap/l10n/uk.json +++ b/apps/user_ldap/l10n/uk.json @@ -29,7 +29,6 @@ "Help" : "Допомога", "Groups meeting these criteria are available in %s:" : "Групи, що відповідають цим критеріям доступні в %s:", "The filter specifies which LDAP groups shall have access to the %s instance." : "Фільтр визначає, які LDAP групи повинні мати доступ до %s примірника.", - "Test Filter" : "Тест Фільтр", "Other Attributes:" : "Інші Атрибути:", "Defines the filter to apply, when login is attempted. %%uid replaces the username in the login action. Example: \"uid=%%uid\"" : "Визначає фільтр, який слід застосовувати при спробі входу.\n%%uid замінює ім'я користувача при вході в систему. Приклад: \"uid=%%uid\"", "1. Server" : "1. Сервер", diff --git a/apps/user_ldap/lib/connection.php b/apps/user_ldap/lib/connection.php index b9d83aad684..d6f4bdcde04 100644 --- a/apps/user_ldap/lib/connection.php +++ b/apps/user_ldap/lib/connection.php @@ -78,8 +78,6 @@ class Connection extends LDAPUtility { $memcache = \OC::$server->getMemCacheFactory(); if($memcache->isAvailable()) { $this->cache = $memcache->create(); - } else { - $this->cache = \OC\Cache::getGlobalCache(); } $this->hasPagedResultSupport = $this->ldap->hasPagedResultSupport(); @@ -195,7 +193,7 @@ class Connection extends LDAPUtility { if(!$this->configured) { $this->readConfiguration(); } - if(!$this->configuration->ldapCacheTTL) { + if(is_null($this->cache) || !$this->configuration->ldapCacheTTL) { return null; } if(!$this->isCached($key)) { @@ -215,7 +213,7 @@ class Connection extends LDAPUtility { if(!$this->configured) { $this->readConfiguration(); } - if(!$this->configuration->ldapCacheTTL) { + if(is_null($this->cache) || !$this->configuration->ldapCacheTTL) { return false; } $key = $this->getCacheKey($key); @@ -225,12 +223,15 @@ class Connection extends LDAPUtility { /** * @param string $key * @param mixed $value + * + * @return string */ public function writeToCache($key, $value) { if(!$this->configured) { $this->readConfiguration(); } - if(!$this->configuration->ldapCacheTTL + if(is_null($this->cache) + || !$this->configuration->ldapCacheTTL || !$this->configuration->ldapConfigurationActive) { return null; } @@ -240,7 +241,9 @@ class Connection extends LDAPUtility { } public function clearCache() { - $this->cache->clear($this->getCacheKey(null)); + if(!is_null($this->cache)) { + $this->cache->clear($this->getCacheKey(null)); + } } /** diff --git a/apps/user_ldap/lib/ldap.php b/apps/user_ldap/lib/ldap.php index b4ca3499f49..4d45db2e155 100644 --- a/apps/user_ldap/lib/ldap.php +++ b/apps/user_ldap/lib/ldap.php @@ -26,6 +26,8 @@ namespace OCA\user_ldap\lib; +use OC\ServerNotAvailableException; + class LDAP implements ILDAPWrapper { protected $curFunc = ''; protected $curArgs = array(); @@ -283,6 +285,12 @@ class LDAP implements ILDAPWrapper { //for now } else if ($errorCode === 10) { //referrals, we switch them off, but then there is AD :) + } else if ($errorCode === -1) { + throw new ServerNotAvailableException('Lost connection to LDAP server.'); + } else if ($errorCode === 48) { + throw new \Exception('LDAP authentication method rejected', $errorCode); + } else if ($errorCode === 1) { + throw new \Exception('LDAP Operations error', $errorCode); } else { \OCP\Util::writeLog('user_ldap', 'LDAP error '.$errorMsg.' (' . diff --git a/apps/user_ldap/lib/wizard.php b/apps/user_ldap/lib/wizard.php index 824923eecbf..6c39f406e83 100644 --- a/apps/user_ldap/lib/wizard.php +++ b/apps/user_ldap/lib/wizard.php @@ -657,12 +657,26 @@ class Wizard extends LDAPUtility { \OCP\Util::writeLog('user_ldap', 'Wiz: trying port '. $p . ', TLS '. $t, \OCP\Util::DEBUG); //connectAndBind may throw Exception, it needs to be catched by the //callee of this method - if($this->connectAndBind($p, $t) === true) { - $config = array('ldapPort' => $p, - 'ldapTLS' => intval($t) - ); + + // unallowed anonymous bind throws 48. But if it throws 48, we + // detected port and TLS, i.e. it is successful. + try { + $settingsFound = $this->connectAndBind($p, $t); + } catch (\Exception $e) { + if($e->getCode() === 48) { + $settingsFound = true; + } else { + throw $e; + } + } + + if ($settingsFound === true) { + $config = array( + 'ldapPort' => $p, + 'ldapTLS' => intval($t) + ); $this->configuration->setConfiguration($config); - \OCP\Util::writeLog('user_ldap', 'Wiz: detected Port '. $p, \OCP\Util::DEBUG); + \OCP\Util::writeLog('user_ldap', 'Wiz: detected Port ' . $p, \OCP\Util::DEBUG); $this->result->addChange('ldap_port', $p); return $this->result; } diff --git a/apps/user_ldap/templates/part.wizard-groupfilter.php b/apps/user_ldap/templates/part.wizard-groupfilter.php index bfcfd115218..2f663b858e2 100644 --- a/apps/user_ldap/templates/part.wizard-groupfilter.php +++ b/apps/user_ldap/templates/part.wizard-groupfilter.php @@ -47,9 +47,6 @@ placeholder="<?php p($l->t('Edit LDAP Query'));?>" title="<?php p($l->t('The filter specifies which LDAP groups shall have access to the %s instance.', $theme->getName()));?>"> </textarea> - <button class="ldapGetEntryCount hidden" name="ldapGetEntryCount" type="button"> - <?php p($l->t('Test Filter'));?> - </button> </p> <p> <div class="ldapWizardInfo invisible"> </div> diff --git a/apps/user_ldap/templates/part.wizard-loginfilter.php b/apps/user_ldap/templates/part.wizard-loginfilter.php index fa17a9b430b..8d9fccf24b8 100644 --- a/apps/user_ldap/templates/part.wizard-loginfilter.php +++ b/apps/user_ldap/templates/part.wizard-loginfilter.php @@ -58,4 +58,4 @@ </p> <?php print_unescaped($_['wizardControls']); ?> </div> -</fieldset>
\ No newline at end of file +</fieldset> diff --git a/apps/user_ldap/tests/integration/exceptionOnLostConnection.php b/apps/user_ldap/tests/integration/exceptionOnLostConnection.php new file mode 100644 index 00000000000..a55d4822689 --- /dev/null +++ b/apps/user_ldap/tests/integration/exceptionOnLostConnection.php @@ -0,0 +1,192 @@ +<?php +/** + * @author Arthur Schiwon <blizzz@owncloud.com> + * + * @copyright Copyright (c) 2015, ownCloud, Inc. + * @license AGPL-3.0 + * + * This code is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License, version 3, + * as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License, version 3, + * along with this program. If not, see <http://www.gnu.org/licenses/> + * + */ + +use OC\ServerNotAvailableException; +use OCA\user_ldap\lib\LDAP; + +/** + * Class ExceptionOnLostConnection + * + * integration test, ensures that an exception is thrown, when the connection is lost. + * + * LDAP must be available via toxiproxy. + * + * This test must be run manually. + * + */ +class ExceptionOnLostConnection { + /** @var string */ + private $toxiProxyHost; + + /** @var string */ + private $toxiProxyName; + + /** @var string */ + private $ldapBase; + + /** @var string|null */ + private $ldapBindDN; + + /** @var string|null */ + private $ldapBindPwd; + + /** @var string */ + private $ldapHost; + + /** @var OCA\user_ldap\lib\LDAP */ + private $ldap; + + /** @var bool */ + private $originalProxyState; + + /** + * @param string $proxyHost host of toxiproxy as url, like http://localhost:8474 + * @param string $proxyName name of the LDAP proxy service as configured in toxiProxy + * @param string $ldapBase any valid LDAP base DN + * @param null $bindDN optional, bind DN if anonymous bind is not possible + * @param null $bindPwd optional + */ + public function __construct($proxyHost, $proxyName, $ldapBase, $bindDN = null, $bindPwd = null) { + $this->toxiProxyHost = $proxyHost; + $this->toxiProxyName = $proxyName; + $this->ldapBase = $ldapBase; + $this->ldapBindDN = $bindDN; + $this->ldapBindPwd = $bindPwd; + + $this->setUp(); + } + + /** + * destructor + */ + public function __destruct() { + $this->cleanUp(); + } + + /** + * prepares everything for the test run. Includes loading ownCloud and + * the LDAP backend, as well as getting information about toxiproxy. + * Also creates an instance of the LDAP class, the testee + * + * @throws Exception + */ + public function setUp() { + require_once __DIR__ . '/../../../../lib/base.php'; + \OC_App::loadApps('user_ldap'); + + $ch = $this->getCurl(); + $proxyInfoJson = curl_exec($ch); + $this->checkCurlResult($ch, $proxyInfoJson); + $proxyInfo = json_decode($proxyInfoJson, true); + $this->originalProxyState = $proxyInfo['enabled']; + $this->ldapHost = 'ldap://' . $proxyInfo['listen']; // contains port as well + + $this->ldap = new LDAP(); + } + + /** + * restores original state of the LDAP proxy, if necessary + */ + public function cleanUp() { + if($this->originalProxyState === true) { + $this->setProxyState(true); + } + } + + /** + * runs the test and prints the result. Exit code is 0 if successful, 1 on + * fail + */ + public function run() { + if($this->originalProxyState === false) { + $this->setProxyState(true); + } + //host contains port, 2nd parameter will be ignored + $cr = $this->ldap->connect($this->ldapHost, 0); + $this->ldap->bind($cr, $this->ldapBindDN, $this->ldapBindPwd); + $this->ldap->search($cr, $this->ldapBase, 'objectClass=*', array('dn'), true, 5); + + // disable LDAP, will cause lost connection + $this->setProxyState(false); + try { + $this->ldap->search($cr, $this->ldapBase, 'objectClass=*', array('dn'), true, 5); + } catch (ServerNotAvailableException $e) { + print("Test PASSED" . PHP_EOL); + exit(0); + } + print("Test FAILED" . PHP_EOL); + exit(1); + } + + /** + * tests whether a curl operation ran successfully. If not, an exception + * is thrown + * + * @param resource $ch + * @param mixed $result + * @throws Exception + */ + private function checkCurlResult($ch, $result) { + if($result === false) { + $error = curl_error($ch); + curl_close($ch); + throw new \Exception($error); + } + } + + /** + * enables or disabled the LDAP proxy service in toxiproxy + * + * @param bool $isEnabled whether is should be enabled or disables + * @throws Exception + */ + private function setProxyState($isEnabled) { + if(!is_bool($isEnabled)) { + throw new \InvalidArgumentException('Bool expected'); + } + $postData = json_encode(['enabled' => $isEnabled]); + $ch = $this->getCurl(); + curl_setopt($ch, CURLOPT_POST, true); + curl_setopt($ch, CURLOPT_POSTFIELDS, $postData); + curl_setopt($ch, CURLOPT_HTTPHEADER, array( + 'Content-Type: application/json', + 'Content-Length: ' . strlen($postData)) + ); + $recvd = curl_exec($ch); + $this->checkCurlResult($ch, $recvd); + } + + /** + * initializes a curl handler towards the toxiproxy LDAP proxy service + * @return resource + */ + private function getCurl() { + $ch = curl_init(); + curl_setopt($ch, CURLOPT_URL, $this->toxiProxyHost . '/proxies/' . $this->toxiProxyName); + curl_setopt($ch, CURLOPT_HEADER, false); + curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); + return $ch; + } +} + +$test = new ExceptionOnLostConnection('http://localhost:8474', 'ldap', 'dc=owncloud,dc=bzoc'); +$test->run(); + |