diff --git a/apps/comments/l10n/cs_CZ.js b/apps/comments/l10n/cs_CZ.js index 0653209616c2f..9a1e18950d2f4 100644 --- a/apps/comments/l10n/cs_CZ.js +++ b/apps/comments/l10n/cs_CZ.js @@ -21,6 +21,7 @@ OC.L10N.register( "You commented" : "Okomentoval(a) jsi", "%1$s commented" : "%1$s okomentován", "You commented on %2$s" : "Okomentoval(a) jsi %2$s", - "%1$s commented on %2$s" : "%1$s okomentoval %2$s" + "%1$s commented on %2$s" : "%1$s okomentoval %2$s", + "Comments for files" : "Komentáře souborů" }, "nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;"); diff --git a/apps/comments/l10n/cs_CZ.json b/apps/comments/l10n/cs_CZ.json index efdd227bfb7e8..9d6e796907c47 100644 --- a/apps/comments/l10n/cs_CZ.json +++ b/apps/comments/l10n/cs_CZ.json @@ -19,6 +19,7 @@ "You commented" : "Okomentoval(a) jsi", "%1$s commented" : "%1$s okomentován", "You commented on %2$s" : "Okomentoval(a) jsi %2$s", - "%1$s commented on %2$s" : "%1$s okomentoval %2$s" + "%1$s commented on %2$s" : "%1$s okomentoval %2$s", + "Comments for files" : "Komentáře souborů" },"pluralForm" :"nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;" } \ No newline at end of file diff --git a/apps/comments/l10n/fr.js b/apps/comments/l10n/fr.js index adb5bc00c1c87..ddea11389228a 100644 --- a/apps/comments/l10n/fr.js +++ b/apps/comments/l10n/fr.js @@ -21,6 +21,7 @@ OC.L10N.register( "You commented" : "Vous avez commenté", "%1$s commented" : "%1$s a commenté", "You commented on %2$s" : "Vous avez commenté %2$s", - "%1$s commented on %2$s" : "%1$s a commenté %2$s" + "%1$s commented on %2$s" : "%1$s a commenté %2$s", + "Comments for files" : "Commentaires pour les fichiers" }, "nplurals=2; plural=(n > 1);"); diff --git a/apps/comments/l10n/fr.json b/apps/comments/l10n/fr.json index 9a7dce480c80e..0fd30da94ad19 100644 --- a/apps/comments/l10n/fr.json +++ b/apps/comments/l10n/fr.json @@ -19,6 +19,7 @@ "You commented" : "Vous avez commenté", "%1$s commented" : "%1$s a commenté", "You commented on %2$s" : "Vous avez commenté %2$s", - "%1$s commented on %2$s" : "%1$s a commenté %2$s" + "%1$s commented on %2$s" : "%1$s a commenté %2$s", + "Comments for files" : "Commentaires pour les fichiers" },"pluralForm" :"nplurals=2; plural=(n > 1);" } \ No newline at end of file diff --git a/apps/comments/l10n/it.js b/apps/comments/l10n/it.js index ae514ece11373..6e3b03d9a7859 100644 --- a/apps/comments/l10n/it.js +++ b/apps/comments/l10n/it.js @@ -21,6 +21,7 @@ OC.L10N.register( "You commented" : "Hai commentato", "%1$s commented" : "%1$s ha commentato", "You commented on %2$s" : "Hai commentato su %2$s", - "%1$s commented on %2$s" : "%1$s ha commentato %2$s" + "%1$s commented on %2$s" : "%1$s ha commentato %2$s", + "Comments for files" : "Commenti sui file" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/comments/l10n/it.json b/apps/comments/l10n/it.json index 20ff98ed1814b..9c260ffe4479c 100644 --- a/apps/comments/l10n/it.json +++ b/apps/comments/l10n/it.json @@ -19,6 +19,7 @@ "You commented" : "Hai commentato", "%1$s commented" : "%1$s ha commentato", "You commented on %2$s" : "Hai commentato su %2$s", - "%1$s commented on %2$s" : "%1$s ha commentato %2$s" + "%1$s commented on %2$s" : "%1$s ha commentato %2$s", + "Comments for files" : "Commenti sui file" },"pluralForm" :"nplurals=2; plural=(n != 1);" } \ No newline at end of file diff --git a/apps/comments/l10n/pt_BR.js b/apps/comments/l10n/pt_BR.js index 0ba0bf5de0c45..19efa9e725ac7 100644 --- a/apps/comments/l10n/pt_BR.js +++ b/apps/comments/l10n/pt_BR.js @@ -21,6 +21,7 @@ OC.L10N.register( "You commented" : "Você comentou", "%1$s commented" : "%1$s comentado", "You commented on %2$s" : "Você comentou em %2$s", - "%1$s commented on %2$s" : "%1$s comentado em %2$s" + "%1$s commented on %2$s" : "%1$s comentado em %2$s", + "Comments for files" : "Comentários para arquivos" }, "nplurals=2; plural=(n > 1);"); diff --git a/apps/comments/l10n/pt_BR.json b/apps/comments/l10n/pt_BR.json index 23b04029d3bba..f250472d98783 100644 --- a/apps/comments/l10n/pt_BR.json +++ b/apps/comments/l10n/pt_BR.json @@ -19,6 +19,7 @@ "You commented" : "Você comentou", "%1$s commented" : "%1$s comentado", "You commented on %2$s" : "Você comentou em %2$s", - "%1$s commented on %2$s" : "%1$s comentado em %2$s" + "%1$s commented on %2$s" : "%1$s comentado em %2$s", + "Comments for files" : "Comentários para arquivos" },"pluralForm" :"nplurals=2; plural=(n > 1);" } \ No newline at end of file diff --git a/apps/dav/lib/Comments/CommentsPlugin.php b/apps/dav/lib/Comments/CommentsPlugin.php index f3cf4fb2030e3..9b496ccf6e5a4 100644 --- a/apps/dav/lib/Comments/CommentsPlugin.php +++ b/apps/dav/lib/Comments/CommentsPlugin.php @@ -149,7 +149,7 @@ public function getSupportedReportSet($uri) { * REPORT operations to look for comments * * @param string $reportName - * @param [] $report + * @param array $report * @param string $uri * @return bool * @throws NotFound diff --git a/apps/encryption/appinfo/info.xml b/apps/encryption/appinfo/info.xml index 83f4107384d43..539f9f116d2c3 100644 --- a/apps/encryption/appinfo/info.xml +++ b/apps/encryption/appinfo/info.xml @@ -19,7 +19,7 @@ admin-encryption false - 1.4.0 + 1.4.1 @@ -27,5 +27,7 @@ openssl - + + OCA\Encryption\Settings\Admin + diff --git a/apps/encryption/l10n/cs_CZ.js b/apps/encryption/l10n/cs_CZ.js index 4d73777d6dabb..faf39706963bd 100644 --- a/apps/encryption/l10n/cs_CZ.js +++ b/apps/encryption/l10n/cs_CZ.js @@ -22,6 +22,9 @@ OC.L10N.register( "The current log-in password was not correct, please try again." : "Současné přihlašovací heslo nebylo zadáno správně, zkuste to prosím znovu.", "Private key password successfully updated." : "Heslo soukromého klíče úspěšně aktualizováno.", "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please run 'occ encryption:migrate' or contact your administrator" : "Musíte přenést své šifrovací klíče ze staré verze šifrování (ownCloud <= 8.0) na novou. Spusťte příkaz 'occ encryption:migrate' nebo kontaktujte svého administrátora.", + "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 v osobním nastavení, abyste znovu získali přístup ke svým 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 šifrovací klíče ještě nejsou inicializované. Prosím odhlaste se a znovu se přihlaste", + "Encryption app is enabled and ready" : "Aplikace šifrování je již povolena a připravena", "Bad Signature" : "Špatný podpis", "Missing Signature" : "Chybějící podpis", "one-time password for server-side-encryption" : "jednorázové heslo pro šifrování na straně serveru", @@ -43,6 +46,7 @@ OC.L10N.register( "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", + "Basic encryption module" : "Základní šifrovací modul", "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", "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:", @@ -53,6 +57,12 @@ OC.L10N.register( "Enable password recovery:" : "Povolit obnovu hesla:", "Enabling this option will allow you to reobtain access to your encrypted files in case of password loss" : "Zapnutí této volby vám umožní znovu získat přístup k vašim zašifrovaným souborům pokud ztratíte heslo", "Enabled" : "Povoleno", - "Disabled" : "Zakázáno" + "Disabled" : "Zakázáno", + "You need to migrate your encryption keys from the old encryption (Nextcloud <= 8.0) to the new one. Please run 'occ encryption:migrate' or contact your administrator" : "Musíte přenést své šifrovací klíče ze staré verze šifrování (Nextcloud <= 8.0) na novou. Spusťte příkaz 'occ encryption:migrate' nebo kontaktujte svého administrátora.", + "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 v osobním nastavení, abyste znovu získali přístup ke svým zašifrovaným souborům.", + "Encryption App is enabled and ready" : "Aplikace šifrování je již povolena a připravena", + "Hey there,\n\nthe admin enabled server-side-encryption. Your files were encrypted using the password '%s'.\n\nPlease login to the web interface, go to the section 'Nextcloud basic encryption module' of your personal settings and update your encryption password by entering this password into the 'old log-in password' field and your current login-password.\n\n" : "Ahoj!\n\nAdministrátor povolil šifrování dat na serveru. Vaše soubory byly zašifrovány za použití hesla '%s'.\n\nPřihlašte se do webového rozhraní, přejděte do nastavení 'základního šifrovacího modulu Nextcloud' a aktualizujte šifrovací heslo zadáním hesla výše do pole 'původní přihlašovací heslo' a svého aktuálního přihlašovacího hesla.\n\n", + "Hey there,

the admin enabled server-side-encryption. Your files were encrypted using the password %s.

Please login to the web interface, go to the section \"Nextcloud basic encryption module\" of your personal settings and update your encryption password by entering this password into the \"old log-in password\" field and your current login-password.

" : "Ahoj!

Administrátor povolil šifrování dat na serveru. Vaše soubory byly zašifrovány za použití hesla %s.

Přihlašte se do webového rozhraní, přejděte do nastavení \"základního šifrovacího modulu Nextcloud\" a aktualizujte šifrovací heslo zadáním hesla výše do pole \"původní přihlašovací heslo\" a svého aktuálního přihlašovacího hesla.

", + "Nextcloud basic encryption module" : "Základní šifrovací modul Nextcloud" }, "nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;"); diff --git a/apps/encryption/l10n/cs_CZ.json b/apps/encryption/l10n/cs_CZ.json index f911f993af59e..fd6f414fd63e8 100644 --- a/apps/encryption/l10n/cs_CZ.json +++ b/apps/encryption/l10n/cs_CZ.json @@ -20,6 +20,9 @@ "The current log-in password was not correct, please try again." : "Současné přihlašovací heslo nebylo zadáno správně, zkuste to prosím znovu.", "Private key password successfully updated." : "Heslo soukromého klíče úspěšně aktualizováno.", "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please run 'occ encryption:migrate' or contact your administrator" : "Musíte přenést své šifrovací klíče ze staré verze šifrování (ownCloud <= 8.0) na novou. Spusťte příkaz 'occ encryption:migrate' nebo kontaktujte svého administrátora.", + "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 v osobním nastavení, abyste znovu získali přístup ke svým 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 šifrovací klíče ještě nejsou inicializované. Prosím odhlaste se a znovu se přihlaste", + "Encryption app is enabled and ready" : "Aplikace šifrování je již povolena a připravena", "Bad Signature" : "Špatný podpis", "Missing Signature" : "Chybějící podpis", "one-time password for server-side-encryption" : "jednorázové heslo pro šifrování na straně serveru", @@ -41,6 +44,7 @@ "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", + "Basic encryption module" : "Základní šifrovací modul", "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", "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:", @@ -51,6 +55,12 @@ "Enable password recovery:" : "Povolit obnovu hesla:", "Enabling this option will allow you to reobtain access to your encrypted files in case of password loss" : "Zapnutí této volby vám umožní znovu získat přístup k vašim zašifrovaným souborům pokud ztratíte heslo", "Enabled" : "Povoleno", - "Disabled" : "Zakázáno" + "Disabled" : "Zakázáno", + "You need to migrate your encryption keys from the old encryption (Nextcloud <= 8.0) to the new one. Please run 'occ encryption:migrate' or contact your administrator" : "Musíte přenést své šifrovací klíče ze staré verze šifrování (Nextcloud <= 8.0) na novou. Spusťte příkaz 'occ encryption:migrate' nebo kontaktujte svého administrátora.", + "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 v osobním nastavení, abyste znovu získali přístup ke svým zašifrovaným souborům.", + "Encryption App is enabled and ready" : "Aplikace šifrování je již povolena a připravena", + "Hey there,\n\nthe admin enabled server-side-encryption. Your files were encrypted using the password '%s'.\n\nPlease login to the web interface, go to the section 'Nextcloud basic encryption module' of your personal settings and update your encryption password by entering this password into the 'old log-in password' field and your current login-password.\n\n" : "Ahoj!\n\nAdministrátor povolil šifrování dat na serveru. Vaše soubory byly zašifrovány za použití hesla '%s'.\n\nPřihlašte se do webového rozhraní, přejděte do nastavení 'základního šifrovacího modulu Nextcloud' a aktualizujte šifrovací heslo zadáním hesla výše do pole 'původní přihlašovací heslo' a svého aktuálního přihlašovacího hesla.\n\n", + "Hey there,

the admin enabled server-side-encryption. Your files were encrypted using the password %s.

Please login to the web interface, go to the section \"Nextcloud basic encryption module\" of your personal settings and update your encryption password by entering this password into the \"old log-in password\" field and your current login-password.

" : "Ahoj!

Administrátor povolil šifrování dat na serveru. Vaše soubory byly zašifrovány za použití hesla %s.

Přihlašte se do webového rozhraní, přejděte do nastavení \"základního šifrovacího modulu Nextcloud\" a aktualizujte šifrovací heslo zadáním hesla výše do pole \"původní přihlašovací heslo\" a svého aktuálního přihlašovacího hesla.

", + "Nextcloud basic encryption module" : "Základní šifrovací modul Nextcloud" },"pluralForm" :"nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;" } \ No newline at end of file diff --git a/apps/encryption/l10n/de.js b/apps/encryption/l10n/de.js index 2c014860ab6ae..6314663d1e649 100644 --- a/apps/encryption/l10n/de.js +++ b/apps/encryption/l10n/de.js @@ -59,6 +59,10 @@ OC.L10N.register( "Enabled" : "Aktiviert", "Disabled" : "Deaktiviert", "You need to migrate your encryption keys from the old encryption (Nextcloud <= 8.0) to the new one. Please run 'occ encryption:migrate' or contact your administrator" : "Du musst Deine Verschlüsselungs-Schlüssel von der Alten Vershlüsselung (ownCloud <= 8.0) zur neuen migrieren. Bitte führe 'occ encryption:migrate' aus oder kontaktiere den Administrator", - "Encryption App is enabled and ready" : "Verschlüsselungs-App ist aktiviert und bereit." + "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 Ihr privates Schlüssel-Passwort aktualisieren, um den Zugriff auf Ihre verschlüsselten Dateien wiederherzustellen.", + "Encryption App is enabled and ready" : "Verschlüsselungs-App ist aktiviert und bereit.", + "Hey there,\n\nthe admin enabled server-side-encryption. Your files were encrypted using the password '%s'.\n\nPlease login to the web interface, go to the section 'Nextcloud basic encryption module' of your personal settings and update your encryption password by entering this password into the 'old log-in password' field and your current login-password.\n\n" : "Hey,\n\nder Administrator hat die servereitige Verschlüsselung aktiviert. Die Dateien wurden mit dem Kennwort '%s' verschlüsselt.\n\nBitte über die Web-Oberfläche anmelden und die persönlichen Einstellungen aufrufen. Dort findet sich die Option 'Nextcloud-Basisverschlüsselungsmodul' und das Verschlüsselungspasswort kann aktualisiert werden, indem das Passwort in das Feld 'altes Login Passwort' und in das 'aktuelles Login - Passwort'-Feld eingegeben wird.\n\n", + "Hey there,

the admin enabled server-side-encryption. Your files were encrypted using the password %s.

Please login to the web interface, go to the section \"Nextcloud basic encryption module\" of your personal settings and update your encryption password by entering this password into the \"old log-in password\" field and your current login-password.

" : "Hey,

der Administrator hat die servereitige Verschlüsselung aktiviert. Die Dateien wurden mit dem Kennwort %s verschlüsselt.

Bitte melde dich im Web-Interface an, gehe in deine persönlichen Einstellungen. Dort findest du die Option 'Nextcloud-Basisverschlüsselungsmodul' und aktualisiere dort dein Verschlüsselungspasswort indem du das Passwort in das 'alte Log - in Passwort' und in das 'aktuellen Login - Passwort' Feld eingibst.

", + "Nextcloud basic encryption module" : "Nextcloud-Basisverschlüsselungsmodul" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/encryption/l10n/de.json b/apps/encryption/l10n/de.json index de1cc7aa66796..a44bfe45f4363 100644 --- a/apps/encryption/l10n/de.json +++ b/apps/encryption/l10n/de.json @@ -57,6 +57,10 @@ "Enabled" : "Aktiviert", "Disabled" : "Deaktiviert", "You need to migrate your encryption keys from the old encryption (Nextcloud <= 8.0) to the new one. Please run 'occ encryption:migrate' or contact your administrator" : "Du musst Deine Verschlüsselungs-Schlüssel von der Alten Vershlüsselung (ownCloud <= 8.0) zur neuen migrieren. Bitte führe 'occ encryption:migrate' aus oder kontaktiere den Administrator", - "Encryption App is enabled and ready" : "Verschlüsselungs-App ist aktiviert und bereit." + "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 Ihr privates Schlüssel-Passwort aktualisieren, um den Zugriff auf Ihre verschlüsselten Dateien wiederherzustellen.", + "Encryption App is enabled and ready" : "Verschlüsselungs-App ist aktiviert und bereit.", + "Hey there,\n\nthe admin enabled server-side-encryption. Your files were encrypted using the password '%s'.\n\nPlease login to the web interface, go to the section 'Nextcloud basic encryption module' of your personal settings and update your encryption password by entering this password into the 'old log-in password' field and your current login-password.\n\n" : "Hey,\n\nder Administrator hat die servereitige Verschlüsselung aktiviert. Die Dateien wurden mit dem Kennwort '%s' verschlüsselt.\n\nBitte über die Web-Oberfläche anmelden und die persönlichen Einstellungen aufrufen. Dort findet sich die Option 'Nextcloud-Basisverschlüsselungsmodul' und das Verschlüsselungspasswort kann aktualisiert werden, indem das Passwort in das Feld 'altes Login Passwort' und in das 'aktuelles Login - Passwort'-Feld eingegeben wird.\n\n", + "Hey there,

the admin enabled server-side-encryption. Your files were encrypted using the password %s.

Please login to the web interface, go to the section \"Nextcloud basic encryption module\" of your personal settings and update your encryption password by entering this password into the \"old log-in password\" field and your current login-password.

" : "Hey,

der Administrator hat die servereitige Verschlüsselung aktiviert. Die Dateien wurden mit dem Kennwort %s verschlüsselt.

Bitte melde dich im Web-Interface an, gehe in deine persönlichen Einstellungen. Dort findest du die Option 'Nextcloud-Basisverschlüsselungsmodul' und aktualisiere dort dein Verschlüsselungspasswort indem du das Passwort in das 'alte Log - in Passwort' und in das 'aktuellen Login - Passwort' Feld eingibst.

", + "Nextcloud basic encryption module" : "Nextcloud-Basisverschlüsselungsmodul" },"pluralForm" :"nplurals=2; plural=(n != 1);" } \ No newline at end of file diff --git a/apps/encryption/l10n/de_DE.js b/apps/encryption/l10n/de_DE.js index a5a7f6381b1e9..9d11a13010f2c 100644 --- a/apps/encryption/l10n/de_DE.js +++ b/apps/encryption/l10n/de_DE.js @@ -61,6 +61,8 @@ OC.L10N.register( "You need to migrate your encryption keys from the old encryption (Nextcloud <= 8.0) to the new one. Please run 'occ encryption:migrate' or contact your administrator" : "Sie müssen Ihre Verschlüsselungsschlüssel von der alten Verschlüsselung (ownCloud <= 8.0) zur neuen migrieren. Bitte führen Sie 'occ encryption:migrate' aus oder kontaktieren Sie Ihren Administrator. ", "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 and ready" : "Verschlüsselungs-App ist aktiviert und bereit", + "Hey there,\n\nthe admin enabled server-side-encryption. Your files were encrypted using the password '%s'.\n\nPlease login to the web interface, go to the section 'Nextcloud basic encryption module' of your personal settings and update your encryption password by entering this password into the 'old log-in password' field and your current login-password.\n\n" : "Hey,\n\nder Administrator hat die servereitige Verschlüsselung aktiviert. Die Dateien wurden mit dem Kennwort '%s' verschlüsselt.\n\nBitte über die Web-Oberfläche anmelden und die persönlichen Einstellungen aufrufen. Dort findet sich die Option 'Nextcloud-Basisverschlüsselungsmodul' und das Verschlüsselungspasswort kann aktualisiert werden, indem das Passwort in das Feld 'altes Login Passwort' und in das 'aktuelles Login - Passwort'-Feld eingegeben wird.\n", + "Hey there,

the admin enabled server-side-encryption. Your files were encrypted using the password %s.

Please login to the web interface, go to the section \"Nextcloud basic encryption module\" of your personal settings and update your encryption password by entering this password into the \"old log-in password\" field and your current login-password.

" : "Hey,

der Administrator hat die servereitige Verschlüsselung aktiviert. Die Dateien wurden mit dem Kennwort %s verschlüsselt.

Bitte melden Sie sich im Web-Interface an, gehe Sie in ihre persönlichen Einstellungen. Dort finden Sie die Option 'Nextcloud-Basisverschlüsselungsmodul' und aktualisieren Sie dort Ihr Verschlüsselungspasswort indem Sie das Passwort in das 'alte Log - in Passwort' und in das 'aktuellen Login - Passwort' Feld eingeben.

", "Nextcloud basic encryption module" : "Nextcloud Basisverschlüsselungsmodul" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/encryption/l10n/de_DE.json b/apps/encryption/l10n/de_DE.json index f72e0f79e67d4..9ad5fdb5942fc 100644 --- a/apps/encryption/l10n/de_DE.json +++ b/apps/encryption/l10n/de_DE.json @@ -59,6 +59,8 @@ "You need to migrate your encryption keys from the old encryption (Nextcloud <= 8.0) to the new one. Please run 'occ encryption:migrate' or contact your administrator" : "Sie müssen Ihre Verschlüsselungsschlüssel von der alten Verschlüsselung (ownCloud <= 8.0) zur neuen migrieren. Bitte führen Sie 'occ encryption:migrate' aus oder kontaktieren Sie Ihren Administrator. ", "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 and ready" : "Verschlüsselungs-App ist aktiviert und bereit", + "Hey there,\n\nthe admin enabled server-side-encryption. Your files were encrypted using the password '%s'.\n\nPlease login to the web interface, go to the section 'Nextcloud basic encryption module' of your personal settings and update your encryption password by entering this password into the 'old log-in password' field and your current login-password.\n\n" : "Hey,\n\nder Administrator hat die servereitige Verschlüsselung aktiviert. Die Dateien wurden mit dem Kennwort '%s' verschlüsselt.\n\nBitte über die Web-Oberfläche anmelden und die persönlichen Einstellungen aufrufen. Dort findet sich die Option 'Nextcloud-Basisverschlüsselungsmodul' und das Verschlüsselungspasswort kann aktualisiert werden, indem das Passwort in das Feld 'altes Login Passwort' und in das 'aktuelles Login - Passwort'-Feld eingegeben wird.\n", + "Hey there,

the admin enabled server-side-encryption. Your files were encrypted using the password %s.

Please login to the web interface, go to the section \"Nextcloud basic encryption module\" of your personal settings and update your encryption password by entering this password into the \"old log-in password\" field and your current login-password.

" : "Hey,

der Administrator hat die servereitige Verschlüsselung aktiviert. Die Dateien wurden mit dem Kennwort %s verschlüsselt.

Bitte melden Sie sich im Web-Interface an, gehe Sie in ihre persönlichen Einstellungen. Dort finden Sie die Option 'Nextcloud-Basisverschlüsselungsmodul' und aktualisieren Sie dort Ihr Verschlüsselungspasswort indem Sie das Passwort in das 'alte Log - in Passwort' und in das 'aktuellen Login - Passwort' Feld eingeben.

", "Nextcloud basic encryption module" : "Nextcloud Basisverschlüsselungsmodul" },"pluralForm" :"nplurals=2; plural=(n != 1);" } \ No newline at end of file diff --git a/apps/encryption/l10n/it.js b/apps/encryption/l10n/it.js index dfa98d1c647f9..cd02be2476ed2 100644 --- a/apps/encryption/l10n/it.js +++ b/apps/encryption/l10n/it.js @@ -57,6 +57,8 @@ OC.L10N.register( "Enable password recovery:" : "Abilita il ripristino della password:", "Enabling this option will allow you to reobtain access to your encrypted files in case of password loss" : "L'abilitazione di questa opzione ti consentirà di accedere nuovamente ai file cifrati in caso di perdita della password", "Enabled" : "Abilitata", - "Disabled" : "Disabilitata" + "Disabled" : "Disabilitata", + "Encryption App is enabled and ready" : "L'applicazione Cifratura è abilitata e pronta", + "Nextcloud basic encryption module" : "Modulo di cifratura base di Nextcloud" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/encryption/l10n/it.json b/apps/encryption/l10n/it.json index 7a73d3a682df1..2dfb7d07e6a7b 100644 --- a/apps/encryption/l10n/it.json +++ b/apps/encryption/l10n/it.json @@ -55,6 +55,8 @@ "Enable password recovery:" : "Abilita il ripristino della password:", "Enabling this option will allow you to reobtain access to your encrypted files in case of password loss" : "L'abilitazione di questa opzione ti consentirà di accedere nuovamente ai file cifrati in caso di perdita della password", "Enabled" : "Abilitata", - "Disabled" : "Disabilitata" + "Disabled" : "Disabilitata", + "Encryption App is enabled and ready" : "L'applicazione Cifratura è abilitata e pronta", + "Nextcloud basic encryption module" : "Modulo di cifratura base di Nextcloud" },"pluralForm" :"nplurals=2; plural=(n != 1);" } \ No newline at end of file diff --git a/apps/encryption/lib/AppInfo/Application.php b/apps/encryption/lib/AppInfo/Application.php index bba522fbc8c7c..a43646d86d9bc 100644 --- a/apps/encryption/lib/AppInfo/Application.php +++ b/apps/encryption/lib/AppInfo/Application.php @@ -269,7 +269,6 @@ function (IAppContainer $c) { public function registerSettings() { // Register settings scripts - App::registerAdmin('encryption', 'settings/settings-admin'); App::registerPersonal('encryption', 'settings/settings-personal'); } } diff --git a/apps/encryption/lib/Settings/Admin.php b/apps/encryption/lib/Settings/Admin.php new file mode 100644 index 0000000000000..2faa118e2a248 --- /dev/null +++ b/apps/encryption/lib/Settings/Admin.php @@ -0,0 +1,127 @@ + + * + * @author Arthur Schiwon + * + * @license GNU AGPL version 3 or any later version + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + */ + +namespace OCA\Encryption\Settings; + +use OC\Files\View; +use OCA\Encryption\Crypto\Crypt; +use OCA\Encryption\Session; +use OCA\Encryption\Util; +use OCP\AppFramework\Http\TemplateResponse; +use OCP\IL10N; +use OCP\ILogger; +use OCP\ISession; +use OCP\IUserManager; +use OCP\IUserSession; +use OCP\Settings\ISettings; +use OCP\IConfig; + +class Admin implements ISettings { + + /** @var IL10N */ + private $l; + + /** @var ILogger */ + private $logger; + + /** @var IUserSession */ + private $userSession; + + /** @var IConfig */ + private $config; + + /** @var IUserManager */ + private $userManager; + + /** @var ISession */ + private $session; + + public function __construct( + IL10N $l, + ILogger $logger, + IUserSession $userSession, + IConfig $config, + IUserManager $userManager, + ISession $session + ) { + $this->l = $l; + $this->logger = $logger; + $this->userSession = $userSession; + $this->config = $config; + $this->userManager = $userManager; + $this->session = $session; + } + + /** + * @return TemplateResponse + */ + public function getForm() { + $crypt = new Crypt( + $this->logger, + $this->userSession, + $this->config, + $this->l); + + $util = new Util( + new View(), + $crypt, + $this->logger, + $this->userSession, + $this->config, + $this->userManager); + + // Check if an adminRecovery account is enabled for recovering files after lost pwd + $recoveryAdminEnabled = $this->config->getAppValue('encryption', 'recoveryAdminEnabled', '0'); + $session = new Session($this->session); + + $encryptHomeStorage = $util->shouldEncryptHomeStorage(); + + $parameters = [ + 'recoveryEnabled' => $recoveryAdminEnabled, + 'initStatus' => $session->getStatus(), + 'encryptHomeStorage' => $encryptHomeStorage, + 'masterKeyEnabled' => $util->isMasterKeyEnabled(), + ]; + + return new TemplateResponse('encryption', 'settings-admin', $parameters, ''); + } + + /** + * @return string the section ID, e.g. 'sharing' + */ + public function getSection() { + return 'encryption'; + } + + /** + * @return int whether the form should be rather on the top or bottom of + * the admin section. The forms are arranged in ascending order of the + * priority values. It is required to return a value between 0 and 100. + * + * E.g.: 70 + */ + public function getPriority() { + return 5; + } + +} diff --git a/apps/encryption/settings/settings-admin.php b/apps/encryption/settings/settings-admin.php deleted file mode 100644 index a424ea038741c..0000000000000 --- a/apps/encryption/settings/settings-admin.php +++ /dev/null @@ -1,53 +0,0 @@ - - * @author Clark Tomlinson - * @author Lukas Reschke - * @author Thomas Müller - * - * @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 - * - */ - -$tmpl = new OCP\Template('encryption', 'settings-admin'); - -$crypt = new \OCA\Encryption\Crypto\Crypt( - \OC::$server->getLogger(), - \OC::$server->getUserSession(), - \OC::$server->getConfig(), - \OC::$server->getL10N('encryption')); - -$util = new \OCA\Encryption\Util( - new \OC\Files\View(), - $crypt, - \OC::$server->getLogger(), - \OC::$server->getUserSession(), - \OC::$server->getConfig(), - \OC::$server->getUserManager()); - -// Check if an adminRecovery account is enabled for recovering files after lost pwd -$recoveryAdminEnabled = \OC::$server->getConfig()->getAppValue('encryption', 'recoveryAdminEnabled', '0'); -$session = new \OCA\Encryption\Session(\OC::$server->getSession()); - -$encryptHomeStorage = $util->shouldEncryptHomeStorage(); - -$tmpl->assign('recoveryEnabled', $recoveryAdminEnabled); -$tmpl->assign('initStatus', $session->getStatus()); -$tmpl->assign('encryptHomeStorage', $encryptHomeStorage); -$tmpl->assign('masterKeyEnabled', $util->isMasterKeyEnabled()); - -return $tmpl->fetchPage(); diff --git a/apps/encryption/templates/settings-admin.php b/apps/encryption/templates/settings-admin.php index 5c551267ff5f0..405dbaf703f38 100644 --- a/apps/encryption/templates/settings-admin.php +++ b/apps/encryption/templates/settings-admin.php @@ -6,6 +6,7 @@ style('encryption', 'settings-admin'); ?>
+

t("Default encryption module")); ?>

t("Encryption app is enabled but your keys are not initialized, please log-out and log-in again")); ?> diff --git a/apps/encryption/tests/Settings/AdminTest.php b/apps/encryption/tests/Settings/AdminTest.php new file mode 100644 index 0000000000000..93896585dad5c --- /dev/null +++ b/apps/encryption/tests/Settings/AdminTest.php @@ -0,0 +1,100 @@ + + * + * @author Lukas Reschke + * + * @license GNU AGPL version 3 or any later version + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + */ + +namespace OCA\Encryption\Tests\Settings; + +use OCA\Encryption\Settings\Admin; +use OCP\AppFramework\Http\TemplateResponse; +use OCP\IConfig; +use OCP\ISession; +use OCP\IUserManager; +use OCP\IUserSession; +use OCP\IL10N; +use OCP\ILogger; +use Test\TestCase; + +class AdminTest extends TestCase { + /** @var Admin */ + private $admin; + /** @var IL10N */ + private $l; + /** @var ILogger */ + private $logger; + /** @var IUserSession */ + private $userSession; + /** @var IConfig */ + private $config; + /** @var IUserManager */ + private $userManager; + /** @var ISession */ + private $session; + + public function setUp() { + parent::setUp(); + + $this->l = $this->getMockBuilder('\OCP\IL10N')->getMock(); + $this->logger = $this->getMockBuilder('\OCP\ILogger')->getMock(); + $this->userSession = $this->getMockBuilder('\OCP\IUserSession')->getMock(); + $this->config = $this->getMockBuilder('\OCP\IConfig')->getMock(); + $this->userManager = $this->getMockBuilder('\OCP\IUserManager')->getMock(); + $this->session = $this->getMockBuilder('\OCP\ISession')->getMock(); + + $this->admin = new Admin( + $this->l, + $this->logger, + $this->userSession, + $this->config, + $this->userManager, + $this->session + ); + } + + public function testGetForm() { + $this->config + ->expects($this->at(0)) + ->method('getAppValue') + ->with('encryption', 'recoveryAdminEnabled', '0') + ->willReturn(1); + $this->config + ->expects($this->at(1)) + ->method('getAppValue') + ->with('encryption', 'encryptHomeStorage', '1') + ->willReturn(1); + $params = [ + 'recoveryEnabled' => 1, + 'initStatus' => '0', + 'encryptHomeStorage' => false, + 'masterKeyEnabled' => false + ]; + $expected = new TemplateResponse('encryption', 'settings-admin', $params, ''); + $this->assertEquals($expected, $this->admin->getForm()); + } + + public function testGetSection() { + $this->assertSame('encryption', $this->admin->getSection()); + } + + public function testGetPriority() { + $this->assertSame(5, $this->admin->getPriority()); + } +} diff --git a/apps/federatedfilesharing/appinfo/info.xml b/apps/federatedfilesharing/appinfo/info.xml index 2a80bd54da381..984235f085167 100644 --- a/apps/federatedfilesharing/appinfo/info.xml +++ b/apps/federatedfilesharing/appinfo/info.xml @@ -5,10 +5,13 @@ Provide federated file sharing across servers AGPL Bjoern Schiessle, Roeland Jago Douma - 1.1.0 + 1.1.1 FederatedFileSharing other + + OCA\FederatedFileSharing\Settings\Admin + diff --git a/apps/federatedfilesharing/lib/AppInfo/Application.php b/apps/federatedfilesharing/lib/AppInfo/Application.php index b4ddc6cfe0455..b767a322505b2 100644 --- a/apps/federatedfilesharing/lib/AppInfo/Application.php +++ b/apps/federatedfilesharing/lib/AppInfo/Application.php @@ -40,7 +40,6 @@ public function __construct() { * register personal and admin settings page */ public function registerSettings() { - \OCP\App::registerAdmin('federatedfilesharing', 'settings-admin'); \OCP\App::registerPersonal('federatedfilesharing', 'settings-personal'); } diff --git a/apps/federatedfilesharing/lib/Settings/Admin.php b/apps/federatedfilesharing/lib/Settings/Admin.php new file mode 100644 index 0000000000000..64619e329f371 --- /dev/null +++ b/apps/federatedfilesharing/lib/Settings/Admin.php @@ -0,0 +1,69 @@ + + * + * @author Arthur Schiwon + * + * @license GNU AGPL version 3 or any later version + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + */ + +namespace OCA\FederatedFileSharing\Settings; + +use OCA\FederatedFileSharing\FederatedShareProvider; +use OCP\AppFramework\Http\TemplateResponse; +use OCP\Settings\ISettings; + +class Admin implements ISettings { + + /** @var FederatedShareProvider */ + private $fedShareProvider; + + public function __construct(FederatedShareProvider $fedShareProvider) { + $this->fedShareProvider = $fedShareProvider; + } + + /** + * @return TemplateResponse + */ + public function getForm() { + $parameters = [ + 'outgoingServer2serverShareEnabled' => $this->fedShareProvider->isOutgoingServer2serverShareEnabled(), + 'incomingServer2serverShareEnabled' => $this->fedShareProvider->isIncomingServer2serverShareEnabled(), + ]; + + return new TemplateResponse('federatedfilesharing', 'settings-admin', $parameters, ''); + } + + /** + * @return string the section ID, e.g. 'sharing' + */ + public function getSection() { + return 'sharing'; + } + + /** + * @return int whether the form should be rather on the top or bottom of + * the admin section. The forms are arranged in ascending order of the + * priority values. It is required to return a value between 0 and 100. + * + * E.g.: 70 + */ + public function getPriority() { + return 20; + } + +} diff --git a/apps/federatedfilesharing/settings-admin.php b/apps/federatedfilesharing/settings-admin.php deleted file mode 100644 index 5ccd223b0a337..0000000000000 --- a/apps/federatedfilesharing/settings-admin.php +++ /dev/null @@ -1,34 +0,0 @@ - - * @author Björn Schießle - * @author Morris Jobke - * - * @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 - * - */ - -use OCA\FederatedFileSharing\AppInfo\Application; - -$app = new Application(); -$federatedShareProvider = $app->getFederatedShareProvider(); - -$tmpl = new OCP\Template('federatedfilesharing', 'settings-admin'); -$tmpl->assign('outgoingServer2serverShareEnabled', $federatedShareProvider->isOutgoingServer2serverShareEnabled()); -$tmpl->assign('incomingServer2serverShareEnabled', $federatedShareProvider->isIncomingServer2serverShareEnabled()); - -return $tmpl->fetchPage(); diff --git a/apps/federatedfilesharing/templates/settings-admin.php b/apps/federatedfilesharing/templates/settings-admin.php index 5d2eb04c1706e..c454eeba17bf2 100644 --- a/apps/federatedfilesharing/templates/settings-admin.php +++ b/apps/federatedfilesharing/templates/settings-admin.php @@ -4,7 +4,7 @@ script('federatedfilesharing', 'settings-admin'); ?> -
+

t('Federated Cloud Sharing'));?>

+ * + * @author Lukas Reschke + * + * @license GNU AGPL version 3 or any later version + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + */ + +namespace OCA\FederatedFileSharing\Tests\Settings; + +use OCA\FederatedFileSharing\Settings\Admin; +use OCP\AppFramework\Http\TemplateResponse; +use Test\TestCase; + +class AdminTest extends TestCase { + /** @var Admin */ + private $admin; + /** @var \OCA\FederatedFileSharing\FederatedShareProvider */ + private $federatedShareProvider; + + public function setUp() { + parent::setUp(); + $this->federatedShareProvider = $this->getMockBuilder('\OCA\FederatedFileSharing\FederatedShareProvider')->disableOriginalConstructor()->getMock(); + $this->admin = new Admin( + $this->federatedShareProvider + ); + } + + public function sharingStateProvider() { + return [ + [ + true, + ], + [ + false, + ] + ]; + } + + /** + * @dataProvider sharingStateProvider + * @param bool $state + */ + public function testGetForm($state) { + $this->federatedShareProvider + ->expects($this->once()) + ->method('isOutgoingServer2serverShareEnabled') + ->willReturn($state); + $this->federatedShareProvider + ->expects($this->once()) + ->method('isIncomingServer2serverShareEnabled') + ->willReturn($state); + + $params = [ + 'outgoingServer2serverShareEnabled' => $state, + 'incomingServer2serverShareEnabled' => $state, + ]; + $expected = new TemplateResponse('federatedfilesharing', 'settings-admin', $params, ''); + $this->assertEquals($expected, $this->admin->getForm()); + } + + public function testGetSection() { + $this->assertSame('sharing', $this->admin->getSection()); + } + + public function testGetPriority() { + $this->assertSame(20, $this->admin->getPriority()); + } +} diff --git a/apps/federation/appinfo/app.php b/apps/federation/appinfo/app.php index 92b64b9c05855..6c53810dd2c22 100644 --- a/apps/federation/appinfo/app.php +++ b/apps/federation/appinfo/app.php @@ -23,5 +23,4 @@ namespace OCA\Federation\AppInfo; $app = new Application(); -$app->registerSettings(); $app->registerHooks(); diff --git a/apps/federation/appinfo/info.xml b/apps/federation/appinfo/info.xml index b8d697a4db2a7..da65fef2446a2 100644 --- a/apps/federation/appinfo/info.xml +++ b/apps/federation/appinfo/info.xml @@ -5,7 +5,7 @@ Federation allows you to connect with other trusted servers to exchange the user directory. For example this will be used to auto-complete external users for federated sharing. AGPL Bjoern Schiessle - 1.1.0 + 1.1.1 Federation other @@ -19,4 +19,8 @@ OCA\Federation\SyncJob + + + OCA\Federation\Settings\Admin + diff --git a/apps/federation/l10n/cs_CZ.js b/apps/federation/l10n/cs_CZ.js index 09d3bcf3602a6..3fcb48e298330 100644 --- a/apps/federation/l10n/cs_CZ.js +++ b/apps/federation/l10n/cs_CZ.js @@ -3,12 +3,16 @@ OC.L10N.register( { "Added to the list of trusted servers" : "Přidán na seznam důvěryhodných serverů.", "Server is already in the list of trusted servers." : "Server je již přidán na seznam důvěryhodných serverů.", + "No server to federate with found" : "Nenalezen žádný server ke sdružování", "Could not add server" : "Nepodařilo se přidat server", "Federation" : "Sdružování", "Federation allows you to connect with other trusted servers to exchange the user directory. For example this will be used to auto-complete external users for federated sharing." : "Sdružování vám umožňuje se připojit k dalším důvěryhodným serverům za účelem výměny uživatelských adresářů. Používá se to např. pro automatické doplňování uživatelů při sdruženém sdílení.", "Add server automatically once a federated share was created successfully" : "Přidat server automaticky jakmile je úspěšně vytvořeno sdružené sdílení", "Trusted Servers" : "Důvěryhodné servery", "+ Add Nextcloud server" : "+ Přidat Nextcloud server", - "Nextcloud Server" : "Server Nextcloud" + "Nextcloud Server" : "Server Nextcloud", + "Server added to the list of trusted Nextclouds" : "Server přidán do seznamu důvěryhodných serverů Nextcloud", + "No Nextcloud server found" : "Nextcloud server nenalezen", + "Trusted Nextcloud Servers" : "Důvěryhodné Nextcloud servery" }, "nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;"); diff --git a/apps/federation/l10n/cs_CZ.json b/apps/federation/l10n/cs_CZ.json index 84b227e21d244..0d8bd1b74f3a1 100644 --- a/apps/federation/l10n/cs_CZ.json +++ b/apps/federation/l10n/cs_CZ.json @@ -1,12 +1,16 @@ { "translations": { "Added to the list of trusted servers" : "Přidán na seznam důvěryhodných serverů.", "Server is already in the list of trusted servers." : "Server je již přidán na seznam důvěryhodných serverů.", + "No server to federate with found" : "Nenalezen žádný server ke sdružování", "Could not add server" : "Nepodařilo se přidat server", "Federation" : "Sdružování", "Federation allows you to connect with other trusted servers to exchange the user directory. For example this will be used to auto-complete external users for federated sharing." : "Sdružování vám umožňuje se připojit k dalším důvěryhodným serverům za účelem výměny uživatelských adresářů. Používá se to např. pro automatické doplňování uživatelů při sdruženém sdílení.", "Add server automatically once a federated share was created successfully" : "Přidat server automaticky jakmile je úspěšně vytvořeno sdružené sdílení", "Trusted Servers" : "Důvěryhodné servery", "+ Add Nextcloud server" : "+ Přidat Nextcloud server", - "Nextcloud Server" : "Server Nextcloud" + "Nextcloud Server" : "Server Nextcloud", + "Server added to the list of trusted Nextclouds" : "Server přidán do seznamu důvěryhodných serverů Nextcloud", + "No Nextcloud server found" : "Nextcloud server nenalezen", + "Trusted Nextcloud Servers" : "Důvěryhodné Nextcloud servery" },"pluralForm" :"nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;" } \ No newline at end of file diff --git a/apps/federation/l10n/it.js b/apps/federation/l10n/it.js index 5a4dbc1f0a0e0..1673361ef7640 100644 --- a/apps/federation/l10n/it.js +++ b/apps/federation/l10n/it.js @@ -10,6 +10,9 @@ OC.L10N.register( "Add server automatically once a federated share was created successfully" : "Aggiungi automaticamente il server dopo che una condivisione federata è stata creata con successo", "Trusted Servers" : "Server affidabili", "+ Add Nextcloud server" : "+ Aggiungi server Nextcloud", - "Nextcloud Server" : "Server Nextcloud" + "Nextcloud Server" : "Server Nextcloud", + "Server added to the list of trusted Nextclouds" : "Server aggiunto all'elenco dei Nextcloud affidabili", + "No Nextcloud server found" : "Nessun server Nextcloud trovato", + "Trusted Nextcloud Servers" : "Server Nextcloud affidabili" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/federation/l10n/it.json b/apps/federation/l10n/it.json index e0013dc7abdfe..1050007abba7c 100644 --- a/apps/federation/l10n/it.json +++ b/apps/federation/l10n/it.json @@ -8,6 +8,9 @@ "Add server automatically once a federated share was created successfully" : "Aggiungi automaticamente il server dopo che una condivisione federata è stata creata con successo", "Trusted Servers" : "Server affidabili", "+ Add Nextcloud server" : "+ Aggiungi server Nextcloud", - "Nextcloud Server" : "Server Nextcloud" + "Nextcloud Server" : "Server Nextcloud", + "Server added to the list of trusted Nextclouds" : "Server aggiunto all'elenco dei Nextcloud affidabili", + "No Nextcloud server found" : "Nessun server Nextcloud trovato", + "Trusted Nextcloud Servers" : "Server Nextcloud affidabili" },"pluralForm" :"nplurals=2; plural=(n != 1);" } \ No newline at end of file diff --git a/apps/federation/l10n/pt_BR.js b/apps/federation/l10n/pt_BR.js index c13e2b79d5aad..683c6f2e18228 100644 --- a/apps/federation/l10n/pt_BR.js +++ b/apps/federation/l10n/pt_BR.js @@ -11,6 +11,7 @@ OC.L10N.register( "Trusted Servers" : "Servidores confiáveis", "+ Add Nextcloud server" : "+ Adicionar servidor Nextcloud", "Nextcloud Server" : "Servidor Nextcloud", + "Server added to the list of trusted Nextclouds" : "Adicionado a lista de servidores confiáveis.", "No Nextcloud server found" : "Servidor Nextcloud não encontrado", "Trusted Nextcloud Servers" : "Servidores Nextcloud confiáveis" }, diff --git a/apps/federation/l10n/pt_BR.json b/apps/federation/l10n/pt_BR.json index 17369337cc7d9..b2b9f0271f580 100644 --- a/apps/federation/l10n/pt_BR.json +++ b/apps/federation/l10n/pt_BR.json @@ -9,6 +9,7 @@ "Trusted Servers" : "Servidores confiáveis", "+ Add Nextcloud server" : "+ Adicionar servidor Nextcloud", "Nextcloud Server" : "Servidor Nextcloud", + "Server added to the list of trusted Nextclouds" : "Adicionado a lista de servidores confiáveis.", "No Nextcloud server found" : "Servidor Nextcloud não encontrado", "Trusted Nextcloud Servers" : "Servidores Nextcloud confiáveis" },"pluralForm" :"nplurals=2; plural=(n > 1);" diff --git a/apps/federation/lib/AppInfo/Application.php b/apps/federation/lib/AppInfo/Application.php index 5d8da05c8e111..cdc6145dfb45f 100644 --- a/apps/federation/lib/AppInfo/Application.php +++ b/apps/federation/lib/AppInfo/Application.php @@ -51,13 +51,6 @@ public function __construct($urlParams = array()) { $this->registerMiddleware(); } - /** - * register setting scripts - */ - public function registerSettings() { - App::registerAdmin('federation', 'settings/settings-admin'); - } - private function registerService() { $container = $this->getContainer(); diff --git a/apps/federation/lib/Settings/Admin.php b/apps/federation/lib/Settings/Admin.php new file mode 100644 index 0000000000000..eccb3237f7d81 --- /dev/null +++ b/apps/federation/lib/Settings/Admin.php @@ -0,0 +1,69 @@ + + * + * @author Arthur Schiwon + * + * @license GNU AGPL version 3 or any later version + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + */ + +namespace OCA\Federation\Settings; + +use OCA\Federation\TrustedServers; +use OCP\AppFramework\Http\TemplateResponse; +use OCP\Settings\ISettings; + +class Admin implements ISettings { + + /** @var TrustedServers */ + private $trustedServers; + + public function __construct(TrustedServers $trustedServers) { + $this->trustedServers = $trustedServers; + } + + /** + * @return TemplateResponse + */ + public function getForm() { + $parameters = [ + 'trustedServers' => $this->trustedServers->getServers(), + 'autoAddServers' => $this->trustedServers->getAutoAddServers(), + ]; + + return new TemplateResponse('federation', 'settings-admin', $parameters, ''); + } + + /** + * @return string the section ID, e.g. 'sharing' + */ + public function getSection() { + return 'sharing'; + } + + /** + * @return int whether the form should be rather on the top or bottom of + * the admin section. The forms are arranged in ascending order of the + * priority values. It is required to return a value between 0 and 100. + * + * E.g.: 70 + */ + public function getPriority() { + return 30; + } + +} diff --git a/apps/federation/settings/settings-admin.php b/apps/federation/settings/settings-admin.php deleted file mode 100644 index aa21a1e9920e3..0000000000000 --- a/apps/federation/settings/settings-admin.php +++ /dev/null @@ -1,43 +0,0 @@ - - * - * @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 - * - */ - -$template = new OCP\Template('federation', 'settings-admin'); - -$dbHandler = new \OCA\Federation\DbHandler( - \OC::$server->getDatabaseConnection(), - \OC::$server->getL10N('federation') -); - -$trustedServers = new \OCA\Federation\TrustedServers( - $dbHandler, - \OC::$server->getHTTPClientService(), - \OC::$server->getLogger(), - \OC::$server->getJobList(), - \OC::$server->getSecureRandom(), - \OC::$server->getConfig(), - \OC::$server->getEventDispatcher() -); - -$template->assign('trustedServers', $trustedServers->getServers()); -$template->assign('autoAddServers', $trustedServers->getAutoAddServers()); - -return $template->fetchPage(); diff --git a/apps/federation/tests/Settings/AdminTest.php b/apps/federation/tests/Settings/AdminTest.php new file mode 100644 index 0000000000000..758bda6bc5e13 --- /dev/null +++ b/apps/federation/tests/Settings/AdminTest.php @@ -0,0 +1,70 @@ + + * + * @author Lukas Reschke + * + * @license GNU AGPL version 3 or any later version + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + */ + +namespace OCA\Federation\Tests\Settings; + +use OCA\Federation\Settings\Admin; +use OCA\Federation\TrustedServers; +use OCP\AppFramework\Http\TemplateResponse; +use Test\TestCase; + +class AdminTest extends TestCase { + /** @var Admin */ + private $admin; + /** @var TrustedServers */ + private $trustedServers; + + public function setUp() { + parent::setUp(); + $this->trustedServers = $this->getMockBuilder('\OCA\Federation\TrustedServers')->disableOriginalConstructor()->getMock(); + $this->admin = new Admin( + $this->trustedServers + ); + } + + public function testGetForm() { + $this->trustedServers + ->expects($this->once()) + ->method('getServers') + ->willReturn(['myserver', 'secondserver']); + $this->trustedServers + ->expects($this->once()) + ->method('getAutoAddServers') + ->willReturn(['autoserver1', 'autoserver2']); + + $params = [ + 'trustedServers' => ['myserver', 'secondserver'], + 'autoAddServers' => ['autoserver1', 'autoserver2'], + ]; + $expected = new TemplateResponse('federation', 'settings-admin', $params, ''); + $this->assertEquals($expected, $this->admin->getForm()); + } + + public function testGetSection() { + $this->assertSame('sharing', $this->admin->getSection()); + } + + public function testGetPriority() { + $this->assertSame(30, $this->admin->getPriority()); + } +} diff --git a/apps/files/admin.php b/apps/files/admin.php deleted file mode 100644 index ad7b16a3a23f1..0000000000000 --- a/apps/files/admin.php +++ /dev/null @@ -1,51 +0,0 @@ - - * @author Clark Tomlinson - * @author Frank Karlitschek - * @author Michael Göhler - * @author Morris Jobke - * @author Robin Appelman - * @author Robin McCorkell - * @author Thomas Müller - * - * @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 - * - */ - -$htaccessWorking=(getenv('htaccessWorking')=='true'); -$upload_max_filesize = OC::$server->getIniWrapper()->getBytes('upload_max_filesize'); -$post_max_size = OC::$server->getIniWrapper()->getBytes('post_max_size'); -$maxUploadFilesize = OCP\Util::humanFileSize(min($upload_max_filesize, $post_max_size)); -if($_POST && \OC::$server->getRequest()->passesCSRFCheck()) { - if(isset($_POST['maxUploadSize'])) { - if(($setMaxSize = OC_Files::setUploadLimit(OCP\Util::computerFileSize($_POST['maxUploadSize']))) !== false) { - $maxUploadFilesize = OCP\Util::humanFileSize($setMaxSize); - } - } -} - -$htaccessWritable=is_writable(OC::$SERVERROOT.'/.htaccess'); -$userIniWritable=is_writable(OC::$SERVERROOT.'/.user.ini'); - -$tmpl = new OCP\Template( 'files', 'admin' ); -$tmpl->assign( 'uploadChangable', ($htaccessWorking and $htaccessWritable) or $userIniWritable ); -$tmpl->assign( 'uploadMaxFilesize', $maxUploadFilesize); -// max possible makes only sense on a 32 bit system -$tmpl->assign( 'displayMaxPossibleUploadSize', PHP_INT_SIZE===4); -$tmpl->assign( 'maxPossibleUploadSize', OCP\Util::humanFileSize(PHP_INT_MAX)); -return $tmpl->fetchPage(); diff --git a/apps/files/appinfo/app.php b/apps/files/appinfo/app.php index 850c335c27d06..afb327e24ba31 100644 --- a/apps/files/appinfo/app.php +++ b/apps/files/appinfo/app.php @@ -26,8 +26,6 @@ * along with this program. If not, see * */ -\OCP\App::registerAdmin('files', 'admin'); - $l = \OC::$server->getL10N('files'); \OC::$server->getNavigationManager()->add(function () { diff --git a/apps/files/appinfo/info.xml b/apps/files/appinfo/info.xml index 8b26a6af7110f..513940f73a95c 100644 --- a/apps/files/appinfo/info.xml +++ b/apps/files/appinfo/info.xml @@ -6,7 +6,7 @@ AGPL Robin Appelman, Vincent Petry - 1.6.0 + 1.6.1 @@ -22,4 +22,8 @@ OCA\Files\BackgroundJob\DeleteOrphanedItems OCA\Files\BackgroundJob\CleanupFileLocks + + + OCA\Files\Settings\Admin + diff --git a/apps/files/l10n/cs_CZ.js b/apps/files/l10n/cs_CZ.js index 53123735bd75c..8d35fb7897716 100644 --- a/apps/files/l10n/cs_CZ.js +++ b/apps/files/l10n/cs_CZ.js @@ -132,6 +132,8 @@ OC.L10N.register( "No favorites" : "Žádné oblíbené", "Files and folders you mark as favorite will show up here" : "Soubory a adresáře označené jako oblíbené budou zobrazeny zde", "Text file" : "Textový soubor", - "New text file.txt" : "Nový textový soubor.txt" + "New text file.txt" : "Nový textový soubor.txt", + "Use this address to access your Files via WebDAV" : "Použijte tuto adresu pro přístup ke svým Souborům přes WebDAV", + "Cancel upload" : "Ukončit nahrávání" }, "nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;"); diff --git a/apps/files/l10n/cs_CZ.json b/apps/files/l10n/cs_CZ.json index cdee66376387f..496d55f40c5ec 100644 --- a/apps/files/l10n/cs_CZ.json +++ b/apps/files/l10n/cs_CZ.json @@ -130,6 +130,8 @@ "No favorites" : "Žádné oblíbené", "Files and folders you mark as favorite will show up here" : "Soubory a adresáře označené jako oblíbené budou zobrazeny zde", "Text file" : "Textový soubor", - "New text file.txt" : "Nový textový soubor.txt" + "New text file.txt" : "Nový textový soubor.txt", + "Use this address to access your Files via WebDAV" : "Použijte tuto adresu pro přístup ke svým Souborům přes WebDAV", + "Cancel upload" : "Ukončit nahrávání" },"pluralForm" :"nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;" } \ No newline at end of file diff --git a/apps/files/l10n/it.js b/apps/files/l10n/it.js index 363419c364353..3865d5861a222 100644 --- a/apps/files/l10n/it.js +++ b/apps/files/l10n/it.js @@ -132,6 +132,8 @@ OC.L10N.register( "No favorites" : "Nessun preferito", "Files and folders you mark as favorite will show up here" : "I file e le cartelle che marchi come preferiti saranno mostrati qui", "Text file" : "File di testo", - "New text file.txt" : "Nuovo file di testo.txt" + "New text file.txt" : "Nuovo file di testo.txt", + "Use this address to access your Files via WebDAV" : "Utilizza questo indirizzo per accedere ai tuoi file con WebDAV", + "Cancel upload" : "Annulla caricamento" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/files/l10n/it.json b/apps/files/l10n/it.json index 16571b6bd98aa..a37bc1d5ce783 100644 --- a/apps/files/l10n/it.json +++ b/apps/files/l10n/it.json @@ -130,6 +130,8 @@ "No favorites" : "Nessun preferito", "Files and folders you mark as favorite will show up here" : "I file e le cartelle che marchi come preferiti saranno mostrati qui", "Text file" : "File di testo", - "New text file.txt" : "Nuovo file di testo.txt" + "New text file.txt" : "Nuovo file di testo.txt", + "Use this address to access your Files via WebDAV" : "Utilizza questo indirizzo per accedere ai tuoi file con WebDAV", + "Cancel upload" : "Annulla caricamento" },"pluralForm" :"nplurals=2; plural=(n != 1);" } \ No newline at end of file diff --git a/apps/files/l10n/pt_BR.js b/apps/files/l10n/pt_BR.js index c35ae30e7d237..ce548569f275b 100644 --- a/apps/files/l10n/pt_BR.js +++ b/apps/files/l10n/pt_BR.js @@ -1,7 +1,7 @@ OC.L10N.register( "files", { - "Storage not available" : "Armazanamento não disponível", + "Storage not available" : "Armazenamento não disponível", "Storage invalid" : "Armazenamento inválido", "Unknown error" : "Erro desconhecido", "Unable to set upload directory." : "Não é possível configurar o diretório de envio.", @@ -133,6 +133,7 @@ OC.L10N.register( "Files and folders you mark as favorite will show up here" : "Arquivos e pastas que você marcou como favoritos são mostrados aqui", "Text file" : "Arquivo texto", "New text file.txt" : "Novo texto file.txt", + "Use this address to access your Files via WebDAV" : "Use este endereço para acessar seus arquivos via WebDAV", "Cancel upload" : "Cancelar envio" }, "nplurals=2; plural=(n > 1);"); diff --git a/apps/files/l10n/pt_BR.json b/apps/files/l10n/pt_BR.json index 746f2a3e895c6..8320e0dd0f494 100644 --- a/apps/files/l10n/pt_BR.json +++ b/apps/files/l10n/pt_BR.json @@ -1,5 +1,5 @@ { "translations": { - "Storage not available" : "Armazanamento não disponível", + "Storage not available" : "Armazenamento não disponível", "Storage invalid" : "Armazenamento inválido", "Unknown error" : "Erro desconhecido", "Unable to set upload directory." : "Não é possível configurar o diretório de envio.", @@ -131,6 +131,7 @@ "Files and folders you mark as favorite will show up here" : "Arquivos e pastas que você marcou como favoritos são mostrados aqui", "Text file" : "Arquivo texto", "New text file.txt" : "Novo texto file.txt", + "Use this address to access your Files via WebDAV" : "Use este endereço para acessar seus arquivos via WebDAV", "Cancel upload" : "Cancelar envio" },"pluralForm" :"nplurals=2; plural=(n > 1);" } \ No newline at end of file diff --git a/apps/files/lib/Controller/ViewController.php b/apps/files/lib/Controller/ViewController.php index 9dbe06ff7898f..779a2c7aadc9d 100644 --- a/apps/files/lib/Controller/ViewController.php +++ b/apps/files/lib/Controller/ViewController.php @@ -195,18 +195,6 @@ public function index($dir = '', $view = '', $fileid = null) { \OCP\Util::addscript('files', 'keyboardshortcuts'); \OCP\Util::addscript('files', 'navigation'); - // if IE8 and "?dir=path&view=someview" was specified, reformat the URL to use a hash like "#?dir=path&view=someview" - $isIE8 = $this->request->isUserAgent([Request::USER_AGENT_IE_8]); - if ($isIE8 && ($dir !== '' || $view !== '')) { - $dir = !empty($dir) ? $dir : '/'; - $view = !empty($view) ? $view : 'files'; - $hash = '#?dir=' . \OCP\Util::encodePath($dir); - if ($view !== 'files') { - $hash .= '&view=' . urlencode($view); - } - return new RedirectResponse($this->urlGenerator->linkToRoute('files.view.index') . $hash); - } - // mostly for the home storage's free space // FIXME: Make non static $storageInfo = $this->getStorageInfo(); diff --git a/apps/files/lib/Settings/Admin.php b/apps/files/lib/Settings/Admin.php new file mode 100644 index 0000000000000..9ec23d47517b9 --- /dev/null +++ b/apps/files/lib/Settings/Admin.php @@ -0,0 +1,93 @@ + + * + * @author Arthur Schiwon + * + * @license GNU AGPL version 3 or any later version + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + */ + +namespace OCA\Files\Settings; + +use bantu\IniGetWrapper\IniGetWrapper; +use OCP\AppFramework\Http\TemplateResponse; +use OCP\IRequest; +use OCP\Settings\ISettings; +use OCP\Util; + +class Admin implements ISettings { + + /** @var IniGetWrapper */ + private $iniWrapper; + + /** @var IRequest */ + private $request; + + public function __construct(IniGetWrapper $iniWrapper, IRequest $request) { + $this->iniWrapper = $iniWrapper; + $this->request = $request; + } + + /** + * @return TemplateResponse + */ + public function getForm() { + $htaccessWorking = (getenv('htaccessWorking') == 'true'); + $htaccessWritable = is_writable(\OC::$SERVERROOT.'/.htaccess'); + $userIniWritable = is_writable(\OC::$SERVERROOT.'/.user.ini'); + + $upload_max_filesize = $this->iniWrapper->getBytes('upload_max_filesize'); + $post_max_size = $this->iniWrapper->getBytes('post_max_size'); + $maxUploadFilesize = Util::humanFileSize(min($upload_max_filesize, $post_max_size)); + if($_POST && $this->request->passesCSRFCheck()) { + if(isset($_POST['maxUploadSize'])) { + if(($setMaxSize = \OC_Files::setUploadLimit(Util::computerFileSize($_POST['maxUploadSize']))) !== false) { + $maxUploadFilesize = Util::humanFileSize($setMaxSize); + } + } + } + + $parameters = [ + 'uploadChangable' => (($htaccessWorking and $htaccessWritable) or $userIniWritable ), + 'uploadMaxFilesize' => $maxUploadFilesize, + // max possible makes only sense on a 32 bit system + 'displayMaxPossibleUploadSize' => PHP_INT_SIZE === 4, + 'maxPossibleUploadSize' => Util::humanFileSize(PHP_INT_MAX), + ]; + + return new TemplateResponse('files', 'admin', $parameters, ''); + } + + /** + * @return string the section ID, e.g. 'sharing' + */ + public function getSection() { + return 'additional'; + } + + /** + * @return int whether the form should be rather on the top or bottom of + * the admin section. The forms are arranged in ascending order of the + * priority values. It is required to return a value between 0 and 100. + * + * E.g.: 70 + */ + public function getPriority() { + return 5; + } + +} diff --git a/apps/files/tests/Controller/ViewControllerTest.php b/apps/files/tests/Controller/ViewControllerTest.php index 373f8c2515222..12ff779d6f14e 100644 --- a/apps/files/tests/Controller/ViewControllerTest.php +++ b/apps/files/tests/Controller/ViewControllerTest.php @@ -73,22 +73,22 @@ class ViewControllerTest extends TestCase { public function setUp() { parent::setUp(); - $this->request = $this->getMock('\OCP\IRequest'); - $this->urlGenerator = $this->getMock('\OCP\IURLGenerator'); - $this->navigationManager = $this->getMock('\OCP\INavigationManager'); - $this->l10n = $this->getMock('\OCP\IL10N'); - $this->config = $this->getMock('\OCP\IConfig'); - $this->eventDispatcher = $this->getMock('\Symfony\Component\EventDispatcher\EventDispatcherInterface'); - $this->userSession = $this->getMock('\OCP\IUserSession'); - $this->appManager = $this->getMock('\OCP\App\IAppManager'); - $this->user = $this->getMock('\OCP\IUser'); + $this->request = $this->getMockBuilder('\OCP\IRequest')->getMock(); + $this->urlGenerator = $this->getMockBuilder('\OCP\IURLGenerator')->getMock(); + $this->navigationManager = $this->getMockBuilder('\OCP\INavigationManager')->getMock(); + $this->l10n = $this->getMockBuilder('\OCP\IL10N')->getMock(); + $this->config = $this->getMockBuilder('\OCP\IConfig')->getMock(); + $this->eventDispatcher = $this->getMockBuilder('\Symfony\Component\EventDispatcher\EventDispatcherInterface')->getMock(); + $this->userSession = $this->getMockBuilder('\OCP\IUserSession')->getMock(); + $this->appManager = $this->getMockBuilder('\OCP\App\IAppManager')->getMock(); + $this->user = $this->getMockBuilder('\OCP\IUser')->getMock(); $this->user->expects($this->any()) ->method('getUID') ->will($this->returnValue('testuser1')); $this->userSession->expects($this->any()) ->method('getUser') ->will($this->returnValue($this->user)); - $this->rootFolder = $this->getMock('\OCP\Files\Folder'); + $this->rootFolder = $this->getMockBuilder('\OCP\Files\Folder')->getMock(); $this->viewController = $this->getMockBuilder('\OCA\Files\Controller\ViewController') ->setConstructorArgs([ 'files', @@ -109,60 +109,7 @@ public function setUp() { ->getMock(); } - public function testIndexWithIE8RedirectAndDirDefined() { - $this->request - ->expects($this->once()) - ->method('isUserAgent') - ->with(['/MSIE 8.0/']) - ->will($this->returnValue(true)); - $this->urlGenerator - ->expects($this->once()) - ->method('linkToRoute') - ->with('files.view.index') - ->will($this->returnValue('/apps/files/')); - - $expected = new Http\RedirectResponse('/apps/files/#?dir=MyDir'); - $this->assertEquals($expected, $this->viewController->index('MyDir')); - } - - public function testIndexWithIE8RedirectAndViewDefined() { - $this->request - ->expects($this->once()) - ->method('isUserAgent') - ->with(['/MSIE 8.0/']) - ->will($this->returnValue(true)); - $this->urlGenerator - ->expects($this->once()) - ->method('linkToRoute') - ->with('files.view.index') - ->will($this->returnValue('/apps/files/')); - - $expected = new Http\RedirectResponse('/apps/files/#?dir=/&view=MyView'); - $this->assertEquals($expected, $this->viewController->index('', 'MyView')); - } - - public function testIndexWithIE8RedirectAndViewAndDirDefined() { - $this->request - ->expects($this->once()) - ->method('isUserAgent') - ->with(['/MSIE 8.0/']) - ->will($this->returnValue(true)); - $this->urlGenerator - ->expects($this->once()) - ->method('linkToRoute') - ->with('files.view.index') - ->will($this->returnValue('/apps/files/')); - - $expected = new RedirectResponse('/apps/files/#?dir=MyDir&view=MyView'); - $this->assertEquals($expected, $this->viewController->index('MyDir', 'MyView')); - } - public function testIndexWithRegularBrowser() { - $this->request - ->expects($this->once()) - ->method('isUserAgent') - ->with(['/MSIE 8.0/']) - ->will($this->returnValue(false)); $this->viewController ->expects($this->once()) ->method('getStorageInfo') @@ -329,12 +276,12 @@ public function showFileMethodProvider() { * @dataProvider showFileMethodProvider */ public function testShowFileRouteWithFolder($useShowFile) { - $node = $this->getMock('\OCP\Files\Folder'); + $node = $this->getMockBuilder('\OCP\Files\Folder')->getMock(); $node->expects($this->once()) ->method('getPath') ->will($this->returnValue('/testuser1/files/test/sub')); - $baseFolder = $this->getMock('\OCP\Files\Folder'); + $baseFolder = $this->getMockBuilder('\OCP\Files\Folder')->getMock(); $this->rootFolder->expects($this->once()) ->method('get') @@ -368,19 +315,19 @@ public function testShowFileRouteWithFolder($useShowFile) { * @dataProvider showFileMethodProvider */ public function testShowFileRouteWithFile($useShowFile) { - $parentNode = $this->getMock('\OCP\Files\Folder'); + $parentNode = $this->getMockBuilder('\OCP\Files\Folder')->getMock(); $parentNode->expects($this->once()) ->method('getPath') ->will($this->returnValue('testuser1/files/test')); - $baseFolder = $this->getMock('\OCP\Files\Folder'); + $baseFolder = $this->getMockBuilder('\OCP\Files\Folder')->getMock(); $this->rootFolder->expects($this->once()) ->method('get') ->with('testuser1/files/') ->will($this->returnValue($baseFolder)); - $node = $this->getMock('\OCP\Files\File'); + $node = $this->getMockBuilder('\OCP\Files\File')->getMock(); $node->expects($this->once()) ->method('getParent') ->will($this->returnValue($parentNode)); @@ -415,7 +362,7 @@ public function testShowFileRouteWithFile($useShowFile) { * @dataProvider showFileMethodProvider */ public function testShowFileRouteWithInvalidFileId($useShowFile) { - $baseFolder = $this->getMock('\OCP\Files\Folder'); + $baseFolder = $this->getMockBuilder('\OCP\Files\Folder')->getMock(); $this->rootFolder->expects($this->once()) ->method('get') ->with('testuser1/files/') @@ -446,13 +393,13 @@ public function testShowFileRouteWithTrashedFile($useShowFile) { ->with('files_trashbin') ->will($this->returnValue(true)); - $parentNode = $this->getMock('\OCP\Files\Folder'); + $parentNode = $this->getMockBuilder('\OCP\Files\Folder')->getMock(); $parentNode->expects($this->once()) ->method('getPath') ->will($this->returnValue('testuser1/files_trashbin/files/test.d1462861890/sub')); - $baseFolderFiles = $this->getMock('\OCP\Files\Folder'); - $baseFolderTrash = $this->getMock('\OCP\Files\Folder'); + $baseFolderFiles = $this->getMockBuilder('\OCP\Files\Folder')->getMock(); + $baseFolderTrash = $this->getMockBuilder('\OCP\Files\Folder')->getMock(); $this->rootFolder->expects($this->at(0)) ->method('get') @@ -468,7 +415,7 @@ public function testShowFileRouteWithTrashedFile($useShowFile) { ->with(123) ->will($this->returnValue([])); - $node = $this->getMock('\OCP\Files\File'); + $node = $this->getMockBuilder('\OCP\Files\File')->getMock(); $node->expects($this->once()) ->method('getParent') ->will($this->returnValue($parentNode)); diff --git a/apps/files/tests/Settings/AdminTest.php b/apps/files/tests/Settings/AdminTest.php new file mode 100644 index 0000000000000..1ab8a992879c1 --- /dev/null +++ b/apps/files/tests/Settings/AdminTest.php @@ -0,0 +1,83 @@ + + * + * @author Lukas Reschke + * + * @license GNU AGPL version 3 or any later version + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + */ + +namespace OCA\Files\Tests\Settings; + +use bantu\IniGetWrapper\IniGetWrapper; +use OCA\Files\Settings\Admin; +use OCP\AppFramework\Http\TemplateResponse; +use OCP\IRequest; +use OCP\Util; +use Test\TestCase; + +class AdminTest extends TestCase { + /** @var Admin */ + private $admin; + /** @var IniGetWrapper */ + private $iniGetWrapper; + /** @var IRequest */ + private $request; + + public function setUp() { + parent::setUp(); + $this->iniGetWrapper = $this->getMockBuilder('\bantu\IniGetWrapper\IniGetWrapper')->disableOriginalConstructor()->getMock(); + $this->request = $this->getMockBuilder('\OCP\IRequest')->getMock(); + $this->admin = new Admin( + $this->iniGetWrapper, + $this->request + ); + } + + public function testGetForm() { + $htaccessWorking = (getenv('htaccessWorking') == 'true'); + $htaccessWritable = is_writable(\OC::$SERVERROOT.'/.htaccess'); + $userIniWritable = is_writable(\OC::$SERVERROOT.'/.user.ini'); + + $this->iniGetWrapper + ->expects($this->at(0)) + ->method('getBytes') + ->with('upload_max_filesize') + ->willReturn(1234); + $this->iniGetWrapper + ->expects($this->at(1)) + ->method('getBytes') + ->with('post_max_size') + ->willReturn(1234); + $params = [ + 'uploadChangable' => (($htaccessWorking and $htaccessWritable) or $userIniWritable ), + 'uploadMaxFilesize' => '1 KB', + 'displayMaxPossibleUploadSize' => PHP_INT_SIZE === 4, + 'maxPossibleUploadSize' => Util::humanFileSize(PHP_INT_MAX), + ]; + $expected = new TemplateResponse('files', 'admin', $params, ''); + $this->assertEquals($expected, $this->admin->getForm()); + } + + public function testGetSection() { + $this->assertSame('additional', $this->admin->getSection()); + } + + public function testGetPriority() { + $this->assertSame(5, $this->admin->getPriority()); + } +} diff --git a/apps/files_external/appinfo/database.xml b/apps/files_external/appinfo/database.xml index 54ee642ead652..e39144931a77b 100644 --- a/apps/files_external/appinfo/database.xml +++ b/apps/files_external/appinfo/database.xml @@ -144,7 +144,7 @@ value text - true + false 4096 diff --git a/apps/files_external/appinfo/info.xml b/apps/files_external/appinfo/info.xml index 43f06d60843fb..f99ef3b6c49e1 100644 --- a/apps/files_external/appinfo/info.xml +++ b/apps/files_external/appinfo/info.xml @@ -3,9 +3,9 @@ files_external External storage support - This application enables administrators to configure connections to external storage providers, such as FTP servers, S3 or SWIFT object stores, Google Drive, Dropbox, other ownCloud servers, WebDAV servers, and more. Administrators can choose which types of storage to enable and can mount these storage locations for a user, a group, or the entire system. Users will see a new folder appear in their root ownCloud directory, which they can access and use like any other ownCloud folder. External Storage also allows users to share files stored in these external locations. In these cases, the credentials for the owner of the file are used when the recipient requests the file from external storage, thereby ensuring that the recipient can access the shared file. + This application enables administrators to configure connections to external storage providers, such as FTP servers, S3 or SWIFT object stores, Google Drive, Dropbox, other ownCloud servers, WebDAV servers, and more. Administrators can choose which types of storage to enable and can mount these storage locations for a user, a group, or the entire system. Users will see a new folder appear in their root ownCloud directory, which they can access and use like any other ownCloud folder. External storage also allows users to share files stored in these external locations. In these cases, the credentials for the owner of the file are used when the recipient requests the file from external storage, thereby ensuring that the recipient can access the shared file. - External Storage can be configured using the GUI or at the command line. This second option provides the advanced user with more flexibility for configuring bulk external storage mounts and setting mount priorities. More information is available in the External Storage GUI documentation and the External Storage Configuration File documentation. + External storage can be configured using the GUI or at the command line. This second option provides the advanced user with more flexibility for configuring bulk external storage mounts and setting mount priorities. More information is available in the external storage GUI documentation and the external storage Configuration File documentation. AGPL Robin Appelman, Michael Gapczynski, Vincent Petry @@ -13,7 +13,7 @@ admin-external-storage false - 1.1.0 + 1.1.2 @@ -24,4 +24,9 @@ + + + OCA\Files_External\Settings\Admin + OCA\Files_External\Settings\Section + diff --git a/apps/files_external/css/settings.css b/apps/files_external/css/settings.css index 4d5dc69a4e789..38e497eebe69c 100644 --- a/apps/files_external/css/settings.css +++ b/apps/files_external/css/settings.css @@ -1,3 +1,16 @@ +#global_credentials { + padding: 0 30px; + margin-bottom: 0px; +} + +#files_external { + margin-bottom: 0px; +} + +#externalStorage { + margin: 15px 0 20px 0; +} + #externalStorage td.status { /* overwrite conflicting core styles */ display: table-cell; diff --git a/apps/files_external/js/settings.js b/apps/files_external/js/settings.js index fc6edefc64808..da3e2397b7ea9 100644 --- a/apps/files_external/js/settings.js +++ b/apps/files_external/js/settings.js @@ -945,6 +945,11 @@ MountConfigListView.prototype = _.extend({ $tr.find('.configuration').text(t('files_external', 'Admin defined')); } }); + var mainForm = $('#files_external'); + if (result.length === 0 && mainForm.attr('data-can-create') === 'false') { + mainForm.hide(); + $('a[href="#external-storage"]').parent().hide(); + } onCompletion.resolve(); } }); diff --git a/apps/files_external/l10n/cs_CZ.js b/apps/files_external/l10n/cs_CZ.js index 388207ca91c3b..151463d4df50f 100644 --- a/apps/files_external/l10n/cs_CZ.js +++ b/apps/files_external/l10n/cs_CZ.js @@ -126,6 +126,7 @@ OC.L10N.register( "Advanced settings" : "Pokročilá nastavení", "Delete" : "Smazat", "Allow users to mount external storage" : "Povolit uživatelům připojení externího úložiště", - "Allow users to mount the following external storage" : "Povolit uživatelů připojit následující externí úložiště" + "Allow users to mount the following external storage" : "Povolit uživatelů připojit následující externí úložiště", + "Access granted" : "Přístup povolen" }, "nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;"); diff --git a/apps/files_external/l10n/cs_CZ.json b/apps/files_external/l10n/cs_CZ.json index 0b349a5b44700..a309c90dc72c0 100644 --- a/apps/files_external/l10n/cs_CZ.json +++ b/apps/files_external/l10n/cs_CZ.json @@ -124,6 +124,7 @@ "Advanced settings" : "Pokročilá nastavení", "Delete" : "Smazat", "Allow users to mount external storage" : "Povolit uživatelům připojení externího úložiště", - "Allow users to mount the following external storage" : "Povolit uživatelů připojit následující externí úložiště" + "Allow users to mount the following external storage" : "Povolit uživatelů připojit následující externí úložiště", + "Access granted" : "Přístup povolen" },"pluralForm" :"nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;" } \ No newline at end of file diff --git a/apps/files_external/l10n/fr.js b/apps/files_external/l10n/fr.js index 486431de5e054..6454d005102f6 100644 --- a/apps/files_external/l10n/fr.js +++ b/apps/files_external/l10n/fr.js @@ -126,6 +126,7 @@ OC.L10N.register( "Advanced settings" : "Paramètres avancés", "Delete" : "Supprimer", "Allow users to mount external storage" : "Autoriser les utilisateurs à monter des espaces de stockage externes", - "Allow users to mount the following external storage" : "Autoriser les utilisateurs à monter les stockages externes suivants" + "Allow users to mount the following external storage" : "Autoriser les utilisateurs à monter les stockages externes suivants", + "Access granted" : "Accès autorisé" }, "nplurals=2; plural=(n > 1);"); diff --git a/apps/files_external/l10n/fr.json b/apps/files_external/l10n/fr.json index 0ab8b41392834..3268f6a47f6a3 100644 --- a/apps/files_external/l10n/fr.json +++ b/apps/files_external/l10n/fr.json @@ -124,6 +124,7 @@ "Advanced settings" : "Paramètres avancés", "Delete" : "Supprimer", "Allow users to mount external storage" : "Autoriser les utilisateurs à monter des espaces de stockage externes", - "Allow users to mount the following external storage" : "Autoriser les utilisateurs à monter les stockages externes suivants" + "Allow users to mount the following external storage" : "Autoriser les utilisateurs à monter les stockages externes suivants", + "Access granted" : "Accès autorisé" },"pluralForm" :"nplurals=2; plural=(n > 1);" } \ No newline at end of file diff --git a/apps/files_external/l10n/pt_BR.js b/apps/files_external/l10n/pt_BR.js index 99aa844fb5b73..59cd872b06579 100644 --- a/apps/files_external/l10n/pt_BR.js +++ b/apps/files_external/l10n/pt_BR.js @@ -126,6 +126,7 @@ OC.L10N.register( "Advanced settings" : "Configurações avançadas", "Delete" : "Excluir", "Allow users to mount external storage" : "Permitir que usuários montem armazenamento externo", - "Allow users to mount the following external storage" : "Permitir que usuários montem o seguinte armazenamento externo" + "Allow users to mount the following external storage" : "Permitir que usuários montem o seguinte armazenamento externo", + "Access granted" : "Acesso concedido" }, "nplurals=2; plural=(n > 1);"); diff --git a/apps/files_external/l10n/pt_BR.json b/apps/files_external/l10n/pt_BR.json index aee79057b4d3c..12d002be649e0 100644 --- a/apps/files_external/l10n/pt_BR.json +++ b/apps/files_external/l10n/pt_BR.json @@ -124,6 +124,7 @@ "Advanced settings" : "Configurações avançadas", "Delete" : "Excluir", "Allow users to mount external storage" : "Permitir que usuários montem armazenamento externo", - "Allow users to mount the following external storage" : "Permitir que usuários montem o seguinte armazenamento externo" + "Allow users to mount the following external storage" : "Permitir que usuários montem o seguinte armazenamento externo", + "Access granted" : "Acesso concedido" },"pluralForm" :"nplurals=2; plural=(n > 1);" } \ No newline at end of file diff --git a/apps/files_external/lib/AppInfo/Application.php b/apps/files_external/lib/AppInfo/Application.php index a32a3a26c7f3f..06c163419f060 100644 --- a/apps/files_external/lib/AppInfo/Application.php +++ b/apps/files_external/lib/AppInfo/Application.php @@ -68,10 +68,6 @@ public function __construct(array $urlParams = array()) { * Register settings templates */ public function registerSettings() { - $container = $this->getContainer(); - $backendService = $container->query('OCA\\Files_External\\Service\\BackendService'); - - \OCP\App::registerAdmin('files_external', 'settings'); \OCP\App::registerPersonal('files_external', 'personal'); } diff --git a/apps/files_external/lib/Lib/Auth/Password/GlobalAuth.php b/apps/files_external/lib/Lib/Auth/Password/GlobalAuth.php index 502024be4f201..c0ece745aa4bf 100644 --- a/apps/files_external/lib/Lib/Auth/Password/GlobalAuth.php +++ b/apps/files_external/lib/Lib/Auth/Password/GlobalAuth.php @@ -48,7 +48,7 @@ public function __construct(IL10N $l, ICredentialsManager $credentialsManager) { ->setIdentifier('password::global') ->setVisibility(BackendService::VISIBILITY_DEFAULT) ->setScheme(self::SCHEME_PASSWORD) - ->setText($l->t('Global Credentials')); + ->setText($l->t('Global credentials')); } public function getAuth($uid) { diff --git a/apps/files_external/lib/Service/DBConfigService.php b/apps/files_external/lib/Service/DBConfigService.php index a94b73772e76f..61cca9a0224b7 100644 --- a/apps/files_external/lib/Service/DBConfigService.php +++ b/apps/files_external/lib/Service/DBConfigService.php @@ -208,7 +208,7 @@ public function addMount($mountPoint, $storageBackend, $authBackend, $priority, 'type' => $builder->createNamedParameter($type, IQueryBuilder::PARAM_INT) ]); $query->execute(); - return (int)$this->connection->lastInsertId('external_mounts'); + return (int)$this->connection->lastInsertId('*PREFIX*external_mounts'); } /** diff --git a/apps/files_external/lib/Settings/Admin.php b/apps/files_external/lib/Settings/Admin.php new file mode 100644 index 0000000000000..54711443f895a --- /dev/null +++ b/apps/files_external/lib/Settings/Admin.php @@ -0,0 +1,96 @@ + + * + * @author Arthur Schiwon + * + * @license GNU AGPL version 3 or any later version + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + */ + +namespace OCA\Files_External\Settings; + +use OCA\Files_External\Lib\Auth\Password\GlobalAuth; +use OCA\Files_External\Service\BackendService; +use OCA\Files_External\Service\GlobalStoragesService; +use OCP\AppFramework\Http\TemplateResponse; +use OCP\Encryption\IManager; +use OCP\Settings\ISettings; + +class Admin implements ISettings { + + /** @var IManager */ + private $encryptionManager; + + /** @var GlobalStoragesService */ + private $globalStoragesService; + + /** @var BackendService */ + private $backendService; + + /** @var GlobalAuth */ + private $globalAuth; + + public function __construct( + IManager $encryptionManager, + GlobalStoragesService $globalStoragesService, + BackendService $backendService, + GlobalAuth $globalAuth + ) { + $this->encryptionManager = $encryptionManager; + $this->globalStoragesService = $globalStoragesService; + $this->backendService = $backendService; + $this->globalAuth = $globalAuth; + } + + /** + * @return TemplateResponse + */ + public function getForm() { + $parameters = [ + 'encryptionEnabled' => $this->encryptionManager->isEnabled(), + 'visibilityType' => BackendService::VISIBILITY_ADMIN, + 'storages' => $this->globalStoragesService->getStorages(), + 'backends' => $this->backendService->getAvailableBackends(), + 'authMechanisms' => $this->backendService->getAuthMechanisms(), + 'dependencies' => \OC_Mount_Config::dependencyMessage($this->backendService->getBackends()), + 'allowUserMounting' => $this->backendService->isUserMountingAllowed(), + 'globalCredentials' => $this->globalAuth->getAuth(''), + 'globalCredentialsUid' => '', + ]; + + return new TemplateResponse('files_external', 'settings', $parameters, ''); + } + + /** + * @return string the section ID, e.g. 'sharing' + */ + public function getSection() { + return 'externalstorages'; + } + + /** + * @return int whether the form should be rather on the top or bottom of + * the admin section. The forms are arranged in ascending order of the + * priority values. It is required to return a value between 0 and 100. + * + * E.g.: 70 + */ + public function getPriority() { + return 40; + } + +} diff --git a/apps/files_external/lib/Settings/Section.php b/apps/files_external/lib/Settings/Section.php new file mode 100644 index 0000000000000..4b4bac93d2934 --- /dev/null +++ b/apps/files_external/lib/Settings/Section.php @@ -0,0 +1,67 @@ + + * + * @author Arthur Schiwon + * + * @license GNU AGPL version 3 or any later version + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + */ + +namespace OCA\Files_External\Settings; + +use OCP\IL10N; +use OCP\Settings\ISection; + +class Section implements ISection { + /** @var IL10N */ + private $l; + + public function __construct(IL10N $l) { + $this->l = $l; + } + + /** + * returns the ID of the section. It is supposed to be a lower case string, + * e.g. 'ldap' + * + * @returns string + */ + public function getID() { + return 'externalstorages'; + } + + /** + * returns the translated name as it should be displayed, e.g. 'LDAP / AD + * integration'. Use the L10N service to translate it. + * + * @return string + */ + public function getName() { + return $this->l->t('External storages'); + } + + /** + * @return int whether the form should be rather on the top or bottom of + * the settings navigation. The sections are arranged in ascending order of + * the priority values. It is required to return a value between 0 and 99. + * + * E.g.: 70 + */ + public function getPriority() { + return 10; + } +} diff --git a/apps/files_external/lib/config.php b/apps/files_external/lib/config.php index cd3b4d9f3cb43..7a10d4bbc242a 100644 --- a/apps/files_external/lib/config.php +++ b/apps/files_external/lib/config.php @@ -285,7 +285,7 @@ public static function dependencyMessage($backends) { foreach ($backends as $backend) { foreach ($backend->checkDependencies() as $dependency) { if ($message = $dependency->getMessage()) { - $message .= '
' . $l->t('Note: ') . $message; + $message .= '

' . $message . '

'; } else { $dependencyGroups[$dependency->getDependency()][] = $backend; } @@ -294,9 +294,9 @@ public static function dependencyMessage($backends) { foreach ($dependencyGroups as $module => $dependants) { $backends = implode(', ', array_map(function($backend) { - return '' . $backend->getText() . ''; + return '"' . $backend->getText() . '"'; }, $dependants)); - $message .= '
' . OC_Mount_Config::getSingleDependencyMessage($l, $module, $backends); + $message .= '

' . OC_Mount_Config::getSingleDependencyMessage($l, $module, $backends) . '

'; } return $message; @@ -313,11 +313,11 @@ public static function dependencyMessage($backends) { private static function getSingleDependencyMessage(\OCP\IL10N $l, $module, $backend) { switch (strtolower($module)) { case 'curl': - return (string)$l->t('Note: The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it.', $backend); + return (string)$l->t('The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it.', $backend); case 'ftp': - return (string)$l->t('Note: The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it.', $backend); + return (string)$l->t('The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it.', $backend); default: - return (string)$l->t('Note: "%s" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it.', array($module, $backend)); + return (string)$l->t('"%s" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it.', array($module, $backend)); } } diff --git a/apps/files_external/settings.php b/apps/files_external/settings.php deleted file mode 100644 index cb9ee5ccde036..0000000000000 --- a/apps/files_external/settings.php +++ /dev/null @@ -1,48 +0,0 @@ - - * @author Michael Gapczynski - * @author Morris Jobke - * @author Robin Appelman - * @author Robin McCorkell - * - * @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 - * - */ - -use \OCA\Files_External\Service\BackendService; - -// we must use the same container -$appContainer = \OC_Mount_Config::$app->getContainer(); -$backendService = $appContainer->query('OCA\Files_External\Service\BackendService'); -$globalStoragesService = $appContainer->query('OCA\Files_External\Service\GlobalStoragesService'); -$globalAuth = $appContainer->query('OCA\Files_External\Lib\Auth\Password\GlobalAuth'); - -\OC_Util::addVendorScript('select2/select2'); -\OC_Util::addVendorStyle('select2/select2'); - -$tmpl = new OCP\Template('files_external', 'settings'); -$tmpl->assign('encryptionEnabled', \OC::$server->getEncryptionManager()->isEnabled()); -$tmpl->assign('visibilityType', BackendService::VISIBILITY_ADMIN); -$tmpl->assign('storages', $globalStoragesService->getStorages()); -$tmpl->assign('backends', $backendService->getAvailableBackends()); -$tmpl->assign('authMechanisms', $backendService->getAuthMechanisms()); -$tmpl->assign('dependencies', OC_Mount_Config::dependencyMessage($backendService->getBackends())); -$tmpl->assign('allowUserMounting', $backendService->isUserMountingAllowed()); -$tmpl->assign('globalCredentials', $globalAuth->getAuth('')); -$tmpl->assign('globalCredentialsUid', ''); -return $tmpl->fetchPage(); diff --git a/apps/files_external/templates/settings.php b/apps/files_external/templates/settings.php index 6fb2a0185479e..53d2412425c22 100644 --- a/apps/files_external/templates/settings.php +++ b/apps/files_external/templates/settings.php @@ -4,6 +4,8 @@ use \OCA\Files_External\Lib\DefinitionParameter; use \OCA\Files_External\Service\BackendService; + $canCreateMounts = $_['visibilityType'] === BackendService::VISIBILITY_ADMIN || $_['allowUserMounting']; + $l->t("Enable encryption"); $l->t("Enable previews"); $l->t("Enable sharing"); @@ -84,25 +86,10 @@ function writeParameterInput($parameter, $options, $classes = []) { } } ?> - -

t('External Storage')); ?>

-

t('Global Credentials')); ?>

- - - - - -
- '')) print_unescaped(''.$_['dependencies'].''); ?> + +

t('External storage')); ?>

+ '') and $canCreateMounts) print_unescaped(''.$_['dependencies'].''); ?> '> @@ -118,7 +105,7 @@ function writeParameterInput($parameter, $options, $classes = []) { + style="display: none;" > @@ -173,10 +160,8 @@ function writeParameterInput($parameter, $options, $classes = []) {
-
-
/> @@ -200,3 +185,21 @@ function writeParameterInput($parameter, $options, $classes = []) {

+ + +
+

t('Global credentials')); ?>

+ + + + +
+ diff --git a/apps/files_external/tests/Settings/AdminTest.php b/apps/files_external/tests/Settings/AdminTest.php new file mode 100644 index 0000000000000..fdf9680e7c378 --- /dev/null +++ b/apps/files_external/tests/Settings/AdminTest.php @@ -0,0 +1,109 @@ + + * + * @author Lukas Reschke + * + * @license GNU AGPL version 3 or any later version + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + */ + +namespace OCA\Files_External\Tests\Settings; + +use OCA\Files_External\Lib\Auth\Password\GlobalAuth; +use OCA\Files_External\Service\BackendService; +use OCA\Files_External\Service\GlobalStoragesService; +use OCA\Files_External\Settings\Admin; +use OCP\AppFramework\Http\TemplateResponse; +use OCP\Encryption\IManager; +use Test\TestCase; + +class AdminTest extends TestCase { + /** @var Admin */ + private $admin; + /** @var IManager */ + private $encryptionManager; + /** @var GlobalStoragesService */ + private $globalStoragesService; + /** @var BackendService */ + private $backendService; + /** @var GlobalAuth */ + private $globalAuth; + + public function setUp() { + parent::setUp(); + $this->encryptionManager = $this->getMockBuilder('\OCP\Encryption\IManager')->getMock(); + $this->globalStoragesService = $this->getMockBuilder('\OCA\Files_External\Service\GlobalStoragesService')->disableOriginalConstructor()->getMock(); + $this->backendService = $this->getMockBuilder('\OCA\Files_External\Service\BackendService')->disableOriginalConstructor()->getMock(); + $this->globalAuth = $this->getMockBuilder('\OCA\Files_External\Lib\Auth\Password\GlobalAuth')->disableOriginalConstructor()->getMock(); + + $this->admin = new Admin( + $this->encryptionManager, + $this->globalStoragesService, + $this->backendService, + $this->globalAuth + ); + } + + public function testGetForm() { + $this->encryptionManager + ->expects($this->once()) + ->method('isEnabled') + ->willReturn(false); + $this->globalStoragesService + ->expects($this->once()) + ->method('getStorages') + ->willReturn(['a', 'b', 'c']); + $this->backendService + ->expects($this->once()) + ->method('getAvailableBackends') + ->willReturn(['d', 'e', 'f']); + $this->backendService + ->expects($this->once()) + ->method('getAuthMechanisms') + ->willReturn(['g', 'h', 'i']); + $this->backendService + ->expects($this->once()) + ->method('isUserMountingAllowed') + ->willReturn(true); + $this->globalAuth + ->expects($this->once()) + ->method('getAuth') + ->with('') + ->willReturn('asdf:asdf'); + $params = [ + 'encryptionEnabled' => false, + 'visibilityType' => BackendService::VISIBILITY_ADMIN, + 'storages' => ['a', 'b', 'c'], + 'backends' => ['d', 'e', 'f'], + 'authMechanisms' => ['g', 'h', 'i'], + 'dependencies' => \OC_Mount_Config::dependencyMessage($this->backendService->getBackends()), + 'allowUserMounting' => true, + 'globalCredentials' => 'asdf:asdf', + 'globalCredentialsUid' => '', + ]; + $expected = new TemplateResponse('files_external', 'settings', $params, ''); + $this->assertEquals($expected, $this->admin->getForm()); + } + + public function testGetSection() { + $this->assertSame('externalstorages', $this->admin->getSection()); + } + + public function testGetPriority() { + $this->assertSame(40, $this->admin->getPriority()); + } +} diff --git a/apps/files_external/tests/Settings/SectionTest.php b/apps/files_external/tests/Settings/SectionTest.php new file mode 100644 index 0000000000000..b5dfb28b382d5 --- /dev/null +++ b/apps/files_external/tests/Settings/SectionTest.php @@ -0,0 +1,62 @@ + + * + * @author Lukas Reschke + * + * @license GNU AGPL version 3 or any later version + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + */ + +namespace OCA\Files_External\Tests\Settings; + +use OCA\Files_External\Settings\Section; +use OCP\IL10N; +use Test\TestCase; + +class SectionTest extends TestCase { + /** @var IL10N */ + private $l; + /** @var Section */ + private $section; + + public function setUp() { + parent::setUp(); + $this->l = $this->getMockBuilder('\OCP\IL10N')->disableOriginalConstructor()->getMock(); + + $this->section = new Section( + $this->l + ); + } + + public function testGetID() { + $this->assertSame('externalstorages', $this->section->getID()); + } + + public function testGetName() { + $this->l + ->expects($this->once()) + ->method('t') + ->with('External storages') + ->willReturn('External storages'); + + $this->assertSame('External storages', $this->section->getName()); + } + + public function testGetPriority() { + $this->assertSame(10, $this->section->getPriority()); + } +} diff --git a/apps/files_sharing/l10n/cs_CZ.js b/apps/files_sharing/l10n/cs_CZ.js index 569fb88415980..9f633339084ec 100644 --- a/apps/files_sharing/l10n/cs_CZ.js +++ b/apps/files_sharing/l10n/cs_CZ.js @@ -18,9 +18,12 @@ OC.L10N.register( "Shared by" : "Sdílí", "Sharing" : "Sdílení", "Wrong share ID, share doesn't exist" : "Špatné ID sdílení, sdílení neexistuje", + "could not delete share" : "nelze smazat sdílení", "Could not delete share" : "Nelze smazat sdílení", "Please specify a file or folder path" : "Prosím zadejte cestu adresáře nebo souboru", "Wrong path, file/folder doesn't exist" : "Špatná cesta, soubor/adresář neexistuje", + "Could not create share" : "Nelze vytvořit sdílení", + "invalid permissions" : "neplatná oprávnění", "Please specify a valid user" : "Prosím zadejte platného uživatele", "Group sharing is disabled by the administrator" : "Skupinové sdílení bylo zakázáno administrátorem", "Please specify a valid group" : "Prosím zadejte platnou skupinu", @@ -99,6 +102,36 @@ OC.L10N.register( "Upload files to %s" : "Nahrát soubory do %s", "Select or drop files" : "Vyberte nebo přetáhněte soubory", "Uploading files…" : "Probíhá nahrávání souborů...", - "Uploaded files:" : "Nahrané soubory:" + "Uploaded files:" : "Nahrané soubory:", + "Server to server sharing is not enabled on this server" : "Sdílení mezi servery není na tomto serveru povoleno", + "The mountpoint name contains invalid characters." : "Jméno přípojného bodu obsahuje nepovolené znaky.", + "Not allowed to create a federated share with the same user server" : "Není povoleno vytvořit propojené sdílení s tím samým serverem", + "Invalid or untrusted SSL certificate" : "Neplatný nebo nedůvěryhodný SSL certifikát", + "Could not authenticate to remote share, password might be wrong" : "Nezdařilo se přihlášení ke vzdálenému úložišti, nejspíše bylo zadáno chybné heslo", + "Storage not valid" : "Úložiště není platné", + "Couldn't add remote share" : "Nelze přidat vzdálené úložiště", + "Federated sharing" : "Propojené sdílení", + "Do you want to add the remote share {name} from {owner}@{remote}?" : "Chcete přidat vzdálené úložiště {name} uživatele {owner}@{remote}?", + "Remote share" : "Vzdálené úložiště", + "Remote share password" : "Heslo ke vzdálenému úložišti", + "Cancel" : "Zrušit", + "Add remote share" : "Přidat vzdálené úložiště", + "No ownCloud installation (7 or higher) found at {remote}" : "Nebyla nalezena instalace ownCloud (7 nebo vyšší) na {remote}", + "Invalid ownCloud url" : "Neplatná ownCloud url", + "You received \"/%2$s\" as a remote share from %1$s" : "Obdrželi jste \"/%2$s\" jako vzdálené sdílení od %1$s", + "Accept" : "Přijmout", + "Decline" : "Zamítnout", + "Share with me through my #ownCloud Federated Cloud ID, see %s" : "Sdílej se mnou pomocí mého #ownCloud sdruženého cloud ID, více na %s", + "Share with me through my #ownCloud Federated Cloud ID" : "Sdílej se mnou pomocí mého #ownCloud sdruženého cloud ID", + "Federated Cloud Sharing" : "Propojené cloudové sdílení", + "Open documentation" : "Otevřít dokumentaci", + "Allow users on this server to send shares to other servers" : "Povolit uživatelům z tohoto serveru zasílat sdílení na jiné servery", + "Allow users on this server to receive shares from other servers" : "Povolit uživatelům na tomto serveru přijímat sdílení z jiných serverů", + "Federated Cloud" : "Sdružený cloud", + "Your Federated Cloud ID:" : "Vaše sdružené cloud ID:", + "Share it:" : "Sdílet:", + "Add to your website" : "Přidat na svou webovou stránku", + "Share with me via Nextcloud" : "Sdíleno se mnou přes Nextcloud", + "HTML Code:" : "HTML kód:" }, "nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;"); diff --git a/apps/files_sharing/l10n/cs_CZ.json b/apps/files_sharing/l10n/cs_CZ.json index 152b5170c8be9..9ba295b2831c4 100644 --- a/apps/files_sharing/l10n/cs_CZ.json +++ b/apps/files_sharing/l10n/cs_CZ.json @@ -16,9 +16,12 @@ "Shared by" : "Sdílí", "Sharing" : "Sdílení", "Wrong share ID, share doesn't exist" : "Špatné ID sdílení, sdílení neexistuje", + "could not delete share" : "nelze smazat sdílení", "Could not delete share" : "Nelze smazat sdílení", "Please specify a file or folder path" : "Prosím zadejte cestu adresáře nebo souboru", "Wrong path, file/folder doesn't exist" : "Špatná cesta, soubor/adresář neexistuje", + "Could not create share" : "Nelze vytvořit sdílení", + "invalid permissions" : "neplatná oprávnění", "Please specify a valid user" : "Prosím zadejte platného uživatele", "Group sharing is disabled by the administrator" : "Skupinové sdílení bylo zakázáno administrátorem", "Please specify a valid group" : "Prosím zadejte platnou skupinu", @@ -97,6 +100,36 @@ "Upload files to %s" : "Nahrát soubory do %s", "Select or drop files" : "Vyberte nebo přetáhněte soubory", "Uploading files…" : "Probíhá nahrávání souborů...", - "Uploaded files:" : "Nahrané soubory:" + "Uploaded files:" : "Nahrané soubory:", + "Server to server sharing is not enabled on this server" : "Sdílení mezi servery není na tomto serveru povoleno", + "The mountpoint name contains invalid characters." : "Jméno přípojného bodu obsahuje nepovolené znaky.", + "Not allowed to create a federated share with the same user server" : "Není povoleno vytvořit propojené sdílení s tím samým serverem", + "Invalid or untrusted SSL certificate" : "Neplatný nebo nedůvěryhodný SSL certifikát", + "Could not authenticate to remote share, password might be wrong" : "Nezdařilo se přihlášení ke vzdálenému úložišti, nejspíše bylo zadáno chybné heslo", + "Storage not valid" : "Úložiště není platné", + "Couldn't add remote share" : "Nelze přidat vzdálené úložiště", + "Federated sharing" : "Propojené sdílení", + "Do you want to add the remote share {name} from {owner}@{remote}?" : "Chcete přidat vzdálené úložiště {name} uživatele {owner}@{remote}?", + "Remote share" : "Vzdálené úložiště", + "Remote share password" : "Heslo ke vzdálenému úložišti", + "Cancel" : "Zrušit", + "Add remote share" : "Přidat vzdálené úložiště", + "No ownCloud installation (7 or higher) found at {remote}" : "Nebyla nalezena instalace ownCloud (7 nebo vyšší) na {remote}", + "Invalid ownCloud url" : "Neplatná ownCloud url", + "You received \"/%2$s\" as a remote share from %1$s" : "Obdrželi jste \"/%2$s\" jako vzdálené sdílení od %1$s", + "Accept" : "Přijmout", + "Decline" : "Zamítnout", + "Share with me through my #ownCloud Federated Cloud ID, see %s" : "Sdílej se mnou pomocí mého #ownCloud sdruženého cloud ID, více na %s", + "Share with me through my #ownCloud Federated Cloud ID" : "Sdílej se mnou pomocí mého #ownCloud sdruženého cloud ID", + "Federated Cloud Sharing" : "Propojené cloudové sdílení", + "Open documentation" : "Otevřít dokumentaci", + "Allow users on this server to send shares to other servers" : "Povolit uživatelům z tohoto serveru zasílat sdílení na jiné servery", + "Allow users on this server to receive shares from other servers" : "Povolit uživatelům na tomto serveru přijímat sdílení z jiných serverů", + "Federated Cloud" : "Sdružený cloud", + "Your Federated Cloud ID:" : "Vaše sdružené cloud ID:", + "Share it:" : "Sdílet:", + "Add to your website" : "Přidat na svou webovou stránku", + "Share with me via Nextcloud" : "Sdíleno se mnou přes Nextcloud", + "HTML Code:" : "HTML kód:" },"pluralForm" :"nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;" } \ No newline at end of file diff --git a/apps/files_sharing/l10n/it.js b/apps/files_sharing/l10n/it.js index 3605e5bd83dfc..c228fcce99b73 100644 --- a/apps/files_sharing/l10n/it.js +++ b/apps/files_sharing/l10n/it.js @@ -102,6 +102,33 @@ OC.L10N.register( "Upload files to %s" : "Carica file su %s", "Select or drop files" : "Seleziona o deseleziona file", "Uploading files…" : "Caricamento file in corso...", - "Uploaded files:" : "File caricati:" + "Uploaded files:" : "File caricati:", + "Server to server sharing is not enabled on this server" : "La condivisione tra server non è abilitata su questo server", + "The mountpoint name contains invalid characters." : "Il nome del punto di mount contiene caratteri non validi.", + "Not allowed to create a federated share with the same user server" : "Non è consentito creare una condivisione federata con lo stesso server dell'utente", + "Invalid or untrusted SSL certificate" : "Certificato SSL non valido o non attendibile", + "Storage not valid" : "Archiviazione non valida", + "Couldn't add remote share" : "Impossibile aggiungere la condivisione remota", + "Federated sharing" : "Condivisione federata", + "Do you want to add the remote share {name} from {owner}@{remote}?" : "Vuoi aggiungere la condivisione remota {name} da {owner}@{remote}?", + "Remote share" : "Condivisione remota", + "Remote share password" : "Password della condivisione remota", + "Cancel" : "Annulla", + "Add remote share" : "Aggiungi condivisione remota", + "No ownCloud installation (7 or higher) found at {remote}" : "Nessuna installazione di ownCloud (7 o superiore) trovata su {remote}", + "Invalid ownCloud url" : "URL di ownCloud non valido", + "You received \"/%2$s\" as a remote share from %1$s" : "Hai ricevuto \"/%2$s\" come condivisione remota da %1$s", + "Accept" : "Accetta", + "Decline" : "Rifiuta", + "Federated Cloud Sharing" : "Condivisione cloud federata", + "Open documentation" : "Apri la documentazione", + "Allow users on this server to send shares to other servers" : "Consenti agli utenti su questo server di inviare condivisioni ad altri server", + "Allow users on this server to receive shares from other servers" : "Consenti agli utenti su questo server di ricevere condivisioni da altri server", + "Federated Cloud" : "Cloud federata", + "Your Federated Cloud ID:" : "Il tuo ID di cloud federata:", + "Share it:" : "Condividilo:", + "Add to your website" : "Aggiungi al tuo sito web", + "Share with me via Nextcloud" : "Condividi con me tramite Nextcloud", + "HTML Code:" : "Codice HTML:" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/files_sharing/l10n/it.json b/apps/files_sharing/l10n/it.json index ec9c10e5aabd6..6c3d17593fe4c 100644 --- a/apps/files_sharing/l10n/it.json +++ b/apps/files_sharing/l10n/it.json @@ -100,6 +100,33 @@ "Upload files to %s" : "Carica file su %s", "Select or drop files" : "Seleziona o deseleziona file", "Uploading files…" : "Caricamento file in corso...", - "Uploaded files:" : "File caricati:" + "Uploaded files:" : "File caricati:", + "Server to server sharing is not enabled on this server" : "La condivisione tra server non è abilitata su questo server", + "The mountpoint name contains invalid characters." : "Il nome del punto di mount contiene caratteri non validi.", + "Not allowed to create a federated share with the same user server" : "Non è consentito creare una condivisione federata con lo stesso server dell'utente", + "Invalid or untrusted SSL certificate" : "Certificato SSL non valido o non attendibile", + "Storage not valid" : "Archiviazione non valida", + "Couldn't add remote share" : "Impossibile aggiungere la condivisione remota", + "Federated sharing" : "Condivisione federata", + "Do you want to add the remote share {name} from {owner}@{remote}?" : "Vuoi aggiungere la condivisione remota {name} da {owner}@{remote}?", + "Remote share" : "Condivisione remota", + "Remote share password" : "Password della condivisione remota", + "Cancel" : "Annulla", + "Add remote share" : "Aggiungi condivisione remota", + "No ownCloud installation (7 or higher) found at {remote}" : "Nessuna installazione di ownCloud (7 o superiore) trovata su {remote}", + "Invalid ownCloud url" : "URL di ownCloud non valido", + "You received \"/%2$s\" as a remote share from %1$s" : "Hai ricevuto \"/%2$s\" come condivisione remota da %1$s", + "Accept" : "Accetta", + "Decline" : "Rifiuta", + "Federated Cloud Sharing" : "Condivisione cloud federata", + "Open documentation" : "Apri la documentazione", + "Allow users on this server to send shares to other servers" : "Consenti agli utenti su questo server di inviare condivisioni ad altri server", + "Allow users on this server to receive shares from other servers" : "Consenti agli utenti su questo server di ricevere condivisioni da altri server", + "Federated Cloud" : "Cloud federata", + "Your Federated Cloud ID:" : "Il tuo ID di cloud federata:", + "Share it:" : "Condividilo:", + "Add to your website" : "Aggiungi al tuo sito web", + "Share with me via Nextcloud" : "Condividi con me tramite Nextcloud", + "HTML Code:" : "Codice HTML:" },"pluralForm" :"nplurals=2; plural=(n != 1);" } \ No newline at end of file diff --git a/apps/files_sharing/lib/Capabilities.php b/apps/files_sharing/lib/Capabilities.php index 8dde2dafb0d98..9da6dbbc99574 100644 --- a/apps/files_sharing/lib/Capabilities.php +++ b/apps/files_sharing/lib/Capabilities.php @@ -69,6 +69,7 @@ public function getCapabilities() { $public['send_mail'] = $this->config->getAppValue('core', 'shareapi_allow_public_notification', 'no') === 'yes'; $public['upload'] = $this->config->getAppValue('core', 'shareapi_allow_public_upload', 'yes') === 'yes'; + $public['upload_files_drop'] = $public['upload']; } $res["public"] = $public; diff --git a/apps/files_sharing/tests/CapabilitiesTest.php b/apps/files_sharing/tests/CapabilitiesTest.php index 0c4a68b997c59..254f7cdaa7cae 100644 --- a/apps/files_sharing/tests/CapabilitiesTest.php +++ b/apps/files_sharing/tests/CapabilitiesTest.php @@ -232,6 +232,7 @@ public function testLinkPublicUpload() { ]; $result = $this->getResults($map); $this->assertTrue($result['public']['upload']); + $this->assertTrue($result['public']['upload_files_drop']); } public function testLinkNoPublicUpload() { @@ -242,6 +243,7 @@ public function testLinkNoPublicUpload() { ]; $result = $this->getResults($map); $this->assertFalse($result['public']['upload']); + $this->assertFalse($result['public']['upload_files_drop']); } public function testNoGroupSharing() { diff --git a/apps/provisioning_api/appinfo/routes.php b/apps/provisioning_api/appinfo/routes.php index 907e16ebf3c48..a7366a32a0610 100644 --- a/apps/provisioning_api/appinfo/routes.php +++ b/apps/provisioning_api/appinfo/routes.php @@ -26,53 +26,40 @@ * */ -namespace OCA\Provisioning_API\AppInfo; - use OCA\Provisioning_API\Apps; -use OCA\Provisioning_API\Groups; use OCA\Provisioning_API\Users; use OCP\API; -// Users -$users = new Users( - \OC::$server->getUserManager(), - \OC::$server->getConfig(), - \OC::$server->getGroupManager(), - \OC::$server->getUserSession(), - \OC::$server->getLogger() -); -API::register('get', '/cloud/users', [$users, 'getUsers'], 'provisioning_api', API::SUBADMIN_AUTH); -API::register('post', '/cloud/users', [$users, 'addUser'], 'provisioning_api', API::SUBADMIN_AUTH); -API::register('get', '/cloud/users/{userid}', [$users, 'getUser'], 'provisioning_api', API::USER_AUTH); -API::register('put', '/cloud/users/{userid}', [$users, 'editUser'], 'provisioning_api', API::USER_AUTH); -API::register('delete', '/cloud/users/{userid}', [$users, 'deleteUser'], 'provisioning_api', API::SUBADMIN_AUTH); -API::register('put', '/cloud/users/{userid}/enable', [$users, 'enableUser'], 'provisioning_api', API::SUBADMIN_AUTH); -API::register('put', '/cloud/users/{userid}/disable', [$users, 'disableUser'], 'provisioning_api', API::SUBADMIN_AUTH); -API::register('get', '/cloud/users/{userid}/groups', [$users, 'getUsersGroups'], 'provisioning_api', API::USER_AUTH); -API::register('post', '/cloud/users/{userid}/groups', [$users, 'addToGroup'], 'provisioning_api', API::SUBADMIN_AUTH); -API::register('delete', '/cloud/users/{userid}/groups', [$users, 'removeFromGroup'], 'provisioning_api', API::SUBADMIN_AUTH); -API::register('post', '/cloud/users/{userid}/subadmins', [$users, 'addSubAdmin'], 'provisioning_api', API::ADMIN_AUTH); -API::register('delete', '/cloud/users/{userid}/subadmins', [$users, 'removeSubAdmin'], 'provisioning_api', API::ADMIN_AUTH); -API::register('get', '/cloud/users/{userid}/subadmins', [$users, 'getUserSubAdminGroups'], 'provisioning_api', API::ADMIN_AUTH); +$app = new \OCA\Provisioning_API\AppInfo\Application(); +$app->registerRoutes($this, [ + 'ocs' => [ + // Apps + ['root' => '/cloud', 'name' => 'Apps#getApps', 'url' => '/apps', 'verb' => 'GET'], + ['root' => '/cloud', 'name' => 'Apps#getAppInfo', 'url' => '/apps/{app}', 'verb' => 'GET'], + ['root' => '/cloud', 'name' => 'Apps#enable', 'url' => '/apps/{app}', 'verb' => 'POST'], + ['root' => '/cloud', 'name' => 'Apps#disable', 'url' => '/apps/{app}', 'verb' => 'DELETE'], + + // Groups + ['root' => '/cloud', 'name' => 'Groups#getGroups', 'url' => '/groups', 'verb' => 'GET'], + ['root' => '/cloud', 'name' => 'Groups#getGroup', 'url' => '/groups/{groupId}', 'verb' => 'GET'], + ['root' => '/cloud', 'name' => 'Groups#addGroup', 'url' => '/groups', 'verb' => 'POST'], + ['root' => '/cloud', 'name' => 'Groups#deleteGroup', 'url' => '/groups/{groupId}', 'verb' => 'DELETE'], + ['root' => '/cloud', 'name' => 'Groups#getSubAdminsOfGroup', 'url' => '/groups/{groupId}/subadmins', 'verb' => 'GET'], -// Groups -$groups = new Groups( - \OC::$server->getGroupManager(), - \OC::$server->getUserSession(), - \OC::$server->getRequest() -); -API::register('get', '/cloud/groups', [$groups, 'getGroups'], 'provisioning_api', API::SUBADMIN_AUTH); -API::register('post', '/cloud/groups', [$groups, 'addGroup'], 'provisioning_api', API::SUBADMIN_AUTH); -API::register('get', '/cloud/groups/{groupid}', [$groups, 'getGroup'], 'provisioning_api', API::SUBADMIN_AUTH); -API::register('delete', '/cloud/groups/{groupid}', [$groups, 'deleteGroup'], 'provisioning_api', API::ADMIN_AUTH); -API::register('get', '/cloud/groups/{groupid}/subadmins', [$groups, 'getSubAdminsOfGroup'], 'provisioning_api', API::ADMIN_AUTH); + //Users + ['root' => '/cloud', 'name' => 'Users#getUsers', 'url' => '/users', 'verb' => 'GET'], + ['root' => '/cloud', 'name' => 'Users#addUser', 'url' => '/users', 'verb' => 'POST'], + ['root' => '/cloud', 'name' => 'Users#getUser', 'url' => '/users/{userId}', 'verb' => 'GET'], + ['root' => '/cloud', 'name' => 'Users#editUser', 'url' => '/users/{userId}', 'verb' => 'PUT'], + ['root' => '/cloud', 'name' => 'Users#deleteUser', 'url' => '/users/{userId}', 'verb' => 'DELETE'], + ['root' => '/cloud', 'name' => 'Users#enableUser', 'url' => '/users/{userId}/enable', 'verb' => 'PUT'], + ['root' => '/cloud', 'name' => 'Users#disableUser', 'url' => '/users/{userId}/disable', 'verb' => 'PUT'], + ['root' => '/cloud', 'name' => 'Users#getUsersGroups', 'url' => '/users/{userId}/groups', 'verb' => 'GET'], + ['root' => '/cloud', 'name' => 'Users#addToGroup', 'url' => '/users/{userId}/groups', 'verb' => 'POST'], + ['root' => '/cloud', 'name' => 'Users#removeFromGroup', 'url' => '/users/{userId}/groups', 'verb' => 'DELETE'], + ['root' => '/cloud', 'name' => 'Users#getUserSubAdminGroups', 'url' => '/users/{userId}/subadmins', 'verb' => 'GET'], + ['root' => '/cloud', 'name' => 'Users#addSubAdmin', 'url' => '/users/{userId}/subadmins', 'verb' => 'POST'], + ['root' => '/cloud', 'name' => 'Users#removeSubAdmin', 'url' => '/users/{userId}/subadmins', 'verb' => 'DELETE'], -// Apps -$apps = new Apps( - \OC::$server->getAppManager(), - \OC::$server->getOcsClient() -); -API::register('get', '/cloud/apps', [$apps, 'getApps'], 'provisioning_api', API::ADMIN_AUTH); -API::register('get', '/cloud/apps/{appid}', [$apps, 'getAppInfo'], 'provisioning_api', API::ADMIN_AUTH); -API::register('post', '/cloud/apps/{appid}', [$apps, 'enable'], 'provisioning_api', API::ADMIN_AUTH); -API::register('delete', '/cloud/apps/{appid}', [$apps, 'disable'], 'provisioning_api', API::ADMIN_AUTH); + ], +]); diff --git a/apps/provisioning_api/lib/AppInfo/Application.php b/apps/provisioning_api/lib/AppInfo/Application.php new file mode 100644 index 0000000000000..2d6a82e2ff9bf --- /dev/null +++ b/apps/provisioning_api/lib/AppInfo/Application.php @@ -0,0 +1,28 @@ +getContainer(); + $server = $container->getServer(); + + $container->registerService('ProvisioningApiMiddleware', function(SimpleContainer $c) use ($server) { + $user = $server->getUserManager()->get($c['UserId']); + $isAdmin = $user !== null ? $server->getGroupManager()->isAdmin($user->getUID()) : false; + $isSubAdmin = $user !== null ? $server->getGroupManager()->getSubAdmin()->isSubAdmin($user) : false; + return new ProvisioningApiMiddleware( + $c['ControllerMethodReflector'], + $isAdmin, + $isSubAdmin + ); + }); + $container->registerMiddleWare('ProvisioningApiMiddleware'); + } +} diff --git a/apps/provisioning_api/lib/Apps.php b/apps/provisioning_api/lib/Controller/AppsController.php similarity index 54% rename from apps/provisioning_api/lib/Apps.php rename to apps/provisioning_api/lib/Controller/AppsController.php index f880e41905b09..3821fc343ad86 100644 --- a/apps/provisioning_api/lib/Apps.php +++ b/apps/provisioning_api/lib/Controller/AppsController.php @@ -23,89 +23,101 @@ * */ -namespace OCA\Provisioning_API; +namespace OCA\Provisioning_API\Controller; use OC\OCSClient; use \OC_App; +use OCP\App\IAppManager; +use OCP\AppFramework\Http\DataResponse; +use OCP\AppFramework\OCS\OCSException; +use OCP\AppFramework\OCS\OCSNotFoundException; +use OCP\AppFramework\OCSController; +use OCP\IRequest; -class Apps { +class AppsController extends OCSController { /** @var \OCP\App\IAppManager */ private $appManager; /** @var OCSClient */ private $ocsClient; /** - * @param \OCP\App\IAppManager $appManager + * @param string $appName + * @param IRequest $request + * @param IAppManager $appManager + * @param OCSClient $ocsClient */ - public function __construct(\OCP\App\IAppManager $appManager, - OCSClient $ocsClient) { + public function __construct( + $appName, + IRequest $request, + IAppManager $appManager, + OCSClient $ocsClient + ) { + parent::__construct($appName, $request); + $this->appManager = $appManager; $this->ocsClient = $ocsClient; } /** - * @param array $parameters - * @return \OC\OCS\Result + * @param string $filter + * @return DataResponse + * @throws OCSException */ - public function getApps($parameters) { + public function getApps($filter = null) { $apps = OC_App::listAllApps(false, true, $this->ocsClient); $list = []; foreach($apps as $app) { $list[] = $app['id']; } - $filter = isset($_GET['filter']) ? $_GET['filter'] : false; if($filter){ switch($filter){ case 'enabled': - return new \OC\OCS\Result(array('apps' => \OC_App::getEnabledApps())); + return new DataResponse(['apps' => \OC_App::getEnabledApps()]); break; case 'disabled': $enabled = OC_App::getEnabledApps(); - return new \OC\OCS\Result(array('apps' => array_diff($list, $enabled))); + return new DataResponse(['apps' => array_diff($list, $enabled)]); break; default: // Invalid filter variable - return new \OC\OCS\Result(null, 101); - break; + throw new OCSException('', 101); } } else { - return new \OC\OCS\Result(array('apps' => $list)); + return new DataResponse(['apps' => $list]); } } /** - * @param array $parameters - * @return \OC\OCS\Result + * @param string $app + * @return DataResponse + * @throws OCSNotFoundException */ - public function getAppInfo($parameters) { - $app = $parameters['appid']; + public function getAppInfo($app) { $info = \OCP\App::getAppInfo($app); if(!is_null($info)) { - return new \OC\OCS\Result(OC_App::getAppInfo($app)); + return new DataResponse(OC_App::getAppInfo($app)); } else { - return new \OC\OCS\Result(null, \OCP\API::RESPOND_NOT_FOUND, 'The request app was not found'); + throw new OCSException('The request app was not found', \OCP\API::RESPOND_NOT_FOUND); } } /** - * @param array $parameters - * @return \OC\OCS\Result + * @param string $app + * @return DataResponse */ - public function enable($parameters) { - $app = $parameters['appid']; + public function enable($app) { $this->appManager->enableApp($app); - return new \OC\OCS\Result(null, 100); + return new DataResponse(); } /** - * @param array $parameters - * @return \OC\OCS\Result + * @param string $app + * @return DataResponse */ - public function disable($parameters) { - $app = $parameters['appid']; + public function disable($app) { $this->appManager->disableApp($app); - return new \OC\OCS\Result(null, 100); + return new DataResponse(); } } diff --git a/apps/provisioning_api/lib/Groups.php b/apps/provisioning_api/lib/Controller/GroupsController.php similarity index 52% rename from apps/provisioning_api/lib/Groups.php rename to apps/provisioning_api/lib/Controller/GroupsController.php index 18302595ae97c..d36d0de89979f 100644 --- a/apps/provisioning_api/lib/Groups.php +++ b/apps/provisioning_api/lib/Controller/GroupsController.php @@ -23,46 +23,54 @@ * */ -namespace OCA\Provisioning_API; +namespace OCA\Provisioning_API\Controller; +use OCP\AppFramework\Http\DataResponse; +use OCP\AppFramework\OCS\OCSException; +use OCP\AppFramework\OCSController; use OCP\IGroup; +use OCP\IGroupManager; +use OCP\IRequest; +use OCP\IUserSession; use OCP\IUser; -class Groups{ - /** @var \OCP\IGroupManager */ +class GroupsController extends OCSController { + + /** @var IGroupManager */ private $groupManager; - /** @var \OCP\IUserSession */ + /** @var IUserSession */ private $userSession; - /** @var \OCP\IRequest */ - private $request; - /** - * @param \OCP\IGroupManager $groupManager - * @param \OCP\IUserSession $userSession - * @param \OCP\IRequest $request + * @param string $appName + * @param IRequest $request + * @param IGroupManager $groupManager + * @param IUserSession $userSession */ - public function __construct(\OCP\IGroupManager $groupManager, - \OCP\IUserSession $userSession, - \OCP\IRequest $request) { + public function __construct( + $appName, + IRequest $request, + IGroupManager $groupManager, + IUserSession $userSession) { + parent::__construct($appName, $request); + $this->groupManager = $groupManager; $this->userSession = $userSession; - $this->request = $request; } /** * returns a list of groups * - * @param array $parameters - * @return \OC\OCS\Result + * @NoAdminRequired + * + * @param string $search + * @param int $limit + * @param int $offset + * @return DataResponse */ - public function getGroups($parameters) { - $search = $this->request->getParam('search', ''); - $limit = $this->request->getParam('limit'); - $offset = $this->request->getParam('offset'); - + public function getGroups($search = '', $limit = null, $offset = null) { if ($limit !== null) { $limit = (int)$limit; } @@ -76,27 +84,24 @@ public function getGroups($parameters) { return $group->getGID(); }, $groups); - return new \OC\OCS\Result(['groups' => $groups]); + return new DataResponse(['groups' => $groups]); } /** * returns an array of users in the group specified * - * @param array $parameters - * @return \OC\OCS\Result + * @NoAdminRequired + * + * @param string $groupId + * @return DataResponse + * @throws OCSException */ - public function getGroup($parameters) { - // Check if user is logged in + public function getGroup($groupId) { $user = $this->userSession->getUser(); - if ($user === null) { - return new \OC\OCS\Result(null, \OCP\API::RESPOND_UNAUTHORISED); - } - - $groupId = $parameters['groupid']; // Check the group exists if(!$this->groupManager->groupExists($groupId)) { - return new \OC\OCS\Result(null, \OCP\API::RESPOND_NOT_FOUND, 'The requested group could not be found'); + throw new OCSException('The requested group could not be found', \OCP\API::RESPOND_NOT_FOUND); } $isSubadminOfGroup = false; @@ -114,59 +119,62 @@ public function getGroup($parameters) { return $user->getUID(); }, $users); $users = array_values($users); - return new \OC\OCS\Result(['users' => $users]); + return new DataResponse(['users' => $users]); } else { - return new \OC\OCS\Result(null, \OCP\API::RESPOND_UNAUTHORISED, 'User does not have access to specified group'); + throw new OCSException('User does not have access to specified group', \OCP\API::RESPOND_UNAUTHORISED); } } /** * creates a new group * - * @param array $parameters - * @return \OC\OCS\Result + * @NoAdminRequired + * + * @param string $groupid + * @return DataResponse + * @throws OCSException */ - public function addGroup($parameters) { + public function addGroup($groupid) { // Validate name - $groupId = $this->request->getParam('groupid', ''); - if(empty($groupId)){ + if(empty($groupid)){ \OCP\Util::writeLog('provisioning_api', 'Group name not supplied', \OCP\Util::ERROR); - return new \OC\OCS\Result(null, 101, 'Invalid group name'); + throw new OCSException('Invalid group name', 101); } // Check if it exists - if($this->groupManager->groupExists($groupId)){ - return new \OC\OCS\Result(null, 102); + if($this->groupManager->groupExists($groupid)){ + throw new OCSException('', 102); } - $this->groupManager->createGroup($groupId); - return new \OC\OCS\Result(null, 100); + $this->groupManager->createGroup($groupid); + return new DataResponse(); } /** - * @param array $parameters - * @return \OC\OCS\Result + * @param string $groupId + * @return DataResponse + * @throws OCSException */ - public function deleteGroup($parameters) { + public function deleteGroup($groupId) { // Check it exists - if(!$this->groupManager->groupExists($parameters['groupid'])){ - return new \OC\OCS\Result(null, 101); - } else if($parameters['groupid'] === 'admin' || !$this->groupManager->get($parameters['groupid'])->delete()){ + if(!$this->groupManager->groupExists($groupId)){ + throw new OCSException('', 101); + } else if($groupId === 'admin' || !$this->groupManager->get($groupId)->delete()){ // Cannot delete admin group - return new \OC\OCS\Result(null, 102); - } else { - return new \OC\OCS\Result(null, 100); + throw new OCSException('', 102); } + + return new DataResponse(null, 100); } /** - * @param array $parameters - * @return \OC\OCS\Result + * @param string $groupId + * @return DataResponse + * @throws OCSException */ - public function getSubAdminsOfGroup($parameters) { - $group = $parameters['groupid']; + public function getSubAdminsOfGroup($groupId) { // Check group exists - $targetGroup = $this->groupManager->get($group); + $targetGroup = $this->groupManager->get($groupId); if($targetGroup === null) { - return new \OC\OCS\Result(null, 101, 'Group does not exist'); + throw new OCSException('Group does not exist', 101); } $subadmins = $this->groupManager->getSubAdmin()->getGroupsSubAdmins($targetGroup); @@ -176,7 +184,7 @@ public function getSubAdminsOfGroup($parameters) { $uids[] = $user->getUID(); } - return new \OC\OCS\Result($uids); + return new DataResponse($uids); } } diff --git a/apps/provisioning_api/lib/Users.php b/apps/provisioning_api/lib/Controller/UsersController.php similarity index 56% rename from apps/provisioning_api/lib/Users.php rename to apps/provisioning_api/lib/Controller/UsersController.php index 0e5a8043e8a93..29d449e97d6fc 100644 --- a/apps/provisioning_api/lib/Users.php +++ b/apps/provisioning_api/lib/Controller/UsersController.php @@ -27,17 +27,23 @@ * */ -namespace OCA\Provisioning_API; +namespace OCA\Provisioning_API\Controller; use \OC_Helper; +use OCP\AppFramework\Http\DataResponse; +use OCP\AppFramework\OCS\OCSException; +use OCP\AppFramework\OCS\OCSForbiddenException; +use OCP\AppFramework\OCS\OCSNotFoundException; +use OCP\AppFramework\OCSController; use OCP\Files\NotFoundException; use OCP\IConfig; use OCP\IGroupManager; use OCP\ILogger; +use OCP\IRequest; use OCP\IUserManager; use OCP\IUserSession; -class Users { +class UsersController extends OCSController { /** @var IUserManager */ private $userManager; @@ -51,17 +57,23 @@ class Users { private $logger; /** + * @param string $appName + * @param IRequest $request * @param IUserManager $userManager * @param IConfig $config * @param IGroupManager $groupManager * @param IUserSession $userSession * @param ILogger $logger */ - public function __construct(IUserManager $userManager, + public function __construct($appName, + IRequest $request, + IUserManager $userManager, IConfig $config, IGroupManager $groupManager, IUserSession $userSession, ILogger $logger) { + parent::__construct($appName, $request); + $this->userManager = $userManager; $this->config = $config; $this->groupManager = $groupManager; @@ -70,20 +82,17 @@ public function __construct(IUserManager $userManager, } /** + * @NoAdminRequired + * * returns a list of users * - * @return \OC\OCS\Result + * @param string $search + * @param int $limit + * @param int $offset + * @return DataResponse */ - public function getUsers() { - $search = !empty($_GET['search']) ? $_GET['search'] : ''; - $limit = !empty($_GET['limit']) ? $_GET['limit'] : null; - $offset = !empty($_GET['offset']) ? $_GET['offset'] : null; - - // Check if user is logged in + public function getUsers($search = '', $limit = null, $offset = null) { $user = $this->userSession->getUser(); - if ($user === null) { - return new \OC\OCS\Result(null, \OCP\API::RESPOND_UNAUTHORISED); - } // Admin? Or SubAdmin? $uid = $user->getUID(); @@ -106,89 +115,85 @@ public function getUsers() { } $users = array_slice($users, $offset, $limit); - } else { - return new \OC\OCS\Result(null, \OCP\API::RESPOND_UNAUTHORISED); } + $users = array_keys($users); - return new \OC\OCS\Result([ + return new DataResponse([ 'users' => $users ]); } /** - * @return \OC\OCS\Result + * @NoAdminRequired + * + * @param string $userid + * @param string $password + * @param array $groups + * @return DataResponse + * @throws OCSException */ - public function addUser() { - $userId = isset($_POST['userid']) ? $_POST['userid'] : null; - $password = isset($_POST['password']) ? $_POST['password'] : null; - $groups = isset($_POST['groups']) ? $_POST['groups'] : null; + public function addUser($userid, $password, $groups = null) { $user = $this->userSession->getUser(); $isAdmin = $this->groupManager->isAdmin($user->getUID()); $subAdminManager = $this->groupManager->getSubAdmin(); - if (!$isAdmin && !$subAdminManager->isSubAdmin($user)) { - return new \OC\OCS\Result(null, \OCP\API::RESPOND_UNAUTHORISED); - } - - if($this->userManager->userExists($userId)) { + if($this->userManager->userExists($userid)) { $this->logger->error('Failed addUser attempt: User already exists.', ['app' => 'ocs_api']); - return new \OC\OCS\Result(null, 102, 'User already exists'); + throw new OCSException('User already exists', 102); } if(is_array($groups)) { foreach ($groups as $group) { - if(!$this->groupManager->groupExists($group)){ - return new \OC\OCS\Result(null, 104, 'group '.$group.' does not exist'); + if(!$this->groupManager->groupExists($group)) { + throw new OCSException('group '.$group.' does not exist', 104); } if(!$isAdmin && !$subAdminManager->isSubAdminofGroup($user, $this->groupManager->get($group))) { - return new \OC\OCS\Result(null, 105, 'insufficient privileges for group '. $group); + throw new OCSException('insufficient privileges for group '. $group, 105); } } } else { if(!$isAdmin) { - return new \OC\OCS\Result(null, 106, 'no group specified (required for subadmins)'); + throw new OCSException('no group specified (required for subadmins)', 106); } } try { - $newUser = $this->userManager->createUser($userId, $password); - $this->logger->info('Successful addUser call with userid: '.$userId, ['app' => 'ocs_api']); + $newUser = $this->userManager->createUser($userid, $password); + $this->logger->info('Successful addUser call with userid: '.$userid, ['app' => 'ocs_api']); if (is_array($groups)) { foreach ($groups as $group) { $this->groupManager->get($group)->addUser($newUser); - $this->logger->info('Added userid '.$userId.' to group '.$group, ['app' => 'ocs_api']); + $this->logger->info('Added userid '.$userid.' to group '.$group, ['app' => 'ocs_api']); } } - return new \OC\OCS\Result(null, 100); + return new DataResponse(); } catch (\Exception $e) { $this->logger->error('Failed addUser attempt with exception: '.$e->getMessage(), ['app' => 'ocs_api']); - return new \OC\OCS\Result(null, 101, 'Bad request'); + throw new OCSException('Bad request', 101); } } /** + * @NoAdminRequired + * @NoSubAdminRequired + * * gets user info * - * @param array $parameters - * @return \OC\OCS\Result + * @param string $userId + * @return DataResponse + * @throws OCSException */ - public function getUser($parameters) { - $userId = $parameters['userid']; - - // Check if user is logged in + public function getUser($userId) { $currentLoggedInUser = $this->userSession->getUser(); - if ($currentLoggedInUser === null) { - return new \OC\OCS\Result(null, \OCP\API::RESPOND_UNAUTHORISED); - } $data = []; // Check if the target user exists $targetUserObject = $this->userManager->get($userId); if($targetUserObject === null) { - return new \OC\OCS\Result(null, \OCP\API::RESPOND_NOT_FOUND, 'The requested user could not be found'); + throw new OCSException('The requested user could not be found', \OCP\API::RESPOND_NOT_FOUND); } // Admin? Or SubAdmin? @@ -198,7 +203,7 @@ public function getUser($parameters) { } else { // Check they are looking up themselves if($currentLoggedInUser->getUID() !== $userId) { - return new \OC\OCS\Result(null, \OCP\API::RESPOND_UNAUTHORISED); + throw new OCSException('', \OCP\API::RESPOND_UNAUTHORISED); } } @@ -207,32 +212,32 @@ public function getUser($parameters) { $data['email'] = $targetUserObject->getEMailAddress(); $data['displayname'] = $targetUserObject->getDisplayName(); - return new \OC\OCS\Result($data); + return new DataResponse($data); } - /** + /** + * @NoAdminRequired + * @NoSubAdminRequired + * * edit users * - * @param array $parameters - * @return \OC\OCS\Result + * @param string $userId + * @param string $key + * @param string $value + * @return DataResponse + * @throws OCSException + * @throws OCSForbiddenException */ - public function editUser($parameters) { - /** @var string $targetUserId */ - $targetUserId = $parameters['userid']; - - // Check if user is logged in + public function editUser($userId, $key, $value) { $currentLoggedInUser = $this->userSession->getUser(); - if ($currentLoggedInUser === null) { - return new \OC\OCS\Result(null, \OCP\API::RESPOND_UNAUTHORISED); - } - $targetUser = $this->userManager->get($targetUserId); + $targetUser = $this->userManager->get($userId); if($targetUser === null) { - return new \OC\OCS\Result(null, 997); + throw new OCSException('', \OCP\API::RESPOND_UNAUTHORISED); } $permittedFields = []; - if($targetUserId === $currentLoggedInUser->getUID()) { + if($userId === $currentLoggedInUser->getUID()) { // Editing self (display, email) $permittedFields[] = 'display'; $permittedFields[] = 'email'; @@ -253,20 +258,20 @@ public function editUser($parameters) { $permittedFields[] = 'email'; } else { // No rights - return new \OC\OCS\Result(null, 997); + throw new OCSException('', \OCP\API::RESPOND_UNAUTHORISED); } } // Check if permitted to edit this field - if(!in_array($parameters['_put']['key'], $permittedFields)) { - return new \OC\OCS\Result(null, 997); + if(!in_array($key, $permittedFields)) { + throw new OCSException('', \OCP\API::RESPOND_UNAUTHORISED); } // Process the edit - switch($parameters['_put']['key']) { + switch($key) { case 'display': - $targetUser->setDisplayName($parameters['_put']['value']); + $targetUser->setDisplayName($value); break; case 'quota': - $quota = $parameters['_put']['value']; + $quota = $value; if($quota !== 'none' and $quota !== 'default') { if (is_numeric($quota)) { $quota = floatval($quota); @@ -274,7 +279,7 @@ public function editUser($parameters) { $quota = \OCP\Util::computerFileSize($quota); } if ($quota === false) { - return new \OC\OCS\Result(null, 103, "Invalid quota value {$parameters['_put']['value']}"); + throw new OCSException('Invalid quota value '.$value, 103); } if($quota === 0) { $quota = 'default'; @@ -287,115 +292,118 @@ public function editUser($parameters) { $targetUser->setQuota($quota); break; case 'password': - $targetUser->setPassword($parameters['_put']['value']); + $targetUser->setPassword($value); break; case 'email': - if(filter_var($parameters['_put']['value'], FILTER_VALIDATE_EMAIL)) { - $targetUser->setEMailAddress($parameters['_put']['value']); + if(filter_var($value, FILTER_VALIDATE_EMAIL)) { + $targetUser->setEMailAddress($value); } else { - return new \OC\OCS\Result(null, 102); + throw new OCSException('', 102); } break; default: - return new \OC\OCS\Result(null, 103); + throw new OCSException('', 103); } - return new \OC\OCS\Result(null, 100); + return new DataResponse(); } /** - * @param array $parameters - * @return \OC\OCS\Result + * @NoAdminRequired + * + * @param string $userId + * @return DataResponse + * @throws OCSException + * @throws OCSForbiddenException */ - public function deleteUser($parameters) { - // Check if user is logged in + public function deleteUser($userId) { $currentLoggedInUser = $this->userSession->getUser(); - if ($currentLoggedInUser === null) { - return new \OC\OCS\Result(null, \OCP\API::RESPOND_UNAUTHORISED); - } - $targetUser = $this->userManager->get($parameters['userid']); + $targetUser = $this->userManager->get($userId); if($targetUser === null || $targetUser->getUID() === $currentLoggedInUser->getUID()) { - return new \OC\OCS\Result(null, 101); + throw new OCSException('', 101); } // If not permitted $subAdminManager = $this->groupManager->getSubAdmin(); if(!$this->groupManager->isAdmin($currentLoggedInUser->getUID()) && !$subAdminManager->isUserAccessible($currentLoggedInUser, $targetUser)) { - return new \OC\OCS\Result(null, 997); + throw new OCSException('', \OCP\API::RESPOND_UNAUTHORISED); } // Go ahead with the delete if($targetUser->delete()) { - return new \OC\OCS\Result(null, 100); + return new DataResponse(); } else { - return new \OC\OCS\Result(null, 101); + throw new OCSException('', 101); } } /** - * @param array $parameters - * @return \OC\OCS\Result + * @NoAdminRequired + * + * @param string $userId + * @return DataResponse */ - public function disableUser($parameters) { - return $this->setEnabled($parameters, false); + public function disableUser($userId) { + return $this->setEnabled($userId, false); } /** - * @param array $parameters - * @return \OC\OCS\Result + * @NoAdminRequired + * + * @param string $userId + * @return DataResponse */ - public function enableUser($parameters) { - return $this->setEnabled($parameters, true); + public function enableUser($userId) { + return $this->setEnabled($userId, true); } /** - * @param array $parameters + * @param string $userId * @param bool $value - * @return \OC\OCS\Result + * @return DataResponse + * @throws OCSException + * @throws OCSForbiddenException */ - private function setEnabled($parameters, $value) { - // Check if user is logged in + private function setEnabled($userId, $value) { $currentLoggedInUser = $this->userSession->getUser(); - if ($currentLoggedInUser === null) { - return new \OC\OCS\Result(null, \OCP\API::RESPOND_UNAUTHORISED); - } - $targetUser = $this->userManager->get($parameters['userid']); + $targetUser = $this->userManager->get($userId); if($targetUser === null || $targetUser->getUID() === $currentLoggedInUser->getUID()) { - return new \OC\OCS\Result(null, 101); + throw new OCSException('', 101); } // If not permitted $subAdminManager = $this->groupManager->getSubAdmin(); if(!$this->groupManager->isAdmin($currentLoggedInUser->getUID()) && !$subAdminManager->isUserAccessible($currentLoggedInUser, $targetUser)) { - return new \OC\OCS\Result(null, 997); + throw new OCSException('', \OCP\API::RESPOND_UNAUTHORISED); } // enable/disable the user now $targetUser->setEnabled($value); - return new \OC\OCS\Result(null, 100); + return new DataResponse(); } /** - * @param array $parameters - * @return \OC\OCS\Result + * @NoAdminRequired + * @NoSubAdminRequired + * + * @param string $userId + * @return DataResponse + * @throws OCSForbiddenException + * @throws OCSNotFoundException */ - public function getUsersGroups($parameters) { - // Check if user is logged in + public function getUsersGroups($userId) { $loggedInUser = $this->userSession->getUser(); - if ($loggedInUser === null) { - return new \OC\OCS\Result(null, \OCP\API::RESPOND_UNAUTHORISED); - } - $targetUser = $this->userManager->get($parameters['userid']); + $targetUser = $this->userManager->get($userId); if($targetUser === null) { - return new \OC\OCS\Result(null, \OCP\API::RESPOND_NOT_FOUND); + throw new OCSException('', \OCP\API::RESPOND_NOT_FOUND); } if($targetUser->getUID() === $loggedInUser->getUID() || $this->groupManager->isAdmin($loggedInUser->getUID())) { // Self lookup or admin lookup - return new \OC\OCS\Result([ + return new DataResponse([ 'groups' => $this->groupManager->getUserGroupIds($targetUser) ]); } else { @@ -412,87 +420,75 @@ public function getUsersGroups($parameters) { $getSubAdminsGroups, $this->groupManager->getUserGroupIds($targetUser) ); - return new \OC\OCS\Result(array('groups' => $groups)); + return new DataResponse(['groups' => $groups]); } else { // Not permitted - return new \OC\OCS\Result(null, 997); + throw new OCSException('', \OCP\API::RESPOND_UNAUTHORISED); } } } /** - * @param array $parameters - * @return \OC\OCS\Result + * @param string $userId + * @param string $groupid + * @return DataResponse + * @throws OCSException */ - public function addToGroup($parameters) { - // Check if user is logged in - $user = $this->userSession->getUser(); - if ($user === null) { - return new \OC\OCS\Result(null, \OCP\API::RESPOND_UNAUTHORISED); + public function addToGroup($userId, $groupid = '') { + if($groupid === '') { + throw new OCSException('', 101); } - // Check they're an admin - if(!$this->groupManager->isAdmin($user->getUID())) { - // This user doesn't have rights to add a user to this group - return new \OC\OCS\Result(null, \OCP\API::RESPOND_UNAUTHORISED); - } - - $groupId = !empty($_POST['groupid']) ? $_POST['groupid'] : null; - if($groupId === null) { - return new \OC\OCS\Result(null, 101); - } - - $group = $this->groupManager->get($groupId); - $targetUser = $this->userManager->get($parameters['userid']); + $group = $this->groupManager->get($groupid); + $targetUser = $this->userManager->get($userId); if($group === null) { - return new \OC\OCS\Result(null, 102); + throw new OCSException('', 102); } if($targetUser === null) { - return new \OC\OCS\Result(null, 103); + throw new OCSException('', 103); } // Add user to group $group->addUser($targetUser); - return new \OC\OCS\Result(null, 100); + return new DataResponse(); } /** - * @param array $parameters - * @return \OC\OCS\Result + * @NoAdminRequired + * + * @param string userId + * @param string $groupid + * @return DataResponse + * @throws OCSException */ - public function removeFromGroup($parameters) { - // Check if user is logged in + public function removeFromGroup($userId, $groupid) { $loggedInUser = $this->userSession->getUser(); - if ($loggedInUser === null) { - return new \OC\OCS\Result(null, \OCP\API::RESPOND_UNAUTHORISED); - } - $group = !empty($parameters['_delete']['groupid']) ? $parameters['_delete']['groupid'] : null; - if($group === null) { - return new \OC\OCS\Result(null, 101); + if($groupid === null) { + throw new OCSException('', 101); } - $group = $this->groupManager->get($group); + $group = $this->groupManager->get($groupid); if($group === null) { - return new \OC\OCS\Result(null, 102); + throw new OCSException('', 102); } - $targetUser = $this->userManager->get($parameters['userid']); + $targetUser = $this->userManager->get($userId); if($targetUser === null) { - return new \OC\OCS\Result(null, 103); + throw new OCSException('', 103); } // If they're not an admin, check they are a subadmin of the group in question $subAdminManager = $this->groupManager->getSubAdmin(); if(!$this->groupManager->isAdmin($loggedInUser->getUID()) && !$subAdminManager->isSubAdminofGroup($loggedInUser, $group)) { - return new \OC\OCS\Result(null, 104); + throw new OCSException('', 104); } // Check they aren't removing themselves from 'admin' or their 'subadmin; group - if($parameters['userid'] === $loggedInUser->getUID()) { + if($userId === $loggedInUser->getUID()) { if($this->groupManager->isAdmin($loggedInUser->getUID())) { if($group->getGID() === 'admin') { - return new \OC\OCS\Result(null, 105, 'Cannot remove yourself from the admin group'); + throw new OCSException('Cannot remove yourself from the admin group', 105); } } else { // Not an admin, check they are not removing themself from their subadmin group @@ -502,96 +498,101 @@ public function removeFromGroup($parameters) { } if(in_array($group->getGID(), $subAdminGroups, true)) { - return new \OC\OCS\Result(null, 105, 'Cannot remove yourself from this group as you are a SubAdmin'); + throw new OCSException('Cannot remove yourself from this group as you are a SubAdmin', 105); } } } // Remove user from group $group->removeUser($targetUser); - return new \OC\OCS\Result(null, 100); + return new DataResponse(); } /** * Creates a subadmin * - * @param array $parameters - * @return \OC\OCS\Result + * @param string $userId + * @param string $groupid + * @return DataResponse + * @throws OCSException */ - public function addSubAdmin($parameters) { - $group = $this->groupManager->get($_POST['groupid']); - $user = $this->userManager->get($parameters['userid']); + public function addSubAdmin($userId, $groupid) { + $group = $this->groupManager->get($groupid); + $user = $this->userManager->get($userId); // Check if the user exists if($user === null) { - return new \OC\OCS\Result(null, 101, 'User does not exist'); + throw new OCSException('User does not exist', 101); } // Check if group exists if($group === null) { - return new \OC\OCS\Result(null, 102, 'Group:'.$_POST['groupid'].' does not exist'); + throw new OCSException('Group:'.$groupid.' does not exist', 102); } // Check if trying to make subadmin of admin group - if(strtolower($_POST['groupid']) === 'admin') { - return new \OC\OCS\Result(null, 103, 'Cannot create subadmins for admin group'); + if(strtolower($groupid) === 'admin') { + throw new OCSException('Cannot create subadmins for admin group', 103); } $subAdminManager = $this->groupManager->getSubAdmin(); // We cannot be subadmin twice if ($subAdminManager->isSubAdminofGroup($user, $group)) { - return new \OC\OCS\Result(null, 100); + return new DataResponse(); } // Go if($subAdminManager->createSubAdmin($user, $group)) { - return new \OC\OCS\Result(null, 100); + return new DataResponse(); } else { - return new \OC\OCS\Result(null, 103, 'Unknown error occurred'); + throw new OCSException('Unknown error occurred', 103); } } /** * Removes a subadmin from a group * - * @param array $parameters - * @return \OC\OCS\Result + * @param string $userId + * @param string $groupid + * @return DataResponse + * @throws OCSException */ - public function removeSubAdmin($parameters) { - $group = $this->groupManager->get($parameters['_delete']['groupid']); - $user = $this->userManager->get($parameters['userid']); + public function removeSubAdmin($userId, $groupid) { + $group = $this->groupManager->get($groupid); + $user = $this->userManager->get($userId); $subAdminManager = $this->groupManager->getSubAdmin(); // Check if the user exists if($user === null) { - return new \OC\OCS\Result(null, 101, 'User does not exist'); + throw new OCSException('User does not exist', 101); } // Check if the group exists if($group === null) { - return new \OC\OCS\Result(null, 101, 'Group does not exist'); + throw new OCSException('Group does not exist', 101); } // Check if they are a subadmin of this said group if(!$subAdminManager->isSubAdminofGroup($user, $group)) { - return new \OC\OCS\Result(null, 102, 'User is not a subadmin of this group'); + throw new OCSException('User is not a subadmin of this group', 102); } // Go if($subAdminManager->deleteSubAdmin($user, $group)) { - return new \OC\OCS\Result(null, 100); + return new DataResponse(); } else { - return new \OC\OCS\Result(null, 103, 'Unknown error occurred'); + throw new OCSException('Unknown error occurred', 103); } } /** * Get the groups a user is a subadmin of * - * @param array $parameters - * @return \OC\OCS\Result + * @param string $userId + * @return DataResponse + * @throws OCSException */ - public function getUserSubAdminGroups($parameters) { - $user = $this->userManager->get($parameters['userid']); + public function getUserSubAdminGroups($userId) { + $user = $this->userManager->get($userId); // Check if the user exists if($user === null) { - return new \OC\OCS\Result(null, 101, 'User does not exist'); + throw new OCSException('User does not exist', 101); } // Get the subadmin groups @@ -601,9 +602,9 @@ public function getUserSubAdminGroups($parameters) { } if(!$groups) { - return new \OC\OCS\Result(null, 102, 'Unknown error occurred'); + throw new OCSException('Unknown error occurred', 102); } else { - return new \OC\OCS\Result($groups); + return new DataResponse($groups); } } diff --git a/apps/provisioning_api/lib/Middleware/Exceptions/NotSubAdminException.php b/apps/provisioning_api/lib/Middleware/Exceptions/NotSubAdminException.php new file mode 100644 index 0000000000000..007ea04db46f3 --- /dev/null +++ b/apps/provisioning_api/lib/Middleware/Exceptions/NotSubAdminException.php @@ -0,0 +1,11 @@ +reflector = $reflector; + $this->isAdmin = $isAdmin; + $this->isSubAdmin = $isSubAdmin; + } + + /** + * @param \OCP\AppFramework\Controller $controller + * @param string $methodName + * + * @throws NotSubAdminException + */ + public function beforeController($controller, $methodName) { + if (!$this->isAdmin && !$this->reflector->hasAnnotation('NoSubAdminRequired') && !$this->isSubAdmin) { + throw new NotSubAdminException(); + } + } + + /** + * @param \OCP\AppFramework\Controller $controller + * @param string $methodName + * @param \Exception $exception + * @throws \Exception + * @return Response + */ + public function afterException($controller, $methodName, \Exception $exception) { + if ($exception instanceof NotSubAdminException) { + throw new OCSException($exception->getMessage(), \OCP\API::RESPOND_UNAUTHORISED); + } + + throw $exception; + } +} \ No newline at end of file diff --git a/apps/provisioning_api/tests/AppsTest.php b/apps/provisioning_api/tests/Controller/AppsControllerTest.php similarity index 72% rename from apps/provisioning_api/tests/AppsTest.php rename to apps/provisioning_api/tests/Controller/AppsControllerTest.php index 35808b1581618..9ac4a8290e424 100644 --- a/apps/provisioning_api/tests/AppsTest.php +++ b/apps/provisioning_api/tests/Controller/AppsControllerTest.php @@ -25,11 +25,11 @@ * */ -namespace OCA\Provisioning_API\Tests; +namespace OCA\Provisioning_API\Tests\Controller; use OC\OCSClient; -use OCA\Provisioning_API\Apps; +use OCA\Provisioning_API\Controller\AppsController; use OCP\API; use OCP\App\IAppManager; use OCP\IUserSession; @@ -41,10 +41,10 @@ * * @package OCA\Provisioning_API\Tests */ -class AppsTest extends TestCase { +class AppsControllerTest extends \OCA\Provisioning_API\Tests\TestCase { /** @var IAppManager */ private $appManager; - /** @var Apps */ + /** @var AppsController */ private $api; /** @var IUserSession */ private $userSession; @@ -61,20 +61,30 @@ protected function setUp() { ->disableOriginalConstructor() ->getMock(); - $this->api = new Apps($this->appManager, $this->ocsClient); + $request = $this->getMockBuilder('OCP\IRequest') + ->disableOriginalConstructor() + ->getMock(); + + $this->api = new AppsController( + 'provisioning_api', + $request, + $this->appManager, + $this->ocsClient + ); } public function testGetAppInfo() { - $result = $this->api->getAppInfo(['appid' => 'provisioning_api']); - $this->assertInstanceOf('\OC\OCS\Result', $result); - $this->assertTrue($result->succeeded()); + $result = $this->api->getAppInfo('provisioning_api'); + $expected = \OC_App::getAppInfo('provisioning_api'); + $this->assertEquals($expected, $result->getData()); } + /** + * @expectedException \OCP\AppFramework\OCS\OCSException + * @expectedExceptionCode 998 + */ public function testGetAppInfoOnBadAppID() { - $result = $this->api->getAppInfo(['appid' => 'not_provisioning_api']); - $this->assertInstanceOf('\OC\OCS\Result', $result); - $this->assertFalse($result->succeeded()); - $this->assertEquals(API::RESPOND_NOT_FOUND, $result->getStatusCode()); + $this->api->getAppInfo('not_provisioning_api'); } public function testGetApps() { @@ -86,17 +96,14 @@ public function testGetApps() { $this->groupManager->get('admin')->addUser($user); $this->userSession->setUser($user); - $result = $this->api->getApps([]); + $result = $this->api->getApps(); - $this->assertTrue($result->succeeded()); $data = $result->getData(); $this->assertEquals(count(\OC_App::listAllApps(false, true, $this->ocsClient)), count($data['apps'])); } public function testGetAppsEnabled() { - $_GET['filter'] = 'enabled'; - $result = $this->api->getApps(['filter' => 'enabled']); - $this->assertTrue($result->succeeded()); + $result = $this->api->getApps('enabled'); $data = $result->getData(); $this->assertEquals(count(\OC_App::getEnabledApps()), count($data['apps'])); } @@ -106,9 +113,7 @@ public function testGetAppsDisabled() { ->expects($this->any()) ->method($this->anything()) ->will($this->returnValue(null)); - $_GET['filter'] = 'disabled'; - $result = $this->api->getApps(['filter' => 'disabled']); - $this->assertTrue($result->succeeded()); + $result = $this->api->getApps('disabled'); $data = $result->getData(); $apps = \OC_App::listAllApps(false, true, $this->ocsClient); $list = array(); @@ -119,10 +124,11 @@ public function testGetAppsDisabled() { $this->assertEquals(count($disabled), count($data['apps'])); } + /** + * @expectedException \OCP\AppFramework\OCS\OCSException + * @expectedExceptionCode 101 + */ public function testGetAppsInvalidFilter() { - $_GET['filter'] = 'foo'; - $result = $this->api->getApps([]); - $this->assertFalse($result->succeeded()); - $this->assertEquals(101, $result->getStatusCode()); + $this->api->getApps('foo'); } } diff --git a/apps/provisioning_api/tests/GroupsTest.php b/apps/provisioning_api/tests/Controller/GroupsControllerTest.php similarity index 59% rename from apps/provisioning_api/tests/GroupsTest.php rename to apps/provisioning_api/tests/Controller/GroupsControllerTest.php index 2fa19c4f8b451..25059e854257b 100644 --- a/apps/provisioning_api/tests/GroupsTest.php +++ b/apps/provisioning_api/tests/Controller/GroupsControllerTest.php @@ -24,24 +24,20 @@ * */ -namespace OCA\Provisioning_API\Tests; +namespace OCA\Provisioning_API\Tests\Controller; -use OCA\Provisioning_API\Groups; -use OCP\API; +use OCA\Provisioning_API\Controller\GroupsController; use OCP\IGroupManager; use OCP\IUserSession; -use OCP\IRequest; -class GroupsTest extends \Test\TestCase { +class GroupsControllerTest extends \Test\TestCase { /** @var IGroupManager|\PHPUnit_Framework_MockObject_MockObject */ protected $groupManager; /** @var IUserSession|\PHPUnit_Framework_MockObject_MockObject */ protected $userSession; - /** @var IRequest|\PHPUnit_Framework_MockObject_MockObject */ - protected $request; /** @var \OC\SubAdmin|\PHPUnit_Framework_MockObject_MockObject */ protected $subAdminManager; - /** @var Groups */ + /** @var GroupsController */ protected $api; protected function setUp() { @@ -61,13 +57,14 @@ protected function setUp() { $this->userSession = $this->getMockBuilder('OCP\IUserSession') ->disableOriginalConstructor() ->getMock(); - $this->request = $this->getMockBuilder('OCP\IRequest') + $request = $this->getMockBuilder('OCP\IRequest') ->disableOriginalConstructor() ->getMock(); - $this->api = new Groups( + $this->api = new GroupsController( + 'provisioning_api', + $request, $this->groupManager, - $this->userSession, - $this->request + $this->userSession ); } @@ -148,15 +145,6 @@ public function dataGetGroups() { * @param int|null $offset */ public function testGetGroups($search, $limit, $offset) { - $this->request - ->expects($this->exactly(3)) - ->method('getParam') - ->will($this->returnValueMap([ - ['search', '', $search], - ['limit', null, $limit], - ['offset', null, $offset], - ])); - $groups = [$this->createGroup('group1'), $this->createGroup('group2')]; $search = $search === null ? '' : $search; @@ -167,19 +155,8 @@ public function testGetGroups($search, $limit, $offset) { ->with($search, $limit, $offset) ->willReturn($groups); - $result = $this->api->getGroups([]); - $this->assertInstanceOf('\OC\OCS\Result', $result); - $this->assertTrue($result->succeeded()); - $this->assertEquals(['group1', 'group2'], $result->getData()['groups']); - } - - public function testGetGroupAsUser() { - $result = $this->api->getGroup([]); - - $this->assertInstanceOf('\OC\OCS\Result', $result); - $this->assertFalse($result->succeeded()); - $this->assertEquals(API::RESPOND_UNAUTHORISED, $result->getStatusCode()); - + $result = $this->api->getGroups($search, $limit, $offset); + $this->assertEquals(['groups' => ['group1', 'group2']], $result->getData()); } public function testGetGroupAsSubadmin() { @@ -201,17 +178,15 @@ public function testGetGroupAsSubadmin() { $this->createUser('user2') ]); - $result = $this->api->getGroup([ - 'groupid' => 'group', - ]); + $result = $this->api->getGroup('group'); - $this->assertInstanceOf('\OC\OCS\Result', $result); - $this->assertTrue($result->succeeded()); - $this->assertEquals(1, sizeof($result->getData()), 'Asserting the result data array only has the "users" key'); - $this->assertArrayHasKey('users', $result->getData()); - $this->assertEquals(['user1', 'user2'], $result->getData()['users']); + $this->assertEquals(['users' => ['user1', 'user2']], $result->getData()); } + /** + * @expectedException \OCP\AppFramework\OCS\OCSException + * @expectedExceptionCode 997 + */ public function testGetGroupAsIrrelevantSubadmin() { $group = $this->createGroup('group'); $otherGroup = $this->createGroup('otherGroup'); @@ -226,13 +201,7 @@ public function testGetGroupAsIrrelevantSubadmin() { ->with('group') ->willReturn(true); - $result = $this->api->getGroup([ - 'groupid' => 'group', - ]); - - $this->assertInstanceOf('\OC\OCS\Result', $result); - $this->assertFalse($result->succeeded()); - $this->assertEquals(API::RESPOND_UNAUTHORISED, $result->getStatusCode()); + $this->api->getGroup('group'); } public function testGetGroupAsAdmin() { @@ -254,39 +223,29 @@ public function testGetGroupAsAdmin() { $this->createUser('user2') ]); - $result = $this->api->getGroup([ - 'groupid' => 'group', - ]); + $result = $this->api->getGroup('group'); - $this->assertInstanceOf('\OC\OCS\Result', $result); - $this->assertTrue($result->succeeded()); - $this->assertEquals(1, sizeof($result->getData()), 'Asserting the result data array only has the "users" key'); - $this->assertArrayHasKey('users', $result->getData()); - $this->assertEquals(['user1', 'user2'], $result->getData()['users']); + $this->assertEquals(['users' => ['user1', 'user2']], $result->getData()); } + /** + * @expectedException \OCP\AppFramework\OCS\OCSException + * @expectedExceptionCode 998 + * @expectedExceptionMessage The requested group could not be found + */ public function testGetGroupNonExisting() { $this->asUser(); - $result = $this->api->getGroup([ - 'groupid' => $this->getUniqueID() - ]); - - $this->assertInstanceOf('\OC\OCS\Result', $result); - $this->assertFalse($result->succeeded()); - $this->assertEquals(API::RESPOND_NOT_FOUND, $result->getStatusCode()); - $this->assertEquals('The requested group could not be found', $result->getMeta()['message']); + $this->api->getGroup($this->getUniqueID()); } + /** + * @expectedException \OCP\AppFramework\OCS\OCSException + * @expectedExceptionCode 101 + * @expectedExceptionMessage Group does not exist + */ public function testGetSubAdminsOfGroupsNotExists() { - $result = $this->api->getSubAdminsOfGroup([ - 'groupid' => 'NonExistingGroup', - ]); - - $this->assertInstanceOf('\OC\OCS\Result', $result); - $this->assertFalse($result->succeeded()); - $this->assertEquals(101, $result->getStatusCode()); - $this->assertEquals('Group does not exist', $result->getMeta()['message']); + $this->api->getSubAdminsOfGroup('NonExistingGroup'); } public function testGetSubAdminsOfGroup() { @@ -305,12 +264,7 @@ public function testGetSubAdminsOfGroup() { $this->createUser('SubAdmin2'), ]); - $result = $this->api->getSubAdminsOfGroup([ - 'groupid' => 'GroupWithSubAdmins', - ]); - - $this->assertInstanceOf('\OC\OCS\Result', $result); - $this->assertTrue($result->succeeded()); + $result = $this->api->getSubAdminsOfGroup('GroupWithSubAdmins'); $this->assertEquals(['SubAdmin1', 'SubAdmin2'], $result->getData()); } @@ -328,53 +282,33 @@ public function testGetSubAdminsOfGroupEmptyList() { ->willReturn([ ]); - $result = $this->api->getSubAdminsOfGroup([ - 'groupid' => 'GroupWithOutSubAdmins', - ]); - - $this->assertInstanceOf('\OC\OCS\Result', $result); - $this->assertTrue($result->succeeded()); + $result = $this->api->getSubAdminsOfGroup('GroupWithOutSubAdmins'); $this->assertEquals([], $result->getData()); } + /** + * @expectedException \OCP\AppFramework\OCS\OCSException + * @expectedExceptionCode 101 + * @expectedExceptionMessage Invalid group name + */ public function testAddGroupEmptyGroup() { - $this->request - ->method('getParam') - ->with('groupid') - ->willReturn(''); - - $result = $this->api->addGroup([]); - - $this->assertInstanceOf('\OC\OCS\Result', $result); - $this->assertFalse($result->succeeded()); - $this->assertEquals(101, $result->getStatusCode()); - $this->assertEquals('Invalid group name', $result->getMeta()['message']); + $this->api->addGroup(''); } + /** + * @expectedException \OCP\AppFramework\OCS\OCSException + * @expectedExceptionCode 102 + */ public function testAddGroupExistingGroup() { - $this->request - ->method('getParam') - ->with('groupid') - ->willReturn('ExistingGroup'); - $this->groupManager ->method('groupExists') ->with('ExistingGroup') ->willReturn(true); - $result = $this->api->addGroup([]); - - $this->assertInstanceOf('\OC\OCS\Result', $result); - $this->assertFalse($result->succeeded()); - $this->assertEquals(102, $result->getStatusCode()); + $this->api->addGroup('ExistingGroup'); } public function testAddGroup() { - $this->request - ->method('getParam') - ->with('groupid') - ->willReturn('NewGroup'); - $this->groupManager ->method('groupExists') ->with('NewGroup') @@ -385,17 +319,10 @@ public function testAddGroup() { ->method('createGroup') ->with('NewGroup'); - $result = $this->api->addGroup([]); - $this->assertInstanceOf('\OC\OCS\Result', $result); - $this->assertTrue($result->succeeded()); + $this->api->addGroup('NewGroup'); } public function testAddGroupWithSpecialChar() { - $this->request - ->method('getParam') - ->with('groupid') - ->willReturn('Iñtërnâtiônàlizætiøn'); - $this->groupManager ->method('groupExists') ->with('Iñtërnâtiônàlizætiøn') @@ -406,32 +333,28 @@ public function testAddGroupWithSpecialChar() { ->method('createGroup') ->with('Iñtërnâtiônàlizætiøn'); - $result = $this->api->addGroup([]); - $this->assertInstanceOf('\OC\OCS\Result', $result); - $this->assertTrue($result->succeeded()); + $this->api->addGroup('Iñtërnâtiônàlizætiøn'); } + /** + * @expectedException \OCP\AppFramework\OCS\OCSException + * @expectedExceptionCode 101 + */ public function testDeleteGroupNonExisting() { - $result = $this->api->deleteGroup([ - 'groupid' => 'NonExistingGroup' - ]); - $this->assertInstanceOf('\OC\OCS\Result', $result); - $this->assertFalse($result->succeeded()); - $this->assertEquals(101, $result->getStatusCode()); + $this->api->deleteGroup('NonExistingGroup'); } + /** + * @expectedException \OCP\AppFramework\OCS\OCSException + * @expectedExceptionCode 102 + */ public function testDeleteAdminGroup() { $this->groupManager ->method('groupExists') ->with('admin') ->willReturn('true'); - $result = $this->api->deleteGroup([ - 'groupid' => 'admin' - ]); - $this->assertInstanceOf('\OC\OCS\Result', $result); - $this->assertFalse($result->succeeded()); - $this->assertEquals(102, $result->getStatusCode()); + $this->api->deleteGroup('admin'); } public function testDeleteGroup() { @@ -450,10 +373,6 @@ public function testDeleteGroup() { ->method('delete') ->willReturn(true); - $result = $this->api->deleteGroup([ - 'groupid' => 'ExistingGroup', - ]); - $this->assertInstanceOf('\OC\OCS\Result', $result); - $this->assertTrue($result->succeeded()); + $this->api->deleteGroup('ExistingGroup'); } } diff --git a/apps/provisioning_api/tests/UsersTest.php b/apps/provisioning_api/tests/Controller/UsersControllerTest.php similarity index 76% rename from apps/provisioning_api/tests/UsersTest.php rename to apps/provisioning_api/tests/Controller/UsersControllerTest.php index e67d603e487bf..e04ee86feae29 100644 --- a/apps/provisioning_api/tests/UsersTest.php +++ b/apps/provisioning_api/tests/Controller/UsersControllerTest.php @@ -27,10 +27,9 @@ * */ -namespace OCA\Provisioning_API\Tests; +namespace OCA\Provisioning_API\Tests\Controller; -use OCA\Provisioning_API\Users; -use OCP\API; +use OCA\Provisioning_API\Controller\UsersController; use OCP\IUserManager; use OCP\IConfig; use OCP\IUserSession; @@ -38,7 +37,7 @@ use Test\TestCase as OriginalTest; use OCP\ILogger; -class UsersTest extends OriginalTest { +class UsersControllerTest extends OriginalTest { /** @var IUserManager | PHPUnit_Framework_MockObject_MockObject */ protected $userManager; @@ -50,12 +49,10 @@ class UsersTest extends OriginalTest { protected $userSession; /** @var ILogger | PHPUnit_Framework_MockObject_MockObject */ protected $logger; - /** @var Users | PHPUnit_Framework_MockObject_MockObject */ + /** @var UsersController | PHPUnit_Framework_MockObject_MockObject */ protected $api; protected function tearDown() { - $_GET = null; - $_POST = null; parent::tearDown(); } @@ -77,8 +74,13 @@ protected function setUp() { $this->logger = $this->getMockBuilder('OCP\ILogger') ->disableOriginalConstructor() ->getMock(); - $this->api = $this->getMockBuilder('OCA\Provisioning_API\Users') + $request = $this->getMockBuilder('OCP\IRequest') + ->disableOriginalConstructor() + ->getMock(); + $this->api = $this->getMockBuilder('OCA\Provisioning_API\Controller\UsersController') ->setConstructorArgs([ + 'provisioning_api', + $request, $this->userManager, $this->config, $this->groupManager, @@ -89,19 +91,7 @@ protected function setUp() { ->getMock(); } - public function testGetUsersNotLoggedIn() { - $this->userSession - ->expects($this->once()) - ->method('getUser') - ->will($this->returnValue(null)); - - $expected = new \OC\OCS\Result(null, API::RESPOND_UNAUTHORISED); - $this->assertEquals($expected, $this->api->getUsers()); - } - public function testGetUsersAsAdmin() { - $_GET['search'] = 'MyCustomSearch'; - $loggedInUser = $this->getMockBuilder('OCP\IUser') ->disableOriginalConstructor() ->getMock(); @@ -123,19 +113,16 @@ public function testGetUsersAsAdmin() { ->with('MyCustomSearch', null, null) ->will($this->returnValue(['Admin' => [], 'Foo' => [], 'Bar' => []])); - $expected = new \OC\OCS\Result([ - 'users' => [ + $expected = ['users' => [ 'Admin', 'Foo', 'Bar', ], - ]); - $this->assertEquals($expected, $this->api->getUsers()); + ]; + $this->assertEquals($expected, $this->api->getUsers('MyCustomSearch')->getData()); } public function testGetUsersAsSubAdmin() { - $_GET['search'] = 'MyCustomSearch'; - $loggedInUser = $this->getMockBuilder('OCP\IUser') ->disableOriginalConstructor() ->getMock(); @@ -186,51 +173,20 @@ public function testGetUsersAsSubAdmin() { ->method('displayNamesInGroup') ->will($this->onConsecutiveCalls(['AnotherUserInTheFirstGroup' => []], ['UserInTheSecondGroup' => []])); - $expected = new \OC\OCS\Result([ + $expected = [ 'users' => [ 'AnotherUserInTheFirstGroup', 'UserInTheSecondGroup', ], - ]); - $this->assertEquals($expected, $this->api->getUsers()); - } - - public function testGetUsersAsRegularUser() { - $_GET['search'] = 'MyCustomSearch'; - - $loggedInUser = $this->getMockBuilder('OCP\IUser') - ->disableOriginalConstructor() - ->getMock(); - $loggedInUser - ->expects($this->once()) - ->method('getUID') - ->will($this->returnValue('regularUser')); - $this->userSession - ->expects($this->once()) - ->method('getUser') - ->will($this->returnValue($loggedInUser)); - $this->groupManager - ->expects($this->once()) - ->method('isAdmin') - ->will($this->returnValue(false)); - $subAdminManager = $this->getMockBuilder('OC\SubAdmin') - ->disableOriginalConstructor()->getMock(); - $subAdminManager - ->expects($this->once()) - ->method('isSubAdmin') - ->with($loggedInUser) - ->will($this->returnValue(false)); - $this->groupManager - ->expects($this->once()) - ->method('getSubAdmin') - ->will($this->returnValue($subAdminManager)); - - $expected = new \OC\OCS\Result(null, API::RESPOND_UNAUTHORISED); - $this->assertEquals($expected, $this->api->getUsers()); + ]; + $this->assertEquals($expected, $this->api->getUsers('MyCustomSearch')->getData()); } + /** + * @expectedException \OCP\AppFramework\OCS\OCSException + * @expectedExceptionCode 102 + */ public function testAddUserAlreadyExisting() { - $_POST['userid'] = 'AlreadyExistingUser'; $this->userManager ->expects($this->once()) ->method('userExists') @@ -257,13 +213,15 @@ public function testAddUserAlreadyExisting() { ->with('adminUser') ->willReturn(true); - $expected = new \OC\OCS\Result(null, 102, 'User already exists'); - $this->assertEquals($expected, $this->api->addUser()); + $this->api->addUser('AlreadyExistingUser', null, null); } + /** + * @expectedException \OCP\AppFramework\OCS\OCSException + * @expectedExceptionCode 104 + * @expectedExceptionMessage group NonExistingGroup does not exist + */ public function testAddUserNonExistingGroup() { - $_POST['userid'] = 'NewUser'; - $_POST['groups'] = ['NonExistingGroup']; $this->userManager ->expects($this->once()) ->method('userExists') @@ -291,13 +249,15 @@ public function testAddUserNonExistingGroup() { ->with('NonExistingGroup') ->willReturn(false); - $expected = new \OC\OCS\Result(null, 104, 'group NonExistingGroup does not exist'); - $this->assertEquals($expected, $this->api->addUser()); + $this->api->addUser('NewUser', 'pass', ['NonExistingGroup']); } + /** + * @expectedException \OCP\AppFramework\OCS\OCSException + * @expectedExceptionCode 104 + * @expectedExceptionMessage group NonExistingGroup does not exist + */ public function testAddUserExistingGroupNonExistingGroup() { - $_POST['userid'] = 'NewUser'; - $_POST['groups'] = ['ExistingGroup', 'NonExistingGroup']; $this->userManager ->expects($this->once()) ->method('userExists') @@ -331,13 +291,10 @@ public function testAddUserExistingGroupNonExistingGroup() { ['NonExistingGroup', false] ])); - $expected = new \OC\OCS\Result(null, 104, 'group NonExistingGroup does not exist'); - $this->assertEquals($expected, $this->api->addUser()); + $this->api->addUser('NewUser', 'pass', ['ExistingGroup', 'NonExistingGroup']); } public function testAddUserSuccessful() { - $_POST['userid'] = 'NewUser'; - $_POST['password'] = 'PasswordOfTheNewUser'; $this->userManager ->expects($this->once()) ->method('userExists') @@ -368,14 +325,10 @@ public function testAddUserSuccessful() { ->with('adminUser') ->willReturn(true); - $expected = new \OC\OCS\Result(null, 100); - $this->assertEquals($expected, $this->api->addUser()); + $this->assertEquals([], $this->api->addUser('NewUser', 'PasswordOfTheNewUser')->getData()); } public function testAddUserExistingGroup() { - $_POST['userid'] = 'NewUser'; - $_POST['password'] = 'PasswordOfTheNewUser'; - $_POST['groups'] = ['ExistingGroup']; $this->userManager ->expects($this->once()) ->method('userExists') @@ -430,13 +383,15 @@ public function testAddUserExistingGroup() { ['Added userid NewUser to group ExistingGroup', ['app' => 'ocs_api']] ); - $expected = new \OC\OCS\Result(null, 100); - $this->assertEquals($expected, $this->api->addUser()); + $this->assertEquals([], $this->api->addUser('NewUser', 'PasswordOfTheNewUser', ['ExistingGroup'])->getData()); } + /** + * @expectedException \OCP\AppFramework\OCS\OCSException + * @expectedExceptionCode 101 + * @expectedExceptionMessage Bad request + */ public function testAddUserUnsuccessful() { - $_POST['userid'] = 'NewUser'; - $_POST['password'] = 'PasswordOfTheNewUser'; $this->userManager ->expects($this->once()) ->method('userExists') @@ -468,49 +423,15 @@ public function testAddUserUnsuccessful() { ->with('adminUser') ->willReturn(true); - $expected = new \OC\OCS\Result(null, 101, 'Bad request'); - $this->assertEquals($expected, $this->api->addUser()); - } - - public function testAddUserAsRegularUser() { - $_POST['userid'] = 'NewUser'; - $_POST['password'] = 'PasswordOfTheNewUser'; - $loggedInUser = $this->getMockBuilder('OCP\IUser') - ->disableOriginalConstructor() - ->getMock(); - $loggedInUser - ->expects($this->once()) - ->method('getUID') - ->will($this->returnValue('regularUser')); - $this->userSession - ->expects($this->once()) - ->method('getUser') - ->will($this->returnValue($loggedInUser)); - $this->groupManager - ->expects($this->once()) - ->method('isAdmin') - ->with('regularUser') - ->willReturn(false); - $subAdminManager = $this->getMockBuilder('OC\SubAdmin') - ->disableOriginalConstructor()->getMock(); - $subAdminManager - ->expects($this->once()) - ->method('isSubAdmin') - ->with($loggedInUser) - ->willReturn(false); - $this->groupManager - ->expects($this->once()) - ->method('getSubAdmin') - ->with() - ->willReturn($subAdminManager); - - $expected = new \OC\OCS\Result(null, API::RESPOND_UNAUTHORISED); - $this->assertEquals($expected, $this->api->addUser()); + $this->api->addUser('NewUser', 'PasswordOfTheNewUser'); } + /** + * @expectedException \OCP\AppFramework\OCS\OCSException + * @expectedExceptionCode 106 + * @expectedExceptionMessage no group specified (required for subadmins) + */ public function testAddUserAsSubAdminNoGroup() { - $_POST['userid'] = 'NewUser'; - $_POST['password'] = 'PasswordOfTheNewUser'; $loggedInUser = $this->getMockBuilder('OCP\IUser') ->disableOriginalConstructor() ->getMock(); @@ -529,25 +450,21 @@ public function testAddUserAsSubAdminNoGroup() { ->willReturn(false); $subAdminManager = $this->getMockBuilder('OC\SubAdmin') ->disableOriginalConstructor()->getMock(); - $subAdminManager - ->expects($this->once()) - ->method('isSubAdmin') - ->with($loggedInUser) - ->willReturn(true); $this->groupManager ->expects($this->once()) ->method('getSubAdmin') ->with() ->willReturn($subAdminManager); - $expected = new \OC\OCS\Result(null, 106, 'no group specified (required for subadmins)'); - $this->assertEquals($expected, $this->api->addUser()); + $this->api->addUser('NewUser', 'PasswordOfTheNewUser', null); } + /** + * @expectedException \OCP\AppFramework\OCS\OCSException + * @expectedExceptionCode 105 + * @expectedExceptionMessage insufficient privileges for group ExistingGroup + */ public function testAddUserAsSubAdminValidGroupNotSubAdmin() { - $_POST['userid'] = 'NewUser'; - $_POST['password'] = 'PasswordOfTheNewUser'; - $_POST['groups'] = ['ExistingGroup']; $loggedInUser = $this->getMockBuilder('OCP\IUser') ->disableOriginalConstructor() ->getMock(); @@ -572,11 +489,6 @@ public function testAddUserAsSubAdminValidGroupNotSubAdmin() { ->willReturn($existingGroup); $subAdminManager = $this->getMockBuilder('OC\SubAdmin') ->disableOriginalConstructor()->getMock(); - $subAdminManager - ->expects($this->once()) - ->method('isSubAdmin') - ->with($loggedInUser) - ->willReturn(true); $subAdminManager ->expects($this->once()) ->method('isSubAdminOfGroup') @@ -593,14 +505,10 @@ public function testAddUserAsSubAdminValidGroupNotSubAdmin() { ->with('ExistingGroup') ->willReturn(true); - $expected = new \OC\OCS\Result(null, 105, 'insufficient privileges for group ExistingGroup'); - $this->assertEquals($expected, $this->api->addUser()); + $this->api->addUser('NewUser', 'PasswordOfTheNewUser', ['ExistingGroup'])->getData(); } public function testAddUserAsSubAdminExistingGroups() { - $_POST['userid'] = 'NewUser'; - $_POST['password'] = 'PasswordOfTheNewUser'; - $_POST['groups'] = ['ExistingGroup1', 'ExistingGroup2']; $this->userManager ->expects($this->once()) ->method('userExists') @@ -679,11 +587,6 @@ public function testAddUserAsSubAdminExistingGroups() { ->expects($this->once()) ->method('getSubAdmin') ->willReturn($subAdminManager); - $subAdminManager - ->expects($this->once()) - ->method('isSubAdmin') - ->with($loggedInUser) - ->willReturn(true); $subAdminManager ->expects($this->exactly(2)) ->method('isSubAdminOfGroup') @@ -693,22 +596,14 @@ public function testAddUserAsSubAdminExistingGroups() { ) ->willReturn(true); - - $expected = new \OC\OCS\Result(null, 100); - $this->assertEquals($expected, $this->api->addUser()); - } - - - public function testGetUserNotLoggedIn() { - $this->userSession - ->expects($this->once()) - ->method('getUser') - ->will($this->returnValue(null)); - - $expected = new \OC\OCS\Result(null, API::RESPOND_UNAUTHORISED); - $this->assertEquals($expected, $this->api->getUser(['userid' => 'UserToGet'])); + $this->assertEquals([], $this->api->addUser('NewUser', 'PasswordOfTheNewUser', ['ExistingGroup1', 'ExistingGroup2'])->getData()); } + /** + * @expectedException \OCP\AppFramework\OCS\OCSException + * @expectedExceptionCode 998 + * @expectedExceptionMessage The requested user could not be found + */ public function testGetUserTargetDoesNotExist() { $loggedInUser = $this->getMockBuilder('OCP\IUser') ->disableOriginalConstructor() @@ -723,8 +618,7 @@ public function testGetUserTargetDoesNotExist() { ->with('UserToGet') ->will($this->returnValue(null)); - $expected = new \OC\OCS\Result(null, API::RESPOND_NOT_FOUND, 'The requested user could not be found'); - $this->assertEquals($expected, $this->api->getUser(['userid' => 'UserToGet'])); + $this->api->getUser('UserToGet'); } public function testGetUserAsAdmin() { @@ -770,15 +664,13 @@ public function testGetUserAsAdmin() { ->method('getDisplayName') ->will($this->returnValue('Demo User')); - $expected = new \OC\OCS\Result( - [ - 'enabled' => 'true', - 'quota' => ['DummyValue'], - 'email' => 'demo@owncloud.org', - 'displayname' => 'Demo User', - ] - ); - $this->assertEquals($expected, $this->api->getUser(['userid' => 'UserToGet'])); + $expected = [ + 'enabled' => 'true', + 'quota' => ['DummyValue'], + 'email' => 'demo@owncloud.org', + 'displayname' => 'Demo User', + ]; + $this->assertEquals($expected, $this->api->getUser('UserToGet')->getData()); } public function testGetUserAsSubAdminAndUserIsAccessible() { @@ -837,17 +729,20 @@ public function testGetUserAsSubAdminAndUserIsAccessible() { ->method('getDisplayName') ->will($this->returnValue('Demo User')); - $expected = new \OC\OCS\Result( - [ - 'enabled' => 'true', - 'quota' => ['DummyValue'], - 'email' => 'demo@owncloud.org', - 'displayname' => 'Demo User', - ] - ); - $this->assertEquals($expected, $this->api->getUser(['userid' => 'UserToGet'])); + $expected = [ + 'enabled' => 'true', + 'quota' => ['DummyValue'], + 'email' => 'demo@owncloud.org', + 'displayname' => 'Demo User', + ]; + $this->assertEquals($expected, $this->api->getUser('UserToGet')->getData()); } + + /** + * @expectedException \OCP\AppFramework\OCS\OCSException + * @expectedExceptionCode 997 + */ public function testGetUserAsSubAdminAndUserIsNotAccessible() { $loggedInUser = $this->getMockBuilder('OCP\IUser') ->disableOriginalConstructor() @@ -886,8 +781,7 @@ public function testGetUserAsSubAdminAndUserIsNotAccessible() { ->method('getSubAdmin') ->will($this->returnValue($subAdminManager)); - $expected = new \OC\OCS\Result(null, API::RESPOND_UNAUTHORISED); - $this->assertEquals($expected, $this->api->getUser(['userid' => 'UserToGet'])); + $this->api->getUser('UserToGet'); } public function testGetUserAsSubAdminSelfLookup() { @@ -941,22 +835,12 @@ public function testGetUserAsSubAdminSelfLookup() { ->method('getEMailAddress') ->will($this->returnValue('subadmin@owncloud.org')); - $expected = new \OC\OCS\Result([ + $expected = [ 'quota' => ['DummyValue'], 'email' => 'subadmin@owncloud.org', 'displayname' => 'Subadmin User', - ]); - $this->assertEquals($expected, $this->api->getUser(['userid' => 'subadmin'])); - } - - public function testEditUserNotLoggedIn() { - $this->userSession - ->expects($this->once()) - ->method('getUser') - ->will($this->returnValue(null)); - - $expected = new \OC\OCS\Result(null, API::RESPOND_UNAUTHORISED); - $this->assertEquals($expected, $this->api->editUser(['userid' => 'UserToEdit'])); + ]; + $this->assertEquals($expected, $this->api->getUser('subadmin')->getData()); } public function testEditUserRegularUserSelfEditChangeDisplayName() { @@ -984,8 +868,7 @@ public function testEditUserRegularUserSelfEditChangeDisplayName() { ->method('setDisplayName') ->with('NewDisplayName'); - $expected = new \OC\OCS\Result(null, 100); - $this->assertEquals($expected, $this->api->editUser(['userid' => 'UserToEdit', '_put' => ['key' => 'display', 'value' => 'NewDisplayName']])); + $this->assertEquals([], $this->api->editUser('UserToEdit', 'display', 'NewDisplayName')->getData()); } public function testEditUserRegularUserSelfEditChangeEmailValid() { @@ -1013,10 +896,14 @@ public function testEditUserRegularUserSelfEditChangeEmailValid() { ->method('setEMailAddress') ->with('demo@owncloud.org'); - $expected = new \OC\OCS\Result(null, 100); - $this->assertEquals($expected, $this->api->editUser(['userid' => 'UserToEdit', '_put' => ['key' => 'email', 'value' => 'demo@owncloud.org']])); + $this->assertEquals([], $this->api->editUser('UserToEdit', 'email', 'demo@owncloud.org')->getData()); } + + /** + * @expectedException \OCP\AppFramework\OCS\OCSException + * @expectedExceptionCode 102 + */ public function testEditUserRegularUserSelfEditChangeEmailInvalid() { $loggedInUser = $this->getMockBuilder('OCP\IUser') ->disableOriginalConstructor() @@ -1038,8 +925,7 @@ public function testEditUserRegularUserSelfEditChangeEmailInvalid() { ->with('UserToEdit') ->will($this->returnValue($targetUser)); - $expected = new \OC\OCS\Result(null, 102); - $this->assertEquals($expected, $this->api->editUser(['userid' => 'UserToEdit', '_put' => ['key' => 'email', 'value' => 'demo.org']])); + $this->api->editUser('UserToEdit', 'email', 'demo.org'); } public function testEditUserRegularUserSelfEditChangePassword() { @@ -1067,10 +953,14 @@ public function testEditUserRegularUserSelfEditChangePassword() { ->method('setPassword') ->with('NewPassword'); - $expected = new \OC\OCS\Result(null, 100); - $this->assertEquals($expected, $this->api->editUser(['userid' => 'UserToEdit', '_put' => ['key' => 'password', 'value' => 'NewPassword']])); + $this->assertEquals([], $this->api->editUser('UserToEdit', 'password', 'NewPassword')->getData()); } + + /** + * @expectedException \OCP\AppFramework\OCS\OCSException + * @expectedExceptionCode 997 + */ public function testEditUserRegularUserSelfEditChangeQuota() { $loggedInUser = $this->getMockBuilder('OCP\IUser') ->disableOriginalConstructor() @@ -1092,8 +982,7 @@ public function testEditUserRegularUserSelfEditChangeQuota() { ->with('UserToEdit') ->will($this->returnValue($targetUser)); - $expected = new \OC\OCS\Result(null, 997); - $this->assertEquals($expected, $this->api->editUser(['userid' => 'UserToEdit', '_put' => ['key' => 'quota', 'value' => 'NewQuota']])); + $this->api->editUser('UserToEdit', 'quota', 'NewQuota'); } public function testEditUserAdminUserSelfEditChangeValidQuota() { @@ -1121,10 +1010,15 @@ public function testEditUserAdminUserSelfEditChangeValidQuota() { ->with('UserToEdit') ->will($this->returnValue(true)); - $expected = new \OC\OCS\Result(null, 100); - $this->assertEquals($expected, $this->api->editUser(['userid' => 'UserToEdit', '_put' => ['key' => 'quota', 'value' => '3042824']])); + $this->assertEquals([], $this->api->editUser('UserToEdit', 'quota', '3042824')->getData()); } + + /** + * @expectedException \OCP\AppFramework\OCS\OCSException + * @expectedExceptionCode 103 + * @expectedExceptionMessage Invalid quota value ABC + */ public function testEditUserAdminUserSelfEditChangeInvalidQuota() { $loggedInUser = $this->getMockBuilder('\OCP\IUser')->disableOriginalConstructor()->getMock(); $loggedInUser @@ -1147,8 +1041,7 @@ public function testEditUserAdminUserSelfEditChangeInvalidQuota() { ->with('UserToEdit') ->will($this->returnValue(true)); - $expected = new \OC\OCS\Result(null, 103, 'Invalid quota value ABC'); - $this->assertEquals($expected, $this->api->editUser(['userid' => 'UserToEdit', '_put' => ['key' => 'quota', 'value' => 'ABC']])); + $this->api->editUser('UserToEdit', 'quota', 'ABC'); } public function testEditUserAdminUserEditChangeValidQuota() { @@ -1183,8 +1076,7 @@ public function testEditUserAdminUserEditChangeValidQuota() { ->method('getSubAdmin') ->will($this->returnValue($subAdminManager)); - $expected = new \OC\OCS\Result(null, 100); - $this->assertEquals($expected, $this->api->editUser(['userid' => 'UserToEdit', '_put' => ['key' => 'quota', 'value' => '3042824']])); + $this->assertEquals([], $this->api->editUser('UserToEdit', 'quota', '3042824')->getData()); } public function testEditUserSubadminUserAccessible() { @@ -1219,10 +1111,13 @@ public function testEditUserSubadminUserAccessible() { ->method('getSubAdmin') ->will($this->returnValue($subAdminManager)); - $expected = new \OC\OCS\Result(null, 100); - $this->assertEquals($expected, $this->api->editUser(['userid' => 'UserToEdit', '_put' => ['key' => 'quota', 'value' => '3042824']])); + $this->assertEquals([], $this->api->editUser('UserToEdit', 'quota', '3042824')->getData()); } + /** + * @expectedException \OCP\AppFramework\OCS\OCSException + * @expectedExceptionCode 997 + */ public function testEditUserSubadminUserInaccessible() { $loggedInUser = $this->getMockBuilder('\OCP\IUser')->disableOriginalConstructor()->getMock(); $loggedInUser @@ -1252,20 +1147,13 @@ public function testEditUserSubadminUserInaccessible() { ->method('getSubAdmin') ->will($this->returnValue($subAdminManager)); - $expected = new \OC\OCS\Result(null, 997); - $this->assertEquals($expected, $this->api->editUser(['userid' => 'UserToEdit', '_put' => ['key' => 'quota', 'value' => '3042824']])); - } - - public function testDeleteUserNotLoggedIn() { - $this->userSession - ->expects($this->once()) - ->method('getUser') - ->will($this->returnValue(null)); - - $expected = new \OC\OCS\Result(null, 997); - $this->assertEquals($expected, $this->api->deleteUser(['userid' => 'UserToDelete'])); + $this->api->editUser('UserToEdit', 'quota', 'value'); } + /** + * @expectedException \OCP\AppFramework\OCS\OCSException + * @expectedExceptionCode 101 + */ public function testDeleteUserNotExistingUser() { $loggedInUser = $this->getMockBuilder('\OCP\IUser')->disableOriginalConstructor()->getMock(); $loggedInUser @@ -1282,10 +1170,13 @@ public function testDeleteUserNotExistingUser() { ->with('UserToDelete') ->will($this->returnValue(null)); - $expected = new \OC\OCS\Result(null, 101); - $this->assertEquals($expected, $this->api->deleteUser(['userid' => 'UserToDelete'])); + $this->api->deleteUser('UserToDelete'); } + /** + * @expectedException \OCP\AppFramework\OCS\OCSException + * @expectedExceptionCode 101 + */ public function testDeleteUserSelf() { $loggedInUser = $this->getMockBuilder('\OCP\IUser')->disableOriginalConstructor()->getMock(); $loggedInUser @@ -1307,8 +1198,7 @@ public function testDeleteUserSelf() { ->with('UserToDelete') ->will($this->returnValue($targetUser)); - $expected = new \OC\OCS\Result(null, 101); - $this->assertEquals($expected, $this->api->deleteUser(['userid' => 'UserToDelete'])); + $this->api->deleteUser('UserToDelete'); } public function testDeleteSuccessfulUserAsAdmin() { @@ -1341,10 +1231,13 @@ public function testDeleteSuccessfulUserAsAdmin() { ->method('delete') ->will($this->returnValue(true)); - $expected = new \OC\OCS\Result(null, 100); - $this->assertEquals($expected, $this->api->deleteUser(['userid' => 'UserToDelete'])); + $this->assertEquals([], $this->api->deleteUser('UserToDelete')->getData()); } + /** + * @expectedException \OCP\AppFramework\OCS\OCSException + * @expectedExceptionCode 101 + */ public function testDeleteUnsuccessfulUserAsAdmin() { $loggedInUser = $this->getMockBuilder('\OCP\IUser')->disableOriginalConstructor()->getMock(); $loggedInUser @@ -1375,8 +1268,7 @@ public function testDeleteUnsuccessfulUserAsAdmin() { ->method('delete') ->will($this->returnValue(false)); - $expected = new \OC\OCS\Result(null, 101); - $this->assertEquals($expected, $this->api->deleteUser(['userid' => 'UserToDelete'])); + $this->api->deleteUser('UserToDelete'); } public function testDeleteSuccessfulUserAsSubadmin() { @@ -1420,10 +1312,13 @@ public function testDeleteSuccessfulUserAsSubadmin() { ->method('delete') ->will($this->returnValue(true)); - $expected = new \OC\OCS\Result(null, 100); - $this->assertEquals($expected, $this->api->deleteUser(['userid' => 'UserToDelete'])); + $this->assertEquals([], $this->api->deleteUser('UserToDelete')->getData()); } + /** + * @expectedException \OCP\AppFramework\OCS\OCSException + * @expectedExceptionCode 101 + */ public function testDeleteUnsuccessfulUserAsSubadmin() { $loggedInUser = $this->getMockBuilder('\OCP\IUser')->disableOriginalConstructor()->getMock(); $loggedInUser @@ -1465,10 +1360,13 @@ public function testDeleteUnsuccessfulUserAsSubadmin() { ->method('delete') ->will($this->returnValue(false)); - $expected = new \OC\OCS\Result(null, 101); - $this->assertEquals($expected, $this->api->deleteUser(['userid' => 'UserToDelete'])); + $this->api->deleteUser('UserToDelete'); } + /** + * @expectedException \OCP\AppFramework\OCS\OCSException + * @expectedExceptionCode 997 + */ public function testDeleteUserAsSubAdminAndUserIsNotAccessible() { $loggedInUser = $this->getMockBuilder('\OCP\IUser')->disableOriginalConstructor()->getMock(); $loggedInUser @@ -1506,20 +1404,13 @@ public function testDeleteUserAsSubAdminAndUserIsNotAccessible() { ->method('getSubAdmin') ->will($this->returnValue($subAdminManager)); - $expected = new \OC\OCS\Result(null, 997); - $this->assertEquals($expected, $this->api->deleteUser(['userid' => 'UserToDelete'])); - } - - public function testGetUsersGroupsNotLoggedIn() { - $this->userSession - ->expects($this->once()) - ->method('getUser') - ->will($this->returnValue(null)); - - $expected = new \OC\OCS\Result(null, 997); - $this->assertEquals($expected, $this->api->getUsersGroups(['userid' => 'UserToLookup'])); + $this->api->deleteUser('UserToDelete'); } + /** + * @expectedException \OCP\AppFramework\OCS\OCSException + * @expectedExceptionCode 998 + */ public function testGetUsersGroupsTargetUserNotExisting() { $loggedInUser = $this->getMockBuilder('\OCP\IUser')->disableOriginalConstructor()->getMock(); $this->userSession @@ -1527,8 +1418,7 @@ public function testGetUsersGroupsTargetUserNotExisting() { ->method('getUser') ->will($this->returnValue($loggedInUser)); - $expected = new \OC\OCS\Result(null, 998); - $this->assertEquals($expected, $this->api->getUsersGroups(['userid' => 'UserToLookup'])); + $this->api->getUsersGroups('UserToLookup'); } public function testGetUsersGroupsSelfTargetted() { @@ -1557,8 +1447,7 @@ public function testGetUsersGroupsSelfTargetted() { ->with($targetUser) ->will($this->returnValue(['DummyValue'])); - $expected = new \OC\OCS\Result(['groups' => ['DummyValue']]); - $this->assertEquals($expected, $this->api->getUsersGroups(['userid' => 'UserToLookup'])); + $this->assertEquals(['groups' => ['DummyValue']], $this->api->getUsersGroups('UserToLookup')->getData()); } public function testGetUsersGroupsForAdminUser() { @@ -1592,8 +1481,7 @@ public function testGetUsersGroupsForAdminUser() { ->with('admin') ->will($this->returnValue(true)); - $expected = new \OC\OCS\Result(['groups' => ['DummyValue']]); - $this->assertEquals($expected, $this->api->getUsersGroups(['userid' => 'UserToLookup'])); + $this->assertEquals(['groups' => ['DummyValue']], $this->api->getUsersGroups('UserToLookup')->getData()); } public function testGetUsersGroupsForSubAdminUserAndUserIsAccessible() { @@ -1653,11 +1541,13 @@ public function testGetUsersGroupsForSubAdminUserAndUserIsAccessible() { ->with($targetUser) ->will($this->returnValue(['Group1'])); - $expected = new \OC\OCS\Result(['groups' => ['Group1']]); - $this->assertEquals($expected, $this->api->getUsersGroups(['userid' => 'UserToLookup'])); + $this->assertEquals(['groups' => ['Group1']], $this->api->getUsersGroups('UserToLookup')->getData()); } - + /** + * @expectedException \OCP\AppFramework\OCS\OCSException + * @expectedExceptionCode 997 + */ public function testGetUsersGroupsForSubAdminUserAndUserIsInaccessible() { $loggedInUser = $this->getMockBuilder('\OCP\IUser')->disableOriginalConstructor()->getMock(); $loggedInUser @@ -1700,137 +1590,64 @@ public function testGetUsersGroupsForSubAdminUserAndUserIsInaccessible() { ->with($targetUser) ->will($this->returnValue(['Group1'])); - $expected = new \OC\OCS\Result(null, 997); - $this->assertEquals($expected, $this->api->getUsersGroups(['userid' => 'UserToLookup'])); - } - - public function testAddToGroupNotLoggedIn() { - $this->userSession - ->expects($this->once()) - ->method('getUser') - ->will($this->returnValue(null)); - - $expected = new \OC\OCS\Result(null, 997); - $this->assertEquals($expected, $this->api->addToGroup([])); + $this->api->getUsersGroups('UserToLookup'); } + /** + * @expectedException \OCP\AppFramework\OCS\OCSException + * @expectedExceptionCode 102 + */ public function testAddToGroupWithTargetGroupNotExisting() { - $_POST['groupid'] = 'GroupToAddTo'; - - $loggedInUser = $this->getMockBuilder('\OCP\IUser')->disableOriginalConstructor()->getMock(); - $loggedInUser - ->expects($this->once()) - ->method('getUID') - ->will($this->returnValue('admin')); - $this->userSession - ->expects($this->once()) - ->method('getUser') - ->will($this->returnValue($loggedInUser)); $this->groupManager ->expects($this->once()) ->method('get') ->with('GroupToAddTo') ->will($this->returnValue(null)); - $this->groupManager - ->expects($this->once()) - ->method('isAdmin') - ->with('admin') - ->will($this->returnValue(true)); - $expected = new \OC\OCS\Result(null, 102); - $this->assertEquals($expected, $this->api->addToGroup(['userid' => 'TargetUser'])); + $this->api->addToGroup('TargetUser', 'GroupToAddTo'); } + /** + * @expectedException \OCP\AppFramework\OCS\OCSException + * @expectedExceptionCode 101 + */ public function testAddToGroupWithNoGroupSpecified() { - $loggedInUser = $this->getMockBuilder('\OCP\IUser')->disableOriginalConstructor()->getMock(); - $loggedInUser - ->expects($this->once()) - ->method('getUID') - ->will($this->returnValue('admin')); - $this->userSession - ->expects($this->once()) - ->method('getUser') - ->will($this->returnValue($loggedInUser)); - $this->groupManager - ->expects($this->once()) - ->method('isAdmin') - ->with('admin') - ->will($this->returnValue(true)); - - $expected = new \OC\OCS\Result(null, 101); - $this->assertEquals($expected, $this->api->addToGroup(['userid' => 'TargetUser'])); + $this->api->addToGroup('TargetUser'); } + /** + * @expectedException \OCP\AppFramework\OCS\OCSException + * @expectedExceptionCode 103 + */ public function testAddToGroupWithTargetUserNotExisting() { - $_POST['groupid'] = 'GroupToAddTo'; - - $loggedInUser = $this->getMockBuilder('\OCP\IUser')->disableOriginalConstructor()->getMock(); - $loggedInUser - ->expects($this->once()) - ->method('getUID') - ->will($this->returnValue('admin')); $targetGroup = $this->getMockBuilder('\OCP\IGroup')->disableOriginalConstructor()->getMock(); - $this->userSession - ->expects($this->once()) - ->method('getUser') - ->will($this->returnValue($loggedInUser)); $this->groupManager ->expects($this->once()) ->method('get') ->with('GroupToAddTo') ->will($this->returnValue($targetGroup)); - $this->groupManager - ->expects($this->once()) - ->method('isAdmin') - ->with('admin') - ->will($this->returnValue(true)); - - $expected = new \OC\OCS\Result(null, 103); - $this->assertEquals($expected, $this->api->addToGroup(['userid' => 'TargetUser'])); - } - - public function testAddToGroupWithoutPermission() { - $_POST['groupid'] = 'GroupToAddTo'; - - $loggedInUser = $this->getMockBuilder('\OCP\IUser')->disableOriginalConstructor()->getMock(); - $loggedInUser - ->expects($this->once()) - ->method('getUID') - ->will($this->returnValue('admin')); - $this->userSession - ->expects($this->once()) - ->method('getUser') - ->will($this->returnValue($loggedInUser)); - $this->groupManager - ->expects($this->once()) - ->method('isAdmin') - ->with('admin') - ->will($this->returnValue(false)); - $expected = new \OC\OCS\Result(null, 997); - $this->assertEquals($expected, $this->api->addToGroup(['userid' => 'TargetUser'])); - } - - public function testRemoveFromGroupWithoutLogIn() { - $this->userSession - ->expects($this->once()) - ->method('getUser') - ->will($this->returnValue(null)); - - $expected = new \OC\OCS\Result(null, 997); - $this->assertEquals($expected, $this->api->removeFromGroup(['userid' => 'TargetUser', '_delete' => ['groupid' => 'TargetGroup']])); + $this->api->addToGroup('TargetUser', 'GroupToAddTo'); } + /** + * @expectedException \OCP\AppFramework\OCS\OCSException + * @expectedExceptionCode 101 + */ public function testRemoveFromGroupWithNoTargetGroup() { $loggedInUser = $this->getMockBuilder('\OCP\IUser')->disableOriginalConstructor()->getMock(); $this->userSession ->expects($this->once()) ->method('getUser') ->will($this->returnValue($loggedInUser)); - $expected = new \OC\OCS\Result(null, 101); - $this->assertEquals($expected, $this->api->removeFromGroup(['userid' => 'TargetUser', '_delete' => []])); + + $this->api->removeFromGroup('TargetUser', null); } + /** + * @expectedException \OCP\AppFramework\OCS\OCSException + * @expectedExceptionCode 102 + */ public function testRemoveFromGroupWithNotExistingTargetGroup() { $loggedInUser = $this->getMockBuilder('\OCP\IUser')->disableOriginalConstructor()->getMock(); $this->userSession @@ -1843,10 +1660,13 @@ public function testRemoveFromGroupWithNotExistingTargetGroup() { ->with('TargetGroup') ->will($this->returnValue(null)); - $expected = new \OC\OCS\Result(null, 102); - $this->assertEquals($expected, $this->api->removeFromGroup(['userid' => 'TargetUser', '_delete' => ['groupid' => 'TargetGroup']])); + $this->api->removeFromGroup('TargetUser', 'TargetGroup'); } + /** + * @expectedException \OCP\AppFramework\OCS\OCSException + * @expectedExceptionCode 103 + */ public function testRemoveFromGroupWithNotExistingTargetUser() { $loggedInUser = $this->getMockBuilder('\OCP\IUser')->disableOriginalConstructor()->getMock(); $targetGroup = $this->getMockBuilder('\OCP\IGroup')->disableOriginalConstructor()->getMock(); @@ -1865,10 +1685,13 @@ public function testRemoveFromGroupWithNotExistingTargetUser() { ->with('TargetUser') ->will($this->returnValue(null)); - $expected = new \OC\OCS\Result(null, 103); - $this->assertEquals($expected, $this->api->removeFromGroup(['userid' => 'TargetUser', '_delete' => ['groupid' => 'TargetGroup']])); + $this->api->removeFromGroup('TargetUser', 'TargetGroup'); } + /** + * @expectedException \OCP\AppFramework\OCS\OCSException + * @expectedExceptionCode 104 + */ public function testRemoveFromGroupWithoutPermission() { $loggedInUser = $this->getMockBuilder('\OCP\IUser')->disableOriginalConstructor()->getMock(); $loggedInUser @@ -1903,10 +1726,14 @@ public function testRemoveFromGroupWithoutPermission() { ->with('unauthorizedUser') ->will($this->returnValue(false)); - $expected = new \OC\OCS\Result(null, 104); - $this->assertEquals($expected, $this->api->removeFromGroup(['userid' => 'TargetUser', '_delete' => ['groupid' => 'TargetGroup']])); + $this->api->removeFromGroup('TargetUser', 'TargetGroup'); } + /** + * @expectedException \OCP\AppFramework\OCS\OCSException + * @expectedExceptionCode 105 + * @expectedExceptionMessage Cannot remove yourself from the admin group + */ public function testRemoveFromGroupAsAdminFromAdmin() { $loggedInUser = $this->getMockBuilder('\OCP\IUser')->disableOriginalConstructor()->getMock(); $loggedInUser @@ -1945,10 +1772,14 @@ public function testRemoveFromGroupAsAdminFromAdmin() { ->with('admin') ->will($this->returnValue(true)); - $expected = new \OC\OCS\Result(null, 105, 'Cannot remove yourself from the admin group'); - $this->assertEquals($expected, $this->api->removeFromGroup(['userid' => 'admin', '_delete' => ['groupid' => 'admin']])); + $this->api->removeFromGroup('admin', 'admin'); } + /** + * @expectedException \OCP\AppFramework\OCS\OCSException + * @expectedExceptionCode 105 + * @expectedExceptionMessage Cannot remove yourself from this group as you are a SubAdmin + */ public function testRemoveFromGroupAsSubAdminFromSubAdmin() { $loggedInUser = $this->getMockBuilder('\OCP\IUser')->disableOriginalConstructor()->getMock(); $loggedInUser @@ -1997,8 +1828,7 @@ public function testRemoveFromGroupAsSubAdminFromSubAdmin() { ->with('subadmin') ->will($this->returnValue(false)); - $expected = new \OC\OCS\Result(null, 105, 'Cannot remove yourself from this group as you are a SubAdmin'); - $this->assertEquals($expected, $this->api->removeFromGroup(['userid' => 'subadmin', '_delete' => ['groupid' => 'subadmin']])); + $this->api->removeFromGroup('subadmin', 'subadmin'); } public function testRemoveFromGroupSuccessful() { @@ -2039,10 +1869,14 @@ public function testRemoveFromGroupSuccessful() { ->method('removeUser') ->with($targetUser); - $expected = new \OC\OCS\Result(null, 100); - $this->assertEquals($expected, $this->api->removeFromGroup(['userid' => 'AnotherUser', '_delete' => ['groupid' => 'admin']])); + $this->assertEquals([], $this->api->removeFromGroup('AnotherUser', 'admin')->getData()); } + /** + * @expectedException \OCP\AppFramework\OCS\OCSException + * @expectedExceptionCode 101 + * @expectedExceptionMessage User does not exist + */ public function testAddSubAdminWithNotExistingTargetUser() { $this->userManager ->expects($this->once()) @@ -2050,12 +1884,15 @@ public function testAddSubAdminWithNotExistingTargetUser() { ->with('NotExistingUser') ->will($this->returnValue(null)); - $expected = new \OC\OCS\Result(null, 101, 'User does not exist'); - $this->assertEquals($expected, $this->api->addSubAdmin(['userid' => 'NotExistingUser'])); + $this->api->addSubAdmin('NotExistingUser', null); } + /** + * @expectedException \OCP\AppFramework\OCS\OCSException + * @expectedExceptionCode 102 + * @expectedExceptionMessage Group:NotExistingGroup does not exist + */ public function testAddSubAdminWithNotExistingTargetGroup() { - $_POST['groupid'] = 'NotExistingGroup'; $targetUser = $this->getMockBuilder('\OCP\IUser')->disableOriginalConstructor()->getMock(); $this->userManager @@ -2069,13 +1906,15 @@ public function testAddSubAdminWithNotExistingTargetGroup() { ->with('NotExistingGroup') ->will($this->returnValue(null)); - $expected = new \OC\OCS\Result(null, 102, 'Group:NotExistingGroup does not exist'); - $this->assertEquals($expected, $this->api->addSubAdmin(['userid' => 'ExistingUser'])); + $this->api->addSubAdmin('ExistingUser', 'NotExistingGroup'); } + /** + * @expectedException \OCP\AppFramework\OCS\OCSException + * @expectedExceptionCode 103 + * @expectedExceptionMessage Cannot create subadmins for admin group + */ public function testAddSubAdminToAdminGroup() { - $_POST['groupid'] = 'ADmiN'; - $targetUser = $this->getMockBuilder('\OCP\IUser')->disableOriginalConstructor()->getMock(); $targetGroup = $this->getMockBuilder('\OCP\IGroup')->disableOriginalConstructor()->getMock(); $this->userManager @@ -2089,13 +1928,10 @@ public function testAddSubAdminToAdminGroup() { ->with('ADmiN') ->will($this->returnValue($targetGroup)); - $expected = new \OC\OCS\Result(null, 103, 'Cannot create subadmins for admin group'); - $this->assertEquals($expected, $this->api->addSubAdmin(['userid' => 'ExistingUser'])); + $this->api->addSubAdmin('ExistingUser', 'ADmiN'); } public function testAddSubAdminTwice() { - $_POST['groupid'] = 'TargetGroup'; - $targetUser = $this->getMockBuilder('\OCP\IUser')->disableOriginalConstructor()->getMock(); $targetGroup = $this->getMockBuilder('\OCP\IGroup')->disableOriginalConstructor()->getMock(); $this->userManager @@ -2120,13 +1956,10 @@ public function testAddSubAdminTwice() { ->method('getSubAdmin') ->will($this->returnValue($subAdminManager)); - $expected = new \OC\OCS\Result(null, 100); - $this->assertEquals($expected, $this->api->addSubAdmin(['userid' => 'ExistingUser'])); + $this->assertEquals([], $this->api->addSubAdmin('ExistingUser', 'TargetGroup')->getData()); } public function testAddSubAdminSuccessful() { - $_POST['groupid'] = 'TargetGroup'; - $targetUser = $this->getMockBuilder('\OCP\IUser')->disableOriginalConstructor()->getMock(); $targetGroup = $this->getMockBuilder('\OCP\IGroup')->disableOriginalConstructor()->getMock(); $this->userManager @@ -2156,13 +1989,15 @@ public function testAddSubAdminSuccessful() { ->method('getSubAdmin') ->will($this->returnValue($subAdminManager)); - $expected = new \OC\OCS\Result(null, 100); - $this->assertEquals($expected, $this->api->addSubAdmin(['userid' => 'ExistingUser'])); + $this->assertEquals([], $this->api->addSubAdmin('ExistingUser', 'TargetGroup')->getData()); } + /** + * @expectedException \OCP\AppFramework\OCS\OCSException + * @expectedExceptionCode 103 + * @expectedExceptionMessage Unknown error occurred + */ public function testAddSubAdminUnsuccessful() { - $_POST['groupid'] = 'TargetGroup'; - $targetUser = $this->getMockBuilder('\OCP\IUser')->disableOriginalConstructor()->getMock(); $targetGroup = $this->getMockBuilder('\OCP\IGroup')->disableOriginalConstructor()->getMock(); $this->userManager @@ -2192,10 +2027,14 @@ public function testAddSubAdminUnsuccessful() { ->method('getSubAdmin') ->will($this->returnValue($subAdminManager)); - $expected = new \OC\OCS\Result(null, 103, 'Unknown error occurred'); - $this->assertEquals($expected, $this->api->addSubAdmin(['userid' => 'ExistingUser'])); + $this->api->addSubAdmin('ExistingUser', 'TargetGroup'); } + /** + * @expectedException \OCP\AppFramework\OCS\OCSException + * @expectedExceptionCode 101 + * @expectedExceptionMessage User does not exist + */ public function testRemoveSubAdminNotExistingTargetUser() { $this->userManager ->expects($this->once()) @@ -2203,10 +2042,14 @@ public function testRemoveSubAdminNotExistingTargetUser() { ->with('NotExistingUser') ->will($this->returnValue(null)); - $expected = new \OC\OCS\Result(null, 101, 'User does not exist'); - $this->assertEquals($expected, $this->api->removeSubAdmin(['userid' => 'NotExistingUser', '_delete' => ['groupid' => 'GroupToDeleteFrom']])); + $this->api->removeSubAdmin('NotExistingUser', 'GroupToDeleteFrom'); } + /** + * @expectedException \OCP\AppFramework\OCS\OCSException + * @expectedExceptionCode 101 + * @expectedExceptionMessage Group does not exist + */ public function testRemoveSubAdminNotExistingTargetGroup() { $targetUser = $this->getMockBuilder('\OCP\IUser')->disableOriginalConstructor()->getMock(); $this->userManager @@ -2220,10 +2063,15 @@ public function testRemoveSubAdminNotExistingTargetGroup() { ->with('GroupToDeleteFrom') ->will($this->returnValue(null)); - $expected = new \OC\OCS\Result(null, 101, 'Group does not exist'); - $this->assertEquals($expected, $this->api->removeSubAdmin(['userid' => 'ExistingUser', '_delete' => ['groupid' => 'GroupToDeleteFrom']])); + $this->api->removeSubAdmin('ExistingUser', 'GroupToDeleteFrom'); } + + /** + * @expectedException \OCP\AppFramework\OCS\OCSException + * @expectedExceptionCode 102 + * @expectedExceptionMessage User is not a subadmin of this group + */ public function testRemoveSubAdminFromNotASubadmin() { $targetUser = $this->getMockBuilder('\OCP\IUser')->disableOriginalConstructor()->getMock(); $targetGroup = $this->getMockBuilder('\OCP\IGroup')->disableOriginalConstructor()->getMock(); @@ -2249,8 +2097,7 @@ public function testRemoveSubAdminFromNotASubadmin() { ->method('getSubAdmin') ->will($this->returnValue($subAdminManager)); - $expected = new \OC\OCS\Result(null, 102, 'User is not a subadmin of this group'); - $this->assertEquals($expected, $this->api->removeSubAdmin(['userid' => 'ExistingUser', '_delete' => ['groupid' => 'GroupToDeleteFrom']])); + $this->api->removeSubAdmin('ExistingUser', 'GroupToDeleteFrom'); } public function testRemoveSubAdminSuccessful() { @@ -2283,10 +2130,14 @@ public function testRemoveSubAdminSuccessful() { ->method('getSubAdmin') ->will($this->returnValue($subAdminManager)); - $expected = new \OC\OCS\Result(null, 100); - $this->assertEquals($expected, $this->api->removeSubAdmin(['userid' => 'ExistingUser', '_delete' => ['groupid' => 'GroupToDeleteFrom']])); + $this->assertEquals([], $this->api->removeSubAdmin('ExistingUser', 'GroupToDeleteFrom')->getData()); } + /** + * @expectedException \OCP\AppFramework\OCS\OCSException + * @expectedExceptionCode 103 + * @expectedExceptionMessage Unknown error occurred + */ public function testRemoveSubAdminUnsuccessful() { $targetUser = $this->getMockBuilder('\OCP\IUser')->disableOriginalConstructor()->getMock(); $targetGroup = $this->getMockBuilder('\OCP\IGroup')->disableOriginalConstructor()->getMock(); @@ -2317,10 +2168,14 @@ public function testRemoveSubAdminUnsuccessful() { ->method('getSubAdmin') ->will($this->returnValue($subAdminManager)); - $expected = new \OC\OCS\Result(null, 103, 'Unknown error occurred'); - $this->assertEquals($expected, $this->api->removeSubAdmin(['userid' => 'ExistingUser', '_delete' => ['groupid' => 'GroupToDeleteFrom']])); + $this->api->removeSubAdmin('ExistingUser', 'GroupToDeleteFrom'); } + /** + * @expectedException \OCP\AppFramework\OCS\OCSException + * @expectedExceptionCode 101 + * @expectedExceptionMessage User does not exist + */ public function testGetUserSubAdminGroupsNotExistingTargetUser() { $this->userManager ->expects($this->once()) @@ -2328,8 +2183,7 @@ public function testGetUserSubAdminGroupsNotExistingTargetUser() { ->with('RequestedUser') ->will($this->returnValue(null)); - $expected = new \OC\OCS\Result(null, 101, 'User does not exist'); - $this->assertEquals($expected, $this->api->getUserSubAdminGroups(['userid' => 'RequestedUser'])); + $this->api->getUserSubAdminGroups('RequestedUser'); } public function testGetUserSubAdminGroupsWithGroups() { @@ -2356,10 +2210,14 @@ public function testGetUserSubAdminGroupsWithGroups() { ->method('getSubAdmin') ->will($this->returnValue($subAdminManager)); - $expected = new \OC\OCS\Result(['TargetGroup'], 100); - $this->assertEquals($expected, $this->api->getUserSubAdminGroups(['userid' => 'RequestedUser'])); + $this->assertEquals(['TargetGroup'], $this->api->getUserSubAdminGroups('RequestedUser')->getData()); } + /** + * @expectedException \OCP\AppFramework\OCS\OCSException + * @expectedExceptionCode 102 + * @expectedExceptionMessage Unknown error occurred + */ public function testGetUserSubAdminGroupsWithoutGroups() { $targetUser = $this->getMockBuilder('\OCP\IUser')->disableOriginalConstructor()->getMock(); $this->userManager @@ -2379,8 +2237,7 @@ public function testGetUserSubAdminGroupsWithoutGroups() { ->method('getSubAdmin') ->will($this->returnValue($subAdminManager)); - $expected = new \OC\OCS\Result(null, 102, 'Unknown error occurred'); - $this->assertEquals($expected, $this->api->getUserSubAdminGroups(['userid' => 'RequestedUser'])); + $this->api->getUserSubAdminGroups('RequestedUser'); } public function testEnableUser() { @@ -2407,8 +2264,7 @@ public function testEnableUser() { ->method('isAdmin') ->will($this->returnValue(true)); - $expected = new \OC\OCS\Result(null, 100); - $this->assertEquals($expected, $this->api->enableUser(['userid' => 'RequestedUser'])); + $this->assertEquals([], $this->api->enableUser('RequestedUser')->getData()); } public function testDisableUser() { @@ -2435,7 +2291,6 @@ public function testDisableUser() { ->method('isAdmin') ->will($this->returnValue(true)); - $expected = new \OC\OCS\Result(null, 100); - $this->assertEquals($expected, $this->api->disableUser(['userid' => 'RequestedUser'])); + $this->assertEquals([], $this->api->disableUser('RequestedUser')->getData()); } } diff --git a/apps/systemtags/appinfo/app.php b/apps/systemtags/appinfo/app.php index 5a365c4ef1595..af91e5fdbcd54 100644 --- a/apps/systemtags/appinfo/app.php +++ b/apps/systemtags/appinfo/app.php @@ -78,9 +78,6 @@ function() { $eventDispatcher->addListener(MapperEvent::EVENT_ASSIGN, $mapperListener); $eventDispatcher->addListener(MapperEvent::EVENT_UNASSIGN, $mapperListener); -$app = new \OCA\SystemTags\AppInfo\Application(); -$app->registerAdminPage(); - $l = \OC::$server->getL10N('systemtags'); \OCA\Files\App::getNavigationManager()->add( diff --git a/apps/systemtags/appinfo/info.xml b/apps/systemtags/appinfo/info.xml index 5eced10b710cb..46bb927883850 100644 --- a/apps/systemtags/appinfo/info.xml +++ b/apps/systemtags/appinfo/info.xml @@ -7,7 +7,7 @@ AGPL Vincent Petry, Joas Schilling - 1.1.0 + 1.1.1 @@ -15,4 +15,7 @@ + + OCA\SystemTags\Settings\Admin + diff --git a/apps/systemtags/l10n/cs_CZ.js b/apps/systemtags/l10n/cs_CZ.js index 31f290bd28034..ff1251f828daf 100644 --- a/apps/systemtags/l10n/cs_CZ.js +++ b/apps/systemtags/l10n/cs_CZ.js @@ -36,6 +36,7 @@ OC.L10N.register( "No files in here" : "Žádné soubory", "No entries found in this folder" : "V tomto adresáři nebylo nic nalezeno", "Size" : "Velikost", - "Modified" : "Upraveno" + "Modified" : "Upraveno", + "%s (not-assignable)" : "%s (nepřiřaditelné)" }, "nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;"); diff --git a/apps/systemtags/l10n/cs_CZ.json b/apps/systemtags/l10n/cs_CZ.json index d0729858edf1e..791485a3b1232 100644 --- a/apps/systemtags/l10n/cs_CZ.json +++ b/apps/systemtags/l10n/cs_CZ.json @@ -34,6 +34,7 @@ "No files in here" : "Žádné soubory", "No entries found in this folder" : "V tomto adresáři nebylo nic nalezeno", "Size" : "Velikost", - "Modified" : "Upraveno" + "Modified" : "Upraveno", + "%s (not-assignable)" : "%s (nepřiřaditelné)" },"pluralForm" :"nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;" } \ No newline at end of file diff --git a/apps/systemtags/l10n/it.js b/apps/systemtags/l10n/it.js index e448ae9459428..b1aae23d4fc02 100644 --- a/apps/systemtags/l10n/it.js +++ b/apps/systemtags/l10n/it.js @@ -36,6 +36,7 @@ OC.L10N.register( "No files in here" : "Qui non c'è alcun file", "No entries found in this folder" : "Nessuna voce trovata in questa cartella", "Size" : "Dimensione", - "Modified" : "Modificato" + "Modified" : "Modificato", + "%s (not-assignable)" : "%s (non assegnabile)" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/systemtags/l10n/it.json b/apps/systemtags/l10n/it.json index a06a99dd806f6..e41005337a736 100644 --- a/apps/systemtags/l10n/it.json +++ b/apps/systemtags/l10n/it.json @@ -34,6 +34,7 @@ "No files in here" : "Qui non c'è alcun file", "No entries found in this folder" : "Nessuna voce trovata in questa cartella", "Size" : "Dimensione", - "Modified" : "Modificato" + "Modified" : "Modificato", + "%s (not-assignable)" : "%s (non assegnabile)" },"pluralForm" :"nplurals=2; plural=(n != 1);" } \ No newline at end of file diff --git a/apps/systemtags/l10n/pt_BR.js b/apps/systemtags/l10n/pt_BR.js index 9ff39ad7fb169..cea511bdcc345 100644 --- a/apps/systemtags/l10n/pt_BR.js +++ b/apps/systemtags/l10n/pt_BR.js @@ -36,6 +36,7 @@ OC.L10N.register( "No files in here" : "Nenhum arquivo aqui", "No entries found in this folder" : "Nenhuma entrada foi encontrada nesta pasta", "Size" : "Tamanho", - "Modified" : "Modificado" + "Modified" : "Modificado", + "%s (not-assignable)" : "%s (não atribuível)" }, "nplurals=2; plural=(n > 1);"); diff --git a/apps/systemtags/l10n/pt_BR.json b/apps/systemtags/l10n/pt_BR.json index 6f7a8ee2f2d72..9f7563906136c 100644 --- a/apps/systemtags/l10n/pt_BR.json +++ b/apps/systemtags/l10n/pt_BR.json @@ -34,6 +34,7 @@ "No files in here" : "Nenhum arquivo aqui", "No entries found in this folder" : "Nenhuma entrada foi encontrada nesta pasta", "Size" : "Tamanho", - "Modified" : "Modificado" + "Modified" : "Modificado", + "%s (not-assignable)" : "%s (não atribuível)" },"pluralForm" :"nplurals=2; plural=(n > 1);" } \ No newline at end of file diff --git a/apps/systemtags/lib/Settings/Admin.php b/apps/systemtags/lib/Settings/Admin.php new file mode 100644 index 0000000000000..fbdec8741f784 --- /dev/null +++ b/apps/systemtags/lib/Settings/Admin.php @@ -0,0 +1,56 @@ + + * + * @author Arthur Schiwon + * + * @license GNU AGPL version 3 or any later version + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + */ + +namespace OCA\SystemTags\Settings; + +use OCP\AppFramework\Http\TemplateResponse; +use OCP\Settings\ISettings; + +class Admin implements ISettings { + + /** + * @return TemplateResponse + */ + public function getForm() { + return new TemplateResponse('systemtags', 'admin', [], ''); + } + + /** + * @return string the section ID, e.g. 'sharing' + */ + public function getSection() { + return 'sharing'; + } + + /** + * @return int whether the form should be rather on the top or bottom of + * the admin section. The forms are arranged in ascending order of the + * priority values. It is required to return a value between 0 and 100. + * + * E.g.: 70 + */ + public function getPriority() { + return 70; + } + +} diff --git a/apps/systemtags/tests/Settings/AdminTest.php b/apps/systemtags/tests/Settings/AdminTest.php new file mode 100644 index 0000000000000..b1faf82cf25b0 --- /dev/null +++ b/apps/systemtags/tests/Settings/AdminTest.php @@ -0,0 +1,52 @@ + + * + * @author Lukas Reschke + * + * @license GNU AGPL version 3 or any later version + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + */ + +namespace OCA\SystemTags\Tests\Settings; + +use OCA\SystemTags\Settings\Admin; +use OCP\AppFramework\Http\TemplateResponse; +use Test\TestCase; + +class AdminTest extends TestCase { + /** @var Admin */ + private $admin; + + public function setUp() { + parent::setUp(); + + $this->admin = new Admin(); + } + + public function testGetForm() { + $expected = new TemplateResponse('systemtags', 'admin', [], ''); + $this->assertEquals($expected, $this->admin->getForm()); + } + + public function testGetSection() { + $this->assertSame('sharing', $this->admin->getSection()); + } + + public function testGetPriority() { + $this->assertSame(70, $this->admin->getPriority()); + } +} diff --git a/apps/theming/appinfo/app.php b/apps/theming/appinfo/app.php index 051a2e279e596..f558c35e61f23 100644 --- a/apps/theming/appinfo/app.php +++ b/apps/theming/appinfo/app.php @@ -23,8 +23,6 @@ * */ -\OCP\App::registerAdmin('theming', 'settings/settings-admin'); - $linkToCSS = \OC::$server->getURLGenerator()->linkToRoute( 'theming.Theming.getStylesheet', [ diff --git a/apps/theming/appinfo/info.xml b/apps/theming/appinfo/info.xml index 8ae1d3eb73aa2..423d11d2aef1e 100644 --- a/apps/theming/appinfo/info.xml +++ b/apps/theming/appinfo/info.xml @@ -5,7 +5,7 @@ Adjust the Nextcloud theme AGPL Nextcloud - 1.1.0 + 1.1.1 Theming other @@ -18,4 +18,9 @@ + + + OCA\Theming\Settings\Admin + OCA\Theming\Settings\Section + diff --git a/apps/theming/lib/Controller/ThemingController.php b/apps/theming/lib/Controller/ThemingController.php index 0db4dfe062700..8d3e2a5f2e284 100644 --- a/apps/theming/lib/Controller/ThemingController.php +++ b/apps/theming/lib/Controller/ThemingController.php @@ -27,7 +27,7 @@ namespace OCA\Theming\Controller; -use OCA\Theming\Template; +use OCA\Theming\ThemingDefaults; use OCP\AppFramework\Controller; use OCP\AppFramework\Http; use OCP\AppFramework\Http\DataDownloadResponse; @@ -48,7 +48,7 @@ * @package OCA\Theming\Controller */ class ThemingController extends Controller { - /** @var Template */ + /** @var ThemingDefaults */ private $template; /** @var Util */ private $util; @@ -67,7 +67,7 @@ class ThemingController extends Controller { * @param string $appName * @param IRequest $request * @param IConfig $config - * @param Template $template + * @param ThemingDefaults $template * @param Util $util * @param ITimeFactory $timeFactory * @param IL10N $l @@ -77,7 +77,7 @@ public function __construct( $appName, IRequest $request, IConfig $config, - Template $template, + ThemingDefaults $template, Util $util, ITimeFactory $timeFactory, IL10N $l, diff --git a/apps/theming/lib/Settings/Admin.php b/apps/theming/lib/Settings/Admin.php new file mode 100644 index 0000000000000..1f79449e65816 --- /dev/null +++ b/apps/theming/lib/Settings/Admin.php @@ -0,0 +1,98 @@ + + * + * @author Arthur Schiwon + * + * @license GNU AGPL version 3 or any later version + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + */ + +namespace OCA\Theming\Settings; + +use OCA\Theming\ThemingDefaults; +use OCP\AppFramework\Http\TemplateResponse; +use OCP\IConfig; +use OCP\IL10N; +use OCP\IURLGenerator; +use OCP\Settings\ISettings; + +class Admin implements ISettings { + /** @var IConfig */ + private $config; + /** @var IL10N */ + private $l; + /** @var ThemingDefaults */ + private $themingDefaults; + /** @var IURLGenerator */ + private $urlGenerator; + + public function __construct(IConfig $config, + IL10N $l, + ThemingDefaults $themingDefaults, + IURLGenerator $urlGenerator) { + $this->config = $config; + $this->l = $l; + $this->themingDefaults = $themingDefaults; + $this->urlGenerator = $urlGenerator; + } + + /** + * @return TemplateResponse + */ + public function getForm() { + $path = $this->urlGenerator->linkToRoute('theming.Theming.updateLogo'); + + $themable = true; + $errorMessage = ''; + $theme = $this->config->getSystemValue('theme', ''); + if ($theme !== '') { + $themable = false; + $errorMessage = $this->l->t('You already use a custom theme'); + } + + $parameters = [ + 'themable' => $themable, + 'errorMessage' => $errorMessage, + 'name' => $this->themingDefaults->getEntity(), + 'url' => $this->themingDefaults->getBaseUrl(), + 'slogan' => $this->themingDefaults->getSlogan(), + 'color' => $this->themingDefaults->getMailHeaderColor(), + 'uploadLogoRoute' => $path, + ]; + + return new TemplateResponse('theming', 'settings-admin', $parameters, ''); + } + + /** + * @return string the section ID, e.g. 'sharing' + */ + public function getSection() { + return 'theming'; + } + + /** + * @return int whether the form should be rather on the top or bottom of + * the admin section. The forms are arranged in ascending order of the + * priority values. It is required to return a value between 0 and 100. + * + * E.g.: 70 + */ + public function getPriority() { + return 5; + } + +} diff --git a/apps/theming/lib/Settings/Section.php b/apps/theming/lib/Settings/Section.php new file mode 100644 index 0000000000000..cffbb8901c82b --- /dev/null +++ b/apps/theming/lib/Settings/Section.php @@ -0,0 +1,67 @@ + + * + * @author Arthur Schiwon + * + * @license GNU AGPL version 3 or any later version + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + */ + +namespace OCA\Theming\Settings; + +use OCP\IL10N; +use OCP\Settings\ISection; + +class Section implements ISection { + /** @var IL10N */ + private $l; + + public function __construct(IL10N $l) { + $this->l = $l; + } + + /** + * returns the ID of the section. It is supposed to be a lower case string, + * e.g. 'ldap' + * + * @returns string + */ + public function getID() { + return 'theming'; + } + + /** + * returns the translated name as it should be displayed, e.g. 'LDAP / AD + * integration'. Use the L10N service to translate it. + * + * @return string + */ + public function getName() { + return $this->l->t('Theming'); + } + + /** + * @return int whether the form should be rather on the top or bottom of + * the settings navigation. The sections are arranged in ascending order of + * the priority values. It is required to return a value between 0 and 99. + * + * E.g.: 70 + */ + public function getPriority() { + return 30; + } +} diff --git a/apps/theming/lib/Template.php b/apps/theming/lib/ThemingDefaults.php similarity index 90% rename from apps/theming/lib/Template.php rename to apps/theming/lib/ThemingDefaults.php index 25730aad95b14..7b846919db358 100644 --- a/apps/theming/lib/Template.php +++ b/apps/theming/lib/ThemingDefaults.php @@ -1,11 +1,6 @@ - * @copyright Copyright (c) 2016 Lukas Reschke - * - * @author Bjoern Schiessle - * @author Joas Schilling - * @author Lukas Reschke * * @license GNU AGPL version 3 or any later version * @@ -24,20 +19,19 @@ * */ + namespace OCA\Theming; + + + use OCP\IConfig; use OCP\IL10N; use OCP\IURLGenerator; -/** - * Class Template - * - * Handle all the values which can be modified by this app - * - * @package OCA\Theming - */ -class Template extends \OC_Defaults { + +class ThemingDefaults extends \OC_Defaults { + /** @var IConfig */ private $config; /** @var IL10N */ @@ -54,7 +48,7 @@ class Template extends \OC_Defaults { private $color; /** - * Template constructor. + * ThemingDefaults constructor. * * @param IConfig $config * @param IL10N $l @@ -92,7 +86,7 @@ public function getTitle() { public function getEntity() { return $this->config->getAppValue('theming', 'name', $this->name); } - + public function getBaseUrl() { return $this->config->getAppValue('theming', 'url', $this->url); } @@ -168,4 +162,5 @@ public function undo($setting) { return $returnValue; } + } diff --git a/apps/theming/settings/settings-admin.php b/apps/theming/settings/settings-admin.php deleted file mode 100644 index 8ef499789e899..0000000000000 --- a/apps/theming/settings/settings-admin.php +++ /dev/null @@ -1,52 +0,0 @@ - - * @copyright Copyright (c) 2016 Lukas Reschke - * - * @author Bjoern Schiessle - * @author Lukas Reschke - * - * @license GNU AGPL version 3 or any later version - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - * - */ - -$config = \OC::$server->getConfig(); -$l = \OC::$server->getL10N('theming'); -$urlGenerator = \OC::$server->getURLGenerator(); - -$theming = \OC::$server->getThemingDefaults(); - -$themable = true; -$errorMessage = ''; -$theme = $config->getSystemValue('theme', ''); - -if ($theme !== '') { - $themable = false; - $errorMessage = $l->t('You already use a custom theme'); -} - -$template = new \OCP\Template('theming', 'settings-admin'); - -$template->assign('themable', $themable); -$template->assign('errorMessage', $errorMessage); -$template->assign('name', $theming->getEntity()); -$template->assign('url', $theming->getBaseUrl()); -$template->assign('slogan', $theming->getSlogan()); -$template->assign('color', $theming->getMailHeaderColor()); -$path = $urlGenerator->linkToRoute('theming.Theming.updateLogo'); -$template->assign('uploadLogoRoute', $path); - -return $template->fetchPage(); diff --git a/apps/theming/tests/Controller/ThemingControllerTest.php b/apps/theming/tests/Controller/ThemingControllerTest.php index 81b6b886c9fc5..688e3d62bfff8 100644 --- a/apps/theming/tests/Controller/ThemingControllerTest.php +++ b/apps/theming/tests/Controller/ThemingControllerTest.php @@ -25,7 +25,6 @@ namespace OCA\Theming\Tests\Controller; use OCA\Theming\Controller\ThemingController; -use OCA\Theming\Template; use OCA\Theming\Util; use OCP\AppFramework\Http; use OCP\AppFramework\Http\DataResponse; @@ -34,13 +33,14 @@ use OCP\IL10N; use OCP\IRequest; use Test\TestCase; +use OCA\Theming\ThemingDefaults; class ThemingControllerTest extends TestCase { /** @var IRequest|\PHPUnit_Framework_MockObject_MockObject */ private $request; /** @var IConfig|\PHPUnit_Framework_MockObject_MockObject */ private $config; - /** @var Template|\PHPUnit_Framework_MockObject_MockObject */ + /** @var ThemingDefaults|\PHPUnit_Framework_MockObject_MockObject */ private $template; /** @var Util */ private $util; @@ -56,7 +56,7 @@ class ThemingControllerTest extends TestCase { public function setUp() { $this->request = $this->getMockBuilder('OCP\IRequest')->getMock(); $this->config = $this->getMockBuilder('OCP\IConfig')->getMock(); - $this->template = $this->getMockBuilder('OCA\Theming\Template') + $this->template = $this->getMockBuilder('OCA\Theming\ThemingDefaults') ->disableOriginalConstructor()->getMock(); $this->util = new Util(); $this->timeFactory = $this->getMockBuilder('OCP\AppFramework\Utility\ITimeFactory') diff --git a/apps/theming/tests/Settings/AdminTest.php b/apps/theming/tests/Settings/AdminTest.php new file mode 100644 index 0000000000000..18c2064e8cec4 --- /dev/null +++ b/apps/theming/tests/Settings/AdminTest.php @@ -0,0 +1,155 @@ + + * + * @author Lukas Reschke + * + * @license GNU AGPL version 3 or any later version + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + */ + +namespace OCA\Theming\Tests\Settings; + +use OCA\Theming\Settings\Admin; +use OCA\Theming\ThemingDefaults; +use OCP\AppFramework\Http\TemplateResponse; +use OCP\IConfig; +use OCP\IL10N; +use OCP\IURLGenerator; +use Test\TestCase; + +class AdminTest extends TestCase { + /** @var Admin */ + private $admin; + /** @var IConfig */ + private $config; + /** @var ThemingDefaults */ + private $themingDefaults; + /** @var IURLGenerator */ + private $urlGenerator; + /** @var IL10N */ + private $l10n; + + public function setUp() { + parent::setUp(); + $this->config = $this->getMockBuilder('\OCP\IConfig')->getMock(); + $this->l10n = $this->getMockBuilder('\OCP\IL10N')->getMock(); + $this->themingDefaults = $this->getMockBuilder('\OCA\Theming\ThemingDefaults')->disableOriginalConstructor()->getMock(); + $this->urlGenerator = $this->getMockBuilder('\OCP\IURLGenerator')->getMock(); + + $this->admin = new Admin( + $this->config, + $this->l10n, + $this->themingDefaults, + $this->urlGenerator + ); + } + + public function testGetFormNoErrors() { + $this->config + ->expects($this->once()) + ->method('getSystemValue') + ->with('theme', '') + ->willReturn(''); + $this->themingDefaults + ->expects($this->once()) + ->method('getEntity') + ->willReturn('MyEntity'); + $this->themingDefaults + ->expects($this->once()) + ->method('getBaseUrl') + ->willReturn('https://example.com'); + $this->themingDefaults + ->expects($this->once()) + ->method('getSlogan') + ->willReturn('MySlogan'); + $this->themingDefaults + ->expects($this->once()) + ->method('getMailHeaderColor') + ->willReturn('#fff'); + $this->urlGenerator + ->expects($this->once()) + ->method('linkToRoute') + ->with('theming.Theming.updateLogo') + ->willReturn('/my/route'); + $params = [ + 'themable' => true, + 'errorMessage' => '', + 'name' => 'MyEntity', + 'url' => 'https://example.com', + 'slogan' => 'MySlogan', + 'color' => '#fff', + 'uploadLogoRoute' => '/my/route', + ]; + + $expected = new TemplateResponse('theming', 'settings-admin', $params, ''); + $this->assertEquals($expected, $this->admin->getForm()); + } + + public function testGetFormWithErrors() { + $this->config + ->expects($this->once()) + ->method('getSystemValue') + ->with('theme', '') + ->willReturn('MyCustomTheme'); + $this->l10n + ->expects($this->once()) + ->method('t') + ->with('You already use a custom theme') + ->willReturn('You already use a custom theme'); + $this->themingDefaults + ->expects($this->once()) + ->method('getEntity') + ->willReturn('MyEntity'); + $this->themingDefaults + ->expects($this->once()) + ->method('getBaseUrl') + ->willReturn('https://example.com'); + $this->themingDefaults + ->expects($this->once()) + ->method('getSlogan') + ->willReturn('MySlogan'); + $this->themingDefaults + ->expects($this->once()) + ->method('getMailHeaderColor') + ->willReturn('#fff'); + $this->urlGenerator + ->expects($this->once()) + ->method('linkToRoute') + ->with('theming.Theming.updateLogo') + ->willReturn('/my/route'); + $params = [ + 'themable' => false, + 'errorMessage' => 'You already use a custom theme', + 'name' => 'MyEntity', + 'url' => 'https://example.com', + 'slogan' => 'MySlogan', + 'color' => '#fff', + 'uploadLogoRoute' => '/my/route', + ]; + + $expected = new TemplateResponse('theming', 'settings-admin', $params, ''); + $this->assertEquals($expected, $this->admin->getForm()); + } + + public function testGetSection() { + $this->assertSame('theming', $this->admin->getSection()); + } + + public function testGetPriority() { + $this->assertSame(5, $this->admin->getPriority()); + } +} diff --git a/apps/theming/tests/Settings/SectionTest.php b/apps/theming/tests/Settings/SectionTest.php new file mode 100644 index 0000000000000..3a3a4375236b2 --- /dev/null +++ b/apps/theming/tests/Settings/SectionTest.php @@ -0,0 +1,62 @@ + + * + * @author Lukas Reschke + * + * @license GNU AGPL version 3 or any later version + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + */ + +namespace OCA\Theming\Tests\Settings; + +use OCA\Theming\Settings\Section; +use OCP\IL10N; +use Test\TestCase; + +class SectionTest extends TestCase { + /** @var IL10N */ + private $l; + /** @var Section */ + private $section; + + public function setUp() { + parent::setUp(); + $this->l = $this->getMockBuilder('\OCP\IL10N')->getMock(); + + $this->section = new Section( + $this->l + ); + } + + public function testGetID() { + $this->assertSame('theming', $this->section->getID()); + } + + public function testGetName() { + $this->l + ->expects($this->once()) + ->method('t') + ->with('Theming') + ->willReturn('Theming'); + + $this->assertSame('Theming', $this->section->getName()); + } + + public function testGetPriority() { + $this->assertSame(30, $this->section->getPriority()); + } +} diff --git a/apps/theming/tests/TemplateTest.php b/apps/theming/tests/ThemingDefaultsTest.php similarity index 98% rename from apps/theming/tests/TemplateTest.php rename to apps/theming/tests/ThemingDefaultsTest.php index c3c792657ec6e..6ef7deea152b9 100644 --- a/apps/theming/tests/TemplateTest.php +++ b/apps/theming/tests/ThemingDefaultsTest.php @@ -23,13 +23,13 @@ */ namespace OCA\Theming\Tests; -use OCA\Theming\Template; +use OCA\Theming\ThemingDefaults; use OCP\IConfig; use OCP\IL10N; use OCP\IURLGenerator; use Test\TestCase; -class TemplateTest extends TestCase { +class ThemingDefaultsTest extends TestCase { /** @var IConfig */ private $config; /** @var IL10N */ @@ -38,7 +38,7 @@ class TemplateTest extends TestCase { private $urlGenerator; /** @var \OC_Defaults */ private $defaults; - /** @var Template */ + /** @var ThemingDefaults */ private $template; public function setUp() { @@ -64,7 +64,7 @@ public function setUp() { ->expects($this->at(3)) ->method('getMailHeaderColor') ->willReturn('#000'); - $this->template = new Template( + $this->template = new ThemingDefaults( $this->config, $this->l10n, $this->urlGenerator, diff --git a/apps/updatenotification/admin.php b/apps/updatenotification/admin.php deleted file mode 100644 index 81c7a8fb5576c..0000000000000 --- a/apps/updatenotification/admin.php +++ /dev/null @@ -1,26 +0,0 @@ - - * - * @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 - * - */ - -$app = new \OCA\UpdateNotification\AppInfo\Application(); -/** @var OCA\UpdateNotification\Controller\AdminController $controller */ -$controller = $app->getContainer()->query('AdminController'); -return $controller->displayPanel()->render(); diff --git a/apps/updatenotification/appinfo/app.php b/apps/updatenotification/appinfo/app.php index 0f49d2525e57d..f5bcf3456696b 100644 --- a/apps/updatenotification/appinfo/app.php +++ b/apps/updatenotification/appinfo/app.php @@ -38,7 +38,6 @@ \OCP\Util::addScript('updatenotification', 'notification'); OC_Hook::connect('\OCP\Config', 'js', $updateChecker, 'getJavaScript'); } - \OC_App::registerAdmin('updatenotification', 'admin'); } } diff --git a/apps/updatenotification/appinfo/info.xml b/apps/updatenotification/appinfo/info.xml index 4070e90f221f1..2fe400a35878a 100644 --- a/apps/updatenotification/appinfo/info.xml +++ b/apps/updatenotification/appinfo/info.xml @@ -5,7 +5,7 @@ Displays update notifications for ownCloud and provides the SSO for the updater. AGPL Lukas Reschke - 1.1.0 + 1.1.1 UpdateNotification @@ -15,4 +15,8 @@ OCA\UpdateNotification\Notification\BackgroundJob + + + OCA\UpdateNotification\Controller\AdminController + diff --git a/apps/updatenotification/l10n/cs_CZ.js b/apps/updatenotification/l10n/cs_CZ.js index 56dcfdd7aee8f..2bc1daf96edc2 100644 --- a/apps/updatenotification/l10n/cs_CZ.js +++ b/apps/updatenotification/l10n/cs_CZ.js @@ -6,7 +6,6 @@ OC.L10N.register( "Updated channel" : "Aktualizovat kanál", "Nextcloud core" : "Nextcloud Core", "Update for %1$s to version %2$s is available." : "Je dostupná aktualizace pro %1$s na verzi %2$s.", - "Updater" : "Automatické aktualizace", "A new version is available: %s" : "Je dostupná nová verze: %s", "Open updater" : "Otevřít program aktualizací", "Your version is up to date." : "Používáte nejnovější verzi.", @@ -16,6 +15,7 @@ OC.L10N.register( "Notify members of the following groups about available updates:" : "Upozorňovat členy následujících skupin na dostupné aktualizace:", "Only notification for app updates are available." : "Je možné pouze upozornění na dostupné aktualizace aplikací.", "The selected update channel makes dedicated notifications for the server obsolete." : "Zvolený kanál aktualizací označuje dedikovaná upozornění pro server za zastaralá.", - "The selected update channel does not support updates of the server." : "Vybraný kanál aktualizací nepodporuje aktualizace serveru." + "The selected update channel does not support updates of the server." : "Vybraný kanál aktualizací nepodporuje aktualizace serveru.", + "Updater" : "Automatické aktualizace" }, "nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;"); diff --git a/apps/updatenotification/l10n/cs_CZ.json b/apps/updatenotification/l10n/cs_CZ.json index 3f93f4904468d..8b5563d15a1d0 100644 --- a/apps/updatenotification/l10n/cs_CZ.json +++ b/apps/updatenotification/l10n/cs_CZ.json @@ -4,7 +4,6 @@ "Updated channel" : "Aktualizovat kanál", "Nextcloud core" : "Nextcloud Core", "Update for %1$s to version %2$s is available." : "Je dostupná aktualizace pro %1$s na verzi %2$s.", - "Updater" : "Automatické aktualizace", "A new version is available: %s" : "Je dostupná nová verze: %s", "Open updater" : "Otevřít program aktualizací", "Your version is up to date." : "Používáte nejnovější verzi.", @@ -14,6 +13,7 @@ "Notify members of the following groups about available updates:" : "Upozorňovat členy následujících skupin na dostupné aktualizace:", "Only notification for app updates are available." : "Je možné pouze upozornění na dostupné aktualizace aplikací.", "The selected update channel makes dedicated notifications for the server obsolete." : "Zvolený kanál aktualizací označuje dedikovaná upozornění pro server za zastaralá.", - "The selected update channel does not support updates of the server." : "Vybraný kanál aktualizací nepodporuje aktualizace serveru." + "The selected update channel does not support updates of the server." : "Vybraný kanál aktualizací nepodporuje aktualizace serveru.", + "Updater" : "Automatické aktualizace" },"pluralForm" :"nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;" } \ No newline at end of file diff --git a/apps/updatenotification/l10n/de.js b/apps/updatenotification/l10n/de.js index f8cc30818c13f..39c9d419227d6 100644 --- a/apps/updatenotification/l10n/de.js +++ b/apps/updatenotification/l10n/de.js @@ -6,7 +6,6 @@ OC.L10N.register( "Updated channel" : "Update-Kanal", "Nextcloud core" : "Nextcloud Kern", "Update for %1$s to version %2$s is available." : "Ein Update von %1$s auf Version %2$s ist verfügbar.", - "Updater" : "Updater", "A new version is available: %s" : "Eine neue Version ist verfügbar: %s", "Open updater" : "Updater aufrufen", "Your version is up to date." : "Deine Version ist aktuell.", @@ -17,6 +16,7 @@ OC.L10N.register( "Only notification for app updates are available." : "Benachrichtigungen sind nur für Aktualisierungen von Apps verfügbar.", "The selected update channel makes dedicated notifications for the server obsolete." : "Der gewählte Aktualisierungskanal macht dedizierte Benachrichtigungen für Server Aktualisierungen obsolet.", "The selected update channel does not support updates of the server." : "Der gewählte Aktualisierungskanal unterstützt keine Aktualisierungen für Server.", + "Updater" : "Updater", "At the moment only manual updates are supported on your environment. This is very likely the case because functions such as shell_exec are not available." : "Aktuell werden lediglich manuelle Aktualisierungen in deiner Umgebung unterstützt. Dies ist wahrscheinlich der Fall, da Funktionen wie zum Beispiel shell_exec nicht verfügbar sind." }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/updatenotification/l10n/de.json b/apps/updatenotification/l10n/de.json index 009dea72662ba..870f82a150aa8 100644 --- a/apps/updatenotification/l10n/de.json +++ b/apps/updatenotification/l10n/de.json @@ -4,7 +4,6 @@ "Updated channel" : "Update-Kanal", "Nextcloud core" : "Nextcloud Kern", "Update for %1$s to version %2$s is available." : "Ein Update von %1$s auf Version %2$s ist verfügbar.", - "Updater" : "Updater", "A new version is available: %s" : "Eine neue Version ist verfügbar: %s", "Open updater" : "Updater aufrufen", "Your version is up to date." : "Deine Version ist aktuell.", @@ -15,6 +14,7 @@ "Only notification for app updates are available." : "Benachrichtigungen sind nur für Aktualisierungen von Apps verfügbar.", "The selected update channel makes dedicated notifications for the server obsolete." : "Der gewählte Aktualisierungskanal macht dedizierte Benachrichtigungen für Server Aktualisierungen obsolet.", "The selected update channel does not support updates of the server." : "Der gewählte Aktualisierungskanal unterstützt keine Aktualisierungen für Server.", + "Updater" : "Updater", "At the moment only manual updates are supported on your environment. This is very likely the case because functions such as shell_exec are not available." : "Aktuell werden lediglich manuelle Aktualisierungen in deiner Umgebung unterstützt. Dies ist wahrscheinlich der Fall, da Funktionen wie zum Beispiel shell_exec nicht verfügbar sind." },"pluralForm" :"nplurals=2; plural=(n != 1);" } \ No newline at end of file diff --git a/apps/updatenotification/l10n/de_DE.js b/apps/updatenotification/l10n/de_DE.js index 0c20537b3382b..5d0fd3b590054 100644 --- a/apps/updatenotification/l10n/de_DE.js +++ b/apps/updatenotification/l10n/de_DE.js @@ -6,7 +6,6 @@ OC.L10N.register( "Updated channel" : "Update-Kanal", "Nextcloud core" : "Nextcloud Kern", "Update for %1$s to version %2$s is available." : "Ein Update von %1$s auf Version %2$s ist verfügbar.", - "Updater" : "Updater", "A new version is available: %s" : "Eine neue Version ist verfügbar: %s", "Open updater" : "Updater aufrufen", "Your version is up to date." : "Ihre Version ist aktuell.", @@ -16,6 +15,8 @@ OC.L10N.register( "Notify members of the following groups about available updates:" : "Informieren Sie die Mitglieder der folgenden Gruppen über verfügbare Updates:", "Only notification for app updates are available." : "Benachrichtigungen sind nur für Aktualisierungen von Apps verfügbar.", "The selected update channel makes dedicated notifications for the server obsolete." : "Der gewählte Aktualisierungskanal macht dedizierte Benachrichtigungen für Server Aktualisierungen obsolet.", - "The selected update channel does not support updates of the server." : "Der gewählte Aktualisierungskanal unterstützt keine Aktualisierungen für Server." + "The selected update channel does not support updates of the server." : "Der gewählte Aktualisierungskanal unterstützt keine Aktualisierungen für Server.", + "Updater" : "Updater", + "At the moment only manual updates are supported on your environment. This is very likely the case because functions such as shell_exec are not available." : "Aktuell werden lediglich manuelle Aktualisierungen in Ihrer Umgebung unterstützt. Dies ist wahrscheinlich der Fall, da Funktionen wie zum Beispiel shell_exec nicht verfügbar sind." }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/updatenotification/l10n/de_DE.json b/apps/updatenotification/l10n/de_DE.json index afce668937191..f8875ef668231 100644 --- a/apps/updatenotification/l10n/de_DE.json +++ b/apps/updatenotification/l10n/de_DE.json @@ -4,7 +4,6 @@ "Updated channel" : "Update-Kanal", "Nextcloud core" : "Nextcloud Kern", "Update for %1$s to version %2$s is available." : "Ein Update von %1$s auf Version %2$s ist verfügbar.", - "Updater" : "Updater", "A new version is available: %s" : "Eine neue Version ist verfügbar: %s", "Open updater" : "Updater aufrufen", "Your version is up to date." : "Ihre Version ist aktuell.", @@ -14,6 +13,8 @@ "Notify members of the following groups about available updates:" : "Informieren Sie die Mitglieder der folgenden Gruppen über verfügbare Updates:", "Only notification for app updates are available." : "Benachrichtigungen sind nur für Aktualisierungen von Apps verfügbar.", "The selected update channel makes dedicated notifications for the server obsolete." : "Der gewählte Aktualisierungskanal macht dedizierte Benachrichtigungen für Server Aktualisierungen obsolet.", - "The selected update channel does not support updates of the server." : "Der gewählte Aktualisierungskanal unterstützt keine Aktualisierungen für Server." + "The selected update channel does not support updates of the server." : "Der gewählte Aktualisierungskanal unterstützt keine Aktualisierungen für Server.", + "Updater" : "Updater", + "At the moment only manual updates are supported on your environment. This is very likely the case because functions such as shell_exec are not available." : "Aktuell werden lediglich manuelle Aktualisierungen in Ihrer Umgebung unterstützt. Dies ist wahrscheinlich der Fall, da Funktionen wie zum Beispiel shell_exec nicht verfügbar sind." },"pluralForm" :"nplurals=2; plural=(n != 1);" } \ No newline at end of file diff --git a/apps/updatenotification/l10n/en_GB.js b/apps/updatenotification/l10n/en_GB.js index 09e1f00ade248..aa52aa19f1c3b 100644 --- a/apps/updatenotification/l10n/en_GB.js +++ b/apps/updatenotification/l10n/en_GB.js @@ -6,7 +6,6 @@ OC.L10N.register( "Updated channel" : "Updated channel", "Nextcloud core" : "Nextcloud core", "Update for %1$s to version %2$s is available." : "Update for %1$s to version %2$s is available.", - "Updater" : "Updater", "A new version is available: %s" : "A new version is available: %s", "Open updater" : "Open updater", "Your version is up to date." : "Your version is up to date.", @@ -16,6 +15,7 @@ OC.L10N.register( "Notify members of the following groups about available updates:" : "Notify members of the following groups about available updates:", "Only notification for app updates are available." : "Only notification for app updates are available.", "The selected update channel makes dedicated notifications for the server obsolete." : "The selected update channel makes dedicated notifications for the server obsolete.", - "The selected update channel does not support updates of the server." : "The selected update channel does not support updates of the server." + "The selected update channel does not support updates of the server." : "The selected update channel does not support updates of the server.", + "Updater" : "Updater" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/updatenotification/l10n/en_GB.json b/apps/updatenotification/l10n/en_GB.json index 839833d3335c4..23aa00e0244ba 100644 --- a/apps/updatenotification/l10n/en_GB.json +++ b/apps/updatenotification/l10n/en_GB.json @@ -4,7 +4,6 @@ "Updated channel" : "Updated channel", "Nextcloud core" : "Nextcloud core", "Update for %1$s to version %2$s is available." : "Update for %1$s to version %2$s is available.", - "Updater" : "Updater", "A new version is available: %s" : "A new version is available: %s", "Open updater" : "Open updater", "Your version is up to date." : "Your version is up to date.", @@ -14,6 +13,7 @@ "Notify members of the following groups about available updates:" : "Notify members of the following groups about available updates:", "Only notification for app updates are available." : "Only notification for app updates are available.", "The selected update channel makes dedicated notifications for the server obsolete." : "The selected update channel makes dedicated notifications for the server obsolete.", - "The selected update channel does not support updates of the server." : "The selected update channel does not support updates of the server." + "The selected update channel does not support updates of the server." : "The selected update channel does not support updates of the server.", + "Updater" : "Updater" },"pluralForm" :"nplurals=2; plural=(n != 1);" } \ No newline at end of file diff --git a/apps/updatenotification/l10n/es.js b/apps/updatenotification/l10n/es.js index 10fd1c96f53c8..5b7b2d06a1a5c 100644 --- a/apps/updatenotification/l10n/es.js +++ b/apps/updatenotification/l10n/es.js @@ -6,7 +6,6 @@ OC.L10N.register( "Updated channel" : "Canal actualizado", "Nextcloud core" : "Núcleo de Nextcloud", "Update for %1$s to version %2$s is available." : "La actualización de %1$s a la versión %2$s está disponible.", - "Updater" : "Actualizador", "A new version is available: %s" : "Hay una nueva versión disponible: %s", "Open updater" : "Abrir el actualizador", "Your version is up to date." : "Su versión está actualizada.", @@ -16,6 +15,7 @@ OC.L10N.register( "Notify members of the following groups about available updates:" : "Notificar a los miembros de los siguientes grupos sobre actualizaciones disponibles:", "Only notification for app updates are available." : "Solo están disponibles las notificaciones para actualizaciones de apps", "The selected update channel makes dedicated notifications for the server obsolete." : "El canal de actualización seleccionado hace obsoletas las notificaciones dedicadas para el servidor.", - "The selected update channel does not support updates of the server." : "El canal de actualización seleccionado no soporta actualizaciones del servidor" + "The selected update channel does not support updates of the server." : "El canal de actualización seleccionado no soporta actualizaciones del servidor", + "Updater" : "Actualizador" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/updatenotification/l10n/es.json b/apps/updatenotification/l10n/es.json index f75b92765cecb..560ee441a7516 100644 --- a/apps/updatenotification/l10n/es.json +++ b/apps/updatenotification/l10n/es.json @@ -4,7 +4,6 @@ "Updated channel" : "Canal actualizado", "Nextcloud core" : "Núcleo de Nextcloud", "Update for %1$s to version %2$s is available." : "La actualización de %1$s a la versión %2$s está disponible.", - "Updater" : "Actualizador", "A new version is available: %s" : "Hay una nueva versión disponible: %s", "Open updater" : "Abrir el actualizador", "Your version is up to date." : "Su versión está actualizada.", @@ -14,6 +13,7 @@ "Notify members of the following groups about available updates:" : "Notificar a los miembros de los siguientes grupos sobre actualizaciones disponibles:", "Only notification for app updates are available." : "Solo están disponibles las notificaciones para actualizaciones de apps", "The selected update channel makes dedicated notifications for the server obsolete." : "El canal de actualización seleccionado hace obsoletas las notificaciones dedicadas para el servidor.", - "The selected update channel does not support updates of the server." : "El canal de actualización seleccionado no soporta actualizaciones del servidor" + "The selected update channel does not support updates of the server." : "El canal de actualización seleccionado no soporta actualizaciones del servidor", + "Updater" : "Actualizador" },"pluralForm" :"nplurals=2; plural=(n != 1);" } \ No newline at end of file diff --git a/apps/updatenotification/l10n/fr.js b/apps/updatenotification/l10n/fr.js index 53b34864dcbce..2e41564399453 100644 --- a/apps/updatenotification/l10n/fr.js +++ b/apps/updatenotification/l10n/fr.js @@ -6,7 +6,6 @@ OC.L10N.register( "Updated channel" : "Canal à jour", "Nextcloud core" : "Noyau Nextcloud", "Update for %1$s to version %2$s is available." : "Une mise à jour de %1$s vers la version %2$s est disponible.", - "Updater" : "Mises à jour", "A new version is available: %s" : "Une nouvelle version est disponible : %s", "Open updater" : "Ouvrir le système de mise à jour", "Your version is up to date." : "Votre version est à jour.", @@ -16,6 +15,7 @@ OC.L10N.register( "Notify members of the following groups about available updates:" : "Notifier les membres des groupes suivants des mises à jours disponibles :", "Only notification for app updates are available." : "Seules les notifications pour les mises à jour d'applications sont diponibles.", "The selected update channel makes dedicated notifications for the server obsolete." : "Le canal de mise à jour sélectionné rend obsolètes les notifications dédiées au serveur.", - "The selected update channel does not support updates of the server." : "Le canal de mises à jour sélectionné ne supporte pas les mises à jour du serveur." + "The selected update channel does not support updates of the server." : "Le canal de mises à jour sélectionné ne supporte pas les mises à jour du serveur.", + "Updater" : "Mises à jour" }, "nplurals=2; plural=(n > 1);"); diff --git a/apps/updatenotification/l10n/fr.json b/apps/updatenotification/l10n/fr.json index f0360a94aae96..9e1679ea1b249 100644 --- a/apps/updatenotification/l10n/fr.json +++ b/apps/updatenotification/l10n/fr.json @@ -4,7 +4,6 @@ "Updated channel" : "Canal à jour", "Nextcloud core" : "Noyau Nextcloud", "Update for %1$s to version %2$s is available." : "Une mise à jour de %1$s vers la version %2$s est disponible.", - "Updater" : "Mises à jour", "A new version is available: %s" : "Une nouvelle version est disponible : %s", "Open updater" : "Ouvrir le système de mise à jour", "Your version is up to date." : "Votre version est à jour.", @@ -14,6 +13,7 @@ "Notify members of the following groups about available updates:" : "Notifier les membres des groupes suivants des mises à jours disponibles :", "Only notification for app updates are available." : "Seules les notifications pour les mises à jour d'applications sont diponibles.", "The selected update channel makes dedicated notifications for the server obsolete." : "Le canal de mise à jour sélectionné rend obsolètes les notifications dédiées au serveur.", - "The selected update channel does not support updates of the server." : "Le canal de mises à jour sélectionné ne supporte pas les mises à jour du serveur." + "The selected update channel does not support updates of the server." : "Le canal de mises à jour sélectionné ne supporte pas les mises à jour du serveur.", + "Updater" : "Mises à jour" },"pluralForm" :"nplurals=2; plural=(n > 1);" } \ No newline at end of file diff --git a/apps/updatenotification/l10n/id.js b/apps/updatenotification/l10n/id.js index 7d420dd49a6cd..af6d7d7068130 100644 --- a/apps/updatenotification/l10n/id.js +++ b/apps/updatenotification/l10n/id.js @@ -6,7 +6,6 @@ OC.L10N.register( "Updated channel" : "Kanal diperbarui", "Nextcloud core" : "Nextcloud core", "Update for %1$s to version %2$s is available." : "Pembaruan untuk %1$s ke versi %2$s tersedia.", - "Updater" : "Pengupdate", "A new version is available: %s" : "Versi baru tersedia: %s", "Open updater" : "Buka pembaruan", "Your version is up to date." : "Versi Anda saat ini adalah yang terbaru.", @@ -16,6 +15,7 @@ OC.L10N.register( "Notify members of the following groups about available updates:" : "Beritahu anggota grup tentang pembaruan yang tersedia:", "Only notification for app updates are available." : "Hanya pemberitahuan untuk pembaruan aplikasi tersedia.", "The selected update channel makes dedicated notifications for the server obsolete." : "Kanal pembaruan yang terpilih membuat pemberitahuan terdedikasi untuk server usang.", - "The selected update channel does not support updates of the server." : "Kanal pembaruan yang terpilih tidak mendukung pembaruan server." + "The selected update channel does not support updates of the server." : "Kanal pembaruan yang terpilih tidak mendukung pembaruan server.", + "Updater" : "Pengupdate" }, "nplurals=1; plural=0;"); diff --git a/apps/updatenotification/l10n/id.json b/apps/updatenotification/l10n/id.json index 64fc3bedf99ff..aba4ed0c2810e 100644 --- a/apps/updatenotification/l10n/id.json +++ b/apps/updatenotification/l10n/id.json @@ -4,7 +4,6 @@ "Updated channel" : "Kanal diperbarui", "Nextcloud core" : "Nextcloud core", "Update for %1$s to version %2$s is available." : "Pembaruan untuk %1$s ke versi %2$s tersedia.", - "Updater" : "Pengupdate", "A new version is available: %s" : "Versi baru tersedia: %s", "Open updater" : "Buka pembaruan", "Your version is up to date." : "Versi Anda saat ini adalah yang terbaru.", @@ -14,6 +13,7 @@ "Notify members of the following groups about available updates:" : "Beritahu anggota grup tentang pembaruan yang tersedia:", "Only notification for app updates are available." : "Hanya pemberitahuan untuk pembaruan aplikasi tersedia.", "The selected update channel makes dedicated notifications for the server obsolete." : "Kanal pembaruan yang terpilih membuat pemberitahuan terdedikasi untuk server usang.", - "The selected update channel does not support updates of the server." : "Kanal pembaruan yang terpilih tidak mendukung pembaruan server." + "The selected update channel does not support updates of the server." : "Kanal pembaruan yang terpilih tidak mendukung pembaruan server.", + "Updater" : "Pengupdate" },"pluralForm" :"nplurals=1; plural=0;" } \ No newline at end of file diff --git a/apps/updatenotification/l10n/is.js b/apps/updatenotification/l10n/is.js index f6801b6b11bc1..41b4445d16aeb 100644 --- a/apps/updatenotification/l10n/is.js +++ b/apps/updatenotification/l10n/is.js @@ -6,7 +6,6 @@ OC.L10N.register( "Updated channel" : "Uppfærði rás", "Nextcloud core" : "Nextcloud kjarni", "Update for %1$s to version %2$s is available." : "Upfærsla %1$s í útgáfu %2$s er tiltæk.", - "Updater" : "Uppfærslustýring", "A new version is available: %s" : "Ný útgáfa er tiltæk: %s", "Open updater" : "Opna uppfærslustýringu", "Your version is up to date." : "Útgáfan þín er af nýjustu gerð.", @@ -17,6 +16,7 @@ OC.L10N.register( "Only notification for app updates are available." : "Eingöngu eru eru tiltækar tilkynningar fyrir uppfærslur forrita.", "The selected update channel makes dedicated notifications for the server obsolete." : "Valda uppfærslurásin gerir úreltar sértækar tilkynningar fyrir vefþjóninn.", "The selected update channel does not support updates of the server." : "Valda uppfærslurásin styður ekki uppfærslur fyrir vefþjóninn.", + "Updater" : "Uppfærslustýring", "At the moment only manual updates are supported on your environment. This is very likely the case because functions such as shell_exec are not available." : "Í augnablikinu er einungis stuðningur við handvirkar uppfærslur á kerfinu þínu. Það gerist mjög líklega vegna þess að aðgerðir á borð við shell_exec eru ekki tiltækar." }, "nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);"); diff --git a/apps/updatenotification/l10n/is.json b/apps/updatenotification/l10n/is.json index ec05e4f0a7f5e..b318e8fb9e048 100644 --- a/apps/updatenotification/l10n/is.json +++ b/apps/updatenotification/l10n/is.json @@ -4,7 +4,6 @@ "Updated channel" : "Uppfærði rás", "Nextcloud core" : "Nextcloud kjarni", "Update for %1$s to version %2$s is available." : "Upfærsla %1$s í útgáfu %2$s er tiltæk.", - "Updater" : "Uppfærslustýring", "A new version is available: %s" : "Ný útgáfa er tiltæk: %s", "Open updater" : "Opna uppfærslustýringu", "Your version is up to date." : "Útgáfan þín er af nýjustu gerð.", @@ -15,6 +14,7 @@ "Only notification for app updates are available." : "Eingöngu eru eru tiltækar tilkynningar fyrir uppfærslur forrita.", "The selected update channel makes dedicated notifications for the server obsolete." : "Valda uppfærslurásin gerir úreltar sértækar tilkynningar fyrir vefþjóninn.", "The selected update channel does not support updates of the server." : "Valda uppfærslurásin styður ekki uppfærslur fyrir vefþjóninn.", + "Updater" : "Uppfærslustýring", "At the moment only manual updates are supported on your environment. This is very likely the case because functions such as shell_exec are not available." : "Í augnablikinu er einungis stuðningur við handvirkar uppfærslur á kerfinu þínu. Það gerist mjög líklega vegna þess að aðgerðir á borð við shell_exec eru ekki tiltækar." },"pluralForm" :"nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);" } \ No newline at end of file diff --git a/apps/updatenotification/l10n/it.js b/apps/updatenotification/l10n/it.js index 80d8633b017ba..ace4a78e534c0 100644 --- a/apps/updatenotification/l10n/it.js +++ b/apps/updatenotification/l10n/it.js @@ -6,7 +6,6 @@ OC.L10N.register( "Updated channel" : "Canale di aggiornamento", "Nextcloud core" : "Componente principale di Nextcloud", "Update for %1$s to version %2$s is available." : "È disponibile l'aggiornamento di %1$s alla versione %2$s.", - "Updater" : "Strumento di aggiornamento", "A new version is available: %s" : "Una nuova versione è disponibile: %s", "Open updater" : "Apri lo strumento di aggiornamento", "Your version is up to date." : "La tua versione è aggiornata.", @@ -16,6 +15,7 @@ OC.L10N.register( "Notify members of the following groups about available updates:" : "Notifica i membri dei seguenti gruppi sugli aggiornamenti disponibili:", "Only notification for app updates are available." : "Sono disponibili solo le notifiche per gli aggiornamenti delle applicazioni.", "The selected update channel makes dedicated notifications for the server obsolete." : "Il canale di aggiornamento selezionato rende obsolete le notifiche dedicate al server.", - "The selected update channel does not support updates of the server." : "Il canale di aggiornamento selezionato non supporta gli aggiornamenti del server." + "The selected update channel does not support updates of the server." : "Il canale di aggiornamento selezionato non supporta gli aggiornamenti del server.", + "Updater" : "Strumento di aggiornamento" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/updatenotification/l10n/it.json b/apps/updatenotification/l10n/it.json index 6d3167d392ec7..98e4a727596cb 100644 --- a/apps/updatenotification/l10n/it.json +++ b/apps/updatenotification/l10n/it.json @@ -4,7 +4,6 @@ "Updated channel" : "Canale di aggiornamento", "Nextcloud core" : "Componente principale di Nextcloud", "Update for %1$s to version %2$s is available." : "È disponibile l'aggiornamento di %1$s alla versione %2$s.", - "Updater" : "Strumento di aggiornamento", "A new version is available: %s" : "Una nuova versione è disponibile: %s", "Open updater" : "Apri lo strumento di aggiornamento", "Your version is up to date." : "La tua versione è aggiornata.", @@ -14,6 +13,7 @@ "Notify members of the following groups about available updates:" : "Notifica i membri dei seguenti gruppi sugli aggiornamenti disponibili:", "Only notification for app updates are available." : "Sono disponibili solo le notifiche per gli aggiornamenti delle applicazioni.", "The selected update channel makes dedicated notifications for the server obsolete." : "Il canale di aggiornamento selezionato rende obsolete le notifiche dedicate al server.", - "The selected update channel does not support updates of the server." : "Il canale di aggiornamento selezionato non supporta gli aggiornamenti del server." + "The selected update channel does not support updates of the server." : "Il canale di aggiornamento selezionato non supporta gli aggiornamenti del server.", + "Updater" : "Strumento di aggiornamento" },"pluralForm" :"nplurals=2; plural=(n != 1);" } \ No newline at end of file diff --git a/apps/updatenotification/l10n/ja.js b/apps/updatenotification/l10n/ja.js index 5b48c91167e42..625fe0568c3c1 100644 --- a/apps/updatenotification/l10n/ja.js +++ b/apps/updatenotification/l10n/ja.js @@ -6,7 +6,6 @@ OC.L10N.register( "Updated channel" : "アップデートチャンネル", "Nextcloud core" : "Nextcloud core", "Update for %1$s to version %2$s is available." : "%1$s に対するバージョン %2$s へアップデートが利用可能です。", - "Updater" : "アップデート", "A new version is available: %s" : "新しいバージョンが利用可能: %s", "Open updater" : "アップデーターを開く", "Your version is up to date." : "最新版です。", @@ -16,6 +15,7 @@ OC.L10N.register( "Notify members of the following groups about available updates:" : "次のグループのメンバーに対してアップデートのメッセージが表示されます:", "Only notification for app updates are available." : "アプリ更新情報があるときのみ通知する。", "The selected update channel makes dedicated notifications for the server obsolete." : "選択した更新チャネルでは、廃止サーバーについて専用の通知を行います。", - "The selected update channel does not support updates of the server." : "選択したチャンネルでは、サーバーのアップデートをサポートしていません。" + "The selected update channel does not support updates of the server." : "選択したチャンネルでは、サーバーのアップデートをサポートしていません。", + "Updater" : "アップデート" }, "nplurals=1; plural=0;"); diff --git a/apps/updatenotification/l10n/ja.json b/apps/updatenotification/l10n/ja.json index 6a370be805ca7..ff4303431d844 100644 --- a/apps/updatenotification/l10n/ja.json +++ b/apps/updatenotification/l10n/ja.json @@ -4,7 +4,6 @@ "Updated channel" : "アップデートチャンネル", "Nextcloud core" : "Nextcloud core", "Update for %1$s to version %2$s is available." : "%1$s に対するバージョン %2$s へアップデートが利用可能です。", - "Updater" : "アップデート", "A new version is available: %s" : "新しいバージョンが利用可能: %s", "Open updater" : "アップデーターを開く", "Your version is up to date." : "最新版です。", @@ -14,6 +13,7 @@ "Notify members of the following groups about available updates:" : "次のグループのメンバーに対してアップデートのメッセージが表示されます:", "Only notification for app updates are available." : "アプリ更新情報があるときのみ通知する。", "The selected update channel makes dedicated notifications for the server obsolete." : "選択した更新チャネルでは、廃止サーバーについて専用の通知を行います。", - "The selected update channel does not support updates of the server." : "選択したチャンネルでは、サーバーのアップデートをサポートしていません。" + "The selected update channel does not support updates of the server." : "選択したチャンネルでは、サーバーのアップデートをサポートしていません。", + "Updater" : "アップデート" },"pluralForm" :"nplurals=1; plural=0;" } \ No newline at end of file diff --git a/apps/updatenotification/l10n/nl.js b/apps/updatenotification/l10n/nl.js index 008753d66077d..cb0b3700fade8 100644 --- a/apps/updatenotification/l10n/nl.js +++ b/apps/updatenotification/l10n/nl.js @@ -6,7 +6,6 @@ OC.L10N.register( "Updated channel" : "Bijgewerkt kanaal", "Nextcloud core" : "Nextcloud core", "Update for %1$s to version %2$s is available." : "Update voor %1$s naar versie %2$s is beschikbaar.", - "Updater" : "Updater", "A new version is available: %s" : "Er is een nieuwe versie beschikbaar: %s", "Open updater" : "Open updater", "Your version is up to date." : "Je versie is up to date.", @@ -16,6 +15,7 @@ OC.L10N.register( "Notify members of the following groups about available updates:" : "Geef een melding over beschikbare updates aan leden van de volgende groepen:", "Only notification for app updates are available." : "Er zijn alleen meldingen voor apps beschikbaar.", "The selected update channel makes dedicated notifications for the server obsolete." : "Het geselecteerde updatekanaal maakt overbodig om serverspecifieke meldingen apart te genereren.", - "The selected update channel does not support updates of the server." : "Het geselecteerde updatekanaal ondersteunt geen updates voor de server." + "The selected update channel does not support updates of the server." : "Het geselecteerde updatekanaal ondersteunt geen updates voor de server.", + "Updater" : "Updater" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/updatenotification/l10n/nl.json b/apps/updatenotification/l10n/nl.json index a37fbd27b32aa..9e571fb0f7819 100644 --- a/apps/updatenotification/l10n/nl.json +++ b/apps/updatenotification/l10n/nl.json @@ -4,7 +4,6 @@ "Updated channel" : "Bijgewerkt kanaal", "Nextcloud core" : "Nextcloud core", "Update for %1$s to version %2$s is available." : "Update voor %1$s naar versie %2$s is beschikbaar.", - "Updater" : "Updater", "A new version is available: %s" : "Er is een nieuwe versie beschikbaar: %s", "Open updater" : "Open updater", "Your version is up to date." : "Je versie is up to date.", @@ -14,6 +13,7 @@ "Notify members of the following groups about available updates:" : "Geef een melding over beschikbare updates aan leden van de volgende groepen:", "Only notification for app updates are available." : "Er zijn alleen meldingen voor apps beschikbaar.", "The selected update channel makes dedicated notifications for the server obsolete." : "Het geselecteerde updatekanaal maakt overbodig om serverspecifieke meldingen apart te genereren.", - "The selected update channel does not support updates of the server." : "Het geselecteerde updatekanaal ondersteunt geen updates voor de server." + "The selected update channel does not support updates of the server." : "Het geselecteerde updatekanaal ondersteunt geen updates voor de server.", + "Updater" : "Updater" },"pluralForm" :"nplurals=2; plural=(n != 1);" } \ No newline at end of file diff --git a/apps/updatenotification/l10n/pt_BR.js b/apps/updatenotification/l10n/pt_BR.js index d606b4278e734..521e5a48186a9 100644 --- a/apps/updatenotification/l10n/pt_BR.js +++ b/apps/updatenotification/l10n/pt_BR.js @@ -6,7 +6,6 @@ OC.L10N.register( "Updated channel" : "Canal atualizado", "Nextcloud core" : "Núcleo Nextcloud", "Update for %1$s to version %2$s is available." : "Atualização de %1$s para versão %2$s está disponível.", - "Updater" : "Atualizador", "A new version is available: %s" : "Uma nova versão está disponível: %s", "Open updater" : "Abrir o atualizador", "Your version is up to date." : "Sua versão está atualizada.", @@ -16,6 +15,7 @@ OC.L10N.register( "Notify members of the following groups about available updates:" : "Notificar membros dos seguintes grupos sobre atualizações disponíveis.", "Only notification for app updates are available." : "Só está disponível notificação para atualizações de aplicativos.", "The selected update channel makes dedicated notifications for the server obsolete." : "O canal de atualização selecionado fornece notificações dedicadas para o servidor desatualizado.", - "The selected update channel does not support updates of the server." : "O canal de atualização selecionado não fornece suporte a atualizações do servidor." + "The selected update channel does not support updates of the server." : "O canal de atualização selecionado não fornece suporte a atualizações do servidor.", + "Updater" : "Atualizador" }, "nplurals=2; plural=(n > 1);"); diff --git a/apps/updatenotification/l10n/pt_BR.json b/apps/updatenotification/l10n/pt_BR.json index 02da300a086f3..a4f26d6a27c7c 100644 --- a/apps/updatenotification/l10n/pt_BR.json +++ b/apps/updatenotification/l10n/pt_BR.json @@ -4,7 +4,6 @@ "Updated channel" : "Canal atualizado", "Nextcloud core" : "Núcleo Nextcloud", "Update for %1$s to version %2$s is available." : "Atualização de %1$s para versão %2$s está disponível.", - "Updater" : "Atualizador", "A new version is available: %s" : "Uma nova versão está disponível: %s", "Open updater" : "Abrir o atualizador", "Your version is up to date." : "Sua versão está atualizada.", @@ -14,6 +13,7 @@ "Notify members of the following groups about available updates:" : "Notificar membros dos seguintes grupos sobre atualizações disponíveis.", "Only notification for app updates are available." : "Só está disponível notificação para atualizações de aplicativos.", "The selected update channel makes dedicated notifications for the server obsolete." : "O canal de atualização selecionado fornece notificações dedicadas para o servidor desatualizado.", - "The selected update channel does not support updates of the server." : "O canal de atualização selecionado não fornece suporte a atualizações do servidor." + "The selected update channel does not support updates of the server." : "O canal de atualização selecionado não fornece suporte a atualizações do servidor.", + "Updater" : "Atualizador" },"pluralForm" :"nplurals=2; plural=(n > 1);" } \ No newline at end of file diff --git a/apps/updatenotification/l10n/ru.js b/apps/updatenotification/l10n/ru.js index 22ab2c588bb7e..eb2c66516d5bd 100644 --- a/apps/updatenotification/l10n/ru.js +++ b/apps/updatenotification/l10n/ru.js @@ -6,7 +6,6 @@ OC.L10N.register( "Updated channel" : "Обновленный канал", "Nextcloud core" : "Nextcloud core", "Update for %1$s to version %2$s is available." : "Доступно обновление для %1$s до версии %2$s.", - "Updater" : "Обновление", "A new version is available: %s" : "Доступна новая версия: %s", "Open updater" : "Открыть окно обновления", "Your version is up to date." : "Версия не требует обновления.", @@ -16,6 +15,7 @@ OC.L10N.register( "Notify members of the following groups about available updates:" : "Уведомить членов следующих групп о наличии доступных обновлений:", "Only notification for app updates are available." : "Только уведомления об обновлении приложений доступны.", "The selected update channel makes dedicated notifications for the server obsolete." : "Выбранный канал обновлений высылает специальные уведомления, если сервер устарел.", - "The selected update channel does not support updates of the server." : "Выбранный канал обновлений не поддерживает обновление сервера." + "The selected update channel does not support updates of the server." : "Выбранный канал обновлений не поддерживает обновление сервера.", + "Updater" : "Обновление" }, "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/updatenotification/l10n/ru.json b/apps/updatenotification/l10n/ru.json index 38ec4f3a29b8b..9f1add9509fec 100644 --- a/apps/updatenotification/l10n/ru.json +++ b/apps/updatenotification/l10n/ru.json @@ -4,7 +4,6 @@ "Updated channel" : "Обновленный канал", "Nextcloud core" : "Nextcloud core", "Update for %1$s to version %2$s is available." : "Доступно обновление для %1$s до версии %2$s.", - "Updater" : "Обновление", "A new version is available: %s" : "Доступна новая версия: %s", "Open updater" : "Открыть окно обновления", "Your version is up to date." : "Версия не требует обновления.", @@ -14,6 +13,7 @@ "Notify members of the following groups about available updates:" : "Уведомить членов следующих групп о наличии доступных обновлений:", "Only notification for app updates are available." : "Только уведомления об обновлении приложений доступны.", "The selected update channel makes dedicated notifications for the server obsolete." : "Выбранный канал обновлений высылает специальные уведомления, если сервер устарел.", - "The selected update channel does not support updates of the server." : "Выбранный канал обновлений не поддерживает обновление сервера." + "The selected update channel does not support updates of the server." : "Выбранный канал обновлений не поддерживает обновление сервера.", + "Updater" : "Обновление" },"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/updatenotification/l10n/sl.js b/apps/updatenotification/l10n/sl.js index 879f98f053ae7..5431e7404a64e 100644 --- a/apps/updatenotification/l10n/sl.js +++ b/apps/updatenotification/l10n/sl.js @@ -6,13 +6,13 @@ OC.L10N.register( "Updated channel" : "Posodobljen kanal", "Nextcloud core" : "Nextcloud jedro", "Update for %1$s to version %2$s is available." : "Posodobitev %1$s na različico %2$s je na voljo.", - "Updater" : "Posodabljalnik", "A new version is available: %s" : "Na voljo je nova različica: %s", "Open updater" : "Odpri posodabljalnik", "Your version is up to date." : "Nameščena je najnovejša različica.", "Checked on %s" : "Zadnjič preverjeno %s", "Update channel:" : "Posodobi kanal:", "You can always update to a newer version / experimental channel. But you can never downgrade to a more stable channel." : "Nadgradnja na višjo različico ali preizkusni kanal je vedno mogoča, ne pa tudi povrnitev na predhodno, bolj stabilno različico.", - "Notify members of the following groups about available updates:" : "Obvestite člane naslednjih skupin o posodobitvah, ki so na voljo:" + "Notify members of the following groups about available updates:" : "Obvestite člane naslednjih skupin o posodobitvah, ki so na voljo:", + "Updater" : "Posodabljalnik" }, "nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);"); diff --git a/apps/updatenotification/l10n/sl.json b/apps/updatenotification/l10n/sl.json index b0245dcbec520..77bc54a9dc941 100644 --- a/apps/updatenotification/l10n/sl.json +++ b/apps/updatenotification/l10n/sl.json @@ -4,13 +4,13 @@ "Updated channel" : "Posodobljen kanal", "Nextcloud core" : "Nextcloud jedro", "Update for %1$s to version %2$s is available." : "Posodobitev %1$s na različico %2$s je na voljo.", - "Updater" : "Posodabljalnik", "A new version is available: %s" : "Na voljo je nova različica: %s", "Open updater" : "Odpri posodabljalnik", "Your version is up to date." : "Nameščena je najnovejša različica.", "Checked on %s" : "Zadnjič preverjeno %s", "Update channel:" : "Posodobi kanal:", "You can always update to a newer version / experimental channel. But you can never downgrade to a more stable channel." : "Nadgradnja na višjo različico ali preizkusni kanal je vedno mogoča, ne pa tudi povrnitev na predhodno, bolj stabilno različico.", - "Notify members of the following groups about available updates:" : "Obvestite člane naslednjih skupin o posodobitvah, ki so na voljo:" + "Notify members of the following groups about available updates:" : "Obvestite člane naslednjih skupin o posodobitvah, ki so na voljo:", + "Updater" : "Posodabljalnik" },"pluralForm" :"nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);" } \ No newline at end of file diff --git a/apps/updatenotification/l10n/tr.js b/apps/updatenotification/l10n/tr.js index eb0a2558cb191..7474f1b930430 100644 --- a/apps/updatenotification/l10n/tr.js +++ b/apps/updatenotification/l10n/tr.js @@ -6,7 +6,6 @@ OC.L10N.register( "Updated channel" : "Kanal güncellendi", "Nextcloud core" : "Nextcloud çekirdeği", "Update for %1$s to version %2$s is available." : "%1$s sürümünden %2$s sürümüne güncelleme mevcut.", - "Updater" : "Güncelleyici", "A new version is available: %s" : "Yeni bir sürüm mevcut: %s", "Open updater" : "Güncelleyiciyi aç", "Your version is up to date." : "Sürümünüz güncel.", @@ -16,6 +15,7 @@ OC.L10N.register( "Notify members of the following groups about available updates:" : "Aşağıdaki grupların üyelerini mevcut güncellelemeler hakkında bilgilendir:", "Only notification for app updates are available." : "Sadece uygulama bildirim güncellemeleri var.", "The selected update channel makes dedicated notifications for the server obsolete." : "Seçilen güncelleme kanalı sunucusnun eski olduğu bildirimine sahip.", - "The selected update channel does not support updates of the server." : "Seçilen güncelleme nakalı sunucunun güncellemelerini desteklemiyor." + "The selected update channel does not support updates of the server." : "Seçilen güncelleme nakalı sunucunun güncellemelerini desteklemiyor.", + "Updater" : "Güncelleyici" }, "nplurals=2; plural=(n > 1);"); diff --git a/apps/updatenotification/l10n/tr.json b/apps/updatenotification/l10n/tr.json index 566771e37951d..ffbae2e0bb3ee 100644 --- a/apps/updatenotification/l10n/tr.json +++ b/apps/updatenotification/l10n/tr.json @@ -4,7 +4,6 @@ "Updated channel" : "Kanal güncellendi", "Nextcloud core" : "Nextcloud çekirdeği", "Update for %1$s to version %2$s is available." : "%1$s sürümünden %2$s sürümüne güncelleme mevcut.", - "Updater" : "Güncelleyici", "A new version is available: %s" : "Yeni bir sürüm mevcut: %s", "Open updater" : "Güncelleyiciyi aç", "Your version is up to date." : "Sürümünüz güncel.", @@ -14,6 +13,7 @@ "Notify members of the following groups about available updates:" : "Aşağıdaki grupların üyelerini mevcut güncellelemeler hakkında bilgilendir:", "Only notification for app updates are available." : "Sadece uygulama bildirim güncellemeleri var.", "The selected update channel makes dedicated notifications for the server obsolete." : "Seçilen güncelleme kanalı sunucusnun eski olduğu bildirimine sahip.", - "The selected update channel does not support updates of the server." : "Seçilen güncelleme nakalı sunucunun güncellemelerini desteklemiyor." + "The selected update channel does not support updates of the server." : "Seçilen güncelleme nakalı sunucunun güncellemelerini desteklemiyor.", + "Updater" : "Güncelleyici" },"pluralForm" :"nplurals=2; plural=(n > 1);" } \ No newline at end of file diff --git a/apps/updatenotification/lib/Controller/AdminController.php b/apps/updatenotification/lib/Controller/AdminController.php index ada04bdd68cc6..ebb3fa642f1e3 100644 --- a/apps/updatenotification/lib/Controller/AdminController.php +++ b/apps/updatenotification/lib/Controller/AdminController.php @@ -34,8 +34,9 @@ use OCP\IL10N; use OCP\IRequest; use OCP\Security\ISecureRandom; +use OCP\Settings\ISettings; -class AdminController extends Controller { +class AdminController extends Controller implements ISettings { /** @var IJobList */ private $jobList; /** @var ISecureRandom */ @@ -144,4 +145,29 @@ public function createCredentials() { return new DataResponse($newToken); } + + /** + * @return TemplateResponse returns the instance with all parameters set, ready to be rendered + */ + public function getForm() { + return $this->displayPanel(); + } + + /** + * @return string the section ID, e.g. 'sharing' + */ + public function getSection() { + return 'server'; + } + + /** + * @return int whether the form should be rather on the top or bottom of + * the admin section. The forms are arranged in ascending order of the + * priority values. It is required to return a value between 0 and 100. + * + * E.g.: 70 + */ + public function getPriority() { + return 1; + } } diff --git a/apps/updatenotification/templates/admin.php b/apps/updatenotification/templates/admin.php index b1cc76534e357..3c3d6cbd4cd8b 100644 --- a/apps/updatenotification/templates/admin.php +++ b/apps/updatenotification/templates/admin.php @@ -13,9 +13,7 @@ /** @var string $currentChannel */ $currentChannel = $_['currentChannel']; ?> -
-

t('Updater')); ?>

- + t('A new version is available: %s', [$newVersionString])); ?> diff --git a/apps/updatenotification/tests/Controller/AdminControllerTest.php b/apps/updatenotification/tests/Controller/AdminControllerTest.php index 0343542ef4187..336edffc9578f 100644 --- a/apps/updatenotification/tests/Controller/AdminControllerTest.php +++ b/apps/updatenotification/tests/Controller/AdminControllerTest.php @@ -59,15 +59,15 @@ class AdminControllerTest extends TestCase { public function setUp() { parent::setUp(); - $this->request = $this->getMock('\\OCP\\IRequest'); - $this->jobList = $this->getMock('\\OCP\\BackgroundJob\\IJobList'); - $this->secureRandom = $this->getMock('\\OCP\\Security\\ISecureRandom'); - $this->config = $this->getMock('\\OCP\\IConfig'); - $this->timeFactory = $this->getMock('\\OCP\\AppFramework\\Utility\\ITimeFactory'); - $this->l10n = $this->getMock('\\OCP\\IL10N'); + $this->request = $this->getMockBuilder('\\OCP\\IRequest')->getMock(); + $this->jobList = $this->getMockBuilder('\\OCP\\BackgroundJob\\IJobList')->getMock(); + $this->secureRandom = $this->getMockBuilder('\\OCP\\Security\\ISecureRandom')->getMock(); + $this->config = $this->getMockBuilder('\\OCP\\IConfig')->getMock(); + $this->timeFactory = $this->getMockBuilder('\\OCP\\AppFramework\\Utility\\ITimeFactory')->getMock(); + $this->l10n = $this->getMockBuilder('\\OCP\\IL10N')->getMock(); $this->updateChecker = $this->getMockBuilder('\\OCA\\UpdateNotification\\UpdateChecker') ->disableOriginalConstructor()->getMock(); - $this->dateTimeFormatter = $this->getMock('\\OCP\\IDateTimeFormatter'); + $this->dateTimeFormatter = $this->getMockBuilder('\\OCP\\IDateTimeFormatter')->getMock(); $this->adminController = new AdminController( 'updatenotification', @@ -197,4 +197,12 @@ public function testCreateCredentials() { $expected = new DataResponse('MyGeneratedToken'); $this->assertEquals($expected, $this->adminController->createCredentials()); } + + public function testGetSection() { + $this->assertSame('server', $this->adminController->getSection()); + } + + public function testGetPriority() { + $this->assertSame(1, $this->adminController->getPriority()); + } } diff --git a/apps/updatenotification/tests/Notification/BackgroundJobTest.php b/apps/updatenotification/tests/Notification/BackgroundJobTest.php index c60a142957685..c3a4c28830d30 100644 --- a/apps/updatenotification/tests/Notification/BackgroundJobTest.php +++ b/apps/updatenotification/tests/Notification/BackgroundJobTest.php @@ -51,12 +51,12 @@ class BackgroundJobTest extends TestCase { public function setUp() { parent::setUp(); - $this->config = $this->getMock('OCP\IConfig'); - $this->notificationManager = $this->getMock('OCP\Notification\IManager'); - $this->groupManager = $this->getMock('OCP\IGroupManager'); - $this->appManager = $this->getMock('OCP\App\IAppManager'); - $this->client = $this->getMock('OCP\Http\Client\IClientService'); - $this->urlGenerator = $this->getMock('OCP\IURLGenerator'); + $this->config = $this->getMockBuilder('OCP\IConfig')->getMock(); + $this->notificationManager = $this->getMockBuilder('OCP\Notification\IManager')->getMock(); + $this->groupManager = $this->getMockBuilder('OCP\IGroupManager')->getMock(); + $this->appManager = $this->getMockBuilder('OCP\App\IAppManager')->getMock(); + $this->client = $this->getMockBuilder('OCP\Http\Client\IClientService')->getMock(); + $this->urlGenerator = $this->getMockBuilder('OCP\IURLGenerator')->getMock(); } /** @@ -279,7 +279,7 @@ public function testCreateNotifications($app, $version, $url, $lastNotification, } if ($createNotification) { - $notification = $this->getMock('OCP\Notification\INotification'); + $notification = $this->getMockBuilder('OCP\Notification\INotification')->getMock(); $notification->expects($this->once()) ->method('setApp') ->with('updatenotification') @@ -380,7 +380,7 @@ public function dataDeleteOutdatedNotifications() { * @param string $version */ public function testDeleteOutdatedNotifications($app, $version) { - $notification = $this->getMock('OCP\Notification\INotification'); + $notification = $this->getMockBuilder('OCP\Notification\INotification')->getMock(); $notification->expects($this->once()) ->method('setApp') ->with('updatenotification') @@ -408,7 +408,7 @@ public function testDeleteOutdatedNotifications($app, $version) { protected function getUsers(array $userIds) { $users = []; foreach ($userIds as $uid) { - $user = $this->getMock('OCP\IUser'); + $user = $this->getMockBuilder('OCP\IUser')->getMock(); $user->expects($this->any()) ->method('getUID') ->willReturn($uid); @@ -422,7 +422,7 @@ protected function getUsers(array $userIds) { * @return \OCP\IGroup|\PHPUnit_Framework_MockObject_MockObject */ protected function getGroup($gid) { - $group = $this->getMock('OCP\IGroup'); + $group = $this->getMockBuilder('OCP\IGroup')->getMock(); $group->expects($this->any()) ->method('getGID') ->willReturn($gid); diff --git a/apps/updatenotification/tests/Notification/NotifierTest.php b/apps/updatenotification/tests/Notification/NotifierTest.php index 8848a3124fbe3..e5ccb291b5c90 100644 --- a/apps/updatenotification/tests/Notification/NotifierTest.php +++ b/apps/updatenotification/tests/Notification/NotifierTest.php @@ -38,8 +38,8 @@ class NotifierTest extends TestCase { public function setUp() { parent::setUp(); - $this->notificationManager = $this->getMock('OCP\Notification\IManager'); - $this->l10nFactory = $this->getMock('OCP\L10n\IFactory'); + $this->notificationManager = $this->getMockBuilder('OCP\Notification\IManager')->getMock(); + $this->l10nFactory = $this->getMockBuilder('OCP\L10n\IFactory')->getMock(); } /** @@ -81,7 +81,7 @@ public function dataUpdateAlreadyInstalledCheck() { public function testUpdateAlreadyInstalledCheck($versionNotification, $versionInstalled, $exception) { $notifier = $this->getNotifier(); - $notification = $this->getMock('OCP\Notification\INotification'); + $notification = $this->getMockBuilder('OCP\Notification\INotification')->getMock(); $notification->expects($this->once()) ->method('getObjectId') ->willReturn($versionNotification); diff --git a/apps/updatenotification/tests/ResetTokenBackgroundJobTest.php b/apps/updatenotification/tests/ResetTokenBackgroundJobTest.php index 71b72a40021cb..a52d46040cdf2 100644 --- a/apps/updatenotification/tests/ResetTokenBackgroundJobTest.php +++ b/apps/updatenotification/tests/ResetTokenBackgroundJobTest.php @@ -37,8 +37,8 @@ class ResetTokenBackgroundJobTest extends TestCase { public function setUp() { parent::setUp(); - $this->config = $this->getMock('\\OCP\\IConfig'); - $this->timeFactory = $this->getMock('\\OCP\\AppFramework\\Utility\\ITimeFactory'); + $this->config = $this->getMockBuilder('\\OCP\\IConfig')->getMock(); + $this->timeFactory = $this->getMockBuilder('\\OCP\\AppFramework\\Utility\\ITimeFactory')->getMock(); $this->resetTokenBackgroundJob = new ResetTokenBackgroundJob($this->config, $this->timeFactory); } diff --git a/apps/user_ldap/appinfo/app.php b/apps/user_ldap/appinfo/app.php index 10cc003a3f5a8..caacbea5619c5 100644 --- a/apps/user_ldap/appinfo/app.php +++ b/apps/user_ldap/appinfo/app.php @@ -27,8 +27,6 @@ * */ -OCP\App::registerAdmin('user_ldap', 'settings'); - $helper = new \OCA\User_LDAP\Helper(); $configPrefixes = $helper->getServerConfigurationPrefixes(true); $ldapWrapper = new OCA\User_LDAP\LDAP(); diff --git a/apps/user_ldap/appinfo/info.xml b/apps/user_ldap/appinfo/info.xml index b0984dcf62408..b16824925c0fe 100644 --- a/apps/user_ldap/appinfo/info.xml +++ b/apps/user_ldap/appinfo/info.xml @@ -9,7 +9,7 @@ A user logs into ownCloud with their LDAP or AD credentials, and is granted acce AGPL Dominik Schmidt and Arthur Schiwon - 1.1.0 + 1.1.1 @@ -27,4 +27,9 @@ A user logs into ownCloud with their LDAP or AD credentials, and is granted acce OCA\User_LDAP\Jobs\UpdateGroups OCA\User_LDAP\Jobs\CleanUp + + + OCA\User_LDAP\Settings\Admin + OCA\User_LDAP\Settings\Section + diff --git a/apps/user_ldap/l10n/ast.js b/apps/user_ldap/l10n/ast.js index 029e3417674c1..26f04fa976eb9 100644 --- a/apps/user_ldap/l10n/ast.js +++ b/apps/user_ldap/l10n/ast.js @@ -52,10 +52,6 @@ OC.L10N.register( "Could not detect user display name attribute. Please specify it yourself in advanced ldap settings." : "Nun deteutamos el nome d'atributu na pantalla d'usuariu. Por favor especifícalu nos axustes avanzaos de ldap", "Could not find the desired feature" : "Nun pudo alcontrase la carauterística deseyada", "Invalid Host" : "Host inválidu", - "Server" : "Sirvidor", - "Users" : "Usuarios", - "Login Attributes" : "Los atributos d'aniciu de sesión", - "Groups" : "Grupos", "Test Configuration" : "Configuración de prueba", "Help" : "Ayuda", "Groups meeting these criteria are available in %s:" : "Los grupos que cumplen estos criterios tán disponibles en %s:", @@ -104,6 +100,10 @@ OC.L10N.register( "Back" : "Atrás", "Continue" : "Continuar", "LDAP" : "LDAP", + "Server" : "Sirvidor", + "Users" : "Usuarios", + "Login Attributes" : "Los atributos d'aniciu de sesión", + "Groups" : "Grupos", "Expert" : "Espertu", "Advanced" : "Avanzáu", "Warning: Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behavior. Please ask your system administrator to disable one of them." : "Avisu: Les apps user_ldap y user_webdavauth son incompatibles. Pues esperimentar un comportamientu inesperáu. Entruga al to alministrador de sistemes pa desactivar una d'elles.", diff --git a/apps/user_ldap/l10n/ast.json b/apps/user_ldap/l10n/ast.json index 9625518cff79e..512a7ae9913cc 100644 --- a/apps/user_ldap/l10n/ast.json +++ b/apps/user_ldap/l10n/ast.json @@ -50,10 +50,6 @@ "Could not detect user display name attribute. Please specify it yourself in advanced ldap settings." : "Nun deteutamos el nome d'atributu na pantalla d'usuariu. Por favor especifícalu nos axustes avanzaos de ldap", "Could not find the desired feature" : "Nun pudo alcontrase la carauterística deseyada", "Invalid Host" : "Host inválidu", - "Server" : "Sirvidor", - "Users" : "Usuarios", - "Login Attributes" : "Los atributos d'aniciu de sesión", - "Groups" : "Grupos", "Test Configuration" : "Configuración de prueba", "Help" : "Ayuda", "Groups meeting these criteria are available in %s:" : "Los grupos que cumplen estos criterios tán disponibles en %s:", @@ -102,6 +98,10 @@ "Back" : "Atrás", "Continue" : "Continuar", "LDAP" : "LDAP", + "Server" : "Sirvidor", + "Users" : "Usuarios", + "Login Attributes" : "Los atributos d'aniciu de sesión", + "Groups" : "Grupos", "Expert" : "Espertu", "Advanced" : "Avanzáu", "Warning: Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behavior. Please ask your system administrator to disable one of them." : "Avisu: Les apps user_ldap y user_webdavauth son incompatibles. Pues esperimentar un comportamientu inesperáu. Entruga al to alministrador de sistemes pa desactivar una d'elles.", diff --git a/apps/user_ldap/l10n/cs_CZ.js b/apps/user_ldap/l10n/cs_CZ.js index 8d20d122bf486..5c27108ebc76d 100644 --- a/apps/user_ldap/l10n/cs_CZ.js +++ b/apps/user_ldap/l10n/cs_CZ.js @@ -52,10 +52,6 @@ OC.L10N.register( "Could not detect user display name attribute. Please specify it yourself in advanced ldap settings." : "Nelze detekovat atribut pro zobrazení jména uživatele. Upřesněte ho prosím sami v rozšířeném nastavení LDAP.", "Could not find the desired feature" : "Nelze nalézt požadovanou vlastnost", "Invalid Host" : "Neplatný hostitel", - "Server" : "Server", - "Users" : "Uživatelé", - "Login Attributes" : "Přihlašovací atributy", - "Groups" : "Skupiny", "Test Configuration" : "Vyzkoušet nastavení", "Help" : "Nápověda", "Groups meeting these criteria are available in %s:" : "Skupiny splňující tyto podmínky jsou k dispozici v %s:", @@ -104,6 +100,10 @@ OC.L10N.register( "Back" : "Zpět", "Continue" : "Pokračovat", "LDAP" : "LDAP", + "Server" : "Server", + "Users" : "Uživatelé", + "Login Attributes" : "Přihlašovací atributy", + "Groups" : "Skupiny", "Expert" : "Expertní", "Advanced" : "Pokročilé", "Warning: Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behavior. Please ask your system administrator to disable one of them." : "Varování: Aplikace user_ldap a user_webdavauth jsou vzájemně nekompatibilní. Můžete zaznamenat neočekávané chování. Požádejte prosím svého správce systému o zakázání jedné z nich.", @@ -158,6 +158,8 @@ OC.L10N.register( "Username-LDAP User Mapping" : "Mapování uživatelských jmen z LDAPu", "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." : "Uživatelská jména jsou používána pro uchovávání a přiřazování (meta)dat. Pro správnou identifikaci a rozpoznání uživatelů bude mít každý LDAP uživatel interní uživatelské jméno. To vyžaduje mapování uživatelských jmen na uživatele LDAP. Vytvořené uživatelské jméno je mapováno na UUID uživatele v LDAP. DN informace je navíc udržována v paměti pro snížení interakce s LDAP, ale není používána pro identifikaci. Pokud se DN změní, bude to správně rozpoznáno. Interní uživatelské jméno se používá celé. Vyčištění mapování zanechá zbytky všude. Vyčištění navíc není specifické pro každou konfiguraci, bude mít vliv na všechny LDAP konfigurace! Nikdy nečistěte mapování v produkčním prostředí, ale pouze v testovací nebo experimentální fázi.", "Clear Username-LDAP User Mapping" : "Zrušit mapování uživatelských jmen LDAPu", - "Clear Groupname-LDAP Group Mapping" : "Zrušit mapování názvů skupin LDAPu" + "Clear Groupname-LDAP Group Mapping" : "Zrušit mapování názvů skupin LDAPu", + "Limit %s access to users meeting these criteria:" : "Přístup ke %s je omezen na uživatele odpovídající těmto kritériím:", + "By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [ a-zA-Z0-9_.@- ]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder. It is also a part of remote URLs, for instance for all *DAV services. With this setting, the default behavior can be overridden. To achieve a similar behavior as before ownCloud 5 enter the user display name attribute in the following field. Leave it empty for default behavior. Changes will have effect only on newly mapped (added) LDAP users." : "Ve výchozím nastavení bude interní uživatelské jméno vytvořeno z atributu UUID. To zajišťuje, že je uživatelské jméno unikátní a znaky nemusí být převáděny. Interní uživatelské jméno má omezení, podle kterého jsou povoleny jen následující znaky [ a-zA-Z0-9_.@- ]. Ostatní znaky jsou nahrazeny jejich protějšky z ASCII nebo prostě vynechány. Při konfliktech bude přidáno/zvýšeno číslo. Interní uživatelské jméno slouží pro interní identifikaci uživatele. Je také výchozím názvem domovského adresáře uživatele. Je také součástí URL, např. pro služby *DAV. Tímto nastavením může být výchozí chování změněno. Pro dosažení podobného chování jako před ownCloud 5, zadejte atribut uživatelského jména do následujícího pole. Ponechte jej prázdné, chcete-li zachovat výchozí nastavení. Změny se projeví pouze u nově namapovaných (přidaných) uživatelů LDAP." }, "nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;"); diff --git a/apps/user_ldap/l10n/cs_CZ.json b/apps/user_ldap/l10n/cs_CZ.json index 3332adb58d93c..42822f2590f38 100644 --- a/apps/user_ldap/l10n/cs_CZ.json +++ b/apps/user_ldap/l10n/cs_CZ.json @@ -50,10 +50,6 @@ "Could not detect user display name attribute. Please specify it yourself in advanced ldap settings." : "Nelze detekovat atribut pro zobrazení jména uživatele. Upřesněte ho prosím sami v rozšířeném nastavení LDAP.", "Could not find the desired feature" : "Nelze nalézt požadovanou vlastnost", "Invalid Host" : "Neplatný hostitel", - "Server" : "Server", - "Users" : "Uživatelé", - "Login Attributes" : "Přihlašovací atributy", - "Groups" : "Skupiny", "Test Configuration" : "Vyzkoušet nastavení", "Help" : "Nápověda", "Groups meeting these criteria are available in %s:" : "Skupiny splňující tyto podmínky jsou k dispozici v %s:", @@ -102,6 +98,10 @@ "Back" : "Zpět", "Continue" : "Pokračovat", "LDAP" : "LDAP", + "Server" : "Server", + "Users" : "Uživatelé", + "Login Attributes" : "Přihlašovací atributy", + "Groups" : "Skupiny", "Expert" : "Expertní", "Advanced" : "Pokročilé", "Warning: Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behavior. Please ask your system administrator to disable one of them." : "Varování: Aplikace user_ldap a user_webdavauth jsou vzájemně nekompatibilní. Můžete zaznamenat neočekávané chování. Požádejte prosím svého správce systému o zakázání jedné z nich.", @@ -156,6 +156,8 @@ "Username-LDAP User Mapping" : "Mapování uživatelských jmen z LDAPu", "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." : "Uživatelská jména jsou používána pro uchovávání a přiřazování (meta)dat. Pro správnou identifikaci a rozpoznání uživatelů bude mít každý LDAP uživatel interní uživatelské jméno. To vyžaduje mapování uživatelských jmen na uživatele LDAP. Vytvořené uživatelské jméno je mapováno na UUID uživatele v LDAP. DN informace je navíc udržována v paměti pro snížení interakce s LDAP, ale není používána pro identifikaci. Pokud se DN změní, bude to správně rozpoznáno. Interní uživatelské jméno se používá celé. Vyčištění mapování zanechá zbytky všude. Vyčištění navíc není specifické pro každou konfiguraci, bude mít vliv na všechny LDAP konfigurace! Nikdy nečistěte mapování v produkčním prostředí, ale pouze v testovací nebo experimentální fázi.", "Clear Username-LDAP User Mapping" : "Zrušit mapování uživatelských jmen LDAPu", - "Clear Groupname-LDAP Group Mapping" : "Zrušit mapování názvů skupin LDAPu" + "Clear Groupname-LDAP Group Mapping" : "Zrušit mapování názvů skupin LDAPu", + "Limit %s access to users meeting these criteria:" : "Přístup ke %s je omezen na uživatele odpovídající těmto kritériím:", + "By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [ a-zA-Z0-9_.@- ]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder. It is also a part of remote URLs, for instance for all *DAV services. With this setting, the default behavior can be overridden. To achieve a similar behavior as before ownCloud 5 enter the user display name attribute in the following field. Leave it empty for default behavior. Changes will have effect only on newly mapped (added) LDAP users." : "Ve výchozím nastavení bude interní uživatelské jméno vytvořeno z atributu UUID. To zajišťuje, že je uživatelské jméno unikátní a znaky nemusí být převáděny. Interní uživatelské jméno má omezení, podle kterého jsou povoleny jen následující znaky [ a-zA-Z0-9_.@- ]. Ostatní znaky jsou nahrazeny jejich protějšky z ASCII nebo prostě vynechány. Při konfliktech bude přidáno/zvýšeno číslo. Interní uživatelské jméno slouží pro interní identifikaci uživatele. Je také výchozím názvem domovského adresáře uživatele. Je také součástí URL, např. pro služby *DAV. Tímto nastavením může být výchozí chování změněno. Pro dosažení podobného chování jako před ownCloud 5, zadejte atribut uživatelského jména do následujícího pole. Ponechte jej prázdné, chcete-li zachovat výchozí nastavení. Změny se projeví pouze u nově namapovaných (přidaných) uživatelů LDAP." },"pluralForm" :"nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;" } \ No newline at end of file diff --git a/apps/user_ldap/l10n/da.js b/apps/user_ldap/l10n/da.js index 74963b5f769e5..9faadadb45bad 100644 --- a/apps/user_ldap/l10n/da.js +++ b/apps/user_ldap/l10n/da.js @@ -51,10 +51,6 @@ OC.L10N.register( "Could not detect user display name attribute. Please specify it yourself in advanced ldap settings." : "Kunne ikke registrere navneattributten for visning af bruger. Angiv den venligst selv i de avancerede ldap-indstillinger.", "Could not find the desired feature" : "Fandt ikke den ønskede funktion", "Invalid Host" : "Ugyldig vært", - "Server" : "Server", - "Users" : "Brugere", - "Login Attributes" : "Login-attributter", - "Groups" : "Grupper", "Test Configuration" : "Test konfigurationen", "Help" : "Hjælp", "Groups meeting these criteria are available in %s:" : "Grupper som opfylder disse kriterier er tilgængelige i %s:", @@ -102,6 +98,10 @@ OC.L10N.register( "Back" : "Tilbage", "Continue" : "Videre", "LDAP" : "LDAP", + "Server" : "Server", + "Users" : "Brugere", + "Login Attributes" : "Login-attributter", + "Groups" : "Grupper", "Expert" : "Ekspert", "Advanced" : "Avanceret", "Warning: Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behavior. Please ask your system administrator to disable one of them." : "Advarsel: Apps'ene user_ldap og user_webdavauth er ikke kompatible. Du kan opleve uventet adfærd. Spørg venligst din systemadministrator om at slå én af dem fra.", diff --git a/apps/user_ldap/l10n/da.json b/apps/user_ldap/l10n/da.json index bc798f96acc3f..68c31f42be7f3 100644 --- a/apps/user_ldap/l10n/da.json +++ b/apps/user_ldap/l10n/da.json @@ -49,10 +49,6 @@ "Could not detect user display name attribute. Please specify it yourself in advanced ldap settings." : "Kunne ikke registrere navneattributten for visning af bruger. Angiv den venligst selv i de avancerede ldap-indstillinger.", "Could not find the desired feature" : "Fandt ikke den ønskede funktion", "Invalid Host" : "Ugyldig vært", - "Server" : "Server", - "Users" : "Brugere", - "Login Attributes" : "Login-attributter", - "Groups" : "Grupper", "Test Configuration" : "Test konfigurationen", "Help" : "Hjælp", "Groups meeting these criteria are available in %s:" : "Grupper som opfylder disse kriterier er tilgængelige i %s:", @@ -100,6 +96,10 @@ "Back" : "Tilbage", "Continue" : "Videre", "LDAP" : "LDAP", + "Server" : "Server", + "Users" : "Brugere", + "Login Attributes" : "Login-attributter", + "Groups" : "Grupper", "Expert" : "Ekspert", "Advanced" : "Avanceret", "Warning: Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behavior. Please ask your system administrator to disable one of them." : "Advarsel: Apps'ene user_ldap og user_webdavauth er ikke kompatible. Du kan opleve uventet adfærd. Spørg venligst din systemadministrator om at slå én af dem fra.", diff --git a/apps/user_ldap/l10n/de.js b/apps/user_ldap/l10n/de.js index 60131e2fa23ec..fb653b3dade5c 100644 --- a/apps/user_ldap/l10n/de.js +++ b/apps/user_ldap/l10n/de.js @@ -52,10 +52,6 @@ OC.L10N.register( "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.", "Could not find the desired feature" : "Die gewünschte Funktion konnte nicht gefunden werden", "Invalid Host" : "Ungültiger Host", - "Server" : "Server", - "Users" : "Benutzer", - "Login Attributes" : "Loginattribute", - "Groups" : "Gruppen", "Test Configuration" : "Testkonfiguration", "Help" : "Hilfe", "Groups meeting these criteria are available in %s:" : "Gruppen, auf die diese Kriterien zutreffen, sind verfügbar in %s:", @@ -104,6 +100,10 @@ OC.L10N.register( "Back" : "Zurück", "Continue" : "Fortsetzen", "LDAP" : "LDAP", + "Server" : "Server", + "Users" : "Benutzer", + "Login Attributes" : "Loginattribute", + "Groups" : "Gruppen", "Expert" : "Experte", "Advanced" : "Fortgeschritten", "Warning: Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behavior. Please ask your system administrator to disable one of them." : "Warnung: Die Anwendungen user_ldap und user_webdavauth sind inkompatibel. Es kann deshalb zu unerwartetem Systemverhalten kommen. Bitte kontaktiere deinen Systemadministator und bitte ihn um die Deaktivierung einer der beiden Anwendungen.", @@ -159,6 +159,7 @@ OC.L10N.register( "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." : "Die Benutzernamen werden genutzt, um (Meta-)Daten zuzuordnen und zu speichern. Um Benutzer eindeutig und präzise zu identifizieren, hat jeder LDAP-Benutzer einen internen Benutzernamen. Dies erfordert eine Zuordnung (mappen) von Benutzernamen zum LDAP-Benutzer. Der erstellte Benutzername wird der UUID des LDAP-Benutzernamens zugeordnet. Zusätzlich wird der DN zwischengespeichert, um die Interaktion mit dem LDAP zu minimieren, was aber nicht der Identifikation dient. Ändert sich der DN, werden die Änderungen durch gefunden. Der interne Benutzername, wird in überall verwendet. Werden die Zuordnungen gelöscht, bleiben überall Reste zurück. Die Löschung der Zuordnungen kann nicht in der Konfiguration vorgenommen werden, beeinflusst aber die LDAP-Konfiguration! Löschen Sie niemals die Zuordnungen in einer produktiven Umgebung. Lösche die Zuordnungen nur in einer Test- oder Experimentierumgebung.", "Clear Username-LDAP User Mapping" : "LDAP-Benutzernamenzuordnung löschen", "Clear Groupname-LDAP Group Mapping" : "LDAP-Gruppennamenzuordnung löschen", - "Limit %s access to users meeting these criteria:" : "Zugriff auf %s auf Benutzer beschränken die folgende Kriterien erfüllen:" + "Limit %s access to users meeting these criteria:" : "Zugriff auf %s auf Benutzer beschränken die folgende Kriterien erfüllen:", + "By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [ a-zA-Z0-9_.@- ]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder. It is also a part of remote URLs, for instance for all *DAV services. With this setting, the default behavior can be overridden. To achieve a similar behavior as before ownCloud 5 enter the user display name attribute in the following field. Leave it empty for default behavior. Changes will have effect only on newly mapped (added) LDAP users." : "Standardmäßig wird der interne Benutzername aus dem UUID-Atribut erstellt. So wird sichergestellt, dass der Benutzername einmalig ist und Zeichen nicht konvertiert werden müssen. Für den internen Benutzernamen sind nur folgende Zeichen zulässig: [ a-zA-Z0-9_.@- ]. Andere Zeichen werden mit ihrer ASCII-Entsprechung ersetzt oder einfach weggelassen. Bei Kollisionen wird eine Nummer hinzugefügt/erhöht. Der interne Benutzername wird verwandt, um den Benutzer intern zu identifizieren. Er ist ausserdem der Standardname für den Stamm-Ordner des Benutzers. Darüber hinaus ist er Teil der URLs für den Zugriff, zum Bespiel für alle *DAV-Dienste. Mit dieser Einstellung, kann das Standardverhalten geändert werden. Für die Standardeinstellung, lasse das Eingabefeld leer. Änderungen wirken sich nur auf neu eingetragene (hinzugefügte) LDAP-Benutzer aus. " }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/user_ldap/l10n/de.json b/apps/user_ldap/l10n/de.json index d484a11d4aac6..a743df8b52b49 100644 --- a/apps/user_ldap/l10n/de.json +++ b/apps/user_ldap/l10n/de.json @@ -50,10 +50,6 @@ "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.", "Could not find the desired feature" : "Die gewünschte Funktion konnte nicht gefunden werden", "Invalid Host" : "Ungültiger Host", - "Server" : "Server", - "Users" : "Benutzer", - "Login Attributes" : "Loginattribute", - "Groups" : "Gruppen", "Test Configuration" : "Testkonfiguration", "Help" : "Hilfe", "Groups meeting these criteria are available in %s:" : "Gruppen, auf die diese Kriterien zutreffen, sind verfügbar in %s:", @@ -102,6 +98,10 @@ "Back" : "Zurück", "Continue" : "Fortsetzen", "LDAP" : "LDAP", + "Server" : "Server", + "Users" : "Benutzer", + "Login Attributes" : "Loginattribute", + "Groups" : "Gruppen", "Expert" : "Experte", "Advanced" : "Fortgeschritten", "Warning: Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behavior. Please ask your system administrator to disable one of them." : "Warnung: Die Anwendungen user_ldap und user_webdavauth sind inkompatibel. Es kann deshalb zu unerwartetem Systemverhalten kommen. Bitte kontaktiere deinen Systemadministator und bitte ihn um die Deaktivierung einer der beiden Anwendungen.", @@ -157,6 +157,7 @@ "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." : "Die Benutzernamen werden genutzt, um (Meta-)Daten zuzuordnen und zu speichern. Um Benutzer eindeutig und präzise zu identifizieren, hat jeder LDAP-Benutzer einen internen Benutzernamen. Dies erfordert eine Zuordnung (mappen) von Benutzernamen zum LDAP-Benutzer. Der erstellte Benutzername wird der UUID des LDAP-Benutzernamens zugeordnet. Zusätzlich wird der DN zwischengespeichert, um die Interaktion mit dem LDAP zu minimieren, was aber nicht der Identifikation dient. Ändert sich der DN, werden die Änderungen durch gefunden. Der interne Benutzername, wird in überall verwendet. Werden die Zuordnungen gelöscht, bleiben überall Reste zurück. Die Löschung der Zuordnungen kann nicht in der Konfiguration vorgenommen werden, beeinflusst aber die LDAP-Konfiguration! Löschen Sie niemals die Zuordnungen in einer produktiven Umgebung. Lösche die Zuordnungen nur in einer Test- oder Experimentierumgebung.", "Clear Username-LDAP User Mapping" : "LDAP-Benutzernamenzuordnung löschen", "Clear Groupname-LDAP Group Mapping" : "LDAP-Gruppennamenzuordnung löschen", - "Limit %s access to users meeting these criteria:" : "Zugriff auf %s auf Benutzer beschränken die folgende Kriterien erfüllen:" + "Limit %s access to users meeting these criteria:" : "Zugriff auf %s auf Benutzer beschränken die folgende Kriterien erfüllen:", + "By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [ a-zA-Z0-9_.@- ]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder. It is also a part of remote URLs, for instance for all *DAV services. With this setting, the default behavior can be overridden. To achieve a similar behavior as before ownCloud 5 enter the user display name attribute in the following field. Leave it empty for default behavior. Changes will have effect only on newly mapped (added) LDAP users." : "Standardmäßig wird der interne Benutzername aus dem UUID-Atribut erstellt. So wird sichergestellt, dass der Benutzername einmalig ist und Zeichen nicht konvertiert werden müssen. Für den internen Benutzernamen sind nur folgende Zeichen zulässig: [ a-zA-Z0-9_.@- ]. Andere Zeichen werden mit ihrer ASCII-Entsprechung ersetzt oder einfach weggelassen. Bei Kollisionen wird eine Nummer hinzugefügt/erhöht. Der interne Benutzername wird verwandt, um den Benutzer intern zu identifizieren. Er ist ausserdem der Standardname für den Stamm-Ordner des Benutzers. Darüber hinaus ist er Teil der URLs für den Zugriff, zum Bespiel für alle *DAV-Dienste. Mit dieser Einstellung, kann das Standardverhalten geändert werden. Für die Standardeinstellung, lasse das Eingabefeld leer. Änderungen wirken sich nur auf neu eingetragene (hinzugefügte) LDAP-Benutzer aus. " },"pluralForm" :"nplurals=2; plural=(n != 1);" } \ No newline at end of file diff --git a/apps/user_ldap/l10n/de_DE.js b/apps/user_ldap/l10n/de_DE.js index b6362f70d8433..34bd8a9e9f6f9 100644 --- a/apps/user_ldap/l10n/de_DE.js +++ b/apps/user_ldap/l10n/de_DE.js @@ -52,10 +52,6 @@ OC.L10N.register( "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.", "Could not find the desired feature" : "Die gewünschte Funktion konnte nicht gefunden werden", "Invalid Host" : "Ungültiger Host", - "Server" : "Server", - "Users" : "Benutzer", - "Login Attributes" : "Anmeldeattribute", - "Groups" : "Gruppen", "Test Configuration" : "Testkonfiguration", "Help" : "Hilfe", "Groups meeting these criteria are available in %s:" : "Gruppen, auf die diese Kriterien zutreffen, sind verfügbar in %s:", @@ -104,6 +100,10 @@ OC.L10N.register( "Back" : "Zurück", "Continue" : "Fortsetzen", "LDAP" : "LDAP", + "Server" : "Server", + "Users" : "Benutzer", + "Login Attributes" : "Anmeldeattribute", + "Groups" : "Gruppen", "Expert" : "Experte", "Advanced" : "Fortgeschritten", "Warning: Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behavior. Please ask your system administrator to disable one of them." : "Warnung: Die Anwendungen user_ldap und user_webdavauth sind inkompatibel. Es kann deshalb zu unerwartetem Systemverhalten kommen. Bitte kontaktieren Sie Ihren Systemadministator und bitten Sie um die Deaktivierung einer der beiden Anwendungen.", @@ -159,6 +159,7 @@ OC.L10N.register( "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." : "Benutzernamen dienen zum Speichern und Zuweisen von (Meta-)Daten. Um Benutzer eindeutig zu identifizieren und zu erkennen, besitzt jeder LDAP-Benutzer einen internen Benutzernamen. Dies erfordert eine Zuordnung des jeweiligen Benutzernamens zum LDAP-Benutzer. Der erstellte Benutzername wird der UUID des LDAP-Benutzers zugeordnet. Darüber hinaus wird der DN auch zwischengespeichert, um die Interaktion über LDAP zu reduzieren, was aber nicht zur Identifikation dient. Ändert sich der DN, werden die Änderungen gefunden. Der interne Benutzername wird durchgängig verwendet. Ein Löschen der Zuordnungen führt zum systemweiten Verbleib von Restdaten. Es bleibt nicht auf eine einzelne Konfiguration beschränkt, sondern wirkt sich auf alle LDAP-Konfigurationen aus! Löschen Sie die Zuordnungen nie innerhalb einer Produktivumgebung, sondern nur in einer Test- oder Experimentierumgebung.", "Clear Username-LDAP User Mapping" : "Lösche LDAP-Benutzernamenzuordnung", "Clear Groupname-LDAP Group Mapping" : "Lösche LDAP-Gruppennamenzuordnung", - "Limit %s access to users meeting these criteria:" : "Zugriff auf %s auf Benutzer beschränken die folgende Kriterien erfüllen:" + "Limit %s access to users meeting these criteria:" : "Zugriff auf %s auf Benutzer beschränken die folgende Kriterien erfüllen:", + "By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [ a-zA-Z0-9_.@- ]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder. It is also a part of remote URLs, for instance for all *DAV services. With this setting, the default behavior can be overridden. To achieve a similar behavior as before ownCloud 5 enter the user display name attribute in the following field. Leave it empty for default behavior. Changes will have effect only on newly mapped (added) LDAP users." : "Standardmäßig wird der interne Benutzername aus dem UUID-Atribut erstellt. So wird sichergestellt, dass der Benutzername einmalig ist und Zeichen nicht konvertiert werden müssen. Für den internen Benutzernamen sind nur folgende Zeichen zulässig: [ a-zA-Z0-9_.@- ]. Andere Zeichen werden mit ihrer ASCII-Entsprechung ersetzt oder einfach weggelassen. Bei Kollisionen wird eine Nummer hinzugefügt/erhöht. Der interne Benutzername wird verwandt, um den Benutzer intern zu identifizieren. Er ist ausserdem der Standardname für den Stamm-Ordner des Benutzers. Darüber hinaus ist er Teil der URLs für den Zugriff, zum Bespiel für alle *DAV-Dienste. Mit dieser Einstellung, kann das Standardverhalten geändert werden. Für die Standardeinstellung, lassen Sie das Eingabefeld leer. \nUm ein ähnliches Verhalten wie vor Owncloud 5 zu erreichen, geben Sie das Benutzer-Anzeige-Attribut in das folgende Feld ein. Änderungen wirken sich nur auf neu eingetragene (hinzugefügte) LDAP-Benutzer aus." }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/user_ldap/l10n/de_DE.json b/apps/user_ldap/l10n/de_DE.json index a98f6aebed945..4e0be438cc5ff 100644 --- a/apps/user_ldap/l10n/de_DE.json +++ b/apps/user_ldap/l10n/de_DE.json @@ -50,10 +50,6 @@ "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.", "Could not find the desired feature" : "Die gewünschte Funktion konnte nicht gefunden werden", "Invalid Host" : "Ungültiger Host", - "Server" : "Server", - "Users" : "Benutzer", - "Login Attributes" : "Anmeldeattribute", - "Groups" : "Gruppen", "Test Configuration" : "Testkonfiguration", "Help" : "Hilfe", "Groups meeting these criteria are available in %s:" : "Gruppen, auf die diese Kriterien zutreffen, sind verfügbar in %s:", @@ -102,6 +98,10 @@ "Back" : "Zurück", "Continue" : "Fortsetzen", "LDAP" : "LDAP", + "Server" : "Server", + "Users" : "Benutzer", + "Login Attributes" : "Anmeldeattribute", + "Groups" : "Gruppen", "Expert" : "Experte", "Advanced" : "Fortgeschritten", "Warning: Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behavior. Please ask your system administrator to disable one of them." : "Warnung: Die Anwendungen user_ldap und user_webdavauth sind inkompatibel. Es kann deshalb zu unerwartetem Systemverhalten kommen. Bitte kontaktieren Sie Ihren Systemadministator und bitten Sie um die Deaktivierung einer der beiden Anwendungen.", @@ -157,6 +157,7 @@ "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." : "Benutzernamen dienen zum Speichern und Zuweisen von (Meta-)Daten. Um Benutzer eindeutig zu identifizieren und zu erkennen, besitzt jeder LDAP-Benutzer einen internen Benutzernamen. Dies erfordert eine Zuordnung des jeweiligen Benutzernamens zum LDAP-Benutzer. Der erstellte Benutzername wird der UUID des LDAP-Benutzers zugeordnet. Darüber hinaus wird der DN auch zwischengespeichert, um die Interaktion über LDAP zu reduzieren, was aber nicht zur Identifikation dient. Ändert sich der DN, werden die Änderungen gefunden. Der interne Benutzername wird durchgängig verwendet. Ein Löschen der Zuordnungen führt zum systemweiten Verbleib von Restdaten. Es bleibt nicht auf eine einzelne Konfiguration beschränkt, sondern wirkt sich auf alle LDAP-Konfigurationen aus! Löschen Sie die Zuordnungen nie innerhalb einer Produktivumgebung, sondern nur in einer Test- oder Experimentierumgebung.", "Clear Username-LDAP User Mapping" : "Lösche LDAP-Benutzernamenzuordnung", "Clear Groupname-LDAP Group Mapping" : "Lösche LDAP-Gruppennamenzuordnung", - "Limit %s access to users meeting these criteria:" : "Zugriff auf %s auf Benutzer beschränken die folgende Kriterien erfüllen:" + "Limit %s access to users meeting these criteria:" : "Zugriff auf %s auf Benutzer beschränken die folgende Kriterien erfüllen:", + "By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [ a-zA-Z0-9_.@- ]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder. It is also a part of remote URLs, for instance for all *DAV services. With this setting, the default behavior can be overridden. To achieve a similar behavior as before ownCloud 5 enter the user display name attribute in the following field. Leave it empty for default behavior. Changes will have effect only on newly mapped (added) LDAP users." : "Standardmäßig wird der interne Benutzername aus dem UUID-Atribut erstellt. So wird sichergestellt, dass der Benutzername einmalig ist und Zeichen nicht konvertiert werden müssen. Für den internen Benutzernamen sind nur folgende Zeichen zulässig: [ a-zA-Z0-9_.@- ]. Andere Zeichen werden mit ihrer ASCII-Entsprechung ersetzt oder einfach weggelassen. Bei Kollisionen wird eine Nummer hinzugefügt/erhöht. Der interne Benutzername wird verwandt, um den Benutzer intern zu identifizieren. Er ist ausserdem der Standardname für den Stamm-Ordner des Benutzers. Darüber hinaus ist er Teil der URLs für den Zugriff, zum Bespiel für alle *DAV-Dienste. Mit dieser Einstellung, kann das Standardverhalten geändert werden. Für die Standardeinstellung, lassen Sie das Eingabefeld leer. \nUm ein ähnliches Verhalten wie vor Owncloud 5 zu erreichen, geben Sie das Benutzer-Anzeige-Attribut in das folgende Feld ein. Änderungen wirken sich nur auf neu eingetragene (hinzugefügte) LDAP-Benutzer aus." },"pluralForm" :"nplurals=2; plural=(n != 1);" } \ No newline at end of file diff --git a/apps/user_ldap/l10n/el.js b/apps/user_ldap/l10n/el.js index 3157958092e8d..1ffe7b2ca8e78 100644 --- a/apps/user_ldap/l10n/el.js +++ b/apps/user_ldap/l10n/el.js @@ -52,10 +52,6 @@ OC.L10N.register( "Could not detect user display name attribute. Please specify it yourself in advanced ldap settings." : "Δεν ήταν δυνατή η ανίχνευση της ιδιότητας του εμφανιζόμενου ονόματος χρήστη . Παρακαλείστε να το προσδιορίσετε στις προηγμένες ρυθμίσεις LDAP", "Could not find the desired feature" : "Αδυναμία εύρεσης επιθυμητου χαρακτηριστικού", "Invalid Host" : "Άκυρος εξυπηρετητής", - "Server" : "Διακομιστής", - "Users" : "Χρήστες", - "Login Attributes" : "Ιδιότητες Σύνδεσης", - "Groups" : "Ομάδες", "Test Configuration" : "Δοκιμαστικες ρυθμισεις", "Help" : "Βοήθεια", "Groups meeting these criteria are available in %s:" : "Οι ομάδες που πληρούν τα κριτήρια είναι διαθέσιμες σε %s:", @@ -103,6 +99,10 @@ OC.L10N.register( "Back" : "Επιστροφή", "Continue" : "Συνέχεια", "LDAP" : "LDAP", + "Server" : "Διακομιστής", + "Users" : "Χρήστες", + "Login Attributes" : "Ιδιότητες Σύνδεσης", + "Groups" : "Ομάδες", "Expert" : "Ειδικός", "Advanced" : "Για προχωρημένους", "Warning: Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behavior. Please ask your system administrator to disable one of them." : "Προσοχή: Οι εφαρμογές user_ldap και user_webdavauth είναι ασύμβατες. Μπορεί να αντιμετωπίσετε απρόβλεπτη συμπεριφορά. Παρακαλώ ζητήστε από τον διαχειριστή συστήματος να απενεργοποιήσει μία από αυτές.", diff --git a/apps/user_ldap/l10n/el.json b/apps/user_ldap/l10n/el.json index 81f8cb094b532..0751237abbc8f 100644 --- a/apps/user_ldap/l10n/el.json +++ b/apps/user_ldap/l10n/el.json @@ -50,10 +50,6 @@ "Could not detect user display name attribute. Please specify it yourself in advanced ldap settings." : "Δεν ήταν δυνατή η ανίχνευση της ιδιότητας του εμφανιζόμενου ονόματος χρήστη . Παρακαλείστε να το προσδιορίσετε στις προηγμένες ρυθμίσεις LDAP", "Could not find the desired feature" : "Αδυναμία εύρεσης επιθυμητου χαρακτηριστικού", "Invalid Host" : "Άκυρος εξυπηρετητής", - "Server" : "Διακομιστής", - "Users" : "Χρήστες", - "Login Attributes" : "Ιδιότητες Σύνδεσης", - "Groups" : "Ομάδες", "Test Configuration" : "Δοκιμαστικες ρυθμισεις", "Help" : "Βοήθεια", "Groups meeting these criteria are available in %s:" : "Οι ομάδες που πληρούν τα κριτήρια είναι διαθέσιμες σε %s:", @@ -101,6 +97,10 @@ "Back" : "Επιστροφή", "Continue" : "Συνέχεια", "LDAP" : "LDAP", + "Server" : "Διακομιστής", + "Users" : "Χρήστες", + "Login Attributes" : "Ιδιότητες Σύνδεσης", + "Groups" : "Ομάδες", "Expert" : "Ειδικός", "Advanced" : "Για προχωρημένους", "Warning: Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behavior. Please ask your system administrator to disable one of them." : "Προσοχή: Οι εφαρμογές user_ldap και user_webdavauth είναι ασύμβατες. Μπορεί να αντιμετωπίσετε απρόβλεπτη συμπεριφορά. Παρακαλώ ζητήστε από τον διαχειριστή συστήματος να απενεργοποιήσει μία από αυτές.", diff --git a/apps/user_ldap/l10n/en_GB.js b/apps/user_ldap/l10n/en_GB.js index 3edebcab0b524..581b29c090ea2 100644 --- a/apps/user_ldap/l10n/en_GB.js +++ b/apps/user_ldap/l10n/en_GB.js @@ -52,10 +52,6 @@ OC.L10N.register( "Could not detect user display name attribute. Please specify it yourself in advanced ldap settings." : "Could not detect user display name attribute. Please specify it yourself in advanced ldap settings.", "Could not find the desired feature" : "Could not find the desired feature", "Invalid Host" : "Invalid Host", - "Server" : "Server", - "Users" : "Users", - "Login Attributes" : "Login Attributes", - "Groups" : "Groups", "Test Configuration" : "Test Configuration", "Help" : "Help", "Groups meeting these criteria are available in %s:" : "Groups meeting these criteria are available in %s:", @@ -104,6 +100,10 @@ OC.L10N.register( "Back" : "Back", "Continue" : "Continue", "LDAP" : "LDAP", + "Server" : "Server", + "Users" : "Users", + "Login Attributes" : "Login Attributes", + "Groups" : "Groups", "Expert" : "Expert", "Advanced" : "Advanced", "Warning: Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behavior. Please ask your system administrator to disable one of them." : "Warning: Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behavior. Please ask your system administrator to disable one of them.", diff --git a/apps/user_ldap/l10n/en_GB.json b/apps/user_ldap/l10n/en_GB.json index 76efcf2670ce8..603567e9dd2ac 100644 --- a/apps/user_ldap/l10n/en_GB.json +++ b/apps/user_ldap/l10n/en_GB.json @@ -50,10 +50,6 @@ "Could not detect user display name attribute. Please specify it yourself in advanced ldap settings." : "Could not detect user display name attribute. Please specify it yourself in advanced ldap settings.", "Could not find the desired feature" : "Could not find the desired feature", "Invalid Host" : "Invalid Host", - "Server" : "Server", - "Users" : "Users", - "Login Attributes" : "Login Attributes", - "Groups" : "Groups", "Test Configuration" : "Test Configuration", "Help" : "Help", "Groups meeting these criteria are available in %s:" : "Groups meeting these criteria are available in %s:", @@ -102,6 +98,10 @@ "Back" : "Back", "Continue" : "Continue", "LDAP" : "LDAP", + "Server" : "Server", + "Users" : "Users", + "Login Attributes" : "Login Attributes", + "Groups" : "Groups", "Expert" : "Expert", "Advanced" : "Advanced", "Warning: Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behavior. Please ask your system administrator to disable one of them." : "Warning: Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behavior. Please ask your system administrator to disable one of them.", diff --git a/apps/user_ldap/l10n/es.js b/apps/user_ldap/l10n/es.js index 8b3d460570e4c..1f78ca09e3c48 100644 --- a/apps/user_ldap/l10n/es.js +++ b/apps/user_ldap/l10n/es.js @@ -52,10 +52,6 @@ OC.L10N.register( "Could not detect user display name attribute. Please specify it yourself in advanced ldap settings." : "No se pudo detectar el atributo de nombre de usuario pantalla. Por favor especifique lo mismo en ajustes avanzados ldap.", "Could not find the desired feature" : "No se puede encontrar la función deseada.", "Invalid Host" : "Host inválido", - "Server" : "Servidor", - "Users" : "Usuarios", - "Login Attributes" : "Atributos de inicio de sesión", - "Groups" : "Grupos", "Test Configuration" : "Configuración de prueba", "Help" : "Ayuda", "Groups meeting these criteria are available in %s:" : "Los grupos que cumplen estos criterios están disponibles en %s:", @@ -104,6 +100,10 @@ OC.L10N.register( "Back" : "Atrás", "Continue" : "Continuar", "LDAP" : "LDAP", + "Server" : "Servidor", + "Users" : "Usuarios", + "Login Attributes" : "Atributos de inicio de sesión", + "Groups" : "Grupos", "Expert" : "Experto", "Advanced" : "Avanzado", "Warning: Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behavior. Please ask your system administrator to disable one of them." : "Advertencia: Las apps user_ldap y user_webdavauth son incompatibles. Puede que experimente un comportamiento inesperado. Pídale a su administrador del sistema que desactive uno de ellos.", diff --git a/apps/user_ldap/l10n/es.json b/apps/user_ldap/l10n/es.json index a31c83a18c9d3..e5582349705fe 100644 --- a/apps/user_ldap/l10n/es.json +++ b/apps/user_ldap/l10n/es.json @@ -50,10 +50,6 @@ "Could not detect user display name attribute. Please specify it yourself in advanced ldap settings." : "No se pudo detectar el atributo de nombre de usuario pantalla. Por favor especifique lo mismo en ajustes avanzados ldap.", "Could not find the desired feature" : "No se puede encontrar la función deseada.", "Invalid Host" : "Host inválido", - "Server" : "Servidor", - "Users" : "Usuarios", - "Login Attributes" : "Atributos de inicio de sesión", - "Groups" : "Grupos", "Test Configuration" : "Configuración de prueba", "Help" : "Ayuda", "Groups meeting these criteria are available in %s:" : "Los grupos que cumplen estos criterios están disponibles en %s:", @@ -102,6 +98,10 @@ "Back" : "Atrás", "Continue" : "Continuar", "LDAP" : "LDAP", + "Server" : "Servidor", + "Users" : "Usuarios", + "Login Attributes" : "Atributos de inicio de sesión", + "Groups" : "Grupos", "Expert" : "Experto", "Advanced" : "Avanzado", "Warning: Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behavior. Please ask your system administrator to disable one of them." : "Advertencia: Las apps user_ldap y user_webdavauth son incompatibles. Puede que experimente un comportamiento inesperado. Pídale a su administrador del sistema que desactive uno de ellos.", diff --git a/apps/user_ldap/l10n/et_EE.js b/apps/user_ldap/l10n/et_EE.js index be6f3a129c6d3..ea05eb12ca943 100644 --- a/apps/user_ldap/l10n/et_EE.js +++ b/apps/user_ldap/l10n/et_EE.js @@ -32,10 +32,6 @@ OC.L10N.register( "_%s user found_::_%s users found_" : ["%s kasutaja leitud","%s kasutajat leitud"], "Could not find the desired feature" : "Ei suuda leida soovitud funktsioonaalsust", "Invalid Host" : "Vigane server", - "Server" : "Server", - "Users" : "Kasutajad", - "Login Attributes" : "Sisselogimise andmed", - "Groups" : "Grupid", "Test Configuration" : "Testi seadistust", "Help" : "Abiinfo", "Groups meeting these criteria are available in %s:" : "Kriteeriumiga sobivad grupid on saadaval %s:", @@ -77,6 +73,10 @@ OC.L10N.register( "Back" : "Tagasi", "Continue" : "Jätka", "LDAP" : "LDAP", + "Server" : "Server", + "Users" : "Kasutajad", + "Login Attributes" : "Sisselogimise andmed", + "Groups" : "Grupid", "Expert" : "Ekspert", "Advanced" : "Täpsem", "Warning: Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behavior. Please ask your system administrator to disable one of them." : "Hoiatus: rakendused user_ldap ja user_webdavauht ei ole ühilduvad. Töös võib esineda ootamatuid tõrkeid.\nPalu oma süsteemihalduril üks neist rakendustest kasutusest eemaldada.", diff --git a/apps/user_ldap/l10n/et_EE.json b/apps/user_ldap/l10n/et_EE.json index f688f72eb5fe4..1f6a8d3575355 100644 --- a/apps/user_ldap/l10n/et_EE.json +++ b/apps/user_ldap/l10n/et_EE.json @@ -30,10 +30,6 @@ "_%s user found_::_%s users found_" : ["%s kasutaja leitud","%s kasutajat leitud"], "Could not find the desired feature" : "Ei suuda leida soovitud funktsioonaalsust", "Invalid Host" : "Vigane server", - "Server" : "Server", - "Users" : "Kasutajad", - "Login Attributes" : "Sisselogimise andmed", - "Groups" : "Grupid", "Test Configuration" : "Testi seadistust", "Help" : "Abiinfo", "Groups meeting these criteria are available in %s:" : "Kriteeriumiga sobivad grupid on saadaval %s:", @@ -75,6 +71,10 @@ "Back" : "Tagasi", "Continue" : "Jätka", "LDAP" : "LDAP", + "Server" : "Server", + "Users" : "Kasutajad", + "Login Attributes" : "Sisselogimise andmed", + "Groups" : "Grupid", "Expert" : "Ekspert", "Advanced" : "Täpsem", "Warning: Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behavior. Please ask your system administrator to disable one of them." : "Hoiatus: rakendused user_ldap ja user_webdavauht ei ole ühilduvad. Töös võib esineda ootamatuid tõrkeid.\nPalu oma süsteemihalduril üks neist rakendustest kasutusest eemaldada.", diff --git a/apps/user_ldap/l10n/eu.js b/apps/user_ldap/l10n/eu.js index 2e7939bbcfc4e..ff7fad6017cd3 100644 --- a/apps/user_ldap/l10n/eu.js +++ b/apps/user_ldap/l10n/eu.js @@ -31,10 +31,6 @@ OC.L10N.register( "Could not detect user display name attribute. Please specify it yourself in advanced ldap settings." : "Ezin izan da erabiltzailearen bistaratze izenaren atributua antzeman. Mesedez zehaztu ldap ezarpen aurreratuetan.", "Could not find the desired feature" : "Ezin izan da nahi zen ezaugarria aurkitu", "Invalid Host" : "Baliogabeko hostalaria", - "Server" : "Zerbitzaria", - "Users" : "Erabiltzaileak", - "Login Attributes" : "Saioa hasteko atributuak", - "Groups" : "Taldeak", "Test Configuration" : "Egiaztatu Konfigurazioa", "Help" : "Laguntza", "Groups meeting these criteria are available in %s:" : "Baldintza horiek betetzen dituzten taldeak bertan eskuragarri %s:", @@ -77,6 +73,10 @@ OC.L10N.register( "Back" : "Atzera", "Continue" : "Jarraitu", "LDAP" : "LDAP", + "Server" : "Zerbitzaria", + "Users" : "Erabiltzaileak", + "Login Attributes" : "Saioa hasteko atributuak", + "Groups" : "Taldeak", "Expert" : "Aditua", "Advanced" : "Aurreratua", "Warning: Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behavior. Please ask your system administrator to disable one of them." : "Abisua: user_ldap eta user_webdavauth aplikazioak bateraezinak dira. Portaera berezia izan dezakezu. Mesedez eskatu zure sistema kudeatzaileari bietako bat desgaitzeko.", diff --git a/apps/user_ldap/l10n/eu.json b/apps/user_ldap/l10n/eu.json index c6421e8d33851..e4ac633236cea 100644 --- a/apps/user_ldap/l10n/eu.json +++ b/apps/user_ldap/l10n/eu.json @@ -29,10 +29,6 @@ "Could not detect user display name attribute. Please specify it yourself in advanced ldap settings." : "Ezin izan da erabiltzailearen bistaratze izenaren atributua antzeman. Mesedez zehaztu ldap ezarpen aurreratuetan.", "Could not find the desired feature" : "Ezin izan da nahi zen ezaugarria aurkitu", "Invalid Host" : "Baliogabeko hostalaria", - "Server" : "Zerbitzaria", - "Users" : "Erabiltzaileak", - "Login Attributes" : "Saioa hasteko atributuak", - "Groups" : "Taldeak", "Test Configuration" : "Egiaztatu Konfigurazioa", "Help" : "Laguntza", "Groups meeting these criteria are available in %s:" : "Baldintza horiek betetzen dituzten taldeak bertan eskuragarri %s:", @@ -75,6 +71,10 @@ "Back" : "Atzera", "Continue" : "Jarraitu", "LDAP" : "LDAP", + "Server" : "Zerbitzaria", + "Users" : "Erabiltzaileak", + "Login Attributes" : "Saioa hasteko atributuak", + "Groups" : "Taldeak", "Expert" : "Aditua", "Advanced" : "Aurreratua", "Warning: Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behavior. Please ask your system administrator to disable one of them." : "Abisua: user_ldap eta user_webdavauth aplikazioak bateraezinak dira. Portaera berezia izan dezakezu. Mesedez eskatu zure sistema kudeatzaileari bietako bat desgaitzeko.", diff --git a/apps/user_ldap/l10n/fr.js b/apps/user_ldap/l10n/fr.js index fe0ac95ac71dc..ca4d8c6861a28 100644 --- a/apps/user_ldap/l10n/fr.js +++ b/apps/user_ldap/l10n/fr.js @@ -52,10 +52,6 @@ OC.L10N.register( "Could not detect user display name attribute. Please specify it yourself in advanced ldap settings." : "Impossible de détecter l'attribut contenant le nom d'affichage des utilisateurs. Veuillez l'indiquer vous-même dans les paramètres ldap avancés.", "Could not find the desired feature" : "Impossible de trouver la fonction souhaitée", "Invalid Host" : "Hôte non valide", - "Server" : "Serveur", - "Users" : "Utilisateurs", - "Login Attributes" : "Attributs de login", - "Groups" : "Groupes", "Test Configuration" : "Tester la configuration", "Help" : "Aide", "Groups meeting these criteria are available in %s:" : "Les groupes respectant ces critères sont disponibles dans %s :", @@ -104,6 +100,10 @@ OC.L10N.register( "Back" : "Retour", "Continue" : "Poursuivre", "LDAP" : "LDAP", + "Server" : "Serveur", + "Users" : "Utilisateurs", + "Login Attributes" : "Attributs de login", + "Groups" : "Groupes", "Expert" : "Expert", "Advanced" : "Avancé", "Warning: Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behavior. Please ask your system administrator to disable one of them." : "Avertissement : Les applications user_ldap et user_webdavauth sont incompatibles. Des dysfonctionnements peuvent survenir. Contactez votre administrateur système pour qu'il en désactive une.", diff --git a/apps/user_ldap/l10n/fr.json b/apps/user_ldap/l10n/fr.json index ffbae9ce8784c..24be0c9ea57cd 100644 --- a/apps/user_ldap/l10n/fr.json +++ b/apps/user_ldap/l10n/fr.json @@ -50,10 +50,6 @@ "Could not detect user display name attribute. Please specify it yourself in advanced ldap settings." : "Impossible de détecter l'attribut contenant le nom d'affichage des utilisateurs. Veuillez l'indiquer vous-même dans les paramètres ldap avancés.", "Could not find the desired feature" : "Impossible de trouver la fonction souhaitée", "Invalid Host" : "Hôte non valide", - "Server" : "Serveur", - "Users" : "Utilisateurs", - "Login Attributes" : "Attributs de login", - "Groups" : "Groupes", "Test Configuration" : "Tester la configuration", "Help" : "Aide", "Groups meeting these criteria are available in %s:" : "Les groupes respectant ces critères sont disponibles dans %s :", @@ -102,6 +98,10 @@ "Back" : "Retour", "Continue" : "Poursuivre", "LDAP" : "LDAP", + "Server" : "Serveur", + "Users" : "Utilisateurs", + "Login Attributes" : "Attributs de login", + "Groups" : "Groupes", "Expert" : "Expert", "Advanced" : "Avancé", "Warning: Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behavior. Please ask your system administrator to disable one of them." : "Avertissement : Les applications user_ldap et user_webdavauth sont incompatibles. Des dysfonctionnements peuvent survenir. Contactez votre administrateur système pour qu'il en désactive une.", diff --git a/apps/user_ldap/l10n/gl.js b/apps/user_ldap/l10n/gl.js index a3379a66e49d1..3925451ea9f65 100644 --- a/apps/user_ldap/l10n/gl.js +++ b/apps/user_ldap/l10n/gl.js @@ -50,10 +50,6 @@ OC.L10N.register( "Could not detect user display name attribute. Please specify it yourself in advanced ldap settings." : "Non foi posíbel detectar o atributo nome de usuario que mostrar. Especifíqueo vostede mesmo nos axustes avanzados de LDAP.", "Could not find the desired feature" : "Non foi posíbel atopar a función desexada", "Invalid Host" : "Máquina incorrecta", - "Server" : "Servidor", - "Users" : "Usuarios", - "Login Attributes" : "Atributos de acceso", - "Groups" : "Grupos", "Test Configuration" : "Probar a configuración", "Help" : "Axuda", "Groups meeting these criteria are available in %s:" : "Os grupos que cumpren estes criterios están dispoñíbeis en %s:", @@ -101,6 +97,10 @@ OC.L10N.register( "Back" : "Atrás", "Continue" : "Continuar", "LDAP" : "LDAP", + "Server" : "Servidor", + "Users" : "Usuarios", + "Login Attributes" : "Atributos de acceso", + "Groups" : "Grupos", "Expert" : "Experto", "Advanced" : "Avanzado", "Warning: Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behavior. Please ask your system administrator to disable one of them." : "Aviso: As aplicacións user_ldap e user_webdavauth son incompatíbeis. Pode acontecer un comportamento estraño. Consulte co administrador do sistema para desactivar unha delas.", diff --git a/apps/user_ldap/l10n/gl.json b/apps/user_ldap/l10n/gl.json index 00638fd02fbbe..4ba0f68766648 100644 --- a/apps/user_ldap/l10n/gl.json +++ b/apps/user_ldap/l10n/gl.json @@ -48,10 +48,6 @@ "Could not detect user display name attribute. Please specify it yourself in advanced ldap settings." : "Non foi posíbel detectar o atributo nome de usuario que mostrar. Especifíqueo vostede mesmo nos axustes avanzados de LDAP.", "Could not find the desired feature" : "Non foi posíbel atopar a función desexada", "Invalid Host" : "Máquina incorrecta", - "Server" : "Servidor", - "Users" : "Usuarios", - "Login Attributes" : "Atributos de acceso", - "Groups" : "Grupos", "Test Configuration" : "Probar a configuración", "Help" : "Axuda", "Groups meeting these criteria are available in %s:" : "Os grupos que cumpren estes criterios están dispoñíbeis en %s:", @@ -99,6 +95,10 @@ "Back" : "Atrás", "Continue" : "Continuar", "LDAP" : "LDAP", + "Server" : "Servidor", + "Users" : "Usuarios", + "Login Attributes" : "Atributos de acceso", + "Groups" : "Grupos", "Expert" : "Experto", "Advanced" : "Avanzado", "Warning: Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behavior. Please ask your system administrator to disable one of them." : "Aviso: As aplicacións user_ldap e user_webdavauth son incompatíbeis. Pode acontecer un comportamento estraño. Consulte co administrador do sistema para desactivar unha delas.", diff --git a/apps/user_ldap/l10n/he.js b/apps/user_ldap/l10n/he.js index 8ff1a2037e47f..67e716f2fce88 100644 --- a/apps/user_ldap/l10n/he.js +++ b/apps/user_ldap/l10n/he.js @@ -52,10 +52,6 @@ OC.L10N.register( "Could not detect user display name attribute. Please specify it yourself in advanced ldap settings." : "לא אותר מאפיין שם תצוגה למשתמש. יש לספק אותו בעצמך בהגדרות ldap מתקדמות.", "Could not find the desired feature" : "לא אותרה התכונה הרצויה", "Invalid Host" : "מארח לא חוקי", - "Server" : "שרת", - "Users" : "משתמשים", - "Login Attributes" : "פרטי כניסה", - "Groups" : "קבוצות", "Test Configuration" : "בדיקת הגדרות", "Help" : "עזרה", "Groups meeting these criteria are available in %s:" : "קבוצות העומדות בקריטריון זה זמינות ב- %s:", @@ -103,6 +99,10 @@ OC.L10N.register( "Back" : "אחורה", "Continue" : "המשך", "LDAP" : "LDAP", + "Server" : "שרת", + "Users" : "משתמשים", + "Login Attributes" : "פרטי כניסה", + "Groups" : "קבוצות", "Expert" : "מומחה", "Advanced" : "מתקדם", "Warning: Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behavior. Please ask your system administrator to disable one of them." : "אזהרה: יישומים user_ldap ו- user_webdavauth אינם תואמים. תופעות לא מוסברות עלולות להתקיים. כדאי לפנות למנהל המערכת כדי שינטרל אחד מהם.", diff --git a/apps/user_ldap/l10n/he.json b/apps/user_ldap/l10n/he.json index 0ad2d1fc61b15..77942e51e58e4 100644 --- a/apps/user_ldap/l10n/he.json +++ b/apps/user_ldap/l10n/he.json @@ -50,10 +50,6 @@ "Could not detect user display name attribute. Please specify it yourself in advanced ldap settings." : "לא אותר מאפיין שם תצוגה למשתמש. יש לספק אותו בעצמך בהגדרות ldap מתקדמות.", "Could not find the desired feature" : "לא אותרה התכונה הרצויה", "Invalid Host" : "מארח לא חוקי", - "Server" : "שרת", - "Users" : "משתמשים", - "Login Attributes" : "פרטי כניסה", - "Groups" : "קבוצות", "Test Configuration" : "בדיקת הגדרות", "Help" : "עזרה", "Groups meeting these criteria are available in %s:" : "קבוצות העומדות בקריטריון זה זמינות ב- %s:", @@ -101,6 +97,10 @@ "Back" : "אחורה", "Continue" : "המשך", "LDAP" : "LDAP", + "Server" : "שרת", + "Users" : "משתמשים", + "Login Attributes" : "פרטי כניסה", + "Groups" : "קבוצות", "Expert" : "מומחה", "Advanced" : "מתקדם", "Warning: Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behavior. Please ask your system administrator to disable one of them." : "אזהרה: יישומים user_ldap ו- user_webdavauth אינם תואמים. תופעות לא מוסברות עלולות להתקיים. כדאי לפנות למנהל המערכת כדי שינטרל אחד מהם.", diff --git a/apps/user_ldap/l10n/id.js b/apps/user_ldap/l10n/id.js index 41bddd3384768..252fb9bd4ef20 100644 --- a/apps/user_ldap/l10n/id.js +++ b/apps/user_ldap/l10n/id.js @@ -52,10 +52,6 @@ OC.L10N.register( "Could not detect user display name attribute. Please specify it yourself in advanced ldap settings." : "Tidak mendeteksi atribut nama tampilan pengguna. Silakan menentukannya sendiri di pengaturan ldap lanjutan.", "Could not find the desired feature" : "Tidak dapat menemukan fitur yang diinginkan", "Invalid Host" : "Host tidak sah", - "Server" : "Server", - "Users" : "Pengguna", - "Login Attributes" : "Atribut Login", - "Groups" : "Grup", "Test Configuration" : "Uji Konfigurasi", "Help" : "Bantuan", "Groups meeting these criteria are available in %s:" : "Grup yang memenuhi kriteria ini tersedia di %s:", @@ -104,6 +100,10 @@ OC.L10N.register( "Back" : "Kembali", "Continue" : "Lanjutkan", "LDAP" : "LDAP", + "Server" : "Server", + "Users" : "Pengguna", + "Login Attributes" : "Atribut Login", + "Groups" : "Grup", "Expert" : "Lanjutan", "Advanced" : "Lanjutan", "Warning: Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behavior. Please ask your system administrator to disable one of them." : "Peringatan: Aplikasi user_ldap dan user_webdavauth tidak kompatibel. Anda mungkin akan mengalami perilaku yang tidak terduga. Silakan minta administrator Anda untuk menonaktifkan salah satunya.", diff --git a/apps/user_ldap/l10n/id.json b/apps/user_ldap/l10n/id.json index d18d62a716d71..e4675c1c0fc02 100644 --- a/apps/user_ldap/l10n/id.json +++ b/apps/user_ldap/l10n/id.json @@ -50,10 +50,6 @@ "Could not detect user display name attribute. Please specify it yourself in advanced ldap settings." : "Tidak mendeteksi atribut nama tampilan pengguna. Silakan menentukannya sendiri di pengaturan ldap lanjutan.", "Could not find the desired feature" : "Tidak dapat menemukan fitur yang diinginkan", "Invalid Host" : "Host tidak sah", - "Server" : "Server", - "Users" : "Pengguna", - "Login Attributes" : "Atribut Login", - "Groups" : "Grup", "Test Configuration" : "Uji Konfigurasi", "Help" : "Bantuan", "Groups meeting these criteria are available in %s:" : "Grup yang memenuhi kriteria ini tersedia di %s:", @@ -102,6 +98,10 @@ "Back" : "Kembali", "Continue" : "Lanjutkan", "LDAP" : "LDAP", + "Server" : "Server", + "Users" : "Pengguna", + "Login Attributes" : "Atribut Login", + "Groups" : "Grup", "Expert" : "Lanjutan", "Advanced" : "Lanjutan", "Warning: Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behavior. Please ask your system administrator to disable one of them." : "Peringatan: Aplikasi user_ldap dan user_webdavauth tidak kompatibel. Anda mungkin akan mengalami perilaku yang tidak terduga. Silakan minta administrator Anda untuk menonaktifkan salah satunya.", diff --git a/apps/user_ldap/l10n/it.js b/apps/user_ldap/l10n/it.js index e9e6f05d71bfc..a693548211dad 100644 --- a/apps/user_ldap/l10n/it.js +++ b/apps/user_ldap/l10n/it.js @@ -52,10 +52,6 @@ OC.L10N.register( "Could not detect user display name attribute. Please specify it yourself in advanced ldap settings." : "Impossibile rilevare l'attributo nome visualizzato dell'utente. Specificalo nelle impostazioni avanzate di ldap.", "Could not find the desired feature" : "Impossibile trovare la funzionalità desiderata", "Invalid Host" : "Host non valido", - "Server" : "Server", - "Users" : "Utenti", - "Login Attributes" : "Attributi di accesso", - "Groups" : "Gruppi", "Test Configuration" : "Prova configurazione", "Help" : "Aiuto", "Groups meeting these criteria are available in %s:" : "I gruppi che corrispondono a questi criteri sono disponibili in %s:", @@ -104,6 +100,10 @@ OC.L10N.register( "Back" : "Indietro", "Continue" : "Continua", "LDAP" : "LDAP", + "Server" : "Server", + "Users" : "Utenti", + "Login Attributes" : "Attributi di accesso", + "Groups" : "Gruppi", "Expert" : "Esperto", "Advanced" : "Avanzate", "Warning: Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behavior. Please ask your system administrator to disable one of them." : "Avviso: le applicazioni user_ldap e user_webdavauth sono incompatibili. Potresti riscontrare un comportamento inatteso. Chiedi al tuo amministratore di sistema di disabilitarne una.", diff --git a/apps/user_ldap/l10n/it.json b/apps/user_ldap/l10n/it.json index ebdb9da914c6c..c47b1461a3a3e 100644 --- a/apps/user_ldap/l10n/it.json +++ b/apps/user_ldap/l10n/it.json @@ -50,10 +50,6 @@ "Could not detect user display name attribute. Please specify it yourself in advanced ldap settings." : "Impossibile rilevare l'attributo nome visualizzato dell'utente. Specificalo nelle impostazioni avanzate di ldap.", "Could not find the desired feature" : "Impossibile trovare la funzionalità desiderata", "Invalid Host" : "Host non valido", - "Server" : "Server", - "Users" : "Utenti", - "Login Attributes" : "Attributi di accesso", - "Groups" : "Gruppi", "Test Configuration" : "Prova configurazione", "Help" : "Aiuto", "Groups meeting these criteria are available in %s:" : "I gruppi che corrispondono a questi criteri sono disponibili in %s:", @@ -102,6 +98,10 @@ "Back" : "Indietro", "Continue" : "Continua", "LDAP" : "LDAP", + "Server" : "Server", + "Users" : "Utenti", + "Login Attributes" : "Attributi di accesso", + "Groups" : "Gruppi", "Expert" : "Esperto", "Advanced" : "Avanzate", "Warning: Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behavior. Please ask your system administrator to disable one of them." : "Avviso: le applicazioni user_ldap e user_webdavauth sono incompatibili. Potresti riscontrare un comportamento inatteso. Chiedi al tuo amministratore di sistema di disabilitarne una.", diff --git a/apps/user_ldap/l10n/ja.js b/apps/user_ldap/l10n/ja.js index 4921577e63666..fa34e930414a6 100644 --- a/apps/user_ldap/l10n/ja.js +++ b/apps/user_ldap/l10n/ja.js @@ -52,10 +52,6 @@ OC.L10N.register( "Could not detect user display name attribute. Please specify it yourself in advanced ldap settings." : "ユーザー表示名の属性を検出できませんでした。詳細設定で対応する属性を指定してください。", "Could not find the desired feature" : "望ましい機能は見つかりませんでした", "Invalid Host" : "無効なホスト", - "Server" : "サーバー", - "Users" : "ユーザー", - "Login Attributes" : "ログイン属性", - "Groups" : "グループ", "Test Configuration" : "設定をテスト", "Help" : "ヘルプ", "Groups meeting these criteria are available in %s:" : "これらの基準を満たすグループが %s で利用可能:", @@ -104,6 +100,10 @@ OC.L10N.register( "Back" : "戻る", "Continue" : "続ける", "LDAP" : "LDAP", + "Server" : "サーバー", + "Users" : "ユーザー", + "Login Attributes" : "ログイン属性", + "Groups" : "グループ", "Expert" : "エキスパート設定", "Advanced" : "詳細設定", "Warning: Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behavior. Please ask your system administrator to disable one of them." : "警告: user_ldap と user_webdavauth のアプリには互換性がありません。予期せぬ動作をする可能性があります。システム管理者にどちらかを無効にするよう問い合わせてください。", diff --git a/apps/user_ldap/l10n/ja.json b/apps/user_ldap/l10n/ja.json index 960a30819e301..440ec49cf8195 100644 --- a/apps/user_ldap/l10n/ja.json +++ b/apps/user_ldap/l10n/ja.json @@ -50,10 +50,6 @@ "Could not detect user display name attribute. Please specify it yourself in advanced ldap settings." : "ユーザー表示名の属性を検出できませんでした。詳細設定で対応する属性を指定してください。", "Could not find the desired feature" : "望ましい機能は見つかりませんでした", "Invalid Host" : "無効なホスト", - "Server" : "サーバー", - "Users" : "ユーザー", - "Login Attributes" : "ログイン属性", - "Groups" : "グループ", "Test Configuration" : "設定をテスト", "Help" : "ヘルプ", "Groups meeting these criteria are available in %s:" : "これらの基準を満たすグループが %s で利用可能:", @@ -102,6 +98,10 @@ "Back" : "戻る", "Continue" : "続ける", "LDAP" : "LDAP", + "Server" : "サーバー", + "Users" : "ユーザー", + "Login Attributes" : "ログイン属性", + "Groups" : "グループ", "Expert" : "エキスパート設定", "Advanced" : "詳細設定", "Warning: Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behavior. Please ask your system administrator to disable one of them." : "警告: user_ldap と user_webdavauth のアプリには互換性がありません。予期せぬ動作をする可能性があります。システム管理者にどちらかを無効にするよう問い合わせてください。", diff --git a/apps/user_ldap/l10n/ko.js b/apps/user_ldap/l10n/ko.js index 3cfd05906846a..8c261c1b4da27 100644 --- a/apps/user_ldap/l10n/ko.js +++ b/apps/user_ldap/l10n/ko.js @@ -51,10 +51,6 @@ OC.L10N.register( "Could not detect user display name attribute. Please specify it yourself in advanced ldap settings." : "사용자 표시 이름을 결정할 수 없습니다. 고급 LDAP 설정에서 직접 입력하십시오.", "Could not find the desired feature" : "필요한 기능을 찾을 수 없음", "Invalid Host" : "잘못된 호스트", - "Server" : "서버", - "Users" : "사용자", - "Login Attributes" : "로그인 속성", - "Groups" : "그룹", "Test Configuration" : "설정 시험", "Help" : "도움말", "Groups meeting these criteria are available in %s:" : "이 조건을 만족하는 그룹은 %s에 있습니다:", @@ -102,6 +98,10 @@ OC.L10N.register( "Back" : "뒤로", "Continue" : "계속", "LDAP" : "LDAP", + "Server" : "서버", + "Users" : "사용자", + "Login Attributes" : "로그인 속성", + "Groups" : "그룹", "Expert" : "전문가", "Advanced" : "고급", "Warning: Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behavior. Please ask your system administrator to disable one of them." : "경고: user_ldap, user_webdavauth 앱은 서로 호환되지 않습니다. 예상하지 못한 행동을 할 수도 있습니다. 시스템 관리자에게 연락하여 둘 중 하나의 앱의 사용을 중단하십시오.", diff --git a/apps/user_ldap/l10n/ko.json b/apps/user_ldap/l10n/ko.json index 235173f0bd5b1..ffc0c2b526fe2 100644 --- a/apps/user_ldap/l10n/ko.json +++ b/apps/user_ldap/l10n/ko.json @@ -49,10 +49,6 @@ "Could not detect user display name attribute. Please specify it yourself in advanced ldap settings." : "사용자 표시 이름을 결정할 수 없습니다. 고급 LDAP 설정에서 직접 입력하십시오.", "Could not find the desired feature" : "필요한 기능을 찾을 수 없음", "Invalid Host" : "잘못된 호스트", - "Server" : "서버", - "Users" : "사용자", - "Login Attributes" : "로그인 속성", - "Groups" : "그룹", "Test Configuration" : "설정 시험", "Help" : "도움말", "Groups meeting these criteria are available in %s:" : "이 조건을 만족하는 그룹은 %s에 있습니다:", @@ -100,6 +96,10 @@ "Back" : "뒤로", "Continue" : "계속", "LDAP" : "LDAP", + "Server" : "서버", + "Users" : "사용자", + "Login Attributes" : "로그인 속성", + "Groups" : "그룹", "Expert" : "전문가", "Advanced" : "고급", "Warning: Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behavior. Please ask your system administrator to disable one of them." : "경고: user_ldap, user_webdavauth 앱은 서로 호환되지 않습니다. 예상하지 못한 행동을 할 수도 있습니다. 시스템 관리자에게 연락하여 둘 중 하나의 앱의 사용을 중단하십시오.", diff --git a/apps/user_ldap/l10n/nb_NO.js b/apps/user_ldap/l10n/nb_NO.js index 062b959a4f13b..8536f545afd8c 100644 --- a/apps/user_ldap/l10n/nb_NO.js +++ b/apps/user_ldap/l10n/nb_NO.js @@ -51,10 +51,6 @@ OC.L10N.register( "Could not detect user display name attribute. Please specify it yourself in advanced ldap settings." : "Kunne ikke påvise attributt for brukers visningsnavn. Du må selv spesifisere det i avanserte LDAP-innstillinger.", "Could not find the desired feature" : "Fant ikke den ønskede funksjonaliteten", "Invalid Host" : "Ugyldig tjener", - "Server" : "Server", - "Users" : "Brukere", - "Login Attributes" : "Påloggingsattributter", - "Groups" : "Grupper", "Test Configuration" : "Test konfigurasjonen", "Help" : "Hjelp", "Groups meeting these criteria are available in %s:" : "Grupper som tilfredsstiller disse kriteriene er tilgjengelige i %s:", @@ -102,6 +98,10 @@ OC.L10N.register( "Back" : "Tilbake", "Continue" : "Fortsett", "LDAP" : "LDAP", + "Server" : "Server", + "Users" : "Brukere", + "Login Attributes" : "Påloggingsattributter", + "Groups" : "Grupper", "Expert" : "Ekspert", "Advanced" : "Avansert", "Warning: Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behavior. Please ask your system administrator to disable one of them." : "Advarsel: Appene user_ldap og user_webdavauth er ikke kompatible med hverandre. Uventet oppførsel kan forekomme. Be systemadministratoren om å deaktivere en av dem.", diff --git a/apps/user_ldap/l10n/nb_NO.json b/apps/user_ldap/l10n/nb_NO.json index 13a4444d8f55c..17e899f5dbe6e 100644 --- a/apps/user_ldap/l10n/nb_NO.json +++ b/apps/user_ldap/l10n/nb_NO.json @@ -49,10 +49,6 @@ "Could not detect user display name attribute. Please specify it yourself in advanced ldap settings." : "Kunne ikke påvise attributt for brukers visningsnavn. Du må selv spesifisere det i avanserte LDAP-innstillinger.", "Could not find the desired feature" : "Fant ikke den ønskede funksjonaliteten", "Invalid Host" : "Ugyldig tjener", - "Server" : "Server", - "Users" : "Brukere", - "Login Attributes" : "Påloggingsattributter", - "Groups" : "Grupper", "Test Configuration" : "Test konfigurasjonen", "Help" : "Hjelp", "Groups meeting these criteria are available in %s:" : "Grupper som tilfredsstiller disse kriteriene er tilgjengelige i %s:", @@ -100,6 +96,10 @@ "Back" : "Tilbake", "Continue" : "Fortsett", "LDAP" : "LDAP", + "Server" : "Server", + "Users" : "Brukere", + "Login Attributes" : "Påloggingsattributter", + "Groups" : "Grupper", "Expert" : "Ekspert", "Advanced" : "Avansert", "Warning: Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behavior. Please ask your system administrator to disable one of them." : "Advarsel: Appene user_ldap og user_webdavauth er ikke kompatible med hverandre. Uventet oppførsel kan forekomme. Be systemadministratoren om å deaktivere en av dem.", diff --git a/apps/user_ldap/l10n/nl.js b/apps/user_ldap/l10n/nl.js index f3af05d915a24..75de784b395a0 100644 --- a/apps/user_ldap/l10n/nl.js +++ b/apps/user_ldap/l10n/nl.js @@ -52,10 +52,6 @@ OC.L10N.register( "Could not detect user display name attribute. Please specify it yourself in advanced ldap settings." : "Kon het weergavenaam attribuut van de gebruiker niet vinden. Geef het zelf op in de geavanceerde ldap instellingen.", "Could not find the desired feature" : "Kon de gewenste functie niet vinden", "Invalid Host" : "Ongeldige server", - "Server" : "Server", - "Users" : "Gebruikers", - "Login Attributes" : "Inlogattributen", - "Groups" : "Groepen", "Test Configuration" : "Test configuratie", "Help" : "Help", "Groups meeting these criteria are available in %s:" : "Groepsafspraken die voldoen aan deze criteria zijn beschikbaar in %s:", @@ -104,6 +100,10 @@ OC.L10N.register( "Back" : "Terug", "Continue" : "Verder", "LDAP" : "LDAP", + "Server" : "Server", + "Users" : "Gebruikers", + "Login Attributes" : "Inlogattributen", + "Groups" : "Groepen", "Expert" : "Expert", "Advanced" : "Geavanceerd", "Warning: Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behavior. Please ask your system administrator to disable one of them." : "Waarschuwing: De Apps user_ldap en user_webdavauth zijn incompatible. Je kunt onverwacht gedrag ervaren. Vraag je beheerder om een van beide apps de deactiveren.", diff --git a/apps/user_ldap/l10n/nl.json b/apps/user_ldap/l10n/nl.json index f50af5c44d3b0..df6897547efe4 100644 --- a/apps/user_ldap/l10n/nl.json +++ b/apps/user_ldap/l10n/nl.json @@ -50,10 +50,6 @@ "Could not detect user display name attribute. Please specify it yourself in advanced ldap settings." : "Kon het weergavenaam attribuut van de gebruiker niet vinden. Geef het zelf op in de geavanceerde ldap instellingen.", "Could not find the desired feature" : "Kon de gewenste functie niet vinden", "Invalid Host" : "Ongeldige server", - "Server" : "Server", - "Users" : "Gebruikers", - "Login Attributes" : "Inlogattributen", - "Groups" : "Groepen", "Test Configuration" : "Test configuratie", "Help" : "Help", "Groups meeting these criteria are available in %s:" : "Groepsafspraken die voldoen aan deze criteria zijn beschikbaar in %s:", @@ -102,6 +98,10 @@ "Back" : "Terug", "Continue" : "Verder", "LDAP" : "LDAP", + "Server" : "Server", + "Users" : "Gebruikers", + "Login Attributes" : "Inlogattributen", + "Groups" : "Groepen", "Expert" : "Expert", "Advanced" : "Geavanceerd", "Warning: Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behavior. Please ask your system administrator to disable one of them." : "Waarschuwing: De Apps user_ldap en user_webdavauth zijn incompatible. Je kunt onverwacht gedrag ervaren. Vraag je beheerder om een van beide apps de deactiveren.", diff --git a/apps/user_ldap/l10n/pl.js b/apps/user_ldap/l10n/pl.js index 91ca681796c18..e63a44da399d6 100644 --- a/apps/user_ldap/l10n/pl.js +++ b/apps/user_ldap/l10n/pl.js @@ -39,10 +39,6 @@ OC.L10N.register( "Could not detect user display name attribute. Please specify it yourself in advanced ldap settings." : "Nie udało się wykryć atrybutu wyświetlanej nazwy użytkownika. Określ ją w zaawansowanych ustawieniach LDAP.", "Could not find the desired feature" : "Nie można znaleźć żądanej funkcji", "Invalid Host" : "Niepoprawny Host", - "Server" : "Serwer", - "Users" : "Użytkownicy", - "Login Attributes" : "Atrybuty logowania", - "Groups" : "Grupy", "Test Configuration" : "Konfiguracja testowa", "Help" : "Pomoc", "Groups meeting these criteria are available in %s:" : "Przyłączenie do grupy z tymi ustawieniami dostępne jest w %s:", @@ -81,6 +77,10 @@ OC.L10N.register( "Back" : "Wróć", "Continue" : "Kontynuuj ", "LDAP" : "LDAP", + "Server" : "Serwer", + "Users" : "Użytkownicy", + "Login Attributes" : "Atrybuty logowania", + "Groups" : "Grupy", "Expert" : "Ekspert", "Advanced" : "Zaawansowane", "Warning: Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behavior. Please ask your system administrator to disable one of them." : "Ostrzeżenie: Aplikacje user_ldap i user_webdavauth nie są kompatybilne. Mogą powodować nieoczekiwane zachowanie. Poproś administratora o wyłączenie jednej z nich.", diff --git a/apps/user_ldap/l10n/pl.json b/apps/user_ldap/l10n/pl.json index 9611326a79279..2ec260c88e540 100644 --- a/apps/user_ldap/l10n/pl.json +++ b/apps/user_ldap/l10n/pl.json @@ -37,10 +37,6 @@ "Could not detect user display name attribute. Please specify it yourself in advanced ldap settings." : "Nie udało się wykryć atrybutu wyświetlanej nazwy użytkownika. Określ ją w zaawansowanych ustawieniach LDAP.", "Could not find the desired feature" : "Nie można znaleźć żądanej funkcji", "Invalid Host" : "Niepoprawny Host", - "Server" : "Serwer", - "Users" : "Użytkownicy", - "Login Attributes" : "Atrybuty logowania", - "Groups" : "Grupy", "Test Configuration" : "Konfiguracja testowa", "Help" : "Pomoc", "Groups meeting these criteria are available in %s:" : "Przyłączenie do grupy z tymi ustawieniami dostępne jest w %s:", @@ -79,6 +75,10 @@ "Back" : "Wróć", "Continue" : "Kontynuuj ", "LDAP" : "LDAP", + "Server" : "Serwer", + "Users" : "Użytkownicy", + "Login Attributes" : "Atrybuty logowania", + "Groups" : "Grupy", "Expert" : "Ekspert", "Advanced" : "Zaawansowane", "Warning: Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behavior. Please ask your system administrator to disable one of them." : "Ostrzeżenie: Aplikacje user_ldap i user_webdavauth nie są kompatybilne. Mogą powodować nieoczekiwane zachowanie. Poproś administratora o wyłączenie jednej z nich.", diff --git a/apps/user_ldap/l10n/pt_BR.js b/apps/user_ldap/l10n/pt_BR.js index 8ae4f3a8f9f51..29f6f7be2c626 100644 --- a/apps/user_ldap/l10n/pt_BR.js +++ b/apps/user_ldap/l10n/pt_BR.js @@ -52,10 +52,6 @@ OC.L10N.register( "Could not detect user display name attribute. Please specify it yourself in advanced ldap settings." : "Não foi possível detectar o nome de exibição do atributo do usuário. Por favor, indique-o você mesmo em configurações avançadas do LDAP.", "Could not find the desired feature" : "Não foi possível encontrar a função desejada", "Invalid Host" : "Host Inválido", - "Server" : "Servidor", - "Users" : "Usuários", - "Login Attributes" : "Atributos de Acesso", - "Groups" : "Grupos", "Test Configuration" : "Teste de Configuração", "Help" : "Ajuda", "Groups meeting these criteria are available in %s:" : "Grupos que satisfazem estes critérios estão disponíveis em %s:", @@ -104,6 +100,10 @@ OC.L10N.register( "Back" : "Voltar", "Continue" : "Continuar", "LDAP" : "LDAP", + "Server" : "Servidor", + "Users" : "Usuários", + "Login Attributes" : "Atributos de Acesso", + "Groups" : "Grupos", "Expert" : "Especialista", "Advanced" : "Avançado", "Warning: Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behavior. Please ask your system administrator to disable one of them." : "Aviso: Os aplicativos user_ldap e user_webdavauth são incompatíveis. Você pode experimentar comportamento inesperado. Por favor, peça ao seu administrador do sistema para desabilitar um deles.", @@ -158,6 +158,7 @@ OC.L10N.register( "Username-LDAP User Mapping" : "Usuário-LDAP Mapeamento de Usuário", "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." : "Nomes de usuários são usados para armazenar e atribuir dados (meta). A fim de identificar e reconhecer precisamente usuários, cada usuário LDAP terá um nome de usuário interno. Isso requer um mapeamento de nome de usuário para usuário LDAP. O nome de usuário criado é mapeado para o UUID do usuário LDAP. Além disso, o DN é armazenado em cache, assim como para reduzir a interação LDAP, mas não é usado para identificação. Se o DN muda, as mudanças serão encontrados. O nome de usuário interno é usado por toda parte. Limpando os mapeamentos terá sobras em todos os lugares. Limpando os mapeamentos não é a configuração sensível, que afeta todas as configurações LDAP! Nunca limpar os mapeamentos em um ambiente de produção, somente em um teste ou estágio experimental.", "Clear Username-LDAP User Mapping" : "Limpar Mapeamento de Usuário Nome de Usuário-LDAP", - "Clear Groupname-LDAP Group Mapping" : "Limpar NomedoGrupo-LDAP Mapeamento do Grupo" + "Clear Groupname-LDAP Group Mapping" : "Limpar NomedoGrupo-LDAP Mapeamento do Grupo", + "Limit %s access to users meeting these criteria:" : "Limita o acesso a %s para usuários que satisfaçam estes critérios:" }, "nplurals=2; plural=(n > 1);"); diff --git a/apps/user_ldap/l10n/pt_BR.json b/apps/user_ldap/l10n/pt_BR.json index b46c78a3319e3..7286d4c476514 100644 --- a/apps/user_ldap/l10n/pt_BR.json +++ b/apps/user_ldap/l10n/pt_BR.json @@ -50,10 +50,6 @@ "Could not detect user display name attribute. Please specify it yourself in advanced ldap settings." : "Não foi possível detectar o nome de exibição do atributo do usuário. Por favor, indique-o você mesmo em configurações avançadas do LDAP.", "Could not find the desired feature" : "Não foi possível encontrar a função desejada", "Invalid Host" : "Host Inválido", - "Server" : "Servidor", - "Users" : "Usuários", - "Login Attributes" : "Atributos de Acesso", - "Groups" : "Grupos", "Test Configuration" : "Teste de Configuração", "Help" : "Ajuda", "Groups meeting these criteria are available in %s:" : "Grupos que satisfazem estes critérios estão disponíveis em %s:", @@ -102,6 +98,10 @@ "Back" : "Voltar", "Continue" : "Continuar", "LDAP" : "LDAP", + "Server" : "Servidor", + "Users" : "Usuários", + "Login Attributes" : "Atributos de Acesso", + "Groups" : "Grupos", "Expert" : "Especialista", "Advanced" : "Avançado", "Warning: Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behavior. Please ask your system administrator to disable one of them." : "Aviso: Os aplicativos user_ldap e user_webdavauth são incompatíveis. Você pode experimentar comportamento inesperado. Por favor, peça ao seu administrador do sistema para desabilitar um deles.", @@ -156,6 +156,7 @@ "Username-LDAP User Mapping" : "Usuário-LDAP Mapeamento de Usuário", "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." : "Nomes de usuários são usados para armazenar e atribuir dados (meta). A fim de identificar e reconhecer precisamente usuários, cada usuário LDAP terá um nome de usuário interno. Isso requer um mapeamento de nome de usuário para usuário LDAP. O nome de usuário criado é mapeado para o UUID do usuário LDAP. Além disso, o DN é armazenado em cache, assim como para reduzir a interação LDAP, mas não é usado para identificação. Se o DN muda, as mudanças serão encontrados. O nome de usuário interno é usado por toda parte. Limpando os mapeamentos terá sobras em todos os lugares. Limpando os mapeamentos não é a configuração sensível, que afeta todas as configurações LDAP! Nunca limpar os mapeamentos em um ambiente de produção, somente em um teste ou estágio experimental.", "Clear Username-LDAP User Mapping" : "Limpar Mapeamento de Usuário Nome de Usuário-LDAP", - "Clear Groupname-LDAP Group Mapping" : "Limpar NomedoGrupo-LDAP Mapeamento do Grupo" + "Clear Groupname-LDAP Group Mapping" : "Limpar NomedoGrupo-LDAP Mapeamento do Grupo", + "Limit %s access to users meeting these criteria:" : "Limita o acesso a %s para usuários que satisfaçam estes critérios:" },"pluralForm" :"nplurals=2; plural=(n > 1);" } \ No newline at end of file diff --git a/apps/user_ldap/l10n/pt_PT.js b/apps/user_ldap/l10n/pt_PT.js index e67c0713f06f3..ea00405f04b3e 100644 --- a/apps/user_ldap/l10n/pt_PT.js +++ b/apps/user_ldap/l10n/pt_PT.js @@ -52,10 +52,6 @@ OC.L10N.register( "Could not detect user display name attribute. Please specify it yourself in advanced ldap settings." : "Não foi possível detetar o atributo do nome do utilizador. Por favor especifique-o nas configurações ldap avançadas.", "Could not find the desired feature" : "Não se encontrou a função desejada", "Invalid Host" : "Hospedeiro Inválido", - "Server" : "Servidor", - "Users" : "Utilizadores", - "Login Attributes" : "Atributos de Sessão", - "Groups" : "Grupos", "Test Configuration" : "Testar a configuração", "Help" : "Ajuda", "Groups meeting these criteria are available in %s:" : "Grupos que satisfazerem estes critérios estão disponíveis em %s:", @@ -104,6 +100,10 @@ OC.L10N.register( "Back" : "Voltar", "Continue" : "Continuar", "LDAP" : "LDAP", + "Server" : "Servidor", + "Users" : "Utilizadores", + "Login Attributes" : "Atributos de Sessão", + "Groups" : "Grupos", "Expert" : "Perito", "Advanced" : "Avançado", "Warning: Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behavior. Please ask your system administrator to disable one of them." : "Aviso: A aplicação user_ldap e user_webdavauth são incompativeis. A aplicação pode tornar-se instável. Por favor, peça ao seu administrador para desactivar uma das aplicações.", diff --git a/apps/user_ldap/l10n/pt_PT.json b/apps/user_ldap/l10n/pt_PT.json index 9c0424b069789..253b95d400f9f 100644 --- a/apps/user_ldap/l10n/pt_PT.json +++ b/apps/user_ldap/l10n/pt_PT.json @@ -50,10 +50,6 @@ "Could not detect user display name attribute. Please specify it yourself in advanced ldap settings." : "Não foi possível detetar o atributo do nome do utilizador. Por favor especifique-o nas configurações ldap avançadas.", "Could not find the desired feature" : "Não se encontrou a função desejada", "Invalid Host" : "Hospedeiro Inválido", - "Server" : "Servidor", - "Users" : "Utilizadores", - "Login Attributes" : "Atributos de Sessão", - "Groups" : "Grupos", "Test Configuration" : "Testar a configuração", "Help" : "Ajuda", "Groups meeting these criteria are available in %s:" : "Grupos que satisfazerem estes critérios estão disponíveis em %s:", @@ -102,6 +98,10 @@ "Back" : "Voltar", "Continue" : "Continuar", "LDAP" : "LDAP", + "Server" : "Servidor", + "Users" : "Utilizadores", + "Login Attributes" : "Atributos de Sessão", + "Groups" : "Grupos", "Expert" : "Perito", "Advanced" : "Avançado", "Warning: Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behavior. Please ask your system administrator to disable one of them." : "Aviso: A aplicação user_ldap e user_webdavauth são incompativeis. A aplicação pode tornar-se instável. Por favor, peça ao seu administrador para desactivar uma das aplicações.", diff --git a/apps/user_ldap/l10n/ru.js b/apps/user_ldap/l10n/ru.js index 20430afdda1af..a9ac5d3cb4df1 100644 --- a/apps/user_ldap/l10n/ru.js +++ b/apps/user_ldap/l10n/ru.js @@ -52,10 +52,6 @@ OC.L10N.register( "Could not detect user display name attribute. Please specify it yourself in advanced ldap settings." : "Не удалось автоматически определить атрибут содержащий отображаемое имя пользователя. Зайдите в расширенные настройки ldap и укажите его вручную.", "Could not find the desired feature" : "Не удается найти требуемую функциональность", "Invalid Host" : "Некорректный адрес сервера", - "Server" : "Сервер", - "Users" : "Пользователи", - "Login Attributes" : "Учетные данные", - "Groups" : "Группы", "Test Configuration" : "Проверить конфигурацию", "Help" : "Помощь", "Groups meeting these criteria are available in %s:" : "Группы, отвечающие этим критериям доступны в %s:", @@ -104,6 +100,10 @@ OC.L10N.register( "Back" : "Назад", "Continue" : "Продолжить", "LDAP" : "LDAP", + "Server" : "Сервер", + "Users" : "Пользователи", + "Login Attributes" : "Учетные данные", + "Groups" : "Группы", "Expert" : "Эксперт", "Advanced" : "Дополнительно", "Warning: Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behavior. Please ask your system administrator to disable one of them." : "Предупреждение: Приложения user_ldap и user_webdavauth несовместимы. Вы можете наблюдать некорректное поведение. Пожалуйста, попросите вашего системного администратора отключить одно из них.", diff --git a/apps/user_ldap/l10n/ru.json b/apps/user_ldap/l10n/ru.json index 24d26b613c90f..afebab81e0e42 100644 --- a/apps/user_ldap/l10n/ru.json +++ b/apps/user_ldap/l10n/ru.json @@ -50,10 +50,6 @@ "Could not detect user display name attribute. Please specify it yourself in advanced ldap settings." : "Не удалось автоматически определить атрибут содержащий отображаемое имя пользователя. Зайдите в расширенные настройки ldap и укажите его вручную.", "Could not find the desired feature" : "Не удается найти требуемую функциональность", "Invalid Host" : "Некорректный адрес сервера", - "Server" : "Сервер", - "Users" : "Пользователи", - "Login Attributes" : "Учетные данные", - "Groups" : "Группы", "Test Configuration" : "Проверить конфигурацию", "Help" : "Помощь", "Groups meeting these criteria are available in %s:" : "Группы, отвечающие этим критериям доступны в %s:", @@ -102,6 +98,10 @@ "Back" : "Назад", "Continue" : "Продолжить", "LDAP" : "LDAP", + "Server" : "Сервер", + "Users" : "Пользователи", + "Login Attributes" : "Учетные данные", + "Groups" : "Группы", "Expert" : "Эксперт", "Advanced" : "Дополнительно", "Warning: Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behavior. Please ask your system administrator to disable one of them." : "Предупреждение: Приложения user_ldap и user_webdavauth несовместимы. Вы можете наблюдать некорректное поведение. Пожалуйста, попросите вашего системного администратора отключить одно из них.", diff --git a/apps/user_ldap/l10n/sk_SK.js b/apps/user_ldap/l10n/sk_SK.js index d34e3f8d15dbf..49476ca397778 100644 --- a/apps/user_ldap/l10n/sk_SK.js +++ b/apps/user_ldap/l10n/sk_SK.js @@ -50,10 +50,6 @@ OC.L10N.register( "Could not detect user display name attribute. Please specify it yourself in advanced ldap settings." : "Nemožno zistiť používateľský atribút pre zobrazenie používateľského mena. Prosím, zadajte ho sami v pokročilých nastaveniach LDAP.", "Could not find the desired feature" : "Nemožno nájsť požadovanú funkciu", "Invalid Host" : "Neplatný hostiteľ", - "Server" : "Server", - "Users" : "Používatelia", - "Login Attributes" : "Prihlasovacie atribúty", - "Groups" : "Skupiny", "Test Configuration" : "Test nastavenia", "Help" : "Pomoc", "Groups meeting these criteria are available in %s:" : "Skupiny spĺňajúce tieto kritériá sú k dispozícii v %s:", @@ -101,6 +97,10 @@ OC.L10N.register( "Back" : "Späť", "Continue" : "Pokračovať", "LDAP" : "LDAP", + "Server" : "Server", + "Users" : "Používatelia", + "Login Attributes" : "Prihlasovacie atribúty", + "Groups" : "Skupiny", "Expert" : "Expert", "Advanced" : "Rozšírené", "Warning: Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behavior. Please ask your system administrator to disable one of them." : "Upozornenie: Aplikácie user_ldap a user_webdavauth sú navzájom nekompatibilné. Môžete zaznamenať neočakávané správanie. Požiadajte prosím vášho systémového administrátora pre zakázanie jedného z nich.", diff --git a/apps/user_ldap/l10n/sk_SK.json b/apps/user_ldap/l10n/sk_SK.json index 9d282a2031ff4..4642da5c7a552 100644 --- a/apps/user_ldap/l10n/sk_SK.json +++ b/apps/user_ldap/l10n/sk_SK.json @@ -48,10 +48,6 @@ "Could not detect user display name attribute. Please specify it yourself in advanced ldap settings." : "Nemožno zistiť používateľský atribút pre zobrazenie používateľského mena. Prosím, zadajte ho sami v pokročilých nastaveniach LDAP.", "Could not find the desired feature" : "Nemožno nájsť požadovanú funkciu", "Invalid Host" : "Neplatný hostiteľ", - "Server" : "Server", - "Users" : "Používatelia", - "Login Attributes" : "Prihlasovacie atribúty", - "Groups" : "Skupiny", "Test Configuration" : "Test nastavenia", "Help" : "Pomoc", "Groups meeting these criteria are available in %s:" : "Skupiny spĺňajúce tieto kritériá sú k dispozícii v %s:", @@ -99,6 +95,10 @@ "Back" : "Späť", "Continue" : "Pokračovať", "LDAP" : "LDAP", + "Server" : "Server", + "Users" : "Používatelia", + "Login Attributes" : "Prihlasovacie atribúty", + "Groups" : "Skupiny", "Expert" : "Expert", "Advanced" : "Rozšírené", "Warning: Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behavior. Please ask your system administrator to disable one of them." : "Upozornenie: Aplikácie user_ldap a user_webdavauth sú navzájom nekompatibilné. Môžete zaznamenať neočakávané správanie. Požiadajte prosím vášho systémového administrátora pre zakázanie jedného z nich.", diff --git a/apps/user_ldap/l10n/sl.js b/apps/user_ldap/l10n/sl.js index 7180a469b9231..aa68b965720f2 100644 --- a/apps/user_ldap/l10n/sl.js +++ b/apps/user_ldap/l10n/sl.js @@ -52,10 +52,6 @@ OC.L10N.register( "Could not detect user display name attribute. Please specify it yourself in advanced ldap settings." : "Ni mogoče prebrati atributa prikaznega imena. Določiti ga je treba ročno med nastavitvami LDAP.", "Could not find the desired feature" : "Želene zmožnosti ni mogoče najti", "Invalid Host" : "Neveljaven gostitelj", - "Server" : "Strežnik", - "Users" : "Uporabniki", - "Login Attributes" : "Atributi prijave", - "Groups" : "Skupine", "Test Configuration" : "Preizkusne nastavitve", "Help" : "Pomoč", "Groups meeting these criteria are available in %s:" : "Skupine, ki so skladne s kriterijem, so na voljo v %s:", @@ -103,6 +99,10 @@ OC.L10N.register( "Back" : "Nazaj", "Continue" : "Nadaljuj", "LDAP" : "LDAP", + "Server" : "Strežnik", + "Users" : "Uporabniki", + "Login Attributes" : "Atributi prijave", + "Groups" : "Skupine", "Expert" : "Napredno", "Advanced" : "Napredne možnosti", "Warning: Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behavior. Please ask your system administrator to disable one of them." : "Opozorilo: določili user_ldap in user_webdavauth sta neskladni, kar lahko vpliva na delovanje sistema. O napaki pošljite poročilo skrbniku sistema in opozorite, da je treba eno izmed možnosti onemogočiti.", diff --git a/apps/user_ldap/l10n/sl.json b/apps/user_ldap/l10n/sl.json index ed16bfeafc861..8ae76bd06d890 100644 --- a/apps/user_ldap/l10n/sl.json +++ b/apps/user_ldap/l10n/sl.json @@ -50,10 +50,6 @@ "Could not detect user display name attribute. Please specify it yourself in advanced ldap settings." : "Ni mogoče prebrati atributa prikaznega imena. Določiti ga je treba ročno med nastavitvami LDAP.", "Could not find the desired feature" : "Želene zmožnosti ni mogoče najti", "Invalid Host" : "Neveljaven gostitelj", - "Server" : "Strežnik", - "Users" : "Uporabniki", - "Login Attributes" : "Atributi prijave", - "Groups" : "Skupine", "Test Configuration" : "Preizkusne nastavitve", "Help" : "Pomoč", "Groups meeting these criteria are available in %s:" : "Skupine, ki so skladne s kriterijem, so na voljo v %s:", @@ -101,6 +97,10 @@ "Back" : "Nazaj", "Continue" : "Nadaljuj", "LDAP" : "LDAP", + "Server" : "Strežnik", + "Users" : "Uporabniki", + "Login Attributes" : "Atributi prijave", + "Groups" : "Skupine", "Expert" : "Napredno", "Advanced" : "Napredne možnosti", "Warning: Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behavior. Please ask your system administrator to disable one of them." : "Opozorilo: določili user_ldap in user_webdavauth sta neskladni, kar lahko vpliva na delovanje sistema. O napaki pošljite poročilo skrbniku sistema in opozorite, da je treba eno izmed možnosti onemogočiti.", diff --git a/apps/user_ldap/l10n/sq.js b/apps/user_ldap/l10n/sq.js index 32d3344f1f5e3..8d999ba16e7d9 100644 --- a/apps/user_ldap/l10n/sq.js +++ b/apps/user_ldap/l10n/sq.js @@ -52,10 +52,6 @@ OC.L10N.register( "Could not detect user display name attribute. Please specify it yourself in advanced ldap settings." : "S’u zbulua dot atribut emri përdoruesi në ekran. Ju lutemi, caktojeni ju vetë te rregullime e mëtejshme për LDAP.", "Could not find the desired feature" : "S’u gjet dot veçoria e dëshiruar", "Invalid Host" : "Strehë e Pavlefshme", - "Server" : "Shërbyes", - "Users" : "Përdorues", - "Login Attributes" : "Atribute Hyrjesh", - "Groups" : "Grupe", "Test Configuration" : "Provoni konfigurimet", "Help" : "Ndihmë", "Groups meeting these criteria are available in %s:" : "Grupet që i plotësojnë këto kushte gjenden te %s:", @@ -104,6 +100,10 @@ OC.L10N.register( "Back" : "Mbrapsht", "Continue" : "Vazhdo", "LDAP" : "LDAP", + "Server" : "Shërbyes", + "Users" : "Përdorues", + "Login Attributes" : "Atribute Hyrjesh", + "Groups" : "Grupe", "Expert" : "Ekspert", "Advanced" : "Të mëtejshme", "Warning: Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behavior. Please ask your system administrator to disable one of them." : "Kujdes: user_ldap dhe user_webdavauth të aplikacionit janë të papërputhshëm. Mund t’ju ndodhin sjellje të papritura. Ju lutemi, kërkojini përgjegjësit të sistemit tuaj të çaktivizojë një prej tyre.", diff --git a/apps/user_ldap/l10n/sq.json b/apps/user_ldap/l10n/sq.json index 199f270cb7468..55062cff11def 100644 --- a/apps/user_ldap/l10n/sq.json +++ b/apps/user_ldap/l10n/sq.json @@ -50,10 +50,6 @@ "Could not detect user display name attribute. Please specify it yourself in advanced ldap settings." : "S’u zbulua dot atribut emri përdoruesi në ekran. Ju lutemi, caktojeni ju vetë te rregullime e mëtejshme për LDAP.", "Could not find the desired feature" : "S’u gjet dot veçoria e dëshiruar", "Invalid Host" : "Strehë e Pavlefshme", - "Server" : "Shërbyes", - "Users" : "Përdorues", - "Login Attributes" : "Atribute Hyrjesh", - "Groups" : "Grupe", "Test Configuration" : "Provoni konfigurimet", "Help" : "Ndihmë", "Groups meeting these criteria are available in %s:" : "Grupet që i plotësojnë këto kushte gjenden te %s:", @@ -102,6 +98,10 @@ "Back" : "Mbrapsht", "Continue" : "Vazhdo", "LDAP" : "LDAP", + "Server" : "Shërbyes", + "Users" : "Përdorues", + "Login Attributes" : "Atribute Hyrjesh", + "Groups" : "Grupe", "Expert" : "Ekspert", "Advanced" : "Të mëtejshme", "Warning: Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behavior. Please ask your system administrator to disable one of them." : "Kujdes: user_ldap dhe user_webdavauth të aplikacionit janë të papërputhshëm. Mund t’ju ndodhin sjellje të papritura. Ju lutemi, kërkojini përgjegjësit të sistemit tuaj të çaktivizojë një prej tyre.", diff --git a/apps/user_ldap/l10n/sr.js b/apps/user_ldap/l10n/sr.js index e4f8d6e1a5f4f..85613eec41ea6 100644 --- a/apps/user_ldap/l10n/sr.js +++ b/apps/user_ldap/l10n/sr.js @@ -51,10 +51,6 @@ OC.L10N.register( "Could not detect user display name attribute. Please specify it yourself in advanced ldap settings." : "Немогу да откријем особину приказивања корисниковог имена. Наведите је у напредним поставкама LDAP-a", "Could not find the desired feature" : "Не могу да пронађем жељену особину", "Invalid Host" : "Неисправан домаћин", - "Server" : "Сервер", - "Users" : "Корисници", - "Login Attributes" : "Атрибути пријаве", - "Groups" : "Групе", "Test Configuration" : "Испробај поставу", "Help" : "Помоћ", "Groups meeting these criteria are available in %s:" : "Групе које испуњавају ове критеријуме су доступне у %s:", @@ -102,6 +98,10 @@ OC.L10N.register( "Back" : "Назад", "Continue" : "Настави", "LDAP" : "LDAP", + "Server" : "Сервер", + "Users" : "Корисници", + "Login Attributes" : "Атрибути пријаве", + "Groups" : "Групе", "Expert" : "Стручњак", "Advanced" : "Напредно", "Warning: Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behavior. Please ask your system administrator to disable one of them." : "Упозорење: Апликације user_ldap и user_webdavauth нису компатибилне. Можете имати проблема. Питајте систем администратора да искључи једну од њих.", diff --git a/apps/user_ldap/l10n/sr.json b/apps/user_ldap/l10n/sr.json index 469f00b4af9c6..6823fb23228c0 100644 --- a/apps/user_ldap/l10n/sr.json +++ b/apps/user_ldap/l10n/sr.json @@ -49,10 +49,6 @@ "Could not detect user display name attribute. Please specify it yourself in advanced ldap settings." : "Немогу да откријем особину приказивања корисниковог имена. Наведите је у напредним поставкама LDAP-a", "Could not find the desired feature" : "Не могу да пронађем жељену особину", "Invalid Host" : "Неисправан домаћин", - "Server" : "Сервер", - "Users" : "Корисници", - "Login Attributes" : "Атрибути пријаве", - "Groups" : "Групе", "Test Configuration" : "Испробај поставу", "Help" : "Помоћ", "Groups meeting these criteria are available in %s:" : "Групе које испуњавају ове критеријуме су доступне у %s:", @@ -100,6 +96,10 @@ "Back" : "Назад", "Continue" : "Настави", "LDAP" : "LDAP", + "Server" : "Сервер", + "Users" : "Корисници", + "Login Attributes" : "Атрибути пријаве", + "Groups" : "Групе", "Expert" : "Стручњак", "Advanced" : "Напредно", "Warning: Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behavior. Please ask your system administrator to disable one of them." : "Упозорење: Апликације user_ldap и user_webdavauth нису компатибилне. Можете имати проблема. Питајте систем администратора да искључи једну од њих.", diff --git a/apps/user_ldap/l10n/sv.js b/apps/user_ldap/l10n/sv.js index 936234c5d7f07..650abf885a892 100644 --- a/apps/user_ldap/l10n/sv.js +++ b/apps/user_ldap/l10n/sv.js @@ -49,9 +49,6 @@ OC.L10N.register( "Could not detect user display name attribute. Please specify it yourself in advanced ldap settings." : "Kunde inte upptäcka attributet användarvisningsnamn. Vänligen ange det själv i de avancerade LDAP-inställningarna.", "Could not find the desired feature" : "Det gick inte hitta den önskade funktionen", "Invalid Host" : "Felaktig värd", - "Server" : "Server", - "Users" : "Användare", - "Groups" : "Grupper", "Test Configuration" : "Testa konfigurationen", "Help" : "Hjälp", "Groups meeting these criteria are available in %s:" : "Grupper som uppfyller dessa kriterier finns i %s:", @@ -76,6 +73,9 @@ OC.L10N.register( "Back" : "Tillbaka", "Continue" : "Fortsätt", "LDAP" : "LDAP", + "Server" : "Server", + "Users" : "Användare", + "Groups" : "Grupper", "Expert" : "Expert", "Advanced" : "Avancerad", "Warning: Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behavior. Please ask your system administrator to disable one of them." : "Varning: Apps user_ldap och user_webdavauth är inkompatibla. Oväntade problem kan uppstå. Be din systemadministratör att inaktivera en av dem.", diff --git a/apps/user_ldap/l10n/sv.json b/apps/user_ldap/l10n/sv.json index 4bd700afdb3bc..246ec8f771869 100644 --- a/apps/user_ldap/l10n/sv.json +++ b/apps/user_ldap/l10n/sv.json @@ -47,9 +47,6 @@ "Could not detect user display name attribute. Please specify it yourself in advanced ldap settings." : "Kunde inte upptäcka attributet användarvisningsnamn. Vänligen ange det själv i de avancerade LDAP-inställningarna.", "Could not find the desired feature" : "Det gick inte hitta den önskade funktionen", "Invalid Host" : "Felaktig värd", - "Server" : "Server", - "Users" : "Användare", - "Groups" : "Grupper", "Test Configuration" : "Testa konfigurationen", "Help" : "Hjälp", "Groups meeting these criteria are available in %s:" : "Grupper som uppfyller dessa kriterier finns i %s:", @@ -74,6 +71,9 @@ "Back" : "Tillbaka", "Continue" : "Fortsätt", "LDAP" : "LDAP", + "Server" : "Server", + "Users" : "Användare", + "Groups" : "Grupper", "Expert" : "Expert", "Advanced" : "Avancerad", "Warning: Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behavior. Please ask your system administrator to disable one of them." : "Varning: Apps user_ldap och user_webdavauth är inkompatibla. Oväntade problem kan uppstå. Be din systemadministratör att inaktivera en av dem.", diff --git a/apps/user_ldap/l10n/th_TH.js b/apps/user_ldap/l10n/th_TH.js index 495a86acc69d7..68aa1069fdcd9 100644 --- a/apps/user_ldap/l10n/th_TH.js +++ b/apps/user_ldap/l10n/th_TH.js @@ -52,10 +52,6 @@ OC.L10N.register( "Could not detect user display name attribute. Please specify it yourself in advanced ldap settings." : "ไม่สามารถตรวจสอบคุณลักษณะการแสดงชื่อของผู้ใช้ กรุณาระบุการตั้งค่า LDAP ขั้นสูงด้วยตัวคุณเอง", "Could not find the desired feature" : "ไม่พบคุณลักษณะที่ต้องการ", "Invalid Host" : "โฮสต์ไม่ถูกต้อง", - "Server" : "เซิร์ฟเวอร์", - "Users" : "ผู้ใช้งาน", - "Login Attributes" : "คุณลักษณะการเข้าสู่ระบบ", - "Groups" : "กลุ่ม", "Test Configuration" : "ทดสอบการตั้งค่า", "Help" : "ช่วยเหลือ", "Groups meeting these criteria are available in %s:" : "การประชุมกลุ่มเหล่านี้มีหลักเกณฑ์อยู่ใน %s:", @@ -103,6 +99,10 @@ OC.L10N.register( "Back" : "ย้อนกลับ", "Continue" : "ดำเนินการต่อ", "LDAP" : "LDAP", + "Server" : "เซิร์ฟเวอร์", + "Users" : "ผู้ใช้งาน", + "Login Attributes" : "คุณลักษณะการเข้าสู่ระบบ", + "Groups" : "กลุ่ม", "Expert" : "ผู้เชี่ยวชาญ", "Advanced" : "ขั้นสูง", "Warning: Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behavior. Please ask your system administrator to disable one of them." : "คำเตือน: แอพฯ user_ldap และ user_webdavauth เข้ากันไม่ได้ คุณอาจจะพบเหตุการณ์ที่ไม่คาดคิด กรุณาขอให้ผู้ดูแลระบบของคุณปิดการใช้งานบางอย่างของพวกเขา", diff --git a/apps/user_ldap/l10n/th_TH.json b/apps/user_ldap/l10n/th_TH.json index 8237bff04b5cb..1f74008274e41 100644 --- a/apps/user_ldap/l10n/th_TH.json +++ b/apps/user_ldap/l10n/th_TH.json @@ -50,10 +50,6 @@ "Could not detect user display name attribute. Please specify it yourself in advanced ldap settings." : "ไม่สามารถตรวจสอบคุณลักษณะการแสดงชื่อของผู้ใช้ กรุณาระบุการตั้งค่า LDAP ขั้นสูงด้วยตัวคุณเอง", "Could not find the desired feature" : "ไม่พบคุณลักษณะที่ต้องการ", "Invalid Host" : "โฮสต์ไม่ถูกต้อง", - "Server" : "เซิร์ฟเวอร์", - "Users" : "ผู้ใช้งาน", - "Login Attributes" : "คุณลักษณะการเข้าสู่ระบบ", - "Groups" : "กลุ่ม", "Test Configuration" : "ทดสอบการตั้งค่า", "Help" : "ช่วยเหลือ", "Groups meeting these criteria are available in %s:" : "การประชุมกลุ่มเหล่านี้มีหลักเกณฑ์อยู่ใน %s:", @@ -101,6 +97,10 @@ "Back" : "ย้อนกลับ", "Continue" : "ดำเนินการต่อ", "LDAP" : "LDAP", + "Server" : "เซิร์ฟเวอร์", + "Users" : "ผู้ใช้งาน", + "Login Attributes" : "คุณลักษณะการเข้าสู่ระบบ", + "Groups" : "กลุ่ม", "Expert" : "ผู้เชี่ยวชาญ", "Advanced" : "ขั้นสูง", "Warning: Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behavior. Please ask your system administrator to disable one of them." : "คำเตือน: แอพฯ user_ldap และ user_webdavauth เข้ากันไม่ได้ คุณอาจจะพบเหตุการณ์ที่ไม่คาดคิด กรุณาขอให้ผู้ดูแลระบบของคุณปิดการใช้งานบางอย่างของพวกเขา", diff --git a/apps/user_ldap/l10n/tr.js b/apps/user_ldap/l10n/tr.js index 9b319a1c6c84d..cbbeb992ce886 100644 --- a/apps/user_ldap/l10n/tr.js +++ b/apps/user_ldap/l10n/tr.js @@ -52,10 +52,6 @@ OC.L10N.register( "Could not detect user display name attribute. Please specify it yourself in advanced ldap settings." : "Görüntülenecek kullanıcı adı özelliği algılanamadı. Lütfen gelişmiş ldap ayarlarına girerek kendiniz belirleyin.", "Could not find the desired feature" : "İstenen özellik bulunamadı", "Invalid Host" : "Geçersiz Makine", - "Server" : "Sunucu", - "Users" : "Kullanıcılar", - "Login Attributes" : "Oturum Açma Öznitelikleri", - "Groups" : "Gruplar", "Test Configuration" : "Yapılandırmayı Sına", "Help" : "Yardım", "Groups meeting these criteria are available in %s:" : "Bu kriterlerle eşleşen gruplar %s içinde mevcut:", @@ -104,6 +100,10 @@ OC.L10N.register( "Back" : "Geri", "Continue" : "Devam et", "LDAP" : "LDAP", + "Server" : "Sunucu", + "Users" : "Kullanıcılar", + "Login Attributes" : "Oturum Açma Öznitelikleri", + "Groups" : "Gruplar", "Expert" : "Uzman", "Advanced" : "Gelişmiş", "Warning: Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behavior. Please ask your system administrator to disable one of them." : "Uyarı: user_ldap ve user_webdavauth uygulamaları uyumlu değil. Beklenmedik bir davranışla karşılaşabilirsiniz. Lütfen ikisinden birini devre dışı bırakmak için sistem yöneticinizle iletişime geçin.", diff --git a/apps/user_ldap/l10n/tr.json b/apps/user_ldap/l10n/tr.json index 119b09968f806..1a351b5fab44c 100644 --- a/apps/user_ldap/l10n/tr.json +++ b/apps/user_ldap/l10n/tr.json @@ -50,10 +50,6 @@ "Could not detect user display name attribute. Please specify it yourself in advanced ldap settings." : "Görüntülenecek kullanıcı adı özelliği algılanamadı. Lütfen gelişmiş ldap ayarlarına girerek kendiniz belirleyin.", "Could not find the desired feature" : "İstenen özellik bulunamadı", "Invalid Host" : "Geçersiz Makine", - "Server" : "Sunucu", - "Users" : "Kullanıcılar", - "Login Attributes" : "Oturum Açma Öznitelikleri", - "Groups" : "Gruplar", "Test Configuration" : "Yapılandırmayı Sına", "Help" : "Yardım", "Groups meeting these criteria are available in %s:" : "Bu kriterlerle eşleşen gruplar %s içinde mevcut:", @@ -102,6 +98,10 @@ "Back" : "Geri", "Continue" : "Devam et", "LDAP" : "LDAP", + "Server" : "Sunucu", + "Users" : "Kullanıcılar", + "Login Attributes" : "Oturum Açma Öznitelikleri", + "Groups" : "Gruplar", "Expert" : "Uzman", "Advanced" : "Gelişmiş", "Warning: Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behavior. Please ask your system administrator to disable one of them." : "Uyarı: user_ldap ve user_webdavauth uygulamaları uyumlu değil. Beklenmedik bir davranışla karşılaşabilirsiniz. Lütfen ikisinden birini devre dışı bırakmak için sistem yöneticinizle iletişime geçin.", diff --git a/apps/user_ldap/l10n/zh_CN.js b/apps/user_ldap/l10n/zh_CN.js index 0e8f0ee3eeff3..ba43e26abb257 100644 --- a/apps/user_ldap/l10n/zh_CN.js +++ b/apps/user_ldap/l10n/zh_CN.js @@ -51,10 +51,6 @@ OC.L10N.register( "Could not detect user display name attribute. Please specify it yourself in advanced ldap settings." : "无法检测到用户的显示名称属性。请在高级LDAP设置中指定。", "Could not find the desired feature" : "无法找到所需的功能", "Invalid Host" : "无效的主机", - "Server" : "服务器", - "Users" : "用户", - "Login Attributes" : "登录属性", - "Groups" : "群组", "Test Configuration" : "测试配置", "Help" : "帮助", "Groups meeting these criteria are available in %s:" : "满足这些条件组在%s可供选择:", @@ -102,6 +98,10 @@ OC.L10N.register( "Back" : "返回", "Continue" : "继续", "LDAP" : "LDAP", + "Server" : "服务器", + "Users" : "用户", + "Login Attributes" : "登录属性", + "Groups" : "群组", "Expert" : "专家", "Advanced" : "高级", "Warning: Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behavior. Please ask your system administrator to disable one of them." : "警告: 应用 user_ldap 和 user_webdavauth 之间不兼容。您可能遭遇未预料的行为。请让系统管理员禁用其中一个。", diff --git a/apps/user_ldap/l10n/zh_CN.json b/apps/user_ldap/l10n/zh_CN.json index 3b8577bb9ea54..10a1bd8b8ed58 100644 --- a/apps/user_ldap/l10n/zh_CN.json +++ b/apps/user_ldap/l10n/zh_CN.json @@ -49,10 +49,6 @@ "Could not detect user display name attribute. Please specify it yourself in advanced ldap settings." : "无法检测到用户的显示名称属性。请在高级LDAP设置中指定。", "Could not find the desired feature" : "无法找到所需的功能", "Invalid Host" : "无效的主机", - "Server" : "服务器", - "Users" : "用户", - "Login Attributes" : "登录属性", - "Groups" : "群组", "Test Configuration" : "测试配置", "Help" : "帮助", "Groups meeting these criteria are available in %s:" : "满足这些条件组在%s可供选择:", @@ -100,6 +96,10 @@ "Back" : "返回", "Continue" : "继续", "LDAP" : "LDAP", + "Server" : "服务器", + "Users" : "用户", + "Login Attributes" : "登录属性", + "Groups" : "群组", "Expert" : "专家", "Advanced" : "高级", "Warning: Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behavior. Please ask your system administrator to disable one of them." : "警告: 应用 user_ldap 和 user_webdavauth 之间不兼容。您可能遭遇未预料的行为。请让系统管理员禁用其中一个。", diff --git a/apps/user_ldap/l10n/zh_TW.js b/apps/user_ldap/l10n/zh_TW.js index 1197595d48529..22c381985dc6e 100644 --- a/apps/user_ldap/l10n/zh_TW.js +++ b/apps/user_ldap/l10n/zh_TW.js @@ -47,10 +47,6 @@ OC.L10N.register( "Could not detect user display name attribute. Please specify it yourself in advanced ldap settings." : "無法偵測使用者的顯示名稱,請您自行在ldap設定中指定", "Could not find the desired feature" : "無法找到所需的功能", "Invalid Host" : "無效的Host", - "Server" : "伺服器", - "Users" : "使用者", - "Login Attributes" : "登入的設定", - "Groups" : "群組", "Test Configuration" : "測試此設定", "Help" : "說明", "Only from these groups:" : "只從這些群組:", @@ -91,6 +87,10 @@ OC.L10N.register( "Back" : "返回", "Continue" : "繼續", "LDAP" : "LDAP", + "Server" : "伺服器", + "Users" : "使用者", + "Login Attributes" : "登入的設定", + "Groups" : "群組", "Advanced" : "進階", "Warning: Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behavior. Please ask your system administrator to disable one of them." : "警告: 應用程式user_ldap和user_webdavauth互不相容。可能會造成無法預期的結果。請要求您的系統管理員將兩者其中之一停用。", "Warning: The PHP LDAP module is not installed, the backend will not work. Please ask your system administrator to install it." : "警告:沒有安裝 PHP LDAP 模組,後端系統將無法運作,請要求您的系統管理員安裝模組。", diff --git a/apps/user_ldap/l10n/zh_TW.json b/apps/user_ldap/l10n/zh_TW.json index 11a9cadfd2937..16645dd706a55 100644 --- a/apps/user_ldap/l10n/zh_TW.json +++ b/apps/user_ldap/l10n/zh_TW.json @@ -45,10 +45,6 @@ "Could not detect user display name attribute. Please specify it yourself in advanced ldap settings." : "無法偵測使用者的顯示名稱,請您自行在ldap設定中指定", "Could not find the desired feature" : "無法找到所需的功能", "Invalid Host" : "無效的Host", - "Server" : "伺服器", - "Users" : "使用者", - "Login Attributes" : "登入的設定", - "Groups" : "群組", "Test Configuration" : "測試此設定", "Help" : "說明", "Only from these groups:" : "只從這些群組:", @@ -89,6 +85,10 @@ "Back" : "返回", "Continue" : "繼續", "LDAP" : "LDAP", + "Server" : "伺服器", + "Users" : "使用者", + "Login Attributes" : "登入的設定", + "Groups" : "群組", "Advanced" : "進階", "Warning: Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behavior. Please ask your system administrator to disable one of them." : "警告: 應用程式user_ldap和user_webdavauth互不相容。可能會造成無法預期的結果。請要求您的系統管理員將兩者其中之一停用。", "Warning: The PHP LDAP module is not installed, the backend will not work. Please ask your system administrator to install it." : "警告:沒有安裝 PHP LDAP 模組,後端系統將無法運作,請要求您的系統管理員安裝模組。", diff --git a/apps/user_ldap/lib/Settings/Admin.php b/apps/user_ldap/lib/Settings/Admin.php new file mode 100644 index 0000000000000..ca7db66c788dc --- /dev/null +++ b/apps/user_ldap/lib/Settings/Admin.php @@ -0,0 +1,89 @@ + + * + * @author Arthur Schiwon + * + * @license GNU AGPL version 3 or any later version + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + */ + +namespace OCA\User_LDAP\Settings; + +use OCA\User_LDAP\Configuration; +use OCA\User_LDAP\Helper; +use OCP\AppFramework\Http\TemplateResponse; +use OCP\IL10N; +use OCP\Settings\ISettings; +use OCP\Template; + +class Admin implements ISettings { + /** @var IL10N */ + private $l; + + /** + * @param IL10N $l + */ + public function __construct(IL10N $l) { + $this->l = $l; + } + + /** + * @return TemplateResponse + */ + public function getForm() { + $helper = new Helper(); + $prefixes = $helper->getServerConfigurationPrefixes(); + $hosts = $helper->getServerConfigurationHosts(); + + $wControls = new Template('user_ldap', 'part.wizardcontrols'); + $wControls = $wControls->fetchPage(); + $sControls = new Template('user_ldap', 'part.settingcontrols'); + $sControls = $sControls->fetchPage(); + + $parameters['serverConfigurationPrefixes'] = $prefixes; + $parameters['serverConfigurationHosts'] = $hosts; + $parameters['settingControls'] = $sControls; + $parameters['wizardControls'] = $wControls; + + // assign default values + $config = new Configuration('', false); + $defaults = $config->getDefaults(); + foreach($defaults as $key => $default) { + $parameters[$key.'_default'] = $default; + } + + return new TemplateResponse('user_ldap', 'settings', $parameters); + } + + /** + * @return string the section ID, e.g. 'sharing' + */ + public function getSection() { + return 'ldap'; + } + + /** + * @return int whether the form should be rather on the top or bottom of + * the admin section. The forms are arranged in ascending order of the + * priority values. It is required to return a value between 0 and 100. + * + * E.g.: 70 + */ + public function getPriority() { + return 5; + } +} diff --git a/apps/user_ldap/lib/Settings/Section.php b/apps/user_ldap/lib/Settings/Section.php new file mode 100644 index 0000000000000..82d8d0c84fa80 --- /dev/null +++ b/apps/user_ldap/lib/Settings/Section.php @@ -0,0 +1,67 @@ + + * + * @author Arthur Schiwon + * + * @license GNU AGPL version 3 or any later version + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + */ + +namespace OCA\User_LDAP\Settings; + +use OCP\IL10N; +use OCP\Settings\ISection; + +class Section implements ISection { + /** @var IL10N */ + private $l; + + public function __construct(IL10N $l) { + $this->l = $l; + } + + /** + * returns the ID of the section. It is supposed to be a lower case string, + * e.g. 'ldap' + * + * @returns string + */ + public function getID() { + return 'ldap'; + } + + /** + * returns the translated name as it should be displayed, e.g. 'LDAP / AD + * integration'. Use the L10N service to translate it. + * + * @return string + */ + public function getName() { + return $this->l->t('LDAP / AD integration'); + } + + /** + * @return int whether the form should be rather on the top or bottom of + * the settings navigation. The sections are arranged in ascending order of + * the priority values. It is required to return a value between 0 and 99. + * + * E.g.: 70 + */ + public function getPriority() { + return 25; + } +} diff --git a/apps/user_ldap/settings.php b/apps/user_ldap/settings.php deleted file mode 100644 index f20f873e1343b..0000000000000 --- a/apps/user_ldap/settings.php +++ /dev/null @@ -1,75 +0,0 @@ - - * @author Dominik Schmidt - * @author Joas Schilling - * @author Lukas Reschke - * @author Morris Jobke - * @author Robin Appelman - * @author Robin McCorkell - * @author Volkan Gezer - * - * @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 - * - */ - -// fill template -$tmpl = new OCP\Template('user_ldap', 'settings'); - -$helper = new \OCA\User_LDAP\Helper(); -$prefixes = $helper->getServerConfigurationPrefixes(); -$hosts = $helper->getServerConfigurationHosts(); - -$wizardHtml = ''; -$toc = array(); - -$wControls = new OCP\Template('user_ldap', 'part.wizardcontrols'); -$wControls = $wControls->fetchPage(); -$sControls = new OCP\Template('user_ldap', 'part.settingcontrols'); -$sControls = $sControls->fetchPage(); - -$l = \OC::$server->getL10N('user_ldap'); - -$wizTabs = array(); -$wizTabs[] = array('tpl' => 'part.wizard-server', 'cap' => $l->t('Server')); -$wizTabs[] = array('tpl' => 'part.wizard-userfilter', 'cap' => $l->t('Users')); -$wizTabs[] = array('tpl' => 'part.wizard-loginfilter', 'cap' => $l->t('Login Attributes')); -$wizTabs[] = array('tpl' => 'part.wizard-groupfilter', 'cap' => $l->t('Groups')); -$wizTabsCount = count($wizTabs); -for($i = 0; $i < $wizTabsCount; $i++) { - $tab = new OCP\Template('user_ldap', $wizTabs[$i]['tpl']); - if($i === 0) { - $tab->assign('serverConfigurationPrefixes', $prefixes); - $tab->assign('serverConfigurationHosts', $hosts); - } - $tab->assign('wizardControls', $wControls); - $wizardHtml .= $tab->fetchPage(); - $toc['#ldapWizard'.($i+1)] = $wizTabs[$i]['cap']; -} - -$tmpl->assign('tabs', $wizardHtml); -$tmpl->assign('toc', $toc); -$tmpl->assign('settingControls', $sControls); - -// assign default values -$config = new \OCA\User_LDAP\Configuration('', false); -$defaults = $config->getDefaults(); -foreach($defaults as $key => $default) { - $tmpl->assign($key.'_default', $default); -} - -return $tmpl->fetchPage(); diff --git a/apps/user_ldap/templates/settings.php b/apps/user_ldap/templates/settings.php index a1511071af484..eb4c7b9912759 100644 --- a/apps/user_ldap/templates/settings.php +++ b/apps/user_ldap/templates/settings.php @@ -49,6 +49,9 @@ style('user_ldap', 'settings'); +/** @var \OCP\IL10N $l */ +/** @var array $_ */ + ?> @@ -56,20 +59,24 @@
- '.$l->t('Warning: Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behavior. Please ask your system administrator to disable one of them.').'

'); - } - if(!function_exists('ldap_connect')) { - print_unescaped('

'.$l->t('Warning: The PHP LDAP module is not installed, the backend will not work. Please ask your system administrator to install it.').'

'); - } - ?> - + '.$l->t('Warning: Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behavior. Please ask your system administrator to disable one of them.').'

'); + } + if(!function_exists('ldap_connect')) { + print_unescaped('

'.$l->t('Warning: The PHP LDAP module is not installed, the backend will not work. Please ask your system administrator to install it.').'

'); + } + ?> + + + +

t('Connection Settings'));?>

diff --git a/apps/user_ldap/tests/Settings/AdminTest.php b/apps/user_ldap/tests/Settings/AdminTest.php new file mode 100644 index 0000000000000..4ac5a14f58b42 --- /dev/null +++ b/apps/user_ldap/tests/Settings/AdminTest.php @@ -0,0 +1,90 @@ + + * + * @author Lukas Reschke + * + * @license GNU AGPL version 3 or any later version + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + */ + +namespace OCA\User_LDAP\Tests\Settings; + +use OCA\User_LDAP\Configuration; +use OCA\User_LDAP\Helper; +use OCA\User_LDAP\Settings\Admin; +use OCP\AppFramework\Http\TemplateResponse; +use OCP\IL10N; +use OCP\Template; +use Test\TestCase; + +/** + * @group DB + * @package OCA\User_LDAP\Tests\Settings + */ +class AdminTest extends TestCase { + /** @var Admin */ + private $admin; + /** @var IL10N */ + private $l10n; + + public function setUp() { + parent::setUp(); + $this->l10n = $this->getMockBuilder('\OCP\IL10N')->getMock(); + + $this->admin = new Admin( + $this->l10n + ); + } + + /** + * @UseDB + */ + public function testGetForm() { + + $helper = new Helper(); + $prefixes = $helper->getServerConfigurationPrefixes(); + $hosts = $helper->getServerConfigurationHosts(); + + $wControls = new Template('user_ldap', 'part.wizardcontrols'); + $wControls = $wControls->fetchPage(); + $sControls = new Template('user_ldap', 'part.settingcontrols'); + $sControls = $sControls->fetchPage(); + + $parameters['serverConfigurationPrefixes'] = $prefixes; + $parameters['serverConfigurationHosts'] = $hosts; + $parameters['settingControls'] = $sControls; + $parameters['wizardControls'] = $wControls; + + // assign default values + $config = new Configuration('', false); + $defaults = $config->getDefaults(); + foreach($defaults as $key => $default) { + $parameters[$key.'_default'] = $default; + } + + $expected = new TemplateResponse('user_ldap', 'settings', $parameters); + $this->assertEquals($expected, $this->admin->getForm()); + } + + public function testGetSection() { + $this->assertSame('ldap', $this->admin->getSection()); + } + + public function testGetPriority() { + $this->assertSame(5, $this->admin->getPriority()); + } +} diff --git a/apps/user_ldap/tests/Settings/SectionTest.php b/apps/user_ldap/tests/Settings/SectionTest.php new file mode 100644 index 0000000000000..2d2165b8e56d2 --- /dev/null +++ b/apps/user_ldap/tests/Settings/SectionTest.php @@ -0,0 +1,62 @@ + + * + * @author Lukas Reschke + * + * @license GNU AGPL version 3 or any later version + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + */ + +namespace OCA\User_LDAP\Tests\Settings; + +use OCA\User_LDAP\Settings\Section; +use OCP\IL10N; +use Test\TestCase; + +class SectionTest extends TestCase { + /** @var IL10N */ + private $l; + /** @var Section */ + private $section; + + public function setUp() { + parent::setUp(); + $this->l = $this->getMockBuilder('\OCP\IL10N')->getMock(); + + $this->section = new Section( + $this->l + ); + } + + public function testGetID() { + $this->assertSame('ldap', $this->section->getID()); + } + + public function testGetName() { + $this->l + ->expects($this->once()) + ->method('t') + ->with('LDAP / AD integration') + ->willReturn('LDAP / AD integration'); + + $this->assertSame('LDAP / AD integration', $this->section->getName()); + } + + public function testGetPriority() { + $this->assertSame(25, $this->section->getPriority()); + } +} diff --git a/build/integration/features/bootstrap/BasicStructure.php b/build/integration/features/bootstrap/BasicStructure.php index 0b0e5998c4b37..e9e20c047aab3 100644 --- a/build/integration/features/bootstrap/BasicStructure.php +++ b/build/integration/features/bootstrap/BasicStructure.php @@ -165,6 +165,13 @@ public function sendingToWith($verb, $url, $body) { $options['body'] = $fd; } + // TODO: Fix this hack! + if ($verb === 'PUT' && $body === null) { + $options['body'] = [ + 'foo' => 'bar', + ]; + } + try { $this->response = $client->send($client->createRequest($verb, $fullUrl, $options)); } catch (\GuzzleHttp\Exception\ClientException $ex) { diff --git a/build/integration/features/bootstrap/Provisioning.php b/build/integration/features/bootstrap/Provisioning.php index bc3fc9a4c4a26..dbdfafcecdcea 100644 --- a/build/integration/features/bootstrap/Provisioning.php +++ b/build/integration/features/bootstrap/Provisioning.php @@ -96,9 +96,12 @@ public function creatingTheUser($user) { } $options['body'] = [ - 'userid' => $user, - 'password' => '123456' - ]; + 'userid' => $user, + 'password' => '123456' + ]; + $options['headers'] = [ + 'OCS-APIREQUEST' => 'true', + ]; $this->response = $client->send($client->createRequest("POST", $fullUrl, $options)); if ($this->currentServer === 'LOCAL'){ @@ -111,6 +114,9 @@ public function creatingTheUser($user) { $options2 = [ 'auth' => [$user, '123456'], ]; + $options2['headers'] = [ + 'OCS-APIREQUEST' => 'true', + ]; $url = $fullUrl.'/'.$user; $client->send($client->createRequest('GET', $url, $options2)); } @@ -152,6 +158,9 @@ public function userExists($user){ $client = new Client(); $options = []; $options['auth'] = $this->adminUser; + $options['headers'] = [ + 'OCS-APIREQUEST' => 'true' + ]; $this->response = $client->get($fullUrl, $options); } @@ -168,6 +177,9 @@ public function checkThatUserBelongsToGroup($user, $group) { if ($this->currentUser === 'admin') { $options['auth'] = $this->adminUser; } + $options['headers'] = [ + 'OCS-APIREQUEST' => 'true', + ]; $this->response = $client->get($fullUrl, $options); $respondedArray = $this->getArrayOfGroupsResponded($this->response); @@ -183,6 +195,9 @@ public function userBelongsToGroup($user, $group) { if ($this->currentUser === 'admin') { $options['auth'] = $this->adminUser; } + $options['headers'] = [ + 'OCS-APIREQUEST' => 'true', + ]; $this->response = $client->get($fullUrl, $options); $respondedArray = $this->getArrayOfGroupsResponded($this->response); @@ -223,6 +238,9 @@ public function userDoesNotBelongToGroup($user, $group) { if ($this->currentUser === 'admin') { $options['auth'] = $this->adminUser; } + $options['headers'] = [ + 'OCS-APIREQUEST' => 'true', + ]; $this->response = $client->get($fullUrl, $options); $groups = array($group); @@ -244,8 +262,11 @@ public function creatingTheGroup($group) { } $options['body'] = [ - 'groupid' => $group, - ]; + 'groupid' => $group, + ]; + $options['headers'] = [ + 'OCS-APIREQUEST' => 'true', + ]; $this->response = $client->send($client->createRequest("POST", $fullUrl, $options)); if ($this->currentServer === 'LOCAL'){ @@ -265,6 +286,13 @@ public function assureUserIsDisabled($user) { if ($this->currentUser === 'admin') { $options['auth'] = $this->adminUser; } + $options['headers'] = [ + 'OCS-APIREQUEST' => 'true', + ]; + // TODO: fix hack + $options['body'] = [ + 'foo' => 'bar' + ]; $this->response = $client->send($client->createRequest("PUT", $fullUrl, $options)); } @@ -280,6 +308,9 @@ public function deletingTheUser($user) { if ($this->currentUser === 'admin') { $options['auth'] = $this->adminUser; } + $options['headers'] = [ + 'OCS-APIREQUEST' => 'true', + ]; $this->response = $client->send($client->createRequest("DELETE", $fullUrl, $options)); } @@ -295,6 +326,9 @@ public function deletingTheGroup($group) { if ($this->currentUser === 'admin') { $options['auth'] = $this->adminUser; } + $options['headers'] = [ + 'OCS-APIREQUEST' => 'true', + ]; $this->response = $client->send($client->createRequest("DELETE", $fullUrl, $options)); } @@ -323,10 +357,13 @@ public function addingUserToGroup($user, $group) { if ($this->currentUser === 'admin') { $options['auth'] = $this->adminUser; } + $options['headers'] = [ + 'OCS-APIREQUEST' => 'true', + ]; $options['body'] = [ - 'groupid' => $group, - ]; + 'groupid' => $group, + ]; $this->response = $client->send($client->createRequest("POST", $fullUrl, $options)); } @@ -337,6 +374,9 @@ public function groupExists($group) { $client = new Client(); $options = []; $options['auth'] = $this->adminUser; + $options['headers'] = [ + 'OCS-APIREQUEST' => 'true', + ]; $this->response = $client->get($fullUrl, $options); } @@ -394,6 +434,9 @@ public function userIsSubadminOfGroup($user, $group) { if ($this->currentUser === 'admin') { $options['auth'] = $this->adminUser; } + $options['headers'] = [ + 'OCS-APIREQUEST' => 'true', + ]; $this->response = $client->get($fullUrl, $options); $respondedArray = $this->getArrayOfSubadminsResponded($this->response); @@ -415,8 +458,11 @@ public function assureUserIsSubadminOfGroup($user, $group) { $options['auth'] = $this->adminUser; } $options['body'] = [ - 'groupid' => $group - ]; + 'groupid' => $group + ]; + $options['headers'] = [ + 'OCS-APIREQUEST' => 'true', + ]; $this->response = $client->send($client->createRequest("POST", $fullUrl, $options)); PHPUnit_Framework_Assert::assertEquals(200, $this->response->getStatusCode()); } @@ -433,6 +479,9 @@ public function userIsNotSubadminOfGroup($user, $group) { if ($this->currentUser === 'admin') { $options['auth'] = $this->adminUser; } + $options['headers'] = [ + 'OCS-APIREQUEST' => 'true', + ]; $this->response = $client->get($fullUrl, $options); $respondedArray = $this->getArrayOfSubadminsResponded($this->response); @@ -561,6 +610,9 @@ public function appIsDisabled($app) { if ($this->currentUser === 'admin') { $options['auth'] = $this->adminUser; } + $options['headers'] = [ + 'OCS-APIREQUEST' => 'true', + ]; $this->response = $client->get($fullUrl, $options); $respondedArray = $this->getArrayOfAppsResponded($this->response); @@ -579,6 +631,9 @@ public function appIsEnabled($app) { if ($this->currentUser === 'admin') { $options['auth'] = $this->adminUser; } + $options['headers'] = [ + 'OCS-APIREQUEST' => 'true', + ]; $this->response = $client->get($fullUrl, $options); $respondedArray = $this->getArrayOfAppsResponded($this->response); @@ -597,6 +652,9 @@ public function userIsDisabled($user) { if ($this->currentUser === 'admin') { $options['auth'] = $this->adminUser; } + $options['headers'] = [ + 'OCS-APIREQUEST' => 'true', + ]; $this->response = $client->get($fullUrl, $options); PHPUnit_Framework_Assert::assertEquals("false", $this->response->xml()->data[0]->enabled); @@ -613,6 +671,9 @@ public function userIsEnabled($user) { if ($this->currentUser === 'admin') { $options['auth'] = $this->adminUser; } + $options['headers'] = [ + 'OCS-APIREQUEST' => 'true', + ]; $this->response = $client->get($fullUrl, $options); PHPUnit_Framework_Assert::assertEquals("true", $this->response->xml()->data[0]->enabled); diff --git a/build/license.php b/build/license.php index 11675f21a0722..5ada91a0f33fb 100644 --- a/build/license.php +++ b/build/license.php @@ -99,7 +99,7 @@ function exec($folder, $gitRoot = false) { $excludes = array_map(function($item) use ($folder) { return $folder . '/' . $item; - }, ['vendor', '3rdparty', '.git', 'l10n', 'templates']); + }, ['vendor', '3rdparty', '.git', 'l10n', 'templates', 'composer']); $iterator = new RecursiveDirectoryIterator($folder, RecursiveDirectoryIterator::SKIP_DOTS); $iterator = new RecursiveCallbackFilterIterator($iterator, function($item) use ($folder, $excludes){ @@ -154,7 +154,12 @@ function handleFile($path, $gitRoot) { } else { $license = str_replace('@AUTHORS@', $authors, $this->licenseText); } - $license = str_replace('@COPYRIGHT@', $copyrightNotices, $license); + + if ($copyrightNotices === '') { + $license = str_replace('@COPYRIGHT@', ' *', $license); + } else { + $license = str_replace('@COPYRIGHT@', $copyrightNotices, $license); + } $source = $this->eatOldLicense($source); $source = "userSession->getUser()->getUID(); $files = $this->request->getUploadedFile('files'); $headers = []; - if ($this->request->isUserAgent([\OC\AppFramework\Http\Request::USER_AGENT_IE_8])) { - // due to upload iframe workaround, need to set content-type to text/plain - $headers['Content-Type'] = 'text/plain'; - } if (isset($path)) { $path = stripslashes($path); diff --git a/core/l10n/cs_CZ.js b/core/l10n/cs_CZ.js index 9ce8dbb58b4e4..5a78a664b868a 100644 --- a/core/l10n/cs_CZ.js +++ b/core/l10n/cs_CZ.js @@ -131,6 +131,7 @@ OC.L10N.register( "Strong password" : "Silné heslo", "Your web server is not yet set up properly to allow file synchronization because the WebDAV interface seems to be broken." : "Váš webový server ještě není správně nastaven pro umožnění synchronizace souborů, protože rozhraní WebDAV je pravděpodobně rozbité.", "Your web server is not set up properly to resolve \"{url}\". Further information can be found in our documentation." : "Tento webový server není správně nastaven pro rozpoznání \"{url}\". Více informací lze nalézt v naší dokumentaci.", + "This server has no working Internet connection: Multiple endpoints could not be reached. This means that some of the features like mounting external storage, notifications about updates or installation of third-party apps will not work. Accessing files remotely and sending of notification emails might not work, either. We suggest to enable Internet connection for this server if you want to have all features." : "Tento server nemá funkční připojení k Internetu: Nedaří se připojit k vícero koncovým bodům. Některé moduly jako např. externí úložiště, oznámení o dostupných aktualizacích nebo instalace aplikací třetích stran nebudou fungovat. Přístup k souborům z jiných míst a odesílání oznamovacích emailů také nemusí fungovat. Pokud chcete využívat všechny možnosti tohoto serveru, doporučujeme povolit připojení k Internetu.", "No memory cache has been configured. To enhance your performance please configure a memcache if available. Further information can be found in our documentation." : "Nebyla nakonfigurována paměťová cache. Pokud je dostupná, nakonfigurujte ji prosím pro zlepšení výkonu. Další informace lze nalézt v naší dokumentaci.", "/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in our documentation." : "PHP nemá práva pro čtení v /dev/urandom, to je ale z bezpečnostních důvodů velmi doporučováno. Více informací lze nalézt v naší dokumentaci.", "You are currently running PHP {version}. We encourage you to upgrade your PHP version to take advantage of performance and security updates provided by the PHP Group as soon as your distribution supports it." : "Aktuálně používáte PHP {version}. Doporučujeme aktualizovat verzi PHP, abyste mohli využít výkonnostních a bezpečnostních aktualizací poskytovaných autory PHP tak rychle, jak to vaše distribuce umožňuje.", @@ -218,10 +219,13 @@ OC.L10N.register( "Hello {name}" : "Vítej, {name}", "new" : "nový", "_download %n file_::_download %n files_" : ["stáhnout %n soubor","stáhnout %n soubory","stáhnout %n souborů"], + "The update is in progress, leaving this page might interrupt the process in some environments." : "Probíhá aktualizace, opuštění této stránky může v některých prostředích přerušit proces.", + "Update to {version}" : "Aktualizace na {version}", "An error occurred." : "Došlo k chybě.", "Please reload the page." : "Načtěte stránku znovu, prosím.", "The update was unsuccessful. For more information check our forum post covering this issue." : "Aktualizace nebyla úspěšná. Pro více informací si přečtěte komentáře ve fóru pojednávající o tomto problému.", "The update was unsuccessful. Please report this issue to the Nextcloud community." : "Aktualizace byla neúspěšná. Nahlaste prosím problém komunitě Nextcloudu", + "Continue to Nextcloud" : "Pokračovat do Nextcloud", "The update was successful. Redirecting you to Nextcloud now." : "Aktualizace byla úspěšná. Probíhá přesměrování na Nexcloud.", "Searching other places" : "Prohledávání ostatních umístění", "No search results in other folders" : "V ostatních adresářích nebylo nic nalezeno", @@ -319,6 +323,23 @@ OC.L10N.register( "Please use the command line updater because you have a big instance." : "Prosím použijte aktualizační příkazový řádek, protože máte velkou instanci.", "For help, see the documentation." : "Pro pomoc, shlédněte dokumentaci.", "This %s instance is currently in maintenance mode, which may take a while." : "Tato instalace %s je právě ve stavu údržby a to může chvíli trvat.", - "This page will refresh itself when the %s instance is available again." : "Tato stránka se automaticky načte poté, co bude opět dostupná instance %s." + "This page will refresh itself when the %s instance is available again." : "Tato stránka se automaticky načte poté, co bude opět dostupná instance %s.", + "This server has no working Internet connection. This means that some of the features like mounting external storage, notifications about updates or installation of third-party apps will not work. Accessing files remotely and sending of notification emails might not work, either. We suggest to enable Internet connection for this server if you want to have all features." : "Tento server nemá funkční připojení k Internetu. Některé moduly jako např. externí úložiště, oznámení o dostupných aktualizacích nebo instalace aplikací třetích stran nebudou fungovat. Přístup k souborům z jiných míst a odesílání oznamovacích emailů také nemusí fungovat. Pokud chcete využívat všechny možnosti ownCloud, doporučujeme povolit pro tento server připojení k Internetu.", + "The upgrade is in progress, leaving this page might interrupt the process in some environments." : "Probíhá aktualizace, opuštění této stránky může v některých prostředích přerušit proces.", + "Updating to {version}" : "Aktualizace na {version}", + "The update was successful. There were warnings." : "Aktualizace byla úspěšná. Zachycen výskyt varování.", + "Your web server is not set up properly to resolve \"{url}\". Further information can be found in our documentation." : "Tento webový server není správně nastaven pro rozpoznání \"{url}\". Více informací lze nalézt v naší dokumentaci.", + "No memory cache has been configured. To enhance your performance please configure a memcache if available. Further information can be found in our documentation." : "Nebyla nakonfigurována paměťová cache. Pokud je dostupná, nakonfigurujte ji prosím pro zlepšení výkonu. Další informace lze nalézt v naší dokumentaci.", + "/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in our documentation." : "PHP nemá práva pro čtení v /dev/urandom, to je ale z bezpečnostních důvodů velmi doporučováno. Více informací lze nalézt v naší dokumentaci.", + "You are currently running PHP {version}. We encourage you to upgrade your PHP version to take advantage of performance and security updates provided by the PHP Group as soon as your distribution supports it." : "Aktuálně používáte PHP {version}. Doporučujeme aktualizovat verzi PHP, abyste mohli využít výkonnostních a bezpečnostních aktualizací poskytovaných autory PHP tak rychle, jak to vaše distribuce umožňuje.", + "The reverse proxy headers configuration is incorrect, or you are accessing Nextcloud from a trusted proxy. If you are not accessing Nextcloud from a trusted proxy, this is a security issue and can allow an attacker to spoof their IP address as visible to Nextcloud. Further information can be found in our documentation." : "Konfigurace hlaviček reverzní proxy není správná nebo přistupujete na Nextcloud z důvěryhodné proxy. Pokud nepřistupujete k Nextcloud z důvěryhodné proxy, potom je toto bezpečností chyba a může útočníkovi umožnit falšovat IP adresu, kterou ownCloud vidí. Další informace lze nalézt v naší dokumentaci.", + "Memcached is configured as distributed cache, but the wrong PHP module \"memcache\" is installed. \\OC\\Memcache\\Memcached only supports \"memcached\" and not \"memcache\". See the memcached wiki about both modules." : "Je nakonfigurován memcached jako distribuovaná cache, ale je nainstalovaný nesprávný PHP modul \"memcache\". \\OC\\Memcache\\Memcached podporuje pouze \"memcached\" a ne \"memcache\". Podívejte se na memcached wiki o obou modulech.", + "Some files have not passed the integrity check. Further information on how to resolve this issue can be found in our documentation. (List of invalid files… / Rescan…)" : "Některé soubory neprošly kontrolou integrity. Více informací o tom jak tento problém vyřešit, lze nalézt v naší dokumentaci. (Seznam neplatných souborů… / Znovu ověřit…)", + "The \"Strict-Transport-Security\" HTTP header is not configured to at least \"{seconds}\" seconds. For enhanced security we recommend enabling HSTS as described in our security tips." : "HTTP hlavička \"Strict-Transport-Security\" není nakonfigurována na minimum \"{seconds}\" sekund. Pro vylepšení bezpečnosti doporučujeme povolit HSTS dle popisu v našich bezpečnostních tipech.", + "An error occured. Please try again" : "Došlo k chybě. Zkuste to prosím znovu", + "not assignable" : "nepřiřaditelné", + "Updating {productName} to version {version}, this may take a while." : "Aktualizace {productName} na verzi {version}, to chvíli potrvá.", + "For information how to properly configure your server, please see the documentation." : "Pro informace, jak správně nastavit váš server, se podívejte do dokumentace.", + "An internal error occured." : "Nastala vnitřní chyba." }, "nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;"); diff --git a/core/l10n/cs_CZ.json b/core/l10n/cs_CZ.json index d671415cfde9e..2b92833e09e1b 100644 --- a/core/l10n/cs_CZ.json +++ b/core/l10n/cs_CZ.json @@ -129,6 +129,7 @@ "Strong password" : "Silné heslo", "Your web server is not yet set up properly to allow file synchronization because the WebDAV interface seems to be broken." : "Váš webový server ještě není správně nastaven pro umožnění synchronizace souborů, protože rozhraní WebDAV je pravděpodobně rozbité.", "Your web server is not set up properly to resolve \"{url}\". Further information can be found in our documentation." : "Tento webový server není správně nastaven pro rozpoznání \"{url}\". Více informací lze nalézt v naší dokumentaci.", + "This server has no working Internet connection: Multiple endpoints could not be reached. This means that some of the features like mounting external storage, notifications about updates or installation of third-party apps will not work. Accessing files remotely and sending of notification emails might not work, either. We suggest to enable Internet connection for this server if you want to have all features." : "Tento server nemá funkční připojení k Internetu: Nedaří se připojit k vícero koncovým bodům. Některé moduly jako např. externí úložiště, oznámení o dostupných aktualizacích nebo instalace aplikací třetích stran nebudou fungovat. Přístup k souborům z jiných míst a odesílání oznamovacích emailů také nemusí fungovat. Pokud chcete využívat všechny možnosti tohoto serveru, doporučujeme povolit připojení k Internetu.", "No memory cache has been configured. To enhance your performance please configure a memcache if available. Further information can be found in our documentation." : "Nebyla nakonfigurována paměťová cache. Pokud je dostupná, nakonfigurujte ji prosím pro zlepšení výkonu. Další informace lze nalézt v naší dokumentaci.", "/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in our documentation." : "PHP nemá práva pro čtení v /dev/urandom, to je ale z bezpečnostních důvodů velmi doporučováno. Více informací lze nalézt v naší dokumentaci.", "You are currently running PHP {version}. We encourage you to upgrade your PHP version to take advantage of performance and security updates provided by the PHP Group as soon as your distribution supports it." : "Aktuálně používáte PHP {version}. Doporučujeme aktualizovat verzi PHP, abyste mohli využít výkonnostních a bezpečnostních aktualizací poskytovaných autory PHP tak rychle, jak to vaše distribuce umožňuje.", @@ -216,10 +217,13 @@ "Hello {name}" : "Vítej, {name}", "new" : "nový", "_download %n file_::_download %n files_" : ["stáhnout %n soubor","stáhnout %n soubory","stáhnout %n souborů"], + "The update is in progress, leaving this page might interrupt the process in some environments." : "Probíhá aktualizace, opuštění této stránky může v některých prostředích přerušit proces.", + "Update to {version}" : "Aktualizace na {version}", "An error occurred." : "Došlo k chybě.", "Please reload the page." : "Načtěte stránku znovu, prosím.", "The update was unsuccessful. For more information check our forum post covering this issue." : "Aktualizace nebyla úspěšná. Pro více informací si přečtěte komentáře ve fóru pojednávající o tomto problému.", "The update was unsuccessful. Please report this issue to the Nextcloud community." : "Aktualizace byla neúspěšná. Nahlaste prosím problém komunitě Nextcloudu", + "Continue to Nextcloud" : "Pokračovat do Nextcloud", "The update was successful. Redirecting you to Nextcloud now." : "Aktualizace byla úspěšná. Probíhá přesměrování na Nexcloud.", "Searching other places" : "Prohledávání ostatních umístění", "No search results in other folders" : "V ostatních adresářích nebylo nic nalezeno", @@ -317,6 +321,23 @@ "Please use the command line updater because you have a big instance." : "Prosím použijte aktualizační příkazový řádek, protože máte velkou instanci.", "For help, see the documentation." : "Pro pomoc, shlédněte dokumentaci.", "This %s instance is currently in maintenance mode, which may take a while." : "Tato instalace %s je právě ve stavu údržby a to může chvíli trvat.", - "This page will refresh itself when the %s instance is available again." : "Tato stránka se automaticky načte poté, co bude opět dostupná instance %s." + "This page will refresh itself when the %s instance is available again." : "Tato stránka se automaticky načte poté, co bude opět dostupná instance %s.", + "This server has no working Internet connection. This means that some of the features like mounting external storage, notifications about updates or installation of third-party apps will not work. Accessing files remotely and sending of notification emails might not work, either. We suggest to enable Internet connection for this server if you want to have all features." : "Tento server nemá funkční připojení k Internetu. Některé moduly jako např. externí úložiště, oznámení o dostupných aktualizacích nebo instalace aplikací třetích stran nebudou fungovat. Přístup k souborům z jiných míst a odesílání oznamovacích emailů také nemusí fungovat. Pokud chcete využívat všechny možnosti ownCloud, doporučujeme povolit pro tento server připojení k Internetu.", + "The upgrade is in progress, leaving this page might interrupt the process in some environments." : "Probíhá aktualizace, opuštění této stránky může v některých prostředích přerušit proces.", + "Updating to {version}" : "Aktualizace na {version}", + "The update was successful. There were warnings." : "Aktualizace byla úspěšná. Zachycen výskyt varování.", + "Your web server is not set up properly to resolve \"{url}\". Further information can be found in our documentation." : "Tento webový server není správně nastaven pro rozpoznání \"{url}\". Více informací lze nalézt v naší dokumentaci.", + "No memory cache has been configured. To enhance your performance please configure a memcache if available. Further information can be found in our documentation." : "Nebyla nakonfigurována paměťová cache. Pokud je dostupná, nakonfigurujte ji prosím pro zlepšení výkonu. Další informace lze nalézt v naší dokumentaci.", + "/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in our documentation." : "PHP nemá práva pro čtení v /dev/urandom, to je ale z bezpečnostních důvodů velmi doporučováno. Více informací lze nalézt v naší dokumentaci.", + "You are currently running PHP {version}. We encourage you to upgrade your PHP version to take advantage of performance and security updates provided by the PHP Group as soon as your distribution supports it." : "Aktuálně používáte PHP {version}. Doporučujeme aktualizovat verzi PHP, abyste mohli využít výkonnostních a bezpečnostních aktualizací poskytovaných autory PHP tak rychle, jak to vaše distribuce umožňuje.", + "The reverse proxy headers configuration is incorrect, or you are accessing Nextcloud from a trusted proxy. If you are not accessing Nextcloud from a trusted proxy, this is a security issue and can allow an attacker to spoof their IP address as visible to Nextcloud. Further information can be found in our documentation." : "Konfigurace hlaviček reverzní proxy není správná nebo přistupujete na Nextcloud z důvěryhodné proxy. Pokud nepřistupujete k Nextcloud z důvěryhodné proxy, potom je toto bezpečností chyba a může útočníkovi umožnit falšovat IP adresu, kterou ownCloud vidí. Další informace lze nalézt v naší dokumentaci.", + "Memcached is configured as distributed cache, but the wrong PHP module \"memcache\" is installed. \\OC\\Memcache\\Memcached only supports \"memcached\" and not \"memcache\". See the memcached wiki about both modules." : "Je nakonfigurován memcached jako distribuovaná cache, ale je nainstalovaný nesprávný PHP modul \"memcache\". \\OC\\Memcache\\Memcached podporuje pouze \"memcached\" a ne \"memcache\". Podívejte se na memcached wiki o obou modulech.", + "Some files have not passed the integrity check. Further information on how to resolve this issue can be found in our documentation. (List of invalid files… / Rescan…)" : "Některé soubory neprošly kontrolou integrity. Více informací o tom jak tento problém vyřešit, lze nalézt v naší dokumentaci. (Seznam neplatných souborů… / Znovu ověřit…)", + "The \"Strict-Transport-Security\" HTTP header is not configured to at least \"{seconds}\" seconds. For enhanced security we recommend enabling HSTS as described in our security tips." : "HTTP hlavička \"Strict-Transport-Security\" není nakonfigurována na minimum \"{seconds}\" sekund. Pro vylepšení bezpečnosti doporučujeme povolit HSTS dle popisu v našich bezpečnostních tipech.", + "An error occured. Please try again" : "Došlo k chybě. Zkuste to prosím znovu", + "not assignable" : "nepřiřaditelné", + "Updating {productName} to version {version}, this may take a while." : "Aktualizace {productName} na verzi {version}, to chvíli potrvá.", + "For information how to properly configure your server, please see the documentation." : "Pro informace, jak správně nastavit váš server, se podívejte do dokumentace.", + "An internal error occured." : "Nastala vnitřní chyba." },"pluralForm" :"nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;" } \ No newline at end of file diff --git a/core/l10n/de.js b/core/l10n/de.js index a0dc6f7002bcd..2b94f41492b7c 100644 --- a/core/l10n/de.js +++ b/core/l10n/de.js @@ -329,6 +329,11 @@ OC.L10N.register( "Updating to {version}" : "Aktualisierung auf {version}", "The update was successful. There were warnings." : "Das Update war erfolgreich. Warnungen wurden ausgegeben.", "Your web server is not set up properly to resolve \"{url}\". Further information can be found in our documentation." : "Dein Web-Server ist nicht richtig eingerichtet um die folgende URL richtig aufzulösen \"{url}\". Weitere Informationen findest du in unserer Dokumentation.", + "No memory cache has been configured. To enhance your performance please configure a memcache if available. Further information can be found in our documentation." : "Es wurde kein PHP Memory Cache konfiguriert. Konfiguriere zur Erhöhung der Leistungsfähigkeit, soweit verfügbar, einen Memory Cache. Weitere Informationen findest du in unserer Dokumentation.", + "/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in our documentation." : "/dev/urandom ist von PHP nicht lesbar, wovon aus Sicherheitsgründen dringend abgeraten wird. Weitere Informationen hierzu findest du in unserer Dokumentation.", + "You are currently running PHP {version}. We encourage you to upgrade your PHP version to take advantage of performance and security updates provided by the PHP Group as soon as your distribution supports it." : "Du verwendest im Moment PHP {version}. Wir empfehlen ein Upgrade deiner PHP Version, um die Geschwindigkeits- und Sicherheitsupdates zu nutzen, welche von der PHP Gruppe bereitgestellt werden, sobald ihre Distribution diese unterstützt.", + "The reverse proxy headers configuration is incorrect, or you are accessing Nextcloud from a trusted proxy. If you are not accessing Nextcloud from a trusted proxy, this is a security issue and can allow an attacker to spoof their IP address as visible to Nextcloud. Further information can be found in our documentation." : "Die Reverse-Proxy-Header Konfiguration ist falsch, oder du greifst auf die Nextcloud von einem vertrauenswürdigen Proxy zu. Wenn du auf die Nextcloud nicht von einem vertrauenswürdigen Proxy zugreifst, dann liegt ein Sicherheitsproblem vor, das einem Angreifer ermöglichen könnte, die für Nextcloud sichtbare IP-Adresse zu fälschen. Weitere Informationen hierzu findest du in der Dokumentation.", + "Memcached is configured as distributed cache, but the wrong PHP module \"memcache\" is installed. \\OC\\Memcache\\Memcached only supports \"memcached\" and not \"memcache\". See the memcached wiki about both modules." : "Memcached ist als distributed cache konfiguriert aber das falsche PHP-Modul \"memcache\" ist installiert. \\OC\\Memcache\\Memcached unterstützt nur \"memcached\" jedoch nicht \"memcache\". Im memcached wiki nach beiden Modulen suchen.", "Some files have not passed the integrity check. Further information on how to resolve this issue can be found in our documentation. (List of invalid files… / Rescan…)" : "Einige Dateien haben die Integritätsprüfung nicht bestanden. Weiterführende Information zum Lösen des Problems findest du in unserer Dokumentation. (Liste der ungültigen Dateien ... / Erneut analysieren…)", "The \"Strict-Transport-Security\" HTTP header is not configured to at least \"{seconds}\" seconds. For enhanced security we recommend enabling HSTS as described in our security tips." : "Der \"Strict-Transport-Security\" HTTP-Header ist nicht auf mindestens \"{seconds}\" Sekunden eingestellt. Um die Sicherheit zu erhöhen, empfehlen wir das Aktivieren von HSTS, wie es in den Sicherheitshinweisen beschrieben ist.", "An error occured. Please try again" : "Es ist ein Fehler aufgetreten. Bitte versuche es noch einmal", diff --git a/core/l10n/de.json b/core/l10n/de.json index 11d7e0fb9e7e9..8d6d01c6f460e 100644 --- a/core/l10n/de.json +++ b/core/l10n/de.json @@ -327,6 +327,11 @@ "Updating to {version}" : "Aktualisierung auf {version}", "The update was successful. There were warnings." : "Das Update war erfolgreich. Warnungen wurden ausgegeben.", "Your web server is not set up properly to resolve \"{url}\". Further information can be found in our documentation." : "Dein Web-Server ist nicht richtig eingerichtet um die folgende URL richtig aufzulösen \"{url}\". Weitere Informationen findest du in unserer Dokumentation.", + "No memory cache has been configured. To enhance your performance please configure a memcache if available. Further information can be found in our documentation." : "Es wurde kein PHP Memory Cache konfiguriert. Konfiguriere zur Erhöhung der Leistungsfähigkeit, soweit verfügbar, einen Memory Cache. Weitere Informationen findest du in unserer Dokumentation.", + "/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in our documentation." : "/dev/urandom ist von PHP nicht lesbar, wovon aus Sicherheitsgründen dringend abgeraten wird. Weitere Informationen hierzu findest du in unserer Dokumentation.", + "You are currently running PHP {version}. We encourage you to upgrade your PHP version to take advantage of performance and security updates provided by the PHP Group as soon as your distribution supports it." : "Du verwendest im Moment PHP {version}. Wir empfehlen ein Upgrade deiner PHP Version, um die Geschwindigkeits- und Sicherheitsupdates zu nutzen, welche von der PHP Gruppe bereitgestellt werden, sobald ihre Distribution diese unterstützt.", + "The reverse proxy headers configuration is incorrect, or you are accessing Nextcloud from a trusted proxy. If you are not accessing Nextcloud from a trusted proxy, this is a security issue and can allow an attacker to spoof their IP address as visible to Nextcloud. Further information can be found in our documentation." : "Die Reverse-Proxy-Header Konfiguration ist falsch, oder du greifst auf die Nextcloud von einem vertrauenswürdigen Proxy zu. Wenn du auf die Nextcloud nicht von einem vertrauenswürdigen Proxy zugreifst, dann liegt ein Sicherheitsproblem vor, das einem Angreifer ermöglichen könnte, die für Nextcloud sichtbare IP-Adresse zu fälschen. Weitere Informationen hierzu findest du in der Dokumentation.", + "Memcached is configured as distributed cache, but the wrong PHP module \"memcache\" is installed. \\OC\\Memcache\\Memcached only supports \"memcached\" and not \"memcache\". See the memcached wiki about both modules." : "Memcached ist als distributed cache konfiguriert aber das falsche PHP-Modul \"memcache\" ist installiert. \\OC\\Memcache\\Memcached unterstützt nur \"memcached\" jedoch nicht \"memcache\". Im memcached wiki nach beiden Modulen suchen.", "Some files have not passed the integrity check. Further information on how to resolve this issue can be found in our documentation. (List of invalid files… / Rescan…)" : "Einige Dateien haben die Integritätsprüfung nicht bestanden. Weiterführende Information zum Lösen des Problems findest du in unserer Dokumentation. (Liste der ungültigen Dateien ... / Erneut analysieren…)", "The \"Strict-Transport-Security\" HTTP header is not configured to at least \"{seconds}\" seconds. For enhanced security we recommend enabling HSTS as described in our security tips." : "Der \"Strict-Transport-Security\" HTTP-Header ist nicht auf mindestens \"{seconds}\" Sekunden eingestellt. Um die Sicherheit zu erhöhen, empfehlen wir das Aktivieren von HSTS, wie es in den Sicherheitshinweisen beschrieben ist.", "An error occured. Please try again" : "Es ist ein Fehler aufgetreten. Bitte versuche es noch einmal", diff --git a/core/l10n/de_DE.js b/core/l10n/de_DE.js index c5ce24b7cafd7..f34a1d0e65c6f 100644 --- a/core/l10n/de_DE.js +++ b/core/l10n/de_DE.js @@ -297,7 +297,7 @@ OC.L10N.register( "New password" : "Neues Passwort", "New Password" : "Neues Passwort", "Reset password" : "Passwort zurücksetzen", - "This Nextcloud instance is currently in single user mode." : "Diese ownClound-Instanz befindet sich derzeit im Einzelbenutzermodus.", + "This Nextcloud instance is currently in single user mode." : "Diese ownCloundNextcloud-Instanz befindet sich derzeit im Einzelbenutzermodus.", "This means only administrators can use the instance." : "Das bedeutet, dass diese Instanz nur von Administratoren benutzt werden kann.", "Contact your system administrator if this message persists or appeared unexpectedly." : "Kontaktieren Sie Ihren Systemadministrator, wenn diese Meldung dauerhaft oder unerwartet erscheint.", "Thank you for your patience." : "Vielen Dank für Ihre Geduld.", @@ -332,6 +332,9 @@ OC.L10N.register( "No memory cache has been configured. To enhance your performance please configure a memcache if available. Further information can be found in our documentation." : "Es wurde kein PHP Memory Cache konfiguriert. Konfigurieren Sie zur Erhöhung der Leistungsfähigkeit, soweit verfügbar, einen Memory Cache. Weitere Informationen finden Sie in unserer Dokumentation.", "/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in our documentation." : "/dev/urandom ist von PHP nicht lesbar, wovon aus Sicherheitsgründen dringend abgeraten wird. Weitere Informationen hierzu finden Sie in unserer Dokumentation.", "You are currently running PHP {version}. We encourage you to upgrade your PHP version to take advantage of performance and security updates provided by the PHP Group as soon as your distribution supports it." : "Sie verwenden im Moment PHP {version}. Wir empfehlen ein Upgrade ihrer PHP Version, um die Geschwindigkeits- und Sicherheitsupdates zu nutzen, welche von der PHP Gruppe bereitgestellt werden, sobald ihre Distribution diese unterstützt.", + "The reverse proxy headers configuration is incorrect, or you are accessing Nextcloud from a trusted proxy. If you are not accessing Nextcloud from a trusted proxy, this is a security issue and can allow an attacker to spoof their IP address as visible to Nextcloud. Further information can be found in our documentation." : "Die Reverse-Proxy-Header Konfiguration ist falsch, oder Sie greifen auf die Nextcloud von einem vertrauenswürdigen Proxy zu. Wenn Sie auf die Nextcloud nicht von einem vertrauenswürdigen Proxy zugreifen, dann liegt ein Sicherheitsproblem vor, das einem Angreifer ermöglichen könnte, die für Nextcloud sichtbare IP-Adresse zu fälschen. Weitere Informationen hierzu finden Sie in der Dokumentation.", + "Memcached is configured as distributed cache, but the wrong PHP module \"memcache\" is installed. \\OC\\Memcache\\Memcached only supports \"memcached\" and not \"memcache\". See the memcached wiki about both modules." : "Memcached ist als distributed cache konfiguriert aber das falsche PHP-Modul \"memcache\" ist installiert. \\OC\\Memcache\\Memcached unterstützt nur \"memcached\" jedoch nicht \"memcache\". Im memcached wiki nach beiden Modulen suchen.", + "Some files have not passed the integrity check. Further information on how to resolve this issue can be found in our documentation. (List of invalid files… / Rescan…)" : "Manche Dateien haben die Integritätsprüfung nicht bestanden. Weitere Informationen um den Fehler zu behen finden Sie in unserer Dokumentation. (Liste der ungültigen Dateien... / Erneut scannen…)", "The \"Strict-Transport-Security\" HTTP header is not configured to at least \"{seconds}\" seconds. For enhanced security we recommend enabling HSTS as described in our security tips." : "Der „Strict-Transport-Security“-HTTP-Header ist nicht auf mindestens „{seconds}“ Sekunden eingestellt. Für mehr Sicherheit wird das Aktivieren von HSTS empfohlen, wie es in unseren Sicherheitshinweisen erläutert ist.", "An error occured. Please try again" : "Fehler aufgetreten. Bitte erneut versuchen", "not assignable" : "nicht zuweisbar", diff --git a/core/l10n/de_DE.json b/core/l10n/de_DE.json index 6ed4bb678a3e1..a2ad872fb1b71 100644 --- a/core/l10n/de_DE.json +++ b/core/l10n/de_DE.json @@ -295,7 +295,7 @@ "New password" : "Neues Passwort", "New Password" : "Neues Passwort", "Reset password" : "Passwort zurücksetzen", - "This Nextcloud instance is currently in single user mode." : "Diese ownClound-Instanz befindet sich derzeit im Einzelbenutzermodus.", + "This Nextcloud instance is currently in single user mode." : "Diese ownCloundNextcloud-Instanz befindet sich derzeit im Einzelbenutzermodus.", "This means only administrators can use the instance." : "Das bedeutet, dass diese Instanz nur von Administratoren benutzt werden kann.", "Contact your system administrator if this message persists or appeared unexpectedly." : "Kontaktieren Sie Ihren Systemadministrator, wenn diese Meldung dauerhaft oder unerwartet erscheint.", "Thank you for your patience." : "Vielen Dank für Ihre Geduld.", @@ -330,6 +330,9 @@ "No memory cache has been configured. To enhance your performance please configure a memcache if available. Further information can be found in our documentation." : "Es wurde kein PHP Memory Cache konfiguriert. Konfigurieren Sie zur Erhöhung der Leistungsfähigkeit, soweit verfügbar, einen Memory Cache. Weitere Informationen finden Sie in unserer Dokumentation.", "/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in our documentation." : "/dev/urandom ist von PHP nicht lesbar, wovon aus Sicherheitsgründen dringend abgeraten wird. Weitere Informationen hierzu finden Sie in unserer Dokumentation.", "You are currently running PHP {version}. We encourage you to upgrade your PHP version to take advantage of performance and security updates provided by the PHP Group as soon as your distribution supports it." : "Sie verwenden im Moment PHP {version}. Wir empfehlen ein Upgrade ihrer PHP Version, um die Geschwindigkeits- und Sicherheitsupdates zu nutzen, welche von der PHP Gruppe bereitgestellt werden, sobald ihre Distribution diese unterstützt.", + "The reverse proxy headers configuration is incorrect, or you are accessing Nextcloud from a trusted proxy. If you are not accessing Nextcloud from a trusted proxy, this is a security issue and can allow an attacker to spoof their IP address as visible to Nextcloud. Further information can be found in our documentation." : "Die Reverse-Proxy-Header Konfiguration ist falsch, oder Sie greifen auf die Nextcloud von einem vertrauenswürdigen Proxy zu. Wenn Sie auf die Nextcloud nicht von einem vertrauenswürdigen Proxy zugreifen, dann liegt ein Sicherheitsproblem vor, das einem Angreifer ermöglichen könnte, die für Nextcloud sichtbare IP-Adresse zu fälschen. Weitere Informationen hierzu finden Sie in der Dokumentation.", + "Memcached is configured as distributed cache, but the wrong PHP module \"memcache\" is installed. \\OC\\Memcache\\Memcached only supports \"memcached\" and not \"memcache\". See the memcached wiki about both modules." : "Memcached ist als distributed cache konfiguriert aber das falsche PHP-Modul \"memcache\" ist installiert. \\OC\\Memcache\\Memcached unterstützt nur \"memcached\" jedoch nicht \"memcache\". Im memcached wiki nach beiden Modulen suchen.", + "Some files have not passed the integrity check. Further information on how to resolve this issue can be found in our documentation. (List of invalid files… / Rescan…)" : "Manche Dateien haben die Integritätsprüfung nicht bestanden. Weitere Informationen um den Fehler zu behen finden Sie in unserer Dokumentation. (Liste der ungültigen Dateien... / Erneut scannen…)", "The \"Strict-Transport-Security\" HTTP header is not configured to at least \"{seconds}\" seconds. For enhanced security we recommend enabling HSTS as described in our security tips." : "Der „Strict-Transport-Security“-HTTP-Header ist nicht auf mindestens „{seconds}“ Sekunden eingestellt. Für mehr Sicherheit wird das Aktivieren von HSTS empfohlen, wie es in unseren Sicherheitshinweisen erläutert ist.", "An error occured. Please try again" : "Fehler aufgetreten. Bitte erneut versuchen", "not assignable" : "nicht zuweisbar", diff --git a/core/l10n/it.js b/core/l10n/it.js index 9ad13e835ec81..fd04b5c7e2b0f 100644 --- a/core/l10n/it.js +++ b/core/l10n/it.js @@ -323,6 +323,11 @@ OC.L10N.register( "Please use the command line updater because you have a big instance." : "Utilizza lo strumento da riga di comando per la grandezza della tua istanza.", "For help, see the documentation." : "Per la guida, vedi la documentazione.", "This %s instance is currently in maintenance mode, which may take a while." : "Questa istanza di %s è attualmente in manutenzione, potrebbe richiedere del tempo.", - "This page will refresh itself when the %s instance is available again." : "Questa pagina si aggiornerà quando l'istanza di %s sarà nuovamente disponibile." + "This page will refresh itself when the %s instance is available again." : "Questa pagina si aggiornerà quando l'istanza di %s sarà nuovamente disponibile.", + "Updating to {version}" : "Aggiornamento a {version}", + "The update was successful. There were warnings." : "L'aggiornamento è stato effettuato correttamente. Ci sono degli avvisi.", + "not assignable" : "non assegnabile", + "For information how to properly configure your server, please see the documentation." : "Per informazioni su come configurare correttamente il tuo server, vedi la documentazione.", + "An internal error occured." : "Si è verificato un errore interno." }, "nplurals=2; plural=(n != 1);"); diff --git a/core/l10n/it.json b/core/l10n/it.json index 1a106eb481bd1..65e1693c0b348 100644 --- a/core/l10n/it.json +++ b/core/l10n/it.json @@ -321,6 +321,11 @@ "Please use the command line updater because you have a big instance." : "Utilizza lo strumento da riga di comando per la grandezza della tua istanza.", "For help, see the documentation." : "Per la guida, vedi la documentazione.", "This %s instance is currently in maintenance mode, which may take a while." : "Questa istanza di %s è attualmente in manutenzione, potrebbe richiedere del tempo.", - "This page will refresh itself when the %s instance is available again." : "Questa pagina si aggiornerà quando l'istanza di %s sarà nuovamente disponibile." + "This page will refresh itself when the %s instance is available again." : "Questa pagina si aggiornerà quando l'istanza di %s sarà nuovamente disponibile.", + "Updating to {version}" : "Aggiornamento a {version}", + "The update was successful. There were warnings." : "L'aggiornamento è stato effettuato correttamente. Ci sono degli avvisi.", + "not assignable" : "non assegnabile", + "For information how to properly configure your server, please see the documentation." : "Per informazioni su come configurare correttamente il tuo server, vedi la documentazione.", + "An internal error occured." : "Si è verificato un errore interno." },"pluralForm" :"nplurals=2; plural=(n != 1);" } \ No newline at end of file diff --git a/core/l10n/pt_BR.js b/core/l10n/pt_BR.js index 813e6f8067259..9a7c600aa35b8 100644 --- a/core/l10n/pt_BR.js +++ b/core/l10n/pt_BR.js @@ -324,6 +324,14 @@ OC.L10N.register( "For help, see the documentation." : "Para obter ajuda, consulte a documentação.", "This %s instance is currently in maintenance mode, which may take a while." : "Esta instância %s está em modo de manutenção, o que pode demorar um pouco.", "This page will refresh itself when the %s instance is available again." : "Esta página será atualizada automaticamente quando esta instância %s estiver disponível novamente.", + "The upgrade is in progress, leaving this page might interrupt the process in some environments." : "A atualização está em andamento. Sair desta página poderá interromper o processo em alguns ambientes.", + "Updating to {version}" : "Atualizando para {version}", + "The update was successful. There were warnings." : "A atualização foi concluída com sucesso. Existem avisos.", + "Your web server is not set up properly to resolve \"{url}\". Further information can be found in our documentation." : "Seu servidor web não está configurado corretamente para abrir a URL \"{url}\". Mais informações podem ser encontradas em nossa documentação.", + "An error occured. Please try again" : "Ocorreu um erro. Tente novamente", + "not assignable" : "não atribuível", + "Updating {productName} to version {version}, this may take a while." : "Atualizando o {productName} para a versão {version}. Isso pode levar algum tempo.", + "For information how to properly configure your server, please see the documentation." : "Para obter informações sobre como configurar corretamente o seu servidor, leia a documentação.", "An internal error occured." : "Ocorreu um erro interno." }, "nplurals=2; plural=(n > 1);"); diff --git a/core/l10n/pt_BR.json b/core/l10n/pt_BR.json index 2ec2ba5d97871..317672760a088 100644 --- a/core/l10n/pt_BR.json +++ b/core/l10n/pt_BR.json @@ -322,6 +322,14 @@ "For help, see the documentation." : "Para obter ajuda, consulte a documentação.", "This %s instance is currently in maintenance mode, which may take a while." : "Esta instância %s está em modo de manutenção, o que pode demorar um pouco.", "This page will refresh itself when the %s instance is available again." : "Esta página será atualizada automaticamente quando esta instância %s estiver disponível novamente.", + "The upgrade is in progress, leaving this page might interrupt the process in some environments." : "A atualização está em andamento. Sair desta página poderá interromper o processo em alguns ambientes.", + "Updating to {version}" : "Atualizando para {version}", + "The update was successful. There were warnings." : "A atualização foi concluída com sucesso. Existem avisos.", + "Your web server is not set up properly to resolve \"{url}\". Further information can be found in our documentation." : "Seu servidor web não está configurado corretamente para abrir a URL \"{url}\". Mais informações podem ser encontradas em nossa documentação.", + "An error occured. Please try again" : "Ocorreu um erro. Tente novamente", + "not assignable" : "não atribuível", + "Updating {productName} to version {version}, this may take a while." : "Atualizando o {productName} para a versão {version}. Isso pode levar algum tempo.", + "For information how to properly configure your server, please see the documentation." : "Para obter informações sobre como configurar corretamente o seu servidor, leia a documentação.", "An internal error occured." : "Ocorreu um erro interno." },"pluralForm" :"nplurals=2; plural=(n > 1);" } \ No newline at end of file diff --git a/core/templates/untrustedDomain.php b/core/templates/untrustedDomain.php index 46bad2168225f..735f83fedec3f 100644 --- a/core/templates/untrustedDomain.php +++ b/core/templates/untrustedDomain.php @@ -10,7 +10,7 @@ t('Depending on your configuration, as an administrator you might also be able to use the button below to trust this domain.')); ?>

- + t('Add "%s" as trusted domain', array($_['domain']))); ?>

diff --git a/db_structure.xml b/db_structure.xml index 04c91ea494f70..77f6d7689863f 100644 --- a/db_structure.xml +++ b/db_structure.xml @@ -1976,4 +1976,125 @@ + + + *dbprefix*admin_sections + + + + + id + text + + false + 64 + + + + class + text + + true + 255 + + + + priority + integer + + true + 1 + + + + admin_sections_id_index + true + + id + ascending + + + + + admin_sections_class + true + + class + ascending + + + + +
+ + + + *dbprefix*admin_settings + + + + + id + integer + 0 + true + 1 + 4 + + + + class + text + + true + 255 + + + + + section + text + + false + 64 + + + + priority + integer + + true + 1 + + + + admin_settings_id_index + true + + id + ascending + + + + + admin_settings_class + true + + class + ascending + + + + + admin_settings_section + false + + section + ascending + + + + +
+ diff --git a/lib/base.php b/lib/base.php index 3457a74e98933..a69a4dffef812 100644 --- a/lib/base.php +++ b/lib/base.php @@ -725,6 +725,7 @@ public static function init() { self::registerLogRotate(); self::registerEncryptionWrapper(); self::registerEncryptionHooks(); + self::registerSettingsHooks(); //make sure temporary files are cleaned up $tmpManager = \OC::$server->getTempManager(); @@ -803,6 +804,22 @@ public static function registerCacheHooks() { } } + public static function registerSettingsHooks() { + $dispatcher = \OC::$server->getEventDispatcher(); + $dispatcher->addListener(OCP\App\ManagerEvent::EVENT_APP_DISABLE, function($event) { + /** @var \OCP\App\ManagerEvent $event */ + \OC::$server->getSettingsManager()->onAppDisabled($event->getAppID()); + }); + $dispatcher->addListener(OCP\App\ManagerEvent::EVENT_APP_UPDATE, function($event) { + /** @var \OCP\App\ManagerEvent $event */ + $jobList = \OC::$server->getJobList(); + $job = 'OC\\Settings\\RemoveOrphaned'; + if(!($jobList->has($job, null))) { + $jobList->add($job); + } + }); + } + private static function registerEncryptionWrapper() { $manager = self::$server->getEncryptionManager(); \OCP\Util::connectHook('OC_Filesystem', 'preSetup', $manager, 'setupStorage'); diff --git a/lib/l10n/cs_CZ.js b/lib/l10n/cs_CZ.js index 2a5faddedafd6..39de37b4e94da 100644 --- a/lib/l10n/cs_CZ.js +++ b/lib/l10n/cs_CZ.js @@ -168,6 +168,14 @@ OC.L10N.register( "Storage incomplete configuration. %s" : "Nekompletní konfigurace úložiště. %s", "Storage connection error. %s" : "Chyba připojení úložiště. %s", "Storage not available" : "Úložiště není dostupné", - "Storage connection timeout. %s" : "Vypršení připojení k úložišti. %s" + "Storage connection timeout. %s" : "Vypršení připojení k úložišti. %s", + "ownCloud %s or higher is required." : "Vyžadován ownCloud %s nebo vyšší.", + "ownCloud %s or lower is required." : "Vyžadován ownCloud %s nebo nižší.", + "App \"%s\" cannot be installed because it is not compatible with this version of Nextcloud." : "Aplikaci \"%s\" nelze nainstalovat, protože není kompatibilní s touto verzí Nextcloud.", + "App can't be installed because it is not compatible with this version of Nextcloud" : "Aplikaci nelze nainstalovat, protože není kompatibilní s touto verzí Nextcloud", + "App can't be installed because the version in info.xml/version is not the same as the version reported from the app store" : "Aplikace nemůže být nainstalována, protože verze uvedená v info.xml/version nesouhlasí s verzí hlášenou z úložiště aplikací.", + "Hint: You can speed up the upgrade by executing this SQL command manually: ALTER TABLE %s ADD COLUMN checksum varchar(255) DEFAULT NULL AFTER permissions;" : "Tip: Aktualizaci můžete urychlit manuálním spuštěním následujícího SQL příkazu: ALTER TABLE %s ADD COLUMN checksum varchar(255) DEFAULT NULL AFTER permissions;", + "Running Nextcloud Server on the Microsoft Windows platform is not supported. We suggest you use a Linux server in a virtual machine if you have no option for migrating the server itself. Find Linux packages as well as easy to deploy virtual machine images on %s. For migrating existing installations to Linux you can find some tips and a migration script in our documentation." : "Provozování Nextcloud Serveru na platformě Microsoft Windows není podporováno. Doporučujeme, abyste použili linuxový server ve virtuálním stroji, pokud nemáte možnost migrovat server jako takový. Linuxové balíčky i jednoduše použitelné obrazy virtuálních strojů lze nalézt na %s. Pro migraci stávajících instalací na Linux můžete nalézt tipy a migrační skript v naší dokumentaci.", + "This can usually be fixed by giving the webserver write access to the root directory." : "Toto může být obvykle opraveno nastavením přístupových práv webového serveru pro zápis do kořenového adresáře." }, "nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;"); diff --git a/lib/l10n/cs_CZ.json b/lib/l10n/cs_CZ.json index 9b96410055105..70f5a613257cd 100644 --- a/lib/l10n/cs_CZ.json +++ b/lib/l10n/cs_CZ.json @@ -166,6 +166,14 @@ "Storage incomplete configuration. %s" : "Nekompletní konfigurace úložiště. %s", "Storage connection error. %s" : "Chyba připojení úložiště. %s", "Storage not available" : "Úložiště není dostupné", - "Storage connection timeout. %s" : "Vypršení připojení k úložišti. %s" + "Storage connection timeout. %s" : "Vypršení připojení k úložišti. %s", + "ownCloud %s or higher is required." : "Vyžadován ownCloud %s nebo vyšší.", + "ownCloud %s or lower is required." : "Vyžadován ownCloud %s nebo nižší.", + "App \"%s\" cannot be installed because it is not compatible with this version of Nextcloud." : "Aplikaci \"%s\" nelze nainstalovat, protože není kompatibilní s touto verzí Nextcloud.", + "App can't be installed because it is not compatible with this version of Nextcloud" : "Aplikaci nelze nainstalovat, protože není kompatibilní s touto verzí Nextcloud", + "App can't be installed because the version in info.xml/version is not the same as the version reported from the app store" : "Aplikace nemůže být nainstalována, protože verze uvedená v info.xml/version nesouhlasí s verzí hlášenou z úložiště aplikací.", + "Hint: You can speed up the upgrade by executing this SQL command manually: ALTER TABLE %s ADD COLUMN checksum varchar(255) DEFAULT NULL AFTER permissions;" : "Tip: Aktualizaci můžete urychlit manuálním spuštěním následujícího SQL příkazu: ALTER TABLE %s ADD COLUMN checksum varchar(255) DEFAULT NULL AFTER permissions;", + "Running Nextcloud Server on the Microsoft Windows platform is not supported. We suggest you use a Linux server in a virtual machine if you have no option for migrating the server itself. Find Linux packages as well as easy to deploy virtual machine images on %s. For migrating existing installations to Linux you can find some tips and a migration script in our documentation." : "Provozování Nextcloud Serveru na platformě Microsoft Windows není podporováno. Doporučujeme, abyste použili linuxový server ve virtuálním stroji, pokud nemáte možnost migrovat server jako takový. Linuxové balíčky i jednoduše použitelné obrazy virtuálních strojů lze nalézt na %s. Pro migraci stávajících instalací na Linux můžete nalézt tipy a migrační skript v naší dokumentaci.", + "This can usually be fixed by giving the webserver write access to the root directory." : "Toto může být obvykle opraveno nastavením přístupových práv webového serveru pro zápis do kořenového adresáře." },"pluralForm" :"nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;" } \ No newline at end of file diff --git a/lib/l10n/de.js b/lib/l10n/de.js index 5e5107264e98e..c7fad695d3951 100644 --- a/lib/l10n/de.js +++ b/lib/l10n/de.js @@ -174,6 +174,8 @@ OC.L10N.register( "App \"%s\" cannot be installed because it is not compatible with this version of Nextcloud." : "Die App \"%s\" kann nicht installiert werden, da sie mit dieser Version von Nextcloud nicht kompatibel ist.", "App can't be installed because it is not compatible with this version of Nextcloud" : "Die App kann nicht installiert werden, da sie mit dieser Version von Nextcloud nicht kompatibel ist", "App can't be installed because the version in info.xml/version is not the same as the version reported from the app store" : "App kann nicht installiert werden, da die in info.xml/version angegebene Version von der vom App-Store berichteten abweicht", - "Hint: You can speed up the upgrade by executing this SQL command manually: ALTER TABLE %s ADD COLUMN checksum varchar(255) DEFAULT NULL AFTER permissions;" : "Tipp: Du kannst die Aktualisierung beschleunigen indem Du folgenden SQL-Befehl manuell ausführst: ALTER TABLE %s ADD COLUMN checksum varchar(255) DEFAULT NULL AFTER permissions;" + "Hint: You can speed up the upgrade by executing this SQL command manually: ALTER TABLE %s ADD COLUMN checksum varchar(255) DEFAULT NULL AFTER permissions;" : "Tipp: Du kannst die Aktualisierung beschleunigen indem Du folgenden SQL-Befehl manuell ausführst: ALTER TABLE %s ADD COLUMN checksum varchar(255) DEFAULT NULL AFTER permissions;", + "Running Nextcloud Server on the Microsoft Windows platform is not supported. We suggest you use a Linux server in a virtual machine if you have no option for migrating the server itself. Find Linux packages as well as easy to deploy virtual machine images on %s. For migrating existing installations to Linux you can find some tips and a migration script in our documentation." : "Der Betrieb eines Nextcloud-Servers unter Microsoft Windows ist nicht unterstützt. Bitte ziehe Betracht einen Linux-Server im Rahmen einer virtuellen Maschine aufzusetzen, wenn du keine Möglichkeit hast, den Server selbst zu migrieren. Finde Linux-Pakete sowie einfach bereitzustellende Images für virtuelle Maschinen unter %s. Zur Migration existierender Installationen auf Linux findest du in unserer our Dokumentation einige Tipps und Migrationsscripts.", + "This can usually be fixed by giving the webserver write access to the root directory." : "Dies kann normalerweise repariert werden, indem dem Webserver Schreibzugriff auf das Wurzelverzeichnis gegeben wird." }, "nplurals=2; plural=(n != 1);"); diff --git a/lib/l10n/de.json b/lib/l10n/de.json index 9349f1cad2b44..8fa1d85fe1ee6 100644 --- a/lib/l10n/de.json +++ b/lib/l10n/de.json @@ -172,6 +172,8 @@ "App \"%s\" cannot be installed because it is not compatible with this version of Nextcloud." : "Die App \"%s\" kann nicht installiert werden, da sie mit dieser Version von Nextcloud nicht kompatibel ist.", "App can't be installed because it is not compatible with this version of Nextcloud" : "Die App kann nicht installiert werden, da sie mit dieser Version von Nextcloud nicht kompatibel ist", "App can't be installed because the version in info.xml/version is not the same as the version reported from the app store" : "App kann nicht installiert werden, da die in info.xml/version angegebene Version von der vom App-Store berichteten abweicht", - "Hint: You can speed up the upgrade by executing this SQL command manually: ALTER TABLE %s ADD COLUMN checksum varchar(255) DEFAULT NULL AFTER permissions;" : "Tipp: Du kannst die Aktualisierung beschleunigen indem Du folgenden SQL-Befehl manuell ausführst: ALTER TABLE %s ADD COLUMN checksum varchar(255) DEFAULT NULL AFTER permissions;" + "Hint: You can speed up the upgrade by executing this SQL command manually: ALTER TABLE %s ADD COLUMN checksum varchar(255) DEFAULT NULL AFTER permissions;" : "Tipp: Du kannst die Aktualisierung beschleunigen indem Du folgenden SQL-Befehl manuell ausführst: ALTER TABLE %s ADD COLUMN checksum varchar(255) DEFAULT NULL AFTER permissions;", + "Running Nextcloud Server on the Microsoft Windows platform is not supported. We suggest you use a Linux server in a virtual machine if you have no option for migrating the server itself. Find Linux packages as well as easy to deploy virtual machine images on %s. For migrating existing installations to Linux you can find some tips and a migration script in our documentation." : "Der Betrieb eines Nextcloud-Servers unter Microsoft Windows ist nicht unterstützt. Bitte ziehe Betracht einen Linux-Server im Rahmen einer virtuellen Maschine aufzusetzen, wenn du keine Möglichkeit hast, den Server selbst zu migrieren. Finde Linux-Pakete sowie einfach bereitzustellende Images für virtuelle Maschinen unter %s. Zur Migration existierender Installationen auf Linux findest du in unserer our Dokumentation einige Tipps und Migrationsscripts.", + "This can usually be fixed by giving the webserver write access to the root directory." : "Dies kann normalerweise repariert werden, indem dem Webserver Schreibzugriff auf das Wurzelverzeichnis gegeben wird." },"pluralForm" :"nplurals=2; plural=(n != 1);" } \ No newline at end of file diff --git a/lib/l10n/de_DE.js b/lib/l10n/de_DE.js index b524347854582..f2e60b052cd05 100644 --- a/lib/l10n/de_DE.js +++ b/lib/l10n/de_DE.js @@ -139,7 +139,7 @@ OC.L10N.register( "Cannot write into \"apps\" directory" : "Das Schreiben in das „apps“-Verzeichnis ist nicht möglich", "This can usually be fixed by %sgiving the webserver write access to the apps directory%s or disabling the appstore in the config file." : "Dies kann normalerweise behoben werden, %sindem dem Webserver Schreibzugriff auf das App-Verzeichnis gegeben wird%s oder der App Store in der Konfigurationsdatei deaktiviert wird.", "Cannot create \"data\" directory (%s)" : "Das Erstellen des „data“-Verzeichnisses ist nicht möglich (%s)", - "This can usually be fixed by giving the webserver write access to the root directory." : "Dies kann normalerweise repariert werden, indem dem Webserver Schreibzugriff auf das Wurzelverzeichnis gegeben wird.", + "This can usually be fixed by giving the webserver write access to the root directory." : "Dies kann normalerweise repariert werden, indem dem Webserver Schreibzugriff auf das Wurzelverzeichnis gegeben wird.", "Permissions can usually be fixed by %sgiving the webserver write access to the root directory%s." : "Berechtigungen können normalerweise repariert werden, indem dem Webserver %s Schreibzugriff auf das Wurzelverzeichnis %s gegeben wird.", "Setting locale to %s failed" : "Das Setzen der Umgebungslokale auf %s fehlgeschlagen", "Please install one of these locales on your system and restart your webserver." : "Bitte installieren Sie eine dieser Sprachen auf Ihrem System und starten Sie den Webserver neu.", @@ -175,6 +175,7 @@ OC.L10N.register( "App can't be installed because it is not compatible with this version of Nextcloud" : "Die App kann nicht installiert werden, da sie mit dieser Version von Nextcloud nicht kompatibel ist", "App can't be installed because the version in info.xml/version is not the same as the version reported from the app store" : "App kann nicht installiert werden, da die in info.xml/version angegebene Version von der vom App-Store berichteten abweicht", "Hint: You can speed up the upgrade by executing this SQL command manually: ALTER TABLE %s ADD COLUMN checksum varchar(255) DEFAULT NULL AFTER permissions;" : "Tipp: Sie können die Aktualisierung beschleunigen indem Sie folgenden SQL-Befehl manuell ausführen: ALTER TABLE %s ADD COLUMN checksum varchar(255) DEFAULT NULL AFTER permissions;", + "Running Nextcloud Server on the Microsoft Windows platform is not supported. We suggest you use a Linux server in a virtual machine if you have no option for migrating the server itself. Find Linux packages as well as easy to deploy virtual machine images on %s. For migrating existing installations to Linux you can find some tips and a migration script in our documentation." : "Der Betrieb eines Nextcloud-Servers unter Microsoft Windows ist nicht unterstützt. Bitte ziehen Sie Betracht einen Linux-Server im Rahmen einer virtuellen Maschine aufzusetzen, wenn Sie keine Möglichkeit haben, den Server selbst zu migrieren. Finden Sie Linux-Pakete sowie einfach bereitzustellende Images für virtuelle Maschinen unter %s. Zur Migration existierender Installationen auf Linux finden Sie in unserer unserer Dokumentation einige Tipps und Migrationsscripts.", "This can usually be fixed by giving the webserver write access to the root directory." : "Dies kann normalerweise repariert werden, indem dem Webserver Schreibzugriff auf das Wurzelverzeichnis gegeben wird." }, "nplurals=2; plural=(n != 1);"); diff --git a/lib/l10n/de_DE.json b/lib/l10n/de_DE.json index ba00d6fc6bfe3..0577f0d9a0b43 100644 --- a/lib/l10n/de_DE.json +++ b/lib/l10n/de_DE.json @@ -137,7 +137,7 @@ "Cannot write into \"apps\" directory" : "Das Schreiben in das „apps“-Verzeichnis ist nicht möglich", "This can usually be fixed by %sgiving the webserver write access to the apps directory%s or disabling the appstore in the config file." : "Dies kann normalerweise behoben werden, %sindem dem Webserver Schreibzugriff auf das App-Verzeichnis gegeben wird%s oder der App Store in der Konfigurationsdatei deaktiviert wird.", "Cannot create \"data\" directory (%s)" : "Das Erstellen des „data“-Verzeichnisses ist nicht möglich (%s)", - "This can usually be fixed by giving the webserver write access to the root directory." : "Dies kann normalerweise repariert werden, indem dem Webserver Schreibzugriff auf das Wurzelverzeichnis gegeben wird.", + "This can usually be fixed by giving the webserver write access to the root directory." : "Dies kann normalerweise repariert werden, indem dem Webserver Schreibzugriff auf das Wurzelverzeichnis gegeben wird.", "Permissions can usually be fixed by %sgiving the webserver write access to the root directory%s." : "Berechtigungen können normalerweise repariert werden, indem dem Webserver %s Schreibzugriff auf das Wurzelverzeichnis %s gegeben wird.", "Setting locale to %s failed" : "Das Setzen der Umgebungslokale auf %s fehlgeschlagen", "Please install one of these locales on your system and restart your webserver." : "Bitte installieren Sie eine dieser Sprachen auf Ihrem System und starten Sie den Webserver neu.", @@ -173,6 +173,7 @@ "App can't be installed because it is not compatible with this version of Nextcloud" : "Die App kann nicht installiert werden, da sie mit dieser Version von Nextcloud nicht kompatibel ist", "App can't be installed because the version in info.xml/version is not the same as the version reported from the app store" : "App kann nicht installiert werden, da die in info.xml/version angegebene Version von der vom App-Store berichteten abweicht", "Hint: You can speed up the upgrade by executing this SQL command manually: ALTER TABLE %s ADD COLUMN checksum varchar(255) DEFAULT NULL AFTER permissions;" : "Tipp: Sie können die Aktualisierung beschleunigen indem Sie folgenden SQL-Befehl manuell ausführen: ALTER TABLE %s ADD COLUMN checksum varchar(255) DEFAULT NULL AFTER permissions;", + "Running Nextcloud Server on the Microsoft Windows platform is not supported. We suggest you use a Linux server in a virtual machine if you have no option for migrating the server itself. Find Linux packages as well as easy to deploy virtual machine images on %s. For migrating existing installations to Linux you can find some tips and a migration script in our documentation." : "Der Betrieb eines Nextcloud-Servers unter Microsoft Windows ist nicht unterstützt. Bitte ziehen Sie Betracht einen Linux-Server im Rahmen einer virtuellen Maschine aufzusetzen, wenn Sie keine Möglichkeit haben, den Server selbst zu migrieren. Finden Sie Linux-Pakete sowie einfach bereitzustellende Images für virtuelle Maschinen unter %s. Zur Migration existierender Installationen auf Linux finden Sie in unserer unserer Dokumentation einige Tipps und Migrationsscripts.", "This can usually be fixed by giving the webserver write access to the root directory." : "Dies kann normalerweise repariert werden, indem dem Webserver Schreibzugriff auf das Wurzelverzeichnis gegeben wird." },"pluralForm" :"nplurals=2; plural=(n != 1);" } \ No newline at end of file diff --git a/lib/l10n/it.js b/lib/l10n/it.js index 9be3da5509053..c153483e7570e 100644 --- a/lib/l10n/it.js +++ b/lib/l10n/it.js @@ -168,6 +168,9 @@ OC.L10N.register( "Storage incomplete configuration. %s" : "Configurazione dell'archiviazione incompleta.%s", "Storage connection error. %s" : "Errore di connessione all'archiviazione. %s", "Storage not available" : "Archiviazione non disponibile", - "Storage connection timeout. %s" : "Timeout di connessione all'archiviazione. %s" + "Storage connection timeout. %s" : "Timeout di connessione all'archiviazione. %s", + "ownCloud %s or higher is required." : "È richiesta la versione %s o successiva di ownCloud.", + "ownCloud %s or lower is required." : "È richiesta la versione %s o precedente di ownCloud.", + "This can usually be fixed by giving the webserver write access to the root directory." : "Ciò può essere normalmente corretto fornendo al server web accesso in scrittura alla cartella radice." }, "nplurals=2; plural=(n != 1);"); diff --git a/lib/l10n/it.json b/lib/l10n/it.json index 20bc25cb21dd0..0e4fab913f2be 100644 --- a/lib/l10n/it.json +++ b/lib/l10n/it.json @@ -166,6 +166,9 @@ "Storage incomplete configuration. %s" : "Configurazione dell'archiviazione incompleta.%s", "Storage connection error. %s" : "Errore di connessione all'archiviazione. %s", "Storage not available" : "Archiviazione non disponibile", - "Storage connection timeout. %s" : "Timeout di connessione all'archiviazione. %s" + "Storage connection timeout. %s" : "Timeout di connessione all'archiviazione. %s", + "ownCloud %s or higher is required." : "È richiesta la versione %s o successiva di ownCloud.", + "ownCloud %s or lower is required." : "È richiesta la versione %s o precedente di ownCloud.", + "This can usually be fixed by giving the webserver write access to the root directory." : "Ciò può essere normalmente corretto fornendo al server web accesso in scrittura alla cartella radice." },"pluralForm" :"nplurals=2; plural=(n != 1);" } \ No newline at end of file diff --git a/lib/private/AppFramework/DependencyInjection/DIContainer.php b/lib/private/AppFramework/DependencyInjection/DIContainer.php index 66ca59d26e2da..20351d1321c2c 100644 --- a/lib/private/AppFramework/DependencyInjection/DIContainer.php +++ b/lib/private/AppFramework/DependencyInjection/DIContainer.php @@ -124,6 +124,10 @@ public function __construct($appName, $urlParams = array()){ return $this->getServer()->getDateTimeZone(); }); + $this->registerService('OCP\\IDateTimeFormatter', function($c) { + return $this->getServer()->getDateTimeFormatter(); + }); + $this->registerService('OCP\\IDb', function($c) { return $this->getServer()->getDb(); }); @@ -148,6 +152,10 @@ public function __construct($appName, $urlParams = array()){ return $this->getServer()->getMountProviderCollection(); }); + $this->registerService('OCP\\Files\\Config\\IUserMountCache', function($c) { + return $this->getServer()->getUserMountCache(); + }); + $this->registerService('OCP\\Files\\IRootFolder', function($c) { return $this->getServer()->getRootFolder(); }); @@ -306,6 +314,10 @@ public function __construct($appName, $urlParams = array()){ return $c->query('ServerContainer')->getWebRoot(); }); + $this->registerService('OCP\Encryption\IManager', function ($c) { + return $this->getServer()->getEncryptionManager(); + }); + /** * App Framework APIs @@ -396,6 +408,7 @@ public function __construct($appName, $urlParams = array()){ $this->registerService('MiddlewareDispatcher', function($c) use (&$middleWares) { $dispatcher = new MiddlewareDispatcher(); $dispatcher->registerMiddleware($c['CORSMiddleware']); + $dispatcher->registerMiddleware($c['OCSMiddleware']); $dispatcher->registerMiddleware($c['SecurityMiddleware']); $dispatcher->registerMiddleWare($c['TwoFactorMiddleware']); @@ -404,7 +417,6 @@ public function __construct($appName, $urlParams = array()){ } $dispatcher->registerMiddleware($c['SessionMiddleware']); - $dispatcher->registerMiddleware($c['OCSMiddleware']); return $dispatcher; }); diff --git a/lib/private/AppFramework/Http/Request.php b/lib/private/AppFramework/Http/Request.php index 8fb19f2d9b25f..2139ad05c2e00 100644 --- a/lib/private/AppFramework/Http/Request.php +++ b/lib/private/AppFramework/Http/Request.php @@ -56,7 +56,6 @@ class Request implements \ArrayAccess, \Countable, IRequest { const USER_AGENT_IE = '/(MSIE)|(Trident)/'; - const USER_AGENT_IE_8 = '/MSIE 8.0/'; // Microsoft Edge User Agent from https://msdn.microsoft.com/en-us/library/hh869301(v=vs.85).aspx const USER_AGENT_MS_EDGE = '/^Mozilla\/5\.0 \([^)]+\) AppleWebKit\/[0-9.]+ \(KHTML, like Gecko\) Chrome\/[0-9.]+ (Mobile Safari|Safari)\/[0-9.]+ Edge\/[0-9.]+$/'; // Firefox User Agent from https://developer.mozilla.org/en-US/docs/Web/HTTP/Gecko_user_agent_string_reference diff --git a/lib/private/AppFramework/Middleware/OCSMiddleware.php b/lib/private/AppFramework/Middleware/OCSMiddleware.php index e07d100d8ac4b..68445bbcc5196 100644 --- a/lib/private/AppFramework/Middleware/OCSMiddleware.php +++ b/lib/private/AppFramework/Middleware/OCSMiddleware.php @@ -23,8 +23,14 @@ namespace OC\AppFramework\Middleware; use OC\AppFramework\Http; +use OCP\API; +use OCP\AppFramework\Http\DataResponse; +use OCP\AppFramework\Http\JSONResponse; use OCP\AppFramework\Http\OCSResponse; +use OCP\AppFramework\Http\Response; use OCP\AppFramework\OCS\OCSException; +use OCP\AppFramework\OCS\OCSForbiddenException; +use OCP\AppFramework\OCS\OCSNotFoundException; use OCP\AppFramework\OCSController; use OCP\IRequest; use OCP\AppFramework\Middleware; @@ -54,12 +60,35 @@ public function afterException($controller, $methodName, \Exception $exception) $code = $exception->getCode(); if ($code === 0) { - $code = Http::STATUS_INTERNAL_SERVER_ERROR; + $code = API::RESPOND_UNKNOWN_ERROR; } + + // Build the response $response = new OCSResponse($format, $code, $exception->getMessage()); + // Forbidden always sets 401 (even on v1.php) + if ($exception instanceof OCSForbiddenException || $code === API::RESPOND_UNAUTHORISED) { + $response->setStatus(Http::STATUS_UNAUTHORIZED); + } + + // On v2.php we set actual HTTP error codes if (substr_compare($this->request->getScriptName(), '/ocs/v2.php', -strlen('/ocs/v2.php')) === 0) { - $response->setStatus($code); + if ($code === API::RESPOND_NOT_FOUND) { + $response->setStatus(Http::STATUS_NOT_FOUND); + } else if ($code === API::RESPOND_SERVER_ERROR) { + $response->setStatus(Http::STATUS_INTERNAL_SERVER_ERROR); + } else if ($code === API::RESPOND_UNKNOWN_ERROR) { + $response->setStatus(Http::STATUS_INTERNAL_SERVER_ERROR); + } else if ($code === API::RESPOND_UNAUTHORISED) { + // Already set + } + // 4xx and 5xx codes are forwarded as is. + else if ($code >= 400 && $code < 600) { + $response->setStatus($code); + } else { + // All other codes get a bad request + $response->setStatus(Http::STATUS_BAD_REQUEST); + } } return $response; } @@ -67,6 +96,35 @@ public function afterException($controller, $methodName, \Exception $exception) throw $exception; } + /** + * @param \OCP\AppFramework\Controller $controller + * @param string $methodName + * @param Response $response + * @return \OCP\AppFramework\Http\Response + */ + public function afterController($controller, $methodName, Response $response) { + /* + * If a different middleware has detected that a request unauthorized or forbidden + * we need to catch the response and convert it to a proper OCS response. + */ + if ($controller instanceof OCSController && !($response instanceof OCSResponse)) { + if ($response->getStatus() === Http::STATUS_UNAUTHORIZED || + $response->getStatus() === Http::STATUS_FORBIDDEN) { + $format = $this->getFormat($controller); + + $message = ''; + if ($response instanceof JSONResponse) { + /** @var DataResponse $response */ + $message = $response->getData()['message']; + } + $response = new OCSResponse($format, \OCP\API::RESPOND_UNAUTHORISED, $message); + $response->setStatus(Http::STATUS_UNAUTHORIZED); + } + } + + return $response; + } + /** * @param \OCP\AppFramework\Controller $controller * @return string diff --git a/lib/private/CapabilitiesManager.php b/lib/private/CapabilitiesManager.php index 99a37d652a113..159fa97c70810 100644 --- a/lib/private/CapabilitiesManager.php +++ b/lib/private/CapabilitiesManager.php @@ -22,15 +22,22 @@ namespace OC; +use OCP\AppFramework\QueryException; use OCP\Capabilities\ICapability; +use OCP\ILogger; class CapabilitiesManager { - /** - * @var \Closure[] - */ + /** @var \Closure[] */ private $capabilities = array(); + /** @var ILogger */ + private $logger; + + public function __construct(ILogger $logger) { + $this->logger = $logger; + } + /** * Get an array of al the capabilities that are registered at this manager * @@ -40,7 +47,13 @@ class CapabilitiesManager { public function getCapabilities() { $capabilities = []; foreach($this->capabilities as $capability) { - $c = $capability(); + try { + $c = $capability(); + } catch (QueryException $e) { + $this->logger->error('CapabilitiesManager: {message}', ['app' => 'core', 'message' => $e->getMessage()]); + continue; + } + if ($c instanceof ICapability) { $capabilities = array_replace_recursive($capabilities, $c->getCapabilities()); } else { diff --git a/lib/private/Comments/Comment.php b/lib/private/Comments/Comment.php index d640c606f8e7b..f6f0801c68365 100644 --- a/lib/private/Comments/Comment.php +++ b/lib/private/Comments/Comment.php @@ -47,8 +47,8 @@ class Comment implements IComment { /** * Comment constructor. * - * @param [] $data optional, array with keys according to column names from - * the comments database scheme + * @param array $data optional, array with keys according to column names from + * the comments database scheme */ public function __construct(array $data = null) { if(is_array($data)) { @@ -358,7 +358,7 @@ public function setObject($objectType, $objectId) { * sets the comment data based on an array with keys as taken from the * database. * - * @param [] $data + * @param array $data * @return IComment */ protected function fromArray($data) { diff --git a/lib/private/Installer.php b/lib/private/Installer.php index eed97e18d94ce..3d8a923417a5d 100644 --- a/lib/private/Installer.php +++ b/lib/private/Installer.php @@ -593,6 +593,12 @@ public static function installShippedApp($app) { OC_App::setAppTypes($info['id']); + if(isset($info['settings']) && is_array($info['settings'])) { + // requires that autoloading was registered for the app, + // as happens before running the install.php some lines above + \OC::$server->getSettingsManager()->setupSettings($info['settings']); + } + return $info['id']; } diff --git a/lib/private/Notification/Manager.php b/lib/private/Notification/Manager.php index 240cb1e11ff07..a079561f5c9fc 100644 --- a/lib/private/Notification/Manager.php +++ b/lib/private/Notification/Manager.php @@ -33,7 +33,7 @@ class Manager implements IManager { /** @var IApp[] */ protected $apps; - /** @var INotifier */ + /** @var INotifier[] */ protected $notifiers; /** @var array[] */ diff --git a/lib/private/Server.php b/lib/private/Server.php index d5808d7f17caf..44fc605826ce8 100644 --- a/lib/private/Server.php +++ b/lib/private/Server.php @@ -82,7 +82,7 @@ use OC\Security\TrustedDomainHelper; use OC\Session\CryptoWrapper; use OC\Tagging\TagMapper; -use OCA\Theming\Template; +use OCA\Theming\ThemingDefaults; use OCP\IL10N; use OCP\IServerContainer; use OCP\Security\IContentSecurityPolicyManager; @@ -629,7 +629,7 @@ public function __construct($webRoot, \OC\Config $config) { return new Manager(); }); $this->registerService('CapabilitiesManager', function (Server $c) { - $manager = new \OC\CapabilitiesManager(); + $manager = new \OC\CapabilitiesManager($c->getLogger()); $manager->registerCapability(function () use ($c) { return new \OC\OCS\CoreCapabilities($c->getConfig()); }); @@ -651,7 +651,7 @@ public function __construct($webRoot, \OC\Config $config) { } if ($classExists && $this->getConfig()->getSystemValue('installed', false) && $this->getAppManager()->isInstalled('theming')) { - return new Template( + return new ThemingDefaults( $this->getConfig(), $this->getL10N('theming'), $this->getURLGenerator(), @@ -722,6 +722,18 @@ public function __construct($webRoot, \OC\Config $config) { return $manager; }); + $this->registerService('SettingsManager', function(Server $c) { + $manager = new \OC\Settings\Manager( + $c->getLogger(), + $c->getDatabaseConnection(), + $c->getL10N('core'), + $c->getConfig(), + $c->getEncryptionManager(), + $c->getUserManager(), + $c->getLockingProvider() + ); + return $manager; + }); } /** @@ -1277,6 +1289,11 @@ function getMountManager() { return $this->query('MountManager'); } + /** @return \OCP\Files\Config\IUserMountCache */ + function getUserMountCache() { + return $this->query('UserMountCache'); + } + /** * Get the MimeTypeDetector * @@ -1425,4 +1442,11 @@ public function getShareManager() { public function getLDAPProvider() { return $this->query('LDAPProvider'); } + + /** + * @return \OCP\Settings\IManager + */ + public function getSettingsManager() { + return $this->query('SettingsManager'); + } } diff --git a/lib/private/Settings/Admin/Additional.php b/lib/private/Settings/Admin/Additional.php new file mode 100644 index 0000000000000..d133e4737a76b --- /dev/null +++ b/lib/private/Settings/Admin/Additional.php @@ -0,0 +1,88 @@ + + * + * @author Arthur Schiwon + * + * @license GNU AGPL version 3 or any later version + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + */ + +namespace OC\Settings\Admin; + +use Doctrine\DBAL\Connection; +use Doctrine\DBAL\DBALException; +use Doctrine\DBAL\Platforms\SqlitePlatform; +use OC\Lock\DBLockingProvider; +use OC\Lock\NoopLockingProvider; +use OCP\AppFramework\Http\TemplateResponse; +use OCP\IConfig; +use OCP\IDBConnection; +use OCP\IL10N; +use OCP\Lock\ILockingProvider; +use OCP\Settings\ISettings; + +class Additional implements ISettings { + /** @var IConfig */ + private $config; + + /** + * @param IConfig $config + */ + public function __construct(IConfig $config) { + $this->config = $config; + } + + /** + * @return TemplateResponse + */ + public function getForm() { + $parameters = [ + // Mail + 'sendmail_is_available' => (bool) \OC_Helper::findBinaryPath('sendmail'), + 'mail_domain' => $this->config->getSystemValue('mail_domain', ''), + 'mail_from_address' => $this->config->getSystemValue('mail_from_address', ''), + 'mail_smtpmode' => $this->config->getSystemValue('mail_smtpmode', ''), + 'mail_smtpsecure' => $this->config->getSystemValue('mail_smtpsecure', ''), + 'mail_smtphost' => $this->config->getSystemValue('mail_smtphost', ''), + 'mail_smtpport' => $this->config->getSystemValue('mail_smtpport', ''), + 'mail_smtpauthtype' => $this->config->getSystemValue('mail_smtpauthtype', ''), + 'mail_smtpauth' => $this->config->getSystemValue('mail_smtpauth', false), + 'mail_smtpname' => $this->config->getSystemValue('mail_smtpname', ''), + 'mail_smtppassword' => $this->config->getSystemValue('mail_smtppassword', ''), + ]; + + return new TemplateResponse('settings', 'admin/additional-mail', $parameters, ''); + } + + /** + * @return string the section ID, e.g. 'sharing' + */ + public function getSection() { + return 'additional'; + } + + /** + * @return int whether the form should be rather on the top or bottom of + * the admin section. The forms are arranged in ascending order of the + * priority values. It is required to return a value between 0 and 100. + * + * E.g.: 70 + */ + public function getPriority() { + return 0; + } +} diff --git a/lib/private/Settings/Admin/Encryption.php b/lib/private/Settings/Admin/Encryption.php new file mode 100644 index 0000000000000..6e93407f1a391 --- /dev/null +++ b/lib/private/Settings/Admin/Encryption.php @@ -0,0 +1,91 @@ + + * + * @author Arthur Schiwon + * + * @license GNU AGPL version 3 or any later version + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + */ + +namespace OC\Settings\Admin; + +use OC\Encryption\Manager; +use OCP\AppFramework\Http\TemplateResponse; +use OCP\IUserManager; +use OCP\Settings\ISettings; + +class Encryption implements ISettings { + /** @var Manager */ + private $manager; + + /** @var IUserManager */ + private $userManager; + + /** + * @param Manager $manager + * @param IUserManager $userManager + */ + public function __construct(Manager $manager, IUserManager $userManager) { + $this->manager = $manager; + $this->userManager = $userManager; + } + + /** + * @return TemplateResponse + */ + public function getForm() { + $encryptionModules = $this->manager->getEncryptionModules(); + $defaultEncryptionModuleId = $this->manager->getDefaultEncryptionModuleId(); + $encryptionModuleList = []; + foreach ($encryptionModules as $module) { + $encryptionModuleList[$module['id']]['displayName'] = $module['displayName']; + $encryptionModuleList[$module['id']]['default'] = false; + if ($module['id'] === $defaultEncryptionModuleId) { + $encryptionModuleList[$module['id']]['default'] = true; + } + } + + $parameters = [ + // Encryption API + 'encryptionEnabled' => $this->manager->isEnabled(), + 'encryptionReady' => $this->manager->isReady(), + 'externalBackendsEnabled' => count($this->userManager->getBackends()) > 1, + // Modules + 'encryptionModules' => $encryptionModuleList, + ]; + + return new TemplateResponse('settings', 'admin/encryption', $parameters, ''); + } + + /** + * @return string the section ID, e.g. 'sharing' + */ + public function getSection() { + return 'encryption'; + } + + /** + * @return int whether the form should be rather on the top or bottom of + * the admin section. The forms are arranged in ascending order of the + * priority values. It is required to return a value between 0 and 100. + * + * E.g.: 70 + */ + public function getPriority() { + return 0; + } +} diff --git a/lib/private/Settings/Admin/Logging.php b/lib/private/Settings/Admin/Logging.php new file mode 100644 index 0000000000000..407248ac4b16e --- /dev/null +++ b/lib/private/Settings/Admin/Logging.php @@ -0,0 +1,86 @@ + + * + * @author Arthur Schiwon + * + * @license GNU AGPL version 3 or any later version + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + */ + +namespace OC\Settings\Admin; + +use OC\Log\File as LogFile; +use OCP\AppFramework\Http\TemplateResponse; +use OCP\IConfig; +use OCP\Settings\ISettings; + +class Logging implements ISettings { + /** @var IConfig */ + private $config; + + /** + * @param IConfig $config + */ + public function __construct(IConfig $config) { + $this->config = $config; + } + + /** + * @return TemplateResponse + */ + public function getForm() { + $logType = $this->config->getSystemValue('log_type', 'file'); + $showLog = ($logType === 'file' || $logType === 'owncloud'); + + $numEntriesToLoad = 5; + $entries = LogFile::getEntries($numEntriesToLoad + 1); + $entriesRemaining = count($entries) > $numEntriesToLoad; + $entries = array_slice($entries, 0, $numEntriesToLoad); + + $logFileExists = file_exists(LogFile::getLogFilePath()) ; + $logFileSize = $logFileExists ? filesize(LogFile::getLogFilePath()) : 0; + + $parameters = [ + 'loglevel' => $this->config->getSystemValue('loglevel', 2), + 'entries' => $entries, + 'entriesremain' => $entriesRemaining, + 'doesLogFileExist' => $logFileExists, + 'logFileSize' => $logFileSize, + 'showLog' => $showLog, + ]; + + return new TemplateResponse('settings', 'admin/logging', $parameters, ''); + } + + /** + * @return string the section ID, e.g. 'sharing' + */ + public function getSection() { + return 'logging'; + } + + /** + * @return int whether the form should be rather on the top or bottom of + * the admin section. The forms are arranged in ascending order of the + * priority values. It is required to return a value between 0 and 100. + * + * E.g.: 70 + */ + public function getPriority() { + return 0; + } +} diff --git a/lib/private/Settings/Admin/Server.php b/lib/private/Settings/Admin/Server.php new file mode 100644 index 0000000000000..6b381ab48ed7f --- /dev/null +++ b/lib/private/Settings/Admin/Server.php @@ -0,0 +1,149 @@ + + * + * @author Arthur Schiwon + * + * @license GNU AGPL version 3 or any later version + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + */ + +namespace OC\Settings\Admin; + +use Doctrine\DBAL\Connection; +use Doctrine\DBAL\DBALException; +use Doctrine\DBAL\Platforms\SqlitePlatform; +use OC\Lock\DBLockingProvider; +use OC\Lock\NoopLockingProvider; +use OCP\AppFramework\Http\TemplateResponse; +use OCP\IConfig; +use OCP\IDBConnection; +use OCP\IL10N; +use OCP\Lock\ILockingProvider; +use OCP\Settings\ISettings; + +class Server implements ISettings { + /** @var IDBConnection|Connection */ + private $db; + /** @var IConfig */ + private $config; + /** @var ILockingProvider */ + private $lockingProvider; + /** @var IL10N */ + private $l; + + /** + * @param IDBConnection $db + * @param IConfig $config + * @param ILockingProvider $lockingProvider + * @param IL10N $l + */ + public function __construct(IDBConnection $db, + IConfig $config, + ILockingProvider $lockingProvider, + IL10N $l) { + $this->db = $db; + $this->config = $config; + $this->lockingProvider = $lockingProvider; + $this->l = $l; + } + + /** + * @return TemplateResponse + */ + public function getForm() { + try { + if ($this->db->getDatabasePlatform() instanceof SqlitePlatform) { + $invalidTransactionIsolationLevel = false; + } else { + $invalidTransactionIsolationLevel = $this->db->getTransactionIsolation() !== Connection::TRANSACTION_READ_COMMITTED; + } + } catch (DBALException $e) { + // ignore + $invalidTransactionIsolationLevel = false; + } + + $envPath = getenv('PATH'); + + // warn if outdated version of a memcache module is used + $caches = [ + 'apcu' => ['name' => $this->l->t('APCu'), 'version' => '4.0.6'], + 'redis' => ['name' => $this->l->t('Redis'), 'version' => '2.2.5'], + ]; + $outdatedCaches = []; + foreach ($caches as $php_module => $data) { + $isOutdated = extension_loaded($php_module) && version_compare(phpversion($php_module), $data['version'], '<'); + if ($isOutdated) { + $outdatedCaches[$php_module] = $data; + } + } + + if ($this->lockingProvider instanceof NoopLockingProvider) { + $fileLockingType = 'none'; + } else if ($this->lockingProvider instanceof DBLockingProvider) { + $fileLockingType = 'db'; + } else { + $fileLockingType = 'cache'; + } + + // If the current web root is non-empty but the web root from the config is, + // and system cron is used, the URL generator fails to build valid URLs. + $shouldSuggestOverwriteCliUrl = $this->config->getAppValue('core', 'backgroundjobs_mode', 'ajax') === 'cron' + && \OC::$WEBROOT && \OC::$WEBROOT !== '/' + && !$this->config->getSystemValue('overwrite.cli.url', ''); + $suggestedOverwriteCliUrl = ($shouldSuggestOverwriteCliUrl) ? \OC::$WEBROOT : ''; + + $parameters = [ + // Diagnosis + 'readOnlyConfigEnabled' => \OC_Helper::isReadOnlyConfigEnabled(), + 'isLocaleWorking' => \OC_Util::isSetLocaleWorking(), + 'isAnnotationsWorking' => \OC_Util::isAnnotationsWorking(), + 'checkForWorkingWellKnownSetup' => $this->config->getSystemValue('check_for_working_wellknown_setup', true), + 'has_fileinfo' => \OC_Util::fileInfoLoaded(), + 'invalidTransactionIsolationLevel' => $invalidTransactionIsolationLevel, + 'getenvServerNotWorking' => empty($envPath), + 'OutdatedCacheWarning' => $outdatedCaches, + 'fileLockingType' => $fileLockingType, + 'suggestedOverwriteCliUrl' => $suggestedOverwriteCliUrl, + + // Background jobs + 'backgroundjobs_mode' => $this->config->getAppValue('core', 'backgroundjobs_mode', 'ajax'), + 'cron_log' => $this->config->getSystemValue('cron_log', true), + 'lastcron' => $this->config->getAppValue('core', 'lastcron', false), + 'cronErrors' => $this->config->getAppValue('core', 'cronErrors'), + ]; + + return new TemplateResponse('settings', 'admin/server', $parameters, ''); + } + + /** + * @return string the section ID, e.g. 'sharing' + */ + public function getSection() { + return 'server'; + } + + /** + * @return int whether the form should be rather on the top or bottom of + * the admin section. The forms are arranged in ascending order of the + * priority values. It is required to return a value between 0 and 100. + * + * E.g.: 70 + */ + public function getPriority() { + return 0; + } +} diff --git a/lib/private/Settings/Admin/Sharing.php b/lib/private/Settings/Admin/Sharing.php new file mode 100644 index 0000000000000..8d3ddc9b3b55a --- /dev/null +++ b/lib/private/Settings/Admin/Sharing.php @@ -0,0 +1,90 @@ + + * + * @author Arthur Schiwon + * + * @license GNU AGPL version 3 or any later version + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + */ + +namespace OC\Settings\Admin; + +use OC\Share\Share; +use OCP\AppFramework\Http\TemplateResponse; +use OCP\IConfig; +use OCP\Settings\ISettings; +use OCP\Util; + +class Sharing implements ISettings { + /** @var IConfig */ + private $config; + + /** + * @param IConfig $config + */ + public function __construct(IConfig $config) { + $this->config = $config; + } + + /** + * @return TemplateResponse + */ + public function getForm() { + $excludedGroups = $this->config->getAppValue('core', 'shareapi_exclude_groups_list', ''); + $excludeGroupsList = !is_null(json_decode($excludedGroups)) + ? implode('|', json_decode($excludedGroups, true)) : ''; + + $parameters = [ + // Built-In Sharing + 'allowGroupSharing' => $this->config->getAppValue('core', 'shareapi_allow_group_sharing', 'yes'), + 'allowLinks' => $this->config->getAppValue('core', 'shareapi_allow_links', 'yes'), + 'allowMailNotification' => $this->config->getAppValue('core', 'shareapi_allow_mail_notification', 'no'), + 'allowPublicMailNotification' => $this->config->getAppValue('core', 'shareapi_allow_public_notification', 'no'), + 'allowPublicUpload' => $this->config->getAppValue('core', 'shareapi_allow_public_upload', 'yes'), + 'allowResharing' => $this->config->getAppValue('core', 'shareapi_allow_resharing', 'yes'), + 'allowShareDialogUserEnumeration' => $this->config->getAppValue('core', 'shareapi_allow_share_dialog_user_enumeration', 'yes'), + 'enforceLinkPassword' => Util::isPublicLinkPasswordRequired(), + 'onlyShareWithGroupMembers' => Share::shareWithGroupMembersOnly(), + 'shareAPIEnabled' => $this->config->getAppValue('core', 'shareapi_enabled', 'yes'), + 'shareDefaultExpireDateSet' => $this->config->getAppValue('core', 'shareapi_default_expire_date', 'no'), + 'shareExpireAfterNDays' => $this->config->getAppValue('core', 'shareapi_expire_after_n_days', '7'), + 'shareEnforceExpireDate' => $this->config->getAppValue('core', 'shareapi_enforce_expire_date', 'no'), + 'shareExcludeGroups' => $this->config->getAppValue('core', 'shareapi_exclude_groups', 'no') === 'yes' ? true : false, + 'shareExcludedGroupsList' => $excludeGroupsList, + ]; + + return new TemplateResponse('settings', 'admin/sharing', $parameters, ''); + } + + /** + * @return string the section ID, e.g. 'sharing' + */ + public function getSection() { + return 'sharing'; + } + + /** + * @return int whether the form should be rather on the top or bottom of + * the admin section. The forms are arranged in ascending order of the + * priority values. It is required to return a value between 0 and 100. + * + * E.g.: 70 + */ + public function getPriority() { + return 0; + } +} diff --git a/lib/private/Settings/Admin/TipsTricks.php b/lib/private/Settings/Admin/TipsTricks.php new file mode 100644 index 0000000000000..fd0fd5958445a --- /dev/null +++ b/lib/private/Settings/Admin/TipsTricks.php @@ -0,0 +1,71 @@ + + * + * @author Arthur Schiwon + * + * @license GNU AGPL version 3 or any later version + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + */ + +namespace OC\Settings\Admin; + +use OCP\AppFramework\Http\TemplateResponse; +use OCP\IConfig; +use OCP\Settings\ISettings; + +class TipsTricks implements ISettings { + /** @var IConfig */ + private $config; + + /** + * @param IConfig $config + */ + public function __construct(IConfig $config) { + $this->config = $config; + } + + /** + * @return TemplateResponse + */ + public function getForm() { + $databaseOverload = (strpos($this->config->getSystemValue('dbtype'), 'sqlite') !== false); + + $parameters = [ + 'databaseOverload' => $databaseOverload, + ]; + + return new TemplateResponse('settings', 'admin/tipstricks', $parameters, ''); + } + + /** + * @return string the section ID, e.g. 'sharing' + */ + public function getSection() { + return 'tips-tricks'; + } + + /** + * @return int whether the form should be rather on the top or bottom of + * the admin section. The forms are arranged in ascending order of the + * priority values. It is required to return a value between 0 and 100. + * + * E.g.: 70 + */ + public function getPriority() { + return 0; + } +} diff --git a/lib/private/Settings/Manager.php b/lib/private/Settings/Manager.php new file mode 100644 index 0000000000000..7574695d709fd --- /dev/null +++ b/lib/private/Settings/Manager.php @@ -0,0 +1,431 @@ + + * + * @author Arthur Schiwon + * + * @license GNU AGPL version 3 or any later version + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + */ + +namespace OC\Settings; + +use OCP\AppFramework\QueryException; +use OCP\Encryption\IManager as EncryptionManager; +use OCP\IConfig; +use OCP\IDBConnection; +use OCP\IL10N; +use OCP\ILogger; +use OCP\IUserManager; +use OCP\Lock\ILockingProvider; +use OCP\Settings\ISettings; +use OCP\Settings\IManager; +use OCP\Settings\ISection; + +class Manager implements IManager { + const TABLE_ADMIN_SETTINGS = 'admin_settings'; + const TABLE_ADMIN_SECTIONS = 'admin_sections'; + + /** @var ILogger */ + private $log; + /** @var IDBConnection */ + private $dbc; + /** @var IL10N */ + private $l; + /** @var IConfig */ + private $config; + /** @var EncryptionManager */ + private $encryptionManager; + /** @var IUserManager */ + private $userManager; + /** @var ILockingProvider */ + private $lockingProvider; + + /** + * @param ILogger $log + * @param IDBConnection $dbc + * @param IL10N $l + * @param IConfig $config + * @param EncryptionManager $encryptionManager + * @param IUserManager $userManager + * @param ILockingProvider $lockingProvider + */ + public function __construct( + ILogger $log, + IDBConnection $dbc, + IL10N $l, + IConfig $config, + EncryptionManager $encryptionManager, + IUserManager $userManager, + ILockingProvider $lockingProvider + ) { + $this->log = $log; + $this->dbc = $dbc; + $this->l = $l; + $this->config = $config; + $this->encryptionManager = $encryptionManager; + $this->userManager = $userManager; + $this->lockingProvider = $lockingProvider; + } + + /** + * @inheritdoc + */ + public function setupSettings(array $settings) { + if(isset($settings[IManager::KEY_ADMIN_SECTION])) { + $this->setupAdminSection($settings[IManager::KEY_ADMIN_SECTION]); + } + if(isset($settings[IManager::KEY_ADMIN_SETTINGS])) { + $this->setupAdminSettings($settings[IManager::KEY_ADMIN_SETTINGS]); + } + } + + /** + * attempts to remove an apps section and/or settings entry. A listener is + * added centrally making sure that this method is called ones an app was + * disabled. + * + * @param string $appId + * @since 9.1.0 + */ + public function onAppDisabled($appId) { + $appInfo = \OC_App::getAppInfo($appId); // hello static legacy + + if(isset($appInfo['settings'][IManager::KEY_ADMIN_SECTION])) { + $this->remove(self::TABLE_ADMIN_SECTIONS, $appInfo['settings'][IManager::KEY_ADMIN_SECTION]); + } + if(isset($settings['settings'][IManager::KEY_ADMIN_SETTINGS])) { + $this->remove(self::TABLE_ADMIN_SETTINGS, $appInfo['settings'][IManager::KEY_ADMIN_SETTINGS]); + } + } + + public function checkForOrphanedClassNames() { + $tables = [ self::TABLE_ADMIN_SECTIONS, self::TABLE_ADMIN_SETTINGS ]; + foreach ($tables as $table) { + $classes = $this->getClasses($table); + foreach($classes as $className) { + try { + \OC::$server->query($className); + } catch (QueryException $e) { + $this->remove($table, $className); + } + } + } + } + + /** + * returns the registerd classes in the given table + * + * @param $table + * @return string[] + */ + private function getClasses($table) { + $q = $this->dbc->getQueryBuilder(); + $resultStatement = $q->select('class') + ->from($table) + ->execute(); + $data = $resultStatement->fetchAll(); + $resultStatement->closeCursor(); + + return array_map(function($row) { return $row['class']; }, $data); + } + + /** + * @param string $sectionClassName + */ + private function setupAdminSection($sectionClassName) { + if(!class_exists($sectionClassName)) { + $this->log->debug('Could not find admin section class ' . $sectionClassName); + return; + } + try { + $section = $this->query($sectionClassName); + } catch (QueryException $e) { + // cancel + return; + } + + if(!$section instanceof ISection) { + $this->log->error( + 'Admin section instance must implement \OCP\ISection. Invalid class: {class}', + ['class' => $sectionClassName] + ); + return; + } + if(!$this->hasAdminSection(get_class($section))) { + $this->addAdminSection($section); + } else { + $this->updateAdminSection($section); + } + } + + private function addAdminSection(ISection $section) { + $this->add(self::TABLE_ADMIN_SECTIONS, [ + 'id' => $section->getID(), + 'class' => get_class($section), + 'priority' => $section->getPriority(), + ]); + } + + private function addAdminSettings(ISettings $settings) { + $this->add(self::TABLE_ADMIN_SETTINGS, [ + 'class' => get_class($settings), + 'section' => $settings->getSection(), + 'priority' => $settings->getPriority(), + ]); + } + + /** + * @param string $table + * @param array $values + */ + private function add($table, array $values) { + $query = $this->dbc->getQueryBuilder(); + $values = array_map(function($value) use ($query) { + return $query->createNamedParameter($value); + }, $values); + $query->insert($table)->values($values); + $query->execute(); + } + + private function updateAdminSettings(ISettings $settings) { + $this->update( + self::TABLE_ADMIN_SETTINGS, + 'class', + get_class($settings), + [ + 'section' => $settings->getSection(), + 'priority' => $settings->getPriority(), + ] + ); + } + + private function updateAdminSection(ISection $section) { + $this->update( + self::TABLE_ADMIN_SECTIONS, + 'class', + get_class($section), + [ + 'id' => $section->getID(), + 'priority' => $section->getPriority(), + ] + ); + } + + private function update($table, $idCol, $id, $values) { + $query = $this->dbc->getQueryBuilder(); + $query->update($table); + foreach($values as $key => $value) { + $query->set($key, $query->createNamedParameter($value)); + } + $query + ->where($query->expr()->eq($idCol, $query->createParameter($idCol))) + ->setParameter($idCol, $id) + ->execute(); + } + + /** + * @param string $className + * @return bool + */ + private function hasAdminSection($className) { + return $this->has(self::TABLE_ADMIN_SECTIONS, $className); + } + + /** + * @param string $className + * @return bool + */ + private function hasAdminSettings($className) { + return $this->has(self::TABLE_ADMIN_SETTINGS, $className); + } + + /** + * @param string $table + * @param string $className + * @return bool + */ + private function has($table, $className) { + $query = $this->dbc->getQueryBuilder(); + $query->select('class') + ->from($table) + ->where($query->expr()->eq('class', $query->createNamedParameter($className))) + ->setMaxResults(1); + + $result = $query->execute(); + $row = $result->fetch(); + $result->closeCursor(); + + return (bool) $row; + } + + /** + * deletes an settings or admin entry from the given table + * + * @param $table + * @param $className + */ + private function remove($table, $className) { + $query = $this->dbc->getQueryBuilder(); + $query->delete($table) + ->where($query->expr()->eq('class', $query->createNamedParameter($className))); + + $query->execute(); + } + + private function setupAdminSettings($settingsClassName) { + if(!class_exists($settingsClassName)) { + $this->log->debug('Could not find admin section class ' . $settingsClassName); + return; + } + + try { + /** @var ISettings $settings */ + $settings = $this->query($settingsClassName); + } catch (QueryException $e) { + // cancel + return; + } + + if(!$settings instanceof ISettings) { + $this->log->error( + 'Admin section instance must implement \OCP\ISection. Invalid class: {class}', + ['class' => $settingsClassName] + ); + return; + } + if(!$this->hasAdminSettings(get_class($settings))) { + $this->addAdminSettings($settings); + } else { + $this->updateAdminSettings($settings); + } + } + + private function query($className) { + try { + return \OC::$server->query($className); + } catch (QueryException $e) { + $this->log->logException($e); + throw $e; + } + } + + /** + * @inheritdoc + */ + public function getAdminSections() { + $query = $this->dbc->getQueryBuilder(); + $query->select(['class', 'priority']) + ->from(self::TABLE_ADMIN_SECTIONS); + + // built-in sections + $sections = [ + 0 => [new Section('server', $this->l->t('Server settings'), 0)], + 5 => [new Section('sharing', $this->l->t('Sharing'), 0)], + 45 => [new Section('encryption', $this->l->t('Encryption'), 0)], + 90 => [new Section('logging', $this->l->t('Logging'), 0)], + 98 => [new Section('additional', $this->l->t('Additional settings'), 0)], + 99 => [new Section('tips-tricks', $this->l->t('Tips & tricks'), 0)], + ]; + + $result = $query->execute(); + while($row = $result->fetch()) { + if(!isset($sections[$row['priority']])) { + $sections[$row['priority']] = []; + } + try { + $sections[$row['priority']][] = $this->query($row['class']); + } catch (QueryException $e) { + // skip + } + } + $result->closeCursor(); + + ksort($sections); + return $sections; + } + + private function getBuiltInAdminSettings($section) { + $forms = []; + try { + if($section === 'server') { + /** @var ISettings $form */ + $form = new Admin\Server($this->dbc, $this->config, $this->lockingProvider, $this->l); + $forms[$form->getPriority()] = [$form]; + } + if($section === 'encryption') { + /** @var ISettings $form */ + $form = new Admin\Encryption($this->encryptionManager, $this->userManager); + $forms[$form->getPriority()] = [$form]; + } + if($section === 'sharing') { + /** @var ISettings $form */ + $form = new Admin\Sharing($this->config); + $forms[$form->getPriority()] = [$form]; + } + if($section === 'logging') { + /** @var ISettings $form */ + $form = new Admin\Logging($this->config); + $forms[$form->getPriority()] = [$form]; + } + if($section === 'additional') { + /** @var ISettings $form */ + $form = new Admin\Additional($this->config); + $forms[$form->getPriority()] = [$form]; + } + if($section === 'tips-tricks') { + /** @var ISettings $form */ + $form = new Admin\TipsTricks($this->config); + $forms[$form->getPriority()] = [$form]; + } + } catch (QueryException $e) { + // skip + } + return $forms; + } + + private function getAdminSettingsFromDB($section, &$settings) { + $query = $this->dbc->getQueryBuilder(); + $query->select(['class', 'priority']) + ->from(self::TABLE_ADMIN_SETTINGS) + ->where($query->expr()->eq('section', $this->dbc->getQueryBuilder()->createParameter('section'))) + ->setParameter('section', $section); + + $result = $query->execute(); + while($row = $result->fetch()) { + if(!isset($settings[$row['priority']])) { + $settings[$row['priority']] = []; + } + try { + $settings[$row['priority']][] = $this->query($row['class']); + } catch (QueryException $e) { + // skip + } + } + $result->closeCursor(); + + ksort($settings); + } + + /** + * @inheritdoc + */ + public function getAdminSettings($section) { + $settings = $this->getBuiltInAdminSettings($section); + $this->getAdminSettingsFromDB($section, $settings); + return $settings; + } +} diff --git a/lib/private/Settings/RemoveOrphaned.php b/lib/private/Settings/RemoveOrphaned.php new file mode 100644 index 0000000000000..fbee95c887973 --- /dev/null +++ b/lib/private/Settings/RemoveOrphaned.php @@ -0,0 +1,91 @@ + + * + * @author Arthur Schiwon + * + * @license GNU AGPL version 3 or any later version + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + */ + +namespace OC\Settings; + +use OC\BackgroundJob\JobList; +use OC\BackgroundJob\TimedJob; +use OC\NeedsUpdateException; +use OCP\BackgroundJob\IJobList; +use OCP\ILogger; + +/** + * Class RemoveOrphaned + * + * @package OC\Settings + */ +class RemoveOrphaned extends TimedJob { + + /** @var IJobList */ + private $jobList; + + /** @var ILogger */ + private $logger; + + /** @var Manager */ + private $manager; + + public function __construct(Manager $manager = null) { + if($manager !== null) { + $this->manager = $manager; + } else { + // fix DI for Jobs + $this->manager = \OC::$server->getSettingsManager(); + } + } + + /** + * run the job, then remove it from the job list + * + * @param JobList $jobList + * @param ILogger $logger + */ + public function execute($jobList, ILogger $logger = null) { + // add an interval of 15 mins + $this->setInterval(15*60); + + $this->jobList = $jobList; + $this->logger = $logger; + parent::execute($jobList, $logger); + } + + /** + * @param array $argument + * @throws \Exception + * @throws \OC\NeedsUpdateException + */ + protected function run($argument) { + try { + \OC_App::loadApps(); + } catch (NeedsUpdateException $ex) { + // only run when apps are up to date + return; + } + + $this->manager->checkForOrphanedClassNames(); + + // remove the job once executed successfully + $this->jobList->remove($this); + } + +} diff --git a/lib/private/Settings/Section.php b/lib/private/Settings/Section.php new file mode 100644 index 0000000000000..b3cf242279fc2 --- /dev/null +++ b/lib/private/Settings/Section.php @@ -0,0 +1,77 @@ + + * + * @author Arthur Schiwon + * + * @license GNU AGPL version 3 or any later version + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + */ + +namespace OC\Settings; + +use OCP\Settings\ISection; + +class Section implements ISection { + /** @var string */ + private $id; + /** @var string */ + private $name; + /** @var int */ + private $priority; + + /** + * @param string $id + * @param string $name + * @param int $priority + */ + public function __construct($id, $name, $priority) { + $this->id = $id; + $this->name = $name; + $this->priority = $priority; + } + + /** + * returns the ID of the section. It is supposed to be a lower case string, + * e.g. 'ldap' + * + * @returns string + */ + public function getID() { + return $this->id; + } + + /** + * returns the translated name as it should be displayed, e.g. 'LDAP / AD + * integration'. Use the L10N service to translate it. + * + * @return string + */ + public function getName() { + return $this->name; + } + + /** + * @return int whether the form should be rather on the top or bottom of + * the settings navigation. The sections are arranged in ascending order of + * the priority values. It is required to return a value between 0 and 99. + * + * E.g.: 70 + */ + public function getPriority() { + return $this->priority; + } +} diff --git a/lib/private/User/Backend.php b/lib/private/User/Backend.php index da86a4b0534ea..374ec5876e101 100644 --- a/lib/private/User/Backend.php +++ b/lib/private/User/Backend.php @@ -22,11 +22,13 @@ namespace OC\User; +use \OCP\UserInterface; + /** * Abstract base class for user management. Provides methods for querying backend * capabilities. */ -abstract class Backend implements \OCP\UserInterface { +abstract class Backend implements UserInterface { /** * error code for functions not provided by the user backend */ diff --git a/lib/private/User/Database.php b/lib/private/User/Database.php index e2cbebab2e4d7..eba7beffeaed0 100644 --- a/lib/private/User/Database.php +++ b/lib/private/User/Database.php @@ -53,19 +53,25 @@ namespace OC\User; use OC\Cache\CappedMemoryCache; +use OCP\IUserBackend; +use OCP\Util; use Symfony\Component\EventDispatcher\EventDispatcher; use Symfony\Component\EventDispatcher\GenericEvent; /** * Class for user management in a SQL Database (e.g. MySQL, SQLite) */ -class Database extends \OC\User\Backend implements \OCP\IUserBackend { +class Database extends Backend implements IUserBackend { /** @var CappedMemoryCache */ private $cache; + /** @var EventDispatcher */ private $eventDispatcher; + /** - * OC_User_Database constructor. + * \OC\User\Database constructor. + * + * @param EventDispatcher $eventDispatcher */ public function __construct($eventDispatcher = null) { $this->cache = new CappedMemoryCache(); @@ -233,7 +239,7 @@ private function loadUser($uid) { $result = $query->execute(array($uid)); if ($result === false) { - \OCP\Util::writeLog('core', \OC_DB::getErrorMessage(), \OCP\Util::ERROR); + Util::writeLog('core', \OC_DB::getErrorMessage(), Util::ERROR); return false; } @@ -310,7 +316,7 @@ public function countUsers() { $query = \OC_DB::prepare('SELECT COUNT(*) FROM `*PREFIX*users`'); $result = $query->execute(); if ($result === false) { - \OCP\Util::writeLog('core', \OC_DB::getErrorMessage(), \OCP\Util::ERROR); + Util::writeLog('core', \OC_DB::getErrorMessage(), Util::ERROR); return false; } return $result->fetchOne(); @@ -345,7 +351,7 @@ public static function preLoginNameUsedAsUserName($param) { $backends = \OC::$server->getUserManager()->getBackends(); foreach ($backends as $backend) { - if ($backend instanceof \OC\User\Database) { + if ($backend instanceof Database) { /** @var \OC\User\Database $backend */ $uid = $backend->loginName2UserName($param['uid']); if ($uid !== false) { diff --git a/lib/private/User/Manager.php b/lib/private/User/Manager.php index eb2f1ce1da362..f41468d4926b8 100644 --- a/lib/private/User/Manager.php +++ b/lib/private/User/Manager.php @@ -187,7 +187,7 @@ public function checkPassword($loginName, $password) { $password = str_replace("\0", '', $password); foreach ($this->backends as $backend) { - if ($backend->implementsActions(\OC\User\Backend::CHECK_PASSWORD)) { + if ($backend->implementsActions(Backend::CHECK_PASSWORD)) { $uid = $backend->checkPassword($loginName, $password); if ($uid !== false) { return $this->getUserObject($uid, $backend); @@ -291,7 +291,7 @@ public function createUser($uid, $password) { $this->emit('\OC\User', 'preCreateUser', array($uid, $password)); foreach ($this->backends as $backend) { - if ($backend->implementsActions(\OC\User\Backend::CREATE_USER)) { + if ($backend->implementsActions(Backend::CREATE_USER)) { $backend->createUser($uid, $password); $user = $this->getUserObject($uid, $backend); $this->emit('\OC\User', 'postCreateUser', array($user, $password)); @@ -309,7 +309,7 @@ public function createUser($uid, $password) { public function countUsers() { $userCountStatistics = array(); foreach ($this->backends as $backend) { - if ($backend->implementsActions(\OC\User\Backend::COUNT_USERS)) { + if ($backend->implementsActions(Backend::COUNT_USERS)) { $backendUsers = $backend->countUsers(); if($backendUsers !== false) { if($backend instanceof IUserBackend) { diff --git a/lib/private/User/Session.php b/lib/private/User/Session.php index 3db6cd1a11aa2..3b357b69bcf4d 100644 --- a/lib/private/User/Session.php +++ b/lib/private/User/Session.php @@ -167,7 +167,7 @@ public function setSession(ISession $session) { /** * set the currently active user * - * @param User|null $user + * @param IUser|null $user */ public function setUser($user) { if (is_null($user)) { @@ -287,10 +287,8 @@ public function login($uid, $password) { $this->session->regenerateId(); if ($this->validateToken($password, $uid)) { return $this->loginWithToken($password); - } else { - return $this->loginWithPassword($uid, $password); } - return false; + return $this->loginWithPassword($uid, $password); } /** @@ -464,7 +462,6 @@ private function loginWithPassword($uid, $password) { $message = \OC::$server->getL10N('lib')->t('User disabled'); throw new LoginException($message); } - return false; } /** @@ -652,6 +649,7 @@ private function validateToken($token, $user = null) { /** * Tries to login the user with auth token header * + * @param IRequest $request * @todo check remember me cookie * @return boolean */ diff --git a/lib/private/User/User.php b/lib/private/User/User.php index 4d403535bf306..94ac8c1362164 100644 --- a/lib/private/User/User.php +++ b/lib/private/User/User.php @@ -30,6 +30,7 @@ namespace OC\User; +use OC\Files\Cache\Storage; use OC\Hooks\Emitter; use OC_Helper; use OCP\IAvatarManager; @@ -38,6 +39,7 @@ use OCP\IUser; use OCP\IConfig; use OCP\UserInterface; +use \OCP\IUserBackend; class User implements IUser { /** @var string $uid */ @@ -111,7 +113,7 @@ public function getUID() { public function getDisplayName() { if (!isset($this->displayName)) { $displayName = ''; - if ($this->backend and $this->backend->implementsActions(\OC\User\Backend::GET_DISPLAYNAME)) { + if ($this->backend and $this->backend->implementsActions(Backend::GET_DISPLAYNAME)) { // get display name and strip whitespace from the beginning and end of it $backendDisplayName = $this->backend->getDisplayName($this->uid); if (is_string($backendDisplayName)) { @@ -136,7 +138,7 @@ public function getDisplayName() { */ public function setDisplayName($displayName) { $displayName = trim($displayName); - if ($this->backend->implementsActions(\OC\User\Backend::SET_DISPLAYNAME) && !empty($displayName)) { + if ($this->backend->implementsActions(Backend::SET_DISPLAYNAME) && !empty($displayName)) { $result = $this->backend->setDisplayName($this->uid, $displayName); if ($result) { $this->displayName = $displayName; @@ -198,17 +200,17 @@ public function delete() { // FIXME: Feels like an hack - suggestions? // We have to delete the user from all groups - foreach (\OC_Group::getUserGroups($this->uid) as $i) { - \OC_Group::removeFromGroup($this->uid, $i); + foreach (\OC::$server->getGroupManager()->getUserGroupIds($this) as $groupId) { + \OC_Group::removeFromGroup($this->uid, $groupId); } // Delete the user's keys in preferences \OC::$server->getConfig()->deleteAllUserValues($this->uid); // Delete user files in /data/ - \OC_Helper::rmdirr(\OC_User::getHome($this->uid)); + \OC_Helper::rmdirr($this->getHome()); // Delete the users entry in the storage table - \OC\Files\Cache\Storage::remove('home::' . $this->uid); + Storage::remove('home::' . $this->uid); \OC::$server->getCommentsManager()->deleteReferencesOfActor('users', $this->uid); \OC::$server->getCommentsManager()->deleteReadMarksFromUser($this); @@ -231,7 +233,7 @@ public function setPassword($password, $recoveryPassword = null) { if ($this->emitter) { $this->emitter->emit('\OC\User', 'preSetPassword', array($this, $password, $recoveryPassword)); } - if ($this->backend->implementsActions(\OC\User\Backend::SET_PASSWORD)) { + if ($this->backend->implementsActions(Backend::SET_PASSWORD)) { $result = $this->backend->setPassword($this->uid, $password); if ($this->emitter) { $this->emitter->emit('\OC\User', 'postSetPassword', array($this, $password, $recoveryPassword)); @@ -249,7 +251,7 @@ public function setPassword($password, $recoveryPassword = null) { */ public function getHome() { if (!$this->home) { - if ($this->backend->implementsActions(\OC\User\Backend::GET_HOME) and $home = $this->backend->getHome($this->uid)) { + if ($this->backend->implementsActions(Backend::GET_HOME) and $home = $this->backend->getHome($this->uid)) { $this->home = $home; } elseif ($this->config) { $this->home = $this->config->getSystemValue('datadirectory') . '/' . $this->uid; @@ -266,7 +268,7 @@ public function getHome() { * @return string */ public function getBackendClassName() { - if($this->backend instanceof \OCP\IUserBackend) { + if($this->backend instanceof IUserBackend) { return $this->backend->getBackendName(); } return get_class($this->backend); @@ -278,7 +280,7 @@ public function getBackendClassName() { * @return bool */ public function canChangeAvatar() { - if ($this->backend->implementsActions(\OC\User\Backend::PROVIDE_AVATAR)) { + if ($this->backend->implementsActions(Backend::PROVIDE_AVATAR)) { return $this->backend->canChangeAvatar($this->uid); } return true; @@ -290,7 +292,7 @@ public function canChangeAvatar() { * @return bool */ public function canChangePassword() { - return $this->backend->implementsActions(\OC\User\Backend::SET_PASSWORD); + return $this->backend->implementsActions(Backend::SET_PASSWORD); } /** @@ -302,7 +304,7 @@ public function canChangeDisplayName() { if ($this->config->getSystemValue('allow_user_to_change_display_name') === false) { return false; } - return $this->backend->implementsActions(\OC\User\Backend::SET_DISPLAYNAME); + return $this->backend->implementsActions(Backend::SET_DISPLAYNAME); } /** diff --git a/lib/private/legacy/app.php b/lib/private/legacy/app.php index 2d5e5ba193239..ceb36449bf099 100644 --- a/lib/private/legacy/app.php +++ b/lib/private/legacy/app.php @@ -51,6 +51,7 @@ use OC\Installer; use OC\OCSClient; use OC\Repair; +use OCP\App\ManagerEvent; /** * This class manages the apps. It allows them to register and integrate in the @@ -345,6 +346,13 @@ public static function enable($app, $groups = null) { } else { $appManager->enableApp($app); } + + $info = self::getAppInfo($app); + if(isset($info['settings']) && is_array($info['settings'])) { + $appPath = self::getAppPath($app); + self::registerAutoloading($app, $appPath); + \OC::$server->getSettingsManager()->setupSettings($info['settings']); + } } /** @@ -471,7 +479,7 @@ public static function getSettingsNavigation() { $settings[] = array( "id" => "admin", "order" => 1000, - "href" => $urlGenerator->linkToRoute('settings_admin'), + "href" => $urlGenerator->linkToRoute('settings.AdminSettings.index'), "name" => $l->t("Admin"), "icon" => $urlGenerator->imagePath("settings", "admin.svg") ); @@ -1162,6 +1170,13 @@ public static function installApp($app) { if (isset($appData['id'])) { $config->setAppValue($app, 'ocsid', $appData['id']); } + + if(isset($info['settings']) && is_array($info['settings'])) { + $appPath = self::getAppPath($app); + self::registerAutoloading($app, $appPath); + \OC::$server->getSettingsManager()->setupSettings($info['settings']); + } + \OC_Hook::emit('OC_App', 'post_enable', array('app' => $app)); } else { if(empty($appName) ) { @@ -1199,6 +1214,11 @@ public static function updateApp($appId) { include $appPath . '/appinfo/update.php'; } self::setupBackgroundJobs($appData['background-jobs']); + if(isset($appData['settings']) && is_array($appData['settings'])) { + $appPath = self::getAppPath($appId); + self::registerAutoloading($appId, $appPath); + \OC::$server->getSettingsManager()->setupSettings($appData['settings']); + } //set remote/public handlers if (array_key_exists('ocsid', $appData)) { @@ -1218,6 +1238,10 @@ public static function updateApp($appId) { $version = \OC_App::getAppVersion($appId); \OC::$server->getAppConfig()->setValue($appId, 'installed_version', $version); + \OC::$server->getEventDispatcher()->dispatch(ManagerEvent::EVENT_APP_UPDATE, new ManagerEvent( + ManagerEvent::EVENT_APP_UPDATE, $appId + )); + return true; } diff --git a/lib/private/legacy/util.php b/lib/private/legacy/util.php index 83274f8279296..a31d02dc01ef0 100644 --- a/lib/private/legacy/util.php +++ b/lib/private/legacy/util.php @@ -165,6 +165,7 @@ public static function setupFS($user = '') { // install storage availability wrapper, before most other wrappers \OC\Files\Filesystem::addStorageWrapper('oc_availability', function ($mountPoint, $storage) { + /** @var \OCP\Files\Storage $storage */ if (!$storage->instanceOfStorage('\OC\Files\Storage\Shared') && !$storage->isLocal()) { return new \OC\Files\Storage\Wrapper\Availability(['storage' => $storage]); } @@ -290,16 +291,19 @@ public static function isDefaultExpireDateEnforced() { /** * Get the quota of a user * - * @param string $user + * @param string $userId * @return int Quota bytes */ - public static function getUserQuota($user) { - $userQuota = \OC::$server->getUserManager()->get($user)->getQuota(); + public static function getUserQuota($userId) { + $user = \OC::$server->getUserManager()->get($userId); + if (is_null($user)) { + return \OCP\Files\FileInfo::SPACE_UNLIMITED; + } + $userQuota = $user->getQuota(); if($userQuota === 'none') { return \OCP\Files\FileInfo::SPACE_UNLIMITED; - }else{ - return OC_Helper::computerFileSize($userQuota); } + return OC_Helper::computerFileSize($userQuota); } /** diff --git a/lib/public/App/ManagerEvent.php b/lib/public/App/ManagerEvent.php index a70345b62fd15..b25ea55aee6f4 100644 --- a/lib/public/App/ManagerEvent.php +++ b/lib/public/App/ManagerEvent.php @@ -36,6 +36,11 @@ class ManagerEvent extends Event { const EVENT_APP_ENABLE_FOR_GROUPS = 'OCP\App\IAppManager::enableAppForGroups'; const EVENT_APP_DISABLE = 'OCP\App\IAppManager::disableApp'; + /** + * @since 9.1.0 + */ + const EVENT_APP_UPDATE = 'OCP\App\IAppManager::updateApp'; + /** @var string */ protected $event; /** @var string */ diff --git a/lib/public/IL10N.php b/lib/public/IL10N.php index 68bbb5a51fa73..0dfe28c2ce82a 100644 --- a/lib/public/IL10N.php +++ b/lib/public/IL10N.php @@ -76,10 +76,10 @@ public function n($text_singular, $text_plural, $count, $parameters = array()); /** * Localization * @param string $type Type of localization - * @param int|string $data parameters for this localization + * @param \DateTime|int|string $data parameters for this localization * @param array $options currently supports following options: * - 'width': handed into \Punic\Calendar::formatDate as second parameter - * @return string|false + * @return string|int|false * * Returns the localized data. * diff --git a/lib/public/Settings/IManager.php b/lib/public/Settings/IManager.php new file mode 100644 index 0000000000000..a406915ad0900 --- /dev/null +++ b/lib/public/Settings/IManager.php @@ -0,0 +1,98 @@ + + * + * @author Arthur Schiwon + * + * @license GNU AGPL version 3 or any later version + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + */ + +namespace OCP\Settings; + +/** + * @since 9.1 + */ +interface IManager { + /** + * @since 9.1.0 + */ + const KEY_ADMIN_SETTINGS = 'admin'; + + /** + * @since 9.1.0 + */ + const KEY_ADMIN_SECTION = 'admin-section'; + + /** + * sets up settings according to data specified by an apps info.xml, within + * the element. + * + * @param array $settings an associative array, allowed keys are as specified + * by the KEY_ constant of this interface. The value + * must always be a class name, implement either + * IAdmin or ISection. I.e. only one section and admin + * setting can be configured per app. + * @since 9.1.0 + */ + public function setupSettings(array $settings); + + /** + * attempts to remove an apps section and/or settings entry. A listener is + * added centrally making sure that this method is called ones an app was + * disabled. + * + * What this does not help with is when applications change their settings + * or section classes during their life time. New entries will be added, + * but inactive ones will still reside in the database. + * + * @param string $appId + * @since 9.1.0 + */ + public function onAppDisabled($appId); + + /** + * The method should check all registered classes whether they are still + * instantiable and remove them, if not. This method is called by a + * background job once, after one or more apps were updated. + * + * An app`s info.xml can change during an update and make it unknown whether + * a registered class name was changed or not. An old one would just stay + * registered. Another case is if an admin takes a radical approach and + * simply removes an app from the app folder. These unregular checks will + * take care of such situations. + * + * @since 9.1.0 + */ + public function checkForOrphanedClassNames(); + + /** + * returns a list of the admin sections + * + * @return array array of ISection[] where key is the priority + * @since 9.1.0 + */ + public function getAdminSections(); + + /** + * returns a list of the admin settings + * + * @param string $section the section id for which to load the settings + * @return array array of IAdmin[] where key is the priority + * @since 9.1.0 + */ + public function getAdminSettings($section); +} diff --git a/lib/public/Settings/ISection.php b/lib/public/Settings/ISection.php new file mode 100644 index 0000000000000..5edf5de0ca4f5 --- /dev/null +++ b/lib/public/Settings/ISection.php @@ -0,0 +1,57 @@ + + * + * @author Arthur Schiwon + * + * @license GNU AGPL version 3 or any later version + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + */ + +namespace OCP\Settings; + +/** + * @since 9.1 + */ +interface ISection { + /** + * returns the ID of the section. It is supposed to be a lower case string, + * e.g. 'ldap' + * + * @returns string + * @since 9.1 + */ + public function getID(); + + /** + * returns the translated name as it should be displayed, e.g. 'LDAP / AD + * integration'. Use the L10N service to translate it. + * + * @return string + * @since 9.1 + */ + public function getName(); + + /** + * @return int whether the form should be rather on the top or bottom of + * the settings navigation. The sections are arranged in ascending order of + * the priority values. It is required to return a value between 0 and 99. + * + * E.g.: 70 + * @since 9.1 + */ + public function getPriority(); +} diff --git a/lib/public/Settings/ISettings.php b/lib/public/Settings/ISettings.php new file mode 100644 index 0000000000000..611bb713b33bd --- /dev/null +++ b/lib/public/Settings/ISettings.php @@ -0,0 +1,54 @@ + + * + * @author Arthur Schiwon + * + * @license GNU AGPL version 3 or any later version + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + */ + +namespace OCP\Settings; + +use OCP\AppFramework\Http\TemplateResponse; + +/** + * @since 9.1 + */ +interface ISettings { + + /** + * @return TemplateResponse returns the instance with all parameters set, ready to be rendered + * @since 9.1 + */ + public function getForm(); + + /** + * @return string the section ID, e.g. 'sharing' + * @since 9.1 + */ + public function getSection(); + + /** + * @return int whether the form should be rather on the top or bottom of + * the admin section. The forms are arranged in ascending order of the + * priority values. It is required to return a value between 0 and 100. + * + * E.g.: 70 + * @since 9.1 + */ + public function getPriority(); +} diff --git a/settings/Application.php b/settings/Application.php index 6db5e2aabf61c..eceb2b6937c59 100644 --- a/settings/Application.php +++ b/settings/Application.php @@ -32,6 +32,7 @@ use OC\Files\View; use OC\Server; +use OC\Settings\Controller\AdminSettingsController; use OC\Settings\Controller\AppSettingsController; use OC\Settings\Controller\AuthSettingsController; use OC\Settings\Controller\CertificateController; @@ -178,6 +179,14 @@ public function __construct(array $urlParams=[]){ $c->query('Logger') ); }); + $container->registerService('AdminSettingsController', function(IContainer $c) { + return new AdminSettingsController( + $c->query('AppName'), + $c->query('Request'), + $c->query('INavigationManager'), + $c->query('SettingsManager') + ); + }); /** * Middleware @@ -269,5 +278,14 @@ public function __construct(array $urlParams=[]){ $server = $c->query('ServerContainer'); return $server->getIntegrityCodeChecker(); }); + $container->registerService('EventDispatcher', function (IContainer $c) { + return $c->query('ServerContainer')->getEventDispatcher(); + }); + $container->registerService('EncryptionManager', function (IContainer $c) { + return $c->query('ServerContainer')->getEncryptionManager(); + }); + $container->registerService('SettingsManager', function (IContainer $c) { + return $c->query('ServerContainer')->getSettingsManager(); + }); } } diff --git a/settings/Controller/AdminSettingsController.php b/settings/Controller/AdminSettingsController.php new file mode 100644 index 0000000000000..ef70caf56902f --- /dev/null +++ b/settings/Controller/AdminSettingsController.php @@ -0,0 +1,148 @@ + + * + * @author Arthur Schiwon + * @author Lukas Reschke + * + * @license GNU AGPL version 3 or any later version + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + */ + +namespace OC\Settings\Controller; + +use OCP\AppFramework\Controller; +use OCP\AppFramework\Http\TemplateResponse; +use OCP\INavigationManager; +use OCP\IRequest; +use OCP\Settings\IManager as ISettingsManager; +use OCP\Template; + +/** + * @package OC\Settings\Controller + */ +class AdminSettingsController extends Controller { + /** @var INavigationManager */ + private $navigationManager; + /** @var ISettingsManager */ + private $settingsManager; + + /** + * @param string $appName + * @param IRequest $request + * @param INavigationManager $navigationManager + * @param ISettingsManager $settingsManager + */ + public function __construct( + $appName, + IRequest $request, + INavigationManager $navigationManager, + ISettingsManager $settingsManager + ) { + parent::__construct($appName, $request); + $this->navigationManager = $navigationManager; + $this->settingsManager = $settingsManager; + } + + /** + * @param string $section + * @return TemplateResponse + * + * @NoCSRFRequired + */ + public function index($section) { + $this->navigationManager->setActiveEntry('admin'); + + $templateParams = []; + $templateParams = array_merge($templateParams, $this->getNavigationParameters($section)); + $templateParams = array_merge($templateParams, $this->getSettings($section)); + + return new TemplateResponse('settings', 'admin/frame', $templateParams); + } + + /** + * @param string $section + * @return array + */ + private function getSettings($section) { + $html = ''; + $settings = $this->settingsManager->getAdminSettings($section); + foreach ($settings as $prioritizedSettings) { + foreach ($prioritizedSettings as $setting) { + /** @var \OCP\Settings\ISettings $setting */ + $form = $setting->getForm(); + $html .= $form->renderAs('')->render(); + } + } + if($section === 'additional') { + $html .= $this->getLegacyForms(); + } + return ['content' => $html]; + } + + /** + * @return bool|string + */ + private function getLegacyForms() { + $forms = \OC_App::getForms('admin'); + + $forms = array_map(function ($form) { + if (preg_match('%([^>]*)>.*?)%i', $form, $regs)) { + $sectionName = str_replace('', '', $regs[0]); + $sectionName = str_replace('', '', $sectionName); + $anchor = strtolower($sectionName); + $anchor = str_replace(' ', '-', $anchor); + + return array( + 'anchor' => $anchor, + 'section-name' => $sectionName, + 'form' => $form + ); + } + return array( + 'form' => $form + ); + }, $forms); + + $out = new Template('settings', 'admin/additional'); + $out->assign('forms', $forms); + + return $out->fetchPage(); + } + + /** + * @param string $currentSection + * @return array + */ + private function getNavigationParameters($currentSection) { + $sections = $this->settingsManager->getAdminSections(); + $templateParameters = []; + /** @var \OC\Settings\Section[] $prioritizedSections */ + foreach($sections as $prioritizedSections) { + foreach ($prioritizedSections as $section) { + $templateParameters[] = [ + 'anchor' => $section->getID(), + 'section-name' => $section->getName(), + 'active' => $section->getID() === $currentSection, + ]; + } + } + + return [ + 'forms' => $templateParameters + ]; + } +} diff --git a/settings/Controller/CertificateController.php b/settings/Controller/CertificateController.php index 4a527036a7f43..1cf9e03effbe3 100644 --- a/settings/Controller/CertificateController.php +++ b/settings/Controller/CertificateController.php @@ -82,14 +82,10 @@ public function addPersonalRootCertificate() { * Add a new root certificate to a trust store * * @param ICertificateManager $certificateManager - * @return array + * @return DataResponse */ private function addCertificate(ICertificateManager $certificateManager) { $headers = []; - if ($this->request->isUserAgent([\OC\AppFramework\Http\Request::USER_AGENT_IE_8])) { - // due to upload iframe workaround, need to set content-type to text/plain - $headers['Content-Type'] = 'text/plain'; - } if ($this->isCertificateImportAllowed() === false) { return new DataResponse(['message' => 'Individual certificate management disabled'], Http::STATUS_FORBIDDEN, $headers); diff --git a/settings/Controller/CheckSetupController.php b/settings/Controller/CheckSetupController.php index 13e7e443621c5..3881952872fc7 100644 --- a/settings/Controller/CheckSetupController.php +++ b/settings/Controller/CheckSetupController.php @@ -233,6 +233,19 @@ private function isUsedTlsLibOutdated() { return ''; } + /** + * Whether the version is outdated + * + * @return bool + */ + protected function isPhpOutdated() { + if (version_compare(PHP_VERSION, '5.5.0') === -1) { + return true; + } + + return false; + } + /** * Whether the php version is still supported (at time of release) * according to: https://secure.php.net/supported-versions.php @@ -240,14 +253,7 @@ private function isUsedTlsLibOutdated() { * @return array */ private function isPhpSupported() { - $eol = false; - - //PHP 5.4 is EOL on 14 Sep 2015 - if (version_compare(PHP_VERSION, '5.5.0') === -1) { - $eol = true; - } - - return ['eol' => $eol, 'version' => PHP_VERSION]; + return ['eol' => $this->isPhpOutdated(), 'version' => PHP_VERSION]; } /** @@ -290,7 +296,7 @@ private function isCorrectMemcachedPHPModuleInstalled() { public function rescanFailedIntegrityCheck() { $this->checker->runInstanceVerification(); return new RedirectResponse( - $this->urlGenerator->linkToRoute('settings_admin') + $this->urlGenerator->linkToRoute('settings.AdminSettings.index') ); } diff --git a/settings/admin.php b/settings/admin.php deleted file mode 100644 index a458c813c118e..0000000000000 --- a/settings/admin.php +++ /dev/null @@ -1,272 +0,0 @@ - - * @author Björn Schießle - * @author Georg Ehrke - * @author Jan-Christoph Borchardt - * @author Joas Schilling - * @author Lukas Reschke - * @author Martin Mattel - * @author Morris Jobke - * @author Robin Appelman - * @author Roeland Jago Douma - * @author Thomas Müller - * @author Vincent Petry - * - * @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 - * - */ - -use OC\Lock\NoopLockingProvider; - -OC_Util::checkAdminUser(); -\OC::$server->getNavigationManager()->setActiveEntry("admin"); - -$template = new OC_Template('settings', 'admin', 'user'); -$l = \OC::$server->getL10N('settings'); - -OC_Util::addScript('settings', 'certificates'); -OC_Util::addScript('files', 'jquery.fileupload'); - -\OC::$server->getEventDispatcher()->dispatch('OC\Settings\Admin::loadAdditionalScripts'); - -$logType = \OC::$server->getConfig()->getSystemValue('log_type', 'file'); -$showLog = ($logType === 'file' || $logType === 'owncloud'); -$numEntriesToLoad = 3; -$entries = \OC\Log\File::getEntries($numEntriesToLoad + 1); -$entriesRemaining = count($entries) > $numEntriesToLoad; -$entries = array_slice($entries, 0, $numEntriesToLoad); -$logFilePath = \OC\Log\File::getLogFilePath(); -$doesLogFileExist = file_exists($logFilePath); -$logFileSize = 0; -if($doesLogFileExist) { - $logFileSize = filesize($logFilePath); -} - -$config = \OC::$server->getConfig(); -$appConfig = \OC::$server->getAppConfig(); -$request = \OC::$server->getRequest(); -$certificateManager = \OC::$server->getCertificateManager(null); -$urlGenerator = \OC::$server->getURLGenerator(); - -// Should we display sendmail as an option? -$template->assign('sendmail_is_available', (bool) \OC_Helper::findBinaryPath('sendmail')); - -$template->assign('loglevel', $config->getSystemValue("loglevel", 2)); -$template->assign('mail_domain', $config->getSystemValue("mail_domain", '')); -$template->assign('mail_from_address', $config->getSystemValue("mail_from_address", '')); -$template->assign('mail_smtpmode', $config->getSystemValue("mail_smtpmode", '')); -$template->assign('mail_smtpsecure', $config->getSystemValue("mail_smtpsecure", '')); -$template->assign('mail_smtphost', $config->getSystemValue("mail_smtphost", '')); -$template->assign('mail_smtpport', $config->getSystemValue("mail_smtpport", '')); -$template->assign('mail_smtpauthtype', $config->getSystemValue("mail_smtpauthtype", '')); -$template->assign('mail_smtpauth', $config->getSystemValue("mail_smtpauth", false)); -$template->assign('mail_smtpname', $config->getSystemValue("mail_smtpname", '')); -$template->assign('mail_smtppassword', $config->getSystemValue("mail_smtppassword", '')); -$template->assign('entries', $entries); -$template->assign('entriesremain', $entriesRemaining); -$template->assign('logFileSize', $logFileSize); -$template->assign('doesLogFileExist', $doesLogFileExist); -$template->assign('showLog', $showLog); -$template->assign('readOnlyConfigEnabled', OC_Helper::isReadOnlyConfigEnabled()); -$template->assign('isLocaleWorking', OC_Util::isSetLocaleWorking()); -$template->assign('isAnnotationsWorking', OC_Util::isAnnotationsWorking()); -$template->assign('checkForWorkingWellKnownSetup', $config->getSystemValue('check_for_working_wellknown_setup', true)); -$template->assign('has_fileinfo', OC_Util::fileInfoLoaded()); -$template->assign('backgroundjobs_mode', $appConfig->getValue('core', 'backgroundjobs_mode', 'ajax')); -$template->assign('cron_log', $config->getSystemValue('cron_log', true)); -$template->assign('lastcron', $appConfig->getValue('core', 'lastcron', false)); -$template->assign('shareAPIEnabled', $appConfig->getValue('core', 'shareapi_enabled', 'yes')); -$template->assign('shareDefaultExpireDateSet', $appConfig->getValue('core', 'shareapi_default_expire_date', 'no')); -$template->assign('shareExpireAfterNDays', $appConfig->getValue('core', 'shareapi_expire_after_n_days', '7')); -$template->assign('shareEnforceExpireDate', $appConfig->getValue('core', 'shareapi_enforce_expire_date', 'no')); -$excludeGroups = $appConfig->getValue('core', 'shareapi_exclude_groups', 'no') === 'yes' ? true : false; -$template->assign('shareExcludeGroups', $excludeGroups); -$excludedGroupsList = $appConfig->getValue('core', 'shareapi_exclude_groups_list', ''); -$excludedGroupsList = json_decode($excludedGroupsList); -$template->assign('shareExcludedGroupsList', !is_null($excludedGroupsList) ? implode('|', $excludedGroupsList) : ''); -$template->assign('encryptionEnabled', \OC::$server->getEncryptionManager()->isEnabled()); -$backends = \OC::$server->getUserManager()->getBackends(); -$externalBackends = (count($backends) > 1) ? true : false; -$template->assign('encryptionReady', \OC::$server->getEncryptionManager()->isReady()); -$template->assign('externalBackendsEnabled', $externalBackends); - -/** @var \Doctrine\DBAL\Connection $connection */ -$connection = \OC::$server->getDatabaseConnection(); -try { - if ($connection->getDatabasePlatform() instanceof \Doctrine\DBAL\Platforms\SqlitePlatform) { - $template->assign('invalidTransactionIsolationLevel', false); - } else { - $template->assign('invalidTransactionIsolationLevel', $connection->getTransactionIsolation() !== \Doctrine\DBAL\Connection::TRANSACTION_READ_COMMITTED); - } -} catch (\Doctrine\DBAL\DBALException $e) { - // ignore - $template->assign('invalidTransactionIsolationLevel', false); -} - -$encryptionModules = \OC::$server->getEncryptionManager()->getEncryptionModules(); -$defaultEncryptionModuleId = \OC::$server->getEncryptionManager()->getDefaultEncryptionModuleId(); - -$encModulues = array(); -foreach ($encryptionModules as $module) { - $encModulues[$module['id']]['displayName'] = $module['displayName']; - $encModulues[$module['id']]['default'] = false; - if ($module['id'] === $defaultEncryptionModuleId) { - $encModulues[$module['id']]['default'] = true; - } -} -$template->assign('encryptionModules', $encModulues); - -// If the current web root is non-empty but the web root from the config is, -// and system cron is used, the URL generator fails to build valid URLs. -$shouldSuggestOverwriteCliUrl = $config->getAppValue('core', 'backgroundjobs_mode', 'ajax') === 'cron' && - \OC::$WEBROOT && \OC::$WEBROOT !== '/' && - !$config->getSystemValue('overwrite.cli.url', ''); -$suggestedOverwriteCliUrl = ($shouldSuggestOverwriteCliUrl) ? \OC::$WEBROOT : ''; -$template->assign('suggestedOverwriteCliUrl', $suggestedOverwriteCliUrl); - -$template->assign('allowLinks', $appConfig->getValue('core', 'shareapi_allow_links', 'yes')); -$template->assign('enforceLinkPassword', \OCP\Util::isPublicLinkPasswordRequired()); -$template->assign('allowPublicUpload', $appConfig->getValue('core', 'shareapi_allow_public_upload', 'yes')); -$template->assign('allowResharing', $appConfig->getValue('core', 'shareapi_allow_resharing', 'yes')); -$template->assign('allowPublicMailNotification', $appConfig->getValue('core', 'shareapi_allow_public_notification', 'no')); -$template->assign('allowMailNotification', $appConfig->getValue('core', 'shareapi_allow_mail_notification', 'no')); -$template->assign('allowShareDialogUserEnumeration', $appConfig->getValue('core', 'shareapi_allow_share_dialog_user_enumeration', 'yes')); -$template->assign('onlyShareWithGroupMembers', \OC\Share\Share::shareWithGroupMembersOnly()); -$template->assign('allowGroupSharing', $appConfig->getValue('core', 'shareapi_allow_group_sharing', 'yes')); -$databaseOverload = (strpos(\OCP\Config::getSystemValue('dbtype'), 'sqlite') !== false); -$template->assign('databaseOverload', $databaseOverload); -$template->assign('cronErrors', $appConfig->getValue('core', 'cronErrors')); - -// warn if php is not setup properly to get system variables with getenv -$path = getenv('PATH'); -$template->assign('getenvServerNotWorking', empty($path)); - -// warn if outdated version of a memcache module is used -$caches = [ - 'apcu' => ['name' => $l->t('APCu'), 'version' => '4.0.6'], - 'redis' => ['name' => $l->t('Redis'), 'version' => '2.2.5'], -]; - -$outdatedCaches = []; -foreach ($caches as $php_module => $data) { - $isOutdated = extension_loaded($php_module) && version_compare(phpversion($php_module), $data['version'], '<'); - if ($isOutdated) { - $outdatedCaches[$php_module] = $data; - } -} -$template->assign('OutdatedCacheWarning', $outdatedCaches); - -// add hardcoded forms from the template -$forms = OC_App::getForms('admin'); - -if ($config->getSystemValue('enable_certificate_management', false)) { - $certificatesTemplate = new OC_Template('settings', 'certificates'); - $certificatesTemplate->assign('type', 'admin'); - $certificatesTemplate->assign('uploadRoute', 'settings.Certificate.addSystemRootCertificate'); - $certificatesTemplate->assign('certs', $certificateManager->listCertificates()); - $certificatesTemplate->assign('urlGenerator', $urlGenerator); - $forms[] = $certificatesTemplate->fetchPage(); -} - -$formsAndMore = array(); -if ($request->getServerProtocol() !== 'https' || !OC_Util::isAnnotationsWorking() || - $suggestedOverwriteCliUrl || !OC_Util::isSetLocaleWorking() || - !OC_Util::fileInfoLoaded() || $databaseOverload -) { - $formsAndMore[] = array('anchor' => 'security-warning', 'section-name' => $l->t('Security & setup warnings')); -} -$formsAndMore[] = array('anchor' => 'shareAPI', 'section-name' => $l->t('Sharing')); -$formsAndMore[] = ['anchor' => 'encryptionAPI', 'section-name' => $l->t('Server-side encryption')]; - -// Prioritize fileSharingSettings and files_external and move updater to the version -$fileSharingSettings = $filesExternal = $updaterAppPanel = $ocDefaultEncryptionModulePanel = ''; -foreach ($forms as $index => $form) { - if (strpos($form, 'id="fileSharingSettings"')) { - $fileSharingSettings = $form; - unset($forms[$index]); - continue; - } - if (strpos($form, 'id="files_external"')) { - $filesExternal = $form; - unset($forms[$index]); - continue; - } - if (strpos($form, 'class="updater-admin"')) { - $updaterAppPanel = $form; - unset($forms[$index]); - continue; - } - if (strpos($form, 'id="ocDefaultEncryptionModule"')) { - $ocDefaultEncryptionModulePanel = $form; - unset($forms[$index]); - continue; - } -} -if ($filesExternal) { - $formsAndMore[] = array('anchor' => 'files_external', 'section-name' => $l->t('External Storage')); -} - -$template->assign('fileSharingSettings', $fileSharingSettings); -$template->assign('filesExternal', $filesExternal); -$template->assign('updaterAppPanel', $updaterAppPanel); -$template->assign('ocDefaultEncryptionModulePanel', $ocDefaultEncryptionModulePanel); -$lockingProvider = \OC::$server->getLockingProvider(); -if ($lockingProvider instanceof NoopLockingProvider) { - $template->assign('fileLockingType', 'none'); -} else if ($lockingProvider instanceof \OC\Lock\DBLockingProvider) { - $template->assign('fileLockingType', 'db'); -} else { - $template->assign('fileLockingType', 'cache'); -} - -$formsMap = array_map(function ($form) { - if (preg_match('%([^>]*)>.*?)%i', $form, $regs)) { - $sectionName = str_replace('', '', $regs[0]); - $sectionName = str_replace('', '', $sectionName); - $anchor = strtolower($sectionName); - $anchor = str_replace(' ', '-', $anchor); - - return array( - 'anchor' => $anchor, - 'section-name' => $sectionName, - 'form' => $form - ); - } - return array( - 'form' => $form - ); -}, $forms); - -$formsAndMore = array_merge($formsAndMore, $formsMap); - -// add bottom hardcoded forms from the template -$formsAndMore[] = ['anchor' => 'backgroundjobs', 'section-name' => $l->t('Cron')]; -$formsAndMore[] = ['anchor' => 'mail_general_settings', 'section-name' => $l->t('Email server')]; -$formsAndMore[] = ['anchor' => 'log-section', 'section-name' => $l->t('Log')]; -$formsAndMore[] = ['anchor' => 'admin-tips', 'section-name' => $l->t('Tips & tricks')]; -if ($updaterAppPanel) { - $formsAndMore[] = ['anchor' => 'updater', 'section-name' => $l->t('Updates')]; -} - -$template->assign('forms', $formsAndMore); - -$template->printPage(); - -$util = new \OC_Util(); -$util->createHtaccessTestFile(\OC::$server->getConfig()); - diff --git a/settings/css/settings.css b/settings/css/settings.css index 26b2cd20e1ff8..d3fd395747ee4 100644 --- a/settings/css/settings.css +++ b/settings/css/settings.css @@ -381,21 +381,20 @@ span.version { .section h2.app-name { margin-bottom: 8px; } +.followupsection { + display: block; + padding: 0 30px 30px 30px; + color: #555; + margin-bottom: 24px; + margin-top: -30px; + position: relative; +} .app-image { float: left; padding-right: 10px; width: 80px; height: 80px; -} -.app-image img { - max-width: 80px; - max-height: 80px; -} -.app-image-icon img { - background-color: #ccc; - width: 60px; - padding: 10px; - border-radius: 3px; + opacity: 0.8; } .app-name, .app-version, diff --git a/settings/js/apps.js b/settings/js/apps.js index 66c097e125791..f8ad9c7918cd3 100644 --- a/settings/js/apps.js +++ b/settings/js/apps.js @@ -196,14 +196,14 @@ OC.Settings.Apps = OC.Settings.Apps || { if (app.preview && !OC.Util.isIE()) { var currentImage = new Image(); currentImage.src = app.preview; - - currentImage.onload = function() { - page.find('.app-image') - .append(this) - .fadeIn(); - }; } + currentImage.onload = function() { + page.find('.app-image') + .append(OC.Settings.Apps.imageUrl(app.preview, app.detailpage)) + .fadeIn(); + }; + // set group select properly if(OC.Settings.Apps.isType(app, 'filesystem') || OC.Settings.Apps.isType(app, 'prelogin') || OC.Settings.Apps.isType(app, 'authentication') || OC.Settings.Apps.isType(app, 'logging') || @@ -226,6 +226,23 @@ OC.Settings.Apps = OC.Settings.Apps || { } }, + /** + * Returns the image for apps listing + * url : the url of the image + * appfromstore: bool to check whether the app is fetched from store or not. + */ + + imageUrl : function (url, appfromstore) { + var img = ''; + if (appfromstore) { + img += ''; + } else { + img += ''; + img += ''; + } + return img; + }, + isType: function(app, type){ return app.types && app.types.indexOf(type) !== -1; }, diff --git a/settings/l10n/cs_CZ.js b/settings/l10n/cs_CZ.js index ffb3ff5c6310f..ea4bf9434e0c7 100644 --- a/settings/l10n/cs_CZ.js +++ b/settings/l10n/cs_CZ.js @@ -35,17 +35,6 @@ OC.L10N.register( "Email saved" : "Email uložen", "Your full name has been changed." : "Vaše celé jméno bylo změněno.", "Unable to change full name" : "Nelze změnit celé jméno", - "APCu" : "APCu", - "Redis" : "Redis", - "Security & setup warnings" : "Upozornění zabezpečení a nastavení", - "Sharing" : "Sdílení", - "Server-side encryption" : "Šifrování na serveru", - "External Storage" : "Externí úložiště", - "Cron" : "Cron", - "Email server" : "Emailový server", - "Log" : "Záznam", - "Tips & tricks" : "Tipy a triky", - "Updates" : "Aktualizace", "Couldn't remove app." : "Nepodařilo se odebrat aplikaci.", "Language changed" : "Jazyk byl změněn", "Invalid request" : "Neplatný požadavek", @@ -98,6 +87,10 @@ OC.L10N.register( "Android Client" : "Android klient", "Sync client - {os}" : "Sync klient - {os}", "This session" : "Toto sezení", + "Copied!" : "Zkopírováno!", + "Not supported!" : "Nepodporováno!", + "Press ⌘-C to copy." : "Zmáčknout ⌘-C pro kopírování.", + "Press Ctrl-C to copy." : "Zmáčknout Ctrl-C pro kopírování.", "Error while loading browser sessions and device tokens" : "Chyba při načítání sezení prohlížeče a tokenů přístroje", "Error while creating device token" : "Chyba při vytváření tokenů přístroje", "Error while deleting the token" : "Chyba při mazání tokenu", @@ -133,22 +126,61 @@ OC.L10N.register( "Sessions" : "Sezení", "App passwords" : "Hesla aplikací", "Sync clients" : "Synchronizační klienti", - "Everything (fatal issues, errors, warnings, info, debug)" : "Vše (fatální problémy, chyby, varování, informační, ladící)", - "Info, warnings, errors and fatal issues" : "Informace, varování, chyby a fatální problémy", - "Warnings, errors and fatal issues" : "Varování, chyby a fatální problémy", - "Errors and fatal issues" : "Chyby a fatální problémy", - "Fatal issues only" : "Pouze fatální problémy", "None" : "Žádné", "Login" : "Přihlásit", "Plain" : "Čistý text", "NT LAN Manager" : "Správce NT LAN", "SSL" : "SSL", "TLS" : "TLS", + "Email server" : "Emailový server", + "Open documentation" : "Otevřít dokumentaci", + "This is used for sending out notifications." : "Toto se používá pro odesílání upozornění.", + "Send mode" : "Mód odesílání", + "Encryption" : "Šifrování", + "From address" : "Adresa odesílatele", + "mail" : "email", + "Authentication method" : "Metoda ověření", + "Authentication required" : "Vyžadováno ověření", + "Server address" : "Adresa serveru", + "Port" : "Port", + "Credentials" : "Přihlašovací údaje", + "SMTP Username" : "SMTP uživatelské jméno ", + "SMTP Password" : "SMTP heslo", + "Store credentials" : "Ukládat přihlašovací údaje", + "Test email settings" : "Test nastavení emailu", + "Send email" : "Odeslat email", + "Server-side encryption" : "Šifrování na serveru", + "Enable server-side encryption" : "Povolit šifrování na straně serveru", + "Please read carefully before activating server-side encryption: " : "Pročtěte prosím důkladně před aktivací šifrování dat na serveru:", + "Once encryption is enabled, all files uploaded to the server from that point forward will be encrypted at rest on the server. It will only be possible to disable encryption at a later date if the active encryption module supports that function, and all pre-conditions (e.g. setting a recover key) are met." : "Poté co je zapnuto šifrování, jsou od toho bodu všechny nahrávané soubory šifrovány serverem. Vypnout šifrování bude možné pouze později, až bude šifrovací modul tuto možnost podporovat a po splnění všech nutných podmínek (tzn. nastavení klíčů pro obnovení).", + "Encryption alone does not guarantee security of the system. Please see documentation for more information about how the encryption app works, and the supported use cases." : "Šifrování samotné ještě negarantuje bezpečnost systému. Přečtěte si prosím dokumentaci, chcete-li se dozvědět více informací o tom, jak aplikace pro šifrování funguje a jaké jsou podporované případy použití.", + "Be aware that encryption always increases the file size." : "Mějte na paměti, že šifrování vždy navýší velikost souboru.", + "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Je vždy dobré vytvářet pravidelné zálohy svých dat, v případě zapnutého šifrování také zajistěte zálohu šifrovacích klíčů společně se zálohou dat.", + "This is the final warning: Do you really want to enable encryption?" : "Toto je poslední varování: Opravdu si přejete zapnout šifrování?", + "Enable encryption" : "Povolit šifrování", + "No encryption module loaded, please enable an encryption module in the app menu." : "Není načten žádný šifrovací modul, povolte ho prosím v menu aplikací.", + "Select default encryption module:" : "Vybrat výchozí šifrovací modul:", + "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please enable the \"Default encryption module\" and run 'occ encryption:migrate'" : "Musíte přenést své šifrovací klíče ze staré verze šifrování (ownCloud <= 8.0) na novou. Povolte prosím \"Default encryption module\" a spusťte příkaz 'occ encryption:migrate'", + "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Musíte přenést své šifrovací klíče ze staré verze šifrování (ownCloud <= 8.0) na novou.", + "Start migration" : "Spustit migraci", + "Everything (fatal issues, errors, warnings, info, debug)" : "Vše (fatální problémy, chyby, varování, informační, ladící)", + "Info, warnings, errors and fatal issues" : "Informace, varování, chyby a fatální problémy", + "Warnings, errors and fatal issues" : "Varování, chyby a fatální problémy", + "Errors and fatal issues" : "Chyby a fatální problémy", + "Fatal issues only" : "Pouze fatální problémy", + "Log" : "Záznam", + "What to log" : "Co se má logovat", + "Download logfile" : "Stáhnout soubor logu", + "More" : "Více", + "Less" : "Méně", + "The logfile is bigger than 100 MB. Downloading it may take some time!" : "Soubor logu je větší než 100 MB. Jeho stažení zabere nějaký čas!", + "Security & setup warnings" : "Upozornění zabezpečení a nastavení", "php does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "php není nejspíše správně nastaveno pro dotazování na proměnné hodnoty systému. Test s getenv(\"PATH\") vrací pouze prázdnou odpověď.", "Please check the installation documentation ↗ for php configuration notes and the php configuration of your server, especially when using php-fpm." : "Zkontrolujte prosím konfiguraci php podle instalační dokumentace ↗, hlavně při použití php-fpm.", "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Konfigurace je nastavena pouze pro čtení. Toto znemožňuje některá nastavení přes webové rozhraní. Dále musí být pro každou změnu povolen zápis do konfiguračního souboru ručně.", "PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "PHP je patrně nastaveno tak, aby odstraňovalo bloky komentářů. Toto bude mít za následek nedostupnost množství hlavních aplikací.", "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Toto je pravděpodobně způsobeno aplikacemi pro urychlení načítání jako jsou Zend OPcache nebo eAccelerator.", + "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Vaše databáze neběží s úrovní izolace transakcí \"READ COMMITTED\". Toto může způsobit problémy při paralelním spouštění více akcí současně.", "%1$s below version %2$s is installed, for stability and performance reasons we recommend updating to a newer %1$s version." : "Je nainstalován %1$s nižší verze než %2$s, z důvodu lepší stability a výkonu doporučujeme aktualizovat na novější verzi %1$s.", "The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "Schází PHP modul 'fileinfo'. Doporučujeme jej povolit pro nejlepší výsledky detekce typů MIME.", "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the documentation ↗ for more information." : "Transakční uzamykání souborů je vypnuto, což může vést k problémům s \"race\" podmínkami. Pro zabránění těmto problémům povolte 'filelocking.enabled' v souboru config.php. Více informací lze nalézt v dokumentaci ↗.", @@ -159,7 +191,15 @@ OC.L10N.register( "It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "Nebylo možné spustit službu cron v CLI. Došlo k následujícím technickým chybám:", "Please double check the installation guides ↗, and check for any errors or warnings in the log." : "Prosím překontrolujte instalační pokyny ↗ a zkontrolujte jakékoliv chyby a varování v logu.", "All checks passed." : "Všechny testy byly úspěšné.", - "Open documentation" : "Otevřít dokumentaci", + "Cron" : "Cron", + "Last cron job execution: %s." : "Poslední cron proběhl: %s.", + "Last cron job execution: %s. Something seems wrong." : "Poslední cron proběhl: %s. Vypadá to, že něco není v pořádku.", + "Cron was not executed yet!" : "Cron ještě nebyl spuštěn!", + "Execute one task with each page loaded" : "Spustit jednu úlohu s každým načtením stránky", + "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php je registrován u služby webcron, aby volal cron.php jednou za 15 minut přes http.", + "Use system's cron service to call the cron.php file every 15 minutes." : "Použít systémovou službu cron pro volání cron.php každých 15 minut.", + "Version" : "Verze", + "Sharing" : "Sdílení", "Allow apps to use the Share API" : "Povolit aplikacím používat API sdílení", "Allow users to share via link" : "Povolit uživatelům sdílení pomocí odkazů", "Allow public uploads" : "Povolit veřejné nahrávání souborů", @@ -176,45 +216,7 @@ OC.L10N.register( "Exclude groups from sharing" : "Vyjmout skupiny ze sdílení", "These groups will still be able to receive shares, but not to initiate them." : "Těmto skupinám bude stále možno sdílet, nemohou ale sami sdílet ostatním.", "Allow username autocompletion in share dialog. If this is disabled the full username needs to be entered." : "Povolit automatické vyplňování v dialogu sdílení. Pokud je toto vypnuto, je třeba ručně vyplňovat celé uživatelské jméno.", - "Last cron job execution: %s." : "Poslední cron proběhl: %s.", - "Last cron job execution: %s. Something seems wrong." : "Poslední cron proběhl: %s. Vypadá to, že něco není v pořádku.", - "Cron was not executed yet!" : "Cron ještě nebyl spuštěn!", - "Execute one task with each page loaded" : "Spustit jednu úlohu s každým načtením stránky", - "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php je registrován u služby webcron, aby volal cron.php jednou za 15 minut přes http.", - "Use system's cron service to call the cron.php file every 15 minutes." : "Použít systémovou službu cron pro volání cron.php každých 15 minut.", - "Enable server-side encryption" : "Povolit šifrování na straně serveru", - "Please read carefully before activating server-side encryption: " : "Pročtěte prosím důkladně před aktivací šifrování dat na serveru:", - "Once encryption is enabled, all files uploaded to the server from that point forward will be encrypted at rest on the server. It will only be possible to disable encryption at a later date if the active encryption module supports that function, and all pre-conditions (e.g. setting a recover key) are met." : "Poté co je zapnuto šifrování, jsou od toho bodu všechny nahrávané soubory šifrovány serverem. Vypnout šifrování bude možné pouze později, až bude šifrovací modul tuto možnost podporovat a po splnění všech nutných podmínek (tzn. nastavení klíčů pro obnovení).", - "Encryption alone does not guarantee security of the system. Please see documentation for more information about how the encryption app works, and the supported use cases." : "Šifrování samotné ještě negarantuje bezpečnost systému. Přečtěte si prosím dokumentaci, chcete-li se dozvědět více informací o tom, jak aplikace pro šifrování funguje a jaké jsou podporované případy použití.", - "Be aware that encryption always increases the file size." : "Mějte na paměti, že šifrování vždy navýší velikost souboru.", - "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Je vždy dobré vytvářet pravidelné zálohy svých dat, v případě zapnutého šifrování také zajistěte zálohu šifrovacích klíčů společně se zálohou dat.", - "This is the final warning: Do you really want to enable encryption?" : "Toto je poslední varování: Opravdu si přejete zapnout šifrování?", - "Enable encryption" : "Povolit šifrování", - "No encryption module loaded, please enable an encryption module in the app menu." : "Není načten žádný šifrovací modul, povolte ho prosím v menu aplikací.", - "Select default encryption module:" : "Vybrat výchozí šifrovací modul:", - "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please enable the \"Default encryption module\" and run 'occ encryption:migrate'" : "Musíte přenést své šifrovací klíče ze staré verze šifrování (ownCloud <= 8.0) na novou. Povolte prosím \"Default encryption module\" a spusťte příkaz 'occ encryption:migrate'", - "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Musíte přenést své šifrovací klíče ze staré verze šifrování (ownCloud <= 8.0) na novou.", - "Start migration" : "Spustit migraci", - "This is used for sending out notifications." : "Toto se používá pro odesílání upozornění.", - "Send mode" : "Mód odesílání", - "Encryption" : "Šifrování", - "From address" : "Adresa odesílatele", - "mail" : "email", - "Authentication method" : "Metoda ověření", - "Authentication required" : "Vyžadováno ověření", - "Server address" : "Adresa serveru", - "Port" : "Port", - "Credentials" : "Přihlašovací údaje", - "SMTP Username" : "SMTP uživatelské jméno ", - "SMTP Password" : "SMTP heslo", - "Store credentials" : "Ukládat přihlašovací údaje", - "Test email settings" : "Test nastavení emailu", - "Send email" : "Odeslat email", - "What to log" : "Co se má logovat", - "Download logfile" : "Stáhnout soubor logu", - "More" : "Více", - "Less" : "Méně", - "The logfile is bigger than 100 MB. Downloading it may take some time!" : "Soubor logu je větší než 100 MB. Jeho stažení zabere nějaký čas!", + "Tips & tricks" : "Tipy a triky", "SQLite is used as database. For larger installations we recommend to switch to a different database backend." : "Je použita databáze SQLite. Pro větší instalace doporučujeme přejít na robustnější databázi.", "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "Obzvláště při používání klientské aplikace pro synchronizaci s desktopem není SQLite doporučeno.", "To migrate to another database use the command line tool: 'occ db:convert-type', or see the documentation ↗." : "Pro migraci na jinou databázi použijte v příkazovém řádku nástroj: 'occ db:convert-type' nebo nahlédněte do dokumentace ↗.", @@ -224,7 +226,6 @@ OC.L10N.register( "Improving the config.php" : "Vylepšení souboru config.php", "Theming" : "Vzhledy", "Hardening and security guidance" : "Průvodce vylepšením bezpečnosti", - "Version" : "Verze", "Developer documentation" : "Vývojářská dokumentace", "Experimental applications ahead" : "Experimentální aplikace v pořadí", "Experimental apps are not checked for security issues, new or known to be unstable and under heavy development. Installing them can cause data loss or security breaches." : "Experimentální aplikace nejsou prověřovány na bezpečnostní chyby, mohou být nestabilní a velmi se měnit. Jejich instalací můžete způsobit ztrátu dat nebo bezpečnostní problémy.", @@ -280,6 +281,11 @@ OC.L10N.register( "Change password" : "Změnit heslo", "Language" : "Jazyk", "Help translate" : "Pomoci s překladem", + "Get the apps to sync your files" : "Získat aplikace pro synchronizaci vašich souborů", + "Desktop client" : "Aplikace pro počítač", + "Android app" : "Aplikace pro Android", + "iOS app" : "iOS aplikace", + "Show First Run Wizard again" : "Znovu zobrazit průvodce prvním spuštěním", "Web, desktop and mobile clients currently logged in to your account." : "Weboví, desktopoví a mobilní klienti aktuálně přihlášeni k vašemu účtu.", "Device" : "Přístroj", "Last activity" : "Poslední aktivita", @@ -288,17 +294,17 @@ OC.L10N.register( "App name" : "Jméno aplikace", "Create new app password" : "Vytvořit nové heslo aplikace", "Use the credentials below to configure your app or device." : "Použijte údaje níže pro nastavení aplikace nebo zařízení.", + "For security reasons this password will only be shown once." : "Toto heslo bude z bezpečnostních důvodů zobrazeno pouze jedenkrát.", "Username" : "Uživatelské jméno", "Done" : "Dokončeno", - "Get the apps to sync your files" : "Získat aplikace pro synchronizaci vašich souborů", - "Desktop client" : "Aplikace pro počítač", - "Android app" : "Aplikace pro Android", - "iOS app" : "iOS aplikace", - "If you want to support the project\n\t\tjoin development\n\t\tor\n\t\tspread the word!" : "Chcete-li projekt podpořit\n\t\tpřipojte se k vývoji\n\t\tnebo\n\t\tšiřte informace dál!", - "Show First Run Wizard again" : "Znovu zobrazit průvodce prvním spuštěním", + "Developed by the {communityopen}Nextcloud community{linkclose}, the {githubopen}source code{linkclose} is licensed under the {licenseopen}AGPL{linkclose}." : "Vyvíjeno {communityopen}Nextcloud komunitou{linkclose}, {githubopen}zdrojový kód{linkclose} je licencován pod {licenseopen}AGPL{linkclose}.", + "Follow us on Google Plus!" : "Sledujte nás na Google Plus!", + "Subscribe to our twitter channel!" : "Odebírejte náš twitter kanál!", + "Subscribe to our news feed!" : "Odebírejte náš kanál s novinkami!", + "Subscribe to our newsletter!" : "Odebírejte náš newsletter!", "Show storage location" : "Cesta k datům", "Show last log in" : "Poslední přihlášení", - "Show user backend" : "Zobrazit uživatelskou podpůrnou vrstvu", + "Show user backend" : "Zobrazit vedení uživatelů", "Send email to new user" : "Poslat email novému uživateli", "Show email address" : "Emailová adresa", "E-Mail" : "Email", @@ -319,6 +325,32 @@ OC.L10N.register( "change full name" : "změnit celé jméno", "set new password" : "nastavit nové heslo", "change email address" : "změnit emailovou adresu", - "Default" : "Výchozí" + "Default" : "Výchozí", + "APCu" : "APCu", + "Redis" : "Redis", + "External Storage" : "Externí úložiště", + "Updates" : "Aktualizace", + "no group" : "není ve skupině", + "add group" : "přidat skupinu", + "Your database does not run with \"READ COMMITED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Vaše databáze neběží s úrovní izolace transakcí \"READ COMMITED\". Toto může způsobit problémy při paralelním spouštění více akcí současně.", + "Add Group" : "Přidat skupinu", + "Default Quota" : "Výchozí kvóta", + "Full Name" : "Celé jméno", + "Group Admin for" : "Správce skupiny pro", + "Storage Location" : "Umístění úložiště", + "User Backend" : "Seznam uživatelů", + "Last Login" : "Poslední přihlášení", + "Official apps are developed by and within the Nextcloud community. They offer functionality central to Nextcloud and are ready for production use." : "Oficiální aplikace jsou vyvíjeny Nextcloud komunitou. Poskytují klíčové funkce Nextcloud a jsou připravené na produkční nasazení.", + "No apps found for \"{query}\"" : "Nebyly nalezeny žádné aplikace pro \"{query}\"", + "Please check the installation documentation ↗ for php configuration notes and the php configuration of your server, especially when using php-fpm." : "Zkontrolujte prosím konfiguraci php podle instalační dokumentace ↗, hlavně při použití php-fpm.", + "Your server is running on Microsoft Windows. We highly recommend Linux for optimal user experience." : "Server běží v prostředí Microsoft Windows. Pro optimální uživatelské pohodlí doporučujeme přejít na Linux.", + "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the documentation ↗ for more information." : "Transakční uzamykání souborů je vypnuto, což může vést k problémům s \"race\" podmínkami. Pro zabránění těmto problémům povolte 'filelocking.enabled' v souboru config.php. Více informací lze nalézt v dokumentaci ↗.", + "Please double check the installation guides ↗, and check for any errors or warnings in the log." : "Prosím překontrolujte instalační pokyny ↗ a zkontrolujte jakékoliv chyby a varování v logu.", + "Encryption alone does not guarantee security of the system. Please see Nextcloud documentation for more information about how the encryption app works, and the supported use cases." : "Šifrování samotné ještě negarantuje bezpečnost systému. Přečtěte si prosím Nextcloud dokumentaci, chcete-li se dozvědět více informací o tom, jak aplikace pro šifrování funguje a jaké jsou podporované případy použití.", + "To migrate to another database use the command line tool: 'occ db:convert-type', or see the documentation ↗." : "Pro migraci na jinou databázi použijte v příkazovém řádku nástroj: 'occ db:convert-type' nebo nahlédněte do dokumentace ↗.", + "This app has no minimum Nextcloud version assigned. This will be an error in Nextcloud 11 and later." : "Tato aplikace nemá nastavenou žádnou nejnižší podporovanou verzi Nextcloud. Toto bude hlášeno jako chyba ve verzi Nextcloud 11 a pozdější.", + "This app has no maximum Nextcloud version assigned. This will be an error in Nextcloud 11 and later." : "Tato aplikace nemá nastavenou žádnou nejvyšší podporovanou verzi Nextcloud. Toto bude hlášeno jako chyba ve verzi Nextcloud 11 a pozdější.", + "If you want to support the project\n\t\tjoin development\n\t\tor\n\t\thelp other users!" : "Chcete-li projekt podpořit\n\t\tpřipojte se k vývoji\n\t\tnebo\n\t\tpomáhejte ostatním uživatelům!", + "Developed by the {communityopen}Nextcloud community{linkclose}, the {githubopen}source code{linkclose} is licensed under the {licenseopen}AGPL{linkclose}." : "Vyvíjeno {communityopen}Nextcloud komunitou{linkclose}, {githubopen}zdrojový kód{linkclose} je licencován pod {licenseopen}AGPL{linkclose}." }, "nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;"); diff --git a/settings/l10n/cs_CZ.json b/settings/l10n/cs_CZ.json index 8aa42cc2dd352..6d96c433a4f00 100644 --- a/settings/l10n/cs_CZ.json +++ b/settings/l10n/cs_CZ.json @@ -33,17 +33,6 @@ "Email saved" : "Email uložen", "Your full name has been changed." : "Vaše celé jméno bylo změněno.", "Unable to change full name" : "Nelze změnit celé jméno", - "APCu" : "APCu", - "Redis" : "Redis", - "Security & setup warnings" : "Upozornění zabezpečení a nastavení", - "Sharing" : "Sdílení", - "Server-side encryption" : "Šifrování na serveru", - "External Storage" : "Externí úložiště", - "Cron" : "Cron", - "Email server" : "Emailový server", - "Log" : "Záznam", - "Tips & tricks" : "Tipy a triky", - "Updates" : "Aktualizace", "Couldn't remove app." : "Nepodařilo se odebrat aplikaci.", "Language changed" : "Jazyk byl změněn", "Invalid request" : "Neplatný požadavek", @@ -96,6 +85,10 @@ "Android Client" : "Android klient", "Sync client - {os}" : "Sync klient - {os}", "This session" : "Toto sezení", + "Copied!" : "Zkopírováno!", + "Not supported!" : "Nepodporováno!", + "Press ⌘-C to copy." : "Zmáčknout ⌘-C pro kopírování.", + "Press Ctrl-C to copy." : "Zmáčknout Ctrl-C pro kopírování.", "Error while loading browser sessions and device tokens" : "Chyba při načítání sezení prohlížeče a tokenů přístroje", "Error while creating device token" : "Chyba při vytváření tokenů přístroje", "Error while deleting the token" : "Chyba při mazání tokenu", @@ -131,22 +124,61 @@ "Sessions" : "Sezení", "App passwords" : "Hesla aplikací", "Sync clients" : "Synchronizační klienti", - "Everything (fatal issues, errors, warnings, info, debug)" : "Vše (fatální problémy, chyby, varování, informační, ladící)", - "Info, warnings, errors and fatal issues" : "Informace, varování, chyby a fatální problémy", - "Warnings, errors and fatal issues" : "Varování, chyby a fatální problémy", - "Errors and fatal issues" : "Chyby a fatální problémy", - "Fatal issues only" : "Pouze fatální problémy", "None" : "Žádné", "Login" : "Přihlásit", "Plain" : "Čistý text", "NT LAN Manager" : "Správce NT LAN", "SSL" : "SSL", "TLS" : "TLS", + "Email server" : "Emailový server", + "Open documentation" : "Otevřít dokumentaci", + "This is used for sending out notifications." : "Toto se používá pro odesílání upozornění.", + "Send mode" : "Mód odesílání", + "Encryption" : "Šifrování", + "From address" : "Adresa odesílatele", + "mail" : "email", + "Authentication method" : "Metoda ověření", + "Authentication required" : "Vyžadováno ověření", + "Server address" : "Adresa serveru", + "Port" : "Port", + "Credentials" : "Přihlašovací údaje", + "SMTP Username" : "SMTP uživatelské jméno ", + "SMTP Password" : "SMTP heslo", + "Store credentials" : "Ukládat přihlašovací údaje", + "Test email settings" : "Test nastavení emailu", + "Send email" : "Odeslat email", + "Server-side encryption" : "Šifrování na serveru", + "Enable server-side encryption" : "Povolit šifrování na straně serveru", + "Please read carefully before activating server-side encryption: " : "Pročtěte prosím důkladně před aktivací šifrování dat na serveru:", + "Once encryption is enabled, all files uploaded to the server from that point forward will be encrypted at rest on the server. It will only be possible to disable encryption at a later date if the active encryption module supports that function, and all pre-conditions (e.g. setting a recover key) are met." : "Poté co je zapnuto šifrování, jsou od toho bodu všechny nahrávané soubory šifrovány serverem. Vypnout šifrování bude možné pouze později, až bude šifrovací modul tuto možnost podporovat a po splnění všech nutných podmínek (tzn. nastavení klíčů pro obnovení).", + "Encryption alone does not guarantee security of the system. Please see documentation for more information about how the encryption app works, and the supported use cases." : "Šifrování samotné ještě negarantuje bezpečnost systému. Přečtěte si prosím dokumentaci, chcete-li se dozvědět více informací o tom, jak aplikace pro šifrování funguje a jaké jsou podporované případy použití.", + "Be aware that encryption always increases the file size." : "Mějte na paměti, že šifrování vždy navýší velikost souboru.", + "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Je vždy dobré vytvářet pravidelné zálohy svých dat, v případě zapnutého šifrování také zajistěte zálohu šifrovacích klíčů společně se zálohou dat.", + "This is the final warning: Do you really want to enable encryption?" : "Toto je poslední varování: Opravdu si přejete zapnout šifrování?", + "Enable encryption" : "Povolit šifrování", + "No encryption module loaded, please enable an encryption module in the app menu." : "Není načten žádný šifrovací modul, povolte ho prosím v menu aplikací.", + "Select default encryption module:" : "Vybrat výchozí šifrovací modul:", + "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please enable the \"Default encryption module\" and run 'occ encryption:migrate'" : "Musíte přenést své šifrovací klíče ze staré verze šifrování (ownCloud <= 8.0) na novou. Povolte prosím \"Default encryption module\" a spusťte příkaz 'occ encryption:migrate'", + "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Musíte přenést své šifrovací klíče ze staré verze šifrování (ownCloud <= 8.0) na novou.", + "Start migration" : "Spustit migraci", + "Everything (fatal issues, errors, warnings, info, debug)" : "Vše (fatální problémy, chyby, varování, informační, ladící)", + "Info, warnings, errors and fatal issues" : "Informace, varování, chyby a fatální problémy", + "Warnings, errors and fatal issues" : "Varování, chyby a fatální problémy", + "Errors and fatal issues" : "Chyby a fatální problémy", + "Fatal issues only" : "Pouze fatální problémy", + "Log" : "Záznam", + "What to log" : "Co se má logovat", + "Download logfile" : "Stáhnout soubor logu", + "More" : "Více", + "Less" : "Méně", + "The logfile is bigger than 100 MB. Downloading it may take some time!" : "Soubor logu je větší než 100 MB. Jeho stažení zabere nějaký čas!", + "Security & setup warnings" : "Upozornění zabezpečení a nastavení", "php does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "php není nejspíše správně nastaveno pro dotazování na proměnné hodnoty systému. Test s getenv(\"PATH\") vrací pouze prázdnou odpověď.", "Please check the installation documentation ↗ for php configuration notes and the php configuration of your server, especially when using php-fpm." : "Zkontrolujte prosím konfiguraci php podle instalační dokumentace ↗, hlavně při použití php-fpm.", "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Konfigurace je nastavena pouze pro čtení. Toto znemožňuje některá nastavení přes webové rozhraní. Dále musí být pro každou změnu povolen zápis do konfiguračního souboru ručně.", "PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "PHP je patrně nastaveno tak, aby odstraňovalo bloky komentářů. Toto bude mít za následek nedostupnost množství hlavních aplikací.", "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Toto je pravděpodobně způsobeno aplikacemi pro urychlení načítání jako jsou Zend OPcache nebo eAccelerator.", + "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Vaše databáze neběží s úrovní izolace transakcí \"READ COMMITTED\". Toto může způsobit problémy při paralelním spouštění více akcí současně.", "%1$s below version %2$s is installed, for stability and performance reasons we recommend updating to a newer %1$s version." : "Je nainstalován %1$s nižší verze než %2$s, z důvodu lepší stability a výkonu doporučujeme aktualizovat na novější verzi %1$s.", "The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "Schází PHP modul 'fileinfo'. Doporučujeme jej povolit pro nejlepší výsledky detekce typů MIME.", "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the documentation ↗ for more information." : "Transakční uzamykání souborů je vypnuto, což může vést k problémům s \"race\" podmínkami. Pro zabránění těmto problémům povolte 'filelocking.enabled' v souboru config.php. Více informací lze nalézt v dokumentaci ↗.", @@ -157,7 +189,15 @@ "It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "Nebylo možné spustit službu cron v CLI. Došlo k následujícím technickým chybám:", "Please double check the installation guides ↗, and check for any errors or warnings in the log." : "Prosím překontrolujte instalační pokyny ↗ a zkontrolujte jakékoliv chyby a varování v logu.", "All checks passed." : "Všechny testy byly úspěšné.", - "Open documentation" : "Otevřít dokumentaci", + "Cron" : "Cron", + "Last cron job execution: %s." : "Poslední cron proběhl: %s.", + "Last cron job execution: %s. Something seems wrong." : "Poslední cron proběhl: %s. Vypadá to, že něco není v pořádku.", + "Cron was not executed yet!" : "Cron ještě nebyl spuštěn!", + "Execute one task with each page loaded" : "Spustit jednu úlohu s každým načtením stránky", + "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php je registrován u služby webcron, aby volal cron.php jednou za 15 minut přes http.", + "Use system's cron service to call the cron.php file every 15 minutes." : "Použít systémovou službu cron pro volání cron.php každých 15 minut.", + "Version" : "Verze", + "Sharing" : "Sdílení", "Allow apps to use the Share API" : "Povolit aplikacím používat API sdílení", "Allow users to share via link" : "Povolit uživatelům sdílení pomocí odkazů", "Allow public uploads" : "Povolit veřejné nahrávání souborů", @@ -174,45 +214,7 @@ "Exclude groups from sharing" : "Vyjmout skupiny ze sdílení", "These groups will still be able to receive shares, but not to initiate them." : "Těmto skupinám bude stále možno sdílet, nemohou ale sami sdílet ostatním.", "Allow username autocompletion in share dialog. If this is disabled the full username needs to be entered." : "Povolit automatické vyplňování v dialogu sdílení. Pokud je toto vypnuto, je třeba ručně vyplňovat celé uživatelské jméno.", - "Last cron job execution: %s." : "Poslední cron proběhl: %s.", - "Last cron job execution: %s. Something seems wrong." : "Poslední cron proběhl: %s. Vypadá to, že něco není v pořádku.", - "Cron was not executed yet!" : "Cron ještě nebyl spuštěn!", - "Execute one task with each page loaded" : "Spustit jednu úlohu s každým načtením stránky", - "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php je registrován u služby webcron, aby volal cron.php jednou za 15 minut přes http.", - "Use system's cron service to call the cron.php file every 15 minutes." : "Použít systémovou službu cron pro volání cron.php každých 15 minut.", - "Enable server-side encryption" : "Povolit šifrování na straně serveru", - "Please read carefully before activating server-side encryption: " : "Pročtěte prosím důkladně před aktivací šifrování dat na serveru:", - "Once encryption is enabled, all files uploaded to the server from that point forward will be encrypted at rest on the server. It will only be possible to disable encryption at a later date if the active encryption module supports that function, and all pre-conditions (e.g. setting a recover key) are met." : "Poté co je zapnuto šifrování, jsou od toho bodu všechny nahrávané soubory šifrovány serverem. Vypnout šifrování bude možné pouze později, až bude šifrovací modul tuto možnost podporovat a po splnění všech nutných podmínek (tzn. nastavení klíčů pro obnovení).", - "Encryption alone does not guarantee security of the system. Please see documentation for more information about how the encryption app works, and the supported use cases." : "Šifrování samotné ještě negarantuje bezpečnost systému. Přečtěte si prosím dokumentaci, chcete-li se dozvědět více informací o tom, jak aplikace pro šifrování funguje a jaké jsou podporované případy použití.", - "Be aware that encryption always increases the file size." : "Mějte na paměti, že šifrování vždy navýší velikost souboru.", - "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Je vždy dobré vytvářet pravidelné zálohy svých dat, v případě zapnutého šifrování také zajistěte zálohu šifrovacích klíčů společně se zálohou dat.", - "This is the final warning: Do you really want to enable encryption?" : "Toto je poslední varování: Opravdu si přejete zapnout šifrování?", - "Enable encryption" : "Povolit šifrování", - "No encryption module loaded, please enable an encryption module in the app menu." : "Není načten žádný šifrovací modul, povolte ho prosím v menu aplikací.", - "Select default encryption module:" : "Vybrat výchozí šifrovací modul:", - "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please enable the \"Default encryption module\" and run 'occ encryption:migrate'" : "Musíte přenést své šifrovací klíče ze staré verze šifrování (ownCloud <= 8.0) na novou. Povolte prosím \"Default encryption module\" a spusťte příkaz 'occ encryption:migrate'", - "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Musíte přenést své šifrovací klíče ze staré verze šifrování (ownCloud <= 8.0) na novou.", - "Start migration" : "Spustit migraci", - "This is used for sending out notifications." : "Toto se používá pro odesílání upozornění.", - "Send mode" : "Mód odesílání", - "Encryption" : "Šifrování", - "From address" : "Adresa odesílatele", - "mail" : "email", - "Authentication method" : "Metoda ověření", - "Authentication required" : "Vyžadováno ověření", - "Server address" : "Adresa serveru", - "Port" : "Port", - "Credentials" : "Přihlašovací údaje", - "SMTP Username" : "SMTP uživatelské jméno ", - "SMTP Password" : "SMTP heslo", - "Store credentials" : "Ukládat přihlašovací údaje", - "Test email settings" : "Test nastavení emailu", - "Send email" : "Odeslat email", - "What to log" : "Co se má logovat", - "Download logfile" : "Stáhnout soubor logu", - "More" : "Více", - "Less" : "Méně", - "The logfile is bigger than 100 MB. Downloading it may take some time!" : "Soubor logu je větší než 100 MB. Jeho stažení zabere nějaký čas!", + "Tips & tricks" : "Tipy a triky", "SQLite is used as database. For larger installations we recommend to switch to a different database backend." : "Je použita databáze SQLite. Pro větší instalace doporučujeme přejít na robustnější databázi.", "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "Obzvláště při používání klientské aplikace pro synchronizaci s desktopem není SQLite doporučeno.", "To migrate to another database use the command line tool: 'occ db:convert-type', or see the documentation ↗." : "Pro migraci na jinou databázi použijte v příkazovém řádku nástroj: 'occ db:convert-type' nebo nahlédněte do dokumentace ↗.", @@ -222,7 +224,6 @@ "Improving the config.php" : "Vylepšení souboru config.php", "Theming" : "Vzhledy", "Hardening and security guidance" : "Průvodce vylepšením bezpečnosti", - "Version" : "Verze", "Developer documentation" : "Vývojářská dokumentace", "Experimental applications ahead" : "Experimentální aplikace v pořadí", "Experimental apps are not checked for security issues, new or known to be unstable and under heavy development. Installing them can cause data loss or security breaches." : "Experimentální aplikace nejsou prověřovány na bezpečnostní chyby, mohou být nestabilní a velmi se měnit. Jejich instalací můžete způsobit ztrátu dat nebo bezpečnostní problémy.", @@ -278,6 +279,11 @@ "Change password" : "Změnit heslo", "Language" : "Jazyk", "Help translate" : "Pomoci s překladem", + "Get the apps to sync your files" : "Získat aplikace pro synchronizaci vašich souborů", + "Desktop client" : "Aplikace pro počítač", + "Android app" : "Aplikace pro Android", + "iOS app" : "iOS aplikace", + "Show First Run Wizard again" : "Znovu zobrazit průvodce prvním spuštěním", "Web, desktop and mobile clients currently logged in to your account." : "Weboví, desktopoví a mobilní klienti aktuálně přihlášeni k vašemu účtu.", "Device" : "Přístroj", "Last activity" : "Poslední aktivita", @@ -286,17 +292,17 @@ "App name" : "Jméno aplikace", "Create new app password" : "Vytvořit nové heslo aplikace", "Use the credentials below to configure your app or device." : "Použijte údaje níže pro nastavení aplikace nebo zařízení.", + "For security reasons this password will only be shown once." : "Toto heslo bude z bezpečnostních důvodů zobrazeno pouze jedenkrát.", "Username" : "Uživatelské jméno", "Done" : "Dokončeno", - "Get the apps to sync your files" : "Získat aplikace pro synchronizaci vašich souborů", - "Desktop client" : "Aplikace pro počítač", - "Android app" : "Aplikace pro Android", - "iOS app" : "iOS aplikace", - "If you want to support the project\n\t\tjoin development\n\t\tor\n\t\tspread the word!" : "Chcete-li projekt podpořit\n\t\tpřipojte se k vývoji\n\t\tnebo\n\t\tšiřte informace dál!", - "Show First Run Wizard again" : "Znovu zobrazit průvodce prvním spuštěním", + "Developed by the {communityopen}Nextcloud community{linkclose}, the {githubopen}source code{linkclose} is licensed under the {licenseopen}AGPL{linkclose}." : "Vyvíjeno {communityopen}Nextcloud komunitou{linkclose}, {githubopen}zdrojový kód{linkclose} je licencován pod {licenseopen}AGPL{linkclose}.", + "Follow us on Google Plus!" : "Sledujte nás na Google Plus!", + "Subscribe to our twitter channel!" : "Odebírejte náš twitter kanál!", + "Subscribe to our news feed!" : "Odebírejte náš kanál s novinkami!", + "Subscribe to our newsletter!" : "Odebírejte náš newsletter!", "Show storage location" : "Cesta k datům", "Show last log in" : "Poslední přihlášení", - "Show user backend" : "Zobrazit uživatelskou podpůrnou vrstvu", + "Show user backend" : "Zobrazit vedení uživatelů", "Send email to new user" : "Poslat email novému uživateli", "Show email address" : "Emailová adresa", "E-Mail" : "Email", @@ -317,6 +323,32 @@ "change full name" : "změnit celé jméno", "set new password" : "nastavit nové heslo", "change email address" : "změnit emailovou adresu", - "Default" : "Výchozí" + "Default" : "Výchozí", + "APCu" : "APCu", + "Redis" : "Redis", + "External Storage" : "Externí úložiště", + "Updates" : "Aktualizace", + "no group" : "není ve skupině", + "add group" : "přidat skupinu", + "Your database does not run with \"READ COMMITED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Vaše databáze neběží s úrovní izolace transakcí \"READ COMMITED\". Toto může způsobit problémy při paralelním spouštění více akcí současně.", + "Add Group" : "Přidat skupinu", + "Default Quota" : "Výchozí kvóta", + "Full Name" : "Celé jméno", + "Group Admin for" : "Správce skupiny pro", + "Storage Location" : "Umístění úložiště", + "User Backend" : "Seznam uživatelů", + "Last Login" : "Poslední přihlášení", + "Official apps are developed by and within the Nextcloud community. They offer functionality central to Nextcloud and are ready for production use." : "Oficiální aplikace jsou vyvíjeny Nextcloud komunitou. Poskytují klíčové funkce Nextcloud a jsou připravené na produkční nasazení.", + "No apps found for \"{query}\"" : "Nebyly nalezeny žádné aplikace pro \"{query}\"", + "Please check the installation documentation ↗ for php configuration notes and the php configuration of your server, especially when using php-fpm." : "Zkontrolujte prosím konfiguraci php podle instalační dokumentace ↗, hlavně při použití php-fpm.", + "Your server is running on Microsoft Windows. We highly recommend Linux for optimal user experience." : "Server běží v prostředí Microsoft Windows. Pro optimální uživatelské pohodlí doporučujeme přejít na Linux.", + "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the documentation ↗ for more information." : "Transakční uzamykání souborů je vypnuto, což může vést k problémům s \"race\" podmínkami. Pro zabránění těmto problémům povolte 'filelocking.enabled' v souboru config.php. Více informací lze nalézt v dokumentaci ↗.", + "Please double check the installation guides ↗, and check for any errors or warnings in the log." : "Prosím překontrolujte instalační pokyny ↗ a zkontrolujte jakékoliv chyby a varování v logu.", + "Encryption alone does not guarantee security of the system. Please see Nextcloud documentation for more information about how the encryption app works, and the supported use cases." : "Šifrování samotné ještě negarantuje bezpečnost systému. Přečtěte si prosím Nextcloud dokumentaci, chcete-li se dozvědět více informací o tom, jak aplikace pro šifrování funguje a jaké jsou podporované případy použití.", + "To migrate to another database use the command line tool: 'occ db:convert-type', or see the documentation ↗." : "Pro migraci na jinou databázi použijte v příkazovém řádku nástroj: 'occ db:convert-type' nebo nahlédněte do dokumentace ↗.", + "This app has no minimum Nextcloud version assigned. This will be an error in Nextcloud 11 and later." : "Tato aplikace nemá nastavenou žádnou nejnižší podporovanou verzi Nextcloud. Toto bude hlášeno jako chyba ve verzi Nextcloud 11 a pozdější.", + "This app has no maximum Nextcloud version assigned. This will be an error in Nextcloud 11 and later." : "Tato aplikace nemá nastavenou žádnou nejvyšší podporovanou verzi Nextcloud. Toto bude hlášeno jako chyba ve verzi Nextcloud 11 a pozdější.", + "If you want to support the project\n\t\tjoin development\n\t\tor\n\t\thelp other users!" : "Chcete-li projekt podpořit\n\t\tpřipojte se k vývoji\n\t\tnebo\n\t\tpomáhejte ostatním uživatelům!", + "Developed by the {communityopen}Nextcloud community{linkclose}, the {githubopen}source code{linkclose} is licensed under the {licenseopen}AGPL{linkclose}." : "Vyvíjeno {communityopen}Nextcloud komunitou{linkclose}, {githubopen}zdrojový kód{linkclose} je licencován pod {licenseopen}AGPL{linkclose}." },"pluralForm" :"nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;" } \ No newline at end of file diff --git a/settings/l10n/de.js b/settings/l10n/de.js index ff97f12b6104e..97115f875bcdd 100644 --- a/settings/l10n/de.js +++ b/settings/l10n/de.js @@ -35,17 +35,6 @@ OC.L10N.register( "Email saved" : "E-Mail-Adresse gespeichert", "Your full name has been changed." : "Dein vollständiger Name wurde geändert.", "Unable to change full name" : "Der vollständige Name konnte nicht geändert werden", - "APCu" : "APCu", - "Redis" : "Redis", - "Security & setup warnings" : "Sicherheits- & Einrichtungswarnungen", - "Sharing" : "Teilen", - "Server-side encryption" : "Serverseitige Verschlüsselung", - "External Storage" : "Externer Speicher", - "Cron" : "Cron", - "Email server" : "E-Mail-Server", - "Log" : "Log", - "Tips & tricks" : "Tipps & Tricks", - "Updates" : "Updates", "Couldn't remove app." : "Die App konnte nicht entfernt werden.", "Language changed" : "Sprache geändert", "Invalid request" : "Fehlerhafte Anfrage", @@ -137,17 +126,55 @@ OC.L10N.register( "Sessions" : "Sitzungen", "App passwords" : "App-Passwörter", "Sync clients" : "Sync-Clients", - "Everything (fatal issues, errors, warnings, info, debug)" : "Alles (fatale Probleme, Fehler, Warnungen, Infos, Debug-Meldungen)", - "Info, warnings, errors and fatal issues" : "Infos, Warnungen, Fehler und fatale Probleme", - "Warnings, errors and fatal issues" : "Warnungen, Fehler und fatale Probleme", - "Errors and fatal issues" : "Fehler und fatale Probleme", - "Fatal issues only" : "Nur fatale Probleme", "None" : "Nichts", "Login" : "Anmelden", "Plain" : "Plain", "NT LAN Manager" : "NT LAN Manager", "SSL" : "SSL", "TLS" : "TLS", + "Email server" : "E-Mail-Server", + "Open documentation" : "Dokumentation öffnen", + "This is used for sending out notifications." : "Dies wird zum Senden von Benachrichtigungen verwendet.", + "Send mode" : "Sendemodus", + "Encryption" : "Verschlüsselung", + "From address" : "Absenderadresse", + "mail" : "E-Mail", + "Authentication method" : "Authentifizierungsmethode", + "Authentication required" : "Authentifizierung benötigt", + "Server address" : "Serveradresse", + "Port" : "Port", + "Credentials" : "Zugangsdaten", + "SMTP Username" : "SMTP Benutzername", + "SMTP Password" : "SMTP Passwort", + "Store credentials" : "Anmeldeinformationen speichern", + "Test email settings" : "E-Mail-Einstellungen testen", + "Send email" : "E-Mail senden", + "Server-side encryption" : "Serverseitige Verschlüsselung", + "Enable server-side encryption" : "Serverseitige Verschlüsselung aktivieren", + "Please read carefully before activating server-side encryption: " : "Bitte sorgfältig lesen, bevor die serverseitige Verschlüsselung aktiviert wird:", + "Once encryption is enabled, all files uploaded to the server from that point forward will be encrypted at rest on the server. It will only be possible to disable encryption at a later date if the active encryption module supports that function, and all pre-conditions (e.g. setting a recover key) are met." : "Wird die Verschlüsselung einmal aktiviert, so werden alle ab diesem Zeitpunkt hochgeladene Dateien verschlüsselt. Sie kann nur wieder deaktiviert werden, wenn das Verschlüsselungsmodul dies unterstützt und alle Voraussetzungen (wie das Setzen eines Wiederherstellungsschlüssels) im Vorhinein erfüllt wurden.", + "Encryption alone does not guarantee security of the system. Please see documentation for more information about how the encryption app works, and the supported use cases." : "Verschlüsselung alleine garantiert nicht die Systemsicherheit. Bitte lesen Sie in der Dokumentation nach, wie die Verschlüsselungs-app funktioniert und welche Anwendungsfälle unterstützt werden.", + "Be aware that encryption always increases the file size." : "Sei dir bewusst, dass die Verschlüsselung immer die Dateigröße erhöht.", + "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Es ist immer gut, regelmäßig Sicherungskopien von deinen Daten zu erstellen. Falls du die Verschlüsselung nutzt, sollte auch eine Sicherung der Kodierungsschlüssel zusammen mit deinen Daten durchgeführt werden.", + "This is the final warning: Do you really want to enable encryption?" : "Dies ist die letzte Warnung: Verschlüsselung wirklich aktivieren?", + "Enable encryption" : "Verschlüsselung aktivieren", + "No encryption module loaded, please enable an encryption module in the app menu." : "Es wurde kein Verschlüsselungs-Modul geladen, bitte ein Verschlüsselungs-Modul im Anwendungs-Menü aktivieren.", + "Select default encryption module:" : "Standard-Verschlüsselungs-Modul auswählen:", + "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please enable the \"Default encryption module\" and run 'occ encryption:migrate'" : "Die Kodierungsschlüssel der alten Verschlüsselung müssen zur neuen Version migriert werden (ownCloud <= 8.0). Bitte »Default Encryption Module« aktivieren und »occ encryption:migrate« aufrufen.", + "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Kodierungsschlüssel der alten Verschlüsselung migrieren (ownCloud <= 8.0).", + "Start migration" : "Migration beginnen", + "Everything (fatal issues, errors, warnings, info, debug)" : "Alles (fatale Probleme, Fehler, Warnungen, Infos, Debug-Meldungen)", + "Info, warnings, errors and fatal issues" : "Infos, Warnungen, Fehler und fatale Probleme", + "Warnings, errors and fatal issues" : "Warnungen, Fehler und fatale Probleme", + "Errors and fatal issues" : "Fehler und fatale Probleme", + "Fatal issues only" : "Nur fatale Probleme", + "Log" : "Log", + "What to log" : "Was geloggt wird", + "Download logfile" : "Logdatei herunterladen", + "More" : "Mehr", + "Less" : "Weniger", + "The logfile is bigger than 100 MB. Downloading it may take some time!" : "Die Logdatei ist größer als 100 MB. Es kann etwas Zeit beanspruchen, sie herunterzuladen!", + "Security & setup warnings" : "Sicherheits- & Einrichtungswarnungen", "php does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP scheint zur Abfrage von Systemumgebungsvariablen nicht richtig eingerichtet zu sein. Der Test mit getenv (\"PATH\") liefert nur eine leere Antwort zurück.", "Please check the installation documentation ↗ for php configuration notes and the php configuration of your server, especially when using php-fpm." : "Bitte die Installationsdokumentation ↗auf Hinweise zur PHP-Konfiguration durchlesen, sowie die PHP-Konfiguration Ihres Servers überprüfen, insbesondere dann, wenn PHP-FPM eingesetzt wird.", "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Die schreibgeschützte Konfiguration wurde aktiviert. Dies verhindert das Setzen einiger Einstellungen über die Web-Schnittstelle. Weiterhin muss bei jedem Update der Schreibzugriff auf die Datei händisch aktiviert werden.", @@ -164,7 +191,15 @@ OC.L10N.register( "It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "Die Ausführung des Cron-Jobs über die Kommandozeile war nicht möglich. Die folgenden technischen Fehler sind dabei aufgetreten:", "Please double check the installation guides ↗, and check for any errors or warnings in the log." : "Bitte überprüfe noch einmal die Installationsanleitungen ↗ und kontrolliere das Log auf mögliche Fehler oder Warnungen.", "All checks passed." : "Alle Überprüfungen bestanden.", - "Open documentation" : "Dokumentation öffnen", + "Cron" : "Cron", + "Last cron job execution: %s." : "Letzte Cron-Job-Ausführung: %s.", + "Last cron job execution: %s. Something seems wrong." : "Letzte Cron-Job-Ausführung: %s. Möglicherweise liegt ein Fehler vor.", + "Cron was not executed yet!" : "Cron wurde bis jetzt noch nicht ausgeführt!", + "Execute one task with each page loaded" : "Führe eine Aufgabe mit jeder geladenen Seite aus", + "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php ist als Webcron-Dienst registriert, der die cron.php alle 15 Minuten per HTTP aufruft.", + "Use system's cron service to call the cron.php file every 15 minutes." : "Benutze den systemeigenen Cron-Dienst, um die cron.php alle 15 Minuten aufzurufen.", + "Version" : "Version", + "Sharing" : "Teilen", "Allow apps to use the Share API" : "Apps die Benutzung der Share-API erlauben", "Allow users to share via link" : "Benutzern erlauben, Inhalte über Links zu teilen", "Allow public uploads" : "Öffentliches Hochladen erlauben", @@ -181,45 +216,7 @@ OC.L10N.register( "Exclude groups from sharing" : "Gruppen von Freigaben ausschließen", "These groups will still be able to receive shares, but not to initiate them." : "Diese Gruppen können weiterhin Freigaben empfangen, aber selbst keine mehr initiieren.", "Allow username autocompletion in share dialog. If this is disabled the full username needs to be entered." : "Die Auto-Vervollständigung von Benutzernamen im Teilen-Dialog erlauben. Wenn dies deaktiviert ist, muss der vollständige Benutzername eingegeben werden.", - "Last cron job execution: %s." : "Letzte Cron-Job-Ausführung: %s.", - "Last cron job execution: %s. Something seems wrong." : "Letzte Cron-Job-Ausführung: %s. Möglicherweise liegt ein Fehler vor.", - "Cron was not executed yet!" : "Cron wurde bis jetzt noch nicht ausgeführt!", - "Execute one task with each page loaded" : "Führe eine Aufgabe mit jeder geladenen Seite aus", - "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php ist als Webcron-Dienst registriert, der die cron.php alle 15 Minuten per HTTP aufruft.", - "Use system's cron service to call the cron.php file every 15 minutes." : "Benutze den systemeigenen Cron-Dienst, um die cron.php alle 15 Minuten aufzurufen.", - "Enable server-side encryption" : "Serverseitige Verschlüsselung aktivieren", - "Please read carefully before activating server-side encryption: " : "Bitte sorgfältig lesen, bevor die serverseitige Verschlüsselung aktiviert wird:", - "Once encryption is enabled, all files uploaded to the server from that point forward will be encrypted at rest on the server. It will only be possible to disable encryption at a later date if the active encryption module supports that function, and all pre-conditions (e.g. setting a recover key) are met." : "Wird die Verschlüsselung einmal aktiviert, so werden alle ab diesem Zeitpunkt hochgeladene Dateien verschlüsselt. Sie kann nur wieder deaktiviert werden, wenn das Verschlüsselungsmodul dies unterstützt und alle Voraussetzungen (wie das Setzen eines Wiederherstellungsschlüssels) im Vorhinein erfüllt wurden.", - "Encryption alone does not guarantee security of the system. Please see documentation for more information about how the encryption app works, and the supported use cases." : "Verschlüsselung alleine garantiert nicht die Systemsicherheit. Bitte lesen Sie in der Dokumentation nach, wie die Verschlüsselungs-app funktioniert und welche Anwendungsfälle unterstützt werden.", - "Be aware that encryption always increases the file size." : "Sei dir bewusst, dass die Verschlüsselung immer die Dateigröße erhöht.", - "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Es ist immer gut, regelmäßig Sicherungskopien von deinen Daten zu erstellen. Falls du die Verschlüsselung nutzt, sollte auch eine Sicherung der Kodierungsschlüssel zusammen mit deinen Daten durchgeführt werden.", - "This is the final warning: Do you really want to enable encryption?" : "Dies ist die letzte Warnung: Verschlüsselung wirklich aktivieren?", - "Enable encryption" : "Verschlüsselung aktivieren", - "No encryption module loaded, please enable an encryption module in the app menu." : "Es wurde kein Verschlüsselungs-Modul geladen, bitte ein Verschlüsselungs-Modul im Anwendungs-Menü aktivieren.", - "Select default encryption module:" : "Standard-Verschlüsselungs-Modul auswählen:", - "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please enable the \"Default encryption module\" and run 'occ encryption:migrate'" : "Die Kodierungsschlüssel der alten Verschlüsselung müssen zur neuen Version migriert werden (ownCloud <= 8.0). Bitte »Default Encryption Module« aktivieren und »occ encryption:migrate« aufrufen.", - "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Kodierungsschlüssel der alten Verschlüsselung migrieren (ownCloud <= 8.0).", - "Start migration" : "Migration beginnen", - "This is used for sending out notifications." : "Dies wird zum Senden von Benachrichtigungen verwendet.", - "Send mode" : "Sendemodus", - "Encryption" : "Verschlüsselung", - "From address" : "Absenderadresse", - "mail" : "E-Mail", - "Authentication method" : "Authentifizierungsmethode", - "Authentication required" : "Authentifizierung benötigt", - "Server address" : "Serveradresse", - "Port" : "Port", - "Credentials" : "Zugangsdaten", - "SMTP Username" : "SMTP Benutzername", - "SMTP Password" : "SMTP Passwort", - "Store credentials" : "Anmeldeinformationen speichern", - "Test email settings" : "E-Mail-Einstellungen testen", - "Send email" : "E-Mail senden", - "What to log" : "Was geloggt wird", - "Download logfile" : "Logdatei herunterladen", - "More" : "Mehr", - "Less" : "Weniger", - "The logfile is bigger than 100 MB. Downloading it may take some time!" : "Die Logdatei ist größer als 100 MB. Es kann etwas Zeit beanspruchen, sie herunterzuladen!", + "Tips & tricks" : "Tipps & Tricks", "SQLite is used as database. For larger installations we recommend to switch to a different database backend." : "SQLite wird als Datenbank verwendet. Bei größeren Installationen wird empfohlen, auf ein anderes Datenbank-Backend zu wechseln.", "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "Insbesondere bei der Nutzung des Desktop Clients zur Dateisynchronisierung wird vom Einsatz von SQLite abgeraten.", "To migrate to another database use the command line tool: 'occ db:convert-type', or see the documentation ↗." : "Um zu einer anderen Datenbank zu migrieren, benutze bitte die Kommandozeile: 'occ db:convert-type', oder in die Dokumentation ↗ schauen.", @@ -229,7 +226,6 @@ OC.L10N.register( "Improving the config.php" : "Die config.php optimieren", "Theming" : "Themes verwenden", "Hardening and security guidance" : "Systemhärtung und Sicherheitsempfehlungen", - "Version" : "Version", "Developer documentation" : "Dokumentation für Entwickler", "Experimental applications ahead" : "Experimentelle Apps nachfolgend", "Experimental apps are not checked for security issues, new or known to be unstable and under heavy development. Installing them can cause data loss or security breaches." : "Experimentelle Apps sind nicht auf Sicherheitsprobleme hin überprüft, sind neu oder bekanntermaßen instabil und befinden sich in intensiver Entwicklung. Ihre Installation kann Datenverlust oder Sicherheitslücken hervorrufen.", @@ -285,6 +281,11 @@ OC.L10N.register( "Change password" : "Passwort ändern", "Language" : "Sprache", "Help translate" : "Hilf bei der Übersetzung", + "Get the apps to sync your files" : "Lade die Apps zur Synchronisierung Deiner Daten herunter", + "Desktop client" : "Desktop-Client", + "Android app" : "Android-App", + "iOS app" : "iOS-App", + "Show First Run Wizard again" : "Den Einrichtungsassistenten erneut anzeigen", "Web, desktop and mobile clients currently logged in to your account." : "Aktuell in Deinem Konto eingeloggte Web-, Desktop- und Mobil-Clients.", "Device" : "Gerät", "Last activity" : "Letzte Aktivität", @@ -296,13 +297,12 @@ OC.L10N.register( "For security reasons this password will only be shown once." : "Aus Sicherheitsgründen wird das Passwort nur einmal angezeigt.", "Username" : "Benutzername", "Done" : "Erledigt", - "Get the apps to sync your files" : "Lade die Apps zur Synchronisierung Deiner Daten herunter", - "Desktop client" : "Desktop-Client", - "Android app" : "Android-App", - "iOS app" : "iOS-App", - "If you want to support the project\n\t\tjoin development\n\t\tor\n\t\tspread the word!" : "Wenn du das Projekt unterstützen möchtest\n⇥⇥hilf uns bei der Weiterentwicklung\n⇥⇥oder\n⇥⇥empfehle es weiter!", - "Show First Run Wizard again" : "Den Einrichtungsassistenten erneut anzeigen", "Developed by the {communityopen}Nextcloud community{linkclose}, the {githubopen}source code{linkclose} is licensed under the {licenseopen}AGPL{linkclose}." : "Entwickelt von der {communityopen}Nextcloud community{linkclose}, der {githubopen}Quellcode{linkclose} ist lizensiert unter {licenseopen}AGPL{linkclose}-Lizenz.", + "Follow us on Google Plus!" : "Folgen Sie uns zu Google Plus!", + "Like our facebook page!" : "Like uns auf unserer Facebook-Seite!", + "Subscribe to our twitter channel!" : "Abonniere unseren Twitter-Kanal!", + "Subscribe to our news feed!" : "Abonniere unseren RSS-Feed!", + "Subscribe to our newsletter!" : "Abonnieren Sie unseren Newsletter!", "Show storage location" : "Speicherort anzeigen", "Show last log in" : "Letzte Anmeldung anzeigen", "Show user backend" : "Benutzer-Backend anzeigen", @@ -327,6 +327,10 @@ OC.L10N.register( "set new password" : "Neues Passwort setzen", "change email address" : "E-Mail-Adresse ändern", "Default" : "Standard", + "APCu" : "APCu", + "Redis" : "Redis", + "External Storage" : "Externer Speicher", + "Updates" : "Updates", "no group" : "Keine Gruppe", "add group" : "Gruppe hinzufügen", "Your database does not run with \"READ COMMITED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Deine Datenbank läuft nicht mit der \"READ COMMITED\" Transaktionsisolationsstufe. Dies kann Probleme hervorrufen, wenn mehrere Aktionen parallel ausgeführt werden.", @@ -347,7 +351,7 @@ OC.L10N.register( "To migrate to another database use the command line tool: 'occ db:convert-type', or see the documentation ↗." : "Um zu einer anderen Datenbank zu migrieren, benutze bitte die Kommandozeile: 'occ db:convert-type', oder in die Dokumentation ↗ schauen.", "This app has no minimum Nextcloud version assigned. This will be an error in Nextcloud 11 and later." : "Für diese App wurde keine untere Versionsgrenze für Nextcloud gesetzt. Dies wird zukünftig als Fehler behandelt.", "This app has no maximum Nextcloud version assigned. This will be an error in Nextcloud 11 and later." : "Für diese App wurde keine obere Versionsgrenze für Nextcloud gesetzt. Dies wird zukünftig als Fehler behandelt.", - "If you want to support the project\n\t\tjoin development\n\t\tor\n\t\thelp other users!" : "Wenn du das Projekt unterstützen möchtest\n⇥⇥hilf uns bei der Weiterentwicklung\n⇥⇥oder\n⇥⇥empfehle es weiter!", + "If you want to support the project\n\t\tjoin development\n\t\tor\n\t\thelp other users!" : "Wenn du das Projekt unterstützen möchtest\n⇥⇥hilf uns bei der Weiterentwicklung\n⇥⇥oder\n⇥⇥hilf anderen Nutzern!", "Developed by the {communityopen}Nextcloud community{linkclose}, the {githubopen}source code{linkclose} is licensed under the {licenseopen}AGPL{linkclose}." : "Entwickelt von der {communityopen}Nextcloud Community{linkclose}. Der {githubopen}Quellcode{linkclose} ist unter {licenseopen}AGPL{linkclose} verfügbar." }, "nplurals=2; plural=(n != 1);"); diff --git a/settings/l10n/de.json b/settings/l10n/de.json index 5dab537090a04..3389bda600818 100644 --- a/settings/l10n/de.json +++ b/settings/l10n/de.json @@ -33,17 +33,6 @@ "Email saved" : "E-Mail-Adresse gespeichert", "Your full name has been changed." : "Dein vollständiger Name wurde geändert.", "Unable to change full name" : "Der vollständige Name konnte nicht geändert werden", - "APCu" : "APCu", - "Redis" : "Redis", - "Security & setup warnings" : "Sicherheits- & Einrichtungswarnungen", - "Sharing" : "Teilen", - "Server-side encryption" : "Serverseitige Verschlüsselung", - "External Storage" : "Externer Speicher", - "Cron" : "Cron", - "Email server" : "E-Mail-Server", - "Log" : "Log", - "Tips & tricks" : "Tipps & Tricks", - "Updates" : "Updates", "Couldn't remove app." : "Die App konnte nicht entfernt werden.", "Language changed" : "Sprache geändert", "Invalid request" : "Fehlerhafte Anfrage", @@ -135,17 +124,55 @@ "Sessions" : "Sitzungen", "App passwords" : "App-Passwörter", "Sync clients" : "Sync-Clients", - "Everything (fatal issues, errors, warnings, info, debug)" : "Alles (fatale Probleme, Fehler, Warnungen, Infos, Debug-Meldungen)", - "Info, warnings, errors and fatal issues" : "Infos, Warnungen, Fehler und fatale Probleme", - "Warnings, errors and fatal issues" : "Warnungen, Fehler und fatale Probleme", - "Errors and fatal issues" : "Fehler und fatale Probleme", - "Fatal issues only" : "Nur fatale Probleme", "None" : "Nichts", "Login" : "Anmelden", "Plain" : "Plain", "NT LAN Manager" : "NT LAN Manager", "SSL" : "SSL", "TLS" : "TLS", + "Email server" : "E-Mail-Server", + "Open documentation" : "Dokumentation öffnen", + "This is used for sending out notifications." : "Dies wird zum Senden von Benachrichtigungen verwendet.", + "Send mode" : "Sendemodus", + "Encryption" : "Verschlüsselung", + "From address" : "Absenderadresse", + "mail" : "E-Mail", + "Authentication method" : "Authentifizierungsmethode", + "Authentication required" : "Authentifizierung benötigt", + "Server address" : "Serveradresse", + "Port" : "Port", + "Credentials" : "Zugangsdaten", + "SMTP Username" : "SMTP Benutzername", + "SMTP Password" : "SMTP Passwort", + "Store credentials" : "Anmeldeinformationen speichern", + "Test email settings" : "E-Mail-Einstellungen testen", + "Send email" : "E-Mail senden", + "Server-side encryption" : "Serverseitige Verschlüsselung", + "Enable server-side encryption" : "Serverseitige Verschlüsselung aktivieren", + "Please read carefully before activating server-side encryption: " : "Bitte sorgfältig lesen, bevor die serverseitige Verschlüsselung aktiviert wird:", + "Once encryption is enabled, all files uploaded to the server from that point forward will be encrypted at rest on the server. It will only be possible to disable encryption at a later date if the active encryption module supports that function, and all pre-conditions (e.g. setting a recover key) are met." : "Wird die Verschlüsselung einmal aktiviert, so werden alle ab diesem Zeitpunkt hochgeladene Dateien verschlüsselt. Sie kann nur wieder deaktiviert werden, wenn das Verschlüsselungsmodul dies unterstützt und alle Voraussetzungen (wie das Setzen eines Wiederherstellungsschlüssels) im Vorhinein erfüllt wurden.", + "Encryption alone does not guarantee security of the system. Please see documentation for more information about how the encryption app works, and the supported use cases." : "Verschlüsselung alleine garantiert nicht die Systemsicherheit. Bitte lesen Sie in der Dokumentation nach, wie die Verschlüsselungs-app funktioniert und welche Anwendungsfälle unterstützt werden.", + "Be aware that encryption always increases the file size." : "Sei dir bewusst, dass die Verschlüsselung immer die Dateigröße erhöht.", + "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Es ist immer gut, regelmäßig Sicherungskopien von deinen Daten zu erstellen. Falls du die Verschlüsselung nutzt, sollte auch eine Sicherung der Kodierungsschlüssel zusammen mit deinen Daten durchgeführt werden.", + "This is the final warning: Do you really want to enable encryption?" : "Dies ist die letzte Warnung: Verschlüsselung wirklich aktivieren?", + "Enable encryption" : "Verschlüsselung aktivieren", + "No encryption module loaded, please enable an encryption module in the app menu." : "Es wurde kein Verschlüsselungs-Modul geladen, bitte ein Verschlüsselungs-Modul im Anwendungs-Menü aktivieren.", + "Select default encryption module:" : "Standard-Verschlüsselungs-Modul auswählen:", + "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please enable the \"Default encryption module\" and run 'occ encryption:migrate'" : "Die Kodierungsschlüssel der alten Verschlüsselung müssen zur neuen Version migriert werden (ownCloud <= 8.0). Bitte »Default Encryption Module« aktivieren und »occ encryption:migrate« aufrufen.", + "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Kodierungsschlüssel der alten Verschlüsselung migrieren (ownCloud <= 8.0).", + "Start migration" : "Migration beginnen", + "Everything (fatal issues, errors, warnings, info, debug)" : "Alles (fatale Probleme, Fehler, Warnungen, Infos, Debug-Meldungen)", + "Info, warnings, errors and fatal issues" : "Infos, Warnungen, Fehler und fatale Probleme", + "Warnings, errors and fatal issues" : "Warnungen, Fehler und fatale Probleme", + "Errors and fatal issues" : "Fehler und fatale Probleme", + "Fatal issues only" : "Nur fatale Probleme", + "Log" : "Log", + "What to log" : "Was geloggt wird", + "Download logfile" : "Logdatei herunterladen", + "More" : "Mehr", + "Less" : "Weniger", + "The logfile is bigger than 100 MB. Downloading it may take some time!" : "Die Logdatei ist größer als 100 MB. Es kann etwas Zeit beanspruchen, sie herunterzuladen!", + "Security & setup warnings" : "Sicherheits- & Einrichtungswarnungen", "php does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP scheint zur Abfrage von Systemumgebungsvariablen nicht richtig eingerichtet zu sein. Der Test mit getenv (\"PATH\") liefert nur eine leere Antwort zurück.", "Please check the installation documentation ↗ for php configuration notes and the php configuration of your server, especially when using php-fpm." : "Bitte die Installationsdokumentation ↗auf Hinweise zur PHP-Konfiguration durchlesen, sowie die PHP-Konfiguration Ihres Servers überprüfen, insbesondere dann, wenn PHP-FPM eingesetzt wird.", "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Die schreibgeschützte Konfiguration wurde aktiviert. Dies verhindert das Setzen einiger Einstellungen über die Web-Schnittstelle. Weiterhin muss bei jedem Update der Schreibzugriff auf die Datei händisch aktiviert werden.", @@ -162,7 +189,15 @@ "It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "Die Ausführung des Cron-Jobs über die Kommandozeile war nicht möglich. Die folgenden technischen Fehler sind dabei aufgetreten:", "Please double check the installation guides ↗, and check for any errors or warnings in the log." : "Bitte überprüfe noch einmal die Installationsanleitungen ↗ und kontrolliere das Log auf mögliche Fehler oder Warnungen.", "All checks passed." : "Alle Überprüfungen bestanden.", - "Open documentation" : "Dokumentation öffnen", + "Cron" : "Cron", + "Last cron job execution: %s." : "Letzte Cron-Job-Ausführung: %s.", + "Last cron job execution: %s. Something seems wrong." : "Letzte Cron-Job-Ausführung: %s. Möglicherweise liegt ein Fehler vor.", + "Cron was not executed yet!" : "Cron wurde bis jetzt noch nicht ausgeführt!", + "Execute one task with each page loaded" : "Führe eine Aufgabe mit jeder geladenen Seite aus", + "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php ist als Webcron-Dienst registriert, der die cron.php alle 15 Minuten per HTTP aufruft.", + "Use system's cron service to call the cron.php file every 15 minutes." : "Benutze den systemeigenen Cron-Dienst, um die cron.php alle 15 Minuten aufzurufen.", + "Version" : "Version", + "Sharing" : "Teilen", "Allow apps to use the Share API" : "Apps die Benutzung der Share-API erlauben", "Allow users to share via link" : "Benutzern erlauben, Inhalte über Links zu teilen", "Allow public uploads" : "Öffentliches Hochladen erlauben", @@ -179,45 +214,7 @@ "Exclude groups from sharing" : "Gruppen von Freigaben ausschließen", "These groups will still be able to receive shares, but not to initiate them." : "Diese Gruppen können weiterhin Freigaben empfangen, aber selbst keine mehr initiieren.", "Allow username autocompletion in share dialog. If this is disabled the full username needs to be entered." : "Die Auto-Vervollständigung von Benutzernamen im Teilen-Dialog erlauben. Wenn dies deaktiviert ist, muss der vollständige Benutzername eingegeben werden.", - "Last cron job execution: %s." : "Letzte Cron-Job-Ausführung: %s.", - "Last cron job execution: %s. Something seems wrong." : "Letzte Cron-Job-Ausführung: %s. Möglicherweise liegt ein Fehler vor.", - "Cron was not executed yet!" : "Cron wurde bis jetzt noch nicht ausgeführt!", - "Execute one task with each page loaded" : "Führe eine Aufgabe mit jeder geladenen Seite aus", - "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php ist als Webcron-Dienst registriert, der die cron.php alle 15 Minuten per HTTP aufruft.", - "Use system's cron service to call the cron.php file every 15 minutes." : "Benutze den systemeigenen Cron-Dienst, um die cron.php alle 15 Minuten aufzurufen.", - "Enable server-side encryption" : "Serverseitige Verschlüsselung aktivieren", - "Please read carefully before activating server-side encryption: " : "Bitte sorgfältig lesen, bevor die serverseitige Verschlüsselung aktiviert wird:", - "Once encryption is enabled, all files uploaded to the server from that point forward will be encrypted at rest on the server. It will only be possible to disable encryption at a later date if the active encryption module supports that function, and all pre-conditions (e.g. setting a recover key) are met." : "Wird die Verschlüsselung einmal aktiviert, so werden alle ab diesem Zeitpunkt hochgeladene Dateien verschlüsselt. Sie kann nur wieder deaktiviert werden, wenn das Verschlüsselungsmodul dies unterstützt und alle Voraussetzungen (wie das Setzen eines Wiederherstellungsschlüssels) im Vorhinein erfüllt wurden.", - "Encryption alone does not guarantee security of the system. Please see documentation for more information about how the encryption app works, and the supported use cases." : "Verschlüsselung alleine garantiert nicht die Systemsicherheit. Bitte lesen Sie in der Dokumentation nach, wie die Verschlüsselungs-app funktioniert und welche Anwendungsfälle unterstützt werden.", - "Be aware that encryption always increases the file size." : "Sei dir bewusst, dass die Verschlüsselung immer die Dateigröße erhöht.", - "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Es ist immer gut, regelmäßig Sicherungskopien von deinen Daten zu erstellen. Falls du die Verschlüsselung nutzt, sollte auch eine Sicherung der Kodierungsschlüssel zusammen mit deinen Daten durchgeführt werden.", - "This is the final warning: Do you really want to enable encryption?" : "Dies ist die letzte Warnung: Verschlüsselung wirklich aktivieren?", - "Enable encryption" : "Verschlüsselung aktivieren", - "No encryption module loaded, please enable an encryption module in the app menu." : "Es wurde kein Verschlüsselungs-Modul geladen, bitte ein Verschlüsselungs-Modul im Anwendungs-Menü aktivieren.", - "Select default encryption module:" : "Standard-Verschlüsselungs-Modul auswählen:", - "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please enable the \"Default encryption module\" and run 'occ encryption:migrate'" : "Die Kodierungsschlüssel der alten Verschlüsselung müssen zur neuen Version migriert werden (ownCloud <= 8.0). Bitte »Default Encryption Module« aktivieren und »occ encryption:migrate« aufrufen.", - "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Kodierungsschlüssel der alten Verschlüsselung migrieren (ownCloud <= 8.0).", - "Start migration" : "Migration beginnen", - "This is used for sending out notifications." : "Dies wird zum Senden von Benachrichtigungen verwendet.", - "Send mode" : "Sendemodus", - "Encryption" : "Verschlüsselung", - "From address" : "Absenderadresse", - "mail" : "E-Mail", - "Authentication method" : "Authentifizierungsmethode", - "Authentication required" : "Authentifizierung benötigt", - "Server address" : "Serveradresse", - "Port" : "Port", - "Credentials" : "Zugangsdaten", - "SMTP Username" : "SMTP Benutzername", - "SMTP Password" : "SMTP Passwort", - "Store credentials" : "Anmeldeinformationen speichern", - "Test email settings" : "E-Mail-Einstellungen testen", - "Send email" : "E-Mail senden", - "What to log" : "Was geloggt wird", - "Download logfile" : "Logdatei herunterladen", - "More" : "Mehr", - "Less" : "Weniger", - "The logfile is bigger than 100 MB. Downloading it may take some time!" : "Die Logdatei ist größer als 100 MB. Es kann etwas Zeit beanspruchen, sie herunterzuladen!", + "Tips & tricks" : "Tipps & Tricks", "SQLite is used as database. For larger installations we recommend to switch to a different database backend." : "SQLite wird als Datenbank verwendet. Bei größeren Installationen wird empfohlen, auf ein anderes Datenbank-Backend zu wechseln.", "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "Insbesondere bei der Nutzung des Desktop Clients zur Dateisynchronisierung wird vom Einsatz von SQLite abgeraten.", "To migrate to another database use the command line tool: 'occ db:convert-type', or see the documentation ↗." : "Um zu einer anderen Datenbank zu migrieren, benutze bitte die Kommandozeile: 'occ db:convert-type', oder in die Dokumentation ↗ schauen.", @@ -227,7 +224,6 @@ "Improving the config.php" : "Die config.php optimieren", "Theming" : "Themes verwenden", "Hardening and security guidance" : "Systemhärtung und Sicherheitsempfehlungen", - "Version" : "Version", "Developer documentation" : "Dokumentation für Entwickler", "Experimental applications ahead" : "Experimentelle Apps nachfolgend", "Experimental apps are not checked for security issues, new or known to be unstable and under heavy development. Installing them can cause data loss or security breaches." : "Experimentelle Apps sind nicht auf Sicherheitsprobleme hin überprüft, sind neu oder bekanntermaßen instabil und befinden sich in intensiver Entwicklung. Ihre Installation kann Datenverlust oder Sicherheitslücken hervorrufen.", @@ -283,6 +279,11 @@ "Change password" : "Passwort ändern", "Language" : "Sprache", "Help translate" : "Hilf bei der Übersetzung", + "Get the apps to sync your files" : "Lade die Apps zur Synchronisierung Deiner Daten herunter", + "Desktop client" : "Desktop-Client", + "Android app" : "Android-App", + "iOS app" : "iOS-App", + "Show First Run Wizard again" : "Den Einrichtungsassistenten erneut anzeigen", "Web, desktop and mobile clients currently logged in to your account." : "Aktuell in Deinem Konto eingeloggte Web-, Desktop- und Mobil-Clients.", "Device" : "Gerät", "Last activity" : "Letzte Aktivität", @@ -294,13 +295,12 @@ "For security reasons this password will only be shown once." : "Aus Sicherheitsgründen wird das Passwort nur einmal angezeigt.", "Username" : "Benutzername", "Done" : "Erledigt", - "Get the apps to sync your files" : "Lade die Apps zur Synchronisierung Deiner Daten herunter", - "Desktop client" : "Desktop-Client", - "Android app" : "Android-App", - "iOS app" : "iOS-App", - "If you want to support the project\n\t\tjoin development\n\t\tor\n\t\tspread the word!" : "Wenn du das Projekt unterstützen möchtest\n⇥⇥hilf uns bei der Weiterentwicklung\n⇥⇥oder\n⇥⇥empfehle es weiter!", - "Show First Run Wizard again" : "Den Einrichtungsassistenten erneut anzeigen", "Developed by the {communityopen}Nextcloud community{linkclose}, the {githubopen}source code{linkclose} is licensed under the {licenseopen}AGPL{linkclose}." : "Entwickelt von der {communityopen}Nextcloud community{linkclose}, der {githubopen}Quellcode{linkclose} ist lizensiert unter {licenseopen}AGPL{linkclose}-Lizenz.", + "Follow us on Google Plus!" : "Folgen Sie uns zu Google Plus!", + "Like our facebook page!" : "Like uns auf unserer Facebook-Seite!", + "Subscribe to our twitter channel!" : "Abonniere unseren Twitter-Kanal!", + "Subscribe to our news feed!" : "Abonniere unseren RSS-Feed!", + "Subscribe to our newsletter!" : "Abonnieren Sie unseren Newsletter!", "Show storage location" : "Speicherort anzeigen", "Show last log in" : "Letzte Anmeldung anzeigen", "Show user backend" : "Benutzer-Backend anzeigen", @@ -325,6 +325,10 @@ "set new password" : "Neues Passwort setzen", "change email address" : "E-Mail-Adresse ändern", "Default" : "Standard", + "APCu" : "APCu", + "Redis" : "Redis", + "External Storage" : "Externer Speicher", + "Updates" : "Updates", "no group" : "Keine Gruppe", "add group" : "Gruppe hinzufügen", "Your database does not run with \"READ COMMITED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Deine Datenbank läuft nicht mit der \"READ COMMITED\" Transaktionsisolationsstufe. Dies kann Probleme hervorrufen, wenn mehrere Aktionen parallel ausgeführt werden.", @@ -345,7 +349,7 @@ "To migrate to another database use the command line tool: 'occ db:convert-type', or see the documentation ↗." : "Um zu einer anderen Datenbank zu migrieren, benutze bitte die Kommandozeile: 'occ db:convert-type', oder in die Dokumentation ↗ schauen.", "This app has no minimum Nextcloud version assigned. This will be an error in Nextcloud 11 and later." : "Für diese App wurde keine untere Versionsgrenze für Nextcloud gesetzt. Dies wird zukünftig als Fehler behandelt.", "This app has no maximum Nextcloud version assigned. This will be an error in Nextcloud 11 and later." : "Für diese App wurde keine obere Versionsgrenze für Nextcloud gesetzt. Dies wird zukünftig als Fehler behandelt.", - "If you want to support the project\n\t\tjoin development\n\t\tor\n\t\thelp other users!" : "Wenn du das Projekt unterstützen möchtest\n⇥⇥hilf uns bei der Weiterentwicklung\n⇥⇥oder\n⇥⇥empfehle es weiter!", + "If you want to support the project\n\t\tjoin development\n\t\tor\n\t\thelp other users!" : "Wenn du das Projekt unterstützen möchtest\n⇥⇥hilf uns bei der Weiterentwicklung\n⇥⇥oder\n⇥⇥hilf anderen Nutzern!", "Developed by the {communityopen}Nextcloud community{linkclose}, the {githubopen}source code{linkclose} is licensed under the {licenseopen}AGPL{linkclose}." : "Entwickelt von der {communityopen}Nextcloud Community{linkclose}. Der {githubopen}Quellcode{linkclose} ist unter {licenseopen}AGPL{linkclose} verfügbar." },"pluralForm" :"nplurals=2; plural=(n != 1);" } \ No newline at end of file diff --git a/settings/l10n/de_DE.js b/settings/l10n/de_DE.js index 8e43b5ae39536..304805aba6dc3 100644 --- a/settings/l10n/de_DE.js +++ b/settings/l10n/de_DE.js @@ -35,17 +35,6 @@ OC.L10N.register( "Email saved" : "E-Mail-Adresse gespeichert", "Your full name has been changed." : "Ihr vollständiger Name ist geändert worden.", "Unable to change full name" : "Der vollständige Name konnte nicht geändert werden", - "APCu" : "APCu", - "Redis" : "Redis", - "Security & setup warnings" : "Sicherheits- & Einrichtungswarnungen", - "Sharing" : "Teilen", - "Server-side encryption" : "Serverseitige Verschlüsselung", - "External Storage" : "Externer Speicher", - "Cron" : "Cron", - "Email server" : "E-Mail-Server", - "Log" : "Log", - "Tips & tricks" : "Tipps & Tricks", - "Updates" : "Updates", "Couldn't remove app." : "Die App konnte nicht entfernt werden.", "Language changed" : "Sprache geändert", "Invalid request" : "Ungültige Anforderung", @@ -137,17 +126,55 @@ OC.L10N.register( "Sessions" : "Sitzungen", "App passwords" : "App-Passwörter", "Sync clients" : "Sync-Clients", - "Everything (fatal issues, errors, warnings, info, debug)" : "Alles (fatale Probleme, Fehler, Warnungen, Infos, Fehlerdiagnose)", - "Info, warnings, errors and fatal issues" : "Infos, Warnungen, Fehler und fatale Probleme", - "Warnings, errors and fatal issues" : "Warnungen, Fehler und fatale Probleme", - "Errors and fatal issues" : "Fehler und fatale Probleme", - "Fatal issues only" : "Nur kritische Fehler", "None" : "Keine", "Login" : "Anmelden", "Plain" : "Plain", "NT LAN Manager" : "NT LAN Manager", "SSL" : "SSL", "TLS" : "TLS", + "Email server" : "E-Mail-Server", + "Open documentation" : "Dokumentation öffnen", + "This is used for sending out notifications." : "Dies wird für das Senden von Benachrichtigungen verwendet.", + "Send mode" : "Sendemodus", + "Encryption" : "Verschlüsselung", + "From address" : "Absenderadresse", + "mail" : "Mail", + "Authentication method" : "Authentifizierungsmethode", + "Authentication required" : "Authentifizierung benötigt", + "Server address" : "Serveradresse", + "Port" : "Port", + "Credentials" : "Zugangsdaten", + "SMTP Username" : "SMTP-Benutzername", + "SMTP Password" : "SMTP-Passwort", + "Store credentials" : "Anmeldeinformationen speichern", + "Test email settings" : "E-Mail-Einstellungen testen", + "Send email" : "E-Mail senden", + "Server-side encryption" : "Serverseitige Verschlüsselung", + "Enable server-side encryption" : "Serverseitige Verschlüsselung aktivieren", + "Please read carefully before activating server-side encryption: " : "Bitte lesen Sie ganz genau, bevor Sie die serverseitige Verschlüsselung aktivieren:", + "Once encryption is enabled, all files uploaded to the server from that point forward will be encrypted at rest on the server. It will only be possible to disable encryption at a later date if the active encryption module supports that function, and all pre-conditions (e.g. setting a recover key) are met." : "Wird die Verschlüsselung einmal aktiviert, so werden alle ab diesem Zeitpunkt hochgeladene Dateien verschlüsselt. Sie kann nur wieder deaktiviert werden, wenn das Verschlüsselungsmodul dies unterstützt und alle Voraussetzungen (wie das Setzen eines Wiederherstellungsschlüssels) im Vorhinein erfüllt wurden.", + "Encryption alone does not guarantee security of the system. Please see documentation for more information about how the encryption app works, and the supported use cases." : "Verschlüsselung alleine garantiert nicht die Systemsicherheit. Bitte lese in der Dokumentation nach, wie die Verschlüsselungs-app funktioniert und welche Anwendungsfälle unterstützt werden.", + "Be aware that encryption always increases the file size." : "Bedenken Sie, dass durch die Verschlüsselung die Dateigröße zunimmt. ", + "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Es ist immer gut, regelmäßig Sicherungskopien von ihren Daten zu machen. Falls Sie die Verschlüsselung nutzen, sollten Sie auch eine Sicherung der Verschlüsselungsschlüssel zusammen mit ihren Daten machen.", + "This is the final warning: Do you really want to enable encryption?" : "Dies ist die letzte Warnung: Wollen Sie die Verschlüsselung wirklich aktivieren?", + "Enable encryption" : "Verschlüsselung aktivieren", + "No encryption module loaded, please enable an encryption module in the app menu." : "Kein Verschlüsselungs-Modul geladen, bitte aktiviere ein Verschlüsselungs-Modul im Anwendungs-Menü.", + "Select default encryption module:" : "Standard-Verschlüsselungs-Modul auswählen:", + "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please enable the \"Default encryption module\" and run 'occ encryption:migrate'" : "Sie müssen Ihre Verschlüsselungsschlüssel von der alten Verschlüsselung (ownCloud <= 8.0) zur Neuen migrieren. Bitte aktivieren Sie das \"Default Encryption Module\" und rufen Sie 'occ encryption:migrate' auf.", + "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Sie müssen Ihre Verschlüsselungsschlüssel von der alten Verschlüsselung (ownCloud <= 8.0) zur Neuen migrieren.", + "Start migration" : "Migration beginnen", + "Everything (fatal issues, errors, warnings, info, debug)" : "Alles (fatale Probleme, Fehler, Warnungen, Infos, Fehlerdiagnose)", + "Info, warnings, errors and fatal issues" : "Infos, Warnungen, Fehler und fatale Probleme", + "Warnings, errors and fatal issues" : "Warnungen, Fehler und fatale Probleme", + "Errors and fatal issues" : "Fehler und fatale Probleme", + "Fatal issues only" : "Nur kritische Fehler", + "Log" : "Log", + "What to log" : "Was geloggt wird", + "Download logfile" : "Logdatei herunterladen", + "More" : "Mehr", + "Less" : "Weniger", + "The logfile is bigger than 100 MB. Downloading it may take some time!" : "Die Logdatei ist größer als 100 MB. Es kann etwas Zeit beanspruchen, sie herunterzuladen!", + "Security & setup warnings" : "Sicherheits- & Einrichtungswarnungen", "php does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP scheint zur Abfrage von Systemumgebungsvariablen nicht richtig eingerichtet zu sein. Der Test mit getenv (\"PATH\") liefert nur eine leere Antwort zurück.", "Please check the installation documentation ↗ for php configuration notes and the php configuration of your server, especially when using php-fpm." : "Bitte schauen Sie in der Installationsdokumentation ↗auf Hinweise zur PHP-Konfiguration, sowie die PHP-Konfiguration ihres Servers, insbesondere dann, wenn Sie PHP-FPM einsetzten.", "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Die schreibgeschützte Konfiguration wurde aktiviert. Dies verhindert das Setzen einiger Einstellungen über die Web-Schnittstelle. Weiterhin muss bei jedem Update der Schreibzugriff auf die Datei händisch aktiviert werden.", @@ -164,7 +191,15 @@ OC.L10N.register( "It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "Die Ausführung des Cron-Jobs über die Kommandozeile war nicht möglich. Die folgenden technischen Fehler sind dabei aufgetreten:", "Please double check the installation guides ↗, and check for any errors or warnings in the log." : "Bitte überprüfen Sie noch einmal die Installationsanleitungen ↗ und kontrollieren Sie das Log auf mögliche Fehler oder Warnungen.", "All checks passed." : "Alle Checks bestanden.", - "Open documentation" : "Dokumentation öffnen", + "Cron" : "Cron", + "Last cron job execution: %s." : "Letzte Cron-Job-Ausführung: %s.", + "Last cron job execution: %s. Something seems wrong." : "Letzte Cron-Job-Ausführung: %s. Möglicherweise liegt ein Fehler vor.", + "Cron was not executed yet!" : "Cron wurde bis jetzt noch nicht ausgeführt!", + "Execute one task with each page loaded" : "Eine Aufgabe bei jedem Laden der Seite ausführen", + "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php ist als Webcron-Dienst registriert, der die cron.php alle 15 Minuten per HTTP aufruft.", + "Use system's cron service to call the cron.php file every 15 minutes." : "Benutzen Sie den systemeigenen Cron-Dienst, um die cron.php alle 15 Minuten aufzurufen.", + "Version" : "Version", + "Sharing" : "Teilen", "Allow apps to use the Share API" : "Apps die Benutzung der Share-API erlauben", "Allow users to share via link" : "Benutzern erlauben, Inhalte über Links zu teilen", "Allow public uploads" : "Öffentliches Hochladen erlauben", @@ -181,45 +216,7 @@ OC.L10N.register( "Exclude groups from sharing" : "Gruppen von Freigaben ausschließen", "These groups will still be able to receive shares, but not to initiate them." : "Diese Gruppen können weiterhin Freigaben empfangen, aber selbst keine mehr initiieren.", "Allow username autocompletion in share dialog. If this is disabled the full username needs to be entered." : "Die Auto-Vervollständigung von Benutzernamen im Teilen-Dialog erlauben. Wenn dies deaktiviert ist, muss der vollständige Benutzername eingegeben werden.", - "Last cron job execution: %s." : "Letzte Cron-Job-Ausführung: %s.", - "Last cron job execution: %s. Something seems wrong." : "Letzte Cron-Job-Ausführung: %s. Möglicherweise liegt ein Fehler vor.", - "Cron was not executed yet!" : "Cron wurde bis jetzt noch nicht ausgeführt!", - "Execute one task with each page loaded" : "Eine Aufgabe bei jedem Laden der Seite ausführen", - "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php ist als Webcron-Dienst registriert, der die cron.php alle 15 Minuten per HTTP aufruft.", - "Use system's cron service to call the cron.php file every 15 minutes." : "Benutzen Sie den systemeigenen Cron-Dienst, um die cron.php alle 15 Minuten aufzurufen.", - "Enable server-side encryption" : "Serverseitige Verschlüsselung aktivieren", - "Please read carefully before activating server-side encryption: " : "Bitte lesen Sie ganz genau, bevor Sie die serverseitige Verschlüsselung aktivieren:", - "Once encryption is enabled, all files uploaded to the server from that point forward will be encrypted at rest on the server. It will only be possible to disable encryption at a later date if the active encryption module supports that function, and all pre-conditions (e.g. setting a recover key) are met." : "Wird die Verschlüsselung einmal aktiviert, so werden alle ab diesem Zeitpunkt hochgeladene Dateien verschlüsselt. Sie kann nur wieder deaktiviert werden, wenn das Verschlüsselungsmodul dies unterstützt und alle Voraussetzungen (wie das Setzen eines Wiederherstellungsschlüssels) im Vorhinein erfüllt wurden.", - "Encryption alone does not guarantee security of the system. Please see documentation for more information about how the encryption app works, and the supported use cases." : "Verschlüsselung alleine garantiert nicht die Systemsicherheit. Bitte lese in der Dokumentation nach, wie die Verschlüsselungs-app funktioniert und welche Anwendungsfälle unterstützt werden.", - "Be aware that encryption always increases the file size." : "Bedenke das durch die Verschlüsselung die Dateigröße zunimmt. ", - "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Es ist immer gut, regelmäßig Sicherungskopien von ihren Daten zu machen. Falls Sie die Verschlüsselung nutzen, sollten Sie auch eine Sicherung der Verschlüsselungsschlüssel zusammen mit ihren Daten machen.", - "This is the final warning: Do you really want to enable encryption?" : "Dies ist die letzte Warnung: Wollen Sie die Verschlüsselung wirklich aktivieren?", - "Enable encryption" : "Verschlüsselung aktivieren", - "No encryption module loaded, please enable an encryption module in the app menu." : "Kein Verschlüsselungs-Modul geladen, bitte aktiviere ein Verschlüsselungs-Modul im Anwendungs-Menü.", - "Select default encryption module:" : "Standard-Verschlüsselungs-Modul auswählen:", - "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please enable the \"Default encryption module\" and run 'occ encryption:migrate'" : "Sie müssen Ihre Verschlüsselungsschlüssel von der alten Verschlüsselung (ownCloud <= 8.0) zur Neuen migrieren. Bitte aktivieren Sie das \"Default Encryption Module\" und rufen Sie 'occ encryption:migrate' auf.", - "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Sie müssen Ihre Verschlüsselungsschlüssel von der alten Verschlüsselung (ownCloud <= 8.0) zur Neuen migrieren.", - "Start migration" : "Migration beginnen", - "This is used for sending out notifications." : "Dies wird für das Senden von Benachrichtigungen verwendet.", - "Send mode" : "Sendemodus", - "Encryption" : "Verschlüsselung", - "From address" : "Absenderadresse", - "mail" : "Mail", - "Authentication method" : "Authentifizierungsmethode", - "Authentication required" : "Authentifizierung benötigt", - "Server address" : "Serveradresse", - "Port" : "Port", - "Credentials" : "Zugangsdaten", - "SMTP Username" : "SMTP-Benutzername", - "SMTP Password" : "SMTP-Passwort", - "Store credentials" : "Anmeldeinformationen speichern", - "Test email settings" : "E-Mail-Einstellungen testen", - "Send email" : "E-Mail senden", - "What to log" : "Was geloggt wird", - "Download logfile" : "Logdatei herunterladen", - "More" : "Mehr", - "Less" : "Weniger", - "The logfile is bigger than 100 MB. Downloading it may take some time!" : "Die Logdatei ist größer als 100 MB. Es kann etwas Zeit beanspruchen, sie herunterzuladen!", + "Tips & tricks" : "Tipps & Tricks", "SQLite is used as database. For larger installations we recommend to switch to a different database backend." : "SQLite wird als Datenbank verwendet. Bei größeren Installationen wird empfohlen, auf ein anderes Datenbank-Backend zu wechseln.", "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "Insbesondere bei der Nutzung des Desktop Clients zur Dateisynchronisierung wird vom Einsatz von SQLite abgeraten.", "To migrate to another database use the command line tool: 'occ db:convert-type', or see the documentation ↗." : "Um zu einer anderen Datenbank zu migrieren, benutzen Sie bitte die Kommandozeile: 'occ db:convert-type', oder in die Dokumentation ↗ schauen.", @@ -229,7 +226,6 @@ OC.L10N.register( "Improving the config.php" : "Die config.php optimieren", "Theming" : "Themes verwenden", "Hardening and security guidance" : "Systemhärtung und Sicherheitsempfehlungen", - "Version" : "Version", "Developer documentation" : "Dokumentation für Entwickler", "Experimental applications ahead" : "Experimentelle Apps nachfolgend", "Experimental apps are not checked for security issues, new or known to be unstable and under heavy development. Installing them can cause data loss or security breaches." : "Experimentelle Apps sind nicht auf Sicherheitsprobleme hin überprüft, sind neu oder bekanntermaßen instabil und befinden sich in intensiver Entwicklung. Ihre Installation kann Datenverlust oder Sicherheitslücken hervorrufen.", @@ -285,6 +281,11 @@ OC.L10N.register( "Change password" : "Passwort ändern", "Language" : "Sprache", "Help translate" : "Helfen Sie bei der Übersetzung", + "Get the apps to sync your files" : "Installieren Sie die Anwendungen, um Ihre Dateien zu synchronisieren", + "Desktop client" : "Desktop-Client", + "Android app" : "Android-App", + "iOS app" : "iOS-App", + "Show First Run Wizard again" : "Den Einrichtungsassistenten erneut anzeigen", "Web, desktop and mobile clients currently logged in to your account." : "Aktuell in Ihrem Konto eingeloggte Web-, Desktop- und Mobil-Clients.", "Device" : "Gerät", "Last activity" : "Letzte Aktivität", @@ -296,13 +297,12 @@ OC.L10N.register( "For security reasons this password will only be shown once." : "Aus Sicherheitsgründen wird das Passwort nur einmal angezeigt.", "Username" : "Benutzername", "Done" : "Erledigt", - "Get the apps to sync your files" : "Installieren Sie die Anwendungen, um Ihre Dateien zu synchronisieren", - "Desktop client" : "Desktop-Client", - "Android app" : "Android-App", - "iOS app" : "iOS-App", - "If you want to support the project\n\t\tjoin development\n\t\tor\n\t\tspread the word!" : "Wenn Sie das Projekt unterstützen möchten\n⇥⇥helfen Sie bei der Weiterentwicklung\n⇥⇥oder\n⇥⇥empfehlen Sie es weiter!", - "Show First Run Wizard again" : "Den Einrichtungsassistenten erneut anzeigen", "Developed by the {communityopen}Nextcloud community{linkclose}, the {githubopen}source code{linkclose} is licensed under the {licenseopen}AGPL{linkclose}." : "Entwickelt von der {communityopen}Nextcloud community{linkclose}, der {githubopen}Quellcode{linkclose} ist lizensiert unter {licenseopen}AGPL{linkclose}-Lizenz.", + "Follow us on Google Plus!" : "Folgen Sie uns zu Google Plus!", + "Like our facebook page!" : "Liken Sie uns auf unserer Facebook-Seite!", + "Subscribe to our twitter channel!" : "Abonnieren Sie unseren Twitter-Kanal!", + "Subscribe to our news feed!" : "Abonnieren Sie unseren RSS-Feed!", + "Subscribe to our newsletter!" : "Abonnieren Sie unseren Newsletter!", "Show storage location" : "Speicherort anzeigen", "Show last log in" : "Letzte Anmeldung anzeigen", "Show user backend" : "Benutzer-Backend anzeigen", @@ -327,6 +327,10 @@ OC.L10N.register( "set new password" : "Neues Passwort setzen", "change email address" : "E-Mail-Adresse ändern", "Default" : "Standard", + "APCu" : "APCu", + "Redis" : "Redis", + "External Storage" : "Externer Speicher", + "Updates" : "Updates", "no group" : "Keine Gruppe", "add group" : "Gruppe hinzufügen", "Your database does not run with \"READ COMMITED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "ihre Datenbank läuft nicht mit der \"READ COMMITED\" Transaktionsisolationsstufe. Dies kann Probleme hervorrufen, wenn mehrere Aktionen parallel ausgeführt werden.", @@ -337,7 +341,7 @@ OC.L10N.register( "Storage Location" : "Speicherort", "User Backend" : "Benutzer-Backend", "Last Login" : "Letzte Anmeldung", - "Official apps are developed by and within the Nextcloud community. They offer functionality central to Nextcloud and are ready for production use." : "Offizielle Apps werden von und innerhalb der Community entwickelt. Sie stellen die zentralen Funktionen bereit und sind für den produktiven Einsatz geeignet.", + "Official apps are developed by and within the Nextcloud community. They offer functionality central to Nextcloud and are ready for production use." : "Offizielle Apps werden von und innerhalb der Nextcloud-Community entwickelt. Sie stellen die zentralen Funktionen bereit und sind für den produktiven Einsatz geeignet.", "No apps found for \"{query}\"" : "Keine Applikationen für \"{query}\" gefunden", "Please check the installation documentation ↗ for php configuration notes and the php configuration of your server, especially when using php-fpm." : "Bitte schauen Sie in der Installationsdokumentation ↗auf Hinweise zur PHP-Konfiguration, sowie die PHP-Konfiguration ihres Servers, insbesondere dann, wenn Sie PHP-FPM einsetzen.", "Your server is running on Microsoft Windows. We highly recommend Linux for optimal user experience." : "Ihr Server wird mit Microsoft Windows betrieben. Für ein optimales Nutzungserlebnis empfehlen wir dringend Linux.", @@ -347,6 +351,7 @@ OC.L10N.register( "To migrate to another database use the command line tool: 'occ db:convert-type', or see the documentation ↗." : "Um zu einer anderen Datenbank zu migrieren, benutzen Sie bitte die Kommandozeile: 'occ db:convert-type', oder in die Dokumentation ↗ schauen.", "This app has no minimum Nextcloud version assigned. This will be an error in Nextcloud 11 and later." : "Für diese App wurde keine untere Versionsgrenze für Nextcloud gesetzt. Dies wird ab Nextcloud 11 als Fehler behandelt.", "This app has no maximum Nextcloud version assigned. This will be an error in Nextcloud 11 and later." : "Für diese App wurde keine obere Versionsgrenze für Nextcloud gesetzt. Dies wird ab Nextcloud 11 als Fehler behandelt.", + "If you want to support the project\n\t\tjoin development\n\t\tor\n\t\thelp other users!" : "Wenn Sie das Projekt unterstützen möchten\n⇥⇥helfen Sie uns bei der Weiterentwicklung\n⇥⇥oder\n⇥⇥helfen Sie anderen Nutzern!", "Developed by the {communityopen}Nextcloud community{linkclose}, the {githubopen}source code{linkclose} is licensed under the {licenseopen}AGPL{linkclose}." : "Entwickelt von der {communityopen}Nextcloud Community{linkclose}. Der {githubopen}Quellcode{linkclose} ist unter {licenseopen}AGPL{linkclose} verfügbar." }, "nplurals=2; plural=(n != 1);"); diff --git a/settings/l10n/de_DE.json b/settings/l10n/de_DE.json index f47d64ba9d508..f7c8fa4f26b0c 100644 --- a/settings/l10n/de_DE.json +++ b/settings/l10n/de_DE.json @@ -33,17 +33,6 @@ "Email saved" : "E-Mail-Adresse gespeichert", "Your full name has been changed." : "Ihr vollständiger Name ist geändert worden.", "Unable to change full name" : "Der vollständige Name konnte nicht geändert werden", - "APCu" : "APCu", - "Redis" : "Redis", - "Security & setup warnings" : "Sicherheits- & Einrichtungswarnungen", - "Sharing" : "Teilen", - "Server-side encryption" : "Serverseitige Verschlüsselung", - "External Storage" : "Externer Speicher", - "Cron" : "Cron", - "Email server" : "E-Mail-Server", - "Log" : "Log", - "Tips & tricks" : "Tipps & Tricks", - "Updates" : "Updates", "Couldn't remove app." : "Die App konnte nicht entfernt werden.", "Language changed" : "Sprache geändert", "Invalid request" : "Ungültige Anforderung", @@ -135,17 +124,55 @@ "Sessions" : "Sitzungen", "App passwords" : "App-Passwörter", "Sync clients" : "Sync-Clients", - "Everything (fatal issues, errors, warnings, info, debug)" : "Alles (fatale Probleme, Fehler, Warnungen, Infos, Fehlerdiagnose)", - "Info, warnings, errors and fatal issues" : "Infos, Warnungen, Fehler und fatale Probleme", - "Warnings, errors and fatal issues" : "Warnungen, Fehler und fatale Probleme", - "Errors and fatal issues" : "Fehler und fatale Probleme", - "Fatal issues only" : "Nur kritische Fehler", "None" : "Keine", "Login" : "Anmelden", "Plain" : "Plain", "NT LAN Manager" : "NT LAN Manager", "SSL" : "SSL", "TLS" : "TLS", + "Email server" : "E-Mail-Server", + "Open documentation" : "Dokumentation öffnen", + "This is used for sending out notifications." : "Dies wird für das Senden von Benachrichtigungen verwendet.", + "Send mode" : "Sendemodus", + "Encryption" : "Verschlüsselung", + "From address" : "Absenderadresse", + "mail" : "Mail", + "Authentication method" : "Authentifizierungsmethode", + "Authentication required" : "Authentifizierung benötigt", + "Server address" : "Serveradresse", + "Port" : "Port", + "Credentials" : "Zugangsdaten", + "SMTP Username" : "SMTP-Benutzername", + "SMTP Password" : "SMTP-Passwort", + "Store credentials" : "Anmeldeinformationen speichern", + "Test email settings" : "E-Mail-Einstellungen testen", + "Send email" : "E-Mail senden", + "Server-side encryption" : "Serverseitige Verschlüsselung", + "Enable server-side encryption" : "Serverseitige Verschlüsselung aktivieren", + "Please read carefully before activating server-side encryption: " : "Bitte lesen Sie ganz genau, bevor Sie die serverseitige Verschlüsselung aktivieren:", + "Once encryption is enabled, all files uploaded to the server from that point forward will be encrypted at rest on the server. It will only be possible to disable encryption at a later date if the active encryption module supports that function, and all pre-conditions (e.g. setting a recover key) are met." : "Wird die Verschlüsselung einmal aktiviert, so werden alle ab diesem Zeitpunkt hochgeladene Dateien verschlüsselt. Sie kann nur wieder deaktiviert werden, wenn das Verschlüsselungsmodul dies unterstützt und alle Voraussetzungen (wie das Setzen eines Wiederherstellungsschlüssels) im Vorhinein erfüllt wurden.", + "Encryption alone does not guarantee security of the system. Please see documentation for more information about how the encryption app works, and the supported use cases." : "Verschlüsselung alleine garantiert nicht die Systemsicherheit. Bitte lese in der Dokumentation nach, wie die Verschlüsselungs-app funktioniert und welche Anwendungsfälle unterstützt werden.", + "Be aware that encryption always increases the file size." : "Bedenken Sie, dass durch die Verschlüsselung die Dateigröße zunimmt. ", + "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Es ist immer gut, regelmäßig Sicherungskopien von ihren Daten zu machen. Falls Sie die Verschlüsselung nutzen, sollten Sie auch eine Sicherung der Verschlüsselungsschlüssel zusammen mit ihren Daten machen.", + "This is the final warning: Do you really want to enable encryption?" : "Dies ist die letzte Warnung: Wollen Sie die Verschlüsselung wirklich aktivieren?", + "Enable encryption" : "Verschlüsselung aktivieren", + "No encryption module loaded, please enable an encryption module in the app menu." : "Kein Verschlüsselungs-Modul geladen, bitte aktiviere ein Verschlüsselungs-Modul im Anwendungs-Menü.", + "Select default encryption module:" : "Standard-Verschlüsselungs-Modul auswählen:", + "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please enable the \"Default encryption module\" and run 'occ encryption:migrate'" : "Sie müssen Ihre Verschlüsselungsschlüssel von der alten Verschlüsselung (ownCloud <= 8.0) zur Neuen migrieren. Bitte aktivieren Sie das \"Default Encryption Module\" und rufen Sie 'occ encryption:migrate' auf.", + "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Sie müssen Ihre Verschlüsselungsschlüssel von der alten Verschlüsselung (ownCloud <= 8.0) zur Neuen migrieren.", + "Start migration" : "Migration beginnen", + "Everything (fatal issues, errors, warnings, info, debug)" : "Alles (fatale Probleme, Fehler, Warnungen, Infos, Fehlerdiagnose)", + "Info, warnings, errors and fatal issues" : "Infos, Warnungen, Fehler und fatale Probleme", + "Warnings, errors and fatal issues" : "Warnungen, Fehler und fatale Probleme", + "Errors and fatal issues" : "Fehler und fatale Probleme", + "Fatal issues only" : "Nur kritische Fehler", + "Log" : "Log", + "What to log" : "Was geloggt wird", + "Download logfile" : "Logdatei herunterladen", + "More" : "Mehr", + "Less" : "Weniger", + "The logfile is bigger than 100 MB. Downloading it may take some time!" : "Die Logdatei ist größer als 100 MB. Es kann etwas Zeit beanspruchen, sie herunterzuladen!", + "Security & setup warnings" : "Sicherheits- & Einrichtungswarnungen", "php does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP scheint zur Abfrage von Systemumgebungsvariablen nicht richtig eingerichtet zu sein. Der Test mit getenv (\"PATH\") liefert nur eine leere Antwort zurück.", "Please check the installation documentation ↗ for php configuration notes and the php configuration of your server, especially when using php-fpm." : "Bitte schauen Sie in der Installationsdokumentation ↗auf Hinweise zur PHP-Konfiguration, sowie die PHP-Konfiguration ihres Servers, insbesondere dann, wenn Sie PHP-FPM einsetzten.", "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Die schreibgeschützte Konfiguration wurde aktiviert. Dies verhindert das Setzen einiger Einstellungen über die Web-Schnittstelle. Weiterhin muss bei jedem Update der Schreibzugriff auf die Datei händisch aktiviert werden.", @@ -162,7 +189,15 @@ "It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "Die Ausführung des Cron-Jobs über die Kommandozeile war nicht möglich. Die folgenden technischen Fehler sind dabei aufgetreten:", "Please double check the installation guides ↗, and check for any errors or warnings in the log." : "Bitte überprüfen Sie noch einmal die Installationsanleitungen ↗ und kontrollieren Sie das Log auf mögliche Fehler oder Warnungen.", "All checks passed." : "Alle Checks bestanden.", - "Open documentation" : "Dokumentation öffnen", + "Cron" : "Cron", + "Last cron job execution: %s." : "Letzte Cron-Job-Ausführung: %s.", + "Last cron job execution: %s. Something seems wrong." : "Letzte Cron-Job-Ausführung: %s. Möglicherweise liegt ein Fehler vor.", + "Cron was not executed yet!" : "Cron wurde bis jetzt noch nicht ausgeführt!", + "Execute one task with each page loaded" : "Eine Aufgabe bei jedem Laden der Seite ausführen", + "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php ist als Webcron-Dienst registriert, der die cron.php alle 15 Minuten per HTTP aufruft.", + "Use system's cron service to call the cron.php file every 15 minutes." : "Benutzen Sie den systemeigenen Cron-Dienst, um die cron.php alle 15 Minuten aufzurufen.", + "Version" : "Version", + "Sharing" : "Teilen", "Allow apps to use the Share API" : "Apps die Benutzung der Share-API erlauben", "Allow users to share via link" : "Benutzern erlauben, Inhalte über Links zu teilen", "Allow public uploads" : "Öffentliches Hochladen erlauben", @@ -179,45 +214,7 @@ "Exclude groups from sharing" : "Gruppen von Freigaben ausschließen", "These groups will still be able to receive shares, but not to initiate them." : "Diese Gruppen können weiterhin Freigaben empfangen, aber selbst keine mehr initiieren.", "Allow username autocompletion in share dialog. If this is disabled the full username needs to be entered." : "Die Auto-Vervollständigung von Benutzernamen im Teilen-Dialog erlauben. Wenn dies deaktiviert ist, muss der vollständige Benutzername eingegeben werden.", - "Last cron job execution: %s." : "Letzte Cron-Job-Ausführung: %s.", - "Last cron job execution: %s. Something seems wrong." : "Letzte Cron-Job-Ausführung: %s. Möglicherweise liegt ein Fehler vor.", - "Cron was not executed yet!" : "Cron wurde bis jetzt noch nicht ausgeführt!", - "Execute one task with each page loaded" : "Eine Aufgabe bei jedem Laden der Seite ausführen", - "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php ist als Webcron-Dienst registriert, der die cron.php alle 15 Minuten per HTTP aufruft.", - "Use system's cron service to call the cron.php file every 15 minutes." : "Benutzen Sie den systemeigenen Cron-Dienst, um die cron.php alle 15 Minuten aufzurufen.", - "Enable server-side encryption" : "Serverseitige Verschlüsselung aktivieren", - "Please read carefully before activating server-side encryption: " : "Bitte lesen Sie ganz genau, bevor Sie die serverseitige Verschlüsselung aktivieren:", - "Once encryption is enabled, all files uploaded to the server from that point forward will be encrypted at rest on the server. It will only be possible to disable encryption at a later date if the active encryption module supports that function, and all pre-conditions (e.g. setting a recover key) are met." : "Wird die Verschlüsselung einmal aktiviert, so werden alle ab diesem Zeitpunkt hochgeladene Dateien verschlüsselt. Sie kann nur wieder deaktiviert werden, wenn das Verschlüsselungsmodul dies unterstützt und alle Voraussetzungen (wie das Setzen eines Wiederherstellungsschlüssels) im Vorhinein erfüllt wurden.", - "Encryption alone does not guarantee security of the system. Please see documentation for more information about how the encryption app works, and the supported use cases." : "Verschlüsselung alleine garantiert nicht die Systemsicherheit. Bitte lese in der Dokumentation nach, wie die Verschlüsselungs-app funktioniert und welche Anwendungsfälle unterstützt werden.", - "Be aware that encryption always increases the file size." : "Bedenke das durch die Verschlüsselung die Dateigröße zunimmt. ", - "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Es ist immer gut, regelmäßig Sicherungskopien von ihren Daten zu machen. Falls Sie die Verschlüsselung nutzen, sollten Sie auch eine Sicherung der Verschlüsselungsschlüssel zusammen mit ihren Daten machen.", - "This is the final warning: Do you really want to enable encryption?" : "Dies ist die letzte Warnung: Wollen Sie die Verschlüsselung wirklich aktivieren?", - "Enable encryption" : "Verschlüsselung aktivieren", - "No encryption module loaded, please enable an encryption module in the app menu." : "Kein Verschlüsselungs-Modul geladen, bitte aktiviere ein Verschlüsselungs-Modul im Anwendungs-Menü.", - "Select default encryption module:" : "Standard-Verschlüsselungs-Modul auswählen:", - "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please enable the \"Default encryption module\" and run 'occ encryption:migrate'" : "Sie müssen Ihre Verschlüsselungsschlüssel von der alten Verschlüsselung (ownCloud <= 8.0) zur Neuen migrieren. Bitte aktivieren Sie das \"Default Encryption Module\" und rufen Sie 'occ encryption:migrate' auf.", - "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Sie müssen Ihre Verschlüsselungsschlüssel von der alten Verschlüsselung (ownCloud <= 8.0) zur Neuen migrieren.", - "Start migration" : "Migration beginnen", - "This is used for sending out notifications." : "Dies wird für das Senden von Benachrichtigungen verwendet.", - "Send mode" : "Sendemodus", - "Encryption" : "Verschlüsselung", - "From address" : "Absenderadresse", - "mail" : "Mail", - "Authentication method" : "Authentifizierungsmethode", - "Authentication required" : "Authentifizierung benötigt", - "Server address" : "Serveradresse", - "Port" : "Port", - "Credentials" : "Zugangsdaten", - "SMTP Username" : "SMTP-Benutzername", - "SMTP Password" : "SMTP-Passwort", - "Store credentials" : "Anmeldeinformationen speichern", - "Test email settings" : "E-Mail-Einstellungen testen", - "Send email" : "E-Mail senden", - "What to log" : "Was geloggt wird", - "Download logfile" : "Logdatei herunterladen", - "More" : "Mehr", - "Less" : "Weniger", - "The logfile is bigger than 100 MB. Downloading it may take some time!" : "Die Logdatei ist größer als 100 MB. Es kann etwas Zeit beanspruchen, sie herunterzuladen!", + "Tips & tricks" : "Tipps & Tricks", "SQLite is used as database. For larger installations we recommend to switch to a different database backend." : "SQLite wird als Datenbank verwendet. Bei größeren Installationen wird empfohlen, auf ein anderes Datenbank-Backend zu wechseln.", "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "Insbesondere bei der Nutzung des Desktop Clients zur Dateisynchronisierung wird vom Einsatz von SQLite abgeraten.", "To migrate to another database use the command line tool: 'occ db:convert-type', or see the documentation ↗." : "Um zu einer anderen Datenbank zu migrieren, benutzen Sie bitte die Kommandozeile: 'occ db:convert-type', oder in die Dokumentation ↗ schauen.", @@ -227,7 +224,6 @@ "Improving the config.php" : "Die config.php optimieren", "Theming" : "Themes verwenden", "Hardening and security guidance" : "Systemhärtung und Sicherheitsempfehlungen", - "Version" : "Version", "Developer documentation" : "Dokumentation für Entwickler", "Experimental applications ahead" : "Experimentelle Apps nachfolgend", "Experimental apps are not checked for security issues, new or known to be unstable and under heavy development. Installing them can cause data loss or security breaches." : "Experimentelle Apps sind nicht auf Sicherheitsprobleme hin überprüft, sind neu oder bekanntermaßen instabil und befinden sich in intensiver Entwicklung. Ihre Installation kann Datenverlust oder Sicherheitslücken hervorrufen.", @@ -283,6 +279,11 @@ "Change password" : "Passwort ändern", "Language" : "Sprache", "Help translate" : "Helfen Sie bei der Übersetzung", + "Get the apps to sync your files" : "Installieren Sie die Anwendungen, um Ihre Dateien zu synchronisieren", + "Desktop client" : "Desktop-Client", + "Android app" : "Android-App", + "iOS app" : "iOS-App", + "Show First Run Wizard again" : "Den Einrichtungsassistenten erneut anzeigen", "Web, desktop and mobile clients currently logged in to your account." : "Aktuell in Ihrem Konto eingeloggte Web-, Desktop- und Mobil-Clients.", "Device" : "Gerät", "Last activity" : "Letzte Aktivität", @@ -294,13 +295,12 @@ "For security reasons this password will only be shown once." : "Aus Sicherheitsgründen wird das Passwort nur einmal angezeigt.", "Username" : "Benutzername", "Done" : "Erledigt", - "Get the apps to sync your files" : "Installieren Sie die Anwendungen, um Ihre Dateien zu synchronisieren", - "Desktop client" : "Desktop-Client", - "Android app" : "Android-App", - "iOS app" : "iOS-App", - "If you want to support the project\n\t\tjoin development\n\t\tor\n\t\tspread the word!" : "Wenn Sie das Projekt unterstützen möchten\n⇥⇥helfen Sie bei der Weiterentwicklung\n⇥⇥oder\n⇥⇥empfehlen Sie es weiter!", - "Show First Run Wizard again" : "Den Einrichtungsassistenten erneut anzeigen", "Developed by the {communityopen}Nextcloud community{linkclose}, the {githubopen}source code{linkclose} is licensed under the {licenseopen}AGPL{linkclose}." : "Entwickelt von der {communityopen}Nextcloud community{linkclose}, der {githubopen}Quellcode{linkclose} ist lizensiert unter {licenseopen}AGPL{linkclose}-Lizenz.", + "Follow us on Google Plus!" : "Folgen Sie uns zu Google Plus!", + "Like our facebook page!" : "Liken Sie uns auf unserer Facebook-Seite!", + "Subscribe to our twitter channel!" : "Abonnieren Sie unseren Twitter-Kanal!", + "Subscribe to our news feed!" : "Abonnieren Sie unseren RSS-Feed!", + "Subscribe to our newsletter!" : "Abonnieren Sie unseren Newsletter!", "Show storage location" : "Speicherort anzeigen", "Show last log in" : "Letzte Anmeldung anzeigen", "Show user backend" : "Benutzer-Backend anzeigen", @@ -325,6 +325,10 @@ "set new password" : "Neues Passwort setzen", "change email address" : "E-Mail-Adresse ändern", "Default" : "Standard", + "APCu" : "APCu", + "Redis" : "Redis", + "External Storage" : "Externer Speicher", + "Updates" : "Updates", "no group" : "Keine Gruppe", "add group" : "Gruppe hinzufügen", "Your database does not run with \"READ COMMITED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "ihre Datenbank läuft nicht mit der \"READ COMMITED\" Transaktionsisolationsstufe. Dies kann Probleme hervorrufen, wenn mehrere Aktionen parallel ausgeführt werden.", @@ -335,7 +339,7 @@ "Storage Location" : "Speicherort", "User Backend" : "Benutzer-Backend", "Last Login" : "Letzte Anmeldung", - "Official apps are developed by and within the Nextcloud community. They offer functionality central to Nextcloud and are ready for production use." : "Offizielle Apps werden von und innerhalb der Community entwickelt. Sie stellen die zentralen Funktionen bereit und sind für den produktiven Einsatz geeignet.", + "Official apps are developed by and within the Nextcloud community. They offer functionality central to Nextcloud and are ready for production use." : "Offizielle Apps werden von und innerhalb der Nextcloud-Community entwickelt. Sie stellen die zentralen Funktionen bereit und sind für den produktiven Einsatz geeignet.", "No apps found for \"{query}\"" : "Keine Applikationen für \"{query}\" gefunden", "Please check the installation documentation ↗ for php configuration notes and the php configuration of your server, especially when using php-fpm." : "Bitte schauen Sie in der Installationsdokumentation ↗auf Hinweise zur PHP-Konfiguration, sowie die PHP-Konfiguration ihres Servers, insbesondere dann, wenn Sie PHP-FPM einsetzen.", "Your server is running on Microsoft Windows. We highly recommend Linux for optimal user experience." : "Ihr Server wird mit Microsoft Windows betrieben. Für ein optimales Nutzungserlebnis empfehlen wir dringend Linux.", @@ -345,6 +349,7 @@ "To migrate to another database use the command line tool: 'occ db:convert-type', or see the documentation ↗." : "Um zu einer anderen Datenbank zu migrieren, benutzen Sie bitte die Kommandozeile: 'occ db:convert-type', oder in die Dokumentation ↗ schauen.", "This app has no minimum Nextcloud version assigned. This will be an error in Nextcloud 11 and later." : "Für diese App wurde keine untere Versionsgrenze für Nextcloud gesetzt. Dies wird ab Nextcloud 11 als Fehler behandelt.", "This app has no maximum Nextcloud version assigned. This will be an error in Nextcloud 11 and later." : "Für diese App wurde keine obere Versionsgrenze für Nextcloud gesetzt. Dies wird ab Nextcloud 11 als Fehler behandelt.", + "If you want to support the project\n\t\tjoin development\n\t\tor\n\t\thelp other users!" : "Wenn Sie das Projekt unterstützen möchten\n⇥⇥helfen Sie uns bei der Weiterentwicklung\n⇥⇥oder\n⇥⇥helfen Sie anderen Nutzern!", "Developed by the {communityopen}Nextcloud community{linkclose}, the {githubopen}source code{linkclose} is licensed under the {licenseopen}AGPL{linkclose}." : "Entwickelt von der {communityopen}Nextcloud Community{linkclose}. Der {githubopen}Quellcode{linkclose} ist unter {licenseopen}AGPL{linkclose} verfügbar." },"pluralForm" :"nplurals=2; plural=(n != 1);" } \ No newline at end of file diff --git a/settings/l10n/en_GB.js b/settings/l10n/en_GB.js index a5d06cd12a25d..087043bd47e02 100644 --- a/settings/l10n/en_GB.js +++ b/settings/l10n/en_GB.js @@ -35,17 +35,6 @@ OC.L10N.register( "Email saved" : "Email saved", "Your full name has been changed." : "Your full name has been changed.", "Unable to change full name" : "Unable to change full name", - "APCu" : "APCu", - "Redis" : "Redis", - "Security & setup warnings" : "Security & setup warnings", - "Sharing" : "Sharing", - "Server-side encryption" : "Server-side encryption", - "External Storage" : "External Storage", - "Cron" : "Cron", - "Email server" : "Email server", - "Log" : "Log", - "Tips & tricks" : "Tips & tricks", - "Updates" : "Updates", "Couldn't remove app." : "Couldn't remove app.", "Language changed" : "Language changed", "Invalid request" : "Invalid request", @@ -120,17 +109,55 @@ OC.L10N.register( "Sessions" : "Sessions", "App passwords" : "App passwords", "Sync clients" : "Sync clients", - "Everything (fatal issues, errors, warnings, info, debug)" : "Everything (fatal issues, errors, warnings, info, debug)", - "Info, warnings, errors and fatal issues" : "Info, warnings, errors and fatal issues", - "Warnings, errors and fatal issues" : "Warnings, errors and fatal issues", - "Errors and fatal issues" : "Errors and fatal issues", - "Fatal issues only" : "Fatal issues only", "None" : "None", "Login" : "Login", "Plain" : "Plain", "NT LAN Manager" : "NT LAN Manager", "SSL" : "SSL", "TLS" : "TLS", + "Email server" : "Email server", + "Open documentation" : "Open documentation", + "This is used for sending out notifications." : "This is used for sending out notifications.", + "Send mode" : "Send mode", + "Encryption" : "Encryption", + "From address" : "From address", + "mail" : "mail", + "Authentication method" : "Authentication method", + "Authentication required" : "Authentication required", + "Server address" : "Server address", + "Port" : "Port", + "Credentials" : "Credentials", + "SMTP Username" : "SMTP Username", + "SMTP Password" : "SMTP Password", + "Store credentials" : "Store credentials", + "Test email settings" : "Test email settings", + "Send email" : "Send email", + "Server-side encryption" : "Server-side encryption", + "Enable server-side encryption" : "Enable server-side encryption", + "Please read carefully before activating server-side encryption: " : "Please read carefully before activating server-side encryption: ", + "Once encryption is enabled, all files uploaded to the server from that point forward will be encrypted at rest on the server. It will only be possible to disable encryption at a later date if the active encryption module supports that function, and all pre-conditions (e.g. setting a recover key) are met." : "Once encryption is enabled, all files uploaded to the server from that point forward will be encrypted at rest on the server. It will only be possible to disable encryption at a later date if the active encryption module supports that function, and all pre-conditions (e.g. setting a recover key) are met.", + "Encryption alone does not guarantee security of the system. Please see documentation for more information about how the encryption app works, and the supported use cases." : "Encryption alone does not guarantee complete security. Please read the documentation for information on how the encryption app works, and supported use cases.", + "Be aware that encryption always increases the file size." : "Be aware that encryption always increases the file size.", + "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data.", + "This is the final warning: Do you really want to enable encryption?" : "This is the final warning: Do you really want to enable encryption?", + "Enable encryption" : "Enable encryption", + "No encryption module loaded, please enable an encryption module in the app menu." : "No encryption module loaded, please enable an encryption module in the app menu.", + "Select default encryption module:" : "Select default encryption module:", + "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please enable the \"Default encryption module\" and run 'occ encryption:migrate'" : "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please enable the \"Default encryption module\" and run 'occ encryption:migrate'", + "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one.", + "Start migration" : "Start migration", + "Everything (fatal issues, errors, warnings, info, debug)" : "Everything (fatal issues, errors, warnings, info, debug)", + "Info, warnings, errors and fatal issues" : "Info, warnings, errors and fatal issues", + "Warnings, errors and fatal issues" : "Warnings, errors and fatal issues", + "Errors and fatal issues" : "Errors and fatal issues", + "Fatal issues only" : "Fatal issues only", + "Log" : "Log", + "What to log" : "What to log", + "Download logfile" : "Download logfile", + "More" : "More", + "Less" : "Less", + "The logfile is bigger than 100 MB. Downloading it may take some time!" : "The logfile is larger than 100 MB. Downloading it may take some time!", + "Security & setup warnings" : "Security & setup warnings", "php does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "php does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response.", "Please check the installation documentation ↗ for php configuration notes and the php configuration of your server, especially when using php-fpm." : "Please check the installation documentation ↗ for php configuration notes and the php configuration of your server, especially when using php-fpm.", "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update.", @@ -146,7 +173,15 @@ OC.L10N.register( "It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "It was not possible to execute the cronjob via CLI. The following technical errors have appeared:", "Please double check the installation guides ↗, and check for any errors or warnings in the log." : "Please double check the installation guides ↗, and check for any errors or warnings in the log.", "All checks passed." : "All checks passed.", - "Open documentation" : "Open documentation", + "Cron" : "Cron", + "Last cron job execution: %s." : "Last cron job execution: %s.", + "Last cron job execution: %s. Something seems wrong." : "Last cron job execution: %s. Something seems wrong.", + "Cron was not executed yet!" : "Cron was not executed yet!", + "Execute one task with each page loaded" : "Execute one task with each page loaded", + "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php is registered at a webcron service to call cron.php every 15 minutes over http.", + "Use system's cron service to call the cron.php file every 15 minutes." : "Use system's cron service to call the cron.php file every 15 minutes.", + "Version" : "Version", + "Sharing" : "Sharing", "Allow apps to use the Share API" : "Allow apps to use the Share API", "Allow users to share via link" : "Allow users to share via link", "Allow public uploads" : "Allow public uploads", @@ -163,45 +198,7 @@ OC.L10N.register( "Exclude groups from sharing" : "Exclude groups from sharing", "These groups will still be able to receive shares, but not to initiate them." : "These groups will still be able to receive shares, but not to initiate them.", "Allow username autocompletion in share dialog. If this is disabled the full username needs to be entered." : "Allow username autocompletion in share dialog. If this is disabled the full username needs to be entered.", - "Last cron job execution: %s." : "Last cron job execution: %s.", - "Last cron job execution: %s. Something seems wrong." : "Last cron job execution: %s. Something seems wrong.", - "Cron was not executed yet!" : "Cron was not executed yet!", - "Execute one task with each page loaded" : "Execute one task with each page loaded", - "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php is registered at a webcron service to call cron.php every 15 minutes over http.", - "Use system's cron service to call the cron.php file every 15 minutes." : "Use system's cron service to call the cron.php file every 15 minutes.", - "Enable server-side encryption" : "Enable server-side encryption", - "Please read carefully before activating server-side encryption: " : "Please read carefully before activating server-side encryption: ", - "Once encryption is enabled, all files uploaded to the server from that point forward will be encrypted at rest on the server. It will only be possible to disable encryption at a later date if the active encryption module supports that function, and all pre-conditions (e.g. setting a recover key) are met." : "Once encryption is enabled, all files uploaded to the server from that point forward will be encrypted at rest on the server. It will only be possible to disable encryption at a later date if the active encryption module supports that function, and all pre-conditions (e.g. setting a recover key) are met.", - "Encryption alone does not guarantee security of the system. Please see documentation for more information about how the encryption app works, and the supported use cases." : "Encryption alone does not guarantee complete security. Please read the documentation for information on how the encryption app works, and supported use cases.", - "Be aware that encryption always increases the file size." : "Be aware that encryption always increases the file size.", - "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data.", - "This is the final warning: Do you really want to enable encryption?" : "This is the final warning: Do you really want to enable encryption?", - "Enable encryption" : "Enable encryption", - "No encryption module loaded, please enable an encryption module in the app menu." : "No encryption module loaded, please enable an encryption module in the app menu.", - "Select default encryption module:" : "Select default encryption module:", - "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please enable the \"Default encryption module\" and run 'occ encryption:migrate'" : "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please enable the \"Default encryption module\" and run 'occ encryption:migrate'", - "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one.", - "Start migration" : "Start migration", - "This is used for sending out notifications." : "This is used for sending out notifications.", - "Send mode" : "Send mode", - "Encryption" : "Encryption", - "From address" : "From address", - "mail" : "mail", - "Authentication method" : "Authentication method", - "Authentication required" : "Authentication required", - "Server address" : "Server address", - "Port" : "Port", - "Credentials" : "Credentials", - "SMTP Username" : "SMTP Username", - "SMTP Password" : "SMTP Password", - "Store credentials" : "Store credentials", - "Test email settings" : "Test email settings", - "Send email" : "Send email", - "What to log" : "What to log", - "Download logfile" : "Download logfile", - "More" : "More", - "Less" : "Less", - "The logfile is bigger than 100 MB. Downloading it may take some time!" : "The logfile is larger than 100 MB. Downloading it may take some time!", + "Tips & tricks" : "Tips & tricks", "SQLite is used as database. For larger installations we recommend to switch to a different database backend." : "SQLite is used as database. For larger installations, we recommend you switch to a different database backend.", "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "Especially when using the desktop client for file syncing, the use of SQLite is discouraged.", "To migrate to another database use the command line tool: 'occ db:convert-type', or see the documentation ↗." : "To migrate to another database use the command line tool: 'occ db:convert-type', or see the documentation ↗.", @@ -211,7 +208,6 @@ OC.L10N.register( "Improving the config.php" : "Improving the config.php", "Theming" : "Theming", "Hardening and security guidance" : "Hardening and security guidance", - "Version" : "Version", "Developer documentation" : "Developer documentation", "Experimental applications ahead" : "Experimental applications ahead", "Experimental apps are not checked for security issues, new or known to be unstable and under heavy development. Installing them can cause data loss or security breaches." : "Experimental apps are not checked for security issues, new or known to be unstable and under heavy development. Installing them can cause data loss or security breaches.", @@ -267,18 +263,17 @@ OC.L10N.register( "Change password" : "Change password", "Language" : "Language", "Help translate" : "Help translate", + "Get the apps to sync your files" : "Get the apps to sync your files", + "Desktop client" : "Desktop client", + "Android app" : "Android app", + "iOS app" : "iOS app", + "Show First Run Wizard again" : "Show First Run Wizard again", "Name" : "Name", "App name" : "App name", "Create new app password" : "Create new app password", "Use the credentials below to configure your app or device." : "Use the credentials below to configure your app or device.", "Username" : "Username", "Done" : "Done", - "Get the apps to sync your files" : "Get the apps to sync your files", - "Desktop client" : "Desktop client", - "Android app" : "Android app", - "iOS app" : "iOS app", - "If you want to support the project\n\t\tjoin development\n\t\tor\n\t\tspread the word!" : "To support the project\n\t\tjoin development\n\t\tor\n\t\tspread the word!", - "Show First Run Wizard again" : "Show First Run Wizard again", "Show storage location" : "Show storage location", "Show last log in" : "Show last log in", "Show user backend" : "Show user backend", @@ -297,6 +292,10 @@ OC.L10N.register( "change full name" : "change full name", "set new password" : "set new password", "change email address" : "change email address", - "Default" : "Default" + "Default" : "Default", + "APCu" : "APCu", + "Redis" : "Redis", + "External Storage" : "External Storage", + "Updates" : "Updates" }, "nplurals=2; plural=(n != 1);"); diff --git a/settings/l10n/en_GB.json b/settings/l10n/en_GB.json index 083441b2a4d11..934d11cef9297 100644 --- a/settings/l10n/en_GB.json +++ b/settings/l10n/en_GB.json @@ -33,17 +33,6 @@ "Email saved" : "Email saved", "Your full name has been changed." : "Your full name has been changed.", "Unable to change full name" : "Unable to change full name", - "APCu" : "APCu", - "Redis" : "Redis", - "Security & setup warnings" : "Security & setup warnings", - "Sharing" : "Sharing", - "Server-side encryption" : "Server-side encryption", - "External Storage" : "External Storage", - "Cron" : "Cron", - "Email server" : "Email server", - "Log" : "Log", - "Tips & tricks" : "Tips & tricks", - "Updates" : "Updates", "Couldn't remove app." : "Couldn't remove app.", "Language changed" : "Language changed", "Invalid request" : "Invalid request", @@ -118,17 +107,55 @@ "Sessions" : "Sessions", "App passwords" : "App passwords", "Sync clients" : "Sync clients", - "Everything (fatal issues, errors, warnings, info, debug)" : "Everything (fatal issues, errors, warnings, info, debug)", - "Info, warnings, errors and fatal issues" : "Info, warnings, errors and fatal issues", - "Warnings, errors and fatal issues" : "Warnings, errors and fatal issues", - "Errors and fatal issues" : "Errors and fatal issues", - "Fatal issues only" : "Fatal issues only", "None" : "None", "Login" : "Login", "Plain" : "Plain", "NT LAN Manager" : "NT LAN Manager", "SSL" : "SSL", "TLS" : "TLS", + "Email server" : "Email server", + "Open documentation" : "Open documentation", + "This is used for sending out notifications." : "This is used for sending out notifications.", + "Send mode" : "Send mode", + "Encryption" : "Encryption", + "From address" : "From address", + "mail" : "mail", + "Authentication method" : "Authentication method", + "Authentication required" : "Authentication required", + "Server address" : "Server address", + "Port" : "Port", + "Credentials" : "Credentials", + "SMTP Username" : "SMTP Username", + "SMTP Password" : "SMTP Password", + "Store credentials" : "Store credentials", + "Test email settings" : "Test email settings", + "Send email" : "Send email", + "Server-side encryption" : "Server-side encryption", + "Enable server-side encryption" : "Enable server-side encryption", + "Please read carefully before activating server-side encryption: " : "Please read carefully before activating server-side encryption: ", + "Once encryption is enabled, all files uploaded to the server from that point forward will be encrypted at rest on the server. It will only be possible to disable encryption at a later date if the active encryption module supports that function, and all pre-conditions (e.g. setting a recover key) are met." : "Once encryption is enabled, all files uploaded to the server from that point forward will be encrypted at rest on the server. It will only be possible to disable encryption at a later date if the active encryption module supports that function, and all pre-conditions (e.g. setting a recover key) are met.", + "Encryption alone does not guarantee security of the system. Please see documentation for more information about how the encryption app works, and the supported use cases." : "Encryption alone does not guarantee complete security. Please read the documentation for information on how the encryption app works, and supported use cases.", + "Be aware that encryption always increases the file size." : "Be aware that encryption always increases the file size.", + "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data.", + "This is the final warning: Do you really want to enable encryption?" : "This is the final warning: Do you really want to enable encryption?", + "Enable encryption" : "Enable encryption", + "No encryption module loaded, please enable an encryption module in the app menu." : "No encryption module loaded, please enable an encryption module in the app menu.", + "Select default encryption module:" : "Select default encryption module:", + "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please enable the \"Default encryption module\" and run 'occ encryption:migrate'" : "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please enable the \"Default encryption module\" and run 'occ encryption:migrate'", + "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one.", + "Start migration" : "Start migration", + "Everything (fatal issues, errors, warnings, info, debug)" : "Everything (fatal issues, errors, warnings, info, debug)", + "Info, warnings, errors and fatal issues" : "Info, warnings, errors and fatal issues", + "Warnings, errors and fatal issues" : "Warnings, errors and fatal issues", + "Errors and fatal issues" : "Errors and fatal issues", + "Fatal issues only" : "Fatal issues only", + "Log" : "Log", + "What to log" : "What to log", + "Download logfile" : "Download logfile", + "More" : "More", + "Less" : "Less", + "The logfile is bigger than 100 MB. Downloading it may take some time!" : "The logfile is larger than 100 MB. Downloading it may take some time!", + "Security & setup warnings" : "Security & setup warnings", "php does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "php does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response.", "Please check the installation documentation ↗ for php configuration notes and the php configuration of your server, especially when using php-fpm." : "Please check the installation documentation ↗ for php configuration notes and the php configuration of your server, especially when using php-fpm.", "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update.", @@ -144,7 +171,15 @@ "It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "It was not possible to execute the cronjob via CLI. The following technical errors have appeared:", "Please double check the installation guides ↗, and check for any errors or warnings in the log." : "Please double check the installation guides ↗, and check for any errors or warnings in the log.", "All checks passed." : "All checks passed.", - "Open documentation" : "Open documentation", + "Cron" : "Cron", + "Last cron job execution: %s." : "Last cron job execution: %s.", + "Last cron job execution: %s. Something seems wrong." : "Last cron job execution: %s. Something seems wrong.", + "Cron was not executed yet!" : "Cron was not executed yet!", + "Execute one task with each page loaded" : "Execute one task with each page loaded", + "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php is registered at a webcron service to call cron.php every 15 minutes over http.", + "Use system's cron service to call the cron.php file every 15 minutes." : "Use system's cron service to call the cron.php file every 15 minutes.", + "Version" : "Version", + "Sharing" : "Sharing", "Allow apps to use the Share API" : "Allow apps to use the Share API", "Allow users to share via link" : "Allow users to share via link", "Allow public uploads" : "Allow public uploads", @@ -161,45 +196,7 @@ "Exclude groups from sharing" : "Exclude groups from sharing", "These groups will still be able to receive shares, but not to initiate them." : "These groups will still be able to receive shares, but not to initiate them.", "Allow username autocompletion in share dialog. If this is disabled the full username needs to be entered." : "Allow username autocompletion in share dialog. If this is disabled the full username needs to be entered.", - "Last cron job execution: %s." : "Last cron job execution: %s.", - "Last cron job execution: %s. Something seems wrong." : "Last cron job execution: %s. Something seems wrong.", - "Cron was not executed yet!" : "Cron was not executed yet!", - "Execute one task with each page loaded" : "Execute one task with each page loaded", - "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php is registered at a webcron service to call cron.php every 15 minutes over http.", - "Use system's cron service to call the cron.php file every 15 minutes." : "Use system's cron service to call the cron.php file every 15 minutes.", - "Enable server-side encryption" : "Enable server-side encryption", - "Please read carefully before activating server-side encryption: " : "Please read carefully before activating server-side encryption: ", - "Once encryption is enabled, all files uploaded to the server from that point forward will be encrypted at rest on the server. It will only be possible to disable encryption at a later date if the active encryption module supports that function, and all pre-conditions (e.g. setting a recover key) are met." : "Once encryption is enabled, all files uploaded to the server from that point forward will be encrypted at rest on the server. It will only be possible to disable encryption at a later date if the active encryption module supports that function, and all pre-conditions (e.g. setting a recover key) are met.", - "Encryption alone does not guarantee security of the system. Please see documentation for more information about how the encryption app works, and the supported use cases." : "Encryption alone does not guarantee complete security. Please read the documentation for information on how the encryption app works, and supported use cases.", - "Be aware that encryption always increases the file size." : "Be aware that encryption always increases the file size.", - "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data.", - "This is the final warning: Do you really want to enable encryption?" : "This is the final warning: Do you really want to enable encryption?", - "Enable encryption" : "Enable encryption", - "No encryption module loaded, please enable an encryption module in the app menu." : "No encryption module loaded, please enable an encryption module in the app menu.", - "Select default encryption module:" : "Select default encryption module:", - "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please enable the \"Default encryption module\" and run 'occ encryption:migrate'" : "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please enable the \"Default encryption module\" and run 'occ encryption:migrate'", - "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one.", - "Start migration" : "Start migration", - "This is used for sending out notifications." : "This is used for sending out notifications.", - "Send mode" : "Send mode", - "Encryption" : "Encryption", - "From address" : "From address", - "mail" : "mail", - "Authentication method" : "Authentication method", - "Authentication required" : "Authentication required", - "Server address" : "Server address", - "Port" : "Port", - "Credentials" : "Credentials", - "SMTP Username" : "SMTP Username", - "SMTP Password" : "SMTP Password", - "Store credentials" : "Store credentials", - "Test email settings" : "Test email settings", - "Send email" : "Send email", - "What to log" : "What to log", - "Download logfile" : "Download logfile", - "More" : "More", - "Less" : "Less", - "The logfile is bigger than 100 MB. Downloading it may take some time!" : "The logfile is larger than 100 MB. Downloading it may take some time!", + "Tips & tricks" : "Tips & tricks", "SQLite is used as database. For larger installations we recommend to switch to a different database backend." : "SQLite is used as database. For larger installations, we recommend you switch to a different database backend.", "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "Especially when using the desktop client for file syncing, the use of SQLite is discouraged.", "To migrate to another database use the command line tool: 'occ db:convert-type', or see the documentation ↗." : "To migrate to another database use the command line tool: 'occ db:convert-type', or see the documentation ↗.", @@ -209,7 +206,6 @@ "Improving the config.php" : "Improving the config.php", "Theming" : "Theming", "Hardening and security guidance" : "Hardening and security guidance", - "Version" : "Version", "Developer documentation" : "Developer documentation", "Experimental applications ahead" : "Experimental applications ahead", "Experimental apps are not checked for security issues, new or known to be unstable and under heavy development. Installing them can cause data loss or security breaches." : "Experimental apps are not checked for security issues, new or known to be unstable and under heavy development. Installing them can cause data loss or security breaches.", @@ -265,18 +261,17 @@ "Change password" : "Change password", "Language" : "Language", "Help translate" : "Help translate", + "Get the apps to sync your files" : "Get the apps to sync your files", + "Desktop client" : "Desktop client", + "Android app" : "Android app", + "iOS app" : "iOS app", + "Show First Run Wizard again" : "Show First Run Wizard again", "Name" : "Name", "App name" : "App name", "Create new app password" : "Create new app password", "Use the credentials below to configure your app or device." : "Use the credentials below to configure your app or device.", "Username" : "Username", "Done" : "Done", - "Get the apps to sync your files" : "Get the apps to sync your files", - "Desktop client" : "Desktop client", - "Android app" : "Android app", - "iOS app" : "iOS app", - "If you want to support the project\n\t\tjoin development\n\t\tor\n\t\tspread the word!" : "To support the project\n\t\tjoin development\n\t\tor\n\t\tspread the word!", - "Show First Run Wizard again" : "Show First Run Wizard again", "Show storage location" : "Show storage location", "Show last log in" : "Show last log in", "Show user backend" : "Show user backend", @@ -295,6 +290,10 @@ "change full name" : "change full name", "set new password" : "set new password", "change email address" : "change email address", - "Default" : "Default" + "Default" : "Default", + "APCu" : "APCu", + "Redis" : "Redis", + "External Storage" : "External Storage", + "Updates" : "Updates" },"pluralForm" :"nplurals=2; plural=(n != 1);" } \ No newline at end of file diff --git a/settings/l10n/es.js b/settings/l10n/es.js index e25e9ac8877e1..83f137babdf6b 100644 --- a/settings/l10n/es.js +++ b/settings/l10n/es.js @@ -35,17 +35,6 @@ OC.L10N.register( "Email saved" : "Correo electrónico guardado", "Your full name has been changed." : "Se ha cambiado su nombre completo.", "Unable to change full name" : "No se puede cambiar el nombre completo", - "APCu" : "APCu", - "Redis" : "Redis", - "Security & setup warnings" : "Avisos de seguridad y configuración", - "Sharing" : "Compartiendo", - "Server-side encryption" : "Cifrado en el servidor", - "External Storage" : "Almacenamiento externo", - "Cron" : "Cron", - "Email server" : "Servidor de correo electrónico", - "Log" : "Registro", - "Tips & tricks" : "Sugerencias y trucos", - "Updates" : "Actualizaciones", "Couldn't remove app." : "No se pudo eliminar la aplicación.", "Language changed" : "Idioma cambiado", "Invalid request" : "Petición no válida", @@ -133,17 +122,55 @@ OC.L10N.register( "Sessions" : "Sesiones", "App passwords" : "Contraseñas de la app", "Sync clients" : "Clientes de sincronización", - "Everything (fatal issues, errors, warnings, info, debug)" : "Todo (Información, Avisos, Errores, debug y problemas fatales)", - "Info, warnings, errors and fatal issues" : "Información, Avisos, Errores y problemas fatales", - "Warnings, errors and fatal issues" : "Advertencias, errores y problemas fatales", - "Errors and fatal issues" : "Errores y problemas fatales", - "Fatal issues only" : "Problemas fatales solamente", "None" : "Ninguno", "Login" : "Iniciar sesión", "Plain" : "Plano", "NT LAN Manager" : "Gestor de NT LAN", "SSL" : "SSL", "TLS" : "TLS", + "Email server" : "Servidor de correo electrónico", + "Open documentation" : "Abrir Documentación", + "This is used for sending out notifications." : "Esto se usa para enviar notificaciones.", + "Send mode" : "Modo de envío", + "Encryption" : "Cifrado", + "From address" : "Desde la dirección", + "mail" : "correo electrónico", + "Authentication method" : "Método de autenticación", + "Authentication required" : "Se necesita autenticación", + "Server address" : "Dirección del servidor", + "Port" : "Puerto", + "Credentials" : "Credenciales", + "SMTP Username" : "Nombre de usuario SMTP", + "SMTP Password" : "Contraseña SMTP", + "Store credentials" : "Almacenar credenciales", + "Test email settings" : "Probar configuración de correo electrónico", + "Send email" : "Enviar mensaje", + "Server-side encryption" : "Cifrado en el servidor", + "Enable server-side encryption" : "Habilitar cifrado en el servidor", + "Please read carefully before activating server-side encryption: " : "Por favor lea cuidadosamente antes de activar el cifrado del lado del servidor.", + "Once encryption is enabled, all files uploaded to the server from that point forward will be encrypted at rest on the server. It will only be possible to disable encryption at a later date if the active encryption module supports that function, and all pre-conditions (e.g. setting a recover key) are met." : "Una vez que el cifrado está habilitado, todos los archivos subidos al servidor desde ese punto en adelante se cifrarán en reposo en el servidor. Sólo será posible desactivar el cifrado en una fecha posterior si el módulo de cifrado activado soporta esa función, y todas las condiciones previas (por ejemplo, el establecimiento de una clave de recuperación) se cumplan.", + "Encryption alone does not guarantee security of the system. Please see documentation for more information about how the encryption app works, and the supported use cases." : "El cifrado no garantiza por sí solo la seguridad del sistema. Por favor, vea la documentación para más información sobre cómo funciona la app de cifrado y los casos de uso soportados.", + "Be aware that encryption always increases the file size." : "Tenga presente que la encripción siempre incrementa el tamaño del archivo.", + "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Es siempre bueno crear copias de seguridad de sus datos, en el caso del cifrado, asegúrese de tener una copia de seguridad de las claves de cifrado junto con sus datos.", + "This is the final warning: Do you really want to enable encryption?" : "Esta es la advertencia final. ¿Realmente quiere activar el cifrado?", + "Enable encryption" : "Habilitar cifrado", + "No encryption module loaded, please enable an encryption module in the app menu." : "No se ha cargado el modulo de cifrado. Por favor habilite un modulo de cifrado en el menú de aplicaciones.", + "Select default encryption module:" : "Seleccione el módulo de cifrado por defecto:", + "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please enable the \"Default encryption module\" and run 'occ encryption:migrate'" : "Necesita migrar sus claves de cifrado provenientes del antiguo sistema (ownCloud <= 8.0) al nuevo. Por favor habilite el \"Módulo de cifrado por defecto\" y ejecute 'occ encryption:migrate'", + "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Se necesita migrar las claves de cifrado del antiguo sistema (ownCloud <= 8.0) al nuevo sistema.", + "Start migration" : "Iniciar migración", + "Everything (fatal issues, errors, warnings, info, debug)" : "Todo (Información, Avisos, Errores, debug y problemas fatales)", + "Info, warnings, errors and fatal issues" : "Información, Avisos, Errores y problemas fatales", + "Warnings, errors and fatal issues" : "Advertencias, errores y problemas fatales", + "Errors and fatal issues" : "Errores y problemas fatales", + "Fatal issues only" : "Problemas fatales solamente", + "Log" : "Registro", + "What to log" : "Que registrar", + "Download logfile" : "Descargar archivo de registro", + "More" : "Más", + "Less" : "Menos", + "The logfile is bigger than 100 MB. Downloading it may take some time!" : "El archivo de registro es mayor de 100 MB. Descargarlo puede tardar.", + "Security & setup warnings" : "Avisos de seguridad y configuración", "php does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "php parece que no está configurado correctamente para solicitar las variables de entorno del sistema. La prueba con getenv(\"PATH\") sólo retorna una respuesta vacía.", "Please check the installation documentation ↗ for php configuration notes and the php configuration of your server, especially when using php-fpm." : "Por favor revisa la documentación de instalación ↗ para notas de configuración PHP y la configuración PHP de tu servidor, especialmente cuando se está usando php-fpm", "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Se ha habilitado la configuración de sólo lectura. Esto evita tener que ajustar algunas configuraciones a través de la interfaz web. Además, el archivo debe hacerse modificable manualmente para cada actualización.", @@ -160,7 +187,15 @@ OC.L10N.register( "It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "No fue posible ejecutar cronjob vía CLI. Han aparecido los siguientes errores técnicos:", "Please double check the installation guides ↗, and check for any errors or warnings in the log." : "Por favor, compruebe de nuevo las guías de instalación ↗, y comprueba por cualquier error o advertencia en el Registro", "All checks passed." : "Ha pasado todos los controles", - "Open documentation" : "Abrir Documentación", + "Cron" : "Cron", + "Last cron job execution: %s." : "Cron se ejecutó por última vez: %s", + "Last cron job execution: %s. Something seems wrong." : "Cron se ejecutó por última vez: %s. Algo va mal.", + "Cron was not executed yet!" : "¡Cron aún no ha sido ejecutado!", + "Execute one task with each page loaded" : "Ejecutar una tarea con cada página cargada", + "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php se registra en un servicio webcron para llamar a cron.php cada 15 minutos a través de HTTP.", + "Use system's cron service to call the cron.php file every 15 minutes." : "Usar el servicio cron del sistema para llamar al archivo cron.php cada 15 minutos.", + "Version" : "Versión", + "Sharing" : "Compartiendo", "Allow apps to use the Share API" : "Permitir a las aplicaciones utilizar la API de Compartición", "Allow users to share via link" : "Permite a los usuarios compartir por medio de enlaces", "Allow public uploads" : "Permitir subidas públicas", @@ -177,45 +212,7 @@ OC.L10N.register( "Exclude groups from sharing" : "Excluye grupos de compartir", "These groups will still be able to receive shares, but not to initiate them." : "Estos grupos aún podrán recibir contenidos compartidos, pero no podrán, pero no podrán iniciarlos.", "Allow username autocompletion in share dialog. If this is disabled the full username needs to be entered." : "Permitir autocompletación del nombre de usuario en diálogos de compartición. Si está deshabilitado, se requiere introducir el nombre de usuario.", - "Last cron job execution: %s." : "Cron se ejecutó por última vez: %s", - "Last cron job execution: %s. Something seems wrong." : "Cron se ejecutó por última vez: %s. Algo va mal.", - "Cron was not executed yet!" : "¡Cron aún no ha sido ejecutado!", - "Execute one task with each page loaded" : "Ejecutar una tarea con cada página cargada", - "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php se registra en un servicio webcron para llamar a cron.php cada 15 minutos a través de HTTP.", - "Use system's cron service to call the cron.php file every 15 minutes." : "Usar el servicio cron del sistema para llamar al archivo cron.php cada 15 minutos.", - "Enable server-side encryption" : "Habilitar cifrado en el servidor", - "Please read carefully before activating server-side encryption: " : "Por favor lea cuidadosamente antes de activar el cifrado del lado del servidor.", - "Once encryption is enabled, all files uploaded to the server from that point forward will be encrypted at rest on the server. It will only be possible to disable encryption at a later date if the active encryption module supports that function, and all pre-conditions (e.g. setting a recover key) are met." : "Una vez que el cifrado está habilitado, todos los archivos subidos al servidor desde ese punto en adelante se cifrarán en reposo en el servidor. Sólo será posible desactivar el cifrado en una fecha posterior si el módulo de cifrado activado soporta esa función, y todas las condiciones previas (por ejemplo, el establecimiento de una clave de recuperación) se cumplan.", - "Encryption alone does not guarantee security of the system. Please see documentation for more information about how the encryption app works, and the supported use cases." : "El cifrado no garantiza por sí solo la seguridad del sistema. Por favor, vea la documentación para más información sobre cómo funciona la app de cifrado y los casos de uso soportados.", - "Be aware that encryption always increases the file size." : "Tenga presente que la encripción siempre incrementa el tamaño del archivo.", - "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Es siempre bueno crear copias de seguridad de sus datos, en el caso del cifrado, asegúrese de tener una copia de seguridad de las claves de cifrado junto con sus datos.", - "This is the final warning: Do you really want to enable encryption?" : "Esta es la advertencia final. ¿Realmente quiere activar el cifrado?", - "Enable encryption" : "Habilitar cifrado", - "No encryption module loaded, please enable an encryption module in the app menu." : "No se ha cargado el modulo de cifrado. Por favor habilite un modulo de cifrado en el menú de aplicaciones.", - "Select default encryption module:" : "Seleccione el módulo de cifrado por defecto:", - "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please enable the \"Default encryption module\" and run 'occ encryption:migrate'" : "Necesita migrar sus claves de cifrado provenientes del antiguo sistema (ownCloud <= 8.0) al nuevo. Por favor habilite el \"Módulo de cifrado por defecto\" y ejecute 'occ encryption:migrate'", - "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Se necesita migrar las claves de cifrado del antiguo sistema (ownCloud <= 8.0) al nuevo sistema.", - "Start migration" : "Iniciar migración", - "This is used for sending out notifications." : "Esto se usa para enviar notificaciones.", - "Send mode" : "Modo de envío", - "Encryption" : "Cifrado", - "From address" : "Desde la dirección", - "mail" : "correo electrónico", - "Authentication method" : "Método de autenticación", - "Authentication required" : "Se necesita autenticación", - "Server address" : "Dirección del servidor", - "Port" : "Puerto", - "Credentials" : "Credenciales", - "SMTP Username" : "Nombre de usuario SMTP", - "SMTP Password" : "Contraseña SMTP", - "Store credentials" : "Almacenar credenciales", - "Test email settings" : "Probar configuración de correo electrónico", - "Send email" : "Enviar mensaje", - "What to log" : "Que registrar", - "Download logfile" : "Descargar archivo de registro", - "More" : "Más", - "Less" : "Menos", - "The logfile is bigger than 100 MB. Downloading it may take some time!" : "El archivo de registro es mayor de 100 MB. Descargarlo puede tardar.", + "Tips & tricks" : "Sugerencias y trucos", "SQLite is used as database. For larger installations we recommend to switch to a different database backend." : "Se utiliza SQLite como base de datos. Para instalaciones mas grandes se recomiende cambiar a otro sistema de base de datos. ", "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "El uso de SQLite está desaconsejado especialmente cuando se usa el cliente de escritorio para sincronizar los ficheros.", "To migrate to another database use the command line tool: 'occ db:convert-type', or see the documentation ↗." : "Para migrar a otra base de datos usa la herramienta de línea de comandos 'occ db:convert-type' o mira la documentación ↗.", @@ -225,7 +222,6 @@ OC.L10N.register( "Improving the config.php" : "Mejorar el config.php", "Theming" : "Personalizar el tema", "Hardening and security guidance" : "Guía de protección y seguridad", - "Version" : "Versión", "Developer documentation" : "Documentación de desarrollador", "Experimental applications ahead" : "Aplicaciones experimentales más adelante", "Experimental apps are not checked for security issues, new or known to be unstable and under heavy development. Installing them can cause data loss or security breaches." : "Las aplicaciones experimentales no están verificadas por problemas de seguridad, recientes o conocidas por ser inestables y/o bajo un fuerte desarrollo. Instalándolas pueden causar pérdida de datos o violación de seguridades.", @@ -281,6 +277,11 @@ OC.L10N.register( "Change password" : "Cambiar contraseña", "Language" : "Idioma", "Help translate" : "Ayúdanos a traducir", + "Get the apps to sync your files" : "Obtener las aplicaciones para sincronizar sus archivos", + "Desktop client" : "Cliente de escritorio", + "Android app" : "Aplicación de Android", + "iOS app" : "La aplicación de iOS", + "Show First Run Wizard again" : "Mostrar nuevamente el Asistente de ejecución inicial", "Web, desktop and mobile clients currently logged in to your account." : "Clientes web, móviles y de escritorio actualmente conectados a tu cuenta.", "Device" : "Dispositivo", "Last activity" : "Última actividad", @@ -291,12 +292,6 @@ OC.L10N.register( "Use the credentials below to configure your app or device." : "Use las siguientes credenciales para configurar su app o dispositivo.", "Username" : "Nombre de usuario", "Done" : "Hecho", - "Get the apps to sync your files" : "Obtener las aplicaciones para sincronizar sus archivos", - "Desktop client" : "Cliente de escritorio", - "Android app" : "Aplicación de Android", - "iOS app" : "La aplicación de iOS", - "If you want to support the project\n\t\tjoin development\n\t\tor\n\t\tspread the word!" : "Si quiere apoyar el proyecto\n⇥⇥únase a su desarrollo\n⇥⇥o\n⇥⇥'difunda la palabra!!", - "Show First Run Wizard again" : "Mostrar nuevamente el Asistente de ejecución inicial", "Show storage location" : "Mostrar la ubicación del almacenamiento", "Show last log in" : "Mostrar el último inicio de sesión", "Show user backend" : "Mostrar motor de usuario", @@ -320,6 +315,10 @@ OC.L10N.register( "change full name" : "cambiar el nombre completo", "set new password" : "establecer nueva contraseña", "change email address" : "cambiar dirección de correo electrónico", - "Default" : "Predeterminado" + "Default" : "Predeterminado", + "APCu" : "APCu", + "Redis" : "Redis", + "External Storage" : "Almacenamiento externo", + "Updates" : "Actualizaciones" }, "nplurals=2; plural=(n != 1);"); diff --git a/settings/l10n/es.json b/settings/l10n/es.json index 977023a8f1e51..039509fa92430 100644 --- a/settings/l10n/es.json +++ b/settings/l10n/es.json @@ -33,17 +33,6 @@ "Email saved" : "Correo electrónico guardado", "Your full name has been changed." : "Se ha cambiado su nombre completo.", "Unable to change full name" : "No se puede cambiar el nombre completo", - "APCu" : "APCu", - "Redis" : "Redis", - "Security & setup warnings" : "Avisos de seguridad y configuración", - "Sharing" : "Compartiendo", - "Server-side encryption" : "Cifrado en el servidor", - "External Storage" : "Almacenamiento externo", - "Cron" : "Cron", - "Email server" : "Servidor de correo electrónico", - "Log" : "Registro", - "Tips & tricks" : "Sugerencias y trucos", - "Updates" : "Actualizaciones", "Couldn't remove app." : "No se pudo eliminar la aplicación.", "Language changed" : "Idioma cambiado", "Invalid request" : "Petición no válida", @@ -131,17 +120,55 @@ "Sessions" : "Sesiones", "App passwords" : "Contraseñas de la app", "Sync clients" : "Clientes de sincronización", - "Everything (fatal issues, errors, warnings, info, debug)" : "Todo (Información, Avisos, Errores, debug y problemas fatales)", - "Info, warnings, errors and fatal issues" : "Información, Avisos, Errores y problemas fatales", - "Warnings, errors and fatal issues" : "Advertencias, errores y problemas fatales", - "Errors and fatal issues" : "Errores y problemas fatales", - "Fatal issues only" : "Problemas fatales solamente", "None" : "Ninguno", "Login" : "Iniciar sesión", "Plain" : "Plano", "NT LAN Manager" : "Gestor de NT LAN", "SSL" : "SSL", "TLS" : "TLS", + "Email server" : "Servidor de correo electrónico", + "Open documentation" : "Abrir Documentación", + "This is used for sending out notifications." : "Esto se usa para enviar notificaciones.", + "Send mode" : "Modo de envío", + "Encryption" : "Cifrado", + "From address" : "Desde la dirección", + "mail" : "correo electrónico", + "Authentication method" : "Método de autenticación", + "Authentication required" : "Se necesita autenticación", + "Server address" : "Dirección del servidor", + "Port" : "Puerto", + "Credentials" : "Credenciales", + "SMTP Username" : "Nombre de usuario SMTP", + "SMTP Password" : "Contraseña SMTP", + "Store credentials" : "Almacenar credenciales", + "Test email settings" : "Probar configuración de correo electrónico", + "Send email" : "Enviar mensaje", + "Server-side encryption" : "Cifrado en el servidor", + "Enable server-side encryption" : "Habilitar cifrado en el servidor", + "Please read carefully before activating server-side encryption: " : "Por favor lea cuidadosamente antes de activar el cifrado del lado del servidor.", + "Once encryption is enabled, all files uploaded to the server from that point forward will be encrypted at rest on the server. It will only be possible to disable encryption at a later date if the active encryption module supports that function, and all pre-conditions (e.g. setting a recover key) are met." : "Una vez que el cifrado está habilitado, todos los archivos subidos al servidor desde ese punto en adelante se cifrarán en reposo en el servidor. Sólo será posible desactivar el cifrado en una fecha posterior si el módulo de cifrado activado soporta esa función, y todas las condiciones previas (por ejemplo, el establecimiento de una clave de recuperación) se cumplan.", + "Encryption alone does not guarantee security of the system. Please see documentation for more information about how the encryption app works, and the supported use cases." : "El cifrado no garantiza por sí solo la seguridad del sistema. Por favor, vea la documentación para más información sobre cómo funciona la app de cifrado y los casos de uso soportados.", + "Be aware that encryption always increases the file size." : "Tenga presente que la encripción siempre incrementa el tamaño del archivo.", + "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Es siempre bueno crear copias de seguridad de sus datos, en el caso del cifrado, asegúrese de tener una copia de seguridad de las claves de cifrado junto con sus datos.", + "This is the final warning: Do you really want to enable encryption?" : "Esta es la advertencia final. ¿Realmente quiere activar el cifrado?", + "Enable encryption" : "Habilitar cifrado", + "No encryption module loaded, please enable an encryption module in the app menu." : "No se ha cargado el modulo de cifrado. Por favor habilite un modulo de cifrado en el menú de aplicaciones.", + "Select default encryption module:" : "Seleccione el módulo de cifrado por defecto:", + "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please enable the \"Default encryption module\" and run 'occ encryption:migrate'" : "Necesita migrar sus claves de cifrado provenientes del antiguo sistema (ownCloud <= 8.0) al nuevo. Por favor habilite el \"Módulo de cifrado por defecto\" y ejecute 'occ encryption:migrate'", + "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Se necesita migrar las claves de cifrado del antiguo sistema (ownCloud <= 8.0) al nuevo sistema.", + "Start migration" : "Iniciar migración", + "Everything (fatal issues, errors, warnings, info, debug)" : "Todo (Información, Avisos, Errores, debug y problemas fatales)", + "Info, warnings, errors and fatal issues" : "Información, Avisos, Errores y problemas fatales", + "Warnings, errors and fatal issues" : "Advertencias, errores y problemas fatales", + "Errors and fatal issues" : "Errores y problemas fatales", + "Fatal issues only" : "Problemas fatales solamente", + "Log" : "Registro", + "What to log" : "Que registrar", + "Download logfile" : "Descargar archivo de registro", + "More" : "Más", + "Less" : "Menos", + "The logfile is bigger than 100 MB. Downloading it may take some time!" : "El archivo de registro es mayor de 100 MB. Descargarlo puede tardar.", + "Security & setup warnings" : "Avisos de seguridad y configuración", "php does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "php parece que no está configurado correctamente para solicitar las variables de entorno del sistema. La prueba con getenv(\"PATH\") sólo retorna una respuesta vacía.", "Please check the installation documentation ↗ for php configuration notes and the php configuration of your server, especially when using php-fpm." : "Por favor revisa la documentación de instalación ↗ para notas de configuración PHP y la configuración PHP de tu servidor, especialmente cuando se está usando php-fpm", "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Se ha habilitado la configuración de sólo lectura. Esto evita tener que ajustar algunas configuraciones a través de la interfaz web. Además, el archivo debe hacerse modificable manualmente para cada actualización.", @@ -158,7 +185,15 @@ "It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "No fue posible ejecutar cronjob vía CLI. Han aparecido los siguientes errores técnicos:", "Please double check the installation guides ↗, and check for any errors or warnings in the log." : "Por favor, compruebe de nuevo las guías de instalación ↗, y comprueba por cualquier error o advertencia en el Registro", "All checks passed." : "Ha pasado todos los controles", - "Open documentation" : "Abrir Documentación", + "Cron" : "Cron", + "Last cron job execution: %s." : "Cron se ejecutó por última vez: %s", + "Last cron job execution: %s. Something seems wrong." : "Cron se ejecutó por última vez: %s. Algo va mal.", + "Cron was not executed yet!" : "¡Cron aún no ha sido ejecutado!", + "Execute one task with each page loaded" : "Ejecutar una tarea con cada página cargada", + "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php se registra en un servicio webcron para llamar a cron.php cada 15 minutos a través de HTTP.", + "Use system's cron service to call the cron.php file every 15 minutes." : "Usar el servicio cron del sistema para llamar al archivo cron.php cada 15 minutos.", + "Version" : "Versión", + "Sharing" : "Compartiendo", "Allow apps to use the Share API" : "Permitir a las aplicaciones utilizar la API de Compartición", "Allow users to share via link" : "Permite a los usuarios compartir por medio de enlaces", "Allow public uploads" : "Permitir subidas públicas", @@ -175,45 +210,7 @@ "Exclude groups from sharing" : "Excluye grupos de compartir", "These groups will still be able to receive shares, but not to initiate them." : "Estos grupos aún podrán recibir contenidos compartidos, pero no podrán, pero no podrán iniciarlos.", "Allow username autocompletion in share dialog. If this is disabled the full username needs to be entered." : "Permitir autocompletación del nombre de usuario en diálogos de compartición. Si está deshabilitado, se requiere introducir el nombre de usuario.", - "Last cron job execution: %s." : "Cron se ejecutó por última vez: %s", - "Last cron job execution: %s. Something seems wrong." : "Cron se ejecutó por última vez: %s. Algo va mal.", - "Cron was not executed yet!" : "¡Cron aún no ha sido ejecutado!", - "Execute one task with each page loaded" : "Ejecutar una tarea con cada página cargada", - "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php se registra en un servicio webcron para llamar a cron.php cada 15 minutos a través de HTTP.", - "Use system's cron service to call the cron.php file every 15 minutes." : "Usar el servicio cron del sistema para llamar al archivo cron.php cada 15 minutos.", - "Enable server-side encryption" : "Habilitar cifrado en el servidor", - "Please read carefully before activating server-side encryption: " : "Por favor lea cuidadosamente antes de activar el cifrado del lado del servidor.", - "Once encryption is enabled, all files uploaded to the server from that point forward will be encrypted at rest on the server. It will only be possible to disable encryption at a later date if the active encryption module supports that function, and all pre-conditions (e.g. setting a recover key) are met." : "Una vez que el cifrado está habilitado, todos los archivos subidos al servidor desde ese punto en adelante se cifrarán en reposo en el servidor. Sólo será posible desactivar el cifrado en una fecha posterior si el módulo de cifrado activado soporta esa función, y todas las condiciones previas (por ejemplo, el establecimiento de una clave de recuperación) se cumplan.", - "Encryption alone does not guarantee security of the system. Please see documentation for more information about how the encryption app works, and the supported use cases." : "El cifrado no garantiza por sí solo la seguridad del sistema. Por favor, vea la documentación para más información sobre cómo funciona la app de cifrado y los casos de uso soportados.", - "Be aware that encryption always increases the file size." : "Tenga presente que la encripción siempre incrementa el tamaño del archivo.", - "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Es siempre bueno crear copias de seguridad de sus datos, en el caso del cifrado, asegúrese de tener una copia de seguridad de las claves de cifrado junto con sus datos.", - "This is the final warning: Do you really want to enable encryption?" : "Esta es la advertencia final. ¿Realmente quiere activar el cifrado?", - "Enable encryption" : "Habilitar cifrado", - "No encryption module loaded, please enable an encryption module in the app menu." : "No se ha cargado el modulo de cifrado. Por favor habilite un modulo de cifrado en el menú de aplicaciones.", - "Select default encryption module:" : "Seleccione el módulo de cifrado por defecto:", - "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please enable the \"Default encryption module\" and run 'occ encryption:migrate'" : "Necesita migrar sus claves de cifrado provenientes del antiguo sistema (ownCloud <= 8.0) al nuevo. Por favor habilite el \"Módulo de cifrado por defecto\" y ejecute 'occ encryption:migrate'", - "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Se necesita migrar las claves de cifrado del antiguo sistema (ownCloud <= 8.0) al nuevo sistema.", - "Start migration" : "Iniciar migración", - "This is used for sending out notifications." : "Esto se usa para enviar notificaciones.", - "Send mode" : "Modo de envío", - "Encryption" : "Cifrado", - "From address" : "Desde la dirección", - "mail" : "correo electrónico", - "Authentication method" : "Método de autenticación", - "Authentication required" : "Se necesita autenticación", - "Server address" : "Dirección del servidor", - "Port" : "Puerto", - "Credentials" : "Credenciales", - "SMTP Username" : "Nombre de usuario SMTP", - "SMTP Password" : "Contraseña SMTP", - "Store credentials" : "Almacenar credenciales", - "Test email settings" : "Probar configuración de correo electrónico", - "Send email" : "Enviar mensaje", - "What to log" : "Que registrar", - "Download logfile" : "Descargar archivo de registro", - "More" : "Más", - "Less" : "Menos", - "The logfile is bigger than 100 MB. Downloading it may take some time!" : "El archivo de registro es mayor de 100 MB. Descargarlo puede tardar.", + "Tips & tricks" : "Sugerencias y trucos", "SQLite is used as database. For larger installations we recommend to switch to a different database backend." : "Se utiliza SQLite como base de datos. Para instalaciones mas grandes se recomiende cambiar a otro sistema de base de datos. ", "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "El uso de SQLite está desaconsejado especialmente cuando se usa el cliente de escritorio para sincronizar los ficheros.", "To migrate to another database use the command line tool: 'occ db:convert-type', or see the documentation ↗." : "Para migrar a otra base de datos usa la herramienta de línea de comandos 'occ db:convert-type' o mira la documentación ↗.", @@ -223,7 +220,6 @@ "Improving the config.php" : "Mejorar el config.php", "Theming" : "Personalizar el tema", "Hardening and security guidance" : "Guía de protección y seguridad", - "Version" : "Versión", "Developer documentation" : "Documentación de desarrollador", "Experimental applications ahead" : "Aplicaciones experimentales más adelante", "Experimental apps are not checked for security issues, new or known to be unstable and under heavy development. Installing them can cause data loss or security breaches." : "Las aplicaciones experimentales no están verificadas por problemas de seguridad, recientes o conocidas por ser inestables y/o bajo un fuerte desarrollo. Instalándolas pueden causar pérdida de datos o violación de seguridades.", @@ -279,6 +275,11 @@ "Change password" : "Cambiar contraseña", "Language" : "Idioma", "Help translate" : "Ayúdanos a traducir", + "Get the apps to sync your files" : "Obtener las aplicaciones para sincronizar sus archivos", + "Desktop client" : "Cliente de escritorio", + "Android app" : "Aplicación de Android", + "iOS app" : "La aplicación de iOS", + "Show First Run Wizard again" : "Mostrar nuevamente el Asistente de ejecución inicial", "Web, desktop and mobile clients currently logged in to your account." : "Clientes web, móviles y de escritorio actualmente conectados a tu cuenta.", "Device" : "Dispositivo", "Last activity" : "Última actividad", @@ -289,12 +290,6 @@ "Use the credentials below to configure your app or device." : "Use las siguientes credenciales para configurar su app o dispositivo.", "Username" : "Nombre de usuario", "Done" : "Hecho", - "Get the apps to sync your files" : "Obtener las aplicaciones para sincronizar sus archivos", - "Desktop client" : "Cliente de escritorio", - "Android app" : "Aplicación de Android", - "iOS app" : "La aplicación de iOS", - "If you want to support the project\n\t\tjoin development\n\t\tor\n\t\tspread the word!" : "Si quiere apoyar el proyecto\n⇥⇥únase a su desarrollo\n⇥⇥o\n⇥⇥'difunda la palabra!!", - "Show First Run Wizard again" : "Mostrar nuevamente el Asistente de ejecución inicial", "Show storage location" : "Mostrar la ubicación del almacenamiento", "Show last log in" : "Mostrar el último inicio de sesión", "Show user backend" : "Mostrar motor de usuario", @@ -318,6 +313,10 @@ "change full name" : "cambiar el nombre completo", "set new password" : "establecer nueva contraseña", "change email address" : "cambiar dirección de correo electrónico", - "Default" : "Predeterminado" + "Default" : "Predeterminado", + "APCu" : "APCu", + "Redis" : "Redis", + "External Storage" : "Almacenamiento externo", + "Updates" : "Actualizaciones" },"pluralForm" :"nplurals=2; plural=(n != 1);" } \ No newline at end of file diff --git a/settings/l10n/fi_FI.js b/settings/l10n/fi_FI.js index c4d0657d86a67..016064cbeba9d 100644 --- a/settings/l10n/fi_FI.js +++ b/settings/l10n/fi_FI.js @@ -34,17 +34,6 @@ OC.L10N.register( "Email saved" : "Sähköposti tallennettu", "Your full name has been changed." : "Koko nimesi on muutettu.", "Unable to change full name" : "Koko nimen muuttaminen epäonnistui", - "APCu" : "APCu", - "Redis" : "Redis", - "Security & setup warnings" : "Turvallisuus- ja asetusvaroitukset", - "Sharing" : "Jakaminen", - "Server-side encryption" : "Palvelinpään salaus", - "External Storage" : "Erillinen tallennusväline", - "Cron" : "Cron", - "Email server" : "Sähköpostipalvelin", - "Log" : "Loki", - "Tips & tricks" : "Vinkit", - "Updates" : "Päivitykset", "Couldn't remove app." : "Sovelluksen poistaminen epäonnistui.", "Language changed" : "Kieli on vaihdettu", "Invalid request" : "Virheellinen pyyntö", @@ -114,16 +103,51 @@ OC.L10N.register( "Sessions" : "Istunnot", "App passwords" : "Sovellusten salasanat", "Sync clients" : "Synkronointisovellukset", - "Everything (fatal issues, errors, warnings, info, debug)" : "Kaikki (vakavat ongelmat, virheet, varoitukset, tiedot, vianjäljitys)", - "Info, warnings, errors and fatal issues" : "Tiedot, varoitukset, virheet ja vakavat ongelmat", - "Warnings, errors and fatal issues" : "Varoitukset, virheet ja vakavat ongelmat", - "Errors and fatal issues" : "Virheet ja vakavat ongelmat", - "Fatal issues only" : "Vain vakavat ongelmat", "None" : "Ei mitään", "Login" : "Kirjaudu", "NT LAN Manager" : "NT LAN Manager", "SSL" : "SSL", "TLS" : "TLS", + "Email server" : "Sähköpostipalvelin", + "Open documentation" : "Avaa dokumentaatio", + "This is used for sending out notifications." : "Tätä käytetään ilmoitusten lähettämiseen.", + "Send mode" : "Lähetystila", + "Encryption" : "Salaus", + "From address" : "Lähettäjän osoite", + "Authentication method" : "Tunnistautumistapa", + "Authentication required" : "Tunnistautuminen vaaditaan", + "Server address" : "Palvelimen osoite", + "Port" : "Portti", + "Credentials" : "Tilitiedot", + "SMTP Username" : "SMTP-käyttäjätunnus", + "SMTP Password" : "SMTP-salasana", + "Store credentials" : "Säilytä tilitiedot", + "Test email settings" : "Testaa sähköpostiasetukset", + "Send email" : "Lähetä sähköpostiviesti", + "Server-side encryption" : "Palvelinpään salaus", + "Enable server-side encryption" : "Käytä palvelinpään salausta", + "Please read carefully before activating server-side encryption: " : "Lue tarkasti, ennen kuin otat palvelinpään salauksen käyttöön:", + "Be aware that encryption always increases the file size." : "Ota huomioon, että salaus kasvattaa aina tiedostojen kokoa.", + "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Säännöllisten varmuuskopioiden ottaminen on erittäin tärkeää. Jos olet ottanut salauksen käyttöön, huolehdi salausavainten varmuuskopioinnista.", + "This is the final warning: Do you really want to enable encryption?" : "Tämä on viimeinen varoitus: haluatko varmasti ottaa salauksen käyttöön?", + "Enable encryption" : "Käytä salausta", + "No encryption module loaded, please enable an encryption module in the app menu." : "Salausmoduulia ei ole käytössä. Ota salausmoduuli käyttöön sovellusvalikosta.", + "Select default encryption module:" : "Valitse oletuksena käytettävä salausmoduuli:", + "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please enable the \"Default encryption module\" and run 'occ encryption:migrate'" : "Sinun täytyy siirtää salausavaimet vanhasta salaustekniikasta (ownCloud <= 8.0) uuteen. Ota \"Default encryption module\" käyttöön ja suorita komento 'occ encryption:migrate'", + "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Sinun täytyy siirtää salausavaimet vanhasta salaustekniikasta (ownCloud <= 8.0) uuteen.", + "Start migration" : "Käynnistä migraatio", + "Everything (fatal issues, errors, warnings, info, debug)" : "Kaikki (vakavat ongelmat, virheet, varoitukset, tiedot, vianjäljitys)", + "Info, warnings, errors and fatal issues" : "Tiedot, varoitukset, virheet ja vakavat ongelmat", + "Warnings, errors and fatal issues" : "Varoitukset, virheet ja vakavat ongelmat", + "Errors and fatal issues" : "Virheet ja vakavat ongelmat", + "Fatal issues only" : "Vain vakavat ongelmat", + "Log" : "Loki", + "What to log" : "Mitä kerätään lokiin", + "Download logfile" : "Lataa lokitiedosto", + "More" : "Enemmän", + "Less" : "Vähemmän", + "The logfile is bigger than 100 MB. Downloading it may take some time!" : "Lokitiedosto on kooltaan yli 100 megatavua. Sen lataaminen saattaa kestää hetken.", + "Security & setup warnings" : "Turvallisuus- ja asetusvaroitukset", "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Vain luku -asetukset on otettu käyttöön. Tämä estää joidenkin asetusten määrittämisen selainkäyttöliittymän kautta. Lisäksi kyseinen tiedostoon tulee asettaa kirjoitusoikeus käsin joka päivityksen yhteydessä.", "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Tämä johtuu todennäköisesti välimuistista tai kiihdyttimestä kuten Zend OPcachesta tai eAcceleratorista.", "%1$s below version %2$s is installed, for stability and performance reasons we recommend updating to a newer %1$s version." : "%1$s alle version %2$s on asennettu. Vakauden ja suorituskyvyn vuoksi suosittelemme päivittämään uudempaan %1$s-versioon.", @@ -133,7 +157,15 @@ OC.L10N.register( "We strongly suggest installing the required packages on your system to support one of the following locales: %s." : "Suosittelemme asentamaan vaaditut paketit järjestelmään, jotta järjestelmässä on tuki yhdelle seuraavista maa-asetuksista: %s.", "It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "Cron-työn suorittaminen komentorivin kautta ei onnistunut. Ilmeni seuraavia teknisiä virheitä:", "All checks passed." : "Läpäistiin kaikki tarkistukset.", - "Open documentation" : "Avaa dokumentaatio", + "Cron" : "Cron", + "Last cron job execution: %s." : "Viimeisin cron-työn suoritus: %s.", + "Last cron job execution: %s. Something seems wrong." : "Viimeisin cron-työn suoritus: %s. Jokin vaikuttaa menneen pieleen.", + "Cron was not executed yet!" : "Cronia ei suoritettu vielä!", + "Execute one task with each page loaded" : "Suorita yksi tehtävä jokaista ladattua sivua kohden", + "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php kutsuu webcron-palvelun kautta cron.php:ta 15 minuutin välein http:tä käyttäen.", + "Use system's cron service to call the cron.php file every 15 minutes." : "Käytä järjestelmän cron-palvelua cron.php-tiedoston kutsumista varten 15 minuutin välein.", + "Version" : "Versio", + "Sharing" : "Jakaminen", "Allow apps to use the Share API" : "Salli sovellusten käyttää jakamisen ohjelmointirajapintaa", "Allow users to share via link" : "Salli käyttäjien jakaa linkkien kautta", "Allow public uploads" : "Salli julkiset lähetykset", @@ -150,42 +182,7 @@ OC.L10N.register( "Exclude groups from sharing" : "Kiellä ryhmiä jakamasta", "These groups will still be able to receive shares, but not to initiate them." : "Nämä ryhmät kykenevät vastaanottamaan jakoja, mutta eivät kuitenkaan itse pysty luoda jakoja.", "Allow username autocompletion in share dialog. If this is disabled the full username needs to be entered." : "Salli käyttäjätunnuksen automaattinen täydentäminen jakamisikkunnassa. Jos tämä asetus on pois käytöstä, tulee käyttäjätunnus kirjoittaa kokonaan itse.", - "Last cron job execution: %s." : "Viimeisin cron-työn suoritus: %s.", - "Last cron job execution: %s. Something seems wrong." : "Viimeisin cron-työn suoritus: %s. Jokin vaikuttaa menneen pieleen.", - "Cron was not executed yet!" : "Cronia ei suoritettu vielä!", - "Execute one task with each page loaded" : "Suorita yksi tehtävä jokaista ladattua sivua kohden", - "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php kutsuu webcron-palvelun kautta cron.php:ta 15 minuutin välein http:tä käyttäen.", - "Use system's cron service to call the cron.php file every 15 minutes." : "Käytä järjestelmän cron-palvelua cron.php-tiedoston kutsumista varten 15 minuutin välein.", - "Enable server-side encryption" : "Käytä palvelinpään salausta", - "Please read carefully before activating server-side encryption: " : "Lue tarkasti, ennen kuin otat palvelinpään salauksen käyttöön:", - "Be aware that encryption always increases the file size." : "Ota huomioon, että salaus kasvattaa aina tiedostojen kokoa.", - "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Säännöllisten varmuuskopioiden ottaminen on erittäin tärkeää. Jos olet ottanut salauksen käyttöön, huolehdi salausavainten varmuuskopioinnista.", - "This is the final warning: Do you really want to enable encryption?" : "Tämä on viimeinen varoitus: haluatko varmasti ottaa salauksen käyttöön?", - "Enable encryption" : "Käytä salausta", - "No encryption module loaded, please enable an encryption module in the app menu." : "Salausmoduulia ei ole käytössä. Ota salausmoduuli käyttöön sovellusvalikosta.", - "Select default encryption module:" : "Valitse oletuksena käytettävä salausmoduuli:", - "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please enable the \"Default encryption module\" and run 'occ encryption:migrate'" : "Sinun täytyy siirtää salausavaimet vanhasta salaustekniikasta (ownCloud <= 8.0) uuteen. Ota \"Default encryption module\" käyttöön ja suorita komento 'occ encryption:migrate'", - "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Sinun täytyy siirtää salausavaimet vanhasta salaustekniikasta (ownCloud <= 8.0) uuteen.", - "Start migration" : "Käynnistä migraatio", - "This is used for sending out notifications." : "Tätä käytetään ilmoitusten lähettämiseen.", - "Send mode" : "Lähetystila", - "Encryption" : "Salaus", - "From address" : "Lähettäjän osoite", - "Authentication method" : "Tunnistautumistapa", - "Authentication required" : "Tunnistautuminen vaaditaan", - "Server address" : "Palvelimen osoite", - "Port" : "Portti", - "Credentials" : "Tilitiedot", - "SMTP Username" : "SMTP-käyttäjätunnus", - "SMTP Password" : "SMTP-salasana", - "Store credentials" : "Säilytä tilitiedot", - "Test email settings" : "Testaa sähköpostiasetukset", - "Send email" : "Lähetä sähköpostiviesti", - "What to log" : "Mitä kerätään lokiin", - "Download logfile" : "Lataa lokitiedosto", - "More" : "Enemmän", - "Less" : "Vähemmän", - "The logfile is bigger than 100 MB. Downloading it may take some time!" : "Lokitiedosto on kooltaan yli 100 megatavua. Sen lataaminen saattaa kestää hetken.", + "Tips & tricks" : "Vinkit", "SQLite is used as database. For larger installations we recommend to switch to a different database backend." : "SQLitea käytetään tietokantana. Suuria asennuksia varten on suositeltavaa vaihtaa muuhun tietokantaan.", "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "Varsinkin työpöytäsovelluksen tiedostosynkronointia käyttäessä SQLiten käyttö ei ole suositeltavaa.", "How to do backups" : "Kuinka tehdä varmuuskopioita", @@ -194,7 +191,6 @@ OC.L10N.register( "Improving the config.php" : "Config.php-tiedoston parantaminen", "Theming" : "Teemojen käyttö", "Hardening and security guidance" : "Turvaamis- ja tietoturvaopas", - "Version" : "Versio", "Developer documentation" : "Kehittäjädokumentaatio", "Experimental applications ahead" : "Kokeellisia sovelluksia edessä", "Experimental apps are not checked for security issues, new or known to be unstable and under heavy development. Installing them can cause data loss or security breaches." : "Kokeellisia sovelluksia ei ole tarkistettu tietoturvauhkien varalta. Sovellukset ovat uusia, ne saattavat olla epävakaita ja ovat nopean kehityksen alaisia. Kokeellisten sovellusten asentaminen saattaa aiheuttaa tietojen katoamista tai tietoturvauhkia.", @@ -248,16 +244,16 @@ OC.L10N.register( "Change password" : "Vaihda salasana", "Language" : "Kieli", "Help translate" : "Auta kääntämisessä", - "Name" : "Nimi", - "App name" : "Sovelluksen nimi", - "Create new app password" : "Luo uusi sovellussalasana", - "Username" : "Käyttäjätunnus", - "Done" : "Valmis", "Get the apps to sync your files" : "Aseta sovellukset synkronoimaan tiedostosi", "Desktop client" : "Työpöytäsovellus", "Android app" : "Android-sovellus", "iOS app" : "iOS-sovellus", "Show First Run Wizard again" : "Näytä ensimmäisen käyttökerran avustaja uudelleen", + "Name" : "Nimi", + "App name" : "Sovelluksen nimi", + "Create new app password" : "Luo uusi sovellussalasana", + "Username" : "Käyttäjätunnus", + "Done" : "Valmis", "Show storage location" : "Näytä tallennustilan sijainti", "Show last log in" : "Näytä viimeisin sisäänkirjautuminen", "Show user backend" : "Näytä käyttäjätaustaosa", @@ -276,6 +272,10 @@ OC.L10N.register( "change full name" : "muuta koko nimi", "set new password" : "aseta uusi salasana", "change email address" : "vaihda sähköpostiosoite", - "Default" : "Oletus" + "Default" : "Oletus", + "APCu" : "APCu", + "Redis" : "Redis", + "External Storage" : "Erillinen tallennusväline", + "Updates" : "Päivitykset" }, "nplurals=2; plural=(n != 1);"); diff --git a/settings/l10n/fi_FI.json b/settings/l10n/fi_FI.json index b2c32b1e6ff66..a076736fcfcb6 100644 --- a/settings/l10n/fi_FI.json +++ b/settings/l10n/fi_FI.json @@ -32,17 +32,6 @@ "Email saved" : "Sähköposti tallennettu", "Your full name has been changed." : "Koko nimesi on muutettu.", "Unable to change full name" : "Koko nimen muuttaminen epäonnistui", - "APCu" : "APCu", - "Redis" : "Redis", - "Security & setup warnings" : "Turvallisuus- ja asetusvaroitukset", - "Sharing" : "Jakaminen", - "Server-side encryption" : "Palvelinpään salaus", - "External Storage" : "Erillinen tallennusväline", - "Cron" : "Cron", - "Email server" : "Sähköpostipalvelin", - "Log" : "Loki", - "Tips & tricks" : "Vinkit", - "Updates" : "Päivitykset", "Couldn't remove app." : "Sovelluksen poistaminen epäonnistui.", "Language changed" : "Kieli on vaihdettu", "Invalid request" : "Virheellinen pyyntö", @@ -112,16 +101,51 @@ "Sessions" : "Istunnot", "App passwords" : "Sovellusten salasanat", "Sync clients" : "Synkronointisovellukset", - "Everything (fatal issues, errors, warnings, info, debug)" : "Kaikki (vakavat ongelmat, virheet, varoitukset, tiedot, vianjäljitys)", - "Info, warnings, errors and fatal issues" : "Tiedot, varoitukset, virheet ja vakavat ongelmat", - "Warnings, errors and fatal issues" : "Varoitukset, virheet ja vakavat ongelmat", - "Errors and fatal issues" : "Virheet ja vakavat ongelmat", - "Fatal issues only" : "Vain vakavat ongelmat", "None" : "Ei mitään", "Login" : "Kirjaudu", "NT LAN Manager" : "NT LAN Manager", "SSL" : "SSL", "TLS" : "TLS", + "Email server" : "Sähköpostipalvelin", + "Open documentation" : "Avaa dokumentaatio", + "This is used for sending out notifications." : "Tätä käytetään ilmoitusten lähettämiseen.", + "Send mode" : "Lähetystila", + "Encryption" : "Salaus", + "From address" : "Lähettäjän osoite", + "Authentication method" : "Tunnistautumistapa", + "Authentication required" : "Tunnistautuminen vaaditaan", + "Server address" : "Palvelimen osoite", + "Port" : "Portti", + "Credentials" : "Tilitiedot", + "SMTP Username" : "SMTP-käyttäjätunnus", + "SMTP Password" : "SMTP-salasana", + "Store credentials" : "Säilytä tilitiedot", + "Test email settings" : "Testaa sähköpostiasetukset", + "Send email" : "Lähetä sähköpostiviesti", + "Server-side encryption" : "Palvelinpään salaus", + "Enable server-side encryption" : "Käytä palvelinpään salausta", + "Please read carefully before activating server-side encryption: " : "Lue tarkasti, ennen kuin otat palvelinpään salauksen käyttöön:", + "Be aware that encryption always increases the file size." : "Ota huomioon, että salaus kasvattaa aina tiedostojen kokoa.", + "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Säännöllisten varmuuskopioiden ottaminen on erittäin tärkeää. Jos olet ottanut salauksen käyttöön, huolehdi salausavainten varmuuskopioinnista.", + "This is the final warning: Do you really want to enable encryption?" : "Tämä on viimeinen varoitus: haluatko varmasti ottaa salauksen käyttöön?", + "Enable encryption" : "Käytä salausta", + "No encryption module loaded, please enable an encryption module in the app menu." : "Salausmoduulia ei ole käytössä. Ota salausmoduuli käyttöön sovellusvalikosta.", + "Select default encryption module:" : "Valitse oletuksena käytettävä salausmoduuli:", + "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please enable the \"Default encryption module\" and run 'occ encryption:migrate'" : "Sinun täytyy siirtää salausavaimet vanhasta salaustekniikasta (ownCloud <= 8.0) uuteen. Ota \"Default encryption module\" käyttöön ja suorita komento 'occ encryption:migrate'", + "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Sinun täytyy siirtää salausavaimet vanhasta salaustekniikasta (ownCloud <= 8.0) uuteen.", + "Start migration" : "Käynnistä migraatio", + "Everything (fatal issues, errors, warnings, info, debug)" : "Kaikki (vakavat ongelmat, virheet, varoitukset, tiedot, vianjäljitys)", + "Info, warnings, errors and fatal issues" : "Tiedot, varoitukset, virheet ja vakavat ongelmat", + "Warnings, errors and fatal issues" : "Varoitukset, virheet ja vakavat ongelmat", + "Errors and fatal issues" : "Virheet ja vakavat ongelmat", + "Fatal issues only" : "Vain vakavat ongelmat", + "Log" : "Loki", + "What to log" : "Mitä kerätään lokiin", + "Download logfile" : "Lataa lokitiedosto", + "More" : "Enemmän", + "Less" : "Vähemmän", + "The logfile is bigger than 100 MB. Downloading it may take some time!" : "Lokitiedosto on kooltaan yli 100 megatavua. Sen lataaminen saattaa kestää hetken.", + "Security & setup warnings" : "Turvallisuus- ja asetusvaroitukset", "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Vain luku -asetukset on otettu käyttöön. Tämä estää joidenkin asetusten määrittämisen selainkäyttöliittymän kautta. Lisäksi kyseinen tiedostoon tulee asettaa kirjoitusoikeus käsin joka päivityksen yhteydessä.", "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Tämä johtuu todennäköisesti välimuistista tai kiihdyttimestä kuten Zend OPcachesta tai eAcceleratorista.", "%1$s below version %2$s is installed, for stability and performance reasons we recommend updating to a newer %1$s version." : "%1$s alle version %2$s on asennettu. Vakauden ja suorituskyvyn vuoksi suosittelemme päivittämään uudempaan %1$s-versioon.", @@ -131,7 +155,15 @@ "We strongly suggest installing the required packages on your system to support one of the following locales: %s." : "Suosittelemme asentamaan vaaditut paketit järjestelmään, jotta järjestelmässä on tuki yhdelle seuraavista maa-asetuksista: %s.", "It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "Cron-työn suorittaminen komentorivin kautta ei onnistunut. Ilmeni seuraavia teknisiä virheitä:", "All checks passed." : "Läpäistiin kaikki tarkistukset.", - "Open documentation" : "Avaa dokumentaatio", + "Cron" : "Cron", + "Last cron job execution: %s." : "Viimeisin cron-työn suoritus: %s.", + "Last cron job execution: %s. Something seems wrong." : "Viimeisin cron-työn suoritus: %s. Jokin vaikuttaa menneen pieleen.", + "Cron was not executed yet!" : "Cronia ei suoritettu vielä!", + "Execute one task with each page loaded" : "Suorita yksi tehtävä jokaista ladattua sivua kohden", + "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php kutsuu webcron-palvelun kautta cron.php:ta 15 minuutin välein http:tä käyttäen.", + "Use system's cron service to call the cron.php file every 15 minutes." : "Käytä järjestelmän cron-palvelua cron.php-tiedoston kutsumista varten 15 minuutin välein.", + "Version" : "Versio", + "Sharing" : "Jakaminen", "Allow apps to use the Share API" : "Salli sovellusten käyttää jakamisen ohjelmointirajapintaa", "Allow users to share via link" : "Salli käyttäjien jakaa linkkien kautta", "Allow public uploads" : "Salli julkiset lähetykset", @@ -148,42 +180,7 @@ "Exclude groups from sharing" : "Kiellä ryhmiä jakamasta", "These groups will still be able to receive shares, but not to initiate them." : "Nämä ryhmät kykenevät vastaanottamaan jakoja, mutta eivät kuitenkaan itse pysty luoda jakoja.", "Allow username autocompletion in share dialog. If this is disabled the full username needs to be entered." : "Salli käyttäjätunnuksen automaattinen täydentäminen jakamisikkunnassa. Jos tämä asetus on pois käytöstä, tulee käyttäjätunnus kirjoittaa kokonaan itse.", - "Last cron job execution: %s." : "Viimeisin cron-työn suoritus: %s.", - "Last cron job execution: %s. Something seems wrong." : "Viimeisin cron-työn suoritus: %s. Jokin vaikuttaa menneen pieleen.", - "Cron was not executed yet!" : "Cronia ei suoritettu vielä!", - "Execute one task with each page loaded" : "Suorita yksi tehtävä jokaista ladattua sivua kohden", - "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php kutsuu webcron-palvelun kautta cron.php:ta 15 minuutin välein http:tä käyttäen.", - "Use system's cron service to call the cron.php file every 15 minutes." : "Käytä järjestelmän cron-palvelua cron.php-tiedoston kutsumista varten 15 minuutin välein.", - "Enable server-side encryption" : "Käytä palvelinpään salausta", - "Please read carefully before activating server-side encryption: " : "Lue tarkasti, ennen kuin otat palvelinpään salauksen käyttöön:", - "Be aware that encryption always increases the file size." : "Ota huomioon, että salaus kasvattaa aina tiedostojen kokoa.", - "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Säännöllisten varmuuskopioiden ottaminen on erittäin tärkeää. Jos olet ottanut salauksen käyttöön, huolehdi salausavainten varmuuskopioinnista.", - "This is the final warning: Do you really want to enable encryption?" : "Tämä on viimeinen varoitus: haluatko varmasti ottaa salauksen käyttöön?", - "Enable encryption" : "Käytä salausta", - "No encryption module loaded, please enable an encryption module in the app menu." : "Salausmoduulia ei ole käytössä. Ota salausmoduuli käyttöön sovellusvalikosta.", - "Select default encryption module:" : "Valitse oletuksena käytettävä salausmoduuli:", - "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please enable the \"Default encryption module\" and run 'occ encryption:migrate'" : "Sinun täytyy siirtää salausavaimet vanhasta salaustekniikasta (ownCloud <= 8.0) uuteen. Ota \"Default encryption module\" käyttöön ja suorita komento 'occ encryption:migrate'", - "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Sinun täytyy siirtää salausavaimet vanhasta salaustekniikasta (ownCloud <= 8.0) uuteen.", - "Start migration" : "Käynnistä migraatio", - "This is used for sending out notifications." : "Tätä käytetään ilmoitusten lähettämiseen.", - "Send mode" : "Lähetystila", - "Encryption" : "Salaus", - "From address" : "Lähettäjän osoite", - "Authentication method" : "Tunnistautumistapa", - "Authentication required" : "Tunnistautuminen vaaditaan", - "Server address" : "Palvelimen osoite", - "Port" : "Portti", - "Credentials" : "Tilitiedot", - "SMTP Username" : "SMTP-käyttäjätunnus", - "SMTP Password" : "SMTP-salasana", - "Store credentials" : "Säilytä tilitiedot", - "Test email settings" : "Testaa sähköpostiasetukset", - "Send email" : "Lähetä sähköpostiviesti", - "What to log" : "Mitä kerätään lokiin", - "Download logfile" : "Lataa lokitiedosto", - "More" : "Enemmän", - "Less" : "Vähemmän", - "The logfile is bigger than 100 MB. Downloading it may take some time!" : "Lokitiedosto on kooltaan yli 100 megatavua. Sen lataaminen saattaa kestää hetken.", + "Tips & tricks" : "Vinkit", "SQLite is used as database. For larger installations we recommend to switch to a different database backend." : "SQLitea käytetään tietokantana. Suuria asennuksia varten on suositeltavaa vaihtaa muuhun tietokantaan.", "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "Varsinkin työpöytäsovelluksen tiedostosynkronointia käyttäessä SQLiten käyttö ei ole suositeltavaa.", "How to do backups" : "Kuinka tehdä varmuuskopioita", @@ -192,7 +189,6 @@ "Improving the config.php" : "Config.php-tiedoston parantaminen", "Theming" : "Teemojen käyttö", "Hardening and security guidance" : "Turvaamis- ja tietoturvaopas", - "Version" : "Versio", "Developer documentation" : "Kehittäjädokumentaatio", "Experimental applications ahead" : "Kokeellisia sovelluksia edessä", "Experimental apps are not checked for security issues, new or known to be unstable and under heavy development. Installing them can cause data loss or security breaches." : "Kokeellisia sovelluksia ei ole tarkistettu tietoturvauhkien varalta. Sovellukset ovat uusia, ne saattavat olla epävakaita ja ovat nopean kehityksen alaisia. Kokeellisten sovellusten asentaminen saattaa aiheuttaa tietojen katoamista tai tietoturvauhkia.", @@ -246,16 +242,16 @@ "Change password" : "Vaihda salasana", "Language" : "Kieli", "Help translate" : "Auta kääntämisessä", - "Name" : "Nimi", - "App name" : "Sovelluksen nimi", - "Create new app password" : "Luo uusi sovellussalasana", - "Username" : "Käyttäjätunnus", - "Done" : "Valmis", "Get the apps to sync your files" : "Aseta sovellukset synkronoimaan tiedostosi", "Desktop client" : "Työpöytäsovellus", "Android app" : "Android-sovellus", "iOS app" : "iOS-sovellus", "Show First Run Wizard again" : "Näytä ensimmäisen käyttökerran avustaja uudelleen", + "Name" : "Nimi", + "App name" : "Sovelluksen nimi", + "Create new app password" : "Luo uusi sovellussalasana", + "Username" : "Käyttäjätunnus", + "Done" : "Valmis", "Show storage location" : "Näytä tallennustilan sijainti", "Show last log in" : "Näytä viimeisin sisäänkirjautuminen", "Show user backend" : "Näytä käyttäjätaustaosa", @@ -274,6 +270,10 @@ "change full name" : "muuta koko nimi", "set new password" : "aseta uusi salasana", "change email address" : "vaihda sähköpostiosoite", - "Default" : "Oletus" + "Default" : "Oletus", + "APCu" : "APCu", + "Redis" : "Redis", + "External Storage" : "Erillinen tallennusväline", + "Updates" : "Päivitykset" },"pluralForm" :"nplurals=2; plural=(n != 1);" } \ No newline at end of file diff --git a/settings/l10n/fr.js b/settings/l10n/fr.js index 4a4a920b42ce6..66e9e09182326 100644 --- a/settings/l10n/fr.js +++ b/settings/l10n/fr.js @@ -35,17 +35,6 @@ OC.L10N.register( "Email saved" : "E-mail sauvegardé", "Your full name has been changed." : "Votre nom complet a été modifié.", "Unable to change full name" : "Impossible de changer le nom complet", - "APCu" : "APCu", - "Redis" : "Redis", - "Security & setup warnings" : "Avertissements de sécurité & configuration", - "Sharing" : "Partage", - "Server-side encryption" : "Chiffrement côté serveur", - "External Storage" : "Stockage externe", - "Cron" : "Cron", - "Email server" : "Serveur e-mail", - "Log" : "Log", - "Tips & tricks" : "Trucs et astuces", - "Updates" : "Mises à jour", "Couldn't remove app." : "Impossible de supprimer l'application.", "Language changed" : "Langue changée", "Invalid request" : "Requête non valide", @@ -68,7 +57,7 @@ OC.L10N.register( "Approved apps are developed by trusted developers and have passed a cursory security check. They are actively maintained in an open code repository and their maintainers deem them to be stable for casual to normal use." : "Les applications approuvées sont créées par des développeurs de confiance et ont passé les tests de sécurité. Elles sont activement maintenues et leur code source est ouvert. Leurs développeurs les considèrent stables pour une utilisation normale.", "This app is not checked for security issues and is new or known to be unstable. Install at your own risk." : "Cette application est nouvelle ou instable, et sa sécurité n'a pas été vérifiée. Installez-la à vos risques et périls!", "Update to %s" : "Mettre à niveau vers la version %s", - "_You have %n app update pending_::_You have %n app updates pending_" : ["Vous avez %n application qui attend ça mise a jour .","Vous avez %n applications qui attendent leurs mise a jour ."], + "_You have %n app update pending_::_You have %n app updates pending_" : ["Vous avez %n application qui attend ça mise a jour .","Vous avez %n applications en attente de mise à jour"], "Please wait...." : "Veuillez patienter…", "Error while disabling app" : "Erreur lors de la désactivation de l'application", "Disable" : "Désactiver", @@ -133,17 +122,55 @@ OC.L10N.register( "Sessions" : "Sessions", "App passwords" : "Mots de passe de l'application", "Sync clients" : "Clients de synchronisation", - "Everything (fatal issues, errors, warnings, info, debug)" : "Tout (erreurs fatales, erreurs, avertissements, informations, debogage)", - "Info, warnings, errors and fatal issues" : "Informations, avertissements, erreurs et erreurs fatales", - "Warnings, errors and fatal issues" : "Avertissements, erreurs et erreurs fatales", - "Errors and fatal issues" : "Erreurs et erreurs fatales", - "Fatal issues only" : "Erreurs fatales uniquement", "None" : "Aucun", "Login" : "Login", "Plain" : "En clair", "NT LAN Manager" : "Gestionnaire du réseau NT", "SSL" : "SSL", "TLS" : "TLS", + "Email server" : "Serveur e-mail", + "Open documentation" : "Voir la documentation", + "This is used for sending out notifications." : "Ceci est utilisé pour l'envoi des notifications.", + "Send mode" : "Mode d'envoi", + "Encryption" : "Chiffrement", + "From address" : "Adresse source", + "mail" : "e-mail", + "Authentication method" : "Méthode d'authentification", + "Authentication required" : "Authentification requise", + "Server address" : "Adresse du serveur", + "Port" : "Port", + "Credentials" : "Informations d'identification", + "SMTP Username" : "Nom d'utilisateur SMTP", + "SMTP Password" : "Mot de passe SMTP", + "Store credentials" : "Enregistrer les identifiants", + "Test email settings" : "Tester les paramètres e-mail", + "Send email" : "Envoyer un e-mail", + "Server-side encryption" : "Chiffrement côté serveur", + "Enable server-side encryption" : "Activer le chiffrement côté serveur", + "Please read carefully before activating server-side encryption: " : "Veuillez lire ceci avec attention avant d'activer le chiffrement :", + "Once encryption is enabled, all files uploaded to the server from that point forward will be encrypted at rest on the server. It will only be possible to disable encryption at a later date if the active encryption module supports that function, and all pre-conditions (e.g. setting a recover key) are met." : "Une fois le chiffrement activé, les fichiers téléversés sur le serveur à partir de ce moment seront stockés sous forme chiffrée. Il n'est possible de désactiver le chiffrement que si le module utilisé le permet spécifiquement, et que toutes les conditions préalables sont réunies pour ce faire (par exemple la création d'une clef de récupération).", + "Encryption alone does not guarantee security of the system. Please see documentation for more information about how the encryption app works, and the supported use cases." : "Le chiffrement seul ne garantit pas la sécurité du système. Veuillez consulter la documentation pour plus d'informations à propos du fonction de l'application de chiffrement, et des cas d'utilisations supportés.", + "Be aware that encryption always increases the file size." : "Veuillez noter que le chiffrement augmente toujours la taille des fichiers.", + "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Il est opportun de sauvegarder régulièrement vos données. Si ces données sont chiffrées, n'oubliez pas de sauvegarder aussi les clés de chiffrement.", + "This is the final warning: Do you really want to enable encryption?" : "Dernier avertissement : Voulez-vous vraiment activer le chiffrement ?", + "Enable encryption" : "Activer le chiffrement", + "No encryption module loaded, please enable an encryption module in the app menu." : "Aucun module de chiffrement n'est chargé. Merci d'activer un module de chiffrement dans le menu des applications.", + "Select default encryption module:" : "Sélectionnez le module de chiffrement par défaut :", + "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please enable the \"Default encryption module\" and run 'occ encryption:migrate'" : "Vous devez migrer vos clés de chiffrement de l'ancienne version (ownCloud <= 8.0) vers la nouvelle. Veuillez activer l'application \"Default Encryption Module\" et exécuter 'occ encryption:migrate'", + "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Vous devez migrer vos clés de chiffrement de l'ancienne version (ownCloud <= 8.0) vers la nouvelle.", + "Start migration" : "Démarrer la migration", + "Everything (fatal issues, errors, warnings, info, debug)" : "Tout (erreurs fatales, erreurs, avertissements, informations, debogage)", + "Info, warnings, errors and fatal issues" : "Informations, avertissements, erreurs et erreurs fatales", + "Warnings, errors and fatal issues" : "Avertissements, erreurs et erreurs fatales", + "Errors and fatal issues" : "Erreurs et erreurs fatales", + "Fatal issues only" : "Erreurs fatales uniquement", + "Log" : "Log", + "What to log" : "Ce qu'il faut journaliser", + "Download logfile" : "Télécharger le fichier de journalisation", + "More" : "Plus", + "Less" : "Moins", + "The logfile is bigger than 100 MB. Downloading it may take some time!" : "La taille du fichier journal excède 100 Mo. Le télécharger peut prendre un certain temps!", + "Security & setup warnings" : "Avertissements de sécurité & configuration", "php does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "php ne semble pas être configuré de manière à récupérer les valeurs des variables d’environnement. Le test de la commande getenv(\"PATH\") retourne seulement une réponse vide. ", "Please check the installation documentation ↗ for php configuration notes and the php configuration of your server, especially when using php-fpm." : "Veuillez consulter la documentation d'installation ↗ pour savoir comment configurer php sur votre serveur, en particulier en cas d'utilisation de php-fpm.", "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "La configuration est en mode lecture seule. Ceci empêche la modification de certaines configurations via l'interface web. De plus, le fichier doit être passé manuellement en lecture-écriture avant chaque mise à jour.", @@ -160,7 +187,15 @@ OC.L10N.register( "It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "La tâche cron n'a pu s'exécuter via CLI. Ces erreurs techniques sont apparues :", "Please double check the installation guides ↗, and check for any errors or warnings in the log." : "Consultez les guides d'installation ↗, et cherchez des erreurs ou avertissements dans les logs.", "All checks passed." : "Tous les tests ont réussi.", - "Open documentation" : "Voir la documentation", + "Cron" : "Cron", + "Last cron job execution: %s." : "Dernière tâche cron exécutée : %s.", + "Last cron job execution: %s. Something seems wrong." : "Dernière tâche cron exécutée : %s. Quelque chose s'est mal passé.", + "Cron was not executed yet!" : "Le cron n'a pas encore été exécuté !", + "Execute one task with each page loaded" : "Exécute une tâche à chaque chargement de page", + "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "Utilisez un service webcron pour exécuter cron.php toutes les 15 minutes par HTTP", + "Use system's cron service to call the cron.php file every 15 minutes." : "Utilisez le service cron du système pour appeler le fichier cron.php toutes les 15 minutes.", + "Version" : "Version", + "Sharing" : "Partage", "Allow apps to use the Share API" : "Autoriser les applications à utiliser l'API de partage", "Allow users to share via link" : "Autoriser les utilisateurs à partager par lien", "Allow public uploads" : "Autoriser les téléversements publics", @@ -177,45 +212,7 @@ OC.L10N.register( "Exclude groups from sharing" : "Empêcher certains groupes de partager", "These groups will still be able to receive shares, but not to initiate them." : "Ces groupes ne pourront plus initier de partage, mais ils pourront toujours rejoindre les partages faits par d'autres. ", "Allow username autocompletion in share dialog. If this is disabled the full username needs to be entered." : "Activer l'autocomplétion des noms d'utilisateurs dans la fenêtre de partage. Si cette option est désactivée, les noms complets doivent être indiqués.", - "Last cron job execution: %s." : "Dernière tâche cron exécutée : %s.", - "Last cron job execution: %s. Something seems wrong." : "Dernière tâche cron exécutée : %s. Quelque chose s'est mal passé.", - "Cron was not executed yet!" : "Le cron n'a pas encore été exécuté !", - "Execute one task with each page loaded" : "Exécute une tâche à chaque chargement de page", - "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "Utilisez un service webcron pour exécuter cron.php toutes les 15 minutes par HTTP", - "Use system's cron service to call the cron.php file every 15 minutes." : "Utilisez le service cron du système pour appeler le fichier cron.php toutes les 15 minutes.", - "Enable server-side encryption" : "Activer le chiffrement côté serveur", - "Please read carefully before activating server-side encryption: " : "Veuillez lire ceci avec attention avant d'activer le chiffrement :", - "Once encryption is enabled, all files uploaded to the server from that point forward will be encrypted at rest on the server. It will only be possible to disable encryption at a later date if the active encryption module supports that function, and all pre-conditions (e.g. setting a recover key) are met." : "Une fois le chiffrement activé, les fichiers téléversés sur le serveur à partir de ce moment seront stockés sous forme chiffrée. Il n'est possible de désactiver le chiffrement que si le module utilisé le permet spécifiquement, et que toutes les conditions préalables sont réunies pour ce faire (par exemple la création d'une clef de récupération).", - "Encryption alone does not guarantee security of the system. Please see documentation for more information about how the encryption app works, and the supported use cases." : "Le chiffrement seul ne garantit pas la sécurité du système. Veuillez consulter la documentation pour plus d'informations à propos du fonction de l'application de chiffrement, et des cas d'utilisations supportés.", - "Be aware that encryption always increases the file size." : "Veuillez noter que le chiffrement augmente toujours la taille des fichiers.", - "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Il est opportun de sauvegarder régulièrement vos données. Si ces données sont chiffrées, n'oubliez pas de sauvegarder aussi les clés de chiffrement.", - "This is the final warning: Do you really want to enable encryption?" : "Dernier avertissement : Voulez-vous vraiment activer le chiffrement ?", - "Enable encryption" : "Activer le chiffrement", - "No encryption module loaded, please enable an encryption module in the app menu." : "Aucun module de chiffrement n'est chargé. Merci d'activer un module de chiffrement dans le menu des applications.", - "Select default encryption module:" : "Sélectionnez le module de chiffrement par défaut :", - "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please enable the \"Default encryption module\" and run 'occ encryption:migrate'" : "Vous devez migrer vos clés de chiffrement de l'ancienne version (ownCloud <= 8.0) vers la nouvelle. Veuillez activer l'application \"Default Encryption Module\" et exécuter 'occ encryption:migrate'", - "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Vous devez migrer vos clés de chiffrement de l'ancienne version (ownCloud <= 8.0) vers la nouvelle.", - "Start migration" : "Démarrer la migration", - "This is used for sending out notifications." : "Ceci est utilisé pour l'envoi des notifications.", - "Send mode" : "Mode d'envoi", - "Encryption" : "Chiffrement", - "From address" : "Adresse source", - "mail" : "e-mail", - "Authentication method" : "Méthode d'authentification", - "Authentication required" : "Authentification requise", - "Server address" : "Adresse du serveur", - "Port" : "Port", - "Credentials" : "Informations d'identification", - "SMTP Username" : "Nom d'utilisateur SMTP", - "SMTP Password" : "Mot de passe SMTP", - "Store credentials" : "Enregistrer les identifiants", - "Test email settings" : "Tester les paramètres e-mail", - "Send email" : "Envoyer un e-mail", - "What to log" : "Ce qu'il faut journaliser", - "Download logfile" : "Télécharger le fichier de journalisation", - "More" : "Plus", - "Less" : "Moins", - "The logfile is bigger than 100 MB. Downloading it may take some time!" : "La taille du fichier journal excède 100 Mo. Le télécharger peut prendre un certain temps!", + "Tips & tricks" : "Trucs et astuces", "SQLite is used as database. For larger installations we recommend to switch to a different database backend." : "SQLite est actuellement utilisé comme gestionnaire de base de données. Pour des installations plus volumineuses, nous vous conseillons d'utiliser un autre gestionnaire de base de données.", "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "L'utilisation de SQLite est particulièrement déconseillée si vous utilisez le client de bureau pour synchroniser vos données.", "To migrate to another database use the command line tool: 'occ db:convert-type', or see the documentation ↗." : "Pour migrer vers un autre type de base de données, utilisez la ligne de commande : 'occ db:convert-type' ou consultez la documentation ↗.", @@ -225,7 +222,6 @@ OC.L10N.register( "Improving the config.php" : "Amélioration du config.php ", "Theming" : "Personnalisation de l'apparence", "Hardening and security guidance" : "Guide pour le renforcement et la sécurité", - "Version" : "Version", "Developer documentation" : "Documentation pour développeurs", "Experimental applications ahead" : "Attention! Applications expérimentales", "Experimental apps are not checked for security issues, new or known to be unstable and under heavy development. Installing them can cause data loss or security breaches." : "Les applications expérimentales n'ont pas fait l'objet de tests de sécurité, sont encore en développement et peuvent être instables. Les installer peut causer des pertes de données ou des failles de sécurité. ", @@ -281,6 +277,11 @@ OC.L10N.register( "Change password" : "Changer de mot de passe", "Language" : "Langue", "Help translate" : "Aidez à traduire", + "Get the apps to sync your files" : "Obtenez les applications de synchronisation de vos fichiers", + "Desktop client" : "Client de bureau", + "Android app" : "Application Android", + "iOS app" : "Application iOS", + "Show First Run Wizard again" : "Revoir la fenêtre d'accueil affichée lors de votre première connexion", "Web, desktop and mobile clients currently logged in to your account." : "Clients web, desktop et mobiles actuellement connectés sur votre compte.", "Device" : "Périphérique", "Last activity" : "Dernière activité", @@ -291,12 +292,6 @@ OC.L10N.register( "Use the credentials below to configure your app or device." : "Utilisez les informations d'identification ci-dessous pour configurer votre application ou appareil.", "Username" : "Nom d'utilisateur", "Done" : "Terminé", - "Get the apps to sync your files" : "Obtenez les applications de synchronisation de vos fichiers", - "Desktop client" : "Client de bureau", - "Android app" : "Application Android", - "iOS app" : "Application iOS", - "If you want to support the project\n\t\tjoin development\n\t\tor\n\t\tspread the word!" : "Si vous voulez supporter le projet rejoindre le développement ou promouvoir !", - "Show First Run Wizard again" : "Revoir la fenêtre d'accueil affichée lors de votre première connexion", "Show storage location" : "Afficher l'emplacement du stockage", "Show last log in" : "Montrer la dernière connexion", "Show user backend" : "Montrer la source de l'identifiant", @@ -320,6 +315,10 @@ OC.L10N.register( "change full name" : "Modifier le nom complet", "set new password" : "Changer le mot de passe", "change email address" : "changer l'adresse e-mail", - "Default" : "Défaut" + "Default" : "Défaut", + "APCu" : "APCu", + "Redis" : "Redis", + "External Storage" : "Stockage externe", + "Updates" : "Mises à jour" }, "nplurals=2; plural=(n > 1);"); diff --git a/settings/l10n/fr.json b/settings/l10n/fr.json index 05c363babb7d2..e77bf2502dc99 100644 --- a/settings/l10n/fr.json +++ b/settings/l10n/fr.json @@ -33,17 +33,6 @@ "Email saved" : "E-mail sauvegardé", "Your full name has been changed." : "Votre nom complet a été modifié.", "Unable to change full name" : "Impossible de changer le nom complet", - "APCu" : "APCu", - "Redis" : "Redis", - "Security & setup warnings" : "Avertissements de sécurité & configuration", - "Sharing" : "Partage", - "Server-side encryption" : "Chiffrement côté serveur", - "External Storage" : "Stockage externe", - "Cron" : "Cron", - "Email server" : "Serveur e-mail", - "Log" : "Log", - "Tips & tricks" : "Trucs et astuces", - "Updates" : "Mises à jour", "Couldn't remove app." : "Impossible de supprimer l'application.", "Language changed" : "Langue changée", "Invalid request" : "Requête non valide", @@ -66,7 +55,7 @@ "Approved apps are developed by trusted developers and have passed a cursory security check. They are actively maintained in an open code repository and their maintainers deem them to be stable for casual to normal use." : "Les applications approuvées sont créées par des développeurs de confiance et ont passé les tests de sécurité. Elles sont activement maintenues et leur code source est ouvert. Leurs développeurs les considèrent stables pour une utilisation normale.", "This app is not checked for security issues and is new or known to be unstable. Install at your own risk." : "Cette application est nouvelle ou instable, et sa sécurité n'a pas été vérifiée. Installez-la à vos risques et périls!", "Update to %s" : "Mettre à niveau vers la version %s", - "_You have %n app update pending_::_You have %n app updates pending_" : ["Vous avez %n application qui attend ça mise a jour .","Vous avez %n applications qui attendent leurs mise a jour ."], + "_You have %n app update pending_::_You have %n app updates pending_" : ["Vous avez %n application qui attend ça mise a jour .","Vous avez %n applications en attente de mise à jour"], "Please wait...." : "Veuillez patienter…", "Error while disabling app" : "Erreur lors de la désactivation de l'application", "Disable" : "Désactiver", @@ -131,17 +120,55 @@ "Sessions" : "Sessions", "App passwords" : "Mots de passe de l'application", "Sync clients" : "Clients de synchronisation", - "Everything (fatal issues, errors, warnings, info, debug)" : "Tout (erreurs fatales, erreurs, avertissements, informations, debogage)", - "Info, warnings, errors and fatal issues" : "Informations, avertissements, erreurs et erreurs fatales", - "Warnings, errors and fatal issues" : "Avertissements, erreurs et erreurs fatales", - "Errors and fatal issues" : "Erreurs et erreurs fatales", - "Fatal issues only" : "Erreurs fatales uniquement", "None" : "Aucun", "Login" : "Login", "Plain" : "En clair", "NT LAN Manager" : "Gestionnaire du réseau NT", "SSL" : "SSL", "TLS" : "TLS", + "Email server" : "Serveur e-mail", + "Open documentation" : "Voir la documentation", + "This is used for sending out notifications." : "Ceci est utilisé pour l'envoi des notifications.", + "Send mode" : "Mode d'envoi", + "Encryption" : "Chiffrement", + "From address" : "Adresse source", + "mail" : "e-mail", + "Authentication method" : "Méthode d'authentification", + "Authentication required" : "Authentification requise", + "Server address" : "Adresse du serveur", + "Port" : "Port", + "Credentials" : "Informations d'identification", + "SMTP Username" : "Nom d'utilisateur SMTP", + "SMTP Password" : "Mot de passe SMTP", + "Store credentials" : "Enregistrer les identifiants", + "Test email settings" : "Tester les paramètres e-mail", + "Send email" : "Envoyer un e-mail", + "Server-side encryption" : "Chiffrement côté serveur", + "Enable server-side encryption" : "Activer le chiffrement côté serveur", + "Please read carefully before activating server-side encryption: " : "Veuillez lire ceci avec attention avant d'activer le chiffrement :", + "Once encryption is enabled, all files uploaded to the server from that point forward will be encrypted at rest on the server. It will only be possible to disable encryption at a later date if the active encryption module supports that function, and all pre-conditions (e.g. setting a recover key) are met." : "Une fois le chiffrement activé, les fichiers téléversés sur le serveur à partir de ce moment seront stockés sous forme chiffrée. Il n'est possible de désactiver le chiffrement que si le module utilisé le permet spécifiquement, et que toutes les conditions préalables sont réunies pour ce faire (par exemple la création d'une clef de récupération).", + "Encryption alone does not guarantee security of the system. Please see documentation for more information about how the encryption app works, and the supported use cases." : "Le chiffrement seul ne garantit pas la sécurité du système. Veuillez consulter la documentation pour plus d'informations à propos du fonction de l'application de chiffrement, et des cas d'utilisations supportés.", + "Be aware that encryption always increases the file size." : "Veuillez noter que le chiffrement augmente toujours la taille des fichiers.", + "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Il est opportun de sauvegarder régulièrement vos données. Si ces données sont chiffrées, n'oubliez pas de sauvegarder aussi les clés de chiffrement.", + "This is the final warning: Do you really want to enable encryption?" : "Dernier avertissement : Voulez-vous vraiment activer le chiffrement ?", + "Enable encryption" : "Activer le chiffrement", + "No encryption module loaded, please enable an encryption module in the app menu." : "Aucun module de chiffrement n'est chargé. Merci d'activer un module de chiffrement dans le menu des applications.", + "Select default encryption module:" : "Sélectionnez le module de chiffrement par défaut :", + "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please enable the \"Default encryption module\" and run 'occ encryption:migrate'" : "Vous devez migrer vos clés de chiffrement de l'ancienne version (ownCloud <= 8.0) vers la nouvelle. Veuillez activer l'application \"Default Encryption Module\" et exécuter 'occ encryption:migrate'", + "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Vous devez migrer vos clés de chiffrement de l'ancienne version (ownCloud <= 8.0) vers la nouvelle.", + "Start migration" : "Démarrer la migration", + "Everything (fatal issues, errors, warnings, info, debug)" : "Tout (erreurs fatales, erreurs, avertissements, informations, debogage)", + "Info, warnings, errors and fatal issues" : "Informations, avertissements, erreurs et erreurs fatales", + "Warnings, errors and fatal issues" : "Avertissements, erreurs et erreurs fatales", + "Errors and fatal issues" : "Erreurs et erreurs fatales", + "Fatal issues only" : "Erreurs fatales uniquement", + "Log" : "Log", + "What to log" : "Ce qu'il faut journaliser", + "Download logfile" : "Télécharger le fichier de journalisation", + "More" : "Plus", + "Less" : "Moins", + "The logfile is bigger than 100 MB. Downloading it may take some time!" : "La taille du fichier journal excède 100 Mo. Le télécharger peut prendre un certain temps!", + "Security & setup warnings" : "Avertissements de sécurité & configuration", "php does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "php ne semble pas être configuré de manière à récupérer les valeurs des variables d’environnement. Le test de la commande getenv(\"PATH\") retourne seulement une réponse vide. ", "Please check the installation documentation ↗ for php configuration notes and the php configuration of your server, especially when using php-fpm." : "Veuillez consulter la documentation d'installation ↗ pour savoir comment configurer php sur votre serveur, en particulier en cas d'utilisation de php-fpm.", "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "La configuration est en mode lecture seule. Ceci empêche la modification de certaines configurations via l'interface web. De plus, le fichier doit être passé manuellement en lecture-écriture avant chaque mise à jour.", @@ -158,7 +185,15 @@ "It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "La tâche cron n'a pu s'exécuter via CLI. Ces erreurs techniques sont apparues :", "Please double check the installation guides ↗, and check for any errors or warnings in the log." : "Consultez les guides d'installation ↗, et cherchez des erreurs ou avertissements dans les logs.", "All checks passed." : "Tous les tests ont réussi.", - "Open documentation" : "Voir la documentation", + "Cron" : "Cron", + "Last cron job execution: %s." : "Dernière tâche cron exécutée : %s.", + "Last cron job execution: %s. Something seems wrong." : "Dernière tâche cron exécutée : %s. Quelque chose s'est mal passé.", + "Cron was not executed yet!" : "Le cron n'a pas encore été exécuté !", + "Execute one task with each page loaded" : "Exécute une tâche à chaque chargement de page", + "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "Utilisez un service webcron pour exécuter cron.php toutes les 15 minutes par HTTP", + "Use system's cron service to call the cron.php file every 15 minutes." : "Utilisez le service cron du système pour appeler le fichier cron.php toutes les 15 minutes.", + "Version" : "Version", + "Sharing" : "Partage", "Allow apps to use the Share API" : "Autoriser les applications à utiliser l'API de partage", "Allow users to share via link" : "Autoriser les utilisateurs à partager par lien", "Allow public uploads" : "Autoriser les téléversements publics", @@ -175,45 +210,7 @@ "Exclude groups from sharing" : "Empêcher certains groupes de partager", "These groups will still be able to receive shares, but not to initiate them." : "Ces groupes ne pourront plus initier de partage, mais ils pourront toujours rejoindre les partages faits par d'autres. ", "Allow username autocompletion in share dialog. If this is disabled the full username needs to be entered." : "Activer l'autocomplétion des noms d'utilisateurs dans la fenêtre de partage. Si cette option est désactivée, les noms complets doivent être indiqués.", - "Last cron job execution: %s." : "Dernière tâche cron exécutée : %s.", - "Last cron job execution: %s. Something seems wrong." : "Dernière tâche cron exécutée : %s. Quelque chose s'est mal passé.", - "Cron was not executed yet!" : "Le cron n'a pas encore été exécuté !", - "Execute one task with each page loaded" : "Exécute une tâche à chaque chargement de page", - "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "Utilisez un service webcron pour exécuter cron.php toutes les 15 minutes par HTTP", - "Use system's cron service to call the cron.php file every 15 minutes." : "Utilisez le service cron du système pour appeler le fichier cron.php toutes les 15 minutes.", - "Enable server-side encryption" : "Activer le chiffrement côté serveur", - "Please read carefully before activating server-side encryption: " : "Veuillez lire ceci avec attention avant d'activer le chiffrement :", - "Once encryption is enabled, all files uploaded to the server from that point forward will be encrypted at rest on the server. It will only be possible to disable encryption at a later date if the active encryption module supports that function, and all pre-conditions (e.g. setting a recover key) are met." : "Une fois le chiffrement activé, les fichiers téléversés sur le serveur à partir de ce moment seront stockés sous forme chiffrée. Il n'est possible de désactiver le chiffrement que si le module utilisé le permet spécifiquement, et que toutes les conditions préalables sont réunies pour ce faire (par exemple la création d'une clef de récupération).", - "Encryption alone does not guarantee security of the system. Please see documentation for more information about how the encryption app works, and the supported use cases." : "Le chiffrement seul ne garantit pas la sécurité du système. Veuillez consulter la documentation pour plus d'informations à propos du fonction de l'application de chiffrement, et des cas d'utilisations supportés.", - "Be aware that encryption always increases the file size." : "Veuillez noter que le chiffrement augmente toujours la taille des fichiers.", - "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Il est opportun de sauvegarder régulièrement vos données. Si ces données sont chiffrées, n'oubliez pas de sauvegarder aussi les clés de chiffrement.", - "This is the final warning: Do you really want to enable encryption?" : "Dernier avertissement : Voulez-vous vraiment activer le chiffrement ?", - "Enable encryption" : "Activer le chiffrement", - "No encryption module loaded, please enable an encryption module in the app menu." : "Aucun module de chiffrement n'est chargé. Merci d'activer un module de chiffrement dans le menu des applications.", - "Select default encryption module:" : "Sélectionnez le module de chiffrement par défaut :", - "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please enable the \"Default encryption module\" and run 'occ encryption:migrate'" : "Vous devez migrer vos clés de chiffrement de l'ancienne version (ownCloud <= 8.0) vers la nouvelle. Veuillez activer l'application \"Default Encryption Module\" et exécuter 'occ encryption:migrate'", - "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Vous devez migrer vos clés de chiffrement de l'ancienne version (ownCloud <= 8.0) vers la nouvelle.", - "Start migration" : "Démarrer la migration", - "This is used for sending out notifications." : "Ceci est utilisé pour l'envoi des notifications.", - "Send mode" : "Mode d'envoi", - "Encryption" : "Chiffrement", - "From address" : "Adresse source", - "mail" : "e-mail", - "Authentication method" : "Méthode d'authentification", - "Authentication required" : "Authentification requise", - "Server address" : "Adresse du serveur", - "Port" : "Port", - "Credentials" : "Informations d'identification", - "SMTP Username" : "Nom d'utilisateur SMTP", - "SMTP Password" : "Mot de passe SMTP", - "Store credentials" : "Enregistrer les identifiants", - "Test email settings" : "Tester les paramètres e-mail", - "Send email" : "Envoyer un e-mail", - "What to log" : "Ce qu'il faut journaliser", - "Download logfile" : "Télécharger le fichier de journalisation", - "More" : "Plus", - "Less" : "Moins", - "The logfile is bigger than 100 MB. Downloading it may take some time!" : "La taille du fichier journal excède 100 Mo. Le télécharger peut prendre un certain temps!", + "Tips & tricks" : "Trucs et astuces", "SQLite is used as database. For larger installations we recommend to switch to a different database backend." : "SQLite est actuellement utilisé comme gestionnaire de base de données. Pour des installations plus volumineuses, nous vous conseillons d'utiliser un autre gestionnaire de base de données.", "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "L'utilisation de SQLite est particulièrement déconseillée si vous utilisez le client de bureau pour synchroniser vos données.", "To migrate to another database use the command line tool: 'occ db:convert-type', or see the documentation ↗." : "Pour migrer vers un autre type de base de données, utilisez la ligne de commande : 'occ db:convert-type' ou consultez la documentation ↗.", @@ -223,7 +220,6 @@ "Improving the config.php" : "Amélioration du config.php ", "Theming" : "Personnalisation de l'apparence", "Hardening and security guidance" : "Guide pour le renforcement et la sécurité", - "Version" : "Version", "Developer documentation" : "Documentation pour développeurs", "Experimental applications ahead" : "Attention! Applications expérimentales", "Experimental apps are not checked for security issues, new or known to be unstable and under heavy development. Installing them can cause data loss or security breaches." : "Les applications expérimentales n'ont pas fait l'objet de tests de sécurité, sont encore en développement et peuvent être instables. Les installer peut causer des pertes de données ou des failles de sécurité. ", @@ -279,6 +275,11 @@ "Change password" : "Changer de mot de passe", "Language" : "Langue", "Help translate" : "Aidez à traduire", + "Get the apps to sync your files" : "Obtenez les applications de synchronisation de vos fichiers", + "Desktop client" : "Client de bureau", + "Android app" : "Application Android", + "iOS app" : "Application iOS", + "Show First Run Wizard again" : "Revoir la fenêtre d'accueil affichée lors de votre première connexion", "Web, desktop and mobile clients currently logged in to your account." : "Clients web, desktop et mobiles actuellement connectés sur votre compte.", "Device" : "Périphérique", "Last activity" : "Dernière activité", @@ -289,12 +290,6 @@ "Use the credentials below to configure your app or device." : "Utilisez les informations d'identification ci-dessous pour configurer votre application ou appareil.", "Username" : "Nom d'utilisateur", "Done" : "Terminé", - "Get the apps to sync your files" : "Obtenez les applications de synchronisation de vos fichiers", - "Desktop client" : "Client de bureau", - "Android app" : "Application Android", - "iOS app" : "Application iOS", - "If you want to support the project\n\t\tjoin development\n\t\tor\n\t\tspread the word!" : "Si vous voulez supporter le projet rejoindre le développement ou promouvoir !", - "Show First Run Wizard again" : "Revoir la fenêtre d'accueil affichée lors de votre première connexion", "Show storage location" : "Afficher l'emplacement du stockage", "Show last log in" : "Montrer la dernière connexion", "Show user backend" : "Montrer la source de l'identifiant", @@ -318,6 +313,10 @@ "change full name" : "Modifier le nom complet", "set new password" : "Changer le mot de passe", "change email address" : "changer l'adresse e-mail", - "Default" : "Défaut" + "Default" : "Défaut", + "APCu" : "APCu", + "Redis" : "Redis", + "External Storage" : "Stockage externe", + "Updates" : "Mises à jour" },"pluralForm" :"nplurals=2; plural=(n > 1);" } \ No newline at end of file diff --git a/settings/l10n/he.js b/settings/l10n/he.js index bfdcb9de1102f..7d79a676867bf 100644 --- a/settings/l10n/he.js +++ b/settings/l10n/he.js @@ -35,17 +35,6 @@ OC.L10N.register( "Email saved" : "הדואר האלקטרוני נשמר", "Your full name has been changed." : "השם המלא שלך הוחלף", "Unable to change full name" : "לא ניתן לשנות שם מלא", - "APCu" : "APCu", - "Redis" : "Redis", - "Security & setup warnings" : "הזהרות אבטחה והתקנה", - "Sharing" : "שיתוף", - "Server-side encryption" : "הצפנת צד שרת", - "External Storage" : "אחסון חיצוני", - "Cron" : "Cron", - "Email server" : "שרת דואר אלקטרוני", - "Log" : "יומן", - "Tips & tricks" : "עצות ותחבולות", - "Updates" : "עדכונים", "Couldn't remove app." : "לא ניתן להסיר את היישום.", "Language changed" : "שפה השתנתה", "Invalid request" : "בקשה לא חוקית", @@ -118,17 +107,54 @@ OC.L10N.register( "Sessions" : "שיחות", "App passwords" : "סיסמת יישום", "Sync clients" : "סנכרון לקוחות", - "Everything (fatal issues, errors, warnings, info, debug)" : "הכול (נושאים חמורים, שגיאות, אזהרות, מידע, ניפוי שגיאות)", - "Info, warnings, errors and fatal issues" : "מידע, אזהרות, שגיאות ונושאים חמורים", - "Warnings, errors and fatal issues" : "אזהרות, שגיאות ונושאים חמורים", - "Errors and fatal issues" : "שגיאות ונושאים חמורים", - "Fatal issues only" : "נושאים חמורים בלבד", "None" : "כלום", "Login" : "התחברות", "Plain" : "רגיל", "NT LAN Manager" : "מנהל רשת NT", "SSL" : "SSL", "TLS" : "TLS", + "Email server" : "שרת דואר אלקטרוני", + "Open documentation" : "תיעוד פתוח", + "This is used for sending out notifications." : "משתמשים בזה כדי לשלוח הודעות.", + "Send mode" : "מצב שליחה", + "Encryption" : "הצפנה", + "From address" : "מכתובת", + "mail" : "mail", + "Authentication method" : "שיטת אימות", + "Authentication required" : "נדרש אימות", + "Server address" : "כתובת שרת", + "Port" : "שער", + "Credentials" : "פרטי גישה", + "SMTP Username" : "שם משתמש SMTP ", + "SMTP Password" : "סיסמת SMTP", + "Store credentials" : "שמירת אישורים", + "Test email settings" : "בדיקת הגדרות דואר אלקטרוני", + "Send email" : "שליחת דואר אלקטרוני", + "Server-side encryption" : "הצפנת צד שרת", + "Enable server-side encryption" : "הפעלת הצפנה בצד שרת", + "Please read carefully before activating server-side encryption: " : "יש לקרוא בתשומת לב רבה לפני שמפעילים הצפנת צד שרת:", + "Once encryption is enabled, all files uploaded to the server from that point forward will be encrypted at rest on the server. It will only be possible to disable encryption at a later date if the active encryption module supports that function, and all pre-conditions (e.g. setting a recover key) are met." : "ברגע שהצפנה מופעלת, כל הקבצים שיועלו לשרת מרגע זה יהיו מוצפנים בשרת. ניתן יהיה לנטרל את ההצפנה בעתיד רק אם מודול ההצפנה תומך בפונקציה זו, וכל התנאים המוקדמים (דהיינו הגדרת מפתח השחזור) מתקיימים.", + "Be aware that encryption always increases the file size." : "תשומת לב לכך שהצפנה בהכרח מגדילה את גודל הקובץ.", + "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "תמיד טוב ליצור גיבוי קבוע למידע , במקרה של הצפנה יש לוודא שגם מפתחות ההצפנה מגובים עם המידע שלך.", + "This is the final warning: Do you really want to enable encryption?" : "זו הזהרה אחרונה: האם באמת ברצונך להפעיל הצפנה?", + "Enable encryption" : "אפשר הצפנה", + "No encryption module loaded, please enable an encryption module in the app menu." : "לא נמצא מודול הצפנה, יש לאפשר מודול הצפנה בתפריט היישומים.", + "Select default encryption module:" : "יש לבחור מודול הצפנת ברירת מחדל:", + "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please enable the \"Default encryption module\" and run 'occ encryption:migrate'" : "יש להמיר את מפתחות ההצפנה שלך בממערכת ההצפנה הישנה (ownCloud <= 8.0) למערכת החדשה. יש לאפשר את \"מודול הצפנה ברירת מחדש\" ולהריץ 'occ encryption:migrate'", + "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "יש להמיר את מפתחות ההצפנה שלך בממערכת ההצפנה הישנה (ownCloud <= 8.0) למערכת החדשה.", + "Start migration" : "התחלת המרה", + "Everything (fatal issues, errors, warnings, info, debug)" : "הכול (נושאים חמורים, שגיאות, אזהרות, מידע, ניפוי שגיאות)", + "Info, warnings, errors and fatal issues" : "מידע, אזהרות, שגיאות ונושאים חמורים", + "Warnings, errors and fatal issues" : "אזהרות, שגיאות ונושאים חמורים", + "Errors and fatal issues" : "שגיאות ונושאים חמורים", + "Fatal issues only" : "נושאים חמורים בלבד", + "Log" : "יומן", + "What to log" : "מה לנטר בלוג", + "Download logfile" : "הורדת קובץ לוג", + "More" : "יותר", + "Less" : "פחות", + "The logfile is bigger than 100 MB. Downloading it may take some time!" : "קובץ הלוג גדול מ- 100 מגה-בייט. הורדה עלולה לקחת זמן רב!", + "Security & setup warnings" : "הזהרות אבטחה והתקנה", "php does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "php does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response.", "Please check the installation documentation ↗ for php configuration notes and the php configuration of your server, especially when using php-fpm." : "יש לבדוק את הגדרות ההתקנה ↗ אחר הערות תצורת php ותצורת php של השרת שלך, בעיקר כשמשתמשים ב- php-fpm.", "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "תצורת קריאה בלבד הופעלה. תצורה זו מונעת קביעת מספר הגדרות באמצעות ממשק האינטרנט. יתר על כן, יש צורך להגדיר ההרשאות כתיבה באופן ידני לכל עדכון.", @@ -144,7 +170,15 @@ OC.L10N.register( "It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "לא ניתן היה להפעיל את cronjob דרך CLI. השגיאות הבאות נצפתו:", "Please double check the installation guides ↗, and check for any errors or warnings in the log." : "יש לבדוק בשבע עיניים את מדריכי ההתקנה ↗, ויש לחפש אחר שגיאות או הזהרות ב- לוג.", "All checks passed." : "כל הבדיקות עברו", - "Open documentation" : "תיעוד פתוח", + "Cron" : "Cron", + "Last cron job execution: %s." : "פעילות cron job אחרונה: %s.", + "Last cron job execution: %s. Something seems wrong." : "פעילות cron job אחרונה: %s. משהו נראה שגוי.", + "Cron was not executed yet!" : "Cron עדיין לא בוצע!", + "Execute one task with each page loaded" : "יש להפעיל משימה אחת עם כל עמוד שנטען", + "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php רשום בשירות webcron לקרוא ל- cron.php בכל 15 דקות באמצעות http.", + "Use system's cron service to call the cron.php file every 15 minutes." : "ניתן להשתמש בשירות cron לקרוא לקובץ cron.php בכל 15 דקות.", + "Version" : "גרסה", + "Sharing" : "שיתוף", "Allow apps to use the Share API" : "לאפשר ליישום להשתמש ב־API השיתוף", "Allow users to share via link" : "אפשר למשתמשים לשתף באמצעות קישור", "Allow public uploads" : "אפשר העלאות ציבוריות", @@ -161,44 +195,7 @@ OC.L10N.register( "Exclude groups from sharing" : "מניעת קבוצות משיתוף", "These groups will still be able to receive shares, but not to initiate them." : "קבוצות אלו עדיין יוכלו לקבל שיתופים, אך לא לשתף בעצמם.", "Allow username autocompletion in share dialog. If this is disabled the full username needs to be entered." : "אפשר השלמה אוטומטית של שמות משתמש בתפריט שיתוף. אם תכונה זו מנוטרלת יש להכניס שם משתמש מלא.", - "Last cron job execution: %s." : "פעילות cron job אחרונה: %s.", - "Last cron job execution: %s. Something seems wrong." : "פעילות cron job אחרונה: %s. משהו נראה שגוי.", - "Cron was not executed yet!" : "Cron עדיין לא בוצע!", - "Execute one task with each page loaded" : "יש להפעיל משימה אחת עם כל עמוד שנטען", - "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php רשום בשירות webcron לקרוא ל- cron.php בכל 15 דקות באמצעות http.", - "Use system's cron service to call the cron.php file every 15 minutes." : "ניתן להשתמש בשירות cron לקרוא לקובץ cron.php בכל 15 דקות.", - "Enable server-side encryption" : "הפעלת הצפנה בצד שרת", - "Please read carefully before activating server-side encryption: " : "יש לקרוא בתשומת לב רבה לפני שמפעילים הצפנת צד שרת:", - "Once encryption is enabled, all files uploaded to the server from that point forward will be encrypted at rest on the server. It will only be possible to disable encryption at a later date if the active encryption module supports that function, and all pre-conditions (e.g. setting a recover key) are met." : "ברגע שהצפנה מופעלת, כל הקבצים שיועלו לשרת מרגע זה יהיו מוצפנים בשרת. ניתן יהיה לנטרל את ההצפנה בעתיד רק אם מודול ההצפנה תומך בפונקציה זו, וכל התנאים המוקדמים (דהיינו הגדרת מפתח השחזור) מתקיימים.", - "Be aware that encryption always increases the file size." : "תשומת לב לכך שהצפנה בהכרח מגדילה את גודל הקובץ.", - "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "תמיד טוב ליצור גיבוי קבוע למידע , במקרה של הצפנה יש לוודא שגם מפתחות ההצפנה מגובים עם המידע שלך.", - "This is the final warning: Do you really want to enable encryption?" : "זו הזהרה אחרונה: האם באמת ברצונך להפעיל הצפנה?", - "Enable encryption" : "אפשר הצפנה", - "No encryption module loaded, please enable an encryption module in the app menu." : "לא נמצא מודול הצפנה, יש לאפשר מודול הצפנה בתפריט היישומים.", - "Select default encryption module:" : "יש לבחור מודול הצפנת ברירת מחדל:", - "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please enable the \"Default encryption module\" and run 'occ encryption:migrate'" : "יש להמיר את מפתחות ההצפנה שלך בממערכת ההצפנה הישנה (ownCloud <= 8.0) למערכת החדשה. יש לאפשר את \"מודול הצפנה ברירת מחדש\" ולהריץ 'occ encryption:migrate'", - "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "יש להמיר את מפתחות ההצפנה שלך בממערכת ההצפנה הישנה (ownCloud <= 8.0) למערכת החדשה.", - "Start migration" : "התחלת המרה", - "This is used for sending out notifications." : "משתמשים בזה כדי לשלוח הודעות.", - "Send mode" : "מצב שליחה", - "Encryption" : "הצפנה", - "From address" : "מכתובת", - "mail" : "mail", - "Authentication method" : "שיטת אימות", - "Authentication required" : "נדרש אימות", - "Server address" : "כתובת שרת", - "Port" : "שער", - "Credentials" : "פרטי גישה", - "SMTP Username" : "שם משתמש SMTP ", - "SMTP Password" : "סיסמת SMTP", - "Store credentials" : "שמירת אישורים", - "Test email settings" : "בדיקת הגדרות דואר אלקטרוני", - "Send email" : "שליחת דואר אלקטרוני", - "What to log" : "מה לנטר בלוג", - "Download logfile" : "הורדת קובץ לוג", - "More" : "יותר", - "Less" : "פחות", - "The logfile is bigger than 100 MB. Downloading it may take some time!" : "קובץ הלוג גדול מ- 100 מגה-בייט. הורדה עלולה לקחת זמן רב!", + "Tips & tricks" : "עצות ותחבולות", "SQLite is used as database. For larger installations we recommend to switch to a different database backend." : "המערכת משתמשת ב- SQLite כמסד נתונים. להתקנות גדולות אנו ממליצים לעבור למסדי נתונים צד אחורי אחרים.", "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "במיוחד כאשר משתמשים במחשב שולחני לסנכרון קבצים השימוש ב SQLite אינו מומלץ.", "To migrate to another database use the command line tool: 'occ db:convert-type', or see the documentation ↗." : "למעבר למסד נתונים אחר יש להשתמש בכלי שורת פקודה: 'occ db:convert-type', או לעיין ב- תיעוד↗.", @@ -208,7 +205,6 @@ OC.L10N.register( "Improving the config.php" : "שיפור קובץ config.php", "Theming" : "ערכת נושא", "Hardening and security guidance" : "הדרכת הקשחה ואבטחה", - "Version" : "גרסה", "Developer documentation" : "תיעוד מפתח", "Experimental applications ahead" : "ישומים ניסיוניים לפנים", "Experimental apps are not checked for security issues, new or known to be unstable and under heavy development. Installing them can cause data loss or security breaches." : "יישומים ניסיוניים לא נבדקו לבעיות אבטחה, חדשים או ידועים כלא יציבים ותחת פיתוח כבד. התקנה שלהם עלולה להוביל לאיבוד מידע או לפרצות אבטחה.", @@ -262,16 +258,16 @@ OC.L10N.register( "Change password" : "שינוי סיסמא", "Language" : "שפה", "Help translate" : "עזרה בתרגום", - "Name" : "שם", - "App name" : "שם יישום", - "Create new app password" : "יצירת סיסמת יישום חדשה", - "Username" : "שם משתמש", - "Done" : "הסתיים", "Get the apps to sync your files" : "קבלת היישומים לסנכרון הקבצים שלך", "Desktop client" : "מחשב אישי", "Android app" : "יישום אנדרואיד", "iOS app" : "יישום אייפון", "Show First Run Wizard again" : "הצגת אשף ההפעלה הראשונית שוב", + "Name" : "שם", + "App name" : "שם יישום", + "Create new app password" : "יצירת סיסמת יישום חדשה", + "Username" : "שם משתמש", + "Done" : "הסתיים", "Show storage location" : "הצגת מיקום אחסון", "Show last log in" : "הצגת כניסה אחרונה", "Show user backend" : "הצגת צד אחורי למשתמש", @@ -290,6 +286,10 @@ OC.L10N.register( "change full name" : "שינוי שם מלא", "set new password" : "הגדרת סיסמא חדשה", "change email address" : "שינוי כתובת דואר אלקטרוני", - "Default" : "ברירת מחדל" + "Default" : "ברירת מחדל", + "APCu" : "APCu", + "Redis" : "Redis", + "External Storage" : "אחסון חיצוני", + "Updates" : "עדכונים" }, "nplurals=2; plural=(n != 1);"); diff --git a/settings/l10n/he.json b/settings/l10n/he.json index 8912938006262..c1d9ac60ad90a 100644 --- a/settings/l10n/he.json +++ b/settings/l10n/he.json @@ -33,17 +33,6 @@ "Email saved" : "הדואר האלקטרוני נשמר", "Your full name has been changed." : "השם המלא שלך הוחלף", "Unable to change full name" : "לא ניתן לשנות שם מלא", - "APCu" : "APCu", - "Redis" : "Redis", - "Security & setup warnings" : "הזהרות אבטחה והתקנה", - "Sharing" : "שיתוף", - "Server-side encryption" : "הצפנת צד שרת", - "External Storage" : "אחסון חיצוני", - "Cron" : "Cron", - "Email server" : "שרת דואר אלקטרוני", - "Log" : "יומן", - "Tips & tricks" : "עצות ותחבולות", - "Updates" : "עדכונים", "Couldn't remove app." : "לא ניתן להסיר את היישום.", "Language changed" : "שפה השתנתה", "Invalid request" : "בקשה לא חוקית", @@ -116,17 +105,54 @@ "Sessions" : "שיחות", "App passwords" : "סיסמת יישום", "Sync clients" : "סנכרון לקוחות", - "Everything (fatal issues, errors, warnings, info, debug)" : "הכול (נושאים חמורים, שגיאות, אזהרות, מידע, ניפוי שגיאות)", - "Info, warnings, errors and fatal issues" : "מידע, אזהרות, שגיאות ונושאים חמורים", - "Warnings, errors and fatal issues" : "אזהרות, שגיאות ונושאים חמורים", - "Errors and fatal issues" : "שגיאות ונושאים חמורים", - "Fatal issues only" : "נושאים חמורים בלבד", "None" : "כלום", "Login" : "התחברות", "Plain" : "רגיל", "NT LAN Manager" : "מנהל רשת NT", "SSL" : "SSL", "TLS" : "TLS", + "Email server" : "שרת דואר אלקטרוני", + "Open documentation" : "תיעוד פתוח", + "This is used for sending out notifications." : "משתמשים בזה כדי לשלוח הודעות.", + "Send mode" : "מצב שליחה", + "Encryption" : "הצפנה", + "From address" : "מכתובת", + "mail" : "mail", + "Authentication method" : "שיטת אימות", + "Authentication required" : "נדרש אימות", + "Server address" : "כתובת שרת", + "Port" : "שער", + "Credentials" : "פרטי גישה", + "SMTP Username" : "שם משתמש SMTP ", + "SMTP Password" : "סיסמת SMTP", + "Store credentials" : "שמירת אישורים", + "Test email settings" : "בדיקת הגדרות דואר אלקטרוני", + "Send email" : "שליחת דואר אלקטרוני", + "Server-side encryption" : "הצפנת צד שרת", + "Enable server-side encryption" : "הפעלת הצפנה בצד שרת", + "Please read carefully before activating server-side encryption: " : "יש לקרוא בתשומת לב רבה לפני שמפעילים הצפנת צד שרת:", + "Once encryption is enabled, all files uploaded to the server from that point forward will be encrypted at rest on the server. It will only be possible to disable encryption at a later date if the active encryption module supports that function, and all pre-conditions (e.g. setting a recover key) are met." : "ברגע שהצפנה מופעלת, כל הקבצים שיועלו לשרת מרגע זה יהיו מוצפנים בשרת. ניתן יהיה לנטרל את ההצפנה בעתיד רק אם מודול ההצפנה תומך בפונקציה זו, וכל התנאים המוקדמים (דהיינו הגדרת מפתח השחזור) מתקיימים.", + "Be aware that encryption always increases the file size." : "תשומת לב לכך שהצפנה בהכרח מגדילה את גודל הקובץ.", + "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "תמיד טוב ליצור גיבוי קבוע למידע , במקרה של הצפנה יש לוודא שגם מפתחות ההצפנה מגובים עם המידע שלך.", + "This is the final warning: Do you really want to enable encryption?" : "זו הזהרה אחרונה: האם באמת ברצונך להפעיל הצפנה?", + "Enable encryption" : "אפשר הצפנה", + "No encryption module loaded, please enable an encryption module in the app menu." : "לא נמצא מודול הצפנה, יש לאפשר מודול הצפנה בתפריט היישומים.", + "Select default encryption module:" : "יש לבחור מודול הצפנת ברירת מחדל:", + "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please enable the \"Default encryption module\" and run 'occ encryption:migrate'" : "יש להמיר את מפתחות ההצפנה שלך בממערכת ההצפנה הישנה (ownCloud <= 8.0) למערכת החדשה. יש לאפשר את \"מודול הצפנה ברירת מחדש\" ולהריץ 'occ encryption:migrate'", + "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "יש להמיר את מפתחות ההצפנה שלך בממערכת ההצפנה הישנה (ownCloud <= 8.0) למערכת החדשה.", + "Start migration" : "התחלת המרה", + "Everything (fatal issues, errors, warnings, info, debug)" : "הכול (נושאים חמורים, שגיאות, אזהרות, מידע, ניפוי שגיאות)", + "Info, warnings, errors and fatal issues" : "מידע, אזהרות, שגיאות ונושאים חמורים", + "Warnings, errors and fatal issues" : "אזהרות, שגיאות ונושאים חמורים", + "Errors and fatal issues" : "שגיאות ונושאים חמורים", + "Fatal issues only" : "נושאים חמורים בלבד", + "Log" : "יומן", + "What to log" : "מה לנטר בלוג", + "Download logfile" : "הורדת קובץ לוג", + "More" : "יותר", + "Less" : "פחות", + "The logfile is bigger than 100 MB. Downloading it may take some time!" : "קובץ הלוג גדול מ- 100 מגה-בייט. הורדה עלולה לקחת זמן רב!", + "Security & setup warnings" : "הזהרות אבטחה והתקנה", "php does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "php does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response.", "Please check the installation documentation ↗ for php configuration notes and the php configuration of your server, especially when using php-fpm." : "יש לבדוק את הגדרות ההתקנה ↗ אחר הערות תצורת php ותצורת php של השרת שלך, בעיקר כשמשתמשים ב- php-fpm.", "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "תצורת קריאה בלבד הופעלה. תצורה זו מונעת קביעת מספר הגדרות באמצעות ממשק האינטרנט. יתר על כן, יש צורך להגדיר ההרשאות כתיבה באופן ידני לכל עדכון.", @@ -142,7 +168,15 @@ "It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "לא ניתן היה להפעיל את cronjob דרך CLI. השגיאות הבאות נצפתו:", "Please double check the installation guides ↗, and check for any errors or warnings in the log." : "יש לבדוק בשבע עיניים את מדריכי ההתקנה ↗, ויש לחפש אחר שגיאות או הזהרות ב- לוג.", "All checks passed." : "כל הבדיקות עברו", - "Open documentation" : "תיעוד פתוח", + "Cron" : "Cron", + "Last cron job execution: %s." : "פעילות cron job אחרונה: %s.", + "Last cron job execution: %s. Something seems wrong." : "פעילות cron job אחרונה: %s. משהו נראה שגוי.", + "Cron was not executed yet!" : "Cron עדיין לא בוצע!", + "Execute one task with each page loaded" : "יש להפעיל משימה אחת עם כל עמוד שנטען", + "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php רשום בשירות webcron לקרוא ל- cron.php בכל 15 דקות באמצעות http.", + "Use system's cron service to call the cron.php file every 15 minutes." : "ניתן להשתמש בשירות cron לקרוא לקובץ cron.php בכל 15 דקות.", + "Version" : "גרסה", + "Sharing" : "שיתוף", "Allow apps to use the Share API" : "לאפשר ליישום להשתמש ב־API השיתוף", "Allow users to share via link" : "אפשר למשתמשים לשתף באמצעות קישור", "Allow public uploads" : "אפשר העלאות ציבוריות", @@ -159,44 +193,7 @@ "Exclude groups from sharing" : "מניעת קבוצות משיתוף", "These groups will still be able to receive shares, but not to initiate them." : "קבוצות אלו עדיין יוכלו לקבל שיתופים, אך לא לשתף בעצמם.", "Allow username autocompletion in share dialog. If this is disabled the full username needs to be entered." : "אפשר השלמה אוטומטית של שמות משתמש בתפריט שיתוף. אם תכונה זו מנוטרלת יש להכניס שם משתמש מלא.", - "Last cron job execution: %s." : "פעילות cron job אחרונה: %s.", - "Last cron job execution: %s. Something seems wrong." : "פעילות cron job אחרונה: %s. משהו נראה שגוי.", - "Cron was not executed yet!" : "Cron עדיין לא בוצע!", - "Execute one task with each page loaded" : "יש להפעיל משימה אחת עם כל עמוד שנטען", - "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php רשום בשירות webcron לקרוא ל- cron.php בכל 15 דקות באמצעות http.", - "Use system's cron service to call the cron.php file every 15 minutes." : "ניתן להשתמש בשירות cron לקרוא לקובץ cron.php בכל 15 דקות.", - "Enable server-side encryption" : "הפעלת הצפנה בצד שרת", - "Please read carefully before activating server-side encryption: " : "יש לקרוא בתשומת לב רבה לפני שמפעילים הצפנת צד שרת:", - "Once encryption is enabled, all files uploaded to the server from that point forward will be encrypted at rest on the server. It will only be possible to disable encryption at a later date if the active encryption module supports that function, and all pre-conditions (e.g. setting a recover key) are met." : "ברגע שהצפנה מופעלת, כל הקבצים שיועלו לשרת מרגע זה יהיו מוצפנים בשרת. ניתן יהיה לנטרל את ההצפנה בעתיד רק אם מודול ההצפנה תומך בפונקציה זו, וכל התנאים המוקדמים (דהיינו הגדרת מפתח השחזור) מתקיימים.", - "Be aware that encryption always increases the file size." : "תשומת לב לכך שהצפנה בהכרח מגדילה את גודל הקובץ.", - "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "תמיד טוב ליצור גיבוי קבוע למידע , במקרה של הצפנה יש לוודא שגם מפתחות ההצפנה מגובים עם המידע שלך.", - "This is the final warning: Do you really want to enable encryption?" : "זו הזהרה אחרונה: האם באמת ברצונך להפעיל הצפנה?", - "Enable encryption" : "אפשר הצפנה", - "No encryption module loaded, please enable an encryption module in the app menu." : "לא נמצא מודול הצפנה, יש לאפשר מודול הצפנה בתפריט היישומים.", - "Select default encryption module:" : "יש לבחור מודול הצפנת ברירת מחדל:", - "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please enable the \"Default encryption module\" and run 'occ encryption:migrate'" : "יש להמיר את מפתחות ההצפנה שלך בממערכת ההצפנה הישנה (ownCloud <= 8.0) למערכת החדשה. יש לאפשר את \"מודול הצפנה ברירת מחדש\" ולהריץ 'occ encryption:migrate'", - "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "יש להמיר את מפתחות ההצפנה שלך בממערכת ההצפנה הישנה (ownCloud <= 8.0) למערכת החדשה.", - "Start migration" : "התחלת המרה", - "This is used for sending out notifications." : "משתמשים בזה כדי לשלוח הודעות.", - "Send mode" : "מצב שליחה", - "Encryption" : "הצפנה", - "From address" : "מכתובת", - "mail" : "mail", - "Authentication method" : "שיטת אימות", - "Authentication required" : "נדרש אימות", - "Server address" : "כתובת שרת", - "Port" : "שער", - "Credentials" : "פרטי גישה", - "SMTP Username" : "שם משתמש SMTP ", - "SMTP Password" : "סיסמת SMTP", - "Store credentials" : "שמירת אישורים", - "Test email settings" : "בדיקת הגדרות דואר אלקטרוני", - "Send email" : "שליחת דואר אלקטרוני", - "What to log" : "מה לנטר בלוג", - "Download logfile" : "הורדת קובץ לוג", - "More" : "יותר", - "Less" : "פחות", - "The logfile is bigger than 100 MB. Downloading it may take some time!" : "קובץ הלוג גדול מ- 100 מגה-בייט. הורדה עלולה לקחת זמן רב!", + "Tips & tricks" : "עצות ותחבולות", "SQLite is used as database. For larger installations we recommend to switch to a different database backend." : "המערכת משתמשת ב- SQLite כמסד נתונים. להתקנות גדולות אנו ממליצים לעבור למסדי נתונים צד אחורי אחרים.", "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "במיוחד כאשר משתמשים במחשב שולחני לסנכרון קבצים השימוש ב SQLite אינו מומלץ.", "To migrate to another database use the command line tool: 'occ db:convert-type', or see the documentation ↗." : "למעבר למסד נתונים אחר יש להשתמש בכלי שורת פקודה: 'occ db:convert-type', או לעיין ב- תיעוד↗.", @@ -206,7 +203,6 @@ "Improving the config.php" : "שיפור קובץ config.php", "Theming" : "ערכת נושא", "Hardening and security guidance" : "הדרכת הקשחה ואבטחה", - "Version" : "גרסה", "Developer documentation" : "תיעוד מפתח", "Experimental applications ahead" : "ישומים ניסיוניים לפנים", "Experimental apps are not checked for security issues, new or known to be unstable and under heavy development. Installing them can cause data loss or security breaches." : "יישומים ניסיוניים לא נבדקו לבעיות אבטחה, חדשים או ידועים כלא יציבים ותחת פיתוח כבד. התקנה שלהם עלולה להוביל לאיבוד מידע או לפרצות אבטחה.", @@ -260,16 +256,16 @@ "Change password" : "שינוי סיסמא", "Language" : "שפה", "Help translate" : "עזרה בתרגום", - "Name" : "שם", - "App name" : "שם יישום", - "Create new app password" : "יצירת סיסמת יישום חדשה", - "Username" : "שם משתמש", - "Done" : "הסתיים", "Get the apps to sync your files" : "קבלת היישומים לסנכרון הקבצים שלך", "Desktop client" : "מחשב אישי", "Android app" : "יישום אנדרואיד", "iOS app" : "יישום אייפון", "Show First Run Wizard again" : "הצגת אשף ההפעלה הראשונית שוב", + "Name" : "שם", + "App name" : "שם יישום", + "Create new app password" : "יצירת סיסמת יישום חדשה", + "Username" : "שם משתמש", + "Done" : "הסתיים", "Show storage location" : "הצגת מיקום אחסון", "Show last log in" : "הצגת כניסה אחרונה", "Show user backend" : "הצגת צד אחורי למשתמש", @@ -288,6 +284,10 @@ "change full name" : "שינוי שם מלא", "set new password" : "הגדרת סיסמא חדשה", "change email address" : "שינוי כתובת דואר אלקטרוני", - "Default" : "ברירת מחדל" + "Default" : "ברירת מחדל", + "APCu" : "APCu", + "Redis" : "Redis", + "External Storage" : "אחסון חיצוני", + "Updates" : "עדכונים" },"pluralForm" :"nplurals=2; plural=(n != 1);" } \ No newline at end of file diff --git a/settings/l10n/hu_HU.js b/settings/l10n/hu_HU.js index ab6b128304e8c..224824937ac71 100644 --- a/settings/l10n/hu_HU.js +++ b/settings/l10n/hu_HU.js @@ -35,17 +35,6 @@ OC.L10N.register( "Email saved" : "E-mail elmentve!", "Your full name has been changed." : "Az Ön teljes nevét módosítottuk.", "Unable to change full name" : "Nem sikerült megváltoztatni a teljes nevét", - "APCu" : "APCu", - "Redis" : "Redis", - "Security & setup warnings" : "Biztonsági és telepítési figyelmeztetések", - "Sharing" : "Megosztás", - "Server-side encryption" : "Szerveroldali titkosítás", - "External Storage" : "Külső tárolási szolgáltatások becsatolása", - "Cron" : "Ütemezett feladatok", - "Email server" : "E-mail szerver", - "Log" : "Naplózás", - "Tips & tricks" : "Tippek és trükkök", - "Updates" : "Frissítések", "Couldn't remove app." : "Az alkalmazást nem sikerült eltávolítani.", "Language changed" : "A nyelv megváltozott", "Invalid request" : "Érvénytelen kérés", @@ -119,17 +108,55 @@ OC.L10N.register( "Sessions" : "Munkamenetek", "App passwords" : "Applikáció jelszavak", "Sync clients" : "Szinkronizáló kliensek", - "Everything (fatal issues, errors, warnings, info, debug)" : "Minden (végzetes hibák, hibák, figyelmeztetések, információk, hibakeresési üzenetek)", - "Info, warnings, errors and fatal issues" : "Információk, figyelmeztetések, hibák és végzetes hibák", - "Warnings, errors and fatal issues" : "Figyelmeztetések, hibák és végzetes hibák", - "Errors and fatal issues" : "Hibák és végzetes hibák", - "Fatal issues only" : "Csak a végzetes hibák", "None" : "Egyik sem", "Login" : "Login", "Plain" : "Plain", "NT LAN Manager" : "NT LAN Manager", "SSL" : "SSL", "TLS" : "TLS", + "Email server" : "E-mail szerver", + "Open documentation" : "Dokumentáció megnyitása", + "This is used for sending out notifications." : "Ezt használjuk a jelentések kiküldésére.", + "Send mode" : "Küldési mód", + "Encryption" : "Titkosítás", + "From address" : "A feladó címe", + "mail" : "mail", + "Authentication method" : "A felhasználóazonosítás módszere", + "Authentication required" : "Felhasználóazonosítás szükséges", + "Server address" : "A kiszolgáló címe", + "Port" : "Port", + "Credentials" : "Azonosítók", + "SMTP Username" : "SMTP felhasználónév", + "SMTP Password" : "SMTP jelszó", + "Store credentials" : "Azonosítók eltárolása", + "Test email settings" : "Az e-mail beállítások ellenőrzése", + "Send email" : "E-mail küldése", + "Server-side encryption" : "Szerveroldali titkosítás", + "Enable server-side encryption" : "Szerveroldali titkosítás engedélyezése", + "Please read carefully before activating server-side encryption: " : "Kérjük, ezt olvasd el figyelmesen mielőtt engedélyezed a szerveroldali titkosítást:", + "Once encryption is enabled, all files uploaded to the server from that point forward will be encrypted at rest on the server. It will only be possible to disable encryption at a later date if the active encryption module supports that function, and all pre-conditions (e.g. setting a recover key) are met." : "Ha egyszer engedélyezve lett a titkosítás, akkor onnantól kezdve a szerveren az összes fájl titkosításra kerül, melyet később csak akkor lehet visszafordítani, ha azt az aktív titkosítási modul támogatja és minden elő-követelmény (például helyreállító kulcs) teljesül.", + "Encryption alone does not guarantee security of the system. Please see documentation for more information about how the encryption app works, and the supported use cases." : "A titkosítás önmagában nem garantálja a rendszer biztonságát. Kérem olvassa el a dokumentációt, hogy további információkat szerezzen a titkosítási applikáció működéséről, és a támogatott lehetőségekről.", + "Be aware that encryption always increases the file size." : "Ügyeljen arra, hogy a titkosítás mindig megnöveli a fájl méretét!", + "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Mindig jó ötlet rendszeres biztonsági mentést készíteni az adatokról. Titkosítás esetén a titkosító kulcsok biztonsági mentését elkülönítve tárolja az adatoktól!", + "This is the final warning: Do you really want to enable encryption?" : "Ez az utolsó figyelmeztetés: Biztosan szeretnéd engedélyezni a titkosítást?", + "Enable encryption" : "Titkosítás engedélyezése", + "No encryption module loaded, please enable an encryption module in the app menu." : "Nincs titkosítási modul betöltve, kérjük engedélyezd a titkosítási modult az alkalmazások menüben.", + "Select default encryption module:" : "Alapértelmezett titkosítási modul:", + "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please enable the \"Default encryption module\" and run 'occ encryption:migrate'" : "Migrálni kell a titkosítási kulcsokat a régi titkosításból (ownCloud <= 8.0) egy újba. Kérjük, engedélyezd az „Alapértelmezett titkosítási modul”-t és futtasd ezt: occ encryption:migrate", + "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Migrálni kell a titkosítási kulcsokat a régi titkosításból (ownCloud <= 8.0) egy újba.", + "Start migration" : "Migrálás indítása", + "Everything (fatal issues, errors, warnings, info, debug)" : "Minden (végzetes hibák, hibák, figyelmeztetések, információk, hibakeresési üzenetek)", + "Info, warnings, errors and fatal issues" : "Információk, figyelmeztetések, hibák és végzetes hibák", + "Warnings, errors and fatal issues" : "Figyelmeztetések, hibák és végzetes hibák", + "Errors and fatal issues" : "Hibák és végzetes hibák", + "Fatal issues only" : "Csak a végzetes hibák", + "Log" : "Naplózás", + "What to log" : "Mit naplózzon", + "Download logfile" : "Naplófájl letöltése", + "More" : "Több", + "Less" : "Kevesebb", + "The logfile is bigger than 100 MB. Downloading it may take some time!" : "A naplófájl 100MB-nál nagyobb. A letöltése hosszabb időt vehet igénybe.", + "Security & setup warnings" : "Biztonsági és telepítési figyelmeztetések", "php does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "Úgy tűnik, hogy a PHP nem tudja olvasni a rendszer környezeti változóit. A getenv(\"PATH\") teszt visszatérési értéke üres.", "Please check the installation documentation ↗ for php configuration notes and the php configuration of your server, especially when using php-fpm." : "Kérjük, ellenőrizze a telepítési dokumentációt ↗ a PHP konfigurációs beállításaival kapcsolatban, főleg ha PHP-FPM-et használ.", "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Csak olvasható beállítófájl engedélyezve. Ez meggátolja a beállítások módosítását a webes felületről. Továbbá, a fájlt kézzel kell írhatóvá tenni minden frissítés alkalmával.", @@ -145,7 +172,15 @@ OC.L10N.register( "It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "Az ütemezett feladat (cronjob) nem futott le parancssorból. A következő hibák tűntek fel:", "Please double check the installation guides ↗, and check for any errors or warnings in the log." : "Kérjük, ellenőrizze a telepítési dokumentációt ↗ és ellenőrizze a naplófájlt, hogy tartalmaz-e bármilyen hibát vagy figyelmeztetést.", "All checks passed." : "Minden ellenőrzés sikeres.", - "Open documentation" : "Dokumentáció megnyitása", + "Cron" : "Ütemezett feladatok", + "Last cron job execution: %s." : "Az utolsó cron feladat ekkor futott le: %s.", + "Last cron job execution: %s. Something seems wrong." : "Az utolsó cron feladat ekkor futott le: %s. Valami nincs rendben.", + "Cron was not executed yet!" : "A cron feladat még nem futott le!", + "Execute one task with each page loaded" : "Egy-egy feladat végrehajtása minden alkalommal, amikor egy weboldalt letöltenek", + "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "A cron.php webcron szolgáltatásként van regisztrálva, hogy 15 percenként egyszer lefuttassa a cron.php-t.", + "Use system's cron service to call the cron.php file every 15 minutes." : "A rendszer cron szolgáltatását használjuk, mely a cron.php állományt futtatja le 15 percenként.", + "Version" : "Verzió", + "Sharing" : "Megosztás", "Allow apps to use the Share API" : "Lehetővé teszi, hogy a programmodulok is használhassák a megosztást", "Allow users to share via link" : "Engedjük meg az állományok linkekkel történő megosztását", "Allow public uploads" : "Nyilvános feltöltés engedélyezése", @@ -162,45 +197,7 @@ OC.L10N.register( "Exclude groups from sharing" : "Csoportok megosztási jogának tiltása", "These groups will still be able to receive shares, but not to initiate them." : "E csoportok tagjaival meg lehet osztani anyagokat, de ők nem hozhatnak létre megosztást.", "Allow username autocompletion in share dialog. If this is disabled the full username needs to be entered." : "Felhasználónév automatikus befejezése engedélyezése a megosztás ablakban. Ha le van tiltva, akkor a teljes felhasználónevet kell beírni.", - "Last cron job execution: %s." : "Az utolsó cron feladat ekkor futott le: %s.", - "Last cron job execution: %s. Something seems wrong." : "Az utolsó cron feladat ekkor futott le: %s. Valami nincs rendben.", - "Cron was not executed yet!" : "A cron feladat még nem futott le!", - "Execute one task with each page loaded" : "Egy-egy feladat végrehajtása minden alkalommal, amikor egy weboldalt letöltenek", - "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "A cron.php webcron szolgáltatásként van regisztrálva, hogy 15 percenként egyszer lefuttassa a cron.php-t.", - "Use system's cron service to call the cron.php file every 15 minutes." : "A rendszer cron szolgáltatását használjuk, mely a cron.php állományt futtatja le 15 percenként.", - "Enable server-side encryption" : "Szerveroldali titkosítás engedélyezése", - "Please read carefully before activating server-side encryption: " : "Kérjük, ezt olvasd el figyelmesen mielőtt engedélyezed a szerveroldali titkosítást:", - "Once encryption is enabled, all files uploaded to the server from that point forward will be encrypted at rest on the server. It will only be possible to disable encryption at a later date if the active encryption module supports that function, and all pre-conditions (e.g. setting a recover key) are met." : "Ha egyszer engedélyezve lett a titkosítás, akkor onnantól kezdve a szerveren az összes fájl titkosításra kerül, melyet később csak akkor lehet visszafordítani, ha azt az aktív titkosítási modul támogatja és minden elő-követelmény (például helyreállító kulcs) teljesül.", - "Encryption alone does not guarantee security of the system. Please see documentation for more information about how the encryption app works, and the supported use cases." : "A titkosítás önmagában nem garantálja a rendszer biztonságát. Kérem olvassa el a dokumentációt, hogy további információkat szerezzen a titkosítási applikáció működéséről, és a támogatott lehetőségekről.", - "Be aware that encryption always increases the file size." : "Ügyeljen arra, hogy a titkosítás mindig megnöveli a fájl méretét!", - "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Mindig jó ötlet rendszeres biztonsági mentést készíteni az adatokról. Titkosítás esetén a titkosító kulcsok biztonsági mentését elkülönítve tárolja az adatoktól!", - "This is the final warning: Do you really want to enable encryption?" : "Ez az utolsó figyelmeztetés: Biztosan szeretnéd engedélyezni a titkosítást?", - "Enable encryption" : "Titkosítás engedélyezése", - "No encryption module loaded, please enable an encryption module in the app menu." : "Nincs titkosítási modul betöltve, kérjük engedélyezd a titkosítási modult az alkalmazások menüben.", - "Select default encryption module:" : "Alapértelmezett titkosítási modul:", - "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please enable the \"Default encryption module\" and run 'occ encryption:migrate'" : "Migrálni kell a titkosítási kulcsokat a régi titkosításból (ownCloud <= 8.0) egy újba. Kérjük, engedélyezd az „Alapértelmezett titkosítási modul”-t és futtasd ezt: occ encryption:migrate", - "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Migrálni kell a titkosítási kulcsokat a régi titkosításból (ownCloud <= 8.0) egy újba.", - "Start migration" : "Migrálás indítása", - "This is used for sending out notifications." : "Ezt használjuk a jelentések kiküldésére.", - "Send mode" : "Küldési mód", - "Encryption" : "Titkosítás", - "From address" : "A feladó címe", - "mail" : "mail", - "Authentication method" : "A felhasználóazonosítás módszere", - "Authentication required" : "Felhasználóazonosítás szükséges", - "Server address" : "A kiszolgáló címe", - "Port" : "Port", - "Credentials" : "Azonosítók", - "SMTP Username" : "SMTP felhasználónév", - "SMTP Password" : "SMTP jelszó", - "Store credentials" : "Azonosítók eltárolása", - "Test email settings" : "Az e-mail beállítások ellenőrzése", - "Send email" : "E-mail küldése", - "What to log" : "Mit naplózzon", - "Download logfile" : "Naplófájl letöltése", - "More" : "Több", - "Less" : "Kevesebb", - "The logfile is bigger than 100 MB. Downloading it may take some time!" : "A naplófájl 100MB-nál nagyobb. A letöltése hosszabb időt vehet igénybe.", + "Tips & tricks" : "Tippek és trükkök", "SQLite is used as database. For larger installations we recommend to switch to a different database backend." : "Adatbázisként az SQLite-ot fogjuk használni. Nagyobb telepítések esetén javasoljuk, hogy váltson másik adatbázis háttérkiszolgálóra", "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "Amikor az asztali klienset használja fálj szinkronizációra, akkor az SQLite használata nem ajánlott.", "To migrate to another database use the command line tool: 'occ db:convert-type', or see the documentation ↗." : "Más adatbázisról való áttéréshez használja a parancssort: 'occ db:convert-type', vagy keresse fel a dokumentációt ↗.", @@ -210,7 +207,6 @@ OC.L10N.register( "Improving the config.php" : "config.php javítása", "Theming" : "Témázás", "Hardening and security guidance" : "Erősítési és biztonsági útmutató", - "Version" : "Verzió", "Developer documentation" : "Fejlesztői dokumentáció", "Experimental applications ahead" : "Kísérleti alkalmazások előre", "Experimental apps are not checked for security issues, new or known to be unstable and under heavy development. Installing them can cause data loss or security breaches." : "A kísérleti applikációk nincsenek biztonsági ellenőrizve, ismert vagy ismeretlen hibák lehetnek bennük és aktív fejlesztés alatt állnak. A telepítésük adatvesztéshez vezethet, vagy biztonsági kockázata lehet.", @@ -266,18 +262,17 @@ OC.L10N.register( "Change password" : "A jelszó megváltoztatása", "Language" : "Nyelv", "Help translate" : "Segítsen a fordításban!", + "Get the apps to sync your files" : "Töltse le az állományok szinkronizációjához szükséges programokat!", + "Desktop client" : "Asztali kliens", + "Android app" : "Android applikáció", + "iOS app" : "IOS applikáció", + "Show First Run Wizard again" : "Nézzük meg újra az első bejelentkezéskori segítséget!", "Name" : "Név", "App name" : "Alkalmazás név", "Create new app password" : "Új alkalmazás jelszó létrehozása", "Use the credentials below to configure your app or device." : "Használja a lenti hitelesítő adatokat hogy beállítsa az applikációját vagy eszközét.", "Username" : "Felhasználónév", "Done" : "Kész", - "Get the apps to sync your files" : "Töltse le az állományok szinkronizációjához szükséges programokat!", - "Desktop client" : "Asztali kliens", - "Android app" : "Android applikáció", - "iOS app" : "IOS applikáció", - "If you want to support the project\n\t\tjoin development\n\t\tor\n\t\tspread the word!" : "Ha támogatni szeretnéd a projektet \n\t\tcsatlakozz a fejlesztéshez\n\t\tvagy\n\t\thírdesd!", - "Show First Run Wizard again" : "Nézzük meg újra az első bejelentkezéskori segítséget!", "Show storage location" : "Háttértároló helyének mutatása", "Show last log in" : "Utolsó bejelentkezés megjelenítése", "Show user backend" : "Felhasználói háttér mutatása", @@ -296,6 +291,10 @@ OC.L10N.register( "change full name" : "a teljes név megváltoztatása", "set new password" : "új jelszó beállítása", "change email address" : "e-mail cím megváltoztatása", - "Default" : "Alapértelmezett" + "Default" : "Alapértelmezett", + "APCu" : "APCu", + "Redis" : "Redis", + "External Storage" : "Külső tárolási szolgáltatások becsatolása", + "Updates" : "Frissítések" }, "nplurals=2; plural=(n != 1);"); diff --git a/settings/l10n/hu_HU.json b/settings/l10n/hu_HU.json index c8880024a04df..ddceab5648e31 100644 --- a/settings/l10n/hu_HU.json +++ b/settings/l10n/hu_HU.json @@ -33,17 +33,6 @@ "Email saved" : "E-mail elmentve!", "Your full name has been changed." : "Az Ön teljes nevét módosítottuk.", "Unable to change full name" : "Nem sikerült megváltoztatni a teljes nevét", - "APCu" : "APCu", - "Redis" : "Redis", - "Security & setup warnings" : "Biztonsági és telepítési figyelmeztetések", - "Sharing" : "Megosztás", - "Server-side encryption" : "Szerveroldali titkosítás", - "External Storage" : "Külső tárolási szolgáltatások becsatolása", - "Cron" : "Ütemezett feladatok", - "Email server" : "E-mail szerver", - "Log" : "Naplózás", - "Tips & tricks" : "Tippek és trükkök", - "Updates" : "Frissítések", "Couldn't remove app." : "Az alkalmazást nem sikerült eltávolítani.", "Language changed" : "A nyelv megváltozott", "Invalid request" : "Érvénytelen kérés", @@ -117,17 +106,55 @@ "Sessions" : "Munkamenetek", "App passwords" : "Applikáció jelszavak", "Sync clients" : "Szinkronizáló kliensek", - "Everything (fatal issues, errors, warnings, info, debug)" : "Minden (végzetes hibák, hibák, figyelmeztetések, információk, hibakeresési üzenetek)", - "Info, warnings, errors and fatal issues" : "Információk, figyelmeztetések, hibák és végzetes hibák", - "Warnings, errors and fatal issues" : "Figyelmeztetések, hibák és végzetes hibák", - "Errors and fatal issues" : "Hibák és végzetes hibák", - "Fatal issues only" : "Csak a végzetes hibák", "None" : "Egyik sem", "Login" : "Login", "Plain" : "Plain", "NT LAN Manager" : "NT LAN Manager", "SSL" : "SSL", "TLS" : "TLS", + "Email server" : "E-mail szerver", + "Open documentation" : "Dokumentáció megnyitása", + "This is used for sending out notifications." : "Ezt használjuk a jelentések kiküldésére.", + "Send mode" : "Küldési mód", + "Encryption" : "Titkosítás", + "From address" : "A feladó címe", + "mail" : "mail", + "Authentication method" : "A felhasználóazonosítás módszere", + "Authentication required" : "Felhasználóazonosítás szükséges", + "Server address" : "A kiszolgáló címe", + "Port" : "Port", + "Credentials" : "Azonosítók", + "SMTP Username" : "SMTP felhasználónév", + "SMTP Password" : "SMTP jelszó", + "Store credentials" : "Azonosítók eltárolása", + "Test email settings" : "Az e-mail beállítások ellenőrzése", + "Send email" : "E-mail küldése", + "Server-side encryption" : "Szerveroldali titkosítás", + "Enable server-side encryption" : "Szerveroldali titkosítás engedélyezése", + "Please read carefully before activating server-side encryption: " : "Kérjük, ezt olvasd el figyelmesen mielőtt engedélyezed a szerveroldali titkosítást:", + "Once encryption is enabled, all files uploaded to the server from that point forward will be encrypted at rest on the server. It will only be possible to disable encryption at a later date if the active encryption module supports that function, and all pre-conditions (e.g. setting a recover key) are met." : "Ha egyszer engedélyezve lett a titkosítás, akkor onnantól kezdve a szerveren az összes fájl titkosításra kerül, melyet később csak akkor lehet visszafordítani, ha azt az aktív titkosítási modul támogatja és minden elő-követelmény (például helyreállító kulcs) teljesül.", + "Encryption alone does not guarantee security of the system. Please see documentation for more information about how the encryption app works, and the supported use cases." : "A titkosítás önmagában nem garantálja a rendszer biztonságát. Kérem olvassa el a dokumentációt, hogy további információkat szerezzen a titkosítási applikáció működéséről, és a támogatott lehetőségekről.", + "Be aware that encryption always increases the file size." : "Ügyeljen arra, hogy a titkosítás mindig megnöveli a fájl méretét!", + "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Mindig jó ötlet rendszeres biztonsági mentést készíteni az adatokról. Titkosítás esetén a titkosító kulcsok biztonsági mentését elkülönítve tárolja az adatoktól!", + "This is the final warning: Do you really want to enable encryption?" : "Ez az utolsó figyelmeztetés: Biztosan szeretnéd engedélyezni a titkosítást?", + "Enable encryption" : "Titkosítás engedélyezése", + "No encryption module loaded, please enable an encryption module in the app menu." : "Nincs titkosítási modul betöltve, kérjük engedélyezd a titkosítási modult az alkalmazások menüben.", + "Select default encryption module:" : "Alapértelmezett titkosítási modul:", + "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please enable the \"Default encryption module\" and run 'occ encryption:migrate'" : "Migrálni kell a titkosítási kulcsokat a régi titkosításból (ownCloud <= 8.0) egy újba. Kérjük, engedélyezd az „Alapértelmezett titkosítási modul”-t és futtasd ezt: occ encryption:migrate", + "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Migrálni kell a titkosítási kulcsokat a régi titkosításból (ownCloud <= 8.0) egy újba.", + "Start migration" : "Migrálás indítása", + "Everything (fatal issues, errors, warnings, info, debug)" : "Minden (végzetes hibák, hibák, figyelmeztetések, információk, hibakeresési üzenetek)", + "Info, warnings, errors and fatal issues" : "Információk, figyelmeztetések, hibák és végzetes hibák", + "Warnings, errors and fatal issues" : "Figyelmeztetések, hibák és végzetes hibák", + "Errors and fatal issues" : "Hibák és végzetes hibák", + "Fatal issues only" : "Csak a végzetes hibák", + "Log" : "Naplózás", + "What to log" : "Mit naplózzon", + "Download logfile" : "Naplófájl letöltése", + "More" : "Több", + "Less" : "Kevesebb", + "The logfile is bigger than 100 MB. Downloading it may take some time!" : "A naplófájl 100MB-nál nagyobb. A letöltése hosszabb időt vehet igénybe.", + "Security & setup warnings" : "Biztonsági és telepítési figyelmeztetések", "php does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "Úgy tűnik, hogy a PHP nem tudja olvasni a rendszer környezeti változóit. A getenv(\"PATH\") teszt visszatérési értéke üres.", "Please check the installation documentation ↗ for php configuration notes and the php configuration of your server, especially when using php-fpm." : "Kérjük, ellenőrizze a telepítési dokumentációt ↗ a PHP konfigurációs beállításaival kapcsolatban, főleg ha PHP-FPM-et használ.", "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Csak olvasható beállítófájl engedélyezve. Ez meggátolja a beállítások módosítását a webes felületről. Továbbá, a fájlt kézzel kell írhatóvá tenni minden frissítés alkalmával.", @@ -143,7 +170,15 @@ "It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "Az ütemezett feladat (cronjob) nem futott le parancssorból. A következő hibák tűntek fel:", "Please double check the installation guides ↗, and check for any errors or warnings in the log." : "Kérjük, ellenőrizze a telepítési dokumentációt ↗ és ellenőrizze a naplófájlt, hogy tartalmaz-e bármilyen hibát vagy figyelmeztetést.", "All checks passed." : "Minden ellenőrzés sikeres.", - "Open documentation" : "Dokumentáció megnyitása", + "Cron" : "Ütemezett feladatok", + "Last cron job execution: %s." : "Az utolsó cron feladat ekkor futott le: %s.", + "Last cron job execution: %s. Something seems wrong." : "Az utolsó cron feladat ekkor futott le: %s. Valami nincs rendben.", + "Cron was not executed yet!" : "A cron feladat még nem futott le!", + "Execute one task with each page loaded" : "Egy-egy feladat végrehajtása minden alkalommal, amikor egy weboldalt letöltenek", + "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "A cron.php webcron szolgáltatásként van regisztrálva, hogy 15 percenként egyszer lefuttassa a cron.php-t.", + "Use system's cron service to call the cron.php file every 15 minutes." : "A rendszer cron szolgáltatását használjuk, mely a cron.php állományt futtatja le 15 percenként.", + "Version" : "Verzió", + "Sharing" : "Megosztás", "Allow apps to use the Share API" : "Lehetővé teszi, hogy a programmodulok is használhassák a megosztást", "Allow users to share via link" : "Engedjük meg az állományok linkekkel történő megosztását", "Allow public uploads" : "Nyilvános feltöltés engedélyezése", @@ -160,45 +195,7 @@ "Exclude groups from sharing" : "Csoportok megosztási jogának tiltása", "These groups will still be able to receive shares, but not to initiate them." : "E csoportok tagjaival meg lehet osztani anyagokat, de ők nem hozhatnak létre megosztást.", "Allow username autocompletion in share dialog. If this is disabled the full username needs to be entered." : "Felhasználónév automatikus befejezése engedélyezése a megosztás ablakban. Ha le van tiltva, akkor a teljes felhasználónevet kell beírni.", - "Last cron job execution: %s." : "Az utolsó cron feladat ekkor futott le: %s.", - "Last cron job execution: %s. Something seems wrong." : "Az utolsó cron feladat ekkor futott le: %s. Valami nincs rendben.", - "Cron was not executed yet!" : "A cron feladat még nem futott le!", - "Execute one task with each page loaded" : "Egy-egy feladat végrehajtása minden alkalommal, amikor egy weboldalt letöltenek", - "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "A cron.php webcron szolgáltatásként van regisztrálva, hogy 15 percenként egyszer lefuttassa a cron.php-t.", - "Use system's cron service to call the cron.php file every 15 minutes." : "A rendszer cron szolgáltatását használjuk, mely a cron.php állományt futtatja le 15 percenként.", - "Enable server-side encryption" : "Szerveroldali titkosítás engedélyezése", - "Please read carefully before activating server-side encryption: " : "Kérjük, ezt olvasd el figyelmesen mielőtt engedélyezed a szerveroldali titkosítást:", - "Once encryption is enabled, all files uploaded to the server from that point forward will be encrypted at rest on the server. It will only be possible to disable encryption at a later date if the active encryption module supports that function, and all pre-conditions (e.g. setting a recover key) are met." : "Ha egyszer engedélyezve lett a titkosítás, akkor onnantól kezdve a szerveren az összes fájl titkosításra kerül, melyet később csak akkor lehet visszafordítani, ha azt az aktív titkosítási modul támogatja és minden elő-követelmény (például helyreállító kulcs) teljesül.", - "Encryption alone does not guarantee security of the system. Please see documentation for more information about how the encryption app works, and the supported use cases." : "A titkosítás önmagában nem garantálja a rendszer biztonságát. Kérem olvassa el a dokumentációt, hogy további információkat szerezzen a titkosítási applikáció működéséről, és a támogatott lehetőségekről.", - "Be aware that encryption always increases the file size." : "Ügyeljen arra, hogy a titkosítás mindig megnöveli a fájl méretét!", - "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Mindig jó ötlet rendszeres biztonsági mentést készíteni az adatokról. Titkosítás esetén a titkosító kulcsok biztonsági mentését elkülönítve tárolja az adatoktól!", - "This is the final warning: Do you really want to enable encryption?" : "Ez az utolsó figyelmeztetés: Biztosan szeretnéd engedélyezni a titkosítást?", - "Enable encryption" : "Titkosítás engedélyezése", - "No encryption module loaded, please enable an encryption module in the app menu." : "Nincs titkosítási modul betöltve, kérjük engedélyezd a titkosítási modult az alkalmazások menüben.", - "Select default encryption module:" : "Alapértelmezett titkosítási modul:", - "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please enable the \"Default encryption module\" and run 'occ encryption:migrate'" : "Migrálni kell a titkosítási kulcsokat a régi titkosításból (ownCloud <= 8.0) egy újba. Kérjük, engedélyezd az „Alapértelmezett titkosítási modul”-t és futtasd ezt: occ encryption:migrate", - "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Migrálni kell a titkosítási kulcsokat a régi titkosításból (ownCloud <= 8.0) egy újba.", - "Start migration" : "Migrálás indítása", - "This is used for sending out notifications." : "Ezt használjuk a jelentések kiküldésére.", - "Send mode" : "Küldési mód", - "Encryption" : "Titkosítás", - "From address" : "A feladó címe", - "mail" : "mail", - "Authentication method" : "A felhasználóazonosítás módszere", - "Authentication required" : "Felhasználóazonosítás szükséges", - "Server address" : "A kiszolgáló címe", - "Port" : "Port", - "Credentials" : "Azonosítók", - "SMTP Username" : "SMTP felhasználónév", - "SMTP Password" : "SMTP jelszó", - "Store credentials" : "Azonosítók eltárolása", - "Test email settings" : "Az e-mail beállítások ellenőrzése", - "Send email" : "E-mail küldése", - "What to log" : "Mit naplózzon", - "Download logfile" : "Naplófájl letöltése", - "More" : "Több", - "Less" : "Kevesebb", - "The logfile is bigger than 100 MB. Downloading it may take some time!" : "A naplófájl 100MB-nál nagyobb. A letöltése hosszabb időt vehet igénybe.", + "Tips & tricks" : "Tippek és trükkök", "SQLite is used as database. For larger installations we recommend to switch to a different database backend." : "Adatbázisként az SQLite-ot fogjuk használni. Nagyobb telepítések esetén javasoljuk, hogy váltson másik adatbázis háttérkiszolgálóra", "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "Amikor az asztali klienset használja fálj szinkronizációra, akkor az SQLite használata nem ajánlott.", "To migrate to another database use the command line tool: 'occ db:convert-type', or see the documentation ↗." : "Más adatbázisról való áttéréshez használja a parancssort: 'occ db:convert-type', vagy keresse fel a dokumentációt ↗.", @@ -208,7 +205,6 @@ "Improving the config.php" : "config.php javítása", "Theming" : "Témázás", "Hardening and security guidance" : "Erősítési és biztonsági útmutató", - "Version" : "Verzió", "Developer documentation" : "Fejlesztői dokumentáció", "Experimental applications ahead" : "Kísérleti alkalmazások előre", "Experimental apps are not checked for security issues, new or known to be unstable and under heavy development. Installing them can cause data loss or security breaches." : "A kísérleti applikációk nincsenek biztonsági ellenőrizve, ismert vagy ismeretlen hibák lehetnek bennük és aktív fejlesztés alatt állnak. A telepítésük adatvesztéshez vezethet, vagy biztonsági kockázata lehet.", @@ -264,18 +260,17 @@ "Change password" : "A jelszó megváltoztatása", "Language" : "Nyelv", "Help translate" : "Segítsen a fordításban!", + "Get the apps to sync your files" : "Töltse le az állományok szinkronizációjához szükséges programokat!", + "Desktop client" : "Asztali kliens", + "Android app" : "Android applikáció", + "iOS app" : "IOS applikáció", + "Show First Run Wizard again" : "Nézzük meg újra az első bejelentkezéskori segítséget!", "Name" : "Név", "App name" : "Alkalmazás név", "Create new app password" : "Új alkalmazás jelszó létrehozása", "Use the credentials below to configure your app or device." : "Használja a lenti hitelesítő adatokat hogy beállítsa az applikációját vagy eszközét.", "Username" : "Felhasználónév", "Done" : "Kész", - "Get the apps to sync your files" : "Töltse le az állományok szinkronizációjához szükséges programokat!", - "Desktop client" : "Asztali kliens", - "Android app" : "Android applikáció", - "iOS app" : "IOS applikáció", - "If you want to support the project\n\t\tjoin development\n\t\tor\n\t\tspread the word!" : "Ha támogatni szeretnéd a projektet \n\t\tcsatlakozz a fejlesztéshez\n\t\tvagy\n\t\thírdesd!", - "Show First Run Wizard again" : "Nézzük meg újra az első bejelentkezéskori segítséget!", "Show storage location" : "Háttértároló helyének mutatása", "Show last log in" : "Utolsó bejelentkezés megjelenítése", "Show user backend" : "Felhasználói háttér mutatása", @@ -294,6 +289,10 @@ "change full name" : "a teljes név megváltoztatása", "set new password" : "új jelszó beállítása", "change email address" : "e-mail cím megváltoztatása", - "Default" : "Alapértelmezett" + "Default" : "Alapértelmezett", + "APCu" : "APCu", + "Redis" : "Redis", + "External Storage" : "Külső tárolási szolgáltatások becsatolása", + "Updates" : "Frissítések" },"pluralForm" :"nplurals=2; plural=(n != 1);" } \ No newline at end of file diff --git a/settings/l10n/id.js b/settings/l10n/id.js index c3d69e660b6a0..7587ca39cc5be 100644 --- a/settings/l10n/id.js +++ b/settings/l10n/id.js @@ -35,17 +35,6 @@ OC.L10N.register( "Email saved" : "Email disimpan", "Your full name has been changed." : "Nama lengkap Anda telah diubah", "Unable to change full name" : "Tidak dapat mengubah nama lengkap", - "APCu" : "APCu", - "Redis" : "Redis", - "Security & setup warnings" : "Peringatan Keamanan & Pengaturan", - "Sharing" : "Berbagi", - "Server-side encryption" : "Enkripsi sisi-server", - "External Storage" : "Penyimpanan Eksternal", - "Cron" : "Cron", - "Email server" : "Server email", - "Log" : "Log", - "Tips & tricks" : "Tips & trik", - "Updates" : "Pembaruan", "Couldn't remove app." : "Tidak dapat menghapus aplikasi.", "Language changed" : "Bahasa telah diubah", "Invalid request" : "Permintaan tidak valid", @@ -137,17 +126,55 @@ OC.L10N.register( "Sessions" : "Sesi", "App passwords" : "Sandi aplikasi", "Sync clients" : "Klien sync", - "Everything (fatal issues, errors, warnings, info, debug)" : "Semuanya (Masalah fatal, kesalahan, peringatan, info, debug)", - "Info, warnings, errors and fatal issues" : "Info, peringatan, kesalahan dan masalah fatal", - "Warnings, errors and fatal issues" : "Peringatan, kesalahan dan masalah fatal", - "Errors and fatal issues" : "Kesalahan dan masalah fatal", - "Fatal issues only" : "Hanya masalah fatal", "None" : "Tidak ada", "Login" : "Masuk", "Plain" : "Biasa", "NT LAN Manager" : "Manajer NT LAN", "SSL" : "SSL", "TLS" : "TLS", + "Email server" : "Server email", + "Open documentation" : "Buka dokumentasi", + "This is used for sending out notifications." : "Ini digunakan untuk mengirim notifikasi keluar.", + "Send mode" : "Modus kirim", + "Encryption" : "Enkripsi", + "From address" : "Dari alamat", + "mail" : "email", + "Authentication method" : "Metode otentikasi", + "Authentication required" : "Diperlukan otentikasi", + "Server address" : "Alamat server", + "Port" : "Port", + "Credentials" : "Kredensial", + "SMTP Username" : "Nama pengguna SMTP", + "SMTP Password" : "Sandi SMTP", + "Store credentials" : "Simpan kredensial", + "Test email settings" : "Pengaturan email percobaan", + "Send email" : "Kirim email", + "Server-side encryption" : "Enkripsi sisi-server", + "Enable server-side encryption" : "Aktifkan enkripsi sisi-server", + "Please read carefully before activating server-side encryption: " : "Mohon baca dengan teliti sebelum mengaktifkan enkripsi server-side:", + "Once encryption is enabled, all files uploaded to the server from that point forward will be encrypted at rest on the server. It will only be possible to disable encryption at a later date if the active encryption module supports that function, and all pre-conditions (e.g. setting a recover key) are met." : "Setelah enkripsi diaktifkan, semua berkas yang diunggah pada server mulai saat ini akan dienkripsi saat singgah pada server. Penonaktifan enkripsi hanya mungkin berhasil jika modul enkripsi yang aktif mendukung fungsi ini dan semua prasyarat (misalnya pengaturan kunci pemulihan) sudah terpenuhi.", + "Encryption alone does not guarantee security of the system. Please see documentation for more information about how the encryption app works, and the supported use cases." : "Enkripsi saja tidak dapat menjamin keamanan sistem. Silakan lihat dokumentasi untuk informasi lebih lanjut dalam bagaimana aplikasi enkripsi bekerja, dan kasus pendukung.", + "Be aware that encryption always increases the file size." : "Ingat bahwa enkripsi selalu menambah ukuran berkas.", + "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Alangkah baiknya untuk membuat cadangan data secara rutin, dalam kasus enkripsi, pastikan untuk mencadangkan kunci enkripsi bersama dengan data Anda.", + "This is the final warning: Do you really want to enable encryption?" : "Ini adalah peringatan terakhir: Apakah Anda yakin ingin mengaktifkan enkripsi?", + "Enable encryption" : "Aktifkan enkripsi", + "No encryption module loaded, please enable an encryption module in the app menu." : "Tidak ada modul enkripsi yang dimuat, mohon aktifkan modul enkripsi di menu aplikasi.", + "Select default encryption module:" : "Pilih modul enkripsi baku:", + "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please enable the \"Default encryption module\" and run 'occ encryption:migrate'" : "Anda perlu mengganti kunci enkrispi Anda dari enkripsi lama (ownCloud <= 8.0) ke yang baru. Mohon aktifkan \"Modul enkripsi standar\" dan jalankan 'occ encryption:migrate'", + "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Anda perlu untuk mengubah kunci enkripsi dari enkripsi lama (ownCloud <= 8.0) ke yang baru.", + "Start migration" : "Mulai migrasi", + "Everything (fatal issues, errors, warnings, info, debug)" : "Semuanya (Masalah fatal, kesalahan, peringatan, info, debug)", + "Info, warnings, errors and fatal issues" : "Info, peringatan, kesalahan dan masalah fatal", + "Warnings, errors and fatal issues" : "Peringatan, kesalahan dan masalah fatal", + "Errors and fatal issues" : "Kesalahan dan masalah fatal", + "Fatal issues only" : "Hanya masalah fatal", + "Log" : "Log", + "What to log" : "Apa yang akan di log", + "Download logfile" : "Unduh berkas log", + "More" : "Lainnya", + "Less" : "Ciutkan", + "The logfile is bigger than 100 MB. Downloading it may take some time!" : "Berkas log lebih besar dari 100MB. Pengunduhan ini memerlukan beberapa saat!", + "Security & setup warnings" : "Peringatan Keamanan & Pengaturan", "php does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "kelihatannya php tidak diatur dengan benar untuk variabel lingkungan sistem kueri. Pemeriksaan dengan getenv(\"PATH\") hanya mengembalikan respon kosong.", "Please check the installation documentation ↗ for php configuration notes and the php configuration of your server, especially when using php-fpm." : "Mohon cek dokumentasi instalasi↗ untuk catatan konfigurasi php dan konfigurasi PHP server Anda, khususnya saat menggunakan php-fpm.", "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Konfig Hanya-Baca telah diaktifkan. Ini akan mencegah setelan beberapa konfigurasi melalui antarmuka-web. Selanjutnya, berkas perlu dibuat dapat-dibaca secara manual untuk setiap pembaruan.", @@ -164,7 +191,15 @@ OC.L10N.register( "It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "Tidak mungkin untuk mengeksekusi cronjob via CLI. Kesalahan teknis berikut muncul:", "Please double check the installation guides ↗, and check for any errors or warnings in the log." : "Mohon cek petunjuk instalasi ↗, dan cek masalah atau peringatan di log.", "All checks passed." : "Semua pemeriksaan lulus.", - "Open documentation" : "Buka dokumentasi", + "Cron" : "Cron", + "Last cron job execution: %s." : "Eksekusi penjadwalan cron terakhir: %s.", + "Last cron job execution: %s. Something seems wrong." : "Eksekusi penjadwalan cron terakhir: %s. Kelihatannya ada yang salah.", + "Cron was not executed yet!" : "Cron masih belum dieksekusi!", + "Execute one task with each page loaded" : "Jalankan tugas setiap kali halaman dimuat", + "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php didaftarkan pada layanan webcron untuk memanggil cron.php setiap 15 menit melalui http.", + "Use system's cron service to call the cron.php file every 15 minutes." : "Gunakan layanan cron sistem untuk memanggil berkas cron.php setiap 15 menit.", + "Version" : "Versi", + "Sharing" : "Berbagi", "Allow apps to use the Share API" : "Izinkan aplikasi untuk menggunakan API Pembagian", "Allow users to share via link" : "Izinkan pengguna untuk membagikan via tautan", "Allow public uploads" : "Izinkan unggahan publik", @@ -181,45 +216,7 @@ OC.L10N.register( "Exclude groups from sharing" : "Tidak termasuk grup untuk berbagi", "These groups will still be able to receive shares, but not to initiate them." : "Grup ini akan tetap dapat menerima berbagi, tatapi tidak dapat membagikan.", "Allow username autocompletion in share dialog. If this is disabled the full username needs to be entered." : "Izinkan penyelesai otomatis pada nama pengguna di jendela dialog berbagi. Jika ini dinonaktifkan, nama pengguna utuh perlu dimasukkan.", - "Last cron job execution: %s." : "Eksekusi penjadwalan cron terakhir: %s.", - "Last cron job execution: %s. Something seems wrong." : "Eksekusi penjadwalan cron terakhir: %s. Kelihatannya ada yang salah.", - "Cron was not executed yet!" : "Cron masih belum dieksekusi!", - "Execute one task with each page loaded" : "Jalankan tugas setiap kali halaman dimuat", - "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php didaftarkan pada layanan webcron untuk memanggil cron.php setiap 15 menit melalui http.", - "Use system's cron service to call the cron.php file every 15 minutes." : "Gunakan layanan cron sistem untuk memanggil berkas cron.php setiap 15 menit.", - "Enable server-side encryption" : "Aktifkan enkripsi sisi-server", - "Please read carefully before activating server-side encryption: " : "Mohon baca dengan teliti sebelum mengaktifkan enkripsi server-side:", - "Once encryption is enabled, all files uploaded to the server from that point forward will be encrypted at rest on the server. It will only be possible to disable encryption at a later date if the active encryption module supports that function, and all pre-conditions (e.g. setting a recover key) are met." : "Setelah enkripsi diaktifkan, semua berkas yang diunggah pada server mulai saat ini akan dienkripsi saat singgah pada server. Penonaktifan enkripsi hanya mungkin berhasil jika modul enkripsi yang aktif mendukung fungsi ini dan semua prasyarat (misalnya pengaturan kunci pemulihan) sudah terpenuhi.", - "Encryption alone does not guarantee security of the system. Please see documentation for more information about how the encryption app works, and the supported use cases." : "Enkripsi saja tidak dapat menjamin keamanan sistem. Silakan lihat dokumentasi untuk informasi lebih lanjut dalam bagaimana aplikasi enkripsi bekerja, dan kasus pendukung.", - "Be aware that encryption always increases the file size." : "Ingat bahwa enkripsi selalu menambah ukuran berkas.", - "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Alangkah baiknya untuk membuat cadangan data secara rutin, dalam kasus enkripsi, pastikan untuk mencadangkan kunci enkripsi bersama dengan data Anda.", - "This is the final warning: Do you really want to enable encryption?" : "Ini adalah peringatan terakhir: Apakah Anda yakin ingin mengaktifkan enkripsi?", - "Enable encryption" : "Aktifkan enkripsi", - "No encryption module loaded, please enable an encryption module in the app menu." : "Tidak ada modul enkripsi yang dimuat, mohon aktifkan modul enkripsi di menu aplikasi.", - "Select default encryption module:" : "Pilih modul enkripsi baku:", - "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please enable the \"Default encryption module\" and run 'occ encryption:migrate'" : "Anda perlu mengganti kunci enkrispi Anda dari enkripsi lama (ownCloud <= 8.0) ke yang baru. Mohon aktifkan \"Modul enkripsi standar\" dan jalankan 'occ encryption:migrate'", - "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Anda perlu untuk mengubah kunci enkripsi dari enkripsi lama (ownCloud <= 8.0) ke yang baru.", - "Start migration" : "Mulai migrasi", - "This is used for sending out notifications." : "Ini digunakan untuk mengirim notifikasi keluar.", - "Send mode" : "Modus kirim", - "Encryption" : "Enkripsi", - "From address" : "Dari alamat", - "mail" : "email", - "Authentication method" : "Metode otentikasi", - "Authentication required" : "Diperlukan otentikasi", - "Server address" : "Alamat server", - "Port" : "Port", - "Credentials" : "Kredensial", - "SMTP Username" : "Nama pengguna SMTP", - "SMTP Password" : "Sandi SMTP", - "Store credentials" : "Simpan kredensial", - "Test email settings" : "Pengaturan email percobaan", - "Send email" : "Kirim email", - "What to log" : "Apa yang akan di log", - "Download logfile" : "Unduh berkas log", - "More" : "Lainnya", - "Less" : "Ciutkan", - "The logfile is bigger than 100 MB. Downloading it may take some time!" : "Berkas log lebih besar dari 100MB. Pengunduhan ini memerlukan beberapa saat!", + "Tips & tricks" : "Tips & trik", "SQLite is used as database. For larger installations we recommend to switch to a different database backend." : "SQLite digunakan sebagai basis data. Untuk instalasi yang lebih besar, kami menyarankan untuk beralih ke backend basis data yang berbeda.", "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "Terutama saat menggunakan klien desktop untuk sinkronisasi berkas, penggunaan SQLite tidak disarankan.", "To migrate to another database use the command line tool: 'occ db:convert-type', or see the documentation ↗." : "Untuk migrasi ke database lain, gunakan alat command line: 'occ db:convert-type', atau lihat dokumentasi ↗.", @@ -229,7 +226,6 @@ OC.L10N.register( "Improving the config.php" : "Memperbaiki config.php", "Theming" : "Tema", "Hardening and security guidance" : "Panduan Keselamatan dan Keamanan", - "Version" : "Versi", "Developer documentation" : "Dokumentasi pengembang", "Experimental applications ahead" : "Aplikasi percobaan terdepan", "Experimental apps are not checked for security issues, new or known to be unstable and under heavy development. Installing them can cause data loss or security breaches." : "Aplikasi percobaan belum diperiksa untuk masalah keamanan, baru atau dikenal tidak stabil dan dalam proses pengembangan. Menginstalnya dapat menyebabkan kehilangan data atau penerobosan keamanan.", @@ -285,6 +281,11 @@ OC.L10N.register( "Change password" : "Ubah sandi", "Language" : "Bahasa", "Help translate" : "Bantu menerjemahkan", + "Get the apps to sync your files" : "Dapatkan aplikasi untuk sinkronisasi berkas Anda", + "Desktop client" : "Klien desktop", + "Android app" : "Aplikasi Android", + "iOS app" : "Aplikasi iOS", + "Show First Run Wizard again" : "Tampilkan Penuntun Konfigurasi Awal", "Web, desktop and mobile clients currently logged in to your account." : "Klien web, desktop dan mobile yang sedang login di akun Anda.", "Device" : "Perangkat", "Last activity" : "Aktivitas terakhir", @@ -296,12 +297,6 @@ OC.L10N.register( "For security reasons this password will only be shown once." : "Untuk alasan keamanan sandi ini akan ditunjukkan hanya sekali.", "Username" : "Nama pengguna", "Done" : "Selesai", - "Get the apps to sync your files" : "Dapatkan aplikasi untuk sinkronisasi berkas Anda", - "Desktop client" : "Klien desktop", - "Android app" : "Aplikasi Android", - "iOS app" : "Aplikasi iOS", - "If you want to support the project\n\t\tjoin development\n\t\tor\n\t\tspread the word!" : "Apabila Anda ingin mendukung proyek ini\n\t\tikuti pengembangannya\n\t\tatau\n\t\tsebarkan!", - "Show First Run Wizard again" : "Tampilkan Penuntun Konfigurasi Awal", "Developed by the {communityopen}Nextcloud community{linkclose}, the {githubopen}source code{linkclose} is licensed under the {licenseopen}AGPL{linkclose}." : "Dikembangkan oleh {commmunityopen}komunitas Nextcloud{linkclose}, {githubopen}sumber kode{linkclose} dilisensikan dibawah {licenseopen}AGPL{linkclose}.", "Show storage location" : "Tampilkan kolasi penyimpanan", "Show last log in" : "Tampilkan masuk terakhir", @@ -327,6 +322,10 @@ OC.L10N.register( "set new password" : "setel sandi baru", "change email address" : "ubah alamat email", "Default" : "Default", + "APCu" : "APCu", + "Redis" : "Redis", + "External Storage" : "Penyimpanan Eksternal", + "Updates" : "Pembaruan", "no group" : "tanpa grup", "add group" : "tambah grup", "Your database does not run with \"READ COMMITED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Database Anda tidak dijalankan dengan isolasi transaksi level \"READ COMMITED\". Ini dapat menyebabkan masalah saat banyak tindakan dilakukan secara paralel.", diff --git a/settings/l10n/id.json b/settings/l10n/id.json index 4680ffdfbd8fc..fb6fc558a3976 100644 --- a/settings/l10n/id.json +++ b/settings/l10n/id.json @@ -33,17 +33,6 @@ "Email saved" : "Email disimpan", "Your full name has been changed." : "Nama lengkap Anda telah diubah", "Unable to change full name" : "Tidak dapat mengubah nama lengkap", - "APCu" : "APCu", - "Redis" : "Redis", - "Security & setup warnings" : "Peringatan Keamanan & Pengaturan", - "Sharing" : "Berbagi", - "Server-side encryption" : "Enkripsi sisi-server", - "External Storage" : "Penyimpanan Eksternal", - "Cron" : "Cron", - "Email server" : "Server email", - "Log" : "Log", - "Tips & tricks" : "Tips & trik", - "Updates" : "Pembaruan", "Couldn't remove app." : "Tidak dapat menghapus aplikasi.", "Language changed" : "Bahasa telah diubah", "Invalid request" : "Permintaan tidak valid", @@ -135,17 +124,55 @@ "Sessions" : "Sesi", "App passwords" : "Sandi aplikasi", "Sync clients" : "Klien sync", - "Everything (fatal issues, errors, warnings, info, debug)" : "Semuanya (Masalah fatal, kesalahan, peringatan, info, debug)", - "Info, warnings, errors and fatal issues" : "Info, peringatan, kesalahan dan masalah fatal", - "Warnings, errors and fatal issues" : "Peringatan, kesalahan dan masalah fatal", - "Errors and fatal issues" : "Kesalahan dan masalah fatal", - "Fatal issues only" : "Hanya masalah fatal", "None" : "Tidak ada", "Login" : "Masuk", "Plain" : "Biasa", "NT LAN Manager" : "Manajer NT LAN", "SSL" : "SSL", "TLS" : "TLS", + "Email server" : "Server email", + "Open documentation" : "Buka dokumentasi", + "This is used for sending out notifications." : "Ini digunakan untuk mengirim notifikasi keluar.", + "Send mode" : "Modus kirim", + "Encryption" : "Enkripsi", + "From address" : "Dari alamat", + "mail" : "email", + "Authentication method" : "Metode otentikasi", + "Authentication required" : "Diperlukan otentikasi", + "Server address" : "Alamat server", + "Port" : "Port", + "Credentials" : "Kredensial", + "SMTP Username" : "Nama pengguna SMTP", + "SMTP Password" : "Sandi SMTP", + "Store credentials" : "Simpan kredensial", + "Test email settings" : "Pengaturan email percobaan", + "Send email" : "Kirim email", + "Server-side encryption" : "Enkripsi sisi-server", + "Enable server-side encryption" : "Aktifkan enkripsi sisi-server", + "Please read carefully before activating server-side encryption: " : "Mohon baca dengan teliti sebelum mengaktifkan enkripsi server-side:", + "Once encryption is enabled, all files uploaded to the server from that point forward will be encrypted at rest on the server. It will only be possible to disable encryption at a later date if the active encryption module supports that function, and all pre-conditions (e.g. setting a recover key) are met." : "Setelah enkripsi diaktifkan, semua berkas yang diunggah pada server mulai saat ini akan dienkripsi saat singgah pada server. Penonaktifan enkripsi hanya mungkin berhasil jika modul enkripsi yang aktif mendukung fungsi ini dan semua prasyarat (misalnya pengaturan kunci pemulihan) sudah terpenuhi.", + "Encryption alone does not guarantee security of the system. Please see documentation for more information about how the encryption app works, and the supported use cases." : "Enkripsi saja tidak dapat menjamin keamanan sistem. Silakan lihat dokumentasi untuk informasi lebih lanjut dalam bagaimana aplikasi enkripsi bekerja, dan kasus pendukung.", + "Be aware that encryption always increases the file size." : "Ingat bahwa enkripsi selalu menambah ukuran berkas.", + "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Alangkah baiknya untuk membuat cadangan data secara rutin, dalam kasus enkripsi, pastikan untuk mencadangkan kunci enkripsi bersama dengan data Anda.", + "This is the final warning: Do you really want to enable encryption?" : "Ini adalah peringatan terakhir: Apakah Anda yakin ingin mengaktifkan enkripsi?", + "Enable encryption" : "Aktifkan enkripsi", + "No encryption module loaded, please enable an encryption module in the app menu." : "Tidak ada modul enkripsi yang dimuat, mohon aktifkan modul enkripsi di menu aplikasi.", + "Select default encryption module:" : "Pilih modul enkripsi baku:", + "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please enable the \"Default encryption module\" and run 'occ encryption:migrate'" : "Anda perlu mengganti kunci enkrispi Anda dari enkripsi lama (ownCloud <= 8.0) ke yang baru. Mohon aktifkan \"Modul enkripsi standar\" dan jalankan 'occ encryption:migrate'", + "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Anda perlu untuk mengubah kunci enkripsi dari enkripsi lama (ownCloud <= 8.0) ke yang baru.", + "Start migration" : "Mulai migrasi", + "Everything (fatal issues, errors, warnings, info, debug)" : "Semuanya (Masalah fatal, kesalahan, peringatan, info, debug)", + "Info, warnings, errors and fatal issues" : "Info, peringatan, kesalahan dan masalah fatal", + "Warnings, errors and fatal issues" : "Peringatan, kesalahan dan masalah fatal", + "Errors and fatal issues" : "Kesalahan dan masalah fatal", + "Fatal issues only" : "Hanya masalah fatal", + "Log" : "Log", + "What to log" : "Apa yang akan di log", + "Download logfile" : "Unduh berkas log", + "More" : "Lainnya", + "Less" : "Ciutkan", + "The logfile is bigger than 100 MB. Downloading it may take some time!" : "Berkas log lebih besar dari 100MB. Pengunduhan ini memerlukan beberapa saat!", + "Security & setup warnings" : "Peringatan Keamanan & Pengaturan", "php does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "kelihatannya php tidak diatur dengan benar untuk variabel lingkungan sistem kueri. Pemeriksaan dengan getenv(\"PATH\") hanya mengembalikan respon kosong.", "Please check the installation documentation ↗ for php configuration notes and the php configuration of your server, especially when using php-fpm." : "Mohon cek dokumentasi instalasi↗ untuk catatan konfigurasi php dan konfigurasi PHP server Anda, khususnya saat menggunakan php-fpm.", "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Konfig Hanya-Baca telah diaktifkan. Ini akan mencegah setelan beberapa konfigurasi melalui antarmuka-web. Selanjutnya, berkas perlu dibuat dapat-dibaca secara manual untuk setiap pembaruan.", @@ -162,7 +189,15 @@ "It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "Tidak mungkin untuk mengeksekusi cronjob via CLI. Kesalahan teknis berikut muncul:", "Please double check the installation guides ↗, and check for any errors or warnings in the log." : "Mohon cek petunjuk instalasi ↗, dan cek masalah atau peringatan di log.", "All checks passed." : "Semua pemeriksaan lulus.", - "Open documentation" : "Buka dokumentasi", + "Cron" : "Cron", + "Last cron job execution: %s." : "Eksekusi penjadwalan cron terakhir: %s.", + "Last cron job execution: %s. Something seems wrong." : "Eksekusi penjadwalan cron terakhir: %s. Kelihatannya ada yang salah.", + "Cron was not executed yet!" : "Cron masih belum dieksekusi!", + "Execute one task with each page loaded" : "Jalankan tugas setiap kali halaman dimuat", + "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php didaftarkan pada layanan webcron untuk memanggil cron.php setiap 15 menit melalui http.", + "Use system's cron service to call the cron.php file every 15 minutes." : "Gunakan layanan cron sistem untuk memanggil berkas cron.php setiap 15 menit.", + "Version" : "Versi", + "Sharing" : "Berbagi", "Allow apps to use the Share API" : "Izinkan aplikasi untuk menggunakan API Pembagian", "Allow users to share via link" : "Izinkan pengguna untuk membagikan via tautan", "Allow public uploads" : "Izinkan unggahan publik", @@ -179,45 +214,7 @@ "Exclude groups from sharing" : "Tidak termasuk grup untuk berbagi", "These groups will still be able to receive shares, but not to initiate them." : "Grup ini akan tetap dapat menerima berbagi, tatapi tidak dapat membagikan.", "Allow username autocompletion in share dialog. If this is disabled the full username needs to be entered." : "Izinkan penyelesai otomatis pada nama pengguna di jendela dialog berbagi. Jika ini dinonaktifkan, nama pengguna utuh perlu dimasukkan.", - "Last cron job execution: %s." : "Eksekusi penjadwalan cron terakhir: %s.", - "Last cron job execution: %s. Something seems wrong." : "Eksekusi penjadwalan cron terakhir: %s. Kelihatannya ada yang salah.", - "Cron was not executed yet!" : "Cron masih belum dieksekusi!", - "Execute one task with each page loaded" : "Jalankan tugas setiap kali halaman dimuat", - "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php didaftarkan pada layanan webcron untuk memanggil cron.php setiap 15 menit melalui http.", - "Use system's cron service to call the cron.php file every 15 minutes." : "Gunakan layanan cron sistem untuk memanggil berkas cron.php setiap 15 menit.", - "Enable server-side encryption" : "Aktifkan enkripsi sisi-server", - "Please read carefully before activating server-side encryption: " : "Mohon baca dengan teliti sebelum mengaktifkan enkripsi server-side:", - "Once encryption is enabled, all files uploaded to the server from that point forward will be encrypted at rest on the server. It will only be possible to disable encryption at a later date if the active encryption module supports that function, and all pre-conditions (e.g. setting a recover key) are met." : "Setelah enkripsi diaktifkan, semua berkas yang diunggah pada server mulai saat ini akan dienkripsi saat singgah pada server. Penonaktifan enkripsi hanya mungkin berhasil jika modul enkripsi yang aktif mendukung fungsi ini dan semua prasyarat (misalnya pengaturan kunci pemulihan) sudah terpenuhi.", - "Encryption alone does not guarantee security of the system. Please see documentation for more information about how the encryption app works, and the supported use cases." : "Enkripsi saja tidak dapat menjamin keamanan sistem. Silakan lihat dokumentasi untuk informasi lebih lanjut dalam bagaimana aplikasi enkripsi bekerja, dan kasus pendukung.", - "Be aware that encryption always increases the file size." : "Ingat bahwa enkripsi selalu menambah ukuran berkas.", - "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Alangkah baiknya untuk membuat cadangan data secara rutin, dalam kasus enkripsi, pastikan untuk mencadangkan kunci enkripsi bersama dengan data Anda.", - "This is the final warning: Do you really want to enable encryption?" : "Ini adalah peringatan terakhir: Apakah Anda yakin ingin mengaktifkan enkripsi?", - "Enable encryption" : "Aktifkan enkripsi", - "No encryption module loaded, please enable an encryption module in the app menu." : "Tidak ada modul enkripsi yang dimuat, mohon aktifkan modul enkripsi di menu aplikasi.", - "Select default encryption module:" : "Pilih modul enkripsi baku:", - "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please enable the \"Default encryption module\" and run 'occ encryption:migrate'" : "Anda perlu mengganti kunci enkrispi Anda dari enkripsi lama (ownCloud <= 8.0) ke yang baru. Mohon aktifkan \"Modul enkripsi standar\" dan jalankan 'occ encryption:migrate'", - "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Anda perlu untuk mengubah kunci enkripsi dari enkripsi lama (ownCloud <= 8.0) ke yang baru.", - "Start migration" : "Mulai migrasi", - "This is used for sending out notifications." : "Ini digunakan untuk mengirim notifikasi keluar.", - "Send mode" : "Modus kirim", - "Encryption" : "Enkripsi", - "From address" : "Dari alamat", - "mail" : "email", - "Authentication method" : "Metode otentikasi", - "Authentication required" : "Diperlukan otentikasi", - "Server address" : "Alamat server", - "Port" : "Port", - "Credentials" : "Kredensial", - "SMTP Username" : "Nama pengguna SMTP", - "SMTP Password" : "Sandi SMTP", - "Store credentials" : "Simpan kredensial", - "Test email settings" : "Pengaturan email percobaan", - "Send email" : "Kirim email", - "What to log" : "Apa yang akan di log", - "Download logfile" : "Unduh berkas log", - "More" : "Lainnya", - "Less" : "Ciutkan", - "The logfile is bigger than 100 MB. Downloading it may take some time!" : "Berkas log lebih besar dari 100MB. Pengunduhan ini memerlukan beberapa saat!", + "Tips & tricks" : "Tips & trik", "SQLite is used as database. For larger installations we recommend to switch to a different database backend." : "SQLite digunakan sebagai basis data. Untuk instalasi yang lebih besar, kami menyarankan untuk beralih ke backend basis data yang berbeda.", "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "Terutama saat menggunakan klien desktop untuk sinkronisasi berkas, penggunaan SQLite tidak disarankan.", "To migrate to another database use the command line tool: 'occ db:convert-type', or see the documentation ↗." : "Untuk migrasi ke database lain, gunakan alat command line: 'occ db:convert-type', atau lihat dokumentasi ↗.", @@ -227,7 +224,6 @@ "Improving the config.php" : "Memperbaiki config.php", "Theming" : "Tema", "Hardening and security guidance" : "Panduan Keselamatan dan Keamanan", - "Version" : "Versi", "Developer documentation" : "Dokumentasi pengembang", "Experimental applications ahead" : "Aplikasi percobaan terdepan", "Experimental apps are not checked for security issues, new or known to be unstable and under heavy development. Installing them can cause data loss or security breaches." : "Aplikasi percobaan belum diperiksa untuk masalah keamanan, baru atau dikenal tidak stabil dan dalam proses pengembangan. Menginstalnya dapat menyebabkan kehilangan data atau penerobosan keamanan.", @@ -283,6 +279,11 @@ "Change password" : "Ubah sandi", "Language" : "Bahasa", "Help translate" : "Bantu menerjemahkan", + "Get the apps to sync your files" : "Dapatkan aplikasi untuk sinkronisasi berkas Anda", + "Desktop client" : "Klien desktop", + "Android app" : "Aplikasi Android", + "iOS app" : "Aplikasi iOS", + "Show First Run Wizard again" : "Tampilkan Penuntun Konfigurasi Awal", "Web, desktop and mobile clients currently logged in to your account." : "Klien web, desktop dan mobile yang sedang login di akun Anda.", "Device" : "Perangkat", "Last activity" : "Aktivitas terakhir", @@ -294,12 +295,6 @@ "For security reasons this password will only be shown once." : "Untuk alasan keamanan sandi ini akan ditunjukkan hanya sekali.", "Username" : "Nama pengguna", "Done" : "Selesai", - "Get the apps to sync your files" : "Dapatkan aplikasi untuk sinkronisasi berkas Anda", - "Desktop client" : "Klien desktop", - "Android app" : "Aplikasi Android", - "iOS app" : "Aplikasi iOS", - "If you want to support the project\n\t\tjoin development\n\t\tor\n\t\tspread the word!" : "Apabila Anda ingin mendukung proyek ini\n\t\tikuti pengembangannya\n\t\tatau\n\t\tsebarkan!", - "Show First Run Wizard again" : "Tampilkan Penuntun Konfigurasi Awal", "Developed by the {communityopen}Nextcloud community{linkclose}, the {githubopen}source code{linkclose} is licensed under the {licenseopen}AGPL{linkclose}." : "Dikembangkan oleh {commmunityopen}komunitas Nextcloud{linkclose}, {githubopen}sumber kode{linkclose} dilisensikan dibawah {licenseopen}AGPL{linkclose}.", "Show storage location" : "Tampilkan kolasi penyimpanan", "Show last log in" : "Tampilkan masuk terakhir", @@ -325,6 +320,10 @@ "set new password" : "setel sandi baru", "change email address" : "ubah alamat email", "Default" : "Default", + "APCu" : "APCu", + "Redis" : "Redis", + "External Storage" : "Penyimpanan Eksternal", + "Updates" : "Pembaruan", "no group" : "tanpa grup", "add group" : "tambah grup", "Your database does not run with \"READ COMMITED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Database Anda tidak dijalankan dengan isolasi transaksi level \"READ COMMITED\". Ini dapat menyebabkan masalah saat banyak tindakan dilakukan secara paralel.", diff --git a/settings/l10n/is.js b/settings/l10n/is.js index bb112dcc7f06f..2c3a2b297b43d 100644 --- a/settings/l10n/is.js +++ b/settings/l10n/is.js @@ -35,17 +35,6 @@ OC.L10N.register( "Email saved" : "Tölvupóstfang vistað", "Your full name has been changed." : "Fullu nafni þínu hefur verið breytt.", "Unable to change full name" : "Get ekki breytt fullu nafni", - "APCu" : "APCu", - "Redis" : "Redis", - "Security & setup warnings" : "Öryggi og aðvaranir vegna uppsetningar", - "Sharing" : "Deiling", - "Server-side encryption" : "Dulritun á þjóni", - "External Storage" : "Ytri gagnageymsla", - "Cron" : "CRON", - "Email server" : "Póstþjónn", - "Log" : "Annáll", - "Tips & tricks" : "Ábendingar og góð ráð", - "Updates" : "Uppfærslur", "Couldn't remove app." : "Gat ekki fjarlægt forrit.", "Language changed" : "Tungumáli breytt", "Invalid request" : "Ógild fyrirspurn", @@ -135,54 +124,14 @@ OC.L10N.register( "Sessions" : "Setur", "App passwords" : "Lykilorð forrita", "Sync clients" : "Samstilla biðlara", - "Everything (fatal issues, errors, warnings, info, debug)" : "Allt (aflúsun, upplýsingar, viðvaranir, villur og alvarlegar aðvaranir)", - "Info, warnings, errors and fatal issues" : "Upplýsingar, viðvaranir, villur og alvarlegar aðvaranir", - "Warnings, errors and fatal issues" : "Viðvaranir, villur og alvarlegar aðvaranir", - "Errors and fatal issues" : "Villur og alvarlegar aðvaranir", - "Fatal issues only" : "Einungis alvarlegar aðvaranir", "None" : "Ekkert", "Login" : "Innskráning", "Plain" : "Einfalt", "NT LAN Manager" : "NT LAN stjórnun", "SSL" : "SSL", "TLS" : "TLS", - "System locale can not be set to a one which supports UTF-8." : "Ekki var hægt að setja staðfærslu kerfisins á neina sem styður UTF-8.", - "All checks passed." : "Stóðst allar prófanir.", + "Email server" : "Póstþjónn", "Open documentation" : "Opna hjálparskjöl", - "Allow apps to use the Share API" : "Leyfa forritum að nota Share API", - "Allow users to share via link" : "Leyfa notendum að deila með tengli", - "Allow public uploads" : "Leyfa opinberar innsendingar", - "Enforce password protection" : "Krefjast verndunar með aðgangsorði", - "Set default expiration date" : "Setja sjálfgefinn gildistíma", - "Allow users to send mail notification for shared files" : "Leyfa notendum að senda tilkynningar í tölvupósti vegna deildra skráa", - "Expire after " : "Rennur út eftir ", - "days" : "daga", - "Enforce expiration date" : "Krefjast dagsetningar á gildistíma", - "Allow resharing" : "Leyfa endurdeilingu", - "Allow sharing with groups" : "Leyfa deilingu með hópum", - "Restrict users to only share with users in their groups" : "Takmarka notendur við að deila með notendum í þeirra eigin hópum", - "Allow users to send mail notification for shared files to other users" : "Leyfa notendum að senda tilkynningar til annarra notenda í tölvupósti vegna deildra skráa", - "Exclude groups from sharing" : "Undanskilja hópa frá því að deila", - "These groups will still be able to receive shares, but not to initiate them." : "Þessir hópar munu samt geta tekið við deildum sameignum, en ekki geta útbúið þær.", - "Allow username autocompletion in share dialog. If this is disabled the full username needs to be entered." : "Leyfa sjálfklárun notandanafns í deilingarglugga. Ef þetta er óvirkt þarf að setja inn fullt nafn notanda.", - "Last cron job execution: %s." : "Síðasta keyrsla cron-verks: %s.", - "Last cron job execution: %s. Something seems wrong." : "Síðasta keyrsla cron-verks: %s. Eitthvað er ekki eins og það á að sér að vera.", - "Cron was not executed yet!" : "Cron hefur ekki ennþá verið keyrt!", - "Execute one task with each page loaded" : "Framkvæma eitt verk með hverri innhlaðinni síðu", - "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php er skráð á webcron-þjónustu til að kalla á cron.php á 15 mínútna fresti yfir http.", - "Use system's cron service to call the cron.php file every 15 minutes." : "Nota cron-þjónustu kerfisins til að kalla á cron.php skrána á 15 mínútna fresti.", - "Enable server-side encryption" : "Virkja dulritun á þjóni", - "Please read carefully before activating server-side encryption: " : "Lestu eftirfarandi gaumgæfilega áður en þú virkjar dulritun á þjóni: ", - "Encryption alone does not guarantee security of the system. Please see documentation for more information about how the encryption app works, and the supported use cases." : "Dulritun ein og sér tryggir ekki öryggi kerfisins. Endilega skoðaðu hjálparskjölin um hvernig dulritunarforritið virkar, og dæmi um hvaða uppsetningar eru studdar.", - "Be aware that encryption always increases the file size." : "Hafðu í huga að dulritun eykur alltaf skráastærð.", - "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Það er góður siður að taka regluleg öryggisafrit af gögnunum þínum; ef um dulrituð gögn er að ræða, gakktu úr skugga um að einnig sé tekið öryggisafrit af dulritunarlyklum ásamt gögnunum.", - "This is the final warning: Do you really want to enable encryption?" : "Þetta er lokaaðvörun: Viltu örugglega virkja dulritun?", - "Enable encryption" : "Virkja dulritun", - "No encryption module loaded, please enable an encryption module in the app menu." : "Engin dulritunareining hlaðin inn, virkjaðu dulritunareiningu í valmynd forritsins.", - "Select default encryption module:" : "Veldu sjálfgefna dulritunareiningu:", - "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please enable the \"Default encryption module\" and run 'occ encryption:migrate'" : "Þú verður að yfirfæra dulritunarlyklana þína úr gömlu dulrituninni (ownCloud <= 8.0) yfir í þá nýju. Virkjaðu \"Sjálfgefna dulritunareiningu\" og keyrðu 'occ encryption:migrate'", - "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Þú verður að yfirfæra dulritunarlyklana þína úr gömlu dulrituninni (ownCloud <= 8.0) yfir í þá nýju.", - "Start migration" : "Hefja yfirfærslu", "This is used for sending out notifications." : "Þetta er notað til að senda út tilkynningar.", "Send mode" : "Sendihamur", "Encryption" : "Dulritun", @@ -198,11 +147,59 @@ OC.L10N.register( "Store credentials" : "Geyma auðkenni", "Test email settings" : "Prófa tölvupóststillingar", "Send email" : "Senda tölvupóst", + "Server-side encryption" : "Dulritun á þjóni", + "Enable server-side encryption" : "Virkja dulritun á þjóni", + "Please read carefully before activating server-side encryption: " : "Lestu eftirfarandi gaumgæfilega áður en þú virkjar dulritun á þjóni: ", + "Encryption alone does not guarantee security of the system. Please see documentation for more information about how the encryption app works, and the supported use cases." : "Dulritun ein og sér tryggir ekki öryggi kerfisins. Endilega skoðaðu hjálparskjölin um hvernig dulritunarforritið virkar, og dæmi um hvaða uppsetningar eru studdar.", + "Be aware that encryption always increases the file size." : "Hafðu í huga að dulritun eykur alltaf skráastærð.", + "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Það er góður siður að taka regluleg öryggisafrit af gögnunum þínum; ef um dulrituð gögn er að ræða, gakktu úr skugga um að einnig sé tekið öryggisafrit af dulritunarlyklum ásamt gögnunum.", + "This is the final warning: Do you really want to enable encryption?" : "Þetta er lokaaðvörun: Viltu örugglega virkja dulritun?", + "Enable encryption" : "Virkja dulritun", + "No encryption module loaded, please enable an encryption module in the app menu." : "Engin dulritunareining hlaðin inn, virkjaðu dulritunareiningu í valmynd forritsins.", + "Select default encryption module:" : "Veldu sjálfgefna dulritunareiningu:", + "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please enable the \"Default encryption module\" and run 'occ encryption:migrate'" : "Þú verður að yfirfæra dulritunarlyklana þína úr gömlu dulrituninni (ownCloud <= 8.0) yfir í þá nýju. Virkjaðu \"Sjálfgefna dulritunareiningu\" og keyrðu 'occ encryption:migrate'", + "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Þú verður að yfirfæra dulritunarlyklana þína úr gömlu dulrituninni (ownCloud <= 8.0) yfir í þá nýju.", + "Start migration" : "Hefja yfirfærslu", + "Everything (fatal issues, errors, warnings, info, debug)" : "Allt (aflúsun, upplýsingar, viðvaranir, villur og alvarlegar aðvaranir)", + "Info, warnings, errors and fatal issues" : "Upplýsingar, viðvaranir, villur og alvarlegar aðvaranir", + "Warnings, errors and fatal issues" : "Viðvaranir, villur og alvarlegar aðvaranir", + "Errors and fatal issues" : "Villur og alvarlegar aðvaranir", + "Fatal issues only" : "Einungis alvarlegar aðvaranir", + "Log" : "Annáll", "What to log" : "Hvað á að skrá í annál", "Download logfile" : "Sækja annál", "More" : "Meira", "Less" : "Minna", "The logfile is bigger than 100 MB. Downloading it may take some time!" : "Annállinn er stærri en 100 MB.Þetta gæti tekið nokkra stund!", + "Security & setup warnings" : "Öryggi og aðvaranir vegna uppsetningar", + "System locale can not be set to a one which supports UTF-8." : "Ekki var hægt að setja staðfærslu kerfisins á neina sem styður UTF-8.", + "All checks passed." : "Stóðst allar prófanir.", + "Cron" : "CRON", + "Last cron job execution: %s." : "Síðasta keyrsla cron-verks: %s.", + "Last cron job execution: %s. Something seems wrong." : "Síðasta keyrsla cron-verks: %s. Eitthvað er ekki eins og það á að sér að vera.", + "Cron was not executed yet!" : "Cron hefur ekki ennþá verið keyrt!", + "Execute one task with each page loaded" : "Framkvæma eitt verk með hverri innhlaðinni síðu", + "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php er skráð á webcron-þjónustu til að kalla á cron.php á 15 mínútna fresti yfir http.", + "Use system's cron service to call the cron.php file every 15 minutes." : "Nota cron-þjónustu kerfisins til að kalla á cron.php skrána á 15 mínútna fresti.", + "Version" : "Útgáfa", + "Sharing" : "Deiling", + "Allow apps to use the Share API" : "Leyfa forritum að nota Share API", + "Allow users to share via link" : "Leyfa notendum að deila með tengli", + "Allow public uploads" : "Leyfa opinberar innsendingar", + "Enforce password protection" : "Krefjast verndunar með aðgangsorði", + "Set default expiration date" : "Setja sjálfgefinn gildistíma", + "Allow users to send mail notification for shared files" : "Leyfa notendum að senda tilkynningar í tölvupósti vegna deildra skráa", + "Expire after " : "Rennur út eftir ", + "days" : "daga", + "Enforce expiration date" : "Krefjast dagsetningar á gildistíma", + "Allow resharing" : "Leyfa endurdeilingu", + "Allow sharing with groups" : "Leyfa deilingu með hópum", + "Restrict users to only share with users in their groups" : "Takmarka notendur við að deila með notendum í þeirra eigin hópum", + "Allow users to send mail notification for shared files to other users" : "Leyfa notendum að senda tilkynningar til annarra notenda í tölvupósti vegna deildra skráa", + "Exclude groups from sharing" : "Undanskilja hópa frá því að deila", + "These groups will still be able to receive shares, but not to initiate them." : "Þessir hópar munu samt geta tekið við deildum sameignum, en ekki geta útbúið þær.", + "Allow username autocompletion in share dialog. If this is disabled the full username needs to be entered." : "Leyfa sjálfklárun notandanafns í deilingarglugga. Ef þetta er óvirkt þarf að setja inn fullt nafn notanda.", + "Tips & tricks" : "Ábendingar og góð ráð", "SQLite is used as database. For larger installations we recommend to switch to a different database backend." : "SQLite er notað sem gagnagrunnur. Fyrir stærri uppsetningar mælum við með að velja annan gagnagrunnsbakenda.", "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "Sérstaklega þegar tölvu forrit er notað til samræmingar þá er ekki mælt með notkunn SQLite.", "To migrate to another database use the command line tool: 'occ db:convert-type', or see the documentation ↗." : "Til að yfirfæra í annan gagnagrunn skaltu nota skipanalínutólið: 'occ db:convert-type', eða lesa hjálparskjölin ↗.", @@ -212,7 +209,6 @@ OC.L10N.register( "Improving the config.php" : "Bæting á config.php skránni", "Theming" : "Þemu", "Hardening and security guidance" : "Brynjun og öryggisleiðbeiningar", - "Version" : "Útgáfa", "Developer documentation" : "Skjölun fyrir þróunaraðila", "Experimental applications ahead" : "Forrit á tilraunastigi fyrst", "Experimental apps are not checked for security issues, new or known to be unstable and under heavy development. Installing them can cause data loss or security breaches." : "Tilraunaforrit eru ekki yfirfarin með tilliti til öryggisvandamála, þau eru þekkt fyrir að vera óstöðug og þróast hratt. Uppsetning þeirra getur valdið gagnatapi og öryggisbrestum.", @@ -268,6 +264,11 @@ OC.L10N.register( "Change password" : "Breyta lykilorði", "Language" : "Tungumál", "Help translate" : "Hjálpa við þýðingu", + "Get the apps to sync your files" : "Náðu í forrit til að samstilla skrárnar þínar", + "Desktop client" : "Skjáborðsforrit", + "Android app" : "Android-forrit", + "iOS app" : "iOS-forrit", + "Show First Run Wizard again" : "Birta Fyrsta-skiptis-leiðarvísinn aftur", "Web, desktop and mobile clients currently logged in to your account." : "Veftól, tölvur og símar sem núna eru skráð inn á aðganginn þinn.", "Device" : "Tæki", "Last activity" : "Síðasta virkni", @@ -277,12 +278,6 @@ OC.L10N.register( "For security reasons this password will only be shown once." : "Af öryggisástæðum er þetta lykilorð einungis birt einu sinni.", "Username" : "Notandanafn", "Done" : "Lokið", - "Get the apps to sync your files" : "Náðu í forrit til að samstilla skrárnar þínar", - "Desktop client" : "Skjáborðsforrit", - "Android app" : "Android-forrit", - "iOS app" : "iOS-forrit", - "If you want to support the project\n\t\tjoin development\n\t\tor\n\t\tspread the word!" : "Ef þú vilt styðja við verkefnið\n\t\ttaktu þátt í þróuninni\n\t\teða\n\t\tláttu orð út ganga!", - "Show First Run Wizard again" : "Birta Fyrsta-skiptis-leiðarvísinn aftur", "Developed by the {communityopen}Nextcloud community{linkclose}, the {githubopen}source code{linkclose} is licensed under the {licenseopen}AGPL{linkclose}." : "Þróað af {communityopen}Nextcloud samfélaginu{linkclose}, {githubopen}grunnkóðinn{linkclose} er gefinn út með {licenseopen}AGPL{linkclose} notkunarleyfinu.", "Show storage location" : "Birta staðsetningu gagnageymslu", "Show last log in" : "Birta síðustu innskráningu", @@ -308,6 +303,10 @@ OC.L10N.register( "set new password" : "setja nýtt lykilorð", "change email address" : "breyta tölvupóstfangi", "Default" : "Sjálfgefið", + "APCu" : "APCu", + "Redis" : "Redis", + "External Storage" : "Ytri gagnageymsla", + "Updates" : "Uppfærslur", "no group" : "enginn hópur", "add group" : "bæta við hópi", "Add Group" : "Bæta við hópi", diff --git a/settings/l10n/is.json b/settings/l10n/is.json index bdf61080f1257..46e733303d4af 100644 --- a/settings/l10n/is.json +++ b/settings/l10n/is.json @@ -33,17 +33,6 @@ "Email saved" : "Tölvupóstfang vistað", "Your full name has been changed." : "Fullu nafni þínu hefur verið breytt.", "Unable to change full name" : "Get ekki breytt fullu nafni", - "APCu" : "APCu", - "Redis" : "Redis", - "Security & setup warnings" : "Öryggi og aðvaranir vegna uppsetningar", - "Sharing" : "Deiling", - "Server-side encryption" : "Dulritun á þjóni", - "External Storage" : "Ytri gagnageymsla", - "Cron" : "CRON", - "Email server" : "Póstþjónn", - "Log" : "Annáll", - "Tips & tricks" : "Ábendingar og góð ráð", - "Updates" : "Uppfærslur", "Couldn't remove app." : "Gat ekki fjarlægt forrit.", "Language changed" : "Tungumáli breytt", "Invalid request" : "Ógild fyrirspurn", @@ -133,54 +122,14 @@ "Sessions" : "Setur", "App passwords" : "Lykilorð forrita", "Sync clients" : "Samstilla biðlara", - "Everything (fatal issues, errors, warnings, info, debug)" : "Allt (aflúsun, upplýsingar, viðvaranir, villur og alvarlegar aðvaranir)", - "Info, warnings, errors and fatal issues" : "Upplýsingar, viðvaranir, villur og alvarlegar aðvaranir", - "Warnings, errors and fatal issues" : "Viðvaranir, villur og alvarlegar aðvaranir", - "Errors and fatal issues" : "Villur og alvarlegar aðvaranir", - "Fatal issues only" : "Einungis alvarlegar aðvaranir", "None" : "Ekkert", "Login" : "Innskráning", "Plain" : "Einfalt", "NT LAN Manager" : "NT LAN stjórnun", "SSL" : "SSL", "TLS" : "TLS", - "System locale can not be set to a one which supports UTF-8." : "Ekki var hægt að setja staðfærslu kerfisins á neina sem styður UTF-8.", - "All checks passed." : "Stóðst allar prófanir.", + "Email server" : "Póstþjónn", "Open documentation" : "Opna hjálparskjöl", - "Allow apps to use the Share API" : "Leyfa forritum að nota Share API", - "Allow users to share via link" : "Leyfa notendum að deila með tengli", - "Allow public uploads" : "Leyfa opinberar innsendingar", - "Enforce password protection" : "Krefjast verndunar með aðgangsorði", - "Set default expiration date" : "Setja sjálfgefinn gildistíma", - "Allow users to send mail notification for shared files" : "Leyfa notendum að senda tilkynningar í tölvupósti vegna deildra skráa", - "Expire after " : "Rennur út eftir ", - "days" : "daga", - "Enforce expiration date" : "Krefjast dagsetningar á gildistíma", - "Allow resharing" : "Leyfa endurdeilingu", - "Allow sharing with groups" : "Leyfa deilingu með hópum", - "Restrict users to only share with users in their groups" : "Takmarka notendur við að deila með notendum í þeirra eigin hópum", - "Allow users to send mail notification for shared files to other users" : "Leyfa notendum að senda tilkynningar til annarra notenda í tölvupósti vegna deildra skráa", - "Exclude groups from sharing" : "Undanskilja hópa frá því að deila", - "These groups will still be able to receive shares, but not to initiate them." : "Þessir hópar munu samt geta tekið við deildum sameignum, en ekki geta útbúið þær.", - "Allow username autocompletion in share dialog. If this is disabled the full username needs to be entered." : "Leyfa sjálfklárun notandanafns í deilingarglugga. Ef þetta er óvirkt þarf að setja inn fullt nafn notanda.", - "Last cron job execution: %s." : "Síðasta keyrsla cron-verks: %s.", - "Last cron job execution: %s. Something seems wrong." : "Síðasta keyrsla cron-verks: %s. Eitthvað er ekki eins og það á að sér að vera.", - "Cron was not executed yet!" : "Cron hefur ekki ennþá verið keyrt!", - "Execute one task with each page loaded" : "Framkvæma eitt verk með hverri innhlaðinni síðu", - "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php er skráð á webcron-þjónustu til að kalla á cron.php á 15 mínútna fresti yfir http.", - "Use system's cron service to call the cron.php file every 15 minutes." : "Nota cron-þjónustu kerfisins til að kalla á cron.php skrána á 15 mínútna fresti.", - "Enable server-side encryption" : "Virkja dulritun á þjóni", - "Please read carefully before activating server-side encryption: " : "Lestu eftirfarandi gaumgæfilega áður en þú virkjar dulritun á þjóni: ", - "Encryption alone does not guarantee security of the system. Please see documentation for more information about how the encryption app works, and the supported use cases." : "Dulritun ein og sér tryggir ekki öryggi kerfisins. Endilega skoðaðu hjálparskjölin um hvernig dulritunarforritið virkar, og dæmi um hvaða uppsetningar eru studdar.", - "Be aware that encryption always increases the file size." : "Hafðu í huga að dulritun eykur alltaf skráastærð.", - "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Það er góður siður að taka regluleg öryggisafrit af gögnunum þínum; ef um dulrituð gögn er að ræða, gakktu úr skugga um að einnig sé tekið öryggisafrit af dulritunarlyklum ásamt gögnunum.", - "This is the final warning: Do you really want to enable encryption?" : "Þetta er lokaaðvörun: Viltu örugglega virkja dulritun?", - "Enable encryption" : "Virkja dulritun", - "No encryption module loaded, please enable an encryption module in the app menu." : "Engin dulritunareining hlaðin inn, virkjaðu dulritunareiningu í valmynd forritsins.", - "Select default encryption module:" : "Veldu sjálfgefna dulritunareiningu:", - "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please enable the \"Default encryption module\" and run 'occ encryption:migrate'" : "Þú verður að yfirfæra dulritunarlyklana þína úr gömlu dulrituninni (ownCloud <= 8.0) yfir í þá nýju. Virkjaðu \"Sjálfgefna dulritunareiningu\" og keyrðu 'occ encryption:migrate'", - "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Þú verður að yfirfæra dulritunarlyklana þína úr gömlu dulrituninni (ownCloud <= 8.0) yfir í þá nýju.", - "Start migration" : "Hefja yfirfærslu", "This is used for sending out notifications." : "Þetta er notað til að senda út tilkynningar.", "Send mode" : "Sendihamur", "Encryption" : "Dulritun", @@ -196,11 +145,59 @@ "Store credentials" : "Geyma auðkenni", "Test email settings" : "Prófa tölvupóststillingar", "Send email" : "Senda tölvupóst", + "Server-side encryption" : "Dulritun á þjóni", + "Enable server-side encryption" : "Virkja dulritun á þjóni", + "Please read carefully before activating server-side encryption: " : "Lestu eftirfarandi gaumgæfilega áður en þú virkjar dulritun á þjóni: ", + "Encryption alone does not guarantee security of the system. Please see documentation for more information about how the encryption app works, and the supported use cases." : "Dulritun ein og sér tryggir ekki öryggi kerfisins. Endilega skoðaðu hjálparskjölin um hvernig dulritunarforritið virkar, og dæmi um hvaða uppsetningar eru studdar.", + "Be aware that encryption always increases the file size." : "Hafðu í huga að dulritun eykur alltaf skráastærð.", + "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Það er góður siður að taka regluleg öryggisafrit af gögnunum þínum; ef um dulrituð gögn er að ræða, gakktu úr skugga um að einnig sé tekið öryggisafrit af dulritunarlyklum ásamt gögnunum.", + "This is the final warning: Do you really want to enable encryption?" : "Þetta er lokaaðvörun: Viltu örugglega virkja dulritun?", + "Enable encryption" : "Virkja dulritun", + "No encryption module loaded, please enable an encryption module in the app menu." : "Engin dulritunareining hlaðin inn, virkjaðu dulritunareiningu í valmynd forritsins.", + "Select default encryption module:" : "Veldu sjálfgefna dulritunareiningu:", + "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please enable the \"Default encryption module\" and run 'occ encryption:migrate'" : "Þú verður að yfirfæra dulritunarlyklana þína úr gömlu dulrituninni (ownCloud <= 8.0) yfir í þá nýju. Virkjaðu \"Sjálfgefna dulritunareiningu\" og keyrðu 'occ encryption:migrate'", + "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Þú verður að yfirfæra dulritunarlyklana þína úr gömlu dulrituninni (ownCloud <= 8.0) yfir í þá nýju.", + "Start migration" : "Hefja yfirfærslu", + "Everything (fatal issues, errors, warnings, info, debug)" : "Allt (aflúsun, upplýsingar, viðvaranir, villur og alvarlegar aðvaranir)", + "Info, warnings, errors and fatal issues" : "Upplýsingar, viðvaranir, villur og alvarlegar aðvaranir", + "Warnings, errors and fatal issues" : "Viðvaranir, villur og alvarlegar aðvaranir", + "Errors and fatal issues" : "Villur og alvarlegar aðvaranir", + "Fatal issues only" : "Einungis alvarlegar aðvaranir", + "Log" : "Annáll", "What to log" : "Hvað á að skrá í annál", "Download logfile" : "Sækja annál", "More" : "Meira", "Less" : "Minna", "The logfile is bigger than 100 MB. Downloading it may take some time!" : "Annállinn er stærri en 100 MB.Þetta gæti tekið nokkra stund!", + "Security & setup warnings" : "Öryggi og aðvaranir vegna uppsetningar", + "System locale can not be set to a one which supports UTF-8." : "Ekki var hægt að setja staðfærslu kerfisins á neina sem styður UTF-8.", + "All checks passed." : "Stóðst allar prófanir.", + "Cron" : "CRON", + "Last cron job execution: %s." : "Síðasta keyrsla cron-verks: %s.", + "Last cron job execution: %s. Something seems wrong." : "Síðasta keyrsla cron-verks: %s. Eitthvað er ekki eins og það á að sér að vera.", + "Cron was not executed yet!" : "Cron hefur ekki ennþá verið keyrt!", + "Execute one task with each page loaded" : "Framkvæma eitt verk með hverri innhlaðinni síðu", + "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php er skráð á webcron-þjónustu til að kalla á cron.php á 15 mínútna fresti yfir http.", + "Use system's cron service to call the cron.php file every 15 minutes." : "Nota cron-þjónustu kerfisins til að kalla á cron.php skrána á 15 mínútna fresti.", + "Version" : "Útgáfa", + "Sharing" : "Deiling", + "Allow apps to use the Share API" : "Leyfa forritum að nota Share API", + "Allow users to share via link" : "Leyfa notendum að deila með tengli", + "Allow public uploads" : "Leyfa opinberar innsendingar", + "Enforce password protection" : "Krefjast verndunar með aðgangsorði", + "Set default expiration date" : "Setja sjálfgefinn gildistíma", + "Allow users to send mail notification for shared files" : "Leyfa notendum að senda tilkynningar í tölvupósti vegna deildra skráa", + "Expire after " : "Rennur út eftir ", + "days" : "daga", + "Enforce expiration date" : "Krefjast dagsetningar á gildistíma", + "Allow resharing" : "Leyfa endurdeilingu", + "Allow sharing with groups" : "Leyfa deilingu með hópum", + "Restrict users to only share with users in their groups" : "Takmarka notendur við að deila með notendum í þeirra eigin hópum", + "Allow users to send mail notification for shared files to other users" : "Leyfa notendum að senda tilkynningar til annarra notenda í tölvupósti vegna deildra skráa", + "Exclude groups from sharing" : "Undanskilja hópa frá því að deila", + "These groups will still be able to receive shares, but not to initiate them." : "Þessir hópar munu samt geta tekið við deildum sameignum, en ekki geta útbúið þær.", + "Allow username autocompletion in share dialog. If this is disabled the full username needs to be entered." : "Leyfa sjálfklárun notandanafns í deilingarglugga. Ef þetta er óvirkt þarf að setja inn fullt nafn notanda.", + "Tips & tricks" : "Ábendingar og góð ráð", "SQLite is used as database. For larger installations we recommend to switch to a different database backend." : "SQLite er notað sem gagnagrunnur. Fyrir stærri uppsetningar mælum við með að velja annan gagnagrunnsbakenda.", "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "Sérstaklega þegar tölvu forrit er notað til samræmingar þá er ekki mælt með notkunn SQLite.", "To migrate to another database use the command line tool: 'occ db:convert-type', or see the documentation ↗." : "Til að yfirfæra í annan gagnagrunn skaltu nota skipanalínutólið: 'occ db:convert-type', eða lesa hjálparskjölin ↗.", @@ -210,7 +207,6 @@ "Improving the config.php" : "Bæting á config.php skránni", "Theming" : "Þemu", "Hardening and security guidance" : "Brynjun og öryggisleiðbeiningar", - "Version" : "Útgáfa", "Developer documentation" : "Skjölun fyrir þróunaraðila", "Experimental applications ahead" : "Forrit á tilraunastigi fyrst", "Experimental apps are not checked for security issues, new or known to be unstable and under heavy development. Installing them can cause data loss or security breaches." : "Tilraunaforrit eru ekki yfirfarin með tilliti til öryggisvandamála, þau eru þekkt fyrir að vera óstöðug og þróast hratt. Uppsetning þeirra getur valdið gagnatapi og öryggisbrestum.", @@ -266,6 +262,11 @@ "Change password" : "Breyta lykilorði", "Language" : "Tungumál", "Help translate" : "Hjálpa við þýðingu", + "Get the apps to sync your files" : "Náðu í forrit til að samstilla skrárnar þínar", + "Desktop client" : "Skjáborðsforrit", + "Android app" : "Android-forrit", + "iOS app" : "iOS-forrit", + "Show First Run Wizard again" : "Birta Fyrsta-skiptis-leiðarvísinn aftur", "Web, desktop and mobile clients currently logged in to your account." : "Veftól, tölvur og símar sem núna eru skráð inn á aðganginn þinn.", "Device" : "Tæki", "Last activity" : "Síðasta virkni", @@ -275,12 +276,6 @@ "For security reasons this password will only be shown once." : "Af öryggisástæðum er þetta lykilorð einungis birt einu sinni.", "Username" : "Notandanafn", "Done" : "Lokið", - "Get the apps to sync your files" : "Náðu í forrit til að samstilla skrárnar þínar", - "Desktop client" : "Skjáborðsforrit", - "Android app" : "Android-forrit", - "iOS app" : "iOS-forrit", - "If you want to support the project\n\t\tjoin development\n\t\tor\n\t\tspread the word!" : "Ef þú vilt styðja við verkefnið\n\t\ttaktu þátt í þróuninni\n\t\teða\n\t\tláttu orð út ganga!", - "Show First Run Wizard again" : "Birta Fyrsta-skiptis-leiðarvísinn aftur", "Developed by the {communityopen}Nextcloud community{linkclose}, the {githubopen}source code{linkclose} is licensed under the {licenseopen}AGPL{linkclose}." : "Þróað af {communityopen}Nextcloud samfélaginu{linkclose}, {githubopen}grunnkóðinn{linkclose} er gefinn út með {licenseopen}AGPL{linkclose} notkunarleyfinu.", "Show storage location" : "Birta staðsetningu gagnageymslu", "Show last log in" : "Birta síðustu innskráningu", @@ -306,6 +301,10 @@ "set new password" : "setja nýtt lykilorð", "change email address" : "breyta tölvupóstfangi", "Default" : "Sjálfgefið", + "APCu" : "APCu", + "Redis" : "Redis", + "External Storage" : "Ytri gagnageymsla", + "Updates" : "Uppfærslur", "no group" : "enginn hópur", "add group" : "bæta við hópi", "Add Group" : "Bæta við hópi", diff --git a/settings/l10n/it.js b/settings/l10n/it.js index c24e82c6e413b..ef71a80a6f0bb 100644 --- a/settings/l10n/it.js +++ b/settings/l10n/it.js @@ -35,17 +35,6 @@ OC.L10N.register( "Email saved" : "Email salvata", "Your full name has been changed." : "Il tuo nome completo è stato cambiato.", "Unable to change full name" : "Impossibile cambiare il nome completo", - "APCu" : "APCu", - "Redis" : "Redis", - "Security & setup warnings" : "Avvisi di sicurezza e di configurazione", - "Sharing" : "Condivisione", - "Server-side encryption" : "Cifratura lato server", - "External Storage" : "Archiviazione esterna", - "Cron" : "Cron", - "Email server" : "Server di posta", - "Log" : "Log", - "Tips & tricks" : "Suggerimenti e trucchi", - "Updates" : "Aggiornamenti", "Couldn't remove app." : "Impossibile rimuovere l'applicazione.", "Language changed" : "Lingua modificata", "Invalid request" : "Richiesta non valida", @@ -98,6 +87,10 @@ OC.L10N.register( "Android Client" : "sistema Android", "Sync client - {os}" : "Client di sincronizzazione - {os}", "This session" : "Questa sessione", + "Copied!" : "Copiato!", + "Not supported!" : "Non supportato!", + "Press ⌘-C to copy." : "Premi ⌘-C per copiare.", + "Press Ctrl-C to copy." : "Premi Ctrl-C per copiare.", "Error while loading browser sessions and device tokens" : "Errore durante il caricamento delle sessioni del browser e dei token di dispositivo", "Error while creating device token" : "Errore durante la creazione del token di dispositivo", "Error while deleting the token" : "Errore durante l'eliminazione del token", @@ -133,17 +126,55 @@ OC.L10N.register( "Sessions" : "Sessioni", "App passwords" : "Password di applicazione", "Sync clients" : "Client di sincronizzazione", - "Everything (fatal issues, errors, warnings, info, debug)" : "Tutto (problemi gravi, errori, avvisi, informazioni, debug)", - "Info, warnings, errors and fatal issues" : "Informazioni, avvisi, errori e problemi gravi", - "Warnings, errors and fatal issues" : "Avvisi, errori e problemi gravi", - "Errors and fatal issues" : "Errori e problemi gravi", - "Fatal issues only" : "Solo problemi gravi", "None" : "Nessuno", "Login" : "Accesso", "Plain" : "Semplice", "NT LAN Manager" : "Gestore NT LAN", "SSL" : "SSL", "TLS" : "TLS", + "Email server" : "Server di posta", + "Open documentation" : "Apri la documentazione", + "This is used for sending out notifications." : "Viene utilizzato per inviare le notifiche.", + "Send mode" : "Modalità di invio", + "Encryption" : "Cifratura", + "From address" : "Indirizzo mittente", + "mail" : "posta", + "Authentication method" : "Metodo di autenticazione", + "Authentication required" : "Autenticazione richiesta", + "Server address" : "Indirizzo del server", + "Port" : "Porta", + "Credentials" : "Credenziali", + "SMTP Username" : "Nome utente SMTP", + "SMTP Password" : "Password SMTP", + "Store credentials" : "Memorizza le credenziali", + "Test email settings" : "Prova impostazioni email", + "Send email" : "Invia email", + "Server-side encryption" : "Cifratura lato server", + "Enable server-side encryption" : "Abilita cifratura lato server", + "Please read carefully before activating server-side encryption: " : "Leggi attentamente prima di attivare la cifratura lato server:", + "Once encryption is enabled, all files uploaded to the server from that point forward will be encrypted at rest on the server. It will only be possible to disable encryption at a later date if the active encryption module supports that function, and all pre-conditions (e.g. setting a recover key) are met." : "Quando la cifratura è abilitata, tutti i file caricati sul server da quel momento in poi saranno cifrati sul server. Sarà possibile solo disabilitare successivamente la cifratura se il modulo di cifratura attivo lo consente, e se tutti i prerequisiti (ad es. l'impostazione di una chiave di recupero) sono verificati.", + "Encryption alone does not guarantee security of the system. Please see documentation for more information about how the encryption app works, and the supported use cases." : "La sola cifratura non garantisce la sicurezza del sistema. Leggi la documentazione per ottenere ulteriori informazioni sul funzionamento dell'applicazione di cifratura.", + "Be aware that encryption always increases the file size." : "Considera che la cifratura incrementa sempre la dimensione dei file.", + "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Ti consigliamo di creare copie di sicurezza dei tuoi dati con regolarità, in caso di utilizzo della cifratura, assicurati di creare una copia delle chiavi di cifratura insieme ai tuoi dati.", + "This is the final warning: Do you really want to enable encryption?" : "Questo è l'ultimo avviso: vuoi davvero abilitare la cifratura?", + "Enable encryption" : "Abilita cifratura", + "No encryption module loaded, please enable an encryption module in the app menu." : "Nessun modulo di cifratura caricato, carica un modulo di cifratura nel menu delle applicazioni.", + "Select default encryption module:" : "Seleziona il modulo di cifratura predefinito:", + "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please enable the \"Default encryption module\" and run 'occ encryption:migrate'" : "Devi migrare le tue chiavi di cifratura dalla vecchia cifratura (ownCloud <= 8.0) alla nuova. Abilita il \"Modulo di cifratura predefinito\" ed esegui 'occ encryption:migrate'", + "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Devi migrare le tue chiavi di cifratura dalla vecchia cifratura (ownCloud <= 8.0) alla nuova.", + "Start migration" : "Avvia migrazione", + "Everything (fatal issues, errors, warnings, info, debug)" : "Tutto (problemi gravi, errori, avvisi, informazioni, debug)", + "Info, warnings, errors and fatal issues" : "Informazioni, avvisi, errori e problemi gravi", + "Warnings, errors and fatal issues" : "Avvisi, errori e problemi gravi", + "Errors and fatal issues" : "Errori e problemi gravi", + "Fatal issues only" : "Solo problemi gravi", + "Log" : "Log", + "What to log" : "Cosa registrare", + "Download logfile" : "Scarica file di log", + "More" : "Altro", + "Less" : "Meno", + "The logfile is bigger than 100 MB. Downloading it may take some time!" : "Il file di log è più grande di 100MB. Scaricarlo potrebbe richiedere del tempo!", + "Security & setup warnings" : "Avvisi di sicurezza e di configurazione", "php does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "php non sembra essere configurato correttamente per interrogare le variabili d'ambiente di sistema. Il test con getenv(\"PATH\") restituisce solo una risposta vuota.", "Please check the installation documentation ↗ for php configuration notes and the php configuration of your server, especially when using php-fpm." : "Controlla la documentazione di installazione↗ per le note di configurazione di php e la configurazione del tuo server, in particolare quando utilizzi php-fpm.", "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "La configurazione di sola lettura è stata abilitata. Ciò impedisce l'impostazione di alcune configurazioni tramite l'interfaccia web. Inoltre, i file devono essere resi scrivibili manualmente per ogni aggiornamento.", @@ -160,7 +191,15 @@ OC.L10N.register( "It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "Non è stato possibile eseguire il job di cron tramite CLI. Sono apparsi i seguenti errori tecnici:", "Please double check the installation guides ↗, and check for any errors or warnings in the log." : "Leggi attentamente le guide d'installazione ↗, e controlla gli errori o gli avvisi nel log.", "All checks passed." : "Tutti i controlli passati.", - "Open documentation" : "Apri la documentazione", + "Cron" : "Cron", + "Last cron job execution: %s." : "Ultima esecuzione di cron: %s.", + "Last cron job execution: %s. Something seems wrong." : "Ultima esecuzione di cron: %s. Potrebbe esserci un problema.", + "Cron was not executed yet!" : "Cron non è stato ancora eseguito!", + "Execute one task with each page loaded" : "Esegui un'operazione con ogni pagina caricata", + "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php è registrato su un servizio webcron per invocare cron.php ogni 15 minuti su http.", + "Use system's cron service to call the cron.php file every 15 minutes." : "Usa il servizio cron di sistema per invocare il file cron.php ogni 15 minuti.", + "Version" : "Versione", + "Sharing" : "Condivisione", "Allow apps to use the Share API" : "Consenti alle applicazioni di utilizzare le API di condivisione", "Allow users to share via link" : "Consenti agli utenti di condividere tramite collegamento", "Allow public uploads" : "Consenti caricamenti pubblici", @@ -177,45 +216,7 @@ OC.L10N.register( "Exclude groups from sharing" : "Escludi gruppi dalla condivisione", "These groups will still be able to receive shares, but not to initiate them." : "Questi gruppi saranno in grado di ricevere condivisioni, ma non iniziarle.", "Allow username autocompletion in share dialog. If this is disabled the full username needs to be entered." : "Consenti il completamento del nome utente nella finestra di condivisione. Se è disabilitata, è necessario digitare il nome utente completo.", - "Last cron job execution: %s." : "Ultima esecuzione di cron: %s.", - "Last cron job execution: %s. Something seems wrong." : "Ultima esecuzione di cron: %s. Potrebbe esserci un problema.", - "Cron was not executed yet!" : "Cron non è stato ancora eseguito!", - "Execute one task with each page loaded" : "Esegui un'operazione con ogni pagina caricata", - "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php è registrato su un servizio webcron per invocare cron.php ogni 15 minuti su http.", - "Use system's cron service to call the cron.php file every 15 minutes." : "Usa il servizio cron di sistema per invocare il file cron.php ogni 15 minuti.", - "Enable server-side encryption" : "Abilita cifratura lato server", - "Please read carefully before activating server-side encryption: " : "Leggi attentamente prima di attivare la cifratura lato server:", - "Once encryption is enabled, all files uploaded to the server from that point forward will be encrypted at rest on the server. It will only be possible to disable encryption at a later date if the active encryption module supports that function, and all pre-conditions (e.g. setting a recover key) are met." : "Quando la cifratura è abilitata, tutti i file caricati sul server da quel momento in poi saranno cifrati sul server. Sarà possibile solo disabilitare successivamente la cifratura se il modulo di cifratura attivo lo consente, e se tutti i prerequisiti (ad es. l'impostazione di una chiave di recupero) sono verificati.", - "Encryption alone does not guarantee security of the system. Please see documentation for more information about how the encryption app works, and the supported use cases." : "La sola cifratura non garantisce la sicurezza del sistema. Leggi la documentazione per ottenere ulteriori informazioni sul funzionamento dell'applicazione di cifratura.", - "Be aware that encryption always increases the file size." : "Considera che la cifratura incrementa sempre la dimensione dei file.", - "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Ti consigliamo di creare copie di sicurezza dei tuoi dati con regolarità, in caso di utilizzo della cifratura, assicurati di creare una copia delle chiavi di cifratura insieme ai tuoi dati.", - "This is the final warning: Do you really want to enable encryption?" : "Questo è l'ultimo avviso: vuoi davvero abilitare la cifratura?", - "Enable encryption" : "Abilita cifratura", - "No encryption module loaded, please enable an encryption module in the app menu." : "Nessun modulo di cifratura caricato, carica un modulo di cifratura nel menu delle applicazioni.", - "Select default encryption module:" : "Seleziona il modulo di cifratura predefinito:", - "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please enable the \"Default encryption module\" and run 'occ encryption:migrate'" : "Devi migrare le tue chiavi di cifratura dalla vecchia cifratura (ownCloud <= 8.0) alla nuova. Abilita il \"Modulo di cifratura predefinito\" ed esegui 'occ encryption:migrate'", - "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Devi migrare le tue chiavi di cifratura dalla vecchia cifratura (ownCloud <= 8.0) alla nuova.", - "Start migration" : "Avvia migrazione", - "This is used for sending out notifications." : "Viene utilizzato per inviare le notifiche.", - "Send mode" : "Modalità di invio", - "Encryption" : "Cifratura", - "From address" : "Indirizzo mittente", - "mail" : "posta", - "Authentication method" : "Metodo di autenticazione", - "Authentication required" : "Autenticazione richiesta", - "Server address" : "Indirizzo del server", - "Port" : "Porta", - "Credentials" : "Credenziali", - "SMTP Username" : "Nome utente SMTP", - "SMTP Password" : "Password SMTP", - "Store credentials" : "Memorizza le credenziali", - "Test email settings" : "Prova impostazioni email", - "Send email" : "Invia email", - "What to log" : "Cosa registrare", - "Download logfile" : "Scarica file di log", - "More" : "Altro", - "Less" : "Meno", - "The logfile is bigger than 100 MB. Downloading it may take some time!" : "Il file di log è più grande di 100MB. Scaricarlo potrebbe richiedere del tempo!", + "Tips & tricks" : "Suggerimenti e trucchi", "SQLite is used as database. For larger installations we recommend to switch to a different database backend." : "SQLite è utilizzato come database. Per installazioni più grandi consigliamo di passare a un motore di database diverso.", "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "In particolar modo, quando si utilizza il client desktop per la sincronizzazione dei file, l'uso di SQLite è sconsigliato.", "To migrate to another database use the command line tool: 'occ db:convert-type', or see the documentation ↗." : "Per migrare a un altro database, usa lo strumento da riga di comando: 'occ db:convert-type', o leggi la documentazione ↗.", @@ -225,7 +226,6 @@ OC.L10N.register( "Improving the config.php" : "Ottimizzare il config.php", "Theming" : "Temi", "Hardening and security guidance" : "Guida alla messa in sicurezza", - "Version" : "Versione", "Developer documentation" : "Documentazione dello sviluppatore", "Experimental applications ahead" : "Prima le applicazioni sperimentali", "Experimental apps are not checked for security issues, new or known to be unstable and under heavy development. Installing them can cause data loss or security breaches." : "Le applicazioni sperimentali non sono sottoposte a controlli di sicurezza, sono nuove o notoriamente instabili e sotto sviluppo intensivo. La loro installazione può causare perdite di dati o problemi di sicurezza.", @@ -281,6 +281,11 @@ OC.L10N.register( "Change password" : "Modifica password", "Language" : "Lingua", "Help translate" : "Migliora la traduzione", + "Get the apps to sync your files" : "Scarica le applicazioni per sincronizzare i tuoi file", + "Desktop client" : "Client desktop", + "Android app" : "Applicazione Android", + "iOS app" : "Applicazione iOS", + "Show First Run Wizard again" : "Mostra nuovamente la procedura di primo avvio", "Web, desktop and mobile clients currently logged in to your account." : "Client web, desktop e mobile attualmente connessi al tuo account.", "Device" : "Dispositivo", "Last activity" : "Ultima attività", @@ -291,13 +296,10 @@ OC.L10N.register( "Use the credentials below to configure your app or device." : "Utilizza le credenziali in basso per configurare la tua applicazione o dispositivo.", "Username" : "Nome utente", "Done" : "Completato", - "Get the apps to sync your files" : "Scarica le applicazioni per sincronizzare i tuoi file", - "Desktop client" : "Client desktop", - "Android app" : "Applicazione Android", - "iOS app" : "Applicazione iOS", - "If you want to support the project\n\t\tjoin development\n\t\tor\n\t\tspread the word!" : "Se desideri supportare il progetto\n\t\tcontribuisci allo sviluppo\n\t\to\n\t\tdiffondi il verbo!", - "Show First Run Wizard again" : "Mostra nuovamente la procedura di primo avvio", "Developed by the {communityopen}Nextcloud community{linkclose}, the {githubopen}source code{linkclose} is licensed under the {licenseopen}AGPL{linkclose}." : "Sviluppato dalla {communityopen}comunità di Nextcloud{linkclose}, il {githubopen}codice sorgente{linkclose} è rilasciato nei termini della licenza {licenseopen}AGPL{linkclose}.", + "Follow us on Google Plus!" : "Seguici su Google Plus!", + "Subscribe to our twitter channel!" : "Iscriviti al nostro canale twitter!", + "Subscribe to our newsletter!" : "Iscriviti alla nostra newsletter!", "Show storage location" : "Mostra posizione di archiviazione", "Show last log in" : "Mostra ultimo accesso", "Show user backend" : "Mostra il motore utente", @@ -321,6 +323,18 @@ OC.L10N.register( "change full name" : "modica nome completo", "set new password" : "imposta una nuova password", "change email address" : "cambia l'indirizzo email", - "Default" : "Predefinito" + "Default" : "Predefinito", + "APCu" : "APCu", + "Redis" : "Redis", + "External Storage" : "Archiviazione esterna", + "Updates" : "Aggiornamenti", + "no group" : "nessun gruppo", + "add group" : "aggiungi gruppo", + "Add Group" : "Aggiungi gruppo", + "Default Quota" : "Quota predefinita", + "Full Name" : "Nome completo", + "Group Admin for" : "Gruppo di amministrazione per", + "Storage Location" : "Posizione di archiviazione", + "Last Login" : "Ultimo accesso" }, "nplurals=2; plural=(n != 1);"); diff --git a/settings/l10n/it.json b/settings/l10n/it.json index cc5e18a72361c..e6e2deb32e813 100644 --- a/settings/l10n/it.json +++ b/settings/l10n/it.json @@ -33,17 +33,6 @@ "Email saved" : "Email salvata", "Your full name has been changed." : "Il tuo nome completo è stato cambiato.", "Unable to change full name" : "Impossibile cambiare il nome completo", - "APCu" : "APCu", - "Redis" : "Redis", - "Security & setup warnings" : "Avvisi di sicurezza e di configurazione", - "Sharing" : "Condivisione", - "Server-side encryption" : "Cifratura lato server", - "External Storage" : "Archiviazione esterna", - "Cron" : "Cron", - "Email server" : "Server di posta", - "Log" : "Log", - "Tips & tricks" : "Suggerimenti e trucchi", - "Updates" : "Aggiornamenti", "Couldn't remove app." : "Impossibile rimuovere l'applicazione.", "Language changed" : "Lingua modificata", "Invalid request" : "Richiesta non valida", @@ -96,6 +85,10 @@ "Android Client" : "sistema Android", "Sync client - {os}" : "Client di sincronizzazione - {os}", "This session" : "Questa sessione", + "Copied!" : "Copiato!", + "Not supported!" : "Non supportato!", + "Press ⌘-C to copy." : "Premi ⌘-C per copiare.", + "Press Ctrl-C to copy." : "Premi Ctrl-C per copiare.", "Error while loading browser sessions and device tokens" : "Errore durante il caricamento delle sessioni del browser e dei token di dispositivo", "Error while creating device token" : "Errore durante la creazione del token di dispositivo", "Error while deleting the token" : "Errore durante l'eliminazione del token", @@ -131,17 +124,55 @@ "Sessions" : "Sessioni", "App passwords" : "Password di applicazione", "Sync clients" : "Client di sincronizzazione", - "Everything (fatal issues, errors, warnings, info, debug)" : "Tutto (problemi gravi, errori, avvisi, informazioni, debug)", - "Info, warnings, errors and fatal issues" : "Informazioni, avvisi, errori e problemi gravi", - "Warnings, errors and fatal issues" : "Avvisi, errori e problemi gravi", - "Errors and fatal issues" : "Errori e problemi gravi", - "Fatal issues only" : "Solo problemi gravi", "None" : "Nessuno", "Login" : "Accesso", "Plain" : "Semplice", "NT LAN Manager" : "Gestore NT LAN", "SSL" : "SSL", "TLS" : "TLS", + "Email server" : "Server di posta", + "Open documentation" : "Apri la documentazione", + "This is used for sending out notifications." : "Viene utilizzato per inviare le notifiche.", + "Send mode" : "Modalità di invio", + "Encryption" : "Cifratura", + "From address" : "Indirizzo mittente", + "mail" : "posta", + "Authentication method" : "Metodo di autenticazione", + "Authentication required" : "Autenticazione richiesta", + "Server address" : "Indirizzo del server", + "Port" : "Porta", + "Credentials" : "Credenziali", + "SMTP Username" : "Nome utente SMTP", + "SMTP Password" : "Password SMTP", + "Store credentials" : "Memorizza le credenziali", + "Test email settings" : "Prova impostazioni email", + "Send email" : "Invia email", + "Server-side encryption" : "Cifratura lato server", + "Enable server-side encryption" : "Abilita cifratura lato server", + "Please read carefully before activating server-side encryption: " : "Leggi attentamente prima di attivare la cifratura lato server:", + "Once encryption is enabled, all files uploaded to the server from that point forward will be encrypted at rest on the server. It will only be possible to disable encryption at a later date if the active encryption module supports that function, and all pre-conditions (e.g. setting a recover key) are met." : "Quando la cifratura è abilitata, tutti i file caricati sul server da quel momento in poi saranno cifrati sul server. Sarà possibile solo disabilitare successivamente la cifratura se il modulo di cifratura attivo lo consente, e se tutti i prerequisiti (ad es. l'impostazione di una chiave di recupero) sono verificati.", + "Encryption alone does not guarantee security of the system. Please see documentation for more information about how the encryption app works, and the supported use cases." : "La sola cifratura non garantisce la sicurezza del sistema. Leggi la documentazione per ottenere ulteriori informazioni sul funzionamento dell'applicazione di cifratura.", + "Be aware that encryption always increases the file size." : "Considera che la cifratura incrementa sempre la dimensione dei file.", + "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Ti consigliamo di creare copie di sicurezza dei tuoi dati con regolarità, in caso di utilizzo della cifratura, assicurati di creare una copia delle chiavi di cifratura insieme ai tuoi dati.", + "This is the final warning: Do you really want to enable encryption?" : "Questo è l'ultimo avviso: vuoi davvero abilitare la cifratura?", + "Enable encryption" : "Abilita cifratura", + "No encryption module loaded, please enable an encryption module in the app menu." : "Nessun modulo di cifratura caricato, carica un modulo di cifratura nel menu delle applicazioni.", + "Select default encryption module:" : "Seleziona il modulo di cifratura predefinito:", + "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please enable the \"Default encryption module\" and run 'occ encryption:migrate'" : "Devi migrare le tue chiavi di cifratura dalla vecchia cifratura (ownCloud <= 8.0) alla nuova. Abilita il \"Modulo di cifratura predefinito\" ed esegui 'occ encryption:migrate'", + "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Devi migrare le tue chiavi di cifratura dalla vecchia cifratura (ownCloud <= 8.0) alla nuova.", + "Start migration" : "Avvia migrazione", + "Everything (fatal issues, errors, warnings, info, debug)" : "Tutto (problemi gravi, errori, avvisi, informazioni, debug)", + "Info, warnings, errors and fatal issues" : "Informazioni, avvisi, errori e problemi gravi", + "Warnings, errors and fatal issues" : "Avvisi, errori e problemi gravi", + "Errors and fatal issues" : "Errori e problemi gravi", + "Fatal issues only" : "Solo problemi gravi", + "Log" : "Log", + "What to log" : "Cosa registrare", + "Download logfile" : "Scarica file di log", + "More" : "Altro", + "Less" : "Meno", + "The logfile is bigger than 100 MB. Downloading it may take some time!" : "Il file di log è più grande di 100MB. Scaricarlo potrebbe richiedere del tempo!", + "Security & setup warnings" : "Avvisi di sicurezza e di configurazione", "php does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "php non sembra essere configurato correttamente per interrogare le variabili d'ambiente di sistema. Il test con getenv(\"PATH\") restituisce solo una risposta vuota.", "Please check the installation documentation ↗ for php configuration notes and the php configuration of your server, especially when using php-fpm." : "Controlla la documentazione di installazione↗ per le note di configurazione di php e la configurazione del tuo server, in particolare quando utilizzi php-fpm.", "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "La configurazione di sola lettura è stata abilitata. Ciò impedisce l'impostazione di alcune configurazioni tramite l'interfaccia web. Inoltre, i file devono essere resi scrivibili manualmente per ogni aggiornamento.", @@ -158,7 +189,15 @@ "It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "Non è stato possibile eseguire il job di cron tramite CLI. Sono apparsi i seguenti errori tecnici:", "Please double check the installation guides ↗, and check for any errors or warnings in the log." : "Leggi attentamente le guide d'installazione ↗, e controlla gli errori o gli avvisi nel log.", "All checks passed." : "Tutti i controlli passati.", - "Open documentation" : "Apri la documentazione", + "Cron" : "Cron", + "Last cron job execution: %s." : "Ultima esecuzione di cron: %s.", + "Last cron job execution: %s. Something seems wrong." : "Ultima esecuzione di cron: %s. Potrebbe esserci un problema.", + "Cron was not executed yet!" : "Cron non è stato ancora eseguito!", + "Execute one task with each page loaded" : "Esegui un'operazione con ogni pagina caricata", + "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php è registrato su un servizio webcron per invocare cron.php ogni 15 minuti su http.", + "Use system's cron service to call the cron.php file every 15 minutes." : "Usa il servizio cron di sistema per invocare il file cron.php ogni 15 minuti.", + "Version" : "Versione", + "Sharing" : "Condivisione", "Allow apps to use the Share API" : "Consenti alle applicazioni di utilizzare le API di condivisione", "Allow users to share via link" : "Consenti agli utenti di condividere tramite collegamento", "Allow public uploads" : "Consenti caricamenti pubblici", @@ -175,45 +214,7 @@ "Exclude groups from sharing" : "Escludi gruppi dalla condivisione", "These groups will still be able to receive shares, but not to initiate them." : "Questi gruppi saranno in grado di ricevere condivisioni, ma non iniziarle.", "Allow username autocompletion in share dialog. If this is disabled the full username needs to be entered." : "Consenti il completamento del nome utente nella finestra di condivisione. Se è disabilitata, è necessario digitare il nome utente completo.", - "Last cron job execution: %s." : "Ultima esecuzione di cron: %s.", - "Last cron job execution: %s. Something seems wrong." : "Ultima esecuzione di cron: %s. Potrebbe esserci un problema.", - "Cron was not executed yet!" : "Cron non è stato ancora eseguito!", - "Execute one task with each page loaded" : "Esegui un'operazione con ogni pagina caricata", - "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php è registrato su un servizio webcron per invocare cron.php ogni 15 minuti su http.", - "Use system's cron service to call the cron.php file every 15 minutes." : "Usa il servizio cron di sistema per invocare il file cron.php ogni 15 minuti.", - "Enable server-side encryption" : "Abilita cifratura lato server", - "Please read carefully before activating server-side encryption: " : "Leggi attentamente prima di attivare la cifratura lato server:", - "Once encryption is enabled, all files uploaded to the server from that point forward will be encrypted at rest on the server. It will only be possible to disable encryption at a later date if the active encryption module supports that function, and all pre-conditions (e.g. setting a recover key) are met." : "Quando la cifratura è abilitata, tutti i file caricati sul server da quel momento in poi saranno cifrati sul server. Sarà possibile solo disabilitare successivamente la cifratura se il modulo di cifratura attivo lo consente, e se tutti i prerequisiti (ad es. l'impostazione di una chiave di recupero) sono verificati.", - "Encryption alone does not guarantee security of the system. Please see documentation for more information about how the encryption app works, and the supported use cases." : "La sola cifratura non garantisce la sicurezza del sistema. Leggi la documentazione per ottenere ulteriori informazioni sul funzionamento dell'applicazione di cifratura.", - "Be aware that encryption always increases the file size." : "Considera che la cifratura incrementa sempre la dimensione dei file.", - "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Ti consigliamo di creare copie di sicurezza dei tuoi dati con regolarità, in caso di utilizzo della cifratura, assicurati di creare una copia delle chiavi di cifratura insieme ai tuoi dati.", - "This is the final warning: Do you really want to enable encryption?" : "Questo è l'ultimo avviso: vuoi davvero abilitare la cifratura?", - "Enable encryption" : "Abilita cifratura", - "No encryption module loaded, please enable an encryption module in the app menu." : "Nessun modulo di cifratura caricato, carica un modulo di cifratura nel menu delle applicazioni.", - "Select default encryption module:" : "Seleziona il modulo di cifratura predefinito:", - "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please enable the \"Default encryption module\" and run 'occ encryption:migrate'" : "Devi migrare le tue chiavi di cifratura dalla vecchia cifratura (ownCloud <= 8.0) alla nuova. Abilita il \"Modulo di cifratura predefinito\" ed esegui 'occ encryption:migrate'", - "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Devi migrare le tue chiavi di cifratura dalla vecchia cifratura (ownCloud <= 8.0) alla nuova.", - "Start migration" : "Avvia migrazione", - "This is used for sending out notifications." : "Viene utilizzato per inviare le notifiche.", - "Send mode" : "Modalità di invio", - "Encryption" : "Cifratura", - "From address" : "Indirizzo mittente", - "mail" : "posta", - "Authentication method" : "Metodo di autenticazione", - "Authentication required" : "Autenticazione richiesta", - "Server address" : "Indirizzo del server", - "Port" : "Porta", - "Credentials" : "Credenziali", - "SMTP Username" : "Nome utente SMTP", - "SMTP Password" : "Password SMTP", - "Store credentials" : "Memorizza le credenziali", - "Test email settings" : "Prova impostazioni email", - "Send email" : "Invia email", - "What to log" : "Cosa registrare", - "Download logfile" : "Scarica file di log", - "More" : "Altro", - "Less" : "Meno", - "The logfile is bigger than 100 MB. Downloading it may take some time!" : "Il file di log è più grande di 100MB. Scaricarlo potrebbe richiedere del tempo!", + "Tips & tricks" : "Suggerimenti e trucchi", "SQLite is used as database. For larger installations we recommend to switch to a different database backend." : "SQLite è utilizzato come database. Per installazioni più grandi consigliamo di passare a un motore di database diverso.", "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "In particolar modo, quando si utilizza il client desktop per la sincronizzazione dei file, l'uso di SQLite è sconsigliato.", "To migrate to another database use the command line tool: 'occ db:convert-type', or see the documentation ↗." : "Per migrare a un altro database, usa lo strumento da riga di comando: 'occ db:convert-type', o leggi la documentazione ↗.", @@ -223,7 +224,6 @@ "Improving the config.php" : "Ottimizzare il config.php", "Theming" : "Temi", "Hardening and security guidance" : "Guida alla messa in sicurezza", - "Version" : "Versione", "Developer documentation" : "Documentazione dello sviluppatore", "Experimental applications ahead" : "Prima le applicazioni sperimentali", "Experimental apps are not checked for security issues, new or known to be unstable and under heavy development. Installing them can cause data loss or security breaches." : "Le applicazioni sperimentali non sono sottoposte a controlli di sicurezza, sono nuove o notoriamente instabili e sotto sviluppo intensivo. La loro installazione può causare perdite di dati o problemi di sicurezza.", @@ -279,6 +279,11 @@ "Change password" : "Modifica password", "Language" : "Lingua", "Help translate" : "Migliora la traduzione", + "Get the apps to sync your files" : "Scarica le applicazioni per sincronizzare i tuoi file", + "Desktop client" : "Client desktop", + "Android app" : "Applicazione Android", + "iOS app" : "Applicazione iOS", + "Show First Run Wizard again" : "Mostra nuovamente la procedura di primo avvio", "Web, desktop and mobile clients currently logged in to your account." : "Client web, desktop e mobile attualmente connessi al tuo account.", "Device" : "Dispositivo", "Last activity" : "Ultima attività", @@ -289,13 +294,10 @@ "Use the credentials below to configure your app or device." : "Utilizza le credenziali in basso per configurare la tua applicazione o dispositivo.", "Username" : "Nome utente", "Done" : "Completato", - "Get the apps to sync your files" : "Scarica le applicazioni per sincronizzare i tuoi file", - "Desktop client" : "Client desktop", - "Android app" : "Applicazione Android", - "iOS app" : "Applicazione iOS", - "If you want to support the project\n\t\tjoin development\n\t\tor\n\t\tspread the word!" : "Se desideri supportare il progetto\n\t\tcontribuisci allo sviluppo\n\t\to\n\t\tdiffondi il verbo!", - "Show First Run Wizard again" : "Mostra nuovamente la procedura di primo avvio", "Developed by the {communityopen}Nextcloud community{linkclose}, the {githubopen}source code{linkclose} is licensed under the {licenseopen}AGPL{linkclose}." : "Sviluppato dalla {communityopen}comunità di Nextcloud{linkclose}, il {githubopen}codice sorgente{linkclose} è rilasciato nei termini della licenza {licenseopen}AGPL{linkclose}.", + "Follow us on Google Plus!" : "Seguici su Google Plus!", + "Subscribe to our twitter channel!" : "Iscriviti al nostro canale twitter!", + "Subscribe to our newsletter!" : "Iscriviti alla nostra newsletter!", "Show storage location" : "Mostra posizione di archiviazione", "Show last log in" : "Mostra ultimo accesso", "Show user backend" : "Mostra il motore utente", @@ -319,6 +321,18 @@ "change full name" : "modica nome completo", "set new password" : "imposta una nuova password", "change email address" : "cambia l'indirizzo email", - "Default" : "Predefinito" + "Default" : "Predefinito", + "APCu" : "APCu", + "Redis" : "Redis", + "External Storage" : "Archiviazione esterna", + "Updates" : "Aggiornamenti", + "no group" : "nessun gruppo", + "add group" : "aggiungi gruppo", + "Add Group" : "Aggiungi gruppo", + "Default Quota" : "Quota predefinita", + "Full Name" : "Nome completo", + "Group Admin for" : "Gruppo di amministrazione per", + "Storage Location" : "Posizione di archiviazione", + "Last Login" : "Ultimo accesso" },"pluralForm" :"nplurals=2; plural=(n != 1);" } \ No newline at end of file diff --git a/settings/l10n/ja.js b/settings/l10n/ja.js index 3c7dbde76bf4d..83cff18f8db9b 100644 --- a/settings/l10n/ja.js +++ b/settings/l10n/ja.js @@ -35,17 +35,6 @@ OC.L10N.register( "Email saved" : "メールアドレスを保存しました", "Your full name has been changed." : "名前を変更しました。", "Unable to change full name" : "名前を変更できません", - "APCu" : "APCu", - "Redis" : "Redis", - "Security & setup warnings" : "セキュリティ&セットアップ警告", - "Sharing" : "共有", - "Server-side encryption" : "サーバーサイド暗号化", - "External Storage" : "外部ストレージ", - "Cron" : "Cron", - "Email server" : "メールサーバー", - "Log" : "ログ", - "Tips & tricks" : "ヒントとコツ", - "Updates" : "アップデート", "Couldn't remove app." : "アプリが削除できませんでした。", "Language changed" : "言語が変更されました", "Invalid request" : "不正なリクエスト", @@ -120,17 +109,55 @@ OC.L10N.register( "Sessions" : "セッション", "App passwords" : "アプリパスワード", "Sync clients" : "同期用クライアント", - "Everything (fatal issues, errors, warnings, info, debug)" : "すべて (致命的な問題、エラー、警告、情報、デバッグ)", - "Info, warnings, errors and fatal issues" : "情報、警告、エラー、致命的な問題", - "Warnings, errors and fatal issues" : "警告、エラー、致命的な問題", - "Errors and fatal issues" : "エラー、致命的な問題", - "Fatal issues only" : "致命的な問題のみ", "None" : "なし", "Login" : "ログイン", "Plain" : "平文", "NT LAN Manager" : "NT LAN マネージャー", "SSL" : "SSL", "TLS" : "TLS", + "Email server" : "メールサーバー", + "Open documentation" : "ドキュメントを開く", + "This is used for sending out notifications." : "通知を送信する際に使用します。", + "Send mode" : "送信モード", + "Encryption" : "暗号化", + "From address" : "送信元アドレス", + "mail" : "mail", + "Authentication method" : "認証方法", + "Authentication required" : "認証を必要とする", + "Server address" : "サーバーアドレス", + "Port" : "ポート", + "Credentials" : "資格情報", + "SMTP Username" : "SMTPユーザー名", + "SMTP Password" : "SMTP パスワード", + "Store credentials" : "資格情報を保存", + "Test email settings" : "メール設定のテスト", + "Send email" : "メールを送信", + "Server-side encryption" : "サーバーサイド暗号化", + "Enable server-side encryption" : "サーバーサイド暗号化を有効にする", + "Please read carefully before activating server-side encryption: " : "サーバーサイド暗号化を有効にする前によくお読みください:", + "Once encryption is enabled, all files uploaded to the server from that point forward will be encrypted at rest on the server. It will only be possible to disable encryption at a later date if the active encryption module supports that function, and all pre-conditions (e.g. setting a recover key) are met." : "暗号化を一度有効化すると、この時点からサーバーにアップロードされるファイルの全てが暗号化されサーバー上に入ります。有効化された暗号モジュールは復号化機能をサポートしますが、すべての前提条件が満たされている(例えば、回復キーが設定されている)場合にのみ、後日暗号化を無効にすることが可能です。", + "Encryption alone does not guarantee security of the system. Please see documentation for more information about how the encryption app works, and the supported use cases." : "暗号化だけで、システムのセキュリティが保証されるものではありません。暗号化アプリがどのように動作するかの詳細について、およびサポートされているユースケースについてはownCloudのドキュメントを参照してください。", + "Be aware that encryption always increases the file size." : "暗号化は、常にファイルサイズが増加することに注意してください。", + "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "暗号化した場合には必ず、あなたのデータと共に暗号化キーをバックアップすることを確認し、定期的にデータをバックアップを作成することをお勧めします。", + "This is the final warning: Do you really want to enable encryption?" : "これが最後の警告です:本当に暗号化を有効にしますか?", + "Enable encryption" : "暗号化を有効に", + "No encryption module loaded, please enable an encryption module in the app menu." : "暗号化モジュールがロードされていません。アプリのメニューから暗号化モジュールを有効化してください。", + "Select default encryption module:" : "デフォルトの暗号化モジュールを選択:", + "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please enable the \"Default encryption module\" and run 'occ encryption:migrate'" : "古い暗号化(ownCloud <= 8.0) から新しいものに暗号化キーを移行する必要があります。\"デフォルトの暗号化モジュール\" を有効にして 'occ encryption:migrate' を実行してください。", + "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "古い暗号化(ownCloud <= 8.0) から新しいものに暗号化キーを移行する必要があります。", + "Start migration" : "移行を開始", + "Everything (fatal issues, errors, warnings, info, debug)" : "すべて (致命的な問題、エラー、警告、情報、デバッグ)", + "Info, warnings, errors and fatal issues" : "情報、警告、エラー、致命的な問題", + "Warnings, errors and fatal issues" : "警告、エラー、致命的な問題", + "Errors and fatal issues" : "エラー、致命的な問題", + "Fatal issues only" : "致命的な問題のみ", + "Log" : "ログ", + "What to log" : "ログ出力対象", + "Download logfile" : "ログファイルのダウンロード", + "More" : "もっと見る", + "Less" : "閉じる", + "The logfile is bigger than 100 MB. Downloading it may take some time!" : "ログファイルが100MB以上あります。ダウンロードに時間がかかります!", + "Security & setup warnings" : "セキュリティ&セットアップ警告", "php does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHPのシステム環境変数が正しく設定されていないようです。getenv(\"PATH\") コマンドでテストして何も値を返さないことを確認してください。", "Please check the installation documentation ↗ for php configuration notes and the php configuration of your server, especially when using php-fpm." : "PHP設定の注意事項と php-fpmを利用する場合のサーバー向け設定を インストールドキュメント ↗ で確認してください。", "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "\"config\"は読み取り専用になってます。そのためにWEBインターフェースで設定できません可能性があります。さらに、更新時に\"config\"ファイルを書き込み権限を与えることが必要", @@ -146,7 +173,15 @@ OC.L10N.register( "It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "CLI から cronジョブを実行することができませんでした。次の技術的なエラーが発生しています:", "Please double check the installation guides ↗, and check for any errors or warnings in the log." : "インストールガイド ↗をもう一度チェックして、ログ にあるエラーまたは警告について確認してください。", "All checks passed." : "すべてのチェックに合格しました。", - "Open documentation" : "ドキュメントを開く", + "Cron" : "Cron", + "Last cron job execution: %s." : "最終cronジョブ実行: %s", + "Last cron job execution: %s. Something seems wrong." : "最終cronジョブ実行: %s 何らかの問題があります。", + "Cron was not executed yet!" : "cronはまだ実行されていません!", + "Execute one task with each page loaded" : "各ページの読み込み時にタスクを実行します。", + "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.phpは、HTTP経由で15分ごとにcron.phpを実行するようwebcronサービスに登録されます。", + "Use system's cron service to call the cron.php file every 15 minutes." : "システムのcronサービスを利用して、15分間隔でcron.phpファイルを実行します。", + "Version" : "バージョン", + "Sharing" : "共有", "Allow apps to use the Share API" : "アプリからの共有APIの利用を許可する", "Allow users to share via link" : "URLリンクでの共有を許可する", "Allow public uploads" : "パブリックなアップロードを許可する", @@ -163,45 +198,7 @@ OC.L10N.register( "Exclude groups from sharing" : "共有可能なグループから除外する", "These groups will still be able to receive shares, but not to initiate them." : "このグループでは、フォルダー共有を開始することはできませんが、共有されたフォルダーを参照することはできます。", "Allow username autocompletion in share dialog. If this is disabled the full username needs to be entered." : "共有ダイアログでのユーザー名の自動補完を有効にする。このチェックを無効にした場合は、完全なユーザー名を入力する必要があります。", - "Last cron job execution: %s." : "最終cronジョブ実行: %s", - "Last cron job execution: %s. Something seems wrong." : "最終cronジョブ実行: %s 何らかの問題があります。", - "Cron was not executed yet!" : "cronはまだ実行されていません!", - "Execute one task with each page loaded" : "各ページの読み込み時にタスクを実行します。", - "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.phpは、HTTP経由で15分ごとにcron.phpを実行するようwebcronサービスに登録されます。", - "Use system's cron service to call the cron.php file every 15 minutes." : "システムのcronサービスを利用して、15分間隔でcron.phpファイルを実行します。", - "Enable server-side encryption" : "サーバーサイド暗号化を有効にする", - "Please read carefully before activating server-side encryption: " : "サーバーサイド暗号化を有効にする前によくお読みください:", - "Once encryption is enabled, all files uploaded to the server from that point forward will be encrypted at rest on the server. It will only be possible to disable encryption at a later date if the active encryption module supports that function, and all pre-conditions (e.g. setting a recover key) are met." : "暗号化を一度有効化すると、この時点からサーバーにアップロードされるファイルの全てが暗号化されサーバー上に入ります。有効化された暗号モジュールは復号化機能をサポートしますが、すべての前提条件が満たされている(例えば、回復キーが設定されている)場合にのみ、後日暗号化を無効にすることが可能です。", - "Encryption alone does not guarantee security of the system. Please see documentation for more information about how the encryption app works, and the supported use cases." : "暗号化だけで、システムのセキュリティが保証されるものではありません。暗号化アプリがどのように動作するかの詳細について、およびサポートされているユースケースについてはownCloudのドキュメントを参照してください。", - "Be aware that encryption always increases the file size." : "暗号化は、常にファイルサイズが増加することに注意してください。", - "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "暗号化した場合には必ず、あなたのデータと共に暗号化キーをバックアップすることを確認し、定期的にデータをバックアップを作成することをお勧めします。", - "This is the final warning: Do you really want to enable encryption?" : "これが最後の警告です:本当に暗号化を有効にしますか?", - "Enable encryption" : "暗号化を有効に", - "No encryption module loaded, please enable an encryption module in the app menu." : "暗号化モジュールがロードされていません。アプリのメニューから暗号化モジュールを有効化してください。", - "Select default encryption module:" : "デフォルトの暗号化モジュールを選択:", - "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please enable the \"Default encryption module\" and run 'occ encryption:migrate'" : "古い暗号化(ownCloud <= 8.0) から新しいものに暗号化キーを移行する必要があります。\"デフォルトの暗号化モジュール\" を有効にして 'occ encryption:migrate' を実行してください。", - "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "古い暗号化(ownCloud <= 8.0) から新しいものに暗号化キーを移行する必要があります。", - "Start migration" : "移行を開始", - "This is used for sending out notifications." : "通知を送信する際に使用します。", - "Send mode" : "送信モード", - "Encryption" : "暗号化", - "From address" : "送信元アドレス", - "mail" : "mail", - "Authentication method" : "認証方法", - "Authentication required" : "認証を必要とする", - "Server address" : "サーバーアドレス", - "Port" : "ポート", - "Credentials" : "資格情報", - "SMTP Username" : "SMTPユーザー名", - "SMTP Password" : "SMTP パスワード", - "Store credentials" : "資格情報を保存", - "Test email settings" : "メール設定のテスト", - "Send email" : "メールを送信", - "What to log" : "ログ出力対象", - "Download logfile" : "ログファイルのダウンロード", - "More" : "もっと見る", - "Less" : "閉じる", - "The logfile is bigger than 100 MB. Downloading it may take some time!" : "ログファイルが100MB以上あります。ダウンロードに時間がかかります!", + "Tips & tricks" : "ヒントとコツ", "SQLite is used as database. For larger installations we recommend to switch to a different database backend." : "SQLiteがデータベースとして使用されています。大規模な運用では別のデータベースに切り替えることをお勧めします。", "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "特にデスクトップクライアントをファイル同期に使用する場合,SQLiteは非推奨です.", "To migrate to another database use the command line tool: 'occ db:convert-type', or see the documentation ↗." : "他のデータベースに移行する場合はコマンドラインツール: 'occ db:convert-type' を使うか、 ドキュメント ↗を参照してください。", @@ -211,7 +208,6 @@ OC.L10N.register( "Improving the config.php" : "config.phpの改善", "Theming" : "テーマ", "Hardening and security guidance" : "堅牢化とセキュリティガイダンス", - "Version" : "バージョン", "Developer documentation" : "開発者ドキュメント", "Experimental applications ahead" : "実験的なアプリケーションを試す", "Experimental apps are not checked for security issues, new or known to be unstable and under heavy development. Installing them can cause data loss or security breaches." : "実験的なアプリは、脆弱性についてチェックされていませんし、不安定であったり、激しく開発中です。それらをインストールすると、データの損失やセキュリティ侵害を引き起こす可能性があります。", @@ -267,18 +263,17 @@ OC.L10N.register( "Change password" : "パスワードを変更", "Language" : "言語", "Help translate" : "翻訳に協力する", + "Get the apps to sync your files" : "ファイルを同期するアプリを取得しましょう", + "Desktop client" : "デスクトップクライアント", + "Android app" : "Androidアプリ", + "iOS app" : "iOSアプリ", + "Show First Run Wizard again" : "初回ウィザードを再表示する", "Name" : "名前", "App name" : "アプリ名", "Create new app password" : "新規アプリパスワードを作成", "Use the credentials below to configure your app or device." : "アプリや端末を設定するのに以下の認証情報を使用する。", "Username" : "ユーザーID", "Done" : "完了", - "Get the apps to sync your files" : "ファイルを同期するアプリを取得しましょう", - "Desktop client" : "デスクトップクライアント", - "Android app" : "Androidアプリ", - "iOS app" : "iOSアプリ", - "If you want to support the project\n\t\tjoin development\n\t\tor\n\t\tspread the word!" : "このプロジェクトを応援するには、\n\t\t開発に参加\n\t\tもしくは、\n\t\t世界に拡散!\nしてください。", - "Show First Run Wizard again" : "初回ウィザードを再表示する", "Show storage location" : "データの保存場所を表示", "Show last log in" : "最終ログインを表示", "Show user backend" : "ユーザーバックエンドを表示", @@ -297,6 +292,10 @@ OC.L10N.register( "change full name" : "名前を変更", "set new password" : "新しいパスワードを設定", "change email address" : "メールアドレスを変更", - "Default" : "デフォルト" + "Default" : "デフォルト", + "APCu" : "APCu", + "Redis" : "Redis", + "External Storage" : "外部ストレージ", + "Updates" : "アップデート" }, "nplurals=1; plural=0;"); diff --git a/settings/l10n/ja.json b/settings/l10n/ja.json index 37f5853f3ce47..ca39ef064d0c8 100644 --- a/settings/l10n/ja.json +++ b/settings/l10n/ja.json @@ -33,17 +33,6 @@ "Email saved" : "メールアドレスを保存しました", "Your full name has been changed." : "名前を変更しました。", "Unable to change full name" : "名前を変更できません", - "APCu" : "APCu", - "Redis" : "Redis", - "Security & setup warnings" : "セキュリティ&セットアップ警告", - "Sharing" : "共有", - "Server-side encryption" : "サーバーサイド暗号化", - "External Storage" : "外部ストレージ", - "Cron" : "Cron", - "Email server" : "メールサーバー", - "Log" : "ログ", - "Tips & tricks" : "ヒントとコツ", - "Updates" : "アップデート", "Couldn't remove app." : "アプリが削除できませんでした。", "Language changed" : "言語が変更されました", "Invalid request" : "不正なリクエスト", @@ -118,17 +107,55 @@ "Sessions" : "セッション", "App passwords" : "アプリパスワード", "Sync clients" : "同期用クライアント", - "Everything (fatal issues, errors, warnings, info, debug)" : "すべて (致命的な問題、エラー、警告、情報、デバッグ)", - "Info, warnings, errors and fatal issues" : "情報、警告、エラー、致命的な問題", - "Warnings, errors and fatal issues" : "警告、エラー、致命的な問題", - "Errors and fatal issues" : "エラー、致命的な問題", - "Fatal issues only" : "致命的な問題のみ", "None" : "なし", "Login" : "ログイン", "Plain" : "平文", "NT LAN Manager" : "NT LAN マネージャー", "SSL" : "SSL", "TLS" : "TLS", + "Email server" : "メールサーバー", + "Open documentation" : "ドキュメントを開く", + "This is used for sending out notifications." : "通知を送信する際に使用します。", + "Send mode" : "送信モード", + "Encryption" : "暗号化", + "From address" : "送信元アドレス", + "mail" : "mail", + "Authentication method" : "認証方法", + "Authentication required" : "認証を必要とする", + "Server address" : "サーバーアドレス", + "Port" : "ポート", + "Credentials" : "資格情報", + "SMTP Username" : "SMTPユーザー名", + "SMTP Password" : "SMTP パスワード", + "Store credentials" : "資格情報を保存", + "Test email settings" : "メール設定のテスト", + "Send email" : "メールを送信", + "Server-side encryption" : "サーバーサイド暗号化", + "Enable server-side encryption" : "サーバーサイド暗号化を有効にする", + "Please read carefully before activating server-side encryption: " : "サーバーサイド暗号化を有効にする前によくお読みください:", + "Once encryption is enabled, all files uploaded to the server from that point forward will be encrypted at rest on the server. It will only be possible to disable encryption at a later date if the active encryption module supports that function, and all pre-conditions (e.g. setting a recover key) are met." : "暗号化を一度有効化すると、この時点からサーバーにアップロードされるファイルの全てが暗号化されサーバー上に入ります。有効化された暗号モジュールは復号化機能をサポートしますが、すべての前提条件が満たされている(例えば、回復キーが設定されている)場合にのみ、後日暗号化を無効にすることが可能です。", + "Encryption alone does not guarantee security of the system. Please see documentation for more information about how the encryption app works, and the supported use cases." : "暗号化だけで、システムのセキュリティが保証されるものではありません。暗号化アプリがどのように動作するかの詳細について、およびサポートされているユースケースについてはownCloudのドキュメントを参照してください。", + "Be aware that encryption always increases the file size." : "暗号化は、常にファイルサイズが増加することに注意してください。", + "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "暗号化した場合には必ず、あなたのデータと共に暗号化キーをバックアップすることを確認し、定期的にデータをバックアップを作成することをお勧めします。", + "This is the final warning: Do you really want to enable encryption?" : "これが最後の警告です:本当に暗号化を有効にしますか?", + "Enable encryption" : "暗号化を有効に", + "No encryption module loaded, please enable an encryption module in the app menu." : "暗号化モジュールがロードされていません。アプリのメニューから暗号化モジュールを有効化してください。", + "Select default encryption module:" : "デフォルトの暗号化モジュールを選択:", + "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please enable the \"Default encryption module\" and run 'occ encryption:migrate'" : "古い暗号化(ownCloud <= 8.0) から新しいものに暗号化キーを移行する必要があります。\"デフォルトの暗号化モジュール\" を有効にして 'occ encryption:migrate' を実行してください。", + "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "古い暗号化(ownCloud <= 8.0) から新しいものに暗号化キーを移行する必要があります。", + "Start migration" : "移行を開始", + "Everything (fatal issues, errors, warnings, info, debug)" : "すべて (致命的な問題、エラー、警告、情報、デバッグ)", + "Info, warnings, errors and fatal issues" : "情報、警告、エラー、致命的な問題", + "Warnings, errors and fatal issues" : "警告、エラー、致命的な問題", + "Errors and fatal issues" : "エラー、致命的な問題", + "Fatal issues only" : "致命的な問題のみ", + "Log" : "ログ", + "What to log" : "ログ出力対象", + "Download logfile" : "ログファイルのダウンロード", + "More" : "もっと見る", + "Less" : "閉じる", + "The logfile is bigger than 100 MB. Downloading it may take some time!" : "ログファイルが100MB以上あります。ダウンロードに時間がかかります!", + "Security & setup warnings" : "セキュリティ&セットアップ警告", "php does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHPのシステム環境変数が正しく設定されていないようです。getenv(\"PATH\") コマンドでテストして何も値を返さないことを確認してください。", "Please check the installation documentation ↗ for php configuration notes and the php configuration of your server, especially when using php-fpm." : "PHP設定の注意事項と php-fpmを利用する場合のサーバー向け設定を インストールドキュメント ↗ で確認してください。", "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "\"config\"は読み取り専用になってます。そのためにWEBインターフェースで設定できません可能性があります。さらに、更新時に\"config\"ファイルを書き込み権限を与えることが必要", @@ -144,7 +171,15 @@ "It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "CLI から cronジョブを実行することができませんでした。次の技術的なエラーが発生しています:", "Please double check the installation guides ↗, and check for any errors or warnings in the log." : "インストールガイド ↗をもう一度チェックして、ログ にあるエラーまたは警告について確認してください。", "All checks passed." : "すべてのチェックに合格しました。", - "Open documentation" : "ドキュメントを開く", + "Cron" : "Cron", + "Last cron job execution: %s." : "最終cronジョブ実行: %s", + "Last cron job execution: %s. Something seems wrong." : "最終cronジョブ実行: %s 何らかの問題があります。", + "Cron was not executed yet!" : "cronはまだ実行されていません!", + "Execute one task with each page loaded" : "各ページの読み込み時にタスクを実行します。", + "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.phpは、HTTP経由で15分ごとにcron.phpを実行するようwebcronサービスに登録されます。", + "Use system's cron service to call the cron.php file every 15 minutes." : "システムのcronサービスを利用して、15分間隔でcron.phpファイルを実行します。", + "Version" : "バージョン", + "Sharing" : "共有", "Allow apps to use the Share API" : "アプリからの共有APIの利用を許可する", "Allow users to share via link" : "URLリンクでの共有を許可する", "Allow public uploads" : "パブリックなアップロードを許可する", @@ -161,45 +196,7 @@ "Exclude groups from sharing" : "共有可能なグループから除外する", "These groups will still be able to receive shares, but not to initiate them." : "このグループでは、フォルダー共有を開始することはできませんが、共有されたフォルダーを参照することはできます。", "Allow username autocompletion in share dialog. If this is disabled the full username needs to be entered." : "共有ダイアログでのユーザー名の自動補完を有効にする。このチェックを無効にした場合は、完全なユーザー名を入力する必要があります。", - "Last cron job execution: %s." : "最終cronジョブ実行: %s", - "Last cron job execution: %s. Something seems wrong." : "最終cronジョブ実行: %s 何らかの問題があります。", - "Cron was not executed yet!" : "cronはまだ実行されていません!", - "Execute one task with each page loaded" : "各ページの読み込み時にタスクを実行します。", - "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.phpは、HTTP経由で15分ごとにcron.phpを実行するようwebcronサービスに登録されます。", - "Use system's cron service to call the cron.php file every 15 minutes." : "システムのcronサービスを利用して、15分間隔でcron.phpファイルを実行します。", - "Enable server-side encryption" : "サーバーサイド暗号化を有効にする", - "Please read carefully before activating server-side encryption: " : "サーバーサイド暗号化を有効にする前によくお読みください:", - "Once encryption is enabled, all files uploaded to the server from that point forward will be encrypted at rest on the server. It will only be possible to disable encryption at a later date if the active encryption module supports that function, and all pre-conditions (e.g. setting a recover key) are met." : "暗号化を一度有効化すると、この時点からサーバーにアップロードされるファイルの全てが暗号化されサーバー上に入ります。有効化された暗号モジュールは復号化機能をサポートしますが、すべての前提条件が満たされている(例えば、回復キーが設定されている)場合にのみ、後日暗号化を無効にすることが可能です。", - "Encryption alone does not guarantee security of the system. Please see documentation for more information about how the encryption app works, and the supported use cases." : "暗号化だけで、システムのセキュリティが保証されるものではありません。暗号化アプリがどのように動作するかの詳細について、およびサポートされているユースケースについてはownCloudのドキュメントを参照してください。", - "Be aware that encryption always increases the file size." : "暗号化は、常にファイルサイズが増加することに注意してください。", - "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "暗号化した場合には必ず、あなたのデータと共に暗号化キーをバックアップすることを確認し、定期的にデータをバックアップを作成することをお勧めします。", - "This is the final warning: Do you really want to enable encryption?" : "これが最後の警告です:本当に暗号化を有効にしますか?", - "Enable encryption" : "暗号化を有効に", - "No encryption module loaded, please enable an encryption module in the app menu." : "暗号化モジュールがロードされていません。アプリのメニューから暗号化モジュールを有効化してください。", - "Select default encryption module:" : "デフォルトの暗号化モジュールを選択:", - "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please enable the \"Default encryption module\" and run 'occ encryption:migrate'" : "古い暗号化(ownCloud <= 8.0) から新しいものに暗号化キーを移行する必要があります。\"デフォルトの暗号化モジュール\" を有効にして 'occ encryption:migrate' を実行してください。", - "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "古い暗号化(ownCloud <= 8.0) から新しいものに暗号化キーを移行する必要があります。", - "Start migration" : "移行を開始", - "This is used for sending out notifications." : "通知を送信する際に使用します。", - "Send mode" : "送信モード", - "Encryption" : "暗号化", - "From address" : "送信元アドレス", - "mail" : "mail", - "Authentication method" : "認証方法", - "Authentication required" : "認証を必要とする", - "Server address" : "サーバーアドレス", - "Port" : "ポート", - "Credentials" : "資格情報", - "SMTP Username" : "SMTPユーザー名", - "SMTP Password" : "SMTP パスワード", - "Store credentials" : "資格情報を保存", - "Test email settings" : "メール設定のテスト", - "Send email" : "メールを送信", - "What to log" : "ログ出力対象", - "Download logfile" : "ログファイルのダウンロード", - "More" : "もっと見る", - "Less" : "閉じる", - "The logfile is bigger than 100 MB. Downloading it may take some time!" : "ログファイルが100MB以上あります。ダウンロードに時間がかかります!", + "Tips & tricks" : "ヒントとコツ", "SQLite is used as database. For larger installations we recommend to switch to a different database backend." : "SQLiteがデータベースとして使用されています。大規模な運用では別のデータベースに切り替えることをお勧めします。", "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "特にデスクトップクライアントをファイル同期に使用する場合,SQLiteは非推奨です.", "To migrate to another database use the command line tool: 'occ db:convert-type', or see the documentation ↗." : "他のデータベースに移行する場合はコマンドラインツール: 'occ db:convert-type' を使うか、 ドキュメント ↗を参照してください。", @@ -209,7 +206,6 @@ "Improving the config.php" : "config.phpの改善", "Theming" : "テーマ", "Hardening and security guidance" : "堅牢化とセキュリティガイダンス", - "Version" : "バージョン", "Developer documentation" : "開発者ドキュメント", "Experimental applications ahead" : "実験的なアプリケーションを試す", "Experimental apps are not checked for security issues, new or known to be unstable and under heavy development. Installing them can cause data loss or security breaches." : "実験的なアプリは、脆弱性についてチェックされていませんし、不安定であったり、激しく開発中です。それらをインストールすると、データの損失やセキュリティ侵害を引き起こす可能性があります。", @@ -265,18 +261,17 @@ "Change password" : "パスワードを変更", "Language" : "言語", "Help translate" : "翻訳に協力する", + "Get the apps to sync your files" : "ファイルを同期するアプリを取得しましょう", + "Desktop client" : "デスクトップクライアント", + "Android app" : "Androidアプリ", + "iOS app" : "iOSアプリ", + "Show First Run Wizard again" : "初回ウィザードを再表示する", "Name" : "名前", "App name" : "アプリ名", "Create new app password" : "新規アプリパスワードを作成", "Use the credentials below to configure your app or device." : "アプリや端末を設定するのに以下の認証情報を使用する。", "Username" : "ユーザーID", "Done" : "完了", - "Get the apps to sync your files" : "ファイルを同期するアプリを取得しましょう", - "Desktop client" : "デスクトップクライアント", - "Android app" : "Androidアプリ", - "iOS app" : "iOSアプリ", - "If you want to support the project\n\t\tjoin development\n\t\tor\n\t\tspread the word!" : "このプロジェクトを応援するには、\n\t\t開発に参加\n\t\tもしくは、\n\t\t世界に拡散!\nしてください。", - "Show First Run Wizard again" : "初回ウィザードを再表示する", "Show storage location" : "データの保存場所を表示", "Show last log in" : "最終ログインを表示", "Show user backend" : "ユーザーバックエンドを表示", @@ -295,6 +290,10 @@ "change full name" : "名前を変更", "set new password" : "新しいパスワードを設定", "change email address" : "メールアドレスを変更", - "Default" : "デフォルト" + "Default" : "デフォルト", + "APCu" : "APCu", + "Redis" : "Redis", + "External Storage" : "外部ストレージ", + "Updates" : "アップデート" },"pluralForm" :"nplurals=1; plural=0;" } \ No newline at end of file diff --git a/settings/l10n/ko.js b/settings/l10n/ko.js index 07354f29815bb..edbcc47a7fc94 100644 --- a/settings/l10n/ko.js +++ b/settings/l10n/ko.js @@ -35,17 +35,6 @@ OC.L10N.register( "Email saved" : "이메일 저장됨", "Your full name has been changed." : "전체 이름이 변경되었습니다.", "Unable to change full name" : "전체 이름을 변경할 수 없음", - "APCu" : "APCu", - "Redis" : "Redis", - "Security & setup warnings" : "보안 및 설치 경고", - "Sharing" : "공유", - "Server-side encryption" : "서버 측 암호화", - "External Storage" : "외부 저장소", - "Cron" : "Cron", - "Email server" : "이메일 서버", - "Log" : "로그", - "Tips & tricks" : "팁과 추가 정보", - "Updates" : "업데이트", "Couldn't remove app." : "앱을 삭제할 수 없습니다.", "Language changed" : "언어가 변경됨", "Invalid request" : "잘못된 요청", @@ -110,17 +99,54 @@ OC.L10N.register( "Unlimited" : "무제한", "Personal info" : "개인 정보", "Sync clients" : "동기화 클라이언트", - "Everything (fatal issues, errors, warnings, info, debug)" : "모두 (치명적 문제, 오류, 경고, 정보, 디버그)", - "Info, warnings, errors and fatal issues" : "정보, 경고, 오류, 치명적 문제", - "Warnings, errors and fatal issues" : "경고, 오류, 치명적 문제", - "Errors and fatal issues" : "오류, 치명적 문제", - "Fatal issues only" : "치명적 문제만", "None" : "없음", "Login" : "로그인", "Plain" : "일반", "NT LAN Manager" : "NT LAN 관리자", "SSL" : "SSL", "TLS" : "TLS", + "Email server" : "이메일 서버", + "Open documentation" : "문서 열기", + "This is used for sending out notifications." : "알림을 보낼 때 사용됩니다.", + "Send mode" : "보내기 모드", + "Encryption" : "암호화", + "From address" : "보낸 사람 주소", + "mail" : "메일", + "Authentication method" : "인증 방법", + "Authentication required" : "인증 필요함", + "Server address" : "서버 주소", + "Port" : "포트", + "Credentials" : "자격 정보", + "SMTP Username" : "SMTP 사용자 이름", + "SMTP Password" : "SMTP 암호", + "Store credentials" : "인증 정보 저장", + "Test email settings" : "이메일 설정 시험", + "Send email" : "이메일 보내기", + "Server-side encryption" : "서버 측 암호화", + "Enable server-side encryption" : "서버 측 암호화 사용", + "Please read carefully before activating server-side encryption: " : "서버 측 암호화를 활성화하기 전에 읽어 보십시오:", + "Once encryption is enabled, all files uploaded to the server from that point forward will be encrypted at rest on the server. It will only be possible to disable encryption at a later date if the active encryption module supports that function, and all pre-conditions (e.g. setting a recover key) are met." : "암호화를 사용하면, 사용하기 시작한 시간 이후에 서버에 업로드된 모든 파일이 암호화됩니다. 나중에 암호화를 사용하지 않으려면 사용하고 있는 암호화 모듈에서 비활성화를 지원해야 하고 모든 사전 조건(예: 복구 키 설정)을 만족해야 합니다.", + "Be aware that encryption always increases the file size." : "암호화된 파일의 크기는 항상 커집니다.", + "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "데이터를 주기적으로 백업하는 것을 추천하며, 암호화를 사용하고 있다면 데이터와 더불어 암호화 키도 백업하십시오.", + "This is the final warning: Do you really want to enable encryption?" : "마지막 경고입니다. 암호화를 활성화하시겠습니까?", + "Enable encryption" : "암호화 사용", + "No encryption module loaded, please enable an encryption module in the app menu." : "암호화 모듈을 불러오지 않았습니다. 앱 메뉴에서 암호화 모듈을 활성화하십시오.", + "Select default encryption module:" : "기본 암호화 모듈 선택:", + "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please enable the \"Default encryption module\" and run 'occ encryption:migrate'" : "과거에 사용하였던(ownCloud <= 8.0) 암호화된 데이터에서 키를 이전해야 합니다. \"기본 암호화 모듈\"을 활성화한 다음 'occ encryption:migrate'를 실행하십시오", + "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "ownCloud 8.0 이하에서 사용한 이전 암호화 키를 새 키로 이전해야 합니다.", + "Start migration" : "이전 시작", + "Everything (fatal issues, errors, warnings, info, debug)" : "모두 (치명적 문제, 오류, 경고, 정보, 디버그)", + "Info, warnings, errors and fatal issues" : "정보, 경고, 오류, 치명적 문제", + "Warnings, errors and fatal issues" : "경고, 오류, 치명적 문제", + "Errors and fatal issues" : "오류, 치명적 문제", + "Fatal issues only" : "치명적 문제만", + "Log" : "로그", + "What to log" : "남길 로그", + "Download logfile" : "로그 파일 다운로드", + "More" : "더 중요함", + "Less" : "덜 중요함", + "The logfile is bigger than 100 MB. Downloading it may take some time!" : "로그 파일이 100MB보다 큽니다. 다운로드하는 데 시간이 걸릴 수 있습니다!", + "Security & setup warnings" : "보안 및 설치 경고", "php does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "php가 시스템 환경 변수를 올바르게 조회할 수 있도록 설정되지 않았습니다. getenv(\"PATH\")의 값이 비어 있습니다.", "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "읽기 전용 설정이 활성화되었습니다. 이 상태에서는 웹 인터페이스를 통하여 일부 설정을 변경할 수 없습니다. 또한 매 업데이트마다 파일을 쓸 수 있는 상태로 변경해야 합니다.", "PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "PHP에서 인라인 doc 블록을 삭제하도록 설정되어 있습니다. 일부 코어 앱에 접근할 수 없을 수도 있습니다.", @@ -132,7 +158,15 @@ OC.L10N.register( "If your installation is not installed in the root of the domain and uses system cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "도메인의 루트 디렉터리 아래에 설치되어 있지 않고 시스템 cron을 사용한다면 URL 생성에 문제가 발생할 수도 있습니다. 이 문제를 해결하려면 설치본의 웹 루트 경로에 있는 config.php 파일의 \"overwrite.cli.url\" 옵션을 변경하십시오(제안: \"%s\")", "It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "CLI로 cronjob을 실행할 수 없었습니다. 다음 기술적 오류가 발생했습니다:", "All checks passed." : "모든 검사를 통과했습니다.", - "Open documentation" : "문서 열기", + "Cron" : "Cron", + "Last cron job execution: %s." : "마지막 cron 작업 실행: %s.", + "Last cron job execution: %s. Something seems wrong." : "마지막 cron 작업 실행: %s. 문제가 발생한 것 같습니다.", + "Cron was not executed yet!" : "Cron이 실행되지 않았습니다!", + "Execute one task with each page loaded" : "개별 페이지를 불러올 때마다 실행", + "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php는 webcron 서비스에 등록되어 HTTP로 15분마다 cron.php에 접근합니다.", + "Use system's cron service to call the cron.php file every 15 minutes." : "시스템의 cron 서비스를 통하여 15분마다 cron.php 파일을 실행합니다.", + "Version" : "버전", + "Sharing" : "공유", "Allow apps to use the Share API" : "앱에서 공유 API를 사용할 수 있도록 허용", "Allow users to share via link" : "사용자별 링크 공유 허용", "Allow public uploads" : "공개 업로드 허용", @@ -148,44 +182,7 @@ OC.L10N.register( "Exclude groups from sharing" : "공유에서 그룹 제외", "These groups will still be able to receive shares, but not to initiate them." : "이 그룹의 사용자들은 다른 사용자가 공유한 파일을 받을 수는 있지만, 자기 파일을 공유할 수는 없습니다.", "Allow username autocompletion in share dialog. If this is disabled the full username needs to be entered." : "공유 대화 상자에서 사용자 이름 자동 완성을 사용합니다. 이 설정을 사용하지 않으면 전체 사용자 이름을 입력해야 합니다.", - "Last cron job execution: %s." : "마지막 cron 작업 실행: %s.", - "Last cron job execution: %s. Something seems wrong." : "마지막 cron 작업 실행: %s. 문제가 발생한 것 같습니다.", - "Cron was not executed yet!" : "Cron이 실행되지 않았습니다!", - "Execute one task with each page loaded" : "개별 페이지를 불러올 때마다 실행", - "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php는 webcron 서비스에 등록되어 HTTP로 15분마다 cron.php에 접근합니다.", - "Use system's cron service to call the cron.php file every 15 minutes." : "시스템의 cron 서비스를 통하여 15분마다 cron.php 파일을 실행합니다.", - "Enable server-side encryption" : "서버 측 암호화 사용", - "Please read carefully before activating server-side encryption: " : "서버 측 암호화를 활성화하기 전에 읽어 보십시오:", - "Once encryption is enabled, all files uploaded to the server from that point forward will be encrypted at rest on the server. It will only be possible to disable encryption at a later date if the active encryption module supports that function, and all pre-conditions (e.g. setting a recover key) are met." : "암호화를 사용하면, 사용하기 시작한 시간 이후에 서버에 업로드된 모든 파일이 암호화됩니다. 나중에 암호화를 사용하지 않으려면 사용하고 있는 암호화 모듈에서 비활성화를 지원해야 하고 모든 사전 조건(예: 복구 키 설정)을 만족해야 합니다.", - "Be aware that encryption always increases the file size." : "암호화된 파일의 크기는 항상 커집니다.", - "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "데이터를 주기적으로 백업하는 것을 추천하며, 암호화를 사용하고 있다면 데이터와 더불어 암호화 키도 백업하십시오.", - "This is the final warning: Do you really want to enable encryption?" : "마지막 경고입니다. 암호화를 활성화하시겠습니까?", - "Enable encryption" : "암호화 사용", - "No encryption module loaded, please enable an encryption module in the app menu." : "암호화 모듈을 불러오지 않았습니다. 앱 메뉴에서 암호화 모듈을 활성화하십시오.", - "Select default encryption module:" : "기본 암호화 모듈 선택:", - "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please enable the \"Default encryption module\" and run 'occ encryption:migrate'" : "과거에 사용하였던(ownCloud <= 8.0) 암호화된 데이터에서 키를 이전해야 합니다. \"기본 암호화 모듈\"을 활성화한 다음 'occ encryption:migrate'를 실행하십시오", - "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "ownCloud 8.0 이하에서 사용한 이전 암호화 키를 새 키로 이전해야 합니다.", - "Start migration" : "이전 시작", - "This is used for sending out notifications." : "알림을 보낼 때 사용됩니다.", - "Send mode" : "보내기 모드", - "Encryption" : "암호화", - "From address" : "보낸 사람 주소", - "mail" : "메일", - "Authentication method" : "인증 방법", - "Authentication required" : "인증 필요함", - "Server address" : "서버 주소", - "Port" : "포트", - "Credentials" : "자격 정보", - "SMTP Username" : "SMTP 사용자 이름", - "SMTP Password" : "SMTP 암호", - "Store credentials" : "인증 정보 저장", - "Test email settings" : "이메일 설정 시험", - "Send email" : "이메일 보내기", - "What to log" : "남길 로그", - "Download logfile" : "로그 파일 다운로드", - "More" : "더 중요함", - "Less" : "덜 중요함", - "The logfile is bigger than 100 MB. Downloading it may take some time!" : "로그 파일이 100MB보다 큽니다. 다운로드하는 데 시간이 걸릴 수 있습니다!", + "Tips & tricks" : "팁과 추가 정보", "SQLite is used as database. For larger installations we recommend to switch to a different database backend." : "데이터베이스로 SQLite를 사용하고 있습니다. 대규모의 파일을 관리하려고 한다면 다른 데이터베이스 백엔드로 전환할 것을 권장합니다.", "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "특히 파일 동기화를 위해 데스크톱 클라이언트를 사용할 예정이면, SQLite를 사용하지 않는 것이 좋습니다.", "How to do backups" : "백업 방법", @@ -194,7 +191,6 @@ OC.L10N.register( "Improving the config.php" : "config.php 개선", "Theming" : "테마 꾸미기", "Hardening and security guidance" : "보안 강화 지침", - "Version" : "버전", "Developer documentation" : "개발자 문서", "Experimental applications ahead" : "실험적인 앱 사용 예정", "Experimental apps are not checked for security issues, new or known to be unstable and under heavy development. Installing them can cause data loss or security breaches." : "실험적인 앱은 보안 문제 검사를 통과하지 않았으며, 아직 새롭거나, 불안정하거나, 개발 중일 수도 있습니다. 이러한 앱을 설치하면 데이터 손실 및 보안 문제가 발생할 수도 있습니다.", @@ -244,14 +240,14 @@ OC.L10N.register( "Change password" : "암호 변경", "Language" : "언어", "Help translate" : "번역 돕기", - "Name" : "이름", - "Username" : "사용자 이름", - "Done" : "완료", "Get the apps to sync your files" : "파일 동기화 앱 가져오기", "Desktop client" : "데스크톱 클라이언트", "Android app" : "Android 앱", "iOS app" : "iOS 앱", "Show First Run Wizard again" : "첫 실행 마법사 다시 보이기", + "Name" : "이름", + "Username" : "사용자 이름", + "Done" : "완료", "Show storage location" : "저장소 위치 보이기", "Show last log in" : "마지막 로그인 시간 보이기", "Show user backend" : "사용자 백엔드 보이기", @@ -270,6 +266,10 @@ OC.L10N.register( "change full name" : "전체 이름 변경", "set new password" : "새 암호 설정", "change email address" : "이메일 주소 변경", - "Default" : "기본값" + "Default" : "기본값", + "APCu" : "APCu", + "Redis" : "Redis", + "External Storage" : "외부 저장소", + "Updates" : "업데이트" }, "nplurals=1; plural=0;"); diff --git a/settings/l10n/ko.json b/settings/l10n/ko.json index 415afd7120fe2..17aea8ff84502 100644 --- a/settings/l10n/ko.json +++ b/settings/l10n/ko.json @@ -33,17 +33,6 @@ "Email saved" : "이메일 저장됨", "Your full name has been changed." : "전체 이름이 변경되었습니다.", "Unable to change full name" : "전체 이름을 변경할 수 없음", - "APCu" : "APCu", - "Redis" : "Redis", - "Security & setup warnings" : "보안 및 설치 경고", - "Sharing" : "공유", - "Server-side encryption" : "서버 측 암호화", - "External Storage" : "외부 저장소", - "Cron" : "Cron", - "Email server" : "이메일 서버", - "Log" : "로그", - "Tips & tricks" : "팁과 추가 정보", - "Updates" : "업데이트", "Couldn't remove app." : "앱을 삭제할 수 없습니다.", "Language changed" : "언어가 변경됨", "Invalid request" : "잘못된 요청", @@ -108,17 +97,54 @@ "Unlimited" : "무제한", "Personal info" : "개인 정보", "Sync clients" : "동기화 클라이언트", - "Everything (fatal issues, errors, warnings, info, debug)" : "모두 (치명적 문제, 오류, 경고, 정보, 디버그)", - "Info, warnings, errors and fatal issues" : "정보, 경고, 오류, 치명적 문제", - "Warnings, errors and fatal issues" : "경고, 오류, 치명적 문제", - "Errors and fatal issues" : "오류, 치명적 문제", - "Fatal issues only" : "치명적 문제만", "None" : "없음", "Login" : "로그인", "Plain" : "일반", "NT LAN Manager" : "NT LAN 관리자", "SSL" : "SSL", "TLS" : "TLS", + "Email server" : "이메일 서버", + "Open documentation" : "문서 열기", + "This is used for sending out notifications." : "알림을 보낼 때 사용됩니다.", + "Send mode" : "보내기 모드", + "Encryption" : "암호화", + "From address" : "보낸 사람 주소", + "mail" : "메일", + "Authentication method" : "인증 방법", + "Authentication required" : "인증 필요함", + "Server address" : "서버 주소", + "Port" : "포트", + "Credentials" : "자격 정보", + "SMTP Username" : "SMTP 사용자 이름", + "SMTP Password" : "SMTP 암호", + "Store credentials" : "인증 정보 저장", + "Test email settings" : "이메일 설정 시험", + "Send email" : "이메일 보내기", + "Server-side encryption" : "서버 측 암호화", + "Enable server-side encryption" : "서버 측 암호화 사용", + "Please read carefully before activating server-side encryption: " : "서버 측 암호화를 활성화하기 전에 읽어 보십시오:", + "Once encryption is enabled, all files uploaded to the server from that point forward will be encrypted at rest on the server. It will only be possible to disable encryption at a later date if the active encryption module supports that function, and all pre-conditions (e.g. setting a recover key) are met." : "암호화를 사용하면, 사용하기 시작한 시간 이후에 서버에 업로드된 모든 파일이 암호화됩니다. 나중에 암호화를 사용하지 않으려면 사용하고 있는 암호화 모듈에서 비활성화를 지원해야 하고 모든 사전 조건(예: 복구 키 설정)을 만족해야 합니다.", + "Be aware that encryption always increases the file size." : "암호화된 파일의 크기는 항상 커집니다.", + "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "데이터를 주기적으로 백업하는 것을 추천하며, 암호화를 사용하고 있다면 데이터와 더불어 암호화 키도 백업하십시오.", + "This is the final warning: Do you really want to enable encryption?" : "마지막 경고입니다. 암호화를 활성화하시겠습니까?", + "Enable encryption" : "암호화 사용", + "No encryption module loaded, please enable an encryption module in the app menu." : "암호화 모듈을 불러오지 않았습니다. 앱 메뉴에서 암호화 모듈을 활성화하십시오.", + "Select default encryption module:" : "기본 암호화 모듈 선택:", + "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please enable the \"Default encryption module\" and run 'occ encryption:migrate'" : "과거에 사용하였던(ownCloud <= 8.0) 암호화된 데이터에서 키를 이전해야 합니다. \"기본 암호화 모듈\"을 활성화한 다음 'occ encryption:migrate'를 실행하십시오", + "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "ownCloud 8.0 이하에서 사용한 이전 암호화 키를 새 키로 이전해야 합니다.", + "Start migration" : "이전 시작", + "Everything (fatal issues, errors, warnings, info, debug)" : "모두 (치명적 문제, 오류, 경고, 정보, 디버그)", + "Info, warnings, errors and fatal issues" : "정보, 경고, 오류, 치명적 문제", + "Warnings, errors and fatal issues" : "경고, 오류, 치명적 문제", + "Errors and fatal issues" : "오류, 치명적 문제", + "Fatal issues only" : "치명적 문제만", + "Log" : "로그", + "What to log" : "남길 로그", + "Download logfile" : "로그 파일 다운로드", + "More" : "더 중요함", + "Less" : "덜 중요함", + "The logfile is bigger than 100 MB. Downloading it may take some time!" : "로그 파일이 100MB보다 큽니다. 다운로드하는 데 시간이 걸릴 수 있습니다!", + "Security & setup warnings" : "보안 및 설치 경고", "php does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "php가 시스템 환경 변수를 올바르게 조회할 수 있도록 설정되지 않았습니다. getenv(\"PATH\")의 값이 비어 있습니다.", "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "읽기 전용 설정이 활성화되었습니다. 이 상태에서는 웹 인터페이스를 통하여 일부 설정을 변경할 수 없습니다. 또한 매 업데이트마다 파일을 쓸 수 있는 상태로 변경해야 합니다.", "PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "PHP에서 인라인 doc 블록을 삭제하도록 설정되어 있습니다. 일부 코어 앱에 접근할 수 없을 수도 있습니다.", @@ -130,7 +156,15 @@ "If your installation is not installed in the root of the domain and uses system cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "도메인의 루트 디렉터리 아래에 설치되어 있지 않고 시스템 cron을 사용한다면 URL 생성에 문제가 발생할 수도 있습니다. 이 문제를 해결하려면 설치본의 웹 루트 경로에 있는 config.php 파일의 \"overwrite.cli.url\" 옵션을 변경하십시오(제안: \"%s\")", "It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "CLI로 cronjob을 실행할 수 없었습니다. 다음 기술적 오류가 발생했습니다:", "All checks passed." : "모든 검사를 통과했습니다.", - "Open documentation" : "문서 열기", + "Cron" : "Cron", + "Last cron job execution: %s." : "마지막 cron 작업 실행: %s.", + "Last cron job execution: %s. Something seems wrong." : "마지막 cron 작업 실행: %s. 문제가 발생한 것 같습니다.", + "Cron was not executed yet!" : "Cron이 실행되지 않았습니다!", + "Execute one task with each page loaded" : "개별 페이지를 불러올 때마다 실행", + "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php는 webcron 서비스에 등록되어 HTTP로 15분마다 cron.php에 접근합니다.", + "Use system's cron service to call the cron.php file every 15 minutes." : "시스템의 cron 서비스를 통하여 15분마다 cron.php 파일을 실행합니다.", + "Version" : "버전", + "Sharing" : "공유", "Allow apps to use the Share API" : "앱에서 공유 API를 사용할 수 있도록 허용", "Allow users to share via link" : "사용자별 링크 공유 허용", "Allow public uploads" : "공개 업로드 허용", @@ -146,44 +180,7 @@ "Exclude groups from sharing" : "공유에서 그룹 제외", "These groups will still be able to receive shares, but not to initiate them." : "이 그룹의 사용자들은 다른 사용자가 공유한 파일을 받을 수는 있지만, 자기 파일을 공유할 수는 없습니다.", "Allow username autocompletion in share dialog. If this is disabled the full username needs to be entered." : "공유 대화 상자에서 사용자 이름 자동 완성을 사용합니다. 이 설정을 사용하지 않으면 전체 사용자 이름을 입력해야 합니다.", - "Last cron job execution: %s." : "마지막 cron 작업 실행: %s.", - "Last cron job execution: %s. Something seems wrong." : "마지막 cron 작업 실행: %s. 문제가 발생한 것 같습니다.", - "Cron was not executed yet!" : "Cron이 실행되지 않았습니다!", - "Execute one task with each page loaded" : "개별 페이지를 불러올 때마다 실행", - "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php는 webcron 서비스에 등록되어 HTTP로 15분마다 cron.php에 접근합니다.", - "Use system's cron service to call the cron.php file every 15 minutes." : "시스템의 cron 서비스를 통하여 15분마다 cron.php 파일을 실행합니다.", - "Enable server-side encryption" : "서버 측 암호화 사용", - "Please read carefully before activating server-side encryption: " : "서버 측 암호화를 활성화하기 전에 읽어 보십시오:", - "Once encryption is enabled, all files uploaded to the server from that point forward will be encrypted at rest on the server. It will only be possible to disable encryption at a later date if the active encryption module supports that function, and all pre-conditions (e.g. setting a recover key) are met." : "암호화를 사용하면, 사용하기 시작한 시간 이후에 서버에 업로드된 모든 파일이 암호화됩니다. 나중에 암호화를 사용하지 않으려면 사용하고 있는 암호화 모듈에서 비활성화를 지원해야 하고 모든 사전 조건(예: 복구 키 설정)을 만족해야 합니다.", - "Be aware that encryption always increases the file size." : "암호화된 파일의 크기는 항상 커집니다.", - "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "데이터를 주기적으로 백업하는 것을 추천하며, 암호화를 사용하고 있다면 데이터와 더불어 암호화 키도 백업하십시오.", - "This is the final warning: Do you really want to enable encryption?" : "마지막 경고입니다. 암호화를 활성화하시겠습니까?", - "Enable encryption" : "암호화 사용", - "No encryption module loaded, please enable an encryption module in the app menu." : "암호화 모듈을 불러오지 않았습니다. 앱 메뉴에서 암호화 모듈을 활성화하십시오.", - "Select default encryption module:" : "기본 암호화 모듈 선택:", - "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please enable the \"Default encryption module\" and run 'occ encryption:migrate'" : "과거에 사용하였던(ownCloud <= 8.0) 암호화된 데이터에서 키를 이전해야 합니다. \"기본 암호화 모듈\"을 활성화한 다음 'occ encryption:migrate'를 실행하십시오", - "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "ownCloud 8.0 이하에서 사용한 이전 암호화 키를 새 키로 이전해야 합니다.", - "Start migration" : "이전 시작", - "This is used for sending out notifications." : "알림을 보낼 때 사용됩니다.", - "Send mode" : "보내기 모드", - "Encryption" : "암호화", - "From address" : "보낸 사람 주소", - "mail" : "메일", - "Authentication method" : "인증 방법", - "Authentication required" : "인증 필요함", - "Server address" : "서버 주소", - "Port" : "포트", - "Credentials" : "자격 정보", - "SMTP Username" : "SMTP 사용자 이름", - "SMTP Password" : "SMTP 암호", - "Store credentials" : "인증 정보 저장", - "Test email settings" : "이메일 설정 시험", - "Send email" : "이메일 보내기", - "What to log" : "남길 로그", - "Download logfile" : "로그 파일 다운로드", - "More" : "더 중요함", - "Less" : "덜 중요함", - "The logfile is bigger than 100 MB. Downloading it may take some time!" : "로그 파일이 100MB보다 큽니다. 다운로드하는 데 시간이 걸릴 수 있습니다!", + "Tips & tricks" : "팁과 추가 정보", "SQLite is used as database. For larger installations we recommend to switch to a different database backend." : "데이터베이스로 SQLite를 사용하고 있습니다. 대규모의 파일을 관리하려고 한다면 다른 데이터베이스 백엔드로 전환할 것을 권장합니다.", "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "특히 파일 동기화를 위해 데스크톱 클라이언트를 사용할 예정이면, SQLite를 사용하지 않는 것이 좋습니다.", "How to do backups" : "백업 방법", @@ -192,7 +189,6 @@ "Improving the config.php" : "config.php 개선", "Theming" : "테마 꾸미기", "Hardening and security guidance" : "보안 강화 지침", - "Version" : "버전", "Developer documentation" : "개발자 문서", "Experimental applications ahead" : "실험적인 앱 사용 예정", "Experimental apps are not checked for security issues, new or known to be unstable and under heavy development. Installing them can cause data loss or security breaches." : "실험적인 앱은 보안 문제 검사를 통과하지 않았으며, 아직 새롭거나, 불안정하거나, 개발 중일 수도 있습니다. 이러한 앱을 설치하면 데이터 손실 및 보안 문제가 발생할 수도 있습니다.", @@ -242,14 +238,14 @@ "Change password" : "암호 변경", "Language" : "언어", "Help translate" : "번역 돕기", - "Name" : "이름", - "Username" : "사용자 이름", - "Done" : "완료", "Get the apps to sync your files" : "파일 동기화 앱 가져오기", "Desktop client" : "데스크톱 클라이언트", "Android app" : "Android 앱", "iOS app" : "iOS 앱", "Show First Run Wizard again" : "첫 실행 마법사 다시 보이기", + "Name" : "이름", + "Username" : "사용자 이름", + "Done" : "완료", "Show storage location" : "저장소 위치 보이기", "Show last log in" : "마지막 로그인 시간 보이기", "Show user backend" : "사용자 백엔드 보이기", @@ -268,6 +264,10 @@ "change full name" : "전체 이름 변경", "set new password" : "새 암호 설정", "change email address" : "이메일 주소 변경", - "Default" : "기본값" + "Default" : "기본값", + "APCu" : "APCu", + "Redis" : "Redis", + "External Storage" : "외부 저장소", + "Updates" : "업데이트" },"pluralForm" :"nplurals=1; plural=0;" } \ No newline at end of file diff --git a/settings/l10n/nb_NO.js b/settings/l10n/nb_NO.js index 3978bc41e47f7..ceec6f5b244b9 100644 --- a/settings/l10n/nb_NO.js +++ b/settings/l10n/nb_NO.js @@ -35,17 +35,6 @@ OC.L10N.register( "Email saved" : "Epost lagret", "Your full name has been changed." : "Ditt fulle navn er blitt endret.", "Unable to change full name" : "Klarte ikke å endre fullt navn", - "APCu" : "APCu", - "Redis" : "Redis", - "Security & setup warnings" : "Advarsler om sikkerhet og oppsett", - "Sharing" : "Deling", - "Server-side encryption" : "Serverkryptering", - "External Storage" : "Ekstern lagring", - "Cron" : "Cron", - "Email server" : "E-postserver", - "Log" : "Logg", - "Tips & tricks" : "Tips og triks", - "Updates" : "Oppdateringer", "Couldn't remove app." : "Klarte ikke å fjerne app.", "Language changed" : "Språk endret", "Invalid request" : "Ugyldig forespørsel", @@ -111,17 +100,54 @@ OC.L10N.register( "Unlimited" : "Ubegrenset", "Personal info" : "Personlig informasjon", "Sync clients" : "Synkroniseringsklienter", - "Everything (fatal issues, errors, warnings, info, debug)" : "Alt (fatale problemer, feil, advarsler, info, debug)", - "Info, warnings, errors and fatal issues" : "Info, advarsler, feil og fatale problemer", - "Warnings, errors and fatal issues" : "Advarsler, feil og fatale problemer", - "Errors and fatal issues" : "Feil og fatale problemer", - "Fatal issues only" : "Kun fatale problemer", "None" : "Ingen", "Login" : "Logg inn", "Plain" : "Enkel", "NT LAN Manager" : "NT LAN Manager", "SSL" : "SSL", "TLS" : "TLS", + "Email server" : "E-postserver", + "Open documentation" : "Åpne dokumentasjonen", + "This is used for sending out notifications." : "Dette brukes for utsending av varsler.", + "Send mode" : "Sendemåte", + "Encryption" : "Kryptering", + "From address" : "Fra adresse", + "mail" : "e-post", + "Authentication method" : "Autentiseringsmetode", + "Authentication required" : "Autentisering kreves", + "Server address" : "Server-adresse", + "Port" : "Port", + "Credentials" : "Påloggingsdetaljer", + "SMTP Username" : "SMTP-brukernavn", + "SMTP Password" : "SMTP-passord", + "Store credentials" : "Lagre påloggingsdetaljer", + "Test email settings" : "Test innstillinger for e-post", + "Send email" : "Send e-post", + "Server-side encryption" : "Serverkryptering", + "Enable server-side encryption" : "Aktiver serverkryptering", + "Please read carefully before activating server-side encryption: " : "Vennligst les dette nøye før du aktiverer serverkrykptering:", + "Once encryption is enabled, all files uploaded to the server from that point forward will be encrypted at rest on the server. It will only be possible to disable encryption at a later date if the active encryption module supports that function, and all pre-conditions (e.g. setting a recover key) are met." : "Når kryptering er blitt aktivert, vil alle filer som lastes opp til serveren fra det tidspunktet av bli lagret kryptert på serveren. Det vil kun være mulig å deaktivere kryptering senere dersom den aktive krypteringsmodulen støtter det og alle forutsetninger (f.eks. å sette en gjenopprettingsnøkkel) er til stede.", + "Be aware that encryption always increases the file size." : "Vær oppmerksom på at kryptering alltid øker filstørrelsen.", + "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Det er alltid bra å ta regelmessig sikkerhetskopi av dataene dine. Pass på å ta kopi av krypteringsnøklene sammen med dataene når kryptering er i bruk.", + "This is the final warning: Do you really want to enable encryption?" : "Dette er siste advarsel: Vil du virkelig aktivere kryptering?", + "Enable encryption" : "Aktiver kryptering", + "No encryption module loaded, please enable an encryption module in the app menu." : "Ingen krypteringsmodul er lastet. Aktiver en krypteringsmodul i app-menyen.", + "Select default encryption module:" : "Velg standard krypteringsmodul:", + "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please enable the \"Default encryption module\" and run 'occ encryption:migrate'" : "Du må migrere krypteringsnøklene din fra den gamle krypteringen (ownCloud <= 8.0) til den nye. Vennligst aktiver \"Standard krypteringsmodul\" og kjør 'occ encryption:migrate'", + "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Du må migrere krypteringsnøklene din fra den gamle krypteringen (ownCloud <= 8.0) til den nye.", + "Start migration" : "Start migrering", + "Everything (fatal issues, errors, warnings, info, debug)" : "Alt (fatale problemer, feil, advarsler, info, debug)", + "Info, warnings, errors and fatal issues" : "Info, advarsler, feil og fatale problemer", + "Warnings, errors and fatal issues" : "Advarsler, feil og fatale problemer", + "Errors and fatal issues" : "Feil og fatale problemer", + "Fatal issues only" : "Kun fatale problemer", + "Log" : "Logg", + "What to log" : "Hva som skal logges", + "Download logfile" : "Last ned loggfil", + "More" : "Mer", + "Less" : "Mindre", + "The logfile is bigger than 100 MB. Downloading it may take some time!" : "Loggfilen er over 100 MB, nedlastingen kan ta en stund!", + "Security & setup warnings" : "Advarsler om sikkerhet og oppsett", "php does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP ser ikke ut til å være satt opp riktig for å lese systemets miljøvariabler. Testen med getenv(\"PATH\") returnerer bare et tomt svar.", "Please check the installation documentation ↗ for php configuration notes and the php configuration of your server, especially when using php-fpm." : "Vennligst sjekk installasjonsdokumentasjonen ↗ etter php konfigurasjonsnotater og konfigurering av php på serveren din, særlig om du bruker php-fpm.", "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Den skrivebeskyttede konfigurasjonen er blitt aktivert. Dette forhindrer setting av visse konfigureringer via web-grensesnittet. Videre må config-filen gjøres skrivbar manuelt for hver oppdatering.", @@ -137,7 +163,15 @@ OC.L10N.register( "It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "Det var ikke mulig å kjøre cron-jobben vi CLI. Følgende tekniske feil oppstod:", "Please double check the installation guides ↗, and check for any errors or warnings in the log." : "Vennligst dobbeltsjekk installasjonsguidene ↗, og se etter feil eller advarsler i loggen.", "All checks passed." : "Alle sjekker bestått.", - "Open documentation" : "Åpne dokumentasjonen", + "Cron" : "Cron", + "Last cron job execution: %s." : "Siste kjøring av cron-jobb: %s.", + "Last cron job execution: %s. Something seems wrong." : "Siste kjøring av cron-jobb: %s. Noe ser ut til å være galt.", + "Cron was not executed yet!" : "Cron er ikke utført ennå!", + "Execute one task with each page loaded" : "Utfør en oppgave med hver side som blir lastet", + "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php er registrert i en webcron-tjeneste for å kalle cron.php hvert 15. minutt over http.", + "Use system's cron service to call the cron.php file every 15 minutes." : "Bruk systemets cron-tjeneste til å kalle cron.php hvert 15. minutt.", + "Version" : "Versjon", + "Sharing" : "Deling", "Allow apps to use the Share API" : "Tillat apper å bruke API for Deling", "Allow users to share via link" : "Tillat brukere å dele via lenke", "Allow public uploads" : "Tillat offentlig opplasting", @@ -154,44 +188,7 @@ OC.L10N.register( "Exclude groups from sharing" : "Utelukk grupper fra deling", "These groups will still be able to receive shares, but not to initiate them." : "Disse gruppene vil fremdeles kunne motta delinger men ikke lage dem.", "Allow username autocompletion in share dialog. If this is disabled the full username needs to be entered." : "Tillat automatisk fullføring av brukernavn i delingsdialogen. Uten dette valget må hele brukernavnet oppgis.", - "Last cron job execution: %s." : "Siste kjøring av cron-jobb: %s.", - "Last cron job execution: %s. Something seems wrong." : "Siste kjøring av cron-jobb: %s. Noe ser ut til å være galt.", - "Cron was not executed yet!" : "Cron er ikke utført ennå!", - "Execute one task with each page loaded" : "Utfør en oppgave med hver side som blir lastet", - "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php er registrert i en webcron-tjeneste for å kalle cron.php hvert 15. minutt over http.", - "Use system's cron service to call the cron.php file every 15 minutes." : "Bruk systemets cron-tjeneste til å kalle cron.php hvert 15. minutt.", - "Enable server-side encryption" : "Aktiver serverkryptering", - "Please read carefully before activating server-side encryption: " : "Vennligst les dette nøye før du aktiverer serverkrykptering:", - "Once encryption is enabled, all files uploaded to the server from that point forward will be encrypted at rest on the server. It will only be possible to disable encryption at a later date if the active encryption module supports that function, and all pre-conditions (e.g. setting a recover key) are met." : "Når kryptering er blitt aktivert, vil alle filer som lastes opp til serveren fra det tidspunktet av bli lagret kryptert på serveren. Det vil kun være mulig å deaktivere kryptering senere dersom den aktive krypteringsmodulen støtter det og alle forutsetninger (f.eks. å sette en gjenopprettingsnøkkel) er til stede.", - "Be aware that encryption always increases the file size." : "Vær oppmerksom på at kryptering alltid øker filstørrelsen.", - "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Det er alltid bra å ta regelmessig sikkerhetskopi av dataene dine. Pass på å ta kopi av krypteringsnøklene sammen med dataene når kryptering er i bruk.", - "This is the final warning: Do you really want to enable encryption?" : "Dette er siste advarsel: Vil du virkelig aktivere kryptering?", - "Enable encryption" : "Aktiver kryptering", - "No encryption module loaded, please enable an encryption module in the app menu." : "Ingen krypteringsmodul er lastet. Aktiver en krypteringsmodul i app-menyen.", - "Select default encryption module:" : "Velg standard krypteringsmodul:", - "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please enable the \"Default encryption module\" and run 'occ encryption:migrate'" : "Du må migrere krypteringsnøklene din fra den gamle krypteringen (ownCloud <= 8.0) til den nye. Vennligst aktiver \"Standard krypteringsmodul\" og kjør 'occ encryption:migrate'", - "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Du må migrere krypteringsnøklene din fra den gamle krypteringen (ownCloud <= 8.0) til den nye.", - "Start migration" : "Start migrering", - "This is used for sending out notifications." : "Dette brukes for utsending av varsler.", - "Send mode" : "Sendemåte", - "Encryption" : "Kryptering", - "From address" : "Fra adresse", - "mail" : "e-post", - "Authentication method" : "Autentiseringsmetode", - "Authentication required" : "Autentisering kreves", - "Server address" : "Server-adresse", - "Port" : "Port", - "Credentials" : "Påloggingsdetaljer", - "SMTP Username" : "SMTP-brukernavn", - "SMTP Password" : "SMTP-passord", - "Store credentials" : "Lagre påloggingsdetaljer", - "Test email settings" : "Test innstillinger for e-post", - "Send email" : "Send e-post", - "What to log" : "Hva som skal logges", - "Download logfile" : "Last ned loggfil", - "More" : "Mer", - "Less" : "Mindre", - "The logfile is bigger than 100 MB. Downloading it may take some time!" : "Loggfilen er over 100 MB, nedlastingen kan ta en stund!", + "Tips & tricks" : "Tips og triks", "SQLite is used as database. For larger installations we recommend to switch to a different database backend." : "SQLite brukes som database. For større installasjoner anbefaler vi å bytte til en annen database-server.", "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "SQLite er spesielt frarådet om man bruker desktopklienten til filsynkronisering", "To migrate to another database use the command line tool: 'occ db:convert-type', or see the documentation ↗." : "For å migrere til en annen database, bruk kommandolinjeverktøyet: 'occ db:convert-type', eller les i dokumentasjonen ↗.", @@ -201,7 +198,6 @@ OC.L10N.register( "Improving the config.php" : "Tilpasninger i config.php", "Theming" : "Temaer", "Hardening and security guidance" : "Herding og sikkerhetsveiledning", - "Version" : "Versjon", "Developer documentation" : "Utviklerdokumentasjon", "Experimental applications ahead" : "Eksperimentelle applikasjoner forut", "Experimental apps are not checked for security issues, new or known to be unstable and under heavy development. Installing them can cause data loss or security breaches." : "Eksperimentelle apper er ikke sjekket for sikkerhetsproblemer. De er nye eller de anses som ustabile og under stadig utvikling. Å installere slike apper kan forårsake tap av data eller brudd på sikkerheten.", @@ -253,14 +249,14 @@ OC.L10N.register( "Change password" : "Endre passord", "Language" : "Språk", "Help translate" : "Bidra til oversettelsen", - "Name" : "Navn", - "Username" : "Brukernavn", - "Done" : "Ferdig", "Get the apps to sync your files" : "Hent apper som synkroniserer filene dine", "Desktop client" : "Skrivebordsklient", "Android app" : "Android-app", "iOS app" : "iOS-app", "Show First Run Wizard again" : "Vis \"Førstegangs veiviser\" på nytt", + "Name" : "Navn", + "Username" : "Brukernavn", + "Done" : "Ferdig", "Show storage location" : "Vis lagringssted", "Show last log in" : "Vis site innlogging", "Show user backend" : "Vis bruker-server", @@ -279,6 +275,10 @@ OC.L10N.register( "change full name" : "endre fullt navn", "set new password" : "sett nytt passord", "change email address" : "endre e-postadresse", - "Default" : "Standard" + "Default" : "Standard", + "APCu" : "APCu", + "Redis" : "Redis", + "External Storage" : "Ekstern lagring", + "Updates" : "Oppdateringer" }, "nplurals=2; plural=(n != 1);"); diff --git a/settings/l10n/nb_NO.json b/settings/l10n/nb_NO.json index 917b7f49ad4e4..00943b93beea3 100644 --- a/settings/l10n/nb_NO.json +++ b/settings/l10n/nb_NO.json @@ -33,17 +33,6 @@ "Email saved" : "Epost lagret", "Your full name has been changed." : "Ditt fulle navn er blitt endret.", "Unable to change full name" : "Klarte ikke å endre fullt navn", - "APCu" : "APCu", - "Redis" : "Redis", - "Security & setup warnings" : "Advarsler om sikkerhet og oppsett", - "Sharing" : "Deling", - "Server-side encryption" : "Serverkryptering", - "External Storage" : "Ekstern lagring", - "Cron" : "Cron", - "Email server" : "E-postserver", - "Log" : "Logg", - "Tips & tricks" : "Tips og triks", - "Updates" : "Oppdateringer", "Couldn't remove app." : "Klarte ikke å fjerne app.", "Language changed" : "Språk endret", "Invalid request" : "Ugyldig forespørsel", @@ -109,17 +98,54 @@ "Unlimited" : "Ubegrenset", "Personal info" : "Personlig informasjon", "Sync clients" : "Synkroniseringsklienter", - "Everything (fatal issues, errors, warnings, info, debug)" : "Alt (fatale problemer, feil, advarsler, info, debug)", - "Info, warnings, errors and fatal issues" : "Info, advarsler, feil og fatale problemer", - "Warnings, errors and fatal issues" : "Advarsler, feil og fatale problemer", - "Errors and fatal issues" : "Feil og fatale problemer", - "Fatal issues only" : "Kun fatale problemer", "None" : "Ingen", "Login" : "Logg inn", "Plain" : "Enkel", "NT LAN Manager" : "NT LAN Manager", "SSL" : "SSL", "TLS" : "TLS", + "Email server" : "E-postserver", + "Open documentation" : "Åpne dokumentasjonen", + "This is used for sending out notifications." : "Dette brukes for utsending av varsler.", + "Send mode" : "Sendemåte", + "Encryption" : "Kryptering", + "From address" : "Fra adresse", + "mail" : "e-post", + "Authentication method" : "Autentiseringsmetode", + "Authentication required" : "Autentisering kreves", + "Server address" : "Server-adresse", + "Port" : "Port", + "Credentials" : "Påloggingsdetaljer", + "SMTP Username" : "SMTP-brukernavn", + "SMTP Password" : "SMTP-passord", + "Store credentials" : "Lagre påloggingsdetaljer", + "Test email settings" : "Test innstillinger for e-post", + "Send email" : "Send e-post", + "Server-side encryption" : "Serverkryptering", + "Enable server-side encryption" : "Aktiver serverkryptering", + "Please read carefully before activating server-side encryption: " : "Vennligst les dette nøye før du aktiverer serverkrykptering:", + "Once encryption is enabled, all files uploaded to the server from that point forward will be encrypted at rest on the server. It will only be possible to disable encryption at a later date if the active encryption module supports that function, and all pre-conditions (e.g. setting a recover key) are met." : "Når kryptering er blitt aktivert, vil alle filer som lastes opp til serveren fra det tidspunktet av bli lagret kryptert på serveren. Det vil kun være mulig å deaktivere kryptering senere dersom den aktive krypteringsmodulen støtter det og alle forutsetninger (f.eks. å sette en gjenopprettingsnøkkel) er til stede.", + "Be aware that encryption always increases the file size." : "Vær oppmerksom på at kryptering alltid øker filstørrelsen.", + "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Det er alltid bra å ta regelmessig sikkerhetskopi av dataene dine. Pass på å ta kopi av krypteringsnøklene sammen med dataene når kryptering er i bruk.", + "This is the final warning: Do you really want to enable encryption?" : "Dette er siste advarsel: Vil du virkelig aktivere kryptering?", + "Enable encryption" : "Aktiver kryptering", + "No encryption module loaded, please enable an encryption module in the app menu." : "Ingen krypteringsmodul er lastet. Aktiver en krypteringsmodul i app-menyen.", + "Select default encryption module:" : "Velg standard krypteringsmodul:", + "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please enable the \"Default encryption module\" and run 'occ encryption:migrate'" : "Du må migrere krypteringsnøklene din fra den gamle krypteringen (ownCloud <= 8.0) til den nye. Vennligst aktiver \"Standard krypteringsmodul\" og kjør 'occ encryption:migrate'", + "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Du må migrere krypteringsnøklene din fra den gamle krypteringen (ownCloud <= 8.0) til den nye.", + "Start migration" : "Start migrering", + "Everything (fatal issues, errors, warnings, info, debug)" : "Alt (fatale problemer, feil, advarsler, info, debug)", + "Info, warnings, errors and fatal issues" : "Info, advarsler, feil og fatale problemer", + "Warnings, errors and fatal issues" : "Advarsler, feil og fatale problemer", + "Errors and fatal issues" : "Feil og fatale problemer", + "Fatal issues only" : "Kun fatale problemer", + "Log" : "Logg", + "What to log" : "Hva som skal logges", + "Download logfile" : "Last ned loggfil", + "More" : "Mer", + "Less" : "Mindre", + "The logfile is bigger than 100 MB. Downloading it may take some time!" : "Loggfilen er over 100 MB, nedlastingen kan ta en stund!", + "Security & setup warnings" : "Advarsler om sikkerhet og oppsett", "php does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP ser ikke ut til å være satt opp riktig for å lese systemets miljøvariabler. Testen med getenv(\"PATH\") returnerer bare et tomt svar.", "Please check the installation documentation ↗ for php configuration notes and the php configuration of your server, especially when using php-fpm." : "Vennligst sjekk installasjonsdokumentasjonen ↗ etter php konfigurasjonsnotater og konfigurering av php på serveren din, særlig om du bruker php-fpm.", "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Den skrivebeskyttede konfigurasjonen er blitt aktivert. Dette forhindrer setting av visse konfigureringer via web-grensesnittet. Videre må config-filen gjøres skrivbar manuelt for hver oppdatering.", @@ -135,7 +161,15 @@ "It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "Det var ikke mulig å kjøre cron-jobben vi CLI. Følgende tekniske feil oppstod:", "Please double check the installation guides ↗, and check for any errors or warnings in the log." : "Vennligst dobbeltsjekk installasjonsguidene ↗, og se etter feil eller advarsler i loggen.", "All checks passed." : "Alle sjekker bestått.", - "Open documentation" : "Åpne dokumentasjonen", + "Cron" : "Cron", + "Last cron job execution: %s." : "Siste kjøring av cron-jobb: %s.", + "Last cron job execution: %s. Something seems wrong." : "Siste kjøring av cron-jobb: %s. Noe ser ut til å være galt.", + "Cron was not executed yet!" : "Cron er ikke utført ennå!", + "Execute one task with each page loaded" : "Utfør en oppgave med hver side som blir lastet", + "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php er registrert i en webcron-tjeneste for å kalle cron.php hvert 15. minutt over http.", + "Use system's cron service to call the cron.php file every 15 minutes." : "Bruk systemets cron-tjeneste til å kalle cron.php hvert 15. minutt.", + "Version" : "Versjon", + "Sharing" : "Deling", "Allow apps to use the Share API" : "Tillat apper å bruke API for Deling", "Allow users to share via link" : "Tillat brukere å dele via lenke", "Allow public uploads" : "Tillat offentlig opplasting", @@ -152,44 +186,7 @@ "Exclude groups from sharing" : "Utelukk grupper fra deling", "These groups will still be able to receive shares, but not to initiate them." : "Disse gruppene vil fremdeles kunne motta delinger men ikke lage dem.", "Allow username autocompletion in share dialog. If this is disabled the full username needs to be entered." : "Tillat automatisk fullføring av brukernavn i delingsdialogen. Uten dette valget må hele brukernavnet oppgis.", - "Last cron job execution: %s." : "Siste kjøring av cron-jobb: %s.", - "Last cron job execution: %s. Something seems wrong." : "Siste kjøring av cron-jobb: %s. Noe ser ut til å være galt.", - "Cron was not executed yet!" : "Cron er ikke utført ennå!", - "Execute one task with each page loaded" : "Utfør en oppgave med hver side som blir lastet", - "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php er registrert i en webcron-tjeneste for å kalle cron.php hvert 15. minutt over http.", - "Use system's cron service to call the cron.php file every 15 minutes." : "Bruk systemets cron-tjeneste til å kalle cron.php hvert 15. minutt.", - "Enable server-side encryption" : "Aktiver serverkryptering", - "Please read carefully before activating server-side encryption: " : "Vennligst les dette nøye før du aktiverer serverkrykptering:", - "Once encryption is enabled, all files uploaded to the server from that point forward will be encrypted at rest on the server. It will only be possible to disable encryption at a later date if the active encryption module supports that function, and all pre-conditions (e.g. setting a recover key) are met." : "Når kryptering er blitt aktivert, vil alle filer som lastes opp til serveren fra det tidspunktet av bli lagret kryptert på serveren. Det vil kun være mulig å deaktivere kryptering senere dersom den aktive krypteringsmodulen støtter det og alle forutsetninger (f.eks. å sette en gjenopprettingsnøkkel) er til stede.", - "Be aware that encryption always increases the file size." : "Vær oppmerksom på at kryptering alltid øker filstørrelsen.", - "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Det er alltid bra å ta regelmessig sikkerhetskopi av dataene dine. Pass på å ta kopi av krypteringsnøklene sammen med dataene når kryptering er i bruk.", - "This is the final warning: Do you really want to enable encryption?" : "Dette er siste advarsel: Vil du virkelig aktivere kryptering?", - "Enable encryption" : "Aktiver kryptering", - "No encryption module loaded, please enable an encryption module in the app menu." : "Ingen krypteringsmodul er lastet. Aktiver en krypteringsmodul i app-menyen.", - "Select default encryption module:" : "Velg standard krypteringsmodul:", - "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please enable the \"Default encryption module\" and run 'occ encryption:migrate'" : "Du må migrere krypteringsnøklene din fra den gamle krypteringen (ownCloud <= 8.0) til den nye. Vennligst aktiver \"Standard krypteringsmodul\" og kjør 'occ encryption:migrate'", - "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Du må migrere krypteringsnøklene din fra den gamle krypteringen (ownCloud <= 8.0) til den nye.", - "Start migration" : "Start migrering", - "This is used for sending out notifications." : "Dette brukes for utsending av varsler.", - "Send mode" : "Sendemåte", - "Encryption" : "Kryptering", - "From address" : "Fra adresse", - "mail" : "e-post", - "Authentication method" : "Autentiseringsmetode", - "Authentication required" : "Autentisering kreves", - "Server address" : "Server-adresse", - "Port" : "Port", - "Credentials" : "Påloggingsdetaljer", - "SMTP Username" : "SMTP-brukernavn", - "SMTP Password" : "SMTP-passord", - "Store credentials" : "Lagre påloggingsdetaljer", - "Test email settings" : "Test innstillinger for e-post", - "Send email" : "Send e-post", - "What to log" : "Hva som skal logges", - "Download logfile" : "Last ned loggfil", - "More" : "Mer", - "Less" : "Mindre", - "The logfile is bigger than 100 MB. Downloading it may take some time!" : "Loggfilen er over 100 MB, nedlastingen kan ta en stund!", + "Tips & tricks" : "Tips og triks", "SQLite is used as database. For larger installations we recommend to switch to a different database backend." : "SQLite brukes som database. For større installasjoner anbefaler vi å bytte til en annen database-server.", "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "SQLite er spesielt frarådet om man bruker desktopklienten til filsynkronisering", "To migrate to another database use the command line tool: 'occ db:convert-type', or see the documentation ↗." : "For å migrere til en annen database, bruk kommandolinjeverktøyet: 'occ db:convert-type', eller les i dokumentasjonen ↗.", @@ -199,7 +196,6 @@ "Improving the config.php" : "Tilpasninger i config.php", "Theming" : "Temaer", "Hardening and security guidance" : "Herding og sikkerhetsveiledning", - "Version" : "Versjon", "Developer documentation" : "Utviklerdokumentasjon", "Experimental applications ahead" : "Eksperimentelle applikasjoner forut", "Experimental apps are not checked for security issues, new or known to be unstable and under heavy development. Installing them can cause data loss or security breaches." : "Eksperimentelle apper er ikke sjekket for sikkerhetsproblemer. De er nye eller de anses som ustabile og under stadig utvikling. Å installere slike apper kan forårsake tap av data eller brudd på sikkerheten.", @@ -251,14 +247,14 @@ "Change password" : "Endre passord", "Language" : "Språk", "Help translate" : "Bidra til oversettelsen", - "Name" : "Navn", - "Username" : "Brukernavn", - "Done" : "Ferdig", "Get the apps to sync your files" : "Hent apper som synkroniserer filene dine", "Desktop client" : "Skrivebordsklient", "Android app" : "Android-app", "iOS app" : "iOS-app", "Show First Run Wizard again" : "Vis \"Førstegangs veiviser\" på nytt", + "Name" : "Navn", + "Username" : "Brukernavn", + "Done" : "Ferdig", "Show storage location" : "Vis lagringssted", "Show last log in" : "Vis site innlogging", "Show user backend" : "Vis bruker-server", @@ -277,6 +273,10 @@ "change full name" : "endre fullt navn", "set new password" : "sett nytt passord", "change email address" : "endre e-postadresse", - "Default" : "Standard" + "Default" : "Standard", + "APCu" : "APCu", + "Redis" : "Redis", + "External Storage" : "Ekstern lagring", + "Updates" : "Oppdateringer" },"pluralForm" :"nplurals=2; plural=(n != 1);" } \ No newline at end of file diff --git a/settings/l10n/nl.js b/settings/l10n/nl.js index 22d829c153361..328156d8c57cb 100644 --- a/settings/l10n/nl.js +++ b/settings/l10n/nl.js @@ -35,17 +35,6 @@ OC.L10N.register( "Email saved" : "E-mail bewaard", "Your full name has been changed." : "Je volledige naam is gewijzigd.", "Unable to change full name" : "Kan de volledige naam niet wijzigen", - "APCu" : "APCu", - "Redis" : "Redis", - "Security & setup warnings" : "Beveiligings- en instellingswaarschuwingen", - "Sharing" : "Delen", - "Server-side encryption" : "Server-side versleuteling", - "External Storage" : "Externe opslag", - "Cron" : "Cron", - "Email server" : "E-mailserver", - "Log" : "Log", - "Tips & tricks" : "Tips & trucs", - "Updates" : "Updates", "Couldn't remove app." : "Kon app niet verwijderen.", "Language changed" : "Taal aangepast", "Invalid request" : "Ongeldige aanvraag", @@ -133,17 +122,55 @@ OC.L10N.register( "Sessions" : "Sessies", "App passwords" : "App wachtwoorden", "Sync clients" : "Sync clients", - "Everything (fatal issues, errors, warnings, info, debug)" : "Alles (fatale problemen, fouten, waarschuwingen, info, debug)", - "Info, warnings, errors and fatal issues" : "Info, waarschuwingen, fouten en fatale problemen", - "Warnings, errors and fatal issues" : "Waarschuwingen, fouten en fatale problemen", - "Errors and fatal issues" : "Fouten en fatale problemen", - "Fatal issues only" : "Alleen fatale problemen", "None" : "Geen", "Login" : "Login", "Plain" : "Gewoon", "NT LAN Manager" : "NT LAN Manager", "SSL" : "SSL", "TLS" : "TLS", + "Email server" : "E-mailserver", + "Open documentation" : "Open documentatie", + "This is used for sending out notifications." : "Dit wordt gebruikt voor het verzenden van meldingen.", + "Send mode" : "Verstuurmodus", + "Encryption" : "Versleuteling", + "From address" : "Afzenderadres", + "mail" : "e-mail", + "Authentication method" : "Authenticatiemethode", + "Authentication required" : "Authenticatie vereist", + "Server address" : "Server adres", + "Port" : "Poort", + "Credentials" : "Inloggegevens", + "SMTP Username" : "SMTP gebruikersnaam", + "SMTP Password" : "SMTP wachtwoord", + "Store credentials" : "Opslaan inloggegevens", + "Test email settings" : "Test e-mailinstellingen", + "Send email" : "Versturen e-mail", + "Server-side encryption" : "Server-side versleuteling", + "Enable server-side encryption" : "Server-side versleuteling inschakelen", + "Please read carefully before activating server-side encryption: " : "Lees dit goed, voordat u de serverside versleuteling activeert:", + "Once encryption is enabled, all files uploaded to the server from that point forward will be encrypted at rest on the server. It will only be possible to disable encryption at a later date if the active encryption module supports that function, and all pre-conditions (e.g. setting a recover key) are met." : "Als versleuteling is ingeschakeld, worden alle geüploade bestanden vanaf dat moment versleuteld opgeslagen op de server. Het is alleen mogelijk om de versleuteling later uit te schakelen als de actieve versleutelingsmodule dit ondersteunt en aan alle pré-condities (mn de ingestelde herstelsleutel) wordt voldaan.", + "Encryption alone does not guarantee security of the system. Please see documentation for more information about how the encryption app works, and the supported use cases." : "Versleuteling alleen gerandeert geen beveiliging van het systeem. Lees de documentatie voor meer achtergrond over de werking van de crypto app an de relevante use cases.", + "Be aware that encryption always increases the file size." : "Let erop dat versleuteling de bestandsomvang altijd laat toenemen.", + "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Het is altijd verstandig om regelmatig backups van je bestanden te maken. Zorg ervoor dat je in geval van versleuteling ook de cryptosleutel met je gegevens backupt.", + "This is the final warning: Do you really want to enable encryption?" : "Dit is de laatste waarschuwing: Wil je versleuteling echt inschakelen?", + "Enable encryption" : "Versleuteling inschakelen", + "No encryption module loaded, please enable an encryption module in the app menu." : "Er is geen cryptomodule geladen, activeer een cryptomodule in het appmenu", + "Select default encryption module:" : "Selecteer de standaard cryptomodule:", + "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please enable the \"Default encryption module\" and run 'occ encryption:migrate'" : "Je moet je cryptosleutels van de oude versleuteling (ownCloud <= 8.0) migreren naar de nieuwe. Activeer de \"Standaard cryptomodule\" en start 'occ encryption:migrate'", + "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Je moet je cryptosleutels van de oude versleuteling (ownCloud <= 8.0) migreren naar de nieuwe.", + "Start migration" : "Start migratie", + "Everything (fatal issues, errors, warnings, info, debug)" : "Alles (fatale problemen, fouten, waarschuwingen, info, debug)", + "Info, warnings, errors and fatal issues" : "Info, waarschuwingen, fouten en fatale problemen", + "Warnings, errors and fatal issues" : "Waarschuwingen, fouten en fatale problemen", + "Errors and fatal issues" : "Fouten en fatale problemen", + "Fatal issues only" : "Alleen fatale problemen", + "Log" : "Log", + "What to log" : "Wat loggen", + "Download logfile" : "Download logbestand", + "More" : "Meer", + "Less" : "Minder", + "The logfile is bigger than 100 MB. Downloading it may take some time!" : "Het logbestand is groter dan 100MB. Downloaden kost even tijd!", + "Security & setup warnings" : "Beveiligings- en instellingswaarschuwingen", "php does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "php lijkt niet goed te zijn ingesteld om systeemomgevingsvariabelen te bevragen. De test met getenv(\"PATH\") gaf een leeg resultaat.", "Please check the installation documentation ↗ for php configuration notes and the php configuration of your server, especially when using php-fpm." : "Lees de installatiedocumentatie ↗ voor php configuratienotities en de php configuratie van je server, zeker bij gebruik van php-fpm.", "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "De Alleen-lezen config is geactiveerd. Dit voorkomt het via de webinterface wijzigen van verschillende instellingen. Bovendien moet het bestand voor elke aanpassing handmatig op beschrijfbaar worden ingesteld.", @@ -160,7 +187,15 @@ OC.L10N.register( "It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "het was niet mogelijk om de cronjob via CLI uit te voeren. De volgende technische problemen traden op:", "Please double check the installation guides ↗, and check for any errors or warnings in the log." : "Lees de installatie handleiding goed door en controleer op fouten en waarschuwingen in de logging.", "All checks passed." : "Alle checks geslaagd", - "Open documentation" : "Open documentatie", + "Cron" : "Cron", + "Last cron job execution: %s." : "Laatst uitgevoerde cronjob: %s.", + "Last cron job execution: %s. Something seems wrong." : "Laatst uitgevoerde cronjob: %s. Er lijkt iets fout gegaan.", + "Cron was not executed yet!" : "Cron is nog niet uitgevoerd!", + "Execute one task with each page loaded" : "Bij laden van elke pagina één taak uitvoeren", + "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php is geregisteerd bij een webcron service om elke 15 minuten cron.php over http aan te roepen.", + "Use system's cron service to call the cron.php file every 15 minutes." : "Gebruik de systeem cron service om cron.php elke 15 minuten aan te roepen.", + "Version" : "Versie", + "Sharing" : "Delen", "Allow apps to use the Share API" : "Apps toestaan de Share API te gebruiken", "Allow users to share via link" : "Sta gebruikers toe om te delen via een link", "Allow public uploads" : "Sta publieke uploads toe", @@ -177,45 +212,7 @@ OC.L10N.register( "Exclude groups from sharing" : "Sluit groepen uit van delen", "These groups will still be able to receive shares, but not to initiate them." : "Deze groepen kunnen gedeelde mappen bestanden ontvangen, maar kunnen ze niet starten.", "Allow username autocompletion in share dialog. If this is disabled the full username needs to be entered." : "Sta auto-aanvullen van gebruikersnaam toe in de Delen-dialoog. Als dit is uitgeschakeld, moet de gebruikersnaam volledig worden ingevuld.", - "Last cron job execution: %s." : "Laatst uitgevoerde cronjob: %s.", - "Last cron job execution: %s. Something seems wrong." : "Laatst uitgevoerde cronjob: %s. Er lijkt iets fout gegaan.", - "Cron was not executed yet!" : "Cron is nog niet uitgevoerd!", - "Execute one task with each page loaded" : "Bij laden van elke pagina één taak uitvoeren", - "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php is geregisteerd bij een webcron service om elke 15 minuten cron.php over http aan te roepen.", - "Use system's cron service to call the cron.php file every 15 minutes." : "Gebruik de systeem cron service om cron.php elke 15 minuten aan te roepen.", - "Enable server-side encryption" : "Server-side versleuteling inschakelen", - "Please read carefully before activating server-side encryption: " : "Lees dit goed, voordat u de serverside versleuteling activeert:", - "Once encryption is enabled, all files uploaded to the server from that point forward will be encrypted at rest on the server. It will only be possible to disable encryption at a later date if the active encryption module supports that function, and all pre-conditions (e.g. setting a recover key) are met." : "Als versleuteling is ingeschakeld, worden alle geüploade bestanden vanaf dat moment versleuteld opgeslagen op de server. Het is alleen mogelijk om de versleuteling later uit te schakelen als de actieve versleutelingsmodule dit ondersteunt en aan alle pré-condities (mn de ingestelde herstelsleutel) wordt voldaan.", - "Encryption alone does not guarantee security of the system. Please see documentation for more information about how the encryption app works, and the supported use cases." : "Versleuteling alleen gerandeert geen beveiliging van het systeem. Lees de documentatie voor meer achtergrond over de werking van de crypto app an de relevante use cases.", - "Be aware that encryption always increases the file size." : "Let erop dat versleuteling de bestandsomvang altijd laat toenemen.", - "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Het is altijd verstandig om regelmatig backups van je bestanden te maken. Zorg ervoor dat je in geval van versleuteling ook de cryptosleutel met je gegevens backupt.", - "This is the final warning: Do you really want to enable encryption?" : "Dit is de laatste waarschuwing: Wil je versleuteling echt inschakelen?", - "Enable encryption" : "Versleuteling inschakelen", - "No encryption module loaded, please enable an encryption module in the app menu." : "Er is geen cryptomodule geladen, activeer een cryptomodule in het appmenu", - "Select default encryption module:" : "Selecteer de standaard cryptomodule:", - "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please enable the \"Default encryption module\" and run 'occ encryption:migrate'" : "Je moet je cryptosleutels van de oude versleuteling (ownCloud <= 8.0) migreren naar de nieuwe. Activeer de \"Standaard cryptomodule\" en start 'occ encryption:migrate'", - "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Je moet je cryptosleutels van de oude versleuteling (ownCloud <= 8.0) migreren naar de nieuwe.", - "Start migration" : "Start migratie", - "This is used for sending out notifications." : "Dit wordt gebruikt voor het verzenden van meldingen.", - "Send mode" : "Verstuurmodus", - "Encryption" : "Versleuteling", - "From address" : "Afzenderadres", - "mail" : "e-mail", - "Authentication method" : "Authenticatiemethode", - "Authentication required" : "Authenticatie vereist", - "Server address" : "Server adres", - "Port" : "Poort", - "Credentials" : "Inloggegevens", - "SMTP Username" : "SMTP gebruikersnaam", - "SMTP Password" : "SMTP wachtwoord", - "Store credentials" : "Opslaan inloggegevens", - "Test email settings" : "Test e-mailinstellingen", - "Send email" : "Versturen e-mail", - "What to log" : "Wat loggen", - "Download logfile" : "Download logbestand", - "More" : "Meer", - "Less" : "Minder", - "The logfile is bigger than 100 MB. Downloading it may take some time!" : "Het logbestand is groter dan 100MB. Downloaden kost even tijd!", + "Tips & tricks" : "Tips & trucs", "SQLite is used as database. For larger installations we recommend to switch to a different database backend." : "SQLite wordt gebruikt als database. Voor grotere installaties adviseren we om te schakelen naar een andere database engine.", "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "Vooral wanneer de desktop client wordt gebruik voor bestandssynchronisatie wordt gebruik van sqlite afgeraden.", "To migrate to another database use the command line tool: 'occ db:convert-type', or see the documentation ↗." : "Om te migreren naar een andere database moet u de commandoregel tool gebruiken: 'occ db:convert-type', lees de documentatie ↗.", @@ -225,7 +222,6 @@ OC.L10N.register( "Improving the config.php" : "config.php verbeteren", "Theming" : "Thema's", "Hardening and security guidance" : "Hardening en security advies", - "Version" : "Versie", "Developer documentation" : "Ontwikkelaarsdocumentatie", "Experimental applications ahead" : "Experimentele applicaties vooraan", "Experimental apps are not checked for security issues, new or known to be unstable and under heavy development. Installing them can cause data loss or security breaches." : "Experimentele apps zijn niet gecontroleerd op beveiligingsproblemen, zijn nieuw of staan bekend als instabiel en worden volop ontwikkeld. Installatie kan leiden tot gegevensverlies of beveiligingsincidenten.", @@ -281,6 +277,11 @@ OC.L10N.register( "Change password" : "Wijzig wachtwoord", "Language" : "Taal", "Help translate" : "Help met vertalen", + "Get the apps to sync your files" : "Download de apps om bestanden te synchroniseren", + "Desktop client" : "Desktop client", + "Android app" : "Android app", + "iOS app" : "iOS app", + "Show First Run Wizard again" : "Toon de Eerste start Wizard opnieuw", "Web, desktop and mobile clients currently logged in to your account." : "Web, desktop en mobiele clients zijn nu ingelogd op je account.", "Device" : "Apparaat", "Last activity" : "Laatste activiteit", @@ -291,12 +292,6 @@ OC.L10N.register( "Use the credentials below to configure your app or device." : "Gebruik onderstaande inloggegevens om je app of apparaat te configureren.", "Username" : "Gebruikersnaam", "Done" : "Gedaan", - "Get the apps to sync your files" : "Download de apps om bestanden te synchroniseren", - "Desktop client" : "Desktop client", - "Android app" : "Android app", - "iOS app" : "iOS app", - "If you want to support the project\n\t\tjoin development\n\t\tor\n\t\tspread the word!" : "Ondersteun het project\n\t\tontwikkel het mee\n\t\tof\n\t\tverkondig het woord!", - "Show First Run Wizard again" : "Toon de Eerste start Wizard opnieuw", "Developed by the {communityopen}Nextcloud community{linkclose}, the {githubopen}source code{linkclose} is licensed under the {licenseopen}AGPL{linkclose}." : "Ontwikkeld door de {communityopen}Nextcloud community{linkclose}, de {githubopen}broncode{linkclose} is gelicenseerd onder de {licenseopen}AGPL{linkclose}.", "Show storage location" : "Toon opslaglocatie", "Show last log in" : "Toon laatste inlog", @@ -321,6 +316,10 @@ OC.L10N.register( "change full name" : "wijzigen volledige naam", "set new password" : "Instellen nieuw wachtwoord", "change email address" : "wijzig e-mailadres", - "Default" : "Standaard" + "Default" : "Standaard", + "APCu" : "APCu", + "Redis" : "Redis", + "External Storage" : "Externe opslag", + "Updates" : "Updates" }, "nplurals=2; plural=(n != 1);"); diff --git a/settings/l10n/nl.json b/settings/l10n/nl.json index 48d438859a95b..af464270daebb 100644 --- a/settings/l10n/nl.json +++ b/settings/l10n/nl.json @@ -33,17 +33,6 @@ "Email saved" : "E-mail bewaard", "Your full name has been changed." : "Je volledige naam is gewijzigd.", "Unable to change full name" : "Kan de volledige naam niet wijzigen", - "APCu" : "APCu", - "Redis" : "Redis", - "Security & setup warnings" : "Beveiligings- en instellingswaarschuwingen", - "Sharing" : "Delen", - "Server-side encryption" : "Server-side versleuteling", - "External Storage" : "Externe opslag", - "Cron" : "Cron", - "Email server" : "E-mailserver", - "Log" : "Log", - "Tips & tricks" : "Tips & trucs", - "Updates" : "Updates", "Couldn't remove app." : "Kon app niet verwijderen.", "Language changed" : "Taal aangepast", "Invalid request" : "Ongeldige aanvraag", @@ -131,17 +120,55 @@ "Sessions" : "Sessies", "App passwords" : "App wachtwoorden", "Sync clients" : "Sync clients", - "Everything (fatal issues, errors, warnings, info, debug)" : "Alles (fatale problemen, fouten, waarschuwingen, info, debug)", - "Info, warnings, errors and fatal issues" : "Info, waarschuwingen, fouten en fatale problemen", - "Warnings, errors and fatal issues" : "Waarschuwingen, fouten en fatale problemen", - "Errors and fatal issues" : "Fouten en fatale problemen", - "Fatal issues only" : "Alleen fatale problemen", "None" : "Geen", "Login" : "Login", "Plain" : "Gewoon", "NT LAN Manager" : "NT LAN Manager", "SSL" : "SSL", "TLS" : "TLS", + "Email server" : "E-mailserver", + "Open documentation" : "Open documentatie", + "This is used for sending out notifications." : "Dit wordt gebruikt voor het verzenden van meldingen.", + "Send mode" : "Verstuurmodus", + "Encryption" : "Versleuteling", + "From address" : "Afzenderadres", + "mail" : "e-mail", + "Authentication method" : "Authenticatiemethode", + "Authentication required" : "Authenticatie vereist", + "Server address" : "Server adres", + "Port" : "Poort", + "Credentials" : "Inloggegevens", + "SMTP Username" : "SMTP gebruikersnaam", + "SMTP Password" : "SMTP wachtwoord", + "Store credentials" : "Opslaan inloggegevens", + "Test email settings" : "Test e-mailinstellingen", + "Send email" : "Versturen e-mail", + "Server-side encryption" : "Server-side versleuteling", + "Enable server-side encryption" : "Server-side versleuteling inschakelen", + "Please read carefully before activating server-side encryption: " : "Lees dit goed, voordat u de serverside versleuteling activeert:", + "Once encryption is enabled, all files uploaded to the server from that point forward will be encrypted at rest on the server. It will only be possible to disable encryption at a later date if the active encryption module supports that function, and all pre-conditions (e.g. setting a recover key) are met." : "Als versleuteling is ingeschakeld, worden alle geüploade bestanden vanaf dat moment versleuteld opgeslagen op de server. Het is alleen mogelijk om de versleuteling later uit te schakelen als de actieve versleutelingsmodule dit ondersteunt en aan alle pré-condities (mn de ingestelde herstelsleutel) wordt voldaan.", + "Encryption alone does not guarantee security of the system. Please see documentation for more information about how the encryption app works, and the supported use cases." : "Versleuteling alleen gerandeert geen beveiliging van het systeem. Lees de documentatie voor meer achtergrond over de werking van de crypto app an de relevante use cases.", + "Be aware that encryption always increases the file size." : "Let erop dat versleuteling de bestandsomvang altijd laat toenemen.", + "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Het is altijd verstandig om regelmatig backups van je bestanden te maken. Zorg ervoor dat je in geval van versleuteling ook de cryptosleutel met je gegevens backupt.", + "This is the final warning: Do you really want to enable encryption?" : "Dit is de laatste waarschuwing: Wil je versleuteling echt inschakelen?", + "Enable encryption" : "Versleuteling inschakelen", + "No encryption module loaded, please enable an encryption module in the app menu." : "Er is geen cryptomodule geladen, activeer een cryptomodule in het appmenu", + "Select default encryption module:" : "Selecteer de standaard cryptomodule:", + "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please enable the \"Default encryption module\" and run 'occ encryption:migrate'" : "Je moet je cryptosleutels van de oude versleuteling (ownCloud <= 8.0) migreren naar de nieuwe. Activeer de \"Standaard cryptomodule\" en start 'occ encryption:migrate'", + "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Je moet je cryptosleutels van de oude versleuteling (ownCloud <= 8.0) migreren naar de nieuwe.", + "Start migration" : "Start migratie", + "Everything (fatal issues, errors, warnings, info, debug)" : "Alles (fatale problemen, fouten, waarschuwingen, info, debug)", + "Info, warnings, errors and fatal issues" : "Info, waarschuwingen, fouten en fatale problemen", + "Warnings, errors and fatal issues" : "Waarschuwingen, fouten en fatale problemen", + "Errors and fatal issues" : "Fouten en fatale problemen", + "Fatal issues only" : "Alleen fatale problemen", + "Log" : "Log", + "What to log" : "Wat loggen", + "Download logfile" : "Download logbestand", + "More" : "Meer", + "Less" : "Minder", + "The logfile is bigger than 100 MB. Downloading it may take some time!" : "Het logbestand is groter dan 100MB. Downloaden kost even tijd!", + "Security & setup warnings" : "Beveiligings- en instellingswaarschuwingen", "php does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "php lijkt niet goed te zijn ingesteld om systeemomgevingsvariabelen te bevragen. De test met getenv(\"PATH\") gaf een leeg resultaat.", "Please check the installation documentation ↗ for php configuration notes and the php configuration of your server, especially when using php-fpm." : "Lees de installatiedocumentatie ↗ voor php configuratienotities en de php configuratie van je server, zeker bij gebruik van php-fpm.", "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "De Alleen-lezen config is geactiveerd. Dit voorkomt het via de webinterface wijzigen van verschillende instellingen. Bovendien moet het bestand voor elke aanpassing handmatig op beschrijfbaar worden ingesteld.", @@ -158,7 +185,15 @@ "It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "het was niet mogelijk om de cronjob via CLI uit te voeren. De volgende technische problemen traden op:", "Please double check the installation guides ↗, and check for any errors or warnings in the log." : "Lees de installatie handleiding goed door en controleer op fouten en waarschuwingen in de logging.", "All checks passed." : "Alle checks geslaagd", - "Open documentation" : "Open documentatie", + "Cron" : "Cron", + "Last cron job execution: %s." : "Laatst uitgevoerde cronjob: %s.", + "Last cron job execution: %s. Something seems wrong." : "Laatst uitgevoerde cronjob: %s. Er lijkt iets fout gegaan.", + "Cron was not executed yet!" : "Cron is nog niet uitgevoerd!", + "Execute one task with each page loaded" : "Bij laden van elke pagina één taak uitvoeren", + "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php is geregisteerd bij een webcron service om elke 15 minuten cron.php over http aan te roepen.", + "Use system's cron service to call the cron.php file every 15 minutes." : "Gebruik de systeem cron service om cron.php elke 15 minuten aan te roepen.", + "Version" : "Versie", + "Sharing" : "Delen", "Allow apps to use the Share API" : "Apps toestaan de Share API te gebruiken", "Allow users to share via link" : "Sta gebruikers toe om te delen via een link", "Allow public uploads" : "Sta publieke uploads toe", @@ -175,45 +210,7 @@ "Exclude groups from sharing" : "Sluit groepen uit van delen", "These groups will still be able to receive shares, but not to initiate them." : "Deze groepen kunnen gedeelde mappen bestanden ontvangen, maar kunnen ze niet starten.", "Allow username autocompletion in share dialog. If this is disabled the full username needs to be entered." : "Sta auto-aanvullen van gebruikersnaam toe in de Delen-dialoog. Als dit is uitgeschakeld, moet de gebruikersnaam volledig worden ingevuld.", - "Last cron job execution: %s." : "Laatst uitgevoerde cronjob: %s.", - "Last cron job execution: %s. Something seems wrong." : "Laatst uitgevoerde cronjob: %s. Er lijkt iets fout gegaan.", - "Cron was not executed yet!" : "Cron is nog niet uitgevoerd!", - "Execute one task with each page loaded" : "Bij laden van elke pagina één taak uitvoeren", - "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php is geregisteerd bij een webcron service om elke 15 minuten cron.php over http aan te roepen.", - "Use system's cron service to call the cron.php file every 15 minutes." : "Gebruik de systeem cron service om cron.php elke 15 minuten aan te roepen.", - "Enable server-side encryption" : "Server-side versleuteling inschakelen", - "Please read carefully before activating server-side encryption: " : "Lees dit goed, voordat u de serverside versleuteling activeert:", - "Once encryption is enabled, all files uploaded to the server from that point forward will be encrypted at rest on the server. It will only be possible to disable encryption at a later date if the active encryption module supports that function, and all pre-conditions (e.g. setting a recover key) are met." : "Als versleuteling is ingeschakeld, worden alle geüploade bestanden vanaf dat moment versleuteld opgeslagen op de server. Het is alleen mogelijk om de versleuteling later uit te schakelen als de actieve versleutelingsmodule dit ondersteunt en aan alle pré-condities (mn de ingestelde herstelsleutel) wordt voldaan.", - "Encryption alone does not guarantee security of the system. Please see documentation for more information about how the encryption app works, and the supported use cases." : "Versleuteling alleen gerandeert geen beveiliging van het systeem. Lees de documentatie voor meer achtergrond over de werking van de crypto app an de relevante use cases.", - "Be aware that encryption always increases the file size." : "Let erop dat versleuteling de bestandsomvang altijd laat toenemen.", - "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Het is altijd verstandig om regelmatig backups van je bestanden te maken. Zorg ervoor dat je in geval van versleuteling ook de cryptosleutel met je gegevens backupt.", - "This is the final warning: Do you really want to enable encryption?" : "Dit is de laatste waarschuwing: Wil je versleuteling echt inschakelen?", - "Enable encryption" : "Versleuteling inschakelen", - "No encryption module loaded, please enable an encryption module in the app menu." : "Er is geen cryptomodule geladen, activeer een cryptomodule in het appmenu", - "Select default encryption module:" : "Selecteer de standaard cryptomodule:", - "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please enable the \"Default encryption module\" and run 'occ encryption:migrate'" : "Je moet je cryptosleutels van de oude versleuteling (ownCloud <= 8.0) migreren naar de nieuwe. Activeer de \"Standaard cryptomodule\" en start 'occ encryption:migrate'", - "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Je moet je cryptosleutels van de oude versleuteling (ownCloud <= 8.0) migreren naar de nieuwe.", - "Start migration" : "Start migratie", - "This is used for sending out notifications." : "Dit wordt gebruikt voor het verzenden van meldingen.", - "Send mode" : "Verstuurmodus", - "Encryption" : "Versleuteling", - "From address" : "Afzenderadres", - "mail" : "e-mail", - "Authentication method" : "Authenticatiemethode", - "Authentication required" : "Authenticatie vereist", - "Server address" : "Server adres", - "Port" : "Poort", - "Credentials" : "Inloggegevens", - "SMTP Username" : "SMTP gebruikersnaam", - "SMTP Password" : "SMTP wachtwoord", - "Store credentials" : "Opslaan inloggegevens", - "Test email settings" : "Test e-mailinstellingen", - "Send email" : "Versturen e-mail", - "What to log" : "Wat loggen", - "Download logfile" : "Download logbestand", - "More" : "Meer", - "Less" : "Minder", - "The logfile is bigger than 100 MB. Downloading it may take some time!" : "Het logbestand is groter dan 100MB. Downloaden kost even tijd!", + "Tips & tricks" : "Tips & trucs", "SQLite is used as database. For larger installations we recommend to switch to a different database backend." : "SQLite wordt gebruikt als database. Voor grotere installaties adviseren we om te schakelen naar een andere database engine.", "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "Vooral wanneer de desktop client wordt gebruik voor bestandssynchronisatie wordt gebruik van sqlite afgeraden.", "To migrate to another database use the command line tool: 'occ db:convert-type', or see the documentation ↗." : "Om te migreren naar een andere database moet u de commandoregel tool gebruiken: 'occ db:convert-type', lees de documentatie ↗.", @@ -223,7 +220,6 @@ "Improving the config.php" : "config.php verbeteren", "Theming" : "Thema's", "Hardening and security guidance" : "Hardening en security advies", - "Version" : "Versie", "Developer documentation" : "Ontwikkelaarsdocumentatie", "Experimental applications ahead" : "Experimentele applicaties vooraan", "Experimental apps are not checked for security issues, new or known to be unstable and under heavy development. Installing them can cause data loss or security breaches." : "Experimentele apps zijn niet gecontroleerd op beveiligingsproblemen, zijn nieuw of staan bekend als instabiel en worden volop ontwikkeld. Installatie kan leiden tot gegevensverlies of beveiligingsincidenten.", @@ -279,6 +275,11 @@ "Change password" : "Wijzig wachtwoord", "Language" : "Taal", "Help translate" : "Help met vertalen", + "Get the apps to sync your files" : "Download de apps om bestanden te synchroniseren", + "Desktop client" : "Desktop client", + "Android app" : "Android app", + "iOS app" : "iOS app", + "Show First Run Wizard again" : "Toon de Eerste start Wizard opnieuw", "Web, desktop and mobile clients currently logged in to your account." : "Web, desktop en mobiele clients zijn nu ingelogd op je account.", "Device" : "Apparaat", "Last activity" : "Laatste activiteit", @@ -289,12 +290,6 @@ "Use the credentials below to configure your app or device." : "Gebruik onderstaande inloggegevens om je app of apparaat te configureren.", "Username" : "Gebruikersnaam", "Done" : "Gedaan", - "Get the apps to sync your files" : "Download de apps om bestanden te synchroniseren", - "Desktop client" : "Desktop client", - "Android app" : "Android app", - "iOS app" : "iOS app", - "If you want to support the project\n\t\tjoin development\n\t\tor\n\t\tspread the word!" : "Ondersteun het project\n\t\tontwikkel het mee\n\t\tof\n\t\tverkondig het woord!", - "Show First Run Wizard again" : "Toon de Eerste start Wizard opnieuw", "Developed by the {communityopen}Nextcloud community{linkclose}, the {githubopen}source code{linkclose} is licensed under the {licenseopen}AGPL{linkclose}." : "Ontwikkeld door de {communityopen}Nextcloud community{linkclose}, de {githubopen}broncode{linkclose} is gelicenseerd onder de {licenseopen}AGPL{linkclose}.", "Show storage location" : "Toon opslaglocatie", "Show last log in" : "Toon laatste inlog", @@ -319,6 +314,10 @@ "change full name" : "wijzigen volledige naam", "set new password" : "Instellen nieuw wachtwoord", "change email address" : "wijzig e-mailadres", - "Default" : "Standaard" + "Default" : "Standaard", + "APCu" : "APCu", + "Redis" : "Redis", + "External Storage" : "Externe opslag", + "Updates" : "Updates" },"pluralForm" :"nplurals=2; plural=(n != 1);" } \ No newline at end of file diff --git a/settings/l10n/pt_BR.js b/settings/l10n/pt_BR.js index 3ab6ec1d5bb12..8b0e8f77709e4 100644 --- a/settings/l10n/pt_BR.js +++ b/settings/l10n/pt_BR.js @@ -35,17 +35,6 @@ OC.L10N.register( "Email saved" : "E-mail salvo", "Your full name has been changed." : "Seu nome completo foi alterado.", "Unable to change full name" : "Não é possível alterar o nome completo", - "APCu" : "APCu", - "Redis" : "Redis", - "Security & setup warnings" : "Segurança & avisos de configuração", - "Sharing" : "Compartilhamento", - "Server-side encryption" : "Criptografia do lado do servidor", - "External Storage" : "Armazenamento externo", - "Cron" : "Cron", - "Email server" : "Servidor de e-mail", - "Log" : "Registro", - "Tips & tricks" : "Dicas & Truques", - "Updates" : "Atualizações", "Couldn't remove app." : "Não foi possível remover aplicativos.", "Language changed" : "Idioma alterado", "Invalid request" : "Pedido inválido", @@ -137,17 +126,55 @@ OC.L10N.register( "Sessions" : "Sessões", "App passwords" : "Senhas de aplicativos", "Sync clients" : "Clientes de Sincronização", - "Everything (fatal issues, errors, warnings, info, debug)" : "Tudo (questões fatais, erros, avisos, informações, depuração)", - "Info, warnings, errors and fatal issues" : "Informações, avisos, erros e problemas fatais", - "Warnings, errors and fatal issues" : "Avisos, erros e problemas fatais", - "Errors and fatal issues" : "Erros e problemas fatais", - "Fatal issues only" : "Somente questões fatais", "None" : "Nada", "Login" : "Login", "Plain" : "Plano", "NT LAN Manager" : "Gerenciador NT LAN", "SSL" : "SSL", "TLS" : "TLS", + "Email server" : "Servidor de e-mail", + "Open documentation" : "Abrir documentação", + "This is used for sending out notifications." : "Isto é usado para o envio de notificações.", + "Send mode" : "Modo enviar", + "Encryption" : "Criptografia", + "From address" : "Do Endereço", + "mail" : "email", + "Authentication method" : "Método de autenticação", + "Authentication required" : "Autenticação é requerida", + "Server address" : "Endereço do servidor", + "Port" : "Porta", + "Credentials" : "Credenciais", + "SMTP Username" : "Nome do Usuário SMTP", + "SMTP Password" : "Senha SMTP", + "Store credentials" : "Armazenar credenciais", + "Test email settings" : "Configurações de e-mail de teste", + "Send email" : "Enviar email", + "Server-side encryption" : "Criptografia do lado do servidor", + "Enable server-side encryption" : "Habilitar a Criptografia do Lado do Servidor", + "Please read carefully before activating server-side encryption: " : "Por favor, leia com atenção antes de ativar a criptografia do lado do servidor:", + "Once encryption is enabled, all files uploaded to the server from that point forward will be encrypted at rest on the server. It will only be possible to disable encryption at a later date if the active encryption module supports that function, and all pre-conditions (e.g. setting a recover key) are met." : "Uma vez que a criptografia é ativada, todos os arquivos carregados para o servidor a partir desse ponto em diante serão criptografados e estarão disponíveis no servidor. Só será possível desativar a criptografia em uma data posterior, se o módulo de criptografia ativo suporta essa função, e todas as pré-condições sejam cumpridas(por exemplo, definindo uma chave de recuperação).", + "Encryption alone does not guarantee security of the system. Please see documentation for more information about how the encryption app works, and the supported use cases." : "Encriptação, por si só, não garante segurança do sistema. Por favor, veja a documentação para mais informações sobe como o aplicativo de encriptação funciona e os casos de uso suportados.", + "Be aware that encryption always increases the file size." : "Esteja ciente de que a criptografia sempre aumenta o tamanho do arquivo.", + "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "É sempre bom criar backups regulares dos seus dados, em caso de criptografia certifique-se de fazer backup das chaves de criptografia, juntamente com os seus dados.", + "This is the final warning: Do you really want to enable encryption?" : "Este é o aviso final: Você realmente quer ativar a criptografia?", + "Enable encryption" : "Ativar criptografia", + "No encryption module loaded, please enable an encryption module in the app menu." : "Nenhum módulo de criptografia carregado, por favor, ative um módulo de criptografia no menu de aplicativos.", + "Select default encryption module:" : "Selecione o módulo de criptografia padrão:", + "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please enable the \"Default encryption module\" and run 'occ encryption:migrate'" : "Você precisa migrar suas chaves de criptografia a partir da antiga criptografia (ownCloud <= 8,0) para a nova. Ative o \"módulo de criptografia padrão\" e execute 'occ encryption:migrate'", + "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Você precisa migrar suas chaves de criptografia a partir da antiga criptografia (ownCloud <= 8,0) para a nova.", + "Start migration" : "Iniciar migração", + "Everything (fatal issues, errors, warnings, info, debug)" : "Tudo (questões fatais, erros, avisos, informações, depuração)", + "Info, warnings, errors and fatal issues" : "Informações, avisos, erros e problemas fatais", + "Warnings, errors and fatal issues" : "Avisos, erros e problemas fatais", + "Errors and fatal issues" : "Erros e problemas fatais", + "Fatal issues only" : "Somente questões fatais", + "Log" : "Registro", + "What to log" : "O que colocar no log", + "Download logfile" : "Baixar o arquivo de log", + "More" : "Mais", + "Less" : "Menos", + "The logfile is bigger than 100 MB. Downloading it may take some time!" : "O arquivo de log é maior que 100 MB. Baixar esse arquivo requer algum tempo!", + "Security & setup warnings" : "Segurança & avisos de configuração", "php does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "O PHP não parecem esta configurado corretamente para consultar as variáveis de ambiente do sistema. O teste com getenv(\"PATH\") só retorna uma resposta vazia.", "Please check the installation documentation ↗ for php configuration notes and the php configuration of your server, especially when using php-fpm." : "Por favor verifique a documentação de instalação ↗ para notas configuração do PHP e a configuração do PHP do seu servidor, especialmente quando se utiliza php-fpm.", "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "A configuração Somente-Leitura foi habilitada. Isso impede que algumas configurações sejam definidas via a interface web. Além disso, o arquivo precisa ter permissão de escrita manual para cada atualização.", @@ -164,7 +191,15 @@ OC.L10N.register( "It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "Não foi possível executar o cron via CLI. Os seguintes erros técnicos têm aparecido:", "Please double check the installation guides ↗, and check for any errors or warnings in the log." : "Por favor, verifique o guias de instalação ↗, e verificar se há erros ou avisos no log.", "All checks passed." : "Todas as verificações passaram.", - "Open documentation" : "Abrir documentação", + "Cron" : "Cron", + "Last cron job execution: %s." : "Última execução do trabalho cron: %s.", + "Last cron job execution: %s. Something seems wrong." : "Última execução do trabalho cron: %s. Algo parece errado.", + "Cron was not executed yet!" : "Cron não foi executado ainda!", + "Execute one task with each page loaded" : "Execute uma tarefa com cada página carregada", + "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php está registrado no serviço webcron para chamar cron.php a cada 15 minutos sobre http.", + "Use system's cron service to call the cron.php file every 15 minutes." : "Usar o serviço cron do sistema para chamar o arquivo cron.php cada 15 minutos.", + "Version" : "Versão", + "Sharing" : "Compartilhamento", "Allow apps to use the Share API" : "Permitir que aplicativos usem a API de Compartilhamento", "Allow users to share via link" : "Permitir que os usuários compartilhem por link", "Allow public uploads" : "Permitir envio público", @@ -181,45 +216,7 @@ OC.L10N.register( "Exclude groups from sharing" : "Excluir grupos de compartilhamento", "These groups will still be able to receive shares, but not to initiate them." : "Esses grupos ainda serão capazes de receber compartilhamentos, mas não para iniciá-los.", "Allow username autocompletion in share dialog. If this is disabled the full username needs to be entered." : "Permitir autocompletar nome de usuário no diálogo de compartilhamento. Se isto estiver desativado o nome de usuário completo precisa ser inserido.", - "Last cron job execution: %s." : "Última execução do trabalho cron: %s.", - "Last cron job execution: %s. Something seems wrong." : "Última execução do trabalho cron: %s. Algo parece errado.", - "Cron was not executed yet!" : "Cron não foi executado ainda!", - "Execute one task with each page loaded" : "Execute uma tarefa com cada página carregada", - "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php está registrado no serviço webcron para chamar cron.php a cada 15 minutos sobre http.", - "Use system's cron service to call the cron.php file every 15 minutes." : "Usar o serviço cron do sistema para chamar o arquivo cron.php cada 15 minutos.", - "Enable server-side encryption" : "Habilitar a Criptografia do Lado do Servidor", - "Please read carefully before activating server-side encryption: " : "Por favor, leia com atenção antes de ativar a criptografia do lado do servidor:", - "Once encryption is enabled, all files uploaded to the server from that point forward will be encrypted at rest on the server. It will only be possible to disable encryption at a later date if the active encryption module supports that function, and all pre-conditions (e.g. setting a recover key) are met." : "Uma vez que a criptografia é ativada, todos os arquivos carregados para o servidor a partir desse ponto em diante serão criptografados e estarão disponíveis no servidor. Só será possível desativar a criptografia em uma data posterior, se o módulo de criptografia ativo suporta essa função, e todas as pré-condições sejam cumpridas(por exemplo, definindo uma chave de recuperação).", - "Encryption alone does not guarantee security of the system. Please see documentation for more information about how the encryption app works, and the supported use cases." : "Encriptação, por si só, não garante segurança do sistema. Por favor, veja a documentação para mais informações sobe como o aplicativo de encriptação funciona e os casos de uso suportados.", - "Be aware that encryption always increases the file size." : "Esteja ciente de que a criptografia sempre aumenta o tamanho do arquivo.", - "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "É sempre bom criar backups regulares dos seus dados, em caso de criptografia certifique-se de fazer backup das chaves de criptografia, juntamente com os seus dados.", - "This is the final warning: Do you really want to enable encryption?" : "Este é o aviso final: Você realmente quer ativar a criptografia?", - "Enable encryption" : "Ativar criptografia", - "No encryption module loaded, please enable an encryption module in the app menu." : "Nenhum módulo de criptografia carregado, por favor, ative um módulo de criptografia no menu de aplicativos.", - "Select default encryption module:" : "Selecione o módulo de criptografia padrão:", - "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please enable the \"Default encryption module\" and run 'occ encryption:migrate'" : "Você precisa migrar suas chaves de criptografia a partir da antiga criptografia (ownCloud <= 8,0) para a nova. Ative o \"módulo de criptografia padrão\" e execute 'occ encryption:migrate'", - "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Você precisa migrar suas chaves de criptografia a partir da antiga criptografia (ownCloud <= 8,0) para a nova.", - "Start migration" : "Iniciar migração", - "This is used for sending out notifications." : "Isto é usado para o envio de notificações.", - "Send mode" : "Modo enviar", - "Encryption" : "Criptografia", - "From address" : "Do Endereço", - "mail" : "email", - "Authentication method" : "Método de autenticação", - "Authentication required" : "Autenticação é requerida", - "Server address" : "Endereço do servidor", - "Port" : "Porta", - "Credentials" : "Credenciais", - "SMTP Username" : "Nome do Usuário SMTP", - "SMTP Password" : "Senha SMTP", - "Store credentials" : "Armazenar credenciais", - "Test email settings" : "Configurações de e-mail de teste", - "Send email" : "Enviar email", - "What to log" : "O que colocar no log", - "Download logfile" : "Baixar o arquivo de log", - "More" : "Mais", - "Less" : "Menos", - "The logfile is bigger than 100 MB. Downloading it may take some time!" : "O arquivo de log é maior que 100 MB. Baixar esse arquivo requer algum tempo!", + "Tips & tricks" : "Dicas & Truques", "SQLite is used as database. For larger installations we recommend to switch to a different database backend." : "SQLite é usada como base de dados. Para instalações maiores recomendamos mudar para um backend de banco de dados diferente.", "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "Especialmente quando se utiliza o cliente de desktop para sincronização de arquivos o uso de SQLite é desencorajado.", "To migrate to another database use the command line tool: 'occ db:convert-type', or see the documentation ↗." : "Para migrar para outro banco de dados usar a ferramenta de linha de comando: 'occ db:convert-type', ou consulte a documentação ↗.", @@ -229,7 +226,6 @@ OC.L10N.register( "Improving the config.php" : "Melhorando o config.php", "Theming" : "Elaborar um tema", "Hardening and security guidance" : "Orientações de proteção e segurança", - "Version" : "Versão", "Developer documentation" : "Documentação do desenvolvedor", "Experimental applications ahead" : "Aplicações experimentais à frente", "Experimental apps are not checked for security issues, new or known to be unstable and under heavy development. Installing them can cause data loss or security breaches." : "Aplicativos experimentais não são marcados por questões de segurança, por serem novos ou conhecidos como instáveis e sob forte desenvolvimento. Instalá-los pode causar perda de dados ou falhas de segurança.", @@ -285,6 +281,11 @@ OC.L10N.register( "Change password" : "Alterar senha", "Language" : "Idioma", "Help translate" : "Ajude a traduzir", + "Get the apps to sync your files" : "Obtenha apps para sincronizar seus arquivos", + "Desktop client" : "Cliente Desktop", + "Android app" : "App Android", + "iOS app" : "App iOS", + "Show First Run Wizard again" : "Mostrar Assistente de Primeira Execução novamente", "Web, desktop and mobile clients currently logged in to your account." : "Clientes Web, desktop e móvel estão conectados à sua conta.", "Device" : "Dispositivo", "Last activity" : "Última atividade", @@ -293,15 +294,14 @@ OC.L10N.register( "App name" : "Nome do aplicativo", "Create new app password" : "Criar uma nova senha do aplicativo", "Use the credentials below to configure your app or device." : "Use as credenciais abaixo para configurar seu aplicativo ou dispositivo.", + "For security reasons this password will only be shown once." : "Por motivo de segurança, esta senha só será exibida uma vez.", "Username" : "Nome de Usuário", "Done" : "Concluída", - "Get the apps to sync your files" : "Obtenha apps para sincronizar seus arquivos", - "Desktop client" : "Cliente Desktop", - "Android app" : "App Android", - "iOS app" : "App iOS", - "If you want to support the project\n\t\tjoin development\n\t\tor\n\t\tspread the word!" : "Se você deseja apoiar o projeto,\n\t\tjuntar-se ao desenvolvimento\n\t\tou\n\t\tcontar para todo mundo!", - "Show First Run Wizard again" : "Mostrar Assistente de Primeira Execução novamente", "Developed by the {communityopen}Nextcloud community{linkclose}, the {githubopen}source code{linkclose} is licensed under the {licenseopen}AGPL{linkclose}." : "Desenvolvido pela {communityopen}comunidade Nextcloud{linkclose}, o {githubopen}código-fonte{linkclose} é licenciado sob a {licenseopen}AGPL{linkclose}.", + "Follow us on Google Plus!" : "Siga-nos no Google Plus!", + "Like our facebook page!" : "Curta nossa página no Facebook!", + "Subscribe to our news feed!" : "Assine nosso feed de notícias!", + "Subscribe to our newsletter!" : "Inscreva-se para receber nosso boletim informativo!", "Show storage location" : "Mostrar localização de armazenamento", "Show last log in" : "Mostrar o último acesso", "Show user backend" : "Mostrar administrador do usuário", @@ -326,6 +326,10 @@ OC.L10N.register( "set new password" : "definir nova senha", "change email address" : "Trocar o endereço de email", "Default" : "Padrão", + "APCu" : "APCu", + "Redis" : "Redis", + "External Storage" : "Armazenamento externo", + "Updates" : "Atualizações", "no group" : "nenhum grupo", "add group" : "adicionar grupo", "Add Group" : "Adicionar grupo", @@ -334,6 +338,7 @@ OC.L10N.register( "Group Admin for" : "Grupo Admin para", "Storage Location" : "Local de Armazenamento", "User Backend" : "Administrador do Usuário", - "Last Login" : "Último Login" + "Last Login" : "Último Login", + "No apps found for \"{query}\"" : "Nenhum aplicativo encontrado para \"{query}\"" }, "nplurals=2; plural=(n > 1);"); diff --git a/settings/l10n/pt_BR.json b/settings/l10n/pt_BR.json index 29cfaf218bbcd..c844fc83a6c08 100644 --- a/settings/l10n/pt_BR.json +++ b/settings/l10n/pt_BR.json @@ -33,17 +33,6 @@ "Email saved" : "E-mail salvo", "Your full name has been changed." : "Seu nome completo foi alterado.", "Unable to change full name" : "Não é possível alterar o nome completo", - "APCu" : "APCu", - "Redis" : "Redis", - "Security & setup warnings" : "Segurança & avisos de configuração", - "Sharing" : "Compartilhamento", - "Server-side encryption" : "Criptografia do lado do servidor", - "External Storage" : "Armazenamento externo", - "Cron" : "Cron", - "Email server" : "Servidor de e-mail", - "Log" : "Registro", - "Tips & tricks" : "Dicas & Truques", - "Updates" : "Atualizações", "Couldn't remove app." : "Não foi possível remover aplicativos.", "Language changed" : "Idioma alterado", "Invalid request" : "Pedido inválido", @@ -135,17 +124,55 @@ "Sessions" : "Sessões", "App passwords" : "Senhas de aplicativos", "Sync clients" : "Clientes de Sincronização", - "Everything (fatal issues, errors, warnings, info, debug)" : "Tudo (questões fatais, erros, avisos, informações, depuração)", - "Info, warnings, errors and fatal issues" : "Informações, avisos, erros e problemas fatais", - "Warnings, errors and fatal issues" : "Avisos, erros e problemas fatais", - "Errors and fatal issues" : "Erros e problemas fatais", - "Fatal issues only" : "Somente questões fatais", "None" : "Nada", "Login" : "Login", "Plain" : "Plano", "NT LAN Manager" : "Gerenciador NT LAN", "SSL" : "SSL", "TLS" : "TLS", + "Email server" : "Servidor de e-mail", + "Open documentation" : "Abrir documentação", + "This is used for sending out notifications." : "Isto é usado para o envio de notificações.", + "Send mode" : "Modo enviar", + "Encryption" : "Criptografia", + "From address" : "Do Endereço", + "mail" : "email", + "Authentication method" : "Método de autenticação", + "Authentication required" : "Autenticação é requerida", + "Server address" : "Endereço do servidor", + "Port" : "Porta", + "Credentials" : "Credenciais", + "SMTP Username" : "Nome do Usuário SMTP", + "SMTP Password" : "Senha SMTP", + "Store credentials" : "Armazenar credenciais", + "Test email settings" : "Configurações de e-mail de teste", + "Send email" : "Enviar email", + "Server-side encryption" : "Criptografia do lado do servidor", + "Enable server-side encryption" : "Habilitar a Criptografia do Lado do Servidor", + "Please read carefully before activating server-side encryption: " : "Por favor, leia com atenção antes de ativar a criptografia do lado do servidor:", + "Once encryption is enabled, all files uploaded to the server from that point forward will be encrypted at rest on the server. It will only be possible to disable encryption at a later date if the active encryption module supports that function, and all pre-conditions (e.g. setting a recover key) are met." : "Uma vez que a criptografia é ativada, todos os arquivos carregados para o servidor a partir desse ponto em diante serão criptografados e estarão disponíveis no servidor. Só será possível desativar a criptografia em uma data posterior, se o módulo de criptografia ativo suporta essa função, e todas as pré-condições sejam cumpridas(por exemplo, definindo uma chave de recuperação).", + "Encryption alone does not guarantee security of the system. Please see documentation for more information about how the encryption app works, and the supported use cases." : "Encriptação, por si só, não garante segurança do sistema. Por favor, veja a documentação para mais informações sobe como o aplicativo de encriptação funciona e os casos de uso suportados.", + "Be aware that encryption always increases the file size." : "Esteja ciente de que a criptografia sempre aumenta o tamanho do arquivo.", + "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "É sempre bom criar backups regulares dos seus dados, em caso de criptografia certifique-se de fazer backup das chaves de criptografia, juntamente com os seus dados.", + "This is the final warning: Do you really want to enable encryption?" : "Este é o aviso final: Você realmente quer ativar a criptografia?", + "Enable encryption" : "Ativar criptografia", + "No encryption module loaded, please enable an encryption module in the app menu." : "Nenhum módulo de criptografia carregado, por favor, ative um módulo de criptografia no menu de aplicativos.", + "Select default encryption module:" : "Selecione o módulo de criptografia padrão:", + "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please enable the \"Default encryption module\" and run 'occ encryption:migrate'" : "Você precisa migrar suas chaves de criptografia a partir da antiga criptografia (ownCloud <= 8,0) para a nova. Ative o \"módulo de criptografia padrão\" e execute 'occ encryption:migrate'", + "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Você precisa migrar suas chaves de criptografia a partir da antiga criptografia (ownCloud <= 8,0) para a nova.", + "Start migration" : "Iniciar migração", + "Everything (fatal issues, errors, warnings, info, debug)" : "Tudo (questões fatais, erros, avisos, informações, depuração)", + "Info, warnings, errors and fatal issues" : "Informações, avisos, erros e problemas fatais", + "Warnings, errors and fatal issues" : "Avisos, erros e problemas fatais", + "Errors and fatal issues" : "Erros e problemas fatais", + "Fatal issues only" : "Somente questões fatais", + "Log" : "Registro", + "What to log" : "O que colocar no log", + "Download logfile" : "Baixar o arquivo de log", + "More" : "Mais", + "Less" : "Menos", + "The logfile is bigger than 100 MB. Downloading it may take some time!" : "O arquivo de log é maior que 100 MB. Baixar esse arquivo requer algum tempo!", + "Security & setup warnings" : "Segurança & avisos de configuração", "php does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "O PHP não parecem esta configurado corretamente para consultar as variáveis de ambiente do sistema. O teste com getenv(\"PATH\") só retorna uma resposta vazia.", "Please check the installation documentation ↗ for php configuration notes and the php configuration of your server, especially when using php-fpm." : "Por favor verifique a documentação de instalação ↗ para notas configuração do PHP e a configuração do PHP do seu servidor, especialmente quando se utiliza php-fpm.", "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "A configuração Somente-Leitura foi habilitada. Isso impede que algumas configurações sejam definidas via a interface web. Além disso, o arquivo precisa ter permissão de escrita manual para cada atualização.", @@ -162,7 +189,15 @@ "It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "Não foi possível executar o cron via CLI. Os seguintes erros técnicos têm aparecido:", "Please double check the installation guides ↗, and check for any errors or warnings in the log." : "Por favor, verifique o guias de instalação ↗, e verificar se há erros ou avisos no log.", "All checks passed." : "Todas as verificações passaram.", - "Open documentation" : "Abrir documentação", + "Cron" : "Cron", + "Last cron job execution: %s." : "Última execução do trabalho cron: %s.", + "Last cron job execution: %s. Something seems wrong." : "Última execução do trabalho cron: %s. Algo parece errado.", + "Cron was not executed yet!" : "Cron não foi executado ainda!", + "Execute one task with each page loaded" : "Execute uma tarefa com cada página carregada", + "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php está registrado no serviço webcron para chamar cron.php a cada 15 minutos sobre http.", + "Use system's cron service to call the cron.php file every 15 minutes." : "Usar o serviço cron do sistema para chamar o arquivo cron.php cada 15 minutos.", + "Version" : "Versão", + "Sharing" : "Compartilhamento", "Allow apps to use the Share API" : "Permitir que aplicativos usem a API de Compartilhamento", "Allow users to share via link" : "Permitir que os usuários compartilhem por link", "Allow public uploads" : "Permitir envio público", @@ -179,45 +214,7 @@ "Exclude groups from sharing" : "Excluir grupos de compartilhamento", "These groups will still be able to receive shares, but not to initiate them." : "Esses grupos ainda serão capazes de receber compartilhamentos, mas não para iniciá-los.", "Allow username autocompletion in share dialog. If this is disabled the full username needs to be entered." : "Permitir autocompletar nome de usuário no diálogo de compartilhamento. Se isto estiver desativado o nome de usuário completo precisa ser inserido.", - "Last cron job execution: %s." : "Última execução do trabalho cron: %s.", - "Last cron job execution: %s. Something seems wrong." : "Última execução do trabalho cron: %s. Algo parece errado.", - "Cron was not executed yet!" : "Cron não foi executado ainda!", - "Execute one task with each page loaded" : "Execute uma tarefa com cada página carregada", - "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php está registrado no serviço webcron para chamar cron.php a cada 15 minutos sobre http.", - "Use system's cron service to call the cron.php file every 15 minutes." : "Usar o serviço cron do sistema para chamar o arquivo cron.php cada 15 minutos.", - "Enable server-side encryption" : "Habilitar a Criptografia do Lado do Servidor", - "Please read carefully before activating server-side encryption: " : "Por favor, leia com atenção antes de ativar a criptografia do lado do servidor:", - "Once encryption is enabled, all files uploaded to the server from that point forward will be encrypted at rest on the server. It will only be possible to disable encryption at a later date if the active encryption module supports that function, and all pre-conditions (e.g. setting a recover key) are met." : "Uma vez que a criptografia é ativada, todos os arquivos carregados para o servidor a partir desse ponto em diante serão criptografados e estarão disponíveis no servidor. Só será possível desativar a criptografia em uma data posterior, se o módulo de criptografia ativo suporta essa função, e todas as pré-condições sejam cumpridas(por exemplo, definindo uma chave de recuperação).", - "Encryption alone does not guarantee security of the system. Please see documentation for more information about how the encryption app works, and the supported use cases." : "Encriptação, por si só, não garante segurança do sistema. Por favor, veja a documentação para mais informações sobe como o aplicativo de encriptação funciona e os casos de uso suportados.", - "Be aware that encryption always increases the file size." : "Esteja ciente de que a criptografia sempre aumenta o tamanho do arquivo.", - "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "É sempre bom criar backups regulares dos seus dados, em caso de criptografia certifique-se de fazer backup das chaves de criptografia, juntamente com os seus dados.", - "This is the final warning: Do you really want to enable encryption?" : "Este é o aviso final: Você realmente quer ativar a criptografia?", - "Enable encryption" : "Ativar criptografia", - "No encryption module loaded, please enable an encryption module in the app menu." : "Nenhum módulo de criptografia carregado, por favor, ative um módulo de criptografia no menu de aplicativos.", - "Select default encryption module:" : "Selecione o módulo de criptografia padrão:", - "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please enable the \"Default encryption module\" and run 'occ encryption:migrate'" : "Você precisa migrar suas chaves de criptografia a partir da antiga criptografia (ownCloud <= 8,0) para a nova. Ative o \"módulo de criptografia padrão\" e execute 'occ encryption:migrate'", - "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Você precisa migrar suas chaves de criptografia a partir da antiga criptografia (ownCloud <= 8,0) para a nova.", - "Start migration" : "Iniciar migração", - "This is used for sending out notifications." : "Isto é usado para o envio de notificações.", - "Send mode" : "Modo enviar", - "Encryption" : "Criptografia", - "From address" : "Do Endereço", - "mail" : "email", - "Authentication method" : "Método de autenticação", - "Authentication required" : "Autenticação é requerida", - "Server address" : "Endereço do servidor", - "Port" : "Porta", - "Credentials" : "Credenciais", - "SMTP Username" : "Nome do Usuário SMTP", - "SMTP Password" : "Senha SMTP", - "Store credentials" : "Armazenar credenciais", - "Test email settings" : "Configurações de e-mail de teste", - "Send email" : "Enviar email", - "What to log" : "O que colocar no log", - "Download logfile" : "Baixar o arquivo de log", - "More" : "Mais", - "Less" : "Menos", - "The logfile is bigger than 100 MB. Downloading it may take some time!" : "O arquivo de log é maior que 100 MB. Baixar esse arquivo requer algum tempo!", + "Tips & tricks" : "Dicas & Truques", "SQLite is used as database. For larger installations we recommend to switch to a different database backend." : "SQLite é usada como base de dados. Para instalações maiores recomendamos mudar para um backend de banco de dados diferente.", "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "Especialmente quando se utiliza o cliente de desktop para sincronização de arquivos o uso de SQLite é desencorajado.", "To migrate to another database use the command line tool: 'occ db:convert-type', or see the documentation ↗." : "Para migrar para outro banco de dados usar a ferramenta de linha de comando: 'occ db:convert-type', ou consulte a documentação ↗.", @@ -227,7 +224,6 @@ "Improving the config.php" : "Melhorando o config.php", "Theming" : "Elaborar um tema", "Hardening and security guidance" : "Orientações de proteção e segurança", - "Version" : "Versão", "Developer documentation" : "Documentação do desenvolvedor", "Experimental applications ahead" : "Aplicações experimentais à frente", "Experimental apps are not checked for security issues, new or known to be unstable and under heavy development. Installing them can cause data loss or security breaches." : "Aplicativos experimentais não são marcados por questões de segurança, por serem novos ou conhecidos como instáveis e sob forte desenvolvimento. Instalá-los pode causar perda de dados ou falhas de segurança.", @@ -283,6 +279,11 @@ "Change password" : "Alterar senha", "Language" : "Idioma", "Help translate" : "Ajude a traduzir", + "Get the apps to sync your files" : "Obtenha apps para sincronizar seus arquivos", + "Desktop client" : "Cliente Desktop", + "Android app" : "App Android", + "iOS app" : "App iOS", + "Show First Run Wizard again" : "Mostrar Assistente de Primeira Execução novamente", "Web, desktop and mobile clients currently logged in to your account." : "Clientes Web, desktop e móvel estão conectados à sua conta.", "Device" : "Dispositivo", "Last activity" : "Última atividade", @@ -291,15 +292,14 @@ "App name" : "Nome do aplicativo", "Create new app password" : "Criar uma nova senha do aplicativo", "Use the credentials below to configure your app or device." : "Use as credenciais abaixo para configurar seu aplicativo ou dispositivo.", + "For security reasons this password will only be shown once." : "Por motivo de segurança, esta senha só será exibida uma vez.", "Username" : "Nome de Usuário", "Done" : "Concluída", - "Get the apps to sync your files" : "Obtenha apps para sincronizar seus arquivos", - "Desktop client" : "Cliente Desktop", - "Android app" : "App Android", - "iOS app" : "App iOS", - "If you want to support the project\n\t\tjoin development\n\t\tor\n\t\tspread the word!" : "Se você deseja apoiar o projeto,\n\t\tjuntar-se ao desenvolvimento\n\t\tou\n\t\tcontar para todo mundo!", - "Show First Run Wizard again" : "Mostrar Assistente de Primeira Execução novamente", "Developed by the {communityopen}Nextcloud community{linkclose}, the {githubopen}source code{linkclose} is licensed under the {licenseopen}AGPL{linkclose}." : "Desenvolvido pela {communityopen}comunidade Nextcloud{linkclose}, o {githubopen}código-fonte{linkclose} é licenciado sob a {licenseopen}AGPL{linkclose}.", + "Follow us on Google Plus!" : "Siga-nos no Google Plus!", + "Like our facebook page!" : "Curta nossa página no Facebook!", + "Subscribe to our news feed!" : "Assine nosso feed de notícias!", + "Subscribe to our newsletter!" : "Inscreva-se para receber nosso boletim informativo!", "Show storage location" : "Mostrar localização de armazenamento", "Show last log in" : "Mostrar o último acesso", "Show user backend" : "Mostrar administrador do usuário", @@ -324,6 +324,10 @@ "set new password" : "definir nova senha", "change email address" : "Trocar o endereço de email", "Default" : "Padrão", + "APCu" : "APCu", + "Redis" : "Redis", + "External Storage" : "Armazenamento externo", + "Updates" : "Atualizações", "no group" : "nenhum grupo", "add group" : "adicionar grupo", "Add Group" : "Adicionar grupo", @@ -332,6 +336,7 @@ "Group Admin for" : "Grupo Admin para", "Storage Location" : "Local de Armazenamento", "User Backend" : "Administrador do Usuário", - "Last Login" : "Último Login" + "Last Login" : "Último Login", + "No apps found for \"{query}\"" : "Nenhum aplicativo encontrado para \"{query}\"" },"pluralForm" :"nplurals=2; plural=(n > 1);" } \ No newline at end of file diff --git a/settings/l10n/pt_PT.js b/settings/l10n/pt_PT.js index 9d43008236561..8f244119a04c3 100644 --- a/settings/l10n/pt_PT.js +++ b/settings/l10n/pt_PT.js @@ -35,17 +35,6 @@ OC.L10N.register( "Email saved" : "E-mail guardado", "Your full name has been changed." : "O seu nome completo foi alterado.", "Unable to change full name" : "Não foi possível alterar o seu nome completo", - "APCu" : "APCu", - "Redis" : "Redis", - "Security & setup warnings" : "Avisos de configuração e segurança", - "Sharing" : "Partilha", - "Server-side encryption" : "Atualizar App", - "External Storage" : "Armazenamento Externo", - "Cron" : "Cron", - "Email server" : "Servidor de Correio Eletrónico", - "Log" : "Registo", - "Tips & tricks" : "Dicas e truques", - "Updates" : "Atualizações", "Couldn't remove app." : "Não foi possível remover a aplicação.", "Language changed" : "Idioma alterado", "Invalid request" : "Pedido Inválido", @@ -117,17 +106,54 @@ OC.L10N.register( "Personal info" : "Informação pessoal", "Sessions" : "Sessões", "Sync clients" : "Clientes de sync", - "Everything (fatal issues, errors, warnings, info, debug)" : "Tudo (problemas fatais, erros, avisos, informação, depuração)", - "Info, warnings, errors and fatal issues" : "Informação, avisos, erros e problemas fatais", - "Warnings, errors and fatal issues" : "Avisos, erros e problemas fatais", - "Errors and fatal issues" : "Erros e problemas fatais", - "Fatal issues only" : "Apenas problemas fatais", "None" : "Nenhum", "Login" : "Iniciar Sessão", "Plain" : "Plano", "NT LAN Manager" : "Gestor de REDE NT", "SSL" : "SSL", "TLS" : "TLS", + "Email server" : "Servidor de Correio Eletrónico", + "Open documentation" : "Abrir documentação", + "This is used for sending out notifications." : "Isto é utilizado para enviar notificações", + "Send mode" : "Modo de Envio", + "Encryption" : "Encriptação", + "From address" : "Do endereço", + "mail" : "Correio", + "Authentication method" : "Método de Autenticação", + "Authentication required" : "Autenticação necessária", + "Server address" : "Endereço do Servidor", + "Port" : "Porta", + "Credentials" : "Credenciais", + "SMTP Username" : "Nome de utilizador SMTP", + "SMTP Password" : "Palavra-passe SMTP", + "Store credentials" : "Armazenar credenciais", + "Test email settings" : "Testar definições de e-mail", + "Send email" : "Enviar email", + "Server-side encryption" : "Atualizar App", + "Enable server-side encryption" : "Ativar encriptação do lado do servidor", + "Please read carefully before activating server-side encryption: " : "Por favor, leia cuidadosamente antes de ativar a encriptação do lado do servidor:", + "Once encryption is enabled, all files uploaded to the server from that point forward will be encrypted at rest on the server. It will only be possible to disable encryption at a later date if the active encryption module supports that function, and all pre-conditions (e.g. setting a recover key) are met." : "Uma vez ativada a encriptação, todos os ficheiros carregados para o servidor a partir deste ponto serão encriptados pelo servidor. Só será possível desativar a encriptação numa data mais tarde se o módulo de encriptação ativo suportar essa função, assim como todas as pré-condições (e.g. definir chave de recuperação) sejam cumpridas.", + "Be aware that encryption always increases the file size." : "Tenha em conta que a encriptação aumenta sempre o tamanho do ficheiro.", + "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "É sempre bom criar cópias de segurança regulares dos seus dados, em caso de encriptação tenha a certeza de que faz cópia das chaves de encriptação em conjunto com os seus dados.", + "This is the final warning: Do you really want to enable encryption?" : "Este é o aviso final: quer mesmo ativar a encriptação?", + "Enable encryption" : "Ative a encriptação", + "No encryption module loaded, please enable an encryption module in the app menu." : "Nenhum módulo de encriptação carregador, por favor ative um módulo de encriptação no menu das aplicações.", + "Select default encryption module:" : "Selecionar o módulo de encriptação predefinido:", + "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please enable the \"Default encryption module\" and run 'occ encryption:migrate'" : "Precisa de migrar as suas chaves de encriptação da encriptação antiga (ownCloud <= 8.0) para a nova. Por favor, ative o \"Módulo de encriptação padrão\" e execute 'occ encryption:migrate'", + "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Precisa de migrar as suas chaves de encriptação da encriptação antiga (ownCloud <= 8.0) para a nova.", + "Start migration" : "Iniciar migração", + "Everything (fatal issues, errors, warnings, info, debug)" : "Tudo (problemas fatais, erros, avisos, informação, depuração)", + "Info, warnings, errors and fatal issues" : "Informação, avisos, erros e problemas fatais", + "Warnings, errors and fatal issues" : "Avisos, erros e problemas fatais", + "Errors and fatal issues" : "Erros e problemas fatais", + "Fatal issues only" : "Apenas problemas fatais", + "Log" : "Registo", + "What to log" : "Fazer log do quê?", + "Download logfile" : "Descarregar logfile", + "More" : "Mais", + "Less" : "Menos", + "The logfile is bigger than 100 MB. Downloading it may take some time!" : "O logfile é maior que 100MB. O download do mesmo poderá demorar algum tempo!", + "Security & setup warnings" : "Avisos de configuração e segurança", "php does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "php não parece estar bem instalado para consultar variáveis de ambiente do sistema. O teste com getenv(\"PATH\") apenas devolveu uma resposta em branco.", "Please check the installation documentation ↗ for php configuration notes and the php configuration of your server, especially when using php-fpm." : "Por favor, verifique a documentação de instalação ↗ para notas de configuração do php e configuração php do seu servidor, especialmente quando utiliza php-fpm.", "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "A configuração Só-de-Leitura foi ativada. Isto evita definir algumas configurações através da interface da Web. Além disso, o ficheiro precisa de ser definido gravável manualmente para cada atualização.", @@ -143,7 +169,15 @@ OC.L10N.register( "It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "Não foi possível executar o cronjob via CLI. Os seguintes erros técnicos apareceram:", "Please double check the installation guides ↗, and check for any errors or warnings in the log." : "Por favor, verifique os guias de instalação ↗, e verifique se existe algum erro ou aviso no log.", "All checks passed." : "Todas as verificações passaram.", - "Open documentation" : "Abrir documentação", + "Cron" : "Cron", + "Last cron job execution: %s." : "Última execução de cron job: %s.", + "Last cron job execution: %s. Something seems wrong." : "Última execução de cron job: %s. Algo está errado.", + "Cron was not executed yet!" : "Cron ainda não foi executado!", + "Execute one task with each page loaded" : "Executar uma tarefa com cada página carregada", + "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php está registado num serviço webcron para chamar a página cron.php por http a cada 15 minutos.", + "Use system's cron service to call the cron.php file every 15 minutes." : "Usar o serviço sistema cron para ligar o ficheiro cron.php a cada 15 minutos.", + "Version" : "Versão", + "Sharing" : "Partilha", "Allow apps to use the Share API" : "Permitir que os utilizadores usem a API de partilha", "Allow users to share via link" : "Permitir que os utilizadores partilhem através do link", "Allow public uploads" : "Permitir Envios Públicos", @@ -160,44 +194,7 @@ OC.L10N.register( "Exclude groups from sharing" : "Excluir grupos das partilhas", "These groups will still be able to receive shares, but not to initiate them." : "Estes grupos poderão receber partilhas, mas não poderão iniciá-las.", "Allow username autocompletion in share dialog. If this is disabled the full username needs to be entered." : "Permitir o auto-completar de nome de utilizador no diálogo da partilha. Se isto for desativado, será necessário preencher o nome de utilizador completo.", - "Last cron job execution: %s." : "Última execução de cron job: %s.", - "Last cron job execution: %s. Something seems wrong." : "Última execução de cron job: %s. Algo está errado.", - "Cron was not executed yet!" : "Cron ainda não foi executado!", - "Execute one task with each page loaded" : "Executar uma tarefa com cada página carregada", - "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php está registado num serviço webcron para chamar a página cron.php por http a cada 15 minutos.", - "Use system's cron service to call the cron.php file every 15 minutes." : "Usar o serviço sistema cron para ligar o ficheiro cron.php a cada 15 minutos.", - "Enable server-side encryption" : "Ativar encriptação do lado do servidor", - "Please read carefully before activating server-side encryption: " : "Por favor, leia cuidadosamente antes de ativar a encriptação do lado do servidor:", - "Once encryption is enabled, all files uploaded to the server from that point forward will be encrypted at rest on the server. It will only be possible to disable encryption at a later date if the active encryption module supports that function, and all pre-conditions (e.g. setting a recover key) are met." : "Uma vez ativada a encriptação, todos os ficheiros carregados para o servidor a partir deste ponto serão encriptados pelo servidor. Só será possível desativar a encriptação numa data mais tarde se o módulo de encriptação ativo suportar essa função, assim como todas as pré-condições (e.g. definir chave de recuperação) sejam cumpridas.", - "Be aware that encryption always increases the file size." : "Tenha em conta que a encriptação aumenta sempre o tamanho do ficheiro.", - "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "É sempre bom criar cópias de segurança regulares dos seus dados, em caso de encriptação tenha a certeza de que faz cópia das chaves de encriptação em conjunto com os seus dados.", - "This is the final warning: Do you really want to enable encryption?" : "Este é o aviso final: quer mesmo ativar a encriptação?", - "Enable encryption" : "Ative a encriptação", - "No encryption module loaded, please enable an encryption module in the app menu." : "Nenhum módulo de encriptação carregador, por favor ative um módulo de encriptação no menu das aplicações.", - "Select default encryption module:" : "Selecionar o módulo de encriptação predefinido:", - "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please enable the \"Default encryption module\" and run 'occ encryption:migrate'" : "Precisa de migrar as suas chaves de encriptação da encriptação antiga (ownCloud <= 8.0) para a nova. Por favor, ative o \"Módulo de encriptação padrão\" e execute 'occ encryption:migrate'", - "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Precisa de migrar as suas chaves de encriptação da encriptação antiga (ownCloud <= 8.0) para a nova.", - "Start migration" : "Iniciar migração", - "This is used for sending out notifications." : "Isto é utilizado para enviar notificações", - "Send mode" : "Modo de Envio", - "Encryption" : "Encriptação", - "From address" : "Do endereço", - "mail" : "Correio", - "Authentication method" : "Método de Autenticação", - "Authentication required" : "Autenticação necessária", - "Server address" : "Endereço do Servidor", - "Port" : "Porta", - "Credentials" : "Credenciais", - "SMTP Username" : "Nome de utilizador SMTP", - "SMTP Password" : "Palavra-passe SMTP", - "Store credentials" : "Armazenar credenciais", - "Test email settings" : "Testar definições de e-mail", - "Send email" : "Enviar email", - "What to log" : "Fazer log do quê?", - "Download logfile" : "Descarregar logfile", - "More" : "Mais", - "Less" : "Menos", - "The logfile is bigger than 100 MB. Downloading it may take some time!" : "O logfile é maior que 100MB. O download do mesmo poderá demorar algum tempo!", + "Tips & tricks" : "Dicas e truques", "SQLite is used as database. For larger installations we recommend to switch to a different database backend." : "SQLite é utilizado como uma base de dados. Para instalações maiores nós recomendamos que mude para uma interface de base de dados diferente.", "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "O uso de SQLite é desencorajado especialmente se estiver a pensar em dar uso ao cliente desktop para sincronizar os seus ficheiros no seu computador.", "To migrate to another database use the command line tool: 'occ db:convert-type', or see the documentation ↗." : "Para migrar para outro tipo de base de dados, use a ferramenta de comando de linha: 'occ db:convert-type', ou veja a documentação↗.", @@ -207,7 +204,6 @@ OC.L10N.register( "Improving the config.php" : "Melhorar o config.php", "Theming" : "Temas", "Hardening and security guidance" : "Orientações de proteção e segurança", - "Version" : "Versão", "Developer documentation" : "Documentação de Programador", "Experimental applications ahead" : "Aplicações experimentais de futuro", "Experimental apps are not checked for security issues, new or known to be unstable and under heavy development. Installing them can cause data loss or security breaches." : "As apps experimentais não estão selecionadas para problemas de segurança, nova ou conhecida como instável e em forte desenvolvimento. Ao instalá-las pode causar a perda de dados ou quebra de segurança.", @@ -260,14 +256,14 @@ OC.L10N.register( "Change password" : "Alterar palavra-passe", "Language" : "Idioma", "Help translate" : "Ajude a traduzir", - "Name" : "Nome", - "Username" : "Nome de utilizador", - "Done" : "Concluído", "Get the apps to sync your files" : "Obtenha as aplicações para sincronizar os seus ficheiros", "Desktop client" : "Cliente Desktop", "Android app" : "Aplicação Android", "iOS app" : "Aplicação iOS", "Show First Run Wizard again" : "Mostrar novamente Wizard de Arranque Inicial", + "Name" : "Nome", + "Username" : "Nome de utilizador", + "Done" : "Concluído", "Show storage location" : "Mostrar a localização do armazenamento", "Show last log in" : "Mostrar ultimo acesso de entrada", "Show user backend" : "Mostrar interface do utilizador", @@ -286,6 +282,10 @@ OC.L10N.register( "change full name" : "alterar nome completo", "set new password" : "definir nova palavra-passe", "change email address" : "alterar endereço do correio eletrónico", - "Default" : "Padrão" + "Default" : "Padrão", + "APCu" : "APCu", + "Redis" : "Redis", + "External Storage" : "Armazenamento Externo", + "Updates" : "Atualizações" }, "nplurals=2; plural=(n != 1);"); diff --git a/settings/l10n/pt_PT.json b/settings/l10n/pt_PT.json index 7a0acaf80da22..f8df4d9493c0e 100644 --- a/settings/l10n/pt_PT.json +++ b/settings/l10n/pt_PT.json @@ -33,17 +33,6 @@ "Email saved" : "E-mail guardado", "Your full name has been changed." : "O seu nome completo foi alterado.", "Unable to change full name" : "Não foi possível alterar o seu nome completo", - "APCu" : "APCu", - "Redis" : "Redis", - "Security & setup warnings" : "Avisos de configuração e segurança", - "Sharing" : "Partilha", - "Server-side encryption" : "Atualizar App", - "External Storage" : "Armazenamento Externo", - "Cron" : "Cron", - "Email server" : "Servidor de Correio Eletrónico", - "Log" : "Registo", - "Tips & tricks" : "Dicas e truques", - "Updates" : "Atualizações", "Couldn't remove app." : "Não foi possível remover a aplicação.", "Language changed" : "Idioma alterado", "Invalid request" : "Pedido Inválido", @@ -115,17 +104,54 @@ "Personal info" : "Informação pessoal", "Sessions" : "Sessões", "Sync clients" : "Clientes de sync", - "Everything (fatal issues, errors, warnings, info, debug)" : "Tudo (problemas fatais, erros, avisos, informação, depuração)", - "Info, warnings, errors and fatal issues" : "Informação, avisos, erros e problemas fatais", - "Warnings, errors and fatal issues" : "Avisos, erros e problemas fatais", - "Errors and fatal issues" : "Erros e problemas fatais", - "Fatal issues only" : "Apenas problemas fatais", "None" : "Nenhum", "Login" : "Iniciar Sessão", "Plain" : "Plano", "NT LAN Manager" : "Gestor de REDE NT", "SSL" : "SSL", "TLS" : "TLS", + "Email server" : "Servidor de Correio Eletrónico", + "Open documentation" : "Abrir documentação", + "This is used for sending out notifications." : "Isto é utilizado para enviar notificações", + "Send mode" : "Modo de Envio", + "Encryption" : "Encriptação", + "From address" : "Do endereço", + "mail" : "Correio", + "Authentication method" : "Método de Autenticação", + "Authentication required" : "Autenticação necessária", + "Server address" : "Endereço do Servidor", + "Port" : "Porta", + "Credentials" : "Credenciais", + "SMTP Username" : "Nome de utilizador SMTP", + "SMTP Password" : "Palavra-passe SMTP", + "Store credentials" : "Armazenar credenciais", + "Test email settings" : "Testar definições de e-mail", + "Send email" : "Enviar email", + "Server-side encryption" : "Atualizar App", + "Enable server-side encryption" : "Ativar encriptação do lado do servidor", + "Please read carefully before activating server-side encryption: " : "Por favor, leia cuidadosamente antes de ativar a encriptação do lado do servidor:", + "Once encryption is enabled, all files uploaded to the server from that point forward will be encrypted at rest on the server. It will only be possible to disable encryption at a later date if the active encryption module supports that function, and all pre-conditions (e.g. setting a recover key) are met." : "Uma vez ativada a encriptação, todos os ficheiros carregados para o servidor a partir deste ponto serão encriptados pelo servidor. Só será possível desativar a encriptação numa data mais tarde se o módulo de encriptação ativo suportar essa função, assim como todas as pré-condições (e.g. definir chave de recuperação) sejam cumpridas.", + "Be aware that encryption always increases the file size." : "Tenha em conta que a encriptação aumenta sempre o tamanho do ficheiro.", + "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "É sempre bom criar cópias de segurança regulares dos seus dados, em caso de encriptação tenha a certeza de que faz cópia das chaves de encriptação em conjunto com os seus dados.", + "This is the final warning: Do you really want to enable encryption?" : "Este é o aviso final: quer mesmo ativar a encriptação?", + "Enable encryption" : "Ative a encriptação", + "No encryption module loaded, please enable an encryption module in the app menu." : "Nenhum módulo de encriptação carregador, por favor ative um módulo de encriptação no menu das aplicações.", + "Select default encryption module:" : "Selecionar o módulo de encriptação predefinido:", + "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please enable the \"Default encryption module\" and run 'occ encryption:migrate'" : "Precisa de migrar as suas chaves de encriptação da encriptação antiga (ownCloud <= 8.0) para a nova. Por favor, ative o \"Módulo de encriptação padrão\" e execute 'occ encryption:migrate'", + "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Precisa de migrar as suas chaves de encriptação da encriptação antiga (ownCloud <= 8.0) para a nova.", + "Start migration" : "Iniciar migração", + "Everything (fatal issues, errors, warnings, info, debug)" : "Tudo (problemas fatais, erros, avisos, informação, depuração)", + "Info, warnings, errors and fatal issues" : "Informação, avisos, erros e problemas fatais", + "Warnings, errors and fatal issues" : "Avisos, erros e problemas fatais", + "Errors and fatal issues" : "Erros e problemas fatais", + "Fatal issues only" : "Apenas problemas fatais", + "Log" : "Registo", + "What to log" : "Fazer log do quê?", + "Download logfile" : "Descarregar logfile", + "More" : "Mais", + "Less" : "Menos", + "The logfile is bigger than 100 MB. Downloading it may take some time!" : "O logfile é maior que 100MB. O download do mesmo poderá demorar algum tempo!", + "Security & setup warnings" : "Avisos de configuração e segurança", "php does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "php não parece estar bem instalado para consultar variáveis de ambiente do sistema. O teste com getenv(\"PATH\") apenas devolveu uma resposta em branco.", "Please check the installation documentation ↗ for php configuration notes and the php configuration of your server, especially when using php-fpm." : "Por favor, verifique a documentação de instalação ↗ para notas de configuração do php e configuração php do seu servidor, especialmente quando utiliza php-fpm.", "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "A configuração Só-de-Leitura foi ativada. Isto evita definir algumas configurações através da interface da Web. Além disso, o ficheiro precisa de ser definido gravável manualmente para cada atualização.", @@ -141,7 +167,15 @@ "It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "Não foi possível executar o cronjob via CLI. Os seguintes erros técnicos apareceram:", "Please double check the installation guides ↗, and check for any errors or warnings in the log." : "Por favor, verifique os guias de instalação ↗, e verifique se existe algum erro ou aviso no log.", "All checks passed." : "Todas as verificações passaram.", - "Open documentation" : "Abrir documentação", + "Cron" : "Cron", + "Last cron job execution: %s." : "Última execução de cron job: %s.", + "Last cron job execution: %s. Something seems wrong." : "Última execução de cron job: %s. Algo está errado.", + "Cron was not executed yet!" : "Cron ainda não foi executado!", + "Execute one task with each page loaded" : "Executar uma tarefa com cada página carregada", + "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php está registado num serviço webcron para chamar a página cron.php por http a cada 15 minutos.", + "Use system's cron service to call the cron.php file every 15 minutes." : "Usar o serviço sistema cron para ligar o ficheiro cron.php a cada 15 minutos.", + "Version" : "Versão", + "Sharing" : "Partilha", "Allow apps to use the Share API" : "Permitir que os utilizadores usem a API de partilha", "Allow users to share via link" : "Permitir que os utilizadores partilhem através do link", "Allow public uploads" : "Permitir Envios Públicos", @@ -158,44 +192,7 @@ "Exclude groups from sharing" : "Excluir grupos das partilhas", "These groups will still be able to receive shares, but not to initiate them." : "Estes grupos poderão receber partilhas, mas não poderão iniciá-las.", "Allow username autocompletion in share dialog. If this is disabled the full username needs to be entered." : "Permitir o auto-completar de nome de utilizador no diálogo da partilha. Se isto for desativado, será necessário preencher o nome de utilizador completo.", - "Last cron job execution: %s." : "Última execução de cron job: %s.", - "Last cron job execution: %s. Something seems wrong." : "Última execução de cron job: %s. Algo está errado.", - "Cron was not executed yet!" : "Cron ainda não foi executado!", - "Execute one task with each page loaded" : "Executar uma tarefa com cada página carregada", - "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php está registado num serviço webcron para chamar a página cron.php por http a cada 15 minutos.", - "Use system's cron service to call the cron.php file every 15 minutes." : "Usar o serviço sistema cron para ligar o ficheiro cron.php a cada 15 minutos.", - "Enable server-side encryption" : "Ativar encriptação do lado do servidor", - "Please read carefully before activating server-side encryption: " : "Por favor, leia cuidadosamente antes de ativar a encriptação do lado do servidor:", - "Once encryption is enabled, all files uploaded to the server from that point forward will be encrypted at rest on the server. It will only be possible to disable encryption at a later date if the active encryption module supports that function, and all pre-conditions (e.g. setting a recover key) are met." : "Uma vez ativada a encriptação, todos os ficheiros carregados para o servidor a partir deste ponto serão encriptados pelo servidor. Só será possível desativar a encriptação numa data mais tarde se o módulo de encriptação ativo suportar essa função, assim como todas as pré-condições (e.g. definir chave de recuperação) sejam cumpridas.", - "Be aware that encryption always increases the file size." : "Tenha em conta que a encriptação aumenta sempre o tamanho do ficheiro.", - "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "É sempre bom criar cópias de segurança regulares dos seus dados, em caso de encriptação tenha a certeza de que faz cópia das chaves de encriptação em conjunto com os seus dados.", - "This is the final warning: Do you really want to enable encryption?" : "Este é o aviso final: quer mesmo ativar a encriptação?", - "Enable encryption" : "Ative a encriptação", - "No encryption module loaded, please enable an encryption module in the app menu." : "Nenhum módulo de encriptação carregador, por favor ative um módulo de encriptação no menu das aplicações.", - "Select default encryption module:" : "Selecionar o módulo de encriptação predefinido:", - "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please enable the \"Default encryption module\" and run 'occ encryption:migrate'" : "Precisa de migrar as suas chaves de encriptação da encriptação antiga (ownCloud <= 8.0) para a nova. Por favor, ative o \"Módulo de encriptação padrão\" e execute 'occ encryption:migrate'", - "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Precisa de migrar as suas chaves de encriptação da encriptação antiga (ownCloud <= 8.0) para a nova.", - "Start migration" : "Iniciar migração", - "This is used for sending out notifications." : "Isto é utilizado para enviar notificações", - "Send mode" : "Modo de Envio", - "Encryption" : "Encriptação", - "From address" : "Do endereço", - "mail" : "Correio", - "Authentication method" : "Método de Autenticação", - "Authentication required" : "Autenticação necessária", - "Server address" : "Endereço do Servidor", - "Port" : "Porta", - "Credentials" : "Credenciais", - "SMTP Username" : "Nome de utilizador SMTP", - "SMTP Password" : "Palavra-passe SMTP", - "Store credentials" : "Armazenar credenciais", - "Test email settings" : "Testar definições de e-mail", - "Send email" : "Enviar email", - "What to log" : "Fazer log do quê?", - "Download logfile" : "Descarregar logfile", - "More" : "Mais", - "Less" : "Menos", - "The logfile is bigger than 100 MB. Downloading it may take some time!" : "O logfile é maior que 100MB. O download do mesmo poderá demorar algum tempo!", + "Tips & tricks" : "Dicas e truques", "SQLite is used as database. For larger installations we recommend to switch to a different database backend." : "SQLite é utilizado como uma base de dados. Para instalações maiores nós recomendamos que mude para uma interface de base de dados diferente.", "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "O uso de SQLite é desencorajado especialmente se estiver a pensar em dar uso ao cliente desktop para sincronizar os seus ficheiros no seu computador.", "To migrate to another database use the command line tool: 'occ db:convert-type', or see the documentation ↗." : "Para migrar para outro tipo de base de dados, use a ferramenta de comando de linha: 'occ db:convert-type', ou veja a documentação↗.", @@ -205,7 +202,6 @@ "Improving the config.php" : "Melhorar o config.php", "Theming" : "Temas", "Hardening and security guidance" : "Orientações de proteção e segurança", - "Version" : "Versão", "Developer documentation" : "Documentação de Programador", "Experimental applications ahead" : "Aplicações experimentais de futuro", "Experimental apps are not checked for security issues, new or known to be unstable and under heavy development. Installing them can cause data loss or security breaches." : "As apps experimentais não estão selecionadas para problemas de segurança, nova ou conhecida como instável e em forte desenvolvimento. Ao instalá-las pode causar a perda de dados ou quebra de segurança.", @@ -258,14 +254,14 @@ "Change password" : "Alterar palavra-passe", "Language" : "Idioma", "Help translate" : "Ajude a traduzir", - "Name" : "Nome", - "Username" : "Nome de utilizador", - "Done" : "Concluído", "Get the apps to sync your files" : "Obtenha as aplicações para sincronizar os seus ficheiros", "Desktop client" : "Cliente Desktop", "Android app" : "Aplicação Android", "iOS app" : "Aplicação iOS", "Show First Run Wizard again" : "Mostrar novamente Wizard de Arranque Inicial", + "Name" : "Nome", + "Username" : "Nome de utilizador", + "Done" : "Concluído", "Show storage location" : "Mostrar a localização do armazenamento", "Show last log in" : "Mostrar ultimo acesso de entrada", "Show user backend" : "Mostrar interface do utilizador", @@ -284,6 +280,10 @@ "change full name" : "alterar nome completo", "set new password" : "definir nova palavra-passe", "change email address" : "alterar endereço do correio eletrónico", - "Default" : "Padrão" + "Default" : "Padrão", + "APCu" : "APCu", + "Redis" : "Redis", + "External Storage" : "Armazenamento Externo", + "Updates" : "Atualizações" },"pluralForm" :"nplurals=2; plural=(n != 1);" } \ No newline at end of file diff --git a/settings/l10n/ru.js b/settings/l10n/ru.js index eda968ee584c5..9846f2b6644c7 100644 --- a/settings/l10n/ru.js +++ b/settings/l10n/ru.js @@ -35,17 +35,6 @@ OC.L10N.register( "Email saved" : "Адрес сохранен", "Your full name has been changed." : "Ваше полное имя было изменено.", "Unable to change full name" : "Невозможно изменить полное имя", - "APCu" : "APCu", - "Redis" : "Redis", - "Security & setup warnings" : "Предупреждения безопасности и установки", - "Sharing" : "Общий доступ", - "Server-side encryption" : "Шифрование на стороне сервера", - "External Storage" : "Внешнее хранилище", - "Cron" : "Cron (планировщик задач)", - "Email server" : "Почтовый сервер", - "Log" : "Журнал", - "Tips & tricks" : "Советы и трюки", - "Updates" : "Обновления", "Couldn't remove app." : "Не удалось удалить приложение.", "Language changed" : "Язык изменён", "Invalid request" : "Неправильный запрос", @@ -133,17 +122,55 @@ OC.L10N.register( "Sessions" : "Сессии", "App passwords" : "Пароль приложения", "Sync clients" : "Синхронизирующиеся клиенты", - "Everything (fatal issues, errors, warnings, info, debug)" : "Все (критические проблемы, ошибки, предупреждения, информационные, отладочные)", - "Info, warnings, errors and fatal issues" : "Информационные, предупреждения, ошибки и критические проблемы", - "Warnings, errors and fatal issues" : "Предупреждения, ошибки и критические проблемы", - "Errors and fatal issues" : "Ошибки и критические проблемы", - "Fatal issues only" : "Только критические проблемы", "None" : "Отсутствует", "Login" : "Логин", "Plain" : "Простой", "NT LAN Manager" : "Менеджер NT LAN", "SSL" : "SSL", "TLS" : "TLS", + "Email server" : "Почтовый сервер", + "Open documentation" : "Открыть документацию", + "This is used for sending out notifications." : "Используется для отправки уведомлений.", + "Send mode" : "Способ отправки", + "Encryption" : "Шифрование", + "From address" : "Адрес отправителя", + "mail" : "почта", + "Authentication method" : "Метод проверки подлинности", + "Authentication required" : "Требуется аутентификация ", + "Server address" : "Адрес сервера", + "Port" : "Порт", + "Credentials" : "Учётные данные", + "SMTP Username" : "Пользователь SMTP", + "SMTP Password" : "Пароль SMTP", + "Store credentials" : "Сохранить учётные данные", + "Test email settings" : "Проверить настройки почты", + "Send email" : "Отправить email", + "Server-side encryption" : "Шифрование на стороне сервера", + "Enable server-side encryption" : "Включить шифрование на стороне сервера", + "Please read carefully before activating server-side encryption: " : "Пожалуйста прочтите внимательно прежде чем включать шифрование на стороне сервера:", + "Once encryption is enabled, all files uploaded to the server from that point forward will be encrypted at rest on the server. It will only be possible to disable encryption at a later date if the active encryption module supports that function, and all pre-conditions (e.g. setting a recover key) are met." : "Когда вы включите шифрование, все файлы, загруженные с этого момента на сервер, будут храниться в зашифрованном виде. Отключить шифрование в более позднее время возможно только в случае, если выбранный модуль шифрования поддерживает эту функцию, и все дополнительные условия соблюдены (например настроен ключ восстановления).", + "Encryption alone does not guarantee security of the system. Please see documentation for more information about how the encryption app works, and the supported use cases." : "Шифрование само по себе не гарантирует безопасность системы. Пожалуйста ознакомтесь с документацией для получения более подробной информации о том, как работают приложения шифрования и соответствующие примеры.", + "Be aware that encryption always increases the file size." : "Будьте в курсе, что шифрование всегда увеличивает размер файла.", + "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Хорошая практика делать регулярные резервные копии ваших данных. При использовании шифрования сохраняйте не только данные, но и ключи.", + "This is the final warning: Do you really want to enable encryption?" : "Это последнее предупреждение: Вы действительно желаете включить шифрование?", + "Enable encryption" : "Включить шифрование", + "No encryption module loaded, please enable an encryption module in the app menu." : "Модуль шифрования не загружен, пожалуйста включите модуль шифрования в меню приложений.", + "Select default encryption module:" : "Выберите модуль шифрования по умолчанию:", + "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please enable the \"Default encryption module\" and run 'occ encryption:migrate'" : "Вам необходимо произвести конвертацию ключей шифрования из старого формата (ownCloud <= 8.0) в новый. Пожалуйста включите \"Модуль шифрования по умолчанию\" и запустите команду 'occ encryption:migrate'.", + "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Вам необходимо произвести конвертацию ключей шифрования из старого формата (ownCloud <= 8.0) в новый.", + "Start migration" : "Запустить миграцию", + "Everything (fatal issues, errors, warnings, info, debug)" : "Все (критические проблемы, ошибки, предупреждения, информационные, отладочные)", + "Info, warnings, errors and fatal issues" : "Информационные, предупреждения, ошибки и критические проблемы", + "Warnings, errors and fatal issues" : "Предупреждения, ошибки и критические проблемы", + "Errors and fatal issues" : "Ошибки и критические проблемы", + "Fatal issues only" : "Только критические проблемы", + "Log" : "Журнал", + "What to log" : "Что записывать в журнал", + "Download logfile" : "Скачать журнал", + "More" : "Больше", + "Less" : "Меньше", + "The logfile is bigger than 100 MB. Downloading it may take some time!" : "Лог-файл - больше 100 мб. Его скачивание может занять некоторое время!", + "Security & setup warnings" : "Предупреждения безопасности и установки", "php does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP был установлен неверно. Запрос getenv(\"PATH\") возвращает пустые результаты.", "Please check the installation documentation ↗ for php configuration notes and the php configuration of your server, especially when using php-fpm." : "Пожалуйста обратитесь к документации по установке ↗ для получения информации по настройке php на вашем сервере, особенно это касается php-fpm.", "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Конфигурационный файл в режиме только для чтения. В связи с этим некоторые настройки веб-интерфейса невозможно изменить. Учтите, что для установки обновлений, вам потребуется самостоятельно разрешить запись в конфигурационный файл.", @@ -160,7 +187,15 @@ OC.L10N.register( "It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "Не удается запустить задачу планировщика через CLI. Произошли следующие технические ошибки:", "Please double check the installation guides ↗, and check for any errors or warnings in the log." : "Пожалуйста еще раз обратитесь к документации по установке ↗ и проверьте журнална наличие ошибок", "All checks passed." : "Все проверки пройдены.", - "Open documentation" : "Открыть документацию", + "Cron" : "Cron (планировщик задач)", + "Last cron job execution: %s." : "Последнее выполненное задание планировщика: %s.", + "Last cron job execution: %s. Something seems wrong." : "Последнее выполненное задание планировщика: %s. Похоже, что-то не в порядке.", + "Cron was not executed yet!" : "Задачи cron ещё не запускались!", + "Execute one task with each page loaded" : "Выполнять одно задание с каждой загруженной страницей", + "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php зарегистрирован в webcron и будет вызываться каждые 15 минут по http.", + "Use system's cron service to call the cron.php file every 15 minutes." : "Использовать системный cron для вызова cron.php каждые 15 минут.", + "Version" : "Версия", + "Sharing" : "Общий доступ", "Allow apps to use the Share API" : "Позволить приложениям использовать API общего доступа", "Allow users to share via link" : "Разрешить пользователям публикации через ссылки", "Allow public uploads" : "Разрешить открытые/публичные загрузки", @@ -177,45 +212,7 @@ OC.L10N.register( "Exclude groups from sharing" : "Исключить группы из общего доступа", "These groups will still be able to receive shares, but not to initiate them." : "Эти группы смогут получать общие ресурсы, но не могут их создавать.", "Allow username autocompletion in share dialog. If this is disabled the full username needs to be entered." : "Включить автоматическое завершение имен пользователей в окне общего доступа. Если отключено, то необходимо вводить полное имя вручную.", - "Last cron job execution: %s." : "Последнее выполненное задание планировщика: %s.", - "Last cron job execution: %s. Something seems wrong." : "Последнее выполненное задание планировщика: %s. Похоже, что-то не в порядке.", - "Cron was not executed yet!" : "Задачи cron ещё не запускались!", - "Execute one task with each page loaded" : "Выполнять одно задание с каждой загруженной страницей", - "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php зарегистрирован в webcron и будет вызываться каждые 15 минут по http.", - "Use system's cron service to call the cron.php file every 15 minutes." : "Использовать системный cron для вызова cron.php каждые 15 минут.", - "Enable server-side encryption" : "Включить шифрование на стороне сервера", - "Please read carefully before activating server-side encryption: " : "Пожалуйста прочтите внимательно прежде чем включать шифрование на стороне сервера:", - "Once encryption is enabled, all files uploaded to the server from that point forward will be encrypted at rest on the server. It will only be possible to disable encryption at a later date if the active encryption module supports that function, and all pre-conditions (e.g. setting a recover key) are met." : "Когда вы включите шифрование, все файлы, загруженные с этого момента на сервер, будут храниться в зашифрованном виде. Отключить шифрование в более позднее время возможно только в случае, если выбранный модуль шифрования поддерживает эту функцию, и все дополнительные условия соблюдены (например настроен ключ восстановления).", - "Encryption alone does not guarantee security of the system. Please see documentation for more information about how the encryption app works, and the supported use cases." : "Шифрование само по себе не гарантирует безопасность системы. Пожалуйста ознакомтесь с документацией для получения более подробной информации о том, как работают приложения шифрования и соответствующие примеры.", - "Be aware that encryption always increases the file size." : "Будьте в курсе, что шифрование всегда увеличивает размер файла.", - "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Хорошая практика делать регулярные резервные копии ваших данных. При использовании шифрования сохраняйте не только данные, но и ключи.", - "This is the final warning: Do you really want to enable encryption?" : "Это последнее предупреждение: Вы действительно желаете включить шифрование?", - "Enable encryption" : "Включить шифрование", - "No encryption module loaded, please enable an encryption module in the app menu." : "Модуль шифрования не загружен, пожалуйста включите модуль шифрования в меню приложений.", - "Select default encryption module:" : "Выберите модуль шифрования по умолчанию:", - "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please enable the \"Default encryption module\" and run 'occ encryption:migrate'" : "Вам необходимо произвести конвертацию ключей шифрования из старого формата (ownCloud <= 8.0) в новый. Пожалуйста включите \"Модуль шифрования по умолчанию\" и запустите команду 'occ encryption:migrate'.", - "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Вам необходимо произвести конвертацию ключей шифрования из старого формата (ownCloud <= 8.0) в новый.", - "Start migration" : "Запустить миграцию", - "This is used for sending out notifications." : "Используется для отправки уведомлений.", - "Send mode" : "Способ отправки", - "Encryption" : "Шифрование", - "From address" : "Адрес отправителя", - "mail" : "почта", - "Authentication method" : "Метод проверки подлинности", - "Authentication required" : "Требуется аутентификация ", - "Server address" : "Адрес сервера", - "Port" : "Порт", - "Credentials" : "Учётные данные", - "SMTP Username" : "Пользователь SMTP", - "SMTP Password" : "Пароль SMTP", - "Store credentials" : "Сохранить учётные данные", - "Test email settings" : "Проверить настройки почты", - "Send email" : "Отправить email", - "What to log" : "Что записывать в журнал", - "Download logfile" : "Скачать журнал", - "More" : "Больше", - "Less" : "Меньше", - "The logfile is bigger than 100 MB. Downloading it may take some time!" : "Лог-файл - больше 100 мб. Его скачивание может занять некоторое время!", + "Tips & tricks" : "Советы и трюки", "SQLite is used as database. For larger installations we recommend to switch to a different database backend." : "В качестве базы данных используется SQLite. Для больших установок мы рекомендуем переключиться на другую серверную базу данных.", "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "Особенно вызывает сомнение использование SQLite при синхронизации файлов с использованием клиента для ПК.", "To migrate to another database use the command line tool: 'occ db:convert-type', or see the documentation ↗." : "Для миграции на другую базу данных используйте команду: 'occ db:convert-type' или обратитесь к a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">документации ↗.", @@ -225,7 +222,6 @@ OC.L10N.register( "Improving the config.php" : "Улучшение config.php", "Theming" : "Темы оформления", "Hardening and security guidance" : "Руководство по безопасности и защите", - "Version" : "Версия", "Developer documentation" : "Документация для разработчиков", "Experimental applications ahead" : "Экспериментальные приложения", "Experimental apps are not checked for security issues, new or known to be unstable and under heavy development. Installing them can cause data loss or security breaches." : "Экспериментальные приложения не проверялись на наличие уязвимостей безопасности, они также могут быть нестабильны, т.к. находятся в активной разработке. Их установка может повлечь потерю информации или нарушение безопасности.", @@ -281,6 +277,11 @@ OC.L10N.register( "Change password" : "Сменить пароль", "Language" : "Язык", "Help translate" : "Помочь с переводом", + "Get the apps to sync your files" : "Получить приложения для синхронизации ваших файлов", + "Desktop client" : "Клиент для ПК", + "Android app" : "Android приложение", + "iOS app" : "iOS приложение", + "Show First Run Wizard again" : "Показать помощник настройки снова", "Web, desktop and mobile clients currently logged in to your account." : "Веб, настольные и мобильные клиенты, которые в настоящий момент авторизованы вашей учётной записью.", "Device" : "Устройство", "Last activity" : "Последние действия", @@ -291,12 +292,6 @@ OC.L10N.register( "Use the credentials below to configure your app or device." : "Используйте учётные данные ниже для настройки вашего приложения или устройства.", "Username" : "Имя пользователя", "Done" : "Выполнено", - "Get the apps to sync your files" : "Получить приложения для синхронизации ваших файлов", - "Desktop client" : "Клиент для ПК", - "Android app" : "Android приложение", - "iOS app" : "iOS приложение", - "If you want to support the project\n\t\tjoin development\n\t\tor\n\t\tspread the word!" : "Если Вы хотите поддержать проект\n\t\tприсоединяйтесь к разработке\n\t\tили\n\t\tрасскажите о нас!", - "Show First Run Wizard again" : "Показать помощник настройки снова", "Developed by the {communityopen}Nextcloud community{linkclose}, the {githubopen}source code{linkclose} is licensed under the {licenseopen}AGPL{linkclose}." : "Разработано {communityopen}сообществом Nextcloud{linkclose}, {githubopen}исходный код{linkclose} лицензируется в соответствии с {licenseopen}AGPL{linkclose}.", "Show storage location" : "Показать местонахождение хранилища", "Show last log in" : "Показать последний вход в систему", @@ -321,6 +316,10 @@ OC.L10N.register( "change full name" : "изменить полное имя", "set new password" : "установить новый пароль", "change email address" : "изменить адрес почты", - "Default" : "По умолчанию" + "Default" : "По умолчанию", + "APCu" : "APCu", + "Redis" : "Redis", + "External Storage" : "Внешнее хранилище", + "Updates" : "Обновления" }, "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/settings/l10n/ru.json b/settings/l10n/ru.json index 69419920d6cbc..e5b0d878bae7e 100644 --- a/settings/l10n/ru.json +++ b/settings/l10n/ru.json @@ -33,17 +33,6 @@ "Email saved" : "Адрес сохранен", "Your full name has been changed." : "Ваше полное имя было изменено.", "Unable to change full name" : "Невозможно изменить полное имя", - "APCu" : "APCu", - "Redis" : "Redis", - "Security & setup warnings" : "Предупреждения безопасности и установки", - "Sharing" : "Общий доступ", - "Server-side encryption" : "Шифрование на стороне сервера", - "External Storage" : "Внешнее хранилище", - "Cron" : "Cron (планировщик задач)", - "Email server" : "Почтовый сервер", - "Log" : "Журнал", - "Tips & tricks" : "Советы и трюки", - "Updates" : "Обновления", "Couldn't remove app." : "Не удалось удалить приложение.", "Language changed" : "Язык изменён", "Invalid request" : "Неправильный запрос", @@ -131,17 +120,55 @@ "Sessions" : "Сессии", "App passwords" : "Пароль приложения", "Sync clients" : "Синхронизирующиеся клиенты", - "Everything (fatal issues, errors, warnings, info, debug)" : "Все (критические проблемы, ошибки, предупреждения, информационные, отладочные)", - "Info, warnings, errors and fatal issues" : "Информационные, предупреждения, ошибки и критические проблемы", - "Warnings, errors and fatal issues" : "Предупреждения, ошибки и критические проблемы", - "Errors and fatal issues" : "Ошибки и критические проблемы", - "Fatal issues only" : "Только критические проблемы", "None" : "Отсутствует", "Login" : "Логин", "Plain" : "Простой", "NT LAN Manager" : "Менеджер NT LAN", "SSL" : "SSL", "TLS" : "TLS", + "Email server" : "Почтовый сервер", + "Open documentation" : "Открыть документацию", + "This is used for sending out notifications." : "Используется для отправки уведомлений.", + "Send mode" : "Способ отправки", + "Encryption" : "Шифрование", + "From address" : "Адрес отправителя", + "mail" : "почта", + "Authentication method" : "Метод проверки подлинности", + "Authentication required" : "Требуется аутентификация ", + "Server address" : "Адрес сервера", + "Port" : "Порт", + "Credentials" : "Учётные данные", + "SMTP Username" : "Пользователь SMTP", + "SMTP Password" : "Пароль SMTP", + "Store credentials" : "Сохранить учётные данные", + "Test email settings" : "Проверить настройки почты", + "Send email" : "Отправить email", + "Server-side encryption" : "Шифрование на стороне сервера", + "Enable server-side encryption" : "Включить шифрование на стороне сервера", + "Please read carefully before activating server-side encryption: " : "Пожалуйста прочтите внимательно прежде чем включать шифрование на стороне сервера:", + "Once encryption is enabled, all files uploaded to the server from that point forward will be encrypted at rest on the server. It will only be possible to disable encryption at a later date if the active encryption module supports that function, and all pre-conditions (e.g. setting a recover key) are met." : "Когда вы включите шифрование, все файлы, загруженные с этого момента на сервер, будут храниться в зашифрованном виде. Отключить шифрование в более позднее время возможно только в случае, если выбранный модуль шифрования поддерживает эту функцию, и все дополнительные условия соблюдены (например настроен ключ восстановления).", + "Encryption alone does not guarantee security of the system. Please see documentation for more information about how the encryption app works, and the supported use cases." : "Шифрование само по себе не гарантирует безопасность системы. Пожалуйста ознакомтесь с документацией для получения более подробной информации о том, как работают приложения шифрования и соответствующие примеры.", + "Be aware that encryption always increases the file size." : "Будьте в курсе, что шифрование всегда увеличивает размер файла.", + "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Хорошая практика делать регулярные резервные копии ваших данных. При использовании шифрования сохраняйте не только данные, но и ключи.", + "This is the final warning: Do you really want to enable encryption?" : "Это последнее предупреждение: Вы действительно желаете включить шифрование?", + "Enable encryption" : "Включить шифрование", + "No encryption module loaded, please enable an encryption module in the app menu." : "Модуль шифрования не загружен, пожалуйста включите модуль шифрования в меню приложений.", + "Select default encryption module:" : "Выберите модуль шифрования по умолчанию:", + "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please enable the \"Default encryption module\" and run 'occ encryption:migrate'" : "Вам необходимо произвести конвертацию ключей шифрования из старого формата (ownCloud <= 8.0) в новый. Пожалуйста включите \"Модуль шифрования по умолчанию\" и запустите команду 'occ encryption:migrate'.", + "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Вам необходимо произвести конвертацию ключей шифрования из старого формата (ownCloud <= 8.0) в новый.", + "Start migration" : "Запустить миграцию", + "Everything (fatal issues, errors, warnings, info, debug)" : "Все (критические проблемы, ошибки, предупреждения, информационные, отладочные)", + "Info, warnings, errors and fatal issues" : "Информационные, предупреждения, ошибки и критические проблемы", + "Warnings, errors and fatal issues" : "Предупреждения, ошибки и критические проблемы", + "Errors and fatal issues" : "Ошибки и критические проблемы", + "Fatal issues only" : "Только критические проблемы", + "Log" : "Журнал", + "What to log" : "Что записывать в журнал", + "Download logfile" : "Скачать журнал", + "More" : "Больше", + "Less" : "Меньше", + "The logfile is bigger than 100 MB. Downloading it may take some time!" : "Лог-файл - больше 100 мб. Его скачивание может занять некоторое время!", + "Security & setup warnings" : "Предупреждения безопасности и установки", "php does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP был установлен неверно. Запрос getenv(\"PATH\") возвращает пустые результаты.", "Please check the installation documentation ↗ for php configuration notes and the php configuration of your server, especially when using php-fpm." : "Пожалуйста обратитесь к документации по установке ↗ для получения информации по настройке php на вашем сервере, особенно это касается php-fpm.", "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Конфигурационный файл в режиме только для чтения. В связи с этим некоторые настройки веб-интерфейса невозможно изменить. Учтите, что для установки обновлений, вам потребуется самостоятельно разрешить запись в конфигурационный файл.", @@ -158,7 +185,15 @@ "It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "Не удается запустить задачу планировщика через CLI. Произошли следующие технические ошибки:", "Please double check the installation guides ↗, and check for any errors or warnings in the log." : "Пожалуйста еще раз обратитесь к документации по установке ↗ и проверьте журнална наличие ошибок", "All checks passed." : "Все проверки пройдены.", - "Open documentation" : "Открыть документацию", + "Cron" : "Cron (планировщик задач)", + "Last cron job execution: %s." : "Последнее выполненное задание планировщика: %s.", + "Last cron job execution: %s. Something seems wrong." : "Последнее выполненное задание планировщика: %s. Похоже, что-то не в порядке.", + "Cron was not executed yet!" : "Задачи cron ещё не запускались!", + "Execute one task with each page loaded" : "Выполнять одно задание с каждой загруженной страницей", + "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php зарегистрирован в webcron и будет вызываться каждые 15 минут по http.", + "Use system's cron service to call the cron.php file every 15 minutes." : "Использовать системный cron для вызова cron.php каждые 15 минут.", + "Version" : "Версия", + "Sharing" : "Общий доступ", "Allow apps to use the Share API" : "Позволить приложениям использовать API общего доступа", "Allow users to share via link" : "Разрешить пользователям публикации через ссылки", "Allow public uploads" : "Разрешить открытые/публичные загрузки", @@ -175,45 +210,7 @@ "Exclude groups from sharing" : "Исключить группы из общего доступа", "These groups will still be able to receive shares, but not to initiate them." : "Эти группы смогут получать общие ресурсы, но не могут их создавать.", "Allow username autocompletion in share dialog. If this is disabled the full username needs to be entered." : "Включить автоматическое завершение имен пользователей в окне общего доступа. Если отключено, то необходимо вводить полное имя вручную.", - "Last cron job execution: %s." : "Последнее выполненное задание планировщика: %s.", - "Last cron job execution: %s. Something seems wrong." : "Последнее выполненное задание планировщика: %s. Похоже, что-то не в порядке.", - "Cron was not executed yet!" : "Задачи cron ещё не запускались!", - "Execute one task with each page loaded" : "Выполнять одно задание с каждой загруженной страницей", - "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php зарегистрирован в webcron и будет вызываться каждые 15 минут по http.", - "Use system's cron service to call the cron.php file every 15 minutes." : "Использовать системный cron для вызова cron.php каждые 15 минут.", - "Enable server-side encryption" : "Включить шифрование на стороне сервера", - "Please read carefully before activating server-side encryption: " : "Пожалуйста прочтите внимательно прежде чем включать шифрование на стороне сервера:", - "Once encryption is enabled, all files uploaded to the server from that point forward will be encrypted at rest on the server. It will only be possible to disable encryption at a later date if the active encryption module supports that function, and all pre-conditions (e.g. setting a recover key) are met." : "Когда вы включите шифрование, все файлы, загруженные с этого момента на сервер, будут храниться в зашифрованном виде. Отключить шифрование в более позднее время возможно только в случае, если выбранный модуль шифрования поддерживает эту функцию, и все дополнительные условия соблюдены (например настроен ключ восстановления).", - "Encryption alone does not guarantee security of the system. Please see documentation for more information about how the encryption app works, and the supported use cases." : "Шифрование само по себе не гарантирует безопасность системы. Пожалуйста ознакомтесь с документацией для получения более подробной информации о том, как работают приложения шифрования и соответствующие примеры.", - "Be aware that encryption always increases the file size." : "Будьте в курсе, что шифрование всегда увеличивает размер файла.", - "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Хорошая практика делать регулярные резервные копии ваших данных. При использовании шифрования сохраняйте не только данные, но и ключи.", - "This is the final warning: Do you really want to enable encryption?" : "Это последнее предупреждение: Вы действительно желаете включить шифрование?", - "Enable encryption" : "Включить шифрование", - "No encryption module loaded, please enable an encryption module in the app menu." : "Модуль шифрования не загружен, пожалуйста включите модуль шифрования в меню приложений.", - "Select default encryption module:" : "Выберите модуль шифрования по умолчанию:", - "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please enable the \"Default encryption module\" and run 'occ encryption:migrate'" : "Вам необходимо произвести конвертацию ключей шифрования из старого формата (ownCloud <= 8.0) в новый. Пожалуйста включите \"Модуль шифрования по умолчанию\" и запустите команду 'occ encryption:migrate'.", - "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Вам необходимо произвести конвертацию ключей шифрования из старого формата (ownCloud <= 8.0) в новый.", - "Start migration" : "Запустить миграцию", - "This is used for sending out notifications." : "Используется для отправки уведомлений.", - "Send mode" : "Способ отправки", - "Encryption" : "Шифрование", - "From address" : "Адрес отправителя", - "mail" : "почта", - "Authentication method" : "Метод проверки подлинности", - "Authentication required" : "Требуется аутентификация ", - "Server address" : "Адрес сервера", - "Port" : "Порт", - "Credentials" : "Учётные данные", - "SMTP Username" : "Пользователь SMTP", - "SMTP Password" : "Пароль SMTP", - "Store credentials" : "Сохранить учётные данные", - "Test email settings" : "Проверить настройки почты", - "Send email" : "Отправить email", - "What to log" : "Что записывать в журнал", - "Download logfile" : "Скачать журнал", - "More" : "Больше", - "Less" : "Меньше", - "The logfile is bigger than 100 MB. Downloading it may take some time!" : "Лог-файл - больше 100 мб. Его скачивание может занять некоторое время!", + "Tips & tricks" : "Советы и трюки", "SQLite is used as database. For larger installations we recommend to switch to a different database backend." : "В качестве базы данных используется SQLite. Для больших установок мы рекомендуем переключиться на другую серверную базу данных.", "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "Особенно вызывает сомнение использование SQLite при синхронизации файлов с использованием клиента для ПК.", "To migrate to another database use the command line tool: 'occ db:convert-type', or see the documentation ↗." : "Для миграции на другую базу данных используйте команду: 'occ db:convert-type' или обратитесь к a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">документации ↗.", @@ -223,7 +220,6 @@ "Improving the config.php" : "Улучшение config.php", "Theming" : "Темы оформления", "Hardening and security guidance" : "Руководство по безопасности и защите", - "Version" : "Версия", "Developer documentation" : "Документация для разработчиков", "Experimental applications ahead" : "Экспериментальные приложения", "Experimental apps are not checked for security issues, new or known to be unstable and under heavy development. Installing them can cause data loss or security breaches." : "Экспериментальные приложения не проверялись на наличие уязвимостей безопасности, они также могут быть нестабильны, т.к. находятся в активной разработке. Их установка может повлечь потерю информации или нарушение безопасности.", @@ -279,6 +275,11 @@ "Change password" : "Сменить пароль", "Language" : "Язык", "Help translate" : "Помочь с переводом", + "Get the apps to sync your files" : "Получить приложения для синхронизации ваших файлов", + "Desktop client" : "Клиент для ПК", + "Android app" : "Android приложение", + "iOS app" : "iOS приложение", + "Show First Run Wizard again" : "Показать помощник настройки снова", "Web, desktop and mobile clients currently logged in to your account." : "Веб, настольные и мобильные клиенты, которые в настоящий момент авторизованы вашей учётной записью.", "Device" : "Устройство", "Last activity" : "Последние действия", @@ -289,12 +290,6 @@ "Use the credentials below to configure your app or device." : "Используйте учётные данные ниже для настройки вашего приложения или устройства.", "Username" : "Имя пользователя", "Done" : "Выполнено", - "Get the apps to sync your files" : "Получить приложения для синхронизации ваших файлов", - "Desktop client" : "Клиент для ПК", - "Android app" : "Android приложение", - "iOS app" : "iOS приложение", - "If you want to support the project\n\t\tjoin development\n\t\tor\n\t\tspread the word!" : "Если Вы хотите поддержать проект\n\t\tприсоединяйтесь к разработке\n\t\tили\n\t\tрасскажите о нас!", - "Show First Run Wizard again" : "Показать помощник настройки снова", "Developed by the {communityopen}Nextcloud community{linkclose}, the {githubopen}source code{linkclose} is licensed under the {licenseopen}AGPL{linkclose}." : "Разработано {communityopen}сообществом Nextcloud{linkclose}, {githubopen}исходный код{linkclose} лицензируется в соответствии с {licenseopen}AGPL{linkclose}.", "Show storage location" : "Показать местонахождение хранилища", "Show last log in" : "Показать последний вход в систему", @@ -319,6 +314,10 @@ "change full name" : "изменить полное имя", "set new password" : "установить новый пароль", "change email address" : "изменить адрес почты", - "Default" : "По умолчанию" + "Default" : "По умолчанию", + "APCu" : "APCu", + "Redis" : "Redis", + "External Storage" : "Внешнее хранилище", + "Updates" : "Обновления" },"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/settings/l10n/sl.js b/settings/l10n/sl.js index 6de06e3b64f33..d52b1898726bf 100644 --- a/settings/l10n/sl.js +++ b/settings/l10n/sl.js @@ -34,17 +34,6 @@ OC.L10N.register( "Email saved" : "Elektronski naslov je shranjen", "Your full name has been changed." : "Vaše polno ime je spremenjeno.", "Unable to change full name" : "Ni mogoče spremeniti polnega imena", - "APCu" : "APCu", - "Redis" : "Redis", - "Security & setup warnings" : "Varnost in namestitvena opozorila", - "Sharing" : "Souporaba", - "Server-side encryption" : "Šifriranje na strežniku", - "External Storage" : "Zunanja podatkovna shramba", - "Cron" : "Periodično opravilo", - "Email server" : "Poštni strežnik", - "Log" : "Dnevnik", - "Tips & tricks" : "Nasveti in triki", - "Updates" : "Posodobitve", "Couldn't remove app." : "Ni mogoče odstraniti programa.", "Language changed" : "Jezik je spremenjen", "Invalid request" : "Neveljavna zahteva", @@ -115,53 +104,14 @@ OC.L10N.register( "Sessions" : "Seje", "App passwords" : " Gesla aplikacije", "Sync clients" : "Uskladi odjemalce", - "Everything (fatal issues, errors, warnings, info, debug)" : "Vse (podrobnosti, opozorila, hrošče, napake in usodne dogodke)", - "Info, warnings, errors and fatal issues" : "Podrobnosti, opozorila, napake in usodne dogodke", - "Warnings, errors and fatal issues" : "Opozorila, napake in usodne dogodke", - "Errors and fatal issues" : "Napake in usodne dogodke", - "Fatal issues only" : "Le usodne dogodke", "None" : "Brez", "Login" : "Prijava", "Plain" : "Besedilno", "NT LAN Manager" : "Upravljalnik NT LAN", "SSL" : "SSL", "TLS" : "TLS", - "PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : " Izgleda, da je PHP nastavljen, da odreže znake v 'inline doc' blokih. To bo povzročilo, da nekateri osnovni moduli ne bodo dosegljivi.", - "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Napako je najverjetneje povzročil predpomnilnik ali pospeševalnik, kot sta Zend OPcache ali eAccelerator.", - "The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "Manjka modul PHP 'fileinfo'. Priporočljivo je omogočiti ta modul za popolno zaznavanje vrst MIME.", - "System locale can not be set to a one which supports UTF-8." : "Sistemskih jezikovnih nastavitev ni mogoče nastaviti na možnost, ki podpira nabor UTF-8.", - "This means that there might be problems with certain characters in file names." : "To pomeni, da se lahko pojavijo napake pri nekaterih znakih v imenih datotek.", - "All checks passed." : "Vsa preverjanja so uspešno zaključena.", + "Email server" : "Poštni strežnik", "Open documentation" : "Odprta dokumentacija", - "Allow apps to use the Share API" : "Dovoli programom uporabo vmesnika API souporabe", - "Allow users to share via link" : "Uporabnikom dovoli omogočanje souporabe s povezavami", - "Allow public uploads" : "Dovoli javno pošiljanje datotek v oblak", - "Enforce password protection" : "Vsili zaščito z geslom", - "Set default expiration date" : "Nastavitev privzetega datuma poteka", - "Allow users to send mail notification for shared files" : "Dovoli uporabnikom pošiljati obvestila o souporabi datotek po elektronski pošti.", - "Expire after " : "Preteče po", - "days" : "dneh", - "Enforce expiration date" : "Vsili datum preteka", - "Allow resharing" : "Dovoli nadaljnjo souporabo", - "Allow sharing with groups" : "Dovoli souporabo s skupinami", - "Restrict users to only share with users in their groups" : "Uporabnikom dovoli omogočanje souporabe le znotraj njihove skupine", - "Allow users to send mail notification for shared files to other users" : "Dovoli uporabnikom pošiljanje obvestil o souporabi datotek z drugimi uporabniki.", - "Exclude groups from sharing" : "Izloči skupine iz souporabe", - "These groups will still be able to receive shares, but not to initiate them." : "Te skupine lahko sprejemajo mape v souporabo, ne morejo pa souporabe dovoliti", - "Last cron job execution: %s." : " Zadnje periodično opravilo: %s.", - "Last cron job execution: %s. Something seems wrong." : " Zadnje periodično opravilo: %s. Nekaj izgleda narobe.", - "Cron was not executed yet!" : "Periodično opravilo cron še ni zagnano!", - "Execute one task with each page loaded" : "Izvedi eno nalogo z vsako naloženo stranjo.", - "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "Datoteka cron.php je vpisana za periodično opravilo webcron za potrditev sklica vsakih 15 minut pri povezavi preko HTTP.", - "Use system's cron service to call the cron.php file every 15 minutes." : "Uporabi storitev periodičnih opravil za klic datoteke cron.php vsakih 15 minut.", - "Enable server-side encryption" : "Omogoči šifriranje na strežniku", - "Please read carefully before activating server-side encryption: " : "Pozorno preberite opombe, preden omogočite strežniško šifriranje:", - "Be aware that encryption always increases the file size." : " Upoštevajte, da šifriranje vedno poveča velikost datoteke.", - "This is the final warning: Do you really want to enable encryption?" : " To je zadnje opozorilo. Ali resnično želite vključiti šifriranje?", - "Enable encryption" : "Omogoči šifriranje", - "No encryption module loaded, please enable an encryption module in the app menu." : "Modul za šifriranje ni naložen. Prosim, omogočite en šifrirni modul v spisku aplikacij.", - "Select default encryption module:" : "Izbor privzetega modula za šifriranje:", - "Start migration" : "Začni selitev", "This is used for sending out notifications." : "Možnost je uporabljena za omogočanje pošiljanja obvestil.", "Send mode" : "Način pošiljanja", "Encryption" : "Šifriranje", @@ -177,11 +127,58 @@ OC.L10N.register( "Store credentials" : "Shrani poverila", "Test email settings" : "Preizkus nastavitev elektronske pošte", "Send email" : "Pošlji elektronsko sporočilo", + "Server-side encryption" : "Šifriranje na strežniku", + "Enable server-side encryption" : "Omogoči šifriranje na strežniku", + "Please read carefully before activating server-side encryption: " : "Pozorno preberite opombe, preden omogočite strežniško šifriranje:", + "Be aware that encryption always increases the file size." : " Upoštevajte, da šifriranje vedno poveča velikost datoteke.", + "This is the final warning: Do you really want to enable encryption?" : " To je zadnje opozorilo. Ali resnično želite vključiti šifriranje?", + "Enable encryption" : "Omogoči šifriranje", + "No encryption module loaded, please enable an encryption module in the app menu." : "Modul za šifriranje ni naložen. Prosim, omogočite en šifrirni modul v spisku aplikacij.", + "Select default encryption module:" : "Izbor privzetega modula za šifriranje:", + "Start migration" : "Začni selitev", + "Everything (fatal issues, errors, warnings, info, debug)" : "Vse (podrobnosti, opozorila, hrošče, napake in usodne dogodke)", + "Info, warnings, errors and fatal issues" : "Podrobnosti, opozorila, napake in usodne dogodke", + "Warnings, errors and fatal issues" : "Opozorila, napake in usodne dogodke", + "Errors and fatal issues" : "Napake in usodne dogodke", + "Fatal issues only" : "Le usodne dogodke", + "Log" : "Dnevnik", "What to log" : "Kaj naj se beleži?", "Download logfile" : "Prejmi dnevniško datoteko", "More" : "Več", "Less" : "Manj", "The logfile is bigger than 100 MB. Downloading it may take some time!" : "Dnevniškega datoteka je večja od 100 MB. Hitrost prejema je odvisna od širokopasovne povezave!", + "Security & setup warnings" : "Varnost in namestitvena opozorila", + "PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : " Izgleda, da je PHP nastavljen, da odreže znake v 'inline doc' blokih. To bo povzročilo, da nekateri osnovni moduli ne bodo dosegljivi.", + "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Napako je najverjetneje povzročil predpomnilnik ali pospeševalnik, kot sta Zend OPcache ali eAccelerator.", + "The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "Manjka modul PHP 'fileinfo'. Priporočljivo je omogočiti ta modul za popolno zaznavanje vrst MIME.", + "System locale can not be set to a one which supports UTF-8." : "Sistemskih jezikovnih nastavitev ni mogoče nastaviti na možnost, ki podpira nabor UTF-8.", + "This means that there might be problems with certain characters in file names." : "To pomeni, da se lahko pojavijo napake pri nekaterih znakih v imenih datotek.", + "All checks passed." : "Vsa preverjanja so uspešno zaključena.", + "Cron" : "Periodično opravilo", + "Last cron job execution: %s." : " Zadnje periodično opravilo: %s.", + "Last cron job execution: %s. Something seems wrong." : " Zadnje periodično opravilo: %s. Nekaj izgleda narobe.", + "Cron was not executed yet!" : "Periodično opravilo cron še ni zagnano!", + "Execute one task with each page loaded" : "Izvedi eno nalogo z vsako naloženo stranjo.", + "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "Datoteka cron.php je vpisana za periodično opravilo webcron za potrditev sklica vsakih 15 minut pri povezavi preko HTTP.", + "Use system's cron service to call the cron.php file every 15 minutes." : "Uporabi storitev periodičnih opravil za klic datoteke cron.php vsakih 15 minut.", + "Version" : "Različica", + "Sharing" : "Souporaba", + "Allow apps to use the Share API" : "Dovoli programom uporabo vmesnika API souporabe", + "Allow users to share via link" : "Uporabnikom dovoli omogočanje souporabe s povezavami", + "Allow public uploads" : "Dovoli javno pošiljanje datotek v oblak", + "Enforce password protection" : "Vsili zaščito z geslom", + "Set default expiration date" : "Nastavitev privzetega datuma poteka", + "Allow users to send mail notification for shared files" : "Dovoli uporabnikom pošiljati obvestila o souporabi datotek po elektronski pošti.", + "Expire after " : "Preteče po", + "days" : "dneh", + "Enforce expiration date" : "Vsili datum preteka", + "Allow resharing" : "Dovoli nadaljnjo souporabo", + "Allow sharing with groups" : "Dovoli souporabo s skupinami", + "Restrict users to only share with users in their groups" : "Uporabnikom dovoli omogočanje souporabe le znotraj njihove skupine", + "Allow users to send mail notification for shared files to other users" : "Dovoli uporabnikom pošiljanje obvestil o souporabi datotek z drugimi uporabniki.", + "Exclude groups from sharing" : "Izloči skupine iz souporabe", + "These groups will still be able to receive shares, but not to initiate them." : "Te skupine lahko sprejemajo mape v souporabo, ne morejo pa souporabe dovoliti", + "Tips & tricks" : "Nasveti in triki", "SQLite is used as database. For larger installations we recommend to switch to a different database backend." : "Uporabljena zbirka je SQLite. Za obsežnejše sisteme je priporočljiv prehod na drugo vrsto zbirke.", "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "Uporaba SQLite ni priporočljiva iz varnostnih razlogov, to še posebej velja, če se sistem krajevno usklajuje z namizjem prek odjemalca.", "How to do backups" : "Kako ustvariti varnostne kopije", @@ -190,7 +187,6 @@ OC.L10N.register( "Improving the config.php" : "Izboljšave v config.php", "Theming" : "Teme", "Hardening and security guidance" : "Varnost in varnostni napotki", - "Version" : "Različica", "Developer documentation" : "Dokumentacija za razvijalce", "Experimental applications ahead" : "Preizkusni programi", "%s-licensed" : "dovoljenje-%s", @@ -244,16 +240,16 @@ OC.L10N.register( "Change password" : "Spremeni geslo", "Language" : "Jezik", "Help translate" : "Sodelujte pri prevajanju", - "Name" : "Ime", - "App name" : "Ime aplikacije", - "Create new app password" : "Ustvari novo geslo aplikacije", - "Username" : "Uporabniško ime", - "Done" : "Končano", "Get the apps to sync your files" : "Pridobi programe za usklajevanje datotek", "Desktop client" : "Namizni odjemalec", "Android app" : "Program za Android", "iOS app" : "Program za iOS", "Show First Run Wizard again" : "Zaženi čarovnika prvega zagona", + "Name" : "Ime", + "App name" : "Ime aplikacije", + "Create new app password" : "Ustvari novo geslo aplikacije", + "Username" : "Uporabniško ime", + "Done" : "Končano", "Show storage location" : "Pokaži mesto shrambe", "Show last log in" : "Pokaži podatke zadnje prijave", "Show user backend" : "Pokaži ozadnji program", @@ -272,6 +268,10 @@ OC.L10N.register( "change full name" : "Spremeni polno ime", "set new password" : "nastavi novo geslo", "change email address" : "spremeni naslov elektronske pošte", - "Default" : "Privzeto" + "Default" : "Privzeto", + "APCu" : "APCu", + "Redis" : "Redis", + "External Storage" : "Zunanja podatkovna shramba", + "Updates" : "Posodobitve" }, "nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);"); diff --git a/settings/l10n/sl.json b/settings/l10n/sl.json index 44b7c9e55d6a9..7cbf0085b1dc1 100644 --- a/settings/l10n/sl.json +++ b/settings/l10n/sl.json @@ -32,17 +32,6 @@ "Email saved" : "Elektronski naslov je shranjen", "Your full name has been changed." : "Vaše polno ime je spremenjeno.", "Unable to change full name" : "Ni mogoče spremeniti polnega imena", - "APCu" : "APCu", - "Redis" : "Redis", - "Security & setup warnings" : "Varnost in namestitvena opozorila", - "Sharing" : "Souporaba", - "Server-side encryption" : "Šifriranje na strežniku", - "External Storage" : "Zunanja podatkovna shramba", - "Cron" : "Periodično opravilo", - "Email server" : "Poštni strežnik", - "Log" : "Dnevnik", - "Tips & tricks" : "Nasveti in triki", - "Updates" : "Posodobitve", "Couldn't remove app." : "Ni mogoče odstraniti programa.", "Language changed" : "Jezik je spremenjen", "Invalid request" : "Neveljavna zahteva", @@ -113,53 +102,14 @@ "Sessions" : "Seje", "App passwords" : " Gesla aplikacije", "Sync clients" : "Uskladi odjemalce", - "Everything (fatal issues, errors, warnings, info, debug)" : "Vse (podrobnosti, opozorila, hrošče, napake in usodne dogodke)", - "Info, warnings, errors and fatal issues" : "Podrobnosti, opozorila, napake in usodne dogodke", - "Warnings, errors and fatal issues" : "Opozorila, napake in usodne dogodke", - "Errors and fatal issues" : "Napake in usodne dogodke", - "Fatal issues only" : "Le usodne dogodke", "None" : "Brez", "Login" : "Prijava", "Plain" : "Besedilno", "NT LAN Manager" : "Upravljalnik NT LAN", "SSL" : "SSL", "TLS" : "TLS", - "PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : " Izgleda, da je PHP nastavljen, da odreže znake v 'inline doc' blokih. To bo povzročilo, da nekateri osnovni moduli ne bodo dosegljivi.", - "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Napako je najverjetneje povzročil predpomnilnik ali pospeševalnik, kot sta Zend OPcache ali eAccelerator.", - "The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "Manjka modul PHP 'fileinfo'. Priporočljivo je omogočiti ta modul za popolno zaznavanje vrst MIME.", - "System locale can not be set to a one which supports UTF-8." : "Sistemskih jezikovnih nastavitev ni mogoče nastaviti na možnost, ki podpira nabor UTF-8.", - "This means that there might be problems with certain characters in file names." : "To pomeni, da se lahko pojavijo napake pri nekaterih znakih v imenih datotek.", - "All checks passed." : "Vsa preverjanja so uspešno zaključena.", + "Email server" : "Poštni strežnik", "Open documentation" : "Odprta dokumentacija", - "Allow apps to use the Share API" : "Dovoli programom uporabo vmesnika API souporabe", - "Allow users to share via link" : "Uporabnikom dovoli omogočanje souporabe s povezavami", - "Allow public uploads" : "Dovoli javno pošiljanje datotek v oblak", - "Enforce password protection" : "Vsili zaščito z geslom", - "Set default expiration date" : "Nastavitev privzetega datuma poteka", - "Allow users to send mail notification for shared files" : "Dovoli uporabnikom pošiljati obvestila o souporabi datotek po elektronski pošti.", - "Expire after " : "Preteče po", - "days" : "dneh", - "Enforce expiration date" : "Vsili datum preteka", - "Allow resharing" : "Dovoli nadaljnjo souporabo", - "Allow sharing with groups" : "Dovoli souporabo s skupinami", - "Restrict users to only share with users in their groups" : "Uporabnikom dovoli omogočanje souporabe le znotraj njihove skupine", - "Allow users to send mail notification for shared files to other users" : "Dovoli uporabnikom pošiljanje obvestil o souporabi datotek z drugimi uporabniki.", - "Exclude groups from sharing" : "Izloči skupine iz souporabe", - "These groups will still be able to receive shares, but not to initiate them." : "Te skupine lahko sprejemajo mape v souporabo, ne morejo pa souporabe dovoliti", - "Last cron job execution: %s." : " Zadnje periodično opravilo: %s.", - "Last cron job execution: %s. Something seems wrong." : " Zadnje periodično opravilo: %s. Nekaj izgleda narobe.", - "Cron was not executed yet!" : "Periodično opravilo cron še ni zagnano!", - "Execute one task with each page loaded" : "Izvedi eno nalogo z vsako naloženo stranjo.", - "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "Datoteka cron.php je vpisana za periodično opravilo webcron za potrditev sklica vsakih 15 minut pri povezavi preko HTTP.", - "Use system's cron service to call the cron.php file every 15 minutes." : "Uporabi storitev periodičnih opravil za klic datoteke cron.php vsakih 15 minut.", - "Enable server-side encryption" : "Omogoči šifriranje na strežniku", - "Please read carefully before activating server-side encryption: " : "Pozorno preberite opombe, preden omogočite strežniško šifriranje:", - "Be aware that encryption always increases the file size." : " Upoštevajte, da šifriranje vedno poveča velikost datoteke.", - "This is the final warning: Do you really want to enable encryption?" : " To je zadnje opozorilo. Ali resnično želite vključiti šifriranje?", - "Enable encryption" : "Omogoči šifriranje", - "No encryption module loaded, please enable an encryption module in the app menu." : "Modul za šifriranje ni naložen. Prosim, omogočite en šifrirni modul v spisku aplikacij.", - "Select default encryption module:" : "Izbor privzetega modula za šifriranje:", - "Start migration" : "Začni selitev", "This is used for sending out notifications." : "Možnost je uporabljena za omogočanje pošiljanja obvestil.", "Send mode" : "Način pošiljanja", "Encryption" : "Šifriranje", @@ -175,11 +125,58 @@ "Store credentials" : "Shrani poverila", "Test email settings" : "Preizkus nastavitev elektronske pošte", "Send email" : "Pošlji elektronsko sporočilo", + "Server-side encryption" : "Šifriranje na strežniku", + "Enable server-side encryption" : "Omogoči šifriranje na strežniku", + "Please read carefully before activating server-side encryption: " : "Pozorno preberite opombe, preden omogočite strežniško šifriranje:", + "Be aware that encryption always increases the file size." : " Upoštevajte, da šifriranje vedno poveča velikost datoteke.", + "This is the final warning: Do you really want to enable encryption?" : " To je zadnje opozorilo. Ali resnično želite vključiti šifriranje?", + "Enable encryption" : "Omogoči šifriranje", + "No encryption module loaded, please enable an encryption module in the app menu." : "Modul za šifriranje ni naložen. Prosim, omogočite en šifrirni modul v spisku aplikacij.", + "Select default encryption module:" : "Izbor privzetega modula za šifriranje:", + "Start migration" : "Začni selitev", + "Everything (fatal issues, errors, warnings, info, debug)" : "Vse (podrobnosti, opozorila, hrošče, napake in usodne dogodke)", + "Info, warnings, errors and fatal issues" : "Podrobnosti, opozorila, napake in usodne dogodke", + "Warnings, errors and fatal issues" : "Opozorila, napake in usodne dogodke", + "Errors and fatal issues" : "Napake in usodne dogodke", + "Fatal issues only" : "Le usodne dogodke", + "Log" : "Dnevnik", "What to log" : "Kaj naj se beleži?", "Download logfile" : "Prejmi dnevniško datoteko", "More" : "Več", "Less" : "Manj", "The logfile is bigger than 100 MB. Downloading it may take some time!" : "Dnevniškega datoteka je večja od 100 MB. Hitrost prejema je odvisna od širokopasovne povezave!", + "Security & setup warnings" : "Varnost in namestitvena opozorila", + "PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : " Izgleda, da je PHP nastavljen, da odreže znake v 'inline doc' blokih. To bo povzročilo, da nekateri osnovni moduli ne bodo dosegljivi.", + "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Napako je najverjetneje povzročil predpomnilnik ali pospeševalnik, kot sta Zend OPcache ali eAccelerator.", + "The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "Manjka modul PHP 'fileinfo'. Priporočljivo je omogočiti ta modul za popolno zaznavanje vrst MIME.", + "System locale can not be set to a one which supports UTF-8." : "Sistemskih jezikovnih nastavitev ni mogoče nastaviti na možnost, ki podpira nabor UTF-8.", + "This means that there might be problems with certain characters in file names." : "To pomeni, da se lahko pojavijo napake pri nekaterih znakih v imenih datotek.", + "All checks passed." : "Vsa preverjanja so uspešno zaključena.", + "Cron" : "Periodično opravilo", + "Last cron job execution: %s." : " Zadnje periodično opravilo: %s.", + "Last cron job execution: %s. Something seems wrong." : " Zadnje periodično opravilo: %s. Nekaj izgleda narobe.", + "Cron was not executed yet!" : "Periodično opravilo cron še ni zagnano!", + "Execute one task with each page loaded" : "Izvedi eno nalogo z vsako naloženo stranjo.", + "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "Datoteka cron.php je vpisana za periodično opravilo webcron za potrditev sklica vsakih 15 minut pri povezavi preko HTTP.", + "Use system's cron service to call the cron.php file every 15 minutes." : "Uporabi storitev periodičnih opravil za klic datoteke cron.php vsakih 15 minut.", + "Version" : "Različica", + "Sharing" : "Souporaba", + "Allow apps to use the Share API" : "Dovoli programom uporabo vmesnika API souporabe", + "Allow users to share via link" : "Uporabnikom dovoli omogočanje souporabe s povezavami", + "Allow public uploads" : "Dovoli javno pošiljanje datotek v oblak", + "Enforce password protection" : "Vsili zaščito z geslom", + "Set default expiration date" : "Nastavitev privzetega datuma poteka", + "Allow users to send mail notification for shared files" : "Dovoli uporabnikom pošiljati obvestila o souporabi datotek po elektronski pošti.", + "Expire after " : "Preteče po", + "days" : "dneh", + "Enforce expiration date" : "Vsili datum preteka", + "Allow resharing" : "Dovoli nadaljnjo souporabo", + "Allow sharing with groups" : "Dovoli souporabo s skupinami", + "Restrict users to only share with users in their groups" : "Uporabnikom dovoli omogočanje souporabe le znotraj njihove skupine", + "Allow users to send mail notification for shared files to other users" : "Dovoli uporabnikom pošiljanje obvestil o souporabi datotek z drugimi uporabniki.", + "Exclude groups from sharing" : "Izloči skupine iz souporabe", + "These groups will still be able to receive shares, but not to initiate them." : "Te skupine lahko sprejemajo mape v souporabo, ne morejo pa souporabe dovoliti", + "Tips & tricks" : "Nasveti in triki", "SQLite is used as database. For larger installations we recommend to switch to a different database backend." : "Uporabljena zbirka je SQLite. Za obsežnejše sisteme je priporočljiv prehod na drugo vrsto zbirke.", "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "Uporaba SQLite ni priporočljiva iz varnostnih razlogov, to še posebej velja, če se sistem krajevno usklajuje z namizjem prek odjemalca.", "How to do backups" : "Kako ustvariti varnostne kopije", @@ -188,7 +185,6 @@ "Improving the config.php" : "Izboljšave v config.php", "Theming" : "Teme", "Hardening and security guidance" : "Varnost in varnostni napotki", - "Version" : "Različica", "Developer documentation" : "Dokumentacija za razvijalce", "Experimental applications ahead" : "Preizkusni programi", "%s-licensed" : "dovoljenje-%s", @@ -242,16 +238,16 @@ "Change password" : "Spremeni geslo", "Language" : "Jezik", "Help translate" : "Sodelujte pri prevajanju", - "Name" : "Ime", - "App name" : "Ime aplikacije", - "Create new app password" : "Ustvari novo geslo aplikacije", - "Username" : "Uporabniško ime", - "Done" : "Končano", "Get the apps to sync your files" : "Pridobi programe za usklajevanje datotek", "Desktop client" : "Namizni odjemalec", "Android app" : "Program za Android", "iOS app" : "Program za iOS", "Show First Run Wizard again" : "Zaženi čarovnika prvega zagona", + "Name" : "Ime", + "App name" : "Ime aplikacije", + "Create new app password" : "Ustvari novo geslo aplikacije", + "Username" : "Uporabniško ime", + "Done" : "Končano", "Show storage location" : "Pokaži mesto shrambe", "Show last log in" : "Pokaži podatke zadnje prijave", "Show user backend" : "Pokaži ozadnji program", @@ -270,6 +266,10 @@ "change full name" : "Spremeni polno ime", "set new password" : "nastavi novo geslo", "change email address" : "spremeni naslov elektronske pošte", - "Default" : "Privzeto" + "Default" : "Privzeto", + "APCu" : "APCu", + "Redis" : "Redis", + "External Storage" : "Zunanja podatkovna shramba", + "Updates" : "Posodobitve" },"pluralForm" :"nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);" } \ No newline at end of file diff --git a/settings/l10n/sq.js b/settings/l10n/sq.js index 6fb6afaf4b4ff..ed6baef5ae41a 100644 --- a/settings/l10n/sq.js +++ b/settings/l10n/sq.js @@ -35,17 +35,6 @@ OC.L10N.register( "Email saved" : "Email-i u ruajt", "Your full name has been changed." : "Emri juaj i plotë u ndryshua.", "Unable to change full name" : "S’arrin të ndryshojë emrin e plotë", - "APCu" : "APCu", - "Redis" : "Redis", - "Security & setup warnings" : "Sinjalizime sigurie & rregullimi", - "Sharing" : "Ndarje me të tjerët", - "Server-side encryption" : "Fshehtëzim më anë shërbyesi", - "External Storage" : "Depozitim i Jashtëm", - "Cron" : "Cron", - "Email server" : "Shërbyes email-esh", - "Log" : "Regjistër", - "Tips & tricks" : "Ndihmëza & rrengje", - "Updates" : "Përditësime", "Couldn't remove app." : "S’hoqi dot aplikacionin.", "Language changed" : "Gjuha u ndryshua", "Invalid request" : "Kërkesë e pavlefshme", @@ -118,17 +107,54 @@ OC.L10N.register( "Sessions" : "Sesione", "App passwords" : "Fjalëkalim aplikacioni", "Sync clients" : "Klientë njëkohësimi", - "Everything (fatal issues, errors, warnings, info, debug)" : "Gjithçka (probleme fatale, gabime, sinjalizime, të dhëna, diagnostikim)", - "Info, warnings, errors and fatal issues" : "Të dhëna, sinjalizime, gabime dhe probleme fatale", - "Warnings, errors and fatal issues" : "Sinjalizime, gabime dhe probleme fatale", - "Errors and fatal issues" : "Gabime dhe probleme fatale", - "Fatal issues only" : "Vetëm probleme fatale", "None" : "Asnjë", "Login" : "Hyrje", "Plain" : "E thjeshtë", "NT LAN Manager" : "Përgjegjës Rrjeti NT", "SSL" : "SSL", "TLS" : "TLS", + "Email server" : "Shërbyes email-esh", + "Open documentation" : "Hapni dokumentimin", + "This is used for sending out notifications." : "Ky përdoret për të dërguar njoftime.", + "Send mode" : "Mënyrë dërgimi", + "Encryption" : "Fshehtëzim", + "From address" : "Nga adresa", + "mail" : "email", + "Authentication method" : "Metodë mirëfilltësimi", + "Authentication required" : "Lypset mirëfilltësim", + "Server address" : "Adresë shërbyesi", + "Port" : "Portë", + "Credentials" : "Kredenciale", + "SMTP Username" : "Emër përdoruesi SMTP", + "SMTP Password" : "Fjalëkalim SMTP", + "Store credentials" : "Depozitoji kredencialet", + "Test email settings" : "Testoni rregullimet e email-it", + "Send email" : "Dërgo email", + "Server-side encryption" : "Fshehtëzim më anë shërbyesi", + "Enable server-side encryption" : "Aktivizo fshehtëzim më anë të shërbyesit", + "Please read carefully before activating server-side encryption: " : "Ju lutemi, lexoni me kujdes përpara aktivizimit të fshehtëzimeve më anë shërbyesi: ", + "Once encryption is enabled, all files uploaded to the server from that point forward will be encrypted at rest on the server. It will only be possible to disable encryption at a later date if the active encryption module supports that function, and all pre-conditions (e.g. setting a recover key) are met." : "Pasi të jetë aktivizuar fshehtëzimi, krejt kartelat e ngarkuara te shërbyesi nga kjo pikë e tutje do të fshehtëzohen pasi të jenë depozituar në shërbyes. Çaktivizimi i fshehtëzimit në një datë të mëvonshme do të jetë i mundur vetëm nëse moduli aktiv i fshehtëzimeve e mbulon këtë funksion, dhe nëse plotësohen krejt parakushtet (p.sh. caktimi i një kyçi rimarrjesh).", + "Be aware that encryption always increases the file size." : "Kini parasysh që fshehtëzimi e rrit gjithnjë madhësinë e kartelës.", + "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Është gjithmonë ide e mirë të krijohen kopjeruajtje të rregullta të të dhënave tuaja, në rast fshehtëzimi sigurohuni që bëni kopjeruajtje të kyçeve të fshehtëzimit, tok me të dhënat tuaja.", + "This is the final warning: Do you really want to enable encryption?" : "Ky është sinjalizimi përfundimtar: Doni vërtet të aktivizohet fshehtëzimi?", + "Enable encryption" : "Aktivizoni fshehtëzim", + "No encryption module loaded, please enable an encryption module in the app menu." : "S’ka të ngarkuar modul fshehtëzimi, ju lutemi, aktivizoni një modul fshehtëzimi që nga menuja e aplikacionit.", + "Select default encryption module:" : "Përzgjidhni modul parazgjedhje fshehtëzimi:", + "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please enable the \"Default encryption module\" and run 'occ encryption:migrate'" : "Lypset të migroni kyçet tuaj të fshehtëzimit nga fshehtëzimi i vjetër (ownCloud <= 8.0) te i riu. Ju lutemi, aktivizoni \"Modul parazgjedhje fshehtëzimesh\" dhe ekzekutoni 'occ encryption:migrate'", + "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Lypset të migroni kyçet tuaj të fshehtëzimit nga fshehtëzimi i vjetër (ownCloud <= 8.0) te i riu.", + "Start migration" : "Fillo migrimin", + "Everything (fatal issues, errors, warnings, info, debug)" : "Gjithçka (probleme fatale, gabime, sinjalizime, të dhëna, diagnostikim)", + "Info, warnings, errors and fatal issues" : "Të dhëna, sinjalizime, gabime dhe probleme fatale", + "Warnings, errors and fatal issues" : "Sinjalizime, gabime dhe probleme fatale", + "Errors and fatal issues" : "Gabime dhe probleme fatale", + "Fatal issues only" : "Vetëm probleme fatale", + "Log" : "Regjistër", + "What to log" : "Ç’të regjistrohet", + "Download logfile" : "Shkarkoni kartelën regjistër", + "More" : "Më tepër", + "Less" : "Më pak", + "The logfile is bigger than 100 MB. Downloading it may take some time!" : "Kartela regjistër është më e madhe se 100 MB. Shkarkimi i saj mund të hajë ca kohë!", + "Security & setup warnings" : "Sinjalizime sigurie & rregullimi", "php does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP-ja nuk duket të jetë rregulluar si duhet për të kërkuar ndryshore mjedisi sistemi. Testi me getenv(\"PATH\") kthen vetëm një përgjigje të zbrazët.", "Please check the installation documentation ↗ for php configuration notes and the php configuration of your server, especially when using php-fpm." : "Ju lutemi, kontrolloni dokumentimin e instalimit ↗ për shënime rreth formësimit të php-së dhe formësimin php të shërbyesit tuaj, veçanërisht kur përdoret using php-fpm.", "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Rregullimi Vetëm-Lexim u aktivizua. Kjo parandalon rregullimin e disa parametrave përmes ndërfaqes web. Më tej, për çdo përditësim kartela lyp të kalohet dorazi si e shkrueshme.", @@ -144,7 +170,15 @@ OC.L10N.register( "It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "S’qe e mundur të përmbushej akti cron përmes CLI-së. U shfaqën gabimet teknike vijuese:", "Please double check the installation guides ↗, and check for any errors or warnings in the log." : "Ju lutemi, rihidhuni një sy udhërrëfyesve të instalimit ↗, dhe kontrolloni te regjistri për çfarëdo gabimesh apo sinjalizimesh.", "All checks passed." : "I kaloi krejt kontrollet.", - "Open documentation" : "Hapni dokumentimin", + "Cron" : "Cron", + "Last cron job execution: %s." : "Përmbushja e fundit e aktit cron: %s.", + "Last cron job execution: %s. Something seems wrong." : "Përmbushja e fundit e aktit cron: %s. Duket se nuk shkon diçka.", + "Cron was not executed yet!" : "Cron-i s’qe ekzekutuar ende!", + "Execute one task with each page loaded" : "Kryeni vetëm një veprim me secilën prej faqeve të ngarkuara", + "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php është regjistruar te një shërbim webcron që ta aktivizojë cron.php-në çdo 15 minuta përmes http-je.", + "Use system's cron service to call the cron.php file every 15 minutes." : "Përdorni shërbimin cron të sistemit që ta aktivizojë cron.php-në çdo 15 minuta.", + "Version" : "Version", + "Sharing" : "Ndarje me të tjerët", "Allow apps to use the Share API" : "Lejoni aplikacionet të përdorin API Share", "Allow users to share via link" : "Lejoji përdoruesit të ndajnë me të tjerët përmes lidhjesh", "Allow public uploads" : "Lejo ngarkime publike", @@ -161,44 +195,7 @@ OC.L10N.register( "Exclude groups from sharing" : "Përjashtoni grupe nga ndarjet", "These groups will still be able to receive shares, but not to initiate them." : "Këto grupe prapë do të jenë në gjendje të marrin ndarje nga të tjerët, por jo të fillojnë të tilla.", "Allow username autocompletion in share dialog. If this is disabled the full username needs to be entered." : "Lejo vetëplotësim emra përdoruesish te dialogu i ndarjeve me të tjerët. Nëse kjo është e çaktivizuar, do të duhet të jepen emra përdoruesish.", - "Last cron job execution: %s." : "Përmbushja e fundit e aktit cron: %s.", - "Last cron job execution: %s. Something seems wrong." : "Përmbushja e fundit e aktit cron: %s. Duket se nuk shkon diçka.", - "Cron was not executed yet!" : "Cron-i s’qe ekzekutuar ende!", - "Execute one task with each page loaded" : "Kryeni vetëm një veprim me secilën prej faqeve të ngarkuara", - "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php është regjistruar te një shërbim webcron që ta aktivizojë cron.php-në çdo 15 minuta përmes http-je.", - "Use system's cron service to call the cron.php file every 15 minutes." : "Përdorni shërbimin cron të sistemit që ta aktivizojë cron.php-në çdo 15 minuta.", - "Enable server-side encryption" : "Aktivizo fshehtëzim më anë të shërbyesit", - "Please read carefully before activating server-side encryption: " : "Ju lutemi, lexoni me kujdes përpara aktivizimit të fshehtëzimeve më anë shërbyesi: ", - "Once encryption is enabled, all files uploaded to the server from that point forward will be encrypted at rest on the server. It will only be possible to disable encryption at a later date if the active encryption module supports that function, and all pre-conditions (e.g. setting a recover key) are met." : "Pasi të jetë aktivizuar fshehtëzimi, krejt kartelat e ngarkuara te shërbyesi nga kjo pikë e tutje do të fshehtëzohen pasi të jenë depozituar në shërbyes. Çaktivizimi i fshehtëzimit në një datë të mëvonshme do të jetë i mundur vetëm nëse moduli aktiv i fshehtëzimeve e mbulon këtë funksion, dhe nëse plotësohen krejt parakushtet (p.sh. caktimi i një kyçi rimarrjesh).", - "Be aware that encryption always increases the file size." : "Kini parasysh që fshehtëzimi e rrit gjithnjë madhësinë e kartelës.", - "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Është gjithmonë ide e mirë të krijohen kopjeruajtje të rregullta të të dhënave tuaja, në rast fshehtëzimi sigurohuni që bëni kopjeruajtje të kyçeve të fshehtëzimit, tok me të dhënat tuaja.", - "This is the final warning: Do you really want to enable encryption?" : "Ky është sinjalizimi përfundimtar: Doni vërtet të aktivizohet fshehtëzimi?", - "Enable encryption" : "Aktivizoni fshehtëzim", - "No encryption module loaded, please enable an encryption module in the app menu." : "S’ka të ngarkuar modul fshehtëzimi, ju lutemi, aktivizoni një modul fshehtëzimi që nga menuja e aplikacionit.", - "Select default encryption module:" : "Përzgjidhni modul parazgjedhje fshehtëzimi:", - "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please enable the \"Default encryption module\" and run 'occ encryption:migrate'" : "Lypset të migroni kyçet tuaj të fshehtëzimit nga fshehtëzimi i vjetër (ownCloud <= 8.0) te i riu. Ju lutemi, aktivizoni \"Modul parazgjedhje fshehtëzimesh\" dhe ekzekutoni 'occ encryption:migrate'", - "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Lypset të migroni kyçet tuaj të fshehtëzimit nga fshehtëzimi i vjetër (ownCloud <= 8.0) te i riu.", - "Start migration" : "Fillo migrimin", - "This is used for sending out notifications." : "Ky përdoret për të dërguar njoftime.", - "Send mode" : "Mënyrë dërgimi", - "Encryption" : "Fshehtëzim", - "From address" : "Nga adresa", - "mail" : "email", - "Authentication method" : "Metodë mirëfilltësimi", - "Authentication required" : "Lypset mirëfilltësim", - "Server address" : "Adresë shërbyesi", - "Port" : "Portë", - "Credentials" : "Kredenciale", - "SMTP Username" : "Emër përdoruesi SMTP", - "SMTP Password" : "Fjalëkalim SMTP", - "Store credentials" : "Depozitoji kredencialet", - "Test email settings" : "Testoni rregullimet e email-it", - "Send email" : "Dërgo email", - "What to log" : "Ç’të regjistrohet", - "Download logfile" : "Shkarkoni kartelën regjistër", - "More" : "Më tepër", - "Less" : "Më pak", - "The logfile is bigger than 100 MB. Downloading it may take some time!" : "Kartela regjistër është më e madhe se 100 MB. Shkarkimi i saj mund të hajë ca kohë!", + "Tips & tricks" : "Ndihmëza & rrengje", "SQLite is used as database. For larger installations we recommend to switch to a different database backend." : "Si bazë të dhënash përdoret SQLite. Për instalime më të ngarkuara, këshillojmë të kalohet në një program tjetër baze të dhënash.", "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "Përdorimi i SQLite-it nuk këshillohet veçanërisht kur përdoret klienti desktop për njëkohësim kartelash.", "To migrate to another database use the command line tool: 'occ db:convert-type', or see the documentation ↗." : "Për të kaluar te një tjetër bazë të dhënash përdorni mjetin rresht urdhrash: 'occ db:convert-type', ose shihni dokumentimin ↗.", @@ -208,7 +205,6 @@ OC.L10N.register( "Improving the config.php" : "Si të përmirësohet config.php", "Theming" : "Ndryshim teme grafike", "Hardening and security guidance" : "Udhëzime për forcim dhe siguri", - "Version" : "Version", "Developer documentation" : "Dokumentim për zhvillues", "Experimental applications ahead" : "Keni përpara aplikacione eksperimentale", "Experimental apps are not checked for security issues, new or known to be unstable and under heavy development. Installing them can cause data loss or security breaches." : "Aplikacionet eksperimentale nuk kontrollohen për probleme sigurie, mund të jenë të rinj ose të njohur si të paqëndrueshëm, dhe nën zhvillim intensiv. Instalimi i tyre mund të shkaktojë humbje të dhënash ose cenim të sigurisë.", @@ -262,16 +258,16 @@ OC.L10N.register( "Change password" : "Ndrysho fjalëkalimin", "Language" : "Gjuhë", "Help translate" : "Ndihmoni në përkthim", - "Name" : "Emër", - "App name" : "Emër aplikacioni", - "Create new app password" : "Krijoni fjalëkalim aplikacioni të ri", - "Username" : "Emër përdoruesi", - "Done" : "U bë", "Get the apps to sync your files" : "Merrni aplikacionet për njëkohësim të kartelave tuaja", "Desktop client" : "Klient desktopi", "Android app" : "Aplikacion për Android", "iOS app" : "Aplikacion për iOS", "Show First Run Wizard again" : "Shfaqe sërish Ndihmësin e Herës së Parë", + "Name" : "Emër", + "App name" : "Emër aplikacioni", + "Create new app password" : "Krijoni fjalëkalim aplikacioni të ri", + "Username" : "Emër përdoruesi", + "Done" : "U bë", "Show storage location" : "Shfaq vendndodhje depozite", "Show last log in" : "Shfaq hyrjen e fundit", "Show user backend" : "Shfaq programin klient të përdoruesit", @@ -290,6 +286,10 @@ OC.L10N.register( "change full name" : "ndryshoni emrin e plotë", "set new password" : "caktoni fjalëkalim të ri", "change email address" : "ndryshoni adresën email", - "Default" : "Parazgjedhje" + "Default" : "Parazgjedhje", + "APCu" : "APCu", + "Redis" : "Redis", + "External Storage" : "Depozitim i Jashtëm", + "Updates" : "Përditësime" }, "nplurals=2; plural=(n != 1);"); diff --git a/settings/l10n/sq.json b/settings/l10n/sq.json index e4b4ac4dee59c..5b83ea9d56d81 100644 --- a/settings/l10n/sq.json +++ b/settings/l10n/sq.json @@ -33,17 +33,6 @@ "Email saved" : "Email-i u ruajt", "Your full name has been changed." : "Emri juaj i plotë u ndryshua.", "Unable to change full name" : "S’arrin të ndryshojë emrin e plotë", - "APCu" : "APCu", - "Redis" : "Redis", - "Security & setup warnings" : "Sinjalizime sigurie & rregullimi", - "Sharing" : "Ndarje me të tjerët", - "Server-side encryption" : "Fshehtëzim më anë shërbyesi", - "External Storage" : "Depozitim i Jashtëm", - "Cron" : "Cron", - "Email server" : "Shërbyes email-esh", - "Log" : "Regjistër", - "Tips & tricks" : "Ndihmëza & rrengje", - "Updates" : "Përditësime", "Couldn't remove app." : "S’hoqi dot aplikacionin.", "Language changed" : "Gjuha u ndryshua", "Invalid request" : "Kërkesë e pavlefshme", @@ -116,17 +105,54 @@ "Sessions" : "Sesione", "App passwords" : "Fjalëkalim aplikacioni", "Sync clients" : "Klientë njëkohësimi", - "Everything (fatal issues, errors, warnings, info, debug)" : "Gjithçka (probleme fatale, gabime, sinjalizime, të dhëna, diagnostikim)", - "Info, warnings, errors and fatal issues" : "Të dhëna, sinjalizime, gabime dhe probleme fatale", - "Warnings, errors and fatal issues" : "Sinjalizime, gabime dhe probleme fatale", - "Errors and fatal issues" : "Gabime dhe probleme fatale", - "Fatal issues only" : "Vetëm probleme fatale", "None" : "Asnjë", "Login" : "Hyrje", "Plain" : "E thjeshtë", "NT LAN Manager" : "Përgjegjës Rrjeti NT", "SSL" : "SSL", "TLS" : "TLS", + "Email server" : "Shërbyes email-esh", + "Open documentation" : "Hapni dokumentimin", + "This is used for sending out notifications." : "Ky përdoret për të dërguar njoftime.", + "Send mode" : "Mënyrë dërgimi", + "Encryption" : "Fshehtëzim", + "From address" : "Nga adresa", + "mail" : "email", + "Authentication method" : "Metodë mirëfilltësimi", + "Authentication required" : "Lypset mirëfilltësim", + "Server address" : "Adresë shërbyesi", + "Port" : "Portë", + "Credentials" : "Kredenciale", + "SMTP Username" : "Emër përdoruesi SMTP", + "SMTP Password" : "Fjalëkalim SMTP", + "Store credentials" : "Depozitoji kredencialet", + "Test email settings" : "Testoni rregullimet e email-it", + "Send email" : "Dërgo email", + "Server-side encryption" : "Fshehtëzim më anë shërbyesi", + "Enable server-side encryption" : "Aktivizo fshehtëzim më anë të shërbyesit", + "Please read carefully before activating server-side encryption: " : "Ju lutemi, lexoni me kujdes përpara aktivizimit të fshehtëzimeve më anë shërbyesi: ", + "Once encryption is enabled, all files uploaded to the server from that point forward will be encrypted at rest on the server. It will only be possible to disable encryption at a later date if the active encryption module supports that function, and all pre-conditions (e.g. setting a recover key) are met." : "Pasi të jetë aktivizuar fshehtëzimi, krejt kartelat e ngarkuara te shërbyesi nga kjo pikë e tutje do të fshehtëzohen pasi të jenë depozituar në shërbyes. Çaktivizimi i fshehtëzimit në një datë të mëvonshme do të jetë i mundur vetëm nëse moduli aktiv i fshehtëzimeve e mbulon këtë funksion, dhe nëse plotësohen krejt parakushtet (p.sh. caktimi i një kyçi rimarrjesh).", + "Be aware that encryption always increases the file size." : "Kini parasysh që fshehtëzimi e rrit gjithnjë madhësinë e kartelës.", + "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Është gjithmonë ide e mirë të krijohen kopjeruajtje të rregullta të të dhënave tuaja, në rast fshehtëzimi sigurohuni që bëni kopjeruajtje të kyçeve të fshehtëzimit, tok me të dhënat tuaja.", + "This is the final warning: Do you really want to enable encryption?" : "Ky është sinjalizimi përfundimtar: Doni vërtet të aktivizohet fshehtëzimi?", + "Enable encryption" : "Aktivizoni fshehtëzim", + "No encryption module loaded, please enable an encryption module in the app menu." : "S’ka të ngarkuar modul fshehtëzimi, ju lutemi, aktivizoni një modul fshehtëzimi që nga menuja e aplikacionit.", + "Select default encryption module:" : "Përzgjidhni modul parazgjedhje fshehtëzimi:", + "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please enable the \"Default encryption module\" and run 'occ encryption:migrate'" : "Lypset të migroni kyçet tuaj të fshehtëzimit nga fshehtëzimi i vjetër (ownCloud <= 8.0) te i riu. Ju lutemi, aktivizoni \"Modul parazgjedhje fshehtëzimesh\" dhe ekzekutoni 'occ encryption:migrate'", + "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Lypset të migroni kyçet tuaj të fshehtëzimit nga fshehtëzimi i vjetër (ownCloud <= 8.0) te i riu.", + "Start migration" : "Fillo migrimin", + "Everything (fatal issues, errors, warnings, info, debug)" : "Gjithçka (probleme fatale, gabime, sinjalizime, të dhëna, diagnostikim)", + "Info, warnings, errors and fatal issues" : "Të dhëna, sinjalizime, gabime dhe probleme fatale", + "Warnings, errors and fatal issues" : "Sinjalizime, gabime dhe probleme fatale", + "Errors and fatal issues" : "Gabime dhe probleme fatale", + "Fatal issues only" : "Vetëm probleme fatale", + "Log" : "Regjistër", + "What to log" : "Ç’të regjistrohet", + "Download logfile" : "Shkarkoni kartelën regjistër", + "More" : "Më tepër", + "Less" : "Më pak", + "The logfile is bigger than 100 MB. Downloading it may take some time!" : "Kartela regjistër është më e madhe se 100 MB. Shkarkimi i saj mund të hajë ca kohë!", + "Security & setup warnings" : "Sinjalizime sigurie & rregullimi", "php does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP-ja nuk duket të jetë rregulluar si duhet për të kërkuar ndryshore mjedisi sistemi. Testi me getenv(\"PATH\") kthen vetëm një përgjigje të zbrazët.", "Please check the installation documentation ↗ for php configuration notes and the php configuration of your server, especially when using php-fpm." : "Ju lutemi, kontrolloni dokumentimin e instalimit ↗ për shënime rreth formësimit të php-së dhe formësimin php të shërbyesit tuaj, veçanërisht kur përdoret using php-fpm.", "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Rregullimi Vetëm-Lexim u aktivizua. Kjo parandalon rregullimin e disa parametrave përmes ndërfaqes web. Më tej, për çdo përditësim kartela lyp të kalohet dorazi si e shkrueshme.", @@ -142,7 +168,15 @@ "It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "S’qe e mundur të përmbushej akti cron përmes CLI-së. U shfaqën gabimet teknike vijuese:", "Please double check the installation guides ↗, and check for any errors or warnings in the log." : "Ju lutemi, rihidhuni një sy udhërrëfyesve të instalimit ↗, dhe kontrolloni te regjistri për çfarëdo gabimesh apo sinjalizimesh.", "All checks passed." : "I kaloi krejt kontrollet.", - "Open documentation" : "Hapni dokumentimin", + "Cron" : "Cron", + "Last cron job execution: %s." : "Përmbushja e fundit e aktit cron: %s.", + "Last cron job execution: %s. Something seems wrong." : "Përmbushja e fundit e aktit cron: %s. Duket se nuk shkon diçka.", + "Cron was not executed yet!" : "Cron-i s’qe ekzekutuar ende!", + "Execute one task with each page loaded" : "Kryeni vetëm një veprim me secilën prej faqeve të ngarkuara", + "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php është regjistruar te një shërbim webcron që ta aktivizojë cron.php-në çdo 15 minuta përmes http-je.", + "Use system's cron service to call the cron.php file every 15 minutes." : "Përdorni shërbimin cron të sistemit që ta aktivizojë cron.php-në çdo 15 minuta.", + "Version" : "Version", + "Sharing" : "Ndarje me të tjerët", "Allow apps to use the Share API" : "Lejoni aplikacionet të përdorin API Share", "Allow users to share via link" : "Lejoji përdoruesit të ndajnë me të tjerët përmes lidhjesh", "Allow public uploads" : "Lejo ngarkime publike", @@ -159,44 +193,7 @@ "Exclude groups from sharing" : "Përjashtoni grupe nga ndarjet", "These groups will still be able to receive shares, but not to initiate them." : "Këto grupe prapë do të jenë në gjendje të marrin ndarje nga të tjerët, por jo të fillojnë të tilla.", "Allow username autocompletion in share dialog. If this is disabled the full username needs to be entered." : "Lejo vetëplotësim emra përdoruesish te dialogu i ndarjeve me të tjerët. Nëse kjo është e çaktivizuar, do të duhet të jepen emra përdoruesish.", - "Last cron job execution: %s." : "Përmbushja e fundit e aktit cron: %s.", - "Last cron job execution: %s. Something seems wrong." : "Përmbushja e fundit e aktit cron: %s. Duket se nuk shkon diçka.", - "Cron was not executed yet!" : "Cron-i s’qe ekzekutuar ende!", - "Execute one task with each page loaded" : "Kryeni vetëm një veprim me secilën prej faqeve të ngarkuara", - "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php është regjistruar te një shërbim webcron që ta aktivizojë cron.php-në çdo 15 minuta përmes http-je.", - "Use system's cron service to call the cron.php file every 15 minutes." : "Përdorni shërbimin cron të sistemit që ta aktivizojë cron.php-në çdo 15 minuta.", - "Enable server-side encryption" : "Aktivizo fshehtëzim më anë të shërbyesit", - "Please read carefully before activating server-side encryption: " : "Ju lutemi, lexoni me kujdes përpara aktivizimit të fshehtëzimeve më anë shërbyesi: ", - "Once encryption is enabled, all files uploaded to the server from that point forward will be encrypted at rest on the server. It will only be possible to disable encryption at a later date if the active encryption module supports that function, and all pre-conditions (e.g. setting a recover key) are met." : "Pasi të jetë aktivizuar fshehtëzimi, krejt kartelat e ngarkuara te shërbyesi nga kjo pikë e tutje do të fshehtëzohen pasi të jenë depozituar në shërbyes. Çaktivizimi i fshehtëzimit në një datë të mëvonshme do të jetë i mundur vetëm nëse moduli aktiv i fshehtëzimeve e mbulon këtë funksion, dhe nëse plotësohen krejt parakushtet (p.sh. caktimi i një kyçi rimarrjesh).", - "Be aware that encryption always increases the file size." : "Kini parasysh që fshehtëzimi e rrit gjithnjë madhësinë e kartelës.", - "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Është gjithmonë ide e mirë të krijohen kopjeruajtje të rregullta të të dhënave tuaja, në rast fshehtëzimi sigurohuni që bëni kopjeruajtje të kyçeve të fshehtëzimit, tok me të dhënat tuaja.", - "This is the final warning: Do you really want to enable encryption?" : "Ky është sinjalizimi përfundimtar: Doni vërtet të aktivizohet fshehtëzimi?", - "Enable encryption" : "Aktivizoni fshehtëzim", - "No encryption module loaded, please enable an encryption module in the app menu." : "S’ka të ngarkuar modul fshehtëzimi, ju lutemi, aktivizoni një modul fshehtëzimi që nga menuja e aplikacionit.", - "Select default encryption module:" : "Përzgjidhni modul parazgjedhje fshehtëzimi:", - "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please enable the \"Default encryption module\" and run 'occ encryption:migrate'" : "Lypset të migroni kyçet tuaj të fshehtëzimit nga fshehtëzimi i vjetër (ownCloud <= 8.0) te i riu. Ju lutemi, aktivizoni \"Modul parazgjedhje fshehtëzimesh\" dhe ekzekutoni 'occ encryption:migrate'", - "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Lypset të migroni kyçet tuaj të fshehtëzimit nga fshehtëzimi i vjetër (ownCloud <= 8.0) te i riu.", - "Start migration" : "Fillo migrimin", - "This is used for sending out notifications." : "Ky përdoret për të dërguar njoftime.", - "Send mode" : "Mënyrë dërgimi", - "Encryption" : "Fshehtëzim", - "From address" : "Nga adresa", - "mail" : "email", - "Authentication method" : "Metodë mirëfilltësimi", - "Authentication required" : "Lypset mirëfilltësim", - "Server address" : "Adresë shërbyesi", - "Port" : "Portë", - "Credentials" : "Kredenciale", - "SMTP Username" : "Emër përdoruesi SMTP", - "SMTP Password" : "Fjalëkalim SMTP", - "Store credentials" : "Depozitoji kredencialet", - "Test email settings" : "Testoni rregullimet e email-it", - "Send email" : "Dërgo email", - "What to log" : "Ç’të regjistrohet", - "Download logfile" : "Shkarkoni kartelën regjistër", - "More" : "Më tepër", - "Less" : "Më pak", - "The logfile is bigger than 100 MB. Downloading it may take some time!" : "Kartela regjistër është më e madhe se 100 MB. Shkarkimi i saj mund të hajë ca kohë!", + "Tips & tricks" : "Ndihmëza & rrengje", "SQLite is used as database. For larger installations we recommend to switch to a different database backend." : "Si bazë të dhënash përdoret SQLite. Për instalime më të ngarkuara, këshillojmë të kalohet në një program tjetër baze të dhënash.", "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "Përdorimi i SQLite-it nuk këshillohet veçanërisht kur përdoret klienti desktop për njëkohësim kartelash.", "To migrate to another database use the command line tool: 'occ db:convert-type', or see the documentation ↗." : "Për të kaluar te një tjetër bazë të dhënash përdorni mjetin rresht urdhrash: 'occ db:convert-type', ose shihni dokumentimin ↗.", @@ -206,7 +203,6 @@ "Improving the config.php" : "Si të përmirësohet config.php", "Theming" : "Ndryshim teme grafike", "Hardening and security guidance" : "Udhëzime për forcim dhe siguri", - "Version" : "Version", "Developer documentation" : "Dokumentim për zhvillues", "Experimental applications ahead" : "Keni përpara aplikacione eksperimentale", "Experimental apps are not checked for security issues, new or known to be unstable and under heavy development. Installing them can cause data loss or security breaches." : "Aplikacionet eksperimentale nuk kontrollohen për probleme sigurie, mund të jenë të rinj ose të njohur si të paqëndrueshëm, dhe nën zhvillim intensiv. Instalimi i tyre mund të shkaktojë humbje të dhënash ose cenim të sigurisë.", @@ -260,16 +256,16 @@ "Change password" : "Ndrysho fjalëkalimin", "Language" : "Gjuhë", "Help translate" : "Ndihmoni në përkthim", - "Name" : "Emër", - "App name" : "Emër aplikacioni", - "Create new app password" : "Krijoni fjalëkalim aplikacioni të ri", - "Username" : "Emër përdoruesi", - "Done" : "U bë", "Get the apps to sync your files" : "Merrni aplikacionet për njëkohësim të kartelave tuaja", "Desktop client" : "Klient desktopi", "Android app" : "Aplikacion për Android", "iOS app" : "Aplikacion për iOS", "Show First Run Wizard again" : "Shfaqe sërish Ndihmësin e Herës së Parë", + "Name" : "Emër", + "App name" : "Emër aplikacioni", + "Create new app password" : "Krijoni fjalëkalim aplikacioni të ri", + "Username" : "Emër përdoruesi", + "Done" : "U bë", "Show storage location" : "Shfaq vendndodhje depozite", "Show last log in" : "Shfaq hyrjen e fundit", "Show user backend" : "Shfaq programin klient të përdoruesit", @@ -288,6 +284,10 @@ "change full name" : "ndryshoni emrin e plotë", "set new password" : "caktoni fjalëkalim të ri", "change email address" : "ndryshoni adresën email", - "Default" : "Parazgjedhje" + "Default" : "Parazgjedhje", + "APCu" : "APCu", + "Redis" : "Redis", + "External Storage" : "Depozitim i Jashtëm", + "Updates" : "Përditësime" },"pluralForm" :"nplurals=2; plural=(n != 1);" } \ No newline at end of file diff --git a/settings/l10n/sv.js b/settings/l10n/sv.js index cdde7e7e6e715..767fe96eebf85 100644 --- a/settings/l10n/sv.js +++ b/settings/l10n/sv.js @@ -35,17 +35,6 @@ OC.L10N.register( "Email saved" : "E-post sparad", "Your full name has been changed." : "Hela ditt namn har ändrats", "Unable to change full name" : "Kunde inte ändra hela namnet", - "APCu" : "APCu", - "Redis" : "Redis", - "Security & setup warnings" : "Säkerhet & systemvarningar", - "Sharing" : "Dela", - "Server-side encryption" : "Serverkryptering", - "External Storage" : "Extern lagring", - "Cron" : "Cron", - "Email server" : "E-post server", - "Log" : "Logg", - "Tips & tricks" : "Tips & tricks", - "Updates" : "Uppdateringar", "Couldn't remove app." : "Kunde inte ta bort applikationen.", "Language changed" : "Språk ändrades", "Invalid request" : "Ogiltig begäran", @@ -117,17 +106,54 @@ OC.L10N.register( "Personal info" : "Personlig information", "Sessions" : "Sessioner", "Sync clients" : "Synk-klienter", - "Everything (fatal issues, errors, warnings, info, debug)" : "Allting (allvarliga fel, fel, varningar, info, debug)", - "Info, warnings, errors and fatal issues" : "Info, varningar och allvarliga fel", - "Warnings, errors and fatal issues" : "Varningar, fel och allvarliga fel", - "Errors and fatal issues" : "Fel och allvarliga fel", - "Fatal issues only" : "Endast allvarliga fel", "None" : "Ingen", "Login" : "Logga in", "Plain" : "Enkel", "NT LAN Manager" : "NT LAN Manager", "SSL" : "SSL", "TLS" : "TLS", + "Email server" : "E-post server", + "Open documentation" : "Öppna dokumentation", + "This is used for sending out notifications." : "Detta används för att skicka ut notifieringar.", + "Send mode" : "Sändningsläge", + "Encryption" : "Kryptering", + "From address" : "Från adress", + "mail" : "mail", + "Authentication method" : "Autentiseringsmetod", + "Authentication required" : "Autentisering krävs", + "Server address" : "Serveradress", + "Port" : "Port", + "Credentials" : "Inloggningsuppgifter", + "SMTP Username" : "SMTP-användarnamn", + "SMTP Password" : "SMTP-lösenord", + "Store credentials" : "Lagra inloggningsuppgifter", + "Test email settings" : "Testa e-postinställningar", + "Send email" : "Skicka e-post", + "Server-side encryption" : "Serverkryptering", + "Enable server-side encryption" : "Aktivera kryptering på server.", + "Please read carefully before activating server-side encryption: " : "OBS: Var god läs noga innan kryptering aktiveras på servern.", + "Once encryption is enabled, all files uploaded to the server from that point forward will be encrypted at rest on the server. It will only be possible to disable encryption at a later date if the active encryption module supports that function, and all pre-conditions (e.g. setting a recover key) are met." : "När kryptering är aktiverat, så kommer alla filer som laddas upp till servern från den tidpunkt och frammåt bli krypterad på servern. Det kommer bara vara möjligt att inaktivera kryptering vid ett senare tillfälle om krypteringsmodulen stödjer den funktionen och alla förvillkor (exempelvis använder återställningsnyckel) är mötta.", + "Be aware that encryption always increases the file size." : "OBS! Observera att kryptering alltid ökar filstorleken", + "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Det är alltid en god ide att skapa regelbundna säkerhetskopior av din data, om kryptering används var säker på att även krypteringsnycklarna säkerhetskopieras tillsammans med din data.", + "This is the final warning: Do you really want to enable encryption?" : "Detta är en slutgiltig varning: Vill du verkligen aktivera kryptering?", + "Enable encryption" : "Aktivera kryptering", + "No encryption module loaded, please enable an encryption module in the app menu." : "Ingen krypteringsmodul laddad, var god aktivera krypteringsmodulen i applikationsmenyn.", + "Select default encryption module:" : "Välj standard krypteringsmodul:", + "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please enable the \"Default encryption module\" and run 'occ encryption:migrate'" : "Du behöver migrera dina krypteringsnycklar från den gamla krypteringen (owncloud <= 8.0) till den nya. Var god aktivera \"Default encryption module\" och kör 'occ encryption:migrate'.", + "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Du behöver migrera dina krypteringsnycklar från den gamla krypteringen (owncloud <= 8.0) till den nya.", + "Start migration" : "Starta migrering", + "Everything (fatal issues, errors, warnings, info, debug)" : "Allting (allvarliga fel, fel, varningar, info, debug)", + "Info, warnings, errors and fatal issues" : "Info, varningar och allvarliga fel", + "Warnings, errors and fatal issues" : "Varningar, fel och allvarliga fel", + "Errors and fatal issues" : "Fel och allvarliga fel", + "Fatal issues only" : "Endast allvarliga fel", + "Log" : "Logg", + "What to log" : "Vad som ska loggas", + "Download logfile" : "Ladda ner loggfil", + "More" : "Mer", + "Less" : "Mindre", + "The logfile is bigger than 100 MB. Downloading it may take some time!" : "Logfilen är större än 100 MB. Nerladdningen kan ta en stund!", + "Security & setup warnings" : "Säkerhet & systemvarningar", "php does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "php verkar ej vara konfigurerat för att kunna skicka förfrågan om systemmiljövariabler. Testet med getenv(\"PATH\") returnerade bara ett tomt svar.", "Please check the installation documentation ↗ for php configuration notes and the php configuration of your server, especially when using php-fpm." : "Var god kontrollera installationsdokumentationen ↗ för konfigurationsanteckningar för php och för php konfigurationen för din server, speciellt när php-fpm används.", "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Läs-bara konfigureringen har blivit aktiv. Detta förhindrar att några konfigureringar kan sättas via web-gränssnittet.", @@ -143,7 +169,15 @@ OC.L10N.register( "It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "Det var ej möjligt att exekvera cronjob via CLI. Följande tekniska fel har uppstått:", "Please double check the installation guides ↗, and check for any errors or warnings in the log." : "Var god dubbelkontrollera installationsguiden ↗, och kontrollera efter några fel eller varningar i logfilen.", "All checks passed." : "Alla kontroller lyckades!", - "Open documentation" : "Öppna dokumentation", + "Cron" : "Cron", + "Last cron job execution: %s." : "Sista cron kördes %s", + "Last cron job execution: %s. Something seems wrong." : "Sista cron kördes %s. Något verkar vara fel.", + "Cron was not executed yet!" : "Cron har inte körts ännu!", + "Execute one task with each page loaded" : "Exekvera en uppgift vid varje sidladdning", + "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php är registrerad som en webcron service att ropa på cron.php varje 15 minuter över http.", + "Use system's cron service to call the cron.php file every 15 minutes." : "Använd systemets cron-tjänst för att anropa cron.php var 15:e minut.", + "Version" : "Version", + "Sharing" : "Dela", "Allow apps to use the Share API" : "Tillåt applikationer att använda delat API", "Allow users to share via link" : "Tillåt användare att dela via länk", "Allow public uploads" : "Tillåt offentlig uppladdning", @@ -160,44 +194,7 @@ OC.L10N.register( "Exclude groups from sharing" : "Exkludera grupp från att dela", "These groups will still be able to receive shares, but not to initiate them." : "Dessa grupper kommer fortfarande kunna ta emot delningar, men inte skapa delningar.", "Allow username autocompletion in share dialog. If this is disabled the full username needs to be entered." : "Tillåt användarnamn att autokompletteras i delningsfönstret. Om det är inaktiverat krävs fullständigt användarnamn i rutan.", - "Last cron job execution: %s." : "Sista cron kördes %s", - "Last cron job execution: %s. Something seems wrong." : "Sista cron kördes %s. Något verkar vara fel.", - "Cron was not executed yet!" : "Cron har inte körts ännu!", - "Execute one task with each page loaded" : "Exekvera en uppgift vid varje sidladdning", - "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php är registrerad som en webcron service att ropa på cron.php varje 15 minuter över http.", - "Use system's cron service to call the cron.php file every 15 minutes." : "Använd systemets cron-tjänst för att anropa cron.php var 15:e minut.", - "Enable server-side encryption" : "Aktivera kryptering på server.", - "Please read carefully before activating server-side encryption: " : "OBS: Var god läs noga innan kryptering aktiveras på servern.", - "Once encryption is enabled, all files uploaded to the server from that point forward will be encrypted at rest on the server. It will only be possible to disable encryption at a later date if the active encryption module supports that function, and all pre-conditions (e.g. setting a recover key) are met." : "När kryptering är aktiverat, så kommer alla filer som laddas upp till servern från den tidpunkt och frammåt bli krypterad på servern. Det kommer bara vara möjligt att inaktivera kryptering vid ett senare tillfälle om krypteringsmodulen stödjer den funktionen och alla förvillkor (exempelvis använder återställningsnyckel) är mötta.", - "Be aware that encryption always increases the file size." : "OBS! Observera att kryptering alltid ökar filstorleken", - "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Det är alltid en god ide att skapa regelbundna säkerhetskopior av din data, om kryptering används var säker på att även krypteringsnycklarna säkerhetskopieras tillsammans med din data.", - "This is the final warning: Do you really want to enable encryption?" : "Detta är en slutgiltig varning: Vill du verkligen aktivera kryptering?", - "Enable encryption" : "Aktivera kryptering", - "No encryption module loaded, please enable an encryption module in the app menu." : "Ingen krypteringsmodul laddad, var god aktivera krypteringsmodulen i applikationsmenyn.", - "Select default encryption module:" : "Välj standard krypteringsmodul:", - "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please enable the \"Default encryption module\" and run 'occ encryption:migrate'" : "Du behöver migrera dina krypteringsnycklar från den gamla krypteringen (owncloud <= 8.0) till den nya. Var god aktivera \"Default encryption module\" och kör 'occ encryption:migrate'.", - "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Du behöver migrera dina krypteringsnycklar från den gamla krypteringen (owncloud <= 8.0) till den nya.", - "Start migration" : "Starta migrering", - "This is used for sending out notifications." : "Detta används för att skicka ut notifieringar.", - "Send mode" : "Sändningsläge", - "Encryption" : "Kryptering", - "From address" : "Från adress", - "mail" : "mail", - "Authentication method" : "Autentiseringsmetod", - "Authentication required" : "Autentisering krävs", - "Server address" : "Serveradress", - "Port" : "Port", - "Credentials" : "Inloggningsuppgifter", - "SMTP Username" : "SMTP-användarnamn", - "SMTP Password" : "SMTP-lösenord", - "Store credentials" : "Lagra inloggningsuppgifter", - "Test email settings" : "Testa e-postinställningar", - "Send email" : "Skicka e-post", - "What to log" : "Vad som ska loggas", - "Download logfile" : "Ladda ner loggfil", - "More" : "Mer", - "Less" : "Mindre", - "The logfile is bigger than 100 MB. Downloading it may take some time!" : "Logfilen är större än 100 MB. Nerladdningen kan ta en stund!", + "Tips & tricks" : "Tips & tricks", "SQLite is used as database. For larger installations we recommend to switch to a different database backend." : "SQLite används som databas. För större installationer så rekommenderar vi ett byte till en annan databasmotor.", "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "Speciellt när desktop klienten för filsynkronisering används så avråds användande av SQLite.", "To migrate to another database use the command line tool: 'occ db:convert-type', or see the documentation ↗." : "För att migrera till en annan databas använd kommandoverktyget 'occ db:convert-type' eller se dokumentationen ↗", @@ -207,7 +204,6 @@ OC.L10N.register( "Improving the config.php" : "Förbättra config.php", "Theming" : "Teman", "Hardening and security guidance" : "Säkerhetsriktlinjer", - "Version" : "Version", "Developer documentation" : "Utvecklar dokumentation", "Experimental applications ahead" : "Experimentiella applikationer framför", "Experimental apps are not checked for security issues, new or known to be unstable and under heavy development. Installing them can cause data loss or security breaches." : "Experimentella applikationer är ej kontrollerade för säkerhetsproblem, nya eller kända att vara instabila och under föränderlig utveckling. Installation utav dessa kan orsaka dataförlust eller säkerhetsbrott.", @@ -261,14 +257,14 @@ OC.L10N.register( "Change password" : "Ändra lösenord", "Language" : "Språk", "Help translate" : "Hjälp att översätta", - "Name" : "Namn", - "Username" : "Användarnamn", - "Done" : "Färdig", "Get the apps to sync your files" : "Skaffa apparna för att synkronisera dina filer", "Desktop client" : "Skrivbordsklient", "Android app" : "Android-app", "iOS app" : "iOS-app", "Show First Run Wizard again" : "Visa Första uppstarts-guiden igen", + "Name" : "Namn", + "Username" : "Användarnamn", + "Done" : "Färdig", "Show storage location" : "Visa lagringsplats", "Show last log in" : "Visa senaste inloggning", "Show user backend" : "Visa användar-backend", @@ -287,6 +283,10 @@ OC.L10N.register( "change full name" : "ändra hela namnet", "set new password" : "ange nytt lösenord", "change email address" : "ändra e-postadress", - "Default" : "Förvald" + "Default" : "Förvald", + "APCu" : "APCu", + "Redis" : "Redis", + "External Storage" : "Extern lagring", + "Updates" : "Uppdateringar" }, "nplurals=2; plural=(n != 1);"); diff --git a/settings/l10n/sv.json b/settings/l10n/sv.json index 6f77c0103079e..df7cda217e367 100644 --- a/settings/l10n/sv.json +++ b/settings/l10n/sv.json @@ -33,17 +33,6 @@ "Email saved" : "E-post sparad", "Your full name has been changed." : "Hela ditt namn har ändrats", "Unable to change full name" : "Kunde inte ändra hela namnet", - "APCu" : "APCu", - "Redis" : "Redis", - "Security & setup warnings" : "Säkerhet & systemvarningar", - "Sharing" : "Dela", - "Server-side encryption" : "Serverkryptering", - "External Storage" : "Extern lagring", - "Cron" : "Cron", - "Email server" : "E-post server", - "Log" : "Logg", - "Tips & tricks" : "Tips & tricks", - "Updates" : "Uppdateringar", "Couldn't remove app." : "Kunde inte ta bort applikationen.", "Language changed" : "Språk ändrades", "Invalid request" : "Ogiltig begäran", @@ -115,17 +104,54 @@ "Personal info" : "Personlig information", "Sessions" : "Sessioner", "Sync clients" : "Synk-klienter", - "Everything (fatal issues, errors, warnings, info, debug)" : "Allting (allvarliga fel, fel, varningar, info, debug)", - "Info, warnings, errors and fatal issues" : "Info, varningar och allvarliga fel", - "Warnings, errors and fatal issues" : "Varningar, fel och allvarliga fel", - "Errors and fatal issues" : "Fel och allvarliga fel", - "Fatal issues only" : "Endast allvarliga fel", "None" : "Ingen", "Login" : "Logga in", "Plain" : "Enkel", "NT LAN Manager" : "NT LAN Manager", "SSL" : "SSL", "TLS" : "TLS", + "Email server" : "E-post server", + "Open documentation" : "Öppna dokumentation", + "This is used for sending out notifications." : "Detta används för att skicka ut notifieringar.", + "Send mode" : "Sändningsläge", + "Encryption" : "Kryptering", + "From address" : "Från adress", + "mail" : "mail", + "Authentication method" : "Autentiseringsmetod", + "Authentication required" : "Autentisering krävs", + "Server address" : "Serveradress", + "Port" : "Port", + "Credentials" : "Inloggningsuppgifter", + "SMTP Username" : "SMTP-användarnamn", + "SMTP Password" : "SMTP-lösenord", + "Store credentials" : "Lagra inloggningsuppgifter", + "Test email settings" : "Testa e-postinställningar", + "Send email" : "Skicka e-post", + "Server-side encryption" : "Serverkryptering", + "Enable server-side encryption" : "Aktivera kryptering på server.", + "Please read carefully before activating server-side encryption: " : "OBS: Var god läs noga innan kryptering aktiveras på servern.", + "Once encryption is enabled, all files uploaded to the server from that point forward will be encrypted at rest on the server. It will only be possible to disable encryption at a later date if the active encryption module supports that function, and all pre-conditions (e.g. setting a recover key) are met." : "När kryptering är aktiverat, så kommer alla filer som laddas upp till servern från den tidpunkt och frammåt bli krypterad på servern. Det kommer bara vara möjligt att inaktivera kryptering vid ett senare tillfälle om krypteringsmodulen stödjer den funktionen och alla förvillkor (exempelvis använder återställningsnyckel) är mötta.", + "Be aware that encryption always increases the file size." : "OBS! Observera att kryptering alltid ökar filstorleken", + "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Det är alltid en god ide att skapa regelbundna säkerhetskopior av din data, om kryptering används var säker på att även krypteringsnycklarna säkerhetskopieras tillsammans med din data.", + "This is the final warning: Do you really want to enable encryption?" : "Detta är en slutgiltig varning: Vill du verkligen aktivera kryptering?", + "Enable encryption" : "Aktivera kryptering", + "No encryption module loaded, please enable an encryption module in the app menu." : "Ingen krypteringsmodul laddad, var god aktivera krypteringsmodulen i applikationsmenyn.", + "Select default encryption module:" : "Välj standard krypteringsmodul:", + "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please enable the \"Default encryption module\" and run 'occ encryption:migrate'" : "Du behöver migrera dina krypteringsnycklar från den gamla krypteringen (owncloud <= 8.0) till den nya. Var god aktivera \"Default encryption module\" och kör 'occ encryption:migrate'.", + "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Du behöver migrera dina krypteringsnycklar från den gamla krypteringen (owncloud <= 8.0) till den nya.", + "Start migration" : "Starta migrering", + "Everything (fatal issues, errors, warnings, info, debug)" : "Allting (allvarliga fel, fel, varningar, info, debug)", + "Info, warnings, errors and fatal issues" : "Info, varningar och allvarliga fel", + "Warnings, errors and fatal issues" : "Varningar, fel och allvarliga fel", + "Errors and fatal issues" : "Fel och allvarliga fel", + "Fatal issues only" : "Endast allvarliga fel", + "Log" : "Logg", + "What to log" : "Vad som ska loggas", + "Download logfile" : "Ladda ner loggfil", + "More" : "Mer", + "Less" : "Mindre", + "The logfile is bigger than 100 MB. Downloading it may take some time!" : "Logfilen är större än 100 MB. Nerladdningen kan ta en stund!", + "Security & setup warnings" : "Säkerhet & systemvarningar", "php does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "php verkar ej vara konfigurerat för att kunna skicka förfrågan om systemmiljövariabler. Testet med getenv(\"PATH\") returnerade bara ett tomt svar.", "Please check the installation documentation ↗ for php configuration notes and the php configuration of your server, especially when using php-fpm." : "Var god kontrollera installationsdokumentationen ↗ för konfigurationsanteckningar för php och för php konfigurationen för din server, speciellt när php-fpm används.", "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Läs-bara konfigureringen har blivit aktiv. Detta förhindrar att några konfigureringar kan sättas via web-gränssnittet.", @@ -141,7 +167,15 @@ "It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "Det var ej möjligt att exekvera cronjob via CLI. Följande tekniska fel har uppstått:", "Please double check the installation guides ↗, and check for any errors or warnings in the log." : "Var god dubbelkontrollera installationsguiden ↗, och kontrollera efter några fel eller varningar i logfilen.", "All checks passed." : "Alla kontroller lyckades!", - "Open documentation" : "Öppna dokumentation", + "Cron" : "Cron", + "Last cron job execution: %s." : "Sista cron kördes %s", + "Last cron job execution: %s. Something seems wrong." : "Sista cron kördes %s. Något verkar vara fel.", + "Cron was not executed yet!" : "Cron har inte körts ännu!", + "Execute one task with each page loaded" : "Exekvera en uppgift vid varje sidladdning", + "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php är registrerad som en webcron service att ropa på cron.php varje 15 minuter över http.", + "Use system's cron service to call the cron.php file every 15 minutes." : "Använd systemets cron-tjänst för att anropa cron.php var 15:e minut.", + "Version" : "Version", + "Sharing" : "Dela", "Allow apps to use the Share API" : "Tillåt applikationer att använda delat API", "Allow users to share via link" : "Tillåt användare att dela via länk", "Allow public uploads" : "Tillåt offentlig uppladdning", @@ -158,44 +192,7 @@ "Exclude groups from sharing" : "Exkludera grupp från att dela", "These groups will still be able to receive shares, but not to initiate them." : "Dessa grupper kommer fortfarande kunna ta emot delningar, men inte skapa delningar.", "Allow username autocompletion in share dialog. If this is disabled the full username needs to be entered." : "Tillåt användarnamn att autokompletteras i delningsfönstret. Om det är inaktiverat krävs fullständigt användarnamn i rutan.", - "Last cron job execution: %s." : "Sista cron kördes %s", - "Last cron job execution: %s. Something seems wrong." : "Sista cron kördes %s. Något verkar vara fel.", - "Cron was not executed yet!" : "Cron har inte körts ännu!", - "Execute one task with each page loaded" : "Exekvera en uppgift vid varje sidladdning", - "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php är registrerad som en webcron service att ropa på cron.php varje 15 minuter över http.", - "Use system's cron service to call the cron.php file every 15 minutes." : "Använd systemets cron-tjänst för att anropa cron.php var 15:e minut.", - "Enable server-side encryption" : "Aktivera kryptering på server.", - "Please read carefully before activating server-side encryption: " : "OBS: Var god läs noga innan kryptering aktiveras på servern.", - "Once encryption is enabled, all files uploaded to the server from that point forward will be encrypted at rest on the server. It will only be possible to disable encryption at a later date if the active encryption module supports that function, and all pre-conditions (e.g. setting a recover key) are met." : "När kryptering är aktiverat, så kommer alla filer som laddas upp till servern från den tidpunkt och frammåt bli krypterad på servern. Det kommer bara vara möjligt att inaktivera kryptering vid ett senare tillfälle om krypteringsmodulen stödjer den funktionen och alla förvillkor (exempelvis använder återställningsnyckel) är mötta.", - "Be aware that encryption always increases the file size." : "OBS! Observera att kryptering alltid ökar filstorleken", - "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Det är alltid en god ide att skapa regelbundna säkerhetskopior av din data, om kryptering används var säker på att även krypteringsnycklarna säkerhetskopieras tillsammans med din data.", - "This is the final warning: Do you really want to enable encryption?" : "Detta är en slutgiltig varning: Vill du verkligen aktivera kryptering?", - "Enable encryption" : "Aktivera kryptering", - "No encryption module loaded, please enable an encryption module in the app menu." : "Ingen krypteringsmodul laddad, var god aktivera krypteringsmodulen i applikationsmenyn.", - "Select default encryption module:" : "Välj standard krypteringsmodul:", - "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please enable the \"Default encryption module\" and run 'occ encryption:migrate'" : "Du behöver migrera dina krypteringsnycklar från den gamla krypteringen (owncloud <= 8.0) till den nya. Var god aktivera \"Default encryption module\" och kör 'occ encryption:migrate'.", - "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Du behöver migrera dina krypteringsnycklar från den gamla krypteringen (owncloud <= 8.0) till den nya.", - "Start migration" : "Starta migrering", - "This is used for sending out notifications." : "Detta används för att skicka ut notifieringar.", - "Send mode" : "Sändningsläge", - "Encryption" : "Kryptering", - "From address" : "Från adress", - "mail" : "mail", - "Authentication method" : "Autentiseringsmetod", - "Authentication required" : "Autentisering krävs", - "Server address" : "Serveradress", - "Port" : "Port", - "Credentials" : "Inloggningsuppgifter", - "SMTP Username" : "SMTP-användarnamn", - "SMTP Password" : "SMTP-lösenord", - "Store credentials" : "Lagra inloggningsuppgifter", - "Test email settings" : "Testa e-postinställningar", - "Send email" : "Skicka e-post", - "What to log" : "Vad som ska loggas", - "Download logfile" : "Ladda ner loggfil", - "More" : "Mer", - "Less" : "Mindre", - "The logfile is bigger than 100 MB. Downloading it may take some time!" : "Logfilen är större än 100 MB. Nerladdningen kan ta en stund!", + "Tips & tricks" : "Tips & tricks", "SQLite is used as database. For larger installations we recommend to switch to a different database backend." : "SQLite används som databas. För större installationer så rekommenderar vi ett byte till en annan databasmotor.", "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "Speciellt när desktop klienten för filsynkronisering används så avråds användande av SQLite.", "To migrate to another database use the command line tool: 'occ db:convert-type', or see the documentation ↗." : "För att migrera till en annan databas använd kommandoverktyget 'occ db:convert-type' eller se dokumentationen ↗", @@ -205,7 +202,6 @@ "Improving the config.php" : "Förbättra config.php", "Theming" : "Teman", "Hardening and security guidance" : "Säkerhetsriktlinjer", - "Version" : "Version", "Developer documentation" : "Utvecklar dokumentation", "Experimental applications ahead" : "Experimentiella applikationer framför", "Experimental apps are not checked for security issues, new or known to be unstable and under heavy development. Installing them can cause data loss or security breaches." : "Experimentella applikationer är ej kontrollerade för säkerhetsproblem, nya eller kända att vara instabila och under föränderlig utveckling. Installation utav dessa kan orsaka dataförlust eller säkerhetsbrott.", @@ -259,14 +255,14 @@ "Change password" : "Ändra lösenord", "Language" : "Språk", "Help translate" : "Hjälp att översätta", - "Name" : "Namn", - "Username" : "Användarnamn", - "Done" : "Färdig", "Get the apps to sync your files" : "Skaffa apparna för att synkronisera dina filer", "Desktop client" : "Skrivbordsklient", "Android app" : "Android-app", "iOS app" : "iOS-app", "Show First Run Wizard again" : "Visa Första uppstarts-guiden igen", + "Name" : "Namn", + "Username" : "Användarnamn", + "Done" : "Färdig", "Show storage location" : "Visa lagringsplats", "Show last log in" : "Visa senaste inloggning", "Show user backend" : "Visa användar-backend", @@ -285,6 +281,10 @@ "change full name" : "ändra hela namnet", "set new password" : "ange nytt lösenord", "change email address" : "ändra e-postadress", - "Default" : "Förvald" + "Default" : "Förvald", + "APCu" : "APCu", + "Redis" : "Redis", + "External Storage" : "Extern lagring", + "Updates" : "Uppdateringar" },"pluralForm" :"nplurals=2; plural=(n != 1);" } \ No newline at end of file diff --git a/settings/l10n/th_TH.js b/settings/l10n/th_TH.js index fdbe3d7015e22..41f545c4517f8 100644 --- a/settings/l10n/th_TH.js +++ b/settings/l10n/th_TH.js @@ -35,17 +35,6 @@ OC.L10N.register( "Email saved" : "อีเมลถูกบันทึกแล้ว", "Your full name has been changed." : "ชื่อเต็มของคุณถูกเปลี่ยนแปลง", "Unable to change full name" : "ไม่สามารถเปลี่ยนชื่อเต็ม", - "APCu" : "APCu", - "Redis" : "Redis", - "Security & setup warnings" : "คำเตือนความปลอดภัยและการติดตั้ง", - "Sharing" : "แชร์ข้อมูล", - "Server-side encryption" : "เข้ารหัสฝั่งเซิร์ฟเวอร์", - "External Storage" : "พื้นทีจัดเก็บข้อมูลจากภายนอก", - "Cron" : "Cron", - "Email server" : "อีเมลเซิร์ฟเวอร์", - "Log" : "บันทึกการเปลี่ยนแปลง", - "Tips & tricks" : "เคล็ดลับและเทคนิค", - "Updates" : "อัพเดท", "Couldn't remove app." : "ไม่สามารถลบแอพฯ", "Language changed" : "เปลี่ยนภาษาเรียบร้อยแล้ว", "Invalid request" : "คำร้องขอไม่ถูกต้อง", @@ -112,17 +101,54 @@ OC.L10N.register( "Unlimited" : "ไม่จำกัด", "Personal info" : "ข้อมูลส่วนบุคคล", "Sync clients" : "ประสานข้อมูลไคลเอนต์", - "Everything (fatal issues, errors, warnings, info, debug)" : "ทุกอย่าง (ปัญหาร้ายแรง ข้อผิดพลาด คำเตือน ข้อมูล การแก้ปัญหา)", - "Info, warnings, errors and fatal issues" : "ข้อมูล คำเตือน ข้อผิดพลาดและปัญหาร้ายแรง", - "Warnings, errors and fatal issues" : "คำเตือนข้อผิดพลาดและปัญหาที่ร้ายแรง", - "Errors and fatal issues" : "ข้อผิดพลาดและปัญหาที่ร้ายแรง", - "Fatal issues only" : "ปัญหาร้ายแรงเท่านั้น", "None" : "ไม่มี", "Login" : "เข้าสู่ระบบ", "Plain" : "ธรรมดา", "NT LAN Manager" : "ตัวจัดการ NT LAN", "SSL" : "SSL", "TLS" : "TLS", + "Email server" : "อีเมลเซิร์ฟเวอร์", + "Open documentation" : "เปิดเอกสาร", + "This is used for sending out notifications." : "นี้จะใช้สำหรับการส่งออกการแจ้งเตือน", + "Send mode" : "โหมดการส่ง", + "Encryption" : "การเข้ารหัส", + "From address" : "จากที่อยู่", + "mail" : "อีเมล", + "Authentication method" : "วิธีการตรวจสอบ", + "Authentication required" : "จำเป็นต้องตรวจสอบความถูกต้อง", + "Server address" : "ที่อยู่เซิร์ฟเวอร์", + "Port" : "พอร์ต", + "Credentials" : "ข้อมูลส่วนตัวสำหรับเข้าระบบ", + "SMTP Username" : "ชื่อผู้ใช้ SMTP", + "SMTP Password" : "รหัสผ่าน SMTP", + "Store credentials" : "ข้อมูลประจำตัวของร้านค้า", + "Test email settings" : "ทดสอบการตั้งค่าอีเมล", + "Send email" : "ส่งอีเมล", + "Server-side encryption" : "เข้ารหัสฝั่งเซิร์ฟเวอร์", + "Enable server-side encryption" : "เปิดการใช้งานเข้ารหัสฝั่งเซิร์ฟเวอร์", + "Please read carefully before activating server-side encryption: " : "กรุณาอ่านอย่างละเอียดก่อนที่จะเปิดใช้งานการเข้ารหัสฝั่งเซิร์ฟเวอร์:", + "Once encryption is enabled, all files uploaded to the server from that point forward will be encrypted at rest on the server. It will only be possible to disable encryption at a later date if the active encryption module supports that function, and all pre-conditions (e.g. setting a recover key) are met." : "เมื่อเปิดใช้งานการเข้ารหัส ไฟล์ทั้งหมดที่อัพโหลดไปยังเซิร์ฟเวอร์นั้นจะถูกเข้ารหัสในส่วนของเซิฟเวอร์ มันเป็นไปได้ที่จะปิดใช้งานการเข้ารหัสในภายหลัง ถ้าเปิดใช้ฟังก์ชั่นการสนับสนุนโมดูลการเข้ารหัสที่และเงื่อนไขก่อน (เช่น การตั้งค่าคีย์กู้คืน)", + "Be aware that encryption always increases the file size." : "โปรดทราบว่าหากเข้ารหัสไฟล์จะทำให้ขนาดของไฟล์ใหญ่ขึ้น", + "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "มันจะดีถ้าคุณสำรองข้อมูลบ่อยๆ ในกรณีของการเข้ารหัสโปรดแน่ใจว่าจะสำรองคีย์การเข้ารหัสลับพร้อมกับข้อมูลของคุณ", + "This is the final warning: Do you really want to enable encryption?" : "นี่คือการเตือนครั้งสุดท้าย: คุณต้องการที่จะเปิดใช้การเข้ารหัส?", + "Enable encryption" : "เปิดใช้งานการเข้ารหัส", + "No encryption module loaded, please enable an encryption module in the app menu." : "ไม่มีโมดูลการเข้ารหัสโหลดโปรดเปิดใช้งานโมดูลการเข้ารหัสในเมนูแอพฯ", + "Select default encryption module:" : "เลือกค่าเริ่มต้นโมดูลการเข้ารหัส:", + "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please enable the \"Default encryption module\" and run 'occ encryption:migrate'" : "คุณจำเป็นต้องโอนย้ายคีย์การเข้ารหัสลับของคุณจากการเข้ารหัสเก่า (ownCloud <= 8.0) ไปใหม่ กรุณาเปิดใช้งาน \"โมดูลการเข้ารหัสเริ่มต้น\" และเรียกใช้ 'occ encryption:migrate'", + "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "คุณจำเป็นต้องโอนย้ายคีย์การเข้ารหัสลับของคุณจากการเข้ารหัสเก่า (ownCloud <= 8.0) ไปใหม่", + "Start migration" : "เริ่มการโยกย้าย", + "Everything (fatal issues, errors, warnings, info, debug)" : "ทุกอย่าง (ปัญหาร้ายแรง ข้อผิดพลาด คำเตือน ข้อมูล การแก้ปัญหา)", + "Info, warnings, errors and fatal issues" : "ข้อมูล คำเตือน ข้อผิดพลาดและปัญหาร้ายแรง", + "Warnings, errors and fatal issues" : "คำเตือนข้อผิดพลาดและปัญหาที่ร้ายแรง", + "Errors and fatal issues" : "ข้อผิดพลาดและปัญหาที่ร้ายแรง", + "Fatal issues only" : "ปัญหาร้ายแรงเท่านั้น", + "Log" : "บันทึกการเปลี่ยนแปลง", + "What to log" : "อะไรที่จะบันทึก", + "Download logfile" : "ดาวน์โหลดไฟล์บันทึก", + "More" : "มาก", + "Less" : "ย่อ", + "The logfile is bigger than 100 MB. Downloading it may take some time!" : "ไฟล์บันทึกมีขนาดใหญ่กว่า 100 เมกะไบต์ มันอาจจะใช้เวลาดาวน์โหลดนาน!", + "Security & setup warnings" : "คำเตือนความปลอดภัยและการติดตั้ง", "php does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "ไม่ได้ติดตั้งphp อย่างถูกต้องค้นหาตัวแปรสภาพแวดล้อมของระบบการทดสอบกับ getenv(\"PATH\") ส่งกลับเฉพาะการตอบสนองที่ว่างเปล่า", "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "ตั้งค่าให้สามารถอ่านได้อย่างเดียวถูกเปิดใช้งาน นี้จะช่วยป้องกันการตั้งค่าผ่านทางบางเว็บอินเตอร์เฟซ นอกจากนี้จะต้องเขียนไฟล์ด้วยตนเองสำหรับทุกการอัพเดท", "PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "เห็นได้ชัดว่าการตั้งค่า PHP จะตัดบล็อคเอกสารแบบอินไลน์ ซึ่งจะทำให้แอพพลิเคชันอีกหลายแกนไม่สามารถเข้าถึงได้", @@ -135,7 +161,15 @@ OC.L10N.register( "If your installation is not installed in the root of the domain and uses system cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "หากการติดตั้งของคุณไม่ได้ติดตั้งในรากของโดเมนและใช้ระบบ cron อาจมีปัญหาเกี่ยวกับการสร้าง URL เพื่อหลีกเลี่ยงปัญหาเหล่านี้โปรดไปตั้งค่า \"overwrite.cli.url\" ในไฟล์ config.php ของคุณไปยังเส้นทาง webroot ของการติดตั้งของคุณ (แนะนำ: \"%s\")", "It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "มันเป็นไปไม่ได้ที่จะดำเนินการ cronjob ผ่านทาง CLI ข้อผิดพลาดทางเทคนิคต่อไปนี้จะปรากฏ:", "All checks passed." : "ผ่านการตรวจสอบทั้งหมด", - "Open documentation" : "เปิดเอกสาร", + "Cron" : "Cron", + "Last cron job execution: %s." : "การดำเนินการ cron job ล่าสุด: %s", + "Last cron job execution: %s. Something seems wrong." : "การดำเนินการ cron job ล่าสุด: %s ดูเหมือนมีบางสิ่งไม่ถูกต้อง", + "Cron was not executed yet!" : "Cron ไม่ได้ถูกดำเนินการ!", + "Execute one task with each page loaded" : "ประมวลผลหนึ่งงาน ในแต่ละครั้งที่มีการโหลดหน้าเว็บ", + "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php ได้ถูกลงทะเบียนที่บริการ Webcron เพื่อเรียก cron.php ทุกๆ 15 นาที บน Http", + "Use system's cron service to call the cron.php file every 15 minutes." : "ใช้ระบบบริการ cron เพื่อเรียกไฟล์ cron.php ทุก 15 นาที", + "Version" : "รุ่น", + "Sharing" : "แชร์ข้อมูล", "Allow apps to use the Share API" : "อนุญาตให้แอปฯสามารถใช้ API สำหรับแชร์ข้อมูลได้", "Allow users to share via link" : "อนุญาตให้ผู้ใช้สามารถแชร์ผ่านทางลิงค์", "Allow public uploads" : "อนุญาตให้อัพโหลดสาธารณะ", @@ -152,44 +186,7 @@ OC.L10N.register( "Exclude groups from sharing" : "ไม่รวมกลุ่มที่กำลังแชร์", "These groups will still be able to receive shares, but not to initiate them." : "กลุ่มนี้จะยังคงสามารถได้รับการแชร์ แต่พวกเขาจะไม่รู้จักมัน", "Allow username autocompletion in share dialog. If this is disabled the full username needs to be entered." : "อนุญาตให้เติมข้อความชื่อผู้ใช้อัตโนมัติในกล่องข้อความแชร์ ถ้านี้ถูกปิดใช้งานจะต้องกรอกชื่อผู้ใช้เอง", - "Last cron job execution: %s." : "การดำเนินการ cron job ล่าสุด: %s", - "Last cron job execution: %s. Something seems wrong." : "การดำเนินการ cron job ล่าสุด: %s ดูเหมือนมีบางสิ่งไม่ถูกต้อง", - "Cron was not executed yet!" : "Cron ไม่ได้ถูกดำเนินการ!", - "Execute one task with each page loaded" : "ประมวลผลหนึ่งงาน ในแต่ละครั้งที่มีการโหลดหน้าเว็บ", - "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php ได้ถูกลงทะเบียนที่บริการ Webcron เพื่อเรียก cron.php ทุกๆ 15 นาที บน Http", - "Use system's cron service to call the cron.php file every 15 minutes." : "ใช้ระบบบริการ cron เพื่อเรียกไฟล์ cron.php ทุก 15 นาที", - "Enable server-side encryption" : "เปิดการใช้งานเข้ารหัสฝั่งเซิร์ฟเวอร์", - "Please read carefully before activating server-side encryption: " : "กรุณาอ่านอย่างละเอียดก่อนที่จะเปิดใช้งานการเข้ารหัสฝั่งเซิร์ฟเวอร์:", - "Once encryption is enabled, all files uploaded to the server from that point forward will be encrypted at rest on the server. It will only be possible to disable encryption at a later date if the active encryption module supports that function, and all pre-conditions (e.g. setting a recover key) are met." : "เมื่อเปิดใช้งานการเข้ารหัส ไฟล์ทั้งหมดที่อัพโหลดไปยังเซิร์ฟเวอร์นั้นจะถูกเข้ารหัสในส่วนของเซิฟเวอร์ มันเป็นไปได้ที่จะปิดใช้งานการเข้ารหัสในภายหลัง ถ้าเปิดใช้ฟังก์ชั่นการสนับสนุนโมดูลการเข้ารหัสที่และเงื่อนไขก่อน (เช่น การตั้งค่าคีย์กู้คืน)", - "Be aware that encryption always increases the file size." : "โปรดทราบว่าหากเข้ารหัสไฟล์จะทำให้ขนาดของไฟล์ใหญ่ขึ้น", - "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "มันจะดีถ้าคุณสำรองข้อมูลบ่อยๆ ในกรณีของการเข้ารหัสโปรดแน่ใจว่าจะสำรองคีย์การเข้ารหัสลับพร้อมกับข้อมูลของคุณ", - "This is the final warning: Do you really want to enable encryption?" : "นี่คือการเตือนครั้งสุดท้าย: คุณต้องการที่จะเปิดใช้การเข้ารหัส?", - "Enable encryption" : "เปิดใช้งานการเข้ารหัส", - "No encryption module loaded, please enable an encryption module in the app menu." : "ไม่มีโมดูลการเข้ารหัสโหลดโปรดเปิดใช้งานโมดูลการเข้ารหัสในเมนูแอพฯ", - "Select default encryption module:" : "เลือกค่าเริ่มต้นโมดูลการเข้ารหัส:", - "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please enable the \"Default encryption module\" and run 'occ encryption:migrate'" : "คุณจำเป็นต้องโอนย้ายคีย์การเข้ารหัสลับของคุณจากการเข้ารหัสเก่า (ownCloud <= 8.0) ไปใหม่ กรุณาเปิดใช้งาน \"โมดูลการเข้ารหัสเริ่มต้น\" และเรียกใช้ 'occ encryption:migrate'", - "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "คุณจำเป็นต้องโอนย้ายคีย์การเข้ารหัสลับของคุณจากการเข้ารหัสเก่า (ownCloud <= 8.0) ไปใหม่", - "Start migration" : "เริ่มการโยกย้าย", - "This is used for sending out notifications." : "นี้จะใช้สำหรับการส่งออกการแจ้งเตือน", - "Send mode" : "โหมดการส่ง", - "Encryption" : "การเข้ารหัส", - "From address" : "จากที่อยู่", - "mail" : "อีเมล", - "Authentication method" : "วิธีการตรวจสอบ", - "Authentication required" : "จำเป็นต้องตรวจสอบความถูกต้อง", - "Server address" : "ที่อยู่เซิร์ฟเวอร์", - "Port" : "พอร์ต", - "Credentials" : "ข้อมูลส่วนตัวสำหรับเข้าระบบ", - "SMTP Username" : "ชื่อผู้ใช้ SMTP", - "SMTP Password" : "รหัสผ่าน SMTP", - "Store credentials" : "ข้อมูลประจำตัวของร้านค้า", - "Test email settings" : "ทดสอบการตั้งค่าอีเมล", - "Send email" : "ส่งอีเมล", - "What to log" : "อะไรที่จะบันทึก", - "Download logfile" : "ดาวน์โหลดไฟล์บันทึก", - "More" : "มาก", - "Less" : "ย่อ", - "The logfile is bigger than 100 MB. Downloading it may take some time!" : "ไฟล์บันทึกมีขนาดใหญ่กว่า 100 เมกะไบต์ มันอาจจะใช้เวลาดาวน์โหลดนาน!", + "Tips & tricks" : "เคล็ดลับและเทคนิค", "SQLite is used as database. For larger installations we recommend to switch to a different database backend." : "จะใช้ SQLite เป็นฐานข้อมูล สำหรับการติดตั้งขนาดใหญ่เราขอแนะนำเพื่อสลับไปยังฐานข้อมูลแบ็กเอนด์ที่แตกต่างกัน", "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "โดยเฉพาะอย่างยิ่งเมื่อใช้ไคลเอนต์เดสก์ทอปสำหรับการประสานข้อมูลโดย SQLite", "How to do backups" : "วิธีการสำรองข้อมูล", @@ -198,7 +195,6 @@ OC.L10N.register( "Improving the config.php" : "ปรับปรุงไฟล์ config.php", "Theming" : "ชุดรูปแบบ", "Hardening and security guidance" : "คำแนะนำการรักษาความปลอดภัย", - "Version" : "รุ่น", "Developer documentation" : "เอกสารสำหรับนักพัฒนา", "Experimental applications ahead" : "การใช้งานก่อนการทดลอง", "Experimental apps are not checked for security issues, new or known to be unstable and under heavy development. Installing them can cause data loss or security breaches." : "การทดลองแอพพลิเคชันไม่ได้ถูกตรวจสอบปัญหาด้านความปลอดภัย การติดตั้งพวกเขาสามารถก่อให้เกิดการสูญเสียข้อมูลหรือการละเมิดความปลอดภัย", @@ -249,14 +245,14 @@ OC.L10N.register( "Change password" : "เปลี่ยนรหัสผ่าน", "Language" : "ภาษา", "Help translate" : "มาช่วยกันแปลสิ!", - "Name" : "ชื่อ", - "Username" : "ชื่อผู้ใช้งาน", - "Done" : "เสร็จสิ้น", "Get the apps to sync your files" : "ใช้แอพพลิเคชันในการประสานไฟล์ของคุณ", "Desktop client" : "เดสก์ทอปผู้ใช้", "Android app" : "แอพฯ แอนดรอยด์", "iOS app" : "แอพฯ IOS", "Show First Run Wizard again" : "แสดงหน้าจอวิซาร์ดนำทางครั้งแรกอีกครั้ง", + "Name" : "ชื่อ", + "Username" : "ชื่อผู้ใช้งาน", + "Done" : "เสร็จสิ้น", "Show storage location" : "แสดงสถานที่จัดเก็บข้อมูล", "Show last log in" : "แสดงการเข้าสู่ระบบล่าสุด", "Show user backend" : "แสดงแบ็กเอนด์ของผู้ใช้", @@ -275,6 +271,10 @@ OC.L10N.register( "change full name" : "เปลี่ยนชื่อเต็ม", "set new password" : "ตั้งค่ารหัสผ่านใหม่", "change email address" : "เปลี่ยนแปลงที่อยู่อีเมล", - "Default" : "ค่าเริ่มต้น" + "Default" : "ค่าเริ่มต้น", + "APCu" : "APCu", + "Redis" : "Redis", + "External Storage" : "พื้นทีจัดเก็บข้อมูลจากภายนอก", + "Updates" : "อัพเดท" }, "nplurals=1; plural=0;"); diff --git a/settings/l10n/th_TH.json b/settings/l10n/th_TH.json index b018e8e5dce8e..e749cd78184cc 100644 --- a/settings/l10n/th_TH.json +++ b/settings/l10n/th_TH.json @@ -33,17 +33,6 @@ "Email saved" : "อีเมลถูกบันทึกแล้ว", "Your full name has been changed." : "ชื่อเต็มของคุณถูกเปลี่ยนแปลง", "Unable to change full name" : "ไม่สามารถเปลี่ยนชื่อเต็ม", - "APCu" : "APCu", - "Redis" : "Redis", - "Security & setup warnings" : "คำเตือนความปลอดภัยและการติดตั้ง", - "Sharing" : "แชร์ข้อมูล", - "Server-side encryption" : "เข้ารหัสฝั่งเซิร์ฟเวอร์", - "External Storage" : "พื้นทีจัดเก็บข้อมูลจากภายนอก", - "Cron" : "Cron", - "Email server" : "อีเมลเซิร์ฟเวอร์", - "Log" : "บันทึกการเปลี่ยนแปลง", - "Tips & tricks" : "เคล็ดลับและเทคนิค", - "Updates" : "อัพเดท", "Couldn't remove app." : "ไม่สามารถลบแอพฯ", "Language changed" : "เปลี่ยนภาษาเรียบร้อยแล้ว", "Invalid request" : "คำร้องขอไม่ถูกต้อง", @@ -110,17 +99,54 @@ "Unlimited" : "ไม่จำกัด", "Personal info" : "ข้อมูลส่วนบุคคล", "Sync clients" : "ประสานข้อมูลไคลเอนต์", - "Everything (fatal issues, errors, warnings, info, debug)" : "ทุกอย่าง (ปัญหาร้ายแรง ข้อผิดพลาด คำเตือน ข้อมูล การแก้ปัญหา)", - "Info, warnings, errors and fatal issues" : "ข้อมูล คำเตือน ข้อผิดพลาดและปัญหาร้ายแรง", - "Warnings, errors and fatal issues" : "คำเตือนข้อผิดพลาดและปัญหาที่ร้ายแรง", - "Errors and fatal issues" : "ข้อผิดพลาดและปัญหาที่ร้ายแรง", - "Fatal issues only" : "ปัญหาร้ายแรงเท่านั้น", "None" : "ไม่มี", "Login" : "เข้าสู่ระบบ", "Plain" : "ธรรมดา", "NT LAN Manager" : "ตัวจัดการ NT LAN", "SSL" : "SSL", "TLS" : "TLS", + "Email server" : "อีเมลเซิร์ฟเวอร์", + "Open documentation" : "เปิดเอกสาร", + "This is used for sending out notifications." : "นี้จะใช้สำหรับการส่งออกการแจ้งเตือน", + "Send mode" : "โหมดการส่ง", + "Encryption" : "การเข้ารหัส", + "From address" : "จากที่อยู่", + "mail" : "อีเมล", + "Authentication method" : "วิธีการตรวจสอบ", + "Authentication required" : "จำเป็นต้องตรวจสอบความถูกต้อง", + "Server address" : "ที่อยู่เซิร์ฟเวอร์", + "Port" : "พอร์ต", + "Credentials" : "ข้อมูลส่วนตัวสำหรับเข้าระบบ", + "SMTP Username" : "ชื่อผู้ใช้ SMTP", + "SMTP Password" : "รหัสผ่าน SMTP", + "Store credentials" : "ข้อมูลประจำตัวของร้านค้า", + "Test email settings" : "ทดสอบการตั้งค่าอีเมล", + "Send email" : "ส่งอีเมล", + "Server-side encryption" : "เข้ารหัสฝั่งเซิร์ฟเวอร์", + "Enable server-side encryption" : "เปิดการใช้งานเข้ารหัสฝั่งเซิร์ฟเวอร์", + "Please read carefully before activating server-side encryption: " : "กรุณาอ่านอย่างละเอียดก่อนที่จะเปิดใช้งานการเข้ารหัสฝั่งเซิร์ฟเวอร์:", + "Once encryption is enabled, all files uploaded to the server from that point forward will be encrypted at rest on the server. It will only be possible to disable encryption at a later date if the active encryption module supports that function, and all pre-conditions (e.g. setting a recover key) are met." : "เมื่อเปิดใช้งานการเข้ารหัส ไฟล์ทั้งหมดที่อัพโหลดไปยังเซิร์ฟเวอร์นั้นจะถูกเข้ารหัสในส่วนของเซิฟเวอร์ มันเป็นไปได้ที่จะปิดใช้งานการเข้ารหัสในภายหลัง ถ้าเปิดใช้ฟังก์ชั่นการสนับสนุนโมดูลการเข้ารหัสที่และเงื่อนไขก่อน (เช่น การตั้งค่าคีย์กู้คืน)", + "Be aware that encryption always increases the file size." : "โปรดทราบว่าหากเข้ารหัสไฟล์จะทำให้ขนาดของไฟล์ใหญ่ขึ้น", + "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "มันจะดีถ้าคุณสำรองข้อมูลบ่อยๆ ในกรณีของการเข้ารหัสโปรดแน่ใจว่าจะสำรองคีย์การเข้ารหัสลับพร้อมกับข้อมูลของคุณ", + "This is the final warning: Do you really want to enable encryption?" : "นี่คือการเตือนครั้งสุดท้าย: คุณต้องการที่จะเปิดใช้การเข้ารหัส?", + "Enable encryption" : "เปิดใช้งานการเข้ารหัส", + "No encryption module loaded, please enable an encryption module in the app menu." : "ไม่มีโมดูลการเข้ารหัสโหลดโปรดเปิดใช้งานโมดูลการเข้ารหัสในเมนูแอพฯ", + "Select default encryption module:" : "เลือกค่าเริ่มต้นโมดูลการเข้ารหัส:", + "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please enable the \"Default encryption module\" and run 'occ encryption:migrate'" : "คุณจำเป็นต้องโอนย้ายคีย์การเข้ารหัสลับของคุณจากการเข้ารหัสเก่า (ownCloud <= 8.0) ไปใหม่ กรุณาเปิดใช้งาน \"โมดูลการเข้ารหัสเริ่มต้น\" และเรียกใช้ 'occ encryption:migrate'", + "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "คุณจำเป็นต้องโอนย้ายคีย์การเข้ารหัสลับของคุณจากการเข้ารหัสเก่า (ownCloud <= 8.0) ไปใหม่", + "Start migration" : "เริ่มการโยกย้าย", + "Everything (fatal issues, errors, warnings, info, debug)" : "ทุกอย่าง (ปัญหาร้ายแรง ข้อผิดพลาด คำเตือน ข้อมูล การแก้ปัญหา)", + "Info, warnings, errors and fatal issues" : "ข้อมูล คำเตือน ข้อผิดพลาดและปัญหาร้ายแรง", + "Warnings, errors and fatal issues" : "คำเตือนข้อผิดพลาดและปัญหาที่ร้ายแรง", + "Errors and fatal issues" : "ข้อผิดพลาดและปัญหาที่ร้ายแรง", + "Fatal issues only" : "ปัญหาร้ายแรงเท่านั้น", + "Log" : "บันทึกการเปลี่ยนแปลง", + "What to log" : "อะไรที่จะบันทึก", + "Download logfile" : "ดาวน์โหลดไฟล์บันทึก", + "More" : "มาก", + "Less" : "ย่อ", + "The logfile is bigger than 100 MB. Downloading it may take some time!" : "ไฟล์บันทึกมีขนาดใหญ่กว่า 100 เมกะไบต์ มันอาจจะใช้เวลาดาวน์โหลดนาน!", + "Security & setup warnings" : "คำเตือนความปลอดภัยและการติดตั้ง", "php does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "ไม่ได้ติดตั้งphp อย่างถูกต้องค้นหาตัวแปรสภาพแวดล้อมของระบบการทดสอบกับ getenv(\"PATH\") ส่งกลับเฉพาะการตอบสนองที่ว่างเปล่า", "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "ตั้งค่าให้สามารถอ่านได้อย่างเดียวถูกเปิดใช้งาน นี้จะช่วยป้องกันการตั้งค่าผ่านทางบางเว็บอินเตอร์เฟซ นอกจากนี้จะต้องเขียนไฟล์ด้วยตนเองสำหรับทุกการอัพเดท", "PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "เห็นได้ชัดว่าการตั้งค่า PHP จะตัดบล็อคเอกสารแบบอินไลน์ ซึ่งจะทำให้แอพพลิเคชันอีกหลายแกนไม่สามารถเข้าถึงได้", @@ -133,7 +159,15 @@ "If your installation is not installed in the root of the domain and uses system cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "หากการติดตั้งของคุณไม่ได้ติดตั้งในรากของโดเมนและใช้ระบบ cron อาจมีปัญหาเกี่ยวกับการสร้าง URL เพื่อหลีกเลี่ยงปัญหาเหล่านี้โปรดไปตั้งค่า \"overwrite.cli.url\" ในไฟล์ config.php ของคุณไปยังเส้นทาง webroot ของการติดตั้งของคุณ (แนะนำ: \"%s\")", "It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "มันเป็นไปไม่ได้ที่จะดำเนินการ cronjob ผ่านทาง CLI ข้อผิดพลาดทางเทคนิคต่อไปนี้จะปรากฏ:", "All checks passed." : "ผ่านการตรวจสอบทั้งหมด", - "Open documentation" : "เปิดเอกสาร", + "Cron" : "Cron", + "Last cron job execution: %s." : "การดำเนินการ cron job ล่าสุด: %s", + "Last cron job execution: %s. Something seems wrong." : "การดำเนินการ cron job ล่าสุด: %s ดูเหมือนมีบางสิ่งไม่ถูกต้อง", + "Cron was not executed yet!" : "Cron ไม่ได้ถูกดำเนินการ!", + "Execute one task with each page loaded" : "ประมวลผลหนึ่งงาน ในแต่ละครั้งที่มีการโหลดหน้าเว็บ", + "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php ได้ถูกลงทะเบียนที่บริการ Webcron เพื่อเรียก cron.php ทุกๆ 15 นาที บน Http", + "Use system's cron service to call the cron.php file every 15 minutes." : "ใช้ระบบบริการ cron เพื่อเรียกไฟล์ cron.php ทุก 15 นาที", + "Version" : "รุ่น", + "Sharing" : "แชร์ข้อมูล", "Allow apps to use the Share API" : "อนุญาตให้แอปฯสามารถใช้ API สำหรับแชร์ข้อมูลได้", "Allow users to share via link" : "อนุญาตให้ผู้ใช้สามารถแชร์ผ่านทางลิงค์", "Allow public uploads" : "อนุญาตให้อัพโหลดสาธารณะ", @@ -150,44 +184,7 @@ "Exclude groups from sharing" : "ไม่รวมกลุ่มที่กำลังแชร์", "These groups will still be able to receive shares, but not to initiate them." : "กลุ่มนี้จะยังคงสามารถได้รับการแชร์ แต่พวกเขาจะไม่รู้จักมัน", "Allow username autocompletion in share dialog. If this is disabled the full username needs to be entered." : "อนุญาตให้เติมข้อความชื่อผู้ใช้อัตโนมัติในกล่องข้อความแชร์ ถ้านี้ถูกปิดใช้งานจะต้องกรอกชื่อผู้ใช้เอง", - "Last cron job execution: %s." : "การดำเนินการ cron job ล่าสุด: %s", - "Last cron job execution: %s. Something seems wrong." : "การดำเนินการ cron job ล่าสุด: %s ดูเหมือนมีบางสิ่งไม่ถูกต้อง", - "Cron was not executed yet!" : "Cron ไม่ได้ถูกดำเนินการ!", - "Execute one task with each page loaded" : "ประมวลผลหนึ่งงาน ในแต่ละครั้งที่มีการโหลดหน้าเว็บ", - "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php ได้ถูกลงทะเบียนที่บริการ Webcron เพื่อเรียก cron.php ทุกๆ 15 นาที บน Http", - "Use system's cron service to call the cron.php file every 15 minutes." : "ใช้ระบบบริการ cron เพื่อเรียกไฟล์ cron.php ทุก 15 นาที", - "Enable server-side encryption" : "เปิดการใช้งานเข้ารหัสฝั่งเซิร์ฟเวอร์", - "Please read carefully before activating server-side encryption: " : "กรุณาอ่านอย่างละเอียดก่อนที่จะเปิดใช้งานการเข้ารหัสฝั่งเซิร์ฟเวอร์:", - "Once encryption is enabled, all files uploaded to the server from that point forward will be encrypted at rest on the server. It will only be possible to disable encryption at a later date if the active encryption module supports that function, and all pre-conditions (e.g. setting a recover key) are met." : "เมื่อเปิดใช้งานการเข้ารหัส ไฟล์ทั้งหมดที่อัพโหลดไปยังเซิร์ฟเวอร์นั้นจะถูกเข้ารหัสในส่วนของเซิฟเวอร์ มันเป็นไปได้ที่จะปิดใช้งานการเข้ารหัสในภายหลัง ถ้าเปิดใช้ฟังก์ชั่นการสนับสนุนโมดูลการเข้ารหัสที่และเงื่อนไขก่อน (เช่น การตั้งค่าคีย์กู้คืน)", - "Be aware that encryption always increases the file size." : "โปรดทราบว่าหากเข้ารหัสไฟล์จะทำให้ขนาดของไฟล์ใหญ่ขึ้น", - "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "มันจะดีถ้าคุณสำรองข้อมูลบ่อยๆ ในกรณีของการเข้ารหัสโปรดแน่ใจว่าจะสำรองคีย์การเข้ารหัสลับพร้อมกับข้อมูลของคุณ", - "This is the final warning: Do you really want to enable encryption?" : "นี่คือการเตือนครั้งสุดท้าย: คุณต้องการที่จะเปิดใช้การเข้ารหัส?", - "Enable encryption" : "เปิดใช้งานการเข้ารหัส", - "No encryption module loaded, please enable an encryption module in the app menu." : "ไม่มีโมดูลการเข้ารหัสโหลดโปรดเปิดใช้งานโมดูลการเข้ารหัสในเมนูแอพฯ", - "Select default encryption module:" : "เลือกค่าเริ่มต้นโมดูลการเข้ารหัส:", - "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please enable the \"Default encryption module\" and run 'occ encryption:migrate'" : "คุณจำเป็นต้องโอนย้ายคีย์การเข้ารหัสลับของคุณจากการเข้ารหัสเก่า (ownCloud <= 8.0) ไปใหม่ กรุณาเปิดใช้งาน \"โมดูลการเข้ารหัสเริ่มต้น\" และเรียกใช้ 'occ encryption:migrate'", - "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "คุณจำเป็นต้องโอนย้ายคีย์การเข้ารหัสลับของคุณจากการเข้ารหัสเก่า (ownCloud <= 8.0) ไปใหม่", - "Start migration" : "เริ่มการโยกย้าย", - "This is used for sending out notifications." : "นี้จะใช้สำหรับการส่งออกการแจ้งเตือน", - "Send mode" : "โหมดการส่ง", - "Encryption" : "การเข้ารหัส", - "From address" : "จากที่อยู่", - "mail" : "อีเมล", - "Authentication method" : "วิธีการตรวจสอบ", - "Authentication required" : "จำเป็นต้องตรวจสอบความถูกต้อง", - "Server address" : "ที่อยู่เซิร์ฟเวอร์", - "Port" : "พอร์ต", - "Credentials" : "ข้อมูลส่วนตัวสำหรับเข้าระบบ", - "SMTP Username" : "ชื่อผู้ใช้ SMTP", - "SMTP Password" : "รหัสผ่าน SMTP", - "Store credentials" : "ข้อมูลประจำตัวของร้านค้า", - "Test email settings" : "ทดสอบการตั้งค่าอีเมล", - "Send email" : "ส่งอีเมล", - "What to log" : "อะไรที่จะบันทึก", - "Download logfile" : "ดาวน์โหลดไฟล์บันทึก", - "More" : "มาก", - "Less" : "ย่อ", - "The logfile is bigger than 100 MB. Downloading it may take some time!" : "ไฟล์บันทึกมีขนาดใหญ่กว่า 100 เมกะไบต์ มันอาจจะใช้เวลาดาวน์โหลดนาน!", + "Tips & tricks" : "เคล็ดลับและเทคนิค", "SQLite is used as database. For larger installations we recommend to switch to a different database backend." : "จะใช้ SQLite เป็นฐานข้อมูล สำหรับการติดตั้งขนาดใหญ่เราขอแนะนำเพื่อสลับไปยังฐานข้อมูลแบ็กเอนด์ที่แตกต่างกัน", "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "โดยเฉพาะอย่างยิ่งเมื่อใช้ไคลเอนต์เดสก์ทอปสำหรับการประสานข้อมูลโดย SQLite", "How to do backups" : "วิธีการสำรองข้อมูล", @@ -196,7 +193,6 @@ "Improving the config.php" : "ปรับปรุงไฟล์ config.php", "Theming" : "ชุดรูปแบบ", "Hardening and security guidance" : "คำแนะนำการรักษาความปลอดภัย", - "Version" : "รุ่น", "Developer documentation" : "เอกสารสำหรับนักพัฒนา", "Experimental applications ahead" : "การใช้งานก่อนการทดลอง", "Experimental apps are not checked for security issues, new or known to be unstable and under heavy development. Installing them can cause data loss or security breaches." : "การทดลองแอพพลิเคชันไม่ได้ถูกตรวจสอบปัญหาด้านความปลอดภัย การติดตั้งพวกเขาสามารถก่อให้เกิดการสูญเสียข้อมูลหรือการละเมิดความปลอดภัย", @@ -247,14 +243,14 @@ "Change password" : "เปลี่ยนรหัสผ่าน", "Language" : "ภาษา", "Help translate" : "มาช่วยกันแปลสิ!", - "Name" : "ชื่อ", - "Username" : "ชื่อผู้ใช้งาน", - "Done" : "เสร็จสิ้น", "Get the apps to sync your files" : "ใช้แอพพลิเคชันในการประสานไฟล์ของคุณ", "Desktop client" : "เดสก์ทอปผู้ใช้", "Android app" : "แอพฯ แอนดรอยด์", "iOS app" : "แอพฯ IOS", "Show First Run Wizard again" : "แสดงหน้าจอวิซาร์ดนำทางครั้งแรกอีกครั้ง", + "Name" : "ชื่อ", + "Username" : "ชื่อผู้ใช้งาน", + "Done" : "เสร็จสิ้น", "Show storage location" : "แสดงสถานที่จัดเก็บข้อมูล", "Show last log in" : "แสดงการเข้าสู่ระบบล่าสุด", "Show user backend" : "แสดงแบ็กเอนด์ของผู้ใช้", @@ -273,6 +269,10 @@ "change full name" : "เปลี่ยนชื่อเต็ม", "set new password" : "ตั้งค่ารหัสผ่านใหม่", "change email address" : "เปลี่ยนแปลงที่อยู่อีเมล", - "Default" : "ค่าเริ่มต้น" + "Default" : "ค่าเริ่มต้น", + "APCu" : "APCu", + "Redis" : "Redis", + "External Storage" : "พื้นทีจัดเก็บข้อมูลจากภายนอก", + "Updates" : "อัพเดท" },"pluralForm" :"nplurals=1; plural=0;" } \ No newline at end of file diff --git a/settings/l10n/tr.js b/settings/l10n/tr.js index b3ef46cb41e5e..28b4d90cd3bd4 100644 --- a/settings/l10n/tr.js +++ b/settings/l10n/tr.js @@ -35,17 +35,6 @@ OC.L10N.register( "Email saved" : "E-posta kaydedildi", "Your full name has been changed." : "Tam adınız değiştirildi.", "Unable to change full name" : "Tam adınız değiştirilirken hata", - "APCu" : "APCu", - "Redis" : "Redis", - "Security & setup warnings" : "Güvenlik ve kurulum uyarıları", - "Sharing" : "Paylaşım", - "Server-side encryption" : "Sunucu taraflı şifreleme", - "External Storage" : "Harici Depolama", - "Cron" : "Cron", - "Email server" : "E-posta sunucusu", - "Log" : "Günlük", - "Tips & tricks" : "İpuçları ve hileler", - "Updates" : "Güncellemeler", "Couldn't remove app." : "Uygulama kaldırılamadı.", "Language changed" : "Dil değiştirildi", "Invalid request" : "Geçersiz istek", @@ -133,17 +122,55 @@ OC.L10N.register( "Sessions" : "Oturum", "App passwords" : "Uygulama parolaları", "Sync clients" : "Eşitleme istemcileri", - "Everything (fatal issues, errors, warnings, info, debug)" : "Her şey (Ciddi sorunlar, hatalar, uyarılar, bilgi, hata ayıklama)", - "Info, warnings, errors and fatal issues" : "Bilgi, uyarılar, hatalar ve ciddi sorunlar", - "Warnings, errors and fatal issues" : "Uyarılar, hatalar ve ciddi sorunlar", - "Errors and fatal issues" : "Hatalar ve ciddi sorunlar", - "Fatal issues only" : "Sadece ciddi sorunlar", "None" : "Hiçbiri", "Login" : "Oturum Aç", "Plain" : "Düz", "NT LAN Manager" : "NT Ağ Yöneticisi", "SSL" : "SSL", "TLS" : "TLS", + "Email server" : "E-posta sunucusu", + "Open documentation" : "Belgelendirmeyi aç", + "This is used for sending out notifications." : "Bu, bildirimler gönderilirken kullanılır.", + "Send mode" : "Gönderme kipi", + "Encryption" : "Şifreleme", + "From address" : "Kimden adresi", + "mail" : "posta", + "Authentication method" : "Kimlik doğrulama yöntemi", + "Authentication required" : "Kimlik doğrulama gerekli", + "Server address" : "Sunucu adresi", + "Port" : "Port", + "Credentials" : "Kimlik Bilgileri", + "SMTP Username" : "SMTP Kullanıcı Adı", + "SMTP Password" : "SMTP Parolası", + "Store credentials" : "Kimlik bilgilerini depola", + "Test email settings" : "E-posta ayarlarını sına", + "Send email" : "E-posta gönder", + "Server-side encryption" : "Sunucu taraflı şifreleme", + "Enable server-side encryption" : "Sunucu taraflı şifrelemeyi aç", + "Please read carefully before activating server-side encryption: " : "Lütfen sunucu tarafında şifrelemeyi etkinleştirmeden önce dikkatlice okuyun: ", + "Once encryption is enabled, all files uploaded to the server from that point forward will be encrypted at rest on the server. It will only be possible to disable encryption at a later date if the active encryption module supports that function, and all pre-conditions (e.g. setting a recover key) are met." : "Şifreleme etkinleştirildiğinde, sunucuya yüklenen tüm dosyalar şifrelenmiş olarak kalacaktır. Şifrelemeyi devre dışı bırakmak sadece ileriki zamanlarda aktif şifreleme modülü desteklediğinde ve ön koşullar (örn: düzenleme anahtarı oluşturulması) yerine getirildiğinde yapılabilir.", + "Encryption alone does not guarantee security of the system. Please see documentation for more information about how the encryption app works, and the supported use cases." : "Şifreleme tek başına sistemin güvenliğini garanti etmez. Lütfen şifreleme uygulamasının nasıl çalıştığı ve desteklenen durumlar hakkında daha fazla bilgi almak için belgelendirmeye bakınız.", + "Be aware that encryption always increases the file size." : "Şifrelemenin dosya boyutunu büyüteceğini unutmayın.", + "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Verilerinizi düzenli yedekleyin ve şifreleme anahtarlarınızın verilerinizle birlikte yedeklendiğinden emin olun. ", + "This is the final warning: Do you really want to enable encryption?" : "Bu son uyarıdır: Şifrelemeyi etkinleştirmek istiyor musunuz?", + "Enable encryption" : "Şifrelemeyi aç", + "No encryption module loaded, please enable an encryption module in the app menu." : "Hiç şifrelenme modülü yüklenmemiş, lütfen uygulama menüsünden bir şifreleme modülü etkinleştirin.", + "Select default encryption module:" : "Öntanımlı şifreleme modülünü seçin:", + "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please enable the \"Default encryption module\" and run 'occ encryption:migrate'" : "Eski şifreleme anahtarlarınızı eski şifrelemeden (ownCloud <= 8.0) yenisine taşımanız gerekli. Lütfen \"Öntanımlı şifreleme modülü\"nü etkinleştirin ve 'occ encryption:migrate' çalıştırın", + "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Eski şifreleme anahtarlarınızı eski şifrelemeden (ownCloud <= 8.0) yenisine taşımanız gerekli.", + "Start migration" : "Taşınmayı başlat", + "Everything (fatal issues, errors, warnings, info, debug)" : "Her şey (Ciddi sorunlar, hatalar, uyarılar, bilgi, hata ayıklama)", + "Info, warnings, errors and fatal issues" : "Bilgi, uyarılar, hatalar ve ciddi sorunlar", + "Warnings, errors and fatal issues" : "Uyarılar, hatalar ve ciddi sorunlar", + "Errors and fatal issues" : "Hatalar ve ciddi sorunlar", + "Fatal issues only" : "Sadece ciddi sorunlar", + "Log" : "Günlük", + "What to log" : "Neler günlüklenmeli", + "Download logfile" : "Günlük dosyasını indir", + "More" : "Daha fazla", + "Less" : "Daha az", + "The logfile is bigger than 100 MB. Downloading it may take some time!" : "Günlük dosyası 100 MB'dan daha büyük. İndirmek zaman alabilir!", + "Security & setup warnings" : "Güvenlik ve kurulum uyarıları", "php does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP sistem değişkenleri sorgusuna uygun olarak ayarlanmamış görünüyor. getenv(\"PATH\") komutu sadece boş bir cevap döndürüyor.", "Please check the installation documentation ↗ for php configuration notes and the php configuration of your server, especially when using php-fpm." : "Lütfen php yapılandırma notları ve özellikler php-fpm kullanırken sunucu php yapılandırması için kurulum belgelendirmesine ↗ bakın.", "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Salt Okunur yapılandırma etkinleştirilmiş. Bu, bazı ayarların web arayüzü ile yapılandırılmasını önler. Ayrıca, bu dosya her güncelleme sırasında el ile yazılabilir yapılmalıdır.", @@ -160,7 +187,15 @@ OC.L10N.register( "It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "Bu CLI ile cronjobı çalıştırmak mümkün değildi. Aşağıdaki teknik hatalar ortaya çıkmıştır:", "Please double check the installation guides ↗, and check for any errors or warnings in the log." : "Lütfen kurulum rehberlerine ↗ ve günlük kısmındaki hata ve uyarılara bakın.", "All checks passed." : "Tüm kontroller geçildi.", - "Open documentation" : "Belgelendirmeyi aç", + "Cron" : "Cron", + "Last cron job execution: %s." : "Son cron çalıştırılma: %s.", + "Last cron job execution: %s. Something seems wrong." : "Son cron çalıştırılma: %s. Bir şeyler yanlış gibi görünüyor.", + "Cron was not executed yet!" : "Cron henüz çalıştırılmadı!", + "Execute one task with each page loaded" : "Yüklenen her sayfa ile bir görev çalıştır", + "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php, http üzerinden her 15 dakikada bir çağrılması için webcron hizmetine kaydedilir.", + "Use system's cron service to call the cron.php file every 15 minutes." : "Cron.php dosyasını her 15 dakikada bir çağırmak için sistem cron hizmetini kullan.", + "Version" : "Sürüm", + "Sharing" : "Paylaşım", "Allow apps to use the Share API" : "Uygulamaların paylaşım API'sini kullanmasına izin ver", "Allow users to share via link" : "Kullanıcıların bağlantı ile paylaşmasına izin ver", "Allow public uploads" : "Herkes tarafından yüklemeye izin ver", @@ -177,45 +212,7 @@ OC.L10N.register( "Exclude groups from sharing" : "Grupları paylaşma eyleminden hariç tut", "These groups will still be able to receive shares, but not to initiate them." : "Bu gruplar hala paylaşımları alabilecek, ancak başlatamayacaktır.", "Allow username autocompletion in share dialog. If this is disabled the full username needs to be entered." : "Paylaşma iletişim kutusunda kullanıcı adı otomatik tamamlamasını etkinleştir. Devre dışı olduğunda tam kullanıcı adı girilmeli.", - "Last cron job execution: %s." : "Son cron çalıştırılma: %s.", - "Last cron job execution: %s. Something seems wrong." : "Son cron çalıştırılma: %s. Bir şeyler yanlış gibi görünüyor.", - "Cron was not executed yet!" : "Cron henüz çalıştırılmadı!", - "Execute one task with each page loaded" : "Yüklenen her sayfa ile bir görev çalıştır", - "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php, http üzerinden her 15 dakikada bir çağrılması için webcron hizmetine kaydedilir.", - "Use system's cron service to call the cron.php file every 15 minutes." : "Cron.php dosyasını her 15 dakikada bir çağırmak için sistem cron hizmetini kullan.", - "Enable server-side encryption" : "Sunucu taraflı şifrelemeyi aç", - "Please read carefully before activating server-side encryption: " : "Lütfen sunucu tarafında şifrelemeyi etkinleştirmeden önce dikkatlice okuyun: ", - "Once encryption is enabled, all files uploaded to the server from that point forward will be encrypted at rest on the server. It will only be possible to disable encryption at a later date if the active encryption module supports that function, and all pre-conditions (e.g. setting a recover key) are met." : "Şifreleme etkinleştirildiğinde, sunucuya yüklenen tüm dosyalar şifrelenmiş olarak kalacaktır. Şifrelemeyi devre dışı bırakmak sadece ileriki zamanlarda aktif şifreleme modülü desteklediğinde ve ön koşullar (örn: düzenleme anahtarı oluşturulması) yerine getirildiğinde yapılabilir.", - "Encryption alone does not guarantee security of the system. Please see documentation for more information about how the encryption app works, and the supported use cases." : "Şifreleme tek başına sistemin güvenliğini garanti etmez. Lütfen şifreleme uygulamasının nasıl çalıştığı ve desteklenen durumlar hakkında daha fazla bilgi almak için belgelendirmeye bakınız.", - "Be aware that encryption always increases the file size." : "Şifrelemenin dosya boyutunu büyüteceğini unutmayın.", - "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Verilerinizi düzenli yedekleyin ve şifreleme anahtarlarınızın verilerinizle birlikte yedeklendiğinden emin olun. ", - "This is the final warning: Do you really want to enable encryption?" : "Bu son uyarıdır: Şifrelemeyi etkinleştirmek istiyor musunuz?", - "Enable encryption" : "Şifrelemeyi aç", - "No encryption module loaded, please enable an encryption module in the app menu." : "Hiç şifrelenme modülü yüklenmemiş, lütfen uygulama menüsünden bir şifreleme modülü etkinleştirin.", - "Select default encryption module:" : "Öntanımlı şifreleme modülünü seçin:", - "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please enable the \"Default encryption module\" and run 'occ encryption:migrate'" : "Eski şifreleme anahtarlarınızı eski şifrelemeden (ownCloud <= 8.0) yenisine taşımanız gerekli. Lütfen \"Öntanımlı şifreleme modülü\"nü etkinleştirin ve 'occ encryption:migrate' çalıştırın", - "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Eski şifreleme anahtarlarınızı eski şifrelemeden (ownCloud <= 8.0) yenisine taşımanız gerekli.", - "Start migration" : "Taşınmayı başlat", - "This is used for sending out notifications." : "Bu, bildirimler gönderilirken kullanılır.", - "Send mode" : "Gönderme kipi", - "Encryption" : "Şifreleme", - "From address" : "Kimden adresi", - "mail" : "posta", - "Authentication method" : "Kimlik doğrulama yöntemi", - "Authentication required" : "Kimlik doğrulama gerekli", - "Server address" : "Sunucu adresi", - "Port" : "Port", - "Credentials" : "Kimlik Bilgileri", - "SMTP Username" : "SMTP Kullanıcı Adı", - "SMTP Password" : "SMTP Parolası", - "Store credentials" : "Kimlik bilgilerini depola", - "Test email settings" : "E-posta ayarlarını sına", - "Send email" : "E-posta gönder", - "What to log" : "Neler günlüklenmeli", - "Download logfile" : "Günlük dosyasını indir", - "More" : "Daha fazla", - "Less" : "Daha az", - "The logfile is bigger than 100 MB. Downloading it may take some time!" : "Günlük dosyası 100 MB'dan daha büyük. İndirmek zaman alabilir!", + "Tips & tricks" : "İpuçları ve hileler", "SQLite is used as database. For larger installations we recommend to switch to a different database backend." : "Veritabanı olarak SQLite kullanılıyor. Daha büyük kurulumlar için farklı bir veritabanı arka ucuna geçmenizi öneriyoruz.", "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "Özellikle dosya eşitleme için masaüstü istemcisi kullanılırken SQLite kullanımı önerilmez.", "To migrate to another database use the command line tool: 'occ db:convert-type', or see the documentation ↗." : "Başka bir veritabanına geçmek için komut satırı aracını kullanın: 'occ db:convert-type' veya belgelendirmeye ↗ bakın.", @@ -225,7 +222,6 @@ OC.L10N.register( "Improving the config.php" : "config.php iyileştirme", "Theming" : "Tema", "Hardening and security guidance" : "Sağlamlaştırma ve güvenlik rehberliği", - "Version" : "Sürüm", "Developer documentation" : "Geliştirici belgelendirmesi", "Experimental applications ahead" : "İlerideki deneysel uygulamalar", "Experimental apps are not checked for security issues, new or known to be unstable and under heavy development. Installing them can cause data loss or security breaches." : "Deneysel uygulamalar güvenlik açısından denetlenmemiş, yeni veya kararsız olmaya açık ya da geliştirilme aşamasında olan uygulamalardır. Yüklemek veri kaybı veya güvenlik açıklarına sebep olabilir.", @@ -281,6 +277,11 @@ OC.L10N.register( "Change password" : "Parola değiştir", "Language" : "Dil", "Help translate" : "Çevirilere yardım edin", + "Get the apps to sync your files" : "Dosyalarınızı eşitlemek için uygulamaları indirin", + "Desktop client" : "Masaüstü istemcisi", + "Android app" : "Android uygulaması", + "iOS app" : "iOS uygulaması", + "Show First Run Wizard again" : "İlk Çalıştırma Sihirbazı'nı yeniden göster", "Web, desktop and mobile clients currently logged in to your account." : "Web, masaüstü ve mobil şu anda hesabınıza oturum açmış durumda.", "Device" : "Aygıt", "Last activity" : "Son etkinlik", @@ -291,12 +292,6 @@ OC.L10N.register( "Use the credentials below to configure your app or device." : "Uygulama veya aygıtınızı yapılandırmak için aşağıdaki kimlik bilgilerini kullan.", "Username" : "Kullanıcı Adı", "Done" : "Bitti", - "Get the apps to sync your files" : "Dosyalarınızı eşitlemek için uygulamaları indirin", - "Desktop client" : "Masaüstü istemcisi", - "Android app" : "Android uygulaması", - "iOS app" : "iOS uygulaması", - "If you want to support the project\n\t\tjoin development\n\t\tor\n\t\tspread the word!" : "Projeyi desteklemek isterseniz\n\t\tgelişimine katılın\n\t\tya da\n\t\tdünyaya duyurun!", - "Show First Run Wizard again" : "İlk Çalıştırma Sihirbazı'nı yeniden göster", "Show storage location" : "Depolama konumunu göster", "Show last log in" : "Son oturum açılma zamanını göster", "Show user backend" : "Kullanıcı arka ucunu göster", @@ -320,6 +315,10 @@ OC.L10N.register( "change full name" : "tam adı değiştir", "set new password" : "yeni parola belirle", "change email address" : "e-posta adresini değiştir", - "Default" : "Öntanımlı" + "Default" : "Öntanımlı", + "APCu" : "APCu", + "Redis" : "Redis", + "External Storage" : "Harici Depolama", + "Updates" : "Güncellemeler" }, "nplurals=2; plural=(n > 1);"); diff --git a/settings/l10n/tr.json b/settings/l10n/tr.json index 6aa7e16459b47..2f5472cf82e97 100644 --- a/settings/l10n/tr.json +++ b/settings/l10n/tr.json @@ -33,17 +33,6 @@ "Email saved" : "E-posta kaydedildi", "Your full name has been changed." : "Tam adınız değiştirildi.", "Unable to change full name" : "Tam adınız değiştirilirken hata", - "APCu" : "APCu", - "Redis" : "Redis", - "Security & setup warnings" : "Güvenlik ve kurulum uyarıları", - "Sharing" : "Paylaşım", - "Server-side encryption" : "Sunucu taraflı şifreleme", - "External Storage" : "Harici Depolama", - "Cron" : "Cron", - "Email server" : "E-posta sunucusu", - "Log" : "Günlük", - "Tips & tricks" : "İpuçları ve hileler", - "Updates" : "Güncellemeler", "Couldn't remove app." : "Uygulama kaldırılamadı.", "Language changed" : "Dil değiştirildi", "Invalid request" : "Geçersiz istek", @@ -131,17 +120,55 @@ "Sessions" : "Oturum", "App passwords" : "Uygulama parolaları", "Sync clients" : "Eşitleme istemcileri", - "Everything (fatal issues, errors, warnings, info, debug)" : "Her şey (Ciddi sorunlar, hatalar, uyarılar, bilgi, hata ayıklama)", - "Info, warnings, errors and fatal issues" : "Bilgi, uyarılar, hatalar ve ciddi sorunlar", - "Warnings, errors and fatal issues" : "Uyarılar, hatalar ve ciddi sorunlar", - "Errors and fatal issues" : "Hatalar ve ciddi sorunlar", - "Fatal issues only" : "Sadece ciddi sorunlar", "None" : "Hiçbiri", "Login" : "Oturum Aç", "Plain" : "Düz", "NT LAN Manager" : "NT Ağ Yöneticisi", "SSL" : "SSL", "TLS" : "TLS", + "Email server" : "E-posta sunucusu", + "Open documentation" : "Belgelendirmeyi aç", + "This is used for sending out notifications." : "Bu, bildirimler gönderilirken kullanılır.", + "Send mode" : "Gönderme kipi", + "Encryption" : "Şifreleme", + "From address" : "Kimden adresi", + "mail" : "posta", + "Authentication method" : "Kimlik doğrulama yöntemi", + "Authentication required" : "Kimlik doğrulama gerekli", + "Server address" : "Sunucu adresi", + "Port" : "Port", + "Credentials" : "Kimlik Bilgileri", + "SMTP Username" : "SMTP Kullanıcı Adı", + "SMTP Password" : "SMTP Parolası", + "Store credentials" : "Kimlik bilgilerini depola", + "Test email settings" : "E-posta ayarlarını sına", + "Send email" : "E-posta gönder", + "Server-side encryption" : "Sunucu taraflı şifreleme", + "Enable server-side encryption" : "Sunucu taraflı şifrelemeyi aç", + "Please read carefully before activating server-side encryption: " : "Lütfen sunucu tarafında şifrelemeyi etkinleştirmeden önce dikkatlice okuyun: ", + "Once encryption is enabled, all files uploaded to the server from that point forward will be encrypted at rest on the server. It will only be possible to disable encryption at a later date if the active encryption module supports that function, and all pre-conditions (e.g. setting a recover key) are met." : "Şifreleme etkinleştirildiğinde, sunucuya yüklenen tüm dosyalar şifrelenmiş olarak kalacaktır. Şifrelemeyi devre dışı bırakmak sadece ileriki zamanlarda aktif şifreleme modülü desteklediğinde ve ön koşullar (örn: düzenleme anahtarı oluşturulması) yerine getirildiğinde yapılabilir.", + "Encryption alone does not guarantee security of the system. Please see documentation for more information about how the encryption app works, and the supported use cases." : "Şifreleme tek başına sistemin güvenliğini garanti etmez. Lütfen şifreleme uygulamasının nasıl çalıştığı ve desteklenen durumlar hakkında daha fazla bilgi almak için belgelendirmeye bakınız.", + "Be aware that encryption always increases the file size." : "Şifrelemenin dosya boyutunu büyüteceğini unutmayın.", + "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Verilerinizi düzenli yedekleyin ve şifreleme anahtarlarınızın verilerinizle birlikte yedeklendiğinden emin olun. ", + "This is the final warning: Do you really want to enable encryption?" : "Bu son uyarıdır: Şifrelemeyi etkinleştirmek istiyor musunuz?", + "Enable encryption" : "Şifrelemeyi aç", + "No encryption module loaded, please enable an encryption module in the app menu." : "Hiç şifrelenme modülü yüklenmemiş, lütfen uygulama menüsünden bir şifreleme modülü etkinleştirin.", + "Select default encryption module:" : "Öntanımlı şifreleme modülünü seçin:", + "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please enable the \"Default encryption module\" and run 'occ encryption:migrate'" : "Eski şifreleme anahtarlarınızı eski şifrelemeden (ownCloud <= 8.0) yenisine taşımanız gerekli. Lütfen \"Öntanımlı şifreleme modülü\"nü etkinleştirin ve 'occ encryption:migrate' çalıştırın", + "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Eski şifreleme anahtarlarınızı eski şifrelemeden (ownCloud <= 8.0) yenisine taşımanız gerekli.", + "Start migration" : "Taşınmayı başlat", + "Everything (fatal issues, errors, warnings, info, debug)" : "Her şey (Ciddi sorunlar, hatalar, uyarılar, bilgi, hata ayıklama)", + "Info, warnings, errors and fatal issues" : "Bilgi, uyarılar, hatalar ve ciddi sorunlar", + "Warnings, errors and fatal issues" : "Uyarılar, hatalar ve ciddi sorunlar", + "Errors and fatal issues" : "Hatalar ve ciddi sorunlar", + "Fatal issues only" : "Sadece ciddi sorunlar", + "Log" : "Günlük", + "What to log" : "Neler günlüklenmeli", + "Download logfile" : "Günlük dosyasını indir", + "More" : "Daha fazla", + "Less" : "Daha az", + "The logfile is bigger than 100 MB. Downloading it may take some time!" : "Günlük dosyası 100 MB'dan daha büyük. İndirmek zaman alabilir!", + "Security & setup warnings" : "Güvenlik ve kurulum uyarıları", "php does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP sistem değişkenleri sorgusuna uygun olarak ayarlanmamış görünüyor. getenv(\"PATH\") komutu sadece boş bir cevap döndürüyor.", "Please check the installation documentation ↗ for php configuration notes and the php configuration of your server, especially when using php-fpm." : "Lütfen php yapılandırma notları ve özellikler php-fpm kullanırken sunucu php yapılandırması için kurulum belgelendirmesine ↗ bakın.", "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Salt Okunur yapılandırma etkinleştirilmiş. Bu, bazı ayarların web arayüzü ile yapılandırılmasını önler. Ayrıca, bu dosya her güncelleme sırasında el ile yazılabilir yapılmalıdır.", @@ -158,7 +185,15 @@ "It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "Bu CLI ile cronjobı çalıştırmak mümkün değildi. Aşağıdaki teknik hatalar ortaya çıkmıştır:", "Please double check the installation guides ↗, and check for any errors or warnings in the log." : "Lütfen kurulum rehberlerine ↗ ve günlük kısmındaki hata ve uyarılara bakın.", "All checks passed." : "Tüm kontroller geçildi.", - "Open documentation" : "Belgelendirmeyi aç", + "Cron" : "Cron", + "Last cron job execution: %s." : "Son cron çalıştırılma: %s.", + "Last cron job execution: %s. Something seems wrong." : "Son cron çalıştırılma: %s. Bir şeyler yanlış gibi görünüyor.", + "Cron was not executed yet!" : "Cron henüz çalıştırılmadı!", + "Execute one task with each page loaded" : "Yüklenen her sayfa ile bir görev çalıştır", + "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php, http üzerinden her 15 dakikada bir çağrılması için webcron hizmetine kaydedilir.", + "Use system's cron service to call the cron.php file every 15 minutes." : "Cron.php dosyasını her 15 dakikada bir çağırmak için sistem cron hizmetini kullan.", + "Version" : "Sürüm", + "Sharing" : "Paylaşım", "Allow apps to use the Share API" : "Uygulamaların paylaşım API'sini kullanmasına izin ver", "Allow users to share via link" : "Kullanıcıların bağlantı ile paylaşmasına izin ver", "Allow public uploads" : "Herkes tarafından yüklemeye izin ver", @@ -175,45 +210,7 @@ "Exclude groups from sharing" : "Grupları paylaşma eyleminden hariç tut", "These groups will still be able to receive shares, but not to initiate them." : "Bu gruplar hala paylaşımları alabilecek, ancak başlatamayacaktır.", "Allow username autocompletion in share dialog. If this is disabled the full username needs to be entered." : "Paylaşma iletişim kutusunda kullanıcı adı otomatik tamamlamasını etkinleştir. Devre dışı olduğunda tam kullanıcı adı girilmeli.", - "Last cron job execution: %s." : "Son cron çalıştırılma: %s.", - "Last cron job execution: %s. Something seems wrong." : "Son cron çalıştırılma: %s. Bir şeyler yanlış gibi görünüyor.", - "Cron was not executed yet!" : "Cron henüz çalıştırılmadı!", - "Execute one task with each page loaded" : "Yüklenen her sayfa ile bir görev çalıştır", - "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php, http üzerinden her 15 dakikada bir çağrılması için webcron hizmetine kaydedilir.", - "Use system's cron service to call the cron.php file every 15 minutes." : "Cron.php dosyasını her 15 dakikada bir çağırmak için sistem cron hizmetini kullan.", - "Enable server-side encryption" : "Sunucu taraflı şifrelemeyi aç", - "Please read carefully before activating server-side encryption: " : "Lütfen sunucu tarafında şifrelemeyi etkinleştirmeden önce dikkatlice okuyun: ", - "Once encryption is enabled, all files uploaded to the server from that point forward will be encrypted at rest on the server. It will only be possible to disable encryption at a later date if the active encryption module supports that function, and all pre-conditions (e.g. setting a recover key) are met." : "Şifreleme etkinleştirildiğinde, sunucuya yüklenen tüm dosyalar şifrelenmiş olarak kalacaktır. Şifrelemeyi devre dışı bırakmak sadece ileriki zamanlarda aktif şifreleme modülü desteklediğinde ve ön koşullar (örn: düzenleme anahtarı oluşturulması) yerine getirildiğinde yapılabilir.", - "Encryption alone does not guarantee security of the system. Please see documentation for more information about how the encryption app works, and the supported use cases." : "Şifreleme tek başına sistemin güvenliğini garanti etmez. Lütfen şifreleme uygulamasının nasıl çalıştığı ve desteklenen durumlar hakkında daha fazla bilgi almak için belgelendirmeye bakınız.", - "Be aware that encryption always increases the file size." : "Şifrelemenin dosya boyutunu büyüteceğini unutmayın.", - "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Verilerinizi düzenli yedekleyin ve şifreleme anahtarlarınızın verilerinizle birlikte yedeklendiğinden emin olun. ", - "This is the final warning: Do you really want to enable encryption?" : "Bu son uyarıdır: Şifrelemeyi etkinleştirmek istiyor musunuz?", - "Enable encryption" : "Şifrelemeyi aç", - "No encryption module loaded, please enable an encryption module in the app menu." : "Hiç şifrelenme modülü yüklenmemiş, lütfen uygulama menüsünden bir şifreleme modülü etkinleştirin.", - "Select default encryption module:" : "Öntanımlı şifreleme modülünü seçin:", - "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please enable the \"Default encryption module\" and run 'occ encryption:migrate'" : "Eski şifreleme anahtarlarınızı eski şifrelemeden (ownCloud <= 8.0) yenisine taşımanız gerekli. Lütfen \"Öntanımlı şifreleme modülü\"nü etkinleştirin ve 'occ encryption:migrate' çalıştırın", - "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Eski şifreleme anahtarlarınızı eski şifrelemeden (ownCloud <= 8.0) yenisine taşımanız gerekli.", - "Start migration" : "Taşınmayı başlat", - "This is used for sending out notifications." : "Bu, bildirimler gönderilirken kullanılır.", - "Send mode" : "Gönderme kipi", - "Encryption" : "Şifreleme", - "From address" : "Kimden adresi", - "mail" : "posta", - "Authentication method" : "Kimlik doğrulama yöntemi", - "Authentication required" : "Kimlik doğrulama gerekli", - "Server address" : "Sunucu adresi", - "Port" : "Port", - "Credentials" : "Kimlik Bilgileri", - "SMTP Username" : "SMTP Kullanıcı Adı", - "SMTP Password" : "SMTP Parolası", - "Store credentials" : "Kimlik bilgilerini depola", - "Test email settings" : "E-posta ayarlarını sına", - "Send email" : "E-posta gönder", - "What to log" : "Neler günlüklenmeli", - "Download logfile" : "Günlük dosyasını indir", - "More" : "Daha fazla", - "Less" : "Daha az", - "The logfile is bigger than 100 MB. Downloading it may take some time!" : "Günlük dosyası 100 MB'dan daha büyük. İndirmek zaman alabilir!", + "Tips & tricks" : "İpuçları ve hileler", "SQLite is used as database. For larger installations we recommend to switch to a different database backend." : "Veritabanı olarak SQLite kullanılıyor. Daha büyük kurulumlar için farklı bir veritabanı arka ucuna geçmenizi öneriyoruz.", "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "Özellikle dosya eşitleme için masaüstü istemcisi kullanılırken SQLite kullanımı önerilmez.", "To migrate to another database use the command line tool: 'occ db:convert-type', or see the documentation ↗." : "Başka bir veritabanına geçmek için komut satırı aracını kullanın: 'occ db:convert-type' veya belgelendirmeye ↗ bakın.", @@ -223,7 +220,6 @@ "Improving the config.php" : "config.php iyileştirme", "Theming" : "Tema", "Hardening and security guidance" : "Sağlamlaştırma ve güvenlik rehberliği", - "Version" : "Sürüm", "Developer documentation" : "Geliştirici belgelendirmesi", "Experimental applications ahead" : "İlerideki deneysel uygulamalar", "Experimental apps are not checked for security issues, new or known to be unstable and under heavy development. Installing them can cause data loss or security breaches." : "Deneysel uygulamalar güvenlik açısından denetlenmemiş, yeni veya kararsız olmaya açık ya da geliştirilme aşamasında olan uygulamalardır. Yüklemek veri kaybı veya güvenlik açıklarına sebep olabilir.", @@ -279,6 +275,11 @@ "Change password" : "Parola değiştir", "Language" : "Dil", "Help translate" : "Çevirilere yardım edin", + "Get the apps to sync your files" : "Dosyalarınızı eşitlemek için uygulamaları indirin", + "Desktop client" : "Masaüstü istemcisi", + "Android app" : "Android uygulaması", + "iOS app" : "iOS uygulaması", + "Show First Run Wizard again" : "İlk Çalıştırma Sihirbazı'nı yeniden göster", "Web, desktop and mobile clients currently logged in to your account." : "Web, masaüstü ve mobil şu anda hesabınıza oturum açmış durumda.", "Device" : "Aygıt", "Last activity" : "Son etkinlik", @@ -289,12 +290,6 @@ "Use the credentials below to configure your app or device." : "Uygulama veya aygıtınızı yapılandırmak için aşağıdaki kimlik bilgilerini kullan.", "Username" : "Kullanıcı Adı", "Done" : "Bitti", - "Get the apps to sync your files" : "Dosyalarınızı eşitlemek için uygulamaları indirin", - "Desktop client" : "Masaüstü istemcisi", - "Android app" : "Android uygulaması", - "iOS app" : "iOS uygulaması", - "If you want to support the project\n\t\tjoin development\n\t\tor\n\t\tspread the word!" : "Projeyi desteklemek isterseniz\n\t\tgelişimine katılın\n\t\tya da\n\t\tdünyaya duyurun!", - "Show First Run Wizard again" : "İlk Çalıştırma Sihirbazı'nı yeniden göster", "Show storage location" : "Depolama konumunu göster", "Show last log in" : "Son oturum açılma zamanını göster", "Show user backend" : "Kullanıcı arka ucunu göster", @@ -318,6 +313,10 @@ "change full name" : "tam adı değiştir", "set new password" : "yeni parola belirle", "change email address" : "e-posta adresini değiştir", - "Default" : "Öntanımlı" + "Default" : "Öntanımlı", + "APCu" : "APCu", + "Redis" : "Redis", + "External Storage" : "Harici Depolama", + "Updates" : "Güncellemeler" },"pluralForm" :"nplurals=2; plural=(n > 1);" } \ No newline at end of file diff --git a/settings/l10n/zh_CN.js b/settings/l10n/zh_CN.js index ca7541fe8005a..9c76075ca0361 100644 --- a/settings/l10n/zh_CN.js +++ b/settings/l10n/zh_CN.js @@ -35,17 +35,6 @@ OC.L10N.register( "Email saved" : "电子邮件已保存", "Your full name has been changed." : "您的全名已修改。", "Unable to change full name" : "无法修改全名", - "APCu" : "APCu", - "Redis" : "Redis", - "Security & setup warnings" : "安全及设置警告", - "Sharing" : "共享", - "Server-side encryption" : "服务器端加密", - "External Storage" : "外部存储", - "Cron" : "计划任务", - "Email server" : "电子邮件服务器", - "Log" : "日志", - "Tips & tricks" : "技巧提示", - "Updates" : "更新", "Couldn't remove app." : "无法删除应用。", "Language changed" : "语言已修改", "Invalid request" : "无效请求", @@ -110,17 +99,54 @@ OC.L10N.register( "Unlimited" : "无限", "Personal info" : "个人信息", "Sync clients" : "客户端", - "Everything (fatal issues, errors, warnings, info, debug)" : "所有(灾难性问题,错误,警告,信息,调试)", - "Info, warnings, errors and fatal issues" : "信息,警告,错误和灾难性问题", - "Warnings, errors and fatal issues" : "警告,错误和灾难性问题", - "Errors and fatal issues" : "错误和灾难性问题", - "Fatal issues only" : "仅灾难性问题", "None" : "无", "Login" : "登录", "Plain" : "Plain", "NT LAN Manager" : "NT LAN 管理器", "SSL" : "SSL", "TLS" : "TLS", + "Email server" : "电子邮件服务器", + "Open documentation" : "打开文档", + "This is used for sending out notifications." : "这被用于发送通知。", + "Send mode" : "发送模式", + "Encryption" : "加密", + "From address" : "来自地址", + "mail" : "邮件", + "Authentication method" : "认证方法", + "Authentication required" : "需要认证", + "Server address" : "服务器地址", + "Port" : "端口", + "Credentials" : "凭证", + "SMTP Username" : "SMTP 用户名", + "SMTP Password" : "SMTP 密码", + "Store credentials" : "存储凭据", + "Test email settings" : "测试电子邮件设置", + "Send email" : "发送邮件", + "Server-side encryption" : "服务器端加密", + "Enable server-side encryption" : "启用服务器端加密", + "Please read carefully before activating server-side encryption: " : "在激活服务器端加密之前,请仔细阅读:", + "Once encryption is enabled, all files uploaded to the server from that point forward will be encrypted at rest on the server. It will only be possible to disable encryption at a later date if the active encryption module supports that function, and all pre-conditions (e.g. setting a recover key) are met." : "一旦加密被启用,之后上传到服务器的所有文件都将服务器上加密。只有当启用状态的加密模块支持解密并且所有的先决条件(例如,设定恢复键)得到满足时才能解除加密。", + "Be aware that encryption always increases the file size." : "请注意,加密会增加文件大小。", + "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "定期备份数据有利于保证数据完整,并且确保备份您的加密数据和加密密钥。", + "This is the final warning: Do you really want to enable encryption?" : "这是最后一次警告:你真的想启用加密?", + "Enable encryption" : "启用加密", + "No encryption module loaded, please enable an encryption module in the app menu." : "没有加载加密模块,请在 APP 应用菜单中启用加密模块。", + "Select default encryption module:" : "选择默认的加密模块:", + "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please enable the \"Default encryption module\" and run 'occ encryption:migrate'" : "你需要升级你的加密密钥 (旧版 ownCloud <= 8.0) 。 请在应用中启用 \\\"Default encryption module\\\" 并运行 'occ encryption:migrate'", + "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "您需要将加密密钥从旧版(ownCloud<=8.0)迁移到新版。", + "Start migration" : "开始迁移", + "Everything (fatal issues, errors, warnings, info, debug)" : "所有(灾难性问题,错误,警告,信息,调试)", + "Info, warnings, errors and fatal issues" : "信息,警告,错误和灾难性问题", + "Warnings, errors and fatal issues" : "警告,错误和灾难性问题", + "Errors and fatal issues" : "错误和灾难性问题", + "Fatal issues only" : "仅灾难性问题", + "Log" : "日志", + "What to log" : "记录日志", + "Download logfile" : "下载日志文件", + "More" : "更多", + "Less" : "更少", + "The logfile is bigger than 100 MB. Downloading it may take some time!" : "日志文件超过 100 MB。下载可能需要一些时间!", + "Security & setup warnings" : "安全及设置警告", "php does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP 似乎没有设置好查询的系统环境变量。 用 getenv(\\\"PATH\\\") 测试只返回一个空值。", "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "只读配置已启用。这样可防止通过 WEB 接口设置一些配置。此外,每次更新后该文件需要手动设置为可写。", "PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "PHP 被设置为移除行内 块,这将导致数个核心应用无法访问。", @@ -132,7 +158,15 @@ OC.L10N.register( "If your installation is not installed in the root of the domain and uses system cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "如果你不是安装在网域根目录而且又使用系统定时计划任务,那么可以导致 URL 链接生成问题。为了避免这些问题,请在你的 Config.php 文件中设置 \\\"overwrite.cli.url\\\" 选项为 webroot 安装根目录 (建议: \\\"%s\\\")", "It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "由于下面的错误,无法通过 CLI 执行定时计划任务:", "All checks passed." : "所有检查已通过。", - "Open documentation" : "打开文档", + "Cron" : "计划任务", + "Last cron job execution: %s." : "上次定时任务执行于: %s.", + "Last cron job execution: %s. Something seems wrong." : "上次定时任务执行于: %s. 似乎有些问题。", + "Cron was not executed yet!" : "定时任务还未被执行!", + "Execute one task with each page loaded" : "每个页面加载后执行一个任务", + "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php 已注册于一个 webcron 服务来通过 http 每 15 分钟执行 cron.php。", + "Use system's cron service to call the cron.php file every 15 minutes." : "使用系统 CRON 服务每 15 分钟执行一次 cron.php 文件。", + "Version" : "版本", + "Sharing" : "共享", "Allow apps to use the Share API" : "允许应用软件使用共享API", "Allow users to share via link" : "允许用户通过链接分享文件", "Allow public uploads" : "允许公开上传", @@ -149,44 +183,7 @@ OC.L10N.register( "Exclude groups from sharing" : "在分享中排除组", "These groups will still be able to receive shares, but not to initiate them." : "这些组将仍可以获取分享,但无法向他人分享。", "Allow username autocompletion in share dialog. If this is disabled the full username needs to be entered." : "允许在共享对话框中的自动补全用户名。如果被禁用,需要输入用户全名。", - "Last cron job execution: %s." : "上次定时任务执行于: %s.", - "Last cron job execution: %s. Something seems wrong." : "上次定时任务执行于: %s. 似乎有些问题。", - "Cron was not executed yet!" : "定时任务还未被执行!", - "Execute one task with each page loaded" : "每个页面加载后执行一个任务", - "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php 已注册于一个 webcron 服务来通过 http 每 15 分钟执行 cron.php。", - "Use system's cron service to call the cron.php file every 15 minutes." : "使用系统 CRON 服务每 15 分钟执行一次 cron.php 文件。", - "Enable server-side encryption" : "启用服务器端加密", - "Please read carefully before activating server-side encryption: " : "在激活服务器端加密之前,请仔细阅读:", - "Once encryption is enabled, all files uploaded to the server from that point forward will be encrypted at rest on the server. It will only be possible to disable encryption at a later date if the active encryption module supports that function, and all pre-conditions (e.g. setting a recover key) are met." : "一旦加密被启用,之后上传到服务器的所有文件都将服务器上加密。只有当启用状态的加密模块支持解密并且所有的先决条件(例如,设定恢复键)得到满足时才能解除加密。", - "Be aware that encryption always increases the file size." : "请注意,加密会增加文件大小。", - "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "定期备份数据有利于保证数据完整,并且确保备份您的加密数据和加密密钥。", - "This is the final warning: Do you really want to enable encryption?" : "这是最后一次警告:你真的想启用加密?", - "Enable encryption" : "启用加密", - "No encryption module loaded, please enable an encryption module in the app menu." : "没有加载加密模块,请在 APP 应用菜单中启用加密模块。", - "Select default encryption module:" : "选择默认的加密模块:", - "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please enable the \"Default encryption module\" and run 'occ encryption:migrate'" : "你需要升级你的加密密钥 (旧版 ownCloud <= 8.0) 。 请在应用中启用 \\\"Default encryption module\\\" 并运行 'occ encryption:migrate'", - "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "您需要将加密密钥从旧版(ownCloud<=8.0)迁移到新版。", - "Start migration" : "开始迁移", - "This is used for sending out notifications." : "这被用于发送通知。", - "Send mode" : "发送模式", - "Encryption" : "加密", - "From address" : "来自地址", - "mail" : "邮件", - "Authentication method" : "认证方法", - "Authentication required" : "需要认证", - "Server address" : "服务器地址", - "Port" : "端口", - "Credentials" : "凭证", - "SMTP Username" : "SMTP 用户名", - "SMTP Password" : "SMTP 密码", - "Store credentials" : "存储凭据", - "Test email settings" : "测试电子邮件设置", - "Send email" : "发送邮件", - "What to log" : "记录日志", - "Download logfile" : "下载日志文件", - "More" : "更多", - "Less" : "更少", - "The logfile is bigger than 100 MB. Downloading it may take some time!" : "日志文件超过 100 MB。下载可能需要一些时间!", + "Tips & tricks" : "技巧提示", "SQLite is used as database. For larger installations we recommend to switch to a different database backend." : "SQLite 被用作数据库。对于较大数据量的安装和使用,我们建议您切换到不同的数据库后端。", "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "特别当使用桌面客户端来同步文件时,不鼓励使用 SQLite 。", "How to do backups" : "如何做备份", @@ -195,7 +192,6 @@ OC.L10N.register( "Improving the config.php" : "正在优化 config.php", "Theming" : "主题", "Hardening and security guidance" : "强化和安全指南", - "Version" : "版本", "Developer documentation" : "开发者文档", "Experimental applications ahead" : "未来的实验应用", "Experimental apps are not checked for security issues, new or known to be unstable and under heavy development. Installing them can cause data loss or security breaches." : "实验应用程序没有在安全性的问题上作过多检查,新的或已知的不稳定 BUG 都在开发中。安装它们可能会导致数据丢失或安全漏洞。", @@ -245,13 +241,13 @@ OC.L10N.register( "Change password" : "修改密码", "Language" : "语言", "Help translate" : "帮助翻译", - "Name" : "名称", - "Username" : "用户名", "Get the apps to sync your files" : "安装应用进行文件同步", "Desktop client" : "桌面客户端", "Android app" : "Android 应用", "iOS app" : "iOS 应用", "Show First Run Wizard again" : "再次显示首次运行向导", + "Name" : "名称", + "Username" : "用户名", "Show storage location" : "显示存储位置", "Show last log in" : "显示最后登录", "Show user backend" : "显示用户后端", @@ -270,6 +266,10 @@ OC.L10N.register( "change full name" : "更改全名", "set new password" : "设置新密码", "change email address" : "修改电子邮箱地址", - "Default" : "默认" + "Default" : "默认", + "APCu" : "APCu", + "Redis" : "Redis", + "External Storage" : "外部存储", + "Updates" : "更新" }, "nplurals=1; plural=0;"); diff --git a/settings/l10n/zh_CN.json b/settings/l10n/zh_CN.json index c5af97dd214b0..e3681f87c0cba 100644 --- a/settings/l10n/zh_CN.json +++ b/settings/l10n/zh_CN.json @@ -33,17 +33,6 @@ "Email saved" : "电子邮件已保存", "Your full name has been changed." : "您的全名已修改。", "Unable to change full name" : "无法修改全名", - "APCu" : "APCu", - "Redis" : "Redis", - "Security & setup warnings" : "安全及设置警告", - "Sharing" : "共享", - "Server-side encryption" : "服务器端加密", - "External Storage" : "外部存储", - "Cron" : "计划任务", - "Email server" : "电子邮件服务器", - "Log" : "日志", - "Tips & tricks" : "技巧提示", - "Updates" : "更新", "Couldn't remove app." : "无法删除应用。", "Language changed" : "语言已修改", "Invalid request" : "无效请求", @@ -108,17 +97,54 @@ "Unlimited" : "无限", "Personal info" : "个人信息", "Sync clients" : "客户端", - "Everything (fatal issues, errors, warnings, info, debug)" : "所有(灾难性问题,错误,警告,信息,调试)", - "Info, warnings, errors and fatal issues" : "信息,警告,错误和灾难性问题", - "Warnings, errors and fatal issues" : "警告,错误和灾难性问题", - "Errors and fatal issues" : "错误和灾难性问题", - "Fatal issues only" : "仅灾难性问题", "None" : "无", "Login" : "登录", "Plain" : "Plain", "NT LAN Manager" : "NT LAN 管理器", "SSL" : "SSL", "TLS" : "TLS", + "Email server" : "电子邮件服务器", + "Open documentation" : "打开文档", + "This is used for sending out notifications." : "这被用于发送通知。", + "Send mode" : "发送模式", + "Encryption" : "加密", + "From address" : "来自地址", + "mail" : "邮件", + "Authentication method" : "认证方法", + "Authentication required" : "需要认证", + "Server address" : "服务器地址", + "Port" : "端口", + "Credentials" : "凭证", + "SMTP Username" : "SMTP 用户名", + "SMTP Password" : "SMTP 密码", + "Store credentials" : "存储凭据", + "Test email settings" : "测试电子邮件设置", + "Send email" : "发送邮件", + "Server-side encryption" : "服务器端加密", + "Enable server-side encryption" : "启用服务器端加密", + "Please read carefully before activating server-side encryption: " : "在激活服务器端加密之前,请仔细阅读:", + "Once encryption is enabled, all files uploaded to the server from that point forward will be encrypted at rest on the server. It will only be possible to disable encryption at a later date if the active encryption module supports that function, and all pre-conditions (e.g. setting a recover key) are met." : "一旦加密被启用,之后上传到服务器的所有文件都将服务器上加密。只有当启用状态的加密模块支持解密并且所有的先决条件(例如,设定恢复键)得到满足时才能解除加密。", + "Be aware that encryption always increases the file size." : "请注意,加密会增加文件大小。", + "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "定期备份数据有利于保证数据完整,并且确保备份您的加密数据和加密密钥。", + "This is the final warning: Do you really want to enable encryption?" : "这是最后一次警告:你真的想启用加密?", + "Enable encryption" : "启用加密", + "No encryption module loaded, please enable an encryption module in the app menu." : "没有加载加密模块,请在 APP 应用菜单中启用加密模块。", + "Select default encryption module:" : "选择默认的加密模块:", + "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please enable the \"Default encryption module\" and run 'occ encryption:migrate'" : "你需要升级你的加密密钥 (旧版 ownCloud <= 8.0) 。 请在应用中启用 \\\"Default encryption module\\\" 并运行 'occ encryption:migrate'", + "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "您需要将加密密钥从旧版(ownCloud<=8.0)迁移到新版。", + "Start migration" : "开始迁移", + "Everything (fatal issues, errors, warnings, info, debug)" : "所有(灾难性问题,错误,警告,信息,调试)", + "Info, warnings, errors and fatal issues" : "信息,警告,错误和灾难性问题", + "Warnings, errors and fatal issues" : "警告,错误和灾难性问题", + "Errors and fatal issues" : "错误和灾难性问题", + "Fatal issues only" : "仅灾难性问题", + "Log" : "日志", + "What to log" : "记录日志", + "Download logfile" : "下载日志文件", + "More" : "更多", + "Less" : "更少", + "The logfile is bigger than 100 MB. Downloading it may take some time!" : "日志文件超过 100 MB。下载可能需要一些时间!", + "Security & setup warnings" : "安全及设置警告", "php does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP 似乎没有设置好查询的系统环境变量。 用 getenv(\\\"PATH\\\") 测试只返回一个空值。", "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "只读配置已启用。这样可防止通过 WEB 接口设置一些配置。此外,每次更新后该文件需要手动设置为可写。", "PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "PHP 被设置为移除行内 块,这将导致数个核心应用无法访问。", @@ -130,7 +156,15 @@ "If your installation is not installed in the root of the domain and uses system cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "如果你不是安装在网域根目录而且又使用系统定时计划任务,那么可以导致 URL 链接生成问题。为了避免这些问题,请在你的 Config.php 文件中设置 \\\"overwrite.cli.url\\\" 选项为 webroot 安装根目录 (建议: \\\"%s\\\")", "It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "由于下面的错误,无法通过 CLI 执行定时计划任务:", "All checks passed." : "所有检查已通过。", - "Open documentation" : "打开文档", + "Cron" : "计划任务", + "Last cron job execution: %s." : "上次定时任务执行于: %s.", + "Last cron job execution: %s. Something seems wrong." : "上次定时任务执行于: %s. 似乎有些问题。", + "Cron was not executed yet!" : "定时任务还未被执行!", + "Execute one task with each page loaded" : "每个页面加载后执行一个任务", + "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php 已注册于一个 webcron 服务来通过 http 每 15 分钟执行 cron.php。", + "Use system's cron service to call the cron.php file every 15 minutes." : "使用系统 CRON 服务每 15 分钟执行一次 cron.php 文件。", + "Version" : "版本", + "Sharing" : "共享", "Allow apps to use the Share API" : "允许应用软件使用共享API", "Allow users to share via link" : "允许用户通过链接分享文件", "Allow public uploads" : "允许公开上传", @@ -147,44 +181,7 @@ "Exclude groups from sharing" : "在分享中排除组", "These groups will still be able to receive shares, but not to initiate them." : "这些组将仍可以获取分享,但无法向他人分享。", "Allow username autocompletion in share dialog. If this is disabled the full username needs to be entered." : "允许在共享对话框中的自动补全用户名。如果被禁用,需要输入用户全名。", - "Last cron job execution: %s." : "上次定时任务执行于: %s.", - "Last cron job execution: %s. Something seems wrong." : "上次定时任务执行于: %s. 似乎有些问题。", - "Cron was not executed yet!" : "定时任务还未被执行!", - "Execute one task with each page loaded" : "每个页面加载后执行一个任务", - "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php 已注册于一个 webcron 服务来通过 http 每 15 分钟执行 cron.php。", - "Use system's cron service to call the cron.php file every 15 minutes." : "使用系统 CRON 服务每 15 分钟执行一次 cron.php 文件。", - "Enable server-side encryption" : "启用服务器端加密", - "Please read carefully before activating server-side encryption: " : "在激活服务器端加密之前,请仔细阅读:", - "Once encryption is enabled, all files uploaded to the server from that point forward will be encrypted at rest on the server. It will only be possible to disable encryption at a later date if the active encryption module supports that function, and all pre-conditions (e.g. setting a recover key) are met." : "一旦加密被启用,之后上传到服务器的所有文件都将服务器上加密。只有当启用状态的加密模块支持解密并且所有的先决条件(例如,设定恢复键)得到满足时才能解除加密。", - "Be aware that encryption always increases the file size." : "请注意,加密会增加文件大小。", - "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "定期备份数据有利于保证数据完整,并且确保备份您的加密数据和加密密钥。", - "This is the final warning: Do you really want to enable encryption?" : "这是最后一次警告:你真的想启用加密?", - "Enable encryption" : "启用加密", - "No encryption module loaded, please enable an encryption module in the app menu." : "没有加载加密模块,请在 APP 应用菜单中启用加密模块。", - "Select default encryption module:" : "选择默认的加密模块:", - "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please enable the \"Default encryption module\" and run 'occ encryption:migrate'" : "你需要升级你的加密密钥 (旧版 ownCloud <= 8.0) 。 请在应用中启用 \\\"Default encryption module\\\" 并运行 'occ encryption:migrate'", - "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "您需要将加密密钥从旧版(ownCloud<=8.0)迁移到新版。", - "Start migration" : "开始迁移", - "This is used for sending out notifications." : "这被用于发送通知。", - "Send mode" : "发送模式", - "Encryption" : "加密", - "From address" : "来自地址", - "mail" : "邮件", - "Authentication method" : "认证方法", - "Authentication required" : "需要认证", - "Server address" : "服务器地址", - "Port" : "端口", - "Credentials" : "凭证", - "SMTP Username" : "SMTP 用户名", - "SMTP Password" : "SMTP 密码", - "Store credentials" : "存储凭据", - "Test email settings" : "测试电子邮件设置", - "Send email" : "发送邮件", - "What to log" : "记录日志", - "Download logfile" : "下载日志文件", - "More" : "更多", - "Less" : "更少", - "The logfile is bigger than 100 MB. Downloading it may take some time!" : "日志文件超过 100 MB。下载可能需要一些时间!", + "Tips & tricks" : "技巧提示", "SQLite is used as database. For larger installations we recommend to switch to a different database backend." : "SQLite 被用作数据库。对于较大数据量的安装和使用,我们建议您切换到不同的数据库后端。", "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "特别当使用桌面客户端来同步文件时,不鼓励使用 SQLite 。", "How to do backups" : "如何做备份", @@ -193,7 +190,6 @@ "Improving the config.php" : "正在优化 config.php", "Theming" : "主题", "Hardening and security guidance" : "强化和安全指南", - "Version" : "版本", "Developer documentation" : "开发者文档", "Experimental applications ahead" : "未来的实验应用", "Experimental apps are not checked for security issues, new or known to be unstable and under heavy development. Installing them can cause data loss or security breaches." : "实验应用程序没有在安全性的问题上作过多检查,新的或已知的不稳定 BUG 都在开发中。安装它们可能会导致数据丢失或安全漏洞。", @@ -243,13 +239,13 @@ "Change password" : "修改密码", "Language" : "语言", "Help translate" : "帮助翻译", - "Name" : "名称", - "Username" : "用户名", "Get the apps to sync your files" : "安装应用进行文件同步", "Desktop client" : "桌面客户端", "Android app" : "Android 应用", "iOS app" : "iOS 应用", "Show First Run Wizard again" : "再次显示首次运行向导", + "Name" : "名称", + "Username" : "用户名", "Show storage location" : "显示存储位置", "Show last log in" : "显示最后登录", "Show user backend" : "显示用户后端", @@ -268,6 +264,10 @@ "change full name" : "更改全名", "set new password" : "设置新密码", "change email address" : "修改电子邮箱地址", - "Default" : "默认" + "Default" : "默认", + "APCu" : "APCu", + "Redis" : "Redis", + "External Storage" : "外部存储", + "Updates" : "更新" },"pluralForm" :"nplurals=1; plural=0;" } \ No newline at end of file diff --git a/settings/routes.php b/settings/routes.php index 94732b3192a6a..f77da543e1006 100644 --- a/settings/routes.php +++ b/settings/routes.php @@ -64,6 +64,8 @@ ['name' => 'Certificate#removePersonalRootCertificate', 'url' => '/settings/personal/certificate/{certificateIdentifier}', 'verb' => 'DELETE'], ['name' => 'Certificate#addSystemRootCertificate', 'url' => '/settings/admin/certificate', 'verb' => 'POST'], ['name' => 'Certificate#removeSystemRootCertificate', 'url' => '/settings/admin/certificate/{certificateIdentifier}', 'verb' => 'DELETE'], + ['name' => 'AdminSettings#index', 'url' => '/settings/admin/{section}', 'verb' => 'GET', 'defaults' => ['section' => 'server']], + ['name' => 'AdminSettings#form', 'url' => '/settings/admin/{section}', 'verb' => 'GET'], ] ]); @@ -76,8 +78,6 @@ ->actionInclude('settings/personal.php'); $this->create('settings_users', '/settings/users') ->actionInclude('settings/users.php'); -$this->create('settings_admin', '/settings/admin') - ->actionInclude('settings/admin.php'); // Settings ajax actions // users $this->create('settings_ajax_setquota', '/settings/ajax/setquota.php') diff --git a/settings/templates/admin.php b/settings/templates/admin.php deleted file mode 100644 index 730e60cfad4af..0000000000000 --- a/settings/templates/admin.php +++ /dev/null @@ -1,578 +0,0 @@ - - * This file is licensed under the Affero General Public License version 3 or later. - * See the COPYING-README file. - */ -/** - * @var array $_ - * @var \OCP\IL10N $l - * @var OC_Defaults $theme - */ - -style('settings', 'settings'); -script('settings', [ 'settings', 'admin', 'log'] ); -script('core', ['multiselect', 'setupchecks']); -vendor_script('select2/select2'); -vendor_style('select2/select2'); - -$levels = ['Debug', 'Info', 'Warning', 'Error', 'Fatal']; -$levelLabels = [ - $l->t( 'Everything (fatal issues, errors, warnings, info, debug)' ), - $l->t( 'Info, warnings, errors and fatal issues' ), - $l->t( 'Warnings, errors and fatal issues' ), - $l->t( 'Errors and fatal issues' ), - $l->t( 'Fatal issues only' ), -]; - -$mail_smtpauthtype = [ - '' => $l->t('None'), - 'LOGIN' => $l->t('Login'), - 'PLAIN' => $l->t('Plain'), - 'NTLM' => $l->t('NT LAN Manager'), -]; - -$mail_smtpsecure = [ - '' => $l->t('None'), - 'ssl' => $l->t('SSL'), - 'tls' => $l->t('TLS'), -]; - -$mail_smtpmode = [ - ['php', 'PHP'], - ['smtp', 'SMTP'], -]; -if ($_['sendmail_is_available']) { - $mail_smtpmode[] = ['sendmail', 'Sendmail']; -} -if ($_['mail_smtpmode'] == 'qmail') { - $mail_smtpmode[] = ['qmail', 'qmail']; -} -?> - -
-
    - %s", \OCP\Util::sanitizeHTML($anchor), \OCP\Util::sanitizeHTML($sectionName))); - } - }?> -
-
- -
- -
-

t('Security & setup warnings'));?>

-
    - -
  • - t('php does not seem to be setup properly to query system environment variables. The test with getenv("PATH") only returns an empty response.')); ?>
    - t('Please check the installation documentation ↗ for php configuration notes and the php configuration of your server, especially when using php-fpm.', link_to_docs('admin-php-fpm'))); ?> -
  • - -
  • - t('The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update.')); ?> -
  • - -
  • - t('PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible.')); ?>
    - t('This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator.')); ?> -
  • - -
  • - t('Your database does not run with "READ COMMITTED" transaction isolation level. This can cause problems when multiple actions are executed in parallel.')); ?> -
  • - $data) { - ?> -
  • - t('%1$s below version %2$s is installed, for stability and performance reasons we recommend updating to a newer %1$s version.', $data)); ?> -
  • - -
  • - t('The PHP module \'fileinfo\' is missing. We strongly recommend to enable this module to get best results with mime-type detection.')); ?> -
  • - -
  • - t('Transactional file locking is disabled, this might lead to issues with race conditions. Enable \'filelocking.enabled\' in config.php to avoid these problems. See the documentation ↗ for more information.', link_to_docs('admin-transactional-locking'))); ?> -
  • - -
  • - t('System locale can not be set to a one which supports UTF-8.')); - ?> -
    - t('This means that there might be problems with certain characters in file names.')); - ?> -
    - t('We strongly suggest installing the required packages on your system to support one of the following locales: %s.', [$locales])); - ?> -
  • - -
  • - t('If your installation is not installed in the root of the domain and uses system cron, there can be issues with the URL generation. To avoid these problems, please set the "overwrite.cli.url" option in your config.php file to the webroot path of your installation (Suggested: "%s")', $_['suggestedOverwriteCliUrl'])); ?> -
  • - -
  • - t('It was not possible to execute the cronjob via CLI. The following technical errors have appeared:')); ?> -
    -
      - error)) {?> -
    1. error) ?> hint) ?>
    2. - -
    -
  • - -
- -
-
- - - - -
-
- -
-
- -
-

t('Sharing'));?>

- -

- /> -
-

-

- /> -
-

- -

- /> -
- - /> -
- - /> -
- - /> -
- -

-

- t( 'Expire after ' )); ?> - ' /> - t( 'days' )); ?> - /> -
-

-

- /> -
-

-

- /> -
-

-

- /> -
-

-

- /> -
-

-

- /> -
-

-

- -
- t('These groups will still be able to receive shares, but not to initiate them.')); ?> -

-

- /> -
-

- - -
- - - - -
- - -
-

t('Cron'));?>

- -

- - - - t("Last cron job execution: %s.", [$relative_time]));?> - - - - - t("Last cron job execution: %s. Something seems wrong.", [$relative_time]));?> - - - - t("Cron was not executed yet!")); - endif; ?> -

- - - -

- > -
- t("Execute one task with each page loaded")); ?> -

-

- > -
- t("cron.php is registered at a webcron service to call cron.php every 15 minutes over http.")); ?> -

-

- > -
- t("Use system's cron service to call the cron.php file every 15 minutes.")); ?> -

-
- -
-

t('Server-side encryption')); ?>

- - -

- /> -
-

- - - -
-
- t('No encryption module loaded, please enable an encryption module in the app menu.')); - } else { ?> -

t('Select default encryption module:')) ?>

-
- $module): ?> - > - -
- - - -
- -
-
- t('You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please enable the "Default encryption module" and run \'occ encryption:migrate\'')); - } elseif ($_['encryptionReady'] === false && $_['externalBackendsEnabled'] === false) { - p($l->t('You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one.')); ?> - - -
-
-
- -
- -

t('Email server'));?>

- - -

t('This is used for sending out notifications.')); ?>

- -

- - - - - -

- -

- - ' />@ - ' /> -

- - - - - -
- -
- -
- t( 'Test email settings' )); ?> - - -
- -
-

t('Log'));?>

- - - - - - - - - - - -
- level]);?> - - app);?> - - message);?> - - time)){ - p(OC_Util::formatDate($entry->time)); - } else { - p($entry->time); - }?> - user) ? p($entry->user) : p('--') ?>
-

t('What to log'));?>

- - 0): ?> - t('Download logfile'));?> - - - - - - (100 * 1024 * 1024)): ?> -
- - t('The logfile is bigger than 100 MB. Downloading it may take some time!')); ?> - - - -
- -
-

t('Tips & tricks'));?>

- -
- - -
- - -
-

t('Version'));?>

-

getTitle()); ?>

-

-
- - - - -
diff --git a/settings/templates/admin/additional-mail.php b/settings/templates/admin/additional-mail.php new file mode 100644 index 0000000000000..88eec421ec5e4 --- /dev/null +++ b/settings/templates/admin/additional-mail.php @@ -0,0 +1,140 @@ + + * + * @author Arthur Schiwon + * + * @license GNU AGPL version 3 or any later version + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + */ + +/** @var \OCP\IL10N $l */ +/** @var array $_ */ + +$mail_smtpauthtype = [ + '' => $l->t('None'), + 'LOGIN' => $l->t('Login'), + 'PLAIN' => $l->t('Plain'), + 'NTLM' => $l->t('NT LAN Manager'), +]; + +$mail_smtpsecure = [ + '' => $l->t('None'), + 'ssl' => $l->t('SSL'), + 'tls' => $l->t('TLS'), +]; + +$mail_smtpmode = [ + ['php', 'PHP'], + ['smtp', 'SMTP'], +]; +if ($_['sendmail_is_available']) { + $mail_smtpmode[] = ['sendmail', 'Sendmail']; +} +if ($_['mail_smtpmode'] == 'qmail') { + $mail_smtpmode[] = ['qmail', 'qmail']; +} + +?> + +
+
+

t('Email server'));?>

+ + +

t('This is used for sending out notifications.')); ?>

+ +

+ + + + + +

+ +

+ + ' />@ + ' /> +

+ + + + +
+
+ +
+ +
+ t( 'Test email settings' )); ?> + + +
+ diff --git a/apps/systemtags/admin.php b/settings/templates/admin/additional.php similarity index 65% rename from apps/systemtags/admin.php rename to settings/templates/admin/additional.php index 45ea577e8ab67..2ad2c5af4e5d5 100644 --- a/apps/systemtags/admin.php +++ b/settings/templates/admin/additional.php @@ -1,6 +1,8 @@ + * @copyright Copyright (c) 2016 Arthur Schiwon + * + * @author Arthur Schiwon * * @license GNU AGPL version 3 or any later version * @@ -19,5 +21,13 @@ * */ -$template = new \OCP\Template('systemtags', 'admin'); -return $template->fetchPage(); +/** @var \OCP\IL10N $l */ +/** @var array $_ */ + +?> + + +
+ diff --git a/settings/templates/admin/encryption.php b/settings/templates/admin/encryption.php new file mode 100644 index 0000000000000..4b6d9045689bc --- /dev/null +++ b/settings/templates/admin/encryption.php @@ -0,0 +1,90 @@ + + * + * @author Arthur Schiwon + * + * @license GNU AGPL version 3 or any later version + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + */ + +/** @var \OCP\IL10N $l */ +/** @var array $_ */ + +?> + +
+

t('Server-side encryption')); ?>

+ + +

+ /> +
+

+ + + +
+
+ t('No encryption module loaded, please enable an encryption module in the app menu.')); + } else { ?> +

t('Select default encryption module:')) ?>

+
+ $module): ?> + > + +
+ +
+ +
+
+ t('You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please enable the "Default encryption module" and run \'occ encryption:migrate\'')); + } elseif ($_['encryptionReady'] === false && $_['externalBackendsEnabled'] === false) { + p($l->t('You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one.')); ?> + + +
+
+
diff --git a/settings/templates/admin/frame.php b/settings/templates/admin/frame.php new file mode 100644 index 0000000000000..1d9f6dc7a7845 --- /dev/null +++ b/settings/templates/admin/frame.php @@ -0,0 +1,48 @@ + + * + * @author Arthur Schiwon + * + * @license GNU AGPL version 3 or any later version + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + */ + +style('settings', 'settings'); +script('settings', [ 'settings', 'admin', 'log', 'certificates'] ); +script('core', ['multiselect', 'setupchecks']); +script('files', 'jquery.fileupload'); +vendor_script('select2/select2'); +vendor_style('select2/select2'); + +?> + +
+
    + getURLGenerator()->linkToRoute('settings.AdminSettings.index', ['section' => $form['anchor']]); + $sectionName = $form['section-name']; + $active = $form['active'] ? ' class="active"' : ''; + print_unescaped(sprintf("%s", $active, \OCP\Util::sanitizeHTML($anchor), \OCP\Util::sanitizeHTML($sectionName))); + } + }?> +
+
+ +
+ +
diff --git a/settings/templates/admin/logging.php b/settings/templates/admin/logging.php new file mode 100644 index 0000000000000..2f60629c42a41 --- /dev/null +++ b/settings/templates/admin/logging.php @@ -0,0 +1,88 @@ + + * + * @author Arthur Schiwon + * + * @license GNU AGPL version 3 or any later version + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + */ + +/** @var \OCP\IL10N $l */ +/** @var array $_ */ + +$levels = ['Debug', 'Info', 'Warning', 'Error', 'Fatal']; +$levelLabels = [ + $l->t( 'Everything (fatal issues, errors, warnings, info, debug)' ), + $l->t( 'Info, warnings, errors and fatal issues' ), + $l->t( 'Warnings, errors and fatal issues' ), + $l->t( 'Errors and fatal issues' ), + $l->t( 'Fatal issues only' ), +]; + +?> + +
+

t('Log'));?>

+ + + + + + + + + + + +
+ level]);?> + + app);?> + + message);?> + + time)){ + p(OC_Util::formatDate($entry->time)); + } else { + p($entry->time); + }?> + user) ? p($entry->user) : p('--') ?>
+

t('What to log'));?>

+ + 0): ?> + t('Download logfile'));?> + + + + + + (100 * 1024 * 1024)): ?> +
+ + t('The logfile is bigger than 100 MB. Downloading it may take some time!')); ?> + + + +
diff --git a/settings/templates/admin/server.php b/settings/templates/admin/server.php new file mode 100644 index 0000000000000..a15705a90e2d5 --- /dev/null +++ b/settings/templates/admin/server.php @@ -0,0 +1,215 @@ + + * + * @author Arthur Schiwon + * + * @license GNU AGPL version 3 or any later version + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + */ + +/** @var \OCP\IL10N $l */ +/** @var array $_ */ + +?> + +
+

t('Security & setup warnings'));?>

+
    + +
  • + t('php does not seem to be setup properly to query system environment variables. The test with getenv("PATH") only returns an empty response.')); ?>
    + t('Please check the installation documentation ↗ for php configuration notes and the php configuration of your server, especially when using php-fpm.', link_to_docs('admin-php-fpm'))); ?> +
  • + +
  • + t('The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update.')); ?> +
  • + +
  • + t('PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible.')); ?>
    + t('This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator.')); ?> +
  • + +
  • + t('Your database does not run with "READ COMMITTED" transaction isolation level. This can cause problems when multiple actions are executed in parallel.')); ?> +
  • + $data) { + ?> +
  • + t('%1$s below version %2$s is installed, for stability and performance reasons we recommend updating to a newer %1$s version.', $data)); ?> +
  • + +
  • + t('The PHP module \'fileinfo\' is missing. We strongly recommend to enable this module to get best results with mime-type detection.')); ?> +
  • + +
  • + t('Transactional file locking is disabled, this might lead to issues with race conditions. Enable \'filelocking.enabled\' in config.php to avoid these problems. See the documentation ↗ for more information.', link_to_docs('admin-transactional-locking'))); ?> +
  • + +
  • + t('System locale can not be set to a one which supports UTF-8.')); + ?> +
    + t('This means that there might be problems with certain characters in file names.')); + ?> +
    + t('We strongly suggest installing the required packages on your system to support one of the following locales: %s.', [$locales])); + ?> +
  • + +
  • + t('If your installation is not installed in the root of the domain and uses system cron, there can be issues with the URL generation. To avoid these problems, please set the "overwrite.cli.url" option in your config.php file to the webroot path of your installation (Suggested: "%s")', $_['suggestedOverwriteCliUrl'])); ?> +
  • + +
  • + t('It was not possible to execute the cronjob via CLI. The following technical errors have appeared:')); ?> +
    +
      + error)) {?> +
    1. error) ?> hint) ?>
    2. + +
    +
  • + +
+ +
+
+ + + + +
+
+ +
+
+ +
+

t('Cron'));?>

+ +

+ + + + t("Last cron job execution: %s.", [$relative_time]));?> + + + + + t("Last cron job execution: %s. Something seems wrong.", [$relative_time]));?> + + + + t("Cron was not executed yet!")); + endif; ?> +

+ + + +

+ > +
+ t("Execute one task with each page loaded")); ?> +

+

+ > +
+ t("cron.php is registered at a webcron service to call cron.php every 15 minutes over http.")); ?> +

+

+ > +
+ t("Use system's cron service to call the cron.php file every 15 minutes.")); ?> +

+
+ +
+ +

t('Version'));?>

+

getTitle()); ?>

+

+
diff --git a/settings/templates/admin/sharing.php b/settings/templates/admin/sharing.php new file mode 100644 index 0000000000000..b8f8e92024627 --- /dev/null +++ b/settings/templates/admin/sharing.php @@ -0,0 +1,107 @@ + + * + * @author Arthur Schiwon + * + * @license GNU AGPL version 3 or any later version + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + */ + +/** @var \OCP\IL10N $l */ +/** @var array $_ */ + +?> + +
+

t('Sharing'));?>

+ +

+ /> +
+

+

+ /> +
+

+ +

+ /> +
+ + /> +
+ + /> +
+ + /> +
+ +

+

+ t( 'Expire after ' )); ?> + ' /> + t( 'days' )); ?> + /> +
+

+

+ /> +
+

+

+ /> +
+

+

+ /> +
+

+

+ /> +
+

+

+ /> +
+

+

+ +
+ t('These groups will still be able to receive shares, but not to initiate them.')); ?> +

+

+ /> +
+

+
diff --git a/settings/templates/admin/tipstricks.php b/settings/templates/admin/tipstricks.php new file mode 100644 index 0000000000000..e924a96deadad --- /dev/null +++ b/settings/templates/admin/tipstricks.php @@ -0,0 +1,49 @@ + + * + * @author Arthur Schiwon + * + * @license GNU AGPL version 3 or any later version + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + */ + +/** @var \OCP\IL10N $l */ +/** @var array $_ */ + +?> + +
+

t('Tips & tricks'));?>

+ +
diff --git a/settings/templates/personal.php b/settings/templates/personal.php index edbc0d24c5dd3..41023018b1b36 100644 --- a/settings/templates/personal.php +++ b/settings/templates/personal.php @@ -165,6 +165,38 @@ + +
+

t('Get the apps to sync your files'));?>

+ + <?php p($l->t('Desktop client'));?> + + + <?php p($l->t('Android app'));?> + + + <?php p($l->t('iOS app'));?> + + + +

+ t('If you want to support the project + join development + + spread the word!'));?> +

+ + + +

t('Show First Run Wizard again'));?>

+ +
+

t('Sessions'));?>

t('Web, desktop and mobile clients currently logged in to your account.'));?> @@ -217,37 +249,6 @@
-
-

t('Get the apps to sync your files'));?>

- - <?php p($l->t('Desktop client'));?> - - - <?php p($l->t('Android app'));?> - - - <?php p($l->t('iOS app'));?> - - - -

- t('If you want to support the project - join development - or - spread the word!'));?> -

- - - -

t('Show First Run Wizard again'));?>

- -
-
diff --git a/tests/Core/Controller/AvatarControllerTest.php b/tests/Core/Controller/AvatarControllerTest.php index 937d8aaf17b66..d45d0618230d2 100644 --- a/tests/Core/Controller/AvatarControllerTest.php +++ b/tests/Core/Controller/AvatarControllerTest.php @@ -19,6 +19,16 @@ * */ +namespace OC\Core\Controller; + +/** + * Overwrite is_uploaded_file in the OC\Core\Controller namespace to allow + * proper unit testing of the postAvatar call. + */ +function is_uploaded_file($filename) { + return file_exists($filename); +} + namespace Tests\Core\Controller; use OC\Core\Application; @@ -31,14 +41,6 @@ use Punic\Exception; use Test\Traits\UserTrait; -/** - * Overwrite is_uploaded_file in this namespace to allow proper unit testing of - * the postAvatar call. - */ -function is_uploaded_file($filename) { - return file_exists($filename); -} - /** * Class AvatarControllerTest * @@ -68,19 +70,19 @@ protected function setUp() { $app = new Application; $this->container = $app->getContainer(); $this->container['AppName'] = 'core'; - $this->container['AvatarManager'] = $this->getMock('OCP\IAvatarManager'); + $this->container['AvatarManager'] = $this->getMockBuilder('OCP\IAvatarManager')->getMock(); $this->container['Cache'] = $this->getMockBuilder('OC\Cache\File') ->disableOriginalConstructor()->getMock(); - $this->container['L10N'] = $this->getMock('OCP\IL10N'); + $this->container['L10N'] = $this->getMockBuilder('OCP\IL10N')->getMock(); $this->container['L10N']->method('t')->will($this->returnArgument(0)); - $this->container['UserManager'] = $this->getMock('OCP\IUserManager'); - $this->container['UserSession'] = $this->getMock('OCP\IUserSession'); - $this->container['Request'] = $this->getMock('OCP\IRequest'); - $this->container['UserFolder'] = $this->getMock('OCP\Files\Folder'); - $this->container['Logger'] = $this->getMock('OCP\ILogger'); + $this->container['UserManager'] = $this->getMockBuilder('OCP\IUserManager')->getMock(); + $this->container['UserSession'] = $this->getMockBuilder('OCP\IUserSession')->getMock(); + $this->container['Request'] = $this->getMockBuilder('OCP\IRequest')->getMock(); + $this->container['UserFolder'] = $this->getMockBuilder('OCP\Files\Folder')->getMock(); + $this->container['Logger'] = $this->getMockBuilder('OCP\ILogger')->getMock(); - $this->avatarMock = $this->getMock('OCP\IAvatar'); - $this->userMock = $this->getMock('OCP\IUser'); + $this->avatarMock = $this->getMockBuilder('OCP\IAvatar')->getMock(); + $this->userMock = $this->getMockBuilder('OCP\IUser')->getMock(); $this->avatarController = $this->container['AvatarController']; @@ -91,7 +93,7 @@ protected function setUp() { ->willReturnMap([['userId', $this->userMock]]); $this->container['UserSession']->method('getUser')->willReturn($this->userMock); - $this->avatarFile = $this->getMock('OCP\Files\File'); + $this->avatarFile = $this->getMockBuilder('OCP\Files\File')->getMock(); $this->avatarFile->method('getContent')->willReturn('image data'); $this->avatarFile->method('getMimeType')->willReturn('image type'); $this->avatarFile->method('getEtag')->willReturn('my etag'); @@ -326,7 +328,7 @@ public function testPostAvatarFromFile() { * Test posting avatar from existing folder */ public function testPostAvatarFromNoFile() { - $file = $this->getMock('OCP\Files\Node'); + $file = $this->getMockBuilder('OCP\Files\Node')->getMock(); $this->container['UserFolder'] ->method('get') ->with('folder') diff --git a/tests/Core/Controller/LoginControllerTest.php b/tests/Core/Controller/LoginControllerTest.php index a322289d20013..8eaa7c9843b65 100644 --- a/tests/Core/Controller/LoginControllerTest.php +++ b/tests/Core/Controller/LoginControllerTest.php @@ -57,14 +57,14 @@ class LoginControllerTest extends TestCase { public function setUp() { parent::setUp(); - $this->request = $this->createMock('\\OCP\\IRequest'); - $this->userManager = $this->createMock('\\OCP\\IUserManager'); - $this->config = $this->createMock('\\OCP\\IConfig'); - $this->session = $this->createMock('\\OCP\\ISession'); + $this->request = $this->getMockBuilder('\\OCP\\IRequest')->getMock(); + $this->userManager = $this->getMockBuilder('\\OCP\\IUserManager')->getMock(); + $this->config = $this->getMockBuilder('\\OCP\\IConfig')->getMock(); + $this->session = $this->getMockBuilder('\\OCP\\ISession')->getMock(); $this->userSession = $this->getMockBuilder('\\OC\\User\\Session') ->disableOriginalConstructor() ->getMock(); - $this->urlGenerator = $this->createMock('\\OCP\\IURLGenerator'); + $this->urlGenerator = $this->getMockBuilder('\\OCP\\IURLGenerator')->getMock(); $this->twoFactorManager = $this->getMockBuilder('\OC\Authentication\TwoFactorAuth\Manager') ->disableOriginalConstructor() ->getMock(); @@ -110,7 +110,7 @@ public function testLogoutWithToken() { ->method('getCookie') ->with('oc_token') ->willReturn('MyLoginToken'); - $user = $this->createMock('\\OCP\\IUser'); + $user = $this->getMockBuilder('\\OCP\\IUser')->getMock(); $user ->expects($this->once()) ->method('getUID') @@ -181,6 +181,7 @@ public function testShowLoginFormWithErrorsInSession() { 'alt_login' => [], 'rememberLoginAllowed' => \OC_Util::rememberLoginAllowed(), 'rememberLoginState' => 0, + 'resetPasswordLink' => null, ], 'guest' ); @@ -217,7 +218,7 @@ public function testShowLoginFormWithPasswordResetOption($canChangePassword, ->method('getSystemValue') ->with('lost_password_link') ->willReturn(false); - $user = $this->createMock('\\OCP\\IUser'); + $user = $this->getMockBuilder('\\OCP\\IUser')->getMock(); $user ->expects($this->once()) ->method('canChangePassword') @@ -239,6 +240,7 @@ public function testShowLoginFormWithPasswordResetOption($canChangePassword, 'alt_login' => [], 'rememberLoginAllowed' => \OC_Util::rememberLoginAllowed(), 'rememberLoginState' => 0, + 'resetPasswordLink' => false, ], 'guest' ); @@ -255,7 +257,7 @@ public function testShowLoginFormForUserNamedNull() { ->method('getSystemValue') ->with('lost_password_link') ->willReturn(false); - $user = $this->createMock('\\OCP\\IUser'); + $user = $this->getMockBuilder('\\OCP\\IUser')->getMock(); $user ->expects($this->once()) ->method('canChangePassword') @@ -277,6 +279,7 @@ public function testShowLoginFormForUserNamedNull() { 'alt_login' => [], 'rememberLoginAllowed' => \OC_Util::rememberLoginAllowed(), 'rememberLoginState' => 0, + 'resetPasswordLink' => false, ], 'guest' ); @@ -326,9 +329,9 @@ public function testLoginWithInvalidCredentials() { public function testLoginWithValidCredentials() { /** @var IUser | \PHPUnit_Framework_MockObject_MockObject $user */ - $user = $this->createMock('\OCP\IUser'); + $user = $this->getMockBuilder('\OCP\IUser')->getMock(); $password = 'secret'; - $indexPageUrl = 'some url'; + $indexPageUrl = \OC_Util::getDefaultPageUrl(); $this->request ->expects($this->exactly(2)) @@ -360,10 +363,6 @@ public function testLoginWithValidCredentials() { ->method('isTwoFactorAuthenticated') ->with($user) ->will($this->returnValue(false)); - $this->urlGenerator->expects($this->once()) - ->method('linkToRoute') - ->with('files.view.index') - ->will($this->returnValue($indexPageUrl)); $expected = new \OCP\AppFramework\Http\RedirectResponse($indexPageUrl); $this->assertEquals($expected, $this->loginController->tryLogin($user, $password, null)); @@ -371,7 +370,7 @@ public function testLoginWithValidCredentials() { public function testLoginWithoutPassedCsrfCheckAndNotLoggedIn() { /** @var IUser | \PHPUnit_Framework_MockObject_MockObject $user */ - $user = $this->createMock('\OCP\IUser'); + $user = $this->getMockBuilder('\OCP\IUser')->getMock(); $user->expects($this->any()) ->method('getUID') ->will($this->returnValue('jane')); @@ -406,7 +405,7 @@ public function testLoginWithoutPassedCsrfCheckAndNotLoggedIn() { public function testLoginWithoutPassedCsrfCheckAndLoggedIn() { /** @var IUser | \PHPUnit_Framework_MockObject_MockObject $user */ - $user = $this->createMock('\OCP\IUser'); + $user = $this->getMockBuilder('\OCP\IUser')->getMock(); $user->expects($this->any()) ->method('getUID') ->will($this->returnValue('jane')); @@ -446,7 +445,7 @@ public function testLoginWithoutPassedCsrfCheckAndLoggedIn() { public function testLoginWithValidCredentialsAndRedirectUrl() { /** @var IUser | \PHPUnit_Framework_MockObject_MockObject $user */ - $user = $this->createMock('\OCP\IUser'); + $user = $this->getMockBuilder('\OCP\IUser')->getMock(); $user->expects($this->any()) ->method('getUID') ->will($this->returnValue('jane')); @@ -493,7 +492,7 @@ public function testLoginWithValidCredentialsAndRedirectUrl() { public function testLoginWithTwoFactorEnforced() { /** @var IUser | \PHPUnit_Framework_MockObject_MockObject $user */ - $user = $this->createMock('\OCP\IUser'); + $user = $this->getMockBuilder('\OCP\IUser')->getMock(); $user->expects($this->any()) ->method('getUID') ->will($this->returnValue('john')); @@ -544,7 +543,7 @@ public function testLoginWithTwoFactorEnforced() { public function testToNotLeakLoginName() { /** @var IUser | \PHPUnit_Framework_MockObject_MockObject $user */ - $user = $this->createMock('\OCP\IUser'); + $user = $this->getMockBuilder('\OCP\IUser')->getMock(); $user->expects($this->any()) ->method('getUID') ->will($this->returnValue('john')); diff --git a/tests/Core/Templates/TemplatesTest.php b/tests/Core/Templates/TemplatesTest.php index 03565411a13d3..cd1502fd22cbf 100644 --- a/tests/Core/Templates/TemplatesTest.php +++ b/tests/Core/Templates/TemplatesTest.php @@ -13,7 +13,7 @@ public function test403() { public function test404() { $template = \OC::$SERVERROOT . '/core/templates/404.php'; $href = \OC::$server->getURLGenerator()->linkTo('', 'index.php'); - $expectedHtml = ""; + $expectedHtml = ""; $this->assertTemplate($expectedHtml, $template); } diff --git a/tests/Settings/Controller/AdminSettingsControllerTest.php b/tests/Settings/Controller/AdminSettingsControllerTest.php new file mode 100644 index 0000000000000..6c93bca0d680c --- /dev/null +++ b/tests/Settings/Controller/AdminSettingsControllerTest.php @@ -0,0 +1,72 @@ + + * + * @author Lukas Reschke + * + * @license GNU AGPL version 3 or any later version + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + */ +namespace Tests\Settings\Controller; + + +use OC\Settings\Admin\TipsTricks; +use OC\Settings\Controller\AdminSettingsController; +use OCP\AppFramework\Http\TemplateResponse; +use OCP\INavigationManager; +use OCP\IRequest; +use OCP\Settings\IManager; +use Test\TestCase; + +class AdminSettingsControllerTest extends TestCase { + /** @var AdminSettingsController */ + private $adminSettingsController; + /** @var IRequest */ + private $request; + /** @var INavigationManager */ + private $navigationManager; + /** @var IManager */ + private $settingsManager; + + public function setUp() { + parent::setUp(); + + $this->request = $this->getMockBuilder('\OCP\IRequest')->getMock(); + $this->navigationManager = $this->getMockBuilder('\OCP\INavigationManager')->getMock(); + $this->settingsManager = $this->getMockBuilder('\OCP\Settings\IManager')->getMock(); + + $this->adminSettingsController = new AdminSettingsController( + 'settings', + $this->request, + $this->navigationManager, + $this->settingsManager + ); + } + + public function testIndex() { + $this->settingsManager + ->expects($this->once()) + ->method('getAdminSections') + ->willReturn([]); + $this->settingsManager + ->expects($this->once()) + ->method('getAdminSettings') + ->with('test') + ->willReturn([5 => new TipsTricks($this->getMockBuilder('\OCP\IConfig')->getMock())]); + $expected = new TemplateResponse('settings', 'admin/frame', ['forms' => [], 'content' => '']); + $this->assertEquals($expected, $this->adminSettingsController->index('test')); + } +} diff --git a/tests/Settings/Controller/AuthSettingsControllerTest.php b/tests/Settings/Controller/AuthSettingsControllerTest.php index 1705cb5ddf195..b57aea0930cfc 100644 --- a/tests/Settings/Controller/AuthSettingsControllerTest.php +++ b/tests/Settings/Controller/AuthSettingsControllerTest.php @@ -91,6 +91,7 @@ public function testIndex() { 'lastActivity' => null, 'type' => null, 'canDelete' => false, + 'current' => true, ], [ 'id' => 200, diff --git a/tests/Settings/Controller/CertificateControllerTest.php b/tests/Settings/Controller/CertificateControllerTest.php index c9ea2a4024fba..36b5715e73419 100644 --- a/tests/Settings/Controller/CertificateControllerTest.php +++ b/tests/Settings/Controller/CertificateControllerTest.php @@ -51,11 +51,11 @@ class CertificateControllerTest extends \Test\TestCase { public function setUp() { parent::setUp(); - $this->request = $this->getMock('\OCP\IRequest'); - $this->certificateManager = $this->getMock('\OCP\ICertificateManager'); - $this->systemCertificateManager = $this->getMock('\OCP\ICertificateManager'); - $this->l10n = $this->getMock('\OCP\IL10N'); - $this->appManager = $this->getMock('OCP\App\IAppManager'); + $this->request = $this->getMockBuilder('\OCP\IRequest')->getMock(); + $this->certificateManager = $this->getMockBuilder('\OCP\ICertificateManager')->getMock(); + $this->systemCertificateManager = $this->getMockBuilder('\OCP\ICertificateManager')->getMock(); + $this->l10n = $this->getMockBuilder('\OCP\IL10N')->getMock(); + $this->appManager = $this->getMockBuilder('OCP\App\IAppManager')->getMock(); $this->certificateController = $this->getMockBuilder('OC\Settings\Controller\CertificateController') ->setConstructorArgs( @@ -90,7 +90,7 @@ public function testAddPersonalRootCertificateValidCertificate() { 'name' => 'goodCertificate.crt', ]; - $certificate = $this->getMock('\OCP\ICertificate'); + $certificate = $this->getMockBuilder('\OCP\ICertificate')->getMock(); $certificate ->expects($this->once()) ->method('getName') diff --git a/tests/Settings/Controller/CheckSetupControllerTest.php b/tests/Settings/Controller/CheckSetupControllerTest.php index f48e9c04f3d18..e4f66b5d87957 100644 --- a/tests/Settings/Controller/CheckSetupControllerTest.php +++ b/tests/Settings/Controller/CheckSetupControllerTest.php @@ -29,31 +29,19 @@ use OCP\Http\Client\IClientService; use OCP\IConfig; use OCP\IL10N; +use OCP\ILogger; use OCP\IRequest; use OCP\IURLGenerator; use OC_Util; use Test\TestCase; use OC\IntegrityCheck\Checker; -/** - * Mock version_compare - * @param string $version1 - * @param string $version2 - * @return int - */ -function version_compare($version1, $version2) { - return CheckSetupControllerTest::$version_compare; -} - /** * Class CheckSetupControllerTest * * @package Tests\Settings\Controller */ class CheckSetupControllerTest extends TestCase { - /** @var int */ - public static $version_compare; - /** @var CheckSetupController */ private $checkSetupController; /** @var IRequest */ @@ -68,6 +56,8 @@ class CheckSetupControllerTest extends TestCase { private $util; /** @var IL10N */ private $l10n; + /** @var ILogger */ + private $logger; /** @var Checker */ private $checker; @@ -95,6 +85,7 @@ public function setUp() { })); $this->checker = $this->getMockBuilder('\OC\IntegrityCheck\Checker') ->disableOriginalConstructor()->getMock(); + $this->logger = $this->getMockBuilder('\OCP\ILogger')->getMock(); $this->checkSetupController = $this->getMockBuilder('\OC\Settings\Controller\CheckSetupController') ->setConstructorArgs([ 'settings', @@ -105,8 +96,9 @@ public function setUp() { $this->util, $this->l10n, $this->checker, + $this->logger ]) - ->setMethods(['getCurlVersion'])->getMock(); + ->setMethods(['getCurlVersion', 'isPhpOutdated'])->getMock(); } public function testIsInternetConnectionWorkingDisabledViaConfig() { @@ -131,12 +123,8 @@ public function testIsInternetConnectionWorkingCorrectly() { $client = $this->getMockBuilder('\OCP\Http\Client\IClient') ->disableOriginalConstructor()->getMock(); - $client->expects($this->at(0)) - ->method('get') - ->with('https://www.owncloud.org/', []); - $client->expects($this->at(1)) - ->method('get') - ->with('http://www.owncloud.org/', []); + $client->expects($this->any()) + ->method('get'); $this->clientService->expects($this->once()) ->method('newClient') @@ -151,7 +139,7 @@ public function testIsInternetConnectionWorkingCorrectly() { ); } - public function testIsInternetConnectionHttpsFail() { + public function testIsInternetConnectionFail() { $this->config->expects($this->once()) ->method('getSystemValue') ->with('has_internet_connection', true) @@ -159,12 +147,11 @@ public function testIsInternetConnectionHttpsFail() { $client = $this->getMockBuilder('\OCP\Http\Client\IClient') ->disableOriginalConstructor()->getMock(); - $client->expects($this->at(0)) + $client->expects($this->any()) ->method('get') - ->with('https://www.owncloud.org/', []) ->will($this->throwException(new \Exception())); - $this->clientService->expects($this->once()) + $this->clientService->expects($this->exactly(3)) ->method('newClient') ->will($this->returnValue($client)); @@ -176,33 +163,6 @@ public function testIsInternetConnectionHttpsFail() { ); } - public function testIsInternetConnectionHttpFail() { - $this->config->expects($this->once()) - ->method('getSystemValue') - ->with('has_internet_connection', true) - ->will($this->returnValue(true)); - - $client = $this->getMockBuilder('\OCP\Http\Client\IClient') - ->disableOriginalConstructor()->getMock(); - $client->expects($this->at(0)) - ->method('get') - ->with('https://www.owncloud.org/', []); - $client->expects($this->at(1)) - ->method('get') - ->with('http://www.owncloud.org/', []) - ->will($this->throwException(new \Exception())); - - $this->clientService->expects($this->once()) - ->method('newClient') - ->will($this->returnValue($client)); - - $this->assertFalse( - self::invokePrivate( - $this->checkSetupController, - 'isInternetConnectionWorking' - ) - ); - } public function testIsMemcacheConfiguredFalse() { $this->config->expects($this->once()) @@ -233,7 +193,10 @@ public function testIsMemcacheConfiguredTrue() { } public function testIsPhpSupportedFalse() { - self::$version_compare = -1; + $this->checkSetupController + ->expects($this->once()) + ->method('isPhpOutdated') + ->willReturn(true); $this->assertEquals( ['eol' => true, 'version' => PHP_VERSION], @@ -242,7 +205,10 @@ public function testIsPhpSupportedFalse() { } public function testIsPhpSupportedTrue() { - self::$version_compare = 0; + $this->checkSetupController + ->expects($this->exactly(2)) + ->method('isPhpOutdated') + ->willReturn(false); $this->assertEquals( ['eol' => false, 'version' => PHP_VERSION], @@ -250,8 +216,6 @@ public function testIsPhpSupportedTrue() { ); - self::$version_compare = 1; - $this->assertEquals( ['eol' => false, 'version' => PHP_VERSION], self::invokePrivate($this->checkSetupController, 'isPhpSupported') @@ -318,13 +282,17 @@ public function testCheck() { ->disableOriginalConstructor()->getMock(); $client->expects($this->at(0)) ->method('get') - ->with('https://www.owncloud.org/', []); + ->with('http://www.nextcloud.com/', []) + ->will($this->throwException(new \Exception())); $client->expects($this->at(1)) ->method('get') - ->with('http://www.owncloud.org/', []) + ->with('http://www.google.com/', []) ->will($this->throwException(new \Exception())); - - $this->clientService->expects($this->once()) + $client->expects($this->at(2)) + ->method('get') + ->with('http://www.github.com/', []) + ->will($this->throwException(new \Exception())); + $this->clientService->expects($this->exactly(3)) ->method('newClient') ->will($this->returnValue($client)); $this->urlGenerator->expects($this->at(0)) @@ -335,7 +303,10 @@ public function testCheck() { ->method('linkToDocs') ->with('admin-security') ->willReturn('https://doc.owncloud.org/server/8.1/admin_manual/configuration_server/hardening.html'); - self::$version_compare = -1; + $this->checkSetupController + ->expects($this->once()) + ->method('isPhpOutdated') + ->willReturn(true); $this->urlGenerator->expects($this->at(2)) ->method('linkToDocs') ->with('admin-reverse-proxy') @@ -373,7 +344,8 @@ public function testGetCurlVersion() { $this->urlGenerator, $this->util, $this->l10n, - $this->checker + $this->checker, + $this->logger ]) ->setMethods(null)->getMock(); @@ -612,7 +584,7 @@ public function testRescanFailedIntegrityCheck() { $this->urlGenerator ->expects($this->once()) ->method('linkToRoute') - ->with('settings_admin') + ->with('settings.AdminSettings.index') ->will($this->returnValue('/admin')); $expected = new RedirectResponse('/admin'); diff --git a/tests/lib/AppFramework/Middleware/OCSMiddlewareTest.php b/tests/lib/AppFramework/Middleware/OCSMiddlewareTest.php index 7d8cadc677f37..b2295fdc26d91 100644 --- a/tests/lib/AppFramework/Middleware/OCSMiddlewareTest.php +++ b/tests/lib/AppFramework/Middleware/OCSMiddlewareTest.php @@ -27,14 +27,14 @@ use OCP\AppFramework\OCS\OCSException; use OCP\AppFramework\OCS\OCSForbiddenException; use OCP\AppFramework\OCS\OCSNotFoundException; -use OC\AppFramework\Http\Request; +use OCP\IRequest; use OC\AppFramework\Middleware\OCSMiddleware; class OCSMiddlewareTest extends \Test\TestCase { /** - * @var Request + * @var IRequest */ private $request; @@ -101,8 +101,18 @@ public function testAfterExceptionOCSv1($controller, $exception, $forward, $mess $this->assertInstanceOf('OCP\AppFramework\Http\OCSResponse', $result); $this->assertSame($message, $this->invokePrivate($result, 'message')); - $this->assertSame($code, $this->invokePrivate($result, 'statuscode')); - $this->assertSame(200, $result->getStatus()); + + if ($exception->getCode() === 0) { + $this->assertSame(\OCP\API::RESPOND_UNKNOWN_ERROR, $this->invokePrivate($result, 'statuscode')); + } else { + $this->assertSame($code, $this->invokePrivate($result, 'statuscode')); + } + + if ($exception instanceof OCSForbiddenException) { + $this->assertSame(Http::STATUS_UNAUTHORIZED, $result->getStatus()); + } else { + $this->assertSame(200, $result->getStatus()); + } } catch (\Exception $e) { $this->assertTrue($forward); $this->assertEquals($exception, $e); @@ -131,7 +141,11 @@ public function testAfterExceptionOCSv2($controller, $exception, $forward, $mess $this->assertInstanceOf('OCP\AppFramework\Http\OCSResponse', $result); $this->assertSame($message, $this->invokePrivate($result, 'message')); - $this->assertSame($code, $this->invokePrivate($result, 'statuscode')); + if ($exception->getCode() === 0) { + $this->assertSame(\OCP\API::RESPOND_UNKNOWN_ERROR, $this->invokePrivate($result, 'statuscode')); + } else { + $this->assertSame($code, $this->invokePrivate($result, 'statuscode')); + } $this->assertSame($code, $result->getStatus()); } catch (\Exception $e) { $this->assertTrue($forward); @@ -161,7 +175,11 @@ public function testAfterExceptionOCSv2SubFolder($controller, $exception, $forwa $this->assertInstanceOf('OCP\AppFramework\Http\OCSResponse', $result); $this->assertSame($message, $this->invokePrivate($result, 'message')); - $this->assertSame($code, $this->invokePrivate($result, 'statuscode')); + if ($exception->getCode() === 0) { + $this->assertSame(\OCP\API::RESPOND_UNKNOWN_ERROR, $this->invokePrivate($result, 'statuscode')); + } else { + $this->assertSame($code, $this->invokePrivate($result, 'statuscode')); + } $this->assertSame($code, $result->getStatus()); } catch (\Exception $e) { $this->assertTrue($forward); @@ -169,4 +187,50 @@ public function testAfterExceptionOCSv2SubFolder($controller, $exception, $forwa } } + public function dataAfterController() { + $OCSController = $this->getMockBuilder('OCP\AppFramework\OCSController') + ->disableOriginalConstructor() + ->getMock(); + $controller = $this->getMockBuilder('OCP\AppFramework\Controller') + ->disableOriginalConstructor() + ->getMock(); + + return [ + [$OCSController, new Http\Response(), false], + [$OCSController, new Http\JSONResponse(), false], + [$OCSController, new Http\JSONResponse(['message' => 'foo']), false], + [$OCSController, new Http\JSONResponse(['message' => 'foo'], Http::STATUS_UNAUTHORIZED), true], + [$OCSController, new Http\JSONResponse(['message' => 'foo'], Http::STATUS_FORBIDDEN), true], + + [$controller, new Http\Response(), false], + [$controller, new Http\JSONResponse(), false], + [$controller, new Http\JSONResponse(['message' => 'foo']), false], + [$controller, new Http\JSONResponse(['message' => 'foo'], Http::STATUS_UNAUTHORIZED), false], + [$controller, new Http\JSONResponse(['message' => 'foo'], Http::STATUS_FORBIDDEN), false], + + ]; + } + + /** + * @dataProvider dataAfterController + * + * @param Controller $controller + * @param Http\Response $response + * @param bool $converted + */ + public function testAfterController($controller, $response, $converted) { + $OCSMiddleware = new OCSMiddleware($this->request); + $newResponse = $OCSMiddleware->afterController($controller, 'foo', $response); + + if ($converted === false) { + $this->assertSame($response, $newResponse); + } else { + $this->assertInstanceOf('\OCP\AppFramework\Http\OCSResponse', $newResponse); + /** @var Http\OCSResponse $newResponse */ + $this->assertSame($response->getData()['message'], $this->invokePrivate($newResponse, 'message')); + $this->assertSame(\OCP\API::RESPOND_UNAUTHORISED, $this->invokePrivate($newResponse, 'statuscode')); + $this->assertSame(Http::STATUS_UNAUTHORIZED, $newResponse->getStatus()); + } + } + } diff --git a/tests/lib/CapabilitiesManagerTest.php b/tests/lib/CapabilitiesManagerTest.php index d4dd52d07f1b9..75fbdb8d89fdc 100644 --- a/tests/lib/CapabilitiesManagerTest.php +++ b/tests/lib/CapabilitiesManagerTest.php @@ -21,14 +21,29 @@ namespace Test; +use OC\CapabilitiesManager; +use OCP\AppFramework\QueryException; +use OCP\Capabilities\ICapability; +use OCP\ILogger; + class CapabilitiesManagerTest extends TestCase { + /** @var CapabilitiesManager */ + private $manager; + + /** @var ILogger */ + private $logger; + + public function setUp() { + $this->logger = $this->getMockBuilder('OCP\ILogger')->getMock(); + $this->manager = new CapabilitiesManager($this->logger); + } + /** * Test no capabilities */ public function testNoCapabilities() { - $manager = new \OC\CapabilitiesManager(); - $res = $manager->getCapabilities(); + $res = $this->manager->getCapabilities(); $this->assertEmpty($res); } @@ -36,13 +51,11 @@ public function testNoCapabilities() { * Test a valid capabilitie */ public function testValidCapability() { - $manager = new \OC\CapabilitiesManager(); - - $manager->registerCapability(function() { + $this->manager->registerCapability(function() { return new SimpleCapability(); }); - $res = $manager->getCapabilities(); + $res = $this->manager->getCapabilities(); $this->assertEquals(['foo' => 1], $res); } @@ -52,13 +65,11 @@ public function testValidCapability() { * @expectedExceptionMessage The given Capability (Test\NoCapability) does not implement the ICapability interface */ public function testNoICapability() { - $manager = new \OC\CapabilitiesManager(); - - $manager->registerCapability(function() { + $this->manager->registerCapability(function() { return new NoCapability(); }); - $res = $manager->getCapabilities(); + $res = $this->manager->getCapabilities(); $this->assertEquals([], $res); } @@ -66,19 +77,17 @@ public function testNoICapability() { * Test a bunch of merged Capabilities */ public function testMergedCapabilities() { - $manager = new \OC\CapabilitiesManager(); - - $manager->registerCapability(function() { + $this->manager->registerCapability(function() { return new SimpleCapability(); }); - $manager->registerCapability(function() { + $this->manager->registerCapability(function() { return new SimpleCapability2(); }); - $manager->registerCapability(function() { + $this->manager->registerCapability(function() { return new SimpleCapability3(); }); - $res = $manager->getCapabilities(); + $res = $this->manager->getCapabilities(); $expected = [ 'foo' => 1, 'bar' => [ @@ -94,16 +103,14 @@ public function testMergedCapabilities() { * Test deep identical capabilities */ public function testDeepIdenticalCapabilities() { - $manager = new \OC\CapabilitiesManager(); - - $manager->registerCapability(function() { + $this->manager->registerCapability(function() { return new DeepCapability(); }); - $manager->registerCapability(function() { + $this->manager->registerCapability(function() { return new DeepCapability(); }); - $res = $manager->getCapabilities(); + $res = $this->manager->getCapabilities(); $expected = [ 'foo' => [ 'bar' => [ @@ -114,9 +121,22 @@ public function testDeepIdenticalCapabilities() { $this->assertEquals($expected, $res); } + + public function testInvalidCapability() { + $this->manager->registerCapability(function () { + throw new QueryException(); + }); + + $this->logger->expects($this->once()) + ->method('error'); + + $res = $this->manager->getCapabilities(); + + $this->assertEquals([], $res); + } } -class SimpleCapability implements \OCP\Capabilities\ICapability { +class SimpleCapability implements ICapability { public function getCapabilities() { return [ 'foo' => 1 @@ -124,7 +144,7 @@ public function getCapabilities() { } } -class SimpleCapability2 implements \OCP\Capabilities\ICapability { +class SimpleCapability2 implements ICapability { public function getCapabilities() { return [ 'bar' => ['x' => 1] @@ -132,7 +152,7 @@ public function getCapabilities() { } } -class SimpleCapability3 implements \OCP\Capabilities\ICapability { +class SimpleCapability3 implements ICapability { public function getCapabilities() { return [ 'bar' => ['y' => 2] @@ -148,7 +168,7 @@ public function getCapabilities() { } } -class DeepCapability implements \OCP\Capabilities\ICapability { +class DeepCapability implements ICapability { public function getCapabilities() { return [ 'foo' => [ @@ -159,4 +179,3 @@ public function getCapabilities() { ]; } } - diff --git a/tests/lib/Settings/Admin/AdditionalTest.php b/tests/lib/Settings/Admin/AdditionalTest.php new file mode 100644 index 0000000000000..3a99893cf7c56 --- /dev/null +++ b/tests/lib/Settings/Admin/AdditionalTest.php @@ -0,0 +1,127 @@ + + * + * @author Lukas Reschke + * + * @license GNU AGPL version 3 or any later version + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + */ + +namespace Test\Settings\Admin; + +use OC\Settings\Admin\Additional; +use OCP\AppFramework\Http\TemplateResponse; +use OCP\IConfig; +use Test\TestCase; + +class AdditionalTest extends TestCase { + /** @var Additional */ + private $admin; + /** @var IConfig */ + private $config; + + public function setUp() { + parent::setUp(); + $this->config = $this->getMockBuilder('\OCP\IConfig')->getMock(); + + $this->admin = new Additional( + $this->config + ); + } + + public function testGetForm() { + $this->config + ->expects($this->at(0)) + ->method('getSystemValue') + ->with('mail_domain', '') + ->willReturn('mx.nextcloud.com'); + $this->config + ->expects($this->at(1)) + ->method('getSystemValue') + ->with('mail_from_address', '') + ->willReturn('no-reply@nextcloud.com'); + $this->config + ->expects($this->at(2)) + ->method('getSystemValue') + ->with('mail_smtpmode', '') + ->willReturn('php'); + $this->config + ->expects($this->at(3)) + ->method('getSystemValue') + ->with('mail_smtpsecure', '') + ->willReturn(true); + $this->config + ->expects($this->at(4)) + ->method('getSystemValue') + ->with('mail_smtphost', '') + ->willReturn('smtp.nextcloud.com'); + $this->config + ->expects($this->at(5)) + ->method('getSystemValue') + ->with('mail_smtpport', '') + ->willReturn(25); + $this->config + ->expects($this->at(6)) + ->method('getSystemValue') + ->with('mail_smtpauthtype', '') + ->willReturn('login'); + $this->config + ->expects($this->at(7)) + ->method('getSystemValue') + ->with('mail_smtpauth', false) + ->willReturn(true); + $this->config + ->expects($this->at(8)) + ->method('getSystemValue') + ->with('mail_smtpname', '') + ->willReturn('smtp.sender.com'); + $this->config + ->expects($this->at(9)) + ->method('getSystemValue') + ->with('mail_smtppassword', '') + ->willReturn('mypassword'); + + $expected = new TemplateResponse( + 'settings', + 'admin/additional-mail', + [ + 'sendmail_is_available' => (bool) \OC_Helper::findBinaryPath('sendmail'), + 'mail_domain' => 'mx.nextcloud.com', + 'mail_from_address' => 'no-reply@nextcloud.com', + 'mail_smtpmode' => 'php', + 'mail_smtpsecure' => true, + 'mail_smtphost' => 'smtp.nextcloud.com', + 'mail_smtpport' => 25, + 'mail_smtpauthtype' => 'login', + 'mail_smtpauth' => true, + 'mail_smtpname' => 'smtp.sender.com', + 'mail_smtppassword' => 'mypassword', + ], + '' + ); + + $this->assertEquals($expected, $this->admin->getForm()); + } + + public function testGetSection() { + $this->assertSame('additional', $this->admin->getSection()); + } + + public function testGetPriority() { + $this->assertSame(0, $this->admin->getPriority()); + } +} diff --git a/tests/lib/Settings/Admin/EncryptionTest.php b/tests/lib/Settings/Admin/EncryptionTest.php new file mode 100644 index 0000000000000..a282b059c921e --- /dev/null +++ b/tests/lib/Settings/Admin/EncryptionTest.php @@ -0,0 +1,138 @@ + + * + * @author Lukas Reschke + * + * @license GNU AGPL version 3 or any later version + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + */ + +namespace Test\Settings\Admin; + +use OC\Encryption\Manager; +use OC\Settings\Admin\Encryption; +use OCP\AppFramework\Http\TemplateResponse; +use OCP\IUserManager; +use Test\TestCase; + +class EncryptionTest extends TestCase { + /** @var Encryption */ + private $admin; + /** @var Manager */ + private $manager; + /** @var IUserManager */ + private $userManager; + + public function setUp() { + parent::setUp(); + $this->manager = $this->getMockBuilder('\OC\Encryption\Manager')->disableOriginalConstructor()->getMock(); + $this->userManager = $this->getMockBuilder('\OCP\IUserManager')->getMock(); + + $this->admin = new Encryption( + $this->manager, + $this->userManager + ); + } + + /** + * @return array + */ + public function encryptionSettingsProvider() { + return [ + [true], + [false], + ]; + } + + /** + * @dataProvider encryptionSettingsProvider + * @param bool $enabled + */ + public function testGetFormWithOnlyOneBackend($enabled) { + $this->manager + ->expects($this->once()) + ->method('isEnabled') + ->willReturn($enabled); + $this->manager + ->expects($this->once()) + ->method('isReady') + ->willReturn($enabled); + $this->manager + ->expects($this->once()) + ->method('getEncryptionModules') + ->willReturn([]); + $this->userManager + ->expects($this->once()) + ->method('getBackends') + ->willReturn(['entry']); + $expected = new TemplateResponse( + 'settings', + 'admin/encryption', + [ + 'encryptionEnabled' => $enabled, + 'encryptionReady' => $enabled, + 'externalBackendsEnabled' => false, + 'encryptionModules' => [] + ], + '' + ); + $this->assertEquals($expected, $this->admin->getForm()); + } + + /** + * @dataProvider encryptionSettingsProvider + * @param bool $enabled + */ + public function testGetFormWithMultipleBackends($enabled) { + $this->manager + ->expects($this->once()) + ->method('isEnabled') + ->willReturn($enabled); + $this->manager + ->expects($this->once()) + ->method('isReady') + ->willReturn($enabled); + $this->manager + ->expects($this->once()) + ->method('getEncryptionModules') + ->willReturn([]); + $this->userManager + ->expects($this->once()) + ->method('getBackends') + ->willReturn(['entry', 'entry']); + $expected = new TemplateResponse( + 'settings', + 'admin/encryption', + [ + 'encryptionEnabled' => $enabled, + 'encryptionReady' => $enabled, + 'externalBackendsEnabled' => true, + 'encryptionModules' => [] + ], + '' + ); + $this->assertEquals($expected, $this->admin->getForm()); + } + + public function testGetSection() { + $this->assertSame('encryption', $this->admin->getSection()); + } + + public function testGetPriority() { + $this->assertSame(0, $this->admin->getPriority()); + } +} diff --git a/tests/lib/Settings/Admin/LoggingTest.php b/tests/lib/Settings/Admin/LoggingTest.php new file mode 100644 index 0000000000000..181553d3894ab --- /dev/null +++ b/tests/lib/Settings/Admin/LoggingTest.php @@ -0,0 +1,91 @@ + + * + * @author Lukas Reschke + * + * @license GNU AGPL version 3 or any later version + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + */ + +namespace Test\Settings\Admin; + +use OC\Settings\Admin\Logging; +use OCP\AppFramework\Http\TemplateResponse; +use OCP\IConfig; +use Test\TestCase; +use OC\Log\File as LogFile; + +class LoggingTest extends TestCase { + /** @var Logging */ + private $admin; + /** @var IConfig */ + private $config; + + public function setUp() { + parent::setUp(); + $this->config = $this->getMockBuilder('\OCP\IConfig')->getMock(); + + $this->admin = new Logging( + $this->config + ); + } + + public function testGetForm() { + $this->config + ->expects($this->at(0)) + ->method('getSystemValue') + ->with('log_type', 'file') + ->willReturn('owncloud'); + $this->config + ->expects($this->at(1)) + ->method('getSystemValue') + ->with('loglevel', 2) + ->willReturn(3); + + $numEntriesToLoad = 5; + $entries = LogFile::getEntries($numEntriesToLoad + 1); + $entriesRemaining = count($entries) > $numEntriesToLoad; + $entries = array_slice($entries, 0, $numEntriesToLoad); + + $logFileExists = file_exists(LogFile::getLogFilePath()) ; + $logFileSize = $logFileExists ? filesize(LogFile::getLogFilePath()) : 0; + + $expected = new TemplateResponse( + 'settings', + 'admin/logging', + [ + 'loglevel' => 3, + 'entries' => $entries, + 'entriesremain' => $entriesRemaining, + 'doesLogFileExist' => $logFileExists, + 'logFileSize' => $logFileSize, + 'showLog' => true, + ], + '' + ); + + $this->assertEquals($expected, $this->admin->getForm()); + } + + public function testGetSection() { + $this->assertSame('logging', $this->admin->getSection()); + } + + public function testGetPriority() { + $this->assertSame(0, $this->admin->getPriority()); + } +} diff --git a/tests/lib/Settings/Admin/ServerTest.php b/tests/lib/Settings/Admin/ServerTest.php new file mode 100644 index 0000000000000..874422307e073 --- /dev/null +++ b/tests/lib/Settings/Admin/ServerTest.php @@ -0,0 +1,154 @@ + + * + * @author Lukas Reschke + * + * @license GNU AGPL version 3 or any later version + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + */ + +namespace Test\Settings\Admin; + +use Doctrine\DBAL\Platforms\SqlitePlatform; +use OC\Settings\Admin\Server; +use OCP\AppFramework\Http\TemplateResponse; +use OCP\IConfig; +use OCP\IDBConnection; +use OCP\IL10N; +use OCP\Lock\ILockingProvider; +use Test\TestCase; + +class ServerTest extends TestCase { + /** @var Server */ + private $admin; + /** @var IDBConnection */ + private $dbConnection; + /** @var IConfig */ + private $config; + /** @var ILockingProvider */ + private $lockingProvider; + /** @var IL10N */ + private $l10n; + + public function setUp() { + parent::setUp(); + $this->config = $this->getMockBuilder('\OCP\IConfig')->getMock(); + $this->dbConnection = $this->getMockBuilder('\OCP\IDBConnection')->getMock(); + $this->lockingProvider = $this->getMockBuilder('\OCP\Lock\ILockingProvider')->getMock(); + $this->l10n = $this->getMockBuilder('\OCP\IL10N')->getMock(); + + $this->admin = new Server( + $this->dbConnection, + $this->config, + $this->lockingProvider, + $this->l10n + ); + } + + public function testGetForm() { + $this->dbConnection + ->expects($this->once()) + ->method('getDatabasePlatform') + ->willReturn(new SqlitePlatform()); + $this->config + ->expects($this->at(0)) + ->method('getAppValue') + ->with('core', 'backgroundjobs_mode', 'ajax') + ->willReturn('ajax'); + $this->config + ->expects($this->at(2)) + ->method('getAppValue') + ->with('core', 'backgroundjobs_mode', 'ajax') + ->willReturn('ajax'); + $this->config + ->expects($this->at(4)) + ->method('getAppValue') + ->with('core', 'lastcron', false) + ->willReturn(false); + $this->config + ->expects($this->at(5)) + ->method('getAppValue') + ->with('core', 'cronErrors') + ->willReturn(''); + $this->config + ->expects($this->at(1)) + ->method('getSystemValue') + ->with('check_for_working_wellknown_setup', true) + ->willReturn(true); + $this->config + ->expects($this->at(3)) + ->method('getSystemValue') + ->with('cron_log', true) + ->willReturn(true); + $this->l10n + ->expects($this->at(0)) + ->method('t') + ->with('APCu') + ->willReturn('APCu'); + $this->l10n + ->expects($this->at(1)) + ->method('t') + ->with('Redis') + ->willReturn('Redis'); + $outdatedCaches = []; + $caches = [ + 'apcu' => ['name' => 'APCu', 'version' => '4.0.6'], + 'redis' => ['name' => 'Redis', 'version' => '2.2.5'], + ]; + foreach ($caches as $php_module => $data) { + $isOutdated = extension_loaded($php_module) && version_compare(phpversion($php_module), $data['version'], '<'); + if ($isOutdated) { + $outdatedCaches[$php_module] = $data; + } + } + $envPath = getenv('PATH'); + $expected = new TemplateResponse( + 'settings', + 'admin/server', + [ + // Diagnosis + 'readOnlyConfigEnabled' => \OC_Helper::isReadOnlyConfigEnabled(), + 'isLocaleWorking' => \OC_Util::isSetLocaleWorking(), + 'isAnnotationsWorking' => \OC_Util::isAnnotationsWorking(), + 'checkForWorkingWellKnownSetup' => true, + 'has_fileinfo' => \OC_Util::fileInfoLoaded(), + 'invalidTransactionIsolationLevel' => false, + 'getenvServerNotWorking' => empty($envPath), + 'OutdatedCacheWarning' => $outdatedCaches, + 'fileLockingType' => 'cache', + 'suggestedOverwriteCliUrl' => '', + + // Background jobs + 'backgroundjobs_mode' => 'ajax', + 'cron_log' => true, + 'lastcron' => false, + 'cronErrors' => '' + ], + '' + ); + + $this->assertEquals($expected, $this->admin->getForm()); + } + + public function testGetSection() { + $this->assertSame('server', $this->admin->getSection()); + } + + public function testGetPriority() { + $this->assertSame(0, $this->admin->getPriority()); + } +} diff --git a/tests/lib/Settings/Admin/SharingTest.php b/tests/lib/Settings/Admin/SharingTest.php new file mode 100644 index 0000000000000..38ab7614d1cc5 --- /dev/null +++ b/tests/lib/Settings/Admin/SharingTest.php @@ -0,0 +1,239 @@ + + * + * @author Lukas Reschke + * + * @license GNU AGPL version 3 or any later version + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + */ + +namespace Test\Settings\Admin; + +use OC\Settings\Admin\Sharing; +use OCP\AppFramework\Http\TemplateResponse; +use OCP\IConfig; +use Test\TestCase; + +class SharingTest extends TestCase { + /** @var Sharing */ + private $admin; + /** @var IConfig */ + private $config; + + public function setUp() { + parent::setUp(); + $this->config = $this->getMockBuilder('\OCP\IConfig')->getMock(); + + $this->admin = new Sharing( + $this->config + ); + } + + public function testGetFormWithoutExcludedGroups() { + $this->config + ->expects($this->at(0)) + ->method('getAppValue') + ->with('core', 'shareapi_exclude_groups_list', '') + ->willReturn(''); + $this->config + ->expects($this->at(1)) + ->method('getAppValue') + ->with('core', 'shareapi_allow_group_sharing', 'yes') + ->willReturn('yes'); + $this->config + ->expects($this->at(2)) + ->method('getAppValue') + ->with('core', 'shareapi_allow_links', 'yes') + ->willReturn('yes'); + $this->config + ->expects($this->at(3)) + ->method('getAppValue') + ->with('core', 'shareapi_allow_mail_notification', 'no') + ->willReturn('no'); + $this->config + ->expects($this->at(4)) + ->method('getAppValue') + ->with('core', 'shareapi_allow_public_notification', 'no') + ->willReturn('no'); + $this->config + ->expects($this->at(5)) + ->method('getAppValue') + ->with('core', 'shareapi_allow_public_upload', 'yes') + ->willReturn('yes'); + $this->config + ->expects($this->at(6)) + ->method('getAppValue') + ->with('core', 'shareapi_allow_resharing', 'yes') + ->willReturn('yes'); + $this->config + ->expects($this->at(7)) + ->method('getAppValue') + ->with('core', 'shareapi_allow_share_dialog_user_enumeration', 'yes') + ->willReturn('yes'); + $this->config + ->expects($this->at(8)) + ->method('getAppValue') + ->with('core', 'shareapi_enabled', 'yes') + ->willReturn('yes'); + $this->config + ->expects($this->at(9)) + ->method('getAppValue') + ->with('core', 'shareapi_default_expire_date', 'no') + ->willReturn('no'); + $this->config + ->expects($this->at(10)) + ->method('getAppValue') + ->with('core', 'shareapi_expire_after_n_days', '7') + ->willReturn('7'); + $this->config + ->expects($this->at(11)) + ->method('getAppValue') + ->with('core', 'shareapi_enforce_expire_date', 'no') + ->willReturn('no'); + $this->config + ->expects($this->at(12)) + ->method('getAppValue') + ->with('core', 'shareapi_exclude_groups', 'no') + ->willReturn('no'); + + $expected = new TemplateResponse( + 'settings', + 'admin/sharing', + [ + 'allowGroupSharing' => 'yes', + 'allowLinks' => 'yes', + 'allowMailNotification' => 'no', + 'allowPublicMailNotification' => 'no', + 'allowPublicUpload' => 'yes', + 'allowResharing' => 'yes', + 'allowShareDialogUserEnumeration' => 'yes', + 'enforceLinkPassword' => false, + 'onlyShareWithGroupMembers' => false, + 'shareAPIEnabled' => 'yes', + 'shareDefaultExpireDateSet' => 'no', + 'shareExpireAfterNDays' => '7', + 'shareEnforceExpireDate' => 'no', + 'shareExcludeGroups' => false, + 'shareExcludedGroupsList' => '', + ], + '' + ); + + $this->assertEquals($expected, $this->admin->getForm()); + } + + public function testGetFormWithExcludedGroups() { + $this->config + ->expects($this->at(0)) + ->method('getAppValue') + ->with('core', 'shareapi_exclude_groups_list', '') + ->willReturn('["NoSharers","OtherNoSharers"]'); + $this->config + ->expects($this->at(1)) + ->method('getAppValue') + ->with('core', 'shareapi_allow_group_sharing', 'yes') + ->willReturn('yes'); + $this->config + ->expects($this->at(2)) + ->method('getAppValue') + ->with('core', 'shareapi_allow_links', 'yes') + ->willReturn('yes'); + $this->config + ->expects($this->at(3)) + ->method('getAppValue') + ->with('core', 'shareapi_allow_mail_notification', 'no') + ->willReturn('no'); + $this->config + ->expects($this->at(4)) + ->method('getAppValue') + ->with('core', 'shareapi_allow_public_notification', 'no') + ->willReturn('no'); + $this->config + ->expects($this->at(5)) + ->method('getAppValue') + ->with('core', 'shareapi_allow_public_upload', 'yes') + ->willReturn('yes'); + $this->config + ->expects($this->at(6)) + ->method('getAppValue') + ->with('core', 'shareapi_allow_resharing', 'yes') + ->willReturn('yes'); + $this->config + ->expects($this->at(7)) + ->method('getAppValue') + ->with('core', 'shareapi_allow_share_dialog_user_enumeration', 'yes') + ->willReturn('yes'); + $this->config + ->expects($this->at(8)) + ->method('getAppValue') + ->with('core', 'shareapi_enabled', 'yes') + ->willReturn('yes'); + $this->config + ->expects($this->at(9)) + ->method('getAppValue') + ->with('core', 'shareapi_default_expire_date', 'no') + ->willReturn('no'); + $this->config + ->expects($this->at(10)) + ->method('getAppValue') + ->with('core', 'shareapi_expire_after_n_days', '7') + ->willReturn('7'); + $this->config + ->expects($this->at(11)) + ->method('getAppValue') + ->with('core', 'shareapi_enforce_expire_date', 'no') + ->willReturn('no'); + $this->config + ->expects($this->at(12)) + ->method('getAppValue') + ->with('core', 'shareapi_exclude_groups', 'no') + ->willReturn('yes'); + + $expected = new TemplateResponse( + 'settings', + 'admin/sharing', + [ + 'allowGroupSharing' => 'yes', + 'allowLinks' => 'yes', + 'allowMailNotification' => 'no', + 'allowPublicMailNotification' => 'no', + 'allowPublicUpload' => 'yes', + 'allowResharing' => 'yes', + 'allowShareDialogUserEnumeration' => 'yes', + 'enforceLinkPassword' => false, + 'onlyShareWithGroupMembers' => false, + 'shareAPIEnabled' => 'yes', + 'shareDefaultExpireDateSet' => 'no', + 'shareExpireAfterNDays' => '7', + 'shareEnforceExpireDate' => 'no', + 'shareExcludeGroups' => true, + 'shareExcludedGroupsList' => 'NoSharers|OtherNoSharers', + ], + '' + ); + + $this->assertEquals($expected, $this->admin->getForm()); + } + + public function testGetSection() { + $this->assertSame('sharing', $this->admin->getSection()); + } + + public function testGetPriority() { + $this->assertSame(0, $this->admin->getPriority()); + } +} diff --git a/tests/lib/Settings/Admin/TipsTricksTest.php b/tests/lib/Settings/Admin/TipsTricksTest.php new file mode 100644 index 0000000000000..0e8857b56d0bc --- /dev/null +++ b/tests/lib/Settings/Admin/TipsTricksTest.php @@ -0,0 +1,91 @@ + + * + * @author Lukas Reschke + * + * @license GNU AGPL version 3 or any later version + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + */ + +namespace Test\Settings\Admin; + +use OC\Settings\Admin\TipsTricks; +use OCP\AppFramework\Http\TemplateResponse; +use OCP\IConfig; +use Test\TestCase; + +class TipsTrickTest extends TestCase { + /** @var TipsTricks */ + private $admin; + /** @var IConfig */ + private $config; + + public function setUp() { + parent::setUp(); + $this->config = $this->getMockBuilder('\OCP\IConfig')->getMock(); + + $this->admin = new TipsTricks( + $this->config + ); + } + + public function testGetFormWithExcludedGroupsWithSQLite() { + $this->config + ->expects($this->once()) + ->method('getSystemValue') + ->with('dbtype') + ->willReturn('sqlite'); + + $expected = new TemplateResponse( + 'settings', + 'admin/tipstricks', + [ + 'databaseOverload' => true, + ], + '' + ); + + $this->assertEquals($expected, $this->admin->getForm()); + } + + public function testGetFormWithExcludedGroupsWithoutSQLite() { + $this->config + ->expects($this->once()) + ->method('getSystemValue') + ->with('dbtype') + ->willReturn('mysql'); + + $expected = new TemplateResponse( + 'settings', + 'admin/tipstricks', + [ + 'databaseOverload' => false, + ], + '' + ); + + $this->assertEquals($expected, $this->admin->getForm()); + } + + public function testGetSection() { + $this->assertSame('tips-tricks', $this->admin->getSection()); + } + + public function testGetPriority() { + $this->assertSame(0, $this->admin->getPriority()); + } +} diff --git a/tests/lib/Settings/ManagerTest.php b/tests/lib/Settings/ManagerTest.php new file mode 100644 index 0000000000000..cd5100eff6d6b --- /dev/null +++ b/tests/lib/Settings/ManagerTest.php @@ -0,0 +1,220 @@ + + * + * @author Lukas Reschke + * + * @license GNU AGPL version 3 or any later version + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + */ + +namespace Tests\Settings; + +use OC\Settings\Admin\Sharing; +use OC\Settings\Manager; +use OC\Settings\Section; +use OCP\Encryption\IManager; +use OCP\IConfig; +use OCP\IDBConnection; +use OCP\IL10N; +use OCP\ILogger; +use OCP\IUserManager; +use OCP\Lock\ILockingProvider; +use Test\TestCase; + +class ManagerTest extends TestCase { + /** @var Manager */ + private $manager; + /** @var ILogger */ + private $logger; + /** @var IDBConnection */ + private $dbConnection; + /** @var IL10N */ + private $l10n; + /** @var IConfig */ + private $config; + /** @var IManager */ + private $encryptionManager; + /** @var IUserManager */ + private $userManager; + /** @var ILockingProvider */ + private $lockingProvider; + + public function setUp() { + parent::setUp(); + + $this->logger = $this->getMockBuilder('\OCP\ILogger')->getMock(); + $this->dbConnection = $this->getMockBuilder('\OCP\IDBConnection')->getMock(); + $this->l10n = $this->getMockBuilder('\OCP\IL10N')->getMock(); + $this->config = $this->getMockBuilder('\OCP\IConfig')->getMock(); + $this->encryptionManager = $this->getMockBuilder('\OCP\Encryption\IManager')->getMock(); + $this->userManager = $this->getMockBuilder('\OCP\IUserManager')->getMock(); + $this->lockingProvider = $this->getMockBuilder('\OCP\Lock\ILockingProvider')->getMock(); + + $this->manager = new Manager( + $this->logger, + $this->dbConnection, + $this->l10n, + $this->config, + $this->encryptionManager, + $this->userManager, + $this->lockingProvider + ); + } + + public function testSetupSettings() { + $qb = $this->getMockBuilder('\OCP\DB\QueryBuilder\IQueryBuilder')->getMock(); + $qb + ->expects($this->once()) + ->method('select') + ->with('class') + ->willReturn($qb); + $this->dbConnection + ->expects($this->at(0)) + ->method('getQueryBuilder') + ->willReturn($qb); + $qb + ->expects($this->once()) + ->method('from') + ->with('admin_settings') + ->willReturn($qb); + $expressionBuilder = $this->getMockBuilder('\OCP\DB\QueryBuilder\IExpressionBuilder')->getMock(); + $qb + ->expects($this->once()) + ->method('expr') + ->willReturn($expressionBuilder); + $param = $this->getMockBuilder('\OCP\DB\QueryBuilder\IParameter')->getMock(); + $qb + ->expects($this->once()) + ->method('createNamedParameter') + ->with('OCA\Files\Settings\Admin') + ->willReturn($param); + $expressionBuilder + ->expects($this->once()) + ->method('eq') + ->with('class', $param) + ->willReturn('myString'); + $qb + ->expects($this->once()) + ->method('where') + ->with('myString') + ->willReturn($qb); + $stmt = $this->getMockBuilder('\Doctrine\DBAL\Driver\Statement')->getMock(); + $qb + ->expects($this->once()) + ->method('execute') + ->willReturn($stmt); + + $qb1 = $this->getMockBuilder('\OCP\DB\QueryBuilder\IQueryBuilder')->getMock(); + $qb1 + ->expects($this->once()) + ->method('insert') + ->with('admin_settings') + ->willReturn($qb1); + $this->dbConnection + ->expects($this->at(1)) + ->method('getQueryBuilder') + ->willReturn($qb1); + + $this->manager->setupSettings([ + 'admin' => 'OCA\Files\Settings\Admin', + ]); + } + + public function testGetAdminSections() { + $qb = $this->getMockBuilder('\OCP\DB\QueryBuilder\IQueryBuilder')->getMock(); + $qb + ->expects($this->once()) + ->method('select') + ->with(['class', 'priority']) + ->willReturn($qb); + $qb + ->expects($this->once()) + ->method('from') + ->with('admin_sections') + ->willReturn($qb); + $stmt = $this->getMockBuilder('\Doctrine\DBAL\Driver\Statement')->getMock(); + $qb + ->expects($this->once()) + ->method('execute') + ->willReturn($stmt); + $this->dbConnection + ->expects($this->once()) + ->method('getQueryBuilder') + ->willReturn($qb); + $this->l10n + ->expects($this->any()) + ->method('t') + ->will($this->returnArgument(0)); + + $this->assertEquals([ + 0 => [new Section('server', 'Server settings', 0)], + 5 => [new Section('sharing', 'Sharing', 0)], + 45 => [new Section('encryption', 'Encryption', 0)], + 90 => [new Section('logging', 'Logging', 0)], + 98 => [new Section('additional', 'Additional settings', 0)], + 99 => [new Section('tips-tricks', 'Tips & tricks', 0)], + ], $this->manager->getAdminSections()); + } + + public function testGetAdminSettings() { + $qb = $this->getMockBuilder('\OCP\DB\QueryBuilder\IQueryBuilder')->getMock(); + $qb + ->expects($this->once()) + ->method('select') + ->with(['class', 'priority']) + ->willReturn($qb); + $qb + ->expects($this->once()) + ->method('from') + ->with('admin_settings') + ->willReturn($qb); + $expressionBuilder = $this->getMockBuilder('\OCP\DB\QueryBuilder\IExpressionBuilder')->getMock(); + $qb + ->expects($this->once()) + ->method('expr') + ->willReturn($expressionBuilder); + $param = $this->getMockBuilder('\OCP\DB\QueryBuilder\IParameter')->getMock(); + $qb + ->expects($this->once()) + ->method('createParameter') + ->with('section') + ->willReturn($param); + $expressionBuilder + ->expects($this->once()) + ->method('eq') + ->with('section', $param) + ->willReturn('myString'); + $qb + ->expects($this->once()) + ->method('where') + ->with('myString') + ->willReturn($qb); + $stmt = $this->getMockBuilder('\Doctrine\DBAL\Driver\Statement')->getMock(); + $qb + ->expects($this->once()) + ->method('execute') + ->willReturn($stmt); + $this->dbConnection + ->expects($this->exactly(2)) + ->method('getQueryBuilder') + ->willReturn($qb); + + $this->assertEquals([ + 0 => [new Sharing($this->config)], + ], $this->manager->getAdminSettings('sharing')); + } +} diff --git a/apps/systemtags/lib/AppInfo/Application.php b/tests/lib/Settings/SectionTest.php similarity index 57% rename from apps/systemtags/lib/AppInfo/Application.php rename to tests/lib/Settings/SectionTest.php index 7cd49d6424b34..422b931bb4be5 100644 --- a/apps/systemtags/lib/AppInfo/Application.php +++ b/tests/lib/Settings/SectionTest.php @@ -1,6 +1,8 @@ + * @copyright Copyright (c) 2016 Lukas Reschke + * + * @author Lukas Reschke * * @license GNU AGPL version 3 or any later version * @@ -19,19 +21,19 @@ * */ -namespace OCA\SystemTags\AppInfo; +namespace Tests\Settings; -use OCP\AppFramework\App; +use OC\Settings\Section; +use Test\TestCase; -class Application extends App { - public function __construct() { - parent::__construct('systemtags'); +class SectionTest extends TestCase { + public function testGetID() { + $this->assertSame('ldap', (new Section('ldap', 'name', 1))->getID()); } - - /** - * Register admin settings - */ - public function registerAdminPage() { - \OCP\App::registerAdmin($this->getContainer()->getAppName(), 'admin'); + public function testGetName() { + $this->assertSame('name', (new Section('ldap', 'name', 1))->getName()); + } + public function testGetPriority() { + $this->assertSame(1, (new Section('ldap', 'name', 1))->getPriority()); } } diff --git a/tests/phpunit-autotest.xml b/tests/phpunit-autotest.xml index 07de887c8cbf9..301f63a375d79 100644 --- a/tests/phpunit-autotest.xml +++ b/tests/phpunit-autotest.xml @@ -8,9 +8,8 @@ > lib/ - settings/ - core/ - ocs-provider/ + Settings/ + Core/ apps.php diff --git a/tests/phpunit.xml.dist b/tests/phpunit.xml.dist index 19fa38209a9ff..d3a5897dfaf44 100644 --- a/tests/phpunit.xml.dist +++ b/tests/phpunit.xml.dist @@ -2,9 +2,8 @@ lib/ - settings/ - core/ - ocs-provider/ + Settings/ + Core/ apps.php diff --git a/version.php b/version.php index 2c0c2029aca66..8cf0822bc7e60 100644 --- a/version.php +++ b/version.php @@ -25,7 +25,7 @@ // We only can count up. The 4. digit is only for the internal patchlevel to trigger DB upgrades // between betas, final and RCs. This is _not_ the public version number. Reset minor/patchlevel // when updating major/minor version number. -$OC_Version = array(9, 2, 0, 1); +$OC_Version = array(9, 2, 0, 2); // The human readable string $OC_VersionString = '11.0 alpha';