diff options
284 files changed, 2341 insertions, 1420 deletions
diff --git a/.gitignore b/.gitignore index 3395774d232..4a625fb8580 100644 --- a/.gitignore +++ b/.gitignore @@ -29,8 +29,9 @@ -# ignore themes except the README +# ignore themes except the example and the README /themes/* +!/themes/example !/themes/README # just sane ignores diff --git a/.scrutinizer.yml b/.scrutinizer.yml index 0185adab870..9a28c0f03f7 100644 --- a/.scrutinizer.yml +++ b/.scrutinizer.yml @@ -21,4 +21,4 @@ imports: tools: external_code_coverage: - timeout: 1200 # Timeout in seconds. 20 minutes + timeout: 3600 # Timeout in seconds. 60 minutes diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 3bf6c0882d1..ca7257cc424 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -12,6 +12,7 @@ If you have questions about how to install or use ownCloud, please direct these - You can also filter by appending e. g. "state:open" to the search string. - More info on [search syntax within github](https://help.github.com/articles/searching-issues) * This repository ([core](https://github.com/owncloud/core/issues)) is *only* for issues within the ownCloud core code. This also includes the apps: files, encryption, external storage, sharing, deleted files, versions, LDAP, and WebDAV Auth +* __SECURITY__: Report any potential security bug to security@owncloud.com following our [security policy](https://owncloud.org/security/) instead of filing an issue in our bug tracker * The issues in other components should be reported in their respective repositories: - [Android client](https://github.com/owncloud/android/issues) - [iOS client](https://github.com/owncloud/ios-issues/issues) diff --git a/apps/encryption/appinfo/app.php b/apps/encryption/appinfo/app.php index 0c7c231aef7..2eb12f638ed 100644 --- a/apps/encryption/appinfo/app.php +++ b/apps/encryption/appinfo/app.php @@ -25,8 +25,10 @@ namespace OCA\Encryption\AppInfo; \OCP\Util::addscript('encryption', 'encryption'); -$app = new Application(); -if (\OC::$server->getEncryptionManager()->isReady()) { +$encryptionSystemReady = \OC::$server->getEncryptionManager()->isReady(); + +$app = new Application([], $encryptionSystemReady); +if ($encryptionSystemReady) { $app->registerEncryptionModule(); $app->registerHooks(); $app->registerSettings(); diff --git a/apps/encryption/appinfo/application.php b/apps/encryption/appinfo/application.php index 10ad610cd4a..cb9c33cfe58 100644 --- a/apps/encryption/appinfo/application.php +++ b/apps/encryption/appinfo/application.php @@ -52,12 +52,18 @@ class Application extends \OCP\AppFramework\App { /** * @param array $urlParams + * @param bool $encryptionSystemReady */ - public function __construct($urlParams = array()) { + public function __construct($urlParams = array(), $encryptionSystemReady = true) { parent::__construct('encryption', $urlParams); $this->encryptionManager = \OC::$server->getEncryptionManager(); $this->config = \OC::$server->getConfig(); $this->registerServices(); + if($encryptionSystemReady === false) { + /** @var Session $session */ + $session = $this->getContainer()->query('Session'); + $session->setStatus(Session::RUN_MIGRATION); + } } /** diff --git a/apps/encryption/controller/statuscontroller.php b/apps/encryption/controller/statuscontroller.php index ef3d70a0b4c..cdc4b2e92e0 100644 --- a/apps/encryption/controller/statuscontroller.php +++ b/apps/encryption/controller/statuscontroller.php @@ -60,20 +60,29 @@ class StatusController extends Controller { public function getStatus() { $status = 'error'; - $message = ''; + $message = 'no valid init status'; switch( $this->session->getStatus()) { + case Session::RUN_MIGRATION: + $status = 'interactionNeeded'; + $message = (string)$this->l->t( + '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' + ); + break; case Session::INIT_EXECUTED: - $status = 'success'; + $status = 'interactionNeeded'; $message = (string)$this->l->t( 'Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files.' ); break; case Session::NOT_INITIALIZED: - $status = 'success'; + $status = 'interactionNeeded'; $message = (string)$this->l->t( 'Encryption App is enabled but your keys are not initialized, please log-out and log-in again' ); break; + case Session::INIT_SUCCESSFUL: + $status = 'success'; + $message = (string)$this->l->t('Encryption App is enabled and ready'); } return new DataResponse( diff --git a/apps/encryption/js/encryption.js b/apps/encryption/js/encryption.js index ea6a5596f24..a6c1bea89b2 100644 --- a/apps/encryption/js/encryption.js +++ b/apps/encryption/js/encryption.js @@ -22,7 +22,7 @@ OC.Encryption = { $.get( OC.generateUrl('/apps/encryption/ajax/getStatus'), function (result) { - if (result.status === "success") { + if (result.status === "interactionNeeded") { OC.Notification.show(result.data.message); } } diff --git a/apps/encryption/l10n/cs_CZ.js b/apps/encryption/l10n/cs_CZ.js index e4911abb4ba..7b138c80086 100644 --- a/apps/encryption/l10n/cs_CZ.js +++ b/apps/encryption/l10n/cs_CZ.js @@ -21,8 +21,10 @@ OC.L10N.register( "The old password was not correct, please try again." : "Staré heslo nebylo zadáno správně, zkuste to prosím znovu.", "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 ve vašem osobním nastavení, abyste znovu získali přístup k vašim zašifrovaným souborům.", "Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "Aplikace pro šifrování je zapnuta, ale vaše klíče nejsou inicializované. Prosím odhlaste se a znovu přihlaste", + "Encryption App is enabled and ready" : "Aplikace šifrování je již povolena", "Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Tento soubor se nepodařilo dešifrovat, pravděpodobně je sdílený. Požádejte prosím majitele souboru, aby jej s vámi znovu sdílel.", "Can not read this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Soubor nelze načíst, pravděpodobně se jedná o sdílený soubor. Požádejte prosím vlastníka souboru, aby vám jej znovu sdílel.", "Enable recovery key" : "Povolit záchranný klíč", diff --git a/apps/encryption/l10n/cs_CZ.json b/apps/encryption/l10n/cs_CZ.json index f71b6803d79..ab0fd8b2e4f 100644 --- a/apps/encryption/l10n/cs_CZ.json +++ b/apps/encryption/l10n/cs_CZ.json @@ -19,8 +19,10 @@ "The old password was not correct, please try again." : "Staré heslo nebylo zadáno správně, zkuste to prosím znovu.", "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 ve vašem osobním nastavení, abyste znovu získali přístup k vašim zašifrovaným souborům.", "Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "Aplikace pro šifrování je zapnuta, ale vaše klíče nejsou inicializované. Prosím odhlaste se a znovu přihlaste", + "Encryption App is enabled and ready" : "Aplikace šifrování je již povolena", "Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Tento soubor se nepodařilo dešifrovat, pravděpodobně je sdílený. Požádejte prosím majitele souboru, aby jej s vámi znovu sdílel.", "Can not read this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Soubor nelze načíst, pravděpodobně se jedná o sdílený soubor. Požádejte prosím vlastníka souboru, aby vám jej znovu sdílel.", "Enable recovery key" : "Povolit záchranný klíč", diff --git a/apps/encryption/l10n/de.js b/apps/encryption/l10n/de.js index d8642129aa9..df1566adb28 100644 --- a/apps/encryption/l10n/de.js +++ b/apps/encryption/l10n/de.js @@ -21,10 +21,12 @@ OC.L10N.register( "The old password was not correct, please try again." : "Das alte Passwort war nicht korrekt, bitte versuche es noch einmal.", "The current log-in password was not correct, please try again." : "Das aktuelle Anmeldepasswort war nicht korrekt, bitte versuche es noch einmal.", "Private key password successfully updated." : "Passwort des privaten Schlüssels erfolgreich aktualisiert", + "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" : "Du musst Deine Verschlüsselungsschlüssel von der alten Verschlüsselung (ownCloud <= 8.0) zur neuen migrieren. Bitte führe 'occ encryption:migrate' aus oder kontaktiere Deinen 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üsselung-App. Bitte aktualisiere Dein privates Schlüssel-Passwort, um den Zugriff auf Deine verschlüsselten Dateien wiederherzustellen.", "Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "Die Verschlüsselung-App ist aktiviert, aber Deine Schlüssel sind nicht initialisiert. Bitte melde Dich nochmals ab und wieder an.", - "Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Die Datei kann nicht entschlüsselt werden, da die Datei möglicherweise eine geteilte Datei ist. Bitte frage den Dateibesitzer, ob er die Datei nochmals mit Dir teilt.", - "Can not read this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Die Datei kann nicht gelesen werden, da die Datei möglicherweise eine geteilte Datei ist. Bitte frage den Dateibesitzer, ob er die Datei nochmals mit Dir teilt.", + "Encryption App is enabled and ready" : "Verschlüsselungs-App ist aktiviert und bereit", + "Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Diese Datei kann nicht entschlüsselt werden, es handelt sich wahrscheinlich um eine geteilte Datei. Bitte kontaktiere den Eigentümer der Datei und bitte darum, die Datei noch einmal mit Dir zu teilen.", + "Can not read this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Diese Datei kann nicht gelesen werden, es handelt sich wahrscheinlich um eine geteilte Datei. Bitte kontaktiere den Eigentümer der Datei und bitte darum, die Datei noch einmal mit Dir zu teilen.", "Enable recovery key" : "Wiederherstellungsschlüssel aktivieren", "Disable recovery key" : "Wiederherstellungsschlüssel deaktivieren", "The recovery key is an extra encryption key that is used to encrypt files. It allows recovery of a user's files if the user forgets his or her password." : "Der Wiederherstellungsschlüssel ist ein zusätzlicher Verschlüsselungsschlüssel, der zum Verschlüsseln von Dateien benutzt wird. Er erlaubt die Wiederherstellung von Benutzerdateien auch dann, wenn der Benutzer sein oder ihr Passwort vergessen hat.", diff --git a/apps/encryption/l10n/de.json b/apps/encryption/l10n/de.json index cb0fc8c80d1..1fe237562f2 100644 --- a/apps/encryption/l10n/de.json +++ b/apps/encryption/l10n/de.json @@ -19,10 +19,12 @@ "The old password was not correct, please try again." : "Das alte Passwort war nicht korrekt, bitte versuche es noch einmal.", "The current log-in password was not correct, please try again." : "Das aktuelle Anmeldepasswort war nicht korrekt, bitte versuche es noch einmal.", "Private key password successfully updated." : "Passwort des privaten Schlüssels erfolgreich aktualisiert", + "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" : "Du musst Deine Verschlüsselungsschlüssel von der alten Verschlüsselung (ownCloud <= 8.0) zur neuen migrieren. Bitte führe 'occ encryption:migrate' aus oder kontaktiere Deinen 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üsselung-App. Bitte aktualisiere Dein privates Schlüssel-Passwort, um den Zugriff auf Deine verschlüsselten Dateien wiederherzustellen.", "Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "Die Verschlüsselung-App ist aktiviert, aber Deine Schlüssel sind nicht initialisiert. Bitte melde Dich nochmals ab und wieder an.", - "Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Die Datei kann nicht entschlüsselt werden, da die Datei möglicherweise eine geteilte Datei ist. Bitte frage den Dateibesitzer, ob er die Datei nochmals mit Dir teilt.", - "Can not read this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Die Datei kann nicht gelesen werden, da die Datei möglicherweise eine geteilte Datei ist. Bitte frage den Dateibesitzer, ob er die Datei nochmals mit Dir teilt.", + "Encryption App is enabled and ready" : "Verschlüsselungs-App ist aktiviert und bereit", + "Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Diese Datei kann nicht entschlüsselt werden, es handelt sich wahrscheinlich um eine geteilte Datei. Bitte kontaktiere den Eigentümer der Datei und bitte darum, die Datei noch einmal mit Dir zu teilen.", + "Can not read this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Diese Datei kann nicht gelesen werden, es handelt sich wahrscheinlich um eine geteilte Datei. Bitte kontaktiere den Eigentümer der Datei und bitte darum, die Datei noch einmal mit Dir zu teilen.", "Enable recovery key" : "Wiederherstellungsschlüssel aktivieren", "Disable recovery key" : "Wiederherstellungsschlüssel deaktivieren", "The recovery key is an extra encryption key that is used to encrypt files. It allows recovery of a user's files if the user forgets his or her password." : "Der Wiederherstellungsschlüssel ist ein zusätzlicher Verschlüsselungsschlüssel, der zum Verschlüsseln von Dateien benutzt wird. Er erlaubt die Wiederherstellung von Benutzerdateien auch dann, wenn der Benutzer sein oder ihr Passwort vergessen hat.", diff --git a/apps/encryption/l10n/de_DE.js b/apps/encryption/l10n/de_DE.js index 8acbe831ced..5d5911c91eb 100644 --- a/apps/encryption/l10n/de_DE.js +++ b/apps/encryption/l10n/de_DE.js @@ -21,10 +21,12 @@ OC.L10N.register( "The old password was not correct, please try again." : "Das alte Passwort war nicht korrekt, bitte versuchen Sie es noch einmal.", "The current log-in password was not correct, please try again." : "Das aktuelle Anmeldepasswort war nicht korrekt, bitte versuchen Sie es noch einmal.", "Private key password successfully updated." : "Das Passwort des privaten Schlüssels wurde erfolgreich aktualisiert.", + "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" : "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 but your keys are not initialized, please log-out and log-in again" : "Verschlüsselung-App ist aktiviert, aber Ihre Schlüssel sind nicht initialisiert. Bitte nochmals ab- und wieder anmelden.", - "Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Die Datei kann nicht entschlüsselt werden, wahrscheinlich handelt es sich um eine freigegebene Datei. Bitte kontaktieren Sie den Dateibesitzer und bitten Sie ihn, die Datei nochmals mit Ihnen zu teilen.", - "Can not read this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Die Datei kann nicht gelesen werden, wahrscheinlich handelt es sich um eine freigegebene Datei. Bitte kontaktieren Sie den Dateibesitzer und bitten Sie ihn, die Datei nochmals mit Ihnen zu teilen.", + "Encryption App is enabled and ready" : "Verschlüsselungs-App ist aktiviert und bereit", + "Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Diese Datei kann nicht entschlüsselt werden, es handelt sich wahrscheinlich um eine geteilte Datei. Bitte kontaktieren Sie den Eigentümer der Datei und bitten Sie darum, die Datei noch einmal mit Ihnen zu teilen.", + "Can not read this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Diese Datei kann nicht gelesen werden, es handelt sich wahrscheinlich um eine geteilte Datei. Bitte kontaktieren Sie den Eigentümer der Datei und bitten Sie darum, die Datei noch einmal mit Ihnen zu teilen.", "Enable recovery key" : "Wiederherstellungsschlüssel aktivieren", "Disable recovery key" : "Wiederherstellungsschlüssel deaktivieren", "The recovery key is an extra encryption key that is used to encrypt files. It allows recovery of a user's files if the user forgets his or her password." : "Der Wiederherstellungsschlüssel ist ein zusätzlicher Verschlüsselungsschlüssel, der zum Verschlüsseln von Dateien benutzt wird. Er erlaubt die Wiederherstellung von Benutzerdateien auch dann, wenn der Benutzer sein Passwort vergessen hat.", diff --git a/apps/encryption/l10n/de_DE.json b/apps/encryption/l10n/de_DE.json index 8b4e6e405a2..f67d5dfd4c5 100644 --- a/apps/encryption/l10n/de_DE.json +++ b/apps/encryption/l10n/de_DE.json @@ -19,10 +19,12 @@ "The old password was not correct, please try again." : "Das alte Passwort war nicht korrekt, bitte versuchen Sie es noch einmal.", "The current log-in password was not correct, please try again." : "Das aktuelle Anmeldepasswort war nicht korrekt, bitte versuchen Sie es noch einmal.", "Private key password successfully updated." : "Das Passwort des privaten Schlüssels wurde erfolgreich aktualisiert.", + "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" : "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 but your keys are not initialized, please log-out and log-in again" : "Verschlüsselung-App ist aktiviert, aber Ihre Schlüssel sind nicht initialisiert. Bitte nochmals ab- und wieder anmelden.", - "Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Die Datei kann nicht entschlüsselt werden, wahrscheinlich handelt es sich um eine freigegebene Datei. Bitte kontaktieren Sie den Dateibesitzer und bitten Sie ihn, die Datei nochmals mit Ihnen zu teilen.", - "Can not read this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Die Datei kann nicht gelesen werden, wahrscheinlich handelt es sich um eine freigegebene Datei. Bitte kontaktieren Sie den Dateibesitzer und bitten Sie ihn, die Datei nochmals mit Ihnen zu teilen.", + "Encryption App is enabled and ready" : "Verschlüsselungs-App ist aktiviert und bereit", + "Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Diese Datei kann nicht entschlüsselt werden, es handelt sich wahrscheinlich um eine geteilte Datei. Bitte kontaktieren Sie den Eigentümer der Datei und bitten Sie darum, die Datei noch einmal mit Ihnen zu teilen.", + "Can not read this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Diese Datei kann nicht gelesen werden, es handelt sich wahrscheinlich um eine geteilte Datei. Bitte kontaktieren Sie den Eigentümer der Datei und bitten Sie darum, die Datei noch einmal mit Ihnen zu teilen.", "Enable recovery key" : "Wiederherstellungsschlüssel aktivieren", "Disable recovery key" : "Wiederherstellungsschlüssel deaktivieren", "The recovery key is an extra encryption key that is used to encrypt files. It allows recovery of a user's files if the user forgets his or her password." : "Der Wiederherstellungsschlüssel ist ein zusätzlicher Verschlüsselungsschlüssel, der zum Verschlüsseln von Dateien benutzt wird. Er erlaubt die Wiederherstellung von Benutzerdateien auch dann, wenn der Benutzer sein Passwort vergessen hat.", diff --git a/apps/encryption/l10n/es.js b/apps/encryption/l10n/es.js index 6d6500ac96d..cd800250be2 100644 --- a/apps/encryption/l10n/es.js +++ b/apps/encryption/l10n/es.js @@ -21,8 +21,10 @@ OC.L10N.register( "The old password was not correct, please try again." : "La antigua contraseña no es correcta, por favor inténtelo de nuevo.", "The current log-in password was not correct, please try again." : "La contraseña de inicio de sesión actual no es correcta, por favor inténtelo de nuevo.", "Private key password successfully updated." : "Contraseña de clave privada actualizada con éxito.", + "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" : "Necesita migrar sus claves de cifrado desde el antiguo modelo de cifrado (ownCloud <= 8.0) al nuevo. Por favor ejecute 'occ encryption:migrate' o contáctese con su administrador.", "Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "La clave privada no es válida para la app de cifrado. Por favor, actualiza la contraseña de tu clave privada en tus ajustes personales para recuperar el acceso a tus archivos cifrados.", "Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "La app de cifrado está habilitada pero sus claves no se han inicializado, por favor, cierre la sesión y vuelva a iniciarla de nuevo.", + "Encryption App is enabled and ready" : "Cifrado App está habilitada y lista", "Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "No fue posible descifrar este archivo, probablemente se trate de un archivo compartido. Solicite al propietario del mismo que vuelva a compartirlo con usted.", "Can not read this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "No se puede leer este archivo, probablemente sea un archivo compartido. Consulte con el propietario del mismo y que lo vuelva a compartir con usted.", "Enable recovery key" : "Activa la clave de recuperación", diff --git a/apps/encryption/l10n/es.json b/apps/encryption/l10n/es.json index 29093ab4a59..69c14e008c2 100644 --- a/apps/encryption/l10n/es.json +++ b/apps/encryption/l10n/es.json @@ -19,8 +19,10 @@ "The old password was not correct, please try again." : "La antigua contraseña no es correcta, por favor inténtelo de nuevo.", "The current log-in password was not correct, please try again." : "La contraseña de inicio de sesión actual no es correcta, por favor inténtelo de nuevo.", "Private key password successfully updated." : "Contraseña de clave privada actualizada con éxito.", + "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" : "Necesita migrar sus claves de cifrado desde el antiguo modelo de cifrado (ownCloud <= 8.0) al nuevo. Por favor ejecute 'occ encryption:migrate' o contáctese con su administrador.", "Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "La clave privada no es válida para la app de cifrado. Por favor, actualiza la contraseña de tu clave privada en tus ajustes personales para recuperar el acceso a tus archivos cifrados.", "Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "La app de cifrado está habilitada pero sus claves no se han inicializado, por favor, cierre la sesión y vuelva a iniciarla de nuevo.", + "Encryption App is enabled and ready" : "Cifrado App está habilitada y lista", "Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "No fue posible descifrar este archivo, probablemente se trate de un archivo compartido. Solicite al propietario del mismo que vuelva a compartirlo con usted.", "Can not read this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "No se puede leer este archivo, probablemente sea un archivo compartido. Consulte con el propietario del mismo y que lo vuelva a compartir con usted.", "Enable recovery key" : "Activa la clave de recuperación", diff --git a/apps/encryption/l10n/fi_FI.js b/apps/encryption/l10n/fi_FI.js index bfcfb32c178..a3ea0bf761e 100644 --- a/apps/encryption/l10n/fi_FI.js +++ b/apps/encryption/l10n/fi_FI.js @@ -21,8 +21,10 @@ OC.L10N.register( "The old password was not correct, please try again." : "Vanha salasana oli väärin, yritä uudelleen.", "The current log-in password was not correct, please try again." : "Nykyinen kirjautumiseen käytettävä salasana oli väärin, yritä uudelleen.", "Private key password successfully updated." : "Yksityisen avaimen salasana päivitettiin onnistuneesti.", + "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" : "Salausavaimet tulee siirtää vanhasta salaustavasta (ownCloud <= 8.0) uuteen salaustapaan. Suorita 'occ encryption:migrate' tai ota yhteys ylläpitoon", "Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "Salaussovelluksen salausavain on virheellinen. Ole hyvä ja päivitä salausavain henkilökohtaisissa asetuksissasi jotta voit taas avata salatuskirjoitetut tiedostosi.", "Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "Salaussovellus on käytössä, mutta salausavaimia ei ole alustettu. Ole hyvä ja kirjaudu sisään uudelleen.", + "Encryption App is enabled and ready" : "Salaussovellus on käytössä ja valmis", "Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Tämän tiedoston salauksen purkaminen ei onnistu. Kyseessä on luultavasti jaettu tiedosto. Pyydä tiedoston omistajaa jakamaan tiedosto kanssasi uudelleen.", "Can not read this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Tiedostoa ei voi lukea, se on luultavasti jaettu tiedosto. Pyydä tiedoston omistajaa jakamaan tiedosto uudelleen kanssasi.", "Enable recovery key" : "Ota palautusavain käyttöön", diff --git a/apps/encryption/l10n/fi_FI.json b/apps/encryption/l10n/fi_FI.json index 95e3523b9af..1c0faa5921a 100644 --- a/apps/encryption/l10n/fi_FI.json +++ b/apps/encryption/l10n/fi_FI.json @@ -19,8 +19,10 @@ "The old password was not correct, please try again." : "Vanha salasana oli väärin, yritä uudelleen.", "The current log-in password was not correct, please try again." : "Nykyinen kirjautumiseen käytettävä salasana oli väärin, yritä uudelleen.", "Private key password successfully updated." : "Yksityisen avaimen salasana päivitettiin onnistuneesti.", + "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" : "Salausavaimet tulee siirtää vanhasta salaustavasta (ownCloud <= 8.0) uuteen salaustapaan. Suorita 'occ encryption:migrate' tai ota yhteys ylläpitoon", "Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "Salaussovelluksen salausavain on virheellinen. Ole hyvä ja päivitä salausavain henkilökohtaisissa asetuksissasi jotta voit taas avata salatuskirjoitetut tiedostosi.", "Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "Salaussovellus on käytössä, mutta salausavaimia ei ole alustettu. Ole hyvä ja kirjaudu sisään uudelleen.", + "Encryption App is enabled and ready" : "Salaussovellus on käytössä ja valmis", "Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Tämän tiedoston salauksen purkaminen ei onnistu. Kyseessä on luultavasti jaettu tiedosto. Pyydä tiedoston omistajaa jakamaan tiedosto kanssasi uudelleen.", "Can not read this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Tiedostoa ei voi lukea, se on luultavasti jaettu tiedosto. Pyydä tiedoston omistajaa jakamaan tiedosto uudelleen kanssasi.", "Enable recovery key" : "Ota palautusavain käyttöön", diff --git a/apps/encryption/l10n/fr.js b/apps/encryption/l10n/fr.js index a505efaaf25..14c4ebf1145 100644 --- a/apps/encryption/l10n/fr.js +++ b/apps/encryption/l10n/fr.js @@ -21,9 +21,12 @@ OC.L10N.register( "The old password was not correct, please try again." : "L'ancien mot de passe est incorrect. Veuillez réessayer.", "The current log-in password was not correct, please try again." : "Le mot de passe de connexion actuel n'est pas correct, veuillez réessayer.", "Private key password successfully updated." : "Mot de passe de la clef privée mis à jour avec succès.", + "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" : "Vous devez migrer vos clés de chiffrement de l'ancienne version (ownCloud <= 8.0) vers la nouvelle. Veuillez exécuter 'occ encryption:migrate' ou contacter votre administrateur", "Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "Votre clef privée pour le chiffrement n'est pas valide ! Veuillez mettre à jour le mot de passe de votre clef privée dans vos paramètres personnels pour récupérer l'accès à vos fichiers chiffrés.", "Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "L'application de chiffrement est activée mais vos clefs ne sont pas initialisées. Veuillez vous déconnecter et ensuite vous reconnecter.", + "Encryption App is enabled and ready" : "L'application de chiffrement est activée et prête", "Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Impossible de déchiffrer ce fichier : il s'agit probablement d'un fichier partagé. Veuillez demander au propriétaire du fichier de le partager à nouveau avec vous.", + "Can not read this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Impossible de lire ce fichier, il s'agit probablement d'un fichier partagé. Veuillez demander au propriétaire du fichier de le repartager avec vous. ", "Enable recovery key" : "Activer la clé de récupération", "Disable recovery key" : "Désactiver la clé de récupération", "The recovery key is an extra encryption key that is used to encrypt files. It allows recovery of a user's files if the user forgets his or her password." : "La clé de récupération est une clé supplémentaire utilisée pour chiffrer les fichiers. Elle permet de récupérer les fichiers des utilisateurs s'ils oublient leur mot de passe.", diff --git a/apps/encryption/l10n/fr.json b/apps/encryption/l10n/fr.json index 257a4cb8e17..2bfab438a84 100644 --- a/apps/encryption/l10n/fr.json +++ b/apps/encryption/l10n/fr.json @@ -19,9 +19,12 @@ "The old password was not correct, please try again." : "L'ancien mot de passe est incorrect. Veuillez réessayer.", "The current log-in password was not correct, please try again." : "Le mot de passe de connexion actuel n'est pas correct, veuillez réessayer.", "Private key password successfully updated." : "Mot de passe de la clef privée mis à jour avec succès.", + "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" : "Vous devez migrer vos clés de chiffrement de l'ancienne version (ownCloud <= 8.0) vers la nouvelle. Veuillez exécuter 'occ encryption:migrate' ou contacter votre administrateur", "Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "Votre clef privée pour le chiffrement n'est pas valide ! Veuillez mettre à jour le mot de passe de votre clef privée dans vos paramètres personnels pour récupérer l'accès à vos fichiers chiffrés.", "Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "L'application de chiffrement est activée mais vos clefs ne sont pas initialisées. Veuillez vous déconnecter et ensuite vous reconnecter.", + "Encryption App is enabled and ready" : "L'application de chiffrement est activée et prête", "Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Impossible de déchiffrer ce fichier : il s'agit probablement d'un fichier partagé. Veuillez demander au propriétaire du fichier de le partager à nouveau avec vous.", + "Can not read this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Impossible de lire ce fichier, il s'agit probablement d'un fichier partagé. Veuillez demander au propriétaire du fichier de le repartager avec vous. ", "Enable recovery key" : "Activer la clé de récupération", "Disable recovery key" : "Désactiver la clé de récupération", "The recovery key is an extra encryption key that is used to encrypt files. It allows recovery of a user's files if the user forgets his or her password." : "La clé de récupération est une clé supplémentaire utilisée pour chiffrer les fichiers. Elle permet de récupérer les fichiers des utilisateurs s'ils oublient leur mot de passe.", diff --git a/apps/encryption/l10n/gl.js b/apps/encryption/l10n/gl.js index d192a0bd8ba..b1c38910786 100644 --- a/apps/encryption/l10n/gl.js +++ b/apps/encryption/l10n/gl.js @@ -21,8 +21,10 @@ OC.L10N.register( "The old password was not correct, please try again." : "O contrasinal antigo non é correcto, ténteo de novo.", "The current log-in password was not correct, please try again." : "O actual contrasinal de acceso non é correcto, ténteo de novo.", "Private key password successfully updated." : "A chave privada foi actualizada correctamente.", + "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" : "É necesario migrar as súas chaves de cifrado do antigo cifrado (ownCloud <= 8,0) cara ao novo. Execute «occ encryption:migrate» ou contacte co administrador", "Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "A chave privada para a aplicación de cifrado non é correcta. Actualice o contrasinal da súa chave privada nos seus axustes persoais para recuperar o acceso aos seus ficheiros cifrados.", "Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "A aplicación de cifrado está activada, mais as chaves non foron preparadas, saia da sesión e volva a acceder de novo", + "Encryption App is enabled and ready" : " A aplicación de cifrado está activada e lista", "Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Non foi posíbel descifrar o ficheiro, probabelmente tratase dun ficheiro compartido. Pídalle ao propietario do ficheiro que volva compartir o ficheiro con vostede.", "Can not read this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Non foi posíbel ler o ficheiro, probabelmente tratase dun ficheiro compartido. Pídalle ao propietario do ficheiro que volva compartir o ficheiro con vostede.", "Enable recovery key" : "Activar a chave de recuperación", diff --git a/apps/encryption/l10n/gl.json b/apps/encryption/l10n/gl.json index 442688f38cd..4fa779248fe 100644 --- a/apps/encryption/l10n/gl.json +++ b/apps/encryption/l10n/gl.json @@ -19,8 +19,10 @@ "The old password was not correct, please try again." : "O contrasinal antigo non é correcto, ténteo de novo.", "The current log-in password was not correct, please try again." : "O actual contrasinal de acceso non é correcto, ténteo de novo.", "Private key password successfully updated." : "A chave privada foi actualizada correctamente.", + "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" : "É necesario migrar as súas chaves de cifrado do antigo cifrado (ownCloud <= 8,0) cara ao novo. Execute «occ encryption:migrate» ou contacte co administrador", "Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "A chave privada para a aplicación de cifrado non é correcta. Actualice o contrasinal da súa chave privada nos seus axustes persoais para recuperar o acceso aos seus ficheiros cifrados.", "Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "A aplicación de cifrado está activada, mais as chaves non foron preparadas, saia da sesión e volva a acceder de novo", + "Encryption App is enabled and ready" : " A aplicación de cifrado está activada e lista", "Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Non foi posíbel descifrar o ficheiro, probabelmente tratase dun ficheiro compartido. Pídalle ao propietario do ficheiro que volva compartir o ficheiro con vostede.", "Can not read this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Non foi posíbel ler o ficheiro, probabelmente tratase dun ficheiro compartido. Pídalle ao propietario do ficheiro que volva compartir o ficheiro con vostede.", "Enable recovery key" : "Activar a chave de recuperación", diff --git a/apps/encryption/l10n/it.js b/apps/encryption/l10n/it.js index f093c6e2e50..9980396f6e9 100644 --- a/apps/encryption/l10n/it.js +++ b/apps/encryption/l10n/it.js @@ -21,8 +21,10 @@ OC.L10N.register( "The old password was not correct, please try again." : "La vecchia password non era corretta, prova di nuovo.", "The current log-in password was not correct, please try again." : "La password di accesso attuale non era corretta, prova ancora.", "Private key password successfully updated." : "Password della chiave privata aggiornata correttamente.", + "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" : "Devi migrare le tue chiavi di cifratura dalla vecchia cifratura (ownCloud <= 8.0) alla nuova. Esegui 'occ encryption:migrate' o contatta il tuo amministratore", "Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "Chiave privata non valida per l'applicazione di cifratura. Aggiorna la password della chiave privata nelle impostazioni personali per ripristinare l'accesso ai tuoi file cifrati.", "Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "L'applicazione di cifratura è abilitata, ma le chiavi non sono state inizializzate, disconnettiti ed effettua nuovamente l'accesso", + "Encryption App is enabled and ready" : "L'applicazione Cifratura è abilitata e pronta", "Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Impossibile decifrare questo file, probabilmente è un file condiviso. Chiedi al proprietario del file di condividere nuovamente il file con te.", "Can not read this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Impossibile leggere questo file, probabilmente è un file condiviso. Chiedi al proprietario del file di condividere nuovamente il file con te.", "Enable recovery key" : "Abilita chiave di ripristino", diff --git a/apps/encryption/l10n/it.json b/apps/encryption/l10n/it.json index ebacb7601c5..69b31b7d3da 100644 --- a/apps/encryption/l10n/it.json +++ b/apps/encryption/l10n/it.json @@ -19,8 +19,10 @@ "The old password was not correct, please try again." : "La vecchia password non era corretta, prova di nuovo.", "The current log-in password was not correct, please try again." : "La password di accesso attuale non era corretta, prova ancora.", "Private key password successfully updated." : "Password della chiave privata aggiornata correttamente.", + "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" : "Devi migrare le tue chiavi di cifratura dalla vecchia cifratura (ownCloud <= 8.0) alla nuova. Esegui 'occ encryption:migrate' o contatta il tuo amministratore", "Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "Chiave privata non valida per l'applicazione di cifratura. Aggiorna la password della chiave privata nelle impostazioni personali per ripristinare l'accesso ai tuoi file cifrati.", "Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "L'applicazione di cifratura è abilitata, ma le chiavi non sono state inizializzate, disconnettiti ed effettua nuovamente l'accesso", + "Encryption App is enabled and ready" : "L'applicazione Cifratura è abilitata e pronta", "Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Impossibile decifrare questo file, probabilmente è un file condiviso. Chiedi al proprietario del file di condividere nuovamente il file con te.", "Can not read this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Impossibile leggere questo file, probabilmente è un file condiviso. Chiedi al proprietario del file di condividere nuovamente il file con te.", "Enable recovery key" : "Abilita chiave di ripristino", diff --git a/apps/encryption/l10n/nb_NO.js b/apps/encryption/l10n/nb_NO.js index 8f5a049679f..295621f9caa 100644 --- a/apps/encryption/l10n/nb_NO.js +++ b/apps/encryption/l10n/nb_NO.js @@ -8,21 +8,36 @@ OC.L10N.register( "Could not enable recovery key. Please check your recovery key password!" : "Klarte ikke å aktivere gjenopprettingsnøkkel. Sjekk passordet for gjenopprettingsnøkkelen.", "Recovery key successfully disabled" : "Gjenopprettingsnøkkel ble deaktivert", "Could not disable recovery key. Please check your recovery key password!" : "Klarte ikke å deaktivere gjenopprettingsnøkkel. Sjekk passordet for gjenopprettingsnøkkelen.", + "Missing parameters" : "Manglende parametre", "Please provide the old recovery password" : "Oppgi det gamle gjenopprettingspassordet", "Please provide a new recovery password" : "Oppgi et nytt gjenopprettingspassord", "Please repeat the new recovery password" : "Gjenta det nye gjenopprettingspassordet", "Password successfully changed." : "Passordet ble endret.", "Could not change the password. Maybe the old password was not correct." : "Klarte ikke å endre passordet. Kanskje gammelt passord ikke var korrekt.", + "Recovery Key disabled" : "Gjenopprettingsnøkkel deaktivert", + "Recovery Key enabled" : "Gjenopprettingsnøkkel aktivert", + "Could not enable the recovery key, please try again or contact your administrator" : "Klarte ikke å aktivere gjenopprettingsnøkkelen. Prøv igjen eller kontakt administratoren.", "Could not update the private key password." : "Klarte ikke å oppdatere privatnøkkelpassordet.", "The old password was not correct, please try again." : "Det gamle passordet var feil. Prøv igjen.", "The current log-in password was not correct, please try again." : "Det nåværende innloggingspassordet var feil. Prøv igjen.", "Private key password successfully updated." : "Passord for privat nøkkel ble oppdatert.", + "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" : "Du må migrere krypteringsnøklene din fra den gamle krypteringen (ownCloud <= 8.0) til den nye. Vennligst kjør 'occ encryption:migrate' eller kontakt en administrator", "Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "Ugyldig privat nøkkel for Krypterings-app. Oppdater passordet for din private nøkkel i dine personlige innstillinger for å gjenopprette tilgang til de krypterte filene dine.", "Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "App for kryptering er aktivert men nøklene dine er ikke satt opp. Logg ut og logg inn igjen.", + "Encryption App is enabled and ready" : "Krypterings-appen er aktivert og klar", "Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Kan ikke dekryptere denne filen. Dette er sannsynligvis en delt fil. Spør eieren av filen om å dele den med deg på nytt.", + "Can not read this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Kan ikke lese denne filen, som sannsynligvis er en delt fil. Be eieren av filen om å dele den med deg på nytt.", + "Enable recovery key" : "Aktiver gjenopprettingsnøkkel", + "Disable recovery key" : "Deaktiver gjenopprettingsnøkkel", + "The recovery key is an extra encryption key that is used to encrypt files. It allows recovery of a user's files if the user forgets his or her password." : "Gjenopprettingsnøkkelen er en ekstra krypteringsnøkkel som brukes til å kryptere filer. Den tillater gjenoppretting av en brukers filer i tilfelle brukeren glemmer passordet sitt.", "Recovery key password" : "Passord for gjenopprettingsnøkkel", + "Repeat recovery key password" : "Gjenta passord for gjenopprettingsnøkkel", "Change recovery key password:" : "Endre passord for gjenopprettingsnøkkel:", + "Old recovery key password" : "Gammelt passord for gjenopprettingsnøkkel", + "New recovery key password" : "Nytt passord for gjenopprettingsnøkkel", + "Repeat new recovery key password" : "Gjenta nytt passord for gjenopprettingsnøkkel", "Change Password" : "Endre passord", + "ownCloud basic encryption module" : "ownCloud grunnleggende krypteringsmodul", "Your private key password no longer matches your log-in password." : "Passordet for din private nøkkel stemmer ikke lenger med påloggingspassordet ditt.", "Set your old private key password to your current log-in password:" : "Sett ditt gamle passord for privat nøkkel til ditt nåværende påloggingspassord:", " If you don't remember your old password you can ask your administrator to recover your files." : "Hvis du ikke husker det gamle passordet ditt kan du spørre administratoren om å gjenopprette filene dine.", diff --git a/apps/encryption/l10n/nb_NO.json b/apps/encryption/l10n/nb_NO.json index 8f9816fe95b..bb95014e967 100644 --- a/apps/encryption/l10n/nb_NO.json +++ b/apps/encryption/l10n/nb_NO.json @@ -6,21 +6,36 @@ "Could not enable recovery key. Please check your recovery key password!" : "Klarte ikke å aktivere gjenopprettingsnøkkel. Sjekk passordet for gjenopprettingsnøkkelen.", "Recovery key successfully disabled" : "Gjenopprettingsnøkkel ble deaktivert", "Could not disable recovery key. Please check your recovery key password!" : "Klarte ikke å deaktivere gjenopprettingsnøkkel. Sjekk passordet for gjenopprettingsnøkkelen.", + "Missing parameters" : "Manglende parametre", "Please provide the old recovery password" : "Oppgi det gamle gjenopprettingspassordet", "Please provide a new recovery password" : "Oppgi et nytt gjenopprettingspassord", "Please repeat the new recovery password" : "Gjenta det nye gjenopprettingspassordet", "Password successfully changed." : "Passordet ble endret.", "Could not change the password. Maybe the old password was not correct." : "Klarte ikke å endre passordet. Kanskje gammelt passord ikke var korrekt.", + "Recovery Key disabled" : "Gjenopprettingsnøkkel deaktivert", + "Recovery Key enabled" : "Gjenopprettingsnøkkel aktivert", + "Could not enable the recovery key, please try again or contact your administrator" : "Klarte ikke å aktivere gjenopprettingsnøkkelen. Prøv igjen eller kontakt administratoren.", "Could not update the private key password." : "Klarte ikke å oppdatere privatnøkkelpassordet.", "The old password was not correct, please try again." : "Det gamle passordet var feil. Prøv igjen.", "The current log-in password was not correct, please try again." : "Det nåværende innloggingspassordet var feil. Prøv igjen.", "Private key password successfully updated." : "Passord for privat nøkkel ble oppdatert.", + "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" : "Du må migrere krypteringsnøklene din fra den gamle krypteringen (ownCloud <= 8.0) til den nye. Vennligst kjør 'occ encryption:migrate' eller kontakt en administrator", "Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "Ugyldig privat nøkkel for Krypterings-app. Oppdater passordet for din private nøkkel i dine personlige innstillinger for å gjenopprette tilgang til de krypterte filene dine.", "Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "App for kryptering er aktivert men nøklene dine er ikke satt opp. Logg ut og logg inn igjen.", + "Encryption App is enabled and ready" : "Krypterings-appen er aktivert og klar", "Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Kan ikke dekryptere denne filen. Dette er sannsynligvis en delt fil. Spør eieren av filen om å dele den med deg på nytt.", + "Can not read this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Kan ikke lese denne filen, som sannsynligvis er en delt fil. Be eieren av filen om å dele den med deg på nytt.", + "Enable recovery key" : "Aktiver gjenopprettingsnøkkel", + "Disable recovery key" : "Deaktiver gjenopprettingsnøkkel", + "The recovery key is an extra encryption key that is used to encrypt files. It allows recovery of a user's files if the user forgets his or her password." : "Gjenopprettingsnøkkelen er en ekstra krypteringsnøkkel som brukes til å kryptere filer. Den tillater gjenoppretting av en brukers filer i tilfelle brukeren glemmer passordet sitt.", "Recovery key password" : "Passord for gjenopprettingsnøkkel", + "Repeat recovery key password" : "Gjenta passord for gjenopprettingsnøkkel", "Change recovery key password:" : "Endre passord for gjenopprettingsnøkkel:", + "Old recovery key password" : "Gammelt passord for gjenopprettingsnøkkel", + "New recovery key password" : "Nytt passord for gjenopprettingsnøkkel", + "Repeat new recovery key password" : "Gjenta nytt passord for gjenopprettingsnøkkel", "Change Password" : "Endre passord", + "ownCloud basic encryption module" : "ownCloud grunnleggende krypteringsmodul", "Your private key password no longer matches your log-in password." : "Passordet for din private nøkkel stemmer ikke lenger med påloggingspassordet ditt.", "Set your old private key password to your current log-in password:" : "Sett ditt gamle passord for privat nøkkel til ditt nåværende påloggingspassord:", " If you don't remember your old password you can ask your administrator to recover your files." : "Hvis du ikke husker det gamle passordet ditt kan du spørre administratoren om å gjenopprette filene dine.", diff --git a/apps/encryption/l10n/nl.js b/apps/encryption/l10n/nl.js index ff0fb844477..4a3115d46a7 100644 --- a/apps/encryption/l10n/nl.js +++ b/apps/encryption/l10n/nl.js @@ -21,8 +21,10 @@ OC.L10N.register( "The old password was not correct, please try again." : "Het oude wachtwoord was onjuist, probeer het opnieuw.", "The current log-in password was not correct, please try again." : "Het huidige inlogwachtwoord was niet juist, probeer het opnieuw.", "Private key password successfully updated." : "Privésleutel succesvol bijgewerkt.", + "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" : "U moet uw cryptosleutels van de oude versleuteling (ownCloud <= 8.0) migreren naar de nieuwe. Start 'occ encryption:migrate' of neem contact op met uw beheerder", "Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "Ongeldige privésleutel voor crypto app. Werk het privésleutel wachtwoord bij in uw persoonlijke instellingen om opnieuw toegang te krijgen tot uw versleutelde bestanden.", "Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "Crypto app is geactiveerd, maar uw sleutels werden niet geïnitialiseerd. Log uit en log daarna opnieuw in.", + "Encryption App is enabled and ready" : "Encryptie app is geactiveerd en gereed", "Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Kan dit bestand niet ontcijferen, waarschijnlijk is het een gedeeld bestand, Vraag de eigenaar om het bestand opnieuw met u te delen.", "Can not read this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Kan dit bestand niet lezen, waarschijnlijk is het een gedeeld bestand. Vraag de eigenaar om het bestand opnieuw met u te delen.", "Enable recovery key" : "Activeer herstelsleutel", diff --git a/apps/encryption/l10n/nl.json b/apps/encryption/l10n/nl.json index 5fe11c28e3e..1689a418f98 100644 --- a/apps/encryption/l10n/nl.json +++ b/apps/encryption/l10n/nl.json @@ -19,8 +19,10 @@ "The old password was not correct, please try again." : "Het oude wachtwoord was onjuist, probeer het opnieuw.", "The current log-in password was not correct, please try again." : "Het huidige inlogwachtwoord was niet juist, probeer het opnieuw.", "Private key password successfully updated." : "Privésleutel succesvol bijgewerkt.", + "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" : "U moet uw cryptosleutels van de oude versleuteling (ownCloud <= 8.0) migreren naar de nieuwe. Start 'occ encryption:migrate' of neem contact op met uw beheerder", "Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "Ongeldige privésleutel voor crypto app. Werk het privésleutel wachtwoord bij in uw persoonlijke instellingen om opnieuw toegang te krijgen tot uw versleutelde bestanden.", "Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "Crypto app is geactiveerd, maar uw sleutels werden niet geïnitialiseerd. Log uit en log daarna opnieuw in.", + "Encryption App is enabled and ready" : "Encryptie app is geactiveerd en gereed", "Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Kan dit bestand niet ontcijferen, waarschijnlijk is het een gedeeld bestand, Vraag de eigenaar om het bestand opnieuw met u te delen.", "Can not read this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Kan dit bestand niet lezen, waarschijnlijk is het een gedeeld bestand. Vraag de eigenaar om het bestand opnieuw met u te delen.", "Enable recovery key" : "Activeer herstelsleutel", diff --git a/apps/encryption/l10n/pt_BR.js b/apps/encryption/l10n/pt_BR.js index c1584ed2335..faac7ca03a6 100644 --- a/apps/encryption/l10n/pt_BR.js +++ b/apps/encryption/l10n/pt_BR.js @@ -21,8 +21,10 @@ OC.L10N.register( "The old password was not correct, please try again." : "A senha antiga não estava correta, por favor, tente novamente.", "The current log-in password was not correct, please try again." : "A senha atual do log-in não estava correta, por favor, tente novamente.", "Private key password successfully updated." : "Senha de chave privada atualizada com sucesso.", + "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" : "Você precisa migrar suas chaves de criptografia a partir da antiga criptografia (ownCloud <= 8,0) para a nova. Por favor, execute 'occ encryption:migrate' ou contate o seu administrador", "Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "Chave do App de Criptografia é inválida. Por favor, atualize sua senha de chave privada em suas configurações pessoais para recuperar o acesso a seus arquivos criptografados.", "Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "App de criptografia está ativado, mas as chaves não estão inicializadas, por favor log-out e faça login novamente", + "Encryption App is enabled and ready" : "Aplicativo de criptografia está ativado e pronto", "Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Este arquivo não pode ser decriptado, provavelmente este é um arquivo compartilhado. Por favor peça ao dono do arquivo para compartilha-lo com você.", "Can not read this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Não é possível ler este arquivo, provavelmente este é um arquivo compartilhado. Por favor, pergunte o dono do arquivo para recompartilhar o arquivo com você.", "Enable recovery key" : "Habilitar recuperação de chave", diff --git a/apps/encryption/l10n/pt_BR.json b/apps/encryption/l10n/pt_BR.json index d3f35f35870..fd8fd33d8c9 100644 --- a/apps/encryption/l10n/pt_BR.json +++ b/apps/encryption/l10n/pt_BR.json @@ -19,8 +19,10 @@ "The old password was not correct, please try again." : "A senha antiga não estava correta, por favor, tente novamente.", "The current log-in password was not correct, please try again." : "A senha atual do log-in não estava correta, por favor, tente novamente.", "Private key password successfully updated." : "Senha de chave privada atualizada com sucesso.", + "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" : "Você precisa migrar suas chaves de criptografia a partir da antiga criptografia (ownCloud <= 8,0) para a nova. Por favor, execute 'occ encryption:migrate' ou contate o seu administrador", "Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "Chave do App de Criptografia é inválida. Por favor, atualize sua senha de chave privada em suas configurações pessoais para recuperar o acesso a seus arquivos criptografados.", "Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "App de criptografia está ativado, mas as chaves não estão inicializadas, por favor log-out e faça login novamente", + "Encryption App is enabled and ready" : "Aplicativo de criptografia está ativado e pronto", "Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Este arquivo não pode ser decriptado, provavelmente este é um arquivo compartilhado. Por favor peça ao dono do arquivo para compartilha-lo com você.", "Can not read this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Não é possível ler este arquivo, provavelmente este é um arquivo compartilhado. Por favor, pergunte o dono do arquivo para recompartilhar o arquivo com você.", "Enable recovery key" : "Habilitar recuperação de chave", diff --git a/apps/encryption/l10n/pt_PT.js b/apps/encryption/l10n/pt_PT.js index fee7b632671..70b0098ad34 100644 --- a/apps/encryption/l10n/pt_PT.js +++ b/apps/encryption/l10n/pt_PT.js @@ -23,6 +23,8 @@ OC.L10N.register( "Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "Chave privada inválida da Aplicação de Encriptação. Por favor atualize a sua senha de chave privada nas definições pessoais, para recuperar o acesso aos seus ficheiros encriptados.", "Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "A Aplicação de Encriptação está ativada, mas as suas chaves não inicializaram. Por favor termine e inicie a sessão novamente", "Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Não é possível desencriptar este ficheiro, provavelmente é um ficheiro partilhado. Por favor, peça ao proprietário do ficheiro para voltar a partilhar o ficheiro consigo.", + "Enable recovery key" : "Ativar a chave de recuperação", + "Disable recovery key" : "Desativar a chave de recuperação", "Recovery key password" : "Senha da chave de recuperação", "Change recovery key password:" : "Alterar a senha da chave de recuperação:", "Change Password" : "Alterar a Senha", diff --git a/apps/encryption/l10n/pt_PT.json b/apps/encryption/l10n/pt_PT.json index 8ec72faf8d9..90f73414773 100644 --- a/apps/encryption/l10n/pt_PT.json +++ b/apps/encryption/l10n/pt_PT.json @@ -21,6 +21,8 @@ "Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "Chave privada inválida da Aplicação de Encriptação. Por favor atualize a sua senha de chave privada nas definições pessoais, para recuperar o acesso aos seus ficheiros encriptados.", "Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "A Aplicação de Encriptação está ativada, mas as suas chaves não inicializaram. Por favor termine e inicie a sessão novamente", "Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Não é possível desencriptar este ficheiro, provavelmente é um ficheiro partilhado. Por favor, peça ao proprietário do ficheiro para voltar a partilhar o ficheiro consigo.", + "Enable recovery key" : "Ativar a chave de recuperação", + "Disable recovery key" : "Desativar a chave de recuperação", "Recovery key password" : "Senha da chave de recuperação", "Change recovery key password:" : "Alterar a senha da chave de recuperação:", "Change Password" : "Alterar a Senha", diff --git a/apps/encryption/l10n/sr.js b/apps/encryption/l10n/sr.js index fac26d7c953..990645ce0a4 100644 --- a/apps/encryption/l10n/sr.js +++ b/apps/encryption/l10n/sr.js @@ -24,6 +24,7 @@ OC.L10N.register( "Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "Неисправан лични кључ за апликацију шифровања. Ажурирајте лозинку личног кључа у личним поставкама да бисте опоравили приступ вашим шифрованим фајловима.", "Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "Апликација шифровања је укључена али ваши кључеви нису иницијализовани. Одјавите се и поново се пријавите.", "Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Не могу да дешифрујем фајл. Вероватно је то дељен фајл. Затражите од власника фајла да га поново подели са вама.", + "Can not read this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Не могу да читам фајл. Вероватно је дељен. Питајте власника да га поново подели са вама.", "Enable recovery key" : "Омогући кључ за опоравак", "Disable recovery key" : "Онемогући кључ за опоравак", "The recovery key is an extra encryption key that is used to encrypt files. It allows recovery of a user's files if the user forgets his or her password." : "Кључ за опоравак је додатни шифрарски кључ који се користи за шифровање фајлова. Он омогућава опоравак корисничких фајлова ако корисник заборави своју лозинку.", diff --git a/apps/encryption/l10n/sr.json b/apps/encryption/l10n/sr.json index fdf55cf4e00..7205aba383c 100644 --- a/apps/encryption/l10n/sr.json +++ b/apps/encryption/l10n/sr.json @@ -22,6 +22,7 @@ "Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "Неисправан лични кључ за апликацију шифровања. Ажурирајте лозинку личног кључа у личним поставкама да бисте опоравили приступ вашим шифрованим фајловима.", "Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "Апликација шифровања је укључена али ваши кључеви нису иницијализовани. Одјавите се и поново се пријавите.", "Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Не могу да дешифрујем фајл. Вероватно је то дељен фајл. Затражите од власника фајла да га поново подели са вама.", + "Can not read this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Не могу да читам фајл. Вероватно је дељен. Питајте власника да га поново подели са вама.", "Enable recovery key" : "Омогући кључ за опоравак", "Disable recovery key" : "Онемогући кључ за опоравак", "The recovery key is an extra encryption key that is used to encrypt files. It allows recovery of a user's files if the user forgets his or her password." : "Кључ за опоравак је додатни шифрарски кључ који се користи за шифровање фајлова. Он омогућава опоравак корисничких фајлова ако корисник заборави своју лозинку.", diff --git a/apps/encryption/l10n/uk.js b/apps/encryption/l10n/uk.js index 357b2e23c76..4c7143800d8 100644 --- a/apps/encryption/l10n/uk.js +++ b/apps/encryption/l10n/uk.js @@ -8,12 +8,14 @@ OC.L10N.register( "Could not enable recovery key. Please check your recovery key password!" : "Не вдалося підключити ключ відновлення. Будь ласка, перевірте пароль свого ключа відновлення!", "Recovery key successfully disabled" : "Ключ відновлення відключено", "Could not disable recovery key. Please check your recovery key password!" : "Не вдалося відключити ключ відновлення. Будь ласка, перевірте пароль ключа відновлення!", + "Missing parameters" : "Відсутні параметри", "Please provide the old recovery password" : "Будь ласка, введіть старий пароль відновлення", "Please provide a new recovery password" : "Будь ласка, введіть новий пароль відновлення", "Please repeat the new recovery password" : "Будь ласка, введіть новий пароль відновлення ще раз", "Password successfully changed." : "Пароль змінено.", "Could not change the password. Maybe the old password was not correct." : "Не вдалося змінити пароль. Можливо ви неправильно ввели старий пароль.", - "Recovery Key enabled" : "Ключ відновлення підключено", + "Recovery Key disabled" : "Ключ відновлення відключений", + "Recovery Key enabled" : "Відновлення ключа увімкнено", "Could not enable the recovery key, please try again or contact your administrator" : "Не вдалося підключити ключ відновлення, будь ласка, перевірте пароль ключа відновлення!", "Could not update the private key password." : "Не вдалося оновити пароль секретного ключа.", "The old password was not correct, please try again." : "Старий пароль введено не вірно, спробуйте ще раз.", @@ -21,9 +23,16 @@ OC.L10N.register( "Private key password successfully updated." : "Пароль секретного ключа оновлено.", "Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "Невірний закритий ключ для доданку шифрування. Оновіть пароль до вашого закритого ключа в особистих налаштуваннях.", "Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "Доданок шифрування ввімкнено, але ваші ключі не ініціалізовано, вийдіть та зайдіть знову", + "Encryption App is enabled and ready" : "Додаток кодування дозволений і готовий", "Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Не можу розшифрувати цей файл, можливо він опублікований. Будь ласка, попросіть власника опублікувати його заново.", + "Enable recovery key" : "Увімкнути ключ відновлення", + "Disable recovery key" : "Вимкнути ключ відновлення", "Recovery key password" : "Пароль ключа відновлення", + "Repeat recovery key password" : "Повторіть пароль ключа відновлення", "Change recovery key password:" : "Змінити пароль ключа відновлення:", + "Old recovery key password" : "Старий пароль ключа відновлення", + "New recovery key password" : "Новий пароль ключа відновлення", + "Repeat new recovery key password" : "Повторіть новий пароль ключа відновлення", "Change Password" : "Змінити Пароль", "ownCloud basic encryption module" : "базовий модуль шифрування ownCloud", "Your private key password no longer matches your log-in password." : "Пароль вашого закритого ключа більше не відповідає паролю від вашого облікового запису.", diff --git a/apps/encryption/l10n/uk.json b/apps/encryption/l10n/uk.json index 52187eb47f1..3be3a35b2f1 100644 --- a/apps/encryption/l10n/uk.json +++ b/apps/encryption/l10n/uk.json @@ -6,12 +6,14 @@ "Could not enable recovery key. Please check your recovery key password!" : "Не вдалося підключити ключ відновлення. Будь ласка, перевірте пароль свого ключа відновлення!", "Recovery key successfully disabled" : "Ключ відновлення відключено", "Could not disable recovery key. Please check your recovery key password!" : "Не вдалося відключити ключ відновлення. Будь ласка, перевірте пароль ключа відновлення!", + "Missing parameters" : "Відсутні параметри", "Please provide the old recovery password" : "Будь ласка, введіть старий пароль відновлення", "Please provide a new recovery password" : "Будь ласка, введіть новий пароль відновлення", "Please repeat the new recovery password" : "Будь ласка, введіть новий пароль відновлення ще раз", "Password successfully changed." : "Пароль змінено.", "Could not change the password. Maybe the old password was not correct." : "Не вдалося змінити пароль. Можливо ви неправильно ввели старий пароль.", - "Recovery Key enabled" : "Ключ відновлення підключено", + "Recovery Key disabled" : "Ключ відновлення відключений", + "Recovery Key enabled" : "Відновлення ключа увімкнено", "Could not enable the recovery key, please try again or contact your administrator" : "Не вдалося підключити ключ відновлення, будь ласка, перевірте пароль ключа відновлення!", "Could not update the private key password." : "Не вдалося оновити пароль секретного ключа.", "The old password was not correct, please try again." : "Старий пароль введено не вірно, спробуйте ще раз.", @@ -19,9 +21,16 @@ "Private key password successfully updated." : "Пароль секретного ключа оновлено.", "Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "Невірний закритий ключ для доданку шифрування. Оновіть пароль до вашого закритого ключа в особистих налаштуваннях.", "Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "Доданок шифрування ввімкнено, але ваші ключі не ініціалізовано, вийдіть та зайдіть знову", + "Encryption App is enabled and ready" : "Додаток кодування дозволений і готовий", "Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Не можу розшифрувати цей файл, можливо він опублікований. Будь ласка, попросіть власника опублікувати його заново.", + "Enable recovery key" : "Увімкнути ключ відновлення", + "Disable recovery key" : "Вимкнути ключ відновлення", "Recovery key password" : "Пароль ключа відновлення", + "Repeat recovery key password" : "Повторіть пароль ключа відновлення", "Change recovery key password:" : "Змінити пароль ключа відновлення:", + "Old recovery key password" : "Старий пароль ключа відновлення", + "New recovery key password" : "Новий пароль ключа відновлення", + "Repeat new recovery key password" : "Повторіть новий пароль ключа відновлення", "Change Password" : "Змінити Пароль", "ownCloud basic encryption module" : "базовий модуль шифрування ownCloud", "Your private key password no longer matches your log-in password." : "Пароль вашого закритого ключа більше не відповідає паролю від вашого облікового запису.", diff --git a/apps/encryption/lib/crypto/encryption.php b/apps/encryption/lib/crypto/encryption.php index f527955b496..9094a84d4c8 100644 --- a/apps/encryption/lib/crypto/encryption.php +++ b/apps/encryption/lib/crypto/encryption.php @@ -387,7 +387,7 @@ class Encryption implements IEncryptionModule { '" is not able to read ' . $path; $hint = $this->l->t('Can not read this file, probably this is a shared file. Please ask the file owner to reshare the file with you.'); $this->logger->warning($msg); - throw new DecryptionFailedException($msg, 0, null, $hint); + throw new DecryptionFailedException($msg, $hint); } return false; } diff --git a/apps/encryption/lib/session.php b/apps/encryption/lib/session.php index 85d2a7698ef..9709518a27d 100644 --- a/apps/encryption/lib/session.php +++ b/apps/encryption/lib/session.php @@ -33,6 +33,7 @@ class Session { const NOT_INITIALIZED = '0'; const INIT_EXECUTED = '1'; const INIT_SUCCESSFUL = '2'; + const RUN_MIGRATION = '3'; /** * @param ISession $session diff --git a/apps/encryption/tests/controller/StatusControllerTest.php b/apps/encryption/tests/controller/StatusControllerTest.php new file mode 100644 index 00000000000..b57fd1cc33e --- /dev/null +++ b/apps/encryption/tests/controller/StatusControllerTest.php @@ -0,0 +1,90 @@ +<?php +/** + * @author Björn Schießle <schiessle@owncloud.com> + * + * @copyright Copyright (c) 2015, ownCloud, Inc. + * @license AGPL-3.0 + * + * This code is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License, version 3, + * as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License, version 3, + * along with this program. If not, see <http://www.gnu.org/licenses/> + * + */ + + +namespace OCA\Encryption\Tests\Controller; + + +use OCA\Encryption\Controller\StatusController; +use OCA\Encryption\Session; +use Test\TestCase; + +class StatusControllerTest extends TestCase { + + /** @var \PHPUnit_Framework_MockObject_MockObject */ + protected $requestMock; + + /** @var \PHPUnit_Framework_MockObject_MockObject */ + protected $l10nMock; + + /** @var \OCA\Encryption\Session | \PHPUnit_Framework_MockObject_MockObject */ + protected $sessionMock; + + /** @var StatusController */ + protected $controller; + + protected function setUp() { + + parent::setUp(); + + $this->sessionMock = $this->getMockBuilder('OCA\Encryption\Session') + ->disableOriginalConstructor()->getMock(); + $this->requestMock = $this->getMock('OCP\IRequest'); + + $this->l10nMock = $this->getMockBuilder('OCP\IL10N') + ->disableOriginalConstructor()->getMock(); + $this->l10nMock->expects($this->any()) + ->method('t') + ->will($this->returnCallback(function($message) { + return $message; + })); + + $this->controller = new StatusController('encryptionTest', + $this->requestMock, + $this->l10nMock, + $this->sessionMock); + + } + + /** + * @dataProvider dataTestGetStatus + * + * @param string $status + * @param string $expectedStatus + */ + public function testGetStatus($status, $expectedStatus) { + $this->sessionMock->expects($this->once()) + ->method('getStatus')->willReturn($status); + $result = $this->controller->getStatus(); + $data = $result->getData(); + $this->assertSame($expectedStatus, $data['status']); + } + + public function dataTestGetStatus() { + return array( + array(Session::RUN_MIGRATION, 'interactionNeeded'), + array(Session::INIT_EXECUTED, 'interactionNeeded'), + array(Session::INIT_SUCCESSFUL, 'success'), + array(Session::NOT_INITIALIZED, 'interactionNeeded'), + array('unknown', 'error'), + ); + } +} diff --git a/apps/files/controller/apicontroller.php b/apps/files/controller/apicontroller.php index 8fc22a8aa66..0cc222d7ce9 100644 --- a/apps/files/controller/apicontroller.php +++ b/apps/files/controller/apicontroller.php @@ -92,7 +92,6 @@ class ApiController extends Controller { * replace the actual tag selection. * * @NoAdminRequired - * @CORS * * @param string $path path * @param array|string $tags array of tags @@ -126,7 +125,6 @@ class ApiController extends Controller { * Returns a list of all files tagged with the given tag. * * @NoAdminRequired - * @CORS * * @param array|string $tagName tag name to filter by * @return DataResponse diff --git a/apps/files/l10n/az.js b/apps/files/l10n/az.js index 5665807da8f..3f76fd9a328 100644 --- a/apps/files/l10n/az.js +++ b/apps/files/l10n/az.js @@ -42,6 +42,7 @@ OC.L10N.register( "Delete" : "Sil", "Disconnect storage" : "Daşıyıcını ayır", "Unshare" : "Paylaşımı durdur", + "No permission to delete" : "Silmək üçün yetki yoxdur", "Download" : "Yüklə", "Select" : "Seç", "Pending" : "Gözləmə", @@ -70,6 +71,7 @@ OC.L10N.register( "An error occurred while trying to update the tags" : "Qeydlərin yenilənməsi müddətində səhv baş verdi ", "A new file or folder has been <strong>created</strong>" : "Yeni fayl və ya direktoriya <strong>yaradılmışdır</strong>", "A file or folder has been <strong>changed</strong>" : "Fayl və ya direktoriya <strong>dəyişdirilib</strong>", + "Limit notifications about creation and changes to your <strong>favorite files</strong> <em>(Stream only)</em>" : "<strong>sevimli faylların</strong> yaradılması və silinməsi haqqında olan xəbərdarlıqları limitlə <em>(Yalnız axınlar)</em>", "A file or folder has been <strong>deleted</strong>" : "Fayl və ya direktoriya <strong>silinib</strong>", "A file or folder has been <strong>restored</strong>" : "Fayl yada qovluq geriyə <strong>qaytarıldı</strong>", "You created %1$s" : "Siz yaratdınız %1$s", diff --git a/apps/files/l10n/az.json b/apps/files/l10n/az.json index e3f9b6e49cd..ec7c41a00f9 100644 --- a/apps/files/l10n/az.json +++ b/apps/files/l10n/az.json @@ -40,6 +40,7 @@ "Delete" : "Sil", "Disconnect storage" : "Daşıyıcını ayır", "Unshare" : "Paylaşımı durdur", + "No permission to delete" : "Silmək üçün yetki yoxdur", "Download" : "Yüklə", "Select" : "Seç", "Pending" : "Gözləmə", @@ -68,6 +69,7 @@ "An error occurred while trying to update the tags" : "Qeydlərin yenilənməsi müddətində səhv baş verdi ", "A new file or folder has been <strong>created</strong>" : "Yeni fayl və ya direktoriya <strong>yaradılmışdır</strong>", "A file or folder has been <strong>changed</strong>" : "Fayl və ya direktoriya <strong>dəyişdirilib</strong>", + "Limit notifications about creation and changes to your <strong>favorite files</strong> <em>(Stream only)</em>" : "<strong>sevimli faylların</strong> yaradılması və silinməsi haqqında olan xəbərdarlıqları limitlə <em>(Yalnız axınlar)</em>", "A file or folder has been <strong>deleted</strong>" : "Fayl və ya direktoriya <strong>silinib</strong>", "A file or folder has been <strong>restored</strong>" : "Fayl yada qovluq geriyə <strong>qaytarıldı</strong>", "You created %1$s" : "Siz yaratdınız %1$s", diff --git a/apps/files/l10n/fr.js b/apps/files/l10n/fr.js index b8f526af5c2..86114d7ddfb 100644 --- a/apps/files/l10n/fr.js +++ b/apps/files/l10n/fr.js @@ -16,7 +16,7 @@ OC.L10N.register( "No file was uploaded. Unknown error" : "Aucun fichier n'a été envoyé. Erreur inconnue", "There is no error, the file uploaded with success" : "Aucune erreur, le fichier a été envoyé avec succès.", "The uploaded file exceeds the upload_max_filesize directive in php.ini: " : "Le fichier envoyé dépasse l'instruction upload_max_filesize située dans le fichier php.ini :", - "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "Le fichier envoyé dépasse la valeur MAX_FILE_SIZE qui est spécifiée dans le formulaire HTML.", + "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "Le fichier envoyé dépasse la valeur MAX_FILE_SIZE qui était spécifiée dans le formulaire HTML.", "The uploaded file was only partially uploaded" : "Le fichier n'a été que partiellement envoyé.", "No file was uploaded" : "Pas de fichier envoyé.", "Missing a temporary folder" : "Absence de dossier temporaire", @@ -101,7 +101,7 @@ OC.L10N.register( "Folder" : "Dossier", "Upload" : "Chargement", "Cancel upload" : "Annuler l'envoi", - "No files in here" : "Pas de fichier ici", + "No files in here" : "Aucun fichier ici", "Upload some content or sync with your devices!" : "Déposez du contenu ou synchronisez vos appareils !", "No entries found in this folder" : "Aucune entrée trouvée dans ce dossier", "Select all" : "Tout sélectionner", diff --git a/apps/files/l10n/fr.json b/apps/files/l10n/fr.json index c177a4e6840..467aa830ce2 100644 --- a/apps/files/l10n/fr.json +++ b/apps/files/l10n/fr.json @@ -14,7 +14,7 @@ "No file was uploaded. Unknown error" : "Aucun fichier n'a été envoyé. Erreur inconnue", "There is no error, the file uploaded with success" : "Aucune erreur, le fichier a été envoyé avec succès.", "The uploaded file exceeds the upload_max_filesize directive in php.ini: " : "Le fichier envoyé dépasse l'instruction upload_max_filesize située dans le fichier php.ini :", - "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "Le fichier envoyé dépasse la valeur MAX_FILE_SIZE qui est spécifiée dans le formulaire HTML.", + "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "Le fichier envoyé dépasse la valeur MAX_FILE_SIZE qui était spécifiée dans le formulaire HTML.", "The uploaded file was only partially uploaded" : "Le fichier n'a été que partiellement envoyé.", "No file was uploaded" : "Pas de fichier envoyé.", "Missing a temporary folder" : "Absence de dossier temporaire", @@ -99,7 +99,7 @@ "Folder" : "Dossier", "Upload" : "Chargement", "Cancel upload" : "Annuler l'envoi", - "No files in here" : "Pas de fichier ici", + "No files in here" : "Aucun fichier ici", "Upload some content or sync with your devices!" : "Déposez du contenu ou synchronisez vos appareils !", "No entries found in this folder" : "Aucune entrée trouvée dans ce dossier", "Select all" : "Tout sélectionner", diff --git a/apps/files/l10n/ja.js b/apps/files/l10n/ja.js index c8a8ddcbd48..ffe551e5e1b 100644 --- a/apps/files/l10n/ja.js +++ b/apps/files/l10n/ja.js @@ -42,6 +42,7 @@ OC.L10N.register( "Delete" : "削除", "Disconnect storage" : "ストレージを切断する", "Unshare" : "共有解除", + "No permission to delete" : "削除する権限がありません", "Download" : "ダウンロード", "Select" : "選択", "Pending" : "中断", diff --git a/apps/files/l10n/ja.json b/apps/files/l10n/ja.json index 2a127e347e5..dfee36655a3 100644 --- a/apps/files/l10n/ja.json +++ b/apps/files/l10n/ja.json @@ -40,6 +40,7 @@ "Delete" : "削除", "Disconnect storage" : "ストレージを切断する", "Unshare" : "共有解除", + "No permission to delete" : "削除する権限がありません", "Download" : "ダウンロード", "Select" : "選択", "Pending" : "中断", diff --git a/apps/files/l10n/nb_NO.js b/apps/files/l10n/nb_NO.js index 56cea9ed363..7e45f374988 100644 --- a/apps/files/l10n/nb_NO.js +++ b/apps/files/l10n/nb_NO.js @@ -42,6 +42,7 @@ OC.L10N.register( "Delete" : "Slett", "Disconnect storage" : "Koble fra lagring", "Unshare" : "Avslutt deling", + "No permission to delete" : "Ikke tillatelse til å slette", "Download" : "Last ned", "Select" : "Velg", "Pending" : "Ventende", @@ -70,6 +71,7 @@ OC.L10N.register( "An error occurred while trying to update the tags" : "En feil oppstod under oppdatering av taggene", "A new file or folder has been <strong>created</strong>" : "En ny fil eller mappe ble <strong>opprettet</strong>", "A file or folder has been <strong>changed</strong>" : "En fil eller mappe ble <strong>endret</strong>", + "Limit notifications about creation and changes to your <strong>favorite files</strong> <em>(Stream only)</em>" : "Begrens varsler om oppretting og endringer i dine <strong>favorittfiler</strong> <em>(Kun strøm)</em>", "A file or folder has been <strong>deleted</strong>" : "En fil eller mappe ble <strong>slettet</strong>", "A file or folder has been <strong>restored</strong>" : "En fil eller mappe ble <strong>gjenopprettet</strong>", "You created %1$s" : "Du opprettet %1$s", diff --git a/apps/files/l10n/nb_NO.json b/apps/files/l10n/nb_NO.json index 69db79a6695..4e6779e36c8 100644 --- a/apps/files/l10n/nb_NO.json +++ b/apps/files/l10n/nb_NO.json @@ -40,6 +40,7 @@ "Delete" : "Slett", "Disconnect storage" : "Koble fra lagring", "Unshare" : "Avslutt deling", + "No permission to delete" : "Ikke tillatelse til å slette", "Download" : "Last ned", "Select" : "Velg", "Pending" : "Ventende", @@ -68,6 +69,7 @@ "An error occurred while trying to update the tags" : "En feil oppstod under oppdatering av taggene", "A new file or folder has been <strong>created</strong>" : "En ny fil eller mappe ble <strong>opprettet</strong>", "A file or folder has been <strong>changed</strong>" : "En fil eller mappe ble <strong>endret</strong>", + "Limit notifications about creation and changes to your <strong>favorite files</strong> <em>(Stream only)</em>" : "Begrens varsler om oppretting og endringer i dine <strong>favorittfiler</strong> <em>(Kun strøm)</em>", "A file or folder has been <strong>deleted</strong>" : "En fil eller mappe ble <strong>slettet</strong>", "A file or folder has been <strong>restored</strong>" : "En fil eller mappe ble <strong>gjenopprettet</strong>", "You created %1$s" : "Du opprettet %1$s", diff --git a/apps/files/l10n/pt_BR.js b/apps/files/l10n/pt_BR.js index a55e0e88b69..70aafce6827 100644 --- a/apps/files/l10n/pt_BR.js +++ b/apps/files/l10n/pt_BR.js @@ -64,6 +64,7 @@ OC.L10N.register( "File name cannot be empty." : "O nome do arquivo não pode estar vazio.", "Your storage is full, files can not be updated or synced anymore!" : "Seu armazenamento está cheio, arquivos não podem mais ser atualizados ou sincronizados!", "Your storage is almost full ({usedSpacePercent}%)" : "Seu armazenamento está quase cheio ({usedSpacePercent}%)", + "_matches '{filter}'_::_match '{filter}'_" : ["coincide com '{filter}'","coincide com '{filter}'"], "{dirs} and {files}" : "{dirs} e {files}", "Favorited" : "Favorito", "Favorite" : "Favorito", diff --git a/apps/files/l10n/pt_BR.json b/apps/files/l10n/pt_BR.json index 0129b544ab4..941073fe630 100644 --- a/apps/files/l10n/pt_BR.json +++ b/apps/files/l10n/pt_BR.json @@ -62,6 +62,7 @@ "File name cannot be empty." : "O nome do arquivo não pode estar vazio.", "Your storage is full, files can not be updated or synced anymore!" : "Seu armazenamento está cheio, arquivos não podem mais ser atualizados ou sincronizados!", "Your storage is almost full ({usedSpacePercent}%)" : "Seu armazenamento está quase cheio ({usedSpacePercent}%)", + "_matches '{filter}'_::_match '{filter}'_" : ["coincide com '{filter}'","coincide com '{filter}'"], "{dirs} and {files}" : "{dirs} e {files}", "Favorited" : "Favorito", "Favorite" : "Favorito", diff --git a/apps/files/l10n/uk.js b/apps/files/l10n/uk.js index e8c0ccd8a6c..cf006f9c0d6 100644 --- a/apps/files/l10n/uk.js +++ b/apps/files/l10n/uk.js @@ -11,37 +11,37 @@ OC.L10N.register( "The name %s is already used in the folder %s. Please choose a different name." : "Файл з ім'ям %s вже є у теці %s. Оберіть інше ім'я.", "Error when creating the file" : "Помилка створення файлу", "Error when creating the folder" : "Помилка створення теки", - "Unable to set upload directory." : "Не вдалося встановити каталог завантаження.", + "Unable to set upload directory." : "Не вдалося встановити каталог вивантаження.", "Invalid Token" : "Неприпустимий маркер", - "No file was uploaded. Unknown error" : "Файл не був завантажений. Невідома помилка", - "There is no error, the file uploaded with success" : "Файл успішно завантажений. Помилок немає.", - "The uploaded file exceeds the upload_max_filesize directive in php.ini: " : "Розмір звантаження перевищує upload_max_filesize параметра в php.ini: ", - "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "Розмір відвантаженого файлу перевищує директиву MAX_FILE_SIZE вказану в HTML формі", - "The uploaded file was only partially uploaded" : "Файл завантажений лише частково", - "No file was uploaded" : "Не завантажено жодного файлу", + "No file was uploaded. Unknown error" : "Файл не був вивантажений. Невідома помилка", + "There is no error, the file uploaded with success" : "Файл успішно вивантажений. Помилок немає.", + "The uploaded file exceeds the upload_max_filesize directive in php.ini: " : "Розмір вивантаження перевищує значення параметра upload_max_filesize в php.ini: ", + "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "Розмір вивантаженого файлу перевищує директиву MAX_FILE_SIZE вказану в HTML формі", + "The uploaded file was only partially uploaded" : "Файл вивантажений лише частково", + "No file was uploaded" : "Не вивантажено жодного файлу", "Missing a temporary folder" : "Відсутній тимчасовий каталог", "Failed to write to disk" : "Помилка запису на диск", "Not enough storage available" : "Місця більше немає", - "Upload failed. Could not find uploaded file" : "Завантаження не вдалося. Неможливо знайти завантажений файл.", - "Upload failed. Could not get file info." : "Завантаження не вдалося. Неможливо отримати інформацію про файл.", + "Upload failed. Could not find uploaded file" : "Вивантаження не вдалося. Неможливо знайти вивантажений файл.", + "Upload failed. Could not get file info." : "Вивантаження не вдалося. Неможливо отримати інформацію про файл.", "Invalid directory." : "Невірний каталог.", "Files" : "Файли", "All files" : "Усі файли", "Favorites" : "Улюблені", "Home" : "Домашня адреса", - "Unable to upload {filename} as it is a directory or has 0 bytes" : "Неможливо завантажити {filename}, оскільки це каталог або має нульовий розмір.", + "Unable to upload {filename} as it is a directory or has 0 bytes" : "Неможливо вивантажити {filename}, оскільки це каталог або файл має розмір 0 байт.", "Total file size {size1} exceeds upload limit {size2}" : "Розмір файлу {size1} перевищує обмеження {size2}", - "Not enough free space, you are uploading {size1} but only {size2} is left" : "Недостатньо вільного місця, ви завантажуєте {size1}, а залишилося лише {size2}", - "Upload cancelled." : "Завантаження перервано.", + "Not enough free space, you are uploading {size1} but only {size2} is left" : "Недостатньо вільного місця, ви вивантажуєте {size1}, а залишилося лише {size2}", + "Upload cancelled." : "Вивантаження скасовано.", "Could not get result from server." : "Не вдалося отримати результат від сервера.", - "File upload is in progress. Leaving the page now will cancel the upload." : "Виконується завантаження файлу. Закриття цієї сторінки приведе до відміни завантаження.", + "File upload is in progress. Leaving the page now will cancel the upload." : "Виконується вивантаження файлу. Закриття цієї сторінки приведе до скасування вивантаження.", "{new_name} already exists" : "{new_name} вже існує", "Could not create file" : "Не вдалося створити файл", "Could not create folder" : "Не вдалося створити теку", "Rename" : "Перейменувати", "Delete" : "Видалити", "Disconnect storage" : "Від’єднати сховище", - "Unshare" : "Закрити доступ", + "Unshare" : "Закрити спільний доступ", "No permission to delete" : "Недостатньо прав для видалення", "Download" : "Завантажити", "Select" : "Оберіть", @@ -58,8 +58,8 @@ OC.L10N.register( "Modified" : "Змінено", "_%n folder_::_%n folders_" : ["%n тека ","теки : %n ","теки : %n "], "_%n file_::_%n files_" : ["%n файл ","файли : %n ","файли : %n "], - "You don’t have permission to upload or create files here" : "У вас недостатньо прав для завантаження або створення файлів тут", - "_Uploading %n file_::_Uploading %n files_" : ["Завантаження %n файлу","Завантаження %n файлів","Завантаження %n файлів"], + "You don’t have permission to upload or create files here" : "У вас недостатньо прав для вивантаження або створення тут файлів", + "_Uploading %n file_::_Uploading %n files_" : ["Вивантаження %n файлу","Вивантаження %n файлів","Вивантаження %n файлів"], "\"{name}\" is an invalid file name." : "\"{name}\" - некоректне ім'я файлу.", "File name cannot be empty." : " Ім'я файлу не може бути порожнім.", "Your storage is full, files can not be updated or synced anymore!" : "Ваше сховище переповнене, файли більше не можуть бути оновлені або синхронізовані !", @@ -79,15 +79,15 @@ OC.L10N.register( "%1$s was created in a public folder" : "%1$s створено у публічній теці", "You changed %1$s" : "Вами змінено %1$s", "%2$s changed %1$s" : "%2$s змінено %1$s", - "You deleted %1$s" : "Вами видалене %1$s", - "%2$s deleted %1$s" : "%2$s видалене %1$s", + "You deleted %1$s" : "Вами видалено %1$s", + "%2$s deleted %1$s" : "%2$s видалено %1$s", "You restored %1$s" : "Вами відновлено %1$s", "%2$s restored %1$s" : "%2$s відновлено %1$s", - "%s could not be renamed as it has been deleted" : "%s не може бути перейменований, оскільки він видалений", - "%s could not be renamed" : "%s не може бути перейменований", - "Upload (max. %s)" : "Завантаження (макс. %s)", + "%s could not be renamed as it has been deleted" : "%s не можна перейменувати, оскільки його видалено", + "%s could not be renamed" : "%s не можна перейменувати", + "Upload (max. %s)" : "Вивантаження (макс. %s)", "File handling" : "Робота з файлами", - "Maximum upload size" : "Максимальний розмір відвантажень", + "Maximum upload size" : "Максимальний розмір вивантажень", "max. possible: " : "макс. можливе:", "Save" : "Зберегти", "Can not be edited from here due to insufficient permissions." : "Неможливо відредагувати тут через брак повноважень.", @@ -100,16 +100,16 @@ OC.L10N.register( "New folder" : "Нова тека", "Folder" : "Тека", "Upload" : "Вивантажити", - "Cancel upload" : "Перервати завантаження", + "Cancel upload" : "Скасувати вивантаження", "No files in here" : "Тут немає файлів", - "Upload some content or sync with your devices!" : "Завантажте вміст або синхронізуйте з пристроями!", - "No entries found in this folder" : "Записів не знайдено в цій теці", + "Upload some content or sync with your devices!" : "Вивантажте щось або синхронізуйте з пристроями!", + "No entries found in this folder" : "В цій теці нічого немає", "Select all" : "Вибрати всі", "Upload too large" : "Файл занадто великий", - "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Файли,що ви намагаєтесь відвантажити перевищують максимальний дозволений розмір файлів на цьому сервері.", - "Files are being scanned, please wait." : "Файли скануються, зачекайте, будь-ласка.", + "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Файли,що ви намагаєтесь вивантажити перевищують максимальний дозволений розмір файлів на цьому сервері.", + "Files are being scanned, please wait." : "Файли перевіряються, зачекайте, будь-ласка.", "Currently scanning" : "Триває перевірка", - "No favorites" : "Немає обраних", - "Files and folders you mark as favorite will show up here" : "Файли і теки, які ви помітили як улюблені, з’являться тут" + "No favorites" : "Немає улюблених", + "Files and folders you mark as favorite will show up here" : "Файли і теки, які ви позначили як улюблені, з’являться тут" }, "nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);"); diff --git a/apps/files/l10n/uk.json b/apps/files/l10n/uk.json index 82aa81d4cc1..1a313865f7a 100644 --- a/apps/files/l10n/uk.json +++ b/apps/files/l10n/uk.json @@ -9,37 +9,37 @@ "The name %s is already used in the folder %s. Please choose a different name." : "Файл з ім'ям %s вже є у теці %s. Оберіть інше ім'я.", "Error when creating the file" : "Помилка створення файлу", "Error when creating the folder" : "Помилка створення теки", - "Unable to set upload directory." : "Не вдалося встановити каталог завантаження.", + "Unable to set upload directory." : "Не вдалося встановити каталог вивантаження.", "Invalid Token" : "Неприпустимий маркер", - "No file was uploaded. Unknown error" : "Файл не був завантажений. Невідома помилка", - "There is no error, the file uploaded with success" : "Файл успішно завантажений. Помилок немає.", - "The uploaded file exceeds the upload_max_filesize directive in php.ini: " : "Розмір звантаження перевищує upload_max_filesize параметра в php.ini: ", - "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "Розмір відвантаженого файлу перевищує директиву MAX_FILE_SIZE вказану в HTML формі", - "The uploaded file was only partially uploaded" : "Файл завантажений лише частково", - "No file was uploaded" : "Не завантажено жодного файлу", + "No file was uploaded. Unknown error" : "Файл не був вивантажений. Невідома помилка", + "There is no error, the file uploaded with success" : "Файл успішно вивантажений. Помилок немає.", + "The uploaded file exceeds the upload_max_filesize directive in php.ini: " : "Розмір вивантаження перевищує значення параметра upload_max_filesize в php.ini: ", + "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "Розмір вивантаженого файлу перевищує директиву MAX_FILE_SIZE вказану в HTML формі", + "The uploaded file was only partially uploaded" : "Файл вивантажений лише частково", + "No file was uploaded" : "Не вивантажено жодного файлу", "Missing a temporary folder" : "Відсутній тимчасовий каталог", "Failed to write to disk" : "Помилка запису на диск", "Not enough storage available" : "Місця більше немає", - "Upload failed. Could not find uploaded file" : "Завантаження не вдалося. Неможливо знайти завантажений файл.", - "Upload failed. Could not get file info." : "Завантаження не вдалося. Неможливо отримати інформацію про файл.", + "Upload failed. Could not find uploaded file" : "Вивантаження не вдалося. Неможливо знайти вивантажений файл.", + "Upload failed. Could not get file info." : "Вивантаження не вдалося. Неможливо отримати інформацію про файл.", "Invalid directory." : "Невірний каталог.", "Files" : "Файли", "All files" : "Усі файли", "Favorites" : "Улюблені", "Home" : "Домашня адреса", - "Unable to upload {filename} as it is a directory or has 0 bytes" : "Неможливо завантажити {filename}, оскільки це каталог або має нульовий розмір.", + "Unable to upload {filename} as it is a directory or has 0 bytes" : "Неможливо вивантажити {filename}, оскільки це каталог або файл має розмір 0 байт.", "Total file size {size1} exceeds upload limit {size2}" : "Розмір файлу {size1} перевищує обмеження {size2}", - "Not enough free space, you are uploading {size1} but only {size2} is left" : "Недостатньо вільного місця, ви завантажуєте {size1}, а залишилося лише {size2}", - "Upload cancelled." : "Завантаження перервано.", + "Not enough free space, you are uploading {size1} but only {size2} is left" : "Недостатньо вільного місця, ви вивантажуєте {size1}, а залишилося лише {size2}", + "Upload cancelled." : "Вивантаження скасовано.", "Could not get result from server." : "Не вдалося отримати результат від сервера.", - "File upload is in progress. Leaving the page now will cancel the upload." : "Виконується завантаження файлу. Закриття цієї сторінки приведе до відміни завантаження.", + "File upload is in progress. Leaving the page now will cancel the upload." : "Виконується вивантаження файлу. Закриття цієї сторінки приведе до скасування вивантаження.", "{new_name} already exists" : "{new_name} вже існує", "Could not create file" : "Не вдалося створити файл", "Could not create folder" : "Не вдалося створити теку", "Rename" : "Перейменувати", "Delete" : "Видалити", "Disconnect storage" : "Від’єднати сховище", - "Unshare" : "Закрити доступ", + "Unshare" : "Закрити спільний доступ", "No permission to delete" : "Недостатньо прав для видалення", "Download" : "Завантажити", "Select" : "Оберіть", @@ -56,8 +56,8 @@ "Modified" : "Змінено", "_%n folder_::_%n folders_" : ["%n тека ","теки : %n ","теки : %n "], "_%n file_::_%n files_" : ["%n файл ","файли : %n ","файли : %n "], - "You don’t have permission to upload or create files here" : "У вас недостатньо прав для завантаження або створення файлів тут", - "_Uploading %n file_::_Uploading %n files_" : ["Завантаження %n файлу","Завантаження %n файлів","Завантаження %n файлів"], + "You don’t have permission to upload or create files here" : "У вас недостатньо прав для вивантаження або створення тут файлів", + "_Uploading %n file_::_Uploading %n files_" : ["Вивантаження %n файлу","Вивантаження %n файлів","Вивантаження %n файлів"], "\"{name}\" is an invalid file name." : "\"{name}\" - некоректне ім'я файлу.", "File name cannot be empty." : " Ім'я файлу не може бути порожнім.", "Your storage is full, files can not be updated or synced anymore!" : "Ваше сховище переповнене, файли більше не можуть бути оновлені або синхронізовані !", @@ -77,15 +77,15 @@ "%1$s was created in a public folder" : "%1$s створено у публічній теці", "You changed %1$s" : "Вами змінено %1$s", "%2$s changed %1$s" : "%2$s змінено %1$s", - "You deleted %1$s" : "Вами видалене %1$s", - "%2$s deleted %1$s" : "%2$s видалене %1$s", + "You deleted %1$s" : "Вами видалено %1$s", + "%2$s deleted %1$s" : "%2$s видалено %1$s", "You restored %1$s" : "Вами відновлено %1$s", "%2$s restored %1$s" : "%2$s відновлено %1$s", - "%s could not be renamed as it has been deleted" : "%s не може бути перейменований, оскільки він видалений", - "%s could not be renamed" : "%s не може бути перейменований", - "Upload (max. %s)" : "Завантаження (макс. %s)", + "%s could not be renamed as it has been deleted" : "%s не можна перейменувати, оскільки його видалено", + "%s could not be renamed" : "%s не можна перейменувати", + "Upload (max. %s)" : "Вивантаження (макс. %s)", "File handling" : "Робота з файлами", - "Maximum upload size" : "Максимальний розмір відвантажень", + "Maximum upload size" : "Максимальний розмір вивантажень", "max. possible: " : "макс. можливе:", "Save" : "Зберегти", "Can not be edited from here due to insufficient permissions." : "Неможливо відредагувати тут через брак повноважень.", @@ -98,16 +98,16 @@ "New folder" : "Нова тека", "Folder" : "Тека", "Upload" : "Вивантажити", - "Cancel upload" : "Перервати завантаження", + "Cancel upload" : "Скасувати вивантаження", "No files in here" : "Тут немає файлів", - "Upload some content or sync with your devices!" : "Завантажте вміст або синхронізуйте з пристроями!", - "No entries found in this folder" : "Записів не знайдено в цій теці", + "Upload some content or sync with your devices!" : "Вивантажте щось або синхронізуйте з пристроями!", + "No entries found in this folder" : "В цій теці нічого немає", "Select all" : "Вибрати всі", "Upload too large" : "Файл занадто великий", - "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Файли,що ви намагаєтесь відвантажити перевищують максимальний дозволений розмір файлів на цьому сервері.", - "Files are being scanned, please wait." : "Файли скануються, зачекайте, будь-ласка.", + "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Файли,що ви намагаєтесь вивантажити перевищують максимальний дозволений розмір файлів на цьому сервері.", + "Files are being scanned, please wait." : "Файли перевіряються, зачекайте, будь-ласка.", "Currently scanning" : "Триває перевірка", - "No favorites" : "Немає обраних", - "Files and folders you mark as favorite will show up here" : "Файли і теки, які ви помітили як улюблені, з’являться тут" + "No favorites" : "Немає улюблених", + "Files and folders you mark as favorite will show up here" : "Файли і теки, які ви позначили як улюблені, з’являться тут" },"pluralForm" :"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);" }
\ No newline at end of file diff --git a/apps/files/lib/app.php b/apps/files/lib/app.php index d80024f2470..5bd8c127586 100644 --- a/apps/files/lib/app.php +++ b/apps/files/lib/app.php @@ -74,6 +74,17 @@ class App { 'data' => NULL ); + try { + // check if the new name is conform to file name restrictions + $this->view->verifyPath($dir, $newname); + } catch (\OCP\Files\InvalidPathException $ex) { + $result['data'] = array( + 'message' => $this->l10n->t($ex->getMessage()), + 'code' => 'invalidname', + ); + return $result; + } + $normalizedOldPath = \OC\Files\Filesystem::normalizePath($dir . '/' . $oldname); $normalizedNewPath = \OC\Files\Filesystem::normalizePath($dir . '/' . $newname); diff --git a/apps/files/tests/ajax_rename.php b/apps/files/tests/ajax_rename.php index 34e7f5085dd..a690c7dcb0c 100644 --- a/apps/files/tests/ajax_rename.php +++ b/apps/files/tests/ajax_rename.php @@ -222,36 +222,17 @@ class Test_OC_Files_App_Rename extends \Test\TestCase { } /** - * Test move to a folder that doesn't exist any more + * Test move to invalid name */ - function testRenameToNonExistingFolder() { + function testRenameToInvalidName() { $dir = '/'; $oldname = 'oldname'; - $newname = '/unexist/newname'; - - $this->viewMock->expects($this->any()) - ->method('file_exists') - ->with($this->anything()) - ->will($this->returnValueMap(array( - array('/oldname', true), - array('/unexist', false) - ))); - - $this->viewMock->expects($this->any()) - ->method('getFileInfo') - ->will($this->returnValue(array( - 'fileid' => 123, - 'type' => 'dir', - 'mimetype' => 'httpd/unix-directory', - 'size' => 18, - 'etag' => 'abcdef', - 'directory' => '/unexist', - 'name' => 'new_name', - ))); + $newname = 'abc\\'; $result = $this->files->rename($dir, $oldname, $newname); $this->assertFalse($result['success']); - $this->assertEquals('targetnotfound', $result['data']['code']); + $this->assertEquals('File name contains at least one invalid character', $result['data']['message']); + $this->assertEquals('invalidname', $result['data']['code']); } } diff --git a/apps/files_external/appinfo/app.php b/apps/files_external/appinfo/app.php index 8fa0d0b5223..cc64e298b96 100644 --- a/apps/files_external/appinfo/app.php +++ b/apps/files_external/appinfo/app.php @@ -227,7 +227,7 @@ OC_Mount_Config::registerBackend('\OC\Files\Storage\SFTP', [ ]); OC_Mount_Config::registerBackend('\OC\Files\Storage\SFTP_Key', [ - 'backend' => 'SFTP with secret key login', + 'backend' => (string)$l->t('SFTP with secret key login'), 'priority' => 100, 'configuration' => array( 'host' => (string)$l->t('Host'), diff --git a/apps/files_external/js/settings.js b/apps/files_external/js/settings.js index 1dae64216e1..287b4664541 100644 --- a/apps/files_external/js/settings.js +++ b/apps/files_external/js/settings.js @@ -32,6 +32,16 @@ var MOUNT_OPTIONS_DROPDOWN_TEMPLATE = ' </div>' + '</div>'; + /* TODO the current l10n extrator can't handle JS functions within handlebar + templates therefore they are duplicated here + t("files_external", "Enable encryption") + t("files_external", "Enable previews") + t("files_external", "Check for changes") + t("files_external", "Never") + t("files_external", "Once every direct access") + t("files_external", "Every time the filesystem is used") + */ + /** * Returns the selection of applicable users in the given configuration row * diff --git a/apps/files_external/l10n/cs_CZ.js b/apps/files_external/l10n/cs_CZ.js index 5517bb43aa8..1ba836528d9 100644 --- a/apps/files_external/l10n/cs_CZ.js +++ b/apps/files_external/l10n/cs_CZ.js @@ -43,6 +43,7 @@ OC.L10N.register( "Username as share" : "Uživatelské jméno jako sdílený adresář", "URL" : "URL", "Secure https://" : "Zabezpečené https://", + "SFTP with secret key login" : "SFTP login s tajným klíčem", "Public key" : "Veřejný klíč", "Storage with id \"%i\" not found" : "Úložiště s id \"%i\" nebylo nalezeno", "Invalid mount point" : "Neplatný přípojný bod", diff --git a/apps/files_external/l10n/cs_CZ.json b/apps/files_external/l10n/cs_CZ.json index 099a33abf1a..012a335cf4e 100644 --- a/apps/files_external/l10n/cs_CZ.json +++ b/apps/files_external/l10n/cs_CZ.json @@ -41,6 +41,7 @@ "Username as share" : "Uživatelské jméno jako sdílený adresář", "URL" : "URL", "Secure https://" : "Zabezpečené https://", + "SFTP with secret key login" : "SFTP login s tajným klíčem", "Public key" : "Veřejný klíč", "Storage with id \"%i\" not found" : "Úložiště s id \"%i\" nebylo nalezeno", "Invalid mount point" : "Neplatný přípojný bod", diff --git a/apps/files_external/l10n/de.js b/apps/files_external/l10n/de.js index 005af34371c..cd57210cef4 100644 --- a/apps/files_external/l10n/de.js +++ b/apps/files_external/l10n/de.js @@ -26,7 +26,7 @@ OC.L10N.register( "Host" : "Host", "Username" : "Benutzername", "Password" : "Passwort", - "Remote subfolder" : "Remote subfolder", + "Remote subfolder" : "Entfernter Unterordner", "Secure ftps://" : "Sicherer ftps://", "Client ID" : "Client-ID", "Client secret" : "Geheime Zeichenkette des Client", @@ -43,6 +43,7 @@ OC.L10N.register( "Username as share" : "Benutzername als Freigabe", "URL" : "URL", "Secure https://" : "Sicherer HTTPS://", + "SFTP with secret key login" : "SFTP mit dem Login über einen geheimen Schlüssel", "Public key" : "Öffentlicher Schlüssel", "Storage with id \"%i\" not found" : "Der Speicher mit der ID „%i“ wurde nicht gefunden", "Invalid mount point" : "Ungültiger mount point", diff --git a/apps/files_external/l10n/de.json b/apps/files_external/l10n/de.json index f655b00fe59..cb82b90b24a 100644 --- a/apps/files_external/l10n/de.json +++ b/apps/files_external/l10n/de.json @@ -24,7 +24,7 @@ "Host" : "Host", "Username" : "Benutzername", "Password" : "Passwort", - "Remote subfolder" : "Remote subfolder", + "Remote subfolder" : "Entfernter Unterordner", "Secure ftps://" : "Sicherer ftps://", "Client ID" : "Client-ID", "Client secret" : "Geheime Zeichenkette des Client", @@ -41,6 +41,7 @@ "Username as share" : "Benutzername als Freigabe", "URL" : "URL", "Secure https://" : "Sicherer HTTPS://", + "SFTP with secret key login" : "SFTP mit dem Login über einen geheimen Schlüssel", "Public key" : "Öffentlicher Schlüssel", "Storage with id \"%i\" not found" : "Der Speicher mit der ID „%i“ wurde nicht gefunden", "Invalid mount point" : "Ungültiger mount point", diff --git a/apps/files_external/l10n/de_DE.js b/apps/files_external/l10n/de_DE.js index 4bdbc88cfd5..a4c2d87d254 100644 --- a/apps/files_external/l10n/de_DE.js +++ b/apps/files_external/l10n/de_DE.js @@ -26,7 +26,7 @@ OC.L10N.register( "Host" : "Host", "Username" : "Benutzername", "Password" : "Passwort", - "Remote subfolder" : "Remote Subfolder", + "Remote subfolder" : "Entfernter Unterordner", "Secure ftps://" : "Sicheres ftps://", "Client ID" : "Client-ID", "Client secret" : "Geheime Zeichenkette des Client", @@ -43,6 +43,7 @@ OC.L10N.register( "Username as share" : "Benutzername als Freigabe", "URL" : "Adresse", "Secure https://" : "Sicheres https://", + "SFTP with secret key login" : "SFTP mit dem Login über einen geheimen Schlüssel", "Public key" : "Öffentlicher Schlüssel", "Storage with id \"%i\" not found" : "Der Speicher mit der ID „%i“ wurde nicht gefunden", "Invalid mount point" : "Ungültiger mount point", diff --git a/apps/files_external/l10n/de_DE.json b/apps/files_external/l10n/de_DE.json index b6c95f3983e..9c0d2555fbf 100644 --- a/apps/files_external/l10n/de_DE.json +++ b/apps/files_external/l10n/de_DE.json @@ -24,7 +24,7 @@ "Host" : "Host", "Username" : "Benutzername", "Password" : "Passwort", - "Remote subfolder" : "Remote Subfolder", + "Remote subfolder" : "Entfernter Unterordner", "Secure ftps://" : "Sicheres ftps://", "Client ID" : "Client-ID", "Client secret" : "Geheime Zeichenkette des Client", @@ -41,6 +41,7 @@ "Username as share" : "Benutzername als Freigabe", "URL" : "Adresse", "Secure https://" : "Sicheres https://", + "SFTP with secret key login" : "SFTP mit dem Login über einen geheimen Schlüssel", "Public key" : "Öffentlicher Schlüssel", "Storage with id \"%i\" not found" : "Der Speicher mit der ID „%i“ wurde nicht gefunden", "Invalid mount point" : "Ungültiger mount point", diff --git a/apps/files_external/l10n/es.js b/apps/files_external/l10n/es.js index 6f9ee1cbe45..efd3d7fc40d 100644 --- a/apps/files_external/l10n/es.js +++ b/apps/files_external/l10n/es.js @@ -43,6 +43,7 @@ OC.L10N.register( "Username as share" : "Nombre de usuario como compartir", "URL" : "URL", "Secure https://" : "—Seguro— https://", + "SFTP with secret key login" : "Inicio de sesión SFTP con clave secreta", "Public key" : "Clave pública", "Storage with id \"%i\" not found" : "No se ha encontrado almacenamiento con id \"%i\"", "Invalid mount point" : "Punto de montaje no válido", diff --git a/apps/files_external/l10n/es.json b/apps/files_external/l10n/es.json index 857c26ae344..231ea39b681 100644 --- a/apps/files_external/l10n/es.json +++ b/apps/files_external/l10n/es.json @@ -41,6 +41,7 @@ "Username as share" : "Nombre de usuario como compartir", "URL" : "URL", "Secure https://" : "—Seguro— https://", + "SFTP with secret key login" : "Inicio de sesión SFTP con clave secreta", "Public key" : "Clave pública", "Storage with id \"%i\" not found" : "No se ha encontrado almacenamiento con id \"%i\"", "Invalid mount point" : "Punto de montaje no válido", diff --git a/apps/files_external/l10n/fr.js b/apps/files_external/l10n/fr.js index 4b6b3b7d305..087c88522ec 100644 --- a/apps/files_external/l10n/fr.js +++ b/apps/files_external/l10n/fr.js @@ -43,6 +43,7 @@ OC.L10N.register( "Username as share" : "Nom d'utilisateur comme nom de partage", "URL" : "URL", "Secure https://" : "Sécurisation https://", + "SFTP with secret key login" : "SFTP avec un identifiant secret", "Public key" : "Clef publique", "Storage with id \"%i\" not found" : "Stockage avec l'id \"%i\" non trouvé", "Invalid mount point" : "Point de montage non valide", diff --git a/apps/files_external/l10n/fr.json b/apps/files_external/l10n/fr.json index add46dd3021..b2edf4c363c 100644 --- a/apps/files_external/l10n/fr.json +++ b/apps/files_external/l10n/fr.json @@ -41,6 +41,7 @@ "Username as share" : "Nom d'utilisateur comme nom de partage", "URL" : "URL", "Secure https://" : "Sécurisation https://", + "SFTP with secret key login" : "SFTP avec un identifiant secret", "Public key" : "Clef publique", "Storage with id \"%i\" not found" : "Stockage avec l'id \"%i\" non trouvé", "Invalid mount point" : "Point de montage non valide", diff --git a/apps/files_external/l10n/gl.js b/apps/files_external/l10n/gl.js index 86a7ae0ffb5..2c1b7b77b6f 100644 --- a/apps/files_external/l10n/gl.js +++ b/apps/files_external/l10n/gl.js @@ -15,7 +15,7 @@ OC.L10N.register( "Bucket" : "Bucket", "Amazon S3 and compliant" : "Amazon S3 e compatíbeis", "Access Key" : "Clave de acceso", - "Secret Key" : "Clave secreta", + "Secret Key" : "Chave secreta", "Hostname" : "Nome de máquina", "Port" : "Porto", "Region" : "Rexión", @@ -43,6 +43,7 @@ OC.L10N.register( "Username as share" : "Nome de usuario como compartición", "URL" : "URL", "Secure https://" : "https:// seguro", + "SFTP with secret key login" : "SFTP con chave secreta de acceso", "Public key" : "Chave pública", "Storage with id \"%i\" not found" : "Non se atopa o almacenamento co ID «%i» ", "Invalid mount point" : "Punto de montaxe incorrecto", diff --git a/apps/files_external/l10n/gl.json b/apps/files_external/l10n/gl.json index c88a5c2ead7..dc4e151eebd 100644 --- a/apps/files_external/l10n/gl.json +++ b/apps/files_external/l10n/gl.json @@ -13,7 +13,7 @@ "Bucket" : "Bucket", "Amazon S3 and compliant" : "Amazon S3 e compatíbeis", "Access Key" : "Clave de acceso", - "Secret Key" : "Clave secreta", + "Secret Key" : "Chave secreta", "Hostname" : "Nome de máquina", "Port" : "Porto", "Region" : "Rexión", @@ -41,6 +41,7 @@ "Username as share" : "Nome de usuario como compartición", "URL" : "URL", "Secure https://" : "https:// seguro", + "SFTP with secret key login" : "SFTP con chave secreta de acceso", "Public key" : "Chave pública", "Storage with id \"%i\" not found" : "Non se atopa o almacenamento co ID «%i» ", "Invalid mount point" : "Punto de montaxe incorrecto", diff --git a/apps/files_external/l10n/it.js b/apps/files_external/l10n/it.js index 31b0a778051..72aba20087e 100644 --- a/apps/files_external/l10n/it.js +++ b/apps/files_external/l10n/it.js @@ -43,6 +43,7 @@ OC.L10N.register( "Username as share" : "Nome utente come condivisione", "URL" : "URL", "Secure https://" : "Sicuro https://", + "SFTP with secret key login" : "SFTP con accesso a chiave segreta", "Public key" : "Chiave pubblica", "Storage with id \"%i\" not found" : "Archiviazione con ID \"%i\" non trovata", "Invalid mount point" : "Punto di mount non valido", diff --git a/apps/files_external/l10n/it.json b/apps/files_external/l10n/it.json index c79cb1d5341..d2549d790cd 100644 --- a/apps/files_external/l10n/it.json +++ b/apps/files_external/l10n/it.json @@ -41,6 +41,7 @@ "Username as share" : "Nome utente come condivisione", "URL" : "URL", "Secure https://" : "Sicuro https://", + "SFTP with secret key login" : "SFTP con accesso a chiave segreta", "Public key" : "Chiave pubblica", "Storage with id \"%i\" not found" : "Archiviazione con ID \"%i\" non trovata", "Invalid mount point" : "Punto di mount non valido", diff --git a/apps/files_external/l10n/nb_NO.js b/apps/files_external/l10n/nb_NO.js index 1a4fa8f90d8..f120e34308a 100644 --- a/apps/files_external/l10n/nb_NO.js +++ b/apps/files_external/l10n/nb_NO.js @@ -43,6 +43,7 @@ OC.L10N.register( "Username as share" : "Brukernavn som share", "URL" : "URL", "Secure https://" : "Sikker https://", + "SFTP with secret key login" : "SFTP med hemmelig nøkkel for pålogging", "Public key" : "Offentlig nøkkel", "Storage with id \"%i\" not found" : "Lager med id \"%i\" ikke funnet", "Invalid mount point" : "Ugyldig oppkoblingspunkt", @@ -61,7 +62,7 @@ OC.L10N.register( "<b>Note:</b> " : "<b>Merk:</b> ", "and" : "og", "<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Merk:</b> Støtte for cURL i PHP er ikke aktivert eller installert. Oppkobling av %s er ikke mulig. Be systemadministratoren om å installere det.", - "<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Merk:</b> FTP-støtte i PHP er ikke slått på eller installert. Kan ikke koble opp %s. Ta kontakt med systemadministratoren for å installere det.", + "<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Merk:</b> FTP-støtte i PHP er ikke slått på eller installert. Kan ikke koble opp %s. Ta kontakt med systemadministratoren for å få dette installert.", "<b>Note:</b> \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Merk:</b> \"%s\" er ikke installert. Oppkobling av %s er ikke mulig. Spør systemadministratoren om å installere det.", "No external storage configured" : "Eksternt lager er ikke konfigurert", "You can add external storages in the personal settings" : "Du kan legge til eksterne lagre i personlige innstillinger", diff --git a/apps/files_external/l10n/nb_NO.json b/apps/files_external/l10n/nb_NO.json index c946e044fe8..1ad6011fcf4 100644 --- a/apps/files_external/l10n/nb_NO.json +++ b/apps/files_external/l10n/nb_NO.json @@ -41,6 +41,7 @@ "Username as share" : "Brukernavn som share", "URL" : "URL", "Secure https://" : "Sikker https://", + "SFTP with secret key login" : "SFTP med hemmelig nøkkel for pålogging", "Public key" : "Offentlig nøkkel", "Storage with id \"%i\" not found" : "Lager med id \"%i\" ikke funnet", "Invalid mount point" : "Ugyldig oppkoblingspunkt", @@ -59,7 +60,7 @@ "<b>Note:</b> " : "<b>Merk:</b> ", "and" : "og", "<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Merk:</b> Støtte for cURL i PHP er ikke aktivert eller installert. Oppkobling av %s er ikke mulig. Be systemadministratoren om å installere det.", - "<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Merk:</b> FTP-støtte i PHP er ikke slått på eller installert. Kan ikke koble opp %s. Ta kontakt med systemadministratoren for å installere det.", + "<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Merk:</b> FTP-støtte i PHP er ikke slått på eller installert. Kan ikke koble opp %s. Ta kontakt med systemadministratoren for å få dette installert.", "<b>Note:</b> \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Merk:</b> \"%s\" er ikke installert. Oppkobling av %s er ikke mulig. Spør systemadministratoren om å installere det.", "No external storage configured" : "Eksternt lager er ikke konfigurert", "You can add external storages in the personal settings" : "Du kan legge til eksterne lagre i personlige innstillinger", diff --git a/apps/files_external/l10n/nl.js b/apps/files_external/l10n/nl.js index 3e0804a8db5..0b209d2ec37 100644 --- a/apps/files_external/l10n/nl.js +++ b/apps/files_external/l10n/nl.js @@ -43,6 +43,7 @@ OC.L10N.register( "Username as share" : "Gebruikersnaam als share", "URL" : "URL", "Secure https://" : "Secure https://", + "SFTP with secret key login" : "SFTP met geheime sleutel inlog", "Public key" : "Publieke sleutel", "Storage with id \"%i\" not found" : "Opslag met id \"%i\" niet gevonden", "Invalid mount point" : "Ongeldig aankoppelpunt", diff --git a/apps/files_external/l10n/nl.json b/apps/files_external/l10n/nl.json index 574edce051c..b5a6215f708 100644 --- a/apps/files_external/l10n/nl.json +++ b/apps/files_external/l10n/nl.json @@ -41,6 +41,7 @@ "Username as share" : "Gebruikersnaam als share", "URL" : "URL", "Secure https://" : "Secure https://", + "SFTP with secret key login" : "SFTP met geheime sleutel inlog", "Public key" : "Publieke sleutel", "Storage with id \"%i\" not found" : "Opslag met id \"%i\" niet gevonden", "Invalid mount point" : "Ongeldig aankoppelpunt", diff --git a/apps/files_external/l10n/pt_BR.js b/apps/files_external/l10n/pt_BR.js index 4abc66a1dcf..d1036957f99 100644 --- a/apps/files_external/l10n/pt_BR.js +++ b/apps/files_external/l10n/pt_BR.js @@ -43,6 +43,7 @@ OC.L10N.register( "Username as share" : "Nome de usuário como compartilhado", "URL" : "URL", "Secure https://" : "https:// segura", + "SFTP with secret key login" : "SFTP com chave secreta de login", "Public key" : "Chave pública", "Storage with id \"%i\" not found" : "Armazenamento com id \"%i\" não encontrado", "Invalid mount point" : "Ponto de montagem inválido", diff --git a/apps/files_external/l10n/pt_BR.json b/apps/files_external/l10n/pt_BR.json index 2fb9a422265..e6dcc5bd03a 100644 --- a/apps/files_external/l10n/pt_BR.json +++ b/apps/files_external/l10n/pt_BR.json @@ -41,6 +41,7 @@ "Username as share" : "Nome de usuário como compartilhado", "URL" : "URL", "Secure https://" : "https:// segura", + "SFTP with secret key login" : "SFTP com chave secreta de login", "Public key" : "Chave pública", "Storage with id \"%i\" not found" : "Armazenamento com id \"%i\" não encontrado", "Invalid mount point" : "Ponto de montagem inválido", diff --git a/apps/files_sharing/ajax/shareinfo.php b/apps/files_sharing/ajax/shareinfo.php index 5a20ebcb061..b2f88265ca1 100644 --- a/apps/files_sharing/ajax/shareinfo.php +++ b/apps/files_sharing/ajax/shareinfo.php @@ -28,6 +28,11 @@ if (!isset($_GET['t'])) { exit; } +if (OCA\Files_Sharing\Helper::isOutgoingServer2serverShareEnabled() === false) { + \OC_Response::setStatus(404); // 404 not found + exit; +} + $token = $_GET['t']; $password = null; diff --git a/apps/files_sharing/js/public.js b/apps/files_sharing/js/public.js index c5934a4f609..17bee7b3b68 100644 --- a/apps/files_sharing/js/public.js +++ b/apps/files_sharing/js/public.js @@ -110,7 +110,7 @@ OCA.Sharing.PublicApp = { (maxGifSize === -1 || fileSize <= (maxGifSize * 1024 * 1024))) { img.attr('src', $('#downloadURL').val()); img.appendTo('#imgframe'); - } else if (mimetype.substr(0, mimetype.indexOf('/')) === 'text') { + } else if (mimetype.substr(0, mimetype.indexOf('/')) === 'text' && window.btoa) { // Undocumented Url to public WebDAV endpoint var url = parent.location.protocol + '//' + location.host + OC.linkTo('', 'public.php/webdav'); $.ajax({ diff --git a/apps/files_sharing/l10n/az.js b/apps/files_sharing/l10n/az.js index 957ab4a7306..7c8b2f812fc 100644 --- a/apps/files_sharing/l10n/az.js +++ b/apps/files_sharing/l10n/az.js @@ -21,6 +21,7 @@ OC.L10N.register( "Remote share password" : "Uzaq yayımlanma şifrəsi", "Cancel" : "Dayandır", "Add remote share" : "Uzaq yayımlanmanı əlavə et", + "You can upload into this folder" : "Siz bu qovluğun içinə yükləyə bilərsiniz", "No ownCloud installation (7 or higher) found at {remote}" : "Yüklənmiş (7 yada yuxarı) ownCloud {uzaq} unvanında tapılmadı ", "Invalid ownCloud url" : "Yalnış ownCloud url-i", "Share" : "Yayımla", @@ -56,6 +57,7 @@ OC.L10N.register( "Download %s" : "Endir %s", "Direct link" : "Birbaşa link", "Federated Cloud Sharing" : "Federal Cloud Paylaşım", + "Open documentation" : "Sənədləri aç", "Allow users on this server to send shares to other servers" : "Bu serverdən digər serverlərə istifadəçilər tərəfindən paylaşımın göndərilməsinə izin vermək", "Allow users on this server to receive shares from other servers" : "Digər serverlərdən bu serverə istifadəçilər tərəfindən paylaşımın ötürülməsinə izin vermək" }, diff --git a/apps/files_sharing/l10n/az.json b/apps/files_sharing/l10n/az.json index 6d8bc7fb8dd..4de0b9df5c8 100644 --- a/apps/files_sharing/l10n/az.json +++ b/apps/files_sharing/l10n/az.json @@ -19,6 +19,7 @@ "Remote share password" : "Uzaq yayımlanma şifrəsi", "Cancel" : "Dayandır", "Add remote share" : "Uzaq yayımlanmanı əlavə et", + "You can upload into this folder" : "Siz bu qovluğun içinə yükləyə bilərsiniz", "No ownCloud installation (7 or higher) found at {remote}" : "Yüklənmiş (7 yada yuxarı) ownCloud {uzaq} unvanında tapılmadı ", "Invalid ownCloud url" : "Yalnış ownCloud url-i", "Share" : "Yayımla", @@ -54,6 +55,7 @@ "Download %s" : "Endir %s", "Direct link" : "Birbaşa link", "Federated Cloud Sharing" : "Federal Cloud Paylaşım", + "Open documentation" : "Sənədləri aç", "Allow users on this server to send shares to other servers" : "Bu serverdən digər serverlərə istifadəçilər tərəfindən paylaşımın göndərilməsinə izin vermək", "Allow users on this server to receive shares from other servers" : "Digər serverlərdən bu serverə istifadəçilər tərəfindən paylaşımın ötürülməsinə izin vermək" },"pluralForm" :"nplurals=2; plural=(n != 1);" diff --git a/apps/files_sharing/l10n/da.js b/apps/files_sharing/l10n/da.js index 89b8e980372..6e1dbc35fbd 100644 --- a/apps/files_sharing/l10n/da.js +++ b/apps/files_sharing/l10n/da.js @@ -21,6 +21,7 @@ OC.L10N.register( "Remote share password" : "Adgangskode for ekstern deling", "Cancel" : "Annuller", "Add remote share" : "Tilføj ekstern deling", + "You can upload into this folder" : "Du kan overføre til denne mappe", "No ownCloud installation (7 or higher) found at {remote}" : "Der er ingen ownCloud-installation (7 eller højere) på {remote}", "Invalid ownCloud url" : "Ugyldig ownCloud-URL", "Share" : "Del", diff --git a/apps/files_sharing/l10n/da.json b/apps/files_sharing/l10n/da.json index 158d782b729..c154b1dd90d 100644 --- a/apps/files_sharing/l10n/da.json +++ b/apps/files_sharing/l10n/da.json @@ -19,6 +19,7 @@ "Remote share password" : "Adgangskode for ekstern deling", "Cancel" : "Annuller", "Add remote share" : "Tilføj ekstern deling", + "You can upload into this folder" : "Du kan overføre til denne mappe", "No ownCloud installation (7 or higher) found at {remote}" : "Der er ingen ownCloud-installation (7 eller højere) på {remote}", "Invalid ownCloud url" : "Ugyldig ownCloud-URL", "Share" : "Del", diff --git a/apps/files_sharing/l10n/nb_NO.js b/apps/files_sharing/l10n/nb_NO.js index 6a63a856069..2a181e0af49 100644 --- a/apps/files_sharing/l10n/nb_NO.js +++ b/apps/files_sharing/l10n/nb_NO.js @@ -21,6 +21,7 @@ OC.L10N.register( "Remote share password" : "Passord for ekstern deling", "Cancel" : "Avbryt", "Add remote share" : "Legg til ekstern deling", + "You can upload into this folder" : "Du kan laste opp til denne mappen", "No ownCloud installation (7 or higher) found at {remote}" : "Ingen ownCloud-installasjon (7 eller høyere) funnet på {remote}", "Invalid ownCloud url" : "Ugyldig ownCloud-url", "Share" : "Del", @@ -56,6 +57,7 @@ OC.L10N.register( "Download %s" : "Last ned %s", "Direct link" : "Direkte lenke", "Federated Cloud Sharing" : "Sammenknyttet sky-deling", + "Open documentation" : "Åpne dokumentasjonen", "Allow users on this server to send shares to other servers" : "Tillat at brukere på denne serveren sender delinger til andre servere", "Allow users on this server to receive shares from other servers" : "Tillat at brukere på denne serveren mottar delinger fra andre servere" }, diff --git a/apps/files_sharing/l10n/nb_NO.json b/apps/files_sharing/l10n/nb_NO.json index 0710062ba49..0fb0ee46cc6 100644 --- a/apps/files_sharing/l10n/nb_NO.json +++ b/apps/files_sharing/l10n/nb_NO.json @@ -19,6 +19,7 @@ "Remote share password" : "Passord for ekstern deling", "Cancel" : "Avbryt", "Add remote share" : "Legg til ekstern deling", + "You can upload into this folder" : "Du kan laste opp til denne mappen", "No ownCloud installation (7 or higher) found at {remote}" : "Ingen ownCloud-installasjon (7 eller høyere) funnet på {remote}", "Invalid ownCloud url" : "Ugyldig ownCloud-url", "Share" : "Del", @@ -54,6 +55,7 @@ "Download %s" : "Last ned %s", "Direct link" : "Direkte lenke", "Federated Cloud Sharing" : "Sammenknyttet sky-deling", + "Open documentation" : "Åpne dokumentasjonen", "Allow users on this server to send shares to other servers" : "Tillat at brukere på denne serveren sender delinger til andre servere", "Allow users on this server to receive shares from other servers" : "Tillat at brukere på denne serveren mottar delinger fra andre servere" },"pluralForm" :"nplurals=2; plural=(n != 1);" diff --git a/apps/files_sharing/templates/public.php b/apps/files_sharing/templates/public.php index fa349f29811..5a0119747f1 100644 --- a/apps/files_sharing/templates/public.php +++ b/apps/files_sharing/templates/public.php @@ -46,12 +46,22 @@ $thumbSize = 1024; <header><div id="header" class="<?php p((isset($_['folder']) ? 'share-folder' : 'share-file')) ?>"> <a href="<?php print_unescaped(link_to('', 'index.php')); ?>" title="" id="owncloud"> - <div class="logo-wide svg"> - <h1 class="hidden-visually"> - <?php p($theme->getName()); ?> - </h1> + <div class="logo-icon svg"> </div> </a> + + <div class="header-appname-container"> + <h1 class="header-appname"> + <?php + if(OC_Util::getEditionString() === '') { + p($theme->getName()); + } else { + print_unescaped($theme->getHTMLName()); + } + ?> + </h1> + </div> + <div id="logo-claim" style="display:none;"><?php p($theme->getLogoClaim()); ?></div> <div class="header-right"> <span id="details"> diff --git a/apps/files_trashbin/lib/helper.php b/apps/files_trashbin/lib/helper.php index bc9ebd6ee02..320ad2eeb8e 100644 --- a/apps/files_trashbin/lib/helper.php +++ b/apps/files_trashbin/lib/helper.php @@ -115,9 +115,6 @@ class Helper $entry['id'] = $id++; $entry['etag'] = $entry['mtime']; // add fake etag, it is only needed to identify the preview image $entry['permissions'] = \OCP\Constants::PERMISSION_READ; - if (\OCP\App::isEnabled('files_encryption')) { - $entry['isPreviewAvailable'] = false; - } $files[] = $entry; } return $files; diff --git a/apps/files_trashbin/lib/trashbin.php b/apps/files_trashbin/lib/trashbin.php index 6a1dcf3fce2..baa0c4cbe71 100644 --- a/apps/files_trashbin/lib/trashbin.php +++ b/apps/files_trashbin/lib/trashbin.php @@ -479,7 +479,6 @@ class Trashbin { } $size += self::deleteVersions($view, $file, $filename, $timestamp, $user); - $size += self::deleteEncryptionKeys($view, $file, $filename, $timestamp, $user); if ($view->is_dir('/files_trashbin/files/' . $file)) { $size += self::calculateSize(new \OC\Files\View('/' . $user . '/files_trashbin/files/' . $file)); @@ -522,31 +521,6 @@ class Trashbin { } /** - * @param \OC\Files\View $view - * @param $file - * @param $filename - * @param $timestamp - * @return int - */ - private static function deleteEncryptionKeys(\OC\Files\View $view, $file, $filename, $timestamp, $user) { - $size = 0; - if (\OCP\App::isEnabled('files_encryption')) { - - $keyfiles = \OC\Files\Filesystem::normalizePath('files_trashbin/keys/' . $filename); - - if ($timestamp) { - $keyfiles .= '.d' . $timestamp; - } - if ($view->is_dir($keyfiles)) { - $size += self::calculateSize(new \OC\Files\View('/' . $user . '/' . $keyfiles)); - $view->deleteAll($keyfiles); - - } - } - return $size; - } - - /** * check to see whether a file exists in trashbin * * @param string $filename path to the file diff --git a/apps/files_trashbin/tests/trashbin.php b/apps/files_trashbin/tests/trashbin.php index 0c37af24de5..5535b3315bc 100644 --- a/apps/files_trashbin/tests/trashbin.php +++ b/apps/files_trashbin/tests/trashbin.php @@ -67,7 +67,7 @@ class Test_Trashbin extends \Test\TestCase { $application->setupPropagation(); //disable encryption - \OC_App::disable('files_encryption'); + \OC_App::disable('encryption'); //configure trashbin self::$rememberRetentionObligation = \OC_Config::getValue('trashbin_retention_obligation', Files_Trashbin\Trashbin::DEFAULT_RETENTION_OBLIGATION); diff --git a/apps/files_versions/lib/storage.php b/apps/files_versions/lib/storage.php index 98e486690b6..296cebfe058 100644 --- a/apps/files_versions/lib/storage.php +++ b/apps/files_versions/lib/storage.php @@ -346,7 +346,7 @@ class Storage { */ public static function getVersions($uid, $filename, $userFullPath = '') { $versions = array(); - if ($filename === '') { + if (empty($filename)) { return $versions; } // fetch for old versions @@ -556,6 +556,10 @@ class Storage { $config = \OC::$server->getConfig(); if($config->getSystemValue('files_versions', Storage::DEFAULTENABLED)=='true') { list($uid, $filename) = self::getUidAndFilename($filename); + if (empty($filename)) { + // file maybe renamed or deleted + return false; + } $versionsFileview = new \OC\Files\View('/'.$uid.'/files_versions'); // get available disk space for user diff --git a/apps/files_versions/tests/versions.php b/apps/files_versions/tests/versions.php index 685bf48d652..0b6bfc698d7 100644 --- a/apps/files_versions/tests/versions.php +++ b/apps/files_versions/tests/versions.php @@ -552,10 +552,20 @@ class Test_Files_Versioning extends \Test\TestCase { public function testGetVersionsEmptyFile() { // execute copy hook of versions app $versions = \OCA\Files_Versions\Storage::getVersions(self::TEST_VERSIONS_USER, ''); + $this->assertCount(0, $versions); + $versions = \OCA\Files_Versions\Storage::getVersions(self::TEST_VERSIONS_USER, null); $this->assertCount(0, $versions); } + public function testExpireNonexistingFile() { + $this->logout(); + // needed to have a FS setup (the background job does this) + \OC_Util::setupFS(self::TEST_VERSIONS_USER); + + $this->assertFalse(\OCA\Files_Versions\Storage::expire('/void/unexist.txt')); + } + public function testRestoreSameStorage() { \OC\Files\Filesystem::mkdir('sub'); $this->doTestRestore(); diff --git a/apps/user_ldap/l10n/cs_CZ.js b/apps/user_ldap/l10n/cs_CZ.js index bc69c7db09b..b3896f7e9bd 100644 --- a/apps/user_ldap/l10n/cs_CZ.js +++ b/apps/user_ldap/l10n/cs_CZ.js @@ -12,6 +12,7 @@ OC.L10N.register( "No data specified" : "Neurčena žádná data", " Could not set configuration %s" : "Nelze nastavit konfiguraci %s", "Action does not exist" : "Tato akce neexistuje", + "The Base DN appears to be wrong" : "Base DN nevypadá být v pořádku", "Configuration incorrect" : "Nesprávná konfigurace", "Configuration incomplete" : "Nekompletní konfigurace", "Configuration OK" : "Konfigurace v pořádku", @@ -77,6 +78,9 @@ OC.L10N.register( "Verify settings" : "Ověřit nastavení", "1. Server" : "1. Server", "%s. Server:" : "%s. Server:", + "Adds a new and blank configuration" : "Přidá novou prázdnou konfiguraci", + "Copy current configuration into new directory binding" : "Zkopírovat současnou konfiguraci do nového adresářového propojení", + "Delete the current configuration" : "Smazat současnou konfiguraci", "Host" : "Počítač", "You can omit the protocol, except you require SSL. Then start with ldaps://" : "Můžete vynechat protokol, vyjma pokud požadujete SSL. Tehdy začněte s ldaps://", "Port" : "Port", diff --git a/apps/user_ldap/l10n/cs_CZ.json b/apps/user_ldap/l10n/cs_CZ.json index d9c84cbbde6..aaf10d22f9c 100644 --- a/apps/user_ldap/l10n/cs_CZ.json +++ b/apps/user_ldap/l10n/cs_CZ.json @@ -10,6 +10,7 @@ "No data specified" : "Neurčena žádná data", " Could not set configuration %s" : "Nelze nastavit konfiguraci %s", "Action does not exist" : "Tato akce neexistuje", + "The Base DN appears to be wrong" : "Base DN nevypadá být v pořádku", "Configuration incorrect" : "Nesprávná konfigurace", "Configuration incomplete" : "Nekompletní konfigurace", "Configuration OK" : "Konfigurace v pořádku", @@ -75,6 +76,9 @@ "Verify settings" : "Ověřit nastavení", "1. Server" : "1. Server", "%s. Server:" : "%s. Server:", + "Adds a new and blank configuration" : "Přidá novou prázdnou konfiguraci", + "Copy current configuration into new directory binding" : "Zkopírovat současnou konfiguraci do nového adresářového propojení", + "Delete the current configuration" : "Smazat současnou konfiguraci", "Host" : "Počítač", "You can omit the protocol, except you require SSL. Then start with ldaps://" : "Můžete vynechat protokol, vyjma pokud požadujete SSL. Tehdy začněte s ldaps://", "Port" : "Port", diff --git a/apps/user_ldap/l10n/da.js b/apps/user_ldap/l10n/da.js index 1b070f48a90..c9ec596ace8 100644 --- a/apps/user_ldap/l10n/da.js +++ b/apps/user_ldap/l10n/da.js @@ -3,6 +3,7 @@ OC.L10N.register( { "Failed to clear the mappings." : "Mislykkedes med at rydde delingerne.", "Failed to delete the server configuration" : "Kunne ikke slette server konfigurationen", + "The configuration is invalid: anonymous bind is not allowed." : "Konfigurationen er ugyldig: anonyme bindinger tillades ikke.", "The configuration is valid and the connection could be established!" : "Konfigurationen er korrekt og forbindelsen kunne etableres!", "The configuration is valid, but the Bind failed. Please check the server settings and credentials." : "Konfigurationen er gyldig, men forbindelsen mislykkedes. Tjek venligst serverindstillingerne og akkreditiverne.", "The configuration is invalid. Please have a look at the logs for further details." : "Konfigurationen er ugyldig. Se venligst i loggen for yderligere detaljer.", @@ -11,6 +12,7 @@ OC.L10N.register( "No data specified" : "Der er ikke angivet data", " Could not set configuration %s" : "Kunne ikke indstille konfigurationen %s", "Action does not exist" : "Handlingen findes ikke", + "The Base DN appears to be wrong" : "Base DN'et ser ud til at være forkert", "Configuration incorrect" : "Konfigurationen er ikke korrekt", "Configuration incomplete" : "Konfigurationen er ikke komplet", "Configuration OK" : "Konfigurationen er OK", @@ -29,6 +31,8 @@ OC.L10N.register( "Confirm Deletion" : "Bekræft sletning", "Mappings cleared successfully!" : "Kortlægningerne blev ryddet af vejen!", "Error while clearing the mappings." : "Fejl under rydning af kortlægninger.", + "Anonymous bind is not allowed. Please provide a User DN and Password." : "Anonyme bindinger tillades ikke. Angiv venligst et User DN og adgangskode.", + "LDAP Operations error. Anonymous bind might not be allowed." : "LDAP-driftsfejl. Anonyme bindinger tillades muligvis ikke.", "Saving failed. Please make sure the database is in Operation. Reload before continuing." : "Lagringen mislykkedes. Sørg venligst for at databasen er i drift. Genindlæs for der fortsættes.", "Switching the mode will enable automatic LDAP queries. Depending on your LDAP size they may take a while. Do you still want to switch the mode?" : "Skift af tilstanden vil betyde aktivering af automatiske LDAP-forespørgsler. Afhængig af størrelsen på din LDAP, vil det kunne tage noget tid. Ønsker du stadig at ændre tilstanden?", "Mode switch" : "Skift af tilstand", diff --git a/apps/user_ldap/l10n/da.json b/apps/user_ldap/l10n/da.json index acd0eaae13e..8ce67102932 100644 --- a/apps/user_ldap/l10n/da.json +++ b/apps/user_ldap/l10n/da.json @@ -1,6 +1,7 @@ { "translations": { "Failed to clear the mappings." : "Mislykkedes med at rydde delingerne.", "Failed to delete the server configuration" : "Kunne ikke slette server konfigurationen", + "The configuration is invalid: anonymous bind is not allowed." : "Konfigurationen er ugyldig: anonyme bindinger tillades ikke.", "The configuration is valid and the connection could be established!" : "Konfigurationen er korrekt og forbindelsen kunne etableres!", "The configuration is valid, but the Bind failed. Please check the server settings and credentials." : "Konfigurationen er gyldig, men forbindelsen mislykkedes. Tjek venligst serverindstillingerne og akkreditiverne.", "The configuration is invalid. Please have a look at the logs for further details." : "Konfigurationen er ugyldig. Se venligst i loggen for yderligere detaljer.", @@ -9,6 +10,7 @@ "No data specified" : "Der er ikke angivet data", " Could not set configuration %s" : "Kunne ikke indstille konfigurationen %s", "Action does not exist" : "Handlingen findes ikke", + "The Base DN appears to be wrong" : "Base DN'et ser ud til at være forkert", "Configuration incorrect" : "Konfigurationen er ikke korrekt", "Configuration incomplete" : "Konfigurationen er ikke komplet", "Configuration OK" : "Konfigurationen er OK", @@ -27,6 +29,8 @@ "Confirm Deletion" : "Bekræft sletning", "Mappings cleared successfully!" : "Kortlægningerne blev ryddet af vejen!", "Error while clearing the mappings." : "Fejl under rydning af kortlægninger.", + "Anonymous bind is not allowed. Please provide a User DN and Password." : "Anonyme bindinger tillades ikke. Angiv venligst et User DN og adgangskode.", + "LDAP Operations error. Anonymous bind might not be allowed." : "LDAP-driftsfejl. Anonyme bindinger tillades muligvis ikke.", "Saving failed. Please make sure the database is in Operation. Reload before continuing." : "Lagringen mislykkedes. Sørg venligst for at databasen er i drift. Genindlæs for der fortsættes.", "Switching the mode will enable automatic LDAP queries. Depending on your LDAP size they may take a while. Do you still want to switch the mode?" : "Skift af tilstanden vil betyde aktivering af automatiske LDAP-forespørgsler. Afhængig af størrelsen på din LDAP, vil det kunne tage noget tid. Ønsker du stadig at ændre tilstanden?", "Mode switch" : "Skift af tilstand", diff --git a/apps/user_ldap/l10n/de.js b/apps/user_ldap/l10n/de.js index c06922818ca..1a2d1de62d4 100644 --- a/apps/user_ldap/l10n/de.js +++ b/apps/user_ldap/l10n/de.js @@ -3,6 +3,7 @@ OC.L10N.register( { "Failed to clear the mappings." : "Löschen der Zuordnungen fehlgeschlagen.", "Failed to delete the server configuration" : "Löschen der Serverkonfiguration fehlgeschlagen", + "The configuration is invalid: anonymous bind is not allowed." : "Die Konfiguration ist ungültig: anonymes binden ist nicht erlaubt.", "The configuration is valid and the connection could be established!" : "Die Konfiguration ist gültig und die Verbindung konnte hergestellt werden!", "The configuration is valid, but the Bind failed. Please check the server settings and credentials." : "Die Konfiguration ist gültig, aber der LDAP-Bind ist fehlgeschlagen. Bitte überprüfe die Servereinstellungen und Anmeldeinformationen.", "The configuration is invalid. Please have a look at the logs for further details." : "Die Konfiguration ist ungültig. Weitere Details kannst Du in den Logdateien nachlesen.", @@ -11,6 +12,7 @@ OC.L10N.register( "No data specified" : "Keine Daten angegeben", " Could not set configuration %s" : "Die Konfiguration %s konnte nicht gesetzt werden", "Action does not exist" : "Aktion existiert nicht", + "The Base DN appears to be wrong" : "Die Base-DN scheint falsch zu sein", "Configuration incorrect" : "Konfiguration nicht korrekt", "Configuration incomplete" : "Konfiguration nicht vollständig", "Configuration OK" : "Konfiguration OK", @@ -29,6 +31,8 @@ OC.L10N.register( "Confirm Deletion" : "Löschen bestätigen", "Mappings cleared successfully!" : "Zuordnungen erfolgreich gelöscht!", "Error while clearing the mappings." : "Fehler beim Löschen der Zuordnungen.", + "Anonymous bind is not allowed. Please provide a User DN and Password." : "Anonymes binden ist nicht erlaubt. Bitte eine Nutzer-DN und ein Passwort angeben.", + "LDAP Operations error. Anonymous bind might not be allowed." : "Fehler in den LDAP-Operationen. Anonymes binden ist scheinbar nicht erlaubt.", "Saving failed. Please make sure the database is in Operation. Reload before continuing." : "Speichern fehlgeschlagen. Bitte stelle sicher, dass die Datenbank in Betrieb ist. Bitte lade vor dem Fortfahren neu.", "Switching the mode will enable automatic LDAP queries. Depending on your LDAP size they may take a while. Do you still want to switch the mode?" : "Das Umschalten des Modus ermöglicht automatische LDAP-Abfragen. Abhängig von Deiner LDAP-Größe können diese einige Zeit in Anspruch nehmen. Willst Du immer noch den Modus wechseln?", "Mode switch" : "Modus umschalten", @@ -74,6 +78,9 @@ OC.L10N.register( "Verify settings" : "Einstellungen überprüfen", "1. Server" : "1. Server", "%s. Server:" : "%s. Server:", + "Adds a new and blank configuration" : "Fügt eine neue und leere Konfiguration hinzu", + "Copy current configuration into new directory binding" : "Aktuelle Konfiguration in eine neues Verzeichnis-Bind kopieren", + "Delete the current configuration" : "Aktuelle Konfiguration löschen", "Host" : "Host", "You can omit the protocol, except you require SSL. Then start with ldaps://" : "Du kannst das Protokoll auslassen, außer wenn Du SSL benötigst. Beginne dann mit ldaps://", "Port" : "Port", diff --git a/apps/user_ldap/l10n/de.json b/apps/user_ldap/l10n/de.json index 7c6cb120559..7a4843900c8 100644 --- a/apps/user_ldap/l10n/de.json +++ b/apps/user_ldap/l10n/de.json @@ -1,6 +1,7 @@ { "translations": { "Failed to clear the mappings." : "Löschen der Zuordnungen fehlgeschlagen.", "Failed to delete the server configuration" : "Löschen der Serverkonfiguration fehlgeschlagen", + "The configuration is invalid: anonymous bind is not allowed." : "Die Konfiguration ist ungültig: anonymes binden ist nicht erlaubt.", "The configuration is valid and the connection could be established!" : "Die Konfiguration ist gültig und die Verbindung konnte hergestellt werden!", "The configuration is valid, but the Bind failed. Please check the server settings and credentials." : "Die Konfiguration ist gültig, aber der LDAP-Bind ist fehlgeschlagen. Bitte überprüfe die Servereinstellungen und Anmeldeinformationen.", "The configuration is invalid. Please have a look at the logs for further details." : "Die Konfiguration ist ungültig. Weitere Details kannst Du in den Logdateien nachlesen.", @@ -9,6 +10,7 @@ "No data specified" : "Keine Daten angegeben", " Could not set configuration %s" : "Die Konfiguration %s konnte nicht gesetzt werden", "Action does not exist" : "Aktion existiert nicht", + "The Base DN appears to be wrong" : "Die Base-DN scheint falsch zu sein", "Configuration incorrect" : "Konfiguration nicht korrekt", "Configuration incomplete" : "Konfiguration nicht vollständig", "Configuration OK" : "Konfiguration OK", @@ -27,6 +29,8 @@ "Confirm Deletion" : "Löschen bestätigen", "Mappings cleared successfully!" : "Zuordnungen erfolgreich gelöscht!", "Error while clearing the mappings." : "Fehler beim Löschen der Zuordnungen.", + "Anonymous bind is not allowed. Please provide a User DN and Password." : "Anonymes binden ist nicht erlaubt. Bitte eine Nutzer-DN und ein Passwort angeben.", + "LDAP Operations error. Anonymous bind might not be allowed." : "Fehler in den LDAP-Operationen. Anonymes binden ist scheinbar nicht erlaubt.", "Saving failed. Please make sure the database is in Operation. Reload before continuing." : "Speichern fehlgeschlagen. Bitte stelle sicher, dass die Datenbank in Betrieb ist. Bitte lade vor dem Fortfahren neu.", "Switching the mode will enable automatic LDAP queries. Depending on your LDAP size they may take a while. Do you still want to switch the mode?" : "Das Umschalten des Modus ermöglicht automatische LDAP-Abfragen. Abhängig von Deiner LDAP-Größe können diese einige Zeit in Anspruch nehmen. Willst Du immer noch den Modus wechseln?", "Mode switch" : "Modus umschalten", @@ -72,6 +76,9 @@ "Verify settings" : "Einstellungen überprüfen", "1. Server" : "1. Server", "%s. Server:" : "%s. Server:", + "Adds a new and blank configuration" : "Fügt eine neue und leere Konfiguration hinzu", + "Copy current configuration into new directory binding" : "Aktuelle Konfiguration in eine neues Verzeichnis-Bind kopieren", + "Delete the current configuration" : "Aktuelle Konfiguration löschen", "Host" : "Host", "You can omit the protocol, except you require SSL. Then start with ldaps://" : "Du kannst das Protokoll auslassen, außer wenn Du SSL benötigst. Beginne dann mit ldaps://", "Port" : "Port", diff --git a/apps/user_ldap/l10n/de_DE.js b/apps/user_ldap/l10n/de_DE.js index 7f36fe64be0..b2dc48efca6 100644 --- a/apps/user_ldap/l10n/de_DE.js +++ b/apps/user_ldap/l10n/de_DE.js @@ -3,6 +3,7 @@ OC.L10N.register( { "Failed to clear the mappings." : "Löschen der Zuordnungen fehlgeschlagen.", "Failed to delete the server configuration" : "Löschen der Serverkonfiguration fehlgeschlagen", + "The configuration is invalid: anonymous bind is not allowed." : "Die Konfiguration ist ungültig: Anonymous Bind ist nicht erlaubt.", "The configuration is valid and the connection could be established!" : "Die Konfiguration ist gültig und die Verbindung konnte hergestellt werden!", "The configuration is valid, but the Bind failed. Please check the server settings and credentials." : "Die Konfiguration ist gültig, aber der LDAP-Bind ist fehlgeschlagen. Bitte überprüfen Sie die Servereinstellungen und die Anmeldeinformationen.", "The configuration is invalid. Please have a look at the logs for further details." : "Die Konfiguration ist ungültig. Weitere Details können Sie in den Logdateien nachlesen.", @@ -11,6 +12,7 @@ OC.L10N.register( "No data specified" : "Keine Daten angegeben", " Could not set configuration %s" : "Die Konfiguration %s konnte nicht gesetzt werden", "Action does not exist" : "Aktion existiert nicht", + "The Base DN appears to be wrong" : "Die Base-DN scheint falsch zu sein", "Configuration incorrect" : "Konfiguration nicht korrekt", "Configuration incomplete" : "Konfiguration nicht vollständig", "Configuration OK" : "Konfiguration OK", @@ -29,6 +31,8 @@ OC.L10N.register( "Confirm Deletion" : "Löschen bestätigen", "Mappings cleared successfully!" : "Zuordnungen erfolgreich gelöscht!", "Error while clearing the mappings." : "Fehler beim Löschen der Zuordnungen.", + "Anonymous bind is not allowed. Please provide a User DN and Password." : "Anonymous Bind ist nicht erlaubt. Bitte geben Sie eine User-DN und ein Passwort angeben.", + "LDAP Operations error. Anonymous bind might not be allowed." : "Fehler in den LDAP-Operationen. Anonymous Bind ist anscheinend nicht erlaubt.", "Saving failed. Please make sure the database is in Operation. Reload before continuing." : "Speichern fehlgeschlagen. Bitte stellen Sie sicher, dass die Datenbank in Betrieb ist. Bitte laden Sie vor dem Fortfahren neu.", "Switching the mode will enable automatic LDAP queries. Depending on your LDAP size they may take a while. Do you still want to switch the mode?" : "Das Umschalten des Modus ermöglicht automatische LDAP-Abfragen. Abhängig von Ihrer LDAP-Größe können diese einige Zeit in Anspruch nehmen. Wollen Sie immer noch den Modus wechseln?", "Mode switch" : "Modus umschalten", @@ -74,6 +78,9 @@ OC.L10N.register( "Verify settings" : "Einstellungen überprüfen", "1. Server" : "1. Server", "%s. Server:" : "%s. Server:", + "Adds a new and blank configuration" : "Fügt eine neue und leere Konfiguration hinzu", + "Copy current configuration into new directory binding" : "Aktuelle Konfiguration in eine neues Verzeichnis-Bind kopieren ", + "Delete the current configuration" : "Aktuelle Konfiguration löschen", "Host" : "Host", "You can omit the protocol, except you require SSL. Then start with ldaps://" : "Sie können das Protokoll auslassen, außer wenn Sie SSL benötigen. Beginnen Sie dann mit ldaps://", "Port" : "Port", diff --git a/apps/user_ldap/l10n/de_DE.json b/apps/user_ldap/l10n/de_DE.json index 27190826a20..e58f29a0b60 100644 --- a/apps/user_ldap/l10n/de_DE.json +++ b/apps/user_ldap/l10n/de_DE.json @@ -1,6 +1,7 @@ { "translations": { "Failed to clear the mappings." : "Löschen der Zuordnungen fehlgeschlagen.", "Failed to delete the server configuration" : "Löschen der Serverkonfiguration fehlgeschlagen", + "The configuration is invalid: anonymous bind is not allowed." : "Die Konfiguration ist ungültig: Anonymous Bind ist nicht erlaubt.", "The configuration is valid and the connection could be established!" : "Die Konfiguration ist gültig und die Verbindung konnte hergestellt werden!", "The configuration is valid, but the Bind failed. Please check the server settings and credentials." : "Die Konfiguration ist gültig, aber der LDAP-Bind ist fehlgeschlagen. Bitte überprüfen Sie die Servereinstellungen und die Anmeldeinformationen.", "The configuration is invalid. Please have a look at the logs for further details." : "Die Konfiguration ist ungültig. Weitere Details können Sie in den Logdateien nachlesen.", @@ -9,6 +10,7 @@ "No data specified" : "Keine Daten angegeben", " Could not set configuration %s" : "Die Konfiguration %s konnte nicht gesetzt werden", "Action does not exist" : "Aktion existiert nicht", + "The Base DN appears to be wrong" : "Die Base-DN scheint falsch zu sein", "Configuration incorrect" : "Konfiguration nicht korrekt", "Configuration incomplete" : "Konfiguration nicht vollständig", "Configuration OK" : "Konfiguration OK", @@ -27,6 +29,8 @@ "Confirm Deletion" : "Löschen bestätigen", "Mappings cleared successfully!" : "Zuordnungen erfolgreich gelöscht!", "Error while clearing the mappings." : "Fehler beim Löschen der Zuordnungen.", + "Anonymous bind is not allowed. Please provide a User DN and Password." : "Anonymous Bind ist nicht erlaubt. Bitte geben Sie eine User-DN und ein Passwort angeben.", + "LDAP Operations error. Anonymous bind might not be allowed." : "Fehler in den LDAP-Operationen. Anonymous Bind ist anscheinend nicht erlaubt.", "Saving failed. Please make sure the database is in Operation. Reload before continuing." : "Speichern fehlgeschlagen. Bitte stellen Sie sicher, dass die Datenbank in Betrieb ist. Bitte laden Sie vor dem Fortfahren neu.", "Switching the mode will enable automatic LDAP queries. Depending on your LDAP size they may take a while. Do you still want to switch the mode?" : "Das Umschalten des Modus ermöglicht automatische LDAP-Abfragen. Abhängig von Ihrer LDAP-Größe können diese einige Zeit in Anspruch nehmen. Wollen Sie immer noch den Modus wechseln?", "Mode switch" : "Modus umschalten", @@ -72,6 +76,9 @@ "Verify settings" : "Einstellungen überprüfen", "1. Server" : "1. Server", "%s. Server:" : "%s. Server:", + "Adds a new and blank configuration" : "Fügt eine neue und leere Konfiguration hinzu", + "Copy current configuration into new directory binding" : "Aktuelle Konfiguration in eine neues Verzeichnis-Bind kopieren ", + "Delete the current configuration" : "Aktuelle Konfiguration löschen", "Host" : "Host", "You can omit the protocol, except you require SSL. Then start with ldaps://" : "Sie können das Protokoll auslassen, außer wenn Sie SSL benötigen. Beginnen Sie dann mit ldaps://", "Port" : "Port", diff --git a/apps/user_ldap/l10n/el.js b/apps/user_ldap/l10n/el.js index 5c22b9c7357..371d1a4e783 100644 --- a/apps/user_ldap/l10n/el.js +++ b/apps/user_ldap/l10n/el.js @@ -12,6 +12,7 @@ OC.L10N.register( "No data specified" : "Δεν προσδιορίστηκαν δεδομένα", " Could not set configuration %s" : "Αδυναμία ρύθμισης %s", "Action does not exist" : "Η ενέργεια δεν υπάρχει", + "The Base DN appears to be wrong" : "Το Base DN φαίνεται να είναι εσφαλμένο", "Configuration incorrect" : "Η διαμόρφωση είναι λανθασμένη", "Configuration incomplete" : "Η διαμόρφωση είναι ελλιπής", "Configuration OK" : "Η διαμόρφωση είναι εντάξει", diff --git a/apps/user_ldap/l10n/el.json b/apps/user_ldap/l10n/el.json index 0c7b6b8009f..7a863409b7d 100644 --- a/apps/user_ldap/l10n/el.json +++ b/apps/user_ldap/l10n/el.json @@ -10,6 +10,7 @@ "No data specified" : "Δεν προσδιορίστηκαν δεδομένα", " Could not set configuration %s" : "Αδυναμία ρύθμισης %s", "Action does not exist" : "Η ενέργεια δεν υπάρχει", + "The Base DN appears to be wrong" : "Το Base DN φαίνεται να είναι εσφαλμένο", "Configuration incorrect" : "Η διαμόρφωση είναι λανθασμένη", "Configuration incomplete" : "Η διαμόρφωση είναι ελλιπής", "Configuration OK" : "Η διαμόρφωση είναι εντάξει", diff --git a/apps/user_ldap/l10n/es.js b/apps/user_ldap/l10n/es.js index 4d80dc78677..373c173f6db 100644 --- a/apps/user_ldap/l10n/es.js +++ b/apps/user_ldap/l10n/es.js @@ -12,6 +12,7 @@ OC.L10N.register( "No data specified" : "No se han especificado los datos", " Could not set configuration %s" : "No se pudo establecer la configuración %s", "Action does not exist" : "La acción no existe.", + "The Base DN appears to be wrong" : "La Base DN parece estar mal", "Configuration incorrect" : "Configuración Incorrecta", "Configuration incomplete" : "Configuración incompleta", "Configuration OK" : "Configuración correcta", @@ -77,6 +78,9 @@ OC.L10N.register( "Verify settings" : "Verificar configuración", "1. Server" : "1. Servidor", "%s. Server:" : "%s. Servidor:", + "Adds a new and blank configuration" : "Añade una configuración nueva y vacía", + "Copy current configuration into new directory binding" : "Copiar la actual configuración en un nuevo directorio de enlace", + "Delete the current configuration" : "Elimina la actual configuración", "Host" : "Servidor", "You can omit the protocol, except you require SSL. Then start with ldaps://" : "Puede omitir el protocolo, excepto si requiere SSL. En ese caso, empiece con ldaps://", "Port" : "Puerto", diff --git a/apps/user_ldap/l10n/es.json b/apps/user_ldap/l10n/es.json index db9d0218c97..10f8e38c131 100644 --- a/apps/user_ldap/l10n/es.json +++ b/apps/user_ldap/l10n/es.json @@ -10,6 +10,7 @@ "No data specified" : "No se han especificado los datos", " Could not set configuration %s" : "No se pudo establecer la configuración %s", "Action does not exist" : "La acción no existe.", + "The Base DN appears to be wrong" : "La Base DN parece estar mal", "Configuration incorrect" : "Configuración Incorrecta", "Configuration incomplete" : "Configuración incompleta", "Configuration OK" : "Configuración correcta", @@ -75,6 +76,9 @@ "Verify settings" : "Verificar configuración", "1. Server" : "1. Servidor", "%s. Server:" : "%s. Servidor:", + "Adds a new and blank configuration" : "Añade una configuración nueva y vacía", + "Copy current configuration into new directory binding" : "Copiar la actual configuración en un nuevo directorio de enlace", + "Delete the current configuration" : "Elimina la actual configuración", "Host" : "Servidor", "You can omit the protocol, except you require SSL. Then start with ldaps://" : "Puede omitir el protocolo, excepto si requiere SSL. En ese caso, empiece con ldaps://", "Port" : "Puerto", diff --git a/apps/user_ldap/l10n/fr.js b/apps/user_ldap/l10n/fr.js index eeb890c70c5..d544c933529 100644 --- a/apps/user_ldap/l10n/fr.js +++ b/apps/user_ldap/l10n/fr.js @@ -3,6 +3,7 @@ OC.L10N.register( { "Failed to clear the mappings." : "Erreur lors de la suppression des associations.", "Failed to delete the server configuration" : "Échec de la suppression de la configuration du serveur", + "The configuration is invalid: anonymous bind is not allowed." : "La configuration n'est pas valide : le lien anonyme n'est pas autorisé.", "The configuration is valid and the connection could be established!" : "La configuration est valide et la connexion peut être établie !", "The configuration is valid, but the Bind failed. Please check the server settings and credentials." : "La configuration est valable, mais le bind a échoué. Veuillez vérifier les paramètres du serveur ainsi que vos identifiants de connexion.", "The configuration is invalid. Please have a look at the logs for further details." : "La configuration n'est pas valable. Veuillez consulter les logs pour plus de détails.", @@ -11,6 +12,7 @@ OC.L10N.register( "No data specified" : "Aucune donnée spécifiée", " Could not set configuration %s" : "Impossible de spécifier la configuration %s", "Action does not exist" : "L'action n'existe pas", + "The Base DN appears to be wrong" : "Le DN de base est erroné", "Configuration incorrect" : "Configuration incorrecte", "Configuration incomplete" : "Configuration incomplète", "Configuration OK" : "Configuration OK", @@ -29,6 +31,8 @@ OC.L10N.register( "Confirm Deletion" : "Confirmer la suppression", "Mappings cleared successfully!" : "Associations supprimées avec succès !", "Error while clearing the mappings." : "Erreur lors de la suppression des associations.", + "Anonymous bind is not allowed. Please provide a User DN and Password." : "Le lien anonyme n'est pas autorisé. Merci de fournir le DN d'un utilisateur et un mot de passe.", + "LDAP Operations error. Anonymous bind might not be allowed." : "Erreur d'opérations LDAP. Peut-être les liens anonymes ne sont-ils pas acceptés?", "Saving failed. Please make sure the database is in Operation. Reload before continuing." : "La sauvegarde a échoué. Veuillez vérifier que la base de données est opérationnelle. Rechargez avant de poursuivre.", "Switching the mode will enable automatic LDAP queries. Depending on your LDAP size they may take a while. Do you still want to switch the mode?" : "Changer de mode activera les requêtes LDAP automatiques. Selon la taille de votre annuaire LDAP, cela peut prendre du temps. Voulez-vous toujours changer de mode ?", "Mode switch" : "Changer de mode", @@ -74,6 +78,9 @@ OC.L10N.register( "Verify settings" : "Tester les paramètres", "1. Server" : "1. Serveur", "%s. Server:" : "%s. Serveur :", + "Adds a new and blank configuration" : "Ajouter une nouvelle configuration vierge", + "Copy current configuration into new directory binding" : "Copier la configuration courante dans un nouveau dossier lié", + "Delete the current configuration" : "Supprimer la configuration actuelle", "Host" : "Hôte", "You can omit the protocol, except you require SSL. Then start with ldaps://" : "Vous pouvez omettre le protocole, sauf si vous avez besoin de SSL. Dans ce cas, préfixez avec ldaps://", "Port" : "Port", diff --git a/apps/user_ldap/l10n/fr.json b/apps/user_ldap/l10n/fr.json index b6c1c9e9985..4b4d2f9ae14 100644 --- a/apps/user_ldap/l10n/fr.json +++ b/apps/user_ldap/l10n/fr.json @@ -1,6 +1,7 @@ { "translations": { "Failed to clear the mappings." : "Erreur lors de la suppression des associations.", "Failed to delete the server configuration" : "Échec de la suppression de la configuration du serveur", + "The configuration is invalid: anonymous bind is not allowed." : "La configuration n'est pas valide : le lien anonyme n'est pas autorisé.", "The configuration is valid and the connection could be established!" : "La configuration est valide et la connexion peut être établie !", "The configuration is valid, but the Bind failed. Please check the server settings and credentials." : "La configuration est valable, mais le bind a échoué. Veuillez vérifier les paramètres du serveur ainsi que vos identifiants de connexion.", "The configuration is invalid. Please have a look at the logs for further details." : "La configuration n'est pas valable. Veuillez consulter les logs pour plus de détails.", @@ -9,6 +10,7 @@ "No data specified" : "Aucune donnée spécifiée", " Could not set configuration %s" : "Impossible de spécifier la configuration %s", "Action does not exist" : "L'action n'existe pas", + "The Base DN appears to be wrong" : "Le DN de base est erroné", "Configuration incorrect" : "Configuration incorrecte", "Configuration incomplete" : "Configuration incomplète", "Configuration OK" : "Configuration OK", @@ -27,6 +29,8 @@ "Confirm Deletion" : "Confirmer la suppression", "Mappings cleared successfully!" : "Associations supprimées avec succès !", "Error while clearing the mappings." : "Erreur lors de la suppression des associations.", + "Anonymous bind is not allowed. Please provide a User DN and Password." : "Le lien anonyme n'est pas autorisé. Merci de fournir le DN d'un utilisateur et un mot de passe.", + "LDAP Operations error. Anonymous bind might not be allowed." : "Erreur d'opérations LDAP. Peut-être les liens anonymes ne sont-ils pas acceptés?", "Saving failed. Please make sure the database is in Operation. Reload before continuing." : "La sauvegarde a échoué. Veuillez vérifier que la base de données est opérationnelle. Rechargez avant de poursuivre.", "Switching the mode will enable automatic LDAP queries. Depending on your LDAP size they may take a while. Do you still want to switch the mode?" : "Changer de mode activera les requêtes LDAP automatiques. Selon la taille de votre annuaire LDAP, cela peut prendre du temps. Voulez-vous toujours changer de mode ?", "Mode switch" : "Changer de mode", @@ -72,6 +76,9 @@ "Verify settings" : "Tester les paramètres", "1. Server" : "1. Serveur", "%s. Server:" : "%s. Serveur :", + "Adds a new and blank configuration" : "Ajouter une nouvelle configuration vierge", + "Copy current configuration into new directory binding" : "Copier la configuration courante dans un nouveau dossier lié", + "Delete the current configuration" : "Supprimer la configuration actuelle", "Host" : "Hôte", "You can omit the protocol, except you require SSL. Then start with ldaps://" : "Vous pouvez omettre le protocole, sauf si vous avez besoin de SSL. Dans ce cas, préfixez avec ldaps://", "Port" : "Port", diff --git a/apps/user_ldap/l10n/gl.js b/apps/user_ldap/l10n/gl.js index 3f49f97a74f..918a14df824 100644 --- a/apps/user_ldap/l10n/gl.js +++ b/apps/user_ldap/l10n/gl.js @@ -12,6 +12,7 @@ OC.L10N.register( "No data specified" : "Non se especificaron datos", " Could not set configuration %s" : "Non foi posíbel estabelecer a configuración %s", "Action does not exist" : "Non existe esta acción", + "The Base DN appears to be wrong" : "O DN base semella ser erróneo", "Configuration incorrect" : "Configuración incorrecta", "Configuration incomplete" : "Configuración incompleta", "Configuration OK" : "Configuración correcta", @@ -77,6 +78,9 @@ OC.L10N.register( "Verify settings" : "Verificar os axustes", "1. Server" : "1. Servidor", "%s. Server:" : "%s. Servidor:", + "Adds a new and blank configuration" : "Engade unha configuración nova e en branco", + "Copy current configuration into new directory binding" : "Copiar a configuración no novo directorio vinculado", + "Delete the current configuration" : "Eliminar a configuración actual", "Host" : "Máquina", "You can omit the protocol, except you require SSL. Then start with ldaps://" : "Pode omitir o protocolo agás que precise de SSL. Nese caso comece con ldaps://", "Port" : "Porto", diff --git a/apps/user_ldap/l10n/gl.json b/apps/user_ldap/l10n/gl.json index 613d2a99cb0..6c8efc6ebbe 100644 --- a/apps/user_ldap/l10n/gl.json +++ b/apps/user_ldap/l10n/gl.json @@ -10,6 +10,7 @@ "No data specified" : "Non se especificaron datos", " Could not set configuration %s" : "Non foi posíbel estabelecer a configuración %s", "Action does not exist" : "Non existe esta acción", + "The Base DN appears to be wrong" : "O DN base semella ser erróneo", "Configuration incorrect" : "Configuración incorrecta", "Configuration incomplete" : "Configuración incompleta", "Configuration OK" : "Configuración correcta", @@ -75,6 +76,9 @@ "Verify settings" : "Verificar os axustes", "1. Server" : "1. Servidor", "%s. Server:" : "%s. Servidor:", + "Adds a new and blank configuration" : "Engade unha configuración nova e en branco", + "Copy current configuration into new directory binding" : "Copiar a configuración no novo directorio vinculado", + "Delete the current configuration" : "Eliminar a configuración actual", "Host" : "Máquina", "You can omit the protocol, except you require SSL. Then start with ldaps://" : "Pode omitir o protocolo agás que precise de SSL. Nese caso comece con ldaps://", "Port" : "Porto", diff --git a/apps/user_ldap/l10n/it.js b/apps/user_ldap/l10n/it.js index 461e69ed3de..4ae5d598f7a 100644 --- a/apps/user_ldap/l10n/it.js +++ b/apps/user_ldap/l10n/it.js @@ -12,6 +12,7 @@ OC.L10N.register( "No data specified" : "Nessun dato specificato", " Could not set configuration %s" : "Impossibile impostare la configurazione %s", "Action does not exist" : "L'azione non esiste", + "The Base DN appears to be wrong" : "Il DN base sembra essere errato", "Configuration incorrect" : "Configurazione non corretta", "Configuration incomplete" : "Configurazione incompleta", "Configuration OK" : "Configurazione corretta", @@ -77,6 +78,8 @@ OC.L10N.register( "Verify settings" : "Verifica impostazioni", "1. Server" : "1. server", "%s. Server:" : "%s. server:", + "Adds a new and blank configuration" : "Aggiunge una nuova configurazione", + "Delete the current configuration" : "Elimina la configurazione attuale", "Host" : "Host", "You can omit the protocol, except you require SSL. Then start with ldaps://" : "È possibile omettere il protocollo, ad eccezione se è necessario SSL. Quindi inizia con ldaps://", "Port" : "Porta", diff --git a/apps/user_ldap/l10n/it.json b/apps/user_ldap/l10n/it.json index 67745abde7f..98243da37f1 100644 --- a/apps/user_ldap/l10n/it.json +++ b/apps/user_ldap/l10n/it.json @@ -10,6 +10,7 @@ "No data specified" : "Nessun dato specificato", " Could not set configuration %s" : "Impossibile impostare la configurazione %s", "Action does not exist" : "L'azione non esiste", + "The Base DN appears to be wrong" : "Il DN base sembra essere errato", "Configuration incorrect" : "Configurazione non corretta", "Configuration incomplete" : "Configurazione incompleta", "Configuration OK" : "Configurazione corretta", @@ -75,6 +76,8 @@ "Verify settings" : "Verifica impostazioni", "1. Server" : "1. server", "%s. Server:" : "%s. server:", + "Adds a new and blank configuration" : "Aggiunge una nuova configurazione", + "Delete the current configuration" : "Elimina la configurazione attuale", "Host" : "Host", "You can omit the protocol, except you require SSL. Then start with ldaps://" : "È possibile omettere il protocollo, ad eccezione se è necessario SSL. Quindi inizia con ldaps://", "Port" : "Porta", diff --git a/apps/user_ldap/l10n/ja.js b/apps/user_ldap/l10n/ja.js index 60c8fce22f6..a6218138d5b 100644 --- a/apps/user_ldap/l10n/ja.js +++ b/apps/user_ldap/l10n/ja.js @@ -11,13 +11,19 @@ OC.L10N.register( "No data specified" : "データが指定されていません", " Could not set configuration %s" : "構成 %s を設定できませんでした", "Action does not exist" : "アクションが存在しません", + "The Base DN appears to be wrong" : "ベース DN が誤っている可能性があります", "Configuration incorrect" : "設定に誤りがあります", "Configuration incomplete" : "設定が不完全です", "Configuration OK" : "設定OK", "Select groups" : "グループを選択", "Select object classes" : "オブジェクトクラスを選択", + "Please check the credentials, they seem to be wrong." : "資格情報が間違っていると思われるため、確認してください。", "Please specify the port, it could not be auto-detected." : "ポートを指定してください。自動認識できません。", + "Base DN could not be auto-detected, please revise credentials, host and port." : "ベース DN を自動検出できませんでした。資格情報、ホスト、ポートを修正してください。", + "Could not detect Base DN, please enter it manually." : "ベース DN を検出できませんでした。手動で入力してください。", "{nthServer}. Server" : "{nthServer}. サーバー", + "No object found in the given Base DN. Please revise." : "指定されたベース DN でオブジェクトを見つけることができませんでした。修正をお願いします。", + "More than 1.000 directory entries available." : "1000 以上のディレクトリエントリが利用可能です。", "Do you really want to delete the current Server Configuration?" : "現在のサーバー設定を本当に削除してもよろしいですか?", "Confirm Deletion" : "削除の確認", "Select attributes" : "属性を選択", @@ -38,6 +44,7 @@ OC.L10N.register( "Selected groups" : "選択されたグループ", "LDAP Filter:" : "LDAP フィルタ:", "The filter specifies which LDAP groups shall have access to the %s instance." : "フィルターは、どの LDAP グループが %s にアクセスするかを指定します。", + "Verify settings and count groups" : "設定を検証し、グループを数える", "LDAP / AD Username:" : "LDAP/ADユーザー名:", "LDAP / AD Email Address:" : "LDAP / AD メールアドレス:", "Other Attributes:" : "その他の属性:", @@ -55,10 +62,13 @@ OC.L10N.register( "For anonymous access, leave DN and Password empty." : "匿名アクセスの場合は、DNとパスワードを空のままにしてください。", "One Base DN per line" : "1行に1つのベースDNを記入", "You can specify Base DN for users and groups in the Advanced tab" : "詳細設定でユーザーとグループのベースDNを指定することができます。", + "Detect Base DN" : "ベース DN を検出", + "Test Base DN" : "ベースDN をテスト", "Avoids automatic LDAP requests. Better for bigger setups, but requires some LDAP knowledge." : "自動的なLDAP問合せを停止します。大規模な設定には適していますが、LDAPの知識が必要になります。", "Manually enter LDAP filters (recommended for large directories)" : "手動でLDAPフィルターを入力(大規模ディレクトリ時のみ推奨)", "Limit %s access to users meeting these criteria:" : "以下のフィルターに適合するユーザーのみ %s へアクセスを許可:", "The filter specifies which LDAP users shall have access to the %s instance." : "フィルターは、どのLDAPユーザーが %s にアクセスするかを指定します。", + "Verify settings and count users" : "設定を検証し、ユーザを数える", "Saving" : "保存中", "Back" : "戻る", "Continue" : "続ける", diff --git a/apps/user_ldap/l10n/ja.json b/apps/user_ldap/l10n/ja.json index 9b8433c18e3..8b7d8389b9a 100644 --- a/apps/user_ldap/l10n/ja.json +++ b/apps/user_ldap/l10n/ja.json @@ -9,13 +9,19 @@ "No data specified" : "データが指定されていません", " Could not set configuration %s" : "構成 %s を設定できませんでした", "Action does not exist" : "アクションが存在しません", + "The Base DN appears to be wrong" : "ベース DN が誤っている可能性があります", "Configuration incorrect" : "設定に誤りがあります", "Configuration incomplete" : "設定が不完全です", "Configuration OK" : "設定OK", "Select groups" : "グループを選択", "Select object classes" : "オブジェクトクラスを選択", + "Please check the credentials, they seem to be wrong." : "資格情報が間違っていると思われるため、確認してください。", "Please specify the port, it could not be auto-detected." : "ポートを指定してください。自動認識できません。", + "Base DN could not be auto-detected, please revise credentials, host and port." : "ベース DN を自動検出できませんでした。資格情報、ホスト、ポートを修正してください。", + "Could not detect Base DN, please enter it manually." : "ベース DN を検出できませんでした。手動で入力してください。", "{nthServer}. Server" : "{nthServer}. サーバー", + "No object found in the given Base DN. Please revise." : "指定されたベース DN でオブジェクトを見つけることができませんでした。修正をお願いします。", + "More than 1.000 directory entries available." : "1000 以上のディレクトリエントリが利用可能です。", "Do you really want to delete the current Server Configuration?" : "現在のサーバー設定を本当に削除してもよろしいですか?", "Confirm Deletion" : "削除の確認", "Select attributes" : "属性を選択", @@ -36,6 +42,7 @@ "Selected groups" : "選択されたグループ", "LDAP Filter:" : "LDAP フィルタ:", "The filter specifies which LDAP groups shall have access to the %s instance." : "フィルターは、どの LDAP グループが %s にアクセスするかを指定します。", + "Verify settings and count groups" : "設定を検証し、グループを数える", "LDAP / AD Username:" : "LDAP/ADユーザー名:", "LDAP / AD Email Address:" : "LDAP / AD メールアドレス:", "Other Attributes:" : "その他の属性:", @@ -53,10 +60,13 @@ "For anonymous access, leave DN and Password empty." : "匿名アクセスの場合は、DNとパスワードを空のままにしてください。", "One Base DN per line" : "1行に1つのベースDNを記入", "You can specify Base DN for users and groups in the Advanced tab" : "詳細設定でユーザーとグループのベースDNを指定することができます。", + "Detect Base DN" : "ベース DN を検出", + "Test Base DN" : "ベースDN をテスト", "Avoids automatic LDAP requests. Better for bigger setups, but requires some LDAP knowledge." : "自動的なLDAP問合せを停止します。大規模な設定には適していますが、LDAPの知識が必要になります。", "Manually enter LDAP filters (recommended for large directories)" : "手動でLDAPフィルターを入力(大規模ディレクトリ時のみ推奨)", "Limit %s access to users meeting these criteria:" : "以下のフィルターに適合するユーザーのみ %s へアクセスを許可:", "The filter specifies which LDAP users shall have access to the %s instance." : "フィルターは、どのLDAPユーザーが %s にアクセスするかを指定します。", + "Verify settings and count users" : "設定を検証し、ユーザを数える", "Saving" : "保存中", "Back" : "戻る", "Continue" : "続ける", diff --git a/apps/user_ldap/l10n/nb_NO.js b/apps/user_ldap/l10n/nb_NO.js index 146efa56dfc..c969be1ce75 100644 --- a/apps/user_ldap/l10n/nb_NO.js +++ b/apps/user_ldap/l10n/nb_NO.js @@ -3,22 +3,49 @@ OC.L10N.register( { "Failed to clear the mappings." : "Klarte ikke å nullstille tilknytningene.", "Failed to delete the server configuration" : "Klarte ikke å slette tjener-konfigurasjonen.", + "The configuration is invalid: anonymous bind is not allowed." : "Konfigurasjonen er ugyldig: Anonym binding er ikke tillatt.", "The configuration is valid and the connection could be established!" : "Konfigurasjonen er i orden og tilkoblingen skal være etablert!", - "The configuration is valid, but the Bind failed. Please check the server settings and credentials." : "Konfigurasjonen er i orden, men Bind mislyktes. Vennligst sjekk tjener-konfigurasjonen og påloggingsinformasjonen.", + "The configuration is valid, but the Bind failed. Please check the server settings and credentials." : "Konfigurasjonen er i orden, men binding mislyktes. Vennligst sjekk tjener-konfigurasjonen og påloggingsinformasjonen.", "The configuration is invalid. Please have a look at the logs for further details." : "Konfigurasjonen er ikke gyldig. Sjekk loggene for flere detaljer.", "No action specified" : "Ingen handling spesifisert", "No configuration specified" : "Ingen konfigurasjon spesifisert", "No data specified" : "Ingen data spesifisert", " Could not set configuration %s" : "Klarte ikke å sette konfigurasjon %s", + "Action does not exist" : "Aksjonen eksisterer ikke", + "The Base DN appears to be wrong" : "Basis-DN ser ut til å være feil", "Configuration incorrect" : "Konfigurasjon feil", "Configuration incomplete" : "Konfigurasjon ufullstendig", "Configuration OK" : "Konfigurasjon OK", "Select groups" : "Velg grupper", "Select object classes" : "Velg objektklasser", + "Please check the credentials, they seem to be wrong." : "Sjekk påloggingsdetaljene; de ser ut til å være feil.", + "Please specify the port, it could not be auto-detected." : "Vennligst spesifiser porten. Den kunne ikke påvises automatisk.", + "Base DN could not be auto-detected, please revise credentials, host and port." : "Basis-DN kunne ikke påvises automatisk. Se igjennom pålogginsdetaljer, vertsnavn og portnummer.", + "Could not detect Base DN, please enter it manually." : "Klarte ikke å påvise basis-DN. Det må skrives inn manuelt.", "{nthServer}. Server" : "{nthServer}. server", + "No object found in the given Base DN. Please revise." : "Intet objekt funnet i angitt basis-DN. Revider oppsettet.", + "More than 1.000 directory entries available." : "Mer enn 1000 katalogoppføringer tilgjengelig.", + " entries available within the provided Base DN" : "oppføringer tilgjengelig innenfor angitt basis-DN", + "An error occurred. Please check the Base DN, as well as connection settings and credentials." : "Det oppstod en feil. Sjekk basis-DN, tilkoblingsoppsett og påloggingsdetaljer.", "Do you really want to delete the current Server Configuration?" : "Er du sikker på at du vil slette aktiv tjener-konfigurasjon?", "Confirm Deletion" : "Bekreft sletting", + "Mappings cleared successfully!" : "Tilknytningene ble nullstilt!", + "Error while clearing the mappings." : "Feil ved nullstilling av tilknytningene.", + "Anonymous bind is not allowed. Please provide a User DN and Password." : "Anonym binding er ikke tillatt. Oppgi en bruker-DN og passord.", + "LDAP Operations error. Anonymous bind might not be allowed." : "Feil ved LDAP-operasjon. Anonym binding er kanskje ikke tillatt.", + "Saving failed. Please make sure the database is in Operation. Reload before continuing." : "Lagring fellet. Forsikre deg om at database er i gang. Last på nytt før du fortsetter.", + "Switching the mode will enable automatic LDAP queries. Depending on your LDAP size they may take a while. Do you still want to switch the mode?" : "Endring av modus vil aktivere automatiske LDAP-spørringer. Avhengig av din LDAP-størrelse kan de ta litt tid. Vil du likevel endre modus?", + "Mode switch" : "Endring av modus", "Select attributes" : "Velg attributter", + "User not found. Please check your login attributes and username. Effective filter (to copy-and-paste for command line validation): <br/>" : "Bruker ikke funnet. Sjekk påloggingsattributtene og brukernavnet. Virksomt filter (kopier og lim inn for validering på kommandolinjen): <br/>", + "User found and settings verified." : "Bruker funnet og innstillingene sjekket.", + "Settings verified, but one user found. Only the first will be able to login. Consider a more narrow filter." : "Innstillinger sjekket, men en bruker funnet. Kun den første vil kunne logge inn. Vurder et smalere filter.", + "An unspecified error occurred. Please check the settings and the log." : "En uspesifisert feil oppstod. Sjekk innstillingene og loggen.", + "The search filter is invalid, probably due to syntax issues like uneven number of opened and closed brackets. Please revise." : "Søkefilteret er ugyldig, antakelig pga. syntaksproblemer som ulikt antall start- og sluttparenteser. Vennligst sjekk.", + "A connection error to LDAP / AD occurred, please check host, port and credentials." : "Det oppstod en feil ved tilkobling til LDAP / AD. Sjekk vertsnavn, portnummer og påloggingsdetaljer.", + "The %uid placeholder is missing. It will be replaced with the login name when querying LDAP / AD." : "Plassholder %uid mangler. Den erstattes av påloggingsnavnet ved spørring mot LDAP / AD.", + "Please provide a login name to test against" : "Vennligst oppgi et påloggingsnavn å teste mot", + "The group box was disabled, because the LDAP / AD server does not support memberOf." : "Gruppeboksen ble deaktivert fordi LDAP- / AD-serveren ikke støtter memberOf.", "_%s group found_::_%s groups found_" : ["%s gruppe funnet","%s grupper funnet"], "_%s user found_::_%s users found_" : ["%s bruker funnet","%s brukere funnet"], "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.", @@ -26,28 +53,52 @@ OC.L10N.register( "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:", + "Only these object classes:" : "Kun disse objektklassene:", + "Only from these groups:" : "Kun fra disse gruppene:", + "Search groups" : "Søk i grupper", + "Available groups" : "Tilgjengelige grupper", + "Selected groups" : "Valgte grupper", + "Edit LDAP Query" : "Rediger LDAP-spørring", + "LDAP Filter:" : "LDAP-filter:", "The filter specifies which LDAP groups shall have access to the %s instance." : "Filteret spesifiserer hvilke LDAP-grupper som skal ha tilgang til %s-instansen.", + "Verify settings and count groups" : "Sjekk innstillinger og tell grupper", + "When logging in, %s will find the user based on the following attributes:" : "Ved pålogging vil %s finne brukeren basert på følgende attributter:", + "LDAP / AD Username:" : "LDAP / AD brukernavn:", + "Allows login against the LDAP / AD username, which is either uid or samaccountname and will be detected." : "Tillater pålogging med LDAP / AD brukernavn, som er enten uid eller samaccountname og vil bli oppdaget.", + "LDAP / AD Email Address:" : "LDAP / AD Epost-adresse:", + "Allows login against an email attribute. Mail and mailPrimaryAddress will be allowed." : "Log alltid på med en epost-attributt. Mail og mailPrimaryAddress vil være tillatt.", "Other Attributes:" : "Andre attributter:", "Defines the filter to apply, when login is attempted. %%uid replaces the username in the login action. Example: \"uid=%%uid\"" : "Definerer filteret som skal brukes når noen prøver å logge inn. %%uid erstatter brukernavnet i innloggingen. Eksempel: \"uid=%%uid\"", + "Test Loginname" : "Test påloggingsnavn", + "Verify settings" : "Sjekk innstillinger", "1. Server" : "1. server", "%s. Server:" : "%s. server:", + "Adds a new and blank configuration" : "Legger til en ny tom konfigurasjon", + "Copy current configuration into new directory binding" : "Kopier gjeldende konfigurasjon til ny katalogbinding", + "Delete the current configuration" : "Slett gjeldende konfigurasjon", "Host" : "Tjener", "You can omit the protocol, except you require SSL. Then start with ldaps://" : "Du kan utelate protokollen, men du er påkrevd å bruke SSL. Deretter starte med ldaps://", "Port" : "Port", + "Detect Port" : "Påvis port", "User DN" : "Bruker DN", - "The DN of the client user with which the bind shall be done, e.g. uid=agent,dc=example,dc=com. For anonymous access, leave DN and Password empty." : "DN nummeret til klienten som skal bindes til, f.eks. uid=agent,dc=example,dc=com. For anonym tilgang, la DN- og passord-feltet stå tomt.", + "The DN of the client user with which the bind shall be done, e.g. uid=agent,dc=example,dc=com. For anonymous access, leave DN and Password empty." : "DN for klientbrukeren som binding skal gjøres med, f.eks. uid=agent,dc=example,dc=com. For anonym tilgang, la DN og passord stå tomme.", "Password" : "Passord", "For anonymous access, leave DN and Password empty." : "For anonym tilgang, la DN- og passord-feltet stå tomt.", - "One Base DN per line" : "En hoved-DN pr. linje", - "You can specify Base DN for users and groups in the Advanced tab" : "Du kan spesifisere hoved-DN for brukere og grupper under Avansert fanen", + "One Base DN per line" : "En basis-DN pr. linje", + "You can specify Base DN for users and groups in the Advanced tab" : "Du kan spesifisere basis-DN for brukere og grupper under Avansert fanen", + "Detect Base DN" : "Påvis basis-DN", + "Test Base DN" : "Test basis-DN", "Avoids automatic LDAP requests. Better for bigger setups, but requires some LDAP knowledge." : "Unngår automatiske LDAP-forespørsler. Bedre for store oppsett men krever litt LDAP-kunnskap.", "Manually enter LDAP filters (recommended for large directories)" : "Legg inn LDAP-filtre manuelt (anbefalt for store kataloger)", "Limit %s access to users meeting these criteria:" : "Begrens %s-tilgang til brukere som tilfredsstiller disse kriteriene:", + "The most common object classes for users are organizationalPerson, person, user, and inetOrgPerson. If you are not sure which object class to select, please consult your directory admin." : "De mest vanlige objektklassene for brukere er organizationalPerson, person, user og inetOrgPerson. Kontakt katalogadministratoren hvis du er usikker på hvilken objektklasse du skal velge.", "The filter specifies which LDAP users shall have access to the %s instance." : "Filteret spesifiserer hvilke LDAP-brukere som skal ha tilgang til %s-instansen.", + "Verify settings and count users" : "Sjekk innstillinger og tell brukere", "Saving" : "Lagrer", "Back" : "Tilbake", "Continue" : "Fortsett", @@ -69,7 +120,7 @@ OC.L10N.register( "Not recommended, use it for testing only! If connection only works with this option, import the LDAP server's SSL certificate in your %s server." : "Ikke anbefalt, bruk kun for testing! Hvis tilkobling bare virker med dette valget, importer LDAP-tjenerens SSL-sertifikat i %s-serveren din.", "Cache Time-To-Live" : "Levetid i mellomlager", "in seconds. A change empties the cache." : "i sekunder. En endring tømmer bufferen.", - "Directory Settings" : "Innstillinger for Katalog", + "Directory Settings" : "Innstillinger for katalog", "User Display Name Field" : "Felt med brukerens visningsnavn", "The LDAP attribute to use to generate the user's display name." : "LDAP-attributten som skal brukes til å generere brukerens visningsnavn.", "Base User Tree" : "Basis for bruker-tre", diff --git a/apps/user_ldap/l10n/nb_NO.json b/apps/user_ldap/l10n/nb_NO.json index 82950c884cb..7a34b813ad8 100644 --- a/apps/user_ldap/l10n/nb_NO.json +++ b/apps/user_ldap/l10n/nb_NO.json @@ -1,22 +1,49 @@ { "translations": { "Failed to clear the mappings." : "Klarte ikke å nullstille tilknytningene.", "Failed to delete the server configuration" : "Klarte ikke å slette tjener-konfigurasjonen.", + "The configuration is invalid: anonymous bind is not allowed." : "Konfigurasjonen er ugyldig: Anonym binding er ikke tillatt.", "The configuration is valid and the connection could be established!" : "Konfigurasjonen er i orden og tilkoblingen skal være etablert!", - "The configuration is valid, but the Bind failed. Please check the server settings and credentials." : "Konfigurasjonen er i orden, men Bind mislyktes. Vennligst sjekk tjener-konfigurasjonen og påloggingsinformasjonen.", + "The configuration is valid, but the Bind failed. Please check the server settings and credentials." : "Konfigurasjonen er i orden, men binding mislyktes. Vennligst sjekk tjener-konfigurasjonen og påloggingsinformasjonen.", "The configuration is invalid. Please have a look at the logs for further details." : "Konfigurasjonen er ikke gyldig. Sjekk loggene for flere detaljer.", "No action specified" : "Ingen handling spesifisert", "No configuration specified" : "Ingen konfigurasjon spesifisert", "No data specified" : "Ingen data spesifisert", " Could not set configuration %s" : "Klarte ikke å sette konfigurasjon %s", + "Action does not exist" : "Aksjonen eksisterer ikke", + "The Base DN appears to be wrong" : "Basis-DN ser ut til å være feil", "Configuration incorrect" : "Konfigurasjon feil", "Configuration incomplete" : "Konfigurasjon ufullstendig", "Configuration OK" : "Konfigurasjon OK", "Select groups" : "Velg grupper", "Select object classes" : "Velg objektklasser", + "Please check the credentials, they seem to be wrong." : "Sjekk påloggingsdetaljene; de ser ut til å være feil.", + "Please specify the port, it could not be auto-detected." : "Vennligst spesifiser porten. Den kunne ikke påvises automatisk.", + "Base DN could not be auto-detected, please revise credentials, host and port." : "Basis-DN kunne ikke påvises automatisk. Se igjennom pålogginsdetaljer, vertsnavn og portnummer.", + "Could not detect Base DN, please enter it manually." : "Klarte ikke å påvise basis-DN. Det må skrives inn manuelt.", "{nthServer}. Server" : "{nthServer}. server", + "No object found in the given Base DN. Please revise." : "Intet objekt funnet i angitt basis-DN. Revider oppsettet.", + "More than 1.000 directory entries available." : "Mer enn 1000 katalogoppføringer tilgjengelig.", + " entries available within the provided Base DN" : "oppføringer tilgjengelig innenfor angitt basis-DN", + "An error occurred. Please check the Base DN, as well as connection settings and credentials." : "Det oppstod en feil. Sjekk basis-DN, tilkoblingsoppsett og påloggingsdetaljer.", "Do you really want to delete the current Server Configuration?" : "Er du sikker på at du vil slette aktiv tjener-konfigurasjon?", "Confirm Deletion" : "Bekreft sletting", + "Mappings cleared successfully!" : "Tilknytningene ble nullstilt!", + "Error while clearing the mappings." : "Feil ved nullstilling av tilknytningene.", + "Anonymous bind is not allowed. Please provide a User DN and Password." : "Anonym binding er ikke tillatt. Oppgi en bruker-DN og passord.", + "LDAP Operations error. Anonymous bind might not be allowed." : "Feil ved LDAP-operasjon. Anonym binding er kanskje ikke tillatt.", + "Saving failed. Please make sure the database is in Operation. Reload before continuing." : "Lagring fellet. Forsikre deg om at database er i gang. Last på nytt før du fortsetter.", + "Switching the mode will enable automatic LDAP queries. Depending on your LDAP size they may take a while. Do you still want to switch the mode?" : "Endring av modus vil aktivere automatiske LDAP-spørringer. Avhengig av din LDAP-størrelse kan de ta litt tid. Vil du likevel endre modus?", + "Mode switch" : "Endring av modus", "Select attributes" : "Velg attributter", + "User not found. Please check your login attributes and username. Effective filter (to copy-and-paste for command line validation): <br/>" : "Bruker ikke funnet. Sjekk påloggingsattributtene og brukernavnet. Virksomt filter (kopier og lim inn for validering på kommandolinjen): <br/>", + "User found and settings verified." : "Bruker funnet og innstillingene sjekket.", + "Settings verified, but one user found. Only the first will be able to login. Consider a more narrow filter." : "Innstillinger sjekket, men en bruker funnet. Kun den første vil kunne logge inn. Vurder et smalere filter.", + "An unspecified error occurred. Please check the settings and the log." : "En uspesifisert feil oppstod. Sjekk innstillingene og loggen.", + "The search filter is invalid, probably due to syntax issues like uneven number of opened and closed brackets. Please revise." : "Søkefilteret er ugyldig, antakelig pga. syntaksproblemer som ulikt antall start- og sluttparenteser. Vennligst sjekk.", + "A connection error to LDAP / AD occurred, please check host, port and credentials." : "Det oppstod en feil ved tilkobling til LDAP / AD. Sjekk vertsnavn, portnummer og påloggingsdetaljer.", + "The %uid placeholder is missing. It will be replaced with the login name when querying LDAP / AD." : "Plassholder %uid mangler. Den erstattes av påloggingsnavnet ved spørring mot LDAP / AD.", + "Please provide a login name to test against" : "Vennligst oppgi et påloggingsnavn å teste mot", + "The group box was disabled, because the LDAP / AD server does not support memberOf." : "Gruppeboksen ble deaktivert fordi LDAP- / AD-serveren ikke støtter memberOf.", "_%s group found_::_%s groups found_" : ["%s gruppe funnet","%s grupper funnet"], "_%s user found_::_%s users found_" : ["%s bruker funnet","%s brukere funnet"], "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.", @@ -24,28 +51,52 @@ "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:", + "Only these object classes:" : "Kun disse objektklassene:", + "Only from these groups:" : "Kun fra disse gruppene:", + "Search groups" : "Søk i grupper", + "Available groups" : "Tilgjengelige grupper", + "Selected groups" : "Valgte grupper", + "Edit LDAP Query" : "Rediger LDAP-spørring", + "LDAP Filter:" : "LDAP-filter:", "The filter specifies which LDAP groups shall have access to the %s instance." : "Filteret spesifiserer hvilke LDAP-grupper som skal ha tilgang til %s-instansen.", + "Verify settings and count groups" : "Sjekk innstillinger og tell grupper", + "When logging in, %s will find the user based on the following attributes:" : "Ved pålogging vil %s finne brukeren basert på følgende attributter:", + "LDAP / AD Username:" : "LDAP / AD brukernavn:", + "Allows login against the LDAP / AD username, which is either uid or samaccountname and will be detected." : "Tillater pålogging med LDAP / AD brukernavn, som er enten uid eller samaccountname og vil bli oppdaget.", + "LDAP / AD Email Address:" : "LDAP / AD Epost-adresse:", + "Allows login against an email attribute. Mail and mailPrimaryAddress will be allowed." : "Log alltid på med en epost-attributt. Mail og mailPrimaryAddress vil være tillatt.", "Other Attributes:" : "Andre attributter:", "Defines the filter to apply, when login is attempted. %%uid replaces the username in the login action. Example: \"uid=%%uid\"" : "Definerer filteret som skal brukes når noen prøver å logge inn. %%uid erstatter brukernavnet i innloggingen. Eksempel: \"uid=%%uid\"", + "Test Loginname" : "Test påloggingsnavn", + "Verify settings" : "Sjekk innstillinger", "1. Server" : "1. server", "%s. Server:" : "%s. server:", + "Adds a new and blank configuration" : "Legger til en ny tom konfigurasjon", + "Copy current configuration into new directory binding" : "Kopier gjeldende konfigurasjon til ny katalogbinding", + "Delete the current configuration" : "Slett gjeldende konfigurasjon", "Host" : "Tjener", "You can omit the protocol, except you require SSL. Then start with ldaps://" : "Du kan utelate protokollen, men du er påkrevd å bruke SSL. Deretter starte med ldaps://", "Port" : "Port", + "Detect Port" : "Påvis port", "User DN" : "Bruker DN", - "The DN of the client user with which the bind shall be done, e.g. uid=agent,dc=example,dc=com. For anonymous access, leave DN and Password empty." : "DN nummeret til klienten som skal bindes til, f.eks. uid=agent,dc=example,dc=com. For anonym tilgang, la DN- og passord-feltet stå tomt.", + "The DN of the client user with which the bind shall be done, e.g. uid=agent,dc=example,dc=com. For anonymous access, leave DN and Password empty." : "DN for klientbrukeren som binding skal gjøres med, f.eks. uid=agent,dc=example,dc=com. For anonym tilgang, la DN og passord stå tomme.", "Password" : "Passord", "For anonymous access, leave DN and Password empty." : "For anonym tilgang, la DN- og passord-feltet stå tomt.", - "One Base DN per line" : "En hoved-DN pr. linje", - "You can specify Base DN for users and groups in the Advanced tab" : "Du kan spesifisere hoved-DN for brukere og grupper under Avansert fanen", + "One Base DN per line" : "En basis-DN pr. linje", + "You can specify Base DN for users and groups in the Advanced tab" : "Du kan spesifisere basis-DN for brukere og grupper under Avansert fanen", + "Detect Base DN" : "Påvis basis-DN", + "Test Base DN" : "Test basis-DN", "Avoids automatic LDAP requests. Better for bigger setups, but requires some LDAP knowledge." : "Unngår automatiske LDAP-forespørsler. Bedre for store oppsett men krever litt LDAP-kunnskap.", "Manually enter LDAP filters (recommended for large directories)" : "Legg inn LDAP-filtre manuelt (anbefalt for store kataloger)", "Limit %s access to users meeting these criteria:" : "Begrens %s-tilgang til brukere som tilfredsstiller disse kriteriene:", + "The most common object classes for users are organizationalPerson, person, user, and inetOrgPerson. If you are not sure which object class to select, please consult your directory admin." : "De mest vanlige objektklassene for brukere er organizationalPerson, person, user og inetOrgPerson. Kontakt katalogadministratoren hvis du er usikker på hvilken objektklasse du skal velge.", "The filter specifies which LDAP users shall have access to the %s instance." : "Filteret spesifiserer hvilke LDAP-brukere som skal ha tilgang til %s-instansen.", + "Verify settings and count users" : "Sjekk innstillinger og tell brukere", "Saving" : "Lagrer", "Back" : "Tilbake", "Continue" : "Fortsett", @@ -67,7 +118,7 @@ "Not recommended, use it for testing only! If connection only works with this option, import the LDAP server's SSL certificate in your %s server." : "Ikke anbefalt, bruk kun for testing! Hvis tilkobling bare virker med dette valget, importer LDAP-tjenerens SSL-sertifikat i %s-serveren din.", "Cache Time-To-Live" : "Levetid i mellomlager", "in seconds. A change empties the cache." : "i sekunder. En endring tømmer bufferen.", - "Directory Settings" : "Innstillinger for Katalog", + "Directory Settings" : "Innstillinger for katalog", "User Display Name Field" : "Felt med brukerens visningsnavn", "The LDAP attribute to use to generate the user's display name." : "LDAP-attributten som skal brukes til å generere brukerens visningsnavn.", "Base User Tree" : "Basis for bruker-tre", diff --git a/apps/user_ldap/l10n/nl.js b/apps/user_ldap/l10n/nl.js index 30c897c82b2..7e72b002a87 100644 --- a/apps/user_ldap/l10n/nl.js +++ b/apps/user_ldap/l10n/nl.js @@ -12,6 +12,7 @@ OC.L10N.register( "No data specified" : "Geen gegevens verstrekt", " Could not set configuration %s" : "Kon configuratie %s niet instellen", "Action does not exist" : "Actie bestaat niet", + "The Base DN appears to be wrong" : "De Basis DN lijkt onjuist", "Configuration incorrect" : "Configuratie onjuist", "Configuration incomplete" : "Configuratie incompleet", "Configuration OK" : "Configuratie OK", @@ -77,6 +78,9 @@ OC.L10N.register( "Verify settings" : "Verifiëren instellingen", "1. Server" : "1. Server", "%s. Server:" : "%s. Server:", + "Adds a new and blank configuration" : "Toevoegen blanco nieuwe configuratie", + "Copy current configuration into new directory binding" : "Kopieer de huidige configuratie naar een nieuwe directory binding", + "Delete the current configuration" : "Verwijder de huidige configuratie", "Host" : "Host", "You can omit the protocol, except you require SSL. Then start with ldaps://" : "Je kunt het protocol weglaten, tenzij je SSL vereist. Start in dat geval met ldaps://", "Port" : "Poort", diff --git a/apps/user_ldap/l10n/nl.json b/apps/user_ldap/l10n/nl.json index 3b2c19e86a2..415454da435 100644 --- a/apps/user_ldap/l10n/nl.json +++ b/apps/user_ldap/l10n/nl.json @@ -10,6 +10,7 @@ "No data specified" : "Geen gegevens verstrekt", " Could not set configuration %s" : "Kon configuratie %s niet instellen", "Action does not exist" : "Actie bestaat niet", + "The Base DN appears to be wrong" : "De Basis DN lijkt onjuist", "Configuration incorrect" : "Configuratie onjuist", "Configuration incomplete" : "Configuratie incompleet", "Configuration OK" : "Configuratie OK", @@ -75,6 +76,9 @@ "Verify settings" : "Verifiëren instellingen", "1. Server" : "1. Server", "%s. Server:" : "%s. Server:", + "Adds a new and blank configuration" : "Toevoegen blanco nieuwe configuratie", + "Copy current configuration into new directory binding" : "Kopieer de huidige configuratie naar een nieuwe directory binding", + "Delete the current configuration" : "Verwijder de huidige configuratie", "Host" : "Host", "You can omit the protocol, except you require SSL. Then start with ldaps://" : "Je kunt het protocol weglaten, tenzij je SSL vereist. Start in dat geval met ldaps://", "Port" : "Poort", diff --git a/apps/user_ldap/l10n/pt_BR.js b/apps/user_ldap/l10n/pt_BR.js index 37d5de96d38..2ee1f13da76 100644 --- a/apps/user_ldap/l10n/pt_BR.js +++ b/apps/user_ldap/l10n/pt_BR.js @@ -3,6 +3,7 @@ OC.L10N.register( { "Failed to clear the mappings." : "Falha ao limpar os mapeamentos.", "Failed to delete the server configuration" : "Falha ao deletar a configuração do servidor", + "The configuration is invalid: anonymous bind is not allowed." : "A configuração é inválida: vínculo anônimo não é permitido.", "The configuration is valid and the connection could be established!" : "A configuração é válida e a conexão foi estabelecida!", "The configuration is valid, but the Bind failed. Please check the server settings and credentials." : "A configuração é válida, mas o Bind falhou. Confira as configurações do servidor e as credenciais.", "The configuration is invalid. Please have a look at the logs for further details." : "Configuração inválida. Por favor, dê uma olhada nos logs para mais detalhes.", @@ -11,6 +12,7 @@ OC.L10N.register( "No data specified" : "Não há dados especificados", " Could not set configuration %s" : "Não foi possível definir a configuração %s", "Action does not exist" : "A ação não existe", + "The Base DN appears to be wrong" : "O DN de base parece estar errado", "Configuration incorrect" : "Configuração incorreta", "Configuration incomplete" : "Configuração incompleta", "Configuration OK" : "Configuração OK", @@ -29,6 +31,8 @@ OC.L10N.register( "Confirm Deletion" : "Confirmar Exclusão", "Mappings cleared successfully!" : "Limpeza do mapeamento feita com sucesso!", "Error while clearing the mappings." : "Erro enquanto limpava os mapeamentos.", + "Anonymous bind is not allowed. Please provide a User DN and Password." : "Vínculo anônimo não é permitido. Por favor, forneça um DN do usuário e senha.", + "LDAP Operations error. Anonymous bind might not be allowed." : "Erro Operações LDAP. Vínculo anônimo pode não ser permitido.", "Saving failed. Please make sure the database is in Operation. Reload before continuing." : "Falha ao gravar. Por favor, verifique se o banco de dados está em operação. Atualize antes de continuar.", "Switching the mode will enable automatic LDAP queries. Depending on your LDAP size they may take a while. Do you still want to switch the mode?" : "Mudar o modo irá permitir consultas LDAP automáticas. Dependendo do tamanho do LDAP isso pode demorar um pouco. Você ainda quer mudar o modo?", "Mode switch" : "Troca de modo", @@ -74,6 +78,9 @@ OC.L10N.register( "Verify settings" : "Verificar configurações", "1. Server" : "1. Servidor", "%s. Server:" : "%s. Servidor:", + "Adds a new and blank configuration" : "Adiciona uma configuração nova e em branco", + "Copy current configuration into new directory binding" : "Copie a configuração atual em um novo diretório obrigatório", + "Delete the current configuration" : "Excluir a configuração atual", "Host" : "Host", "You can omit the protocol, except you require SSL. Then start with ldaps://" : "Você pode omitir o protocolo, exceto quando requerer SSL. Então inicie com ldaps://", "Port" : "Porta", diff --git a/apps/user_ldap/l10n/pt_BR.json b/apps/user_ldap/l10n/pt_BR.json index 5980b372c8b..a0f3f79a352 100644 --- a/apps/user_ldap/l10n/pt_BR.json +++ b/apps/user_ldap/l10n/pt_BR.json @@ -1,6 +1,7 @@ { "translations": { "Failed to clear the mappings." : "Falha ao limpar os mapeamentos.", "Failed to delete the server configuration" : "Falha ao deletar a configuração do servidor", + "The configuration is invalid: anonymous bind is not allowed." : "A configuração é inválida: vínculo anônimo não é permitido.", "The configuration is valid and the connection could be established!" : "A configuração é válida e a conexão foi estabelecida!", "The configuration is valid, but the Bind failed. Please check the server settings and credentials." : "A configuração é válida, mas o Bind falhou. Confira as configurações do servidor e as credenciais.", "The configuration is invalid. Please have a look at the logs for further details." : "Configuração inválida. Por favor, dê uma olhada nos logs para mais detalhes.", @@ -9,6 +10,7 @@ "No data specified" : "Não há dados especificados", " Could not set configuration %s" : "Não foi possível definir a configuração %s", "Action does not exist" : "A ação não existe", + "The Base DN appears to be wrong" : "O DN de base parece estar errado", "Configuration incorrect" : "Configuração incorreta", "Configuration incomplete" : "Configuração incompleta", "Configuration OK" : "Configuração OK", @@ -27,6 +29,8 @@ "Confirm Deletion" : "Confirmar Exclusão", "Mappings cleared successfully!" : "Limpeza do mapeamento feita com sucesso!", "Error while clearing the mappings." : "Erro enquanto limpava os mapeamentos.", + "Anonymous bind is not allowed. Please provide a User DN and Password." : "Vínculo anônimo não é permitido. Por favor, forneça um DN do usuário e senha.", + "LDAP Operations error. Anonymous bind might not be allowed." : "Erro Operações LDAP. Vínculo anônimo pode não ser permitido.", "Saving failed. Please make sure the database is in Operation. Reload before continuing." : "Falha ao gravar. Por favor, verifique se o banco de dados está em operação. Atualize antes de continuar.", "Switching the mode will enable automatic LDAP queries. Depending on your LDAP size they may take a while. Do you still want to switch the mode?" : "Mudar o modo irá permitir consultas LDAP automáticas. Dependendo do tamanho do LDAP isso pode demorar um pouco. Você ainda quer mudar o modo?", "Mode switch" : "Troca de modo", @@ -72,6 +76,9 @@ "Verify settings" : "Verificar configurações", "1. Server" : "1. Servidor", "%s. Server:" : "%s. Servidor:", + "Adds a new and blank configuration" : "Adiciona uma configuração nova e em branco", + "Copy current configuration into new directory binding" : "Copie a configuração atual em um novo diretório obrigatório", + "Delete the current configuration" : "Excluir a configuração atual", "Host" : "Host", "You can omit the protocol, except you require SSL. Then start with ldaps://" : "Você pode omitir o protocolo, exceto quando requerer SSL. Então inicie com ldaps://", "Port" : "Porta", diff --git a/apps/user_ldap/l10n/pt_PT.js b/apps/user_ldap/l10n/pt_PT.js index 55cccb28022..34fa399e686 100644 --- a/apps/user_ldap/l10n/pt_PT.js +++ b/apps/user_ldap/l10n/pt_PT.js @@ -11,14 +11,26 @@ OC.L10N.register( "No data specified" : "Nenhuma data especificada", " Could not set configuration %s" : "Não foi possível definir a configuração %s", "Action does not exist" : "Não existe esta acção", + "The Base DN appears to be wrong" : "O ND de base parece estar errado", "Configuration incorrect" : "Configuração incorreta", "Configuration incomplete" : "Configuração incompleta", "Configuration OK" : "Configuração OK", "Select groups" : "Seleccionar grupos", "Select object classes" : "Selecionar classes de objetos", + "Please check the credentials, they seem to be wrong." : "Por favor verifique as credenciais, parecem estar erradas.", + "Please specify the port, it could not be auto-detected." : "Por favor especifique a porta, não pode ser detetada automaticamente.", + "Base DN could not be auto-detected, please revise credentials, host and port." : "O ND de base não pode ser detetado automaticamente, por favor verifique as credenciais, host e porta.", + "Could not detect Base DN, please enter it manually." : "Não foi possível detetar o ND de base, por favor introduza-o manualmente.", "{nthServer}. Server" : "{nthServer}. Servidor", + "More than 1.000 directory entries available." : "Mais de 1,000 entradas de diretório disponíveis.", + " entries available within the provided Base DN" : "entradas disponíveis no ND de base fornecido", + "An error occurred. Please check the Base DN, as well as connection settings and credentials." : "Ocorreu um erro. Por favor verifique o ND de base, bem como as definições de ligação e as credenciais.", "Do you really want to delete the current Server Configuration?" : "Deseja realmente apagar as configurações de servidor actuais?", "Confirm Deletion" : "Confirmar a operação de apagar", + "Mappings cleared successfully!" : "Mapas limpos com sucesso!", + "Error while clearing the mappings." : "Erro a limpar os mapas.", + "Anonymous bind is not allowed. Please provide a User DN and Password." : "Ligação anónima não permitida. Por favor forneça um ND de utilizador e password.", + "LDAP Operations error. Anonymous bind might not be allowed." : "Erro de operações LDAP. Ligação anónima pode não ser permitida.", "Select attributes" : "Selecionar atributos", "_%s group found_::_%s groups found_" : ["%s grupo encontrado","%s grupos encontrados"], "_%s user found_::_%s users found_" : ["%s utilizador encontrado","%s utilizadores encontrados"], @@ -34,11 +46,13 @@ OC.L10N.register( "The filter specifies which LDAP groups shall have access to the %s instance." : "O filtro especifica quais grupos LDAP devem ter acesso à instância %s.", "Other Attributes:" : "Outros Atributos:", "Defines the filter to apply, when login is attempted. %%uid replaces the username in the login action. Example: \"uid=%%uid\"" : "Define o filtro a aplicar, quando se tenta uma sessão. %%uid substitui o nome de utilizador na ação de início de sessão. Exemplo: \"uid=%%uid\"", + "Verify settings" : "Verificar definições", "1. Server" : "1. Servidor", "%s. Server:" : "%s. Servvidor", "Host" : "Anfitrião", "You can omit the protocol, except you require SSL. Then start with ldaps://" : "Pode omitir o protocolo, excepto se necessitar de SSL. Neste caso, comece com ldaps://", "Port" : "Porto", + "Detect Port" : "Detetar porta", "User DN" : "DN do utilizador", "The DN of the client user with which the bind shall be done, e.g. uid=agent,dc=example,dc=com. For anonymous access, leave DN and Password empty." : "O DN to cliente ", "Password" : "Password", diff --git a/apps/user_ldap/l10n/pt_PT.json b/apps/user_ldap/l10n/pt_PT.json index 2b0c81a96f4..920ceea7d60 100644 --- a/apps/user_ldap/l10n/pt_PT.json +++ b/apps/user_ldap/l10n/pt_PT.json @@ -9,14 +9,26 @@ "No data specified" : "Nenhuma data especificada", " Could not set configuration %s" : "Não foi possível definir a configuração %s", "Action does not exist" : "Não existe esta acção", + "The Base DN appears to be wrong" : "O ND de base parece estar errado", "Configuration incorrect" : "Configuração incorreta", "Configuration incomplete" : "Configuração incompleta", "Configuration OK" : "Configuração OK", "Select groups" : "Seleccionar grupos", "Select object classes" : "Selecionar classes de objetos", + "Please check the credentials, they seem to be wrong." : "Por favor verifique as credenciais, parecem estar erradas.", + "Please specify the port, it could not be auto-detected." : "Por favor especifique a porta, não pode ser detetada automaticamente.", + "Base DN could not be auto-detected, please revise credentials, host and port." : "O ND de base não pode ser detetado automaticamente, por favor verifique as credenciais, host e porta.", + "Could not detect Base DN, please enter it manually." : "Não foi possível detetar o ND de base, por favor introduza-o manualmente.", "{nthServer}. Server" : "{nthServer}. Servidor", + "More than 1.000 directory entries available." : "Mais de 1,000 entradas de diretório disponíveis.", + " entries available within the provided Base DN" : "entradas disponíveis no ND de base fornecido", + "An error occurred. Please check the Base DN, as well as connection settings and credentials." : "Ocorreu um erro. Por favor verifique o ND de base, bem como as definições de ligação e as credenciais.", "Do you really want to delete the current Server Configuration?" : "Deseja realmente apagar as configurações de servidor actuais?", "Confirm Deletion" : "Confirmar a operação de apagar", + "Mappings cleared successfully!" : "Mapas limpos com sucesso!", + "Error while clearing the mappings." : "Erro a limpar os mapas.", + "Anonymous bind is not allowed. Please provide a User DN and Password." : "Ligação anónima não permitida. Por favor forneça um ND de utilizador e password.", + "LDAP Operations error. Anonymous bind might not be allowed." : "Erro de operações LDAP. Ligação anónima pode não ser permitida.", "Select attributes" : "Selecionar atributos", "_%s group found_::_%s groups found_" : ["%s grupo encontrado","%s grupos encontrados"], "_%s user found_::_%s users found_" : ["%s utilizador encontrado","%s utilizadores encontrados"], @@ -32,11 +44,13 @@ "The filter specifies which LDAP groups shall have access to the %s instance." : "O filtro especifica quais grupos LDAP devem ter acesso à instância %s.", "Other Attributes:" : "Outros Atributos:", "Defines the filter to apply, when login is attempted. %%uid replaces the username in the login action. Example: \"uid=%%uid\"" : "Define o filtro a aplicar, quando se tenta uma sessão. %%uid substitui o nome de utilizador na ação de início de sessão. Exemplo: \"uid=%%uid\"", + "Verify settings" : "Verificar definições", "1. Server" : "1. Servidor", "%s. Server:" : "%s. Servvidor", "Host" : "Anfitrião", "You can omit the protocol, except you require SSL. Then start with ldaps://" : "Pode omitir o protocolo, excepto se necessitar de SSL. Neste caso, comece com ldaps://", "Port" : "Porto", + "Detect Port" : "Detetar porta", "User DN" : "DN do utilizador", "The DN of the client user with which the bind shall be done, e.g. uid=agent,dc=example,dc=com. For anonymous access, leave DN and Password empty." : "O DN to cliente ", "Password" : "Password", diff --git a/apps/user_ldap/l10n/sr.js b/apps/user_ldap/l10n/sr.js index 4e1402d95cf..21da1302329 100644 --- a/apps/user_ldap/l10n/sr.js +++ b/apps/user_ldap/l10n/sr.js @@ -3,6 +3,7 @@ OC.L10N.register( { "Failed to clear the mappings." : "Неуспело чишћење мапирања.", "Failed to delete the server configuration" : "Неуспело брисање поставе сервера", + "The configuration is invalid: anonymous bind is not allowed." : "Неисправна подешавања. Анонимна веза није дозвољена.", "The configuration is valid and the connection could be established!" : "Конфигурација је важећа и веза се може успоставити!", "The configuration is valid, but the Bind failed. Please check the server settings and credentials." : "Конфигурација је важећа, али Bind није успео. Проверите подешавања сервера и акредитиве.", "The configuration is invalid. Please have a look at the logs for further details." : "Конфигурација није важећа. Погледајте у дневнику записа за додатне детаље.", @@ -29,6 +30,7 @@ OC.L10N.register( "Confirm Deletion" : "Потврдa брисањa", "Mappings cleared successfully!" : "Мапирања успешно очишћена!", "Error while clearing the mappings." : "Грешка при чишћењу мапирања.", + "LDAP Operations error. Anonymous bind might not be allowed." : "Грешка ЛДАП радње. Анонимна веза можда није дозвољена.", "Saving failed. Please make sure the database is in Operation. Reload before continuing." : "Упис није успео. Проверите да је база у функцији. Поново учитајте пре настављања.", "Switching the mode will enable automatic LDAP queries. Depending on your LDAP size they may take a while. Do you still want to switch the mode?" : "Пребацивање режима укључиће аутоматске ЛДАП упите. Зависно од ЛДАП величине то може потрајати. Заиста желите да промените режим?", "Mode switch" : "Промена режима", diff --git a/apps/user_ldap/l10n/sr.json b/apps/user_ldap/l10n/sr.json index c2a9c2898eb..c81d8b2b529 100644 --- a/apps/user_ldap/l10n/sr.json +++ b/apps/user_ldap/l10n/sr.json @@ -1,6 +1,7 @@ { "translations": { "Failed to clear the mappings." : "Неуспело чишћење мапирања.", "Failed to delete the server configuration" : "Неуспело брисање поставе сервера", + "The configuration is invalid: anonymous bind is not allowed." : "Неисправна подешавања. Анонимна веза није дозвољена.", "The configuration is valid and the connection could be established!" : "Конфигурација је важећа и веза се може успоставити!", "The configuration is valid, but the Bind failed. Please check the server settings and credentials." : "Конфигурација је важећа, али Bind није успео. Проверите подешавања сервера и акредитиве.", "The configuration is invalid. Please have a look at the logs for further details." : "Конфигурација није важећа. Погледајте у дневнику записа за додатне детаље.", @@ -27,6 +28,7 @@ "Confirm Deletion" : "Потврдa брисањa", "Mappings cleared successfully!" : "Мапирања успешно очишћена!", "Error while clearing the mappings." : "Грешка при чишћењу мапирања.", + "LDAP Operations error. Anonymous bind might not be allowed." : "Грешка ЛДАП радње. Анонимна веза можда није дозвољена.", "Saving failed. Please make sure the database is in Operation. Reload before continuing." : "Упис није успео. Проверите да је база у функцији. Поново учитајте пре настављања.", "Switching the mode will enable automatic LDAP queries. Depending on your LDAP size they may take a while. Do you still want to switch the mode?" : "Пребацивање режима укључиће аутоматске ЛДАП упите. Зависно од ЛДАП величине то може потрајати. Заиста желите да промените режим?", "Mode switch" : "Промена режима", diff --git a/apps/user_ldap/l10n/uk.js b/apps/user_ldap/l10n/uk.js index 038657a5065..fe499d9ad67 100644 --- a/apps/user_ldap/l10n/uk.js +++ b/apps/user_ldap/l10n/uk.js @@ -15,10 +15,12 @@ OC.L10N.register( "Configuration OK" : "Конфігурація OK", "Select groups" : "Оберіть групи", "Select object classes" : "Виберіть класи об'єктів", + "Please specify the port, it could not be auto-detected." : "Будь ласка, вкажіть порт, він не може бути визначений автоматично.", "{nthServer}. Server" : "{nthServer}. Сервер", "Do you really want to delete the current Server Configuration?" : "Ви дійсно бажаєте видалити поточну конфігурацію сервера ?", "Confirm Deletion" : "Підтвердіть Видалення", "Select attributes" : "Виберіть атрибути", + "User found and settings verified." : "Користувача знайдено і налаштування перевірені.", "_%s group found_::_%s groups found_" : [" %s група знайдена "," %s груп знайдено ","%s груп знайдено "], "_%s user found_::_%s users found_" : ["%s користувача знайдено","%s користувачів знайдено","%s користувачів знайдено"], "Could not detect user display name attribute. Please specify it yourself in advanced ldap settings." : "Не вдалося виявити ім'я користувача. Будь ласка, сформулюйте самі в розширених налаштуваннях LDAP.", @@ -30,6 +32,9 @@ OC.L10N.register( "Test Configuration" : "Тестове налаштування", "Help" : "Допомога", "Groups meeting these criteria are available in %s:" : "Групи, що відповідають цим критеріям доступні в %s:", + "Search groups" : "Пошук груп", + "Available groups" : "Доступні групи", + "Selected groups" : "Обрані групи", "The filter specifies which LDAP groups shall have access to the %s instance." : "Фільтр визначає, які LDAP групи повинні мати доступ до %s примірника.", "Other Attributes:" : "Інші Атрибути:", "Defines the filter to apply, when login is attempted. %%uid replaces the username in the login action. Example: \"uid=%%uid\"" : "Визначає фільтр, який слід застосовувати при спробі входу.\n%%uid замінює ім'я користувача при вході в систему. Приклад: \"uid=%%uid\"", @@ -38,6 +43,7 @@ OC.L10N.register( "Host" : "Хост", "You can omit the protocol, except you require SSL. Then start with ldaps://" : "Можна не вказувати протокол, якщо вам не потрібен SSL. Тоді почніть з ldaps://", "Port" : "Порт", + "Detect Port" : "Визначити Порт", "User DN" : "DN Користувача", "The DN of the client user with which the bind shall be done, e.g. uid=agent,dc=example,dc=com. For anonymous access, leave DN and Password empty." : "DN клієнтського користувача для прив'язки, наприклад: uid=agent,dc=example,dc=com. Для анонімного доступу, залиште DN і Пароль порожніми.", "Password" : "Пароль", diff --git a/apps/user_ldap/l10n/uk.json b/apps/user_ldap/l10n/uk.json index bfd877a1892..5a04bf4b356 100644 --- a/apps/user_ldap/l10n/uk.json +++ b/apps/user_ldap/l10n/uk.json @@ -13,10 +13,12 @@ "Configuration OK" : "Конфігурація OK", "Select groups" : "Оберіть групи", "Select object classes" : "Виберіть класи об'єктів", + "Please specify the port, it could not be auto-detected." : "Будь ласка, вкажіть порт, він не може бути визначений автоматично.", "{nthServer}. Server" : "{nthServer}. Сервер", "Do you really want to delete the current Server Configuration?" : "Ви дійсно бажаєте видалити поточну конфігурацію сервера ?", "Confirm Deletion" : "Підтвердіть Видалення", "Select attributes" : "Виберіть атрибути", + "User found and settings verified." : "Користувача знайдено і налаштування перевірені.", "_%s group found_::_%s groups found_" : [" %s група знайдена "," %s груп знайдено ","%s груп знайдено "], "_%s user found_::_%s users found_" : ["%s користувача знайдено","%s користувачів знайдено","%s користувачів знайдено"], "Could not detect user display name attribute. Please specify it yourself in advanced ldap settings." : "Не вдалося виявити ім'я користувача. Будь ласка, сформулюйте самі в розширених налаштуваннях LDAP.", @@ -28,6 +30,9 @@ "Test Configuration" : "Тестове налаштування", "Help" : "Допомога", "Groups meeting these criteria are available in %s:" : "Групи, що відповідають цим критеріям доступні в %s:", + "Search groups" : "Пошук груп", + "Available groups" : "Доступні групи", + "Selected groups" : "Обрані групи", "The filter specifies which LDAP groups shall have access to the %s instance." : "Фільтр визначає, які LDAP групи повинні мати доступ до %s примірника.", "Other Attributes:" : "Інші Атрибути:", "Defines the filter to apply, when login is attempted. %%uid replaces the username in the login action. Example: \"uid=%%uid\"" : "Визначає фільтр, який слід застосовувати при спробі входу.\n%%uid замінює ім'я користувача при вході в систему. Приклад: \"uid=%%uid\"", @@ -36,6 +41,7 @@ "Host" : "Хост", "You can omit the protocol, except you require SSL. Then start with ldaps://" : "Можна не вказувати протокол, якщо вам не потрібен SSL. Тоді почніть з ldaps://", "Port" : "Порт", + "Detect Port" : "Визначити Порт", "User DN" : "DN Користувача", "The DN of the client user with which the bind shall be done, e.g. uid=agent,dc=example,dc=com. For anonymous access, leave DN and Password empty." : "DN клієнтського користувача для прив'язки, наприклад: uid=agent,dc=example,dc=com. Для анонімного доступу, залиште DN і Пароль порожніми.", "Password" : "Пароль", diff --git a/apps/user_ldap/templates/part.wizard-server.php b/apps/user_ldap/templates/part.wizard-server.php index 3ce912fac4a..848e699dda6 100644 --- a/apps/user_ldap/templates/part.wizard-server.php +++ b/apps/user_ldap/templates/part.wizard-server.php @@ -25,14 +25,14 @@ </select> <button type="button" id="ldap_action_add_configuration" name="ldap_action_add_configuration" class="icon-add" - title="Adds a new and blank configuration"> </button> + title="<?php p($l->t('Adds a new and blank configuration'));?>"> </button> <button type="button" id="ldap_action_copy_configuration" name="ldap_action_copy_configuration" class="ldapIconCopy icon-default-style" - title="Copy current configuration into new directory binding"> </button> + title="<?php p($l->t('Copy current configuration into new directory binding'));?>"> </button> <button type="button" id="ldap_action_delete_configuration" name="ldap_action_delete_configuration" class="icon-delete" - title="Delete the current configuration"> </button> + title="<?php p($l->t('Delete the current configuration'));?>"> </button> </p> <div class="hostPortCombinator"> diff --git a/config/config.sample.php b/config/config.sample.php index 9a40f82252a..ed86dd94131 100644 --- a/config/config.sample.php +++ b/config/config.sample.php @@ -531,8 +531,8 @@ $CONFIG = array( /** * Location of the lock file for cron executions can be specified here. - * Default is within the tmp directory. The file is named in the following way - * owncloud-server-$INSTANCEID-cron.lock + * Default is within the tmp directory. The file is named in the following way: + * owncloud-server-$INSTANCEID-cron.lock * where $INSTANCEID is the string specified in the instanceid field. * Because the cron lock file is accessed in regular intervals, it may prevent * enabled disk drives from spinning down. A different location for this file diff --git a/core/command/user/resetpassword.php b/core/command/user/resetpassword.php index 7c405592114..3e4b41c0a43 100644 --- a/core/command/user/resetpassword.php +++ b/core/command/user/resetpassword.php @@ -78,7 +78,7 @@ class ResetPassword extends Command { /** @var $dialog \Symfony\Component\Console\Helper\DialogHelper */ $dialog = $this->getHelperSet()->get('dialog'); - if (\OCP\App::isEnabled('files_encryption')) { + if (\OCP\App::isEnabled('encryption')) { $output->writeln( '<error>Warning: Resetting the password when using encryption will result in data loss!</error>' ); diff --git a/core/css/fixes.css b/core/css/fixes.css index b274454329a..894d9bc14a5 100644 --- a/core/css/fixes.css +++ b/core/css/fixes.css @@ -64,11 +64,6 @@ select { visibility: hidden; } -/* fix installation screen rendering issue for IE8+9 */ -.lte9 #body-login { - height: auto !important; -} - /* oc-dialog only uses box shadow which is not supported by ie8 */ .ie8 .oc-dialog { border: 1px solid #888888; diff --git a/core/css/header.css b/core/css/header.css index 6fd30f657b7..466022e9f76 100644 --- a/core/css/header.css +++ b/core/css/header.css @@ -77,13 +77,6 @@ margin: 0 auto; } -#header .logo-wide { - background-image: url(../img/logo-wide.svg); - background-repeat: no-repeat; - width: 150px; - height: 34px; -} - #header .logo-icon { /* display logo so appname can be shown next to it */ display: inline-block; @@ -93,7 +86,7 @@ height: 34px; } -#header .menutoggle { +#header .header-appname-container { display: inline-block; position: absolute; left: 70px; @@ -103,7 +96,7 @@ } /* hover effect for app switcher label */ -.menutoggle .header-appname, +.header-appname-container .header-appname, .menutoggle .icon-caret { -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=75)"; opacity: .75; @@ -350,8 +343,8 @@ margin-bottom: -3px; margin-right: 6px; } - #expanddiv a:hover, - #expanddiv a:focus, + #expanddiv a:hover, + #expanddiv a:focus, #expanddiv a:active, #expanddiv a.active { -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; diff --git a/core/css/mobile.css b/core/css/mobile.css index 874c42b92ef..cfc8f8bfdca 100644 --- a/core/css/mobile.css +++ b/core/css/mobile.css @@ -21,12 +21,9 @@ box-align: center; } -/* on mobile, show logo-icon instead of logo-wide */ -#header .logo-wide { - background-image: url(../img/logo-icon.svg); - background-repeat: no-repeat; - width: 62px; - height: 34px; +/* on mobile, show only the icon of the logo, hide the text */ +#header .header-appname-container { + display: none; } /* compress search box on mobile, expand when focused */ diff --git a/core/css/styles.css b/core/css/styles.css index fe259e87d51..e019b874f61 100644 --- a/core/css/styles.css +++ b/core/css/styles.css @@ -40,6 +40,10 @@ body { height: 32px; display: none; } +#body-login .float-spinner { + margin-top: -32px; + padding-top: 32px; +} #nojavascript { position: fixed; @@ -1068,4 +1072,3 @@ fieldset.warning legend + p, fieldset.update legend + p { @-ms-viewport { width: device-width; } - diff --git a/core/img/logo-mail.gif b/core/img/logo-mail.gif Binary files differindex f1dd108450e..32ba878b80b 100644 --- a/core/img/logo-mail.gif +++ b/core/img/logo-mail.gif diff --git a/core/img/logo-wide.png b/core/img/logo-wide.png Binary files differdeleted file mode 100644 index bca5fa7997f..00000000000 --- a/core/img/logo-wide.png +++ /dev/null diff --git a/core/img/logo-wide.svg b/core/img/logo-wide.svg deleted file mode 100644 index 1ee00e725e5..00000000000 --- a/core/img/logo-wide.svg +++ /dev/null @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" standalone="no"?> -<svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" xml:space="preserve" height="34" width="150" version="1.1" y="0px" x="0px" xmlns:cc="http://creativecommons.org/ns#" enable-background="new 0 0 595.275 311.111" viewBox="0 0 150.00267 34" xmlns:dc="http://purl.org/dc/elements/1.1/"><g transform="translate(1 .99987)" fill="#FFF"><path style="block-progression:tb;color:#000000;enable-background:accumulate;text-transform:none;text-indent:0" d="m104 13v15.344c0 2.008 1.71 3.656 3.72 3.656v-1c-1.52 0-2.72-1.137-2.72-2.656v-15.344h-1zm42 0v8h-4.53c-2.99 0-5.47 2.571-5.47 5.562s2.48 5.466 5.47 5.438h1.78c0.88 0 1.74-0.442 2.44-1.094 0.7-0.651 1.29-1.555 1.31-2.562v-15.344h-1zm-44.5 2c-4.635 0-8.5 3.865-8.5 8.5s3.865 8.5 8.5 8.5v-1c-4.146 0-7.5-3.353-7.5-7.5s3.354-7.5 7.5-7.5v-1zm-46 6c-0.606 0-1.201 0.092-1.75 0.281 0.071 0.325 0.15 0.664 0.188 1 0.489-0.18 1.007-0.281 1.562-0.281 2.503 0 4.5 1.997 4.5 4.5s-1.997 4.5-4.5 4.5c-1.444 0-2.71-0.676-3.531-1.719-0.198 0.255-0.434 0.485-0.657 0.719 1.017 1.208 2.521 2 4.188 2 2.991 0 5.5-2.509 5.5-5.5s-2.509-5.5-5.5-5.5zm7.5 0v7.344c0 2.008 1.992 3.656 4 3.656 1.368 0 2.905-0.695 3.531-1.812 0.622 1.117 2.101 1.812 3.469 1.812 2.008 0 4-1.648 4-3.656v-7.344h-1v7.344c0 1.519-1.481 2.656-3 2.656s-3-1.002-3-2.656v-7.344h-1v7.344c0 1.519-1.48 2.656-3 2.656-1.519 0-3-1.137-3-2.656v-7.344h-1zm22.531 0c-2.991 0-5.531 2.54-5.531 5.531v5.469h1v-5.469c0-2.502 2.029-4.531 4.531-4.531 2.503 0 4.469 2.029 4.469 4.531v5.469h1v-5.469c0-2.991-2.477-5.531-5.469-5.531zm29.969 0c-2.99 0-5.5 2.509-5.5 5.5s2.51 5.5 5.5 5.5 5.5-2.509 5.5-5.5-2.51-5.5-5.5-5.5zm7.5 0v5.562c0 2.991 2.48 5.438 5.47 5.438s5.53-2.447 5.53-5.438v-5.562h-1v5.562c0 2.502-2.03 4.438-4.53 4.438s-4.47-1.936-4.47-4.438v-5.562h-1zm-7.5 1c2.5 0 4.5 1.997 4.5 4.5s-2 4.5-4.5 4.5-4.5-1.997-4.5-4.5 2-4.5 4.5-4.5zm25.97 0h4.53v6.344c-0.01 0.7-0.35 1.387-0.91 1.906-0.55 0.519-1.27 0.75-1.84 0.75h-1.78c-2.5 0-4.47-1.936-4.47-4.438s1.97-4.562 4.47-4.562z" transform="translate(-3.1714e-6,0)"/><path d="m16.398 3.6857c-2.2943 0-4.1386 1.8599-4.1386 4.1542 0 0.74283 0.19165 1.4447 0.53099 2.0459 1.3845-0.781 2.9851-1.2338 4.6852-1.2338 0.16408 0 0.32211 0.00666 0.48414 0.015617-0.01834-0.23258-0.03123-0.46554-0.03123-0.70278 0-1.2779 0.27755-2.4937 0.76525-3.592-0.657-0.4403-1.443-0.6871-2.296-0.6871z"/><path d="m7.9805 15.852c-4.4057 0-7.9805 3.544-7.9805 7.949 0 4.4057 3.5748 7.9805 7.9805 7.9805 1.6769 0 3.2302-0.52246 4.5134-1.4056-0.53024-0.82393-0.84334-1.809-0.84334-2.858 0-0.54446 0.08034-1.0675 0.23426-1.5617-2.4023-1.7361-3.9668-4.5612-3.9668-7.7462 0-0.80924 0.10664-1.5917 0.29673-2.3426-0.0791-0.002-0.1549-0.015-0.2344-0.015z"/><path d="m17.476 9.5578c-4.7826 0-8.652 3.8694-8.652 8.652 0 2.8154 1.3414 5.3078 3.4202 6.8873 0.87636-1.6903 2.6365-2.8424 4.6696-2.8424 0.24572 0 0.48158 0.02978 0.7184 0.06247-0.07434-0.54088-0.10932-1.0943-0.10932-1.6554 0-2.6831 0.87339-5.1644 2.3582-7.1684-0.889-1.112-1.525-2.448-1.796-3.9039-0.201-0.014-0.405-0.0313-0.609-0.0313z"/><path d="m36.045 6.5437c-0.1695 0-0.33288 0.02081-0.49976 0.031235 0.07218 0.45513 0.12494 0.9147 0.12494 1.3899 0 0.7396-0.09406 1.4533-0.2655 2.1396 2.01 1.1123 3.6791 2.7767 4.7789 4.7945 1.1407-0.59386 2.4132-0.97147 3.7638-1.062-0.34807-4.082-3.7298-7.2933-7.9024-7.2933z"/><path d="m26.799 5.1362e-7c-4.4056 0-7.9649 3.5593-7.9649 7.9649 0 1.816 0.60469 3.4874 1.6242 4.8258 2.2117-2.5599 5.4759-4.1855 9.1205-4.1855 1.7831 0 3.474 0.39707 4.9976 1.0932 0.124-0.5582 0.188-1.1384 0.188-1.7338 0-4.4056-3.559-7.9649-7.965-7.9649z"/><path d="m44.588 14.712c-1.4522 0-2.8126 0.37076-4.0137 0.99951 0.682 1.5107 1.062 3.1868 1.062 4.9507 0 3.3027-1.3279 6.3016-3.4827 8.4802 1.583 1.7575 3.8797 2.858 6.4344 2.858 4.7826 0 8.652-3.8694 8.652-8.652 0-4.7827-3.8694-8.6364-8.652-8.6364z"/><path d="m16.914 23.161c-2.415 0-4.3572 1.9422-4.3572 4.3572s1.9422 4.3729 4.3572 4.3729c1.8512 0 3.4224-1.1551 4.0605-2.7799-1.557-1.5857-2.6759-3.6087-3.1703-5.8565-0.28932-0.05983-0.58298-0.09371-0.89019-0.09371z"/><path d="m29.579 9.511c-6.1647 0-11.151 4.9857-11.151 11.151 0 6.1645 4.9858 11.151 11.151 11.151 6.165 0 11.151-4.9864 11.151-11.151 0-6.1651-4.9861-11.151-11.151-11.151z"/></g></svg> diff --git a/core/js/placeholder.js b/core/js/placeholder.js index 47cff780d2f..74bb9b1881d 100644 --- a/core/js/placeholder.js +++ b/core/js/placeholder.js @@ -59,7 +59,7 @@ // CSS rules this.css('color', '#fff'); - this.css('font-weight', 'bold'); + this.css('font-weight', 'normal'); this.css('text-align', 'center'); // calculate the height diff --git a/core/js/setupchecks.js b/core/js/setupchecks.js index 9bb3face751..5d9f1863ef7 100644 --- a/core/js/setupchecks.js +++ b/core/js/setupchecks.js @@ -64,6 +64,11 @@ t('core', 'No memory cache has been configured. To enhance your performance please configure a memcache if available. Further information can be found in our <a href="{docLink}">documentation</a>.', {docLink: data.memcacheDocs}) ); } + if(!data.isUrandomAvailable) { + messages.push( + t('core', '/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in our <a href="{docLink}">documentation</a>.', {docLink: data.securityDocs}) + ); + } } else { messages.push(t('core', 'Error occurred while checking server setup')); } diff --git a/core/js/share.js b/core/js/share.js index 415fe41ef5f..c0bc2c8ab80 100644 --- a/core/js/share.js +++ b/core/js/share.js @@ -15,7 +15,7 @@ OC.Share={ * "user@example.com/path/to/owncloud" * "user@anotherexample.com@example.com/path/to/owncloud */ - _REMOTE_OWNER_REGEXP: new RegExp("^([^@]*)@(([^@]*)@)?([^/]*)(.*)?$"), + _REMOTE_OWNER_REGEXP: new RegExp("^([^@]*)@(([^@]*)@)?([^/]*)([/](.*)?)?$"), /** * @deprecated use OC.Share.currentShares instead @@ -183,21 +183,22 @@ OC.Share={ } }, /** - * Format remote share owner to make it more readable + * Format a remote address * - * @param {String} owner full remote share owner name - * @return {String} HTML code for the owner display + * @param {String} remoteAddress full remote share + * @return {String} HTML code to display */ - _formatSharedByOwner: function(owner) { - var parts = this._REMOTE_OWNER_REGEXP.exec(owner); + _formatRemoteShare: function(remoteAddress) { + var parts = this._REMOTE_OWNER_REGEXP.exec(remoteAddress); if (!parts) { // display as is, most likely to be a simple owner name - return escapeHTML(owner); + return escapeHTML(remoteAddress); } var userName = parts[1]; var userDomain = parts[3]; var server = parts[4]; + var dir = parts[6]; var tooltip = userName; if (userDomain) { tooltip += '@' + userDomain; @@ -209,7 +210,7 @@ OC.Share={ tooltip += '@' + server; } - var html = '<span class="remoteOwner" title="' + escapeHTML(tooltip) + '">'; + var html = '<span class="remoteAddress" title="' + escapeHTML(tooltip) + '">'; html += '<span class="username">' + escapeHTML(userName) + '</span>'; if (userDomain) { html += '<span class="userDomain">@' + escapeHTML(userDomain) + '</span>'; @@ -218,6 +219,20 @@ OC.Share={ return html; }, /** + * Loop over all recipients in the list and format them using + * all kind of fancy magic. + * + * @param {String[]} recipients array of all the recipients + * @return {String[]} modified list of recipients + */ + _formatShareList: function(recipients) { + var _parent = this; + return $.map(recipients, function(recipient) { + recipient = _parent._formatRemoteShare(recipient); + return recipient; + }); + }, + /** * Marks/unmarks a given file as shared by changing its action icon * and folder icon. * @@ -255,14 +270,14 @@ OC.Share={ message = t('core', 'Shared'); // even if reshared, only show "Shared by" if (owner) { - message = this._formatSharedByOwner(owner); + message = this._formatRemoteShare(owner); } else if (recipients) { - message = t('core', 'Shared with {recipients}', {recipients: recipients}); + message = t('core', 'Shared with {recipients}', {recipients: this._formatShareList(recipients.split(", ")).join(", ")}, 0, {escape: false}); } action.html(' <span>' + message + '</span>').prepend(img); - if (owner) { - action.find('.remoteOwner').tipsy({gravity: 's'}); + if (owner || recipients) { + action.find('.remoteAddress').tipsy({gravity: 's'}); } } else { diff --git a/core/js/tests/specs/setupchecksSpec.js b/core/js/tests/specs/setupchecksSpec.js index 3e6382603f5..65de3d0321d 100644 --- a/core/js/tests/specs/setupchecksSpec.js +++ b/core/js/tests/specs/setupchecksSpec.js @@ -66,7 +66,7 @@ describe('OC.SetupChecks tests', function() { { 'Content-Type': 'application/json' }, - JSON.stringify({serverHasInternetConnection: false, memcacheDocs: 'https://doc.owncloud.org/server/go.php?to=admin-performance'}) + JSON.stringify({isUrandomAvailable: true, serverHasInternetConnection: false, memcacheDocs: 'https://doc.owncloud.org/server/go.php?to=admin-performance'}) ); async.done(function( data, s, x ){ @@ -83,7 +83,7 @@ describe('OC.SetupChecks tests', function() { { 'Content-Type': 'application/json' }, - JSON.stringify({serverHasInternetConnection: false, dataDirectoryProtected: false, memcacheDocs: 'https://doc.owncloud.org/server/go.php?to=admin-performance'}) + JSON.stringify({isUrandomAvailable: true, serverHasInternetConnection: false, dataDirectoryProtected: false, memcacheDocs: 'https://doc.owncloud.org/server/go.php?to=admin-performance'}) ); async.done(function( data, s, x ){ @@ -100,7 +100,7 @@ describe('OC.SetupChecks tests', function() { { 'Content-Type': 'application/json', }, - JSON.stringify({serverHasInternetConnection: false, dataDirectoryProtected: false, isMemcacheConfigured: true}) + JSON.stringify({isUrandomAvailable: true, serverHasInternetConnection: false, dataDirectoryProtected: false, isMemcacheConfigured: true}) ); async.done(function( data, s, x ){ @@ -109,6 +109,22 @@ describe('OC.SetupChecks tests', function() { }); }); + it('should return an error if /dev/urandom is not accessible', function(done) { + var async = OC.SetupChecks.checkSetup(); + + suite.server.requests[0].respond( + 200, + { + 'Content-Type': 'application/json', + }, + JSON.stringify({isUrandomAvailable: false, securityDocs: 'https://docs.owncloud.org/myDocs.html', serverHasInternetConnection: true, dataDirectoryProtected: true, isMemcacheConfigured: true}) + ); + + async.done(function( data, s, x ){ + expect(data).toEqual(['/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in our <a href="https://docs.owncloud.org/myDocs.html">documentation</a>.']); + done(); + }); + }); it('should return an error if the response has no statuscode 200', function(done) { var async = OC.SetupChecks.checkSetup(); diff --git a/core/js/tests/specs/shareSpec.js b/core/js/tests/specs/shareSpec.js index c075351b9f5..4e12f3bb0cf 100644 --- a/core/js/tests/specs/shareSpec.js +++ b/core/js/tests/specs/shareSpec.js @@ -110,6 +110,86 @@ describe('OC.Share tests', function() { describe('Share with link', function() { // TODO: test ajax calls // TODO: test password field visibility (whenever enforced or not) + it('update password on focus out', function() { + $('#allowShareWithLink').val('yes'); + + OC.Share.showDropDown( + 'file', + 123, + $container, + true, + 31, + 'shared_file_name.txt' + ); + + // Toggle linkshare + $('#dropdown [name=linkCheckbox]').click(); + fakeServer.requests[0].respond( + 200, + { 'Content-Type': 'application/json' }, + JSON.stringify({data: {token: 'xyz'}, status: 'success'}) + ); + + // Enable password, enter password and focusout + $('#dropdown [name=showPassword]').click(); + $('#dropdown #linkPassText').focus(); + $('#dropdown #linkPassText').val('foo'); + $('#dropdown #linkPassText').focusout(); + + expect(fakeServer.requests[1].method).toEqual('POST'); + var body = OC.parseQueryString(fakeServer.requests[1].requestBody); + expect(body['shareWith']).toEqual('foo'); + + // Set password response + fakeServer.requests[1].respond( + 200, + { 'Content-Type': 'application/json' }, + JSON.stringify({data: {token: 'xyz'}, status: 'success'}) + ); + + expect($('#dropdown #linkPassText').val()).toEqual(''); + expect($('#dropdown #linkPassText').attr('placeholder')).toEqual('Password protected'); + }); + it('update password on enter', function() { + $('#allowShareWithLink').val('yes'); + + OC.Share.showDropDown( + 'file', + 123, + $container, + true, + 31, + 'shared_file_name.txt' + ); + + // Toggle linkshare + $('#dropdown [name=linkCheckbox]').click(); + fakeServer.requests[0].respond( + 200, + { 'Content-Type': 'application/json' }, + JSON.stringify({data: {token: 'xyz'}, status: 'success'}) + ); + + // Enable password and enter password + $('#dropdown [name=showPassword]').click(); + $('#dropdown #linkPassText').focus(); + $('#dropdown #linkPassText').val('foo'); + $('#dropdown #linkPassText').trigger(new $.Event('keyup', {keyCode: 13})); + + expect(fakeServer.requests[1].method).toEqual('POST'); + var body = OC.parseQueryString(fakeServer.requests[1].requestBody); + expect(body['shareWith']).toEqual('foo'); + + // Set password response + fakeServer.requests[1].respond( + 200, + { 'Content-Type': 'application/json' }, + JSON.stringify({data: {token: 'xyz'}, status: 'success'}) + ); + + expect($('#dropdown #linkPassText').val()).toEqual(''); + expect($('#dropdown #linkPassText').attr('placeholder')).toEqual('Password protected'); + }); it('shows share with link checkbox when allowed', function() { $('#allowShareWithLink').val('yes'); OC.Share.showDropDown( @@ -1054,9 +1134,9 @@ describe('OC.Share tests', function() { $action = $file.find('.action-share>span'); expect($action.text()).toEqual(output); if (_.isString(title)) { - expect($action.find('.remoteOwner').attr('title')).toEqual(title); + expect($action.find('.remoteAddress').attr('title')).toEqual(title); } else { - expect($action.find('.remoteOwner').attr('title')).not.toBeDefined(); + expect($action.find('.remoteAddress').attr('title')).not.toBeDefined(); } expect(tipsyStub.calledOnce).toEqual(true); tipsyStub.reset(); @@ -1147,7 +1227,94 @@ describe('OC.Share tests', function() { checkIcon('filetypes/folder-public'); }); }); - // TODO: add unit tests for share recipients + + describe('displaying the recipoients', function() { + function checkRecipients(input, output, title) { + var $action; + + $file.attr('data-share-recipients', input); + OC.Share.markFileAsShared($file, true); + + $action = $file.find('.action-share>span'); + expect($action.text()).toEqual(output); + if (_.isString(title)) { + expect($action.find('.remoteAddress').attr('title')).toEqual(title); + } else if (_.isArray(title)) { + var tooltips = $action.find('.remoteAddress'); + expect(tooltips.length).toEqual(title.length); + + tooltips.each(function(i) { + expect($(this).attr('title')).toEqual(title[i]); + }); + } else { + expect($action.find('.remoteAddress').attr('title')).not.toBeDefined(); + } + expect(tipsyStub.calledOnce).toEqual(true); + tipsyStub.reset(); + } + + it('displays the local share owner as is', function() { + checkRecipients('User One', 'Shared with User One', null); + }); + it('displays the user name part of a remote recipient', function() { + checkRecipients( + 'User One@someserver.com', + 'Shared with User One@…', + 'User One@someserver.com' + ); + checkRecipients( + 'User One@someserver.com/', + 'Shared with User One@…', + 'User One@someserver.com' + ); + checkRecipients( + 'User One@someserver.com/root/of/owncloud', + 'Shared with User One@…', + 'User One@someserver.com' + ); + }); + it('displays the user name part with domain of a remote share owner', function() { + checkRecipients( + 'User One@example.com@someserver.com', + 'Shared with User One@example.com', + 'User One@example.com@someserver.com' + ); + checkRecipients( + 'User One@example.com@someserver.com/', + 'Shared with User One@example.com', + 'User One@example.com@someserver.com' + ); + checkRecipients( + 'User One@example.com@someserver.com/root/of/owncloud', + 'Shared with User One@example.com', + 'User One@example.com@someserver.com' + ); + }); + it('display multiple remote recipients', function() { + checkRecipients( + 'One@someserver.com, two@otherserver.com', + 'Shared with One@…, two@…', + ['One@someserver.com', 'two@otherserver.com'] + ); + checkRecipients( + 'One@someserver.com/, two@otherserver.com', + 'Shared with One@…, two@…', + ['One@someserver.com', 'two@otherserver.com'] + ); + checkRecipients( + 'One@someserver.com/root/of/owncloud, two@otherserver.com', + 'Shared with One@…, two@…', + ['One@someserver.com', 'two@otherserver.com'] + ); + }); + it('display mixed recipients', function() { + checkRecipients( + 'One, two@otherserver.com', + 'Shared with One, two@…', + ['two@otherserver.com'] + ); + }); + }); }); }); diff --git a/core/l10n/cs_CZ.js b/core/l10n/cs_CZ.js index 1df630bf26d..efc9d976c2e 100644 --- a/core/l10n/cs_CZ.js +++ b/core/l10n/cs_CZ.js @@ -73,6 +73,7 @@ OC.L10N.register( "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.", "Your data directory and your files are probably accessible from the Internet. The .htaccess file is not working. We strongly suggest that you configure your web server in a way that the data directory is no longer accessible or you move the data directory outside the web server document root." : "Váš datový adresář i vaše soubory jsou pravděpodobně přístupné z Internetu. Soubor .htaccess nefunguje. Důrazně doporučujeme nakonfigurovat webový server tak, aby datový adresář nebyl nadále přístupný, nebo přesunout datový adresář mimo prostor zpřístupňovaný webovým serverem.", "No memory cache has been configured. To enhance your performance please configure a memcache if available. Further information can be found in our <a href=\"{docLink}\">documentation</a>." : "Nebyla nakonfigurována paměťová cache. Pro zlepšení výkonu a dostupnosti ji prosím nakonfigurujte. Další informace lze nalézt v naší <a href=\"{docLink}\">dokumentaci</a>.", + "/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in our <a href=\"{docLink}\">documentation</a>." : "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 <a href=\"{docLink}\">dokumentaci</a>.", "Error occurred while checking server setup" : "Při ověřování nastavení serveru došlo k chybě", "The \"{header}\" HTTP header is not configured to equal to \"{expected}\". This is a potential security or privacy risk and we recommend adjusting this setting." : "HTTP hlavička \"{header}\" není nakonfigurována ve shodě s \"{expected}\". To značí možné ohrožení bezpečnosti a soukromí a je doporučeno toto nastavení upravit.", "The \"Strict-Transport-Security\" HTTP header is not configured to least \"2,678,400\" seconds. This is a potential security risk and we recommend adjusting this setting." : "HTTP hlavička \"Strict-Transport-Security\" není nakonfigurována na minimálně \"2,678,400\" sekund. To značí možné ohrožení bezpečnosti a je doporučeno upravit toto nastavení.", diff --git a/core/l10n/cs_CZ.json b/core/l10n/cs_CZ.json index 616028fa31a..ff717f0e642 100644 --- a/core/l10n/cs_CZ.json +++ b/core/l10n/cs_CZ.json @@ -71,6 +71,7 @@ "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.", "Your data directory and your files are probably accessible from the Internet. The .htaccess file is not working. We strongly suggest that you configure your web server in a way that the data directory is no longer accessible or you move the data directory outside the web server document root." : "Váš datový adresář i vaše soubory jsou pravděpodobně přístupné z Internetu. Soubor .htaccess nefunguje. Důrazně doporučujeme nakonfigurovat webový server tak, aby datový adresář nebyl nadále přístupný, nebo přesunout datový adresář mimo prostor zpřístupňovaný webovým serverem.", "No memory cache has been configured. To enhance your performance please configure a memcache if available. Further information can be found in our <a href=\"{docLink}\">documentation</a>." : "Nebyla nakonfigurována paměťová cache. Pro zlepšení výkonu a dostupnosti ji prosím nakonfigurujte. Další informace lze nalézt v naší <a href=\"{docLink}\">dokumentaci</a>.", + "/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in our <a href=\"{docLink}\">documentation</a>." : "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 <a href=\"{docLink}\">dokumentaci</a>.", "Error occurred while checking server setup" : "Při ověřování nastavení serveru došlo k chybě", "The \"{header}\" HTTP header is not configured to equal to \"{expected}\". This is a potential security or privacy risk and we recommend adjusting this setting." : "HTTP hlavička \"{header}\" není nakonfigurována ve shodě s \"{expected}\". To značí možné ohrožení bezpečnosti a soukromí a je doporučeno toto nastavení upravit.", "The \"Strict-Transport-Security\" HTTP header is not configured to least \"2,678,400\" seconds. This is a potential security risk and we recommend adjusting this setting." : "HTTP hlavička \"Strict-Transport-Security\" není nakonfigurována na minimálně \"2,678,400\" sekund. To značí možné ohrožení bezpečnosti a je doporučeno upravit toto nastavení.", diff --git a/core/l10n/da.js b/core/l10n/da.js index 92070deb47a..3bef9830b41 100644 --- a/core/l10n/da.js +++ b/core/l10n/da.js @@ -73,6 +73,7 @@ OC.L10N.register( "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." : "Denne ownCloud-server har ikke en fungerende forbindelse til internettet. Det betyder, at visse funktioner som montering af eksterne drev, oplysninger om opdatering eller installation af applikationer fra tredjepart ikke fungerer. Det vil sandsynligvis heller ikke være muligt at tilgå filer fra eksterne drev eller afsendelse af e-mail med notifikationer virker sandsynligvis heller ikke. Vi opfordrer til at etablere forbindelse til internettet for denne server, såfremt du ønsker samtlige funktioner.", "Your data directory and your files are probably accessible from the Internet. The .htaccess file is not working. We strongly suggest that you configure your web server in a way that the data directory is no longer accessible or you move the data directory outside the web server document root." : "Din data mappe og dine filer er muligvis tilgængelige fra internettet. Filen .htaccess fungerer ikke. Vi anbefaler på det kraftigste, at du konfigurerer din webserver således at datamappen ikke længere er tilgængelig, eller at du flytter datamappen uden for webserverens dokumentrod. ", "No memory cache has been configured. To enhance your performance please configure a memcache if available. Further information can be found in our <a href=\"{docLink}\">documentation</a>." : "Der er ikke konfigureret et hukommelsesmellemlager. For at forbedre din ydelse, skal du konfigurere et mellemlager, hvis den er tilgængelig. Du finder mere information i din <a href=\"{docLink}\">dokumentation</a>.", + "/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in our <a href=\"{docLink}\">documentation</a>." : "/dev/urandom kan ikke læses af PHP, hvilket stærkt frarådes af sikkerhedsmæssige årsager. Der fås mere information i vores <a href=\"{docLink}\">dokumentation</a>.", "Error occurred while checking server setup" : "Der opstod fejl under tjek af serveropsætningen", "The \"{header}\" HTTP header is not configured to equal to \"{expected}\". This is a potential security or privacy risk and we recommend adjusting this setting." : "HTTP-hovedet \"{header}\" er ikke konfigureret til at være lig med \"{expected}\". Dette er en potentiel sikkerhedsrisiko, og vi anbefaler at du justerer denne indstilling.", "The \"Strict-Transport-Security\" HTTP header is not configured to least \"2,678,400\" seconds. This is a potential security risk and we recommend adjusting this setting." : "HTTP-hovedet \"Strict-Transport-Security\" er ikke konfigureret til mindst \"2.678.400\" sekunder. Dette er en potentiel sikkerhedsrisiko, og vi anbefaler at du justerer denne indstilling.", @@ -191,6 +192,8 @@ OC.L10N.register( "Data folder" : "Datamappe", "Configure the database" : "Konfigurer databasen", "Only %s is available." : "Kun %s er tilgængelig.", + "Install and activate additional PHP modules to choose other database types." : "Installér og aktivér yderligere PHP-moduler for at vælge andre databasetyper.", + "For more details check out the documentation." : "For flere oplysninger, så henvises der til dokumentationen.", "Database user" : "Databasebruger", "Database password" : "Databasekodeord", "Database name" : "Navn på database", diff --git a/core/l10n/da.json b/core/l10n/da.json index 1e330003cfe..ff78ba440b6 100644 --- a/core/l10n/da.json +++ b/core/l10n/da.json @@ -71,6 +71,7 @@ "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." : "Denne ownCloud-server har ikke en fungerende forbindelse til internettet. Det betyder, at visse funktioner som montering af eksterne drev, oplysninger om opdatering eller installation af applikationer fra tredjepart ikke fungerer. Det vil sandsynligvis heller ikke være muligt at tilgå filer fra eksterne drev eller afsendelse af e-mail med notifikationer virker sandsynligvis heller ikke. Vi opfordrer til at etablere forbindelse til internettet for denne server, såfremt du ønsker samtlige funktioner.", "Your data directory and your files are probably accessible from the Internet. The .htaccess file is not working. We strongly suggest that you configure your web server in a way that the data directory is no longer accessible or you move the data directory outside the web server document root." : "Din data mappe og dine filer er muligvis tilgængelige fra internettet. Filen .htaccess fungerer ikke. Vi anbefaler på det kraftigste, at du konfigurerer din webserver således at datamappen ikke længere er tilgængelig, eller at du flytter datamappen uden for webserverens dokumentrod. ", "No memory cache has been configured. To enhance your performance please configure a memcache if available. Further information can be found in our <a href=\"{docLink}\">documentation</a>." : "Der er ikke konfigureret et hukommelsesmellemlager. For at forbedre din ydelse, skal du konfigurere et mellemlager, hvis den er tilgængelig. Du finder mere information i din <a href=\"{docLink}\">dokumentation</a>.", + "/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in our <a href=\"{docLink}\">documentation</a>." : "/dev/urandom kan ikke læses af PHP, hvilket stærkt frarådes af sikkerhedsmæssige årsager. Der fås mere information i vores <a href=\"{docLink}\">dokumentation</a>.", "Error occurred while checking server setup" : "Der opstod fejl under tjek af serveropsætningen", "The \"{header}\" HTTP header is not configured to equal to \"{expected}\". This is a potential security or privacy risk and we recommend adjusting this setting." : "HTTP-hovedet \"{header}\" er ikke konfigureret til at være lig med \"{expected}\". Dette er en potentiel sikkerhedsrisiko, og vi anbefaler at du justerer denne indstilling.", "The \"Strict-Transport-Security\" HTTP header is not configured to least \"2,678,400\" seconds. This is a potential security risk and we recommend adjusting this setting." : "HTTP-hovedet \"Strict-Transport-Security\" er ikke konfigureret til mindst \"2.678.400\" sekunder. Dette er en potentiel sikkerhedsrisiko, og vi anbefaler at du justerer denne indstilling.", @@ -189,6 +190,8 @@ "Data folder" : "Datamappe", "Configure the database" : "Konfigurer databasen", "Only %s is available." : "Kun %s er tilgængelig.", + "Install and activate additional PHP modules to choose other database types." : "Installér og aktivér yderligere PHP-moduler for at vælge andre databasetyper.", + "For more details check out the documentation." : "For flere oplysninger, så henvises der til dokumentationen.", "Database user" : "Databasebruger", "Database password" : "Databasekodeord", "Database name" : "Navn på database", diff --git a/core/l10n/de.js b/core/l10n/de.js index 2ded2a0a800..c4304b9581d 100644 --- a/core/l10n/de.js +++ b/core/l10n/de.js @@ -73,6 +73,7 @@ OC.L10N.register( "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." : "Dieser Server hat keine funktionierende Internetverbindung. Dies bedeutet, dass einige Funktionen wie das Einhängen externen Speicherplatzes, Update-Benachrichtigungen oder die Installation von Drittanbieter-Apps nicht funktionieren werden. Der Fernzugriff auf Dateien und der Versand von E-Mail-Benachrichtigungen kann ebenfalls nicht funktionieren. Es wird empfohlen, die Internetverbindung dieses Servers zu aktivieren, wenn Du alle Funktionen nutzen möchtest.", "Your data directory and your files are probably accessible from the Internet. The .htaccess file is not working. We strongly suggest that you configure your web server in a way that the data directory is no longer accessible or you move the data directory outside the web server document root." : "Dein Datenverzeichnis und Deine Dateien sind wahrscheinlich vom Internet aus erreichbar. Die .htaccess-Datei funktioniert nicht. Es wird dringend empfohlen, Deinen Webserver dahingehend zu konfigurieren, dass das Datenverzeichnis nicht mehr vom Internet aus erreichbar ist oder dass Du es aus dem Document-Root-Verzeichnis des Webservers herausverschiebst.", "No memory cache has been configured. To enhance your performance please configure a memcache if available. Further information can be found in our <a href=\"{docLink}\">documentation</a>." : "Es wurde kein PHP Memory Cache konfiguriert. Konfiguriere zur Erhöhung der Leistungsfähigkeit, soweit verfügbar, einen Memory Cache. Weitere Informationen finden Sie in unserer <a href=\"{docLink}\">Dokumentation</a>.", + "/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in our <a href=\"{docLink}\">documentation</a>." : "/dev/urandom ist für PHP nicht lesbar, wovon aus Sicherheitsgründen dringend abgeraten wird. Weitere Informationen hierzu findest Du in unserer <a href=\"{docLink}\">Dokumentation</a>.", "Error occurred while checking server setup" : "Fehler beim Überprüfen der Servereinrichtung", "The \"{header}\" HTTP header is not configured to equal to \"{expected}\". This is a potential security or privacy risk and we recommend adjusting this setting." : "Der „{header}“-HTTP-Header ist nicht so konfiguriert, dass er „{expected}“ entspricht. Dies ist ein potentielles Sicherheitsrisiko und es wird empfohlen, diese Einstellung zu ändern.", "The \"Strict-Transport-Security\" HTTP header is not configured to least \"2,678,400\" seconds. This is a potential security risk and we recommend adjusting this setting." : "Der „Strict-Transport-Security“-HTTP-Header ist nicht auf mindestens „2.678.400 Sekunden“ eingestellt. Dies ist ein potentielles Sicherheitsrisiko und es wird empfohlen, diese Einstellung zu ändern.", diff --git a/core/l10n/de.json b/core/l10n/de.json index 651c5886cac..7ece052809e 100644 --- a/core/l10n/de.json +++ b/core/l10n/de.json @@ -71,6 +71,7 @@ "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." : "Dieser Server hat keine funktionierende Internetverbindung. Dies bedeutet, dass einige Funktionen wie das Einhängen externen Speicherplatzes, Update-Benachrichtigungen oder die Installation von Drittanbieter-Apps nicht funktionieren werden. Der Fernzugriff auf Dateien und der Versand von E-Mail-Benachrichtigungen kann ebenfalls nicht funktionieren. Es wird empfohlen, die Internetverbindung dieses Servers zu aktivieren, wenn Du alle Funktionen nutzen möchtest.", "Your data directory and your files are probably accessible from the Internet. The .htaccess file is not working. We strongly suggest that you configure your web server in a way that the data directory is no longer accessible or you move the data directory outside the web server document root." : "Dein Datenverzeichnis und Deine Dateien sind wahrscheinlich vom Internet aus erreichbar. Die .htaccess-Datei funktioniert nicht. Es wird dringend empfohlen, Deinen Webserver dahingehend zu konfigurieren, dass das Datenverzeichnis nicht mehr vom Internet aus erreichbar ist oder dass Du es aus dem Document-Root-Verzeichnis des Webservers herausverschiebst.", "No memory cache has been configured. To enhance your performance please configure a memcache if available. Further information can be found in our <a href=\"{docLink}\">documentation</a>." : "Es wurde kein PHP Memory Cache konfiguriert. Konfiguriere zur Erhöhung der Leistungsfähigkeit, soweit verfügbar, einen Memory Cache. Weitere Informationen finden Sie in unserer <a href=\"{docLink}\">Dokumentation</a>.", + "/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in our <a href=\"{docLink}\">documentation</a>." : "/dev/urandom ist für PHP nicht lesbar, wovon aus Sicherheitsgründen dringend abgeraten wird. Weitere Informationen hierzu findest Du in unserer <a href=\"{docLink}\">Dokumentation</a>.", "Error occurred while checking server setup" : "Fehler beim Überprüfen der Servereinrichtung", "The \"{header}\" HTTP header is not configured to equal to \"{expected}\". This is a potential security or privacy risk and we recommend adjusting this setting." : "Der „{header}“-HTTP-Header ist nicht so konfiguriert, dass er „{expected}“ entspricht. Dies ist ein potentielles Sicherheitsrisiko und es wird empfohlen, diese Einstellung zu ändern.", "The \"Strict-Transport-Security\" HTTP header is not configured to least \"2,678,400\" seconds. This is a potential security risk and we recommend adjusting this setting." : "Der „Strict-Transport-Security“-HTTP-Header ist nicht auf mindestens „2.678.400 Sekunden“ eingestellt. Dies ist ein potentielles Sicherheitsrisiko und es wird empfohlen, diese Einstellung zu ändern.", diff --git a/core/l10n/de_DE.js b/core/l10n/de_DE.js index 5f97e1b90fe..10ca3ed3879 100644 --- a/core/l10n/de_DE.js +++ b/core/l10n/de_DE.js @@ -73,6 +73,7 @@ OC.L10N.register( "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." : "Dieser Server hat keine funktionierende Internetverbindung. Dies bedeutet, dass einige Funktionen wie das Einhängen externen Speicherplatzes, Update-Benachrichtigungen oder die Installation von Drittanbieter-Apps nicht funktionieren werden. Der Fernzugriff auf Dateien und der Versand von E-Mail-Benachrichtigungen kann ebenfalls nicht funktionieren. Es wird empfohlen, die Internetverbindung dieses Servers zu aktivieren, wenn Sie alle Funktionen nutzen möchten.", "Your data directory and your files are probably accessible from the Internet. The .htaccess file is not working. We strongly suggest that you configure your web server in a way that the data directory is no longer accessible or you move the data directory outside the web server document root." : "Ihr Datenverzeichnis und Ihre Dateien sind wahrscheinlich vom Internet aus erreichbar. Die .htaccess-Datei funktioniert nicht. Es wird dringend empfohlen, Ihren Webserver dahingehend zu konfigurieren, dass das Datenverzeichnis nicht mehr vom Internet aus erreichbar ist oder dass Sie es aus dem Document-Root-Verzeichnis des Webservers herausverschieben.", "No memory cache has been configured. To enhance your performance please configure a memcache if available. Further information can be found in our <a href=\"{docLink}\">documentation</a>." : "Es wurde kein PHP Memory Cache konfiguriert. Konfiguriere zur Erhöhung der Leistungsfähigkeit, soweit verfügbar, einen Memory Cache. Weitere Informationen finden Sie in unserer <a href=\"{docLink}\">Dokumentation</a>.", + "/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in our <a href=\"{docLink}\">documentation</a>." : "/dev/urandom ist von PHP nicht lesbar, wovon aus Sicherheitsgründen dringend abgeraten wird. Weitere Informationen hierzu finden Sie in unserer <a href=\"{docLink}\">Dokumentation</a>.", "Error occurred while checking server setup" : "Fehler beim Überprüfen der Servereinrichtung", "The \"{header}\" HTTP header is not configured to equal to \"{expected}\". This is a potential security or privacy risk and we recommend adjusting this setting." : "Der „{header}“-HTTP-Header ist nicht so konfiguriert, dass er „{expected}“ entspricht. Dies ist ein potentielles Sicherheitsrisiko und es wird empfohlen, diese Einstellung zu ändern.", "The \"Strict-Transport-Security\" HTTP header is not configured to least \"2,678,400\" seconds. This is a potential security risk and we recommend adjusting this setting." : "Der „Strict-Transport-Security“-HTTP-Header ist nicht auf mindestens „2.678.400 Sekunden“ eingestellt. Dies ist ein potentielles Sicherheitsrisiko und es wird empfohlen, diese Einstellung zu ändern.", diff --git a/core/l10n/de_DE.json b/core/l10n/de_DE.json index 0c03c1bc241..9ff177c8913 100644 --- a/core/l10n/de_DE.json +++ b/core/l10n/de_DE.json @@ -71,6 +71,7 @@ "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." : "Dieser Server hat keine funktionierende Internetverbindung. Dies bedeutet, dass einige Funktionen wie das Einhängen externen Speicherplatzes, Update-Benachrichtigungen oder die Installation von Drittanbieter-Apps nicht funktionieren werden. Der Fernzugriff auf Dateien und der Versand von E-Mail-Benachrichtigungen kann ebenfalls nicht funktionieren. Es wird empfohlen, die Internetverbindung dieses Servers zu aktivieren, wenn Sie alle Funktionen nutzen möchten.", "Your data directory and your files are probably accessible from the Internet. The .htaccess file is not working. We strongly suggest that you configure your web server in a way that the data directory is no longer accessible or you move the data directory outside the web server document root." : "Ihr Datenverzeichnis und Ihre Dateien sind wahrscheinlich vom Internet aus erreichbar. Die .htaccess-Datei funktioniert nicht. Es wird dringend empfohlen, Ihren Webserver dahingehend zu konfigurieren, dass das Datenverzeichnis nicht mehr vom Internet aus erreichbar ist oder dass Sie es aus dem Document-Root-Verzeichnis des Webservers herausverschieben.", "No memory cache has been configured. To enhance your performance please configure a memcache if available. Further information can be found in our <a href=\"{docLink}\">documentation</a>." : "Es wurde kein PHP Memory Cache konfiguriert. Konfiguriere zur Erhöhung der Leistungsfähigkeit, soweit verfügbar, einen Memory Cache. Weitere Informationen finden Sie in unserer <a href=\"{docLink}\">Dokumentation</a>.", + "/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in our <a href=\"{docLink}\">documentation</a>." : "/dev/urandom ist von PHP nicht lesbar, wovon aus Sicherheitsgründen dringend abgeraten wird. Weitere Informationen hierzu finden Sie in unserer <a href=\"{docLink}\">Dokumentation</a>.", "Error occurred while checking server setup" : "Fehler beim Überprüfen der Servereinrichtung", "The \"{header}\" HTTP header is not configured to equal to \"{expected}\". This is a potential security or privacy risk and we recommend adjusting this setting." : "Der „{header}“-HTTP-Header ist nicht so konfiguriert, dass er „{expected}“ entspricht. Dies ist ein potentielles Sicherheitsrisiko und es wird empfohlen, diese Einstellung zu ändern.", "The \"Strict-Transport-Security\" HTTP header is not configured to least \"2,678,400\" seconds. This is a potential security risk and we recommend adjusting this setting." : "Der „Strict-Transport-Security“-HTTP-Header ist nicht auf mindestens „2.678.400 Sekunden“ eingestellt. Dies ist ein potentielles Sicherheitsrisiko und es wird empfohlen, diese Einstellung zu ändern.", diff --git a/core/l10n/el.js b/core/l10n/el.js index fe567209a33..6b89bb2b008 100644 --- a/core/l10n/el.js +++ b/core/l10n/el.js @@ -73,6 +73,7 @@ OC.L10N.register( "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." : "Αυτός ο διακομιστής δεν έχει ενεργή σύνδεση στο διαδίκτυο. Αυτό σημαίνει ότι κάποιες υπηρεσίες όπως η σύνδεση με εξωτερικούς αποθηκευτικούς χώρους, ειδοποιήσεις για ενημερώσεις ή η εγκατάσταση εφαρμογών 3ων δεν θα είναι διαθέσιμες. Η πρόσβαση απομακρυσμένων αρχείων και η αποστολή ειδοποιήσεων μέσω ηλεκτρονικού ταχυδρομείου μπορεί επίσης να μην είναι διαθέσιμες. Προτείνουμε να ενεργοποιήσετε την πρόσβαση στο διαδίκτυο για αυτόν το διακομιστή εάν θέλετε να χρησιμοποιήσετε όλες τις υπηρεσίες.", "Your data directory and your files are probably accessible from the Internet. The .htaccess file is not working. We strongly suggest that you configure your web server in a way that the data directory is no longer accessible or you move the data directory outside the web server document root." : "Ο κατάλογος δεδομένων και τα αρχεία σας είναι πιθανόν διαθέσιμα στο διαδίκτυο. Το αρχείο .htaccess δεν λειτουργεί. Σας προτείνουμε ανεπιφύλακτα να ρυθμίσετε το διακομιστή σας με τέτοιο τρόπο ώστε ο κατάλογος δεδομένων να μην είναι πλέον προσβάσιμος ή να μετακινήσετε τον κατάλογο δεδομένων εκτός του καταλόγου της ρίζας εγγράφων-document root του διακομιστή.", "No memory cache has been configured. To enhance your performance please configure a memcache if available. Further information can be found in our <a href=\"{docLink}\">documentation</a>." : "Δεν έχει οριστεί προσωρινή μνήμη. Για να βελτιώσετε την απόδοσή σας παρακαλούμε να διαμορφώσετε ένα χώρο προσωρινής αποθήκευσης εάν υπάρχει διαθέσιμος. Περαιτέρω πληροφορίες μπορείτε να βρείτε στην <a href=\"{docLink}\">τεκμηρίωση</a>.", + "/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in our <a href=\"{docLink}\">documentation</a>." : "Το /dev/urandom δεν είναι αναγνώσιμο από την PHP, το οποίο δεν συνίσταται για λόγους ασφαλείας. Περισσότερες πληροφορίες υπάρχουν στην <a href=\"{docLink}\">τεκμηρίωσή</a> μας.", "Error occurred while checking server setup" : "Παρουσιάστηκε σφάλμα κατά τον έλεγχο της εγκατάστασης με το διακομιστή", "The \"{header}\" HTTP header is not configured to equal to \"{expected}\". This is a potential security or privacy risk and we recommend adjusting this setting." : "H \"{header}\" κεφαλίδα HTTP δεν έχει ρυθμιστεί ώστε να ισούται με \"{expected}\". Αυτό αποτελεί ενδεχόμενο κίνδυνο ασφάλειας ή ιδιωτικότητας και συστήνουμε τη διόρθωση αυτής της ρύθμισης.", "The \"Strict-Transport-Security\" HTTP header is not configured to least \"2,678,400\" seconds. This is a potential security risk and we recommend adjusting this setting." : "Η «Strict-Transport-Security\" κεφαλίδα HTTP δεν έχει ρυθμιστεί για τουλάχιστον \"2678400\" δευτερόλεπτα. Αυτό αποτελεί ενδεχόμενο κίνδυνο ασφάλειας και συστήνουμε τη διόρθωση αυτής της ρύθμισης.", diff --git a/core/l10n/el.json b/core/l10n/el.json index 2c512da3f4a..984ae0644df 100644 --- a/core/l10n/el.json +++ b/core/l10n/el.json @@ -71,6 +71,7 @@ "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." : "Αυτός ο διακομιστής δεν έχει ενεργή σύνδεση στο διαδίκτυο. Αυτό σημαίνει ότι κάποιες υπηρεσίες όπως η σύνδεση με εξωτερικούς αποθηκευτικούς χώρους, ειδοποιήσεις για ενημερώσεις ή η εγκατάσταση εφαρμογών 3ων δεν θα είναι διαθέσιμες. Η πρόσβαση απομακρυσμένων αρχείων και η αποστολή ειδοποιήσεων μέσω ηλεκτρονικού ταχυδρομείου μπορεί επίσης να μην είναι διαθέσιμες. Προτείνουμε να ενεργοποιήσετε την πρόσβαση στο διαδίκτυο για αυτόν το διακομιστή εάν θέλετε να χρησιμοποιήσετε όλες τις υπηρεσίες.", "Your data directory and your files are probably accessible from the Internet. The .htaccess file is not working. We strongly suggest that you configure your web server in a way that the data directory is no longer accessible or you move the data directory outside the web server document root." : "Ο κατάλογος δεδομένων και τα αρχεία σας είναι πιθανόν διαθέσιμα στο διαδίκτυο. Το αρχείο .htaccess δεν λειτουργεί. Σας προτείνουμε ανεπιφύλακτα να ρυθμίσετε το διακομιστή σας με τέτοιο τρόπο ώστε ο κατάλογος δεδομένων να μην είναι πλέον προσβάσιμος ή να μετακινήσετε τον κατάλογο δεδομένων εκτός του καταλόγου της ρίζας εγγράφων-document root του διακομιστή.", "No memory cache has been configured. To enhance your performance please configure a memcache if available. Further information can be found in our <a href=\"{docLink}\">documentation</a>." : "Δεν έχει οριστεί προσωρινή μνήμη. Για να βελτιώσετε την απόδοσή σας παρακαλούμε να διαμορφώσετε ένα χώρο προσωρινής αποθήκευσης εάν υπάρχει διαθέσιμος. Περαιτέρω πληροφορίες μπορείτε να βρείτε στην <a href=\"{docLink}\">τεκμηρίωση</a>.", + "/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in our <a href=\"{docLink}\">documentation</a>." : "Το /dev/urandom δεν είναι αναγνώσιμο από την PHP, το οποίο δεν συνίσταται για λόγους ασφαλείας. Περισσότερες πληροφορίες υπάρχουν στην <a href=\"{docLink}\">τεκμηρίωσή</a> μας.", "Error occurred while checking server setup" : "Παρουσιάστηκε σφάλμα κατά τον έλεγχο της εγκατάστασης με το διακομιστή", "The \"{header}\" HTTP header is not configured to equal to \"{expected}\". This is a potential security or privacy risk and we recommend adjusting this setting." : "H \"{header}\" κεφαλίδα HTTP δεν έχει ρυθμιστεί ώστε να ισούται με \"{expected}\". Αυτό αποτελεί ενδεχόμενο κίνδυνο ασφάλειας ή ιδιωτικότητας και συστήνουμε τη διόρθωση αυτής της ρύθμισης.", "The \"Strict-Transport-Security\" HTTP header is not configured to least \"2,678,400\" seconds. This is a potential security risk and we recommend adjusting this setting." : "Η «Strict-Transport-Security\" κεφαλίδα HTTP δεν έχει ρυθμιστεί για τουλάχιστον \"2678400\" δευτερόλεπτα. Αυτό αποτελεί ενδεχόμενο κίνδυνο ασφάλειας και συστήνουμε τη διόρθωση αυτής της ρύθμισης.", diff --git a/core/l10n/es.js b/core/l10n/es.js index 7d4e8319553..eb69c971a7f 100644 --- a/core/l10n/es.js +++ b/core/l10n/es.js @@ -73,6 +73,7 @@ OC.L10N.register( "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." : "Este servidor no tiene una conexión a Internet. Esto significa que algunas de las características como el montaje de almacenamiento externo, las notificaciones sobre actualizaciones o instalación de aplicaciones de terceros no funcionan. Podría no funcionar el acceso a los archivos de forma remota y el envío de correos electrónicos de notificación. Sugerimos habilitar la conexión a Internet de este servidor, si quiere tener todas las funciones.", "Your data directory and your files are probably accessible from the Internet. The .htaccess file is not working. We strongly suggest that you configure your web server in a way that the data directory is no longer accessible or you move the data directory outside the web server document root." : "Su directorio de datos y sus archivos probablemente sean accesibles desde Internet. El archivo .htaccess no está funcionando. Le sugerimos encarecidamente que configure su servidor web de modo que el directorio de datos ya no sea accesible o que mueva el directorio de datos fuera de la raíz de documentos del servidor web.", "No memory cache has been configured. To enhance your performance please configure a memcache if available. Further information can be found in our <a href=\"{docLink}\">documentation</a>." : "La memoria caché no ha sido configurada. Para aumentar su performance por favor configure memcache si está disponible. Más información puede ser encontrada en nuestra <a href=\"{docLink}\">documentación</a>.", + "/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in our <a href=\"{docLink}\">documentation</a>." : "/dev/urandom no es legible por PHP el mismo es altamente desalentado por razones de seguridad. Más información puede ser encontrada en nuestra <a href=\"{docLink}\">documentación</a>.", "Error occurred while checking server setup" : "Ha ocurrido un error al revisar la configuración del servidor", "The \"{header}\" HTTP header is not configured to equal to \"{expected}\". This is a potential security or privacy risk and we recommend adjusting this setting." : "La \"{header}\" cabecera HTTP no está configurado para ser igual a \"{expected}\". Esto puede suponer un riesgo para la seguridad o la privacidad, por lo que se recomienda ajustar esta opción.", "The \"Strict-Transport-Security\" HTTP header is not configured to least \"2,678,400\" seconds. This is a potential security risk and we recommend adjusting this setting." : "La \"Strict-Transport-Security\" Cabecera HTTP no está configurada a al menos \"2,678,400\" segundos. Esto es un riesgo potencial de seguridad y debe ajustar esta opción.", diff --git a/core/l10n/es.json b/core/l10n/es.json index c6acbfb8f1a..1eecf1f96da 100644 --- a/core/l10n/es.json +++ b/core/l10n/es.json @@ -71,6 +71,7 @@ "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." : "Este servidor no tiene una conexión a Internet. Esto significa que algunas de las características como el montaje de almacenamiento externo, las notificaciones sobre actualizaciones o instalación de aplicaciones de terceros no funcionan. Podría no funcionar el acceso a los archivos de forma remota y el envío de correos electrónicos de notificación. Sugerimos habilitar la conexión a Internet de este servidor, si quiere tener todas las funciones.", "Your data directory and your files are probably accessible from the Internet. The .htaccess file is not working. We strongly suggest that you configure your web server in a way that the data directory is no longer accessible or you move the data directory outside the web server document root." : "Su directorio de datos y sus archivos probablemente sean accesibles desde Internet. El archivo .htaccess no está funcionando. Le sugerimos encarecidamente que configure su servidor web de modo que el directorio de datos ya no sea accesible o que mueva el directorio de datos fuera de la raíz de documentos del servidor web.", "No memory cache has been configured. To enhance your performance please configure a memcache if available. Further information can be found in our <a href=\"{docLink}\">documentation</a>." : "La memoria caché no ha sido configurada. Para aumentar su performance por favor configure memcache si está disponible. Más información puede ser encontrada en nuestra <a href=\"{docLink}\">documentación</a>.", + "/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in our <a href=\"{docLink}\">documentation</a>." : "/dev/urandom no es legible por PHP el mismo es altamente desalentado por razones de seguridad. Más información puede ser encontrada en nuestra <a href=\"{docLink}\">documentación</a>.", "Error occurred while checking server setup" : "Ha ocurrido un error al revisar la configuración del servidor", "The \"{header}\" HTTP header is not configured to equal to \"{expected}\". This is a potential security or privacy risk and we recommend adjusting this setting." : "La \"{header}\" cabecera HTTP no está configurado para ser igual a \"{expected}\". Esto puede suponer un riesgo para la seguridad o la privacidad, por lo que se recomienda ajustar esta opción.", "The \"Strict-Transport-Security\" HTTP header is not configured to least \"2,678,400\" seconds. This is a potential security risk and we recommend adjusting this setting." : "La \"Strict-Transport-Security\" Cabecera HTTP no está configurada a al menos \"2,678,400\" segundos. Esto es un riesgo potencial de seguridad y debe ajustar esta opción.", diff --git a/core/l10n/fi_FI.js b/core/l10n/fi_FI.js index cffe48dbc43..68625c420f7 100644 --- a/core/l10n/fi_FI.js +++ b/core/l10n/fi_FI.js @@ -73,6 +73,7 @@ OC.L10N.register( "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." : "Tällä palvelimella ei ole toimivaa internetyhteyttä. Sen seurauksena jotkin ominaisuudet, kuten erillinen tallennustila, ilmoitukset päivityksistä ja kolmansien osapuolten sovellusten asennus eivät toimi. Tiedostojen käyttö etänä tai ilmoitusten lähetys sähköpostitse eivät välttämättä toimi myöskään. Suosittelemme kytkemään palvelimen internetyhteyteen, jos haluat käyttää kaikkia ownCloudin ominaisuuksia.", "Your data directory and your files are probably accessible from the Internet. The .htaccess file is not working. We strongly suggest that you configure your web server in a way that the data directory is no longer accessible or you move the data directory outside the web server document root." : "Datahakemistosi ja tiedostosi ovat luultavasti käytettävissä suoraan internetistä. .htaccess-tiedosto ei toimi oikein. Suosittelemme määrittämään http-palvelimen asetukset siten, ettei datahakemisto ole suoraan käytettävissä internetistä, tai siirtämään datahakemiston http-palvelimen juurihakemiston ulkopuolelle.", "No memory cache has been configured. To enhance your performance please configure a memcache if available. Further information can be found in our <a href=\"{docLink}\">documentation</a>." : "Muistissa toimivaa cachea ei ole määritetty. Paranna suorituskykyä ottamalla memcache käyttöön. Lisätietoja on saatavilla <a href=\"{docLink}\">dokumentaatiosta</a>.", + "/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in our <a href=\"{docLink}\">documentation</a>." : "/dev/urandom ei ole luettavissa PHP:n toimesta. Turvallisuussyistä tämä ei ole suositeltava asetus. Lisätietoja on tarjolla <a href=\"{docLink}\">dokumentaatiossa</a>.", "Error occurred while checking server setup" : "Virhe palvelimen määrityksiä tarkistaessa", "The \"{header}\" HTTP header is not configured to equal to \"{expected}\". This is a potential security or privacy risk and we recommend adjusting this setting." : "HTTP-otsaketta \"{header}\" ei ole määritetty vastaamaan arvoa \"{expected}\". Kyseessä on mahdollinen tietoturvaan tai -suojaan liittyvä riski, joten suosittelemme muuttamaan asetuksen arvoa.", "The \"Strict-Transport-Security\" HTTP header is not configured to least \"2,678,400\" seconds. This is a potential security risk and we recommend adjusting this setting." : "HTTP-otsaketta \"Strict-Transport-Security\" ei ole määritetty vähintään \"2,678,400\" sekuntiin. Tämä on mahdollinen tietoturvariski, joten suosittelemme kyseisen asetuksen muuttamista.", diff --git a/core/l10n/fi_FI.json b/core/l10n/fi_FI.json index 58788a8421e..42d2d365326 100644 --- a/core/l10n/fi_FI.json +++ b/core/l10n/fi_FI.json @@ -71,6 +71,7 @@ "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." : "Tällä palvelimella ei ole toimivaa internetyhteyttä. Sen seurauksena jotkin ominaisuudet, kuten erillinen tallennustila, ilmoitukset päivityksistä ja kolmansien osapuolten sovellusten asennus eivät toimi. Tiedostojen käyttö etänä tai ilmoitusten lähetys sähköpostitse eivät välttämättä toimi myöskään. Suosittelemme kytkemään palvelimen internetyhteyteen, jos haluat käyttää kaikkia ownCloudin ominaisuuksia.", "Your data directory and your files are probably accessible from the Internet. The .htaccess file is not working. We strongly suggest that you configure your web server in a way that the data directory is no longer accessible or you move the data directory outside the web server document root." : "Datahakemistosi ja tiedostosi ovat luultavasti käytettävissä suoraan internetistä. .htaccess-tiedosto ei toimi oikein. Suosittelemme määrittämään http-palvelimen asetukset siten, ettei datahakemisto ole suoraan käytettävissä internetistä, tai siirtämään datahakemiston http-palvelimen juurihakemiston ulkopuolelle.", "No memory cache has been configured. To enhance your performance please configure a memcache if available. Further information can be found in our <a href=\"{docLink}\">documentation</a>." : "Muistissa toimivaa cachea ei ole määritetty. Paranna suorituskykyä ottamalla memcache käyttöön. Lisätietoja on saatavilla <a href=\"{docLink}\">dokumentaatiosta</a>.", + "/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in our <a href=\"{docLink}\">documentation</a>." : "/dev/urandom ei ole luettavissa PHP:n toimesta. Turvallisuussyistä tämä ei ole suositeltava asetus. Lisätietoja on tarjolla <a href=\"{docLink}\">dokumentaatiossa</a>.", "Error occurred while checking server setup" : "Virhe palvelimen määrityksiä tarkistaessa", "The \"{header}\" HTTP header is not configured to equal to \"{expected}\". This is a potential security or privacy risk and we recommend adjusting this setting." : "HTTP-otsaketta \"{header}\" ei ole määritetty vastaamaan arvoa \"{expected}\". Kyseessä on mahdollinen tietoturvaan tai -suojaan liittyvä riski, joten suosittelemme muuttamaan asetuksen arvoa.", "The \"Strict-Transport-Security\" HTTP header is not configured to least \"2,678,400\" seconds. This is a potential security risk and we recommend adjusting this setting." : "HTTP-otsaketta \"Strict-Transport-Security\" ei ole määritetty vähintään \"2,678,400\" sekuntiin. Tämä on mahdollinen tietoturvariski, joten suosittelemme kyseisen asetuksen muuttamista.", diff --git a/core/l10n/fr.js b/core/l10n/fr.js index 8f5bff70d4e..7c9661a0f9b 100644 --- a/core/l10n/fr.js +++ b/core/l10n/fr.js @@ -73,6 +73,7 @@ OC.L10N.register( "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." : "Ce serveur ne peut se connecter à internet. Cela signifie que certaines fonctionnalités, telles que le montage de supports de stockage distants, les notifications de mises à jour ou l'installation d'applications tierces ne fonctionneront pas. L'accès aux fichiers à distance, ainsi que les notifications par mail peuvent aussi être indisponibles. Il est recommandé d'activer la connexion internet pour ce serveur si vous souhaitez disposer de l'ensemble des fonctionnalités offertes.", "Your data directory and your files are probably accessible from the Internet. The .htaccess file is not working. We strongly suggest that you configure your web server in a way that the data directory is no longer accessible or you move the data directory outside the web server document root." : "Votre dossier de données et vos fichiers sont probablement accessibles depuis internet. Le fichier .htaccess ne fonctionne pas. Nous vous recommandons vivement de configurer votre serveur web de façon à ce que ce dossier de données ne soit plus accessible, ou de le déplacer hors de la racine du serveur web.", "No memory cache has been configured. To enhance your performance please configure a memcache if available. Further information can be found in our <a href=\"{docLink}\">documentation</a>." : "Aucun cache de la mémoire n'est configuré. Si possible, configurez un \"memcache\" pour augmenter les performances. Pour plus d'information consultez la <a href=\"{docLink}\">documentation</a>.", + "/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in our <a href=\"{docLink}\">documentation</a>." : "/dev/urandom n'est pas lisible par PHP, ce qui est fortement déconseillé pour des raisons de sécurité. Plus d'informations peuvent être trouvées dans notre <a href=\"{docLink}\">documentation</a>.", "Error occurred while checking server setup" : "Une erreur s'est produite lors de la vérification de la configuration du serveur", "The \"{header}\" HTTP header is not configured to equal to \"{expected}\". This is a potential security or privacy risk and we recommend adjusting this setting." : "L'en-tête HTTP \"{header}\" n'est pas configurée pour être égale à \"{expected}\" créant potentiellement un risque relié à la sécurité et à la vie privée. Il est donc recommandé d'ajuster ce paramètre.", "The \"Strict-Transport-Security\" HTTP header is not configured to least \"2,678,400\" seconds. This is a potential security risk and we recommend adjusting this setting." : "L'en-tête HTTP \"Strict-Transport-Security\" n'est pas configurée à \"2,678,400\" secondes. C'est un risque de sécurité potentiel et il est donc recommandé d'ajuster ce paramètre.", @@ -191,6 +192,8 @@ OC.L10N.register( "Data folder" : "Répertoire des données", "Configure the database" : "Configurer la base de données", "Only %s is available." : "%s seulement est disponible.", + "Install and activate additional PHP modules to choose other database types." : "Installez et activez les modules PHP additionnels adéquats pour choisir d'autres types de base de données.", + "For more details check out the documentation." : "Consultez la documentation pour plus de détails.", "Database user" : "Utilisateur de la base de données", "Database password" : "Mot de passe de la base de données", "Database name" : "Nom de la base de données", diff --git a/core/l10n/fr.json b/core/l10n/fr.json index 6e0e9f4aa18..0e9f82a26f7 100644 --- a/core/l10n/fr.json +++ b/core/l10n/fr.json @@ -71,6 +71,7 @@ "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." : "Ce serveur ne peut se connecter à internet. Cela signifie que certaines fonctionnalités, telles que le montage de supports de stockage distants, les notifications de mises à jour ou l'installation d'applications tierces ne fonctionneront pas. L'accès aux fichiers à distance, ainsi que les notifications par mail peuvent aussi être indisponibles. Il est recommandé d'activer la connexion internet pour ce serveur si vous souhaitez disposer de l'ensemble des fonctionnalités offertes.", "Your data directory and your files are probably accessible from the Internet. The .htaccess file is not working. We strongly suggest that you configure your web server in a way that the data directory is no longer accessible or you move the data directory outside the web server document root." : "Votre dossier de données et vos fichiers sont probablement accessibles depuis internet. Le fichier .htaccess ne fonctionne pas. Nous vous recommandons vivement de configurer votre serveur web de façon à ce que ce dossier de données ne soit plus accessible, ou de le déplacer hors de la racine du serveur web.", "No memory cache has been configured. To enhance your performance please configure a memcache if available. Further information can be found in our <a href=\"{docLink}\">documentation</a>." : "Aucun cache de la mémoire n'est configuré. Si possible, configurez un \"memcache\" pour augmenter les performances. Pour plus d'information consultez la <a href=\"{docLink}\">documentation</a>.", + "/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in our <a href=\"{docLink}\">documentation</a>." : "/dev/urandom n'est pas lisible par PHP, ce qui est fortement déconseillé pour des raisons de sécurité. Plus d'informations peuvent être trouvées dans notre <a href=\"{docLink}\">documentation</a>.", "Error occurred while checking server setup" : "Une erreur s'est produite lors de la vérification de la configuration du serveur", "The \"{header}\" HTTP header is not configured to equal to \"{expected}\". This is a potential security or privacy risk and we recommend adjusting this setting." : "L'en-tête HTTP \"{header}\" n'est pas configurée pour être égale à \"{expected}\" créant potentiellement un risque relié à la sécurité et à la vie privée. Il est donc recommandé d'ajuster ce paramètre.", "The \"Strict-Transport-Security\" HTTP header is not configured to least \"2,678,400\" seconds. This is a potential security risk and we recommend adjusting this setting." : "L'en-tête HTTP \"Strict-Transport-Security\" n'est pas configurée à \"2,678,400\" secondes. C'est un risque de sécurité potentiel et il est donc recommandé d'ajuster ce paramètre.", @@ -189,6 +190,8 @@ "Data folder" : "Répertoire des données", "Configure the database" : "Configurer la base de données", "Only %s is available." : "%s seulement est disponible.", + "Install and activate additional PHP modules to choose other database types." : "Installez et activez les modules PHP additionnels adéquats pour choisir d'autres types de base de données.", + "For more details check out the documentation." : "Consultez la documentation pour plus de détails.", "Database user" : "Utilisateur de la base de données", "Database password" : "Mot de passe de la base de données", "Database name" : "Nom de la base de données", diff --git a/core/l10n/gl.js b/core/l10n/gl.js index 66fa87c9ad6..127ab67a716 100644 --- a/core/l10n/gl.js +++ b/core/l10n/gl.js @@ -73,6 +73,7 @@ OC.L10N.register( "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." : "Este servidor non ten conexión activa a Internet. Isto significa que algunhas características como a montaxe do almacenamento externo, as notificacións sobre actualizacións ou a instalación de engadidos de terceiros non funcionarán. Así mesmo, o acceso remoto a ficheiros e enviar correos de notificación poderían non funcionar. Suxerímoslle que active a conexión a Internet para este servidor se quere ter todos estes servizos.", "Your data directory and your files are probably accessible from the Internet. The .htaccess file is not working. We strongly suggest that you configure your web server in a way that the data directory is no longer accessible or you move the data directory outside the web server document root." : "O directorio de datos e os seus ficheiros probabelmente son accesíbeis desde a Internet. O ficheiro .htaccess non funciona. Recomendámoslle que configure o seu servidor web de xeito que o directorio de datos non sexa accesíbel ou que mova o directorio de datos fora do directorio root do servidor web.", "No memory cache has been configured. To enhance your performance please configure a memcache if available. Further information can be found in our <a href=\"{docLink}\">documentation</a>." : "Non foi configurada a memoria cache. Para mellorar o rendemento configure unha «memcache», se está dispoñíbel. Pode atopar máis información na nosa <a href=\"{docLink}\">documentación</a>.", + "/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in our <a href=\"{docLink}\">documentation</a>." : "/dev/urandom non é lexíbel por PHP xa que esta absolutamente desaconsellado por razóns de seguridade. Pode atopar máis información na nosa <a href=\"{docLink}\">documentación</a>.", "Error occurred while checking server setup" : "Aconteceu un erro mentras se comprobaba a configuración do servidor", "The \"{header}\" HTTP header is not configured to equal to \"{expected}\". This is a potential security or privacy risk and we recommend adjusting this setting." : "A cabeceira HTTP «{header}» non está configurada como igual a «{expected}». Isto é un posíbel risco para a seguridade ou a intimidade, recomendámoslle que axuste esta opción.", "The \"Strict-Transport-Security\" HTTP header is not configured to least \"2,678,400\" seconds. This is a potential security risk and we recommend adjusting this setting." : "A cabeceira HTTP «Strict-Transport-Security» non está configurado para menos de «2,678,400» segundos . Isto é un posíbel risco para a seguridade, recomendámoslle que axuste esta opción.", diff --git a/core/l10n/gl.json b/core/l10n/gl.json index e888d689551..f1e6330c6d1 100644 --- a/core/l10n/gl.json +++ b/core/l10n/gl.json @@ -71,6 +71,7 @@ "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." : "Este servidor non ten conexión activa a Internet. Isto significa que algunhas características como a montaxe do almacenamento externo, as notificacións sobre actualizacións ou a instalación de engadidos de terceiros non funcionarán. Así mesmo, o acceso remoto a ficheiros e enviar correos de notificación poderían non funcionar. Suxerímoslle que active a conexión a Internet para este servidor se quere ter todos estes servizos.", "Your data directory and your files are probably accessible from the Internet. The .htaccess file is not working. We strongly suggest that you configure your web server in a way that the data directory is no longer accessible or you move the data directory outside the web server document root." : "O directorio de datos e os seus ficheiros probabelmente son accesíbeis desde a Internet. O ficheiro .htaccess non funciona. Recomendámoslle que configure o seu servidor web de xeito que o directorio de datos non sexa accesíbel ou que mova o directorio de datos fora do directorio root do servidor web.", "No memory cache has been configured. To enhance your performance please configure a memcache if available. Further information can be found in our <a href=\"{docLink}\">documentation</a>." : "Non foi configurada a memoria cache. Para mellorar o rendemento configure unha «memcache», se está dispoñíbel. Pode atopar máis información na nosa <a href=\"{docLink}\">documentación</a>.", + "/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in our <a href=\"{docLink}\">documentation</a>." : "/dev/urandom non é lexíbel por PHP xa que esta absolutamente desaconsellado por razóns de seguridade. Pode atopar máis información na nosa <a href=\"{docLink}\">documentación</a>.", "Error occurred while checking server setup" : "Aconteceu un erro mentras se comprobaba a configuración do servidor", "The \"{header}\" HTTP header is not configured to equal to \"{expected}\". This is a potential security or privacy risk and we recommend adjusting this setting." : "A cabeceira HTTP «{header}» non está configurada como igual a «{expected}». Isto é un posíbel risco para a seguridade ou a intimidade, recomendámoslle que axuste esta opción.", "The \"Strict-Transport-Security\" HTTP header is not configured to least \"2,678,400\" seconds. This is a potential security risk and we recommend adjusting this setting." : "A cabeceira HTTP «Strict-Transport-Security» non está configurado para menos de «2,678,400» segundos . Isto é un posíbel risco para a seguridade, recomendámoslle que axuste esta opción.", diff --git a/core/l10n/it.js b/core/l10n/it.js index bcfc4950788..84551ccd86c 100644 --- a/core/l10n/it.js +++ b/core/l10n/it.js @@ -73,6 +73,7 @@ OC.L10N.register( "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." : "Questo server non ha una connessione a Internet funzionante. Ciò significa che alcune delle funzionalità come il montaggio di archivi esterni, le notifiche degli aggiornamenti o l'installazione di applicazioni di terze parti non funzioneranno. L'accesso remoto ai file e l'invio di email di notifica potrebbero non funzionare. Ti suggeriamo di abilitare la connessione a Internet del server se desideri disporre di tutte le funzionalità.", "Your data directory and your files are probably accessible from the Internet. The .htaccess file is not working. We strongly suggest that you configure your web server in a way that the data directory is no longer accessible or you move the data directory outside the web server document root." : "La cartella dei dati e i tuoi file sono probabilmente accessibili da Internet.\nIl file .htaccess non funziona. Ti consigliamo vivamente di configurare il server web in modo che la cartella dei dati non sia più accessibile o di spostare la cartella fuori dalla radice del server web.", "No memory cache has been configured. To enhance your performance please configure a memcache if available. Further information can be found in our <a href=\"{docLink}\">documentation</a>." : "Non è stata configurata alcuna cache di memoria. Per migliorare le prestazioni configura memcache, se disponibile. Ulteriori informazioni sono disponibili nella nostra <a href=\"{docLink}\">documentazione</a>.", + "/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in our <a href=\"{docLink}\">documentation</a>." : "/dev/urandom non è leggibile da PHP e ciò è vivamente sconsigliato per motivi di sicurezza. Ulteriori informazioni sono disponibili nella nostra <a href=\"{docLink}\">documentazione</a>.", "Error occurred while checking server setup" : "Si è verificato un errore durante il controllo della configurazione del server", "The \"{header}\" HTTP header is not configured to equal to \"{expected}\". This is a potential security or privacy risk and we recommend adjusting this setting." : "L'intestazione HTTP \"{header}\" non è configurata come \"{expected}\". \nQuesto è un potenziale rischio di sicurezza o di riservatezza dei dati e noi consigliamo di modificare questa impostazione.", "The \"Strict-Transport-Security\" HTTP header is not configured to least \"2,678,400\" seconds. This is a potential security risk and we recommend adjusting this setting." : "L'intestazione HTTP \"Strict-Transport-Security\" non è configurata con un valore almeno di \"2,678,400\" secondi. Questo è un potenziale rischio di sicurezza e noi consigliamo di modificare questa impostazione.", diff --git a/core/l10n/it.json b/core/l10n/it.json index 430d893966e..080160f38d4 100644 --- a/core/l10n/it.json +++ b/core/l10n/it.json @@ -71,6 +71,7 @@ "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." : "Questo server non ha una connessione a Internet funzionante. Ciò significa che alcune delle funzionalità come il montaggio di archivi esterni, le notifiche degli aggiornamenti o l'installazione di applicazioni di terze parti non funzioneranno. L'accesso remoto ai file e l'invio di email di notifica potrebbero non funzionare. Ti suggeriamo di abilitare la connessione a Internet del server se desideri disporre di tutte le funzionalità.", "Your data directory and your files are probably accessible from the Internet. The .htaccess file is not working. We strongly suggest that you configure your web server in a way that the data directory is no longer accessible or you move the data directory outside the web server document root." : "La cartella dei dati e i tuoi file sono probabilmente accessibili da Internet.\nIl file .htaccess non funziona. Ti consigliamo vivamente di configurare il server web in modo che la cartella dei dati non sia più accessibile o di spostare la cartella fuori dalla radice del server web.", "No memory cache has been configured. To enhance your performance please configure a memcache if available. Further information can be found in our <a href=\"{docLink}\">documentation</a>." : "Non è stata configurata alcuna cache di memoria. Per migliorare le prestazioni configura memcache, se disponibile. Ulteriori informazioni sono disponibili nella nostra <a href=\"{docLink}\">documentazione</a>.", + "/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in our <a href=\"{docLink}\">documentation</a>." : "/dev/urandom non è leggibile da PHP e ciò è vivamente sconsigliato per motivi di sicurezza. Ulteriori informazioni sono disponibili nella nostra <a href=\"{docLink}\">documentazione</a>.", "Error occurred while checking server setup" : "Si è verificato un errore durante il controllo della configurazione del server", "The \"{header}\" HTTP header is not configured to equal to \"{expected}\". This is a potential security or privacy risk and we recommend adjusting this setting." : "L'intestazione HTTP \"{header}\" non è configurata come \"{expected}\". \nQuesto è un potenziale rischio di sicurezza o di riservatezza dei dati e noi consigliamo di modificare questa impostazione.", "The \"Strict-Transport-Security\" HTTP header is not configured to least \"2,678,400\" seconds. This is a potential security risk and we recommend adjusting this setting." : "L'intestazione HTTP \"Strict-Transport-Security\" non è configurata con un valore almeno di \"2,678,400\" secondi. Questo è un potenziale rischio di sicurezza e noi consigliamo di modificare questa impostazione.", diff --git a/core/l10n/ja.js b/core/l10n/ja.js index 9fa8fa22585..ea90929a417 100644 --- a/core/l10n/ja.js +++ b/core/l10n/ja.js @@ -72,7 +72,11 @@ OC.L10N.register( "Your web server is not yet set up properly to allow file synchronization because the WebDAV interface seems to be broken." : "WebDAVインターフェースが動作していないようです。Webサーバーは、ファイルの同期を許可するよう適切に設定されていません。", "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." : "このサーバーはインターネットに接続されていません。この場合、外部ストレージのマウント、更新の通知やサードパーティ製のアプリ、といったいくつかの機能が使えません。また、リモート接続でのファイルアクセス、通知メールの送信のような機能も利用できない可能性があります。全ての機能を利用するためには、このサーバーからインターネットに接続できるようにすることをお勧めします。", "Your data directory and your files are probably accessible from the Internet. The .htaccess file is not working. We strongly suggest that you configure your web server in a way that the data directory is no longer accessible or you move the data directory outside the web server document root." : "データディレクトリとファイルがインターネットからアクセス可能になっている可能性があります。.htaccessファイルが機能していません。データディレクトリがアクセスされないようにWebサーバーを設定するか、Webサーバーのドキュメントルートからデータディレクトリを移動するように強くお勧めします。", + "No memory cache has been configured. To enhance your performance please configure a memcache if available. Further information can be found in our <a href=\"{docLink}\">documentation</a>." : "メモリキャッシュが設定されていません。パフォーマンスを向上するために、可能であれば memcache を設定してください。 より詳しい情報については、<a href=\"{docLink}\">documentation</a> を参照してください。", + "/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in our <a href=\"{docLink}\">documentation</a>." : "/dev/urandom は PHP から読み取ることができず、この状態はセキュリティの観点からおすすめできません。より詳しい情報については、<a href=\"{docLink}\">documentation</a> を参照ください。", "Error occurred while checking server setup" : "サーバー設定のチェック中にエラーが発生しました", + "The \"{header}\" HTTP header is not configured to equal to \"{expected}\". This is a potential security or privacy risk and we recommend adjusting this setting." : "\"{header}\" HTTP ヘッダは \"{expected}\" に設定されていません。これは潜在的なセキュリティリスクもしくはプライバシーリスクとなる可能性があるため、この設定を見直すことをおすすめします。", + "The \"Strict-Transport-Security\" HTTP header is not configured to least \"2,678,400\" seconds. This is a potential security risk and we recommend adjusting this setting." : "\"Strict-Transport-Security\" HTTP ヘッダは最小値の \"2,678,400\" 秒に設定されていません。これは潜在的なセキュリティリスクとなる可能性があるため、この設定を見直すことをおすすめします。", "You are accessing this site via HTTP. We strongly suggest you configure your server to require using HTTPS instead." : "HTTP経由でアクセスしています。HTTPSを使用するようサーバーを設定することを強くおすすめします。", "Shared" : "共有中", "Shared with {recipients}" : "{recipients} と共有", @@ -83,6 +87,8 @@ OC.L10N.register( "Error while changing permissions" : "権限変更でエラー発生", "Shared with you and the group {group} by {owner}" : "あなたと {owner} のグループ {group} で共有中", "Shared with you by {owner}" : "{owner} と共有中", + "Share with users or groups …" : "ユーザーもしくはグループと共有 ...", + "Share with users, groups or remote users …" : "ユーザー、グループもしくはリモートユーザーと共有 ...", "Share with people on other ownClouds using the syntax username@example.com/owncloud" : "次の形式で指定して他のownCloudのユーザーと、共有", "Share link" : "URLで共有", "The public link will expire no later than {days} days after it is created" : "URLによる共有は、作成してから {days} 日以内に有効期限切れになります", @@ -96,6 +102,7 @@ OC.L10N.register( "Set expiration date" : "有効期限を設定", "Expiration" : "期限切れ", "Expiration date" : "有効期限", + "An error occured. Please try again" : "エラーが発生しました。もう一度トライしてください。", "Adding user..." : "ユーザーを追加しています...", "group" : "グループ", "remote" : "リモート", @@ -128,6 +135,7 @@ OC.L10N.register( "Hello {name}, the weather is {weather}" : "こんにちは、 {name}、 天気は{weather}です", "Hello {name}" : " {name}さん、こんにちは", "_download %n file_::_download %n files_" : ["%n個のファイルをダウンロード"], + "{version} is available. Get more information on how to update." : "{version} が利用可能です。アップデート方法について詳細情報を確認してください。", "Updating {productName} to version {version}, this may take a while." : "{productName} を バージョン {version} に更新しています。しばらくお待ちください。", "Please reload the page." : "ページをリロードしてください。", "The update was unsuccessful. " : "アップデートに失敗しました。", @@ -175,6 +183,7 @@ OC.L10N.register( "File: %s" : "ファイル: %s", "Line: %s" : "行: %s", "Trace" : "トレース", + "Security warning" : "セキュリティ警告", "Your data directory and files are probably accessible from the internet because the .htaccess file does not work." : ".htaccessファイルが動作していないため、おそらくあなたのデータディレクトリまたはファイルはインターネットからアクセス可能になっています。", "For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\">documentation</a>." : "サーバーを適正に設定する情報は、こちらの<a href=\"%s\" target=\"_blank\">ドキュメント</a>を参照してください。", "Create an <strong>admin account</strong>" : "<strong>管理者アカウント</strong>を作成してください", @@ -183,21 +192,28 @@ OC.L10N.register( "Data folder" : "データフォルダー", "Configure the database" : "データベースを設定してください", "Only %s is available." : "%s のみ有効です。", + "Install and activate additional PHP modules to choose other database types." : "他のデータベースタイプを選択するためには、追加の PHP モジュールインストールして有効化してください。", + "For more details check out the documentation." : "詳細についてはドキュメントを確認して下さい。", "Database user" : "データベースのユーザー名", "Database password" : "データベースのパスワード", "Database name" : "データベース名", "Database tablespace" : "データベースの表領域", "Database host" : "データベースのホスト名", + "Performance warning" : "パフォーマンス警告", "SQLite will be used as database." : "SQLiteをデータベースとして使用しています。", "For larger installations we recommend to choose a different database backend." : "大規模な運用では別のデータベースを選択することをお勧めします。", "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "特にデスクトップクライアントをファイル同期に使用する場合,SQLiteは非推奨です.", "Finish setup" : "セットアップを完了します", "Finishing …" : "作業を完了しています ...", + "Need help?" : "ヘルプが必要ですか?", + "See the documentation" : "ドキュメントを確認してください", "This application requires JavaScript for correct operation. Please {linkstart}enable JavaScript{linkend} and reload the page." : "このアプリケーションの動作にはJavaScriptが必要です。\n {linkstart}JavaScriptを有効にし{linkend} 、ページを更新してください。 ", "Log out" : "ログアウト", "Search" : "検索", "Server side authentication failed!" : "サーバーサイドの認証に失敗しました!", "Please contact your administrator." : "管理者に問い合わせてください。", + "An internal error occured." : "内部エラーが発生しました。", + "Please try again or contact your administrator." : "もう一度試してみるか、管理者に問い合わせてください。", "Forgot your password? Reset it!" : "パスワードを忘れましたか?リセットします!", "remember" : "パスワードを保存", "Log in" : "ログイン", diff --git a/core/l10n/ja.json b/core/l10n/ja.json index 28be08048f0..a8e6e4bf8ea 100644 --- a/core/l10n/ja.json +++ b/core/l10n/ja.json @@ -70,7 +70,11 @@ "Your web server is not yet set up properly to allow file synchronization because the WebDAV interface seems to be broken." : "WebDAVインターフェースが動作していないようです。Webサーバーは、ファイルの同期を許可するよう適切に設定されていません。", "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." : "このサーバーはインターネットに接続されていません。この場合、外部ストレージのマウント、更新の通知やサードパーティ製のアプリ、といったいくつかの機能が使えません。また、リモート接続でのファイルアクセス、通知メールの送信のような機能も利用できない可能性があります。全ての機能を利用するためには、このサーバーからインターネットに接続できるようにすることをお勧めします。", "Your data directory and your files are probably accessible from the Internet. The .htaccess file is not working. We strongly suggest that you configure your web server in a way that the data directory is no longer accessible or you move the data directory outside the web server document root." : "データディレクトリとファイルがインターネットからアクセス可能になっている可能性があります。.htaccessファイルが機能していません。データディレクトリがアクセスされないようにWebサーバーを設定するか、Webサーバーのドキュメントルートからデータディレクトリを移動するように強くお勧めします。", + "No memory cache has been configured. To enhance your performance please configure a memcache if available. Further information can be found in our <a href=\"{docLink}\">documentation</a>." : "メモリキャッシュが設定されていません。パフォーマンスを向上するために、可能であれば memcache を設定してください。 より詳しい情報については、<a href=\"{docLink}\">documentation</a> を参照してください。", + "/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in our <a href=\"{docLink}\">documentation</a>." : "/dev/urandom は PHP から読み取ることができず、この状態はセキュリティの観点からおすすめできません。より詳しい情報については、<a href=\"{docLink}\">documentation</a> を参照ください。", "Error occurred while checking server setup" : "サーバー設定のチェック中にエラーが発生しました", + "The \"{header}\" HTTP header is not configured to equal to \"{expected}\". This is a potential security or privacy risk and we recommend adjusting this setting." : "\"{header}\" HTTP ヘッダは \"{expected}\" に設定されていません。これは潜在的なセキュリティリスクもしくはプライバシーリスクとなる可能性があるため、この設定を見直すことをおすすめします。", + "The \"Strict-Transport-Security\" HTTP header is not configured to least \"2,678,400\" seconds. This is a potential security risk and we recommend adjusting this setting." : "\"Strict-Transport-Security\" HTTP ヘッダは最小値の \"2,678,400\" 秒に設定されていません。これは潜在的なセキュリティリスクとなる可能性があるため、この設定を見直すことをおすすめします。", "You are accessing this site via HTTP. We strongly suggest you configure your server to require using HTTPS instead." : "HTTP経由でアクセスしています。HTTPSを使用するようサーバーを設定することを強くおすすめします。", "Shared" : "共有中", "Shared with {recipients}" : "{recipients} と共有", @@ -81,6 +85,8 @@ "Error while changing permissions" : "権限変更でエラー発生", "Shared with you and the group {group} by {owner}" : "あなたと {owner} のグループ {group} で共有中", "Shared with you by {owner}" : "{owner} と共有中", + "Share with users or groups …" : "ユーザーもしくはグループと共有 ...", + "Share with users, groups or remote users …" : "ユーザー、グループもしくはリモートユーザーと共有 ...", "Share with people on other ownClouds using the syntax username@example.com/owncloud" : "次の形式で指定して他のownCloudのユーザーと、共有", "Share link" : "URLで共有", "The public link will expire no later than {days} days after it is created" : "URLによる共有は、作成してから {days} 日以内に有効期限切れになります", @@ -94,6 +100,7 @@ "Set expiration date" : "有効期限を設定", "Expiration" : "期限切れ", "Expiration date" : "有効期限", + "An error occured. Please try again" : "エラーが発生しました。もう一度トライしてください。", "Adding user..." : "ユーザーを追加しています...", "group" : "グループ", "remote" : "リモート", @@ -126,6 +133,7 @@ "Hello {name}, the weather is {weather}" : "こんにちは、 {name}、 天気は{weather}です", "Hello {name}" : " {name}さん、こんにちは", "_download %n file_::_download %n files_" : ["%n個のファイルをダウンロード"], + "{version} is available. Get more information on how to update." : "{version} が利用可能です。アップデート方法について詳細情報を確認してください。", "Updating {productName} to version {version}, this may take a while." : "{productName} を バージョン {version} に更新しています。しばらくお待ちください。", "Please reload the page." : "ページをリロードしてください。", "The update was unsuccessful. " : "アップデートに失敗しました。", @@ -173,6 +181,7 @@ "File: %s" : "ファイル: %s", "Line: %s" : "行: %s", "Trace" : "トレース", + "Security warning" : "セキュリティ警告", "Your data directory and files are probably accessible from the internet because the .htaccess file does not work." : ".htaccessファイルが動作していないため、おそらくあなたのデータディレクトリまたはファイルはインターネットからアクセス可能になっています。", "For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\">documentation</a>." : "サーバーを適正に設定する情報は、こちらの<a href=\"%s\" target=\"_blank\">ドキュメント</a>を参照してください。", "Create an <strong>admin account</strong>" : "<strong>管理者アカウント</strong>を作成してください", @@ -181,21 +190,28 @@ "Data folder" : "データフォルダー", "Configure the database" : "データベースを設定してください", "Only %s is available." : "%s のみ有効です。", + "Install and activate additional PHP modules to choose other database types." : "他のデータベースタイプを選択するためには、追加の PHP モジュールインストールして有効化してください。", + "For more details check out the documentation." : "詳細についてはドキュメントを確認して下さい。", "Database user" : "データベースのユーザー名", "Database password" : "データベースのパスワード", "Database name" : "データベース名", "Database tablespace" : "データベースの表領域", "Database host" : "データベースのホスト名", + "Performance warning" : "パフォーマンス警告", "SQLite will be used as database." : "SQLiteをデータベースとして使用しています。", "For larger installations we recommend to choose a different database backend." : "大規模な運用では別のデータベースを選択することをお勧めします。", "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "特にデスクトップクライアントをファイル同期に使用する場合,SQLiteは非推奨です.", "Finish setup" : "セットアップを完了します", "Finishing …" : "作業を完了しています ...", + "Need help?" : "ヘルプが必要ですか?", + "See the documentation" : "ドキュメントを確認してください", "This application requires JavaScript for correct operation. Please {linkstart}enable JavaScript{linkend} and reload the page." : "このアプリケーションの動作にはJavaScriptが必要です。\n {linkstart}JavaScriptを有効にし{linkend} 、ページを更新してください。 ", "Log out" : "ログアウト", "Search" : "検索", "Server side authentication failed!" : "サーバーサイドの認証に失敗しました!", "Please contact your administrator." : "管理者に問い合わせてください。", + "An internal error occured." : "内部エラーが発生しました。", + "Please try again or contact your administrator." : "もう一度試してみるか、管理者に問い合わせてください。", "Forgot your password? Reset it!" : "パスワードを忘れましたか?リセットします!", "remember" : "パスワードを保存", "Log in" : "ログイン", diff --git a/core/l10n/nb_NO.js b/core/l10n/nb_NO.js index 707fd56605b..6cfdab3d458 100644 --- a/core/l10n/nb_NO.js +++ b/core/l10n/nb_NO.js @@ -72,6 +72,8 @@ OC.L10N.register( "Your web server is not yet set up properly to allow file synchronization because the WebDAV interface seems to be broken." : "Web-serveren din er ikke satt opp til å tillate synkronisering av filer ennå, fordi WebDAV-grensesnittet ikke ser ut til å virke.", "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." : "Denne serveren har ingen fungerende internett-forbindelse. Dette betyr at noen funksjoner, som tilknytning av eksterne lagre, varslinger om oppdateringer eller installering av tredjeparts apper ikke vil virke. Fjerntilgang til filer og utsending av varsler på e-post vil kanskje ikke virke heller. Vi anbefaler å aktivere en internett-forbindelse for denne serveren hvis du vil ha full funksjonalitet.", "Your data directory and your files are probably accessible from the Internet. The .htaccess file is not working. We strongly suggest that you configure your web server in a way that the data directory is no longer accessible or you move the data directory outside the web server document root." : "Datamappen og filene dine er sannsynligvis tilgjengelige fra Internett. .htaccess-filen fungerer ikke. Vi anbefaler sterkt at du konfigurerer web-serveren slik at datamappen ikke kan aksesseres eller at du flytter datamappen ut av web-serverens dokumentrot.", + "No memory cache has been configured. To enhance your performance please configure a memcache if available. Further information can be found in our <a href=\"{docLink}\">documentation</a>." : "Intet minne-cache er konfigurert. For å forbedre ytelsen, installer et minne-cache hvis tilgjengelig. Mer informasjon finnes i <a href=\"{docLink}\">dokumentasjonen</a>.", + "/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in our <a href=\"{docLink}\">documentation</a>." : "/dev/urandom kan ikke leses av PHP, noe som er sterkt frarådet av sikkerhetshensyn. Mer informasjon finnes i <a href=\"{docLink}\">dokumentasjonen</a>.", "Error occurred while checking server setup" : "Feil oppstod ved sjekking av server-oppsett", "The \"{header}\" HTTP header is not configured to equal to \"{expected}\". This is a potential security or privacy risk and we recommend adjusting this setting." : "HTTP-header \"{header}\" er ikke konfigurert lik \"{expected}\". Dette kan være en sikkerhetsrisiko og vi anbefaler at denne innstillingen endres.", "The \"Strict-Transport-Security\" HTTP header is not configured to least \"2,678,400\" seconds. This is a potential security risk and we recommend adjusting this setting." : "HTTP-header \"Strict-Transport-Security\" er ikke konfigurert til minst \"2,678,400\" sekunder. Dette kan være en sikkerhetsrisiko og vi anbefaler at denne innstillingen endres.", @@ -85,6 +87,9 @@ OC.L10N.register( "Error while changing permissions" : "Feil ved endring av tillatelser", "Shared with you and the group {group} by {owner}" : "Delt med deg og gruppen {group} av {owner}", "Shared with you by {owner}" : "Delt med deg av {owner}", + "Share with users or groups …" : "Del med brukere eller grupper ...", + "Share with users, groups or remote users …" : "Del med brukere, grupper eller eksterne brukere ...", + "Share with people on other ownClouds using the syntax username@example.com/owncloud" : "Del med personer på andre ownCloud-installasjoner med syntaksen brukernavn@example.com/owncloud", "Share link" : "Del lenke", "The public link will expire no later than {days} days after it is created" : "Den offentlige lenken vil utløpe senest {days} dager etter at den lages", "Link" : "Lenke", @@ -97,6 +102,7 @@ OC.L10N.register( "Set expiration date" : "Sett utløpsdato", "Expiration" : "Utløpsdato", "Expiration date" : "Utløpsdato", + "An error occured. Please try again" : "Det oppstod en feil. Prøv igjen", "Adding user..." : "Legger til bruker...", "group" : "gruppe", "remote" : "ekstern", @@ -129,6 +135,7 @@ OC.L10N.register( "Hello {name}, the weather is {weather}" : "Hallo {name}, været er {weather}", "Hello {name}" : "Hallo {name}", "_download %n file_::_download %n files_" : ["last ned %n fil","last ned %n filer"], + "{version} is available. Get more information on how to update." : "{version} er tilgjengelig. Få mer informasjon om å oppdatere.", "Updating {productName} to version {version}, this may take a while." : "Oppdaterer {productName} til versjon {version}. Dette kan ta litt tid.", "Please reload the page." : "Vennligst last siden på nytt.", "The update was unsuccessful. " : "Oppdateringen var mislykket.", @@ -176,6 +183,7 @@ OC.L10N.register( "File: %s" : "Fil: %s", "Line: %s" : "Linje: %s", "Trace" : "Trace", + "Security warning" : "Sikkerhetsadvarsel", "Your data directory and files are probably accessible from the internet because the .htaccess file does not work." : "Datamappen og filene dine er sannsynligvis tilgjengelig fra Internett fordi .htaccess-filen ikke fungerer.", "For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\">documentation</a>." : "For informasjon om hvordan du setter opp serveren din riktig, se <a href=\"%s\" target=\"_blank\">dokumentasjonen</a>.", "Create an <strong>admin account</strong>" : "Opprett en <strong>administrator-konto</strong>", @@ -184,21 +192,28 @@ OC.L10N.register( "Data folder" : "Datamappe", "Configure the database" : "Konfigurer databasen", "Only %s is available." : "Kun %s er tilgjengelig.", + "Install and activate additional PHP modules to choose other database types." : "Installer og aktiver flere PHP-moduler for å velge andre databasetyper.", + "For more details check out the documentation." : "Sjekk dokumentasjonen for flere detaljer.", "Database user" : "Databasebruker", "Database password" : "Databasepassord", "Database name" : "Databasenavn", "Database tablespace" : "Database tabellområde", "Database host" : "Databasevert", + "Performance warning" : "Ytelsesadvarsel", "SQLite will be used as database." : "SQLite vil bli brukt som database.", "For larger installations we recommend to choose a different database backend." : "For større installasjoner anbefaler vi å velge en annen database.", "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", "Finish setup" : "Fullfør oppsetting", "Finishing …" : "Ferdigstiller ...", + "Need help?" : "Trenger du hjelp?", + "See the documentation" : "Se dokumentasjonen", "This application requires JavaScript for correct operation. Please {linkstart}enable JavaScript{linkend} and reload the page." : "Denne applikasjonen krever JavaScript for å fungere korrekt. Vennligst {linkstart}aktiver JavaScript{linkend} og last siden på nytt.", "Log out" : "Logg ut", "Search" : "Søk", "Server side authentication failed!" : "Autentisering feilet på serveren!", "Please contact your administrator." : "Vennligst kontakt administratoren din.", + "An internal error occured." : "Det oppstod en intern feil.", + "Please try again or contact your administrator." : "Prøv igjen eller kontakt en administrator.", "Forgot your password? Reset it!" : "Glemt passordet ditt? Tilbakestill det!", "remember" : "husk", "Log in" : "Logg inn", diff --git a/core/l10n/nb_NO.json b/core/l10n/nb_NO.json index b53af891bbf..d9b027d5334 100644 --- a/core/l10n/nb_NO.json +++ b/core/l10n/nb_NO.json @@ -70,6 +70,8 @@ "Your web server is not yet set up properly to allow file synchronization because the WebDAV interface seems to be broken." : "Web-serveren din er ikke satt opp til å tillate synkronisering av filer ennå, fordi WebDAV-grensesnittet ikke ser ut til å virke.", "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." : "Denne serveren har ingen fungerende internett-forbindelse. Dette betyr at noen funksjoner, som tilknytning av eksterne lagre, varslinger om oppdateringer eller installering av tredjeparts apper ikke vil virke. Fjerntilgang til filer og utsending av varsler på e-post vil kanskje ikke virke heller. Vi anbefaler å aktivere en internett-forbindelse for denne serveren hvis du vil ha full funksjonalitet.", "Your data directory and your files are probably accessible from the Internet. The .htaccess file is not working. We strongly suggest that you configure your web server in a way that the data directory is no longer accessible or you move the data directory outside the web server document root." : "Datamappen og filene dine er sannsynligvis tilgjengelige fra Internett. .htaccess-filen fungerer ikke. Vi anbefaler sterkt at du konfigurerer web-serveren slik at datamappen ikke kan aksesseres eller at du flytter datamappen ut av web-serverens dokumentrot.", + "No memory cache has been configured. To enhance your performance please configure a memcache if available. Further information can be found in our <a href=\"{docLink}\">documentation</a>." : "Intet minne-cache er konfigurert. For å forbedre ytelsen, installer et minne-cache hvis tilgjengelig. Mer informasjon finnes i <a href=\"{docLink}\">dokumentasjonen</a>.", + "/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in our <a href=\"{docLink}\">documentation</a>." : "/dev/urandom kan ikke leses av PHP, noe som er sterkt frarådet av sikkerhetshensyn. Mer informasjon finnes i <a href=\"{docLink}\">dokumentasjonen</a>.", "Error occurred while checking server setup" : "Feil oppstod ved sjekking av server-oppsett", "The \"{header}\" HTTP header is not configured to equal to \"{expected}\". This is a potential security or privacy risk and we recommend adjusting this setting." : "HTTP-header \"{header}\" er ikke konfigurert lik \"{expected}\". Dette kan være en sikkerhetsrisiko og vi anbefaler at denne innstillingen endres.", "The \"Strict-Transport-Security\" HTTP header is not configured to least \"2,678,400\" seconds. This is a potential security risk and we recommend adjusting this setting." : "HTTP-header \"Strict-Transport-Security\" er ikke konfigurert til minst \"2,678,400\" sekunder. Dette kan være en sikkerhetsrisiko og vi anbefaler at denne innstillingen endres.", @@ -83,6 +85,9 @@ "Error while changing permissions" : "Feil ved endring av tillatelser", "Shared with you and the group {group} by {owner}" : "Delt med deg og gruppen {group} av {owner}", "Shared with you by {owner}" : "Delt med deg av {owner}", + "Share with users or groups …" : "Del med brukere eller grupper ...", + "Share with users, groups or remote users …" : "Del med brukere, grupper eller eksterne brukere ...", + "Share with people on other ownClouds using the syntax username@example.com/owncloud" : "Del med personer på andre ownCloud-installasjoner med syntaksen brukernavn@example.com/owncloud", "Share link" : "Del lenke", "The public link will expire no later than {days} days after it is created" : "Den offentlige lenken vil utløpe senest {days} dager etter at den lages", "Link" : "Lenke", @@ -95,6 +100,7 @@ "Set expiration date" : "Sett utløpsdato", "Expiration" : "Utløpsdato", "Expiration date" : "Utløpsdato", + "An error occured. Please try again" : "Det oppstod en feil. Prøv igjen", "Adding user..." : "Legger til bruker...", "group" : "gruppe", "remote" : "ekstern", @@ -127,6 +133,7 @@ "Hello {name}, the weather is {weather}" : "Hallo {name}, været er {weather}", "Hello {name}" : "Hallo {name}", "_download %n file_::_download %n files_" : ["last ned %n fil","last ned %n filer"], + "{version} is available. Get more information on how to update." : "{version} er tilgjengelig. Få mer informasjon om å oppdatere.", "Updating {productName} to version {version}, this may take a while." : "Oppdaterer {productName} til versjon {version}. Dette kan ta litt tid.", "Please reload the page." : "Vennligst last siden på nytt.", "The update was unsuccessful. " : "Oppdateringen var mislykket.", @@ -174,6 +181,7 @@ "File: %s" : "Fil: %s", "Line: %s" : "Linje: %s", "Trace" : "Trace", + "Security warning" : "Sikkerhetsadvarsel", "Your data directory and files are probably accessible from the internet because the .htaccess file does not work." : "Datamappen og filene dine er sannsynligvis tilgjengelig fra Internett fordi .htaccess-filen ikke fungerer.", "For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\">documentation</a>." : "For informasjon om hvordan du setter opp serveren din riktig, se <a href=\"%s\" target=\"_blank\">dokumentasjonen</a>.", "Create an <strong>admin account</strong>" : "Opprett en <strong>administrator-konto</strong>", @@ -182,21 +190,28 @@ "Data folder" : "Datamappe", "Configure the database" : "Konfigurer databasen", "Only %s is available." : "Kun %s er tilgjengelig.", + "Install and activate additional PHP modules to choose other database types." : "Installer og aktiver flere PHP-moduler for å velge andre databasetyper.", + "For more details check out the documentation." : "Sjekk dokumentasjonen for flere detaljer.", "Database user" : "Databasebruker", "Database password" : "Databasepassord", "Database name" : "Databasenavn", "Database tablespace" : "Database tabellområde", "Database host" : "Databasevert", + "Performance warning" : "Ytelsesadvarsel", "SQLite will be used as database." : "SQLite vil bli brukt som database.", "For larger installations we recommend to choose a different database backend." : "For større installasjoner anbefaler vi å velge en annen database.", "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", "Finish setup" : "Fullfør oppsetting", "Finishing …" : "Ferdigstiller ...", + "Need help?" : "Trenger du hjelp?", + "See the documentation" : "Se dokumentasjonen", "This application requires JavaScript for correct operation. Please {linkstart}enable JavaScript{linkend} and reload the page." : "Denne applikasjonen krever JavaScript for å fungere korrekt. Vennligst {linkstart}aktiver JavaScript{linkend} og last siden på nytt.", "Log out" : "Logg ut", "Search" : "Søk", "Server side authentication failed!" : "Autentisering feilet på serveren!", "Please contact your administrator." : "Vennligst kontakt administratoren din.", + "An internal error occured." : "Det oppstod en intern feil.", + "Please try again or contact your administrator." : "Prøv igjen eller kontakt en administrator.", "Forgot your password? Reset it!" : "Glemt passordet ditt? Tilbakestill det!", "remember" : "husk", "Log in" : "Logg inn", diff --git a/core/l10n/nl.js b/core/l10n/nl.js index 7182ad3a1e9..090b95eb99f 100644 --- a/core/l10n/nl.js +++ b/core/l10n/nl.js @@ -73,6 +73,7 @@ OC.L10N.register( "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." : "Deze server heeft geen actieve internetverbinding. Dat betekent dat sommige functies, zoals aankoppelen van externe opslag, notificaties over updates of installatie van apps van 3e partijen niet werken. Ook het benaderen van bestanden vanaf een remote locatie en het versturen van notificatie emails kan mislukken. We adviseren om de internetverbinding voor deze server in te schakelen als u alle functies wilt gebruiken.", "Your data directory and your files are probably accessible from the Internet. The .htaccess file is not working. We strongly suggest that you configure your web server in a way that the data directory is no longer accessible or you move the data directory outside the web server document root." : "Uw data folder en uw bestanden zijn waarschijnlijk vanaf het internet bereikbaar. Het .htaccess-bestand werkt niet. We raden ten zeerste aan aan om uw webserver zodanig te configureren, dat de datadirectory niet bereikbaar is vanaf het internet of om uw datadirectory te verplaatsen naar een locatie buiten de document root van de webserver.", "No memory cache has been configured. To enhance your performance please configure a memcache if available. Further information can be found in our <a href=\"{docLink}\">documentation</a>." : "Er is geen geheugencache geconfigureerd. Om de prestaties te verhogen kunt u de memcache configureren als die beschikbaar is. Meer informatie vind u in onze <a href=\"{docLink}\">documentatie</a>.", + "/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in our <a href=\"{docLink}\">documentation</a>." : "/dev/urandom is niet leesbaar door PHP, hetgeen wordt afgeraden wegens beveiligingsredenen. Meer informatie in onze <a href=\"{docLink}\">documentatie</a>.", "Error occurred while checking server setup" : "Een fout trad op bij checken serverconfiguratie", "The \"{header}\" HTTP header is not configured to equal to \"{expected}\". This is a potential security or privacy risk and we recommend adjusting this setting." : "De \"{header}\" HTTP header is niet overeenkomstig met \"{expected}\" geconfigureerd. Dit is een potentieel security of privacy risico en we adviseren om deze instelling te wijzigen.", "The \"Strict-Transport-Security\" HTTP header is not configured to least \"2,678,400\" seconds. This is a potential security risk and we recommend adjusting this setting." : "De \"Strict-Transport-Security\" HTTP header is niet geconfigureerd als minimaal \"2,678,400\" seconden. Dit is een mogelijk beveiligingsrisico en we adviseren deze instelling aan te passen.", diff --git a/core/l10n/nl.json b/core/l10n/nl.json index ba0d7657c2a..05fd5928a8b 100644 --- a/core/l10n/nl.json +++ b/core/l10n/nl.json @@ -71,6 +71,7 @@ "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." : "Deze server heeft geen actieve internetverbinding. Dat betekent dat sommige functies, zoals aankoppelen van externe opslag, notificaties over updates of installatie van apps van 3e partijen niet werken. Ook het benaderen van bestanden vanaf een remote locatie en het versturen van notificatie emails kan mislukken. We adviseren om de internetverbinding voor deze server in te schakelen als u alle functies wilt gebruiken.", "Your data directory and your files are probably accessible from the Internet. The .htaccess file is not working. We strongly suggest that you configure your web server in a way that the data directory is no longer accessible or you move the data directory outside the web server document root." : "Uw data folder en uw bestanden zijn waarschijnlijk vanaf het internet bereikbaar. Het .htaccess-bestand werkt niet. We raden ten zeerste aan aan om uw webserver zodanig te configureren, dat de datadirectory niet bereikbaar is vanaf het internet of om uw datadirectory te verplaatsen naar een locatie buiten de document root van de webserver.", "No memory cache has been configured. To enhance your performance please configure a memcache if available. Further information can be found in our <a href=\"{docLink}\">documentation</a>." : "Er is geen geheugencache geconfigureerd. Om de prestaties te verhogen kunt u de memcache configureren als die beschikbaar is. Meer informatie vind u in onze <a href=\"{docLink}\">documentatie</a>.", + "/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in our <a href=\"{docLink}\">documentation</a>." : "/dev/urandom is niet leesbaar door PHP, hetgeen wordt afgeraden wegens beveiligingsredenen. Meer informatie in onze <a href=\"{docLink}\">documentatie</a>.", "Error occurred while checking server setup" : "Een fout trad op bij checken serverconfiguratie", "The \"{header}\" HTTP header is not configured to equal to \"{expected}\". This is a potential security or privacy risk and we recommend adjusting this setting." : "De \"{header}\" HTTP header is niet overeenkomstig met \"{expected}\" geconfigureerd. Dit is een potentieel security of privacy risico en we adviseren om deze instelling te wijzigen.", "The \"Strict-Transport-Security\" HTTP header is not configured to least \"2,678,400\" seconds. This is a potential security risk and we recommend adjusting this setting." : "De \"Strict-Transport-Security\" HTTP header is niet geconfigureerd als minimaal \"2,678,400\" seconden. Dit is een mogelijk beveiligingsrisico en we adviseren deze instelling aan te passen.", diff --git a/core/l10n/pt_BR.js b/core/l10n/pt_BR.js index a2b23ab9585..17e18392a05 100644 --- a/core/l10n/pt_BR.js +++ b/core/l10n/pt_BR.js @@ -73,6 +73,7 @@ OC.L10N.register( "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." : "Este servidor não tem nenhuma conexão com a Internet. Isto significa que algumas das características como a montagem de armazenamento externo, notificações sobre atualizações ou instalação de aplicativos de terceiros não vai funcionar. Acessar arquivos remotamente e envio de e-mails de notificação pode não funcionar, também. Sugerimos permitir conexão com a Internet para este servidor, se você quer ter todas as funcionalidades.", "Your data directory and your files are probably accessible from the Internet. The .htaccess file is not working. We strongly suggest that you configure your web server in a way that the data directory is no longer accessible or you move the data directory outside the web server document root." : "O seu diretório de dados e os arquivos estão, provavelmente, acessíveis a partir da Internet. O arquivo .htaccess não está funcionando. Nós sugerimos que você configure o servidor web de uma forma que o diretório de dados não seja acessível ou mova o diretório de dados para fora do diretório raiz de documentos do servidor web.", "No memory cache has been configured. To enhance your performance please configure a memcache if available. Further information can be found in our <a href=\"{docLink}\">documentation</a>." : "Nenhum cache de memória foi configurado. Para melhorar o seu desempenho, por favor configurar um cache de memória, se disponível. Mais informações podem ser encontradas em nossa <a href=\"{docLink}\"> documentação </a>.", + "/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in our <a href=\"{docLink}\">documentation</a>." : "/dev/urandom não pode ser lido por PHP o que é altamente desencorajado por razões de segurança. Mais informações podem ser encontradas em nossa <a href=\"{docLink}\">documentation</a>.", "Error occurred while checking server setup" : "Erro ao verificar a configuração do servidor", "The \"{header}\" HTTP header is not configured to equal to \"{expected}\". This is a potential security or privacy risk and we recommend adjusting this setting." : "O \"{header}\" cabeçalho HTTP não está configurado igual ao \"{expected}\". Este é um risco potencial para a segurança e recomendamos ajustar essa configuração.", "The \"Strict-Transport-Security\" HTTP header is not configured to least \"2,678,400\" seconds. This is a potential security risk and we recommend adjusting this setting." : "O \"Strict-Transport-Security\" cabeçalho HTTP não está configurado para pelo menos \"2.678.400\" segundos. Este é um risco potencial para a segurança e recomendamos ajustar essa configuração.", @@ -149,6 +150,7 @@ OC.L10N.register( "Reset password" : "Redefinir senha", "Searching other places" : "Pesquisando em outros lugares", "No search result in other places" : "Nenhum resultado da pesquisa em outros lugares", + "_{count} search result in other places_::_{count} search results in other places_" : ["{count} resultados da pesquisa em outros lugares","{count} resultados da pesquisa em outros lugares"], "Personal" : "Pessoal", "Users" : "Usuários", "Apps" : "Aplicações", diff --git a/core/l10n/pt_BR.json b/core/l10n/pt_BR.json index 9ac98948047..0ad7136b2c1 100644 --- a/core/l10n/pt_BR.json +++ b/core/l10n/pt_BR.json @@ -71,6 +71,7 @@ "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." : "Este servidor não tem nenhuma conexão com a Internet. Isto significa que algumas das características como a montagem de armazenamento externo, notificações sobre atualizações ou instalação de aplicativos de terceiros não vai funcionar. Acessar arquivos remotamente e envio de e-mails de notificação pode não funcionar, também. Sugerimos permitir conexão com a Internet para este servidor, se você quer ter todas as funcionalidades.", "Your data directory and your files are probably accessible from the Internet. The .htaccess file is not working. We strongly suggest that you configure your web server in a way that the data directory is no longer accessible or you move the data directory outside the web server document root." : "O seu diretório de dados e os arquivos estão, provavelmente, acessíveis a partir da Internet. O arquivo .htaccess não está funcionando. Nós sugerimos que você configure o servidor web de uma forma que o diretório de dados não seja acessível ou mova o diretório de dados para fora do diretório raiz de documentos do servidor web.", "No memory cache has been configured. To enhance your performance please configure a memcache if available. Further information can be found in our <a href=\"{docLink}\">documentation</a>." : "Nenhum cache de memória foi configurado. Para melhorar o seu desempenho, por favor configurar um cache de memória, se disponível. Mais informações podem ser encontradas em nossa <a href=\"{docLink}\"> documentação </a>.", + "/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in our <a href=\"{docLink}\">documentation</a>." : "/dev/urandom não pode ser lido por PHP o que é altamente desencorajado por razões de segurança. Mais informações podem ser encontradas em nossa <a href=\"{docLink}\">documentation</a>.", "Error occurred while checking server setup" : "Erro ao verificar a configuração do servidor", "The \"{header}\" HTTP header is not configured to equal to \"{expected}\". This is a potential security or privacy risk and we recommend adjusting this setting." : "O \"{header}\" cabeçalho HTTP não está configurado igual ao \"{expected}\". Este é um risco potencial para a segurança e recomendamos ajustar essa configuração.", "The \"Strict-Transport-Security\" HTTP header is not configured to least \"2,678,400\" seconds. This is a potential security risk and we recommend adjusting this setting." : "O \"Strict-Transport-Security\" cabeçalho HTTP não está configurado para pelo menos \"2.678.400\" segundos. Este é um risco potencial para a segurança e recomendamos ajustar essa configuração.", @@ -147,6 +148,7 @@ "Reset password" : "Redefinir senha", "Searching other places" : "Pesquisando em outros lugares", "No search result in other places" : "Nenhum resultado da pesquisa em outros lugares", + "_{count} search result in other places_::_{count} search results in other places_" : ["{count} resultados da pesquisa em outros lugares","{count} resultados da pesquisa em outros lugares"], "Personal" : "Pessoal", "Users" : "Usuários", "Apps" : "Aplicações", diff --git a/core/l10n/sr.js b/core/l10n/sr.js index b59a3b35caa..3a1c3f337db 100644 --- a/core/l10n/sr.js +++ b/core/l10n/sr.js @@ -73,6 +73,7 @@ OC.L10N.register( "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." : "Овај сервер нема везу са интернетом. То значи да неке могућности, попут монтирања спољашњег складишта, обавештења о ажурирању или инсталација апликација треће стране, неће радити. Даљински приступ и слање е-поште, такође неће радити. Предлажемо да омогућите интернет везу за овај сервер ако желите да имате све могућности.", "Your data directory and your files are probably accessible from the Internet. The .htaccess file is not working. We strongly suggest that you configure your web server in a way that the data directory is no longer accessible or you move the data directory outside the web server document root." : "Ваш директоријум са подацима и ваши фајлови су вероватно доступни са интернета. Фајл .htaccess не ради. Предлажемо да подесите ваш веб сервер на начин да директоријум са подацима не буде доступан или га изместите изван кореног директоријума веб сервера.", "No memory cache has been configured. To enhance your performance please configure a memcache if available. Further information can be found in our <a href=\"{docLink}\">documentation</a>." : "Није подешен меморијски кеш. Да бисте побољшали перформансе подесите „memcache“ ако је доступан. Више информација можете наћи у <a href=\"{docLink}\">документацији</a>.", + "/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in our <a href=\"{docLink}\">documentation</a>." : "/dev/urandom ПХП не може да чита што није добро из безбедносних разлога. Информације о томе можете наћи у нашој <a href=\"{docLink}\">дукументацији</a>.", "Error occurred while checking server setup" : "Дошло је до грешке при провери поставки сервера", "The \"{header}\" HTTP header is not configured to equal to \"{expected}\". This is a potential security or privacy risk and we recommend adjusting this setting." : "ХТТП заглавље „{header}“ није подешено као „{expected}“. Ово потенцијално угрожава безбедност и приватност и препоручујемо да подесите ову поставку.", "The \"Strict-Transport-Security\" HTTP header is not configured to least \"2,678,400\" seconds. This is a potential security risk and we recommend adjusting this setting." : "ХТТП захлавље „Strict-Transport-Security“ није постављено на најмање \"2,678,400\" секунди. Ово је потенцијални безбедносни ризик и препоручујемо да подесите ову поставку.", @@ -191,6 +192,8 @@ OC.L10N.register( "Data folder" : "Фацикла података", "Configure the database" : "Подешавање базе", "Only %s is available." : "Само %s је доступна.", + "Install and activate additional PHP modules to choose other database types." : "Инсталирајте и активирајте додатне ПХП модуле за избор других врста база података.", + "For more details check out the documentation." : "За више детаља погледајте документацију.", "Database user" : "Корисник базе", "Database password" : "Лозинка базе", "Database name" : "Назив базе", diff --git a/core/l10n/sr.json b/core/l10n/sr.json index c4d15f4b25a..cc8d4f3e7f7 100644 --- a/core/l10n/sr.json +++ b/core/l10n/sr.json @@ -71,6 +71,7 @@ "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." : "Овај сервер нема везу са интернетом. То значи да неке могућности, попут монтирања спољашњег складишта, обавештења о ажурирању или инсталација апликација треће стране, неће радити. Даљински приступ и слање е-поште, такође неће радити. Предлажемо да омогућите интернет везу за овај сервер ако желите да имате све могућности.", "Your data directory and your files are probably accessible from the Internet. The .htaccess file is not working. We strongly suggest that you configure your web server in a way that the data directory is no longer accessible or you move the data directory outside the web server document root." : "Ваш директоријум са подацима и ваши фајлови су вероватно доступни са интернета. Фајл .htaccess не ради. Предлажемо да подесите ваш веб сервер на начин да директоријум са подацима не буде доступан или га изместите изван кореног директоријума веб сервера.", "No memory cache has been configured. To enhance your performance please configure a memcache if available. Further information can be found in our <a href=\"{docLink}\">documentation</a>." : "Није подешен меморијски кеш. Да бисте побољшали перформансе подесите „memcache“ ако је доступан. Више информација можете наћи у <a href=\"{docLink}\">документацији</a>.", + "/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in our <a href=\"{docLink}\">documentation</a>." : "/dev/urandom ПХП не може да чита што није добро из безбедносних разлога. Информације о томе можете наћи у нашој <a href=\"{docLink}\">дукументацији</a>.", "Error occurred while checking server setup" : "Дошло је до грешке при провери поставки сервера", "The \"{header}\" HTTP header is not configured to equal to \"{expected}\". This is a potential security or privacy risk and we recommend adjusting this setting." : "ХТТП заглавље „{header}“ није подешено као „{expected}“. Ово потенцијално угрожава безбедност и приватност и препоручујемо да подесите ову поставку.", "The \"Strict-Transport-Security\" HTTP header is not configured to least \"2,678,400\" seconds. This is a potential security risk and we recommend adjusting this setting." : "ХТТП захлавље „Strict-Transport-Security“ није постављено на најмање \"2,678,400\" секунди. Ово је потенцијални безбедносни ризик и препоручујемо да подесите ову поставку.", @@ -189,6 +190,8 @@ "Data folder" : "Фацикла података", "Configure the database" : "Подешавање базе", "Only %s is available." : "Само %s је доступна.", + "Install and activate additional PHP modules to choose other database types." : "Инсталирајте и активирајте додатне ПХП модуле за избор других врста база података.", + "For more details check out the documentation." : "За више детаља погледајте документацију.", "Database user" : "Корисник базе", "Database password" : "Лозинка базе", "Database name" : "Назив базе", diff --git a/core/l10n/uk.js b/core/l10n/uk.js index 72c66b90d4b..339e4f8de95 100644 --- a/core/l10n/uk.js +++ b/core/l10n/uk.js @@ -1,22 +1,22 @@ OC.L10N.register( "core", { - "Couldn't send mail to following users: %s " : "Неможливо надіслати пошту наступним користувачам: %s ", - "Turned on maintenance mode" : "Увімкнено захищений режим", - "Turned off maintenance mode" : "Вимкнено захищений режим", + "Couldn't send mail to following users: %s " : "Неможливо надіслати листа наступним користувачам: %s ", + "Turned on maintenance mode" : "Увімкнено режим технічного обслуговування", + "Turned off maintenance mode" : "Вимкнено режим технічного обслуговування", "Updated database" : "Базу даних оновлено", "Checked database schema update" : "Перевірено оновлення схеми бази даних", "Checked database schema update for apps" : "Перевірено оновлення схеми бази даних для додатків", "Updated \"%s\" to %s" : "Оновлено \"%s\" до %s", "Repair warning: " : "Попередження відновлення:", "Repair error: " : "Помилка відновлення:", - "Following incompatible apps have been disabled: %s" : "Несумісні додатки були відключені: %s", - "Following 3rd party apps have been disabled: %s" : "3rd party додатки були відключені: %s", - "Invalid file provided" : "Невірний формат файлу", - "No image or file provided" : "Немає наданого зображення або файлу", + "Following incompatible apps have been disabled: %s" : "Наступні несумісні додатки були вимкнені: %s", + "Following 3rd party apps have been disabled: %s" : "3rd party додатки були вимкнені: %s", + "Invalid file provided" : "Надано невірний файл", + "No image or file provided" : "Зображення або файлу не надано", "Unknown filetype" : "Невідомий тип файлу", "Invalid image" : "Невірне зображення", - "No temporary profile picture available, try again" : "Немає доступного тимчасового профілю для малюнків, спробуйте ще раз", + "No temporary profile picture available, try again" : "Тимчасове зображення профілю недоступне, спробуйте ще раз", "No crop data provided" : "Не вказана інформація про кадрування", "No valid crop data provided" : "Не вказані коректні дані про кадрування", "Crop is not square" : "Кадр не є квадратом", @@ -40,7 +40,7 @@ OC.L10N.register( "November" : "Листопад", "December" : "Грудень", "Settings" : "Налаштування", - "Saving..." : "Зберігаю...", + "Saving..." : "Збереження...", "Couldn't send reset email. Please contact your administrator." : "Не можу надіслати email для скидання. Будь ласка, зверніться до вашого адміністратора.", "The link to reset your password has been sent to your email. If you do not receive it within a reasonable amount of time, check your spam/junk folders.<br>If it is not there ask your local administrator." : "Посилання для скидання вашого паролю було надіслано на ваш email. Якщо ви не отримали його найближчим часом, перевірте теку зі спамом.<br>Якщо і там немає, спитайте вашого місцевого адміністратора.", "Your files are encrypted. If you haven't enabled the recovery key, there will be no way to get your data back after your password is reset.<br />If you are not sure what to do, please contact your administrator before you continue. <br />Do you really want to continue?" : "Ваші файли зашифровані. Якщо ви не зробили ключ відновлення, після скидання паролю відновити ваші дані буде неможливо.<br /> Якщо ви не знаєте, що робити, будь ласка, зверніться до адміністратора перед продовженням.<br /> Ви дійсно хочете продовжити?", @@ -59,7 +59,7 @@ OC.L10N.register( "Already existing files" : "Файли що вже існують", "Which files do you want to keep?" : "Які файли ви хочете залишити?", "If you select both versions, the copied file will have a number added to its name." : "При виборі обох версій, до назви копійованого файлу буде додана цифра", - "Cancel" : "Відмінити", + "Cancel" : "Скасувати", "Continue" : "Продовжити", "(all selected)" : "(все обрано)", "({count} selected)" : "({count} обраних)", @@ -70,13 +70,14 @@ OC.L10N.register( "Good password" : "Добрий пароль", "Strong password" : "Надійний пароль", "Your web server is not yet set up properly to allow file synchronization because the WebDAV interface seems to be broken." : "Ваш веб-сервер ще не налаштований належним чином, щоб дозволити синхронізацію файлів, тому що інтерфейс WebDAV, здається, зіпсований.", - "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." : "Цей сервер не має підключення до Інтернету. Це означає, що деякі з функцій, таких як зовнішнє сховище, повідомлення про оновлення та встановлення сторонніх додатків не будуть працювати. Доступ до файлів віддалено і відправки повідомлень поштою можуть не працювати. Ми пропонуємо включити підключення до Інтернету для цього сервера, якщо ви хочете, щоб всі функції працювали.", - "Your data directory and your files are probably accessible from the Internet. The .htaccess file is not working. We strongly suggest that you configure your web server in a way that the data directory is no longer accessible or you move the data directory outside the web server document root." : "Ваш каталог даних і ваші файли можливо доступні з інтернету. .htaccess файл не працює. Ми настійно рекомендуємо вам налаштувати ваш веб сервер таким чином, що-б каталог даних не був більше доступний або перемістіть каталог даних за межі кореня веб сервера.", + "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." : "Цей сервер не має підключення до Інтернету. Це означає, що деякі з функцій, таких як зовнішнє сховище, повідомлення про оновлення та встановлення сторонніх додатків не будуть працювати. Доступ до файлів віддалено і надсилання повідомлень поштою можуть не працювати. Ми пропонуємо включити підключення до Інтернету для цього сервера, якщо ви хочете, щоб всі функції працювали.", + "Your data directory and your files are probably accessible from the Internet. The .htaccess file is not working. We strongly suggest that you configure your web server in a way that the data directory is no longer accessible or you move the data directory outside the web server document root." : "Ваш каталог даних і ваші файли можливо доступні з інтернету. .htaccess файл не працює. Ми наполегливо рекомендуємо вам налаштувати ваш веб сервер таким чином, щоб каталог даних більше не був доступний або перемістіть каталог даних за межі кореня веб сервера.", "No memory cache has been configured. To enhance your performance please configure a memcache if available. Further information can be found in our <a href=\"{docLink}\">documentation</a>." : "Кеш пам'яті не налаштований. Задля покращення продуктивності, будь ласка, налаштуйте memcache, якщо є можливість. Додаткову інформацію шукайте у нашій <a href=\"{docLink}\">документації</a>.", + "/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in our <a href=\"{docLink}\">documentation</a>." : "/dev/urandom не доступний для читання PHP, що вкрай небажано з міркувань безпеки. Додаткову інформацію шукайте у нашій <a href=\"{docLink}\">документації</a>.", "Error occurred while checking server setup" : "При перевірці налаштувань серверу сталася помилка", "The \"{header}\" HTTP header is not configured to equal to \"{expected}\". This is a potential security or privacy risk and we recommend adjusting this setting." : "HTTP заголовок \"{header}\" не налаштований як \"{expected}\". Це потенційний ризик для безпеки чи приватності і ми радимо виправити це налаштування.", - "The \"Strict-Transport-Security\" HTTP header is not configured to least \"2,678,400\" seconds. This is a potential security risk and we recommend adjusting this setting." : "HTTP заголовок \"Strict-Transport-Security\" повинен бути налаштований принаймні на \"2,678,400\" секунд. Це потенційна проблема безпеки і ми рекомендуємо змінити ці налаштування.", - "You are accessing this site via HTTP. We strongly suggest you configure your server to require using HTTPS instead." : "Ви зайшли на цей сайт через HTTP. Ми настійно рекомендуємо налаштувати ваш сервер на використання HTTPS.", + "The \"Strict-Transport-Security\" HTTP header is not configured to least \"2,678,400\" seconds. This is a potential security risk and we recommend adjusting this setting." : "HTTP заголовок \"Strict-Transport-Security\" повинен бути налаштований принаймні на \"2,678,400\" секунд. Це потенційна проблема безпеки і ми рекомендуємо змінити це налаштування.", + "You are accessing this site via HTTP. We strongly suggest you configure your server to require using HTTPS instead." : "Ви зайшли на цей сайт через HTTP. Ми наполегливо рекомендуємо налаштувати ваш сервер на використання HTTPS.", "Shared" : "Опубліковано", "Shared with {recipients}" : "Опубліковано для {recipients}", "Share" : "Поділитися", @@ -89,14 +90,14 @@ OC.L10N.register( "Share with users or groups …" : "Поширити серед користувачів або груп ...", "Share with users, groups or remote users …" : "Поширити серед локальних чи віддалених користувачів або груп ...", "Share with people on other ownClouds using the syntax username@example.com/owncloud" : "Поширити серед людей інших ownCloud'ів, використовуючи синтаксис ім'я_користувача@файли.укр/owncloud", - "Share link" : "Опублікувати посилання", + "Share link" : "Поділитись посиланням", "The public link will expire no later than {days} days after it is created" : "Доступ до опублікованого посилання буде припинено не пізніше ніж через {days} днів з моменту створення", "Link" : "Посилання", "Password protect" : "Захистити паролем", "Password" : "Пароль", "Choose a password for the public link" : "Вкажіть пароль для публічного посилання", "Allow editing" : "Дозволити редагування", - "Email link to person" : "Надіслати посилання по електронній пошті", + "Email link to person" : "Надіслати посилання електронною поштою", "Send" : "Надіслати", "Set expiration date" : "Встановити термін дії", "Expiration" : "Закінчення", @@ -113,28 +114,28 @@ OC.L10N.register( "can edit" : "може редагувати", "access control" : "контроль доступу", "create" : "створити", - "change" : "Змінити", + "change" : "змінити", "delete" : "видалити", "Password protected" : "Захищено паролем", - "Error unsetting expiration date" : "Помилка при відміні терміна дії", - "Error setting expiration date" : "Помилка при встановленні терміна дії", + "Error unsetting expiration date" : "Помилка при відміні терміну дії", + "Error setting expiration date" : "Помилка при встановленні терміну дії", "Sending ..." : "Надсилання...", - "Email sent" : "Ел. пошта надіслана", + "Email sent" : "Лист надіслано", "Warning" : "Попередження", "The object type is not specified." : "Не визначено тип об'єкту.", "Enter new" : "Введіть новий", "Delete" : "Видалити", "Add" : "Додати", - "Edit tags" : "Редагувати теги", + "Edit tags" : "Редагувати мітки", "Error loading dialog template: {error}" : "Помилка при завантаженні шаблону діалогу: {error}", - "No tags selected for deletion." : "Жодних тегів не обрано для видалення.", + "No tags selected for deletion." : "Жодних міток не обрано для видалення.", "unknown text" : "невідомий текст", "Hello world!" : "Привіт світ!", "sunny" : "сонячно", "Hello {name}, the weather is {weather}" : "Привіт {name}, погода {weather} ", "Hello {name}" : "Привіт {name}", - "_download %n file_::_download %n files_" : ["завантяження %n файлу","завантаження %n файлів","завантаження %n файлів"], - "{version} is available. Get more information on how to update." : "{version} вже є доступною. Отримати більш детальну інформацію про те, як оновити.", + "_download %n file_::_download %n files_" : ["завантаження %n файлу","завантаження %n файлів","завантаження %n файлів"], + "{version} is available. Get more information on how to update." : "{version} доступна. Отримати більш детальну інформацію про те, як оновити.", "Updating {productName} to version {version}, this may take a while." : "Оновлення {productName} до версії {version}, це може займати деякий час.", "Please reload the page." : "Будь ласка, перезавантажте сторінку.", "The update was unsuccessful. " : "Оновлення завершилось невдачею.", @@ -155,19 +156,19 @@ OC.L10N.register( "Apps" : "Додатки", "Admin" : "Адмін", "Help" : "Допомога", - "Error loading tags" : "Помилка завантаження тегів.", + "Error loading tags" : "Помилка завантаження міток", "Tag already exists" : "Мітка вже існує", "Error deleting tag(s)" : "Помилка видалення мітки(ок)", "Error tagging" : "Помилка встановлення міток", "Error untagging" : "Помилка зняття мітки", - "Error favoriting" : "Помилка додавання в обрані", - "Error unfavoriting" : "Помилка видалення з обраного", + "Error favoriting" : "Помилка додавання в улюблені", + "Error unfavoriting" : "Помилка видалення з улюбленого", "Access forbidden" : "Доступ заборонено", "File not found" : "Файл не знайдено", "The specified document has not been found on the server." : "Не вдалось знайти вказаний документ на сервері.", "You can click here to return to %s." : "Ви можете натиснути тут для повернення до %s.", - "Hey there,\n\njust letting you know that %s shared %s with you.\nView it: %s\n\n" : "Агов,\n\nпросто щоб ви знали, що %s поділився %s з вами.\nПодивіться: %s\n\n", - "The share will expire on %s." : "Доступ до спільних даних вичерпається %s.", + "Hey there,\n\njust letting you know that %s shared %s with you.\nView it: %s\n\n" : "Агов,\n\nпросто повідомляємо вам, що %s поділився %s з вами.\nПерегляньте: %s\n\n", + "The share will expire on %s." : "Спільний доступ закінчиться %s.", "Cheers!" : "Будьмо!", "Internal Server Error" : "Внутрішня помилка серверу", "The server encountered an internal error and was unable to complete your request." : "На сервері сталася внутрішня помилка, тому він не зміг виконати ваш запит.", @@ -183,7 +184,7 @@ OC.L10N.register( "Line: %s" : "Рядок: %s", "Trace" : "Трасування", "Security warning" : "Попередження безпеки", - "Your data directory and files are probably accessible from the internet because the .htaccess file does not work." : "Ваші дані каталогів і файлів, ймовірно, доступні з інтернету, тому що .htaccess файл не працює.", + "Your data directory and files are probably accessible from the internet because the .htaccess file does not work." : "Ваш каталог даних і ваші файли можливо доступні з інтернету, тому що .htaccess файл не працює.", "For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\">documentation</a>." : "Для отримання інформації, як правильно налаштувати сервер, див. <a href=\"%s\" target=\"_blank\">документацію</a>.", "Create an <strong>admin account</strong>" : "Створити <strong>обліковий запис адміністратора</strong>", "Username" : "Ім'я користувача", @@ -191,6 +192,8 @@ OC.L10N.register( "Data folder" : "Каталог даних", "Configure the database" : "Налаштування бази даних", "Only %s is available." : "Доступно тільки %s.", + "Install and activate additional PHP modules to choose other database types." : "Встановіть та активуйте додаткові модулі PHP для того, щоб обрати тип БД.", + "For more details check out the documentation." : "За подробицями зверніться до документації.", "Database user" : "Користувач бази даних", "Database password" : "Пароль для бази даних", "Database name" : "Назва бази даних", @@ -199,33 +202,33 @@ OC.L10N.register( "Performance warning" : "Попередження продуктивності", "SQLite will be used as database." : "В якості бази даних буде використана SQLite.", "For larger installations we recommend to choose a different database backend." : "Для великих установок ми радимо вибрати іншу базу даних.", - "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "Особливо викликає сумнів використання SQLite при синхронізації файлів з використанням клієнта для ПК.", + "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "Використання SQLite особливо не рекомендується при синхронізації файлів з використанням клієнта для ПК.", "Finish setup" : "Завершити встановлення", "Finishing …" : "Завершується ...", "Need help?" : "Потрібна допомога?", "See the documentation" : "Дивіться документацію", - "This application requires JavaScript for correct operation. Please {linkstart}enable JavaScript{linkend} and reload the page." : "Ця програма вимагає увімкнений JavaScript для коректної роботи. Будь ласка, {linkstart} Увімкніть JavaScript {linkend} та перезавантажте інтерфейс.", + "This application requires JavaScript for correct operation. Please {linkstart}enable JavaScript{linkend} and reload the page." : "Ця програма вимагає увімкнений JavaScript для коректної роботи. Будь ласка, {linkstart} Увімкніть JavaScript {linkend} та перезавантажте сторінку.", "Log out" : "Вихід", - "Search" : "Знайти", + "Search" : "Пошук", "Server side authentication failed!" : "Невдала аутентифікація з сервером!", "Please contact your administrator." : "Будь ласка, зверніться до вашого Адміністратора.", - "An internal error occured." : "Внутрішня помилка.", + "An internal error occured." : "Виникла внутрішня помилка.", "Please try again or contact your administrator." : "Будь ласка, спробуйте ще раз або зверніться до адміністратора.", "Forgot your password? Reset it!" : "Забули ваш пароль? Скиньте його!", "remember" : "запам'ятати", "Log in" : "Увійти", "Alternative Logins" : "Альтернативні імена користувача", - "Hey there,<br><br>just letting you know that %s shared <strong>%s</strong> with you.<br><a href=\"%s\">View it!</a><br><br>" : "Агов,<br><br>просто щоб ви знали, що %s поділився »%s« з вами.<br><a href=\"%s\">Подивіться!</a><br><br>", + "Hey there,<br><br>just letting you know that %s shared <strong>%s</strong> with you.<br><a href=\"%s\">View it!</a><br><br>" : "Агов,<br><br>просто повідомляємо вам, що %s поділився »%s« з вами.<br><a href=\"%s\">Перегляньте!</a><br><br>", "This ownCloud instance is currently in single user mode." : "Сервер ownCloud в даний час працює в однокористувацькому режимі.", "This means only administrators can use the instance." : "Це означає, що тільки адміністратори можуть використовувати сервер.", "Contact your system administrator if this message persists or appeared unexpectedly." : "Зверніться до вашого системного адміністратора якщо це повідомлення не зникає або з'являється несподівано.", "Thank you for your patience." : "Дякуємо за ваше терпіння.", "You are accessing the server from an untrusted domain." : "Ви намагаєтеся отримати доступ до сервера з непідтвердженого домену.", - "Please contact your administrator. If you are an administrator of this instance, configure the \"trusted_domain\" setting in config/config.php. An example configuration is provided in config/config.sample.php." : "Будь ласка, зверніться до адміністратора. Якщо ви є адміністратором цього серверу, ви можете налаштувати опцію \"trusted_domain\" в конфігураційному файлі config/config.php. Приклад конфігурації знаходится в файлі config/config.sample.php.", + "Please contact your administrator. If you are an administrator of this instance, configure the \"trusted_domain\" setting in config/config.php. An example configuration is provided in config/config.sample.php." : "Будь ласка, зверніться до адміністратора. Якщо ви є адміністратором цього серверу, ви можете налаштувати опцію \"trusted_domain\" в конфігураційному файлі config/config.php. Приклад конфігурації знаходиться в файлі config/config.sample.php.", "Depending on your configuration, as an administrator you might also be able to use the button below to trust this domain." : "Залежно від конфігурації Ви як адміністратор можете додати цей домен у список довірених, використовуйте кнопку нижче.", "Add \"%s\" as trusted domain" : "Додати \"%s\" як довірений домен", "%s will be updated to version %s." : "%s буде оновлено до версії %s.", - "The following apps will be disabled:" : "Наступні додатки будуть відключені:", + "The following apps will be disabled:" : "Наступні додатки будуть вимкнені:", "The theme %s has been disabled." : "Тему %s було вимкнено.", "Please make sure that the database, the config folder and the data folder have been backed up before proceeding." : "Перед продовженням переконайтеся, що ви зробили резервну копію бази даних, каталогу конфігурації та каталогу з даними.", "Start update" : "Почати оновлення", diff --git a/core/l10n/uk.json b/core/l10n/uk.json index 074bc1eb9d7..e09a2984559 100644 --- a/core/l10n/uk.json +++ b/core/l10n/uk.json @@ -1,20 +1,20 @@ { "translations": { - "Couldn't send mail to following users: %s " : "Неможливо надіслати пошту наступним користувачам: %s ", - "Turned on maintenance mode" : "Увімкнено захищений режим", - "Turned off maintenance mode" : "Вимкнено захищений режим", + "Couldn't send mail to following users: %s " : "Неможливо надіслати листа наступним користувачам: %s ", + "Turned on maintenance mode" : "Увімкнено режим технічного обслуговування", + "Turned off maintenance mode" : "Вимкнено режим технічного обслуговування", "Updated database" : "Базу даних оновлено", "Checked database schema update" : "Перевірено оновлення схеми бази даних", "Checked database schema update for apps" : "Перевірено оновлення схеми бази даних для додатків", "Updated \"%s\" to %s" : "Оновлено \"%s\" до %s", "Repair warning: " : "Попередження відновлення:", "Repair error: " : "Помилка відновлення:", - "Following incompatible apps have been disabled: %s" : "Несумісні додатки були відключені: %s", - "Following 3rd party apps have been disabled: %s" : "3rd party додатки були відключені: %s", - "Invalid file provided" : "Невірний формат файлу", - "No image or file provided" : "Немає наданого зображення або файлу", + "Following incompatible apps have been disabled: %s" : "Наступні несумісні додатки були вимкнені: %s", + "Following 3rd party apps have been disabled: %s" : "3rd party додатки були вимкнені: %s", + "Invalid file provided" : "Надано невірний файл", + "No image or file provided" : "Зображення або файлу не надано", "Unknown filetype" : "Невідомий тип файлу", "Invalid image" : "Невірне зображення", - "No temporary profile picture available, try again" : "Немає доступного тимчасового профілю для малюнків, спробуйте ще раз", + "No temporary profile picture available, try again" : "Тимчасове зображення профілю недоступне, спробуйте ще раз", "No crop data provided" : "Не вказана інформація про кадрування", "No valid crop data provided" : "Не вказані коректні дані про кадрування", "Crop is not square" : "Кадр не є квадратом", @@ -38,7 +38,7 @@ "November" : "Листопад", "December" : "Грудень", "Settings" : "Налаштування", - "Saving..." : "Зберігаю...", + "Saving..." : "Збереження...", "Couldn't send reset email. Please contact your administrator." : "Не можу надіслати email для скидання. Будь ласка, зверніться до вашого адміністратора.", "The link to reset your password has been sent to your email. If you do not receive it within a reasonable amount of time, check your spam/junk folders.<br>If it is not there ask your local administrator." : "Посилання для скидання вашого паролю було надіслано на ваш email. Якщо ви не отримали його найближчим часом, перевірте теку зі спамом.<br>Якщо і там немає, спитайте вашого місцевого адміністратора.", "Your files are encrypted. If you haven't enabled the recovery key, there will be no way to get your data back after your password is reset.<br />If you are not sure what to do, please contact your administrator before you continue. <br />Do you really want to continue?" : "Ваші файли зашифровані. Якщо ви не зробили ключ відновлення, після скидання паролю відновити ваші дані буде неможливо.<br /> Якщо ви не знаєте, що робити, будь ласка, зверніться до адміністратора перед продовженням.<br /> Ви дійсно хочете продовжити?", @@ -57,7 +57,7 @@ "Already existing files" : "Файли що вже існують", "Which files do you want to keep?" : "Які файли ви хочете залишити?", "If you select both versions, the copied file will have a number added to its name." : "При виборі обох версій, до назви копійованого файлу буде додана цифра", - "Cancel" : "Відмінити", + "Cancel" : "Скасувати", "Continue" : "Продовжити", "(all selected)" : "(все обрано)", "({count} selected)" : "({count} обраних)", @@ -68,13 +68,14 @@ "Good password" : "Добрий пароль", "Strong password" : "Надійний пароль", "Your web server is not yet set up properly to allow file synchronization because the WebDAV interface seems to be broken." : "Ваш веб-сервер ще не налаштований належним чином, щоб дозволити синхронізацію файлів, тому що інтерфейс WebDAV, здається, зіпсований.", - "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." : "Цей сервер не має підключення до Інтернету. Це означає, що деякі з функцій, таких як зовнішнє сховище, повідомлення про оновлення та встановлення сторонніх додатків не будуть працювати. Доступ до файлів віддалено і відправки повідомлень поштою можуть не працювати. Ми пропонуємо включити підключення до Інтернету для цього сервера, якщо ви хочете, щоб всі функції працювали.", - "Your data directory and your files are probably accessible from the Internet. The .htaccess file is not working. We strongly suggest that you configure your web server in a way that the data directory is no longer accessible or you move the data directory outside the web server document root." : "Ваш каталог даних і ваші файли можливо доступні з інтернету. .htaccess файл не працює. Ми настійно рекомендуємо вам налаштувати ваш веб сервер таким чином, що-б каталог даних не був більше доступний або перемістіть каталог даних за межі кореня веб сервера.", + "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." : "Цей сервер не має підключення до Інтернету. Це означає, що деякі з функцій, таких як зовнішнє сховище, повідомлення про оновлення та встановлення сторонніх додатків не будуть працювати. Доступ до файлів віддалено і надсилання повідомлень поштою можуть не працювати. Ми пропонуємо включити підключення до Інтернету для цього сервера, якщо ви хочете, щоб всі функції працювали.", + "Your data directory and your files are probably accessible from the Internet. The .htaccess file is not working. We strongly suggest that you configure your web server in a way that the data directory is no longer accessible or you move the data directory outside the web server document root." : "Ваш каталог даних і ваші файли можливо доступні з інтернету. .htaccess файл не працює. Ми наполегливо рекомендуємо вам налаштувати ваш веб сервер таким чином, щоб каталог даних більше не був доступний або перемістіть каталог даних за межі кореня веб сервера.", "No memory cache has been configured. To enhance your performance please configure a memcache if available. Further information can be found in our <a href=\"{docLink}\">documentation</a>." : "Кеш пам'яті не налаштований. Задля покращення продуктивності, будь ласка, налаштуйте memcache, якщо є можливість. Додаткову інформацію шукайте у нашій <a href=\"{docLink}\">документації</a>.", + "/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in our <a href=\"{docLink}\">documentation</a>." : "/dev/urandom не доступний для читання PHP, що вкрай небажано з міркувань безпеки. Додаткову інформацію шукайте у нашій <a href=\"{docLink}\">документації</a>.", "Error occurred while checking server setup" : "При перевірці налаштувань серверу сталася помилка", "The \"{header}\" HTTP header is not configured to equal to \"{expected}\". This is a potential security or privacy risk and we recommend adjusting this setting." : "HTTP заголовок \"{header}\" не налаштований як \"{expected}\". Це потенційний ризик для безпеки чи приватності і ми радимо виправити це налаштування.", - "The \"Strict-Transport-Security\" HTTP header is not configured to least \"2,678,400\" seconds. This is a potential security risk and we recommend adjusting this setting." : "HTTP заголовок \"Strict-Transport-Security\" повинен бути налаштований принаймні на \"2,678,400\" секунд. Це потенційна проблема безпеки і ми рекомендуємо змінити ці налаштування.", - "You are accessing this site via HTTP. We strongly suggest you configure your server to require using HTTPS instead." : "Ви зайшли на цей сайт через HTTP. Ми настійно рекомендуємо налаштувати ваш сервер на використання HTTPS.", + "The \"Strict-Transport-Security\" HTTP header is not configured to least \"2,678,400\" seconds. This is a potential security risk and we recommend adjusting this setting." : "HTTP заголовок \"Strict-Transport-Security\" повинен бути налаштований принаймні на \"2,678,400\" секунд. Це потенційна проблема безпеки і ми рекомендуємо змінити це налаштування.", + "You are accessing this site via HTTP. We strongly suggest you configure your server to require using HTTPS instead." : "Ви зайшли на цей сайт через HTTP. Ми наполегливо рекомендуємо налаштувати ваш сервер на використання HTTPS.", "Shared" : "Опубліковано", "Shared with {recipients}" : "Опубліковано для {recipients}", "Share" : "Поділитися", @@ -87,14 +88,14 @@ "Share with users or groups …" : "Поширити серед користувачів або груп ...", "Share with users, groups or remote users …" : "Поширити серед локальних чи віддалених користувачів або груп ...", "Share with people on other ownClouds using the syntax username@example.com/owncloud" : "Поширити серед людей інших ownCloud'ів, використовуючи синтаксис ім'я_користувача@файли.укр/owncloud", - "Share link" : "Опублікувати посилання", + "Share link" : "Поділитись посиланням", "The public link will expire no later than {days} days after it is created" : "Доступ до опублікованого посилання буде припинено не пізніше ніж через {days} днів з моменту створення", "Link" : "Посилання", "Password protect" : "Захистити паролем", "Password" : "Пароль", "Choose a password for the public link" : "Вкажіть пароль для публічного посилання", "Allow editing" : "Дозволити редагування", - "Email link to person" : "Надіслати посилання по електронній пошті", + "Email link to person" : "Надіслати посилання електронною поштою", "Send" : "Надіслати", "Set expiration date" : "Встановити термін дії", "Expiration" : "Закінчення", @@ -111,28 +112,28 @@ "can edit" : "може редагувати", "access control" : "контроль доступу", "create" : "створити", - "change" : "Змінити", + "change" : "змінити", "delete" : "видалити", "Password protected" : "Захищено паролем", - "Error unsetting expiration date" : "Помилка при відміні терміна дії", - "Error setting expiration date" : "Помилка при встановленні терміна дії", + "Error unsetting expiration date" : "Помилка при відміні терміну дії", + "Error setting expiration date" : "Помилка при встановленні терміну дії", "Sending ..." : "Надсилання...", - "Email sent" : "Ел. пошта надіслана", + "Email sent" : "Лист надіслано", "Warning" : "Попередження", "The object type is not specified." : "Не визначено тип об'єкту.", "Enter new" : "Введіть новий", "Delete" : "Видалити", "Add" : "Додати", - "Edit tags" : "Редагувати теги", + "Edit tags" : "Редагувати мітки", "Error loading dialog template: {error}" : "Помилка при завантаженні шаблону діалогу: {error}", - "No tags selected for deletion." : "Жодних тегів не обрано для видалення.", + "No tags selected for deletion." : "Жодних міток не обрано для видалення.", "unknown text" : "невідомий текст", "Hello world!" : "Привіт світ!", "sunny" : "сонячно", "Hello {name}, the weather is {weather}" : "Привіт {name}, погода {weather} ", "Hello {name}" : "Привіт {name}", - "_download %n file_::_download %n files_" : ["завантяження %n файлу","завантаження %n файлів","завантаження %n файлів"], - "{version} is available. Get more information on how to update." : "{version} вже є доступною. Отримати більш детальну інформацію про те, як оновити.", + "_download %n file_::_download %n files_" : ["завантаження %n файлу","завантаження %n файлів","завантаження %n файлів"], + "{version} is available. Get more information on how to update." : "{version} доступна. Отримати більш детальну інформацію про те, як оновити.", "Updating {productName} to version {version}, this may take a while." : "Оновлення {productName} до версії {version}, це може займати деякий час.", "Please reload the page." : "Будь ласка, перезавантажте сторінку.", "The update was unsuccessful. " : "Оновлення завершилось невдачею.", @@ -153,19 +154,19 @@ "Apps" : "Додатки", "Admin" : "Адмін", "Help" : "Допомога", - "Error loading tags" : "Помилка завантаження тегів.", + "Error loading tags" : "Помилка завантаження міток", "Tag already exists" : "Мітка вже існує", "Error deleting tag(s)" : "Помилка видалення мітки(ок)", "Error tagging" : "Помилка встановлення міток", "Error untagging" : "Помилка зняття мітки", - "Error favoriting" : "Помилка додавання в обрані", - "Error unfavoriting" : "Помилка видалення з обраного", + "Error favoriting" : "Помилка додавання в улюблені", + "Error unfavoriting" : "Помилка видалення з улюбленого", "Access forbidden" : "Доступ заборонено", "File not found" : "Файл не знайдено", "The specified document has not been found on the server." : "Не вдалось знайти вказаний документ на сервері.", "You can click here to return to %s." : "Ви можете натиснути тут для повернення до %s.", - "Hey there,\n\njust letting you know that %s shared %s with you.\nView it: %s\n\n" : "Агов,\n\nпросто щоб ви знали, що %s поділився %s з вами.\nПодивіться: %s\n\n", - "The share will expire on %s." : "Доступ до спільних даних вичерпається %s.", + "Hey there,\n\njust letting you know that %s shared %s with you.\nView it: %s\n\n" : "Агов,\n\nпросто повідомляємо вам, що %s поділився %s з вами.\nПерегляньте: %s\n\n", + "The share will expire on %s." : "Спільний доступ закінчиться %s.", "Cheers!" : "Будьмо!", "Internal Server Error" : "Внутрішня помилка серверу", "The server encountered an internal error and was unable to complete your request." : "На сервері сталася внутрішня помилка, тому він не зміг виконати ваш запит.", @@ -181,7 +182,7 @@ "Line: %s" : "Рядок: %s", "Trace" : "Трасування", "Security warning" : "Попередження безпеки", - "Your data directory and files are probably accessible from the internet because the .htaccess file does not work." : "Ваші дані каталогів і файлів, ймовірно, доступні з інтернету, тому що .htaccess файл не працює.", + "Your data directory and files are probably accessible from the internet because the .htaccess file does not work." : "Ваш каталог даних і ваші файли можливо доступні з інтернету, тому що .htaccess файл не працює.", "For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\">documentation</a>." : "Для отримання інформації, як правильно налаштувати сервер, див. <a href=\"%s\" target=\"_blank\">документацію</a>.", "Create an <strong>admin account</strong>" : "Створити <strong>обліковий запис адміністратора</strong>", "Username" : "Ім'я користувача", @@ -189,6 +190,8 @@ "Data folder" : "Каталог даних", "Configure the database" : "Налаштування бази даних", "Only %s is available." : "Доступно тільки %s.", + "Install and activate additional PHP modules to choose other database types." : "Встановіть та активуйте додаткові модулі PHP для того, щоб обрати тип БД.", + "For more details check out the documentation." : "За подробицями зверніться до документації.", "Database user" : "Користувач бази даних", "Database password" : "Пароль для бази даних", "Database name" : "Назва бази даних", @@ -197,33 +200,33 @@ "Performance warning" : "Попередження продуктивності", "SQLite will be used as database." : "В якості бази даних буде використана SQLite.", "For larger installations we recommend to choose a different database backend." : "Для великих установок ми радимо вибрати іншу базу даних.", - "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "Особливо викликає сумнів використання SQLite при синхронізації файлів з використанням клієнта для ПК.", + "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "Використання SQLite особливо не рекомендується при синхронізації файлів з використанням клієнта для ПК.", "Finish setup" : "Завершити встановлення", "Finishing …" : "Завершується ...", "Need help?" : "Потрібна допомога?", "See the documentation" : "Дивіться документацію", - "This application requires JavaScript for correct operation. Please {linkstart}enable JavaScript{linkend} and reload the page." : "Ця програма вимагає увімкнений JavaScript для коректної роботи. Будь ласка, {linkstart} Увімкніть JavaScript {linkend} та перезавантажте інтерфейс.", + "This application requires JavaScript for correct operation. Please {linkstart}enable JavaScript{linkend} and reload the page." : "Ця програма вимагає увімкнений JavaScript для коректної роботи. Будь ласка, {linkstart} Увімкніть JavaScript {linkend} та перезавантажте сторінку.", "Log out" : "Вихід", - "Search" : "Знайти", + "Search" : "Пошук", "Server side authentication failed!" : "Невдала аутентифікація з сервером!", "Please contact your administrator." : "Будь ласка, зверніться до вашого Адміністратора.", - "An internal error occured." : "Внутрішня помилка.", + "An internal error occured." : "Виникла внутрішня помилка.", "Please try again or contact your administrator." : "Будь ласка, спробуйте ще раз або зверніться до адміністратора.", "Forgot your password? Reset it!" : "Забули ваш пароль? Скиньте його!", "remember" : "запам'ятати", "Log in" : "Увійти", "Alternative Logins" : "Альтернативні імена користувача", - "Hey there,<br><br>just letting you know that %s shared <strong>%s</strong> with you.<br><a href=\"%s\">View it!</a><br><br>" : "Агов,<br><br>просто щоб ви знали, що %s поділився »%s« з вами.<br><a href=\"%s\">Подивіться!</a><br><br>", + "Hey there,<br><br>just letting you know that %s shared <strong>%s</strong> with you.<br><a href=\"%s\">View it!</a><br><br>" : "Агов,<br><br>просто повідомляємо вам, що %s поділився »%s« з вами.<br><a href=\"%s\">Перегляньте!</a><br><br>", "This ownCloud instance is currently in single user mode." : "Сервер ownCloud в даний час працює в однокористувацькому режимі.", "This means only administrators can use the instance." : "Це означає, що тільки адміністратори можуть використовувати сервер.", "Contact your system administrator if this message persists or appeared unexpectedly." : "Зверніться до вашого системного адміністратора якщо це повідомлення не зникає або з'являється несподівано.", "Thank you for your patience." : "Дякуємо за ваше терпіння.", "You are accessing the server from an untrusted domain." : "Ви намагаєтеся отримати доступ до сервера з непідтвердженого домену.", - "Please contact your administrator. If you are an administrator of this instance, configure the \"trusted_domain\" setting in config/config.php. An example configuration is provided in config/config.sample.php." : "Будь ласка, зверніться до адміністратора. Якщо ви є адміністратором цього серверу, ви можете налаштувати опцію \"trusted_domain\" в конфігураційному файлі config/config.php. Приклад конфігурації знаходится в файлі config/config.sample.php.", + "Please contact your administrator. If you are an administrator of this instance, configure the \"trusted_domain\" setting in config/config.php. An example configuration is provided in config/config.sample.php." : "Будь ласка, зверніться до адміністратора. Якщо ви є адміністратором цього серверу, ви можете налаштувати опцію \"trusted_domain\" в конфігураційному файлі config/config.php. Приклад конфігурації знаходиться в файлі config/config.sample.php.", "Depending on your configuration, as an administrator you might also be able to use the button below to trust this domain." : "Залежно від конфігурації Ви як адміністратор можете додати цей домен у список довірених, використовуйте кнопку нижче.", "Add \"%s\" as trusted domain" : "Додати \"%s\" як довірений домен", "%s will be updated to version %s." : "%s буде оновлено до версії %s.", - "The following apps will be disabled:" : "Наступні додатки будуть відключені:", + "The following apps will be disabled:" : "Наступні додатки будуть вимкнені:", "The theme %s has been disabled." : "Тему %s було вимкнено.", "Please make sure that the database, the config folder and the data folder have been backed up before proceeding." : "Перед продовженням переконайтеся, що ви зробили резервну копію бази даних, каталогу конфігурації та каталогу з даними.", "Start update" : "Почати оновлення", diff --git a/core/l10n/zh_CN.js b/core/l10n/zh_CN.js index 6a0da0710c9..cb11b5809bb 100644 --- a/core/l10n/zh_CN.js +++ b/core/l10n/zh_CN.js @@ -218,7 +218,7 @@ OC.L10N.register( "The theme %s has been disabled." : "%s 主题已被禁用。", "Please make sure that the database, the config folder and the data folder have been backed up before proceeding." : "在继续之前,请确认数据库、配置文件夹和数据文件夹已经备份。", "Start update" : "开始更新", - "To avoid timeouts with larger installations, you can instead run the following command from your installation directory:" : "为避免更大的安装演示,你能在你的安装目录下面运行这些命令:", + "To avoid timeouts with larger installations, you can instead run the following command from your installation directory:" : "为进行避免较大的安装时超时,你可以在你的安装目录下运行下面的命令:", "This %s instance is currently in maintenance mode, which may take a while." : "该 %s 实例当前处于维护模式,这将进行一些时间。", "This page will refresh itself when the %s instance is available again." : "当实例 %s 再次可用时这个页面将刷新。" }, diff --git a/core/l10n/zh_CN.json b/core/l10n/zh_CN.json index a6d48105721..3321f61c072 100644 --- a/core/l10n/zh_CN.json +++ b/core/l10n/zh_CN.json @@ -216,7 +216,7 @@ "The theme %s has been disabled." : "%s 主题已被禁用。", "Please make sure that the database, the config folder and the data folder have been backed up before proceeding." : "在继续之前,请确认数据库、配置文件夹和数据文件夹已经备份。", "Start update" : "开始更新", - "To avoid timeouts with larger installations, you can instead run the following command from your installation directory:" : "为避免更大的安装演示,你能在你的安装目录下面运行这些命令:", + "To avoid timeouts with larger installations, you can instead run the following command from your installation directory:" : "为进行避免较大的安装时超时,你可以在你的安装目录下运行下面的命令:", "This %s instance is currently in maintenance mode, which may take a while." : "该 %s 实例当前处于维护模式,这将进行一些时间。", "This page will refresh itself when the %s instance is available again." : "当实例 %s 再次可用时这个页面将刷新。" },"pluralForm" :"nplurals=1; plural=0;" diff --git a/core/templates/layout.user.php b/core/templates/layout.user.php index bcf47316a73..61f164719d0 100644 --- a/core/templates/layout.user.php +++ b/core/templates/layout.user.php @@ -46,7 +46,7 @@ </div> </a> - <a href="#" class="menutoggle" tabindex="2"> + <a href="#" class="header-appname-container menutoggle" tabindex="2"> <h1 class="header-appname"> <?php if(OC_Util::getEditionString() === '') { diff --git a/lib/l10n/cs_CZ.js b/lib/l10n/cs_CZ.js index 0f43185986e..342f345033f 100644 --- a/lib/l10n/cs_CZ.js +++ b/lib/l10n/cs_CZ.js @@ -38,6 +38,7 @@ OC.L10N.register( "_%n minute ago_::_%n minutes ago_" : ["před %n minutou","před %n minutami","před %n minutami"], "seconds ago" : "před pár sekundami", "web services under your control" : "webové služby pod Vaší kontrolou", + "Module with id: %s does not exists. Please enable it in your apps settings or contact your administrator." : "Modul s id: %s neexistuje. Povolte ho prosím ve svých nastaveních aplikací nebo kontaktujte svého administrátora.", "Empty filename is not allowed" : "Prázdné jméno souboru není povoleno", "Dot files are not allowed" : "Jména souborů začínající tečkou nejsou povolena", "4-byte characters are not supported in file names" : "4-bytové znaky nejsou podporovány ve jménech souborů", @@ -132,7 +133,9 @@ OC.L10N.register( "PHP module %s not installed." : "PHP modul %s není nainstalován.", "PHP setting \"%s\" is not set to \"%s\"." : "PHP hodnota \"%s\" není nastavena na \"%s\".", "Adjusting this setting in php.ini will make ownCloud run again" : "Úprava tohoto nastavení v php.ini opět rozběhne ownCloud", + "mbstring.func_overload is set to \"%s\" instead of the expected value \"0\"" : "mbstring.func_overload je nastaven na \"%s\" místo očekávané hodnoty \"0\"", "To fix this issue set <code>mbstring.func_overload</code> to <code>0</code> in your php.ini" : "Pro nápravu nastavte <code>mbstring.func_overload</code> na <code>0</code> v souboru php.ini", + "PHP is apparently set up 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 znepřístupnění mnoha důležitý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.", "PHP modules have been installed, but they are still listed as missing?" : "PHP moduly jsou nainstalovány, ale stále se tváří jako chybějící?", "Please ask your server administrator to restart the web server." : "Požádejte svého správce systému o restart webového serveru.", diff --git a/lib/l10n/cs_CZ.json b/lib/l10n/cs_CZ.json index 135ac41f33a..73c05b89f37 100644 --- a/lib/l10n/cs_CZ.json +++ b/lib/l10n/cs_CZ.json @@ -36,6 +36,7 @@ "_%n minute ago_::_%n minutes ago_" : ["před %n minutou","před %n minutami","před %n minutami"], "seconds ago" : "před pár sekundami", "web services under your control" : "webové služby pod Vaší kontrolou", + "Module with id: %s does not exists. Please enable it in your apps settings or contact your administrator." : "Modul s id: %s neexistuje. Povolte ho prosím ve svých nastaveních aplikací nebo kontaktujte svého administrátora.", "Empty filename is not allowed" : "Prázdné jméno souboru není povoleno", "Dot files are not allowed" : "Jména souborů začínající tečkou nejsou povolena", "4-byte characters are not supported in file names" : "4-bytové znaky nejsou podporovány ve jménech souborů", @@ -130,7 +131,9 @@ "PHP module %s not installed." : "PHP modul %s není nainstalován.", "PHP setting \"%s\" is not set to \"%s\"." : "PHP hodnota \"%s\" není nastavena na \"%s\".", "Adjusting this setting in php.ini will make ownCloud run again" : "Úprava tohoto nastavení v php.ini opět rozběhne ownCloud", + "mbstring.func_overload is set to \"%s\" instead of the expected value \"0\"" : "mbstring.func_overload je nastaven na \"%s\" místo očekávané hodnoty \"0\"", "To fix this issue set <code>mbstring.func_overload</code> to <code>0</code> in your php.ini" : "Pro nápravu nastavte <code>mbstring.func_overload</code> na <code>0</code> v souboru php.ini", + "PHP is apparently set up 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 znepřístupnění mnoha důležitý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.", "PHP modules have been installed, but they are still listed as missing?" : "PHP moduly jsou nainstalovány, ale stále se tváří jako chybějící?", "Please ask your server administrator to restart the web server." : "Požádejte svého správce systému o restart webového serveru.", diff --git a/lib/l10n/da.js b/lib/l10n/da.js index 4916287c2dc..20314fc018e 100644 --- a/lib/l10n/da.js +++ b/lib/l10n/da.js @@ -44,6 +44,7 @@ OC.L10N.register( "File name is a reserved word" : "Filnavnet er et reserveret ord", "File name contains at least one invalid character" : "Filnavnet indeholder mindst ét ugyldigt tegn", "File name is too long" : "Filnavnet er for langt", + "Can't read file" : "Kan ikke læse filen", "App directory already exists" : "App-mappe findes allerede", "Can't create app folder. Please fix permissions. %s" : "Kan ikke oprette app-mappe. Ret tilladelser. %s", "No source specified when installing app" : "Ingen kilde angivet under installation af app", @@ -131,6 +132,9 @@ OC.L10N.register( "PHP module %s not installed." : "PHP-modulet %s er ikke installeret.", "PHP setting \"%s\" is not set to \"%s\"." : "PHP-indstillingen \"%s\" er ikke angivet til \"%s\".", "Adjusting this setting in php.ini will make ownCloud run again" : "Justeres denne indstilling i php.ini, så vil ownCloud kunne køre igen", + "mbstring.func_overload is set to \"%s\" instead of the expected value \"0\"" : "mbstring.func_overload er angivet til \"%s\", i stedet for den forventede værdi \"0\"", + "To fix this issue set <code>mbstring.func_overload</code> to <code>0</code> in your php.ini" : "For at rette dette problem, så angiv\n<code>mbstring.func_overload</code> til <code>0</code> i din php.ini", + "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "PHP er tilsyneladende sat op til at fjerne indlejrede doc-blokke. Dette vil gøre adskillige kerneprogrammer utilgængelige.", "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Dette er sansynligvis forårsaget af et accelerator eller cache som Zend OPcache eller eAccelerator", "PHP modules have been installed, but they are still listed as missing?" : "Der er installeret PHP-moduler, men de fremstår stadig som fraværende?", "Please ask your server administrator to restart the web server." : "Du bedes anmode din serveradministrator om at genstarte webserveren.", diff --git a/lib/l10n/da.json b/lib/l10n/da.json index 92667d548c0..ac6e0038a1e 100644 --- a/lib/l10n/da.json +++ b/lib/l10n/da.json @@ -42,6 +42,7 @@ "File name is a reserved word" : "Filnavnet er et reserveret ord", "File name contains at least one invalid character" : "Filnavnet indeholder mindst ét ugyldigt tegn", "File name is too long" : "Filnavnet er for langt", + "Can't read file" : "Kan ikke læse filen", "App directory already exists" : "App-mappe findes allerede", "Can't create app folder. Please fix permissions. %s" : "Kan ikke oprette app-mappe. Ret tilladelser. %s", "No source specified when installing app" : "Ingen kilde angivet under installation af app", @@ -129,6 +130,9 @@ "PHP module %s not installed." : "PHP-modulet %s er ikke installeret.", "PHP setting \"%s\" is not set to \"%s\"." : "PHP-indstillingen \"%s\" er ikke angivet til \"%s\".", "Adjusting this setting in php.ini will make ownCloud run again" : "Justeres denne indstilling i php.ini, så vil ownCloud kunne køre igen", + "mbstring.func_overload is set to \"%s\" instead of the expected value \"0\"" : "mbstring.func_overload er angivet til \"%s\", i stedet for den forventede værdi \"0\"", + "To fix this issue set <code>mbstring.func_overload</code> to <code>0</code> in your php.ini" : "For at rette dette problem, så angiv\n<code>mbstring.func_overload</code> til <code>0</code> i din php.ini", + "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "PHP er tilsyneladende sat op til at fjerne indlejrede doc-blokke. Dette vil gøre adskillige kerneprogrammer utilgængelige.", "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Dette er sansynligvis forårsaget af et accelerator eller cache som Zend OPcache eller eAccelerator", "PHP modules have been installed, but they are still listed as missing?" : "Der er installeret PHP-moduler, men de fremstår stadig som fraværende?", "Please ask your server administrator to restart the web server." : "Du bedes anmode din serveradministrator om at genstarte webserveren.", diff --git a/lib/l10n/de.js b/lib/l10n/de.js index 9d876a3704c..32d4121a4a5 100644 --- a/lib/l10n/de.js +++ b/lib/l10n/de.js @@ -38,6 +38,7 @@ OC.L10N.register( "_%n minute ago_::_%n minutes ago_" : ["Vor %n Minute","Vor %n Minuten"], "seconds ago" : "Gerade eben", "web services under your control" : "Web-Dienste unter Deiner Kontrolle", + "Module with id: %s does not exists. Please enable it in your apps settings or contact your administrator." : "Das Modul mit der ID: %s existiert nicht. Bitte aktiviere es in Deinen App-Einstellungen oder kontaktiere Deinen Administrator.", "Empty filename is not allowed" : "Ein leerer Dateiname ist nicht erlaubt", "Dot files are not allowed" : "Dateinamen mit einem Punkt am Anfang sind nicht erlaubt", "4-byte characters are not supported in file names" : "4-Byte Zeichen sind in Dateinamen nicht erlaubt", @@ -132,7 +133,9 @@ OC.L10N.register( "PHP module %s not installed." : "PHP-Modul %s nicht installiert.", "PHP setting \"%s\" is not set to \"%s\"." : "PHP-Einstellung „%s“ ist nicht auf „%s“ gesetzt.", "Adjusting this setting in php.ini will make ownCloud run again" : "Durch das Anpassen dieser Einstellung in der php.ini wird ownCloud wieder laufen", - "To fix this issue set <code>mbstring.func_overload</code> to <code>0</code> in your php.ini" : "Setze in Deiner php.ini <code>mbstring.func_overload</code> auf <code>-0</code>, um dieses Problem zu beheben.", + "mbstring.func_overload is set to \"%s\" instead of the expected value \"0\"" : "mbstring.func_overload ist nicht auf den erwarteten Wert „0“, sondern stattdessen auf „%s“ gesetzt", + "To fix this issue set <code>mbstring.func_overload</code> to <code>0</code> in your php.ini" : "Bitte setze zum Beheben dieses Problems <code>mbstring.func_overload</code> in Deiner php.ini auf <code>0</code>.", + "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "PHP ist offenbar so konfiguriert, dass PHPDoc-Blöcke in der Anweisung entfernt werden. Dadurch sind mehrere Kern-Apps nicht erreichbar.", "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Dies wird wahrscheinlich durch Zwischenspeicher/Beschleuniger wie etwa Zend OPcache oder eAccelerator verursacht.", "PHP modules have been installed, but they are still listed as missing?" : "PHP-Module wurden installiert, werden aber als noch fehlend gelistet?", "Please ask your server administrator to restart the web server." : "Bitte kontaktiere Deinen Server-Administrator und bitte um den Neustart des Webservers.", diff --git a/lib/l10n/de.json b/lib/l10n/de.json index a51a5da4d57..c886a42dacb 100644 --- a/lib/l10n/de.json +++ b/lib/l10n/de.json @@ -36,6 +36,7 @@ "_%n minute ago_::_%n minutes ago_" : ["Vor %n Minute","Vor %n Minuten"], "seconds ago" : "Gerade eben", "web services under your control" : "Web-Dienste unter Deiner Kontrolle", + "Module with id: %s does not exists. Please enable it in your apps settings or contact your administrator." : "Das Modul mit der ID: %s existiert nicht. Bitte aktiviere es in Deinen App-Einstellungen oder kontaktiere Deinen Administrator.", "Empty filename is not allowed" : "Ein leerer Dateiname ist nicht erlaubt", "Dot files are not allowed" : "Dateinamen mit einem Punkt am Anfang sind nicht erlaubt", "4-byte characters are not supported in file names" : "4-Byte Zeichen sind in Dateinamen nicht erlaubt", @@ -130,7 +131,9 @@ "PHP module %s not installed." : "PHP-Modul %s nicht installiert.", "PHP setting \"%s\" is not set to \"%s\"." : "PHP-Einstellung „%s“ ist nicht auf „%s“ gesetzt.", "Adjusting this setting in php.ini will make ownCloud run again" : "Durch das Anpassen dieser Einstellung in der php.ini wird ownCloud wieder laufen", - "To fix this issue set <code>mbstring.func_overload</code> to <code>0</code> in your php.ini" : "Setze in Deiner php.ini <code>mbstring.func_overload</code> auf <code>-0</code>, um dieses Problem zu beheben.", + "mbstring.func_overload is set to \"%s\" instead of the expected value \"0\"" : "mbstring.func_overload ist nicht auf den erwarteten Wert „0“, sondern stattdessen auf „%s“ gesetzt", + "To fix this issue set <code>mbstring.func_overload</code> to <code>0</code> in your php.ini" : "Bitte setze zum Beheben dieses Problems <code>mbstring.func_overload</code> in Deiner php.ini auf <code>0</code>.", + "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "PHP ist offenbar so konfiguriert, dass PHPDoc-Blöcke in der Anweisung entfernt werden. Dadurch sind mehrere Kern-Apps nicht erreichbar.", "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Dies wird wahrscheinlich durch Zwischenspeicher/Beschleuniger wie etwa Zend OPcache oder eAccelerator verursacht.", "PHP modules have been installed, but they are still listed as missing?" : "PHP-Module wurden installiert, werden aber als noch fehlend gelistet?", "Please ask your server administrator to restart the web server." : "Bitte kontaktiere Deinen Server-Administrator und bitte um den Neustart des Webservers.", diff --git a/lib/l10n/de_DE.js b/lib/l10n/de_DE.js index ce05c194703..4007e21bffd 100644 --- a/lib/l10n/de_DE.js +++ b/lib/l10n/de_DE.js @@ -38,6 +38,7 @@ OC.L10N.register( "_%n minute ago_::_%n minutes ago_" : ["Vor %n Minute","Vor %n Minuten"], "seconds ago" : "Gerade eben", "web services under your control" : "Web-Dienste unter Ihrer Kontrolle", + "Module with id: %s does not exists. Please enable it in your apps settings or contact your administrator." : "Das Modul mit der ID: %s existiert nicht. Bitte aktivieren Sie es in Ihren App-Einstellungen oder kontaktieren Sie Ihren Administrator.", "Empty filename is not allowed" : "Ein leerer Dateiname ist nicht erlaubt", "Dot files are not allowed" : "Dateinamen mit einem Punkt am Anfang sind nicht erlaubt", "4-byte characters are not supported in file names" : "4-Byte-Zeichen werden in Dateinamen nicht unterstützt", @@ -132,7 +133,9 @@ OC.L10N.register( "PHP module %s not installed." : "PHP-Modul %s nicht installiert.", "PHP setting \"%s\" is not set to \"%s\"." : "PHP-Einstellung „%s“ ist nicht auf „%s“ gesetzt.", "Adjusting this setting in php.ini will make ownCloud run again" : "Durch das Anpassen dieser Einstellung in der php.ini wird ownCloud wieder laufen", - "To fix this issue set <code>mbstring.func_overload</code> to <code>0</code> in your php.ini" : "Setzen Sie in Ihrer php.ini <code>mbstring.func_overload</code> auf <code>-0</code>, um dieses Problem zu beheben.", + "mbstring.func_overload is set to \"%s\" instead of the expected value \"0\"" : "mbstring.func_overload ist nicht auf den erwarteten Wert „0“, sondern stattdessen auf „%s“ gesetzt", + "To fix this issue set <code>mbstring.func_overload</code> to <code>0</code> in your php.ini" : "Bitte setzen Sie zum Beheben dieses Problems <code>mbstring.func_overload</code> in Ihrer php.ini auf <code>0</code>.", + "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "PHP ist offenbar so konfiguriert, dass PHPDoc-Blöcke in der Anweisung entfernt werden. Dadurch sind mehrere Kern-Apps nicht erreichbar.", "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Dies wird wahrscheinlich durch Zwischenspeicher/Beschleuniger wie etwa Zend OPcache oder eAccelerator verursacht.", "PHP modules have been installed, but they are still listed as missing?" : "PHP-Module wurden installiert, werden aber als noch fehlend gelistet?", "Please ask your server administrator to restart the web server." : "Bitte kontaktieren Sie Ihren Server-Administrator und bitten Sie um den Neustart des Webservers.", diff --git a/lib/l10n/de_DE.json b/lib/l10n/de_DE.json index 6166d3476f4..1e977f2be51 100644 --- a/lib/l10n/de_DE.json +++ b/lib/l10n/de_DE.json @@ -36,6 +36,7 @@ "_%n minute ago_::_%n minutes ago_" : ["Vor %n Minute","Vor %n Minuten"], "seconds ago" : "Gerade eben", "web services under your control" : "Web-Dienste unter Ihrer Kontrolle", + "Module with id: %s does not exists. Please enable it in your apps settings or contact your administrator." : "Das Modul mit der ID: %s existiert nicht. Bitte aktivieren Sie es in Ihren App-Einstellungen oder kontaktieren Sie Ihren Administrator.", "Empty filename is not allowed" : "Ein leerer Dateiname ist nicht erlaubt", "Dot files are not allowed" : "Dateinamen mit einem Punkt am Anfang sind nicht erlaubt", "4-byte characters are not supported in file names" : "4-Byte-Zeichen werden in Dateinamen nicht unterstützt", @@ -130,7 +131,9 @@ "PHP module %s not installed." : "PHP-Modul %s nicht installiert.", "PHP setting \"%s\" is not set to \"%s\"." : "PHP-Einstellung „%s“ ist nicht auf „%s“ gesetzt.", "Adjusting this setting in php.ini will make ownCloud run again" : "Durch das Anpassen dieser Einstellung in der php.ini wird ownCloud wieder laufen", - "To fix this issue set <code>mbstring.func_overload</code> to <code>0</code> in your php.ini" : "Setzen Sie in Ihrer php.ini <code>mbstring.func_overload</code> auf <code>-0</code>, um dieses Problem zu beheben.", + "mbstring.func_overload is set to \"%s\" instead of the expected value \"0\"" : "mbstring.func_overload ist nicht auf den erwarteten Wert „0“, sondern stattdessen auf „%s“ gesetzt", + "To fix this issue set <code>mbstring.func_overload</code> to <code>0</code> in your php.ini" : "Bitte setzen Sie zum Beheben dieses Problems <code>mbstring.func_overload</code> in Ihrer php.ini auf <code>0</code>.", + "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "PHP ist offenbar so konfiguriert, dass PHPDoc-Blöcke in der Anweisung entfernt werden. Dadurch sind mehrere Kern-Apps nicht erreichbar.", "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Dies wird wahrscheinlich durch Zwischenspeicher/Beschleuniger wie etwa Zend OPcache oder eAccelerator verursacht.", "PHP modules have been installed, but they are still listed as missing?" : "PHP-Module wurden installiert, werden aber als noch fehlend gelistet?", "Please ask your server administrator to restart the web server." : "Bitte kontaktieren Sie Ihren Server-Administrator und bitten Sie um den Neustart des Webservers.", diff --git a/lib/l10n/el.js b/lib/l10n/el.js index a1e1cd4af08..9d05e40e533 100644 --- a/lib/l10n/el.js +++ b/lib/l10n/el.js @@ -129,7 +129,9 @@ OC.L10N.register( "PHP module %s not installed." : "Η μονάδα %s PHP δεν είναι εγκατεστημένη. ", "PHP setting \"%s\" is not set to \"%s\"." : "Η ρύθμιση \"%s\"της PHP δεν είναι ορισμένη σε \"%s\".", "Adjusting this setting in php.ini will make ownCloud run again" : "Η διόρθωση της ρύθμισης στο αρχείο php.ini θα επιτρέψει στο ownCloud να επαναλειτουργήσει", + "mbstring.func_overload is set to \"%s\" instead of the expected value \"0\"" : "Το mbstring.func_overload έχει ορισθεί σε \"%s\" αντί για την αναμενόμενη τιμή \"0\"", "To fix this issue set <code>mbstring.func_overload</code> to <code>0</code> in your php.ini" : "Για να διορθώσετε αυτό το πρόβλημα ορίστε το <code>mbstring.func_overload</code> σε <code>0</code> στο αρχείο php.ini", + "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "Η PHP φαίνεται να είναι ρυθμισμένη ώστε να αφαιρεί inline doc blocks. Αυτό θα καταστήσει πολλές βασικές εφαρμογές μη διαθέσιμες.", "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Αυτό πιθανόν προκλήθηκε από προσωρινή μνήμη (cache)/επιταχυντή όπως τη Zend OPcache ή τον eAccelerator.", "PHP modules have been installed, but they are still listed as missing?" : "Κάποιες μονάδες PHP έχουν εγκατασταθεί, αλλά είναι ακόμα καταγεγραμμένες ως απούσες;", "Please ask your server administrator to restart the web server." : "Παρακαλώ ζητήστε από το διαχειριστή του διακομιστή σας να επανεκκινήσει το διακομιστή δικτύου σας.", diff --git a/lib/l10n/el.json b/lib/l10n/el.json index e60cd9fea65..84d2b8f4925 100644 --- a/lib/l10n/el.json +++ b/lib/l10n/el.json @@ -127,7 +127,9 @@ "PHP module %s not installed." : "Η μονάδα %s PHP δεν είναι εγκατεστημένη. ", "PHP setting \"%s\" is not set to \"%s\"." : "Η ρύθμιση \"%s\"της PHP δεν είναι ορισμένη σε \"%s\".", "Adjusting this setting in php.ini will make ownCloud run again" : "Η διόρθωση της ρύθμισης στο αρχείο php.ini θα επιτρέψει στο ownCloud να επαναλειτουργήσει", + "mbstring.func_overload is set to \"%s\" instead of the expected value \"0\"" : "Το mbstring.func_overload έχει ορισθεί σε \"%s\" αντί για την αναμενόμενη τιμή \"0\"", "To fix this issue set <code>mbstring.func_overload</code> to <code>0</code> in your php.ini" : "Για να διορθώσετε αυτό το πρόβλημα ορίστε το <code>mbstring.func_overload</code> σε <code>0</code> στο αρχείο php.ini", + "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "Η PHP φαίνεται να είναι ρυθμισμένη ώστε να αφαιρεί inline doc blocks. Αυτό θα καταστήσει πολλές βασικές εφαρμογές μη διαθέσιμες.", "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Αυτό πιθανόν προκλήθηκε από προσωρινή μνήμη (cache)/επιταχυντή όπως τη Zend OPcache ή τον eAccelerator.", "PHP modules have been installed, but they are still listed as missing?" : "Κάποιες μονάδες PHP έχουν εγκατασταθεί, αλλά είναι ακόμα καταγεγραμμένες ως απούσες;", "Please ask your server administrator to restart the web server." : "Παρακαλώ ζητήστε από το διαχειριστή του διακομιστή σας να επανεκκινήσει το διακομιστή δικτύου σας.", diff --git a/lib/l10n/es.js b/lib/l10n/es.js index bd951d85140..dfa41b3a6f3 100644 --- a/lib/l10n/es.js +++ b/lib/l10n/es.js @@ -38,6 +38,7 @@ OC.L10N.register( "_%n minute ago_::_%n minutes ago_" : ["Hace %n minuto","Hace %n minutos"], "seconds ago" : "hace segundos", "web services under your control" : "Servicios web bajo su control", + "Module with id: %s does not exists. Please enable it in your apps settings or contact your administrator." : "Módulo con ID: %s no existe. Por favor habilítelo en los ajustes de sus aplicaciones o contáctese con su administrador.", "Empty filename is not allowed" : "No se puede dejar el nombre en blanco.", "Dot files are not allowed" : "Los archivos Dot no están permitidos", "4-byte characters are not supported in file names" : " No están permitidos caractéres de 4-bytes", @@ -132,7 +133,9 @@ OC.L10N.register( "PHP module %s not installed." : "El módulo PHP %s no está instalado.", "PHP setting \"%s\" is not set to \"%s\"." : "La opción PHP \"%s\" no es \"%s\".", "Adjusting this setting in php.ini will make ownCloud run again" : "Ajustando esta opción en php.ini permitirá que ownCloud vuelva a funcionar", + "mbstring.func_overload is set to \"%s\" instead of the expected value \"0\"" : "mbstring.func_overload está dispuesta en \"%s\" en lugar del valor esperado \"0\"", "To fix this issue set <code>mbstring.func_overload</code> to <code>0</code> in your php.ini" : "Para solucionarlo, defina la función <code>mbstring.func_overload</code> a <code>0</code> en su php.ini", + "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "PHP está aparentemente configurado para eliminar bloques de documentos en línea. Esto hará que varias aplicaciones principales estén inaccesibles.", "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Probablemente esto venga a causa de la caché o un acelerador, tales como Zend OPcache o eAccelerator.", "PHP modules have been installed, but they are still listed as missing?" : "Los módulos PHP se han instalado, pero aparecen listados como si faltaran", "Please ask your server administrator to restart the web server." : "Consulte al administrador de su servidor para reiniciar el servidor web.", diff --git a/lib/l10n/es.json b/lib/l10n/es.json index ebac1d05b59..de64cb113e3 100644 --- a/lib/l10n/es.json +++ b/lib/l10n/es.json @@ -36,6 +36,7 @@ "_%n minute ago_::_%n minutes ago_" : ["Hace %n minuto","Hace %n minutos"], "seconds ago" : "hace segundos", "web services under your control" : "Servicios web bajo su control", + "Module with id: %s does not exists. Please enable it in your apps settings or contact your administrator." : "Módulo con ID: %s no existe. Por favor habilítelo en los ajustes de sus aplicaciones o contáctese con su administrador.", "Empty filename is not allowed" : "No se puede dejar el nombre en blanco.", "Dot files are not allowed" : "Los archivos Dot no están permitidos", "4-byte characters are not supported in file names" : " No están permitidos caractéres de 4-bytes", @@ -130,7 +131,9 @@ "PHP module %s not installed." : "El módulo PHP %s no está instalado.", "PHP setting \"%s\" is not set to \"%s\"." : "La opción PHP \"%s\" no es \"%s\".", "Adjusting this setting in php.ini will make ownCloud run again" : "Ajustando esta opción en php.ini permitirá que ownCloud vuelva a funcionar", + "mbstring.func_overload is set to \"%s\" instead of the expected value \"0\"" : "mbstring.func_overload está dispuesta en \"%s\" en lugar del valor esperado \"0\"", "To fix this issue set <code>mbstring.func_overload</code> to <code>0</code> in your php.ini" : "Para solucionarlo, defina la función <code>mbstring.func_overload</code> a <code>0</code> en su php.ini", + "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "PHP está aparentemente configurado para eliminar bloques de documentos en línea. Esto hará que varias aplicaciones principales estén inaccesibles.", "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Probablemente esto venga a causa de la caché o un acelerador, tales como Zend OPcache o eAccelerator.", "PHP modules have been installed, but they are still listed as missing?" : "Los módulos PHP se han instalado, pero aparecen listados como si faltaran", "Please ask your server administrator to restart the web server." : "Consulte al administrador de su servidor para reiniciar el servidor web.", diff --git a/lib/l10n/fi_FI.js b/lib/l10n/fi_FI.js index 39e244bd4be..9531d13a91b 100644 --- a/lib/l10n/fi_FI.js +++ b/lib/l10n/fi_FI.js @@ -37,8 +37,10 @@ OC.L10N.register( "_%n minute ago_::_%n minutes ago_" : ["%n minuutti sitten","%n minuuttia sitten"], "seconds ago" : "sekuntia sitten", "web services under your control" : "verkkopalvelut hallinnassasi", + "Module with id: %s does not exists. Please enable it in your apps settings or contact your administrator." : "Moduulia tunnisteella %s ei ole olemassa. Ota se käyttöön sovellustesi asetuksista tai ota yhteys ylläpitoon.", "Empty filename is not allowed" : "Tiedostonimi ei voi olla tyhjä", "Dot files are not allowed" : "Pistetiedostot eivät ole sallittuja", + "4-byte characters are not supported in file names" : "4 tavun merkit eivät ole tuettuja tiedostojen nimissä", "File name contains at least one invalid character" : "Tiedoston nimi sisältää ainakin yhden virheellisen merkin", "File name is too long" : "Tiedoston nimi on liian pitkä", "Can't read file" : "Tiedostoa ei voi lukea", @@ -114,6 +116,7 @@ OC.L10N.register( "PHP module %s not installed." : "PHP-moduulia %s ei ole asennettu.", "PHP setting \"%s\" is not set to \"%s\"." : "PHP-asetusta \"%s\" ei ole asetettu arvoon \"%s\".", "Adjusting this setting in php.ini will make ownCloud run again" : "Tämän asetuksen muuttaminen php.ini-tiedostossa saattaa ownCloudin jälleen toimintakykyiseksi", + "mbstring.func_overload is set to \"%s\" instead of the expected value \"0\"" : "mbstring.func_overload on asetettu arvoon \"%s\" odotetun arvon \"0\" sijaan", "To fix this issue set <code>mbstring.func_overload</code> to <code>0</code> in your php.ini" : "Korjaa tämä ongelma asettamalla <code>mbstring.func_overload</code> arvoon <code>0</code> php.ini-tiedostossasi", "PHP modules have been installed, but they are still listed as missing?" : "PHP-moduulit on asennettu, mutta ovatko ne vieläkin listattu puuttuviksi?", "Please ask your server administrator to restart the web server." : "Pyydä palvelimen ylläpitäjää käynnistämään web-palvelin uudelleen.", diff --git a/lib/l10n/fi_FI.json b/lib/l10n/fi_FI.json index f576aea3a69..07a058fecd4 100644 --- a/lib/l10n/fi_FI.json +++ b/lib/l10n/fi_FI.json @@ -35,8 +35,10 @@ "_%n minute ago_::_%n minutes ago_" : ["%n minuutti sitten","%n minuuttia sitten"], "seconds ago" : "sekuntia sitten", "web services under your control" : "verkkopalvelut hallinnassasi", + "Module with id: %s does not exists. Please enable it in your apps settings or contact your administrator." : "Moduulia tunnisteella %s ei ole olemassa. Ota se käyttöön sovellustesi asetuksista tai ota yhteys ylläpitoon.", "Empty filename is not allowed" : "Tiedostonimi ei voi olla tyhjä", "Dot files are not allowed" : "Pistetiedostot eivät ole sallittuja", + "4-byte characters are not supported in file names" : "4 tavun merkit eivät ole tuettuja tiedostojen nimissä", "File name contains at least one invalid character" : "Tiedoston nimi sisältää ainakin yhden virheellisen merkin", "File name is too long" : "Tiedoston nimi on liian pitkä", "Can't read file" : "Tiedostoa ei voi lukea", @@ -112,6 +114,7 @@ "PHP module %s not installed." : "PHP-moduulia %s ei ole asennettu.", "PHP setting \"%s\" is not set to \"%s\"." : "PHP-asetusta \"%s\" ei ole asetettu arvoon \"%s\".", "Adjusting this setting in php.ini will make ownCloud run again" : "Tämän asetuksen muuttaminen php.ini-tiedostossa saattaa ownCloudin jälleen toimintakykyiseksi", + "mbstring.func_overload is set to \"%s\" instead of the expected value \"0\"" : "mbstring.func_overload on asetettu arvoon \"%s\" odotetun arvon \"0\" sijaan", "To fix this issue set <code>mbstring.func_overload</code> to <code>0</code> in your php.ini" : "Korjaa tämä ongelma asettamalla <code>mbstring.func_overload</code> arvoon <code>0</code> php.ini-tiedostossasi", "PHP modules have been installed, but they are still listed as missing?" : "PHP-moduulit on asennettu, mutta ovatko ne vieläkin listattu puuttuviksi?", "Please ask your server administrator to restart the web server." : "Pyydä palvelimen ylläpitäjää käynnistämään web-palvelin uudelleen.", diff --git a/lib/l10n/fr.js b/lib/l10n/fr.js index 0dc89813635..782573f40c8 100644 --- a/lib/l10n/fr.js +++ b/lib/l10n/fr.js @@ -37,12 +37,14 @@ OC.L10N.register( "_%n minute ago_::_%n minutes ago_" : ["il y a %n minute","il y a %n minutes"], "seconds ago" : "il y a quelques secondes", "web services under your control" : "services web sous votre contrôle", + "Module with id: %s does not exists. Please enable it in your apps settings or contact your administrator." : "Le module avec l'id: %s n'existe pas. Merci de l'activer dans les paramètres applications ou de contacter votre administrateur.", "Empty filename is not allowed" : "Le nom de fichier ne peut pas être vide", "Dot files are not allowed" : "Le nom de fichier ne peut pas commencer par un point", "4-byte characters are not supported in file names" : "Les caractères sur 4 octets ne sont pas pris en charge dans les noms de fichiers", "File name is a reserved word" : "Ce nom de fichier est un mot réservé", "File name contains at least one invalid character" : "Le nom de fichier contient un (des) caractère(s) non valide(s)", "File name is too long" : "Nom de fichier trop long", + "Can't read file" : "Impossible de lire le fichier", "App directory already exists" : "Le dossier de l'application existe déjà", "Can't create app folder. Please fix permissions. %s" : "Impossible de créer le dossier de l'application. Corrigez les droits d'accès. %s", "No source specified when installing app" : "Aucune source spécifiée pour installer l'application", @@ -130,7 +132,9 @@ OC.L10N.register( "PHP module %s not installed." : "Le module PHP %s n’est pas installé.", "PHP setting \"%s\" is not set to \"%s\"." : "Le paramètre PHP \"%s\" n'est pas \"%s\".", "Adjusting this setting in php.ini will make ownCloud run again" : "Ajuster ce paramètre dans php.ini permettra à ownCloud de fonctionner à nouveau", + "mbstring.func_overload is set to \"%s\" instead of the expected value \"0\"" : "mbstring.func_overload est à \"%s\" alors que la valeur \"0\" est attendue", "To fix this issue set <code>mbstring.func_overload</code> to <code>0</code> in your php.ini" : "Pour corriger ce problème mettez <code>mbstring.func_overload</code> à <code>0</code> dans votre php.ini", + "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "PHP est apparemment configuré pour supprimer les blocs PHPdoc du code. Cela rendra plusieurs applications de base inaccessibles.", "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "La raison est probablement l'utilisation d'un cache / accélérateur tel que Zend OPcache ou eAccelerator.", "PHP modules have been installed, but they are still listed as missing?" : "Les modules PHP ont été installés mais sont toujours indiqués comme manquants ?", "Please ask your server administrator to restart the web server." : "Veuillez demander à votre administrateur serveur de redémarrer le serveur web.", diff --git a/lib/l10n/fr.json b/lib/l10n/fr.json index b1757a0ca23..73da8da4361 100644 --- a/lib/l10n/fr.json +++ b/lib/l10n/fr.json @@ -35,12 +35,14 @@ "_%n minute ago_::_%n minutes ago_" : ["il y a %n minute","il y a %n minutes"], "seconds ago" : "il y a quelques secondes", "web services under your control" : "services web sous votre contrôle", + "Module with id: %s does not exists. Please enable it in your apps settings or contact your administrator." : "Le module avec l'id: %s n'existe pas. Merci de l'activer dans les paramètres applications ou de contacter votre administrateur.", "Empty filename is not allowed" : "Le nom de fichier ne peut pas être vide", "Dot files are not allowed" : "Le nom de fichier ne peut pas commencer par un point", "4-byte characters are not supported in file names" : "Les caractères sur 4 octets ne sont pas pris en charge dans les noms de fichiers", "File name is a reserved word" : "Ce nom de fichier est un mot réservé", "File name contains at least one invalid character" : "Le nom de fichier contient un (des) caractère(s) non valide(s)", "File name is too long" : "Nom de fichier trop long", + "Can't read file" : "Impossible de lire le fichier", "App directory already exists" : "Le dossier de l'application existe déjà", "Can't create app folder. Please fix permissions. %s" : "Impossible de créer le dossier de l'application. Corrigez les droits d'accès. %s", "No source specified when installing app" : "Aucune source spécifiée pour installer l'application", @@ -128,7 +130,9 @@ "PHP module %s not installed." : "Le module PHP %s n’est pas installé.", "PHP setting \"%s\" is not set to \"%s\"." : "Le paramètre PHP \"%s\" n'est pas \"%s\".", "Adjusting this setting in php.ini will make ownCloud run again" : "Ajuster ce paramètre dans php.ini permettra à ownCloud de fonctionner à nouveau", + "mbstring.func_overload is set to \"%s\" instead of the expected value \"0\"" : "mbstring.func_overload est à \"%s\" alors que la valeur \"0\" est attendue", "To fix this issue set <code>mbstring.func_overload</code> to <code>0</code> in your php.ini" : "Pour corriger ce problème mettez <code>mbstring.func_overload</code> à <code>0</code> dans votre php.ini", + "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "PHP est apparemment configuré pour supprimer les blocs PHPdoc du code. Cela rendra plusieurs applications de base inaccessibles.", "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "La raison est probablement l'utilisation d'un cache / accélérateur tel que Zend OPcache ou eAccelerator.", "PHP modules have been installed, but they are still listed as missing?" : "Les modules PHP ont été installés mais sont toujours indiqués comme manquants ?", "Please ask your server administrator to restart the web server." : "Veuillez demander à votre administrateur serveur de redémarrer le serveur web.", diff --git a/lib/l10n/gl.js b/lib/l10n/gl.js index d17ab73a565..e90aa96d21b 100644 --- a/lib/l10n/gl.js +++ b/lib/l10n/gl.js @@ -38,6 +38,7 @@ OC.L10N.register( "_%n minute ago_::_%n minutes ago_" : ["hai %n minuto","hai %n minutos"], "seconds ago" : "segundos atrás", "web services under your control" : "servizos web baixo o seu control", + "Module with id: %s does not exists. Please enable it in your apps settings or contact your administrator." : "Non existe o módulo co ID: %s. Actíveo nos axustes de aplicacións ou contacte co administrador.", "Empty filename is not allowed" : "Non está permitido deixar baleiro o nome de ficheiro", "Dot files are not allowed" : "Non se admiten os ficheiros con punto", "4-byte characters are not supported in file names" : "Non se admiten os caracteres de 4 bytes nos nomes de ficheiro", @@ -132,7 +133,9 @@ OC.L10N.register( "PHP module %s not installed." : "O módulo PHP %s non está instalado.", "PHP setting \"%s\" is not set to \"%s\"." : "O axuste de PHP «%s» non está estabelecido a «%s».", "Adjusting this setting in php.ini will make ownCloud run again" : "Facer este axuste en php.ini fará que ownCloud volva executarse", + "mbstring.func_overload is set to \"%s\" instead of the expected value \"0\"" : "mbstring.func_overload está estabelecido a «%s» no canto do valor «0» agardado", "To fix this issue set <code>mbstring.func_overload</code> to <code>0</code> in your php.ini" : "Para arranxar este problema, estabeleza <code>mbstring.func_overload</code> a <code>0</code> no ficheiro php.ini", + "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "Semella que PHP foi configurado para quitar bloques de documentos en liña. Isto fará que varias aplicacións sexan inaccesíbeis.", "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Isto probabelmente se debe unha caché/acelerador como Zend OPcache ou eAccelerator.", "PHP modules have been installed, but they are still listed as missing?" : "Instaláronse os módulos de PHP, mais aínda aparecen listados como perdidos?", "Please ask your server administrator to restart the web server." : "Pregúntelle ao administrador do servidor polo reinicio do servidor web..", diff --git a/lib/l10n/gl.json b/lib/l10n/gl.json index a5da1478255..e8c55d7451b 100644 --- a/lib/l10n/gl.json +++ b/lib/l10n/gl.json @@ -36,6 +36,7 @@ "_%n minute ago_::_%n minutes ago_" : ["hai %n minuto","hai %n minutos"], "seconds ago" : "segundos atrás", "web services under your control" : "servizos web baixo o seu control", + "Module with id: %s does not exists. Please enable it in your apps settings or contact your administrator." : "Non existe o módulo co ID: %s. Actíveo nos axustes de aplicacións ou contacte co administrador.", "Empty filename is not allowed" : "Non está permitido deixar baleiro o nome de ficheiro", "Dot files are not allowed" : "Non se admiten os ficheiros con punto", "4-byte characters are not supported in file names" : "Non se admiten os caracteres de 4 bytes nos nomes de ficheiro", @@ -130,7 +131,9 @@ "PHP module %s not installed." : "O módulo PHP %s non está instalado.", "PHP setting \"%s\" is not set to \"%s\"." : "O axuste de PHP «%s» non está estabelecido a «%s».", "Adjusting this setting in php.ini will make ownCloud run again" : "Facer este axuste en php.ini fará que ownCloud volva executarse", + "mbstring.func_overload is set to \"%s\" instead of the expected value \"0\"" : "mbstring.func_overload está estabelecido a «%s» no canto do valor «0» agardado", "To fix this issue set <code>mbstring.func_overload</code> to <code>0</code> in your php.ini" : "Para arranxar este problema, estabeleza <code>mbstring.func_overload</code> a <code>0</code> no ficheiro php.ini", + "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "Semella que PHP foi configurado para quitar bloques de documentos en liña. Isto fará que varias aplicacións sexan inaccesíbeis.", "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Isto probabelmente se debe unha caché/acelerador como Zend OPcache ou eAccelerator.", "PHP modules have been installed, but they are still listed as missing?" : "Instaláronse os módulos de PHP, mais aínda aparecen listados como perdidos?", "Please ask your server administrator to restart the web server." : "Pregúntelle ao administrador do servidor polo reinicio do servidor web..", diff --git a/lib/l10n/id.js b/lib/l10n/id.js index 40da45a638f..afe6f97a182 100644 --- a/lib/l10n/id.js +++ b/lib/l10n/id.js @@ -41,8 +41,10 @@ OC.L10N.register( "Empty filename is not allowed" : "Nama berkas kosong tidak diperbolehkan", "Dot files are not allowed" : "Berkas titik tidak diperbolehkan", "4-byte characters are not supported in file names" : "Karakter 4 byte tidak didukung dalam nama berkas", + "File name is a reserved word" : "Nama berkas merupakan kata yang disediakan", "File name contains at least one invalid character" : "Nama berkas berisi setidaknya satu karakter yang tidak sah.", "File name is too long" : "Nama berkas terlalu panjang", + "Can't read file" : "Tidak dapat membaca berkas", "App directory already exists" : "Direktori Apl sudah ada", "Can't create app folder. Please fix permissions. %s" : "Tidak dapat membuat folder apl. Silakan perbaiki perizinan. %s", "No source specified when installing app" : "Tidak ada sumber yang ditentukan saat menginstal apl", @@ -130,6 +132,9 @@ OC.L10N.register( "PHP module %s not installed." : "Module PHP %s tidak terinstal.", "PHP setting \"%s\" is not set to \"%s\"." : "Pengaturan PHP \"%s\" tidak diatur ke \"%s\".", "Adjusting this setting in php.ini will make ownCloud run again" : "Menyesuaikan pengaturan ini dalam php.ini akan menyebabkan ownCloud berjalan kembali", + "mbstring.func_overload is set to \"%s\" instead of the expected value \"0\"" : "mbstring.func_overload diatur menjadi \"%s\" bukan nilai yang diharapkan \"0\"", + "To fix this issue set <code>mbstring.func_overload</code> to <code>0</code> in your php.ini" : "Untuk memperbaiki masalah ini, atur <code>mbstring.func_overload</code> menjadi <code>0</code> pada berkas php.ini Anda", + "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "Tampaknya PHP diatur untuk memotong inline doc blocks. Hal ini akan menyebabkan beberapa aplikasi inti menjadi tidak dapat diakses.", "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Hal ini kemungkinan disebabkan oleh cache/akselerator seperti Zend OPcache atau eAccelerator.", "PHP modules have been installed, but they are still listed as missing?" : "Modul PHP telah terinstal, tetapi mereka terlihat tidak ada?", "Please ask your server administrator to restart the web server." : "Mohon minta administrator Anda untuk menjalankan ulang server web.", @@ -139,6 +144,7 @@ OC.L10N.register( "Please make sure you have PostgreSQL >= 9 or check the logs for more information about the error" : "Pastikan bahwa Anda memiliki PostgreSQL >= 9 atau periksa log untuk informasi lebih lanjut tentang kesalahan", "Please change the permissions to 0770 so that the directory cannot be listed by other users." : "Mohon ubah perizinan menjadi 0770 sehingga direktori tersebut tidak dapat dilihat oleh pengguna lain.", "Data directory (%s) is readable by other users" : "Direktori data (%s) dapat dibaca oleh pengguna lain", + "Data directory (%s) must be an absolute path" : "Direktori Data (%s) harus berupa lokasi lengkap", "Check the value of \"datadirectory\" in your configuration" : "Periksa nilai \"datadirectory\" di konfigurasi Anda", "Data directory (%s) is invalid" : "Direktori data (%s) tidak sah", "Please check that the data directory contains a file \".ocdata\" in its root." : "Mohon periksa apakah direktori data berisi sebuah berkas \".ocdata\" di direktori induknya.", diff --git a/lib/l10n/id.json b/lib/l10n/id.json index 90ab46561d2..e56619e28ca 100644 --- a/lib/l10n/id.json +++ b/lib/l10n/id.json @@ -39,8 +39,10 @@ "Empty filename is not allowed" : "Nama berkas kosong tidak diperbolehkan", "Dot files are not allowed" : "Berkas titik tidak diperbolehkan", "4-byte characters are not supported in file names" : "Karakter 4 byte tidak didukung dalam nama berkas", + "File name is a reserved word" : "Nama berkas merupakan kata yang disediakan", "File name contains at least one invalid character" : "Nama berkas berisi setidaknya satu karakter yang tidak sah.", "File name is too long" : "Nama berkas terlalu panjang", + "Can't read file" : "Tidak dapat membaca berkas", "App directory already exists" : "Direktori Apl sudah ada", "Can't create app folder. Please fix permissions. %s" : "Tidak dapat membuat folder apl. Silakan perbaiki perizinan. %s", "No source specified when installing app" : "Tidak ada sumber yang ditentukan saat menginstal apl", @@ -128,6 +130,9 @@ "PHP module %s not installed." : "Module PHP %s tidak terinstal.", "PHP setting \"%s\" is not set to \"%s\"." : "Pengaturan PHP \"%s\" tidak diatur ke \"%s\".", "Adjusting this setting in php.ini will make ownCloud run again" : "Menyesuaikan pengaturan ini dalam php.ini akan menyebabkan ownCloud berjalan kembali", + "mbstring.func_overload is set to \"%s\" instead of the expected value \"0\"" : "mbstring.func_overload diatur menjadi \"%s\" bukan nilai yang diharapkan \"0\"", + "To fix this issue set <code>mbstring.func_overload</code> to <code>0</code> in your php.ini" : "Untuk memperbaiki masalah ini, atur <code>mbstring.func_overload</code> menjadi <code>0</code> pada berkas php.ini Anda", + "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "Tampaknya PHP diatur untuk memotong inline doc blocks. Hal ini akan menyebabkan beberapa aplikasi inti menjadi tidak dapat diakses.", "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Hal ini kemungkinan disebabkan oleh cache/akselerator seperti Zend OPcache atau eAccelerator.", "PHP modules have been installed, but they are still listed as missing?" : "Modul PHP telah terinstal, tetapi mereka terlihat tidak ada?", "Please ask your server administrator to restart the web server." : "Mohon minta administrator Anda untuk menjalankan ulang server web.", @@ -137,6 +142,7 @@ "Please make sure you have PostgreSQL >= 9 or check the logs for more information about the error" : "Pastikan bahwa Anda memiliki PostgreSQL >= 9 atau periksa log untuk informasi lebih lanjut tentang kesalahan", "Please change the permissions to 0770 so that the directory cannot be listed by other users." : "Mohon ubah perizinan menjadi 0770 sehingga direktori tersebut tidak dapat dilihat oleh pengguna lain.", "Data directory (%s) is readable by other users" : "Direktori data (%s) dapat dibaca oleh pengguna lain", + "Data directory (%s) must be an absolute path" : "Direktori Data (%s) harus berupa lokasi lengkap", "Check the value of \"datadirectory\" in your configuration" : "Periksa nilai \"datadirectory\" di konfigurasi Anda", "Data directory (%s) is invalid" : "Direktori data (%s) tidak sah", "Please check that the data directory contains a file \".ocdata\" in its root." : "Mohon periksa apakah direktori data berisi sebuah berkas \".ocdata\" di direktori induknya.", diff --git a/lib/l10n/it.js b/lib/l10n/it.js index c2b4daf9d41..131a8e53109 100644 --- a/lib/l10n/it.js +++ b/lib/l10n/it.js @@ -38,6 +38,7 @@ OC.L10N.register( "_%n minute ago_::_%n minutes ago_" : ["%n minuto fa","%n minuti fa"], "seconds ago" : "secondi fa", "web services under your control" : "servizi web nelle tue mani", + "Module with id: %s does not exists. Please enable it in your apps settings or contact your administrator." : "Il modulo con id: %s non esiste. Abilitalo nelle impostazioni delle applicazioni o contatta il tuo amministratore.", "Empty filename is not allowed" : "Un nome di file vuoto non è consentito", "Dot files are not allowed" : "I file con un punto iniziale non sono consentiti", "4-byte characters are not supported in file names" : "I caratteri di 4 byte non sono supportati nei nomi dei file", @@ -132,7 +133,9 @@ OC.L10N.register( "PHP module %s not installed." : "Il modulo PHP %s non è installato.", "PHP setting \"%s\" is not set to \"%s\"." : "L'impostazione \"%s\" di PHP non è configurata a \"%s\".", "Adjusting this setting in php.ini will make ownCloud run again" : "La modifica di questa impostazione nel file php.ini permetterà nuovamente l'esecuzione di ownCloud", + "mbstring.func_overload is set to \"%s\" instead of the expected value \"0\"" : "mbstring.func_overload è impostata a \"%s\" invece del valore atteso \"0\"", "To fix this issue set <code>mbstring.func_overload</code> to <code>0</code> in your php.ini" : "Per correggere questo problema, imposta <code>mbstring.func_overload</code> a <code>0</code> nel tuo php.ini", + "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "Sembra che PHP sia configurato per rimuovere i blocchi di documentazione in linea. Ciò renderà inaccessibili diverse applicazioni principali.", "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Ciò è causato probabilmente da una cache/acceleratore come Zend OPcache o eAccelerator.", "PHP modules have been installed, but they are still listed as missing?" : "Sono stati installati moduli PHP, ma sono elencati ancora come mancanti?", "Please ask your server administrator to restart the web server." : "Chiedi all'amministratore di riavviare il server web.", diff --git a/lib/l10n/it.json b/lib/l10n/it.json index 9165d43e171..9574dd52c97 100644 --- a/lib/l10n/it.json +++ b/lib/l10n/it.json @@ -36,6 +36,7 @@ "_%n minute ago_::_%n minutes ago_" : ["%n minuto fa","%n minuti fa"], "seconds ago" : "secondi fa", "web services under your control" : "servizi web nelle tue mani", + "Module with id: %s does not exists. Please enable it in your apps settings or contact your administrator." : "Il modulo con id: %s non esiste. Abilitalo nelle impostazioni delle applicazioni o contatta il tuo amministratore.", "Empty filename is not allowed" : "Un nome di file vuoto non è consentito", "Dot files are not allowed" : "I file con un punto iniziale non sono consentiti", "4-byte characters are not supported in file names" : "I caratteri di 4 byte non sono supportati nei nomi dei file", @@ -130,7 +131,9 @@ "PHP module %s not installed." : "Il modulo PHP %s non è installato.", "PHP setting \"%s\" is not set to \"%s\"." : "L'impostazione \"%s\" di PHP non è configurata a \"%s\".", "Adjusting this setting in php.ini will make ownCloud run again" : "La modifica di questa impostazione nel file php.ini permetterà nuovamente l'esecuzione di ownCloud", + "mbstring.func_overload is set to \"%s\" instead of the expected value \"0\"" : "mbstring.func_overload è impostata a \"%s\" invece del valore atteso \"0\"", "To fix this issue set <code>mbstring.func_overload</code> to <code>0</code> in your php.ini" : "Per correggere questo problema, imposta <code>mbstring.func_overload</code> a <code>0</code> nel tuo php.ini", + "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "Sembra che PHP sia configurato per rimuovere i blocchi di documentazione in linea. Ciò renderà inaccessibili diverse applicazioni principali.", "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Ciò è causato probabilmente da una cache/acceleratore come Zend OPcache o eAccelerator.", "PHP modules have been installed, but they are still listed as missing?" : "Sono stati installati moduli PHP, ma sono elencati ancora come mancanti?", "Please ask your server administrator to restart the web server." : "Chiedi all'amministratore di riavviare il server web.", diff --git a/lib/l10n/ja.js b/lib/l10n/ja.js index 56ac5c84220..62691dfc0f1 100644 --- a/lib/l10n/ja.js +++ b/lib/l10n/ja.js @@ -44,6 +44,7 @@ OC.L10N.register( "File name is a reserved word" : "ファイル名が予約された単語です", "File name contains at least one invalid character" : "ファイル名に1文字以上の無効な文字が含まれています", "File name is too long" : "ファイル名が長すぎます", + "Can't read file" : "ファイルを読み込めません", "App directory already exists" : "アプリディレクトリはすでに存在します", "Can't create app folder. Please fix permissions. %s" : "アプリフォルダーを作成できませんでした。%s のパーミッションを修正してください。", "No source specified when installing app" : "アプリインストール時のソースが未指定", @@ -131,6 +132,9 @@ OC.L10N.register( "PHP module %s not installed." : "PHP のモジュール %s がインストールされていません。", "PHP setting \"%s\" is not set to \"%s\"." : "PHP設定の\"%s\"は \"%s\"に設定されていません", "Adjusting this setting in php.ini will make ownCloud run again" : "php.ini 中の設定を調整するとownCloudはもう一度動作するでしょう。 ", + "mbstring.func_overload is set to \"%s\" instead of the expected value \"0\"" : "mbstring.func_overload の値は \"0\" であるべきですが、\"%s\" に設定されています", + "To fix this issue set <code>mbstring.func_overload</code> to <code>0</code> in your php.ini" : "この問題を修正するには、php.ini ファイルの <code>mbstring.func_overload</code> を <code>0</code> に設定してください。", + "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "PHPでインラインドキュメントブロックを取り除く設定になっています。これによりコアアプリで利用できないものがいくつかあります。", "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "これは、Zend OPcacheやeAccelerator 等のキャッシュ/アクセラレーターが原因かもしれません。", "PHP modules have been installed, but they are still listed as missing?" : "PHP モジュールはインストールされていますが、まだ一覧に表示されていますか?", "Please ask your server administrator to restart the web server." : "サーバー管理者にWebサーバーを再起動するよう依頼してください。", diff --git a/lib/l10n/ja.json b/lib/l10n/ja.json index b9a4869e9b2..9e184c5ea84 100644 --- a/lib/l10n/ja.json +++ b/lib/l10n/ja.json @@ -42,6 +42,7 @@ "File name is a reserved word" : "ファイル名が予約された単語です", "File name contains at least one invalid character" : "ファイル名に1文字以上の無効な文字が含まれています", "File name is too long" : "ファイル名が長すぎます", + "Can't read file" : "ファイルを読み込めません", "App directory already exists" : "アプリディレクトリはすでに存在します", "Can't create app folder. Please fix permissions. %s" : "アプリフォルダーを作成できませんでした。%s のパーミッションを修正してください。", "No source specified when installing app" : "アプリインストール時のソースが未指定", @@ -129,6 +130,9 @@ "PHP module %s not installed." : "PHP のモジュール %s がインストールされていません。", "PHP setting \"%s\" is not set to \"%s\"." : "PHP設定の\"%s\"は \"%s\"に設定されていません", "Adjusting this setting in php.ini will make ownCloud run again" : "php.ini 中の設定を調整するとownCloudはもう一度動作するでしょう。 ", + "mbstring.func_overload is set to \"%s\" instead of the expected value \"0\"" : "mbstring.func_overload の値は \"0\" であるべきですが、\"%s\" に設定されています", + "To fix this issue set <code>mbstring.func_overload</code> to <code>0</code> in your php.ini" : "この問題を修正するには、php.ini ファイルの <code>mbstring.func_overload</code> を <code>0</code> に設定してください。", + "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "PHPでインラインドキュメントブロックを取り除く設定になっています。これによりコアアプリで利用できないものがいくつかあります。", "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "これは、Zend OPcacheやeAccelerator 等のキャッシュ/アクセラレーターが原因かもしれません。", "PHP modules have been installed, but they are still listed as missing?" : "PHP モジュールはインストールされていますが、まだ一覧に表示されていますか?", "Please ask your server administrator to restart the web server." : "サーバー管理者にWebサーバーを再起動するよう依頼してください。", diff --git a/lib/l10n/nb_NO.js b/lib/l10n/nb_NO.js index a23a53ee3ae..b433375eff6 100644 --- a/lib/l10n/nb_NO.js +++ b/lib/l10n/nb_NO.js @@ -38,12 +38,14 @@ OC.L10N.register( "_%n minute ago_::_%n minutes ago_" : ["for %n minutt siden","for %n minutter siden"], "seconds ago" : "for få sekunder siden", "web services under your control" : "webtjenester som du kontrollerer", + "Module with id: %s does not exists. Please enable it in your apps settings or contact your administrator." : "Modul med id: %s eksisterer ikke. Aktiver den i app-innstillingene eller kontakt en administrator.", "Empty filename is not allowed" : "Tomt filnavn er ikke tillatt", "Dot files are not allowed" : "Punktum-filer er ikke tillatt", "4-byte characters are not supported in file names" : "4-byte tegn er ikke tillatt i filnavn", "File name is a reserved word" : "Filnavnet er et reservert ord", "File name contains at least one invalid character" : "Filnavnet inneholder minst ett ulovlig tegn", "File name is too long" : "Filnavnet er for langt", + "Can't read file" : "Kan ikke lese fil", "App directory already exists" : "App-mappe finnes allerede", "Can't create app folder. Please fix permissions. %s" : "Kan ikke opprette app-mappe. Vennligst ordne opp i tillatelser. %s", "No source specified when installing app" : "Ingen kilde spesifisert ved installering av app", @@ -84,6 +86,7 @@ OC.L10N.register( "Set an admin password." : "Sett et admin-passord.", "Can't create or write into the data directory %s" : "Kan ikke opprette eller skrive i datamappen %s", "%s shared »%s« with you" : "%s delte »%s« med deg", + "%s via %s" : "%s via %s", "Sharing %s failed, because the backend does not allow shares from type %i" : "Deling av %s feilet, fordi serveren ikke tillater delinger fra type %i", "Sharing %s failed, because the file does not exist" : "Deling av %s feilet, fordi filen ikke eksisterer", "You are not allowed to share %s" : "Du har ikke lov til å dele %s", @@ -116,6 +119,8 @@ OC.L10N.register( "A valid password must be provided" : "Oppgi et gyldig passord", "The username is already being used" : "Brukernavnet er allerede i bruk", "No database drivers (sqlite, mysql, or postgresql) installed." : "Ingen databasedrivere (sqlite, mysql, or postgresql) installert.", + "Microsoft Windows Platform is not supported" : "Microsoft Windows-plattform støttes ikke", + "Running ownCloud 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 <a href=\"%s\">%s</a>. For migrating existing installations to Linux you can find some tips and a migration script in <a href=\"%s\">our documentation</a>." : "Kjøring av ownCloud Server på Microsoft Windows-plattformen er ikke støttet. Vi foreslår at du bruker en Linux-server i en virtuell maskin hvis du ikke har mulighet til å migrere selve serveren. Du finner Linux-pakker og lett installerbare avbildninger for virtuelle maskiner på <a href=\"%s\">%s</a>. For å migrere eksisterende installasjoner til Linux finner du tips og et migrerings-script i <a href=\"%s\">dokumentasjonen vår</a>.", "Cannot write into \"config\" directory" : "Kan ikke skrive i \"config\"-mappen", "Cannot write into \"apps\" directory" : "Kan ikke skrive i \"apps\"-mappen", "This can usually be fixed by %sgiving the webserver write access to the apps directory%s or disabling the appstore in the config file." : "Dette kan vanligvis ordnes ved %så gi web-serveren skrivetilgang til apps-mappen%s eller ved å deaktivere app-butikken i config-filen.", @@ -128,6 +133,9 @@ OC.L10N.register( "PHP module %s not installed." : "PHP-modul %s er ikke installert.", "PHP setting \"%s\" is not set to \"%s\"." : "PHP-innstilling \"%s\" er ikke satt til \"%s\".", "Adjusting this setting in php.ini will make ownCloud run again" : "Endring av denne innstillingen i php.ini vil få ownCloud til å kjøre igjen.", + "mbstring.func_overload is set to \"%s\" instead of the expected value \"0\"" : "mbstring.func_overload er satt til \"%s\" i stedet for den forventede verdien \"0\"", + "To fix this issue set <code>mbstring.func_overload</code> to <code>0</code> in your php.ini" : "Sett <code>mbstring.func_overload</code> til <code>0</code> in php.ini for å fikse dette problemet", + "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "Det ser ut for at PHP er satt opp til å fjerne innebygde doc blocks. Dette gjør at flere av kjerneapplikasjonene blir utilgjengelige.", "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Dette forårsakes sannsynligvis av en bufrer/akselerator, som f.eks. Zend OPcache eller eAccelerator.", "PHP modules have been installed, but they are still listed as missing?" : "PHP-moduler har blitt installert, men de listes fortsatt som fraværende?", "Please ask your server administrator to restart the web server." : "Be server-administratoren om å starte web-serveren på nytt.", diff --git a/lib/l10n/nb_NO.json b/lib/l10n/nb_NO.json index 4cdc3191b13..6abcc9cf841 100644 --- a/lib/l10n/nb_NO.json +++ b/lib/l10n/nb_NO.json @@ -36,12 +36,14 @@ "_%n minute ago_::_%n minutes ago_" : ["for %n minutt siden","for %n minutter siden"], "seconds ago" : "for få sekunder siden", "web services under your control" : "webtjenester som du kontrollerer", + "Module with id: %s does not exists. Please enable it in your apps settings or contact your administrator." : "Modul med id: %s eksisterer ikke. Aktiver den i app-innstillingene eller kontakt en administrator.", "Empty filename is not allowed" : "Tomt filnavn er ikke tillatt", "Dot files are not allowed" : "Punktum-filer er ikke tillatt", "4-byte characters are not supported in file names" : "4-byte tegn er ikke tillatt i filnavn", "File name is a reserved word" : "Filnavnet er et reservert ord", "File name contains at least one invalid character" : "Filnavnet inneholder minst ett ulovlig tegn", "File name is too long" : "Filnavnet er for langt", + "Can't read file" : "Kan ikke lese fil", "App directory already exists" : "App-mappe finnes allerede", "Can't create app folder. Please fix permissions. %s" : "Kan ikke opprette app-mappe. Vennligst ordne opp i tillatelser. %s", "No source specified when installing app" : "Ingen kilde spesifisert ved installering av app", @@ -82,6 +84,7 @@ "Set an admin password." : "Sett et admin-passord.", "Can't create or write into the data directory %s" : "Kan ikke opprette eller skrive i datamappen %s", "%s shared »%s« with you" : "%s delte »%s« med deg", + "%s via %s" : "%s via %s", "Sharing %s failed, because the backend does not allow shares from type %i" : "Deling av %s feilet, fordi serveren ikke tillater delinger fra type %i", "Sharing %s failed, because the file does not exist" : "Deling av %s feilet, fordi filen ikke eksisterer", "You are not allowed to share %s" : "Du har ikke lov til å dele %s", @@ -114,6 +117,8 @@ "A valid password must be provided" : "Oppgi et gyldig passord", "The username is already being used" : "Brukernavnet er allerede i bruk", "No database drivers (sqlite, mysql, or postgresql) installed." : "Ingen databasedrivere (sqlite, mysql, or postgresql) installert.", + "Microsoft Windows Platform is not supported" : "Microsoft Windows-plattform støttes ikke", + "Running ownCloud 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 <a href=\"%s\">%s</a>. For migrating existing installations to Linux you can find some tips and a migration script in <a href=\"%s\">our documentation</a>." : "Kjøring av ownCloud Server på Microsoft Windows-plattformen er ikke støttet. Vi foreslår at du bruker en Linux-server i en virtuell maskin hvis du ikke har mulighet til å migrere selve serveren. Du finner Linux-pakker og lett installerbare avbildninger for virtuelle maskiner på <a href=\"%s\">%s</a>. For å migrere eksisterende installasjoner til Linux finner du tips og et migrerings-script i <a href=\"%s\">dokumentasjonen vår</a>.", "Cannot write into \"config\" directory" : "Kan ikke skrive i \"config\"-mappen", "Cannot write into \"apps\" directory" : "Kan ikke skrive i \"apps\"-mappen", "This can usually be fixed by %sgiving the webserver write access to the apps directory%s or disabling the appstore in the config file." : "Dette kan vanligvis ordnes ved %så gi web-serveren skrivetilgang til apps-mappen%s eller ved å deaktivere app-butikken i config-filen.", @@ -126,6 +131,9 @@ "PHP module %s not installed." : "PHP-modul %s er ikke installert.", "PHP setting \"%s\" is not set to \"%s\"." : "PHP-innstilling \"%s\" er ikke satt til \"%s\".", "Adjusting this setting in php.ini will make ownCloud run again" : "Endring av denne innstillingen i php.ini vil få ownCloud til å kjøre igjen.", + "mbstring.func_overload is set to \"%s\" instead of the expected value \"0\"" : "mbstring.func_overload er satt til \"%s\" i stedet for den forventede verdien \"0\"", + "To fix this issue set <code>mbstring.func_overload</code> to <code>0</code> in your php.ini" : "Sett <code>mbstring.func_overload</code> til <code>0</code> in php.ini for å fikse dette problemet", + "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "Det ser ut for at PHP er satt opp til å fjerne innebygde doc blocks. Dette gjør at flere av kjerneapplikasjonene blir utilgjengelige.", "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Dette forårsakes sannsynligvis av en bufrer/akselerator, som f.eks. Zend OPcache eller eAccelerator.", "PHP modules have been installed, but they are still listed as missing?" : "PHP-moduler har blitt installert, men de listes fortsatt som fraværende?", "Please ask your server administrator to restart the web server." : "Be server-administratoren om å starte web-serveren på nytt.", diff --git a/lib/l10n/nl.js b/lib/l10n/nl.js index dc78f0623f3..881ebcacbd7 100644 --- a/lib/l10n/nl.js +++ b/lib/l10n/nl.js @@ -38,6 +38,7 @@ OC.L10N.register( "_%n minute ago_::_%n minutes ago_" : ["%n minuut geleden","%n minuten geleden"], "seconds ago" : "seconden geleden", "web services under your control" : "Webdiensten in eigen beheer", + "Module with id: %s does not exists. Please enable it in your apps settings or contact your administrator." : "Module met id: %s bestaat niet. Activeer het in uw apps instellingen, of neem contact op met uw beheerder.", "Empty filename is not allowed" : "Een lege bestandsnaam is niet toegestaan", "Dot files are not allowed" : "Punt bestanden zijn niet toegestaan", "4-byte characters are not supported in file names" : "4-byte tekens in bestandsnamen worden niet ondersteund", @@ -132,7 +133,9 @@ OC.L10N.register( "PHP module %s not installed." : "PHP module %s niet geïnstalleerd.", "PHP setting \"%s\" is not set to \"%s\"." : "PHP instelling \"%s\" staat niet op \"%s\".", "Adjusting this setting in php.ini will make ownCloud run again" : "Het in php.ini bijstellen hiervan laat ownCloud weer werken", + "mbstring.func_overload is set to \"%s\" instead of the expected value \"0\"" : "mbstring.func_overload is ingesteld op \"%s\" in plaats van op de verwachte waarde \"0\"", "To fix this issue set <code>mbstring.func_overload</code> to <code>0</code> in your php.ini" : "Om dit op te lossen stel <code>mbstring.func_overload</code> in op <code>0</code> in uw php.ini", + "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "PHP is blijkbaar zo ingesteld dat inline doc blokken worden gestript. Hierdoor worden verschillende kernmodules onbruikbaar.", "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Dit wordt vermoedelijk veroorzaakt door een cache/accelerator, zoals Zend OPcache of eAccelerator.", "PHP modules have been installed, but they are still listed as missing?" : "PHP modules zijn geïnstalleerd, maar worden ze nog steeds als ontbrekend aangegeven?", "Please ask your server administrator to restart the web server." : "Vraag uw beheerder de webserver opnieuw op te starten.", diff --git a/lib/l10n/nl.json b/lib/l10n/nl.json index 4fd77148853..f3ba6080677 100644 --- a/lib/l10n/nl.json +++ b/lib/l10n/nl.json @@ -36,6 +36,7 @@ "_%n minute ago_::_%n minutes ago_" : ["%n minuut geleden","%n minuten geleden"], "seconds ago" : "seconden geleden", "web services under your control" : "Webdiensten in eigen beheer", + "Module with id: %s does not exists. Please enable it in your apps settings or contact your administrator." : "Module met id: %s bestaat niet. Activeer het in uw apps instellingen, of neem contact op met uw beheerder.", "Empty filename is not allowed" : "Een lege bestandsnaam is niet toegestaan", "Dot files are not allowed" : "Punt bestanden zijn niet toegestaan", "4-byte characters are not supported in file names" : "4-byte tekens in bestandsnamen worden niet ondersteund", @@ -130,7 +131,9 @@ "PHP module %s not installed." : "PHP module %s niet geïnstalleerd.", "PHP setting \"%s\" is not set to \"%s\"." : "PHP instelling \"%s\" staat niet op \"%s\".", "Adjusting this setting in php.ini will make ownCloud run again" : "Het in php.ini bijstellen hiervan laat ownCloud weer werken", + "mbstring.func_overload is set to \"%s\" instead of the expected value \"0\"" : "mbstring.func_overload is ingesteld op \"%s\" in plaats van op de verwachte waarde \"0\"", "To fix this issue set <code>mbstring.func_overload</code> to <code>0</code> in your php.ini" : "Om dit op te lossen stel <code>mbstring.func_overload</code> in op <code>0</code> in uw php.ini", + "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "PHP is blijkbaar zo ingesteld dat inline doc blokken worden gestript. Hierdoor worden verschillende kernmodules onbruikbaar.", "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Dit wordt vermoedelijk veroorzaakt door een cache/accelerator, zoals Zend OPcache of eAccelerator.", "PHP modules have been installed, but they are still listed as missing?" : "PHP modules zijn geïnstalleerd, maar worden ze nog steeds als ontbrekend aangegeven?", "Please ask your server administrator to restart the web server." : "Vraag uw beheerder de webserver opnieuw op te starten.", diff --git a/lib/l10n/pt_BR.js b/lib/l10n/pt_BR.js index 98b1eb58814..a61e712bfa3 100644 --- a/lib/l10n/pt_BR.js +++ b/lib/l10n/pt_BR.js @@ -35,6 +35,7 @@ OC.L10N.register( "_%n year ago_::_%n years ago_" : ["%n ano atrás","%n anos atrás"], "seconds ago" : "segundos atrás", "web services under your control" : "serviços web sob seu controle", + "Module with id: %s does not exists. Please enable it in your apps settings or contact your administrator." : "Não existe módulo com id: %s. Por favor habilite na configuração de seus aplicativos ou faça contato com o seu administrador.", "Empty filename is not allowed" : "Um nome de arquivo vazio não é permitido.", "Dot files are not allowed" : "Dot arquivos não são permitidos", "4-byte characters are not supported in file names" : "Caracteres de 4-bytes não são suportados em nomes de arquivos", @@ -129,7 +130,9 @@ OC.L10N.register( "PHP module %s not installed." : "Módulo PHP %s não instalado.", "PHP setting \"%s\" is not set to \"%s\"." : "Configurações \"%s\" PHP não está configurado para \"%s\".", "Adjusting this setting in php.ini will make ownCloud run again" : "Ajustando esta configuração no php.ini irá fazer o ownCloud rodar novamente", + "mbstring.func_overload is set to \"%s\" instead of the expected value \"0\"" : "mbstring.func_overload está definido para \"%s\" em vez do valor esperado \"0\"", "To fix this issue set <code>mbstring.func_overload</code> to <code>0</code> in your php.ini" : "Para corrigir esse problema defina <code>mbstring.func_overload</code> para <code>0</code> em seu php.ini", + "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "PHP está, aparentemente, configurado para retirar blocos doc inline. Isso fará com que vários aplicativos do núcleo fiquem inacessíveis.", "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Isso provavelmente é causado por uma cache/acelerador, como Zend OPcache ou eAccelerator.", "PHP modules have been installed, but they are still listed as missing?" : "Módulos do PHP foram instalados, mas eles ainda estão listados como desaparecidos?", "Please ask your server administrator to restart the web server." : "Por favor, peça ao seu administrador do servidor para reiniciar o servidor web.", diff --git a/lib/l10n/pt_BR.json b/lib/l10n/pt_BR.json index 16558e8b7a7..3278a3e070d 100644 --- a/lib/l10n/pt_BR.json +++ b/lib/l10n/pt_BR.json @@ -33,6 +33,7 @@ "_%n year ago_::_%n years ago_" : ["%n ano atrás","%n anos atrás"], "seconds ago" : "segundos atrás", "web services under your control" : "serviços web sob seu controle", + "Module with id: %s does not exists. Please enable it in your apps settings or contact your administrator." : "Não existe módulo com id: %s. Por favor habilite na configuração de seus aplicativos ou faça contato com o seu administrador.", "Empty filename is not allowed" : "Um nome de arquivo vazio não é permitido.", "Dot files are not allowed" : "Dot arquivos não são permitidos", "4-byte characters are not supported in file names" : "Caracteres de 4-bytes não são suportados em nomes de arquivos", @@ -127,7 +128,9 @@ "PHP module %s not installed." : "Módulo PHP %s não instalado.", "PHP setting \"%s\" is not set to \"%s\"." : "Configurações \"%s\" PHP não está configurado para \"%s\".", "Adjusting this setting in php.ini will make ownCloud run again" : "Ajustando esta configuração no php.ini irá fazer o ownCloud rodar novamente", + "mbstring.func_overload is set to \"%s\" instead of the expected value \"0\"" : "mbstring.func_overload está definido para \"%s\" em vez do valor esperado \"0\"", "To fix this issue set <code>mbstring.func_overload</code> to <code>0</code> in your php.ini" : "Para corrigir esse problema defina <code>mbstring.func_overload</code> para <code>0</code> em seu php.ini", + "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "PHP está, aparentemente, configurado para retirar blocos doc inline. Isso fará com que vários aplicativos do núcleo fiquem inacessíveis.", "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Isso provavelmente é causado por uma cache/acelerador, como Zend OPcache ou eAccelerator.", "PHP modules have been installed, but they are still listed as missing?" : "Módulos do PHP foram instalados, mas eles ainda estão listados como desaparecidos?", "Please ask your server administrator to restart the web server." : "Por favor, peça ao seu administrador do servidor para reiniciar o servidor web.", diff --git a/lib/l10n/sr.js b/lib/l10n/sr.js index 360725b7985..0fb893092b2 100644 --- a/lib/l10n/sr.js +++ b/lib/l10n/sr.js @@ -44,6 +44,7 @@ OC.L10N.register( "File name is a reserved word" : "Назив фајла је резервисана реч", "File name contains at least one invalid character" : "Назив фајла садржи бар један недозвољен знак", "File name is too long" : "Назив фајла је предугачак", + "Can't read file" : "Не могу да читам фајл", "App directory already exists" : "Директоријум апликација већ постоји", "Can't create app folder. Please fix permissions. %s" : "Не могу да креирам фасциклу за апликацију. Исправите дозволе. %s", "No source specified when installing app" : "Није наведен извор за инсталирање апликације", @@ -131,6 +132,7 @@ OC.L10N.register( "PHP module %s not installed." : "ПХП модул %s није инсталиран.", "PHP setting \"%s\" is not set to \"%s\"." : "ПХП поставка „%s“ није постављена на „%s“.", "Adjusting this setting in php.ini will make ownCloud run again" : "Подешавање ове поставке у php.ini фајлу ће омогућити да оунКлауд поново ради", + "mbstring.func_overload is set to \"%s\" instead of the expected value \"0\"" : "mbstring.func_overload је постављено на „%s“ уместо на очекивану вредност „0“", "To fix this issue set <code>mbstring.func_overload</code> to <code>0</code> in your php.ini" : "Да би решили овај проблем поставите <code>mbstring.func_overload</code> на <code>0</code> у фајлу php.ini", "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Ово је вероватно изазвано кешом или акцелератором као што су ЗендОПкеш или еАкцелератор.", "PHP modules have been installed, but they are still listed as missing?" : "ПХП модули су инсталирани али се и даље воде као недостајући?", diff --git a/lib/l10n/sr.json b/lib/l10n/sr.json index f4f120b3e14..bb37abe0ee6 100644 --- a/lib/l10n/sr.json +++ b/lib/l10n/sr.json @@ -42,6 +42,7 @@ "File name is a reserved word" : "Назив фајла је резервисана реч", "File name contains at least one invalid character" : "Назив фајла садржи бар један недозвољен знак", "File name is too long" : "Назив фајла је предугачак", + "Can't read file" : "Не могу да читам фајл", "App directory already exists" : "Директоријум апликација већ постоји", "Can't create app folder. Please fix permissions. %s" : "Не могу да креирам фасциклу за апликацију. Исправите дозволе. %s", "No source specified when installing app" : "Није наведен извор за инсталирање апликације", @@ -129,6 +130,7 @@ "PHP module %s not installed." : "ПХП модул %s није инсталиран.", "PHP setting \"%s\" is not set to \"%s\"." : "ПХП поставка „%s“ није постављена на „%s“.", "Adjusting this setting in php.ini will make ownCloud run again" : "Подешавање ове поставке у php.ini фајлу ће омогућити да оунКлауд поново ради", + "mbstring.func_overload is set to \"%s\" instead of the expected value \"0\"" : "mbstring.func_overload је постављено на „%s“ уместо на очекивану вредност „0“", "To fix this issue set <code>mbstring.func_overload</code> to <code>0</code> in your php.ini" : "Да би решили овај проблем поставите <code>mbstring.func_overload</code> на <code>0</code> у фајлу php.ini", "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Ово је вероватно изазвано кешом или акцелератором као што су ЗендОПкеш или еАкцелератор.", "PHP modules have been installed, but they are still listed as missing?" : "ПХП модули су инсталирани али се и даље воде као недостајући?", diff --git a/lib/l10n/uk.js b/lib/l10n/uk.js index 69ae90a8364..8b209470ec3 100644 --- a/lib/l10n/uk.js +++ b/lib/l10n/uk.js @@ -35,12 +35,14 @@ OC.L10N.register( "_%n year ago_::_%n years ago_" : ["%n рік тому","%n років тому","%n років тому"], "seconds ago" : "секунди тому", "web services under your control" : "підконтрольні Вам веб-сервіси", + "Module with id: %s does not exists. Please enable it in your apps settings or contact your administrator." : "Модуль з id: %s не існує. Будь ласка, увімкніть його в налаштуваннях програми або зверніться до адміністратора.", "Empty filename is not allowed" : "Порожні імена файлів не допускаються", "Dot files are not allowed" : "Файли які починаються з крапки не допустимі", "4-byte characters are not supported in file names" : "4-х байтові символи в імені файлів не допустимі", "File name is a reserved word" : "Ім’я файлу є зарезервованим словом", "File name contains at least one invalid character" : "Ім’я файлу містить принаймні один некоректний символ", "File name is too long" : "Ім’я файлу занадто довге", + "Can't read file" : "Не можливо прочитати файл", "App directory already exists" : "Тека додатку вже існує", "Can't create app folder. Please fix permissions. %s" : "Неможливо створити теку додатку. Будь ласка, виправте права доступу. %s", "No source specified when installing app" : "Не вказано джерело при встановлені додатку", @@ -128,6 +130,9 @@ OC.L10N.register( "PHP module %s not installed." : "%s модуль PHP не встановлено.", "PHP setting \"%s\" is not set to \"%s\"." : "Параметр PHP \"%s\" не встановлено в \"%s\".", "Adjusting this setting in php.ini will make ownCloud run again" : "Установка цього параметру в php.ini дозволяє запуститися ownCloud знову.", + "mbstring.func_overload is set to \"%s\" instead of the expected value \"0\"" : "mbstring.func_overload налаштовано як \"%s\" замість очікуваного значення \"0\"", + "To fix this issue set <code>mbstring.func_overload</code> to <code>0</code> in your php.ini" : "Для виправлення змініть <code>mbstring.func_overload</code> на <code>0</code> у вашому php.ini", + "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "Схоже, що PHP налаштовано на вичищення блоків вбудованої документації. Це зробить кілька основних додатків недоступними.", "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Це, ймовірно, обумовлено використанням кеша/прискорювача такого як Zend OPcache або eAccelerator.", "PHP modules have been installed, but they are still listed as missing?" : "Модулі PHP були встановлені, але вони все ще перераховані як відсутні?", "Please ask your server administrator to restart the web server." : "Будь ласка, зверніться до адміністратора, щоб перезавантажити сервер.", diff --git a/lib/l10n/uk.json b/lib/l10n/uk.json index e24bc37501b..7126dec178d 100644 --- a/lib/l10n/uk.json +++ b/lib/l10n/uk.json @@ -33,12 +33,14 @@ "_%n year ago_::_%n years ago_" : ["%n рік тому","%n років тому","%n років тому"], "seconds ago" : "секунди тому", "web services under your control" : "підконтрольні Вам веб-сервіси", + "Module with id: %s does not exists. Please enable it in your apps settings or contact your administrator." : "Модуль з id: %s не існує. Будь ласка, увімкніть його в налаштуваннях програми або зверніться до адміністратора.", "Empty filename is not allowed" : "Порожні імена файлів не допускаються", "Dot files are not allowed" : "Файли які починаються з крапки не допустимі", "4-byte characters are not supported in file names" : "4-х байтові символи в імені файлів не допустимі", "File name is a reserved word" : "Ім’я файлу є зарезервованим словом", "File name contains at least one invalid character" : "Ім’я файлу містить принаймні один некоректний символ", "File name is too long" : "Ім’я файлу занадто довге", + "Can't read file" : "Не можливо прочитати файл", "App directory already exists" : "Тека додатку вже існує", "Can't create app folder. Please fix permissions. %s" : "Неможливо створити теку додатку. Будь ласка, виправте права доступу. %s", "No source specified when installing app" : "Не вказано джерело при встановлені додатку", @@ -126,6 +128,9 @@ "PHP module %s not installed." : "%s модуль PHP не встановлено.", "PHP setting \"%s\" is not set to \"%s\"." : "Параметр PHP \"%s\" не встановлено в \"%s\".", "Adjusting this setting in php.ini will make ownCloud run again" : "Установка цього параметру в php.ini дозволяє запуститися ownCloud знову.", + "mbstring.func_overload is set to \"%s\" instead of the expected value \"0\"" : "mbstring.func_overload налаштовано як \"%s\" замість очікуваного значення \"0\"", + "To fix this issue set <code>mbstring.func_overload</code> to <code>0</code> in your php.ini" : "Для виправлення змініть <code>mbstring.func_overload</code> на <code>0</code> у вашому php.ini", + "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "Схоже, що PHP налаштовано на вичищення блоків вбудованої документації. Це зробить кілька основних додатків недоступними.", "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Це, ймовірно, обумовлено використанням кеша/прискорювача такого як Zend OPcache або eAccelerator.", "PHP modules have been installed, but they are still listed as missing?" : "Модулі PHP були встановлені, але вони все ще перераховані як відсутні?", "Please ask your server administrator to restart the web server." : "Будь ласка, зверніться до адміністратора, щоб перезавантажити сервер.", diff --git a/lib/private/appframework/dependencyinjection/dicontainer.php b/lib/private/appframework/dependencyinjection/dicontainer.php index 8501fc69ad4..a11e4ee05b3 100644 --- a/lib/private/appframework/dependencyinjection/dicontainer.php +++ b/lib/private/appframework/dependencyinjection/dicontainer.php @@ -291,7 +291,8 @@ class DIContainer extends SimpleContainer implements IAppContainer { $this->registerService('CORSMiddleware', function($c) { return new CORSMiddleware( $c['Request'], - $c['ControllerMethodReflector'] + $c['ControllerMethodReflector'], + $c['OCP\IUserSession'] ); }); @@ -306,8 +307,8 @@ class DIContainer extends SimpleContainer implements IAppContainer { $middleWares = &$this->middleWares; $this->registerService('MiddlewareDispatcher', function($c) use (&$middleWares) { $dispatcher = new MiddlewareDispatcher(); - $dispatcher->registerMiddleware($c['SecurityMiddleware']); $dispatcher->registerMiddleware($c['CORSMiddleware']); + $dispatcher->registerMiddleware($c['SecurityMiddleware']); foreach($middleWares as $middleWare) { $dispatcher->registerMiddleware($c[$middleWare]); diff --git a/lib/private/appframework/middleware/security/corsmiddleware.php b/lib/private/appframework/middleware/security/corsmiddleware.php index 983742858db..600eb2318cf 100644 --- a/lib/private/appframework/middleware/security/corsmiddleware.php +++ b/lib/private/appframework/middleware/security/corsmiddleware.php @@ -24,30 +24,69 @@ namespace OC\AppFramework\Middleware\Security; use OC\AppFramework\Utility\ControllerMethodReflector; use OCP\IRequest; +use OCP\IUserSession; use OCP\AppFramework\Http\Response; use OCP\AppFramework\Middleware; /** - * This middleware sets the correct CORS headers on a response if the + * This middleware sets the correct CORS headers on a response if the * controller has the @CORS annotation. This is needed for webapps that want - * to access an API and dont run on the same domain, see + * to access an API and dont run on the same domain, see * https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS */ class CORSMiddleware extends Middleware { + /** + * @var IRequest + */ private $request; + + /** + * @var ControllerMethodReflector + */ private $reflector; /** + * @var IUserSession + */ + private $session; + + /** * @param IRequest $request * @param ControllerMethodReflector $reflector + * @param IUserSession $session */ - public function __construct(IRequest $request, - ControllerMethodReflector $reflector) { + public function __construct(IRequest $request, + ControllerMethodReflector $reflector, + IUserSession $session) { $this->request = $request; $this->reflector = $reflector; + $this->session = $session; } + /** + * This is being run in normal order before the controller is being + * called which allows several modifications and checks + * + * @param Controller $controller the controller that is being called + * @param string $methodName the name of the method that will be called on + * the controller + * @since 6.0.0 + */ + public function beforeController($controller, $methodName){ + // ensure that @CORS annotated API routes are not used in conjunction + // with session authentication since this enables CSRF attack vectors + if ($this->reflector->hasAnnotation('CORS') && + !$this->reflector->hasAnnotation('PublicPage')) { + $user = $this->request->server['PHP_AUTH_USER']; + $pass = $this->request->server['PHP_AUTH_PW']; + + $this->session->logout(); + if(!$this->session->login($user, $pass)) { + throw new SecurityException('CORS requires basic auth'); + } + } + } /** * This is being run after a successful controllermethod call and allows @@ -65,7 +104,7 @@ class CORSMiddleware extends Middleware { if(isset($this->request->server['HTTP_ORIGIN']) && $this->reflector->hasAnnotation('CORS')) { - // allow credentials headers must not be true or CSRF is possible + // allow credentials headers must not be true or CSRF is possible // otherwise foreach($response->getHeaders() as $header => $value ) { if(strtolower($header) === 'access-control-allow-credentials' && diff --git a/lib/private/apphelper.php b/lib/private/apphelper.php index 5da080ad16c..c4ddc1b077e 100644 --- a/lib/private/apphelper.php +++ b/lib/private/apphelper.php @@ -23,7 +23,8 @@ namespace OC; /** - * TODO: Description + * Class AppHelper + * @deprecated 8.1.0 */ class AppHelper implements \OCP\IHelper { /** @@ -31,6 +32,7 @@ class AppHelper implements \OCP\IHelper { * installed * @param string $url the url that should be fetched * @return string the content of the webpage + * @deprecated 8.1.0 Use \OCP\IServerContainer::getHTTPClientService */ public function getUrlContent($url) { return \OC_Util::getUrlContent($url); diff --git a/lib/private/connector/sabre/custompropertiesbackend.php b/lib/private/connector/sabre/custompropertiesbackend.php index 44092534d6d..14989a5bac3 100644 --- a/lib/private/connector/sabre/custompropertiesbackend.php +++ b/lib/private/connector/sabre/custompropertiesbackend.php @@ -87,13 +87,13 @@ class CustomPropertiesBackend implements BackendInterface { $this->user = $user->getUID(); } - /** - * Fetches properties for a path. - * - * @param string $path - * @param PropFind $propFind - * @return void - */ + /** + * Fetches properties for a path. + * + * @param string $path + * @param PropFind $propFind + * @return void + */ public function propFind($path, PropFind $propFind) { try { $node = $this->tree->getNodeForPath($path); @@ -139,14 +139,14 @@ class CustomPropertiesBackend implements BackendInterface { } } - /** - * Updates properties for a path - * - * @param string $path - * @param PropPatch $propPatch + /** + * Updates properties for a path + * + * @param string $path + * @param PropPatch $propPatch * - * @return void - */ + * @return void + */ public function propPatch($path, PropPatch $propPatch) { $node = $this->tree->getNodeForPath($path); if (!($node instanceof Node)) { @@ -158,11 +158,11 @@ class CustomPropertiesBackend implements BackendInterface { }); } - /** - * This method is called after a node is deleted. - * + /** + * This method is called after a node is deleted. + * * @param string $path path of node for which to delete properties - */ + */ public function delete($path) { $statement = $this->connection->prepare( 'DELETE FROM `*PREFIX*properties` WHERE `userid` = ? AND `propertypath` = ?' @@ -173,14 +173,14 @@ class CustomPropertiesBackend implements BackendInterface { unset($this->cache[$path]); } - /** - * This method is called after a successful MOVE - * - * @param string $source - * @param string $destination + /** + * This method is called after a successful MOVE * - * @return void - */ + * @param string $source + * @param string $destination + * + * @return void + */ public function move($source, $destination) { $statement = $this->connection->prepare( 'UPDATE `*PREFIX*properties` SET `propertypath` = ?' . diff --git a/lib/private/encryption/exceptions/decryptionfailedexception.php b/lib/private/encryption/exceptions/decryptionfailedexception.php index 7e9fa21eaef..406ae12968e 100644 --- a/lib/private/encryption/exceptions/decryptionfailedexception.php +++ b/lib/private/encryption/exceptions/decryptionfailedexception.php @@ -27,15 +27,4 @@ use OCP\Encryption\Exceptions\GenericEncryptionException; class DecryptionFailedException extends GenericEncryptionException { - /** - * @param string $message - * @param int $code - * @param \Exception $previous - * @param string $hint - */ - public function __construct($message = '', $code = 0, \Exception $previous = null, $hint = '') { - parent::__construct($message, $code, $previous, $hint); - -} - } diff --git a/lib/private/encryption/keys/storage.php b/lib/private/encryption/keys/storage.php index 6aa00c5b5ee..692633f98da 100644 --- a/lib/private/encryption/keys/storage.php +++ b/lib/private/encryption/keys/storage.php @@ -70,7 +70,8 @@ class Storage implements IStorage { * @inheritdoc */ public function getFileKey($path, $keyId, $encryptionModuleId) { - $keyDir = $this->getFileKeyDir($encryptionModuleId, $path); + $realFile = $this->util->stripPartialFileExtension($path); + $keyDir = $this->getFileKeyDir($encryptionModuleId, $realFile); return $this->getKey($keyDir . $keyId); } @@ -233,13 +234,18 @@ class Storage implements IStorage { list($owner, $source) = $this->util->getUidAndFilename($source); list(, $target) = $this->util->getUidAndFilename($target); - $systemWide = $this->util->isSystemWideMountPoint($target, $owner); + $systemWideSource = $this->util->isSystemWideMountPoint($source, $owner); + $systemWideTarget = $this->util->isSystemWideMountPoint($target, $owner); - if ($systemWide) { + if ($systemWideSource) { $sourcePath = $this->keys_base_dir . $source . '/'; - $targetPath = $this->keys_base_dir . $target . '/'; } else { $sourcePath = '/' . $owner . $this->keys_base_dir . $source . '/'; + } + + if ($systemWideTarget) { + $targetPath = $this->keys_base_dir . $target . '/'; + } else { $targetPath = '/' . $owner . $this->keys_base_dir . $target . '/'; } @@ -264,13 +270,17 @@ class Storage implements IStorage { list($owner, $source) = $this->util->getUidAndFilename($source); list(, $target) = $this->util->getUidAndFilename($target); - $systemWide = $this->util->isSystemWideMountPoint($target, $owner); + $systemWideTarget = $this->util->isSystemWideMountPoint($target, $owner); + $systemWideSource = $this->util->isSystemWideMountPoint($source, $owner); - if ($systemWide) { + if ($systemWideSource) { $sourcePath = $this->keys_base_dir . $source . '/'; - $targetPath = $this->keys_base_dir . $target . '/'; } else { $sourcePath = '/' . $owner . $this->keys_base_dir . $source . '/'; + } + if ($systemWideTarget) { + $targetPath = $this->keys_base_dir . $target . '/'; + } else { $targetPath = '/' . $owner . $this->keys_base_dir . $target . '/'; } diff --git a/lib/private/encryption/manager.php b/lib/private/encryption/manager.php index 45f45045643..ecbb86993ec 100644 --- a/lib/private/encryption/manager.php +++ b/lib/private/encryption/manager.php @@ -26,10 +26,12 @@ use OC\Files\Filesystem; use OC\Files\Storage\Shared; use OC\Files\Storage\Wrapper\Encryption; use OC\Files\View; +use OC\Search\Provider\File; use OCP\Encryption\IEncryptionModule; use OCP\Encryption\IManager; use OCP\Files\Mount\IMountPoint; use OCP\IConfig; +use OCP\IL10N; use OCP\ILogger; class Manager implements IManager { @@ -43,14 +45,19 @@ class Manager implements IManager { /** @var ILogger */ protected $logger; + /** @var Il10n */ + protected $l; + /** * @param IConfig $config * @param ILogger $logger + * @param IL10N $l10n */ - public function __construct(IConfig $config, ILogger $logger) { + public function __construct(IConfig $config, ILogger $logger, IL10N $l10n) { $this->encryptionModules = array(); $this->config = $config; $this->logger = $logger; + $this->l = $l10n; } /** @@ -145,7 +152,8 @@ class Manager implements IManager { return call_user_func($this->encryptionModules[$moduleId]['callback']); } else { $message = "Module with id: $moduleId does not exists."; - throw new Exceptions\ModuleDoesNotExistsException($message); + $hint = $this->l->t('Module with id: %s does not exists. Please enable it in your apps settings or contact your administrator.', [$moduleId]); + throw new Exceptions\ModuleDoesNotExistsException($message, $hint); } } else { return $this->getDefaultEncryptionModule(); @@ -217,6 +225,7 @@ class Manager implements IManager { ); $user = \OC::$server->getUserSession()->getUser(); $logger = \OC::$server->getLogger(); + $mountManager = Filesystem::getMountManager(); $uid = $user ? $user->getUID() : null; $fileHelper = \OC::$server->getEncryptionFilesHelper(); $keyStorage = \OC::$server->getEncryptionKeyStorage(); @@ -236,7 +245,8 @@ class Manager implements IManager { $fileHelper, $uid, $keyStorage, - $update + $update, + $mountManager ); } else { return $storage; diff --git a/lib/private/files.php b/lib/private/files.php index 6a739fc844c..5a3e1029199 100644 --- a/lib/private/files.php +++ b/lib/private/files.php @@ -138,6 +138,7 @@ class OC_Files { header("HTTP/1.0 404 Not Found"); $tmpl = new OC_Template('', '404', 'guest'); $tmpl->printPage(); + exit(); } else { header("HTTP/1.0 403 Forbidden"); die('403 Forbidden'); diff --git a/lib/private/files/cache/updater.php b/lib/private/files/cache/updater.php index 7df223eb037..193ddbedb2c 100644 --- a/lib/private/files/cache/updater.php +++ b/lib/private/files/cache/updater.php @@ -182,7 +182,7 @@ class Updater { if (pathinfo($sourceInternalPath, PATHINFO_EXTENSION) !== pathinfo($targetInternalPath, PATHINFO_EXTENSION)) { // handle mime type change - $mimeType = $sourceStorage->getMimeType($targetInternalPath); + $mimeType = $targetStorage->getMimeType($targetInternalPath); $fileId = $targetCache->getId($targetInternalPath); $targetCache->update($fileId, array('mimetype' => $mimeType)); } diff --git a/lib/private/files/storage/common.php b/lib/private/files/storage/common.php index 893e4ea7d9b..1257a14dd04 100644 --- a/lib/private/files/storage/common.php +++ b/lib/private/files/storage/common.php @@ -274,6 +274,8 @@ abstract class Common implements Storage { /** * @param string $query + * @param string $dir + * @return array */ protected function searchInDir($query, $dir = '') { $files = array(); diff --git a/lib/private/files/storage/local.php b/lib/private/files/storage/local.php index 175b33b0329..315a8e7e25d 100644 --- a/lib/private/files/storage/local.php +++ b/lib/private/files/storage/local.php @@ -282,6 +282,8 @@ if (\OC_Util::runningOnWindows()) { /** * @param string $query + * @param string $dir + * @return array */ protected function searchInDir($query, $dir = '') { $files = array(); diff --git a/lib/private/files/storage/localtempfiletrait.php b/lib/private/files/storage/localtempfiletrait.php index 7dc9b777ea1..e7f51a1807f 100644 --- a/lib/private/files/storage/localtempfiletrait.php +++ b/lib/private/files/storage/localtempfiletrait.php @@ -34,13 +34,12 @@ namespace OC\Files\Storage; */ trait LocalTempFileTrait { - /** - * @var string[] - */ - protected $cachedFiles = array(); + /** @var string[] */ + protected $cachedFiles = []; /** * @param string $path + * @return string */ protected function getCachedFile($path) { if (!isset($this->cachedFiles[$path])) { @@ -49,6 +48,9 @@ trait LocalTempFileTrait { return $this->cachedFiles[$path]; } + /** + * @param string $path + */ protected function removeCachedFile($path) { unset($this->cachedFiles[$path]); } diff --git a/lib/private/files/storage/mappedlocal.php b/lib/private/files/storage/mappedlocal.php index 3a3123dc4b4..4b527357254 100644 --- a/lib/private/files/storage/mappedlocal.php +++ b/lib/private/files/storage/mappedlocal.php @@ -342,6 +342,8 @@ class MappedLocal extends \OC\Files\Storage\Common { /** * @param string $query + * @param string $dir + * @return array */ protected function searchInDir($query, $dir = '') { $files = array(); diff --git a/lib/private/files/storage/wrapper/encryption.php b/lib/private/files/storage/wrapper/encryption.php index 5d146b2dd1d..d1e22bb6d40 100644 --- a/lib/private/files/storage/wrapper/encryption.php +++ b/lib/private/files/storage/wrapper/encryption.php @@ -26,11 +26,13 @@ use OC\Encryption\Exceptions\ModuleDoesNotExistsException; use OC\Encryption\Update; use OC\Encryption\Util; use OC\Files\Filesystem; +use OC\Files\Mount\Manager; use OC\Files\Storage\LocalTempFileTrait; use OCP\Encryption\IFile; use OCP\Encryption\IManager; use OCP\Encryption\Keys\IStorage; use OCP\Files\Mount\IMountPoint; +use OCP\Files\Storage; use OCP\ILogger; class Encryption extends Wrapper { @@ -68,6 +70,9 @@ class Encryption extends Wrapper { /** @var Update */ private $update; + /** @var Manager */ + private $mountManager; + /** * @param array $parameters * @param IManager $encryptionManager @@ -77,6 +82,7 @@ class Encryption extends Wrapper { * @param string $uid * @param IStorage $keyStorage * @param Update $update + * @param Manager $mountManager */ public function __construct( $parameters, @@ -86,9 +92,10 @@ class Encryption extends Wrapper { IFile $fileHelper = null, $uid = null, IStorage $keyStorage = null, - Update $update = null + Update $update = null, + Manager $mountManager = null ) { - + $this->mountPoint = $parameters['mountPoint']; $this->mount = $parameters['mount']; $this->encryptionManager = $encryptionManager; @@ -99,6 +106,7 @@ class Encryption extends Wrapper { $this->keyStorage = $keyStorage; $this->unencryptedSize = array(); $this->update = $update; + $this->mountManager = $mountManager; parent::__construct($parameters); } @@ -289,34 +297,32 @@ class Encryption extends Wrapper { */ public function copy($path1, $path2) { - $fullPath1 = $this->getFullPath($path1); - $fullPath2 = $this->getFullPath($path2); + $source = $this->getFullPath($path1); + $target = $this->getFullPath($path2); - if ($this->util->isExcluded($fullPath1)) { + if ($this->util->isExcluded($source)) { return $this->storage->copy($path1, $path2); } $result = $this->storage->copy($path1, $path2); if ($result && $this->encryptionManager->isEnabled()) { - $source = $this->getFullPath($path1); - if (!$this->util->isExcluded($source)) { - $target = $this->getFullPath($path2); - $keysCopied = $this->keyStorage->copyKeys($source, $target); - if ($keysCopied && - dirname($source) !== dirname($target) && - $this->util->isFile($target) - ) { - $this->update->update($target); - } + $keysCopied = $this->copyKeys($source, $target); + + if ($keysCopied && + dirname($source) !== dirname($target) && + $this->util->isFile($target) + ) { + $this->update->update($target); } + $data = $this->getMetaData($path1); if (isset($data['encrypted'])) { $this->getCache()->put($path2, ['encrypted' => $data['encrypted']]); } if (isset($data['size'])) { - $this->updateUnencryptedSize($fullPath2, $data['size']); + $this->updateUnencryptedSize($target, $data['size']); } } @@ -340,85 +346,90 @@ class Encryption extends Wrapper { $fullPath = $this->getFullPath($path); $encryptionModuleId = $this->util->getEncryptionModuleId($header); - $size = $unencryptedSize = 0; - $targetExists = $this->file_exists($path); - $targetIsEncrypted = false; - if ($targetExists) { - // in case the file exists we require the explicit module as - // specified in the file header - otherwise we need to fail hard to - // prevent data loss on client side - if (!empty($encryptionModuleId)) { - $targetIsEncrypted = true; - $encryptionModule = $this->encryptionManager->getEncryptionModule($encryptionModuleId); - } + if ($this->util->isExcluded($fullPath) === false) { - $size = $this->storage->filesize($path); - $unencryptedSize = $this->filesize($path); - } + $size = $unencryptedSize = 0; + $targetExists = $this->file_exists($path); + $targetIsEncrypted = false; + if ($targetExists) { + // in case the file exists we require the explicit module as + // specified in the file header - otherwise we need to fail hard to + // prevent data loss on client side + if (!empty($encryptionModuleId)) { + $targetIsEncrypted = true; + $encryptionModule = $this->encryptionManager->getEncryptionModule($encryptionModuleId); + } - try { + $size = $this->storage->filesize($path); + $unencryptedSize = $this->filesize($path); + } - if ( - $mode === 'w' - || $mode === 'w+' - || $mode === 'wb' - || $mode === 'wb+' - ) { - if ($encryptionEnabled) { - // if $encryptionModuleId is empty, the default module will be used - $encryptionModule = $this->encryptionManager->getEncryptionModule($encryptionModuleId); - $shouldEncrypt = $encryptionModule->shouldEncrypt($fullPath); + try { + + if ( + $mode === 'w' + || $mode === 'w+' + || $mode === 'wb' + || $mode === 'wb+' + ) { + if ($encryptionEnabled) { + // if $encryptionModuleId is empty, the default module will be used + $encryptionModule = $this->encryptionManager->getEncryptionModule($encryptionModuleId); + $shouldEncrypt = $encryptionModule->shouldEncrypt($fullPath); + } + } else { + $info = $this->getCache()->get($path); + // only get encryption module if we found one in the header + // or if file should be encrypted according to the file cache + if (!empty($encryptionModuleId)) { + $encryptionModule = $this->encryptionManager->getEncryptionModule($encryptionModuleId); + $shouldEncrypt = true; + } else if (empty($encryptionModuleId) && $info['encrypted'] === true) { + // we come from a old installation. No header and/or no module defined + // but the file is encrypted. In this case we need to use the + // OC_DEFAULT_MODULE to read the file + $encryptionModule = $this->encryptionManager->getEncryptionModule('OC_DEFAULT_MODULE'); + $shouldEncrypt = true; + } } - } else { - $info = $this->getCache()->get($path); - // only get encryption module if we found one in the header - // or if file should be encrypted according to the file cache - if (!empty($encryptionModuleId)) { - $encryptionModule = $this->encryptionManager->getEncryptionModule($encryptionModuleId); - $shouldEncrypt = true; - } else if(empty($encryptionModuleId) && $info['encrypted'] === true) { - // we come from a old installation. No header and/or no module defined - // but the file is encrypted. In this case we need to use the - // OC_DEFAULT_MODULE to read the file - $encryptionModule = $this->encryptionManager->getEncryptionModule('OC_DEFAULT_MODULE'); - $shouldEncrypt = true; + } catch (ModuleDoesNotExistsException $e) { + $this->logger->warning('Encryption module "' . $encryptionModuleId . + '" not found, file will be stored unencrypted (' . $e->getMessage() . ')'); + } + + // encryption disabled on write of new file and write to existing unencrypted file -> don't encrypt + if (!$encryptionEnabled || !$this->mount->getOption('encrypt', true)) { + if (!$targetExists || !$targetIsEncrypted) { + $shouldEncrypt = false; } } - } catch (ModuleDoesNotExistsException $e) { - $this->logger->warning('Encryption module "' . $encryptionModuleId . - '" not found, file will be stored unencrypted (' . $e->getMessage() . ')'); - } - // encryption disabled on write of new file and write to existing unencrypted file -> don't encrypt - if (!$encryptionEnabled || !$this->mount->getOption('encrypt', true)) { - if (!$targetExists || !$targetIsEncrypted) { - $shouldEncrypt = false; + if ($shouldEncrypt === true && $encryptionModule !== null) { + $source = $this->storage->fopen($path, $mode); + $handle = \OC\Files\Stream\Encryption::wrap($source, $path, $fullPath, $header, + $this->uid, $encryptionModule, $this->storage, $this, $this->util, $this->fileHelper, $mode, + $size, $unencryptedSize, strlen($rawHeader)); + return $handle; } - } - if($shouldEncrypt === true && !$this->util->isExcluded($fullPath) && $encryptionModule !== null) { - $source = $this->storage->fopen($path, $mode); - $handle = \OC\Files\Stream\Encryption::wrap($source, $path, $fullPath, $header, - $this->uid, $encryptionModule, $this->storage, $this, $this->util, $this->fileHelper, $mode, - $size, $unencryptedSize, strlen($rawHeader)); - return $handle; - } else { - return $this->storage->fopen($path, $mode); } + + return $this->storage->fopen($path, $mode); } /** - * @param \OCP\Files\Storage $sourceStorage + * @param Storage $sourceStorage * @param string $sourceInternalPath * @param string $targetInternalPath * @param bool $preserveMtime * @return bool */ - public function moveFromStorage(\OCP\Files\Storage $sourceStorage, $sourceInternalPath, $targetInternalPath, $preserveMtime = true) { + public function moveFromStorage(Storage $sourceStorage, $sourceInternalPath, $targetInternalPath, $preserveMtime = true) { // TODO clean this up once the underlying moveFromStorage in OC\Files\Storage\Wrapper\Common is fixed: // - call $this->storage->moveFromStorage() instead of $this->copyBetweenStorage // - copy the file cache update from $this->copyBetweenStorage to this method + // - copy the copyKeys() call from $this->copyBetweenStorage to this method // - remove $this->copyBetweenStorage $result = $this->copyBetweenStorage($sourceStorage, $sourceInternalPath, $targetInternalPath, $preserveMtime, true); @@ -434,17 +445,18 @@ class Encryption extends Wrapper { /** - * @param \OCP\Files\Storage $sourceStorage + * @param Storage $sourceStorage * @param string $sourceInternalPath * @param string $targetInternalPath * @param bool $preserveMtime * @return bool */ - public function copyFromStorage(\OCP\Files\Storage $sourceStorage, $sourceInternalPath, $targetInternalPath, $preserveMtime = false) { + public function copyFromStorage(Storage $sourceStorage, $sourceInternalPath, $targetInternalPath, $preserveMtime = false) { // TODO clean this up once the underlying moveFromStorage in OC\Files\Storage\Wrapper\Common is fixed: // - call $this->storage->moveFromStorage() instead of $this->copyBetweenStorage // - copy the file cache update from $this->copyBetweenStorage to this method + // - copy the copyKeys() call from $this->copyBetweenStorage to this method // - remove $this->copyBetweenStorage return $this->copyBetweenStorage($sourceStorage, $sourceInternalPath, $targetInternalPath, $preserveMtime, false); @@ -453,14 +465,27 @@ class Encryption extends Wrapper { /** * copy file between two storages * - * @param \OCP\Files\Storage $sourceStorage + * @param Storage $sourceStorage * @param string $sourceInternalPath * @param string $targetInternalPath * @param bool $preserveMtime * @param bool $isRename * @return bool */ - private function copyBetweenStorage(\OCP\Files\Storage $sourceStorage, $sourceInternalPath, $targetInternalPath, $preserveMtime, $isRename) { + private function copyBetweenStorage(Storage $sourceStorage, $sourceInternalPath, $targetInternalPath, $preserveMtime, $isRename) { + + // first copy the keys that we reuse the existing file key on the target location + // and don't create a new one which would break versions for example. + $mount = $this->mountManager->findByStorageId($sourceStorage->getId()); + if (count($mount) === 1) { + $mountPoint = $mount[0]->getMountPoint(); + $source = $mountPoint . '/' . $sourceInternalPath; + $target = $this->getFullPath($targetInternalPath); + $this->copyKeys($source, $target); + } else { + $this->logger->error('Could not find mount point, can\'t keep encryption keys'); + } + if ($sourceStorage->is_dir($sourceInternalPath)) { $dh = $sourceStorage->opendir($sourceInternalPath); $result = $this->mkdir($targetInternalPath); @@ -609,7 +634,26 @@ class Encryption extends Wrapper { return $encryptionModule; } + /** + * @param string $path + * @param int $unencryptedSize + */ public function updateUnencryptedSize($path, $unencryptedSize) { $this->unencryptedSize[$path] = $unencryptedSize; } + + /** + * copy keys to new location + * + * @param string $source path relative to data/ + * @param string $target path relative to data/ + * @return bool + */ + protected function copyKeys($source, $target) { + if (!$this->util->isExcluded($source)) { + return $this->keyStorage->copyKeys($source, $target); + } + + return false; + } } diff --git a/lib/private/files/storage/wrapper/quota.php b/lib/private/files/storage/wrapper/quota.php index 92d749a814f..98664e27e2d 100644 --- a/lib/private/files/storage/wrapper/quota.php +++ b/lib/private/files/storage/wrapper/quota.php @@ -141,10 +141,12 @@ class Quota extends Wrapper { $source = $this->storage->fopen($path, $mode); $free = $this->free_space(''); if ($source && $free >= 0 && $mode !== 'r' && $mode !== 'rb') { - return \OC\Files\Stream\Quota::wrap($source, $free); - } else { - return $source; + // only apply quota for files, not metadata, trash or others + if (strpos(ltrim($path, '/'), 'files/') === 0) { + return \OC\Files\Stream\Quota::wrap($source, $free); + } } + return $source; } /** diff --git a/lib/private/files/stream/encryption.php b/lib/private/files/stream/encryption.php index f2f5b9c9af7..22d230e7c86 100644 --- a/lib/private/files/stream/encryption.php +++ b/lib/private/files/stream/encryption.php @@ -130,6 +130,7 @@ class Encryption extends Wrapper { * @param int $size * @param int $unencryptedSize * @param int $headerSize + * @param string $wrapper stream wrapper class * @return resource * * @throws \BadMethodCallException @@ -144,7 +145,8 @@ class Encryption extends Wrapper { $mode, $size, $unencryptedSize, - $headerSize) { + $headerSize, + $wrapper = 'OC\Files\Stream\Encryption') { $context = stream_context_create(array( 'ocencryption' => array( @@ -164,7 +166,7 @@ class Encryption extends Wrapper { ) )); - return self::wrapSource($source, $mode, $context, 'ocencryption', 'OC\Files\Stream\Encryption'); + return self::wrapSource($source, $mode, $context, 'ocencryption', $wrapper); } /** @@ -271,7 +273,7 @@ class Encryption extends Wrapper { $result = ''; -// $count = min($count, $this->unencryptedSize - $this->position); + $count = min($count, $this->unencryptedSize - $this->position); while ($count > 0) { $remainingLength = $count; // update the cache of the current block @@ -309,7 +311,7 @@ class Encryption extends Wrapper { // flush will start writing there when the position moves to another block $positionInFile = (int)floor($this->position / $this->unencryptedBlockSize) * $this->util->getBlockSize() + $this->headerSize; - $resultFseek = parent::stream_seek($positionInFile); + $resultFseek = $this->parentStreamSeek($positionInFile); // only allow writes on seekable streams, or at the end of the encrypted stream if (!($this->readOnly) && ($resultFseek || $positionInFile === $this->size)) { @@ -376,10 +378,10 @@ class Encryption extends Wrapper { * $this->util->getBlockSize() + $this->headerSize; $oldFilePosition = parent::stream_tell(); - if (parent::stream_seek($newFilePosition)) { - parent::stream_seek($oldFilePosition); + if ($this->parentStreamSeek($newFilePosition)) { + $this->parentStreamSeek($oldFilePosition); $this->flush(); - parent::stream_seek($newFilePosition); + $this->parentStreamSeek($newFilePosition); $this->position = $newPosition; $return = true; } @@ -410,9 +412,18 @@ class Encryption extends Wrapper { // we are handling that separately here and we don't want to // get into an infinite loop $encrypted = $this->encryptionModule->encrypt($this->cache); - parent::stream_write($encrypted); + $bytesWritten = parent::stream_write($encrypted); $this->writeFlag = false; - $this->size = max($this->size, parent::stream_tell()); + // Check whether the write concerns the last block + // If so then update the encrypted filesize + // Note that the unencrypted pointer and filesize are NOT yet updated when flush() is called + // We recalculate the encrypted filesize as we do not know the context of calling flush() + $completeBlocksInFile=(int)floor($this->unencryptedSize/$this->unencryptedBlockSize); + if ($completeBlocksInFile === (int)floor($this->position/$this->unencryptedBlockSize)) { + $this->size = $this->util->getBlockSize() * $completeBlocksInFile; + $this->size += $bytesWritten; + $this->size += $this->headerSize; + } } // always empty the cache (otherwise readCache() will not fill it with the new block) $this->cache = ''; @@ -449,4 +460,14 @@ class Encryption extends Wrapper { parent::stream_read($this->headerSize); } + /** + * call stream_seek() from parent class + * + * @param integer $position + * @return bool + */ + protected function parentStreamSeek($position) { + return parent::stream_seek($position); + } + } diff --git a/lib/private/httphelper.php b/lib/private/httphelper.php index f7984a72ebb..9d9edb6a351 100644 --- a/lib/private/httphelper.php +++ b/lib/private/httphelper.php @@ -102,7 +102,13 @@ class HTTPHelper { $client = $this->clientService->newClient(); try { - $response = $client->post($url, ['body' => $fields]); + $response = $client->post( + $url, + [ + 'body' => $fields, + 'connect_timeout' => 10, + ] + ); } catch (\Exception $e) { return ['success' => false, 'result' => $e->getMessage()]; } diff --git a/lib/private/preview/txt.php b/lib/private/preview/txt.php index ea817388f86..684438684fb 100644 --- a/lib/private/preview/txt.php +++ b/lib/private/preview/txt.php @@ -38,7 +38,7 @@ class TXT extends Provider { * {@inheritDoc} */ public function isAvailable(\OCP\Files\FileInfo $file) { - return $file->getSize() > 5; + return $file->getSize() > 0; } /** diff --git a/lib/private/server.php b/lib/private/server.php index 7fa668b222e..aeea4a6485e 100644 --- a/lib/private/server.php +++ b/lib/private/server.php @@ -84,7 +84,7 @@ class Server extends SimpleContainer implements IServerContainer { }); $this->registerService('EncryptionManager', function (Server $c) { - return new Encryption\Manager($c->getConfig(), $c->getLogger()); + return new Encryption\Manager($c->getConfig(), $c->getLogger(), $c->getL10N('core')); }); $this->registerService('EncryptionFileHelper', function (Server $c) { diff --git a/lib/private/user.php b/lib/private/user.php index 2192cbba322..8083b4e40be 100644 --- a/lib/private/user.php +++ b/lib/private/user.php @@ -424,7 +424,7 @@ class OC_User { /** * get the user id of the user currently logged in. * - * @return string uid or false + * @return string|bool uid or false */ public static function getUser() { $uid = \OC::$server->getSession() ? \OC::$server->getSession()->get('user_id') : null; diff --git a/lib/private/util.php b/lib/private/util.php index 4470006b90c..59408c0fc03 100644 --- a/lib/private/util.php +++ b/lib/private/util.php @@ -385,10 +385,24 @@ class OC_Util { $session->set('OC_Version', $OC_Version); /** @var $OC_VersionString string */ $session->set('OC_VersionString', $OC_VersionString); - /** @var $OC_Channel string */ - $session->set('OC_Channel', $OC_Channel); /** @var $OC_Build string */ $session->set('OC_Build', $OC_Build); + + // Allow overriding update channel + + if (\OC::$server->getSystemConfig()->getValue('installed', false)) { + $channel = \OC::$server->getAppConfig()->getValue('core', 'OC_Channel'); + } else { + /** @var $OC_Channel string */ + $channel = $OC_Channel; + } + + if (!is_null($channel)) { + $session->set('OC_Channel', $channel); + } else { + /** @var $OC_Channel string */ + $session->set('OC_Channel', $OC_Channel); + } } } diff --git a/lib/public/encryption/exceptions/genericencryptionexception.php b/lib/public/encryption/exceptions/genericencryptionexception.php index e97f00c88bf..5648e5edf73 100644 --- a/lib/public/encryption/exceptions/genericencryptionexception.php +++ b/lib/public/encryption/exceptions/genericencryptionexception.php @@ -21,6 +21,7 @@ */ namespace OCP\Encryption\Exceptions; +use OC\HintException; /** * Class GenericEncryptionException @@ -28,28 +29,20 @@ namespace OCP\Encryption\Exceptions; * @package OCP\Encryption\Exceptions * @since 8.1.0 */ -class GenericEncryptionException extends \Exception { - - /** @var string */ - protected $hint; +class GenericEncryptionException extends HintException { /** * @param string $message + * @param string $hint * @param int $code * @param \Exception $previous * @since 8.1.0 */ - public function __construct($message = '', $code = 0, \Exception $previous = null, $hint = '') { + public function __construct($message = '', $hint = '', $code = 0, \Exception $previous = null) { if (empty($message)) { $message = 'Unspecified encryption exception'; } - parent::__construct($message, $code, $previous); - - $this->hint = $hint; - } - - public function getHint() { - return $this->hint; + parent::__construct($message, $hint, $code, $previous); } } diff --git a/lib/public/ihelper.php b/lib/public/ihelper.php index a42dbf5ec61..41fe3f57c0a 100644 --- a/lib/public/ihelper.php +++ b/lib/public/ihelper.php @@ -33,6 +33,7 @@ namespace OCP; /** * Functions that don't have any specific interface to place * @since 6.0.0 + * @deprecated 8.1.0 */ interface IHelper { /** @@ -41,6 +42,7 @@ interface IHelper { * @param string $url the url that should be fetched * @return string the content of the webpage * @since 6.0.0 + * @deprecated 8.1.0 Use \OCP\IServerContainer::getHTTPClientService */ public function getUrlContent($url); } diff --git a/lib/public/util.php b/lib/public/util.php index 6eb5c6034c1..f032d0a5431 100644 --- a/lib/public/util.php +++ b/lib/public/util.php @@ -69,6 +69,24 @@ class Util { public static function getVersion() { return(\OC_Util::getVersion()); } + + /** + * Set current update channel + * @param string $channel + */ + public static function setChannel($channel) { + //Flush timestamp to reload version.php + \OC::$server->getSession()->set('OC_Version_Timestamp', 0); + return \OC::$server->getAppConfig()->setValue('core', 'OC_Channel', $channel); + } + + /** + * Get current update channel + * @return string + */ + public static function getChannel() { + return \OC_Util::getChannel(); + } /** * send an email diff --git a/settings/controller/checksetupcontroller.php b/settings/controller/checksetupcontroller.php index 15719ce215f..3ced5af5a5f 100644 --- a/settings/controller/checksetupcontroller.php +++ b/settings/controller/checksetupcontroller.php @@ -91,6 +91,23 @@ class CheckSetupController extends Controller { } /** + * Whether /dev/urandom is available to the PHP controller + * + * @return bool + */ + private function isUrandomAvailable() { + if(@file_exists('/dev/urandom')) { + $file = fopen('/dev/urandom', 'rb'); + if($file) { + fclose($file); + return true; + } + } + + return false; + } + + /** * @return DataResponse */ public function check() { @@ -100,6 +117,8 @@ class CheckSetupController extends Controller { 'dataDirectoryProtected' => $this->util->isHtaccessWorking($this->config), 'isMemcacheConfigured' => $this->isMemcacheConfigured(), 'memcacheDocs' => $this->urlGenerator->linkToDocs('admin-performance'), + 'isUrandomAvailable' => $this->isUrandomAvailable(), + 'securityDocs' => $this->urlGenerator->linkToDocs('admin-security'), ] ); } diff --git a/settings/controller/encryptioncontroller.php b/settings/controller/encryptioncontroller.php index 800982d1f04..411b9e87cc1 100644 --- a/settings/controller/encryptioncontroller.php +++ b/settings/controller/encryptioncontroller.php @@ -82,12 +82,13 @@ class EncryptionController extends Controller { public function startMigration() { // allow as long execution on the web server as possible set_time_limit(0); - $migration = new Migration($this->config, $this->view, $this->connection); - $migration->reorganizeSystemFolderStructure(); - $migration->updateDB(); try { + $migration = new Migration($this->config, $this->view, $this->connection); + $migration->reorganizeSystemFolderStructure(); + $migration->updateDB(); + foreach ($this->userManager->getBackends() as $backend) { $limit = 500; diff --git a/settings/js/apps.js b/settings/js/apps.js index 58a0a31ccd8..1d115eb8182 100644 --- a/settings/js/apps.js +++ b/settings/js/apps.js @@ -12,11 +12,11 @@ Handlebars.registerHelper('score', function() { Handlebars.registerHelper('level', function() { if(typeof this.level !== 'undefined') { if(this.level === 200) { - return new Handlebars.SafeString('<span class="official icon-checkmark">Official</span>'); + return new Handlebars.SafeString('<span class="official icon-checkmark">' + t('settings', 'Official') + '</span>'); } else if(this.level === 100) { - return new Handlebars.SafeString('<span class="approved">Approved</span>'); + return new Handlebars.SafeString('<span class="approved">' + t('settings', 'Approved') + '</span>'); } else { - return new Handlebars.SafeString('<span class="experimental">Experimental</span>'); + return new Handlebars.SafeString('<span class="experimental">' + t('settings', 'Experimental') + '</span>'); } } }); @@ -86,17 +86,25 @@ OC.Settings.Apps = OC.Settings.Apps || { }), { type:'GET', success: function (apps) { - OC.Settings.Apps.State.apps = _.indexBy(apps.apps, 'id'); + var appList = _.map(_.indexBy(apps.apps, 'id'), function(app) { + // default values for missing fields + return _.extend({level: 0}, app); + }); + OC.Settings.Apps.State.apps = appList; var source = $("#app-template").html(); var template = Handlebars.compile(source); - if (apps.apps.length) { - apps.apps.sort(function(a,b) { - return b.level - a.level; + if (appList.length) { + appList.sort(function(a,b) { + var levelDiff = b.level - a.level; + if (levelDiff === 0) { + return OC.Util.naturalSortCompare(a.name, b.name); + } + return levelDiff; }); var firstExperimental = false; - _.each(apps.apps, function(app) { + _.each(appList, function(app) { if(app.level === 0 && firstExperimental === false) { firstExperimental = true; OC.Settings.Apps.renderApp(app, template, null, true); @@ -109,9 +117,9 @@ OC.Settings.Apps = OC.Settings.Apps || { $('#apps-list-empty').removeClass('hidden'); } - $('.app-level .official').tipsy({fallback: t('core', 'Official apps are developed by and within the ownCloud community. They offer functionality central to ownCloud and are ready for production use.')}); - $('.app-level .approved').tipsy({fallback: t('core', '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.')}); - $('.app-level .experimental').tipsy({fallback: t('core', 'This app is not checked for security issues and is new or known to be unstable. Install on your own risk.')}); + $('.app-level .official').tipsy({fallback: t('settings', 'Official apps are developed by and within the ownCloud community. They offer functionality central to ownCloud and are ready for production use.')}); + $('.app-level .approved').tipsy({fallback: t('settings', '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.')}); + $('.app-level .experimental').tipsy({fallback: t('settings', 'This app is not checked for security issues and is new or known to be unstable. Install on your own risk.')}); }, complete: function() { $('#apps-list').removeClass('icon-loading'); diff --git a/settings/l10n/az.js b/settings/l10n/az.js index 677a7d3ab54..9b5de07237d 100644 --- a/settings/l10n/az.js +++ b/settings/l10n/az.js @@ -107,6 +107,7 @@ OC.L10N.register( "We strongly suggest installing the required packages on your system to support one of the following locales: %s." : "Biz təkidlə təklif edirik ki, göstərilən dillər üçün tələb edilən paketləri sisteminizdə yükləyəsiniz: %s.", "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\")" : "Eger sizin yüklənməniz root domain-də yüklənməyibsə və sistem cron-u istifadə edirsə, orda URL generasiyası ilə bağlı problemləriniz ola bilər. Bu problemləri aşmaq üçün xahiş olunur yüklənmə vaxtı \"overwrite.cli.url\" opsiyasını config.php faylında webroot ünvanı olaraq təyin edəsiniz (Məsləhətdir: \"%s\")", "It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "CRON işini CLİ-dan yerinə yetirmək mümkün olmadı. Görünən texniki səhv baş verdi.", + "Open documentation" : "Sənədləri aç", "Allow apps to use the Share API" : "Proqramlara izin verin ki, Paylaşım API-sindən istifadə edə bilsinlər.", "Allow users to share via link" : "Istifadəçilərə link üzərindən paylaşım etməyə izin vermək", "Enforce password protection" : "Şifrə müdafiəsini həyata keçirmək", diff --git a/settings/l10n/az.json b/settings/l10n/az.json index 1d0b227a3bd..7b778b3d818 100644 --- a/settings/l10n/az.json +++ b/settings/l10n/az.json @@ -105,6 +105,7 @@ "We strongly suggest installing the required packages on your system to support one of the following locales: %s." : "Biz təkidlə təklif edirik ki, göstərilən dillər üçün tələb edilən paketləri sisteminizdə yükləyəsiniz: %s.", "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\")" : "Eger sizin yüklənməniz root domain-də yüklənməyibsə və sistem cron-u istifadə edirsə, orda URL generasiyası ilə bağlı problemləriniz ola bilər. Bu problemləri aşmaq üçün xahiş olunur yüklənmə vaxtı \"overwrite.cli.url\" opsiyasını config.php faylında webroot ünvanı olaraq təyin edəsiniz (Məsləhətdir: \"%s\")", "It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "CRON işini CLİ-dan yerinə yetirmək mümkün olmadı. Görünən texniki səhv baş verdi.", + "Open documentation" : "Sənədləri aç", "Allow apps to use the Share API" : "Proqramlara izin verin ki, Paylaşım API-sindən istifadə edə bilsinlər.", "Allow users to share via link" : "Istifadəçilərə link üzərindən paylaşım etməyə izin vermək", "Enforce password protection" : "Şifrə müdafiəsini həyata keçirmək", diff --git a/settings/l10n/de.js b/settings/l10n/de.js index 0927d5b50fe..10563cf0c3f 100644 --- a/settings/l10n/de.js +++ b/settings/l10n/de.js @@ -147,6 +147,7 @@ OC.L10N.register( "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:" : "Bite 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'" : "Du musst Deine Verschlüsselungsschlüssel von der alten Verschlüsselung (ownCloud <= 8.0) zur Neuen migrieren. Bitte aktiviere das \"Default Encryption Module\" und rufe 'occ encryption:migrate' auf.", "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Du musst Deine 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 zum Senden von Benachrichtigungen verwendet.", diff --git a/settings/l10n/de.json b/settings/l10n/de.json index 6d05e578bf5..6db4eabf736 100644 --- a/settings/l10n/de.json +++ b/settings/l10n/de.json @@ -145,6 +145,7 @@ "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:" : "Bite 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'" : "Du musst Deine Verschlüsselungsschlüssel von der alten Verschlüsselung (ownCloud <= 8.0) zur Neuen migrieren. Bitte aktiviere das \"Default Encryption Module\" und rufe 'occ encryption:migrate' auf.", "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Du musst Deine 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 zum Senden von Benachrichtigungen verwendet.", diff --git a/settings/l10n/de_DE.js b/settings/l10n/de_DE.js index 25dd505eafa..a5d05a3084e 100644 --- a/settings/l10n/de_DE.js +++ b/settings/l10n/de_DE.js @@ -147,6 +147,7 @@ OC.L10N.register( "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.", diff --git a/settings/l10n/de_DE.json b/settings/l10n/de_DE.json index feb20f36972..42758546e93 100644 --- a/settings/l10n/de_DE.json +++ b/settings/l10n/de_DE.json @@ -145,6 +145,7 @@ "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.", diff --git a/settings/l10n/fr.js b/settings/l10n/fr.js index fe80558e76a..25241af30d2 100644 --- a/settings/l10n/fr.js +++ b/settings/l10n/fr.js @@ -147,6 +147,7 @@ OC.L10N.register( "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 \"ownCloud 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.", diff --git a/settings/l10n/fr.json b/settings/l10n/fr.json index 32dd9d0bde1..355c5f727f5 100644 --- a/settings/l10n/fr.json +++ b/settings/l10n/fr.json @@ -145,6 +145,7 @@ "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 \"ownCloud 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.", diff --git a/settings/l10n/gl.js b/settings/l10n/gl.js index cfffdd70507..44619310294 100644 --- a/settings/l10n/gl.js +++ b/settings/l10n/gl.js @@ -226,7 +226,7 @@ OC.L10N.register( "You are member of the following groups:" : "Vostede é membro dos seguintes grupos:", "Profile picture" : "Imaxe do perfil", "Upload new" : "Novo envío", - "Select new from Files" : "Seleccione unha nova de ficheiros", + "Select new from Files" : "Seleccionar outra nova desde Ficheiros", "Remove image" : "Retirar a imaxe", "Either png or jpg. Ideally square but you will be able to crop it." : "Calquera png ou jpg. É preferíbel que sexa cadrada, mais poderá recortala.", "Your avatar is provided by your original account." : "O seu avatar é fornecido pola súa conta orixinal.", diff --git a/settings/l10n/gl.json b/settings/l10n/gl.json index 40ec3fa453f..beb68e28559 100644 --- a/settings/l10n/gl.json +++ b/settings/l10n/gl.json @@ -224,7 +224,7 @@ "You are member of the following groups:" : "Vostede é membro dos seguintes grupos:", "Profile picture" : "Imaxe do perfil", "Upload new" : "Novo envío", - "Select new from Files" : "Seleccione unha nova de ficheiros", + "Select new from Files" : "Seleccionar outra nova desde Ficheiros", "Remove image" : "Retirar a imaxe", "Either png or jpg. Ideally square but you will be able to crop it." : "Calquera png ou jpg. É preferíbel que sexa cadrada, mais poderá recortala.", "Your avatar is provided by your original account." : "O seu avatar é fornecido pola súa conta orixinal.", diff --git a/settings/l10n/ja.js b/settings/l10n/ja.js index 013621e87dd..98c2d57b8df 100644 --- a/settings/l10n/ja.js +++ b/settings/l10n/ja.js @@ -34,6 +34,7 @@ OC.L10N.register( "log-level out of allowed range" : "ログレベルが許可された範囲を超えています", "Saved" : "保存されました", "test email settings" : "メール設定のテスト", + "A problem occurred while sending the email. Please revise your settings. (Error: %s)" : "メールの送信中に問題が発生しました。設定を確認してください。 (Error: %s)", "Email sent" : "メールを送信しました", "You need to set your user email before being able to send test emails." : "ユーザーメールを設定して初めて、テストメールを送信することができるようになります。", "Invalid mail address" : "無効なメールアドレスです", diff --git a/settings/l10n/ja.json b/settings/l10n/ja.json index c3868756458..349ec6dc0f2 100644 --- a/settings/l10n/ja.json +++ b/settings/l10n/ja.json @@ -32,6 +32,7 @@ "log-level out of allowed range" : "ログレベルが許可された範囲を超えています", "Saved" : "保存されました", "test email settings" : "メール設定のテスト", + "A problem occurred while sending the email. Please revise your settings. (Error: %s)" : "メールの送信中に問題が発生しました。設定を確認してください。 (Error: %s)", "Email sent" : "メールを送信しました", "You need to set your user email before being able to send test emails." : "ユーザーメールを設定して初めて、テストメールを送信することができるようになります。", "Invalid mail address" : "無効なメールアドレスです", diff --git a/settings/l10n/nb_NO.js b/settings/l10n/nb_NO.js index aac2edc5dde..4c85e589ad9 100644 --- a/settings/l10n/nb_NO.js +++ b/settings/l10n/nb_NO.js @@ -3,8 +3,10 @@ OC.L10N.register( { "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", @@ -26,6 +28,8 @@ OC.L10N.register( "Unable to change password" : "Kunne ikke endre passord", "Enabled" : "Aktiv", "Not enabled" : "Ikke aktivert", + "A problem occurred, please check your log files (Error: %s)" : "Det oppstod et problem. Sjekk loggfilene (Feil: %s)", + "Migration Completed" : "Migrering ferdig", "Group already exists." : "Gruppe finnes allerede.", "Unable to add group." : "Kan ikke legge til gruppe.", "Unable to delete group." : "Kan ikke slette gruppe.", @@ -46,8 +50,13 @@ OC.L10N.register( "Email saved" : "Epost lagret", "Are you really sure you want add \"{domain}\" as trusted domain?" : "Ønsker du virkelig å legge til \"{domain}\" som tiltrodd domene?", "Add trusted domain" : "Legg til et tiltrodd domene", + "Migration in progress. Please wait until the migration is finished" : "Migrering utføres. Vent til migreringen er ferdig.", + "Migration started …" : "Migrering startet ..", "Sending..." : "Sender...", "All" : "Alle", + "Official apps are developed by and within the ownCloud community. They offer functionality central to ownCloud and are ready for production use." : "Offisielle apper utvikles av og innenfor ownCloud-fellesskapet. De tilbyr funksjonalitet som er sentral for ownCloud og er forberedt for produksjonsbruk.", + "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." : "Godkjente apper er utviklet av pålitelige utviklere og har gjennomgått en rask sikkerhetssjekk. De vedlikeholdes aktivt i et åpent kode-depot og utviklerne anser dem for å være stabile for tilfeldig til normal bruk.", + "This app is not checked for security issues and is new or known to be unstable. Install on your own risk." : "Denne appen er ikke sjekket for sikkerhetsproblemer og er ny eller ansett for å være ustabil. Installer på egen risiko.", "Please wait...." : "Vennligst vent...", "Error while disabling app" : "Deaktivering av app feilet", "Disable" : "Deaktiver ", @@ -67,6 +76,7 @@ OC.L10N.register( "Strong password" : "Sterkt passord", "Valid until {date}" : "Gyldig til {date}", "Delete" : "Slett", + "An error occurred. Please upload an ASCII-encoded PEM certificate." : "Det oppstod en feil. Vennligst last opp et ASCII-kodet PEM-sertifikat.", "Groups" : "Grupper", "Unable to delete {objName}" : "Kan ikke slette {objName}", "Error creating group" : "Feil ved oppretting av gruppe", @@ -97,6 +107,8 @@ OC.L10N.register( "NT LAN Manager" : "NT LAN Manager", "SSL" : "SSL", "TLS" : "TLS", + "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." : "Sjekk installasjonsdokumentasjonen for notiser om PHP-konfigurering og om konfigurering av serveren, spesielt ved bruk av 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.", "PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "Det ser ut for at PHP er satt opp til å fjerne innebygde doc blocks. Dette gjør at flere av kjerneapplikasjonene blir utilgjengelige.", "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Dette forårsakes sannsynligvis av en bufrer/akselerator, som f.eks. Zend OPcache eller eAccelerator.", @@ -109,6 +121,7 @@ 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\")" : "Hvis installasjonen din ikke er installert i roten av domenet og bruker systemets cron, kan det bli problemer med URL-genereringen. For å unngå disse problemene, sett \"overwrite.cli.url\" i filen config.php til web-roten for installasjonen din (Foreslått: \"%s\")", "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 <a target=\"_blank\" href=\"%s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"#log-section\">log</a>." : "Vennligst dobbeltsjekk <a target=\"_blank\" href=\"%s\">Installasjonsveiledningene ↗</a> og se etter feil og advarsler i <a href=\"#log-section\">loggen</a>.", + "Open documentation" : "Åpne dokumentasjonen", "Allow apps to use the Share API" : "Tillat apper å bruke API for Deling", "Allow users to share via link" : "Tillat brukere å dele via lenke", "Enforce password protection" : "Krev passordbeskyttelse", @@ -129,6 +142,14 @@ OC.L10N.register( "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", + "Encryption is a one way process. Once encryption is enabled, all files from that point forward will be encrypted on the server and it will not be possible to disable encryption at a later date. This is the final warning: Do you really want to enable encryption?" : "Kryptering er en enveisprosess. Når kryptering er aktivert, vil alle filer fra det tidspunktet av bli kryptert på serveren og det vil ikke være mulig å deaktivere kryptering senere. 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", @@ -160,6 +181,8 @@ OC.L10N.register( "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, nye eller anses som ustabile og under travel utvikling. Å installere slike apper kan forårsake tap av data eller sikkerhetsbrudd.", "by" : "av", "licensed" : "lisensiert", "Documentation:" : "Dokumentasjon:", @@ -171,11 +194,17 @@ OC.L10N.register( "Update to %s" : "Oppdater til %s", "Enable only for specific groups" : "Aktiver kun for visse grupper", "Uninstall App" : "Avinstaller app", + "Enable experimental apps" : "Aktiver eksperimentelle apper", "No apps found for your version" : "Ingen apper funnet for din versjon", "Hey there,<br><br>just letting you know that you now have an %s account.<br><br>Your username: %s<br>Access it: <a href=\"%s\">%s</a><br><br>" : "Hei,<br><br>vil bare informere om at du nå har en %s-konto.<br><br>Brukernavnet ditt: %s<br>Gå dit: <a href=\"%s\">%s</a><br><br>", "Cheers!" : "Ha det!", "Hey there,\n\njust letting you know that you now have an %s account.\n\nYour username: %s\nAccess it: %s\n\n" : "Hei,\n\nVil bare informere om at du nå har en %s-konto.\n\nBrukernavnet ditt: %s\nGå dit: %s\n\n", + "User documentation" : "Brukerdokumentasjon", + "Administrator documentation" : "Administratordokumentasjon", + "Online documentation" : "Elektronisk dokumentasjon", "Forum" : "Forum", + "Issue tracker" : "Problemsporing", + "Commercial support" : "Forretningsstøtte", "Get the apps to sync your files" : "Hent apper som synkroniserer filene dine", "Desktop client" : "Skrivebordsklient", "Android app" : "Android-app", @@ -199,7 +228,7 @@ OC.L10N.register( "Upload new" : "Last opp nytt", "Select new from Files" : "Velg nytt fra Filer", "Remove image" : "Fjern bilde", - "Either png or jpg. Ideally square but you will be able to crop it." : "Enten png eller jpg. Helst kvadratisk men du kan beskjære det.", + "Either png or jpg. Ideally square but you will be able to crop it." : "Enten png eller jpg. Helst kvadratisk, men du kan beskjære det.", "Your avatar is provided by your original account." : "Avataren din kommer fra din opprinnelige konto.", "Cancel" : "Avbryt", "Choose as profile image" : "Velg som profilbilde", diff --git a/settings/l10n/nb_NO.json b/settings/l10n/nb_NO.json index 94ec9d09438..30dfcec7418 100644 --- a/settings/l10n/nb_NO.json +++ b/settings/l10n/nb_NO.json @@ -1,8 +1,10 @@ { "translations": { "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", @@ -24,6 +26,8 @@ "Unable to change password" : "Kunne ikke endre passord", "Enabled" : "Aktiv", "Not enabled" : "Ikke aktivert", + "A problem occurred, please check your log files (Error: %s)" : "Det oppstod et problem. Sjekk loggfilene (Feil: %s)", + "Migration Completed" : "Migrering ferdig", "Group already exists." : "Gruppe finnes allerede.", "Unable to add group." : "Kan ikke legge til gruppe.", "Unable to delete group." : "Kan ikke slette gruppe.", @@ -44,8 +48,13 @@ "Email saved" : "Epost lagret", "Are you really sure you want add \"{domain}\" as trusted domain?" : "Ønsker du virkelig å legge til \"{domain}\" som tiltrodd domene?", "Add trusted domain" : "Legg til et tiltrodd domene", + "Migration in progress. Please wait until the migration is finished" : "Migrering utføres. Vent til migreringen er ferdig.", + "Migration started …" : "Migrering startet ..", "Sending..." : "Sender...", "All" : "Alle", + "Official apps are developed by and within the ownCloud community. They offer functionality central to ownCloud and are ready for production use." : "Offisielle apper utvikles av og innenfor ownCloud-fellesskapet. De tilbyr funksjonalitet som er sentral for ownCloud og er forberedt for produksjonsbruk.", + "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." : "Godkjente apper er utviklet av pålitelige utviklere og har gjennomgått en rask sikkerhetssjekk. De vedlikeholdes aktivt i et åpent kode-depot og utviklerne anser dem for å være stabile for tilfeldig til normal bruk.", + "This app is not checked for security issues and is new or known to be unstable. Install on your own risk." : "Denne appen er ikke sjekket for sikkerhetsproblemer og er ny eller ansett for å være ustabil. Installer på egen risiko.", "Please wait...." : "Vennligst vent...", "Error while disabling app" : "Deaktivering av app feilet", "Disable" : "Deaktiver ", @@ -65,6 +74,7 @@ "Strong password" : "Sterkt passord", "Valid until {date}" : "Gyldig til {date}", "Delete" : "Slett", + "An error occurred. Please upload an ASCII-encoded PEM certificate." : "Det oppstod en feil. Vennligst last opp et ASCII-kodet PEM-sertifikat.", "Groups" : "Grupper", "Unable to delete {objName}" : "Kan ikke slette {objName}", "Error creating group" : "Feil ved oppretting av gruppe", @@ -95,6 +105,8 @@ "NT LAN Manager" : "NT LAN Manager", "SSL" : "SSL", "TLS" : "TLS", + "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." : "Sjekk installasjonsdokumentasjonen for notiser om PHP-konfigurering og om konfigurering av serveren, spesielt ved bruk av 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.", "PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "Det ser ut for at PHP er satt opp til å fjerne innebygde doc blocks. Dette gjør at flere av kjerneapplikasjonene blir utilgjengelige.", "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Dette forårsakes sannsynligvis av en bufrer/akselerator, som f.eks. Zend OPcache eller eAccelerator.", @@ -107,6 +119,7 @@ "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\")" : "Hvis installasjonen din ikke er installert i roten av domenet og bruker systemets cron, kan det bli problemer med URL-genereringen. For å unngå disse problemene, sett \"overwrite.cli.url\" i filen config.php til web-roten for installasjonen din (Foreslått: \"%s\")", "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 <a target=\"_blank\" href=\"%s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"#log-section\">log</a>." : "Vennligst dobbeltsjekk <a target=\"_blank\" href=\"%s\">Installasjonsveiledningene ↗</a> og se etter feil og advarsler i <a href=\"#log-section\">loggen</a>.", + "Open documentation" : "Åpne dokumentasjonen", "Allow apps to use the Share API" : "Tillat apper å bruke API for Deling", "Allow users to share via link" : "Tillat brukere å dele via lenke", "Enforce password protection" : "Krev passordbeskyttelse", @@ -127,6 +140,14 @@ "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", + "Encryption is a one way process. Once encryption is enabled, all files from that point forward will be encrypted on the server and it will not be possible to disable encryption at a later date. This is the final warning: Do you really want to enable encryption?" : "Kryptering er en enveisprosess. Når kryptering er aktivert, vil alle filer fra det tidspunktet av bli kryptert på serveren og det vil ikke være mulig å deaktivere kryptering senere. 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", @@ -158,6 +179,8 @@ "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, nye eller anses som ustabile og under travel utvikling. Å installere slike apper kan forårsake tap av data eller sikkerhetsbrudd.", "by" : "av", "licensed" : "lisensiert", "Documentation:" : "Dokumentasjon:", @@ -169,11 +192,17 @@ "Update to %s" : "Oppdater til %s", "Enable only for specific groups" : "Aktiver kun for visse grupper", "Uninstall App" : "Avinstaller app", + "Enable experimental apps" : "Aktiver eksperimentelle apper", "No apps found for your version" : "Ingen apper funnet for din versjon", "Hey there,<br><br>just letting you know that you now have an %s account.<br><br>Your username: %s<br>Access it: <a href=\"%s\">%s</a><br><br>" : "Hei,<br><br>vil bare informere om at du nå har en %s-konto.<br><br>Brukernavnet ditt: %s<br>Gå dit: <a href=\"%s\">%s</a><br><br>", "Cheers!" : "Ha det!", "Hey there,\n\njust letting you know that you now have an %s account.\n\nYour username: %s\nAccess it: %s\n\n" : "Hei,\n\nVil bare informere om at du nå har en %s-konto.\n\nBrukernavnet ditt: %s\nGå dit: %s\n\n", + "User documentation" : "Brukerdokumentasjon", + "Administrator documentation" : "Administratordokumentasjon", + "Online documentation" : "Elektronisk dokumentasjon", "Forum" : "Forum", + "Issue tracker" : "Problemsporing", + "Commercial support" : "Forretningsstøtte", "Get the apps to sync your files" : "Hent apper som synkroniserer filene dine", "Desktop client" : "Skrivebordsklient", "Android app" : "Android-app", @@ -197,7 +226,7 @@ "Upload new" : "Last opp nytt", "Select new from Files" : "Velg nytt fra Filer", "Remove image" : "Fjern bilde", - "Either png or jpg. Ideally square but you will be able to crop it." : "Enten png eller jpg. Helst kvadratisk men du kan beskjære det.", + "Either png or jpg. Ideally square but you will be able to crop it." : "Enten png eller jpg. Helst kvadratisk, men du kan beskjære det.", "Your avatar is provided by your original account." : "Avataren din kommer fra din opprinnelige konto.", "Cancel" : "Avbryt", "Choose as profile image" : "Velg som profilbilde", diff --git a/settings/l10n/nl.js b/settings/l10n/nl.js index f621d9a07cd..2dc2722e9f4 100644 --- a/settings/l10n/nl.js +++ b/settings/l10n/nl.js @@ -147,6 +147,7 @@ OC.L10N.register( "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'" : "U moet uw 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." : "U moet uw 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.", diff --git a/settings/l10n/nl.json b/settings/l10n/nl.json index 931569bd57b..f6a14025985 100644 --- a/settings/l10n/nl.json +++ b/settings/l10n/nl.json @@ -145,6 +145,7 @@ "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'" : "U moet uw 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." : "U moet uw 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.", diff --git a/settings/l10n/uk.js b/settings/l10n/uk.js index c60e3eeab06..0456525d452 100644 --- a/settings/l10n/uk.js +++ b/settings/l10n/uk.js @@ -76,6 +76,7 @@ OC.L10N.register( "Strong password" : "Надійний пароль", "Valid until {date}" : "Дійсно до {date}", "Delete" : "Видалити", + "An error occurred. Please upload an ASCII-encoded PEM certificate." : "Виникла помилка. Будь ласка вивантажте PEM сертифікат в ASCII-кодуванні.", "Groups" : "Групи", "Unable to delete {objName}" : "Не вдалося видалити {objName}", "Error creating group" : "Помилка створення групи", @@ -139,6 +140,8 @@ OC.L10N.register( "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" : "Увімкнути серверне шіфрування", + "Enable encryption" : "Увімкнути шифрування", + "Select default encryption module:" : "Обрати модуль шифрування за замовчуванням:", "Start migration" : "Розпочати міграцію", "This is used for sending out notifications." : "Використовується для відсилання повідомлень.", "Send mode" : "Надіслати повідомлення", diff --git a/settings/l10n/uk.json b/settings/l10n/uk.json index f88a1c29edc..693c051ef7c 100644 --- a/settings/l10n/uk.json +++ b/settings/l10n/uk.json @@ -74,6 +74,7 @@ "Strong password" : "Надійний пароль", "Valid until {date}" : "Дійсно до {date}", "Delete" : "Видалити", + "An error occurred. Please upload an ASCII-encoded PEM certificate." : "Виникла помилка. Будь ласка вивантажте PEM сертифікат в ASCII-кодуванні.", "Groups" : "Групи", "Unable to delete {objName}" : "Не вдалося видалити {objName}", "Error creating group" : "Помилка створення групи", @@ -137,6 +138,8 @@ "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" : "Увімкнути серверне шіфрування", + "Enable encryption" : "Увімкнути шифрування", + "Select default encryption module:" : "Обрати модуль шифрування за замовчуванням:", "Start migration" : "Розпочати міграцію", "This is used for sending out notifications." : "Використовується для відсилання повідомлень.", "Send mode" : "Надіслати повідомлення", diff --git a/settings/l10n/zh_CN.js b/settings/l10n/zh_CN.js index 313a118900b..c2234b882da 100644 --- a/settings/l10n/zh_CN.js +++ b/settings/l10n/zh_CN.js @@ -121,7 +121,7 @@ OC.L10N.register( "User Documentation" : "用户文档", "Admin Documentation" : "管理员文档", "Enable only for specific groups" : "仅对特定的组开放", - "Uninstall App" : "下载应用", + "Uninstall App" : "卸载应用", "Cheers!" : "干杯!", "Forum" : "论坛", "Get the apps to sync your files" : "安装应用进行文件同步", diff --git a/settings/l10n/zh_CN.json b/settings/l10n/zh_CN.json index d9ea601b66a..15517f26720 100644 --- a/settings/l10n/zh_CN.json +++ b/settings/l10n/zh_CN.json @@ -119,7 +119,7 @@ "User Documentation" : "用户文档", "Admin Documentation" : "管理员文档", "Enable only for specific groups" : "仅对特定的组开放", - "Uninstall App" : "下载应用", + "Uninstall App" : "卸载应用", "Cheers!" : "干杯!", "Forum" : "论坛", "Get the apps to sync your files" : "安装应用进行文件同步", diff --git a/settings/templates/apps.php b/settings/templates/apps.php index 6bbde71df97..0904f31df4d 100644 --- a/settings/templates/apps.php +++ b/settings/templates/apps.php @@ -31,7 +31,7 @@ script( <?php if(OC_Config::getValue('appstoreenabled', true) === true): ?> <li> - <a class="app-external" target="_blank" href="https://owncloud.org/dev"><?php p($l->t('Developer documentation'));?> …</a> + <a class="app-external" target="_blank" href="https://owncloud.org/dev"><?php p($l->t('Developer documentation'));?> ↗</a> </li> <?php endif; ?> </script> diff --git a/settings/tests/js/appsSpec.js b/settings/tests/js/appsSpec.js index 311fade2c66..60e3692def4 100644 --- a/settings/tests/js/appsSpec.js +++ b/settings/tests/js/appsSpec.js @@ -130,14 +130,26 @@ describe('OC.Settings.Apps tests', function() { apps: [ { id: 'foo', + name: 'Foo app', level: 0 }, { id: 'alpha', + name: 'Alpha app', level: 300 }, { + id: 'nolevel', + name: 'No level' + }, + { + id: 'zork', + name: 'Some famous adventure game', + level: 200 + }, + { id: 'delta', + name: 'Mathematical symbol', level: 200 } ] @@ -145,10 +157,8 @@ describe('OC.Settings.Apps tests', function() { ); var results = getResultsFromDom(); - expect(results.length).toEqual(3); - expect(results[0]).toEqual('alpha'); - expect(results[1]).toEqual('delta'); - expect(results[2]).toEqual('foo'); + expect(results.length).toEqual(5); + expect(results).toEqual(['alpha', 'delta', 'zork', 'foo', 'nolevel']); }); }); diff --git a/tests/data/desktopapp.png b/tests/data/desktopapp.png Binary files differnew file mode 100644 index 00000000000..272397c949e --- /dev/null +++ b/tests/data/desktopapp.png diff --git a/tests/data/desktopapp.svg b/tests/data/desktopapp.svg new file mode 100644 index 00000000000..d63cfef0848 --- /dev/null +++ b/tests/data/desktopapp.svg @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" xml:space="preserve" height="60" width="170" version="1.1" y="0px" x="0px" xmlns:cc="http://creativecommons.org/ns#" enable-background="new 0 0 792 612" viewBox="0 0 1346.4 475.2" xmlns:dc="http://purl.org/dc/elements/1.1/"> +<rect rx="50" ry="50" height="475.2" width="1346.4" y="-3.5527e-15" x="-2.8405e-15"/><path d="m150.48 126.72c-11.88 0-23.76 11.88-23.76 23.76v166.32l-47.52 23.76v11.88s0 11.88 11.88 11.88h356.4c11.88 0 11.88-11.88 11.88-11.88v-11.88l-47.52-23.76v-166.32c0-11.88-11.88-23.76-23.76-23.76zm0 23.667h237.6v142.65h-237.6z" fill="#fff"/><text style="word-spacing:0px;letter-spacing:0px" xml:space="preserve" font-size="316.8px" y="239.58" x="451.44" font-family="Sans" line-height="125%" fill="#ffffff"><tspan font-size="126.72px" font-weight="600" y="239.58" x="451.44" font-family="FreeSans" fill="#ffffff">Desktop app</tspan></text> +<text style="word-spacing:0px;letter-spacing:0px" xml:space="preserve" font-size="316.8px" y="342.54001" x="493.01996" font-family="Sans" line-height="125%" fill="#ffffff"><tspan y="342.54001" x="493.01996" font-size="71.28px" font-family="FreeSans" fill="#ffffff">Windows, OS X, Linux</tspan></text> +</svg> diff --git a/tests/data/logo-wide.png b/tests/data/logo-wide.png Binary files differdeleted file mode 100644 index 648cb7e6156..00000000000 --- a/tests/data/logo-wide.png +++ /dev/null diff --git a/tests/data/logo-wide.svg b/tests/data/logo-wide.svg deleted file mode 100644 index 73b37cc7aaa..00000000000 --- a/tests/data/logo-wide.svg +++ /dev/null @@ -1,875 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" standalone="no"?> -<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948) --> - -<svg - xmlns:dc="http://purl.org/dc/elements/1.1/" - xmlns:cc="http://creativecommons.org/ns#" - xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" - xmlns:svg="http://www.w3.org/2000/svg" - xmlns="http://www.w3.org/2000/svg" - xmlns:xlink="http://www.w3.org/1999/xlink" - xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" - xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" - version="1.1" - id="Layer_1" - x="0px" - y="0px" - width="140" - height="32" - viewBox="0 0 139.99999 32" - enable-background="new 0 0 595.275 311.111" - xml:space="preserve" - inkscape:version="0.48.1 r9760" - sodipodi:docname="logo-wide.svg"><metadata - id="metadata327"><rdf:RDF><cc:Work - rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type - rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title /></cc:Work></rdf:RDF></metadata><defs - id="defs325"><linearGradient - inkscape:collect="always" - xlink:href="#SVGID_1_" - id="linearGradient3353" - gradientUnits="userSpaceOnUse" - x1="288.49411" - y1="55.888199" - x2="288.49411" - y2="339.22189" /><linearGradient - inkscape:collect="always" - xlink:href="#SVGID_2_" - id="linearGradient3355" - gradientUnits="userSpaceOnUse" - x1="251.2114" - y1="55.888199" - x2="251.2114" - y2="339.22159" /><linearGradient - inkscape:collect="always" - xlink:href="#SVGID_3_" - id="linearGradient3357" - gradientUnits="userSpaceOnUse" - x1="293.22461" - y1="55.888199" - x2="293.22461" - y2="339.22171" /><linearGradient - inkscape:collect="always" - xlink:href="#SVGID_4_" - id="linearGradient3359" - gradientUnits="userSpaceOnUse" - x1="375.33401" - y1="55.888199" - x2="375.33401" - y2="339.22159" /><linearGradient - inkscape:collect="always" - xlink:href="#SVGID_5_" - id="linearGradient3361" - gradientUnits="userSpaceOnUse" - x1="334.49411" - y1="55.888199" - x2="334.49411" - y2="339.22159" /><linearGradient - inkscape:collect="always" - xlink:href="#SVGID_6_" - id="linearGradient3363" - gradientUnits="userSpaceOnUse" - x1="458.42679" - y1="55.8867" - x2="458.42679" - y2="339.2236" /><linearGradient - inkscape:collect="always" - xlink:href="#SVGID_7_" - id="linearGradient3365" - gradientUnits="userSpaceOnUse" - x1="413.16309" - y1="55.888199" - x2="413.16309" - y2="339.22131" /><linearGradient - inkscape:collect="always" - xlink:href="#SVGID_8_" - id="linearGradient3367" - gradientUnits="userSpaceOnUse" - x1="290.76169" - y1="55.8867" - x2="290.76169" - y2="339.2236" /><linearGradient - inkscape:collect="always" - xlink:href="#SVGID_9_" - id="linearGradient3369" - gradientUnits="userSpaceOnUse" - x1="346.77341" - y1="55.888199" - x2="346.77341" - y2="339.22119" /> - <linearGradient - y2="339.22189" - x2="288.49411" - y1="55.888199" - x1="288.49411" - gradientUnits="userSpaceOnUse" - id="SVGID_1_"> - <stop - id="stop261" - style="stop-color:#BED5E1" - offset="0" /> - <stop - id="stop263" - style="stop-color:#567B8F" - offset="1" /> - </linearGradient> - - <linearGradient - y2="339.22159" - x2="251.2114" - y1="55.888199" - x1="251.2114" - gradientUnits="userSpaceOnUse" - id="SVGID_2_"> - <stop - id="stop268" - style="stop-color:#BED5E1" - offset="0" /> - <stop - id="stop270" - style="stop-color:#567B8F" - offset="1" /> - </linearGradient> - - <linearGradient - y2="339.22171" - x2="293.22461" - y1="55.888199" - x1="293.22461" - gradientUnits="userSpaceOnUse" - id="SVGID_3_"> - <stop - id="stop275" - style="stop-color:#BED5E1" - offset="0" /> - <stop - id="stop277" - style="stop-color:#567B8F" - offset="1" /> - </linearGradient> - - <linearGradient - y2="339.22159" - x2="375.33401" - y1="55.888199" - x1="375.33401" - gradientUnits="userSpaceOnUse" - id="SVGID_4_"> - <stop - id="stop282" - style="stop-color:#BED5E1" - offset="0" /> - <stop - id="stop284" - style="stop-color:#567B8F" - offset="1" /> - </linearGradient> - - <linearGradient - y2="339.22159" - x2="334.49411" - y1="55.888199" - x1="334.49411" - gradientUnits="userSpaceOnUse" - id="SVGID_5_"> - <stop - id="stop289" - style="stop-color:#BED5E1" - offset="0" /> - <stop - id="stop291" - style="stop-color:#567B8F" - offset="1" /> - </linearGradient> - - <linearGradient - y2="339.2236" - x2="458.42679" - y1="55.8867" - x1="458.42679" - gradientUnits="userSpaceOnUse" - id="SVGID_6_"> - <stop - id="stop296" - style="stop-color:#BED5E1" - offset="0" /> - <stop - id="stop298" - style="stop-color:#567B8F" - offset="1" /> - </linearGradient> - - <linearGradient - y2="339.22131" - x2="413.16309" - y1="55.888199" - x1="413.16309" - gradientUnits="userSpaceOnUse" - id="SVGID_7_"> - <stop - id="stop303" - style="stop-color:#BED5E1" - offset="0" /> - <stop - id="stop305" - style="stop-color:#567B8F" - offset="1" /> - </linearGradient> - - <linearGradient - y2="339.2236" - x2="290.76169" - y1="55.8867" - x1="290.76169" - gradientUnits="userSpaceOnUse" - id="SVGID_8_"> - <stop - id="stop310" - style="stop-color:#BED5E1" - offset="0" /> - <stop - id="stop312" - style="stop-color:#567B8F" - offset="1" /> - </linearGradient> - - <linearGradient - y2="339.22119" - x2="346.77341" - y1="55.888199" - x1="346.77341" - gradientUnits="userSpaceOnUse" - id="SVGID_9_"> - <stop - id="stop317" - style="stop-color:#BED5E1" - offset="0" /> - <stop - id="stop319" - style="stop-color:#567B8F" - offset="1" /> - </linearGradient> - -</defs><sodipodi:namedview - pagecolor="#ffffff" - bordercolor="#666666" - borderopacity="1" - objecttolerance="10" - gridtolerance="10" - guidetolerance="10" - inkscape:pageopacity="0" - inkscape:pageshadow="2" - inkscape:window-width="1280" - inkscape:window-height="776" - id="namedview323" - showgrid="false" - inkscape:zoom="3.4068286" - inkscape:cx="79.998916" - inkscape:cy="32.107419" - inkscape:window-x="0" - inkscape:window-y="24" - inkscape:window-maximized="1" - inkscape:current-layer="Layer_1" - showguides="true" - inkscape:guide-bbox="true" /> -<pattern - y="565.223" - width="69" - height="69" - patternUnits="userSpaceOnUse" - id="Polka_Dot_Pattern" - viewBox="2.125 -70.896 69 69" - overflow="visible"> - <g - id="g4"> - <polygon - fill="none" - points="71.125,-1.896 2.125,-1.896 2.125,-70.896 71.125,-70.896 " - id="polygon6" /> - <polygon - fill="#F6BB60" - points="71.125,-1.896 2.125,-1.896 2.125,-70.896 71.125,-70.896 " - id="polygon8" /> - <g - id="g10"> - <path - fill="#FFFFFF" - d="M61.772-71.653c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128 c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.01,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161 c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631 c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45 c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221 c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337 c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207 c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169 c-0.021,0.011-0.021-0.005-0.03-0.025" - id="path12" /> - <path - fill="#FFFFFF" - d="M54.105-71.653c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128 c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.01,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161 c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631 c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45 c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221 c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337 c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207 c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169 c-0.021,0.011-0.021-0.005-0.03-0.025" - id="path14" /> - <path - fill="#FFFFFF" - d="M46.439-71.653c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128 c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.01,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161 c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631 c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45 c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221 c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337 c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207 c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169 c-0.021,0.011-0.021-0.005-0.03-0.025" - id="path16" /> - <path - fill="#FFFFFF" - d="M38.772-71.653c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128 c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.01,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161 c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631 c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45 c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221 c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337 c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207 c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169 c-0.021,0.011-0.021-0.005-0.03-0.025" - id="path18" /> - <path - fill="#FFFFFF" - d="M31.105-71.653c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128 c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.01,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161 c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631 c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45 c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221 c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337 c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207 c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169 c-0.021,0.011-0.021-0.005-0.03-0.025" - id="path20" /> - <path - fill="#FFFFFF" - d="M23.439-71.653c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128 c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.01,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161 c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631 c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45 c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221 c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337 c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207 c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169 c-0.021,0.011-0.021-0.005-0.03-0.025" - id="path22" /> - <path - fill="#FFFFFF" - d="M15.772-71.653c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128 c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.01,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161 c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631 c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45 c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221 c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337 c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207 c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169 c-0.021,0.011-0.021-0.005-0.03-0.025" - id="path24" /> - <path - fill="#FFFFFF" - d="M8.105-71.653c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128 c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.01,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161 c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631 c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45 c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221 c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337 c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207 c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169 c-0.021,0.011-0.021-0.005-0.03-0.025" - id="path26" /> - <path - fill="#FFFFFF" - d="M0.439-71.653c0.018,0.072,0.008,0.127-0.026,0.19C0.361-71.362,0.3-71.4,0.248-71.335 c-0.051,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.01,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161 c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631 c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45 c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.07,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221 c0.038-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.051-0.12-0.064-0.187c-0.021-0.114,0.002-0.224,0-0.337 c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207 c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.215,0.124-0.215,0.224c0.002,0.115,0.005,0.051,0.012,0.169 c-0.021,0.011-0.021-0.005-0.03-0.025" - id="path28" /> - </g> - <g - id="g30"> - <path - fill="#FFFFFF" - d="M69.439-71.653c0.018,0.072,0.008,0.127-0.026,0.19c-0.052,0.101-0.113,0.062-0.165,0.128 c-0.051,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.01,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161 c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631 c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45 c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.07,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221 c0.038-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.051-0.12-0.064-0.187c-0.021-0.114,0.002-0.224,0-0.337 c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207 c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.215,0.124-0.215,0.224c0.002,0.115,0.005,0.051,0.012,0.169 c-0.021,0.011-0.021-0.005-0.03-0.025" - id="path32" /> - </g> - <path - fill="#FFFFFF" - d="M0.495-71.653c0.018,0.072,0.008,0.127-0.026,0.19c-0.052,0.101-0.113,0.062-0.165,0.128 c-0.051,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.01,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161 c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631 c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45 c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.07,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221 c0.038-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.051-0.12-0.064-0.187c-0.021-0.114,0.002-0.224,0-0.337 c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207 c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.215,0.124-0.215,0.224C0.5-71.68,0.503-71.744,0.51-71.626 c-0.021,0.011-0.021-0.005-0.03-0.025" - id="path34" /> - <g - id="g36"> - <g - id="g38"> - <path - fill="#FFFFFF" - d="M69.439-64.001c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128 c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.01,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161 c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631 c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45 c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221 c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337 c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207 c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169 c-0.021,0.011-0.021-0.005-0.03-0.025" - id="path40" /> - <path - fill="#FFFFFF" - d="M61.778-64.001c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128 c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161 c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631 c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45 c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221 c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337 c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207 c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169 c-0.021,0.011-0.021-0.005-0.03-0.025" - id="path42" /> - <path - fill="#FFFFFF" - d="M54.118-64.001c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128 c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161 c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631 c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45 c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221 c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337 c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207 c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169 c-0.021,0.011-0.021-0.005-0.03-0.025" - id="path44" /> - <path - fill="#FFFFFF" - d="M46.458-64.001c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128 c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161 c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631 c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45 c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221 c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337 c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207 c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169 c-0.021,0.011-0.021-0.005-0.03-0.025" - id="path46" /> - <path - fill="#FFFFFF" - d="M38.797-64.001c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128 c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161 c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631 c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45 c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221 c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337 c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207 c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169 c-0.021,0.011-0.021-0.005-0.03-0.025" - id="path48" /> - <path - fill="#FFFFFF" - d="M31.137-64.001c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128 c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161 c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631 c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45 c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221 c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337 c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207 c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169 c-0.021,0.011-0.021-0.005-0.03-0.025" - id="path50" /> - <path - fill="#FFFFFF" - d="M23.477-64.001c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128 c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161 c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631 c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45 c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221 c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337 c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207 c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169 c-0.021,0.011-0.021-0.005-0.03-0.025" - id="path52" /> - <path - fill="#FFFFFF" - d="M15.816-64.001c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128 c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161 c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631 c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45 c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221 c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337 c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207 c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169 c-0.021,0.011-0.021-0.005-0.03-0.025" - id="path54" /> - <path - fill="#FFFFFF" - d="M8.156-64.001c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128 c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161 c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631 c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45 c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221 c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337 c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207 c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169 c-0.021,0.011-0.021-0.005-0.03-0.025" - id="path56" /> - <path - fill="#FFFFFF" - d="M0.495-64.001c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128 c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.01,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161 c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631 c0.177,0.042,0.384-0.104,0.543-0.143C2-61.45,2.217-61.397,2.391-61.46c0.222-0.079,0.127-0.337,0.288-0.45 c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221 c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337 c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207 c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169 c-0.021,0.011-0.021-0.005-0.03-0.025" - id="path58" /> - </g> - <g - id="g60"> - <path - fill="#FFFFFF" - d="M69.439-56.348c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128 c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.01,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161 c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631 c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45 c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221 c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337 c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207 c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169 c-0.021,0.011-0.021-0.005-0.03-0.025" - id="path62" /> - <path - fill="#FFFFFF" - d="M61.778-56.348c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128 c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161 c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631 c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45 c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221 c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337 c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207 c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169 c-0.021,0.011-0.021-0.005-0.03-0.025" - id="path64" /> - <path - fill="#FFFFFF" - d="M54.118-56.348c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128 c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161 c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631 c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45 c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221 c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337 c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207 c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169 c-0.021,0.011-0.021-0.005-0.03-0.025" - id="path66" /> - <path - fill="#FFFFFF" - d="M46.458-56.348c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128 c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161 c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631 c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45 c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221 c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337 c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207 c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169 c-0.021,0.011-0.021-0.005-0.03-0.025" - id="path68" /> - <path - fill="#FFFFFF" - d="M38.797-56.348c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128 c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161 c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631 c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45 c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221 c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337 c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207 c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169 c-0.021,0.011-0.021-0.005-0.03-0.025" - id="path70" /> - <path - fill="#FFFFFF" - d="M31.137-56.348c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128 c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161 c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631 c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45 c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221 c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337 c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207 c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169 c-0.021,0.011-0.021-0.005-0.03-0.025" - id="path72" /> - <path - fill="#FFFFFF" - d="M23.477-56.348c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128 c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161 c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631 c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45 c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221 c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337 c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207 c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169 c-0.021,0.011-0.021-0.005-0.03-0.025" - id="path74" /> - <path - fill="#FFFFFF" - d="M15.816-56.348c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128 c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161 c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631 c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45 c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221 c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337 c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207 c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169 c-0.021,0.011-0.021-0.005-0.03-0.025" - id="path76" /> - <path - fill="#FFFFFF" - d="M8.156-56.348c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128 c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161 c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631 c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45 c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221 c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337 c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207 c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169 c-0.021,0.011-0.021-0.005-0.03-0.025" - id="path78" /> - <path - fill="#FFFFFF" - d="M0.495-56.348c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128 c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.01,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161 c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631 c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45 c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221 c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337 c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207 c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224C0.5-56.374,0.503-56.438,0.51-56.32 c-0.021,0.011-0.021-0.005-0.03-0.025" - id="path80" /> - </g> - <g - id="g82"> - <path - fill="#FFFFFF" - d="M69.439-48.695c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128 c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.01,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161 c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631 c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45 c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221 c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337 c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207 c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169 c-0.021,0.011-0.021-0.005-0.03-0.025" - id="path84" /> - <path - fill="#FFFFFF" - d="M61.778-48.695c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128 c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161 c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631 c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45 c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221 c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337 c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207 c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169 c-0.021,0.011-0.021-0.005-0.03-0.025" - id="path86" /> - <path - fill="#FFFFFF" - d="M54.118-48.695c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128 c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161 c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631 c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45 c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221 c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337 c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207 c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169 c-0.021,0.011-0.021-0.005-0.03-0.025" - id="path88" /> - <path - fill="#FFFFFF" - d="M46.458-48.695c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128 c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161 c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631 c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45 c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221 c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337 c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207 c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169 c-0.021,0.011-0.021-0.005-0.03-0.025" - id="path90" /> - <path - fill="#FFFFFF" - d="M38.797-48.695c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128 c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161 c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631 c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45 c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221 c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337 c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207 c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169 c-0.021,0.011-0.021-0.005-0.03-0.025" - id="path92" /> - <path - fill="#FFFFFF" - d="M31.137-48.695c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128 c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161 c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631 c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45 c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221 c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337 c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207 c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169 c-0.021,0.011-0.021-0.005-0.03-0.025" - id="path94" /> - <path - fill="#FFFFFF" - d="M23.477-48.695c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128 c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161 c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631 c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45 c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221 c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337 c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207 c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169 c-0.021,0.011-0.021-0.005-0.03-0.025" - id="path96" /> - <path - fill="#FFFFFF" - d="M15.816-48.695c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128 c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161 c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631 c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45 c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221 c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337 c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207 c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169 c-0.021,0.011-0.021-0.005-0.03-0.025" - id="path98" /> - <path - fill="#FFFFFF" - d="M8.156-48.695c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128 c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161 c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631 c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45 c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221 c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337 c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207 c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169 c-0.021,0.011-0.021-0.005-0.03-0.025" - id="path100" /> - <path - fill="#FFFFFF" - d="M0.495-48.695c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128 c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.01,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161 c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631 c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45 c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221 c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337 c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207 c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169 c-0.021,0.011-0.021-0.005-0.03-0.025" - id="path102" /> - </g> - <g - id="g104"> - <path - fill="#FFFFFF" - d="M69.439-41.042c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128 c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.01,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161 c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631 c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45 c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221 c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337 c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207 c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169 c-0.021,0.011-0.021-0.005-0.03-0.025" - id="path106" /> - <path - fill="#FFFFFF" - d="M61.778-41.042c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128 c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161 c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631 c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45 c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221 c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337 c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207 c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169 c-0.021,0.011-0.021-0.005-0.03-0.025" - id="path108" /> - <path - fill="#FFFFFF" - d="M54.118-41.042c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128 c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161 c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631 c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45 c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221 c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337 c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207 c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169 c-0.021,0.011-0.021-0.005-0.03-0.025" - id="path110" /> - <path - fill="#FFFFFF" - d="M46.458-41.042c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128 c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161 c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631 c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45 c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221 c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337 c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207 c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169 c-0.021,0.011-0.021-0.005-0.03-0.025" - id="path112" /> - <path - fill="#FFFFFF" - d="M38.797-41.042c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128 c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161 c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631 c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45 c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221 c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337 c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207 c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169 c-0.021,0.011-0.021-0.005-0.03-0.025" - id="path114" /> - <path - fill="#FFFFFF" - d="M31.137-41.042c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128 c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161 c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631 c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45 c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221 c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337 c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207 c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169 c-0.021,0.011-0.021-0.005-0.03-0.025" - id="path116" /> - <path - fill="#FFFFFF" - d="M23.477-41.042c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128 c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161 c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631 c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45 c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221 c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337 c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207 c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169 c-0.021,0.011-0.021-0.005-0.03-0.025" - id="path118" /> - <path - fill="#FFFFFF" - d="M15.816-41.042c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128 c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161 c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631 c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45 c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221 c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337 c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207 c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169 c-0.021,0.011-0.021-0.005-0.03-0.025" - id="path120" /> - <path - fill="#FFFFFF" - d="M8.156-41.042c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128 c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161 c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631 c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45 c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221 c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337 c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207 c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169 C8.15-41.004,8.149-41.02,8.14-41.04" - id="path122" /> - <path - fill="#FFFFFF" - d="M0.495-41.042c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128 c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.01,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161 c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631 c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45 c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221 c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337 c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207 c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169 c-0.021,0.011-0.021-0.005-0.03-0.025" - id="path124" /> - </g> - <g - id="g126"> - <path - fill="#FFFFFF" - d="M69.439-33.39c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128 c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.01,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161 c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631 c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45 c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221 c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337 c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207 c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169 c-0.021,0.011-0.021-0.005-0.03-0.025" - id="path128" /> - <path - fill="#FFFFFF" - d="M61.778-33.39c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128 c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161 c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631 c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45 c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221 c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337 c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207 c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169 c-0.021,0.011-0.021-0.005-0.03-0.025" - id="path130" /> - <path - fill="#FFFFFF" - d="M54.118-33.39c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128 c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161 c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631 c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45 c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221 c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337 c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207 c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169 c-0.021,0.011-0.021-0.005-0.03-0.025" - id="path132" /> - <path - fill="#FFFFFF" - d="M46.458-33.39c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128 c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161 c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631 c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45 c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221 c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337 c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207 c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169 c-0.021,0.011-0.021-0.005-0.03-0.025" - id="path134" /> - <path - fill="#FFFFFF" - d="M38.797-33.39c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128 c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161 c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631 c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45 c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221 c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337 c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207 c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169 c-0.021,0.011-0.021-0.005-0.03-0.025" - id="path136" /> - <path - fill="#FFFFFF" - d="M31.137-33.39c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128 c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161 c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631 c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45 c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221 c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337 c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207 c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169 c-0.021,0.011-0.021-0.005-0.03-0.025" - id="path138" /> - <path - fill="#FFFFFF" - d="M23.477-33.39c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128 c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161 c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631 c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45 c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221 c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337 c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207 c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169 c-0.021,0.011-0.021-0.005-0.03-0.025" - id="path140" /> - <path - fill="#FFFFFF" - d="M15.816-33.39c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128 c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161 c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631 c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45 c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221 c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337 c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207 c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169 c-0.021,0.011-0.021-0.005-0.03-0.025" - id="path142" /> - <path - fill="#FFFFFF" - d="M8.156-33.39c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128 c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161 c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631 c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45 c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221 c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337 c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207 c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169 c-0.021,0.011-0.021-0.005-0.03-0.025" - id="path144" /> - <path - fill="#FFFFFF" - d="M0.495-33.39c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128 c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.01,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161 c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631 c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45 c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221 c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337 c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207 c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224C0.5-33.416,0.503-33.48,0.51-33.362 c-0.021,0.011-0.021-0.005-0.03-0.025" - id="path146" /> - </g> - <g - id="g148"> - <path - fill="#FFFFFF" - d="M69.439-25.736c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128 c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.01,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161 c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631 c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45 c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221 c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337 c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207 c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169 c-0.021,0.011-0.021-0.005-0.03-0.025" - id="path150" /> - <path - fill="#FFFFFF" - d="M61.778-25.736c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128 c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161 c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631 c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45 c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221 c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337 c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207 c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169 c-0.021,0.011-0.021-0.005-0.03-0.025" - id="path152" /> - <path - fill="#FFFFFF" - d="M54.118-25.736c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128 c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161 c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631 c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45 c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221 c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337 c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207 c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169 c-0.021,0.011-0.021-0.005-0.03-0.025" - id="path154" /> - <path - fill="#FFFFFF" - d="M46.458-25.736c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128 c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161 c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631 c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45 c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221 c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337 c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207 c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169 c-0.021,0.011-0.021-0.005-0.03-0.025" - id="path156" /> - <path - fill="#FFFFFF" - d="M38.797-25.736c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128 c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161 c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631 c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45 c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221 c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337 c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207 c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169 c-0.021,0.011-0.021-0.005-0.03-0.025" - id="path158" /> - <path - fill="#FFFFFF" - d="M31.137-25.736c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128 c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161 c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631 c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45 c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221 c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337 c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207 c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169 c-0.021,0.011-0.021-0.005-0.03-0.025" - id="path160" /> - <path - fill="#FFFFFF" - d="M23.477-25.736c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128 c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161 c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631 c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45 c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221 c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337 c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207 c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169 c-0.021,0.011-0.021-0.005-0.03-0.025" - id="path162" /> - <path - fill="#FFFFFF" - d="M15.816-25.736c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128 c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161 c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631 c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45 c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221 c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337 c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207 c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169 c-0.021,0.011-0.021-0.005-0.03-0.025" - id="path164" /> - <path - fill="#FFFFFF" - d="M8.156-25.736c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128 c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161 c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631 c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45 c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221 c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337 c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207 c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169 c-0.021,0.011-0.021-0.005-0.03-0.025" - id="path166" /> - <path - fill="#FFFFFF" - d="M0.495-25.736c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128 c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.01,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161 c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631 c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45 c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221 c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337 c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207 c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169 c-0.021,0.011-0.021-0.005-0.03-0.025" - id="path168" /> - </g> - <g - id="g170"> - <path - fill="#FFFFFF" - d="M69.439-18.084c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128 c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.01,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161 c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631 c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45 c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221 c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337 c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207 c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169 c-0.021,0.011-0.021-0.005-0.03-0.025" - id="path172" /> - <path - fill="#FFFFFF" - d="M61.778-18.084c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128 c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161 c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631 c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45 c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221 c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337 c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207 c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169 c-0.021,0.011-0.021-0.005-0.03-0.025" - id="path174" /> - <path - fill="#FFFFFF" - d="M54.118-18.084c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128 c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161 c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631 c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45 c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221 c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337 c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207 c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169 c-0.021,0.011-0.021-0.005-0.03-0.025" - id="path176" /> - <path - fill="#FFFFFF" - d="M46.458-18.084c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128 c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161 c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631 c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45 c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221 c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337 c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207 c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169 c-0.021,0.011-0.021-0.005-0.03-0.025" - id="path178" /> - <path - fill="#FFFFFF" - d="M38.797-18.084c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128 c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161 c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631 c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45 c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221 c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337 c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207 c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169 c-0.021,0.011-0.021-0.005-0.03-0.025" - id="path180" /> - <path - fill="#FFFFFF" - d="M31.137-18.084c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128 c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161 c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631 c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45 c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221 c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337 c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207 c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169 c-0.021,0.011-0.021-0.005-0.03-0.025" - id="path182" /> - <path - fill="#FFFFFF" - d="M23.477-18.084c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128 c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161 c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631 c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45 c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221 c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337 c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207 c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169 c-0.021,0.011-0.021-0.005-0.03-0.025" - id="path184" /> - <path - fill="#FFFFFF" - d="M15.816-18.084c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128 c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161 c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631 c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45 c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221 c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337 c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207 c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169 c-0.021,0.011-0.021-0.005-0.03-0.025" - id="path186" /> - <path - fill="#FFFFFF" - d="M8.156-18.084c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128 c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161 c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631 c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45 c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221 c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337 c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207 c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169 c-0.021,0.011-0.021-0.005-0.03-0.025" - id="path188" /> - <path - fill="#FFFFFF" - d="M0.495-18.084c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128 c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.01,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161 c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631 c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45 c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221 c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337 c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207 c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224C0.5-18.11,0.503-18.175,0.51-18.057 c-0.021,0.011-0.021-0.005-0.03-0.025" - id="path190" /> - </g> - <g - id="g192"> - <path - fill="#FFFFFF" - d="M69.439-10.431c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128 c-0.05,0.062-0.099,0.276-0.079,0.362C69-9.692,69.159-9.523,69.154-9.4c-0.002,0.05-0.041,0.105-0.045,0.161 c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631 c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45 c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221 c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337 c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207 c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169 c-0.021,0.011-0.021-0.005-0.03-0.025" - id="path194" /> - <path - fill="#FFFFFF" - d="M61.778-10.431c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128 c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161 c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631 c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45 c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221 c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337 c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207 c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169 c-0.021,0.011-0.021-0.005-0.03-0.025" - id="path196" /> - <path - fill="#FFFFFF" - d="M54.118-10.431c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128 c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161 c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631 c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45 c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221 c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337 c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207 c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169 c-0.021,0.011-0.021-0.005-0.03-0.025" - id="path198" /> - <path - fill="#FFFFFF" - d="M46.458-10.431c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128 c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161 c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631 c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45 c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221 c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337 c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207 c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169 c-0.021,0.011-0.021-0.005-0.03-0.025" - id="path200" /> - <path - fill="#FFFFFF" - d="M38.797-10.431c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128 c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161 c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631 c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45 c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221 c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337 c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207 c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169 c-0.021,0.011-0.021-0.005-0.03-0.025" - id="path202" /> - <path - fill="#FFFFFF" - d="M31.137-10.431c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128 c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161 c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631 c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45 c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221 c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337 c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207 c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169 c-0.021,0.011-0.021-0.005-0.03-0.025" - id="path204" /> - <path - fill="#FFFFFF" - d="M23.477-10.431c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128 c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161 c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631 c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45 c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221 c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337 c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207 c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169 c-0.021,0.011-0.021-0.005-0.03-0.025" - id="path206" /> - <path - fill="#FFFFFF" - d="M15.816-10.431c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128 c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.009,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161 c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631 c0.177,0.042,0.384-0.104,0.543-0.143c0.18-0.043,0.397,0.01,0.571-0.053C17.933-7.969,17.839-8.227,18-8.34 c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221 c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337 c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207 c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169 c-0.021,0.011-0.021-0.005-0.03-0.025" - id="path208" /> - <path - fill="#FFFFFF" - d="M8.156-10.431c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128 C7.915-10.05,7.866-9.836,7.886-9.75C7.717-9.692,7.876-9.523,7.871-9.4C7.868-9.351,7.83-9.295,7.826-9.239 c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631 C9.114-7.652,9.321-7.799,9.48-7.837c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45 c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221 c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337 c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207 c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169 c-0.021,0.011-0.021-0.005-0.03-0.025" - id="path210" /> - <path - fill="#FFFFFF" - d="M0.495-10.431c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128 C0.254-10.05,0.205-9.836,0.225-9.75C0.056-9.692,0.215-9.523,0.21-9.4c-0.002,0.05-0.041,0.105-0.045,0.161 c-0.01,0.119,0.017,0.266,0.068,0.37C0.33-8.671,0.501-8.456,0.668-8.325c0.19,0.148,0.365,0.572,0.608,0.631 C1.454-7.652,1.66-7.799,1.819-7.837C2-7.88,2.217-7.827,2.391-7.89c0.222-0.079,0.127-0.337,0.288-0.45 c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46C3.477-8.933,3.471-8.995,3.5-9.071 c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337 c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207 c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169 c-0.021,0.011-0.021-0.005-0.03-0.025" - id="path212" /> - </g> - </g> - <g - id="g214"> - <path - fill="#FFFFFF" - d="M69.439-2.778c0.018,0.072,0.008,0.127-0.026,0.19C69.361-2.487,69.3-2.525,69.248-2.46 c-0.051,0.062-0.099,0.276-0.079,0.362C69-2.04,69.159-1.871,69.154-1.748c-0.002,0.05-0.041,0.105-0.045,0.161 c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631 C70.397,0,70.604-0.146,70.763-0.185c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45 c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.07,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221 c0.038-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.051-0.12-0.064-0.187c-0.021-0.114,0.002-0.224,0-0.337 c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207 c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.215,0.124-0.215,0.224c0.002,0.115,0.005,0.051,0.012,0.169 c-0.021,0.011-0.021-0.005-0.03-0.025" - id="path216" /> - <path - fill="#FFFFFF" - d="M61.778-2.778c0.018,0.072,0.007,0.127-0.026,0.19C61.7-2.487,61.64-2.525,61.587-2.46 c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.01,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161 c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631 C62.737,0,62.943-0.146,63.103-0.185c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45 c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221 c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337 c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207 c-0.17,0.088-0.139,0.166-0.318,0.224C61.915-3.117,61.78-3.02,61.781-2.92c0.001,0.115,0.005,0.051,0.012,0.169 c-0.021,0.011-0.021-0.005-0.03-0.025" - id="path218" /> - <path - fill="#FFFFFF" - d="M54.118-2.778c0.018,0.072,0.007,0.127-0.026,0.19C54.04-2.487,53.98-2.525,53.927-2.46 c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.01,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161 c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631 C55.077,0,55.283-0.146,55.442-0.185c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45 c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221 c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337 c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207 c-0.17,0.088-0.139,0.166-0.318,0.224C54.255-3.117,54.12-3.02,54.121-2.92c0.001,0.115,0.005,0.051,0.012,0.169 c-0.021,0.011-0.021-0.005-0.03-0.025" - id="path220" /> - <path - fill="#FFFFFF" - d="M46.458-2.778c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128 c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.01,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161 c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631 C47.416,0,47.623-0.146,47.782-0.185c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45 c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221 c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337 c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207 c-0.17,0.088-0.139,0.166-0.318,0.224C46.594-3.117,46.459-3.02,46.46-2.92c0.001,0.115,0.005,0.051,0.012,0.169 c-0.021,0.011-0.021-0.005-0.03-0.025" - id="path222" /> - <path - fill="#FFFFFF" - d="M38.797-2.778c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128 c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.01,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161 c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631 C39.756,0,39.962-0.146,40.122-0.185c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45 c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221 c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337 c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207 c-0.17,0.088-0.139,0.166-0.318,0.224C38.934-3.117,38.799-3.02,38.8-2.92c0.001,0.115,0.005,0.051,0.012,0.169 c-0.021,0.011-0.021-0.005-0.03-0.025" - id="path224" /> - <path - fill="#FFFFFF" - d="M31.137-2.778c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128 c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.01,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161 c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631 C32.095,0,32.302-0.146,32.461-0.185c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45 c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221 c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337 c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207 c-0.17,0.088-0.139,0.166-0.318,0.224C31.273-3.117,31.139-3.02,31.14-2.92c0.001,0.115,0.005,0.051,0.012,0.169 c-0.021,0.011-0.021-0.005-0.03-0.025" - id="path226" /> - <path - fill="#FFFFFF" - d="M23.477-2.778c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128 c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.01,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161 c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631 C24.435,0,24.642-0.146,24.801-0.185c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45 c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221 c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337 c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207 c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169 c-0.021,0.011-0.021-0.005-0.03-0.025" - id="path228" /> - <path - fill="#FFFFFF" - d="M15.816-2.778c0.018,0.072,0.007,0.127-0.026,0.19c-0.053,0.101-0.112,0.062-0.165,0.128 c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.01,0.227-0.015,0.35c-0.002,0.05-0.041,0.105-0.045,0.161 c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631 C16.774,0,16.981-0.146,17.14-0.185c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45 c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221 c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337 c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789c-0.18,0.034-0.287,0.126-0.442,0.207 c-0.17,0.088-0.139,0.166-0.318,0.224c-0.081,0.026-0.216,0.124-0.215,0.224c0.001,0.115,0.005,0.051,0.012,0.169 C15.81-2.74,15.809-2.756,15.8-2.776" - id="path230" /> - <path - fill="#FFFFFF" - d="M8.156-2.778c0.018,0.072,0.007,0.127-0.026,0.19C8.077-2.487,8.018-2.525,7.965-2.46 c-0.05,0.062-0.099,0.276-0.079,0.362c-0.169,0.058-0.01,0.227-0.015,0.35C7.868-1.698,7.83-1.643,7.826-1.587 c-0.01,0.119,0.017,0.266,0.068,0.37c0.097,0.198,0.268,0.413,0.435,0.544c0.19,0.148,0.365,0.572,0.608,0.631 C9.114,0,9.321-0.146,9.48-0.185c0.18-0.043,0.397,0.01,0.571-0.053c0.222-0.079,0.127-0.337,0.288-0.45 c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.069,0.339-0.263,0.376-0.46c0.016-0.082,0.01-0.145,0.039-0.221 c0.039-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.052-0.12-0.064-0.187c-0.022-0.114,0.002-0.224,0-0.337 c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789C8.954-3.54,8.847-3.448,8.692-3.367 c-0.17,0.088-0.139,0.166-0.318,0.224C8.292-3.117,8.158-3.02,8.159-2.92C8.16-2.805,8.164-2.869,8.17-2.751 C8.15-2.74,8.149-2.756,8.14-2.776" - id="path232" /> - <path - fill="#FFFFFF" - d="M0.495-2.778c0.018,0.072,0.008,0.127-0.026,0.19C0.417-2.487,0.356-2.525,0.304-2.46 C0.253-2.397,0.205-2.184,0.225-2.098C0.056-2.04,0.215-1.871,0.21-1.748c-0.002,0.05-0.041,0.105-0.045,0.161 c-0.01,0.119,0.017,0.266,0.068,0.37C0.33-1.019,0.501-0.804,0.668-0.673c0.19,0.148,0.365,0.572,0.608,0.631 C1.454,0,1.66-0.146,1.819-0.185C2-0.228,2.217-0.175,2.391-0.237c0.222-0.079,0.127-0.337,0.288-0.45 c0.104-0.074,0.287-0.01,0.406-0.051c0.2-0.07,0.339-0.263,0.376-0.46C3.477-1.28,3.471-1.343,3.5-1.419 c0.038-0.103,0.111-0.16,0.09-0.293c-0.01-0.062-0.051-0.12-0.064-0.187c-0.021-0.114,0.002-0.224,0-0.337 c-0.003-0.2,0.017-0.379-0.078-0.55c-0.38-0.688-1.236-0.929-1.975-0.789C1.293-3.54,1.187-3.448,1.031-3.367 c-0.17,0.088-0.139,0.166-0.318,0.224C0.632-3.117,0.498-3.02,0.498-2.92C0.5-2.805,0.503-2.869,0.51-2.751 C0.489-2.74,0.488-2.756,0.479-2.776" - id="path234" /> - </g> - </g> -</pattern> - - - - - - - - - - - - -<g - style="display:inline" - id="g3154" - transform="matrix(0.21384268,0,0,0.21384268,31.655324,-22.278409)"><circle - style="fill:none;stroke:#ffffff;stroke-width:4;stroke-opacity:1" - id="circle238" - r="21.999001" - cy="225.17101" - cx="97.311996" - sodipodi:cx="97.311996" - sodipodi:cy="225.17101" - sodipodi:rx="21.999001" - sodipodi:ry="21.999001" - d="m 119.311,225.17101 c 0,12.14971 -9.84929,21.999 -21.999004,21.999 -12.149712,0 -21.999,-9.84929 -21.999,-21.999 0,-12.14972 9.849288,-21.99901 21.999,-21.99901 12.149714,0 21.999004,9.84929 21.999004,21.99901 z" /><circle - style="fill:none;stroke:#ffffff;stroke-width:4;stroke-opacity:1" - id="circle240" - r="22.000999" - cy="225.17101" - cx="364.82501" - sodipodi:cx="364.82501" - sodipodi:cy="225.17101" - sodipodi:rx="22.000999" - sodipodi:ry="22.000999" - d="m 386.82601,225.17101 c 0,12.15081 -9.85018,22.00099 -22.001,22.00099 -12.15081,0 -22.001,-9.85018 -22.001,-22.00099 0,-12.15082 9.85019,-22.001 22.001,-22.001 12.15082,0 22.001,9.85018 22.001,22.001 z" /><path - style="fill:none;stroke:#ffffff;stroke-width:4;stroke-opacity:1" - id="path242" - d="m 135.313,202.966 v 30.074 c 0,7.801 6.324,14.123 14.123,14.123 7.803,0 14.125,-6.322 14.125,-14.123 0,-0.004 0,-30.074 0,-30.074" - inkscape:connector-curvature="0" /><path - style="fill:none;stroke:#ffffff;stroke-width:4;stroke-opacity:1" - id="path244" - d="m 163.561,202.966 v 30.074 c 0,7.801 6.324,14.123 14.125,14.123 7.801,0 14.125,-6.322 14.125,-14.123 0,-0.004 0,-30.074 0,-30.074" - inkscape:connector-curvature="0" /><path - style="fill:none;stroke:#ffffff;stroke-width:4;stroke-opacity:1" - id="path246" - d="m 319.578,162.962 v 70.078 c 0,7.801 6.322,14.123 14.123,14.123" - inkscape:connector-curvature="0" /><path - style="fill:none;stroke:#ffffff;stroke-width:4;stroke-opacity:1" - id="path248" - d="m 208.317,247.169 v -22.201 c 0,-12.15 9.85,-22 22,-22 12.152,0 22.002,9.85 22.002,22 0,0.006 0,22.201 0,22.201" - inkscape:connector-curvature="0" /><path - style="fill:none;stroke:#ffffff;stroke-width:4;stroke-opacity:1" - id="path250" - d="m 401.322,202.966 v 22.205 c 0,12.148 9.85,21.998 22,21.998 12.15,0 22.002,-9.85 22.002,-21.998 0,-0.008 0,-22.205 0,-22.205" - inkscape:connector-curvature="0" /><path - style="fill:none;stroke:#ffffff;stroke-width:4;stroke-opacity:1" - id="path252" - d="m 303.146,176.839 c -19.421,0 -35.167,15.744 -35.167,35.166 0,19.422 15.746,35.164 35.167,35.164" - inkscape:connector-curvature="0" /><polyline - style="fill:none;stroke:#ffffff;stroke-width:4;stroke-opacity:1" - id="polyline254" - points="504.596,162.962 504.596,203.134 504.596,202.155 " /><path - style="fill:none;stroke:#ffffff;stroke-width:4;stroke-opacity:1" - id="path256" - d="m 490.236,247.157 c -4.275,0 -7.844,0 -7.848,0 -12.15,0 -22,-9.85 -22,-21.998 0,-12.15 9.85,-22 22,-22 l 22.207,-0.025 c 0,0 0.137,22.342 0,29.895 -0.138,7.552 -7.968,14.128 -14.359,14.128 z" - inkscape:connector-curvature="0" /></g><circle - sodipodi:ry="20.332001" - sodipodi:rx="20.332001" - sodipodi:cy="78.911003" - sodipodi:cx="288.49399" - style="fill:#ffffff;fill-opacity:1;stroke:#1d2d44;stroke-width:4;stroke-opacity:1;display:inline" - id="circle265" - r="20.332001" - cy="78.911003" - cx="288.49399" - transform="matrix(0.21384268,0,0,0.21384268,-45.328041,-8.5924791)" /><circle - sodipodi:ry="37.242001" - sodipodi:rx="37.242001" - sodipodi:cy="149.577" - sodipodi:cx="251.211" - style="fill:#ffffff;fill-opacity:1;stroke:#1d2d44;stroke-width:4;stroke-opacity:1;display:inline" - id="circle272" - r="37.242001" - cy="149.577" - cx="251.211" - transform="matrix(0.21384268,0,0,0.21384268,-45.328041,-8.5924791)" /><circle - sodipodi:ry="40.261002" - sodipodi:rx="40.261002" - sodipodi:cy="124.796" - sodipodi:cx="293.22501" - style="fill:#ffffff;fill-opacity:1;stroke:#1d2d44;stroke-width:4;stroke-opacity:1;display:inline" - id="circle279" - r="40.261002" - cy="124.796" - cx="293.22501" - transform="matrix(0.21384268,0,0,0.21384268,-45.328041,-8.5924791)" /><circle - sodipodi:ry="37.242001" - sodipodi:rx="37.242001" - sodipodi:cy="108.472" - sodipodi:cx="375.33401" - style="fill:#ffffff;fill-opacity:1;stroke:#1d2d44;stroke-width:4;stroke-opacity:1;display:inline" - id="circle286" - r="37.242001" - cy="108.472" - cx="375.33401" - transform="matrix(0.21384268,0,0,0.21384268,-45.328041,-8.5924791)" /><circle - sodipodi:ry="37.241001" - sodipodi:rx="37.241001" - sodipodi:cy="79.503998" - sodipodi:cx="334.49301" - style="fill:#ffffff;fill-opacity:1;stroke:#1d2d44;stroke-width:4;stroke-opacity:1;display:inline" - id="circle293" - r="37.241001" - cy="79.503998" - cx="334.49301" - transform="matrix(0.21384268,0,0,0.21384268,-45.328041,-8.5924791)" /><circle - sodipodi:ry="40.261002" - sodipodi:rx="40.261002" - sodipodi:cy="147.563" - sodipodi:cx="413.16299" - style="fill:#ffffff;fill-opacity:1;stroke:#1d2d44;stroke-width:4;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;display:inline" - id="circle307" - r="40.261002" - cy="147.563" - cx="413.16299" - transform="matrix(0.21384268,0,0,0.21384268,-45.328041,-8.5924791)" /><circle - sodipodi:ry="21.299" - sodipodi:rx="21.299" - sodipodi:cy="166.011" - sodipodi:cx="290.76199" - style="fill:#ffffff;fill-opacity:1;stroke:#1d2d44;stroke-width:4;stroke-opacity:1;display:inline" - id="circle314" - r="21.299" - cy="166.011" - cx="290.76199" - transform="matrix(0.21384268,0,0,0.21384268,-45.328041,-8.5924791)" /><path - inkscape:connector-curvature="0" - style="fill:#ffffff;fill-opacity:1;stroke:#1d2d44;stroke-width:0.8553707;stroke-opacity:1;display:inline" - id="path321" - d="m 39.804227,20.419344 c 0,6.062012 -4.91496,10.976117 -10.9774,10.976117 -6.06244,0 -10.977185,-4.914105 -10.977185,-10.976117 0,-6.062654 4.914959,-10.9771861 10.977185,-10.9771861 6.062226,0 10.9774,4.9145321 10.9774,10.9771861 z" /></svg>
\ No newline at end of file diff --git a/tests/lib/appframework/middleware/security/CORSMiddlewareTest.php b/tests/lib/appframework/middleware/security/CORSMiddlewareTest.php index a4f3137cb11..92ea5450ab9 100644 --- a/tests/lib/appframework/middleware/security/CORSMiddlewareTest.php +++ b/tests/lib/appframework/middleware/security/CORSMiddlewareTest.php @@ -21,10 +21,12 @@ use OCP\AppFramework\Http\Response; class CORSMiddlewareTest extends \Test\TestCase { private $reflector; + private $session; protected function setUp() { parent::setUp(); $this->reflector = new ControllerMethodReflector(); + $this->session = $this->getMock('\OCP\IUserSession'); } /** @@ -41,7 +43,7 @@ class CORSMiddlewareTest extends \Test\TestCase { $this->getMock('\OCP\IConfig') ); $this->reflector->reflect($this, __FUNCTION__); - $middleware = new CORSMiddleware($request, $this->reflector); + $middleware = new CORSMiddleware($request, $this->reflector, $this->session); $response = $middleware->afterController($this, __FUNCTION__, new Response()); $headers = $response->getHeaders(); @@ -59,7 +61,7 @@ class CORSMiddlewareTest extends \Test\TestCase { $this->getMock('\OCP\Security\ISecureRandom'), $this->getMock('\OCP\IConfig') ); - $middleware = new CORSMiddleware($request, $this->reflector); + $middleware = new CORSMiddleware($request, $this->reflector, $this->session); $response = $middleware->afterController($this, __FUNCTION__, new Response()); $headers = $response->getHeaders(); @@ -77,7 +79,7 @@ class CORSMiddlewareTest extends \Test\TestCase { $this->getMock('\OCP\IConfig') ); $this->reflector->reflect($this, __FUNCTION__); - $middleware = new CORSMiddleware($request, $this->reflector); + $middleware = new CORSMiddleware($request, $this->reflector, $this->session); $response = $middleware->afterController($this, __FUNCTION__, new Response()); $headers = $response->getHeaders(); @@ -100,11 +102,76 @@ class CORSMiddlewareTest extends \Test\TestCase { $this->getMock('\OCP\IConfig') ); $this->reflector->reflect($this, __FUNCTION__); - $middleware = new CORSMiddleware($request, $this->reflector); + $middleware = new CORSMiddleware($request, $this->reflector, $this->session); $response = new Response(); $response->addHeader('AcCess-control-Allow-Credentials ', 'TRUE'); $middleware->afterController($this, __FUNCTION__, $response); } + /** + * @CORS + * @PublicPage + */ + public function testNoCORSShouldAllowCookieAuth() { + $request = new Request( + [], + $this->getMock('\OCP\Security\ISecureRandom'), + $this->getMock('\OCP\IConfig') + ); + $this->reflector->reflect($this, __FUNCTION__); + $middleware = new CORSMiddleware($request, $this->reflector, $this->session); + + $middleware->beforeController($this, __FUNCTION__, new Response()); + } + + /** + * @CORS + */ + public function testCORSShouldRelogin() { + $request = new Request( + ['server' => [ + 'PHP_AUTH_USER' => 'user', + 'PHP_AUTH_PW' => 'pass' + ]], + $this->getMock('\OCP\Security\ISecureRandom'), + $this->getMock('\OCP\IConfig') + ); + $this->session->expects($this->once()) + ->method('logout'); + $this->session->expects($this->once()) + ->method('login') + ->with($this->equalTo('user'), $this->equalTo('pass')) + ->will($this->returnValue(true)); + $this->reflector->reflect($this, __FUNCTION__); + $middleware = new CORSMiddleware($request, $this->reflector, $this->session); + + $middleware->beforeController($this, __FUNCTION__, new Response()); + } + + /** + * @CORS + * @expectedException \OC\AppFramework\Middleware\Security\SecurityException + */ + public function testCORSShouldNotAllowCookieAuth() { + $request = new Request( + ['server' => [ + 'PHP_AUTH_USER' => 'user', + 'PHP_AUTH_PW' => 'pass' + ]], + $this->getMock('\OCP\Security\ISecureRandom'), + $this->getMock('\OCP\IConfig') + ); + $this->session->expects($this->once()) + ->method('logout'); + $this->session->expects($this->once()) + ->method('login') + ->with($this->equalTo('user'), $this->equalTo('pass')) + ->will($this->returnValue(false)); + $this->reflector->reflect($this, __FUNCTION__); + $middleware = new CORSMiddleware($request, $this->reflector, $this->session); + + $middleware->beforeController($this, __FUNCTION__, new Response()); + } + } diff --git a/tests/lib/encryption/keys/storage.php b/tests/lib/encryption/keys/storage.php index e67103fb6aa..45cd272cca0 100644 --- a/tests/lib/encryption/keys/storage.php +++ b/tests/lib/encryption/keys/storage.php @@ -76,7 +76,9 @@ class StorageTest extends TestCase { $this->util->expects($this->any()) ->method('getUidAndFilename') ->willReturn(array('user1', '/files/foo.txt')); - $this->util->expects($this->any()) + // we need to strip away the part file extension in order to reuse a + // existing key if it exists, otherwise versions will break + $this->util->expects($this->once()) ->method('stripPartialFileExtension') ->willReturnArgument(0); $this->util->expects($this->any()) @@ -276,7 +278,7 @@ class StorageTest extends TestCase { /** * @dataProvider dataProviderCopyRename */ - public function testRenameKeys($source, $target, $systemWideMount, $expectedSource, $expectedTarget) { + public function testRenameKeys($source, $target, $systemWideMountSource, $systemWideMountTarget, $expectedSource, $expectedTarget) { $this->view->expects($this->any()) ->method('file_exists') ->willReturn(true); @@ -294,7 +296,12 @@ class StorageTest extends TestCase { ->will($this->returnCallback(array($this, 'getUidAndFilenameCallback'))); $this->util->expects($this->any()) ->method('isSystemWideMountPoint') - ->willReturn($systemWideMount); + ->willReturnCallback(function($path, $owner) use ($systemWideMountSource, $systemWideMountTarget) { + if(strpos($path, 'source.txt') !== false) { + return $systemWideMountSource; + } + return $systemWideMountTarget; + }); $this->storage->renameKeys($source, $target); } @@ -302,7 +309,7 @@ class StorageTest extends TestCase { /** * @dataProvider dataProviderCopyRename */ - public function testCopyKeys($source, $target, $systemWideMount, $expectedSource, $expectedTarget) { + public function testCopyKeys($source, $target, $systemWideMountSource, $systemWideMountTarget , $expectedSource, $expectedTarget) { $this->view->expects($this->any()) ->method('file_exists') ->willReturn(true); @@ -320,7 +327,12 @@ class StorageTest extends TestCase { ->will($this->returnCallback(array($this, 'getUidAndFilenameCallback'))); $this->util->expects($this->any()) ->method('isSystemWideMountPoint') - ->willReturn($systemWideMount); + ->willReturnCallback(function($path, $owner) use ($systemWideMountSource, $systemWideMountTarget) { + if(strpos($path, 'source.txt') !== false) { + return $systemWideMountSource; + } + return $systemWideMountTarget; + }); $this->storage->copyKeys($source, $target); } @@ -336,14 +348,20 @@ class StorageTest extends TestCase { public function dataProviderCopyRename() { return array( - array('/user1/files/foo.txt', '/user1/files/bar.txt', false, - '/user1/files_encryption/keys/files/foo.txt/', '/user1/files_encryption/keys/files/bar.txt/'), - array('/user1/files/foo/foo.txt', '/user1/files/bar.txt', false, - '/user1/files_encryption/keys/files/foo/foo.txt/', '/user1/files_encryption/keys/files/bar.txt/'), - array('/user1/files/foo.txt', '/user1/files/foo/bar.txt', false, - '/user1/files_encryption/keys/files/foo.txt/', '/user1/files_encryption/keys/files/foo/bar.txt/'), - array('/user1/files/foo.txt', '/user1/files/foo/bar.txt', true, - '/files_encryption/keys/files/foo.txt/', '/files_encryption/keys/files/foo/bar.txt/'), + array('/user1/files/source.txt', '/user1/files/target.txt', false, false, + '/user1/files_encryption/keys/files/source.txt/', '/user1/files_encryption/keys/files/target.txt/'), + array('/user1/files/foo/source.txt', '/user1/files/target.txt', false, false, + '/user1/files_encryption/keys/files/foo/source.txt/', '/user1/files_encryption/keys/files/target.txt/'), + array('/user1/files/source.txt', '/user1/files/foo/target.txt', false, false, + '/user1/files_encryption/keys/files/source.txt/', '/user1/files_encryption/keys/files/foo/target.txt/'), + array('/user1/files/source.txt', '/user1/files/foo/target.txt', true, true, + '/files_encryption/keys/files/source.txt/', '/files_encryption/keys/files/foo/target.txt/'), + array('/user1/files/source.txt', '/user1/files/target.txt', false, true, + '/user1/files_encryption/keys/files/source.txt/', '/files_encryption/keys/files/target.txt/'), + array('/user1/files/source.txt', '/user1/files/target.txt', true, false, + '/files_encryption/keys/files/source.txt/', '/user1/files_encryption/keys/files/target.txt/'), + + ); } diff --git a/tests/lib/encryption/managertest.php b/tests/lib/encryption/managertest.php index faca6474504..3b1e07ffd69 100644 --- a/tests/lib/encryption/managertest.php +++ b/tests/lib/encryption/managertest.php @@ -16,11 +16,15 @@ class ManagerTest extends TestCase { /** @var \PHPUnit_Framework_MockObject_MockObject */ private $logger; + /** @var \PHPUnit_Framework_MockObject_MockObject */ + private $l10n; + public function setUp() { parent::setUp(); $this->config = $this->getMock('\OCP\IConfig'); $this->logger = $this->getMock('\OCP\ILogger'); - $this->manager = new Manager($this->config, $this->logger); + $this->l10n = $this->getMock('\OCP\Il10n'); + $this->manager = new Manager($this->config, $this->logger, $this->l10n); } public function testManagerIsDisabled() { diff --git a/tests/lib/encryption/utiltest.php b/tests/lib/encryption/utiltest.php index 0154fa30f7d..d3a4e211daa 100644 --- a/tests/lib/encryption/utiltest.php +++ b/tests/lib/encryption/utiltest.php @@ -174,4 +174,24 @@ class UtilTest extends TestCase { ); } + /** + * @dataProvider dataTestStripPartialFileExtension + * + * @param string $path + * @param string $expected + */ + public function testStripPartialFileExtension($path, $expected) { + $this->assertSame($expected, + $this->util->stripPartialFileExtension($path)); + } + + public function dataTestStripPartialFileExtension() { + return array( + array('/foo/test.txt', '/foo/test.txt'), + array('/foo/test.txt.part', '/foo/test.txt'), + array('/foo/test.txt.ocTransferId7567846853.part', '/foo/test.txt'), + array('/foo/test.txt.ocTransferId7567.part', '/foo/test.txt'), + ); + } + } diff --git a/tests/lib/files/cache/updater.php b/tests/lib/files/cache/updater.php index 726ee360479..ea75c8dcd72 100644 --- a/tests/lib/files/cache/updater.php +++ b/tests/lib/files/cache/updater.php @@ -216,27 +216,38 @@ class Updater extends \Test\TestCase { $this->storage->getScanner()->scan(''); + $this->assertTrue($this->cache->inCache('foo')); $this->assertTrue($this->cache->inCache('foo/foo.txt')); $this->assertTrue($this->cache->inCache('foo/bar.txt')); + $this->assertTrue($this->cache->inCache('foo/bar')); $this->assertTrue($this->cache->inCache('foo/bar/bar.txt')); $cached = []; + $cached[] = $this->cache->get('foo'); $cached[] = $this->cache->get('foo/foo.txt'); $cached[] = $this->cache->get('foo/bar.txt'); + $cached[] = $this->cache->get('foo/bar'); $cached[] = $this->cache->get('foo/bar/bar.txt'); - $this->view->rename('/foo', '/bar/foo'); + // add extension to trigger the possible mimetype change + $this->view->rename('/foo', '/bar/foo.b'); + $this->assertFalse($this->cache->inCache('foo')); $this->assertFalse($this->cache->inCache('foo/foo.txt')); $this->assertFalse($this->cache->inCache('foo/bar.txt')); + $this->assertFalse($this->cache->inCache('foo/bar')); $this->assertFalse($this->cache->inCache('foo/bar/bar.txt')); - $this->assertTrue($cache2->inCache('foo/foo.txt')); - $this->assertTrue($cache2->inCache('foo/bar.txt')); - $this->assertTrue($cache2->inCache('foo/bar/bar.txt')); + $this->assertTrue($cache2->inCache('foo.b')); + $this->assertTrue($cache2->inCache('foo.b/foo.txt')); + $this->assertTrue($cache2->inCache('foo.b/bar.txt')); + $this->assertTrue($cache2->inCache('foo.b/bar')); + $this->assertTrue($cache2->inCache('foo.b/bar/bar.txt')); $cachedTarget = []; - $cachedTarget[] = $cache2->get('foo/foo.txt'); - $cachedTarget[] = $cache2->get('foo/bar.txt'); - $cachedTarget[] = $cache2->get('foo/bar/bar.txt'); + $cachedTarget[] = $cache2->get('foo.b'); + $cachedTarget[] = $cache2->get('foo.b/foo.txt'); + $cachedTarget[] = $cache2->get('foo.b/bar.txt'); + $cachedTarget[] = $cache2->get('foo.b/bar'); + $cachedTarget[] = $cache2->get('foo.b/bar/bar.txt'); foreach ($cached as $i => $old) { $new = $cachedTarget[$i]; @@ -244,6 +255,7 @@ class Updater extends \Test\TestCase { $this->assertEquals($old['size'], $new['size']); $this->assertEquals($old['etag'], $new['etag']); $this->assertEquals($old['fileid'], $new['fileid']); + $this->assertEquals($old['mimetype'], $new['mimetype']); } } } diff --git a/tests/lib/files/storage/storage.php b/tests/lib/files/storage/storage.php index e8602b6b24a..62fba4c1716 100644 --- a/tests/lib/files/storage/storage.php +++ b/tests/lib/files/storage/storage.php @@ -153,13 +153,13 @@ abstract class Storage extends \Test\TestCase { $this->instance->file_put_contents('/lorem.txt', file_get_contents($textFile, 'r')); $this->assertEquals('text/plain', $this->instance->getMimeType('/lorem.txt')); - $pngFile = \OC::$SERVERROOT . '/tests/data/logo-wide.png'; - $this->instance->file_put_contents('/logo-wide.png', file_get_contents($pngFile, 'r')); - $this->assertEquals('image/png', $this->instance->getMimeType('/logo-wide.png')); + $pngFile = \OC::$SERVERROOT . '/tests/data/desktopapp.png'; + $this->instance->file_put_contents('/desktopapp.png', file_get_contents($pngFile, 'r')); + $this->assertEquals('image/png', $this->instance->getMimeType('/desktopapp.png')); - $svgFile = \OC::$SERVERROOT . '/tests/data/logo-wide.svg'; - $this->instance->file_put_contents('/logo-wide.svg', file_get_contents($svgFile, 'r')); - $this->assertEquals('image/svg+xml', $this->instance->getMimeType('/logo-wide.svg')); + $svgFile = \OC::$SERVERROOT . '/tests/data/desktopapp.svg'; + $this->instance->file_put_contents('/desktopapp.svg', file_get_contents($svgFile, 'r')); + $this->assertEquals('image/svg+xml', $this->instance->getMimeType('/desktopapp.svg')); } diff --git a/tests/lib/files/storage/wrapper/encryption.php b/tests/lib/files/storage/wrapper/encryption.php index 39af648cb75..d286978d926 100644 --- a/tests/lib/files/storage/wrapper/encryption.php +++ b/tests/lib/files/storage/wrapper/encryption.php @@ -63,6 +63,11 @@ class Encryption extends \Test\Files\Storage\Storage { */ private $mount; + /** + * @var \OC\Files\Mount\Manager | \PHPUnit_Framework_MockObject_MockObject + */ + private $mountManager; + /** @var integer dummy unencrypted size */ private $dummySize = -1; @@ -86,7 +91,7 @@ class Encryption extends \Test\Files\Storage\Storage { ->disableOriginalConstructor() ->getMock(); - $this->util = $this->getMock('\OC\Encryption\Util', ['getUidAndFilename', 'isFile'], [new View(), new \OC\User\Manager(), $groupManager, $config]); + $this->util = $this->getMock('\OC\Encryption\Util', ['getUidAndFilename', 'isFile', 'isExcluded'], [new View(), new \OC\User\Manager(), $groupManager, $config]); $this->util->expects($this->any()) ->method('getUidAndFilename') ->willReturnCallback(function ($path) { @@ -119,7 +124,10 @@ class Encryption extends \Test\Files\Storage\Storage { ->disableOriginalConstructor()->getMock(); $this->cache->expects($this->any()) ->method('get') - ->willReturn(['encrypted' => false]); + ->willReturnCallback(function($path) {return ['encrypted' => false, 'path' => $path];}); + + $this->mountManager = $this->getMockBuilder('\OC\Files\Mount\Manager') + ->disableOriginalConstructor()->getMock(); $this->instance = $this->getMockBuilder('\OC\Files\Storage\Wrapper\Encryption') ->setConstructorArgs( @@ -130,7 +138,7 @@ class Encryption extends \Test\Files\Storage\Storage { 'mountPoint' => '/', 'mount' => $this->mount ], - $this->encryptionManager, $this->util, $this->logger, $this->file, null, $this->keyStore, $this->update + $this->encryptionManager, $this->util, $this->logger, $this->file, null, $this->keyStore, $this->update, $this->mountManager ] ) ->setMethods(['getMetaData', 'getCache', 'getEncryptionModule']) @@ -138,7 +146,9 @@ class Encryption extends \Test\Files\Storage\Storage { $this->instance->expects($this->any()) ->method('getMetaData') - ->willReturn(['encrypted' => true, 'size' => $this->dummySize]); + ->willReturnCallback(function ($path) { + return ['encrypted' => true, 'size' => $this->dummySize, 'path' => $path]; + }); $this->instance->expects($this->any()) ->method('getCache') @@ -232,6 +242,8 @@ class Encryption extends \Test\Files\Storage\Storage { } $this->util->expects($this->any()) ->method('isFile')->willReturn(true); + $this->util->expects($this->any()) + ->method('isExcluded')->willReturn(false); $this->encryptionManager->expects($this->once()) ->method('isEnabled')->willReturn($encryptionEnabled); if ($shouldUpdate) { @@ -324,4 +336,33 @@ class Encryption extends \Test\Files\Storage\Storage { array('/file.txt', false, false, false), ); } + + /** + * @dataProvider dataTestCopyKeys + * + * @param boolean $excluded + * @param boolean $expected + */ + public function testCopyKeys($excluded, $expected) { + $this->util->expects($this->once()) + ->method('isExcluded') + ->willReturn($excluded); + + if ($excluded) { + $this->keyStore->expects($this->never())->method('copyKeys'); + } else { + $this->keyStore->expects($this->once())->method('copyKeys')->willReturn(true); + } + + $this->assertSame($expected, + \Test_Helper::invokePrivate($this->instance, 'copyKeys', ['/source', '/target']) + ); + } + + public function dataTestCopyKeys() { + return array( + array(true, false), + array(false, true), + ); + } } diff --git a/tests/lib/files/storage/wrapper/quota.php b/tests/lib/files/storage/wrapper/quota.php index a5828296be9..441f3a39d32 100644 --- a/tests/lib/files/storage/wrapper/quota.php +++ b/tests/lib/files/storage/wrapper/quota.php @@ -35,20 +35,21 @@ class Quota extends \Test\Files\Storage\Storage { */ protected function getLimitedStorage($limit) { $storage = new \OC\Files\Storage\Local(array('datadir' => $this->tmpDir)); + $storage->mkdir('files'); $storage->getScanner()->scan(''); return new \OC\Files\Storage\Wrapper\Quota(array('storage' => $storage, 'quota' => $limit)); } public function testFilePutContentsNotEnoughSpace() { $instance = $this->getLimitedStorage(3); - $this->assertFalse($instance->file_put_contents('foo', 'foobar')); + $this->assertFalse($instance->file_put_contents('files/foo', 'foobar')); } public function testCopyNotEnoughSpace() { $instance = $this->getLimitedStorage(9); - $this->assertEquals(6, $instance->file_put_contents('foo', 'foobar')); + $this->assertEquals(6, $instance->file_put_contents('files/foo', 'foobar')); $instance->getScanner()->scan(''); - $this->assertFalse($instance->copy('foo', 'bar')); + $this->assertFalse($instance->copy('files/foo', 'files/bar')); } public function testFreeSpace() { @@ -92,17 +93,17 @@ class Quota extends \Test\Files\Storage\Storage { public function testFWriteNotEnoughSpace() { $instance = $this->getLimitedStorage(9); - $stream = $instance->fopen('foo', 'w+'); + $stream = $instance->fopen('files/foo', 'w+'); $this->assertEquals(6, fwrite($stream, 'foobar')); $this->assertEquals(3, fwrite($stream, 'qwerty')); fclose($stream); - $this->assertEquals('foobarqwe', $instance->file_get_contents('foo')); + $this->assertEquals('foobarqwe', $instance->file_get_contents('files/foo')); } public function testStreamCopyWithEnoughSpace() { $instance = $this->getLimitedStorage(16); $inputStream = fopen('data://text/plain,foobarqwerty', 'r'); - $outputStream = $instance->fopen('foo', 'w+'); + $outputStream = $instance->fopen('files/foo', 'w+'); list($count, $result) = \OC_Helper::streamCopy($inputStream, $outputStream); $this->assertEquals(12, $count); $this->assertTrue($result); @@ -113,7 +114,7 @@ class Quota extends \Test\Files\Storage\Storage { public function testStreamCopyNotEnoughSpace() { $instance = $this->getLimitedStorage(9); $inputStream = fopen('data://text/plain,foobarqwerty', 'r'); - $outputStream = $instance->fopen('foo', 'w+'); + $outputStream = $instance->fopen('files/foo', 'w+'); list($count, $result) = \OC_Helper::streamCopy($inputStream, $outputStream); $this->assertEquals(9, $count); $this->assertFalse($result); @@ -139,16 +140,27 @@ class Quota extends \Test\Files\Storage\Storage { $instance = $this->getLimitedStorage(9); // create test file first - $stream = $instance->fopen('foo', 'w+'); + $stream = $instance->fopen('files/foo', 'w+'); fwrite($stream, 'blablacontent'); fclose($stream); - $stream = $instance->fopen('foo', 'r'); + $stream = $instance->fopen('files/foo', 'r'); $meta = stream_get_meta_data($stream); $this->assertEquals('plainfile', $meta['wrapper_type']); fclose($stream); - $stream = $instance->fopen('foo', 'rb'); + $stream = $instance->fopen('files/foo', 'rb'); + $meta = stream_get_meta_data($stream); + $this->assertEquals('plainfile', $meta['wrapper_type']); + fclose($stream); + } + + public function testReturnRegularStreamWhenOutsideFiles() { + $instance = $this->getLimitedStorage(9); + $instance->mkdir('files_other'); + + // create test file first + $stream = $instance->fopen('files_other/foo', 'w+'); $meta = stream_get_meta_data($stream); $this->assertEquals('plainfile', $meta['wrapper_type']); fclose($stream); @@ -156,7 +168,7 @@ class Quota extends \Test\Files\Storage\Storage { public function testReturnQuotaStreamOnWrite() { $instance = $this->getLimitedStorage(9); - $stream = $instance->fopen('foo', 'w+'); + $stream = $instance->fopen('files/foo', 'w+'); $meta = stream_get_meta_data($stream); $expected_type = defined('HHVM_VERSION') ? 'File' : 'user-space'; $this->assertEquals($expected_type, $meta['wrapper_type']); diff --git a/tests/lib/files/stream/dummyencryptionwrapper.php b/tests/lib/files/stream/dummyencryptionwrapper.php new file mode 100644 index 00000000000..bb512d99c66 --- /dev/null +++ b/tests/lib/files/stream/dummyencryptionwrapper.php @@ -0,0 +1,37 @@ +<?php +/** + * @author Björn Schießle <schiessle@owncloud.com> + * + * @copyright Copyright (c) 2015, ownCloud, Inc. + * @license AGPL-3.0 + * + * This code is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License, version 3, + * as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License, version 3, + * along with this program. If not, see <http://www.gnu.org/licenses/> + * + */ + + +namespace Test\Files\Stream; + +class DummyEncryptionWrapper extends \OC\Files\Stream\Encryption { + + /** + * simulate a non-seekable stream wrapper by always return false + * + * @param int $position + * @return bool + */ + protected function parentStreamSeek($position) { + return false; + } + +} diff --git a/tests/lib/files/stream/encryption.php b/tests/lib/files/stream/encryption.php index 040be7256a6..281ec0a14a0 100644 --- a/tests/lib/files/stream/encryption.php +++ b/tests/lib/files/stream/encryption.php @@ -15,7 +15,7 @@ class Encryption extends \Test\TestCase { * @param integer $unencryptedSize * @return resource */ - protected function getStream($fileName, $mode, $unencryptedSize) { + protected function getStream($fileName, $mode, $unencryptedSize, $wrapper = '\OC\Files\Stream\Encryption') { clearstatcache(); $size = filesize($fileName); $source = fopen($fileName, $mode); @@ -44,9 +44,10 @@ class Encryption extends \Test\TestCase { ->method('getUidAndFilename') ->willReturn(['user1', $internalPath]); - return \OC\Files\Stream\Encryption::wrap($source, $internalPath, + + return $wrapper::wrap($source, $internalPath, $fullPath, $header, $uid, $this->encryptionModule, $storage, $encStorage, - $util, $file, $mode, $size, $unencryptedSize, 8192); + $util, $file, $mode, $size, $unencryptedSize, 8192, $wrapper); } /** @@ -256,6 +257,49 @@ class Encryption extends \Test\TestCase { } /** + * simulate a non-seekable storage + * + * @dataProvider dataFilesProvider + */ + public function testWriteToNonSeekableStorage($testFile) { + + $wrapper = $this->getMockBuilder('\OC\Files\Stream\Encryption') + ->setMethods(['parentSeekStream'])->getMock(); + $wrapper->expects($this->any())->method('parentSeekStream')->willReturn(false); + + $expectedData = file_get_contents(\OC::$SERVERROOT . '/tests/data/' . $testFile); + // write it + $fileName = tempnam("/tmp", "FOO"); + $stream = $this->getStream($fileName, 'w+', 0, '\Test\Files\Stream\DummyEncryptionWrapper'); + // while writing the file from the beginning to the end we should never try + // to read parts of the file. This should only happen for write operations + // in the middle of a file + $this->encryptionModule->expects($this->never())->method('decrypt'); + fwrite($stream, $expectedData); + fclose($stream); + + // read it all + $stream = $this->getStream($fileName, 'r', strlen($expectedData), '\Test\Files\Stream\DummyEncryptionWrapper'); + $data = stream_get_contents($stream); + fclose($stream); + + $this->assertEquals($expectedData, $data); + + // another read test with a loop like we do in several places: + $stream = $this->getStream($fileName, 'r', strlen($expectedData)); + $data = ''; + while (!feof($stream)) { + $data .= fread($stream, 8192); + } + fclose($stream); + + $this->assertEquals($expectedData, $data); + + unlink($fileName); + + } + + /** * @return \PHPUnit_Framework_MockObject_MockObject */ protected function buildMockModule() { diff --git a/tests/lib/helper.php b/tests/lib/helper.php index b7aa185f4e3..03c6dacde64 100644 --- a/tests/lib/helper.php +++ b/tests/lib/helper.php @@ -85,11 +85,11 @@ class Test_Helper extends \Test\TestCase { $expected = 'application/zip'; $this->assertEquals($result, $expected); - $result = OC_Helper::getMimeType($dir."/logo-wide.svg"); + $result = OC_Helper::getMimeType($dir."/desktopapp.svg"); $expected = 'image/svg+xml'; $this->assertEquals($result, $expected); - $result = OC_Helper::getMimeType($dir."/logo-wide.png"); + $result = OC_Helper::getMimeType($dir."/desktopapp.png"); $expected = 'image/png'; $this->assertEquals($result, $expected); } diff --git a/tests/lib/httphelper.php b/tests/lib/httphelper.php index e8472ab553a..1d0981ba51b 100644 --- a/tests/lib/httphelper.php +++ b/tests/lib/httphelper.php @@ -12,15 +12,17 @@ class TestHTTPHelper extends \Test\TestCase { private $config; /** @var \OC\HTTPHelper */ private $httpHelperMock; + /** @var \OCP\Http\Client\IClientService */ + private $clientService; protected function setUp() { parent::setUp(); $this->config = $this->getMockBuilder('\OCP\IConfig') ->disableOriginalConstructor()->getMock(); - $clientService = $this->getMock('\OCP\Http\Client\IClientService'); + $this->clientService = $this->getMock('\OCP\Http\Client\IClientService'); $this->httpHelperMock = $this->getMockBuilder('\OC\HTTPHelper') - ->setConstructorArgs(array($this->config, $clientService)) + ->setConstructorArgs(array($this->config, $this->clientService)) ->setMethods(array('getHeaders')) ->getMock(); } @@ -44,4 +46,73 @@ class TestHTTPHelper extends \Test\TestCase { public function testIsHTTP($url, $expected) { $this->assertSame($expected, $this->httpHelperMock->isHTTPURL($url)); } + + public function testPostSuccess() { + $client = $this->getMockBuilder('\OCP\Http\Client\IClient') + ->disableOriginalConstructor()->getMock(); + $this->clientService + ->expects($this->once()) + ->method('newClient') + ->will($this->returnValue($client)); + $response = $this->getMockBuilder('\OCP\Http\Client\IResponse') + ->disableOriginalConstructor()->getMock(); + $client + ->expects($this->once()) + ->method('post') + ->with( + 'https://owncloud.org', + [ + 'body' => [ + 'Foo' => 'Bar', + ], + 'connect_timeout' => 10, + + ] + ) + ->will($this->returnValue($response)); + $response + ->expects($this->once()) + ->method('getBody') + ->will($this->returnValue('Body of the requested page')); + + + $response = $this->httpHelperMock->post('https://owncloud.org', ['Foo' => 'Bar']); + $expected = [ + 'success' => true, + 'result' => 'Body of the requested page' + ]; + $this->assertSame($expected, $response); + } + + public function testPostException() { + $client = $this->getMockBuilder('\OCP\Http\Client\IClient') + ->disableOriginalConstructor()->getMock(); + $this->clientService + ->expects($this->once()) + ->method('newClient') + ->will($this->returnValue($client)); + $client + ->expects($this->once()) + ->method('post') + ->with( + 'https://owncloud.org', + [ + 'body' => [ + 'Foo' => 'Bar', + ], + 'connect_timeout' => 10, + + ] + ) + ->will($this->throwException(new \Exception('Something failed'))); + + + $response = $this->httpHelperMock->post('https://owncloud.org', ['Foo' => 'Bar']); + $expected = [ + 'success' => false, + 'result' => 'Something failed' + ]; + $this->assertSame($expected, $response); + } + } diff --git a/tests/lib/public/util.php b/tests/lib/public/util.php new file mode 100644 index 00000000000..ebc4f70079b --- /dev/null +++ b/tests/lib/public/util.php @@ -0,0 +1,47 @@ +<?php +/** + * ownCloud + * + * @author Victor Dubiniuk + * @copyright 2015 Victor Dubiniuk victor.dubiniuk@owncloud.com + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE + * License as published by the Free Software Foundation; either + * version 3 of the License, or any later version. + * + * This library 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 library. If not, see <http://www.gnu.org/licenses/>. + */ + +class Test_Public_Util extends \Test\TestCase { + protected function setUp() { + parent::setUp(); + OCP\Contacts::clear(); + } + + /** + * @dataProvider channelProvider + * + * @param string $channel + */ + public function testOverrideChannel($channel) { + \OCP\Util::setChannel($channel); + $actual = \OCP\Util::getChannel($channel); + $this->assertEquals($channel, $actual); + } + + public function channelProvider() { + return [ + ['daily'], + ['beta'], + ['stable'], + ['production'] + ]; + } +} diff --git a/tests/settings/controller/CheckSetupControllerTest.php b/tests/settings/controller/CheckSetupControllerTest.php index 26f9f4e9459..b21e78c831d 100644 --- a/tests/settings/controller/CheckSetupControllerTest.php +++ b/tests/settings/controller/CheckSetupControllerTest.php @@ -224,10 +224,14 @@ class CheckSetupControllerTest extends TestCase { $this->util->expects($this->once()) ->method('isHtaccessWorking') ->will($this->returnValue(true)); - $this->urlGenerator->expects($this->once()) + $this->urlGenerator->expects($this->at(0)) ->method('linkToDocs') ->with('admin-performance') ->willReturn('http://doc.owncloud.org/server/go.php?to=admin-performance'); + $this->urlGenerator->expects($this->at(1)) + ->method('linkToDocs') + ->with('admin-security') + ->willReturn('https://doc.owncloud.org/server/8.1/admin_manual/configuration_server/hardening.html'); $expected = new DataResponse( [ @@ -235,6 +239,8 @@ class CheckSetupControllerTest extends TestCase { 'dataDirectoryProtected' => true, 'isMemcacheConfigured' => true, 'memcacheDocs' => 'http://doc.owncloud.org/server/go.php?to=admin-performance', + 'isUrandomAvailable' => \Test_Helper::invokePrivate($this->checkSetupController, 'isUrandomAvailable'), + 'securityDocs' => 'https://doc.owncloud.org/server/8.1/admin_manual/configuration_server/hardening.html', ] ); $this->assertEquals($expected, $this->checkSetupController->check()); diff --git a/themes/README b/themes/README index 4025bc8970e..9c532b28aae 100644 --- a/themes/README +++ b/themes/README @@ -1,7 +1,17 @@ -This is the themes folder. Themes can be used to customize the look and feel of ownCloud without the need to patch the source code. -Themes can be placed in this folder with the name of the theme as foldername. The theme can be activated by putting -"theme" => 'themename', into the config.php file. -The folder structure of a theme is exactly the same as the main ownCloud structure. You can override js files and templates with own versions. css files are loaded additionaly to the default files so you can override css properties. -Themes should be developed here: https://github.com/owncloud/themes -You can also find a super simple example there +Themes can be used to customize the look and feel of ownCloud without the need to patch the source code. This makes it very easy to: +* Use your own logo (in the top left, in log in and in emails) +* Customize the text strings to replace »ownCloud« etc. with your name of choice +* Change the main color (used in header and as log in background) +* And more … + + +The process is simple: + +1. Put a folder here with the name of the theme as foldername +2. Activate it by putting 'theme' => 'themename', into the config.php file + + +The folder structure of a theme is exactly the same as the main ownCloud structure. CSS files are loaded additionally to the default files so you can override properties. Images are replaced. You can also override JS files and PHP templates but we do not recommend that because you will need to adjust them after every update. + +You can also find a basic example here which you can build upon. diff --git a/themes/example/core/css/styles.css b/themes/example/core/css/styles.css new file mode 100644 index 00000000000..a0aba8ae07a --- /dev/null +++ b/themes/example/core/css/styles.css @@ -0,0 +1,86 @@ +/** + * @author Jan-Christoph Borchardt, http://jancborchardt.net + * @copyright Copyright (c) 2015, ownCloud, Inc. + * @license AGPL-3.0 + * + * This code is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License, version 3, + * as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License, version 3, + * along with this program. If not, see <http://www.gnu.org/licenses/> + */ + + +/* header color */ +/* this is the main brand color */ +#body-user #header, +#body-settings #header, +#body-public #header { + background-color: #745bca; +} + +/* log in screen background color */ +/* gradient of the header color and a brighter shade */ +/* can also be a flat color or an image */ +#body-login { + background: #745bca; /* Old browsers */ + background: -moz-linear-gradient(top, #947bea 0%, #745bca 100%); /* FF3.6+ */ + background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#947bea), color-stop(100%,#745bca)); /* Chrome,Safari4+ */ + background: -webkit-linear-gradient(top, #947bea 0%,#745bca 100%); /* Chrome10+,Safari5.1+ */ + background: -o-linear-gradient(top, #947bea 0%,#745bca 100%); /* Opera11.10+ */ + background: -ms-linear-gradient(top, #947bea 0%,#745bca 100%); /* IE10+ */ + background: linear-gradient(top, #947bea 0%,#745bca 100%); /* W3C */ + filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#947bea', endColorstr='#745bca',GradientType=0 ); /* IE6-9 */ +} + +/* primary action button, use sparingly */ +/* header color as border, brighter shade again, here as background */ +.primary, +input[type="submit"].primary, +input[type="button"].primary, +button.primary, +.button.primary, +.primary:active, +input[type="submit"].primary:active, +input[type="button"].primary:active, +button.primary:active, +.button.primary:active { + border-color: #745bca; + background-color: #947bea; +} +.primary:hover, +input[type="submit"].primary:hover, +input[type="button"].primary:hover, +button.primary:hover, +.button.primary:hover, +.primary:focus, +input[type="submit"].primary:focus, +input[type="button"].primary:focus, +button.primary:focus, +.button.primary:focus { + background-color: #8b75e4; +} +.primary:active, input[type="submit"].primary:active, input[type="button"].primary:active, button.primary:active, .button.primary:active, +.primary:disabled, input[type="submit"].primary:disabled, input[type="button"].primary:disabled, button.primary:disabled, .button.primary:disabled, +.primary:disabled:hover, input[type="submit"].primary:disabled:hover, input[type="button"].primary:disabled:hover, button.primary:disabled:hover, .button.primary:disabled:hover, +.primary:disabled:focus, input[type="submit"].primary:disabled:focus, input[type="button"].primary:disabled:focus, button.primary:disabled:focus, .button.primary:disabled:focus { + background-color: #745bca; +} + +/* use logos from theme */ +#header .logo { + background-image: url('../img/logo.svg'); + width: 250px; + height: 121px; +} +#header .logo-icon { + background-image: url('../img/logo-icon.svg'); + width: 62px; + height: 34px; +} diff --git a/themes/example/core/img/favicon-touch.png b/themes/example/core/img/favicon-touch.png Binary files differnew file mode 100644 index 00000000000..e3a61ae5871 --- /dev/null +++ b/themes/example/core/img/favicon-touch.png diff --git a/themes/example/core/img/favicon-touch.svg b/themes/example/core/img/favicon-touch.svg new file mode 100644 index 00000000000..efa79b4359f --- /dev/null +++ b/themes/example/core/img/favicon-touch.svg @@ -0,0 +1,2 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" version="1.1" xml:space="preserve" height="128" width="128" enable-background="new 0 0 595.275 311.111" y="0px" x="0px" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" viewBox="0 0 128 127.99999"><rect rx="20" ry="20" height="128" width="128" y="-.0000015" x="0" fill="#745bca"/><path d="m64 24a36 36 0 0 0 -35.758 32.016 20 20 0 0 0 -0.2422 -0.0156 20 20 0 0 0 -20 20 20 20 0 0 0 20 20h36 32a24 24 0 0 0 24 -24 24 24 0 0 0 -22.07 -23.906 36 36 0 0 0 -33.93 -24.094zm0 12a24 24 0 0 1 24 24 24 24 0 0 1 -24 24 24 24 0 0 1 -24 -24 24 24 0 0 1 24 -24z" fill="#fff"/></svg> diff --git a/themes/example/core/img/favicon.png b/themes/example/core/img/favicon.png Binary files differnew file mode 100644 index 00000000000..4394e13514b --- /dev/null +++ b/themes/example/core/img/favicon.png diff --git a/themes/example/core/img/favicon.svg b/themes/example/core/img/favicon.svg new file mode 100644 index 00000000000..a41137db754 --- /dev/null +++ b/themes/example/core/img/favicon.svg @@ -0,0 +1,2 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" version="1.1" xml:space="preserve" height="32" width="32" enable-background="new 0 0 595.275 311.111" y="0px" x="0px" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" viewBox="0 0 32 31.999997"><rect rx="5" ry="5" height="32" width="32" y="-.0000052588" x="0" fill="#745bca"/><path d="m16 6a9 9 0 0 0 -8.9395 8.004 5 5 0 0 0 -0.0605 -0.004 5 5 0 0 0 -5 5 5 5 0 0 0 5 5h9 8a6 6 0 0 0 6 -6 6 6 0 0 0 -5.518 -5.977 9 9 0 0 0 -8.482 -6.023zm0 3a6 6 0 0 1 6 6 6 6 0 0 1 -6 6 6 6 0 0 1 -6 -6 6 6 0 0 1 6 -6z" transform="translate(0 -.0000019073)" fill="#fff"/></svg> diff --git a/themes/example/core/img/logo-icon.png b/themes/example/core/img/logo-icon.png Binary files differnew file mode 100644 index 00000000000..4ed70603b25 --- /dev/null +++ b/themes/example/core/img/logo-icon.png diff --git a/themes/example/core/img/logo-icon.svg b/themes/example/core/img/logo-icon.svg new file mode 100644 index 00000000000..925152145fe --- /dev/null +++ b/themes/example/core/img/logo-icon.svg @@ -0,0 +1,2 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" enable-background="new 0 0 595.275 311.111" xml:space="preserve" height="34" width="62" version="1.1" y="0px" x="0px" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" viewBox="0 0 62.001102 34"><path d="m31.001 2.9997a13.5 13.5 0 0 0 -13.409 12.006 7.5001 7.5001 0 0 0 -0.09082 -0.0058 7.5001 7.5001 0 0 0 -7.5001 7.5001 7.5001 7.5001 0 0 0 7.5001 7.5001h13.5 12a9.0002 9.0002 0 0 0 9 -9 9.0002 9.0002 0 0 0 -8.277 -8.965 13.5 13.5 0 0 0 -12.723 -9.0353zm0 4.5001a9.0002 9.0002 0 0 1 9.0002 9.0002 9.0002 9.0002 0 0 1 -9.0002 9.0002 9.0002 9.0002 0 0 1 -9.0002 -9.0002 9.0002 9.0002 0 0 1 9.0002 -9.0002z" fill="#fff"/></svg> diff --git a/themes/example/core/img/logo-mail.gif b/themes/example/core/img/logo-mail.gif Binary files differnew file mode 100644 index 00000000000..431db4e68ae --- /dev/null +++ b/themes/example/core/img/logo-mail.gif diff --git a/themes/example/core/img/logo.png b/themes/example/core/img/logo.png Binary files differnew file mode 100644 index 00000000000..ac766e29cd8 --- /dev/null +++ b/themes/example/core/img/logo.png diff --git a/themes/example/core/img/logo.svg b/themes/example/core/img/logo.svg new file mode 100644 index 00000000000..349c7ea19bb --- /dev/null +++ b/themes/example/core/img/logo.svg @@ -0,0 +1,2 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" xml:space="preserve" height="120" viewBox="0 0 252.00001 119.99799" width="252" version="1.1" y="0px" x="0px" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" enable-background="new 0 0 595.275 311.111"><path d="m178.27 82.457v30.393h3.24v-30.393h-3.24zm67.22 0v8.711l0.08 1.504 0.14 1.543h-0.26c-1.55-2.11-3.77-3.164-6.68-3.164-2.78 0-4.96 0.976-6.52 2.929-1.56 1.954-2.35 4.694-2.35 8.22 0 3.53 0.78 6.25 2.33 8.17 1.56 1.91 3.74 2.87 6.54 2.87 2.98 0 5.22-1.09 6.72-3.26h0.18l0.43 2.87h2.63v-30.393h-3.24zm-227.69 1.426c-2.722 0-5.098 0.599-7.129 1.797-2.0184 1.185-3.5679 2.897-4.6486 5.136-1.0807 2.227-1.6211 4.825-1.6211 7.793 0 4.711 1.1003 8.331 3.3008 10.861 2.2005 2.51 5.3779 3.77 9.5309 3.77 2.891 0 5.508-0.49 7.852-1.47v-5.07c-2.852 1-5.28 1.5-7.285 1.5-4.779 0-7.168-3.18-7.168-9.552 0-3.059 0.625-5.442 1.875-7.148 1.25-1.719 3.014-2.578 5.293-2.578 1.041 0 2.103 0.189 3.183 0.566 1.081 0.378 2.155 0.821 3.223 1.328l1.953-4.921c-2.799-1.342-5.586-2.012-8.359-2.012zm149.99 0c-2.82 0-5.26 0.599-7.35 1.797-2.07 1.198-3.66 2.903-4.76 5.117-1.1 2.213-1.64 4.792-1.64 7.734 0 4.699 1.14 8.329 3.42 10.879 2.29 2.55 5.54 3.83 9.74 3.83 2.9 0 5.35-0.37 7.33-1.12v-2.91c-2.56 0.72-4.83 1.08-6.82 1.08-3.24 0-5.74-1.02-7.5-3.05-1.75-2.04-2.62-4.93-2.62-8.67 0-3.632 0.91-6.491 2.72-8.574 1.82-2.096 4.3-3.144 7.44-3.144 2.16 0 4.32 0.507 6.48 1.523l1.41-2.852c-2.24-1.093-4.86-1.64-7.85-1.64zm-94.073 2.48l-1.719 4.61-3.281 1.992v2.519h2.851v10.526c0 2.41 0.541 4.22 1.621 5.43 1.094 1.2 2.832 1.8 5.215 1.8 2.162 0 3.985-0.33 5.469-1v-4.43c-1.458 0.45-2.708 0.68-3.75 0.68-0.781 0-1.413-0.2-1.894-0.6-0.469-0.41-0.704-1.03-0.704-1.88v-10.526h6.114v-4.472h-6.114v-4.649h-3.808zm-13.391 4.239c-2.76 0-4.896 0.533-6.406 1.601-1.497 1.055-2.246 2.552-2.246 4.492 0 1.133 0.176 2.09 0.527 2.871 0.365 0.764 0.938 1.454 1.719 2.054 0.794 0.6 2.031 1.25 3.711 1.95 1.172 0.5 2.109 0.93 2.812 1.31 0.703 0.36 1.198 0.7 1.485 1 0.286 0.28 0.429 0.66 0.429 1.13 0 1.25-1.08 1.87-3.242 1.87-1.054 0-2.278-0.17-3.672-0.52-1.38-0.36-2.623-0.79-3.73-1.31v4.92c0.976 0.42 2.025 0.73 3.144 0.94 1.12 0.22 2.474 0.33 4.063 0.33 3.099 0 5.423-0.59 6.973-1.76 1.562-1.17 2.343-2.88 2.343-5.12 0-1.08-0.188-2.01-0.566-2.79s-0.964-1.47-1.758-2.07-2.044-1.24-3.75-1.934c-1.914-0.768-3.157-1.347-3.73-1.738-0.56-0.39-0.84-0.853-0.84-1.387 0-0.95 0.879-1.425 2.637-1.425 0.989 0 1.959 0.149 2.91 0.449 0.95 0.299 1.972 0.683 3.066 1.152l1.797-4.297c-2.487-1.146-5.046-1.718-7.676-1.718zm35.258 0c-3.372 0-5.99 0.989-7.852 2.968s-2.793 4.753-2.793 8.32c0 2.29 0.43 4.3 1.29 6.02 0.859 1.71 2.089 3.04 3.691 3.96 1.601 0.91 3.45 1.37 5.547 1.37 3.346 0 5.953-1 7.833-3.01 1.87-2 2.81-4.78 2.81-8.34 0-2.291-0.43-4.29-1.29-5.995-0.86-1.706-2.09-3.015-3.69-3.926-1.601-0.912-3.45-1.367-5.546-1.367zm25.476 0c-1.43 0-2.7 0.286-3.8 0.859-1.11 0.56-1.96 1.341-2.54 2.344h-0.34l-0.8-2.793h-4.55v21.838h5.96v-10.28c0-2.56 0.35-4.403 1.04-5.523s1.79-1.68 3.32-1.68c1.13 0 1.96 0.397 2.48 1.192 0.53 0.781 0.8 1.959 0.8 3.531v12.76h5.95v-10.96c0-2.265 0.36-3.919 1.08-4.96 0.73-1.042 1.82-1.563 3.28-1.563 1.13 0 1.96 0.397 2.48 1.192 0.53 0.781 0.8 1.959 0.8 3.531v12.76h5.98v-14.241c0-2.799-0.64-4.83-1.92-6.093-1.26-1.276-3.13-1.914-5.6-1.914-1.43 0-2.72 0.28-3.87 0.839-1.13 0.56-1.99 1.348-2.58 2.364h-0.52c-1.16-2.136-3.38-3.203-6.65-3.203zm-92.503 0.41v14.238c0 2.58 0.651 4.56 1.953 5.94 1.302 1.36 3.235 2.05 5.801 2.05 1.497 0 2.832-0.28 4.003-0.82 1.172-0.56 2.077-1.35 2.715-2.37h0.313l0.801 2.8h4.57v-21.838h-5.957v10.278c0 2.57-0.371 4.42-1.113 5.54-0.743 1.11-1.947 1.66-3.614 1.66-1.224 0-2.116-0.39-2.675-1.17-0.56-0.79-0.84-1.98-0.84-3.55v-12.758h-5.957zm166.56 0.039c-3.1 0-5.53 0.976-7.27 2.929-1.75 1.941-2.62 4.655-2.62 8.14 0 2.26 0.41 4.22 1.21 5.9 0.81 1.68 1.96 2.97 3.44 3.87 1.49 0.9 3.18 1.35 5.1 1.35 3.1 0 5.53-0.98 7.28-2.93 1.76-1.97 2.64-4.7 2.64-8.19 0-3.393-0.89-6.089-2.66-8.081-1.75-1.992-4.13-2.988-7.12-2.988zm13.21 0.39v14.009c0 2.72 0.64 4.7 1.93 5.93 1.31 1.24 3.26 1.86 5.86 1.86 1.51 0 2.85-0.28 4.03-0.84s2.11-1.37 2.77-2.42h0.18l0.46 2.87h2.68v-21.409h-3.24v11.249c0 2.77-0.52 4.77-1.56 6-1.03 1.22-2.67 1.83-4.91 1.83-1.69 0-2.93-0.43-3.73-1.29-0.79-0.85-1.19-2.16-1.19-3.9v-13.889h-3.28zm30.81 2.325c2.22 0 3.82 0.651 4.83 1.953 1.01 1.289 1.52 3.45 1.52 6.481v0.69c0 2.68-0.5 4.63-1.5 5.84-0.99 1.19-2.59 1.79-4.81 1.79-1.94 0-3.41-0.69-4.41-2.09-1.01-1.39-1.51-3.45-1.51-6.19 0-2.693 0.5-4.776 1.51-6.248 1.01-1.484 2.47-2.226 4.37-2.226zm-44.12 0.039c2.15 0 3.77 0.709 4.86 2.129 1.11 1.406 1.66 3.47 1.66 6.186 0 2.75-0.55 4.84-1.66 6.27-1.09 1.42-2.7 2.13-4.82 2.13-2.13 0-3.73-0.71-4.83-2.14-1.09-1.44-1.64-3.52-1.64-6.26 0-2.755 0.54-4.832 1.62-6.225 1.08-1.394 2.69-2.09 4.81-2.09zm-99.514 1.601c1.601 0 2.754 0.541 3.457 1.621 0.703 1.081 1.057 2.702 1.057 4.863 0 2.18-0.354 3.82-1.057 4.92-0.69 1.1-1.83 1.64-3.418 1.64-1.602 0-2.76-0.55-3.477-1.66-0.703-1.1-1.054-2.74-1.054-4.9 0-2.174 0.351-3.795 1.054-4.863 0.703-1.08 1.849-1.621 3.438-1.621z" transform="translate(0 -.0010071)" fill="#fff"/><path d="m135.84 10.41a32.143 32.143 0 0 0 -31.927 28.585 17.857 17.857 0 0 0 -0.21625 -0.01393 17.857 17.857 0 0 0 -17.857 17.857 17.857 17.857 0 0 0 17.857 17.857h32.143 28.571a21.429 21.429 0 0 0 21.43 -21.428 21.429 21.429 0 0 0 -19.71 -21.344 32.143 32.143 0 0 0 -30.29 -21.513zm0 10.714a21.429 21.429 0 0 1 21.429 21.429 21.429 21.429 0 0 1 -21.429 21.429 21.429 21.429 0 0 1 -21.429 -21.429 21.429 21.429 0 0 1 21.429 -21.429z" fill="#fff"/></svg> diff --git a/themes/example/defaults.php b/themes/example/defaults.php new file mode 100644 index 00000000000..0dd0d46bd9c --- /dev/null +++ b/themes/example/defaults.php @@ -0,0 +1,95 @@ +<?php +/** + * @author Björn Schießle <schiessle@owncloud.com> + * @author Jan-Christoph Borchardt, http://jancborchardt.net + * @copyright Copyright (c) 2015, ownCloud, Inc. + * @license AGPL-3.0 + * + * This code is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License, version 3, + * as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License, version 3, + * along with this program. If not, see <http://www.gnu.org/licenses/> + */ + +class OC_Theme { + + private $themeEntity; + private $themeName; + private $themeTitle; + private $themeBaseUrl; + private $themeDocBaseUrl; + private $themeSyncClientUrl; + private $themeSlogan; + private $themeMailHeaderColor; + + /* put your custom text in these variables */ + function __construct() { + $this->themeEntity = 'Custom Cloud Co.'; + $this->themeName = 'Custom Cloud'; + $this->themeTitle = 'Custom Cloud'; + $this->themeBaseUrl = 'https://owncloud.org'; + $this->themeDocBaseUrl = 'https://doc.owncloud.org'; + $this->themeSyncClientUrl = 'https://owncloud.org/install'; + $this->themeSlogan = 'Your custom cloud, personalized for you!'; + $this->themeMailHeaderColor = '#745bca'; + } + /* nothing after this needs to be adjusted */ + + public function getBaseUrl() { + return $this->themeBaseUrl; + } + + public function getSyncClientUrl() { + return $this->themeSyncClientUrl; + } + + public function getDocBaseUrl() { + return $this->themeDocBaseUrl; + } + + public function getTitle() { + return $this->themeTitle; + } + + public function getName() { + return $this->themeName; + } + + public function getEntity() { + return $this->themeEntity; + } + + public function getSlogan() { + return $this->themeSlogan; + } + + public function getShortFooter() { + $footer = '© 2015 <a href="'.$this->getBaseUrl().'" target="_blank\">'.$this->getEntity().'</a>'. + '<br/>' . $this->getSlogan(); + + return $footer; + } + + public function getLongFooter() { + $footer = '© 2015 <a href="'.$this->getBaseUrl().'" target="_blank\">'.$this->getEntity().'</a>'. + '<br/>' . $this->getSlogan(); + + return $footer; + } + + public function buildDocLinkToKey($key) { + return $this->getDocBaseUrl() . '/server/8.0/go.php?to=' . $key; + } + + public function getMailHeaderColor() { + return $this->themeMailHeaderColor; + } + +} |