diff options
author | Robin McCorkell <rmccorkell@owncloud.com> | 2015-09-14 19:50:52 +0100 |
---|---|---|
committer | Robin McCorkell <rmccorkell@owncloud.com> | 2015-09-14 19:50:52 +0100 |
commit | 35d4851af2733515a1c81d4c0b78c4c14bf570e6 (patch) | |
tree | 7adde58609d8de5d7b64774f4339cdc4dd0c7449 | |
parent | 227868fe168529a638dcf2dbff4ff8f44cadc519 (diff) | |
parent | fb9e75edb6d01729a27c84f6f11399a1b0fde9f3 (diff) | |
download | nextcloud-server-35d4851af2733515a1c81d4c0b78c4c14bf570e6.tar.gz nextcloud-server-35d4851af2733515a1c81d4c0b78c4c14bf570e6.zip |
Merge branch 'master' into fix-app-disable-route
644 files changed, 10008 insertions, 4844 deletions
diff --git a/apps/encryption/appinfo/register_command.php b/apps/encryption/appinfo/register_command.php index 4fdf7ecec38..0f03b63560a 100644 --- a/apps/encryption/appinfo/register_command.php +++ b/apps/encryption/appinfo/register_command.php @@ -21,10 +21,17 @@ */ use OCA\Encryption\Command\MigrateKeys; +use Symfony\Component\Console\Helper\QuestionHelper; $userManager = OC::$server->getUserManager(); $view = new \OC\Files\View(); $config = \OC::$server->getConfig(); +$userSession = \OC::$server->getUserSession(); $connection = \OC::$server->getDatabaseConnection(); $logger = \OC::$server->getLogger(); +$questionHelper = new QuestionHelper(); +$crypt = new \OCA\Encryption\Crypto\Crypt($logger, $userSession, $config); +$util = new \OCA\Encryption\Util($view, $crypt, $logger, $userSession, $config, $userManager); + $application->add(new MigrateKeys($userManager, $view, $connection, $config, $logger)); +$application->add(new \OCA\Encryption\Command\EnableMasterKey($util, $config, $questionHelper)); diff --git a/apps/encryption/command/enablemasterkey.php b/apps/encryption/command/enablemasterkey.php new file mode 100644 index 00000000000..f49579a3b81 --- /dev/null +++ b/apps/encryption/command/enablemasterkey.php @@ -0,0 +1,86 @@ +<?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\Command; + + +use OCA\Encryption\Util; +use OCP\IConfig; +use Symfony\Component\Console\Command\Command; +use Symfony\Component\Console\Helper\QuestionHelper; +use Symfony\Component\Console\Input\InputInterface; +use Symfony\Component\Console\Output\OutputInterface; +use Symfony\Component\Console\Question\ConfirmationQuestion; + +class EnableMasterKey extends Command { + + /** @var Util */ + protected $util; + + /** @var IConfig */ + protected $config; + + /** @var QuestionHelper */ + protected $questionHelper; + + /** + * @param Util $util + * @param IConfig $config + * @param QuestionHelper $questionHelper + */ + public function __construct(Util $util, + IConfig $config, + QuestionHelper $questionHelper) { + + $this->util = $util; + $this->config = $config; + $this->questionHelper = $questionHelper; + parent::__construct(); + } + + protected function configure() { + $this + ->setName('encryption:enable-master-key') + ->setDescription('Enable the master key. Only available for fresh installations with no existing encrypted data! There is also no way to disable it again.'); + } + + protected function execute(InputInterface $input, OutputInterface $output) { + + $isAlreadyEnabled = $this->util->isMasterKeyEnabled(); + + if($isAlreadyEnabled) { + $output->writeln('Master key already enabled'); + } else { + $question = new ConfirmationQuestion( + 'Warning: Only available for fresh installations with no existing encrypted data! ' + . 'There is also no way to disable it again. Do you want to continue? (y/n) ', false); + if ($this->questionHelper->ask($input, $output, $question)) { + $this->config->setAppValue('encryption', 'useMasterKey', '1'); + $output->writeln('Master key successfully enabled.'); + } else { + $output->writeln('aborted.'); + } + } + + } + +} diff --git a/apps/encryption/l10n/da.js b/apps/encryption/l10n/da.js index b1b2b778e94..b5ca0a29e0c 100644 --- a/apps/encryption/l10n/da.js +++ b/apps/encryption/l10n/da.js @@ -27,7 +27,7 @@ OC.L10N.register( "Encryption App is enabled and ready" : "App til kryptering er slået til og er klar", "one-time password for server-side-encryption" : "Engangs password for kryptering på serverdelen", "Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Kan ikke kryptere denne fil, sandsynligvis fordi filen er delt. Bed venligst filens ejer om at dele den med dig på ny.", - "Can not read this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Kan ikke læse denne fil, sandsynligvis fordi det er en delt fil. Bed venligst ejeren af filen om at dele filen med dig påny.", + "Can not read this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Kan ikke læse denne fil, sandsynligvis fordi det er en delt fil. Bed venligst ejeren af filen om at dele filen med dig på ny.", "Hey there,\n\nthe admin enabled server-side-encryption. Your files were encrypted using the password '%s'.\n\nPlease login to the web interface, go to the section 'ownCloud basic encryption module' of your personal settings and update your encryption password by entering this password into the 'old log-in password' field and your current login-password.\n\n" : "Hejsa,\n\nadministrator aktiveret kryptering på serverdelen. '%s'.\n\nVenligst log på web brugerfladen, gå til sektionen \"ownCloud grundlæggende krypterings modul\" for din personlige opsætninger og opdater dine krypterings kodeord ved at indtaste dette kodeord i \"gamle kodeord log\" feltet samt dit nuværende kodeord.\n\n", "The share will expire on %s." : "Delingen vil udløbe om %s.", "Cheers!" : "Hej!", diff --git a/apps/encryption/l10n/da.json b/apps/encryption/l10n/da.json index 8f6b202d590..1ead926ca7c 100644 --- a/apps/encryption/l10n/da.json +++ b/apps/encryption/l10n/da.json @@ -25,7 +25,7 @@ "Encryption App is enabled and ready" : "App til kryptering er slået til og er klar", "one-time password for server-side-encryption" : "Engangs password for kryptering på serverdelen", "Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Kan ikke kryptere denne fil, sandsynligvis fordi filen er delt. Bed venligst filens ejer om at dele den med dig på ny.", - "Can not read this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Kan ikke læse denne fil, sandsynligvis fordi det er en delt fil. Bed venligst ejeren af filen om at dele filen med dig påny.", + "Can not read this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Kan ikke læse denne fil, sandsynligvis fordi det er en delt fil. Bed venligst ejeren af filen om at dele filen med dig på ny.", "Hey there,\n\nthe admin enabled server-side-encryption. Your files were encrypted using the password '%s'.\n\nPlease login to the web interface, go to the section 'ownCloud basic encryption module' of your personal settings and update your encryption password by entering this password into the 'old log-in password' field and your current login-password.\n\n" : "Hejsa,\n\nadministrator aktiveret kryptering på serverdelen. '%s'.\n\nVenligst log på web brugerfladen, gå til sektionen \"ownCloud grundlæggende krypterings modul\" for din personlige opsætninger og opdater dine krypterings kodeord ved at indtaste dette kodeord i \"gamle kodeord log\" feltet samt dit nuværende kodeord.\n\n", "The share will expire on %s." : "Delingen vil udløbe om %s.", "Cheers!" : "Hej!", diff --git a/apps/encryption/l10n/es.js b/apps/encryption/l10n/es.js index 516722cdc0f..cadedbcc0d4 100644 --- a/apps/encryption/l10n/es.js +++ b/apps/encryption/l10n/es.js @@ -25,10 +25,13 @@ OC.L10N.register( "Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "La clave privada no es válida para la 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", + "one-time password for server-side-encryption" : "Contraseña de un solo uso para el cifrado en el lado servidor", "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.", + "Hey there,\n\nthe admin enabled server-side-encryption. Your files were encrypted using the password '%s'.\n\nPlease login to the web interface, go to the section 'ownCloud basic encryption module' of your personal settings and update your encryption password by entering this password into the 'old log-in password' field and your current login-password.\n\n" : "Hola,\n\nEl administrador ha habilitado el cifrado del lado servidor. Sus archivos serán cifrados usando como contraseña: '%s'.\n\nPor favor logese en el interfaz web, vaya a la sección , 'Modulo básico de cifrado' de sus opciones personales y actualice su contraseña tecleando esta contraseña en el campo 'contraseña antigua' e introduciendo la neva en su correspondiente campo.\n\n", "The share will expire on %s." : "El objeto dejará de ser compartido el %s.", "Cheers!" : "¡Saludos!", + "Hey there,<br><br>the admin enabled server-side-encryption. Your files were encrypted using the password <strong>%s</strong>.<br><br>Please login to the web interface, go to the section \"ownCloud basic encryption module\" of your personal settings and update your encryption password by entering this password into the \"old log-in password\" field and your current login-password.<br><br>" : "Hola,\n<br><br>\nEl administrador ha habilitado el cifrado del lado servidor. Sus archivos serán cifrados usando como contraseña: <strong>%s</strong>\n<br><br>\nPor favor logese en el interfaz web, vaya a la sección , 'Modulo básico de cifrado' de sus opciones personales y actualice su contraseña tecleando esta contraseña en el campo 'contraseña antigua' e introduciendo la neva en su correspondiente campo.<br><br>", "Enable recovery key" : "Activa la clave de recuperación", "Disable recovery key" : "Desactiva la clave de recuperación", "The recovery key is an extra encryption key that is used to encrypt files. It allows recovery of a user's files if the user forgets his or her password." : "La clave de recuperación es una clave de cifrado extra que se usa para cifrar ficheros. Permite la recuperación de los ficheros de un usuario si él o ella olvida su contraseña.", diff --git a/apps/encryption/l10n/es.json b/apps/encryption/l10n/es.json index b070b9393a3..9bdad94cb6d 100644 --- a/apps/encryption/l10n/es.json +++ b/apps/encryption/l10n/es.json @@ -23,10 +23,13 @@ "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", + "one-time password for server-side-encryption" : "Contraseña de un solo uso para el cifrado en el lado servidor", "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.", + "Hey there,\n\nthe admin enabled server-side-encryption. Your files were encrypted using the password '%s'.\n\nPlease login to the web interface, go to the section 'ownCloud basic encryption module' of your personal settings and update your encryption password by entering this password into the 'old log-in password' field and your current login-password.\n\n" : "Hola,\n\nEl administrador ha habilitado el cifrado del lado servidor. Sus archivos serán cifrados usando como contraseña: '%s'.\n\nPor favor logese en el interfaz web, vaya a la sección , 'Modulo básico de cifrado' de sus opciones personales y actualice su contraseña tecleando esta contraseña en el campo 'contraseña antigua' e introduciendo la neva en su correspondiente campo.\n\n", "The share will expire on %s." : "El objeto dejará de ser compartido el %s.", "Cheers!" : "¡Saludos!", + "Hey there,<br><br>the admin enabled server-side-encryption. Your files were encrypted using the password <strong>%s</strong>.<br><br>Please login to the web interface, go to the section \"ownCloud basic encryption module\" of your personal settings and update your encryption password by entering this password into the \"old log-in password\" field and your current login-password.<br><br>" : "Hola,\n<br><br>\nEl administrador ha habilitado el cifrado del lado servidor. Sus archivos serán cifrados usando como contraseña: <strong>%s</strong>\n<br><br>\nPor favor logese en el interfaz web, vaya a la sección , 'Modulo básico de cifrado' de sus opciones personales y actualice su contraseña tecleando esta contraseña en el campo 'contraseña antigua' e introduciendo la neva en su correspondiente campo.<br><br>", "Enable recovery key" : "Activa la clave de recuperación", "Disable recovery key" : "Desactiva la clave de recuperación", "The recovery key is an extra encryption key that is used to encrypt files. It allows recovery of a user's files if the user forgets his or her password." : "La clave de recuperación es una clave de cifrado extra que se usa para cifrar ficheros. Permite la recuperación de los ficheros de un usuario si él o ella olvida su contraseña.", diff --git a/apps/encryption/l10n/et_EE.js b/apps/encryption/l10n/et_EE.js index f7e7e1de12c..501772c2808 100644 --- a/apps/encryption/l10n/et_EE.js +++ b/apps/encryption/l10n/et_EE.js @@ -14,6 +14,8 @@ OC.L10N.register( "Please repeat the new recovery password" : "Palun korda uut taastevõtme parooli", "Password successfully changed." : "Parool edukalt vahetatud.", "Could not change the password. Maybe the old password was not correct." : "Ei suutnud vahetada parooli. Võib-olla on vana parool valesti sisestatud.", + "Recovery Key disabled" : "Taastevõti on välja lülitatud", + "Recovery Key enabled" : "Taastevõti on sisse lülitatud", "Could not update the private key password." : "Ei suutnud uuendada privaatse võtme parooli.", "The old password was not correct, please try again." : "Vana parool polnud õige, palun proovi uuesti.", "The current log-in password was not correct, please try again." : "Praeguse sisselogimise parool polnud õige, palun proovi uuesti.", @@ -23,8 +25,14 @@ OC.L10N.register( "Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Sa ei saa seda faili dekrüpteerida, see on tõenäoliselt jagatud fail. Palun lase omanikul seda faili sinuga uuesti jagada.", "The share will expire on %s." : "Jagamine aegub %s.", "Cheers!" : "Terekest!", + "Enable recovery key" : "Luba taastevõtme kasutamine", + "Disable recovery key" : "Keela taastevõtme kasutamine", "Recovery key password" : "Taastevõtme parool", + "Repeat recovery key password" : "Korda taastevõtme parooli", "Change recovery key password:" : "Muuda taastevõtme parooli:", + "Old recovery key password" : "Vana taastevõtme parool", + "New recovery key password" : "Uus taastevõtme parool", + "Repeat new recovery key password" : "Korda uut taastevõtme parooli", "Change Password" : "Muuda parooli", "Your private key password no longer matches your log-in password." : "Sinu provaatvõtme parool ei kattu enam sinu sisselogimise parooliga.", "Set your old private key password to your current log-in password:" : "Pane oma vana privaatvõtme parooliks oma praegune sisselogimise parool.", diff --git a/apps/encryption/l10n/et_EE.json b/apps/encryption/l10n/et_EE.json index ab02c63a71e..14d4c59f9fc 100644 --- a/apps/encryption/l10n/et_EE.json +++ b/apps/encryption/l10n/et_EE.json @@ -12,6 +12,8 @@ "Please repeat the new recovery password" : "Palun korda uut taastevõtme parooli", "Password successfully changed." : "Parool edukalt vahetatud.", "Could not change the password. Maybe the old password was not correct." : "Ei suutnud vahetada parooli. Võib-olla on vana parool valesti sisestatud.", + "Recovery Key disabled" : "Taastevõti on välja lülitatud", + "Recovery Key enabled" : "Taastevõti on sisse lülitatud", "Could not update the private key password." : "Ei suutnud uuendada privaatse võtme parooli.", "The old password was not correct, please try again." : "Vana parool polnud õige, palun proovi uuesti.", "The current log-in password was not correct, please try again." : "Praeguse sisselogimise parool polnud õige, palun proovi uuesti.", @@ -21,8 +23,14 @@ "Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Sa ei saa seda faili dekrüpteerida, see on tõenäoliselt jagatud fail. Palun lase omanikul seda faili sinuga uuesti jagada.", "The share will expire on %s." : "Jagamine aegub %s.", "Cheers!" : "Terekest!", + "Enable recovery key" : "Luba taastevõtme kasutamine", + "Disable recovery key" : "Keela taastevõtme kasutamine", "Recovery key password" : "Taastevõtme parool", + "Repeat recovery key password" : "Korda taastevõtme parooli", "Change recovery key password:" : "Muuda taastevõtme parooli:", + "Old recovery key password" : "Vana taastevõtme parool", + "New recovery key password" : "Uus taastevõtme parool", + "Repeat new recovery key password" : "Korda uut taastevõtme parooli", "Change Password" : "Muuda parooli", "Your private key password no longer matches your log-in password." : "Sinu provaatvõtme parool ei kattu enam sinu sisselogimise parooliga.", "Set your old private key password to your current log-in password:" : "Pane oma vana privaatvõtme parooliks oma praegune sisselogimise parool.", diff --git a/apps/encryption/l10n/fr.js b/apps/encryption/l10n/fr.js index 68063f083fc..0de35f8ec1c 100644 --- a/apps/encryption/l10n/fr.js +++ b/apps/encryption/l10n/fr.js @@ -25,10 +25,13 @@ 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." : "Votre clef privée de chiffrement n'est pas valide ! Veuillez mettre à jour le mot de passe de la 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", + "one-time password for server-side-encryption" : "Mot de passe à usage unique pour le chiffrement côté serveur", "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. ", + "Hey there,\n\nthe admin enabled server-side-encryption. Your files were encrypted using the password '%s'.\n\nPlease login to the web interface, go to the section 'ownCloud basic encryption module' of your personal settings and update your encryption password by entering this password into the 'old log-in password' field and your current login-password.\n\n" : "Bonjour,\n\nL'administrateur a activé le chiffrement côté serveur. Vos fichiers ont été chiffrés avec le mot de passe '%s'.\n\nVeuillez vous connecté dans l'interface web, allez dans la section \"Module de chiffrement de base d'ownCloud\" de vos paramètres personnels. De là mettez à jour votre mot de passe de chiffrement en entrant ce mot de passe dans le champ \"Ancien mot de passe de connexion\" et votre mot de passe de connexion actuel.\n", "The share will expire on %s." : "Le partage expirera le %s.", "Cheers!" : "À bientôt !", + "Hey there,<br><br>the admin enabled server-side-encryption. Your files were encrypted using the password <strong>%s</strong>.<br><br>Please login to the web interface, go to the section \"ownCloud basic encryption module\" of your personal settings and update your encryption password by entering this password into the \"old log-in password\" field and your current login-password.<br><br>" : "Bonjour,<br><br>L'administrateur a activé le chiffrement côté serveur. Vos fichiers ont été chiffrés avec le mot de passe <strong>%s</strong>. <br><br>Veuillez vous connecté dans l'interface web, allez dans la section \"Module de chiffrement de base d'ownCloud\" de vos paramètres personnels. De là mettez à jour votre mot de passe de chiffrement en entrant ce mot de passe dans le champ \"Ancien mot de passe de connexion\" et votre mot de passe de connexion actuel. <br><br>", "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 49616502217..3fa598a72ce 100644 --- a/apps/encryption/l10n/fr.json +++ b/apps/encryption/l10n/fr.json @@ -23,10 +23,13 @@ "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 de chiffrement n'est pas valide ! Veuillez mettre à jour le mot de passe de la 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", + "one-time password for server-side-encryption" : "Mot de passe à usage unique pour le chiffrement côté serveur", "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. ", + "Hey there,\n\nthe admin enabled server-side-encryption. Your files were encrypted using the password '%s'.\n\nPlease login to the web interface, go to the section 'ownCloud basic encryption module' of your personal settings and update your encryption password by entering this password into the 'old log-in password' field and your current login-password.\n\n" : "Bonjour,\n\nL'administrateur a activé le chiffrement côté serveur. Vos fichiers ont été chiffrés avec le mot de passe '%s'.\n\nVeuillez vous connecté dans l'interface web, allez dans la section \"Module de chiffrement de base d'ownCloud\" de vos paramètres personnels. De là mettez à jour votre mot de passe de chiffrement en entrant ce mot de passe dans le champ \"Ancien mot de passe de connexion\" et votre mot de passe de connexion actuel.\n", "The share will expire on %s." : "Le partage expirera le %s.", "Cheers!" : "À bientôt !", + "Hey there,<br><br>the admin enabled server-side-encryption. Your files were encrypted using the password <strong>%s</strong>.<br><br>Please login to the web interface, go to the section \"ownCloud basic encryption module\" of your personal settings and update your encryption password by entering this password into the \"old log-in password\" field and your current login-password.<br><br>" : "Bonjour,<br><br>L'administrateur a activé le chiffrement côté serveur. Vos fichiers ont été chiffrés avec le mot de passe <strong>%s</strong>. <br><br>Veuillez vous connecté dans l'interface web, allez dans la section \"Module de chiffrement de base d'ownCloud\" de vos paramètres personnels. De là mettez à jour votre mot de passe de chiffrement en entrant ce mot de passe dans le champ \"Ancien mot de passe de connexion\" et votre mot de passe de connexion actuel. <br><br>", "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/ko.js b/apps/encryption/l10n/ko.js index d99e639da44..8bf099b6b36 100644 --- a/apps/encryption/l10n/ko.js +++ b/apps/encryption/l10n/ko.js @@ -25,10 +25,13 @@ 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" : "암호화 앱이 활성화되어 있지만 키가 초기화되지 않았습니다. 로그아웃한 후 다시 로그인하십시오", "Encryption App is enabled and ready" : "암호화 앱이 활성화되었고 준비됨", + "one-time password for server-side-encryption" : "서버 측 암호화용 일회용 암호", "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." : "이 파일을 읽을 수 없습니다. 공유된 파일이라면 파일 소유자에게 연락하여 다시 공유해 달라고 요청하십시오.", + "Hey there,\n\nthe admin enabled server-side-encryption. Your files were encrypted using the password '%s'.\n\nPlease login to the web interface, go to the section 'ownCloud basic encryption module' of your personal settings and update your encryption password by entering this password into the 'old log-in password' field and your current login-password.\n\n" : "안녕하세요,\n\n시스템 관리자가 서버 측 암호화를 활성화하였습니다. 저장된 파일이 암호 '%s'으(로) 암호화되었습니다.\n\n웹 인터페이스에 로그인하여 개인 설정의 'ownCloud 기본 암호화 모듈'로 이동한 다음, '이전 로그인 암호' 필드에 위 암호를 입력하고 현재 로그인 암호로 변경하여 암호화 암호를 업데이트하십시오.\n\n", "The share will expire on %s." : "이 공유는 %s 까지 유지됩니다.", "Cheers!" : "감사합니다!", + "Hey there,<br><br>the admin enabled server-side-encryption. Your files were encrypted using the password <strong>%s</strong>.<br><br>Please login to the web interface, go to the section \"ownCloud basic encryption module\" of your personal settings and update your encryption password by entering this password into the \"old log-in password\" field and your current login-password.<br><br>" : "안녕하세요,<br><br>시스템 관리자가 서버 측 암호화를 활성화하였습니다. 저장된 파일이 암호 <strong>%s</strong>으(로) 암호화되었습니다.<br><br>웹 인터페이스에 로그인하여 개인 설정의 'ownCloud 기본 암호화 모듈'로 이동한 다음, '이전 로그인 암호' 필드에 위 암호를 입력하고 현재 로그인 암호로 변경하여 암호화 암호를 업데이트하십시오.<br><br>", "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/ko.json b/apps/encryption/l10n/ko.json index e495de4c0e1..a6843bdda45 100644 --- a/apps/encryption/l10n/ko.json +++ b/apps/encryption/l10n/ko.json @@ -23,10 +23,13 @@ "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" : "암호화 앱이 활성화되었고 준비됨", + "one-time password for server-side-encryption" : "서버 측 암호화용 일회용 암호", "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." : "이 파일을 읽을 수 없습니다. 공유된 파일이라면 파일 소유자에게 연락하여 다시 공유해 달라고 요청하십시오.", + "Hey there,\n\nthe admin enabled server-side-encryption. Your files were encrypted using the password '%s'.\n\nPlease login to the web interface, go to the section 'ownCloud basic encryption module' of your personal settings and update your encryption password by entering this password into the 'old log-in password' field and your current login-password.\n\n" : "안녕하세요,\n\n시스템 관리자가 서버 측 암호화를 활성화하였습니다. 저장된 파일이 암호 '%s'으(로) 암호화되었습니다.\n\n웹 인터페이스에 로그인하여 개인 설정의 'ownCloud 기본 암호화 모듈'로 이동한 다음, '이전 로그인 암호' 필드에 위 암호를 입력하고 현재 로그인 암호로 변경하여 암호화 암호를 업데이트하십시오.\n\n", "The share will expire on %s." : "이 공유는 %s 까지 유지됩니다.", "Cheers!" : "감사합니다!", + "Hey there,<br><br>the admin enabled server-side-encryption. Your files were encrypted using the password <strong>%s</strong>.<br><br>Please login to the web interface, go to the section \"ownCloud basic encryption module\" of your personal settings and update your encryption password by entering this password into the \"old log-in password\" field and your current login-password.<br><br>" : "안녕하세요,<br><br>시스템 관리자가 서버 측 암호화를 활성화하였습니다. 저장된 파일이 암호 <strong>%s</strong>으(로) 암호화되었습니다.<br><br>웹 인터페이스에 로그인하여 개인 설정의 'ownCloud 기본 암호화 모듈'로 이동한 다음, '이전 로그인 암호' 필드에 위 암호를 입력하고 현재 로그인 암호로 변경하여 암호화 암호를 업데이트하십시오.<br><br>", "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/nb_NO.js b/apps/encryption/l10n/nb_NO.js index 460b8190488..d5ce6618689 100644 --- a/apps/encryption/l10n/nb_NO.js +++ b/apps/encryption/l10n/nb_NO.js @@ -25,10 +25,13 @@ OC.L10N.register( "Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "Ugyldig privat nøkkel for Krypterings-app. Oppdater passordet for din private nøkkel i dine personlige innstillinger for å gjenopprette tilgang til de krypterte filene dine.", "Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "App for kryptering er aktivert men nøklene dine er ikke satt opp. Logg ut og logg inn igjen.", "Encryption App is enabled and ready" : "Krypterings-appen er aktivert og klar", + "one-time password for server-side-encryption" : "engangspassord for serverkryptering", "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.", + "Hey there,\n\nthe admin enabled server-side-encryption. Your files were encrypted using the password '%s'.\n\nPlease login to the web interface, go to the section 'ownCloud basic encryption module' of your personal settings and update your encryption password by entering this password into the 'old log-in password' field and your current login-password.\n\n" : "Hei,\n\nAdministratoren har aktivert serverkryptering. Filene dine er blitt kryptert med passordet '%s'.\n\nVennligst logg inn på web-grensesnittet, gå til seksjonen 'ownCloud grunnleggende krypteringsmodul' i dine personlige innstillinger og oppdater krypteringspassordet ditt ved å legge inn dette passordet i feltet 'gammelt påloggingspassord' sammen med ditt nåværende påloggingspassord.\n\n", "The share will expire on %s." : "Delingen vil opphøre %s.", "Cheers!" : "Ha det!", + "Hey there,<br><br>the admin enabled server-side-encryption. Your files were encrypted using the password <strong>%s</strong>.<br><br>Please login to the web interface, go to the section \"ownCloud basic encryption module\" of your personal settings and update your encryption password by entering this password into the \"old log-in password\" field and your current login-password.<br><br>" : "Hei,<br><br>Administratoren har aktivert serverkryptering. Filene dine er blitt kryptert med passordet <strong>%s</strong>.<br><br>Vennligst logg inn på web-grensesnittet, gå til seksjonen \"ownCloud grunnleggende krypteringsmodul\" i dine personlige innstillinger og oppdater krypteringspassordet ditt ved å legge inn dette passordet i feltet \"gammelt påloggingspassord\" sammen med ditt nåværende påloggingspassord.<br><br>", "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.", diff --git a/apps/encryption/l10n/nb_NO.json b/apps/encryption/l10n/nb_NO.json index 8efde0eb05b..8b3e8c11747 100644 --- a/apps/encryption/l10n/nb_NO.json +++ b/apps/encryption/l10n/nb_NO.json @@ -23,10 +23,13 @@ "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", + "one-time password for server-side-encryption" : "engangspassord for serverkryptering", "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.", + "Hey there,\n\nthe admin enabled server-side-encryption. Your files were encrypted using the password '%s'.\n\nPlease login to the web interface, go to the section 'ownCloud basic encryption module' of your personal settings and update your encryption password by entering this password into the 'old log-in password' field and your current login-password.\n\n" : "Hei,\n\nAdministratoren har aktivert serverkryptering. Filene dine er blitt kryptert med passordet '%s'.\n\nVennligst logg inn på web-grensesnittet, gå til seksjonen 'ownCloud grunnleggende krypteringsmodul' i dine personlige innstillinger og oppdater krypteringspassordet ditt ved å legge inn dette passordet i feltet 'gammelt påloggingspassord' sammen med ditt nåværende påloggingspassord.\n\n", "The share will expire on %s." : "Delingen vil opphøre %s.", "Cheers!" : "Ha det!", + "Hey there,<br><br>the admin enabled server-side-encryption. Your files were encrypted using the password <strong>%s</strong>.<br><br>Please login to the web interface, go to the section \"ownCloud basic encryption module\" of your personal settings and update your encryption password by entering this password into the \"old log-in password\" field and your current login-password.<br><br>" : "Hei,<br><br>Administratoren har aktivert serverkryptering. Filene dine er blitt kryptert med passordet <strong>%s</strong>.<br><br>Vennligst logg inn på web-grensesnittet, gå til seksjonen \"ownCloud grunnleggende krypteringsmodul\" i dine personlige innstillinger og oppdater krypteringspassordet ditt ved å legge inn dette passordet i feltet \"gammelt påloggingspassord\" sammen med ditt nåværende påloggingspassord.<br><br>", "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.", diff --git a/apps/encryption/lib/crypto/encryption.php b/apps/encryption/lib/crypto/encryption.php index 1bd6af2eca7..d2925e1b6be 100644 --- a/apps/encryption/lib/crypto/encryption.php +++ b/apps/encryption/lib/crypto/encryption.php @@ -84,6 +84,9 @@ class Encryption implements IEncryptionModule { /** @var EncryptAll */ private $encryptAll; + /** @var bool */ + private $useMasterPassword; + /** * * @param Crypt $crypt @@ -105,6 +108,7 @@ class Encryption implements IEncryptionModule { $this->encryptAll = $encryptAll; $this->logger = $logger; $this->l = $il10n; + $this->useMasterPassword = $util->isMasterKeyEnabled(); } /** @@ -193,23 +197,26 @@ class Encryption implements IEncryptionModule { $this->writeCache = ''; } $publicKeys = array(); - foreach ($this->accessList['users'] as $uid) { - try { - $publicKeys[$uid] = $this->keyManager->getPublicKey($uid); - } catch (PublicKeyMissingException $e) { - $this->logger->warning( - 'no public key found for user "{uid}", user will not be able to read the file', - ['app' => 'encryption', 'uid' => $uid] - ); - // if the public key of the owner is missing we should fail - if ($uid === $this->user) { - throw $e; + if ($this->useMasterPassword === true) { + $publicKeys[$this->keyManager->getMasterKeyId()] = $this->keyManager->getPublicMasterKey(); + } else { + foreach ($this->accessList['users'] as $uid) { + try { + $publicKeys[$uid] = $this->keyManager->getPublicKey($uid); + } catch (PublicKeyMissingException $e) { + $this->logger->warning( + 'no public key found for user "{uid}", user will not be able to read the file', + ['app' => 'encryption', 'uid' => $uid] + ); + // if the public key of the owner is missing we should fail + if ($uid === $this->user) { + throw $e; + } } } } $publicKeys = $this->keyManager->addSystemKeys($this->accessList, $publicKeys, $this->user); - $encryptedKeyfiles = $this->crypt->multiKeyEncrypt($this->fileKey, $publicKeys); $this->keyManager->setAllFileKeys($this->path, $encryptedKeyfiles); } @@ -318,8 +325,12 @@ class Encryption implements IEncryptionModule { if (!empty($fileKey)) { $publicKeys = array(); - foreach ($accessList['users'] as $user) { - $publicKeys[$user] = $this->keyManager->getPublicKey($user); + if ($this->useMasterPassword === true) { + $publicKeys[$this->keyManager->getMasterKeyId()] = $this->keyManager->getPublicMasterKey(); + } else { + foreach ($accessList['users'] as $user) { + $publicKeys[$user] = $this->keyManager->getPublicKey($user); + } } $publicKeys = $this->keyManager->addSystemKeys($accessList, $publicKeys, $uid); diff --git a/apps/encryption/lib/keymanager.php b/apps/encryption/lib/keymanager.php index 6c793e5964f..c4507228878 100644 --- a/apps/encryption/lib/keymanager.php +++ b/apps/encryption/lib/keymanager.php @@ -55,6 +55,10 @@ class KeyManager { */ private $publicShareKeyId; /** + * @var string + */ + private $masterKeyId; + /** * @var string UserID */ private $keyId; @@ -131,10 +135,20 @@ class KeyManager { $this->config->setAppValue('encryption', 'publicShareKeyId', $this->publicShareKeyId); } + $this->masterKeyId = $this->config->getAppValue('encryption', + 'masterKeyId'); + if (empty($this->masterKeyId)) { + $this->masterKeyId = 'master_' . substr(md5(time()), 0, 8); + $this->config->setAppValue('encryption', 'masterKeyId', $this->masterKeyId); + } + $this->keyId = $userSession && $userSession->isLoggedIn() ? $userSession->getUser()->getUID() : false; $this->log = $log; } + /** + * check if key pair for public link shares exists, if not we create one + */ public function validateShareKey() { $shareKey = $this->getPublicShareKey(); if (empty($shareKey)) { @@ -153,6 +167,26 @@ class KeyManager { } /** + * check if a key pair for the master key exists, if not we create one + */ + public function validateMasterKey() { + $masterKey = $this->getPublicMasterKey(); + if (empty($masterKey)) { + $keyPair = $this->crypt->createKeyPair(); + + // Save public key + $this->keyStorage->setSystemUserKey( + $this->masterKeyId . '.publicKey', $keyPair['publicKey'], + Encryption::ID); + + // Encrypt private key with system password + $encryptedKey = $this->crypt->encryptPrivateKey($keyPair['privateKey'], $this->getMasterKeyPassword(), $this->masterKeyId); + $header = $this->crypt->generateHeader(); + $this->setSystemPrivateKey($this->masterKeyId, $header . $encryptedKey); + } + } + + /** * @return bool */ public function recoveryKeyExists() { @@ -304,8 +338,15 @@ class KeyManager { $this->session->setStatus(Session::INIT_EXECUTED); + try { - $privateKey = $this->getPrivateKey($uid); + if($this->util->isMasterKeyEnabled()) { + $uid = $this->getMasterKeyId(); + $passPhrase = $this->getMasterKeyPassword(); + $privateKey = $this->getSystemPrivateKey($uid); + } else { + $privateKey = $this->getPrivateKey($uid); + } $privateKey = $this->crypt->decryptPrivateKey($privateKey, $passPhrase, $uid); } catch (PrivateKeyMissingException $e) { return false; @@ -345,6 +386,10 @@ class KeyManager { public function getFileKey($path, $uid) { $encryptedFileKey = $this->keyStorage->getFileKey($path, $this->fileKeyId, Encryption::ID); + if ($this->util->isMasterKeyEnabled()) { + $uid = $this->getMasterKeyId(); + } + if (is_null($uid)) { $uid = $this->getPublicShareKeyId(); $shareKey = $this->getShareKey($path, $uid); @@ -566,4 +611,37 @@ class KeyManager { return $publicKeys; } + + /** + * get master key password + * + * @return string + * @throws \Exception + */ + protected function getMasterKeyPassword() { + $password = $this->config->getSystemValue('secret'); + if (empty($password)){ + throw new \Exception('Can not get secret from ownCloud instance'); + } + + return $password; + } + + /** + * return master key id + * + * @return string + */ + public function getMasterKeyId() { + return $this->masterKeyId; + } + + /** + * get public master key + * + * @return string + */ + public function getPublicMasterKey() { + return $this->keyStorage->getSystemUserKey($this->masterKeyId . '.publicKey', Encryption::ID); + } } diff --git a/apps/encryption/lib/users/setup.php b/apps/encryption/lib/users/setup.php index 433ea824c9b..d4f7c374547 100644 --- a/apps/encryption/lib/users/setup.php +++ b/apps/encryption/lib/users/setup.php @@ -84,6 +84,7 @@ class Setup { */ public function setupServerSide($uid, $password) { $this->keyManager->validateShareKey(); + $this->keyManager->validateMasterKey(); // Check if user already has keys if (!$this->keyManager->userHasKeys($uid)) { return $this->keyManager->storeKeyPair($uid, $password, diff --git a/apps/encryption/lib/util.php b/apps/encryption/lib/util.php index fbedc5d6077..e9f916eff38 100644 --- a/apps/encryption/lib/util.php +++ b/apps/encryption/lib/util.php @@ -102,6 +102,16 @@ class Util { } /** + * check if master key is enabled + * + * @return bool + */ + public function isMasterKeyEnabled() { + $userMasterKey = $this->config->getAppValue('encryption', 'useMasterKey', '0'); + return ($userMasterKey === '1'); + } + + /** * @param $enabled * @return bool */ diff --git a/apps/encryption/tests/command/testenablemasterkey.php b/apps/encryption/tests/command/testenablemasterkey.php new file mode 100644 index 00000000000..c905329269e --- /dev/null +++ b/apps/encryption/tests/command/testenablemasterkey.php @@ -0,0 +1,103 @@ +<?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\Command; + + +use OCA\Encryption\Command\EnableMasterKey; +use Test\TestCase; + +class TestEnableMasterKey extends TestCase { + + /** @var EnableMasterKey */ + protected $enableMasterKey; + + /** @var Util | \PHPUnit_Framework_MockObject_MockObject */ + protected $util; + + /** @var \OCP\IConfig | \PHPUnit_Framework_MockObject_MockObject */ + protected $config; + + /** @var \Symfony\Component\Console\Helper\QuestionHelper | \PHPUnit_Framework_MockObject_MockObject */ + protected $questionHelper; + + /** @var \Symfony\Component\Console\Output\OutputInterface | \PHPUnit_Framework_MockObject_MockObject */ + protected $output; + + /** @var \Symfony\Component\Console\Input\InputInterface | \PHPUnit_Framework_MockObject_MockObject */ + protected $input; + + public function setUp() { + parent::setUp(); + + $this->util = $this->getMockBuilder('OCA\Encryption\Util') + ->disableOriginalConstructor()->getMock(); + $this->config = $this->getMockBuilder('OCP\IConfig') + ->disableOriginalConstructor()->getMock(); + $this->questionHelper = $this->getMockBuilder('Symfony\Component\Console\Helper\QuestionHelper') + ->disableOriginalConstructor()->getMock(); + $this->output = $this->getMockBuilder('Symfony\Component\Console\Output\OutputInterface') + ->disableOriginalConstructor()->getMock(); + $this->input = $this->getMockBuilder('Symfony\Component\Console\Input\InputInterface') + ->disableOriginalConstructor()->getMock(); + + $this->enableMasterKey = new EnableMasterKey($this->util, $this->config, $this->questionHelper); + } + + /** + * @dataProvider dataTestExecute + * + * @param bool $isAlreadyEnabled + * @param string $answer + */ + public function testExecute($isAlreadyEnabled, $answer) { + + $this->util->expects($this->once())->method('isMasterKeyEnabled') + ->willReturn($isAlreadyEnabled); + + if ($isAlreadyEnabled) { + $this->output->expects($this->once())->method('writeln') + ->with('Master key already enabled'); + } else { + if ($answer === 'y') { + $this->questionHelper->expects($this->once())->method('ask')->willReturn(true); + $this->config->expects($this->once())->method('setAppValue') + ->with('encryption', 'useMasterKey', '1'); + } else { + $this->questionHelper->expects($this->once())->method('ask')->willReturn(false); + $this->config->expects($this->never())->method('setAppValue'); + + } + } + + $this->invokePrivate($this->enableMasterKey, 'execute', [$this->input, $this->output]); + } + + public function dataTestExecute() { + return [ + [true, ''], + [false, 'y'], + [false, 'n'], + [false, ''] + ]; + } +} diff --git a/apps/encryption/tests/lib/KeyManagerTest.php b/apps/encryption/tests/lib/KeyManagerTest.php index 71b00cf254a..8f1da623efb 100644 --- a/apps/encryption/tests/lib/KeyManagerTest.php +++ b/apps/encryption/tests/lib/KeyManagerTest.php @@ -27,6 +27,7 @@ namespace OCA\Encryption\Tests; use OCA\Encryption\KeyManager; +use OCA\Encryption\Session; use Test\TestCase; class KeyManagerTest extends TestCase { @@ -237,24 +238,62 @@ class KeyManagerTest extends TestCase { } + /** + * @dataProvider dataTestInit + * + * @param bool $useMasterKey + */ + public function testInit($useMasterKey) { + + $instance = $this->getMockBuilder('OCA\Encryption\KeyManager') + ->setConstructorArgs( + [ + $this->keyStorageMock, + $this->cryptMock, + $this->configMock, + $this->userMock, + $this->sessionMock, + $this->logMock, + $this->utilMock + ] + )->setMethods(['getMasterKeyId', 'getMasterKeyPassword', 'getSystemPrivateKey', 'getPrivateKey']) + ->getMock(); - public function testInit() { - $this->keyStorageMock->expects($this->any()) - ->method('getUserKey') - ->with($this->equalTo($this->userId), $this->equalTo('privateKey')) - ->willReturn('privateKey'); - $this->cryptMock->expects($this->any()) - ->method('decryptPrivateKey') - ->with($this->equalTo('privateKey'), $this->equalTo('pass')) - ->willReturn('decryptedPrivateKey'); + $this->utilMock->expects($this->once())->method('isMasterKeyEnabled') + ->willReturn($useMasterKey); + + $this->sessionMock->expects($this->at(0))->method('setStatus') + ->with(Session::INIT_EXECUTED); + + $instance->expects($this->any())->method('getMasterKeyId')->willReturn('masterKeyId'); + $instance->expects($this->any())->method('getMasterKeyPassword')->willReturn('masterKeyPassword'); + $instance->expects($this->any())->method('getSystemPrivateKey')->with('masterKeyId')->willReturn('privateMasterKey'); + $instance->expects($this->any())->method('getPrivateKey')->with($this->userId)->willReturn('privateUserKey'); + + if($useMasterKey) { + $this->cryptMock->expects($this->once())->method('decryptPrivateKey') + ->with('privateMasterKey', 'masterKeyPassword', 'masterKeyId') + ->willReturn('key'); + } else { + $this->cryptMock->expects($this->once())->method('decryptPrivateKey') + ->with('privateUserKey', 'pass', $this->userId) + ->willReturn('key'); + } + $this->sessionMock->expects($this->once())->method('setPrivateKey') + ->with('key'); - $this->assertTrue( - $this->instance->init($this->userId, 'pass') - ); + $this->assertTrue($instance->init($this->userId, 'pass')); + } + public function dataTestInit() { + return [ + [true], + [false] + ]; } + public function testSetRecoveryKey() { $this->keyStorageMock->expects($this->exactly(2)) ->method('setSystemUserKey') @@ -401,5 +440,92 @@ class KeyManagerTest extends TestCase { ); } + public function testGetMasterKeyId() { + $this->assertSame('systemKeyId', $this->instance->getMasterKeyId()); + } + + public function testGetPublicMasterKey() { + $this->keyStorageMock->expects($this->once())->method('getSystemUserKey') + ->with('systemKeyId.publicKey', \OCA\Encryption\Crypto\Encryption::ID) + ->willReturn(true); + + $this->assertTrue( + $this->instance->getPublicMasterKey() + ); + } + + public function testGetMasterKeyPassword() { + $this->configMock->expects($this->once())->method('getSystemValue')->with('secret') + ->willReturn('password'); + + $this->assertSame('password', + $this->invokePrivate($this->instance, 'getMasterKeyPassword', []) + ); + } + + /** + * @expectedException \Exception + */ + public function testGetMasterKeyPasswordException() { + $this->configMock->expects($this->once())->method('getSystemValue')->with('secret') + ->willReturn(''); + + $this->invokePrivate($this->instance, 'getMasterKeyPassword', []); + } + + /** + * @dataProvider dataTestValidateMasterKey + * + * @param $masterKey + */ + public function testValidateMasterKey($masterKey) { + + /** @var \OCA\Encryption\KeyManager | \PHPUnit_Framework_MockObject_MockObject $instance */ + $instance = $this->getMockBuilder('OCA\Encryption\KeyManager') + ->setConstructorArgs( + [ + $this->keyStorageMock, + $this->cryptMock, + $this->configMock, + $this->userMock, + $this->sessionMock, + $this->logMock, + $this->utilMock + ] + )->setMethods(['getPublicMasterKey', 'setSystemPrivateKey', 'getMasterKeyPassword']) + ->getMock(); + + $instance->expects($this->once())->method('getPublicMasterKey') + ->willReturn($masterKey); + + $instance->expects($this->any())->method('getMasterKeyPassword')->willReturn('masterKeyPassword'); + $this->cryptMock->expects($this->any())->method('generateHeader')->willReturn('header'); + + if(empty($masterKey)) { + $this->cryptMock->expects($this->once())->method('createKeyPair') + ->willReturn(['publicKey' => 'public', 'privateKey' => 'private']); + $this->keyStorageMock->expects($this->once())->method('setSystemUserKey') + ->with('systemKeyId.publicKey', 'public', \OCA\Encryption\Crypto\Encryption::ID); + $this->cryptMock->expects($this->once())->method('encryptPrivateKey') + ->with('private', 'masterKeyPassword', 'systemKeyId') + ->willReturn('EncryptedKey'); + $instance->expects($this->once())->method('setSystemPrivateKey') + ->with('systemKeyId', 'headerEncryptedKey'); + } else { + $this->cryptMock->expects($this->never())->method('createKeyPair'); + $this->keyStorageMock->expects($this->never())->method('setSystemUserKey'); + $this->cryptMock->expects($this->never())->method('encryptPrivateKey'); + $instance->expects($this->never())->method('setSystemPrivateKey'); + } + + $instance->validateMasterKey(); + } + + public function dataTestValidateMasterKey() { + return [ + ['masterKey'], + [''] + ]; + } } diff --git a/apps/encryption/tests/lib/UtilTest.php b/apps/encryption/tests/lib/UtilTest.php index e75e8ea36b4..9988ff93f43 100644 --- a/apps/encryption/tests/lib/UtilTest.php +++ b/apps/encryption/tests/lib/UtilTest.php @@ -132,4 +132,25 @@ class UtilTest extends TestCase { return $default ?: null; } + /** + * @dataProvider dataTestIsMasterKeyEnabled + * + * @param string $value + * @param bool $expect + */ + public function testIsMasterKeyEnabled($value, $expect) { + $this->configMock->expects($this->once())->method('getAppValue') + ->with('encryption', 'useMasterKey', '0')->willReturn($value); + $this->assertSame($expect, + $this->instance->isMasterKeyEnabled() + ); + } + + public function dataTestIsMasterKeyEnabled() { + return [ + ['0', false], + ['1', true] + ]; + } + } diff --git a/apps/encryption/tests/lib/users/SetupTest.php b/apps/encryption/tests/lib/users/SetupTest.php index e6936c5c12e..bca3ff58b07 100644 --- a/apps/encryption/tests/lib/users/SetupTest.php +++ b/apps/encryption/tests/lib/users/SetupTest.php @@ -43,6 +43,8 @@ class SetupTest extends TestCase { private $instance; public function testSetupServerSide() { + $this->keyManagerMock->expects($this->exactly(2))->method('validateShareKey'); + $this->keyManagerMock->expects($this->exactly(2))->method('validateMasterKey'); $this->keyManagerMock->expects($this->exactly(2)) ->method('userHasKeys') ->with('admin') diff --git a/apps/files/ajax/upload.php b/apps/files/ajax/upload.php index 4bc2ce8bdf3..7ff02d8db8e 100644 --- a/apps/files/ajax/upload.php +++ b/apps/files/ajax/upload.php @@ -148,7 +148,7 @@ if ($maxUploadFileSize >= 0 and $totalSize > $maxUploadFileSize) { } $result = array(); -if (strpos($dir, '..') === false) { +if (\OC\Files\Filesystem::isValidPath($dir) === true) { $fileCount = count($files['name']); for ($i = 0; $i < $fileCount; $i++) { diff --git a/apps/files/css/files.css b/apps/files/css/files.css index 375666141ba..05033dc2fed 100644 --- a/apps/files/css/files.css +++ b/apps/files/css/files.css @@ -18,11 +18,6 @@ z-index: -30; } -#new { - z-index: 1010; - float: left; - padding: 0 !important; /* override default control bar button padding */ -} #trash { margin-right: 8px; float: right; @@ -30,49 +25,8 @@ padding: 10px; font-weight: normal; } -#new > a { - padding: 14px 10px; - position: relative; - top: 7px; -} -#new.active { - border-bottom-left-radius: 0; - border-bottom-right-radius: 0; - border-bottom: none; - background: #f8f8f8; -} -#new > ul { - display: none; - position: fixed; - min-width: 112px; - z-index: -10; - padding: 8px; - padding-bottom: 0; - margin-top: 13.5px; - margin-left: -1px; - text-align: left; - background: #f8f8f8; - border: 1px solid #ddd; - border: 1px solid rgba(240, 240, 240, 0.9); - border-radius: 5px; - border-top-left-radius: 0; - box-shadow: 0 2px 7px rgba(170,170,170,.4); -} -#new > ul > li { - height: 36px; - margin: 5px; - padding-left: 42px; - padding-bottom: 2px; - background-position: left center; - cursor: pointer; -} -#new > ul > li > p { - cursor: pointer; - padding-top: 7px; - padding-bottom: 7px; -} -#new .error, #fileList .error { +.newFileMenu .error, #fileList .error { color: #e9322d; border-color: #e9322d; -webkit-box-shadow: 0 0 6px #f8b9b7; @@ -144,6 +98,30 @@ margin-bottom: 44px; } +#app-navigation .nav-files a.nav-icon-files { + width: auto; +} +/* button needs overrides due to navigation styles */ +#app-navigation .nav-files a.new { + width: 40px; + height: 32px; + padding: 0 10px; + margin: 0; + cursor: pointer; +} + +#app-navigation .nav-files a { + display: inline-block; +} + +#app-navigation .nav-files a.new.hidden { + display: none; +} + +#app-navigation .nav-files a.new.disabled { + opacity: 0.3; +} + #filestable tbody tr { background-color: #fff; height: 40px; @@ -600,7 +578,8 @@ a.action > img { #fileList a.action.action-menu { padding: 17px 14px; } -#fileList .fileActionsMenu { + +#fileList .popovermenu { margin-right: 21px; } @@ -655,13 +634,13 @@ a.action > img { } /* properly display actions in the popover menu */ -#fileList .fileActionsMenu .action { +#fileList .popovermenu .action { -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)" !important; filter: alpha(opacity=50) !important; opacity: .5 !important; } -#fileList .fileActionsMenu .action:hover, -#fileList .fileActionsMenu .action:focus { +#fileList .popovermenu .action:hover, +#fileList .popovermenu .action:focus { -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)" !important; filter: alpha(opacity=100) !important; opacity: 1 !important; @@ -745,43 +724,56 @@ table.dragshadow td.size { opacity: 0; } -.fileActionsMenu { - padding: 4px 12px; -} -.fileActionsMenu li { - padding: 5px 0; -} -#fileList .fileActionsMenu a.action img { +#fileList .popovermenu a.action img { padding: initial; } -#fileList .fileActionsMenu a.action { + +#fileList .popovermenu a.action { padding: 10px; margin: -10px; } -.fileActionsMenu.hidden { - display: none; +.newFileMenu { + width: 140px; + margin-left: -56px; + margin-top: 25px; } -#fileList .fileActionsMenu .action { - display: block; - line-height: 30px; - padding-left: 5px; - color: #000; +.newFileMenu .menuitem { + white-space: nowrap; + overflow: hidden; +} +.newFileMenu.popovermenu .menuitem .icon { + margin-bottom: -2px; +} +.newFileMenu.popovermenu a.menuitem, +.newFileMenu.popovermenu label.menuitem, +.newFileMenu.popovermenu .menuitem { padding: 0; + margin: 0; +} + +.newFileMenu.bubble:after { + left: 75px; + right: auto; +} +.newFileMenu.bubble:before { + left: 75px; + right: auto; } -.fileActionsMenu .action img, -.fileActionsMenu .action .no-icon { +.newFileMenu .filenameform { display: inline-block; - width: 16px; - margin-right: 5px; } -.fileActionsMenu .action { - opacity: 0.5; +.newFileMenu .filenameform input { + width: 100px; } -.fileActionsMenu li:hover .action { - opacity: 1; +#fileList .popovermenu .action { + display: block; + line-height: 30px; + padding-left: 5px; + color: #000; + padding: 0; } diff --git a/apps/files/css/upload.css b/apps/files/css/upload.css index bd60f831388..07b788b937f 100644 --- a/apps/files/css/upload.css +++ b/apps/files/css/upload.css @@ -24,20 +24,6 @@ } .file_upload_target { display:none; } .file_upload_form { display:inline; float:left; margin:0; padding:0; cursor:pointer; overflow:visible; } -#file_upload_start { - position: relative; - left: 0; - top: 0; - width: 44px; - height: 44px; - margin: -5px -3px; - padding: 0; - font-size: 16px; - -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; filter:alpha(opacity=0); opacity:0; - z-index: 20; - cursor: pointer; - overflow: hidden; -} #uploadprogresswrapper, #uploadprogresswrapper * { -moz-box-sizing: border-box; diff --git a/apps/files/index.php b/apps/files/index.php index a73caa50fbe..cc007ebdb07 100644 --- a/apps/files/index.php +++ b/apps/files/index.php @@ -38,6 +38,7 @@ OCP\Util::addStyle('files', 'upload'); OCP\Util::addStyle('files', 'mobile'); OCP\Util::addscript('files', 'app'); OCP\Util::addscript('files', 'file-upload'); +OCP\Util::addscript('files', 'newfilemenu'); OCP\Util::addscript('files', 'jquery.iframe-transport'); OCP\Util::addscript('files', 'jquery.fileupload'); OCP\Util::addscript('files', 'jquery-visibility'); diff --git a/apps/files/js/detailsview.js b/apps/files/js/detailsview.js index 83d7fd4a178..3a775c29ec6 100644 --- a/apps/files/js/detailsview.js +++ b/apps/files/js/detailsview.js @@ -35,7 +35,7 @@ var DetailsView = OC.Backbone.View.extend({ id: 'app-sidebar', tabName: 'div', - className: 'detailsView', + className: 'detailsView scroll-container', _template: null, diff --git a/apps/files/js/detailtabview.js b/apps/files/js/detailtabview.js index b0e170bc4e7..449047cf252 100644 --- a/apps/files/js/detailtabview.js +++ b/apps/files/js/detailtabview.js @@ -84,6 +84,13 @@ */ getFileInfo: function() { return this.model; + }, + + /** + * Load the next page of results + */ + nextPage: function() { + // load the next page, if applicable } }); DetailTabView._TAB_COUNT = 0; diff --git a/apps/files/js/file-upload.js b/apps/files/js/file-upload.js index 6b6acdb5e01..17f0f777169 100644 --- a/apps/files/js/file-upload.js +++ b/apps/files/js/file-upload.js @@ -551,155 +551,6 @@ OC.Upload = { $('#file_upload_start').attr('multiple', 'multiple'); } - $(document).click(function(ev) { - // do not close when clicking in the dropdown - if ($(ev.target).closest('#new').length){ - return; - } - $('#new>ul').hide(); - $('#new').removeClass('active'); - if ($('#new .error').length > 0) { - $('#new .error').tipsy('hide'); - } - $('#new li').each(function(i,element) { - if ($(element).children('p').length === 0) { - $(element).children('form').remove(); - $(element).append('<p>' + $(element).data('text') + '</p>'); - } - }); - }); - $('#new').click(function(event) { - event.stopPropagation(); - }); - $('#new>a').click(function() { - $('#new>ul').toggle(); - $('#new').toggleClass('active'); - }); - $('#new li').click(function() { - if ($(this).children('p').length === 0) { - return; - } - - $('#new .error').tipsy('hide'); - - $('#new li').each(function(i, element) { - if ($(element).children('p').length === 0) { - $(element).children('form').remove(); - $(element).append('<p>' + $(element).data('text') + '</p>'); - } - }); - - var type = $(this).data('type'); - var text = $(this).children('p').text(); - $(this).data('text', text); - $(this).children('p').remove(); - - // add input field - var form = $('<form></form>'); - var input = $('<input type="text">'); - var newName = $(this).attr('data-newname') || ''; - var fileType = 'input-' + $(this).attr('data-type'); - if (newName) { - input.val(newName); - input.attr('id', fileType); - } - var label = $('<label class="hidden-visually" for="">' + escapeHTML(newName) + '</label>'); - label.attr('for', fileType); - - form.append(label).append(input); - $(this).append(form); - var lastPos; - var checkInput = function () { - var filename = input.val(); - if (!Files.isFileNameValid(filename)) { - // Files.isFileNameValid(filename) throws an exception itself - } else if (FileList.inList(filename)) { - throw t('files', '{new_name} already exists', {new_name: filename}); - } else { - return true; - } - }; - - // verify filename on typing - input.keyup(function(event) { - try { - checkInput(); - input.tipsy('hide'); - input.removeClass('error'); - } catch (error) { - input.attr('title', error); - input.tipsy({gravity: 'w', trigger: 'manual'}); - input.tipsy('show'); - input.addClass('error'); - } - }); - - input.focus(); - // pre select name up to the extension - lastPos = newName.lastIndexOf('.'); - if (lastPos === -1) { - lastPos = newName.length; - } - input.selectRange(0, lastPos); - form.submit(function(event) { - event.stopPropagation(); - event.preventDefault(); - try { - checkInput(); - var newname = input.val(); - if (FileList.lastAction) { - FileList.lastAction(); - } - var name = FileList.getUniqueName(newname); - switch(type) { - case 'file': - $.post( - OC.filePath('files', 'ajax', 'newfile.php'), - { - dir: FileList.getCurrentDirectory(), - filename: name - }, - function(result) { - if (result.status === 'success') { - FileList.add(result.data, {animate: true, scrollTo: true}); - } else { - OC.dialogs.alert(result.data.message, t('core', 'Could not create file')); - } - } - ); - break; - case 'folder': - $.post( - OC.filePath('files','ajax','newfolder.php'), - { - dir: FileList.getCurrentDirectory(), - foldername: name - }, - function(result) { - if (result.status === 'success') { - FileList.add(result.data, {animate: true, scrollTo: true}); - } else { - OC.dialogs.alert(result.data.message, t('core', 'Could not create folder')); - } - } - ); - break; - } - var li = form.parent(); - form.remove(); - /* workaround for IE 9&10 click event trap, 2 lines: */ - $('input').first().focus(); - $('#content').focus(); - li.append('<p>' + li.data('text') + '</p>'); - $('#new>a').click(); - } catch (error) { - input.attr('title', error); - input.tipsy({gravity: 'w', trigger: 'manual'}); - input.tipsy('show'); - input.addClass('error'); - } - }); - }); window.file_upload_param = file_upload_param; return file_upload_param; } diff --git a/apps/files/js/fileactionsmenu.js b/apps/files/js/fileactionsmenu.js index 623ebde5442..5ab0e42f93e 100644 --- a/apps/files/js/fileactionsmenu.js +++ b/apps/files/js/fileactionsmenu.js @@ -14,7 +14,7 @@ '<ul>' + '{{#each items}}' + '<li>' + - '<a href="#" class="action action-{{nameLowerCase}} permanent" data-action="{{name}}">{{#if icon}}<img src="{{icon}}"/>{{else}}<span class="no-icon"></span>{{/if}}<span>{{displayName}}</span></a>' + + '<a href="#" class="menuitem action action-{{nameLowerCase}} permanent" data-action="{{name}}">{{#if icon}}<img class="icon" src="{{icon}}"/>{{else}}<span class="no-icon"></span>{{/if}}<span>{{displayName}}</span></a>' + '</li>' + '{{/each}}' + '</ul>'; @@ -26,7 +26,7 @@ */ var FileActionsMenu = OC.Backbone.View.extend({ tagName: 'div', - className: 'fileActionsMenu bubble hidden open menu', + className: 'fileActionsMenu popovermenu bubble hidden open menu', /** * Current context diff --git a/apps/files/js/filelist.js b/apps/files/js/filelist.js index 9593ee79e66..c52e414e3a7 100644 --- a/apps/files/js/filelist.js +++ b/apps/files/js/filelist.js @@ -9,6 +9,9 @@ */ (function() { + + var TEMPLATE_ADDBUTTON = '<a href="#" class="button new" title="{{addText}}"><img src="{{iconUrl}}"></img></a>'; + /** * @class OCA.Files.FileList * @classdesc @@ -220,6 +223,8 @@ this.$el.find('#controls').prepend(this.breadcrumb.$el); + this._renderNewButton(); + this.$el.find('thead th .columntitle').click(_.bind(this._onClickHeader, this)); this._onResize = _.debounce(_.bind(this._onResize, this), 100); @@ -262,6 +267,12 @@ * Destroy / uninitialize this instance. */ destroy: function() { + if (this._newFileMenu) { + this._newFileMenu.remove(); + } + if (this._newButton) { + this._newButton.remove(); + } // TODO: also unregister other event handlers this.fileActions.off('registerAction', this._onFileActionsUpdated); this.fileActions.off('setDefault', this._onFileActionsUpdated); @@ -291,6 +302,7 @@ * @return {OCA.Files.FileInfoModel} file info model */ getModelForFile: function(fileName) { + var self = this; var $tr; // jQuery object ? if (fileName.is) { @@ -318,6 +330,21 @@ if (!model.has('path')) { model.set('path', this.getCurrentDirectory(), {silent: true}); } + + model.on('change', function(model) { + // re-render row + var highlightState = $tr.hasClass('highlighted'); + $tr = self.updateRow( + $tr, + _.extend({isPreviewAvailable: true}, model.toJSON()), + {updateSummary: true, silent: false, animate: true} + ); + $tr.toggleClass('highlighted', highlightState); + }); + model.on('busy', function(model, state) { + self.showFileBusyState($tr, state); + }); + return model; }, @@ -341,6 +368,9 @@ if (!fileName) { OC.Apps.hideAppSidebar(this._detailsView.$el); this._detailsView.setFileInfo(null); + if (this._currentFileModel) { + this._currentFileModel.off(); + } this._currentFileModel = null; return; } @@ -1223,6 +1253,10 @@ reload: function() { this._selectedFiles = {}; this._selectionSummary.clear(); + if (this._currentFileModel) { + this._currentFileModel.off(); + } + this._currentFileModel = null; this.$el.find('.select-all').prop('checked', false); this.showMask(); if (this._reloadCall) { @@ -1555,6 +1589,23 @@ }, /** + * Updates the given row with the given file info + * + * @param {Object} $tr row element + * @param {OCA.Files.FileInfo} fileInfo file info + * @param {Object} options options + * + * @return {Object} new row element + */ + updateRow: function($tr, fileInfo, options) { + this.files.splice($tr.index(), 1); + $tr.remove(); + $tr = this.add(fileInfo, _.extend({updateSummary: false, silent: true}, options)); + this.$fileList.trigger($.Event('fileActionsReady', {fileList: this, $files: $tr})); + return $tr; + }, + + /** * Triggers file rename input field for the given file name. * If the user enters a new name, the file will be renamed. * @@ -1690,6 +1741,106 @@ form.trigger('submit'); }); }, + + /** + * Create an empty file inside the current directory. + * + * @param {string} name name of the file + * + * @return {Promise} promise that will be resolved after the + * file was created + * + * @since 8.2 + */ + createFile: function(name) { + var self = this; + var deferred = $.Deferred(); + var promise = deferred.promise(); + + OCA.Files.Files.isFileNameValid(name); + name = this.getUniqueName(name); + + if (this.lastAction) { + this.lastAction(); + } + + $.post( + OC.generateUrl('/apps/files/ajax/newfile.php'), + { + dir: this.getCurrentDirectory(), + filename: name + }, + function(result) { + if (result.status === 'success') { + self.add(result.data, {animate: true, scrollTo: true}); + deferred.resolve(result.status, result.data); + } else { + if (result.data && result.data.message) { + OC.Notification.showTemporary(result.data.message); + } else { + OC.Notification.showTemporary(t('core', 'Could not create file')); + } + deferred.reject(result.status, result.data); + } + } + ); + + return promise; + }, + + /** + * Create a directory inside the current directory. + * + * @param {string} name name of the directory + * + * @return {Promise} promise that will be resolved after the + * directory was created + * + * @since 8.2 + */ + createDirectory: function(name) { + var self = this; + var deferred = $.Deferred(); + var promise = deferred.promise(); + + OCA.Files.Files.isFileNameValid(name); + name = this.getUniqueName(name); + + if (this.lastAction) { + this.lastAction(); + } + + $.post( + OC.generateUrl('/apps/files/ajax/newfolder.php'), + { + dir: this.getCurrentDirectory(), + foldername: name + }, + function(result) { + if (result.status === 'success') { + self.add(result.data, {animate: true, scrollTo: true}); + deferred.resolve(result.status, result.data); + } else { + if (result.data && result.data.message) { + OC.Notification.showTemporary(result.data.message); + } else { + OC.Notification.showTemporary(t('core', 'Could not create folder')); + } + deferred.reject(result.status); + } + } + ); + + return promise; + }, + + /** + * Returns whether the given file name exists in the list + * + * @param {string} file file name + * + * @return {bool} true if the file exists in the list, false otherwise + */ inList:function(file) { return this.findFileEl(file).length; }, @@ -2351,6 +2502,47 @@ }); }, + _renderNewButton: function() { + // if an upload button (legacy) already exists, skip + if ($('#controls .button.upload').length) { + return; + } + if (!this._addButtonTemplate) { + this._addButtonTemplate = Handlebars.compile(TEMPLATE_ADDBUTTON); + } + var $newButton = $(this._addButtonTemplate({ + addText: t('files', 'New'), + iconUrl: OC.imagePath('core', 'actions/add') + })); + + $('#controls .actions').prepend($newButton); + $newButton.tooltip({'placement': 'bottom'}); + + $newButton.click(_.bind(this._onClickNewButton, this)); + this._newButton = $newButton; + }, + + _onClickNewButton: function(event) { + var $target = $(event.target); + if (!$target.hasClass('.button')) { + $target = $target.closest('.button'); + } + this._newButton.tooltip('hide'); + event.preventDefault(); + if ($target.hasClass('disabled')) { + return false; + } + if (!this._newFileMenu) { + this._newFileMenu = new OCA.Files.NewFileMenu({ + fileList: this + }); + $('body').append(this._newFileMenu.$el); + } + this._newFileMenu.showAt($target); + + return false; + }, + /** * Register a tab view to be added to all views */ diff --git a/apps/files/js/mainfileinfodetailview.js b/apps/files/js/mainfileinfodetailview.js index 785eed8d712..efdbb5e2ad1 100644 --- a/apps/files/js/mainfileinfodetailview.js +++ b/apps/files/js/mainfileinfodetailview.js @@ -124,7 +124,7 @@ // TODO: we really need OC.Previews var $iconDiv = this.$el.find('.thumbnail'); - $iconDiv.addClass('icon-loading'); + $iconDiv.addClass('icon-loading icon-32'); $container = this.$el.find('.thumbnailContainer'); if (!this.model.isDirectory()) { this._fileList.lazyLoadPreview({ @@ -137,7 +137,7 @@ callback: function(previewUrl, img) { $iconDiv.previewImg = previewUrl; if (img) { - $iconDiv.removeClass('icon-loading'); + $iconDiv.removeClass('icon-loading icon-32'); if(img.height > img.width) { $container.addClass('portrait'); } @@ -163,7 +163,7 @@ } }.bind(this), error: function() { - $iconDiv.removeClass('icon-loading'); + $iconDiv.removeClass('icon-loading icon-32'); this.$el.find('.thumbnailContainer').removeClass('image'); //fall back to regular view $iconDiv.css({ 'background-image': 'url("' + $iconDiv.previewImg + '")' diff --git a/apps/files/js/newfilemenu.js b/apps/files/js/newfilemenu.js new file mode 100644 index 00000000000..4c021e6b873 --- /dev/null +++ b/apps/files/js/newfilemenu.js @@ -0,0 +1,235 @@ +/* + * Copyright (c) 2014 + * + * This file is licensed under the Affero General Public License version 3 + * or later. + * + * See the COPYING-README file. + * + */ + +/* global Files */ + +(function() { + + var TEMPLATE_MENU = + '<ul>' + + '<li>' + + '<label for="file_upload_start" class="menuitem" data-action="upload" title="{{uploadMaxHumanFilesize}}"><span class="svg icon icon-upload"></span><span class="displayname">{{uploadLabel}}</span></label>' + + '</li>' + + '{{#each items}}' + + '<li>' + + '<a href="#" class="menuitem" data-templatename="{{templateName}}" data-filetype="{{fileType}}" data-action="{{id}}"><span class="icon {{iconClass}} svg"></span><span class="displayname">{{displayName}}</span></a>' + + '</li>' + + '{{/each}}' + + '</ul>'; + + var TEMPLATE_FILENAME_FORM = + '<form class="filenameform">' + + '<label class="hidden-visually" for="{{cid}}-input-{{fileType}}">{{fileName}}</label>' + + '<input id="{{cid}}-input-{{fileType}}" type="text" value="{{fileName}}">' + + '</form>'; + + /** + * Construct a new NewFileMenu instance + * @constructs NewFileMenu + * + * @memberof OCA.Files + */ + var NewFileMenu = OC.Backbone.View.extend({ + tagName: 'div', + className: 'newFileMenu popovermenu bubble hidden open menu', + + events: { + 'click .menuitem': '_onClickAction' + }, + + initialize: function(options) { + var self = this; + var $uploadEl = $('#file_upload_start'); + if ($uploadEl.length) { + $uploadEl.on('fileuploadstart', function() { + self.trigger('actionPerformed', 'upload'); + }); + } else { + console.warn('Missing upload element "file_upload_start"'); + } + + this._fileList = options && options.fileList; + }, + + template: function(data) { + if (!OCA.Files.NewFileMenu._TEMPLATE) { + OCA.Files.NewFileMenu._TEMPLATE = Handlebars.compile(TEMPLATE_MENU); + } + return OCA.Files.NewFileMenu._TEMPLATE(data); + }, + + /** + * Event handler whenever an action has been clicked within the menu + * + * @param {Object} event event object + */ + _onClickAction: function(event) { + var $target = $(event.target); + if (!$target.hasClass('menuitem')) { + $target = $target.closest('.menuitem'); + } + var action = $target.attr('data-action'); + // note: clicking the upload label will automatically + // set the focus on the "file_upload_start" hidden field + // which itself triggers the upload dialog. + // Currently the upload logic is still in file-upload.js and filelist.js + if (action === 'upload') { + OC.hideMenus(); + } else { + event.preventDefault(); + this._promptFileName($target); + } + }, + + _promptFileName: function($target) { + var self = this; + if (!OCA.Files.NewFileMenu._TEMPLATE_FORM) { + OCA.Files.NewFileMenu._TEMPLATE_FORM = Handlebars.compile(TEMPLATE_FILENAME_FORM); + } + + if ($target.find('form').length) { + $target.find('input').focus(); + return; + } + + // discard other forms + this.$el.find('form').remove(); + this.$el.find('.displayname').removeClass('hidden'); + + $target.find('.displayname').addClass('hidden'); + + var newName = $target.attr('data-templatename'); + var fileType = $target.attr('data-filetype'); + var $form = $(OCA.Files.NewFileMenu._TEMPLATE_FORM({ + fileName: newName, + cid: this.cid, + fileType: fileType + })); + + //this.trigger('actionPerformed', action); + $target.append($form); + + // here comes the OLD code + var $input = $form.find('input'); + + var lastPos; + var checkInput = function () { + var filename = $input.val(); + try { + if (!Files.isFileNameValid(filename)) { + // Files.isFileNameValid(filename) throws an exception itself + } else if (self._fileList.inList(filename)) { + throw t('files', '{newname} already exists', {newname: filename}); + } else { + return true; + } + } catch (error) { + $input.attr('title', error); + $input.tooltip({placement: 'right', trigger: 'manual'}); + $input.tooltip('show'); + $input.addClass('error'); + } + return false; + }; + + // verify filename on typing + $input.keyup(function() { + if (checkInput()) { + $input.tooltip('hide'); + $input.removeClass('error'); + } + }); + + $input.focus(); + // pre select name up to the extension + lastPos = newName.lastIndexOf('.'); + if (lastPos === -1) { + lastPos = newName.length; + } + $input.selectRange(0, lastPos); + + $form.submit(function(event) { + event.stopPropagation(); + event.preventDefault(); + + if (checkInput()) { + var newname = $input.val(); + self._createFile(fileType, newname); + $form.remove(); + $target.find('.displayname').removeClass('hidden'); + OC.hideMenus(); + } + }); + }, + + /** + * Creates a file with the given type and name. + * This calls the matching methods on the attached file list. + * + * @param {string} fileType file type + * @param {string} name file name + */ + _createFile: function(fileType, name) { + switch(fileType) { + case 'file': + this._fileList.createFile(name); + break; + case 'folder': + this._fileList.createDirectory(name); + break; + default: + console.warn('Unknown file type "' + fileType + '"'); + } + }, + + /** + * Renders the menu with the currently set items + */ + render: function() { + this.$el.html(this.template({ + uploadMaxHumanFileSize: 'TODO', + uploadLabel: t('files', 'Upload'), + items: [{ + id: 'file', + displayName: t('files', 'Text file'), + templateName: t('files', 'New text file.txt'), + iconClass: 'icon-filetype-text', + fileType: 'file' + }, { + id: 'folder', + displayName: t('files', 'Folder'), + templateName: t('files', 'New folder'), + iconClass: 'icon-folder', + fileType: 'folder' + }] + })); + }, + + /** + * Displays the menu under the given element + * + * @param {Object} $target target element + */ + showAt: function($target) { + this.render(); + var targetOffset = $target.offset(); + this.$el.css({ + left: targetOffset.left, + top: targetOffset.top + $target.height() + }); + this.$el.removeClass('hidden'); + + OC.showMenu(null, this.$el); + } + }); + + OCA.Files.NewFileMenu = NewFileMenu; + +})(); diff --git a/apps/files/js/tagsplugin.js b/apps/files/js/tagsplugin.js index 609e38ca9a9..9f45da9a6e2 100644 --- a/apps/files/js/tagsplugin.js +++ b/apps/files/js/tagsplugin.js @@ -92,6 +92,7 @@ actionHandler: function(fileName, context) { var $actionEl = context.$file.find('.action-favorite'); var $file = context.$file; + var fileInfo = context.fileList.files[$file.index()]; var dir = context.dir || context.fileList.getCurrentDirectory(); var tags = $file.attr('data-tags'); if (_.isUndefined(tags)) { @@ -106,9 +107,11 @@ } else { tags.push(OC.TAG_FAVORITE); } + + // pre-toggle the star toggleStar($actionEl, !isFavorite); - context.fileInfoModel.set('tags', tags); + context.fileInfoModel.trigger('busy', context.fileInfoModel, true); self.applyFileTags( dir + '/' + fileName, @@ -116,17 +119,16 @@ $actionEl, isFavorite ).then(function(result) { + context.fileInfoModel.trigger('busy', context.fileInfoModel, false); // response from server should contain updated tags var newTags = result.tags; if (_.isUndefined(newTags)) { newTags = tags; } - var fileInfo = context.fileList.files[$file.index()]; - // read latest state from result - toggleStar($actionEl, (newTags.indexOf(OC.TAG_FAVORITE) >= 0)); - $file.attr('data-tags', newTags.join('|')); - $file.attr('data-favorite', !isFavorite); - fileInfo.tags = newTags; + context.fileInfoModel.set({ + 'tags': newTags, + 'favorite': !isFavorite + }); }); } }); diff --git a/apps/files/l10n/af_ZA.js b/apps/files/l10n/af_ZA.js index 1844e8ad363..2061e5ec49c 100644 --- a/apps/files/l10n/af_ZA.js +++ b/apps/files/l10n/af_ZA.js @@ -2,7 +2,7 @@ OC.L10N.register( "files", { "Error" : "Fout", - "Settings" : "Instellings", - "Folder" : "Omslag" + "Folder" : "Omslag", + "Settings" : "Instellings" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/files/l10n/af_ZA.json b/apps/files/l10n/af_ZA.json index 841c572bc7c..95096fd551b 100644 --- a/apps/files/l10n/af_ZA.json +++ b/apps/files/l10n/af_ZA.json @@ -1,6 +1,6 @@ { "translations": { "Error" : "Fout", - "Settings" : "Instellings", - "Folder" : "Omslag" + "Folder" : "Omslag", + "Settings" : "Instellings" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/files/l10n/ar.js b/apps/files/l10n/ar.js index d4960b2f370..6dab5f6ba27 100644 --- a/apps/files/l10n/ar.js +++ b/apps/files/l10n/ar.js @@ -27,12 +27,12 @@ OC.L10N.register( "Upload cancelled." : "تم إلغاء عملية رفع الملفات .", "Could not get result from server." : "تعذر الحصول على نتيجة من الخادم", "File upload is in progress. Leaving the page now will cancel the upload." : "عملية رفع الملفات قيد التنفيذ. اغلاق الصفحة سوف يلغي عملية رفع الملفات.", - "{new_name} already exists" : "{new_name} موجود مسبقا", "Actions" : "* تطبيقات.\n* أنشطة.", "Download" : "تحميل", "Pending" : "قيد الانتظار", "Error moving file" : "حدث خطأ أثناء نقل الملف", "Error" : "خطأ", + "{new_name} already exists" : "{new_name} موجود مسبقا", "Name" : "اسم", "Size" : "حجم", "Modified" : "معدل", @@ -40,10 +40,15 @@ OC.L10N.register( "_%n file_::_%n files_" : ["لا يوجد ملفات %n","ملف %n","2 ملف %n","قليل من ملفات %n","الكثير من ملفات %n"," ملفات %n"], "{dirs} and {files}" : "{dirs} و {files}", "_Uploading %n file_::_Uploading %n files_" : ["لا يوجد ملفات %n لتحميلها","تحميل 1 ملف %n","تحميل 2 ملف %n","يتم تحميل عدد قليل من ملفات %n","يتم تحميل عدد كبير من ملفات %n","يتم تحميل ملفات %n"], + "New" : "جديد", "File name cannot be empty." : "اسم الملف لا يجوز أن يكون فارغا", "Your storage is full, files can not be updated or synced anymore!" : "مساحتك التخزينية ممتلئة, لا يمكم تحديث ملفاتك أو مزامنتها بعد الآن !", "Your storage is almost full ({usedSpacePercent}%)" : "مساحتك التخزينية امتلأت تقريبا ", "Favorite" : "المفضلة", + "Upload" : "رفع", + "Text file" : "ملف", + "Folder" : "مجلد", + "New folder" : "مجلد جديد", "A new file or folder has been <strong>created</strong>" : "تم <strong> إنشاء</strong> ملف جديد أو مجلد ", "A file or folder has been <strong>changed</strong>" : "تم <strong> تغيير</strong> ملف أو مجلد", "A file or folder has been <strong>deleted</strong>" : "تم <strong>حذف </strong> ملف أو مجلد", @@ -65,11 +70,6 @@ OC.L10N.register( "Settings" : "إعدادات", "WebDAV" : "WebDAV", "Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "استخدم هذا العنوان لـ <a href=\"%s\" target=\"_blank\">الدخول الى ملفاتك عن طريق WebDAV</a>", - "New" : "جديد", - "Text file" : "ملف", - "New folder" : "مجلد جديد", - "Folder" : "مجلد", - "Upload" : "رفع", "Cancel upload" : "إلغاء الرفع", "Delete" : "إلغاء", "Upload too large" : "حجم الترفيع أعلى من المسموح", diff --git a/apps/files/l10n/ar.json b/apps/files/l10n/ar.json index 16d9732aaef..745d82dc19b 100644 --- a/apps/files/l10n/ar.json +++ b/apps/files/l10n/ar.json @@ -25,12 +25,12 @@ "Upload cancelled." : "تم إلغاء عملية رفع الملفات .", "Could not get result from server." : "تعذر الحصول على نتيجة من الخادم", "File upload is in progress. Leaving the page now will cancel the upload." : "عملية رفع الملفات قيد التنفيذ. اغلاق الصفحة سوف يلغي عملية رفع الملفات.", - "{new_name} already exists" : "{new_name} موجود مسبقا", "Actions" : "* تطبيقات.\n* أنشطة.", "Download" : "تحميل", "Pending" : "قيد الانتظار", "Error moving file" : "حدث خطأ أثناء نقل الملف", "Error" : "خطأ", + "{new_name} already exists" : "{new_name} موجود مسبقا", "Name" : "اسم", "Size" : "حجم", "Modified" : "معدل", @@ -38,10 +38,15 @@ "_%n file_::_%n files_" : ["لا يوجد ملفات %n","ملف %n","2 ملف %n","قليل من ملفات %n","الكثير من ملفات %n"," ملفات %n"], "{dirs} and {files}" : "{dirs} و {files}", "_Uploading %n file_::_Uploading %n files_" : ["لا يوجد ملفات %n لتحميلها","تحميل 1 ملف %n","تحميل 2 ملف %n","يتم تحميل عدد قليل من ملفات %n","يتم تحميل عدد كبير من ملفات %n","يتم تحميل ملفات %n"], + "New" : "جديد", "File name cannot be empty." : "اسم الملف لا يجوز أن يكون فارغا", "Your storage is full, files can not be updated or synced anymore!" : "مساحتك التخزينية ممتلئة, لا يمكم تحديث ملفاتك أو مزامنتها بعد الآن !", "Your storage is almost full ({usedSpacePercent}%)" : "مساحتك التخزينية امتلأت تقريبا ", "Favorite" : "المفضلة", + "Upload" : "رفع", + "Text file" : "ملف", + "Folder" : "مجلد", + "New folder" : "مجلد جديد", "A new file or folder has been <strong>created</strong>" : "تم <strong> إنشاء</strong> ملف جديد أو مجلد ", "A file or folder has been <strong>changed</strong>" : "تم <strong> تغيير</strong> ملف أو مجلد", "A file or folder has been <strong>deleted</strong>" : "تم <strong>حذف </strong> ملف أو مجلد", @@ -63,11 +68,6 @@ "Settings" : "إعدادات", "WebDAV" : "WebDAV", "Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "استخدم هذا العنوان لـ <a href=\"%s\" target=\"_blank\">الدخول الى ملفاتك عن طريق WebDAV</a>", - "New" : "جديد", - "Text file" : "ملف", - "New folder" : "مجلد جديد", - "Folder" : "مجلد", - "Upload" : "رفع", "Cancel upload" : "إلغاء الرفع", "Delete" : "إلغاء", "Upload too large" : "حجم الترفيع أعلى من المسموح", diff --git a/apps/files/l10n/ast.js b/apps/files/l10n/ast.js index 586d66d0c24..33bf5e37c0a 100644 --- a/apps/files/l10n/ast.js +++ b/apps/files/l10n/ast.js @@ -36,9 +36,6 @@ OC.L10N.register( "Upload cancelled." : "Xuba encaboxada.", "Could not get result from server." : "Nun pudo obtenese'l resultáu del sirvidor.", "File upload is in progress. Leaving the page now will cancel the upload." : "La xuba del ficheru ta en progresu. Si dexes agora la páxina, va encaboxase la xuba.", - "{new_name} already exists" : "{new_name} yá existe", - "Could not create file" : "Nun pudo crease'l ficheru", - "Could not create folder" : "Nun pudo crease la carpeta", "Actions" : "Aiciones", "Download" : "Descargar", "Select" : "Esbillar", @@ -48,7 +45,10 @@ OC.L10N.register( "Error moving file." : "Fallu moviendo'l ficheru.", "Error moving file" : "Fallu moviendo'l ficheru", "Error" : "Fallu", + "{new_name} already exists" : "{new_name} yá existe", "Could not rename file" : "Nun pudo renomase'l ficheru", + "Could not create file" : "Nun pudo crease'l ficheru", + "Could not create folder" : "Nun pudo crease la carpeta", "Error deleting file." : "Fallu desaniciando'l ficheru.", "Name" : "Nome", "Size" : "Tamañu", @@ -58,11 +58,16 @@ OC.L10N.register( "{dirs} and {files}" : "{dirs} y {files}", "You don’t have permission to upload or create files here" : "Nun tienes permisu pa xubir o crear ficheros equí", "_Uploading %n file_::_Uploading %n files_" : ["Xubiendo %n ficheru","Xubiendo %n ficheros"], + "New" : "Nuevu", "\"{name}\" is an invalid file name." : "\"{name}\" ye un nome de ficheru inválidu.", "File name cannot be empty." : "El nome de ficheru nun pue quedar baleru.", "Your storage is full, files can not be updated or synced anymore!" : "L'almacenamientu ta completu, ¡yá nun se pueden anovar o sincronizar ficheros!", "Your storage is almost full ({usedSpacePercent}%)" : "L'almacenamientu ta casi completu ({usedSpacePercent}%)", "Favorite" : "Favoritu", + "Upload" : "Xubir", + "Text file" : "Ficheru de testu", + "Folder" : "Carpeta", + "New folder" : "Nueva carpeta", "A new file or folder has been <strong>created</strong>" : "<strong>Creóse</strong> un ficheru o carpeta nuevos", "A file or folder has been <strong>changed</strong>" : "<strong>Camudóse</strong> un ficheru o carpeta", "A file or folder has been <strong>deleted</strong>" : "<strong>Desanicióse</strong> un ficheru o carpeta", @@ -86,12 +91,6 @@ OC.L10N.register( "Settings" : "Axustes", "WebDAV" : "WebDAV", "Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Usa esta direición <a href=\"%s\" target=\"_blank\">p'acceder a los ficheros a traviés de WebDAV</a>", - "New" : "Nuevu", - "New text file" : "Ficheru de testu nuevu", - "Text file" : "Ficheru de testu", - "New folder" : "Nueva carpeta", - "Folder" : "Carpeta", - "Upload" : "Xubir", "Cancel upload" : "Encaboxar xuba", "Delete" : "Desaniciar", "Upload too large" : "La xuba ye abondo grande", diff --git a/apps/files/l10n/ast.json b/apps/files/l10n/ast.json index e9b411383a2..601bf2d85f1 100644 --- a/apps/files/l10n/ast.json +++ b/apps/files/l10n/ast.json @@ -34,9 +34,6 @@ "Upload cancelled." : "Xuba encaboxada.", "Could not get result from server." : "Nun pudo obtenese'l resultáu del sirvidor.", "File upload is in progress. Leaving the page now will cancel the upload." : "La xuba del ficheru ta en progresu. Si dexes agora la páxina, va encaboxase la xuba.", - "{new_name} already exists" : "{new_name} yá existe", - "Could not create file" : "Nun pudo crease'l ficheru", - "Could not create folder" : "Nun pudo crease la carpeta", "Actions" : "Aiciones", "Download" : "Descargar", "Select" : "Esbillar", @@ -46,7 +43,10 @@ "Error moving file." : "Fallu moviendo'l ficheru.", "Error moving file" : "Fallu moviendo'l ficheru", "Error" : "Fallu", + "{new_name} already exists" : "{new_name} yá existe", "Could not rename file" : "Nun pudo renomase'l ficheru", + "Could not create file" : "Nun pudo crease'l ficheru", + "Could not create folder" : "Nun pudo crease la carpeta", "Error deleting file." : "Fallu desaniciando'l ficheru.", "Name" : "Nome", "Size" : "Tamañu", @@ -56,11 +56,16 @@ "{dirs} and {files}" : "{dirs} y {files}", "You don’t have permission to upload or create files here" : "Nun tienes permisu pa xubir o crear ficheros equí", "_Uploading %n file_::_Uploading %n files_" : ["Xubiendo %n ficheru","Xubiendo %n ficheros"], + "New" : "Nuevu", "\"{name}\" is an invalid file name." : "\"{name}\" ye un nome de ficheru inválidu.", "File name cannot be empty." : "El nome de ficheru nun pue quedar baleru.", "Your storage is full, files can not be updated or synced anymore!" : "L'almacenamientu ta completu, ¡yá nun se pueden anovar o sincronizar ficheros!", "Your storage is almost full ({usedSpacePercent}%)" : "L'almacenamientu ta casi completu ({usedSpacePercent}%)", "Favorite" : "Favoritu", + "Upload" : "Xubir", + "Text file" : "Ficheru de testu", + "Folder" : "Carpeta", + "New folder" : "Nueva carpeta", "A new file or folder has been <strong>created</strong>" : "<strong>Creóse</strong> un ficheru o carpeta nuevos", "A file or folder has been <strong>changed</strong>" : "<strong>Camudóse</strong> un ficheru o carpeta", "A file or folder has been <strong>deleted</strong>" : "<strong>Desanicióse</strong> un ficheru o carpeta", @@ -84,12 +89,6 @@ "Settings" : "Axustes", "WebDAV" : "WebDAV", "Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Usa esta direición <a href=\"%s\" target=\"_blank\">p'acceder a los ficheros a traviés de WebDAV</a>", - "New" : "Nuevu", - "New text file" : "Ficheru de testu nuevu", - "Text file" : "Ficheru de testu", - "New folder" : "Nueva carpeta", - "Folder" : "Carpeta", - "Upload" : "Xubir", "Cancel upload" : "Encaboxar xuba", "Delete" : "Desaniciar", "Upload too large" : "La xuba ye abondo grande", diff --git a/apps/files/l10n/az.js b/apps/files/l10n/az.js index ba3aa4e1b9f..54b17d6df55 100644 --- a/apps/files/l10n/az.js +++ b/apps/files/l10n/az.js @@ -36,17 +36,20 @@ OC.L10N.register( "Upload cancelled." : "Yüklənmə dayandırıldı.", "Could not get result from server." : "Nəticəni serverdən almaq mümkün olmur.", "File upload is in progress. Leaving the page now will cancel the upload." : "Faylın yüklənməsi gedir. Əgər səhifəni indi tərk etsəniz yüklənmə dayanacaq.", - "{new_name} already exists" : "{new_name} artıq mövcuddur", - "Could not create file" : "Faylı yaratmaq olmur", - "Could not create folder" : "Qovluğu yaratmaq olmur", + "Actions" : "İşlər", "Download" : "Yüklə", "Select" : "Seç", "Pending" : "Gözləmə", "Unable to determine date" : "Tarixi təyin etmək mümkün olmadı", + "This operation is forbidden" : "Bu əməliyyat qadağandır", + "This directory is unavailable, please check the logs or contact the administrator" : "Bu qovluq tapılmir. Xahiş olunur jurnalları yoxlayın ya da inzibatçı ilə əlaqə saxlayın", "Error moving file." : "Faylın köçürülməsində səhv baş verdi.", "Error moving file" : "Faylın köçürülməsində səhv baş verdi", "Error" : "Səhv", + "{new_name} already exists" : "{new_name} artıq mövcuddur", "Could not rename file" : "Faylın adını dəyişmək mümkün olmadı", + "Could not create file" : "Faylı yaratmaq olmur", + "Could not create folder" : "Qovluğu yaratmaq olmur", "Error deleting file." : "Faylın silinməsində səhv baş verdi.", "No entries in this folder match '{filter}'" : "Bu qovluqda '{filter}' uyğunluğunda heç bir verilən tapılmadı", "Name" : "Ad", @@ -57,13 +60,24 @@ OC.L10N.register( "{dirs} and {files}" : "{dirs} və {files}", "You don’t have permission to upload or create files here" : "Sizin burda yükləməyə və ya fayl yaratmağa yetkiniz yoxdur ", "_Uploading %n file_::_Uploading %n files_" : ["%n fayllar yüklənilir","%n fayllar yüklənilir"], + "New" : "Yeni", "\"{name}\" is an invalid file name." : "\"{name}\" yalnış fayl adıdır.", "File name cannot be empty." : "Faylın adı boş ola bilməz.", + "Storage of {owner} is full, files can not be updated or synced anymore!" : "{owner} məlumat anbarı doludur, fayllar artıq yenilənə və ya sinxronizasiya edilə bilməz!", "Your storage is full, files can not be updated or synced anymore!" : "Sizin deponuz doludur, fayllar artıq yenilənə və sinxronizasiya edilə bilməz!", + "Storage of {owner} is almost full ({usedSpacePercent}%)" : "{owner} məlumat anbari demək olar ki, doludur ({usedSpacePercent}%)", "Your storage is almost full ({usedSpacePercent}%)" : "Sizin depo depo demək olar ki, doludur ({usedSpacePercent}%)", "_matches '{filter}'_::_match '{filter}'_" : ["uyğun '{filter}'","uyğun '{filter}'"], + "Path" : "Ünvan", + "_%n byte_::_%n bytes_" : ["%n baytlar","%n bytes"], "Favorited" : "İstəkləndi", "Favorite" : "İstəkli", + "{newname} already exists" : "{newname} artıq mövcuddur", + "Upload" : "Serverə yüklə", + "Text file" : "Tekst faylı", + "New text file.txt" : "Yeni mətn file.txt", + "Folder" : "Qovluq", + "New folder" : "Yeni qovluq", "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>", @@ -85,17 +99,12 @@ OC.L10N.register( "File handling" : "Fayl emalı", "Maximum upload size" : "Maksimal yükləmə həcmi", "max. possible: " : "maks. ola bilər: ", + "With PHP-FPM this value may take up to 5 minutes to take effect after saving." : "PHP-FPM ilə bu məna yadda saxladıldıqından 5 dəqiqə sonra işə düşə bilər. ", "Save" : "Saxlamaq", "Can not be edited from here due to insufficient permissions." : "Yetki çatışmamazlığına görə, burdan başlayaraq dəyişiklik edə bilməzsiniz.", "Settings" : "Quraşdırmalar", "WebDAV" : "WebDAV", "Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Bu ünvanı <a href=\"%s\" target=\"_blank\">WebDAV vasitəsilə fayllarınızı əldə etmək üçün</a> istifadə edə bilərsiniz. ", - "New" : "Yeni", - "New text file" : "Yeni tekst faylı", - "Text file" : "Tekst faylı", - "New folder" : "Yeni qovluq", - "Folder" : "Qovluq", - "Upload" : "Serverə yüklə", "Cancel upload" : "Yüklənməni dayandır", "No files in here" : "Burda fayl yoxdur", "Upload some content or sync with your devices!" : "Bezi kontenti yüklə yada, öz avadanlıqlarınızla sinxronizasiya edin!", diff --git a/apps/files/l10n/az.json b/apps/files/l10n/az.json index a9790ba8322..14d728f248a 100644 --- a/apps/files/l10n/az.json +++ b/apps/files/l10n/az.json @@ -34,17 +34,20 @@ "Upload cancelled." : "Yüklənmə dayandırıldı.", "Could not get result from server." : "Nəticəni serverdən almaq mümkün olmur.", "File upload is in progress. Leaving the page now will cancel the upload." : "Faylın yüklənməsi gedir. Əgər səhifəni indi tərk etsəniz yüklənmə dayanacaq.", - "{new_name} already exists" : "{new_name} artıq mövcuddur", - "Could not create file" : "Faylı yaratmaq olmur", - "Could not create folder" : "Qovluğu yaratmaq olmur", + "Actions" : "İşlər", "Download" : "Yüklə", "Select" : "Seç", "Pending" : "Gözləmə", "Unable to determine date" : "Tarixi təyin etmək mümkün olmadı", + "This operation is forbidden" : "Bu əməliyyat qadağandır", + "This directory is unavailable, please check the logs or contact the administrator" : "Bu qovluq tapılmir. Xahiş olunur jurnalları yoxlayın ya da inzibatçı ilə əlaqə saxlayın", "Error moving file." : "Faylın köçürülməsində səhv baş verdi.", "Error moving file" : "Faylın köçürülməsində səhv baş verdi", "Error" : "Səhv", + "{new_name} already exists" : "{new_name} artıq mövcuddur", "Could not rename file" : "Faylın adını dəyişmək mümkün olmadı", + "Could not create file" : "Faylı yaratmaq olmur", + "Could not create folder" : "Qovluğu yaratmaq olmur", "Error deleting file." : "Faylın silinməsində səhv baş verdi.", "No entries in this folder match '{filter}'" : "Bu qovluqda '{filter}' uyğunluğunda heç bir verilən tapılmadı", "Name" : "Ad", @@ -55,13 +58,24 @@ "{dirs} and {files}" : "{dirs} və {files}", "You don’t have permission to upload or create files here" : "Sizin burda yükləməyə və ya fayl yaratmağa yetkiniz yoxdur ", "_Uploading %n file_::_Uploading %n files_" : ["%n fayllar yüklənilir","%n fayllar yüklənilir"], + "New" : "Yeni", "\"{name}\" is an invalid file name." : "\"{name}\" yalnış fayl adıdır.", "File name cannot be empty." : "Faylın adı boş ola bilməz.", + "Storage of {owner} is full, files can not be updated or synced anymore!" : "{owner} məlumat anbarı doludur, fayllar artıq yenilənə və ya sinxronizasiya edilə bilməz!", "Your storage is full, files can not be updated or synced anymore!" : "Sizin deponuz doludur, fayllar artıq yenilənə və sinxronizasiya edilə bilməz!", + "Storage of {owner} is almost full ({usedSpacePercent}%)" : "{owner} məlumat anbari demək olar ki, doludur ({usedSpacePercent}%)", "Your storage is almost full ({usedSpacePercent}%)" : "Sizin depo depo demək olar ki, doludur ({usedSpacePercent}%)", "_matches '{filter}'_::_match '{filter}'_" : ["uyğun '{filter}'","uyğun '{filter}'"], + "Path" : "Ünvan", + "_%n byte_::_%n bytes_" : ["%n baytlar","%n bytes"], "Favorited" : "İstəkləndi", "Favorite" : "İstəkli", + "{newname} already exists" : "{newname} artıq mövcuddur", + "Upload" : "Serverə yüklə", + "Text file" : "Tekst faylı", + "New text file.txt" : "Yeni mətn file.txt", + "Folder" : "Qovluq", + "New folder" : "Yeni qovluq", "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>", @@ -83,17 +97,12 @@ "File handling" : "Fayl emalı", "Maximum upload size" : "Maksimal yükləmə həcmi", "max. possible: " : "maks. ola bilər: ", + "With PHP-FPM this value may take up to 5 minutes to take effect after saving." : "PHP-FPM ilə bu məna yadda saxladıldıqından 5 dəqiqə sonra işə düşə bilər. ", "Save" : "Saxlamaq", "Can not be edited from here due to insufficient permissions." : "Yetki çatışmamazlığına görə, burdan başlayaraq dəyişiklik edə bilməzsiniz.", "Settings" : "Quraşdırmalar", "WebDAV" : "WebDAV", "Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Bu ünvanı <a href=\"%s\" target=\"_blank\">WebDAV vasitəsilə fayllarınızı əldə etmək üçün</a> istifadə edə bilərsiniz. ", - "New" : "Yeni", - "New text file" : "Yeni tekst faylı", - "Text file" : "Tekst faylı", - "New folder" : "Yeni qovluq", - "Folder" : "Qovluq", - "Upload" : "Serverə yüklə", "Cancel upload" : "Yüklənməni dayandır", "No files in here" : "Burda fayl yoxdur", "Upload some content or sync with your devices!" : "Bezi kontenti yüklə yada, öz avadanlıqlarınızla sinxronizasiya edin!", diff --git a/apps/files/l10n/bg_BG.js b/apps/files/l10n/bg_BG.js index 1b79d6b2824..f21c5de9dc1 100644 --- a/apps/files/l10n/bg_BG.js +++ b/apps/files/l10n/bg_BG.js @@ -36,9 +36,6 @@ OC.L10N.register( "Upload cancelled." : "Качването е прекъснато.", "Could not get result from server." : "Не се получи резултат от сървърът.", "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" : "Неуспешно създаване на папка.", "Actions" : "Действия", "Download" : "Изтегли", "Select" : "Избери", @@ -47,7 +44,10 @@ OC.L10N.register( "Error moving file." : "Грешка при местенето на файла.", "Error moving file" : "Грешка при преместването на файла.", "Error" : "Грешка", + "{new_name} already exists" : "{new_name} вече съществува.", "Could not rename file" : "Неуспешно преименуване на файла.", + "Could not create file" : "Несупешно създаване на файла.", + "Could not create folder" : "Неуспешно създаване на папка.", "Error deleting file." : "Грешка при изтриването на файла.", "No entries in this folder match '{filter}'" : "Нищо в тази папка не отговаря на '{filter}'", "Name" : "Име", @@ -58,6 +58,7 @@ OC.L10N.register( "{dirs} and {files}" : "{dirs} и {files}", "You don’t have permission to upload or create files here" : "Нямаш разрешение да създаваш или качваш файлове тук.", "_Uploading %n file_::_Uploading %n files_" : ["Качване на %n файл","Качване на %n файла."], + "New" : "Създай", "\"{name}\" is an invalid file name." : "\"{name}\" е непозволено име за файл.", "File name cannot be empty." : "Името на файла не може да бъде оставено празно.", "Your storage is full, files can not be updated or synced anymore!" : "Заделеното място е запълнено, повече файлове не могат да бъдат синхронизирани или опреснени!", @@ -65,6 +66,10 @@ OC.L10N.register( "_matches '{filter}'_::_match '{filter}'_" : ["пасва на '{filter}'","пасват на '{filter}'\n "], "Favorited" : "Отбелязано в любими", "Favorite" : "Любими", + "Upload" : "Качване", + "Text file" : "Текстов файл", + "Folder" : "Папка", + "New folder" : "Нова папка", "An error occurred while trying to update the tags" : "Настъпи грешка при опита за промяна на бележките", "A new file or folder has been <strong>created</strong>" : "Нов файл или папка беше <strong>създаден/а</strong>", "A file or folder has been <strong>changed</strong>" : "Файл или папка беше <strong>променен/а</strong>", @@ -90,12 +95,6 @@ OC.L10N.register( "Settings" : "Настройки", "WebDAV" : "WebDAV", "Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Използвай този адрес, за да получиш <a href=\"%s\" target=\"_blank\">достъп до своите файлове чрез WebDAV</a>.", - "New" : "Създай", - "New text file" : "Нов текстов файл", - "Text file" : "Текстов файл", - "New folder" : "Нова папка", - "Folder" : "Папка", - "Upload" : "Качване", "Cancel upload" : "Отказване на качването", "No files in here" : "Тук няма файлове", "Upload some content or sync with your devices!" : "Качи съдържание или синхронизирай с твоите устройства!", diff --git a/apps/files/l10n/bg_BG.json b/apps/files/l10n/bg_BG.json index 4493a450d66..6778eff6da8 100644 --- a/apps/files/l10n/bg_BG.json +++ b/apps/files/l10n/bg_BG.json @@ -34,9 +34,6 @@ "Upload cancelled." : "Качването е прекъснато.", "Could not get result from server." : "Не се получи резултат от сървърът.", "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" : "Неуспешно създаване на папка.", "Actions" : "Действия", "Download" : "Изтегли", "Select" : "Избери", @@ -45,7 +42,10 @@ "Error moving file." : "Грешка при местенето на файла.", "Error moving file" : "Грешка при преместването на файла.", "Error" : "Грешка", + "{new_name} already exists" : "{new_name} вече съществува.", "Could not rename file" : "Неуспешно преименуване на файла.", + "Could not create file" : "Несупешно създаване на файла.", + "Could not create folder" : "Неуспешно създаване на папка.", "Error deleting file." : "Грешка при изтриването на файла.", "No entries in this folder match '{filter}'" : "Нищо в тази папка не отговаря на '{filter}'", "Name" : "Име", @@ -56,6 +56,7 @@ "{dirs} and {files}" : "{dirs} и {files}", "You don’t have permission to upload or create files here" : "Нямаш разрешение да създаваш или качваш файлове тук.", "_Uploading %n file_::_Uploading %n files_" : ["Качване на %n файл","Качване на %n файла."], + "New" : "Създай", "\"{name}\" is an invalid file name." : "\"{name}\" е непозволено име за файл.", "File name cannot be empty." : "Името на файла не може да бъде оставено празно.", "Your storage is full, files can not be updated or synced anymore!" : "Заделеното място е запълнено, повече файлове не могат да бъдат синхронизирани или опреснени!", @@ -63,6 +64,10 @@ "_matches '{filter}'_::_match '{filter}'_" : ["пасва на '{filter}'","пасват на '{filter}'\n "], "Favorited" : "Отбелязано в любими", "Favorite" : "Любими", + "Upload" : "Качване", + "Text file" : "Текстов файл", + "Folder" : "Папка", + "New folder" : "Нова папка", "An error occurred while trying to update the tags" : "Настъпи грешка при опита за промяна на бележките", "A new file or folder has been <strong>created</strong>" : "Нов файл или папка беше <strong>създаден/а</strong>", "A file or folder has been <strong>changed</strong>" : "Файл или папка беше <strong>променен/а</strong>", @@ -88,12 +93,6 @@ "Settings" : "Настройки", "WebDAV" : "WebDAV", "Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Използвай този адрес, за да получиш <a href=\"%s\" target=\"_blank\">достъп до своите файлове чрез WebDAV</a>.", - "New" : "Създай", - "New text file" : "Нов текстов файл", - "Text file" : "Текстов файл", - "New folder" : "Нова папка", - "Folder" : "Папка", - "Upload" : "Качване", "Cancel upload" : "Отказване на качването", "No files in here" : "Тук няма файлове", "Upload some content or sync with your devices!" : "Качи съдържание или синхронизирай с твоите устройства!", diff --git a/apps/files/l10n/bn_BD.js b/apps/files/l10n/bn_BD.js index f21d44873f0..1272966209b 100644 --- a/apps/files/l10n/bn_BD.js +++ b/apps/files/l10n/bn_BD.js @@ -27,22 +27,27 @@ OC.L10N.register( "Close" : "বন্ধ", "Upload cancelled." : "আপলোড বাতিল করা হয়েছে।", "File upload is in progress. Leaving the page now will cancel the upload." : "ফাইল আপলোড চলমান। এই পৃষ্ঠা পরিত্যাগ করলে আপলোড বাতিল করা হবে।", - "{new_name} already exists" : "{new_name} টি বিদ্যমান", "Actions" : "পদক্ষেপসমূহ", "Download" : "ডাউনলোড", "Pending" : "মুলতুবি", "Error moving file." : "ফাইল সরাতে সমস্যা হলো।", "Error moving file" : "ফাইল সরাতে সমস্যা হলো", "Error" : "সমস্যা", + "{new_name} already exists" : "{new_name} টি বিদ্যমান", "Could not rename file" : "ফাইলের পূণঃনামকরণ করা গেলনা", "Name" : "রাম", "Size" : "আকার", "Modified" : "পরিবর্তিত", "_Uploading %n file_::_Uploading %n files_" : ["%n ফাইল আপলোড হচ্ছে","%n ফাইল আপলোড হচ্ছে"], + "New" : "নতুন", "\"{name}\" is an invalid file name." : "\"{name}\" টি একটি অননুমোদিত ফাইল নাম।", "File name cannot be empty." : "ফাইলের নামটি ফাঁকা রাখা যাবে না।", "Your storage is almost full ({usedSpacePercent}%)" : "আপনার সংরক্ষণাধার প্রায় পরিপূর্ণ ({usedSpacePercent}%) ", "Favorite" : "প্রিয়জন", + "Upload" : "আপলোড", + "Text file" : "টেক্সট ফাইল", + "Folder" : "ফোল্ডার", + "New folder" : "নব ফােলডার", "A new file or folder has been <strong>created</strong>" : "একটি ফাইল বা ফোলডার <strong>তৈরি</strong> করা হয়েছে", "A file or folder has been <strong>changed</strong>" : "একটি ফাইল বা ফোলডার <strong>পরিবরতন</strong> করা হয়েছে", "A file or folder has been <strong>deleted</strong>" : "একটি ফাইল বা ফোলডার <strong>মোছা</strong> হয়েছে", @@ -59,11 +64,6 @@ OC.L10N.register( "Save" : "সংরক্ষণ", "Settings" : "নিয়ামকসমূহ", "WebDAV" : "WebDAV", - "New" : "নতুন", - "Text file" : "টেক্সট ফাইল", - "New folder" : "নব ফােলডার", - "Folder" : "ফোল্ডার", - "Upload" : "আপলোড", "Cancel upload" : "আপলোড বাতিল কর", "Delete" : "মুছে", "Upload too large" : "আপলোডের আকারটি অনেক বড়", diff --git a/apps/files/l10n/bn_BD.json b/apps/files/l10n/bn_BD.json index 740613e054d..472aae78865 100644 --- a/apps/files/l10n/bn_BD.json +++ b/apps/files/l10n/bn_BD.json @@ -25,22 +25,27 @@ "Close" : "বন্ধ", "Upload cancelled." : "আপলোড বাতিল করা হয়েছে।", "File upload is in progress. Leaving the page now will cancel the upload." : "ফাইল আপলোড চলমান। এই পৃষ্ঠা পরিত্যাগ করলে আপলোড বাতিল করা হবে।", - "{new_name} already exists" : "{new_name} টি বিদ্যমান", "Actions" : "পদক্ষেপসমূহ", "Download" : "ডাউনলোড", "Pending" : "মুলতুবি", "Error moving file." : "ফাইল সরাতে সমস্যা হলো।", "Error moving file" : "ফাইল সরাতে সমস্যা হলো", "Error" : "সমস্যা", + "{new_name} already exists" : "{new_name} টি বিদ্যমান", "Could not rename file" : "ফাইলের পূণঃনামকরণ করা গেলনা", "Name" : "রাম", "Size" : "আকার", "Modified" : "পরিবর্তিত", "_Uploading %n file_::_Uploading %n files_" : ["%n ফাইল আপলোড হচ্ছে","%n ফাইল আপলোড হচ্ছে"], + "New" : "নতুন", "\"{name}\" is an invalid file name." : "\"{name}\" টি একটি অননুমোদিত ফাইল নাম।", "File name cannot be empty." : "ফাইলের নামটি ফাঁকা রাখা যাবে না।", "Your storage is almost full ({usedSpacePercent}%)" : "আপনার সংরক্ষণাধার প্রায় পরিপূর্ণ ({usedSpacePercent}%) ", "Favorite" : "প্রিয়জন", + "Upload" : "আপলোড", + "Text file" : "টেক্সট ফাইল", + "Folder" : "ফোল্ডার", + "New folder" : "নব ফােলডার", "A new file or folder has been <strong>created</strong>" : "একটি ফাইল বা ফোলডার <strong>তৈরি</strong> করা হয়েছে", "A file or folder has been <strong>changed</strong>" : "একটি ফাইল বা ফোলডার <strong>পরিবরতন</strong> করা হয়েছে", "A file or folder has been <strong>deleted</strong>" : "একটি ফাইল বা ফোলডার <strong>মোছা</strong> হয়েছে", @@ -57,11 +62,6 @@ "Save" : "সংরক্ষণ", "Settings" : "নিয়ামকসমূহ", "WebDAV" : "WebDAV", - "New" : "নতুন", - "Text file" : "টেক্সট ফাইল", - "New folder" : "নব ফােলডার", - "Folder" : "ফোল্ডার", - "Upload" : "আপলোড", "Cancel upload" : "আপলোড বাতিল কর", "Delete" : "মুছে", "Upload too large" : "আপলোডের আকারটি অনেক বড়", diff --git a/apps/files/l10n/bn_IN.js b/apps/files/l10n/bn_IN.js index 903dadca605..995c9ad45d1 100644 --- a/apps/files/l10n/bn_IN.js +++ b/apps/files/l10n/bn_IN.js @@ -20,6 +20,8 @@ OC.L10N.register( "Error" : "ভুল", "Name" : "নাম", "Size" : "আকার", + "Folder" : "ফোল্ডার", + "New folder" : "নতুন ফোল্ডার", "A new file or folder has been <strong>created</strong>" : "একটি নতুন ফাইল বা ফোল্ডার হয়েছে <strong>তৈরি</strong>", "A file or folder has been <strong>changed</strong>" : "একটি নতুন ফাইল বা ফোল্ডার <strong>বদলানো হয়েছে</strong>", "A file or folder has been <strong>deleted</strong>" : "একটি নতুন ফাইল বা ফোল্ডার <strong>মুছে ফেলা হয়েছে</strong>", @@ -31,8 +33,6 @@ OC.L10N.register( "%2$s deleted %1$s" : "%2$s মুছেছে %1$s কে", "Save" : "সেভ", "Settings" : "সেটিংস", - "New folder" : "নতুন ফোল্ডার", - "Folder" : "ফোল্ডার", "Delete" : "মুছে ফেলা" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/files/l10n/bn_IN.json b/apps/files/l10n/bn_IN.json index afdcf0b6f13..17ce39d023a 100644 --- a/apps/files/l10n/bn_IN.json +++ b/apps/files/l10n/bn_IN.json @@ -18,6 +18,8 @@ "Error" : "ভুল", "Name" : "নাম", "Size" : "আকার", + "Folder" : "ফোল্ডার", + "New folder" : "নতুন ফোল্ডার", "A new file or folder has been <strong>created</strong>" : "একটি নতুন ফাইল বা ফোল্ডার হয়েছে <strong>তৈরি</strong>", "A file or folder has been <strong>changed</strong>" : "একটি নতুন ফাইল বা ফোল্ডার <strong>বদলানো হয়েছে</strong>", "A file or folder has been <strong>deleted</strong>" : "একটি নতুন ফাইল বা ফোল্ডার <strong>মুছে ফেলা হয়েছে</strong>", @@ -29,8 +31,6 @@ "%2$s deleted %1$s" : "%2$s মুছেছে %1$s কে", "Save" : "সেভ", "Settings" : "সেটিংস", - "New folder" : "নতুন ফোল্ডার", - "Folder" : "ফোল্ডার", "Delete" : "মুছে ফেলা" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/files/l10n/bs.js b/apps/files/l10n/bs.js index 6fb4c6ed0e9..f10c87bfef8 100644 --- a/apps/files/l10n/bs.js +++ b/apps/files/l10n/bs.js @@ -36,9 +36,6 @@ OC.L10N.register( "Upload cancelled." : "Učitavanje je prekinuto.", "Could not get result from server." : "Nemoguće dobiti rezultat od servera.", "File upload is in progress. Leaving the page now will cancel the upload." : "Učitavanje datoteke je u toku. Napuštanje stranice prekinut će učitavanje.", - "{new_name} already exists" : "{new_name} već postoji", - "Could not create file" : "Datoteku nije moguće kreirati", - "Could not create folder" : "Direktorij nije moguće kreirati", "Actions" : "Radnje", "Download" : "Preuzmi", "Select" : "Izaberi", @@ -47,7 +44,10 @@ OC.L10N.register( "Error moving file." : "Greška pri premještanju datoteke", "Error moving file" : "Greška pri premještanju datoteke", "Error" : "Greška", + "{new_name} already exists" : "{new_name} već postoji", "Could not rename file" : "Nemoguće preimenovati datoteku", + "Could not create file" : "Datoteku nije moguće kreirati", + "Could not create folder" : "Direktorij nije moguće kreirati", "Error deleting file." : "Greška pri brisanju datoteke", "Name" : "Ime", "Size" : "Veličina", @@ -57,12 +57,17 @@ OC.L10N.register( "{dirs} and {files}" : "{dirs} i {files}", "You don’t have permission to upload or create files here" : "Ovdje niste ovlašteni učitavati ili kreirati datoteke", "_Uploading %n file_::_Uploading %n files_" : ["Prenosim %n datoteku","Prenosim %n datoteke","Prenosim %n datoteke"], + "New" : "Novo", "\"{name}\" is an invalid file name." : "\"{name}\" je neispravno ime datoteke.", "File name cannot be empty." : "Naziv datoteke ne može biti prazan", "Your storage is full, files can not be updated or synced anymore!" : "Vaša pohrana je puna, datoteke više nije moguće ažurirati niti sinhronizirati!", "Your storage is almost full ({usedSpacePercent}%)" : "Vaš prostor za pohranu je skoro pun ({usedSpacePercent}%)", "Favorited" : "Favorizovano", "Favorite" : "Favorit", + "Upload" : "Učitaj", + "Text file" : "Tekstualna datoteka", + "Folder" : "Direktorij", + "New folder" : "Novi direktorij", "%s could not be renamed as it has been deleted" : "%s nije moguće preimenovati jer je izbrisan", "%s could not be renamed" : "%s nije moguće preimenovati", "Upload (max. %s)" : "Učitaj (max. %s)", @@ -73,12 +78,6 @@ OC.L10N.register( "Settings" : "Postavke", "WebDAV" : "WebDAV", "Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Koristi slijedeću adresu za <a href=\"%s\" target=\"_blank\">pristup vašim datotekama putem WebDAV-a</a>", - "New" : "Novo", - "New text file" : "Nova tekstualna datoteka", - "Text file" : "Tekstualna datoteka", - "New folder" : "Novi direktorij", - "Folder" : "Direktorij", - "Upload" : "Učitaj", "Cancel upload" : "Prekini učitavanje", "Upload some content or sync with your devices!" : "Učitaj neki sadržaj ili sinhronizuj sa tvojim uređajima!", "Select all" : "Označi sve", diff --git a/apps/files/l10n/bs.json b/apps/files/l10n/bs.json index b398ca5a39b..7d8a87f6398 100644 --- a/apps/files/l10n/bs.json +++ b/apps/files/l10n/bs.json @@ -34,9 +34,6 @@ "Upload cancelled." : "Učitavanje je prekinuto.", "Could not get result from server." : "Nemoguće dobiti rezultat od servera.", "File upload is in progress. Leaving the page now will cancel the upload." : "Učitavanje datoteke je u toku. Napuštanje stranice prekinut će učitavanje.", - "{new_name} already exists" : "{new_name} već postoji", - "Could not create file" : "Datoteku nije moguće kreirati", - "Could not create folder" : "Direktorij nije moguće kreirati", "Actions" : "Radnje", "Download" : "Preuzmi", "Select" : "Izaberi", @@ -45,7 +42,10 @@ "Error moving file." : "Greška pri premještanju datoteke", "Error moving file" : "Greška pri premještanju datoteke", "Error" : "Greška", + "{new_name} already exists" : "{new_name} već postoji", "Could not rename file" : "Nemoguće preimenovati datoteku", + "Could not create file" : "Datoteku nije moguće kreirati", + "Could not create folder" : "Direktorij nije moguće kreirati", "Error deleting file." : "Greška pri brisanju datoteke", "Name" : "Ime", "Size" : "Veličina", @@ -55,12 +55,17 @@ "{dirs} and {files}" : "{dirs} i {files}", "You don’t have permission to upload or create files here" : "Ovdje niste ovlašteni učitavati ili kreirati datoteke", "_Uploading %n file_::_Uploading %n files_" : ["Prenosim %n datoteku","Prenosim %n datoteke","Prenosim %n datoteke"], + "New" : "Novo", "\"{name}\" is an invalid file name." : "\"{name}\" je neispravno ime datoteke.", "File name cannot be empty." : "Naziv datoteke ne može biti prazan", "Your storage is full, files can not be updated or synced anymore!" : "Vaša pohrana je puna, datoteke više nije moguće ažurirati niti sinhronizirati!", "Your storage is almost full ({usedSpacePercent}%)" : "Vaš prostor za pohranu je skoro pun ({usedSpacePercent}%)", "Favorited" : "Favorizovano", "Favorite" : "Favorit", + "Upload" : "Učitaj", + "Text file" : "Tekstualna datoteka", + "Folder" : "Direktorij", + "New folder" : "Novi direktorij", "%s could not be renamed as it has been deleted" : "%s nije moguće preimenovati jer je izbrisan", "%s could not be renamed" : "%s nije moguće preimenovati", "Upload (max. %s)" : "Učitaj (max. %s)", @@ -71,12 +76,6 @@ "Settings" : "Postavke", "WebDAV" : "WebDAV", "Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Koristi slijedeću adresu za <a href=\"%s\" target=\"_blank\">pristup vašim datotekama putem WebDAV-a</a>", - "New" : "Novo", - "New text file" : "Nova tekstualna datoteka", - "Text file" : "Tekstualna datoteka", - "New folder" : "Novi direktorij", - "Folder" : "Direktorij", - "Upload" : "Učitaj", "Cancel upload" : "Prekini učitavanje", "Upload some content or sync with your devices!" : "Učitaj neki sadržaj ili sinhronizuj sa tvojim uređajima!", "Select all" : "Označi sve", diff --git a/apps/files/l10n/ca.js b/apps/files/l10n/ca.js index 28261b62219..f8388534802 100644 --- a/apps/files/l10n/ca.js +++ b/apps/files/l10n/ca.js @@ -36,9 +36,6 @@ OC.L10N.register( "Upload cancelled." : "La pujada s'ha cancel·lat.", "Could not get result from server." : "No hi ha resposta del servidor.", "File upload is in progress. Leaving the page now will cancel the upload." : "Hi ha una pujada en curs. Si abandoneu la pàgina la pujada es cancel·larà.", - "{new_name} already exists" : "{new_name} ja existeix", - "Could not create file" : "No s'ha pogut crear el fitxer", - "Could not create folder" : "No s'ha pogut crear la carpeta", "Actions" : "Accions", "Download" : "Baixa", "Select" : "Selecciona", @@ -47,7 +44,10 @@ OC.L10N.register( "Error moving file." : "Error en moure el fitxer.", "Error moving file" : "Error en moure el fitxer", "Error" : "Error", + "{new_name} already exists" : "{new_name} ja existeix", "Could not rename file" : "No es pot canviar el nom de fitxer", + "Could not create file" : "No s'ha pogut crear el fitxer", + "Could not create folder" : "No s'ha pogut crear la carpeta", "Error deleting file." : "Error en esborrar el fitxer.", "No entries in this folder match '{filter}'" : "No hi ha resultats que coincideixin amb '{filter}'", "Name" : "Nom", @@ -58,6 +58,7 @@ OC.L10N.register( "{dirs} and {files}" : "{dirs} i {files}", "You don’t have permission to upload or create files here" : "No teniu permisos per a pujar o crear els fitxers aquí", "_Uploading %n file_::_Uploading %n files_" : ["Pujant %n fitxer","Pujant %n fitxers"], + "New" : "Nou", "\"{name}\" is an invalid file name." : "\"{name}\" no es un fitxer vàlid.", "File name cannot be empty." : "El nom del fitxer no pot ser buit.", "Storage of {owner} is full, files can not be updated or synced anymore!" : "L'emmagatzematge de {owner} està ple, els arxius no es poden actualitzar o sincronitzar més!", @@ -67,6 +68,10 @@ OC.L10N.register( "_matches '{filter}'_::_match '{filter}'_" : ["coincidències '{filter}'","coincidència '{filter}'"], "Favorited" : "Agregat a favorits", "Favorite" : "Preferits", + "Upload" : "Puja", + "Text file" : "Fitxer de text", + "Folder" : "Carpeta", + "New folder" : "Carpeta nova", "An error occurred while trying to update the tags" : "S'ha produït un error en tractar d'actualitzar les etiquetes", "A new file or folder has been <strong>created</strong>" : "S'ha <strong>creat</strong> un nou fitxer o una nova carpeta", "A file or folder has been <strong>changed</strong>" : "S'ha <strong>canviat</strong> un fitxer o una carpeta", @@ -93,12 +98,6 @@ OC.L10N.register( "Settings" : "Arranjament", "WebDAV" : "WebDAV", "Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Useu aquesta adreça per <a href=\"%s\" target=\"_blank\">accedir als fitxers via WebDAV</a>", - "New" : "Nou", - "New text file" : "Nou fitxer de text", - "Text file" : "Fitxer de text", - "New folder" : "Carpeta nova", - "Folder" : "Carpeta", - "Upload" : "Puja", "Cancel upload" : "Cancel·la la pujada", "No files in here" : "No hi ha arxius", "Upload some content or sync with your devices!" : "Pugi continguts o sincronitzi els seus dispositius.", diff --git a/apps/files/l10n/ca.json b/apps/files/l10n/ca.json index 7fcc056717d..10a39fc941a 100644 --- a/apps/files/l10n/ca.json +++ b/apps/files/l10n/ca.json @@ -34,9 +34,6 @@ "Upload cancelled." : "La pujada s'ha cancel·lat.", "Could not get result from server." : "No hi ha resposta del servidor.", "File upload is in progress. Leaving the page now will cancel the upload." : "Hi ha una pujada en curs. Si abandoneu la pàgina la pujada es cancel·larà.", - "{new_name} already exists" : "{new_name} ja existeix", - "Could not create file" : "No s'ha pogut crear el fitxer", - "Could not create folder" : "No s'ha pogut crear la carpeta", "Actions" : "Accions", "Download" : "Baixa", "Select" : "Selecciona", @@ -45,7 +42,10 @@ "Error moving file." : "Error en moure el fitxer.", "Error moving file" : "Error en moure el fitxer", "Error" : "Error", + "{new_name} already exists" : "{new_name} ja existeix", "Could not rename file" : "No es pot canviar el nom de fitxer", + "Could not create file" : "No s'ha pogut crear el fitxer", + "Could not create folder" : "No s'ha pogut crear la carpeta", "Error deleting file." : "Error en esborrar el fitxer.", "No entries in this folder match '{filter}'" : "No hi ha resultats que coincideixin amb '{filter}'", "Name" : "Nom", @@ -56,6 +56,7 @@ "{dirs} and {files}" : "{dirs} i {files}", "You don’t have permission to upload or create files here" : "No teniu permisos per a pujar o crear els fitxers aquí", "_Uploading %n file_::_Uploading %n files_" : ["Pujant %n fitxer","Pujant %n fitxers"], + "New" : "Nou", "\"{name}\" is an invalid file name." : "\"{name}\" no es un fitxer vàlid.", "File name cannot be empty." : "El nom del fitxer no pot ser buit.", "Storage of {owner} is full, files can not be updated or synced anymore!" : "L'emmagatzematge de {owner} està ple, els arxius no es poden actualitzar o sincronitzar més!", @@ -65,6 +66,10 @@ "_matches '{filter}'_::_match '{filter}'_" : ["coincidències '{filter}'","coincidència '{filter}'"], "Favorited" : "Agregat a favorits", "Favorite" : "Preferits", + "Upload" : "Puja", + "Text file" : "Fitxer de text", + "Folder" : "Carpeta", + "New folder" : "Carpeta nova", "An error occurred while trying to update the tags" : "S'ha produït un error en tractar d'actualitzar les etiquetes", "A new file or folder has been <strong>created</strong>" : "S'ha <strong>creat</strong> un nou fitxer o una nova carpeta", "A file or folder has been <strong>changed</strong>" : "S'ha <strong>canviat</strong> un fitxer o una carpeta", @@ -91,12 +96,6 @@ "Settings" : "Arranjament", "WebDAV" : "WebDAV", "Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Useu aquesta adreça per <a href=\"%s\" target=\"_blank\">accedir als fitxers via WebDAV</a>", - "New" : "Nou", - "New text file" : "Nou fitxer de text", - "Text file" : "Fitxer de text", - "New folder" : "Carpeta nova", - "Folder" : "Carpeta", - "Upload" : "Puja", "Cancel upload" : "Cancel·la la pujada", "No files in here" : "No hi ha arxius", "Upload some content or sync with your devices!" : "Pugi continguts o sincronitzi els seus dispositius.", diff --git a/apps/files/l10n/cs_CZ.js b/apps/files/l10n/cs_CZ.js index c12c66892d9..a5c1449e995 100644 --- a/apps/files/l10n/cs_CZ.js +++ b/apps/files/l10n/cs_CZ.js @@ -36,9 +36,6 @@ OC.L10N.register( "Upload cancelled." : "Odesílání zrušeno.", "Could not get result from server." : "Nepodařilo se získat výsledek ze serveru.", "File upload is in progress. Leaving the page now will cancel the upload." : "Probíhá odesílání souboru. Opuštění stránky způsobí zrušení nahrávání.", - "{new_name} already exists" : "{new_name} již existuje", - "Could not create file" : "Nepodařilo se vytvořit soubor", - "Could not create folder" : "Nepodařilo se vytvořit složku", "Actions" : "Činnosti", "Download" : "Stáhnout", "Select" : "Vybrat", @@ -49,7 +46,10 @@ OC.L10N.register( "Error moving file." : "Chyba při přesunu souboru.", "Error moving file" : "Chyba při přesunu souboru", "Error" : "Chyba", + "{new_name} already exists" : "{new_name} již existuje", "Could not rename file" : "Nepodařilo se přejmenovat soubor", + "Could not create file" : "Nepodařilo se vytvořit soubor", + "Could not create folder" : "Nepodařilo se vytvořit složku", "Error deleting file." : "Chyba při mazání souboru.", "No entries in this folder match '{filter}'" : "V tomto adresáři nic nesouhlasí s '{filter}'", "Name" : "Název", @@ -60,6 +60,7 @@ OC.L10N.register( "{dirs} and {files}" : "{dirs} a {files}", "You don’t have permission to upload or create files here" : "Nemáte oprávnění sem nahrávat nebo vytvářet soubory", "_Uploading %n file_::_Uploading %n files_" : ["Nahrávám %n soubor","Nahrávám %n soubory","Nahrávám %n souborů"], + "New" : "Nový", "\"{name}\" is an invalid file name." : "\"{name}\" je neplatným názvem souboru.", "File name cannot be empty." : "Název souboru nemůže být prázdný řetězec.", "Storage of {owner} is full, files can not be updated or synced anymore!" : "Úložiště uživatele {owner} je zaplněné, soubory nelze aktualizovat a synchronizovat!", @@ -71,6 +72,12 @@ OC.L10N.register( "_%n byte_::_%n bytes_" : ["%n bajt","%n bajty","%n bajtů"], "Favorited" : "Přidáno k oblíbeným", "Favorite" : "Oblíbené", + "{newname} already exists" : "{newname} již existuje", + "Upload" : "Odeslat", + "Text file" : "Textový soubor", + "New text file.txt" : "Nový textový soubor.txt", + "Folder" : "Složka", + "New folder" : "Nová složka", "An error occurred while trying to update the tags" : "Při pokusu o úpravu tagů nastala chyba", "A new file or folder has been <strong>created</strong>" : "Byl <strong>vytvořen</strong> nový soubor nebo složka", "A file or folder has been <strong>changed</strong>" : "Soubor nebo složka byla <strong>změněna</strong>", @@ -98,12 +105,6 @@ OC.L10N.register( "Settings" : "Nastavení", "WebDAV" : "WebDAV", "Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Použijte tuto adresu pro <a href=\"%s\" target=\"_blank\">přístup k vašim souborům přes WebDAV</a>", - "New" : "Nový", - "New text file" : "Nový textový soubor", - "Text file" : "Textový soubor", - "New folder" : "Nová složka", - "Folder" : "Složka", - "Upload" : "Odeslat", "Cancel upload" : "Zrušit odesílání", "No files in here" : "Žádné soubory", "Upload some content or sync with your devices!" : "Nahrajte nějaký obsah nebo synchronizujte se svými přístroji!", diff --git a/apps/files/l10n/cs_CZ.json b/apps/files/l10n/cs_CZ.json index da8c653d37e..1da4bfb8868 100644 --- a/apps/files/l10n/cs_CZ.json +++ b/apps/files/l10n/cs_CZ.json @@ -34,9 +34,6 @@ "Upload cancelled." : "Odesílání zrušeno.", "Could not get result from server." : "Nepodařilo se získat výsledek ze serveru.", "File upload is in progress. Leaving the page now will cancel the upload." : "Probíhá odesílání souboru. Opuštění stránky způsobí zrušení nahrávání.", - "{new_name} already exists" : "{new_name} již existuje", - "Could not create file" : "Nepodařilo se vytvořit soubor", - "Could not create folder" : "Nepodařilo se vytvořit složku", "Actions" : "Činnosti", "Download" : "Stáhnout", "Select" : "Vybrat", @@ -47,7 +44,10 @@ "Error moving file." : "Chyba při přesunu souboru.", "Error moving file" : "Chyba při přesunu souboru", "Error" : "Chyba", + "{new_name} already exists" : "{new_name} již existuje", "Could not rename file" : "Nepodařilo se přejmenovat soubor", + "Could not create file" : "Nepodařilo se vytvořit soubor", + "Could not create folder" : "Nepodařilo se vytvořit složku", "Error deleting file." : "Chyba při mazání souboru.", "No entries in this folder match '{filter}'" : "V tomto adresáři nic nesouhlasí s '{filter}'", "Name" : "Název", @@ -58,6 +58,7 @@ "{dirs} and {files}" : "{dirs} a {files}", "You don’t have permission to upload or create files here" : "Nemáte oprávnění sem nahrávat nebo vytvářet soubory", "_Uploading %n file_::_Uploading %n files_" : ["Nahrávám %n soubor","Nahrávám %n soubory","Nahrávám %n souborů"], + "New" : "Nový", "\"{name}\" is an invalid file name." : "\"{name}\" je neplatným názvem souboru.", "File name cannot be empty." : "Název souboru nemůže být prázdný řetězec.", "Storage of {owner} is full, files can not be updated or synced anymore!" : "Úložiště uživatele {owner} je zaplněné, soubory nelze aktualizovat a synchronizovat!", @@ -69,6 +70,12 @@ "_%n byte_::_%n bytes_" : ["%n bajt","%n bajty","%n bajtů"], "Favorited" : "Přidáno k oblíbeným", "Favorite" : "Oblíbené", + "{newname} already exists" : "{newname} již existuje", + "Upload" : "Odeslat", + "Text file" : "Textový soubor", + "New text file.txt" : "Nový textový soubor.txt", + "Folder" : "Složka", + "New folder" : "Nová složka", "An error occurred while trying to update the tags" : "Při pokusu o úpravu tagů nastala chyba", "A new file or folder has been <strong>created</strong>" : "Byl <strong>vytvořen</strong> nový soubor nebo složka", "A file or folder has been <strong>changed</strong>" : "Soubor nebo složka byla <strong>změněna</strong>", @@ -96,12 +103,6 @@ "Settings" : "Nastavení", "WebDAV" : "WebDAV", "Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Použijte tuto adresu pro <a href=\"%s\" target=\"_blank\">přístup k vašim souborům přes WebDAV</a>", - "New" : "Nový", - "New text file" : "Nový textový soubor", - "Text file" : "Textový soubor", - "New folder" : "Nová složka", - "Folder" : "Složka", - "Upload" : "Odeslat", "Cancel upload" : "Zrušit odesílání", "No files in here" : "Žádné soubory", "Upload some content or sync with your devices!" : "Nahrajte nějaký obsah nebo synchronizujte se svými přístroji!", diff --git a/apps/files/l10n/cy_GB.js b/apps/files/l10n/cy_GB.js index f3a9825ea4c..bdf61e20f24 100644 --- a/apps/files/l10n/cy_GB.js +++ b/apps/files/l10n/cy_GB.js @@ -18,26 +18,26 @@ OC.L10N.register( "Close" : "Cau", "Upload cancelled." : "Diddymwyd llwytho i fyny.", "File upload is in progress. Leaving the page now will cancel the upload." : "Mae ffeiliau'n cael eu llwytho i fyny. Bydd gadael y dudalen hon nawr yn diddymu'r broses.", - "{new_name} already exists" : "{new_name} yn bodoli'n barod", "Actions" : "Gweithredoedd", "Download" : "Llwytho i lawr", "Pending" : "I ddod", "Error" : "Gwall", + "{new_name} already exists" : "{new_name} yn bodoli'n barod", "Name" : "Enw", "Size" : "Maint", "Modified" : "Addaswyd", + "New" : "Newydd", "File name cannot be empty." : "Does dim hawl cael enw ffeil gwag.", "Your storage is full, files can not be updated or synced anymore!" : "Mae eich storfa'n llawn, ni ellir diweddaru a chydweddu ffeiliau mwyach!", "Your storage is almost full ({usedSpacePercent}%)" : "Mae eich storfa bron a bod yn llawn ({usedSpacePercent}%)", + "Upload" : "Llwytho i fyny", + "Text file" : "Ffeil destun", + "Folder" : "Plygell", "File handling" : "Trafod ffeiliau", "Maximum upload size" : "Maint mwyaf llwytho i fyny", "max. possible: " : "mwyaf. posib:", "Save" : "Cadw", "Settings" : "Gosodiadau", - "New" : "Newydd", - "Text file" : "Ffeil destun", - "Folder" : "Plygell", - "Upload" : "Llwytho i fyny", "Cancel upload" : "Diddymu llwytho i fyny", "Delete" : "Dileu", "Upload too large" : "Maint llwytho i fyny'n rhy fawr", diff --git a/apps/files/l10n/cy_GB.json b/apps/files/l10n/cy_GB.json index e4c7a637625..eb66c24ec62 100644 --- a/apps/files/l10n/cy_GB.json +++ b/apps/files/l10n/cy_GB.json @@ -16,26 +16,26 @@ "Close" : "Cau", "Upload cancelled." : "Diddymwyd llwytho i fyny.", "File upload is in progress. Leaving the page now will cancel the upload." : "Mae ffeiliau'n cael eu llwytho i fyny. Bydd gadael y dudalen hon nawr yn diddymu'r broses.", - "{new_name} already exists" : "{new_name} yn bodoli'n barod", "Actions" : "Gweithredoedd", "Download" : "Llwytho i lawr", "Pending" : "I ddod", "Error" : "Gwall", + "{new_name} already exists" : "{new_name} yn bodoli'n barod", "Name" : "Enw", "Size" : "Maint", "Modified" : "Addaswyd", + "New" : "Newydd", "File name cannot be empty." : "Does dim hawl cael enw ffeil gwag.", "Your storage is full, files can not be updated or synced anymore!" : "Mae eich storfa'n llawn, ni ellir diweddaru a chydweddu ffeiliau mwyach!", "Your storage is almost full ({usedSpacePercent}%)" : "Mae eich storfa bron a bod yn llawn ({usedSpacePercent}%)", + "Upload" : "Llwytho i fyny", + "Text file" : "Ffeil destun", + "Folder" : "Plygell", "File handling" : "Trafod ffeiliau", "Maximum upload size" : "Maint mwyaf llwytho i fyny", "max. possible: " : "mwyaf. posib:", "Save" : "Cadw", "Settings" : "Gosodiadau", - "New" : "Newydd", - "Text file" : "Ffeil destun", - "Folder" : "Plygell", - "Upload" : "Llwytho i fyny", "Cancel upload" : "Diddymu llwytho i fyny", "Delete" : "Dileu", "Upload too large" : "Maint llwytho i fyny'n rhy fawr", diff --git a/apps/files/l10n/da.js b/apps/files/l10n/da.js index b82b69baf52..7235176c166 100644 --- a/apps/files/l10n/da.js +++ b/apps/files/l10n/da.js @@ -36,20 +36,20 @@ OC.L10N.register( "Upload cancelled." : "Upload afbrudt.", "Could not get result from server." : "Kunne ikke hente resultat fra server.", "File upload is in progress. Leaving the page now will cancel the upload." : "Fil upload kører. Hvis du forlader siden nu, vil uploadet blive annuleret.", - "{new_name} already exists" : "{new_name} eksisterer allerede", - "Could not create file" : "Kunne ikke oprette fil", - "Could not create folder" : "Kunne ikke oprette mappe", "Actions" : "Handlinger", "Download" : "Download", "Select" : "Vælg", "Pending" : "Afventer", "Unable to determine date" : "Kan ikke fastslå datoen", "This operation is forbidden" : "Denne operation er forbudt", - "This directory is unavailable, please check the logs or contact the administrator" : "Denne mappe er utilgængelig - tjek venligst loggene eller kontakt administratoren", + "This directory is unavailable, please check the logs or contact the administrator" : "Denne mappe er utilgængelig, tjek venligst loggene eller kontakt administratoren", "Error moving file." : "Fejl ved flytning af fil", "Error moving file" : "Fejl ved flytning af fil", "Error" : "Fejl", + "{new_name} already exists" : "{new_name} eksisterer allerede", "Could not rename file" : "Kunne ikke omdøbe filen", + "Could not create file" : "Kunne ikke oprette fil", + "Could not create folder" : "Kunne ikke oprette mappe", "Error deleting file." : "Fejl ved sletnign af fil.", "No entries in this folder match '{filter}'" : "Der er ingen poster i denne mappe, der matcher '{filter}'", "Name" : "Navn", @@ -60,6 +60,7 @@ OC.L10N.register( "{dirs} and {files}" : "{dirs} og {files}", "You don’t have permission to upload or create files here" : "Du har ikke tilladelse til at uploade eller oprette filer her", "_Uploading %n file_::_Uploading %n files_" : ["Uploader %n fil","Uploader %n filer"], + "New" : "Ny", "\"{name}\" is an invalid file name." : "'{name}' er et ugyldigt filnavn.", "File name cannot be empty." : "Filnavnet kan ikke stå tomt.", "Storage of {owner} is full, files can not be updated or synced anymore!" : "Opbevaringspladsen tilhørende {owner} er fyldt op - filer kan ikke længere opdateres eller synkroniseres!", @@ -71,6 +72,12 @@ OC.L10N.register( "_%n byte_::_%n bytes_" : ["%n byte","%n bytes"], "Favorited" : "Gjort til foretrukken", "Favorite" : "Foretrukken", + "{newname} already exists" : "{newname} eksistere allerede", + "Upload" : "Upload", + "Text file" : "Tekstfil", + "New text file.txt" : "Ny tekst file.txt", + "Folder" : "Mappe", + "New folder" : "Ny Mappe", "An error occurred while trying to update the tags" : "Der opstod en fejl under forsøg på at opdatere mærkerne", "A new file or folder has been <strong>created</strong>" : "En ny fil eller mapper er blevet <strong>oprettet</strong>", "A file or folder has been <strong>changed</strong>" : "En fil eller mappe er blevet <strong>ændret</strong>", @@ -98,12 +105,6 @@ OC.L10N.register( "Settings" : "Indstillinger", "WebDAV" : "WebDAV", "Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Brug denne adresse for at <a href=\"%s\" target=\"_blank\">tilgå dine filer via WebDAV</a>", - "New" : "Ny", - "New text file" : "Ny tekstfil", - "Text file" : "Tekstfil", - "New folder" : "Ny Mappe", - "Folder" : "Mappe", - "Upload" : "Upload", "Cancel upload" : "Fortryd upload", "No files in here" : "Her er ingen filer", "Upload some content or sync with your devices!" : "Overfør indhold eller synkronisér med dine enheder!", diff --git a/apps/files/l10n/da.json b/apps/files/l10n/da.json index 85e0f872433..adead6621a2 100644 --- a/apps/files/l10n/da.json +++ b/apps/files/l10n/da.json @@ -34,20 +34,20 @@ "Upload cancelled." : "Upload afbrudt.", "Could not get result from server." : "Kunne ikke hente resultat fra server.", "File upload is in progress. Leaving the page now will cancel the upload." : "Fil upload kører. Hvis du forlader siden nu, vil uploadet blive annuleret.", - "{new_name} already exists" : "{new_name} eksisterer allerede", - "Could not create file" : "Kunne ikke oprette fil", - "Could not create folder" : "Kunne ikke oprette mappe", "Actions" : "Handlinger", "Download" : "Download", "Select" : "Vælg", "Pending" : "Afventer", "Unable to determine date" : "Kan ikke fastslå datoen", "This operation is forbidden" : "Denne operation er forbudt", - "This directory is unavailable, please check the logs or contact the administrator" : "Denne mappe er utilgængelig - tjek venligst loggene eller kontakt administratoren", + "This directory is unavailable, please check the logs or contact the administrator" : "Denne mappe er utilgængelig, tjek venligst loggene eller kontakt administratoren", "Error moving file." : "Fejl ved flytning af fil", "Error moving file" : "Fejl ved flytning af fil", "Error" : "Fejl", + "{new_name} already exists" : "{new_name} eksisterer allerede", "Could not rename file" : "Kunne ikke omdøbe filen", + "Could not create file" : "Kunne ikke oprette fil", + "Could not create folder" : "Kunne ikke oprette mappe", "Error deleting file." : "Fejl ved sletnign af fil.", "No entries in this folder match '{filter}'" : "Der er ingen poster i denne mappe, der matcher '{filter}'", "Name" : "Navn", @@ -58,6 +58,7 @@ "{dirs} and {files}" : "{dirs} og {files}", "You don’t have permission to upload or create files here" : "Du har ikke tilladelse til at uploade eller oprette filer her", "_Uploading %n file_::_Uploading %n files_" : ["Uploader %n fil","Uploader %n filer"], + "New" : "Ny", "\"{name}\" is an invalid file name." : "'{name}' er et ugyldigt filnavn.", "File name cannot be empty." : "Filnavnet kan ikke stå tomt.", "Storage of {owner} is full, files can not be updated or synced anymore!" : "Opbevaringspladsen tilhørende {owner} er fyldt op - filer kan ikke længere opdateres eller synkroniseres!", @@ -69,6 +70,12 @@ "_%n byte_::_%n bytes_" : ["%n byte","%n bytes"], "Favorited" : "Gjort til foretrukken", "Favorite" : "Foretrukken", + "{newname} already exists" : "{newname} eksistere allerede", + "Upload" : "Upload", + "Text file" : "Tekstfil", + "New text file.txt" : "Ny tekst file.txt", + "Folder" : "Mappe", + "New folder" : "Ny Mappe", "An error occurred while trying to update the tags" : "Der opstod en fejl under forsøg på at opdatere mærkerne", "A new file or folder has been <strong>created</strong>" : "En ny fil eller mapper er blevet <strong>oprettet</strong>", "A file or folder has been <strong>changed</strong>" : "En fil eller mappe er blevet <strong>ændret</strong>", @@ -96,12 +103,6 @@ "Settings" : "Indstillinger", "WebDAV" : "WebDAV", "Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Brug denne adresse for at <a href=\"%s\" target=\"_blank\">tilgå dine filer via WebDAV</a>", - "New" : "Ny", - "New text file" : "Ny tekstfil", - "Text file" : "Tekstfil", - "New folder" : "Ny Mappe", - "Folder" : "Mappe", - "Upload" : "Upload", "Cancel upload" : "Fortryd upload", "No files in here" : "Her er ingen filer", "Upload some content or sync with your devices!" : "Overfør indhold eller synkronisér med dine enheder!", diff --git a/apps/files/l10n/de.js b/apps/files/l10n/de.js index 48e386308ec..5e22e05f80d 100644 --- a/apps/files/l10n/de.js +++ b/apps/files/l10n/de.js @@ -36,9 +36,6 @@ OC.L10N.register( "Upload cancelled." : "Upload abgebrochen.", "Could not get result from server." : "Ergebnis konnte nicht vom Server abgerufen werden.", "File upload is in progress. Leaving the page now will cancel the upload." : "Dateiupload läuft. Wenn Du die Seite jetzt verlässt, wird der Upload abgebrochen.", - "{new_name} already exists" : "{new_name} existiert bereits", - "Could not create file" : "Die Datei konnte nicht erstellt werden", - "Could not create folder" : "Der Ordner konnte nicht erstellt werden", "Actions" : "Aktionen", "Download" : "Herunterladen", "Select" : "Auswählen", @@ -49,7 +46,10 @@ OC.L10N.register( "Error moving file." : "Fehler beim Verschieben der Datei.", "Error moving file" : "Fehler beim Verschieben der Datei", "Error" : "Fehler", + "{new_name} already exists" : "{new_name} existiert bereits", "Could not rename file" : "Die Datei konnte nicht umbenannt werden", + "Could not create file" : "Die Datei konnte nicht erstellt werden", + "Could not create folder" : "Der Ordner konnte nicht erstellt werden", "Error deleting file." : "Fehler beim Löschen der Datei.", "No entries in this folder match '{filter}'" : "Keine Einträge in diesem Ordner stimmen mit '{filter}' überein", "Name" : "Name", @@ -60,6 +60,7 @@ OC.L10N.register( "{dirs} and {files}" : "{dirs} und {files}", "You don’t have permission to upload or create files here" : "Du hast keine Berechtigung, hier Dateien hochzuladen oder zu erstellen", "_Uploading %n file_::_Uploading %n files_" : ["%n Datei wird hochgeladen","%n Dateien werden hochgeladen"], + "New" : "Neu", "\"{name}\" is an invalid file name." : "»{name}« ist kein gültiger Dateiname.", "File name cannot be empty." : "Der Dateiname darf nicht leer sein.", "Storage of {owner} is full, files can not be updated or synced anymore!" : "Der Speicher von {owner} ist voll, Dateien können nicht mehr aktualisiert oder synchronisiert werden!", @@ -71,6 +72,10 @@ OC.L10N.register( "_%n byte_::_%n bytes_" : ["%n Byte","%n Bytes"], "Favorited" : "Favorisiert", "Favorite" : "Favorit", + "Upload" : "Hochladen", + "Text file" : "Textdatei", + "Folder" : "Ordner", + "New folder" : "Neuer Ordner", "An error occurred while trying to update the tags" : "Es ist ein Fehler beim Aktualisieren der Tags aufgetreten", "A new file or folder has been <strong>created</strong>" : "Eine neue Datei oder ein neuer Ordner wurde <strong>erstellt</strong>", "A file or folder has been <strong>changed</strong>" : "Eine Datei oder ein Ordner wurde <strong>geändert</strong>", @@ -97,12 +102,6 @@ OC.L10N.register( "Settings" : "Einstellungen", "WebDAV" : "WebDAV", "Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Benutze diese Adresse, um <a href=\"%s\" target=\"_blank\">über WebDAV auf Deine Dateien zuzugreifen</a>", - "New" : "Neu", - "New text file" : "Neue Textdatei", - "Text file" : "Textdatei", - "New folder" : "Neuer Ordner", - "Folder" : "Ordner", - "Upload" : "Hochladen", "Cancel upload" : "Upload abbrechen", "No files in here" : "Keine Dateien vorhanden", "Upload some content or sync with your devices!" : "Lade Inhalte hoch oder synchronisiere mit Deinen Geräten!", diff --git a/apps/files/l10n/de.json b/apps/files/l10n/de.json index fdf22ba9732..5e93d2b3856 100644 --- a/apps/files/l10n/de.json +++ b/apps/files/l10n/de.json @@ -34,9 +34,6 @@ "Upload cancelled." : "Upload abgebrochen.", "Could not get result from server." : "Ergebnis konnte nicht vom Server abgerufen werden.", "File upload is in progress. Leaving the page now will cancel the upload." : "Dateiupload läuft. Wenn Du die Seite jetzt verlässt, wird der Upload abgebrochen.", - "{new_name} already exists" : "{new_name} existiert bereits", - "Could not create file" : "Die Datei konnte nicht erstellt werden", - "Could not create folder" : "Der Ordner konnte nicht erstellt werden", "Actions" : "Aktionen", "Download" : "Herunterladen", "Select" : "Auswählen", @@ -47,7 +44,10 @@ "Error moving file." : "Fehler beim Verschieben der Datei.", "Error moving file" : "Fehler beim Verschieben der Datei", "Error" : "Fehler", + "{new_name} already exists" : "{new_name} existiert bereits", "Could not rename file" : "Die Datei konnte nicht umbenannt werden", + "Could not create file" : "Die Datei konnte nicht erstellt werden", + "Could not create folder" : "Der Ordner konnte nicht erstellt werden", "Error deleting file." : "Fehler beim Löschen der Datei.", "No entries in this folder match '{filter}'" : "Keine Einträge in diesem Ordner stimmen mit '{filter}' überein", "Name" : "Name", @@ -58,6 +58,7 @@ "{dirs} and {files}" : "{dirs} und {files}", "You don’t have permission to upload or create files here" : "Du hast keine Berechtigung, hier Dateien hochzuladen oder zu erstellen", "_Uploading %n file_::_Uploading %n files_" : ["%n Datei wird hochgeladen","%n Dateien werden hochgeladen"], + "New" : "Neu", "\"{name}\" is an invalid file name." : "»{name}« ist kein gültiger Dateiname.", "File name cannot be empty." : "Der Dateiname darf nicht leer sein.", "Storage of {owner} is full, files can not be updated or synced anymore!" : "Der Speicher von {owner} ist voll, Dateien können nicht mehr aktualisiert oder synchronisiert werden!", @@ -69,6 +70,10 @@ "_%n byte_::_%n bytes_" : ["%n Byte","%n Bytes"], "Favorited" : "Favorisiert", "Favorite" : "Favorit", + "Upload" : "Hochladen", + "Text file" : "Textdatei", + "Folder" : "Ordner", + "New folder" : "Neuer Ordner", "An error occurred while trying to update the tags" : "Es ist ein Fehler beim Aktualisieren der Tags aufgetreten", "A new file or folder has been <strong>created</strong>" : "Eine neue Datei oder ein neuer Ordner wurde <strong>erstellt</strong>", "A file or folder has been <strong>changed</strong>" : "Eine Datei oder ein Ordner wurde <strong>geändert</strong>", @@ -95,12 +100,6 @@ "Settings" : "Einstellungen", "WebDAV" : "WebDAV", "Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Benutze diese Adresse, um <a href=\"%s\" target=\"_blank\">über WebDAV auf Deine Dateien zuzugreifen</a>", - "New" : "Neu", - "New text file" : "Neue Textdatei", - "Text file" : "Textdatei", - "New folder" : "Neuer Ordner", - "Folder" : "Ordner", - "Upload" : "Hochladen", "Cancel upload" : "Upload abbrechen", "No files in here" : "Keine Dateien vorhanden", "Upload some content or sync with your devices!" : "Lade Inhalte hoch oder synchronisiere mit Deinen Geräten!", diff --git a/apps/files/l10n/de_AT.js b/apps/files/l10n/de_AT.js index a6ff8843a63..70adef6bb08 100644 --- a/apps/files/l10n/de_AT.js +++ b/apps/files/l10n/de_AT.js @@ -5,6 +5,8 @@ OC.L10N.register( "Files" : "Dateien", "Download" : "Herunterladen", "Error" : "Fehler", + "Upload" : "Hochladen", + "New folder" : "Neuer Ordner", "A new file or folder has been <strong>created</strong>" : "Eine neue Datei oder ein neuer Ordner wurde <strong>erstellt</strong>", "A file or folder has been <strong>changed</strong>" : "Eine Datei oder ein Ordner hat sich <strong>geändert</strong>", "A file or folder has been <strong>deleted</strong>" : "Eine Datei oder ein Ordner wurde <strong>gelöscht</strong>", @@ -16,8 +18,6 @@ OC.L10N.register( "%2$s deleted %1$s" : "%2$s löschte %1$s", "Save" : "Speichern", "Settings" : "Einstellungen", - "New folder" : "Neuer Ordner", - "Upload" : "Hochladen", "Cancel upload" : "Hochladen abbrechen", "Delete" : "Löschen" }, diff --git a/apps/files/l10n/de_AT.json b/apps/files/l10n/de_AT.json index 0356e6650af..8766f264741 100644 --- a/apps/files/l10n/de_AT.json +++ b/apps/files/l10n/de_AT.json @@ -3,6 +3,8 @@ "Files" : "Dateien", "Download" : "Herunterladen", "Error" : "Fehler", + "Upload" : "Hochladen", + "New folder" : "Neuer Ordner", "A new file or folder has been <strong>created</strong>" : "Eine neue Datei oder ein neuer Ordner wurde <strong>erstellt</strong>", "A file or folder has been <strong>changed</strong>" : "Eine Datei oder ein Ordner hat sich <strong>geändert</strong>", "A file or folder has been <strong>deleted</strong>" : "Eine Datei oder ein Ordner wurde <strong>gelöscht</strong>", @@ -14,8 +16,6 @@ "%2$s deleted %1$s" : "%2$s löschte %1$s", "Save" : "Speichern", "Settings" : "Einstellungen", - "New folder" : "Neuer Ordner", - "Upload" : "Hochladen", "Cancel upload" : "Hochladen abbrechen", "Delete" : "Löschen" },"pluralForm" :"nplurals=2; plural=(n != 1);" diff --git a/apps/files/l10n/de_DE.js b/apps/files/l10n/de_DE.js index bc2f764ae55..34c6c8fb4a6 100644 --- a/apps/files/l10n/de_DE.js +++ b/apps/files/l10n/de_DE.js @@ -36,9 +36,6 @@ OC.L10N.register( "Upload cancelled." : "Upload abgebrochen.", "Could not get result from server." : "Ergebnis konnte nicht vom Server abgerufen werden.", "File upload is in progress. Leaving the page now will cancel the upload." : "Dateiupload läuft. Wenn Sie die Seite jetzt verlassen, wird der Upload abgebrochen.", - "{new_name} already exists" : "{new_name} existiert bereits", - "Could not create file" : "Die Datei konnte nicht erstellt werden", - "Could not create folder" : "Der Ordner konnte nicht erstellt werden", "Actions" : "Aktionen", "Download" : "Herunterladen", "Select" : "Auswählen", @@ -49,7 +46,10 @@ OC.L10N.register( "Error moving file." : "Fehler beim Verschieben der Datei.", "Error moving file" : "Fehler beim Verschieben der Datei", "Error" : "Fehler", + "{new_name} already exists" : "{new_name} existiert bereits", "Could not rename file" : "Die Datei konnte nicht umbenannt werden", + "Could not create file" : "Die Datei konnte nicht erstellt werden", + "Could not create folder" : "Der Ordner konnte nicht erstellt werden", "Error deleting file." : "Fehler beim Löschen der Datei.", "No entries in this folder match '{filter}'" : "Keine Einträge in diesem Ordner stimmen mit '{filter}' überein", "Name" : "Name", @@ -60,6 +60,7 @@ OC.L10N.register( "{dirs} and {files}" : "{dirs} und {files}", "You don’t have permission to upload or create files here" : "Sie haben keine Berechtigung, hier Dateien hochzuladen oder zu erstellen", "_Uploading %n file_::_Uploading %n files_" : ["%n Datei wird hoch geladen","%n Dateien werden hoch geladen"], + "New" : "Neu", "\"{name}\" is an invalid file name." : "„{name}“ ist kein gültiger Dateiname.", "File name cannot be empty." : "Der Dateiname darf nicht leer sein.", "Storage of {owner} is full, files can not be updated or synced anymore!" : "Der Speicher von {owner} ist voll, Dateien können nicht mehr aktualisiert oder synchronisiert werden!", @@ -69,6 +70,10 @@ OC.L10N.register( "_matches '{filter}'_::_match '{filter}'_" : ["stimmt mit '{filter}' überein","stimmen mit '{filter}' überein"], "Favorited" : "Favorisiert", "Favorite" : "Favorit", + "Upload" : "Hochladen", + "Text file" : "Textdatei", + "Folder" : "Ordner", + "New folder" : "Neuer Ordner", "An error occurred while trying to update the tags" : "Es ist ein Fehler beim Aktualisieren der Tags aufgetreten", "A new file or folder has been <strong>created</strong>" : "Eine neue Datei oder ein neuer Ordner wurde <strong>erstellt</strong>", "A file or folder has been <strong>changed</strong>" : "Eine Datei oder ein Ordner wurde <strong>geändert</strong>", @@ -95,12 +100,6 @@ OC.L10N.register( "Settings" : "Einstellungen", "WebDAV" : "WebDAV", "Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Benutzen Sie diese Adresse, um <a href=\"%s\" target=\"_blank\">über WebDAV auf Ihre Dateien zuzugreifen</a>", - "New" : "Neu", - "New text file" : "Neue Textdatei", - "Text file" : "Textdatei", - "New folder" : "Neuer Ordner", - "Folder" : "Ordner", - "Upload" : "Hochladen", "Cancel upload" : "Upload abbrechen", "No files in here" : "Keine Dateien vorhanden", "Upload some content or sync with your devices!" : "Laden Sie Inhalte hoch oder synchronisieren Sie mit Ihren Geräten!", diff --git a/apps/files/l10n/de_DE.json b/apps/files/l10n/de_DE.json index 7e4ee06cb81..390e5e0e575 100644 --- a/apps/files/l10n/de_DE.json +++ b/apps/files/l10n/de_DE.json @@ -34,9 +34,6 @@ "Upload cancelled." : "Upload abgebrochen.", "Could not get result from server." : "Ergebnis konnte nicht vom Server abgerufen werden.", "File upload is in progress. Leaving the page now will cancel the upload." : "Dateiupload läuft. Wenn Sie die Seite jetzt verlassen, wird der Upload abgebrochen.", - "{new_name} already exists" : "{new_name} existiert bereits", - "Could not create file" : "Die Datei konnte nicht erstellt werden", - "Could not create folder" : "Der Ordner konnte nicht erstellt werden", "Actions" : "Aktionen", "Download" : "Herunterladen", "Select" : "Auswählen", @@ -47,7 +44,10 @@ "Error moving file." : "Fehler beim Verschieben der Datei.", "Error moving file" : "Fehler beim Verschieben der Datei", "Error" : "Fehler", + "{new_name} already exists" : "{new_name} existiert bereits", "Could not rename file" : "Die Datei konnte nicht umbenannt werden", + "Could not create file" : "Die Datei konnte nicht erstellt werden", + "Could not create folder" : "Der Ordner konnte nicht erstellt werden", "Error deleting file." : "Fehler beim Löschen der Datei.", "No entries in this folder match '{filter}'" : "Keine Einträge in diesem Ordner stimmen mit '{filter}' überein", "Name" : "Name", @@ -58,6 +58,7 @@ "{dirs} and {files}" : "{dirs} und {files}", "You don’t have permission to upload or create files here" : "Sie haben keine Berechtigung, hier Dateien hochzuladen oder zu erstellen", "_Uploading %n file_::_Uploading %n files_" : ["%n Datei wird hoch geladen","%n Dateien werden hoch geladen"], + "New" : "Neu", "\"{name}\" is an invalid file name." : "„{name}“ ist kein gültiger Dateiname.", "File name cannot be empty." : "Der Dateiname darf nicht leer sein.", "Storage of {owner} is full, files can not be updated or synced anymore!" : "Der Speicher von {owner} ist voll, Dateien können nicht mehr aktualisiert oder synchronisiert werden!", @@ -67,6 +68,10 @@ "_matches '{filter}'_::_match '{filter}'_" : ["stimmt mit '{filter}' überein","stimmen mit '{filter}' überein"], "Favorited" : "Favorisiert", "Favorite" : "Favorit", + "Upload" : "Hochladen", + "Text file" : "Textdatei", + "Folder" : "Ordner", + "New folder" : "Neuer Ordner", "An error occurred while trying to update the tags" : "Es ist ein Fehler beim Aktualisieren der Tags aufgetreten", "A new file or folder has been <strong>created</strong>" : "Eine neue Datei oder ein neuer Ordner wurde <strong>erstellt</strong>", "A file or folder has been <strong>changed</strong>" : "Eine Datei oder ein Ordner wurde <strong>geändert</strong>", @@ -93,12 +98,6 @@ "Settings" : "Einstellungen", "WebDAV" : "WebDAV", "Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Benutzen Sie diese Adresse, um <a href=\"%s\" target=\"_blank\">über WebDAV auf Ihre Dateien zuzugreifen</a>", - "New" : "Neu", - "New text file" : "Neue Textdatei", - "Text file" : "Textdatei", - "New folder" : "Neuer Ordner", - "Folder" : "Ordner", - "Upload" : "Hochladen", "Cancel upload" : "Upload abbrechen", "No files in here" : "Keine Dateien vorhanden", "Upload some content or sync with your devices!" : "Laden Sie Inhalte hoch oder synchronisieren Sie mit Ihren Geräten!", diff --git a/apps/files/l10n/el.js b/apps/files/l10n/el.js index 1d0ac807d5f..fe65869c3bb 100644 --- a/apps/files/l10n/el.js +++ b/apps/files/l10n/el.js @@ -36,9 +36,6 @@ OC.L10N.register( "Upload cancelled." : "Η αποστολή ακυρώθηκε.", "Could not get result from server." : "Αδυναμία λήψης αποτελέσματος από το διακομιστή.", "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" : "Αδυναμία δημιουργίας φακέλου", "Actions" : "Ενέργειες", "Download" : "Λήψη", "Select" : "Επιλογή", @@ -49,7 +46,10 @@ OC.L10N.register( "Error moving file." : "Σφάλμα κατά τη μετακίνηση του αρχείου.", "Error moving file" : "Σφάλμα κατά τη μετακίνηση του αρχείου", "Error" : "Σφάλμα", + "{new_name} already exists" : "{new_name} υπάρχει ήδη", "Could not rename file" : "Αδυναμία μετονομασίας αρχείου", + "Could not create file" : "Αδυναμία δημιουργίας αρχείου", + "Could not create folder" : "Αδυναμία δημιουργίας φακέλου", "Error deleting file." : "Σφάλμα διαγραφής αρχείου.", "No entries in this folder match '{filter}'" : "Δεν ταιριάζουν καταχωρήσεις σε αυτόν το φάκελο '{filter}'", "Name" : "Όνομα", @@ -60,6 +60,7 @@ OC.L10N.register( "{dirs} and {files}" : "{Κατάλογοι αρχείων} και {αρχεία}", "You don’t have permission to upload or create files here" : "Δεν έχετε δικαιώματα φόρτωσης ή δημιουργίας αρχείων εδώ", "_Uploading %n file_::_Uploading %n files_" : ["Ανέβασμα %n αρχείου","Ανέβασμα %n αρχείων"], + "New" : "Νέο", "\"{name}\" is an invalid file name." : "Το \"{name}\" είναι μη έγκυρο όνομα αρχείου.", "File name cannot be empty." : "Το όνομα αρχείου δεν μπορεί να είναι κενό.", "Storage of {owner} is full, files can not be updated or synced anymore!" : "Ο αποθηκευτικός χώρος του {owner} είναι πλήρης, τα αρχεία δεν δύναται να ενημερωθούν ή να συγχρονίσουν!", @@ -71,6 +72,12 @@ OC.L10N.register( "_%n byte_::_%n bytes_" : ["%n byte","%n bytes"], "Favorited" : "Προτιμώμενα", "Favorite" : "Αγαπημένο", + "{newname} already exists" : "το {newname} υπάρχει ήδη", + "Upload" : "Μεταφόρτωση", + "Text file" : "Αρχείο κειμένου", + "New text file.txt" : "Νέο αρχείο κειμένου.txt", + "Folder" : "Φάκελος", + "New folder" : "Νέος κατάλογος", "An error occurred while trying to update the tags" : "Ένα σφάλμα προέκυψε κατά τη διάρκεια ενημέρωσης των ετικετών", "A new file or folder has been <strong>created</strong>" : "Ένα νέο αρχείο ή κατάλογος έχουν <strong>δημιουργηθεί</strong>", "A file or folder has been <strong>changed</strong>" : "Ένα αρχείο ή κατάλογος έχουν <strong>αλλάξει</strong>", @@ -98,12 +105,6 @@ OC.L10N.register( "Settings" : "Ρυθμίσεις", "WebDAV" : "WebDAV", "Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Χρησιμοποιήστε αυτήν την διεύθυνση για να αποκτήσετε <a href=\"%s\" target=\"_blank\">πρόσβαση στα αρχεία σας μέσω WebDAV</a>", - "New" : "Νέο", - "New text file" : "Νέο αρχείο κειμένου", - "Text file" : "Αρχείο κειμένου", - "New folder" : "Νέος κατάλογος", - "Folder" : "Φάκελος", - "Upload" : "Μεταφόρτωση", "Cancel upload" : "Ακύρωση μεταφόρτωσης", "No files in here" : "Δεν υπάρχουν αρχεία", "Upload some content or sync with your devices!" : "Μεταφόρτωση περιεχομένου ή συγχρονισμός με τις συσκευές σας!", diff --git a/apps/files/l10n/el.json b/apps/files/l10n/el.json index d3ea79a5e40..37ff95b406e 100644 --- a/apps/files/l10n/el.json +++ b/apps/files/l10n/el.json @@ -34,9 +34,6 @@ "Upload cancelled." : "Η αποστολή ακυρώθηκε.", "Could not get result from server." : "Αδυναμία λήψης αποτελέσματος από το διακομιστή.", "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" : "Αδυναμία δημιουργίας φακέλου", "Actions" : "Ενέργειες", "Download" : "Λήψη", "Select" : "Επιλογή", @@ -47,7 +44,10 @@ "Error moving file." : "Σφάλμα κατά τη μετακίνηση του αρχείου.", "Error moving file" : "Σφάλμα κατά τη μετακίνηση του αρχείου", "Error" : "Σφάλμα", + "{new_name} already exists" : "{new_name} υπάρχει ήδη", "Could not rename file" : "Αδυναμία μετονομασίας αρχείου", + "Could not create file" : "Αδυναμία δημιουργίας αρχείου", + "Could not create folder" : "Αδυναμία δημιουργίας φακέλου", "Error deleting file." : "Σφάλμα διαγραφής αρχείου.", "No entries in this folder match '{filter}'" : "Δεν ταιριάζουν καταχωρήσεις σε αυτόν το φάκελο '{filter}'", "Name" : "Όνομα", @@ -58,6 +58,7 @@ "{dirs} and {files}" : "{Κατάλογοι αρχείων} και {αρχεία}", "You don’t have permission to upload or create files here" : "Δεν έχετε δικαιώματα φόρτωσης ή δημιουργίας αρχείων εδώ", "_Uploading %n file_::_Uploading %n files_" : ["Ανέβασμα %n αρχείου","Ανέβασμα %n αρχείων"], + "New" : "Νέο", "\"{name}\" is an invalid file name." : "Το \"{name}\" είναι μη έγκυρο όνομα αρχείου.", "File name cannot be empty." : "Το όνομα αρχείου δεν μπορεί να είναι κενό.", "Storage of {owner} is full, files can not be updated or synced anymore!" : "Ο αποθηκευτικός χώρος του {owner} είναι πλήρης, τα αρχεία δεν δύναται να ενημερωθούν ή να συγχρονίσουν!", @@ -69,6 +70,12 @@ "_%n byte_::_%n bytes_" : ["%n byte","%n bytes"], "Favorited" : "Προτιμώμενα", "Favorite" : "Αγαπημένο", + "{newname} already exists" : "το {newname} υπάρχει ήδη", + "Upload" : "Μεταφόρτωση", + "Text file" : "Αρχείο κειμένου", + "New text file.txt" : "Νέο αρχείο κειμένου.txt", + "Folder" : "Φάκελος", + "New folder" : "Νέος κατάλογος", "An error occurred while trying to update the tags" : "Ένα σφάλμα προέκυψε κατά τη διάρκεια ενημέρωσης των ετικετών", "A new file or folder has been <strong>created</strong>" : "Ένα νέο αρχείο ή κατάλογος έχουν <strong>δημιουργηθεί</strong>", "A file or folder has been <strong>changed</strong>" : "Ένα αρχείο ή κατάλογος έχουν <strong>αλλάξει</strong>", @@ -96,12 +103,6 @@ "Settings" : "Ρυθμίσεις", "WebDAV" : "WebDAV", "Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Χρησιμοποιήστε αυτήν την διεύθυνση για να αποκτήσετε <a href=\"%s\" target=\"_blank\">πρόσβαση στα αρχεία σας μέσω WebDAV</a>", - "New" : "Νέο", - "New text file" : "Νέο αρχείο κειμένου", - "Text file" : "Αρχείο κειμένου", - "New folder" : "Νέος κατάλογος", - "Folder" : "Φάκελος", - "Upload" : "Μεταφόρτωση", "Cancel upload" : "Ακύρωση μεταφόρτωσης", "No files in here" : "Δεν υπάρχουν αρχεία", "Upload some content or sync with your devices!" : "Μεταφόρτωση περιεχομένου ή συγχρονισμός με τις συσκευές σας!", diff --git a/apps/files/l10n/en_GB.js b/apps/files/l10n/en_GB.js index 1433c5d9c18..decfe4dcd83 100644 --- a/apps/files/l10n/en_GB.js +++ b/apps/files/l10n/en_GB.js @@ -36,9 +36,6 @@ OC.L10N.register( "Upload cancelled." : "Upload cancelled.", "Could not get result from server." : "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} already exists", - "Could not create file" : "Could not create file", - "Could not create folder" : "Could not create folder", "Actions" : "Actions", "Download" : "Download", "Select" : "Select", @@ -47,7 +44,10 @@ OC.L10N.register( "Error moving file." : "Error moving file.", "Error moving file" : "Error moving file", "Error" : "Error", + "{new_name} already exists" : "{new_name} already exists", "Could not rename file" : "Could not rename file", + "Could not create file" : "Could not create file", + "Could not create folder" : "Could not create folder", "Error deleting file." : "Error deleting file.", "No entries in this folder match '{filter}'" : "No entries in this folder match '{filter}'", "Name" : "Name", @@ -58,6 +58,7 @@ OC.L10N.register( "{dirs} and {files}" : "{dirs} and {files}", "You don’t have permission to upload or create files here" : "You don’t have permission to upload or create files here", "_Uploading %n file_::_Uploading %n files_" : ["Uploading %n file","Uploading %n files"], + "New" : "New", "\"{name}\" is an invalid file name." : "\"{name}\" is an invalid file name.", "File name cannot be empty." : "File name cannot be empty.", "Your storage is full, files can not be updated or synced anymore!" : "Your storage is full, files can not be updated or synced anymore!", @@ -65,6 +66,10 @@ OC.L10N.register( "_matches '{filter}'_::_match '{filter}'_" : ["matches '{filter}'","match '{filter}'"], "Favorited" : "Favourited", "Favorite" : "Favourite", + "Upload" : "Upload", + "Text file" : "Text file", + "Folder" : "Folder", + "New folder" : "New folder", "An error occurred while trying to update the tags" : "An error occurred whilst trying to update the tags", "A new file or folder has been <strong>created</strong>" : "A new file or folder has been <strong>created</strong>", "A file or folder has been <strong>changed</strong>" : "A file or folder has been <strong>changed</strong>", @@ -91,12 +96,6 @@ OC.L10N.register( "Settings" : "Settings", "WebDAV" : "WebDAV", "Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>", - "New" : "New", - "New text file" : "New text file", - "Text file" : "Text file", - "New folder" : "New folder", - "Folder" : "Folder", - "Upload" : "Upload", "Cancel upload" : "Cancel upload", "No files in here" : "No files in here", "Upload some content or sync with your devices!" : "Upload some content or sync with your devices!", diff --git a/apps/files/l10n/en_GB.json b/apps/files/l10n/en_GB.json index 84feb344142..cf06affa55e 100644 --- a/apps/files/l10n/en_GB.json +++ b/apps/files/l10n/en_GB.json @@ -34,9 +34,6 @@ "Upload cancelled." : "Upload cancelled.", "Could not get result from server." : "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} already exists", - "Could not create file" : "Could not create file", - "Could not create folder" : "Could not create folder", "Actions" : "Actions", "Download" : "Download", "Select" : "Select", @@ -45,7 +42,10 @@ "Error moving file." : "Error moving file.", "Error moving file" : "Error moving file", "Error" : "Error", + "{new_name} already exists" : "{new_name} already exists", "Could not rename file" : "Could not rename file", + "Could not create file" : "Could not create file", + "Could not create folder" : "Could not create folder", "Error deleting file." : "Error deleting file.", "No entries in this folder match '{filter}'" : "No entries in this folder match '{filter}'", "Name" : "Name", @@ -56,6 +56,7 @@ "{dirs} and {files}" : "{dirs} and {files}", "You don’t have permission to upload or create files here" : "You don’t have permission to upload or create files here", "_Uploading %n file_::_Uploading %n files_" : ["Uploading %n file","Uploading %n files"], + "New" : "New", "\"{name}\" is an invalid file name." : "\"{name}\" is an invalid file name.", "File name cannot be empty." : "File name cannot be empty.", "Your storage is full, files can not be updated or synced anymore!" : "Your storage is full, files can not be updated or synced anymore!", @@ -63,6 +64,10 @@ "_matches '{filter}'_::_match '{filter}'_" : ["matches '{filter}'","match '{filter}'"], "Favorited" : "Favourited", "Favorite" : "Favourite", + "Upload" : "Upload", + "Text file" : "Text file", + "Folder" : "Folder", + "New folder" : "New folder", "An error occurred while trying to update the tags" : "An error occurred whilst trying to update the tags", "A new file or folder has been <strong>created</strong>" : "A new file or folder has been <strong>created</strong>", "A file or folder has been <strong>changed</strong>" : "A file or folder has been <strong>changed</strong>", @@ -89,12 +94,6 @@ "Settings" : "Settings", "WebDAV" : "WebDAV", "Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>", - "New" : "New", - "New text file" : "New text file", - "Text file" : "Text file", - "New folder" : "New folder", - "Folder" : "Folder", - "Upload" : "Upload", "Cancel upload" : "Cancel upload", "No files in here" : "No files in here", "Upload some content or sync with your devices!" : "Upload some content or sync with your devices!", diff --git a/apps/files/l10n/eo.js b/apps/files/l10n/eo.js index 0f6c7de8a31..3c208a6bc17 100644 --- a/apps/files/l10n/eo.js +++ b/apps/files/l10n/eo.js @@ -29,16 +29,16 @@ OC.L10N.register( "Upload cancelled." : "La alŝuto nuliĝis.", "Could not get result from server." : "Ne povis ekhaviĝi rezulto el la servilo.", "File upload is in progress. Leaving the page now will cancel the upload." : "Dosieralŝuto plenumiĝas. Lasi la paĝon nun nuligus la alŝuton.", - "{new_name} already exists" : "{new_name} jam ekzistas", - "Could not create file" : "Ne povis kreiĝi dosiero", - "Could not create folder" : "Ne povis kreiĝi dosierujo", "Actions" : "Agoj", "Download" : "Elŝuti", "Select" : "Elekti", "Pending" : "Traktotaj", "Error moving file" : "Eraris movo de dosiero", "Error" : "Eraro", + "{new_name} already exists" : "{new_name} jam ekzistas", "Could not rename file" : "Ne povis alinomiĝi dosiero", + "Could not create file" : "Ne povis kreiĝi dosiero", + "Could not create folder" : "Ne povis kreiĝi dosierujo", "Name" : "Nomo", "Size" : "Grando", "Modified" : "Modifita", @@ -47,10 +47,15 @@ OC.L10N.register( "{dirs} and {files}" : "{dirs} kaj {files}", "You don’t have permission to upload or create files here" : "Vi ne havas permeson alŝuti aŭ krei dosierojn ĉi tie", "_Uploading %n file_::_Uploading %n files_" : ["Alŝutatas %n dosiero","Alŝutatas %n dosieroj"], + "New" : "Nova", "File name cannot be empty." : "Dosiernomo devas ne malpleni.", "Your storage is full, files can not be updated or synced anymore!" : "Via memoro plenas, ne plu eblas ĝisdatigi aŭ sinkronigi dosierojn!", "Your storage is almost full ({usedSpacePercent}%)" : "Via memoro preskaŭ plenas ({usedSpacePercent}%)", "Favorite" : "Favorato", + "Upload" : "Alŝuti", + "Text file" : "Tekstodosiero", + "Folder" : "Dosierujo", + "New folder" : "Nova dosierujo", "You created %1$s" : "Vi kreis %1$s", "%2$s created %1$s" : "%2$s kreis %1$s", "%1$s was created in a public folder" : "%1$s kreiĝis en publika dosierujo", @@ -68,12 +73,6 @@ OC.L10N.register( "Settings" : "Agordo", "WebDAV" : "WebDAV", "Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Uzu ĉi tiun adreson por <a href=\"%s\" target=\"_blank\">aliri viajn Dosierojn per WebDAV</a>", - "New" : "Nova", - "New text file" : "Nova tekstodosiero", - "Text file" : "Tekstodosiero", - "New folder" : "Nova dosierujo", - "Folder" : "Dosierujo", - "Upload" : "Alŝuti", "Cancel upload" : "Nuligi alŝuton", "No files in here" : "Neniu dosiero estas ĉi tie", "Select all" : "Elekti ĉion", diff --git a/apps/files/l10n/eo.json b/apps/files/l10n/eo.json index 88639f33449..bf69b68d883 100644 --- a/apps/files/l10n/eo.json +++ b/apps/files/l10n/eo.json @@ -27,16 +27,16 @@ "Upload cancelled." : "La alŝuto nuliĝis.", "Could not get result from server." : "Ne povis ekhaviĝi rezulto el la servilo.", "File upload is in progress. Leaving the page now will cancel the upload." : "Dosieralŝuto plenumiĝas. Lasi la paĝon nun nuligus la alŝuton.", - "{new_name} already exists" : "{new_name} jam ekzistas", - "Could not create file" : "Ne povis kreiĝi dosiero", - "Could not create folder" : "Ne povis kreiĝi dosierujo", "Actions" : "Agoj", "Download" : "Elŝuti", "Select" : "Elekti", "Pending" : "Traktotaj", "Error moving file" : "Eraris movo de dosiero", "Error" : "Eraro", + "{new_name} already exists" : "{new_name} jam ekzistas", "Could not rename file" : "Ne povis alinomiĝi dosiero", + "Could not create file" : "Ne povis kreiĝi dosiero", + "Could not create folder" : "Ne povis kreiĝi dosierujo", "Name" : "Nomo", "Size" : "Grando", "Modified" : "Modifita", @@ -45,10 +45,15 @@ "{dirs} and {files}" : "{dirs} kaj {files}", "You don’t have permission to upload or create files here" : "Vi ne havas permeson alŝuti aŭ krei dosierojn ĉi tie", "_Uploading %n file_::_Uploading %n files_" : ["Alŝutatas %n dosiero","Alŝutatas %n dosieroj"], + "New" : "Nova", "File name cannot be empty." : "Dosiernomo devas ne malpleni.", "Your storage is full, files can not be updated or synced anymore!" : "Via memoro plenas, ne plu eblas ĝisdatigi aŭ sinkronigi dosierojn!", "Your storage is almost full ({usedSpacePercent}%)" : "Via memoro preskaŭ plenas ({usedSpacePercent}%)", "Favorite" : "Favorato", + "Upload" : "Alŝuti", + "Text file" : "Tekstodosiero", + "Folder" : "Dosierujo", + "New folder" : "Nova dosierujo", "You created %1$s" : "Vi kreis %1$s", "%2$s created %1$s" : "%2$s kreis %1$s", "%1$s was created in a public folder" : "%1$s kreiĝis en publika dosierujo", @@ -66,12 +71,6 @@ "Settings" : "Agordo", "WebDAV" : "WebDAV", "Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Uzu ĉi tiun adreson por <a href=\"%s\" target=\"_blank\">aliri viajn Dosierojn per WebDAV</a>", - "New" : "Nova", - "New text file" : "Nova tekstodosiero", - "Text file" : "Tekstodosiero", - "New folder" : "Nova dosierujo", - "Folder" : "Dosierujo", - "Upload" : "Alŝuti", "Cancel upload" : "Nuligi alŝuton", "No files in here" : "Neniu dosiero estas ĉi tie", "Select all" : "Elekti ĉion", diff --git a/apps/files/l10n/es.js b/apps/files/l10n/es.js index 39f4b8d0569..318a86e5884 100644 --- a/apps/files/l10n/es.js +++ b/apps/files/l10n/es.js @@ -36,9 +36,6 @@ OC.L10N.register( "Upload cancelled." : "Subida cancelada.", "Could not get result from server." : "No se pudo obtener respuesta del servidor.", "File upload is in progress. Leaving the page now will cancel the upload." : "La subida del archivo está en proceso. Si sale de la página ahora, la subida será cancelada.", - "{new_name} already exists" : "{new_name} ya existe", - "Could not create file" : "No se pudo crear el archivo", - "Could not create folder" : "No se pudo crear la carpeta", "Actions" : "Acciones", "Download" : "Descargar", "Select" : "Seleccionar", @@ -49,7 +46,10 @@ OC.L10N.register( "Error moving file." : "Error al mover el archivo.", "Error moving file" : "Error moviendo archivo", "Error" : "Error", + "{new_name} already exists" : "{new_name} ya existe", "Could not rename file" : "No se pudo renombrar el archivo", + "Could not create file" : "No se pudo crear el archivo", + "Could not create folder" : "No se pudo crear la carpeta", "Error deleting file." : "Error al borrar el archivo", "No entries in this folder match '{filter}'" : "No hay resultados que coincidan con '{filter}'", "Name" : "Nombre", @@ -60,6 +60,7 @@ OC.L10N.register( "{dirs} and {files}" : "{dirs} y {files}", "You don’t have permission to upload or create files here" : "No tiene permisos para subir o crear archivos aquí.", "_Uploading %n file_::_Uploading %n files_" : ["Subiendo %n archivo","Subiendo %n archivos"], + "New" : "Nuevo", "\"{name}\" is an invalid file name." : "\"{name}\" es un nombre de archivo inválido.", "File name cannot be empty." : "El nombre de archivo no puede estar vacío.", "Storage of {owner} is full, files can not be updated or synced anymore!" : "El almacén de {owner} está repleto, ¡los archivos no se actualizarán ni sincronizarán más!", @@ -71,6 +72,12 @@ OC.L10N.register( "_%n byte_::_%n bytes_" : ["%n byte","%n bytes"], "Favorited" : "Agregado a Favoritos", "Favorite" : "Favorito", + "{newname} already exists" : "{new_name} ya existe", + "Upload" : "Subir", + "Text file" : "Archivo de texto", + "New text file.txt" : "Nuevo archivo de texto.txt", + "Folder" : "Carpeta", + "New folder" : "Nueva carpeta", "An error occurred while trying to update the tags" : "Se produjo un error al tratar de actualizar las etiquetas", "A new file or folder has been <strong>created</strong>" : "Se ha <strong>creado</strong> un nuevo archivo o carpeta", "A file or folder has been <strong>changed</strong>" : "Se ha <strong>modificado</strong> un archivo o carpeta", @@ -98,12 +105,6 @@ OC.L10N.register( "Settings" : "Ajustes", "WebDAV" : "WebDAV", "Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Use esta URL <a href=\"%s\" target=\"_blank\">para acceder via WebDAV</a>", - "New" : "Nuevo", - "New text file" : "Nuevo archivo de texto", - "Text file" : "Archivo de texto", - "New folder" : "Nueva carpeta", - "Folder" : "Carpeta", - "Upload" : "Subir", "Cancel upload" : "Cancelar la subida", "No files in here" : "Aquí no hay archivos", "Upload some content or sync with your devices!" : "Suba contenidos o sincronice sus dispositivos.", diff --git a/apps/files/l10n/es.json b/apps/files/l10n/es.json index 064ffe3785d..26761bf2073 100644 --- a/apps/files/l10n/es.json +++ b/apps/files/l10n/es.json @@ -34,9 +34,6 @@ "Upload cancelled." : "Subida cancelada.", "Could not get result from server." : "No se pudo obtener respuesta del servidor.", "File upload is in progress. Leaving the page now will cancel the upload." : "La subida del archivo está en proceso. Si sale de la página ahora, la subida será cancelada.", - "{new_name} already exists" : "{new_name} ya existe", - "Could not create file" : "No se pudo crear el archivo", - "Could not create folder" : "No se pudo crear la carpeta", "Actions" : "Acciones", "Download" : "Descargar", "Select" : "Seleccionar", @@ -47,7 +44,10 @@ "Error moving file." : "Error al mover el archivo.", "Error moving file" : "Error moviendo archivo", "Error" : "Error", + "{new_name} already exists" : "{new_name} ya existe", "Could not rename file" : "No se pudo renombrar el archivo", + "Could not create file" : "No se pudo crear el archivo", + "Could not create folder" : "No se pudo crear la carpeta", "Error deleting file." : "Error al borrar el archivo", "No entries in this folder match '{filter}'" : "No hay resultados que coincidan con '{filter}'", "Name" : "Nombre", @@ -58,6 +58,7 @@ "{dirs} and {files}" : "{dirs} y {files}", "You don’t have permission to upload or create files here" : "No tiene permisos para subir o crear archivos aquí.", "_Uploading %n file_::_Uploading %n files_" : ["Subiendo %n archivo","Subiendo %n archivos"], + "New" : "Nuevo", "\"{name}\" is an invalid file name." : "\"{name}\" es un nombre de archivo inválido.", "File name cannot be empty." : "El nombre de archivo no puede estar vacío.", "Storage of {owner} is full, files can not be updated or synced anymore!" : "El almacén de {owner} está repleto, ¡los archivos no se actualizarán ni sincronizarán más!", @@ -69,6 +70,12 @@ "_%n byte_::_%n bytes_" : ["%n byte","%n bytes"], "Favorited" : "Agregado a Favoritos", "Favorite" : "Favorito", + "{newname} already exists" : "{new_name} ya existe", + "Upload" : "Subir", + "Text file" : "Archivo de texto", + "New text file.txt" : "Nuevo archivo de texto.txt", + "Folder" : "Carpeta", + "New folder" : "Nueva carpeta", "An error occurred while trying to update the tags" : "Se produjo un error al tratar de actualizar las etiquetas", "A new file or folder has been <strong>created</strong>" : "Se ha <strong>creado</strong> un nuevo archivo o carpeta", "A file or folder has been <strong>changed</strong>" : "Se ha <strong>modificado</strong> un archivo o carpeta", @@ -96,12 +103,6 @@ "Settings" : "Ajustes", "WebDAV" : "WebDAV", "Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Use esta URL <a href=\"%s\" target=\"_blank\">para acceder via WebDAV</a>", - "New" : "Nuevo", - "New text file" : "Nuevo archivo de texto", - "Text file" : "Archivo de texto", - "New folder" : "Nueva carpeta", - "Folder" : "Carpeta", - "Upload" : "Subir", "Cancel upload" : "Cancelar la subida", "No files in here" : "Aquí no hay archivos", "Upload some content or sync with your devices!" : "Suba contenidos o sincronice sus dispositivos.", diff --git a/apps/files/l10n/es_AR.js b/apps/files/l10n/es_AR.js index 8b277c3b9f5..f99464401b6 100644 --- a/apps/files/l10n/es_AR.js +++ b/apps/files/l10n/es_AR.js @@ -29,16 +29,16 @@ OC.L10N.register( "Upload cancelled." : "La subida fue cancelada", "Could not get result from server." : "No se pudo obtener resultados del servidor.", "File upload is in progress. Leaving the page now will cancel the upload." : "La subida del archivo está en proceso. Si salís de la página ahora, la subida se cancelará.", - "{new_name} already exists" : "{new_name} ya existe", - "Could not create file" : "No se pudo crear el archivo", - "Could not create folder" : "No se pudo crear el directorio", "Actions" : "Acciones", "Download" : "Descargar", "Select" : "Seleccionar", "Pending" : "Pendientes", "Error moving file" : "Error moviendo el archivo", "Error" : "Error", + "{new_name} already exists" : "{new_name} ya existe", "Could not rename file" : "No se pudo renombrar el archivo", + "Could not create file" : "No se pudo crear el archivo", + "Could not create folder" : "No se pudo crear el directorio", "Error deleting file." : "Error al borrar el archivo.", "Name" : "Nombre", "Size" : "Tamaño", @@ -48,10 +48,15 @@ OC.L10N.register( "{dirs} and {files}" : "{carpetas} y {archivos}", "You don’t have permission to upload or create files here" : "No tienes permisos para subir o crear archivos aquí", "_Uploading %n file_::_Uploading %n files_" : ["Subiendo %n archivo","Subiendo %n archivos"], + "New" : "Nuevo", "File name cannot be empty." : "El nombre del archivo no puede quedar vacío.", "Your storage is full, files can not be updated or synced anymore!" : "El almacenamiento está lleno, los archivos no se pueden seguir actualizando ni sincronizando", "Your storage is almost full ({usedSpacePercent}%)" : "El almacenamiento está casi lleno ({usedSpacePercent}%)", "Favorite" : "Favorito", + "Upload" : "Subir", + "Text file" : "Archivo de texto", + "Folder" : "Carpeta", + "New folder" : "Nueva Carpeta", "A new file or folder has been <strong>created</strong>" : "Un archivo o carpeta ha sido <strong>creado</strong>", "A file or folder has been <strong>changed</strong>" : "Un archivo o carpeta ha sido <strong>modificado</strong>", "A file or folder has been <strong>deleted</strong>" : "Un archivo o carpeta ha sido <strong>eliminado</strong>", @@ -69,12 +74,6 @@ OC.L10N.register( "Settings" : "Configuración", "WebDAV" : "WebDAV", "Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Usar esta dirección para <a href=\"%s\" target=\"_blank\">acceder a tus archivos vía WebDAV</a>", - "New" : "Nuevo", - "New text file" : "Nuevo archivo de texto", - "Text file" : "Archivo de texto", - "New folder" : "Nueva Carpeta", - "Folder" : "Carpeta", - "Upload" : "Subir", "Cancel upload" : "Cancelar subida", "Delete" : "Borrar", "Upload too large" : "El tamaño del archivo que querés subir es demasiado grande", diff --git a/apps/files/l10n/es_AR.json b/apps/files/l10n/es_AR.json index a9bd63269db..43dc9d35c3c 100644 --- a/apps/files/l10n/es_AR.json +++ b/apps/files/l10n/es_AR.json @@ -27,16 +27,16 @@ "Upload cancelled." : "La subida fue cancelada", "Could not get result from server." : "No se pudo obtener resultados del servidor.", "File upload is in progress. Leaving the page now will cancel the upload." : "La subida del archivo está en proceso. Si salís de la página ahora, la subida se cancelará.", - "{new_name} already exists" : "{new_name} ya existe", - "Could not create file" : "No se pudo crear el archivo", - "Could not create folder" : "No se pudo crear el directorio", "Actions" : "Acciones", "Download" : "Descargar", "Select" : "Seleccionar", "Pending" : "Pendientes", "Error moving file" : "Error moviendo el archivo", "Error" : "Error", + "{new_name} already exists" : "{new_name} ya existe", "Could not rename file" : "No se pudo renombrar el archivo", + "Could not create file" : "No se pudo crear el archivo", + "Could not create folder" : "No se pudo crear el directorio", "Error deleting file." : "Error al borrar el archivo.", "Name" : "Nombre", "Size" : "Tamaño", @@ -46,10 +46,15 @@ "{dirs} and {files}" : "{carpetas} y {archivos}", "You don’t have permission to upload or create files here" : "No tienes permisos para subir o crear archivos aquí", "_Uploading %n file_::_Uploading %n files_" : ["Subiendo %n archivo","Subiendo %n archivos"], + "New" : "Nuevo", "File name cannot be empty." : "El nombre del archivo no puede quedar vacío.", "Your storage is full, files can not be updated or synced anymore!" : "El almacenamiento está lleno, los archivos no se pueden seguir actualizando ni sincronizando", "Your storage is almost full ({usedSpacePercent}%)" : "El almacenamiento está casi lleno ({usedSpacePercent}%)", "Favorite" : "Favorito", + "Upload" : "Subir", + "Text file" : "Archivo de texto", + "Folder" : "Carpeta", + "New folder" : "Nueva Carpeta", "A new file or folder has been <strong>created</strong>" : "Un archivo o carpeta ha sido <strong>creado</strong>", "A file or folder has been <strong>changed</strong>" : "Un archivo o carpeta ha sido <strong>modificado</strong>", "A file or folder has been <strong>deleted</strong>" : "Un archivo o carpeta ha sido <strong>eliminado</strong>", @@ -67,12 +72,6 @@ "Settings" : "Configuración", "WebDAV" : "WebDAV", "Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Usar esta dirección para <a href=\"%s\" target=\"_blank\">acceder a tus archivos vía WebDAV</a>", - "New" : "Nuevo", - "New text file" : "Nuevo archivo de texto", - "Text file" : "Archivo de texto", - "New folder" : "Nueva Carpeta", - "Folder" : "Carpeta", - "Upload" : "Subir", "Cancel upload" : "Cancelar subida", "Delete" : "Borrar", "Upload too large" : "El tamaño del archivo que querés subir es demasiado grande", diff --git a/apps/files/l10n/es_CL.js b/apps/files/l10n/es_CL.js index a33902178e1..c6269cdafd1 100644 --- a/apps/files/l10n/es_CL.js +++ b/apps/files/l10n/es_CL.js @@ -5,6 +5,8 @@ OC.L10N.register( "Files" : "Archivos", "Download" : "Descargar", "Error" : "Error", + "Upload" : "Subir", + "New folder" : "Nuevo directorio", "A new file or folder has been <strong>created</strong>" : "Un nuevo archivo o carpeta ha sido <strong>creado</strong>", "A file or folder has been <strong>changed</strong>" : "Un archivo o carpeta ha sido <strong>cambiado</strong>", "A file or folder has been <strong>deleted</strong>" : "Un archivo o carpeta ha sido <strong>eliminado</strong>", @@ -15,8 +17,6 @@ OC.L10N.register( "You deleted %1$s" : "Ha borrado %1$s", "%2$s deleted %1$s" : "%2$s borró %1$s", "Settings" : "Configuración", - "New folder" : "Nuevo directorio", - "Upload" : "Subir", "Cancel upload" : "cancelar subida" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/files/l10n/es_CL.json b/apps/files/l10n/es_CL.json index 9703b5d68f9..75215c9cb7f 100644 --- a/apps/files/l10n/es_CL.json +++ b/apps/files/l10n/es_CL.json @@ -3,6 +3,8 @@ "Files" : "Archivos", "Download" : "Descargar", "Error" : "Error", + "Upload" : "Subir", + "New folder" : "Nuevo directorio", "A new file or folder has been <strong>created</strong>" : "Un nuevo archivo o carpeta ha sido <strong>creado</strong>", "A file or folder has been <strong>changed</strong>" : "Un archivo o carpeta ha sido <strong>cambiado</strong>", "A file or folder has been <strong>deleted</strong>" : "Un archivo o carpeta ha sido <strong>eliminado</strong>", @@ -13,8 +15,6 @@ "You deleted %1$s" : "Ha borrado %1$s", "%2$s deleted %1$s" : "%2$s borró %1$s", "Settings" : "Configuración", - "New folder" : "Nuevo directorio", - "Upload" : "Subir", "Cancel upload" : "cancelar subida" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/files/l10n/es_MX.js b/apps/files/l10n/es_MX.js index 61438805521..b58037005aa 100644 --- a/apps/files/l10n/es_MX.js +++ b/apps/files/l10n/es_MX.js @@ -29,15 +29,15 @@ OC.L10N.register( "Upload cancelled." : "Subida cancelada.", "Could not get result from server." : "No se pudo obtener respuesta del servidor.", "File upload is in progress. Leaving the page now will cancel the upload." : "La subida del archivo está en proceso. Si sale de la página ahora, la subida será cancelada.", - "{new_name} already exists" : "{new_name} ya existe", - "Could not create file" : "No se pudo crear el archivo", - "Could not create folder" : "No se pudo crear la carpeta", "Actions" : "Acciones", "Download" : "Descargar", "Pending" : "Pendiente", "Error moving file" : "Error moviendo archivo", "Error" : "Error", + "{new_name} already exists" : "{new_name} ya existe", "Could not rename file" : "No se pudo renombrar el archivo", + "Could not create file" : "No se pudo crear el archivo", + "Could not create folder" : "No se pudo crear la carpeta", "Error deleting file." : "Error borrando el archivo.", "Name" : "Nombre", "Size" : "Tamaño", @@ -47,10 +47,15 @@ OC.L10N.register( "{dirs} and {files}" : "{dirs} y {files}", "You don’t have permission to upload or create files here" : "No tienes permisos para subir o crear archivos aquí.", "_Uploading %n file_::_Uploading %n files_" : ["Subiendo %n archivo","Subiendo %n archivos"], + "New" : "Nuevo", "File name cannot be empty." : "El nombre de archivo no puede estar vacío.", "Your storage is full, files can not be updated or synced anymore!" : "Su almacenamiento está lleno, ¡los archivos no se actualizarán ni sincronizarán más!", "Your storage is almost full ({usedSpacePercent}%)" : "Su almacenamiento está casi lleno ({usedSpacePercent}%)", "Favorite" : "Favorito", + "Upload" : "Subir archivo", + "Text file" : "Archivo de texto", + "Folder" : "Carpeta", + "New folder" : "Nueva carpeta", "%s could not be renamed" : "%s no pudo ser renombrado", "File handling" : "Administración de archivos", "Maximum upload size" : "Tamaño máximo de subida", @@ -59,12 +64,6 @@ OC.L10N.register( "Settings" : "Ajustes", "WebDAV" : "WebDAV", "Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Utilice esta dirección para <a href=\"%s\" target=\"_blank\">acceder a sus archivos vía WebDAV</a>", - "New" : "Nuevo", - "New text file" : "Nuevo archivo de texto", - "Text file" : "Archivo de texto", - "New folder" : "Nueva carpeta", - "Folder" : "Carpeta", - "Upload" : "Subir archivo", "Cancel upload" : "Cancelar subida", "Delete" : "Eliminar", "Upload too large" : "Subida demasido grande", diff --git a/apps/files/l10n/es_MX.json b/apps/files/l10n/es_MX.json index 9bd2fe80f2b..5655fd4bf09 100644 --- a/apps/files/l10n/es_MX.json +++ b/apps/files/l10n/es_MX.json @@ -27,15 +27,15 @@ "Upload cancelled." : "Subida cancelada.", "Could not get result from server." : "No se pudo obtener respuesta del servidor.", "File upload is in progress. Leaving the page now will cancel the upload." : "La subida del archivo está en proceso. Si sale de la página ahora, la subida será cancelada.", - "{new_name} already exists" : "{new_name} ya existe", - "Could not create file" : "No se pudo crear el archivo", - "Could not create folder" : "No se pudo crear la carpeta", "Actions" : "Acciones", "Download" : "Descargar", "Pending" : "Pendiente", "Error moving file" : "Error moviendo archivo", "Error" : "Error", + "{new_name} already exists" : "{new_name} ya existe", "Could not rename file" : "No se pudo renombrar el archivo", + "Could not create file" : "No se pudo crear el archivo", + "Could not create folder" : "No se pudo crear la carpeta", "Error deleting file." : "Error borrando el archivo.", "Name" : "Nombre", "Size" : "Tamaño", @@ -45,10 +45,15 @@ "{dirs} and {files}" : "{dirs} y {files}", "You don’t have permission to upload or create files here" : "No tienes permisos para subir o crear archivos aquí.", "_Uploading %n file_::_Uploading %n files_" : ["Subiendo %n archivo","Subiendo %n archivos"], + "New" : "Nuevo", "File name cannot be empty." : "El nombre de archivo no puede estar vacío.", "Your storage is full, files can not be updated or synced anymore!" : "Su almacenamiento está lleno, ¡los archivos no se actualizarán ni sincronizarán más!", "Your storage is almost full ({usedSpacePercent}%)" : "Su almacenamiento está casi lleno ({usedSpacePercent}%)", "Favorite" : "Favorito", + "Upload" : "Subir archivo", + "Text file" : "Archivo de texto", + "Folder" : "Carpeta", + "New folder" : "Nueva carpeta", "%s could not be renamed" : "%s no pudo ser renombrado", "File handling" : "Administración de archivos", "Maximum upload size" : "Tamaño máximo de subida", @@ -57,12 +62,6 @@ "Settings" : "Ajustes", "WebDAV" : "WebDAV", "Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Utilice esta dirección para <a href=\"%s\" target=\"_blank\">acceder a sus archivos vía WebDAV</a>", - "New" : "Nuevo", - "New text file" : "Nuevo archivo de texto", - "Text file" : "Archivo de texto", - "New folder" : "Nueva carpeta", - "Folder" : "Carpeta", - "Upload" : "Subir archivo", "Cancel upload" : "Cancelar subida", "Delete" : "Eliminar", "Upload too large" : "Subida demasido grande", diff --git a/apps/files/l10n/et_EE.js b/apps/files/l10n/et_EE.js index 384bce053ef..173c6d5503a 100644 --- a/apps/files/l10n/et_EE.js +++ b/apps/files/l10n/et_EE.js @@ -36,9 +36,6 @@ OC.L10N.register( "Upload cancelled." : "Üleslaadimine tühistati.", "Could not get result from server." : "Serverist ei saadud tulemusi", "File upload is in progress. Leaving the page now will cancel the upload." : "Faili üleslaadimine on töös. Lehelt lahkumine katkestab selle üleslaadimise.", - "{new_name} already exists" : "{new_name} on juba olemas", - "Could not create file" : "Ei suuda luua faili", - "Could not create folder" : "Ei suuda luua kataloogi", "Actions" : "Tegevused", "Download" : "Lae alla", "Select" : "Vali", @@ -49,7 +46,10 @@ OC.L10N.register( "Error moving file." : "Viga faili liigutamisel.", "Error moving file" : "Viga faili eemaldamisel", "Error" : "Viga", + "{new_name} already exists" : "{new_name} on juba olemas", "Could not rename file" : "Ei suuda faili ümber nimetada", + "Could not create file" : "Ei suuda luua faili", + "Could not create folder" : "Ei suuda luua kataloogi", "Error deleting file." : "Viga faili kustutamisel.", "No entries in this folder match '{filter}'" : "Ükski sissekanne ei kattu filtriga '{filter}'", "Name" : "Nimi", @@ -60,6 +60,7 @@ OC.L10N.register( "{dirs} and {files}" : "{dirs} ja {files}", "You don’t have permission to upload or create files here" : "Sul puuduvad õigused siia failide üleslaadimiseks või tekitamiseks", "_Uploading %n file_::_Uploading %n files_" : ["Laadin üles %n faili","Laadin üles %n faili"], + "New" : "Uus", "\"{name}\" is an invalid file name." : "\"{name}\" on vigane failinimi.", "File name cannot be empty." : "Faili nimi ei saa olla tühi.", "Storage of {owner} is full, files can not be updated or synced anymore!" : "{owner} andmemaht on täis! Faile ei uuendata ega sünkroniseerita!", @@ -70,6 +71,10 @@ OC.L10N.register( "_%n byte_::_%n bytes_" : ["%n bait","%n baiti"], "Favorited" : "Lemmikud", "Favorite" : "Lemmik", + "Upload" : "Lae üles", + "Text file" : "Tekstifail", + "Folder" : "Kaust", + "New folder" : "Uus kaust", "An error occurred while trying to update the tags" : "Siltide uuendamisel tekkis tõrge", "A new file or folder has been <strong>created</strong>" : "Uus fail või kataloog on <strong>loodud</strong>", "A file or folder has been <strong>changed</strong>" : "Fail või kataloog on <strong>muudetud</strong>", @@ -96,12 +101,6 @@ OC.L10N.register( "Settings" : "Seaded", "WebDAV" : "WebDAV", "Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Kasuta seda aadressi <a href=\"%s\" target=\"_blank\">oma failidele ligipääsuks WebDAV kaudu</a>", - "New" : "Uus", - "New text file" : "Uus tekstifail", - "Text file" : "Tekstifail", - "New folder" : "Uus kaust", - "Folder" : "Kaust", - "Upload" : "Lae üles", "Cancel upload" : "Tühista üleslaadimine", "No files in here" : "Siin ei ole faile", "Upload some content or sync with your devices!" : "Laadi sisu üles või süngi oma seadmetega!", diff --git a/apps/files/l10n/et_EE.json b/apps/files/l10n/et_EE.json index d069982f8f6..d880d3d4720 100644 --- a/apps/files/l10n/et_EE.json +++ b/apps/files/l10n/et_EE.json @@ -34,9 +34,6 @@ "Upload cancelled." : "Üleslaadimine tühistati.", "Could not get result from server." : "Serverist ei saadud tulemusi", "File upload is in progress. Leaving the page now will cancel the upload." : "Faili üleslaadimine on töös. Lehelt lahkumine katkestab selle üleslaadimise.", - "{new_name} already exists" : "{new_name} on juba olemas", - "Could not create file" : "Ei suuda luua faili", - "Could not create folder" : "Ei suuda luua kataloogi", "Actions" : "Tegevused", "Download" : "Lae alla", "Select" : "Vali", @@ -47,7 +44,10 @@ "Error moving file." : "Viga faili liigutamisel.", "Error moving file" : "Viga faili eemaldamisel", "Error" : "Viga", + "{new_name} already exists" : "{new_name} on juba olemas", "Could not rename file" : "Ei suuda faili ümber nimetada", + "Could not create file" : "Ei suuda luua faili", + "Could not create folder" : "Ei suuda luua kataloogi", "Error deleting file." : "Viga faili kustutamisel.", "No entries in this folder match '{filter}'" : "Ükski sissekanne ei kattu filtriga '{filter}'", "Name" : "Nimi", @@ -58,6 +58,7 @@ "{dirs} and {files}" : "{dirs} ja {files}", "You don’t have permission to upload or create files here" : "Sul puuduvad õigused siia failide üleslaadimiseks või tekitamiseks", "_Uploading %n file_::_Uploading %n files_" : ["Laadin üles %n faili","Laadin üles %n faili"], + "New" : "Uus", "\"{name}\" is an invalid file name." : "\"{name}\" on vigane failinimi.", "File name cannot be empty." : "Faili nimi ei saa olla tühi.", "Storage of {owner} is full, files can not be updated or synced anymore!" : "{owner} andmemaht on täis! Faile ei uuendata ega sünkroniseerita!", @@ -68,6 +69,10 @@ "_%n byte_::_%n bytes_" : ["%n bait","%n baiti"], "Favorited" : "Lemmikud", "Favorite" : "Lemmik", + "Upload" : "Lae üles", + "Text file" : "Tekstifail", + "Folder" : "Kaust", + "New folder" : "Uus kaust", "An error occurred while trying to update the tags" : "Siltide uuendamisel tekkis tõrge", "A new file or folder has been <strong>created</strong>" : "Uus fail või kataloog on <strong>loodud</strong>", "A file or folder has been <strong>changed</strong>" : "Fail või kataloog on <strong>muudetud</strong>", @@ -94,12 +99,6 @@ "Settings" : "Seaded", "WebDAV" : "WebDAV", "Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Kasuta seda aadressi <a href=\"%s\" target=\"_blank\">oma failidele ligipääsuks WebDAV kaudu</a>", - "New" : "Uus", - "New text file" : "Uus tekstifail", - "Text file" : "Tekstifail", - "New folder" : "Uus kaust", - "Folder" : "Kaust", - "Upload" : "Lae üles", "Cancel upload" : "Tühista üleslaadimine", "No files in here" : "Siin ei ole faile", "Upload some content or sync with your devices!" : "Laadi sisu üles või süngi oma seadmetega!", diff --git a/apps/files/l10n/eu.js b/apps/files/l10n/eu.js index e14be1ba264..249e73b1871 100644 --- a/apps/files/l10n/eu.js +++ b/apps/files/l10n/eu.js @@ -36,9 +36,6 @@ OC.L10N.register( "Upload cancelled." : "Igoera ezeztatuta", "Could not get result from server." : "Ezin da zerbitzaritik emaitzik lortu", "File upload is in progress. Leaving the page now will cancel the upload." : "Fitxategien igoera martxan da. Orria orain uzteak igoera ezeztatutko du.", - "{new_name} already exists" : "{new_name} dagoeneko existitzen da", - "Could not create file" : "Ezin izan da fitxategia sortu", - "Could not create folder" : "Ezin izan da karpeta sortu", "Actions" : "Ekintzak", "Download" : "Deskargatu", "Select" : "hautatu", @@ -47,7 +44,10 @@ OC.L10N.register( "Error moving file." : "Errorea fitxategia mugitzean.", "Error moving file" : "Errorea fitxategia mugitzean", "Error" : "Errorea", + "{new_name} already exists" : "{new_name} dagoeneko existitzen da", "Could not rename file" : "Ezin izan da fitxategia berrizendatu", + "Could not create file" : "Ezin izan da fitxategia sortu", + "Could not create folder" : "Ezin izan da karpeta sortu", "Error deleting file." : "Errorea fitxategia ezabatzerakoan.", "No entries in this folder match '{filter}'" : "Karpeta honetan ez dago sarrerarik '{filter}' iragazkiarekin bat egiten dutenak", "Name" : "Izena", @@ -58,12 +58,17 @@ OC.L10N.register( "{dirs} and {files}" : "{dirs} eta {files}", "You don’t have permission to upload or create files here" : "Ez duzu fitxategiak hona igotzeko edo hemen sortzeko baimenik", "_Uploading %n file_::_Uploading %n files_" : ["Fitxategi %n igotzen","%n fitxategi igotzen"], + "New" : "Berria", "\"{name}\" is an invalid file name." : "\"{name}\" ez da fitxategi izen baliogarria.", "File name cannot be empty." : "Fitxategi izena ezin da hutsa izan.", "Your storage is full, files can not be updated or synced anymore!" : "Zure biltegiratzea beterik dago, ezingo duzu aurrerantzean fitxategirik igo edo sinkronizatu!", "Your storage is almost full ({usedSpacePercent}%)" : "Zure biltegiratzea nahiko beterik dago (%{usedSpacePercent})", "Favorited" : "Gogokoa", "Favorite" : "Gogokoa", + "Upload" : "Igo", + "Text file" : "Testu fitxategia", + "Folder" : "Karpeta", + "New folder" : "Karpeta berria", "A new file or folder has been <strong>created</strong>" : "Fitxategi edo karpeta berri bat <strong>sortu da</strong>", "A file or folder has been <strong>changed</strong>" : "Fitxategi edo karpeta bat <strong>aldatu da</strong>", "A file or folder has been <strong>deleted</strong>" : "Fitxategi edo karpeta bat <strong>ezabatu da</strong>", @@ -87,12 +92,6 @@ OC.L10N.register( "Settings" : "Ezarpenak", "WebDAV" : "WebDAV", "Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "<a href=\"%s\" target=\"_blank\">helbidea erabili zure fitxategiak WebDAV bidez eskuratzeko</a>", - "New" : "Berria", - "New text file" : "Testu fitxategi berria", - "Text file" : "Testu fitxategia", - "New folder" : "Karpeta berria", - "Folder" : "Karpeta", - "Upload" : "Igo", "Cancel upload" : "Ezeztatu igoera", "Upload some content or sync with your devices!" : "Igo edukiren bat edo sinkronizatu zure gailuekin!", "No entries found in this folder" : "Ez da sarrerarik aurkitu karpeta honetan", diff --git a/apps/files/l10n/eu.json b/apps/files/l10n/eu.json index 3436235e79c..5e610f3f4fa 100644 --- a/apps/files/l10n/eu.json +++ b/apps/files/l10n/eu.json @@ -34,9 +34,6 @@ "Upload cancelled." : "Igoera ezeztatuta", "Could not get result from server." : "Ezin da zerbitzaritik emaitzik lortu", "File upload is in progress. Leaving the page now will cancel the upload." : "Fitxategien igoera martxan da. Orria orain uzteak igoera ezeztatutko du.", - "{new_name} already exists" : "{new_name} dagoeneko existitzen da", - "Could not create file" : "Ezin izan da fitxategia sortu", - "Could not create folder" : "Ezin izan da karpeta sortu", "Actions" : "Ekintzak", "Download" : "Deskargatu", "Select" : "hautatu", @@ -45,7 +42,10 @@ "Error moving file." : "Errorea fitxategia mugitzean.", "Error moving file" : "Errorea fitxategia mugitzean", "Error" : "Errorea", + "{new_name} already exists" : "{new_name} dagoeneko existitzen da", "Could not rename file" : "Ezin izan da fitxategia berrizendatu", + "Could not create file" : "Ezin izan da fitxategia sortu", + "Could not create folder" : "Ezin izan da karpeta sortu", "Error deleting file." : "Errorea fitxategia ezabatzerakoan.", "No entries in this folder match '{filter}'" : "Karpeta honetan ez dago sarrerarik '{filter}' iragazkiarekin bat egiten dutenak", "Name" : "Izena", @@ -56,12 +56,17 @@ "{dirs} and {files}" : "{dirs} eta {files}", "You don’t have permission to upload or create files here" : "Ez duzu fitxategiak hona igotzeko edo hemen sortzeko baimenik", "_Uploading %n file_::_Uploading %n files_" : ["Fitxategi %n igotzen","%n fitxategi igotzen"], + "New" : "Berria", "\"{name}\" is an invalid file name." : "\"{name}\" ez da fitxategi izen baliogarria.", "File name cannot be empty." : "Fitxategi izena ezin da hutsa izan.", "Your storage is full, files can not be updated or synced anymore!" : "Zure biltegiratzea beterik dago, ezingo duzu aurrerantzean fitxategirik igo edo sinkronizatu!", "Your storage is almost full ({usedSpacePercent}%)" : "Zure biltegiratzea nahiko beterik dago (%{usedSpacePercent})", "Favorited" : "Gogokoa", "Favorite" : "Gogokoa", + "Upload" : "Igo", + "Text file" : "Testu fitxategia", + "Folder" : "Karpeta", + "New folder" : "Karpeta berria", "A new file or folder has been <strong>created</strong>" : "Fitxategi edo karpeta berri bat <strong>sortu da</strong>", "A file or folder has been <strong>changed</strong>" : "Fitxategi edo karpeta bat <strong>aldatu da</strong>", "A file or folder has been <strong>deleted</strong>" : "Fitxategi edo karpeta bat <strong>ezabatu da</strong>", @@ -85,12 +90,6 @@ "Settings" : "Ezarpenak", "WebDAV" : "WebDAV", "Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "<a href=\"%s\" target=\"_blank\">helbidea erabili zure fitxategiak WebDAV bidez eskuratzeko</a>", - "New" : "Berria", - "New text file" : "Testu fitxategi berria", - "Text file" : "Testu fitxategia", - "New folder" : "Karpeta berria", - "Folder" : "Karpeta", - "Upload" : "Igo", "Cancel upload" : "Ezeztatu igoera", "Upload some content or sync with your devices!" : "Igo edukiren bat edo sinkronizatu zure gailuekin!", "No entries found in this folder" : "Ez da sarrerarik aurkitu karpeta honetan", diff --git a/apps/files/l10n/fa.js b/apps/files/l10n/fa.js index 5df2d0ccc3e..984c53c3740 100644 --- a/apps/files/l10n/fa.js +++ b/apps/files/l10n/fa.js @@ -22,18 +22,23 @@ OC.L10N.register( "Close" : "بستن", "Upload cancelled." : "بار گذاری لغو شد", "File upload is in progress. Leaving the page now will cancel the upload." : "آپلودکردن پرونده در حال پیشرفت است. در صورت خروج از صفحه آپلود لغو میگردد. ", - "{new_name} already exists" : "{نام _جدید} در حال حاضر وجود دارد.", "Actions" : "فعالیت ها", "Download" : "دانلود", "Pending" : "در انتظار", "Error" : "خطا", + "{new_name} already exists" : "{نام _جدید} در حال حاضر وجود دارد.", "Name" : "نام", "Size" : "اندازه", "Modified" : "تاریخ", "_Uploading %n file_::_Uploading %n files_" : ["در حال بارگذاری %n فایل"], + "New" : "جدید", "File name cannot be empty." : "نام پرونده نمی تواند خالی باشد.", "Your storage is full, files can not be updated or synced anymore!" : "فضای ذخیره ی شما کاملا پر است، بیش از این فایلها بهنگام یا همگام سازی نمی توانند بشوند!", "Your storage is almost full ({usedSpacePercent}%)" : "فضای ذخیره ی شما تقریبا پر است ({usedSpacePercent}%)", + "Upload" : "بارگزاری", + "Text file" : "فایل متنی", + "Folder" : "پوشه", + "New folder" : "پوشه جدید", "A new file or folder has been <strong>created</strong>" : "فایل یا پوشه ای <strong>ایجاد</strong> شد", "A file or folder has been <strong>changed</strong>" : "فایل یا پوشه ای به <strong>تغییر</strong> یافت", "A file or folder has been <strong>deleted</strong>" : "فایل یا پوشه ای به <strong>حذف</strong> شد", @@ -55,11 +60,6 @@ OC.L10N.register( "Settings" : "تنظیمات", "WebDAV" : "WebDAV", "Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "از این آدرس استفاده کنید تا <a href=\"%s\" target=\"_blank\">بتوانید به فایلهای خود توسط WebDAV دسترسی پیدا کنید</a>", - "New" : "جدید", - "Text file" : "فایل متنی", - "New folder" : "پوشه جدید", - "Folder" : "پوشه", - "Upload" : "بارگزاری", "Cancel upload" : "متوقف کردن بار گذاری", "Delete" : "حذف", "Upload too large" : "سایز فایل برای آپلود زیاد است(م.تنظیمات در php.ini)", diff --git a/apps/files/l10n/fa.json b/apps/files/l10n/fa.json index b36fee0090c..361dbee1a1f 100644 --- a/apps/files/l10n/fa.json +++ b/apps/files/l10n/fa.json @@ -20,18 +20,23 @@ "Close" : "بستن", "Upload cancelled." : "بار گذاری لغو شد", "File upload is in progress. Leaving the page now will cancel the upload." : "آپلودکردن پرونده در حال پیشرفت است. در صورت خروج از صفحه آپلود لغو میگردد. ", - "{new_name} already exists" : "{نام _جدید} در حال حاضر وجود دارد.", "Actions" : "فعالیت ها", "Download" : "دانلود", "Pending" : "در انتظار", "Error" : "خطا", + "{new_name} already exists" : "{نام _جدید} در حال حاضر وجود دارد.", "Name" : "نام", "Size" : "اندازه", "Modified" : "تاریخ", "_Uploading %n file_::_Uploading %n files_" : ["در حال بارگذاری %n فایل"], + "New" : "جدید", "File name cannot be empty." : "نام پرونده نمی تواند خالی باشد.", "Your storage is full, files can not be updated or synced anymore!" : "فضای ذخیره ی شما کاملا پر است، بیش از این فایلها بهنگام یا همگام سازی نمی توانند بشوند!", "Your storage is almost full ({usedSpacePercent}%)" : "فضای ذخیره ی شما تقریبا پر است ({usedSpacePercent}%)", + "Upload" : "بارگزاری", + "Text file" : "فایل متنی", + "Folder" : "پوشه", + "New folder" : "پوشه جدید", "A new file or folder has been <strong>created</strong>" : "فایل یا پوشه ای <strong>ایجاد</strong> شد", "A file or folder has been <strong>changed</strong>" : "فایل یا پوشه ای به <strong>تغییر</strong> یافت", "A file or folder has been <strong>deleted</strong>" : "فایل یا پوشه ای به <strong>حذف</strong> شد", @@ -53,11 +58,6 @@ "Settings" : "تنظیمات", "WebDAV" : "WebDAV", "Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "از این آدرس استفاده کنید تا <a href=\"%s\" target=\"_blank\">بتوانید به فایلهای خود توسط WebDAV دسترسی پیدا کنید</a>", - "New" : "جدید", - "Text file" : "فایل متنی", - "New folder" : "پوشه جدید", - "Folder" : "پوشه", - "Upload" : "بارگزاری", "Cancel upload" : "متوقف کردن بار گذاری", "Delete" : "حذف", "Upload too large" : "سایز فایل برای آپلود زیاد است(م.تنظیمات در php.ini)", diff --git a/apps/files/l10n/fi_FI.js b/apps/files/l10n/fi_FI.js index 414312858a3..c6615a61234 100644 --- a/apps/files/l10n/fi_FI.js +++ b/apps/files/l10n/fi_FI.js @@ -36,9 +36,6 @@ OC.L10N.register( "Upload cancelled." : "Lähetys peruttu.", "Could not get result from server." : "Tuloksien saaminen palvelimelta ei onnistunut.", "File upload is in progress. Leaving the page now will cancel the upload." : "Tiedoston lähetys on meneillään. Sivulta poistuminen nyt peruu tiedoston lähetyksen.", - "{new_name} already exists" : "{new_name} on jo olemassa", - "Could not create file" : "Tiedoston luominen epäonnistui", - "Could not create folder" : "Kansion luominen epäonnistui", "Actions" : "Toiminnot", "Download" : "Lataa", "Select" : "Valitse", @@ -49,7 +46,10 @@ OC.L10N.register( "Error moving file." : "Virhe tiedostoa siirrettäessä.", "Error moving file" : "Virhe tiedostoa siirrettäessä", "Error" : "Virhe", + "{new_name} already exists" : "{new_name} on jo olemassa", "Could not rename file" : "Tiedoston nimeäminen uudelleen epäonnistui", + "Could not create file" : "Tiedoston luominen epäonnistui", + "Could not create folder" : "Kansion luominen epäonnistui", "Error deleting file." : "Virhe tiedostoa poistaessa.", "No entries in this folder match '{filter}'" : "Mikään tässä kansiossa ei vastaa suodatusta '{filter}'", "Name" : "Nimi", @@ -60,6 +60,7 @@ OC.L10N.register( "{dirs} and {files}" : "{dirs} ja {files}", "You don’t have permission to upload or create files here" : "Käyttöoikeutesi eivät riitä tiedostojen lähettämiseen tai kansioiden luomiseen tähän sijaintiin", "_Uploading %n file_::_Uploading %n files_" : ["Lähetetään %n tiedosto","Lähetetään %n tiedostoa"], + "New" : "Uusi", "\"{name}\" is an invalid file name." : "\"{name}\" on virheellinen tiedostonimi.", "File name cannot be empty." : "Tiedoston nimi ei voi olla tyhjä.", "Storage of {owner} is full, files can not be updated or synced anymore!" : "Käyttäjän {owner} tallennustila on täynnä, tiedostoja ei voi enää päivittää tai synkronoida!", @@ -71,6 +72,12 @@ OC.L10N.register( "_%n byte_::_%n bytes_" : ["%n tavu","%n tavua"], "Favorited" : "Lisätty suosikkeihin", "Favorite" : "Suosikki", + "{newname} already exists" : "{newname} on jo olemassa", + "Upload" : "Lähetä", + "Text file" : "Tekstitiedosto", + "New text file.txt" : "Uusi tekstitiedosto.txt", + "Folder" : "Kansio", + "New folder" : "Uusi kansio", "An error occurred while trying to update the tags" : "Tunnisteiden päivitystä yrittäessä tapahtui virhe", "A new file or folder has been <strong>created</strong>" : "Uusi tiedosto tai kansio on <strong>luotu</strong>", "A file or folder has been <strong>changed</strong>" : "Tiedostoa tai kansiota on <strong>muutettu</strong>", @@ -98,12 +105,6 @@ OC.L10N.register( "Settings" : "Asetukset", "WebDAV" : "WebDAV", "Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Käytä tätä osoitetta <a href=\"%s\" target=\"_blank\">käyttääksesi tiedostojasi WebDAVin kautta</a>", - "New" : "Uusi", - "New text file" : "Uusi tekstitiedosto", - "Text file" : "Tekstitiedosto", - "New folder" : "Uusi kansio", - "Folder" : "Kansio", - "Upload" : "Lähetä", "Cancel upload" : "Peru lähetys", "No files in here" : "Täällä ei ole tiedostoja", "Upload some content or sync with your devices!" : "Lähetä tiedostoja tai synkronoi sisältö laitteidesi kanssa!", diff --git a/apps/files/l10n/fi_FI.json b/apps/files/l10n/fi_FI.json index ade67816cc2..9be7c66d37a 100644 --- a/apps/files/l10n/fi_FI.json +++ b/apps/files/l10n/fi_FI.json @@ -34,9 +34,6 @@ "Upload cancelled." : "Lähetys peruttu.", "Could not get result from server." : "Tuloksien saaminen palvelimelta ei onnistunut.", "File upload is in progress. Leaving the page now will cancel the upload." : "Tiedoston lähetys on meneillään. Sivulta poistuminen nyt peruu tiedoston lähetyksen.", - "{new_name} already exists" : "{new_name} on jo olemassa", - "Could not create file" : "Tiedoston luominen epäonnistui", - "Could not create folder" : "Kansion luominen epäonnistui", "Actions" : "Toiminnot", "Download" : "Lataa", "Select" : "Valitse", @@ -47,7 +44,10 @@ "Error moving file." : "Virhe tiedostoa siirrettäessä.", "Error moving file" : "Virhe tiedostoa siirrettäessä", "Error" : "Virhe", + "{new_name} already exists" : "{new_name} on jo olemassa", "Could not rename file" : "Tiedoston nimeäminen uudelleen epäonnistui", + "Could not create file" : "Tiedoston luominen epäonnistui", + "Could not create folder" : "Kansion luominen epäonnistui", "Error deleting file." : "Virhe tiedostoa poistaessa.", "No entries in this folder match '{filter}'" : "Mikään tässä kansiossa ei vastaa suodatusta '{filter}'", "Name" : "Nimi", @@ -58,6 +58,7 @@ "{dirs} and {files}" : "{dirs} ja {files}", "You don’t have permission to upload or create files here" : "Käyttöoikeutesi eivät riitä tiedostojen lähettämiseen tai kansioiden luomiseen tähän sijaintiin", "_Uploading %n file_::_Uploading %n files_" : ["Lähetetään %n tiedosto","Lähetetään %n tiedostoa"], + "New" : "Uusi", "\"{name}\" is an invalid file name." : "\"{name}\" on virheellinen tiedostonimi.", "File name cannot be empty." : "Tiedoston nimi ei voi olla tyhjä.", "Storage of {owner} is full, files can not be updated or synced anymore!" : "Käyttäjän {owner} tallennustila on täynnä, tiedostoja ei voi enää päivittää tai synkronoida!", @@ -69,6 +70,12 @@ "_%n byte_::_%n bytes_" : ["%n tavu","%n tavua"], "Favorited" : "Lisätty suosikkeihin", "Favorite" : "Suosikki", + "{newname} already exists" : "{newname} on jo olemassa", + "Upload" : "Lähetä", + "Text file" : "Tekstitiedosto", + "New text file.txt" : "Uusi tekstitiedosto.txt", + "Folder" : "Kansio", + "New folder" : "Uusi kansio", "An error occurred while trying to update the tags" : "Tunnisteiden päivitystä yrittäessä tapahtui virhe", "A new file or folder has been <strong>created</strong>" : "Uusi tiedosto tai kansio on <strong>luotu</strong>", "A file or folder has been <strong>changed</strong>" : "Tiedostoa tai kansiota on <strong>muutettu</strong>", @@ -96,12 +103,6 @@ "Settings" : "Asetukset", "WebDAV" : "WebDAV", "Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Käytä tätä osoitetta <a href=\"%s\" target=\"_blank\">käyttääksesi tiedostojasi WebDAVin kautta</a>", - "New" : "Uusi", - "New text file" : "Uusi tekstitiedosto", - "Text file" : "Tekstitiedosto", - "New folder" : "Uusi kansio", - "Folder" : "Kansio", - "Upload" : "Lähetä", "Cancel upload" : "Peru lähetys", "No files in here" : "Täällä ei ole tiedostoja", "Upload some content or sync with your devices!" : "Lähetä tiedostoja tai synkronoi sisältö laitteidesi kanssa!", diff --git a/apps/files/l10n/fr.js b/apps/files/l10n/fr.js index 40ad266ecea..3b84a6c0c53 100644 --- a/apps/files/l10n/fr.js +++ b/apps/files/l10n/fr.js @@ -36,9 +36,6 @@ OC.L10N.register( "Upload cancelled." : "Envoi annulé.", "Could not get result from server." : "Ne peut recevoir les résultats du serveur.", "File upload is in progress. Leaving the page now will cancel the upload." : "L'envoi du fichier est en cours. Quitter cette page maintenant annulera l'envoi du fichier.", - "{new_name} already exists" : "{new_name} existe déjà", - "Could not create file" : "Impossible de créer le fichier", - "Could not create folder" : "Impossible de créer le dossier", "Actions" : "Actions", "Download" : "Télécharger", "Select" : "Sélectionner", @@ -49,7 +46,10 @@ OC.L10N.register( "Error moving file." : "Erreur lors du déplacement du fichier.", "Error moving file" : "Erreur lors du déplacement du fichier", "Error" : "Erreur", + "{new_name} already exists" : "{new_name} existe déjà", "Could not rename file" : "Impossible de renommer le fichier", + "Could not create file" : "Impossible de créer le fichier", + "Could not create folder" : "Impossible de créer le dossier", "Error deleting file." : "Erreur pendant la suppression du fichier.", "No entries in this folder match '{filter}'" : "Aucune entrée de ce dossier ne correspond à '{filter}'", "Name" : "Nom", @@ -60,6 +60,7 @@ OC.L10N.register( "{dirs} and {files}" : "{dirs} et {files}", "You don’t have permission to upload or create files here" : "Vous n'avez pas la permission d'ajouter des fichiers ici", "_Uploading %n file_::_Uploading %n files_" : ["Téléversement de %n fichier","Téléversement de %n fichiers"], + "New" : "Nouveau", "\"{name}\" is an invalid file name." : "\"{name}\" n'est pas un nom de fichier valide.", "File name cannot be empty." : "Le nom de fichier ne peut être vide.", "Storage of {owner} is full, files can not be updated or synced anymore!" : "L'espace de stockage de {owner} est plein. Les fichiers ne peuvent plus être mis à jour ou synchronisés!", @@ -71,6 +72,12 @@ OC.L10N.register( "_%n byte_::_%n bytes_" : ["%n octet","%n octets"], "Favorited" : "Marqué comme favori", "Favorite" : "Favoris", + "{newname} already exists" : "{newname} existe déjà", + "Upload" : "Chargement", + "Text file" : "Fichier texte", + "New text file.txt" : "Nouveau fichier texte \"file.txt\"", + "Folder" : "Dossier", + "New folder" : "Nouveau dossier", "An error occurred while trying to update the tags" : "Une erreur est survenue lors de la mise à jour des étiquettes", "A new file or folder has been <strong>created</strong>" : "Un nouveau fichier ou répertoire a été <strong>créé</strong>", "A file or folder has been <strong>changed</strong>" : "Un fichier ou un répertoire a été <strong>modifié</strong>", @@ -98,12 +105,6 @@ OC.L10N.register( "Settings" : "Paramètres", "WebDAV" : "WebDAV", "Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Utilisez cette adresse pour <a href=\"%s\" target=\"_blank\">accéder à vos fichiers par WebDAV</a>", - "New" : "Nouveau", - "New text file" : "Nouveau fichier texte", - "Text file" : "Fichier texte", - "New folder" : "Nouveau dossier", - "Folder" : "Dossier", - "Upload" : "Chargement", "Cancel upload" : "Annuler l'envoi", "No files in here" : "Aucun fichier ici", "Upload some content or sync with your devices!" : "Déposez du contenu ou synchronisez vos appareils !", diff --git a/apps/files/l10n/fr.json b/apps/files/l10n/fr.json index ca2ecebe5d2..4d05b5a42c3 100644 --- a/apps/files/l10n/fr.json +++ b/apps/files/l10n/fr.json @@ -34,9 +34,6 @@ "Upload cancelled." : "Envoi annulé.", "Could not get result from server." : "Ne peut recevoir les résultats du serveur.", "File upload is in progress. Leaving the page now will cancel the upload." : "L'envoi du fichier est en cours. Quitter cette page maintenant annulera l'envoi du fichier.", - "{new_name} already exists" : "{new_name} existe déjà", - "Could not create file" : "Impossible de créer le fichier", - "Could not create folder" : "Impossible de créer le dossier", "Actions" : "Actions", "Download" : "Télécharger", "Select" : "Sélectionner", @@ -47,7 +44,10 @@ "Error moving file." : "Erreur lors du déplacement du fichier.", "Error moving file" : "Erreur lors du déplacement du fichier", "Error" : "Erreur", + "{new_name} already exists" : "{new_name} existe déjà", "Could not rename file" : "Impossible de renommer le fichier", + "Could not create file" : "Impossible de créer le fichier", + "Could not create folder" : "Impossible de créer le dossier", "Error deleting file." : "Erreur pendant la suppression du fichier.", "No entries in this folder match '{filter}'" : "Aucune entrée de ce dossier ne correspond à '{filter}'", "Name" : "Nom", @@ -58,6 +58,7 @@ "{dirs} and {files}" : "{dirs} et {files}", "You don’t have permission to upload or create files here" : "Vous n'avez pas la permission d'ajouter des fichiers ici", "_Uploading %n file_::_Uploading %n files_" : ["Téléversement de %n fichier","Téléversement de %n fichiers"], + "New" : "Nouveau", "\"{name}\" is an invalid file name." : "\"{name}\" n'est pas un nom de fichier valide.", "File name cannot be empty." : "Le nom de fichier ne peut être vide.", "Storage of {owner} is full, files can not be updated or synced anymore!" : "L'espace de stockage de {owner} est plein. Les fichiers ne peuvent plus être mis à jour ou synchronisés!", @@ -69,6 +70,12 @@ "_%n byte_::_%n bytes_" : ["%n octet","%n octets"], "Favorited" : "Marqué comme favori", "Favorite" : "Favoris", + "{newname} already exists" : "{newname} existe déjà", + "Upload" : "Chargement", + "Text file" : "Fichier texte", + "New text file.txt" : "Nouveau fichier texte \"file.txt\"", + "Folder" : "Dossier", + "New folder" : "Nouveau dossier", "An error occurred while trying to update the tags" : "Une erreur est survenue lors de la mise à jour des étiquettes", "A new file or folder has been <strong>created</strong>" : "Un nouveau fichier ou répertoire a été <strong>créé</strong>", "A file or folder has been <strong>changed</strong>" : "Un fichier ou un répertoire a été <strong>modifié</strong>", @@ -96,12 +103,6 @@ "Settings" : "Paramètres", "WebDAV" : "WebDAV", "Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Utilisez cette adresse pour <a href=\"%s\" target=\"_blank\">accéder à vos fichiers par WebDAV</a>", - "New" : "Nouveau", - "New text file" : "Nouveau fichier texte", - "Text file" : "Fichier texte", - "New folder" : "Nouveau dossier", - "Folder" : "Dossier", - "Upload" : "Chargement", "Cancel upload" : "Annuler l'envoi", "No files in here" : "Aucun fichier ici", "Upload some content or sync with your devices!" : "Déposez du contenu ou synchronisez vos appareils !", diff --git a/apps/files/l10n/gl.js b/apps/files/l10n/gl.js index 3f666f2b95b..4293b3ab9ba 100644 --- a/apps/files/l10n/gl.js +++ b/apps/files/l10n/gl.js @@ -36,9 +36,6 @@ OC.L10N.register( "Upload cancelled." : "Envío cancelado.", "Could not get result from server." : "Non foi posíbel obter o resultado do servidor.", "File upload is in progress. Leaving the page now will cancel the upload." : "O envío do ficheiro está en proceso. Saír agora da páxina cancelará o envío.", - "{new_name} already exists" : "Xa existe un {new_name}", - "Could not create file" : "Non foi posíbel crear o ficheiro", - "Could not create folder" : "Non foi posíbel crear o cartafol", "Actions" : "Accións", "Download" : "Descargar", "Select" : "Seleccionar", @@ -49,7 +46,10 @@ OC.L10N.register( "Error moving file." : "Produciuse un erro ao mover o ficheiro.", "Error moving file" : "Produciuse un erro ao mover o ficheiro", "Error" : "Erro", + "{new_name} already exists" : "Xa existe un {new_name}", "Could not rename file" : "Non foi posíbel renomear o ficheiro", + "Could not create file" : "Non foi posíbel crear o ficheiro", + "Could not create folder" : "Non foi posíbel crear o cartafol", "Error deleting file." : "Produciuse un erro ao eliminar o ficheiro.", "No entries in this folder match '{filter}'" : "Non hai entradas neste cartafol coincidentes con «{filter}»", "Name" : "Nome", @@ -60,6 +60,7 @@ OC.L10N.register( "{dirs} and {files}" : "{dirs} e {files}", "You don’t have permission to upload or create files here" : "Non ten permisos para enviar ou crear ficheiros aquí.", "_Uploading %n file_::_Uploading %n files_" : ["Cargando %n ficheiro","Cargando %n ficheiros"], + "New" : "Novo", "\"{name}\" is an invalid file name." : "«{name}» é un nome incorrecto de ficheiro.", "File name cannot be empty." : "O nome de ficheiro non pode estar baleiro", "Storage of {owner} is full, files can not be updated or synced anymore!" : "O espazo de almacenamento de {owner} está cheo, non é posíbel actualizar ou sincronizar máis os ficheiros!", @@ -71,6 +72,10 @@ OC.L10N.register( "_%n byte_::_%n bytes_" : ["%n byte","%n bytes"], "Favorited" : "Marcado como favorito", "Favorite" : "Favorito", + "Upload" : "Enviar", + "Text file" : "Ficheiro de texto", + "Folder" : "Cartafol", + "New folder" : "Novo cartafol", "An error occurred while trying to update the tags" : "Produciuse un erro ao tentar actualizar as etiquetas", "A new file or folder has been <strong>created</strong>" : "<strong>Creouse</strong> un novo ficheiro ou cartafol", "A file or folder has been <strong>changed</strong>" : "<strong>Cambiouse</strong> un ficheiro ou cartafol", @@ -97,12 +102,6 @@ OC.L10N.register( "Settings" : "Axustes", "WebDAV" : "WebDAV", "Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Empregue esta ligazón para <a href=\"%s\" target=\"_blank\">acceder aos seus ficheiros mediante WebDAV</a>", - "New" : "Novo", - "New text file" : "Ficheiro novo de texto", - "Text file" : "Ficheiro de texto", - "New folder" : "Novo cartafol", - "Folder" : "Cartafol", - "Upload" : "Enviar", "Cancel upload" : "Cancelar o envío", "No files in here" : "Aquí non hai ficheiros", "Upload some content or sync with your devices!" : "Envíe algún contido ou sincronice cos seus dispositivos!", diff --git a/apps/files/l10n/gl.json b/apps/files/l10n/gl.json index f9fec770356..34eeaa6a369 100644 --- a/apps/files/l10n/gl.json +++ b/apps/files/l10n/gl.json @@ -34,9 +34,6 @@ "Upload cancelled." : "Envío cancelado.", "Could not get result from server." : "Non foi posíbel obter o resultado do servidor.", "File upload is in progress. Leaving the page now will cancel the upload." : "O envío do ficheiro está en proceso. Saír agora da páxina cancelará o envío.", - "{new_name} already exists" : "Xa existe un {new_name}", - "Could not create file" : "Non foi posíbel crear o ficheiro", - "Could not create folder" : "Non foi posíbel crear o cartafol", "Actions" : "Accións", "Download" : "Descargar", "Select" : "Seleccionar", @@ -47,7 +44,10 @@ "Error moving file." : "Produciuse un erro ao mover o ficheiro.", "Error moving file" : "Produciuse un erro ao mover o ficheiro", "Error" : "Erro", + "{new_name} already exists" : "Xa existe un {new_name}", "Could not rename file" : "Non foi posíbel renomear o ficheiro", + "Could not create file" : "Non foi posíbel crear o ficheiro", + "Could not create folder" : "Non foi posíbel crear o cartafol", "Error deleting file." : "Produciuse un erro ao eliminar o ficheiro.", "No entries in this folder match '{filter}'" : "Non hai entradas neste cartafol coincidentes con «{filter}»", "Name" : "Nome", @@ -58,6 +58,7 @@ "{dirs} and {files}" : "{dirs} e {files}", "You don’t have permission to upload or create files here" : "Non ten permisos para enviar ou crear ficheiros aquí.", "_Uploading %n file_::_Uploading %n files_" : ["Cargando %n ficheiro","Cargando %n ficheiros"], + "New" : "Novo", "\"{name}\" is an invalid file name." : "«{name}» é un nome incorrecto de ficheiro.", "File name cannot be empty." : "O nome de ficheiro non pode estar baleiro", "Storage of {owner} is full, files can not be updated or synced anymore!" : "O espazo de almacenamento de {owner} está cheo, non é posíbel actualizar ou sincronizar máis os ficheiros!", @@ -69,6 +70,10 @@ "_%n byte_::_%n bytes_" : ["%n byte","%n bytes"], "Favorited" : "Marcado como favorito", "Favorite" : "Favorito", + "Upload" : "Enviar", + "Text file" : "Ficheiro de texto", + "Folder" : "Cartafol", + "New folder" : "Novo cartafol", "An error occurred while trying to update the tags" : "Produciuse un erro ao tentar actualizar as etiquetas", "A new file or folder has been <strong>created</strong>" : "<strong>Creouse</strong> un novo ficheiro ou cartafol", "A file or folder has been <strong>changed</strong>" : "<strong>Cambiouse</strong> un ficheiro ou cartafol", @@ -95,12 +100,6 @@ "Settings" : "Axustes", "WebDAV" : "WebDAV", "Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Empregue esta ligazón para <a href=\"%s\" target=\"_blank\">acceder aos seus ficheiros mediante WebDAV</a>", - "New" : "Novo", - "New text file" : "Ficheiro novo de texto", - "Text file" : "Ficheiro de texto", - "New folder" : "Novo cartafol", - "Folder" : "Cartafol", - "Upload" : "Enviar", "Cancel upload" : "Cancelar o envío", "No files in here" : "Aquí non hai ficheiros", "Upload some content or sync with your devices!" : "Envíe algún contido ou sincronice cos seus dispositivos!", diff --git a/apps/files/l10n/he.js b/apps/files/l10n/he.js index 8918c8686c9..94956cbff0e 100644 --- a/apps/files/l10n/he.js +++ b/apps/files/l10n/he.js @@ -22,18 +22,23 @@ OC.L10N.register( "Upload cancelled." : "ההעלאה בוטלה.", "Could not get result from server." : "לא ניתן לגשת לתוצאות מהשרת.", "File upload is in progress. Leaving the page now will cancel the upload." : "מתבצעת כעת העלאת קבצים. עזיבה של העמוד תבטל את ההעלאה.", - "{new_name} already exists" : "{new_name} כבר קיים", "Actions" : "פעולות", "Download" : "הורדה", "Select" : "בחר", "Pending" : "ממתין", "Error" : "שגיאה", + "{new_name} already exists" : "{new_name} כבר קיים", "Name" : "שם", "Size" : "גודל", "Modified" : "זמן שינוי", + "New" : "חדש", "File name cannot be empty." : "שם קובץ אינו יכול להיות ריק", "Your storage is almost full ({usedSpacePercent}%)" : "שטח האחסון שלך כמעט מלא ({usedSpacePercent}%)", "Favorite" : "מועדף", + "Upload" : "העלאה", + "Text file" : "קובץ טקסט", + "Folder" : "תיקייה", + "New folder" : "תיקייה חדשה", "A new file or folder has been <strong>created</strong>" : "קובץ או תיקייה חדשים <strong>נוצרו<strong/>", "A file or folder has been <strong>changed</strong>" : "קובץ או תיקייה <strong>שונו<strong/>", "A file or folder has been <strong>deleted</strong>" : "קובץ או תיקייה <strong>נמחקו<strong/>", @@ -51,11 +56,6 @@ OC.L10N.register( "Save" : "שמירה", "Settings" : "הגדרות", "WebDAV" : "WebDAV", - "New" : "חדש", - "Text file" : "קובץ טקסט", - "New folder" : "תיקייה חדשה", - "Folder" : "תיקייה", - "Upload" : "העלאה", "Cancel upload" : "ביטול ההעלאה", "Delete" : "מחיקה", "Upload too large" : "העלאה גדולה מידי", diff --git a/apps/files/l10n/he.json b/apps/files/l10n/he.json index 38b8365eaa0..8dfc57f3276 100644 --- a/apps/files/l10n/he.json +++ b/apps/files/l10n/he.json @@ -20,18 +20,23 @@ "Upload cancelled." : "ההעלאה בוטלה.", "Could not get result from server." : "לא ניתן לגשת לתוצאות מהשרת.", "File upload is in progress. Leaving the page now will cancel the upload." : "מתבצעת כעת העלאת קבצים. עזיבה של העמוד תבטל את ההעלאה.", - "{new_name} already exists" : "{new_name} כבר קיים", "Actions" : "פעולות", "Download" : "הורדה", "Select" : "בחר", "Pending" : "ממתין", "Error" : "שגיאה", + "{new_name} already exists" : "{new_name} כבר קיים", "Name" : "שם", "Size" : "גודל", "Modified" : "זמן שינוי", + "New" : "חדש", "File name cannot be empty." : "שם קובץ אינו יכול להיות ריק", "Your storage is almost full ({usedSpacePercent}%)" : "שטח האחסון שלך כמעט מלא ({usedSpacePercent}%)", "Favorite" : "מועדף", + "Upload" : "העלאה", + "Text file" : "קובץ טקסט", + "Folder" : "תיקייה", + "New folder" : "תיקייה חדשה", "A new file or folder has been <strong>created</strong>" : "קובץ או תיקייה חדשים <strong>נוצרו<strong/>", "A file or folder has been <strong>changed</strong>" : "קובץ או תיקייה <strong>שונו<strong/>", "A file or folder has been <strong>deleted</strong>" : "קובץ או תיקייה <strong>נמחקו<strong/>", @@ -49,11 +54,6 @@ "Save" : "שמירה", "Settings" : "הגדרות", "WebDAV" : "WebDAV", - "New" : "חדש", - "Text file" : "קובץ טקסט", - "New folder" : "תיקייה חדשה", - "Folder" : "תיקייה", - "Upload" : "העלאה", "Cancel upload" : "ביטול ההעלאה", "Delete" : "מחיקה", "Upload too large" : "העלאה גדולה מידי", diff --git a/apps/files/l10n/hi.js b/apps/files/l10n/hi.js index 35ad6e5f688..c040105875d 100644 --- a/apps/files/l10n/hi.js +++ b/apps/files/l10n/hi.js @@ -4,9 +4,9 @@ OC.L10N.register( "Files" : "फाइलें ", "Close" : "बंद करें ", "Error" : "त्रुटि", - "Save" : "सहेजें", - "Settings" : "सेटिंग्स", + "Upload" : "अपलोड ", "New folder" : "नया फ़ोल्डर", - "Upload" : "अपलोड " + "Save" : "सहेजें", + "Settings" : "सेटिंग्स" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/files/l10n/hi.json b/apps/files/l10n/hi.json index 0bcf3ace1de..70db8f9d7f1 100644 --- a/apps/files/l10n/hi.json +++ b/apps/files/l10n/hi.json @@ -2,9 +2,9 @@ "Files" : "फाइलें ", "Close" : "बंद करें ", "Error" : "त्रुटि", - "Save" : "सहेजें", - "Settings" : "सेटिंग्स", + "Upload" : "अपलोड ", "New folder" : "नया फ़ोल्डर", - "Upload" : "अपलोड " + "Save" : "सहेजें", + "Settings" : "सेटिंग्स" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/files/l10n/hr.js b/apps/files/l10n/hr.js index fb273f410cc..379d43f4dbd 100644 --- a/apps/files/l10n/hr.js +++ b/apps/files/l10n/hr.js @@ -36,9 +36,6 @@ OC.L10N.register( "Upload cancelled." : "Učitavanje je prekinuto.", "Could not get result from server." : "Nemoguće dobiti rezultat od poslužitelja.", "File upload is in progress. Leaving the page now will cancel the upload." : "Učitavanje datoteke je u tijeku. Napuštanje stranice prekinut će učitavanje.", - "{new_name} already exists" : "{new_name} već postoji", - "Could not create file" : "Datoteku nije moguće kreirati", - "Could not create folder" : "Mapu nije moguće kreirati", "Actions" : "Radnje", "Download" : "Preuzimanje", "Select" : "Selektiraj", @@ -47,7 +44,10 @@ OC.L10N.register( "Error moving file." : "Pogrešno premještanje datoteke", "Error moving file" : "Pogrešno premještanje datoteke", "Error" : "Pogreška", + "{new_name} already exists" : "{new_name} već postoji", "Could not rename file" : "Datoteku nije moguće preimenovati", + "Could not create file" : "Datoteku nije moguće kreirati", + "Could not create folder" : "Mapu nije moguće kreirati", "Error deleting file." : "Pogrešno brisanje datoteke", "No entries in this folder match '{filter}'" : "Nema zapisa u ovom folderu match '{filter}'", "Name" : "Naziv", @@ -58,12 +58,17 @@ OC.L10N.register( "{dirs} and {files}" : "{dirs} i {files}", "You don’t have permission to upload or create files here" : "Ovdje vam nije dopušteno učitavati ili kreirati datoteke", "_Uploading %n file_::_Uploading %n files_" : ["Prenosim %n datoteku","Prenosim %n datoteke","Prenosim %n datoteka"], + "New" : "Novo", "\"{name}\" is an invalid file name." : "\"{name}\" je neispravno ime datoteke.", "File name cannot be empty." : "Naziv datoteke ne može biti prazan.", "Your storage is full, files can not be updated or synced anymore!" : "Vaša je pohrana puna, datoteke više nije moguće ažurirati niti sinkronizirati!", "Your storage is almost full ({usedSpacePercent}%)" : "Vaš prostor za pohranu je skoro pun ({usedSpacePercent}%)", "Favorited" : "Favoritovan", "Favorite" : "Favorit", + "Upload" : "Učitavanje", + "Text file" : "Tekstualna datoteka", + "Folder" : "Mapa", + "New folder" : "Nova mapa", "A new file or folder has been <strong>created</strong>" : "Nova datoteka ili nova mapa su <strong>kreirani</strong>", "A file or folder has been <strong>changed</strong>" : "Datoteka ili mapa su <strong>promijenjeni</strong>", "A file or folder has been <strong>deleted</strong>" : "Datoteka ili mapa su <strong>izbrisani</strong>", @@ -87,12 +92,6 @@ OC.L10N.register( "Settings" : "Postavke", "WebDAV" : "WebDAV", "Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Koristitet slijedeću adresu za <a href=\"%s\" target=\"_blank\">pristup vašim datotekama putem WebDAV-a</a>", - "New" : "Novo", - "New text file" : "Nova tekstualna datoteka", - "Text file" : "Tekstualna datoteka", - "New folder" : "Nova mapa", - "Folder" : "Mapa", - "Upload" : "Učitavanje", "Cancel upload" : "Prekini upload", "Upload some content or sync with your devices!" : "Aplodujte neki sadrzaj ili sinkronizirajte sa vasim uredjajem!", "No entries found in this folder" : "Zapis nije pronadjen u ovom direktorijumu ", diff --git a/apps/files/l10n/hr.json b/apps/files/l10n/hr.json index 92e6b5d80e1..a8d935848ea 100644 --- a/apps/files/l10n/hr.json +++ b/apps/files/l10n/hr.json @@ -34,9 +34,6 @@ "Upload cancelled." : "Učitavanje je prekinuto.", "Could not get result from server." : "Nemoguće dobiti rezultat od poslužitelja.", "File upload is in progress. Leaving the page now will cancel the upload." : "Učitavanje datoteke je u tijeku. Napuštanje stranice prekinut će učitavanje.", - "{new_name} already exists" : "{new_name} već postoji", - "Could not create file" : "Datoteku nije moguće kreirati", - "Could not create folder" : "Mapu nije moguće kreirati", "Actions" : "Radnje", "Download" : "Preuzimanje", "Select" : "Selektiraj", @@ -45,7 +42,10 @@ "Error moving file." : "Pogrešno premještanje datoteke", "Error moving file" : "Pogrešno premještanje datoteke", "Error" : "Pogreška", + "{new_name} already exists" : "{new_name} već postoji", "Could not rename file" : "Datoteku nije moguće preimenovati", + "Could not create file" : "Datoteku nije moguće kreirati", + "Could not create folder" : "Mapu nije moguće kreirati", "Error deleting file." : "Pogrešno brisanje datoteke", "No entries in this folder match '{filter}'" : "Nema zapisa u ovom folderu match '{filter}'", "Name" : "Naziv", @@ -56,12 +56,17 @@ "{dirs} and {files}" : "{dirs} i {files}", "You don’t have permission to upload or create files here" : "Ovdje vam nije dopušteno učitavati ili kreirati datoteke", "_Uploading %n file_::_Uploading %n files_" : ["Prenosim %n datoteku","Prenosim %n datoteke","Prenosim %n datoteka"], + "New" : "Novo", "\"{name}\" is an invalid file name." : "\"{name}\" je neispravno ime datoteke.", "File name cannot be empty." : "Naziv datoteke ne može biti prazan.", "Your storage is full, files can not be updated or synced anymore!" : "Vaša je pohrana puna, datoteke više nije moguće ažurirati niti sinkronizirati!", "Your storage is almost full ({usedSpacePercent}%)" : "Vaš prostor za pohranu je skoro pun ({usedSpacePercent}%)", "Favorited" : "Favoritovan", "Favorite" : "Favorit", + "Upload" : "Učitavanje", + "Text file" : "Tekstualna datoteka", + "Folder" : "Mapa", + "New folder" : "Nova mapa", "A new file or folder has been <strong>created</strong>" : "Nova datoteka ili nova mapa su <strong>kreirani</strong>", "A file or folder has been <strong>changed</strong>" : "Datoteka ili mapa su <strong>promijenjeni</strong>", "A file or folder has been <strong>deleted</strong>" : "Datoteka ili mapa su <strong>izbrisani</strong>", @@ -85,12 +90,6 @@ "Settings" : "Postavke", "WebDAV" : "WebDAV", "Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Koristitet slijedeću adresu za <a href=\"%s\" target=\"_blank\">pristup vašim datotekama putem WebDAV-a</a>", - "New" : "Novo", - "New text file" : "Nova tekstualna datoteka", - "Text file" : "Tekstualna datoteka", - "New folder" : "Nova mapa", - "Folder" : "Mapa", - "Upload" : "Učitavanje", "Cancel upload" : "Prekini upload", "Upload some content or sync with your devices!" : "Aplodujte neki sadrzaj ili sinkronizirajte sa vasim uredjajem!", "No entries found in this folder" : "Zapis nije pronadjen u ovom direktorijumu ", diff --git a/apps/files/l10n/hu_HU.js b/apps/files/l10n/hu_HU.js index c7c7719db1c..8b9b7c17f15 100644 --- a/apps/files/l10n/hu_HU.js +++ b/apps/files/l10n/hu_HU.js @@ -36,9 +36,6 @@ OC.L10N.register( "Upload cancelled." : "A feltöltést megszakítottuk.", "Could not get result from server." : "A kiszolgálótól nem kapható meg a művelet eredménye.", "File upload is in progress. Leaving the page now will cancel the upload." : "Fájlfeltöltés van folyamatban. Az oldal elhagyása megszakítja a feltöltést.", - "{new_name} already exists" : "{new_name} már létezik", - "Could not create file" : "Az állomány nem hozható létre", - "Could not create folder" : "A mappa nem hozható létre", "Actions" : "Műveletek", "Download" : "Letöltés", "Select" : "Kiválaszt", @@ -49,7 +46,10 @@ OC.L10N.register( "Error moving file." : "Hiba történt a fájl áthelyezése közben.", "Error moving file" : "Az állomány áthelyezése nem sikerült.", "Error" : "Hiba", + "{new_name} already exists" : "{new_name} már létezik", "Could not rename file" : "Az állomány nem nevezhető át", + "Could not create file" : "Az állomány nem hozható létre", + "Could not create folder" : "A mappa nem hozható létre", "Error deleting file." : "Hiba a file törlése közben.", "No entries in this folder match '{filter}'" : "Nincsenek egyező bejegyzések ebben a könyvtárban '{filter}'", "Name" : "Név", @@ -60,6 +60,7 @@ OC.L10N.register( "{dirs} and {files}" : "{dirs} és {files}", "You don’t have permission to upload or create files here" : "Önnek nincs jogosultsága ahhoz, hogy ide állományokat töltsön föl, vagy itt újakat hozzon létre", "_Uploading %n file_::_Uploading %n files_" : ["%n állomány feltöltése","%n állomány feltöltése"], + "New" : "Új", "\"{name}\" is an invalid file name." : "\"{name}\" érvénytelen, mint fájlnév.", "File name cannot be empty." : "A fájlnév nem lehet semmi.", "Storage of {owner} is full, files can not be updated or synced anymore!" : "A {owner} felhasználó tárolója betelt, a fájlok nem frissíthetők és szinkronizálhatók többet!", @@ -71,6 +72,12 @@ OC.L10N.register( "_%n byte_::_%n bytes_" : ["%n bájt","%n bájt"], "Favorited" : "Kedvenc", "Favorite" : "Kedvenc", + "{newname} already exists" : "{newname} már létezik", + "Upload" : "Feltöltés", + "Text file" : "Szövegfájl", + "New text file.txt" : "Új szöveges fájl.txt", + "Folder" : "Mappa", + "New folder" : "Új mappa", "An error occurred while trying to update the tags" : "Hiba történt, miközben megpróbálta frissíteni a címkéket", "A new file or folder has been <strong>created</strong>" : "Új fájl vagy könyvtár <strong>létrehozása</strong>", "A file or folder has been <strong>changed</strong>" : "Fájl vagy könyvtár <strong>módosítása</strong>", @@ -98,12 +105,6 @@ OC.L10N.register( "Settings" : "Beállítások", "WebDAV" : "WebDAV", "Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Ezt a címet használja, ha <a href=\"%s\" target=\"_blank\">WebDAV-on keresztül szeretné elérni a fájljait</a>", - "New" : "Új", - "New text file" : "Új szövegfájl", - "Text file" : "Szövegfájl", - "New folder" : "Új mappa", - "Folder" : "Mappa", - "Upload" : "Feltöltés", "Cancel upload" : "A feltöltés megszakítása", "No files in here" : "Itt nincsenek fájlok", "Upload some content or sync with your devices!" : "Tölts fel néhány tartalmat, vagy szinkronizálj az eszközöddel!", diff --git a/apps/files/l10n/hu_HU.json b/apps/files/l10n/hu_HU.json index 08027509fb3..6d82cd60413 100644 --- a/apps/files/l10n/hu_HU.json +++ b/apps/files/l10n/hu_HU.json @@ -34,9 +34,6 @@ "Upload cancelled." : "A feltöltést megszakítottuk.", "Could not get result from server." : "A kiszolgálótól nem kapható meg a művelet eredménye.", "File upload is in progress. Leaving the page now will cancel the upload." : "Fájlfeltöltés van folyamatban. Az oldal elhagyása megszakítja a feltöltést.", - "{new_name} already exists" : "{new_name} már létezik", - "Could not create file" : "Az állomány nem hozható létre", - "Could not create folder" : "A mappa nem hozható létre", "Actions" : "Műveletek", "Download" : "Letöltés", "Select" : "Kiválaszt", @@ -47,7 +44,10 @@ "Error moving file." : "Hiba történt a fájl áthelyezése közben.", "Error moving file" : "Az állomány áthelyezése nem sikerült.", "Error" : "Hiba", + "{new_name} already exists" : "{new_name} már létezik", "Could not rename file" : "Az állomány nem nevezhető át", + "Could not create file" : "Az állomány nem hozható létre", + "Could not create folder" : "A mappa nem hozható létre", "Error deleting file." : "Hiba a file törlése közben.", "No entries in this folder match '{filter}'" : "Nincsenek egyező bejegyzések ebben a könyvtárban '{filter}'", "Name" : "Név", @@ -58,6 +58,7 @@ "{dirs} and {files}" : "{dirs} és {files}", "You don’t have permission to upload or create files here" : "Önnek nincs jogosultsága ahhoz, hogy ide állományokat töltsön föl, vagy itt újakat hozzon létre", "_Uploading %n file_::_Uploading %n files_" : ["%n állomány feltöltése","%n állomány feltöltése"], + "New" : "Új", "\"{name}\" is an invalid file name." : "\"{name}\" érvénytelen, mint fájlnév.", "File name cannot be empty." : "A fájlnév nem lehet semmi.", "Storage of {owner} is full, files can not be updated or synced anymore!" : "A {owner} felhasználó tárolója betelt, a fájlok nem frissíthetők és szinkronizálhatók többet!", @@ -69,6 +70,12 @@ "_%n byte_::_%n bytes_" : ["%n bájt","%n bájt"], "Favorited" : "Kedvenc", "Favorite" : "Kedvenc", + "{newname} already exists" : "{newname} már létezik", + "Upload" : "Feltöltés", + "Text file" : "Szövegfájl", + "New text file.txt" : "Új szöveges fájl.txt", + "Folder" : "Mappa", + "New folder" : "Új mappa", "An error occurred while trying to update the tags" : "Hiba történt, miközben megpróbálta frissíteni a címkéket", "A new file or folder has been <strong>created</strong>" : "Új fájl vagy könyvtár <strong>létrehozása</strong>", "A file or folder has been <strong>changed</strong>" : "Fájl vagy könyvtár <strong>módosítása</strong>", @@ -96,12 +103,6 @@ "Settings" : "Beállítások", "WebDAV" : "WebDAV", "Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Ezt a címet használja, ha <a href=\"%s\" target=\"_blank\">WebDAV-on keresztül szeretné elérni a fájljait</a>", - "New" : "Új", - "New text file" : "Új szövegfájl", - "Text file" : "Szövegfájl", - "New folder" : "Új mappa", - "Folder" : "Mappa", - "Upload" : "Feltöltés", "Cancel upload" : "A feltöltés megszakítása", "No files in here" : "Itt nincsenek fájlok", "Upload some content or sync with your devices!" : "Tölts fel néhány tartalmat, vagy szinkronizálj az eszközöddel!", diff --git a/apps/files/l10n/ia.js b/apps/files/l10n/ia.js index d6d4b83cfca..9b5d321937e 100644 --- a/apps/files/l10n/ia.js +++ b/apps/files/l10n/ia.js @@ -13,7 +13,12 @@ OC.L10N.register( "Name" : "Nomine", "Size" : "Dimension", "Modified" : "Modificate", + "New" : "Nove", "File name cannot be empty." : "Le nomine de file non pote esser vacue.", + "Upload" : "Incargar", + "Text file" : "File de texto", + "Folder" : "Dossier", + "New folder" : "Nove dossier", "A new file or folder has been <strong>created</strong>" : "Un nove file o dossier ha essite <strong>create</strong>", "A file or folder has been <strong>changed</strong>" : "Un nove file o dossier ha essite <strong>modificate</strong>", "A file or folder has been <strong>deleted</strong>" : "Un nove file o dossier ha essite <strong>delite</strong>", @@ -31,11 +36,6 @@ OC.L10N.register( "Maximum upload size" : "Dimension maxime de incargamento", "Save" : "Salveguardar", "Settings" : "Configurationes", - "New" : "Nove", - "Text file" : "File de texto", - "New folder" : "Nove dossier", - "Folder" : "Dossier", - "Upload" : "Incargar", "Delete" : "Deler", "Upload too large" : "Incargamento troppo longe" }, diff --git a/apps/files/l10n/ia.json b/apps/files/l10n/ia.json index 0389c806b30..461634d526a 100644 --- a/apps/files/l10n/ia.json +++ b/apps/files/l10n/ia.json @@ -11,7 +11,12 @@ "Name" : "Nomine", "Size" : "Dimension", "Modified" : "Modificate", + "New" : "Nove", "File name cannot be empty." : "Le nomine de file non pote esser vacue.", + "Upload" : "Incargar", + "Text file" : "File de texto", + "Folder" : "Dossier", + "New folder" : "Nove dossier", "A new file or folder has been <strong>created</strong>" : "Un nove file o dossier ha essite <strong>create</strong>", "A file or folder has been <strong>changed</strong>" : "Un nove file o dossier ha essite <strong>modificate</strong>", "A file or folder has been <strong>deleted</strong>" : "Un nove file o dossier ha essite <strong>delite</strong>", @@ -29,11 +34,6 @@ "Maximum upload size" : "Dimension maxime de incargamento", "Save" : "Salveguardar", "Settings" : "Configurationes", - "New" : "Nove", - "Text file" : "File de texto", - "New folder" : "Nove dossier", - "Folder" : "Dossier", - "Upload" : "Incargar", "Delete" : "Deler", "Upload too large" : "Incargamento troppo longe" },"pluralForm" :"nplurals=2; plural=(n != 1);" diff --git a/apps/files/l10n/id.js b/apps/files/l10n/id.js index 8d57bacedf4..e41d94643a9 100644 --- a/apps/files/l10n/id.js +++ b/apps/files/l10n/id.js @@ -36,9 +36,6 @@ OC.L10N.register( "Upload cancelled." : "Pengunggahan dibatalkan.", "Could not get result from server." : "Tidak mendapatkan hasil dari server.", "File upload is in progress. Leaving the page now will cancel the upload." : "Berkas sedang diunggah. Meninggalkan halaman ini akan membatalkan proses.", - "{new_name} already exists" : "{new_name} sudah ada", - "Could not create file" : "Tidak dapat membuat berkas", - "Could not create folder" : "Tidak dapat membuat folder", "Actions" : "Tindakan", "Download" : "Unduh", "Select" : "Pilih", @@ -49,7 +46,10 @@ OC.L10N.register( "Error moving file." : "Kesalahan saat memindahkan berkas.", "Error moving file" : "Kesalahan saat memindahkan berkas", "Error" : "Kesalahan ", + "{new_name} already exists" : "{new_name} sudah ada", "Could not rename file" : "Tidak dapat mengubah nama berkas", + "Could not create file" : "Tidak dapat membuat berkas", + "Could not create folder" : "Tidak dapat membuat folder", "Error deleting file." : "Kesalahan saat menghapus berkas.", "No entries in this folder match '{filter}'" : "Tidak ada entri di folder ini yang cocok dengan '{filter}'", "Name" : "Nama", @@ -60,6 +60,7 @@ OC.L10N.register( "{dirs} and {files}" : "{dirs} dan {files}", "You don’t have permission to upload or create files here" : "Anda tidak memiliki akses untuk mengunggah atau membuat berkas disini", "_Uploading %n file_::_Uploading %n files_" : ["Mengunggah %n berkas"], + "New" : "Baru", "\"{name}\" is an invalid file name." : "\"{name}\" adalah nama berkas yang tidak sah.", "File name cannot be empty." : "Nama berkas tidak boleh kosong.", "Storage of {owner} is full, files can not be updated or synced anymore!" : "Penyimpanan {owner} penuh, berkas tidak dapat diperbarui atau disinkronisasikan lagi!", @@ -71,6 +72,12 @@ OC.L10N.register( "_%n byte_::_%n bytes_" : ["%n byte"], "Favorited" : "Difavoritkan", "Favorite" : "Favorit", + "{newname} already exists" : "{newname} sudah ada", + "Upload" : "Unggah", + "Text file" : "Berkas teks", + "New text file.txt" : "Teks baru file.txt", + "Folder" : "Folder", + "New folder" : "Map baru", "An error occurred while trying to update the tags" : "Terjadi kesalahan saat mencoba untuk memperbarui label", "A new file or folder has been <strong>created</strong>" : "Sebuah berkas atau folder baru telah <strong>dibuat</strong>", "A file or folder has been <strong>changed</strong>" : "Sebuah berkas atau folder telah <strong>diubah</strong>", @@ -98,12 +105,6 @@ OC.L10N.register( "Settings" : "Pengaturan", "WebDAV" : "WebDAV", "Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Gunakan alamat ini untuk <a href=\"%s\" target=\"_blank\">mengakses Berkas via WebDAV</a>", - "New" : "Baru", - "New text file" : "Berkas teks baru", - "Text file" : "Berkas teks", - "New folder" : "Map baru", - "Folder" : "Folder", - "Upload" : "Unggah", "Cancel upload" : "Batal unggah", "No files in here" : "Tidak ada berkas disini", "Upload some content or sync with your devices!" : "Unggah beberapa konten dan sinkronisasikan dengan perangkat Anda!", diff --git a/apps/files/l10n/id.json b/apps/files/l10n/id.json index c38ca149788..6be0c1a226c 100644 --- a/apps/files/l10n/id.json +++ b/apps/files/l10n/id.json @@ -34,9 +34,6 @@ "Upload cancelled." : "Pengunggahan dibatalkan.", "Could not get result from server." : "Tidak mendapatkan hasil dari server.", "File upload is in progress. Leaving the page now will cancel the upload." : "Berkas sedang diunggah. Meninggalkan halaman ini akan membatalkan proses.", - "{new_name} already exists" : "{new_name} sudah ada", - "Could not create file" : "Tidak dapat membuat berkas", - "Could not create folder" : "Tidak dapat membuat folder", "Actions" : "Tindakan", "Download" : "Unduh", "Select" : "Pilih", @@ -47,7 +44,10 @@ "Error moving file." : "Kesalahan saat memindahkan berkas.", "Error moving file" : "Kesalahan saat memindahkan berkas", "Error" : "Kesalahan ", + "{new_name} already exists" : "{new_name} sudah ada", "Could not rename file" : "Tidak dapat mengubah nama berkas", + "Could not create file" : "Tidak dapat membuat berkas", + "Could not create folder" : "Tidak dapat membuat folder", "Error deleting file." : "Kesalahan saat menghapus berkas.", "No entries in this folder match '{filter}'" : "Tidak ada entri di folder ini yang cocok dengan '{filter}'", "Name" : "Nama", @@ -58,6 +58,7 @@ "{dirs} and {files}" : "{dirs} dan {files}", "You don’t have permission to upload or create files here" : "Anda tidak memiliki akses untuk mengunggah atau membuat berkas disini", "_Uploading %n file_::_Uploading %n files_" : ["Mengunggah %n berkas"], + "New" : "Baru", "\"{name}\" is an invalid file name." : "\"{name}\" adalah nama berkas yang tidak sah.", "File name cannot be empty." : "Nama berkas tidak boleh kosong.", "Storage of {owner} is full, files can not be updated or synced anymore!" : "Penyimpanan {owner} penuh, berkas tidak dapat diperbarui atau disinkronisasikan lagi!", @@ -69,6 +70,12 @@ "_%n byte_::_%n bytes_" : ["%n byte"], "Favorited" : "Difavoritkan", "Favorite" : "Favorit", + "{newname} already exists" : "{newname} sudah ada", + "Upload" : "Unggah", + "Text file" : "Berkas teks", + "New text file.txt" : "Teks baru file.txt", + "Folder" : "Folder", + "New folder" : "Map baru", "An error occurred while trying to update the tags" : "Terjadi kesalahan saat mencoba untuk memperbarui label", "A new file or folder has been <strong>created</strong>" : "Sebuah berkas atau folder baru telah <strong>dibuat</strong>", "A file or folder has been <strong>changed</strong>" : "Sebuah berkas atau folder telah <strong>diubah</strong>", @@ -96,12 +103,6 @@ "Settings" : "Pengaturan", "WebDAV" : "WebDAV", "Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Gunakan alamat ini untuk <a href=\"%s\" target=\"_blank\">mengakses Berkas via WebDAV</a>", - "New" : "Baru", - "New text file" : "Berkas teks baru", - "Text file" : "Berkas teks", - "New folder" : "Map baru", - "Folder" : "Folder", - "Upload" : "Unggah", "Cancel upload" : "Batal unggah", "No files in here" : "Tidak ada berkas disini", "Upload some content or sync with your devices!" : "Unggah beberapa konten dan sinkronisasikan dengan perangkat Anda!", diff --git a/apps/files/l10n/is.js b/apps/files/l10n/is.js index a3b44be4731..7ac24eba462 100644 --- a/apps/files/l10n/is.js +++ b/apps/files/l10n/is.js @@ -16,25 +16,25 @@ OC.L10N.register( "Close" : "Loka", "Upload cancelled." : "Hætt við innsendingu.", "File upload is in progress. Leaving the page now will cancel the upload." : "Innsending í gangi. Ef þú ferð af þessari síðu mun innsending misheppnast.", - "{new_name} already exists" : "{new_name} er þegar til", "Download" : "Niðurhal", "Select" : "Velja", "Pending" : "Bíður", "Error" : "Villa", + "{new_name} already exists" : "{new_name} er þegar til", "Name" : "Nafn", "Size" : "Stærð", "Modified" : "Breytt", + "New" : "Nýtt", "File name cannot be empty." : "Nafn skráar má ekki vera tómt", + "Upload" : "Senda inn", + "Text file" : "Texta skrá", + "Folder" : "Mappa", "File handling" : "Meðhöndlun skrár", "Maximum upload size" : "Hámarks stærð innsendingar", "max. possible: " : "hámark mögulegt: ", "Save" : "Vista", "Settings" : "Stillingar", "WebDAV" : "WebDAV", - "New" : "Nýtt", - "Text file" : "Texta skrá", - "Folder" : "Mappa", - "Upload" : "Senda inn", "Cancel upload" : "Hætta við innsendingu", "No entries found in this folder" : "Engar skrár fundust í þessari möppu", "Select all" : "Velja allt", diff --git a/apps/files/l10n/is.json b/apps/files/l10n/is.json index 9307f9b6df4..8e723d963a7 100644 --- a/apps/files/l10n/is.json +++ b/apps/files/l10n/is.json @@ -14,25 +14,25 @@ "Close" : "Loka", "Upload cancelled." : "Hætt við innsendingu.", "File upload is in progress. Leaving the page now will cancel the upload." : "Innsending í gangi. Ef þú ferð af þessari síðu mun innsending misheppnast.", - "{new_name} already exists" : "{new_name} er þegar til", "Download" : "Niðurhal", "Select" : "Velja", "Pending" : "Bíður", "Error" : "Villa", + "{new_name} already exists" : "{new_name} er þegar til", "Name" : "Nafn", "Size" : "Stærð", "Modified" : "Breytt", + "New" : "Nýtt", "File name cannot be empty." : "Nafn skráar má ekki vera tómt", + "Upload" : "Senda inn", + "Text file" : "Texta skrá", + "Folder" : "Mappa", "File handling" : "Meðhöndlun skrár", "Maximum upload size" : "Hámarks stærð innsendingar", "max. possible: " : "hámark mögulegt: ", "Save" : "Vista", "Settings" : "Stillingar", "WebDAV" : "WebDAV", - "New" : "Nýtt", - "Text file" : "Texta skrá", - "Folder" : "Mappa", - "Upload" : "Senda inn", "Cancel upload" : "Hætta við innsendingu", "No entries found in this folder" : "Engar skrár fundust í þessari möppu", "Select all" : "Velja allt", diff --git a/apps/files/l10n/it.js b/apps/files/l10n/it.js index 2a7e998cced..aa92ffc0f70 100644 --- a/apps/files/l10n/it.js +++ b/apps/files/l10n/it.js @@ -36,9 +36,6 @@ OC.L10N.register( "Upload cancelled." : "Caricamento annullato.", "Could not get result from server." : "Impossibile ottenere il risultato dal server.", "File upload is in progress. Leaving the page now will cancel the upload." : "Caricamento del file in corso. La chiusura della pagina annullerà il caricamento.", - "{new_name} already exists" : "{new_name} esiste già", - "Could not create file" : "Impossibile creare il file", - "Could not create folder" : "Impossibile creare la cartella", "Actions" : "Azioni", "Download" : "Scarica", "Select" : "Seleziona", @@ -49,7 +46,10 @@ OC.L10N.register( "Error moving file." : "Errore durante lo spostamento del file.", "Error moving file" : "Errore durante lo spostamento del file", "Error" : "Errore", + "{new_name} already exists" : "{new_name} esiste già", "Could not rename file" : "Impossibile rinominare il file", + "Could not create file" : "Impossibile creare il file", + "Could not create folder" : "Impossibile creare la cartella", "Error deleting file." : "Errore durante l'eliminazione del file.", "No entries in this folder match '{filter}'" : "Nessuna voce in questa cartella corrisponde a '{filter}'", "Name" : "Nome", @@ -60,6 +60,7 @@ OC.L10N.register( "{dirs} and {files}" : "{dirs} e {files}", "You don’t have permission to upload or create files here" : "Qui non hai i permessi di caricare o creare file", "_Uploading %n file_::_Uploading %n files_" : ["Caricamento di %n file in corso","Caricamento di %n file in corso"], + "New" : "Nuovo", "\"{name}\" is an invalid file name." : "\"{name}\" non è un nome file valido.", "File name cannot be empty." : "Il nome del file non può essere vuoto.", "Storage of {owner} is full, files can not be updated or synced anymore!" : "Lo spazio di archiviazione di {owner} è pieno, i file non possono essere più aggiornati o sincronizzati!", @@ -71,6 +72,12 @@ OC.L10N.register( "_%n byte_::_%n bytes_" : ["%n byte","%n byte"], "Favorited" : "Preferiti", "Favorite" : "Preferito", + "{newname} already exists" : "{newname} esiste già", + "Upload" : "Carica", + "Text file" : "File di testo", + "New text file.txt" : "Nuovo file di testo.txt", + "Folder" : "Cartella", + "New folder" : "Nuova cartella", "An error occurred while trying to update the tags" : "Si è verificato un errore durante il tentativo di aggiornare le etichette", "A new file or folder has been <strong>created</strong>" : "Un nuovo file o cartella è stato <strong>creato</strong>", "A file or folder has been <strong>changed</strong>" : "Un file o una cartella è stato <strong>modificato</strong>", @@ -98,12 +105,6 @@ OC.L10N.register( "Settings" : "Impostazioni", "WebDAV" : "WebDAV", "Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Utilizza questo indirizzo per <a href=\"%s\" target=\"_blank\">accedere ai tuoi file con WebDAV</a>", - "New" : "Nuovo", - "New text file" : "Nuovo file di testo", - "Text file" : "File di testo", - "New folder" : "Nuova cartella", - "Folder" : "Cartella", - "Upload" : "Carica", "Cancel upload" : "Annulla caricamento", "No files in here" : "Qui non c'è alcun file", "Upload some content or sync with your devices!" : "Carica alcuni contenuti o sincronizza con i tuoi dispositivi!", diff --git a/apps/files/l10n/it.json b/apps/files/l10n/it.json index b61fb39ae5f..8f18858b2eb 100644 --- a/apps/files/l10n/it.json +++ b/apps/files/l10n/it.json @@ -34,9 +34,6 @@ "Upload cancelled." : "Caricamento annullato.", "Could not get result from server." : "Impossibile ottenere il risultato dal server.", "File upload is in progress. Leaving the page now will cancel the upload." : "Caricamento del file in corso. La chiusura della pagina annullerà il caricamento.", - "{new_name} already exists" : "{new_name} esiste già", - "Could not create file" : "Impossibile creare il file", - "Could not create folder" : "Impossibile creare la cartella", "Actions" : "Azioni", "Download" : "Scarica", "Select" : "Seleziona", @@ -47,7 +44,10 @@ "Error moving file." : "Errore durante lo spostamento del file.", "Error moving file" : "Errore durante lo spostamento del file", "Error" : "Errore", + "{new_name} already exists" : "{new_name} esiste già", "Could not rename file" : "Impossibile rinominare il file", + "Could not create file" : "Impossibile creare il file", + "Could not create folder" : "Impossibile creare la cartella", "Error deleting file." : "Errore durante l'eliminazione del file.", "No entries in this folder match '{filter}'" : "Nessuna voce in questa cartella corrisponde a '{filter}'", "Name" : "Nome", @@ -58,6 +58,7 @@ "{dirs} and {files}" : "{dirs} e {files}", "You don’t have permission to upload or create files here" : "Qui non hai i permessi di caricare o creare file", "_Uploading %n file_::_Uploading %n files_" : ["Caricamento di %n file in corso","Caricamento di %n file in corso"], + "New" : "Nuovo", "\"{name}\" is an invalid file name." : "\"{name}\" non è un nome file valido.", "File name cannot be empty." : "Il nome del file non può essere vuoto.", "Storage of {owner} is full, files can not be updated or synced anymore!" : "Lo spazio di archiviazione di {owner} è pieno, i file non possono essere più aggiornati o sincronizzati!", @@ -69,6 +70,12 @@ "_%n byte_::_%n bytes_" : ["%n byte","%n byte"], "Favorited" : "Preferiti", "Favorite" : "Preferito", + "{newname} already exists" : "{newname} esiste già", + "Upload" : "Carica", + "Text file" : "File di testo", + "New text file.txt" : "Nuovo file di testo.txt", + "Folder" : "Cartella", + "New folder" : "Nuova cartella", "An error occurred while trying to update the tags" : "Si è verificato un errore durante il tentativo di aggiornare le etichette", "A new file or folder has been <strong>created</strong>" : "Un nuovo file o cartella è stato <strong>creato</strong>", "A file or folder has been <strong>changed</strong>" : "Un file o una cartella è stato <strong>modificato</strong>", @@ -96,12 +103,6 @@ "Settings" : "Impostazioni", "WebDAV" : "WebDAV", "Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Utilizza questo indirizzo per <a href=\"%s\" target=\"_blank\">accedere ai tuoi file con WebDAV</a>", - "New" : "Nuovo", - "New text file" : "Nuovo file di testo", - "Text file" : "File di testo", - "New folder" : "Nuova cartella", - "Folder" : "Cartella", - "Upload" : "Carica", "Cancel upload" : "Annulla caricamento", "No files in here" : "Qui non c'è alcun file", "Upload some content or sync with your devices!" : "Carica alcuni contenuti o sincronizza con i tuoi dispositivi!", diff --git a/apps/files/l10n/ja.js b/apps/files/l10n/ja.js index 23326e2ab2e..91e75e6e76a 100644 --- a/apps/files/l10n/ja.js +++ b/apps/files/l10n/ja.js @@ -36,9 +36,6 @@ OC.L10N.register( "Upload cancelled." : "アップロードはキャンセルされました。", "Could not get result from server." : "サーバーから結果を取得できませんでした。", "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" : "フォルダーを作成できませんでした", "Actions" : "アクション", "Download" : "ダウンロード", "Select" : "選択", @@ -49,7 +46,10 @@ OC.L10N.register( "Error moving file." : "ファイル移動でエラー", "Error moving file" : "ファイルの移動エラー", "Error" : "エラー", + "{new_name} already exists" : "{new_name} はすでに存在します", "Could not rename file" : "ファイルの名前変更ができませんでした", + "Could not create file" : "ファイルを作成できませんでした", + "Could not create folder" : "フォルダーを作成できませんでした", "Error deleting file." : "ファイルの削除エラー。", "No entries in this folder match '{filter}'" : "このフォルダー内で '{filter}' にマッチするものはありません", "Name" : "名前", @@ -60,6 +60,7 @@ OC.L10N.register( "{dirs} and {files}" : "{dirs} と {files}", "You don’t have permission to upload or create files here" : "ここにファイルをアップロードもしくは作成する権限がありません", "_Uploading %n file_::_Uploading %n files_" : ["%n 個のファイルをアップロード中"], + "New" : "新規作成", "\"{name}\" is an invalid file name." : "\"{name}\" は無効なファイル名です。", "File name cannot be empty." : "ファイル名を空にすることはできません。", "Storage of {owner} is full, files can not be updated or synced anymore!" : "{owner} のストレージは一杯です。ファイルの更新と同期はもうできません!", @@ -71,6 +72,10 @@ OC.L10N.register( "_%n byte_::_%n bytes_" : ["%n バイト"], "Favorited" : "お気に入り済", "Favorite" : "お気に入り", + "Upload" : "アップロード", + "Text file" : "テキストファイル", + "Folder" : "フォルダー", + "New folder" : "新しいフォルダー", "An error occurred while trying to update the tags" : "タグを更新する際にエラーが発生しました", "A new file or folder has been <strong>created</strong>" : "新しいファイルまたはフォルダーを<strong>作成</strong>したとき", "A file or folder has been <strong>changed</strong>" : "ファイルまたはフォルダーを<strong>変更</strong>したとき", @@ -98,12 +103,6 @@ OC.L10N.register( "Settings" : "設定", "WebDAV" : "WebDAV", "Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "<a href=\"%s\" target=\"_blank\">WebDAV経由でのファイルアクセス</a>にはこのアドレスを利用してください", - "New" : "新規作成", - "New text file" : "新規のテキストファイル作成", - "Text file" : "テキストファイル", - "New folder" : "新しいフォルダー", - "Folder" : "フォルダー", - "Upload" : "アップロード", "Cancel upload" : "アップロードをキャンセル", "No files in here" : "ファイルがありません", "Upload some content or sync with your devices!" : "何かコンテンツをアップロードするか、デバイスからファイルを同期してください。", diff --git a/apps/files/l10n/ja.json b/apps/files/l10n/ja.json index df2a7bd8058..7c0c94c0348 100644 --- a/apps/files/l10n/ja.json +++ b/apps/files/l10n/ja.json @@ -34,9 +34,6 @@ "Upload cancelled." : "アップロードはキャンセルされました。", "Could not get result from server." : "サーバーから結果を取得できませんでした。", "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" : "フォルダーを作成できませんでした", "Actions" : "アクション", "Download" : "ダウンロード", "Select" : "選択", @@ -47,7 +44,10 @@ "Error moving file." : "ファイル移動でエラー", "Error moving file" : "ファイルの移動エラー", "Error" : "エラー", + "{new_name} already exists" : "{new_name} はすでに存在します", "Could not rename file" : "ファイルの名前変更ができませんでした", + "Could not create file" : "ファイルを作成できませんでした", + "Could not create folder" : "フォルダーを作成できませんでした", "Error deleting file." : "ファイルの削除エラー。", "No entries in this folder match '{filter}'" : "このフォルダー内で '{filter}' にマッチするものはありません", "Name" : "名前", @@ -58,6 +58,7 @@ "{dirs} and {files}" : "{dirs} と {files}", "You don’t have permission to upload or create files here" : "ここにファイルをアップロードもしくは作成する権限がありません", "_Uploading %n file_::_Uploading %n files_" : ["%n 個のファイルをアップロード中"], + "New" : "新規作成", "\"{name}\" is an invalid file name." : "\"{name}\" は無効なファイル名です。", "File name cannot be empty." : "ファイル名を空にすることはできません。", "Storage of {owner} is full, files can not be updated or synced anymore!" : "{owner} のストレージは一杯です。ファイルの更新と同期はもうできません!", @@ -69,6 +70,10 @@ "_%n byte_::_%n bytes_" : ["%n バイト"], "Favorited" : "お気に入り済", "Favorite" : "お気に入り", + "Upload" : "アップロード", + "Text file" : "テキストファイル", + "Folder" : "フォルダー", + "New folder" : "新しいフォルダー", "An error occurred while trying to update the tags" : "タグを更新する際にエラーが発生しました", "A new file or folder has been <strong>created</strong>" : "新しいファイルまたはフォルダーを<strong>作成</strong>したとき", "A file or folder has been <strong>changed</strong>" : "ファイルまたはフォルダーを<strong>変更</strong>したとき", @@ -96,12 +101,6 @@ "Settings" : "設定", "WebDAV" : "WebDAV", "Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "<a href=\"%s\" target=\"_blank\">WebDAV経由でのファイルアクセス</a>にはこのアドレスを利用してください", - "New" : "新規作成", - "New text file" : "新規のテキストファイル作成", - "Text file" : "テキストファイル", - "New folder" : "新しいフォルダー", - "Folder" : "フォルダー", - "Upload" : "アップロード", "Cancel upload" : "アップロードをキャンセル", "No files in here" : "ファイルがありません", "Upload some content or sync with your devices!" : "何かコンテンツをアップロードするか、デバイスからファイルを同期してください。", diff --git a/apps/files/l10n/ka_GE.js b/apps/files/l10n/ka_GE.js index 68e142e74d5..33135feb7cc 100644 --- a/apps/files/l10n/ka_GE.js +++ b/apps/files/l10n/ka_GE.js @@ -20,29 +20,29 @@ OC.L10N.register( "Close" : "დახურვა", "Upload cancelled." : "ატვირთვა შეჩერებულ იქნა.", "File upload is in progress. Leaving the page now will cancel the upload." : "მიმდინარეობს ფაილის ატვირთვა. სხვა გვერდზე გადასვლა გამოიწვევს ატვირთვის შეჩერებას", - "{new_name} already exists" : "{new_name} უკვე არსებობს", "Actions" : "მოქმედებები", "Download" : "ჩამოტვირთვა", "Pending" : "მოცდის რეჟიმში", "Error" : "შეცდომა", + "{new_name} already exists" : "{new_name} უკვე არსებობს", "Name" : "სახელი", "Size" : "ზომა", "Modified" : "შეცვლილია", + "New" : "ახალი", "File name cannot be empty." : "ფაილის სახელი არ შეიძლება იყოს ცარიელი.", "Your storage is full, files can not be updated or synced anymore!" : "თქვენი საცავი გადაივსო. ფაილების განახლება და სინქრონიზირება ვერ მოხერხდება!", "Your storage is almost full ({usedSpacePercent}%)" : "თქვენი საცავი თითქმის გადაივსო ({usedSpacePercent}%)", "Favorite" : "ფავორიტი", + "Upload" : "ატვირთვა", + "Text file" : "ტექსტური ფაილი", + "Folder" : "საქაღალდე", + "New folder" : "ახალი ფოლდერი", "File handling" : "ფაილის დამუშავება", "Maximum upload size" : "მაქსიმუმ ატვირთის ზომა", "max. possible: " : "მაქს. შესაძლებელი:", "Save" : "შენახვა", "Settings" : "პარამეტრები", "WebDAV" : "WebDAV", - "New" : "ახალი", - "Text file" : "ტექსტური ფაილი", - "New folder" : "ახალი ფოლდერი", - "Folder" : "საქაღალდე", - "Upload" : "ატვირთვა", "Cancel upload" : "ატვირთვის გაუქმება", "Delete" : "წაშლა", "Upload too large" : "ასატვირთი ფაილი ძალიან დიდია", diff --git a/apps/files/l10n/ka_GE.json b/apps/files/l10n/ka_GE.json index 4cbe5e15fdd..ef3f109d306 100644 --- a/apps/files/l10n/ka_GE.json +++ b/apps/files/l10n/ka_GE.json @@ -18,29 +18,29 @@ "Close" : "დახურვა", "Upload cancelled." : "ატვირთვა შეჩერებულ იქნა.", "File upload is in progress. Leaving the page now will cancel the upload." : "მიმდინარეობს ფაილის ატვირთვა. სხვა გვერდზე გადასვლა გამოიწვევს ატვირთვის შეჩერებას", - "{new_name} already exists" : "{new_name} უკვე არსებობს", "Actions" : "მოქმედებები", "Download" : "ჩამოტვირთვა", "Pending" : "მოცდის რეჟიმში", "Error" : "შეცდომა", + "{new_name} already exists" : "{new_name} უკვე არსებობს", "Name" : "სახელი", "Size" : "ზომა", "Modified" : "შეცვლილია", + "New" : "ახალი", "File name cannot be empty." : "ფაილის სახელი არ შეიძლება იყოს ცარიელი.", "Your storage is full, files can not be updated or synced anymore!" : "თქვენი საცავი გადაივსო. ფაილების განახლება და სინქრონიზირება ვერ მოხერხდება!", "Your storage is almost full ({usedSpacePercent}%)" : "თქვენი საცავი თითქმის გადაივსო ({usedSpacePercent}%)", "Favorite" : "ფავორიტი", + "Upload" : "ატვირთვა", + "Text file" : "ტექსტური ფაილი", + "Folder" : "საქაღალდე", + "New folder" : "ახალი ფოლდერი", "File handling" : "ფაილის დამუშავება", "Maximum upload size" : "მაქსიმუმ ატვირთის ზომა", "max. possible: " : "მაქს. შესაძლებელი:", "Save" : "შენახვა", "Settings" : "პარამეტრები", "WebDAV" : "WebDAV", - "New" : "ახალი", - "Text file" : "ტექსტური ფაილი", - "New folder" : "ახალი ფოლდერი", - "Folder" : "საქაღალდე", - "Upload" : "ატვირთვა", "Cancel upload" : "ატვირთვის გაუქმება", "Delete" : "წაშლა", "Upload too large" : "ასატვირთი ფაილი ძალიან დიდია", diff --git a/apps/files/l10n/km.js b/apps/files/l10n/km.js index d21f200dc09..6b8517e7229 100644 --- a/apps/files/l10n/km.js +++ b/apps/files/l10n/km.js @@ -9,14 +9,19 @@ OC.L10N.register( "Files" : "ឯកសារ", "Close" : "បិទ", "Upload cancelled." : "បានបោះបង់ការផ្ទុកឡើង។", - "{new_name} already exists" : "មានឈ្មោះ {new_name} រួចហើយ", "Download" : "ទាញយក", "Pending" : "កំពុងរង់ចាំ", "Error" : "កំហុស", + "{new_name} already exists" : "មានឈ្មោះ {new_name} រួចហើយ", "Name" : "ឈ្មោះ", "Size" : "ទំហំ", "Modified" : "បានកែប្រែ", + "New" : "ថ្មី", "File name cannot be empty." : "ឈ្មោះឯកសារមិនអាចនៅទទេបានឡើយ។", + "Upload" : "ផ្ទុកឡើង", + "Text file" : "ឯកសារអក្សរ", + "Folder" : "ថត", + "New folder" : "ថតថ្មី", "You created %1$s" : "អ្នកបានបង្កើត %1$s", "%2$s created %1$s" : "%2$s បានបង្កើត %1$s", "You changed %1$s" : "អ្នកបានផ្លាស់ប្ដូរ %1$s", @@ -27,11 +32,6 @@ OC.L10N.register( "Save" : "រក្សាទុក", "Settings" : "ការកំណត់", "WebDAV" : "WebDAV", - "New" : "ថ្មី", - "Text file" : "ឯកសារអក្សរ", - "New folder" : "ថតថ្មី", - "Folder" : "ថត", - "Upload" : "ផ្ទុកឡើង", "Cancel upload" : "បោះបង់ការផ្ទុកឡើង", "Delete" : "លុប", "Upload too large" : "ផ្ទុកឡើងធំពេក" diff --git a/apps/files/l10n/km.json b/apps/files/l10n/km.json index bd147f593d0..ebbb9a8b4ab 100644 --- a/apps/files/l10n/km.json +++ b/apps/files/l10n/km.json @@ -7,14 +7,19 @@ "Files" : "ឯកសារ", "Close" : "បិទ", "Upload cancelled." : "បានបោះបង់ការផ្ទុកឡើង។", - "{new_name} already exists" : "មានឈ្មោះ {new_name} រួចហើយ", "Download" : "ទាញយក", "Pending" : "កំពុងរង់ចាំ", "Error" : "កំហុស", + "{new_name} already exists" : "មានឈ្មោះ {new_name} រួចហើយ", "Name" : "ឈ្មោះ", "Size" : "ទំហំ", "Modified" : "បានកែប្រែ", + "New" : "ថ្មី", "File name cannot be empty." : "ឈ្មោះឯកសារមិនអាចនៅទទេបានឡើយ។", + "Upload" : "ផ្ទុកឡើង", + "Text file" : "ឯកសារអក្សរ", + "Folder" : "ថត", + "New folder" : "ថតថ្មី", "You created %1$s" : "អ្នកបានបង្កើត %1$s", "%2$s created %1$s" : "%2$s បានបង្កើត %1$s", "You changed %1$s" : "អ្នកបានផ្លាស់ប្ដូរ %1$s", @@ -25,11 +30,6 @@ "Save" : "រក្សាទុក", "Settings" : "ការកំណត់", "WebDAV" : "WebDAV", - "New" : "ថ្មី", - "Text file" : "ឯកសារអក្សរ", - "New folder" : "ថតថ្មី", - "Folder" : "ថត", - "Upload" : "ផ្ទុកឡើង", "Cancel upload" : "បោះបង់ការផ្ទុកឡើង", "Delete" : "លុប", "Upload too large" : "ផ្ទុកឡើងធំពេក" diff --git a/apps/files/l10n/kn.js b/apps/files/l10n/kn.js index 59e444e46c6..9bd8982fdaf 100644 --- a/apps/files/l10n/kn.js +++ b/apps/files/l10n/kn.js @@ -28,9 +28,6 @@ OC.L10N.register( "Close" : "ಮುಚ್ಚು", "Upload cancelled." : "ವರ್ಗಾವಣೆಯನ್ನು ರದ್ದು ಮಾಡಲಾಯಿತು.", "Could not get result from server." : "ಪರಿಚಾರಕ ಕಣಕದಿಂದ ಫಲಿತಾಂಶವನ್ನು ಪಡೆಯಲು ಸಾಧ್ಯವಾಗಿಲ್ಲ.", - "{new_name} already exists" : "ಈಗಾಗಲೇ {new_name} ಅಸ್ತಿತ್ವದಲ್ಲಿದೆ", - "Could not create file" : "ಕಡತ ರಚಿಸಲಾಗಲಿಲ್ಲ", - "Could not create folder" : "ಕೋಶವನ್ನು ರಚಿಸಲಾಗಿಲ್ಲ", "Download" : "ಪ್ರತಿಯನ್ನು ಸ್ಥಳೀಯವಾಗಿ ಉಳಿಸಿಕೊಳ್ಳಿ", "Select" : "ಆಯ್ಕೆ ಮಾಡಿ", "Pending" : "ಬಾಕಿ ಇದೆ", @@ -38,7 +35,10 @@ OC.L10N.register( "Error moving file." : "ಕಡತದ ಸ್ಥಾನವನ್ನು ಬದಲಾಯಿಸುವಾಗ ದೋಷವಾಗಿದೆ.", "Error moving file" : "ಕಡತದ ಸ್ಥಾನವನ್ನು ಬದಲಾಯಿಸುವಾಗ ದೋಷವಾಗಿದೆ", "Error" : "ತಪ್ಪಾಗಿದೆ", + "{new_name} already exists" : "ಈಗಾಗಲೇ {new_name} ಅಸ್ತಿತ್ವದಲ್ಲಿದೆ", "Could not rename file" : "ಕಡತ ಮರುಹೆಸರಿಸಲು ಸಾಧ್ಯವಾಗಲಿಲ್ಲ", + "Could not create file" : "ಕಡತ ರಚಿಸಲಾಗಲಿಲ್ಲ", + "Could not create folder" : "ಕೋಶವನ್ನು ರಚಿಸಲಾಗಿಲ್ಲ", "Error deleting file." : "ಕಡತವನ್ನು ಅಳಿಸುವಲ್ಲಿ ಲೋಪವಾದೆ", "Name" : "ಹೆಸರು", "Size" : " ಪ್ರಮಾಣ", @@ -47,9 +47,14 @@ OC.L10N.register( "_%n file_::_%n files_" : ["%n ಕಡತ"], "You don’t have permission to upload or create files here" : "ನಿಮಗೆ ಇಲ್ಲಿ ಅಪ್ಲೋಡ್ ಅಥವಾ ಕಡತಗಳನ್ನು ರಚಿಸವ ಅನುಮತಿ ಇಲ್ಲ", "_Uploading %n file_::_Uploading %n files_" : ["%n 'ನೆ ಕಡತವನ್ನು ವರ್ಗಾಯಿಸಲಾಗುತ್ತಿದೆ"], + "New" : "ಹೊಸ", "File name cannot be empty." : "ಕಡತ ಹೆಸರು ಖಾಲಿ ಇರುವಂತಿಲ್ಲ.", "Favorited" : "ಅಚ್ಚುಮೆಚ್ಚಿನವು", "Favorite" : "ಅಚ್ಚುಮೆಚ್ಚಿನ", + "Upload" : "ವರ್ಗಾಯಿಸಿ", + "Text file" : "ಸರಳಾಕ್ಷರದ ಕಡತ", + "Folder" : "ಕಡತಕೋಶ", + "New folder" : "ಹೊಸ ಕಡತಕೋಶ", "Upload (max. %s)" : "ವರ್ಗಾವಣೆ (ಗರಿಷ್ಠ %s)", "File handling" : "ಕಡತ ನಿರ್ವಹಣೆ", "Maximum upload size" : "ಗರಿಷ್ಠ ವರ್ಗಾವಣೆ ಗಾತ್ರ", @@ -57,12 +62,6 @@ OC.L10N.register( "Save" : "ಉಳಿಸಿ", "Settings" : "ಆಯ್ಕೆ", "WebDAV" : "WebDAV", - "New" : "ಹೊಸ", - "New text file" : "ಹೊಸ ಸರಳಾಕ್ಷರದ ಕಡತ ", - "Text file" : "ಸರಳಾಕ್ಷರದ ಕಡತ", - "New folder" : "ಹೊಸ ಕಡತಕೋಶ", - "Folder" : "ಕಡತಕೋಶ", - "Upload" : "ವರ್ಗಾಯಿಸಿ", "Cancel upload" : "ವರ್ಗಾವಣೆ ರದ್ದು ಮಾಡಿ", "Select all" : "ಎಲ್ಲಾ ಆಯ್ಕೆ ಮಾಡಿ", "Delete" : "ಅಳಿಸಿ", diff --git a/apps/files/l10n/kn.json b/apps/files/l10n/kn.json index d432dbdae33..803b1c87cf4 100644 --- a/apps/files/l10n/kn.json +++ b/apps/files/l10n/kn.json @@ -26,9 +26,6 @@ "Close" : "ಮುಚ್ಚು", "Upload cancelled." : "ವರ್ಗಾವಣೆಯನ್ನು ರದ್ದು ಮಾಡಲಾಯಿತು.", "Could not get result from server." : "ಪರಿಚಾರಕ ಕಣಕದಿಂದ ಫಲಿತಾಂಶವನ್ನು ಪಡೆಯಲು ಸಾಧ್ಯವಾಗಿಲ್ಲ.", - "{new_name} already exists" : "ಈಗಾಗಲೇ {new_name} ಅಸ್ತಿತ್ವದಲ್ಲಿದೆ", - "Could not create file" : "ಕಡತ ರಚಿಸಲಾಗಲಿಲ್ಲ", - "Could not create folder" : "ಕೋಶವನ್ನು ರಚಿಸಲಾಗಿಲ್ಲ", "Download" : "ಪ್ರತಿಯನ್ನು ಸ್ಥಳೀಯವಾಗಿ ಉಳಿಸಿಕೊಳ್ಳಿ", "Select" : "ಆಯ್ಕೆ ಮಾಡಿ", "Pending" : "ಬಾಕಿ ಇದೆ", @@ -36,7 +33,10 @@ "Error moving file." : "ಕಡತದ ಸ್ಥಾನವನ್ನು ಬದಲಾಯಿಸುವಾಗ ದೋಷವಾಗಿದೆ.", "Error moving file" : "ಕಡತದ ಸ್ಥಾನವನ್ನು ಬದಲಾಯಿಸುವಾಗ ದೋಷವಾಗಿದೆ", "Error" : "ತಪ್ಪಾಗಿದೆ", + "{new_name} already exists" : "ಈಗಾಗಲೇ {new_name} ಅಸ್ತಿತ್ವದಲ್ಲಿದೆ", "Could not rename file" : "ಕಡತ ಮರುಹೆಸರಿಸಲು ಸಾಧ್ಯವಾಗಲಿಲ್ಲ", + "Could not create file" : "ಕಡತ ರಚಿಸಲಾಗಲಿಲ್ಲ", + "Could not create folder" : "ಕೋಶವನ್ನು ರಚಿಸಲಾಗಿಲ್ಲ", "Error deleting file." : "ಕಡತವನ್ನು ಅಳಿಸುವಲ್ಲಿ ಲೋಪವಾದೆ", "Name" : "ಹೆಸರು", "Size" : " ಪ್ರಮಾಣ", @@ -45,9 +45,14 @@ "_%n file_::_%n files_" : ["%n ಕಡತ"], "You don’t have permission to upload or create files here" : "ನಿಮಗೆ ಇಲ್ಲಿ ಅಪ್ಲೋಡ್ ಅಥವಾ ಕಡತಗಳನ್ನು ರಚಿಸವ ಅನುಮತಿ ಇಲ್ಲ", "_Uploading %n file_::_Uploading %n files_" : ["%n 'ನೆ ಕಡತವನ್ನು ವರ್ಗಾಯಿಸಲಾಗುತ್ತಿದೆ"], + "New" : "ಹೊಸ", "File name cannot be empty." : "ಕಡತ ಹೆಸರು ಖಾಲಿ ಇರುವಂತಿಲ್ಲ.", "Favorited" : "ಅಚ್ಚುಮೆಚ್ಚಿನವು", "Favorite" : "ಅಚ್ಚುಮೆಚ್ಚಿನ", + "Upload" : "ವರ್ಗಾಯಿಸಿ", + "Text file" : "ಸರಳಾಕ್ಷರದ ಕಡತ", + "Folder" : "ಕಡತಕೋಶ", + "New folder" : "ಹೊಸ ಕಡತಕೋಶ", "Upload (max. %s)" : "ವರ್ಗಾವಣೆ (ಗರಿಷ್ಠ %s)", "File handling" : "ಕಡತ ನಿರ್ವಹಣೆ", "Maximum upload size" : "ಗರಿಷ್ಠ ವರ್ಗಾವಣೆ ಗಾತ್ರ", @@ -55,12 +60,6 @@ "Save" : "ಉಳಿಸಿ", "Settings" : "ಆಯ್ಕೆ", "WebDAV" : "WebDAV", - "New" : "ಹೊಸ", - "New text file" : "ಹೊಸ ಸರಳಾಕ್ಷರದ ಕಡತ ", - "Text file" : "ಸರಳಾಕ್ಷರದ ಕಡತ", - "New folder" : "ಹೊಸ ಕಡತಕೋಶ", - "Folder" : "ಕಡತಕೋಶ", - "Upload" : "ವರ್ಗಾಯಿಸಿ", "Cancel upload" : "ವರ್ಗಾವಣೆ ರದ್ದು ಮಾಡಿ", "Select all" : "ಎಲ್ಲಾ ಆಯ್ಕೆ ಮಾಡಿ", "Delete" : "ಅಳಿಸಿ", diff --git a/apps/files/l10n/ko.js b/apps/files/l10n/ko.js index 65ca5780d6f..709e0faa0cb 100644 --- a/apps/files/l10n/ko.js +++ b/apps/files/l10n/ko.js @@ -36,9 +36,6 @@ OC.L10N.register( "Upload cancelled." : "업로드가 취소되었습니다.", "Could not get result from server." : "서버에서 결과를 가져올 수 없습니다.", "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" : "폴더를 만들 수 없음", "Actions" : "작업", "Download" : "다운로드", "Select" : "선택", @@ -49,7 +46,10 @@ OC.L10N.register( "Error moving file." : "파일 이동 오류.", "Error moving file" : "파일 이동 오류", "Error" : "오류", + "{new_name} already exists" : "{new_name}이(가) 이미 존재함", "Could not rename file" : "이름을 변경할 수 없음", + "Could not create file" : "파일을 만들 수 없음", + "Could not create folder" : "폴더를 만들 수 없음", "Error deleting file." : "파일 삭제 오류.", "No entries in this folder match '{filter}'" : "이 폴더에 '{filter}'와(과) 일치하는 항목 없음", "Name" : "이름", @@ -60,6 +60,7 @@ OC.L10N.register( "{dirs} and {files}" : "{dirs} 그리고 {files}", "You don’t have permission to upload or create files here" : "여기에 파일을 업로드하거나 만들 권한이 없습니다", "_Uploading %n file_::_Uploading %n files_" : ["파일 %n개 업로드 중"], + "New" : "새로 만들기", "\"{name}\" is an invalid file name." : "\"{name}\"은(는) 잘못된 파일 이름입니다.", "File name cannot be empty." : "파일 이름이 비어 있을 수 없습니다.", "Storage of {owner} is full, files can not be updated or synced anymore!" : "{owner}의 저장소가 가득 찼습니다. 파일을 더 이상 업데이트하거나 동기화할 수 없습니다!", @@ -67,8 +68,16 @@ OC.L10N.register( "Storage of {owner} is almost full ({usedSpacePercent}%)" : "{owner}의 저장 공간이 거의 가득 찼습니다({usedSpacePercent}%)", "Your storage is almost full ({usedSpacePercent}%)" : "저장 공간이 거의 가득 찼습니다({usedSpacePercent}%)", "_matches '{filter}'_::_match '{filter}'_" : ["'{filter}'와(과) 일치"], + "Path" : "경로", + "_%n byte_::_%n bytes_" : ["%n바이트"], "Favorited" : "책갈피에 추가됨", "Favorite" : "즐겨찾기", + "{newname} already exists" : "{newname} 항목이 이미 존재함", + "Upload" : "업로드", + "Text file" : "텍스트 파일", + "New text file.txt" : "새 텍스트 파일.txt", + "Folder" : "폴더", + "New folder" : "새 폴더", "An error occurred while trying to update the tags" : "태그를 업데이트하는 중 오류 발생", "A new file or folder has been <strong>created</strong>" : "새 파일이나 폴더가 <strong>생성됨</strong>", "A file or folder has been <strong>changed</strong>" : "파일이나 폴더가 <strong>변경됨</strong>", @@ -90,17 +99,12 @@ OC.L10N.register( "File handling" : "파일 처리", "Maximum upload size" : "최대 업로드 크기", "max. possible: " : "최대 가능:", + "With PHP-FPM this value may take up to 5 minutes to take effect after saving." : "PHP-FPM을 사용하고 있으면 설정 변화가 적용될 때까지 5분 정도 걸릴 수 있습니다.", "Save" : "저장", "Can not be edited from here due to insufficient permissions." : "권한이 부족하므로 여기에서 편집할 수 없습니다.", "Settings" : "설정", "WebDAV" : "WebDAV", "Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "WebDAV로 파일에 접근하려면 <a href=\"%s\" target=\"_blank\">이 주소를 사용하십시오</a>", - "New" : "새로 만들기", - "New text file" : "새 텍스트 파일", - "Text file" : "텍스트 파일", - "New folder" : "새 폴더", - "Folder" : "폴더", - "Upload" : "업로드", "Cancel upload" : "업로드 취소", "No files in here" : "여기에 파일 없음", "Upload some content or sync with your devices!" : "파일을 업로드하거나 장치와 동기화하십시오!", diff --git a/apps/files/l10n/ko.json b/apps/files/l10n/ko.json index 9139e78c0ac..e8f89a5c142 100644 --- a/apps/files/l10n/ko.json +++ b/apps/files/l10n/ko.json @@ -34,9 +34,6 @@ "Upload cancelled." : "업로드가 취소되었습니다.", "Could not get result from server." : "서버에서 결과를 가져올 수 없습니다.", "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" : "폴더를 만들 수 없음", "Actions" : "작업", "Download" : "다운로드", "Select" : "선택", @@ -47,7 +44,10 @@ "Error moving file." : "파일 이동 오류.", "Error moving file" : "파일 이동 오류", "Error" : "오류", + "{new_name} already exists" : "{new_name}이(가) 이미 존재함", "Could not rename file" : "이름을 변경할 수 없음", + "Could not create file" : "파일을 만들 수 없음", + "Could not create folder" : "폴더를 만들 수 없음", "Error deleting file." : "파일 삭제 오류.", "No entries in this folder match '{filter}'" : "이 폴더에 '{filter}'와(과) 일치하는 항목 없음", "Name" : "이름", @@ -58,6 +58,7 @@ "{dirs} and {files}" : "{dirs} 그리고 {files}", "You don’t have permission to upload or create files here" : "여기에 파일을 업로드하거나 만들 권한이 없습니다", "_Uploading %n file_::_Uploading %n files_" : ["파일 %n개 업로드 중"], + "New" : "새로 만들기", "\"{name}\" is an invalid file name." : "\"{name}\"은(는) 잘못된 파일 이름입니다.", "File name cannot be empty." : "파일 이름이 비어 있을 수 없습니다.", "Storage of {owner} is full, files can not be updated or synced anymore!" : "{owner}의 저장소가 가득 찼습니다. 파일을 더 이상 업데이트하거나 동기화할 수 없습니다!", @@ -65,8 +66,16 @@ "Storage of {owner} is almost full ({usedSpacePercent}%)" : "{owner}의 저장 공간이 거의 가득 찼습니다({usedSpacePercent}%)", "Your storage is almost full ({usedSpacePercent}%)" : "저장 공간이 거의 가득 찼습니다({usedSpacePercent}%)", "_matches '{filter}'_::_match '{filter}'_" : ["'{filter}'와(과) 일치"], + "Path" : "경로", + "_%n byte_::_%n bytes_" : ["%n바이트"], "Favorited" : "책갈피에 추가됨", "Favorite" : "즐겨찾기", + "{newname} already exists" : "{newname} 항목이 이미 존재함", + "Upload" : "업로드", + "Text file" : "텍스트 파일", + "New text file.txt" : "새 텍스트 파일.txt", + "Folder" : "폴더", + "New folder" : "새 폴더", "An error occurred while trying to update the tags" : "태그를 업데이트하는 중 오류 발생", "A new file or folder has been <strong>created</strong>" : "새 파일이나 폴더가 <strong>생성됨</strong>", "A file or folder has been <strong>changed</strong>" : "파일이나 폴더가 <strong>변경됨</strong>", @@ -88,17 +97,12 @@ "File handling" : "파일 처리", "Maximum upload size" : "최대 업로드 크기", "max. possible: " : "최대 가능:", + "With PHP-FPM this value may take up to 5 minutes to take effect after saving." : "PHP-FPM을 사용하고 있으면 설정 변화가 적용될 때까지 5분 정도 걸릴 수 있습니다.", "Save" : "저장", "Can not be edited from here due to insufficient permissions." : "권한이 부족하므로 여기에서 편집할 수 없습니다.", "Settings" : "설정", "WebDAV" : "WebDAV", "Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "WebDAV로 파일에 접근하려면 <a href=\"%s\" target=\"_blank\">이 주소를 사용하십시오</a>", - "New" : "새로 만들기", - "New text file" : "새 텍스트 파일", - "Text file" : "텍스트 파일", - "New folder" : "새 폴더", - "Folder" : "폴더", - "Upload" : "업로드", "Cancel upload" : "업로드 취소", "No files in here" : "여기에 파일 없음", "Upload some content or sync with your devices!" : "파일을 업로드하거나 장치와 동기화하십시오!", diff --git a/apps/files/l10n/ku_IQ.js b/apps/files/l10n/ku_IQ.js index 4e676ceaa81..32af16b3673 100644 --- a/apps/files/l10n/ku_IQ.js +++ b/apps/files/l10n/ku_IQ.js @@ -8,9 +8,9 @@ OC.L10N.register( "Select" : "دیاریکردنی", "Error" : "ههڵه", "Name" : "ناو", - "Save" : "پاشکهوتکردن", - "Settings" : "ڕێکخستنهکان", + "Upload" : "بارکردن", "Folder" : "بوخچه", - "Upload" : "بارکردن" + "Save" : "پاشکهوتکردن", + "Settings" : "ڕێکخستنهکان" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/files/l10n/ku_IQ.json b/apps/files/l10n/ku_IQ.json index 3a42444a605..4f1068bbb04 100644 --- a/apps/files/l10n/ku_IQ.json +++ b/apps/files/l10n/ku_IQ.json @@ -6,9 +6,9 @@ "Select" : "دیاریکردنی", "Error" : "ههڵه", "Name" : "ناو", - "Save" : "پاشکهوتکردن", - "Settings" : "ڕێکخستنهکان", + "Upload" : "بارکردن", "Folder" : "بوخچه", - "Upload" : "بارکردن" + "Save" : "پاشکهوتکردن", + "Settings" : "ڕێکخستنهکان" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/files/l10n/lb.js b/apps/files/l10n/lb.js index f6f28c15a77..513d802c1e4 100644 --- a/apps/files/l10n/lb.js +++ b/apps/files/l10n/lb.js @@ -20,16 +20,16 @@ OC.L10N.register( "Name" : "Numm", "Size" : "Gréisst", "Modified" : "Geännert", + "New" : "Nei", + "Upload" : "Eroplueden", + "Text file" : "Text Fichier", + "Folder" : "Dossier", + "New folder" : "Neien Dossier", "File handling" : "Fichier handling", "Maximum upload size" : "Maximum Upload Gréisst ", "max. possible: " : "max. méiglech:", "Save" : "Späicheren", "Settings" : "Astellungen", - "New" : "Nei", - "Text file" : "Text Fichier", - "New folder" : "Neien Dossier", - "Folder" : "Dossier", - "Upload" : "Eroplueden", "Cancel upload" : "Upload ofbriechen", "No entries found in this folder" : "Keng Elementer an dësem Dossier fonnt", "Select all" : "All auswielen", diff --git a/apps/files/l10n/lb.json b/apps/files/l10n/lb.json index 07363a6ab6c..fb586a90991 100644 --- a/apps/files/l10n/lb.json +++ b/apps/files/l10n/lb.json @@ -18,16 +18,16 @@ "Name" : "Numm", "Size" : "Gréisst", "Modified" : "Geännert", + "New" : "Nei", + "Upload" : "Eroplueden", + "Text file" : "Text Fichier", + "Folder" : "Dossier", + "New folder" : "Neien Dossier", "File handling" : "Fichier handling", "Maximum upload size" : "Maximum Upload Gréisst ", "max. possible: " : "max. méiglech:", "Save" : "Späicheren", "Settings" : "Astellungen", - "New" : "Nei", - "Text file" : "Text Fichier", - "New folder" : "Neien Dossier", - "Folder" : "Dossier", - "Upload" : "Eroplueden", "Cancel upload" : "Upload ofbriechen", "No entries found in this folder" : "Keng Elementer an dësem Dossier fonnt", "Select all" : "All auswielen", diff --git a/apps/files/l10n/lt_LT.js b/apps/files/l10n/lt_LT.js index 272a92f99c4..26fb351f50d 100644 --- a/apps/files/l10n/lt_LT.js +++ b/apps/files/l10n/lt_LT.js @@ -36,9 +36,6 @@ OC.L10N.register( "Upload cancelled." : "Įkėlimas atšauktas.", "Could not get result from server." : "Nepavyko gauti rezultato iš serverio.", "File upload is in progress. Leaving the page now will cancel the upload." : "Failo įkėlimas pradėtas. Jei paliksite šį puslapį, įkėlimas nutrūks.", - "{new_name} already exists" : "{new_name} jau egzistuoja", - "Could not create file" : "Neįmanoma sukurti failo", - "Could not create folder" : "Neįmanoma sukurti aplanko", "Actions" : "Veiksmai", "Download" : "Atsisiųsti", "Select" : "Pasirinkiti", @@ -49,7 +46,10 @@ OC.L10N.register( "Error moving file." : "Klaida perkeliant failą.", "Error moving file" : "Klaida perkeliant failą", "Error" : "Klaida", + "{new_name} already exists" : "{new_name} jau egzistuoja", "Could not rename file" : "Neįmanoma pervadinti failo", + "Could not create file" : "Neįmanoma sukurti failo", + "Could not create folder" : "Neįmanoma sukurti aplanko", "Error deleting file." : "Klaida trinant failą.", "No entries in this folder match '{filter}'" : "Nėra įrašų šiame aplanko atitikmeniui „{filter}“", "Name" : "Pavadinimas", @@ -60,6 +60,7 @@ OC.L10N.register( "{dirs} and {files}" : "{dirs} ir {files}", "You don’t have permission to upload or create files here" : "Jūs neturite leidimo čia įkelti arba kurti failus", "_Uploading %n file_::_Uploading %n files_" : ["Įkeliamas %n failas","Įkeliami %n failai","Įkeliama %n failų"], + "New" : "Naujas", "\"{name}\" is an invalid file name." : "„{name}“ yra netinkamas failo pavadinime.", "File name cannot be empty." : "Failo pavadinimas negali būti tuščias.", "Storage of {owner} is full, files can not be updated or synced anymore!" : "{owner} saugykla yra pilna, failai daugiau nebegali būti atnaujinti arba sinchronizuojami!", @@ -69,6 +70,10 @@ OC.L10N.register( "_matches '{filter}'_::_match '{filter}'_" : ["atitikmuo „{filter}“","atitikmenys „{filter}“","atitikmenų „{filter}“"], "Favorited" : "Pažymėta mėgstamu", "Favorite" : "Mėgiamas", + "Upload" : "Įkelti", + "Text file" : "Teksto failas", + "Folder" : "Katalogas", + "New folder" : "Naujas aplankas", "An error occurred while trying to update the tags" : "Bandant atnaujinti žymes įvyko klaida", "A new file or folder has been <strong>created</strong>" : "Naujas failas ar aplankas buvo <strong>sukurtas</strong>", "A file or folder has been <strong>changed</strong>" : "Failas ar aplankas buvo <strong>pakeistas</strong>", @@ -95,12 +100,6 @@ OC.L10N.register( "Settings" : "Nustatymai", "WebDAV" : "WebDAV", "Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Naudokite šį adresą, kad <a href=\"%s\" target=\"_blank\">pasiektumėte savo failus per WebDAV</a>", - "New" : "Naujas", - "New text file" : "Naujas tekstinis failas", - "Text file" : "Teksto failas", - "New folder" : "Naujas aplankas", - "Folder" : "Katalogas", - "Upload" : "Įkelti", "Cancel upload" : "Atšaukti siuntimą", "No files in here" : "Čia nėra failų", "Upload some content or sync with your devices!" : "Įkelkite kokį nors turinį, arba sinchronizuokite su savo įrenginiais!", diff --git a/apps/files/l10n/lt_LT.json b/apps/files/l10n/lt_LT.json index 65103d0cc03..ee8fb0480c2 100644 --- a/apps/files/l10n/lt_LT.json +++ b/apps/files/l10n/lt_LT.json @@ -34,9 +34,6 @@ "Upload cancelled." : "Įkėlimas atšauktas.", "Could not get result from server." : "Nepavyko gauti rezultato iš serverio.", "File upload is in progress. Leaving the page now will cancel the upload." : "Failo įkėlimas pradėtas. Jei paliksite šį puslapį, įkėlimas nutrūks.", - "{new_name} already exists" : "{new_name} jau egzistuoja", - "Could not create file" : "Neįmanoma sukurti failo", - "Could not create folder" : "Neįmanoma sukurti aplanko", "Actions" : "Veiksmai", "Download" : "Atsisiųsti", "Select" : "Pasirinkiti", @@ -47,7 +44,10 @@ "Error moving file." : "Klaida perkeliant failą.", "Error moving file" : "Klaida perkeliant failą", "Error" : "Klaida", + "{new_name} already exists" : "{new_name} jau egzistuoja", "Could not rename file" : "Neįmanoma pervadinti failo", + "Could not create file" : "Neįmanoma sukurti failo", + "Could not create folder" : "Neįmanoma sukurti aplanko", "Error deleting file." : "Klaida trinant failą.", "No entries in this folder match '{filter}'" : "Nėra įrašų šiame aplanko atitikmeniui „{filter}“", "Name" : "Pavadinimas", @@ -58,6 +58,7 @@ "{dirs} and {files}" : "{dirs} ir {files}", "You don’t have permission to upload or create files here" : "Jūs neturite leidimo čia įkelti arba kurti failus", "_Uploading %n file_::_Uploading %n files_" : ["Įkeliamas %n failas","Įkeliami %n failai","Įkeliama %n failų"], + "New" : "Naujas", "\"{name}\" is an invalid file name." : "„{name}“ yra netinkamas failo pavadinime.", "File name cannot be empty." : "Failo pavadinimas negali būti tuščias.", "Storage of {owner} is full, files can not be updated or synced anymore!" : "{owner} saugykla yra pilna, failai daugiau nebegali būti atnaujinti arba sinchronizuojami!", @@ -67,6 +68,10 @@ "_matches '{filter}'_::_match '{filter}'_" : ["atitikmuo „{filter}“","atitikmenys „{filter}“","atitikmenų „{filter}“"], "Favorited" : "Pažymėta mėgstamu", "Favorite" : "Mėgiamas", + "Upload" : "Įkelti", + "Text file" : "Teksto failas", + "Folder" : "Katalogas", + "New folder" : "Naujas aplankas", "An error occurred while trying to update the tags" : "Bandant atnaujinti žymes įvyko klaida", "A new file or folder has been <strong>created</strong>" : "Naujas failas ar aplankas buvo <strong>sukurtas</strong>", "A file or folder has been <strong>changed</strong>" : "Failas ar aplankas buvo <strong>pakeistas</strong>", @@ -93,12 +98,6 @@ "Settings" : "Nustatymai", "WebDAV" : "WebDAV", "Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Naudokite šį adresą, kad <a href=\"%s\" target=\"_blank\">pasiektumėte savo failus per WebDAV</a>", - "New" : "Naujas", - "New text file" : "Naujas tekstinis failas", - "Text file" : "Teksto failas", - "New folder" : "Naujas aplankas", - "Folder" : "Katalogas", - "Upload" : "Įkelti", "Cancel upload" : "Atšaukti siuntimą", "No files in here" : "Čia nėra failų", "Upload some content or sync with your devices!" : "Įkelkite kokį nors turinį, arba sinchronizuokite su savo įrenginiais!", diff --git a/apps/files/l10n/lv.js b/apps/files/l10n/lv.js index b5963af978b..e86b2d335e7 100644 --- a/apps/files/l10n/lv.js +++ b/apps/files/l10n/lv.js @@ -36,9 +36,6 @@ OC.L10N.register( "Upload cancelled." : "Augšupielāde ir atcelta.", "Could not get result from server." : "Nevar saņemt rezultātus no servera", "File upload is in progress. Leaving the page now will cancel the upload." : "Notiek augšupielāde. Pametot lapu tagad, tiks atcelta augšupielāde.", - "{new_name} already exists" : "{new_name} jau eksistē", - "Could not create file" : "Neizdevās izveidot datni", - "Could not create folder" : "Neizdevās izveidot mapi", "Actions" : "Darbības", "Download" : "Lejupielādēt", "Select" : "Norādīt", @@ -47,7 +44,10 @@ OC.L10N.register( "Error moving file." : "Kļūda, pārvietojot datni.", "Error moving file" : "Kļūda, pārvietojot datni", "Error" : "Kļūda", + "{new_name} already exists" : "{new_name} jau eksistē", "Could not rename file" : "Neizdevās pārsaukt datni", + "Could not create file" : "Neizdevās izveidot datni", + "Could not create folder" : "Neizdevās izveidot mapi", "Error deleting file." : "Kļūda, dzēšot datni.", "No entries in this folder match '{filter}'" : "Šajā mapē nekas nav atrasts, meklējot pēc '{filter}'", "Name" : "Nosaukums", @@ -58,6 +58,7 @@ OC.L10N.register( "{dirs} and {files}" : "{dirs} un {files}", "You don’t have permission to upload or create files here" : "Jums nav tiesību, augšupielādēt vai veidot, šeit datnes", "_Uploading %n file_::_Uploading %n files_" : ["%n","Augšupielāde %n failu","Augšupielāde %n failus"], + "New" : "Jauna", "\"{name}\" is an invalid file name." : "\"{name}\" ir nepareizs datnes nosaukums.", "File name cannot be empty." : "Datnes nosaukums nevar būt tukšs.", "Your storage is full, files can not be updated or synced anymore!" : "Jūsu krātuve ir pilna, datnes vairs nevar augšupielādēt vai sinhronizēt!", @@ -65,6 +66,10 @@ OC.L10N.register( "_matches '{filter}'_::_match '{filter}'_" : ["atrasts pēc '{filter}'","atrasts pēc '{filter}'","atrasti pēc '{filter}'"], "Favorited" : "Favorīti", "Favorite" : "Iecienītais", + "Upload" : "Augšupielādēt", + "Text file" : "Teksta datne", + "Folder" : "Mape", + "New folder" : "Jauna mape", "An error occurred while trying to update the tags" : "Atjaunojot atzīmes notika kļūda", "A new file or folder has been <strong>created</strong>" : "<strong>Izveidots</strong> jauns fails vai mape", "A file or folder has been <strong>changed</strong>" : "<strong>Izmainīts</strong> fails vai mape", @@ -89,12 +94,6 @@ OC.L10N.register( "Settings" : "Iestatījumi", "WebDAV" : "WebDAV", "Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Izmantojot šo adresi, <a href=\"%s\" target=\"_blank\">piekļūstiet saviem failiem, izmantojot WebDAV</a>", - "New" : "Jauna", - "New text file" : "Jauna teksta datne", - "Text file" : "Teksta datne", - "New folder" : "Jauna mape", - "Folder" : "Mape", - "Upload" : "Augšupielādēt", "Cancel upload" : "Atcelt augšupielādi", "Upload some content or sync with your devices!" : "Augšupielādē kaut ko vai sinhronizē saturu ar savām ierīcēm!", "No entries found in this folder" : "Šajā mapē nekas nav atrasts", diff --git a/apps/files/l10n/lv.json b/apps/files/l10n/lv.json index 5e9498ee6f7..7a5a53c1305 100644 --- a/apps/files/l10n/lv.json +++ b/apps/files/l10n/lv.json @@ -34,9 +34,6 @@ "Upload cancelled." : "Augšupielāde ir atcelta.", "Could not get result from server." : "Nevar saņemt rezultātus no servera", "File upload is in progress. Leaving the page now will cancel the upload." : "Notiek augšupielāde. Pametot lapu tagad, tiks atcelta augšupielāde.", - "{new_name} already exists" : "{new_name} jau eksistē", - "Could not create file" : "Neizdevās izveidot datni", - "Could not create folder" : "Neizdevās izveidot mapi", "Actions" : "Darbības", "Download" : "Lejupielādēt", "Select" : "Norādīt", @@ -45,7 +42,10 @@ "Error moving file." : "Kļūda, pārvietojot datni.", "Error moving file" : "Kļūda, pārvietojot datni", "Error" : "Kļūda", + "{new_name} already exists" : "{new_name} jau eksistē", "Could not rename file" : "Neizdevās pārsaukt datni", + "Could not create file" : "Neizdevās izveidot datni", + "Could not create folder" : "Neizdevās izveidot mapi", "Error deleting file." : "Kļūda, dzēšot datni.", "No entries in this folder match '{filter}'" : "Šajā mapē nekas nav atrasts, meklējot pēc '{filter}'", "Name" : "Nosaukums", @@ -56,6 +56,7 @@ "{dirs} and {files}" : "{dirs} un {files}", "You don’t have permission to upload or create files here" : "Jums nav tiesību, augšupielādēt vai veidot, šeit datnes", "_Uploading %n file_::_Uploading %n files_" : ["%n","Augšupielāde %n failu","Augšupielāde %n failus"], + "New" : "Jauna", "\"{name}\" is an invalid file name." : "\"{name}\" ir nepareizs datnes nosaukums.", "File name cannot be empty." : "Datnes nosaukums nevar būt tukšs.", "Your storage is full, files can not be updated or synced anymore!" : "Jūsu krātuve ir pilna, datnes vairs nevar augšupielādēt vai sinhronizēt!", @@ -63,6 +64,10 @@ "_matches '{filter}'_::_match '{filter}'_" : ["atrasts pēc '{filter}'","atrasts pēc '{filter}'","atrasti pēc '{filter}'"], "Favorited" : "Favorīti", "Favorite" : "Iecienītais", + "Upload" : "Augšupielādēt", + "Text file" : "Teksta datne", + "Folder" : "Mape", + "New folder" : "Jauna mape", "An error occurred while trying to update the tags" : "Atjaunojot atzīmes notika kļūda", "A new file or folder has been <strong>created</strong>" : "<strong>Izveidots</strong> jauns fails vai mape", "A file or folder has been <strong>changed</strong>" : "<strong>Izmainīts</strong> fails vai mape", @@ -87,12 +92,6 @@ "Settings" : "Iestatījumi", "WebDAV" : "WebDAV", "Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Izmantojot šo adresi, <a href=\"%s\" target=\"_blank\">piekļūstiet saviem failiem, izmantojot WebDAV</a>", - "New" : "Jauna", - "New text file" : "Jauna teksta datne", - "Text file" : "Teksta datne", - "New folder" : "Jauna mape", - "Folder" : "Mape", - "Upload" : "Augšupielādēt", "Cancel upload" : "Atcelt augšupielādi", "Upload some content or sync with your devices!" : "Augšupielādē kaut ko vai sinhronizē saturu ar savām ierīcēm!", "No entries found in this folder" : "Šajā mapē nekas nav atrasts", diff --git a/apps/files/l10n/mk.js b/apps/files/l10n/mk.js index 6246b5b192b..b9225ac6708 100644 --- a/apps/files/l10n/mk.js +++ b/apps/files/l10n/mk.js @@ -26,23 +26,28 @@ OC.L10N.register( "Upload cancelled." : "Преземањето е прекинато.", "Could not get result from server." : "Не можам да добијам резултат од серверот.", "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" : "Не можам да креирам папка", "Actions" : "Акции", "Download" : "Преземи", "Select" : "Избери", "Pending" : "Чека", "Error moving file" : "Грешка при префрлање на датотека", "Error" : "Грешка", + "{new_name} already exists" : "{new_name} веќе постои", "Could not rename file" : "Не можам да ја преименувам датотеката", + "Could not create file" : "Не множам да креирам датотека", + "Could not create folder" : "Не можам да креирам папка", "Name" : "Име", "Size" : "Големина", "Modified" : "Променето", "{dirs} and {files}" : "{dirs} и {files}", + "New" : "Ново", "File name cannot be empty." : "Името на датотеката не може да биде празно.", "Your storage is full, files can not be updated or synced anymore!" : "Вашиот сториџ е полн, датотеките веќе не можат да се освежуваат или синхронизираат!", "Your storage is almost full ({usedSpacePercent}%)" : "Вашиот сториџ е скоро полн ({usedSpacePercent}%)", + "Upload" : "Подигни", + "Text file" : "Текстуална датотека", + "Folder" : "Папка", + "New folder" : "Нова папка", "You created %1$s" : "Вие креиравте %1$s", "%2$s created %1$s" : "%2$s креирано %1$s", "You changed %1$s" : "Вие изменивте %1$s", @@ -57,11 +62,6 @@ OC.L10N.register( "Save" : "Сними", "Settings" : "Подесувања", "WebDAV" : "WebDAV", - "New" : "Ново", - "Text file" : "Текстуална датотека", - "New folder" : "Нова папка", - "Folder" : "Папка", - "Upload" : "Подигни", "Cancel upload" : "Откажи прикачување", "Delete" : "Избриши", "Upload too large" : "Фајлот кој се вчитува е преголем", diff --git a/apps/files/l10n/mk.json b/apps/files/l10n/mk.json index 9ad1ea0706c..e6ce76ecb45 100644 --- a/apps/files/l10n/mk.json +++ b/apps/files/l10n/mk.json @@ -24,23 +24,28 @@ "Upload cancelled." : "Преземањето е прекинато.", "Could not get result from server." : "Не можам да добијам резултат од серверот.", "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" : "Не можам да креирам папка", "Actions" : "Акции", "Download" : "Преземи", "Select" : "Избери", "Pending" : "Чека", "Error moving file" : "Грешка при префрлање на датотека", "Error" : "Грешка", + "{new_name} already exists" : "{new_name} веќе постои", "Could not rename file" : "Не можам да ја преименувам датотеката", + "Could not create file" : "Не множам да креирам датотека", + "Could not create folder" : "Не можам да креирам папка", "Name" : "Име", "Size" : "Големина", "Modified" : "Променето", "{dirs} and {files}" : "{dirs} и {files}", + "New" : "Ново", "File name cannot be empty." : "Името на датотеката не може да биде празно.", "Your storage is full, files can not be updated or synced anymore!" : "Вашиот сториџ е полн, датотеките веќе не можат да се освежуваат или синхронизираат!", "Your storage is almost full ({usedSpacePercent}%)" : "Вашиот сториџ е скоро полн ({usedSpacePercent}%)", + "Upload" : "Подигни", + "Text file" : "Текстуална датотека", + "Folder" : "Папка", + "New folder" : "Нова папка", "You created %1$s" : "Вие креиравте %1$s", "%2$s created %1$s" : "%2$s креирано %1$s", "You changed %1$s" : "Вие изменивте %1$s", @@ -55,11 +60,6 @@ "Save" : "Сними", "Settings" : "Подесувања", "WebDAV" : "WebDAV", - "New" : "Ново", - "Text file" : "Текстуална датотека", - "New folder" : "Нова папка", - "Folder" : "Папка", - "Upload" : "Подигни", "Cancel upload" : "Откажи прикачување", "Delete" : "Избриши", "Upload too large" : "Фајлот кој се вчитува е преголем", diff --git a/apps/files/l10n/mn.js b/apps/files/l10n/mn.js index d55fa0c2b29..994f002b48c 100644 --- a/apps/files/l10n/mn.js +++ b/apps/files/l10n/mn.js @@ -2,6 +2,7 @@ OC.L10N.register( "files", { "Files" : "Файлууд", + "Upload" : "Байршуулах", "A new file or folder has been <strong>created</strong>" : "Файл эсвэл хавтас амжилттай <strong>үүсгэгдлээ</strong>", "A file or folder has been <strong>changed</strong>" : "Файл эсвэл хавтас амжилттай <strong>солигдлоо</strong>", "A file or folder has been <strong>deleted</strong>" : "Файл эсвэл хавтас амжилттай <strong>устгагдлаа</strong>", @@ -16,7 +17,6 @@ OC.L10N.register( "You restored %1$s" : "Та %1$s-ийг сэргээлээ", "%2$s restored %1$s" : "%2$s %1$s-ийг сэргээлээ", "Save" : "Хадгалах", - "Settings" : "Тохиргоо", - "Upload" : "Байршуулах" + "Settings" : "Тохиргоо" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/files/l10n/mn.json b/apps/files/l10n/mn.json index d2ff8f5fa4a..f1b58c7e13f 100644 --- a/apps/files/l10n/mn.json +++ b/apps/files/l10n/mn.json @@ -1,5 +1,6 @@ { "translations": { "Files" : "Файлууд", + "Upload" : "Байршуулах", "A new file or folder has been <strong>created</strong>" : "Файл эсвэл хавтас амжилттай <strong>үүсгэгдлээ</strong>", "A file or folder has been <strong>changed</strong>" : "Файл эсвэл хавтас амжилттай <strong>солигдлоо</strong>", "A file or folder has been <strong>deleted</strong>" : "Файл эсвэл хавтас амжилттай <strong>устгагдлаа</strong>", @@ -14,7 +15,6 @@ "You restored %1$s" : "Та %1$s-ийг сэргээлээ", "%2$s restored %1$s" : "%2$s %1$s-ийг сэргээлээ", "Save" : "Хадгалах", - "Settings" : "Тохиргоо", - "Upload" : "Байршуулах" + "Settings" : "Тохиргоо" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/files/l10n/ms_MY.js b/apps/files/l10n/ms_MY.js index bffc265c0fe..0bbbe400b28 100644 --- a/apps/files/l10n/ms_MY.js +++ b/apps/files/l10n/ms_MY.js @@ -18,6 +18,10 @@ OC.L10N.register( "Name" : "Nama", "Size" : "Saiz", "Modified" : "Dimodifikasi", + "New" : "Baru", + "Upload" : "Muat naik", + "Text file" : "Fail teks", + "Folder" : "Folder", "You created %1$s" : "Anda telah membina %1$s", "%2$s created %1$s" : "%2$s membina %1$s", "You changed %1$s" : "Anda menukar %1$s", @@ -26,10 +30,6 @@ OC.L10N.register( "max. possible: " : "maksimum:", "Save" : "Simpan", "Settings" : "Tetapan", - "New" : "Baru", - "Text file" : "Fail teks", - "Folder" : "Folder", - "Upload" : "Muat naik", "Cancel upload" : "Batal muat naik", "Delete" : "Padam", "Upload too large" : "Muatnaik terlalu besar", diff --git a/apps/files/l10n/ms_MY.json b/apps/files/l10n/ms_MY.json index 30b8777b035..071fab23194 100644 --- a/apps/files/l10n/ms_MY.json +++ b/apps/files/l10n/ms_MY.json @@ -16,6 +16,10 @@ "Name" : "Nama", "Size" : "Saiz", "Modified" : "Dimodifikasi", + "New" : "Baru", + "Upload" : "Muat naik", + "Text file" : "Fail teks", + "Folder" : "Folder", "You created %1$s" : "Anda telah membina %1$s", "%2$s created %1$s" : "%2$s membina %1$s", "You changed %1$s" : "Anda menukar %1$s", @@ -24,10 +28,6 @@ "max. possible: " : "maksimum:", "Save" : "Simpan", "Settings" : "Tetapan", - "New" : "Baru", - "Text file" : "Fail teks", - "Folder" : "Folder", - "Upload" : "Muat naik", "Cancel upload" : "Batal muat naik", "Delete" : "Padam", "Upload too large" : "Muatnaik terlalu besar", diff --git a/apps/files/l10n/nb_NO.js b/apps/files/l10n/nb_NO.js index 2dec11dd26a..c91f212cf23 100644 --- a/apps/files/l10n/nb_NO.js +++ b/apps/files/l10n/nb_NO.js @@ -36,9 +36,6 @@ OC.L10N.register( "Upload cancelled." : "Opplasting avbrutt.", "Could not get result from server." : "Fikk ikke resultat fra serveren.", "File upload is in progress. Leaving the page now will cancel the upload." : "Filopplasting pågår. Forlater du siden nå avbrytes opplastingen.", - "{new_name} already exists" : "{new_name} finnes allerede", - "Could not create file" : "Klarte ikke å opprette fil", - "Could not create folder" : "Klarte ikke å opprette mappe", "Actions" : "Handlinger", "Download" : "Last ned", "Select" : "Velg", @@ -49,7 +46,10 @@ OC.L10N.register( "Error moving file." : "Feil ved flytting av fil.", "Error moving file" : "Feil ved flytting av fil", "Error" : "Feil", + "{new_name} already exists" : "{new_name} finnes allerede", "Could not rename file" : "Klarte ikke å gi nytt navn til fil", + "Could not create file" : "Klarte ikke å opprette fil", + "Could not create folder" : "Klarte ikke å opprette mappe", "Error deleting file." : "Feil ved sletting av fil.", "No entries in this folder match '{filter}'" : "Ingen oppføringer i denne mappen stemmer med '{filter}'", "Name" : "Navn", @@ -60,6 +60,7 @@ OC.L10N.register( "{dirs} and {files}" : "{dirs} og {files}", "You don’t have permission to upload or create files here" : "Du har ikke tillatelse til å laste opp eller opprette filer her", "_Uploading %n file_::_Uploading %n files_" : ["Laster opp %n fil","Laster opp %n filer"], + "New" : "Ny", "\"{name}\" is an invalid file name." : "\"{name}\" er et uglydig filnavn.", "File name cannot be empty." : "Filnavn kan ikke være tomt.", "Storage of {owner} is full, files can not be updated or synced anymore!" : "Lagringsplass for {owner} er full, filer kan ikke oppdateres eller synkroniseres lenger!", @@ -67,8 +68,16 @@ OC.L10N.register( "Storage of {owner} is almost full ({usedSpacePercent}%)" : "Lagringsplass for {owner} er nesten full ({usedSpacePercent}%)", "Your storage is almost full ({usedSpacePercent}%)" : "Lagringsplass er nesten brukt opp ([usedSpacePercent}%)", "_matches '{filter}'_::_match '{filter}'_" : [" stemmer med '{filter}'"," stemmer med '{filter}'"], + "Path" : "Sti", + "_%n byte_::_%n bytes_" : ["%n byte","%n bytes"], "Favorited" : "Er favoritt", "Favorite" : "Gjør til favoritt", + "{newname} already exists" : "{newname} finnes allerede", + "Upload" : "Last opp", + "Text file" : "Tekstfil", + "New text file.txt" : "Ny tekstfil.txt", + "Folder" : "Mappe", + "New folder" : "Ny mappe", "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>", @@ -90,17 +99,12 @@ OC.L10N.register( "File handling" : "Filhåndtering", "Maximum upload size" : "Største opplastingsstørrelse", "max. possible: " : "max. mulige:", + "With PHP-FPM this value may take up to 5 minutes to take effect after saving." : "Med PHP-FPM kan det ta inntil 5 minutter fra denne verdien lagres til den trer i kraft.", "Save" : "Lagre", "Can not be edited from here due to insufficient permissions." : "Kan ikke redigeres her pga. manglende rettigheter.", "Settings" : "Innstillinger", "WebDAV" : "WebDAV", "Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Bruk denne adressen for å <a href=\"%s\" target=\"_blank\">få tilgang til filene dine via WebDAV</a>", - "New" : "Ny", - "New text file" : "Ny tekstfil", - "Text file" : "Tekstfil", - "New folder" : "Ny mappe", - "Folder" : "Mappe", - "Upload" : "Last opp", "Cancel upload" : "Avbryt opplasting", "No files in here" : "Ingen filer her", "Upload some content or sync with your devices!" : "Last opp noe innhold eller synkroniser med enhetene dine!", diff --git a/apps/files/l10n/nb_NO.json b/apps/files/l10n/nb_NO.json index f5adc80f138..cd476ef3bcf 100644 --- a/apps/files/l10n/nb_NO.json +++ b/apps/files/l10n/nb_NO.json @@ -34,9 +34,6 @@ "Upload cancelled." : "Opplasting avbrutt.", "Could not get result from server." : "Fikk ikke resultat fra serveren.", "File upload is in progress. Leaving the page now will cancel the upload." : "Filopplasting pågår. Forlater du siden nå avbrytes opplastingen.", - "{new_name} already exists" : "{new_name} finnes allerede", - "Could not create file" : "Klarte ikke å opprette fil", - "Could not create folder" : "Klarte ikke å opprette mappe", "Actions" : "Handlinger", "Download" : "Last ned", "Select" : "Velg", @@ -47,7 +44,10 @@ "Error moving file." : "Feil ved flytting av fil.", "Error moving file" : "Feil ved flytting av fil", "Error" : "Feil", + "{new_name} already exists" : "{new_name} finnes allerede", "Could not rename file" : "Klarte ikke å gi nytt navn til fil", + "Could not create file" : "Klarte ikke å opprette fil", + "Could not create folder" : "Klarte ikke å opprette mappe", "Error deleting file." : "Feil ved sletting av fil.", "No entries in this folder match '{filter}'" : "Ingen oppføringer i denne mappen stemmer med '{filter}'", "Name" : "Navn", @@ -58,6 +58,7 @@ "{dirs} and {files}" : "{dirs} og {files}", "You don’t have permission to upload or create files here" : "Du har ikke tillatelse til å laste opp eller opprette filer her", "_Uploading %n file_::_Uploading %n files_" : ["Laster opp %n fil","Laster opp %n filer"], + "New" : "Ny", "\"{name}\" is an invalid file name." : "\"{name}\" er et uglydig filnavn.", "File name cannot be empty." : "Filnavn kan ikke være tomt.", "Storage of {owner} is full, files can not be updated or synced anymore!" : "Lagringsplass for {owner} er full, filer kan ikke oppdateres eller synkroniseres lenger!", @@ -65,8 +66,16 @@ "Storage of {owner} is almost full ({usedSpacePercent}%)" : "Lagringsplass for {owner} er nesten full ({usedSpacePercent}%)", "Your storage is almost full ({usedSpacePercent}%)" : "Lagringsplass er nesten brukt opp ([usedSpacePercent}%)", "_matches '{filter}'_::_match '{filter}'_" : [" stemmer med '{filter}'"," stemmer med '{filter}'"], + "Path" : "Sti", + "_%n byte_::_%n bytes_" : ["%n byte","%n bytes"], "Favorited" : "Er favoritt", "Favorite" : "Gjør til favoritt", + "{newname} already exists" : "{newname} finnes allerede", + "Upload" : "Last opp", + "Text file" : "Tekstfil", + "New text file.txt" : "Ny tekstfil.txt", + "Folder" : "Mappe", + "New folder" : "Ny mappe", "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>", @@ -88,17 +97,12 @@ "File handling" : "Filhåndtering", "Maximum upload size" : "Største opplastingsstørrelse", "max. possible: " : "max. mulige:", + "With PHP-FPM this value may take up to 5 minutes to take effect after saving." : "Med PHP-FPM kan det ta inntil 5 minutter fra denne verdien lagres til den trer i kraft.", "Save" : "Lagre", "Can not be edited from here due to insufficient permissions." : "Kan ikke redigeres her pga. manglende rettigheter.", "Settings" : "Innstillinger", "WebDAV" : "WebDAV", "Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Bruk denne adressen for å <a href=\"%s\" target=\"_blank\">få tilgang til filene dine via WebDAV</a>", - "New" : "Ny", - "New text file" : "Ny tekstfil", - "Text file" : "Tekstfil", - "New folder" : "Ny mappe", - "Folder" : "Mappe", - "Upload" : "Last opp", "Cancel upload" : "Avbryt opplasting", "No files in here" : "Ingen filer her", "Upload some content or sync with your devices!" : "Last opp noe innhold eller synkroniser med enhetene dine!", diff --git a/apps/files/l10n/nl.js b/apps/files/l10n/nl.js index 8392da4c2eb..3470d011dc6 100644 --- a/apps/files/l10n/nl.js +++ b/apps/files/l10n/nl.js @@ -36,9 +36,6 @@ OC.L10N.register( "Upload cancelled." : "Uploaden geannuleerd.", "Could not get result from server." : "Kon het resultaat van de server niet terugkrijgen.", "File upload is in progress. Leaving the page now will cancel the upload." : "Bestandsupload is bezig. Wanneer de pagina nu verlaten wordt, stopt de upload.", - "{new_name} already exists" : "{new_name} bestaat al", - "Could not create file" : "Kon bestand niet creëren", - "Could not create folder" : "Kon niet creëren map", "Actions" : "Acties", "Download" : "Downloaden", "Select" : "Selecteer", @@ -49,7 +46,10 @@ OC.L10N.register( "Error moving file." : "Fout bij verplaatsen bestand.", "Error moving file" : "Fout bij verplaatsen bestand", "Error" : "Fout", + "{new_name} already exists" : "{new_name} bestaat al", "Could not rename file" : "Kon de naam van het bestand niet wijzigen", + "Could not create file" : "Kon bestand niet creëren", + "Could not create folder" : "Kon niet creëren map", "Error deleting file." : "Fout bij verwijderen bestand.", "No entries in this folder match '{filter}'" : "Niets in deze map komt overeen met '{filter}'", "Name" : "Naam", @@ -59,6 +59,7 @@ OC.L10N.register( "{dirs} and {files}" : "{dirs} en {files}", "You don’t have permission to upload or create files here" : "U hebt geen toestemming om hier te uploaden of bestanden te maken", "_Uploading %n file_::_Uploading %n files_" : ["%n bestand aan het uploaden","%n bestanden aan het uploaden"], + "New" : "Nieuw", "\"{name}\" is an invalid file name." : "\"{name}\" is een ongeldige bestandsnaam.", "File name cannot be empty." : "Bestandsnaam kan niet leeg zijn.", "Storage of {owner} is full, files can not be updated or synced anymore!" : "Opslagruimte van {owner} zit vol, bestanden kunnen niet meer worden ge-upload of gesynchroniseerd!", @@ -70,6 +71,12 @@ OC.L10N.register( "_%n byte_::_%n bytes_" : ["%n byte","%n bytes"], "Favorited" : "Favoriet", "Favorite" : "Favoriet", + "{newname} already exists" : "{newname} bestaat al", + "Upload" : "Uploaden", + "Text file" : "Tekstbestand", + "New text file.txt" : "Nieuw tekstbestand.txt", + "Folder" : "Map", + "New folder" : "Nieuwe map", "An error occurred while trying to update the tags" : "Er trad een fout op bij uw poging de tags bij te werken", "A new file or folder has been <strong>created</strong>" : "Een nieuw bestand of map is <strong>aangemaakt</strong>", "A file or folder has been <strong>changed</strong>" : "Een bestand of map is <strong>gewijzigd</strong>", @@ -97,12 +104,6 @@ OC.L10N.register( "Settings" : "Instellingen", "WebDAV" : "WebDAV", "Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Gebruik deze link <a href=\"%s\" target=\"_blank\">om uw bestanden via WebDAV te benaderen</a>", - "New" : "Nieuw", - "New text file" : "Nieuw tekstbestand", - "Text file" : "Tekstbestand", - "New folder" : "Nieuwe map", - "Folder" : "Map", - "Upload" : "Uploaden", "Cancel upload" : "Upload afbreken", "No files in here" : "Hier geen bestanden", "Upload some content or sync with your devices!" : "Upload bestanden of synchroniseer met uw apparaten!", diff --git a/apps/files/l10n/nl.json b/apps/files/l10n/nl.json index 532905c9c4a..04c0b7916b5 100644 --- a/apps/files/l10n/nl.json +++ b/apps/files/l10n/nl.json @@ -34,9 +34,6 @@ "Upload cancelled." : "Uploaden geannuleerd.", "Could not get result from server." : "Kon het resultaat van de server niet terugkrijgen.", "File upload is in progress. Leaving the page now will cancel the upload." : "Bestandsupload is bezig. Wanneer de pagina nu verlaten wordt, stopt de upload.", - "{new_name} already exists" : "{new_name} bestaat al", - "Could not create file" : "Kon bestand niet creëren", - "Could not create folder" : "Kon niet creëren map", "Actions" : "Acties", "Download" : "Downloaden", "Select" : "Selecteer", @@ -47,7 +44,10 @@ "Error moving file." : "Fout bij verplaatsen bestand.", "Error moving file" : "Fout bij verplaatsen bestand", "Error" : "Fout", + "{new_name} already exists" : "{new_name} bestaat al", "Could not rename file" : "Kon de naam van het bestand niet wijzigen", + "Could not create file" : "Kon bestand niet creëren", + "Could not create folder" : "Kon niet creëren map", "Error deleting file." : "Fout bij verwijderen bestand.", "No entries in this folder match '{filter}'" : "Niets in deze map komt overeen met '{filter}'", "Name" : "Naam", @@ -57,6 +57,7 @@ "{dirs} and {files}" : "{dirs} en {files}", "You don’t have permission to upload or create files here" : "U hebt geen toestemming om hier te uploaden of bestanden te maken", "_Uploading %n file_::_Uploading %n files_" : ["%n bestand aan het uploaden","%n bestanden aan het uploaden"], + "New" : "Nieuw", "\"{name}\" is an invalid file name." : "\"{name}\" is een ongeldige bestandsnaam.", "File name cannot be empty." : "Bestandsnaam kan niet leeg zijn.", "Storage of {owner} is full, files can not be updated or synced anymore!" : "Opslagruimte van {owner} zit vol, bestanden kunnen niet meer worden ge-upload of gesynchroniseerd!", @@ -68,6 +69,12 @@ "_%n byte_::_%n bytes_" : ["%n byte","%n bytes"], "Favorited" : "Favoriet", "Favorite" : "Favoriet", + "{newname} already exists" : "{newname} bestaat al", + "Upload" : "Uploaden", + "Text file" : "Tekstbestand", + "New text file.txt" : "Nieuw tekstbestand.txt", + "Folder" : "Map", + "New folder" : "Nieuwe map", "An error occurred while trying to update the tags" : "Er trad een fout op bij uw poging de tags bij te werken", "A new file or folder has been <strong>created</strong>" : "Een nieuw bestand of map is <strong>aangemaakt</strong>", "A file or folder has been <strong>changed</strong>" : "Een bestand of map is <strong>gewijzigd</strong>", @@ -95,12 +102,6 @@ "Settings" : "Instellingen", "WebDAV" : "WebDAV", "Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Gebruik deze link <a href=\"%s\" target=\"_blank\">om uw bestanden via WebDAV te benaderen</a>", - "New" : "Nieuw", - "New text file" : "Nieuw tekstbestand", - "Text file" : "Tekstbestand", - "New folder" : "Nieuwe map", - "Folder" : "Map", - "Upload" : "Uploaden", "Cancel upload" : "Upload afbreken", "No files in here" : "Hier geen bestanden", "Upload some content or sync with your devices!" : "Upload bestanden of synchroniseer met uw apparaten!", diff --git a/apps/files/l10n/nn_NO.js b/apps/files/l10n/nn_NO.js index b7523a465d9..cc993f5ca6d 100644 --- a/apps/files/l10n/nn_NO.js +++ b/apps/files/l10n/nn_NO.js @@ -26,12 +26,12 @@ OC.L10N.register( "Upload cancelled." : "Opplasting avbroten.", "Could not get result from server." : "Klarte ikkje å henta resultat frå tenaren.", "File upload is in progress. Leaving the page now will cancel the upload." : "Fila lastar no opp. Viss du forlèt sida no vil opplastinga verta avbroten.", - "{new_name} already exists" : "{new_name} finst allereie", "Actions" : "Handlingar", "Download" : "Last ned", "Pending" : "Under vegs", "Error moving file" : "Feil ved flytting av fil", "Error" : "Feil", + "{new_name} already exists" : "{new_name} finst allereie", "Name" : "Namn", "Size" : "Storleik", "Modified" : "Endra", @@ -39,10 +39,15 @@ OC.L10N.register( "_%n file_::_%n files_" : ["%n fil","%n filer"], "{dirs} and {files}" : "{dirs} og {files}", "_Uploading %n file_::_Uploading %n files_" : ["Lastar opp %n fil","Lastar opp %n filer"], + "New" : "Ny", "File name cannot be empty." : "Filnamnet kan ikkje vera tomt.", "Your storage is full, files can not be updated or synced anymore!" : "Lagringa di er full, kan ikkje lenger oppdatera eller synkronisera!", "Your storage is almost full ({usedSpacePercent}%)" : "Lagringa di er nesten full ({usedSpacePercent} %)", "Favorite" : "Favoritt", + "Upload" : "Last opp", + "Text file" : "Tekst fil", + "Folder" : "Mappe", + "New folder" : "Ny mappe", "A new file or folder has been <strong>created</strong>" : "Ei ny fil eller mappe er <strong>oppretta</strong>", "A file or folder has been <strong>changed</strong>" : "Ei fil eller mappe er <strong>endra</strong>", "A file or folder has been <strong>deleted</strong>" : "Ei fil eller mappe er <strong>sletta</strong>", @@ -60,11 +65,6 @@ OC.L10N.register( "Save" : "Lagre", "Settings" : "Innstillingar", "WebDAV" : "WebDAV", - "New" : "Ny", - "Text file" : "Tekst fil", - "New folder" : "Ny mappe", - "Folder" : "Mappe", - "Upload" : "Last opp", "Cancel upload" : "Avbryt opplasting", "Delete" : "Slett", "Upload too large" : "For stor opplasting", diff --git a/apps/files/l10n/nn_NO.json b/apps/files/l10n/nn_NO.json index 05bef4cb9d2..62d1cfb2c50 100644 --- a/apps/files/l10n/nn_NO.json +++ b/apps/files/l10n/nn_NO.json @@ -24,12 +24,12 @@ "Upload cancelled." : "Opplasting avbroten.", "Could not get result from server." : "Klarte ikkje å henta resultat frå tenaren.", "File upload is in progress. Leaving the page now will cancel the upload." : "Fila lastar no opp. Viss du forlèt sida no vil opplastinga verta avbroten.", - "{new_name} already exists" : "{new_name} finst allereie", "Actions" : "Handlingar", "Download" : "Last ned", "Pending" : "Under vegs", "Error moving file" : "Feil ved flytting av fil", "Error" : "Feil", + "{new_name} already exists" : "{new_name} finst allereie", "Name" : "Namn", "Size" : "Storleik", "Modified" : "Endra", @@ -37,10 +37,15 @@ "_%n file_::_%n files_" : ["%n fil","%n filer"], "{dirs} and {files}" : "{dirs} og {files}", "_Uploading %n file_::_Uploading %n files_" : ["Lastar opp %n fil","Lastar opp %n filer"], + "New" : "Ny", "File name cannot be empty." : "Filnamnet kan ikkje vera tomt.", "Your storage is full, files can not be updated or synced anymore!" : "Lagringa di er full, kan ikkje lenger oppdatera eller synkronisera!", "Your storage is almost full ({usedSpacePercent}%)" : "Lagringa di er nesten full ({usedSpacePercent} %)", "Favorite" : "Favoritt", + "Upload" : "Last opp", + "Text file" : "Tekst fil", + "Folder" : "Mappe", + "New folder" : "Ny mappe", "A new file or folder has been <strong>created</strong>" : "Ei ny fil eller mappe er <strong>oppretta</strong>", "A file or folder has been <strong>changed</strong>" : "Ei fil eller mappe er <strong>endra</strong>", "A file or folder has been <strong>deleted</strong>" : "Ei fil eller mappe er <strong>sletta</strong>", @@ -58,11 +63,6 @@ "Save" : "Lagre", "Settings" : "Innstillingar", "WebDAV" : "WebDAV", - "New" : "Ny", - "Text file" : "Tekst fil", - "New folder" : "Ny mappe", - "Folder" : "Mappe", - "Upload" : "Last opp", "Cancel upload" : "Avbryt opplasting", "Delete" : "Slett", "Upload too large" : "For stor opplasting", diff --git a/apps/files/l10n/oc.js b/apps/files/l10n/oc.js index a362dde52be..75bceacac3b 100644 --- a/apps/files/l10n/oc.js +++ b/apps/files/l10n/oc.js @@ -36,9 +36,6 @@ OC.L10N.register( "Upload cancelled." : "Mandadís anullat.", "Could not get result from server." : "Pòt pas recebre los resultats del servidor.", "File upload is in progress. Leaving the page now will cancel the upload." : "Lo mandadís del fichièr es en cors. Quitar aquesta pagina ara anullarà lo mandadís del fichièr.", - "{new_name} already exists" : "{new_name} existís ja", - "Could not create file" : "Impossible de crear lo fichièr", - "Could not create folder" : "Impossible de crear lo dorsièr", "Actions" : "Accions", "Download" : "Telecargar", "Select" : "Seleccionar", @@ -47,7 +44,10 @@ OC.L10N.register( "Error moving file." : "Error al moment del desplaçament del fichièr.", "Error moving file" : "Error al moment del desplaçament del fichièr", "Error" : "Error", + "{new_name} already exists" : "{new_name} existís ja", "Could not rename file" : "Impossible de renomenar lo fichièr", + "Could not create file" : "Impossible de crear lo fichièr", + "Could not create folder" : "Impossible de crear lo dorsièr", "Error deleting file." : "Error pendent la supression del fichièr.", "No entries in this folder match '{filter}'" : "Cap d'entrada d'aqueste dorsièr correspond pas a '{filter}'", "Name" : "Nom", @@ -58,6 +58,7 @@ OC.L10N.register( "{dirs} and {files}" : "{dirs} e {files}", "You don’t have permission to upload or create files here" : "Avètz pas la permission d'apondre de fichièrs aicí", "_Uploading %n file_::_Uploading %n files_" : ["Mandadís de %n fichièr","Mandadís de %n fichièrs"], + "New" : "Novèl", "\"{name}\" is an invalid file name." : "\"{name}\" es pas un nom de fichièr valid.", "File name cannot be empty." : "Lo nom de fichièr pòt pas èsser void.", "Your storage is full, files can not be updated or synced anymore!" : "Vòstre espaci d'emmagazinatge es plen, los fichièrs pòdon pas mai èsser aponduts o sincronizats !", @@ -65,6 +66,10 @@ OC.L10N.register( "_matches '{filter}'_::_match '{filter}'_" : ["correspond a '{filter}'","correspondon a '{filter}'"], "Favorited" : "Marcat coma favorit", "Favorite" : "Favorit", + "Upload" : "Cargament", + "Text file" : "Fichièr tèxte", + "Folder" : "Dorsièr", + "New folder" : "Novèl dorsièr", "An error occurred while trying to update the tags" : "Una error s'es produsida al moment de la mesa a jorn de las etiquetas", "A new file or folder has been <strong>created</strong>" : "Un novèl fichièr o repertòri es estat <strong>creat</strong>", "A file or folder has been <strong>changed</strong>" : "Un fichièr o un repertòri es estat <strong>modificat</strong>", @@ -91,12 +96,6 @@ OC.L10N.register( "Settings" : "Paramètres", "WebDAV" : "WebDAV", "Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Utilizatz aquesta adreça per <a href=\"%s\" target=\"_blank\">accedir a vòstres fichièrs per WebDAV</a>", - "New" : "Novèl", - "New text file" : "Novèl fichièr tèxte", - "Text file" : "Fichièr tèxte", - "New folder" : "Novèl dorsièr", - "Folder" : "Dorsièr", - "Upload" : "Cargament", "Cancel upload" : "Anullar lo mandadís", "No files in here" : "Pas cap de fichièr aicí", "Upload some content or sync with your devices!" : "Depausatz de contengut o sincronizatz vòstres aparelhs !", diff --git a/apps/files/l10n/oc.json b/apps/files/l10n/oc.json index 3b89728ce9c..20b690a2ed8 100644 --- a/apps/files/l10n/oc.json +++ b/apps/files/l10n/oc.json @@ -34,9 +34,6 @@ "Upload cancelled." : "Mandadís anullat.", "Could not get result from server." : "Pòt pas recebre los resultats del servidor.", "File upload is in progress. Leaving the page now will cancel the upload." : "Lo mandadís del fichièr es en cors. Quitar aquesta pagina ara anullarà lo mandadís del fichièr.", - "{new_name} already exists" : "{new_name} existís ja", - "Could not create file" : "Impossible de crear lo fichièr", - "Could not create folder" : "Impossible de crear lo dorsièr", "Actions" : "Accions", "Download" : "Telecargar", "Select" : "Seleccionar", @@ -45,7 +42,10 @@ "Error moving file." : "Error al moment del desplaçament del fichièr.", "Error moving file" : "Error al moment del desplaçament del fichièr", "Error" : "Error", + "{new_name} already exists" : "{new_name} existís ja", "Could not rename file" : "Impossible de renomenar lo fichièr", + "Could not create file" : "Impossible de crear lo fichièr", + "Could not create folder" : "Impossible de crear lo dorsièr", "Error deleting file." : "Error pendent la supression del fichièr.", "No entries in this folder match '{filter}'" : "Cap d'entrada d'aqueste dorsièr correspond pas a '{filter}'", "Name" : "Nom", @@ -56,6 +56,7 @@ "{dirs} and {files}" : "{dirs} e {files}", "You don’t have permission to upload or create files here" : "Avètz pas la permission d'apondre de fichièrs aicí", "_Uploading %n file_::_Uploading %n files_" : ["Mandadís de %n fichièr","Mandadís de %n fichièrs"], + "New" : "Novèl", "\"{name}\" is an invalid file name." : "\"{name}\" es pas un nom de fichièr valid.", "File name cannot be empty." : "Lo nom de fichièr pòt pas èsser void.", "Your storage is full, files can not be updated or synced anymore!" : "Vòstre espaci d'emmagazinatge es plen, los fichièrs pòdon pas mai èsser aponduts o sincronizats !", @@ -63,6 +64,10 @@ "_matches '{filter}'_::_match '{filter}'_" : ["correspond a '{filter}'","correspondon a '{filter}'"], "Favorited" : "Marcat coma favorit", "Favorite" : "Favorit", + "Upload" : "Cargament", + "Text file" : "Fichièr tèxte", + "Folder" : "Dorsièr", + "New folder" : "Novèl dorsièr", "An error occurred while trying to update the tags" : "Una error s'es produsida al moment de la mesa a jorn de las etiquetas", "A new file or folder has been <strong>created</strong>" : "Un novèl fichièr o repertòri es estat <strong>creat</strong>", "A file or folder has been <strong>changed</strong>" : "Un fichièr o un repertòri es estat <strong>modificat</strong>", @@ -89,12 +94,6 @@ "Settings" : "Paramètres", "WebDAV" : "WebDAV", "Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Utilizatz aquesta adreça per <a href=\"%s\" target=\"_blank\">accedir a vòstres fichièrs per WebDAV</a>", - "New" : "Novèl", - "New text file" : "Novèl fichièr tèxte", - "Text file" : "Fichièr tèxte", - "New folder" : "Novèl dorsièr", - "Folder" : "Dorsièr", - "Upload" : "Cargament", "Cancel upload" : "Anullar lo mandadís", "No files in here" : "Pas cap de fichièr aicí", "Upload some content or sync with your devices!" : "Depausatz de contengut o sincronizatz vòstres aparelhs !", diff --git a/apps/files/l10n/pa.js b/apps/files/l10n/pa.js index 8f7fafa6e32..c92f4473ccb 100644 --- a/apps/files/l10n/pa.js +++ b/apps/files/l10n/pa.js @@ -5,8 +5,8 @@ OC.L10N.register( "Files" : "ਫਾਇਲਾਂ", "Download" : "ਡਾਊਨਲੋਡ", "Error" : "ਗਲਤੀ", - "Settings" : "ਸੈਟਿੰਗ", "Upload" : "ਅੱਪਲੋਡ", + "Settings" : "ਸੈਟਿੰਗ", "Cancel upload" : "ਅੱਪਲੋਡ ਰੱਦ ਕਰੋ", "Delete" : "ਹਟਾਓ" }, diff --git a/apps/files/l10n/pa.json b/apps/files/l10n/pa.json index b14ece73520..438a0cdb313 100644 --- a/apps/files/l10n/pa.json +++ b/apps/files/l10n/pa.json @@ -3,8 +3,8 @@ "Files" : "ਫਾਇਲਾਂ", "Download" : "ਡਾਊਨਲੋਡ", "Error" : "ਗਲਤੀ", - "Settings" : "ਸੈਟਿੰਗ", "Upload" : "ਅੱਪਲੋਡ", + "Settings" : "ਸੈਟਿੰਗ", "Cancel upload" : "ਅੱਪਲੋਡ ਰੱਦ ਕਰੋ", "Delete" : "ਹਟਾਓ" },"pluralForm" :"nplurals=2; plural=(n != 1);" diff --git a/apps/files/l10n/pl.js b/apps/files/l10n/pl.js index 28ffe4444e8..c64f9c97d60 100644 --- a/apps/files/l10n/pl.js +++ b/apps/files/l10n/pl.js @@ -36,9 +36,6 @@ OC.L10N.register( "Upload cancelled." : "Wczytywanie anulowane.", "Could not get result from server." : "Nie można uzyskać wyniku z serwera.", "File upload is in progress. Leaving the page now will cancel the upload." : "Wysyłanie pliku jest w toku. Jeśli opuścisz tę stronę, wysyłanie zostanie przerwane.", - "{new_name} already exists" : "{new_name} już istnieje", - "Could not create file" : "Nie można utworzyć pliku", - "Could not create folder" : "Nie można utworzyć folderu", "Actions" : "Akcje", "Download" : "Pobierz", "Select" : "Wybierz", @@ -47,7 +44,10 @@ OC.L10N.register( "Error moving file." : "Błąd podczas przenoszenia pliku.", "Error moving file" : "Błąd prz przenoszeniu pliku", "Error" : "Błąd", + "{new_name} already exists" : "{new_name} już istnieje", "Could not rename file" : "Nie można zmienić nazwy pliku", + "Could not create file" : "Nie można utworzyć pliku", + "Could not create folder" : "Nie można utworzyć folderu", "Error deleting file." : "Błąd podczas usuwania pliku", "No entries in this folder match '{filter}'" : "Brak wyników pasujących do '{filter}'", "Name" : "Nazwa", @@ -58,6 +58,7 @@ OC.L10N.register( "{dirs} and {files}" : "{dirs} i {files}", "You don’t have permission to upload or create files here" : "Nie masz uprawnień do wczytywania lub tworzenia plików w tym miejscu", "_Uploading %n file_::_Uploading %n files_" : ["Wysyłanie %n pliku","Wysyłanie %n plików","Wysyłanie %n plików"], + "New" : "Nowy", "\"{name}\" is an invalid file name." : "\"{name}\" jest nieprawidłową nazwą pliku.", "File name cannot be empty." : "Nazwa pliku nie może być pusta.", "Storage of {owner} is full, files can not be updated or synced anymore!" : "Brak wolnego miejsca {owner}, pliki nie mogą zostać zaktualizowane lub synchronizowane! ", @@ -66,6 +67,10 @@ OC.L10N.register( "Your storage is almost full ({usedSpacePercent}%)" : "Twój magazyn jest prawie pełny ({usedSpacePercent}%)", "Favorited" : "Ulubione", "Favorite" : "Ulubione", + "Upload" : "Wyślij", + "Text file" : "Plik tekstowy", + "Folder" : "Folder", + "New folder" : "Nowy folder", "A new file or folder has been <strong>created</strong>" : "Nowy plik lub folder został <strong>utworzony</strong>", "A file or folder has been <strong>changed</strong>" : "Plik lub folder został <strong>zmieniony</strong>", "A file or folder has been <strong>deleted</strong>" : "Plik lub folder został <strong>usunięty</strong>", @@ -89,12 +94,6 @@ OC.L10N.register( "Settings" : "Ustawienia", "WebDAV" : "WebDAV", "Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Użyj tego adresu do <a href=\"%s\" target=\"_blank\">dostępu do twoich plików przez WebDAV</a>", - "New" : "Nowy", - "New text file" : "Nowy plik tekstowy", - "Text file" : "Plik tekstowy", - "New folder" : "Nowy folder", - "Folder" : "Folder", - "Upload" : "Wyślij", "Cancel upload" : "Anuluj wysyłanie", "No entries found in this folder" : "Brak wpisów w tym folderze", "Select all" : "Wybierz wszystko", diff --git a/apps/files/l10n/pl.json b/apps/files/l10n/pl.json index c2d49274c6b..d5a3c33e698 100644 --- a/apps/files/l10n/pl.json +++ b/apps/files/l10n/pl.json @@ -34,9 +34,6 @@ "Upload cancelled." : "Wczytywanie anulowane.", "Could not get result from server." : "Nie można uzyskać wyniku z serwera.", "File upload is in progress. Leaving the page now will cancel the upload." : "Wysyłanie pliku jest w toku. Jeśli opuścisz tę stronę, wysyłanie zostanie przerwane.", - "{new_name} already exists" : "{new_name} już istnieje", - "Could not create file" : "Nie można utworzyć pliku", - "Could not create folder" : "Nie można utworzyć folderu", "Actions" : "Akcje", "Download" : "Pobierz", "Select" : "Wybierz", @@ -45,7 +42,10 @@ "Error moving file." : "Błąd podczas przenoszenia pliku.", "Error moving file" : "Błąd prz przenoszeniu pliku", "Error" : "Błąd", + "{new_name} already exists" : "{new_name} już istnieje", "Could not rename file" : "Nie można zmienić nazwy pliku", + "Could not create file" : "Nie można utworzyć pliku", + "Could not create folder" : "Nie można utworzyć folderu", "Error deleting file." : "Błąd podczas usuwania pliku", "No entries in this folder match '{filter}'" : "Brak wyników pasujących do '{filter}'", "Name" : "Nazwa", @@ -56,6 +56,7 @@ "{dirs} and {files}" : "{dirs} i {files}", "You don’t have permission to upload or create files here" : "Nie masz uprawnień do wczytywania lub tworzenia plików w tym miejscu", "_Uploading %n file_::_Uploading %n files_" : ["Wysyłanie %n pliku","Wysyłanie %n plików","Wysyłanie %n plików"], + "New" : "Nowy", "\"{name}\" is an invalid file name." : "\"{name}\" jest nieprawidłową nazwą pliku.", "File name cannot be empty." : "Nazwa pliku nie może być pusta.", "Storage of {owner} is full, files can not be updated or synced anymore!" : "Brak wolnego miejsca {owner}, pliki nie mogą zostać zaktualizowane lub synchronizowane! ", @@ -64,6 +65,10 @@ "Your storage is almost full ({usedSpacePercent}%)" : "Twój magazyn jest prawie pełny ({usedSpacePercent}%)", "Favorited" : "Ulubione", "Favorite" : "Ulubione", + "Upload" : "Wyślij", + "Text file" : "Plik tekstowy", + "Folder" : "Folder", + "New folder" : "Nowy folder", "A new file or folder has been <strong>created</strong>" : "Nowy plik lub folder został <strong>utworzony</strong>", "A file or folder has been <strong>changed</strong>" : "Plik lub folder został <strong>zmieniony</strong>", "A file or folder has been <strong>deleted</strong>" : "Plik lub folder został <strong>usunięty</strong>", @@ -87,12 +92,6 @@ "Settings" : "Ustawienia", "WebDAV" : "WebDAV", "Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Użyj tego adresu do <a href=\"%s\" target=\"_blank\">dostępu do twoich plików przez WebDAV</a>", - "New" : "Nowy", - "New text file" : "Nowy plik tekstowy", - "Text file" : "Plik tekstowy", - "New folder" : "Nowy folder", - "Folder" : "Folder", - "Upload" : "Wyślij", "Cancel upload" : "Anuluj wysyłanie", "No entries found in this folder" : "Brak wpisów w tym folderze", "Select all" : "Wybierz wszystko", diff --git a/apps/files/l10n/pt_BR.js b/apps/files/l10n/pt_BR.js index 81378cdef4c..7f154cbbf5e 100644 --- a/apps/files/l10n/pt_BR.js +++ b/apps/files/l10n/pt_BR.js @@ -36,9 +36,6 @@ OC.L10N.register( "Upload cancelled." : "Envio cancelado.", "Could not get result from server." : "Não foi possível obter o resultado do servidor.", "File upload is in progress. Leaving the page now will cancel the upload." : "Envio de arquivo em andamento. Sair da página agora resultará no cancelamento do envio.", - "{new_name} already exists" : "{new_name} já existe", - "Could not create file" : "Não foi possível criar o arquivo", - "Could not create folder" : "Não foi possível criar a pasta", "Actions" : "Ações", "Download" : "Baixar", "Select" : "Selecionar", @@ -49,7 +46,10 @@ OC.L10N.register( "Error moving file." : "Erro movendo o arquivo.", "Error moving file" : "Erro movendo o arquivo", "Error" : "Erro", + "{new_name} already exists" : "{new_name} já existe", "Could not rename file" : "Não foi possível renomear o arquivo", + "Could not create file" : "Não foi possível criar o arquivo", + "Could not create folder" : "Não foi possível criar a pasta", "Error deleting file." : "Erro eliminando o arquivo.", "No entries in this folder match '{filter}'" : "Nenhuma entrada nesta pasta coincide com '{filter}'", "Name" : "Nome", @@ -60,6 +60,7 @@ OC.L10N.register( "{dirs} and {files}" : "{dirs} e {files}", "You don’t have permission to upload or create files here" : "Você não tem permissão para enviar ou criar arquivos aqui", "_Uploading %n file_::_Uploading %n files_" : ["Enviando %n arquivo","Enviando %n arquivos"], + "New" : "Novo", "\"{name}\" is an invalid file name." : "\"{name}\" é um nome de arquivo inválido.", "File name cannot be empty." : "O nome do arquivo não pode estar vazio.", "Storage of {owner} is full, files can not be updated or synced anymore!" : "Armazenamento do {owner} está cheio, os arquivos não podem ser mais atualizados ou sincronizados!", @@ -71,6 +72,12 @@ OC.L10N.register( "_%n byte_::_%n bytes_" : ["%n byte","%n bytes"], "Favorited" : "Favorito", "Favorite" : "Favorito", + "{newname} already exists" : "{newname} já existe", + "Upload" : "Enviar", + "Text file" : "Arquivo texto", + "New text file.txt" : "Novo texto file.txt", + "Folder" : "Pasta", + "New folder" : "Nova pasta", "An error occurred while trying to update the tags" : "Ocorreu um erro enquanto tentava atualizar as etiquetas", "A new file or folder has been <strong>created</strong>" : "Um novo arquivo ou pasta foi <strong>criado</strong>", "A file or folder has been <strong>changed</strong>" : "Um arquivo ou pasta foi <strong>modificado</strong>", @@ -98,12 +105,6 @@ OC.L10N.register( "Settings" : "Configurações", "WebDAV" : "WebDAV", "Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Use este endereço <a href=\"%s\" target=\"_blank\">para ter acesso aos seus Arquivos via WebDAV</a>", - "New" : "Novo", - "New text file" : "Novo arquivo texto", - "Text file" : "Arquivo texto", - "New folder" : "Nova pasta", - "Folder" : "Pasta", - "Upload" : "Enviar", "Cancel upload" : "Cancelar envio", "No files in here" : "Nenhum arquivo aqui", "Upload some content or sync with your devices!" : "Carregue algum conteúdo ou sincronize com seus dispositivos!", diff --git a/apps/files/l10n/pt_BR.json b/apps/files/l10n/pt_BR.json index 1cdb7969af7..81c76bb2b84 100644 --- a/apps/files/l10n/pt_BR.json +++ b/apps/files/l10n/pt_BR.json @@ -34,9 +34,6 @@ "Upload cancelled." : "Envio cancelado.", "Could not get result from server." : "Não foi possível obter o resultado do servidor.", "File upload is in progress. Leaving the page now will cancel the upload." : "Envio de arquivo em andamento. Sair da página agora resultará no cancelamento do envio.", - "{new_name} already exists" : "{new_name} já existe", - "Could not create file" : "Não foi possível criar o arquivo", - "Could not create folder" : "Não foi possível criar a pasta", "Actions" : "Ações", "Download" : "Baixar", "Select" : "Selecionar", @@ -47,7 +44,10 @@ "Error moving file." : "Erro movendo o arquivo.", "Error moving file" : "Erro movendo o arquivo", "Error" : "Erro", + "{new_name} already exists" : "{new_name} já existe", "Could not rename file" : "Não foi possível renomear o arquivo", + "Could not create file" : "Não foi possível criar o arquivo", + "Could not create folder" : "Não foi possível criar a pasta", "Error deleting file." : "Erro eliminando o arquivo.", "No entries in this folder match '{filter}'" : "Nenhuma entrada nesta pasta coincide com '{filter}'", "Name" : "Nome", @@ -58,6 +58,7 @@ "{dirs} and {files}" : "{dirs} e {files}", "You don’t have permission to upload or create files here" : "Você não tem permissão para enviar ou criar arquivos aqui", "_Uploading %n file_::_Uploading %n files_" : ["Enviando %n arquivo","Enviando %n arquivos"], + "New" : "Novo", "\"{name}\" is an invalid file name." : "\"{name}\" é um nome de arquivo inválido.", "File name cannot be empty." : "O nome do arquivo não pode estar vazio.", "Storage of {owner} is full, files can not be updated or synced anymore!" : "Armazenamento do {owner} está cheio, os arquivos não podem ser mais atualizados ou sincronizados!", @@ -69,6 +70,12 @@ "_%n byte_::_%n bytes_" : ["%n byte","%n bytes"], "Favorited" : "Favorito", "Favorite" : "Favorito", + "{newname} already exists" : "{newname} já existe", + "Upload" : "Enviar", + "Text file" : "Arquivo texto", + "New text file.txt" : "Novo texto file.txt", + "Folder" : "Pasta", + "New folder" : "Nova pasta", "An error occurred while trying to update the tags" : "Ocorreu um erro enquanto tentava atualizar as etiquetas", "A new file or folder has been <strong>created</strong>" : "Um novo arquivo ou pasta foi <strong>criado</strong>", "A file or folder has been <strong>changed</strong>" : "Um arquivo ou pasta foi <strong>modificado</strong>", @@ -96,12 +103,6 @@ "Settings" : "Configurações", "WebDAV" : "WebDAV", "Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Use este endereço <a href=\"%s\" target=\"_blank\">para ter acesso aos seus Arquivos via WebDAV</a>", - "New" : "Novo", - "New text file" : "Novo arquivo texto", - "Text file" : "Arquivo texto", - "New folder" : "Nova pasta", - "Folder" : "Pasta", - "Upload" : "Enviar", "Cancel upload" : "Cancelar envio", "No files in here" : "Nenhum arquivo aqui", "Upload some content or sync with your devices!" : "Carregue algum conteúdo ou sincronize com seus dispositivos!", diff --git a/apps/files/l10n/pt_PT.js b/apps/files/l10n/pt_PT.js index 07817ecf79d..32f7dee7d43 100644 --- a/apps/files/l10n/pt_PT.js +++ b/apps/files/l10n/pt_PT.js @@ -36,9 +36,6 @@ OC.L10N.register( "Upload cancelled." : "Envio cancelado.", "Could not get result from server." : "Não foi possível obter o resultado do servidor.", "File upload is in progress. Leaving the page now will cancel the upload." : "Envio de ficheiro em progresso. Se deixar a página agora, irá cancelar o envio.", - "{new_name} already exists" : "O nome {new_name} já existe", - "Could not create file" : "Não pôde criar ficheiro", - "Could not create folder" : "Não pôde criar pasta", "Actions" : "Ações", "Download" : "Descarregar", "Select" : "Selecionar", @@ -47,7 +44,10 @@ OC.L10N.register( "Error moving file." : "Erro a mover o ficheiro.", "Error moving file" : "Erro ao mover o ficheiro", "Error" : "Erro", + "{new_name} already exists" : "O nome {new_name} já existe", "Could not rename file" : "Não pôde renomear o ficheiro", + "Could not create file" : "Não pôde criar ficheiro", + "Could not create folder" : "Não pôde criar pasta", "Error deleting file." : "Erro ao apagar o ficheiro.", "No entries in this folder match '{filter}'" : "Nenhumas entradas nesta pasta correspondem a '{filter}'", "Name" : "Nome", @@ -58,6 +58,7 @@ OC.L10N.register( "{dirs} and {files}" : "{dirs} e {files}", "You don’t have permission to upload or create files here" : "Você não tem permissão para enviar ou criar ficheiros aqui", "_Uploading %n file_::_Uploading %n files_" : ["A carregar %n ficheiro","A carregar %n ficheiros"], + "New" : "Novo", "\"{name}\" is an invalid file name." : "\"{name}\" é um nome de ficheiro inválido.", "File name cannot be empty." : "O nome do ficheiro não pode estar em branco.", "Your storage is full, files can not be updated or synced anymore!" : "O seu armazenamento está cheio, os ficheiros já não podem ser atualizados ou sincronizados.", @@ -65,6 +66,10 @@ OC.L10N.register( "_matches '{filter}'_::_match '{filter}'_" : ["corresponde a '{filter}'","correspondem a '{filter}'"], "Favorited" : "Assinalado como Favorito", "Favorite" : "Favorito", + "Upload" : "Enviar", + "Text file" : "Ficheiro de Texto", + "Folder" : "Pasta", + "New folder" : "Nova Pasta", "An error occurred while trying to update the tags" : "Ocorreu um erro ao tentar atualizar as tags", "A new file or folder has been <strong>created</strong>" : "Foi <strong>criado</strong> um novo ficheiro ou pasta", "A file or folder has been <strong>changed</strong>" : "Foi <strong>alterado</strong> um ficheiro ou pasta", @@ -91,12 +96,6 @@ OC.L10N.register( "Settings" : "Definições", "WebDAV" : "WebDAV", "Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Utilize esta ligação para <a href=\"%s\" target=\"_blank\">aceder aos seus ficheiros via WebDAV</a>", - "New" : "Novo", - "New text file" : "Novo ficheiro de texto", - "Text file" : "Ficheiro de Texto", - "New folder" : "Nova Pasta", - "Folder" : "Pasta", - "Upload" : "Enviar", "Cancel upload" : "Cancelar o envio", "No files in here" : "Nenhuns ficheiros aqui", "Upload some content or sync with your devices!" : "Carregue algum conteúdo ou sincronize com os seus aparelhos!", diff --git a/apps/files/l10n/pt_PT.json b/apps/files/l10n/pt_PT.json index cca3e42bc72..5c6a8aececa 100644 --- a/apps/files/l10n/pt_PT.json +++ b/apps/files/l10n/pt_PT.json @@ -34,9 +34,6 @@ "Upload cancelled." : "Envio cancelado.", "Could not get result from server." : "Não foi possível obter o resultado do servidor.", "File upload is in progress. Leaving the page now will cancel the upload." : "Envio de ficheiro em progresso. Se deixar a página agora, irá cancelar o envio.", - "{new_name} already exists" : "O nome {new_name} já existe", - "Could not create file" : "Não pôde criar ficheiro", - "Could not create folder" : "Não pôde criar pasta", "Actions" : "Ações", "Download" : "Descarregar", "Select" : "Selecionar", @@ -45,7 +42,10 @@ "Error moving file." : "Erro a mover o ficheiro.", "Error moving file" : "Erro ao mover o ficheiro", "Error" : "Erro", + "{new_name} already exists" : "O nome {new_name} já existe", "Could not rename file" : "Não pôde renomear o ficheiro", + "Could not create file" : "Não pôde criar ficheiro", + "Could not create folder" : "Não pôde criar pasta", "Error deleting file." : "Erro ao apagar o ficheiro.", "No entries in this folder match '{filter}'" : "Nenhumas entradas nesta pasta correspondem a '{filter}'", "Name" : "Nome", @@ -56,6 +56,7 @@ "{dirs} and {files}" : "{dirs} e {files}", "You don’t have permission to upload or create files here" : "Você não tem permissão para enviar ou criar ficheiros aqui", "_Uploading %n file_::_Uploading %n files_" : ["A carregar %n ficheiro","A carregar %n ficheiros"], + "New" : "Novo", "\"{name}\" is an invalid file name." : "\"{name}\" é um nome de ficheiro inválido.", "File name cannot be empty." : "O nome do ficheiro não pode estar em branco.", "Your storage is full, files can not be updated or synced anymore!" : "O seu armazenamento está cheio, os ficheiros já não podem ser atualizados ou sincronizados.", @@ -63,6 +64,10 @@ "_matches '{filter}'_::_match '{filter}'_" : ["corresponde a '{filter}'","correspondem a '{filter}'"], "Favorited" : "Assinalado como Favorito", "Favorite" : "Favorito", + "Upload" : "Enviar", + "Text file" : "Ficheiro de Texto", + "Folder" : "Pasta", + "New folder" : "Nova Pasta", "An error occurred while trying to update the tags" : "Ocorreu um erro ao tentar atualizar as tags", "A new file or folder has been <strong>created</strong>" : "Foi <strong>criado</strong> um novo ficheiro ou pasta", "A file or folder has been <strong>changed</strong>" : "Foi <strong>alterado</strong> um ficheiro ou pasta", @@ -89,12 +94,6 @@ "Settings" : "Definições", "WebDAV" : "WebDAV", "Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Utilize esta ligação para <a href=\"%s\" target=\"_blank\">aceder aos seus ficheiros via WebDAV</a>", - "New" : "Novo", - "New text file" : "Novo ficheiro de texto", - "Text file" : "Ficheiro de Texto", - "New folder" : "Nova Pasta", - "Folder" : "Pasta", - "Upload" : "Enviar", "Cancel upload" : "Cancelar o envio", "No files in here" : "Nenhuns ficheiros aqui", "Upload some content or sync with your devices!" : "Carregue algum conteúdo ou sincronize com os seus aparelhos!", diff --git a/apps/files/l10n/ro.js b/apps/files/l10n/ro.js index 1d571ea8f67..35753e97da8 100644 --- a/apps/files/l10n/ro.js +++ b/apps/files/l10n/ro.js @@ -36,9 +36,6 @@ OC.L10N.register( "Upload cancelled." : "Încărcare anulată.", "Could not get result from server." : "Nu se poate obține rezultatul de la server.", "File upload is in progress. Leaving the page now will cancel the upload." : "Fișierul este în curs de încărcare. Părăsirea paginii va întrerupe încărcarea.", - "{new_name} already exists" : "{new_name} există deja", - "Could not create file" : "Nu s-a putut crea fisierul", - "Could not create folder" : "Nu s-a putut crea folderul", "Actions" : "Acțiuni", "Download" : "Descarcă", "Select" : "Alege", @@ -46,7 +43,10 @@ OC.L10N.register( "Error moving file." : "Eroare la mutarea fișierului.", "Error moving file" : "Eroare la mutarea fișierului", "Error" : "Eroare", + "{new_name} already exists" : "{new_name} există deja", "Could not rename file" : "Nu s-a putut redenumi fișierul", + "Could not create file" : "Nu s-a putut crea fisierul", + "Could not create folder" : "Nu s-a putut crea folderul", "Error deleting file." : "Eroare la ștergerea fișierului.", "Name" : "Nume", "Size" : "Mărime", @@ -56,11 +56,16 @@ OC.L10N.register( "{dirs} and {files}" : "{dirs} și {files}", "You don’t have permission to upload or create files here" : "Nu aveți permisiunea de a încărca sau crea fișiere aici", "_Uploading %n file_::_Uploading %n files_" : ["Se încarcă %n fișier.","Se încarcă %n fișiere.","Se încarcă %n fișiere."], + "New" : "Nou", "\"{name}\" is an invalid file name." : "\"{name}\" este un nume de fișier nevalid.", "File name cannot be empty." : "Numele fișierului nu poate rămâne gol.", "Your storage is full, files can not be updated or synced anymore!" : "Spațiul de stocare este plin, fișierele nu mai pot fi actualizate sau sincronizate!", "Your storage is almost full ({usedSpacePercent}%)" : "Spațiul de stocare este aproape plin ({usedSpacePercent}%)", "Favorite" : "Favorit", + "Upload" : "Încărcă", + "Text file" : "Fișier text", + "Folder" : "Dosar", + "New folder" : "Un nou dosar", "A new file or folder has been <strong>created</strong>" : "Un nou fișier sau dosar a fost <strong>creat</strong>", "A file or folder has been <strong>changed</strong>" : "Un nou fișier sau dosar a fost <strong>modificat</strong>", "A file or folder has been <strong>deleted</strong>" : "Un nou fișier sau dosar a fost <strong>șters</strong>", @@ -84,12 +89,6 @@ OC.L10N.register( "Settings" : "Setări", "WebDAV" : "WebDAV", "Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Folosește această adresă <a href=\"%s\" target=\"_blank\">pentru acces la fișierele tale folosind WebDAV</a>", - "New" : "Nou", - "New text file" : "Un nou fișier text", - "Text file" : "Fișier text", - "New folder" : "Un nou dosar", - "Folder" : "Dosar", - "Upload" : "Încărcă", "Cancel upload" : "Anulează încărcarea", "Select all" : "Selectează tot", "Delete" : "Șterge", diff --git a/apps/files/l10n/ro.json b/apps/files/l10n/ro.json index d0152c340ab..22d66f8dbf0 100644 --- a/apps/files/l10n/ro.json +++ b/apps/files/l10n/ro.json @@ -34,9 +34,6 @@ "Upload cancelled." : "Încărcare anulată.", "Could not get result from server." : "Nu se poate obține rezultatul de la server.", "File upload is in progress. Leaving the page now will cancel the upload." : "Fișierul este în curs de încărcare. Părăsirea paginii va întrerupe încărcarea.", - "{new_name} already exists" : "{new_name} există deja", - "Could not create file" : "Nu s-a putut crea fisierul", - "Could not create folder" : "Nu s-a putut crea folderul", "Actions" : "Acțiuni", "Download" : "Descarcă", "Select" : "Alege", @@ -44,7 +41,10 @@ "Error moving file." : "Eroare la mutarea fișierului.", "Error moving file" : "Eroare la mutarea fișierului", "Error" : "Eroare", + "{new_name} already exists" : "{new_name} există deja", "Could not rename file" : "Nu s-a putut redenumi fișierul", + "Could not create file" : "Nu s-a putut crea fisierul", + "Could not create folder" : "Nu s-a putut crea folderul", "Error deleting file." : "Eroare la ștergerea fișierului.", "Name" : "Nume", "Size" : "Mărime", @@ -54,11 +54,16 @@ "{dirs} and {files}" : "{dirs} și {files}", "You don’t have permission to upload or create files here" : "Nu aveți permisiunea de a încărca sau crea fișiere aici", "_Uploading %n file_::_Uploading %n files_" : ["Se încarcă %n fișier.","Se încarcă %n fișiere.","Se încarcă %n fișiere."], + "New" : "Nou", "\"{name}\" is an invalid file name." : "\"{name}\" este un nume de fișier nevalid.", "File name cannot be empty." : "Numele fișierului nu poate rămâne gol.", "Your storage is full, files can not be updated or synced anymore!" : "Spațiul de stocare este plin, fișierele nu mai pot fi actualizate sau sincronizate!", "Your storage is almost full ({usedSpacePercent}%)" : "Spațiul de stocare este aproape plin ({usedSpacePercent}%)", "Favorite" : "Favorit", + "Upload" : "Încărcă", + "Text file" : "Fișier text", + "Folder" : "Dosar", + "New folder" : "Un nou dosar", "A new file or folder has been <strong>created</strong>" : "Un nou fișier sau dosar a fost <strong>creat</strong>", "A file or folder has been <strong>changed</strong>" : "Un nou fișier sau dosar a fost <strong>modificat</strong>", "A file or folder has been <strong>deleted</strong>" : "Un nou fișier sau dosar a fost <strong>șters</strong>", @@ -82,12 +87,6 @@ "Settings" : "Setări", "WebDAV" : "WebDAV", "Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Folosește această adresă <a href=\"%s\" target=\"_blank\">pentru acces la fișierele tale folosind WebDAV</a>", - "New" : "Nou", - "New text file" : "Un nou fișier text", - "Text file" : "Fișier text", - "New folder" : "Un nou dosar", - "Folder" : "Dosar", - "Upload" : "Încărcă", "Cancel upload" : "Anulează încărcarea", "Select all" : "Selectează tot", "Delete" : "Șterge", diff --git a/apps/files/l10n/ru.js b/apps/files/l10n/ru.js index 87116553e40..962698709c3 100644 --- a/apps/files/l10n/ru.js +++ b/apps/files/l10n/ru.js @@ -36,9 +36,6 @@ OC.L10N.register( "Upload cancelled." : "Загрузка отменена.", "Could not get result from server." : "Не удалось получить ответ от сервера.", "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" : "Не удалось создать каталог", "Actions" : "Действия", "Download" : "Скачать", "Select" : "Выбрать", @@ -49,7 +46,10 @@ OC.L10N.register( "Error moving file." : "Ошибка при перемещении файла.", "Error moving file" : "Ошибка при перемещении файла", "Error" : "Ошибка", + "{new_name} already exists" : "{new_name} уже существует", "Could not rename file" : "Не удалось переименовать файл", + "Could not create file" : "Не удалось создать файл", + "Could not create folder" : "Не удалось создать каталог", "Error deleting file." : "Ошибка при удалении файла.", "No entries in this folder match '{filter}'" : "В данном каталоге нет элементов соответствующих '{filter}'", "Name" : "Имя", @@ -60,6 +60,7 @@ OC.L10N.register( "{dirs} and {files}" : "{dirs} и {files}", "You don’t have permission to upload or create files here" : "У вас нет прав для загрузки или создания файлов здесь.", "_Uploading %n file_::_Uploading %n files_" : ["Закачка %n файла","Закачка %n файлов","Закачка %n файлов","Закачка %n файлов"], + "New" : "Новый", "\"{name}\" is an invalid file name." : "\"{name}\" это неправильное имя файла.", "File name cannot be empty." : "Имя файла не может быть пустым.", "Storage of {owner} is full, files can not be updated or synced anymore!" : "Хранилище {owner} переполнено, файлы больше не могут быть обновлены или синхронизированы!", @@ -71,6 +72,10 @@ OC.L10N.register( "_%n byte_::_%n bytes_" : ["%n байт","%n байта","%n байтов","%n байта(ов)"], "Favorited" : "Избранное", "Favorite" : "Избранное", + "Upload" : "Загрузить", + "Text file" : "Текстовый файл", + "Folder" : "Каталог", + "New folder" : "Новый каталог", "An error occurred while trying to update the tags" : "Во время обновления тегов возникла ошибка", "A new file or folder has been <strong>created</strong>" : "<strong>Создан</strong> новый файл или каталог", "A file or folder has been <strong>changed</strong>" : "<strong>Изменён</strong> файл или каталог", @@ -98,12 +103,6 @@ OC.L10N.register( "Settings" : "Настройки", "WebDAV" : "WebDAV", "Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Используйте этот адрес для <a href=\"%s\" target=\"_blank\">доступа файлам через WebDAV</a>", - "New" : "Новый", - "New text file" : "Новый текстовый файл", - "Text file" : "Текстовый файл", - "New folder" : "Новый каталог", - "Folder" : "Каталог", - "Upload" : "Загрузить", "Cancel upload" : "Отменить загрузку", "No files in here" : "Здесь нет файлов", "Upload some content or sync with your devices!" : "Загрузите что-нибудь или синхронизируйте со своими устройствами!", diff --git a/apps/files/l10n/ru.json b/apps/files/l10n/ru.json index 8880ec6f5aa..410ef1d9cbe 100644 --- a/apps/files/l10n/ru.json +++ b/apps/files/l10n/ru.json @@ -34,9 +34,6 @@ "Upload cancelled." : "Загрузка отменена.", "Could not get result from server." : "Не удалось получить ответ от сервера.", "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" : "Не удалось создать каталог", "Actions" : "Действия", "Download" : "Скачать", "Select" : "Выбрать", @@ -47,7 +44,10 @@ "Error moving file." : "Ошибка при перемещении файла.", "Error moving file" : "Ошибка при перемещении файла", "Error" : "Ошибка", + "{new_name} already exists" : "{new_name} уже существует", "Could not rename file" : "Не удалось переименовать файл", + "Could not create file" : "Не удалось создать файл", + "Could not create folder" : "Не удалось создать каталог", "Error deleting file." : "Ошибка при удалении файла.", "No entries in this folder match '{filter}'" : "В данном каталоге нет элементов соответствующих '{filter}'", "Name" : "Имя", @@ -58,6 +58,7 @@ "{dirs} and {files}" : "{dirs} и {files}", "You don’t have permission to upload or create files here" : "У вас нет прав для загрузки или создания файлов здесь.", "_Uploading %n file_::_Uploading %n files_" : ["Закачка %n файла","Закачка %n файлов","Закачка %n файлов","Закачка %n файлов"], + "New" : "Новый", "\"{name}\" is an invalid file name." : "\"{name}\" это неправильное имя файла.", "File name cannot be empty." : "Имя файла не может быть пустым.", "Storage of {owner} is full, files can not be updated or synced anymore!" : "Хранилище {owner} переполнено, файлы больше не могут быть обновлены или синхронизированы!", @@ -69,6 +70,10 @@ "_%n byte_::_%n bytes_" : ["%n байт","%n байта","%n байтов","%n байта(ов)"], "Favorited" : "Избранное", "Favorite" : "Избранное", + "Upload" : "Загрузить", + "Text file" : "Текстовый файл", + "Folder" : "Каталог", + "New folder" : "Новый каталог", "An error occurred while trying to update the tags" : "Во время обновления тегов возникла ошибка", "A new file or folder has been <strong>created</strong>" : "<strong>Создан</strong> новый файл или каталог", "A file or folder has been <strong>changed</strong>" : "<strong>Изменён</strong> файл или каталог", @@ -96,12 +101,6 @@ "Settings" : "Настройки", "WebDAV" : "WebDAV", "Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Используйте этот адрес для <a href=\"%s\" target=\"_blank\">доступа файлам через WebDAV</a>", - "New" : "Новый", - "New text file" : "Новый текстовый файл", - "Text file" : "Текстовый файл", - "New folder" : "Новый каталог", - "Folder" : "Каталог", - "Upload" : "Загрузить", "Cancel upload" : "Отменить загрузку", "No files in here" : "Здесь нет файлов", "Upload some content or sync with your devices!" : "Загрузите что-нибудь или синхронизируйте со своими устройствами!", diff --git a/apps/files/l10n/si_LK.js b/apps/files/l10n/si_LK.js index 5c43bdd9be7..ea63cda82dc 100644 --- a/apps/files/l10n/si_LK.js +++ b/apps/files/l10n/si_LK.js @@ -19,6 +19,10 @@ OC.L10N.register( "Name" : "නම", "Size" : "ප්රමාණය", "Modified" : "වෙනස් කළ", + "New" : "නව", + "Upload" : "උඩුගත කරන්න", + "Text file" : "පෙළ ගොනුව", + "Folder" : "ෆෝල්ඩරය", "A new file or folder has been <strong>created</strong>" : "නව ගොනුවක් හෝ බහාලුමක් <strong> නිර්මාණය කර ඇත</ strong> ", "A file or folder has been <strong>changed</strong>" : "ගොනුවක් හෝ ෆෝල්ඩරයක් <strong>වෙනස්</strong> වී ඇත", "A file or folder has been <strong>deleted</strong>" : "ගොනුවක් හෝ ෆෝල්ඩරයක් <strong>මකා දමා</strong> ඇත", @@ -28,10 +32,6 @@ OC.L10N.register( "max. possible: " : "හැකි උපරිමය:", "Save" : "සුරකින්න", "Settings" : "සිටුවම්", - "New" : "නව", - "Text file" : "පෙළ ගොනුව", - "Folder" : "ෆෝල්ඩරය", - "Upload" : "උඩුගත කරන්න", "Cancel upload" : "උඩුගත කිරීම අත් හරින්න", "Delete" : "මකා දමන්න", "Upload too large" : "උඩුගත කිරීම විශාල වැඩිය", diff --git a/apps/files/l10n/si_LK.json b/apps/files/l10n/si_LK.json index 6fbac44938e..6cfbe30ff4a 100644 --- a/apps/files/l10n/si_LK.json +++ b/apps/files/l10n/si_LK.json @@ -17,6 +17,10 @@ "Name" : "නම", "Size" : "ප්රමාණය", "Modified" : "වෙනස් කළ", + "New" : "නව", + "Upload" : "උඩුගත කරන්න", + "Text file" : "පෙළ ගොනුව", + "Folder" : "ෆෝල්ඩරය", "A new file or folder has been <strong>created</strong>" : "නව ගොනුවක් හෝ බහාලුමක් <strong> නිර්මාණය කර ඇත</ strong> ", "A file or folder has been <strong>changed</strong>" : "ගොනුවක් හෝ ෆෝල්ඩරයක් <strong>වෙනස්</strong> වී ඇත", "A file or folder has been <strong>deleted</strong>" : "ගොනුවක් හෝ ෆෝල්ඩරයක් <strong>මකා දමා</strong> ඇත", @@ -26,10 +30,6 @@ "max. possible: " : "හැකි උපරිමය:", "Save" : "සුරකින්න", "Settings" : "සිටුවම්", - "New" : "නව", - "Text file" : "පෙළ ගොනුව", - "Folder" : "ෆෝල්ඩරය", - "Upload" : "උඩුගත කරන්න", "Cancel upload" : "උඩුගත කිරීම අත් හරින්න", "Delete" : "මකා දමන්න", "Upload too large" : "උඩුගත කිරීම විශාල වැඩිය", diff --git a/apps/files/l10n/sk_SK.js b/apps/files/l10n/sk_SK.js index ebb328e5a41..ebe1973a9ed 100644 --- a/apps/files/l10n/sk_SK.js +++ b/apps/files/l10n/sk_SK.js @@ -36,9 +36,6 @@ OC.L10N.register( "Upload cancelled." : "Odosielanie je zrušené.", "Could not get result from server." : "Nepodarilo sa dostať výsledky zo servera.", "File upload is in progress. Leaving the page now will cancel the upload." : "Opustenie stránky zruší práve prebiehajúce odosielanie súboru.", - "{new_name} already exists" : "{new_name} už existuje", - "Could not create file" : "Nemožno vytvoriť súbor", - "Could not create folder" : "Nemožno vytvoriť priečinok", "Actions" : "Akcie", "Download" : "Sťahovanie", "Select" : "Vybrať", @@ -48,7 +45,10 @@ OC.L10N.register( "Error moving file." : "Chyba pri presune súboru.", "Error moving file" : "Chyba pri presúvaní súboru", "Error" : "Chyba", + "{new_name} already exists" : "{new_name} už existuje", "Could not rename file" : "Nemožno premenovať súbor", + "Could not create file" : "Nemožno vytvoriť súbor", + "Could not create folder" : "Nemožno vytvoriť priečinok", "Error deleting file." : "Chyba pri mazaní súboru.", "No entries in this folder match '{filter}'" : "V tomto priečinku nič nezodpovedá '{filter}'", "Name" : "Názov", @@ -59,6 +59,7 @@ OC.L10N.register( "{dirs} and {files}" : "{dirs} a {files}", "You don’t have permission to upload or create files here" : "Nemáte oprávnenie sem nahrávať alebo vytvoriť súbory", "_Uploading %n file_::_Uploading %n files_" : ["Nahrávam %n súbor","Nahrávam %n súbory","Nahrávam %n súborov"], + "New" : "Nový", "\"{name}\" is an invalid file name." : "\"{name}\" je neplatné meno súboru.", "File name cannot be empty." : "Meno súboru nemôže byť prázdne", "Your storage is full, files can not be updated or synced anymore!" : "Vaše úložisko je plné. Súbory nemožno aktualizovať ani synchronizovať!", @@ -66,6 +67,10 @@ OC.L10N.register( "_matches '{filter}'_::_match '{filter}'_" : ["zodpovedá '{filter}'","zodpovedá '{filter}'","zodpovedá '{filter}'"], "Favorited" : "Pridané k obľúbeným", "Favorite" : "Obľúbené", + "Upload" : "Nahrať", + "Text file" : "Textový súbor", + "Folder" : "Priečinok", + "New folder" : "Nový priečinok", "An error occurred while trying to update the tags" : "Pri pokuse o aktualizáciu štítkov došlo k chybe", "A new file or folder has been <strong>created</strong>" : "Nový súbor alebo priečinok bol <strong>vytvorený</strong>", "A file or folder has been <strong>changed</strong>" : "Súbor alebo priečinok bol <strong>zmenený</strong>", @@ -90,12 +95,6 @@ OC.L10N.register( "Settings" : "Nastavenia", "WebDAV" : "WebDAV", "Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Použite túto linku <a href=\"%s\" target=\"_blank\">pre prístup k vašim súborom cez WebDAV</a>", - "New" : "Nový", - "New text file" : "Nový textový súbor", - "Text file" : "Textový súbor", - "New folder" : "Nový priečinok", - "Folder" : "Priečinok", - "Upload" : "Nahrať", "Cancel upload" : "Zrušiť nahrávanie", "No files in here" : "Nie sú tu žiadne súbory", "Upload some content or sync with your devices!" : "Nahrajte nejaký obsah alebo synchronizujte zo svojimi zariadeniami!", diff --git a/apps/files/l10n/sk_SK.json b/apps/files/l10n/sk_SK.json index 0595e921535..ccd7a045699 100644 --- a/apps/files/l10n/sk_SK.json +++ b/apps/files/l10n/sk_SK.json @@ -34,9 +34,6 @@ "Upload cancelled." : "Odosielanie je zrušené.", "Could not get result from server." : "Nepodarilo sa dostať výsledky zo servera.", "File upload is in progress. Leaving the page now will cancel the upload." : "Opustenie stránky zruší práve prebiehajúce odosielanie súboru.", - "{new_name} already exists" : "{new_name} už existuje", - "Could not create file" : "Nemožno vytvoriť súbor", - "Could not create folder" : "Nemožno vytvoriť priečinok", "Actions" : "Akcie", "Download" : "Sťahovanie", "Select" : "Vybrať", @@ -46,7 +43,10 @@ "Error moving file." : "Chyba pri presune súboru.", "Error moving file" : "Chyba pri presúvaní súboru", "Error" : "Chyba", + "{new_name} already exists" : "{new_name} už existuje", "Could not rename file" : "Nemožno premenovať súbor", + "Could not create file" : "Nemožno vytvoriť súbor", + "Could not create folder" : "Nemožno vytvoriť priečinok", "Error deleting file." : "Chyba pri mazaní súboru.", "No entries in this folder match '{filter}'" : "V tomto priečinku nič nezodpovedá '{filter}'", "Name" : "Názov", @@ -57,6 +57,7 @@ "{dirs} and {files}" : "{dirs} a {files}", "You don’t have permission to upload or create files here" : "Nemáte oprávnenie sem nahrávať alebo vytvoriť súbory", "_Uploading %n file_::_Uploading %n files_" : ["Nahrávam %n súbor","Nahrávam %n súbory","Nahrávam %n súborov"], + "New" : "Nový", "\"{name}\" is an invalid file name." : "\"{name}\" je neplatné meno súboru.", "File name cannot be empty." : "Meno súboru nemôže byť prázdne", "Your storage is full, files can not be updated or synced anymore!" : "Vaše úložisko je plné. Súbory nemožno aktualizovať ani synchronizovať!", @@ -64,6 +65,10 @@ "_matches '{filter}'_::_match '{filter}'_" : ["zodpovedá '{filter}'","zodpovedá '{filter}'","zodpovedá '{filter}'"], "Favorited" : "Pridané k obľúbeným", "Favorite" : "Obľúbené", + "Upload" : "Nahrať", + "Text file" : "Textový súbor", + "Folder" : "Priečinok", + "New folder" : "Nový priečinok", "An error occurred while trying to update the tags" : "Pri pokuse o aktualizáciu štítkov došlo k chybe", "A new file or folder has been <strong>created</strong>" : "Nový súbor alebo priečinok bol <strong>vytvorený</strong>", "A file or folder has been <strong>changed</strong>" : "Súbor alebo priečinok bol <strong>zmenený</strong>", @@ -88,12 +93,6 @@ "Settings" : "Nastavenia", "WebDAV" : "WebDAV", "Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Použite túto linku <a href=\"%s\" target=\"_blank\">pre prístup k vašim súborom cez WebDAV</a>", - "New" : "Nový", - "New text file" : "Nový textový súbor", - "Text file" : "Textový súbor", - "New folder" : "Nový priečinok", - "Folder" : "Priečinok", - "Upload" : "Nahrať", "Cancel upload" : "Zrušiť nahrávanie", "No files in here" : "Nie sú tu žiadne súbory", "Upload some content or sync with your devices!" : "Nahrajte nejaký obsah alebo synchronizujte zo svojimi zariadeniami!", diff --git a/apps/files/l10n/sl.js b/apps/files/l10n/sl.js index 17cbdb1470c..2d296468d69 100644 --- a/apps/files/l10n/sl.js +++ b/apps/files/l10n/sl.js @@ -36,9 +36,6 @@ OC.L10N.register( "Upload cancelled." : "Pošiljanje je preklicano.", "Could not get result from server." : "Ni mogoče pridobiti podatkov s strežnika.", "File upload is in progress. Leaving the page now will cancel the upload." : "V teku je pošiljanje datoteke. Če zapustite to stran zdaj, bo pošiljanje preklicano.", - "{new_name} already exists" : "{new_name} že obstaja", - "Could not create file" : "Ni mogoče ustvariti datoteke", - "Could not create folder" : "Ni mogoče ustvariti mape", "Actions" : "Dejanja", "Download" : "Prejmi", "Select" : "Izberi", @@ -47,7 +44,10 @@ OC.L10N.register( "Error moving file." : "Napaka premikanja datoteke.", "Error moving file" : "Napaka premikanja datoteke", "Error" : "Napaka", + "{new_name} already exists" : "{new_name} že obstaja", "Could not rename file" : "Ni mogoče preimenovati datoteke", + "Could not create file" : "Ni mogoče ustvariti datoteke", + "Could not create folder" : "Ni mogoče ustvariti mape", "Error deleting file." : "Napaka brisanja datoteke.", "No entries in this folder match '{filter}'" : "Ni zadetkov, ki bi bili skladni z nizom '{filter}'", "Name" : "Ime", @@ -58,6 +58,7 @@ OC.L10N.register( "{dirs} and {files}" : "{dirs} in {files}", "You don’t have permission to upload or create files here" : "Ni ustreznih dovoljenj za pošiljanje ali ustvarjanje datotek na tem mestu.", "_Uploading %n file_::_Uploading %n files_" : ["Posodabljanje %n datoteke","Posodabljanje %n datotek","Posodabljanje %n datotek","Posodabljanje %n datotek"], + "New" : "Novo", "\"{name}\" is an invalid file name." : "\"{name}\" je neveljavno ime datoteke.", "File name cannot be empty." : "Ime datoteke ne sme biti prazno polje.", "Storage of {owner} is full, files can not be updated or synced anymore!" : "Shramba uporabnika {owner} je polna, zato datotek ni več mogoče posodabljati in usklajevati!", @@ -67,6 +68,10 @@ OC.L10N.register( "_matches '{filter}'_::_match '{filter}'_" : ["se sklada s filtrom '{filter}'","se skladata s filtrom '{filter}'","se skladajo s filtrom '{filter}'","se skladajo s filtrom '{filter}'"], "Favorited" : "Označeno kot priljubljeno", "Favorite" : "Priljubljene", + "Upload" : "Pošlji", + "Text file" : "Besedilna datoteka", + "Folder" : "Mapa", + "New folder" : "Nova mapa", "An error occurred while trying to update the tags" : "Prišlo je do napake med posodabljanjem oznak", "A new file or folder has been <strong>created</strong>" : "Nova datoteka ali mapa je <strong>ustvarjena</strong>", "A file or folder has been <strong>changed</strong>" : "Datoteka ali mapa je <strong>spremenjena</strong>.", @@ -93,12 +98,6 @@ OC.L10N.register( "Settings" : "Nastavitve", "WebDAV" : "WebDAV", "Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Uporabite naslov <a href=\"%s\" target=\"_blank\"> za dostop do datotek peko sistema WebDAV</a>.", - "New" : "Novo", - "New text file" : "Nova besedilna datoteka", - "Text file" : "Besedilna datoteka", - "New folder" : "Nova mapa", - "Folder" : "Mapa", - "Upload" : "Pošlji", "Cancel upload" : "Prekliči pošiljanje", "No files in here" : "V mapi ni datotek", "Upload some content or sync with your devices!" : "Uvozite vsebino ali pa omogočite usklajevanje z napravami!", diff --git a/apps/files/l10n/sl.json b/apps/files/l10n/sl.json index 0e123f4e715..0cb69f5f7a1 100644 --- a/apps/files/l10n/sl.json +++ b/apps/files/l10n/sl.json @@ -34,9 +34,6 @@ "Upload cancelled." : "Pošiljanje je preklicano.", "Could not get result from server." : "Ni mogoče pridobiti podatkov s strežnika.", "File upload is in progress. Leaving the page now will cancel the upload." : "V teku je pošiljanje datoteke. Če zapustite to stran zdaj, bo pošiljanje preklicano.", - "{new_name} already exists" : "{new_name} že obstaja", - "Could not create file" : "Ni mogoče ustvariti datoteke", - "Could not create folder" : "Ni mogoče ustvariti mape", "Actions" : "Dejanja", "Download" : "Prejmi", "Select" : "Izberi", @@ -45,7 +42,10 @@ "Error moving file." : "Napaka premikanja datoteke.", "Error moving file" : "Napaka premikanja datoteke", "Error" : "Napaka", + "{new_name} already exists" : "{new_name} že obstaja", "Could not rename file" : "Ni mogoče preimenovati datoteke", + "Could not create file" : "Ni mogoče ustvariti datoteke", + "Could not create folder" : "Ni mogoče ustvariti mape", "Error deleting file." : "Napaka brisanja datoteke.", "No entries in this folder match '{filter}'" : "Ni zadetkov, ki bi bili skladni z nizom '{filter}'", "Name" : "Ime", @@ -56,6 +56,7 @@ "{dirs} and {files}" : "{dirs} in {files}", "You don’t have permission to upload or create files here" : "Ni ustreznih dovoljenj za pošiljanje ali ustvarjanje datotek na tem mestu.", "_Uploading %n file_::_Uploading %n files_" : ["Posodabljanje %n datoteke","Posodabljanje %n datotek","Posodabljanje %n datotek","Posodabljanje %n datotek"], + "New" : "Novo", "\"{name}\" is an invalid file name." : "\"{name}\" je neveljavno ime datoteke.", "File name cannot be empty." : "Ime datoteke ne sme biti prazno polje.", "Storage of {owner} is full, files can not be updated or synced anymore!" : "Shramba uporabnika {owner} je polna, zato datotek ni več mogoče posodabljati in usklajevati!", @@ -65,6 +66,10 @@ "_matches '{filter}'_::_match '{filter}'_" : ["se sklada s filtrom '{filter}'","se skladata s filtrom '{filter}'","se skladajo s filtrom '{filter}'","se skladajo s filtrom '{filter}'"], "Favorited" : "Označeno kot priljubljeno", "Favorite" : "Priljubljene", + "Upload" : "Pošlji", + "Text file" : "Besedilna datoteka", + "Folder" : "Mapa", + "New folder" : "Nova mapa", "An error occurred while trying to update the tags" : "Prišlo je do napake med posodabljanjem oznak", "A new file or folder has been <strong>created</strong>" : "Nova datoteka ali mapa je <strong>ustvarjena</strong>", "A file or folder has been <strong>changed</strong>" : "Datoteka ali mapa je <strong>spremenjena</strong>.", @@ -91,12 +96,6 @@ "Settings" : "Nastavitve", "WebDAV" : "WebDAV", "Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Uporabite naslov <a href=\"%s\" target=\"_blank\"> za dostop do datotek peko sistema WebDAV</a>.", - "New" : "Novo", - "New text file" : "Nova besedilna datoteka", - "Text file" : "Besedilna datoteka", - "New folder" : "Nova mapa", - "Folder" : "Mapa", - "Upload" : "Pošlji", "Cancel upload" : "Prekliči pošiljanje", "No files in here" : "V mapi ni datotek", "Upload some content or sync with your devices!" : "Uvozite vsebino ali pa omogočite usklajevanje z napravami!", diff --git a/apps/files/l10n/sq.js b/apps/files/l10n/sq.js index c76819b7b8f..2b87c39d968 100644 --- a/apps/files/l10n/sq.js +++ b/apps/files/l10n/sq.js @@ -35,15 +35,15 @@ OC.L10N.register( "Upload cancelled." : "Ngarkimi u anullua", "Could not get result from server." : "Nuk mund të merret ndonjë rezultat nga serveri.", "File upload is in progress. Leaving the page now will cancel the upload." : "Skedari duke u ngarkuar. Largimi nga faqja do të anullojë ngarkimin", - "{new_name} already exists" : "{new_name} është ekzistues ", - "Could not create file" : "Skedari nuk mund të krijohet", - "Could not create folder" : "I pamundur krijimi i kartelës", "Download" : "Shkarko", "Pending" : "Në vijim", "Error moving file." : "Gabim në lëvizjen e skedarëve.", "Error moving file" : "Gabim lëvizjen dokumentave", "Error" : "Gabim", + "{new_name} already exists" : "{new_name} është ekzistues ", "Could not rename file" : "Riemërtimi i skedarit nuk është i mundur", + "Could not create file" : "Skedari nuk mund të krijohet", + "Could not create folder" : "I pamundur krijimi i kartelës", "Error deleting file." : "Gabim gjatë fshirjes së skedarit.", "Name" : "Emri", "Size" : "Madhësia", @@ -53,10 +53,15 @@ OC.L10N.register( "{dirs} and {files}" : "{dirs} dhe {files}", "You don’t have permission to upload or create files here" : "Ju nuk keni të drejta për të ngarkuar apo krijuar skedarë këtu", "_Uploading %n file_::_Uploading %n files_" : ["Po ngarkoj %n skedar","Po ngarkoj %n skedarë"], + "New" : "E re", "\"{name}\" is an invalid file name." : "\"{name}\" është emër i pavlefshëm.", "File name cannot be empty." : "Emri i skedarit nuk mund të jetë bosh.", "Your storage is full, files can not be updated or synced anymore!" : "Hapsira juaj e arkivimit është plot, skedarët nuk mund të përditësohen ose sinkronizohen!", "Your storage is almost full ({usedSpacePercent}%)" : "Hapsira juaj e arkivimit është pothuajse në fund ({usedSpacePercent}%)", + "Upload" : "Ngarko", + "Text file" : "Skedar tekst", + "Folder" : "Dosje", + "New folder" : "Dosje e're", "A new file or folder has been <strong>created</strong>" : "Një skedar ose një dosje e re është <strong>krijuar</strong>", "A file or folder has been <strong>changed</strong>" : "Një skedar ose një dosje ka <strong>ndryshuar</strong>", "A file or folder has been <strong>deleted</strong>" : "Një skedar ose një dosje është <strong>fshirë</strong>", @@ -80,12 +85,6 @@ OC.L10N.register( "Settings" : "Konfigurime", "WebDAV" : "WebDAV", "Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Përdorni këtë adresë për <a href=\"%s\" target=\"_blank\">qasje në skedarët tuaj me anë të WebDAV</a>", - "New" : "E re", - "New text file" : "Skedar i ri tekst", - "Text file" : "Skedar tekst", - "New folder" : "Dosje e're", - "Folder" : "Dosje", - "Upload" : "Ngarko", "Cancel upload" : "Anullo ngarkimin", "Delete" : "Fshi", "Upload too large" : "Ngarkimi shumë i madh", diff --git a/apps/files/l10n/sq.json b/apps/files/l10n/sq.json index 619aaa79a56..1e755ee80f6 100644 --- a/apps/files/l10n/sq.json +++ b/apps/files/l10n/sq.json @@ -33,15 +33,15 @@ "Upload cancelled." : "Ngarkimi u anullua", "Could not get result from server." : "Nuk mund të merret ndonjë rezultat nga serveri.", "File upload is in progress. Leaving the page now will cancel the upload." : "Skedari duke u ngarkuar. Largimi nga faqja do të anullojë ngarkimin", - "{new_name} already exists" : "{new_name} është ekzistues ", - "Could not create file" : "Skedari nuk mund të krijohet", - "Could not create folder" : "I pamundur krijimi i kartelës", "Download" : "Shkarko", "Pending" : "Në vijim", "Error moving file." : "Gabim në lëvizjen e skedarëve.", "Error moving file" : "Gabim lëvizjen dokumentave", "Error" : "Gabim", + "{new_name} already exists" : "{new_name} është ekzistues ", "Could not rename file" : "Riemërtimi i skedarit nuk është i mundur", + "Could not create file" : "Skedari nuk mund të krijohet", + "Could not create folder" : "I pamundur krijimi i kartelës", "Error deleting file." : "Gabim gjatë fshirjes së skedarit.", "Name" : "Emri", "Size" : "Madhësia", @@ -51,10 +51,15 @@ "{dirs} and {files}" : "{dirs} dhe {files}", "You don’t have permission to upload or create files here" : "Ju nuk keni të drejta për të ngarkuar apo krijuar skedarë këtu", "_Uploading %n file_::_Uploading %n files_" : ["Po ngarkoj %n skedar","Po ngarkoj %n skedarë"], + "New" : "E re", "\"{name}\" is an invalid file name." : "\"{name}\" është emër i pavlefshëm.", "File name cannot be empty." : "Emri i skedarit nuk mund të jetë bosh.", "Your storage is full, files can not be updated or synced anymore!" : "Hapsira juaj e arkivimit është plot, skedarët nuk mund të përditësohen ose sinkronizohen!", "Your storage is almost full ({usedSpacePercent}%)" : "Hapsira juaj e arkivimit është pothuajse në fund ({usedSpacePercent}%)", + "Upload" : "Ngarko", + "Text file" : "Skedar tekst", + "Folder" : "Dosje", + "New folder" : "Dosje e're", "A new file or folder has been <strong>created</strong>" : "Një skedar ose një dosje e re është <strong>krijuar</strong>", "A file or folder has been <strong>changed</strong>" : "Një skedar ose një dosje ka <strong>ndryshuar</strong>", "A file or folder has been <strong>deleted</strong>" : "Një skedar ose një dosje është <strong>fshirë</strong>", @@ -78,12 +83,6 @@ "Settings" : "Konfigurime", "WebDAV" : "WebDAV", "Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Përdorni këtë adresë për <a href=\"%s\" target=\"_blank\">qasje në skedarët tuaj me anë të WebDAV</a>", - "New" : "E re", - "New text file" : "Skedar i ri tekst", - "Text file" : "Skedar tekst", - "New folder" : "Dosje e're", - "Folder" : "Dosje", - "Upload" : "Ngarko", "Cancel upload" : "Anullo ngarkimin", "Delete" : "Fshi", "Upload too large" : "Ngarkimi shumë i madh", diff --git a/apps/files/l10n/sr.js b/apps/files/l10n/sr.js index 2a6df1f9cd2..597389e15da 100644 --- a/apps/files/l10n/sr.js +++ b/apps/files/l10n/sr.js @@ -36,9 +36,6 @@ OC.L10N.register( "Upload cancelled." : "Отпремање је отказано.", "Could not get result from server." : "Не могу да добијем резултат са сервера.", "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" : "Не могу да створим фасциклу", "Actions" : "Радње", "Download" : "Преузми", "Select" : "Изабери", @@ -49,7 +46,10 @@ OC.L10N.register( "Error moving file." : "Грешка при премештању фајла.", "Error moving file" : "Грешка при премештању фајла", "Error" : "Грешка", + "{new_name} already exists" : "{new_name} већ постоји", "Could not rename file" : "Не могу да преименујем фајл", + "Could not create file" : "Не могу да створим фајл", + "Could not create folder" : "Не могу да створим фасциклу", "Error deleting file." : "Грешка при брисању фајла.", "No entries in this folder match '{filter}'" : "У овој фасцикли ништа се не поклапа са '{filter}'", "Name" : "Назив", @@ -60,6 +60,7 @@ OC.L10N.register( "{dirs} and {files}" : "{dirs} и {files}", "You don’t have permission to upload or create files here" : "Немате дозволе да овде отпремате или стварате фајлове", "_Uploading %n file_::_Uploading %n files_" : ["Отпремам %n фајл","Отпремам %n фајла","Отпремам %n фајлова"], + "New" : "Ново", "\"{name}\" is an invalid file name." : "\"{name}\" није исправан назив фајла.", "File name cannot be empty." : "Назив фајла не може бити празан.", "Storage of {owner} is full, files can not be updated or synced anymore!" : "Складиште корисника {owner} је пуно. Фајлови се не могу ажурирати нити синхронизовати!", @@ -69,6 +70,10 @@ OC.L10N.register( "_matches '{filter}'_::_match '{filter}'_" : ["се поклапа са '{filter}'","се поклапају са '{filter}'","се поклапа са '{filter}'"], "Favorited" : "Омиљено", "Favorite" : "Омиљени", + "Upload" : "Отпреми", + "Text file" : "текстуални фајл", + "Folder" : "фасцикла", + "New folder" : "Нова фасцикла", "An error occurred while trying to update the tags" : "Дошло је до грешке при покушају ажурирања ознака", "A new file or folder has been <strong>created</strong>" : "Нови фајл или фасцикла су <strong>направљени</strong>", "A file or folder has been <strong>changed</strong>" : "Фајл или фасцикла су <strong>измењени</strong>", @@ -95,12 +100,6 @@ OC.L10N.register( "Settings" : "Поставке", "WebDAV" : "ВебДАВ", "Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Користите ову адресу да <a href=\"%s\" target=\"_blank\"> приступите фајловима преко ВебДАВ-а</a>", - "New" : "Ново", - "New text file" : "Нов текстуални фајл", - "Text file" : "текстуални фајл", - "New folder" : "Нова фасцикла", - "Folder" : "фасцикла", - "Upload" : "Отпреми", "Cancel upload" : "Откажи отпремање", "No files in here" : "Овде нема фајлова", "Upload some content or sync with your devices!" : "Отпремите неки садржај или синхронизујте са вашим уређајима!", diff --git a/apps/files/l10n/sr.json b/apps/files/l10n/sr.json index 09aabbb72e7..ec2fcc101e6 100644 --- a/apps/files/l10n/sr.json +++ b/apps/files/l10n/sr.json @@ -34,9 +34,6 @@ "Upload cancelled." : "Отпремање је отказано.", "Could not get result from server." : "Не могу да добијем резултат са сервера.", "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" : "Не могу да створим фасциклу", "Actions" : "Радње", "Download" : "Преузми", "Select" : "Изабери", @@ -47,7 +44,10 @@ "Error moving file." : "Грешка при премештању фајла.", "Error moving file" : "Грешка при премештању фајла", "Error" : "Грешка", + "{new_name} already exists" : "{new_name} већ постоји", "Could not rename file" : "Не могу да преименујем фајл", + "Could not create file" : "Не могу да створим фајл", + "Could not create folder" : "Не могу да створим фасциклу", "Error deleting file." : "Грешка при брисању фајла.", "No entries in this folder match '{filter}'" : "У овој фасцикли ништа се не поклапа са '{filter}'", "Name" : "Назив", @@ -58,6 +58,7 @@ "{dirs} and {files}" : "{dirs} и {files}", "You don’t have permission to upload or create files here" : "Немате дозволе да овде отпремате или стварате фајлове", "_Uploading %n file_::_Uploading %n files_" : ["Отпремам %n фајл","Отпремам %n фајла","Отпремам %n фајлова"], + "New" : "Ново", "\"{name}\" is an invalid file name." : "\"{name}\" није исправан назив фајла.", "File name cannot be empty." : "Назив фајла не може бити празан.", "Storage of {owner} is full, files can not be updated or synced anymore!" : "Складиште корисника {owner} је пуно. Фајлови се не могу ажурирати нити синхронизовати!", @@ -67,6 +68,10 @@ "_matches '{filter}'_::_match '{filter}'_" : ["се поклапа са '{filter}'","се поклапају са '{filter}'","се поклапа са '{filter}'"], "Favorited" : "Омиљено", "Favorite" : "Омиљени", + "Upload" : "Отпреми", + "Text file" : "текстуални фајл", + "Folder" : "фасцикла", + "New folder" : "Нова фасцикла", "An error occurred while trying to update the tags" : "Дошло је до грешке при покушају ажурирања ознака", "A new file or folder has been <strong>created</strong>" : "Нови фајл или фасцикла су <strong>направљени</strong>", "A file or folder has been <strong>changed</strong>" : "Фајл или фасцикла су <strong>измењени</strong>", @@ -93,12 +98,6 @@ "Settings" : "Поставке", "WebDAV" : "ВебДАВ", "Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Користите ову адресу да <a href=\"%s\" target=\"_blank\"> приступите фајловима преко ВебДАВ-а</a>", - "New" : "Ново", - "New text file" : "Нов текстуални фајл", - "Text file" : "текстуални фајл", - "New folder" : "Нова фасцикла", - "Folder" : "фасцикла", - "Upload" : "Отпреми", "Cancel upload" : "Откажи отпремање", "No files in here" : "Овде нема фајлова", "Upload some content or sync with your devices!" : "Отпремите неки садржај или синхронизујте са вашим уређајима!", diff --git a/apps/files/l10n/sr@latin.js b/apps/files/l10n/sr@latin.js index 28e317ff9be..b00575619e9 100644 --- a/apps/files/l10n/sr@latin.js +++ b/apps/files/l10n/sr@latin.js @@ -36,9 +36,6 @@ OC.L10N.register( "Upload cancelled." : "Otpremanje je otkazano.", "Could not get result from server." : "Ne mogu da dobijem rezultat sa servera.", "File upload is in progress. Leaving the page now will cancel the upload." : "Otpremanje fajla je u toku. Ako sada napustite stranicu, otkazaćete otpremanje.", - "{new_name} already exists" : "{new_name} već postoji", - "Could not create file" : "Ne mogu da stvorim fajl", - "Could not create folder" : "Ne mogu da stvorim fasciklu", "Download" : "Preuzmi", "Select" : "Izaberi", "Pending" : "Na čekanju", @@ -46,7 +43,10 @@ OC.L10N.register( "Error moving file." : "Greška pri premeštanju fajla.", "Error moving file" : "Greška pri premeštanju fajla", "Error" : "Greška", + "{new_name} already exists" : "{new_name} već postoji", "Could not rename file" : "Ne mogu da preimenujem fajl", + "Could not create file" : "Ne mogu da stvorim fajl", + "Could not create folder" : "Ne mogu da stvorim fasciklu", "Error deleting file." : "Greška pri brisanju fajla.", "No entries in this folder match '{filter}'" : "U ovoj fascikli ništa se ne poklapa sa '{filter}'", "Name" : "Naziv", @@ -57,6 +57,7 @@ OC.L10N.register( "{dirs} and {files}" : "{dirs} i {files}", "You don’t have permission to upload or create files here" : "Nemate dozvole da ovde otpremate ili stvarate fajlove", "_Uploading %n file_::_Uploading %n files_" : ["Otpremam %n fajl","Otpremam %n fajla","Otpremam %n fajlova"], + "New" : "Novo", "\"{name}\" is an invalid file name." : "\"{name}\" nije ispravan naziv fajla.", "File name cannot be empty." : "Naziv fajla ne može biti prazan.", "Your storage is full, files can not be updated or synced anymore!" : "Vaše skladište je puno. Fajlovi više ne mogu biti ažurirani ni sinhronizovani!", @@ -64,6 +65,10 @@ OC.L10N.register( "_matches '{filter}'_::_match '{filter}'_" : ["se poklapa sa '{filter}'","se poklapaju sa '{filter}'","se poklapa sa '{filter}'"], "Favorited" : "Omiljeno", "Favorite" : "Omiljeni", + "Upload" : "Otpremi", + "Text file" : "tekstualni fajl", + "Folder" : "fascikla", + "New folder" : "Nova fascikla", "An error occurred while trying to update the tags" : "Došlo je do greške pri pokušaju ažuriranja oznaka", "A new file or folder has been <strong>created</strong>" : "Novi fajl ili fascikla su <strong>napravljeni</strong>", "A file or folder has been <strong>changed</strong>" : "Fajl ili fascikla su <strong>izmenjeni</strong>", @@ -90,12 +95,6 @@ OC.L10N.register( "Settings" : "Postavke", "WebDAV" : "WebDAV", "Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Koristite ovu adresu da <a href=\"%s\" target=\"_blank\"> pristupite fajlovima preko WebDAV-a</a>", - "New" : "Novo", - "New text file" : "Nov tekstualni fajl", - "Text file" : "tekstualni fajl", - "New folder" : "Nova fascikla", - "Folder" : "fascikla", - "Upload" : "Otpremi", "Cancel upload" : "Otkaži otpremanje", "No files in here" : "Ovde nema fajlova", "Upload some content or sync with your devices!" : "Otpremite neki sadržaj ili sinhronizujte sa vašim uređajima!", diff --git a/apps/files/l10n/sr@latin.json b/apps/files/l10n/sr@latin.json index 5f31ed2547c..b6ffda5aa6b 100644 --- a/apps/files/l10n/sr@latin.json +++ b/apps/files/l10n/sr@latin.json @@ -34,9 +34,6 @@ "Upload cancelled." : "Otpremanje je otkazano.", "Could not get result from server." : "Ne mogu da dobijem rezultat sa servera.", "File upload is in progress. Leaving the page now will cancel the upload." : "Otpremanje fajla je u toku. Ako sada napustite stranicu, otkazaćete otpremanje.", - "{new_name} already exists" : "{new_name} već postoji", - "Could not create file" : "Ne mogu da stvorim fajl", - "Could not create folder" : "Ne mogu da stvorim fasciklu", "Download" : "Preuzmi", "Select" : "Izaberi", "Pending" : "Na čekanju", @@ -44,7 +41,10 @@ "Error moving file." : "Greška pri premeštanju fajla.", "Error moving file" : "Greška pri premeštanju fajla", "Error" : "Greška", + "{new_name} already exists" : "{new_name} već postoji", "Could not rename file" : "Ne mogu da preimenujem fajl", + "Could not create file" : "Ne mogu da stvorim fajl", + "Could not create folder" : "Ne mogu da stvorim fasciklu", "Error deleting file." : "Greška pri brisanju fajla.", "No entries in this folder match '{filter}'" : "U ovoj fascikli ništa se ne poklapa sa '{filter}'", "Name" : "Naziv", @@ -55,6 +55,7 @@ "{dirs} and {files}" : "{dirs} i {files}", "You don’t have permission to upload or create files here" : "Nemate dozvole da ovde otpremate ili stvarate fajlove", "_Uploading %n file_::_Uploading %n files_" : ["Otpremam %n fajl","Otpremam %n fajla","Otpremam %n fajlova"], + "New" : "Novo", "\"{name}\" is an invalid file name." : "\"{name}\" nije ispravan naziv fajla.", "File name cannot be empty." : "Naziv fajla ne može biti prazan.", "Your storage is full, files can not be updated or synced anymore!" : "Vaše skladište je puno. Fajlovi više ne mogu biti ažurirani ni sinhronizovani!", @@ -62,6 +63,10 @@ "_matches '{filter}'_::_match '{filter}'_" : ["se poklapa sa '{filter}'","se poklapaju sa '{filter}'","se poklapa sa '{filter}'"], "Favorited" : "Omiljeno", "Favorite" : "Omiljeni", + "Upload" : "Otpremi", + "Text file" : "tekstualni fajl", + "Folder" : "fascikla", + "New folder" : "Nova fascikla", "An error occurred while trying to update the tags" : "Došlo je do greške pri pokušaju ažuriranja oznaka", "A new file or folder has been <strong>created</strong>" : "Novi fajl ili fascikla su <strong>napravljeni</strong>", "A file or folder has been <strong>changed</strong>" : "Fajl ili fascikla su <strong>izmenjeni</strong>", @@ -88,12 +93,6 @@ "Settings" : "Postavke", "WebDAV" : "WebDAV", "Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Koristite ovu adresu da <a href=\"%s\" target=\"_blank\"> pristupite fajlovima preko WebDAV-a</a>", - "New" : "Novo", - "New text file" : "Nov tekstualni fajl", - "Text file" : "tekstualni fajl", - "New folder" : "Nova fascikla", - "Folder" : "fascikla", - "Upload" : "Otpremi", "Cancel upload" : "Otkaži otpremanje", "No files in here" : "Ovde nema fajlova", "Upload some content or sync with your devices!" : "Otpremite neki sadržaj ili sinhronizujte sa vašim uređajima!", diff --git a/apps/files/l10n/sv.js b/apps/files/l10n/sv.js index c6b64eab029..5f9a08404d7 100644 --- a/apps/files/l10n/sv.js +++ b/apps/files/l10n/sv.js @@ -36,9 +36,6 @@ OC.L10N.register( "Upload cancelled." : "Uppladdning avbruten.", "Could not get result from server." : "Gick inte att hämta resultat från server.", "File upload is in progress. Leaving the page now will cancel the upload." : "Filuppladdning pågår. Lämnar du sidan så avbryts uppladdningen.", - "{new_name} already exists" : "{new_name} finns redan", - "Could not create file" : "Kunde ej skapa fil", - "Could not create folder" : "Kunde ej skapa katalog", "Actions" : "Åtgärder", "Download" : "Ladda ner", "Select" : "Välj", @@ -47,7 +44,10 @@ OC.L10N.register( "Error moving file." : "Fel vid flytt av fil.", "Error moving file" : "Fel uppstod vid flyttning av fil", "Error" : "Fel", + "{new_name} already exists" : "{new_name} finns redan", "Could not rename file" : "Kan ej byta filnamn", + "Could not create file" : "Kunde ej skapa fil", + "Could not create folder" : "Kunde ej skapa katalog", "Error deleting file." : "Kunde inte ta bort filen.", "Name" : "Namn", "Size" : "Storlek", @@ -57,12 +57,17 @@ OC.L10N.register( "{dirs} and {files}" : "{dirs} och {files}", "You don’t have permission to upload or create files here" : "Du har ej tillåtelse att ladda upp eller skapa filer här", "_Uploading %n file_::_Uploading %n files_" : ["Laddar upp %n fil","Laddar upp %n filer"], + "New" : "Ny", "\"{name}\" is an invalid file name." : "\"{name}\" är ett ogiltligt filnamn.", "File name cannot be empty." : "Filnamn kan inte vara tomt.", "Your storage is full, files can not be updated or synced anymore!" : "Ditt lagringsutrymme är fullt, filer kan inte längre uppdateras eller synkroniseras!", "Your storage is almost full ({usedSpacePercent}%)" : "Ditt lagringsutrymme är nästan fullt ({usedSpacePercent}%)", "Favorited" : "Favoritiserad", "Favorite" : "Favorit", + "Upload" : "Ladda upp", + "Text file" : "Textfil", + "Folder" : "Mapp", + "New folder" : "Ny mapp", "A new file or folder has been <strong>created</strong>" : "En ny fil eller mapp har blivit <strong>skapad</strong>", "A file or folder has been <strong>changed</strong>" : "En ny fil eller mapp har blivit <strong>ändrad</strong>", "A file or folder has been <strong>deleted</strong>" : "En ny fil eller mapp har blivit <strong>raderad</strong>", @@ -86,12 +91,6 @@ OC.L10N.register( "Settings" : "Inställningar", "WebDAV" : "WebDAV", "Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Använd denna adress till <a href=\"%s\" target=\"_blank\">nå dina Filer via WebDAV</a>", - "New" : "Ny", - "New text file" : "Ny textfil", - "Text file" : "Textfil", - "New folder" : "Ny mapp", - "Folder" : "Mapp", - "Upload" : "Ladda upp", "Cancel upload" : "Avbryt uppladdning", "Upload some content or sync with your devices!" : "Ladda upp innehåll eller synkronisera med dina enheter!", "Select all" : "Välj allt", diff --git a/apps/files/l10n/sv.json b/apps/files/l10n/sv.json index c752155dbb9..e6775948cf6 100644 --- a/apps/files/l10n/sv.json +++ b/apps/files/l10n/sv.json @@ -34,9 +34,6 @@ "Upload cancelled." : "Uppladdning avbruten.", "Could not get result from server." : "Gick inte att hämta resultat från server.", "File upload is in progress. Leaving the page now will cancel the upload." : "Filuppladdning pågår. Lämnar du sidan så avbryts uppladdningen.", - "{new_name} already exists" : "{new_name} finns redan", - "Could not create file" : "Kunde ej skapa fil", - "Could not create folder" : "Kunde ej skapa katalog", "Actions" : "Åtgärder", "Download" : "Ladda ner", "Select" : "Välj", @@ -45,7 +42,10 @@ "Error moving file." : "Fel vid flytt av fil.", "Error moving file" : "Fel uppstod vid flyttning av fil", "Error" : "Fel", + "{new_name} already exists" : "{new_name} finns redan", "Could not rename file" : "Kan ej byta filnamn", + "Could not create file" : "Kunde ej skapa fil", + "Could not create folder" : "Kunde ej skapa katalog", "Error deleting file." : "Kunde inte ta bort filen.", "Name" : "Namn", "Size" : "Storlek", @@ -55,12 +55,17 @@ "{dirs} and {files}" : "{dirs} och {files}", "You don’t have permission to upload or create files here" : "Du har ej tillåtelse att ladda upp eller skapa filer här", "_Uploading %n file_::_Uploading %n files_" : ["Laddar upp %n fil","Laddar upp %n filer"], + "New" : "Ny", "\"{name}\" is an invalid file name." : "\"{name}\" är ett ogiltligt filnamn.", "File name cannot be empty." : "Filnamn kan inte vara tomt.", "Your storage is full, files can not be updated or synced anymore!" : "Ditt lagringsutrymme är fullt, filer kan inte längre uppdateras eller synkroniseras!", "Your storage is almost full ({usedSpacePercent}%)" : "Ditt lagringsutrymme är nästan fullt ({usedSpacePercent}%)", "Favorited" : "Favoritiserad", "Favorite" : "Favorit", + "Upload" : "Ladda upp", + "Text file" : "Textfil", + "Folder" : "Mapp", + "New folder" : "Ny mapp", "A new file or folder has been <strong>created</strong>" : "En ny fil eller mapp har blivit <strong>skapad</strong>", "A file or folder has been <strong>changed</strong>" : "En ny fil eller mapp har blivit <strong>ändrad</strong>", "A file or folder has been <strong>deleted</strong>" : "En ny fil eller mapp har blivit <strong>raderad</strong>", @@ -84,12 +89,6 @@ "Settings" : "Inställningar", "WebDAV" : "WebDAV", "Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Använd denna adress till <a href=\"%s\" target=\"_blank\">nå dina Filer via WebDAV</a>", - "New" : "Ny", - "New text file" : "Ny textfil", - "Text file" : "Textfil", - "New folder" : "Ny mapp", - "Folder" : "Mapp", - "Upload" : "Ladda upp", "Cancel upload" : "Avbryt uppladdning", "Upload some content or sync with your devices!" : "Ladda upp innehåll eller synkronisera med dina enheter!", "Select all" : "Välj allt", diff --git a/apps/files/l10n/ta_IN.js b/apps/files/l10n/ta_IN.js index c12b3fc948e..c8453338084 100644 --- a/apps/files/l10n/ta_IN.js +++ b/apps/files/l10n/ta_IN.js @@ -2,6 +2,8 @@ OC.L10N.register( "files", { "Files" : "கோப்புகள்", + "Upload" : "பதிவேற்று", + "New folder" : "புதிய கோப்புறை", "A new file or folder has been <strong>created</strong>" : "ஒரு புதிய கோப்புறை அல்லது ஆவணம் <strong> உருவாக்கப்பட்டுள்ளது.</strong>", "A file or folder has been <strong>changed</strong>" : "ஒரு கோப்புறை அல்லது ஆவணம் <strong>மாற்றம் செய்யப்பட்டுள்ளது.</strong>", "A file or folder has been <strong>deleted</strong>" : "ஒரு கோப்புறை அல்லது ஆவணம் <strong> நீக்கப்பட்டுள்ளது. </strong>", @@ -11,8 +13,6 @@ OC.L10N.register( "%2$s changed %1$s" : "%2$s %1$s 'ல் மாற்றம் செய்துள்ளார். ", "You deleted %1$s" : "நீங்கள் %1$s 'ஐ நீக்கி உள்ளீர்கள்.", "%2$s deleted %1$s" : "%2$s , %1$s 'ஐ நீக்கியுள்ளார்.", - "Settings" : "அமைப்புகள்", - "New folder" : "புதிய கோப்புறை", - "Upload" : "பதிவேற்று" + "Settings" : "அமைப்புகள்" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/files/l10n/ta_IN.json b/apps/files/l10n/ta_IN.json index 086a3416614..392601a3756 100644 --- a/apps/files/l10n/ta_IN.json +++ b/apps/files/l10n/ta_IN.json @@ -1,5 +1,7 @@ { "translations": { "Files" : "கோப்புகள்", + "Upload" : "பதிவேற்று", + "New folder" : "புதிய கோப்புறை", "A new file or folder has been <strong>created</strong>" : "ஒரு புதிய கோப்புறை அல்லது ஆவணம் <strong> உருவாக்கப்பட்டுள்ளது.</strong>", "A file or folder has been <strong>changed</strong>" : "ஒரு கோப்புறை அல்லது ஆவணம் <strong>மாற்றம் செய்யப்பட்டுள்ளது.</strong>", "A file or folder has been <strong>deleted</strong>" : "ஒரு கோப்புறை அல்லது ஆவணம் <strong> நீக்கப்பட்டுள்ளது. </strong>", @@ -9,8 +11,6 @@ "%2$s changed %1$s" : "%2$s %1$s 'ல் மாற்றம் செய்துள்ளார். ", "You deleted %1$s" : "நீங்கள் %1$s 'ஐ நீக்கி உள்ளீர்கள்.", "%2$s deleted %1$s" : "%2$s , %1$s 'ஐ நீக்கியுள்ளார்.", - "Settings" : "அமைப்புகள்", - "New folder" : "புதிய கோப்புறை", - "Upload" : "பதிவேற்று" + "Settings" : "அமைப்புகள்" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/files/l10n/ta_LK.js b/apps/files/l10n/ta_LK.js index ef41c862b4c..90a955e135b 100644 --- a/apps/files/l10n/ta_LK.js +++ b/apps/files/l10n/ta_LK.js @@ -14,25 +14,25 @@ OC.L10N.register( "Close" : "மூடுக", "Upload cancelled." : "பதிவேற்றல் இரத்து செய்யப்பட்டுள்ளது", "File upload is in progress. Leaving the page now will cancel the upload." : "கோப்பு பதிவேற்றம் செயல்பாட்டில் உள்ளது. இந்தப் பக்கத்திலிருந்து வெறியேறுவதானது பதிவேற்றலை இரத்து செய்யும்.", - "{new_name} already exists" : "{new_name} ஏற்கனவே உள்ளது", "Actions" : "செயல்கள்", "Download" : "பதிவிறக்குக", "Select" : "தெரிக", "Pending" : "நிலுவையிலுள்ள", "Error" : "வழு", + "{new_name} already exists" : "{new_name} ஏற்கனவே உள்ளது", "Name" : "பெயர்", "Size" : "அளவு", "Modified" : "மாற்றப்பட்டது", + "New" : "புதிய", "Favorite" : "விருப்பமான", + "Upload" : "பதிவேற்றுக", + "Text file" : "கோப்பு உரை", + "Folder" : "கோப்புறை", "File handling" : "கோப்பு கையாளுதல்", "Maximum upload size" : "பதிவேற்றக்கூடிய ஆகக்கூடிய அளவு ", "max. possible: " : "ஆகக் கூடியது:", "Save" : "சேமிக்க ", "Settings" : "அமைப்புகள்", - "New" : "புதிய", - "Text file" : "கோப்பு உரை", - "Folder" : "கோப்புறை", - "Upload" : "பதிவேற்றுக", "Cancel upload" : "பதிவேற்றலை இரத்து செய்க", "Delete" : "நீக்குக", "Upload too large" : "பதிவேற்றல் மிகப்பெரியது", diff --git a/apps/files/l10n/ta_LK.json b/apps/files/l10n/ta_LK.json index a233c016cad..64220b86744 100644 --- a/apps/files/l10n/ta_LK.json +++ b/apps/files/l10n/ta_LK.json @@ -12,25 +12,25 @@ "Close" : "மூடுக", "Upload cancelled." : "பதிவேற்றல் இரத்து செய்யப்பட்டுள்ளது", "File upload is in progress. Leaving the page now will cancel the upload." : "கோப்பு பதிவேற்றம் செயல்பாட்டில் உள்ளது. இந்தப் பக்கத்திலிருந்து வெறியேறுவதானது பதிவேற்றலை இரத்து செய்யும்.", - "{new_name} already exists" : "{new_name} ஏற்கனவே உள்ளது", "Actions" : "செயல்கள்", "Download" : "பதிவிறக்குக", "Select" : "தெரிக", "Pending" : "நிலுவையிலுள்ள", "Error" : "வழு", + "{new_name} already exists" : "{new_name} ஏற்கனவே உள்ளது", "Name" : "பெயர்", "Size" : "அளவு", "Modified" : "மாற்றப்பட்டது", + "New" : "புதிய", "Favorite" : "விருப்பமான", + "Upload" : "பதிவேற்றுக", + "Text file" : "கோப்பு உரை", + "Folder" : "கோப்புறை", "File handling" : "கோப்பு கையாளுதல்", "Maximum upload size" : "பதிவேற்றக்கூடிய ஆகக்கூடிய அளவு ", "max. possible: " : "ஆகக் கூடியது:", "Save" : "சேமிக்க ", "Settings" : "அமைப்புகள்", - "New" : "புதிய", - "Text file" : "கோப்பு உரை", - "Folder" : "கோப்புறை", - "Upload" : "பதிவேற்றுக", "Cancel upload" : "பதிவேற்றலை இரத்து செய்க", "Delete" : "நீக்குக", "Upload too large" : "பதிவேற்றல் மிகப்பெரியது", diff --git a/apps/files/l10n/te.js b/apps/files/l10n/te.js index 481c994e301..51f6b1c5291 100644 --- a/apps/files/l10n/te.js +++ b/apps/files/l10n/te.js @@ -5,10 +5,10 @@ OC.L10N.register( "Error" : "పొరపాటు", "Name" : "పేరు", "Size" : "పరిమాణం", + "Folder" : "సంచయం", + "New folder" : "కొత్త సంచయం", "Save" : "భద్రపరచు", "Settings" : "అమరికలు", - "New folder" : "కొత్త సంచయం", - "Folder" : "సంచయం", "Delete" : "తొలగించు" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/files/l10n/te.json b/apps/files/l10n/te.json index a836ec02fa8..fa7efa9d702 100644 --- a/apps/files/l10n/te.json +++ b/apps/files/l10n/te.json @@ -3,10 +3,10 @@ "Error" : "పొరపాటు", "Name" : "పేరు", "Size" : "పరిమాణం", + "Folder" : "సంచయం", + "New folder" : "కొత్త సంచయం", "Save" : "భద్రపరచు", "Settings" : "అమరికలు", - "New folder" : "కొత్త సంచయం", - "Folder" : "సంచయం", "Delete" : "తొలగించు" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/files/l10n/th_TH.js b/apps/files/l10n/th_TH.js index 2529d3e8ca8..2b092551a17 100644 --- a/apps/files/l10n/th_TH.js +++ b/apps/files/l10n/th_TH.js @@ -36,9 +36,6 @@ OC.L10N.register( "Upload cancelled." : "การอัพโหลดถูกยกเลิก", "Could not get result from server." : "ไม่สามารถรับผลลัพธ์จากเซิร์ฟเวอร์", "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" : "ไม่สามารถสร้างโฟลเดอร์", "Actions" : "การกระทำ", "Download" : "ดาวน์โหลด", "Select" : "เลือก", @@ -49,7 +46,10 @@ OC.L10N.register( "Error moving file." : "ข้อผิดพลาดในการเคลื่อนย้ายไฟล์", "Error moving file" : "ข้อผิดพลาดในการเคลื่อนย้ายไฟล์", "Error" : "ข้อผิดพลาด", + "{new_name} already exists" : "{new_name} มีอยู่แล้วในระบบ", "Could not rename file" : "ไม่สามารถเปลี่ยนชื่อไฟล์", + "Could not create file" : "ไม่สามารถสร้างไฟล์", + "Could not create folder" : "ไม่สามารถสร้างโฟลเดอร์", "Error deleting file." : "เกิดข้อผิดพลาดในการลบไฟล์", "No entries in this folder match '{filter}'" : "ไม่มีรายการในโฟลเดอร์นี้ที่ตรงกับ '{filter}'", "Name" : "ชื่อ", @@ -60,6 +60,7 @@ OC.L10N.register( "{dirs} and {files}" : "{dirs} และ {files}", "You don’t have permission to upload or create files here" : "คุณไม่ได้รับอนุญาตให้อัพโหลดหรือสร้างไฟล์ที่นี่", "_Uploading %n file_::_Uploading %n files_" : ["อัพโหลด %n ไฟล์"], + "New" : "ใหม่", "\"{name}\" is an invalid file name." : "\"{name}\" เป็นชื่อไฟล์ที่ไม่ถูกต้อง", "File name cannot be empty." : "ชื่อไฟล์ไม่สามารถเว้นว่างได้", "Storage of {owner} is full, files can not be updated or synced anymore!" : "พื้นที่จัดเก็บข้อมูลของ {owner} เต็มแล้ว ไฟล์ไม่สามารถอัพเดทหรือประสานข้อมูลได้อีก!", @@ -71,6 +72,12 @@ OC.L10N.register( "_%n byte_::_%n bytes_" : ["%n ไบต์"], "Favorited" : "รายการโปรด", "Favorite" : "รายการโปรด", + "{newname} already exists" : "{newname} ถูกใช้ไปแล้ว", + "Upload" : "อัพโหลด", + "Text file" : "ไฟล์ข้อความ", + "New text file.txt" : "ไฟล์ข้อความใหม่ .txt", + "Folder" : "แฟ้มเอกสาร", + "New folder" : "โฟลเดอร์ใหม่", "An error occurred while trying to update the tags" : "เกิดข้อผิดพลาดขณะที่พยายามจะปรับปรุงแท็ก", "A new file or folder has been <strong>created</strong>" : "มีไฟล์ใหม่หรือโฟลเดอร์ได้ถูก <strong>สร้างขึ้น!</strong>", "A file or folder has been <strong>changed</strong>" : "มีไฟล์หรือโฟลเดอร์ได้ถูก <strong>เปลี่ยน!</strong>", @@ -98,12 +105,6 @@ OC.L10N.register( "Settings" : "ตั้งค่า", "WebDAV" : "WebDAV", "Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "ใช้ที่อยู่นี้เพื่อ <a href=\"%s\" target=\"_blank\">เข้าถึงไฟล์ของคุณผ่าน WebDAV</a>", - "New" : "ใหม่", - "New text file" : "ไฟล์ข้อความใหม่", - "Text file" : "ไฟล์ข้อความ", - "New folder" : "โฟลเดอร์ใหม่", - "Folder" : "แฟ้มเอกสาร", - "Upload" : "อัพโหลด", "Cancel upload" : "ยกเลิกการอัพโหลด", "No files in here" : "ไม่มีไฟล์ที่นี่", "Upload some content or sync with your devices!" : "อัพโหลดเนื้อหาบางส่วนหรือประสานข้อมูลกับอุปกรณ์ของคุณ! อีกครั้ง", diff --git a/apps/files/l10n/th_TH.json b/apps/files/l10n/th_TH.json index cf4fc24fc0a..3125adc820f 100644 --- a/apps/files/l10n/th_TH.json +++ b/apps/files/l10n/th_TH.json @@ -34,9 +34,6 @@ "Upload cancelled." : "การอัพโหลดถูกยกเลิก", "Could not get result from server." : "ไม่สามารถรับผลลัพธ์จากเซิร์ฟเวอร์", "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" : "ไม่สามารถสร้างโฟลเดอร์", "Actions" : "การกระทำ", "Download" : "ดาวน์โหลด", "Select" : "เลือก", @@ -47,7 +44,10 @@ "Error moving file." : "ข้อผิดพลาดในการเคลื่อนย้ายไฟล์", "Error moving file" : "ข้อผิดพลาดในการเคลื่อนย้ายไฟล์", "Error" : "ข้อผิดพลาด", + "{new_name} already exists" : "{new_name} มีอยู่แล้วในระบบ", "Could not rename file" : "ไม่สามารถเปลี่ยนชื่อไฟล์", + "Could not create file" : "ไม่สามารถสร้างไฟล์", + "Could not create folder" : "ไม่สามารถสร้างโฟลเดอร์", "Error deleting file." : "เกิดข้อผิดพลาดในการลบไฟล์", "No entries in this folder match '{filter}'" : "ไม่มีรายการในโฟลเดอร์นี้ที่ตรงกับ '{filter}'", "Name" : "ชื่อ", @@ -58,6 +58,7 @@ "{dirs} and {files}" : "{dirs} และ {files}", "You don’t have permission to upload or create files here" : "คุณไม่ได้รับอนุญาตให้อัพโหลดหรือสร้างไฟล์ที่นี่", "_Uploading %n file_::_Uploading %n files_" : ["อัพโหลด %n ไฟล์"], + "New" : "ใหม่", "\"{name}\" is an invalid file name." : "\"{name}\" เป็นชื่อไฟล์ที่ไม่ถูกต้อง", "File name cannot be empty." : "ชื่อไฟล์ไม่สามารถเว้นว่างได้", "Storage of {owner} is full, files can not be updated or synced anymore!" : "พื้นที่จัดเก็บข้อมูลของ {owner} เต็มแล้ว ไฟล์ไม่สามารถอัพเดทหรือประสานข้อมูลได้อีก!", @@ -69,6 +70,12 @@ "_%n byte_::_%n bytes_" : ["%n ไบต์"], "Favorited" : "รายการโปรด", "Favorite" : "รายการโปรด", + "{newname} already exists" : "{newname} ถูกใช้ไปแล้ว", + "Upload" : "อัพโหลด", + "Text file" : "ไฟล์ข้อความ", + "New text file.txt" : "ไฟล์ข้อความใหม่ .txt", + "Folder" : "แฟ้มเอกสาร", + "New folder" : "โฟลเดอร์ใหม่", "An error occurred while trying to update the tags" : "เกิดข้อผิดพลาดขณะที่พยายามจะปรับปรุงแท็ก", "A new file or folder has been <strong>created</strong>" : "มีไฟล์ใหม่หรือโฟลเดอร์ได้ถูก <strong>สร้างขึ้น!</strong>", "A file or folder has been <strong>changed</strong>" : "มีไฟล์หรือโฟลเดอร์ได้ถูก <strong>เปลี่ยน!</strong>", @@ -96,12 +103,6 @@ "Settings" : "ตั้งค่า", "WebDAV" : "WebDAV", "Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "ใช้ที่อยู่นี้เพื่อ <a href=\"%s\" target=\"_blank\">เข้าถึงไฟล์ของคุณผ่าน WebDAV</a>", - "New" : "ใหม่", - "New text file" : "ไฟล์ข้อความใหม่", - "Text file" : "ไฟล์ข้อความ", - "New folder" : "โฟลเดอร์ใหม่", - "Folder" : "แฟ้มเอกสาร", - "Upload" : "อัพโหลด", "Cancel upload" : "ยกเลิกการอัพโหลด", "No files in here" : "ไม่มีไฟล์ที่นี่", "Upload some content or sync with your devices!" : "อัพโหลดเนื้อหาบางส่วนหรือประสานข้อมูลกับอุปกรณ์ของคุณ! อีกครั้ง", diff --git a/apps/files/l10n/tr.js b/apps/files/l10n/tr.js index 2145fb5c9fc..157280b696c 100644 --- a/apps/files/l10n/tr.js +++ b/apps/files/l10n/tr.js @@ -36,9 +36,6 @@ OC.L10N.register( "Upload cancelled." : "Yükleme iptal edildi.", "Could not get result from server." : "Sunucudan sonuç alınamadı.", "File upload is in progress. Leaving the page now will cancel the upload." : "Dosya yükleme işlemi sürüyor. Şu anda sayfadan ayrılmak yükleme işlemini iptal edecek.", - "{new_name} already exists" : "{new_name} zaten mevcut", - "Could not create file" : "Dosya oluşturulamadı", - "Could not create folder" : "Klasör oluşturulamadı", "Actions" : "Eylemler", "Download" : "İndir", "Select" : "Seç", @@ -49,7 +46,10 @@ OC.L10N.register( "Error moving file." : "Dosya taşıma hatası.", "Error moving file" : "Dosya taşıma hatası", "Error" : "Hata", + "{new_name} already exists" : "{new_name} zaten mevcut", "Could not rename file" : "Dosya adlandırılamadı", + "Could not create file" : "Dosya oluşturulamadı", + "Could not create folder" : "Klasör oluşturulamadı", "Error deleting file." : "Dosya silinirken hata.", "No entries in this folder match '{filter}'" : "Bu klasörde hiçbir girdi '{filter}' ile eşleşmiyor", "Name" : "İsim", @@ -60,6 +60,7 @@ OC.L10N.register( "{dirs} and {files}" : "{dirs} ve {files}", "You don’t have permission to upload or create files here" : "Buraya dosya yükleme veya oluşturma izniniz yok", "_Uploading %n file_::_Uploading %n files_" : ["%n dosya yükleniyor","%n dosya yükleniyor"], + "New" : "Yeni", "\"{name}\" is an invalid file name." : "\"{name}\" geçersiz bir dosya adı.", "File name cannot be empty." : "Dosya adı boş olamaz.", "Storage of {owner} is full, files can not be updated or synced anymore!" : "{owner} depolama alanı dolu, artık dosyalar güncellenmeyecek yada eşitlenmeyecek.", @@ -71,6 +72,10 @@ OC.L10N.register( "_%n byte_::_%n bytes_" : ["%n bayt","%n bayt"], "Favorited" : "Sık kullanılanlara eklendi", "Favorite" : "Sık kullanılan", + "Upload" : "Yükle", + "Text file" : "Metin dosyası", + "Folder" : "Klasör", + "New folder" : "Yeni klasör", "An error occurred while trying to update the tags" : "Etiketler güncellenmeye çalışılırken bir hata oluştu", "A new file or folder has been <strong>created</strong>" : "Yeni bir dosya veya klasör <strong>oluşturuldu</strong>", "A file or folder has been <strong>changed</strong>" : "Bir dosya veya klasör <strong>değiştirildi</strong>", @@ -98,12 +103,6 @@ OC.L10N.register( "Settings" : "Ayarlar", "WebDAV" : "WebDAV", "Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "<a href=\"%s\" target=\"_blank\">Dosyalarınıza WebDAV aracılığıyla erişmek için</a> bu adresi kullanın", - "New" : "Yeni", - "New text file" : "Yeni metin dosyası", - "Text file" : "Metin dosyası", - "New folder" : "Yeni klasör", - "Folder" : "Klasör", - "Upload" : "Yükle", "Cancel upload" : "Yüklemeyi iptal et", "No files in here" : "Burada hiç dosya yok", "Upload some content or sync with your devices!" : "Bir şeyler yükleyin veya aygıtlarınızla eşitleyin!", diff --git a/apps/files/l10n/tr.json b/apps/files/l10n/tr.json index 5a1e5f9ec7a..8a15f7ff315 100644 --- a/apps/files/l10n/tr.json +++ b/apps/files/l10n/tr.json @@ -34,9 +34,6 @@ "Upload cancelled." : "Yükleme iptal edildi.", "Could not get result from server." : "Sunucudan sonuç alınamadı.", "File upload is in progress. Leaving the page now will cancel the upload." : "Dosya yükleme işlemi sürüyor. Şu anda sayfadan ayrılmak yükleme işlemini iptal edecek.", - "{new_name} already exists" : "{new_name} zaten mevcut", - "Could not create file" : "Dosya oluşturulamadı", - "Could not create folder" : "Klasör oluşturulamadı", "Actions" : "Eylemler", "Download" : "İndir", "Select" : "Seç", @@ -47,7 +44,10 @@ "Error moving file." : "Dosya taşıma hatası.", "Error moving file" : "Dosya taşıma hatası", "Error" : "Hata", + "{new_name} already exists" : "{new_name} zaten mevcut", "Could not rename file" : "Dosya adlandırılamadı", + "Could not create file" : "Dosya oluşturulamadı", + "Could not create folder" : "Klasör oluşturulamadı", "Error deleting file." : "Dosya silinirken hata.", "No entries in this folder match '{filter}'" : "Bu klasörde hiçbir girdi '{filter}' ile eşleşmiyor", "Name" : "İsim", @@ -58,6 +58,7 @@ "{dirs} and {files}" : "{dirs} ve {files}", "You don’t have permission to upload or create files here" : "Buraya dosya yükleme veya oluşturma izniniz yok", "_Uploading %n file_::_Uploading %n files_" : ["%n dosya yükleniyor","%n dosya yükleniyor"], + "New" : "Yeni", "\"{name}\" is an invalid file name." : "\"{name}\" geçersiz bir dosya adı.", "File name cannot be empty." : "Dosya adı boş olamaz.", "Storage of {owner} is full, files can not be updated or synced anymore!" : "{owner} depolama alanı dolu, artık dosyalar güncellenmeyecek yada eşitlenmeyecek.", @@ -69,6 +70,10 @@ "_%n byte_::_%n bytes_" : ["%n bayt","%n bayt"], "Favorited" : "Sık kullanılanlara eklendi", "Favorite" : "Sık kullanılan", + "Upload" : "Yükle", + "Text file" : "Metin dosyası", + "Folder" : "Klasör", + "New folder" : "Yeni klasör", "An error occurred while trying to update the tags" : "Etiketler güncellenmeye çalışılırken bir hata oluştu", "A new file or folder has been <strong>created</strong>" : "Yeni bir dosya veya klasör <strong>oluşturuldu</strong>", "A file or folder has been <strong>changed</strong>" : "Bir dosya veya klasör <strong>değiştirildi</strong>", @@ -96,12 +101,6 @@ "Settings" : "Ayarlar", "WebDAV" : "WebDAV", "Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "<a href=\"%s\" target=\"_blank\">Dosyalarınıza WebDAV aracılığıyla erişmek için</a> bu adresi kullanın", - "New" : "Yeni", - "New text file" : "Yeni metin dosyası", - "Text file" : "Metin dosyası", - "New folder" : "Yeni klasör", - "Folder" : "Klasör", - "Upload" : "Yükle", "Cancel upload" : "Yüklemeyi iptal et", "No files in here" : "Burada hiç dosya yok", "Upload some content or sync with your devices!" : "Bir şeyler yükleyin veya aygıtlarınızla eşitleyin!", diff --git a/apps/files/l10n/ug.js b/apps/files/l10n/ug.js index 8d8dbe886c9..8d6dabd50d7 100644 --- a/apps/files/l10n/ug.js +++ b/apps/files/l10n/ug.js @@ -14,23 +14,23 @@ OC.L10N.register( "Close" : "ياپ", "Upload cancelled." : "يۈكلەشتىن ۋاز كەچتى.", "File upload is in progress. Leaving the page now will cancel the upload." : "ھۆججەت يۈكلەش مەشغۇلاتى ئېلىپ بېرىلىۋاتىدۇ. Leaving the page now will cancel the upload.", - "{new_name} already exists" : "{new_name} مەۋجۇت", "Actions" : "مەشغۇلاتلار", "Download" : "چۈشۈر", "Pending" : "كۈتۈۋاتىدۇ", "Error" : "خاتالىق", + "{new_name} already exists" : "{new_name} مەۋجۇت", "Name" : "ئاتى", "Size" : "چوڭلۇقى", "Modified" : "ئۆزگەرتكەن", + "New" : "يېڭى", "Favorite" : "يىغقۇچ", + "Upload" : "يۈكلە", + "Text file" : "تېكىست ھۆججەت", + "Folder" : "قىسقۇچ", + "New folder" : "يېڭى قىسقۇچ", "Save" : "ساقلا", "Settings" : "تەڭشەكلەر", "WebDAV" : "WebDAV", - "New" : "يېڭى", - "Text file" : "تېكىست ھۆججەت", - "New folder" : "يېڭى قىسقۇچ", - "Folder" : "قىسقۇچ", - "Upload" : "يۈكلە", "Cancel upload" : "يۈكلەشتىن ۋاز كەچ", "Delete" : "ئۆچۈر", "Upload too large" : "يۈكلەندىغىنى بەك چوڭ" diff --git a/apps/files/l10n/ug.json b/apps/files/l10n/ug.json index 0ace5900d0e..86bd8391af2 100644 --- a/apps/files/l10n/ug.json +++ b/apps/files/l10n/ug.json @@ -12,23 +12,23 @@ "Close" : "ياپ", "Upload cancelled." : "يۈكلەشتىن ۋاز كەچتى.", "File upload is in progress. Leaving the page now will cancel the upload." : "ھۆججەت يۈكلەش مەشغۇلاتى ئېلىپ بېرىلىۋاتىدۇ. Leaving the page now will cancel the upload.", - "{new_name} already exists" : "{new_name} مەۋجۇت", "Actions" : "مەشغۇلاتلار", "Download" : "چۈشۈر", "Pending" : "كۈتۈۋاتىدۇ", "Error" : "خاتالىق", + "{new_name} already exists" : "{new_name} مەۋجۇت", "Name" : "ئاتى", "Size" : "چوڭلۇقى", "Modified" : "ئۆزگەرتكەن", + "New" : "يېڭى", "Favorite" : "يىغقۇچ", + "Upload" : "يۈكلە", + "Text file" : "تېكىست ھۆججەت", + "Folder" : "قىسقۇچ", + "New folder" : "يېڭى قىسقۇچ", "Save" : "ساقلا", "Settings" : "تەڭشەكلەر", "WebDAV" : "WebDAV", - "New" : "يېڭى", - "Text file" : "تېكىست ھۆججەت", - "New folder" : "يېڭى قىسقۇچ", - "Folder" : "قىسقۇچ", - "Upload" : "يۈكلە", "Cancel upload" : "يۈكلەشتىن ۋاز كەچ", "Delete" : "ئۆچۈر", "Upload too large" : "يۈكلەندىغىنى بەك چوڭ" diff --git a/apps/files/l10n/uk.js b/apps/files/l10n/uk.js index f695cfb49e5..a06cc2f3d73 100644 --- a/apps/files/l10n/uk.js +++ b/apps/files/l10n/uk.js @@ -36,9 +36,6 @@ OC.L10N.register( "Upload cancelled." : "Вивантаження скасовано.", "Could not get result from server." : "Не вдалося отримати результат від сервера.", "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" : "Не вдалося створити теку", "Actions" : "Дії", "Download" : "Завантажити", "Select" : "Оберіть", @@ -48,7 +45,10 @@ OC.L10N.register( "Error moving file." : "Помилка переміщення файлу.", "Error moving file" : "Помилка переміщення файлу", "Error" : "Помилка", + "{new_name} already exists" : "{new_name} вже існує", "Could not rename file" : "Неможливо перейменувати файл", + "Could not create file" : "Не вдалося створити файл", + "Could not create folder" : "Не вдалося створити теку", "Error deleting file." : "Помилка видалення файлу.", "No entries in this folder match '{filter}'" : "Нічого не знайдено в цій теці '{filter}'", "Name" : "Ім'я", @@ -59,6 +59,7 @@ OC.L10N.register( "{dirs} and {files}" : "{dirs} і {files}", "You don’t have permission to upload or create files here" : "У вас недостатньо прав для вивантаження або створення тут файлів", "_Uploading %n file_::_Uploading %n files_" : ["Вивантаження %n файлу","Вивантаження %n файлів","Вивантаження %n файлів"], + "New" : "Створити", "\"{name}\" is an invalid file name." : "\"{name}\" - некоректне ім'я файлу.", "File name cannot be empty." : " Ім'я файлу не може бути порожнім.", "Your storage is full, files can not be updated or synced anymore!" : "Ваше сховище переповнене, файли більше не можуть бути оновлені або синхронізовані !", @@ -66,6 +67,10 @@ OC.L10N.register( "_matches '{filter}'_::_match '{filter}'_" : ["знайдено '{filter}'","знайдено '{filter}'","знайдено '{filter}'"], "Favorited" : "Улюблений", "Favorite" : "Улюблений", + "Upload" : "Вивантажити", + "Text file" : "Текстовий файл", + "Folder" : "Тека", + "New folder" : "Нова тека", "An error occurred while trying to update the tags" : "Виникла помилка при спробі оновити мітки", "A new file or folder has been <strong>created</strong>" : "Новий файл або теку було <strong>створено</strong>", "A file or folder has been <strong>changed</strong>" : "Файл або теку було <strong> змінено </strong>", @@ -92,12 +97,6 @@ OC.L10N.register( "Settings" : "Налаштування", "WebDAV" : "WebDAV", "Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Для доступу до файлів через WebDAV використовуйте <a href=\"%s\" target=\"_blank\">це посилання</a>", - "New" : "Створити", - "New text file" : "Новий текстовий файл", - "Text file" : "Текстовий файл", - "New folder" : "Нова тека", - "Folder" : "Тека", - "Upload" : "Вивантажити", "Cancel upload" : "Скасувати вивантаження", "No files in here" : "Тут немає файлів", "Upload some content or sync with your devices!" : "Вивантажте щось або синхронізуйте з пристроями!", diff --git a/apps/files/l10n/uk.json b/apps/files/l10n/uk.json index adc124a267f..964ada95de1 100644 --- a/apps/files/l10n/uk.json +++ b/apps/files/l10n/uk.json @@ -34,9 +34,6 @@ "Upload cancelled." : "Вивантаження скасовано.", "Could not get result from server." : "Не вдалося отримати результат від сервера.", "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" : "Не вдалося створити теку", "Actions" : "Дії", "Download" : "Завантажити", "Select" : "Оберіть", @@ -46,7 +43,10 @@ "Error moving file." : "Помилка переміщення файлу.", "Error moving file" : "Помилка переміщення файлу", "Error" : "Помилка", + "{new_name} already exists" : "{new_name} вже існує", "Could not rename file" : "Неможливо перейменувати файл", + "Could not create file" : "Не вдалося створити файл", + "Could not create folder" : "Не вдалося створити теку", "Error deleting file." : "Помилка видалення файлу.", "No entries in this folder match '{filter}'" : "Нічого не знайдено в цій теці '{filter}'", "Name" : "Ім'я", @@ -57,6 +57,7 @@ "{dirs} and {files}" : "{dirs} і {files}", "You don’t have permission to upload or create files here" : "У вас недостатньо прав для вивантаження або створення тут файлів", "_Uploading %n file_::_Uploading %n files_" : ["Вивантаження %n файлу","Вивантаження %n файлів","Вивантаження %n файлів"], + "New" : "Створити", "\"{name}\" is an invalid file name." : "\"{name}\" - некоректне ім'я файлу.", "File name cannot be empty." : " Ім'я файлу не може бути порожнім.", "Your storage is full, files can not be updated or synced anymore!" : "Ваше сховище переповнене, файли більше не можуть бути оновлені або синхронізовані !", @@ -64,6 +65,10 @@ "_matches '{filter}'_::_match '{filter}'_" : ["знайдено '{filter}'","знайдено '{filter}'","знайдено '{filter}'"], "Favorited" : "Улюблений", "Favorite" : "Улюблений", + "Upload" : "Вивантажити", + "Text file" : "Текстовий файл", + "Folder" : "Тека", + "New folder" : "Нова тека", "An error occurred while trying to update the tags" : "Виникла помилка при спробі оновити мітки", "A new file or folder has been <strong>created</strong>" : "Новий файл або теку було <strong>створено</strong>", "A file or folder has been <strong>changed</strong>" : "Файл або теку було <strong> змінено </strong>", @@ -90,12 +95,6 @@ "Settings" : "Налаштування", "WebDAV" : "WebDAV", "Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Для доступу до файлів через WebDAV використовуйте <a href=\"%s\" target=\"_blank\">це посилання</a>", - "New" : "Створити", - "New text file" : "Новий текстовий файл", - "Text file" : "Текстовий файл", - "New folder" : "Нова тека", - "Folder" : "Тека", - "Upload" : "Вивантажити", "Cancel upload" : "Скасувати вивантаження", "No files in here" : "Тут немає файлів", "Upload some content or sync with your devices!" : "Вивантажте щось або синхронізуйте з пристроями!", diff --git a/apps/files/l10n/vi.js b/apps/files/l10n/vi.js index b96c4fca63c..5e83c36abea 100644 --- a/apps/files/l10n/vi.js +++ b/apps/files/l10n/vi.js @@ -31,16 +31,16 @@ OC.L10N.register( "Upload cancelled." : "Hủy tải lên", "Could not get result from server." : "Không thể nhận được kết quả từ máy chủ.", "File upload is in progress. Leaving the page now will cancel the upload." : "Tập tin tải lên đang được xử lý. Nếu bạn rời khỏi trang bây giờ sẽ hủy quá trình này.", - "{new_name} already exists" : "{new_name} đã tồn tại", - "Could not create file" : "Không thể tạo file", - "Could not create folder" : "Không thể tạo thư mục", "Actions" : "Actions", "Download" : "Tải về", "Select" : "Chọn", "Pending" : "Đang chờ", "Error moving file" : "Lỗi di chuyển tập tin", "Error" : "Lỗi", + "{new_name} already exists" : "{new_name} đã tồn tại", "Could not rename file" : "Không thể đổi tên file", + "Could not create file" : "Không thể tạo file", + "Could not create folder" : "Không thể tạo thư mục", "Error deleting file." : "Lỗi xóa file,", "Name" : "Tên", "Size" : "Kích cỡ", @@ -50,10 +50,15 @@ OC.L10N.register( "{dirs} and {files}" : "{dirs} và {files}", "You don’t have permission to upload or create files here" : "Bạn không có quyền upload hoặc tạo files ở đây", "_Uploading %n file_::_Uploading %n files_" : ["Đang tải lên %n tập tin"], + "New" : "Tạo mới", "File name cannot be empty." : "Tên file không được rỗng", "Your storage is full, files can not be updated or synced anymore!" : "Your storage is full, files can not be updated or synced anymore!", "Your storage is almost full ({usedSpacePercent}%)" : "Your storage is almost full ({usedSpacePercent}%)", "Favorite" : "Ưu thích", + "Upload" : "Tải lên", + "Text file" : "Tập tin văn bản", + "Folder" : "Thư mục", + "New folder" : "Tạo thư mục", "%s could not be renamed" : "%s không thể đổi tên", "File handling" : "Xử lý tập tin", "Maximum upload size" : "Kích thước tối đa ", @@ -61,12 +66,6 @@ OC.L10N.register( "Save" : "Lưu", "Settings" : "Cài đặt", "WebDAV" : "WebDAV", - "New" : "Tạo mới", - "New text file" : "File text mới", - "Text file" : "Tập tin văn bản", - "New folder" : "Tạo thư mục", - "Folder" : "Thư mục", - "Upload" : "Tải lên", "Cancel upload" : "Hủy upload", "No entries found in this folder" : "Chưa có mục nào trong thư mục", "Select all" : "Chọn tất cả", diff --git a/apps/files/l10n/vi.json b/apps/files/l10n/vi.json index 38e0e1c3846..285c0e39240 100644 --- a/apps/files/l10n/vi.json +++ b/apps/files/l10n/vi.json @@ -29,16 +29,16 @@ "Upload cancelled." : "Hủy tải lên", "Could not get result from server." : "Không thể nhận được kết quả từ máy chủ.", "File upload is in progress. Leaving the page now will cancel the upload." : "Tập tin tải lên đang được xử lý. Nếu bạn rời khỏi trang bây giờ sẽ hủy quá trình này.", - "{new_name} already exists" : "{new_name} đã tồn tại", - "Could not create file" : "Không thể tạo file", - "Could not create folder" : "Không thể tạo thư mục", "Actions" : "Actions", "Download" : "Tải về", "Select" : "Chọn", "Pending" : "Đang chờ", "Error moving file" : "Lỗi di chuyển tập tin", "Error" : "Lỗi", + "{new_name} already exists" : "{new_name} đã tồn tại", "Could not rename file" : "Không thể đổi tên file", + "Could not create file" : "Không thể tạo file", + "Could not create folder" : "Không thể tạo thư mục", "Error deleting file." : "Lỗi xóa file,", "Name" : "Tên", "Size" : "Kích cỡ", @@ -48,10 +48,15 @@ "{dirs} and {files}" : "{dirs} và {files}", "You don’t have permission to upload or create files here" : "Bạn không có quyền upload hoặc tạo files ở đây", "_Uploading %n file_::_Uploading %n files_" : ["Đang tải lên %n tập tin"], + "New" : "Tạo mới", "File name cannot be empty." : "Tên file không được rỗng", "Your storage is full, files can not be updated or synced anymore!" : "Your storage is full, files can not be updated or synced anymore!", "Your storage is almost full ({usedSpacePercent}%)" : "Your storage is almost full ({usedSpacePercent}%)", "Favorite" : "Ưu thích", + "Upload" : "Tải lên", + "Text file" : "Tập tin văn bản", + "Folder" : "Thư mục", + "New folder" : "Tạo thư mục", "%s could not be renamed" : "%s không thể đổi tên", "File handling" : "Xử lý tập tin", "Maximum upload size" : "Kích thước tối đa ", @@ -59,12 +64,6 @@ "Save" : "Lưu", "Settings" : "Cài đặt", "WebDAV" : "WebDAV", - "New" : "Tạo mới", - "New text file" : "File text mới", - "Text file" : "Tập tin văn bản", - "New folder" : "Tạo thư mục", - "Folder" : "Thư mục", - "Upload" : "Tải lên", "Cancel upload" : "Hủy upload", "No entries found in this folder" : "Chưa có mục nào trong thư mục", "Select all" : "Chọn tất cả", diff --git a/apps/files/l10n/zh_CN.js b/apps/files/l10n/zh_CN.js index 9633e2961a9..84b31368a14 100644 --- a/apps/files/l10n/zh_CN.js +++ b/apps/files/l10n/zh_CN.js @@ -36,9 +36,6 @@ OC.L10N.register( "Upload cancelled." : "上传已取消", "Could not get result from server." : "不能从服务器得到结果", "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" : "不能创建文件夹", "Actions" : "动作", "Download" : "下载", "Select" : "选择", @@ -49,7 +46,10 @@ OC.L10N.register( "Error moving file." : "移动文件出错。", "Error moving file" : "移动文件错误", "Error" : "错误", + "{new_name} already exists" : "{new_name} 已存在", "Could not rename file" : "不能重命名文件", + "Could not create file" : "不能创建文件", + "Could not create folder" : "不能创建文件夹", "Error deleting file." : "删除文件出错。", "No entries in this folder match '{filter}'" : "此文件夹中无项目匹配“{filter}”", "Name" : "名称", @@ -60,6 +60,7 @@ OC.L10N.register( "{dirs} and {files}" : "{dirs} 和 {files}", "You don’t have permission to upload or create files here" : "您没有权限来上传湖州哦和创建文件", "_Uploading %n file_::_Uploading %n files_" : ["上传 %n 个文件"], + "New" : "新建", "\"{name}\" is an invalid file name." : "“{name}”是一个无效的文件名。", "File name cannot be empty." : "文件名不能为空。", "Storage of {owner} is full, files can not be updated or synced anymore!" : "{owner} 的存储空间已满,文件将无法更新或同步!", @@ -71,6 +72,10 @@ OC.L10N.register( "_%n byte_::_%n bytes_" : ["%n 字节"], "Favorited" : "已收藏", "Favorite" : "收藏", + "Upload" : "上传", + "Text file" : "文本文件", + "Folder" : "文件夹", + "New folder" : "增加文件夹", "An error occurred while trying to update the tags" : "更新标签时出错", "A new file or folder has been <strong>created</strong>" : "一个新的文件或文件夹已被<strong>创建</strong>", "A file or folder has been <strong>changed</strong>" : "一个文件或文件夹已被<strong>修改</strong>", @@ -98,12 +103,6 @@ OC.L10N.register( "Settings" : "设置", "WebDAV" : "WebDAV", "Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "使用这个地址 <a href=\"%s\" target=\"_blank\">通过 WebDAV 访问您的文件</a>", - "New" : "新建", - "New text file" : "创建文本文件", - "Text file" : "文本文件", - "New folder" : "增加文件夹", - "Folder" : "文件夹", - "Upload" : "上传", "Cancel upload" : "取消上传", "No files in here" : "无文件", "Upload some content or sync with your devices!" : "上传一些内容或者与设备同步!", diff --git a/apps/files/l10n/zh_CN.json b/apps/files/l10n/zh_CN.json index b803908729f..4d9a3737a98 100644 --- a/apps/files/l10n/zh_CN.json +++ b/apps/files/l10n/zh_CN.json @@ -34,9 +34,6 @@ "Upload cancelled." : "上传已取消", "Could not get result from server." : "不能从服务器得到结果", "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" : "不能创建文件夹", "Actions" : "动作", "Download" : "下载", "Select" : "选择", @@ -47,7 +44,10 @@ "Error moving file." : "移动文件出错。", "Error moving file" : "移动文件错误", "Error" : "错误", + "{new_name} already exists" : "{new_name} 已存在", "Could not rename file" : "不能重命名文件", + "Could not create file" : "不能创建文件", + "Could not create folder" : "不能创建文件夹", "Error deleting file." : "删除文件出错。", "No entries in this folder match '{filter}'" : "此文件夹中无项目匹配“{filter}”", "Name" : "名称", @@ -58,6 +58,7 @@ "{dirs} and {files}" : "{dirs} 和 {files}", "You don’t have permission to upload or create files here" : "您没有权限来上传湖州哦和创建文件", "_Uploading %n file_::_Uploading %n files_" : ["上传 %n 个文件"], + "New" : "新建", "\"{name}\" is an invalid file name." : "“{name}”是一个无效的文件名。", "File name cannot be empty." : "文件名不能为空。", "Storage of {owner} is full, files can not be updated or synced anymore!" : "{owner} 的存储空间已满,文件将无法更新或同步!", @@ -69,6 +70,10 @@ "_%n byte_::_%n bytes_" : ["%n 字节"], "Favorited" : "已收藏", "Favorite" : "收藏", + "Upload" : "上传", + "Text file" : "文本文件", + "Folder" : "文件夹", + "New folder" : "增加文件夹", "An error occurred while trying to update the tags" : "更新标签时出错", "A new file or folder has been <strong>created</strong>" : "一个新的文件或文件夹已被<strong>创建</strong>", "A file or folder has been <strong>changed</strong>" : "一个文件或文件夹已被<strong>修改</strong>", @@ -96,12 +101,6 @@ "Settings" : "设置", "WebDAV" : "WebDAV", "Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "使用这个地址 <a href=\"%s\" target=\"_blank\">通过 WebDAV 访问您的文件</a>", - "New" : "新建", - "New text file" : "创建文本文件", - "Text file" : "文本文件", - "New folder" : "增加文件夹", - "Folder" : "文件夹", - "Upload" : "上传", "Cancel upload" : "取消上传", "No files in here" : "无文件", "Upload some content or sync with your devices!" : "上传一些内容或者与设备同步!", diff --git a/apps/files/l10n/zh_HK.js b/apps/files/l10n/zh_HK.js index 02193710b4e..94f4397f23b 100644 --- a/apps/files/l10n/zh_HK.js +++ b/apps/files/l10n/zh_HK.js @@ -11,6 +11,10 @@ OC.L10N.register( "Name" : "名稱", "Size" : "大小", "{dirs} and {files}" : "{dirs} 和 {files}", + "New" : "新增", + "Upload" : "上戴", + "Folder" : "資料夾", + "New folder" : "新資料夾", "A new file or folder has been <strong>created</strong>" : "新檔案或資料夾已被 <strong> 新增 </strong>", "A file or folder has been <strong>changed</strong>" : "檔案或資料夾已被 <strong> 變成 </strong>", "A file or folder has been <strong>deleted</strong>" : "新檔案或資料夾已被 <strong> 刪除 </strong>", @@ -23,10 +27,6 @@ OC.L10N.register( "Save" : "儲存", "Settings" : "設定", "WebDAV" : "WebDAV", - "New" : "新增", - "New folder" : "新資料夾", - "Folder" : "資料夾", - "Upload" : "上戴", "Cancel upload" : "取消上戴", "Delete" : "刪除" }, diff --git a/apps/files/l10n/zh_HK.json b/apps/files/l10n/zh_HK.json index 23f24afa0a6..63716aca559 100644 --- a/apps/files/l10n/zh_HK.json +++ b/apps/files/l10n/zh_HK.json @@ -9,6 +9,10 @@ "Name" : "名稱", "Size" : "大小", "{dirs} and {files}" : "{dirs} 和 {files}", + "New" : "新增", + "Upload" : "上戴", + "Folder" : "資料夾", + "New folder" : "新資料夾", "A new file or folder has been <strong>created</strong>" : "新檔案或資料夾已被 <strong> 新增 </strong>", "A file or folder has been <strong>changed</strong>" : "檔案或資料夾已被 <strong> 變成 </strong>", "A file or folder has been <strong>deleted</strong>" : "新檔案或資料夾已被 <strong> 刪除 </strong>", @@ -21,10 +25,6 @@ "Save" : "儲存", "Settings" : "設定", "WebDAV" : "WebDAV", - "New" : "新增", - "New folder" : "新資料夾", - "Folder" : "資料夾", - "Upload" : "上戴", "Cancel upload" : "取消上戴", "Delete" : "刪除" },"pluralForm" :"nplurals=1; plural=0;" diff --git a/apps/files/l10n/zh_TW.js b/apps/files/l10n/zh_TW.js index eeefcd95884..7c013533e2a 100644 --- a/apps/files/l10n/zh_TW.js +++ b/apps/files/l10n/zh_TW.js @@ -36,9 +36,6 @@ OC.L10N.register( "Upload cancelled." : "上傳已取消", "Could not get result from server." : "無法從伺服器取回結果", "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" : "無法建立資料夾", "Actions" : "動作", "Download" : "下載", "Select" : "選擇", @@ -48,7 +45,10 @@ OC.L10N.register( "Error moving file." : "移動檔案發生錯誤", "Error moving file" : "移動檔案失敗", "Error" : "錯誤", + "{new_name} already exists" : "{new_name} 已經存在", "Could not rename file" : "無法重新命名", + "Could not create file" : "無法建立檔案", + "Could not create folder" : "無法建立資料夾", "Error deleting file." : "刪除檔案發生錯誤", "No entries in this folder match '{filter}'" : "在此資料夾中沒有項目與 '{filter}' 相符", "Name" : "名稱", @@ -59,6 +59,7 @@ OC.L10N.register( "{dirs} and {files}" : "{dirs} 和 {files}", "You don’t have permission to upload or create files here" : "您沒有權限在這裡上傳或建立檔案", "_Uploading %n file_::_Uploading %n files_" : ["%n 個檔案正在上傳"], + "New" : "新增", "\"{name}\" is an invalid file name." : "{name} 是無效的檔名", "File name cannot be empty." : "檔名不能為空", "Storage of {owner} is full, files can not be updated or synced anymore!" : "{owner} 的儲存空間已滿,沒有辦法再更新或是同步檔案!", @@ -69,6 +70,10 @@ OC.L10N.register( "_%n byte_::_%n bytes_" : ["%n 位元組"], "Favorited" : "已加入最愛", "Favorite" : "我的最愛", + "Upload" : "上傳", + "Text file" : "文字檔", + "Folder" : "資料夾", + "New folder" : "新資料夾", "An error occurred while trying to update the tags" : "更新標籤時發生錯誤", "A new file or folder has been <strong>created</strong>" : "新的檔案或目錄已被 <strong>建立</strong>", "A file or folder has been <strong>changed</strong>" : "檔案或目錄已被 <strong>變更</strong>", @@ -93,12 +98,6 @@ OC.L10N.register( "Settings" : "設定", "WebDAV" : "WebDAV", "Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "使用這個地址<a href=\"%s\" target=\"_blank\">來透過 WebDAV 存取檔案</a>", - "New" : "新增", - "New text file" : "新文字檔", - "Text file" : "文字檔", - "New folder" : "新資料夾", - "Folder" : "資料夾", - "Upload" : "上傳", "Cancel upload" : "取消上傳", "No files in here" : "沒有任何檔案", "Upload some content or sync with your devices!" : "在您的裝置中同步或上傳一些內容", diff --git a/apps/files/l10n/zh_TW.json b/apps/files/l10n/zh_TW.json index 84af9fae39e..9d1aec9e4f2 100644 --- a/apps/files/l10n/zh_TW.json +++ b/apps/files/l10n/zh_TW.json @@ -34,9 +34,6 @@ "Upload cancelled." : "上傳已取消", "Could not get result from server." : "無法從伺服器取回結果", "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" : "無法建立資料夾", "Actions" : "動作", "Download" : "下載", "Select" : "選擇", @@ -46,7 +43,10 @@ "Error moving file." : "移動檔案發生錯誤", "Error moving file" : "移動檔案失敗", "Error" : "錯誤", + "{new_name} already exists" : "{new_name} 已經存在", "Could not rename file" : "無法重新命名", + "Could not create file" : "無法建立檔案", + "Could not create folder" : "無法建立資料夾", "Error deleting file." : "刪除檔案發生錯誤", "No entries in this folder match '{filter}'" : "在此資料夾中沒有項目與 '{filter}' 相符", "Name" : "名稱", @@ -57,6 +57,7 @@ "{dirs} and {files}" : "{dirs} 和 {files}", "You don’t have permission to upload or create files here" : "您沒有權限在這裡上傳或建立檔案", "_Uploading %n file_::_Uploading %n files_" : ["%n 個檔案正在上傳"], + "New" : "新增", "\"{name}\" is an invalid file name." : "{name} 是無效的檔名", "File name cannot be empty." : "檔名不能為空", "Storage of {owner} is full, files can not be updated or synced anymore!" : "{owner} 的儲存空間已滿,沒有辦法再更新或是同步檔案!", @@ -67,6 +68,10 @@ "_%n byte_::_%n bytes_" : ["%n 位元組"], "Favorited" : "已加入最愛", "Favorite" : "我的最愛", + "Upload" : "上傳", + "Text file" : "文字檔", + "Folder" : "資料夾", + "New folder" : "新資料夾", "An error occurred while trying to update the tags" : "更新標籤時發生錯誤", "A new file or folder has been <strong>created</strong>" : "新的檔案或目錄已被 <strong>建立</strong>", "A file or folder has been <strong>changed</strong>" : "檔案或目錄已被 <strong>變更</strong>", @@ -91,12 +96,6 @@ "Settings" : "設定", "WebDAV" : "WebDAV", "Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "使用這個地址<a href=\"%s\" target=\"_blank\">來透過 WebDAV 存取檔案</a>", - "New" : "新增", - "New text file" : "新文字檔", - "Text file" : "文字檔", - "New folder" : "新資料夾", - "Folder" : "資料夾", - "Upload" : "上傳", "Cancel upload" : "取消上傳", "No files in here" : "沒有任何檔案", "Upload some content or sync with your devices!" : "在您的裝置中同步或上傳一些內容", diff --git a/apps/files/templates/list.php b/apps/files/templates/list.php index 32651b261da..15af1970dc3 100644 --- a/apps/files/templates/list.php +++ b/apps/files/templates/list.php @@ -1,40 +1,16 @@ <div id="controls"> <div class="actions creatable hidden"> - <?php if(!isset($_['dirToken'])):?> - <div id="new" class="button"> - <a><?php p($l->t('New'));?></a> - <ul> - <li class="icon-filetype-text svg" - data-type="file" data-newname="<?php p($l->t('New text file')) ?>.txt"> - <p><?php p($l->t('Text file'));?></p> - </li> - <li class="icon-filetype-folder svg" - data-type="folder" data-newname="<?php p($l->t('New folder')) ?>"> - <p><?php p($l->t('Folder'));?></p> - </li> - </ul> - </div> - <?php endif;?> - <?php /* Note: the template attributes are here only for the public page. These are normally loaded - through ajax instead (updateStorageStatistics). - */ ?> - <div id="upload" class="button" + <?php /* + Only show upload button for public page + */ ?> + <?php if(isset($_['dirToken'])):?> + <div id="upload" class="button upload" title="<?php isset($_['uploadMaxHumanFilesize']) ? p($l->t('Upload (max. %s)', array($_['uploadMaxHumanFilesize']))) : '' ?>"> - <input type="hidden" id="max_upload" name="MAX_FILE_SIZE" value="<?php isset($_['uploadMaxFilesize']) ? p($_['uploadMaxFilesize']) : '' ?>"> - <input type="hidden" id="upload_limit" value="<?php isset($_['uploadLimit']) ? p($_['uploadLimit']) : '' ?>"> - <input type="hidden" id="free_space" value="<?php isset($_['freeSpace']) ? p($_['freeSpace']) : '' ?>"> - <?php if(isset($_['dirToken'])):?> - <input type="hidden" id="publicUploadRequestToken" name="requesttoken" value="<?php p($_['requesttoken']) ?>" /> - <input type="hidden" id="dirToken" name="dirToken" value="<?php p($_['dirToken']) ?>" /> - <?php endif;?> - <input type="hidden" class="max_human_file_size" - value="(max <?php isset($_['uploadMaxHumanFilesize']) ? p($_['uploadMaxHumanFilesize']) : ''; ?>)"> - <input type="file" id="file_upload_start" name='files[]' - data-url="<?php print_unescaped(OCP\Util::linkTo('files', 'ajax/upload.php')); ?>" /> <label for="file_upload_start" class="svg icon-upload"> <span class="hidden-visually"><?php p($l->t('Upload'))?></span> </label> </div> + <?php endif; ?> <div id="uploadprogresswrapper"> <div id="uploadprogressbar"></div> <button class="stop icon-close" style="display:none"> @@ -48,7 +24,19 @@ <div class="notCreatable notPublic hidden"> <?php p($l->t('You don’t have permission to upload or create files here'))?> </div> + <?php /* Note: the template attributes are here only for the public page. These are normally loaded + through ajax instead (updateStorageStatistics). + */ ?> <input type="hidden" name="permissions" value="" id="permissions"> + <input type="hidden" id="max_upload" name="MAX_FILE_SIZE" value="<?php isset($_['uploadMaxFilesize']) ? p($_['uploadMaxFilesize']) : '' ?>"> + <input type="hidden" id="upload_limit" value="<?php isset($_['uploadLimit']) ? p($_['uploadLimit']) : '' ?>"> + <input type="hidden" id="free_space" value="<?php isset($_['freeSpace']) ? p($_['freeSpace']) : '' ?>"> + <?php if(isset($_['dirToken'])):?> + <input type="hidden" id="publicUploadRequestToken" name="requesttoken" value="<?php p($_['requesttoken']) ?>" /> + <input type="hidden" id="dirToken" name="dirToken" value="<?php p($_['dirToken']) ?>" /> + <?php endif;?> + <input type="hidden" class="max_human_file_size" + value="(max <?php isset($_['uploadMaxHumanFilesize']) ? p($_['uploadMaxHumanFilesize']) : ''; ?>)"> </div> <div id="emptycontent" class="hidden"> @@ -101,6 +89,10 @@ </tfoot> </table> <input type="hidden" name="dir" id="dir" value="" /> +<div class="hiddenuploadfield"> + <input type="file" id="file_upload_start" class="hiddenuploadfield" name="files[]" + data-url="<?php print_unescaped(OCP\Util::linkTo('files', 'ajax/upload.php')); ?>" /> +</div> <div id="editor"></div><!-- FIXME Do not use this div in your app! It is deprecated and will be removed in the future! --> <div id="uploadsize-message" title="<?php p($l->t('Upload too large'))?>"> <p> diff --git a/apps/files/tests/js/fileUploadSpec.js b/apps/files/tests/js/fileUploadSpec.js index 817654c4fa9..cad8468d1c8 100644 --- a/apps/files/tests/js/fileUploadSpec.js +++ b/apps/files/tests/js/fileUploadSpec.js @@ -19,7 +19,6 @@ * */ -/* global OC */ describe('OC.Upload tests', function() { var $dummyUploader; var testFile; @@ -118,54 +117,4 @@ describe('OC.Upload tests', function() { ); }); }); - describe('New file', function() { - var $input; - var currentDirStub; - - beforeEach(function() { - OC.Upload.init(); - $('#new>a').click(); - $('#new li[data-type=file]').click(); - $input = $('#new input[type=text]'); - - currentDirStub = sinon.stub(FileList, 'getCurrentDirectory'); - currentDirStub.returns('testdir'); - }); - afterEach(function() { - currentDirStub.restore(); - }); - it('sets default text in field', function() { - expect($input.length).toEqual(1); - expect($input.val()).toEqual('New text file.txt'); - }); - it('creates file when enter is pressed', function() { - $input.val('somefile.txt'); - $input.trigger(new $.Event('keyup', {keyCode: 13})); - $input.parent('form').submit(); - expect(fakeServer.requests.length).toEqual(2); - - var request = fakeServer.requests[1]; - expect(request.method).toEqual('POST'); - expect(request.url).toEqual(OC.webroot + '/index.php/apps/files/ajax/newfile.php'); - var query = OC.parseQueryString(request.requestBody); - expect(query).toEqual({ - dir: 'testdir', - filename: 'somefile.txt' - }); - }); - it('prevents entering invalid file names', function() { - $input.val('..'); - $input.trigger(new $.Event('keyup', {keyCode: 13})); - $input.parent('form').submit(); - expect(fakeServer.requests.length).toEqual(1); - }); - it('prevents entering file names that already exist', function() { - var inListStub = sinon.stub(FileList, 'inList').returns(true); - $input.val('existing.txt'); - $input.trigger(new $.Event('keyup', {keyCode: 13})); - $input.parent('form').submit(); - expect(fakeServer.requests.length).toEqual(1); - inListStub.restore(); - }); - }); }); diff --git a/apps/files/tests/js/filelistSpec.js b/apps/files/tests/js/filelistSpec.js index a6d72a88efd..c05e7c37214 100644 --- a/apps/files/tests/js/filelistSpec.js +++ b/apps/files/tests/js/filelistSpec.js @@ -2157,6 +2157,93 @@ describe('OCA.Files.FileList tests', function() { expect(fileList.$fileList.find('tr').length).toEqual(5); }); }); + describe('create file', function() { + var deferredCreate; + + beforeEach(function() { + deferredCreate = $.Deferred(); + }); + + it('creates file with given name and adds it to the list', function() { + var deferred = fileList.createFile('test file.txt'); + var successStub = sinon.stub(); + var failureStub = sinon.stub(); + + deferred.done(successStub); + deferred.fail(failureStub); + + expect(fakeServer.requests.length).toEqual(1); + expect(fakeServer.requests[0].url).toEqual(OC.generateUrl('/apps/files/ajax/newfile.php')); + + var query = fakeServer.requests[0].requestBody; + expect(OC.parseQueryString(query)).toEqual({ + dir: '/subdir', + filename: 'test file.txt' + }); + + fakeServer.requests[0].respond( + 200, + { 'Content-Type': 'application/json' }, + JSON.stringify({ + status: 'success', + data: { + path: '/subdir', + name: 'test file.txt', + mimetype: 'text/plain' + } + }) + ); + + var $tr = fileList.findFileEl('test file.txt'); + expect($tr.length).toEqual(1); + expect($tr.attr('data-mime')).toEqual('text/plain'); + + expect(successStub.calledOnce).toEqual(true); + expect(failureStub.notCalled).toEqual(true); + }); + // TODO: error cases + // TODO: unique name cases + }); + describe('create directory', function() { + it('creates directory with given name and adds it to the list', function() { + var deferred = fileList.createDirectory('test directory'); + var successStub = sinon.stub(); + var failureStub = sinon.stub(); + + deferred.done(successStub); + deferred.fail(failureStub); + + expect(fakeServer.requests.length).toEqual(1); + expect(fakeServer.requests[0].url).toEqual(OC.generateUrl('/apps/files/ajax/newfolder.php')); + var query = fakeServer.requests[0].requestBody; + expect(OC.parseQueryString(query)).toEqual({ + dir: '/subdir', + foldername: 'test directory' + }); + + fakeServer.requests[0].respond( + 200, + { 'Content-Type': 'application/json' }, + JSON.stringify({ + status: 'success', + data: { + path: '/subdir', + name: 'test directory', + mimetype: 'httpd/unix-directory' + } + }) + ); + + var $tr = fileList.findFileEl('test directory'); + expect($tr.length).toEqual(1); + expect($tr.attr('data-mime')).toEqual('httpd/unix-directory'); + + expect(successStub.calledOnce).toEqual(true); + expect(failureStub.notCalled).toEqual(true); + }); + // TODO: error cases + // TODO: unique name cases + }); /** * Test upload mostly by testing the code inside the event handlers * that were registered on the magic upload object @@ -2359,4 +2446,36 @@ describe('OCA.Files.FileList tests', function() { expect(fileInfo.type).toEqual('file'); }); }); + describe('new file menu', function() { + var newFileMenuStub; + + beforeEach(function() { + newFileMenuStub = sinon.stub(OCA.Files.NewFileMenu.prototype, 'showAt'); + }); + afterEach(function() { + newFileMenuStub.restore(); + }) + it('renders new button when no legacy upload button exists', function() { + expect(fileList.$el.find('.button.upload').length).toEqual(0); + expect(fileList.$el.find('.button.new').length).toEqual(1); + }); + it('does not render new button when no legacy upload button exists (public page)', function() { + fileList.destroy(); + $('#controls').append('<input type="button" class="button upload" />'); + fileList = new OCA.Files.FileList($('#app-content-files')); + expect(fileList.$el.find('.button.upload').length).toEqual(1); + expect(fileList.$el.find('.button.new').length).toEqual(0); + }); + it('opens the new file menu when clicking on the "New" button', function() { + var $button = fileList.$el.find('.button.new'); + $button.click(); + expect(newFileMenuStub.calledOnce).toEqual(true); + }); + it('does not open the new file menu when button is disabled', function() { + var $button = fileList.$el.find('.button.new'); + $button.addClass('disabled'); + $button.click(); + expect(newFileMenuStub.notCalled).toEqual(true); + }); + }); }); diff --git a/apps/files/tests/js/newfilemenuSpec.js b/apps/files/tests/js/newfilemenuSpec.js new file mode 100644 index 00000000000..3d89a997eb2 --- /dev/null +++ b/apps/files/tests/js/newfilemenuSpec.js @@ -0,0 +1,119 @@ +/** +* ownCloud +* +* @author Vincent Petry +* @copyright 2015 Vincent Petry <pvince81@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/>. +* +*/ + +describe('OCA.Files.NewFileMenu', function() { + var FileList = OCA.Files.FileList; + var menu, fileList, $uploadField, $trigger; + + beforeEach(function() { + // dummy upload button + var $container = $('<div id="app-content-files"></div>'); + $uploadField = $('<input id="file_upload_start"></input>'); + $trigger = $('<a href="#">Menu</a>'); + $container.append($uploadField).append($trigger); + $('#testArea').append($container); + + fileList = new FileList($container); + menu = new OCA.Files.NewFileMenu({ + fileList: fileList + }); + menu.showAt($trigger); + }); + afterEach(function() { + OC.hideMenus(); + fileList = null; + menu = null; + }); + + describe('rendering', function() { + it('renders menu items', function() { + var $items = menu.$el.find('.menuitem'); + expect($items.length).toEqual(3); + // label points to the file_upload_start item + var $item = $items.eq(0); + expect($item.is('label')).toEqual(true); + expect($item.attr('for')).toEqual('file_upload_start'); + }); + }); + describe('New file/folder', function() { + var $input; + var createFileStub; + var createDirectoryStub; + + beforeEach(function() { + createFileStub = sinon.stub(FileList.prototype, 'createFile'); + createDirectoryStub = sinon.stub(FileList.prototype, 'createDirectory'); + menu.$el.find('.menuitem').eq(1).click(); + $input = menu.$el.find('form.filenameform input'); + }); + afterEach(function() { + createFileStub.restore(); + createDirectoryStub.restore(); + }); + + it('sets default text in field', function() { + expect($input.length).toEqual(1); + expect($input.val()).toEqual('New text file.txt'); + }); + it('creates file when enter is pressed', function() { + $input.val('somefile.txt'); + $input.trigger(new $.Event('keyup', {keyCode: 13})); + $input.parent('form').submit(); + + expect(createFileStub.calledOnce).toEqual(true); + expect(createFileStub.getCall(0).args[0]).toEqual('somefile.txt'); + expect(createDirectoryStub.notCalled).toEqual(true); + }); + it('prevents entering invalid file names', function() { + $input.val('..'); + $input.trigger(new $.Event('keyup', {keyCode: 13})); + $input.closest('form').submit(); + + expect(createFileStub.notCalled).toEqual(true); + expect(createDirectoryStub.notCalled).toEqual(true); + }); + it('prevents entering file names that already exist', function() { + var inListStub = sinon.stub(fileList, 'inList').returns(true); + $input.val('existing.txt'); + $input.trigger(new $.Event('keyup', {keyCode: 13})); + $input.closest('form').submit(); + + expect(createFileStub.notCalled).toEqual(true); + expect(createDirectoryStub.notCalled).toEqual(true); + inListStub.restore(); + }); + it('switching fields removes the previous form', function() { + menu.$el.find('.menuitem').eq(2).click(); + expect(menu.$el.find('form').length).toEqual(1); + }); + it('creates directory when clicking on create directory field', function() { + menu.$el.find('.menuitem').eq(2).click(); + $input = menu.$el.find('form.filenameform input'); + $input.val('some folder'); + $input.trigger(new $.Event('keyup', {keyCode: 13})); + $input.closest('form').submit(); + + expect(createDirectoryStub.calledOnce).toEqual(true); + expect(createDirectoryStub.getCall(0).args[0]).toEqual('some folder'); + expect(createFileStub.notCalled).toEqual(true); + }); + }); +}); diff --git a/apps/files/tests/js/tagspluginspec.js b/apps/files/tests/js/tagspluginspec.js index 950fb754253..533aa63362c 100644 --- a/apps/files/tests/js/tagspluginspec.js +++ b/apps/files/tests/js/tagspluginspec.js @@ -79,12 +79,12 @@ describe('OCA.Files.TagsPlugin tests', function() { it('sends request to server and updates icon', function() { var request; fileList.setFiles(testFiles); - $tr = fileList.$el.find('tbody tr:first'); - $action = $tr.find('.action-favorite'); + var $tr = fileList.findFileEl('One.txt'); + var $action = $tr.find('.action-favorite'); $action.click(); expect(fakeServer.requests.length).toEqual(1); - var request = fakeServer.requests[0]; + request = fakeServer.requests[0]; expect(JSON.parse(request.requestBody)).toEqual({ tags: ['tag1', 'tag2', OC.TAG_FAVORITE] }); @@ -92,12 +92,18 @@ describe('OCA.Files.TagsPlugin tests', function() { tags: ['tag1', 'tag2', 'tag3', OC.TAG_FAVORITE] })); + // re-read the element as it was re-inserted + $tr = fileList.findFileEl('One.txt'); + $action = $tr.find('.action-favorite'); + expect($tr.attr('data-favorite')).toEqual('true'); expect($tr.attr('data-tags').split('|')).toEqual(['tag1', 'tag2', 'tag3', OC.TAG_FAVORITE]); expect(fileList.files[0].tags).toEqual(['tag1', 'tag2', 'tag3', OC.TAG_FAVORITE]); expect($action.find('img').attr('src')).toEqual(OC.imagePath('core', 'actions/starred')); $action.click(); + + expect(fakeServer.requests.length).toEqual(2); request = fakeServer.requests[1]; expect(JSON.parse(request.requestBody)).toEqual({ tags: ['tag1', 'tag2', 'tag3'] @@ -106,7 +112,11 @@ describe('OCA.Files.TagsPlugin tests', function() { tags: ['tag1', 'tag2', 'tag3'] })); - expect($tr.attr('data-favorite')).toEqual('false'); + // re-read the element as it was re-inserted + $tr = fileList.findFileEl('One.txt'); + $action = $tr.find('.action-favorite'); + + expect($tr.attr('data-favorite')).toBeFalsy(); expect($tr.attr('data-tags').split('|')).toEqual(['tag1', 'tag2', 'tag3']); expect(fileList.files[0].tags).toEqual(['tag1', 'tag2', 'tag3']); expect($action.find('img').attr('src')).toEqual(OC.imagePath('core', 'actions/star')); diff --git a/apps/files_external/appinfo/app.php b/apps/files_external/appinfo/app.php index 9db4b0a6330..f33012b5f09 100644 --- a/apps/files_external/appinfo/app.php +++ b/apps/files_external/appinfo/app.php @@ -37,11 +37,9 @@ OC::$CLASSPATH['OC\Files\Storage\OwnCloud'] = 'files_external/lib/owncloud.php'; OC::$CLASSPATH['OC\Files\Storage\Google'] = 'files_external/lib/google.php'; OC::$CLASSPATH['OC\Files\Storage\Swift'] = 'files_external/lib/swift.php'; OC::$CLASSPATH['OC\Files\Storage\SMB'] = 'files_external/lib/smb.php'; -OC::$CLASSPATH['OC\Files\Storage\SMB_OC'] = 'files_external/lib/smb_oc.php'; OC::$CLASSPATH['OC\Files\Storage\AmazonS3'] = 'files_external/lib/amazons3.php'; OC::$CLASSPATH['OC\Files\Storage\Dropbox'] = 'files_external/lib/dropbox.php'; OC::$CLASSPATH['OC\Files\Storage\SFTP'] = 'files_external/lib/sftp.php'; -OC::$CLASSPATH['OC\Files\Storage\SFTP_Key'] = 'files_external/lib/sftp_key.php'; OC::$CLASSPATH['OC_Mount_Config'] = 'files_external/lib/config.php'; OC::$CLASSPATH['OCA\Files\External\Api'] = 'files_external/lib/api.php'; @@ -68,51 +66,6 @@ if (OCP\Config::getAppValue('files_external', 'allow_user_mounting', 'yes') == ' // connecting hooks OCP\Util::connectHook('OC_Filesystem', 'post_initMountPoints', '\OC_Mount_Config', 'initMountPointsHook'); -OCP\Util::connectHook('OC_User', 'post_login', 'OC\Files\Storage\SMB_OC', 'login'); -OC_Mount_Config::registerBackend('\OC\Files\Storage\Swift', [ - 'backend' => (string)$l->t('OpenStack Object Storage'), - 'priority' => 100, - 'configuration' => [ - 'user' => (string)$l->t('Username'), - 'bucket' => (string)$l->t('Bucket'), - 'region' => '&'.$l->t('Region (optional for OpenStack Object Storage)'), - 'key' => '&*'.$l->t('API Key (required for Rackspace Cloud Files)'), - 'tenant' => '&'.$l->t('Tenantname (required for OpenStack Object Storage)'), - 'password' => '&*'.$l->t('Password (required for OpenStack Object Storage)'), - 'service_name' => '&'.$l->t('Service Name (required for OpenStack Object Storage)'), - 'url' => '&'.$l->t('URL of identity endpoint (required for OpenStack Object Storage)'), - 'timeout' => '&'.$l->t('Timeout of HTTP requests in seconds'), - ], - 'has_dependencies' => true, -]); - - -if (!OC_Util::runningOnWindows()) { - OC_Mount_Config::registerBackend('\OC\Files\Storage\SMB_OC', [ - 'backend' => (string)$l->t('SMB / CIFS using OC login'), - 'priority' => 90, - 'configuration' => [ - 'host' => (string)$l->t('Host'), - 'username_as_share' => '!'.$l->t('Username as share'), - 'share' => '&'.$l->t('Share'), - 'root' => '&'.$l->t('Remote subfolder'), - ], - 'has_dependencies' => true, - ]); -} - -OC_Mount_Config::registerBackend('\OC\Files\Storage\SFTP_Key', [ - 'backend' => (string)$l->t('SFTP with secret key login'), - 'priority' => 100, - 'configuration' => array( - 'host' => (string)$l->t('Host'), - 'user' => (string)$l->t('Username'), - 'public_key' => (string)$l->t('Public key'), - 'private_key' => '#private_key', - 'root' => '&'.$l->t('Remote subfolder')), - 'custom' => 'sftp_key', - ] -); $mountProvider = $appContainer->query('OCA\Files_External\Config\ConfigAdapter'); \OC::$server->getMountProviderCollection()->registerProvider($mountProvider); diff --git a/apps/files_external/appinfo/application.php b/apps/files_external/appinfo/application.php index 1e43c737408..3a222141fb5 100644 --- a/apps/files_external/appinfo/application.php +++ b/apps/files_external/appinfo/application.php @@ -24,7 +24,6 @@ namespace OCA\Files_External\AppInfo; -use \OCA\Files_External\Controller\AjaxController; use \OCP\AppFramework\App; use \OCP\IContainer; use \OCA\Files_External\Service\BackendService; @@ -36,20 +35,13 @@ class Application extends App { public function __construct(array $urlParams=array()) { parent::__construct('files_external', $urlParams); - $container = $this->getContainer(); - - /** - * Controllers - */ - $container->registerService('AjaxController', function (IContainer $c) { - return new AjaxController( - $c->query('AppName'), - $c->query('Request') - ); - }); - $this->loadBackends(); $this->loadAuthMechanisms(); + + // app developers: do NOT depend on this! it will disappear with oC 9.0! + \OC::$server->getEventDispatcher()->dispatch( + 'OCA\\Files_External::loadAdditionalBackends' + ); } /** @@ -68,11 +60,14 @@ class Application extends App { $container->query('OCA\Files_External\Lib\Backend\AmazonS3'), $container->query('OCA\Files_External\Lib\Backend\Dropbox'), $container->query('OCA\Files_External\Lib\Backend\Google'), + $container->query('OCA\Files_External\Lib\Backend\Swift'), + $container->query('OCA\Files_External\Lib\Backend\SFTP_Key'), ]); if (!\OC_Util::runningOnWindows()) { $service->registerBackends([ $container->query('OCA\Files_External\Lib\Backend\SMB'), + $container->query('OCA\Files_External\Lib\Backend\SMB_OC'), ]); } } @@ -101,6 +96,13 @@ class Application extends App { // AuthMechanism::SCHEME_OAUTH2 mechanisms $container->query('OCA\Files_External\Lib\Auth\OAuth2\OAuth2'), + // AuthMechanism::SCHEME_PUBLICKEY mechanisms + $container->query('OCA\Files_External\Lib\Auth\PublicKey\RSA'), + + // AuthMechanism::SCHEME_OPENSTACK mechanisms + $container->query('OCA\Files_External\Lib\Auth\OpenStack\OpenStack'), + $container->query('OCA\Files_External\Lib\Auth\OpenStack\Rackspace'), + // Specialized mechanisms $container->query('OCA\Files_External\Lib\Auth\AmazonS3\AccessKey'), ]); diff --git a/apps/files_external/appinfo/routes.php b/apps/files_external/appinfo/routes.php index 5d7018c3476..a371273e74e 100644 --- a/apps/files_external/appinfo/routes.php +++ b/apps/files_external/appinfo/routes.php @@ -38,7 +38,7 @@ namespace OCA\Files_External\AppInfo; 'routes' => array( array( 'name' => 'Ajax#getSshKeys', - 'url' => '/ajax/sftp_key.php', + 'url' => '/ajax/public_key.php', 'verb' => 'POST', 'requirements' => array() ) diff --git a/apps/files_external/controller/ajaxcontroller.php b/apps/files_external/controller/ajaxcontroller.php index cb2de432286..c285cd34e70 100644 --- a/apps/files_external/controller/ajaxcontroller.php +++ b/apps/files_external/controller/ajaxcontroller.php @@ -25,19 +25,19 @@ namespace OCA\Files_External\Controller; use OCP\AppFramework\Controller; use OCP\IRequest; use OCP\AppFramework\Http\JSONResponse; -use phpseclib\Crypt\RSA; +use OCA\Files_External\Lib\Auth\PublicKey\RSA; class AjaxController extends Controller { - public function __construct($appName, IRequest $request) { + /** @var RSA */ + private $rsaMechanism; + + public function __construct($appName, IRequest $request, RSA $rsaMechanism) { parent::__construct($appName, $request); + $this->rsaMechanism = $rsaMechanism; } private function generateSshKeys() { - $rsa = new RSA(); - $rsa->setPublicKeyFormat(RSA::PUBLIC_FORMAT_OPENSSH); - $rsa->setPassword(\OC::$server->getConfig()->getSystemValue('secret', '')); - - $key = $rsa->createKey(); + $key = $this->rsaMechanism->createKey(); // Replace the placeholder label with a more meaningful one $key['publicKey'] = str_replace('phpseclib-generated-key', gethostname(), $key['publickey']); diff --git a/apps/files_external/controller/globalstoragescontroller.php b/apps/files_external/controller/globalstoragescontroller.php index 756a34fc5d4..7d97fdbb4f4 100644 --- a/apps/files_external/controller/globalstoragescontroller.php +++ b/apps/files_external/controller/globalstoragescontroller.php @@ -32,6 +32,7 @@ use \OCP\AppFramework\Http; use \OCA\Files_external\Service\GlobalStoragesService; use \OCA\Files_external\NotFoundException; use \OCA\Files_external\Lib\StorageConfig; +use \OCA\Files_External\Service\BackendService; /** * Global storages controller @@ -97,7 +98,7 @@ class GlobalStoragesController extends StoragesController { return $newStorage; } - $response = $this->validate($newStorage); + $response = $this->validate($newStorage, BackendService::PERMISSION_CREATE); if (!empty($response)) { return $response; } @@ -153,7 +154,7 @@ class GlobalStoragesController extends StoragesController { } $storage->setId($id); - $response = $this->validate($storage); + $response = $this->validate($storage, BackendService::PERMISSION_MODIFY); if (!empty($response)) { return $response; } @@ -178,4 +179,14 @@ class GlobalStoragesController extends StoragesController { } + /** + * Get the user type for this controller, used in validation + * + * @return string BackendService::USER_* constants + */ + protected function getUserType() { + return BackendService::USER_ADMIN; + } + + } diff --git a/apps/files_external/controller/storagescontroller.php b/apps/files_external/controller/storagescontroller.php index 613f22c0331..46202c8ba4a 100644 --- a/apps/files_external/controller/storagescontroller.php +++ b/apps/files_external/controller/storagescontroller.php @@ -36,6 +36,7 @@ use \OCA\Files_External\Lib\Backend\Backend; use \OCA\Files_External\Lib\Auth\AuthMechanism; use \OCP\Files\StorageNotAvailableException; use \OCA\Files_External\Lib\InsufficientDataForMeaningfulAnswerException; +use \OCA\Files_External\Service\BackendService; /** * Base class for storages controllers @@ -124,10 +125,11 @@ abstract class StoragesController extends Controller { * Validate storage config * * @param StorageConfig $storage storage config + * @param int $permissionCheck permission to check * * @return DataResponse|null returns response in case of validation error */ - protected function validate(StorageConfig $storage) { + protected function validate(StorageConfig $storage, $permissionCheck = BackendService::PERMISSION_CREATE) { $mountPoint = $storage->getMountPoint(); if ($mountPoint === '' || $mountPoint === '/') { return new DataResponse( @@ -157,12 +159,36 @@ abstract class StoragesController extends Controller { return new DataResponse( array( 'message' => (string)$this->l10n->t('Invalid storage backend "%s"', [ - $storage->getBackend()->getIdentifier() + $backend->getIdentifier() ]) ), Http::STATUS_UNPROCESSABLE_ENTITY ); } + + if (!$backend->isPermitted($this->getUserType(), $permissionCheck)) { + // not permitted to use backend + return new DataResponse( + array( + 'message' => (string)$this->l10n->t('Not permitted to use backend "%s"', [ + $backend->getIdentifier() + ]) + ), + Http::STATUS_UNPROCESSABLE_ENTITY + ); + } + if (!$authMechanism->isPermitted($this->getUserType(), $permissionCheck)) { + // not permitted to use auth mechanism + return new DataResponse( + array( + 'message' => (string)$this->l10n->t('Not permitted to use authentication mechanism "%s"', [ + $authMechanism->getIdentifier() + ]) + ), + Http::STATUS_UNPROCESSABLE_ENTITY + ); + } + if (!$backend->validateStorage($storage)) { // unsatisfied parameters return new DataResponse( @@ -186,6 +212,13 @@ abstract class StoragesController extends Controller { } /** + * Get the user type for this controller, used in validation + * + * @return string BackendService::USER_* constants + */ + abstract protected function getUserType(); + + /** * Check whether the given storage is available / valid. * * Note that this operation can be time consuming depending diff --git a/apps/files_external/controller/userstoragescontroller.php b/apps/files_external/controller/userstoragescontroller.php index 0d41e088a76..801c9ab0aae 100644 --- a/apps/files_external/controller/userstoragescontroller.php +++ b/apps/files_external/controller/userstoragescontroller.php @@ -62,38 +62,6 @@ class UserStoragesController extends StoragesController { } /** - * Validate storage config - * - * @param StorageConfig $storage storage config - * - * @return DataResponse|null returns response in case of validation error - */ - protected function validate(StorageConfig $storage) { - $result = parent::validate($storage); - - if ($result !== null) { - return $result; - } - - // Verify that the mount point applies for the current user - // Prevent non-admin users from mounting local storage and other disabled backends - /** @var Backend */ - $backend = $storage->getBackend(); - if (!$backend->isVisibleFor(BackendService::VISIBILITY_PERSONAL)) { - return new DataResponse( - array( - 'message' => (string)$this->l10n->t('Admin-only storage backend "%s"', [ - $storage->getBackend()->getIdentifier() - ]) - ), - Http::STATUS_UNPROCESSABLE_ENTITY - ); - } - - return null; - } - - /** * Return storage * * @NoAdminRequired @@ -135,7 +103,7 @@ class UserStoragesController extends StoragesController { return $newStorage; } - $response = $this->validate($newStorage); + $response = $this->validate($newStorage, BackendService::PERMISSION_CREATE); if (!empty($response)) { return $response; } @@ -183,7 +151,7 @@ class UserStoragesController extends StoragesController { } $storage->setId($id); - $response = $this->validate($storage); + $response = $this->validate($storage, BackendService::PERMISSION_MODIFY); if (!empty($response)) { return $response; } @@ -218,4 +186,14 @@ class UserStoragesController extends StoragesController { public function destroy($id) { return parent::destroy($id); } + + /** + * Get the user type for this controller, used in validation + * + * @return string BackendService::USER_* constants + */ + protected function getUserType() { + return BackendService::USER_PERSONAL; + } + } diff --git a/apps/files_external/js/public_key.js b/apps/files_external/js/public_key.js new file mode 100644 index 00000000000..a8546067452 --- /dev/null +++ b/apps/files_external/js/public_key.js @@ -0,0 +1,46 @@ +$(document).ready(function() { + + OCA.External.Settings.mountConfig.whenSelectAuthMechanism(function($tr, authMechanism, scheme) { + if (scheme === 'publickey') { + var config = $tr.find('.configuration'); + if ($(config).find('[name="public_key_generate"]').length === 0) { + setupTableRow($tr, config); + } + } + }); + + $('#externalStorage').on('click', '[name="public_key_generate"]', function(event) { + event.preventDefault(); + var tr = $(this).parent().parent(); + generateKeys(tr); + }); + + function setupTableRow(tr, config) { + $(config).append($(document.createElement('input')) + .addClass('button auth-param') + .attr('type', 'button') + .attr('value', t('files_external', 'Generate keys')) + .attr('name', 'public_key_generate') + ); + // If there's no private key, build one + if (0 === $(config).find('[data-parameter="private_key"]').val().length) { + generateKeys(tr); + } + } + + function generateKeys(tr) { + var config = $(tr).find('.configuration'); + + $.post(OC.filePath('files_external', 'ajax', 'public_key.php'), {}, function(result) { + if (result && result.status === 'success') { + $(config).find('[data-parameter="public_key"]').val(result.data.public_key); + $(config).find('[data-parameter="private_key"]').val(result.data.private_key); + OCA.External.Settings.mountConfig.saveStorageConfig(tr, function() { + // Nothing to do + }); + } else { + OC.dialogs.alert(result.data.message, t('files_external', 'Error generating key pair') ); + } + }); + } +}); diff --git a/apps/files_external/js/sftp_key.js b/apps/files_external/js/sftp_key.js deleted file mode 100644 index 55b11b1fac9..00000000000 --- a/apps/files_external/js/sftp_key.js +++ /dev/null @@ -1,53 +0,0 @@ -$(document).ready(function() { - - $('#externalStorage tbody tr.\\\\OC\\\\Files\\\\Storage\\\\SFTP_Key').each(function() { - var tr = $(this); - var config = $(tr).find('.configuration'); - if ($(config).find('.sftp_key').length === 0) { - setupTableRow(tr, config); - } - }); - - // We can't catch the DOM elements being added, but we can pick up when - // they receive focus - $('#externalStorage').on('focus', 'tbody tr.\\\\OC\\\\Files\\\\Storage\\\\SFTP_Key', function() { - var tr = $(this); - var config = $(tr).find('.configuration'); - - if ($(config).find('.sftp_key').length === 0) { - setupTableRow(tr, config); - } - }); - - $('#externalStorage').on('click', '.sftp_key', function(event) { - event.preventDefault(); - var tr = $(this).parent().parent(); - generateKeys(tr); - }); - - function setupTableRow(tr, config) { - $(config).append($(document.createElement('input')).addClass('button sftp_key') - .attr('type', 'button') - .attr('value', t('files_external', 'Generate keys'))); - // If there's no private key, build one - if (0 === $(config).find('[data-parameter="private_key"]').val().length) { - generateKeys(tr); - } - } - - function generateKeys(tr) { - var config = $(tr).find('.configuration'); - - $.post(OC.filePath('files_external', 'ajax', 'sftp_key.php'), {}, function(result) { - if (result && result.status === 'success') { - $(config).find('[data-parameter="public_key"]').val(result.data.public_key); - $(config).find('[data-parameter="private_key"]').val(result.data.private_key); - OCA.External.mountConfig.saveStorageConfig(tr, function() { - // Nothing to do - }); - } else { - OC.dialogs.alert(result.data.message, t('files_external', 'Error generating key pair') ); - } - }); - } -}); diff --git a/apps/files_external/l10n/af_ZA.js b/apps/files_external/l10n/af_ZA.js index 25c7d85256c..d28e14d67ce 100644 --- a/apps/files_external/l10n/af_ZA.js +++ b/apps/files_external/l10n/af_ZA.js @@ -1,9 +1,9 @@ OC.L10N.register( "files_external", { - "Username" : "Gebruikersnaam", - "Share" : "Deel", "Personal" : "Persoonlik", - "Password" : "Wagwoord" + "Username" : "Gebruikersnaam", + "Password" : "Wagwoord", + "Share" : "Deel" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/files_external/l10n/af_ZA.json b/apps/files_external/l10n/af_ZA.json index 6c60aac511a..53622f796ff 100644 --- a/apps/files_external/l10n/af_ZA.json +++ b/apps/files_external/l10n/af_ZA.json @@ -1,7 +1,7 @@ { "translations": { - "Username" : "Gebruikersnaam", - "Share" : "Deel", "Personal" : "Persoonlik", - "Password" : "Wagwoord" + "Username" : "Gebruikersnaam", + "Password" : "Wagwoord", + "Share" : "Deel" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/files_external/l10n/ar.js b/apps/files_external/l10n/ar.js index 89bd2d61730..3e7438796f4 100644 --- a/apps/files_external/l10n/ar.js +++ b/apps/files_external/l10n/ar.js @@ -1,10 +1,6 @@ OC.L10N.register( "files_external", { - "Username" : "إسم المستخدم", - "Bucket" : "الحزمة", - "Host" : "المضيف", - "Share" : "شارك", "Personal" : "شخصي", "System" : "النظام", "Never" : "أبدا", @@ -12,15 +8,19 @@ OC.L10N.register( "None" : "لا شيء", "App key" : "مفتاح التطبيق", "App secret" : "التطبيق السري", + "Username" : "إسم المستخدم", "Password" : "كلمة السر", + "Bucket" : "الحزمة", "Hostname" : "إسم الإستضافة", "Port" : "المنفذ", "Region" : "المنطقة", "WebDAV" : "WebDAV", "URL" : "عنوان الموقع", + "Host" : "المضيف", "Local" : "محلي", "Location" : "المكان", "ownCloud" : "ownCloud", + "Share" : "شارك", "Name" : "اسم", "Folder name" : "اسم المجلد", "Configuration" : "إعداد", diff --git a/apps/files_external/l10n/ar.json b/apps/files_external/l10n/ar.json index e4d4cd3f1e6..29423a07906 100644 --- a/apps/files_external/l10n/ar.json +++ b/apps/files_external/l10n/ar.json @@ -1,8 +1,4 @@ { "translations": { - "Username" : "إسم المستخدم", - "Bucket" : "الحزمة", - "Host" : "المضيف", - "Share" : "شارك", "Personal" : "شخصي", "System" : "النظام", "Never" : "أبدا", @@ -10,15 +6,19 @@ "None" : "لا شيء", "App key" : "مفتاح التطبيق", "App secret" : "التطبيق السري", + "Username" : "إسم المستخدم", "Password" : "كلمة السر", + "Bucket" : "الحزمة", "Hostname" : "إسم الإستضافة", "Port" : "المنفذ", "Region" : "المنطقة", "WebDAV" : "WebDAV", "URL" : "عنوان الموقع", + "Host" : "المضيف", "Local" : "محلي", "Location" : "المكان", "ownCloud" : "ownCloud", + "Share" : "شارك", "Name" : "اسم", "Folder name" : "اسم المجلد", "Configuration" : "إعداد", diff --git a/apps/files_external/l10n/ast.js b/apps/files_external/l10n/ast.js index 0e29e30f865..b6084cc1545 100644 --- a/apps/files_external/l10n/ast.js +++ b/apps/files_external/l10n/ast.js @@ -4,22 +4,6 @@ OC.L10N.register( "Step 1 failed. Exception: %s" : "Pasu 1 fallíu. Esceición: %s", "Step 2 failed. Exception: %s" : "Pasu 2 fallíu. Esceición: %s", "External storage" : "Almacenamientu esternu", - "OpenStack Object Storage" : "OpenStack Object Storage", - "Username" : "Nome d'usuariu", - "Bucket" : "Depósitu", - "Region (optional for OpenStack Object Storage)" : "Rexón (opcional pa OpenStack Object Storage)", - "API Key (required for Rackspace Cloud Files)" : "Clave API (necesaria pa Rackspace Cloud Files)", - "Tenantname (required for OpenStack Object Storage)" : "Nome d'inquilín (necesariu pa OpenStack Object Storage)", - "Password (required for OpenStack Object Storage)" : "Contraseña (necesaria pa OpenStack Object Storage)", - "Service Name (required for OpenStack Object Storage)" : "Nome de Serviciu (necesariu pa OpenStack Object Storage)", - "URL of identity endpoint (required for OpenStack Object Storage)" : "URL d'identidá de puntu final (necesariu pa OpenStack Object Storage)", - "Timeout of HTTP requests in seconds" : "Tiempu d'espera de peticiones HTTP en segundos", - "SMB / CIFS using OC login" : "SMB / CIFS usando accesu OC", - "Host" : "Sirvidor", - "Username as share" : "Nome d'usuariu como Compartición", - "Share" : "Compartir", - "Remote subfolder" : "Subcarpeta remota", - "Public key" : "Clave pública", "Personal" : "Personal", "System" : "Sistema", "Grant access" : "Conceder accesu", @@ -32,8 +16,12 @@ OC.L10N.register( "App secret" : "App secreta", "Client ID" : "ID de veceru", "Client secret" : "Veceru secretu", + "Username" : "Nome d'usuariu", "Password" : "Contraseña", + "API key" : "clave API", + "Public key" : "Clave pública", "Amazon S3" : "Amazon S3", + "Bucket" : "Depósitu", "Hostname" : "Nome d'agospiu", "Port" : "Puertu", "Region" : "Rexón", @@ -41,13 +29,18 @@ OC.L10N.register( "Enable Path Style" : "Habilitar Estilu de ruta", "WebDAV" : "WebDAV", "URL" : "URL", + "Remote subfolder" : "Subcarpeta remota", "Secure https://" : "Secure https://", "Dropbox" : "Dropbox", + "Host" : "Sirvidor", "Secure ftps://" : "Secure ftps://", "Local" : "Llocal", "Location" : "Llocalización", "ownCloud" : "ownCloud", "Root" : "Raíz", + "Share" : "Compartir", + "Username as share" : "Nome d'usuariu como Compartición", + "OpenStack Object Storage" : "OpenStack Object Storage", "<b>Note:</b> " : "<b>Nota:</b> ", "<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>Nota:</b> El soporte de cURL en PHP nun ta activáu o instaláu. Nun pue montase %s. Pídi-y al alministrador de sistema que lu instale.", "<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>Nota:</b> El soporte de FTP en PHP nun ta activáu o instaláu. Nun pue montase %s. Pídi-y al alministrador de sistema que lu instale.", diff --git a/apps/files_external/l10n/ast.json b/apps/files_external/l10n/ast.json index e768ff3741f..ccf882952ae 100644 --- a/apps/files_external/l10n/ast.json +++ b/apps/files_external/l10n/ast.json @@ -2,22 +2,6 @@ "Step 1 failed. Exception: %s" : "Pasu 1 fallíu. Esceición: %s", "Step 2 failed. Exception: %s" : "Pasu 2 fallíu. Esceición: %s", "External storage" : "Almacenamientu esternu", - "OpenStack Object Storage" : "OpenStack Object Storage", - "Username" : "Nome d'usuariu", - "Bucket" : "Depósitu", - "Region (optional for OpenStack Object Storage)" : "Rexón (opcional pa OpenStack Object Storage)", - "API Key (required for Rackspace Cloud Files)" : "Clave API (necesaria pa Rackspace Cloud Files)", - "Tenantname (required for OpenStack Object Storage)" : "Nome d'inquilín (necesariu pa OpenStack Object Storage)", - "Password (required for OpenStack Object Storage)" : "Contraseña (necesaria pa OpenStack Object Storage)", - "Service Name (required for OpenStack Object Storage)" : "Nome de Serviciu (necesariu pa OpenStack Object Storage)", - "URL of identity endpoint (required for OpenStack Object Storage)" : "URL d'identidá de puntu final (necesariu pa OpenStack Object Storage)", - "Timeout of HTTP requests in seconds" : "Tiempu d'espera de peticiones HTTP en segundos", - "SMB / CIFS using OC login" : "SMB / CIFS usando accesu OC", - "Host" : "Sirvidor", - "Username as share" : "Nome d'usuariu como Compartición", - "Share" : "Compartir", - "Remote subfolder" : "Subcarpeta remota", - "Public key" : "Clave pública", "Personal" : "Personal", "System" : "Sistema", "Grant access" : "Conceder accesu", @@ -30,8 +14,12 @@ "App secret" : "App secreta", "Client ID" : "ID de veceru", "Client secret" : "Veceru secretu", + "Username" : "Nome d'usuariu", "Password" : "Contraseña", + "API key" : "clave API", + "Public key" : "Clave pública", "Amazon S3" : "Amazon S3", + "Bucket" : "Depósitu", "Hostname" : "Nome d'agospiu", "Port" : "Puertu", "Region" : "Rexón", @@ -39,13 +27,18 @@ "Enable Path Style" : "Habilitar Estilu de ruta", "WebDAV" : "WebDAV", "URL" : "URL", + "Remote subfolder" : "Subcarpeta remota", "Secure https://" : "Secure https://", "Dropbox" : "Dropbox", + "Host" : "Sirvidor", "Secure ftps://" : "Secure ftps://", "Local" : "Llocal", "Location" : "Llocalización", "ownCloud" : "ownCloud", "Root" : "Raíz", + "Share" : "Compartir", + "Username as share" : "Nome d'usuariu como Compartición", + "OpenStack Object Storage" : "OpenStack Object Storage", "<b>Note:</b> " : "<b>Nota:</b> ", "<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>Nota:</b> El soporte de cURL en PHP nun ta activáu o instaláu. Nun pue montase %s. Pídi-y al alministrador de sistema que lu instale.", "<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>Nota:</b> El soporte de FTP en PHP nun ta activáu o instaláu. Nun pue montase %s. Pídi-y al alministrador de sistema que lu instale.", diff --git a/apps/files_external/l10n/az.js b/apps/files_external/l10n/az.js index d92296e416b..9c86576c7fc 100644 --- a/apps/files_external/l10n/az.js +++ b/apps/files_external/l10n/az.js @@ -4,22 +4,6 @@ OC.L10N.register( "Step 1 failed. Exception: %s" : "1-ci addım səhv oldu. İstisna: %s", "Step 2 failed. Exception: %s" : "2-ci addım. İstisna: %s", "External storage" : "Kənar informasıya daşıyıcısı", - "OpenStack Object Storage" : "OpenStack Obyekt Deposu", - "Username" : "İstifadəçi adı", - "Bucket" : "Vedrə", - "Region (optional for OpenStack Object Storage)" : "Ərazi(İstəkdən asılı olaraq OpenStack Obyekt Deposu üçündür)", - "API Key (required for Rackspace Cloud Files)" : "API açar (Rackspace Cloud Fayllar üçün tələb edilir)", - "Tenantname (required for OpenStack Object Storage)" : "Kirayəçiadı (OpenStack Obyekt Deposu üçün tələb edilir)", - "Password (required for OpenStack Object Storage)" : "Şifrə (OpenStack Obyekt Deposu üçün tələb edilir)", - "Service Name (required for OpenStack Object Storage)" : "Servis adi (OpenStack Obyekt Deposu üçün tələb edilir)", - "URL of identity endpoint (required for OpenStack Object Storage)" : "Şəxsiyyətin son nöqtəsi URL-i (OpenStack Obyekt Deposu üçün tələb edilir)", - "Timeout of HTTP requests in seconds" : "HTTP müraciətlər üçün saniyələrlə olan vaxtın bitməsi", - "SMB / CIFS using OC login" : "OC login istifadə edir SMB / CIFS", - "Host" : "Şəbəkədə ünvan", - "Username as share" : "Paylaşım üçün istifadəçi adı", - "Share" : "Yayımla", - "Remote subfolder" : "Uzaq altqovluğu", - "Public key" : "İctimai açar", "Storage with id \"%i\" not found" : "\"%i\"-li depo tapılmadı", "Invalid mount point" : "Yalnış mount nöqtəsi", "Invalid storage backend \"%s\"" : "Yalnış depo arxasonu \"%s\"", @@ -27,18 +11,21 @@ OC.L10N.register( "System" : "Sistem", "Grant access" : "Yetkinin verilməsi", "Access granted" : "Yetki verildi", + "Generate keys" : "Açarları generasiya et", + "Error generating key pair" : "Açar cütlüyünün generasiyası səhvi", "All users. Type to select user or group." : "Sistem istifadəçiləri. Daxil edin ki, istifadəçi və ya qrupu seçəsiniz.", "(group)" : "(qrup)", "Saved" : "Saxlanıldı", - "Generate keys" : "Açarları generasiya et", - "Error generating key pair" : "Açar cütlüyünün generasiyası səhvi", "None" : "Heç bir", "App key" : "Proqram açarı", "App secret" : "Proqram sirri", "Client ID" : "Müştəri İD-s", "Client secret" : "Müxtəri sirri", + "Username" : "İstifadəçi adı", "Password" : "Şifrə", + "Public key" : "İctimai açar", "Amazon S3" : "Amazon S3", + "Bucket" : "Vedrə", "Hostname" : "Sahibadı", "Port" : "Port", "Region" : "Ərazi", @@ -46,11 +33,16 @@ OC.L10N.register( "Enable Path Style" : "Ünvan stilini işə sal", "WebDAV" : "WebDAV", "URL" : "URL", + "Remote subfolder" : "Uzaq altqovluğu", "Secure https://" : "Təhlükəsiz https://", "Dropbox" : "Dropbox", + "Host" : "Şəbəkədə ünvan", "Secure ftps://" : "Təhlükəsiz ftps://", "Local" : "Yerli", "Location" : "Yerləşdiyiniz ünvan", + "Share" : "Yayımla", + "Username as share" : "Paylaşım üçün istifadəçi adı", + "OpenStack Object Storage" : "OpenStack Obyekt Deposu", "<b>Note:</b> " : "<b>Qeyd:</b> ", "<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>Qeyd:</b> PHP-də cURL dəstəyi aktiv deyil və ya yüklənməyib. %s -in birləşdirilməsi mümkün deyil. Xahiş edilir onun yüklənilməsi barəsində inzibatşınıza məlumat verəsiniz.", "<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>Qeyd:</b> PHP-də FTP dəstəyi aktiv deyil və ya yüklənməyib. %s -in birləşdirilməsi mümkün deyil. Xahiş edilir onun yüklənilməsi barəsində inzibatşınıza məlumat verəsiniz.", diff --git a/apps/files_external/l10n/az.json b/apps/files_external/l10n/az.json index 98c1117243b..fa300deea8d 100644 --- a/apps/files_external/l10n/az.json +++ b/apps/files_external/l10n/az.json @@ -2,22 +2,6 @@ "Step 1 failed. Exception: %s" : "1-ci addım səhv oldu. İstisna: %s", "Step 2 failed. Exception: %s" : "2-ci addım. İstisna: %s", "External storage" : "Kənar informasıya daşıyıcısı", - "OpenStack Object Storage" : "OpenStack Obyekt Deposu", - "Username" : "İstifadəçi adı", - "Bucket" : "Vedrə", - "Region (optional for OpenStack Object Storage)" : "Ərazi(İstəkdən asılı olaraq OpenStack Obyekt Deposu üçündür)", - "API Key (required for Rackspace Cloud Files)" : "API açar (Rackspace Cloud Fayllar üçün tələb edilir)", - "Tenantname (required for OpenStack Object Storage)" : "Kirayəçiadı (OpenStack Obyekt Deposu üçün tələb edilir)", - "Password (required for OpenStack Object Storage)" : "Şifrə (OpenStack Obyekt Deposu üçün tələb edilir)", - "Service Name (required for OpenStack Object Storage)" : "Servis adi (OpenStack Obyekt Deposu üçün tələb edilir)", - "URL of identity endpoint (required for OpenStack Object Storage)" : "Şəxsiyyətin son nöqtəsi URL-i (OpenStack Obyekt Deposu üçün tələb edilir)", - "Timeout of HTTP requests in seconds" : "HTTP müraciətlər üçün saniyələrlə olan vaxtın bitməsi", - "SMB / CIFS using OC login" : "OC login istifadə edir SMB / CIFS", - "Host" : "Şəbəkədə ünvan", - "Username as share" : "Paylaşım üçün istifadəçi adı", - "Share" : "Yayımla", - "Remote subfolder" : "Uzaq altqovluğu", - "Public key" : "İctimai açar", "Storage with id \"%i\" not found" : "\"%i\"-li depo tapılmadı", "Invalid mount point" : "Yalnış mount nöqtəsi", "Invalid storage backend \"%s\"" : "Yalnış depo arxasonu \"%s\"", @@ -25,18 +9,21 @@ "System" : "Sistem", "Grant access" : "Yetkinin verilməsi", "Access granted" : "Yetki verildi", + "Generate keys" : "Açarları generasiya et", + "Error generating key pair" : "Açar cütlüyünün generasiyası səhvi", "All users. Type to select user or group." : "Sistem istifadəçiləri. Daxil edin ki, istifadəçi və ya qrupu seçəsiniz.", "(group)" : "(qrup)", "Saved" : "Saxlanıldı", - "Generate keys" : "Açarları generasiya et", - "Error generating key pair" : "Açar cütlüyünün generasiyası səhvi", "None" : "Heç bir", "App key" : "Proqram açarı", "App secret" : "Proqram sirri", "Client ID" : "Müştəri İD-s", "Client secret" : "Müxtəri sirri", + "Username" : "İstifadəçi adı", "Password" : "Şifrə", + "Public key" : "İctimai açar", "Amazon S3" : "Amazon S3", + "Bucket" : "Vedrə", "Hostname" : "Sahibadı", "Port" : "Port", "Region" : "Ərazi", @@ -44,11 +31,16 @@ "Enable Path Style" : "Ünvan stilini işə sal", "WebDAV" : "WebDAV", "URL" : "URL", + "Remote subfolder" : "Uzaq altqovluğu", "Secure https://" : "Təhlükəsiz https://", "Dropbox" : "Dropbox", + "Host" : "Şəbəkədə ünvan", "Secure ftps://" : "Təhlükəsiz ftps://", "Local" : "Yerli", "Location" : "Yerləşdiyiniz ünvan", + "Share" : "Yayımla", + "Username as share" : "Paylaşım üçün istifadəçi adı", + "OpenStack Object Storage" : "OpenStack Obyekt Deposu", "<b>Note:</b> " : "<b>Qeyd:</b> ", "<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>Qeyd:</b> PHP-də cURL dəstəyi aktiv deyil və ya yüklənməyib. %s -in birləşdirilməsi mümkün deyil. Xahiş edilir onun yüklənilməsi barəsində inzibatşınıza məlumat verəsiniz.", "<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>Qeyd:</b> PHP-də FTP dəstəyi aktiv deyil və ya yüklənməyib. %s -in birləşdirilməsi mümkün deyil. Xahiş edilir onun yüklənilməsi barəsində inzibatşınıza məlumat verəsiniz.", diff --git a/apps/files_external/l10n/bg_BG.js b/apps/files_external/l10n/bg_BG.js index 2344fcb17cc..70eae9d1abd 100644 --- a/apps/files_external/l10n/bg_BG.js +++ b/apps/files_external/l10n/bg_BG.js @@ -4,40 +4,28 @@ OC.L10N.register( "Step 1 failed. Exception: %s" : "Стъпка 1 - неуспешна. Грешка: %s", "Step 2 failed. Exception: %s" : "Стъпка 2 - неуспешна. Грешка: %s", "External storage" : "Външно дисково пространство", - "OpenStack Object Storage" : "OpenStack Object Storage", - "Username" : "Потребителско Име", - "Bucket" : "Bucket", - "Region (optional for OpenStack Object Storage)" : "Регион (незадължително за OpenStack Object Storage)", - "API Key (required for Rackspace Cloud Files)" : "API Key (задължително за Rackspace Cloud Files)", - "Tenantname (required for OpenStack Object Storage)" : "Tenantname (задължително за OpenStack Object Storage)", - "Password (required for OpenStack Object Storage)" : "Парола (задължително за OpenStack Object Storage)", - "Service Name (required for OpenStack Object Storage)" : "Service Name (задължително за OpenStack Object Storage)", - "URL of identity endpoint (required for OpenStack Object Storage)" : "URL of identity endpoint (задължително за OpenStack Object Storage)", - "Timeout of HTTP requests in seconds" : "Timeout за HTTP заявки в секунди", - "SMB / CIFS using OC login" : "SMB / CIFS използвайки OC профил", - "Host" : "Сървър", - "Username as share" : "Потребителско име като споделена папка", - "Share" : "Споделяне", - "Remote subfolder" : "Външна подпапка", - "Public key" : "Публичен ключ", "Storage with id \"%i\" not found" : "Хранилище с име \"%i\" не е намерено", "Invalid mount point" : "Невалиден път за мониторане на файлова система", "Personal" : "Личен", "System" : "Системен", "Grant access" : "Разреши достъп", "Access granted" : "Достъпът разрешен", + "Generate keys" : "Генериране на криптографски ключове", + "Error generating key pair" : "Грешка при генериране на криптографски ключове", "All users. Type to select user or group." : "Всички потребители. Пиши, за да избереш потребител или група.", "(group)" : "(група)", "Saved" : "Запазено", - "Generate keys" : "Генериране на криптографски ключове", - "Error generating key pair" : "Грешка при генериране на криптографски ключове", "None" : "Няма", "App key" : "App key", "App secret" : "App secret", "Client ID" : "Client ID", "Client secret" : "Client secret", + "Username" : "Потребителско Име", "Password" : "Парола", + "API key" : "API ключ", + "Public key" : "Публичен ключ", "Amazon S3" : "Amazon S3", + "Bucket" : "Bucket", "Hostname" : "Сървър", "Port" : "Порт", "Region" : "Регион", @@ -45,13 +33,18 @@ OC.L10N.register( "Enable Path Style" : "Включи Path Style", "WebDAV" : "WebDAV", "URL" : "Интернет Адрес", + "Remote subfolder" : "Външна подпапка", "Secure https://" : "Подсигурен https://", "Dropbox" : "Dropbox", + "Host" : "Сървър", "Secure ftps://" : "Сигурен ftps://", "Local" : "Локален", "Location" : "Местоположение", "ownCloud" : "ownCloud", "Root" : "Root", + "Share" : "Споделяне", + "Username as share" : "Потребителско име като споделена папка", + "OpenStack Object Storage" : "OpenStack Object Storage", "<b>Note:</b> " : "<b>Бележка:</b> ", "<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>Note:</b> PHP подръжката на cURL не е включена или инсталирана. Прикачването на %s не е възможно. Моля, поискай системния администратор да я инсталира.", "<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Note:</b> PHP подръжката на FTP не е включена или инсталирана. Прикачването на %s не е възможно. Моля, поискай системния администратор да я инсталира.", diff --git a/apps/files_external/l10n/bg_BG.json b/apps/files_external/l10n/bg_BG.json index 5dc36e1f245..731897d4a3a 100644 --- a/apps/files_external/l10n/bg_BG.json +++ b/apps/files_external/l10n/bg_BG.json @@ -2,40 +2,28 @@ "Step 1 failed. Exception: %s" : "Стъпка 1 - неуспешна. Грешка: %s", "Step 2 failed. Exception: %s" : "Стъпка 2 - неуспешна. Грешка: %s", "External storage" : "Външно дисково пространство", - "OpenStack Object Storage" : "OpenStack Object Storage", - "Username" : "Потребителско Име", - "Bucket" : "Bucket", - "Region (optional for OpenStack Object Storage)" : "Регион (незадължително за OpenStack Object Storage)", - "API Key (required for Rackspace Cloud Files)" : "API Key (задължително за Rackspace Cloud Files)", - "Tenantname (required for OpenStack Object Storage)" : "Tenantname (задължително за OpenStack Object Storage)", - "Password (required for OpenStack Object Storage)" : "Парола (задължително за OpenStack Object Storage)", - "Service Name (required for OpenStack Object Storage)" : "Service Name (задължително за OpenStack Object Storage)", - "URL of identity endpoint (required for OpenStack Object Storage)" : "URL of identity endpoint (задължително за OpenStack Object Storage)", - "Timeout of HTTP requests in seconds" : "Timeout за HTTP заявки в секунди", - "SMB / CIFS using OC login" : "SMB / CIFS използвайки OC профил", - "Host" : "Сървър", - "Username as share" : "Потребителско име като споделена папка", - "Share" : "Споделяне", - "Remote subfolder" : "Външна подпапка", - "Public key" : "Публичен ключ", "Storage with id \"%i\" not found" : "Хранилище с име \"%i\" не е намерено", "Invalid mount point" : "Невалиден път за мониторане на файлова система", "Personal" : "Личен", "System" : "Системен", "Grant access" : "Разреши достъп", "Access granted" : "Достъпът разрешен", + "Generate keys" : "Генериране на криптографски ключове", + "Error generating key pair" : "Грешка при генериране на криптографски ключове", "All users. Type to select user or group." : "Всички потребители. Пиши, за да избереш потребител или група.", "(group)" : "(група)", "Saved" : "Запазено", - "Generate keys" : "Генериране на криптографски ключове", - "Error generating key pair" : "Грешка при генериране на криптографски ключове", "None" : "Няма", "App key" : "App key", "App secret" : "App secret", "Client ID" : "Client ID", "Client secret" : "Client secret", + "Username" : "Потребителско Име", "Password" : "Парола", + "API key" : "API ключ", + "Public key" : "Публичен ключ", "Amazon S3" : "Amazon S3", + "Bucket" : "Bucket", "Hostname" : "Сървър", "Port" : "Порт", "Region" : "Регион", @@ -43,13 +31,18 @@ "Enable Path Style" : "Включи Path Style", "WebDAV" : "WebDAV", "URL" : "Интернет Адрес", + "Remote subfolder" : "Външна подпапка", "Secure https://" : "Подсигурен https://", "Dropbox" : "Dropbox", + "Host" : "Сървър", "Secure ftps://" : "Сигурен ftps://", "Local" : "Локален", "Location" : "Местоположение", "ownCloud" : "ownCloud", "Root" : "Root", + "Share" : "Споделяне", + "Username as share" : "Потребителско име като споделена папка", + "OpenStack Object Storage" : "OpenStack Object Storage", "<b>Note:</b> " : "<b>Бележка:</b> ", "<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>Note:</b> PHP подръжката на cURL не е включена или инсталирана. Прикачването на %s не е възможно. Моля, поискай системния администратор да я инсталира.", "<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Note:</b> PHP подръжката на FTP не е включена или инсталирана. Прикачването на %s не е възможно. Моля, поискай системния администратор да я инсталира.", diff --git a/apps/files_external/l10n/bn_BD.js b/apps/files_external/l10n/bn_BD.js index bc34c5a530f..3676a1a8b51 100644 --- a/apps/files_external/l10n/bn_BD.js +++ b/apps/files_external/l10n/bn_BD.js @@ -3,10 +3,6 @@ OC.L10N.register( { "Step 1 failed. Exception: %s" : "প্রথম ধাপ ব্যার্থ। ব্যতিক্রম: %s", "External storage" : "বাহ্যিক সংরক্ষণাগার", - "Username" : "ব্যবহারকারী", - "Bucket" : "বালতি", - "Host" : "হোস্ট", - "Share" : "ভাগাভাগি কর", "Personal" : "ব্যক্তিগত", "Grant access" : "অধিগমনের অনুমতি প্রদান কর", "Access granted" : "অধিগমনের অনুমতি প্রদান করা হলো", @@ -16,19 +12,23 @@ OC.L10N.register( "App key" : "অ্যাপ কি", "App secret" : "অ্যাপ সিক্রেট", "Client ID" : "ক্লায়েন্ট পরিচিতি", + "Username" : "ব্যবহারকারী", "Password" : "কূটশব্দ", "Amazon S3" : "আমাজন S3", + "Bucket" : "বালতি", "Hostname" : "হোস্টনেম", "Port" : "পোর্ট", "Region" : "এলাকা", "Enable SSL" : "SSL সক্রিয় কর", "WebDAV" : "WebDAV", "URL" : "URL", + "Host" : "হোস্ট", "Secure ftps://" : "ftps:// অর্জন কর", "Local" : "স্থানীয়", "Location" : "অবস্থান", "ownCloud" : "ওউনক্লাউড", "Root" : "শেকড়", + "Share" : "ভাগাভাগি কর", "<b>Note:</b> " : "<b>দ্রষ্টব্য:</b> ", "Name" : "রাম", "External Storage" : "বাহ্যিক সংরক্ষণাগার", diff --git a/apps/files_external/l10n/bn_BD.json b/apps/files_external/l10n/bn_BD.json index e4e05addb50..5b7d07da5a2 100644 --- a/apps/files_external/l10n/bn_BD.json +++ b/apps/files_external/l10n/bn_BD.json @@ -1,10 +1,6 @@ { "translations": { "Step 1 failed. Exception: %s" : "প্রথম ধাপ ব্যার্থ। ব্যতিক্রম: %s", "External storage" : "বাহ্যিক সংরক্ষণাগার", - "Username" : "ব্যবহারকারী", - "Bucket" : "বালতি", - "Host" : "হোস্ট", - "Share" : "ভাগাভাগি কর", "Personal" : "ব্যক্তিগত", "Grant access" : "অধিগমনের অনুমতি প্রদান কর", "Access granted" : "অধিগমনের অনুমতি প্রদান করা হলো", @@ -14,19 +10,23 @@ "App key" : "অ্যাপ কি", "App secret" : "অ্যাপ সিক্রেট", "Client ID" : "ক্লায়েন্ট পরিচিতি", + "Username" : "ব্যবহারকারী", "Password" : "কূটশব্দ", "Amazon S3" : "আমাজন S3", + "Bucket" : "বালতি", "Hostname" : "হোস্টনেম", "Port" : "পোর্ট", "Region" : "এলাকা", "Enable SSL" : "SSL সক্রিয় কর", "WebDAV" : "WebDAV", "URL" : "URL", + "Host" : "হোস্ট", "Secure ftps://" : "ftps:// অর্জন কর", "Local" : "স্থানীয়", "Location" : "অবস্থান", "ownCloud" : "ওউনক্লাউড", "Root" : "শেকড়", + "Share" : "ভাগাভাগি কর", "<b>Note:</b> " : "<b>দ্রষ্টব্য:</b> ", "Name" : "রাম", "External Storage" : "বাহ্যিক সংরক্ষণাগার", diff --git a/apps/files_external/l10n/bn_IN.js b/apps/files_external/l10n/bn_IN.js index 323ee6f9edb..31f903204aa 100644 --- a/apps/files_external/l10n/bn_IN.js +++ b/apps/files_external/l10n/bn_IN.js @@ -1,11 +1,11 @@ OC.L10N.register( "files_external", { + "Saved" : "সংরক্ষিত", "Username" : "ইউজারনেম", + "URL" : "URL", "Host" : "হোস্ট", "Share" : "শেয়ার", - "Saved" : "সংরক্ষিত", - "URL" : "URL", "Name" : "নাম", "Folder name" : "ফোল্ডারের নাম", "Delete" : "মুছে ফেলা" diff --git a/apps/files_external/l10n/bn_IN.json b/apps/files_external/l10n/bn_IN.json index 63103d7dba2..be89b6f43ea 100644 --- a/apps/files_external/l10n/bn_IN.json +++ b/apps/files_external/l10n/bn_IN.json @@ -1,9 +1,9 @@ { "translations": { + "Saved" : "সংরক্ষিত", "Username" : "ইউজারনেম", + "URL" : "URL", "Host" : "হোস্ট", "Share" : "শেয়ার", - "Saved" : "সংরক্ষিত", - "URL" : "URL", "Name" : "নাম", "Folder name" : "ফোল্ডারের নাম", "Delete" : "মুছে ফেলা" diff --git a/apps/files_external/l10n/bs.js b/apps/files_external/l10n/bs.js index dad18fbf09f..2cd3cf47509 100644 --- a/apps/files_external/l10n/bs.js +++ b/apps/files_external/l10n/bs.js @@ -1,17 +1,17 @@ OC.L10N.register( "files_external", { - "Username" : "Korisničko ime", - "Share" : "Podijeli", "Personal" : "Osobno", "Saved" : "Spremljeno", "None" : "Ništa", + "Username" : "Korisničko ime", "Password" : "Lozinka", "Port" : "Priključak", "WebDAV" : "WebDAV", "Local" : "Lokalno", "Location" : "Lokacija", "ownCloud" : "OwnCloud", + "Share" : "Podijeli", "Name" : "Ime", "Delete" : "Izbriši" }, diff --git a/apps/files_external/l10n/bs.json b/apps/files_external/l10n/bs.json index 7db1c69078b..e2d76555f08 100644 --- a/apps/files_external/l10n/bs.json +++ b/apps/files_external/l10n/bs.json @@ -1,15 +1,15 @@ { "translations": { - "Username" : "Korisničko ime", - "Share" : "Podijeli", "Personal" : "Osobno", "Saved" : "Spremljeno", "None" : "Ništa", + "Username" : "Korisničko ime", "Password" : "Lozinka", "Port" : "Priključak", "WebDAV" : "WebDAV", "Local" : "Lokalno", "Location" : "Lokacija", "ownCloud" : "OwnCloud", + "Share" : "Podijeli", "Name" : "Ime", "Delete" : "Izbriši" },"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);" diff --git a/apps/files_external/l10n/ca.js b/apps/files_external/l10n/ca.js index 83e99c45c5c..9c10f6d5c50 100644 --- a/apps/files_external/l10n/ca.js +++ b/apps/files_external/l10n/ca.js @@ -4,23 +4,6 @@ OC.L10N.register( "Step 1 failed. Exception: %s" : "El pas 1 ha fallat. Excepció: %s", "Step 2 failed. Exception: %s" : "El pas 2 ha fallat. Excepció: %s", "External storage" : "Emmagatzemament extern", - "OpenStack Object Storage" : "OpenStack Object Storage", - "Username" : "Nom d'usuari", - "Bucket" : "Cub", - "Region (optional for OpenStack Object Storage)" : "Regió (opcional per OpenStack Object Storage)", - "API Key (required for Rackspace Cloud Files)" : "Clau API (requerit per fitxers al núvol Rackspace)", - "Tenantname (required for OpenStack Object Storage)" : "Tenantname (requerit per OpenStack Object Storage)", - "Password (required for OpenStack Object Storage)" : "Contrasenya (requerit per OpenStack Object Storage)", - "Service Name (required for OpenStack Object Storage)" : "Nom del servei (requerit per OpenStack Object Storage)", - "URL of identity endpoint (required for OpenStack Object Storage)" : "URL del punt identificador final (requerit per OpenStack Object Storage)", - "Timeout of HTTP requests in seconds" : "Temps d'expera màxim de les peticions HTTP en segons", - "SMB / CIFS using OC login" : "SMB / CIFS usant acreditació OC", - "Host" : "Equip remot", - "Username as share" : "Nom d'usuari per compartir", - "Share" : "Comparteix", - "Remote subfolder" : "Subcarpeta remota", - "SFTP with secret key login" : "Inici de sessió SFTP amb clau secreta", - "Public key" : "Clau pública", "Storage with id \"%i\" not found" : "No s'ha trobat emmagatzematge amb id \"%i\"", "Invalid mount point" : "Punt de muntatge no vàlid", "Invalid storage backend \"%s\"" : "Motor d'emmagatzematge no vàlid \"%s\"", @@ -28,6 +11,8 @@ OC.L10N.register( "System" : "Sistema", "Grant access" : "Concedeix accés", "Access granted" : "S'ha concedit l'accés", + "Generate keys" : "Generar claus", + "Error generating key pair" : "Error en generar el parell de claus", "Enable encryption" : "Habilitar xifrat", "Enable previews" : "Habilitar vistes prèvies", "Check for changes" : "Comproveu si hi ha canvis", @@ -37,15 +22,17 @@ OC.L10N.register( "All users. Type to select user or group." : "Tots els usuaris. Escriu per seleccionar un usuari o grup.", "(group)" : "(grup)", "Saved" : "Desat", - "Generate keys" : "Generar claus", - "Error generating key pair" : "Error en generar el parell de claus", "None" : "Cap", "App key" : "Clau de l'aplicació", "App secret" : "Secret de l'aplicació", "Client ID" : "Client ID", "Client secret" : "Secret del client", + "Username" : "Nom d'usuari", "Password" : "Contrasenya", + "API key" : "codi API", + "Public key" : "Clau pública", "Amazon S3" : "Amazon S3", + "Bucket" : "Cub", "Hostname" : "Nom del servidor", "Port" : "Port", "Region" : "Comarca", @@ -53,12 +40,17 @@ OC.L10N.register( "Enable Path Style" : "Permet l'estil del camí", "WebDAV" : "WebDAV", "URL" : "URL", + "Remote subfolder" : "Subcarpeta remota", "Secure https://" : "Protocol segur https://", + "Host" : "Equip remot", "Secure ftps://" : "Protocol segur ftps://", "Local" : "Local", "Location" : "Ubicació", "ownCloud" : "ownCloud", "Root" : "Arrel", + "Share" : "Comparteix", + "Username as share" : "Nom d'usuari per compartir", + "OpenStack Object Storage" : "OpenStack Object Storage", "<b>Note:</b> " : "<b>Nota:</b> ", "<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>Nota:</b> El suport cURL no està activat o instal·lat a PHP. No es pot muntar %s. Demaneu a l'administrador del sistema que l'instal·li.", "<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>Nota:</b> El suport FTP per PHP no està activat o no està instal·lat. No es pot muntar %s. Demaneu a l'administrador del sistema que l'instal·li.", diff --git a/apps/files_external/l10n/ca.json b/apps/files_external/l10n/ca.json index 0b5cc866f59..123527688c4 100644 --- a/apps/files_external/l10n/ca.json +++ b/apps/files_external/l10n/ca.json @@ -2,23 +2,6 @@ "Step 1 failed. Exception: %s" : "El pas 1 ha fallat. Excepció: %s", "Step 2 failed. Exception: %s" : "El pas 2 ha fallat. Excepció: %s", "External storage" : "Emmagatzemament extern", - "OpenStack Object Storage" : "OpenStack Object Storage", - "Username" : "Nom d'usuari", - "Bucket" : "Cub", - "Region (optional for OpenStack Object Storage)" : "Regió (opcional per OpenStack Object Storage)", - "API Key (required for Rackspace Cloud Files)" : "Clau API (requerit per fitxers al núvol Rackspace)", - "Tenantname (required for OpenStack Object Storage)" : "Tenantname (requerit per OpenStack Object Storage)", - "Password (required for OpenStack Object Storage)" : "Contrasenya (requerit per OpenStack Object Storage)", - "Service Name (required for OpenStack Object Storage)" : "Nom del servei (requerit per OpenStack Object Storage)", - "URL of identity endpoint (required for OpenStack Object Storage)" : "URL del punt identificador final (requerit per OpenStack Object Storage)", - "Timeout of HTTP requests in seconds" : "Temps d'expera màxim de les peticions HTTP en segons", - "SMB / CIFS using OC login" : "SMB / CIFS usant acreditació OC", - "Host" : "Equip remot", - "Username as share" : "Nom d'usuari per compartir", - "Share" : "Comparteix", - "Remote subfolder" : "Subcarpeta remota", - "SFTP with secret key login" : "Inici de sessió SFTP amb clau secreta", - "Public key" : "Clau pública", "Storage with id \"%i\" not found" : "No s'ha trobat emmagatzematge amb id \"%i\"", "Invalid mount point" : "Punt de muntatge no vàlid", "Invalid storage backend \"%s\"" : "Motor d'emmagatzematge no vàlid \"%s\"", @@ -26,6 +9,8 @@ "System" : "Sistema", "Grant access" : "Concedeix accés", "Access granted" : "S'ha concedit l'accés", + "Generate keys" : "Generar claus", + "Error generating key pair" : "Error en generar el parell de claus", "Enable encryption" : "Habilitar xifrat", "Enable previews" : "Habilitar vistes prèvies", "Check for changes" : "Comproveu si hi ha canvis", @@ -35,15 +20,17 @@ "All users. Type to select user or group." : "Tots els usuaris. Escriu per seleccionar un usuari o grup.", "(group)" : "(grup)", "Saved" : "Desat", - "Generate keys" : "Generar claus", - "Error generating key pair" : "Error en generar el parell de claus", "None" : "Cap", "App key" : "Clau de l'aplicació", "App secret" : "Secret de l'aplicació", "Client ID" : "Client ID", "Client secret" : "Secret del client", + "Username" : "Nom d'usuari", "Password" : "Contrasenya", + "API key" : "codi API", + "Public key" : "Clau pública", "Amazon S3" : "Amazon S3", + "Bucket" : "Cub", "Hostname" : "Nom del servidor", "Port" : "Port", "Region" : "Comarca", @@ -51,12 +38,17 @@ "Enable Path Style" : "Permet l'estil del camí", "WebDAV" : "WebDAV", "URL" : "URL", + "Remote subfolder" : "Subcarpeta remota", "Secure https://" : "Protocol segur https://", + "Host" : "Equip remot", "Secure ftps://" : "Protocol segur ftps://", "Local" : "Local", "Location" : "Ubicació", "ownCloud" : "ownCloud", "Root" : "Arrel", + "Share" : "Comparteix", + "Username as share" : "Nom d'usuari per compartir", + "OpenStack Object Storage" : "OpenStack Object Storage", "<b>Note:</b> " : "<b>Nota:</b> ", "<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>Nota:</b> El suport cURL no està activat o instal·lat a PHP. No es pot muntar %s. Demaneu a l'administrador del sistema que l'instal·li.", "<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>Nota:</b> El suport FTP per PHP no està activat o no està instal·lat. No es pot muntar %s. Demaneu a l'administrador del sistema que l'instal·li.", diff --git a/apps/files_external/l10n/cs_CZ.js b/apps/files_external/l10n/cs_CZ.js index ab352880b7c..70dcb6b792a 100644 --- a/apps/files_external/l10n/cs_CZ.js +++ b/apps/files_external/l10n/cs_CZ.js @@ -7,23 +7,6 @@ OC.L10N.register( "Step 1 failed. Exception: %s" : "Selhal krok 1. Výjimka: %s", "Step 2 failed. Exception: %s" : "Selhal krok 2. Výjimka: %s", "External storage" : "Externí úložiště", - "OpenStack Object Storage" : "OpenStack Object Storage", - "Username" : "Uživatelské jméno", - "Bucket" : "Bucket", - "Region (optional for OpenStack Object Storage)" : "Region (nepovinný pro OpenStack Object Storage)", - "API Key (required for Rackspace Cloud Files)" : "API klíč (vyžadován pro Rackspace Cloud Files)", - "Tenantname (required for OpenStack Object Storage)" : "Jméno nájemce (vyžadováno pro OpenStack Object Storage)", - "Password (required for OpenStack Object Storage)" : "Heslo (vyžadováno pro OpenStack Object Storage)", - "Service Name (required for OpenStack Object Storage)" : "Název služby (vyžadováno pro OpenStack Object Storage)", - "URL of identity endpoint (required for OpenStack Object Storage)" : "URL identity koncového bodu (vyžadováno pro OpenStack Object Storage)", - "Timeout of HTTP requests in seconds" : "Časový limit HTTP požadavků v sekundách", - "SMB / CIFS using OC login" : "SMB / CIFS za použití přihlašovacího jména OC", - "Host" : "Počítač", - "Username as share" : "Uživatelské jméno jako sdílený adresář", - "Share" : "Sdílet", - "Remote subfolder" : "Vzdálený podadresář", - "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 backend or authentication mechanism class" : "Neplatný backend nebo třída ověřovacího mechanismu", "Invalid mount point" : "Neplatný přípojný bod", @@ -34,6 +17,8 @@ OC.L10N.register( "Access granted" : "Přístup povolen", "Error configuring OAuth1" : "Chyba nastavení OAuth1", "Error configuring OAuth2" : "Chyba nastavení OAuth2", + "Generate keys" : "Vytvořit klíče", + "Error generating key pair" : "Chyba při vytváření páru klíčů", "Enable encryption" : "Povolit šifrování", "Enable previews" : "Povolit náhledy", "Check for changes" : "Zkontrolovat změny", @@ -43,8 +28,6 @@ OC.L10N.register( "All users. Type to select user or group." : "Všichni uživatelé. Začněte psát pro výběr uživatelů a skupin.", "(group)" : "(skupina)", "Saved" : "Uloženo", - "Generate keys" : "Vytvořit klíče", - "Error generating key pair" : "Chyba při vytváření páru klíčů", "Access key" : "Přístupový klíč", "Secret key" : "Tajný klíč", "None" : "Žádné", @@ -54,10 +37,14 @@ OC.L10N.register( "OAuth2" : "OAuth2", "Client ID" : "Klientské ID", "Client secret" : "Klientské tajemství", - "Username and password" : "Uživatelské jméno a heslo", + "Username" : "Uživatelské jméno", "Password" : "Heslo", + "API key" : "Klíč API", + "Username and password" : "Uživatelské jméno a heslo", "Session credentials" : "Přihlašovací údaje sezení", + "Public key" : "Veřejný klíč", "Amazon S3" : "Amazon S3", + "Bucket" : "Bucket", "Hostname" : "Hostname", "Port" : "Port", "Region" : "Kraj", @@ -65,9 +52,11 @@ OC.L10N.register( "Enable Path Style" : "Povolit Path Style", "WebDAV" : "WebDAV", "URL" : "URL", + "Remote subfolder" : "Vzdálený podadresář", "Secure https://" : "Zabezpečené https://", "Dropbox" : "Dropbox", "FTP" : "FTP", + "Host" : "Počítač", "Secure ftps://" : "Zabezpečené ftps://", "Google Drive" : "Google Drive", "Local" : "Místní", @@ -76,6 +65,9 @@ OC.L10N.register( "SFTP" : "SFTP", "Root" : "Kořen", "SMB / CIFS" : "SMB / CIFS", + "Share" : "Sdílet", + "Username as share" : "Uživatelské jméno jako sdílený adresář", + "OpenStack Object Storage" : "OpenStack Object Storage", "<b>Note:</b> " : "<b>Poznámka:</b>", "<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>Poznámka:</b> cURL podpora v PHP není povolena nebo nainstalována. Není možné připojení %s. Prosím požádejte svého správce systému ať ji nainstaluje.", "<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>Poznámka:</b> FTP podpora v PHP není povolena nebo nainstalována. Není možné připojení %s. Prosím požádejte svého správce systému ať ji nainstaluje.", diff --git a/apps/files_external/l10n/cs_CZ.json b/apps/files_external/l10n/cs_CZ.json index 03afeb48b8e..966c209b68e 100644 --- a/apps/files_external/l10n/cs_CZ.json +++ b/apps/files_external/l10n/cs_CZ.json @@ -5,23 +5,6 @@ "Step 1 failed. Exception: %s" : "Selhal krok 1. Výjimka: %s", "Step 2 failed. Exception: %s" : "Selhal krok 2. Výjimka: %s", "External storage" : "Externí úložiště", - "OpenStack Object Storage" : "OpenStack Object Storage", - "Username" : "Uživatelské jméno", - "Bucket" : "Bucket", - "Region (optional for OpenStack Object Storage)" : "Region (nepovinný pro OpenStack Object Storage)", - "API Key (required for Rackspace Cloud Files)" : "API klíč (vyžadován pro Rackspace Cloud Files)", - "Tenantname (required for OpenStack Object Storage)" : "Jméno nájemce (vyžadováno pro OpenStack Object Storage)", - "Password (required for OpenStack Object Storage)" : "Heslo (vyžadováno pro OpenStack Object Storage)", - "Service Name (required for OpenStack Object Storage)" : "Název služby (vyžadováno pro OpenStack Object Storage)", - "URL of identity endpoint (required for OpenStack Object Storage)" : "URL identity koncového bodu (vyžadováno pro OpenStack Object Storage)", - "Timeout of HTTP requests in seconds" : "Časový limit HTTP požadavků v sekundách", - "SMB / CIFS using OC login" : "SMB / CIFS za použití přihlašovacího jména OC", - "Host" : "Počítač", - "Username as share" : "Uživatelské jméno jako sdílený adresář", - "Share" : "Sdílet", - "Remote subfolder" : "Vzdálený podadresář", - "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 backend or authentication mechanism class" : "Neplatný backend nebo třída ověřovacího mechanismu", "Invalid mount point" : "Neplatný přípojný bod", @@ -32,6 +15,8 @@ "Access granted" : "Přístup povolen", "Error configuring OAuth1" : "Chyba nastavení OAuth1", "Error configuring OAuth2" : "Chyba nastavení OAuth2", + "Generate keys" : "Vytvořit klíče", + "Error generating key pair" : "Chyba při vytváření páru klíčů", "Enable encryption" : "Povolit šifrování", "Enable previews" : "Povolit náhledy", "Check for changes" : "Zkontrolovat změny", @@ -41,8 +26,6 @@ "All users. Type to select user or group." : "Všichni uživatelé. Začněte psát pro výběr uživatelů a skupin.", "(group)" : "(skupina)", "Saved" : "Uloženo", - "Generate keys" : "Vytvořit klíče", - "Error generating key pair" : "Chyba při vytváření páru klíčů", "Access key" : "Přístupový klíč", "Secret key" : "Tajný klíč", "None" : "Žádné", @@ -52,10 +35,14 @@ "OAuth2" : "OAuth2", "Client ID" : "Klientské ID", "Client secret" : "Klientské tajemství", - "Username and password" : "Uživatelské jméno a heslo", + "Username" : "Uživatelské jméno", "Password" : "Heslo", + "API key" : "Klíč API", + "Username and password" : "Uživatelské jméno a heslo", "Session credentials" : "Přihlašovací údaje sezení", + "Public key" : "Veřejný klíč", "Amazon S3" : "Amazon S3", + "Bucket" : "Bucket", "Hostname" : "Hostname", "Port" : "Port", "Region" : "Kraj", @@ -63,9 +50,11 @@ "Enable Path Style" : "Povolit Path Style", "WebDAV" : "WebDAV", "URL" : "URL", + "Remote subfolder" : "Vzdálený podadresář", "Secure https://" : "Zabezpečené https://", "Dropbox" : "Dropbox", "FTP" : "FTP", + "Host" : "Počítač", "Secure ftps://" : "Zabezpečené ftps://", "Google Drive" : "Google Drive", "Local" : "Místní", @@ -74,6 +63,9 @@ "SFTP" : "SFTP", "Root" : "Kořen", "SMB / CIFS" : "SMB / CIFS", + "Share" : "Sdílet", + "Username as share" : "Uživatelské jméno jako sdílený adresář", + "OpenStack Object Storage" : "OpenStack Object Storage", "<b>Note:</b> " : "<b>Poznámka:</b>", "<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>Poznámka:</b> cURL podpora v PHP není povolena nebo nainstalována. Není možné připojení %s. Prosím požádejte svého správce systému ať ji nainstaluje.", "<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>Poznámka:</b> FTP podpora v PHP není povolena nebo nainstalována. Není možné připojení %s. Prosím požádejte svého správce systému ať ji nainstaluje.", diff --git a/apps/files_external/l10n/cy_GB.js b/apps/files_external/l10n/cy_GB.js index 275d7e9fd9b..4364445be0c 100644 --- a/apps/files_external/l10n/cy_GB.js +++ b/apps/files_external/l10n/cy_GB.js @@ -1,14 +1,14 @@ OC.L10N.register( "files_external", { - "Username" : "Enw defnyddiwr", - "Share" : "Rhannu", "Personal" : "Personol", "None" : "Dim", + "Username" : "Enw defnyddiwr", "Password" : "Cyfrinair", "URL" : "URL", "Location" : "Lleoliad", "ownCloud" : "ownCloud", + "Share" : "Rhannu", "Name" : "Enw", "Delete" : "Dileu" }, diff --git a/apps/files_external/l10n/cy_GB.json b/apps/files_external/l10n/cy_GB.json index eb3568d5e10..4916cb270ab 100644 --- a/apps/files_external/l10n/cy_GB.json +++ b/apps/files_external/l10n/cy_GB.json @@ -1,12 +1,12 @@ { "translations": { - "Username" : "Enw defnyddiwr", - "Share" : "Rhannu", "Personal" : "Personol", "None" : "Dim", + "Username" : "Enw defnyddiwr", "Password" : "Cyfrinair", "URL" : "URL", "Location" : "Lleoliad", "ownCloud" : "ownCloud", + "Share" : "Rhannu", "Name" : "Enw", "Delete" : "Dileu" },"pluralForm" :"nplurals=4; plural=(n==1) ? 0 : (n==2) ? 1 : (n != 8 && n != 11) ? 2 : 3;" diff --git a/apps/files_external/l10n/da.js b/apps/files_external/l10n/da.js index 946ea94169c..b1f058efbb3 100644 --- a/apps/files_external/l10n/da.js +++ b/apps/files_external/l10n/da.js @@ -1,29 +1,12 @@ OC.L10N.register( "files_external", { - "Fetching request tokens failed. Verify that your app key and secret are correct." : "Tokener til anmodning om hentning mislykkedes. Verificér at din app-nøgle og -hemmelighed er korrekte.", - "Fetching access tokens failed. Verify that your app key and secret are correct." : "Tokener for adgang til hentning fejlede. Verificér at din app-nøgle og -hemmelighed er korrekte.", - "Please provide a valid app key and secret." : "Angiv venligst en gyldig app-nøgle og -hemmelighed.", + "Fetching request tokens failed. Verify that your app key and secret are correct." : "Tokener til anmodning om hentning mislykkedes. Verificér at dine app-nøgle og -hemmelighed er korrekte.", + "Fetching access tokens failed. Verify that your app key and secret are correct." : "Tokener for adgang til hentning fejlede. Verificér at dine app-nøgle og -hemmelighed er korrekte.", + "Please provide a valid app key and secret." : "Angiv venligst gyldig app-nøgle og -hemmelighed.", "Step 1 failed. Exception: %s" : "Trin 1 mislykkedes. Undtagelse: %s", "Step 2 failed. Exception: %s" : "Trin 2 mislykkedes. Undtagelse: %s", "External storage" : "Eksternt lager", - "OpenStack Object Storage" : "OpenStack Object Storage", - "Username" : "Brugernavn", - "Bucket" : "Bucket", - "Region (optional for OpenStack Object Storage)" : "Region (valgfri for OpenStack Object Storage)", - "API Key (required for Rackspace Cloud Files)" : "API-nøgle (påkrævet for Rackspace Cloud Files)", - "Tenantname (required for OpenStack Object Storage)" : "Lejers navn (påkrævet for OpenStack Object Storage)", - "Password (required for OpenStack Object Storage)" : "Adgangskode (påkrævet for OpenStack Object Storage)", - "Service Name (required for OpenStack Object Storage)" : "Service Navn (påkrævet for OpenStack Object Storage)", - "URL of identity endpoint (required for OpenStack Object Storage)" : "URL på slutpunkt for identitet (påkrævet for OpenStack Object Storage)", - "Timeout of HTTP requests in seconds" : "Tidsudløb for HTTP-forespørgsler i sekunder", - "SMB / CIFS using OC login" : "SMB / CIFS med OC-login", - "Host" : "Vært", - "Username as share" : "Brugernavn som deling", - "Share" : "Del", - "Remote subfolder" : "Fjernundermappe", - "SFTP with secret key login" : "SFTP med hemmelig nøglelogin", - "Public key" : "Offentlig nøgle", "Storage with id \"%i\" not found" : "Lager med ID'et \"%i% er ikke fundet", "Invalid backend or authentication mechanism class" : "Ugyldig backend eller klasse for godkendelsesmekanisme", "Invalid mount point" : "Fokert monteringspunkt", @@ -31,13 +14,14 @@ OC.L10N.register( "Invalid storage backend \"%s\"" : "Forkert lager til backend \"%s\"en", "Unsatisfied backend parameters" : "Utilfredsstillede backend-parametre", "Unsatisfied authentication mechanism parameters" : "Utilfredsstillede parametre for godkendelsesmekanisme", - "Admin-only storage backend \"%s\"" : "Kun-for-admin lagringsbackend \"%s\"", "Personal" : "Personligt", "System" : "System", "Grant access" : "Godkend adgang", "Access granted" : "Adgang godkendt", "Error configuring OAuth1" : "Fejl under konfiguration af OAuth1", "Error configuring OAuth2" : "Fejl under konfiguration af OAuth2", + "Generate keys" : "Opret nøgler.", + "Error generating key pair" : "Fejl under oprettelse af nøglepar", "Enable encryption" : "Slå kryptering til", "Enable previews" : "Slå forhåndsvisninger til", "Check for changes" : "Tjek for ændringer", @@ -47,8 +31,6 @@ OC.L10N.register( "All users. Type to select user or group." : "Alle brugere. Indtast for at vælge bruger eller gruppe.", "(group)" : "(gruppe)", "Saved" : "Gemt", - "Generate keys" : "Opret nøgler.", - "Error generating key pair" : "Fejl under oprettelse af nøglepar", "Access key" : "Adgangsnøgle", "Secret key" : "Hemmelig nøgle", "Builtin" : "Indbygget", @@ -59,10 +41,14 @@ OC.L10N.register( "OAuth2" : "OAuth2", "Client ID" : "Klient-ID", "Client secret" : "Klient hemmelighed", - "Username and password" : "Brugernavn og kodeord", + "Username" : "Brugernavn", "Password" : "Kodeord", + "API key" : "API nøgle", + "Username and password" : "Brugernavn og kodeord", "Session credentials" : "Brugeroplysninger for session", + "Public key" : "Offentlig nøgle", "Amazon S3" : "Amazon S3", + "Bucket" : "Bucket", "Hostname" : "Værtsnavn", "Port" : "Port", "Region" : "Region", @@ -70,9 +56,11 @@ OC.L10N.register( "Enable Path Style" : "Aktivér stil for sti", "WebDAV" : "WebDAV", "URL" : "URL", + "Remote subfolder" : "Fjernundermappe", "Secure https://" : "Sikker https://", "Dropbox" : "Dropbox", "FTP" : "FTP", + "Host" : "Vært", "Secure ftps://" : "Sikker ftps://", "Google Drive" : "Google Drev", "Local" : "Lokal", @@ -81,6 +69,9 @@ OC.L10N.register( "SFTP" : "SFTP", "Root" : "Root", "SMB / CIFS" : "SMB / CIFS", + "Share" : "Del", + "Username as share" : "Brugernavn som deling", + "OpenStack Object Storage" : "OpenStack Object Storage", "<b>Note:</b> " : "<b>Note:</b> ", "<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>Bemærk:</b> cURL-understøttelsen i PHP er enten ikke aktiveret eller installeret. Monteringen af %s er ikke mulig. Anmod din systemadministrator om at 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>Bemærk:</b> FTP understøttelsen i PHP er enten ikke aktiveret eller installeret. Montering af %s er ikke muligt. Anmod din systemadministrator om at installere det.", diff --git a/apps/files_external/l10n/da.json b/apps/files_external/l10n/da.json index 6a291b2b149..811de509421 100644 --- a/apps/files_external/l10n/da.json +++ b/apps/files_external/l10n/da.json @@ -1,27 +1,10 @@ { "translations": { - "Fetching request tokens failed. Verify that your app key and secret are correct." : "Tokener til anmodning om hentning mislykkedes. Verificér at din app-nøgle og -hemmelighed er korrekte.", - "Fetching access tokens failed. Verify that your app key and secret are correct." : "Tokener for adgang til hentning fejlede. Verificér at din app-nøgle og -hemmelighed er korrekte.", - "Please provide a valid app key and secret." : "Angiv venligst en gyldig app-nøgle og -hemmelighed.", + "Fetching request tokens failed. Verify that your app key and secret are correct." : "Tokener til anmodning om hentning mislykkedes. Verificér at dine app-nøgle og -hemmelighed er korrekte.", + "Fetching access tokens failed. Verify that your app key and secret are correct." : "Tokener for adgang til hentning fejlede. Verificér at dine app-nøgle og -hemmelighed er korrekte.", + "Please provide a valid app key and secret." : "Angiv venligst gyldig app-nøgle og -hemmelighed.", "Step 1 failed. Exception: %s" : "Trin 1 mislykkedes. Undtagelse: %s", "Step 2 failed. Exception: %s" : "Trin 2 mislykkedes. Undtagelse: %s", "External storage" : "Eksternt lager", - "OpenStack Object Storage" : "OpenStack Object Storage", - "Username" : "Brugernavn", - "Bucket" : "Bucket", - "Region (optional for OpenStack Object Storage)" : "Region (valgfri for OpenStack Object Storage)", - "API Key (required for Rackspace Cloud Files)" : "API-nøgle (påkrævet for Rackspace Cloud Files)", - "Tenantname (required for OpenStack Object Storage)" : "Lejers navn (påkrævet for OpenStack Object Storage)", - "Password (required for OpenStack Object Storage)" : "Adgangskode (påkrævet for OpenStack Object Storage)", - "Service Name (required for OpenStack Object Storage)" : "Service Navn (påkrævet for OpenStack Object Storage)", - "URL of identity endpoint (required for OpenStack Object Storage)" : "URL på slutpunkt for identitet (påkrævet for OpenStack Object Storage)", - "Timeout of HTTP requests in seconds" : "Tidsudløb for HTTP-forespørgsler i sekunder", - "SMB / CIFS using OC login" : "SMB / CIFS med OC-login", - "Host" : "Vært", - "Username as share" : "Brugernavn som deling", - "Share" : "Del", - "Remote subfolder" : "Fjernundermappe", - "SFTP with secret key login" : "SFTP med hemmelig nøglelogin", - "Public key" : "Offentlig nøgle", "Storage with id \"%i\" not found" : "Lager med ID'et \"%i% er ikke fundet", "Invalid backend or authentication mechanism class" : "Ugyldig backend eller klasse for godkendelsesmekanisme", "Invalid mount point" : "Fokert monteringspunkt", @@ -29,13 +12,14 @@ "Invalid storage backend \"%s\"" : "Forkert lager til backend \"%s\"en", "Unsatisfied backend parameters" : "Utilfredsstillede backend-parametre", "Unsatisfied authentication mechanism parameters" : "Utilfredsstillede parametre for godkendelsesmekanisme", - "Admin-only storage backend \"%s\"" : "Kun-for-admin lagringsbackend \"%s\"", "Personal" : "Personligt", "System" : "System", "Grant access" : "Godkend adgang", "Access granted" : "Adgang godkendt", "Error configuring OAuth1" : "Fejl under konfiguration af OAuth1", "Error configuring OAuth2" : "Fejl under konfiguration af OAuth2", + "Generate keys" : "Opret nøgler.", + "Error generating key pair" : "Fejl under oprettelse af nøglepar", "Enable encryption" : "Slå kryptering til", "Enable previews" : "Slå forhåndsvisninger til", "Check for changes" : "Tjek for ændringer", @@ -45,8 +29,6 @@ "All users. Type to select user or group." : "Alle brugere. Indtast for at vælge bruger eller gruppe.", "(group)" : "(gruppe)", "Saved" : "Gemt", - "Generate keys" : "Opret nøgler.", - "Error generating key pair" : "Fejl under oprettelse af nøglepar", "Access key" : "Adgangsnøgle", "Secret key" : "Hemmelig nøgle", "Builtin" : "Indbygget", @@ -57,10 +39,14 @@ "OAuth2" : "OAuth2", "Client ID" : "Klient-ID", "Client secret" : "Klient hemmelighed", - "Username and password" : "Brugernavn og kodeord", + "Username" : "Brugernavn", "Password" : "Kodeord", + "API key" : "API nøgle", + "Username and password" : "Brugernavn og kodeord", "Session credentials" : "Brugeroplysninger for session", + "Public key" : "Offentlig nøgle", "Amazon S3" : "Amazon S3", + "Bucket" : "Bucket", "Hostname" : "Værtsnavn", "Port" : "Port", "Region" : "Region", @@ -68,9 +54,11 @@ "Enable Path Style" : "Aktivér stil for sti", "WebDAV" : "WebDAV", "URL" : "URL", + "Remote subfolder" : "Fjernundermappe", "Secure https://" : "Sikker https://", "Dropbox" : "Dropbox", "FTP" : "FTP", + "Host" : "Vært", "Secure ftps://" : "Sikker ftps://", "Google Drive" : "Google Drev", "Local" : "Lokal", @@ -79,6 +67,9 @@ "SFTP" : "SFTP", "Root" : "Root", "SMB / CIFS" : "SMB / CIFS", + "Share" : "Del", + "Username as share" : "Brugernavn som deling", + "OpenStack Object Storage" : "OpenStack Object Storage", "<b>Note:</b> " : "<b>Note:</b> ", "<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>Bemærk:</b> cURL-understøttelsen i PHP er enten ikke aktiveret eller installeret. Monteringen af %s er ikke mulig. Anmod din systemadministrator om at 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>Bemærk:</b> FTP understøttelsen i PHP er enten ikke aktiveret eller installeret. Montering af %s er ikke muligt. Anmod din systemadministrator om at installere det.", diff --git a/apps/files_external/l10n/de.js b/apps/files_external/l10n/de.js index f42ac256897..fc0af67d3d7 100644 --- a/apps/files_external/l10n/de.js +++ b/apps/files_external/l10n/de.js @@ -4,23 +4,6 @@ OC.L10N.register( "Step 1 failed. Exception: %s" : "Schritt 1 fehlgeschlagen. Fehlermeldung: %s", "Step 2 failed. Exception: %s" : "Schritt 2 fehlgeschlagen. Fehlermeldung: %s", "External storage" : "Externer Speicher", - "OpenStack Object Storage" : "Openstack-Objektspeicher", - "Username" : "Benutzername", - "Bucket" : "Bucket", - "Region (optional for OpenStack Object Storage)" : "Region (Optional für Openstack-Objektspeicher)", - "API Key (required for Rackspace Cloud Files)" : "API-Schlüssel (Erforderlich für Rackspace Cloud-Dateien)", - "Tenantname (required for OpenStack Object Storage)" : "Mietername (Erforderlich für Openstack-Objektspeicher)", - "Password (required for OpenStack Object Storage)" : "Passwort (Erforderlich für Openstack-Objektspeicher)", - "Service Name (required for OpenStack Object Storage)" : "Name der Dienstleistung (Erforderlich für Openstack-Objektspeicher)", - "URL of identity endpoint (required for OpenStack Object Storage)" : "URL des Identitätsendpunktes (Erforderlich für Openstack-Objektspeicher)", - "Timeout of HTTP requests in seconds" : "Zeitüberschreitung von HTTP-Anfragen in Sekunden", - "SMB / CIFS using OC login" : "SMB / CIFS mit OC-Login", - "Host" : "Host", - "Username as share" : "Benutzername als Freigabe", - "Share" : "Share", - "Remote subfolder" : "Entfernter Unterordner", - "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", "Invalid storage backend \"%s\"" : "Ungültiges Speicher-Backend „%s“", @@ -28,6 +11,8 @@ OC.L10N.register( "System" : "System", "Grant access" : "Zugriff gestatten", "Access granted" : "Zugriff gestattet", + "Generate keys" : "Schlüssel erzeugen", + "Error generating key pair" : "Fehler beim Erzeugen des Schlüsselpaares", "Enable encryption" : "Verschlüsselung aktivieren", "Enable previews" : "Vorschau aktivieren", "Check for changes" : "Auf Änderungen überprüfen", @@ -37,15 +22,17 @@ OC.L10N.register( "All users. Type to select user or group." : "Alle Benutzer. Benutzer oder Gruppe zur Auswahl eingeben.", "(group)" : "(group)", "Saved" : "Gespeichert", - "Generate keys" : "Schlüssel erzeugen", - "Error generating key pair" : "Fehler beim Erzeugen des Schlüsselpaares", "None" : "Keine", "App key" : "App-Schlüssel", "App secret" : "Geheime Zeichenkette der App", "Client ID" : "Client-ID", "Client secret" : "Geheime Zeichenkette des Client", + "Username" : "Benutzername", "Password" : "Passwort", + "API key" : "API-Schlüssel", + "Public key" : "Öffentlicher Schlüssel", "Amazon S3" : "Amazon S3", + "Bucket" : "Bucket", "Hostname" : "Host-Name", "Port" : "Port", "Region" : "Region", @@ -53,13 +40,18 @@ OC.L10N.register( "Enable Path Style" : "Pfad-Stil aktivieren", "WebDAV" : "WebDAV", "URL" : "URL", + "Remote subfolder" : "Entfernter Unterordner", "Secure https://" : "Sicherer HTTPS://", "Dropbox" : "Dropbox", + "Host" : "Host", "Secure ftps://" : "Sicherer ftps://", "Local" : "Lokal", "Location" : "Ort", "ownCloud" : "ownCloud", "Root" : "Root", + "Share" : "Share", + "Username as share" : "Benutzername als Freigabe", + "OpenStack Object Storage" : "Openstack-Objektspeicher", "<b>Note:</b> " : "<b>Hinweis:</b> ", "<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>Hinweis:</b> Die cURL-Unterstützung von PHP ist nicht aktiviert oder installiert. Das Hinzufügen von %s ist nicht möglich. Bitte wende Dich zur Installation an Deinen Systemadministrator.", "<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>Hinweis:</b> Die FTP Unterstützung von PHP ist nicht aktiviert oder installiert. Das Hinzufügen von %s ist nicht möglich. Bitte wende Dich sich zur Installation an Deinen Systemadministrator.", diff --git a/apps/files_external/l10n/de.json b/apps/files_external/l10n/de.json index 2dd3182812b..4242b817073 100644 --- a/apps/files_external/l10n/de.json +++ b/apps/files_external/l10n/de.json @@ -2,23 +2,6 @@ "Step 1 failed. Exception: %s" : "Schritt 1 fehlgeschlagen. Fehlermeldung: %s", "Step 2 failed. Exception: %s" : "Schritt 2 fehlgeschlagen. Fehlermeldung: %s", "External storage" : "Externer Speicher", - "OpenStack Object Storage" : "Openstack-Objektspeicher", - "Username" : "Benutzername", - "Bucket" : "Bucket", - "Region (optional for OpenStack Object Storage)" : "Region (Optional für Openstack-Objektspeicher)", - "API Key (required for Rackspace Cloud Files)" : "API-Schlüssel (Erforderlich für Rackspace Cloud-Dateien)", - "Tenantname (required for OpenStack Object Storage)" : "Mietername (Erforderlich für Openstack-Objektspeicher)", - "Password (required for OpenStack Object Storage)" : "Passwort (Erforderlich für Openstack-Objektspeicher)", - "Service Name (required for OpenStack Object Storage)" : "Name der Dienstleistung (Erforderlich für Openstack-Objektspeicher)", - "URL of identity endpoint (required for OpenStack Object Storage)" : "URL des Identitätsendpunktes (Erforderlich für Openstack-Objektspeicher)", - "Timeout of HTTP requests in seconds" : "Zeitüberschreitung von HTTP-Anfragen in Sekunden", - "SMB / CIFS using OC login" : "SMB / CIFS mit OC-Login", - "Host" : "Host", - "Username as share" : "Benutzername als Freigabe", - "Share" : "Share", - "Remote subfolder" : "Entfernter Unterordner", - "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", "Invalid storage backend \"%s\"" : "Ungültiges Speicher-Backend „%s“", @@ -26,6 +9,8 @@ "System" : "System", "Grant access" : "Zugriff gestatten", "Access granted" : "Zugriff gestattet", + "Generate keys" : "Schlüssel erzeugen", + "Error generating key pair" : "Fehler beim Erzeugen des Schlüsselpaares", "Enable encryption" : "Verschlüsselung aktivieren", "Enable previews" : "Vorschau aktivieren", "Check for changes" : "Auf Änderungen überprüfen", @@ -35,15 +20,17 @@ "All users. Type to select user or group." : "Alle Benutzer. Benutzer oder Gruppe zur Auswahl eingeben.", "(group)" : "(group)", "Saved" : "Gespeichert", - "Generate keys" : "Schlüssel erzeugen", - "Error generating key pair" : "Fehler beim Erzeugen des Schlüsselpaares", "None" : "Keine", "App key" : "App-Schlüssel", "App secret" : "Geheime Zeichenkette der App", "Client ID" : "Client-ID", "Client secret" : "Geheime Zeichenkette des Client", + "Username" : "Benutzername", "Password" : "Passwort", + "API key" : "API-Schlüssel", + "Public key" : "Öffentlicher Schlüssel", "Amazon S3" : "Amazon S3", + "Bucket" : "Bucket", "Hostname" : "Host-Name", "Port" : "Port", "Region" : "Region", @@ -51,13 +38,18 @@ "Enable Path Style" : "Pfad-Stil aktivieren", "WebDAV" : "WebDAV", "URL" : "URL", + "Remote subfolder" : "Entfernter Unterordner", "Secure https://" : "Sicherer HTTPS://", "Dropbox" : "Dropbox", + "Host" : "Host", "Secure ftps://" : "Sicherer ftps://", "Local" : "Lokal", "Location" : "Ort", "ownCloud" : "ownCloud", "Root" : "Root", + "Share" : "Share", + "Username as share" : "Benutzername als Freigabe", + "OpenStack Object Storage" : "Openstack-Objektspeicher", "<b>Note:</b> " : "<b>Hinweis:</b> ", "<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>Hinweis:</b> Die cURL-Unterstützung von PHP ist nicht aktiviert oder installiert. Das Hinzufügen von %s ist nicht möglich. Bitte wende Dich zur Installation an Deinen Systemadministrator.", "<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>Hinweis:</b> Die FTP Unterstützung von PHP ist nicht aktiviert oder installiert. Das Hinzufügen von %s ist nicht möglich. Bitte wende Dich sich zur Installation an Deinen Systemadministrator.", diff --git a/apps/files_external/l10n/de_AT.js b/apps/files_external/l10n/de_AT.js index 9a481a7a008..6c71c45f217 100644 --- a/apps/files_external/l10n/de_AT.js +++ b/apps/files_external/l10n/de_AT.js @@ -1,13 +1,13 @@ OC.L10N.register( "files_external", { - "Username" : "Benutzername", - "Host" : "Host", - "Share" : "Freigeben", "Personal" : "Persönlich", + "Username" : "Benutzername", "Password" : "Passwort", "Port" : "Port", + "Host" : "Host", "Location" : "Ort", + "Share" : "Freigeben", "Folder name" : "Ordner Name", "Delete" : "Löschen" }, diff --git a/apps/files_external/l10n/de_AT.json b/apps/files_external/l10n/de_AT.json index b4ae1adb13c..0d956dc81c6 100644 --- a/apps/files_external/l10n/de_AT.json +++ b/apps/files_external/l10n/de_AT.json @@ -1,11 +1,11 @@ { "translations": { - "Username" : "Benutzername", - "Host" : "Host", - "Share" : "Freigeben", "Personal" : "Persönlich", + "Username" : "Benutzername", "Password" : "Passwort", "Port" : "Port", + "Host" : "Host", "Location" : "Ort", + "Share" : "Freigeben", "Folder name" : "Ordner Name", "Delete" : "Löschen" },"pluralForm" :"nplurals=2; plural=(n != 1);" diff --git a/apps/files_external/l10n/de_DE.js b/apps/files_external/l10n/de_DE.js index 309dd8064ea..9d363aecbf6 100644 --- a/apps/files_external/l10n/de_DE.js +++ b/apps/files_external/l10n/de_DE.js @@ -4,23 +4,6 @@ OC.L10N.register( "Step 1 failed. Exception: %s" : "Schritt 1 fehlgeschlagen. Fehlermeldung: %s", "Step 2 failed. Exception: %s" : "Schritt 2 fehlgeschlagen. Fehlermeldung: %s", "External storage" : "Externer Speicher", - "OpenStack Object Storage" : "Openstack-Objektspeicher", - "Username" : "Benutzername", - "Bucket" : "Bucket", - "Region (optional for OpenStack Object Storage)" : "Region (Optional für Openstack-Objektspeicher)", - "API Key (required for Rackspace Cloud Files)" : "API-Schlüssel (Erforderlich für Rackspace Cloud-Dateien)", - "Tenantname (required for OpenStack Object Storage)" : "Mietername (Erforderlich für Openstack-Objektspeicher)", - "Password (required for OpenStack Object Storage)" : "Passwort (Erforderlich für Openstack-Objektspeicher)", - "Service Name (required for OpenStack Object Storage)" : "Name der Dienstleistung (Erforderlich für Openstack-Objektspeicher)", - "URL of identity endpoint (required for OpenStack Object Storage)" : "URL des Identitätsendpunktes (Erforderlich für Openstack-Objektspeicher)", - "Timeout of HTTP requests in seconds" : "Zeitüberschreitung von HTTP-Anfragen in Sekunden", - "SMB / CIFS using OC login" : "SMB / CIFS mit OC-Login", - "Host" : "Host", - "Username as share" : "Benutzername als Freigabe", - "Share" : "Share", - "Remote subfolder" : "Entfernter Unterordner", - "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", "Invalid storage backend \"%s\"" : "Ungültiges Speicher-Backend „%s“", @@ -28,6 +11,8 @@ OC.L10N.register( "System" : "System", "Grant access" : "Zugriff gestatten", "Access granted" : "Zugriff gestattet", + "Generate keys" : "Schlüssel erzeugen", + "Error generating key pair" : "Fehler beim Erzeugen des Schlüsselpaares", "Enable encryption" : "Verschlüsselung aktivieren", "Enable previews" : "Vorschau aktivieren", "Check for changes" : "Auf Änderungen überprüfen", @@ -37,15 +22,17 @@ OC.L10N.register( "All users. Type to select user or group." : "Alle Benutzer. Benutzer oder Gruppe zur Auswahl eingeben.", "(group)" : "(group)", "Saved" : "Gespeichert", - "Generate keys" : "Schlüssel erzeugen", - "Error generating key pair" : "Fehler beim Erzeugen des Schlüsselpaares", "None" : "Keine", "App key" : "App-Schlüssel", "App secret" : "Geheime Zeichenkette der App", "Client ID" : "Client-ID", "Client secret" : "Geheime Zeichenkette des Client", + "Username" : "Benutzername", "Password" : "Passwort", + "API key" : "API-Schlüssel", + "Public key" : "Öffentlicher Schlüssel", "Amazon S3" : "Amazon S3", + "Bucket" : "Bucket", "Hostname" : "Host-Name", "Port" : "Port", "Region" : "Region", @@ -53,13 +40,18 @@ OC.L10N.register( "Enable Path Style" : "Pfadstil aktivieren", "WebDAV" : "WebDAV", "URL" : "Adresse", + "Remote subfolder" : "Entfernter Unterordner", "Secure https://" : "Sicheres https://", "Dropbox" : "Dropbox", + "Host" : "Host", "Secure ftps://" : "Sicheres ftps://", "Local" : "Lokal", "Location" : "Ort", "ownCloud" : "ownCloud", "Root" : "Root", + "Share" : "Share", + "Username as share" : "Benutzername als Freigabe", + "OpenStack Object Storage" : "Openstack-Objektspeicher", "<b>Note:</b> " : "<b>Hinweis:</b> ", "<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>Hinweis:</b> Die cURL-Unterstützung von PHP ist nicht aktiviert oder installiert. Das Hinzufügen von %s ist nicht möglich. Bitte wenden Sie sich zur Installation an Ihren Systemadministrator.", "<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>Hinweis:</b> Die FTP Unterstützung von PHP ist nicht aktiviert oder installiert. Das Hinzufügen von %s ist nicht möglich. Bitte wenden Sie sich zur Installation an Ihren Systemadministrator.", diff --git a/apps/files_external/l10n/de_DE.json b/apps/files_external/l10n/de_DE.json index 74ca2416554..62fe7b0803c 100644 --- a/apps/files_external/l10n/de_DE.json +++ b/apps/files_external/l10n/de_DE.json @@ -2,23 +2,6 @@ "Step 1 failed. Exception: %s" : "Schritt 1 fehlgeschlagen. Fehlermeldung: %s", "Step 2 failed. Exception: %s" : "Schritt 2 fehlgeschlagen. Fehlermeldung: %s", "External storage" : "Externer Speicher", - "OpenStack Object Storage" : "Openstack-Objektspeicher", - "Username" : "Benutzername", - "Bucket" : "Bucket", - "Region (optional for OpenStack Object Storage)" : "Region (Optional für Openstack-Objektspeicher)", - "API Key (required for Rackspace Cloud Files)" : "API-Schlüssel (Erforderlich für Rackspace Cloud-Dateien)", - "Tenantname (required for OpenStack Object Storage)" : "Mietername (Erforderlich für Openstack-Objektspeicher)", - "Password (required for OpenStack Object Storage)" : "Passwort (Erforderlich für Openstack-Objektspeicher)", - "Service Name (required for OpenStack Object Storage)" : "Name der Dienstleistung (Erforderlich für Openstack-Objektspeicher)", - "URL of identity endpoint (required for OpenStack Object Storage)" : "URL des Identitätsendpunktes (Erforderlich für Openstack-Objektspeicher)", - "Timeout of HTTP requests in seconds" : "Zeitüberschreitung von HTTP-Anfragen in Sekunden", - "SMB / CIFS using OC login" : "SMB / CIFS mit OC-Login", - "Host" : "Host", - "Username as share" : "Benutzername als Freigabe", - "Share" : "Share", - "Remote subfolder" : "Entfernter Unterordner", - "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", "Invalid storage backend \"%s\"" : "Ungültiges Speicher-Backend „%s“", @@ -26,6 +9,8 @@ "System" : "System", "Grant access" : "Zugriff gestatten", "Access granted" : "Zugriff gestattet", + "Generate keys" : "Schlüssel erzeugen", + "Error generating key pair" : "Fehler beim Erzeugen des Schlüsselpaares", "Enable encryption" : "Verschlüsselung aktivieren", "Enable previews" : "Vorschau aktivieren", "Check for changes" : "Auf Änderungen überprüfen", @@ -35,15 +20,17 @@ "All users. Type to select user or group." : "Alle Benutzer. Benutzer oder Gruppe zur Auswahl eingeben.", "(group)" : "(group)", "Saved" : "Gespeichert", - "Generate keys" : "Schlüssel erzeugen", - "Error generating key pair" : "Fehler beim Erzeugen des Schlüsselpaares", "None" : "Keine", "App key" : "App-Schlüssel", "App secret" : "Geheime Zeichenkette der App", "Client ID" : "Client-ID", "Client secret" : "Geheime Zeichenkette des Client", + "Username" : "Benutzername", "Password" : "Passwort", + "API key" : "API-Schlüssel", + "Public key" : "Öffentlicher Schlüssel", "Amazon S3" : "Amazon S3", + "Bucket" : "Bucket", "Hostname" : "Host-Name", "Port" : "Port", "Region" : "Region", @@ -51,13 +38,18 @@ "Enable Path Style" : "Pfadstil aktivieren", "WebDAV" : "WebDAV", "URL" : "Adresse", + "Remote subfolder" : "Entfernter Unterordner", "Secure https://" : "Sicheres https://", "Dropbox" : "Dropbox", + "Host" : "Host", "Secure ftps://" : "Sicheres ftps://", "Local" : "Lokal", "Location" : "Ort", "ownCloud" : "ownCloud", "Root" : "Root", + "Share" : "Share", + "Username as share" : "Benutzername als Freigabe", + "OpenStack Object Storage" : "Openstack-Objektspeicher", "<b>Note:</b> " : "<b>Hinweis:</b> ", "<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>Hinweis:</b> Die cURL-Unterstützung von PHP ist nicht aktiviert oder installiert. Das Hinzufügen von %s ist nicht möglich. Bitte wenden Sie sich zur Installation an Ihren Systemadministrator.", "<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>Hinweis:</b> Die FTP Unterstützung von PHP ist nicht aktiviert oder installiert. Das Hinzufügen von %s ist nicht möglich. Bitte wenden Sie sich zur Installation an Ihren Systemadministrator.", diff --git a/apps/files_external/l10n/el.js b/apps/files_external/l10n/el.js index 13fb910e79d..5147f924c18 100644 --- a/apps/files_external/l10n/el.js +++ b/apps/files_external/l10n/el.js @@ -7,23 +7,6 @@ OC.L10N.register( "Step 1 failed. Exception: %s" : "Το βήμα 1 απέτυχε. Εξαίρεση: %s", "Step 2 failed. Exception: %s" : "Το βήμα 2 απέτυχε. Εξαίρεση: %s", "External storage" : "Εξωτερική αποθήκευση", - "OpenStack Object Storage" : "Αποθήκη αντικειμένων OpenStack", - "Username" : "Όνομα χρήστη", - "Bucket" : "Κάδος", - "Region (optional for OpenStack Object Storage)" : "Περιοχή (προαιρετικά για την αποθήκευση αντικειμένων OpenStack)", - "API Key (required for Rackspace Cloud Files)" : "Κλειδί API (απαιτείται για αρχεία Rackspace Cloud)", - "Tenantname (required for OpenStack Object Storage)" : "Όνομα ενοίκου (απαιτείται για την Αποθήκευση Αντικειμένων OpenStack)", - "Password (required for OpenStack Object Storage)" : "Μυστικός κωδικός (απαιτείται για την αποθήκευση αντικειμένων OpenStack)", - "Service Name (required for OpenStack Object Storage)" : "Όνομα υπηρεσίας (απαιτείται για την αποθήκευση αντικειμένων OpenStack)", - "URL of identity endpoint (required for OpenStack Object Storage)" : "Διεύθυνση URL της ταυτότητας τελικού σημείου (απαιτείται για την αποθήκευση αντικειμένων OpenStack)", - "Timeout of HTTP requests in seconds" : "Χρονικό όριο των αιτήσεων HTTP σε δευτερόλεπτα", - "SMB / CIFS using OC login" : "SMB / CIFS χρησιμοποιώντας λογαριασμό OC", - "Host" : "Διακομιστής", - "Username as share" : "Όνομα χρήστη ως διαμοιραζόμενος φάκελος", - "Share" : "Διαμοιράστε", - "Remote subfolder" : "Απομακρυσμένος υποφάκελος", - "SFTP with secret key login" : "SFTP με σύνδεση με κρυφό κλειδί", - "Public key" : "Δημόσιο κλειδί", "Storage with id \"%i\" not found" : "Αποθήκευση με id \"%i\" δεν βρέθηκε", "Invalid backend or authentication mechanism class" : "Μη έγκυρη κλάση συστήματος ή μηχανισμού πιστοποίησης", "Invalid mount point" : "Μη έγκυρο σημείο ανάρτησης", @@ -31,13 +14,14 @@ OC.L10N.register( "Invalid storage backend \"%s\"" : "Μή έγκυρο σύστημα υποστήριξης αποθήκευσης \"%s\"", "Unsatisfied backend parameters" : "Ελλιπείς παράμετροι συστήματος", "Unsatisfied authentication mechanism parameters" : "Ελλιπείς παράμετροι μηχανισμού πιστοποίησης", - "Admin-only storage backend \"%s\"" : "Σύστημα αποθήκευσης μόνο για διαχειριστή \"%s\"", "Personal" : "Προσωπικά", "System" : "Σύστημα", "Grant access" : "Παροχή πρόσβασης", "Access granted" : "Πρόσβαση παρασχέθηκε", "Error configuring OAuth1" : "Σφάλμα ρύθμισης του OAuth1", "Error configuring OAuth2" : "Σφάλμα ρύθμισης του OAuth2", + "Generate keys" : "Δημιουργία κλειδιών", + "Error generating key pair" : "Σφάλμα κατά τη δημιουργία ζεύγους κλειδιών", "Enable encryption" : "Ενεργοποίηση κρυπτογράφησης", "Enable previews" : "Ενεργοποίηση προεπισκοπήσεων", "Check for changes" : "Έλεγχος για αλλαγές", @@ -47,8 +31,6 @@ OC.L10N.register( "All users. Type to select user or group." : "Όλοι οι χρήστες. Πληκτρολογήστε για να επιλέξετε χρήστη ή ομάδα.", "(group)" : "(ομάδα)", "Saved" : "Αποθηκεύτηκαν", - "Generate keys" : "Δημιουργία κλειδιών", - "Error generating key pair" : "Σφάλμα κατά τη δημιουργία ζεύγους κλειδιών", "Access key" : "Κλειδί πρόσβασης", "Secret key" : "Μυστικό κλειδί", "Builtin" : "Builtin", @@ -59,10 +41,14 @@ OC.L10N.register( "OAuth2" : "OAuth2", "Client ID" : "ID πελάτη", "Client secret" : "Μυστικό πελάτη", - "Username and password" : "Όνομα χρήστη και κωδικός πρόσβασης", + "Username" : "Όνομα χρήστη", "Password" : "Κωδικός πρόσβασης", + "API key" : "Κλειδί Google API", + "Username and password" : "Όνομα χρήστη και κωδικός πρόσβασης", "Session credentials" : "Διαπιστευτήρια συνεδρίας", + "Public key" : "Δημόσιο κλειδί", "Amazon S3" : "Amazon S3", + "Bucket" : "Κάδος", "Hostname" : "Όνομα Υπολογιστή", "Port" : "Θύρα", "Region" : "Περιοχή", @@ -70,9 +56,11 @@ OC.L10N.register( "Enable Path Style" : "Ενεργοποίηση μορφής διαδρομής", "WebDAV" : "WebDAV", "URL" : "URL", + "Remote subfolder" : "Απομακρυσμένος υποφάκελος", "Secure https://" : "Ασφαλής σύνδεση https://", "Dropbox" : "Dropbox", "FTP" : "FTP", + "Host" : "Διακομιστής", "Secure ftps://" : "Ασφαλής ftps://", "Google Drive" : "Google Drive", "Local" : "Τοπικός", @@ -81,6 +69,9 @@ OC.L10N.register( "SFTP" : "SFTP", "Root" : "Root", "SMB / CIFS" : "SMB / CIFS", + "Share" : "Διαμοιράστε", + "Username as share" : "Όνομα χρήστη ως διαμοιραζόμενος φάκελος", + "OpenStack Object Storage" : "Αποθήκη αντικειμένων OpenStack", "<b>Note:</b> " : "<b>Σημείωση:</b> ", "<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Σημείωση:</b> Η υποστήριξη cURL στην PHP δεν είναι ενεργοποιημένη ή εγκατεστημένη. Η προσάρτηση του %s δεν είναι δυνατή. Παρακαλώ ζητήστε από τον διαχειριστή συστημάτων σας να την εγκαταστήσει.", "<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Σημείωση:</b> Η υποστήριξη FTP στην PHP δεν είναι ενεργοποιημένη ή εγκατεστημένη. Δεν είναι δυνατή η προσάρτηση του %s. Παρακαλώ ζητήστε από τον διαχειριστή συστημάτων σας να την εγκαταστήσει.", diff --git a/apps/files_external/l10n/el.json b/apps/files_external/l10n/el.json index c2211b18842..46fd7433dff 100644 --- a/apps/files_external/l10n/el.json +++ b/apps/files_external/l10n/el.json @@ -5,23 +5,6 @@ "Step 1 failed. Exception: %s" : "Το βήμα 1 απέτυχε. Εξαίρεση: %s", "Step 2 failed. Exception: %s" : "Το βήμα 2 απέτυχε. Εξαίρεση: %s", "External storage" : "Εξωτερική αποθήκευση", - "OpenStack Object Storage" : "Αποθήκη αντικειμένων OpenStack", - "Username" : "Όνομα χρήστη", - "Bucket" : "Κάδος", - "Region (optional for OpenStack Object Storage)" : "Περιοχή (προαιρετικά για την αποθήκευση αντικειμένων OpenStack)", - "API Key (required for Rackspace Cloud Files)" : "Κλειδί API (απαιτείται για αρχεία Rackspace Cloud)", - "Tenantname (required for OpenStack Object Storage)" : "Όνομα ενοίκου (απαιτείται για την Αποθήκευση Αντικειμένων OpenStack)", - "Password (required for OpenStack Object Storage)" : "Μυστικός κωδικός (απαιτείται για την αποθήκευση αντικειμένων OpenStack)", - "Service Name (required for OpenStack Object Storage)" : "Όνομα υπηρεσίας (απαιτείται για την αποθήκευση αντικειμένων OpenStack)", - "URL of identity endpoint (required for OpenStack Object Storage)" : "Διεύθυνση URL της ταυτότητας τελικού σημείου (απαιτείται για την αποθήκευση αντικειμένων OpenStack)", - "Timeout of HTTP requests in seconds" : "Χρονικό όριο των αιτήσεων HTTP σε δευτερόλεπτα", - "SMB / CIFS using OC login" : "SMB / CIFS χρησιμοποιώντας λογαριασμό OC", - "Host" : "Διακομιστής", - "Username as share" : "Όνομα χρήστη ως διαμοιραζόμενος φάκελος", - "Share" : "Διαμοιράστε", - "Remote subfolder" : "Απομακρυσμένος υποφάκελος", - "SFTP with secret key login" : "SFTP με σύνδεση με κρυφό κλειδί", - "Public key" : "Δημόσιο κλειδί", "Storage with id \"%i\" not found" : "Αποθήκευση με id \"%i\" δεν βρέθηκε", "Invalid backend or authentication mechanism class" : "Μη έγκυρη κλάση συστήματος ή μηχανισμού πιστοποίησης", "Invalid mount point" : "Μη έγκυρο σημείο ανάρτησης", @@ -29,13 +12,14 @@ "Invalid storage backend \"%s\"" : "Μή έγκυρο σύστημα υποστήριξης αποθήκευσης \"%s\"", "Unsatisfied backend parameters" : "Ελλιπείς παράμετροι συστήματος", "Unsatisfied authentication mechanism parameters" : "Ελλιπείς παράμετροι μηχανισμού πιστοποίησης", - "Admin-only storage backend \"%s\"" : "Σύστημα αποθήκευσης μόνο για διαχειριστή \"%s\"", "Personal" : "Προσωπικά", "System" : "Σύστημα", "Grant access" : "Παροχή πρόσβασης", "Access granted" : "Πρόσβαση παρασχέθηκε", "Error configuring OAuth1" : "Σφάλμα ρύθμισης του OAuth1", "Error configuring OAuth2" : "Σφάλμα ρύθμισης του OAuth2", + "Generate keys" : "Δημιουργία κλειδιών", + "Error generating key pair" : "Σφάλμα κατά τη δημιουργία ζεύγους κλειδιών", "Enable encryption" : "Ενεργοποίηση κρυπτογράφησης", "Enable previews" : "Ενεργοποίηση προεπισκοπήσεων", "Check for changes" : "Έλεγχος για αλλαγές", @@ -45,8 +29,6 @@ "All users. Type to select user or group." : "Όλοι οι χρήστες. Πληκτρολογήστε για να επιλέξετε χρήστη ή ομάδα.", "(group)" : "(ομάδα)", "Saved" : "Αποθηκεύτηκαν", - "Generate keys" : "Δημιουργία κλειδιών", - "Error generating key pair" : "Σφάλμα κατά τη δημιουργία ζεύγους κλειδιών", "Access key" : "Κλειδί πρόσβασης", "Secret key" : "Μυστικό κλειδί", "Builtin" : "Builtin", @@ -57,10 +39,14 @@ "OAuth2" : "OAuth2", "Client ID" : "ID πελάτη", "Client secret" : "Μυστικό πελάτη", - "Username and password" : "Όνομα χρήστη και κωδικός πρόσβασης", + "Username" : "Όνομα χρήστη", "Password" : "Κωδικός πρόσβασης", + "API key" : "Κλειδί Google API", + "Username and password" : "Όνομα χρήστη και κωδικός πρόσβασης", "Session credentials" : "Διαπιστευτήρια συνεδρίας", + "Public key" : "Δημόσιο κλειδί", "Amazon S3" : "Amazon S3", + "Bucket" : "Κάδος", "Hostname" : "Όνομα Υπολογιστή", "Port" : "Θύρα", "Region" : "Περιοχή", @@ -68,9 +54,11 @@ "Enable Path Style" : "Ενεργοποίηση μορφής διαδρομής", "WebDAV" : "WebDAV", "URL" : "URL", + "Remote subfolder" : "Απομακρυσμένος υποφάκελος", "Secure https://" : "Ασφαλής σύνδεση https://", "Dropbox" : "Dropbox", "FTP" : "FTP", + "Host" : "Διακομιστής", "Secure ftps://" : "Ασφαλής ftps://", "Google Drive" : "Google Drive", "Local" : "Τοπικός", @@ -79,6 +67,9 @@ "SFTP" : "SFTP", "Root" : "Root", "SMB / CIFS" : "SMB / CIFS", + "Share" : "Διαμοιράστε", + "Username as share" : "Όνομα χρήστη ως διαμοιραζόμενος φάκελος", + "OpenStack Object Storage" : "Αποθήκη αντικειμένων OpenStack", "<b>Note:</b> " : "<b>Σημείωση:</b> ", "<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Σημείωση:</b> Η υποστήριξη cURL στην PHP δεν είναι ενεργοποιημένη ή εγκατεστημένη. Η προσάρτηση του %s δεν είναι δυνατή. Παρακαλώ ζητήστε από τον διαχειριστή συστημάτων σας να την εγκαταστήσει.", "<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Σημείωση:</b> Η υποστήριξη FTP στην PHP δεν είναι ενεργοποιημένη ή εγκατεστημένη. Δεν είναι δυνατή η προσάρτηση του %s. Παρακαλώ ζητήστε από τον διαχειριστή συστημάτων σας να την εγκαταστήσει.", diff --git a/apps/files_external/l10n/en_GB.js b/apps/files_external/l10n/en_GB.js index 6c986ed5911..8b1c0cdd328 100644 --- a/apps/files_external/l10n/en_GB.js +++ b/apps/files_external/l10n/en_GB.js @@ -4,23 +4,6 @@ OC.L10N.register( "Step 1 failed. Exception: %s" : "Step 1 failed. Exception: %s", "Step 2 failed. Exception: %s" : "Step 2 failed. Exception: %s", "External storage" : "External storage", - "OpenStack Object Storage" : "OpenStack Object Storage", - "Username" : "Username", - "Bucket" : "Bucket", - "Region (optional for OpenStack Object Storage)" : "Region (optional for OpenStack Object Storage)", - "API Key (required for Rackspace Cloud Files)" : "API Key (required for Rackspace Cloud Files)", - "Tenantname (required for OpenStack Object Storage)" : "Tenantname (required for OpenStack Object Storage)", - "Password (required for OpenStack Object Storage)" : "Password (required for OpenStack Object Storage)", - "Service Name (required for OpenStack Object Storage)" : "Service Name (required for OpenStack Object Storage)", - "URL of identity endpoint (required for OpenStack Object Storage)" : "URL of identity endpoint (required for OpenStack Object Storage)", - "Timeout of HTTP requests in seconds" : "Timeout of HTTP requests in seconds", - "SMB / CIFS using OC login" : "SMB / CIFS using OC login", - "Host" : "Host", - "Username as share" : "Username as share", - "Share" : "Share", - "Remote subfolder" : "Remote subfolder", - "SFTP with secret key login" : "SFTP with secret key login", - "Public key" : "Public key", "Storage with id \"%i\" not found" : "Storage with id \"%i\" not found", "Invalid mount point" : "Invalid mount point", "Invalid storage backend \"%s\"" : "Invalid storage backend \"%s\"", @@ -28,6 +11,8 @@ OC.L10N.register( "System" : "System", "Grant access" : "Grant access", "Access granted" : "Access granted", + "Generate keys" : "Generate keys", + "Error generating key pair" : "Error generating key pair", "Enable encryption" : "Enable encryption", "Enable previews" : "Enable previews", "Check for changes" : "Check for changes", @@ -37,15 +22,17 @@ OC.L10N.register( "All users. Type to select user or group." : "All users. Type to select user or group.", "(group)" : "(group)", "Saved" : "Saved", - "Generate keys" : "Generate keys", - "Error generating key pair" : "Error generating key pair", "None" : "None", "App key" : "App key", "App secret" : "App secret", "Client ID" : "Client ID", "Client secret" : "Client secret", + "Username" : "Username", "Password" : "Password", + "API key" : "API key", + "Public key" : "Public key", "Amazon S3" : "Amazon S3", + "Bucket" : "Bucket", "Hostname" : "Hostname", "Port" : "Port", "Region" : "Region", @@ -53,13 +40,18 @@ OC.L10N.register( "Enable Path Style" : "Enable Path Style", "WebDAV" : "WebDAV", "URL" : "URL", + "Remote subfolder" : "Remote subfolder", "Secure https://" : "Secure https://", "Dropbox" : "Dropbox", + "Host" : "Host", "Secure ftps://" : "Secure ftps://", "Local" : "Local", "Location" : "Location", "ownCloud" : "ownCloud", "Root" : "Root", + "Share" : "Share", + "Username as share" : "Username as share", + "OpenStack Object Storage" : "OpenStack Object Storage", "<b>Note:</b> " : "<b>Note:</b> ", "<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>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>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>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.", diff --git a/apps/files_external/l10n/en_GB.json b/apps/files_external/l10n/en_GB.json index c096b074c5c..78feab7a08f 100644 --- a/apps/files_external/l10n/en_GB.json +++ b/apps/files_external/l10n/en_GB.json @@ -2,23 +2,6 @@ "Step 1 failed. Exception: %s" : "Step 1 failed. Exception: %s", "Step 2 failed. Exception: %s" : "Step 2 failed. Exception: %s", "External storage" : "External storage", - "OpenStack Object Storage" : "OpenStack Object Storage", - "Username" : "Username", - "Bucket" : "Bucket", - "Region (optional for OpenStack Object Storage)" : "Region (optional for OpenStack Object Storage)", - "API Key (required for Rackspace Cloud Files)" : "API Key (required for Rackspace Cloud Files)", - "Tenantname (required for OpenStack Object Storage)" : "Tenantname (required for OpenStack Object Storage)", - "Password (required for OpenStack Object Storage)" : "Password (required for OpenStack Object Storage)", - "Service Name (required for OpenStack Object Storage)" : "Service Name (required for OpenStack Object Storage)", - "URL of identity endpoint (required for OpenStack Object Storage)" : "URL of identity endpoint (required for OpenStack Object Storage)", - "Timeout of HTTP requests in seconds" : "Timeout of HTTP requests in seconds", - "SMB / CIFS using OC login" : "SMB / CIFS using OC login", - "Host" : "Host", - "Username as share" : "Username as share", - "Share" : "Share", - "Remote subfolder" : "Remote subfolder", - "SFTP with secret key login" : "SFTP with secret key login", - "Public key" : "Public key", "Storage with id \"%i\" not found" : "Storage with id \"%i\" not found", "Invalid mount point" : "Invalid mount point", "Invalid storage backend \"%s\"" : "Invalid storage backend \"%s\"", @@ -26,6 +9,8 @@ "System" : "System", "Grant access" : "Grant access", "Access granted" : "Access granted", + "Generate keys" : "Generate keys", + "Error generating key pair" : "Error generating key pair", "Enable encryption" : "Enable encryption", "Enable previews" : "Enable previews", "Check for changes" : "Check for changes", @@ -35,15 +20,17 @@ "All users. Type to select user or group." : "All users. Type to select user or group.", "(group)" : "(group)", "Saved" : "Saved", - "Generate keys" : "Generate keys", - "Error generating key pair" : "Error generating key pair", "None" : "None", "App key" : "App key", "App secret" : "App secret", "Client ID" : "Client ID", "Client secret" : "Client secret", + "Username" : "Username", "Password" : "Password", + "API key" : "API key", + "Public key" : "Public key", "Amazon S3" : "Amazon S3", + "Bucket" : "Bucket", "Hostname" : "Hostname", "Port" : "Port", "Region" : "Region", @@ -51,13 +38,18 @@ "Enable Path Style" : "Enable Path Style", "WebDAV" : "WebDAV", "URL" : "URL", + "Remote subfolder" : "Remote subfolder", "Secure https://" : "Secure https://", "Dropbox" : "Dropbox", + "Host" : "Host", "Secure ftps://" : "Secure ftps://", "Local" : "Local", "Location" : "Location", "ownCloud" : "ownCloud", "Root" : "Root", + "Share" : "Share", + "Username as share" : "Username as share", + "OpenStack Object Storage" : "OpenStack Object Storage", "<b>Note:</b> " : "<b>Note:</b> ", "<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>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>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>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.", diff --git a/apps/files_external/l10n/eo.js b/apps/files_external/l10n/eo.js index cdd29ce8b84..8a8884777e6 100644 --- a/apps/files_external/l10n/eo.js +++ b/apps/files_external/l10n/eo.js @@ -2,16 +2,6 @@ OC.L10N.register( "files_external", { "External storage" : "Malena memorilo", - "OpenStack Object Storage" : "OpenStack Object Storage", - "Username" : "Uzantonomo", - "Region (optional for OpenStack Object Storage)" : "Regiono (malnepra por OpenStack Object Storage)", - "API Key (required for Rackspace Cloud Files)" : "API-klavo (nepra por Rackspace Cloud Files)", - "Password (required for OpenStack Object Storage)" : "Pasvorto (nepra por OpenStack Object Storage)", - "Service Name (required for OpenStack Object Storage)" : "Servonomo (nepra por OpenStack Object Storage)", - "Host" : "Gastigo", - "Share" : "Kunhavigi", - "Remote subfolder" : "Malloka subdosierujo", - "Public key" : "Publika ŝlosilo", "Personal" : "Persona", "Grant access" : "Doni alirpermeson", "Access granted" : "Alirpermeso donita", @@ -21,20 +11,27 @@ OC.L10N.register( "App secret" : "Aplikaĵosekreto", "Client ID" : "Klientidentigilo", "Client secret" : "Klientosekreto", + "Username" : "Uzantonomo", "Password" : "Pasvorto", + "API key" : "API-klavo", + "Public key" : "Publika ŝlosilo", "Amazon S3" : "Amazon S3", "Port" : "Pordo", "Region" : "Regiono", "Enable SSL" : "Kapabligi SSL-on", "WebDAV" : "WebDAV", "URL" : "URL", + "Remote subfolder" : "Malloka subdosierujo", "Secure https://" : "Sekura https://", "Dropbox" : "Dropbox", + "Host" : "Gastigo", "Secure ftps://" : "Sekura ftps://", "Local" : "Loka", "Location" : "Loko", "ownCloud" : "ownCloud", "Root" : "Radiko", + "Share" : "Kunhavigi", + "OpenStack Object Storage" : "OpenStack Object Storage", "<b>Note:</b> " : "<b>Noto:</b>", "Name" : "Nomo", "External Storage" : "Malena memorilo", diff --git a/apps/files_external/l10n/eo.json b/apps/files_external/l10n/eo.json index 988097fd8fb..6741a31e72a 100644 --- a/apps/files_external/l10n/eo.json +++ b/apps/files_external/l10n/eo.json @@ -1,15 +1,5 @@ { "translations": { "External storage" : "Malena memorilo", - "OpenStack Object Storage" : "OpenStack Object Storage", - "Username" : "Uzantonomo", - "Region (optional for OpenStack Object Storage)" : "Regiono (malnepra por OpenStack Object Storage)", - "API Key (required for Rackspace Cloud Files)" : "API-klavo (nepra por Rackspace Cloud Files)", - "Password (required for OpenStack Object Storage)" : "Pasvorto (nepra por OpenStack Object Storage)", - "Service Name (required for OpenStack Object Storage)" : "Servonomo (nepra por OpenStack Object Storage)", - "Host" : "Gastigo", - "Share" : "Kunhavigi", - "Remote subfolder" : "Malloka subdosierujo", - "Public key" : "Publika ŝlosilo", "Personal" : "Persona", "Grant access" : "Doni alirpermeson", "Access granted" : "Alirpermeso donita", @@ -19,20 +9,27 @@ "App secret" : "Aplikaĵosekreto", "Client ID" : "Klientidentigilo", "Client secret" : "Klientosekreto", + "Username" : "Uzantonomo", "Password" : "Pasvorto", + "API key" : "API-klavo", + "Public key" : "Publika ŝlosilo", "Amazon S3" : "Amazon S3", "Port" : "Pordo", "Region" : "Regiono", "Enable SSL" : "Kapabligi SSL-on", "WebDAV" : "WebDAV", "URL" : "URL", + "Remote subfolder" : "Malloka subdosierujo", "Secure https://" : "Sekura https://", "Dropbox" : "Dropbox", + "Host" : "Gastigo", "Secure ftps://" : "Sekura ftps://", "Local" : "Loka", "Location" : "Loko", "ownCloud" : "ownCloud", "Root" : "Radiko", + "Share" : "Kunhavigi", + "OpenStack Object Storage" : "OpenStack Object Storage", "<b>Note:</b> " : "<b>Noto:</b>", "Name" : "Nomo", "External Storage" : "Malena memorilo", diff --git a/apps/files_external/l10n/es.js b/apps/files_external/l10n/es.js index 16d87d8d2f2..62d09425f72 100644 --- a/apps/files_external/l10n/es.js +++ b/apps/files_external/l10n/es.js @@ -4,23 +4,6 @@ OC.L10N.register( "Step 1 failed. Exception: %s" : "El paso 1 falló. Excepción: %s", "Step 2 failed. Exception: %s" : "El paso 2 falló. Excepción: %s", "External storage" : "Almacenamiento externo", - "OpenStack Object Storage" : "Almacenamiento de objeto OpenStack", - "Username" : "Nombre de usuario", - "Bucket" : "Depósito", - "Region (optional for OpenStack Object Storage)" : "Región (opcional para OpenStack Object Storage)", - "API Key (required for Rackspace Cloud Files)" : "Clave API (requerida para Rackspace Cloud Files)", - "Tenantname (required for OpenStack Object Storage)" : "Nombre de Inquilino (requerido para OpenStack Object Storage)", - "Password (required for OpenStack Object Storage)" : "Contraseña (requerida para OpenStack Object Storage)", - "Service Name (required for OpenStack Object Storage)" : "Nombre de Servicio (requerido para OpenStack Object Storage)", - "URL of identity endpoint (required for OpenStack Object Storage)" : "URL de identidad de punto final (requerido para OpenStack Object Storage)", - "Timeout of HTTP requests in seconds" : "Tiempo de espera de solicitudes HTTP en segundos", - "SMB / CIFS using OC login" : "SMB / CIFS que usan acceso OC", - "Host" : "Servidor", - "Username as share" : "Nombre de usuario como compartir", - "Share" : "Compartir", - "Remote subfolder" : "Subcarpeta remota", - "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", "Invalid storage backend \"%s\"" : "Motor de almacenamiento no válido «%s»", @@ -30,6 +13,8 @@ OC.L10N.register( "Access granted" : "Acceso concedido", "Error configuring OAuth1" : "Error al configurar OAuth1", "Error configuring OAuth2" : "Error al configurar OAuth2", + "Generate keys" : "Generar claves", + "Error generating key pair" : "Error al generar el par de claves", "Enable encryption" : "Habilitar cifrado", "Enable previews" : "Habilitar previsualizaciones", "Check for changes" : "Comprobar si hay cambios", @@ -39,8 +24,6 @@ OC.L10N.register( "All users. Type to select user or group." : "Todos los usuarios. Teclee para seleccionar un usuario o grupo.", "(group)" : "(grupo)", "Saved" : "Guardado", - "Generate keys" : "Generar claves", - "Error generating key pair" : "Error al generar el par de claves", "Access key" : "Clave de acceso", "Secret key" : "Clave secreta", "None" : "Ninguno", @@ -50,10 +33,14 @@ OC.L10N.register( "OAuth2" : "OAuth2", "Client ID" : "ID de Cliente", "Client secret" : "Cliente secreto", - "Username and password" : "Nombre de usuario y contraseña", + "Username" : "Nombre de usuario", "Password" : "Contraseña", + "API key" : "clave API", + "Username and password" : "Nombre de usuario y contraseña", "Session credentials" : "Credenciales de la sesión", + "Public key" : "Clave pública", "Amazon S3" : "Amazon S3", + "Bucket" : "Depósito", "Hostname" : "Nombre de equipo", "Port" : "Puerto", "Region" : "Región", @@ -61,9 +48,11 @@ OC.L10N.register( "Enable Path Style" : "Habilitar Estilo de Ruta", "WebDAV" : "WebDAV", "URL" : "URL", + "Remote subfolder" : "Subcarpeta remota", "Secure https://" : "—Seguro— https://", "Dropbox" : "Dropbox", "FTP" : "FTP", + "Host" : "Servidor", "Secure ftps://" : "—Seguro— ftps://", "Google Drive" : "Google Drive", "Local" : "Local", @@ -72,6 +61,9 @@ OC.L10N.register( "SFTP" : "SFTP", "Root" : "Raíz", "SMB / CIFS" : "SMB / CIFS", + "Share" : "Compartir", + "Username as share" : "Nombre de usuario como compartir", + "OpenStack Object Storage" : "Almacenamiento de objeto OpenStack", "<b>Note:</b> " : "<b>Nota:</b> ", "<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>Nota:</b> El soporte de cURL en PHP no está activado o instalado. No se puede montar %s. Pídale al administrador del sistema que lo instale.", "<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>Nota:</b> El soporte de FTP en PHP no está activado o instalado. No se puede montar %s. Pídale al administrador del sistema que lo instale.", diff --git a/apps/files_external/l10n/es.json b/apps/files_external/l10n/es.json index fe20eca13d2..6bcfca820f5 100644 --- a/apps/files_external/l10n/es.json +++ b/apps/files_external/l10n/es.json @@ -2,23 +2,6 @@ "Step 1 failed. Exception: %s" : "El paso 1 falló. Excepción: %s", "Step 2 failed. Exception: %s" : "El paso 2 falló. Excepción: %s", "External storage" : "Almacenamiento externo", - "OpenStack Object Storage" : "Almacenamiento de objeto OpenStack", - "Username" : "Nombre de usuario", - "Bucket" : "Depósito", - "Region (optional for OpenStack Object Storage)" : "Región (opcional para OpenStack Object Storage)", - "API Key (required for Rackspace Cloud Files)" : "Clave API (requerida para Rackspace Cloud Files)", - "Tenantname (required for OpenStack Object Storage)" : "Nombre de Inquilino (requerido para OpenStack Object Storage)", - "Password (required for OpenStack Object Storage)" : "Contraseña (requerida para OpenStack Object Storage)", - "Service Name (required for OpenStack Object Storage)" : "Nombre de Servicio (requerido para OpenStack Object Storage)", - "URL of identity endpoint (required for OpenStack Object Storage)" : "URL de identidad de punto final (requerido para OpenStack Object Storage)", - "Timeout of HTTP requests in seconds" : "Tiempo de espera de solicitudes HTTP en segundos", - "SMB / CIFS using OC login" : "SMB / CIFS que usan acceso OC", - "Host" : "Servidor", - "Username as share" : "Nombre de usuario como compartir", - "Share" : "Compartir", - "Remote subfolder" : "Subcarpeta remota", - "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", "Invalid storage backend \"%s\"" : "Motor de almacenamiento no válido «%s»", @@ -28,6 +11,8 @@ "Access granted" : "Acceso concedido", "Error configuring OAuth1" : "Error al configurar OAuth1", "Error configuring OAuth2" : "Error al configurar OAuth2", + "Generate keys" : "Generar claves", + "Error generating key pair" : "Error al generar el par de claves", "Enable encryption" : "Habilitar cifrado", "Enable previews" : "Habilitar previsualizaciones", "Check for changes" : "Comprobar si hay cambios", @@ -37,8 +22,6 @@ "All users. Type to select user or group." : "Todos los usuarios. Teclee para seleccionar un usuario o grupo.", "(group)" : "(grupo)", "Saved" : "Guardado", - "Generate keys" : "Generar claves", - "Error generating key pair" : "Error al generar el par de claves", "Access key" : "Clave de acceso", "Secret key" : "Clave secreta", "None" : "Ninguno", @@ -48,10 +31,14 @@ "OAuth2" : "OAuth2", "Client ID" : "ID de Cliente", "Client secret" : "Cliente secreto", - "Username and password" : "Nombre de usuario y contraseña", + "Username" : "Nombre de usuario", "Password" : "Contraseña", + "API key" : "clave API", + "Username and password" : "Nombre de usuario y contraseña", "Session credentials" : "Credenciales de la sesión", + "Public key" : "Clave pública", "Amazon S3" : "Amazon S3", + "Bucket" : "Depósito", "Hostname" : "Nombre de equipo", "Port" : "Puerto", "Region" : "Región", @@ -59,9 +46,11 @@ "Enable Path Style" : "Habilitar Estilo de Ruta", "WebDAV" : "WebDAV", "URL" : "URL", + "Remote subfolder" : "Subcarpeta remota", "Secure https://" : "—Seguro— https://", "Dropbox" : "Dropbox", "FTP" : "FTP", + "Host" : "Servidor", "Secure ftps://" : "—Seguro— ftps://", "Google Drive" : "Google Drive", "Local" : "Local", @@ -70,6 +59,9 @@ "SFTP" : "SFTP", "Root" : "Raíz", "SMB / CIFS" : "SMB / CIFS", + "Share" : "Compartir", + "Username as share" : "Nombre de usuario como compartir", + "OpenStack Object Storage" : "Almacenamiento de objeto OpenStack", "<b>Note:</b> " : "<b>Nota:</b> ", "<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>Nota:</b> El soporte de cURL en PHP no está activado o instalado. No se puede montar %s. Pídale al administrador del sistema que lo instale.", "<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>Nota:</b> El soporte de FTP en PHP no está activado o instalado. No se puede montar %s. Pídale al administrador del sistema que lo instale.", diff --git a/apps/files_external/l10n/es_AR.js b/apps/files_external/l10n/es_AR.js index 316273f74f6..383b511a75f 100644 --- a/apps/files_external/l10n/es_AR.js +++ b/apps/files_external/l10n/es_AR.js @@ -2,21 +2,22 @@ OC.L10N.register( "files_external", { "External storage" : "Almacenamiento externo", - "Username" : "Nombre de usuario", - "Host" : "Servidor", - "Share" : "Compartir", "Personal" : "Personal", "Grant access" : "Permitir acceso", "Access granted" : "Acceso permitido", "Saved" : "Guardado", "None" : "Ninguno", + "Username" : "Nombre de usuario", "Password" : "Contraseña", + "API key" : "clave API", "Port" : "Puerto", "Region" : "Provincia", "WebDAV" : "WebDAV", "URL" : "URL", + "Host" : "Servidor", "Location" : "Ubicación", "ownCloud" : "ownCloud", + "Share" : "Compartir", "Name" : "Nombre", "External Storage" : "Almacenamiento externo", "Folder name" : "Nombre de la carpeta", diff --git a/apps/files_external/l10n/es_AR.json b/apps/files_external/l10n/es_AR.json index 299aba398fa..0389f98e647 100644 --- a/apps/files_external/l10n/es_AR.json +++ b/apps/files_external/l10n/es_AR.json @@ -1,20 +1,21 @@ { "translations": { "External storage" : "Almacenamiento externo", - "Username" : "Nombre de usuario", - "Host" : "Servidor", - "Share" : "Compartir", "Personal" : "Personal", "Grant access" : "Permitir acceso", "Access granted" : "Acceso permitido", "Saved" : "Guardado", "None" : "Ninguno", + "Username" : "Nombre de usuario", "Password" : "Contraseña", + "API key" : "clave API", "Port" : "Puerto", "Region" : "Provincia", "WebDAV" : "WebDAV", "URL" : "URL", + "Host" : "Servidor", "Location" : "Ubicación", "ownCloud" : "ownCloud", + "Share" : "Compartir", "Name" : "Nombre", "External Storage" : "Almacenamiento externo", "Folder name" : "Nombre de la carpeta", diff --git a/apps/files_external/l10n/es_CL.js b/apps/files_external/l10n/es_CL.js index 828d50df791..6ab87d23bc8 100644 --- a/apps/files_external/l10n/es_CL.js +++ b/apps/files_external/l10n/es_CL.js @@ -1,10 +1,10 @@ OC.L10N.register( "files_external", { - "Username" : "Usuario", - "Share" : "Compartir", "Personal" : "Personal", + "Username" : "Usuario", "Password" : "Clave", + "Share" : "Compartir", "Folder name" : "Nombre del directorio" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/files_external/l10n/es_CL.json b/apps/files_external/l10n/es_CL.json index e07fd9b0531..e2aa9b9adda 100644 --- a/apps/files_external/l10n/es_CL.json +++ b/apps/files_external/l10n/es_CL.json @@ -1,8 +1,8 @@ { "translations": { - "Username" : "Usuario", - "Share" : "Compartir", "Personal" : "Personal", + "Username" : "Usuario", "Password" : "Clave", + "Share" : "Compartir", "Folder name" : "Nombre del directorio" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/files_external/l10n/es_MX.js b/apps/files_external/l10n/es_MX.js index 47265881c2e..a8d1dea1a09 100644 --- a/apps/files_external/l10n/es_MX.js +++ b/apps/files_external/l10n/es_MX.js @@ -2,17 +2,18 @@ OC.L10N.register( "files_external", { "External storage" : "Almacenamiento externo", - "Username" : "Nombre de usuario", - "Host" : "Servidor", - "Share" : "Compartir", "Personal" : "Personal", "Grant access" : "Conceder acceso", "Access granted" : "Acceso concedido", + "Username" : "Nombre de usuario", "Password" : "Contraseña", + "API key" : "clave API", "Port" : "Puerto", "WebDAV" : "WebDAV", "URL" : "URL", + "Host" : "Servidor", "Location" : "Ubicación", + "Share" : "Compartir", "Name" : "Nombre", "External Storage" : "Almacenamiento externo", "Folder name" : "Nombre de la carpeta", diff --git a/apps/files_external/l10n/es_MX.json b/apps/files_external/l10n/es_MX.json index f045006c9b9..3fdea60b775 100644 --- a/apps/files_external/l10n/es_MX.json +++ b/apps/files_external/l10n/es_MX.json @@ -1,16 +1,17 @@ { "translations": { "External storage" : "Almacenamiento externo", - "Username" : "Nombre de usuario", - "Host" : "Servidor", - "Share" : "Compartir", "Personal" : "Personal", "Grant access" : "Conceder acceso", "Access granted" : "Acceso concedido", + "Username" : "Nombre de usuario", "Password" : "Contraseña", + "API key" : "clave API", "Port" : "Puerto", "WebDAV" : "WebDAV", "URL" : "URL", + "Host" : "Servidor", "Location" : "Ubicación", + "Share" : "Compartir", "Name" : "Nombre", "External Storage" : "Almacenamiento externo", "Folder name" : "Nombre de la carpeta", diff --git a/apps/files_external/l10n/et_EE.js b/apps/files_external/l10n/et_EE.js index 94c3722ca13..50102a5d2eb 100644 --- a/apps/files_external/l10n/et_EE.js +++ b/apps/files_external/l10n/et_EE.js @@ -4,23 +4,6 @@ OC.L10N.register( "Step 1 failed. Exception: %s" : "Samm 1 ebaõnnestus. Erind: %s", "Step 2 failed. Exception: %s" : "Samm 2 ebaõnnestus. Erind: %s", "External storage" : "Väline andmehoidla", - "OpenStack Object Storage" : "OpenStack Object Storage", - "Username" : "Kasutajanimi", - "Bucket" : "Korv", - "Region (optional for OpenStack Object Storage)" : "Regioon (valikuline OpenStack Object Storage puhul)", - "API Key (required for Rackspace Cloud Files)" : "API võti (vajalik Rackspace Cloud Files puhul)", - "Tenantname (required for OpenStack Object Storage)" : "Rendinimi (tenantname , vajalik OpenStack Object Storage puhul)", - "Password (required for OpenStack Object Storage)" : "Parool (vajalik OpenStack Object Storage puhul)", - "Service Name (required for OpenStack Object Storage)" : "Teenuse nimi (vajalik OpenStack Object Storage puhul)", - "URL of identity endpoint (required for OpenStack Object Storage)" : "Tuvastuse URL lõpp-punkt (vajalik OpenStack Object Storage puhul)", - "Timeout of HTTP requests in seconds" : "HTTP päringute aegumine sekundites", - "SMB / CIFS using OC login" : "SMB / CIFS kasutades OC logimist", - "Host" : "Host", - "Username as share" : "Kasutajanimi kui jagamine", - "Share" : "Jaga", - "Remote subfolder" : "Mujahl olev alamkaust", - "SFTP with secret key login" : "SFTP koos salajase võtmega logimisega", - "Public key" : "Avalik võti", "Storage with id \"%i\" not found" : "Salvestuskohta ID-ga \"%i\" ei leitud", "Invalid mount point" : "Vigane ühenduspunkt", "Invalid storage backend \"%s\"" : "Vigane salvestuskoha taustsüsteem \"%s\"", @@ -28,6 +11,8 @@ OC.L10N.register( "System" : "Süsteem", "Grant access" : "Anna ligipääs", "Access granted" : "Ligipääs on antud", + "Generate keys" : "Loo võtmed", + "Error generating key pair" : "Viga võtmepaari loomisel", "Enable encryption" : "Luba krüpteerimine", "Enable previews" : "Luba eelvaated", "Check for changes" : "Otsi uuendusi", @@ -37,15 +22,17 @@ OC.L10N.register( "All users. Type to select user or group." : "Kõik kasutajad. Kirjuta, et valida kasutaja või grupp.", "(group)" : "(grupp)", "Saved" : "Salvestatud", - "Generate keys" : "Loo võtmed", - "Error generating key pair" : "Viga võtmepaari loomisel", "None" : "Pole", "App key" : "Rakenduse võti", "App secret" : "Rakenduse salasõna", "Client ID" : "Kliendi ID", "Client secret" : "Kliendi salasõna", + "Username" : "Kasutajanimi", "Password" : "Parool", + "API key" : "API võti", + "Public key" : "Avalik võti", "Amazon S3" : "Amazon S3", + "Bucket" : "Korv", "Hostname" : "Hostinimi", "Port" : "Port", "Region" : "Piirkond", @@ -53,13 +40,18 @@ OC.L10N.register( "Enable Path Style" : "Luba otsingtee stiilis", "WebDAV" : "WebDAV", "URL" : "URL", + "Remote subfolder" : "Mujahl olev alamkaust", "Secure https://" : "Turvaline https://", "Dropbox" : "Dropbox", + "Host" : "Host", "Secure ftps://" : "Turvaline ftps://", "Local" : "Kohalik", "Location" : "Asukoht", "ownCloud" : "ownCloud", "Root" : "Juur", + "Share" : "Jaga", + "Username as share" : "Kasutajanimi kui jagamine", + "OpenStack Object Storage" : "OpenStack Object Storage", "<b>Note:</b> " : "<b>Märkus:</b>", "<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>Märkus:</b> cURL tugi puudub PHP paigalduses. FTP %s hoidla ühendamine pole võimalik. Palu oma süsteemihalduril paigaldata cURL tugi.", "<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>Märkus:</b> FTP tugi puudub PHP paigalduses. FTP %s hoidla ühendamine pole võimalik. Palu oma süsteemihalduril paigaldata FTP tugi.", diff --git a/apps/files_external/l10n/et_EE.json b/apps/files_external/l10n/et_EE.json index 92621d229d4..d307bc9c214 100644 --- a/apps/files_external/l10n/et_EE.json +++ b/apps/files_external/l10n/et_EE.json @@ -2,23 +2,6 @@ "Step 1 failed. Exception: %s" : "Samm 1 ebaõnnestus. Erind: %s", "Step 2 failed. Exception: %s" : "Samm 2 ebaõnnestus. Erind: %s", "External storage" : "Väline andmehoidla", - "OpenStack Object Storage" : "OpenStack Object Storage", - "Username" : "Kasutajanimi", - "Bucket" : "Korv", - "Region (optional for OpenStack Object Storage)" : "Regioon (valikuline OpenStack Object Storage puhul)", - "API Key (required for Rackspace Cloud Files)" : "API võti (vajalik Rackspace Cloud Files puhul)", - "Tenantname (required for OpenStack Object Storage)" : "Rendinimi (tenantname , vajalik OpenStack Object Storage puhul)", - "Password (required for OpenStack Object Storage)" : "Parool (vajalik OpenStack Object Storage puhul)", - "Service Name (required for OpenStack Object Storage)" : "Teenuse nimi (vajalik OpenStack Object Storage puhul)", - "URL of identity endpoint (required for OpenStack Object Storage)" : "Tuvastuse URL lõpp-punkt (vajalik OpenStack Object Storage puhul)", - "Timeout of HTTP requests in seconds" : "HTTP päringute aegumine sekundites", - "SMB / CIFS using OC login" : "SMB / CIFS kasutades OC logimist", - "Host" : "Host", - "Username as share" : "Kasutajanimi kui jagamine", - "Share" : "Jaga", - "Remote subfolder" : "Mujahl olev alamkaust", - "SFTP with secret key login" : "SFTP koos salajase võtmega logimisega", - "Public key" : "Avalik võti", "Storage with id \"%i\" not found" : "Salvestuskohta ID-ga \"%i\" ei leitud", "Invalid mount point" : "Vigane ühenduspunkt", "Invalid storage backend \"%s\"" : "Vigane salvestuskoha taustsüsteem \"%s\"", @@ -26,6 +9,8 @@ "System" : "Süsteem", "Grant access" : "Anna ligipääs", "Access granted" : "Ligipääs on antud", + "Generate keys" : "Loo võtmed", + "Error generating key pair" : "Viga võtmepaari loomisel", "Enable encryption" : "Luba krüpteerimine", "Enable previews" : "Luba eelvaated", "Check for changes" : "Otsi uuendusi", @@ -35,15 +20,17 @@ "All users. Type to select user or group." : "Kõik kasutajad. Kirjuta, et valida kasutaja või grupp.", "(group)" : "(grupp)", "Saved" : "Salvestatud", - "Generate keys" : "Loo võtmed", - "Error generating key pair" : "Viga võtmepaari loomisel", "None" : "Pole", "App key" : "Rakenduse võti", "App secret" : "Rakenduse salasõna", "Client ID" : "Kliendi ID", "Client secret" : "Kliendi salasõna", + "Username" : "Kasutajanimi", "Password" : "Parool", + "API key" : "API võti", + "Public key" : "Avalik võti", "Amazon S3" : "Amazon S3", + "Bucket" : "Korv", "Hostname" : "Hostinimi", "Port" : "Port", "Region" : "Piirkond", @@ -51,13 +38,18 @@ "Enable Path Style" : "Luba otsingtee stiilis", "WebDAV" : "WebDAV", "URL" : "URL", + "Remote subfolder" : "Mujahl olev alamkaust", "Secure https://" : "Turvaline https://", "Dropbox" : "Dropbox", + "Host" : "Host", "Secure ftps://" : "Turvaline ftps://", "Local" : "Kohalik", "Location" : "Asukoht", "ownCloud" : "ownCloud", "Root" : "Juur", + "Share" : "Jaga", + "Username as share" : "Kasutajanimi kui jagamine", + "OpenStack Object Storage" : "OpenStack Object Storage", "<b>Note:</b> " : "<b>Märkus:</b>", "<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>Märkus:</b> cURL tugi puudub PHP paigalduses. FTP %s hoidla ühendamine pole võimalik. Palu oma süsteemihalduril paigaldata cURL tugi.", "<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>Märkus:</b> FTP tugi puudub PHP paigalduses. FTP %s hoidla ühendamine pole võimalik. Palu oma süsteemihalduril paigaldata FTP tugi.", diff --git a/apps/files_external/l10n/eu.js b/apps/files_external/l10n/eu.js index 72fc8469ac6..199676d7269 100644 --- a/apps/files_external/l10n/eu.js +++ b/apps/files_external/l10n/eu.js @@ -4,21 +4,6 @@ OC.L10N.register( "Step 1 failed. Exception: %s" : "1 Urratsak huts egin du. Salbuespena: %s", "Step 2 failed. Exception: %s" : "2 Urratsak huts egin du. Salbuespena: %s", "External storage" : "Kanpoko biltegiratzea", - "OpenStack Object Storage" : "OpenStack Objektu Biltegiratzea", - "Username" : "Erabiltzaile izena", - "Region (optional for OpenStack Object Storage)" : "Eskualdea (hautazkoa OpenStack Objektu Biltegiratzerako)", - "API Key (required for Rackspace Cloud Files)" : "API Giltza (beharrezkoa Rackspace Cloud Filesentzako)", - "Tenantname (required for OpenStack Object Storage)" : "Tenantname (beharrezkoa OpenStack Objektu Biltegiratzerko)", - "Password (required for OpenStack Object Storage)" : "Pasahitza (beharrezkoa OpenStack Objektu Biltegiratzerako)", - "Service Name (required for OpenStack Object Storage)" : "Zerbitzuaren Izena (beharrezkoa OpenStack Objektu Biltegiratzerako)", - "URL of identity endpoint (required for OpenStack Object Storage)" : "Nortasun amaierako puntuaren URLa (beharrezkoa OpenStack Objektu Biltegiratzerako)", - "Timeout of HTTP requests in seconds" : "HTTP eskarien gehienezko denbora segundutan", - "SMB / CIFS using OC login" : "SMB / CIFS saioa hasteko OC erabiliz", - "Host" : "Ostalaria", - "Username as share" : "Erabiltzaile izena elkarbanaketa bezala", - "Share" : "Partekatu", - "Remote subfolder" : "Urruneko azpikarpeta", - "Public key" : "Gako publikoa", "Personal" : "Pertsonala", "System" : "Sistema", "Grant access" : "Baimendu sarrera", @@ -31,7 +16,10 @@ OC.L10N.register( "App secret" : "App sekretua", "Client ID" : "Bezero ID", "Client secret" : "Bezeroaren Sekretua", + "Username" : "Erabiltzaile izena", "Password" : "Pasahitza", + "API key" : "APIaren gakoa", + "Public key" : "Gako publikoa", "Amazon S3" : "Amazon S3", "Hostname" : "Ostalari izena", "Port" : "Portua", @@ -40,13 +28,18 @@ OC.L10N.register( "Enable Path Style" : "Gaitu Bide Estiloa", "WebDAV" : "WebDAV", "URL" : "URL", + "Remote subfolder" : "Urruneko azpikarpeta", "Secure https://" : "https:// segurua", "Dropbox" : "Dropbox", + "Host" : "Ostalaria", "Secure ftps://" : "ftps:// segurua", "Local" : "Bertakoa", "Location" : "Kokapena", "ownCloud" : "ownCloud", "Root" : "Erroa", + "Share" : "Partekatu", + "Username as share" : "Erabiltzaile izena elkarbanaketa bezala", + "OpenStack Object Storage" : "OpenStack Objektu Biltegiratzea", "<b>Note:</b> " : "<b>Oharra:</b>", "<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>Oharra:</b> :PHPko cURL euskarria ez dago instalatuta edo gaitua. Ezinezko da %s muntatzea. Mesedez eskatu sistema administratzaleari instala dezan. ", "<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>Oharra:</b> :PHPko FTP euskarria ez dago instalatuta edo gaitua. Ezinezko da %s muntatzea. Mesedez eskatu sistema administratzaleari instala dezan. ", diff --git a/apps/files_external/l10n/eu.json b/apps/files_external/l10n/eu.json index 5a8c3fd6930..f13311954f7 100644 --- a/apps/files_external/l10n/eu.json +++ b/apps/files_external/l10n/eu.json @@ -2,21 +2,6 @@ "Step 1 failed. Exception: %s" : "1 Urratsak huts egin du. Salbuespena: %s", "Step 2 failed. Exception: %s" : "2 Urratsak huts egin du. Salbuespena: %s", "External storage" : "Kanpoko biltegiratzea", - "OpenStack Object Storage" : "OpenStack Objektu Biltegiratzea", - "Username" : "Erabiltzaile izena", - "Region (optional for OpenStack Object Storage)" : "Eskualdea (hautazkoa OpenStack Objektu Biltegiratzerako)", - "API Key (required for Rackspace Cloud Files)" : "API Giltza (beharrezkoa Rackspace Cloud Filesentzako)", - "Tenantname (required for OpenStack Object Storage)" : "Tenantname (beharrezkoa OpenStack Objektu Biltegiratzerko)", - "Password (required for OpenStack Object Storage)" : "Pasahitza (beharrezkoa OpenStack Objektu Biltegiratzerako)", - "Service Name (required for OpenStack Object Storage)" : "Zerbitzuaren Izena (beharrezkoa OpenStack Objektu Biltegiratzerako)", - "URL of identity endpoint (required for OpenStack Object Storage)" : "Nortasun amaierako puntuaren URLa (beharrezkoa OpenStack Objektu Biltegiratzerako)", - "Timeout of HTTP requests in seconds" : "HTTP eskarien gehienezko denbora segundutan", - "SMB / CIFS using OC login" : "SMB / CIFS saioa hasteko OC erabiliz", - "Host" : "Ostalaria", - "Username as share" : "Erabiltzaile izena elkarbanaketa bezala", - "Share" : "Partekatu", - "Remote subfolder" : "Urruneko azpikarpeta", - "Public key" : "Gako publikoa", "Personal" : "Pertsonala", "System" : "Sistema", "Grant access" : "Baimendu sarrera", @@ -29,7 +14,10 @@ "App secret" : "App sekretua", "Client ID" : "Bezero ID", "Client secret" : "Bezeroaren Sekretua", + "Username" : "Erabiltzaile izena", "Password" : "Pasahitza", + "API key" : "APIaren gakoa", + "Public key" : "Gako publikoa", "Amazon S3" : "Amazon S3", "Hostname" : "Ostalari izena", "Port" : "Portua", @@ -38,13 +26,18 @@ "Enable Path Style" : "Gaitu Bide Estiloa", "WebDAV" : "WebDAV", "URL" : "URL", + "Remote subfolder" : "Urruneko azpikarpeta", "Secure https://" : "https:// segurua", "Dropbox" : "Dropbox", + "Host" : "Ostalaria", "Secure ftps://" : "ftps:// segurua", "Local" : "Bertakoa", "Location" : "Kokapena", "ownCloud" : "ownCloud", "Root" : "Erroa", + "Share" : "Partekatu", + "Username as share" : "Erabiltzaile izena elkarbanaketa bezala", + "OpenStack Object Storage" : "OpenStack Objektu Biltegiratzea", "<b>Note:</b> " : "<b>Oharra:</b>", "<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>Oharra:</b> :PHPko cURL euskarria ez dago instalatuta edo gaitua. Ezinezko da %s muntatzea. Mesedez eskatu sistema administratzaleari instala dezan. ", "<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>Oharra:</b> :PHPko FTP euskarria ez dago instalatuta edo gaitua. Ezinezko da %s muntatzea. Mesedez eskatu sistema administratzaleari instala dezan. ", diff --git a/apps/files_external/l10n/fa.js b/apps/files_external/l10n/fa.js index 7ac00a16718..1a3a06ba391 100644 --- a/apps/files_external/l10n/fa.js +++ b/apps/files_external/l10n/fa.js @@ -2,21 +2,22 @@ OC.L10N.register( "files_external", { "External storage" : "حافظه خارجی", - "Username" : "نام کاربری", - "Host" : "میزبانی", - "Share" : "اشتراکگذاری", "Personal" : "شخصی", "Grant access" : " مجوز اعطا دسترسی", "Access granted" : "مجوز دسترسی صادر شد", "Saved" : "ذخیره شد", "None" : "هیچکدام", + "Username" : "نام کاربری", "Password" : "گذرواژه", + "API key" : "کلید API ", "Port" : "درگاه", "Region" : "ناحیه", "WebDAV" : "WebDAV", "URL" : "آدرس", + "Host" : "میزبانی", "Location" : "محل", "ownCloud" : "ownCloud", + "Share" : "اشتراکگذاری", "Name" : "نام", "External Storage" : "حافظه خارجی", "Folder name" : "نام پوشه", diff --git a/apps/files_external/l10n/fa.json b/apps/files_external/l10n/fa.json index 7aec7d92afa..79a599d7390 100644 --- a/apps/files_external/l10n/fa.json +++ b/apps/files_external/l10n/fa.json @@ -1,20 +1,21 @@ { "translations": { "External storage" : "حافظه خارجی", - "Username" : "نام کاربری", - "Host" : "میزبانی", - "Share" : "اشتراکگذاری", "Personal" : "شخصی", "Grant access" : " مجوز اعطا دسترسی", "Access granted" : "مجوز دسترسی صادر شد", "Saved" : "ذخیره شد", "None" : "هیچکدام", + "Username" : "نام کاربری", "Password" : "گذرواژه", + "API key" : "کلید API ", "Port" : "درگاه", "Region" : "ناحیه", "WebDAV" : "WebDAV", "URL" : "آدرس", + "Host" : "میزبانی", "Location" : "محل", "ownCloud" : "ownCloud", + "Share" : "اشتراکگذاری", "Name" : "نام", "External Storage" : "حافظه خارجی", "Folder name" : "نام پوشه", diff --git a/apps/files_external/l10n/fi_FI.js b/apps/files_external/l10n/fi_FI.js index 1e67d9ffc73..12aa1c0f1ca 100644 --- a/apps/files_external/l10n/fi_FI.js +++ b/apps/files_external/l10n/fi_FI.js @@ -4,20 +4,6 @@ OC.L10N.register( "Step 1 failed. Exception: %s" : "Vaihe 1 epäonnistui. Poikkeus: %s", "Step 2 failed. Exception: %s" : "Vaihe 2 epäonnistui. Poikkeus: %s", "External storage" : "Ulkoinen tallennustila", - "OpenStack Object Storage" : "OpenStack Object Storage", - "Username" : "Käyttäjätunnus", - "Region (optional for OpenStack Object Storage)" : "Alue (valinnainen OpenStack Object Storagen käyttöön)", - "API Key (required for Rackspace Cloud Files)" : "API-avain (vaaditaan Rackspace Cloud Filesin käyttöön)", - "Tenantname (required for OpenStack Object Storage)" : "Vuokralaisnimi (vaaditaan OpenStack Object Storagen käyttöön)", - "Password (required for OpenStack Object Storage)" : "Salasana (vaaditaan OpenStack Object Storagen käyttöön)", - "Service Name (required for OpenStack Object Storage)" : "Palvelun nimi (vaaditaan OpenStack Object Storagen käyttöön)", - "Timeout of HTTP requests in seconds" : "HTTP-pyyntöjen aikakatkaisu sekunneissa", - "SMB / CIFS using OC login" : "SMB / CIFS käyttäen OC-kirjautumista", - "Host" : "Isäntä", - "Username as share" : "Käyttäjänimi jakona", - "Share" : "Jaa", - "Remote subfolder" : "Etäalikansio", - "Public key" : "Julkinen avain", "Storage with id \"%i\" not found" : "Tallennustilaa tunnisteella \"%i\" ei löytynyt", "Invalid mount point" : "Virheellinen liitoskohta", "Personal" : "Henkilökohtainen", @@ -26,6 +12,8 @@ OC.L10N.register( "Access granted" : "Pääsy sallittu", "Error configuring OAuth1" : "Virhe OAuth1:n asetuksia tehdessä", "Error configuring OAuth2" : "Virhe OAuth2:n asetuksia tehdessä", + "Generate keys" : "Luo avaimet", + "Error generating key pair" : "Virhe luotaessa avainparia", "Enable encryption" : "Käytä salausta", "Enable previews" : "Käytä esikatseluja", "Check for changes" : "Tarkista muutokset", @@ -35,8 +23,6 @@ OC.L10N.register( "All users. Type to select user or group." : "Kaikki käyttäjät. Kirjoita valitaksesi käyttäjän tai ryhmän.", "(group)" : "(ryhmä)", "Saved" : "Tallennettu", - "Generate keys" : "Luo avaimet", - "Error generating key pair" : "Virhe luotaessa avainparia", "None" : "Ei mitään", "OAuth1" : "OAuth1", "App key" : "Sovellusavain", @@ -44,17 +30,22 @@ OC.L10N.register( "OAuth2" : "OAuth2", "Client ID" : "Asiakkaan tunniste", "Client secret" : "Asiakassalaisuus", - "Username and password" : "Käyttäjätunnus ja salasana", + "Username" : "Käyttäjätunnus", "Password" : "Salasana", + "API key" : "API-avain", + "Username and password" : "Käyttäjätunnus ja salasana", + "Public key" : "Julkinen avain", "Amazon S3" : "Amazon S3", "Port" : "Portti", "Region" : "Alue", "Enable SSL" : "Käytä SSL:ää", "WebDAV" : "WebDAV", "URL" : "Verkko-osoite", + "Remote subfolder" : "Etäalikansio", "Secure https://" : "Salattu https://", "Dropbox" : "Dropbox", "FTP" : "FTP", + "Host" : "Isäntä", "Secure ftps://" : "Salattu ftps://", "Google Drive" : "Google Drive", "Local" : "Paikallinen", @@ -62,6 +53,9 @@ OC.L10N.register( "ownCloud" : "ownCloud", "SFTP" : "SFTP", "SMB / CIFS" : "SMB / CIFS", + "Share" : "Jaa", + "Username as share" : "Käyttäjänimi jakona", + "OpenStack Object Storage" : "OpenStack Object Storage", "<b>Note:</b> " : "<b>Huomio:</b> ", "<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>Huomio:</b> PHP:n cURL-tuki ei ole käytössä tai sitä ei ole asennettu. Kohteen %s liittäminen ei ole mahdollista. Pyydä järjestelmän ylläpitäjää ottamaan cURL-tuki käyttöön.", "<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>Huomio:</b> PHP:n FTP-tuki ei ole käytössä tai sitä ei ole asennettu. Kohteen %s liittäminen ei ole mahdollista. Pyydä järjestelmän ylläpitäjää ottamaan FTP-tuki käyttöön.", diff --git a/apps/files_external/l10n/fi_FI.json b/apps/files_external/l10n/fi_FI.json index 3870158899b..715e020273a 100644 --- a/apps/files_external/l10n/fi_FI.json +++ b/apps/files_external/l10n/fi_FI.json @@ -2,20 +2,6 @@ "Step 1 failed. Exception: %s" : "Vaihe 1 epäonnistui. Poikkeus: %s", "Step 2 failed. Exception: %s" : "Vaihe 2 epäonnistui. Poikkeus: %s", "External storage" : "Ulkoinen tallennustila", - "OpenStack Object Storage" : "OpenStack Object Storage", - "Username" : "Käyttäjätunnus", - "Region (optional for OpenStack Object Storage)" : "Alue (valinnainen OpenStack Object Storagen käyttöön)", - "API Key (required for Rackspace Cloud Files)" : "API-avain (vaaditaan Rackspace Cloud Filesin käyttöön)", - "Tenantname (required for OpenStack Object Storage)" : "Vuokralaisnimi (vaaditaan OpenStack Object Storagen käyttöön)", - "Password (required for OpenStack Object Storage)" : "Salasana (vaaditaan OpenStack Object Storagen käyttöön)", - "Service Name (required for OpenStack Object Storage)" : "Palvelun nimi (vaaditaan OpenStack Object Storagen käyttöön)", - "Timeout of HTTP requests in seconds" : "HTTP-pyyntöjen aikakatkaisu sekunneissa", - "SMB / CIFS using OC login" : "SMB / CIFS käyttäen OC-kirjautumista", - "Host" : "Isäntä", - "Username as share" : "Käyttäjänimi jakona", - "Share" : "Jaa", - "Remote subfolder" : "Etäalikansio", - "Public key" : "Julkinen avain", "Storage with id \"%i\" not found" : "Tallennustilaa tunnisteella \"%i\" ei löytynyt", "Invalid mount point" : "Virheellinen liitoskohta", "Personal" : "Henkilökohtainen", @@ -24,6 +10,8 @@ "Access granted" : "Pääsy sallittu", "Error configuring OAuth1" : "Virhe OAuth1:n asetuksia tehdessä", "Error configuring OAuth2" : "Virhe OAuth2:n asetuksia tehdessä", + "Generate keys" : "Luo avaimet", + "Error generating key pair" : "Virhe luotaessa avainparia", "Enable encryption" : "Käytä salausta", "Enable previews" : "Käytä esikatseluja", "Check for changes" : "Tarkista muutokset", @@ -33,8 +21,6 @@ "All users. Type to select user or group." : "Kaikki käyttäjät. Kirjoita valitaksesi käyttäjän tai ryhmän.", "(group)" : "(ryhmä)", "Saved" : "Tallennettu", - "Generate keys" : "Luo avaimet", - "Error generating key pair" : "Virhe luotaessa avainparia", "None" : "Ei mitään", "OAuth1" : "OAuth1", "App key" : "Sovellusavain", @@ -42,17 +28,22 @@ "OAuth2" : "OAuth2", "Client ID" : "Asiakkaan tunniste", "Client secret" : "Asiakassalaisuus", - "Username and password" : "Käyttäjätunnus ja salasana", + "Username" : "Käyttäjätunnus", "Password" : "Salasana", + "API key" : "API-avain", + "Username and password" : "Käyttäjätunnus ja salasana", + "Public key" : "Julkinen avain", "Amazon S3" : "Amazon S3", "Port" : "Portti", "Region" : "Alue", "Enable SSL" : "Käytä SSL:ää", "WebDAV" : "WebDAV", "URL" : "Verkko-osoite", + "Remote subfolder" : "Etäalikansio", "Secure https://" : "Salattu https://", "Dropbox" : "Dropbox", "FTP" : "FTP", + "Host" : "Isäntä", "Secure ftps://" : "Salattu ftps://", "Google Drive" : "Google Drive", "Local" : "Paikallinen", @@ -60,6 +51,9 @@ "ownCloud" : "ownCloud", "SFTP" : "SFTP", "SMB / CIFS" : "SMB / CIFS", + "Share" : "Jaa", + "Username as share" : "Käyttäjänimi jakona", + "OpenStack Object Storage" : "OpenStack Object Storage", "<b>Note:</b> " : "<b>Huomio:</b> ", "<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>Huomio:</b> PHP:n cURL-tuki ei ole käytössä tai sitä ei ole asennettu. Kohteen %s liittäminen ei ole mahdollista. Pyydä järjestelmän ylläpitäjää ottamaan cURL-tuki käyttöön.", "<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>Huomio:</b> PHP:n FTP-tuki ei ole käytössä tai sitä ei ole asennettu. Kohteen %s liittäminen ei ole mahdollista. Pyydä järjestelmän ylläpitäjää ottamaan FTP-tuki käyttöön.", diff --git a/apps/files_external/l10n/fr.js b/apps/files_external/l10n/fr.js index 42944b2f2fb..87c7f63bfb5 100644 --- a/apps/files_external/l10n/fr.js +++ b/apps/files_external/l10n/fr.js @@ -7,33 +7,21 @@ OC.L10N.register( "Step 1 failed. Exception: %s" : "L’étape 1 a échoué. Erreur : %s", "Step 2 failed. Exception: %s" : "L’étape 2 a échoué. Erreur : %s", "External storage" : "Stockage externe", - "OpenStack Object Storage" : "OpenStack Object Storage", - "Username" : "Nom d'utilisateur", - "Bucket" : "Bucket", - "Region (optional for OpenStack Object Storage)" : "Région (optionnel pour OpenStack Object Storage)", - "API Key (required for Rackspace Cloud Files)" : "Clé API (requis pour Rackspace Cloud Files)", - "Tenantname (required for OpenStack Object Storage)" : "Tenantname (requis pour le stockage OpenStack)", - "Password (required for OpenStack Object Storage)" : "Mot de passe (requis pour OpenStack Object Storage)", - "Service Name (required for OpenStack Object Storage)" : "Nom du service (requis pour le stockage OpenStack)", - "URL of identity endpoint (required for OpenStack Object Storage)" : "URL du point d'accès d'identité (requis pour le stockage OpenStack)", - "Timeout of HTTP requests in seconds" : "Délai d'attente maximal des requêtes HTTP en secondes", - "SMB / CIFS using OC login" : "SMB / CIFS en utilisant les identifiants OC", - "Host" : "Hôte", - "Username as share" : "Nom d'utilisateur comme nom de partage", - "Share" : "Partage", - "Remote subfolder" : "Sous-dossier distant", - "SFTP with secret key login" : "SFTP avec identification par clé", - "Public key" : "Clef publique", "Storage with id \"%i\" not found" : "Stockage avec l'id \"%i\" non trouvé", "Invalid backend or authentication mechanism class" : "Système de stockage ou méthode d'authentification non valable", "Invalid mount point" : "Point de montage non valide", + "Objectstore forbidden" : "\"Objectstore\" interdit", "Invalid storage backend \"%s\"" : "Service de stockage non valide : \"%s\"", + "Unsatisfied backend parameters" : "Paramètres manquants pour le service", "Unsatisfied authentication mechanism parameters" : "Paramètres manquants pour la méthode d'authentification", - "Admin-only storage backend \"%s\"" : "Service de stockage \"%s\" pour admins seulement", "Personal" : "Personnel", "System" : "Système", "Grant access" : "Autoriser l'accès", "Access granted" : "Accès autorisé", + "Error configuring OAuth1" : "Erreur lors de la configuration de OAuth1", + "Error configuring OAuth2" : "Erreur lors de la configuration de OAuth2", + "Generate keys" : "Générer des clés", + "Error generating key pair" : "Erreur lors de la génération des clés", "Enable encryption" : "Activer le chiffrement", "Enable previews" : "Activer les prévisualisations", "Check for changes" : "Rechercher les modifications", @@ -43,8 +31,9 @@ OC.L10N.register( "All users. Type to select user or group." : "Tous les utilisateurs. Cliquez ici pour restreindre.", "(group)" : "(groupe)", "Saved" : "Sauvegardé", - "Generate keys" : "Générer des clés", - "Error generating key pair" : "Erreur lors de la génération des clés", + "Access key" : "Clé d'accès", + "Secret key" : "Clé secrète", + "Builtin" : "inclus", "None" : "Aucun", "OAuth1" : "OAuth1", "App key" : "App key", @@ -52,10 +41,14 @@ OC.L10N.register( "OAuth2" : "OAuth2", "Client ID" : "ID Client", "Client secret" : "Secret client", - "Username and password" : "Nom d'utilisateur et mot de passe", + "Username" : "Nom d'utilisateur", "Password" : "Mot de passe", + "API key" : "Clé API", + "Username and password" : "Nom d'utilisateur et mot de passe", "Session credentials" : "Informations d'identification de session", + "Public key" : "Clef publique", "Amazon S3" : "Amazon S3", + "Bucket" : "Bucket", "Hostname" : "Nom de l'hôte", "Port" : "Port", "Region" : "Région", @@ -63,9 +56,11 @@ OC.L10N.register( "Enable Path Style" : "Accès par path", "WebDAV" : "WebDAV", "URL" : "URL", + "Remote subfolder" : "Sous-dossier distant", "Secure https://" : "Sécurisation https://", "Dropbox" : "Dropbox", "FTP" : "FTP", + "Host" : "Hôte", "Secure ftps://" : "Sécurisation ftps://", "Google Drive" : "Google Drive", "Local" : "Local", @@ -74,6 +69,9 @@ OC.L10N.register( "SFTP" : "SFTP", "Root" : "Root", "SMB / CIFS" : "SMB / CIFS", + "Share" : "Partage", + "Username as share" : "Nom d'utilisateur comme nom de partage", + "OpenStack Object Storage" : "OpenStack Object Storage", "<b>Note:</b> " : "<b>Attention :</b>", "<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>Attention :</b> La prise en charge de cURL par PHP n'est pas activée ou installée. Le montage de %s n'est pas possible. Contactez votre administrateur système pour l'installer.", "<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>Attention : </b> La prise en charge du FTP par PHP n'est pas activée ou installée. Le montage de %s n'est pas possible. Contactez votre administrateur système pour l'installer.", diff --git a/apps/files_external/l10n/fr.json b/apps/files_external/l10n/fr.json index ffc2de0ef53..dee041e3546 100644 --- a/apps/files_external/l10n/fr.json +++ b/apps/files_external/l10n/fr.json @@ -5,33 +5,21 @@ "Step 1 failed. Exception: %s" : "L’étape 1 a échoué. Erreur : %s", "Step 2 failed. Exception: %s" : "L’étape 2 a échoué. Erreur : %s", "External storage" : "Stockage externe", - "OpenStack Object Storage" : "OpenStack Object Storage", - "Username" : "Nom d'utilisateur", - "Bucket" : "Bucket", - "Region (optional for OpenStack Object Storage)" : "Région (optionnel pour OpenStack Object Storage)", - "API Key (required for Rackspace Cloud Files)" : "Clé API (requis pour Rackspace Cloud Files)", - "Tenantname (required for OpenStack Object Storage)" : "Tenantname (requis pour le stockage OpenStack)", - "Password (required for OpenStack Object Storage)" : "Mot de passe (requis pour OpenStack Object Storage)", - "Service Name (required for OpenStack Object Storage)" : "Nom du service (requis pour le stockage OpenStack)", - "URL of identity endpoint (required for OpenStack Object Storage)" : "URL du point d'accès d'identité (requis pour le stockage OpenStack)", - "Timeout of HTTP requests in seconds" : "Délai d'attente maximal des requêtes HTTP en secondes", - "SMB / CIFS using OC login" : "SMB / CIFS en utilisant les identifiants OC", - "Host" : "Hôte", - "Username as share" : "Nom d'utilisateur comme nom de partage", - "Share" : "Partage", - "Remote subfolder" : "Sous-dossier distant", - "SFTP with secret key login" : "SFTP avec identification par clé", - "Public key" : "Clef publique", "Storage with id \"%i\" not found" : "Stockage avec l'id \"%i\" non trouvé", "Invalid backend or authentication mechanism class" : "Système de stockage ou méthode d'authentification non valable", "Invalid mount point" : "Point de montage non valide", + "Objectstore forbidden" : "\"Objectstore\" interdit", "Invalid storage backend \"%s\"" : "Service de stockage non valide : \"%s\"", + "Unsatisfied backend parameters" : "Paramètres manquants pour le service", "Unsatisfied authentication mechanism parameters" : "Paramètres manquants pour la méthode d'authentification", - "Admin-only storage backend \"%s\"" : "Service de stockage \"%s\" pour admins seulement", "Personal" : "Personnel", "System" : "Système", "Grant access" : "Autoriser l'accès", "Access granted" : "Accès autorisé", + "Error configuring OAuth1" : "Erreur lors de la configuration de OAuth1", + "Error configuring OAuth2" : "Erreur lors de la configuration de OAuth2", + "Generate keys" : "Générer des clés", + "Error generating key pair" : "Erreur lors de la génération des clés", "Enable encryption" : "Activer le chiffrement", "Enable previews" : "Activer les prévisualisations", "Check for changes" : "Rechercher les modifications", @@ -41,8 +29,9 @@ "All users. Type to select user or group." : "Tous les utilisateurs. Cliquez ici pour restreindre.", "(group)" : "(groupe)", "Saved" : "Sauvegardé", - "Generate keys" : "Générer des clés", - "Error generating key pair" : "Erreur lors de la génération des clés", + "Access key" : "Clé d'accès", + "Secret key" : "Clé secrète", + "Builtin" : "inclus", "None" : "Aucun", "OAuth1" : "OAuth1", "App key" : "App key", @@ -50,10 +39,14 @@ "OAuth2" : "OAuth2", "Client ID" : "ID Client", "Client secret" : "Secret client", - "Username and password" : "Nom d'utilisateur et mot de passe", + "Username" : "Nom d'utilisateur", "Password" : "Mot de passe", + "API key" : "Clé API", + "Username and password" : "Nom d'utilisateur et mot de passe", "Session credentials" : "Informations d'identification de session", + "Public key" : "Clef publique", "Amazon S3" : "Amazon S3", + "Bucket" : "Bucket", "Hostname" : "Nom de l'hôte", "Port" : "Port", "Region" : "Région", @@ -61,9 +54,11 @@ "Enable Path Style" : "Accès par path", "WebDAV" : "WebDAV", "URL" : "URL", + "Remote subfolder" : "Sous-dossier distant", "Secure https://" : "Sécurisation https://", "Dropbox" : "Dropbox", "FTP" : "FTP", + "Host" : "Hôte", "Secure ftps://" : "Sécurisation ftps://", "Google Drive" : "Google Drive", "Local" : "Local", @@ -72,6 +67,9 @@ "SFTP" : "SFTP", "Root" : "Root", "SMB / CIFS" : "SMB / CIFS", + "Share" : "Partage", + "Username as share" : "Nom d'utilisateur comme nom de partage", + "OpenStack Object Storage" : "OpenStack Object Storage", "<b>Note:</b> " : "<b>Attention :</b>", "<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>Attention :</b> La prise en charge de cURL par PHP n'est pas activée ou installée. Le montage de %s n'est pas possible. Contactez votre administrateur système pour l'installer.", "<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>Attention : </b> La prise en charge du FTP par PHP n'est pas activée ou installée. Le montage de %s n'est pas possible. Contactez votre administrateur système pour l'installer.", diff --git a/apps/files_external/l10n/gl.js b/apps/files_external/l10n/gl.js index 29d99ec6691..fc4d4ea4931 100644 --- a/apps/files_external/l10n/gl.js +++ b/apps/files_external/l10n/gl.js @@ -4,23 +4,6 @@ OC.L10N.register( "Step 1 failed. Exception: %s" : "Fallou o paso 1. Excepción: %s", "Step 2 failed. Exception: %s" : "Fallou o paso 2. Excepción: %s", "External storage" : "Almacenamento externo", - "OpenStack Object Storage" : "OpenStack Object Storage", - "Username" : "Nome de usuario", - "Bucket" : "Bucket", - "Region (optional for OpenStack Object Storage)" : "Rexión (opcional para OpenStack Object Storage)", - "API Key (required for Rackspace Cloud Files)" : "Clave da API (obrigatoria para Rackspace Cloud Files)", - "Tenantname (required for OpenStack Object Storage)" : "Nome do inquilino (obrigatorio para OpenStack Object Storage)", - "Password (required for OpenStack Object Storage)" : "Contrasinal (obrigatorio para OpenStack Object Storage)", - "Service Name (required for OpenStack Object Storage)" : "Nome do servizo (obrigatorio para OpenStack Object Storage)", - "URL of identity endpoint (required for OpenStack Object Storage)" : "URL do punto final da identidade (obrigatorio para OpenStack Object Storage)", - "Timeout of HTTP requests in seconds" : "Caducidade, en segundos, das peticións HTTP", - "SMB / CIFS using OC login" : "SMB / CIFS usando acceso OC", - "Host" : "Servidor", - "Username as share" : "Nome de usuario como compartición", - "Share" : "Compartir", - "Remote subfolder" : "Subcartafol remoto", - "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", "Invalid storage backend \"%s\"" : "Infraestrutura de almacenamento «%s» incorrecta", @@ -28,6 +11,8 @@ OC.L10N.register( "System" : "Sistema", "Grant access" : "Permitir o acceso", "Access granted" : "Concedeuse acceso", + "Generate keys" : "Xerar chaves", + "Error generating key pair" : "Produciuse un erro ao xerar o par de chaves", "Enable encryption" : "Activar o cifrado", "Enable previews" : "Activar as vistas previas", "Check for changes" : "Comprobar se hai cambios", @@ -37,15 +22,17 @@ OC.L10N.register( "All users. Type to select user or group." : "Todos os usuarios. Escriba para seleccionar usuario ou grupo.", "(group)" : "(grupo)", "Saved" : "Gardado", - "Generate keys" : "Xerar chaves", - "Error generating key pair" : "Produciuse un erro ao xerar o par de chaves", "None" : "Ningún", "App key" : "Clave da API", "App secret" : "Secreto da aplicación", "Client ID" : "ID do cliente", "Client secret" : "Secreto do cliente", + "Username" : "Nome de usuario", "Password" : "Contrasinal", + "API key" : "Chave da API", + "Public key" : "Chave pública", "Amazon S3" : "Amazon S3", + "Bucket" : "Bucket", "Hostname" : "Nome de máquina", "Port" : "Porto", "Region" : "Rexión", @@ -53,13 +40,18 @@ OC.L10N.register( "Enable Path Style" : "Activar o estilo de ruta", "WebDAV" : "WebDAV", "URL" : "URL", + "Remote subfolder" : "Subcartafol remoto", "Secure https://" : "https:// seguro", "Dropbox" : "Dropbox", + "Host" : "Servidor", "Secure ftps://" : "ftps:// seguro", "Local" : "Local", "Location" : "Localización", "ownCloud" : "ownCloud", "Root" : "Root (raíz)", + "Share" : "Compartir", + "Username as share" : "Nome de usuario como compartición", + "OpenStack Object Storage" : "OpenStack Object Storage", "<b>Note:</b> " : "<b>Nota:</b> ", "<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>Nota:</b> A compatibilidade de cURL en PHP non está activada, ou non está instalado. Non é posíbel a montaxe de %s. Consulte co administrador do sistema como instalalo.", "<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>Nota:</b> A compatibilidade de FTP en PHP non está activada, ou non está instalado. Non é posíbel a montaxe de %s. Consulte co administrador do sistema como instalalo.", diff --git a/apps/files_external/l10n/gl.json b/apps/files_external/l10n/gl.json index cecca37a291..48bd2c62e9a 100644 --- a/apps/files_external/l10n/gl.json +++ b/apps/files_external/l10n/gl.json @@ -2,23 +2,6 @@ "Step 1 failed. Exception: %s" : "Fallou o paso 1. Excepción: %s", "Step 2 failed. Exception: %s" : "Fallou o paso 2. Excepción: %s", "External storage" : "Almacenamento externo", - "OpenStack Object Storage" : "OpenStack Object Storage", - "Username" : "Nome de usuario", - "Bucket" : "Bucket", - "Region (optional for OpenStack Object Storage)" : "Rexión (opcional para OpenStack Object Storage)", - "API Key (required for Rackspace Cloud Files)" : "Clave da API (obrigatoria para Rackspace Cloud Files)", - "Tenantname (required for OpenStack Object Storage)" : "Nome do inquilino (obrigatorio para OpenStack Object Storage)", - "Password (required for OpenStack Object Storage)" : "Contrasinal (obrigatorio para OpenStack Object Storage)", - "Service Name (required for OpenStack Object Storage)" : "Nome do servizo (obrigatorio para OpenStack Object Storage)", - "URL of identity endpoint (required for OpenStack Object Storage)" : "URL do punto final da identidade (obrigatorio para OpenStack Object Storage)", - "Timeout of HTTP requests in seconds" : "Caducidade, en segundos, das peticións HTTP", - "SMB / CIFS using OC login" : "SMB / CIFS usando acceso OC", - "Host" : "Servidor", - "Username as share" : "Nome de usuario como compartición", - "Share" : "Compartir", - "Remote subfolder" : "Subcartafol remoto", - "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", "Invalid storage backend \"%s\"" : "Infraestrutura de almacenamento «%s» incorrecta", @@ -26,6 +9,8 @@ "System" : "Sistema", "Grant access" : "Permitir o acceso", "Access granted" : "Concedeuse acceso", + "Generate keys" : "Xerar chaves", + "Error generating key pair" : "Produciuse un erro ao xerar o par de chaves", "Enable encryption" : "Activar o cifrado", "Enable previews" : "Activar as vistas previas", "Check for changes" : "Comprobar se hai cambios", @@ -35,15 +20,17 @@ "All users. Type to select user or group." : "Todos os usuarios. Escriba para seleccionar usuario ou grupo.", "(group)" : "(grupo)", "Saved" : "Gardado", - "Generate keys" : "Xerar chaves", - "Error generating key pair" : "Produciuse un erro ao xerar o par de chaves", "None" : "Ningún", "App key" : "Clave da API", "App secret" : "Secreto da aplicación", "Client ID" : "ID do cliente", "Client secret" : "Secreto do cliente", + "Username" : "Nome de usuario", "Password" : "Contrasinal", + "API key" : "Chave da API", + "Public key" : "Chave pública", "Amazon S3" : "Amazon S3", + "Bucket" : "Bucket", "Hostname" : "Nome de máquina", "Port" : "Porto", "Region" : "Rexión", @@ -51,13 +38,18 @@ "Enable Path Style" : "Activar o estilo de ruta", "WebDAV" : "WebDAV", "URL" : "URL", + "Remote subfolder" : "Subcartafol remoto", "Secure https://" : "https:// seguro", "Dropbox" : "Dropbox", + "Host" : "Servidor", "Secure ftps://" : "ftps:// seguro", "Local" : "Local", "Location" : "Localización", "ownCloud" : "ownCloud", "Root" : "Root (raíz)", + "Share" : "Compartir", + "Username as share" : "Nome de usuario como compartición", + "OpenStack Object Storage" : "OpenStack Object Storage", "<b>Note:</b> " : "<b>Nota:</b> ", "<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>Nota:</b> A compatibilidade de cURL en PHP non está activada, ou non está instalado. Non é posíbel a montaxe de %s. Consulte co administrador do sistema como instalalo.", "<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>Nota:</b> A compatibilidade de FTP en PHP non está activada, ou non está instalado. Non é posíbel a montaxe de %s. Consulte co administrador do sistema como instalalo.", diff --git a/apps/files_external/l10n/he.js b/apps/files_external/l10n/he.js index 39729016a36..2de5539e7d1 100644 --- a/apps/files_external/l10n/he.js +++ b/apps/files_external/l10n/he.js @@ -1,22 +1,22 @@ OC.L10N.register( "files_external", { - "Username" : "שם משתמש", - "Host" : "מארח", - "Share" : "שיתוף", "Personal" : "אישי", "Grant access" : "הענקת גישה", "Access granted" : "הוענקה גישה", "Saved" : "נשמר", "None" : "כלום", + "Username" : "שם משתמש", "Password" : "סיסמא", "Port" : "פורט", "Region" : "אזור", "WebDAV" : "WebDAV", "URL" : "כתובת", + "Host" : "מארח", "Local" : "מקומי", "Location" : "מיקום", "ownCloud" : "ownCloud", + "Share" : "שיתוף", "Name" : "שם", "External Storage" : "אחסון חיצוני", "Folder name" : "שם התיקייה", diff --git a/apps/files_external/l10n/he.json b/apps/files_external/l10n/he.json index d04109504d0..4b4e289c53e 100644 --- a/apps/files_external/l10n/he.json +++ b/apps/files_external/l10n/he.json @@ -1,20 +1,20 @@ { "translations": { - "Username" : "שם משתמש", - "Host" : "מארח", - "Share" : "שיתוף", "Personal" : "אישי", "Grant access" : "הענקת גישה", "Access granted" : "הוענקה גישה", "Saved" : "נשמר", "None" : "כלום", + "Username" : "שם משתמש", "Password" : "סיסמא", "Port" : "פורט", "Region" : "אזור", "WebDAV" : "WebDAV", "URL" : "כתובת", + "Host" : "מארח", "Local" : "מקומי", "Location" : "מיקום", "ownCloud" : "ownCloud", + "Share" : "שיתוף", "Name" : "שם", "External Storage" : "אחסון חיצוני", "Folder name" : "שם התיקייה", diff --git a/apps/files_external/l10n/hi.js b/apps/files_external/l10n/hi.js index ed6db75b370..3d3b750ebd8 100644 --- a/apps/files_external/l10n/hi.js +++ b/apps/files_external/l10n/hi.js @@ -1,9 +1,9 @@ OC.L10N.register( "files_external", { - "Username" : "प्रयोक्ता का नाम", - "Share" : "साझा करें", "Personal" : "यक्तिगत", - "Password" : "पासवर्ड" + "Username" : "प्रयोक्ता का नाम", + "Password" : "पासवर्ड", + "Share" : "साझा करें" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/files_external/l10n/hi.json b/apps/files_external/l10n/hi.json index ea8d878bbd2..6e1117f610e 100644 --- a/apps/files_external/l10n/hi.json +++ b/apps/files_external/l10n/hi.json @@ -1,7 +1,7 @@ { "translations": { - "Username" : "प्रयोक्ता का नाम", - "Share" : "साझा करें", "Personal" : "यक्तिगत", - "Password" : "पासवर्ड" + "Username" : "प्रयोक्ता का नाम", + "Password" : "पासवर्ड", + "Share" : "साझा करें" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/files_external/l10n/hr.js b/apps/files_external/l10n/hr.js index f410aed4324..7ab17521581 100644 --- a/apps/files_external/l10n/hr.js +++ b/apps/files_external/l10n/hr.js @@ -4,21 +4,6 @@ OC.L10N.register( "Step 1 failed. Exception: %s" : "Korak 1 nije uspio. Izuzetak: %s", "Step 2 failed. Exception: %s" : "Korak 2 nije uspio. Izuzetak: %s", "External storage" : "Vanjsko spremište za pohranu", - "OpenStack Object Storage" : "Prostor za pohranu.....", - "Username" : "Korisničko ime", - "Bucket" : "Kantica", - "Region (optional for OpenStack Object Storage)" : "Regija (neobavezno za OpenStack object storage", - "API Key (required for Rackspace Cloud Files)" : "API ključ (obavezno za Rackspace Cloud Files)", - "Tenantname (required for OpenStack Object Storage)" : "Naziv korisnika (obavezno za OpenStack Object storage)", - "Password (required for OpenStack Object Storage)" : "Lozinka (obavezno za OpenStack Object Storage)", - "Service Name (required for OpenStack Object Storage)" : "Naziv usluge (Obavezno za OpenStack Object Storage)", - "URL of identity endpoint (required for OpenStack Object Storage)" : "URL krajnje točke identiteta (obavezno za OpenStack Object Storage)", - "Timeout of HTTP requests in seconds" : "Vrijeme isteka HTTP zahtjeva u sekundama", - "SMB / CIFS using OC login" : "SMB / CIFS uz prijavu putem programa OC", - "Host" : "Glavno računalo", - "Username as share" : "Korisničko ime kao dijeljeni resurs", - "Share" : "Dijeljenje zhajedničkih resursa", - "Remote subfolder" : "Udaljena podmapa", "Personal" : "Osobno", "System" : "Sustav", "Grant access" : "Dodijeli pristup", @@ -31,8 +16,10 @@ OC.L10N.register( "App secret" : "Tajna aplikacije", "Client ID" : "ID klijenta", "Client secret" : "Klijentski tajni ključ", + "Username" : "Korisničko ime", "Password" : "Lozinka", "Amazon S3" : "Amazon S3", + "Bucket" : "Kantica", "Hostname" : "Naziv poslužitelja", "Port" : "Port", "Region" : "Regija", @@ -40,12 +27,17 @@ OC.L10N.register( "Enable Path Style" : "Omogućite Path Style", "WebDAV" : "WebDAV", "URL" : "URL", + "Remote subfolder" : "Udaljena podmapa", "Secure https://" : "Siguran https://", + "Host" : "Glavno računalo", "Secure ftps://" : "Sigurni ftps://", "Local" : "Lokalno", "Location" : "Lokacija", "ownCloud" : "OwnCloud", "Root" : "Korijen", + "Share" : "Dijeljenje zhajedničkih resursa", + "Username as share" : "Korisničko ime kao dijeljeni resurs", + "OpenStack Object Storage" : "Prostor za pohranu.....", "<b>Note:</b> " : "<b>Bilješka:</b>", "<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>Note:</b> Podrška cURL u PHP nije omogućena ili nije instalirana. Postavljanje%s nije moguće. Molimo zamolite svog administratora sustava da je instalira.", "<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>Note:</b> Podrška FTP u PHP nije omogućena ili nije instalirana. Postavljanje%s nije moguće. Molimo zamolite svotg administratora sustava da je instalira.", diff --git a/apps/files_external/l10n/hr.json b/apps/files_external/l10n/hr.json index bd33b34f9d7..23188c55fea 100644 --- a/apps/files_external/l10n/hr.json +++ b/apps/files_external/l10n/hr.json @@ -2,21 +2,6 @@ "Step 1 failed. Exception: %s" : "Korak 1 nije uspio. Izuzetak: %s", "Step 2 failed. Exception: %s" : "Korak 2 nije uspio. Izuzetak: %s", "External storage" : "Vanjsko spremište za pohranu", - "OpenStack Object Storage" : "Prostor za pohranu.....", - "Username" : "Korisničko ime", - "Bucket" : "Kantica", - "Region (optional for OpenStack Object Storage)" : "Regija (neobavezno za OpenStack object storage", - "API Key (required for Rackspace Cloud Files)" : "API ključ (obavezno za Rackspace Cloud Files)", - "Tenantname (required for OpenStack Object Storage)" : "Naziv korisnika (obavezno za OpenStack Object storage)", - "Password (required for OpenStack Object Storage)" : "Lozinka (obavezno za OpenStack Object Storage)", - "Service Name (required for OpenStack Object Storage)" : "Naziv usluge (Obavezno za OpenStack Object Storage)", - "URL of identity endpoint (required for OpenStack Object Storage)" : "URL krajnje točke identiteta (obavezno za OpenStack Object Storage)", - "Timeout of HTTP requests in seconds" : "Vrijeme isteka HTTP zahtjeva u sekundama", - "SMB / CIFS using OC login" : "SMB / CIFS uz prijavu putem programa OC", - "Host" : "Glavno računalo", - "Username as share" : "Korisničko ime kao dijeljeni resurs", - "Share" : "Dijeljenje zhajedničkih resursa", - "Remote subfolder" : "Udaljena podmapa", "Personal" : "Osobno", "System" : "Sustav", "Grant access" : "Dodijeli pristup", @@ -29,8 +14,10 @@ "App secret" : "Tajna aplikacije", "Client ID" : "ID klijenta", "Client secret" : "Klijentski tajni ključ", + "Username" : "Korisničko ime", "Password" : "Lozinka", "Amazon S3" : "Amazon S3", + "Bucket" : "Kantica", "Hostname" : "Naziv poslužitelja", "Port" : "Port", "Region" : "Regija", @@ -38,12 +25,17 @@ "Enable Path Style" : "Omogućite Path Style", "WebDAV" : "WebDAV", "URL" : "URL", + "Remote subfolder" : "Udaljena podmapa", "Secure https://" : "Siguran https://", + "Host" : "Glavno računalo", "Secure ftps://" : "Sigurni ftps://", "Local" : "Lokalno", "Location" : "Lokacija", "ownCloud" : "OwnCloud", "Root" : "Korijen", + "Share" : "Dijeljenje zhajedničkih resursa", + "Username as share" : "Korisničko ime kao dijeljeni resurs", + "OpenStack Object Storage" : "Prostor za pohranu.....", "<b>Note:</b> " : "<b>Bilješka:</b>", "<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>Note:</b> Podrška cURL u PHP nije omogućena ili nije instalirana. Postavljanje%s nije moguće. Molimo zamolite svog administratora sustava da je instalira.", "<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>Note:</b> Podrška FTP u PHP nije omogućena ili nije instalirana. Postavljanje%s nije moguće. Molimo zamolite svotg administratora sustava da je instalira.", diff --git a/apps/files_external/l10n/hu_HU.js b/apps/files_external/l10n/hu_HU.js index 39d28c69fd7..563267f66fd 100644 --- a/apps/files_external/l10n/hu_HU.js +++ b/apps/files_external/l10n/hu_HU.js @@ -2,13 +2,6 @@ OC.L10N.register( "files_external", { "External storage" : "Külső tárolók", - "Username" : "Felhasználónév", - "Bucket" : "Bucket", - "Timeout of HTTP requests in seconds" : "A HTTP-kérés időkorlátja másodpercben", - "Host" : "Kiszolgáló", - "Username as share" : "Felhasználónév és megosztás", - "Share" : "Megosztás", - "Remote subfolder" : "Távoli alkönyvtár", "Personal" : "Személyes", "System" : "Rendszer", "Grant access" : "Megadom a hozzáférést", @@ -19,19 +12,26 @@ OC.L10N.register( "None" : "Egyik sem", "App key" : "App kulcs", "App secret" : "App titkos kulcs", + "Username" : "Felhasználónév", "Password" : "Jelszó", + "API key" : "API kulcs", "Amazon S3" : "Amazon S3", + "Bucket" : "Bucket", "Hostname" : "Hosztnév", "Port" : "Port", "Region" : "Megye", "Enable SSL" : "SSL engedélyezése", "WebDAV" : "WebDAV", "URL" : "URL", + "Remote subfolder" : "Távoli alkönyvtár", "Secure https://" : "Biztonságos https://", + "Host" : "Kiszolgáló", "Secure ftps://" : "Biztonságos ftps://", "Local" : "Helyi", "Location" : "Hely", "ownCloud" : "ownCloud", + "Share" : "Megosztás", + "Username as share" : "Felhasználónév és megosztás", "<b>Note:</b> " : "<b>Megjegyzés:</b>", "Name" : "Név", "Storage type" : "Tároló típusa", diff --git a/apps/files_external/l10n/hu_HU.json b/apps/files_external/l10n/hu_HU.json index 180ab84c578..a3608dba7b7 100644 --- a/apps/files_external/l10n/hu_HU.json +++ b/apps/files_external/l10n/hu_HU.json @@ -1,12 +1,5 @@ { "translations": { "External storage" : "Külső tárolók", - "Username" : "Felhasználónév", - "Bucket" : "Bucket", - "Timeout of HTTP requests in seconds" : "A HTTP-kérés időkorlátja másodpercben", - "Host" : "Kiszolgáló", - "Username as share" : "Felhasználónév és megosztás", - "Share" : "Megosztás", - "Remote subfolder" : "Távoli alkönyvtár", "Personal" : "Személyes", "System" : "Rendszer", "Grant access" : "Megadom a hozzáférést", @@ -17,19 +10,26 @@ "None" : "Egyik sem", "App key" : "App kulcs", "App secret" : "App titkos kulcs", + "Username" : "Felhasználónév", "Password" : "Jelszó", + "API key" : "API kulcs", "Amazon S3" : "Amazon S3", + "Bucket" : "Bucket", "Hostname" : "Hosztnév", "Port" : "Port", "Region" : "Megye", "Enable SSL" : "SSL engedélyezése", "WebDAV" : "WebDAV", "URL" : "URL", + "Remote subfolder" : "Távoli alkönyvtár", "Secure https://" : "Biztonságos https://", + "Host" : "Kiszolgáló", "Secure ftps://" : "Biztonságos ftps://", "Local" : "Helyi", "Location" : "Hely", "ownCloud" : "ownCloud", + "Share" : "Megosztás", + "Username as share" : "Felhasználónév és megosztás", "<b>Note:</b> " : "<b>Megjegyzés:</b>", "Name" : "Név", "Storage type" : "Tároló típusa", diff --git a/apps/files_external/l10n/ia.js b/apps/files_external/l10n/ia.js index 441a001ca25..d13ee4ac10f 100644 --- a/apps/files_external/l10n/ia.js +++ b/apps/files_external/l10n/ia.js @@ -1,14 +1,14 @@ OC.L10N.register( "files_external", { - "Username" : "Nomine de usator", - "Share" : "Compartir", "Personal" : "Personal", "Saved" : "Salveguardate", + "Username" : "Nomine de usator", "Password" : "Contrasigno", "Region" : "Region", "URL" : "URL", "Location" : "Loco", + "Share" : "Compartir", "Name" : "Nomine", "Folder name" : "Nomine de dossier", "Delete" : "Deler" diff --git a/apps/files_external/l10n/ia.json b/apps/files_external/l10n/ia.json index 432207ba3c1..43562ce9e5b 100644 --- a/apps/files_external/l10n/ia.json +++ b/apps/files_external/l10n/ia.json @@ -1,12 +1,12 @@ { "translations": { - "Username" : "Nomine de usator", - "Share" : "Compartir", "Personal" : "Personal", "Saved" : "Salveguardate", + "Username" : "Nomine de usator", "Password" : "Contrasigno", "Region" : "Region", "URL" : "URL", "Location" : "Loco", + "Share" : "Compartir", "Name" : "Nomine", "Folder name" : "Nomine de dossier", "Delete" : "Deler" diff --git a/apps/files_external/l10n/id.js b/apps/files_external/l10n/id.js index e26ad12f3a8..be0abf0bbae 100644 --- a/apps/files_external/l10n/id.js +++ b/apps/files_external/l10n/id.js @@ -7,23 +7,6 @@ OC.L10N.register( "Step 1 failed. Exception: %s" : "Langkah 1 gagal. Kecuali: %s", "Step 2 failed. Exception: %s" : "Langkah 2 gagal. Kecuali: %s", "External storage" : "Penyimpanan eksternal", - "OpenStack Object Storage" : "OpenStack Object Storage", - "Username" : "Nama Pengguna", - "Bucket" : "Keranjang", - "Region (optional for OpenStack Object Storage)" : "Daerah (tambahan untuk OpenStack Object Storage)", - "API Key (required for Rackspace Cloud Files)" : "Kunci API (diperlukan untuk Rackspace Cloud Files)", - "Tenantname (required for OpenStack Object Storage)" : "Tenantname (diperlukan untuk OpenStack Object Storage)", - "Password (required for OpenStack Object Storage)" : "Sandi (diperlukan untuk OpenStack Object Storage)", - "Service Name (required for OpenStack Object Storage)" : "Nama Layanan (diperlukan untuk OpenStack Object Storage)", - "URL of identity endpoint (required for OpenStack Object Storage)" : "URL of identity endpoint (diperlukan untuk OpenStack Object Storage)", - "Timeout of HTTP requests in seconds" : "Batas waktu permintaan HTTP dalam detik", - "SMB / CIFS using OC login" : "SMB / CIFS menggunakan OC login", - "Host" : "Host", - "Username as share" : "Nama pengguna berbagi", - "Share" : "Bagikan", - "Remote subfolder" : "Subfolder remote", - "SFTP with secret key login" : "SFTP dengan kunci rahasia masuk", - "Public key" : "Kunci Public", "Storage with id \"%i\" not found" : "Penyimpanan dengan id \"%i\" tidak ditemukan", "Invalid backend or authentication mechanism class" : "Beckend atau kelas mekanisme otentikasi salah.", "Invalid mount point" : "Mount point salah", @@ -31,13 +14,14 @@ OC.L10N.register( "Invalid storage backend \"%s\"" : "Backend penyimpanan \"%s\" salah", "Unsatisfied backend parameters" : "Parameter backend tidak lengkap", "Unsatisfied authentication mechanism parameters" : "Parameter mekanisme otentikasi tidak lengkap", - "Admin-only storage backend \"%s\"" : "Backend penyimpanan hanya-admin \"%s\"", "Personal" : "Pribadi", "System" : "Sistem", "Grant access" : "Berikan hak akses", "Access granted" : "Akses diberikan", "Error configuring OAuth1" : "Kesalahan mengkonfigurasi OAuth1", "Error configuring OAuth2" : "Kesalahan mengkonfigurasi OAuth2", + "Generate keys" : "Hasilkan kunci", + "Error generating key pair" : "Kesalahan saat menghasilkan pasangan kunci", "Enable encryption" : "Aktifkan enkripsi", "Enable previews" : "Aktifkan pratinjau", "Check for changes" : "Periksa perubahan", @@ -47,8 +31,6 @@ OC.L10N.register( "All users. Type to select user or group." : "Semua pengguna. Ketik untuk memilih pengguna atau grup.", "(group)" : "(grup)", "Saved" : "Disimpan", - "Generate keys" : "Hasilkan kunci", - "Error generating key pair" : "Kesalahan saat menghasilkan pasangan kunci", "Access key" : "Kunci akses", "Secret key" : "Kunci rahasia", "Builtin" : "Internal", @@ -59,10 +41,14 @@ OC.L10N.register( "OAuth2" : "OAuth2", "Client ID" : "ID Klien", "Client secret" : "Rahasia klien", - "Username and password" : "Nama pengguna dan sandi", + "Username" : "Nama Pengguna", "Password" : "Sandi", + "API key" : "Kunci API", + "Username and password" : "Nama pengguna dan sandi", "Session credentials" : "Kredensial sesi", + "Public key" : "Kunci Public", "Amazon S3" : "Amazon S3", + "Bucket" : "Keranjang", "Hostname" : "Nama Host", "Port" : "Port", "Region" : "Daerah", @@ -70,9 +56,11 @@ OC.L10N.register( "Enable Path Style" : "Aktifkan Gaya Path", "WebDAV" : "WebDAV", "URL" : "URL", + "Remote subfolder" : "Subfolder remote", "Secure https://" : "Secure https://", "Dropbox" : "Dropbox", "FTP" : "FTP", + "Host" : "Host", "Secure ftps://" : "Secure ftps://", "Google Drive" : "Google Drive", "Local" : "Lokal", @@ -81,6 +69,9 @@ OC.L10N.register( "SFTP" : "SFTP", "Root" : "Root", "SMB / CIFS" : "SMB / CIFS", + "Share" : "Bagikan", + "Username as share" : "Nama pengguna berbagi", + "OpenStack Object Storage" : "OpenStack Object Storage", "<b>Note:</b> " : "<b>Catatan:</b> ", "<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>Catatan:</b> Dukungan cURL di PHP tidak diaktifkan atau belum diinstal. Mengaitkan %s tidak dimungkinkan. Silakan minta administrator sistem Anda untuk menginstalnya.", "<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>Catatan:</b> Dukungan FTP di PHP tidak diaktifkan atau belum diinstal. Mengaitkan %s tidak dimungkinkan. Silakan minta administrator sistem Anda untuk menginstalnya.", diff --git a/apps/files_external/l10n/id.json b/apps/files_external/l10n/id.json index 9c83475f756..6c80a01b970 100644 --- a/apps/files_external/l10n/id.json +++ b/apps/files_external/l10n/id.json @@ -5,23 +5,6 @@ "Step 1 failed. Exception: %s" : "Langkah 1 gagal. Kecuali: %s", "Step 2 failed. Exception: %s" : "Langkah 2 gagal. Kecuali: %s", "External storage" : "Penyimpanan eksternal", - "OpenStack Object Storage" : "OpenStack Object Storage", - "Username" : "Nama Pengguna", - "Bucket" : "Keranjang", - "Region (optional for OpenStack Object Storage)" : "Daerah (tambahan untuk OpenStack Object Storage)", - "API Key (required for Rackspace Cloud Files)" : "Kunci API (diperlukan untuk Rackspace Cloud Files)", - "Tenantname (required for OpenStack Object Storage)" : "Tenantname (diperlukan untuk OpenStack Object Storage)", - "Password (required for OpenStack Object Storage)" : "Sandi (diperlukan untuk OpenStack Object Storage)", - "Service Name (required for OpenStack Object Storage)" : "Nama Layanan (diperlukan untuk OpenStack Object Storage)", - "URL of identity endpoint (required for OpenStack Object Storage)" : "URL of identity endpoint (diperlukan untuk OpenStack Object Storage)", - "Timeout of HTTP requests in seconds" : "Batas waktu permintaan HTTP dalam detik", - "SMB / CIFS using OC login" : "SMB / CIFS menggunakan OC login", - "Host" : "Host", - "Username as share" : "Nama pengguna berbagi", - "Share" : "Bagikan", - "Remote subfolder" : "Subfolder remote", - "SFTP with secret key login" : "SFTP dengan kunci rahasia masuk", - "Public key" : "Kunci Public", "Storage with id \"%i\" not found" : "Penyimpanan dengan id \"%i\" tidak ditemukan", "Invalid backend or authentication mechanism class" : "Beckend atau kelas mekanisme otentikasi salah.", "Invalid mount point" : "Mount point salah", @@ -29,13 +12,14 @@ "Invalid storage backend \"%s\"" : "Backend penyimpanan \"%s\" salah", "Unsatisfied backend parameters" : "Parameter backend tidak lengkap", "Unsatisfied authentication mechanism parameters" : "Parameter mekanisme otentikasi tidak lengkap", - "Admin-only storage backend \"%s\"" : "Backend penyimpanan hanya-admin \"%s\"", "Personal" : "Pribadi", "System" : "Sistem", "Grant access" : "Berikan hak akses", "Access granted" : "Akses diberikan", "Error configuring OAuth1" : "Kesalahan mengkonfigurasi OAuth1", "Error configuring OAuth2" : "Kesalahan mengkonfigurasi OAuth2", + "Generate keys" : "Hasilkan kunci", + "Error generating key pair" : "Kesalahan saat menghasilkan pasangan kunci", "Enable encryption" : "Aktifkan enkripsi", "Enable previews" : "Aktifkan pratinjau", "Check for changes" : "Periksa perubahan", @@ -45,8 +29,6 @@ "All users. Type to select user or group." : "Semua pengguna. Ketik untuk memilih pengguna atau grup.", "(group)" : "(grup)", "Saved" : "Disimpan", - "Generate keys" : "Hasilkan kunci", - "Error generating key pair" : "Kesalahan saat menghasilkan pasangan kunci", "Access key" : "Kunci akses", "Secret key" : "Kunci rahasia", "Builtin" : "Internal", @@ -57,10 +39,14 @@ "OAuth2" : "OAuth2", "Client ID" : "ID Klien", "Client secret" : "Rahasia klien", - "Username and password" : "Nama pengguna dan sandi", + "Username" : "Nama Pengguna", "Password" : "Sandi", + "API key" : "Kunci API", + "Username and password" : "Nama pengguna dan sandi", "Session credentials" : "Kredensial sesi", + "Public key" : "Kunci Public", "Amazon S3" : "Amazon S3", + "Bucket" : "Keranjang", "Hostname" : "Nama Host", "Port" : "Port", "Region" : "Daerah", @@ -68,9 +54,11 @@ "Enable Path Style" : "Aktifkan Gaya Path", "WebDAV" : "WebDAV", "URL" : "URL", + "Remote subfolder" : "Subfolder remote", "Secure https://" : "Secure https://", "Dropbox" : "Dropbox", "FTP" : "FTP", + "Host" : "Host", "Secure ftps://" : "Secure ftps://", "Google Drive" : "Google Drive", "Local" : "Lokal", @@ -79,6 +67,9 @@ "SFTP" : "SFTP", "Root" : "Root", "SMB / CIFS" : "SMB / CIFS", + "Share" : "Bagikan", + "Username as share" : "Nama pengguna berbagi", + "OpenStack Object Storage" : "OpenStack Object Storage", "<b>Note:</b> " : "<b>Catatan:</b> ", "<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>Catatan:</b> Dukungan cURL di PHP tidak diaktifkan atau belum diinstal. Mengaitkan %s tidak dimungkinkan. Silakan minta administrator sistem Anda untuk menginstalnya.", "<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>Catatan:</b> Dukungan FTP di PHP tidak diaktifkan atau belum diinstal. Mengaitkan %s tidak dimungkinkan. Silakan minta administrator sistem Anda untuk menginstalnya.", diff --git a/apps/files_external/l10n/is.js b/apps/files_external/l10n/is.js index ae7dfcdac03..8af1f2ac0cf 100644 --- a/apps/files_external/l10n/is.js +++ b/apps/files_external/l10n/is.js @@ -1,18 +1,18 @@ OC.L10N.register( "files_external", { - "Username" : "Notendanafn", - "Host" : "Netþjónn", - "Share" : "Deila", "Personal" : "Um mig", "Grant access" : "Veita aðgengi", "Access granted" : "Aðgengi veitt", "Saved" : "Vistað", "None" : "Ekkert", + "Username" : "Notendanafn", "Password" : "Lykilorð", "WebDAV" : "WebDAV", "URL" : "URL", + "Host" : "Netþjónn", "Location" : "Staðsetning", + "Share" : "Deila", "Name" : "Nafn", "External Storage" : "Ytri gagnageymsla", "Folder name" : "Nafn möppu", diff --git a/apps/files_external/l10n/is.json b/apps/files_external/l10n/is.json index 9b1e9a315cc..8abd02bdf0a 100644 --- a/apps/files_external/l10n/is.json +++ b/apps/files_external/l10n/is.json @@ -1,16 +1,16 @@ { "translations": { - "Username" : "Notendanafn", - "Host" : "Netþjónn", - "Share" : "Deila", "Personal" : "Um mig", "Grant access" : "Veita aðgengi", "Access granted" : "Aðgengi veitt", "Saved" : "Vistað", "None" : "Ekkert", + "Username" : "Notendanafn", "Password" : "Lykilorð", "WebDAV" : "WebDAV", "URL" : "URL", + "Host" : "Netþjónn", "Location" : "Staðsetning", + "Share" : "Deila", "Name" : "Nafn", "External Storage" : "Ytri gagnageymsla", "Folder name" : "Nafn möppu", diff --git a/apps/files_external/l10n/it.js b/apps/files_external/l10n/it.js index 6e3596e197d..91723215cbf 100644 --- a/apps/files_external/l10n/it.js +++ b/apps/files_external/l10n/it.js @@ -7,23 +7,6 @@ OC.L10N.register( "Step 1 failed. Exception: %s" : "Fase 1 non riuscita. Eccezione: %s", "Step 2 failed. Exception: %s" : "Fase 2 non riuscita. Eccezione: %s", "External storage" : "Archiviazione esterna", - "OpenStack Object Storage" : "OpenStack Object Storage", - "Username" : "Nome utente", - "Bucket" : "Bucket", - "Region (optional for OpenStack Object Storage)" : "Regione (facoltativa per OpenStack Object Storage)", - "API Key (required for Rackspace Cloud Files)" : "Chiave API (richiesta per Rackspace Cloud Files)", - "Tenantname (required for OpenStack Object Storage)" : "Nome tenant (richiesto per OpenStack Object Storage)", - "Password (required for OpenStack Object Storage)" : "Password (richiesta per OpenStack Object Storage)", - "Service Name (required for OpenStack Object Storage)" : "Nome servizio (richiesta per OpenStack Object Storage)", - "URL of identity endpoint (required for OpenStack Object Storage)" : "URL del servizio di identità (richiesto per OpenStack Object Storage)", - "Timeout of HTTP requests in seconds" : "Tempo massimo in secondi delle richieste HTTP", - "SMB / CIFS using OC login" : "SMB / CIFS utilizzando le credenziali di OC", - "Host" : "Host", - "Username as share" : "Nome utente come condivisione", - "Share" : "Condividi", - "Remote subfolder" : "Sottocartella remota", - "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 backend or authentication mechanism class" : "Motore o classe del meccanismo di autenticazione non valido", "Invalid mount point" : "Punto di mount non valido", @@ -31,13 +14,14 @@ OC.L10N.register( "Invalid storage backend \"%s\"" : "Motore di archiviazione \"%s\" non valido", "Unsatisfied backend parameters" : "Parametri del motore non soddisfatti", "Unsatisfied authentication mechanism parameters" : "Parametri del meccanismo di autenticazione non soddisfatti", - "Admin-only storage backend \"%s\"" : "Motore di archiviazione per soli amministratori \"%s\"", "Personal" : "Personale", "System" : "Sistema", "Grant access" : "Concedi l'accesso", "Access granted" : "Accesso consentito", "Error configuring OAuth1" : "Errore di configurazione OAuth1", "Error configuring OAuth2" : "Errore di configurazione OAuth2", + "Generate keys" : "Genera la chiavi", + "Error generating key pair" : "Errore durante la generazione della coppia di chiavi", "Enable encryption" : "Abilita cifratura", "Enable previews" : "Abilita le anteprime", "Check for changes" : "Controlla le modifiche", @@ -47,8 +31,6 @@ OC.L10N.register( "All users. Type to select user or group." : "Tutti gli utenti. Digita per selezionare utente o gruppo.", "(group)" : "(gruppo)", "Saved" : "Salvato", - "Generate keys" : "Genera la chiavi", - "Error generating key pair" : "Errore durante la generazione della coppia di chiavi", "Access key" : "Chiave di accesso", "Secret key" : "Chiave segreta", "Builtin" : "Integrata", @@ -59,10 +41,14 @@ OC.L10N.register( "OAuth2" : "OAuth2", "Client ID" : "ID client", "Client secret" : "Segreto del client", - "Username and password" : "Nome utente e password", + "Username" : "Nome utente", "Password" : "Password", + "API key" : "Chiave API", + "Username and password" : "Nome utente e password", "Session credentials" : "Credenziali di sessione", + "Public key" : "Chiave pubblica", "Amazon S3" : "Amazon S3", + "Bucket" : "Bucket", "Hostname" : "Nome host", "Port" : "Porta", "Region" : "Regione", @@ -70,9 +56,11 @@ OC.L10N.register( "Enable Path Style" : "Abilita stile percorsi", "WebDAV" : "WebDAV", "URL" : "URL", + "Remote subfolder" : "Sottocartella remota", "Secure https://" : "Sicuro https://", "Dropbox" : "Dropbox", "FTP" : "FTP", + "Host" : "Host", "Secure ftps://" : "Sicuro ftps://", "Google Drive" : "Google Drive", "Local" : "Locale", @@ -81,6 +69,9 @@ OC.L10N.register( "SFTP" : "SFTP", "Root" : "Radice", "SMB / CIFS" : "SMB / CIFS", + "Share" : "Condividi", + "Username as share" : "Nome utente come condivisione", + "OpenStack Object Storage" : "OpenStack Object Storage", "<b>Note:</b> " : "<b>Nota:</b>", "<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>Nota:</b> il supporto a cURL di PHP non è abilitato o installato. Impossibile montare %s. Chiedi al tuo amministratore di sistema di installarlo.", "<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>Nota:</b> il supporto a FTP in PHP non è abilitato o installato. Impossibile montare %s. Chiedi al tuo amministratore di sistema di installarlo.", diff --git a/apps/files_external/l10n/it.json b/apps/files_external/l10n/it.json index 1c64b7dbadd..266d02872d5 100644 --- a/apps/files_external/l10n/it.json +++ b/apps/files_external/l10n/it.json @@ -5,23 +5,6 @@ "Step 1 failed. Exception: %s" : "Fase 1 non riuscita. Eccezione: %s", "Step 2 failed. Exception: %s" : "Fase 2 non riuscita. Eccezione: %s", "External storage" : "Archiviazione esterna", - "OpenStack Object Storage" : "OpenStack Object Storage", - "Username" : "Nome utente", - "Bucket" : "Bucket", - "Region (optional for OpenStack Object Storage)" : "Regione (facoltativa per OpenStack Object Storage)", - "API Key (required for Rackspace Cloud Files)" : "Chiave API (richiesta per Rackspace Cloud Files)", - "Tenantname (required for OpenStack Object Storage)" : "Nome tenant (richiesto per OpenStack Object Storage)", - "Password (required for OpenStack Object Storage)" : "Password (richiesta per OpenStack Object Storage)", - "Service Name (required for OpenStack Object Storage)" : "Nome servizio (richiesta per OpenStack Object Storage)", - "URL of identity endpoint (required for OpenStack Object Storage)" : "URL del servizio di identità (richiesto per OpenStack Object Storage)", - "Timeout of HTTP requests in seconds" : "Tempo massimo in secondi delle richieste HTTP", - "SMB / CIFS using OC login" : "SMB / CIFS utilizzando le credenziali di OC", - "Host" : "Host", - "Username as share" : "Nome utente come condivisione", - "Share" : "Condividi", - "Remote subfolder" : "Sottocartella remota", - "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 backend or authentication mechanism class" : "Motore o classe del meccanismo di autenticazione non valido", "Invalid mount point" : "Punto di mount non valido", @@ -29,13 +12,14 @@ "Invalid storage backend \"%s\"" : "Motore di archiviazione \"%s\" non valido", "Unsatisfied backend parameters" : "Parametri del motore non soddisfatti", "Unsatisfied authentication mechanism parameters" : "Parametri del meccanismo di autenticazione non soddisfatti", - "Admin-only storage backend \"%s\"" : "Motore di archiviazione per soli amministratori \"%s\"", "Personal" : "Personale", "System" : "Sistema", "Grant access" : "Concedi l'accesso", "Access granted" : "Accesso consentito", "Error configuring OAuth1" : "Errore di configurazione OAuth1", "Error configuring OAuth2" : "Errore di configurazione OAuth2", + "Generate keys" : "Genera la chiavi", + "Error generating key pair" : "Errore durante la generazione della coppia di chiavi", "Enable encryption" : "Abilita cifratura", "Enable previews" : "Abilita le anteprime", "Check for changes" : "Controlla le modifiche", @@ -45,8 +29,6 @@ "All users. Type to select user or group." : "Tutti gli utenti. Digita per selezionare utente o gruppo.", "(group)" : "(gruppo)", "Saved" : "Salvato", - "Generate keys" : "Genera la chiavi", - "Error generating key pair" : "Errore durante la generazione della coppia di chiavi", "Access key" : "Chiave di accesso", "Secret key" : "Chiave segreta", "Builtin" : "Integrata", @@ -57,10 +39,14 @@ "OAuth2" : "OAuth2", "Client ID" : "ID client", "Client secret" : "Segreto del client", - "Username and password" : "Nome utente e password", + "Username" : "Nome utente", "Password" : "Password", + "API key" : "Chiave API", + "Username and password" : "Nome utente e password", "Session credentials" : "Credenziali di sessione", + "Public key" : "Chiave pubblica", "Amazon S3" : "Amazon S3", + "Bucket" : "Bucket", "Hostname" : "Nome host", "Port" : "Porta", "Region" : "Regione", @@ -68,9 +54,11 @@ "Enable Path Style" : "Abilita stile percorsi", "WebDAV" : "WebDAV", "URL" : "URL", + "Remote subfolder" : "Sottocartella remota", "Secure https://" : "Sicuro https://", "Dropbox" : "Dropbox", "FTP" : "FTP", + "Host" : "Host", "Secure ftps://" : "Sicuro ftps://", "Google Drive" : "Google Drive", "Local" : "Locale", @@ -79,6 +67,9 @@ "SFTP" : "SFTP", "Root" : "Radice", "SMB / CIFS" : "SMB / CIFS", + "Share" : "Condividi", + "Username as share" : "Nome utente come condivisione", + "OpenStack Object Storage" : "OpenStack Object Storage", "<b>Note:</b> " : "<b>Nota:</b>", "<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>Nota:</b> il supporto a cURL di PHP non è abilitato o installato. Impossibile montare %s. Chiedi al tuo amministratore di sistema di installarlo.", "<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>Nota:</b> il supporto a FTP in PHP non è abilitato o installato. Impossibile montare %s. Chiedi al tuo amministratore di sistema di installarlo.", diff --git a/apps/files_external/l10n/ja.js b/apps/files_external/l10n/ja.js index 9af7024d1a3..f5a9720be2e 100644 --- a/apps/files_external/l10n/ja.js +++ b/apps/files_external/l10n/ja.js @@ -4,23 +4,6 @@ OC.L10N.register( "Step 1 failed. Exception: %s" : "ステップ 1 の実行に失敗しました。例外: %s", "Step 2 failed. Exception: %s" : "ステップ 2 の実行に失敗しました。例外: %s", "External storage" : "外部ストレージ", - "OpenStack Object Storage" : "OpenStack ObjectStorage", - "Username" : "ユーザー名", - "Bucket" : "バケット名", - "Region (optional for OpenStack Object Storage)" : "リージョン (OpenStack ObjectStorage)", - "API Key (required for Rackspace Cloud Files)" : "APIキー (Rackspace CloudFiles)", - "Tenantname (required for OpenStack Object Storage)" : "テナント名 (OpenStack ObjectStorage)", - "Password (required for OpenStack Object Storage)" : "パスワード (OpenStack ObjectStorage)", - "Service Name (required for OpenStack Object Storage)" : "サービス名 (OpenStack ObjectStorage)", - "URL of identity endpoint (required for OpenStack Object Storage)" : "識別用エンドポイントURL (OpenStack ObjectStorage)", - "Timeout of HTTP requests in seconds" : "HTTP接続タイムアウト秒数", - "SMB / CIFS using OC login" : "ownCloudログインを利用したSMB / CIFS", - "Host" : "ホスト", - "Username as share" : "共有名", - "Share" : "共有", - "Remote subfolder" : "リモートサブフォルダー", - "SFTP with secret key login" : "秘密鍵でSFTPログイン", - "Public key" : "公開鍵", "Storage with id \"%i\" not found" : "ストレージID \"%i\" が見つかりません", "Invalid mount point" : "無効なマウントポイント", "Invalid storage backend \"%s\"" : "\"%s\" のストレージバックエンドが不正", @@ -28,6 +11,8 @@ OC.L10N.register( "System" : "システム", "Grant access" : "アクセスを許可", "Access granted" : "アクセスは許可されました", + "Generate keys" : "キーを生成", + "Error generating key pair" : "キーペアの生成エラー", "Enable encryption" : "暗号化を有効に", "Enable previews" : "プレビューを有効に", "Check for changes" : "変更点を確認", @@ -37,15 +22,17 @@ OC.L10N.register( "All users. Type to select user or group." : "すべてのユーザー。ユーザー、グループを追加", "(group)" : "(グループ)", "Saved" : "保存されました", - "Generate keys" : "キーを生成", - "Error generating key pair" : "キーペアの生成エラー", "None" : "なし", "App key" : "アプリキー", "App secret" : "アプリシークレット", "Client ID" : "クライアントID", "Client secret" : "クライアント秘密キー", + "Username" : "ユーザー名", "Password" : "パスワード", + "API key" : "APIキー", + "Public key" : "公開鍵", "Amazon S3" : "Amazon S3", + "Bucket" : "バケット名", "Hostname" : "ホスト名", "Port" : "ポート", "Region" : "リージョン", @@ -53,13 +40,18 @@ OC.L10N.register( "Enable Path Style" : "パス形式を有効", "WebDAV" : "WebDAV", "URL" : "URL", + "Remote subfolder" : "リモートサブフォルダー", "Secure https://" : "セキュア https://", "Dropbox" : "Dropbox", + "Host" : "ホスト", "Secure ftps://" : "Secure ftps://", "Local" : "ローカル", "Location" : "位置", "ownCloud" : "ownCloud", "Root" : "ルート", + "Share" : "共有", + "Username as share" : "共有名", + "OpenStack Object Storage" : "OpenStack ObjectStorage", "<b>Note:</b> " : "<b>注意:</b> ", "<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>注意:</b> PHPにcURLのエクステンションが入っていないか、有効ではありません。%s をマウントすることができません。このシステムの管理者にインストールをお願いしてください。", "<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>注意:</b> PHPにFTPのエクステンションが入っていないか、有効ではありません。%s をマウントすることができません。このシステムの管理者にインストールをお願いしてください。", diff --git a/apps/files_external/l10n/ja.json b/apps/files_external/l10n/ja.json index 244f38cd3ac..951e86df8ca 100644 --- a/apps/files_external/l10n/ja.json +++ b/apps/files_external/l10n/ja.json @@ -2,23 +2,6 @@ "Step 1 failed. Exception: %s" : "ステップ 1 の実行に失敗しました。例外: %s", "Step 2 failed. Exception: %s" : "ステップ 2 の実行に失敗しました。例外: %s", "External storage" : "外部ストレージ", - "OpenStack Object Storage" : "OpenStack ObjectStorage", - "Username" : "ユーザー名", - "Bucket" : "バケット名", - "Region (optional for OpenStack Object Storage)" : "リージョン (OpenStack ObjectStorage)", - "API Key (required for Rackspace Cloud Files)" : "APIキー (Rackspace CloudFiles)", - "Tenantname (required for OpenStack Object Storage)" : "テナント名 (OpenStack ObjectStorage)", - "Password (required for OpenStack Object Storage)" : "パスワード (OpenStack ObjectStorage)", - "Service Name (required for OpenStack Object Storage)" : "サービス名 (OpenStack ObjectStorage)", - "URL of identity endpoint (required for OpenStack Object Storage)" : "識別用エンドポイントURL (OpenStack ObjectStorage)", - "Timeout of HTTP requests in seconds" : "HTTP接続タイムアウト秒数", - "SMB / CIFS using OC login" : "ownCloudログインを利用したSMB / CIFS", - "Host" : "ホスト", - "Username as share" : "共有名", - "Share" : "共有", - "Remote subfolder" : "リモートサブフォルダー", - "SFTP with secret key login" : "秘密鍵でSFTPログイン", - "Public key" : "公開鍵", "Storage with id \"%i\" not found" : "ストレージID \"%i\" が見つかりません", "Invalid mount point" : "無効なマウントポイント", "Invalid storage backend \"%s\"" : "\"%s\" のストレージバックエンドが不正", @@ -26,6 +9,8 @@ "System" : "システム", "Grant access" : "アクセスを許可", "Access granted" : "アクセスは許可されました", + "Generate keys" : "キーを生成", + "Error generating key pair" : "キーペアの生成エラー", "Enable encryption" : "暗号化を有効に", "Enable previews" : "プレビューを有効に", "Check for changes" : "変更点を確認", @@ -35,15 +20,17 @@ "All users. Type to select user or group." : "すべてのユーザー。ユーザー、グループを追加", "(group)" : "(グループ)", "Saved" : "保存されました", - "Generate keys" : "キーを生成", - "Error generating key pair" : "キーペアの生成エラー", "None" : "なし", "App key" : "アプリキー", "App secret" : "アプリシークレット", "Client ID" : "クライアントID", "Client secret" : "クライアント秘密キー", + "Username" : "ユーザー名", "Password" : "パスワード", + "API key" : "APIキー", + "Public key" : "公開鍵", "Amazon S3" : "Amazon S3", + "Bucket" : "バケット名", "Hostname" : "ホスト名", "Port" : "ポート", "Region" : "リージョン", @@ -51,13 +38,18 @@ "Enable Path Style" : "パス形式を有効", "WebDAV" : "WebDAV", "URL" : "URL", + "Remote subfolder" : "リモートサブフォルダー", "Secure https://" : "セキュア https://", "Dropbox" : "Dropbox", + "Host" : "ホスト", "Secure ftps://" : "Secure ftps://", "Local" : "ローカル", "Location" : "位置", "ownCloud" : "ownCloud", "Root" : "ルート", + "Share" : "共有", + "Username as share" : "共有名", + "OpenStack Object Storage" : "OpenStack ObjectStorage", "<b>Note:</b> " : "<b>注意:</b> ", "<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>注意:</b> PHPにcURLのエクステンションが入っていないか、有効ではありません。%s をマウントすることができません。このシステムの管理者にインストールをお願いしてください。", "<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>注意:</b> PHPにFTPのエクステンションが入っていないか、有効ではありません。%s をマウントすることができません。このシステムの管理者にインストールをお願いしてください。", diff --git a/apps/files_external/l10n/ka_GE.js b/apps/files_external/l10n/ka_GE.js index 4fa652a50eb..6f38743a215 100644 --- a/apps/files_external/l10n/ka_GE.js +++ b/apps/files_external/l10n/ka_GE.js @@ -2,20 +2,21 @@ OC.L10N.register( "files_external", { "External storage" : "ექსტერნალ საცავი", - "Username" : "მომხმარებლის სახელი", - "Host" : "ჰოსტი", - "Share" : "გაზიარება", "Personal" : "პირადი", "Grant access" : "დაშვების მინიჭება", "Access granted" : "დაშვება მინიჭებულია", "None" : "არა", + "Username" : "მომხმარებლის სახელი", "Password" : "პაროლი", + "API key" : "API გასაღები", "Port" : "პორტი", "Region" : "რეგიონი", "WebDAV" : "WebDAV", "URL" : "URL", + "Host" : "ჰოსტი", "Location" : "ადგილმდებარეობა", "ownCloud" : "ownCloud–ი", + "Share" : "გაზიარება", "Name" : "სახელი", "External Storage" : "ექსტერნალ საცავი", "Folder name" : "ფოლდერის სახელი", diff --git a/apps/files_external/l10n/ka_GE.json b/apps/files_external/l10n/ka_GE.json index 93bae8532e4..7ca96f6db5d 100644 --- a/apps/files_external/l10n/ka_GE.json +++ b/apps/files_external/l10n/ka_GE.json @@ -1,19 +1,20 @@ { "translations": { "External storage" : "ექსტერნალ საცავი", - "Username" : "მომხმარებლის სახელი", - "Host" : "ჰოსტი", - "Share" : "გაზიარება", "Personal" : "პირადი", "Grant access" : "დაშვების მინიჭება", "Access granted" : "დაშვება მინიჭებულია", "None" : "არა", + "Username" : "მომხმარებლის სახელი", "Password" : "პაროლი", + "API key" : "API გასაღები", "Port" : "პორტი", "Region" : "რეგიონი", "WebDAV" : "WebDAV", "URL" : "URL", + "Host" : "ჰოსტი", "Location" : "ადგილმდებარეობა", "ownCloud" : "ownCloud–ი", + "Share" : "გაზიარება", "Name" : "სახელი", "External Storage" : "ექსტერნალ საცავი", "Folder name" : "ფოლდერის სახელი", diff --git a/apps/files_external/l10n/km.js b/apps/files_external/l10n/km.js index ea3d08e965c..7a5c6cb86c8 100644 --- a/apps/files_external/l10n/km.js +++ b/apps/files_external/l10n/km.js @@ -2,19 +2,19 @@ OC.L10N.register( "files_external", { "External storage" : "ឃ្លាំងផ្ទុកខាងក្រៅ", - "Username" : "ឈ្មោះអ្នកប្រើ", - "Host" : "ម៉ាស៊ីនផ្ទុក", - "Share" : "ចែករំលែក", "Personal" : "ផ្ទាល់ខ្លួន", "Grant access" : "ទទួលសិទ្ធិចូល", "Access granted" : "បានទទួលសិទ្ធិចូល", "Saved" : "បានរក្សាទុក", "None" : "គ្មាន", + "Username" : "ឈ្មោះអ្នកប្រើ", "Password" : "ពាក្យសម្ងាត់", "Port" : "ច្រក", "WebDAV" : "WebDAV", "URL" : "URL", + "Host" : "ម៉ាស៊ីនផ្ទុក", "Location" : "ទីតាំង", + "Share" : "ចែករំលែក", "Name" : "ឈ្មោះ", "External Storage" : "ឃ្លាំងផ្ទុកខាងក្រៅ", "Folder name" : "ឈ្មោះថត", diff --git a/apps/files_external/l10n/km.json b/apps/files_external/l10n/km.json index 4dafcd49bde..0375b5bfee2 100644 --- a/apps/files_external/l10n/km.json +++ b/apps/files_external/l10n/km.json @@ -1,18 +1,18 @@ { "translations": { "External storage" : "ឃ្លាំងផ្ទុកខាងក្រៅ", - "Username" : "ឈ្មោះអ្នកប្រើ", - "Host" : "ម៉ាស៊ីនផ្ទុក", - "Share" : "ចែករំលែក", "Personal" : "ផ្ទាល់ខ្លួន", "Grant access" : "ទទួលសិទ្ធិចូល", "Access granted" : "បានទទួលសិទ្ធិចូល", "Saved" : "បានរក្សាទុក", "None" : "គ្មាន", + "Username" : "ឈ្មោះអ្នកប្រើ", "Password" : "ពាក្យសម្ងាត់", "Port" : "ច្រក", "WebDAV" : "WebDAV", "URL" : "URL", + "Host" : "ម៉ាស៊ីនផ្ទុក", "Location" : "ទីតាំង", + "Share" : "ចែករំលែក", "Name" : "ឈ្មោះ", "External Storage" : "ឃ្លាំងផ្ទុកខាងក្រៅ", "Folder name" : "ឈ្មោះថត", diff --git a/apps/files_external/l10n/kn.js b/apps/files_external/l10n/kn.js index c3160c79b32..9d01033e356 100644 --- a/apps/files_external/l10n/kn.js +++ b/apps/files_external/l10n/kn.js @@ -1,17 +1,17 @@ OC.L10N.register( "files_external", { - "Username" : "ಬಳಕೆಯ ಹೆಸರು", - "Host" : "ಅತಿಥೆಯ-ಗಣಕ", - "Share" : "ಹಂಚಿಕೊಳ್ಳಿ", "Personal" : "ವೈಯಕ್ತಿಕ", "Saved" : "ಉಳಿಸಿದ", "None" : "ಯಾವುದೂ ಇಲ್ಲ", + "Username" : "ಬಳಕೆಯ ಹೆಸರು", "Password" : "ಗುಪ್ತ ಪದ", "Port" : "ರೇವು", "WebDAV" : "WebDAV", "URL" : "ಜಾಲದ ಕೊಂಡಿ", + "Host" : "ಅತಿಥೆಯ-ಗಣಕ", "Local" : "ಸ್ಥಳೀಯ", + "Share" : "ಹಂಚಿಕೊಳ್ಳಿ", "Name" : "ಹೆಸರು", "Delete" : "ಅಳಿಸಿ" }, diff --git a/apps/files_external/l10n/kn.json b/apps/files_external/l10n/kn.json index e020401c58f..0380f431d1e 100644 --- a/apps/files_external/l10n/kn.json +++ b/apps/files_external/l10n/kn.json @@ -1,15 +1,15 @@ { "translations": { - "Username" : "ಬಳಕೆಯ ಹೆಸರು", - "Host" : "ಅತಿಥೆಯ-ಗಣಕ", - "Share" : "ಹಂಚಿಕೊಳ್ಳಿ", "Personal" : "ವೈಯಕ್ತಿಕ", "Saved" : "ಉಳಿಸಿದ", "None" : "ಯಾವುದೂ ಇಲ್ಲ", + "Username" : "ಬಳಕೆಯ ಹೆಸರು", "Password" : "ಗುಪ್ತ ಪದ", "Port" : "ರೇವು", "WebDAV" : "WebDAV", "URL" : "ಜಾಲದ ಕೊಂಡಿ", + "Host" : "ಅತಿಥೆಯ-ಗಣಕ", "Local" : "ಸ್ಥಳೀಯ", + "Share" : "ಹಂಚಿಕೊಳ್ಳಿ", "Name" : "ಹೆಸರು", "Delete" : "ಅಳಿಸಿ" },"pluralForm" :"nplurals=1; plural=0;" diff --git a/apps/files_external/l10n/ko.js b/apps/files_external/l10n/ko.js index 3b4ef4fd5ab..3bed24abe66 100644 --- a/apps/files_external/l10n/ko.js +++ b/apps/files_external/l10n/ko.js @@ -1,33 +1,27 @@ OC.L10N.register( "files_external", { + "Fetching request tokens failed. Verify that your app key and secret are correct." : "요청 토큰을 가져올 수 없습니다. 앱 키와 비밀 값이 올바른지 확인하십시오.", + "Fetching access tokens failed. Verify that your app key and secret are correct." : "접근 토큰을 가져올 수 없습니다. 앱 키와 비밀 값이 올바른지 확인하십시오.", + "Please provide a valid app key and secret." : "올바른 앱 키와 비밀 값을 입력하십시오.", "Step 1 failed. Exception: %s" : "1단계 실패. 예외: %s", "Step 2 failed. Exception: %s" : "2단계 실패. 예외: %s", "External storage" : "외부 저장소", - "OpenStack Object Storage" : "OpenStack 객체 저장소", - "Username" : "사용자 이름", - "Bucket" : "버킷", - "Region (optional for OpenStack Object Storage)" : "지역(OpenStack 객체 저장소는 선택 사항)", - "API Key (required for Rackspace Cloud Files)" : "API 키(Rackspace 클라우드 파일에 필요함)", - "Tenantname (required for OpenStack Object Storage)" : "Tenantname(OpenStack 객체 저장소에 필요함)", - "Password (required for OpenStack Object Storage)" : "암호(OpenStack 객체 저장소에 필요함)", - "Service Name (required for OpenStack Object Storage)" : "서비스 이름(OpenStack 객체 저장소에 필요함)", - "URL of identity endpoint (required for OpenStack Object Storage)" : "Identity 엔드포인트 URL(OpenStack 객체 저장소에 필요함)", - "Timeout of HTTP requests in seconds" : "초 단위 HTTP 요청 시간 제한", - "SMB / CIFS using OC login" : "OC 로그인을 사용하는 SMB/CIFS", - "Host" : "호스트", - "Username as share" : "사용자 이름으로 공유", - "Share" : "공유", - "Remote subfolder" : "원격 하위 폴더", - "SFTP with secret key login" : "비밀 키 로그인을 사용하는 SFTP", - "Public key" : "공개 키", "Storage with id \"%i\" not found" : "ID가 \"%i\"인 저장소를 찾을 수 없음", + "Invalid backend or authentication mechanism class" : "백엔드나 인증 방식 클래스가 잘못됨", "Invalid mount point" : "잘못된 마운트 지점", + "Objectstore forbidden" : "Objectstore에 접근 금지됨", "Invalid storage backend \"%s\"" : "잘못된 저장소 백엔드 \"%s\"", + "Unsatisfied backend parameters" : "백엔드 인자가 부족함", + "Unsatisfied authentication mechanism parameters" : "인증 방식 인자가 부족함", "Personal" : "개인", "System" : "시스템", "Grant access" : "접근 권한 부여", "Access granted" : "접근 허가됨", + "Error configuring OAuth1" : "OAuth1 설정 오류", + "Error configuring OAuth2" : "OAuth2 설정 오류", + "Generate keys" : "키 생성", + "Error generating key pair" : "키 쌍을 생성하는 중 오류 발생", "Enable encryption" : "암호화 사용", "Enable previews" : "미리 보기 사용", "Check for changes" : "변경 사항 감시", @@ -37,15 +31,24 @@ OC.L10N.register( "All users. Type to select user or group." : "모든 사용자입니다. 사용자나 그룹을 선택하려면 입력하십시오", "(group)" : "(그룹)", "Saved" : "저장됨", - "Generate keys" : "키 생성", - "Error generating key pair" : "키 쌍을 생성하는 중 오류 발생", + "Access key" : "접근 키", + "Secret key" : "비밀 키", + "Builtin" : "내장", "None" : "없음", + "OAuth1" : "OAuth1", "App key" : "앱 키", "App secret" : "앱 비밀 값", + "OAuth2" : "OAuth2", "Client ID" : "클라이언트 ID", "Client secret" : "클라이언트 비밀 값", + "Username" : "사용자 이름", "Password" : "암호", + "API key" : "API 키", + "Username and password" : "사용자 이름과 암호", + "Session credentials" : "세션 접근 정보", + "Public key" : "공개 키", "Amazon S3" : "Amazon S3", + "Bucket" : "버킷", "Hostname" : "호스트 이름", "Port" : "포트", "Region" : "지역", @@ -53,12 +56,22 @@ OC.L10N.register( "Enable Path Style" : "경로 스타일 사용", "WebDAV" : "WebDAV", "URL" : "URL", + "Remote subfolder" : "원격 하위 폴더", "Secure https://" : "보안 https://", "Dropbox" : "Dropbox", + "FTP" : "FTP", + "Host" : "호스트", "Secure ftps://" : "보안 ftps://", + "Google Drive" : "Google 드라이브", "Local" : "로컬", "Location" : "위치", "ownCloud" : "ownCloud", + "SFTP" : "SFTP", + "Root" : "루트", + "SMB / CIFS" : "SMB/CIFS", + "Share" : "공유", + "Username as share" : "사용자 이름으로 공유", + "OpenStack Object Storage" : "OpenStack 객체 저장소", "<b>Note:</b> " : "<b>메모:</b>", "<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>메모:</b> PHP cURL 모듈이 비활성화되어 있거나 설치되어 있지 않습니다. %s을(를) 마운트할 수 없습니다. 시스템 관리자에게 설치를 요청하십시오.", "<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>메모:</b> PHP FTP 모듈이 비활성화되어 있거나 설치되어 있지 않습니다. %s을(를) 마운트할 수 없습니다. 시스템 관리자에게 설치를 요청하십시오.", @@ -70,6 +83,7 @@ OC.L10N.register( "Scope" : "범위", "External Storage" : "외부 저장소", "Folder name" : "폴더 이름", + "Authentication" : "인증", "Configuration" : "설정", "Available for" : "다음으로 사용 가능", "Advanced settings" : "고급 설정", diff --git a/apps/files_external/l10n/ko.json b/apps/files_external/l10n/ko.json index eeac61cf666..86cecf01329 100644 --- a/apps/files_external/l10n/ko.json +++ b/apps/files_external/l10n/ko.json @@ -1,31 +1,25 @@ { "translations": { + "Fetching request tokens failed. Verify that your app key and secret are correct." : "요청 토큰을 가져올 수 없습니다. 앱 키와 비밀 값이 올바른지 확인하십시오.", + "Fetching access tokens failed. Verify that your app key and secret are correct." : "접근 토큰을 가져올 수 없습니다. 앱 키와 비밀 값이 올바른지 확인하십시오.", + "Please provide a valid app key and secret." : "올바른 앱 키와 비밀 값을 입력하십시오.", "Step 1 failed. Exception: %s" : "1단계 실패. 예외: %s", "Step 2 failed. Exception: %s" : "2단계 실패. 예외: %s", "External storage" : "외부 저장소", - "OpenStack Object Storage" : "OpenStack 객체 저장소", - "Username" : "사용자 이름", - "Bucket" : "버킷", - "Region (optional for OpenStack Object Storage)" : "지역(OpenStack 객체 저장소는 선택 사항)", - "API Key (required for Rackspace Cloud Files)" : "API 키(Rackspace 클라우드 파일에 필요함)", - "Tenantname (required for OpenStack Object Storage)" : "Tenantname(OpenStack 객체 저장소에 필요함)", - "Password (required for OpenStack Object Storage)" : "암호(OpenStack 객체 저장소에 필요함)", - "Service Name (required for OpenStack Object Storage)" : "서비스 이름(OpenStack 객체 저장소에 필요함)", - "URL of identity endpoint (required for OpenStack Object Storage)" : "Identity 엔드포인트 URL(OpenStack 객체 저장소에 필요함)", - "Timeout of HTTP requests in seconds" : "초 단위 HTTP 요청 시간 제한", - "SMB / CIFS using OC login" : "OC 로그인을 사용하는 SMB/CIFS", - "Host" : "호스트", - "Username as share" : "사용자 이름으로 공유", - "Share" : "공유", - "Remote subfolder" : "원격 하위 폴더", - "SFTP with secret key login" : "비밀 키 로그인을 사용하는 SFTP", - "Public key" : "공개 키", "Storage with id \"%i\" not found" : "ID가 \"%i\"인 저장소를 찾을 수 없음", + "Invalid backend or authentication mechanism class" : "백엔드나 인증 방식 클래스가 잘못됨", "Invalid mount point" : "잘못된 마운트 지점", + "Objectstore forbidden" : "Objectstore에 접근 금지됨", "Invalid storage backend \"%s\"" : "잘못된 저장소 백엔드 \"%s\"", + "Unsatisfied backend parameters" : "백엔드 인자가 부족함", + "Unsatisfied authentication mechanism parameters" : "인증 방식 인자가 부족함", "Personal" : "개인", "System" : "시스템", "Grant access" : "접근 권한 부여", "Access granted" : "접근 허가됨", + "Error configuring OAuth1" : "OAuth1 설정 오류", + "Error configuring OAuth2" : "OAuth2 설정 오류", + "Generate keys" : "키 생성", + "Error generating key pair" : "키 쌍을 생성하는 중 오류 발생", "Enable encryption" : "암호화 사용", "Enable previews" : "미리 보기 사용", "Check for changes" : "변경 사항 감시", @@ -35,15 +29,24 @@ "All users. Type to select user or group." : "모든 사용자입니다. 사용자나 그룹을 선택하려면 입력하십시오", "(group)" : "(그룹)", "Saved" : "저장됨", - "Generate keys" : "키 생성", - "Error generating key pair" : "키 쌍을 생성하는 중 오류 발생", + "Access key" : "접근 키", + "Secret key" : "비밀 키", + "Builtin" : "내장", "None" : "없음", + "OAuth1" : "OAuth1", "App key" : "앱 키", "App secret" : "앱 비밀 값", + "OAuth2" : "OAuth2", "Client ID" : "클라이언트 ID", "Client secret" : "클라이언트 비밀 값", + "Username" : "사용자 이름", "Password" : "암호", + "API key" : "API 키", + "Username and password" : "사용자 이름과 암호", + "Session credentials" : "세션 접근 정보", + "Public key" : "공개 키", "Amazon S3" : "Amazon S3", + "Bucket" : "버킷", "Hostname" : "호스트 이름", "Port" : "포트", "Region" : "지역", @@ -51,12 +54,22 @@ "Enable Path Style" : "경로 스타일 사용", "WebDAV" : "WebDAV", "URL" : "URL", + "Remote subfolder" : "원격 하위 폴더", "Secure https://" : "보안 https://", "Dropbox" : "Dropbox", + "FTP" : "FTP", + "Host" : "호스트", "Secure ftps://" : "보안 ftps://", + "Google Drive" : "Google 드라이브", "Local" : "로컬", "Location" : "위치", "ownCloud" : "ownCloud", + "SFTP" : "SFTP", + "Root" : "루트", + "SMB / CIFS" : "SMB/CIFS", + "Share" : "공유", + "Username as share" : "사용자 이름으로 공유", + "OpenStack Object Storage" : "OpenStack 객체 저장소", "<b>Note:</b> " : "<b>메모:</b>", "<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>메모:</b> PHP cURL 모듈이 비활성화되어 있거나 설치되어 있지 않습니다. %s을(를) 마운트할 수 없습니다. 시스템 관리자에게 설치를 요청하십시오.", "<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>메모:</b> PHP FTP 모듈이 비활성화되어 있거나 설치되어 있지 않습니다. %s을(를) 마운트할 수 없습니다. 시스템 관리자에게 설치를 요청하십시오.", @@ -68,6 +81,7 @@ "Scope" : "범위", "External Storage" : "외부 저장소", "Folder name" : "폴더 이름", + "Authentication" : "인증", "Configuration" : "설정", "Available for" : "다음으로 사용 가능", "Advanced settings" : "고급 설정", diff --git a/apps/files_external/l10n/ku_IQ.js b/apps/files_external/l10n/ku_IQ.js index 48302034a91..72c1e8313be 100644 --- a/apps/files_external/l10n/ku_IQ.js +++ b/apps/files_external/l10n/ku_IQ.js @@ -1,12 +1,12 @@ OC.L10N.register( "files_external", { - "Username" : "ناوی بهکارهێنهر", - "Share" : "هاوبەشی کردن", "None" : "هیچ", + "Username" : "ناوی بهکارهێنهر", "Password" : "وشەی تێپەربو", "URL" : "ناونیشانی بهستهر", "Location" : "شوێن", + "Share" : "هاوبەشی کردن", "Name" : "ناو", "Folder name" : "ناوی بوخچه" }, diff --git a/apps/files_external/l10n/ku_IQ.json b/apps/files_external/l10n/ku_IQ.json index 329a9a3978d..9ef5a71e818 100644 --- a/apps/files_external/l10n/ku_IQ.json +++ b/apps/files_external/l10n/ku_IQ.json @@ -1,10 +1,10 @@ { "translations": { - "Username" : "ناوی بهکارهێنهر", - "Share" : "هاوبەشی کردن", "None" : "هیچ", + "Username" : "ناوی بهکارهێنهر", "Password" : "وشەی تێپەربو", "URL" : "ناونیشانی بهستهر", "Location" : "شوێن", + "Share" : "هاوبەشی کردن", "Name" : "ناو", "Folder name" : "ناوی بوخچه" },"pluralForm" :"nplurals=2; plural=(n != 1);" diff --git a/apps/files_external/l10n/lb.js b/apps/files_external/l10n/lb.js index b3517fe6824..7e03d3b1b99 100644 --- a/apps/files_external/l10n/lb.js +++ b/apps/files_external/l10n/lb.js @@ -1,17 +1,17 @@ OC.L10N.register( "files_external", { - "Username" : "Benotzernumm", - "Host" : "Host", - "Share" : "Deelen", "Personal" : "Perséinlech", "Saved" : "Gespäichert", + "Username" : "Benotzernumm", "Password" : "Passwuert", "Port" : "Port", "Region" : "Regioun", "URL" : "URL", + "Host" : "Host", "Location" : "Uert", "ownCloud" : "ownCloud", + "Share" : "Deelen", "Name" : "Numm", "Folder name" : "Dossiers Numm:", "Delete" : "Läschen" diff --git a/apps/files_external/l10n/lb.json b/apps/files_external/l10n/lb.json index 659e57832a6..5c6797533b5 100644 --- a/apps/files_external/l10n/lb.json +++ b/apps/files_external/l10n/lb.json @@ -1,15 +1,15 @@ { "translations": { - "Username" : "Benotzernumm", - "Host" : "Host", - "Share" : "Deelen", "Personal" : "Perséinlech", "Saved" : "Gespäichert", + "Username" : "Benotzernumm", "Password" : "Passwuert", "Port" : "Port", "Region" : "Regioun", "URL" : "URL", + "Host" : "Host", "Location" : "Uert", "ownCloud" : "ownCloud", + "Share" : "Deelen", "Name" : "Numm", "Folder name" : "Dossiers Numm:", "Delete" : "Läschen" diff --git a/apps/files_external/l10n/lt_LT.js b/apps/files_external/l10n/lt_LT.js index bf59d5c44c1..9232ec997d2 100644 --- a/apps/files_external/l10n/lt_LT.js +++ b/apps/files_external/l10n/lt_LT.js @@ -2,20 +2,21 @@ OC.L10N.register( "files_external", { "External storage" : "Išorinė saugykla", - "Username" : "Prisijungimo vardas", - "Host" : "Mazgas", - "Share" : "Dalintis", "Personal" : "Asmeniniai", "Grant access" : "Suteikti priėjimą", "Access granted" : "Priėjimas suteiktas", "None" : "Nieko", + "Username" : "Prisijungimo vardas", "Password" : "Slaptažodis", + "API key" : "API raktas", "Port" : "Prievadas", "Region" : "Regionas", "WebDAV" : "WebDAV", "URL" : "URL", + "Host" : "Mazgas", "Location" : "Vieta", "ownCloud" : "ownCloud", + "Share" : "Dalintis", "Name" : "Pavadinimas", "External Storage" : "Išorinės saugyklos", "Folder name" : "Katalogo pavadinimas", diff --git a/apps/files_external/l10n/lt_LT.json b/apps/files_external/l10n/lt_LT.json index 643aac71a9a..d196c8e00bd 100644 --- a/apps/files_external/l10n/lt_LT.json +++ b/apps/files_external/l10n/lt_LT.json @@ -1,19 +1,20 @@ { "translations": { "External storage" : "Išorinė saugykla", - "Username" : "Prisijungimo vardas", - "Host" : "Mazgas", - "Share" : "Dalintis", "Personal" : "Asmeniniai", "Grant access" : "Suteikti priėjimą", "Access granted" : "Priėjimas suteiktas", "None" : "Nieko", + "Username" : "Prisijungimo vardas", "Password" : "Slaptažodis", + "API key" : "API raktas", "Port" : "Prievadas", "Region" : "Regionas", "WebDAV" : "WebDAV", "URL" : "URL", + "Host" : "Mazgas", "Location" : "Vieta", "ownCloud" : "ownCloud", + "Share" : "Dalintis", "Name" : "Pavadinimas", "External Storage" : "Išorinės saugyklos", "Folder name" : "Katalogo pavadinimas", diff --git a/apps/files_external/l10n/lv.js b/apps/files_external/l10n/lv.js index ea3264a7f5f..2f694de2249 100644 --- a/apps/files_external/l10n/lv.js +++ b/apps/files_external/l10n/lv.js @@ -2,20 +2,20 @@ OC.L10N.register( "files_external", { "External storage" : "Ārējā krātuve", - "Username" : "Lietotājvārds", - "Host" : "Resursdators", - "Share" : "Dalīties", "Personal" : "Personīgi", "Grant access" : "Piešķirt pieeju", "Access granted" : "Piešķirta pieeja", "Saved" : "Saglabāts", "None" : "Nav", + "Username" : "Lietotājvārds", "Password" : "Parole", "Port" : "Ports", "WebDAV" : "WebDAV", "URL" : "URL", + "Host" : "Resursdators", "Location" : "Vieta", "ownCloud" : "ownCloud", + "Share" : "Dalīties", "Name" : "Nosaukums", "External Storage" : "Ārējā krātuve", "Folder name" : "Mapes nosaukums", diff --git a/apps/files_external/l10n/lv.json b/apps/files_external/l10n/lv.json index 03642d43f41..5b281307ec3 100644 --- a/apps/files_external/l10n/lv.json +++ b/apps/files_external/l10n/lv.json @@ -1,19 +1,19 @@ { "translations": { "External storage" : "Ārējā krātuve", - "Username" : "Lietotājvārds", - "Host" : "Resursdators", - "Share" : "Dalīties", "Personal" : "Personīgi", "Grant access" : "Piešķirt pieeju", "Access granted" : "Piešķirta pieeja", "Saved" : "Saglabāts", "None" : "Nav", + "Username" : "Lietotājvārds", "Password" : "Parole", "Port" : "Ports", "WebDAV" : "WebDAV", "URL" : "URL", + "Host" : "Resursdators", "Location" : "Vieta", "ownCloud" : "ownCloud", + "Share" : "Dalīties", "Name" : "Nosaukums", "External Storage" : "Ārējā krātuve", "Folder name" : "Mapes nosaukums", diff --git a/apps/files_external/l10n/mk.js b/apps/files_external/l10n/mk.js index fd5f8bfe5e5..3a62a2b580b 100644 --- a/apps/files_external/l10n/mk.js +++ b/apps/files_external/l10n/mk.js @@ -1,22 +1,23 @@ OC.L10N.register( "files_external", { - "Username" : "Корисничко име", - "Host" : "Домаќин", - "Share" : "Сподели", "Personal" : "Лично", "Grant access" : "Дозволи пристап", "Access granted" : "Пристапот е дозволен", "Saved" : "Снимено", "None" : "Ништо", + "Username" : "Корисничко име", "Password" : "Лозинка", + "API key" : "API key", "Port" : "Порта", "Region" : "Регион", "WebDAV" : "WebDAV", "URL" : "Адреса", + "Host" : "Домаќин", "Local" : "Локален", "Location" : "Локација", "ownCloud" : "ownCloud", + "Share" : "Сподели", "Name" : "Име", "External Storage" : "Надворешно складиште", "Folder name" : "Име на папка", diff --git a/apps/files_external/l10n/mk.json b/apps/files_external/l10n/mk.json index 4fb80152ba1..9fb0994a604 100644 --- a/apps/files_external/l10n/mk.json +++ b/apps/files_external/l10n/mk.json @@ -1,20 +1,21 @@ { "translations": { - "Username" : "Корисничко име", - "Host" : "Домаќин", - "Share" : "Сподели", "Personal" : "Лично", "Grant access" : "Дозволи пристап", "Access granted" : "Пристапот е дозволен", "Saved" : "Снимено", "None" : "Ништо", + "Username" : "Корисничко име", "Password" : "Лозинка", + "API key" : "API key", "Port" : "Порта", "Region" : "Регион", "WebDAV" : "WebDAV", "URL" : "Адреса", + "Host" : "Домаќин", "Local" : "Локален", "Location" : "Локација", "ownCloud" : "ownCloud", + "Share" : "Сподели", "Name" : "Име", "External Storage" : "Надворешно складиште", "Folder name" : "Име на папка", diff --git a/apps/files_external/l10n/mn.js b/apps/files_external/l10n/mn.js index 5753d2d4e64..a83f8310862 100644 --- a/apps/files_external/l10n/mn.js +++ b/apps/files_external/l10n/mn.js @@ -2,7 +2,7 @@ OC.L10N.register( "files_external", { "Username" : "Хэрэглэгчийн нэр", - "Share" : "Түгээх", - "Password" : "Нууц үг" + "Password" : "Нууц үг", + "Share" : "Түгээх" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/files_external/l10n/mn.json b/apps/files_external/l10n/mn.json index 255007b3c09..e28fa6e52ad 100644 --- a/apps/files_external/l10n/mn.json +++ b/apps/files_external/l10n/mn.json @@ -1,6 +1,6 @@ { "translations": { "Username" : "Хэрэглэгчийн нэр", - "Share" : "Түгээх", - "Password" : "Нууц үг" + "Password" : "Нууц үг", + "Share" : "Түгээх" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/files_external/l10n/ms_MY.js b/apps/files_external/l10n/ms_MY.js index 2e4ba1dc5fb..1b28ef4226a 100644 --- a/apps/files_external/l10n/ms_MY.js +++ b/apps/files_external/l10n/ms_MY.js @@ -1,14 +1,14 @@ OC.L10N.register( "files_external", { - "Username" : "Nama pengguna", - "Share" : "Kongsi", "Personal" : "Peribadi", + "Username" : "Nama pengguna", "Password" : "Kata laluan", "Region" : "Wilayah", "URL" : "URL", "Location" : "Lokasi", "ownCloud" : "ownCloud", + "Share" : "Kongsi", "Name" : "Nama", "Delete" : "Padam" }, diff --git a/apps/files_external/l10n/ms_MY.json b/apps/files_external/l10n/ms_MY.json index 403a877faf7..79293106272 100644 --- a/apps/files_external/l10n/ms_MY.json +++ b/apps/files_external/l10n/ms_MY.json @@ -1,12 +1,12 @@ { "translations": { - "Username" : "Nama pengguna", - "Share" : "Kongsi", "Personal" : "Peribadi", + "Username" : "Nama pengguna", "Password" : "Kata laluan", "Region" : "Wilayah", "URL" : "URL", "Location" : "Lokasi", "ownCloud" : "ownCloud", + "Share" : "Kongsi", "Name" : "Nama", "Delete" : "Padam" },"pluralForm" :"nplurals=1; plural=0;" diff --git a/apps/files_external/l10n/nb_NO.js b/apps/files_external/l10n/nb_NO.js index 8f995c07758..1401bbe7012 100644 --- a/apps/files_external/l10n/nb_NO.js +++ b/apps/files_external/l10n/nb_NO.js @@ -1,33 +1,27 @@ OC.L10N.register( "files_external", { + "Fetching request tokens failed. Verify that your app key and secret are correct." : "Henting av henvendelsessymboler feilet. Sjekk at app-nøkkelen og hemmeligheten din stemmer.", + "Fetching access tokens failed. Verify that your app key and secret are correct." : "Henting av adgangssymboler feilet. Sjekk at app-nøkkelen og hemmeligheten din stemmer.", + "Please provide a valid app key and secret." : "Vær vennlig å oppgi gyldig appnøkkel og hemmelighet.", "Step 1 failed. Exception: %s" : "Steg 1 feilet. Unntak: %s", "Step 2 failed. Exception: %s" : "Steg 2 feilet. Unntak: %s", "External storage" : "Ekstern lagringsplass", - "OpenStack Object Storage" : "OpenStack Object Storage", - "Username" : "Brukernavn", - "Bucket" : "Bucket", - "Region (optional for OpenStack Object Storage)" : "Region (ikke påkrevet for OpenStack Object Storage)", - "API Key (required for Rackspace Cloud Files)" : "API Key (påkrevet for Rackspace Cloud Files)", - "Tenantname (required for OpenStack Object Storage)" : "Tenantname (påkrevet for OpenStack Object Storage)", - "Password (required for OpenStack Object Storage)" : "Passord (påkrevet for OpenStack Object Storage)", - "Service Name (required for OpenStack Object Storage)" : "Tjenestenavn (påkrevet for OpenStack Object Storage)", - "URL of identity endpoint (required for OpenStack Object Storage)" : "URL for identity endpoint (påkrevet for OpenStack Object Storage)", - "Timeout of HTTP requests in seconds" : "Tidsavbrudd for HTTP-forespørsler i sekunder", - "SMB / CIFS using OC login" : "SMB / CIFS med OC-pålogging", - "Host" : "Tjener", - "Username as share" : "Brukernavn som share", - "Share" : "Delt ressurs", - "Remote subfolder" : "Ekstern undermappe", - "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 backend or authentication mechanism class" : "Ugyldig server eller type autentiseringsmekanisme", "Invalid mount point" : "Ugyldig oppkoblingspunkt", + "Objectstore forbidden" : "Objektlager forbudt", "Invalid storage backend \"%s\"" : "Ugyldig lagringsserver \"%s\"", + "Unsatisfied backend parameters" : "Noen server-parameter mangler", + "Unsatisfied authentication mechanism parameters" : "Noen parametre for autentiseringsmekanisme mangler", "Personal" : "Personlig", "System" : "System", "Grant access" : "Gi tilgang", "Access granted" : "Tilgang innvilget", + "Error configuring OAuth1" : "Feil ved konfigurering av OAuth1", + "Error configuring OAuth2" : "Feil ved konfigurering av OAuth2", + "Generate keys" : "Generer nøkler", + "Error generating key pair" : "Feil ved nøkkelgenerering", "Enable encryption" : "Aktiver kryptering", "Enable previews" : "Tillat fohåndsvisning", "Check for changes" : "Se etter endringer", @@ -37,15 +31,24 @@ OC.L10N.register( "All users. Type to select user or group." : "Alle brukere. Tast for å velge bruker eller gruppe.", "(group)" : "(gruppe)", "Saved" : "Lagret", - "Generate keys" : "Generer nøkler", - "Error generating key pair" : "Feil ved nøkkelgenerering", + "Access key" : "Tilgangsnøkkel", + "Secret key" : "Hemmelig nøkkel", + "Builtin" : "Innebygget", "None" : "Ingen", + "OAuth1" : "OAuth1", "App key" : "App key", "App secret" : "App secret", + "OAuth2" : "OAuth2", "Client ID" : "Client ID", "Client secret" : "Client secret", + "Username" : "Brukernavn", "Password" : "Passord", + "API key" : "API-nøkkel", + "Username and password" : "Brukernavn og passord", + "Session credentials" : "Påloggingsdetaljer for økt", + "Public key" : "Offentlig nøkkel", "Amazon S3" : "Amazon S3", + "Bucket" : "Bucket", "Hostname" : "Servernavn", "Port" : "Port", "Region" : "Området", @@ -53,13 +56,22 @@ OC.L10N.register( "Enable Path Style" : "Aktiver Path Style", "WebDAV" : "WebDAV", "URL" : "URL", + "Remote subfolder" : "Ekstern undermappe", "Secure https://" : "Sikker https://", "Dropbox" : "Dropbox", + "FTP" : "FTP", + "Host" : "Tjener", "Secure ftps://" : "Sikker ftps://", + "Google Drive" : "Google Disk", "Local" : "Lokal", "Location" : "Sted", "ownCloud" : "ownCloud", + "SFTP" : "SFTP", "Root" : "Rot", + "SMB / CIFS" : "SMB / CIFS", + "Share" : "Delt ressurs", + "Username as share" : "Brukernavn som share", + "OpenStack Object Storage" : "OpenStack Object Storage", "<b>Note:</b> " : "<b>Merk:</b> ", "<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 å få dette installert.", @@ -71,6 +83,7 @@ OC.L10N.register( "Scope" : "Omfang", "External Storage" : "Ekstern lagring", "Folder name" : "Mappenavn", + "Authentication" : "Autentisering", "Configuration" : "Konfigurasjon", "Available for" : "Tilgjengelig for", "Advanced settings" : "Avanserte innstillinger", diff --git a/apps/files_external/l10n/nb_NO.json b/apps/files_external/l10n/nb_NO.json index 8d60736882a..cf6c2d38f9d 100644 --- a/apps/files_external/l10n/nb_NO.json +++ b/apps/files_external/l10n/nb_NO.json @@ -1,31 +1,25 @@ { "translations": { + "Fetching request tokens failed. Verify that your app key and secret are correct." : "Henting av henvendelsessymboler feilet. Sjekk at app-nøkkelen og hemmeligheten din stemmer.", + "Fetching access tokens failed. Verify that your app key and secret are correct." : "Henting av adgangssymboler feilet. Sjekk at app-nøkkelen og hemmeligheten din stemmer.", + "Please provide a valid app key and secret." : "Vær vennlig å oppgi gyldig appnøkkel og hemmelighet.", "Step 1 failed. Exception: %s" : "Steg 1 feilet. Unntak: %s", "Step 2 failed. Exception: %s" : "Steg 2 feilet. Unntak: %s", "External storage" : "Ekstern lagringsplass", - "OpenStack Object Storage" : "OpenStack Object Storage", - "Username" : "Brukernavn", - "Bucket" : "Bucket", - "Region (optional for OpenStack Object Storage)" : "Region (ikke påkrevet for OpenStack Object Storage)", - "API Key (required for Rackspace Cloud Files)" : "API Key (påkrevet for Rackspace Cloud Files)", - "Tenantname (required for OpenStack Object Storage)" : "Tenantname (påkrevet for OpenStack Object Storage)", - "Password (required for OpenStack Object Storage)" : "Passord (påkrevet for OpenStack Object Storage)", - "Service Name (required for OpenStack Object Storage)" : "Tjenestenavn (påkrevet for OpenStack Object Storage)", - "URL of identity endpoint (required for OpenStack Object Storage)" : "URL for identity endpoint (påkrevet for OpenStack Object Storage)", - "Timeout of HTTP requests in seconds" : "Tidsavbrudd for HTTP-forespørsler i sekunder", - "SMB / CIFS using OC login" : "SMB / CIFS med OC-pålogging", - "Host" : "Tjener", - "Username as share" : "Brukernavn som share", - "Share" : "Delt ressurs", - "Remote subfolder" : "Ekstern undermappe", - "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 backend or authentication mechanism class" : "Ugyldig server eller type autentiseringsmekanisme", "Invalid mount point" : "Ugyldig oppkoblingspunkt", + "Objectstore forbidden" : "Objektlager forbudt", "Invalid storage backend \"%s\"" : "Ugyldig lagringsserver \"%s\"", + "Unsatisfied backend parameters" : "Noen server-parameter mangler", + "Unsatisfied authentication mechanism parameters" : "Noen parametre for autentiseringsmekanisme mangler", "Personal" : "Personlig", "System" : "System", "Grant access" : "Gi tilgang", "Access granted" : "Tilgang innvilget", + "Error configuring OAuth1" : "Feil ved konfigurering av OAuth1", + "Error configuring OAuth2" : "Feil ved konfigurering av OAuth2", + "Generate keys" : "Generer nøkler", + "Error generating key pair" : "Feil ved nøkkelgenerering", "Enable encryption" : "Aktiver kryptering", "Enable previews" : "Tillat fohåndsvisning", "Check for changes" : "Se etter endringer", @@ -35,15 +29,24 @@ "All users. Type to select user or group." : "Alle brukere. Tast for å velge bruker eller gruppe.", "(group)" : "(gruppe)", "Saved" : "Lagret", - "Generate keys" : "Generer nøkler", - "Error generating key pair" : "Feil ved nøkkelgenerering", + "Access key" : "Tilgangsnøkkel", + "Secret key" : "Hemmelig nøkkel", + "Builtin" : "Innebygget", "None" : "Ingen", + "OAuth1" : "OAuth1", "App key" : "App key", "App secret" : "App secret", + "OAuth2" : "OAuth2", "Client ID" : "Client ID", "Client secret" : "Client secret", + "Username" : "Brukernavn", "Password" : "Passord", + "API key" : "API-nøkkel", + "Username and password" : "Brukernavn og passord", + "Session credentials" : "Påloggingsdetaljer for økt", + "Public key" : "Offentlig nøkkel", "Amazon S3" : "Amazon S3", + "Bucket" : "Bucket", "Hostname" : "Servernavn", "Port" : "Port", "Region" : "Området", @@ -51,13 +54,22 @@ "Enable Path Style" : "Aktiver Path Style", "WebDAV" : "WebDAV", "URL" : "URL", + "Remote subfolder" : "Ekstern undermappe", "Secure https://" : "Sikker https://", "Dropbox" : "Dropbox", + "FTP" : "FTP", + "Host" : "Tjener", "Secure ftps://" : "Sikker ftps://", + "Google Drive" : "Google Disk", "Local" : "Lokal", "Location" : "Sted", "ownCloud" : "ownCloud", + "SFTP" : "SFTP", "Root" : "Rot", + "SMB / CIFS" : "SMB / CIFS", + "Share" : "Delt ressurs", + "Username as share" : "Brukernavn som share", + "OpenStack Object Storage" : "OpenStack Object Storage", "<b>Note:</b> " : "<b>Merk:</b> ", "<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 å få dette installert.", @@ -69,6 +81,7 @@ "Scope" : "Omfang", "External Storage" : "Ekstern lagring", "Folder name" : "Mappenavn", + "Authentication" : "Autentisering", "Configuration" : "Konfigurasjon", "Available for" : "Tilgjengelig for", "Advanced settings" : "Avanserte innstillinger", diff --git a/apps/files_external/l10n/nl.js b/apps/files_external/l10n/nl.js index d43bb0f9794..1f0c219c51e 100644 --- a/apps/files_external/l10n/nl.js +++ b/apps/files_external/l10n/nl.js @@ -7,23 +7,6 @@ OC.L10N.register( "Step 1 failed. Exception: %s" : "Stap 1 is mislukt. Uitzondering: %s", "Step 2 failed. Exception: %s" : "Stap 2 is mislukt. Uitzondering: %s", "External storage" : "Externe opslag", - "OpenStack Object Storage" : "OpenStack Object Storage", - "Username" : "Gebruikersnaam", - "Bucket" : "Bucket", - "Region (optional for OpenStack Object Storage)" : "Regio (optioneel voor OpenStack Object Storage)", - "API Key (required for Rackspace Cloud Files)" : "API Key (verplicht voor Rackspace Cloud Files)", - "Tenantname (required for OpenStack Object Storage)" : "Tenantname (Verplicht voor OpenStack Object Storage)", - "Password (required for OpenStack Object Storage)" : "Wachtwoord (verplicht voor OpenStack Object Storage)", - "Service Name (required for OpenStack Object Storage)" : "Service Name (verplicht voor OpenStack Object Storage)", - "URL of identity endpoint (required for OpenStack Object Storage)" : "URL van identity endpoint (verplicht voor OpenStack Object Storage)", - "Timeout of HTTP requests in seconds" : "Time-out van HTTP-verzoeken in seconden", - "SMB / CIFS using OC login" : "SMB / CIFS via OC inlog", - "Host" : "Host", - "Username as share" : "Gebruikersnaam als share", - "Share" : "Share", - "Remote subfolder" : "Externe submap", - "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 backend or authentication mechanism class" : "Ongeldige backend of authenticatie mechanisme klasse", "Invalid mount point" : "Ongeldig aankoppelpunt", @@ -31,13 +14,14 @@ OC.L10N.register( "Invalid storage backend \"%s\"" : "Ongeldig opslagsysteem \"%s\"", "Unsatisfied backend parameters" : "Onvoldoende backend parameters", "Unsatisfied authentication mechanism parameters" : "Onvoldoende authenticatiemechanisme parameters", - "Admin-only storage backend \"%s\"" : "Alleen voor beheerders opslagbackend '%s\"", "Personal" : "Persoonlijk", "System" : "Systeem", "Grant access" : "Sta toegang toe", "Access granted" : "Toegang toegestaan", "Error configuring OAuth1" : "Fout bij configureren OAuth1", "Error configuring OAuth2" : "Fout bij configureren OAuth2", + "Generate keys" : "Genereer sleutels", + "Error generating key pair" : "Fout bij genereren sleutelpaar", "Enable encryption" : "Versleuteling inschakelen", "Enable previews" : "Activeren voorbeelden", "Check for changes" : "Controleren op wijzigingen", @@ -47,8 +31,6 @@ OC.L10N.register( "All users. Type to select user or group." : "Alle gebruikers. Tikken om een gebruiker of groep te selecteren.", "(group)" : "(groep)", "Saved" : "Bewaard", - "Generate keys" : "Genereer sleutels", - "Error generating key pair" : "Fout bij genereren sleutelpaar", "Access key" : "Access Key", "Secret key" : "Geheime sleutel", "Builtin" : "Ingebouwd", @@ -59,10 +41,14 @@ OC.L10N.register( "OAuth2" : "OAuth2", "Client ID" : "Client ID", "Client secret" : "Client secret", - "Username and password" : "Gebruikersnaam en wachtwoord", + "Username" : "Gebruikersnaam", "Password" : "Wachtwoord", + "API key" : "API sleutel", + "Username and password" : "Gebruikersnaam en wachtwoord", "Session credentials" : "Sessie inloggegevens", + "Public key" : "Publieke sleutel", "Amazon S3" : "Amazon S3", + "Bucket" : "Bucket", "Hostname" : "Hostnaam", "Port" : "Poort", "Region" : "Regio", @@ -70,9 +56,11 @@ OC.L10N.register( "Enable Path Style" : "Activeren pad stijl", "WebDAV" : "WebDAV", "URL" : "URL", + "Remote subfolder" : "Externe submap", "Secure https://" : "Secure https://", "Dropbox" : "Dropbox", "FTP" : "FTP", + "Host" : "Host", "Secure ftps://" : "Secure ftps://", "Google Drive" : "Google Drive", "Local" : "Lokaal", @@ -81,6 +69,9 @@ OC.L10N.register( "SFTP" : "SFTP", "Root" : "Root", "SMB / CIFS" : "SMB / CIFS", + "Share" : "Share", + "Username as share" : "Gebruikersnaam als share", + "OpenStack Object Storage" : "OpenStack Object Storage", "<b>Note:</b> " : "<b>Let op:</b> ", "<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>Let op:</b> Curl ondersteuning in PHP is niet geactiveerd of geïnstalleerd. Mounten van %s is niet mogelijk. Vraag uw systeembeheerder dit te installeren.", "<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>Let op:</b> FTP ondersteuning in PHP is niet geactiveerd of geïnstalleerd. Mounten van %s is niet mogelijk. Vraag uw beheerder dit te installeren.", diff --git a/apps/files_external/l10n/nl.json b/apps/files_external/l10n/nl.json index b5c0bf78542..948845cfa82 100644 --- a/apps/files_external/l10n/nl.json +++ b/apps/files_external/l10n/nl.json @@ -5,23 +5,6 @@ "Step 1 failed. Exception: %s" : "Stap 1 is mislukt. Uitzondering: %s", "Step 2 failed. Exception: %s" : "Stap 2 is mislukt. Uitzondering: %s", "External storage" : "Externe opslag", - "OpenStack Object Storage" : "OpenStack Object Storage", - "Username" : "Gebruikersnaam", - "Bucket" : "Bucket", - "Region (optional for OpenStack Object Storage)" : "Regio (optioneel voor OpenStack Object Storage)", - "API Key (required for Rackspace Cloud Files)" : "API Key (verplicht voor Rackspace Cloud Files)", - "Tenantname (required for OpenStack Object Storage)" : "Tenantname (Verplicht voor OpenStack Object Storage)", - "Password (required for OpenStack Object Storage)" : "Wachtwoord (verplicht voor OpenStack Object Storage)", - "Service Name (required for OpenStack Object Storage)" : "Service Name (verplicht voor OpenStack Object Storage)", - "URL of identity endpoint (required for OpenStack Object Storage)" : "URL van identity endpoint (verplicht voor OpenStack Object Storage)", - "Timeout of HTTP requests in seconds" : "Time-out van HTTP-verzoeken in seconden", - "SMB / CIFS using OC login" : "SMB / CIFS via OC inlog", - "Host" : "Host", - "Username as share" : "Gebruikersnaam als share", - "Share" : "Share", - "Remote subfolder" : "Externe submap", - "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 backend or authentication mechanism class" : "Ongeldige backend of authenticatie mechanisme klasse", "Invalid mount point" : "Ongeldig aankoppelpunt", @@ -29,13 +12,14 @@ "Invalid storage backend \"%s\"" : "Ongeldig opslagsysteem \"%s\"", "Unsatisfied backend parameters" : "Onvoldoende backend parameters", "Unsatisfied authentication mechanism parameters" : "Onvoldoende authenticatiemechanisme parameters", - "Admin-only storage backend \"%s\"" : "Alleen voor beheerders opslagbackend '%s\"", "Personal" : "Persoonlijk", "System" : "Systeem", "Grant access" : "Sta toegang toe", "Access granted" : "Toegang toegestaan", "Error configuring OAuth1" : "Fout bij configureren OAuth1", "Error configuring OAuth2" : "Fout bij configureren OAuth2", + "Generate keys" : "Genereer sleutels", + "Error generating key pair" : "Fout bij genereren sleutelpaar", "Enable encryption" : "Versleuteling inschakelen", "Enable previews" : "Activeren voorbeelden", "Check for changes" : "Controleren op wijzigingen", @@ -45,8 +29,6 @@ "All users. Type to select user or group." : "Alle gebruikers. Tikken om een gebruiker of groep te selecteren.", "(group)" : "(groep)", "Saved" : "Bewaard", - "Generate keys" : "Genereer sleutels", - "Error generating key pair" : "Fout bij genereren sleutelpaar", "Access key" : "Access Key", "Secret key" : "Geheime sleutel", "Builtin" : "Ingebouwd", @@ -57,10 +39,14 @@ "OAuth2" : "OAuth2", "Client ID" : "Client ID", "Client secret" : "Client secret", - "Username and password" : "Gebruikersnaam en wachtwoord", + "Username" : "Gebruikersnaam", "Password" : "Wachtwoord", + "API key" : "API sleutel", + "Username and password" : "Gebruikersnaam en wachtwoord", "Session credentials" : "Sessie inloggegevens", + "Public key" : "Publieke sleutel", "Amazon S3" : "Amazon S3", + "Bucket" : "Bucket", "Hostname" : "Hostnaam", "Port" : "Poort", "Region" : "Regio", @@ -68,9 +54,11 @@ "Enable Path Style" : "Activeren pad stijl", "WebDAV" : "WebDAV", "URL" : "URL", + "Remote subfolder" : "Externe submap", "Secure https://" : "Secure https://", "Dropbox" : "Dropbox", "FTP" : "FTP", + "Host" : "Host", "Secure ftps://" : "Secure ftps://", "Google Drive" : "Google Drive", "Local" : "Lokaal", @@ -79,6 +67,9 @@ "SFTP" : "SFTP", "Root" : "Root", "SMB / CIFS" : "SMB / CIFS", + "Share" : "Share", + "Username as share" : "Gebruikersnaam als share", + "OpenStack Object Storage" : "OpenStack Object Storage", "<b>Note:</b> " : "<b>Let op:</b> ", "<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>Let op:</b> Curl ondersteuning in PHP is niet geactiveerd of geïnstalleerd. Mounten van %s is niet mogelijk. Vraag uw systeembeheerder dit te installeren.", "<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>Let op:</b> FTP ondersteuning in PHP is niet geactiveerd of geïnstalleerd. Mounten van %s is niet mogelijk. Vraag uw beheerder dit te installeren.", diff --git a/apps/files_external/l10n/nn_NO.js b/apps/files_external/l10n/nn_NO.js index 8c47314f660..325a8a57528 100644 --- a/apps/files_external/l10n/nn_NO.js +++ b/apps/files_external/l10n/nn_NO.js @@ -1,16 +1,16 @@ OC.L10N.register( "files_external", { - "Username" : "Brukarnamn", - "Host" : "Tenar", - "Share" : "Del", "Personal" : "Personleg", + "Username" : "Brukarnamn", "Password" : "Passord", "Region" : "Region/fylke", "WebDAV" : "WebDAV", "URL" : "Nettstad", + "Host" : "Tenar", "Location" : "Stad", "ownCloud" : "ownCloud", + "Share" : "Del", "Name" : "Namn", "Folder name" : "Mappenamn", "Configuration" : "Innstillingar", diff --git a/apps/files_external/l10n/nn_NO.json b/apps/files_external/l10n/nn_NO.json index 8ba4d2c1d6a..26e6c02d806 100644 --- a/apps/files_external/l10n/nn_NO.json +++ b/apps/files_external/l10n/nn_NO.json @@ -1,14 +1,14 @@ { "translations": { - "Username" : "Brukarnamn", - "Host" : "Tenar", - "Share" : "Del", "Personal" : "Personleg", + "Username" : "Brukarnamn", "Password" : "Passord", "Region" : "Region/fylke", "WebDAV" : "WebDAV", "URL" : "Nettstad", + "Host" : "Tenar", "Location" : "Stad", "ownCloud" : "ownCloud", + "Share" : "Del", "Name" : "Namn", "Folder name" : "Mappenamn", "Configuration" : "Innstillingar", diff --git a/apps/files_external/l10n/oc.js b/apps/files_external/l10n/oc.js index 81b0f6ace8d..d234d0c62c1 100644 --- a/apps/files_external/l10n/oc.js +++ b/apps/files_external/l10n/oc.js @@ -4,23 +4,6 @@ OC.L10N.register( "Step 1 failed. Exception: %s" : "L’etapa 1 a fracassat. Error : %s", "Step 2 failed. Exception: %s" : "L’etapa 2 a fracassat. Error : %s", "External storage" : "Emmagazinatge extèrne", - "OpenStack Object Storage" : "OpenStack Object Storage", - "Username" : "Nom d'utilizaire", - "Bucket" : "Bucket", - "Region (optional for OpenStack Object Storage)" : "Region (opcional per OpenStack Object Storage)", - "API Key (required for Rackspace Cloud Files)" : "Clau API (requesit per Rackspace Cloud Files)", - "Tenantname (required for OpenStack Object Storage)" : "Nom del locatari (requesit per l'emmagazinatge OpenStack)", - "Password (required for OpenStack Object Storage)" : "Senhal (requesit per OpenStack Object Storage)", - "Service Name (required for OpenStack Object Storage)" : "Nom del servici (requesit per l'emmagazinatge OpenStack)", - "URL of identity endpoint (required for OpenStack Object Storage)" : "URL del punt d'accès d'identitat (requesit per l'emmagazinatge OpenStack)", - "Timeout of HTTP requests in seconds" : "Relmabi d'espèra maximal de las requèstas HTTP en segondas", - "SMB / CIFS using OC login" : "SMB / CIFS en utilizant los identificants OC", - "Host" : "Òste", - "Username as share" : "Nom d'utilizaire coma nom de partiment", - "Share" : "Partejar", - "Remote subfolder" : "Sosdorsièr distant", - "SFTP with secret key login" : "SFTP amb un identificant secret", - "Public key" : "Clau publica", "Storage with id \"%i\" not found" : "Emmagazinatge amb l'id \"%i\" pas trobat", "Invalid mount point" : "Punt de montatge invalid", "Invalid storage backend \"%s\"" : "Servici d'emmagazinatge invalid : \"%s\"", @@ -28,18 +11,21 @@ OC.L10N.register( "System" : "Sistèma", "Grant access" : "Autorizar l'accès", "Access granted" : "Accès autorizat", + "Generate keys" : "Generar de claus", + "Error generating key pair" : "Error al moment de la generacion de las claus", "Enable encryption" : "Activar lo chiframent", "(group)" : "(grop)", "Saved" : "Salvat", - "Generate keys" : "Generar de claus", - "Error generating key pair" : "Error al moment de la generacion de las claus", "None" : "Pas cap", "App key" : "App key", "App secret" : "App secret", "Client ID" : "ID Client", "Client secret" : "Secret client", + "Username" : "Nom d'utilizaire", "Password" : "Senhal", + "Public key" : "Clau publica", "Amazon S3" : "Amazon S3", + "Bucket" : "Bucket", "Hostname" : "Nom de l'òste", "Port" : "Pòrt", "Region" : "Region", @@ -47,11 +33,16 @@ OC.L10N.register( "Enable Path Style" : "Accès per path", "WebDAV" : "WebDAV", "URL" : "URL", + "Remote subfolder" : "Sosdorsièr distant", "Secure https://" : "Securizacion https://", + "Host" : "Òste", "Secure ftps://" : "Securizacion ftps://", "Local" : "Local", "Location" : "Emplaçament", "ownCloud" : "ownCloud", + "Share" : "Partejar", + "Username as share" : "Nom d'utilizaire coma nom de partiment", + "OpenStack Object Storage" : "OpenStack Object Storage", "<b>Note:</b> " : "<b>Atencion :</b>", "<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>Atencion :</b> La presa en carga de cURL per PHP es pas activada o installada. Lo montatge de %s es pas possible. Contactatz vòstre administrator sistèma per l'installar.", "<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>Atencion : </b> La presa en carga del FTP per PHP es pas activada o installada. Lo montatge de %s es pas possible. Contactatz vòstre administrator sistèma per l'installar.", diff --git a/apps/files_external/l10n/oc.json b/apps/files_external/l10n/oc.json index b472b21c056..0dfa95426ca 100644 --- a/apps/files_external/l10n/oc.json +++ b/apps/files_external/l10n/oc.json @@ -2,23 +2,6 @@ "Step 1 failed. Exception: %s" : "L’etapa 1 a fracassat. Error : %s", "Step 2 failed. Exception: %s" : "L’etapa 2 a fracassat. Error : %s", "External storage" : "Emmagazinatge extèrne", - "OpenStack Object Storage" : "OpenStack Object Storage", - "Username" : "Nom d'utilizaire", - "Bucket" : "Bucket", - "Region (optional for OpenStack Object Storage)" : "Region (opcional per OpenStack Object Storage)", - "API Key (required for Rackspace Cloud Files)" : "Clau API (requesit per Rackspace Cloud Files)", - "Tenantname (required for OpenStack Object Storage)" : "Nom del locatari (requesit per l'emmagazinatge OpenStack)", - "Password (required for OpenStack Object Storage)" : "Senhal (requesit per OpenStack Object Storage)", - "Service Name (required for OpenStack Object Storage)" : "Nom del servici (requesit per l'emmagazinatge OpenStack)", - "URL of identity endpoint (required for OpenStack Object Storage)" : "URL del punt d'accès d'identitat (requesit per l'emmagazinatge OpenStack)", - "Timeout of HTTP requests in seconds" : "Relmabi d'espèra maximal de las requèstas HTTP en segondas", - "SMB / CIFS using OC login" : "SMB / CIFS en utilizant los identificants OC", - "Host" : "Òste", - "Username as share" : "Nom d'utilizaire coma nom de partiment", - "Share" : "Partejar", - "Remote subfolder" : "Sosdorsièr distant", - "SFTP with secret key login" : "SFTP amb un identificant secret", - "Public key" : "Clau publica", "Storage with id \"%i\" not found" : "Emmagazinatge amb l'id \"%i\" pas trobat", "Invalid mount point" : "Punt de montatge invalid", "Invalid storage backend \"%s\"" : "Servici d'emmagazinatge invalid : \"%s\"", @@ -26,18 +9,21 @@ "System" : "Sistèma", "Grant access" : "Autorizar l'accès", "Access granted" : "Accès autorizat", + "Generate keys" : "Generar de claus", + "Error generating key pair" : "Error al moment de la generacion de las claus", "Enable encryption" : "Activar lo chiframent", "(group)" : "(grop)", "Saved" : "Salvat", - "Generate keys" : "Generar de claus", - "Error generating key pair" : "Error al moment de la generacion de las claus", "None" : "Pas cap", "App key" : "App key", "App secret" : "App secret", "Client ID" : "ID Client", "Client secret" : "Secret client", + "Username" : "Nom d'utilizaire", "Password" : "Senhal", + "Public key" : "Clau publica", "Amazon S3" : "Amazon S3", + "Bucket" : "Bucket", "Hostname" : "Nom de l'òste", "Port" : "Pòrt", "Region" : "Region", @@ -45,11 +31,16 @@ "Enable Path Style" : "Accès per path", "WebDAV" : "WebDAV", "URL" : "URL", + "Remote subfolder" : "Sosdorsièr distant", "Secure https://" : "Securizacion https://", + "Host" : "Òste", "Secure ftps://" : "Securizacion ftps://", "Local" : "Local", "Location" : "Emplaçament", "ownCloud" : "ownCloud", + "Share" : "Partejar", + "Username as share" : "Nom d'utilizaire coma nom de partiment", + "OpenStack Object Storage" : "OpenStack Object Storage", "<b>Note:</b> " : "<b>Atencion :</b>", "<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>Atencion :</b> La presa en carga de cURL per PHP es pas activada o installada. Lo montatge de %s es pas possible. Contactatz vòstre administrator sistèma per l'installar.", "<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>Atencion : </b> La presa en carga del FTP per PHP es pas activada o installada. Lo montatge de %s es pas possible. Contactatz vòstre administrator sistèma per l'installar.", diff --git a/apps/files_external/l10n/pa.js b/apps/files_external/l10n/pa.js index ce71d10964d..ff376198ae4 100644 --- a/apps/files_external/l10n/pa.js +++ b/apps/files_external/l10n/pa.js @@ -2,9 +2,9 @@ OC.L10N.register( "files_external", { "Username" : "ਯੂਜ਼ਰ-ਨਾਂ", - "Share" : "ਸਾਂਝਾ ਕਰੋ", "Password" : "ਪਾਸਵਰ", "ownCloud" : "ਓਵਨਕਲਾਉਡ", + "Share" : "ਸਾਂਝਾ ਕਰੋ", "Delete" : "ਹਟਾਓ" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/files_external/l10n/pa.json b/apps/files_external/l10n/pa.json index 54949c9bbc4..a2ba80af130 100644 --- a/apps/files_external/l10n/pa.json +++ b/apps/files_external/l10n/pa.json @@ -1,8 +1,8 @@ { "translations": { "Username" : "ਯੂਜ਼ਰ-ਨਾਂ", - "Share" : "ਸਾਂਝਾ ਕਰੋ", "Password" : "ਪਾਸਵਰ", "ownCloud" : "ਓਵਨਕਲਾਉਡ", + "Share" : "ਸਾਂਝਾ ਕਰੋ", "Delete" : "ਹਟਾਓ" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/files_external/l10n/pl.js b/apps/files_external/l10n/pl.js index 759c90965a1..9fb70e71778 100644 --- a/apps/files_external/l10n/pl.js +++ b/apps/files_external/l10n/pl.js @@ -4,23 +4,6 @@ OC.L10N.register( "Step 1 failed. Exception: %s" : "Krok 1 błędny. Błąd: %s", "Step 2 failed. Exception: %s" : "Krok 2 błędny. Błąd: %s", "External storage" : "Zewnętrzne zasoby dyskowe", - "OpenStack Object Storage" : "Magazyn obiektów OpenStack", - "Username" : "Nazwa użytkownika", - "Bucket" : "Kosz", - "Region (optional for OpenStack Object Storage)" : "Region (opcjonalny dla magazynu obiektów OpenStack)", - "API Key (required for Rackspace Cloud Files)" : "Klucz API (wymagany dla plików Rackspace Cloud)", - "Tenantname (required for OpenStack Object Storage)" : "Nazwa najemcy (wymagana dla magazynu obiektów OpenStack)", - "Password (required for OpenStack Object Storage)" : "Hasło (wymagane dla magazynu obiektów OpenStack)", - "Service Name (required for OpenStack Object Storage)" : "Nazwa usługi (wymagana dla magazynu obiektów OpenStack)", - "URL of identity endpoint (required for OpenStack Object Storage)" : "URL lub zakończenie jednostki (wymagane dla magazynu obiektów OpenStack)", - "Timeout of HTTP requests in seconds" : "Czas nieaktywności żądania HTTP w sekundach", - "SMB / CIFS using OC login" : "SMB / CIFS przy użyciu loginu OC", - "Host" : "Host", - "Username as share" : "Użytkownik jako zasób", - "Share" : "Udostępnij", - "Remote subfolder" : "Zdalny podfolder", - "SFTP with secret key login" : "Logowanie tajnym kluczem do SFTP", - "Public key" : "Klucz publiczny", "Storage with id \"%i\" not found" : "Id magazynu nie został znaleziony", "Invalid mount point" : "Nieprawidłowy punkt montowania", "Invalid storage backend \"%s\"" : "Nieprawidłowy magazyn zaplecza \"%s\"", @@ -28,6 +11,8 @@ OC.L10N.register( "System" : "System", "Grant access" : "Udziel dostępu", "Access granted" : "Dostęp do", + "Generate keys" : "Wygeneruj klucze", + "Error generating key pair" : "Błąd podczas generowania pary kluczy", "Enable encryption" : "Włącz szyfrowanie", "Enable previews" : "Włącz podgląd", "Check for changes" : "Sprawdź zmiany", @@ -37,15 +22,17 @@ OC.L10N.register( "All users. Type to select user or group." : "Wszyscy użytkownicy. Zacznij pisać, aby wybrać użytkownika lub grupę.", "(group)" : "(grupa)", "Saved" : "Zapisano", - "Generate keys" : "Wygeneruj klucze", - "Error generating key pair" : "Błąd podczas generowania pary kluczy", "None" : "Nic", "App key" : "Klucz aplikacji", "App secret" : "Hasło aplikacji", "Client ID" : "ID klienta", "Client secret" : "Hasło klienta", + "Username" : "Nazwa użytkownika", "Password" : "Hasło", + "API key" : "Klucz API", + "Public key" : "Klucz publiczny", "Amazon S3" : "Amazon S3", + "Bucket" : "Kosz", "Hostname" : "Nazwa serwera", "Port" : "Port", "Region" : "Region", @@ -53,13 +40,18 @@ OC.L10N.register( "Enable Path Style" : "Włącz styl ścieżki", "WebDAV" : "WebDAV", "URL" : "URL", + "Remote subfolder" : "Zdalny podfolder", "Secure https://" : "Bezpieczny https://", "Dropbox" : "Dropbox", + "Host" : "Host", "Secure ftps://" : "Bezpieczny ftps://", "Local" : "Lokalny", "Location" : "Lokalizacja", "ownCloud" : "ownCloud", "Root" : "Root", + "Share" : "Udostępnij", + "Username as share" : "Użytkownik jako zasób", + "OpenStack Object Storage" : "Magazyn obiektów OpenStack", "<b>Note:</b> " : "<b>Uwaga:</b> ", "<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>Uwaga:</b> Wsparcie dla cURL w PHP nie zostało włączone lub zainstalowane. Zamontowanie %s nie jest możliwe. Proszę poproś Twojego administratora o zainstalowanie go.", "<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>Uwaga:</b> Wsparcie dla FTP w PHP nie zostało włączone lub zainstalowane. Zamontowanie %s nie jest możliwe. Proszę poproś Twojego administratora o zainstalowanie go.", diff --git a/apps/files_external/l10n/pl.json b/apps/files_external/l10n/pl.json index e328c1afad8..d7cd70b8c36 100644 --- a/apps/files_external/l10n/pl.json +++ b/apps/files_external/l10n/pl.json @@ -2,23 +2,6 @@ "Step 1 failed. Exception: %s" : "Krok 1 błędny. Błąd: %s", "Step 2 failed. Exception: %s" : "Krok 2 błędny. Błąd: %s", "External storage" : "Zewnętrzne zasoby dyskowe", - "OpenStack Object Storage" : "Magazyn obiektów OpenStack", - "Username" : "Nazwa użytkownika", - "Bucket" : "Kosz", - "Region (optional for OpenStack Object Storage)" : "Region (opcjonalny dla magazynu obiektów OpenStack)", - "API Key (required for Rackspace Cloud Files)" : "Klucz API (wymagany dla plików Rackspace Cloud)", - "Tenantname (required for OpenStack Object Storage)" : "Nazwa najemcy (wymagana dla magazynu obiektów OpenStack)", - "Password (required for OpenStack Object Storage)" : "Hasło (wymagane dla magazynu obiektów OpenStack)", - "Service Name (required for OpenStack Object Storage)" : "Nazwa usługi (wymagana dla magazynu obiektów OpenStack)", - "URL of identity endpoint (required for OpenStack Object Storage)" : "URL lub zakończenie jednostki (wymagane dla magazynu obiektów OpenStack)", - "Timeout of HTTP requests in seconds" : "Czas nieaktywności żądania HTTP w sekundach", - "SMB / CIFS using OC login" : "SMB / CIFS przy użyciu loginu OC", - "Host" : "Host", - "Username as share" : "Użytkownik jako zasób", - "Share" : "Udostępnij", - "Remote subfolder" : "Zdalny podfolder", - "SFTP with secret key login" : "Logowanie tajnym kluczem do SFTP", - "Public key" : "Klucz publiczny", "Storage with id \"%i\" not found" : "Id magazynu nie został znaleziony", "Invalid mount point" : "Nieprawidłowy punkt montowania", "Invalid storage backend \"%s\"" : "Nieprawidłowy magazyn zaplecza \"%s\"", @@ -26,6 +9,8 @@ "System" : "System", "Grant access" : "Udziel dostępu", "Access granted" : "Dostęp do", + "Generate keys" : "Wygeneruj klucze", + "Error generating key pair" : "Błąd podczas generowania pary kluczy", "Enable encryption" : "Włącz szyfrowanie", "Enable previews" : "Włącz podgląd", "Check for changes" : "Sprawdź zmiany", @@ -35,15 +20,17 @@ "All users. Type to select user or group." : "Wszyscy użytkownicy. Zacznij pisać, aby wybrać użytkownika lub grupę.", "(group)" : "(grupa)", "Saved" : "Zapisano", - "Generate keys" : "Wygeneruj klucze", - "Error generating key pair" : "Błąd podczas generowania pary kluczy", "None" : "Nic", "App key" : "Klucz aplikacji", "App secret" : "Hasło aplikacji", "Client ID" : "ID klienta", "Client secret" : "Hasło klienta", + "Username" : "Nazwa użytkownika", "Password" : "Hasło", + "API key" : "Klucz API", + "Public key" : "Klucz publiczny", "Amazon S3" : "Amazon S3", + "Bucket" : "Kosz", "Hostname" : "Nazwa serwera", "Port" : "Port", "Region" : "Region", @@ -51,13 +38,18 @@ "Enable Path Style" : "Włącz styl ścieżki", "WebDAV" : "WebDAV", "URL" : "URL", + "Remote subfolder" : "Zdalny podfolder", "Secure https://" : "Bezpieczny https://", "Dropbox" : "Dropbox", + "Host" : "Host", "Secure ftps://" : "Bezpieczny ftps://", "Local" : "Lokalny", "Location" : "Lokalizacja", "ownCloud" : "ownCloud", "Root" : "Root", + "Share" : "Udostępnij", + "Username as share" : "Użytkownik jako zasób", + "OpenStack Object Storage" : "Magazyn obiektów OpenStack", "<b>Note:</b> " : "<b>Uwaga:</b> ", "<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>Uwaga:</b> Wsparcie dla cURL w PHP nie zostało włączone lub zainstalowane. Zamontowanie %s nie jest możliwe. Proszę poproś Twojego administratora o zainstalowanie go.", "<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>Uwaga:</b> Wsparcie dla FTP w PHP nie zostało włączone lub zainstalowane. Zamontowanie %s nie jest możliwe. Proszę poproś Twojego administratora o zainstalowanie go.", diff --git a/apps/files_external/l10n/pt_BR.js b/apps/files_external/l10n/pt_BR.js index ae9a08fac6b..fefe1e899f5 100644 --- a/apps/files_external/l10n/pt_BR.js +++ b/apps/files_external/l10n/pt_BR.js @@ -7,23 +7,6 @@ OC.L10N.register( "Step 1 failed. Exception: %s" : "Passo 1 falhou. Exceção: %s", "Step 2 failed. Exception: %s" : "Passo 2 falhou. Exceção: %s", "External storage" : "Armazenamento Externo", - "OpenStack Object Storage" : "Armazenamento de Objetos OpenStack", - "Username" : "Nome de Usuário", - "Bucket" : "Cesta", - "Region (optional for OpenStack Object Storage)" : "Região (opcional para armazenamento de objetos OpenStack)", - "API Key (required for Rackspace Cloud Files)" : "Chave API (necessário para Rackspace Cloud File)", - "Tenantname (required for OpenStack Object Storage)" : "Nome Tenant (necessário para armazenamento de objetos OpenStack)", - "Password (required for OpenStack Object Storage)" : "Senha (necessário para armazenamento de objetos OpenStack)", - "Service Name (required for OpenStack Object Storage)" : "Nome do Serviço (necessário para armazenamento de objetos OpenStack)", - "URL of identity endpoint (required for OpenStack Object Storage)" : "Ponto final de identidade da URL (obrigatório para armazenamento de objetos OpenStack)", - "Timeout of HTTP requests in seconds" : "Tempo de vencimento do pedido HTTP em segundos", - "SMB / CIFS using OC login" : "SMB / CIFS usando OC login", - "Host" : "Host", - "Username as share" : "Nome de usuário como compartilhado", - "Share" : "Compartilhar", - "Remote subfolder" : "Subpasta remota", - "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 backend or authentication mechanism class" : "Backend inválido ou classe de mecanismo de autenticação", "Invalid mount point" : "Ponto de montagem inválido", @@ -31,13 +14,14 @@ OC.L10N.register( "Invalid storage backend \"%s\"" : "Armazenamento backend inválido \"%s\"", "Unsatisfied backend parameters" : "Parâmetros de back-end não-atendidos", "Unsatisfied authentication mechanism parameters" : "Parâmetros de mecanismos de autenticação não satisfeitos", - "Admin-only storage backend \"%s\"" : "Backend de armazenamento somente de administrador \"%s\"", "Personal" : "Pessoal", "System" : "Sistema", "Grant access" : "Permitir acesso", "Access granted" : "Acesso concedido", "Error configuring OAuth1" : "Erro configurando OAuth1", "Error configuring OAuth2" : "Erro configurando OAuth2", + "Generate keys" : "Gerar chaves", + "Error generating key pair" : "Erro ao gerar um par de chaves", "Enable encryption" : "Ativar criptografia", "Enable previews" : "Habilitar visualizações prévias", "Check for changes" : "Verifique se há alterações", @@ -47,8 +31,6 @@ OC.L10N.register( "All users. Type to select user or group." : "Todos os usuários. Digite para selecionar usuário ou grupo.", "(group)" : "(grupo)", "Saved" : "Salvo", - "Generate keys" : "Gerar chaves", - "Error generating key pair" : "Erro ao gerar um par de chaves", "Access key" : "Chave da acesso", "Secret key" : "Chave secreta", "Builtin" : "Construídas em", @@ -59,10 +41,14 @@ OC.L10N.register( "OAuth2" : "OAuth2", "Client ID" : "ID do Cliente", "Client secret" : "Segredo do cliente", - "Username and password" : "Nome de Usuário e senha", + "Username" : "Nome de Usuário", "Password" : "Senha", + "API key" : "Chave API", + "Username and password" : "Nome de Usuário e senha", "Session credentials" : "Credenciais de Sessão", + "Public key" : "Chave pública", "Amazon S3" : "Amazon S3", + "Bucket" : "Cesta", "Hostname" : "Nome do Host", "Port" : "Porta", "Region" : "Região", @@ -70,9 +56,11 @@ OC.L10N.register( "Enable Path Style" : "Habilitar Estilo do Caminho", "WebDAV" : "WebDAV", "URL" : "URL", + "Remote subfolder" : "Subpasta remota", "Secure https://" : "https:// segura", "Dropbox" : "Dropbox", "FTP" : "FTP", + "Host" : "Host", "Secure ftps://" : "Seguro ftps://", "Google Drive" : "Google Drive", "Local" : "Local", @@ -81,6 +69,9 @@ OC.L10N.register( "SFTP" : "SFTP", "Root" : "Raiz", "SMB / CIFS" : "SMB / CIFS", + "Share" : "Compartilhar", + "Username as share" : "Nome de usuário como compartilhado", + "OpenStack Object Storage" : "Armazenamento de Objetos OpenStack", "<b>Note:</b> " : "<b>Nota:</b>", "<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>Nota:</b> O suporte cURL do PHP não está habilitado ou instalado. Montagem de %s não é possível. Por favor, solicite ao seu administrador do sistema para instalá-lo.", "<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>Nota:</b> O suporte FTP no PHP não está habilitado ou instalado. Montagem de %s não é possível. Por favor, solicite ao seu administrador do sistema para instalá-lo.", diff --git a/apps/files_external/l10n/pt_BR.json b/apps/files_external/l10n/pt_BR.json index 2cf6c696112..f133b469f76 100644 --- a/apps/files_external/l10n/pt_BR.json +++ b/apps/files_external/l10n/pt_BR.json @@ -5,23 +5,6 @@ "Step 1 failed. Exception: %s" : "Passo 1 falhou. Exceção: %s", "Step 2 failed. Exception: %s" : "Passo 2 falhou. Exceção: %s", "External storage" : "Armazenamento Externo", - "OpenStack Object Storage" : "Armazenamento de Objetos OpenStack", - "Username" : "Nome de Usuário", - "Bucket" : "Cesta", - "Region (optional for OpenStack Object Storage)" : "Região (opcional para armazenamento de objetos OpenStack)", - "API Key (required for Rackspace Cloud Files)" : "Chave API (necessário para Rackspace Cloud File)", - "Tenantname (required for OpenStack Object Storage)" : "Nome Tenant (necessário para armazenamento de objetos OpenStack)", - "Password (required for OpenStack Object Storage)" : "Senha (necessário para armazenamento de objetos OpenStack)", - "Service Name (required for OpenStack Object Storage)" : "Nome do Serviço (necessário para armazenamento de objetos OpenStack)", - "URL of identity endpoint (required for OpenStack Object Storage)" : "Ponto final de identidade da URL (obrigatório para armazenamento de objetos OpenStack)", - "Timeout of HTTP requests in seconds" : "Tempo de vencimento do pedido HTTP em segundos", - "SMB / CIFS using OC login" : "SMB / CIFS usando OC login", - "Host" : "Host", - "Username as share" : "Nome de usuário como compartilhado", - "Share" : "Compartilhar", - "Remote subfolder" : "Subpasta remota", - "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 backend or authentication mechanism class" : "Backend inválido ou classe de mecanismo de autenticação", "Invalid mount point" : "Ponto de montagem inválido", @@ -29,13 +12,14 @@ "Invalid storage backend \"%s\"" : "Armazenamento backend inválido \"%s\"", "Unsatisfied backend parameters" : "Parâmetros de back-end não-atendidos", "Unsatisfied authentication mechanism parameters" : "Parâmetros de mecanismos de autenticação não satisfeitos", - "Admin-only storage backend \"%s\"" : "Backend de armazenamento somente de administrador \"%s\"", "Personal" : "Pessoal", "System" : "Sistema", "Grant access" : "Permitir acesso", "Access granted" : "Acesso concedido", "Error configuring OAuth1" : "Erro configurando OAuth1", "Error configuring OAuth2" : "Erro configurando OAuth2", + "Generate keys" : "Gerar chaves", + "Error generating key pair" : "Erro ao gerar um par de chaves", "Enable encryption" : "Ativar criptografia", "Enable previews" : "Habilitar visualizações prévias", "Check for changes" : "Verifique se há alterações", @@ -45,8 +29,6 @@ "All users. Type to select user or group." : "Todos os usuários. Digite para selecionar usuário ou grupo.", "(group)" : "(grupo)", "Saved" : "Salvo", - "Generate keys" : "Gerar chaves", - "Error generating key pair" : "Erro ao gerar um par de chaves", "Access key" : "Chave da acesso", "Secret key" : "Chave secreta", "Builtin" : "Construídas em", @@ -57,10 +39,14 @@ "OAuth2" : "OAuth2", "Client ID" : "ID do Cliente", "Client secret" : "Segredo do cliente", - "Username and password" : "Nome de Usuário e senha", + "Username" : "Nome de Usuário", "Password" : "Senha", + "API key" : "Chave API", + "Username and password" : "Nome de Usuário e senha", "Session credentials" : "Credenciais de Sessão", + "Public key" : "Chave pública", "Amazon S3" : "Amazon S3", + "Bucket" : "Cesta", "Hostname" : "Nome do Host", "Port" : "Porta", "Region" : "Região", @@ -68,9 +54,11 @@ "Enable Path Style" : "Habilitar Estilo do Caminho", "WebDAV" : "WebDAV", "URL" : "URL", + "Remote subfolder" : "Subpasta remota", "Secure https://" : "https:// segura", "Dropbox" : "Dropbox", "FTP" : "FTP", + "Host" : "Host", "Secure ftps://" : "Seguro ftps://", "Google Drive" : "Google Drive", "Local" : "Local", @@ -79,6 +67,9 @@ "SFTP" : "SFTP", "Root" : "Raiz", "SMB / CIFS" : "SMB / CIFS", + "Share" : "Compartilhar", + "Username as share" : "Nome de usuário como compartilhado", + "OpenStack Object Storage" : "Armazenamento de Objetos OpenStack", "<b>Note:</b> " : "<b>Nota:</b>", "<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>Nota:</b> O suporte cURL do PHP não está habilitado ou instalado. Montagem de %s não é possível. Por favor, solicite ao seu administrador do sistema para instalá-lo.", "<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>Nota:</b> O suporte FTP no PHP não está habilitado ou instalado. Montagem de %s não é possível. Por favor, solicite ao seu administrador do sistema para instalá-lo.", diff --git a/apps/files_external/l10n/pt_PT.js b/apps/files_external/l10n/pt_PT.js index 44c542d596c..ba1d86a40d0 100644 --- a/apps/files_external/l10n/pt_PT.js +++ b/apps/files_external/l10n/pt_PT.js @@ -1,44 +1,51 @@ OC.L10N.register( "files_external", { + "Fetching request tokens failed. Verify that your app key and secret are correct." : "Não foi possível obter as senhas solicitadas. Verifique se o código e o segredo da sua app estão corretos.", + "Fetching access tokens failed. Verify that your app key and secret are correct." : "Não foi possível obter as senhas de acesso. Verifique se o código e o segredo da sua app estão corretos.", + "Please provide a valid app key and secret." : "Por favor, indique um código e segredo de app válidos.", "Step 1 failed. Exception: %s" : "Passo 1 falhou. Exceção: %s", "Step 2 failed. Exception: %s" : "Passo 2 falhou. Exceção: %s", "External storage" : "Armazenamento Externo", - "OpenStack Object Storage" : "Armazenamento de Objetos OpenStack", - "Username" : "Nome de utilizador", - "Bucket" : "Bucket", - "Region (optional for OpenStack Object Storage)" : "Região (opcional para OpenStack Object Storage)", - "API Key (required for Rackspace Cloud Files)" : "Chave API (necessário para Rackspace Cloud File)", - "Tenantname (required for OpenStack Object Storage)" : "Nome do Serviço (necessário para OpenStack Object Storage)", - "Password (required for OpenStack Object Storage)" : "Senha (necessária para OpenStack Object Storage)", - "Service Name (required for OpenStack Object Storage)" : "Nome do Serviço (necessário para OpenStack Object Storage)", - "URL of identity endpoint (required for OpenStack Object Storage)" : "Nome do Serviço (necessário para OpenStack Object Storage)", - "Timeout of HTTP requests in seconds" : "Timeout de pedidos HTTP em segundos", - "SMB / CIFS using OC login" : "SMB / CIFS utilizando o início de sessão OC", - "Host" : "Anfitrião", - "Username as share" : "Utilizar nome de utilizador como partilha", - "Share" : "Compartilhar", - "Remote subfolder" : "Subpasta remota ", - "Public key" : "Chave pública", - "Storage with id \"%i\" not found" : "Armazenamento com ID \"%i\" não encontrado", + "Storage with id \"%i\" not found" : "Não foi encontrado o armazenamento com a id. \"%i\"", "Invalid mount point" : "Ponto de montagem inválido", "Invalid storage backend \"%s\"" : "Backend de armazenamento inválido \"%s\"", + "Unsatisfied authentication mechanism parameters" : "Parâmetros do mecanismo de autenticação inválidos", "Personal" : "Pessoal", "System" : "Sistema", "Grant access" : "Conceder acesso", "Access granted" : "Acesso autorizado", + "Error configuring OAuth1" : "Erro de configuração OAuth1", + "Error configuring OAuth2" : "Erro de configuração OAuth2", + "Generate keys" : "Gerar chaves", + "Error generating key pair" : "Erro ao gerar chave par", + "Enable encryption" : "Ative a encriptação", + "Enable previews" : "Ative as pré-visualizações", + "Check for changes" : "Verifique as suas alterações", + "Never" : "Nunca", + "Once every direct access" : "Uma vez em cada acesso direto", + "Every time the filesystem is used" : "De todas as vezes que o sistema de ficheiros é usado", "All users. Type to select user or group." : "Todos os utilizadores. Digite para selecionar o utilizador ou grupo.", "(group)" : "(grupo)", "Saved" : "Guardado", - "Generate keys" : "Gerar chaves", - "Error generating key pair" : "Erro ao gerar chave par", + "Access key" : "Código de acesso", + "Secret key" : "Código secreto", + "Builtin" : "Integrado", "None" : "Nenhum", + "OAuth1" : "OAuth1", "App key" : "Chave da App", - "App secret" : "Chave secreta da aplicação", + "App secret" : "Segredo da app", + "OAuth2" : "OAuth2", "Client ID" : "Id. do Cliente", - "Client secret" : "Segredo do cliente", + "Client secret" : "Segredo do cliente\\\\", + "Username" : "Nome de utilizador", "Password" : "Palavra-passe", + "API key" : "Chave API", + "Username and password" : "Nome de utilizador e palavra-passe", + "Session credentials" : "Credenciais da sessão", + "Public key" : "Chave pública", "Amazon S3" : "Amazon S3", + "Bucket" : "Bucket", "Hostname" : "Nome do Anfitrião", "Port" : "Porta", "Region" : "Região", @@ -46,13 +53,22 @@ OC.L10N.register( "Enable Path Style" : "Ativar Estilo do Caminho", "WebDAV" : "WebDAV", "URL" : "URL", + "Remote subfolder" : "Subpasta remota ", "Secure https://" : "https:// Seguro", "Dropbox" : "Dropbox", + "FTP" : "FTP", + "Host" : "Anfitrião", "Secure ftps://" : "ftps:// Seguro", + "Google Drive" : "Google Drive", "Local" : "Local", "Location" : "Localização:", "ownCloud" : "ownCloud", - "Root" : "Raiz", + "SFTP" : "SFTP", + "Root" : "Root", + "SMB / CIFS" : "SMB / CIFS", + "Share" : "Compartilhar", + "Username as share" : "Nome de utilizador como partilha", + "OpenStack Object Storage" : "Armazenamento de Objetos OpenStack", "<b>Note:</b> " : "<b>Nota:</b> ", "<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>Aviso:</b> O suporte cURL no PHP não está activo ou instalado. Não é possível montar %s. Peça ao seu administrador para instalar.", "<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>Aviso:</b> O suporte FTP no PHP não está activo ou instalado. Não é possível montar %s. Peça ao seu administrador para instalar.", @@ -64,6 +80,7 @@ OC.L10N.register( "Scope" : "Âmbito", "External Storage" : "Armazenamento Externo", "Folder name" : "Nome da pasta", + "Authentication" : "Autenticação", "Configuration" : "Configuração", "Available for" : "Disponível para ", "Advanced settings" : "Definições avançadas", diff --git a/apps/files_external/l10n/pt_PT.json b/apps/files_external/l10n/pt_PT.json index cda3b0bbd07..24955db65f6 100644 --- a/apps/files_external/l10n/pt_PT.json +++ b/apps/files_external/l10n/pt_PT.json @@ -1,42 +1,49 @@ { "translations": { + "Fetching request tokens failed. Verify that your app key and secret are correct." : "Não foi possível obter as senhas solicitadas. Verifique se o código e o segredo da sua app estão corretos.", + "Fetching access tokens failed. Verify that your app key and secret are correct." : "Não foi possível obter as senhas de acesso. Verifique se o código e o segredo da sua app estão corretos.", + "Please provide a valid app key and secret." : "Por favor, indique um código e segredo de app válidos.", "Step 1 failed. Exception: %s" : "Passo 1 falhou. Exceção: %s", "Step 2 failed. Exception: %s" : "Passo 2 falhou. Exceção: %s", "External storage" : "Armazenamento Externo", - "OpenStack Object Storage" : "Armazenamento de Objetos OpenStack", - "Username" : "Nome de utilizador", - "Bucket" : "Bucket", - "Region (optional for OpenStack Object Storage)" : "Região (opcional para OpenStack Object Storage)", - "API Key (required for Rackspace Cloud Files)" : "Chave API (necessário para Rackspace Cloud File)", - "Tenantname (required for OpenStack Object Storage)" : "Nome do Serviço (necessário para OpenStack Object Storage)", - "Password (required for OpenStack Object Storage)" : "Senha (necessária para OpenStack Object Storage)", - "Service Name (required for OpenStack Object Storage)" : "Nome do Serviço (necessário para OpenStack Object Storage)", - "URL of identity endpoint (required for OpenStack Object Storage)" : "Nome do Serviço (necessário para OpenStack Object Storage)", - "Timeout of HTTP requests in seconds" : "Timeout de pedidos HTTP em segundos", - "SMB / CIFS using OC login" : "SMB / CIFS utilizando o início de sessão OC", - "Host" : "Anfitrião", - "Username as share" : "Utilizar nome de utilizador como partilha", - "Share" : "Compartilhar", - "Remote subfolder" : "Subpasta remota ", - "Public key" : "Chave pública", - "Storage with id \"%i\" not found" : "Armazenamento com ID \"%i\" não encontrado", + "Storage with id \"%i\" not found" : "Não foi encontrado o armazenamento com a id. \"%i\"", "Invalid mount point" : "Ponto de montagem inválido", "Invalid storage backend \"%s\"" : "Backend de armazenamento inválido \"%s\"", + "Unsatisfied authentication mechanism parameters" : "Parâmetros do mecanismo de autenticação inválidos", "Personal" : "Pessoal", "System" : "Sistema", "Grant access" : "Conceder acesso", "Access granted" : "Acesso autorizado", + "Error configuring OAuth1" : "Erro de configuração OAuth1", + "Error configuring OAuth2" : "Erro de configuração OAuth2", + "Generate keys" : "Gerar chaves", + "Error generating key pair" : "Erro ao gerar chave par", + "Enable encryption" : "Ative a encriptação", + "Enable previews" : "Ative as pré-visualizações", + "Check for changes" : "Verifique as suas alterações", + "Never" : "Nunca", + "Once every direct access" : "Uma vez em cada acesso direto", + "Every time the filesystem is used" : "De todas as vezes que o sistema de ficheiros é usado", "All users. Type to select user or group." : "Todos os utilizadores. Digite para selecionar o utilizador ou grupo.", "(group)" : "(grupo)", "Saved" : "Guardado", - "Generate keys" : "Gerar chaves", - "Error generating key pair" : "Erro ao gerar chave par", + "Access key" : "Código de acesso", + "Secret key" : "Código secreto", + "Builtin" : "Integrado", "None" : "Nenhum", + "OAuth1" : "OAuth1", "App key" : "Chave da App", - "App secret" : "Chave secreta da aplicação", + "App secret" : "Segredo da app", + "OAuth2" : "OAuth2", "Client ID" : "Id. do Cliente", - "Client secret" : "Segredo do cliente", + "Client secret" : "Segredo do cliente\\\\", + "Username" : "Nome de utilizador", "Password" : "Palavra-passe", + "API key" : "Chave API", + "Username and password" : "Nome de utilizador e palavra-passe", + "Session credentials" : "Credenciais da sessão", + "Public key" : "Chave pública", "Amazon S3" : "Amazon S3", + "Bucket" : "Bucket", "Hostname" : "Nome do Anfitrião", "Port" : "Porta", "Region" : "Região", @@ -44,13 +51,22 @@ "Enable Path Style" : "Ativar Estilo do Caminho", "WebDAV" : "WebDAV", "URL" : "URL", + "Remote subfolder" : "Subpasta remota ", "Secure https://" : "https:// Seguro", "Dropbox" : "Dropbox", + "FTP" : "FTP", + "Host" : "Anfitrião", "Secure ftps://" : "ftps:// Seguro", + "Google Drive" : "Google Drive", "Local" : "Local", "Location" : "Localização:", "ownCloud" : "ownCloud", - "Root" : "Raiz", + "SFTP" : "SFTP", + "Root" : "Root", + "SMB / CIFS" : "SMB / CIFS", + "Share" : "Compartilhar", + "Username as share" : "Nome de utilizador como partilha", + "OpenStack Object Storage" : "Armazenamento de Objetos OpenStack", "<b>Note:</b> " : "<b>Nota:</b> ", "<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>Aviso:</b> O suporte cURL no PHP não está activo ou instalado. Não é possível montar %s. Peça ao seu administrador para instalar.", "<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>Aviso:</b> O suporte FTP no PHP não está activo ou instalado. Não é possível montar %s. Peça ao seu administrador para instalar.", @@ -62,6 +78,7 @@ "Scope" : "Âmbito", "External Storage" : "Armazenamento Externo", "Folder name" : "Nome da pasta", + "Authentication" : "Autenticação", "Configuration" : "Configuração", "Available for" : "Disponível para ", "Advanced settings" : "Definições avançadas", diff --git a/apps/files_external/l10n/ro.js b/apps/files_external/l10n/ro.js index ae064ba3cfb..502d9a5cbef 100644 --- a/apps/files_external/l10n/ro.js +++ b/apps/files_external/l10n/ro.js @@ -2,26 +2,27 @@ OC.L10N.register( "files_external", { "External storage" : "Stocare externă", - "Username" : "Nume utilizator", - "Host" : "Gazdă", - "Share" : "Partajează", - "Public key" : "Cheie publică", "Personal" : "Personal", "Grant access" : "Permite accesul", "Access granted" : "Acces permis", "Saved" : "Salvat", "None" : "Niciuna", + "Username" : "Nume utilizator", "Password" : "Parolă", + "API key" : "Cheie API", + "Public key" : "Cheie publică", "Amazon S3" : "Amazon S3", "Hostname" : "Hostname", "Port" : "Portul", "Region" : "Regiune", "WebDAV" : "WebDAV", "URL" : "URL", + "Host" : "Gazdă", "Local" : "Local", "Location" : "Locație", "ownCloud" : "ownCloud", "Root" : "Root", + "Share" : "Partajează", "Name" : "Nume", "Storage type" : "Tip stocare", "External Storage" : "Stocare externă", diff --git a/apps/files_external/l10n/ro.json b/apps/files_external/l10n/ro.json index 56bbba7ef05..41c844e36b7 100644 --- a/apps/files_external/l10n/ro.json +++ b/apps/files_external/l10n/ro.json @@ -1,25 +1,26 @@ { "translations": { "External storage" : "Stocare externă", - "Username" : "Nume utilizator", - "Host" : "Gazdă", - "Share" : "Partajează", - "Public key" : "Cheie publică", "Personal" : "Personal", "Grant access" : "Permite accesul", "Access granted" : "Acces permis", "Saved" : "Salvat", "None" : "Niciuna", + "Username" : "Nume utilizator", "Password" : "Parolă", + "API key" : "Cheie API", + "Public key" : "Cheie publică", "Amazon S3" : "Amazon S3", "Hostname" : "Hostname", "Port" : "Portul", "Region" : "Regiune", "WebDAV" : "WebDAV", "URL" : "URL", + "Host" : "Gazdă", "Local" : "Local", "Location" : "Locație", "ownCloud" : "ownCloud", "Root" : "Root", + "Share" : "Partajează", "Name" : "Nume", "Storage type" : "Tip stocare", "External Storage" : "Stocare externă", diff --git a/apps/files_external/l10n/ru.js b/apps/files_external/l10n/ru.js index 2abdc3906ec..f76c5526bca 100644 --- a/apps/files_external/l10n/ru.js +++ b/apps/files_external/l10n/ru.js @@ -4,23 +4,6 @@ OC.L10N.register( "Step 1 failed. Exception: %s" : "Шаг 1 неудачен. Исключение: %s", "Step 2 failed. Exception: %s" : "Шаг 2 неудачен. Исключение: %s", "External storage" : "Внешнее хранилище", - "OpenStack Object Storage" : "Хранилище объектов OpenStack", - "Username" : "Имя пользователя", - "Bucket" : "Корзина", - "Region (optional for OpenStack Object Storage)" : "Регион (необяз. для Хранилища объектов OpenStack)", - "API Key (required for Rackspace Cloud Files)" : "Ключ API (обяз. для Rackspace Cloud Files)", - "Tenantname (required for OpenStack Object Storage)" : "Имя арендатора (обяз. для Хранилища объектов OpenStack)", - "Password (required for OpenStack Object Storage)" : "Пароль (обяз. для Хранилища объектов OpenStack)", - "Service Name (required for OpenStack Object Storage)" : "Имя Службы (обяз. для Хранилища объектов OpenStack)", - "URL of identity endpoint (required for OpenStack Object Storage)" : "URL для удостоверения конечной точки (обяз. для Хранилища объектов OpenStack)", - "Timeout of HTTP requests in seconds" : "Тайм-аут HTTP-запросов в секундах", - "SMB / CIFS using OC login" : "SMB / CIFS с ипользованием логина OC", - "Host" : "Сервер", - "Username as share" : "Имя пользователя в качестве имени общего ресурса", - "Share" : "Общий доступ", - "Remote subfolder" : "Удаленный подкаталог", - "SFTP with secret key login" : "SFTP с помощью секретного ключа", - "Public key" : "Открытый ключ", "Storage with id \"%i\" not found" : "Хранилище с идентификатором \"%i\" не найдено", "Invalid mount point" : "Неправильная точка входа", "Invalid storage backend \"%s\"" : "Неверный бэкенд хранилища \"%s\"", @@ -28,6 +11,8 @@ OC.L10N.register( "System" : "Система", "Grant access" : "Предоставить доступ", "Access granted" : "Доступ предоставлен", + "Generate keys" : "Создать ключи", + "Error generating key pair" : "Ошибка создания ключевой пары", "Enable encryption" : "Включить шифрование", "Enable previews" : "Включить предпросмотр", "Check for changes" : "Проверять изменения", @@ -37,15 +22,17 @@ OC.L10N.register( "All users. Type to select user or group." : "Все пользователи. Введите имя пользователя или группы.", "(group)" : "(группа)", "Saved" : "Сохранено", - "Generate keys" : "Создать ключи", - "Error generating key pair" : "Ошибка создания ключевой пары", "None" : "Отсутствует", "App key" : "Ключ приложения", "App secret" : "Секретный ключ ", "Client ID" : "Идентификатор клиента", "Client secret" : "Клиентский ключ ", + "Username" : "Имя пользователя", "Password" : "Пароль", + "API key" : "Ключ API", + "Public key" : "Открытый ключ", "Amazon S3" : "Amazon S3", + "Bucket" : "Корзина", "Hostname" : "Имя хоста", "Port" : "Порт", "Region" : "Область", @@ -53,13 +40,18 @@ OC.L10N.register( "Enable Path Style" : "Включить стиль пути", "WebDAV" : "WebDAV", "URL" : "Ссылка", + "Remote subfolder" : "Удаленный подкаталог", "Secure https://" : "Безопасный https://", "Dropbox" : "Dropbox", + "Host" : "Сервер", "Secure ftps://" : "Защищённый ftps://", "Local" : "Локально", "Location" : "Местоположение", "ownCloud" : "ownCloud", "Root" : "Корневой каталог", + "Share" : "Общий доступ", + "Username as share" : "Имя пользователя в качестве имени общего ресурса", + "OpenStack Object Storage" : "Хранилище объектов OpenStack", "<b>Note:</b> " : "<b>Примечание:</b> ", "<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Примечание:</b> Поддержка cURL в PHP не включена или не установлена. Монтирование %s невозможно. Обратитесь к вашему системному администратору.", "<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Примечание:</b> Поддержка FTP в PHP не включена или не установлена. Монтирование %s невозможно. Пожалуйста, обратитесь к системному администратору.", diff --git a/apps/files_external/l10n/ru.json b/apps/files_external/l10n/ru.json index ad6c5afdbd8..3428d05ef4b 100644 --- a/apps/files_external/l10n/ru.json +++ b/apps/files_external/l10n/ru.json @@ -2,23 +2,6 @@ "Step 1 failed. Exception: %s" : "Шаг 1 неудачен. Исключение: %s", "Step 2 failed. Exception: %s" : "Шаг 2 неудачен. Исключение: %s", "External storage" : "Внешнее хранилище", - "OpenStack Object Storage" : "Хранилище объектов OpenStack", - "Username" : "Имя пользователя", - "Bucket" : "Корзина", - "Region (optional for OpenStack Object Storage)" : "Регион (необяз. для Хранилища объектов OpenStack)", - "API Key (required for Rackspace Cloud Files)" : "Ключ API (обяз. для Rackspace Cloud Files)", - "Tenantname (required for OpenStack Object Storage)" : "Имя арендатора (обяз. для Хранилища объектов OpenStack)", - "Password (required for OpenStack Object Storage)" : "Пароль (обяз. для Хранилища объектов OpenStack)", - "Service Name (required for OpenStack Object Storage)" : "Имя Службы (обяз. для Хранилища объектов OpenStack)", - "URL of identity endpoint (required for OpenStack Object Storage)" : "URL для удостоверения конечной точки (обяз. для Хранилища объектов OpenStack)", - "Timeout of HTTP requests in seconds" : "Тайм-аут HTTP-запросов в секундах", - "SMB / CIFS using OC login" : "SMB / CIFS с ипользованием логина OC", - "Host" : "Сервер", - "Username as share" : "Имя пользователя в качестве имени общего ресурса", - "Share" : "Общий доступ", - "Remote subfolder" : "Удаленный подкаталог", - "SFTP with secret key login" : "SFTP с помощью секретного ключа", - "Public key" : "Открытый ключ", "Storage with id \"%i\" not found" : "Хранилище с идентификатором \"%i\" не найдено", "Invalid mount point" : "Неправильная точка входа", "Invalid storage backend \"%s\"" : "Неверный бэкенд хранилища \"%s\"", @@ -26,6 +9,8 @@ "System" : "Система", "Grant access" : "Предоставить доступ", "Access granted" : "Доступ предоставлен", + "Generate keys" : "Создать ключи", + "Error generating key pair" : "Ошибка создания ключевой пары", "Enable encryption" : "Включить шифрование", "Enable previews" : "Включить предпросмотр", "Check for changes" : "Проверять изменения", @@ -35,15 +20,17 @@ "All users. Type to select user or group." : "Все пользователи. Введите имя пользователя или группы.", "(group)" : "(группа)", "Saved" : "Сохранено", - "Generate keys" : "Создать ключи", - "Error generating key pair" : "Ошибка создания ключевой пары", "None" : "Отсутствует", "App key" : "Ключ приложения", "App secret" : "Секретный ключ ", "Client ID" : "Идентификатор клиента", "Client secret" : "Клиентский ключ ", + "Username" : "Имя пользователя", "Password" : "Пароль", + "API key" : "Ключ API", + "Public key" : "Открытый ключ", "Amazon S3" : "Amazon S3", + "Bucket" : "Корзина", "Hostname" : "Имя хоста", "Port" : "Порт", "Region" : "Область", @@ -51,13 +38,18 @@ "Enable Path Style" : "Включить стиль пути", "WebDAV" : "WebDAV", "URL" : "Ссылка", + "Remote subfolder" : "Удаленный подкаталог", "Secure https://" : "Безопасный https://", "Dropbox" : "Dropbox", + "Host" : "Сервер", "Secure ftps://" : "Защищённый ftps://", "Local" : "Локально", "Location" : "Местоположение", "ownCloud" : "ownCloud", "Root" : "Корневой каталог", + "Share" : "Общий доступ", + "Username as share" : "Имя пользователя в качестве имени общего ресурса", + "OpenStack Object Storage" : "Хранилище объектов OpenStack", "<b>Note:</b> " : "<b>Примечание:</b> ", "<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Примечание:</b> Поддержка cURL в PHP не включена или не установлена. Монтирование %s невозможно. Обратитесь к вашему системному администратору.", "<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Примечание:</b> Поддержка FTP в PHP не включена или не установлена. Монтирование %s невозможно. Пожалуйста, обратитесь к системному администратору.", diff --git a/apps/files_external/l10n/si_LK.js b/apps/files_external/l10n/si_LK.js index 492dfc96f47..80a6026ad75 100644 --- a/apps/files_external/l10n/si_LK.js +++ b/apps/files_external/l10n/si_LK.js @@ -1,19 +1,19 @@ OC.L10N.register( "files_external", { - "Username" : "පරිශීලක නම", - "Host" : "සත්කාරකය", - "Share" : "බෙදා හදා ගන්න", "Personal" : "පෞද්ගලික", "Grant access" : "පිවිසුම ලබාදෙන්න", "Access granted" : "පිවිසීමට හැක", "None" : "කිසිවක් නැත", + "Username" : "පරිශීලක නම", "Password" : "මුර පදය", "Port" : "තොට", "Region" : "කළාපය", "URL" : "URL", + "Host" : "සත්කාරකය", "Location" : "ස්ථානය", "ownCloud" : "ownCloud", + "Share" : "බෙදා හදා ගන්න", "Name" : "නම", "External Storage" : "භාහිර ගබඩාව", "Folder name" : "ෆොල්ඩරයේ නම", diff --git a/apps/files_external/l10n/si_LK.json b/apps/files_external/l10n/si_LK.json index 792b0f5316c..bc3a9ee11db 100644 --- a/apps/files_external/l10n/si_LK.json +++ b/apps/files_external/l10n/si_LK.json @@ -1,17 +1,17 @@ { "translations": { - "Username" : "පරිශීලක නම", - "Host" : "සත්කාරකය", - "Share" : "බෙදා හදා ගන්න", "Personal" : "පෞද්ගලික", "Grant access" : "පිවිසුම ලබාදෙන්න", "Access granted" : "පිවිසීමට හැක", "None" : "කිසිවක් නැත", + "Username" : "පරිශීලක නම", "Password" : "මුර පදය", "Port" : "තොට", "Region" : "කළාපය", "URL" : "URL", + "Host" : "සත්කාරකය", "Location" : "ස්ථානය", "ownCloud" : "ownCloud", + "Share" : "බෙදා හදා ගන්න", "Name" : "නම", "External Storage" : "භාහිර ගබඩාව", "Folder name" : "ෆොල්ඩරයේ නම", diff --git a/apps/files_external/l10n/sk_SK.js b/apps/files_external/l10n/sk_SK.js index 6f444f993f2..87ea8c64bc5 100644 --- a/apps/files_external/l10n/sk_SK.js +++ b/apps/files_external/l10n/sk_SK.js @@ -4,42 +4,30 @@ OC.L10N.register( "Step 1 failed. Exception: %s" : "Krok 1 zlyhal. Výnimka: %s", "Step 2 failed. Exception: %s" : "Krok 2 zlyhal. Výnimka: %s", "External storage" : "Externé úložisko", - "OpenStack Object Storage" : "OpenStack Object Storage", - "Username" : "Používateľské meno", - "Bucket" : "Sektor", - "Region (optional for OpenStack Object Storage)" : "Región (voliteľné pre OpenStack Object Storage)", - "API Key (required for Rackspace Cloud Files)" : "API Key (požadované pre Rackspace Cloud Files)", - "Tenantname (required for OpenStack Object Storage)" : "Meno nájomcu (požadované pre OpenStack Object Storage)", - "Password (required for OpenStack Object Storage)" : "Heslo (požadované pre OpenStack Object Storage)", - "Service Name (required for OpenStack Object Storage)" : "Meno služby (požadované pre OpenStack Object Storage)", - "URL of identity endpoint (required for OpenStack Object Storage)" : "URL of identity endpoint (požadované pre OpenStack Object Storage)", - "Timeout of HTTP requests in seconds" : "Časový limit HTTP požadaviek v sekundách", - "SMB / CIFS using OC login" : "SMB / CIFS s použitím OC prihlásenia", - "Host" : "Hostiteľ", - "Username as share" : "Používateľské meno ako zdieľaný priečinok", - "Share" : "Zdieľať", - "Remote subfolder" : "Vzdialený podpriečinok", - "Public key" : "Verejný kľúč", "Invalid mount point" : "Chybný prípojný bod", "Personal" : "Osobné", "System" : "Systém", "Grant access" : "Povoliť prístup", "Access granted" : "Prístup povolený", + "Generate keys" : "Vytvoriť kľúče", + "Error generating key pair" : "Chyba pri vytváraní dvojice kľúčov", "Enable encryption" : "Povoliť šifrovanie", "Enable previews" : "Povoliť náhľady", "Never" : "Nikdy", "All users. Type to select user or group." : "Všetci používatelia. Začnite písať pre výber používateľa alebo skupinu.", "(group)" : "(skupina)", "Saved" : "Uložené", - "Generate keys" : "Vytvoriť kľúče", - "Error generating key pair" : "Chyba pri vytváraní dvojice kľúčov", "None" : "Žiadny", "App key" : "Kľúč aplikácie", "App secret" : "Heslo aplikácie", "Client ID" : "Client ID", "Client secret" : "Heslo klienta", + "Username" : "Používateľské meno", "Password" : "Heslo", + "API key" : "API kľúč", + "Public key" : "Verejný kľúč", "Amazon S3" : "Amazon S3", + "Bucket" : "Sektor", "Hostname" : "Hostname", "Port" : "Port", "Region" : "Región", @@ -47,13 +35,18 @@ OC.L10N.register( "Enable Path Style" : "Povoliť štýl cesty", "WebDAV" : "WebDAV", "URL" : "URL", + "Remote subfolder" : "Vzdialený podpriečinok", "Secure https://" : "Zabezpečené https://", "Dropbox" : "Dropbox", + "Host" : "Hostiteľ", "Secure ftps://" : "Zabezpečené ftps://", "Local" : "Lokálny", "Location" : "Umiestnenie", "ownCloud" : "ownCloud", "Root" : "Root", + "Share" : "Zdieľať", + "Username as share" : "Používateľské meno ako zdieľaný priečinok", + "OpenStack Object Storage" : "OpenStack Object Storage", "<b>Note:</b> " : "<b>Poznámka:</b> ", "<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>Poznámka:</b> cURL podpora v PHP nie je zapnutá alebo nainštalovaná. Pripojenie %s nie je možné. Požiadajte správcu systému, aby ju nainštaloval.", "<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>Poznámka:</b> FTP podpora v PHP nie je zapnutá alebo nainštalovaná. Pripojenie %s nie je možné. Požiadajte správcu systému, aby ju nainštaloval.", diff --git a/apps/files_external/l10n/sk_SK.json b/apps/files_external/l10n/sk_SK.json index 921a9ed4aae..5e7f4d1fa94 100644 --- a/apps/files_external/l10n/sk_SK.json +++ b/apps/files_external/l10n/sk_SK.json @@ -2,42 +2,30 @@ "Step 1 failed. Exception: %s" : "Krok 1 zlyhal. Výnimka: %s", "Step 2 failed. Exception: %s" : "Krok 2 zlyhal. Výnimka: %s", "External storage" : "Externé úložisko", - "OpenStack Object Storage" : "OpenStack Object Storage", - "Username" : "Používateľské meno", - "Bucket" : "Sektor", - "Region (optional for OpenStack Object Storage)" : "Región (voliteľné pre OpenStack Object Storage)", - "API Key (required for Rackspace Cloud Files)" : "API Key (požadované pre Rackspace Cloud Files)", - "Tenantname (required for OpenStack Object Storage)" : "Meno nájomcu (požadované pre OpenStack Object Storage)", - "Password (required for OpenStack Object Storage)" : "Heslo (požadované pre OpenStack Object Storage)", - "Service Name (required for OpenStack Object Storage)" : "Meno služby (požadované pre OpenStack Object Storage)", - "URL of identity endpoint (required for OpenStack Object Storage)" : "URL of identity endpoint (požadované pre OpenStack Object Storage)", - "Timeout of HTTP requests in seconds" : "Časový limit HTTP požadaviek v sekundách", - "SMB / CIFS using OC login" : "SMB / CIFS s použitím OC prihlásenia", - "Host" : "Hostiteľ", - "Username as share" : "Používateľské meno ako zdieľaný priečinok", - "Share" : "Zdieľať", - "Remote subfolder" : "Vzdialený podpriečinok", - "Public key" : "Verejný kľúč", "Invalid mount point" : "Chybný prípojný bod", "Personal" : "Osobné", "System" : "Systém", "Grant access" : "Povoliť prístup", "Access granted" : "Prístup povolený", + "Generate keys" : "Vytvoriť kľúče", + "Error generating key pair" : "Chyba pri vytváraní dvojice kľúčov", "Enable encryption" : "Povoliť šifrovanie", "Enable previews" : "Povoliť náhľady", "Never" : "Nikdy", "All users. Type to select user or group." : "Všetci používatelia. Začnite písať pre výber používateľa alebo skupinu.", "(group)" : "(skupina)", "Saved" : "Uložené", - "Generate keys" : "Vytvoriť kľúče", - "Error generating key pair" : "Chyba pri vytváraní dvojice kľúčov", "None" : "Žiadny", "App key" : "Kľúč aplikácie", "App secret" : "Heslo aplikácie", "Client ID" : "Client ID", "Client secret" : "Heslo klienta", + "Username" : "Používateľské meno", "Password" : "Heslo", + "API key" : "API kľúč", + "Public key" : "Verejný kľúč", "Amazon S3" : "Amazon S3", + "Bucket" : "Sektor", "Hostname" : "Hostname", "Port" : "Port", "Region" : "Región", @@ -45,13 +33,18 @@ "Enable Path Style" : "Povoliť štýl cesty", "WebDAV" : "WebDAV", "URL" : "URL", + "Remote subfolder" : "Vzdialený podpriečinok", "Secure https://" : "Zabezpečené https://", "Dropbox" : "Dropbox", + "Host" : "Hostiteľ", "Secure ftps://" : "Zabezpečené ftps://", "Local" : "Lokálny", "Location" : "Umiestnenie", "ownCloud" : "ownCloud", "Root" : "Root", + "Share" : "Zdieľať", + "Username as share" : "Používateľské meno ako zdieľaný priečinok", + "OpenStack Object Storage" : "OpenStack Object Storage", "<b>Note:</b> " : "<b>Poznámka:</b> ", "<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>Poznámka:</b> cURL podpora v PHP nie je zapnutá alebo nainštalovaná. Pripojenie %s nie je možné. Požiadajte správcu systému, aby ju nainštaloval.", "<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>Poznámka:</b> FTP podpora v PHP nie je zapnutá alebo nainštalovaná. Pripojenie %s nie je možné. Požiadajte správcu systému, aby ju nainštaloval.", diff --git a/apps/files_external/l10n/sl.js b/apps/files_external/l10n/sl.js index 8aa95721a15..b4c9cc00275 100644 --- a/apps/files_external/l10n/sl.js +++ b/apps/files_external/l10n/sl.js @@ -4,23 +4,6 @@ OC.L10N.register( "Step 1 failed. Exception: %s" : "1. korak je spodletel. Izjemna napaka: %s", "Step 2 failed. Exception: %s" : "2. korak je spodletel. Izjemna napaka: %s", "External storage" : "Zunanja shramba", - "OpenStack Object Storage" : "Shramba predmeta OpenStack", - "Username" : "Uporabniško ime", - "Bucket" : "Pomnilniško vedro", - "Region (optional for OpenStack Object Storage)" : "Območje (zahtevano za shrambo predmeta OpenStack)", - "API Key (required for Rackspace Cloud Files)" : "Ključ programskega vmesnika (API) (zahtevan je za datoteke v oblaku Rackspace)", - "Tenantname (required for OpenStack Object Storage)" : "Ime uporabnika (zahtevano za shrambo predmeta OpenStack)", - "Password (required for OpenStack Object Storage)" : "Geslo (zahtevano za shrambo predmeta OpenStack)", - "Service Name (required for OpenStack Object Storage)" : "Ime storitve (zahtevano za shrambo predmeta OpenStack)", - "URL of identity endpoint (required for OpenStack Object Storage)" : "Naslov URL končne točke uporabnika (zahtevano za shrambo predmeta OpenStack)", - "Timeout of HTTP requests in seconds" : "Časovni zamik zahtev HTTP v sekundah", - "SMB / CIFS using OC login" : "SMB / CIFS z uporabo prijave OC", - "Host" : "Gostitelj", - "Username as share" : "Uporabniško ime za souporabo", - "Share" : "Souporaba", - "Remote subfolder" : "Oddaljena podrejena mapa", - "SFTP with secret key login" : "Prijava preko protokola SFTP z geslom", - "Public key" : "Javni ključ", "Storage with id \"%i\" not found" : "Shrambe z ID \"%i\" ni mogoče najti.", "Invalid mount point" : "Neveljavna priklopna točka", "Invalid storage backend \"%s\"" : "Neveljaven ozadnji program shrambe \"%s\"", @@ -28,6 +11,8 @@ OC.L10N.register( "System" : "Sistem", "Grant access" : "Odobri dostop", "Access granted" : "Dostop je odobren", + "Generate keys" : "Ustvari ključe", + "Error generating key pair" : "Prišlo je do napake med ustvarjanjem para ključev", "Enable encryption" : "Omogoči šifriranje", "Enable previews" : "Omogoči predogled", "Check for changes" : "Preveri za spremembe", @@ -37,15 +22,17 @@ OC.L10N.register( "All users. Type to select user or group." : "Vsi uporabniki. Skupino ali uporabnika je mogoče tudi izbrati.", "(group)" : "(skupina)", "Saved" : "Shranjeno", - "Generate keys" : "Ustvari ključe", - "Error generating key pair" : "Prišlo je do napake med ustvarjanjem para ključev", "None" : "Brez", "App key" : "Programski ključ", "App secret" : "Skrivni programski ključ", "Client ID" : "ID odjemalca", "Client secret" : "Skrivni ključ odjemalca", + "Username" : "Uporabniško ime", "Password" : "Geslo", + "API key" : "Ključ API", + "Public key" : "Javni ključ", "Amazon S3" : "Amazon S3", + "Bucket" : "Pomnilniško vedro", "Hostname" : "Ime gostitelja", "Port" : "Vrata", "Region" : "Območje", @@ -53,13 +40,18 @@ OC.L10N.register( "Enable Path Style" : "Omogoči slog poti", "WebDAV" : "WebDAV", "URL" : "Naslov URL", + "Remote subfolder" : "Oddaljena podrejena mapa", "Secure https://" : "Varni način https://", "Dropbox" : "Dropbox", + "Host" : "Gostitelj", "Secure ftps://" : "Varni način ftps://", "Local" : "Krajevno", "Location" : "Mesto", "ownCloud" : "ownCloud", "Root" : "Koren", + "Share" : "Souporaba", + "Username as share" : "Uporabniško ime za souporabo", + "OpenStack Object Storage" : "Shramba predmeta OpenStack", "<b>Note:</b> " : "<b>Opomba:</b> ", "<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>Opomba:</b> Podpora za naslove cURL v PHP ni omogočena, ali pa ni ustrezno nameščenih programov. Priklapljanje %s ni mogoče. Za pomoč pri namestitvi se obrnite na sistemskega skrbnika.", "<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>Opomba:</b> Podpora za protokol FTP v PHP ni omogočena, ali pa ni ustrezno nameščenih programov. Priklapljanje %s ni mogoče. Za pomoč pri namestitvi se obrnite na sistemskega skrbnika.", diff --git a/apps/files_external/l10n/sl.json b/apps/files_external/l10n/sl.json index 2ac8cf8bb98..56b64fb17cc 100644 --- a/apps/files_external/l10n/sl.json +++ b/apps/files_external/l10n/sl.json @@ -2,23 +2,6 @@ "Step 1 failed. Exception: %s" : "1. korak je spodletel. Izjemna napaka: %s", "Step 2 failed. Exception: %s" : "2. korak je spodletel. Izjemna napaka: %s", "External storage" : "Zunanja shramba", - "OpenStack Object Storage" : "Shramba predmeta OpenStack", - "Username" : "Uporabniško ime", - "Bucket" : "Pomnilniško vedro", - "Region (optional for OpenStack Object Storage)" : "Območje (zahtevano za shrambo predmeta OpenStack)", - "API Key (required for Rackspace Cloud Files)" : "Ključ programskega vmesnika (API) (zahtevan je za datoteke v oblaku Rackspace)", - "Tenantname (required for OpenStack Object Storage)" : "Ime uporabnika (zahtevano za shrambo predmeta OpenStack)", - "Password (required for OpenStack Object Storage)" : "Geslo (zahtevano za shrambo predmeta OpenStack)", - "Service Name (required for OpenStack Object Storage)" : "Ime storitve (zahtevano za shrambo predmeta OpenStack)", - "URL of identity endpoint (required for OpenStack Object Storage)" : "Naslov URL končne točke uporabnika (zahtevano za shrambo predmeta OpenStack)", - "Timeout of HTTP requests in seconds" : "Časovni zamik zahtev HTTP v sekundah", - "SMB / CIFS using OC login" : "SMB / CIFS z uporabo prijave OC", - "Host" : "Gostitelj", - "Username as share" : "Uporabniško ime za souporabo", - "Share" : "Souporaba", - "Remote subfolder" : "Oddaljena podrejena mapa", - "SFTP with secret key login" : "Prijava preko protokola SFTP z geslom", - "Public key" : "Javni ključ", "Storage with id \"%i\" not found" : "Shrambe z ID \"%i\" ni mogoče najti.", "Invalid mount point" : "Neveljavna priklopna točka", "Invalid storage backend \"%s\"" : "Neveljaven ozadnji program shrambe \"%s\"", @@ -26,6 +9,8 @@ "System" : "Sistem", "Grant access" : "Odobri dostop", "Access granted" : "Dostop je odobren", + "Generate keys" : "Ustvari ključe", + "Error generating key pair" : "Prišlo je do napake med ustvarjanjem para ključev", "Enable encryption" : "Omogoči šifriranje", "Enable previews" : "Omogoči predogled", "Check for changes" : "Preveri za spremembe", @@ -35,15 +20,17 @@ "All users. Type to select user or group." : "Vsi uporabniki. Skupino ali uporabnika je mogoče tudi izbrati.", "(group)" : "(skupina)", "Saved" : "Shranjeno", - "Generate keys" : "Ustvari ključe", - "Error generating key pair" : "Prišlo je do napake med ustvarjanjem para ključev", "None" : "Brez", "App key" : "Programski ključ", "App secret" : "Skrivni programski ključ", "Client ID" : "ID odjemalca", "Client secret" : "Skrivni ključ odjemalca", + "Username" : "Uporabniško ime", "Password" : "Geslo", + "API key" : "Ključ API", + "Public key" : "Javni ključ", "Amazon S3" : "Amazon S3", + "Bucket" : "Pomnilniško vedro", "Hostname" : "Ime gostitelja", "Port" : "Vrata", "Region" : "Območje", @@ -51,13 +38,18 @@ "Enable Path Style" : "Omogoči slog poti", "WebDAV" : "WebDAV", "URL" : "Naslov URL", + "Remote subfolder" : "Oddaljena podrejena mapa", "Secure https://" : "Varni način https://", "Dropbox" : "Dropbox", + "Host" : "Gostitelj", "Secure ftps://" : "Varni način ftps://", "Local" : "Krajevno", "Location" : "Mesto", "ownCloud" : "ownCloud", "Root" : "Koren", + "Share" : "Souporaba", + "Username as share" : "Uporabniško ime za souporabo", + "OpenStack Object Storage" : "Shramba predmeta OpenStack", "<b>Note:</b> " : "<b>Opomba:</b> ", "<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>Opomba:</b> Podpora za naslove cURL v PHP ni omogočena, ali pa ni ustrezno nameščenih programov. Priklapljanje %s ni mogoče. Za pomoč pri namestitvi se obrnite na sistemskega skrbnika.", "<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>Opomba:</b> Podpora za protokol FTP v PHP ni omogočena, ali pa ni ustrezno nameščenih programov. Priklapljanje %s ni mogoče. Za pomoč pri namestitvi se obrnite na sistemskega skrbnika.", diff --git a/apps/files_external/l10n/sq.js b/apps/files_external/l10n/sq.js index a9a0daf8af2..61262e8c8b1 100644 --- a/apps/files_external/l10n/sq.js +++ b/apps/files_external/l10n/sq.js @@ -1,17 +1,17 @@ OC.L10N.register( "files_external", { - "Username" : "Përdoruesi", - "Host" : "Pritësi", - "Share" : "Ndaj", "Personal" : "Personale", "Saved" : "U ruajt", "None" : "Asgjë", + "Username" : "Përdoruesi", "Password" : "fjalëkalim", "Port" : "Porta", "WebDAV" : "WebDAV", "URL" : "URL-i", + "Host" : "Pritësi", "Location" : "Vendndodhja", + "Share" : "Ndaj", "Name" : "Emri", "Folder name" : "Emri i Skedarit", "Delete" : "Elimino" diff --git a/apps/files_external/l10n/sq.json b/apps/files_external/l10n/sq.json index bf308bca3f7..20ebd508480 100644 --- a/apps/files_external/l10n/sq.json +++ b/apps/files_external/l10n/sq.json @@ -1,15 +1,15 @@ { "translations": { - "Username" : "Përdoruesi", - "Host" : "Pritësi", - "Share" : "Ndaj", "Personal" : "Personale", "Saved" : "U ruajt", "None" : "Asgjë", + "Username" : "Përdoruesi", "Password" : "fjalëkalim", "Port" : "Porta", "WebDAV" : "WebDAV", "URL" : "URL-i", + "Host" : "Pritësi", "Location" : "Vendndodhja", + "Share" : "Ndaj", "Name" : "Emri", "Folder name" : "Emri i Skedarit", "Delete" : "Elimino" diff --git a/apps/files_external/l10n/sr.js b/apps/files_external/l10n/sr.js index e0fea10c9a1..ddc5878f1f5 100644 --- a/apps/files_external/l10n/sr.js +++ b/apps/files_external/l10n/sr.js @@ -4,23 +4,6 @@ OC.L10N.register( "Step 1 failed. Exception: %s" : "Корак 1 није успео. Изузетак: %s", "Step 2 failed. Exception: %s" : "Корак 2 није успео. Изузетак: %s", "External storage" : "Спољашње складиште", - "OpenStack Object Storage" : "OpenStack Object Storage", - "Username" : "Корисничко име", - "Bucket" : "Канта", - "Region (optional for OpenStack Object Storage)" : "Регион (није обавезно за OpenStack Object Storage)", - "API Key (required for Rackspace Cloud Files)" : "API Key (потребан за Rackspace Cloud Files)", - "Tenantname (required for OpenStack Object Storage)" : "Tenantname (потребно за OpenStack Object Storage)", - "Password (required for OpenStack Object Storage)" : "Лозинка (потребна за OpenStack Object Storage)", - "Service Name (required for OpenStack Object Storage)" : "Име сервиса (потребно за OpenStack Object Storage)", - "URL of identity endpoint (required for OpenStack Object Storage)" : "Адреса идентитета крајње тачке (потребно за OpenStack Object Storage)", - "Timeout of HTTP requests in seconds" : "Време истека ХТТП захтева у секундама", - "SMB / CIFS using OC login" : "СМБ/ЦИФС користећи оунКлауд пријаву", - "Host" : "Домаћин", - "Username as share" : "Корисничко име као дељење", - "Share" : "Дели", - "Remote subfolder" : "Удаљена потфасцикла", - "SFTP with secret key login" : "СФТП са пријавом помоћу тајног кључа", - "Public key" : "Јавни кључ", "Storage with id \"%i\" not found" : "Складиште са идентификацијом \"%i\" није пронађено", "Invalid mount point" : "Неисправна тачка монтирања", "Invalid storage backend \"%s\"" : "Неисправна позадина складишта „%s“", @@ -28,6 +11,8 @@ OC.L10N.register( "System" : "Систем", "Grant access" : "Одобри приступ", "Access granted" : "Приступ одобрен", + "Generate keys" : "Генериши кључеве", + "Error generating key pair" : "Грешка при генерисању пара кључева", "Enable encryption" : "Укључи шифровање", "Enable previews" : "Укључи прегледе", "Check for changes" : "Провери измене", @@ -37,15 +22,17 @@ OC.L10N.register( "All users. Type to select user or group." : "Сви корисници. Куцајте за избор корисника или групе.", "(group)" : "(група)", "Saved" : "Сачувано", - "Generate keys" : "Генериши кључеве", - "Error generating key pair" : "Грешка при генерисању пара кључева", "None" : "Ништа", "App key" : "Кључ апликације", "App secret" : "Тајна апликације", "Client ID" : "ИД клијента", "Client secret" : "Тајна клијента", + "Username" : "Корисничко име", "Password" : "Лозинка", + "API key" : "API кључ", + "Public key" : "Јавни кључ", "Amazon S3" : "Амазон С3", + "Bucket" : "Канта", "Hostname" : "Име домаћина", "Port" : "Порт", "Region" : "Регија", @@ -53,12 +40,17 @@ OC.L10N.register( "Enable Path Style" : "Омогући стил путање", "WebDAV" : "ВебДАВ", "URL" : "УРЛ", + "Remote subfolder" : "Удаљена потфасцикла", "Secure https://" : "Сигурни https://", "Dropbox" : "Dropbox", + "Host" : "Домаћин", "Secure ftps://" : "Сигурни ftps://", "Local" : "локална", "Location" : "Локација", "ownCloud" : "оунКлауд", + "Share" : "Дели", + "Username as share" : "Корисничко име као дељење", + "OpenStack Object Storage" : "OpenStack Object Storage", "<b>Note:</b> " : "<b>Напомена:</b> ", "<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Напомена:</b> cURL подршка за ПХП није омогућена или инсталирана. Монтирање %s није могуће. Затражите од вашег администратора система да је инсталира.", "<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Напомена:</b> ФТП подршка за ПХП није омогућена или инсталирана. Монтирање %s није могуће. Затражите од вашег администратора система да је инсталира.", diff --git a/apps/files_external/l10n/sr.json b/apps/files_external/l10n/sr.json index a0d3e6991aa..bc7dc4de21a 100644 --- a/apps/files_external/l10n/sr.json +++ b/apps/files_external/l10n/sr.json @@ -2,23 +2,6 @@ "Step 1 failed. Exception: %s" : "Корак 1 није успео. Изузетак: %s", "Step 2 failed. Exception: %s" : "Корак 2 није успео. Изузетак: %s", "External storage" : "Спољашње складиште", - "OpenStack Object Storage" : "OpenStack Object Storage", - "Username" : "Корисничко име", - "Bucket" : "Канта", - "Region (optional for OpenStack Object Storage)" : "Регион (није обавезно за OpenStack Object Storage)", - "API Key (required for Rackspace Cloud Files)" : "API Key (потребан за Rackspace Cloud Files)", - "Tenantname (required for OpenStack Object Storage)" : "Tenantname (потребно за OpenStack Object Storage)", - "Password (required for OpenStack Object Storage)" : "Лозинка (потребна за OpenStack Object Storage)", - "Service Name (required for OpenStack Object Storage)" : "Име сервиса (потребно за OpenStack Object Storage)", - "URL of identity endpoint (required for OpenStack Object Storage)" : "Адреса идентитета крајње тачке (потребно за OpenStack Object Storage)", - "Timeout of HTTP requests in seconds" : "Време истека ХТТП захтева у секундама", - "SMB / CIFS using OC login" : "СМБ/ЦИФС користећи оунКлауд пријаву", - "Host" : "Домаћин", - "Username as share" : "Корисничко име као дељење", - "Share" : "Дели", - "Remote subfolder" : "Удаљена потфасцикла", - "SFTP with secret key login" : "СФТП са пријавом помоћу тајног кључа", - "Public key" : "Јавни кључ", "Storage with id \"%i\" not found" : "Складиште са идентификацијом \"%i\" није пронађено", "Invalid mount point" : "Неисправна тачка монтирања", "Invalid storage backend \"%s\"" : "Неисправна позадина складишта „%s“", @@ -26,6 +9,8 @@ "System" : "Систем", "Grant access" : "Одобри приступ", "Access granted" : "Приступ одобрен", + "Generate keys" : "Генериши кључеве", + "Error generating key pair" : "Грешка при генерисању пара кључева", "Enable encryption" : "Укључи шифровање", "Enable previews" : "Укључи прегледе", "Check for changes" : "Провери измене", @@ -35,15 +20,17 @@ "All users. Type to select user or group." : "Сви корисници. Куцајте за избор корисника или групе.", "(group)" : "(група)", "Saved" : "Сачувано", - "Generate keys" : "Генериши кључеве", - "Error generating key pair" : "Грешка при генерисању пара кључева", "None" : "Ништа", "App key" : "Кључ апликације", "App secret" : "Тајна апликације", "Client ID" : "ИД клијента", "Client secret" : "Тајна клијента", + "Username" : "Корисничко име", "Password" : "Лозинка", + "API key" : "API кључ", + "Public key" : "Јавни кључ", "Amazon S3" : "Амазон С3", + "Bucket" : "Канта", "Hostname" : "Име домаћина", "Port" : "Порт", "Region" : "Регија", @@ -51,12 +38,17 @@ "Enable Path Style" : "Омогући стил путање", "WebDAV" : "ВебДАВ", "URL" : "УРЛ", + "Remote subfolder" : "Удаљена потфасцикла", "Secure https://" : "Сигурни https://", "Dropbox" : "Dropbox", + "Host" : "Домаћин", "Secure ftps://" : "Сигурни ftps://", "Local" : "локална", "Location" : "Локација", "ownCloud" : "оунКлауд", + "Share" : "Дели", + "Username as share" : "Корисничко име као дељење", + "OpenStack Object Storage" : "OpenStack Object Storage", "<b>Note:</b> " : "<b>Напомена:</b> ", "<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Напомена:</b> cURL подршка за ПХП није омогућена или инсталирана. Монтирање %s није могуће. Затражите од вашег администратора система да је инсталира.", "<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Напомена:</b> ФТП подршка за ПХП није омогућена или инсталирана. Монтирање %s није могуће. Затражите од вашег администратора система да је инсталира.", diff --git a/apps/files_external/l10n/sr@latin.js b/apps/files_external/l10n/sr@latin.js index afd68779a6f..64301b4a026 100644 --- a/apps/files_external/l10n/sr@latin.js +++ b/apps/files_external/l10n/sr@latin.js @@ -4,21 +4,6 @@ OC.L10N.register( "Step 1 failed. Exception: %s" : "Korak 1 nije uspeo. Izuzetak: %s", "Step 2 failed. Exception: %s" : "Korak 2 nije uspeo. Izuzetak: %s", "External storage" : "Spoljašnje skladište", - "OpenStack Object Storage" : "OpenStack skladište objekata", - "Username" : "Korisničko ime", - "Bucket" : "Korpa", - "Region (optional for OpenStack Object Storage)" : "Region (opciono za OpenStack skladište objekata)", - "API Key (required for Rackspace Cloud Files)" : "API ključ (neophodno za Rackspace datoteke u oblaku)", - "Tenantname (required for OpenStack Object Storage)" : "Ime stanara (neophodno za OpenStack skladište objekata)", - "Password (required for OpenStack Object Storage)" : "Lozinka (neophodno za OpenStack skladište objekata)", - "Service Name (required for OpenStack Object Storage)" : "Ime Servisa (neophodno za OpenStack skladište objekata)", - "URL of identity endpoint (required for OpenStack Object Storage)" : "URL krajnje tačke identiteta (neophodno za OpenStack skladište objekata)", - "Timeout of HTTP requests in seconds" : "Ograničenje vremena veze HTTP zahteva u sekundama", - "SMB / CIFS using OC login" : "SMB / CIFS koji koristi OC prijavljivanje", - "Host" : "Računar", - "Username as share" : "Korisničko ime i deljeni direktorijum", - "Share" : "Podeli", - "Remote subfolder" : "Udaljeni poddirektorijum", "Personal" : "Lično", "System" : "Sistemsko", "Grant access" : "Dozvoli pristup", @@ -30,8 +15,10 @@ OC.L10N.register( "App secret" : "Tajna lozinka Aplikacije", "Client ID" : "Identifikator klijenta", "Client secret" : "Tajna lozinka klijenta", + "Username" : "Korisničko ime", "Password" : "Lozinka", "Amazon S3" : "Amazon S3", + "Bucket" : "Korpa", "Hostname" : "Ime računara", "Port" : "Port", "Region" : "Regija", @@ -39,11 +26,16 @@ OC.L10N.register( "Enable Path Style" : "Omogući stil putanje", "WebDAV" : "WebDAV", "URL" : "URL", + "Remote subfolder" : "Udaljeni poddirektorijum", "Secure https://" : "Sigurni https://", + "Host" : "Računar", "Secure ftps://" : "Sigurni ftps://", "Local" : "Lokalno", "Location" : "Lokacija", "Root" : "Koren", + "Share" : "Podeli", + "Username as share" : "Korisničko ime i deljeni direktorijum", + "OpenStack Object Storage" : "OpenStack skladište objekata", "<b>Note:</b> " : "<b>Obratite pažnju:</b>", "<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>Obratite pažnju</b> Podrška za cURL u PHP-u nije uključena ili instalirana. Montiranje %s nije moguće. Molimo Vas da se obratite Vašem sistem administratoru da je instalira.", "<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>Obratite pažnju:</b> FTP podrška u PHP-u nije uključena ili instalirana. Montiranje %s nije moguće. Molimo Vas da tražite od Vašeg sistem administratora da je instalira.", diff --git a/apps/files_external/l10n/sr@latin.json b/apps/files_external/l10n/sr@latin.json index 3bdf78e041a..72fc20844bd 100644 --- a/apps/files_external/l10n/sr@latin.json +++ b/apps/files_external/l10n/sr@latin.json @@ -2,21 +2,6 @@ "Step 1 failed. Exception: %s" : "Korak 1 nije uspeo. Izuzetak: %s", "Step 2 failed. Exception: %s" : "Korak 2 nije uspeo. Izuzetak: %s", "External storage" : "Spoljašnje skladište", - "OpenStack Object Storage" : "OpenStack skladište objekata", - "Username" : "Korisničko ime", - "Bucket" : "Korpa", - "Region (optional for OpenStack Object Storage)" : "Region (opciono za OpenStack skladište objekata)", - "API Key (required for Rackspace Cloud Files)" : "API ključ (neophodno za Rackspace datoteke u oblaku)", - "Tenantname (required for OpenStack Object Storage)" : "Ime stanara (neophodno za OpenStack skladište objekata)", - "Password (required for OpenStack Object Storage)" : "Lozinka (neophodno za OpenStack skladište objekata)", - "Service Name (required for OpenStack Object Storage)" : "Ime Servisa (neophodno za OpenStack skladište objekata)", - "URL of identity endpoint (required for OpenStack Object Storage)" : "URL krajnje tačke identiteta (neophodno za OpenStack skladište objekata)", - "Timeout of HTTP requests in seconds" : "Ograničenje vremena veze HTTP zahteva u sekundama", - "SMB / CIFS using OC login" : "SMB / CIFS koji koristi OC prijavljivanje", - "Host" : "Računar", - "Username as share" : "Korisničko ime i deljeni direktorijum", - "Share" : "Podeli", - "Remote subfolder" : "Udaljeni poddirektorijum", "Personal" : "Lično", "System" : "Sistemsko", "Grant access" : "Dozvoli pristup", @@ -28,8 +13,10 @@ "App secret" : "Tajna lozinka Aplikacije", "Client ID" : "Identifikator klijenta", "Client secret" : "Tajna lozinka klijenta", + "Username" : "Korisničko ime", "Password" : "Lozinka", "Amazon S3" : "Amazon S3", + "Bucket" : "Korpa", "Hostname" : "Ime računara", "Port" : "Port", "Region" : "Regija", @@ -37,11 +24,16 @@ "Enable Path Style" : "Omogući stil putanje", "WebDAV" : "WebDAV", "URL" : "URL", + "Remote subfolder" : "Udaljeni poddirektorijum", "Secure https://" : "Sigurni https://", + "Host" : "Računar", "Secure ftps://" : "Sigurni ftps://", "Local" : "Lokalno", "Location" : "Lokacija", "Root" : "Koren", + "Share" : "Podeli", + "Username as share" : "Korisničko ime i deljeni direktorijum", + "OpenStack Object Storage" : "OpenStack skladište objekata", "<b>Note:</b> " : "<b>Obratite pažnju:</b>", "<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>Obratite pažnju</b> Podrška za cURL u PHP-u nije uključena ili instalirana. Montiranje %s nije moguće. Molimo Vas da se obratite Vašem sistem administratoru da je instalira.", "<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>Obratite pažnju:</b> FTP podrška u PHP-u nije uključena ili instalirana. Montiranje %s nije moguće. Molimo Vas da tražite od Vašeg sistem administratora da je instalira.", diff --git a/apps/files_external/l10n/sv.js b/apps/files_external/l10n/sv.js index ac7439ea081..08175a56562 100644 --- a/apps/files_external/l10n/sv.js +++ b/apps/files_external/l10n/sv.js @@ -4,22 +4,6 @@ OC.L10N.register( "Step 1 failed. Exception: %s" : "Steg 1 flaerade. Undantag: %s", "Step 2 failed. Exception: %s" : "Steg 2 falerade. Undantag: %s", "External storage" : "Extern lagring", - "OpenStack Object Storage" : "OpenStack Object Storage", - "Username" : "Användarnamn", - "Bucket" : "Bucket", - "Region (optional for OpenStack Object Storage)" : "Region (valfritt för OpenStack Object Storage)", - "API Key (required for Rackspace Cloud Files)" : "API-nyckel (krävs för Rackspace Cloud Files)", - "Tenantname (required for OpenStack Object Storage)" : "Tenantname (krävs för OpenStack Object Storage)", - "Password (required for OpenStack Object Storage)" : "Lösenord (krävs för OpenStack Object Storage)", - "Service Name (required for OpenStack Object Storage)" : "Tjänstens namn (krävs för OpenStack Object Storage)", - "URL of identity endpoint (required for OpenStack Object Storage)" : "URL för identitetens slutpunkt (krävs för OpenStack Object Storage)", - "Timeout of HTTP requests in seconds" : "Timeout för HTTP-anrop i sekunder", - "SMB / CIFS using OC login" : "SMB / CIFS använder OC inloggning", - "Host" : "Server", - "Username as share" : "Användarnamn till utdelning", - "Share" : "Dela", - "Remote subfolder" : "Fjärrmapp", - "Public key" : "Publik nyckel", "Personal" : "Personligt", "System" : "System", "Grant access" : "Bevilja åtkomst", @@ -32,8 +16,12 @@ OC.L10N.register( "App secret" : "App-hemlighet", "Client ID" : "Klient ID", "Client secret" : "klient secret", + "Username" : "Användarnamn", "Password" : "Lösenord", + "API key" : "API-nyckel", + "Public key" : "Publik nyckel", "Amazon S3" : "Amazon S3", + "Bucket" : "Bucket", "Hostname" : "Värdnamn", "Port" : "Port", "Region" : "Län", @@ -41,13 +29,18 @@ OC.L10N.register( "Enable Path Style" : "Aktivera Path Style", "WebDAV" : "WebDAV", "URL" : "URL", + "Remote subfolder" : "Fjärrmapp", "Secure https://" : "Säker https://", "Dropbox" : "Dropbox", + "Host" : "Server", "Secure ftps://" : "Säker ftps://", "Local" : "Lokal", "Location" : "Plats", "ownCloud" : "ownCloud", "Root" : "Root", + "Share" : "Dela", + "Username as share" : "Användarnamn till utdelning", + "OpenStack Object Storage" : "OpenStack Object Storage", "<b>Note:</b> " : "<b> OBS: </ b>", "<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> OBS: </ b> cURL-stöd i PHP inte är aktiverat eller installerat. Montering av %s är inte möjlig. Be din systemadministratör att installera 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> OBS: </ b> FTP-stödet i PHP inte är aktiverat eller installerat. Montering av %s är inte möjlig. Be din systemadministratör att installera det.", diff --git a/apps/files_external/l10n/sv.json b/apps/files_external/l10n/sv.json index 75d33f5861a..c44ad337ab3 100644 --- a/apps/files_external/l10n/sv.json +++ b/apps/files_external/l10n/sv.json @@ -2,22 +2,6 @@ "Step 1 failed. Exception: %s" : "Steg 1 flaerade. Undantag: %s", "Step 2 failed. Exception: %s" : "Steg 2 falerade. Undantag: %s", "External storage" : "Extern lagring", - "OpenStack Object Storage" : "OpenStack Object Storage", - "Username" : "Användarnamn", - "Bucket" : "Bucket", - "Region (optional for OpenStack Object Storage)" : "Region (valfritt för OpenStack Object Storage)", - "API Key (required for Rackspace Cloud Files)" : "API-nyckel (krävs för Rackspace Cloud Files)", - "Tenantname (required for OpenStack Object Storage)" : "Tenantname (krävs för OpenStack Object Storage)", - "Password (required for OpenStack Object Storage)" : "Lösenord (krävs för OpenStack Object Storage)", - "Service Name (required for OpenStack Object Storage)" : "Tjänstens namn (krävs för OpenStack Object Storage)", - "URL of identity endpoint (required for OpenStack Object Storage)" : "URL för identitetens slutpunkt (krävs för OpenStack Object Storage)", - "Timeout of HTTP requests in seconds" : "Timeout för HTTP-anrop i sekunder", - "SMB / CIFS using OC login" : "SMB / CIFS använder OC inloggning", - "Host" : "Server", - "Username as share" : "Användarnamn till utdelning", - "Share" : "Dela", - "Remote subfolder" : "Fjärrmapp", - "Public key" : "Publik nyckel", "Personal" : "Personligt", "System" : "System", "Grant access" : "Bevilja åtkomst", @@ -30,8 +14,12 @@ "App secret" : "App-hemlighet", "Client ID" : "Klient ID", "Client secret" : "klient secret", + "Username" : "Användarnamn", "Password" : "Lösenord", + "API key" : "API-nyckel", + "Public key" : "Publik nyckel", "Amazon S3" : "Amazon S3", + "Bucket" : "Bucket", "Hostname" : "Värdnamn", "Port" : "Port", "Region" : "Län", @@ -39,13 +27,18 @@ "Enable Path Style" : "Aktivera Path Style", "WebDAV" : "WebDAV", "URL" : "URL", + "Remote subfolder" : "Fjärrmapp", "Secure https://" : "Säker https://", "Dropbox" : "Dropbox", + "Host" : "Server", "Secure ftps://" : "Säker ftps://", "Local" : "Lokal", "Location" : "Plats", "ownCloud" : "ownCloud", "Root" : "Root", + "Share" : "Dela", + "Username as share" : "Användarnamn till utdelning", + "OpenStack Object Storage" : "OpenStack Object Storage", "<b>Note:</b> " : "<b> OBS: </ b>", "<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> OBS: </ b> cURL-stöd i PHP inte är aktiverat eller installerat. Montering av %s är inte möjlig. Be din systemadministratör att installera 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> OBS: </ b> FTP-stödet i PHP inte är aktiverat eller installerat. Montering av %s är inte möjlig. Be din systemadministratör att installera det.", diff --git a/apps/files_external/l10n/ta_LK.js b/apps/files_external/l10n/ta_LK.js index fdf2639d4d6..382d5e943a1 100644 --- a/apps/files_external/l10n/ta_LK.js +++ b/apps/files_external/l10n/ta_LK.js @@ -1,19 +1,19 @@ OC.L10N.register( "files_external", { - "Username" : "பயனாளர் பெயர்", - "Host" : "ஓம்புனர்", - "Share" : "பகிர்வு", "Personal" : "தனிப்பட்ட", "Grant access" : "அனுமதியை வழங்கல்", "Access granted" : "அனுமதி வழங்கப்பட்டது", "None" : "ஒன்றுமில்லை", + "Username" : "பயனாளர் பெயர்", "Password" : "கடவுச்சொல்", "Port" : "துறை ", "Region" : "பிரதேசம்", "URL" : "URL", + "Host" : "ஓம்புனர்", "Location" : "இடம்", "ownCloud" : "OwnCloud", + "Share" : "பகிர்வு", "Name" : "பெயர்", "External Storage" : "வெளி சேமிப்பு", "Folder name" : "கோப்புறை பெயர்", diff --git a/apps/files_external/l10n/ta_LK.json b/apps/files_external/l10n/ta_LK.json index bd346816691..c838cbe0173 100644 --- a/apps/files_external/l10n/ta_LK.json +++ b/apps/files_external/l10n/ta_LK.json @@ -1,17 +1,17 @@ { "translations": { - "Username" : "பயனாளர் பெயர்", - "Host" : "ஓம்புனர்", - "Share" : "பகிர்வு", "Personal" : "தனிப்பட்ட", "Grant access" : "அனுமதியை வழங்கல்", "Access granted" : "அனுமதி வழங்கப்பட்டது", "None" : "ஒன்றுமில்லை", + "Username" : "பயனாளர் பெயர்", "Password" : "கடவுச்சொல்", "Port" : "துறை ", "Region" : "பிரதேசம்", "URL" : "URL", + "Host" : "ஓம்புனர்", "Location" : "இடம்", "ownCloud" : "OwnCloud", + "Share" : "பகிர்வு", "Name" : "பெயர்", "External Storage" : "வெளி சேமிப்பு", "Folder name" : "கோப்புறை பெயர்", diff --git a/apps/files_external/l10n/te.js b/apps/files_external/l10n/te.js index b5f887f08f6..155676d9a8f 100644 --- a/apps/files_external/l10n/te.js +++ b/apps/files_external/l10n/te.js @@ -1,8 +1,8 @@ OC.L10N.register( "files_external", { - "Username" : "వాడుకరి పేరు", "Personal" : "వ్యక్తిగతం", + "Username" : "వాడుకరి పేరు", "Password" : "సంకేతపదం", "Name" : "పేరు", "Folder name" : "సంచయం పేరు", diff --git a/apps/files_external/l10n/te.json b/apps/files_external/l10n/te.json index b0db38ef4c5..5a55f60376a 100644 --- a/apps/files_external/l10n/te.json +++ b/apps/files_external/l10n/te.json @@ -1,6 +1,6 @@ { "translations": { - "Username" : "వాడుకరి పేరు", "Personal" : "వ్యక్తిగతం", + "Username" : "వాడుకరి పేరు", "Password" : "సంకేతపదం", "Name" : "పేరు", "Folder name" : "సంచయం పేరు", diff --git a/apps/files_external/l10n/th_TH.js b/apps/files_external/l10n/th_TH.js index 5926a806437..35e4da7b1d5 100644 --- a/apps/files_external/l10n/th_TH.js +++ b/apps/files_external/l10n/th_TH.js @@ -7,23 +7,6 @@ OC.L10N.register( "Step 1 failed. Exception: %s" : "ขั้นตอนที่ 1 ล้มเหลว ข้อยกเว้น: %s", "Step 2 failed. Exception: %s" : "ขั้นตอนที่ 2 ล้มเหลว ข้อยกเว้น: %s", "External storage" : "จัดเก็บข้อมูลภายนอก", - "OpenStack Object Storage" : "OpenStack Object Storage", - "Username" : "ชื่อผู้ใช้งาน", - "Bucket" : "Bucket", - "Region (optional for OpenStack Object Storage)" : "ภูมิภาค (จำเป็นสำหรับ OpenStack Object Storage)", - "API Key (required for Rackspace Cloud Files)" : "API Key (จำเป็นสำหรับ Rackspace Cloud Files)", - "Tenantname (required for OpenStack Object Storage)" : "ชื่อผู้เช่า (จำเป็นสำหรับ OpenStack Object Storage)", - "Password (required for OpenStack Object Storage)" : "รหัสผ่าน (ที่จำเป็นสำหรับ OpenStack Object Storage)", - "Service Name (required for OpenStack Object Storage)" : "ชื่อบริการ (จำเป็นสำหรับ OpenStack Object Storage)", - "URL of identity endpoint (required for OpenStack Object Storage)" : "ตัวตนของ URL ปลายทาง (จำเป็นสำหรับ OpenStack Object Storage)", - "Timeout of HTTP requests in seconds" : "หมดเวลาของการร้องขอ HTTP ในไม่กี่วินาที", - "SMB / CIFS using OC login" : "SMB/CIFS กำลังใช้ OC เข้าสู่ระบบ", - "Host" : "โฮสต์", - "Username as share" : "ชื่อผู้ใช้ที่แชร์", - "Share" : "แชร์", - "Remote subfolder" : "โฟลเดอร์ย่อยระยะไกล", - "SFTP with secret key login" : "SFTP กับคีย์ลับสำหรับเข้าสู่ระบบ", - "Public key" : "คีย์สาธารณะ", "Storage with id \"%i\" not found" : "ไม่พบจัดการเก็บข้อมูลของ ID \"%i\"", "Invalid backend or authentication mechanism class" : "แบ็กเอนด์ไม่ถูกต้องหรือระดับการรับรองความถูกต้องไม่เพียงพอ", "Invalid mount point" : "จุดเชื่อมต่อที่ไม่ถูกต้อง", @@ -31,13 +14,14 @@ OC.L10N.register( "Invalid storage backend \"%s\"" : "การจัดเก็บข้อมูลแบ็กเอนด์ไม่ถูกต้อง \"%s\"", "Unsatisfied backend parameters" : "พารามิเตอร์แบ็กเอนด์ไม่ได้รับอนุญาต", "Unsatisfied authentication mechanism parameters" : "การรับรองความถูกต้องไม่เพียงพอ", - "Admin-only storage backend \"%s\"" : "จัดเก็บแบ็กเอนด์ของผู้ดูแลระบบเท่านั้น \"%s\"", "Personal" : "ส่วนตัว", "System" : "ระบบ", "Grant access" : "อนุญาตให้เข้าถึงได้", "Access granted" : "การเข้าถึงได้รับอนุญาตแล้ว", "Error configuring OAuth1" : "ข้อผิดพลาดในการกำหนดค่า OAuth1", "Error configuring OAuth2" : "ข้อผิดพลาดในการกำหนดค่า OAuth2", + "Generate keys" : "สร้างคีย์", + "Error generating key pair" : "ข้อผิดพลาดในการสร้างคีย์แบบเป็นคู่", "Enable encryption" : "เปิดใช้งานการเข้ารหัส", "Enable previews" : "เปิดใช้งานการแสดงตัวอย่าง", "Check for changes" : "ตรวจสอบการเปลี่ยนแปลง", @@ -47,8 +31,6 @@ OC.L10N.register( "All users. Type to select user or group." : "ผู้ใช้ทุกคน พิมพ์เพื่อเลือกผู้ใช้หรือกลุ่ม", "(group)" : "(กลุ่ม)", "Saved" : "บันทึกแล้ว", - "Generate keys" : "สร้างคีย์", - "Error generating key pair" : "ข้อผิดพลาดในการสร้างคีย์แบบเป็นคู่", "Access key" : "คีย์การเข้าถึง", "Secret key" : "คีย์ลับ", "Builtin" : "ในตัว", @@ -59,10 +41,14 @@ OC.L10N.register( "OAuth2" : "OAuth2", "Client ID" : "Client ID", "Client secret" : "Client secret", - "Username and password" : "ชื่อผู้ใช้และรหัสผ่าน", + "Username" : "ชื่อผู้ใช้งาน", "Password" : "รหัสผ่าน", + "API key" : "รหัส API", + "Username and password" : "ชื่อผู้ใช้และรหัสผ่าน", "Session credentials" : "ข้อมูลของเซสชั่น", + "Public key" : "คีย์สาธารณะ", "Amazon S3" : "Amazon S3", + "Bucket" : "Bucket", "Hostname" : "ชื่อโฮสต์", "Port" : "พอร์ต", "Region" : "พื้นที่", @@ -70,9 +56,11 @@ OC.L10N.register( "Enable Path Style" : "เปิดใช้งานสไตล์เส้นทาง", "WebDAV" : "WebDAV", "URL" : "URL", + "Remote subfolder" : "โฟลเดอร์ย่อยระยะไกล", "Secure https://" : "โหมดปลอดภัย https://", "Dropbox" : "Dropbox", "FTP" : "FTP", + "Host" : "โฮสต์", "Secure ftps://" : "โหมดปลอดภัย ftps://", "Google Drive" : "กูเกิ้ลไดร์ฟ", "Local" : "ต้นทาง", @@ -81,6 +69,9 @@ OC.L10N.register( "SFTP" : "SFTP", "Root" : "รูท", "SMB / CIFS" : "SMB / CIFS", + "Share" : "แชร์", + "Username as share" : "ชื่อผู้ใช้ที่แชร์", + "OpenStack Object Storage" : "OpenStack Object Storage", "<b>Note:</b> " : "<b>หมายเหตุ:</b>", "<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>หมายเหตุ:</b> การสนับสนุน cURL ใน PHP ไม่ได้เปิดใช้งานหรือติดตั้ง %s เป็นไปไม่ได้ กรุณาขอให้ผู้ดูแลระบบของคุณติดตั้งมัน", "<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>หมายเหตุ:</b> การสนับสนุน FTP ใน PHP ไม่ได้เปิดใช้งานหรือติดตั้ง %s เป็นไปไม่ได้ กรุณาขอให้ผู้ดูแลระบบของคุณติดตั้งมัน", diff --git a/apps/files_external/l10n/th_TH.json b/apps/files_external/l10n/th_TH.json index c927a5980b9..d9d3661a2ae 100644 --- a/apps/files_external/l10n/th_TH.json +++ b/apps/files_external/l10n/th_TH.json @@ -5,23 +5,6 @@ "Step 1 failed. Exception: %s" : "ขั้นตอนที่ 1 ล้มเหลว ข้อยกเว้น: %s", "Step 2 failed. Exception: %s" : "ขั้นตอนที่ 2 ล้มเหลว ข้อยกเว้น: %s", "External storage" : "จัดเก็บข้อมูลภายนอก", - "OpenStack Object Storage" : "OpenStack Object Storage", - "Username" : "ชื่อผู้ใช้งาน", - "Bucket" : "Bucket", - "Region (optional for OpenStack Object Storage)" : "ภูมิภาค (จำเป็นสำหรับ OpenStack Object Storage)", - "API Key (required for Rackspace Cloud Files)" : "API Key (จำเป็นสำหรับ Rackspace Cloud Files)", - "Tenantname (required for OpenStack Object Storage)" : "ชื่อผู้เช่า (จำเป็นสำหรับ OpenStack Object Storage)", - "Password (required for OpenStack Object Storage)" : "รหัสผ่าน (ที่จำเป็นสำหรับ OpenStack Object Storage)", - "Service Name (required for OpenStack Object Storage)" : "ชื่อบริการ (จำเป็นสำหรับ OpenStack Object Storage)", - "URL of identity endpoint (required for OpenStack Object Storage)" : "ตัวตนของ URL ปลายทาง (จำเป็นสำหรับ OpenStack Object Storage)", - "Timeout of HTTP requests in seconds" : "หมดเวลาของการร้องขอ HTTP ในไม่กี่วินาที", - "SMB / CIFS using OC login" : "SMB/CIFS กำลังใช้ OC เข้าสู่ระบบ", - "Host" : "โฮสต์", - "Username as share" : "ชื่อผู้ใช้ที่แชร์", - "Share" : "แชร์", - "Remote subfolder" : "โฟลเดอร์ย่อยระยะไกล", - "SFTP with secret key login" : "SFTP กับคีย์ลับสำหรับเข้าสู่ระบบ", - "Public key" : "คีย์สาธารณะ", "Storage with id \"%i\" not found" : "ไม่พบจัดการเก็บข้อมูลของ ID \"%i\"", "Invalid backend or authentication mechanism class" : "แบ็กเอนด์ไม่ถูกต้องหรือระดับการรับรองความถูกต้องไม่เพียงพอ", "Invalid mount point" : "จุดเชื่อมต่อที่ไม่ถูกต้อง", @@ -29,13 +12,14 @@ "Invalid storage backend \"%s\"" : "การจัดเก็บข้อมูลแบ็กเอนด์ไม่ถูกต้อง \"%s\"", "Unsatisfied backend parameters" : "พารามิเตอร์แบ็กเอนด์ไม่ได้รับอนุญาต", "Unsatisfied authentication mechanism parameters" : "การรับรองความถูกต้องไม่เพียงพอ", - "Admin-only storage backend \"%s\"" : "จัดเก็บแบ็กเอนด์ของผู้ดูแลระบบเท่านั้น \"%s\"", "Personal" : "ส่วนตัว", "System" : "ระบบ", "Grant access" : "อนุญาตให้เข้าถึงได้", "Access granted" : "การเข้าถึงได้รับอนุญาตแล้ว", "Error configuring OAuth1" : "ข้อผิดพลาดในการกำหนดค่า OAuth1", "Error configuring OAuth2" : "ข้อผิดพลาดในการกำหนดค่า OAuth2", + "Generate keys" : "สร้างคีย์", + "Error generating key pair" : "ข้อผิดพลาดในการสร้างคีย์แบบเป็นคู่", "Enable encryption" : "เปิดใช้งานการเข้ารหัส", "Enable previews" : "เปิดใช้งานการแสดงตัวอย่าง", "Check for changes" : "ตรวจสอบการเปลี่ยนแปลง", @@ -45,8 +29,6 @@ "All users. Type to select user or group." : "ผู้ใช้ทุกคน พิมพ์เพื่อเลือกผู้ใช้หรือกลุ่ม", "(group)" : "(กลุ่ม)", "Saved" : "บันทึกแล้ว", - "Generate keys" : "สร้างคีย์", - "Error generating key pair" : "ข้อผิดพลาดในการสร้างคีย์แบบเป็นคู่", "Access key" : "คีย์การเข้าถึง", "Secret key" : "คีย์ลับ", "Builtin" : "ในตัว", @@ -57,10 +39,14 @@ "OAuth2" : "OAuth2", "Client ID" : "Client ID", "Client secret" : "Client secret", - "Username and password" : "ชื่อผู้ใช้และรหัสผ่าน", + "Username" : "ชื่อผู้ใช้งาน", "Password" : "รหัสผ่าน", + "API key" : "รหัส API", + "Username and password" : "ชื่อผู้ใช้และรหัสผ่าน", "Session credentials" : "ข้อมูลของเซสชั่น", + "Public key" : "คีย์สาธารณะ", "Amazon S3" : "Amazon S3", + "Bucket" : "Bucket", "Hostname" : "ชื่อโฮสต์", "Port" : "พอร์ต", "Region" : "พื้นที่", @@ -68,9 +54,11 @@ "Enable Path Style" : "เปิดใช้งานสไตล์เส้นทาง", "WebDAV" : "WebDAV", "URL" : "URL", + "Remote subfolder" : "โฟลเดอร์ย่อยระยะไกล", "Secure https://" : "โหมดปลอดภัย https://", "Dropbox" : "Dropbox", "FTP" : "FTP", + "Host" : "โฮสต์", "Secure ftps://" : "โหมดปลอดภัย ftps://", "Google Drive" : "กูเกิ้ลไดร์ฟ", "Local" : "ต้นทาง", @@ -79,6 +67,9 @@ "SFTP" : "SFTP", "Root" : "รูท", "SMB / CIFS" : "SMB / CIFS", + "Share" : "แชร์", + "Username as share" : "ชื่อผู้ใช้ที่แชร์", + "OpenStack Object Storage" : "OpenStack Object Storage", "<b>Note:</b> " : "<b>หมายเหตุ:</b>", "<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>หมายเหตุ:</b> การสนับสนุน cURL ใน PHP ไม่ได้เปิดใช้งานหรือติดตั้ง %s เป็นไปไม่ได้ กรุณาขอให้ผู้ดูแลระบบของคุณติดตั้งมัน", "<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>หมายเหตุ:</b> การสนับสนุน FTP ใน PHP ไม่ได้เปิดใช้งานหรือติดตั้ง %s เป็นไปไม่ได้ กรุณาขอให้ผู้ดูแลระบบของคุณติดตั้งมัน", diff --git a/apps/files_external/l10n/tr.js b/apps/files_external/l10n/tr.js index 68e69034857..652bc611866 100644 --- a/apps/files_external/l10n/tr.js +++ b/apps/files_external/l10n/tr.js @@ -7,23 +7,6 @@ OC.L10N.register( "Step 1 failed. Exception: %s" : "Adım 1 başarısız. Özel durum: %s", "Step 2 failed. Exception: %s" : "Adım 2 başarısız. Özel durum: %s", "External storage" : "Harici depolama", - "OpenStack Object Storage" : "OpenStack Nesne Depolama", - "Username" : "Kullanıcı Adı", - "Bucket" : "Bucket", - "Region (optional for OpenStack Object Storage)" : "Bölge (OpenStack Nesne Depolaması için isteğe bağlı)", - "API Key (required for Rackspace Cloud Files)" : "API Anahtarı (Rackspace Bulut Dosyaları için gerekli)", - "Tenantname (required for OpenStack Object Storage)" : "Kiracı Adı (OpenStack Nesne Depolaması için gerekli)", - "Password (required for OpenStack Object Storage)" : "Parola (OpenStack Nesne Depolaması için gerekli)", - "Service Name (required for OpenStack Object Storage)" : "Hizmet Adı (OpenStack Nesne Depolaması için gerekli)", - "URL of identity endpoint (required for OpenStack Object Storage)" : "Kimlik uç nokta adresi (OpenStack Nesne Depolaması için gerekli)", - "Timeout of HTTP requests in seconds" : "Saniye cinsinden HTTP istek zaman aşımı", - "SMB / CIFS using OC login" : "OC oturumu kullanarak SMB / CIFS", - "Host" : "Sunucu", - "Username as share" : "Paylaşım olarak kullanıcı adı", - "Share" : "Paylaş", - "Remote subfolder" : "Uzak alt klasör", - "SFTP with secret key login" : "Gizli anahtar oturumu ile SFTP", - "Public key" : "Ortak anahtar", "Storage with id \"%i\" not found" : "\"%i\" kimliği ile bir depolama bulunamadı", "Invalid backend or authentication mechanism class" : "Geçersiz arkauç veya kimlik doğrulama mekanizma sınıfı", "Invalid mount point" : "Geçersiz bağlama noktası", @@ -31,13 +14,14 @@ OC.L10N.register( "Invalid storage backend \"%s\"" : "Geçersiz depolama arka ucu \"%s\"", "Unsatisfied backend parameters" : "Yetersiz arkauç parametreleri", "Unsatisfied authentication mechanism parameters" : "Yetersiz kimlik doğrulama mekanizması parametreleri", - "Admin-only storage backend \"%s\"" : "Sadece yönetici erişimli depolama arkaucu \"%s\"", "Personal" : "Kişisel", "System" : "Sistem", "Grant access" : "Erişimi sağla", "Access granted" : "Giriş kabul edildi", "Error configuring OAuth1" : "OAuth1 yapılandırma hatası", "Error configuring OAuth2" : "OAuth2 yapılandırma hatası", + "Generate keys" : "Anahtarlar üret", + "Error generating key pair" : "Anahtar çifti üretirken hata", "Enable encryption" : "Şifrelemeyi aç", "Enable previews" : "Önizlemeleri aç", "Check for changes" : "Değişiklikleri denetle", @@ -47,8 +31,6 @@ OC.L10N.register( "All users. Type to select user or group." : "Tüm kullanıcılar. Kullanıcı veya grup seçmek için yazın.", "(group)" : "(grup)", "Saved" : "Kaydedildi", - "Generate keys" : "Anahtarlar üret", - "Error generating key pair" : "Anahtar çifti üretirken hata", "Access key" : "Erişim anahtarı", "Secret key" : "Gizli anahtar", "Builtin" : "Yerleşik", @@ -59,10 +41,14 @@ OC.L10N.register( "OAuth2" : "OAuth2", "Client ID" : "İstemci kimliği", "Client secret" : "İstemci parolası", - "Username and password" : "Kullanıcı adı ve parola", + "Username" : "Kullanıcı Adı", "Password" : "Parola", + "API key" : "API anahtarı", + "Username and password" : "Kullanıcı adı ve parola", "Session credentials" : "Oturum bilgileri", + "Public key" : "Ortak anahtar", "Amazon S3" : "Amazon S3", + "Bucket" : "Bucket", "Hostname" : "Makine adı", "Port" : "Port", "Region" : "Bölge", @@ -70,9 +56,11 @@ OC.L10N.register( "Enable Path Style" : "Yol Biçemini Etkinleştir", "WebDAV" : "WebDAV", "URL" : "URL", + "Remote subfolder" : "Uzak alt klasör", "Secure https://" : "Güvenli https://", "Dropbox" : "Dropbox", "FTP" : "FTP", + "Host" : "Sunucu", "Secure ftps://" : "Güvenli ftps://", "Google Drive" : "Google Drive", "Local" : "Yerel", @@ -81,6 +69,9 @@ OC.L10N.register( "SFTP" : "SFTP", "Root" : "Kök", "SMB / CIFS" : "SMB / CIFS", + "Share" : "Paylaş", + "Username as share" : "Paylaşım olarak kullanıcı adı", + "OpenStack Object Storage" : "OpenStack Nesne Depolama", "<b>Note:</b> " : "<b>Not:</b> ", "<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>Not:</b> PHP'de cURL desteği etkin veya kurulu değil. %s bağlaması mümkün olmayacak. Lütfen kurulumu için sistem yöneticilerinizle iletişime geçin.", "<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>Not:</b> PHP'de FTP desteği etkin veya kurulu değil. %s bağlaması mümkün olmayacak. Lütfen kurulumu için sistem yöneticilerinizle iletişime geçin.", diff --git a/apps/files_external/l10n/tr.json b/apps/files_external/l10n/tr.json index 7859e8e08dc..328ecab466f 100644 --- a/apps/files_external/l10n/tr.json +++ b/apps/files_external/l10n/tr.json @@ -5,23 +5,6 @@ "Step 1 failed. Exception: %s" : "Adım 1 başarısız. Özel durum: %s", "Step 2 failed. Exception: %s" : "Adım 2 başarısız. Özel durum: %s", "External storage" : "Harici depolama", - "OpenStack Object Storage" : "OpenStack Nesne Depolama", - "Username" : "Kullanıcı Adı", - "Bucket" : "Bucket", - "Region (optional for OpenStack Object Storage)" : "Bölge (OpenStack Nesne Depolaması için isteğe bağlı)", - "API Key (required for Rackspace Cloud Files)" : "API Anahtarı (Rackspace Bulut Dosyaları için gerekli)", - "Tenantname (required for OpenStack Object Storage)" : "Kiracı Adı (OpenStack Nesne Depolaması için gerekli)", - "Password (required for OpenStack Object Storage)" : "Parola (OpenStack Nesne Depolaması için gerekli)", - "Service Name (required for OpenStack Object Storage)" : "Hizmet Adı (OpenStack Nesne Depolaması için gerekli)", - "URL of identity endpoint (required for OpenStack Object Storage)" : "Kimlik uç nokta adresi (OpenStack Nesne Depolaması için gerekli)", - "Timeout of HTTP requests in seconds" : "Saniye cinsinden HTTP istek zaman aşımı", - "SMB / CIFS using OC login" : "OC oturumu kullanarak SMB / CIFS", - "Host" : "Sunucu", - "Username as share" : "Paylaşım olarak kullanıcı adı", - "Share" : "Paylaş", - "Remote subfolder" : "Uzak alt klasör", - "SFTP with secret key login" : "Gizli anahtar oturumu ile SFTP", - "Public key" : "Ortak anahtar", "Storage with id \"%i\" not found" : "\"%i\" kimliği ile bir depolama bulunamadı", "Invalid backend or authentication mechanism class" : "Geçersiz arkauç veya kimlik doğrulama mekanizma sınıfı", "Invalid mount point" : "Geçersiz bağlama noktası", @@ -29,13 +12,14 @@ "Invalid storage backend \"%s\"" : "Geçersiz depolama arka ucu \"%s\"", "Unsatisfied backend parameters" : "Yetersiz arkauç parametreleri", "Unsatisfied authentication mechanism parameters" : "Yetersiz kimlik doğrulama mekanizması parametreleri", - "Admin-only storage backend \"%s\"" : "Sadece yönetici erişimli depolama arkaucu \"%s\"", "Personal" : "Kişisel", "System" : "Sistem", "Grant access" : "Erişimi sağla", "Access granted" : "Giriş kabul edildi", "Error configuring OAuth1" : "OAuth1 yapılandırma hatası", "Error configuring OAuth2" : "OAuth2 yapılandırma hatası", + "Generate keys" : "Anahtarlar üret", + "Error generating key pair" : "Anahtar çifti üretirken hata", "Enable encryption" : "Şifrelemeyi aç", "Enable previews" : "Önizlemeleri aç", "Check for changes" : "Değişiklikleri denetle", @@ -45,8 +29,6 @@ "All users. Type to select user or group." : "Tüm kullanıcılar. Kullanıcı veya grup seçmek için yazın.", "(group)" : "(grup)", "Saved" : "Kaydedildi", - "Generate keys" : "Anahtarlar üret", - "Error generating key pair" : "Anahtar çifti üretirken hata", "Access key" : "Erişim anahtarı", "Secret key" : "Gizli anahtar", "Builtin" : "Yerleşik", @@ -57,10 +39,14 @@ "OAuth2" : "OAuth2", "Client ID" : "İstemci kimliği", "Client secret" : "İstemci parolası", - "Username and password" : "Kullanıcı adı ve parola", + "Username" : "Kullanıcı Adı", "Password" : "Parola", + "API key" : "API anahtarı", + "Username and password" : "Kullanıcı adı ve parola", "Session credentials" : "Oturum bilgileri", + "Public key" : "Ortak anahtar", "Amazon S3" : "Amazon S3", + "Bucket" : "Bucket", "Hostname" : "Makine adı", "Port" : "Port", "Region" : "Bölge", @@ -68,9 +54,11 @@ "Enable Path Style" : "Yol Biçemini Etkinleştir", "WebDAV" : "WebDAV", "URL" : "URL", + "Remote subfolder" : "Uzak alt klasör", "Secure https://" : "Güvenli https://", "Dropbox" : "Dropbox", "FTP" : "FTP", + "Host" : "Sunucu", "Secure ftps://" : "Güvenli ftps://", "Google Drive" : "Google Drive", "Local" : "Yerel", @@ -79,6 +67,9 @@ "SFTP" : "SFTP", "Root" : "Kök", "SMB / CIFS" : "SMB / CIFS", + "Share" : "Paylaş", + "Username as share" : "Paylaşım olarak kullanıcı adı", + "OpenStack Object Storage" : "OpenStack Nesne Depolama", "<b>Note:</b> " : "<b>Not:</b> ", "<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>Not:</b> PHP'de cURL desteği etkin veya kurulu değil. %s bağlaması mümkün olmayacak. Lütfen kurulumu için sistem yöneticilerinizle iletişime geçin.", "<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>Not:</b> PHP'de FTP desteği etkin veya kurulu değil. %s bağlaması mümkün olmayacak. Lütfen kurulumu için sistem yöneticilerinizle iletişime geçin.", diff --git a/apps/files_external/l10n/ug.js b/apps/files_external/l10n/ug.js index 5f3babc62b7..37adb851973 100644 --- a/apps/files_external/l10n/ug.js +++ b/apps/files_external/l10n/ug.js @@ -2,17 +2,17 @@ OC.L10N.register( "files_external", { "External storage" : "سىرتقى ساقلىغۇچ", - "Username" : "ئىشلەتكۈچى ئاتى", - "Host" : "باش ئاپپارات", - "Share" : "ھەمبەھىر", "Personal" : "شەخسىي", "None" : "يوق", + "Username" : "ئىشلەتكۈچى ئاتى", "Password" : "ئىم", "Port" : "ئېغىز", "WebDAV" : "WebDAV", "URL" : "URL", + "Host" : "باش ئاپپارات", "Location" : "ئورنى", "ownCloud" : "ownCloud", + "Share" : "ھەمبەھىر", "Name" : "ئاتى", "Folder name" : "قىسقۇچ ئاتى", "Configuration" : "سەپلىمە", diff --git a/apps/files_external/l10n/ug.json b/apps/files_external/l10n/ug.json index 129e146763c..f7a072bfe38 100644 --- a/apps/files_external/l10n/ug.json +++ b/apps/files_external/l10n/ug.json @@ -1,16 +1,16 @@ { "translations": { "External storage" : "سىرتقى ساقلىغۇچ", - "Username" : "ئىشلەتكۈچى ئاتى", - "Host" : "باش ئاپپارات", - "Share" : "ھەمبەھىر", "Personal" : "شەخسىي", "None" : "يوق", + "Username" : "ئىشلەتكۈچى ئاتى", "Password" : "ئىم", "Port" : "ئېغىز", "WebDAV" : "WebDAV", "URL" : "URL", + "Host" : "باش ئاپپارات", "Location" : "ئورنى", "ownCloud" : "ownCloud", + "Share" : "ھەمبەھىر", "Name" : "ئاتى", "Folder name" : "قىسقۇچ ئاتى", "Configuration" : "سەپلىمە", diff --git a/apps/files_external/l10n/uk.js b/apps/files_external/l10n/uk.js index 2ed42a012db..024d4fcf982 100644 --- a/apps/files_external/l10n/uk.js +++ b/apps/files_external/l10n/uk.js @@ -4,22 +4,6 @@ OC.L10N.register( "Step 1 failed. Exception: %s" : "1-й крок невдалий. Виключення: %s", "Step 2 failed. Exception: %s" : "2-й крок невдалий. Виключення: %s", "External storage" : "Зовнішнє сховище", - "OpenStack Object Storage" : "OpenStack Object Storage", - "Username" : "Ім'я користувача", - "Bucket" : "Кошик", - "Region (optional for OpenStack Object Storage)" : "Регіон (опціонально для OpenStack Object Storage)", - "API Key (required for Rackspace Cloud Files)" : "Ключ API (обов'язково для Rackspace Cloud Files)", - "Tenantname (required for OpenStack Object Storage)" : "Ім'я орендатора (обов'язково для OpenStack Object Storage)", - "Password (required for OpenStack Object Storage)" : "Пароль (обов’язково для OpenStack Object Storage)", - "Service Name (required for OpenStack Object Storage)" : "Назва сервісу (обов’язково для OpenStack Object Storage)", - "URL of identity endpoint (required for OpenStack Object Storage)" : "URL підтвердження кінцевої точки (обов'язково для OpenStack Object Storage)", - "Timeout of HTTP requests in seconds" : "Тайм-аут HTTP запитів на секунду", - "SMB / CIFS using OC login" : "SMB / CIFS з використанням логіна OC", - "Host" : "Хост", - "Username as share" : "Ім'я для відкритого доступу", - "Share" : "Поділитися", - "Remote subfolder" : "Віддалений підкаталог", - "Public key" : "Відкритий ключ", "Storage with id \"%i\" not found" : "Сховище з id \"%i\" не знайдено", "Invalid mount point" : "Невірна точка монтування", "Invalid storage backend \"%s\"" : "Невірне сховище \"%s\"", @@ -27,19 +11,23 @@ OC.L10N.register( "System" : "Система", "Grant access" : "Дозволити доступ", "Access granted" : "Доступ дозволено", + "Generate keys" : "Створити ключі", + "Error generating key pair" : "Помилка створення ключової пари", "Enable encryption" : "Увімкнути шифрування", "All users. Type to select user or group." : "Всі користувачі. Введіть ім'я користувача або групи.", "(group)" : "(група)", "Saved" : "Збережено", - "Generate keys" : "Створити ключі", - "Error generating key pair" : "Помилка створення ключової пари", "None" : "Жоден", "App key" : "Ключ додатку", "App secret" : "Секретний ключ додатку", "Client ID" : "Ідентифікатор клієнта", "Client secret" : "Ключ клієнта", + "Username" : "Ім'я користувача", "Password" : "Пароль", + "API key" : "ключ API", + "Public key" : "Відкритий ключ", "Amazon S3" : "Amazon S3", + "Bucket" : "Кошик", "Hostname" : "Ім'я хоста", "Port" : "Порт", "Region" : "Регіон", @@ -47,13 +35,18 @@ OC.L10N.register( "Enable Path Style" : "Включити стиль шляху", "WebDAV" : "WebDAV", "URL" : "URL", + "Remote subfolder" : "Віддалений підкаталог", "Secure https://" : "Захищений https://", "Dropbox" : "Dropbox", + "Host" : "Хост", "Secure ftps://" : "Захищений ftps://", "Local" : "Локально", "Location" : "Місце", "ownCloud" : "ownCloud", "Root" : "Батьківський каталог", + "Share" : "Поділитися", + "Username as share" : "Ім'я для відкритого доступу", + "OpenStack Object Storage" : "OpenStack Object Storage", "<b>Note:</b> " : "<b>Примітка:</b>", "<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Примітка:</b> Підтримку cURL в PHP не ввімкнено чи не встановлена. Під'єднатися до %s неможливо. Зверніться до системного адміністратора.", "<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Примітка:</b> Підтримку FTP в PHP не ввімкнено чи не встановлена. Під'єднатися до %s неможливо. Зверніться до системного адміністратора.", diff --git a/apps/files_external/l10n/uk.json b/apps/files_external/l10n/uk.json index 6024c5b02d5..fe5c43a8f39 100644 --- a/apps/files_external/l10n/uk.json +++ b/apps/files_external/l10n/uk.json @@ -2,22 +2,6 @@ "Step 1 failed. Exception: %s" : "1-й крок невдалий. Виключення: %s", "Step 2 failed. Exception: %s" : "2-й крок невдалий. Виключення: %s", "External storage" : "Зовнішнє сховище", - "OpenStack Object Storage" : "OpenStack Object Storage", - "Username" : "Ім'я користувача", - "Bucket" : "Кошик", - "Region (optional for OpenStack Object Storage)" : "Регіон (опціонально для OpenStack Object Storage)", - "API Key (required for Rackspace Cloud Files)" : "Ключ API (обов'язково для Rackspace Cloud Files)", - "Tenantname (required for OpenStack Object Storage)" : "Ім'я орендатора (обов'язково для OpenStack Object Storage)", - "Password (required for OpenStack Object Storage)" : "Пароль (обов’язково для OpenStack Object Storage)", - "Service Name (required for OpenStack Object Storage)" : "Назва сервісу (обов’язково для OpenStack Object Storage)", - "URL of identity endpoint (required for OpenStack Object Storage)" : "URL підтвердження кінцевої точки (обов'язково для OpenStack Object Storage)", - "Timeout of HTTP requests in seconds" : "Тайм-аут HTTP запитів на секунду", - "SMB / CIFS using OC login" : "SMB / CIFS з використанням логіна OC", - "Host" : "Хост", - "Username as share" : "Ім'я для відкритого доступу", - "Share" : "Поділитися", - "Remote subfolder" : "Віддалений підкаталог", - "Public key" : "Відкритий ключ", "Storage with id \"%i\" not found" : "Сховище з id \"%i\" не знайдено", "Invalid mount point" : "Невірна точка монтування", "Invalid storage backend \"%s\"" : "Невірне сховище \"%s\"", @@ -25,19 +9,23 @@ "System" : "Система", "Grant access" : "Дозволити доступ", "Access granted" : "Доступ дозволено", + "Generate keys" : "Створити ключі", + "Error generating key pair" : "Помилка створення ключової пари", "Enable encryption" : "Увімкнути шифрування", "All users. Type to select user or group." : "Всі користувачі. Введіть ім'я користувача або групи.", "(group)" : "(група)", "Saved" : "Збережено", - "Generate keys" : "Створити ключі", - "Error generating key pair" : "Помилка створення ключової пари", "None" : "Жоден", "App key" : "Ключ додатку", "App secret" : "Секретний ключ додатку", "Client ID" : "Ідентифікатор клієнта", "Client secret" : "Ключ клієнта", + "Username" : "Ім'я користувача", "Password" : "Пароль", + "API key" : "ключ API", + "Public key" : "Відкритий ключ", "Amazon S3" : "Amazon S3", + "Bucket" : "Кошик", "Hostname" : "Ім'я хоста", "Port" : "Порт", "Region" : "Регіон", @@ -45,13 +33,18 @@ "Enable Path Style" : "Включити стиль шляху", "WebDAV" : "WebDAV", "URL" : "URL", + "Remote subfolder" : "Віддалений підкаталог", "Secure https://" : "Захищений https://", "Dropbox" : "Dropbox", + "Host" : "Хост", "Secure ftps://" : "Захищений ftps://", "Local" : "Локально", "Location" : "Місце", "ownCloud" : "ownCloud", "Root" : "Батьківський каталог", + "Share" : "Поділитися", + "Username as share" : "Ім'я для відкритого доступу", + "OpenStack Object Storage" : "OpenStack Object Storage", "<b>Note:</b> " : "<b>Примітка:</b>", "<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Примітка:</b> Підтримку cURL в PHP не ввімкнено чи не встановлена. Під'єднатися до %s неможливо. Зверніться до системного адміністратора.", "<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Примітка:</b> Підтримку FTP в PHP не ввімкнено чи не встановлена. Під'єднатися до %s неможливо. Зверніться до системного адміністратора.", diff --git a/apps/files_external/l10n/ur_PK.js b/apps/files_external/l10n/ur_PK.js index b0571dbf198..55c8ee1f1bc 100644 --- a/apps/files_external/l10n/ur_PK.js +++ b/apps/files_external/l10n/ur_PK.js @@ -1,12 +1,12 @@ OC.L10N.register( "files_external", { - "Username" : "یوزر نیم", - "Share" : "تقسیم", "Personal" : "شخصی", + "Username" : "یوزر نیم", "Password" : "پاسورڈ", "URL" : "یو ار ایل", "Location" : "مقام", + "Share" : "تقسیم", "Name" : "اسم", "Delete" : "حذف کریں" }, diff --git a/apps/files_external/l10n/ur_PK.json b/apps/files_external/l10n/ur_PK.json index f9a4d5e26e2..e8b9c79e1f1 100644 --- a/apps/files_external/l10n/ur_PK.json +++ b/apps/files_external/l10n/ur_PK.json @@ -1,10 +1,10 @@ { "translations": { - "Username" : "یوزر نیم", - "Share" : "تقسیم", "Personal" : "شخصی", + "Username" : "یوزر نیم", "Password" : "پاسورڈ", "URL" : "یو ار ایل", "Location" : "مقام", + "Share" : "تقسیم", "Name" : "اسم", "Delete" : "حذف کریں" },"pluralForm" :"nplurals=2; plural=(n != 1);" diff --git a/apps/files_external/l10n/vi.js b/apps/files_external/l10n/vi.js index 6701ba4f324..49c746851eb 100644 --- a/apps/files_external/l10n/vi.js +++ b/apps/files_external/l10n/vi.js @@ -2,21 +2,21 @@ OC.L10N.register( "files_external", { "External storage" : "Lưu trữ ngoài", - "Username" : "Tên đăng nhập", - "Host" : "Máy chủ", - "Share" : "Chia sẻ", "Personal" : "Cá nhân", "Grant access" : "Cấp quyền truy cập", "Access granted" : "Đã cấp quyền truy cập", "Saved" : "Đã lưu", "None" : "Không gì cả", + "Username" : "Tên đăng nhập", "Password" : "Mật khẩu", "Port" : "Cổng", "Region" : "Vùng/miền", "WebDAV" : "WebDAV", "URL" : "URL", + "Host" : "Máy chủ", "Location" : "Vị trí", "ownCloud" : "ownCloud", + "Share" : "Chia sẻ", "Name" : "Tên", "External Storage" : "Lưu trữ ngoài", "Folder name" : "Tên thư mục", diff --git a/apps/files_external/l10n/vi.json b/apps/files_external/l10n/vi.json index 6a643399297..4daddc7ae57 100644 --- a/apps/files_external/l10n/vi.json +++ b/apps/files_external/l10n/vi.json @@ -1,20 +1,20 @@ { "translations": { "External storage" : "Lưu trữ ngoài", - "Username" : "Tên đăng nhập", - "Host" : "Máy chủ", - "Share" : "Chia sẻ", "Personal" : "Cá nhân", "Grant access" : "Cấp quyền truy cập", "Access granted" : "Đã cấp quyền truy cập", "Saved" : "Đã lưu", "None" : "Không gì cả", + "Username" : "Tên đăng nhập", "Password" : "Mật khẩu", "Port" : "Cổng", "Region" : "Vùng/miền", "WebDAV" : "WebDAV", "URL" : "URL", + "Host" : "Máy chủ", "Location" : "Vị trí", "ownCloud" : "ownCloud", + "Share" : "Chia sẻ", "Name" : "Tên", "External Storage" : "Lưu trữ ngoài", "Folder name" : "Tên thư mục", diff --git a/apps/files_external/l10n/zh_CN.js b/apps/files_external/l10n/zh_CN.js index 43941ac917c..535d945b028 100644 --- a/apps/files_external/l10n/zh_CN.js +++ b/apps/files_external/l10n/zh_CN.js @@ -4,12 +4,6 @@ OC.L10N.register( "Step 1 failed. Exception: %s" : "步骤 1 失败。异常:%s", "Step 2 failed. Exception: %s" : "步骤 2 失败。异常:%s", "External storage" : "外部存储", - "OpenStack Object Storage" : "OpenStack 对象存储", - "Username" : "用户名", - "SMB / CIFS using OC login" : "SMB / CIFS 使用 OC 登录信息", - "Host" : "主机", - "Share" : "共享", - "Remote subfolder" : "远程子文件夹", "Personal" : "个人", "System" : "系统", "Grant access" : "授权", @@ -17,7 +11,9 @@ OC.L10N.register( "Enable encryption" : "启用加密", "Saved" : "已保存", "None" : "无", + "Username" : "用户名", "Password" : "密码", + "API key" : "API密匙", "Amazon S3" : "Amazon S3", "Port" : "端口", "Region" : "地区", @@ -25,12 +21,16 @@ OC.L10N.register( "Enable Path Style" : "启用 Path Style", "WebDAV" : "WebDAV", "URL" : "URL", + "Remote subfolder" : "远程子文件夹", "Secure https://" : "安全 https://", + "Host" : "主机", "Secure ftps://" : "安全 ftps://", "Local" : "本地", "Location" : "地点", "ownCloud" : "ownCloud", "Root" : "根路径", + "Share" : "共享", + "OpenStack Object Storage" : "OpenStack 对象存储", "<b>Note:</b> " : "<b>注意:</b>", "Name" : "名称", "Storage type" : "存储类型", diff --git a/apps/files_external/l10n/zh_CN.json b/apps/files_external/l10n/zh_CN.json index 18402568132..ac75d680c7e 100644 --- a/apps/files_external/l10n/zh_CN.json +++ b/apps/files_external/l10n/zh_CN.json @@ -2,12 +2,6 @@ "Step 1 failed. Exception: %s" : "步骤 1 失败。异常:%s", "Step 2 failed. Exception: %s" : "步骤 2 失败。异常:%s", "External storage" : "外部存储", - "OpenStack Object Storage" : "OpenStack 对象存储", - "Username" : "用户名", - "SMB / CIFS using OC login" : "SMB / CIFS 使用 OC 登录信息", - "Host" : "主机", - "Share" : "共享", - "Remote subfolder" : "远程子文件夹", "Personal" : "个人", "System" : "系统", "Grant access" : "授权", @@ -15,7 +9,9 @@ "Enable encryption" : "启用加密", "Saved" : "已保存", "None" : "无", + "Username" : "用户名", "Password" : "密码", + "API key" : "API密匙", "Amazon S3" : "Amazon S3", "Port" : "端口", "Region" : "地区", @@ -23,12 +19,16 @@ "Enable Path Style" : "启用 Path Style", "WebDAV" : "WebDAV", "URL" : "URL", + "Remote subfolder" : "远程子文件夹", "Secure https://" : "安全 https://", + "Host" : "主机", "Secure ftps://" : "安全 ftps://", "Local" : "本地", "Location" : "地点", "ownCloud" : "ownCloud", "Root" : "根路径", + "Share" : "共享", + "OpenStack Object Storage" : "OpenStack 对象存储", "<b>Note:</b> " : "<b>注意:</b>", "Name" : "名称", "Storage type" : "存储类型", diff --git a/apps/files_external/l10n/zh_HK.js b/apps/files_external/l10n/zh_HK.js index ffeaab660a0..7a38dd7ffed 100644 --- a/apps/files_external/l10n/zh_HK.js +++ b/apps/files_external/l10n/zh_HK.js @@ -1,16 +1,16 @@ OC.L10N.register( "files_external", { - "Username" : "用戶名稱", - "Host" : "主機", - "Share" : "分享", "Personal" : "個人", "Saved" : "已儲存", "None" : "空", + "Username" : "用戶名稱", "Password" : "密碼", "Port" : "連接埠", "WebDAV" : "WebDAV", "URL" : "網址", + "Host" : "主機", + "Share" : "分享", "Name" : "名稱", "Folder name" : "資料夾名稱", "Delete" : "刪除" diff --git a/apps/files_external/l10n/zh_HK.json b/apps/files_external/l10n/zh_HK.json index 5ad37c40925..befeede4bbe 100644 --- a/apps/files_external/l10n/zh_HK.json +++ b/apps/files_external/l10n/zh_HK.json @@ -1,14 +1,14 @@ { "translations": { - "Username" : "用戶名稱", - "Host" : "主機", - "Share" : "分享", "Personal" : "個人", "Saved" : "已儲存", "None" : "空", + "Username" : "用戶名稱", "Password" : "密碼", "Port" : "連接埠", "WebDAV" : "WebDAV", "URL" : "網址", + "Host" : "主機", + "Share" : "分享", "Name" : "名稱", "Folder name" : "資料夾名稱", "Delete" : "刪除" diff --git a/apps/files_external/l10n/zh_TW.js b/apps/files_external/l10n/zh_TW.js index 61874198eb9..e4e01cd2d59 100644 --- a/apps/files_external/l10n/zh_TW.js +++ b/apps/files_external/l10n/zh_TW.js @@ -2,25 +2,26 @@ OC.L10N.register( "files_external", { "External storage" : "外部儲存", - "Username" : "使用者名稱", - "Host" : "主機", - "Share" : "分享", "Personal" : "個人", "System" : "系統", "Grant access" : "允許存取", "Access granted" : "允許存取", "Saved" : "已儲存", "None" : "無", + "Username" : "使用者名稱", "Password" : "密碼", + "API key" : "API金鑰", "Amazon S3" : "Amazon S3", "Port" : "連接埠", "Region" : "地區", "Enable SSL" : "啟用 SSL", "WebDAV" : "WebDAV", "URL" : "URL", + "Host" : "主機", "Local" : "本地", "Location" : "地點", "ownCloud" : "ownCloud", + "Share" : "分享", "<b>Note:</b> " : "<b>警告:</b> ", "<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>警告:</b> PHP 並未啓用 Curl 的支援,因此無法掛載 %s 。請洽您的系統管理員將其安裝並啓用。", "<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>警告</b>:PHP 並未啓用 FTP 的支援,因此無法掛載 %s,請洽您的系統管理員將其安裝並啓用。", diff --git a/apps/files_external/l10n/zh_TW.json b/apps/files_external/l10n/zh_TW.json index 28bb079fc7e..1ed049bc079 100644 --- a/apps/files_external/l10n/zh_TW.json +++ b/apps/files_external/l10n/zh_TW.json @@ -1,24 +1,25 @@ { "translations": { "External storage" : "外部儲存", - "Username" : "使用者名稱", - "Host" : "主機", - "Share" : "分享", "Personal" : "個人", "System" : "系統", "Grant access" : "允許存取", "Access granted" : "允許存取", "Saved" : "已儲存", "None" : "無", + "Username" : "使用者名稱", "Password" : "密碼", + "API key" : "API金鑰", "Amazon S3" : "Amazon S3", "Port" : "連接埠", "Region" : "地區", "Enable SSL" : "啟用 SSL", "WebDAV" : "WebDAV", "URL" : "URL", + "Host" : "主機", "Local" : "本地", "Location" : "地點", "ownCloud" : "ownCloud", + "Share" : "分享", "<b>Note:</b> " : "<b>警告:</b> ", "<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>警告:</b> PHP 並未啓用 Curl 的支援,因此無法掛載 %s 。請洽您的系統管理員將其安裝並啓用。", "<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>警告</b>:PHP 並未啓用 FTP 的支援,因此無法掛載 %s,請洽您的系統管理員將其安裝並啓用。", diff --git a/apps/files_external/lib/auth/authmechanism.php b/apps/files_external/lib/auth/authmechanism.php index 11d99bb330d..ddc0c6a4dca 100644 --- a/apps/files_external/lib/auth/authmechanism.php +++ b/apps/files_external/lib/auth/authmechanism.php @@ -22,7 +22,7 @@ namespace OCA\Files_External\Lib\Auth; use \OCA\Files_External\Lib\StorageConfig; -use \OCA\Files_External\Lib\VisibilityTrait; +use \OCA\Files_External\Lib\PermissionsTrait; use \OCA\Files_External\Lib\IdentifierTrait; use \OCA\Files_External\Lib\FrontendDefinitionTrait; use \OCA\Files_External\Lib\StorageModifierTrait; @@ -40,7 +40,7 @@ use \OCA\Files_External\Lib\StorageModifierTrait; * scheme, which are provided from the authentication mechanism. * * This class uses the following traits: - * - VisibilityTrait + * - PermissionsTrait * Restrict usage to admin-only/none * - FrontendDefinitionTrait * Specify configuration parameters and other definitions @@ -58,7 +58,7 @@ class AuthMechanism implements \JsonSerializable { const SCHEME_PUBLICKEY = 'publickey'; const SCHEME_OPENSTACK = 'openstack'; - use VisibilityTrait; + use PermissionsTrait; use FrontendDefinitionTrait; use StorageModifierTrait; use IdentifierTrait; diff --git a/apps/files_external/lib/auth/openstack/openstack.php b/apps/files_external/lib/auth/openstack/openstack.php new file mode 100644 index 00000000000..faf356bcf2e --- /dev/null +++ b/apps/files_external/lib/auth/openstack/openstack.php @@ -0,0 +1,48 @@ +<?php +/** + * @author Robin McCorkell <rmccorkell@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\Files_External\Lib\Auth\OpenStack; + +use \OCP\IL10N; +use \OCA\Files_External\Lib\DefinitionParameter; +use \OCA\Files_External\Lib\Auth\AuthMechanism; + +/** + * OpenStack Keystone authentication + */ +class OpenStack extends AuthMechanism { + + public function __construct(IL10N $l) { + $this + ->setIdentifier('openstack::openstack') + ->setScheme(self::SCHEME_OPENSTACK) + ->setText($l->t('OpenStack')) + ->addParameters([ + (new DefinitionParameter('user', $l->t('Username'))), + (new DefinitionParameter('password', $l->t('Password'))) + ->setType(DefinitionParameter::VALUE_PASSWORD), + (new DefinitionParameter('tenant', $l->t('Tenant name'))), + (new DefinitionParameter('url', $l->t('Identity endpoint URL'))), + ]) + ; + } + +} diff --git a/apps/files_external/lib/auth/openstack/rackspace.php b/apps/files_external/lib/auth/openstack/rackspace.php new file mode 100644 index 00000000000..9268f3aad87 --- /dev/null +++ b/apps/files_external/lib/auth/openstack/rackspace.php @@ -0,0 +1,46 @@ +<?php +/** + * @author Robin McCorkell <rmccorkell@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\Files_External\Lib\Auth\OpenStack; + +use \OCP\IL10N; +use \OCA\Files_External\Lib\DefinitionParameter; +use \OCA\Files_External\Lib\Auth\AuthMechanism; + +/** + * Rackspace authentication + */ +class Rackspace extends AuthMechanism { + + public function __construct(IL10N $l) { + $this + ->setIdentifier('openstack::rackspace') + ->setScheme(self::SCHEME_OPENSTACK) + ->setText($l->t('Rackspace')) + ->addParameters([ + (new DefinitionParameter('user', $l->t('Username'))), + (new DefinitionParameter('key', $l->t('API key'))) + ->setType(DefinitionParameter::VALUE_PASSWORD), + ]) + ; + } + +} diff --git a/apps/files_external/lib/auth/publickey/rsa.php b/apps/files_external/lib/auth/publickey/rsa.php new file mode 100644 index 00000000000..f40136dda01 --- /dev/null +++ b/apps/files_external/lib/auth/publickey/rsa.php @@ -0,0 +1,80 @@ +<?php +/** + * @author Robin McCorkell <rmccorkell@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\Files_External\Lib\Auth\PublicKey; + +use \OCP\IL10N; +use \OCA\Files_External\Lib\DefinitionParameter; +use \OCA\Files_External\Lib\Auth\AuthMechanism; +use \OCA\Files_External\Lib\StorageConfig; +use \OCP\IConfig; +use \phpseclib\Crypt\RSA as RSACrypt; + +/** + * RSA public key authentication + */ +class RSA extends AuthMechanism { + + const CREATE_KEY_BITS = 1024; + + /** @var IConfig */ + private $config; + + public function __construct(IL10N $l, IConfig $config) { + $this->config = $config; + + $this + ->setIdentifier('publickey::rsa') + ->setScheme(self::SCHEME_PUBLICKEY) + ->setText($l->t('RSA public key')) + ->addParameters([ + (new DefinitionParameter('user', $l->t('Username'))), + (new DefinitionParameter('public_key', $l->t('Public key'))), + (new DefinitionParameter('private_key', 'private_key')) + ->setType(DefinitionParameter::VALUE_HIDDEN), + ]) + ->setCustomJs('public_key') + ; + } + + public function manipulateStorageConfig(StorageConfig &$storage) { + $auth = new RSACrypt(); + $auth->setPassword($this->config->getSystemValue('secret', '')); + if (!$auth->loadKey($storage->getBackendOption('private_key'))) { + throw new \RuntimeException('unable to load private key'); + } + $storage->setBackendOption('public_key_auth', $auth); + } + + /** + * Generate a keypair + * + * @return array ['privatekey' => $privateKey, 'publickey' => $publicKey] + */ + public function createKey() { + $rsa = new RSACrypt(); + $rsa->setPublicKeyFormat(RSACrypt::PUBLIC_FORMAT_OPENSSH); + $rsa->setPassword($this->config->getSystemValue('secret', '')); + + return $rsa->createKey(self::CREATE_KEY_BITS); + } + +} diff --git a/apps/files_external/lib/backend/amazons3.php b/apps/files_external/lib/backend/amazons3.php index 880d47621f3..1cf62d7cb09 100644 --- a/apps/files_external/lib/backend/amazons3.php +++ b/apps/files_external/lib/backend/amazons3.php @@ -26,10 +26,14 @@ use \OCA\Files_External\Lib\Backend\Backend; use \OCA\Files_External\Lib\DefinitionParameter; use \OCA\Files_External\Lib\Auth\AuthMechanism; use \OCA\Files_External\Service\BackendService; +use \OCA\Files_External\Lib\LegacyDependencyCheckPolyfill; + use \OCA\Files_External\Lib\Auth\AmazonS3\AccessKey; class AmazonS3 extends Backend { + use LegacyDependencyCheckPolyfill; + public function __construct(IL10N $l, AccessKey $legacyAuth) { $this ->setIdentifier('amazons3') @@ -49,7 +53,6 @@ class AmazonS3 extends Backend { (new DefinitionParameter('use_path_style', $l->t('Enable Path Style'))) ->setType(DefinitionParameter::VALUE_BOOLEAN), ]) - ->setDependencyCheck('\OC\Files\Storage\AmazonS3::checkDependencies') ->addAuthScheme(AccessKey::SCHEME_AMAZONS3_ACCESSKEY) ->setLegacyAuthMechanism($legacyAuth) ; diff --git a/apps/files_external/lib/backend/backend.php b/apps/files_external/lib/backend/backend.php index 90d5d38ed94..2a2add3ac59 100644 --- a/apps/files_external/lib/backend/backend.php +++ b/apps/files_external/lib/backend/backend.php @@ -22,7 +22,7 @@ namespace OCA\Files_External\Lib\Backend; use \OCA\Files_External\Lib\StorageConfig; -use \OCA\Files_External\Lib\VisibilityTrait; +use \OCA\Files_External\Lib\PermissionsTrait; use \OCA\Files_External\Lib\FrontendDefinitionTrait; use \OCA\Files_External\Lib\PriorityTrait; use \OCA\Files_External\Lib\DependencyTrait; @@ -43,7 +43,7 @@ use \OCA\Files_External\Lib\Auth\AuthMechanism; * scheme, which are provided from the authentication mechanism. * * This class uses the following traits: - * - VisibilityTrait + * - PermissionsTrait * Restrict usage to admin-only/none * - FrontendDefinitionTrait * Specify configuration parameters and other definitions @@ -56,7 +56,7 @@ use \OCA\Files_External\Lib\Auth\AuthMechanism; */ class Backend implements \JsonSerializable { - use VisibilityTrait; + use PermissionsTrait; use FrontendDefinitionTrait; use PriorityTrait; use DependencyTrait; diff --git a/apps/files_external/lib/backend/dav.php b/apps/files_external/lib/backend/dav.php index 5ae6d122588..c4f446548e1 100644 --- a/apps/files_external/lib/backend/dav.php +++ b/apps/files_external/lib/backend/dav.php @@ -26,11 +26,14 @@ use \OCA\Files_External\Lib\Backend\Backend; use \OCA\Files_External\Lib\DefinitionParameter; use \OCA\Files_External\Lib\Auth\AuthMechanism; use \OCA\Files_External\Service\BackendService; +use \OCA\Files_External\Lib\LegacyDependencyCheckPolyfill; use \OCA\Files_External\Lib\Auth\Password\Password; class DAV extends Backend { + use LegacyDependencyCheckPolyfill; + public function __construct(IL10N $l, Password $legacyAuth) { $this ->setIdentifier('dav') @@ -44,7 +47,6 @@ class DAV extends Backend { (new DefinitionParameter('secure', $l->t('Secure https://'))) ->setType(DefinitionParameter::VALUE_BOOLEAN), ]) - ->setDependencyCheck('\OC\Files\Storage\DAV::checkDependencies') ->addAuthScheme(AuthMechanism::SCHEME_PASSWORD) ->setLegacyAuthMechanism($legacyAuth) ; diff --git a/apps/files_external/lib/backend/dropbox.php b/apps/files_external/lib/backend/dropbox.php index bfd2e4cddc4..3e595cb0a9c 100644 --- a/apps/files_external/lib/backend/dropbox.php +++ b/apps/files_external/lib/backend/dropbox.php @@ -26,10 +26,14 @@ use \OCA\Files_External\Lib\Backend\Backend; use \OCA\Files_External\Lib\DefinitionParameter; use \OCA\Files_External\Lib\Auth\AuthMechanism; use \OCA\Files_External\Service\BackendService; +use \OCA\Files_External\Lib\LegacyDependencyCheckPolyfill; + use \OCA\Files_External\Lib\Auth\OAuth1\OAuth1; class Dropbox extends Backend { + use LegacyDependencyCheckPolyfill; + public function __construct(IL10N $l, OAuth1 $legacyAuth) { $this ->setIdentifier('dropbox') @@ -39,7 +43,6 @@ class Dropbox extends Backend { ->addParameters([ // all parameters handled in OAuth1 mechanism ]) - ->setDependencyCheck('\OC\Files\Storage\Dropbox::checkDependencies') ->addAuthScheme(AuthMechanism::SCHEME_OAUTH1) ->setLegacyAuthMechanism($legacyAuth) ; diff --git a/apps/files_external/lib/backend/ftp.php b/apps/files_external/lib/backend/ftp.php index df6ca37679e..1caf3a8fcb8 100644 --- a/apps/files_external/lib/backend/ftp.php +++ b/apps/files_external/lib/backend/ftp.php @@ -26,11 +26,14 @@ use \OCA\Files_External\Lib\Backend\Backend; use \OCA\Files_External\Lib\DefinitionParameter; use \OCA\Files_External\Lib\Auth\AuthMechanism; use \OCA\Files_External\Service\BackendService; +use \OCA\Files_External\Lib\LegacyDependencyCheckPolyfill; use \OCA\Files_External\Lib\Auth\Password\Password; class FTP extends Backend { + use LegacyDependencyCheckPolyfill; + public function __construct(IL10N $l, Password $legacyAuth) { $this ->setIdentifier('ftp') @@ -44,7 +47,6 @@ class FTP extends Backend { (new DefinitionParameter('secure', $l->t('Secure ftps://'))) ->setType(DefinitionParameter::VALUE_BOOLEAN), ]) - ->setDependencyCheck('\OC\Files\Storage\FTP::checkDependencies') ->addAuthScheme(AuthMechanism::SCHEME_PASSWORD) ->setLegacyAuthMechanism($legacyAuth) ; diff --git a/apps/files_external/lib/backend/google.php b/apps/files_external/lib/backend/google.php index b46b2f653a6..bc0b52c464b 100644 --- a/apps/files_external/lib/backend/google.php +++ b/apps/files_external/lib/backend/google.php @@ -26,10 +26,14 @@ use \OCA\Files_External\Lib\Backend\Backend; use \OCA\Files_External\Lib\DefinitionParameter; use \OCA\Files_External\Lib\Auth\AuthMechanism; use \OCA\Files_External\Service\BackendService; +use \OCA\Files_External\Lib\LegacyDependencyCheckPolyfill; + use \OCA\Files_External\Lib\Auth\OAuth2\OAuth2; class Google extends Backend { + use LegacyDependencyCheckPolyfill; + public function __construct(IL10N $l, OAuth2 $legacyAuth) { $this ->setIdentifier('googledrive') @@ -39,7 +43,6 @@ class Google extends Backend { ->addParameters([ // all parameters handled in OAuth2 mechanism ]) - ->setDependencyCheck('\OC\Files\Storage\Google::checkDependencies') ->addAuthScheme(AuthMechanism::SCHEME_OAUTH2) ->setLegacyAuthMechanism($legacyAuth) ; diff --git a/apps/files_external/lib/backend/legacybackend.php b/apps/files_external/lib/backend/legacybackend.php index 0f60c2caa47..83a5b45940d 100644 --- a/apps/files_external/lib/backend/legacybackend.php +++ b/apps/files_external/lib/backend/legacybackend.php @@ -24,12 +24,21 @@ namespace OCA\Files_External\Lib\Backend; use \OCA\Files_External\Lib\DefinitionParameter; use \OCA\Files_External\Lib\Backend\Backend; use \OCA\Files_External\Lib\Auth\Builtin; +use \OCA\Files_External\Lib\MissingDependency; +use \OCA\Files_External\Lib\LegacyDependencyCheckPolyfill; /** * Legacy compatibility for OC_Mount_Config::registerBackend() */ class LegacyBackend extends Backend { + use LegacyDependencyCheckPolyfill { + LegacyDependencyCheckPolyfill::checkDependencies as doCheckDependencies; + } + + /** @var bool */ + protected $hasDependencies = false; + /** * @param string $class * @param array $definition @@ -78,8 +87,18 @@ class LegacyBackend extends Backend { $this->setCustomJs($definition['custom']); } if (isset($definition['has_dependencies']) && $definition['has_dependencies']) { - $this->setDependencyCheck($class . '::checkDependencies'); + $this->hasDependencies = true; + } + } + + /** + * @return MissingDependency[] + */ + public function checkDependencies() { + if ($this->hasDependencies) { + return $this->doCheckDependencies(); } + return []; } } diff --git a/apps/files_external/lib/backend/local.php b/apps/files_external/lib/backend/local.php index a80b437fab7..a6635491b6e 100644 --- a/apps/files_external/lib/backend/local.php +++ b/apps/files_external/lib/backend/local.php @@ -39,7 +39,7 @@ class Local extends Backend { ->addParameters([ (new DefinitionParameter('datadir', $l->t('Location'))), ]) - ->setAllowedVisibility(BackendService::VISIBILITY_ADMIN) + ->setAllowedPermissions(BackendService::USER_PERSONAL, BackendService::PERMISSION_NONE) ->setPriority(BackendService::PRIORITY_DEFAULT + 50) ->addAuthScheme(AuthMechanism::SCHEME_NULL) ->setLegacyAuthMechanism($legacyAuth) diff --git a/apps/files_external/lib/backend/sftp.php b/apps/files_external/lib/backend/sftp.php index dd0f5d8e2e0..c0bcd27c54b 100644 --- a/apps/files_external/lib/backend/sftp.php +++ b/apps/files_external/lib/backend/sftp.php @@ -43,6 +43,7 @@ class SFTP extends Backend { ->setFlag(DefinitionParameter::FLAG_OPTIONAL), ]) ->addAuthScheme(AuthMechanism::SCHEME_PASSWORD) + ->addAuthScheme(AuthMechanism::SCHEME_PUBLICKEY) ->setLegacyAuthMechanism($legacyAuth) ; } diff --git a/apps/files_external/lib/backend/sftp_key.php b/apps/files_external/lib/backend/sftp_key.php new file mode 100644 index 00000000000..6a75172026d --- /dev/null +++ b/apps/files_external/lib/backend/sftp_key.php @@ -0,0 +1,50 @@ +<?php +/** + * @author Robin McCorkell <rmccorkell@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\Files_External\Lib\Backend; + +use \OCP\IL10N; +use \OCA\Files_External\Lib\Backend\Backend; +use \OCA\Files_External\Lib\DefinitionParameter; +use \OCA\Files_External\Lib\Auth\AuthMechanism; +use \OCA\Files_External\Service\BackendService; +use \OCA\Files_External\Lib\Auth\PublicKey\RSA; + +class SFTP_Key extends Backend { + + public function __construct(IL10N $l, RSA $legacyAuth) { + $this + ->setIdentifier('\OC\Files\Storage\SFTP_Key') + ->setStorageClass('\OC\Files\Storage\SFTP') + ->setText($l->t('SFTP with secret key login [DEPRECATED]')) + ->addParameters([ + (new DefinitionParameter('host', $l->t('Host'))), + (new DefinitionParameter('root', $l->t('Remote subfolder'))) + ->setFlag(DefinitionParameter::FLAG_OPTIONAL), + ]) + ->removeAllowedPermission(BackendService::USER_PERSONAL, BackendService::PERMISSION_CREATE) + ->removeAllowedPermission(BackendService::USER_ADMIN, BackendService::PERMISSION_CREATE) + ->addAuthScheme(AuthMechanism::SCHEME_PUBLICKEY) + ->setLegacyAuthMechanism($legacyAuth) + ; + } + +} diff --git a/apps/files_external/lib/backend/smb.php b/apps/files_external/lib/backend/smb.php index 3d950a80c31..350eca1de34 100644 --- a/apps/files_external/lib/backend/smb.php +++ b/apps/files_external/lib/backend/smb.php @@ -26,11 +26,14 @@ use \OCA\Files_External\Lib\Backend\Backend; use \OCA\Files_External\Lib\DefinitionParameter; use \OCA\Files_External\Lib\Auth\AuthMechanism; use \OCA\Files_External\Service\BackendService; +use \OCA\Files_External\Lib\LegacyDependencyCheckPolyfill; use \OCA\Files_External\Lib\Auth\Password\Password; class SMB extends Backend { + use LegacyDependencyCheckPolyfill; + public function __construct(IL10N $l, Password $legacyAuth) { $this ->setIdentifier('smb') @@ -43,7 +46,6 @@ class SMB extends Backend { (new DefinitionParameter('root', $l->t('Remote subfolder'))) ->setFlag(DefinitionParameter::FLAG_OPTIONAL), ]) - ->setDependencyCheck('\OC\Files\Storage\SMB::checkDependencies') ->addAuthScheme(AuthMechanism::SCHEME_PASSWORD) ->setLegacyAuthMechanism($legacyAuth) ; diff --git a/apps/files_external/lib/backend/smb_oc.php b/apps/files_external/lib/backend/smb_oc.php new file mode 100644 index 00000000000..d21b0ddaf42 --- /dev/null +++ b/apps/files_external/lib/backend/smb_oc.php @@ -0,0 +1,71 @@ +<?php +/** + * @author Robin McCorkell <rmccorkell@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\Files_External\Lib\Backend; + +use \OCP\IL10N; +use \OCA\Files_External\Lib\Backend\Backend; +use \OCA\Files_External\Lib\DefinitionParameter; +use \OCA\Files_External\Lib\Auth\AuthMechanism; +use \OCA\Files_External\Service\BackendService; +use \OCA\Files_External\Lib\Auth\Password\SessionCredentials; +use \OCA\Files_External\Lib\StorageConfig; +use \OCA\Files_External\Lib\LegacyDependencyCheckPolyfill; + +/** + * Deprecated SMB_OC class - use SMB with the password::sessioncredentials auth mechanism + */ +class SMB_OC extends Backend { + + use LegacyDependencyCheckPolyfill; + + public function __construct(IL10N $l, SessionCredentials $legacyAuth) { + $this + ->setIdentifier('\OC\Files\Storage\SMB_OC') + ->setStorageClass('\OC\Files\Storage\SMB') + ->setText($l->t('SMB / CIFS using OC login [DEPRECATED]')) + ->addParameters([ + (new DefinitionParameter('host', $l->t('Host'))), + (new DefinitionParameter('username_as_share', $l->t('Username as share'))) + ->setType(DefinitionParameter::VALUE_BOOLEAN), + (new DefinitionParameter('share', $l->t('Share'))) + ->setFlag(DefinitionParameter::FLAG_OPTIONAL), + (new DefinitionParameter('root', $l->t('Remote subfolder'))) + ->setFlag(DefinitionParameter::FLAG_OPTIONAL), + ]) + ->removeAllowedPermission(BackendService::USER_PERSONAL, BackendService::PERMISSION_CREATE) + ->removeAllowedPermission(BackendService::USER_ADMIN, BackendService::PERMISSION_CREATE) + ->setPriority(BackendService::PRIORITY_DEFAULT - 10) + ->addAuthScheme(AuthMechanism::SCHEME_PASSWORD) + ->setLegacyAuthMechanism($legacyAuth) + ; + } + + public function manipulateStorageConfig(StorageConfig &$storage) { + $username_as_share = ($storage->getBackendOption('username_as_share') === true); + + if ($username_as_share) { + $share = '/' . $storage->getBackendOption('user'); + $storage->setBackendOption('share', $share); + } + } + +} diff --git a/apps/files_external/lib/backend/swift.php b/apps/files_external/lib/backend/swift.php new file mode 100644 index 00000000000..2e14855206c --- /dev/null +++ b/apps/files_external/lib/backend/swift.php @@ -0,0 +1,62 @@ +<?php +/** + * @author Robin McCorkell <rmccorkell@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\Files_External\Lib\Backend; + +use \OCP\IL10N; +use \OCA\Files_External\Lib\Backend\Backend; +use \OCA\Files_External\Lib\DefinitionParameter; +use \OCA\Files_External\Lib\Auth\AuthMechanism; +use \OCA\Files_External\Service\BackendService; +use \OCA\Files_External\Lib\Auth\OpenStack\OpenStack; +use \OCA\Files_External\Lib\Auth\OpenStack\Rackspace; +use \OCA\Files_External\Lib\LegacyDependencyCheckPolyfill; + +class Swift extends Backend { + + use LegacyDependencyCheckPolyfill; + + public function __construct(IL10N $l, OpenStack $openstackAuth, Rackspace $rackspaceAuth) { + $this + ->setIdentifier('swift') + ->addIdentifierAlias('\OC\Files\Storage\Swift') // legacy compat + ->setStorageClass('\OC\Files\Storage\Swift') + ->setText($l->t('OpenStack Object Storage')) + ->addParameters([ + (new DefinitionParameter('service_name', $l->t('Service name'))) + ->setFlag(DefinitionParameter::FLAG_OPTIONAL), + (new DefinitionParameter('region', $l->t('Region'))) + ->setFlag(DefinitionParameter::FLAG_OPTIONAL), + (new DefinitionParameter('bucket', $l->t('Bucket'))), + (new DefinitionParameter('timeout', $l->t('Request timeout (seconds)'))) + ->setFlag(DefinitionParameter::FLAG_OPTIONAL), + ]) + ->addAuthScheme(AuthMechanism::SCHEME_OPENSTACK) + ->setLegacyAuthMechanismCallback(function(array $params) use ($openstackAuth, $rackspaceAuth) { + if (isset($params['options']['key']) && $params['options']['key']) { + return $rackspaceAuth; + } + return $openstackAuth; + }) + ; + } + +} diff --git a/apps/files_external/lib/config.php b/apps/files_external/lib/config.php index 62932dc4028..2dc7de30a6c 100644 --- a/apps/files_external/lib/config.php +++ b/apps/files_external/lib/config.php @@ -81,9 +81,7 @@ class OC_Mount_Config { * @param array $data */ public static function initMountPointsHook($data) { - self::addStorageIdToConfig(null); if ($data['user']) { - self::addStorageIdToConfig($data['user']); $user = \OC::$server->getUserManager()->get($data['user']); if (!$user) { \OC::$server->getLogger()->warning( @@ -210,7 +208,6 @@ class OC_Mount_Config { 'users' => $storage->getApplicableUsers(), ]; $mountEntry['id'] = $storage->getId(); - // $mountEntry['storage_id'] = null; // we don't store this! return $mountEntry; } @@ -310,14 +307,6 @@ class OC_Mount_Config { $file = $config->getSystemValue('mount_file', $datadir . '/mount.json'); } - foreach ($data as &$applicables) { - foreach ($applicables as &$mountPoints) { - foreach ($mountPoints as &$options) { - self::addStorageId($options); - } - } - } - $content = json_encode($data, JSON_PRETTY_PRINT); @file_put_contents($file, $content); @chmod($file, 0640); @@ -492,60 +481,4 @@ class OC_Mount_Config { ); return hash('md5', $data); } - - /** - * Add storage id to the storage configurations that did not have any. - * - * @param string $user user for which to process storage configs - */ - private static function addStorageIdToConfig($user) { - $config = self::readData($user); - - $needUpdate = false; - foreach ($config as &$applicables) { - foreach ($applicables as &$mountPoints) { - foreach ($mountPoints as &$options) { - $needUpdate |= !isset($options['storage_id']); - } - } - } - - if ($needUpdate) { - self::writeData($user, $config); - } - } - - /** - * Get storage id from the numeric storage id and set - * it into the given options argument. Only do this - * if there was no storage id set yet. - * - * This might also fail if a storage wasn't fully configured yet - * and couldn't be mounted, in which case this will simply return false. - * - * @param array $options storage options - * - * @return bool true if the storage id was added, false otherwise - */ - private static function addStorageId(&$options) { - if (isset($options['storage_id'])) { - return false; - } - - $service = self::$app->getContainer()->query('OCA\Files_External\Service\BackendService'); - $class = $service->getBackend($options['backend'])->getStorageClass(); - try { - /** @var \OC\Files\Storage\Storage $storage */ - $storage = new $class($options['options']); - // TODO: introduce StorageConfigException - } catch (\Exception $e) { - // storage might not be fully configured yet (ex: Dropbox) - // note that storage instances aren't supposed to open any connections - // in the constructor, so this exception is likely to be a config exception - return false; - } - - $options['storage_id'] = $storage->getCache()->getNumericStorageId(); - return true; - } } diff --git a/apps/files_external/lib/dependencytrait.php b/apps/files_external/lib/dependencytrait.php index 116421eab14..f0d6d6080e5 100644 --- a/apps/files_external/lib/dependencytrait.php +++ b/apps/files_external/lib/dependencytrait.php @@ -28,58 +28,13 @@ use \OCA\Files_External\Lib\MissingDependency; */ trait DependencyTrait { - /** @var callable|null dependency check */ - private $dependencyCheck = null; - - /** - * @return bool - */ - public function hasDependencies() { - return !is_null($this->dependencyCheck); - } - - /** - * @param callable $dependencyCheck - * @return self - */ - public function setDependencyCheck(callable $dependencyCheck) { - $this->dependencyCheck = $dependencyCheck; - return $this; - } - /** * Check if object is valid for use * * @return MissingDependency[] Unsatisfied dependencies */ public function checkDependencies() { - $ret = []; - - if ($this->hasDependencies()) { - $result = call_user_func($this->dependencyCheck); - if ($result !== true) { - if (!is_array($result)) { - $result = [$result]; - } - foreach ($result as $key => $value) { - if (!($value instanceof MissingDependency)) { - $module = null; - $message = null; - if (is_numeric($key)) { - $module = $value; - } else { - $module = $key; - $message = $value; - } - $value = new MissingDependency($module, $this); - $value->setMessage($message); - } - $ret[] = $value; - } - } - } - - return $ret; + return []; // no dependencies by default } } diff --git a/apps/files_external/lib/legacydependencycheckpolyfill.php b/apps/files_external/lib/legacydependencycheckpolyfill.php new file mode 100644 index 00000000000..7bb137fb3e1 --- /dev/null +++ b/apps/files_external/lib/legacydependencycheckpolyfill.php @@ -0,0 +1,70 @@ +<?php +/** + * @author Robin McCorkell <rmccorkell@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\Files_External\Lib; + +use \OCA\Files_External\Lib\MissingDependency; + +/** + * Polyfill for checking dependencies using legacy Storage::checkDependencies() + */ +trait LegacyDependencyCheckPolyfill { + + /** + * @return string + */ + abstract public function getStorageClass(); + + /** + * Check if object is valid for use + * + * @return MissingDependency[] Unsatisfied dependencies + */ + public function checkDependencies() { + $ret = []; + + $result = call_user_func([$this->getStorageClass(), 'checkDependencies']); + if ($result !== true) { + if (!is_array($result)) { + $result = [$result]; + } + foreach ($result as $key => $value) { + if (!($value instanceof MissingDependency)) { + $module = null; + $message = null; + if (is_numeric($key)) { + $module = $value; + } else { + $module = $key; + $message = $value; + } + $value = new MissingDependency($module, $this); + $value->setMessage($message); + } + $ret[] = $value; + } + } + + return $ret; + } + +} + diff --git a/apps/files_external/lib/permissionstrait.php b/apps/files_external/lib/permissionstrait.php new file mode 100644 index 00000000000..8509a01e422 --- /dev/null +++ b/apps/files_external/lib/permissionstrait.php @@ -0,0 +1,164 @@ +<?php +/** + * @author Robin McCorkell <rmccorkell@karoshi.org.uk> + * + * @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\Files_External\Lib; + +use \OCA\Files_External\Service\BackendService; + +/** + * Trait to implement backend and auth mechanism permissions + * + * For user type constants, see BackendService::USER_* + * For permission constants, see BackendService::PERMISSION_* + */ +trait PermissionsTrait { + + /** @var array [user type => permissions] */ + protected $permissions = [ + BackendService::USER_PERSONAL => BackendService::PERMISSION_DEFAULT, + BackendService::USER_ADMIN => BackendService::PERMISSION_DEFAULT, + ]; + + /** @var array [user type => allowed permissions] */ + protected $allowedPermissions = [ + BackendService::USER_PERSONAL => BackendService::PERMISSION_DEFAULT, + BackendService::USER_ADMIN => BackendService::PERMISSION_DEFAULT, + ]; + + /** + * @param string $userType + * @return int + */ + public function getPermissions($userType) { + if (isset($this->permissions[$userType])) { + return $this->permissions[$userType]; + } + return BackendService::PERMISSION_NONE; + } + + /** + * Check if the user type has permission + * + * @param string $userType + * @param int $permission + * @return bool + */ + public function isPermitted($userType, $permission) { + if ($this->getPermissions($userType) & $permission) { + return true; + } + return false; + } + + /** + * @param string $userType + * @param int $permissions + * @return self + */ + public function setPermissions($userType, $permissions) { + $this->permissions[$userType] = $permissions; + $this->allowedPermissions[$userType] = + $this->getAllowedPermissions($userType) | $permissions; + return $this; + } + + /** + * @param string $userType + * @param int $permission + * @return self + */ + public function addPermission($userType, $permission) { + return $this->setPermissions($userType, + $this->getPermissions($userType) | $permission + ); + } + + /** + * @param string $userType + * @param int $permission + * @return self + */ + public function removePermission($userType, $permission) { + return $this->setPermissions($userType, + $this->getPermissions($userType) & ~$permission + ); + } + + /** + * @param string $userType + * @return int + */ + public function getAllowedPermissions($userType) { + if (isset($this->allowedPermissions[$userType])) { + return $this->allowedPermissions[$userType]; + } + return BackendService::PERMISSION_NONE; + } + + /** + * Check if the user type has an allowed permission + * + * @param string $userType + * @param int $permission + * @return bool + */ + public function isAllowedPermitted($userType, $permission) { + if ($this->getAllowedPermissions($userType) & $permission) { + return true; + } + return false; + } + + /** + * @param string $userType + * @param int $permissions + * @return self + */ + public function setAllowedPermissions($userType, $permissions) { + $this->allowedPermissions[$userType] = $permissions; + $this->permissions[$userType] = + $this->getPermissions($userType) & $permissions; + return $this; + } + + /** + * @param string $userType + * @param int $permission + * @return self + */ + public function addAllowedPermission($userType, $permission) { + return $this->setAllowedPermissions($userType, + $this->getAllowedPermissions($userType) | $permission + ); + } + + /** + * @param string $userType + * @param int $permission + * @return self + */ + public function removeAllowedPermission($userType, $permission) { + return $this->setAllowedPermissions($userType, + $this->getAllowedPermissions($userType) & ~$permission + ); + } + +} diff --git a/apps/files_external/lib/sftp.php b/apps/files_external/lib/sftp.php index 7f921b5342f..921e7283c66 100644 --- a/apps/files_external/lib/sftp.php +++ b/apps/files_external/lib/sftp.php @@ -40,10 +40,11 @@ use phpseclib\Net\SFTP\Stream; class SFTP extends \OC\Files\Storage\Common { private $host; private $user; - private $password; private $root; private $port = 22; + private $auth; + /** * @var SFTP */ @@ -73,8 +74,15 @@ class SFTP extends \OC\Files\Storage\Common { } $this->user = $params['user']; - $this->password - = isset($params['password']) ? $params['password'] : ''; + + if (isset($params['public_key_auth'])) { + $this->auth = $params['public_key_auth']; + } elseif (isset($params['password'])) { + $this->auth = $params['password']; + } else { + throw new \UnexpectedValueException('no authentication parameters specified'); + } + $this->root = isset($params['root']) ? $this->cleanPath($params['root']) : '/'; @@ -112,7 +120,7 @@ class SFTP extends \OC\Files\Storage\Common { $this->writeHostKeys($hostKeys); } - if (!$this->client->login($this->user, $this->password)) { + if (!$this->client->login($this->user, $this->auth)) { throw new \Exception('Login failed'); } return $this->client; @@ -125,7 +133,6 @@ class SFTP extends \OC\Files\Storage\Common { if ( !isset($this->host) || !isset($this->user) - || !isset($this->password) ) { return false; } diff --git a/apps/files_external/lib/sftp_key.php b/apps/files_external/lib/sftp_key.php deleted file mode 100644 index a193b323678..00000000000 --- a/apps/files_external/lib/sftp_key.php +++ /dev/null @@ -1,215 +0,0 @@ -<?php -/** - * @author Lukas Reschke <lukas@owncloud.com> - * @author Morris Jobke <hey@morrisjobke.de> - * @author Ross Nicoll <jrn@jrn.me.uk> - * - * @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 OC\Files\Storage; - -use phpseclib\Crypt\RSA; - -class SFTP_Key extends \OC\Files\Storage\SFTP { - private $publicKey; - private $privateKey; - - /** - * {@inheritdoc} - */ - public function __construct($params) { - parent::__construct($params); - $this->publicKey = $params['public_key']; - $this->privateKey = $params['private_key']; - } - - /** - * Returns the connection. - * - * @return \phpseclib\Net\SFTP connected client instance - * @throws \Exception when the connection failed - */ - public function getConnection() { - if (!is_null($this->client)) { - return $this->client; - } - - $hostKeys = $this->readHostKeys(); - $this->client = new \phpseclib\Net\SFTP($this->getHost()); - - // The SSH Host Key MUST be verified before login(). - $currentHostKey = $this->client->getServerPublicHostKey(); - if (array_key_exists($this->getHost(), $hostKeys)) { - if ($hostKeys[$this->getHost()] !== $currentHostKey) { - throw new \Exception('Host public key does not match known key'); - } - } else { - $hostKeys[$this->getHost()] = $currentHostKey; - $this->writeHostKeys($hostKeys); - } - - $key = $this->getPrivateKey(); - if (is_null($key)) { - throw new \Exception('Secret key could not be loaded'); - } - if (!$this->client->login($this->getUser(), $key)) { - throw new \Exception('Login failed'); - } - return $this->client; - } - - /** - * Returns the private key to be used for authentication to the remote server. - * - * @return RSA instance or null in case of a failure to load the key. - */ - private function getPrivateKey() { - $key = new RSA(); - $key->setPassword(\OC::$server->getConfig()->getSystemValue('secret', '')); - if (!$key->loadKey($this->privateKey)) { - // Should this exception rather than return null? - return null; - } - return $key; - } - - /** - * Throws an exception if the provided host name/address is invalid (cannot be resolved - * and is not an IPv4 address). - * - * @return true; never returns in case of a problem, this return value is used just to - * make unit tests happy. - */ - public function assertHostAddressValid($hostname) { - // TODO: Should handle IPv6 addresses too - if (!preg_match('/^\d+\.\d+\.\d+\.\d+$/', $hostname) && gethostbyname($hostname) === $hostname) { - // Hostname is not an IPv4 address and cannot be resolved via DNS - throw new \InvalidArgumentException('Cannot resolve hostname.'); - } - return true; - } - - /** - * Throws an exception if the provided port number is invalid (cannot be resolved - * and is not an IPv4 address). - * - * @return true; never returns in case of a problem, this return value is used just to - * make unit tests happy. - */ - public function assertPortNumberValid($port) { - if (!preg_match('/^\d+$/', $port)) { - throw new \InvalidArgumentException('Port number must be a number.'); - } - if ($port < 0 || $port > 65535) { - throw new \InvalidArgumentException('Port number must be between 0 and 65535 inclusive.'); - } - return true; - } - - /** - * Replaces anything that's not an alphanumeric character or "." in a hostname - * with "_", to make it safe for use as part of a file name. - */ - protected function sanitizeHostName($name) { - return preg_replace('/[^\d\w\._]/', '_', $name); - } - - /** - * Replaces anything that's not an alphanumeric character or "_" in a username - * with "_", to make it safe for use as part of a file name. - */ - protected function sanitizeUserName($name) { - return preg_replace('/[^\d\w_]/', '_', $name); - } - - public function test() { - - // FIXME: Use as expression in empty once PHP 5.4 support is dropped - $host = $this->getHost(); - if (empty($host)) { - \OC::$server->getLogger()->warning('Hostname has not been specified'); - return false; - } - // FIXME: Use as expression in empty once PHP 5.4 support is dropped - $user = $this->getUser(); - if (empty($user)) { - \OC::$server->getLogger()->warning('Username has not been specified'); - return false; - } - if (!isset($this->privateKey)) { - \OC::$server->getLogger()->warning('Private key was missing from the request'); - return false; - } - - // Sanity check the host - $hostParts = explode(':', $this->getHost()); - try { - if (count($hostParts) == 1) { - $hostname = $hostParts[0]; - $this->assertHostAddressValid($hostname); - } else if (count($hostParts) == 2) { - $hostname = $hostParts[0]; - $this->assertHostAddressValid($hostname); - $this->assertPortNumberValid($hostParts[1]); - } else { - throw new \Exception('Host connection string is invalid.'); - } - } catch(\Exception $e) { - \OC::$server->getLogger()->warning($e->getMessage()); - return false; - } - - // Validate the key - $key = $this->getPrivateKey(); - if (is_null($key)) { - \OC::$server->getLogger()->warning('Secret key could not be loaded'); - return false; - } - - try { - if ($this->getConnection()->nlist() === false) { - return false; - } - } catch(\Exception $e) { - // We should be throwing a more specific error, so we're not just catching - // Exception here - \OC::$server->getLogger()->warning($e->getMessage()); - return false; - } - - // Save the key somewhere it can easily be extracted later - if (\OC::$server->getUserSession()->getUser()) { - $view = new \OC\Files\View('/'.\OC::$server->getUserSession()->getUser()->getUId().'/files_external/sftp_keys'); - if (!$view->is_dir('')) { - if (!$view->mkdir('')) { - \OC::$server->getLogger()->warning('Could not create secret key directory.'); - return false; - } - } - $key_filename = $this->sanitizeUserName($this->getUser()).'@'.$this->sanitizeHostName($hostname).'.pub'; - $key_file = $view->fopen($key_filename, "w"); - if ($key_file) { - fwrite($key_file, $this->publicKey); - fclose($key_file); - } else { - \OC::$server->getLogger()->warning('Could not write secret key file.'); - } - } - - return true; - } -} diff --git a/apps/files_external/lib/smb_oc.php b/apps/files_external/lib/smb_oc.php deleted file mode 100644 index 547caa5ecbf..00000000000 --- a/apps/files_external/lib/smb_oc.php +++ /dev/null @@ -1,126 +0,0 @@ -<?php -/** - * @author Lukas Reschke <lukas@owncloud.com> - * @author Morris Jobke <hey@morrisjobke.de> - * @author Robin Appelman <icewind@owncloud.com> - * @author Robin McCorkell <rmccorkell@karoshi.org.uk> - * - * @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 OC\Files\Storage; - - -use Icewind\SMB\Exception\AccessDeniedException; -use Icewind\SMB\Exception\Exception; -use Icewind\SMB\Server; - -class SMB_OC extends SMB { - private $username_as_share; - - /** - * @param array $params - * @throws \Exception - */ - public function __construct($params) { - if (isset($params['host'])) { - $host = $params['host']; - $this->username_as_share = ($params['username_as_share'] === true); - - // dummy credentials, unused, to satisfy constructor - $user = 'foo'; - $password = 'bar'; - if (\OC::$server->getSession()->exists('smb-credentials')) { - $params_auth = json_decode(\OC::$server->getCrypto()->decrypt(\OC::$server->getSession()->get('smb-credentials')), true); - $user = \OC::$server->getSession()->get('loginname'); - $password = $params_auth['password']; - } else { - // assume we are testing from the admin section - } - - $root = isset($params['root']) ? $params['root'] : '/'; - $share = ''; - - if ($this->username_as_share) { - $share = '/' . $user; - } elseif (isset($params['share'])) { - $share = $params['share']; - } else { - throw new \Exception(); - } - parent::__construct(array( - "user" => $user, - "password" => $password, - "host" => $host, - "share" => $share, - "root" => $root - )); - } else { - throw new \Exception(); - } - } - - - /** - * Intercepts the user credentials on login and stores them - * encrypted inside the session if SMB_OC storage is enabled. - * @param array $params - */ - public static function login($params) { - $mountpoints = \OC_Mount_Config::getAbsoluteMountPoints($params['uid']); - $mountpointClasses = array(); - foreach($mountpoints as $mountpoint) { - $mountpointClasses[$mountpoint['class']] = true; - } - if(isset($mountpointClasses['\OC\Files\Storage\SMB_OC'])) { - \OC::$server->getSession()->set('smb-credentials', \OC::$server->getCrypto()->encrypt(json_encode($params))); - } - } - - /** - * @param string $path - * @return boolean - */ - public function isSharable($path) { - return false; - } - - /** - * @param bool $isPersonal - * @return bool - */ - public function test($isPersonal = true) { - if ($isPersonal) { - if ($this->stat('')) { - return true; - } - return false; - } else { - $server = new Server($this->server->getHost(), '', ''); - - try { - $server->listShares(); - return true; - } catch (AccessDeniedException $e) { - // expected due to anonymous login - return true; - } catch (Exception $e) { - return false; - } - } - } -} diff --git a/apps/files_external/lib/visibilitytrait.php b/apps/files_external/lib/visibilitytrait.php deleted file mode 100644 index dfd2d323ca6..00000000000 --- a/apps/files_external/lib/visibilitytrait.php +++ /dev/null @@ -1,136 +0,0 @@ -<?php -/** - * @author Robin McCorkell <rmccorkell@karoshi.org.uk> - * - * @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\Files_External\Lib; - -use \OCA\Files_External\Service\BackendService; - -/** - * Trait to implement visibility mechanics for a configuration class - * - * The standard visibility defines which users/groups can use or see the - * object. The allowed visibility defines the maximum visibility allowed to be - * set on the object. The standard visibility is often set dynamically by - * stored configuration parameters that can be modified by the administrator, - * while the allowed visibility is set directly by the object and cannot be - * modified by the administrator. - */ -trait VisibilityTrait { - - /** @var int visibility */ - protected $visibility = BackendService::VISIBILITY_DEFAULT; - - /** @var int allowed visibilities */ - protected $allowedVisibility = BackendService::VISIBILITY_DEFAULT; - - /** - * @return int - */ - public function getVisibility() { - return $this->visibility; - } - - /** - * Check if the backend is visible for a user type - * - * @param int $visibility - * @return bool - */ - public function isVisibleFor($visibility) { - if ($this->visibility & $visibility) { - return true; - } - return false; - } - - /** - * @param int $visibility - * @return self - */ - public function setVisibility($visibility) { - $this->visibility = $visibility; - $this->allowedVisibility |= $visibility; - return $this; - } - - /** - * @param int $visibility - * @return self - */ - public function addVisibility($visibility) { - return $this->setVisibility($this->visibility | $visibility); - } - - /** - * @param int $visibility - * @return self - */ - public function removeVisibility($visibility) { - return $this->setVisibility($this->visibility & ~$visibility); - } - - /** - * @return int - */ - public function getAllowedVisibility() { - return $this->allowedVisibility; - } - - /** - * Check if the backend is allowed to be visible for a user type - * - * @param int $allowedVisibility - * @return bool - */ - public function isAllowedVisibleFor($allowedVisibility) { - if ($this->allowedVisibility & $allowedVisibility) { - return true; - } - return false; - } - - /** - * @param int $allowedVisibility - * @return self - */ - public function setAllowedVisibility($allowedVisibility) { - $this->allowedVisibility = $allowedVisibility; - $this->visibility &= $allowedVisibility; - return $this; - } - - /** - * @param int $allowedVisibility - * @return self - */ - public function addAllowedVisibility($allowedVisibility) { - return $this->setAllowedVisibility($this->allowedVisibility | $allowedVisibility); - } - - /** - * @param int $allowedVisibility - * @return self - */ - public function removeAllowedVisibility($allowedVisibility) { - return $this->setAllowedVisibility($this->allowedVisibility & ~$allowedVisibility); - } - -} diff --git a/apps/files_external/personal.php b/apps/files_external/personal.php index 8717d91d4f1..d47f983b357 100644 --- a/apps/files_external/personal.php +++ b/apps/files_external/personal.php @@ -34,8 +34,12 @@ $userStoragesService = $appContainer->query('OCA\Files_external\Service\UserStor OCP\Util::addScript('files_external', 'settings'); OCP\Util::addStyle('files_external', 'settings'); -$backends = $backendService->getBackendsVisibleFor(BackendService::VISIBILITY_PERSONAL); -$authMechanisms = $backendService->getAuthMechanismsVisibleFor(BackendService::VISIBILITY_PERSONAL); +$backends = array_filter($backendService->getAvailableBackends(), function($backend) { + return $backend->isPermitted(BackendService::USER_PERSONAL, BackendService::PERMISSION_CREATE); +}); +$authMechanisms = array_filter($backendService->getAuthMechanisms(), function($authMechanism) { + return $authMechanism->isPermitted(BackendService::USER_PERSONAL, BackendService::PERMISSION_CREATE); +}); foreach ($backends as $backend) { if ($backend->getCustomJs()) { \OCP\Util::addScript('files_external', $backend->getCustomJs()); diff --git a/apps/files_external/service/backendservice.php b/apps/files_external/service/backendservice.php index 382834b4c19..70cb9291660 100644 --- a/apps/files_external/service/backendservice.php +++ b/apps/files_external/service/backendservice.php @@ -31,13 +31,17 @@ use \OCA\Files_External\Lib\Auth\AuthMechanism; */ class BackendService { - /** Visibility constants for VisibilityTrait */ - const VISIBILITY_NONE = 0; - const VISIBILITY_PERSONAL = 1; - const VISIBILITY_ADMIN = 2; - //const VISIBILITY_ALIENS = 4; + /** Permission constants for PermissionsTrait */ + const PERMISSION_NONE = 0; + const PERMISSION_MOUNT = 1; + const PERMISSION_CREATE = 2; + const PERMISSION_MODIFY = 4; - const VISIBILITY_DEFAULT = 3; // PERSONAL | ADMIN + const PERMISSION_DEFAULT = 7; // MOUNT | CREATE | MODIFY + + /** User contants */ + const USER_ADMIN = 'admin'; + const USER_PERSONAL = 'personal'; /** Priority constants for PriorityTrait */ const PRIORITY_DEFAULT = 100; @@ -81,7 +85,7 @@ class BackendService { */ public function registerBackend(Backend $backend) { if (!$this->isAllowedUserBackend($backend)) { - $backend->removeVisibility(BackendService::VISIBILITY_PERSONAL); + $backend->removePermission(self::USER_PERSONAL, self::PERMISSION_CREATE | self::PERMISSION_MOUNT); } foreach ($backend->getIdentifierAliases() as $alias) { $this->backends[$alias] = $backend; @@ -103,7 +107,7 @@ class BackendService { */ public function registerAuthMechanism(AuthMechanism $authMech) { if (!$this->isAllowedAuthMechanism($authMech)) { - $authMech->removeVisibility(BackendService::VISIBILITY_PERSONAL); + $authMech->removePermission(self::USER_PERSONAL, self::PERMISSION_CREATE | self::PERMISSION_MOUNT); } foreach ($authMech->getIdentifierAliases() as $alias) { $this->authMechanisms[$alias] = $authMech; @@ -145,30 +149,6 @@ class BackendService { } /** - * Get backends visible for $visibleFor - * - * @param int $visibleFor - * @return Backend[] - */ - public function getBackendsVisibleFor($visibleFor) { - return array_filter($this->getAvailableBackends(), function($backend) use ($visibleFor) { - return $backend->isVisibleFor($visibleFor); - }); - } - - /** - * Get backends allowed to be visible for $visibleFor - * - * @param int $visibleFor - * @return Backend[] - */ - public function getBackendsAllowedVisibleFor($visibleFor) { - return array_filter($this->getAvailableBackends(), function($backend) use ($visibleFor) { - return $backend->isAllowedVisibleFor($visibleFor); - }); - } - - /** * @param string $identifier * @return Backend|null */ @@ -206,31 +186,6 @@ class BackendService { } /** - * Get authentication mechanisms visible for $visibleFor - * - * @param int $visibleFor - * @return AuthMechanism[] - */ - public function getAuthMechanismsVisibleFor($visibleFor) { - return array_filter($this->getAuthMechanisms(), function($authMechanism) use ($visibleFor) { - return $authMechanism->isVisibleFor($visibleFor); - }); - } - - /** - * Get authentication mechanisms allowed to be visible for $visibleFor - * - * @param int $visibleFor - * @return AuthMechanism[] - */ - public function getAuthMechanismsAllowedVisibleFor($visibleFor) { - return array_filter($this->getAuthMechanisms(), function($authMechanism) use ($visibleFor) { - return $authMechanism->isAllowedVisibleFor($visibleFor); - }); - } - - - /** * @param string $identifier * @return AuthMechanism|null */ diff --git a/apps/files_external/settings.php b/apps/files_external/settings.php index 29c0553158f..840f1325fb5 100644 --- a/apps/files_external/settings.php +++ b/apps/files_external/settings.php @@ -41,8 +41,12 @@ OCP\Util::addStyle('files_external', 'settings'); \OC_Util::addVendorScript('select2/select2'); \OC_Util::addVendorStyle('select2/select2'); -$backends = $backendService->getBackendsVisibleFor(BackendService::VISIBILITY_ADMIN); -$authMechanisms = $backendService->getAuthMechanismsVisibleFor(BackendService::VISIBILITY_ADMIN); +$backends = array_filter($backendService->getAvailableBackends(), function($backend) { + return $backend->isPermitted(BackendService::USER_ADMIN, BackendService::PERMISSION_CREATE); +}); +$authMechanisms = array_filter($backendService->getAuthMechanisms(), function($authMechanism) { + return $authMechanism->isPermitted(BackendService::USER_ADMIN, BackendService::PERMISSION_CREATE); +}); foreach ($backends as $backend) { if ($backend->getCustomJs()) { \OCP\Util::addScript('files_external', $backend->getCustomJs()); @@ -54,13 +58,19 @@ foreach ($authMechanisms as $authMechanism) { } } +$userBackends = array_filter($backendService->getAvailableBackends(), function($backend) { + return $backend->isAllowedPermitted( + BackendService::USER_PERSONAL, BackendService::PERMISSION_MOUNT + ); +}); + $tmpl = new OCP\Template('files_external', 'settings'); $tmpl->assign('encryptionEnabled', \OC::$server->getEncryptionManager()->isEnabled()); $tmpl->assign('isAdminPage', true); $tmpl->assign('storages', $globalStoragesService->getAllStorages()); $tmpl->assign('backends', $backends); $tmpl->assign('authMechanisms', $authMechanisms); -$tmpl->assign('userBackends', $backendService->getBackendsAllowedVisibleFor(BackendService::VISIBILITY_PERSONAL)); +$tmpl->assign('userBackends', $userBackends); $tmpl->assign('dependencies', OC_Mount_Config::dependencyMessage($backendService->getBackends())); $tmpl->assign('allowUserMounting', $backendService->isUserMountingAllowed()); return $tmpl->fetchPage(); diff --git a/apps/files_external/templates/settings.php b/apps/files_external/templates/settings.php index 5b79edf6cf7..63a3a19de2f 100644 --- a/apps/files_external/templates/settings.php +++ b/apps/files_external/templates/settings.php @@ -197,7 +197,7 @@ <p id="userMountingBackends"<?php if ($_['allowUserMounting'] != 'yes'): ?> class="hidden"<?php endif; ?>> <?php p($l->t('Allow users to mount the following external storage')); ?><br /> <?php $i = 0; foreach ($_['userBackends'] as $backend): ?> - <input type="checkbox" id="allowUserMountingBackends<?php p($i); ?>" name="allowUserMountingBackends[]" value="<?php p($backend->getIdentifier()); ?>" <?php if ($backend->isVisibleFor(BackendService::VISIBILITY_PERSONAL)) print_unescaped(' checked="checked"'); ?> /> + <input type="checkbox" id="allowUserMountingBackends<?php p($i); ?>" name="allowUserMountingBackends[]" value="<?php p($backend->getIdentifier()); ?>" <?php if ($backend->isPermitted(BackendService::USER_PERSONAL, BackendService::PERMISSION_MOUNT)) print_unescaped(' checked="checked"'); ?> /> <label for="allowUserMountingBackends<?php p($i); ?>"><?php p($backend->getText()); ?></label> <br /> <?php $i++; ?> <?php endforeach; ?> diff --git a/apps/files_external/tests/backend/legacybackendtest.php b/apps/files_external/tests/backend/legacybackendtest.php index 44cb16a4986..d57810de29b 100644 --- a/apps/files_external/tests/backend/legacybackendtest.php +++ b/apps/files_external/tests/backend/legacybackendtest.php @@ -23,15 +23,25 @@ namespace OCA\Files_External\Tests\Backend; use \OCA\Files_External\Lib\Backend\LegacyBackend; use \OCA\Files_External\Lib\DefinitionParameter; +use \OCA\Files_External\Lib\MissingDependency; class LegacyBackendTest extends \Test\TestCase { + /** + * @return MissingDependency[] + */ + public static function checkDependencies() { + return [ + (new MissingDependency('abc'))->setMessage('foobar') + ]; + } + public function testConstructor() { $auth = $this->getMockBuilder('\OCA\Files_External\Lib\Auth\Builtin') ->disableOriginalConstructor() ->getMock(); - $class = '\OC\Files\Storage\SMB'; + $class = '\OCA\Files_External\Tests\Backend\LegacyBackendTest'; $definition = [ 'configuration' => [ 'textfield' => 'Text field', @@ -49,14 +59,18 @@ class LegacyBackendTest extends \Test\TestCase { $backend = new LegacyBackend($class, $definition, $auth); - $this->assertEquals('\OC\Files\Storage\SMB', $backend->getStorageClass()); + $this->assertEquals('\OCA\Files_External\Tests\Backend\LegacyBackendTest', $backend->getStorageClass()); $this->assertEquals('Backend text', $backend->getText()); $this->assertEquals(123, $backend->getPriority()); $this->assertEquals('foo/bar.js', $backend->getCustomJs()); - $this->assertEquals(true, $backend->hasDependencies()); $this->assertArrayHasKey('builtin', $backend->getAuthSchemes()); $this->assertEquals($auth, $backend->getLegacyAuthMechanism()); + $dependencies = $backend->checkDependencies(); + $this->assertCount(1, $dependencies); + $this->assertEquals('abc', $dependencies[0]->getDependency()); + $this->assertEquals('foobar', $dependencies[0]->getMessage()); + $parameters = $backend->getParameters(); $this->assertEquals('Text field', $parameters['textfield']->getText()); $this->assertEquals(DefinitionParameter::VALUE_TEXT, $parameters['textfield']->getType()); @@ -78,4 +92,22 @@ class LegacyBackendTest extends \Test\TestCase { $this->assertEquals(DefinitionParameter::FLAG_OPTIONAL, $parameters['optionalpassword']->getFlags()); } + public function testNoDependencies() { + $auth = $this->getMockBuilder('\OCA\Files_External\Lib\Auth\Builtin') + ->disableOriginalConstructor() + ->getMock(); + + $class = '\OCA\Files_External\Tests\Backend\LegacyBackendTest'; + $definition = [ + 'configuration' => [ + ], + 'backend' => 'Backend text', + ]; + + $backend = new LegacyBackend($class, $definition, $auth); + + $dependencies = $backend->checkDependencies(); + $this->assertCount(0, $dependencies); + } + } diff --git a/apps/files_external/tests/controller/storagescontrollertest.php b/apps/files_external/tests/controller/storagescontrollertest.php index 2b0ee7a14ea..c43761f3bcb 100644 --- a/apps/files_external/tests/controller/storagescontrollertest.php +++ b/apps/files_external/tests/controller/storagescontrollertest.php @@ -75,10 +75,12 @@ abstract class StoragesControllerTest extends \Test\TestCase { $authMech = $this->getAuthMechMock(); $authMech->method('validateStorage') ->willReturn(true); + $authMech->method('isPermitted') + ->willReturn(true); $backend = $this->getBackendMock(); $backend->method('validateStorage') ->willReturn(true); - $backend->method('isVisibleFor') + $backend->method('isPermitted') ->willReturn(true); $storageConfig = new StorageConfig(1); @@ -114,10 +116,12 @@ abstract class StoragesControllerTest extends \Test\TestCase { $authMech = $this->getAuthMechMock(); $authMech->method('validateStorage') ->willReturn(true); + $authMech->method('isPermitted') + ->willReturn(true); $backend = $this->getBackendMock(); $backend->method('validateStorage') ->willReturn(true); - $backend->method('isVisibleFor') + $backend->method('isPermitted') ->willReturn(true); $storageConfig = new StorageConfig(1); @@ -245,10 +249,12 @@ abstract class StoragesControllerTest extends \Test\TestCase { $authMech = $this->getAuthMechMock(); $authMech->method('validateStorage') ->willReturn(true); + $authMech->method('isPermitted') + ->willReturn(true); $backend = $this->getBackendMock(); $backend->method('validateStorage') ->willReturn(true); - $backend->method('isVisibleFor') + $backend->method('isPermitted') ->willReturn(true); $storageConfig = new StorageConfig(255); @@ -332,12 +338,14 @@ abstract class StoragesControllerTest extends \Test\TestCase { $backend = $this->getBackendMock(); $backend->method('validateStorage') ->willReturn($backendValidate); - $backend->method('isVisibleFor') + $backend->method('isPermitted') ->willReturn(true); $authMech = $this->getAuthMechMock(); $authMech->method('validateStorage') ->will($this->returnValue($authMechValidate)); + $authMech->method('isPermitted') + ->willReturn(true); $storageConfig = new StorageConfig(); $storageConfig->setMountPoint('mount'); diff --git a/apps/files_external/tests/controller/userstoragescontrollertest.php b/apps/files_external/tests/controller/userstoragescontrollertest.php index 9f1a8df8d2e..b61174b0797 100644 --- a/apps/files_external/tests/controller/userstoragescontrollertest.php +++ b/apps/files_external/tests/controller/userstoragescontrollertest.php @@ -49,15 +49,21 @@ class UserStoragesControllerTest extends StoragesControllerTest { } public function testAddOrUpdateStorageDisallowedBackend() { - $backend = $this->getBackendMock(); - $backend->method('isVisibleFor') - ->with(BackendService::VISIBILITY_PERSONAL) + $backend1 = $this->getBackendMock(); + $backend1->expects($this->once()) + ->method('isPermitted') + ->with(BackendService::USER_PERSONAL, BackendService::PERMISSION_CREATE) + ->willReturn(false); + $backend2 = $this->getBackendMock(); + $backend2->expects($this->once()) + ->method('isPermitted') + ->with(BackendService::USER_PERSONAL, BackendService::PERMISSION_MODIFY) ->willReturn(false); $authMech = $this->getAuthMechMock(); $storageConfig = new StorageConfig(1); $storageConfig->setMountPoint('mount'); - $storageConfig->setBackend($backend); + $storageConfig->setBackend($backend1); $storageConfig->setAuthMechanism($authMech); $storageConfig->setBackendOptions([]); @@ -82,6 +88,8 @@ class UserStoragesControllerTest extends StoragesControllerTest { $this->assertEquals(Http::STATUS_UNPROCESSABLE_ENTITY, $response->getStatus()); + $storageConfig->setBackend($backend2); + $response = $this->controller->update( 1, 'mount', diff --git a/apps/files_external/tests/dependencytraittest.php b/apps/files_external/tests/legacydependencycheckpolyfilltest.php index 5706d97053d..49d825d77aa 100644 --- a/apps/files_external/tests/dependencytraittest.php +++ b/apps/files_external/tests/legacydependencycheckpolyfilltest.php @@ -23,16 +23,23 @@ namespace OCA\Files_External\Tests; use \OCA\Files_External\Lib\MissingDependency; -class DependencyTraitTest extends \Test\TestCase { +class LegacyDependencyCheckPolyfillTest extends \Test\TestCase { + + /** + * @return MissingDependency[] + */ + public static function checkDependencies() { + return [ + (new MissingDependency('dependency'))->setMessage('missing dependency'), + (new MissingDependency('program'))->setMessage('cannot find program'), + ]; + } public function testCheckDependencies() { - $trait = $this->getMockForTrait('\OCA\Files_External\Lib\DependencyTrait'); - $trait->setDependencyCheck(function() { - return [ - (new MissingDependency('dependency'))->setMessage('missing dependency'), - (new MissingDependency('program'))->setMessage('cannot find program'), - ]; - }); + $trait = $this->getMockForTrait('\OCA\Files_External\Lib\LegacyDependencyCheckPolyfill'); + $trait->expects($this->once()) + ->method('getStorageClass') + ->willReturn('\OCA\Files_External\Tests\LegacyDependencyCheckPolyfillTest'); $dependencies = $trait->checkDependencies(); $this->assertCount(2, $dependencies); diff --git a/apps/files_external/tests/service/backendservicetest.php b/apps/files_external/tests/service/backendservicetest.php index 08f6b9bf988..b37b5e9b466 100644 --- a/apps/files_external/tests/service/backendservicetest.php +++ b/apps/files_external/tests/service/backendservicetest.php @@ -83,11 +83,11 @@ class BackendServiceTest extends \Test\TestCase { $backendAllowed = $this->getBackendMock('\User\Mount\Allowed'); $backendAllowed->expects($this->never()) - ->method('removeVisibility'); + ->method('removePermission'); $backendNotAllowed = $this->getBackendMock('\User\Mount\NotAllowed'); $backendNotAllowed->expects($this->once()) - ->method('removeVisibility') - ->with(BackendService::VISIBILITY_PERSONAL); + ->method('removePermission') + ->with(BackendService::USER_PERSONAL, BackendService::PERMISSION_CREATE | BackendService::PERMISSION_MOUNT); $backendAlias = $this->getMockBuilder('\OCA\Files_External\Lib\Backend\Backend') ->disableOriginalConstructor() @@ -126,27 +126,5 @@ class BackendServiceTest extends \Test\TestCase { $this->assertArrayNotHasKey('identifier:\Backend\NotAvailable', $availableBackends); } - public function testGetUserBackends() { - $service = new BackendService($this->config, $this->l10n); - - $backendAllowed = $this->getBackendMock('\User\Mount\Allowed'); - $backendAllowed->expects($this->once()) - ->method('isVisibleFor') - ->with(BackendService::VISIBILITY_PERSONAL) - ->will($this->returnValue(true)); - $backendNotAllowed = $this->getBackendMock('\User\Mount\NotAllowed'); - $backendNotAllowed->expects($this->once()) - ->method('isVisibleFor') - ->with(BackendService::VISIBILITY_PERSONAL) - ->will($this->returnValue(false)); - - $service->registerBackend($backendAllowed); - $service->registerBackend($backendNotAllowed); - - $userBackends = $service->getBackendsVisibleFor(BackendService::VISIBILITY_PERSONAL); - $this->assertArrayHasKey('identifier:\User\Mount\Allowed', $userBackends); - $this->assertArrayNotHasKey('identifier:\User\Mount\NotAllowed', $userBackends); - } - } diff --git a/apps/files_sharing/ajax/external.php b/apps/files_sharing/ajax/external.php index d26a64d3aec..66cfd8e9d1a 100644 --- a/apps/files_sharing/ajax/external.php +++ b/apps/files_sharing/ajax/external.php @@ -52,6 +52,7 @@ $externalManager = new \OCA\Files_Sharing\External\Manager( \OC\Files\Filesystem::getMountManager(), \OC\Files\Filesystem::getLoader(), \OC::$server->getHTTPHelper(), + \OC::$server->getNotificationManager(), \OC::$server->getUserSession()->getUser()->getUID() ); diff --git a/apps/files_sharing/api/remote.php b/apps/files_sharing/api/remote.php index f6cb0a29d8b..0f6d2dc265a 100644 --- a/apps/files_sharing/api/remote.php +++ b/apps/files_sharing/api/remote.php @@ -38,6 +38,7 @@ class Remote { Filesystem::getMountManager(), Filesystem::getLoader(), \OC::$server->getHTTPHelper(), + \OC::$server->getNotificationManager(), \OC_User::getUser() ); @@ -56,6 +57,7 @@ class Remote { Filesystem::getMountManager(), Filesystem::getLoader(), \OC::$server->getHTTPHelper(), + \OC::$server->getNotificationManager(), \OC_User::getUser() ); @@ -78,6 +80,7 @@ class Remote { Filesystem::getMountManager(), Filesystem::getLoader(), \OC::$server->getHTTPHelper(), + \OC::$server->getNotificationManager(), \OC_User::getUser() ); @@ -87,5 +90,4 @@ class Remote { return new \OC_OCS_Result(null, 404, "wrong share ID, share doesn't exist."); } - } diff --git a/apps/files_sharing/api/server2server.php b/apps/files_sharing/api/server2server.php index 4328e3830ba..6ecaea20535 100644 --- a/apps/files_sharing/api/server2server.php +++ b/apps/files_sharing/api/server2server.php @@ -70,6 +70,7 @@ class Server2Server { \OC\Files\Filesystem::getMountManager(), \OC\Files\Filesystem::getLoader(), \OC::$server->getHTTPHelper(), + \OC::$server->getNotificationManager(), $shareWith ); @@ -82,6 +83,28 @@ class Server2Server { Activity::FILES_SHARING_APP, Activity::SUBJECT_REMOTE_SHARE_RECEIVED, array($user, trim($name, '/')), '', array(), '', '', $shareWith, Activity::TYPE_REMOTE_SHARE, Activity::PRIORITY_LOW); + $urlGenerator = \OC::$server->getURLGenerator(); + + $notificationManager = \OC::$server->getNotificationManager(); + $notification = $notificationManager->createNotification(); + $notification->setApp('files_sharing') + ->setUser($shareWith) + ->setTimestamp(time()) + ->setObject('remote_share', $remoteId) + ->setSubject('remote_share', [$user, trim($name, '/')]); + + $acceptAction = $notification->createAction(); + $acceptAction->setLabel('accept') + ->setLink($urlGenerator->getAbsoluteURL('/ocs/v1.php/apps/files_sharing/api/v1/remote_shares/' . $remoteId), 'POST'); + $declineAction = $notification->createAction(); + $declineAction->setLabel('decline') + ->setLink($urlGenerator->getAbsoluteURL('/ocs/v1.php/apps/files_sharing/api/v1/remote_shares/' . $remoteId), 'DELETE'); + + $notification->addAction($acceptAction) + ->addAction($declineAction); + + $notificationManager->notify($notification); + return new \OC_OCS_Result(); } catch (\Exception $e) { \OCP\Util::writeLog('files_sharing', 'server can not add remote share, ' . $e->getMessage(), \OCP\Util::ERROR); diff --git a/apps/files_sharing/appinfo/app.php b/apps/files_sharing/appinfo/app.php index 295d013beff..20f1b046d35 100644 --- a/apps/files_sharing/appinfo/app.php +++ b/apps/files_sharing/appinfo/app.php @@ -103,3 +103,10 @@ if ($config->getAppValue('core', 'shareapi_enabled', 'yes') === 'yes') { } } } + +$manager = \OC::$server->getNotificationManager(); +$manager->registerNotifier(function() { + return new \OCA\Files_Sharing\Notifier( + \OC::$server->getL10NFactory() + ); +}); diff --git a/apps/files_sharing/appinfo/application.php b/apps/files_sharing/appinfo/application.php index 530195c65fa..d0dcadb77e8 100644 --- a/apps/files_sharing/appinfo/application.php +++ b/apps/files_sharing/appinfo/application.php @@ -93,6 +93,7 @@ class Application extends App { \OC\Files\Filesystem::getMountManager(), \OC\Files\Filesystem::getLoader(), $server->getHTTPHelper(), + $server->getNotificationManager(), $uid ); }); diff --git a/apps/files_sharing/l10n/cs_CZ.js b/apps/files_sharing/l10n/cs_CZ.js index 551a6ef4a00..bb8480e2a35 100644 --- a/apps/files_sharing/l10n/cs_CZ.js +++ b/apps/files_sharing/l10n/cs_CZ.js @@ -41,6 +41,9 @@ OC.L10N.register( "%2$s shared %1$s with you" : "%2$s s vámi sdílí %1$s", "You shared %1$s via link" : "Sdílíte %1$s přes odkaz", "Shares" : "Sdílení", + "You received %s as a remote share from %s" : "Obdrželi jste %s nově nasdílená vzdáleně od %s ", + "Accept" : "Přijmout", + "Decline" : "Zamítnout", "Share with me through my #ownCloud Federated Cloud ID, see %s" : "Sdílej se mnou pomocí mého #ownCloud sdruženého cloud ID, více na %s", "Share with me through my #ownCloud Federated Cloud ID" : "Sdílej se mnou pomocí mého #ownCloud sdruženého cloud ID", "This share is password-protected" : "Toto sdílení je chráněno heslem", @@ -66,6 +69,7 @@ OC.L10N.register( "Federated Cloud" : "Sdružený cloud", "Your Federated Cloud ID:" : "Vaše sdružené cloud ID:", "Share it:" : "Sdílet:", + "Add to your website" : "Přidat na svou webovou stránku", "Share with me via ownCloud" : "Sdíleno se mnou přes ownCloud", "HTML Code:" : "HTML kód:" }, diff --git a/apps/files_sharing/l10n/cs_CZ.json b/apps/files_sharing/l10n/cs_CZ.json index 065ab460158..677e982b6b0 100644 --- a/apps/files_sharing/l10n/cs_CZ.json +++ b/apps/files_sharing/l10n/cs_CZ.json @@ -39,6 +39,9 @@ "%2$s shared %1$s with you" : "%2$s s vámi sdílí %1$s", "You shared %1$s via link" : "Sdílíte %1$s přes odkaz", "Shares" : "Sdílení", + "You received %s as a remote share from %s" : "Obdrželi jste %s nově nasdílená vzdáleně od %s ", + "Accept" : "Přijmout", + "Decline" : "Zamítnout", "Share with me through my #ownCloud Federated Cloud ID, see %s" : "Sdílej se mnou pomocí mého #ownCloud sdruženého cloud ID, více na %s", "Share with me through my #ownCloud Federated Cloud ID" : "Sdílej se mnou pomocí mého #ownCloud sdruženého cloud ID", "This share is password-protected" : "Toto sdílení je chráněno heslem", @@ -64,6 +67,7 @@ "Federated Cloud" : "Sdružený cloud", "Your Federated Cloud ID:" : "Vaše sdružené cloud ID:", "Share it:" : "Sdílet:", + "Add to your website" : "Přidat na svou webovou stránku", "Share with me via ownCloud" : "Sdíleno se mnou přes ownCloud", "HTML Code:" : "HTML kód:" },"pluralForm" :"nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;" diff --git a/apps/files_sharing/l10n/da.js b/apps/files_sharing/l10n/da.js index b08b09f4284..87595f6cc56 100644 --- a/apps/files_sharing/l10n/da.js +++ b/apps/files_sharing/l10n/da.js @@ -41,6 +41,9 @@ OC.L10N.register( "%2$s shared %1$s with you" : "%2$s delt %1$s med dig", "You shared %1$s via link" : "Du delte %1$s via link", "Shares" : "Delt", + "You received %s as a remote share from %s" : "Du modtog %s som et ekstern deling fra %s", + "Accept" : "Acceptér", + "Decline" : "Afvis", "Share with me through my #ownCloud Federated Cloud ID, see %s" : "Del med mig gennem min #ownCloud Federated Cloud ID, se %s", "Share with me through my #ownCloud Federated Cloud ID" : "Del med mig gennem min #ownCloud Federated Cloud ID", "This share is password-protected" : "Delingen er beskyttet af kodeord", @@ -66,6 +69,7 @@ OC.L10N.register( "Federated Cloud" : "Federated Cloud", "Your Federated Cloud ID:" : "Din Federated Cloud ID:", "Share it:" : "Del:", + "Add to your website" : "Tilføj til dit websted", "Share with me via ownCloud" : "Del med mig gennem ownCloud", "HTML Code:" : "HTMLkode:" }, diff --git a/apps/files_sharing/l10n/da.json b/apps/files_sharing/l10n/da.json index 5cd51acafc6..c9ac959da2e 100644 --- a/apps/files_sharing/l10n/da.json +++ b/apps/files_sharing/l10n/da.json @@ -39,6 +39,9 @@ "%2$s shared %1$s with you" : "%2$s delt %1$s med dig", "You shared %1$s via link" : "Du delte %1$s via link", "Shares" : "Delt", + "You received %s as a remote share from %s" : "Du modtog %s som et ekstern deling fra %s", + "Accept" : "Acceptér", + "Decline" : "Afvis", "Share with me through my #ownCloud Federated Cloud ID, see %s" : "Del med mig gennem min #ownCloud Federated Cloud ID, se %s", "Share with me through my #ownCloud Federated Cloud ID" : "Del med mig gennem min #ownCloud Federated Cloud ID", "This share is password-protected" : "Delingen er beskyttet af kodeord", @@ -64,6 +67,7 @@ "Federated Cloud" : "Federated Cloud", "Your Federated Cloud ID:" : "Din Federated Cloud ID:", "Share it:" : "Del:", + "Add to your website" : "Tilføj til dit websted", "Share with me via ownCloud" : "Del med mig gennem ownCloud", "HTML Code:" : "HTMLkode:" },"pluralForm" :"nplurals=2; plural=(n != 1);" diff --git a/apps/files_sharing/l10n/de.js b/apps/files_sharing/l10n/de.js index afe6cae62eb..973aa0f15ac 100644 --- a/apps/files_sharing/l10n/de.js +++ b/apps/files_sharing/l10n/de.js @@ -41,6 +41,7 @@ OC.L10N.register( "%2$s shared %1$s with you" : "%2$s hat %1$s mit Dir geteilt", "You shared %1$s via link" : "Du hast %1$s über einen Link freigegeben", "Shares" : "Freigaben", + "Accept" : "Ok", "Share with me through my #ownCloud Federated Cloud ID, see %s" : "Teile mit mir über meine #ownCloud Federated-Cloud-ID, siehe %s", "Share with me through my #ownCloud Federated Cloud ID" : "Teile mit mir über meine #ownCloud Federated-Cloud-ID", "This share is password-protected" : "Diese Freigabe ist durch ein Passwort geschützt", diff --git a/apps/files_sharing/l10n/de.json b/apps/files_sharing/l10n/de.json index 17f2b6252b8..5526be3b6bf 100644 --- a/apps/files_sharing/l10n/de.json +++ b/apps/files_sharing/l10n/de.json @@ -39,6 +39,7 @@ "%2$s shared %1$s with you" : "%2$s hat %1$s mit Dir geteilt", "You shared %1$s via link" : "Du hast %1$s über einen Link freigegeben", "Shares" : "Freigaben", + "Accept" : "Ok", "Share with me through my #ownCloud Federated Cloud ID, see %s" : "Teile mit mir über meine #ownCloud Federated-Cloud-ID, siehe %s", "Share with me through my #ownCloud Federated Cloud ID" : "Teile mit mir über meine #ownCloud Federated-Cloud-ID", "This share is password-protected" : "Diese Freigabe ist durch ein Passwort geschützt", diff --git a/apps/files_sharing/l10n/de_DE.js b/apps/files_sharing/l10n/de_DE.js index 395dbf4f295..47243b8f81d 100644 --- a/apps/files_sharing/l10n/de_DE.js +++ b/apps/files_sharing/l10n/de_DE.js @@ -41,6 +41,7 @@ OC.L10N.register( "%2$s shared %1$s with you" : "%2$s hat %1$s mit Ihnen geteilt", "You shared %1$s via link" : "Sie haben %1$s über einen Link geteilt", "Shares" : "Geteiltes", + "Accept" : "Akzeptieren", "Share with me through my #ownCloud Federated Cloud ID, see %s" : "Teilen Sie mit mir über meine #ownCloud Federated-Cloud-ID, siehe %s", "Share with me through my #ownCloud Federated Cloud ID" : "Teilen Sie mit mir über meine #ownCloud Federated-Cloud-ID", "This share is password-protected" : "Diese Freigabe ist durch ein Passwort geschützt", diff --git a/apps/files_sharing/l10n/de_DE.json b/apps/files_sharing/l10n/de_DE.json index 11b953b3bac..b63286de48d 100644 --- a/apps/files_sharing/l10n/de_DE.json +++ b/apps/files_sharing/l10n/de_DE.json @@ -39,6 +39,7 @@ "%2$s shared %1$s with you" : "%2$s hat %1$s mit Ihnen geteilt", "You shared %1$s via link" : "Sie haben %1$s über einen Link geteilt", "Shares" : "Geteiltes", + "Accept" : "Akzeptieren", "Share with me through my #ownCloud Federated Cloud ID, see %s" : "Teilen Sie mit mir über meine #ownCloud Federated-Cloud-ID, siehe %s", "Share with me through my #ownCloud Federated Cloud ID" : "Teilen Sie mit mir über meine #ownCloud Federated-Cloud-ID", "This share is password-protected" : "Diese Freigabe ist durch ein Passwort geschützt", diff --git a/apps/files_sharing/l10n/el.js b/apps/files_sharing/l10n/el.js index a72abe23b7f..ef688424777 100644 --- a/apps/files_sharing/l10n/el.js +++ b/apps/files_sharing/l10n/el.js @@ -41,6 +41,9 @@ OC.L10N.register( "%2$s shared %1$s with you" : "Ο %2$s διαμοιράστηκε το %1$s με εσάς", "You shared %1$s via link" : "Μοιραστήκατε το %1$s μέσω συνδέσμου", "Shares" : "Κοινόχρηστοι φάκελοι", + "You received %s as a remote share from %s" : "Λάβατε το %s ως απομακρυσμένο διαμοιρασμό από %s", + "Accept" : "Αποδοχή", + "Decline" : "Απόρριψη", "Share with me through my #ownCloud Federated Cloud ID, see %s" : "Διαμοιρασμός με εμένα μέσω του #ownCloud Federated Cloud ID μου, δείτε %s", "Share with me through my #ownCloud Federated Cloud ID" : "Διαμοιρασμός με εμένα μέσω του #ownCloud Federated Cloud ID μου", "This share is password-protected" : "Αυτός ο κοινόχρηστος φάκελος προστατεύεται με κωδικό", @@ -66,6 +69,7 @@ OC.L10N.register( "Federated Cloud" : "Federated σύννεφο", "Your Federated Cloud ID:" : "Το ID σας στο Federated Cloud:", "Share it:" : "Μοιραστείτε το:", + "Add to your website" : "Προσθήκη στην ιστοσελίδα σας", "Share with me via ownCloud" : "Διαμοιρασμός με εμένα μέσω του ", "HTML Code:" : "Κώδικας HTML:" }, diff --git a/apps/files_sharing/l10n/el.json b/apps/files_sharing/l10n/el.json index 7b2b9848a72..829ff61ceaa 100644 --- a/apps/files_sharing/l10n/el.json +++ b/apps/files_sharing/l10n/el.json @@ -39,6 +39,9 @@ "%2$s shared %1$s with you" : "Ο %2$s διαμοιράστηκε το %1$s με εσάς", "You shared %1$s via link" : "Μοιραστήκατε το %1$s μέσω συνδέσμου", "Shares" : "Κοινόχρηστοι φάκελοι", + "You received %s as a remote share from %s" : "Λάβατε το %s ως απομακρυσμένο διαμοιρασμό από %s", + "Accept" : "Αποδοχή", + "Decline" : "Απόρριψη", "Share with me through my #ownCloud Federated Cloud ID, see %s" : "Διαμοιρασμός με εμένα μέσω του #ownCloud Federated Cloud ID μου, δείτε %s", "Share with me through my #ownCloud Federated Cloud ID" : "Διαμοιρασμός με εμένα μέσω του #ownCloud Federated Cloud ID μου", "This share is password-protected" : "Αυτός ο κοινόχρηστος φάκελος προστατεύεται με κωδικό", @@ -64,6 +67,7 @@ "Federated Cloud" : "Federated σύννεφο", "Your Federated Cloud ID:" : "Το ID σας στο Federated Cloud:", "Share it:" : "Μοιραστείτε το:", + "Add to your website" : "Προσθήκη στην ιστοσελίδα σας", "Share with me via ownCloud" : "Διαμοιρασμός με εμένα μέσω του ", "HTML Code:" : "Κώδικας HTML:" },"pluralForm" :"nplurals=2; plural=(n != 1);" diff --git a/apps/files_sharing/l10n/en_GB.js b/apps/files_sharing/l10n/en_GB.js index 40f80be5b61..424fe743088 100644 --- a/apps/files_sharing/l10n/en_GB.js +++ b/apps/files_sharing/l10n/en_GB.js @@ -40,6 +40,7 @@ OC.L10N.register( "%2$s shared %1$s with you" : "%2$s shared %1$s with you", "You shared %1$s via link" : "You shared %1$s via link", "Shares" : "Shares", + "Accept" : "Accept", "This share is password-protected" : "This share is password-protected", "The password is wrong. Try again." : "The password is wrong. Try again.", "Password" : "Password", diff --git a/apps/files_sharing/l10n/en_GB.json b/apps/files_sharing/l10n/en_GB.json index 5a70bee7212..4e41be946d1 100644 --- a/apps/files_sharing/l10n/en_GB.json +++ b/apps/files_sharing/l10n/en_GB.json @@ -38,6 +38,7 @@ "%2$s shared %1$s with you" : "%2$s shared %1$s with you", "You shared %1$s via link" : "You shared %1$s via link", "Shares" : "Shares", + "Accept" : "Accept", "This share is password-protected" : "This share is password-protected", "The password is wrong. Try again." : "The password is wrong. Try again.", "Password" : "Password", diff --git a/apps/files_sharing/l10n/eo.js b/apps/files_sharing/l10n/eo.js index 6c78d555304..ef900774146 100644 --- a/apps/files_sharing/l10n/eo.js +++ b/apps/files_sharing/l10n/eo.js @@ -23,6 +23,7 @@ OC.L10N.register( "You shared %1$s with group %2$s" : "Vi kunhavigis %1$s kun la grupo %2$s", "%2$s shared %1$s with you" : "%2$s kunhavigis %1$s kun vi", "You shared %1$s via link" : "Vi kunhavigis %1$s per ligilo", + "Accept" : "Akcepti", "This share is password-protected" : "Ĉi tiu kunhavigo estas protektata per pasvorto", "The password is wrong. Try again." : "La pasvorto malĝustas. Provu denove.", "Password" : "Pasvorto", diff --git a/apps/files_sharing/l10n/eo.json b/apps/files_sharing/l10n/eo.json index 8899e3021ca..cc648a7c60d 100644 --- a/apps/files_sharing/l10n/eo.json +++ b/apps/files_sharing/l10n/eo.json @@ -21,6 +21,7 @@ "You shared %1$s with group %2$s" : "Vi kunhavigis %1$s kun la grupo %2$s", "%2$s shared %1$s with you" : "%2$s kunhavigis %1$s kun vi", "You shared %1$s via link" : "Vi kunhavigis %1$s per ligilo", + "Accept" : "Akcepti", "This share is password-protected" : "Ĉi tiu kunhavigo estas protektata per pasvorto", "The password is wrong. Try again." : "La pasvorto malĝustas. Provu denove.", "Password" : "Pasvorto", diff --git a/apps/files_sharing/l10n/es.js b/apps/files_sharing/l10n/es.js index e094507d396..ca1e8c430db 100644 --- a/apps/files_sharing/l10n/es.js +++ b/apps/files_sharing/l10n/es.js @@ -41,6 +41,7 @@ OC.L10N.register( "%2$s shared %1$s with you" : "%2$s ha compartido %1$s con usted", "You shared %1$s via link" : "Ha compartido %1$s vía enlace", "Shares" : "Compartidos", + "Accept" : "Aceptar", "Share with me through my #ownCloud Federated Cloud ID, see %s" : "Compartirlo conmigo a través de mi ID Nube Federada #ownCloud, ver %s", "Share with me through my #ownCloud Federated Cloud ID" : "Compartirlo conmigo a través de mi ID Nube Federada #ownCloud", "This share is password-protected" : "Este elemento compartido está protegido por contraseña", @@ -66,6 +67,7 @@ OC.L10N.register( "Federated Cloud" : "Nube Federada", "Your Federated Cloud ID:" : "Su ID Nube Federada:", "Share it:" : "Compartir:", + "Add to your website" : "Añadir a su Website", "Share with me via ownCloud" : "Compartirlo conmigo vía OwnCloud", "HTML Code:" : "Código HTML:" }, diff --git a/apps/files_sharing/l10n/es.json b/apps/files_sharing/l10n/es.json index 48f1f22a1fd..4b300e1227f 100644 --- a/apps/files_sharing/l10n/es.json +++ b/apps/files_sharing/l10n/es.json @@ -39,6 +39,7 @@ "%2$s shared %1$s with you" : "%2$s ha compartido %1$s con usted", "You shared %1$s via link" : "Ha compartido %1$s vía enlace", "Shares" : "Compartidos", + "Accept" : "Aceptar", "Share with me through my #ownCloud Federated Cloud ID, see %s" : "Compartirlo conmigo a través de mi ID Nube Federada #ownCloud, ver %s", "Share with me through my #ownCloud Federated Cloud ID" : "Compartirlo conmigo a través de mi ID Nube Federada #ownCloud", "This share is password-protected" : "Este elemento compartido está protegido por contraseña", @@ -64,6 +65,7 @@ "Federated Cloud" : "Nube Federada", "Your Federated Cloud ID:" : "Su ID Nube Federada:", "Share it:" : "Compartir:", + "Add to your website" : "Añadir a su Website", "Share with me via ownCloud" : "Compartirlo conmigo vía OwnCloud", "HTML Code:" : "Código HTML:" },"pluralForm" :"nplurals=2; plural=(n != 1);" diff --git a/apps/files_sharing/l10n/et_EE.js b/apps/files_sharing/l10n/et_EE.js index a558a91896a..ada0a548162 100644 --- a/apps/files_sharing/l10n/et_EE.js +++ b/apps/files_sharing/l10n/et_EE.js @@ -4,13 +4,17 @@ OC.L10N.register( "Server to server sharing is not enabled on this server" : "Serverist serverisse jagamine pole antud serveris lubatud", "The mountpoint name contains invalid characters." : "Ühenduspunkti nimes on vigaseid märke.", "Invalid or untrusted SSL certificate" : "Vigane või tundmatu SSL sertifikaat", + "Storage not valid" : "Andmehoidla pole korrektne", "Couldn't add remote share" : "Ei suutnud lisada kaugjagamist", "Shared with you" : "Sinuga jagatud", "Shared with others" : "Teistega jagatud", "Shared by link" : "Jagatud lingiga", "Nothing shared with you yet" : "Sinuga pole veel midagi jagatud", + "Files and folders others share with you will show up here" : "Siin näidatakse faile ja kaustasid, mida teised on sulle jaganud", "Nothing shared yet" : "Midagi pole veel jagatud", + "Files and folders you share will show up here" : "Siin kuvatakse faile ja kaustasid, mida sa oled teistega jaganud", "No shared links" : "Jagatud linke pole", + "Files and folders you share by link will show up here" : "Siin kuvatakse faile ja kaustasid, mida sa jagad lingiga", "Do you want to add the remote share {name} from {owner}@{remote}?" : "Soovid lisata kaugjagamise {name} asukohast {owner}@{remote}?", "Remote share" : "Kaugjagamine", "Remote share password" : "Kaugjagamise parool", @@ -27,6 +31,7 @@ OC.L10N.register( "%2$s shared %1$s with you" : "%2$s jagas sinuga %1$s", "You shared %1$s via link" : "Jagasid %1$s lingiga", "Shares" : "Jagamised", + "Accept" : "Nõustu", "This share is password-protected" : "See jagamine on parooliga kaitstud", "The password is wrong. Try again." : "Parool on vale. Proovi uuesti.", "Password" : "Parool", diff --git a/apps/files_sharing/l10n/et_EE.json b/apps/files_sharing/l10n/et_EE.json index 183f1707525..afa7fc6884d 100644 --- a/apps/files_sharing/l10n/et_EE.json +++ b/apps/files_sharing/l10n/et_EE.json @@ -2,13 +2,17 @@ "Server to server sharing is not enabled on this server" : "Serverist serverisse jagamine pole antud serveris lubatud", "The mountpoint name contains invalid characters." : "Ühenduspunkti nimes on vigaseid märke.", "Invalid or untrusted SSL certificate" : "Vigane või tundmatu SSL sertifikaat", + "Storage not valid" : "Andmehoidla pole korrektne", "Couldn't add remote share" : "Ei suutnud lisada kaugjagamist", "Shared with you" : "Sinuga jagatud", "Shared with others" : "Teistega jagatud", "Shared by link" : "Jagatud lingiga", "Nothing shared with you yet" : "Sinuga pole veel midagi jagatud", + "Files and folders others share with you will show up here" : "Siin näidatakse faile ja kaustasid, mida teised on sulle jaganud", "Nothing shared yet" : "Midagi pole veel jagatud", + "Files and folders you share will show up here" : "Siin kuvatakse faile ja kaustasid, mida sa oled teistega jaganud", "No shared links" : "Jagatud linke pole", + "Files and folders you share by link will show up here" : "Siin kuvatakse faile ja kaustasid, mida sa jagad lingiga", "Do you want to add the remote share {name} from {owner}@{remote}?" : "Soovid lisata kaugjagamise {name} asukohast {owner}@{remote}?", "Remote share" : "Kaugjagamine", "Remote share password" : "Kaugjagamise parool", @@ -25,6 +29,7 @@ "%2$s shared %1$s with you" : "%2$s jagas sinuga %1$s", "You shared %1$s via link" : "Jagasid %1$s lingiga", "Shares" : "Jagamised", + "Accept" : "Nõustu", "This share is password-protected" : "See jagamine on parooliga kaitstud", "The password is wrong. Try again." : "Parool on vale. Proovi uuesti.", "Password" : "Parool", diff --git a/apps/files_sharing/l10n/fi_FI.js b/apps/files_sharing/l10n/fi_FI.js index 0de3dda9290..396c4785537 100644 --- a/apps/files_sharing/l10n/fi_FI.js +++ b/apps/files_sharing/l10n/fi_FI.js @@ -41,6 +41,9 @@ OC.L10N.register( "%2$s shared %1$s with you" : "%2$s jakoi kohteen %1$s kanssasi", "You shared %1$s via link" : "Jaoit kohteen %1$s linkin kautta", "Shares" : "Jaot", + "You received %s as a remote share from %s" : "Sait etäjaon %s käyttäjältä %s", + "Accept" : "Hyväksy", + "Decline" : "Kieltäydy", "Share with me through my #ownCloud Federated Cloud ID, see %s" : "Jaa kanssani käyttäen #ownCloud ja federoitua pilvitunnistetta, katso %s", "Share with me through my #ownCloud Federated Cloud ID" : "Jaa kanssani käyttäen #ownCloud ja federoitua pilvitunnistetta", "This share is password-protected" : "Tämä jako on suojattu salasanalla", @@ -66,6 +69,7 @@ OC.L10N.register( "Federated Cloud" : "Federoitu pilvi", "Your Federated Cloud ID:" : "Federoidun pilvesi tunniste:", "Share it:" : "Jaa se:", + "Add to your website" : "Lisää verkkosivuillesi", "Share with me via ownCloud" : "Jaa kanssani ownCloudin kautta", "HTML Code:" : "HTML-koodi:" }, diff --git a/apps/files_sharing/l10n/fi_FI.json b/apps/files_sharing/l10n/fi_FI.json index 80e353818cd..56d64c0e841 100644 --- a/apps/files_sharing/l10n/fi_FI.json +++ b/apps/files_sharing/l10n/fi_FI.json @@ -39,6 +39,9 @@ "%2$s shared %1$s with you" : "%2$s jakoi kohteen %1$s kanssasi", "You shared %1$s via link" : "Jaoit kohteen %1$s linkin kautta", "Shares" : "Jaot", + "You received %s as a remote share from %s" : "Sait etäjaon %s käyttäjältä %s", + "Accept" : "Hyväksy", + "Decline" : "Kieltäydy", "Share with me through my #ownCloud Federated Cloud ID, see %s" : "Jaa kanssani käyttäen #ownCloud ja federoitua pilvitunnistetta, katso %s", "Share with me through my #ownCloud Federated Cloud ID" : "Jaa kanssani käyttäen #ownCloud ja federoitua pilvitunnistetta", "This share is password-protected" : "Tämä jako on suojattu salasanalla", @@ -64,6 +67,7 @@ "Federated Cloud" : "Federoitu pilvi", "Your Federated Cloud ID:" : "Federoidun pilvesi tunniste:", "Share it:" : "Jaa se:", + "Add to your website" : "Lisää verkkosivuillesi", "Share with me via ownCloud" : "Jaa kanssani ownCloudin kautta", "HTML Code:" : "HTML-koodi:" },"pluralForm" :"nplurals=2; plural=(n != 1);" diff --git a/apps/files_sharing/l10n/fr.js b/apps/files_sharing/l10n/fr.js index 077c12e6db2..a59409e008a 100644 --- a/apps/files_sharing/l10n/fr.js +++ b/apps/files_sharing/l10n/fr.js @@ -41,6 +41,7 @@ OC.L10N.register( "%2$s shared %1$s with you" : "%2$s a partagé %1$s avec vous", "You shared %1$s via link" : "Vous avez partagé %1$s par lien public", "Shares" : "Partages", + "Accept" : "Accepter", "Share with me through my #ownCloud Federated Cloud ID, see %s" : "Partagez avec moi grâce à mon identifiant Federated Cloud #owncloud %s", "Share with me through my #ownCloud Federated Cloud ID" : "Partagez avec moi grâce à mon identifiant Federated Cloud #owncloud", "This share is password-protected" : "Ce partage est protégé par un mot de passe", @@ -66,6 +67,7 @@ OC.L10N.register( "Federated Cloud" : "Federated Cloud", "Your Federated Cloud ID:" : "Votre identifiant Federated Cloud :", "Share it:" : "Partager :", + "Add to your website" : "Ajouter à votre site web", "Share with me via ownCloud" : "Partagez avec moi via ownCloud", "HTML Code:" : "Code HTML :" }, diff --git a/apps/files_sharing/l10n/fr.json b/apps/files_sharing/l10n/fr.json index c4b3bbe2f72..0bb6f2b1b9e 100644 --- a/apps/files_sharing/l10n/fr.json +++ b/apps/files_sharing/l10n/fr.json @@ -39,6 +39,7 @@ "%2$s shared %1$s with you" : "%2$s a partagé %1$s avec vous", "You shared %1$s via link" : "Vous avez partagé %1$s par lien public", "Shares" : "Partages", + "Accept" : "Accepter", "Share with me through my #ownCloud Federated Cloud ID, see %s" : "Partagez avec moi grâce à mon identifiant Federated Cloud #owncloud %s", "Share with me through my #ownCloud Federated Cloud ID" : "Partagez avec moi grâce à mon identifiant Federated Cloud #owncloud", "This share is password-protected" : "Ce partage est protégé par un mot de passe", @@ -64,6 +65,7 @@ "Federated Cloud" : "Federated Cloud", "Your Federated Cloud ID:" : "Votre identifiant Federated Cloud :", "Share it:" : "Partager :", + "Add to your website" : "Ajouter à votre site web", "Share with me via ownCloud" : "Partagez avec moi via ownCloud", "HTML Code:" : "Code HTML :" },"pluralForm" :"nplurals=2; plural=(n > 1);" diff --git a/apps/files_sharing/l10n/gl.js b/apps/files_sharing/l10n/gl.js index 44dfaa52de2..f2a2d528ffc 100644 --- a/apps/files_sharing/l10n/gl.js +++ b/apps/files_sharing/l10n/gl.js @@ -41,6 +41,7 @@ OC.L10N.register( "%2$s shared %1$s with you" : "%2$s compartiu %1$s con vostede", "You shared %1$s via link" : "Vostede compartiu %1$s mediante ligazón", "Shares" : "Comparticións", + "Accept" : "Aceptar", "Share with me through my #ownCloud Federated Cloud ID, see %s" : "Comparte comigo a través do meu ID da nube federada do #ownCloud , vexa %s", "Share with me through my #ownCloud Federated Cloud ID" : "Comparte comigo a través do meu ID da nube federada do #ownCloud", "This share is password-protected" : "Esta compartición está protexida con contrasinal", diff --git a/apps/files_sharing/l10n/gl.json b/apps/files_sharing/l10n/gl.json index a9109c5000c..b9998a47a12 100644 --- a/apps/files_sharing/l10n/gl.json +++ b/apps/files_sharing/l10n/gl.json @@ -39,6 +39,7 @@ "%2$s shared %1$s with you" : "%2$s compartiu %1$s con vostede", "You shared %1$s via link" : "Vostede compartiu %1$s mediante ligazón", "Shares" : "Comparticións", + "Accept" : "Aceptar", "Share with me through my #ownCloud Federated Cloud ID, see %s" : "Comparte comigo a través do meu ID da nube federada do #ownCloud , vexa %s", "Share with me through my #ownCloud Federated Cloud ID" : "Comparte comigo a través do meu ID da nube federada do #ownCloud", "This share is password-protected" : "Esta compartición está protexida con contrasinal", diff --git a/apps/files_sharing/l10n/hu_HU.js b/apps/files_sharing/l10n/hu_HU.js index 3278343a769..c78bdce652d 100644 --- a/apps/files_sharing/l10n/hu_HU.js +++ b/apps/files_sharing/l10n/hu_HU.js @@ -41,6 +41,7 @@ OC.L10N.register( "%2$s shared %1$s with you" : "%2$s megosztotta velem ezt: %1$s", "You shared %1$s via link" : "Megosztottam link segítségével: %1$s", "Shares" : "Megosztások", + "Accept" : "Elfogadás", "Share with me through my #ownCloud Federated Cloud ID, see %s" : "Ossza meg velem az #ownCloud Egyesített Felhő Azonosító segítségével, lásd %s", "Share with me through my #ownCloud Federated Cloud ID" : "Ossza meg velem az #ownCloud Egyesített Felhő Azonosító segítségével ", "This share is password-protected" : "Ez egy jelszóval védett megosztás", @@ -66,6 +67,7 @@ OC.L10N.register( "Federated Cloud" : "Egyesített felhő", "Your Federated Cloud ID:" : "Egyesített felhő azonosító:", "Share it:" : "Ossza meg:", + "Add to your website" : "Add hozzá saját weboldaladhoz", "Share with me via ownCloud" : "Ossza meg velem ownCloud-on keresztül", "HTML Code:" : "HTML Code:" }, diff --git a/apps/files_sharing/l10n/hu_HU.json b/apps/files_sharing/l10n/hu_HU.json index edb98a5f70b..22cc1422eb7 100644 --- a/apps/files_sharing/l10n/hu_HU.json +++ b/apps/files_sharing/l10n/hu_HU.json @@ -39,6 +39,7 @@ "%2$s shared %1$s with you" : "%2$s megosztotta velem ezt: %1$s", "You shared %1$s via link" : "Megosztottam link segítségével: %1$s", "Shares" : "Megosztások", + "Accept" : "Elfogadás", "Share with me through my #ownCloud Federated Cloud ID, see %s" : "Ossza meg velem az #ownCloud Egyesített Felhő Azonosító segítségével, lásd %s", "Share with me through my #ownCloud Federated Cloud ID" : "Ossza meg velem az #ownCloud Egyesített Felhő Azonosító segítségével ", "This share is password-protected" : "Ez egy jelszóval védett megosztás", @@ -64,6 +65,7 @@ "Federated Cloud" : "Egyesített felhő", "Your Federated Cloud ID:" : "Egyesített felhő azonosító:", "Share it:" : "Ossza meg:", + "Add to your website" : "Add hozzá saját weboldaladhoz", "Share with me via ownCloud" : "Ossza meg velem ownCloud-on keresztül", "HTML Code:" : "HTML Code:" },"pluralForm" :"nplurals=2; plural=(n != 1);" diff --git a/apps/files_sharing/l10n/id.js b/apps/files_sharing/l10n/id.js index 985b424e726..f0d9fc2aecb 100644 --- a/apps/files_sharing/l10n/id.js +++ b/apps/files_sharing/l10n/id.js @@ -41,6 +41,9 @@ OC.L10N.register( "%2$s shared %1$s with you" : "%2$s membagikan %1$s dengan Anda", "You shared %1$s via link" : "Anda membagikan %1$s via tautan", "Shares" : "Dibagikan", + "You received %s as a remote share from %s" : "Anda menerima %s sebagai berbagi remote dari %s", + "Accept" : "Terima", + "Decline" : "Tolak", "Share with me through my #ownCloud Federated Cloud ID, see %s" : "Dibagikan pada saya melalui #ownCloud Federated Cloud ID saya, lihat %s", "Share with me through my #ownCloud Federated Cloud ID" : "Dibagikan pada saya melalui #ownCloud Federated Cloud ID saya", "This share is password-protected" : "Berbagi ini dilindungi sandi", @@ -66,6 +69,7 @@ OC.L10N.register( "Federated Cloud" : "Federated Cloud", "Your Federated Cloud ID:" : "Federated Cloud ID Anda:", "Share it:" : "Bagikan:", + "Add to your website" : "Tambahkan pada situs web Anda", "Share with me via ownCloud" : "Dibagikan pada saya via ownCloud", "HTML Code:" : "Kode HTML:" }, diff --git a/apps/files_sharing/l10n/id.json b/apps/files_sharing/l10n/id.json index 78f5d2352a7..b14f4c43789 100644 --- a/apps/files_sharing/l10n/id.json +++ b/apps/files_sharing/l10n/id.json @@ -39,6 +39,9 @@ "%2$s shared %1$s with you" : "%2$s membagikan %1$s dengan Anda", "You shared %1$s via link" : "Anda membagikan %1$s via tautan", "Shares" : "Dibagikan", + "You received %s as a remote share from %s" : "Anda menerima %s sebagai berbagi remote dari %s", + "Accept" : "Terima", + "Decline" : "Tolak", "Share with me through my #ownCloud Federated Cloud ID, see %s" : "Dibagikan pada saya melalui #ownCloud Federated Cloud ID saya, lihat %s", "Share with me through my #ownCloud Federated Cloud ID" : "Dibagikan pada saya melalui #ownCloud Federated Cloud ID saya", "This share is password-protected" : "Berbagi ini dilindungi sandi", @@ -64,6 +67,7 @@ "Federated Cloud" : "Federated Cloud", "Your Federated Cloud ID:" : "Federated Cloud ID Anda:", "Share it:" : "Bagikan:", + "Add to your website" : "Tambahkan pada situs web Anda", "Share with me via ownCloud" : "Dibagikan pada saya via ownCloud", "HTML Code:" : "Kode HTML:" },"pluralForm" :"nplurals=1; plural=0;" diff --git a/apps/files_sharing/l10n/it.js b/apps/files_sharing/l10n/it.js index 0d8a315421f..9ddf9b5f385 100644 --- a/apps/files_sharing/l10n/it.js +++ b/apps/files_sharing/l10n/it.js @@ -41,6 +41,9 @@ OC.L10N.register( "%2$s shared %1$s with you" : "%2$s ha condiviso %1$s con te", "You shared %1$s via link" : "Hai condiviso %1$s tramite collegamento", "Shares" : "Condivisioni", + "You received %s as a remote share from %s" : "Hai ricevuto %s come condivisione remota da %s", + "Accept" : "Accetta", + "Decline" : "Rifiuta", "Share with me through my #ownCloud Federated Cloud ID, see %s" : "Condividi con me attraverso il mio ID di cloud federata #ownCloud, vedi %s", "Share with me through my #ownCloud Federated Cloud ID" : "Condividi con me attraverso il mio ID di cloud federata #ownCloud", "This share is password-protected" : "Questa condivione è protetta da password", @@ -66,6 +69,7 @@ OC.L10N.register( "Federated Cloud" : "Cloud federata", "Your Federated Cloud ID:" : "Il tuo ID di cloud federata:", "Share it:" : "Condividilo:", + "Add to your website" : "Aggiungilo al tuo sito web", "Share with me via ownCloud" : "Condividi con me tramite ownCloud", "HTML Code:" : "Codice HTML:" }, diff --git a/apps/files_sharing/l10n/it.json b/apps/files_sharing/l10n/it.json index dd41b95eab7..2ff7f2d13b5 100644 --- a/apps/files_sharing/l10n/it.json +++ b/apps/files_sharing/l10n/it.json @@ -39,6 +39,9 @@ "%2$s shared %1$s with you" : "%2$s ha condiviso %1$s con te", "You shared %1$s via link" : "Hai condiviso %1$s tramite collegamento", "Shares" : "Condivisioni", + "You received %s as a remote share from %s" : "Hai ricevuto %s come condivisione remota da %s", + "Accept" : "Accetta", + "Decline" : "Rifiuta", "Share with me through my #ownCloud Federated Cloud ID, see %s" : "Condividi con me attraverso il mio ID di cloud federata #ownCloud, vedi %s", "Share with me through my #ownCloud Federated Cloud ID" : "Condividi con me attraverso il mio ID di cloud federata #ownCloud", "This share is password-protected" : "Questa condivione è protetta da password", @@ -64,6 +67,7 @@ "Federated Cloud" : "Cloud federata", "Your Federated Cloud ID:" : "Il tuo ID di cloud federata:", "Share it:" : "Condividilo:", + "Add to your website" : "Aggiungilo al tuo sito web", "Share with me via ownCloud" : "Condividi con me tramite ownCloud", "HTML Code:" : "Codice HTML:" },"pluralForm" :"nplurals=2; plural=(n != 1);" diff --git a/apps/files_sharing/l10n/ja.js b/apps/files_sharing/l10n/ja.js index 0fa2f3c8d0f..413f4a2ac8c 100644 --- a/apps/files_sharing/l10n/ja.js +++ b/apps/files_sharing/l10n/ja.js @@ -41,6 +41,7 @@ OC.L10N.register( "%2$s shared %1$s with you" : "%2$s は %1$s をあなたと共有しました", "You shared %1$s via link" : "リンク経由で %1$s を共有しています", "Shares" : "共有", + "Accept" : "承諾", "Share with me through my #ownCloud Federated Cloud ID, see %s" : "#ownCloud の「クラウド連携ID」で私と共有できます。こちらを見てください。%s", "Share with me through my #ownCloud Federated Cloud ID" : "#ownCloud の「クラウド連携ID」で私と共有できます。", "This share is password-protected" : "この共有はパスワードで保護されています", diff --git a/apps/files_sharing/l10n/ja.json b/apps/files_sharing/l10n/ja.json index 88b94fb5ed7..65d762871de 100644 --- a/apps/files_sharing/l10n/ja.json +++ b/apps/files_sharing/l10n/ja.json @@ -39,6 +39,7 @@ "%2$s shared %1$s with you" : "%2$s は %1$s をあなたと共有しました", "You shared %1$s via link" : "リンク経由で %1$s を共有しています", "Shares" : "共有", + "Accept" : "承諾", "Share with me through my #ownCloud Federated Cloud ID, see %s" : "#ownCloud の「クラウド連携ID」で私と共有できます。こちらを見てください。%s", "Share with me through my #ownCloud Federated Cloud ID" : "#ownCloud の「クラウド連携ID」で私と共有できます。", "This share is password-protected" : "この共有はパスワードで保護されています", diff --git a/apps/files_sharing/l10n/ko.js b/apps/files_sharing/l10n/ko.js index 646a57f7853..d750f827797 100644 --- a/apps/files_sharing/l10n/ko.js +++ b/apps/files_sharing/l10n/ko.js @@ -41,6 +41,9 @@ OC.L10N.register( "%2$s shared %1$s with you" : "%2$s 님이 내게 %1$s을(를) 공유함", "You shared %1$s via link" : "내가 %1$s을(를) 링크로 공유함", "Shares" : "공유", + "You received %s as a remote share from %s" : "%1$s의 원격 공유로 %2$s을(를) 받았습니다", + "Accept" : "수락", + "Decline" : "거절", "Share with me through my #ownCloud Federated Cloud ID, see %s" : "내 #ownCloud 연합 클라우드 ID를 통해서 공유됨, 더 알아보기: %s", "Share with me through my #ownCloud Federated Cloud ID" : "내 #ownCloud 연합 클라우드 ID를 통해서 공유됨", "This share is password-protected" : "이 공유는 암호로 보호되어 있습니다", @@ -66,6 +69,7 @@ OC.L10N.register( "Federated Cloud" : "연합 클라우드", "Your Federated Cloud ID:" : "내 연합 클라우드 ID:", "Share it:" : "공유하기:", + "Add to your website" : "내 웹 사이트에 추가", "Share with me via ownCloud" : "ownCloud로 나와 공유하기", "HTML Code:" : "HTML 코드:" }, diff --git a/apps/files_sharing/l10n/ko.json b/apps/files_sharing/l10n/ko.json index 4d322770b1a..e9a169be4f7 100644 --- a/apps/files_sharing/l10n/ko.json +++ b/apps/files_sharing/l10n/ko.json @@ -39,6 +39,9 @@ "%2$s shared %1$s with you" : "%2$s 님이 내게 %1$s을(를) 공유함", "You shared %1$s via link" : "내가 %1$s을(를) 링크로 공유함", "Shares" : "공유", + "You received %s as a remote share from %s" : "%1$s의 원격 공유로 %2$s을(를) 받았습니다", + "Accept" : "수락", + "Decline" : "거절", "Share with me through my #ownCloud Federated Cloud ID, see %s" : "내 #ownCloud 연합 클라우드 ID를 통해서 공유됨, 더 알아보기: %s", "Share with me through my #ownCloud Federated Cloud ID" : "내 #ownCloud 연합 클라우드 ID를 통해서 공유됨", "This share is password-protected" : "이 공유는 암호로 보호되어 있습니다", @@ -64,6 +67,7 @@ "Federated Cloud" : "연합 클라우드", "Your Federated Cloud ID:" : "내 연합 클라우드 ID:", "Share it:" : "공유하기:", + "Add to your website" : "내 웹 사이트에 추가", "Share with me via ownCloud" : "ownCloud로 나와 공유하기", "HTML Code:" : "HTML 코드:" },"pluralForm" :"nplurals=1; plural=0;" diff --git a/apps/files_sharing/l10n/nb_NO.js b/apps/files_sharing/l10n/nb_NO.js index 65b13acaf53..a83ce84d26d 100644 --- a/apps/files_sharing/l10n/nb_NO.js +++ b/apps/files_sharing/l10n/nb_NO.js @@ -41,6 +41,9 @@ OC.L10N.register( "%2$s shared %1$s with you" : "%2$s delte %1$s med deg", "You shared %1$s via link" : "Du delte %1$s via lenke", "Shares" : "Delinger", + "You received %s as a remote share from %s" : "Du mottok %s som en ekstern deling fra %s", + "Accept" : "Aksepter", + "Decline" : "Avslå", "Share with me through my #ownCloud Federated Cloud ID, see %s" : "Del med meg gjennom min #ownCloud ID for sammenknyttet sky, se %s", "Share with me through my #ownCloud Federated Cloud ID" : "Del med meg gjennom min #ownCloud ID for sammenknyttet sky", "This share is password-protected" : "Denne delingen er passordbeskyttet", @@ -66,6 +69,7 @@ OC.L10N.register( "Federated Cloud" : "Sammenknyttet sky", "Your Federated Cloud ID:" : "Din ID for sammenknyttet sky:", "Share it:" : "Del den:", + "Add to your website" : "Legg på websiden din", "Share with me via ownCloud" : "Del med meg via ownCloud", "HTML Code:" : "HTML-kode:" }, diff --git a/apps/files_sharing/l10n/nb_NO.json b/apps/files_sharing/l10n/nb_NO.json index 4fe4ee008be..6eedd895f4f 100644 --- a/apps/files_sharing/l10n/nb_NO.json +++ b/apps/files_sharing/l10n/nb_NO.json @@ -39,6 +39,9 @@ "%2$s shared %1$s with you" : "%2$s delte %1$s med deg", "You shared %1$s via link" : "Du delte %1$s via lenke", "Shares" : "Delinger", + "You received %s as a remote share from %s" : "Du mottok %s som en ekstern deling fra %s", + "Accept" : "Aksepter", + "Decline" : "Avslå", "Share with me through my #ownCloud Federated Cloud ID, see %s" : "Del med meg gjennom min #ownCloud ID for sammenknyttet sky, se %s", "Share with me through my #ownCloud Federated Cloud ID" : "Del med meg gjennom min #ownCloud ID for sammenknyttet sky", "This share is password-protected" : "Denne delingen er passordbeskyttet", @@ -64,6 +67,7 @@ "Federated Cloud" : "Sammenknyttet sky", "Your Federated Cloud ID:" : "Din ID for sammenknyttet sky:", "Share it:" : "Del den:", + "Add to your website" : "Legg på websiden din", "Share with me via ownCloud" : "Del med meg via ownCloud", "HTML Code:" : "HTML-kode:" },"pluralForm" :"nplurals=2; plural=(n != 1);" diff --git a/apps/files_sharing/l10n/nl.js b/apps/files_sharing/l10n/nl.js index e20f0fd868d..7468819fda7 100644 --- a/apps/files_sharing/l10n/nl.js +++ b/apps/files_sharing/l10n/nl.js @@ -41,6 +41,7 @@ OC.L10N.register( "%2$s shared %1$s with you" : "%2$s deelde %1$s met u", "You shared %1$s via link" : "U deelde %1$s via link", "Shares" : "Gedeeld", + "Accept" : "Accepteren", "Share with me through my #ownCloud Federated Cloud ID, see %s" : "Deel met mij via mijn #ownCloud federated Cloud ID, zie %s", "Share with me through my #ownCloud Federated Cloud ID" : "Deel met mij via mijn #ownCloud federated Cloud ID", "This share is password-protected" : "Deze share is met een wachtwoord beveiligd", @@ -66,6 +67,7 @@ OC.L10N.register( "Federated Cloud" : "Gefedereerde Cloud", "Your Federated Cloud ID:" : "Uw Federated Cloud ID:", "Share it:" : "Deel het:", + "Add to your website" : "Toevoegen aan uw website", "Share with me via ownCloud" : "Deel met mij via ownCloud", "HTML Code:" : "HTML Code:" }, diff --git a/apps/files_sharing/l10n/nl.json b/apps/files_sharing/l10n/nl.json index accdcefd74b..57df2d5c155 100644 --- a/apps/files_sharing/l10n/nl.json +++ b/apps/files_sharing/l10n/nl.json @@ -39,6 +39,7 @@ "%2$s shared %1$s with you" : "%2$s deelde %1$s met u", "You shared %1$s via link" : "U deelde %1$s via link", "Shares" : "Gedeeld", + "Accept" : "Accepteren", "Share with me through my #ownCloud Federated Cloud ID, see %s" : "Deel met mij via mijn #ownCloud federated Cloud ID, zie %s", "Share with me through my #ownCloud Federated Cloud ID" : "Deel met mij via mijn #ownCloud federated Cloud ID", "This share is password-protected" : "Deze share is met een wachtwoord beveiligd", @@ -64,6 +65,7 @@ "Federated Cloud" : "Gefedereerde Cloud", "Your Federated Cloud ID:" : "Uw Federated Cloud ID:", "Share it:" : "Deel het:", + "Add to your website" : "Toevoegen aan uw website", "Share with me via ownCloud" : "Deel met mij via ownCloud", "HTML Code:" : "HTML Code:" },"pluralForm" :"nplurals=2; plural=(n != 1);" diff --git a/apps/files_sharing/l10n/pl.js b/apps/files_sharing/l10n/pl.js index a0efb5ff607..62b128844df 100644 --- a/apps/files_sharing/l10n/pl.js +++ b/apps/files_sharing/l10n/pl.js @@ -30,6 +30,7 @@ OC.L10N.register( "%2$s shared %1$s with you" : "%2$s współdzieli %1$s z Tobą", "You shared %1$s via link" : "Udostępniasz %1$s przez link", "Shares" : "Udziały", + "Accept" : "Akceptuj", "This share is password-protected" : "Udział ten jest chroniony hasłem", "The password is wrong. Try again." : "To hasło jest niewłaściwe. Spróbuj ponownie.", "Password" : "Hasło", diff --git a/apps/files_sharing/l10n/pl.json b/apps/files_sharing/l10n/pl.json index 6ffad562b7f..76052b1dfb7 100644 --- a/apps/files_sharing/l10n/pl.json +++ b/apps/files_sharing/l10n/pl.json @@ -28,6 +28,7 @@ "%2$s shared %1$s with you" : "%2$s współdzieli %1$s z Tobą", "You shared %1$s via link" : "Udostępniasz %1$s przez link", "Shares" : "Udziały", + "Accept" : "Akceptuj", "This share is password-protected" : "Udział ten jest chroniony hasłem", "The password is wrong. Try again." : "To hasło jest niewłaściwe. Spróbuj ponownie.", "Password" : "Hasło", diff --git a/apps/files_sharing/l10n/pt_BR.js b/apps/files_sharing/l10n/pt_BR.js index 2f4e9e9e652..35c9f970000 100644 --- a/apps/files_sharing/l10n/pt_BR.js +++ b/apps/files_sharing/l10n/pt_BR.js @@ -41,6 +41,9 @@ OC.L10N.register( "%2$s shared %1$s with you" : "%2$s compartilhou %1$s com você", "You shared %1$s via link" : "Você compartilhou %1$s via link", "Shares" : "Compartilhamentos", + "You received %s as a remote share from %s" : "Você recebeu %s como um compartilhamento remoto de %s", + "Accept" : "Aceitar", + "Decline" : "Rejeitar", "Share with me through my #ownCloud Federated Cloud ID, see %s" : "Compartilhe comigo através do meu #ownCloud Nuvem Federados ID, veja %s", "Share with me through my #ownCloud Federated Cloud ID" : "Compartilhe comigo através do meu #ownCloud Nuvem Federados ID", "This share is password-protected" : "Este compartilhamento esta protegido por senha", @@ -66,6 +69,7 @@ OC.L10N.register( "Federated Cloud" : "Nuvem Conglomerada", "Your Federated Cloud ID:" : "Seu Federados Nuvem ID:", "Share it:" : "Compartilhe:", + "Add to your website" : "Adicione ao seu website", "Share with me via ownCloud" : "Compartilhe comigo via ownCloud", "HTML Code:" : "Código HTML:" }, diff --git a/apps/files_sharing/l10n/pt_BR.json b/apps/files_sharing/l10n/pt_BR.json index fd64260a419..ebb2a5a4cce 100644 --- a/apps/files_sharing/l10n/pt_BR.json +++ b/apps/files_sharing/l10n/pt_BR.json @@ -39,6 +39,9 @@ "%2$s shared %1$s with you" : "%2$s compartilhou %1$s com você", "You shared %1$s via link" : "Você compartilhou %1$s via link", "Shares" : "Compartilhamentos", + "You received %s as a remote share from %s" : "Você recebeu %s como um compartilhamento remoto de %s", + "Accept" : "Aceitar", + "Decline" : "Rejeitar", "Share with me through my #ownCloud Federated Cloud ID, see %s" : "Compartilhe comigo através do meu #ownCloud Nuvem Federados ID, veja %s", "Share with me through my #ownCloud Federated Cloud ID" : "Compartilhe comigo através do meu #ownCloud Nuvem Federados ID", "This share is password-protected" : "Este compartilhamento esta protegido por senha", @@ -64,6 +67,7 @@ "Federated Cloud" : "Nuvem Conglomerada", "Your Federated Cloud ID:" : "Seu Federados Nuvem ID:", "Share it:" : "Compartilhe:", + "Add to your website" : "Adicione ao seu website", "Share with me via ownCloud" : "Compartilhe comigo via ownCloud", "HTML Code:" : "Código HTML:" },"pluralForm" :"nplurals=2; plural=(n > 1);" diff --git a/apps/files_sharing/l10n/pt_PT.js b/apps/files_sharing/l10n/pt_PT.js index 8e9afdd0626..dc501ebe048 100644 --- a/apps/files_sharing/l10n/pt_PT.js +++ b/apps/files_sharing/l10n/pt_PT.js @@ -4,41 +4,46 @@ OC.L10N.register( "Server to server sharing is not enabled on this server" : "A partilha entre servidores não se encontra disponível neste servidor", "The mountpoint name contains invalid characters." : "O nome do ponto de montagem contém carateres inválidos.", "Invalid or untrusted SSL certificate" : "Certificado SSL inválido ou não confiável", - "Could not authenticate to remote share, password might be wrong" : "Não foi possível autenticar para partilha remota, a palavra-passe pode estar errada", + "Could not authenticate to remote share, password might be wrong" : "Não foi possível autenticar para a partilha remota, a palavra-passe poderá estar errada", "Storage not valid" : "Armazenamento inválido", "Couldn't add remote share" : "Não foi possível adicionar a partilha remota", "Shared with you" : "Partilhado consigo ", "Shared with others" : "Partilhado com outros", "Shared by link" : "Partilhado pela hiperligação", "Nothing shared with you yet" : "Ainda não foi partilhado nada consigo", - "Files and folders others share with you will show up here" : "Os ficheiros e pastas que os outros partilham consigo, serão mostradas aqui", - "Nothing shared yet" : "Ainda não foi nada paratilhado", - "Files and folders you share will show up here" : "Os ficheiros e pastas que você partilha serão mostrados aqui", + "Files and folders others share with you will show up here" : "Os ficheiros e pastas que os outros partilham consigo, serão mostradaos aqui", + "Nothing shared yet" : "Ainda não foi partilhado nada", + "Files and folders you share will show up here" : "Os ficheiros e as pastas que partilha serão mostrados aqui", "No shared links" : "Sem hiperligações partilhadas", - "Files and folders you share by link will show up here" : "Os ficheiros e pastas que você partilha por link serão mostrados aqui", + "Files and folders you share by link will show up here" : "Os ficheiros e as pastas que partilha com esta hiperligação, serão mostrados aqui", "Do you want to add the remote share {name} from {owner}@{remote}?" : "Deseja adicionar a partilha remota {nome} de {proprietário}@{remoto}?", "Remote share" : "Partilha remota", "Remote share password" : "Senha da partilha remota", "Cancel" : "Cancelar", "Add remote share" : "Adicionar partilha remota", - "No ownCloud installation (7 or higher) found at {remote}" : "Nenhuma instalação do OwnCloud (7 ou superior) encontrada em {remote}", + "You can upload into this folder" : "Pode enviar para esta pasta", + "No ownCloud installation (7 or higher) found at {remote}" : "Não foi encontrada nenhuma instalação OwnCloud (7 ou superior) em {remote}", "Invalid ownCloud url" : "Url ownCloud inválido", "Shared by" : "Partilhado por", "Sharing" : "Partilha", "A file or folder has been <strong>shared</strong>" : "Foi <strong>partilhado</strong> um ficheiro ou uma pasta", "A file or folder was shared from <strong>another server</strong>" : "Um ficheiro ou pasta foi partilhado a partir de <strong>outro servidor</strong>", - "A public shared file or folder was <strong>downloaded</strong>" : "Um ficheiro ou pasta partilhada publicamente foi <strong>descarregado</strong>", - "You received a new remote share from %s" : "Você recebeu uma nova partilha remota de %s", + "A public shared file or folder was <strong>downloaded</strong>" : "Foi <strong>transferido</strong> um ficheiro ou pasta partilhada publicamente", + "You received a new remote share %2$s from %1$s" : "Recebeu uma nova partilha remota %2$s de %1$s", + "You received a new remote share from %s" : "Recebeu uma nova partilha remota de %s", "%1$s accepted remote share %2$s" : "%1$s aceitou a partilha remota %2$s", "%1$s declined remote share %2$s" : "%1$s rejeitou a partilha remota %2$s", - "%1$s unshared %2$s from you" : "%1$s retirou a partilha %2$s contigo", - "Public shared folder %1$s was downloaded" : "A pasta partilhada publicamente %1$s foi descarregada", - "Public shared file %1$s was downloaded" : "O ficheiro partilhado publicamente %1$s foi descarregado", + "%1$s unshared %2$s from you" : "%1$s cancelou a partilha %2$s consigo", + "Public shared folder %1$s was downloaded" : "A pasta partilhada publicamente %1$s foi transferida", + "Public shared file %1$s was downloaded" : "Foi transferido o ficheiro %1$s partilhado publicamente", "You shared %1$s with %2$s" : "Partilhou %1$s com %2$s", "You shared %1$s with group %2$s" : "Partilhou %1$s com o grupo %2$s", "%2$s shared %1$s with you" : "%2$s partilhou %1$s consigo", "You shared %1$s via link" : "Partilhou %1$s através de uma hiperligação", "Shares" : "Partilhas", + "Accept" : "Aceitar", + "Share with me through my #ownCloud Federated Cloud ID, see %s" : "Partilhe comigo através da minha Id. da Nuvem Federada #ownCloud, veja %s", + "Share with me through my #ownCloud Federated Cloud ID" : "Partilhe comigo através da minha Id. da Nuvem Federada #ownCloud", "This share is password-protected" : "Esta partilha está protegida por senha", "The password is wrong. Try again." : "A senha está errada. Por favor, tente de novo.", "Password" : "Senha", @@ -55,10 +60,14 @@ OC.L10N.register( "Download" : "Transferir", "Download %s" : "Transferir %s", "Direct link" : "Hiperligação direta", - "Federated Cloud Sharing" : "Partilha de Cloud Federada", + "Federated Cloud Sharing" : "Partilha de Nuvem Federada", "Open documentation" : "Abrir documentação", "Allow users on this server to send shares to other servers" : "Permitir utilizadores neste servidor para enviar as partilhas para outros servidores", "Allow users on this server to receive shares from other servers" : "Permitir utilizadores neste servidor para receber as partilhas de outros servidores", + "Federated Cloud" : "Nuvem Federada", + "Your Federated Cloud ID:" : "A Sua Id. da Nuvem Federada", + "Share it:" : "Partilhe:", + "Add to your website" : "Adicione ao seu sítio da Web", "Share with me via ownCloud" : "Partilhe comigo via ownCloud", "HTML Code:" : "Código HTML:" }, diff --git a/apps/files_sharing/l10n/pt_PT.json b/apps/files_sharing/l10n/pt_PT.json index 9a66c73a681..9c5bc14e610 100644 --- a/apps/files_sharing/l10n/pt_PT.json +++ b/apps/files_sharing/l10n/pt_PT.json @@ -2,41 +2,46 @@ "Server to server sharing is not enabled on this server" : "A partilha entre servidores não se encontra disponível neste servidor", "The mountpoint name contains invalid characters." : "O nome do ponto de montagem contém carateres inválidos.", "Invalid or untrusted SSL certificate" : "Certificado SSL inválido ou não confiável", - "Could not authenticate to remote share, password might be wrong" : "Não foi possível autenticar para partilha remota, a palavra-passe pode estar errada", + "Could not authenticate to remote share, password might be wrong" : "Não foi possível autenticar para a partilha remota, a palavra-passe poderá estar errada", "Storage not valid" : "Armazenamento inválido", "Couldn't add remote share" : "Não foi possível adicionar a partilha remota", "Shared with you" : "Partilhado consigo ", "Shared with others" : "Partilhado com outros", "Shared by link" : "Partilhado pela hiperligação", "Nothing shared with you yet" : "Ainda não foi partilhado nada consigo", - "Files and folders others share with you will show up here" : "Os ficheiros e pastas que os outros partilham consigo, serão mostradas aqui", - "Nothing shared yet" : "Ainda não foi nada paratilhado", - "Files and folders you share will show up here" : "Os ficheiros e pastas que você partilha serão mostrados aqui", + "Files and folders others share with you will show up here" : "Os ficheiros e pastas que os outros partilham consigo, serão mostradaos aqui", + "Nothing shared yet" : "Ainda não foi partilhado nada", + "Files and folders you share will show up here" : "Os ficheiros e as pastas que partilha serão mostrados aqui", "No shared links" : "Sem hiperligações partilhadas", - "Files and folders you share by link will show up here" : "Os ficheiros e pastas que você partilha por link serão mostrados aqui", + "Files and folders you share by link will show up here" : "Os ficheiros e as pastas que partilha com esta hiperligação, serão mostrados aqui", "Do you want to add the remote share {name} from {owner}@{remote}?" : "Deseja adicionar a partilha remota {nome} de {proprietário}@{remoto}?", "Remote share" : "Partilha remota", "Remote share password" : "Senha da partilha remota", "Cancel" : "Cancelar", "Add remote share" : "Adicionar partilha remota", - "No ownCloud installation (7 or higher) found at {remote}" : "Nenhuma instalação do OwnCloud (7 ou superior) encontrada em {remote}", + "You can upload into this folder" : "Pode enviar para esta pasta", + "No ownCloud installation (7 or higher) found at {remote}" : "Não foi encontrada nenhuma instalação OwnCloud (7 ou superior) em {remote}", "Invalid ownCloud url" : "Url ownCloud inválido", "Shared by" : "Partilhado por", "Sharing" : "Partilha", "A file or folder has been <strong>shared</strong>" : "Foi <strong>partilhado</strong> um ficheiro ou uma pasta", "A file or folder was shared from <strong>another server</strong>" : "Um ficheiro ou pasta foi partilhado a partir de <strong>outro servidor</strong>", - "A public shared file or folder was <strong>downloaded</strong>" : "Um ficheiro ou pasta partilhada publicamente foi <strong>descarregado</strong>", - "You received a new remote share from %s" : "Você recebeu uma nova partilha remota de %s", + "A public shared file or folder was <strong>downloaded</strong>" : "Foi <strong>transferido</strong> um ficheiro ou pasta partilhada publicamente", + "You received a new remote share %2$s from %1$s" : "Recebeu uma nova partilha remota %2$s de %1$s", + "You received a new remote share from %s" : "Recebeu uma nova partilha remota de %s", "%1$s accepted remote share %2$s" : "%1$s aceitou a partilha remota %2$s", "%1$s declined remote share %2$s" : "%1$s rejeitou a partilha remota %2$s", - "%1$s unshared %2$s from you" : "%1$s retirou a partilha %2$s contigo", - "Public shared folder %1$s was downloaded" : "A pasta partilhada publicamente %1$s foi descarregada", - "Public shared file %1$s was downloaded" : "O ficheiro partilhado publicamente %1$s foi descarregado", + "%1$s unshared %2$s from you" : "%1$s cancelou a partilha %2$s consigo", + "Public shared folder %1$s was downloaded" : "A pasta partilhada publicamente %1$s foi transferida", + "Public shared file %1$s was downloaded" : "Foi transferido o ficheiro %1$s partilhado publicamente", "You shared %1$s with %2$s" : "Partilhou %1$s com %2$s", "You shared %1$s with group %2$s" : "Partilhou %1$s com o grupo %2$s", "%2$s shared %1$s with you" : "%2$s partilhou %1$s consigo", "You shared %1$s via link" : "Partilhou %1$s através de uma hiperligação", "Shares" : "Partilhas", + "Accept" : "Aceitar", + "Share with me through my #ownCloud Federated Cloud ID, see %s" : "Partilhe comigo através da minha Id. da Nuvem Federada #ownCloud, veja %s", + "Share with me through my #ownCloud Federated Cloud ID" : "Partilhe comigo através da minha Id. da Nuvem Federada #ownCloud", "This share is password-protected" : "Esta partilha está protegida por senha", "The password is wrong. Try again." : "A senha está errada. Por favor, tente de novo.", "Password" : "Senha", @@ -53,10 +58,14 @@ "Download" : "Transferir", "Download %s" : "Transferir %s", "Direct link" : "Hiperligação direta", - "Federated Cloud Sharing" : "Partilha de Cloud Federada", + "Federated Cloud Sharing" : "Partilha de Nuvem Federada", "Open documentation" : "Abrir documentação", "Allow users on this server to send shares to other servers" : "Permitir utilizadores neste servidor para enviar as partilhas para outros servidores", "Allow users on this server to receive shares from other servers" : "Permitir utilizadores neste servidor para receber as partilhas de outros servidores", + "Federated Cloud" : "Nuvem Federada", + "Your Federated Cloud ID:" : "A Sua Id. da Nuvem Federada", + "Share it:" : "Partilhe:", + "Add to your website" : "Adicione ao seu sítio da Web", "Share with me via ownCloud" : "Partilhe comigo via ownCloud", "HTML Code:" : "Código HTML:" },"pluralForm" :"nplurals=2; plural=(n != 1);" diff --git a/apps/files_sharing/l10n/ru.js b/apps/files_sharing/l10n/ru.js index 66ef69cac61..2d89b5e3102 100644 --- a/apps/files_sharing/l10n/ru.js +++ b/apps/files_sharing/l10n/ru.js @@ -41,6 +41,7 @@ OC.L10N.register( "%2$s shared %1$s with you" : "%2$s поделился с вами %1$s", "You shared %1$s via link" : "Вы поделились %1$s с помощью ссылки", "Shares" : "События обмена файлами", + "Accept" : "Принять", "Share with me through my #ownCloud Federated Cloud ID, see %s" : "Поделитесь со мной через мой #ownCloud ID в объединении облачных хранилищ, смотрите %s", "Share with me through my #ownCloud Federated Cloud ID" : "Поделитесь со мной через мой #ownCloud ID в объединении облачных хранилищ", "This share is password-protected" : "Общий ресурс защищен паролем", diff --git a/apps/files_sharing/l10n/ru.json b/apps/files_sharing/l10n/ru.json index e4fccaf0800..0f7a152f536 100644 --- a/apps/files_sharing/l10n/ru.json +++ b/apps/files_sharing/l10n/ru.json @@ -39,6 +39,7 @@ "%2$s shared %1$s with you" : "%2$s поделился с вами %1$s", "You shared %1$s via link" : "Вы поделились %1$s с помощью ссылки", "Shares" : "События обмена файлами", + "Accept" : "Принять", "Share with me through my #ownCloud Federated Cloud ID, see %s" : "Поделитесь со мной через мой #ownCloud ID в объединении облачных хранилищ, смотрите %s", "Share with me through my #ownCloud Federated Cloud ID" : "Поделитесь со мной через мой #ownCloud ID в объединении облачных хранилищ", "This share is password-protected" : "Общий ресурс защищен паролем", diff --git a/apps/files_sharing/l10n/sk_SK.js b/apps/files_sharing/l10n/sk_SK.js index e4ff1b4e1c5..677b4f24e21 100644 --- a/apps/files_sharing/l10n/sk_SK.js +++ b/apps/files_sharing/l10n/sk_SK.js @@ -41,6 +41,7 @@ OC.L10N.register( "%2$s shared %1$s with you" : "%2$s vám zdieľal %1$s", "You shared %1$s via link" : "Zdieľate %1$s prostredníctvom odkazu", "Shares" : "Zdieľanie", + "Accept" : "Schváliť", "Share with me through my #ownCloud Federated Cloud ID, see %s" : "Zdieľajte so mnou pomocou môjho #ownCloud Federated Cloud ID, viac n %s", "Share with me through my #ownCloud Federated Cloud ID" : "Zdieľajte so mnou pomocou môjho #ownCloud Federated Cloud ID", "This share is password-protected" : "Toto zdieľanie je chránené heslom", diff --git a/apps/files_sharing/l10n/sk_SK.json b/apps/files_sharing/l10n/sk_SK.json index ce516ae314c..f4f6cc3798b 100644 --- a/apps/files_sharing/l10n/sk_SK.json +++ b/apps/files_sharing/l10n/sk_SK.json @@ -39,6 +39,7 @@ "%2$s shared %1$s with you" : "%2$s vám zdieľal %1$s", "You shared %1$s via link" : "Zdieľate %1$s prostredníctvom odkazu", "Shares" : "Zdieľanie", + "Accept" : "Schváliť", "Share with me through my #ownCloud Federated Cloud ID, see %s" : "Zdieľajte so mnou pomocou môjho #ownCloud Federated Cloud ID, viac n %s", "Share with me through my #ownCloud Federated Cloud ID" : "Zdieľajte so mnou pomocou môjho #ownCloud Federated Cloud ID", "This share is password-protected" : "Toto zdieľanie je chránené heslom", diff --git a/apps/files_sharing/l10n/sl.js b/apps/files_sharing/l10n/sl.js index d613f169081..3b6622aedf2 100644 --- a/apps/files_sharing/l10n/sl.js +++ b/apps/files_sharing/l10n/sl.js @@ -39,6 +39,7 @@ OC.L10N.register( "%2$s shared %1$s with you" : "Uporabnik %2$s je omogočil souporabo %1$s", "You shared %1$s via link" : "Omogočili ste souporabo %1$s preko povezave", "Shares" : "Souporaba", + "Accept" : "Sprejmi", "This share is password-protected" : "To mesto je zaščiteno z geslom.", "The password is wrong. Try again." : "Geslo je napačno. Poskusite znova.", "Password" : "Geslo", diff --git a/apps/files_sharing/l10n/sl.json b/apps/files_sharing/l10n/sl.json index fb00547388b..2d443de13d9 100644 --- a/apps/files_sharing/l10n/sl.json +++ b/apps/files_sharing/l10n/sl.json @@ -37,6 +37,7 @@ "%2$s shared %1$s with you" : "Uporabnik %2$s je omogočil souporabo %1$s", "You shared %1$s via link" : "Omogočili ste souporabo %1$s preko povezave", "Shares" : "Souporaba", + "Accept" : "Sprejmi", "This share is password-protected" : "To mesto je zaščiteno z geslom.", "The password is wrong. Try again." : "Geslo je napačno. Poskusite znova.", "Password" : "Geslo", diff --git a/apps/files_sharing/l10n/sr.js b/apps/files_sharing/l10n/sr.js index 5676cc5a00c..ddb15bd2183 100644 --- a/apps/files_sharing/l10n/sr.js +++ b/apps/files_sharing/l10n/sr.js @@ -40,6 +40,7 @@ OC.L10N.register( "%2$s shared %1$s with you" : "%2$s подели %1$s са вама", "You shared %1$s via link" : "Поделили сте %1$s путем везе", "Shares" : "Дељења", + "Accept" : "Прихвати", "This share is password-protected" : "Дељење је заштићено лозинком", "The password is wrong. Try again." : "Лозинка је погрешна. Покушајте поново.", "Password" : "Лозинка", diff --git a/apps/files_sharing/l10n/sr.json b/apps/files_sharing/l10n/sr.json index fca522a1039..dc44b1fbb60 100644 --- a/apps/files_sharing/l10n/sr.json +++ b/apps/files_sharing/l10n/sr.json @@ -38,6 +38,7 @@ "%2$s shared %1$s with you" : "%2$s подели %1$s са вама", "You shared %1$s via link" : "Поделили сте %1$s путем везе", "Shares" : "Дељења", + "Accept" : "Прихвати", "This share is password-protected" : "Дељење је заштићено лозинком", "The password is wrong. Try again." : "Лозинка је погрешна. Покушајте поново.", "Password" : "Лозинка", diff --git a/apps/files_sharing/l10n/sv.js b/apps/files_sharing/l10n/sv.js index 77b1171d9b2..9b1d9ccb591 100644 --- a/apps/files_sharing/l10n/sv.js +++ b/apps/files_sharing/l10n/sv.js @@ -36,6 +36,7 @@ OC.L10N.register( "%2$s shared %1$s with you" : "%2$s delade %1$s med dig", "You shared %1$s via link" : "Du delade %1$s via länk", "Shares" : "Delningar", + "Accept" : "Acceptera", "This share is password-protected" : "Den här delningen är lösenordsskyddad", "The password is wrong. Try again." : "Lösenordet är fel. Försök igen.", "Password" : "Lösenord", diff --git a/apps/files_sharing/l10n/sv.json b/apps/files_sharing/l10n/sv.json index a8bb9afd01f..0d13069dfba 100644 --- a/apps/files_sharing/l10n/sv.json +++ b/apps/files_sharing/l10n/sv.json @@ -34,6 +34,7 @@ "%2$s shared %1$s with you" : "%2$s delade %1$s med dig", "You shared %1$s via link" : "Du delade %1$s via länk", "Shares" : "Delningar", + "Accept" : "Acceptera", "This share is password-protected" : "Den här delningen är lösenordsskyddad", "The password is wrong. Try again." : "Lösenordet är fel. Försök igen.", "Password" : "Lösenord", diff --git a/apps/files_sharing/l10n/th_TH.js b/apps/files_sharing/l10n/th_TH.js index be9a353ffd9..9db7c600102 100644 --- a/apps/files_sharing/l10n/th_TH.js +++ b/apps/files_sharing/l10n/th_TH.js @@ -41,6 +41,9 @@ OC.L10N.register( "%2$s shared %1$s with you" : "%2$s ถูกแชร์ %1$s กับคุณ", "You shared %1$s via link" : "คุณแชร์ %1$s ผ่านลิงค์", "Shares" : "แชร์", + "You received %s as a remote share from %s" : "คุณได้รับ %s โดยรีโมทแชร์จาก %s", + "Accept" : "ยอมรับ", + "Decline" : "ลดลง", "Share with me through my #ownCloud Federated Cloud ID, see %s" : "แชร์ร่วมกับฉันผ่าน #ownCloud ด้วยไอดีคลาวด์ในเครือ สามารถดูได้ที่ %s", "Share with me through my #ownCloud Federated Cloud ID" : "แชร์ร่วมกับฉันผ่าน #ownCloud ด้วยไอดีคลาวด์ในเครือ", "This share is password-protected" : "นี้แชร์การป้องกันด้วยรหัสผ่าน", @@ -66,6 +69,7 @@ OC.L10N.register( "Federated Cloud" : "สหพันธ์คลาวด์", "Your Federated Cloud ID:" : "ไอดีคลาวด์ของคุณ:", "Share it:" : "แชร์มัน:", + "Add to your website" : "เพิ่มไปยังเว็บไซต์", "Share with me via ownCloud" : "แชร์ร่วมกับฉันผ่าน ownCloud", "HTML Code:" : "โค้ด HTML:" }, diff --git a/apps/files_sharing/l10n/th_TH.json b/apps/files_sharing/l10n/th_TH.json index 6984d7275d9..f630c062643 100644 --- a/apps/files_sharing/l10n/th_TH.json +++ b/apps/files_sharing/l10n/th_TH.json @@ -39,6 +39,9 @@ "%2$s shared %1$s with you" : "%2$s ถูกแชร์ %1$s กับคุณ", "You shared %1$s via link" : "คุณแชร์ %1$s ผ่านลิงค์", "Shares" : "แชร์", + "You received %s as a remote share from %s" : "คุณได้รับ %s โดยรีโมทแชร์จาก %s", + "Accept" : "ยอมรับ", + "Decline" : "ลดลง", "Share with me through my #ownCloud Federated Cloud ID, see %s" : "แชร์ร่วมกับฉันผ่าน #ownCloud ด้วยไอดีคลาวด์ในเครือ สามารถดูได้ที่ %s", "Share with me through my #ownCloud Federated Cloud ID" : "แชร์ร่วมกับฉันผ่าน #ownCloud ด้วยไอดีคลาวด์ในเครือ", "This share is password-protected" : "นี้แชร์การป้องกันด้วยรหัสผ่าน", @@ -64,6 +67,7 @@ "Federated Cloud" : "สหพันธ์คลาวด์", "Your Federated Cloud ID:" : "ไอดีคลาวด์ของคุณ:", "Share it:" : "แชร์มัน:", + "Add to your website" : "เพิ่มไปยังเว็บไซต์", "Share with me via ownCloud" : "แชร์ร่วมกับฉันผ่าน ownCloud", "HTML Code:" : "โค้ด HTML:" },"pluralForm" :"nplurals=1; plural=0;" diff --git a/apps/files_sharing/l10n/tr.js b/apps/files_sharing/l10n/tr.js index 9e14e0187cd..bb00dd4295a 100644 --- a/apps/files_sharing/l10n/tr.js +++ b/apps/files_sharing/l10n/tr.js @@ -41,6 +41,7 @@ OC.L10N.register( "%2$s shared %1$s with you" : "%2$s sizinle %1$s dosyasını paylaştı", "You shared %1$s via link" : "Bağlantı ile %1$s paylaşımını yaptınız", "Shares" : "Paylaşımlar", + "Accept" : "Kabul et", "Share with me through my #ownCloud Federated Cloud ID, see %s" : "#ownCloud Birleşik Bulut kimliğim ile paylaşıldı, bkz %s", "Share with me through my #ownCloud Federated Cloud ID" : "#ownCloud Birleşmiş Bulut kimliğim ile paylaşıldı", "This share is password-protected" : "Bu paylaşım parola korumalı", diff --git a/apps/files_sharing/l10n/tr.json b/apps/files_sharing/l10n/tr.json index b11d5be2fd7..1371bf37447 100644 --- a/apps/files_sharing/l10n/tr.json +++ b/apps/files_sharing/l10n/tr.json @@ -39,6 +39,7 @@ "%2$s shared %1$s with you" : "%2$s sizinle %1$s dosyasını paylaştı", "You shared %1$s via link" : "Bağlantı ile %1$s paylaşımını yaptınız", "Shares" : "Paylaşımlar", + "Accept" : "Kabul et", "Share with me through my #ownCloud Federated Cloud ID, see %s" : "#ownCloud Birleşik Bulut kimliğim ile paylaşıldı, bkz %s", "Share with me through my #ownCloud Federated Cloud ID" : "#ownCloud Birleşmiş Bulut kimliğim ile paylaşıldı", "This share is password-protected" : "Bu paylaşım parola korumalı", diff --git a/apps/files_sharing/lib/cache.php b/apps/files_sharing/lib/cache.php index c25dc92409f..377c9f02253 100644 --- a/apps/files_sharing/lib/cache.php +++ b/apps/files_sharing/lib/cache.php @@ -47,6 +47,7 @@ class Shared_Cache extends Cache { * @param \OC\Files\Storage\Shared $storage */ public function __construct($storage) { + parent::__construct($storage); $this->storage = $storage; } @@ -94,6 +95,7 @@ class Shared_Cache extends Cache { * @return array|false */ public function get($file) { + $mimetypeLoader = \OC::$server->getMimeTypeLoader(); if (is_string($file)) { $cache = $this->getSourceCache($file); if ($cache) { @@ -130,8 +132,8 @@ class Shared_Cache extends Cache { $data['mtime'] = (int)$data['mtime']; $data['storage_mtime'] = (int)$data['storage_mtime']; $data['encrypted'] = (bool)$data['encrypted']; - $data['mimetype'] = $this->getMimetype($data['mimetype']); - $data['mimepart'] = $this->getMimetype($data['mimepart']); + $data['mimetype'] = $mimetypeLoader->getMimetypeById($data['mimetype']); + $data['mimepart'] = $mimetypeLoader->getMimetypeById($data['mimepart']); if ($data['storage_mtime'] === 0) { $data['storage_mtime'] = $data['mtime']; } diff --git a/apps/files_sharing/lib/external/manager.php b/apps/files_sharing/lib/external/manager.php index 67a26c096c2..17142e95099 100644 --- a/apps/files_sharing/lib/external/manager.php +++ b/apps/files_sharing/lib/external/manager.php @@ -28,6 +28,7 @@ namespace OCA\Files_Sharing\External; use OC\Files\Filesystem; use OCP\Files; +use OC\Notification\IManager; class Manager { const STORAGE = '\OCA\Files_Sharing\External\Storage'; @@ -58,19 +59,26 @@ class Manager { private $httpHelper; /** + * @var IManager + */ + private $notificationManager; + + /** * @param \OCP\IDBConnection $connection * @param \OC\Files\Mount\Manager $mountManager * @param \OCP\Files\Storage\IStorageFactory $storageLoader * @param \OC\HTTPHelper $httpHelper + * @param IManager $notificationManager * @param string $uid */ public function __construct(\OCP\IDBConnection $connection, \OC\Files\Mount\Manager $mountManager, - \OCP\Files\Storage\IStorageFactory $storageLoader, \OC\HTTPHelper $httpHelper, $uid) { + \OCP\Files\Storage\IStorageFactory $storageLoader, \OC\HTTPHelper $httpHelper, IManager $notificationManager, $uid) { $this->connection = $connection; $this->mountManager = $mountManager; $this->storageLoader = $storageLoader; $this->httpHelper = $httpHelper; $this->uid = $uid; + $this->notificationManager = $notificationManager; } /** @@ -206,6 +214,7 @@ class Manager { $acceptShare->execute(array(1, $mountPoint, $hash, $id, $this->uid)); $this->sendFeedbackToRemote($share['remote'], $share['share_token'], $share['remote_id'], 'accept'); + $this->scrapNotification($share['remote_id']); return true; } @@ -228,6 +237,7 @@ class Manager { $removeShare->execute(array($id, $this->uid)); $this->sendFeedbackToRemote($share['remote'], $share['share_token'], $share['remote_id'], 'decline'); + $this->scrapNotification($share['remote_id']); return true; } @@ -235,6 +245,17 @@ class Manager { } /** + * @param int $remoteShare + */ + protected function scrapNotification($remoteShare) { + $filter = $this->notificationManager->createNotification(); + $filter->setApp('files_sharing') + ->setUser($this->uid) + ->setObject('remote_share', (int) $remoteShare); + $this->notificationManager->markProcessed($filter); + } + + /** * inform remote server whether server-to-server share was accepted/declined * * @param string $remote @@ -265,6 +286,7 @@ class Manager { \OC\Files\Filesystem::getMountManager(), \OC\Files\Filesystem::getLoader(), \OC::$server->getHTTPHelper(), + \OC::$server->getNotificationManager(), $params['user'] ); diff --git a/apps/files_sharing/lib/hooks.php b/apps/files_sharing/lib/hooks.php index 7dd04f2f4a0..1937010f390 100644 --- a/apps/files_sharing/lib/hooks.php +++ b/apps/files_sharing/lib/hooks.php @@ -33,6 +33,7 @@ class Hooks { \OC\Files\Filesystem::getMountManager(), \OC\Files\Filesystem::getLoader(), \OC::$server->getHTTPHelper(), + \OC::$server->getNotificationManager(), $params['uid']); $manager->removeUserShares($params['uid']); diff --git a/apps/files_sharing/lib/notifier.php b/apps/files_sharing/lib/notifier.php new file mode 100644 index 00000000000..cc2deb3f439 --- /dev/null +++ b/apps/files_sharing/lib/notifier.php @@ -0,0 +1,86 @@ +<?php +/** + * @author Joas Schilling <nickvergessen@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\Files_Sharing; + + +use OC\Notification\INotification; +use OC\Notification\INotifier; + +class Notifier implements INotifier { + /** @var \OCP\L10N\IFactory */ + protected $factory; + + /** + * @param \OCP\L10N\IFactory $factory + */ + public function __construct(\OCP\L10N\IFactory $factory) { + $this->factory = $factory; + } + + /** + * @param INotification $notification + * @param string $languageCode The code of the language that should be used to prepare the notification + * @return INotification + */ + public function prepare(INotification $notification, $languageCode) { + if ($notification->getApp() !== 'files_sharing') { + // Not my app => throw + throw new \InvalidArgumentException(); + } + + // Read the language from the notification + $l = $this->factory->get('files_sharing', $languageCode); + + switch ($notification->getSubject()) { + // Deal with known subjects + case 'remote_share': + $params = $notification->getSubjectParameters(); + $notification->setParsedSubject( + (string) $l->t('You received %s as a remote share from %s', $params) + ); + + // Deal with the actions for a known subject + foreach ($notification->getActions() as $action) { + switch ($action->getLabel()) { + case 'accept': + $action->setParsedLabel( + (string) $l->t('Accept') + ); + break; + + case 'decline': + $action->setParsedLabel( + (string) $l->t('Decline') + ); + break; + } + + $notification->addParsedAction($action); + } + return $notification; + + default: + // Unknown subject => Unknown notification => throw + throw new \InvalidArgumentException(); + } + } +} diff --git a/apps/files_sharing/lib/sharedmount.php b/apps/files_sharing/lib/sharedmount.php index 2771e0415b0..9aa9bbf562b 100644 --- a/apps/files_sharing/lib/sharedmount.php +++ b/apps/files_sharing/lib/sharedmount.php @@ -81,7 +81,7 @@ class SharedMount extends MountPoint implements MoveableMount { ); if ($newMountPoint !== $share['file_target']) { - self::updateFileTarget($newMountPoint, $share); + $this->updateFileTarget($newMountPoint, $share); $share['file_target'] = $newMountPoint; $share['unique_name'] = true; } diff --git a/apps/files_sharing/templates/public.php b/apps/files_sharing/templates/public.php index 43c76125e16..cde28c80fc4 100644 --- a/apps/files_sharing/templates/public.php +++ b/apps/files_sharing/templates/public.php @@ -17,6 +17,7 @@ OCP\Util::addStyle('files', 'upload'); OCP\Util::addScript('files', 'filesummary'); OCP\Util::addScript('files', 'breadcrumb'); OCP\Util::addScript('files', 'fileinfomodel'); +OCP\Util::addScript('files', 'newfilemenu'); OCP\Util::addScript('files', 'files'); OCP\Util::addScript('files', 'filelist'); OCP\Util::addscript('files', 'keyboardshortcuts'); diff --git a/apps/files_sharing/tests/external/managertest.php b/apps/files_sharing/tests/external/managertest.php index df01ea0f738..8e03c67a9a3 100644 --- a/apps/files_sharing/tests/external/managertest.php +++ b/apps/files_sharing/tests/external/managertest.php @@ -50,6 +50,7 @@ class ManagerTest extends TestCase { $this->mountManager, new StorageFactory(), $httpHelper, + \OC::$server->getNotificationManager(), $this->uid ); } diff --git a/apps/files_sharing/tests/server2server.php b/apps/files_sharing/tests/server2server.php index a1c87d73393..a4cc8209a8e 100644 --- a/apps/files_sharing/tests/server2server.php +++ b/apps/files_sharing/tests/server2server.php @@ -154,6 +154,7 @@ class Test_Files_Sharing_S2S_OCS_API extends TestCase { \OC\Files\Filesystem::getMountManager(), \OC\Files\Filesystem::getLoader(), \OC::$server->getHTTPHelper(), + \OC::$server->getNotificationManager(), $toDelete ); diff --git a/apps/files_versions/ajax/getVersions.php b/apps/files_versions/ajax/getVersions.php index 20d60240179..59bd30f434f 100644 --- a/apps/files_versions/ajax/getVersions.php +++ b/apps/files_versions/ajax/getVersions.php @@ -44,6 +44,6 @@ if( $versions ) { } else { - \OCP\JSON::success(array('data' => array('versions' => false, 'endReached' => true))); + \OCP\JSON::success(array('data' => array('versions' => [], 'endReached' => true))); } diff --git a/apps/files_versions/ajax/preview.php b/apps/files_versions/ajax/preview.php index 8a9a5fba14c..2f33f0278ef 100644 --- a/apps/files_versions/ajax/preview.php +++ b/apps/files_versions/ajax/preview.php @@ -53,7 +53,10 @@ try { $preview->setScalingUp($scalingUp); $preview->showPreview(); -}catch(\Exception $e) { +} catch (\OCP\Files\NotFoundException $e) { + \OC_Response::setStatus(404); + \OCP\Util::writeLog('core', $e->getmessage(), \OCP\Util::DEBUG); +} catch (\Exception $e) { \OC_Response::setStatus(500); \OCP\Util::writeLog('core', $e->getmessage(), \OCP\Util::DEBUG); } diff --git a/apps/files_versions/appinfo/app.php b/apps/files_versions/appinfo/app.php index 3bad0d8a94d..967f2e73a34 100644 --- a/apps/files_versions/appinfo/app.php +++ b/apps/files_versions/appinfo/app.php @@ -19,7 +19,6 @@ * along with this program. If not, see <http://www.gnu.org/licenses/> * */ -OCP\Util::addscript('files_versions', 'versions'); OCP\Util::addStyle('files_versions', 'versions'); \OCA\Files_Versions\Hooks::connectHooks(); diff --git a/apps/files_versions/css/versions.css b/apps/files_versions/css/versions.css index e3ccfc3c864..ec0f0cc9896 100644 --- a/apps/files_versions/css/versions.css +++ b/apps/files_versions/css/versions.css @@ -1,19 +1,18 @@ -#dropdown.drop-versions { - width: 360px; +.versionsTabView .clear-float { + clear: both; } - -#found_versions li { +.versionsTabView li { width: 100%; cursor: default; height: 56px; float: left; border-bottom: 1px solid rgba(100,100,100,.1); } -#found_versions li:last-child { +.versionsTabView li:last-child { border-bottom: none; } -#found_versions li > * { +.versionsTabView li > * { padding: 7px; float: left; vertical-align: top; @@ -22,34 +21,34 @@ opacity: .5; } -#found_versions li > a, -#found_versions li > span { +.versionsTabView li > a, +.versionsTabView li > span { padding: 17px 7px; } -#found_versions li > *:hover, -#found_versions li > *:focus { +.versionsTabView li > *:hover, +.versionsTabView li > *:focus { -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; filter: alpha(opacity=100); opacity: 1; } -#found_versions img { +.versionsTabView img { cursor: pointer; padding-right: 4px; } -#found_versions img.preview { +.versionsTabView img.preview { cursor: default; opacity: 1; } -#found_versions .versionDate { +.versionsTabView .versionDate { min-width: 100px; vertical-align: text-bottom; } -#found_versions .revertVersion { +.versionsTabView .revertVersion { cursor: pointer; float: right; max-width: 130px; diff --git a/apps/files_versions/js/filesplugin.js b/apps/files_versions/js/filesplugin.js new file mode 100644 index 00000000000..42075ce6462 --- /dev/null +++ b/apps/files_versions/js/filesplugin.js @@ -0,0 +1,34 @@ +/* + * Copyright (c) 2015 + * + * This file is licensed under the Affero General Public License version 3 + * or later. + * + * See the COPYING-README file. + * + */ + +(function() { + OCA.Versions = OCA.Versions || {}; + + /** + * @namespace + */ + OCA.Versions.Util = { + /** + * Initialize the versions plugin. + * + * @param {OCA.Files.FileList} fileList file list to be extended + */ + attach: function(fileList) { + if (fileList.id === 'trashbin' || fileList.id === 'files.public') { + return; + } + + fileList.registerTabView(new OCA.Versions.VersionsTabView('versionsTabView')); + } + }; +})(); + +OC.Plugins.register('OCA.Files.FileList', OCA.Versions.Util); + diff --git a/apps/files_versions/js/versioncollection.js b/apps/files_versions/js/versioncollection.js new file mode 100644 index 00000000000..3f8214cde8c --- /dev/null +++ b/apps/files_versions/js/versioncollection.js @@ -0,0 +1,91 @@ +/* + * Copyright (c) 2015 + * + * This file is licensed under the Affero General Public License version 3 + * or later. + * + * See the COPYING-README file. + * + */ + +(function() { + /** + * @memberof OCA.Versions + */ + var VersionCollection = OC.Backbone.Collection.extend({ + model: OCA.Versions.VersionModel, + + /** + * @var OCA.Files.FileInfoModel + */ + _fileInfo: null, + + _endReached: false, + _currentIndex: 0, + + url: function() { + var url = OC.generateUrl('/apps/files_versions/ajax/getVersions.php'); + var query = { + source: this._fileInfo.getFullPath(), + start: this._currentIndex + }; + return url + '?' + OC.buildQueryString(query); + }, + + setFileInfo: function(fileInfo) { + this._fileInfo = fileInfo; + // reset + this._endReached = false; + this._currentIndex = 0; + }, + + getFileInfo: function() { + return this._fileInfo; + }, + + hasMoreResults: function() { + return !this._endReached; + }, + + fetch: function(options) { + if (!options || options.remove) { + this._currentIndex = 0; + } + return OC.Backbone.Collection.prototype.fetch.apply(this, arguments); + }, + + /** + * Fetch the next set of results + */ + fetchNext: function() { + if (!this.hasMoreResults()) { + return null; + } + if (this._currentIndex === 0) { + return this.fetch(); + } + return this.fetch({remove: false}); + }, + + parse: function(result) { + var results = _.map(result.data.versions, function(version) { + var revision = parseInt(version.version, 10); + return { + id: revision, + name: version.name, + fullPath: version.path, + timestamp: revision, + size: version.size + }; + }); + this._endReached = result.data.endReached; + this._currentIndex += results.length; + return results; + } + }); + + OCA.Versions = OCA.Versions || {}; + + OCA.Versions.VersionCollection = VersionCollection; +})(); + diff --git a/apps/files_versions/js/versionmodel.js b/apps/files_versions/js/versionmodel.js new file mode 100644 index 00000000000..dc610fc2144 --- /dev/null +++ b/apps/files_versions/js/versionmodel.js @@ -0,0 +1,77 @@ +/* + * Copyright (c) 2015 + * + * This file is licensed under the Affero General Public License version 3 + * or later. + * + * See the COPYING-README file. + * + */ + +(function() { + /** + * @memberof OCA.Versions + */ + var VersionModel = OC.Backbone.Model.extend({ + + /** + * Restores the original file to this revision + */ + revert: function(options) { + options = options ? _.clone(options) : {}; + var model = this; + var file = this.getFullPath(); + var revision = this.get('timestamp'); + + $.ajax({ + type: 'GET', + url: OC.generateUrl('/apps/files_versions/ajax/rollbackVersion.php'), + dataType: 'json', + data: { + file: file, + revision: revision + }, + success: function(response) { + if (response.status === 'error') { + if (options.error) { + options.error.call(options.context, model, response, options); + } + model.trigger('error', model, response, options); + } else { + if (options.success) { + options.success.call(options.context, model, response, options); + } + model.trigger('revert', model, response, options); + } + } + }); + }, + + getFullPath: function() { + return this.get('fullPath'); + }, + + getPreviewUrl: function() { + var url = OC.generateUrl('/apps/files_versions/preview'); + var params = { + file: this.get('fullPath'), + version: this.get('timestamp') + }; + return url + '?' + OC.buildQueryString(params); + }, + + getDownloadUrl: function() { + var url = OC.generateUrl('/apps/files_versions/download.php'); + var params = { + file: this.get('fullPath'), + revision: this.get('timestamp') + }; + return url + '?' + OC.buildQueryString(params); + } + }); + + OCA.Versions = OCA.Versions || {}; + + OCA.Versions.VersionModel = VersionModel; +})(); + diff --git a/apps/files_versions/js/versions.js b/apps/files_versions/js/versions.js deleted file mode 100644 index e86bb4c3307..00000000000 --- a/apps/files_versions/js/versions.js +++ /dev/null @@ -1,193 +0,0 @@ -/* - * Copyright (c) 2014 - * - * This file is licensed under the Affero General Public License version 3 - * or later. - * - * See the COPYING-README file. - * - */ - -/* global scanFiles, escapeHTML, formatDate */ -$(document).ready(function(){ - - // TODO: namespace all this as OCA.FileVersions - - if ($('#isPublic').val()){ - // no versions actions in public mode - // beware of https://github.com/owncloud/core/issues/4545 - // as enabling this might hang Chrome - return; - } - - if (OCA.Files) { - // Add versions button to 'files/index.php' - OCA.Files.fileActions.register( - 'file', - 'Versions', - OC.PERMISSION_UPDATE, - function() { - // Specify icon for hitory button - return OC.imagePath('core','actions/history'); - }, function(filename, context){ - // Action to perform when clicked - if (scanFiles.scanning){return;}//workaround to prevent additional http request block scanning feedback - - var file = context.dir.replace(/(?!<=\/)$|\/$/, '/' + filename); - var createDropDown = true; - // Check if drop down is already visible for a different file - if (($('#dropdown').length > 0) ) { - if ( $('#dropdown').hasClass('drop-versions') && file == $('#dropdown').data('file')) { - createDropDown = false; - } - $('#dropdown').slideUp(OC.menuSpeed); - $('#dropdown').remove(); - $('tr').removeClass('mouseOver'); - } - - if(createDropDown === true) { - createVersionsDropdown(filename, file, context.fileList); - } - }, t('files_versions', 'Versions') - ); - } - - $(document).on("click", 'span[class="revertVersion"]', function() { - var revision = $(this).attr('id'); - var file = $(this).attr('value'); - revertFile(file, revision); - }); - -}); - -function revertFile(file, revision) { - - $.ajax({ - type: 'GET', - url: OC.linkTo('files_versions', 'ajax/rollbackVersion.php'), - dataType: 'json', - data: {file: file, revision: revision}, - async: false, - success: function(response) { - if (response.status === 'error') { - OC.Notification.show( t('files_version', 'Failed to revert {file} to revision {timestamp}.', {file:file, timestamp:formatDate(revision * 1000)}) ); - } else { - $('#dropdown').slideUp(OC.menuSpeed, function() { - $('#dropdown').closest('tr').find('.modified:first').html(relative_modified_date(revision)); - $('#dropdown').remove(); - $('tr').removeClass('mouseOver'); - }); - } - } - }); - -} - -function goToVersionPage(url){ - window.location.assign(url); -} - -function createVersionsDropdown(filename, files, fileList) { - - var start = 0; - var fileEl; - - var html = '<div id="dropdown" class="drop drop-versions" data-file="'+escapeHTML(files)+'">'; - html += '<div id="private">'; - html += '<ul id="found_versions">'; - html += '</ul>'; - html += '</div>'; - html += '<input type="button" value="'+ t('files_versions', 'More versions...') + '" name="show-more-versions" id="show-more-versions" style="display: none;" />'; - - if (filename) { - fileEl = fileList.findFileEl(filename); - fileEl.addClass('mouseOver'); - $(html).appendTo(fileEl.find('td.filename')); - } else { - $(html).appendTo($('thead .share')); - } - - getVersions(start); - start = start + 5; - - $("#show-more-versions").click(function() { - //get more versions - getVersions(start); - start = start + 5; - }); - - function getVersions(start) { - $.ajax({ - type: 'GET', - url: OC.filePath('files_versions', 'ajax', 'getVersions.php'), - dataType: 'json', - data: {source: files, start: start}, - async: false, - success: function(result) { - var versions = result.data.versions; - if (result.data.endReached === true) { - $("#show-more-versions").css("display", "none"); - } else { - $("#show-more-versions").css("display", "block"); - } - if (versions) { - $.each(versions, function(index, row) { - addVersion(row); - }); - } else { - $('<div style="text-align:center;">'+ t('files_versions', 'No other versions available') + '</div>').appendTo('#dropdown'); - } - $('#found_versions').change(function() { - var revision = parseInt($(this).val()); - revertFile(files, revision); - }); - } - }); - } - - function addVersion( revision ) { - var title = formatDate(revision.version*1000); - var name ='<span class="versionDate" title="' + title + '">' + revision.humanReadableTimestamp + '</span>'; - - var path = OC.filePath('files_versions', '', 'download.php'); - - var preview = '<img class="preview" src="'+revision.preview+'"/>'; - - var download ='<a href="' + path + "?file=" + encodeURIComponent(files) + '&revision=' + revision.version + '">'; - download+='<img'; - download+=' src="' + OC.imagePath('core', 'actions/download') + '"'; - download+=' name="downloadVersion" />'; - download+=name; - download+='</a>'; - - var revert='<span class="revertVersion"'; - revert+=' id="' + revision.version + '">'; - revert+='<img'; - revert+=' src="' + OC.imagePath('core', 'actions/history') + '"'; - revert+=' name="revertVersion"'; - revert+='/>'+t('files_versions', 'Restore')+'</span>'; - - var version=$('<li/>'); - version.attr('value', revision.version); - version.html(preview + download + revert); - // add file here for proper name escaping - version.find('span.revertVersion').attr('value', files); - - version.appendTo('#found_versions'); - } - - $('#dropdown').slideDown(1000); -} - -$(this).click( - function(event) { - if ($('#dropdown').has(event.target).length === 0 && $('#dropdown').hasClass('drop-versions')) { - $('#dropdown').slideUp(OC.menuSpeed, function() { - $('#dropdown').remove(); - $('tr').removeClass('mouseOver'); - }); - } - - - } -); diff --git a/apps/files_versions/js/versionstabview.js b/apps/files_versions/js/versionstabview.js new file mode 100644 index 00000000000..1f84428e616 --- /dev/null +++ b/apps/files_versions/js/versionstabview.js @@ -0,0 +1,198 @@ +/* + * Copyright (c) 2015 + * + * This file is licensed under the Affero General Public License version 3 + * or later. + * + * See the COPYING-README file. + * + */ + +(function() { + var TEMPLATE_ITEM = + '<li data-revision="{{timestamp}}">' + + '<img class="preview" src="{{previewUrl}}"/>' + + '<a href="{{downloadUrl}}" class="downloadVersion"><img src="{{downloadIconUrl}}" />' + + '<span class="versiondate has-tooltip" title="{{formattedTimestamp}}">{{relativeTimestamp}}</span>' + + '</a>' + + '<a href="#" class="revertVersion"><img src="{{revertIconUrl}}" />{{revertLabel}}</a>' + + '</li>'; + + var TEMPLATE = + '<ul class="versions"></ul>' + + '<div class="clear-float"></div>' + + '<div class="empty hidden">{{emptyResultLabel}}</div>' + + '<input type="button" class="showMoreVersions hidden" value="{{moreVersionsLabel}}"' + + ' name="show-more-versions" id="show-more-versions" />' + + '<div class="loading hidden" style="height: 50px"></div>'; + + /** + * @memberof OCA.Versions + */ + var VersionsTabView = OCA.Files.DetailTabView.extend( + /** @lends OCA.Versions.VersionsTabView.prototype */ { + id: 'versionsTabView', + className: 'tab versionsTabView', + + _template: null, + + $versionsContainer: null, + + events: { + 'click .revertVersion': '_onClickRevertVersion', + 'click .showMoreVersions': '_onClickShowMoreVersions' + }, + + initialize: function() { + this.collection = new OCA.Versions.VersionCollection(); + this.collection.on('request', this._onRequest, this); + this.collection.on('sync', this._onEndRequest, this); + this.collection.on('update', this._onUpdate, this); + this.collection.on('error', this._onError, this); + this.collection.on('add', this._onAddModel, this); + }, + + getLabel: function() { + return t('files_versions', 'Versions'); + }, + + nextPage: function() { + if (this._loading || !this.collection.hasMoreResults()) { + return; + } + + if (this.collection.getFileInfo() && this.collection.getFileInfo().isDirectory()) { + return; + } + this.collection.fetchNext(); + }, + + _onClickShowMoreVersions: function(ev) { + ev.preventDefault(); + this.nextPage(); + }, + + _onClickRevertVersion: function(ev) { + var self = this; + var $target = $(ev.target); + var fileInfoModel = this.collection.getFileInfo(); + var revision; + if (!$target.is('li')) { + $target = $target.closest('li'); + } + + ev.preventDefault(); + revision = $target.attr('data-revision'); + + var versionModel = this.collection.get(revision); + versionModel.revert({ + success: function() { + // reset and re-fetch the updated collection + self.collection.setFileInfo(fileInfoModel); + self.collection.fetch(); + + // update original model + fileInfoModel.trigger('busy', fileInfoModel, false); + fileInfoModel.set({ + size: versionModel.get('size'), + mtime: versionModel.get('timestamp') * 1000, + // temp dummy, until we can do a PROPFIND + etag: versionModel.get('id') + versionModel.get('timestamp') + }); + }, + + error: function() { + OC.Notification.showTemporary( + t('files_version', 'Failed to revert {file} to revision {timestamp}.', { + file: versionModel.getFullPath(), + timestamp: OC.Util.formatDate(versionModel.get('timestamp') * 1000) + }) + ); + } + }); + + // spinner + this._toggleLoading(true); + fileInfoModel.trigger('busy', fileInfoModel, true); + }, + + _toggleLoading: function(state) { + this._loading = state; + this.$el.find('.loading').toggleClass('hidden', !state); + }, + + _onRequest: function() { + this._toggleLoading(true); + this.$el.find('.showMoreVersions').addClass('hidden'); + }, + + _onEndRequest: function() { + this._toggleLoading(false); + this.$el.find('.empty').toggleClass('hidden', !!this.collection.length); + this.$el.find('.showMoreVersions').toggleClass('hidden', !this.collection.hasMoreResults()); + }, + + _onAddModel: function(model) { + this.$versionsContainer.append(this.itemTemplate(this._formatItem(model))); + }, + + template: function(data) { + if (!this._template) { + this._template = Handlebars.compile(TEMPLATE); + } + + return this._template(data); + }, + + itemTemplate: function(data) { + if (!this._itemTemplate) { + this._itemTemplate = Handlebars.compile(TEMPLATE_ITEM); + } + + return this._itemTemplate(data); + }, + + setFileInfo: function(fileInfo) { + if (fileInfo) { + this.render(); + this.collection.setFileInfo(fileInfo); + this.collection.reset({silent: true}); + this.nextPage(); + } else { + this.render(); + this.collection.reset(); + } + }, + + _formatItem: function(version) { + var timestamp = version.get('timestamp') * 1000; + return _.extend({ + formattedTimestamp: OC.Util.formatDate(timestamp), + relativeTimestamp: OC.Util.relativeModifiedDate(timestamp), + downloadUrl: version.getDownloadUrl(), + downloadIconUrl: OC.imagePath('core', 'actions/download'), + revertIconUrl: OC.imagePath('core', 'actions/history'), + previewUrl: version.getPreviewUrl(), + revertLabel: t('files_versions', 'Restore'), + }, version.attributes); + }, + + /** + * Renders this details view + */ + render: function() { + this.$el.html(this.template({ + emptyResultLabel: t('files_versions', 'No other versions available'), + moreVersionsLabel: t('files_versions', 'More versions...') + })); + this.$el.find('.has-tooltip').tooltip(); + this.$versionsContainer = this.$el.find('ul.versions'); + this.delegateEvents(); + } + }); + + OCA.Versions = OCA.Versions || {}; + + OCA.Versions.VersionsTabView = VersionsTabView; +})(); + diff --git a/apps/files_versions/lib/hooks.php b/apps/files_versions/lib/hooks.php index ccd89a4a14f..5ef2cc3c7d0 100644 --- a/apps/files_versions/lib/hooks.php +++ b/apps/files_versions/lib/hooks.php @@ -43,6 +43,9 @@ class Hooks { \OCP\Util::connectHook('OC_Filesystem', 'post_copy', 'OCA\Files_Versions\Hooks', 'copy_hook'); \OCP\Util::connectHook('OC_Filesystem', 'rename', 'OCA\Files_Versions\Hooks', 'pre_renameOrCopy_hook'); \OCP\Util::connectHook('OC_Filesystem', 'copy', 'OCA\Files_Versions\Hooks', 'pre_renameOrCopy_hook'); + + $eventDispatcher = \OC::$server->getEventDispatcher(); + $eventDispatcher->addListener('OCA\Files::loadAdditionalScripts', ['OCA\Files_Versions\Hooks', 'onLoadFilesAppScripts']); } /** @@ -154,4 +157,13 @@ class Hooks { } } + /** + * Load additional scripts when the files app is visible + */ + public static function onLoadFilesAppScripts() { + \OCP\Util::addScript('files_versions', 'versionmodel'); + \OCP\Util::addScript('files_versions', 'versioncollection'); + \OCP\Util::addScript('files_versions', 'versionstabview'); + \OCP\Util::addScript('files_versions', 'filesplugin'); + } } diff --git a/apps/files_versions/tests/js/versioncollectionSpec.js b/apps/files_versions/tests/js/versioncollectionSpec.js new file mode 100644 index 00000000000..87065fa1d36 --- /dev/null +++ b/apps/files_versions/tests/js/versioncollectionSpec.js @@ -0,0 +1,161 @@ +/* + * Copyright (c) 2015 + * + * This file is licensed under the Affero General Public License version 3 + * or later. + * + * See the COPYING-README file. + * + */ +describe('OCA.Versions.VersionCollection', function() { + var VersionCollection = OCA.Versions.VersionCollection; + var collection, fileInfoModel; + + beforeEach(function() { + fileInfoModel = new OCA.Files.FileInfoModel({ + path: '/subdir', + name: 'some file.txt' + }); + collection = new VersionCollection(); + collection.setFileInfo(fileInfoModel); + }); + it('fetches the next page', function() { + collection.fetchNext(); + + expect(fakeServer.requests.length).toEqual(1); + expect(fakeServer.requests[0].url).toEqual( + OC.generateUrl('apps/files_versions/ajax/getVersions.php') + + '?source=%2Fsubdir%2Fsome%20file.txt&start=0' + ); + fakeServer.requests[0].respond( + 200, + { 'Content-Type': 'application/json' }, + JSON.stringify({ + status: 'success', + data: { + endReached: false, + versions: [{ + version: 10000000, + size: 123, + name: 'some file.txt', + fullPath: '/subdir/some file.txt' + },{ + version: 15000000, + size: 150, + name: 'some file.txt', + path: '/subdir/some file.txt' + }] + } + }) + ); + + expect(collection.length).toEqual(2); + expect(collection.hasMoreResults()).toEqual(true); + + collection.fetchNext(); + + expect(fakeServer.requests.length).toEqual(2); + expect(fakeServer.requests[1].url).toEqual( + OC.generateUrl('apps/files_versions/ajax/getVersions.php') + + '?source=%2Fsubdir%2Fsome%20file.txt&start=2' + ); + fakeServer.requests[1].respond( + 200, + { 'Content-Type': 'application/json' }, + JSON.stringify({ + status: 'success', + data: { + endReached: true, + versions: [{ + version: 18000000, + size: 123, + name: 'some file.txt', + path: '/subdir/some file.txt' + }] + } + }) + ); + + expect(collection.length).toEqual(3); + expect(collection.hasMoreResults()).toEqual(false); + + collection.fetchNext(); + + // no further requests + expect(fakeServer.requests.length).toEqual(2); + }); + it('properly parses the results', function() { + collection.fetchNext(); + + expect(fakeServer.requests.length).toEqual(1); + expect(fakeServer.requests[0].url).toEqual( + OC.generateUrl('apps/files_versions/ajax/getVersions.php') + + '?source=%2Fsubdir%2Fsome%20file.txt&start=0' + ); + fakeServer.requests[0].respond( + 200, + { 'Content-Type': 'application/json' }, + JSON.stringify({ + status: 'success', + data: { + endReached: false, + versions: [{ + version: 10000000, + size: 123, + name: 'some file.txt', + path: '/subdir/some file.txt' + },{ + version: 15000000, + size: 150, + name: 'some file.txt', + path: '/subdir/some file.txt' + }] + } + }) + ); + + expect(collection.length).toEqual(2); + + var model = collection.at(0); + expect(model.get('id')).toEqual(10000000); + expect(model.get('timestamp')).toEqual(10000000); + expect(model.get('name')).toEqual('some file.txt'); + expect(model.get('fullPath')).toEqual('/subdir/some file.txt'); + expect(model.get('size')).toEqual(123); + + model = collection.at(1); + expect(model.get('id')).toEqual(15000000); + expect(model.get('timestamp')).toEqual(15000000); + expect(model.get('name')).toEqual('some file.txt'); + expect(model.get('fullPath')).toEqual('/subdir/some file.txt'); + expect(model.get('size')).toEqual(150); + }); + it('resets page counted when setting a new file info model', function() { + collection.fetchNext(); + + expect(fakeServer.requests.length).toEqual(1); + fakeServer.requests[0].respond( + 200, + { 'Content-Type': 'application/json' }, + JSON.stringify({ + status: 'success', + data: { + endReached: true, + versions: [{ + version: 18000000, + size: 123, + name: 'some file.txt', + path: '/subdir/some file.txt' + }] + } + }) + ); + + expect(collection.hasMoreResults()).toEqual(false); + + collection.setFileInfo(fileInfoModel); + + expect(collection.hasMoreResults()).toEqual(true); + }); +}); + diff --git a/apps/files_versions/tests/js/versionmodelSpec.js b/apps/files_versions/tests/js/versionmodelSpec.js new file mode 100644 index 00000000000..0f1c06581d5 --- /dev/null +++ b/apps/files_versions/tests/js/versionmodelSpec.js @@ -0,0 +1,96 @@ +/* + * Copyright (c) 2015 + * + * This file is licensed under the Affero General Public License version 3 + * or later. + * + * See the COPYING-README file. + * + */ +describe('OCA.Versions.VersionModel', function() { + var VersionModel = OCA.Versions.VersionModel; + var model; + + beforeEach(function() { + model = new VersionModel({ + id: 10000000, + timestamp: 10000000, + fullPath: '/subdir/some file.txt', + name: 'some file.txt', + size: 150 + }); + }); + + it('returns the full path', function() { + expect(model.getFullPath()).toEqual('/subdir/some file.txt'); + }); + it('returns the preview url', function() { + expect(model.getPreviewUrl()) + .toEqual(OC.generateUrl('/apps/files_versions/preview') + + '?file=%2Fsubdir%2Fsome%20file.txt&version=10000000' + ); + }); + it('returns the download url', function() { + expect(model.getDownloadUrl()) + .toEqual(OC.generateUrl('/apps/files_versions/download.php') + + '?file=%2Fsubdir%2Fsome%20file.txt&revision=10000000' + ); + }); + describe('reverting', function() { + var revertEventStub; + var successStub; + var errorStub; + + beforeEach(function() { + revertEventStub = sinon.stub(); + errorStub = sinon.stub(); + successStub = sinon.stub(); + + model.on('revert', revertEventStub); + model.on('error', errorStub); + }); + it('tells the server to revert when calling the revert method', function() { + model.revert({ + success: successStub + }); + + expect(fakeServer.requests.length).toEqual(1); + expect(fakeServer.requests[0].url) + .toEqual( + OC.generateUrl('/apps/files_versions/ajax/rollbackVersion.php') + + '?file=%2Fsubdir%2Fsome+file.txt&revision=10000000' + ); + + fakeServer.requests[0].respond( + 200, + { 'Content-Type': 'application/json' }, + JSON.stringify({ + status: 'success', + }) + ); + + expect(revertEventStub.calledOnce).toEqual(true); + expect(successStub.calledOnce).toEqual(true); + expect(errorStub.notCalled).toEqual(true); + }); + it('triggers error event when server returns a failure', function() { + model.revert({ + success: successStub + }); + + expect(fakeServer.requests.length).toEqual(1); + fakeServer.requests[0].respond( + 200, + { 'Content-Type': 'application/json' }, + JSON.stringify({ + status: 'error', + }) + ); + + expect(revertEventStub.notCalled).toEqual(true); + expect(successStub.notCalled).toEqual(true); + expect(errorStub.calledOnce).toEqual(true); + }); + }); +}); + diff --git a/apps/files_versions/tests/js/versionstabviewSpec.js b/apps/files_versions/tests/js/versionstabviewSpec.js new file mode 100644 index 00000000000..4435f38ef7e --- /dev/null +++ b/apps/files_versions/tests/js/versionstabviewSpec.js @@ -0,0 +1,208 @@ +/* + * Copyright (c) 2015 + * + * This file is licensed under the Affero General Public License version 3 + * or later. + * + * See the COPYING-README file. + * + */ +describe('OCA.Versions.VersionsTabView', function() { + var VersionCollection = OCA.Versions.VersionCollection; + var VersionModel = OCA.Versions.VersionModel; + var VersionsTabView = OCA.Versions.VersionsTabView; + + var fetchStub, fileInfoModel, tabView, testVersions, clock; + + beforeEach(function() { + clock = sinon.useFakeTimers(Date.UTC(2015, 6, 17, 1, 2, 0, 3)); + var time1 = Date.UTC(2015, 6, 17, 1, 2, 0, 3) / 1000; + var time2 = Date.UTC(2015, 6, 15, 1, 2, 0, 3) / 1000; + + var version1 = new VersionModel({ + id: time1, + timestamp: time1, + name: 'some file.txt', + size: 140, + fullPath: '/subdir/some file.txt' + }); + var version2 = new VersionModel({ + id: time2, + timestamp: time2, + name: 'some file.txt', + size: 150, + fullPath: '/subdir/some file.txt' + }); + + testVersions = [version1, version2]; + + fetchStub = sinon.stub(VersionCollection.prototype, 'fetch'); + fileInfoModel = new OCA.Files.FileInfoModel({ + id: 123, + name: 'test.txt' + }); + tabView = new VersionsTabView(); + tabView.render(); + }); + + afterEach(function() { + fetchStub.restore(); + tabView.remove(); + clock.restore(); + }); + + describe('rendering', function() { + it('reloads matching versions when setting file info model', function() { + tabView.setFileInfo(fileInfoModel); + expect(fetchStub.calledOnce).toEqual(true); + }); + + it('renders loading icon while fetching versions', function() { + tabView.setFileInfo(fileInfoModel); + tabView.collection.trigger('request'); + + expect(tabView.$el.find('.loading').length).toEqual(1); + expect(tabView.$el.find('.versions li').length).toEqual(0); + }); + + it('renders versions', function() { + + tabView.setFileInfo(fileInfoModel); + tabView.collection.set(testVersions); + + var version1 = testVersions[0]; + var version2 = testVersions[1]; + var $versions = tabView.$el.find('.versions>li'); + expect($versions.length).toEqual(2); + var $item = $versions.eq(0); + expect($item.find('.downloadVersion').attr('href')).toEqual(version1.getDownloadUrl()); + expect($item.find('.versiondate').text()).toEqual('a few seconds ago'); + expect($item.find('.revertVersion').length).toEqual(1); + expect($item.find('.preview').attr('src')).toEqual(version1.getPreviewUrl()); + + $item = $versions.eq(1); + expect($item.find('.downloadVersion').attr('href')).toEqual(version2.getDownloadUrl()); + expect($item.find('.versiondate').text()).toEqual('2 days ago'); + expect($item.find('.revertVersion').length).toEqual(1); + expect($item.find('.preview').attr('src')).toEqual(version2.getPreviewUrl()); + }); + }); + + describe('More versions', function() { + var hasMoreResultsStub; + + beforeEach(function() { + tabView.collection.set(testVersions); + hasMoreResultsStub = sinon.stub(VersionCollection.prototype, 'hasMoreResults'); + }); + afterEach(function() { + hasMoreResultsStub.restore(); + }); + + it('shows "More versions" button when more versions are available', function() { + hasMoreResultsStub.returns(true); + tabView.collection.trigger('sync'); + + expect(tabView.$el.find('.showMoreVersions').hasClass('hidden')).toEqual(false); + }); + it('does not show "More versions" button when more versions are available', function() { + hasMoreResultsStub.returns(false); + tabView.collection.trigger('sync'); + + expect(tabView.$el.find('.showMoreVersions').hasClass('hidden')).toEqual(true); + }); + it('fetches and appends the next page when clicking the "More" button', function() { + hasMoreResultsStub.returns(true); + + expect(fetchStub.notCalled).toEqual(true); + + tabView.$el.find('.showMoreVersions').click(); + + expect(fetchStub.calledOnce).toEqual(true); + }); + it('appends version to the list when added to collection', function() { + var time3 = Date.UTC(2015, 6, 10, 1, 0, 0, 0) / 1000; + + var version3 = new VersionModel({ + id: time3, + timestamp: time3, + name: 'some file.txt', + size: 54, + fullPath: '/subdir/some file.txt' + }); + + tabView.collection.add(version3); + + expect(tabView.$el.find('.versions>li').length).toEqual(3); + + var $item = tabView.$el.find('.versions>li').eq(2); + expect($item.find('.downloadVersion').attr('href')).toEqual(version3.getDownloadUrl()); + expect($item.find('.versiondate').text()).toEqual('7 days ago'); + expect($item.find('.revertVersion').length).toEqual(1); + expect($item.find('.preview').attr('src')).toEqual(version3.getPreviewUrl()); + }); + }); + + describe('Reverting', function() { + var revertStub; + + beforeEach(function() { + revertStub = sinon.stub(VersionModel.prototype, 'revert'); + tabView.setFileInfo(fileInfoModel); + tabView.collection.set(testVersions); + }); + + afterEach(function() { + revertStub.restore(); + }); + + it('tells the model to revert when clicking "Revert"', function() { + tabView.$el.find('.revertVersion').eq(1).click(); + + expect(revertStub.calledOnce).toEqual(true); + }); + it('triggers busy state during revert', function() { + var busyStub = sinon.stub(); + fileInfoModel.on('busy', busyStub); + + tabView.$el.find('.revertVersion').eq(1).click(); + + expect(busyStub.calledOnce).toEqual(true); + expect(busyStub.calledWith(fileInfoModel, true)).toEqual(true); + + busyStub.reset(); + revertStub.getCall(0).args[0].success(); + + expect(busyStub.calledOnce).toEqual(true); + expect(busyStub.calledWith(fileInfoModel, false)).toEqual(true); + }); + it('updates the file info model with the information from the reverted revision', function() { + var changeStub = sinon.stub(); + fileInfoModel.on('change', changeStub); + + tabView.$el.find('.revertVersion').eq(1).click(); + + expect(changeStub.notCalled).toEqual(true); + + revertStub.getCall(0).args[0].success(); + + expect(changeStub.calledOnce).toEqual(true); + var changes = changeStub.getCall(0).args[0].changed; + expect(changes.size).toEqual(150); + expect(changes.mtime).toEqual(testVersions[1].get('timestamp') * 1000); + expect(changes.etag).toBeDefined(); + }); + it('shows notification on revert error', function() { + var notificationStub = sinon.stub(OC.Notification, 'showTemporary'); + + tabView.$el.find('.revertVersion').eq(1).click(); + + revertStub.getCall(0).args[0].error(); + + expect(notificationStub.calledOnce).toEqual(true); + + notificationStub.restore(); + }); + }); +}); + diff --git a/apps/provisioning_api/lib/apps.php b/apps/provisioning_api/lib/apps.php index 168f6f3cad8..80f6e7049c6 100644 --- a/apps/provisioning_api/lib/apps.php +++ b/apps/provisioning_api/lib/apps.php @@ -31,13 +31,20 @@ class Apps { /** @var \OCP\App\IAppManager */ private $appManager; + /** + * @param \OCP\App\IAppManager $appManager + */ public function __construct(\OCP\App\IAppManager $appManager) { $this->appManager = $appManager; } - public function getApps($parameters){ + /** + * @param array $parameters + * @return OC_OCS_Result + */ + public function getApps($parameters) { $apps = OC_App::listAllApps(); - $list = array(); + $list = []; foreach($apps as $app) { $list[] = $app['id']; } @@ -62,7 +69,11 @@ class Apps { } } - public function getAppInfo($parameters){ + /** + * @param array $parameters + * @return OC_OCS_Result + */ + public function getAppInfo($parameters) { $app = $parameters['appid']; $info = \OCP\App::getAppInfo($app); if(!is_null($info)) { @@ -72,13 +83,21 @@ class Apps { } } - public function enable($parameters){ + /** + * @param array $parameters + * @return OC_OCS_Result + */ + public function enable($parameters) { $app = $parameters['appid']; $this->appManager->enableApp($app); return new OC_OCS_Result(null, 100); } - public function disable($parameters){ + /** + * @param array $parameters + * @return OC_OCS_Result + */ + public function disable($parameters) { $app = $parameters['appid']; $this->appManager->disableApp($app); return new OC_OCS_Result(null, 100); diff --git a/apps/provisioning_api/lib/groups.php b/apps/provisioning_api/lib/groups.php index 91d0a1c6342..c6fbe12b34e 100644 --- a/apps/provisioning_api/lib/groups.php +++ b/apps/provisioning_api/lib/groups.php @@ -25,6 +25,8 @@ namespace OCA\Provisioning_API; use \OC_OCS_Result; use \OC_SubAdmin; +use OCP\IGroup; +use OCP\IUser; class Groups{ @@ -39,21 +41,25 @@ class Groups{ * @param \OCP\IUserSession $userSession */ public function __construct(\OCP\IGroupManager $groupManager, - \OCP\IUserSession $userSession) { + \OCP\IUserSession $userSession) { $this->groupManager = $groupManager; $this->userSession = $userSession; } /** * returns a list of groups + * + * @param array $parameters + * @return OC_OCS_Result */ - public function getGroups($parameters){ + public function getGroups($parameters) { $search = !empty($_GET['search']) ? $_GET['search'] : ''; $limit = !empty($_GET['limit']) ? $_GET['limit'] : null; $offset = !empty($_GET['offset']) ? $_GET['offset'] : null; $groups = $this->groupManager->search($search, $limit, $offset); $groups = array_map(function($group) { + /** @var IGroup $group */ return $group->getGID(); }, $groups); @@ -62,6 +68,9 @@ class Groups{ /** * returns an array of users in the group specified + * + * @param array $parameters + * @return OC_OCS_Result */ public function getGroup($parameters) { // Check if user is logged in @@ -71,7 +80,7 @@ class Groups{ } // Check the group exists - if(!$this->groupManager->groupExists($parameters['groupid'])){ + if(!$this->groupManager->groupExists($parameters['groupid'])) { return new OC_OCS_Result(null, \OCP\API::RESPOND_NOT_FOUND, 'The requested group could not be found'); } // Check subadmin has access to this group @@ -79,6 +88,7 @@ class Groups{ || in_array($parameters['groupid'], \OC_SubAdmin::getSubAdminsGroups($user->getUID()))){ $users = $this->groupManager->get($parameters['groupid'])->getUsers(); $users = array_map(function($user) { + /** @var IUser $user */ return $user->getUID(); }, $users); $users = array_values($users); @@ -90,23 +100,30 @@ class Groups{ /** * creates a new group + * + * @param array $parameters + * @return OC_OCS_Result */ - public function addGroup($parameters){ + public function addGroup($parameters) { // Validate name - $groupid = isset($_POST['groupid']) ? $_POST['groupid'] : ''; - if( preg_match( '/[^a-zA-Z0-9 _\.@\-]/', $groupid ) || empty($groupid)){ + $groupId = isset($_POST['groupid']) ? $_POST['groupid'] : ''; + if( preg_match( '/[^a-zA-Z0-9 _\.@\-]/', $groupId ) || empty($groupId)){ \OCP\Util::writeLog('provisioning_api', 'Attempt made to create group using invalid characters.', \OCP\Util::ERROR); return new OC_OCS_Result(null, 101, 'Invalid group name'); } // Check if it exists - if($this->groupManager->groupExists($groupid)){ + if($this->groupManager->groupExists($groupId)){ return new OC_OCS_Result(null, 102); } - $this->groupManager->createGroup($groupid); + $this->groupManager->createGroup($groupId); return new OC_OCS_Result(null, 100); } - public function deleteGroup($parameters){ + /** + * @param array $parameters + * @return OC_OCS_Result + */ + public function deleteGroup($parameters) { // Check it exists if(!$this->groupManager->groupExists($parameters['groupid'])){ return new OC_OCS_Result(null, 101); @@ -118,6 +135,10 @@ class Groups{ } } + /** + * @param array $parameters + * @return OC_OCS_Result + */ public function getSubAdminsOfGroup($parameters) { $group = $parameters['groupid']; // Check group exists diff --git a/apps/provisioning_api/lib/users.php b/apps/provisioning_api/lib/users.php index f5b201a55ea..617e50b403e 100644 --- a/apps/provisioning_api/lib/users.php +++ b/apps/provisioning_api/lib/users.php @@ -48,10 +48,10 @@ class Users { * @param \OCP\IUserManager $userManager * @param \OCP\IConfig $config * @param \OCP\IGroupManager $groupManager - * @param \OCP\IUserSession $user + * @param \OCP\IUserSession $userSession */ public function __construct(\OCP\IUserManager $userManager, - \OCP\IConfig $config, + \OCP\IConfig $config, \OCP\IGroupManager $groupManager, \OCP\IUserSession $userSession) { $this->userManager = $userManager; @@ -62,8 +62,10 @@ class Users { /** * returns a list of users + * + * @return OC_OCS_Result */ - public function getUsers(){ + public function getUsers() { $search = !empty($_GET['search']) ? $_GET['search'] : ''; $limit = !empty($_GET['limit']) ? $_GET['limit'] : null; $offset = !empty($_GET['offset']) ? $_GET['offset'] : null; @@ -76,7 +78,10 @@ class Users { ]); } - public function addUser(){ + /** + * @return OC_OCS_Result + */ + public function addUser() { $userId = isset($_POST['userid']) ? $_POST['userid'] : null; $password = isset($_POST['password']) ? $_POST['password'] : null; if($this->userManager->userExists($userId)) { @@ -96,6 +101,9 @@ class Users { /** * gets user info + * + * @param array $parameters + * @return OC_OCS_Result */ public function getUser($parameters){ $userId = $parameters['userid']; @@ -150,8 +158,11 @@ class Users { /** * edit users + * + * @param array $parameters + * @return OC_OCS_Result */ - public function editUser($parameters){ + public function editUser($parameters) { $userId = $parameters['userid']; // Check if user is logged in @@ -230,7 +241,11 @@ class Users { return new OC_OCS_Result(null, 100); } - public function deleteUser($parameters){ + /** + * @param array $parameters + * @return OC_OCS_Result + */ + public function deleteUser($parameters) { // Check if user is logged in $user = $this->userSession->getUser(); if ($user === null) { @@ -253,6 +268,10 @@ class Users { } } + /** + * @param array $parameters + * @return OC_OCS_Result + */ public function getUsersGroups($parameters) { // Check if user is logged in $user = $this->userSession->getUser(); @@ -286,7 +305,11 @@ class Users { } - public function addToGroup($parameters){ + /** + * @param array $parameters + * @return OC_OCS_Result + */ + public function addToGroup($parameters) { // Check if user is logged in $user = $this->userSession->getUser(); if ($user === null) { @@ -317,6 +340,10 @@ class Users { return new OC_OCS_Result(null, 100); } + /** + * @param array $parameters + * @return OC_OCS_Result + */ public function removeFromGroup($parameters) { // Check if user is logged in $user = $this->userSession->getUser(); @@ -362,6 +389,9 @@ class Users { /** * Creates a subadmin + * + * @param array $parameters + * @return OC_OCS_Result */ public function addSubAdmin($parameters) { $group = $_POST['groupid']; @@ -393,6 +423,9 @@ class Users { /** * Removes a subadmin from a group + * + * @param array $parameters + * @return OC_OCS_Result */ public function removeSubAdmin($parameters) { $group = $parameters['_delete']['groupid']; @@ -414,7 +447,10 @@ class Users { } /** - * @Get the groups a user is a subadmin of + * Get the groups a user is a subadmin of + * + * @param array $parameters + * @return OC_OCS_Result */ public function getUserSubAdminGroups($parameters) { $user = $parameters['userid']; @@ -431,8 +467,8 @@ class Users { } /** - * @param $userId - * @param $data + * @param string $userId + * @param array $data * @return mixed * @throws \OCP\Files\NotFoundException */ diff --git a/apps/user_ldap/l10n/nl.js b/apps/user_ldap/l10n/nl.js index 8586d939692..1606f1de128 100644 --- a/apps/user_ldap/l10n/nl.js +++ b/apps/user_ldap/l10n/nl.js @@ -63,7 +63,7 @@ OC.L10N.register( "Search groups" : "Zoeken groepen", "Available groups" : "Beschikbare groepen", "Selected groups" : "Geselecteerde groepen", - "Edit LDAP Query" : "Bewerken LDAP bevraging", + "Edit LDAP Query" : "Bewerken LDAP opvraging", "LDAP Filter:" : "LDAP Filter:", "The filter specifies which LDAP groups shall have access to the %s instance." : "Dit filter geeft aan welke LDAP groepen toegang hebben tot %s.", "Verify settings and count groups" : "Verifiëren instellingen en tel groepen", @@ -142,7 +142,7 @@ OC.L10N.register( "in bytes" : "in bytes", "Email Field" : "E-mailveld", "User Home Folder Naming Rule" : "Gebruikers Home map naamgevingsregel", - "Leave empty for user name (default). Otherwise, specify an LDAP/AD attribute." : "Laat leeg voor de gebruikersnaam (standaard). Of, specificeer een LDAP/AD attribuut.", + "Leave empty for user name (default). Otherwise, specify an LDAP/AD attribute." : "Laat leeg voor de gebruikersnaam (standaard). Of specificeer een LDAP/AD attribuut.", "Internal Username" : "Interne gebruikersnaam", "By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [ a-zA-Z0-9_.@- ]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder. It is also a part of remote URLs, for instance for all *DAV services. With this setting, the default behavior can be overridden. To achieve a similar behavior as before ownCloud 5 enter the user display name attribute in the following field. Leave it empty for default behavior. Changes will have effect only on newly mapped (added) LDAP users." : "Standaard wordt de interne gebruikersnaam aangemaakt op basis van het UUID attribuut. Het zorgt ervoor dat de gebruikersnaam uniek is en dat tekens niet hoeven te worden geconverteerd. De interne gebruikersnaam heeft als beperking dat alleen deze tekens zijn toegestaan: [a-zA-Z0-9_.@- ]. Andere tekens worden vervangen door hun ASCII vertaling of gewoonweg weggelaten. Bij identieke namen wordt een nummer toegevoegd of verhoogd. De interne gebruikersnaam wordt gebruikt om een gebruiker binnen het systeem te herkennen. Het is ook de standaardnaam voor de standaardmap van de gebruiker in ownCloud. Het is ook een vertaling voor externe URL's, bijvoorbeeld voor alle *DAV diensten. Met deze instelling kan het standaardgedrag worden overschreven. Om een soortgelijk gedrag te bereiken als van vóór ownCloud 5, voer het gebruikersweergavenaam attribuut in in het volgende veld. Laat het leeg voor standaard gedrag. Veranderingen worden alleen toegepast op gekoppelde (toegevoegde) LDAP-gebruikers.", "Internal Username Attribute:" : "Interne gebruikersnaam attribuut:", diff --git a/apps/user_ldap/l10n/nl.json b/apps/user_ldap/l10n/nl.json index a82c03a8edd..4b930d7b4c9 100644 --- a/apps/user_ldap/l10n/nl.json +++ b/apps/user_ldap/l10n/nl.json @@ -61,7 +61,7 @@ "Search groups" : "Zoeken groepen", "Available groups" : "Beschikbare groepen", "Selected groups" : "Geselecteerde groepen", - "Edit LDAP Query" : "Bewerken LDAP bevraging", + "Edit LDAP Query" : "Bewerken LDAP opvraging", "LDAP Filter:" : "LDAP Filter:", "The filter specifies which LDAP groups shall have access to the %s instance." : "Dit filter geeft aan welke LDAP groepen toegang hebben tot %s.", "Verify settings and count groups" : "Verifiëren instellingen en tel groepen", @@ -140,7 +140,7 @@ "in bytes" : "in bytes", "Email Field" : "E-mailveld", "User Home Folder Naming Rule" : "Gebruikers Home map naamgevingsregel", - "Leave empty for user name (default). Otherwise, specify an LDAP/AD attribute." : "Laat leeg voor de gebruikersnaam (standaard). Of, specificeer een LDAP/AD attribuut.", + "Leave empty for user name (default). Otherwise, specify an LDAP/AD attribute." : "Laat leeg voor de gebruikersnaam (standaard). Of specificeer een LDAP/AD attribuut.", "Internal Username" : "Interne gebruikersnaam", "By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [ a-zA-Z0-9_.@- ]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder. It is also a part of remote URLs, for instance for all *DAV services. With this setting, the default behavior can be overridden. To achieve a similar behavior as before ownCloud 5 enter the user display name attribute in the following field. Leave it empty for default behavior. Changes will have effect only on newly mapped (added) LDAP users." : "Standaard wordt de interne gebruikersnaam aangemaakt op basis van het UUID attribuut. Het zorgt ervoor dat de gebruikersnaam uniek is en dat tekens niet hoeven te worden geconverteerd. De interne gebruikersnaam heeft als beperking dat alleen deze tekens zijn toegestaan: [a-zA-Z0-9_.@- ]. Andere tekens worden vervangen door hun ASCII vertaling of gewoonweg weggelaten. Bij identieke namen wordt een nummer toegevoegd of verhoogd. De interne gebruikersnaam wordt gebruikt om een gebruiker binnen het systeem te herkennen. Het is ook de standaardnaam voor de standaardmap van de gebruiker in ownCloud. Het is ook een vertaling voor externe URL's, bijvoorbeeld voor alle *DAV diensten. Met deze instelling kan het standaardgedrag worden overschreven. Om een soortgelijk gedrag te bereiken als van vóór ownCloud 5, voer het gebruikersweergavenaam attribuut in in het volgende veld. Laat het leeg voor standaard gedrag. Veranderingen worden alleen toegepast op gekoppelde (toegevoegde) LDAP-gebruikers.", "Internal Username Attribute:" : "Interne gebruikersnaam attribuut:", diff --git a/config/config.sample.php b/config/config.sample.php index f5e36e66cc4..a841831f018 100644 --- a/config/config.sample.php +++ b/config/config.sample.php @@ -80,6 +80,16 @@ $CONFIG = array( 'datadirectory' => '/var/www/owncloud/data', /** + * Override where ownCloud stores temporary files. Useful in situations where + * the system temporary directory is on a limited space ramdisk or is otherwise + * restricted, or if external storages which do not support streaming are in + * use. + * + * The web server user must have write access to this directory. + */ +'tempdirectory' => '/tmp/owncloudtemp', + +/** * The current version number of your ownCloud installation. This is set up * during installation and update, so you shouldn't need to change it. */ diff --git a/core/command/encryption/encryptall.php b/core/command/encryption/encryptall.php index db413a33d92..7f33e18ecbb 100644 --- a/core/command/encryption/encryptall.php +++ b/core/command/encryption/encryptall.php @@ -83,7 +83,7 @@ class EncryptAll extends Command { protected function configure() { parent::configure(); - $this->setName('encryption:encrypt_all'); + $this->setName('encryption:encrypt-all'); $this->setDescription( 'This will encrypt all files for all users. ' . 'Please make sure that no user access his files during this process!' diff --git a/core/command/maintenance/mimetype/updatedb.php b/core/command/maintenance/mimetype/updatedb.php new file mode 100644 index 00000000000..37c401c0338 --- /dev/null +++ b/core/command/maintenance/mimetype/updatedb.php @@ -0,0 +1,96 @@ +<?php +/** + * @author Robin McCorkell <rmccorkell@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 OC\Core\Command\Maintenance\Mimetype; + +use Symfony\Component\Console\Command\Command; +use Symfony\Component\Console\Input\InputInterface; +use Symfony\Component\Console\Output\OutputInterface; +use Symfony\Component\Console\Input\InputOption; + +use OCP\Files\IMimeTypeDetector; +use OCP\Files\IMimeTypeLoader; + +class UpdateDB extends Command { + + const DEFAULT_MIMETYPE = 'application/octet-stream'; + + /** @var IMimeTypeDetector */ + protected $mimetypeDetector; + + /** @var IMimeTypeLoader */ + protected $mimetypeLoader; + + public function __construct( + IMimeTypeDetector $mimetypeDetector, + IMimeTypeLoader $mimetypeLoader + ) { + parent::__construct(); + $this->mimetypeDetector = $mimetypeDetector; + $this->mimetypeLoader = $mimetypeLoader; + } + + protected function configure() { + $this + ->setName('maintenance:mimetype:update-db') + ->setDescription('Update database mimetypes and update filecache') + ->addOption( + 'repair-filecache', + null, + InputOption::VALUE_NONE, + 'Repair filecache for all mimetypes, not just new ones' + ) + ; + } + + protected function execute(InputInterface $input, OutputInterface $output) { + $mappings = $this->mimetypeDetector->getAllMappings(); + + $totalFilecacheUpdates = 0; + $totalNewMimetypes = 0; + + foreach ($mappings as $ext => $mimetypes) { + if ($ext[0] === '_') { + // comment + continue; + } + $mimetype = $mimetypes[0]; + $existing = $this->mimetypeLoader->exists($mimetype); + // this will add the mimetype if it didn't exist + $mimetypeId = $this->mimetypeLoader->getId($mimetype); + + if (!$existing) { + $output->writeln('Added mimetype "'.$mimetype.'" to database'); + $totalNewMimetypes++; + } + + if (!$existing || $input->getOption('repair-filecache')) { + $touchedFilecacheRows = $this->mimetypeLoader->updateFilecache($ext, $mimetypeId); + if ($touchedFilecacheRows > 0) { + $output->writeln('Updated '.$touchedFilecacheRows.' filecache rows for mimetype "'.$mimetype.'"'); + } + $totalFilecacheUpdates += $touchedFilecacheRows; + } + } + + $output->writeln('Added '.$totalNewMimetypes.' new mimetypes'); + $output->writeln('Updated '.$totalFilecacheUpdates.' filecache rows'); + } +} diff --git a/core/command/maintenance/mimetypesjs.php b/core/command/maintenance/mimetype/updatejs.php index 8b01f0acf79..5de75d53a3f 100644 --- a/core/command/maintenance/mimetypesjs.php +++ b/core/command/maintenance/mimetype/updatejs.php @@ -18,27 +18,35 @@ * */ -namespace OC\Core\Command\Maintenance; +namespace OC\Core\Command\Maintenance\Mimetype; use Symfony\Component\Console\Command\Command; use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Output\OutputInterface; -class MimeTypesJS extends Command { +use OCP\Files\IMimeTypeDetector; + +class UpdateJS extends Command { + + /** @var IMimeTypeDetector */ + protected $mimetypeDetector; + + public function __construct( + IMimeTypeDetector $mimetypeDetector + ) { + parent::__construct(); + $this->mimetypeDetector = $mimetypeDetector; + } + protected function configure() { $this - ->setName('maintenance:mimetypesjs') + ->setName('maintenance:mimetype:update-js') ->setDescription('Update mimetypelist.js'); } protected function execute(InputInterface $input, OutputInterface $output) { // Fetch all the aliases - $aliases = json_decode(file_get_contents(\OC::$SERVERROOT . '/config/mimetypealiases.dist.json'), true); - - if (file_exists(\OC::$SERVERROOT . '/config/mimetypealiases.json')) { - $custom = get_object_vars(json_decode(file_get_contents(\OC::$SERVERROOT . '/config/mimetypealiases.json'))); - $aliases = array_merge($aliases, $custom); - } + $aliases = $this->mimetypeDetector->getAllAliases(); // Remove comments $keys = array_filter(array_keys($aliases), function($k) { @@ -49,23 +57,22 @@ class MimeTypesJS extends Command { } // Fetch all files - $dir = new \DirectoryIterator(dirname(__DIR__) . '/../img/filetypes'); + $dir = new \DirectoryIterator(\OC::$SERVERROOT.'/core/img/filetypes'); $files = []; foreach($dir as $fileInfo) { - if ($fileInfo->isFile()) { - $file = preg_replace('/.[^.]*$/', '', $fileInfo->getFilename()); - $files[] = $file; - } + if ($fileInfo->isFile()) { + $file = preg_replace('/.[^.]*$/', '', $fileInfo->getFilename()); + $files[] = $file; + } } //Remove duplicates $files = array_values(array_unique($files)); - // Fetch all themes! $themes = []; - $dirs = new \DirectoryIterator(dirname(__DIR__) . '/../../themes/'); + $dirs = new \DirectoryIterator(\OC::$SERVERROOT.'/themes/'); foreach($dirs as $dir) { //Valid theme dir if ($dir->isFile() || $dir->isDot()) { @@ -84,7 +91,7 @@ class MimeTypesJS extends Command { $themeIt = new \DirectoryIterator($themeDir); foreach ($themeIt as $fileInfo) { if ($fileInfo->isFile()) { - $file = preg_replace('/.[^.]*$/', '', $fileInfo->getFilename()); + $file = preg_replace('/.[^.]*$/', '', $fileInfo->getFilename()); $themes[$theme][] = $file; } } @@ -110,7 +117,7 @@ OC.MimeTypeList={ '; //Output the JS - file_put_contents(dirname(__DIR__) . '/../js/mimetypelist.js', $js); + file_put_contents(\OC::$SERVERROOT.'/core/js/mimetypelist.js', $js); $output->writeln('<info>mimetypelist.js is updated'); } diff --git a/core/css/apps.css b/core/css/apps.css index 4118e6ea668..0371f2bbde7 100644 --- a/core/css/apps.css +++ b/core/css/apps.css @@ -629,3 +629,68 @@ em { .tabsContainer .tab { padding: 15px; } + +/* popover menu styles (use together with "bubble" class) */ +.popovermenu .menuitem, +.popovermenu .menuitem>span { + cursor: pointer; +} + +.popovermenu .menuitem { + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)"; + filter: alpha(opacity=50); + opacity: .5; +} + +.popovermenu .menuitem:hover, +.popovermenu .menuitem:focus { + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; + filter: alpha(opacity=100); + opacity: 1; +} + +.popovermenu { + padding: 4px 12px; +} + +.popovermenu li { + padding: 5px 0; +} + +.popovermenu .menuitem img { + padding: initial; +} + +.popovermenu a.menuitem, +.popovermenu label.menuitem, +.popovermenu .menuitem { + padding: 10px; + margin: -10px; +} + +.popovermenu.hidden { + display: none; +} + +.popovermenu .menuitem { + display: block; + line-height: 30px; + padding-left: 5px; + color: #000; + padding: 0; +} + +.popovermenu .menuitem .icon, +.popovermenu .menuitem .no-icon { + display: inline-block; + width: 16px; + margin-right: 10px; +} + +.popovermenu .menuitem { + opacity: 0.5; +} + +.popovermenu li:hover .menuitem { + opacity: 1; +} diff --git a/core/css/icons.css b/core/css/icons.css index 88b14449e46..a3819ba9d44 100644 --- a/core/css/icons.css +++ b/core/css/icons.css @@ -23,6 +23,10 @@ .icon-loading-small { background-image: url('../img/loading-small.gif'); } +.icon-32 { + -webkit-background-size: 32px !important; + background-size: 32px !important; +} diff --git a/core/css/styles.css b/core/css/styles.css index dd0110ded3a..9219068dc38 100644 --- a/core/css/styles.css +++ b/core/css/styles.css @@ -955,6 +955,7 @@ a.bookmarklet { background-color:#ddd; border:1px solid #ccc; padding:5px;paddin .ui-icon-circle-triangle-e{ background-image:url('../img/actions/play-next.svg'); } .ui-icon-circle-triangle-w{ background-image:url('../img/actions/play-previous.svg'); } + .ui-datepicker-prev,.ui-datepicker-next{ border:1px solid #ddd; background:#fff; } /* ---- DIALOGS ---- */ @@ -1142,3 +1143,12 @@ fieldset.warning legend + p, fieldset.update legend + p { @-ms-viewport { width: device-width; } + +/* hidden input type=file field */ +.hiddenuploadfield { + width: 0; + height: 0; + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; +} + diff --git a/core/l10n/cs_CZ.js b/core/l10n/cs_CZ.js index 54ed40e9a5b..0ee3a06e45f 100644 --- a/core/l10n/cs_CZ.js +++ b/core/l10n/cs_CZ.js @@ -173,6 +173,7 @@ OC.L10N.register( "The update was successful. There were warnings." : "Aktualizace byla úspěšná. Zachycen výskyt varování.", "The update was successful. Redirecting you to ownCloud now." : "Aktualizace byla úspěšná. Přesměrovávám na ownCloud.", "Couldn't reset password because the token is invalid" : "Heslo nebylo změněno kvůli neplatnému tokenu", + "Couldn't reset password because the token is expired" : "Heslo nebylo změněno z důvodu vypršení tokenu", "Couldn't send reset email. Please make sure your username is correct." : "Nelze odeslat email pro změnu hesla. Ujistěte se prosím, že zadáváte správné uživatelské jméno.", "Couldn't send reset email because there is no email address for this username. Please contact your administrator." : "Nelze odeslat email pro změnu hesla, protože u tohoto uživatelského jména není uvedena emailová adresa. Kontaktujte prosím svého správce systému.", "%s password reset" : "reset hesla %s", diff --git a/core/l10n/cs_CZ.json b/core/l10n/cs_CZ.json index da343b7791a..1c38e7cc152 100644 --- a/core/l10n/cs_CZ.json +++ b/core/l10n/cs_CZ.json @@ -171,6 +171,7 @@ "The update was successful. There were warnings." : "Aktualizace byla úspěšná. Zachycen výskyt varování.", "The update was successful. Redirecting you to ownCloud now." : "Aktualizace byla úspěšná. Přesměrovávám na ownCloud.", "Couldn't reset password because the token is invalid" : "Heslo nebylo změněno kvůli neplatnému tokenu", + "Couldn't reset password because the token is expired" : "Heslo nebylo změněno z důvodu vypršení tokenu", "Couldn't send reset email. Please make sure your username is correct." : "Nelze odeslat email pro změnu hesla. Ujistěte se prosím, že zadáváte správné uživatelské jméno.", "Couldn't send reset email because there is no email address for this username. Please contact your administrator." : "Nelze odeslat email pro změnu hesla, protože u tohoto uživatelského jména není uvedena emailová adresa. Kontaktujte prosím svého správce systému.", "%s password reset" : "reset hesla %s", diff --git a/core/l10n/de_DE.js b/core/l10n/de_DE.js index 6a77c3952c3..0a4689261a6 100644 --- a/core/l10n/de_DE.js +++ b/core/l10n/de_DE.js @@ -2,6 +2,7 @@ OC.L10N.register( "core", { "Couldn't send mail to following users: %s " : "An folgende Benutzer konnte keine E-Mail gesendet werden: %s", + "Preparing update" : "Update vorbereiten", "Turned on maintenance mode" : "Wartungsmodus eingeschaltet ", "Turned off maintenance mode" : "Wartungsmodus ausgeschaltet", "Maintenance mode is kept active" : "Wartungsmodus wird aktiv gehalten", @@ -13,6 +14,7 @@ OC.L10N.register( "Repair error: " : "Reperaturfehler:", "Following incompatible apps have been disabled: %s" : "Die folgenden inkompatiblen Apps sind deaktiviert worden: %s", "Following apps have been disabled: %s" : "Die folgenden Apps sind deaktiviert worden: %s", + "Already up to date" : "Bereits aktuell", "File is too big" : "Datei ist zu groß", "Invalid file provided" : "Ungültige Datei zur Verfügung gestellt", "No image or file provided" : "Es wurde weder ein Bild noch eine Datei zur Verfügung gestellt", @@ -36,6 +38,13 @@ OC.L10N.register( "Thu." : "Do", "Fri." : "Fr", "Sat." : "Sa", + "Su" : "So", + "Mo" : "Mo", + "Tu" : "Di", + "We" : "Mi", + "Th" : "Do", + "Fr" : "Fr", + "Sa" : "Sa", "January" : "Januar", "February" : "Februar", "March" : "März", @@ -236,6 +245,7 @@ OC.L10N.register( "Please contact your administrator." : "Bitte kontaktieren Sie Ihren Administrator.", "An internal error occured." : "Es ist ein interner Fehler aufgetreten.", "Please try again or contact your administrator." : "Bitte versuchen Sie es noch einmal oder kontaktieren Sie Ihren Administrator.", + "Log in" : "Einloggen", "Wrong password. Reset it?" : "Falsches Passwort. Soll es zurückgesetzt werden?", "remember" : "merken", "Alternative Logins" : "Alternative Logins", @@ -248,6 +258,10 @@ OC.L10N.register( "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." : "Bitte kontaktieren Sie Ihren Administrator. Wenn Sie Administrator dieser Instanz sind, konfigurieren Sie bitte die „trusted_domain“-Einstellung in config/config.php. Eine Beispielkonfiguration wird unter config/config.sample.php bereitgestellt.", "Depending on your configuration, as an administrator you might also be able to use the button below to trust this domain." : "Wenn es Ihre Konfiguration zulässt, können Sie als Administrator gegebenenfalls den Button unten benutzen, um diese Domain als vertrauenswürdig einzustufen.", "Add \"%s\" as trusted domain" : "„%s“ als vertrauenswürdige Domain hinzufügen", + "App update required" : "App-Update notwendig", + "%s will be updated to version %s" : "%s wird auf Version %s aktualisiert", + "These apps will be updated:" : "Diese Apps werden aktualisiert:", + "These incompatible apps will be disabled:" : "Diese inkompatiblen Apps werden deaktiviert:", "The theme %s has been disabled." : "Das Thema %s wurde deaktiviert.", "Please make sure that the database, the config folder and the data folder have been backed up before proceeding." : "Stellen Sie vor dem Fortsetzen bitte sicher, dass die Datenbank, der Konfigurationsordner und der Datenordner gesichert wurden.", "Start update" : "Aktualisierung starten", diff --git a/core/l10n/de_DE.json b/core/l10n/de_DE.json index fc6dc12aa17..a5f2d5857e3 100644 --- a/core/l10n/de_DE.json +++ b/core/l10n/de_DE.json @@ -1,5 +1,6 @@ { "translations": { "Couldn't send mail to following users: %s " : "An folgende Benutzer konnte keine E-Mail gesendet werden: %s", + "Preparing update" : "Update vorbereiten", "Turned on maintenance mode" : "Wartungsmodus eingeschaltet ", "Turned off maintenance mode" : "Wartungsmodus ausgeschaltet", "Maintenance mode is kept active" : "Wartungsmodus wird aktiv gehalten", @@ -11,6 +12,7 @@ "Repair error: " : "Reperaturfehler:", "Following incompatible apps have been disabled: %s" : "Die folgenden inkompatiblen Apps sind deaktiviert worden: %s", "Following apps have been disabled: %s" : "Die folgenden Apps sind deaktiviert worden: %s", + "Already up to date" : "Bereits aktuell", "File is too big" : "Datei ist zu groß", "Invalid file provided" : "Ungültige Datei zur Verfügung gestellt", "No image or file provided" : "Es wurde weder ein Bild noch eine Datei zur Verfügung gestellt", @@ -34,6 +36,13 @@ "Thu." : "Do", "Fri." : "Fr", "Sat." : "Sa", + "Su" : "So", + "Mo" : "Mo", + "Tu" : "Di", + "We" : "Mi", + "Th" : "Do", + "Fr" : "Fr", + "Sa" : "Sa", "January" : "Januar", "February" : "Februar", "March" : "März", @@ -234,6 +243,7 @@ "Please contact your administrator." : "Bitte kontaktieren Sie Ihren Administrator.", "An internal error occured." : "Es ist ein interner Fehler aufgetreten.", "Please try again or contact your administrator." : "Bitte versuchen Sie es noch einmal oder kontaktieren Sie Ihren Administrator.", + "Log in" : "Einloggen", "Wrong password. Reset it?" : "Falsches Passwort. Soll es zurückgesetzt werden?", "remember" : "merken", "Alternative Logins" : "Alternative Logins", @@ -246,6 +256,10 @@ "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." : "Bitte kontaktieren Sie Ihren Administrator. Wenn Sie Administrator dieser Instanz sind, konfigurieren Sie bitte die „trusted_domain“-Einstellung in config/config.php. Eine Beispielkonfiguration wird unter config/config.sample.php bereitgestellt.", "Depending on your configuration, as an administrator you might also be able to use the button below to trust this domain." : "Wenn es Ihre Konfiguration zulässt, können Sie als Administrator gegebenenfalls den Button unten benutzen, um diese Domain als vertrauenswürdig einzustufen.", "Add \"%s\" as trusted domain" : "„%s“ als vertrauenswürdige Domain hinzufügen", + "App update required" : "App-Update notwendig", + "%s will be updated to version %s" : "%s wird auf Version %s aktualisiert", + "These apps will be updated:" : "Diese Apps werden aktualisiert:", + "These incompatible apps will be disabled:" : "Diese inkompatiblen Apps werden deaktiviert:", "The theme %s has been disabled." : "Das Thema %s wurde deaktiviert.", "Please make sure that the database, the config folder and the data folder have been backed up before proceeding." : "Stellen Sie vor dem Fortsetzen bitte sicher, dass die Datenbank, der Konfigurationsordner und der Datenordner gesichert wurden.", "Start update" : "Aktualisierung starten", diff --git a/core/l10n/et_EE.js b/core/l10n/et_EE.js index df638a3d7ee..7395970563e 100644 --- a/core/l10n/et_EE.js +++ b/core/l10n/et_EE.js @@ -2,6 +2,7 @@ OC.L10N.register( "core", { "Couldn't send mail to following users: %s " : "Kirja saatmine järgnevatele kasutajatele ebaõnnestus: %s ", + "Preparing update" : "Uuendamise ettevalmistamine", "Turned on maintenance mode" : "Haldusrežiimis sisse lülitatud", "Turned off maintenance mode" : "Haldusrežiimis välja lülitatud", "Updated database" : "Uuendatud andmebaas", @@ -10,6 +11,10 @@ OC.L10N.register( "Updated \"%s\" to %s" : "Uuendatud \"%s\" -> %s", "Repair warning: " : "Paranda hoiatus:", "Repair error: " : "Paranda viga:", + "Following incompatible apps have been disabled: %s" : "Järgnevad mitteühilduvad rakendused on välja lülitatud: %s", + "Following apps have been disabled: %s" : "Järgnevad rakendused on välja lülitatud: %s", + "Already up to date" : "On juba ajakohane", + "File is too big" : "Fail on liiga suur", "Invalid file provided" : "Vigane fail", "No image or file provided" : "Ühtegi pilti või faili pole pakutud", "Unknown filetype" : "Tundmatu failitüüp", @@ -31,6 +36,13 @@ OC.L10N.register( "Thu." : "N", "Fri." : "R", "Sat." : "L", + "Su" : "P", + "Mo" : "E", + "Tu" : "T", + "We" : "K", + "Th" : "N", + "Fr" : "R", + "Sa" : "L", "January" : "Jaanuar", "February" : "Veebruar", "March" : "Märts", @@ -85,6 +97,7 @@ OC.L10N.register( "So-so password" : "Enam-vähem sobiv parool", "Good password" : "Hea parool", "Strong password" : "Väga hea parool", + "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." : "Serveril puudub toimiv internetiühendus. See tähendab, et mõned funktsionaalsused, nagu näiteks väliste andmehoidlate ühendamine, teavitused uuendustest või kolmandate osapoolte rakenduste paigaldamine ei tööta. Eemalt failidele ligipääs ning teadete saatmine emailiga ei pruugi samuti toimida. Kui soovid täielikku funktsionaalsust, siis soovitame serverile tagada ligipääs internetti.", "Error occurred while checking server setup" : "Serveri seadete kontrolimisel tekkis viga", "Shared" : "Jagatud", "Shared with {recipients}" : "Jagatud {recipients}", @@ -229,6 +242,9 @@ OC.L10N.register( "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." : "Palun võta ühendust oma saidi administraatoriga. Kui sa oled ise administraator, siis seadista failis config/config.php sätet \"trusted_domain\". Näidis seadistused leiad failist 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." : "Sõltuvalt sinu seadetest võib ka administraator kasutada allolevat nuppu, et seda domeeni usaldusväärseks märkida.", "Add \"%s\" as trusted domain" : "Lisa \"%s\" usaldusväärse domeenina", + "App update required" : "Rakenduse uuendus on nõutud", + "These apps will be updated:" : "Neid rakendusi uuendatakse:", + "These incompatible apps will be disabled:" : "Need mitteühilduvad rakendused lülitatakse välja:", "The theme %s has been disabled." : "Teema %s on keelatud.", "Please make sure that the database, the config folder and the data folder have been backed up before proceeding." : "Enne jätkamist veendu, et andmebaas, seadete ning andmete kataloog on varundatud.", "Start update" : "Käivita uuendus", diff --git a/core/l10n/et_EE.json b/core/l10n/et_EE.json index edacdaedca9..43a04a5ddce 100644 --- a/core/l10n/et_EE.json +++ b/core/l10n/et_EE.json @@ -1,5 +1,6 @@ { "translations": { "Couldn't send mail to following users: %s " : "Kirja saatmine järgnevatele kasutajatele ebaõnnestus: %s ", + "Preparing update" : "Uuendamise ettevalmistamine", "Turned on maintenance mode" : "Haldusrežiimis sisse lülitatud", "Turned off maintenance mode" : "Haldusrežiimis välja lülitatud", "Updated database" : "Uuendatud andmebaas", @@ -8,6 +9,10 @@ "Updated \"%s\" to %s" : "Uuendatud \"%s\" -> %s", "Repair warning: " : "Paranda hoiatus:", "Repair error: " : "Paranda viga:", + "Following incompatible apps have been disabled: %s" : "Järgnevad mitteühilduvad rakendused on välja lülitatud: %s", + "Following apps have been disabled: %s" : "Järgnevad rakendused on välja lülitatud: %s", + "Already up to date" : "On juba ajakohane", + "File is too big" : "Fail on liiga suur", "Invalid file provided" : "Vigane fail", "No image or file provided" : "Ühtegi pilti või faili pole pakutud", "Unknown filetype" : "Tundmatu failitüüp", @@ -29,6 +34,13 @@ "Thu." : "N", "Fri." : "R", "Sat." : "L", + "Su" : "P", + "Mo" : "E", + "Tu" : "T", + "We" : "K", + "Th" : "N", + "Fr" : "R", + "Sa" : "L", "January" : "Jaanuar", "February" : "Veebruar", "March" : "Märts", @@ -83,6 +95,7 @@ "So-so password" : "Enam-vähem sobiv parool", "Good password" : "Hea parool", "Strong password" : "Väga hea parool", + "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." : "Serveril puudub toimiv internetiühendus. See tähendab, et mõned funktsionaalsused, nagu näiteks väliste andmehoidlate ühendamine, teavitused uuendustest või kolmandate osapoolte rakenduste paigaldamine ei tööta. Eemalt failidele ligipääs ning teadete saatmine emailiga ei pruugi samuti toimida. Kui soovid täielikku funktsionaalsust, siis soovitame serverile tagada ligipääs internetti.", "Error occurred while checking server setup" : "Serveri seadete kontrolimisel tekkis viga", "Shared" : "Jagatud", "Shared with {recipients}" : "Jagatud {recipients}", @@ -227,6 +240,9 @@ "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." : "Palun võta ühendust oma saidi administraatoriga. Kui sa oled ise administraator, siis seadista failis config/config.php sätet \"trusted_domain\". Näidis seadistused leiad failist 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." : "Sõltuvalt sinu seadetest võib ka administraator kasutada allolevat nuppu, et seda domeeni usaldusväärseks märkida.", "Add \"%s\" as trusted domain" : "Lisa \"%s\" usaldusväärse domeenina", + "App update required" : "Rakenduse uuendus on nõutud", + "These apps will be updated:" : "Neid rakendusi uuendatakse:", + "These incompatible apps will be disabled:" : "Need mitteühilduvad rakendused lülitatakse välja:", "The theme %s has been disabled." : "Teema %s on keelatud.", "Please make sure that the database, the config folder and the data folder have been backed up before proceeding." : "Enne jätkamist veendu, et andmebaas, seadete ning andmete kataloog on varundatud.", "Start update" : "Käivita uuendus", diff --git a/core/l10n/fr.js b/core/l10n/fr.js index 2ed3872dffb..27bea200a63 100644 --- a/core/l10n/fr.js +++ b/core/l10n/fr.js @@ -14,6 +14,7 @@ OC.L10N.register( "Repair error: " : "Erreur de réparation :", "Following incompatible apps have been disabled: %s" : "Les applications incompatibles suivantes ont été désactivées : %s", "Following apps have been disabled: %s" : "Les applications suivantes ont été désactivées : %s", + "Already up to date" : "Déjà à jour", "File is too big" : "Fichier trop volumineux", "Invalid file provided" : "Fichier non valide", "No image or file provided" : "Aucun fichier fourni", @@ -247,6 +248,7 @@ OC.L10N.register( "Please contact your administrator." : "Veuillez contacter votre administrateur.", "An internal error occured." : "Une erreur interne est survenue.", "Please try again or contact your administrator." : "Veuillez réessayer ou contacter votre administrateur.", + "Log in" : "Se connecter", "Wrong password. Reset it?" : "Mot de passe incorrect. Réinitialiser ?", "remember" : "se souvenir de moi", "Alternative Logins" : "Identifiants alternatifs", diff --git a/core/l10n/fr.json b/core/l10n/fr.json index 761132e4bde..ac12a4673d5 100644 --- a/core/l10n/fr.json +++ b/core/l10n/fr.json @@ -12,6 +12,7 @@ "Repair error: " : "Erreur de réparation :", "Following incompatible apps have been disabled: %s" : "Les applications incompatibles suivantes ont été désactivées : %s", "Following apps have been disabled: %s" : "Les applications suivantes ont été désactivées : %s", + "Already up to date" : "Déjà à jour", "File is too big" : "Fichier trop volumineux", "Invalid file provided" : "Fichier non valide", "No image or file provided" : "Aucun fichier fourni", @@ -245,6 +246,7 @@ "Please contact your administrator." : "Veuillez contacter votre administrateur.", "An internal error occured." : "Une erreur interne est survenue.", "Please try again or contact your administrator." : "Veuillez réessayer ou contacter votre administrateur.", + "Log in" : "Se connecter", "Wrong password. Reset it?" : "Mot de passe incorrect. Réinitialiser ?", "remember" : "se souvenir de moi", "Alternative Logins" : "Identifiants alternatifs", diff --git a/core/l10n/ko.js b/core/l10n/ko.js index c5aef4258d2..56fe67b553b 100644 --- a/core/l10n/ko.js +++ b/core/l10n/ko.js @@ -2,6 +2,7 @@ OC.L10N.register( "core", { "Couldn't send mail to following users: %s " : "%s 님에게 메일을 보낼 수 없습니다.", + "Preparing update" : "업데이트 준비 중", "Turned on maintenance mode" : "유지 보수 모드 켜짐", "Turned off maintenance mode" : "유지 보수 모드 꺼짐", "Maintenance mode is kept active" : "유지 보수 모드가 켜져 있음", @@ -13,6 +14,8 @@ OC.L10N.register( "Repair error: " : "수리 오류:", "Following incompatible apps have been disabled: %s" : "다음 호환되지 않는 앱이 비활성화되었습니다: %s", "Following apps have been disabled: %s" : "다음 앱이 비활성화되었습니다: %s", + "Already up to date" : "최신 상태임", + "File is too big" : "파일이 너무 큼", "Invalid file provided" : "잘못된 파일 지정됨", "No image or file provided" : "사진이나 파일이 없음", "Unknown filetype" : "알려지지 않은 파일 형식", @@ -35,6 +38,13 @@ OC.L10N.register( "Thu." : "목", "Fri." : "금", "Sat." : "토", + "Su" : "일", + "Mo" : "월", + "Tu" : "화", + "We" : "수", + "Th" : "목", + "Fr" : "금", + "Sa" : "토", "January" : "1월", "February" : "2월", "March" : "3월", @@ -94,6 +104,8 @@ OC.L10N.register( "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>." : "메모리 캐시가 설정되지 않았습니다. 성능을 향상시키려면 사용 가능한 경우 메모리 캐시를 설정하십시오. 더 많은 정보를 보려면 <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>." : "PHP에서 /dev/urandom을 읽을 수 없으며, 보안상의 이유로 권장되지 않습니다. 더 많은 정보를 보려면 <a href=\"{docLink}\">문서</a>를 참고하십시오.", + "Your PHP version ({version}) is no longer <a href=\"{phpLink}\">supported by PHP</a>. We encourage you to upgrade your PHP version to take advantage of performance and security updates provided by PHP." : "사용하고 있는 PHP 버전({version})은 더 이상 <a href=\"{phpLink}\">PHP에서 지원하지 않습니다.</a> PHP를 업그레이드하여 성능 및 보안 개선을 누리십시오.", + "The reverse proxy headers configuration is incorrect, or you are accessing ownCloud from a trusted proxy. If you are not accessing ownCloud from a trusted proxy, this is a security issue and can allow an attacker to spoof their IP address as visible to ownCloud. Further information can be found in our <a href=\"{docLink}\">documentation</a>." : "역방향 프록시 헤더 설정이 잘못되었거나, 신뢰할 수 있는 프록시에서 ownCloud에 접근하고 있습니다. 신뢰할 수 있는 프록시에서 ownCloud에 접근하는 것이 아니라면, 이 상황은 보안 문제이며 공격자가 ownCloud에 접근하는 IP 주소를 속일 수 있습니다. 더 많은 정보를 보려면 <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}\" HTTP 헤더가 \"{expected}\"와(과) 같이 설정되지 않았습니다. 잠재적인 보안 위협이 될 수 있으므로 설정을 변경하는 것을 추천합니다.", "The \"Strict-Transport-Security\" HTTP header is not configured to least \"{seconds}\" seconds. For enhanced security we recommend enabling HSTS as described in our <a href=\"{docUrl}\">security tips</a>." : "HTTP 헤더 \"Strict-Transport-Security\"가 최소한 \"{seconds}\"초 이상으로 설정되어야 합니다. 강화된 보안을 위해서 <a href=\"{docUrl}\">보안 팁</a>에 나타난 것처럼 HSTS를 활성화하는 것을 추천합니다.", @@ -162,6 +174,7 @@ OC.L10N.register( "The update was successful. There were warnings." : "업데이트가 성공하였습니다. 일부 경고가 있습니다.", "The update was successful. Redirecting you to ownCloud now." : "업데이트가 성공하였습니다. ownCloud로 돌아갑니다.", "Couldn't reset password because the token is invalid" : "토큰이 잘못되었기 때문에 암호를 초기화할 수 없습니다", + "Couldn't reset password because the token is expired" : "토큰이 만료되어 암호를 초기화할 수 없습니다", "Couldn't send reset email. Please make sure your username is correct." : "재설정 메일을 보낼 수 없습니다. 사용자 이름이 올바른지 확인하십시오.", "Couldn't send reset email because there is no email address for this username. Please contact your administrator." : "해당 사용자 이름에 등록된 이메일 주소가 없어서 재설정 메일을 보낼 수 없습니다. 관리자에게 문의하십시오.", "%s password reset" : "%s 암호 재설정", @@ -235,6 +248,8 @@ OC.L10N.register( "Please contact your administrator." : "관리자에게 문의하십시오.", "An internal error occured." : "내부 오류가 발생하였습니다.", "Please try again or contact your administrator." : "다시 시도하거나 관리자에게 연락하십시오.", + "Log in" : "로그인", + "Wrong password. Reset it?" : "암호가 잘못되었습니다. 다시 설정하시겠습니까?", "remember" : "기억하기", "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 님이 <strong>%s</strong>을(를) 공유하였음을 알려 드립니다.<br><a href=\"%s\">보러 가기!</a><br><br>", @@ -246,6 +261,10 @@ OC.L10N.register( "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." : "관리자에게 연락해 주십시오. 만약 이 인스턴스 관리자라면 config/config.php에서 \"trusted_domain\" 설정을 편집하십시오. 예제 설정 파일은 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\"을(를) 신뢰할 수 있는 도메인으로 추가", + "App update required" : "앱 업데이트 필요", + "%s will be updated to version %s" : "%s 앱을 버전 %s(으)로 업데이트합니다", + "These apps will be updated:" : "다음 앱을 업데이트합니다:", + "These incompatible 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/ko.json b/core/l10n/ko.json index b1e133d76ca..1e1f427ecb4 100644 --- a/core/l10n/ko.json +++ b/core/l10n/ko.json @@ -1,5 +1,6 @@ { "translations": { "Couldn't send mail to following users: %s " : "%s 님에게 메일을 보낼 수 없습니다.", + "Preparing update" : "업데이트 준비 중", "Turned on maintenance mode" : "유지 보수 모드 켜짐", "Turned off maintenance mode" : "유지 보수 모드 꺼짐", "Maintenance mode is kept active" : "유지 보수 모드가 켜져 있음", @@ -11,6 +12,8 @@ "Repair error: " : "수리 오류:", "Following incompatible apps have been disabled: %s" : "다음 호환되지 않는 앱이 비활성화되었습니다: %s", "Following apps have been disabled: %s" : "다음 앱이 비활성화되었습니다: %s", + "Already up to date" : "최신 상태임", + "File is too big" : "파일이 너무 큼", "Invalid file provided" : "잘못된 파일 지정됨", "No image or file provided" : "사진이나 파일이 없음", "Unknown filetype" : "알려지지 않은 파일 형식", @@ -33,6 +36,13 @@ "Thu." : "목", "Fri." : "금", "Sat." : "토", + "Su" : "일", + "Mo" : "월", + "Tu" : "화", + "We" : "수", + "Th" : "목", + "Fr" : "금", + "Sa" : "토", "January" : "1월", "February" : "2월", "March" : "3월", @@ -92,6 +102,8 @@ "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>." : "메모리 캐시가 설정되지 않았습니다. 성능을 향상시키려면 사용 가능한 경우 메모리 캐시를 설정하십시오. 더 많은 정보를 보려면 <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>." : "PHP에서 /dev/urandom을 읽을 수 없으며, 보안상의 이유로 권장되지 않습니다. 더 많은 정보를 보려면 <a href=\"{docLink}\">문서</a>를 참고하십시오.", + "Your PHP version ({version}) is no longer <a href=\"{phpLink}\">supported by PHP</a>. We encourage you to upgrade your PHP version to take advantage of performance and security updates provided by PHP." : "사용하고 있는 PHP 버전({version})은 더 이상 <a href=\"{phpLink}\">PHP에서 지원하지 않습니다.</a> PHP를 업그레이드하여 성능 및 보안 개선을 누리십시오.", + "The reverse proxy headers configuration is incorrect, or you are accessing ownCloud from a trusted proxy. If you are not accessing ownCloud from a trusted proxy, this is a security issue and can allow an attacker to spoof their IP address as visible to ownCloud. Further information can be found in our <a href=\"{docLink}\">documentation</a>." : "역방향 프록시 헤더 설정이 잘못되었거나, 신뢰할 수 있는 프록시에서 ownCloud에 접근하고 있습니다. 신뢰할 수 있는 프록시에서 ownCloud에 접근하는 것이 아니라면, 이 상황은 보안 문제이며 공격자가 ownCloud에 접근하는 IP 주소를 속일 수 있습니다. 더 많은 정보를 보려면 <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}\" HTTP 헤더가 \"{expected}\"와(과) 같이 설정되지 않았습니다. 잠재적인 보안 위협이 될 수 있으므로 설정을 변경하는 것을 추천합니다.", "The \"Strict-Transport-Security\" HTTP header is not configured to least \"{seconds}\" seconds. For enhanced security we recommend enabling HSTS as described in our <a href=\"{docUrl}\">security tips</a>." : "HTTP 헤더 \"Strict-Transport-Security\"가 최소한 \"{seconds}\"초 이상으로 설정되어야 합니다. 강화된 보안을 위해서 <a href=\"{docUrl}\">보안 팁</a>에 나타난 것처럼 HSTS를 활성화하는 것을 추천합니다.", @@ -160,6 +172,7 @@ "The update was successful. There were warnings." : "업데이트가 성공하였습니다. 일부 경고가 있습니다.", "The update was successful. Redirecting you to ownCloud now." : "업데이트가 성공하였습니다. ownCloud로 돌아갑니다.", "Couldn't reset password because the token is invalid" : "토큰이 잘못되었기 때문에 암호를 초기화할 수 없습니다", + "Couldn't reset password because the token is expired" : "토큰이 만료되어 암호를 초기화할 수 없습니다", "Couldn't send reset email. Please make sure your username is correct." : "재설정 메일을 보낼 수 없습니다. 사용자 이름이 올바른지 확인하십시오.", "Couldn't send reset email because there is no email address for this username. Please contact your administrator." : "해당 사용자 이름에 등록된 이메일 주소가 없어서 재설정 메일을 보낼 수 없습니다. 관리자에게 문의하십시오.", "%s password reset" : "%s 암호 재설정", @@ -233,6 +246,8 @@ "Please contact your administrator." : "관리자에게 문의하십시오.", "An internal error occured." : "내부 오류가 발생하였습니다.", "Please try again or contact your administrator." : "다시 시도하거나 관리자에게 연락하십시오.", + "Log in" : "로그인", + "Wrong password. Reset it?" : "암호가 잘못되었습니다. 다시 설정하시겠습니까?", "remember" : "기억하기", "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 님이 <strong>%s</strong>을(를) 공유하였음을 알려 드립니다.<br><a href=\"%s\">보러 가기!</a><br><br>", @@ -244,6 +259,10 @@ "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." : "관리자에게 연락해 주십시오. 만약 이 인스턴스 관리자라면 config/config.php에서 \"trusted_domain\" 설정을 편집하십시오. 예제 설정 파일은 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\"을(를) 신뢰할 수 있는 도메인으로 추가", + "App update required" : "앱 업데이트 필요", + "%s will be updated to version %s" : "%s 앱을 버전 %s(으)로 업데이트합니다", + "These apps will be updated:" : "다음 앱을 업데이트합니다:", + "These incompatible 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/nb_NO.js b/core/l10n/nb_NO.js index 352a0ce78a9..2dc995b2a98 100644 --- a/core/l10n/nb_NO.js +++ b/core/l10n/nb_NO.js @@ -2,6 +2,7 @@ OC.L10N.register( "core", { "Couldn't send mail to following users: %s " : "Klarte ikke å sende mail til følgende brukere: %s", + "Preparing update" : "Forbereder oppdatering", "Turned on maintenance mode" : "Slo på vedlikeholdsmodus", "Turned off maintenance mode" : "Slo av vedlikeholdsmodus", "Maintenance mode is kept active" : "Vedlikeholdsmodus blir beholdt aktiv", @@ -13,6 +14,8 @@ OC.L10N.register( "Repair error: " : "Feil ved reparering: ", "Following incompatible apps have been disabled: %s" : "Følgende inkompatible apper har blitt deaktivert: %s", "Following apps have been disabled: %s" : "Følgende apper har blitt deaktivert: %s", + "Already up to date" : "Allerede oppdatert", + "File is too big" : "Filen er for stor", "Invalid file provided" : "Ugyldig fil oppgitt", "No image or file provided" : "Bilde eller fil ikke angitt", "Unknown filetype" : "Ukjent filtype", @@ -35,6 +38,13 @@ OC.L10N.register( "Thu." : "To.", "Fri." : "Fr.", "Sat." : "Lø.", + "Su" : "Sø", + "Mo" : "Ma", + "Tu" : "Ti", + "We" : "On", + "Th" : "To", + "Fr" : "Fr", + "Sa" : "Lø", "January" : "Januar", "February" : "Februar", "March" : "Mars", @@ -94,6 +104,8 @@ OC.L10N.register( "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>.", + "Your PHP version ({version}) is no longer <a href=\"{phpLink}\">supported by PHP</a>. We encourage you to upgrade your PHP version to take advantage of performance and security updates provided by PHP." : "Din PHP-versjon ({version}) er ikke <a href=\"{phpLink}\">støttet av PHP</a> lenger. Vi oppfordrer deg til å oppgradere din PHP-versjon for å nyte fordel av ytelses- og sikkerhetsoppdateringer som tilbys av PHP.", + "The reverse proxy headers configuration is incorrect, or you are accessing ownCloud from a trusted proxy. If you are not accessing ownCloud from a trusted proxy, this is a security issue and can allow an attacker to spoof their IP address as visible to ownCloud. Further information can be found in our <a href=\"{docLink}\">documentation</a>." : "Konfigurasjon av reverse proxy-headers er ikke korrekt, eller du aksesserer ownCloud fra en \"trusted proxy\". Hvis du ikke aksesserer ownCloud fra en \"trusted proxy\", er dette en sikkerhetsrisiko som kan la en angriper forfalske IP-addressen sin slik den oppfattes av ownCloud. Mer informasjon 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 \"{seconds}\" seconds. For enhanced security we recommend enabling HSTS as described in our <a href=\"{docUrl}\">security tips</a>." : "HTTP header \"Strict-Transport-Security\" er ikke konfigurert til minst \"{seconds}\" sekunder. For beste sikkerhet anbefaler vi at HSTS aktiveres som beskrevet i <a href=\"{docUrl}\">sikkerhetstips</a>.", @@ -162,6 +174,7 @@ OC.L10N.register( "The update was successful. There were warnings." : "Oppdateringen var vellykket. Det oppstod advarsler.", "The update was successful. Redirecting you to ownCloud now." : "Oppdateringen var vellykket. Du omdirigeres nå til ownCloud.", "Couldn't reset password because the token is invalid" : "Klarte ikke å tilbakestille passordet fordi token er ugyldig.", + "Couldn't reset password because the token is expired" : "Klarte ikke å tilbakestille passordet fordi token er utløpt.", "Couldn't send reset email. Please make sure your username is correct." : "Klarte ikke å sende e-post for tilbakestilling av passord. Sjekk at brukernavnet ditt er korrekt.", "Couldn't send reset email because there is no email address for this username. Please contact your administrator." : "Klarte ikke å sende e-post for tilbakestilling av passord fordi det ikke finnes noen e-postadresse for dette brukernavnet. Kontakt administratoren din.", "%s password reset" : "%s tilbakestilling av passord", @@ -235,6 +248,8 @@ OC.L10N.register( "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.", + "Log in" : "Logg inn", + "Wrong password. Reset it?" : "Feil passord. Nullstille det?", "remember" : "husk", "Alternative Logins" : "Alternative innlogginger", "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>" : "Hei,<br><br>Dette er en beskjed om at %s delte <strong>%s</strong> med deg.<br><a href=\"%s\">Vis den!</a><br><br>", @@ -246,6 +261,10 @@ OC.L10N.register( "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." : "Vennligst kontakt administratoren. Hvis du er administrator for denne instansen, konfigurer innstillingen \"trusted_domain\" i config/config.php. En eksempelkonfigurasjon er gitt i 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." : "Avhengig av konfigurasjonen kan du, som administrator, kanskje også bruke kanppen nedenfor til å stole på dette domenet.", "Add \"%s\" as trusted domain" : "Legg til \"%s\" som et tiltrodd domene", + "App update required" : "App-oppdatering kreves", + "%s will be updated to version %s" : "%s vil bli oppdatert til versjon %s", + "These apps will be updated:" : "Disse appene vil bli oppdatert:", + "These incompatible apps will be disabled:" : "Disse ikke-kompatible appene vil bli deaktivert:", "The theme %s has been disabled." : "Temaet %s har blitt deaktivert.", "Please make sure that the database, the config folder and the data folder have been backed up before proceeding." : "Forsikre deg om at databasen, config-mappen og datamappen er blitt sikkerhetskopiert før du fortsetter.", "Start update" : "Start oppdatering", diff --git a/core/l10n/nb_NO.json b/core/l10n/nb_NO.json index 22afa2b9c92..528913e424a 100644 --- a/core/l10n/nb_NO.json +++ b/core/l10n/nb_NO.json @@ -1,5 +1,6 @@ { "translations": { "Couldn't send mail to following users: %s " : "Klarte ikke å sende mail til følgende brukere: %s", + "Preparing update" : "Forbereder oppdatering", "Turned on maintenance mode" : "Slo på vedlikeholdsmodus", "Turned off maintenance mode" : "Slo av vedlikeholdsmodus", "Maintenance mode is kept active" : "Vedlikeholdsmodus blir beholdt aktiv", @@ -11,6 +12,8 @@ "Repair error: " : "Feil ved reparering: ", "Following incompatible apps have been disabled: %s" : "Følgende inkompatible apper har blitt deaktivert: %s", "Following apps have been disabled: %s" : "Følgende apper har blitt deaktivert: %s", + "Already up to date" : "Allerede oppdatert", + "File is too big" : "Filen er for stor", "Invalid file provided" : "Ugyldig fil oppgitt", "No image or file provided" : "Bilde eller fil ikke angitt", "Unknown filetype" : "Ukjent filtype", @@ -33,6 +36,13 @@ "Thu." : "To.", "Fri." : "Fr.", "Sat." : "Lø.", + "Su" : "Sø", + "Mo" : "Ma", + "Tu" : "Ti", + "We" : "On", + "Th" : "To", + "Fr" : "Fr", + "Sa" : "Lø", "January" : "Januar", "February" : "Februar", "March" : "Mars", @@ -92,6 +102,8 @@ "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>.", + "Your PHP version ({version}) is no longer <a href=\"{phpLink}\">supported by PHP</a>. We encourage you to upgrade your PHP version to take advantage of performance and security updates provided by PHP." : "Din PHP-versjon ({version}) er ikke <a href=\"{phpLink}\">støttet av PHP</a> lenger. Vi oppfordrer deg til å oppgradere din PHP-versjon for å nyte fordel av ytelses- og sikkerhetsoppdateringer som tilbys av PHP.", + "The reverse proxy headers configuration is incorrect, or you are accessing ownCloud from a trusted proxy. If you are not accessing ownCloud from a trusted proxy, this is a security issue and can allow an attacker to spoof their IP address as visible to ownCloud. Further information can be found in our <a href=\"{docLink}\">documentation</a>." : "Konfigurasjon av reverse proxy-headers er ikke korrekt, eller du aksesserer ownCloud fra en \"trusted proxy\". Hvis du ikke aksesserer ownCloud fra en \"trusted proxy\", er dette en sikkerhetsrisiko som kan la en angriper forfalske IP-addressen sin slik den oppfattes av ownCloud. Mer informasjon 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 \"{seconds}\" seconds. For enhanced security we recommend enabling HSTS as described in our <a href=\"{docUrl}\">security tips</a>." : "HTTP header \"Strict-Transport-Security\" er ikke konfigurert til minst \"{seconds}\" sekunder. For beste sikkerhet anbefaler vi at HSTS aktiveres som beskrevet i <a href=\"{docUrl}\">sikkerhetstips</a>.", @@ -160,6 +172,7 @@ "The update was successful. There were warnings." : "Oppdateringen var vellykket. Det oppstod advarsler.", "The update was successful. Redirecting you to ownCloud now." : "Oppdateringen var vellykket. Du omdirigeres nå til ownCloud.", "Couldn't reset password because the token is invalid" : "Klarte ikke å tilbakestille passordet fordi token er ugyldig.", + "Couldn't reset password because the token is expired" : "Klarte ikke å tilbakestille passordet fordi token er utløpt.", "Couldn't send reset email. Please make sure your username is correct." : "Klarte ikke å sende e-post for tilbakestilling av passord. Sjekk at brukernavnet ditt er korrekt.", "Couldn't send reset email because there is no email address for this username. Please contact your administrator." : "Klarte ikke å sende e-post for tilbakestilling av passord fordi det ikke finnes noen e-postadresse for dette brukernavnet. Kontakt administratoren din.", "%s password reset" : "%s tilbakestilling av passord", @@ -233,6 +246,8 @@ "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.", + "Log in" : "Logg inn", + "Wrong password. Reset it?" : "Feil passord. Nullstille det?", "remember" : "husk", "Alternative Logins" : "Alternative innlogginger", "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>" : "Hei,<br><br>Dette er en beskjed om at %s delte <strong>%s</strong> med deg.<br><a href=\"%s\">Vis den!</a><br><br>", @@ -244,6 +259,10 @@ "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." : "Vennligst kontakt administratoren. Hvis du er administrator for denne instansen, konfigurer innstillingen \"trusted_domain\" i config/config.php. En eksempelkonfigurasjon er gitt i 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." : "Avhengig av konfigurasjonen kan du, som administrator, kanskje også bruke kanppen nedenfor til å stole på dette domenet.", "Add \"%s\" as trusted domain" : "Legg til \"%s\" som et tiltrodd domene", + "App update required" : "App-oppdatering kreves", + "%s will be updated to version %s" : "%s vil bli oppdatert til versjon %s", + "These apps will be updated:" : "Disse appene vil bli oppdatert:", + "These incompatible apps will be disabled:" : "Disse ikke-kompatible appene vil bli deaktivert:", "The theme %s has been disabled." : "Temaet %s har blitt deaktivert.", "Please make sure that the database, the config folder and the data folder have been backed up before proceeding." : "Forsikre deg om at databasen, config-mappen og datamappen er blitt sikkerhetskopiert før du fortsetter.", "Start update" : "Start oppdatering", diff --git a/core/l10n/pt_PT.js b/core/l10n/pt_PT.js index 8fa20c8e024..a5c899a5986 100644 --- a/core/l10n/pt_PT.js +++ b/core/l10n/pt_PT.js @@ -2,6 +2,7 @@ OC.L10N.register( "core", { "Couldn't send mail to following users: %s " : "Não foi possível enviar a mensagem para os seguintes utilizadores: %s", + "Preparing update" : "A preparar atualização", "Turned on maintenance mode" : "Ativado o modo de manutenção", "Turned off maintenance mode" : "Desativado o modo de manutenção", "Maintenance mode is kept active" : "O modo de manutenção é mantido ativo", @@ -13,6 +14,7 @@ OC.L10N.register( "Repair error: " : "Corrija o erro:", "Following incompatible apps have been disabled: %s" : "As seguintes apps incompatíveis foram desativadas: %s", "Following apps have been disabled: %s" : "As seguintes apps foram desativadas: %s", + "Already up to date" : "Já está atualizado", "File is too big" : "O ficheiro é muito grande", "Invalid file provided" : "Ficheiro indicado inválido", "No image or file provided" : "Não foi fornecido nenhum ficheiro ou imagem", @@ -36,6 +38,13 @@ OC.L10N.register( "Thu." : "Qui.", "Fri." : "Sex.", "Sat." : "Sáb.", + "Su" : "Dom", + "Mo" : "Seg", + "Tu" : "Ter", + "We" : "Qua", + "Th" : "Qui", + "Fr" : "Sex", + "Sa" : "Sáb", "January" : "Janeiro", "February" : "Fevereiro", "March" : "Março", @@ -159,6 +168,7 @@ OC.L10N.register( "The update was successful. There were warnings." : "A atualização foi bem sucedida. Tem alguns avisos.", "The update was successful. Redirecting you to ownCloud now." : "A actualização foi concluída com sucesso. Vai ser redireccionado para o ownCloud agora.", "Couldn't reset password because the token is invalid" : "Não foi possível repor a palavra-passe porque a senha é inválida", + "Couldn't reset password because the token is expired" : "Não foi possível repor a palavra-passe porque a senha expirou", "Couldn't send reset email. Please make sure your username is correct." : "Ocorreu um problema com o envio do e-mail, por favor confirme o seu utilizador.", "Couldn't send reset email because there is no email address for this username. Please contact your administrator." : "Ocorreu um problema com o envio do e-mail, por favor contacte o administrador.", "%s password reset" : "%s reposição da palavra-passe", diff --git a/core/l10n/pt_PT.json b/core/l10n/pt_PT.json index e528b7c776d..736490eb273 100644 --- a/core/l10n/pt_PT.json +++ b/core/l10n/pt_PT.json @@ -1,5 +1,6 @@ { "translations": { "Couldn't send mail to following users: %s " : "Não foi possível enviar a mensagem para os seguintes utilizadores: %s", + "Preparing update" : "A preparar atualização", "Turned on maintenance mode" : "Ativado o modo de manutenção", "Turned off maintenance mode" : "Desativado o modo de manutenção", "Maintenance mode is kept active" : "O modo de manutenção é mantido ativo", @@ -11,6 +12,7 @@ "Repair error: " : "Corrija o erro:", "Following incompatible apps have been disabled: %s" : "As seguintes apps incompatíveis foram desativadas: %s", "Following apps have been disabled: %s" : "As seguintes apps foram desativadas: %s", + "Already up to date" : "Já está atualizado", "File is too big" : "O ficheiro é muito grande", "Invalid file provided" : "Ficheiro indicado inválido", "No image or file provided" : "Não foi fornecido nenhum ficheiro ou imagem", @@ -34,6 +36,13 @@ "Thu." : "Qui.", "Fri." : "Sex.", "Sat." : "Sáb.", + "Su" : "Dom", + "Mo" : "Seg", + "Tu" : "Ter", + "We" : "Qua", + "Th" : "Qui", + "Fr" : "Sex", + "Sa" : "Sáb", "January" : "Janeiro", "February" : "Fevereiro", "March" : "Março", @@ -157,6 +166,7 @@ "The update was successful. There were warnings." : "A atualização foi bem sucedida. Tem alguns avisos.", "The update was successful. Redirecting you to ownCloud now." : "A actualização foi concluída com sucesso. Vai ser redireccionado para o ownCloud agora.", "Couldn't reset password because the token is invalid" : "Não foi possível repor a palavra-passe porque a senha é inválida", + "Couldn't reset password because the token is expired" : "Não foi possível repor a palavra-passe porque a senha expirou", "Couldn't send reset email. Please make sure your username is correct." : "Ocorreu um problema com o envio do e-mail, por favor confirme o seu utilizador.", "Couldn't send reset email because there is no email address for this username. Please contact your administrator." : "Ocorreu um problema com o envio do e-mail, por favor contacte o administrador.", "%s password reset" : "%s reposição da palavra-passe", diff --git a/core/register_command.php b/core/register_command.php index 72c7b28e9ae..d3c04ad0671 100644 --- a/core/register_command.php +++ b/core/register_command.php @@ -79,7 +79,8 @@ if (\OC::$server->getConfig()->getSystemValue('installed', false)) { ); $application->add(new OC\Core\Command\Encryption\ShowKeyStorageRoot($util)); - $application->add(new OC\Core\Command\Maintenance\MimeTypesJS()); + $application->add(new OC\Core\Command\Maintenance\Mimetype\UpdateDB(\OC::$server->getMimeTypeDetector(), \OC::$server->getMimeTypeLoader())); + $application->add(new OC\Core\Command\Maintenance\Mimetype\UpdateJS(\OC::$server->getMimeTypeDetector())); $application->add(new OC\Core\Command\Maintenance\Mode(\OC::$server->getConfig())); $application->add(new OC\Core\Command\Maintenance\Repair(new \OC\Repair(\OC\Repair::getRepairSteps()), \OC::$server->getConfig())); $application->add(new OC\Core\Command\Maintenance\SingleUser(\OC::$server->getConfig())); diff --git a/core/templates/layout.base.php b/core/templates/layout.base.php index 43d692c0364..b01820a05bb 100644 --- a/core/templates/layout.base.php +++ b/core/templates/layout.base.php @@ -8,6 +8,7 @@ <?php p($theme->getTitle()); ?> </title> <meta http-equiv="X-UA-Compatible" content="IE=edge"> + <meta name="referrer" content="never"> <meta name="viewport" content="width=device-width, minimum-scale=1.0, maximum-scale=1.0"> <meta name="theme-color" content="<?php p($theme->getMailHeaderColor()); ?>"> <link rel="shortcut icon" type="image/png" href="<?php print_unescaped(image_path('', 'favicon.png')); ?>"> diff --git a/core/templates/layout.guest.php b/core/templates/layout.guest.php index 0fd7521271d..56b762d3266 100644 --- a/core/templates/layout.guest.php +++ b/core/templates/layout.guest.php @@ -8,6 +8,7 @@ <?php p($theme->getTitle()); ?> </title> <meta http-equiv="X-UA-Compatible" content="IE=edge"> + <meta name="referrer" content="never"> <meta name="viewport" content="width=device-width, minimum-scale=1.0, maximum-scale=1.0"> <meta name="apple-itunes-app" content="app-id=<?php p($theme->getiTunesAppId()); ?>"> <meta name="theme-color" content="<?php p($theme->getMailHeaderColor()); ?>"> diff --git a/core/templates/layout.user.php b/core/templates/layout.user.php index 59fced353d1..0910047032d 100644 --- a/core/templates/layout.user.php +++ b/core/templates/layout.user.php @@ -15,6 +15,7 @@ ?> </title> <meta http-equiv="X-UA-Compatible" content="IE=edge"> + <meta name="referrer" content="never"> <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0"> <meta name="apple-itunes-app" content="app-id=<?php p($theme->getiTunesAppId()); ?>"> <meta name="apple-mobile-web-app-capable" content="yes"> diff --git a/lib/autoloader.php b/lib/autoloader.php index d7649781ea1..41a040b3f54 100644 --- a/lib/autoloader.php +++ b/lib/autoloader.php @@ -27,6 +27,8 @@ namespace OC; +use \OCP\AutoloadNotAllowedException; + class Autoloader { private $useGlobalClassPath = true; @@ -58,7 +60,7 @@ class Autoloader { * @param string $root */ public function addValidRoot($root) { - $this->validRoots[] = $root; + $this->validRoots[] = stream_resolve_include_path($root); } /** @@ -129,7 +131,7 @@ class Autoloader { return true; } } - throw new \Exception('Path not allowed: '. $fullPath); + throw new AutoloadNotAllowedException($fullPath); } /** diff --git a/lib/base.php b/lib/base.php index 63aad4518ab..5f8a7ed0f19 100644 --- a/lib/base.php +++ b/lib/base.php @@ -552,10 +552,6 @@ class OC { exit(); } - foreach(OC::$APPSROOTS as $appRoot) { - self::$loader->addValidRoot($appRoot['path']); - } - // setup the basic server self::$server = new \OC\Server(\OC::$WEBROOT); \OC::$server->getEventLogger()->log('autoloader', 'Autoloader', $loaderStart, $loaderEnd); @@ -1119,27 +1115,16 @@ class OC { } return true; } -} -if (!function_exists('get_temp_dir')) { /** * Get the temporary dir to store uploaded data * @return null|string Path to the temporary directory or null */ function get_temp_dir() { - if ($temp = ini_get('upload_tmp_dir')) return $temp; - if ($temp = getenv('TMP')) return $temp; - if ($temp = getenv('TEMP')) return $temp; - if ($temp = getenv('TMPDIR')) return $temp; - $temp = tempnam(__FILE__, ''); - if (file_exists($temp)) { - unlink($temp); - return dirname($temp); - } - if ($temp = sys_get_temp_dir()) return $temp; - - return null; + return \OC::$server->getTempManager()->t_get_temp_dir(); } + } + OC::init(); diff --git a/lib/l10n/cs_CZ.js b/lib/l10n/cs_CZ.js index 715b834d2bf..65ff43b4f23 100644 --- a/lib/l10n/cs_CZ.js +++ b/lib/l10n/cs_CZ.js @@ -91,6 +91,7 @@ OC.L10N.register( "Sharing %s failed, because the user %s does not exist" : "Sdílení položky %s selhalo, protože uživatel %s neexistuje", "Sharing %s failed, because the user %s is not a member of any groups that %s is a member of" : "Sdílení položky %s selhalo, protože uživatel %s není členem žádné skupiny společné s uživatelem %s", "Sharing %s failed, because this item is already shared with %s" : "Sdílení položky %s selhalo, protože položka již je s uživatelem %s sdílena", + "Sharing %s failed, because this item is already shared with user %s" : "Sdílení položky %s selhalo, protože ta je již s uživatelem %s sdílena", "Sharing %s failed, because the group %s does not exist" : "Sdílení položky %s selhalo, protože skupina %s neexistuje", "Sharing %s failed, because %s is not a member of the group %s" : "Sdílení položky %s selhalo, protože uživatel %s není členem skupiny %s", "You need to provide a password to create a public link, only protected links are allowed" : "Pro vytvoření veřejného odkazu je nutné zadat heslo, jsou povoleny pouze chráněné odkazy", diff --git a/lib/l10n/cs_CZ.json b/lib/l10n/cs_CZ.json index 891b30850ab..501210dd0f8 100644 --- a/lib/l10n/cs_CZ.json +++ b/lib/l10n/cs_CZ.json @@ -89,6 +89,7 @@ "Sharing %s failed, because the user %s does not exist" : "Sdílení položky %s selhalo, protože uživatel %s neexistuje", "Sharing %s failed, because the user %s is not a member of any groups that %s is a member of" : "Sdílení položky %s selhalo, protože uživatel %s není členem žádné skupiny společné s uživatelem %s", "Sharing %s failed, because this item is already shared with %s" : "Sdílení položky %s selhalo, protože položka již je s uživatelem %s sdílena", + "Sharing %s failed, because this item is already shared with user %s" : "Sdílení položky %s selhalo, protože ta je již s uživatelem %s sdílena", "Sharing %s failed, because the group %s does not exist" : "Sdílení položky %s selhalo, protože skupina %s neexistuje", "Sharing %s failed, because %s is not a member of the group %s" : "Sdílení položky %s selhalo, protože uživatel %s není členem skupiny %s", "You need to provide a password to create a public link, only protected links are allowed" : "Pro vytvoření veřejného odkazu je nutné zadat heslo, jsou povoleny pouze chráněné odkazy", diff --git a/lib/l10n/da.js b/lib/l10n/da.js index 42f367d21c2..285e9ac55d1 100644 --- a/lib/l10n/da.js +++ b/lib/l10n/da.js @@ -91,6 +91,7 @@ OC.L10N.register( "Sharing %s failed, because the user %s does not exist" : "Der skete en fejl ved deling af %s, brugeren %s eksistere ikke", "Sharing %s failed, because the user %s is not a member of any groups that %s is a member of" : "Der skete en fejl ved deling af %s, brugeren %s er ikke medlem af nogle grupper som %s er medlem af", "Sharing %s failed, because this item is already shared with %s" : "Der skete en fejl ved deling af %s, objektet er allerede delt med %s", + "Sharing %s failed, because this item is already shared with user %s" : "Deling af %s mislykkedes, fordi dette element allerede er delt med brugeren %s", "Sharing %s failed, because the group %s does not exist" : "Der skete en fejl ved deling af %s, gruppen %s eksistere ikke", "Sharing %s failed, because %s is not a member of the group %s" : "Der skete en fejl ved deling af %s, fordi %s ikke er medlem af gruppen %s", "You need to provide a password to create a public link, only protected links are allowed" : "Du skal angive et kodeord for at oprette et offentligt link - kun beskyttede links er tilladt", @@ -131,7 +132,7 @@ OC.L10N.register( "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", + "To fix this issue set <code>mbstring.func_overload</code> to <code>0</code> in your php.ini" : "For at rette dette problem, 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?", diff --git a/lib/l10n/da.json b/lib/l10n/da.json index 0e20adc31bf..1b9ed304596 100644 --- a/lib/l10n/da.json +++ b/lib/l10n/da.json @@ -89,6 +89,7 @@ "Sharing %s failed, because the user %s does not exist" : "Der skete en fejl ved deling af %s, brugeren %s eksistere ikke", "Sharing %s failed, because the user %s is not a member of any groups that %s is a member of" : "Der skete en fejl ved deling af %s, brugeren %s er ikke medlem af nogle grupper som %s er medlem af", "Sharing %s failed, because this item is already shared with %s" : "Der skete en fejl ved deling af %s, objektet er allerede delt med %s", + "Sharing %s failed, because this item is already shared with user %s" : "Deling af %s mislykkedes, fordi dette element allerede er delt med brugeren %s", "Sharing %s failed, because the group %s does not exist" : "Der skete en fejl ved deling af %s, gruppen %s eksistere ikke", "Sharing %s failed, because %s is not a member of the group %s" : "Der skete en fejl ved deling af %s, fordi %s ikke er medlem af gruppen %s", "You need to provide a password to create a public link, only protected links are allowed" : "Du skal angive et kodeord for at oprette et offentligt link - kun beskyttede links er tilladt", @@ -129,7 +130,7 @@ "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", + "To fix this issue set <code>mbstring.func_overload</code> to <code>0</code> in your php.ini" : "For at rette dette problem, 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?", diff --git a/lib/l10n/el.js b/lib/l10n/el.js index b47cc7e36d2..ee9ad8efd42 100644 --- a/lib/l10n/el.js +++ b/lib/l10n/el.js @@ -88,6 +88,7 @@ OC.L10N.register( "Sharing %s failed, because the user %s does not exist" : "Ο διαμοιρασμός του %s απέτυχε, γιατί ο χρήστης %s δεν υπάρχει", "Sharing %s failed, because the user %s is not a member of any groups that %s is a member of" : "Ο διαμοιρασμός του %s απέτυχε, γιατί ο χρήστης %s δεν είναι μέλος καμίας ομάδας στην οποία ο χρήστης %s είναι μέλος", "Sharing %s failed, because this item is already shared with %s" : "Ο διαμοιρασμός του %s απέτυχε, γιατί το αντικείμενο είναι διαμοιρασμένο ήδη με τον χρήστη %s", + "Sharing %s failed, because this item is already shared with user %s" : "Αποτυχία διαμοιρασμού με %s, διότι αυτό το αντικείμενο διαμοιράζεται ήδη με τον χρήστη %s", "Sharing %s failed, because the group %s does not exist" : "Ο διαμοιρασμός του %s απέτυχε, γιατί η ομάδα χρηστών %s δεν υπάρχει", "Sharing %s failed, because %s is not a member of the group %s" : "Ο διαμοιρασμός του %s απέτυχε, γιατί ο χρήστης %s δεν είναι μέλος της ομάδας %s", "You need to provide a password to create a public link, only protected links are allowed" : "Πρέπει να εισάγετε έναν κωδικό για να δημιουργήσετε έναν δημόσιο σύνδεσμο. Μόνο προστατευμένοι σύνδεσμοι επιτρέπονται", diff --git a/lib/l10n/el.json b/lib/l10n/el.json index d82aec00129..d0235598f7e 100644 --- a/lib/l10n/el.json +++ b/lib/l10n/el.json @@ -86,6 +86,7 @@ "Sharing %s failed, because the user %s does not exist" : "Ο διαμοιρασμός του %s απέτυχε, γιατί ο χρήστης %s δεν υπάρχει", "Sharing %s failed, because the user %s is not a member of any groups that %s is a member of" : "Ο διαμοιρασμός του %s απέτυχε, γιατί ο χρήστης %s δεν είναι μέλος καμίας ομάδας στην οποία ο χρήστης %s είναι μέλος", "Sharing %s failed, because this item is already shared with %s" : "Ο διαμοιρασμός του %s απέτυχε, γιατί το αντικείμενο είναι διαμοιρασμένο ήδη με τον χρήστη %s", + "Sharing %s failed, because this item is already shared with user %s" : "Αποτυχία διαμοιρασμού με %s, διότι αυτό το αντικείμενο διαμοιράζεται ήδη με τον χρήστη %s", "Sharing %s failed, because the group %s does not exist" : "Ο διαμοιρασμός του %s απέτυχε, γιατί η ομάδα χρηστών %s δεν υπάρχει", "Sharing %s failed, because %s is not a member of the group %s" : "Ο διαμοιρασμός του %s απέτυχε, γιατί ο χρήστης %s δεν είναι μέλος της ομάδας %s", "You need to provide a password to create a public link, only protected links are allowed" : "Πρέπει να εισάγετε έναν κωδικό για να δημιουργήσετε έναν δημόσιο σύνδεσμο. Μόνο προστατευμένοι σύνδεσμοι επιτρέπονται", diff --git a/lib/l10n/es.js b/lib/l10n/es.js index e08ed66f1b5..3f1d751fc1e 100644 --- a/lib/l10n/es.js +++ b/lib/l10n/es.js @@ -91,6 +91,7 @@ OC.L10N.register( "Sharing %s failed, because the user %s does not exist" : "Se ha fallado al compartir %s, ya que el usuario %s no existe", "Sharing %s failed, because the user %s is not a member of any groups that %s is a member of" : "Se ha fallado al compartir %s, ya que el usuario %s no es miembro de ningún grupo del que %s sea miembro", "Sharing %s failed, because this item is already shared with %s" : "Se falló al compartir %s, ya que este elemento ya está compartido con %s", + "Sharing %s failed, because this item is already shared with user %s" : "Compartiendo %s falló, porque este objeto ya se comparte con el usuario %s", "Sharing %s failed, because the group %s does not exist" : "Se falló al compartir %s, ya que el grupo %s no existe", "Sharing %s failed, because %s is not a member of the group %s" : "Se falló al compartir %s, ya que %s no es miembro del grupo %s", "You need to provide a password to create a public link, only protected links are allowed" : "Es necesario definir una contraseña para crear un enlace publico. Solo los enlaces protegidos están permitidos", diff --git a/lib/l10n/es.json b/lib/l10n/es.json index f9bca103231..75b8060b819 100644 --- a/lib/l10n/es.json +++ b/lib/l10n/es.json @@ -89,6 +89,7 @@ "Sharing %s failed, because the user %s does not exist" : "Se ha fallado al compartir %s, ya que el usuario %s no existe", "Sharing %s failed, because the user %s is not a member of any groups that %s is a member of" : "Se ha fallado al compartir %s, ya que el usuario %s no es miembro de ningún grupo del que %s sea miembro", "Sharing %s failed, because this item is already shared with %s" : "Se falló al compartir %s, ya que este elemento ya está compartido con %s", + "Sharing %s failed, because this item is already shared with user %s" : "Compartiendo %s falló, porque este objeto ya se comparte con el usuario %s", "Sharing %s failed, because the group %s does not exist" : "Se falló al compartir %s, ya que el grupo %s no existe", "Sharing %s failed, because %s is not a member of the group %s" : "Se falló al compartir %s, ya que %s no es miembro del grupo %s", "You need to provide a password to create a public link, only protected links are allowed" : "Es necesario definir una contraseña para crear un enlace publico. Solo los enlaces protegidos están permitidos", diff --git a/lib/l10n/fi_FI.js b/lib/l10n/fi_FI.js index d82d26645db..6960162e0ab 100644 --- a/lib/l10n/fi_FI.js +++ b/lib/l10n/fi_FI.js @@ -82,6 +82,7 @@ OC.L10N.register( "Sharing %s failed, because the user %s is the item owner" : "Kohteen %s jakaminen epäonnistui, koska käyttäjä %s on kohteen omistaja", "Sharing %s failed, because the user %s does not exist" : "Kohteen %s jakaminen epäonnistui, koska käyttäjää %s ei ole olemassa", "Sharing %s failed, because this item is already shared with %s" : "Kohteen %s jakaminen epäonnistui, koska kohde on jo jaettu käyttäjän %s kanssa", + "Sharing %s failed, because this item is already shared with user %s" : "Kohteen %s jakaminen epäonnistui, koska kohde on jo jaettu käyttäjän %s kanssa", "Sharing %s failed, because the group %s does not exist" : "Kohteen %s jakaminen epäonnistui, koska ryhmää %s ei ole olemassa", "Sharing %s failed, because %s is not a member of the group %s" : "Kohteen %s jakaminen epäonnistui, koska käyttäjä %s ei ole ryhmän %s jäsen", "You need to provide a password to create a public link, only protected links are allowed" : "Anna salasana luodaksesi julkisen linkin. Vain suojatut linkit ovat sallittuja", diff --git a/lib/l10n/fi_FI.json b/lib/l10n/fi_FI.json index de6d474e467..7d23189b358 100644 --- a/lib/l10n/fi_FI.json +++ b/lib/l10n/fi_FI.json @@ -80,6 +80,7 @@ "Sharing %s failed, because the user %s is the item owner" : "Kohteen %s jakaminen epäonnistui, koska käyttäjä %s on kohteen omistaja", "Sharing %s failed, because the user %s does not exist" : "Kohteen %s jakaminen epäonnistui, koska käyttäjää %s ei ole olemassa", "Sharing %s failed, because this item is already shared with %s" : "Kohteen %s jakaminen epäonnistui, koska kohde on jo jaettu käyttäjän %s kanssa", + "Sharing %s failed, because this item is already shared with user %s" : "Kohteen %s jakaminen epäonnistui, koska kohde on jo jaettu käyttäjän %s kanssa", "Sharing %s failed, because the group %s does not exist" : "Kohteen %s jakaminen epäonnistui, koska ryhmää %s ei ole olemassa", "Sharing %s failed, because %s is not a member of the group %s" : "Kohteen %s jakaminen epäonnistui, koska käyttäjä %s ei ole ryhmän %s jäsen", "You need to provide a password to create a public link, only protected links are allowed" : "Anna salasana luodaksesi julkisen linkin. Vain suojatut linkit ovat sallittuja", diff --git a/lib/l10n/fr.js b/lib/l10n/fr.js index 873abd44ad0..d0abd693e0c 100644 --- a/lib/l10n/fr.js +++ b/lib/l10n/fr.js @@ -90,6 +90,7 @@ OC.L10N.register( "Sharing %s failed, because the user %s does not exist" : "Le partage de %s a échoué car l'utilisateur %s n'existe pas", "Sharing %s failed, because the user %s is not a member of any groups that %s is a member of" : "Le partage de %s a échoué car l'utilisateur %s n'est membre d'aucun groupe auquel %s appartient", "Sharing %s failed, because this item is already shared with %s" : "Le partage de %s a échoué car cet objet est déjà partagé avec %s", + "Sharing %s failed, because this item is already shared with user %s" : "Le partage de %s a échoué car cet élément est déjà partagé avec l'utilisateur %s", "Sharing %s failed, because the group %s does not exist" : "Le partage de %s a échoué car le groupe %s n'existe pas", "Sharing %s failed, because %s is not a member of the group %s" : "Le partage de %s a échoué car %s n'est pas membre du groupe %s", "You need to provide a password to create a public link, only protected links are allowed" : "Vous devez fournir un mot de passe pour créer un lien public, seuls les liens protégés sont autorisées.", diff --git a/lib/l10n/fr.json b/lib/l10n/fr.json index 440f2ddd84d..d0a90797df9 100644 --- a/lib/l10n/fr.json +++ b/lib/l10n/fr.json @@ -88,6 +88,7 @@ "Sharing %s failed, because the user %s does not exist" : "Le partage de %s a échoué car l'utilisateur %s n'existe pas", "Sharing %s failed, because the user %s is not a member of any groups that %s is a member of" : "Le partage de %s a échoué car l'utilisateur %s n'est membre d'aucun groupe auquel %s appartient", "Sharing %s failed, because this item is already shared with %s" : "Le partage de %s a échoué car cet objet est déjà partagé avec %s", + "Sharing %s failed, because this item is already shared with user %s" : "Le partage de %s a échoué car cet élément est déjà partagé avec l'utilisateur %s", "Sharing %s failed, because the group %s does not exist" : "Le partage de %s a échoué car le groupe %s n'existe pas", "Sharing %s failed, because %s is not a member of the group %s" : "Le partage de %s a échoué car %s n'est pas membre du groupe %s", "You need to provide a password to create a public link, only protected links are allowed" : "Vous devez fournir un mot de passe pour créer un lien public, seuls les liens protégés sont autorisées.", diff --git a/lib/l10n/id.js b/lib/l10n/id.js index 2114b34eddd..0de6a4124fb 100644 --- a/lib/l10n/id.js +++ b/lib/l10n/id.js @@ -91,6 +91,7 @@ OC.L10N.register( "Sharing %s failed, because the user %s does not exist" : "Gagal membagikan %s, karena pengguna %s tidak ada", "Sharing %s failed, because the user %s is not a member of any groups that %s is a member of" : "Gagal membagikan %s, karena pengguna %s bukan merupakan anggota dari grup yang %s ikuti", "Sharing %s failed, because this item is already shared with %s" : "Gagal membagkan %s, karena item ini sudah dibagikan dengan %s", + "Sharing %s failed, because this item is already shared with user %s" : "Berbagi %s gagal karena item ini sudah dibagikan dengan pengguna %s", "Sharing %s failed, because the group %s does not exist" : "Gagal membagikan %s, karena grup %s tidak ada", "Sharing %s failed, because %s is not a member of the group %s" : "Gagal membagikan %s, karena %s bukan anggota dari grup %s", "You need to provide a password to create a public link, only protected links are allowed" : "Anda perlu memberikan sandi untuk membuat tautan publik, hanya tautan yang terlindungi yang diizinkan", diff --git a/lib/l10n/id.json b/lib/l10n/id.json index cdc17b6ce8e..e1b3a9f93b0 100644 --- a/lib/l10n/id.json +++ b/lib/l10n/id.json @@ -89,6 +89,7 @@ "Sharing %s failed, because the user %s does not exist" : "Gagal membagikan %s, karena pengguna %s tidak ada", "Sharing %s failed, because the user %s is not a member of any groups that %s is a member of" : "Gagal membagikan %s, karena pengguna %s bukan merupakan anggota dari grup yang %s ikuti", "Sharing %s failed, because this item is already shared with %s" : "Gagal membagkan %s, karena item ini sudah dibagikan dengan %s", + "Sharing %s failed, because this item is already shared with user %s" : "Berbagi %s gagal karena item ini sudah dibagikan dengan pengguna %s", "Sharing %s failed, because the group %s does not exist" : "Gagal membagikan %s, karena grup %s tidak ada", "Sharing %s failed, because %s is not a member of the group %s" : "Gagal membagikan %s, karena %s bukan anggota dari grup %s", "You need to provide a password to create a public link, only protected links are allowed" : "Anda perlu memberikan sandi untuk membuat tautan publik, hanya tautan yang terlindungi yang diizinkan", diff --git a/lib/l10n/it.js b/lib/l10n/it.js index d0c0022fd06..d0cf725013b 100644 --- a/lib/l10n/it.js +++ b/lib/l10n/it.js @@ -91,6 +91,7 @@ OC.L10N.register( "Sharing %s failed, because the user %s does not exist" : "Condivisione di %s non riuscita, poiché l'utente %s non esiste", "Sharing %s failed, because the user %s is not a member of any groups that %s is a member of" : "Condivisione di %s non riuscita, poiché l'utente %s non appartiene ad alcun gruppo di cui %s è membro", "Sharing %s failed, because this item is already shared with %s" : "Condivisione di %s non riuscita, poiché l'oggetto è già condiviso con %s", + "Sharing %s failed, because this item is already shared with user %s" : "Condivisione di %s non riuscita, poiché l'oggetto è già condiviso con l'utente %s", "Sharing %s failed, because the group %s does not exist" : "Condivisione di %s non riuscita, poiché il gruppo %s non esiste", "Sharing %s failed, because %s is not a member of the group %s" : "Condivisione di %s non riuscita, poiché %s non appartiene al gruppo %s", "You need to provide a password to create a public link, only protected links are allowed" : "Devi fornire una password per creare un collegamento pubblico, sono consentiti solo i collegamenti protetti", diff --git a/lib/l10n/it.json b/lib/l10n/it.json index 1183b588eb2..81038c0e425 100644 --- a/lib/l10n/it.json +++ b/lib/l10n/it.json @@ -89,6 +89,7 @@ "Sharing %s failed, because the user %s does not exist" : "Condivisione di %s non riuscita, poiché l'utente %s non esiste", "Sharing %s failed, because the user %s is not a member of any groups that %s is a member of" : "Condivisione di %s non riuscita, poiché l'utente %s non appartiene ad alcun gruppo di cui %s è membro", "Sharing %s failed, because this item is already shared with %s" : "Condivisione di %s non riuscita, poiché l'oggetto è già condiviso con %s", + "Sharing %s failed, because this item is already shared with user %s" : "Condivisione di %s non riuscita, poiché l'oggetto è già condiviso con l'utente %s", "Sharing %s failed, because the group %s does not exist" : "Condivisione di %s non riuscita, poiché il gruppo %s non esiste", "Sharing %s failed, because %s is not a member of the group %s" : "Condivisione di %s non riuscita, poiché %s non appartiene al gruppo %s", "You need to provide a password to create a public link, only protected links are allowed" : "Devi fornire una password per creare un collegamento pubblico, sono consentiti solo i collegamenti protetti", diff --git a/lib/l10n/ko.js b/lib/l10n/ko.js index a2ec230d59f..bb143bdd527 100644 --- a/lib/l10n/ko.js +++ b/lib/l10n/ko.js @@ -49,6 +49,7 @@ OC.L10N.register( "Can't read file" : "파일을 읽을 수 없음", "App directory already exists" : "앱 디렉터리가 이미 존재합니다.", "Can't create app folder. Please fix permissions. %s" : "앱 폴더를 만들 수 없습니다. 권한을 수정하십시오. %s", + "Archive does not contain a directory named %s" : "압축 파일에 디렉터리 %s이(가) 없습니다", "No source specified when installing app" : "앱을 설치할 때 소스가 지정되지 않았습니다.", "No href specified when installing app from http" : "http에서 앱을 설치할 때 href가 지정되지 않았습니다.", "No path specified when installing app from local file" : "로컬 파일에서 앱을 설치할 때 경로가 지정되지 않았습니다.", @@ -90,6 +91,7 @@ OC.L10N.register( "Sharing %s failed, because the user %s does not exist" : "%s을(를) 공유할 수 없습니다. 사용자 %s이(가) 존재하지 않습니다", "Sharing %s failed, because the user %s is not a member of any groups that %s is a member of" : "%s을(를) 공유할 수 없습니다. 사용자 %s 님은 %s 님이 회원인 어떠한 그룹에도 속해 있지 않습니다", "Sharing %s failed, because this item is already shared with %s" : "%s을(를) 공유할 수 없습니다. 이미 %s 님과 공유되어 있습니다", + "Sharing %s failed, because this item is already shared with user %s" : "%s을(를) 공유할 수 없습니다. 이 항목을 이미 %s 님과 공유하고 있습니다", "Sharing %s failed, because the group %s does not exist" : "%s을(를) 공유할 수 없습니다. 그룹 %s이(가) 존재하지 않습니다", "Sharing %s failed, because %s is not a member of the group %s" : "%s을(를) 공유할 수 없습니다. %s 님이 그룹 %s의 구성원이 아닙니다", "You need to provide a password to create a public link, only protected links are allowed" : "공개 링크를 만들려면 암호를 입력해야 합니다. 보호된 링크만 사용 가능합니다", diff --git a/lib/l10n/ko.json b/lib/l10n/ko.json index fa52b9a8f05..8fea07402ca 100644 --- a/lib/l10n/ko.json +++ b/lib/l10n/ko.json @@ -47,6 +47,7 @@ "Can't read file" : "파일을 읽을 수 없음", "App directory already exists" : "앱 디렉터리가 이미 존재합니다.", "Can't create app folder. Please fix permissions. %s" : "앱 폴더를 만들 수 없습니다. 권한을 수정하십시오. %s", + "Archive does not contain a directory named %s" : "압축 파일에 디렉터리 %s이(가) 없습니다", "No source specified when installing app" : "앱을 설치할 때 소스가 지정되지 않았습니다.", "No href specified when installing app from http" : "http에서 앱을 설치할 때 href가 지정되지 않았습니다.", "No path specified when installing app from local file" : "로컬 파일에서 앱을 설치할 때 경로가 지정되지 않았습니다.", @@ -88,6 +89,7 @@ "Sharing %s failed, because the user %s does not exist" : "%s을(를) 공유할 수 없습니다. 사용자 %s이(가) 존재하지 않습니다", "Sharing %s failed, because the user %s is not a member of any groups that %s is a member of" : "%s을(를) 공유할 수 없습니다. 사용자 %s 님은 %s 님이 회원인 어떠한 그룹에도 속해 있지 않습니다", "Sharing %s failed, because this item is already shared with %s" : "%s을(를) 공유할 수 없습니다. 이미 %s 님과 공유되어 있습니다", + "Sharing %s failed, because this item is already shared with user %s" : "%s을(를) 공유할 수 없습니다. 이 항목을 이미 %s 님과 공유하고 있습니다", "Sharing %s failed, because the group %s does not exist" : "%s을(를) 공유할 수 없습니다. 그룹 %s이(가) 존재하지 않습니다", "Sharing %s failed, because %s is not a member of the group %s" : "%s을(를) 공유할 수 없습니다. %s 님이 그룹 %s의 구성원이 아닙니다", "You need to provide a password to create a public link, only protected links are allowed" : "공개 링크를 만들려면 암호를 입력해야 합니다. 보호된 링크만 사용 가능합니다", diff --git a/lib/l10n/nb_NO.js b/lib/l10n/nb_NO.js index d09fa5ca6e8..af629c5ef34 100644 --- a/lib/l10n/nb_NO.js +++ b/lib/l10n/nb_NO.js @@ -49,6 +49,7 @@ OC.L10N.register( "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", + "Archive does not contain a directory named %s" : "Arkivet inneholder ikke en mappe med navn %s", "No source specified when installing app" : "Ingen kilde spesifisert ved installering av app", "No href specified when installing app from http" : "Ingen href spesifisert ved installering av app fra http", "No path specified when installing app from local file" : "Ingen sti spesifisert ved installering av app fra lokal fil", @@ -90,6 +91,7 @@ OC.L10N.register( "Sharing %s failed, because the user %s does not exist" : "Deling av %s feilet, fordi brukeren %s ikke finnes", "Sharing %s failed, because the user %s is not a member of any groups that %s is a member of" : "Deling av %s feilet, fordi brukeren %s ikke er medlem av noen grupper som %s er medlem av", "Sharing %s failed, because this item is already shared with %s" : "Deling av %s feilet, fordi dette elementet allerede er delt med %s", + "Sharing %s failed, because this item is already shared with user %s" : "Deling av %s feilet, fordi dette elementet allerede er delt med bruker %s", "Sharing %s failed, because the group %s does not exist" : "Deling av %s feilet, fordi gruppen %s ikke finnes", "Sharing %s failed, because %s is not a member of the group %s" : "Deling av %s feilet, fordi %s ikke er medlem av gruppen %s", "You need to provide a password to create a public link, only protected links are allowed" : "Du må oppgi et passord for å lage en offentlig lenke. Bare beskyttede lenker er tillatt", diff --git a/lib/l10n/nb_NO.json b/lib/l10n/nb_NO.json index 665ae866969..29f9e7f1365 100644 --- a/lib/l10n/nb_NO.json +++ b/lib/l10n/nb_NO.json @@ -47,6 +47,7 @@ "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", + "Archive does not contain a directory named %s" : "Arkivet inneholder ikke en mappe med navn %s", "No source specified when installing app" : "Ingen kilde spesifisert ved installering av app", "No href specified when installing app from http" : "Ingen href spesifisert ved installering av app fra http", "No path specified when installing app from local file" : "Ingen sti spesifisert ved installering av app fra lokal fil", @@ -88,6 +89,7 @@ "Sharing %s failed, because the user %s does not exist" : "Deling av %s feilet, fordi brukeren %s ikke finnes", "Sharing %s failed, because the user %s is not a member of any groups that %s is a member of" : "Deling av %s feilet, fordi brukeren %s ikke er medlem av noen grupper som %s er medlem av", "Sharing %s failed, because this item is already shared with %s" : "Deling av %s feilet, fordi dette elementet allerede er delt med %s", + "Sharing %s failed, because this item is already shared with user %s" : "Deling av %s feilet, fordi dette elementet allerede er delt med bruker %s", "Sharing %s failed, because the group %s does not exist" : "Deling av %s feilet, fordi gruppen %s ikke finnes", "Sharing %s failed, because %s is not a member of the group %s" : "Deling av %s feilet, fordi %s ikke er medlem av gruppen %s", "You need to provide a password to create a public link, only protected links are allowed" : "Du må oppgi et passord for å lage en offentlig lenke. Bare beskyttede lenker er tillatt", diff --git a/lib/l10n/nl.js b/lib/l10n/nl.js index d08e8294dfb..5abae786d34 100644 --- a/lib/l10n/nl.js +++ b/lib/l10n/nl.js @@ -91,6 +91,7 @@ OC.L10N.register( "Sharing %s failed, because the user %s does not exist" : "Delen van %s is mislukt, omdat gebruiker %s niet bestaat", "Sharing %s failed, because the user %s is not a member of any groups that %s is a member of" : "Delen van %s is mislukt, omdat gebruiker %s geen lid is van een groep waar %s lid van is", "Sharing %s failed, because this item is already shared with %s" : "Delen van %s is mislukt, omdat het object al wordt gedeeld met %s", + "Sharing %s failed, because this item is already shared with user %s" : "Delen van %s is mislukt, omdat het object al wordt gedeeld met gebruiker %s", "Sharing %s failed, because the group %s does not exist" : "Delen van %s is mislukt, omdat groep %s niet bestaat", "Sharing %s failed, because %s is not a member of the group %s" : "Delen van %s is mislukt, omdat %s geen lid is van groep %s", "You need to provide a password to create a public link, only protected links are allowed" : "U moet een wachtwoord verstrekken om een openbare koppeling te maken, alleen beschermde links zijn toegestaan", diff --git a/lib/l10n/nl.json b/lib/l10n/nl.json index 8d0b5dc7169..4e4eaf8b52a 100644 --- a/lib/l10n/nl.json +++ b/lib/l10n/nl.json @@ -89,6 +89,7 @@ "Sharing %s failed, because the user %s does not exist" : "Delen van %s is mislukt, omdat gebruiker %s niet bestaat", "Sharing %s failed, because the user %s is not a member of any groups that %s is a member of" : "Delen van %s is mislukt, omdat gebruiker %s geen lid is van een groep waar %s lid van is", "Sharing %s failed, because this item is already shared with %s" : "Delen van %s is mislukt, omdat het object al wordt gedeeld met %s", + "Sharing %s failed, because this item is already shared with user %s" : "Delen van %s is mislukt, omdat het object al wordt gedeeld met gebruiker %s", "Sharing %s failed, because the group %s does not exist" : "Delen van %s is mislukt, omdat groep %s niet bestaat", "Sharing %s failed, because %s is not a member of the group %s" : "Delen van %s is mislukt, omdat %s geen lid is van groep %s", "You need to provide a password to create a public link, only protected links are allowed" : "U moet een wachtwoord verstrekken om een openbare koppeling te maken, alleen beschermde links zijn toegestaan", diff --git a/lib/l10n/pt_BR.js b/lib/l10n/pt_BR.js index a53e5f01a16..402a7cbc51a 100644 --- a/lib/l10n/pt_BR.js +++ b/lib/l10n/pt_BR.js @@ -91,6 +91,7 @@ OC.L10N.register( "Sharing %s failed, because the user %s does not exist" : "Compartilhamento %s falhou, porque o usuário %s não existe", "Sharing %s failed, because the user %s is not a member of any groups that %s is a member of" : "Compartilhamento %s falhou, porque o usuário %s não é membro de nenhum grupo que o usuário %s pertença", "Sharing %s failed, because this item is already shared with %s" : "Compartilhamento %s falhou, porque este ítem já está compartilhado com %s", + "Sharing %s failed, because this item is already shared with user %s" : "Compartilhamento de %s falhou, porque esse item já é compartilhada com o usuário %s", "Sharing %s failed, because the group %s does not exist" : "Compartilhamento %s falhou, porque o grupo %s não existe", "Sharing %s failed, because %s is not a member of the group %s" : "Compartilhamento %s falhou, porque %s não é membro do grupo %s", "You need to provide a password to create a public link, only protected links are allowed" : "Você precisa fornecer uma senha para criar um link público, apenas links protegidos são permitidos", diff --git a/lib/l10n/pt_BR.json b/lib/l10n/pt_BR.json index cef167c2098..255272b8cb8 100644 --- a/lib/l10n/pt_BR.json +++ b/lib/l10n/pt_BR.json @@ -89,6 +89,7 @@ "Sharing %s failed, because the user %s does not exist" : "Compartilhamento %s falhou, porque o usuário %s não existe", "Sharing %s failed, because the user %s is not a member of any groups that %s is a member of" : "Compartilhamento %s falhou, porque o usuário %s não é membro de nenhum grupo que o usuário %s pertença", "Sharing %s failed, because this item is already shared with %s" : "Compartilhamento %s falhou, porque este ítem já está compartilhado com %s", + "Sharing %s failed, because this item is already shared with user %s" : "Compartilhamento de %s falhou, porque esse item já é compartilhada com o usuário %s", "Sharing %s failed, because the group %s does not exist" : "Compartilhamento %s falhou, porque o grupo %s não existe", "Sharing %s failed, because %s is not a member of the group %s" : "Compartilhamento %s falhou, porque %s não é membro do grupo %s", "You need to provide a password to create a public link, only protected links are allowed" : "Você precisa fornecer uma senha para criar um link público, apenas links protegidos são permitidos", diff --git a/lib/l10n/th_TH.js b/lib/l10n/th_TH.js index 2ff86f599e9..6092f348cb5 100644 --- a/lib/l10n/th_TH.js +++ b/lib/l10n/th_TH.js @@ -91,6 +91,7 @@ OC.L10N.register( "Sharing %s failed, because the user %s does not exist" : "การแชร์ %s ล้มเหลวเนื่องจากไม่ได้มีผู้ใช้ %s อยู่", "Sharing %s failed, because the user %s is not a member of any groups that %s is a member of" : "การแชร์ %s ล้มเหลวเนื่องจากผู้ใช้ %s ไม่ได้เป็นสมาชิกของกลุ่มใดๆ %s เป็นสมาชิกของ", "Sharing %s failed, because this item is already shared with %s" : "การแชร์ %s ล้มเหลวเพราะรายการนี้ถูกแชร์กับ %s", + "Sharing %s failed, because this item is already shared with user %s" : "%s ที่กำลังแชร์ล้มเหลว เพราะรายการนี้ได้ถูกแชร์กับผู้ใช้ %s", "Sharing %s failed, because the group %s does not exist" : "การแชร์ %s ล้มเหลวเพราะไม่มีกลุ่ม %s อยู่", "Sharing %s failed, because %s is not a member of the group %s" : "การแชร์ %s ล้มเหลวเพราะ %s ไม่ได้เป็นสมาชิกของกลุ่ม %s", "You need to provide a password to create a public link, only protected links are allowed" : "คุณจำเป็นต้องระบุรหัสผ่านเพื่อสร้างลิงค์สาธารณะ, ลิงค์ที่มีการป้องกันเท่านั้นที่ได้รับอนุญาต", diff --git a/lib/l10n/th_TH.json b/lib/l10n/th_TH.json index a215b67a180..a872236a70d 100644 --- a/lib/l10n/th_TH.json +++ b/lib/l10n/th_TH.json @@ -89,6 +89,7 @@ "Sharing %s failed, because the user %s does not exist" : "การแชร์ %s ล้มเหลวเนื่องจากไม่ได้มีผู้ใช้ %s อยู่", "Sharing %s failed, because the user %s is not a member of any groups that %s is a member of" : "การแชร์ %s ล้มเหลวเนื่องจากผู้ใช้ %s ไม่ได้เป็นสมาชิกของกลุ่มใดๆ %s เป็นสมาชิกของ", "Sharing %s failed, because this item is already shared with %s" : "การแชร์ %s ล้มเหลวเพราะรายการนี้ถูกแชร์กับ %s", + "Sharing %s failed, because this item is already shared with user %s" : "%s ที่กำลังแชร์ล้มเหลว เพราะรายการนี้ได้ถูกแชร์กับผู้ใช้ %s", "Sharing %s failed, because the group %s does not exist" : "การแชร์ %s ล้มเหลวเพราะไม่มีกลุ่ม %s อยู่", "Sharing %s failed, because %s is not a member of the group %s" : "การแชร์ %s ล้มเหลวเพราะ %s ไม่ได้เป็นสมาชิกของกลุ่ม %s", "You need to provide a password to create a public link, only protected links are allowed" : "คุณจำเป็นต้องระบุรหัสผ่านเพื่อสร้างลิงค์สาธารณะ, ลิงค์ที่มีการป้องกันเท่านั้นที่ได้รับอนุญาต", diff --git a/lib/private/app.php b/lib/private/app.php index d5415834fa4..6eba215ee27 100644 --- a/lib/private/app.php +++ b/lib/private/app.php @@ -105,7 +105,6 @@ class OC_App { ob_start(); foreach ($apps as $app) { if ((is_null($types) or self::isType($app, $types)) && !in_array($app, self::$loadedApps)) { - self::$loadedApps[] = $app; self::loadApp($app); } } @@ -122,6 +121,8 @@ class OC_App { * @throws \OC\NeedsUpdateException */ public static function loadApp($app, $checkUpgrade = true) { + self::$loadedApps[] = $app; + \OC::$loader->addValidRoot(self::getAppPath($app)); if (is_file(self::getAppPath($app) . '/appinfo/app.php')) { \OC::$server->getEventLogger()->start('load_app_' . $app, 'Load app: ' . $app); if ($checkUpgrade and self::shouldUpgrade($app)) { diff --git a/lib/private/appconfig.php b/lib/private/appconfig.php index 7ee64980fd0..cf2a057f224 100644 --- a/lib/private/appconfig.php +++ b/lib/private/appconfig.php @@ -175,11 +175,21 @@ class AppConfig implements IAppConfig { ->set('configvalue', $sql->createParameter('configvalue')) ->where($sql->expr()->eq('appid', $sql->createParameter('app'))) ->andWhere($sql->expr()->eq('configkey', $sql->createParameter('configkey'))) - ->andWhere($sql->expr()->neq('configvalue', $sql->createParameter('configvalue'))) ->setParameter('configvalue', $value) ->setParameter('app', $app) - ->setParameter('configkey', $key) - ->setParameter('configvalue', $value); + ->setParameter('configkey', $key); + + /* + * Only limit to the existing value for non-Oracle DBs: + * http://docs.oracle.com/cd/E11882_01/server.112/e26088/conditions002.htm#i1033286 + * > Large objects (LOBs) are not supported in comparison conditions. + */ + if (!($this->conn instanceof \OC\DB\OracleConnection)) { + // Only update the value when it is not the same + $sql->andWhere($sql->expr()->neq('configvalue', $sql->createParameter('configvalue'))) + ->setParameter('configvalue', $value); + } + $changedRow = (bool) $sql->execute(); $this->cache[$app][$key] = $value; diff --git a/lib/private/appframework/utility/simplecontainer.php b/lib/private/appframework/utility/simplecontainer.php index 83a08acde26..5d7ea48752b 100644 --- a/lib/private/appframework/utility/simplecontainer.php +++ b/lib/private/appframework/utility/simplecontainer.php @@ -77,7 +77,7 @@ class SimpleContainer extends Container implements IContainer { * @return stdClass * @throws QueryException if the class could not be found or instantiated */ - private function resolve($name) { + public function resolve($name) { $baseMsg = 'Could not resolve ' . $name . '!'; try { $class = new ReflectionClass($name); diff --git a/lib/private/backgroundjob/joblist.php b/lib/private/backgroundjob/joblist.php index f297bccbc7d..deadadfb77e 100644 --- a/lib/private/backgroundjob/joblist.php +++ b/lib/private/backgroundjob/joblist.php @@ -26,6 +26,7 @@ namespace OC\BackgroundJob; use OCP\BackgroundJob\IJobList; +use OCP\AutoloadNotAllowedException; class JobList implements IJobList { /** @@ -185,15 +186,20 @@ class JobList implements IJobList { /** * @var Job $job */ - if (!class_exists($class)) { - // job from disabled app or old version of an app, no need to do anything - return null; + try { + if (!class_exists($class)) { + // job from disabled app or old version of an app, no need to do anything + return null; + } + $job = new $class(); + $job->setId($row['id']); + $job->setLastRun($row['last_run']); + $job->setArgument(json_decode($row['argument'], true)); + return $job; + } catch (AutoloadNotAllowedException $e) { + // job is from a disabled app, ignore } - $job = new $class(); - $job->setId($row['id']); - $job->setLastRun($row['last_run']); - $job->setArgument(json_decode($row['argument'], true)); - return $job; + return null; } /** diff --git a/lib/private/eventsource.php b/lib/private/eventsource.php index c69671c1a75..e2be808e726 100644 --- a/lib/private/eventsource.php +++ b/lib/private/eventsource.php @@ -59,6 +59,17 @@ class OC_EventSource implements \OCP\IEventSource { $this->fallback = isset($_GET['fallback']) and $_GET['fallback'] == 'true'; if ($this->fallback) { $this->fallBackId = (int)$_GET['fallback_id']; + /** + * FIXME: The default content-security-policy of ownCloud forbids inline + * JavaScript for security reasons. IE starting on Windows 10 will + * however also obey the CSP which will break the event source fallback. + * + * As a workaround thus we set a custom policy which allows the execution + * of inline JavaScript. + * + * @link https://github.com/owncloud/core/issues/14286 + */ + header("Content-Security-Policy: default-src 'none'; script-src 'unsafe-inline'"); header("Content-Type: text/html"); echo str_repeat('<span></span>' . PHP_EOL, 10); //dummy data to keep IE happy } else { diff --git a/lib/private/files.php b/lib/private/files.php index 6268bf8a129..0172f1ca6af 100644 --- a/lib/private/files.php +++ b/lib/private/files.php @@ -86,15 +86,6 @@ class OC_Files { */ public static function get($dir, $files, $only_header = false) { $view = \OC\Files\Filesystem::getView(); - $xsendfile = false; - if (\OC::$server->getLockingProvider() instanceof NoopLockingProvider) { - if (isset($_SERVER['MOD_X_SENDFILE_ENABLED']) || - isset($_SERVER['MOD_X_SENDFILE2_ENABLED']) || - isset($_SERVER['MOD_X_ACCEL_REDIRECT_ENABLED']) - ) { - $xsendfile = true; - } - } if (is_array($files) && count($files) === 1) { $files = $files[0]; @@ -129,9 +120,6 @@ class OC_Files { if ($get_type === self::FILE) { $zip = false; - if ($xsendfile && \OC::$server->getEncryptionManager()->isEnabled()) { - $xsendfile = false; - } } else { $zip = new ZipStreamer(false); } @@ -176,17 +164,7 @@ class OC_Files { $zip->finalize(); set_time_limit($executionTime); } else { - if ($xsendfile) { - /** @var $storage \OC\Files\Storage\Storage */ - list($storage) = $view->resolvePath($filename); - if ($storage->isLocal()) { - self::addSendfileHeader($filename); - } else { - \OC\Files\Filesystem::readfile($filename); - } - } else { - \OC\Files\Filesystem::readfile($filename); - } + \OC\Files\Filesystem::readfile($filename); } if ($get_type === self::FILE) { $view->unlockFile($filename, ILockingProvider::LOCK_SHARED); @@ -203,40 +181,6 @@ class OC_Files { } /** - * @param false|string $filename - */ - private static function addSendfileHeader($filename) { - if (isset($_SERVER['MOD_X_SENDFILE_ENABLED'])) { - $filename = \OC\Files\Filesystem::getLocalFile($filename); - header("X-Sendfile: " . $filename); - } - if (isset($_SERVER['MOD_X_SENDFILE2_ENABLED'])) { - $filename = \OC\Files\Filesystem::getLocalFile($filename); - if (isset($_SERVER['HTTP_RANGE']) && - preg_match("/^bytes=([0-9]+)-([0-9]*)$/", $_SERVER['HTTP_RANGE'], $range)) { - $filelength = filesize($filename); - if ($range[2] === "") { - $range[2] = $filelength - 1; - } - header("Content-Range: bytes $range[1]-$range[2]/" . $filelength); - header("HTTP/1.1 206 Partial content"); - header("X-Sendfile2: " . str_replace(",", "%2c", rawurlencode($filename)) . " $range[1]-$range[2]"); - } else { - header("X-Sendfile: " . $filename); - } - } - - if (isset($_SERVER['MOD_X_ACCEL_REDIRECT_ENABLED'])) { - if (isset($_SERVER['MOD_X_ACCEL_REDIRECT_PREFIX'])) { - $filename = $_SERVER['MOD_X_ACCEL_REDIRECT_PREFIX'] . \OC\Files\Filesystem::getLocalFile($filename); - } else { - $filename = \OC::$WEBROOT . '/data' . \OC\Files\Filesystem::getRoot() . $filename; - } - header("X-Accel-Redirect: " . $filename); - } - } - - /** * @param string $dir * @param ZipStreamer $zip * @param string $internalDir diff --git a/lib/private/files/cache/cache.php b/lib/private/files/cache/cache.php index 8cf097421d4..5c04da1f0d5 100644 --- a/lib/private/files/cache/cache.php +++ b/lib/private/files/cache/cache.php @@ -35,6 +35,8 @@ namespace OC\Files\Cache; +use \OCP\Files\IMimeTypeLoader; + /** * Metadata cache for a storage * @@ -66,8 +68,8 @@ class Cache { */ protected $storageCache; - protected static $mimetypeIds = array(); - protected static $mimetypes = array(); + /** @var IMimeTypeLoader */ + protected $mimetypeLoader; /** * @param \OC\Files\Storage\Storage|string $storage @@ -83,6 +85,7 @@ class Cache { } $this->storageCache = new Storage($storage); + $this->mimetypeLoader = \OC::$server->getMimeTypeLoader(); } /** @@ -95,72 +98,6 @@ class Cache { } /** - * Get the numeric id for a mimetype - * - * Mimetypes are stored as integers in the cache to prevent duplicated data of the (usually) fairly limited amount of unique mimetypes - * If the supplied mimetype does not yet have a numeric id a new one will be generated - * - * @param string $mime - * @return int - */ - public function getMimetypeId($mime) { - if (empty($mime)) { - // Can not insert empty string into Oracle NOT NULL column. - $mime = 'application/octet-stream'; - } - if (empty(self::$mimetypeIds)) { - $this->loadMimetypes(); - } - - if (!isset(self::$mimetypeIds[$mime])) { - try { - $connection = \OC_DB::getConnection(); - $connection->insertIfNotExist('*PREFIX*mimetypes', [ - 'mimetype' => $mime, - ]); - $this->loadMimetypes(); - } catch (\Doctrine\DBAL\DBALException $e) { - \OCP\Util::writeLog('core', 'Exception during mimetype insertion: ' . $e->getmessage(), \OCP\Util::DEBUG); - return -1; - } - } - - return self::$mimetypeIds[$mime]; - } - - - /** - * Get the mimetype (as string) from a mimetype id - * - * @param int $id - * @return string | null the mimetype for the id or null if the id is not known - */ - public function getMimetype($id) { - if (empty(self::$mimetypes)) { - $this->loadMimetypes(); - } - - return isset(self::$mimetypes[$id]) ? self::$mimetypes[$id] : null; - } - - /** - * Load all known mimetypes and mimetype ids from the database - * - * @throws \OC\DatabaseException - */ - public function loadMimetypes() { - self::$mimetypeIds = self::$mimetypes = array(); - - $result = \OC_DB::executeAudited('SELECT `id`, `mimetype` FROM `*PREFIX*mimetypes`', array()); - if ($result) { - while ($row = $result->fetchRow()) { - self::$mimetypeIds[$row['mimetype']] = $row['id']; - self::$mimetypes[$row['id']] = $row['mimetype']; - } - } - } - - /** * get the stored metadata of a file or folder * * the returned cache entry contains at least the following values: @@ -222,8 +159,8 @@ class Cache { $data['storage_mtime'] = (int)$data['storage_mtime']; $data['encrypted'] = (bool)$data['encrypted']; $data['storage'] = $this->storageId; - $data['mimetype'] = $this->getMimetype($data['mimetype']); - $data['mimepart'] = $this->getMimetype($data['mimepart']); + $data['mimetype'] = $this->mimetypeLoader->getMimetypeById($data['mimetype']); + $data['mimepart'] = $this->mimetypeLoader->getMimetypeById($data['mimepart']); if ($data['storage_mtime'] == 0) { $data['storage_mtime'] = $data['mtime']; } @@ -258,8 +195,8 @@ class Cache { $result = \OC_DB::executeAudited($sql, array($fileId)); $files = $result->fetchAll(); foreach ($files as &$file) { - $file['mimetype'] = $this->getMimetype($file['mimetype']); - $file['mimepart'] = $this->getMimetype($file['mimepart']); + $file['mimetype'] = $this->mimetypeLoader->getMimetypeById($file['mimetype']); + $file['mimepart'] = $this->mimetypeLoader->getMimetypeById($file['mimepart']); if ($file['storage_mtime'] == 0) { $file['storage_mtime'] = $file['mtime']; } @@ -385,9 +322,9 @@ class Cache { $params[] = md5($value); $queryParts[] = '`path_hash`'; } elseif ($name === 'mimetype') { - $params[] = $this->getMimetypeId(substr($value, 0, strpos($value, '/'))); + $params[] = $this->mimetypeLoader->getId(substr($value, 0, strpos($value, '/'))); $queryParts[] = '`mimepart`'; - $value = $this->getMimetypeId($value); + $value = $this->mimetypeLoader->getId($value); } elseif ($name === 'storage_mtime') { if (!isset($data['mtime'])) { $params[] = $value; @@ -613,7 +550,6 @@ class Cache { * @return array an array of cache entries where the name matches the search pattern */ public function search($pattern) { - // normalize pattern $pattern = $this->normalize($pattern); @@ -630,8 +566,8 @@ class Cache { $files = array(); while ($row = $result->fetchRow()) { - $row['mimetype'] = $this->getMimetype($row['mimetype']); - $row['mimepart'] = $this->getMimetype($row['mimepart']); + $row['mimetype'] = $this->mimetypeLoader->getMimetypeById($row['mimetype']); + $row['mimepart'] = $this->mimetypeLoader->getMimetypeById($row['mimepart']); $files[] = $row; } return $files; @@ -652,12 +588,12 @@ class Cache { } $sql = 'SELECT `fileid`, `storage`, `path`, `parent`, `name`, `mimetype`, `mimepart`, `size`, `mtime`, `encrypted`, `etag`, `permissions` FROM `*PREFIX*filecache` WHERE ' . $where . ' AND `storage` = ?'; - $mimetype = $this->getMimetypeId($mimetype); + $mimetype = $this->mimetypeLoader->getId($mimetype); $result = \OC_DB::executeAudited($sql, array($mimetype, $this->getNumericStorageId())); $files = array(); while ($row = $result->fetchRow()) { - $row['mimetype'] = $this->getMimetype($row['mimetype']); - $row['mimepart'] = $this->getMimetype($row['mimepart']); + $row['mimetype'] = $this->mimetypeLoader->getMimetypeById($row['mimetype']); + $row['mimepart'] = $this->mimetypeLoader->getMimetypeById($row['mimepart']); $files[] = $row; } return $files; diff --git a/lib/private/files/cache/scanner.php b/lib/private/files/cache/scanner.php index f76ef5ba0dd..fb60ee5aa53 100644 --- a/lib/private/files/cache/scanner.php +++ b/lib/private/files/cache/scanner.php @@ -377,7 +377,7 @@ class Scanner extends BasicEmitter { // inserted mimetypes but those weren't available yet inside the transaction // To make sure to have the updated mime types in such cases, // we reload them here - $this->cache->loadMimetypes(); + \OC::$server->getMimeTypeLoader()->reset(); } foreach ($childQueue as $child => $childData) { diff --git a/lib/private/files/storage/dav.php b/lib/private/files/storage/dav.php index 6e89dcccbcd..c1cf17abdee 100644 --- a/lib/private/files/storage/dav.php +++ b/lib/private/files/storage/dav.php @@ -40,6 +40,7 @@ use OC\Files\Filesystem; use OC\Files\Stream\Close; use Icewind\Streams\IteratorDirectory; use OC\MemCache\ArrayCache; +use OCP\AppFramework\Http; use OCP\Constants; use OCP\Files; use OCP\Files\FileInfo; @@ -77,6 +78,8 @@ class DAV extends Common { private $statCache; /** @var array */ private static $tempFiles = []; + /** @var \OCP\Http\Client\IClientService */ + private $httpClientService; /** * @param array $params @@ -84,6 +87,7 @@ class DAV extends Common { */ public function __construct($params) { $this->statCache = new ArrayCache(); + $this->httpClientService = \OC::$server->getHTTPClientService(); if (isset($params['host']) && isset($params['user']) && isset($params['password'])) { $host = $params['host']; //remove leading http[s], will be generated in createBaseUri() @@ -232,7 +236,7 @@ class DAV extends Common { * If not, request it from the server then store to cache. * * @param string $path path to propfind - * + * * @return array propfind response * * @throws NotFound @@ -337,38 +341,22 @@ class DAV extends Common { if (!$this->file_exists($path)) { return false; } - //straight up curl instead of sabredav here, sabredav put's the entire get result in memory - $curl = curl_init(); - $fp = fopen('php://temp', 'r+'); - curl_setopt($curl, CURLOPT_USERPWD, $this->user . ':' . $this->password); - curl_setopt($curl, CURLOPT_URL, $this->createBaseUri() . $this->encodePath($path)); - curl_setopt($curl, CURLOPT_FILE, $fp); - curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true); - if(defined('CURLOPT_PROTOCOLS')) { - curl_setopt($curl, CURLOPT_PROTOCOLS, CURLPROTO_HTTP | CURLPROTO_HTTPS); - } - if(defined('CURLOPT_REDIR_PROTOCOLS')) { - curl_setopt($curl, CURLOPT_REDIR_PROTOCOLS, CURLPROTO_HTTP | CURLPROTO_HTTPS); - } - if ($this->secure === true) { - curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, true); - curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 2); - if ($this->certPath) { - curl_setopt($curl, CURLOPT_CAINFO, $this->certPath); - } - } - - curl_exec($curl); - $statusCode = curl_getinfo($curl, CURLINFO_HTTP_CODE); - if ($statusCode !== 200) { - Util::writeLog("webdav client", 'curl GET ' . curl_getinfo($curl, CURLINFO_EFFECTIVE_URL) . ' returned status code ' . $statusCode, Util::ERROR); - if ($statusCode === 423) { + $response = $this->httpClientService + ->newClient() + ->get($this->createBaseUri() . $this->encodePath($path), [ + 'auth' => [$this->user, $this->password], + 'stream' => true + ]); + + if ($response->getStatusCode() !== Http::STATUS_OK) { + if ($response->getStatusCode() === Http::STATUS_LOCKED) { throw new \OCP\Lock\LockedException($path); + } else { + Util::writeLog("webdav client", 'Guzzle get returned status code ' . $response->getStatusCode(), Util::ERROR); } } - curl_close($curl); - rewind($fp); - return $fp; + + return $response->getBody(); case 'w': case 'wb': case 'a': @@ -478,38 +466,19 @@ class DAV extends Common { */ protected function uploadFile($path, $target) { $this->init(); + // invalidate $target = $this->cleanPath($target); $this->statCache->remove($target); $source = fopen($path, 'r'); - $curl = curl_init(); - curl_setopt($curl, CURLOPT_USERPWD, $this->user . ':' . $this->password); - curl_setopt($curl, CURLOPT_URL, $this->createBaseUri() . $this->encodePath($target)); - curl_setopt($curl, CURLOPT_BINARYTRANSFER, true); - curl_setopt($curl, CURLOPT_INFILE, $source); // file pointer - curl_setopt($curl, CURLOPT_INFILESIZE, filesize($path)); - curl_setopt($curl, CURLOPT_PUT, true); - curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); - curl_setopt($curl, CURLOPT_PROTOCOLS, CURLPROTO_HTTP | CURLPROTO_HTTPS); - curl_setopt($curl, CURLOPT_REDIR_PROTOCOLS, CURLPROTO_HTTP | CURLPROTO_HTTPS); - if ($this->secure === true) { - curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, true); - curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 2); - if ($this->certPath) { - curl_setopt($curl, CURLOPT_CAINFO, $this->certPath); - } - } - curl_exec($curl); - $statusCode = curl_getinfo($curl, CURLINFO_HTTP_CODE); - if ($statusCode !== 200) { - Util::writeLog("webdav client", 'curl GET ' . curl_getinfo($curl, CURLINFO_EFFECTIVE_URL) . ' returned status code ' . $statusCode, Util::ERROR); - if ($statusCode === 423) { - throw new \OCP\Lock\LockedException($path); - } - } - curl_close($curl); - fclose($source); + $this->httpClientService + ->newClient() + ->put($this->createBaseUri() . $this->encodePath($target), [ + 'body' => $source, + 'auth' => [$this->user, $this->password] + ]); + $this->removeCachedFile($target); } @@ -768,7 +737,7 @@ class DAV extends Common { if ($e->getHttpStatus() === 404 || $e->getHttpStatus() === 405) { if ($path === '') { // if root is gone it means the storage is not available - throw new StorageNotAvailableException(get_class($e).': '.$e->getMessage()); + throw new StorageNotAvailableException(get_class($e) . ': ' . $e->getMessage()); } return false; } @@ -802,19 +771,19 @@ class DAV extends Common { } if ($e->getHttpStatus() === 401) { // either password was changed or was invalid all along - throw new StorageInvalidException(get_class($e).': '.$e->getMessage()); + throw new StorageInvalidException(get_class($e) . ': ' . $e->getMessage()); } else if ($e->getHttpStatus() === 405) { // ignore exception for MethodNotAllowed, false will be returned return; } - throw new StorageNotAvailableException(get_class($e).': '.$e->getMessage()); + throw new StorageNotAvailableException(get_class($e) . ': ' . $e->getMessage()); } else if ($e instanceof ClientException) { // connection timeout or refused, server could be temporarily down - throw new StorageNotAvailableException(get_class($e).': '.$e->getMessage()); + throw new StorageNotAvailableException(get_class($e) . ': ' . $e->getMessage()); } else if ($e instanceof \InvalidArgumentException) { // parse error because the server returned HTML instead of XML, // possibly temporarily down - throw new StorageNotAvailableException(get_class($e).': '.$e->getMessage()); + throw new StorageNotAvailableException(get_class($e) . ': ' . $e->getMessage()); } else if (($e instanceof StorageNotAvailableException) || ($e instanceof StorageInvalidException)) { // rethrow throw $e; diff --git a/lib/private/files/type/detection.php b/lib/private/files/type/detection.php index ba286637df3..3dc3975fb2a 100644 --- a/lib/private/files/type/detection.php +++ b/lib/private/files/type/detection.php @@ -6,6 +6,7 @@ * @author Robin Appelman <icewind@owncloud.com> * @author Roeland Jago Douma <roeland@famdouma.nl> * @author Thomas Tanghus <thomas@tanghus.net> + * @author Robin McCorkell <rmccorkell@owncloud.com> * * @copyright Copyright (c) 2015, ownCloud, Inc. * @license AGPL-3.0 @@ -101,16 +102,23 @@ class Detection implements IMimeTypeDetector { return; } - $file = file_get_contents($this->configDir . '/mimetypealiases.dist.json'); - $this->mimeTypeAlias = get_object_vars(json_decode($file)); + $this->mimeTypeAlias = json_decode(file_get_contents($this->configDir . '/mimetypealiases.dist.json'), true); if (file_exists($this->configDir . '/mimetypealiases.json')) { - $custom = get_object_vars(json_decode(file_get_contents($this->configDir . '/mimetypealiases.json'))); + $custom = json_decode(file_get_contents($this->configDir . '/mimetypealiases.json'), true); $this->mimeTypeAlias = array_merge($this->mimeTypeAlias, $custom); } } /** + * @return array + */ + public function getAllAliases() { + $this->loadAliases(); + return $this->mimeTypeAlias; + } + + /** * Add mimetype mappings if they are not yet present */ private function loadMappings() { @@ -118,20 +126,26 @@ class Detection implements IMimeTypeDetector { return; } - $dist = file_get_contents($this->configDir . '/mimetypemapping.dist.json'); - $mimetypemapping = get_object_vars(json_decode($dist)); + $mimetypemapping = json_decode(file_get_contents($this->configDir . '/mimetypemapping.dist.json'), true); //Check if need to load custom mappings if (file_exists($this->configDir . '/mimetypemapping.json')) { - $custom = file_get_contents($this->configDir . '/mimetypemapping.json'); - $custom_mapping = get_object_vars(json_decode($custom)); - $mimetypemapping = array_merge($mimetypemapping, $custom_mapping); + $custom = json_decode(file_get_contents($this->configDir . '/mimetypemapping.json'), true); + $mimetypemapping = array_merge($mimetypemapping, $custom); } $this->registerTypeArray($mimetypemapping); } /** + * @return array + */ + public function getAllMappings() { + $this->loadMappings(); + return $this->mimetypes; + } + + /** * detect mimetype only based on filename, content of file is not used * * @param string $path diff --git a/lib/private/files/type/loader.php b/lib/private/files/type/loader.php new file mode 100644 index 00000000000..78bfcf60bff --- /dev/null +++ b/lib/private/files/type/loader.php @@ -0,0 +1,173 @@ +<?php +/** + * @author Robin McCorkell <rmccorkell@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 OC\Files\Type; + +use OCP\Files\IMimeTypeLoader; +use OCP\IDBConnection; + +use Doctrine\DBAL\Exception\UniqueConstraintViolationException; + +/** + * Mimetype database loader + * + * @package OC\Files\Type + */ +class Loader implements IMimeTypeLoader { + + /** @var IDBConnection */ + private $dbConnection; + + /** @var array [id => mimetype] */ + protected $mimetypes; + + /** @var array [mimetype => id] */ + protected $mimetypeIds; + + /** + * @param IDBConnection $dbConnection + */ + public function __construct(IDBConnection $dbConnection) { + $this->dbConnection = $dbConnection; + $this->mimetypes = []; + $this->mimetypeIds = []; + } + + /** + * Get a mimetype from its ID + * + * @param int $id + * @return string|null + */ + public function getMimetypeById($id) { + if (!$this->mimetypes) { + $this->loadMimetypes(); + } + if (isset($this->mimetypes[$id])) { + return $this->mimetypes[$id]; + } + return null; + } + + /** + * Get a mimetype ID, adding the mimetype to the DB if it does not exist + * + * @param string $mimetype + * @return int + */ + public function getId($mimetype) { + if (!$this->mimetypeIds) { + $this->loadMimetypes(); + } + if (isset($this->mimetypeIds[$mimetype])) { + return $this->mimetypeIds[$mimetype]; + } + return $this->store($mimetype); + } + + /** + * Test if a mimetype exists in the database + * + * @param string $mimetype + * @return bool + */ + public function exists($mimetype) { + if (!$this->mimetypeIds) { + $this->loadMimetypes(); + } + return isset($this->mimetypeIds[$mimetype]); + } + + /** + * Clear all loaded mimetypes, allow for re-loading + */ + public function reset() { + $this->mimetypes = []; + $this->mimetypeIds = []; + } + + /** + * Store a mimetype in the DB + * + * @param string $mimetype + * @param int inserted ID + */ + protected function store($mimetype) { + try { + $qb = $this->dbConnection->getQueryBuilder(); + $qb->insert('mimetypes') + ->values([ + 'mimetype' => $qb->createNamedParameter($mimetype) + ]); + $qb->execute(); + } catch (UniqueConstraintViolationException $e) { + // something inserted it before us + } + + $fetch = $this->dbConnection->getQueryBuilder(); + $fetch->select('id') + ->from('mimetypes') + ->where( + $fetch->expr()->eq('mimetype', $fetch->createNamedParameter($mimetype) + )); + $row = $fetch->execute()->fetch(); + + $this->mimetypes[$row['id']] = $mimetype; + $this->mimetypeIds[$mimetype] = $row['id']; + return $row['id']; + } + + /** + * Load all mimetypes from DB + */ + private function loadMimetypes() { + $qb = $this->dbConnection->getQueryBuilder(); + $qb->select('id', 'mimetype') + ->from('mimetypes'); + $results = $qb->execute()->fetchAll(); + + foreach ($results as $row) { + $this->mimetypes[$row['id']] = $row['mimetype']; + $this->mimetypeIds[$row['mimetype']] = $row['id']; + } + } + + /** + * Update filecache mimetype based on file extension + * + * @param string $ext file extension + * @param int $mimetypeId + * @return int number of changed rows + */ + public function updateFilecache($ext, $mimetypeId) { + $update = $this->dbConnection->getQueryBuilder(); + $update->update('filecache') + ->set('mimetype', $update->createNamedParameter($mimetypeId)) + ->where($update->expr()->neq( + 'mimetype', $update->createNamedParameter($mimetypeId) + )) + ->andWhere($update->expr()->like( + $update->createFunction('LOWER(`name`)'), $update->createNamedParameter($ext) + )); + return $update->execute(); + } + +} diff --git a/lib/private/http/client/client.php b/lib/private/http/client/client.php index 323fc0d324f..b0aff10a413 100644 --- a/lib/private/http/client/client.php +++ b/lib/private/http/client/client.php @@ -120,7 +120,8 @@ class Client implements IClient { */ public function get($uri, array $options = []) { $response = $this->client->get($uri, $options); - return new Response($response); + $isStream = isset($options['stream']) && $options['stream']; + return new Response($response, $isStream); } /** diff --git a/lib/private/http/client/response.php b/lib/private/http/client/response.php index 4e9df51d77f..558482491d1 100644 --- a/lib/private/http/client/response.php +++ b/lib/private/http/client/response.php @@ -34,17 +34,26 @@ class Response implements IResponse { private $response; /** + * @var bool + */ + private $stream; + + /** * @param GuzzleResponse $response + * @param bool $stream */ - public function __construct(GuzzleResponse $response) { + public function __construct(GuzzleResponse $response, $stream = false) { $this->response = $response; + $this->stream = $stream; } /** - * @return string + * @return string|resource */ public function getBody() { - return $this->response->getBody()->getContents(); + return $this->stream ? + $this->response->getBody()->detach(): + $this->response->getBody()->getContents(); } /** diff --git a/lib/private/memcache/memcached.php b/lib/private/memcache/memcached.php index 1503851fd73..e99303ecc15 100644 --- a/lib/private/memcache/memcached.php +++ b/lib/private/memcache/memcached.php @@ -89,6 +89,11 @@ class Memcached extends Cache implements IMemcache { public function clear($prefix = '') { $prefix = $this->getNamespace() . $prefix; $allKeys = self::$cache->getAllKeys(); + if ($allKeys === false) { + // newer Memcached doesn't like getAllKeys(), flush everything + self::$cache->flush(); + return true; + } $keys = array(); $prefixLength = strlen($prefix); foreach ($allKeys as $key) { diff --git a/lib/private/notification/action.php b/lib/private/notification/action.php new file mode 100644 index 00000000000..6de8a1a4bbc --- /dev/null +++ b/lib/private/notification/action.php @@ -0,0 +1,167 @@ +<?php +/** + * @author Joas Schilling <nickvergessen@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 OC\Notification; + + +class Action implements IAction { + + /** @var string */ + protected $label; + + /** @var string */ + protected $labelParsed; + + /** @var string */ + protected $link; + + /** @var string */ + protected $requestType; + + /** @var string */ + protected $icon; + + /** + * Constructor + */ + public function __construct() { + $this->label = ''; + $this->labelParsed = ''; + $this->link = ''; + $this->requestType = ''; + $this->icon = ''; + } + + /** + * @param string $label + * @return $this + * @throws \InvalidArgumentException if the label is invalid + * @since 8.2.0 + */ + public function setLabel($label) { + if (!is_string($label) || $label === '' || isset($label[32])) { + throw new \InvalidArgumentException('The given label is invalid'); + } + $this->label = $label; + return $this; + } + + /** + * @return string + * @since 8.2.0 + */ + public function getLabel() { + return $this->label; + } + + /** + * @param string $label + * @return $this + * @throws \InvalidArgumentException if the label is invalid + * @since 8.2.0 + */ + public function setParsedLabel($label) { + if (!is_string($label) || $label === '') { + throw new \InvalidArgumentException('The given parsed label is invalid'); + } + $this->labelParsed = $label; + return $this; + } + + /** + * @return string + * @since 8.2.0 + */ + public function getParsedLabel() { + return $this->labelParsed; + } + + /** + * @param string $link + * @param string $requestType + * @return $this + * @throws \InvalidArgumentException if the link is invalid + * @since 8.2.0 + */ + public function setLink($link, $requestType) { + if (!is_string($link) || $link === '' || isset($link[256])) { + throw new \InvalidArgumentException('The given link is invalid'); + } + if (!in_array($requestType, ['GET', 'POST', 'PUT', 'DELETE'], true)) { + throw new \InvalidArgumentException('The given request type is invalid'); + } + $this->link = $link; + $this->requestType = $requestType; + return $this; + } + + /** + * @return string + * @since 8.2.0 + */ + public function getLink() { + return $this->link; + } + + /** + * @return string + * @since 8.2.0 + */ + public function getRequestType() { + return $this->requestType; + } + + /** + * @param string $icon + * @return $this + * @throws \InvalidArgumentException if the icon is invalid + * @since 8.2.0 + */ + public function setIcon($icon) { + if (!is_string($icon) || $icon === '' || isset($icon[64])) { + throw new \InvalidArgumentException('The given icon is invalid'); + } + $this->icon = $icon; + return $this; + } + + /** + * @return string + * @since 8.2.0 + */ + public function getIcon() { + return $this->icon; + } + + /** + * @return bool + */ + public function isValid() { + return $this->label !== '' && $this->link !== ''; + } + + /** + * @return bool + */ + public function isValidParsed() { + return $this->labelParsed !== '' && $this->link !== ''; + } +} diff --git a/lib/private/notification/iaction.php b/lib/private/notification/iaction.php new file mode 100644 index 00000000000..da6728f5c52 --- /dev/null +++ b/lib/private/notification/iaction.php @@ -0,0 +1,109 @@ +<?php +/** + * @author Joas Schilling <nickvergessen@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 OC\Notification; + +/** + * Interface IAction + * + * @package OC\Notification + * @since 8.2.0 + * + * DEVELOPER NOTE: + * The notification api is experimental only in 8.2.0! Do not start using it, + * if you can not prepare an update for the next version afterwards. + */ +interface IAction { + /** + * @param string $label + * @return $this + * @throws \InvalidArgumentException if the label is invalid + * @since 8.2.0 + */ + public function setLabel($label); + + /** + * @return string + * @since 8.2.0 + */ + public function getLabel(); + + /** + * @param string $label + * @return $this + * @throws \InvalidArgumentException if the label is invalid + * @since 8.2.0 + */ + public function setParsedLabel($label); + + /** + * @return string + * @since 8.2.0 + */ + public function getParsedLabel(); + + /** + * @param string $link + * @param string $requestType + * @return $this + * @throws \InvalidArgumentException if the link is invalid + * @since 8.2.0 + */ + public function setLink($link, $requestType); + + /** + * @return string + * @since 8.2.0 + */ + public function getLink(); + + /** + * @return string + * @since 8.2.0 + */ + public function getRequestType(); + + /** + * @param string $icon + * @return $this + * @throws \InvalidArgumentException if the icon is invalid + * @since 8.2.0 + */ + public function setIcon($icon); + + /** + * @return string + * @since 8.2.0 + */ + public function getIcon(); + + /** + * @return bool + * @since 8.2.0 + */ + public function isValid(); + + /** + * @return bool + * @since 8.2.0 + */ + public function isValidParsed(); +} diff --git a/lib/private/notification/iapp.php b/lib/private/notification/iapp.php new file mode 100644 index 00000000000..eda66423f3a --- /dev/null +++ b/lib/private/notification/iapp.php @@ -0,0 +1,56 @@ +<?php +/** + * @author Joas Schilling <nickvergessen@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 OC\Notification; + +/** + * Interface IApp + * + * @package OC\Notification + * @since 8.2.0 + * + * DEVELOPER NOTE: + * The notification api is experimental only in 8.2.0! Do not start using it, + * if you can not prepare an update for the next version afterwards. + */ +interface IApp { + /** + * @param INotification $notification + * @return null + * @throws \InvalidArgumentException When the notification is not valid + * @since 8.2.0 + */ + public function notify(INotification $notification); + + /** + * @param INotification $notification + * @return null + * @since 8.2.0 + */ + public function markProcessed(INotification $notification); + + /** + * @param INotification $notification + * @return int + * @since 8.2.0 + */ + public function getCount(INotification $notification); +} diff --git a/lib/private/notification/imanager.php b/lib/private/notification/imanager.php new file mode 100644 index 00000000000..0cd92b33251 --- /dev/null +++ b/lib/private/notification/imanager.php @@ -0,0 +1,56 @@ +<?php +/** + * @author Joas Schilling <nickvergessen@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 OC\Notification; + +/** + * Interface IManager + * + * @package OC\Notification + * @since 8.2.0 + * + * DEVELOPER NOTE: + * The notification api is experimental only in 8.2.0! Do not start using it, + * if you can not prepare an update for the next version afterwards. + */ +interface IManager extends IApp, INotifier { + /** + * @param \Closure $service The service must implement IApp, otherwise a + * \InvalidArgumentException is thrown later + * @return null + * @since 8.2.0 + */ + public function registerApp(\Closure $service); + + /** + * @param \Closure $service The service must implement INotifier, otherwise a + * \InvalidArgumentException is thrown later + * @return null + * @since 8.2.0 + */ + public function registerNotifier(\Closure $service); + + /** + * @return INotification + * @since 8.2.0 + */ + public function createNotification(); +} diff --git a/lib/private/notification/inotification.php b/lib/private/notification/inotification.php new file mode 100644 index 00000000000..faf5db1d24c --- /dev/null +++ b/lib/private/notification/inotification.php @@ -0,0 +1,241 @@ +<?php +/** + * @author Joas Schilling <nickvergessen@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 OC\Notification; + +/** + * Interface INotification + * + * @package OC\Notification + * @since 8.2.0 + * + * DEVELOPER NOTE: + * The notification api is experimental only in 8.2.0! Do not start using it, + * if you can not prepare an update for the next version afterwards. + */ +interface INotification { + /** + * @param string $app + * @return $this + * @throws \InvalidArgumentException if the app id are invalid + * @since 8.2.0 + */ + public function setApp($app); + + /** + * @return string + * @since 8.2.0 + */ + public function getApp(); + + /** + * @param string $user + * @return $this + * @throws \InvalidArgumentException if the user id are invalid + * @since 8.2.0 + */ + public function setUser($user); + + /** + * @return string + * @since 8.2.0 + */ + public function getUser(); + + /** + * @param int $timestamp + * @return $this + * @throws \InvalidArgumentException if the timestamp are invalid + * @since 8.2.0 + */ + public function setTimestamp($timestamp); + + /** + * @return int + * @since 8.2.0 + */ + public function getTimestamp(); + + /** + * @param string $type + * @param int $id + * @return $this + * @throws \InvalidArgumentException if the object type or id are invalid + * @since 8.2.0 + */ + public function setObject($type, $id); + + /** + * @return string + * @since 8.2.0 + */ + public function getObjectType(); + + /** + * @return int + * @since 8.2.0 + */ + public function getObjectId(); + + /** + * @param string $subject + * @param array $parameters + * @return $this + * @throws \InvalidArgumentException if the subject or parameters are invalid + * @since 8.2.0 + */ + public function setSubject($subject, array $parameters = []); + + /** + * @return string + * @since 8.2.0 + */ + public function getSubject(); + + /** + * @return string[] + * @since 8.2.0 + */ + public function getSubjectParameters(); + + /** + * @param string $subject + * @return $this + * @throws \InvalidArgumentException if the subject are invalid + * @since 8.2.0 + */ + public function setParsedSubject($subject); + + /** + * @return string + * @since 8.2.0 + */ + public function getParsedSubject(); + + /** + * @param string $message + * @param array $parameters + * @return $this + * @throws \InvalidArgumentException if the message or parameters are invalid + * @since 8.2.0 + */ + public function setMessage($message, array $parameters = []); + + /** + * @return string + * @since 8.2.0 + */ + public function getMessage(); + + /** + * @return string[] + * @since 8.2.0 + */ + public function getMessageParameters(); + + /** + * @param string $message + * @return $this + * @throws \InvalidArgumentException if the message are invalid + * @since 8.2.0 + */ + public function setParsedMessage($message); + + /** + * @return string + * @since 8.2.0 + */ + public function getParsedMessage(); + + /** + * @param string $link + * @return $this + * @throws \InvalidArgumentException if the link are invalid + * @since 8.2.0 + */ + public function setLink($link); + + /** + * @return string + * @since 8.2.0 + */ + public function getLink(); + + /** + * @param string $icon + * @return $this + * @throws \InvalidArgumentException if the icon are invalid + * @since 8.2.0 + */ + public function setIcon($icon); + + /** + * @return string + * @since 8.2.0 + */ + public function getIcon(); + + /** + * @return IAction + * @since 8.2.0 + */ + public function createAction(); + + /** + * @param IAction $action + * @return $this + * @throws \InvalidArgumentException if the action are invalid + * @since 8.2.0 + */ + public function addAction(IAction $action); + + /** + * @return IAction[] + * @since 8.2.0 + */ + public function getActions(); + + /** + * @param IAction $action + * @return $this + * @throws \InvalidArgumentException if the action are invalid + * @since 8.2.0 + */ + public function addParsedAction(IAction $action); + + /** + * @return IAction[] + * @since 8.2.0 + */ + public function getParsedActions(); + + /** + * @return bool + * @since 8.2.0 + */ + public function isValid(); + + /** + * @return bool + * @since 8.2.0 + */ + public function isValidParsed(); +} diff --git a/lib/private/notification/inotifier.php b/lib/private/notification/inotifier.php new file mode 100644 index 00000000000..22531229e3f --- /dev/null +++ b/lib/private/notification/inotifier.php @@ -0,0 +1,43 @@ +<?php +/** + * @author Joas Schilling <nickvergessen@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 OC\Notification; + +/** + * Interface INotifier + * + * @package OC\Notification + * @since 8.2.0 + * + * DEVELOPER NOTE: + * The notification api is experimental only in 8.2.0! Do not start using it, + * if you can not prepare an update for the next version afterwards. + */ +interface INotifier { + /** + * @param INotification $notification + * @param string $languageCode The code of the language that should be used to prepare the notification + * @return INotification + * @throws \InvalidArgumentException When the notification was not prepared by a notifier + * @since 8.2.0 + */ + public function prepare(INotification $notification, $languageCode); +} diff --git a/lib/private/notification/manager.php b/lib/private/notification/manager.php new file mode 100644 index 00000000000..9635925e38e --- /dev/null +++ b/lib/private/notification/manager.php @@ -0,0 +1,191 @@ +<?php +/** + * @author Joas Schilling <nickvergessen@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 OC\Notification; + + +class Manager implements IManager { + /** @var IApp */ + protected $apps; + + /** @var INotifier */ + protected $notifiers; + + /** @var \Closure */ + protected $appsClosures; + + /** @var \Closure */ + protected $notifiersClosures; + + public function __construct() { + $this->apps = []; + $this->notifiers = []; + $this->appsClosures = []; + $this->notifiersClosures = []; + } + + /** + * @param \Closure $service The service must implement IApp, otherwise a + * \InvalidArgumentException is thrown later + * @return null + * @since 8.2.0 + */ + public function registerApp(\Closure $service) { + $this->appsClosures[] = $service; + $this->apps = []; + } + + /** + * @param \Closure $service The service must implement INotifier, otherwise a + * \InvalidArgumentException is thrown later + * @return null + * @since 8.2.0 + */ + public function registerNotifier(\Closure $service) { + $this->notifiersClosures[] = $service; + $this->notifiers = []; + } + + /** + * @return IApp[] + */ + protected function getApps() { + if (!empty($this->apps)) { + return $this->apps; + } + + $this->apps = []; + foreach ($this->appsClosures as $closure) { + $app = $closure(); + if (!($app instanceof IApp)) { + throw new \InvalidArgumentException('The given notification app does not implement the IApp interface'); + } + $this->apps[] = $app; + } + + return $this->apps; + } + + /** + * @return INotifier[] + */ + protected function getNotifiers() { + if (!empty($this->notifiers)) { + return $this->notifiers; + } + + $this->notifiers = []; + foreach ($this->notifiersClosures as $closure) { + $notifier = $closure(); + if (!($notifier instanceof INotifier)) { + throw new \InvalidArgumentException('The given notification app does not implement the INotifier interface'); + } + $this->notifiers[] = $notifier; + } + + return $this->notifiers; + } + + /** + * @return INotification + * @since 8.2.0 + */ + public function createNotification() { + return new Notification(); + } + + /** + * @param INotification $notification + * @return null + * @throws \InvalidArgumentException When the notification is not valid + * @since 8.2.0 + */ + public function notify(INotification $notification) { + if (!$notification->isValid()) { + throw new \InvalidArgumentException('The given notification is invalid'); + } + + $apps = $this->getApps(); + + foreach ($apps as $app) { + try { + $app->notify($notification); + } catch (\InvalidArgumentException $e) { + } + } + } + + /** + * @param INotification $notification + * @param string $languageCode The code of the language that should be used to prepare the notification + * @return INotification + * @throws \InvalidArgumentException When the notification was not prepared by a notifier + * @since 8.2.0 + */ + public function prepare(INotification $notification, $languageCode) { + $notifiers = $this->getNotifiers(); + + foreach ($notifiers as $notifier) { + try { + $notification = $notifier->prepare($notification, $languageCode); + } catch (\InvalidArgumentException $e) { + continue; + } + + if (!($notification instanceof INotification) || !$notification->isValidParsed()) { + throw new \InvalidArgumentException('The given notification has not been handled'); + } + } + + if (!($notification instanceof INotification) || !$notification->isValidParsed()) { + throw new \InvalidArgumentException('The given notification has not been handled'); + } + + return $notification; + } + + /** + * @param INotification $notification + * @return null + */ + public function markProcessed(INotification $notification) { + $apps = $this->getApps(); + + foreach ($apps as $app) { + $app->markProcessed($notification); + } + } + + /** + * @param INotification $notification + * @return int + */ + public function getCount(INotification $notification) { + $apps = $this->getApps(); + + $count = 0; + foreach ($apps as $app) { + $count += $app->getCount($notification); + } + + return $count; + } +} diff --git a/lib/private/notification/notification.php b/lib/private/notification/notification.php new file mode 100644 index 00000000000..40fe39a956e --- /dev/null +++ b/lib/private/notification/notification.php @@ -0,0 +1,446 @@ +<?php +/** + * @author Joas Schilling <nickvergessen@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 OC\Notification; + + +class Notification implements INotification { + /** @var string */ + protected $app; + + /** @var string */ + protected $user; + + /** @var int */ + protected $timestamp; + + /** @var string */ + protected $objectType; + + /** @var int */ + protected $objectId; + + /** @var string */ + protected $subject; + + /** @var array */ + protected $subjectParameters; + + /** @var string */ + protected $subjectParsed; + + /** @var string */ + protected $message; + + /** @var array */ + protected $messageParameters; + + /** @var string */ + protected $messageParsed; + + /** @var string */ + protected $link; + + /** @var string */ + protected $icon; + + /** @var array */ + protected $actions; + + /** @var array */ + protected $actionsParsed; + + /** + * Constructor + */ + public function __construct() { + $this->app = ''; + $this->user = ''; + $this->timestamp = 0; + $this->objectType = ''; + $this->objectId = 0; + $this->subject = ''; + $this->subjectParameters = []; + $this->subjectParsed = ''; + $this->message = ''; + $this->messageParameters = []; + $this->messageParsed = ''; + $this->link = ''; + $this->icon = ''; + $this->actions = []; + $this->actionsParsed = []; + } + + /** + * @param string $app + * @return $this + * @throws \InvalidArgumentException if the app id is invalid + * @since 8.2.0 + */ + public function setApp($app) { + if (!is_string($app) || $app === '' || isset($app[32])) { + throw new \InvalidArgumentException('The given app name is invalid'); + } + $this->app = $app; + return $this; + } + + /** + * @return string + * @since 8.2.0 + */ + public function getApp() { + return $this->app; + } + + /** + * @param string $user + * @return $this + * @throws \InvalidArgumentException if the user id is invalid + * @since 8.2.0 + */ + public function setUser($user) { + if (!is_string($user) || $user === '' || isset($user[64])) { + throw new \InvalidArgumentException('The given user id is invalid'); + } + $this->user = $user; + return $this; + } + + /** + * @return string + * @since 8.2.0 + */ + public function getUser() { + return $this->user; + } + + /** + * @param int $timestamp + * @return $this + * @throws \InvalidArgumentException if the timestamp is invalid + * @since 8.2.0 + */ + public function setTimestamp($timestamp) { + if (!is_int($timestamp)) { + throw new \InvalidArgumentException('The given timestamp is invalid'); + } + $this->timestamp = $timestamp; + return $this; + } + + /** + * @return int + * @since 8.2.0 + */ + public function getTimestamp() { + return $this->timestamp; + } + + /** + * @param string $type + * @param int $id + * @return $this + * @throws \InvalidArgumentException if the object type or id is invalid + * @since 8.2.0 + */ + public function setObject($type, $id) { + if (!is_string($type) || $type === '' || isset($type[64])) { + throw new \InvalidArgumentException('The given object type is invalid'); + } + $this->objectType = $type; + + if (!is_int($id)) { + throw new \InvalidArgumentException('The given object id is invalid'); + } + $this->objectId = $id; + return $this; + } + + /** + * @return string + * @since 8.2.0 + */ + public function getObjectType() { + return $this->objectType; + } + + /** + * @return int + * @since 8.2.0 + */ + public function getObjectId() { + return $this->objectId; + } + + /** + * @param string $subject + * @param array $parameters + * @return $this + * @throws \InvalidArgumentException if the subject or parameters are invalid + * @since 8.2.0 + */ + public function setSubject($subject, array $parameters = []) { + if (!is_string($subject) || $subject === '' || isset($subject[64])) { + throw new \InvalidArgumentException('The given subject is invalid'); + } + $this->subject = $subject; + + if (!is_array($parameters)) { + throw new \InvalidArgumentException('The given subject parameters are invalid'); + } + $this->subjectParameters = $parameters; + return $this; + } + + /** + * @return string + * @since 8.2.0 + */ + public function getSubject() { + return $this->subject; + } + + /** + * @return string[] + * @since 8.2.0 + */ + public function getSubjectParameters() { + return $this->subjectParameters; + } + + /** + * @param string $subject + * @return $this + * @throws \InvalidArgumentException if the subject are invalid + * @since 8.2.0 + */ + public function setParsedSubject($subject) { + if (!is_string($subject) || $subject === '') { + throw new \InvalidArgumentException('The given parsed subject is invalid'); + } + $this->subjectParsed = $subject; + return $this; + } + + /** + * @return string + * @since 8.2.0 + */ + public function getParsedSubject() { + return $this->subjectParsed; + } + + /** + * @param string $message + * @param array $parameters + * @return $this + * @throws \InvalidArgumentException if the message or parameters are invalid + * @since 8.2.0 + */ + public function setMessage($message, array $parameters = []) { + if (!is_string($message) || $message === '' || isset($message[64])) { + throw new \InvalidArgumentException('The given message is invalid'); + } + $this->message = $message; + + if (!is_array($parameters)) { + throw new \InvalidArgumentException('The given message parameters are invalid'); + } + $this->messageParameters = $parameters; + return $this; + } + + /** + * @return string + * @since 8.2.0 + */ + public function getMessage() { + return $this->message; + } + + /** + * @return string[] + * @since 8.2.0 + */ + public function getMessageParameters() { + return $this->messageParameters; + } + + /** + * @param string $message + * @return $this + * @throws \InvalidArgumentException if the message are invalid + * @since 8.2.0 + */ + public function setParsedMessage($message) { + if (!is_string($message) || $message === '') { + throw new \InvalidArgumentException('The given parsed message is invalid'); + } + $this->messageParsed = $message; + return $this; + } + + /** + * @return string + * @since 8.2.0 + */ + public function getParsedMessage() { + return $this->messageParsed; + } + + /** + * @param string $link + * @return $this + * @throws \InvalidArgumentException if the link are invalid + * @since 8.2.0 + */ + public function setLink($link) { + if (!is_string($link) || $link === '' || isset($link[4000])) { + throw new \InvalidArgumentException('The given link is invalid'); + } + $this->link = $link; + return $this; + } + + /** + * @return string + * @since 8.2.0 + */ + public function getLink() { + return $this->link; + } + + /** + * @param string $icon + * @return $this + * @throws \InvalidArgumentException if the icon are invalid + * @since 8.2.0 + */ + public function setIcon($icon) { + if (!is_string($icon) || $icon === '' || isset($icon[64])) { + throw new \InvalidArgumentException('The given icon is invalid'); + } + $this->icon = $icon; + return $this; + } + + /** + * @return string + * @since 8.2.0 + */ + public function getIcon() { + return $this->icon; + } + + /** + * @return IAction + * @since 8.2.0 + */ + public function createAction() { + return new Action(); + } + + /** + * @param IAction $action + * @return $this + * @throws \InvalidArgumentException if the action are invalid + * @since 8.2.0 + */ + public function addAction(IAction $action) { + if (!$action->isValid()) { + throw new \InvalidArgumentException('The given action is invalid'); + } + $this->actions[] = $action; + return $this; + } + + /** + * @return IAction[] + * @since 8.2.0 + */ + public function getActions() { + return $this->actions; + } + + /** + * @param IAction $action + * @return $this + * @throws \InvalidArgumentException if the action are invalid + * @since 8.2.0 + */ + public function addParsedAction(IAction $action) { + if (!$action->isValidParsed()) { + throw new \InvalidArgumentException('The given parsed action is invalid'); + } + $this->actionsParsed[] = $action; + return $this; + } + + /** + * @return IAction[] + * @since 8.2.0 + */ + public function getParsedActions() { + return $this->actionsParsed; + } + + /** + * @return bool + * @since 8.2.0 + */ + public function isValid() { + return + $this->isValidCommon() + && + $this->getSubject() !== '' + ; + } + + /** + * @return bool + * @since 8.2.0 + */ + public function isValidParsed() { + return + $this->isValidCommon() + && + $this->getParsedSubject() !== '' + ; + } + + /** + * @return bool + */ + protected function isValidCommon() { + return + $this->getApp() !== '' + && + $this->getUser() !== '' + && + $this->getTimestamp() !== 0 + && + $this->getObjectType() !== '' + && + $this->getObjectId() !== 0 + ; + } +} diff --git a/lib/private/server.php b/lib/private/server.php index 24674d2e3c7..9657afbdaec 100644 --- a/lib/private/server.php +++ b/lib/private/server.php @@ -53,6 +53,7 @@ use OC\Lock\DBLockingProvider; use OC\Lock\MemcacheLockingProvider; use OC\Lock\NoopLockingProvider; use OC\Mail\Mailer; +use OC\Notification\Manager; use OC\Security\CertificateManager; use OC\Security\Crypto; use OC\Security\Hasher; @@ -177,8 +178,6 @@ class Server extends SimpleContainer implements IServerContainer { $manager = $c->getUserManager(); $session = new \OC\Session\Memory(''); - $cryptoWrapper = $c->getSessionCryptoWrapper(); - $session = $cryptoWrapper->wrapSession($session); $userSession = new \OC\User\Session($manager, $session); $userSession->listen('\OC\User', 'preCreateUser', function ($uid, $password) { @@ -252,7 +251,7 @@ class Server extends SimpleContainer implements IServerContainer { if($config->getSystemValue('installed', false) && !(defined('PHPUNIT_RUN') && PHPUNIT_RUN)) { $v = \OC_App::getAppVersions(); - $v['core'] = implode('.', \OC_Util::getVersion()); + $v['core'] = md5(file_get_contents(\OC::$SERVERROOT . '/version.php')); $version = implode(',', $v); $instanceId = \OC_Util::getInstanceId(); $path = \OC::$SERVERROOT; @@ -357,7 +356,10 @@ class Server extends SimpleContainer implements IServerContainer { } }); $this->registerService('TempManager', function (Server $c) { - return new TempManager(get_temp_dir(), $c->getLogger()); + return new TempManager( + $c->getLogger(), + $c->getConfig() + ); }); $this->registerService('AppManager', function(Server $c) { return new \OC\App\AppManager( @@ -470,6 +472,14 @@ class Server extends SimpleContainer implements IServerContainer { $c->getURLGenerator(), \OC::$configDir); }); + $this->registerService('MimeTypeLoader', function(Server $c) { + return new \OC\Files\Type\Loader( + $c->getDatabaseConnection() + ); + }); + $this->registerService('NotificationManager', function() { + return new Manager(); + }); $this->registerService('CapabilitiesManager', function (Server $c) { $manager = new \OC\CapabilitiesManager(); $manager->registerCapability(function() use ($c) { @@ -1011,6 +1021,15 @@ class Server extends SimpleContainer implements IServerContainer { } /** + * Get the MimeTypeLoader + * + * @return \OCP\Files\IMimeTypeLoader + */ + public function getMimeTypeLoader() { + return $this->query('MimeTypeLoader'); + } + + /** * Get the manager of all the capabilities * * @return \OC\CapabilitiesManager @@ -1030,9 +1049,51 @@ class Server extends SimpleContainer implements IServerContainer { } /** + * Get the Notification Manager + * + * @return \OC\Notification\IManager + * @since 8.2.0 + */ + public function getNotificationManager() { + return $this->query('NotificationManager'); + } + + /** * @return \OC\Session\CryptoWrapper */ public function getSessionCryptoWrapper() { return $this->query('CryptoWrapper'); } + + /** + * Not a public API as of 8.2, wait for 9.0 + * @return \OCA\Files_External\Service\BackendService + */ + public function getStoragesBackendService() { + return \OC_Mount_Config::$app->getContainer()->query('OCA\\Files_External\\Service\\BackendService'); + } + + /** + * Not a public API as of 8.2, wait for 9.0 + * @return \OCA\Files_External\Service\GlobalStoragesService + */ + public function getGlobalStoragesService() { + return \OC_Mount_Config::$app->getContainer()->query('OCA\\Files_External\\Service\\GlobalStoragesService'); + } + + /** + * Not a public API as of 8.2, wait for 9.0 + * @return \OCA\Files_External\Service\UserGlobalStoragesService + */ + public function getUserGlobalStoragesService() { + return \OC_Mount_Config::$app->getContainer()->query('OCA\\Files_External\\Service\\UserGlobalStoragesService'); + } + + /** + * Not a public API as of 8.2, wait for 9.0 + * @return \OCA\Files_External\Service\UserStoragesService + */ + public function getUserStoragesService() { + return \OC_Mount_Config::$app->getContainer()->query('OCA\\Files_External\\Service\\UserStoragesService'); + } } diff --git a/lib/private/session/cryptosessiondata.php b/lib/private/session/cryptosessiondata.php index 60d22b25e97..6826ede5e33 100644 --- a/lib/private/session/cryptosessiondata.php +++ b/lib/private/session/cryptosessiondata.php @@ -32,22 +32,47 @@ use OCP\Security\ICrypto; class CryptoSessionData implements \ArrayAccess, ISession { /** @var ISession */ protected $session; - /** @var \OCP\Security\ICrypto */ protected $crypto; - /** @var string */ protected $passphrase; + /** @var array */ + protected $sessionValues; + /** @var bool */ + protected $isModified = false; + CONST encryptedSessionName = 'encrypted_session_data'; /** * @param ISession $session * @param ICrypto $crypto * @param string $passphrase */ - public function __construct(ISession $session, ICrypto $crypto, $passphrase) { + public function __construct(ISession $session, + ICrypto $crypto, + $passphrase) { $this->crypto = $crypto; $this->session = $session; $this->passphrase = $passphrase; + $this->initializeSession(); + } + + /** + * Close session if class gets destructed + */ + public function __destruct() { + $this->close(); + } + + protected function initializeSession() { + $encryptedSessionData = $this->session->get(self::encryptedSessionName); + try { + $this->sessionValues = json_decode( + $this->crypto->decrypt($encryptedSessionData, $this->passphrase), + true + ); + } catch (\Exception $e) { + $this->sessionValues = []; + } } /** @@ -57,8 +82,8 @@ class CryptoSessionData implements \ArrayAccess, ISession { * @param mixed $value */ public function set($key, $value) { - $encryptedValue = $this->crypto->encrypt(json_encode($value), $this->passphrase); - $this->session->set($key, $encryptedValue); + $this->sessionValues[$key] = $value; + $this->isModified = true; } /** @@ -68,17 +93,11 @@ class CryptoSessionData implements \ArrayAccess, ISession { * @return string|null Either the value or null */ public function get($key) { - $encryptedValue = $this->session->get($key); - if ($encryptedValue === null) { - return null; + if(isset($this->sessionValues[$key])) { + return $this->sessionValues[$key]; } - try { - $value = $this->crypto->decrypt($encryptedValue, $this->passphrase); - return json_decode($value); - } catch (\Exception $e) { - return null; - } + return null; } /** @@ -88,7 +107,7 @@ class CryptoSessionData implements \ArrayAccess, ISession { * @return bool */ public function exists($key) { - return $this->session->exists($key); + return isset($this->sessionValues[$key]); } /** @@ -97,20 +116,29 @@ class CryptoSessionData implements \ArrayAccess, ISession { * @param string $key */ public function remove($key) { - $this->session->remove($key); + $this->isModified = true; + unset($this->sessionValues[$key]); + $this->session->remove(self::encryptedSessionName); } /** * Reset and recreate the session */ public function clear() { + $this->sessionValues = []; + $this->isModified = true; $this->session->clear(); } /** - * Close the session and release the lock + * Close the session and release the lock, also writes all changed data in batch */ public function close() { + if($this->isModified) { + $encryptedValue = $this->crypto->encrypt(json_encode($this->sessionValues), $this->passphrase); + $this->session->set(self::encryptedSessionName, $encryptedValue); + $this->isModified = false; + } $this->session->close(); } diff --git a/lib/private/session/cryptowrapper.php b/lib/private/session/cryptowrapper.php index 62bdcbfb719..261514d683e 100644 --- a/lib/private/session/cryptowrapper.php +++ b/lib/private/session/cryptowrapper.php @@ -77,7 +77,11 @@ class CryptoWrapper { $secureCookie = $request->getServerProtocol() === 'https'; // FIXME: Required for CI if (!defined('PHPUNIT_RUN')) { - setcookie(self::COOKIE_NAME, $this->passphrase, 0, \OC::$WEBROOT, '', $secureCookie, true); + $webRoot = \OC::$WEBROOT; + if($webRoot === '') { + $webRoot = '/'; + } + setcookie(self::COOKIE_NAME, $this->passphrase, 0, $webRoot, '', $secureCookie, true); } } } diff --git a/lib/private/session/internal.php b/lib/private/session/internal.php index 77197887754..8ee21272104 100644 --- a/lib/private/session/internal.php +++ b/lib/private/session/internal.php @@ -32,6 +32,10 @@ namespace OC\Session; * @package OC\Session */ class Internal extends Session { + /** + * @param string $name + * @throws \Exception + */ public function __construct($name) { session_name($name); set_error_handler(array($this, 'trapError')); @@ -42,10 +46,6 @@ class Internal extends Session { } } - public function __destruct() { - $this->close(); - } - /** * @param string $key * @param integer $value diff --git a/lib/private/share/share.php b/lib/private/share/share.php index 70ed26c0b27..6ad36d60fe8 100644 --- a/lib/private/share/share.php +++ b/lib/private/share/share.php @@ -765,7 +765,7 @@ class Share extends Constants { } // Generate hash of password - same method as user passwords - if (!empty($shareWith)) { + if (is_string($shareWith) && $shareWith !== '') { self::verifyPassword($shareWith); $shareWith = \OC::$server->getHasher()->hash($shareWith); } else { diff --git a/lib/private/tempmanager.php b/lib/private/tempmanager.php index b8cef8e036e..cc7c51d8568 100644 --- a/lib/private/tempmanager.php +++ b/lib/private/tempmanager.php @@ -25,6 +25,7 @@ namespace OC; use OCP\ILogger; +use OCP\IConfig; use OCP\ITempManager; class TempManager implements ITempManager { @@ -34,16 +35,20 @@ class TempManager implements ITempManager { protected $tmpBaseDir; /** @var ILogger */ protected $log; + /** @var IConfig */ + protected $config; + /** Prefix */ const TMP_PREFIX = 'oc_tmp_'; /** - * @param string $baseDir * @param \OCP\ILogger $logger + * @param \OCP\IConfig $config */ - public function __construct($baseDir, ILogger $logger) { - $this->tmpBaseDir = $baseDir; + public function __construct(ILogger $logger, IConfig $config) { $this->log = $logger; + $this->config = $config; + $this->tmpBaseDir = $this->getTempBaseDir(); } /** @@ -190,4 +195,79 @@ class TempManager implements ITempManager { } return $files; } + + /** + * Get the temporary base directory configured on the server + * + * @return string Path to the temporary directory or null + * @throws \UnexpectedValueException + */ + public function getTempBaseDir() { + if ($this->tmpBaseDir) { + return $this->tmpBaseDir; + } + + $directories = []; + if ($temp = $this->config->getSystemValue('tempdirectory', null)) { + $directories[] = $temp; + } + if ($temp = ini_get('upload_tmp_dir')) { + $directories[] = $temp; + } + if ($temp = getenv('TMP')) { + $directories[] = $temp; + } + if ($temp = getenv('TEMP')) { + $directories[] = $temp; + } + if ($temp = getenv('TMPDIR')) { + $directories[] = $temp; + } + $temp = tempnam(__FILE__, ''); + if (file_exists($temp)) { + unlink($temp); + $directories[] = dirname($temp); + } + if ($temp = sys_get_temp_dir()) { + $directories[] = $temp; + } + + foreach ($directories as $dir) { + if ($this->checkTemporaryDirectory($dir)) { + return $dir; + } + } + throw new \UnexpectedValueException('Unable to detect system temporary directory'); + } + + /** + * Check if a temporary directory is ready for use + * + * @param mixed $directory + * @return bool + */ + private function checkTemporaryDirectory($directory) { + // surpress any possible errors caused by is_writable + // checks missing or invalid path or characters, wrong permissions ect + try { + if (is_writeable($directory)) { + return true; + } + } catch (Exception $e) { + } + $this->log->warning('Temporary directory {dir} is not present or writable', + ['dir' => $directory] + ); + return false; + } + + /** + * Override the temporary base directory + * + * @param string $directory + */ + public function overrideTempBaseDir($directory) { + $this->tmpBaseDir = $directory; + } + } diff --git a/lib/private/updater.php b/lib/private/updater.php index f73fa8ff655..71e9732c307 100644 --- a/lib/private/updater.php +++ b/lib/private/updater.php @@ -212,19 +212,26 @@ class Updater extends BasicEmitter { } /** + * Return version from which this version is allowed to upgrade from + * + * @return string allowed previous version + */ + private function getAllowedPreviousVersion() { + // this should really be a JSON file + require \OC::$SERVERROOT . '/version.php'; + return implode('.', $OC_VersionCanBeUpgradedFrom); + } + + /** * Whether an upgrade to a specified version is possible * @param string $oldVersion * @param string $newVersion + * @param string $allowedPreviousVersion * @return bool */ - public function isUpgradePossible($oldVersion, $newVersion) { - $oldVersion = explode('.', $oldVersion); - $newVersion = explode('.', $newVersion); - - if($newVersion[0] > ($oldVersion[0] + 1) || $oldVersion[0] > $newVersion[0]) { - return false; - } - return true; + public function isUpgradePossible($oldVersion, $newVersion, $allowedPreviousVersion) { + return (version_compare($allowedPreviousVersion, $oldVersion, '<=') + && version_compare($oldVersion, $newVersion, '<=')); } /** @@ -259,8 +266,9 @@ class Updater extends BasicEmitter { */ private function doUpgrade($currentVersion, $installedVersion) { // Stop update if the update is over several major versions - if (!self::isUpgradePossible($installedVersion, $currentVersion)) { - throw new \Exception('Updates between multiple major versions are unsupported.'); + $allowedPreviousVersion = $this->getAllowedPreviousVersion(); + if (!self::isUpgradePossible($installedVersion, $currentVersion, $allowedPreviousVersion)) { + throw new \Exception('Updates between multiple major versions and downgrades are unsupported.'); } // Update .htaccess files diff --git a/lib/private/util.php b/lib/private/util.php index 0fda55496dc..eb1de5be5a4 100644 --- a/lib/private/util.php +++ b/lib/private/util.php @@ -1054,6 +1054,7 @@ class OC_Util { return $id; } + protected static $encryptedToken; /** * Register an get/post call. Important to prevent CSRF attacks. * @@ -1066,6 +1067,11 @@ class OC_Util { * @see OC_Util::isCallRegistered() */ public static function callRegister() { + // Use existing token if function has already been called + if(isset(self::$encryptedToken)) { + return self::$encryptedToken; + } + // Check if a token exists if (!\OC::$server->getSession()->exists('requesttoken')) { // No valid token found, generate a new one. @@ -1078,7 +1084,8 @@ class OC_Util { // Encrypt the token to mitigate breach-like attacks $sharedSecret = \OC::$server->getSecureRandom()->getMediumStrengthGenerator()->generate(10); - return \OC::$server->getCrypto()->encrypt($requestToken, $sharedSecret) . ':' . $sharedSecret; + self::$encryptedToken = \OC::$server->getCrypto()->encrypt($requestToken, $sharedSecret) . ':' . $sharedSecret; + return self::$encryptedToken; } /** @@ -1449,8 +1456,12 @@ class OC_Util { if ($config->getSystemValue('installed', false)) { $installedVersion = $config->getSystemValue('version', '0.0.0'); $currentVersion = implode('.', OC_Util::getVersion()); - if (version_compare($currentVersion, $installedVersion, '>')) { + $versionDiff = version_compare($currentVersion, $installedVersion); + if ($versionDiff > 0) { return true; + } else if ($versionDiff < 0) { + // downgrade attempt, throw exception + throw new \OC\HintException('Downgrading is not supported and is likely to cause unpredictable issues (from ' . $installedVersion . ' to ' . $currentVersion . ')'); } // also check for upgrades for apps (independently from the user) diff --git a/lib/public/autoloadnotallowedexception.php b/lib/public/autoloadnotallowedexception.php new file mode 100644 index 00000000000..edb7121c065 --- /dev/null +++ b/lib/public/autoloadnotallowedexception.php @@ -0,0 +1,36 @@ +<?php +/** + * @author Robin McCorkell <rmccorkell@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 OCP; + +/** + * Exception for when a not allowed path is attempted to be autoloaded + * @since 8.2.0 + */ +class AutoloadNotAllowedException extends \DomainException { + /** + * @param string $path + * @since 8.2.0 + */ + public function __construct($path) { + parent::__construct('Autoload path not allowed: '.$path); + } +} + diff --git a/lib/public/files/imimetypeloader.php b/lib/public/files/imimetypeloader.php new file mode 100644 index 00000000000..6d00c4a0b31 --- /dev/null +++ b/lib/public/files/imimetypeloader.php @@ -0,0 +1,66 @@ +<?php +/** + * @author Robin McCorkell <rmccorkell@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 OCP\Files; + +/** + * Interface IMimeTypeLoader + * @package OCP\Files + * @since 8.2.0 + * + * Interface to load mimetypes + **/ +interface IMimeTypeLoader { + + /** + * Get a mimetype from its ID + * + * @param int $id + * @return string|null + * @since 8.2.0 + */ + public function getMimetypeById($id); + + /** + * Get a mimetype ID, adding the mimetype to the DB if it does not exist + * + * @param string $mimetype + * @return int + * @since 8.2.0 + */ + public function getId($mimetype); + + /** + * Test if a mimetype exists in the database + * + * @param string $mimetype + * @return bool + * @since 8.2.0 + */ + public function exists($mimetype); + + /** + * Clear all loaded mimetypes, allow for re-loading + * + * @since 8.2.0 + */ + public function reset(); +} diff --git a/lib/public/http/client/iresponse.php b/lib/public/http/client/iresponse.php index 0e0ef4c5014..92bb7af82dd 100644 --- a/lib/public/http/client/iresponse.php +++ b/lib/public/http/client/iresponse.php @@ -30,7 +30,7 @@ namespace OCP\Http\Client; */ interface IResponse { /** - * @return string + * @return string|resource * @since 8.1.0 */ public function getBody(); diff --git a/lib/public/icontainer.php b/lib/public/icontainer.php index 75ff5e97b69..ffd1d16c97e 100644 --- a/lib/public/icontainer.php +++ b/lib/public/icontainer.php @@ -44,6 +44,16 @@ use Closure; interface IContainer { /** + * If a parameter is not registered in the container try to instantiate it + * by using reflection to find out how to build the class + * @param string $name the class name to resolve + * @return \stdClass + * @since 8.2.0 + * @throws QueryException if the class could not be found or instantiated + */ + public function resolve($name); + + /** * Look up a service for a given name in the container. * * @param string $name diff --git a/lib/public/iservercontainer.php b/lib/public/iservercontainer.php index a6d83156de3..8be23dff214 100644 --- a/lib/public/iservercontainer.php +++ b/lib/public/iservercontainer.php @@ -440,6 +440,13 @@ interface IServerContainer { */ public function getMimeTypeDetector(); + /** + * Get the MimeTypeLoader + * + * @return \OCP\Files\IMimeTypeLoader + * @since 8.2.0 + */ + public function getMimeTypeLoader(); /** * Get the EventDispatcher @@ -448,4 +455,12 @@ interface IServerContainer { * @since 8.2.0 */ public function getEventDispatcher(); + + /** + * Get the Notification Manager + * + * @return \OC\Notification\IManager + * @since 8.2.0 + */ + public function getNotificationManager(); } diff --git a/lib/public/itempmanager.php b/lib/public/itempmanager.php index 7ba5b1e7bff..6364fa71913 100644 --- a/lib/public/itempmanager.php +++ b/lib/public/itempmanager.php @@ -58,4 +58,12 @@ interface ITempManager { * @since 8.0.0 */ public function cleanOld(); + + /** + * Get the temporary base directory + * + * @return string + * @since 8.2.0 + */ + public function getTempBaseDir(); } diff --git a/ocs/routes.php b/ocs/routes.php index f8e6f33c48a..9a8625bcc31 100644 --- a/ocs/routes.php +++ b/ocs/routes.php @@ -104,31 +104,33 @@ API::register( ); // Server-to-Server Sharing -$s2s = new \OCA\Files_Sharing\API\Server2Server(); -API::register('post', +if (\OC::$server->getAppManager()->isEnabledForUser('files_sharing')) { + $s2s = new \OCA\Files_Sharing\API\Server2Server(); + API::register('post', '/cloud/shares', array($s2s, 'createShare'), 'files_sharing', API::GUEST_AUTH -); + ); -API::register('post', + API::register('post', '/cloud/shares/{id}/accept', array($s2s, 'acceptShare'), 'files_sharing', API::GUEST_AUTH -); + ); -API::register('post', + API::register('post', '/cloud/shares/{id}/decline', array($s2s, 'declineShare'), 'files_sharing', API::GUEST_AUTH -); + ); -API::register('post', + API::register('post', '/cloud/shares/{id}/unshare', array($s2s, 'unshare'), 'files_sharing', API::GUEST_AUTH -); + ); +} diff --git a/settings/admin.php b/settings/admin.php index 8410a6671ef..38683438f3a 100644 --- a/settings/admin.php +++ b/settings/admin.php @@ -193,10 +193,13 @@ $template->assign('fileSharingSettings', $fileSharingSettings); $template->assign('filesExternal', $filesExternal); $template->assign('updaterAppPanel', $updaterAppPanel); $template->assign('ocDefaultEncryptionModulePanel', $ocDefaultEncryptionModulePanel); -if (\OC::$server->getLockingProvider() instanceof NoopLockingProvider) { - $template->assign('fileLockingEnabled', false); +$lockingProvider = \OC::$server->getLockingProvider(); +if ($lockingProvider instanceof NoopLockingProvider) { + $template->assign('fileLockingType', 'none'); +} else if ($lockingProvider instanceof \OC\Lock\DBLockingProvider) { + $template->assign('fileLockingType', 'db'); } else { - $template->assign('fileLockingEnabled', true); + $template->assign('fileLockingType', 'cache'); } $formsMap = array_map(function ($form) { @@ -223,7 +226,6 @@ $formsAndMore = array_merge($formsAndMore, $formsMap); $formsAndMore[] = ['anchor' => 'backgroundjobs', 'section-name' => $l->t('Cron')]; $formsAndMore[] = ['anchor' => 'mail_general_settings', 'section-name' => $l->t('Email server')]; $formsAndMore[] = ['anchor' => 'log-section', 'section-name' => $l->t('Log')]; -$formsAndMore[] = ['anchor' => 'server-status', 'section-name' => $l->t('Server status')]; $formsAndMore[] = ['anchor' => 'admin-tips', 'section-name' => $l->t('Tips & tricks')]; if ($updaterAppPanel) { $formsAndMore[] = ['anchor' => 'updater', 'section-name' => $l->t('Updates')]; diff --git a/settings/controller/certificatecontroller.php b/settings/controller/certificatecontroller.php index 92d0961efb7..4c129dcd588 100644 --- a/settings/controller/certificatecontroller.php +++ b/settings/controller/certificatecontroller.php @@ -120,8 +120,8 @@ class CertificateController extends Controller { protected function isCertificateImportAllowed() { $externalStorageEnabled = $this->appManager->isEnabledForUser('files_external'); if ($externalStorageEnabled) { - $backends = \OC_Mount_Config::getPersonalBackends(); - if (!empty($backends)) { + $backendService = \OC_Mount_Config::$app->getContainer()->query('OCA\Files_External\Service\BackendService'); + if ($backendService->getBackendsVisibleFor(\OCA\Files_External\Service\BackendService::VISIBILITY_PERSONAL)) { return true; } } diff --git a/settings/l10n/ca.js b/settings/l10n/ca.js index 40430866067..26410969303 100644 --- a/settings/l10n/ca.js +++ b/settings/l10n/ca.js @@ -10,7 +10,6 @@ OC.L10N.register( "Cron" : "Cron", "Email server" : "Servidor de correu electrònic", "Log" : "Registre", - "Server status" : "Estat del servidor", "Tips & tricks" : "Consells i trucs", "Updates" : "Actualitzacions", "Authentication error" : "Error d'autenticació", diff --git a/settings/l10n/ca.json b/settings/l10n/ca.json index a4836159476..05a02f5e361 100644 --- a/settings/l10n/ca.json +++ b/settings/l10n/ca.json @@ -8,7 +8,6 @@ "Cron" : "Cron", "Email server" : "Servidor de correu electrònic", "Log" : "Registre", - "Server status" : "Estat del servidor", "Tips & tricks" : "Consells i trucs", "Updates" : "Actualitzacions", "Authentication error" : "Error d'autenticació", diff --git a/settings/l10n/cs_CZ.js b/settings/l10n/cs_CZ.js index 7ca3772718e..17f02402aee 100644 --- a/settings/l10n/cs_CZ.js +++ b/settings/l10n/cs_CZ.js @@ -10,7 +10,6 @@ OC.L10N.register( "Cron" : "Cron", "Email server" : "Emailový server", "Log" : "Záznam", - "Server status" : "Stav serveru", "Tips & tricks" : "Tipy a triky", "Updates" : "Aktualizace", "Authentication error" : "Chyba přihlášení", @@ -119,7 +118,6 @@ OC.L10N.register( "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 není nejspíše správně nastaveno pro dotazování na proměnné hodnoty systému. Test s getenv(\"PATH\") vrací pouze prázdnou odpověď.", - "Please check the installation documentation for php configuration notes and the php configuration of your server, especially when using php-fpm." : "Zkontrolujte prosím konfiguraci php podle instalační dokumentace a php konfiguraci na serveru, hlavně při použití php-fpm.", "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Konfigurace je nastavena pouze pro čtení. Toto znemožňuje některá nastavení přes webové rozhraní. Dále musí být pro každou změnu povolen zápis do konfiguračního souboru ručně.", "PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "PHP je patrně nastaveno tak, aby odstraňovalo bloky komentářů. Toto bude mít za následek nedostupnost množství hlavních aplikací.", "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Toto je pravděpodobně způsobeno aplikacemi pro urychlení načítání jako jsou Zend OPcache nebo eAccelerator.", @@ -132,6 +130,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\")" : "Instalace mimo kořenový adresář domény a používání systémového příkazu cron může způsobit problém s generováním správné URL. Pro zabránění těmto chybám nastavte prosím správnou cestu ve svém config.php souboru v hodnotě \"overwrite.cli.url\" (Je doporučena tato: \"%s\")", "It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "Nebylo možné spustit službu cron v CLI. Došlo k následujícím technickým chybám:", "Please double check the <a target=\"_blank\" href=\"%s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"#log-section\">log</a>." : "Ověřte znovu prosím informace z <a target=\"_blank\" href=\"%s\">instalační příručky ↗</a> a zkontrolujte <a href=\"#log-section\">log</a> na výskyt chyb a varování.", + "All checks passed." : "Všechny testy byly úspěšné.", "Open documentation" : "Otevřít dokumentaci", "Allow apps to use the Share API" : "Povolit aplikacím používat API sdílení", "Allow users to share via link" : "Povolit uživatelům sdílení pomocí odkazů", @@ -154,6 +153,12 @@ OC.L10N.register( "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php je registrován u služby webcron, aby volal cron.php jednou za 15 minut přes http.", "Use system's cron service to call the cron.php file every 15 minutes." : "Použít systémovou službu cron pro volání cron.php každých 15 minut.", "Enable server-side encryption" : "Povolit šifrování na straně serveru", + "Please read carefully before activating server-side encryption: " : "Pročtěte prosím důkladně před aktivací šifrování dat na serveru:", + "Server-side 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" : "Šifrování dat na serveru je nevratný proces. Po zapnutí šifrování jsou všechny datové soubory zašifrovány a toto již poté nelze vypnout", + "Anyone who has privileged access to your ownCloud server can decrypt your files either by intercepting requests or reading out user passwords which are stored in plain text session files. Server-side encryption does therefore not protect against malicious administrators but is useful for protecting your data on externally hosted storage." : "Kdokoliv s administrátorským přístupem k tomuto ownCloud serveru má možnost dešifrovat data, buď zachycením požadavků nebo získáním uživatelských hesel, která jsou uložena v čitelné podobě v souborech sezení. Šifrování dat na serveru proto nechrání před administrátory serveru, ale je užitečné jako ochrana vašich dat na externě hostovaném úložišti.", + "Depending on the actual encryption module the general file size is increased (by 35%% or more when using the default module)" : "V závislosti na použitém šifrovacím modulu je velikost zašifrovaných souborů navýšena (o 35%% nebo více při použití výchozího modulu)", + "You should regularly backup all encryption keys to prevent permanent data loss (data/<user>/files_encryption and data/files_encryption)" : "Pro zabránění ztráty dat je třeba pravidelně zálohovat všechny šifrovací klíče (data/<user>/files_encryption a data/files_encryption)", + "This is the final warning: Do you really want to enable encryption?" : "Toto je poslední varování: Opravdu si přejete zapnout šifrování?", "Enable encryption" : "Povolit šifrování", "No encryption module loaded, please enable an encryption module in the app menu." : "Není načten žádný šifrovací modul, povolte ho prosím v menu aplikací.", "Select default encryption module:" : "Vybrat výchozí šifrovací modul:", @@ -180,8 +185,6 @@ OC.L10N.register( "More" : "Více", "Less" : "Méně", "The logfile is bigger than 100 MB. Downloading it may take some time!" : "Soubor logu je větší než 100 MB. Jeho stažení zabere nějaký čas!", - "Transactional File Locking is enabled." : "Transakční zamykání souboru je povoleno.", - "Transactional File Locking is disabled." : "Transakční zamykání souboru není povoleno.", "SQLite is used as database. For larger installations we recommend to switch to a different database backend." : "Je použita databáze SQLite. Pro větší instalace doporučujeme přejít na robustnější databázi.", "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "Obzvláště při používání klientské aplikace pro synchronizaci s desktopem není SQLite doporučeno.", "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" href=\"%s\">documentation ↗</a>." : "Pro migraci na jinou databázi lze použít aplikaci pro příkazový řádek: 'occ db:convert-type', nebo nahlédněte do <a target=\"_blank\" href=\"%s\">dokumentace ↗</a>.", diff --git a/settings/l10n/cs_CZ.json b/settings/l10n/cs_CZ.json index ef0fab25d17..455280dbeb8 100644 --- a/settings/l10n/cs_CZ.json +++ b/settings/l10n/cs_CZ.json @@ -8,7 +8,6 @@ "Cron" : "Cron", "Email server" : "Emailový server", "Log" : "Záznam", - "Server status" : "Stav serveru", "Tips & tricks" : "Tipy a triky", "Updates" : "Aktualizace", "Authentication error" : "Chyba přihlášení", @@ -117,7 +116,6 @@ "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 není nejspíše správně nastaveno pro dotazování na proměnné hodnoty systému. Test s getenv(\"PATH\") vrací pouze prázdnou odpověď.", - "Please check the installation documentation for php configuration notes and the php configuration of your server, especially when using php-fpm." : "Zkontrolujte prosím konfiguraci php podle instalační dokumentace a php konfiguraci na serveru, hlavně při použití php-fpm.", "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Konfigurace je nastavena pouze pro čtení. Toto znemožňuje některá nastavení přes webové rozhraní. Dále musí být pro každou změnu povolen zápis do konfiguračního souboru ručně.", "PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "PHP je patrně nastaveno tak, aby odstraňovalo bloky komentářů. Toto bude mít za následek nedostupnost množství hlavních aplikací.", "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Toto je pravděpodobně způsobeno aplikacemi pro urychlení načítání jako jsou Zend OPcache nebo eAccelerator.", @@ -130,6 +128,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\")" : "Instalace mimo kořenový adresář domény a používání systémového příkazu cron může způsobit problém s generováním správné URL. Pro zabránění těmto chybám nastavte prosím správnou cestu ve svém config.php souboru v hodnotě \"overwrite.cli.url\" (Je doporučena tato: \"%s\")", "It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "Nebylo možné spustit službu cron v CLI. Došlo k následujícím technickým chybám:", "Please double check the <a target=\"_blank\" href=\"%s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"#log-section\">log</a>." : "Ověřte znovu prosím informace z <a target=\"_blank\" href=\"%s\">instalační příručky ↗</a> a zkontrolujte <a href=\"#log-section\">log</a> na výskyt chyb a varování.", + "All checks passed." : "Všechny testy byly úspěšné.", "Open documentation" : "Otevřít dokumentaci", "Allow apps to use the Share API" : "Povolit aplikacím používat API sdílení", "Allow users to share via link" : "Povolit uživatelům sdílení pomocí odkazů", @@ -152,6 +151,12 @@ "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php je registrován u služby webcron, aby volal cron.php jednou za 15 minut přes http.", "Use system's cron service to call the cron.php file every 15 minutes." : "Použít systémovou službu cron pro volání cron.php každých 15 minut.", "Enable server-side encryption" : "Povolit šifrování na straně serveru", + "Please read carefully before activating server-side encryption: " : "Pročtěte prosím důkladně před aktivací šifrování dat na serveru:", + "Server-side 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" : "Šifrování dat na serveru je nevratný proces. Po zapnutí šifrování jsou všechny datové soubory zašifrovány a toto již poté nelze vypnout", + "Anyone who has privileged access to your ownCloud server can decrypt your files either by intercepting requests or reading out user passwords which are stored in plain text session files. Server-side encryption does therefore not protect against malicious administrators but is useful for protecting your data on externally hosted storage." : "Kdokoliv s administrátorským přístupem k tomuto ownCloud serveru má možnost dešifrovat data, buď zachycením požadavků nebo získáním uživatelských hesel, která jsou uložena v čitelné podobě v souborech sezení. Šifrování dat na serveru proto nechrání před administrátory serveru, ale je užitečné jako ochrana vašich dat na externě hostovaném úložišti.", + "Depending on the actual encryption module the general file size is increased (by 35%% or more when using the default module)" : "V závislosti na použitém šifrovacím modulu je velikost zašifrovaných souborů navýšena (o 35%% nebo více při použití výchozího modulu)", + "You should regularly backup all encryption keys to prevent permanent data loss (data/<user>/files_encryption and data/files_encryption)" : "Pro zabránění ztráty dat je třeba pravidelně zálohovat všechny šifrovací klíče (data/<user>/files_encryption a data/files_encryption)", + "This is the final warning: Do you really want to enable encryption?" : "Toto je poslední varování: Opravdu si přejete zapnout šifrování?", "Enable encryption" : "Povolit šifrování", "No encryption module loaded, please enable an encryption module in the app menu." : "Není načten žádný šifrovací modul, povolte ho prosím v menu aplikací.", "Select default encryption module:" : "Vybrat výchozí šifrovací modul:", @@ -178,8 +183,6 @@ "More" : "Více", "Less" : "Méně", "The logfile is bigger than 100 MB. Downloading it may take some time!" : "Soubor logu je větší než 100 MB. Jeho stažení zabere nějaký čas!", - "Transactional File Locking is enabled." : "Transakční zamykání souboru je povoleno.", - "Transactional File Locking is disabled." : "Transakční zamykání souboru není povoleno.", "SQLite is used as database. For larger installations we recommend to switch to a different database backend." : "Je použita databáze SQLite. Pro větší instalace doporučujeme přejít na robustnější databázi.", "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "Obzvláště při používání klientské aplikace pro synchronizaci s desktopem není SQLite doporučeno.", "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" href=\"%s\">documentation ↗</a>." : "Pro migraci na jinou databázi lze použít aplikaci pro příkazový řádek: 'occ db:convert-type', nebo nahlédněte do <a target=\"_blank\" href=\"%s\">dokumentace ↗</a>.", diff --git a/settings/l10n/da.js b/settings/l10n/da.js index e7c7baf4e32..9a2adf5c2a2 100644 --- a/settings/l10n/da.js +++ b/settings/l10n/da.js @@ -10,7 +10,6 @@ OC.L10N.register( "Cron" : "Cron", "Email server" : "E-mailserver", "Log" : "Log", - "Server status" : "ServerStatus", "Tips & tricks" : "Tips & tricks", "Updates" : "Opdateringer", "Authentication error" : "Adgangsfejl", @@ -119,7 +118,6 @@ OC.L10N.register( "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 lader ikke til at være korrekt opsat til at forespørge miljøvariablerne i systemet. Testen med getenv(\"PATH\") returnerer blot et tomt svar.", - "Please check the installation documentation for php configuration notes and the php configuration of your server, especially when using php-fpm." : "Tjek venligst dokumentationen til installation for noterne til konfiguration af php og konfigurationen af php for din server, særligt når php-fpm anvendes.", "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 konfiguration er blevet slået til. Dette forhindrer indstillinger af nogle konfigurationer via webgrænsefladen. I tillæg skal filen gøres skrivbar manuelt for hver opdatering.", "PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "PHP opsætning blokere \"inline doc blocks\". dette gør at flere grundlæggende apps 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", @@ -187,8 +185,6 @@ OC.L10N.register( "More" : "Mere", "Less" : "Mindre", "The logfile is bigger than 100 MB. Downloading it may take some time!" : "Logfilen er større end 100 MB. Det kan tage en del tid at hente den!", - "Transactional File Locking is enabled." : "Transaktionel fillåsning er slået til.", - "Transactional File Locking is disabled." : "Transaktionel fillåsning er slået fra.", "SQLite is used as database. For larger installations we recommend to switch to a different database backend." : "SQLite bruges som database. Til større installationer anbefaler vi at skifte til en anden database-backend.", "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "Brug af SQLite frarådes især når skrivebordsklienten anvendes til filsynkronisering.", "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" href=\"%s\">documentation ↗</a>." : "For at migrere til en anden database, så brug kommandolinjeværktøjet: \"occ db:convert-type\" eller se <a target=\"_blank\" href=\"%s\">dokumentationen ↗</a>.", diff --git a/settings/l10n/da.json b/settings/l10n/da.json index 4656d407098..3ae0aeb173f 100644 --- a/settings/l10n/da.json +++ b/settings/l10n/da.json @@ -8,7 +8,6 @@ "Cron" : "Cron", "Email server" : "E-mailserver", "Log" : "Log", - "Server status" : "ServerStatus", "Tips & tricks" : "Tips & tricks", "Updates" : "Opdateringer", "Authentication error" : "Adgangsfejl", @@ -117,7 +116,6 @@ "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 lader ikke til at være korrekt opsat til at forespørge miljøvariablerne i systemet. Testen med getenv(\"PATH\") returnerer blot et tomt svar.", - "Please check the installation documentation for php configuration notes and the php configuration of your server, especially when using php-fpm." : "Tjek venligst dokumentationen til installation for noterne til konfiguration af php og konfigurationen af php for din server, særligt når php-fpm anvendes.", "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 konfiguration er blevet slået til. Dette forhindrer indstillinger af nogle konfigurationer via webgrænsefladen. I tillæg skal filen gøres skrivbar manuelt for hver opdatering.", "PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "PHP opsætning blokere \"inline doc blocks\". dette gør at flere grundlæggende apps 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", @@ -185,8 +183,6 @@ "More" : "Mere", "Less" : "Mindre", "The logfile is bigger than 100 MB. Downloading it may take some time!" : "Logfilen er større end 100 MB. Det kan tage en del tid at hente den!", - "Transactional File Locking is enabled." : "Transaktionel fillåsning er slået til.", - "Transactional File Locking is disabled." : "Transaktionel fillåsning er slået fra.", "SQLite is used as database. For larger installations we recommend to switch to a different database backend." : "SQLite bruges som database. Til større installationer anbefaler vi at skifte til en anden database-backend.", "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "Brug af SQLite frarådes især når skrivebordsklienten anvendes til filsynkronisering.", "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" href=\"%s\">documentation ↗</a>." : "For at migrere til en anden database, så brug kommandolinjeværktøjet: \"occ db:convert-type\" eller se <a target=\"_blank\" href=\"%s\">dokumentationen ↗</a>.", diff --git a/settings/l10n/de.js b/settings/l10n/de.js index b74a5364d1a..477b954f657 100644 --- a/settings/l10n/de.js +++ b/settings/l10n/de.js @@ -10,7 +10,6 @@ OC.L10N.register( "Cron" : "Cron", "Email server" : "E-Mail-Server", "Log" : "Log", - "Server status" : "Serverstatus", "Tips & tricks" : "Tipps & Tricks", "Updates" : "Updates", "Authentication error" : "Authentifizierungsfehler", @@ -119,7 +118,6 @@ OC.L10N.register( "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 scheint zur Abfrage von Systemumgebungsvariablen nicht richtig eingerichtet zu sein. Der Test mit getenv (\"PATH\") liefert nur eine leere Antwort zurück.", - "Please check the installation documentation for php configuration notes and the php configuration of your server, especially when using php-fpm." : "Bitten überprüfe die Installationsdokumentation auf Hinweise zur PHP-Konfiguration sowie die PHP-Konfiguration Deines Servers, insbesondere dann, wenn Du PHP-FPM einsetzt.", "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Die schreibgeschützte Konfiguration wurde aktiviert. Dies verhindert das Setzen einiger Einstellungen über die Web-Schnittstelle. Weiterhin muss bei jedem Update der Schreibzugriff auf die Datei händisch aktiviert werden.", "PHP is apparently setup 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.", @@ -180,8 +178,6 @@ OC.L10N.register( "More" : "Mehr", "Less" : "Weniger", "The logfile is bigger than 100 MB. Downloading it may take some time!" : "Die Logdatei ist größer als 100 MB. Es kann etwas Zeit beanspruchen, sie herunterzuladen!", - "Transactional File Locking is enabled." : "Transaktionale Dateisperre ist aktiviert.", - "Transactional File Locking is disabled." : "Transaktionale Dateisperre ist deaktiviert.", "SQLite is used as database. For larger installations we recommend to switch to a different database backend." : "SQLite wird als Datenbank verwendet. Bei größeren Installationen wird empfohlen, auf ein anderes Datenbank-Backend zu wechseln.", "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "Insbesondere bei der Nutzung des Desktop Clients zur Dateisynchronisierung wird vom Einsatz von SQLite abgeraten.", "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" href=\"%s\">documentation ↗</a>." : "Um zu einer anderen Datenbank zu migrieren, benutze bitte die Kommandozeile: 'occ db:convert-type', oder in die <a target=\"_blank\" href=\"%s\">Dokumentation ↗</a> schauen.", diff --git a/settings/l10n/de.json b/settings/l10n/de.json index d0e658c3c0f..1a7cbdc3c14 100644 --- a/settings/l10n/de.json +++ b/settings/l10n/de.json @@ -8,7 +8,6 @@ "Cron" : "Cron", "Email server" : "E-Mail-Server", "Log" : "Log", - "Server status" : "Serverstatus", "Tips & tricks" : "Tipps & Tricks", "Updates" : "Updates", "Authentication error" : "Authentifizierungsfehler", @@ -117,7 +116,6 @@ "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 scheint zur Abfrage von Systemumgebungsvariablen nicht richtig eingerichtet zu sein. Der Test mit getenv (\"PATH\") liefert nur eine leere Antwort zurück.", - "Please check the installation documentation for php configuration notes and the php configuration of your server, especially when using php-fpm." : "Bitten überprüfe die Installationsdokumentation auf Hinweise zur PHP-Konfiguration sowie die PHP-Konfiguration Deines Servers, insbesondere dann, wenn Du PHP-FPM einsetzt.", "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Die schreibgeschützte Konfiguration wurde aktiviert. Dies verhindert das Setzen einiger Einstellungen über die Web-Schnittstelle. Weiterhin muss bei jedem Update der Schreibzugriff auf die Datei händisch aktiviert werden.", "PHP is apparently setup 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.", @@ -178,8 +176,6 @@ "More" : "Mehr", "Less" : "Weniger", "The logfile is bigger than 100 MB. Downloading it may take some time!" : "Die Logdatei ist größer als 100 MB. Es kann etwas Zeit beanspruchen, sie herunterzuladen!", - "Transactional File Locking is enabled." : "Transaktionale Dateisperre ist aktiviert.", - "Transactional File Locking is disabled." : "Transaktionale Dateisperre ist deaktiviert.", "SQLite is used as database. For larger installations we recommend to switch to a different database backend." : "SQLite wird als Datenbank verwendet. Bei größeren Installationen wird empfohlen, auf ein anderes Datenbank-Backend zu wechseln.", "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "Insbesondere bei der Nutzung des Desktop Clients zur Dateisynchronisierung wird vom Einsatz von SQLite abgeraten.", "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" href=\"%s\">documentation ↗</a>." : "Um zu einer anderen Datenbank zu migrieren, benutze bitte die Kommandozeile: 'occ db:convert-type', oder in die <a target=\"_blank\" href=\"%s\">Dokumentation ↗</a> schauen.", diff --git a/settings/l10n/de_DE.js b/settings/l10n/de_DE.js index 9c1b5e3fd94..5c931504348 100644 --- a/settings/l10n/de_DE.js +++ b/settings/l10n/de_DE.js @@ -115,7 +115,6 @@ OC.L10N.register( "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 scheint zur Abfrage von Systemumgebungsvariablen nicht richtig eingerichtet zu sein. Der Test mit getenv (\"PATH\") liefert nur eine leere Antwort zurück.", - "Please check the installation documentation for php configuration notes and the php configuration of your server, especially when using php-fpm." : "Bitten überprüfen Sie die Installationsdokumentation auf Hinweise zur PHP-Konfiguration sowie die PHP-Konfiguration Ihres Servers, insbesondere dann, wenn Sie PHP-FPM einsetzen.", "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Die schreibgeschützte Konfiguration wurde aktiviert. Dies verhindert das Setzen einiger Einstellungen über die Web-Schnittstelle. Weiterhin muss bei jedem Update der Schreibzugriff auf die Datei händisch aktiviert werden.", "PHP is apparently setup 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.", @@ -176,8 +175,6 @@ OC.L10N.register( "More" : "Mehr", "Less" : "Weniger", "The logfile is bigger than 100 MB. Downloading it may take some time!" : "Die Logdatei ist größer als 100 MB. Es kann etwas Zeit beanspruchen, sie herunterzuladen!", - "Transactional File Locking is enabled." : "Dateisperren bei Transaktionen sind aktiviert.", - "Transactional File Locking is disabled." : "Dateisperren bei Transaktionen sind deaktiviert.", "SQLite is used as database. For larger installations we recommend to switch to a different database backend." : "SQLite wird als Datenbank verwendet. Bei größeren Installationen wird empfohlen, auf ein anderes Datenbank-Backend zu wechseln.", "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "Insbesondere bei der Nutzung des Desktop Clients zur Dateisynchronisierung wird vom Einsatz von SQLite abgeraten.", "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" href=\"%s\">documentation ↗</a>." : "Um auf eine andere Datenbank zu migrieren, benutzen Sie bitte die Kommandozeile: „occ db:convert-type“ oder konsultieren Sie die <a target=\"_blank\" href=\"%s\">Dokumentation ↗</a>.", diff --git a/settings/l10n/de_DE.json b/settings/l10n/de_DE.json index 046b412337f..0518e75c4e5 100644 --- a/settings/l10n/de_DE.json +++ b/settings/l10n/de_DE.json @@ -113,7 +113,6 @@ "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 scheint zur Abfrage von Systemumgebungsvariablen nicht richtig eingerichtet zu sein. Der Test mit getenv (\"PATH\") liefert nur eine leere Antwort zurück.", - "Please check the installation documentation for php configuration notes and the php configuration of your server, especially when using php-fpm." : "Bitten überprüfen Sie die Installationsdokumentation auf Hinweise zur PHP-Konfiguration sowie die PHP-Konfiguration Ihres Servers, insbesondere dann, wenn Sie PHP-FPM einsetzen.", "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Die schreibgeschützte Konfiguration wurde aktiviert. Dies verhindert das Setzen einiger Einstellungen über die Web-Schnittstelle. Weiterhin muss bei jedem Update der Schreibzugriff auf die Datei händisch aktiviert werden.", "PHP is apparently setup 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.", @@ -174,8 +173,6 @@ "More" : "Mehr", "Less" : "Weniger", "The logfile is bigger than 100 MB. Downloading it may take some time!" : "Die Logdatei ist größer als 100 MB. Es kann etwas Zeit beanspruchen, sie herunterzuladen!", - "Transactional File Locking is enabled." : "Dateisperren bei Transaktionen sind aktiviert.", - "Transactional File Locking is disabled." : "Dateisperren bei Transaktionen sind deaktiviert.", "SQLite is used as database. For larger installations we recommend to switch to a different database backend." : "SQLite wird als Datenbank verwendet. Bei größeren Installationen wird empfohlen, auf ein anderes Datenbank-Backend zu wechseln.", "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "Insbesondere bei der Nutzung des Desktop Clients zur Dateisynchronisierung wird vom Einsatz von SQLite abgeraten.", "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" href=\"%s\">documentation ↗</a>." : "Um auf eine andere Datenbank zu migrieren, benutzen Sie bitte die Kommandozeile: „occ db:convert-type“ oder konsultieren Sie die <a target=\"_blank\" href=\"%s\">Dokumentation ↗</a>.", diff --git a/settings/l10n/el.js b/settings/l10n/el.js index 859bfe296cf..e1ca38deeee 100644 --- a/settings/l10n/el.js +++ b/settings/l10n/el.js @@ -10,7 +10,6 @@ OC.L10N.register( "Cron" : "Cron", "Email server" : "Διακομιστής Email", "Log" : "Καταγραφές", - "Server status" : "Κατάσταση διακομιστή", "Tips & tricks" : "Συμβουλές & τεχνάσματα", "Updates" : "Ενημερώσεις", "Authentication error" : "Σφάλμα πιστοποίησης", @@ -119,18 +118,20 @@ OC.L10N.register( "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 δεν φαίνεται να είναι σωστά ρυθμισμένη για ερωτήματα σε μεταβλητές περιβάλλοντος του συστήματος. Η δοκιμή με την εντολή getenv(\"PATH\") επιστρέφει κενή απάντηση.", - "Please check the installation documentation for php configuration notes and the php configuration of your server, especially when using php-fpm." : "Παρακαλούμε ελέγξτε την τεκμηρίωση της εγκατάστασης για τις σημειώσεις σχετικά με τη διαμόρφωση της php και τη διαμόρφωση της php στο διακομιστή σας, ειδικά όταν χρησιμοποιείτε php-fpm.", + "Please check the <a target=\"_blank\" href=\"%s\">installation documentation ↗</a> for php configuration notes and the php configuration of your server, especially when using php-fpm." : "Παρακαλούμε ελέγξτε την <a target=\"_blank\" href=\"%s\">τεκμηρίωση της εγκατάστασης ↗</a> για τις σημειώσεις σχετικά με τη διαμόρφωση της php και τη διαμόρφωση της php στο διακομιστή σας, ειδικά όταν χρησιμοποιείτε php-fpm.", "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Η ρύθμιση \"μόνο ανάγνωση\" έχει ενεργοποιηθεί. Αυτό εμποδίζει τον καθορισμό κάποιων ρυθμίσεων μέσω της διεπαφής web. Επιπλέον, το αρχείο πρέπει να γίνει χειροκίνητα εγγράψιμο πριν από κάθε διαδικασία ενημέρωσης.", "PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "Ο PHP φαίνεται να είναι ρυθμισμένος ώστε να αφαιρεί μπλοκ εσωτερικών κειμένων (inline doc). Αυτό θα καταστήσει κύριες εφαρμογές μη-διαθέσιμες.", "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Αυτό πιθανόν προκλήθηκε από προσωρινή μνήμη (cache)/επιταχυντή όπως τη Zend OPcache ή τον eAccelerator.", "Your server is running on Microsoft Windows. We highly recommend Linux for optimal user experience." : "Ο διακομιστής σας τρέχει σε Microsoft Windows. Συστήνουμε ιδιαίτερα Linux για τη βέλτιστη εμπειρία του χρήστη.", "%1$s below version %2$s is installed, for stability and performance reasons we recommend to update to a newer %1$s version." : "Είναι εγκατεστημένο το %1$s έκδοση %2$s, για λόγους σταθερότητας και απόδοσης συστήνουμε να αναβαθμίσετε σε νεότερη έκδοση του %1$s.", "The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "Η PHP ενοτητα 'fileinfo' λειπει. Σας συνιστούμε να ενεργοποιήσετε αυτή την ενότητα για να έχετε καλύτερα αποτελέσματα με τον εντοπισμό τύπου MIME. ", + "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" href=\"%s\">documentation ↗</a> for more information." : "Το Transactional file locking είναι απενεργοποιημένο, αυτό μπορεί να οδηγήσει σε προβλήματα με τις race conditions. Ενεργοποιήστε το 'filelocking.enabled' στο config.php για να αποφύγετε αυτά τα προβλήματα. Δείτε την <a target=\"_blank\" href=\"%s\">τεκμηρίωση ↗</a> για περισσότερες πληροφορίες.", "System locale can not be set to a one which supports UTF-8." : "Οι ρυθμίσεις τοποθεσίας συστήματος δεν μπορούν να οριστούν σε κάποιες που δεν υποστηρίζουν UTF-8.", "This means that there might be problems with certain characters in file names." : "Αυτό σημαίνει ότι μπορεί να υπάρχουν προβλήματα με κάποιους χαρακτήρες στα ονόματα αρχείων.", "We strongly suggest installing the required packages on your system to support one of the following locales: %s." : "Προτείνουμε ανεπιφύλακτα να εγκαταστήσετε στο σύστημά σας τα απαιτούμενα πακέτα έτσι ώστε να υποστηρίζεται μια από τις ακόλουθες ρυθμίσεις τοποθεσίας: %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\")" : "Αν η εγκατάστασή σας δεν έχει γίνει στο root του τομέα και χρησιμοποιείται το cron του συστήματος, μπορεί να υπάρξουν ζητήματα με τη δημιουργία URL. Για να αποφύγετε αυτά τα προβλήματα, παρακαλώ ρυθμίστε την επιλογή \"overwrite.cli.url\" στο αρχείο config.php που βρίσκεται στη διαδρομή webroot της εγκατάστασής σας (Suggested: \"%s\")", "It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "Δεν ήταν δυνατή η εκτέλεση της cronjob μέσω τερματικού. Εμφανίστηκαν τα παρακάτω τεχνικά σφάλματα:", + "Transactional file locking is using the database as locking backend, for best performance it's advised to configure a memcache for locking. See the <a target=\"_blank\" href=\"%s\">documentation ↗</a> for more information." : "Το Transactional file locking χρησιμοποιεί τη βάση δεδομένων ως locking backend, για καλύτερες επιδόσεις συστήνουμς τη διαμόρφωση μιας memcache για το κλείδωμα. Δείτε την <a target=\"_blank\" href=\"%s\">τεκμηρίωση ↗</a> για περισσότερες πληροφορίες.", "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>." : "Παρακαλώ ελέγξτε ξανά <a target=\"_blank\" href=\"%s\">τους οδηγούς εγκατάστασης, καθώς επίσης και για τυχόν σφάλματα ή προειδοποιήσεις στο <a href=\"#log-section\">log</a>.", "All checks passed." : "Όλοι οι έλεγχοι επιτυχείς.", "Open documentation" : "Ανοιχτή τεκμηρίωση.", @@ -187,8 +188,6 @@ OC.L10N.register( "More" : "Περισσότερα", "Less" : "Λιγότερα", "The logfile is bigger than 100 MB. Downloading it may take some time!" : "Το αρχείο ιστορικού είναι μεγαλύτερο από 100ΜΒ. Η λήψη του ίσως πάρει λίγη ώρα!", - "Transactional File Locking is enabled." : "Το μεταβατικό κλείδωμα αρχείων είναι ενεργοποιημένο.", - "Transactional File Locking is disabled." : "Το μεταβατικό κλείδωμα αρχείων είναι απενεργοποιημένο.", "SQLite is used as database. For larger installations we recommend to switch to a different database backend." : "Ως βάση δεδομένων χρησιμοποιείται η SQLite. Για μεγαλύτερες εγκαταστάσεις συνιστούμε να επιλέξετε ένα διαφορετικό σύστημα υποστήριξης βάσης δεδομένων.", "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "Ειδικά όταν χρησιμοποιείτε τον πελάτη για συγχρονισμό στον υπολογιστή σας, δεν συνίσταται η χρήση της SQLite.", "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" href=\"%s\">documentation ↗</a>." : "Για να μετακινηθείτε σε άλλη βάση δεδομένων χρησιμοποιήσετε το εργαλείο στη γραμμή εντολών:'occ db:convert-type', ή ανατρέξτε <a target=\"_blank\" href=\"%s\"> στις οδηγίες ↗ </a>.", diff --git a/settings/l10n/el.json b/settings/l10n/el.json index a0b1f0c7f13..92873fb1675 100644 --- a/settings/l10n/el.json +++ b/settings/l10n/el.json @@ -8,7 +8,6 @@ "Cron" : "Cron", "Email server" : "Διακομιστής Email", "Log" : "Καταγραφές", - "Server status" : "Κατάσταση διακομιστή", "Tips & tricks" : "Συμβουλές & τεχνάσματα", "Updates" : "Ενημερώσεις", "Authentication error" : "Σφάλμα πιστοποίησης", @@ -117,18 +116,20 @@ "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 δεν φαίνεται να είναι σωστά ρυθμισμένη για ερωτήματα σε μεταβλητές περιβάλλοντος του συστήματος. Η δοκιμή με την εντολή getenv(\"PATH\") επιστρέφει κενή απάντηση.", - "Please check the installation documentation for php configuration notes and the php configuration of your server, especially when using php-fpm." : "Παρακαλούμε ελέγξτε την τεκμηρίωση της εγκατάστασης για τις σημειώσεις σχετικά με τη διαμόρφωση της php και τη διαμόρφωση της php στο διακομιστή σας, ειδικά όταν χρησιμοποιείτε php-fpm.", + "Please check the <a target=\"_blank\" href=\"%s\">installation documentation ↗</a> for php configuration notes and the php configuration of your server, especially when using php-fpm." : "Παρακαλούμε ελέγξτε την <a target=\"_blank\" href=\"%s\">τεκμηρίωση της εγκατάστασης ↗</a> για τις σημειώσεις σχετικά με τη διαμόρφωση της php και τη διαμόρφωση της php στο διακομιστή σας, ειδικά όταν χρησιμοποιείτε php-fpm.", "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Η ρύθμιση \"μόνο ανάγνωση\" έχει ενεργοποιηθεί. Αυτό εμποδίζει τον καθορισμό κάποιων ρυθμίσεων μέσω της διεπαφής web. Επιπλέον, το αρχείο πρέπει να γίνει χειροκίνητα εγγράψιμο πριν από κάθε διαδικασία ενημέρωσης.", "PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "Ο PHP φαίνεται να είναι ρυθμισμένος ώστε να αφαιρεί μπλοκ εσωτερικών κειμένων (inline doc). Αυτό θα καταστήσει κύριες εφαρμογές μη-διαθέσιμες.", "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Αυτό πιθανόν προκλήθηκε από προσωρινή μνήμη (cache)/επιταχυντή όπως τη Zend OPcache ή τον eAccelerator.", "Your server is running on Microsoft Windows. We highly recommend Linux for optimal user experience." : "Ο διακομιστής σας τρέχει σε Microsoft Windows. Συστήνουμε ιδιαίτερα Linux για τη βέλτιστη εμπειρία του χρήστη.", "%1$s below version %2$s is installed, for stability and performance reasons we recommend to update to a newer %1$s version." : "Είναι εγκατεστημένο το %1$s έκδοση %2$s, για λόγους σταθερότητας και απόδοσης συστήνουμε να αναβαθμίσετε σε νεότερη έκδοση του %1$s.", "The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "Η PHP ενοτητα 'fileinfo' λειπει. Σας συνιστούμε να ενεργοποιήσετε αυτή την ενότητα για να έχετε καλύτερα αποτελέσματα με τον εντοπισμό τύπου MIME. ", + "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" href=\"%s\">documentation ↗</a> for more information." : "Το Transactional file locking είναι απενεργοποιημένο, αυτό μπορεί να οδηγήσει σε προβλήματα με τις race conditions. Ενεργοποιήστε το 'filelocking.enabled' στο config.php για να αποφύγετε αυτά τα προβλήματα. Δείτε την <a target=\"_blank\" href=\"%s\">τεκμηρίωση ↗</a> για περισσότερες πληροφορίες.", "System locale can not be set to a one which supports UTF-8." : "Οι ρυθμίσεις τοποθεσίας συστήματος δεν μπορούν να οριστούν σε κάποιες που δεν υποστηρίζουν UTF-8.", "This means that there might be problems with certain characters in file names." : "Αυτό σημαίνει ότι μπορεί να υπάρχουν προβλήματα με κάποιους χαρακτήρες στα ονόματα αρχείων.", "We strongly suggest installing the required packages on your system to support one of the following locales: %s." : "Προτείνουμε ανεπιφύλακτα να εγκαταστήσετε στο σύστημά σας τα απαιτούμενα πακέτα έτσι ώστε να υποστηρίζεται μια από τις ακόλουθες ρυθμίσεις τοποθεσίας: %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\")" : "Αν η εγκατάστασή σας δεν έχει γίνει στο root του τομέα και χρησιμοποιείται το cron του συστήματος, μπορεί να υπάρξουν ζητήματα με τη δημιουργία URL. Για να αποφύγετε αυτά τα προβλήματα, παρακαλώ ρυθμίστε την επιλογή \"overwrite.cli.url\" στο αρχείο config.php που βρίσκεται στη διαδρομή webroot της εγκατάστασής σας (Suggested: \"%s\")", "It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "Δεν ήταν δυνατή η εκτέλεση της cronjob μέσω τερματικού. Εμφανίστηκαν τα παρακάτω τεχνικά σφάλματα:", + "Transactional file locking is using the database as locking backend, for best performance it's advised to configure a memcache for locking. See the <a target=\"_blank\" href=\"%s\">documentation ↗</a> for more information." : "Το Transactional file locking χρησιμοποιεί τη βάση δεδομένων ως locking backend, για καλύτερες επιδόσεις συστήνουμς τη διαμόρφωση μιας memcache για το κλείδωμα. Δείτε την <a target=\"_blank\" href=\"%s\">τεκμηρίωση ↗</a> για περισσότερες πληροφορίες.", "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>." : "Παρακαλώ ελέγξτε ξανά <a target=\"_blank\" href=\"%s\">τους οδηγούς εγκατάστασης, καθώς επίσης και για τυχόν σφάλματα ή προειδοποιήσεις στο <a href=\"#log-section\">log</a>.", "All checks passed." : "Όλοι οι έλεγχοι επιτυχείς.", "Open documentation" : "Ανοιχτή τεκμηρίωση.", @@ -185,8 +186,6 @@ "More" : "Περισσότερα", "Less" : "Λιγότερα", "The logfile is bigger than 100 MB. Downloading it may take some time!" : "Το αρχείο ιστορικού είναι μεγαλύτερο από 100ΜΒ. Η λήψη του ίσως πάρει λίγη ώρα!", - "Transactional File Locking is enabled." : "Το μεταβατικό κλείδωμα αρχείων είναι ενεργοποιημένο.", - "Transactional File Locking is disabled." : "Το μεταβατικό κλείδωμα αρχείων είναι απενεργοποιημένο.", "SQLite is used as database. For larger installations we recommend to switch to a different database backend." : "Ως βάση δεδομένων χρησιμοποιείται η SQLite. Για μεγαλύτερες εγκαταστάσεις συνιστούμε να επιλέξετε ένα διαφορετικό σύστημα υποστήριξης βάσης δεδομένων.", "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "Ειδικά όταν χρησιμοποιείτε τον πελάτη για συγχρονισμό στον υπολογιστή σας, δεν συνίσταται η χρήση της SQLite.", "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" href=\"%s\">documentation ↗</a>." : "Για να μετακινηθείτε σε άλλη βάση δεδομένων χρησιμοποιήσετε το εργαλείο στη γραμμή εντολών:'occ db:convert-type', ή ανατρέξτε <a target=\"_blank\" href=\"%s\"> στις οδηγίες ↗ </a>.", diff --git a/settings/l10n/en_GB.js b/settings/l10n/en_GB.js index af0d61512e3..3385448f4e4 100644 --- a/settings/l10n/en_GB.js +++ b/settings/l10n/en_GB.js @@ -112,7 +112,6 @@ OC.L10N.register( "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 does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response.", - "Please check the installation documentation for php configuration notes and the php configuration of your server, especially when using php-fpm." : "Please check the installation documentation for php configuration notes and the php configuration of your server, especially when using php-fpm.", "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update.", "PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible.", "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator.", diff --git a/settings/l10n/en_GB.json b/settings/l10n/en_GB.json index bac57ed2974..7a426bbc1f4 100644 --- a/settings/l10n/en_GB.json +++ b/settings/l10n/en_GB.json @@ -110,7 +110,6 @@ "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 does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response.", - "Please check the installation documentation for php configuration notes and the php configuration of your server, especially when using php-fpm." : "Please check the installation documentation for php configuration notes and the php configuration of your server, especially when using php-fpm.", "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update.", "PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible.", "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator.", diff --git a/settings/l10n/es.js b/settings/l10n/es.js index 51c22653ad8..1ffc4e9fcf6 100644 --- a/settings/l10n/es.js +++ b/settings/l10n/es.js @@ -10,7 +10,6 @@ OC.L10N.register( "Cron" : "Cron", "Email server" : "Servidor de correo electrónico", "Log" : "Registro", - "Server status" : "Estado del servidor", "Tips & tricks" : "Sugerencias y trucos", "Updates" : "Actualizaciones", "Authentication error" : "Error de autenticación", @@ -119,7 +118,6 @@ OC.L10N.register( "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 parece que no está configurado correctamente para solicitar las variables de entorno del sistema. La prueba con getenv(\"PATH\") sólo retorna una respuesta vacía.", - "Please check the installation documentation for php configuration notes and the php configuration of your server, especially when using php-fpm." : "Por favor, verifique la documentación de instalación para las notas de configuración de php y la configuración de php en tu servidor, específicamente donde se está usando php-fpm.", "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Se ha habilitado la configuración de sólo lectura. Esto evita que ajustar algunas configuraciones a través de la interfaz web. Además, el archivo debe hacerse modificable manualmente para cada actualización.", "PHP is apparently setup 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 no estén accesibles.", "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.", @@ -132,6 +130,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\")" : "Si su instalación no está ubicada en la raíz del dominio y usa el cron del sistema, puede haber problemas al generarse los URL. Para evitarlos, configure la opción \"overwrite.cli.url\" en su archivo config.php para que use la ruta de la raíz del sitio web de su instalación (sugerencia: \"%s\")", "It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "No fue posible ejecutar cronjob vía CLI. Han aparecido los siguientes errores técnicos:", "Please double check the <a target=\"_blank\" href=\"%s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"#log-section\">log</a>." : "Por favor revise las <a target=\"_blank\" href=\"%s\">guías de instalación ↗</a>, y compruebe los errores o avisos en el <a ref=\"#log-section\">registro</a>.", + "All checks passed." : "Ha pasado todos los controles", "Open documentation" : "Documentación abierta", "Allow apps to use the Share API" : "Permitir a las aplicaciones utilizar la API de Compartición", "Allow users to share via link" : "Permite a los usuarios compartir por medio de enlaces", @@ -155,6 +154,10 @@ OC.L10N.register( "Use system's cron service to call the cron.php file every 15 minutes." : "Usar el servicio cron del sistema para llamar al archivo cron.php cada 15 minutos.", "Enable server-side encryption" : "Habilitar cifrado en el servidor", "Please read carefully before activating server-side encryption: " : "Por favor lea cuidadosamente antes de activar el cifrado del lado del servidor.", + "Server-side 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" : "El cifrado en el lado servidor es un proceso de una sola vía. Una vez el cifrado está habilitado, todos los archivos desde este punto en adelante serán cifrados en el servidor y no será posible deshabilitar el cifrado posteriormente. ", + "Anyone who has privileged access to your ownCloud server can decrypt your files either by intercepting requests or reading out user passwords which are stored in plain text session files. Server-side encryption does therefore not protect against malicious administrators but is useful for protecting your data on externally hosted storage." : "Cualquiera que tenga acceso a este servidor ownCloud, puede descifrar estos archivos, simplemente leyendo la contraseña que se guarda en texto plano en los archivos de sesión. El cifrado del lado servidor, no protege por tanto de administradores malintencionados, pero es ùtil para proteger los datos en almacenes de datos externos de accesos no autorizados. ", + "Depending on the actual encryption module the general file size is increased (by 35%% or more when using the default module)" : "Dependiendo del módulo de cifrado seleccionado, el tamaño de los archivos se puede ver incrementado (hasta un 35%% o más para las opciones por defecto).", + "You should regularly backup all encryption keys to prevent permanent data loss (data/<user>/files_encryption and data/files_encryption)" : "Deberia salvar de forma regular las claves de cifrado para evitar la perdida de datos (data/<user>/files_encryption and data/files_encryption)", "This is the final warning: Do you really want to enable encryption?" : "Esta es la advertencia final. ¿Realmente quiere activar el cifrado?", "Enable encryption" : "Habilitar cifrado", "No encryption module loaded, please enable an encryption module in the app menu." : "No se ha cargado el modulo de cifrado. Por favor habilite un modulo de cifrado en el menú de aplicaciones.", @@ -182,8 +185,6 @@ OC.L10N.register( "More" : "Más", "Less" : "Menos", "The logfile is bigger than 100 MB. Downloading it may take some time!" : "El archivo de registro es mayor de 100 MB. Descargarlo puede tardar.", - "Transactional File Locking is enabled." : "Bloqueo de archivos transaccional está habilitado.", - "Transactional File Locking is disabled." : "Bloqueo de archivos transaccional está deshabilitado.", "SQLite is used as database. For larger installations we recommend to switch to a different database backend." : "Se utiliza SQLite como base de datos. Para instalaciones mas grandes se recomiende cambiar a otro sistema de base de datos. ", "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "El uso de SQLite está desaconsejado especialmente cuando se usa el cliente de escritorio para sincronizar los ficheros.", "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" href=\"%s\">documentation ↗</a>." : "Para migrar a otra base de datos use la herramienta de línea de comandos: 'occ db:convert-type', o consulte la <a target=\"_blank\" href=\"%s\">documentación ↗</a>.", diff --git a/settings/l10n/es.json b/settings/l10n/es.json index 3c0fefc7cfa..b3ee25ce612 100644 --- a/settings/l10n/es.json +++ b/settings/l10n/es.json @@ -8,7 +8,6 @@ "Cron" : "Cron", "Email server" : "Servidor de correo electrónico", "Log" : "Registro", - "Server status" : "Estado del servidor", "Tips & tricks" : "Sugerencias y trucos", "Updates" : "Actualizaciones", "Authentication error" : "Error de autenticación", @@ -117,7 +116,6 @@ "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 parece que no está configurado correctamente para solicitar las variables de entorno del sistema. La prueba con getenv(\"PATH\") sólo retorna una respuesta vacía.", - "Please check the installation documentation for php configuration notes and the php configuration of your server, especially when using php-fpm." : "Por favor, verifique la documentación de instalación para las notas de configuración de php y la configuración de php en tu servidor, específicamente donde se está usando php-fpm.", "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Se ha habilitado la configuración de sólo lectura. Esto evita que ajustar algunas configuraciones a través de la interfaz web. Además, el archivo debe hacerse modificable manualmente para cada actualización.", "PHP is apparently setup 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 no estén accesibles.", "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.", @@ -130,6 +128,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\")" : "Si su instalación no está ubicada en la raíz del dominio y usa el cron del sistema, puede haber problemas al generarse los URL. Para evitarlos, configure la opción \"overwrite.cli.url\" en su archivo config.php para que use la ruta de la raíz del sitio web de su instalación (sugerencia: \"%s\")", "It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "No fue posible ejecutar cronjob vía CLI. Han aparecido los siguientes errores técnicos:", "Please double check the <a target=\"_blank\" href=\"%s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"#log-section\">log</a>." : "Por favor revise las <a target=\"_blank\" href=\"%s\">guías de instalación ↗</a>, y compruebe los errores o avisos en el <a ref=\"#log-section\">registro</a>.", + "All checks passed." : "Ha pasado todos los controles", "Open documentation" : "Documentación abierta", "Allow apps to use the Share API" : "Permitir a las aplicaciones utilizar la API de Compartición", "Allow users to share via link" : "Permite a los usuarios compartir por medio de enlaces", @@ -153,6 +152,10 @@ "Use system's cron service to call the cron.php file every 15 minutes." : "Usar el servicio cron del sistema para llamar al archivo cron.php cada 15 minutos.", "Enable server-side encryption" : "Habilitar cifrado en el servidor", "Please read carefully before activating server-side encryption: " : "Por favor lea cuidadosamente antes de activar el cifrado del lado del servidor.", + "Server-side 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" : "El cifrado en el lado servidor es un proceso de una sola vía. Una vez el cifrado está habilitado, todos los archivos desde este punto en adelante serán cifrados en el servidor y no será posible deshabilitar el cifrado posteriormente. ", + "Anyone who has privileged access to your ownCloud server can decrypt your files either by intercepting requests or reading out user passwords which are stored in plain text session files. Server-side encryption does therefore not protect against malicious administrators but is useful for protecting your data on externally hosted storage." : "Cualquiera que tenga acceso a este servidor ownCloud, puede descifrar estos archivos, simplemente leyendo la contraseña que se guarda en texto plano en los archivos de sesión. El cifrado del lado servidor, no protege por tanto de administradores malintencionados, pero es ùtil para proteger los datos en almacenes de datos externos de accesos no autorizados. ", + "Depending on the actual encryption module the general file size is increased (by 35%% or more when using the default module)" : "Dependiendo del módulo de cifrado seleccionado, el tamaño de los archivos se puede ver incrementado (hasta un 35%% o más para las opciones por defecto).", + "You should regularly backup all encryption keys to prevent permanent data loss (data/<user>/files_encryption and data/files_encryption)" : "Deberia salvar de forma regular las claves de cifrado para evitar la perdida de datos (data/<user>/files_encryption and data/files_encryption)", "This is the final warning: Do you really want to enable encryption?" : "Esta es la advertencia final. ¿Realmente quiere activar el cifrado?", "Enable encryption" : "Habilitar cifrado", "No encryption module loaded, please enable an encryption module in the app menu." : "No se ha cargado el modulo de cifrado. Por favor habilite un modulo de cifrado en el menú de aplicaciones.", @@ -180,8 +183,6 @@ "More" : "Más", "Less" : "Menos", "The logfile is bigger than 100 MB. Downloading it may take some time!" : "El archivo de registro es mayor de 100 MB. Descargarlo puede tardar.", - "Transactional File Locking is enabled." : "Bloqueo de archivos transaccional está habilitado.", - "Transactional File Locking is disabled." : "Bloqueo de archivos transaccional está deshabilitado.", "SQLite is used as database. For larger installations we recommend to switch to a different database backend." : "Se utiliza SQLite como base de datos. Para instalaciones mas grandes se recomiende cambiar a otro sistema de base de datos. ", "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "El uso de SQLite está desaconsejado especialmente cuando se usa el cliente de escritorio para sincronizar los ficheros.", "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" href=\"%s\">documentation ↗</a>." : "Para migrar a otra base de datos use la herramienta de línea de comandos: 'occ db:convert-type', o consulte la <a target=\"_blank\" href=\"%s\">documentación ↗</a>.", diff --git a/settings/l10n/et_EE.js b/settings/l10n/et_EE.js index 372d07bd51e..56e3a7482c0 100644 --- a/settings/l10n/et_EE.js +++ b/settings/l10n/et_EE.js @@ -10,7 +10,6 @@ OC.L10N.register( "Cron" : "Cron", "Email server" : "E-kirjade server", "Log" : "Logi", - "Server status" : "Serveri olek", "Tips & tricks" : "Nõuanded ja trikid", "Updates" : "Uuendused", "Authentication error" : "Autentimise viga", @@ -109,6 +108,7 @@ OC.L10N.register( "The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "PHP moodul 'fileinfo' puudub. Soovitame tungivalt see lisada saavutamaks parimaid tulemusi failitüüpide tuvastamisel.", "System locale can not be set to a one which supports UTF-8." : "Süsteemi lokaliseeringuks ei saa panna sellist, mis toetab UTF-8-t.", "This means that there might be problems with certain characters in file names." : "See tähendab, et võib esineda probleeme failide nimedes mõnede sümbolitega.", + "All checks passed." : "Kõik kontrollid on läbitud.", "Open documentation" : "Ava dokumentatsioon", "Allow apps to use the Share API" : "Luba rakendustel kasutada Share API-t", "Allow users to share via link" : "Luba kasutajatel lingiga jagamist ", diff --git a/settings/l10n/et_EE.json b/settings/l10n/et_EE.json index 5908d9e4149..91d078142b4 100644 --- a/settings/l10n/et_EE.json +++ b/settings/l10n/et_EE.json @@ -8,7 +8,6 @@ "Cron" : "Cron", "Email server" : "E-kirjade server", "Log" : "Logi", - "Server status" : "Serveri olek", "Tips & tricks" : "Nõuanded ja trikid", "Updates" : "Uuendused", "Authentication error" : "Autentimise viga", @@ -107,6 +106,7 @@ "The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "PHP moodul 'fileinfo' puudub. Soovitame tungivalt see lisada saavutamaks parimaid tulemusi failitüüpide tuvastamisel.", "System locale can not be set to a one which supports UTF-8." : "Süsteemi lokaliseeringuks ei saa panna sellist, mis toetab UTF-8-t.", "This means that there might be problems with certain characters in file names." : "See tähendab, et võib esineda probleeme failide nimedes mõnede sümbolitega.", + "All checks passed." : "Kõik kontrollid on läbitud.", "Open documentation" : "Ava dokumentatsioon", "Allow apps to use the Share API" : "Luba rakendustel kasutada Share API-t", "Allow users to share via link" : "Luba kasutajatel lingiga jagamist ", diff --git a/settings/l10n/fi_FI.js b/settings/l10n/fi_FI.js index 63456c91a95..c670d7abb59 100644 --- a/settings/l10n/fi_FI.js +++ b/settings/l10n/fi_FI.js @@ -10,7 +10,6 @@ OC.L10N.register( "Cron" : "Cron", "Email server" : "Sähköpostipalvelin", "Log" : "Loki", - "Server status" : "Palvelimen tila", "Tips & tricks" : "Vinkit", "Updates" : "Päivitykset", "Authentication error" : "Tunnistautumisvirhe", @@ -115,6 +114,7 @@ OC.L10N.register( "NT LAN Manager" : "NT LAN Manager", "SSL" : "SSL", "TLS" : "TLS", + "Please check the <a target=\"_blank\" href=\"%s\">installation documentation ↗</a> for php configuration notes and the php configuration of your server, especially when using php-fpm." : "Tarkista <a target=\"_blank\" href=\"%s\">asennusohjeet ↗</a> PHP-asetusten osalta, erityisesti jos käytössäsi on 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." : "Vain luku -asetukset on otettu käyttöön. Tämä estää joidenkin asetusten määrittämisen selainkäyttöliittymän kautta. Lisäksi kyseinen tiedostoon tulee asettaa kirjoitusoikeus käsin joka päivityksen yhteydessä.", "Your server is running on Microsoft Windows. We highly recommend Linux for optimal user experience." : "Palvelimesi käyttöjärjestelmä on Microsoft Windows. Suosittelemme käyttämään parhaan mahdollisen käyttökokemuksen saavuttamiseksi Linuxia.", "%1$s below version %2$s is installed, for stability and performance reasons we recommend to update to a newer %1$s version." : "%1$s alta version %2$s on asennettu. Vakauden ja suorituskyvyn vuoksi suosittelemme päivittämään uudempaan versioon %1$s.", @@ -149,6 +149,7 @@ OC.L10N.register( "Enable server-side encryption" : "Käytä palvelinpään salausta", "Please read carefully before activating server-side encryption: " : "Lue tarkasti, ennen kuin otat palvelinpään salauksen käyttöön:", "Server-side 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" : "Salausta ei voi perua. Kun salaus on käytössä, kaikki tiedostot siitä hetkestä eteenpäin palvelimella on salattu, eikä salausta voi enää poistaa käytöstä.", + "You should regularly backup all encryption keys to prevent permanent data loss (data/<user>/files_encryption and data/files_encryption)" : "Varmista, että otat säännöllisesti varmuuskopiot salausavaimista, jotta et menetä kaikkia tietoja pysyvästi (data/<käyttäjä>/files_encryption ja data/files_encryption)", "This is the final warning: Do you really want to enable encryption?" : "Tämä on viimeinen varoitus: haluatko varmasti ottaa salauksen käyttöön?", "Enable encryption" : "Käytä salausta", "No encryption module loaded, please enable an encryption module in the app menu." : "Salausmoduulia ei ole käytössä. Ota salausmoduuli käyttöön sovellusvalikosta.", @@ -175,8 +176,6 @@ OC.L10N.register( "More" : "Enemmän", "Less" : "Vähemmän", "The logfile is bigger than 100 MB. Downloading it may take some time!" : "Lokitiedosto on kooltaan yli 100 megatavua. Sen lataaminen saattaa kestää hetken.", - "Transactional File Locking is enabled." : "Transaktiopohjainen tiedostolukitus käytössä.", - "Transactional File Locking is disabled." : "Transaktiopohjainen tiedostolukitus on pois käytöstä.", "SQLite is used as database. For larger installations we recommend to switch to a different database backend." : "SQLitea käytetään tietokantana. Suuria asennuksia varten on suositeltavaa vaihtaa muuhun tietokantaan.", "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "Varsinkin työpöytäsovelluksen tiedostosynkronointia käyttäessä SQLiten käyttö ei ole suositeltavaa.", "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" href=\"%s\">documentation ↗</a>." : "Käytä komentorivityökalua toiseen tietokantaan migraation yhteydessä: 'occ db:convert-type', tai <a target=\"_blank\" href=\"%s\">lue toki myös dokumentaatio ↗</a>.", diff --git a/settings/l10n/fi_FI.json b/settings/l10n/fi_FI.json index 932c3950528..01b79449331 100644 --- a/settings/l10n/fi_FI.json +++ b/settings/l10n/fi_FI.json @@ -8,7 +8,6 @@ "Cron" : "Cron", "Email server" : "Sähköpostipalvelin", "Log" : "Loki", - "Server status" : "Palvelimen tila", "Tips & tricks" : "Vinkit", "Updates" : "Päivitykset", "Authentication error" : "Tunnistautumisvirhe", @@ -113,6 +112,7 @@ "NT LAN Manager" : "NT LAN Manager", "SSL" : "SSL", "TLS" : "TLS", + "Please check the <a target=\"_blank\" href=\"%s\">installation documentation ↗</a> for php configuration notes and the php configuration of your server, especially when using php-fpm." : "Tarkista <a target=\"_blank\" href=\"%s\">asennusohjeet ↗</a> PHP-asetusten osalta, erityisesti jos käytössäsi on 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." : "Vain luku -asetukset on otettu käyttöön. Tämä estää joidenkin asetusten määrittämisen selainkäyttöliittymän kautta. Lisäksi kyseinen tiedostoon tulee asettaa kirjoitusoikeus käsin joka päivityksen yhteydessä.", "Your server is running on Microsoft Windows. We highly recommend Linux for optimal user experience." : "Palvelimesi käyttöjärjestelmä on Microsoft Windows. Suosittelemme käyttämään parhaan mahdollisen käyttökokemuksen saavuttamiseksi Linuxia.", "%1$s below version %2$s is installed, for stability and performance reasons we recommend to update to a newer %1$s version." : "%1$s alta version %2$s on asennettu. Vakauden ja suorituskyvyn vuoksi suosittelemme päivittämään uudempaan versioon %1$s.", @@ -147,6 +147,7 @@ "Enable server-side encryption" : "Käytä palvelinpään salausta", "Please read carefully before activating server-side encryption: " : "Lue tarkasti, ennen kuin otat palvelinpään salauksen käyttöön:", "Server-side 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" : "Salausta ei voi perua. Kun salaus on käytössä, kaikki tiedostot siitä hetkestä eteenpäin palvelimella on salattu, eikä salausta voi enää poistaa käytöstä.", + "You should regularly backup all encryption keys to prevent permanent data loss (data/<user>/files_encryption and data/files_encryption)" : "Varmista, että otat säännöllisesti varmuuskopiot salausavaimista, jotta et menetä kaikkia tietoja pysyvästi (data/<käyttäjä>/files_encryption ja data/files_encryption)", "This is the final warning: Do you really want to enable encryption?" : "Tämä on viimeinen varoitus: haluatko varmasti ottaa salauksen käyttöön?", "Enable encryption" : "Käytä salausta", "No encryption module loaded, please enable an encryption module in the app menu." : "Salausmoduulia ei ole käytössä. Ota salausmoduuli käyttöön sovellusvalikosta.", @@ -173,8 +174,6 @@ "More" : "Enemmän", "Less" : "Vähemmän", "The logfile is bigger than 100 MB. Downloading it may take some time!" : "Lokitiedosto on kooltaan yli 100 megatavua. Sen lataaminen saattaa kestää hetken.", - "Transactional File Locking is enabled." : "Transaktiopohjainen tiedostolukitus käytössä.", - "Transactional File Locking is disabled." : "Transaktiopohjainen tiedostolukitus on pois käytöstä.", "SQLite is used as database. For larger installations we recommend to switch to a different database backend." : "SQLitea käytetään tietokantana. Suuria asennuksia varten on suositeltavaa vaihtaa muuhun tietokantaan.", "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "Varsinkin työpöytäsovelluksen tiedostosynkronointia käyttäessä SQLiten käyttö ei ole suositeltavaa.", "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" href=\"%s\">documentation ↗</a>." : "Käytä komentorivityökalua toiseen tietokantaan migraation yhteydessä: 'occ db:convert-type', tai <a target=\"_blank\" href=\"%s\">lue toki myös dokumentaatio ↗</a>.", diff --git a/settings/l10n/fr.js b/settings/l10n/fr.js index d07fe9ebf26..83b7d5f76d8 100644 --- a/settings/l10n/fr.js +++ b/settings/l10n/fr.js @@ -10,7 +10,6 @@ OC.L10N.register( "Cron" : "Cron", "Email server" : "Serveur e-mail", "Log" : "Log", - "Server status" : "Statut du serveur", "Tips & tricks" : "Trucs et astuces", "Updates" : "Mises à jour", "Authentication error" : "Erreur d'authentification", @@ -119,7 +118,6 @@ OC.L10N.register( "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 ne semble pas être configuré de manière à récupérer les valeurs des variables d’environnement. Le test de la commande getenv(\"PATH\") retourne seulement une réponse vide. ", - "Please check the installation documentation for php configuration notes and the php configuration of your server, especially when using php-fpm." : "Veuillez verifier la documentation d'installation concernant les instructions de configuration de php ainsi que la configuration de votre serveur, en particulier dans le cas où vous utilisez php-fpm.", "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "La configuration est en mode lecture seule. Ceci empêche la modification de certaines configurations via l'interface web. De plus, le fichier doit être passé manuellement en lecture-écriture avant chaque mise à jour.", "PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "PHP est apparemment configuré pour supprimer les blocs de documentation internes. 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.", @@ -187,8 +185,6 @@ OC.L10N.register( "More" : "Plus", "Less" : "Moins", "The logfile is bigger than 100 MB. Downloading it may take some time!" : "La taille du fichier journal excède 100 Mo. Le télécharger peut prendre un certain temps!", - "Transactional File Locking is enabled." : "Le verrouillage transactionnel de fichiers est activé", - "Transactional File Locking is disabled." : "Le verrouillage transactionnel de fichiers est désactivé", "SQLite is used as database. For larger installations we recommend to switch to a different database backend." : "SQLite est actuellement utilisé comme gestionnaire de base de données. Pour des installations plus volumineuses, nous vous conseillons d'utiliser un autre gestionnaire de base de données.", "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "L'utilisation de SQLite est particulièrement déconseillée si vous utilisez le client de bureau pour synchroniser vos données.", "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" href=\"%s\">documentation ↗</a>." : "Pour migrer vers un autre type de base de données, utilisez la ligne de commande : 'occ db:convert-type' ou consultez la <a target=\"_blank\" href=\"%s\">documentation ↗</a>.", diff --git a/settings/l10n/fr.json b/settings/l10n/fr.json index 0688759770c..3cf724abc26 100644 --- a/settings/l10n/fr.json +++ b/settings/l10n/fr.json @@ -8,7 +8,6 @@ "Cron" : "Cron", "Email server" : "Serveur e-mail", "Log" : "Log", - "Server status" : "Statut du serveur", "Tips & tricks" : "Trucs et astuces", "Updates" : "Mises à jour", "Authentication error" : "Erreur d'authentification", @@ -117,7 +116,6 @@ "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 ne semble pas être configuré de manière à récupérer les valeurs des variables d’environnement. Le test de la commande getenv(\"PATH\") retourne seulement une réponse vide. ", - "Please check the installation documentation for php configuration notes and the php configuration of your server, especially when using php-fpm." : "Veuillez verifier la documentation d'installation concernant les instructions de configuration de php ainsi que la configuration de votre serveur, en particulier dans le cas où vous utilisez php-fpm.", "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "La configuration est en mode lecture seule. Ceci empêche la modification de certaines configurations via l'interface web. De plus, le fichier doit être passé manuellement en lecture-écriture avant chaque mise à jour.", "PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "PHP est apparemment configuré pour supprimer les blocs de documentation internes. 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.", @@ -185,8 +183,6 @@ "More" : "Plus", "Less" : "Moins", "The logfile is bigger than 100 MB. Downloading it may take some time!" : "La taille du fichier journal excède 100 Mo. Le télécharger peut prendre un certain temps!", - "Transactional File Locking is enabled." : "Le verrouillage transactionnel de fichiers est activé", - "Transactional File Locking is disabled." : "Le verrouillage transactionnel de fichiers est désactivé", "SQLite is used as database. For larger installations we recommend to switch to a different database backend." : "SQLite est actuellement utilisé comme gestionnaire de base de données. Pour des installations plus volumineuses, nous vous conseillons d'utiliser un autre gestionnaire de base de données.", "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "L'utilisation de SQLite est particulièrement déconseillée si vous utilisez le client de bureau pour synchroniser vos données.", "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" href=\"%s\">documentation ↗</a>." : "Pour migrer vers un autre type de base de données, utilisez la ligne de commande : 'occ db:convert-type' ou consultez la <a target=\"_blank\" href=\"%s\">documentation ↗</a>.", diff --git a/settings/l10n/gl.js b/settings/l10n/gl.js index 650b1d471cc..60ea6e3c846 100644 --- a/settings/l10n/gl.js +++ b/settings/l10n/gl.js @@ -10,7 +10,6 @@ OC.L10N.register( "Cron" : "Cron", "Email server" : "Servidor de correo", "Log" : "Rexistro", - "Server status" : "Estado do servidor", "Tips & tricks" : "Trucos e consellos", "Updates" : "Actualizacións", "Authentication error" : "Produciuse un erro de autenticación", @@ -119,7 +118,6 @@ OC.L10N.register( "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." : "Semella que PHP non está configurado correctamente para consultar as variábeis de entorno do sistema. A proba con getenv(\"PATH\") só devolve unha resposta baleira.", - "Please check the installation documentation for php configuration notes and the php configuration of your server, especially when using php-fpm." : "Consulte a documentación de instalación para ver as notas de configuración de PHP e a configuración PHP do servidor, especialmente se emprega 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." : "Foi activada a restrición da configuración a só lectura. Isto impide o estabelecemento dalgunhas configuracións a través da interface web. Ademais, ten que facer escribíbel manualmente o ficheiro para cada actualización.", "PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "Parece que PHP foi configuración para substituír 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.", @@ -180,8 +178,6 @@ OC.L10N.register( "More" : "Máis", "Less" : "Menos", "The logfile is bigger than 100 MB. Downloading it may take some time!" : "O ficheiro de rexistro é maior de 100 MB. Pódelle levar un anaco descargalo!", - "Transactional File Locking is enabled." : "O bloque transaccional de ficheiros está activado.", - "Transactional File Locking is disabled." : "O bloque transaccional de ficheiros está desactivado.", "SQLite is used as database. For larger installations we recommend to switch to a different database backend." : "Empregase SQLite como base de datos. Para instalacións grandes recomendámoslle que cambie a unha infraestrutura de base de datos diferente.", "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "Concretamente, se emprega o cliente de escritorio para sincronización, desaconsellámoslle o uso de SQLite", "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" href=\"%s\">documentation ↗</a>." : "Para migrar cara outra base de datos, empregue a ferramenta en liña de ordes: «occ db:convert-type», ou vexa a <a target=\"_blank\" href=\"%s\">documentación ↗</a>.", diff --git a/settings/l10n/gl.json b/settings/l10n/gl.json index 1d2bf9b137e..16472c0ac34 100644 --- a/settings/l10n/gl.json +++ b/settings/l10n/gl.json @@ -8,7 +8,6 @@ "Cron" : "Cron", "Email server" : "Servidor de correo", "Log" : "Rexistro", - "Server status" : "Estado do servidor", "Tips & tricks" : "Trucos e consellos", "Updates" : "Actualizacións", "Authentication error" : "Produciuse un erro de autenticación", @@ -117,7 +116,6 @@ "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." : "Semella que PHP non está configurado correctamente para consultar as variábeis de entorno do sistema. A proba con getenv(\"PATH\") só devolve unha resposta baleira.", - "Please check the installation documentation for php configuration notes and the php configuration of your server, especially when using php-fpm." : "Consulte a documentación de instalación para ver as notas de configuración de PHP e a configuración PHP do servidor, especialmente se emprega 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." : "Foi activada a restrición da configuración a só lectura. Isto impide o estabelecemento dalgunhas configuracións a través da interface web. Ademais, ten que facer escribíbel manualmente o ficheiro para cada actualización.", "PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "Parece que PHP foi configuración para substituír 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.", @@ -178,8 +176,6 @@ "More" : "Máis", "Less" : "Menos", "The logfile is bigger than 100 MB. Downloading it may take some time!" : "O ficheiro de rexistro é maior de 100 MB. Pódelle levar un anaco descargalo!", - "Transactional File Locking is enabled." : "O bloque transaccional de ficheiros está activado.", - "Transactional File Locking is disabled." : "O bloque transaccional de ficheiros está desactivado.", "SQLite is used as database. For larger installations we recommend to switch to a different database backend." : "Empregase SQLite como base de datos. Para instalacións grandes recomendámoslle que cambie a unha infraestrutura de base de datos diferente.", "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "Concretamente, se emprega o cliente de escritorio para sincronización, desaconsellámoslle o uso de SQLite", "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" href=\"%s\">documentation ↗</a>." : "Para migrar cara outra base de datos, empregue a ferramenta en liña de ordes: «occ db:convert-type», ou vexa a <a target=\"_blank\" href=\"%s\">documentación ↗</a>.", diff --git a/settings/l10n/hu_HU.js b/settings/l10n/hu_HU.js index cb0400e63b4..226ce7e01d9 100644 --- a/settings/l10n/hu_HU.js +++ b/settings/l10n/hu_HU.js @@ -10,7 +10,6 @@ OC.L10N.register( "Cron" : "Ütemezett feladatok", "Email server" : "E-mail szerver", "Log" : "Naplózás", - "Server status" : "Szerver állapota", "Tips & tricks" : "Tippek és trükkök", "Updates" : "Frissítések", "Authentication error" : "Azonosítási hiba", @@ -60,6 +59,7 @@ OC.L10N.register( "Approved" : "Jóváhagyott", "Experimental" : "Kísérleti", "All" : "Mind", + "This app is not checked for security issues and is new or known to be unstable. Install at your own risk." : "Ez az alkalmazás még nincs biztonságilag ellenőrizve és vagy új, vagy ismert instabil. Telepítés csak saját felelősségre!", "Update to %s" : "Frissítés erre: %s", "Please wait...." : "Kérjük várj...", "Error while disabling app" : "Hiba az alkalmazás letiltása közben", @@ -110,6 +110,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." : "Úgy tűnik, hogy a PHP nem tudja olvasni a rendszer környezeti változóit. A getenv(\"PATH\") teszt visszatérési értéke üres.", + "Please check the <a target=\"_blank\" href=\"%s\">installation documentation ↗</a> for php configuration notes and the php configuration of your server, especially when using php-fpm." : "Kérjük ellenőrizd a <a target=\"_blank\" href=\"%s\">telepítési dokumentációt ↗</a> a PHP konfigurációs beállításaival kapcsolatban, főleg ha PHP-FPM-et használsz.", "PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "Úgy tűnik, hogy a PHP úgy van beállítva, hogy eltávolítja programok belsejében elhelyezett szövegblokkokat. Emiatt a rendszer több alapvető fontosságú eleme működésképtelen lesz.", "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Ezt valószínűleg egy gyorsítótár ill. kódgyorsító, mint pl, a Zend, OPcache vagy eAccelererator okozza.", "Your server is running on Microsoft Windows. We highly recommend Linux for optimal user experience." : "A szervered Microsoft Windowson fut. A legjobb felhasználói élményért erősen javasoljuk, hogy Linuxot használj.", @@ -142,6 +144,7 @@ OC.L10N.register( "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "A cron.php webcron szolgáltatásként van regisztrálva, hogy 15 percenként egyszer lefuttassa a cron.php-t.", "Use system's cron service to call the cron.php file every 15 minutes." : "A rendszer cron szolgáltatását használjuk, mely a cron.php állományt futtatja le 15 percenként.", "Enable server-side encryption" : "Szerveroldali titkosítás engedélyezése", + "Please read carefully before activating server-side encryption: " : "Kérjük, ezt olvasd el figyelmesen mielőtt engedélyezed a szerveroldali titkosítást:", "Server-side 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" : "A szerveroldali titkosítás egyirányú folyamat. Ha egyszer engedélyezve lett a titkosítás, akkor onnantól kezdve a szerveren az összes fájl titkosításra kerül, melyet később nem lehet visszafordítani.", "This is the final warning: Do you really want to enable encryption?" : "Ez az utolsó figyelmeztetés: Biztosan szeretnéd engedélyezni a titkosítást?", "Enable encryption" : "Titkosítás engedélyezése", @@ -170,8 +173,6 @@ OC.L10N.register( "More" : "Több", "Less" : "Kevesebb", "The logfile is bigger than 100 MB. Downloading it may take some time!" : "A naplófájl 100MB-nál nagyobb. A letöltése hosszabb időt vehet igénybe.", - "Transactional File Locking is enabled." : "Tranzakciós fájlzárolás engedélyezve.", - "Transactional File Locking is disabled." : "Tranzakciós fájlzárolás tiltva.", "SQLite is used as database. For larger installations we recommend to switch to a different database backend." : "Adatbázisként az SQLite-ot fogjuk használni. Nagyobb telepítések esetén javasoljuk, hogy váltson másik adatbázis háttérkiszolgálóra", "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "Amikor az asztali klienset használja fálj szinkronizációra, akkor az SQLite használata nem ajánlott.", "How to do backups" : "Hogyan csináljunk biztonsági mentéseket", diff --git a/settings/l10n/hu_HU.json b/settings/l10n/hu_HU.json index 34ea7fc681d..14577924e94 100644 --- a/settings/l10n/hu_HU.json +++ b/settings/l10n/hu_HU.json @@ -8,7 +8,6 @@ "Cron" : "Ütemezett feladatok", "Email server" : "E-mail szerver", "Log" : "Naplózás", - "Server status" : "Szerver állapota", "Tips & tricks" : "Tippek és trükkök", "Updates" : "Frissítések", "Authentication error" : "Azonosítási hiba", @@ -58,6 +57,7 @@ "Approved" : "Jóváhagyott", "Experimental" : "Kísérleti", "All" : "Mind", + "This app is not checked for security issues and is new or known to be unstable. Install at your own risk." : "Ez az alkalmazás még nincs biztonságilag ellenőrizve és vagy új, vagy ismert instabil. Telepítés csak saját felelősségre!", "Update to %s" : "Frissítés erre: %s", "Please wait...." : "Kérjük várj...", "Error while disabling app" : "Hiba az alkalmazás letiltása közben", @@ -108,6 +108,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." : "Úgy tűnik, hogy a PHP nem tudja olvasni a rendszer környezeti változóit. A getenv(\"PATH\") teszt visszatérési értéke üres.", + "Please check the <a target=\"_blank\" href=\"%s\">installation documentation ↗</a> for php configuration notes and the php configuration of your server, especially when using php-fpm." : "Kérjük ellenőrizd a <a target=\"_blank\" href=\"%s\">telepítési dokumentációt ↗</a> a PHP konfigurációs beállításaival kapcsolatban, főleg ha PHP-FPM-et használsz.", "PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "Úgy tűnik, hogy a PHP úgy van beállítva, hogy eltávolítja programok belsejében elhelyezett szövegblokkokat. Emiatt a rendszer több alapvető fontosságú eleme működésképtelen lesz.", "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Ezt valószínűleg egy gyorsítótár ill. kódgyorsító, mint pl, a Zend, OPcache vagy eAccelererator okozza.", "Your server is running on Microsoft Windows. We highly recommend Linux for optimal user experience." : "A szervered Microsoft Windowson fut. A legjobb felhasználói élményért erősen javasoljuk, hogy Linuxot használj.", @@ -140,6 +142,7 @@ "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "A cron.php webcron szolgáltatásként van regisztrálva, hogy 15 percenként egyszer lefuttassa a cron.php-t.", "Use system's cron service to call the cron.php file every 15 minutes." : "A rendszer cron szolgáltatását használjuk, mely a cron.php állományt futtatja le 15 percenként.", "Enable server-side encryption" : "Szerveroldali titkosítás engedélyezése", + "Please read carefully before activating server-side encryption: " : "Kérjük, ezt olvasd el figyelmesen mielőtt engedélyezed a szerveroldali titkosítást:", "Server-side 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" : "A szerveroldali titkosítás egyirányú folyamat. Ha egyszer engedélyezve lett a titkosítás, akkor onnantól kezdve a szerveren az összes fájl titkosításra kerül, melyet később nem lehet visszafordítani.", "This is the final warning: Do you really want to enable encryption?" : "Ez az utolsó figyelmeztetés: Biztosan szeretnéd engedélyezni a titkosítást?", "Enable encryption" : "Titkosítás engedélyezése", @@ -168,8 +171,6 @@ "More" : "Több", "Less" : "Kevesebb", "The logfile is bigger than 100 MB. Downloading it may take some time!" : "A naplófájl 100MB-nál nagyobb. A letöltése hosszabb időt vehet igénybe.", - "Transactional File Locking is enabled." : "Tranzakciós fájlzárolás engedélyezve.", - "Transactional File Locking is disabled." : "Tranzakciós fájlzárolás tiltva.", "SQLite is used as database. For larger installations we recommend to switch to a different database backend." : "Adatbázisként az SQLite-ot fogjuk használni. Nagyobb telepítések esetén javasoljuk, hogy váltson másik adatbázis háttérkiszolgálóra", "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "Amikor az asztali klienset használja fálj szinkronizációra, akkor az SQLite használata nem ajánlott.", "How to do backups" : "Hogyan csináljunk biztonsági mentéseket", diff --git a/settings/l10n/id.js b/settings/l10n/id.js index c36bd864138..141b155da83 100644 --- a/settings/l10n/id.js +++ b/settings/l10n/id.js @@ -10,7 +10,6 @@ OC.L10N.register( "Cron" : "Cron", "Email server" : "Server email", "Log" : "Log", - "Server status" : "Status Server", "Tips & tricks" : "Tips & trik", "Updates" : "Pembaruan", "Authentication error" : "Terjadi kesalahan saat otentikasi", @@ -119,18 +118,20 @@ OC.L10N.register( "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." : "kelihatannya php tidak diatur dengan benar untuk variabel lingkungan sistem kueri. Pemeriksaan dengan getenv(\"PATH\") hanya mengembalikan respon kosong.", - "Please check the installation documentation for php configuration notes and the php configuration of your server, especially when using php-fpm." : "Mohon periksa dokumentasi instalasi untuk catatan konfigurasi php dan konfigurasi php server Anda, terutama saat menggunakan ph-fpm.", + "Please check the <a target=\"_blank\" href=\"%s\">installation documentation ↗</a> for php configuration notes and the php configuration of your server, especially when using php-fpm." : "Silakan periksa <a target=\"_blank\" href=\"%s\">dokumentasi instalasi ↗</a> untuk membaca catatan konfigurasi dan konfigurasi php pada server Anda, terutama ketika menggunakan php-fpm.", "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Konfig Hanya-Baca telah diaktifkan. Ini akan mencegah setelan beberapa konfigurasi melalui antarmuka-web. Selanjutnya, berkas perlu dibuat dapat-dibaca secara manual untuk setiap pembaruan.", "PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "PHP tampaknya disetel menjadi strip inline doc blocks. Hal ini akan membuat beberapa aplikasi inti 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.", "Your server is running on Microsoft Windows. We highly recommend Linux for optimal user experience." : "Server Anda dijalankan di Microsoft Windows. Kami sangat menyarankan Linux untuk mendapatkan pengalaman pengguna yang optimal.", "%1$s below version %2$s is installed, for stability and performance reasons we recommend to update to a newer %1$s version." : "%1$s dibawah versi %2$s telah diinstal, untuk alasan kestabilan dan performa, kami menyarankan untuk memperbarui ke versi %1$s yang lebih baru.", "The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "Module 'fileinfo' pada PHP tidak ada. Kami sangat menyarankan untuk mengaktifkan modul ini untuk mendapatkan hasil terbaik pada proses pendeteksian mime-type.", + "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" href=\"%s\">documentation ↗</a> for more information." : "Transaksi penguncian berkas dinonaktifkan, hal ini dapat menyebabkan masalah dengan kondisi race. Aktifkan 'filelocking.enabled' pada config.php untuk menghindari masalah ini. Baca <a target=\"_blank\" href=\"%s\">dokumentasi ↗</a> untuk informasi lebih lanjut.", "System locale can not be set to a one which supports UTF-8." : "Sistem lokal tidak dapat diatur untuk satu yang mendukung UTF-8.", "This means that there might be problems with certain characters in file names." : "Ini artinya mungkin ada masalah dengan karakter tertentu pada nama berkas.", "We strongly suggest installing the required packages on your system to support one of the following locales: %s." : "Kamu sangat menyarankan untuk menginstal paket-paket yang dibutuhkan pada sistem agar mendukung lokal berikut: %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\")" : "Jika instalasi Anda tidak di root domain dan menggunakan sistem cron, hal tersebut dapat menyebabkan masalah dengan pembuatan URL. Untuk mencegah masalah tersebut, mohon atur opsi \"overwrite.cli.url\" pada berkas config.php Anda ke jalur lokasi webroot instalasi Anda (Disarankan: \"%s\")", "It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "Tidak mungkin untuk mengeksekusi cronjob via CLI. Kesalahan teknis berikut muncul:", + "Transactional file locking is using the database as locking backend, for best performance it's advised to configure a memcache for locking. See the <a target=\"_blank\" href=\"%s\">documentation ↗</a> for more information." : "Transaksi penguncian berkas menggunakan basis data sebagai backend penguncian, untuk mendapatkan kinerja terbaik, disarankan mengkonfigurasi memcache sebagai penguncian. Baca <a target=\"_blank\" href=\"%s\">dokumentasi ↗</a> untuk informasi lebih lanjut.", "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>." : "Mohon periksa dua kali <a target=\"_blank\" href=\"%s\">panduan instalasi ↗</a>, dan periksa segala kesalahan atau peringatan pada <a href=\"#log-section\">log</a>.", "All checks passed." : "Semua pemeriksaan lulus.", "Open documentation" : "Buka dokumentasi", @@ -187,8 +188,6 @@ OC.L10N.register( "More" : "Lainnya", "Less" : "Ciutkan", "The logfile is bigger than 100 MB. Downloading it may take some time!" : "Berkas log lebih besar dari 100MB. Pengunduhan ini memerlukan beberapa saat!", - "Transactional File Locking is enabled." : "Penguncian Berkas Transaksional diaktifkan.", - "Transactional File Locking is disabled." : "Penguncian Berkas Transaksional dinonaktifkan.", "SQLite is used as database. For larger installations we recommend to switch to a different database backend." : "SQLite digunakan sebagai basis data. Untuk instalasi yang lebih besar, kami menyarankan untuk beralih ke backend basis data yang berbeda.", "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "Terutama saat menggunakan klien desktop untuk sinkronisasi berkas, penggunaan SQLite tidak disarankan.", "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" href=\"%s\">documentation ↗</a>." : "Untuk migrasi ke basis data lainnya, gunakan alat baris perintah: 'occ db:convert-type', atau lihat <a target=\"_blank\" href=\"%s\">dokumentasi ↗</a>.", diff --git a/settings/l10n/id.json b/settings/l10n/id.json index 5f6e21dd843..fcc2b647465 100644 --- a/settings/l10n/id.json +++ b/settings/l10n/id.json @@ -8,7 +8,6 @@ "Cron" : "Cron", "Email server" : "Server email", "Log" : "Log", - "Server status" : "Status Server", "Tips & tricks" : "Tips & trik", "Updates" : "Pembaruan", "Authentication error" : "Terjadi kesalahan saat otentikasi", @@ -117,18 +116,20 @@ "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." : "kelihatannya php tidak diatur dengan benar untuk variabel lingkungan sistem kueri. Pemeriksaan dengan getenv(\"PATH\") hanya mengembalikan respon kosong.", - "Please check the installation documentation for php configuration notes and the php configuration of your server, especially when using php-fpm." : "Mohon periksa dokumentasi instalasi untuk catatan konfigurasi php dan konfigurasi php server Anda, terutama saat menggunakan ph-fpm.", + "Please check the <a target=\"_blank\" href=\"%s\">installation documentation ↗</a> for php configuration notes and the php configuration of your server, especially when using php-fpm." : "Silakan periksa <a target=\"_blank\" href=\"%s\">dokumentasi instalasi ↗</a> untuk membaca catatan konfigurasi dan konfigurasi php pada server Anda, terutama ketika menggunakan php-fpm.", "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Konfig Hanya-Baca telah diaktifkan. Ini akan mencegah setelan beberapa konfigurasi melalui antarmuka-web. Selanjutnya, berkas perlu dibuat dapat-dibaca secara manual untuk setiap pembaruan.", "PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "PHP tampaknya disetel menjadi strip inline doc blocks. Hal ini akan membuat beberapa aplikasi inti 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.", "Your server is running on Microsoft Windows. We highly recommend Linux for optimal user experience." : "Server Anda dijalankan di Microsoft Windows. Kami sangat menyarankan Linux untuk mendapatkan pengalaman pengguna yang optimal.", "%1$s below version %2$s is installed, for stability and performance reasons we recommend to update to a newer %1$s version." : "%1$s dibawah versi %2$s telah diinstal, untuk alasan kestabilan dan performa, kami menyarankan untuk memperbarui ke versi %1$s yang lebih baru.", "The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "Module 'fileinfo' pada PHP tidak ada. Kami sangat menyarankan untuk mengaktifkan modul ini untuk mendapatkan hasil terbaik pada proses pendeteksian mime-type.", + "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" href=\"%s\">documentation ↗</a> for more information." : "Transaksi penguncian berkas dinonaktifkan, hal ini dapat menyebabkan masalah dengan kondisi race. Aktifkan 'filelocking.enabled' pada config.php untuk menghindari masalah ini. Baca <a target=\"_blank\" href=\"%s\">dokumentasi ↗</a> untuk informasi lebih lanjut.", "System locale can not be set to a one which supports UTF-8." : "Sistem lokal tidak dapat diatur untuk satu yang mendukung UTF-8.", "This means that there might be problems with certain characters in file names." : "Ini artinya mungkin ada masalah dengan karakter tertentu pada nama berkas.", "We strongly suggest installing the required packages on your system to support one of the following locales: %s." : "Kamu sangat menyarankan untuk menginstal paket-paket yang dibutuhkan pada sistem agar mendukung lokal berikut: %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\")" : "Jika instalasi Anda tidak di root domain dan menggunakan sistem cron, hal tersebut dapat menyebabkan masalah dengan pembuatan URL. Untuk mencegah masalah tersebut, mohon atur opsi \"overwrite.cli.url\" pada berkas config.php Anda ke jalur lokasi webroot instalasi Anda (Disarankan: \"%s\")", "It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "Tidak mungkin untuk mengeksekusi cronjob via CLI. Kesalahan teknis berikut muncul:", + "Transactional file locking is using the database as locking backend, for best performance it's advised to configure a memcache for locking. See the <a target=\"_blank\" href=\"%s\">documentation ↗</a> for more information." : "Transaksi penguncian berkas menggunakan basis data sebagai backend penguncian, untuk mendapatkan kinerja terbaik, disarankan mengkonfigurasi memcache sebagai penguncian. Baca <a target=\"_blank\" href=\"%s\">dokumentasi ↗</a> untuk informasi lebih lanjut.", "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>." : "Mohon periksa dua kali <a target=\"_blank\" href=\"%s\">panduan instalasi ↗</a>, dan periksa segala kesalahan atau peringatan pada <a href=\"#log-section\">log</a>.", "All checks passed." : "Semua pemeriksaan lulus.", "Open documentation" : "Buka dokumentasi", @@ -185,8 +186,6 @@ "More" : "Lainnya", "Less" : "Ciutkan", "The logfile is bigger than 100 MB. Downloading it may take some time!" : "Berkas log lebih besar dari 100MB. Pengunduhan ini memerlukan beberapa saat!", - "Transactional File Locking is enabled." : "Penguncian Berkas Transaksional diaktifkan.", - "Transactional File Locking is disabled." : "Penguncian Berkas Transaksional dinonaktifkan.", "SQLite is used as database. For larger installations we recommend to switch to a different database backend." : "SQLite digunakan sebagai basis data. Untuk instalasi yang lebih besar, kami menyarankan untuk beralih ke backend basis data yang berbeda.", "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "Terutama saat menggunakan klien desktop untuk sinkronisasi berkas, penggunaan SQLite tidak disarankan.", "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" href=\"%s\">documentation ↗</a>." : "Untuk migrasi ke basis data lainnya, gunakan alat baris perintah: 'occ db:convert-type', atau lihat <a target=\"_blank\" href=\"%s\">dokumentasi ↗</a>.", diff --git a/settings/l10n/it.js b/settings/l10n/it.js index 5316867a882..4e6fab34c74 100644 --- a/settings/l10n/it.js +++ b/settings/l10n/it.js @@ -10,7 +10,6 @@ OC.L10N.register( "Cron" : "Cron", "Email server" : "Server di posta", "Log" : "Log", - "Server status" : "Stato del server", "Tips & tricks" : "Suggerimenti e trucchi", "Updates" : "Aggiornamenti", "Authentication error" : "Errore di autenticazione", @@ -119,18 +118,20 @@ OC.L10N.register( "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 non sembra essere configurato correttamente per interrogare le variabili d'ambiente di sistema. Il test con getenv(\"PATH\") restituisce solo una risposta vuota.", - "Please check the installation documentation for php configuration notes and the php configuration of your server, especially when using php-fpm." : "Controlla la documentazione di installazione per le note di configurazione di php e la configurazione del tuo server, specialmente quando utilizzi php-fpm.", + "Please check the <a target=\"_blank\" href=\"%s\">installation documentation ↗</a> for php configuration notes and the php configuration of your server, especially when using php-fpm." : "Controlla la <a target=\"_blank\" href=\"%s\">documentazione di installazione↗</a> per le note di configurazione di php e la configurazione del tuo server, in particolare quando utilizzi php-fpm.", "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "La configurazione di sola lettura è stata abilitata. Ciò impedisce l'impostazione di alcune configurazioni tramite l'interfaccia web. Inoltre, i file devono essere resi scrivibili manualmente per ogni aggiornamento.", "PHP is apparently setup 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.", "Your server is running on Microsoft Windows. We highly recommend Linux for optimal user experience." : "Il tuo server è in esecuzione su Microsoft Windows. Consigliamo vivamente Linux per un'esperienza utente ottimale.", "%1$s below version %2$s is installed, for stability and performance reasons we recommend to update to a newer %1$s version." : "La versione di %1$s installata è anteriore alla %2$s, per motivi di stabilità e prestazioni, consigliamo di aggiornare una una versione di %1$s più recente.", "The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "Il modulo PHP 'fileinfo' non è presente. Consigliamo vivamente di abilitare questo modulo per ottenere risultati migliori con il rilevamento dei tipi MIME.", + "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" href=\"%s\">documentation ↗</a> for more information." : "Il blocco del file transazionale è disabilitato, ciò potrebbe comportare problemi di race condition. Abilita 'filelocking.enabled' nel config-php per evitare questi problemi. Vedi la <a target=\"_blank\" href=\"%s\">documentazione ↗</a> per ulteriori informazioni.", "System locale can not be set to a one which supports UTF-8." : "La localizzazione di sistema non può essere impostata a una che supporta UTF-8.", "This means that there might be problems with certain characters in file names." : "Ciò significa che potrebbero esserci problemi con alcuni caratteri nei nomi dei file.", "We strongly suggest installing the required packages on your system to support one of the following locales: %s." : "Consigliamo vivamente di installare i pacchetti richiesti sul tuo sistema per supportare una delle localizzazioni seguenti: %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\")" : "Se la tua installazione non si trova nella radice del dominio e utilizza il cron di sistema, potrebbero esserci problemi con la generazione degli URL. Per evitare questi problemi, imposta l'opzione \"overwrite.cli.url\" nel file config.php al percorso della radice del sito della tua installazione (Consigliato: \"%s\")", "It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "Non è stato possibile eseguire il job di cron tramite CLI. Sono apparsi i seguenti errori tecnici:", + "Transactional file locking is using the database as locking backend, for best performance it's advised to configure a memcache for locking. See the <a target=\"_blank\" href=\"%s\">documentation ↗</a> for more information." : "Il blocco del file transazionale sta utilizzando il database come motore di blocco, per avere prestazioni migliori, è consigliato configurare una cache di memoria per il blocco. Vedi la <a target=\"_blank\" href=\"%s\">documentazione ↗</a> per ulteriori informazioni.", "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>." : "Leggi attentamente le <a target=\"_blank\" href=\"%s\">guide d'installazione ↗</a>, e controlla gli errori o gli avvisi nel <a href=\"#log-section\">log</a>.", "All checks passed." : "Tutti i controlli passati.", "Open documentation" : "Apri la documentazione", @@ -187,8 +188,6 @@ OC.L10N.register( "More" : "Altro", "Less" : "Meno", "The logfile is bigger than 100 MB. Downloading it may take some time!" : "Il file di log è più grande di 100MB. Scaricarlo potrebbe richiedere del tempo!", - "Transactional File Locking is enabled." : "Il blocco file transazionale è abilitato.", - "Transactional File Locking is disabled." : "Il blocco file transazionale è disabilitato.", "SQLite is used as database. For larger installations we recommend to switch to a different database backend." : "SQLite è utilizzato come database. Per installazioni più grandi consigliamo di passare a un motore di database diverso.", "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "In particolar modo, quando si utilizza il client desktop per la sincronizzazione dei file, l'uso di SQLite è sconsigliato.", "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" href=\"%s\">documentation ↗</a>." : "Per migrare a un altro database, usa lo strumento da riga di comando: 'occ db:convert-type', o leggi la <a target=\"_blank\" href=\"%s\">documentazione ↗</a>.", diff --git a/settings/l10n/it.json b/settings/l10n/it.json index c13d21bf4b7..9c2d6fd6a91 100644 --- a/settings/l10n/it.json +++ b/settings/l10n/it.json @@ -8,7 +8,6 @@ "Cron" : "Cron", "Email server" : "Server di posta", "Log" : "Log", - "Server status" : "Stato del server", "Tips & tricks" : "Suggerimenti e trucchi", "Updates" : "Aggiornamenti", "Authentication error" : "Errore di autenticazione", @@ -117,18 +116,20 @@ "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 non sembra essere configurato correttamente per interrogare le variabili d'ambiente di sistema. Il test con getenv(\"PATH\") restituisce solo una risposta vuota.", - "Please check the installation documentation for php configuration notes and the php configuration of your server, especially when using php-fpm." : "Controlla la documentazione di installazione per le note di configurazione di php e la configurazione del tuo server, specialmente quando utilizzi php-fpm.", + "Please check the <a target=\"_blank\" href=\"%s\">installation documentation ↗</a> for php configuration notes and the php configuration of your server, especially when using php-fpm." : "Controlla la <a target=\"_blank\" href=\"%s\">documentazione di installazione↗</a> per le note di configurazione di php e la configurazione del tuo server, in particolare quando utilizzi php-fpm.", "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "La configurazione di sola lettura è stata abilitata. Ciò impedisce l'impostazione di alcune configurazioni tramite l'interfaccia web. Inoltre, i file devono essere resi scrivibili manualmente per ogni aggiornamento.", "PHP is apparently setup 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.", "Your server is running on Microsoft Windows. We highly recommend Linux for optimal user experience." : "Il tuo server è in esecuzione su Microsoft Windows. Consigliamo vivamente Linux per un'esperienza utente ottimale.", "%1$s below version %2$s is installed, for stability and performance reasons we recommend to update to a newer %1$s version." : "La versione di %1$s installata è anteriore alla %2$s, per motivi di stabilità e prestazioni, consigliamo di aggiornare una una versione di %1$s più recente.", "The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "Il modulo PHP 'fileinfo' non è presente. Consigliamo vivamente di abilitare questo modulo per ottenere risultati migliori con il rilevamento dei tipi MIME.", + "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" href=\"%s\">documentation ↗</a> for more information." : "Il blocco del file transazionale è disabilitato, ciò potrebbe comportare problemi di race condition. Abilita 'filelocking.enabled' nel config-php per evitare questi problemi. Vedi la <a target=\"_blank\" href=\"%s\">documentazione ↗</a> per ulteriori informazioni.", "System locale can not be set to a one which supports UTF-8." : "La localizzazione di sistema non può essere impostata a una che supporta UTF-8.", "This means that there might be problems with certain characters in file names." : "Ciò significa che potrebbero esserci problemi con alcuni caratteri nei nomi dei file.", "We strongly suggest installing the required packages on your system to support one of the following locales: %s." : "Consigliamo vivamente di installare i pacchetti richiesti sul tuo sistema per supportare una delle localizzazioni seguenti: %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\")" : "Se la tua installazione non si trova nella radice del dominio e utilizza il cron di sistema, potrebbero esserci problemi con la generazione degli URL. Per evitare questi problemi, imposta l'opzione \"overwrite.cli.url\" nel file config.php al percorso della radice del sito della tua installazione (Consigliato: \"%s\")", "It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "Non è stato possibile eseguire il job di cron tramite CLI. Sono apparsi i seguenti errori tecnici:", + "Transactional file locking is using the database as locking backend, for best performance it's advised to configure a memcache for locking. See the <a target=\"_blank\" href=\"%s\">documentation ↗</a> for more information." : "Il blocco del file transazionale sta utilizzando il database come motore di blocco, per avere prestazioni migliori, è consigliato configurare una cache di memoria per il blocco. Vedi la <a target=\"_blank\" href=\"%s\">documentazione ↗</a> per ulteriori informazioni.", "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>." : "Leggi attentamente le <a target=\"_blank\" href=\"%s\">guide d'installazione ↗</a>, e controlla gli errori o gli avvisi nel <a href=\"#log-section\">log</a>.", "All checks passed." : "Tutti i controlli passati.", "Open documentation" : "Apri la documentazione", @@ -185,8 +186,6 @@ "More" : "Altro", "Less" : "Meno", "The logfile is bigger than 100 MB. Downloading it may take some time!" : "Il file di log è più grande di 100MB. Scaricarlo potrebbe richiedere del tempo!", - "Transactional File Locking is enabled." : "Il blocco file transazionale è abilitato.", - "Transactional File Locking is disabled." : "Il blocco file transazionale è disabilitato.", "SQLite is used as database. For larger installations we recommend to switch to a different database backend." : "SQLite è utilizzato come database. Per installazioni più grandi consigliamo di passare a un motore di database diverso.", "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "In particolar modo, quando si utilizza il client desktop per la sincronizzazione dei file, l'uso di SQLite è sconsigliato.", "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" href=\"%s\">documentation ↗</a>." : "Per migrare a un altro database, usa lo strumento da riga di comando: 'occ db:convert-type', o leggi la <a target=\"_blank\" href=\"%s\">documentazione ↗</a>.", diff --git a/settings/l10n/ja.js b/settings/l10n/ja.js index 56327a2c9a8..43c75680057 100644 --- a/settings/l10n/ja.js +++ b/settings/l10n/ja.js @@ -10,7 +10,6 @@ OC.L10N.register( "Cron" : "Cron", "Email server" : "メールサーバー", "Log" : "ログ", - "Server status" : "サーバーステータス", "Tips & tricks" : "Tips & tricks", "Updates" : "アップデート", "Authentication error" : "認証エラー", @@ -169,8 +168,6 @@ OC.L10N.register( "More" : "もっと見る", "Less" : "閉じる", "The logfile is bigger than 100 MB. Downloading it may take some time!" : "ログファイルが100MB以上あります。ダウンロードに時間がかかります!", - "Transactional File Locking is enabled." : "トランザクショナル ファイルロックが有効です。", - "Transactional File Locking is disabled." : "トランザクショナル ファイルロックが無効です。", "SQLite is used as database. For larger installations we recommend to switch to a different database backend." : "SQLiteがデータベースとして使用されています。大規模な運用では別のデータベースに切り替えることをお勧めします。", "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "特にデスクトップクライアントをファイル同期に使用する場合,SQLiteは非推奨です.", "How to do backups" : "バックアップ方法", diff --git a/settings/l10n/ja.json b/settings/l10n/ja.json index bff979e842c..cbc130a24e0 100644 --- a/settings/l10n/ja.json +++ b/settings/l10n/ja.json @@ -8,7 +8,6 @@ "Cron" : "Cron", "Email server" : "メールサーバー", "Log" : "ログ", - "Server status" : "サーバーステータス", "Tips & tricks" : "Tips & tricks", "Updates" : "アップデート", "Authentication error" : "認証エラー", @@ -167,8 +166,6 @@ "More" : "もっと見る", "Less" : "閉じる", "The logfile is bigger than 100 MB. Downloading it may take some time!" : "ログファイルが100MB以上あります。ダウンロードに時間がかかります!", - "Transactional File Locking is enabled." : "トランザクショナル ファイルロックが有効です。", - "Transactional File Locking is disabled." : "トランザクショナル ファイルロックが無効です。", "SQLite is used as database. For larger installations we recommend to switch to a different database backend." : "SQLiteがデータベースとして使用されています。大規模な運用では別のデータベースに切り替えることをお勧めします。", "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "特にデスクトップクライアントをファイル同期に使用する場合,SQLiteは非推奨です.", "How to do backups" : "バックアップ方法", diff --git a/settings/l10n/ko.js b/settings/l10n/ko.js index 5e3bc7183f1..fdfcf281457 100644 --- a/settings/l10n/ko.js +++ b/settings/l10n/ko.js @@ -10,7 +10,6 @@ OC.L10N.register( "Cron" : "Cron", "Email server" : "이메일 서버", "Log" : "로그", - "Server status" : "서버 상태", "Tips & tricks" : "팁과 추가 정보", "Updates" : "업데이트", "Authentication error" : "인증 오류", @@ -119,7 +118,7 @@ OC.L10N.register( "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가 시스템 환경 변수를 올바르게 조회할 수 있도록 설정되지 않았습니다. getenv(\"PATH\")의 값이 비어 있습니다.", - "Please check the installation documentation for php configuration notes and the php configuration of your server, especially when using php-fpm." : "설치 문서를 참조하여 php 설정 방법 및 php 설정을 변경하십시오. php-fpm을 사용한다면 더 주의하십시오.", + "Please check the <a target=\"_blank\" href=\"%s\">installation documentation ↗</a> for php configuration notes and the php configuration of your server, especially when using php-fpm." : "<a target=\"_blank\" href=\"%s\">설치 문서↗</a>를 참조하여 php 설정 방법 및 php 설정을 변경하십시오. php-fpm을 사용한다면 더 주의하십시오.", "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "읽기 전용 설정이 활성화되었습니다. 이 상태에서는 웹 인터페이스를 통하여 일부 설정을 변경할 수 없습니다. 또한 매 업데이트마다 파일을 쓸 수 있는 상태로 변경해야 합니다.", "PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "PHP에서 인라인 doc 블록을 삭제하도록 설정되어 있습니다. 일부 코어 앱에 접근할 수 없을 수도 있습니다.", "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Zend OPcache, eAccelerator 같은 캐시/가속기 문제일 수도 있습니다.", @@ -132,6 +131,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\")" : "도메인의 루트 디렉터리 아래에 설치되어 있지 않고 시스템 cron을 사용한다면 URL 생성에 문제가 발생할 수도 있습니다. 이 문제를 해결하려면 설치본의 웹 루트 경로에 있는 config.php 파일의 \"overwrite.cli.url\" 옵션을 변경하십시오(제안: \"%s\")", "It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "CLI로 cronjob을 실행할 수 없었습니다. 다음 기술적 오류가 발생하였습니다:", "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>." : "<a target=\"_blank\" href=\"%s\">설치 가이드 ↗</a>를 다시 확인하시고 <a href=\"#log-section\">로그</a>의 오류 및 경고를 확인하십시오.", + "All checks passed." : "모든 검사를 통과하였습니다.", "Open documentation" : "문서 열기", "Allow apps to use the Share API" : "앱에서 공유 API를 사용할 수 있도록 허용", "Allow users to share via link" : "사용자별 링크 공유 허용", @@ -154,6 +154,12 @@ OC.L10N.register( "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php는 webcron 서비스에 등록되어 HTTP로 15분마다 cron.php에 접근합니다.", "Use system's cron service to call the cron.php file every 15 minutes." : "시스템의 cron 서비스를 통하여 15분마다 cron.php 파일을 실행합니다.", "Enable server-side encryption" : "서버 측 암호화 사용", + "Please read carefully before activating server-side encryption: " : "서버 측 암호화를 활성화하기 전에 읽어 보십시오:", + "Server-side 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" : "서버 측 암호화 작업은 단방향입니다. 암호화를 한 번 활성화하면 그 시점 이후에 서버에 저장되는 모든 파일이 암호화되며 나중에 암호화를 비활성화할 수 없습니다.", + "Anyone who has privileged access to your ownCloud server can decrypt your files either by intercepting requests or reading out user passwords which are stored in plain text session files. Server-side encryption does therefore not protect against malicious administrators but is useful for protecting your data on externally hosted storage." : "ownCloud 서버에 관리자 권한을 가지고 있는 임의의 사용자가 요청을 가로채거나 일반 텍스트 세션 파일에 있는 사용자 암호를 읽어서 암호화를 해제할 수 있습니다. 서버 측 암호화는 악의적인 관리자로부터 파일을 보호할 수는 없으나, 외부에 호스팅된 저장소에 있는 파일을 보호할 수 있습니다.", + "Depending on the actual encryption module the general file size is increased (by 35%% or more when using the default module)" : "암호화 방식에 따라서 파일이 저장된 크기가 증가합니다(기본 모듈 사용 시 최소 35%%)", + "You should regularly backup all encryption keys to prevent permanent data loss (data/<user>/files_encryption and data/files_encryption)" : "데이터 손실을 방지하려면 모든 암호화 키를 주기적으로 백업해야 합니다(data/<user>/files_encryption 및 data/files_encryption)", + "This is the final warning: Do you really want to enable encryption?" : "마지막 경고입니다. 암호화를 활성화하시겠습니까?", "Enable encryption" : "암호화 사용", "No encryption module loaded, please enable an encryption module in the app menu." : "암호화 모듈을 불러오지 않았습니다. 앱 메뉴에서 암호화 모듈을 활성화하십시오.", "Select default encryption module:" : "기본 암호화 모듈 선택:", @@ -180,8 +186,6 @@ OC.L10N.register( "More" : "더 중요함", "Less" : "덜 중요함", "The logfile is bigger than 100 MB. Downloading it may take some time!" : "로그 파일이 100MB보다 큽니다. 다운로드하는 데 시간이 걸릴 수 있습니다!", - "Transactional File Locking is enabled." : "트랜잭션 기반 파일 잠금이 활성화 되었습니다.", - "Transactional File Locking is disabled." : "트랜잭션 기반 파일 잠금이 비활성화 되었습니다.", "SQLite is used as database. For larger installations we recommend to switch to a different database backend." : "데이터베이스로 SQLite를 사용하고 있습니다. 대규모의 파일을 관리하려고 한다면 다른 데이터베이스 백엔드로 전환할 것을 권장합니다.", "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "특히 파일 동기화를 위해 데스크톱 클라이언트를 사용할 예정이면, SQLite를 사용하지 않는 것이 좋습니다.", "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" href=\"%s\">documentation ↗</a>." : "다른 데이터베이스로 이전하려면 다음 명령을 사용하십시오: 'occ db:convert-type' 다른 명령을 알아보려면 <a target=\"_blank\" href=\"%s\">문서 ↗</a>를 참고하십시오.", diff --git a/settings/l10n/ko.json b/settings/l10n/ko.json index b9cc5084cc4..5c05bed51e8 100644 --- a/settings/l10n/ko.json +++ b/settings/l10n/ko.json @@ -8,7 +8,6 @@ "Cron" : "Cron", "Email server" : "이메일 서버", "Log" : "로그", - "Server status" : "서버 상태", "Tips & tricks" : "팁과 추가 정보", "Updates" : "업데이트", "Authentication error" : "인증 오류", @@ -117,7 +116,7 @@ "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가 시스템 환경 변수를 올바르게 조회할 수 있도록 설정되지 않았습니다. getenv(\"PATH\")의 값이 비어 있습니다.", - "Please check the installation documentation for php configuration notes and the php configuration of your server, especially when using php-fpm." : "설치 문서를 참조하여 php 설정 방법 및 php 설정을 변경하십시오. php-fpm을 사용한다면 더 주의하십시오.", + "Please check the <a target=\"_blank\" href=\"%s\">installation documentation ↗</a> for php configuration notes and the php configuration of your server, especially when using php-fpm." : "<a target=\"_blank\" href=\"%s\">설치 문서↗</a>를 참조하여 php 설정 방법 및 php 설정을 변경하십시오. php-fpm을 사용한다면 더 주의하십시오.", "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "읽기 전용 설정이 활성화되었습니다. 이 상태에서는 웹 인터페이스를 통하여 일부 설정을 변경할 수 없습니다. 또한 매 업데이트마다 파일을 쓸 수 있는 상태로 변경해야 합니다.", "PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "PHP에서 인라인 doc 블록을 삭제하도록 설정되어 있습니다. 일부 코어 앱에 접근할 수 없을 수도 있습니다.", "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Zend OPcache, eAccelerator 같은 캐시/가속기 문제일 수도 있습니다.", @@ -130,6 +129,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\")" : "도메인의 루트 디렉터리 아래에 설치되어 있지 않고 시스템 cron을 사용한다면 URL 생성에 문제가 발생할 수도 있습니다. 이 문제를 해결하려면 설치본의 웹 루트 경로에 있는 config.php 파일의 \"overwrite.cli.url\" 옵션을 변경하십시오(제안: \"%s\")", "It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "CLI로 cronjob을 실행할 수 없었습니다. 다음 기술적 오류가 발생하였습니다:", "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>." : "<a target=\"_blank\" href=\"%s\">설치 가이드 ↗</a>를 다시 확인하시고 <a href=\"#log-section\">로그</a>의 오류 및 경고를 확인하십시오.", + "All checks passed." : "모든 검사를 통과하였습니다.", "Open documentation" : "문서 열기", "Allow apps to use the Share API" : "앱에서 공유 API를 사용할 수 있도록 허용", "Allow users to share via link" : "사용자별 링크 공유 허용", @@ -152,6 +152,12 @@ "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php는 webcron 서비스에 등록되어 HTTP로 15분마다 cron.php에 접근합니다.", "Use system's cron service to call the cron.php file every 15 minutes." : "시스템의 cron 서비스를 통하여 15분마다 cron.php 파일을 실행합니다.", "Enable server-side encryption" : "서버 측 암호화 사용", + "Please read carefully before activating server-side encryption: " : "서버 측 암호화를 활성화하기 전에 읽어 보십시오:", + "Server-side 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" : "서버 측 암호화 작업은 단방향입니다. 암호화를 한 번 활성화하면 그 시점 이후에 서버에 저장되는 모든 파일이 암호화되며 나중에 암호화를 비활성화할 수 없습니다.", + "Anyone who has privileged access to your ownCloud server can decrypt your files either by intercepting requests or reading out user passwords which are stored in plain text session files. Server-side encryption does therefore not protect against malicious administrators but is useful for protecting your data on externally hosted storage." : "ownCloud 서버에 관리자 권한을 가지고 있는 임의의 사용자가 요청을 가로채거나 일반 텍스트 세션 파일에 있는 사용자 암호를 읽어서 암호화를 해제할 수 있습니다. 서버 측 암호화는 악의적인 관리자로부터 파일을 보호할 수는 없으나, 외부에 호스팅된 저장소에 있는 파일을 보호할 수 있습니다.", + "Depending on the actual encryption module the general file size is increased (by 35%% or more when using the default module)" : "암호화 방식에 따라서 파일이 저장된 크기가 증가합니다(기본 모듈 사용 시 최소 35%%)", + "You should regularly backup all encryption keys to prevent permanent data loss (data/<user>/files_encryption and data/files_encryption)" : "데이터 손실을 방지하려면 모든 암호화 키를 주기적으로 백업해야 합니다(data/<user>/files_encryption 및 data/files_encryption)", + "This is the final warning: Do you really want to enable encryption?" : "마지막 경고입니다. 암호화를 활성화하시겠습니까?", "Enable encryption" : "암호화 사용", "No encryption module loaded, please enable an encryption module in the app menu." : "암호화 모듈을 불러오지 않았습니다. 앱 메뉴에서 암호화 모듈을 활성화하십시오.", "Select default encryption module:" : "기본 암호화 모듈 선택:", @@ -178,8 +184,6 @@ "More" : "더 중요함", "Less" : "덜 중요함", "The logfile is bigger than 100 MB. Downloading it may take some time!" : "로그 파일이 100MB보다 큽니다. 다운로드하는 데 시간이 걸릴 수 있습니다!", - "Transactional File Locking is enabled." : "트랜잭션 기반 파일 잠금이 활성화 되었습니다.", - "Transactional File Locking is disabled." : "트랜잭션 기반 파일 잠금이 비활성화 되었습니다.", "SQLite is used as database. For larger installations we recommend to switch to a different database backend." : "데이터베이스로 SQLite를 사용하고 있습니다. 대규모의 파일을 관리하려고 한다면 다른 데이터베이스 백엔드로 전환할 것을 권장합니다.", "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "특히 파일 동기화를 위해 데스크톱 클라이언트를 사용할 예정이면, SQLite를 사용하지 않는 것이 좋습니다.", "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" href=\"%s\">documentation ↗</a>." : "다른 데이터베이스로 이전하려면 다음 명령을 사용하십시오: 'occ db:convert-type' 다른 명령을 알아보려면 <a target=\"_blank\" href=\"%s\">문서 ↗</a>를 참고하십시오.", diff --git a/settings/l10n/nb_NO.js b/settings/l10n/nb_NO.js index efdcc9b6de8..84466f61617 100644 --- a/settings/l10n/nb_NO.js +++ b/settings/l10n/nb_NO.js @@ -30,7 +30,9 @@ OC.L10N.register( "Unable to change password" : "Kunne ikke endre passord", "Enabled" : "Aktiv", "Not enabled" : "Ikke aktivert", + "installing and updating apps via the app store or Federated Cloud Sharing" : "installering og oppdatering av apper via app-butikken eller ved deling i Sammenknyttet sky", "Federated Cloud Sharing" : "Sammenknyttet sky-deling", + "cURL is using an outdated %s version (%s). Please update your operating system or features such as %s will not work reliably." : "cURL bruker en utdatert %s-versjon (%s). Vennligst oppdater operativsystemet ditt; ellers vil ikke funksjoner som %s virke korrekt.", "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.", @@ -75,6 +77,7 @@ OC.L10N.register( "Uninstalling ...." : "Avinstallerer ....", "Error while uninstalling app" : "Feil ved avinstallering av app", "Uninstall" : "Avinstaller", + "An error occurred: {message}" : "Det oppstod en feil: {message}", "Select a profile picture" : "Velg et profilbilde", "Very weak password" : "Veldig svakt passord", "Weak password" : "Svakt passord", @@ -115,19 +118,22 @@ OC.L10N.register( "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.", + "Please check the <a target=\"_blank\" href=\"%s\">installation documentation ↗</a> for php configuration notes and the php configuration of your server, especially when using php-fpm." : "Sjekk <a target=\"_blank\" href=\"%s\">installasjonsdokumentasjonen ↗</a> 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.", "Your server is running on Microsoft Windows. We highly recommend Linux for optimal user experience." : "Serveren din kjører på Microsoft Windows. Vi anbefaler strekt Linux for en optimal brukeropplevelse.", "%1$s below version %2$s is installed, for stability and performance reasons we recommend to update to a newer %1$s version." : "%1$s lavere enn versjon %2$s er installert. Vi anbefaler å oppgradere til en nyere %1$s-versjon for å få bedre stabilitet og ytelse.", "The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "PHP modulen 'fileinfo' mangler. Vi anbefaler at du aktiverer denne modulen for å kunne detektere mime-typen korrekt.", + "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" href=\"%s\">documentation ↗</a> for more information." : "Transaksjonsbasert fil-låsing er deaktivert. Dette kan føre til problemer med kappløpssituasjoner. Aktiver 'filelocking.enabled' i config.php for å unngå disse problemene. Se <a target=\"_blank\" href=\"%s\">dokumentasjonen ↗</a> for mer informasjon.", "System locale can not be set to a one which supports UTF-8." : "Kan ikke sette systemets nasjonale innstillinger til en som støtter UTF-8.", "This means that there might be problems with certain characters in file names." : "Dette betyr at det kan forekomme problemer med visse tegn i filnavn.", "We strongly suggest installing the required packages on your system to support one of the following locales: %s." : "Vi anbefaler sterkt å installere de påkrevde pakkene på systemet ditt for å støtte en av følgende nasjonale innstillinger: %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\")" : "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:", + "Transactional file locking is using the database as locking backend, for best performance it's advised to configure a memcache for locking. See the <a target=\"_blank\" href=\"%s\">documentation ↗</a> for more information." : "Transaksjonsbasert fil-låsing bruker databasen som låsemekanisme. For best ytelse anbefales det å konfigurerer en memcache for låsing. Se <a target=\"_blank\" href=\"%s\">dokumentasjonen ↗</a> for mer informasjon.", "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>.", + "All checks passed." : "Alle sjekker bestått.", "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", @@ -150,6 +156,12 @@ OC.L10N.register( "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php er registrert i en webcron-tjeneste for å kalle cron.php hvert 15. minutt over http.", "Use system's cron service to call the cron.php file every 15 minutes." : "Bruk systemets cron-tjeneste til å kalle cron.php hvert 15. minutt.", "Enable server-side encryption" : "Aktiver serverkryptering", + "Please read carefully before activating server-side encryption: " : "Vennligst les dette nøye før du aktiverer serverkrykptering:", + "Server-side 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" : "Serverkryptering er en enveisprosess. Når kryptering er blitt aktivert, vil alle filer fra det tidspunktet av bli kryptert på serveren og det vil ikke være mulig å deaktivere kryptering senere.", + "Anyone who has privileged access to your ownCloud server can decrypt your files either by intercepting requests or reading out user passwords which are stored in plain text session files. Server-side encryption does therefore not protect against malicious administrators but is useful for protecting your data on externally hosted storage." : "Alle som har privilegert tilgang til ownCloud-serveren din kan dekryptere filene dine enten ved å fange opp forespørsler eller ved å lese brukerpassord som er lagret i klartekst i økt-filer. Serverkryptering beskytter derfor ikke mot uærlige administratorer, men det er nyttig for å beskytte dine data på eksternt oppkoblede lagringsplasser.", + "Depending on the actual encryption module the general file size is increased (by 35%% or more when using the default module)" : "Avhengig av den faktiske krypteringsmodulen økes filstørrelsen generelt (med 35%% eller mer ved bruk av standardmodulen)", + "You should regularly backup all encryption keys to prevent permanent data loss (data/<user>/files_encryption and data/files_encryption)" : "Du bør ta periodisk sikkerhetskopi av alle krypteringsnøkler for å forhindre permanent tap av data (data/<user>/files_encryption og data/files_encryption)", + "This is the final warning: Do you really want to enable encryption?" : "Dette er siste advarsel: Vil du virkelig aktivere kryptering?", "Enable encryption" : "Aktiver kryptering", "No encryption module loaded, please enable an encryption module in the app menu." : "Ingen krypteringsmodul er lastet. Aktiver en krypteringsmodul i app-menyen.", "Select default encryption module:" : "Velg standard krypteringsmodul:", @@ -176,8 +188,6 @@ OC.L10N.register( "More" : "Mer", "Less" : "Mindre", "The logfile is bigger than 100 MB. Downloading it may take some time!" : "Loggfilen er over 100 MB, nedlastingen kan ta en stund!", - "Transactional File Locking is enabled." : "Transaksjonsbasert fil-låsing er aktivert.", - "Transactional File Locking is disabled." : "Transaksjonsbasert fil-låsing er deaktivert.", "SQLite is used as database. For larger installations we recommend to switch to a different database backend." : "SQLite brukes som database. For større installasjoner anbefaler vi å bytte til en annen database-server.", "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "SQLite er spesielt frarådet om man bruker desktopklienten til filsynkronisering", "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" href=\"%s\">documentation ↗</a>." : "For å migrere til en annen database, bruk kommandolinjeverktøyet: 'occ db:convert-type', eller les i <a target=\"_blank\" href=\"%s\">dokumentasjonen ↗</a>.", @@ -195,6 +205,7 @@ OC.L10N.register( "licensed" : "lisensiert", "Documentation:" : "Dokumentasjon:", "User documentation" : "Brukerdokumentasjon", + "Admin documentation" : "Admin-dokumentasjon", "Show description …" : "Vis beskrivelse …", "Hide description …" : "Skjul beskrivelse …", "This app cannot be installed because the following dependencies are not fulfilled:" : "Denne appen kan ikke installeres fordi følgende avhengigheter ikke er tilfredsstilt:", @@ -233,6 +244,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. The file is not allowed to exceed the maximum size of 20 MB." : "Enten png eller jpg. Helst kvadratisk, men du kan beskjære bildet. Filen kan ikke være større enn 20 MB.", "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 b3d673e7df3..6b3bd343762 100644 --- a/settings/l10n/nb_NO.json +++ b/settings/l10n/nb_NO.json @@ -28,7 +28,9 @@ "Unable to change password" : "Kunne ikke endre passord", "Enabled" : "Aktiv", "Not enabled" : "Ikke aktivert", + "installing and updating apps via the app store or Federated Cloud Sharing" : "installering og oppdatering av apper via app-butikken eller ved deling i Sammenknyttet sky", "Federated Cloud Sharing" : "Sammenknyttet sky-deling", + "cURL is using an outdated %s version (%s). Please update your operating system or features such as %s will not work reliably." : "cURL bruker en utdatert %s-versjon (%s). Vennligst oppdater operativsystemet ditt; ellers vil ikke funksjoner som %s virke korrekt.", "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.", @@ -73,6 +75,7 @@ "Uninstalling ...." : "Avinstallerer ....", "Error while uninstalling app" : "Feil ved avinstallering av app", "Uninstall" : "Avinstaller", + "An error occurred: {message}" : "Det oppstod en feil: {message}", "Select a profile picture" : "Velg et profilbilde", "Very weak password" : "Veldig svakt passord", "Weak password" : "Svakt passord", @@ -113,19 +116,22 @@ "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.", + "Please check the <a target=\"_blank\" href=\"%s\">installation documentation ↗</a> for php configuration notes and the php configuration of your server, especially when using php-fpm." : "Sjekk <a target=\"_blank\" href=\"%s\">installasjonsdokumentasjonen ↗</a> 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.", "Your server is running on Microsoft Windows. We highly recommend Linux for optimal user experience." : "Serveren din kjører på Microsoft Windows. Vi anbefaler strekt Linux for en optimal brukeropplevelse.", "%1$s below version %2$s is installed, for stability and performance reasons we recommend to update to a newer %1$s version." : "%1$s lavere enn versjon %2$s er installert. Vi anbefaler å oppgradere til en nyere %1$s-versjon for å få bedre stabilitet og ytelse.", "The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "PHP modulen 'fileinfo' mangler. Vi anbefaler at du aktiverer denne modulen for å kunne detektere mime-typen korrekt.", + "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" href=\"%s\">documentation ↗</a> for more information." : "Transaksjonsbasert fil-låsing er deaktivert. Dette kan føre til problemer med kappløpssituasjoner. Aktiver 'filelocking.enabled' i config.php for å unngå disse problemene. Se <a target=\"_blank\" href=\"%s\">dokumentasjonen ↗</a> for mer informasjon.", "System locale can not be set to a one which supports UTF-8." : "Kan ikke sette systemets nasjonale innstillinger til en som støtter UTF-8.", "This means that there might be problems with certain characters in file names." : "Dette betyr at det kan forekomme problemer med visse tegn i filnavn.", "We strongly suggest installing the required packages on your system to support one of the following locales: %s." : "Vi anbefaler sterkt å installere de påkrevde pakkene på systemet ditt for å støtte en av følgende nasjonale innstillinger: %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\")" : "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:", + "Transactional file locking is using the database as locking backend, for best performance it's advised to configure a memcache for locking. See the <a target=\"_blank\" href=\"%s\">documentation ↗</a> for more information." : "Transaksjonsbasert fil-låsing bruker databasen som låsemekanisme. For best ytelse anbefales det å konfigurerer en memcache for låsing. Se <a target=\"_blank\" href=\"%s\">dokumentasjonen ↗</a> for mer informasjon.", "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>.", + "All checks passed." : "Alle sjekker bestått.", "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", @@ -148,6 +154,12 @@ "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php er registrert i en webcron-tjeneste for å kalle cron.php hvert 15. minutt over http.", "Use system's cron service to call the cron.php file every 15 minutes." : "Bruk systemets cron-tjeneste til å kalle cron.php hvert 15. minutt.", "Enable server-side encryption" : "Aktiver serverkryptering", + "Please read carefully before activating server-side encryption: " : "Vennligst les dette nøye før du aktiverer serverkrykptering:", + "Server-side 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" : "Serverkryptering er en enveisprosess. Når kryptering er blitt aktivert, vil alle filer fra det tidspunktet av bli kryptert på serveren og det vil ikke være mulig å deaktivere kryptering senere.", + "Anyone who has privileged access to your ownCloud server can decrypt your files either by intercepting requests or reading out user passwords which are stored in plain text session files. Server-side encryption does therefore not protect against malicious administrators but is useful for protecting your data on externally hosted storage." : "Alle som har privilegert tilgang til ownCloud-serveren din kan dekryptere filene dine enten ved å fange opp forespørsler eller ved å lese brukerpassord som er lagret i klartekst i økt-filer. Serverkryptering beskytter derfor ikke mot uærlige administratorer, men det er nyttig for å beskytte dine data på eksternt oppkoblede lagringsplasser.", + "Depending on the actual encryption module the general file size is increased (by 35%% or more when using the default module)" : "Avhengig av den faktiske krypteringsmodulen økes filstørrelsen generelt (med 35%% eller mer ved bruk av standardmodulen)", + "You should regularly backup all encryption keys to prevent permanent data loss (data/<user>/files_encryption and data/files_encryption)" : "Du bør ta periodisk sikkerhetskopi av alle krypteringsnøkler for å forhindre permanent tap av data (data/<user>/files_encryption og data/files_encryption)", + "This is the final warning: Do you really want to enable encryption?" : "Dette er siste advarsel: Vil du virkelig aktivere kryptering?", "Enable encryption" : "Aktiver kryptering", "No encryption module loaded, please enable an encryption module in the app menu." : "Ingen krypteringsmodul er lastet. Aktiver en krypteringsmodul i app-menyen.", "Select default encryption module:" : "Velg standard krypteringsmodul:", @@ -174,8 +186,6 @@ "More" : "Mer", "Less" : "Mindre", "The logfile is bigger than 100 MB. Downloading it may take some time!" : "Loggfilen er over 100 MB, nedlastingen kan ta en stund!", - "Transactional File Locking is enabled." : "Transaksjonsbasert fil-låsing er aktivert.", - "Transactional File Locking is disabled." : "Transaksjonsbasert fil-låsing er deaktivert.", "SQLite is used as database. For larger installations we recommend to switch to a different database backend." : "SQLite brukes som database. For større installasjoner anbefaler vi å bytte til en annen database-server.", "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "SQLite er spesielt frarådet om man bruker desktopklienten til filsynkronisering", "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" href=\"%s\">documentation ↗</a>." : "For å migrere til en annen database, bruk kommandolinjeverktøyet: 'occ db:convert-type', eller les i <a target=\"_blank\" href=\"%s\">dokumentasjonen ↗</a>.", @@ -193,6 +203,7 @@ "licensed" : "lisensiert", "Documentation:" : "Dokumentasjon:", "User documentation" : "Brukerdokumentasjon", + "Admin documentation" : "Admin-dokumentasjon", "Show description …" : "Vis beskrivelse …", "Hide description …" : "Skjul beskrivelse …", "This app cannot be installed because the following dependencies are not fulfilled:" : "Denne appen kan ikke installeres fordi følgende avhengigheter ikke er tilfredsstilt:", @@ -231,6 +242,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. The file is not allowed to exceed the maximum size of 20 MB." : "Enten png eller jpg. Helst kvadratisk, men du kan beskjære bildet. Filen kan ikke være større enn 20 MB.", "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 6fef65aabc4..45b214299e3 100644 --- a/settings/l10n/nl.js +++ b/settings/l10n/nl.js @@ -10,7 +10,6 @@ OC.L10N.register( "Cron" : "Cron", "Email server" : "E-mailserver", "Log" : "Log", - "Server status" : "Server status", "Tips & tricks" : "Tips & trucs", "Updates" : "Updates", "Authentication error" : "Authenticatie fout", @@ -119,7 +118,7 @@ OC.L10N.register( "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 lijkt niet goed te zijn ingesteld om systeemomgevingsvariabelen te bevragen. De test met getenv(\"PATH\") gaf een leeg resultaat.", - "Please check the installation documentation for php configuration notes and the php configuration of your server, especially when using php-fpm." : "Verifieer de documentatie voor php configuratieinstellingen en de php configuratie van uw server, zeker als php-fpm wordt gebruikt.", + "Please check the <a target=\"_blank\" href=\"%s\">installation documentation ↗</a> for php configuration notes and the php configuration of your server, especially when using php-fpm." : "Verifieer de <a target=\"_blank\" href=\"%s\">installatiedocumentatie ↗</a> voor php configuratie notities en de php configuratie van uw server, zeker als php-fpm wordt gebruikt.", "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "De Alleen-lezen config is geactiveerd. Dit voorkomt het via de webinterface wijzigen van verschillende instellingen. Bovendien moet het bestand voor elke aanpassing handmatig op beschrijfbaar worden ingesteld.", "PHP is apparently setup 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.", @@ -187,8 +186,6 @@ OC.L10N.register( "More" : "Meer", "Less" : "Minder", "The logfile is bigger than 100 MB. Downloading it may take some time!" : "Het logbestand is groter dan 100MB. Downloaden kost even tijd!", - "Transactional File Locking is enabled." : "Transactionele File Locking is ingeschakeld.", - "Transactional File Locking is disabled." : "Transactionele File Locking is uitgeschakeld.", "SQLite is used as database. For larger installations we recommend to switch to a different database backend." : "SQLite wordt gebruikt als database. Voor grotere installaties adviseren we om te schakelen naar een andere database engine.", "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "Vooral wanneer de desktop client wordt gebruik voor bestandssynchronisatie wordt gebruik van sqlite afgeraden.", "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" href=\"%s\">documentation ↗</a>." : "Om te migreren naar een andere database moet u de commandoregel tool gebruiken: 'occ db:convert-type', lees de <a target=\"_blank\" href=\"%s\">documentatie ↗</a>.", diff --git a/settings/l10n/nl.json b/settings/l10n/nl.json index 978b70e7996..04d4555116b 100644 --- a/settings/l10n/nl.json +++ b/settings/l10n/nl.json @@ -8,7 +8,6 @@ "Cron" : "Cron", "Email server" : "E-mailserver", "Log" : "Log", - "Server status" : "Server status", "Tips & tricks" : "Tips & trucs", "Updates" : "Updates", "Authentication error" : "Authenticatie fout", @@ -117,7 +116,7 @@ "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 lijkt niet goed te zijn ingesteld om systeemomgevingsvariabelen te bevragen. De test met getenv(\"PATH\") gaf een leeg resultaat.", - "Please check the installation documentation for php configuration notes and the php configuration of your server, especially when using php-fpm." : "Verifieer de documentatie voor php configuratieinstellingen en de php configuratie van uw server, zeker als php-fpm wordt gebruikt.", + "Please check the <a target=\"_blank\" href=\"%s\">installation documentation ↗</a> for php configuration notes and the php configuration of your server, especially when using php-fpm." : "Verifieer de <a target=\"_blank\" href=\"%s\">installatiedocumentatie ↗</a> voor php configuratie notities en de php configuratie van uw server, zeker als php-fpm wordt gebruikt.", "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "De Alleen-lezen config is geactiveerd. Dit voorkomt het via de webinterface wijzigen van verschillende instellingen. Bovendien moet het bestand voor elke aanpassing handmatig op beschrijfbaar worden ingesteld.", "PHP is apparently setup 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.", @@ -185,8 +184,6 @@ "More" : "Meer", "Less" : "Minder", "The logfile is bigger than 100 MB. Downloading it may take some time!" : "Het logbestand is groter dan 100MB. Downloaden kost even tijd!", - "Transactional File Locking is enabled." : "Transactionele File Locking is ingeschakeld.", - "Transactional File Locking is disabled." : "Transactionele File Locking is uitgeschakeld.", "SQLite is used as database. For larger installations we recommend to switch to a different database backend." : "SQLite wordt gebruikt als database. Voor grotere installaties adviseren we om te schakelen naar een andere database engine.", "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "Vooral wanneer de desktop client wordt gebruik voor bestandssynchronisatie wordt gebruik van sqlite afgeraden.", "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" href=\"%s\">documentation ↗</a>." : "Om te migreren naar een andere database moet u de commandoregel tool gebruiken: 'occ db:convert-type', lees de <a target=\"_blank\" href=\"%s\">documentatie ↗</a>.", diff --git a/settings/l10n/oc.js b/settings/l10n/oc.js index a8f78ecb65b..c4e745e368e 100644 --- a/settings/l10n/oc.js +++ b/settings/l10n/oc.js @@ -108,7 +108,6 @@ OC.L10N.register( "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." : "sembla que php es pas configurat de manièra a recuperar las valors de las variablas d’environament. Lo test de la comanda getenv(\"PATH\") torna solament una responsa voida. ", - "Please check the installation documentation for php configuration notes and the php configuration of your server, especially when using php-fpm." : "Verificatz la documentacion d'installacion a prepaus de las instruccions de configuracion de php e tanben de la configuracion de vòstre servidor, en particular dins lo cas qu'utilizatz php-fpm.", "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "La configuracion es en mòde lectura sola. Aquò empacha la modificacion de certanas configuracions via l'interfàcia web. Amai, lo fichièr deu èsser passat manualament en lectura-escritura per cada mesa a jorn.", "PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "PHP es aparentament configurat per suprimir los blòts de documentacion intèrnes. Aquò rendrà mantuna aplicacion de basa inaccessiblas.", "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "La rason es probablament l'utilizacion d'un escondedor / accelerador tal coma Zend OPcache o eAccelerator.", diff --git a/settings/l10n/oc.json b/settings/l10n/oc.json index 2830cf64518..9a2d5a5bc2d 100644 --- a/settings/l10n/oc.json +++ b/settings/l10n/oc.json @@ -106,7 +106,6 @@ "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." : "sembla que php es pas configurat de manièra a recuperar las valors de las variablas d’environament. Lo test de la comanda getenv(\"PATH\") torna solament una responsa voida. ", - "Please check the installation documentation for php configuration notes and the php configuration of your server, especially when using php-fpm." : "Verificatz la documentacion d'installacion a prepaus de las instruccions de configuracion de php e tanben de la configuracion de vòstre servidor, en particular dins lo cas qu'utilizatz php-fpm.", "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "La configuracion es en mòde lectura sola. Aquò empacha la modificacion de certanas configuracions via l'interfàcia web. Amai, lo fichièr deu èsser passat manualament en lectura-escritura per cada mesa a jorn.", "PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "PHP es aparentament configurat per suprimir los blòts de documentacion intèrnes. Aquò rendrà mantuna aplicacion de basa inaccessiblas.", "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "La rason es probablament l'utilizacion d'un escondedor / accelerador tal coma Zend OPcache o eAccelerator.", diff --git a/settings/l10n/pt_BR.js b/settings/l10n/pt_BR.js index d6d7fad0759..3819e70d5ac 100644 --- a/settings/l10n/pt_BR.js +++ b/settings/l10n/pt_BR.js @@ -10,7 +10,6 @@ OC.L10N.register( "Cron" : "Cron", "Email server" : "Servidor de Email", "Log" : "Registro", - "Server status" : "Status do servidor", "Tips & tricks" : "Dicas & Truques", "Updates" : "Atualizações", "Authentication error" : "Erro de autenticação", @@ -119,18 +118,20 @@ OC.L10N.register( "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." : "O PHP não parecem esta configurado corretamente para consultar as variáveis de ambiente do sistema. O teste com getenv(\"PATH\") só retorna uma resposta vazia.", - "Please check the installation documentation for php configuration notes and the php configuration of your server, especially when using php-fpm." : "Por favor, verifique a documentação de instalação para as notas de configuração do PHP e a configuração do PHP do seu servidor, especialmente quando se utiliza php-fpm.", + "Please check the <a target=\"_blank\" href=\"%s\">installation documentation ↗</a> for php configuration notes and the php configuration of your server, especially when using php-fpm." : "Por favor verifique o <a target=\"_blank\" href=\"%s\">documento de instalação ↗</a> para as notas de configuração do PHP e configuração do PHP do seu servidor, especialmente quando usando PHP-FPM.", "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "A configuração Somente-Leitura foi habilitada. Isso impede que algumas configurações sejam definidas via a interface web. Além disso, o arquivo precisa ter permissão de escrita manual para cada atualização.", "PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "PHP é, aparentemente, a configuração 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.", "Your server is running on Microsoft Windows. We highly recommend Linux for optimal user experience." : "O servidor está em execução no Microsoft Windows. Recomendamos Linux para uma excelente experiência para o usuário.", "%1$s below version %2$s is installed, for stability and performance reasons we recommend to update to a newer %1$s version." : "%1$s abaixo a versão %2$s está instalado, por razões de estabilidade e desempenho, recomendamos a atualização para uma versão %1$s mais recente.", "The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "O módulo PHP 'fileinfo' está faltando. Recomendamos que ative este módulo para obter uma melhor detecção do tipo de mídia (mime-type).", + "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" href=\"%s\">documentation ↗</a> for more information." : "Bloqueio de arquivos transacional está desativado, isso pode levar a problemas com as condições de corrida. Ativar 'filelocking.enabled' em config.php para evitar esses problemas. Veja a <a target=\"_blank\" href=\"%s\">documentação ↗</a> para mais informações.", "System locale can not be set to a one which supports UTF-8." : "Localidade do sistema não pode ser definido como um que suporta UTF-8.", "This means that there might be problems with certain characters in file names." : "Isso significa que pode haver problemas com certos caracteres nos nomes de arquivo.", "We strongly suggest installing the required packages on your system to support one of the following locales: %s." : "Nós sugerimos a instalação dos pacotes necessários em seu sistema para suportar um dos seguintes locais: %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\")" : "Se a sua instalação não estiver instalada na raiz do domínio e usa cron do sistema, pode haver problemas com a geração de URL. Para evitar esses problemas, por favor, defina a opção \"overwrite.cli.url\" em seu arquivo config.php para o caminho webroot de sua instalação (Sugestão: \"%s\")", "It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "Não foi possível executar o cron via CLI. Os seguintes erros técnicos têm aparecido:", + "Transactional file locking is using the database as locking backend, for best performance it's advised to configure a memcache for locking. See the <a target=\"_blank\" href=\"%s\">documentation ↗</a> for more information." : "Bloqueio de arquivos transacional está usando o banco de dados como bloqueio de back-end, para o melhor o desempenho é aconselhável configurar um cache de memória para bloqueio. Veja a <a target=\"_blank\" href=\"%s\">documentação ↗</a> para mais informação.", "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>." : "Por favor, verifique os <a target=\"_blank\" href=\"%s\">guias de instalação ↗</a>, e verificar se há erros ou avisos no <a href=\"#log-section\">log</a>.", "All checks passed." : "Todas as verificações passaram.", "Open documentation" : "Abrir documentação", @@ -187,8 +188,6 @@ OC.L10N.register( "More" : "Mais", "Less" : "Menos", "The logfile is bigger than 100 MB. Downloading it may take some time!" : "O arquivo de log é maior que 100 MB. Baixar esse arquivo requer algum tempo!", - "Transactional File Locking is enabled." : "Bloqueio de Arquivo Transacional está habilitado.", - "Transactional File Locking is disabled." : "Bloqueio de Arquivo Transacional está desabilitado.", "SQLite is used as database. For larger installations we recommend to switch to a different database backend." : "SQLite é usada como base de dados. Para instalações maiores recomendamos mudar para um backend de banco de dados diferente.", "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "Especialmente quando se utiliza o cliente de desktop para sincronização de arquivos o uso de SQLite é desencorajado.", "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" href=\"%s\">documentation ↗</a>." : "Para migrar para outro banco de dados usar a ferramenta de linha de comando: 'db occ: converter-type', verifique a <a target=\"_blank\" href=\"%s\">documentação ↗</a>.", diff --git a/settings/l10n/pt_BR.json b/settings/l10n/pt_BR.json index d06ae0f7dd7..bba1b4b5847 100644 --- a/settings/l10n/pt_BR.json +++ b/settings/l10n/pt_BR.json @@ -8,7 +8,6 @@ "Cron" : "Cron", "Email server" : "Servidor de Email", "Log" : "Registro", - "Server status" : "Status do servidor", "Tips & tricks" : "Dicas & Truques", "Updates" : "Atualizações", "Authentication error" : "Erro de autenticação", @@ -117,18 +116,20 @@ "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." : "O PHP não parecem esta configurado corretamente para consultar as variáveis de ambiente do sistema. O teste com getenv(\"PATH\") só retorna uma resposta vazia.", - "Please check the installation documentation for php configuration notes and the php configuration of your server, especially when using php-fpm." : "Por favor, verifique a documentação de instalação para as notas de configuração do PHP e a configuração do PHP do seu servidor, especialmente quando se utiliza php-fpm.", + "Please check the <a target=\"_blank\" href=\"%s\">installation documentation ↗</a> for php configuration notes and the php configuration of your server, especially when using php-fpm." : "Por favor verifique o <a target=\"_blank\" href=\"%s\">documento de instalação ↗</a> para as notas de configuração do PHP e configuração do PHP do seu servidor, especialmente quando usando PHP-FPM.", "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "A configuração Somente-Leitura foi habilitada. Isso impede que algumas configurações sejam definidas via a interface web. Além disso, o arquivo precisa ter permissão de escrita manual para cada atualização.", "PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "PHP é, aparentemente, a configuração 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.", "Your server is running on Microsoft Windows. We highly recommend Linux for optimal user experience." : "O servidor está em execução no Microsoft Windows. Recomendamos Linux para uma excelente experiência para o usuário.", "%1$s below version %2$s is installed, for stability and performance reasons we recommend to update to a newer %1$s version." : "%1$s abaixo a versão %2$s está instalado, por razões de estabilidade e desempenho, recomendamos a atualização para uma versão %1$s mais recente.", "The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "O módulo PHP 'fileinfo' está faltando. Recomendamos que ative este módulo para obter uma melhor detecção do tipo de mídia (mime-type).", + "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" href=\"%s\">documentation ↗</a> for more information." : "Bloqueio de arquivos transacional está desativado, isso pode levar a problemas com as condições de corrida. Ativar 'filelocking.enabled' em config.php para evitar esses problemas. Veja a <a target=\"_blank\" href=\"%s\">documentação ↗</a> para mais informações.", "System locale can not be set to a one which supports UTF-8." : "Localidade do sistema não pode ser definido como um que suporta UTF-8.", "This means that there might be problems with certain characters in file names." : "Isso significa que pode haver problemas com certos caracteres nos nomes de arquivo.", "We strongly suggest installing the required packages on your system to support one of the following locales: %s." : "Nós sugerimos a instalação dos pacotes necessários em seu sistema para suportar um dos seguintes locais: %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\")" : "Se a sua instalação não estiver instalada na raiz do domínio e usa cron do sistema, pode haver problemas com a geração de URL. Para evitar esses problemas, por favor, defina a opção \"overwrite.cli.url\" em seu arquivo config.php para o caminho webroot de sua instalação (Sugestão: \"%s\")", "It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "Não foi possível executar o cron via CLI. Os seguintes erros técnicos têm aparecido:", + "Transactional file locking is using the database as locking backend, for best performance it's advised to configure a memcache for locking. See the <a target=\"_blank\" href=\"%s\">documentation ↗</a> for more information." : "Bloqueio de arquivos transacional está usando o banco de dados como bloqueio de back-end, para o melhor o desempenho é aconselhável configurar um cache de memória para bloqueio. Veja a <a target=\"_blank\" href=\"%s\">documentação ↗</a> para mais informação.", "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>." : "Por favor, verifique os <a target=\"_blank\" href=\"%s\">guias de instalação ↗</a>, e verificar se há erros ou avisos no <a href=\"#log-section\">log</a>.", "All checks passed." : "Todas as verificações passaram.", "Open documentation" : "Abrir documentação", @@ -185,8 +186,6 @@ "More" : "Mais", "Less" : "Menos", "The logfile is bigger than 100 MB. Downloading it may take some time!" : "O arquivo de log é maior que 100 MB. Baixar esse arquivo requer algum tempo!", - "Transactional File Locking is enabled." : "Bloqueio de Arquivo Transacional está habilitado.", - "Transactional File Locking is disabled." : "Bloqueio de Arquivo Transacional está desabilitado.", "SQLite is used as database. For larger installations we recommend to switch to a different database backend." : "SQLite é usada como base de dados. Para instalações maiores recomendamos mudar para um backend de banco de dados diferente.", "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "Especialmente quando se utiliza o cliente de desktop para sincronização de arquivos o uso de SQLite é desencorajado.", "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" href=\"%s\">documentation ↗</a>." : "Para migrar para outro banco de dados usar a ferramenta de linha de comando: 'db occ: converter-type', verifique a <a target=\"_blank\" href=\"%s\">documentação ↗</a>.", diff --git a/settings/l10n/pt_PT.js b/settings/l10n/pt_PT.js index df4df129c49..eeeb9544d23 100644 --- a/settings/l10n/pt_PT.js +++ b/settings/l10n/pt_PT.js @@ -2,13 +2,13 @@ OC.L10N.register( "settings", { "APCu" : "APCu", + "Redis" : "Redis", "Security & setup warnings" : "Avisos de configuração e segurança", "Sharing" : "Partilha", "External Storage" : "Armazenamento Externo", "Cron" : "Cron", "Email server" : "Servidor de Correio Eletrónico", "Log" : "Registo", - "Server status" : "Estado do servidor", "Tips & tricks" : "Dicas e truqes", "Updates" : "Atualizações", "Authentication error" : "Erro na autenticação", @@ -143,6 +143,7 @@ OC.L10N.register( "Execute one task with each page loaded" : "Executar uma tarefa com cada página carregada", "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php está registado num serviço webcron para chamar a página cron.php por http a cada 15 minutos.", "Use system's cron service to call the cron.php file every 15 minutes." : "Usar o serviço sistema cron para ligar o ficheiro cron.php a cada 15 minutos.", + "Enable encryption" : "Ative a encriptação", "Start migration" : "Iniciar migração", "This is used for sending out notifications." : "Isto é utilizado para enviar notificações", "Send mode" : "Modo de Envio", diff --git a/settings/l10n/pt_PT.json b/settings/l10n/pt_PT.json index 44a1bc88916..46f6dc48da0 100644 --- a/settings/l10n/pt_PT.json +++ b/settings/l10n/pt_PT.json @@ -1,12 +1,12 @@ { "translations": { "APCu" : "APCu", + "Redis" : "Redis", "Security & setup warnings" : "Avisos de configuração e segurança", "Sharing" : "Partilha", "External Storage" : "Armazenamento Externo", "Cron" : "Cron", "Email server" : "Servidor de Correio Eletrónico", "Log" : "Registo", - "Server status" : "Estado do servidor", "Tips & tricks" : "Dicas e truqes", "Updates" : "Atualizações", "Authentication error" : "Erro na autenticação", @@ -141,6 +141,7 @@ "Execute one task with each page loaded" : "Executar uma tarefa com cada página carregada", "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php está registado num serviço webcron para chamar a página cron.php por http a cada 15 minutos.", "Use system's cron service to call the cron.php file every 15 minutes." : "Usar o serviço sistema cron para ligar o ficheiro cron.php a cada 15 minutos.", + "Enable encryption" : "Ative a encriptação", "Start migration" : "Iniciar migração", "This is used for sending out notifications." : "Isto é utilizado para enviar notificações", "Send mode" : "Modo de Envio", diff --git a/settings/l10n/ru.js b/settings/l10n/ru.js index d715cc41398..4366083d5c2 100644 --- a/settings/l10n/ru.js +++ b/settings/l10n/ru.js @@ -10,7 +10,6 @@ OC.L10N.register( "Cron" : "Cron (планировщик задач)", "Email server" : "Почтовый сервер", "Log" : "Журнал", - "Server status" : "Статус сервера", "Tips & tricks" : "Советы и трюки", "Updates" : "Обновления", "Authentication error" : "Ошибка аутентификации", @@ -119,7 +118,6 @@ OC.L10N.register( "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 был установлен неверно. Запрос getenv(\"PATH\") возвращает пустые результаты.", - "Please check the installation documentation for php configuration notes and the php configuration of your server, especially when using php-fpm." : "Пожалуйста обратитесь к документации по установке для получения заметок по настройке php, а также к настройкам php вашего сервера, особенно это касается 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." : "Конфигурационный файл в режиме только для чтения. В связи с этим некоторые настройки веб-интерфейса невозможно изменить. Учтите, что для установки обновлений, вам потребуется самостоятельно разрешить запись в конфигурационный файл.", "PHP is apparently setup 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.", @@ -180,8 +178,6 @@ OC.L10N.register( "More" : "Больше", "Less" : "Меньше", "The logfile is bigger than 100 MB. Downloading it may take some time!" : "Лог-файл - больше 100 мб. Его скачивание может занять некоторое время!", - "Transactional File Locking is enabled." : "Транзакционная блокировка файлов включена.", - "Transactional File Locking is disabled." : "Транзакционная блокировка файлов отключена.", "SQLite is used as database. For larger installations we recommend to switch to a different database backend." : "В качестве базы данных используется SQLite. Для больших установок мы рекомендуем переключиться на другую серверную базу данных.", "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "Особенно вызывает сомнение использование SQLite при синхронизации файлов с использование клиента для ПК.", "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" href=\"%s\">documentation ↗</a>." : "Для перехода на другую базу данных используйте команду: 'occ db:convert-type' или ознакомьтесь с <a target=\"_blank\" href=\"%s\">документацией ↗</a>.", diff --git a/settings/l10n/ru.json b/settings/l10n/ru.json index ac2aa38d849..55a2680ed30 100644 --- a/settings/l10n/ru.json +++ b/settings/l10n/ru.json @@ -8,7 +8,6 @@ "Cron" : "Cron (планировщик задач)", "Email server" : "Почтовый сервер", "Log" : "Журнал", - "Server status" : "Статус сервера", "Tips & tricks" : "Советы и трюки", "Updates" : "Обновления", "Authentication error" : "Ошибка аутентификации", @@ -117,7 +116,6 @@ "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 был установлен неверно. Запрос getenv(\"PATH\") возвращает пустые результаты.", - "Please check the installation documentation for php configuration notes and the php configuration of your server, especially when using php-fpm." : "Пожалуйста обратитесь к документации по установке для получения заметок по настройке php, а также к настройкам php вашего сервера, особенно это касается 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." : "Конфигурационный файл в режиме только для чтения. В связи с этим некоторые настройки веб-интерфейса невозможно изменить. Учтите, что для установки обновлений, вам потребуется самостоятельно разрешить запись в конфигурационный файл.", "PHP is apparently setup 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.", @@ -178,8 +176,6 @@ "More" : "Больше", "Less" : "Меньше", "The logfile is bigger than 100 MB. Downloading it may take some time!" : "Лог-файл - больше 100 мб. Его скачивание может занять некоторое время!", - "Transactional File Locking is enabled." : "Транзакционная блокировка файлов включена.", - "Transactional File Locking is disabled." : "Транзакционная блокировка файлов отключена.", "SQLite is used as database. For larger installations we recommend to switch to a different database backend." : "В качестве базы данных используется SQLite. Для больших установок мы рекомендуем переключиться на другую серверную базу данных.", "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "Особенно вызывает сомнение использование SQLite при синхронизации файлов с использование клиента для ПК.", "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" href=\"%s\">documentation ↗</a>." : "Для перехода на другую базу данных используйте команду: 'occ db:convert-type' или ознакомьтесь с <a target=\"_blank\" href=\"%s\">документацией ↗</a>.", diff --git a/settings/l10n/sk_SK.js b/settings/l10n/sk_SK.js index f0e7a18839f..e9dc5c50621 100644 --- a/settings/l10n/sk_SK.js +++ b/settings/l10n/sk_SK.js @@ -164,8 +164,6 @@ OC.L10N.register( "More" : "Viac", "Less" : "Menej", "The logfile is bigger than 100 MB. Downloading it may take some time!" : "Súbor protokolu je väčší ako 100 MB. Jeho sťahovanie môže chvíľu trvať!", - "Transactional File Locking is enabled." : "Transakčné zamykanie súboru je povolené.", - "Transactional File Locking is disabled." : "Transakčné zamykanie súboru je zakázané.", "SQLite is used as database. For larger installations we recommend to switch to a different database backend." : "Ako databáza je použitá SQLite. Pre veľké inštalácie odporúčame prejsť na inú databázu.", "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "Najmä pri používaní aplikácie na synchronizáciu s desktopom nie je databáza SQLite doporučená.", "How to do backups" : "Ako vytvárať zálohy", diff --git a/settings/l10n/sk_SK.json b/settings/l10n/sk_SK.json index 890636970af..c29355482a1 100644 --- a/settings/l10n/sk_SK.json +++ b/settings/l10n/sk_SK.json @@ -162,8 +162,6 @@ "More" : "Viac", "Less" : "Menej", "The logfile is bigger than 100 MB. Downloading it may take some time!" : "Súbor protokolu je väčší ako 100 MB. Jeho sťahovanie môže chvíľu trvať!", - "Transactional File Locking is enabled." : "Transakčné zamykanie súboru je povolené.", - "Transactional File Locking is disabled." : "Transakčné zamykanie súboru je zakázané.", "SQLite is used as database. For larger installations we recommend to switch to a different database backend." : "Ako databáza je použitá SQLite. Pre veľké inštalácie odporúčame prejsť na inú databázu.", "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "Najmä pri používaní aplikácie na synchronizáciu s desktopom nie je databáza SQLite doporučená.", "How to do backups" : "Ako vytvárať zálohy", diff --git a/settings/l10n/sr.js b/settings/l10n/sr.js index f63cedbe918..38026284af1 100644 --- a/settings/l10n/sr.js +++ b/settings/l10n/sr.js @@ -115,7 +115,6 @@ OC.L10N.register( "SSL" : "ССЛ", "TLS" : "ТЛС", "php does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "ПХП није подешен да може да провери системске променљиве. Проба са getenv(\"PATH\") враћа празан одговор.", - "Please check the installation documentation for php configuration notes and the php configuration of your server, especially when using php-fpm." : "Погледајте инсталациону документацију за ПХП и серверска подешавања, посебно кад се користи 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." : "Омогућена је Само-читај конфигурација. То спречава постављање неке конфигурације преко веб-интерфејса. Осим тога, фајлу мора бити ручно омогућено уписивање код сваког освежавања.", "PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "ПХП је очигледно подешен да се скида уметнуте док блокова. То ће учинити неколико кључних апликација недоступним.", "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Ово је вероватно изазвано кешом или акцелератором као што су ЗендОПкеш или еАкцелератор.", @@ -176,8 +175,6 @@ OC.L10N.register( "More" : "Више", "Less" : "Мање", "The logfile is bigger than 100 MB. Downloading it may take some time!" : "Фајл записника је већи од 100МБ. Преузимање може потрајати!", - "Transactional File Locking is enabled." : "Трансакционо закључавање фајла је укључено.", - "Transactional File Locking is disabled." : "Трансакционо закључавање фајла је искључено.", "SQLite is used as database. For larger installations we recommend to switch to a different database backend." : "SQLite се користи као базе података. За веће инсталације препоручујемо да се пребаците на други модел базе података.", "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "Нарочито ако се користи клијент програм у графичком окружењу, коришћење СКуЛајта није препоручљиво.", "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" href=\"%s\">documentation ↗</a>." : "За миграцију на другу базу користите командну линију: 'occ db:convert-type', или погледајте <a target=\"_blank\" href=\"%s\">документацију ↗</a>.", diff --git a/settings/l10n/sr.json b/settings/l10n/sr.json index 9d3767e0df6..5206512092d 100644 --- a/settings/l10n/sr.json +++ b/settings/l10n/sr.json @@ -113,7 +113,6 @@ "SSL" : "ССЛ", "TLS" : "ТЛС", "php does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "ПХП није подешен да може да провери системске променљиве. Проба са getenv(\"PATH\") враћа празан одговор.", - "Please check the installation documentation for php configuration notes and the php configuration of your server, especially when using php-fpm." : "Погледајте инсталациону документацију за ПХП и серверска подешавања, посебно кад се користи 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." : "Омогућена је Само-читај конфигурација. То спречава постављање неке конфигурације преко веб-интерфејса. Осим тога, фајлу мора бити ручно омогућено уписивање код сваког освежавања.", "PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "ПХП је очигледно подешен да се скида уметнуте док блокова. То ће учинити неколико кључних апликација недоступним.", "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Ово је вероватно изазвано кешом или акцелератором као што су ЗендОПкеш или еАкцелератор.", @@ -174,8 +173,6 @@ "More" : "Више", "Less" : "Мање", "The logfile is bigger than 100 MB. Downloading it may take some time!" : "Фајл записника је већи од 100МБ. Преузимање може потрајати!", - "Transactional File Locking is enabled." : "Трансакционо закључавање фајла је укључено.", - "Transactional File Locking is disabled." : "Трансакционо закључавање фајла је искључено.", "SQLite is used as database. For larger installations we recommend to switch to a different database backend." : "SQLite се користи као базе података. За веће инсталације препоручујемо да се пребаците на други модел базе података.", "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "Нарочито ако се користи клијент програм у графичком окружењу, коришћење СКуЛајта није препоручљиво.", "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" href=\"%s\">documentation ↗</a>." : "За миграцију на другу базу користите командну линију: 'occ db:convert-type', или погледајте <a target=\"_blank\" href=\"%s\">документацију ↗</a>.", diff --git a/settings/l10n/th_TH.js b/settings/l10n/th_TH.js index 043f3429bf3..62f0164c787 100644 --- a/settings/l10n/th_TH.js +++ b/settings/l10n/th_TH.js @@ -10,7 +10,6 @@ OC.L10N.register( "Cron" : "Cron", "Email server" : "อีเมลเซิร์ฟเวอร์", "Log" : "บันทึกการเปลี่ยนแปลง", - "Server status" : "สถานะเซิฟเวอร์", "Tips & tricks" : "เคล็ดลับและเทคนิค", "Updates" : "อัพเดท", "Authentication error" : "เกิดข้อผิดพลาดในสิทธิ์การเข้าใช้งาน", @@ -119,18 +118,20 @@ OC.L10N.register( "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 อย่างถูกต้องค้นหาตัวแปรสภาพแวดล้อมของระบบการทดสอบกับ getenv(\"PATH\") ส่งกลับเฉพาะการตอบสนองที่ว่างเปล่า", - "Please check the installation documentation for php configuration notes and the php configuration of your server, especially when using php-fpm." : "กรุณาตรวจสอบเอกสารการติดตั้งสำหรับการบันทึกการตั้งค่าและการกำหนดค่า PHP ของเซิร์ฟเวอร์ของคุณโดยเฉพาะอย่างยิ่งเมื่อใช้ PHP-FPM", + "Please check the <a target=\"_blank\" href=\"%s\">installation documentation ↗</a> for php configuration notes and the php configuration of your server, especially when using php-fpm." : "กรุณาตรวจสอบ <a target=\"_blank\" href=\"%s\">เอกสารการติดตั้ง</a> สำหรับการตั้งค่าและบันทึก php ของเซิร์ฟเวอร์ของคุณโดยเฉพาะอย่างยิ่งเมื่อใช้ php-fpm", "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "ตั้งค่าให้สามารถอ่านได้อย่างเดียวถูกเปิดใช้งาน นี้จะช่วยป้องกันการตั้งค่าผ่านทางบางเว็บอินเตอร์เฟซ นอกจากนี้จะต้องเขียนไฟล์ด้วยตนเองสำหรับทุกการอัพเดท", "PHP is apparently setup 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." : "นี้อาจเกิดจาก cache/accelerator อย่างเช่น Zend OPcache หรือ eAccelerator", "Your server is running on Microsoft Windows. We highly recommend Linux for optimal user experience." : "เซิร์ฟเวอร์ของคุณทำงานบน Microsoft Windows เราขอแนะนำให้ใช้ลินุกซ์หากคุณต้องการ การใช้งานที่ดีที่สุด", "%1$s below version %2$s is installed, for stability and performance reasons we recommend to update to a newer %1$s version." : "%1$s รุ่นเก่ากว่า %2$s ที่มีการติดตั้ง สำหรับเหตุผลเรื่องเสถียรภาพและประสิทธิภาพการทำงาน เราแนะนำให้อัพเดทเป็นรุ่น %1$s", "The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "โมดูล PHP 'fileinfo' หายไป เราขอแนะนำให้เปิดใช้งานโมดูลนี้เพื่อให้ได้ผลลัพธ์ที่ดีที่สุดกับการตรวจสอบชนิด mime", + "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" href=\"%s\">documentation ↗</a> for more information." : "การทำธุรกรรมล็อคไฟล์ถูกปิดใช้งาน มันอาจเป็นปัญหา ให้เปิดใช้งาน 'filelocking.enabled' ใน config.php เพื่อหลีกเลี่ยงปัญหาเหล่านี้ ดูเพิ่มเติมได้จาก <a target=\"_blank\" href=\"%s\">เอกสาร</a>", "System locale can not be set to a one which supports UTF-8." : "ตำแหน่งที่ตั้งของระบบไม่สามารถตั้งค่าให้รองรับ UTF-8", "This means that there might be problems with certain characters in file names." : "นี้หมายความว่าอาจจะมีปัญหากับตัวอักษรบางตัวในชื่อไฟล์", "We strongly suggest installing the required packages on your system to support one of the following locales: %s." : "เราขอแนะนำให้ติดตั้งแพคเกจที่จำเป็นต้องใช้ในระบบของคุณ ให้การสนับสนุนตำแหน่งที่ตั้งดังต่อไปนี้: %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\")" : "หากการติดตั้งของคุณไม่ได้ติดตั้งในรากของโดเมนและใช้ระบบ cron อาจมีปัญหาเกี่ยวกับการสร้าง URL เพื่อหลีกเลี่ยงปัญหาเหล่านี้โปรดไปตั้งค่า \"overwrite.cli.url\" ในไฟล์ config.php ของคุณไปยังเส้นทาง webroot ของการติดตั้งของคุณ (แนะนำ: \"%s\")", "It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "มันเป็นไปไม่ได้ที่จะดำเนินการ cronjob ผ่านทาง CLI ข้อผิดพลาดทางเทคนิคต่อไปนี้จะปรากฏ:", + "Transactional file locking is using the database as locking backend, for best performance it's advised to configure a memcache for locking. See the <a target=\"_blank\" href=\"%s\">documentation ↗</a> for more information." : "การทำธุรกรรมล็อคไฟล์จะใช้ฐานข้อมูลเป็นล็อคแบ็กเอนด์ สำหรับประสิทธิภาพที่ดีที่สุดก็ควรที่จะกำหนดค่า memcache สำหรับล็อค ดูเพิ่มเติมได้จาก <a target=\"_blank\" href=\"%s\">เอกสาร</a>", "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>." : "กรุณาตรวจสอบ <a target=\"_blank\" href=\"%s\">คู่มือการติดตั้ง</a> และตรวจสอบข้อผิดพลาดหรือคำเตือนใน <a href=\"#log-section\">บันทึก</a>", "All checks passed." : "ผ่านการตรวจสอบทั้งหมด", "Open documentation" : "เปิดเอกสาร", @@ -187,8 +188,6 @@ OC.L10N.register( "More" : "มาก", "Less" : "น้อย", "The logfile is bigger than 100 MB. Downloading it may take some time!" : "ไฟล์บันทึกมีขนาดใหญ่กว่า 100 เมกะไบต์ มันอาจจะใช้เวลาดาวน์โหลดนาน!", - "Transactional File Locking is enabled." : "เปิดใช้งานล็อคไฟล์ขณะทำธุรกรรม", - "Transactional File Locking is disabled." : "ปิดใช้งานล็อคไฟล์ขณะทำธุรกรรม", "SQLite is used as database. For larger installations we recommend to switch to a different database backend." : "จะใช้ SQLite เป็นฐานข้อมูล สำหรับการติดตั้งขนาดใหญ่เราขอแนะนำเพื่อสลับไปยังฐานข้อมูลแบ็กเอนด์ที่แตกต่างกัน", "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "โดยเฉพาะอย่างยิ่งเมื่อใช้ไคลเอนต์เดสก์ทอปสำหรับการประสานข้อมูลโดย SQLite", "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" href=\"%s\">documentation ↗</a>." : "การโยกย้ายไปยังฐานข้อมูลอื่นใช้เครื่องมือบรรทัดคำสั่ง: 'occ db:convert-type' หรือดูที่ <a target=\"_blank\" href=\"%s\">เอกสาร</a>", diff --git a/settings/l10n/th_TH.json b/settings/l10n/th_TH.json index e67cc01f279..92670ee82d8 100644 --- a/settings/l10n/th_TH.json +++ b/settings/l10n/th_TH.json @@ -8,7 +8,6 @@ "Cron" : "Cron", "Email server" : "อีเมลเซิร์ฟเวอร์", "Log" : "บันทึกการเปลี่ยนแปลง", - "Server status" : "สถานะเซิฟเวอร์", "Tips & tricks" : "เคล็ดลับและเทคนิค", "Updates" : "อัพเดท", "Authentication error" : "เกิดข้อผิดพลาดในสิทธิ์การเข้าใช้งาน", @@ -117,18 +116,20 @@ "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 อย่างถูกต้องค้นหาตัวแปรสภาพแวดล้อมของระบบการทดสอบกับ getenv(\"PATH\") ส่งกลับเฉพาะการตอบสนองที่ว่างเปล่า", - "Please check the installation documentation for php configuration notes and the php configuration of your server, especially when using php-fpm." : "กรุณาตรวจสอบเอกสารการติดตั้งสำหรับการบันทึกการตั้งค่าและการกำหนดค่า PHP ของเซิร์ฟเวอร์ของคุณโดยเฉพาะอย่างยิ่งเมื่อใช้ PHP-FPM", + "Please check the <a target=\"_blank\" href=\"%s\">installation documentation ↗</a> for php configuration notes and the php configuration of your server, especially when using php-fpm." : "กรุณาตรวจสอบ <a target=\"_blank\" href=\"%s\">เอกสารการติดตั้ง</a> สำหรับการตั้งค่าและบันทึก php ของเซิร์ฟเวอร์ของคุณโดยเฉพาะอย่างยิ่งเมื่อใช้ php-fpm", "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "ตั้งค่าให้สามารถอ่านได้อย่างเดียวถูกเปิดใช้งาน นี้จะช่วยป้องกันการตั้งค่าผ่านทางบางเว็บอินเตอร์เฟซ นอกจากนี้จะต้องเขียนไฟล์ด้วยตนเองสำหรับทุกการอัพเดท", "PHP is apparently setup 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." : "นี้อาจเกิดจาก cache/accelerator อย่างเช่น Zend OPcache หรือ eAccelerator", "Your server is running on Microsoft Windows. We highly recommend Linux for optimal user experience." : "เซิร์ฟเวอร์ของคุณทำงานบน Microsoft Windows เราขอแนะนำให้ใช้ลินุกซ์หากคุณต้องการ การใช้งานที่ดีที่สุด", "%1$s below version %2$s is installed, for stability and performance reasons we recommend to update to a newer %1$s version." : "%1$s รุ่นเก่ากว่า %2$s ที่มีการติดตั้ง สำหรับเหตุผลเรื่องเสถียรภาพและประสิทธิภาพการทำงาน เราแนะนำให้อัพเดทเป็นรุ่น %1$s", "The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "โมดูล PHP 'fileinfo' หายไป เราขอแนะนำให้เปิดใช้งานโมดูลนี้เพื่อให้ได้ผลลัพธ์ที่ดีที่สุดกับการตรวจสอบชนิด mime", + "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" href=\"%s\">documentation ↗</a> for more information." : "การทำธุรกรรมล็อคไฟล์ถูกปิดใช้งาน มันอาจเป็นปัญหา ให้เปิดใช้งาน 'filelocking.enabled' ใน config.php เพื่อหลีกเลี่ยงปัญหาเหล่านี้ ดูเพิ่มเติมได้จาก <a target=\"_blank\" href=\"%s\">เอกสาร</a>", "System locale can not be set to a one which supports UTF-8." : "ตำแหน่งที่ตั้งของระบบไม่สามารถตั้งค่าให้รองรับ UTF-8", "This means that there might be problems with certain characters in file names." : "นี้หมายความว่าอาจจะมีปัญหากับตัวอักษรบางตัวในชื่อไฟล์", "We strongly suggest installing the required packages on your system to support one of the following locales: %s." : "เราขอแนะนำให้ติดตั้งแพคเกจที่จำเป็นต้องใช้ในระบบของคุณ ให้การสนับสนุนตำแหน่งที่ตั้งดังต่อไปนี้: %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\")" : "หากการติดตั้งของคุณไม่ได้ติดตั้งในรากของโดเมนและใช้ระบบ cron อาจมีปัญหาเกี่ยวกับการสร้าง URL เพื่อหลีกเลี่ยงปัญหาเหล่านี้โปรดไปตั้งค่า \"overwrite.cli.url\" ในไฟล์ config.php ของคุณไปยังเส้นทาง webroot ของการติดตั้งของคุณ (แนะนำ: \"%s\")", "It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "มันเป็นไปไม่ได้ที่จะดำเนินการ cronjob ผ่านทาง CLI ข้อผิดพลาดทางเทคนิคต่อไปนี้จะปรากฏ:", + "Transactional file locking is using the database as locking backend, for best performance it's advised to configure a memcache for locking. See the <a target=\"_blank\" href=\"%s\">documentation ↗</a> for more information." : "การทำธุรกรรมล็อคไฟล์จะใช้ฐานข้อมูลเป็นล็อคแบ็กเอนด์ สำหรับประสิทธิภาพที่ดีที่สุดก็ควรที่จะกำหนดค่า memcache สำหรับล็อค ดูเพิ่มเติมได้จาก <a target=\"_blank\" href=\"%s\">เอกสาร</a>", "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>." : "กรุณาตรวจสอบ <a target=\"_blank\" href=\"%s\">คู่มือการติดตั้ง</a> และตรวจสอบข้อผิดพลาดหรือคำเตือนใน <a href=\"#log-section\">บันทึก</a>", "All checks passed." : "ผ่านการตรวจสอบทั้งหมด", "Open documentation" : "เปิดเอกสาร", @@ -185,8 +186,6 @@ "More" : "มาก", "Less" : "น้อย", "The logfile is bigger than 100 MB. Downloading it may take some time!" : "ไฟล์บันทึกมีขนาดใหญ่กว่า 100 เมกะไบต์ มันอาจจะใช้เวลาดาวน์โหลดนาน!", - "Transactional File Locking is enabled." : "เปิดใช้งานล็อคไฟล์ขณะทำธุรกรรม", - "Transactional File Locking is disabled." : "ปิดใช้งานล็อคไฟล์ขณะทำธุรกรรม", "SQLite is used as database. For larger installations we recommend to switch to a different database backend." : "จะใช้ SQLite เป็นฐานข้อมูล สำหรับการติดตั้งขนาดใหญ่เราขอแนะนำเพื่อสลับไปยังฐานข้อมูลแบ็กเอนด์ที่แตกต่างกัน", "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "โดยเฉพาะอย่างยิ่งเมื่อใช้ไคลเอนต์เดสก์ทอปสำหรับการประสานข้อมูลโดย SQLite", "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" href=\"%s\">documentation ↗</a>." : "การโยกย้ายไปยังฐานข้อมูลอื่นใช้เครื่องมือบรรทัดคำสั่ง: 'occ db:convert-type' หรือดูที่ <a target=\"_blank\" href=\"%s\">เอกสาร</a>", diff --git a/settings/l10n/tr.js b/settings/l10n/tr.js index 89395920948..13d5ac9687d 100644 --- a/settings/l10n/tr.js +++ b/settings/l10n/tr.js @@ -10,7 +10,6 @@ OC.L10N.register( "Cron" : "Cron", "Email server" : "E-posta sunucusu", "Log" : "Günlük", - "Server status" : "Sunucu durumu", "Tips & tricks" : "İpuçları ve hileler", "Updates" : "Güncellemeler", "Authentication error" : "Kimlik doğrulama hatası", @@ -119,7 +118,6 @@ OC.L10N.register( "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 sistem değişkenleri sorgusuna uygun olarak ayarlanmamış görünüyor. getenv(\"PATH\") komutu sadece boş bir cevap döndürüyor.", - "Please check the installation documentation for php configuration notes and the php configuration of your server, especially when using php-fpm." : "Lütfen kurulum belgelendirmesindeki php ayarlama notlarını ve sunucudaki özellikle php-fpm kullanırken php ayarlamalarını kontrol edin.", "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Salt Okunur yapılandırma etkinleştirilmiş. Bu, bazı ayarların web arayüzü ile yapılandırılmasını önler. Ayrıca, bu dosya her güncelleme sırasında el ile yazılabilir yapılmalıdır.", "PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "PHP satırıçi doc bloklarını ayıklamak üzere yapılandırılmış gibi görünüyor. Bu, bazı çekirdek (core) uygulamalarını erişilemez yapacak.", "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Bu, muhtemelen Zend OPcache veya eAccelerator gibi bir önbellek/hızlandırıcı nedeniyle gerçekleşir.", @@ -187,8 +185,6 @@ OC.L10N.register( "More" : "Daha fazla", "Less" : "Daha az", "The logfile is bigger than 100 MB. Downloading it may take some time!" : "Günlük dosyası 100 MB'dan daha büyük. İndirmek zaman alabilir!", - "Transactional File Locking is enabled." : "İşlemsel Dosya Kilidi etkin.", - "Transactional File Locking is disabled." : "İşlemsel Dosya Kilidi devre dışı.", "SQLite is used as database. For larger installations we recommend to switch to a different database backend." : "Veritabanı olarak SQLite kullanılıyor. Daha büyük kurulumlar için farklı bir veritabanı arka ucuna geçmenizi öneriyoruz.", "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "Özellikle dosya eşitleme için masaüstü istemcisi kullanılırken SQLite kullanımı önerilmez.", "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" href=\"%s\">documentation ↗</a>." : "Başka bir veritabanına geçmek için komut satırı aracını kullanın: 'occ db:convert-type' veya <a target=\"_blank\" href=\"%s\">belgelendirmeye ↗</a> bakın.", diff --git a/settings/l10n/tr.json b/settings/l10n/tr.json index 51ec1a007e0..a995fcdc928 100644 --- a/settings/l10n/tr.json +++ b/settings/l10n/tr.json @@ -8,7 +8,6 @@ "Cron" : "Cron", "Email server" : "E-posta sunucusu", "Log" : "Günlük", - "Server status" : "Sunucu durumu", "Tips & tricks" : "İpuçları ve hileler", "Updates" : "Güncellemeler", "Authentication error" : "Kimlik doğrulama hatası", @@ -117,7 +116,6 @@ "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 sistem değişkenleri sorgusuna uygun olarak ayarlanmamış görünüyor. getenv(\"PATH\") komutu sadece boş bir cevap döndürüyor.", - "Please check the installation documentation for php configuration notes and the php configuration of your server, especially when using php-fpm." : "Lütfen kurulum belgelendirmesindeki php ayarlama notlarını ve sunucudaki özellikle php-fpm kullanırken php ayarlamalarını kontrol edin.", "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Salt Okunur yapılandırma etkinleştirilmiş. Bu, bazı ayarların web arayüzü ile yapılandırılmasını önler. Ayrıca, bu dosya her güncelleme sırasında el ile yazılabilir yapılmalıdır.", "PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "PHP satırıçi doc bloklarını ayıklamak üzere yapılandırılmış gibi görünüyor. Bu, bazı çekirdek (core) uygulamalarını erişilemez yapacak.", "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Bu, muhtemelen Zend OPcache veya eAccelerator gibi bir önbellek/hızlandırıcı nedeniyle gerçekleşir.", @@ -185,8 +183,6 @@ "More" : "Daha fazla", "Less" : "Daha az", "The logfile is bigger than 100 MB. Downloading it may take some time!" : "Günlük dosyası 100 MB'dan daha büyük. İndirmek zaman alabilir!", - "Transactional File Locking is enabled." : "İşlemsel Dosya Kilidi etkin.", - "Transactional File Locking is disabled." : "İşlemsel Dosya Kilidi devre dışı.", "SQLite is used as database. For larger installations we recommend to switch to a different database backend." : "Veritabanı olarak SQLite kullanılıyor. Daha büyük kurulumlar için farklı bir veritabanı arka ucuna geçmenizi öneriyoruz.", "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "Özellikle dosya eşitleme için masaüstü istemcisi kullanılırken SQLite kullanımı önerilmez.", "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" href=\"%s\">documentation ↗</a>." : "Başka bir veritabanına geçmek için komut satırı aracını kullanın: 'occ db:convert-type' veya <a target=\"_blank\" href=\"%s\">belgelendirmeye ↗</a> bakın.", diff --git a/settings/l10n/zh_CN.js b/settings/l10n/zh_CN.js index 6b6d50dccb2..992d70465e3 100644 --- a/settings/l10n/zh_CN.js +++ b/settings/l10n/zh_CN.js @@ -10,7 +10,6 @@ OC.L10N.register( "Cron" : "计划任务", "Email server" : "电子邮件服务器", "Log" : "日志", - "Server status" : "服务器状态", "Tips & tricks" : "技巧提示", "Updates" : "更新", "Authentication error" : "认证错误", @@ -119,7 +118,6 @@ OC.L10N.register( "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 似乎没有设置好查询的系统环境变量。 用 getenv(\\\"PATH\\\") 测试只返回一个空值。", - "Please check the installation documentation for php configuration notes and the php configuration of your server, especially when using php-fpm." : "请检查PHP配置说明和服务器的 PHP 配置的安装文档,使用 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." : "只读配置已启用。这样可防止通过 WEB 接口设置一些配置。此外,每次更新后该文件需要手动设置为可写。", "PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "PHP 被设置为移除行内 <doc> 块,这将导致数个核心应用无法访问。", "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "这可能是由缓存/加速器造成的,例如 Zend OPcache 或 eAccelerator。", @@ -187,8 +185,6 @@ OC.L10N.register( "More" : "更多", "Less" : "更少", "The logfile is bigger than 100 MB. Downloading it may take some time!" : "日志文件超过 100 MB。下载可能需要一些时间!", - "Transactional File Locking is enabled." : "事务文件锁定已启用。", - "Transactional File Locking is disabled." : "事务文件锁定已禁用。", "SQLite is used as database. For larger installations we recommend to switch to a different database backend." : "SQLite 被用作数据库。对于较大数据量的安装和使用,我们建议您切换到不同的数据库后端。", "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "特别当使用桌面客户端来同步文件时,不鼓励使用 SQLite 。", "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" href=\"%s\">documentation ↗</a>." : "要迁移到另一个数据库请使用命令行工具: 'occ db:convert-type', 或者查看 <a target=\\\"_blank\\\" href=\\\"%s\\\"> 相关文档 ↗</a>.", diff --git a/settings/l10n/zh_CN.json b/settings/l10n/zh_CN.json index 41025e81a7d..97eae6702a7 100644 --- a/settings/l10n/zh_CN.json +++ b/settings/l10n/zh_CN.json @@ -8,7 +8,6 @@ "Cron" : "计划任务", "Email server" : "电子邮件服务器", "Log" : "日志", - "Server status" : "服务器状态", "Tips & tricks" : "技巧提示", "Updates" : "更新", "Authentication error" : "认证错误", @@ -117,7 +116,6 @@ "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 似乎没有设置好查询的系统环境变量。 用 getenv(\\\"PATH\\\") 测试只返回一个空值。", - "Please check the installation documentation for php configuration notes and the php configuration of your server, especially when using php-fpm." : "请检查PHP配置说明和服务器的 PHP 配置的安装文档,使用 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." : "只读配置已启用。这样可防止通过 WEB 接口设置一些配置。此外,每次更新后该文件需要手动设置为可写。", "PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "PHP 被设置为移除行内 <doc> 块,这将导致数个核心应用无法访问。", "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "这可能是由缓存/加速器造成的,例如 Zend OPcache 或 eAccelerator。", @@ -185,8 +183,6 @@ "More" : "更多", "Less" : "更少", "The logfile is bigger than 100 MB. Downloading it may take some time!" : "日志文件超过 100 MB。下载可能需要一些时间!", - "Transactional File Locking is enabled." : "事务文件锁定已启用。", - "Transactional File Locking is disabled." : "事务文件锁定已禁用。", "SQLite is used as database. For larger installations we recommend to switch to a different database backend." : "SQLite 被用作数据库。对于较大数据量的安装和使用,我们建议您切换到不同的数据库后端。", "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "特别当使用桌面客户端来同步文件时,不鼓励使用 SQLite 。", "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" href=\"%s\">documentation ↗</a>." : "要迁移到另一个数据库请使用命令行工具: 'occ db:convert-type', 或者查看 <a target=\\\"_blank\\\" href=\\\"%s\\\"> 相关文档 ↗</a>.", diff --git a/settings/l10n/zh_TW.js b/settings/l10n/zh_TW.js index c386c8e3c3c..9f3946a930f 100644 --- a/settings/l10n/zh_TW.js +++ b/settings/l10n/zh_TW.js @@ -10,7 +10,6 @@ OC.L10N.register( "Cron" : "工作排程", "Email server" : "郵件伺服器", "Log" : "紀錄檔", - "Server status" : "伺服器狀態", "Tips & tricks" : "技巧 & 提示", "Updates" : "更新", "Authentication error" : "認證錯誤", diff --git a/settings/l10n/zh_TW.json b/settings/l10n/zh_TW.json index 40433325edc..ce87ffa614a 100644 --- a/settings/l10n/zh_TW.json +++ b/settings/l10n/zh_TW.json @@ -8,7 +8,6 @@ "Cron" : "工作排程", "Email server" : "郵件伺服器", "Log" : "紀錄檔", - "Server status" : "伺服器狀態", "Tips & tricks" : "技巧 & 提示", "Updates" : "更新", "Authentication error" : "認證錯誤", diff --git a/settings/templates/admin.php b/settings/templates/admin.php index da80ca15b0c..36088d9f8c2 100644 --- a/settings/templates/admin.php +++ b/settings/templates/admin.php @@ -73,7 +73,7 @@ if ($_['getenvServerNotWorking']) { ?> <li> <?php p($l->t('php does not seem to be setup properly to query system environment variables. The test with getenv("PATH") only returns an empty response.')); ?><br> - <?php p($l->t('Please check the installation documentation for php configuration notes and the php configuration of your server, especially when using php-fpm.')); ?> + <?php print_unescaped($l->t('Please check the <a target="_blank" href="%s">installation documentation ↗</a> for php configuration notes and the php configuration of your server, especially when using php-fpm.', link_to_docs('admin-php-fpm'))); ?> </li> <?php } @@ -124,6 +124,15 @@ if (!$_['has_fileinfo']) { <?php } +// locking configured optimally? +if ($_['fileLockingType'] === 'none') { + ?> + <li> + <?php print_unescaped($l->t('Transactional file locking is disabled, this might lead to issues with race conditions. Enable \'filelocking.enabled\' in config.php to avoid these problems. See the <a target="_blank" href="%s">documentation ↗</a> for more information.', link_to_docs('admin-transactional-locking'))); ?> + </li> + <?php +} + // is locale working ? if (!$_['isLocaleWorking']) { ?> @@ -172,7 +181,13 @@ if ($_['cronErrors']) { <div class="loading"></div> <ul class="errors hidden"></ul> <ul class="warnings hidden"></ul> - <ul class="info hidden"></ul> + <ul class="info hidden"> + <?php if ($_['fileLockingType'] === 'db'):?> + <li> + <?php print_unescaped($l->t('Transactional file locking is using the database as locking backend, for best performance it\'s advised to configure a memcache for locking. See the <a target="_blank" href="%s">documentation ↗</a> for more information.', link_to_docs('admin-transactional-locking'))); ?> + </li> + <?php endif; ?> + </ul> <p class="hint hidden"> <?php print_unescaped($l->t('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>.', link_to_docs('admin-install'))); ?> </p> @@ -519,19 +534,6 @@ if ($_['cronErrors']) { <?php endif; ?> </div> -<div class="section" id="server-status"> - <h2><?php p($l->t('Server status'));?></h2> - <ul> - <li> - <?php if ($_['fileLockingEnabled']) { - p($l->t('Transactional File Locking is enabled.')); - } else { - p($l->t('Transactional File Locking is disabled.')); - } ?> - </li> - </ul> -</div> - <div class="section" id="admin-tips"> <h2><?php p($l->t('Tips & tricks'));?></h2> <ul> diff --git a/settings/users.php b/settings/users.php index d4e51900ddd..843995a57f9 100644 --- a/settings/users.php +++ b/settings/users.php @@ -41,7 +41,7 @@ $groupManager = \OC_Group::getManager(); // Set the sort option: SORT_USERCOUNT or SORT_GROUPNAME $sortGroupsBy = \OC\Group\MetaData::SORT_USERCOUNT; -if (class_exists('\OCA\user_ldap\GROUP_LDAP')) { +if (\OC_App::isEnabled('user_ldap')) { $isLDAPUsed = $groupManager->isBackendUsed('\OCA\user_ldap\GROUP_LDAP') || $groupManager->isBackendUsed('\OCA\user_ldap\Group_Proxy'); diff --git a/tests/bootstrap.php b/tests/bootstrap.php index 8bca05b1a18..86bedc3f325 100644 --- a/tests/bootstrap.php +++ b/tests/bootstrap.php @@ -10,9 +10,8 @@ require_once __DIR__ . '/../lib/base.php'; \OC::$loader->addValidRoot(OC::$SERVERROOT . '/tests'); -// load minimum set of apps -OC_App::loadApps(array('authentication')); -OC_App::loadApps(array('filesystem', 'logging')); +// load all enabled apps +\OC_App::loadApps(); if (!class_exists('PHPUnit_Framework_TestCase')) { require_once('PHPUnit/Autoload.php'); diff --git a/tests/core/command/maintenance/mimetype/updatedbtest.php b/tests/core/command/maintenance/mimetype/updatedbtest.php new file mode 100644 index 00000000000..217301102c5 --- /dev/null +++ b/tests/core/command/maintenance/mimetype/updatedbtest.php @@ -0,0 +1,184 @@ +<?php +/** + * @author Robin McCorkell <rmccorkell@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 Tests\Core\Command\Maintenance\Mimetype; + +use OC\Core\Command\Maintenance\Mimetype\UpdateDB; +use Test\TestCase; +use OCP\Files\IMimeTypeDetector; +use OCP\Files\IMimeTypeLoader; + +class UpdateDBTest extends TestCase { + /** @var IMimeTypeDetector */ + protected $detector; + /** @var IMimeTypeLoader */ + protected $loader; + + /** @var \PHPUnit_Framework_MockObject_MockObject */ + protected $consoleInput; + /** @var \PHPUnit_Framework_MockObject_MockObject */ + protected $consoleOutput; + + /** @var \Symfony\Component\Console\Command\Command */ + protected $command; + + protected function setUp() { + parent::setUp(); + + $this->detector = $this->getMockBuilder('OC\Files\Type\Detection') + ->disableOriginalConstructor() + ->getMock(); + $this->loader = $this->getMockBuilder('OC\Files\Type\Loader') + ->disableOriginalConstructor() + ->getMock(); + + $this->consoleInput = $this->getMock('Symfony\Component\Console\Input\InputInterface'); + $this->consoleOutput = $this->getMock('Symfony\Component\Console\Output\OutputInterface'); + + $this->command = new UpdateDB($this->detector, $this->loader); + } + + public function testNoop() { + $this->consoleInput->method('getOption') + ->with('repair-filecache') + ->willReturn(false); + + $this->detector->expects($this->once()) + ->method('getAllMappings') + ->willReturn([ + 'ext' => ['testing/existingmimetype'] + ]); + $this->loader->expects($this->once()) + ->method('exists') + ->with('testing/existingmimetype') + ->willReturn(true); + + $this->loader->expects($this->never()) + ->method('updateFilecache'); + + $this->consoleOutput->expects($this->at(0)) + ->method('writeln') + ->with('Added 0 new mimetypes'); + $this->consoleOutput->expects($this->at(1)) + ->method('writeln') + ->with('Updated 0 filecache rows'); + + self::invokePrivate($this->command, 'execute', [$this->consoleInput, $this->consoleOutput]); + } + + public function testAddMimetype() { + $this->consoleInput->method('getOption') + ->with('repair-filecache') + ->willReturn(false); + + $this->detector->expects($this->once()) + ->method('getAllMappings') + ->willReturn([ + 'ext' => ['testing/existingmimetype'], + 'new' => ['testing/newmimetype'] + ]); + $this->loader->expects($this->exactly(2)) + ->method('exists') + ->will($this->returnValueMap([ + ['testing/existingmimetype', true], + ['testing/newmimetype', false], + ])); + $this->loader->expects($this->exactly(2)) + ->method('getId') + ->will($this->returnValueMap([ + ['testing/existingmimetype', 1], + ['testing/newmimetype', 2], + ])); + + $this->loader->expects($this->once()) + ->method('updateFilecache') + ->with('new', 2) + ->willReturn(3); + + $this->consoleOutput->expects($this->at(0)) + ->method('writeln') + ->with('Added mimetype "testing/newmimetype" to database'); + $this->consoleOutput->expects($this->at(1)) + ->method('writeln') + ->with('Updated 3 filecache rows for mimetype "testing/newmimetype"'); + + $this->consoleOutput->expects($this->at(2)) + ->method('writeln') + ->with('Added 1 new mimetypes'); + $this->consoleOutput->expects($this->at(3)) + ->method('writeln') + ->with('Updated 3 filecache rows'); + + self::invokePrivate($this->command, 'execute', [$this->consoleInput, $this->consoleOutput]); + } + + public function testSkipComments() { + $this->detector->expects($this->once()) + ->method('getAllMappings') + ->willReturn([ + '_comment' => 'some comment in the JSON' + ]); + $this->loader->expects($this->never()) + ->method('exists'); + + self::invokePrivate($this->command, 'execute', [$this->consoleInput, $this->consoleOutput]); + } + + public function testRepairFilecache() { + $this->consoleInput->method('getOption') + ->with('repair-filecache') + ->willReturn(true); + + $this->detector->expects($this->once()) + ->method('getAllMappings') + ->willReturn([ + 'ext' => ['testing/existingmimetype'], + ]); + $this->loader->expects($this->exactly(1)) + ->method('exists') + ->will($this->returnValueMap([ + ['testing/existingmimetype', true], + ])); + $this->loader->expects($this->exactly(1)) + ->method('getId') + ->will($this->returnValueMap([ + ['testing/existingmimetype', 1], + ])); + + $this->loader->expects($this->once()) + ->method('updateFilecache') + ->with('ext', 1) + ->willReturn(3); + + $this->consoleOutput->expects($this->at(0)) + ->method('writeln') + ->with('Updated 3 filecache rows for mimetype "testing/existingmimetype"'); + + $this->consoleOutput->expects($this->at(1)) + ->method('writeln') + ->with('Added 0 new mimetypes'); + $this->consoleOutput->expects($this->at(2)) + ->method('writeln') + ->with('Updated 3 filecache rows'); + + self::invokePrivate($this->command, 'execute', [$this->consoleInput, $this->consoleOutput]); + } +} diff --git a/tests/karma.config.js b/tests/karma.config.js index 7b3877f7766..d3280b2939a 100644 --- a/tests/karma.config.js +++ b/tests/karma.config.js @@ -71,6 +71,16 @@ module.exports = function(config) { testFiles: ['apps/files_external/tests/js/*.js'] }, { + name: 'files_versions', + srcFiles: [ + // need to enforce loading order... + 'apps/files_versions/js/versionmodel.js', + 'apps/files_versions/js/versioncollection.js', + 'apps/files_versions/js/versionstabview.js' + ], + testFiles: ['apps/files_versions/tests/js/**/*.js'] + }, + { name: 'settings', srcFiles: [ 'settings/js/apps.js', diff --git a/tests/lib/appconfig.php b/tests/lib/appconfig.php index 5ea446aee51..98420abe7bc 100644 --- a/tests/lib/appconfig.php +++ b/tests/lib/appconfig.php @@ -191,7 +191,10 @@ class AppConfig extends TestCase { $this->assertEquals('1.2.3', $config->getValue('testapp', 'installed_version')); $this->assertConfigKey('testapp', 'installed_version', '1.2.3'); - $this->assertFalse($config->setValue('testapp', 'installed_version', '1.2.3')); + $wasModified = $config->setValue('testapp', 'installed_version', '1.2.3'); + if (!(\OC::$server->getDatabaseConnection() instanceof \OC\DB\OracleConnection)) { + $this->assertFalse($wasModified); + } $this->assertEquals('1.2.3', $config->getValue('testapp', 'installed_version')); $this->assertConfigKey('testapp', 'installed_version', '1.2.3'); @@ -218,7 +221,10 @@ class AppConfig extends TestCase { $this->assertEquals('somevalue', $config->getValue('someapp', 'somekey')); $this->assertConfigKey('someapp', 'somekey', 'somevalue'); - $this->assertFalse($config->setValue('someapp', 'somekey', 'somevalue')); + $wasInserted = $config->setValue('someapp', 'somekey', 'somevalue'); + if (!(\OC::$server->getDatabaseConnection() instanceof \OC\DB\OracleConnection)) { + $this->assertFalse($wasInserted); + } } public function testDeleteKey() { diff --git a/tests/lib/appframework/http/JSONResponseTest.php b/tests/lib/appframework/http/JSONResponseTest.php index 253c523934b..a98f5fc894a 100644 --- a/tests/lib/appframework/http/JSONResponseTest.php +++ b/tests/lib/appframework/http/JSONResponseTest.php @@ -69,7 +69,7 @@ class JSONResponseTest extends \Test\TestCase { /** * @return array */ - public function testRenderProvider() { + public function renderDataProvider() { return [ [ ['test' => 'hi'], '{"test":"hi"}', @@ -81,7 +81,7 @@ class JSONResponseTest extends \Test\TestCase { } /** - * @dataProvider testRenderProvider + * @dataProvider renderDataProvider * @param array $input * @param string $expected */ diff --git a/tests/lib/files/type/loadertest.php b/tests/lib/files/type/loadertest.php new file mode 100644 index 00000000000..7f87afd2f4d --- /dev/null +++ b/tests/lib/files/type/loadertest.php @@ -0,0 +1,93 @@ +<?php +/** + * @author Robin McCorkell <rmccorkell@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 OC\Files\Type; + +use \OC\Files\Type\Loader; +use \OCP\IDBConnection; + +class LoaderTest extends \Test\TestCase { + /** @var IDBConnection */ + protected $db; + /** @var Loader */ + protected $loader; + + protected function setUp() { + $this->db = \OC::$server->getDatabaseConnection(); + $this->loader = new Loader($this->db); + } + + protected function tearDown() { + $deleteMimetypes = $this->db->getQueryBuilder(); + $deleteMimetypes->delete('mimetypes') + ->where($deleteMimetypes->expr()->like( + 'mimetype', $deleteMimetypes->createPositionalParameter('testing/%') + )); + $deleteMimetypes->execute(); + } + + + public function testGetMimetype() { + $qb = $this->db->getQueryBuilder(); + $qb->insert('mimetypes') + ->values([ + 'mimetype' => $qb->createPositionalParameter('testing/mymimetype') + ]); + $qb->execute(); + + $this->assertTrue($this->loader->exists('testing/mymimetype')); + $mimetypeId = $this->loader->getId('testing/mymimetype'); + $this->assertNotNull($mimetypeId); + + $mimetype = $this->loader->getMimetypeById($mimetypeId); + $this->assertEquals('testing/mymimetype', $mimetype); + } + + public function testGetNonexistentMimetype() { + $this->assertFalse($this->loader->exists('testing/nonexistent')); + // hopefully this ID doesn't exist + $this->assertNull($this->loader->getMimetypeById(12345)); + } + + public function testStore() { + $this->assertFalse($this->loader->exists('testing/mymimetype')); + $mimetypeId = $this->loader->getId('testing/mymimetype'); + + $qb = $this->db->getQueryBuilder(); + $qb->select('mimetype') + ->from('mimetypes') + ->where($qb->expr()->eq('id', $qb->createPositionalParameter($mimetypeId))); + + $mimetype = $qb->execute()->fetch(); + $this->assertEquals('testing/mymimetype', $mimetype['mimetype']); + + $this->assertEquals('testing/mymimetype', $this->loader->getMimetypeById($mimetypeId)); + $this->assertEquals($mimetypeId, $this->loader->getId('testing/mymimetype')); + } + + public function testStoreExists() { + $mimetypeId = $this->loader->getId('testing/mymimetype'); + $mimetypeId2 = $this->loader->getId('testing/mymimetype'); + + $this->assertEquals($mimetypeId, $mimetypeId2); + } + +} diff --git a/tests/lib/memcache/memcached.php b/tests/lib/memcache/memcached.php index 51a78996dd4..3ea9216029a 100644 --- a/tests/lib/memcache/memcached.php +++ b/tests/lib/memcache/memcached.php @@ -26,4 +26,27 @@ class Memcached extends Cache { parent::setUp(); $this->instance = new \OC\Memcache\Memcached($this->getUniqueID()); } + + public function testClear() { + // Memcached is sometimes broken with clear(), so we don't test it thoroughly + $value='ipsum lorum'; + $this->instance->set('1_value1', $value); + $this->instance->set('1_value2', $value); + $this->instance->set('2_value1', $value); + $this->instance->set('3_value1', $value); + + $this->assertTrue($this->instance->clear('1_')); + + $this->assertFalse($this->instance->hasKey('1_value1')); + $this->assertFalse($this->instance->hasKey('1_value2')); + //$this->assertTrue($this->instance->hasKey('2_value1')); + //$this->assertTrue($this->instance->hasKey('3_value1')); + + $this->assertTrue($this->instance->clear()); + + $this->assertFalse($this->instance->hasKey('1_value1')); + $this->assertFalse($this->instance->hasKey('1_value2')); + $this->assertFalse($this->instance->hasKey('2_value1')); + $this->assertFalse($this->instance->hasKey('3_value1')); + } } diff --git a/tests/lib/notification/actiontest.php b/tests/lib/notification/actiontest.php new file mode 100644 index 00000000000..e319c250cc7 --- /dev/null +++ b/tests/lib/notification/actiontest.php @@ -0,0 +1,236 @@ +<?php +/** + * @author Joas Schilling <nickvergessen@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\Notification; + + +use OC\Notification\Action; +use OC\Notification\IAction; +use Test\TestCase; + +class ActionTest extends TestCase { + /** @var IAction */ + protected $action; + + public function setUp() { + parent::setUp(); + $this->action = new Action(); + } + + public function dataSetLabel() { + return [ + ['test1'], + [str_repeat('a', 1)], + [str_repeat('a', 32)], + ]; + } + + /** + * @dataProvider dataSetLabel + * @param string $label + */ + public function testSetLabel($label) { + $this->assertSame('', $this->action->getLabel()); + $this->action->setLabel($label); + $this->assertSame($label, $this->action->getLabel()); + } + + public function dataSetLabelInvalid() { + return [ + [true], + [false], + [0], + [1], + [''], + [str_repeat('a', 33)], + [[]], + [[str_repeat('a', 33)]], + ]; + } + + /** + * @dataProvider dataSetLabelInvalid + * @param string $label + * + * @expectedException \InvalidArgumentException + */ + public function testSetLabelInvalid($label) { + $this->action->setLabel($label); + } + + public function dataSetParsedLabel() { + return [ + ['test1'], + [str_repeat('a', 1)], + [str_repeat('a', 32)], + ]; + } + + /** + * @dataProvider dataSetParsedLabel + * @param string $label + */ + public function testSetParsedLabel($label) { + $this->assertSame('', $this->action->getParsedLabel()); + $this->action->setParsedLabel($label); + $this->assertSame($label, $this->action->getParsedLabel()); + } + + public function dataSetParsedLabelInvalid() { + return [ + [true], + [false], + [0], + [1], + [''], + [[]], + [[str_repeat('a', 33)]], + ]; + } + + /** + * @dataProvider dataSetParsedLabelInvalid + * @param string $label + * + * @expectedException \InvalidArgumentException + */ + public function testSetParsedLabelInvalid($label) { + $this->action->setParsedLabel($label); + } + + public function dataSetLink() { + return [ + ['test1', 'GET'], + ['test2', 'POST'], + [str_repeat('a', 1), 'PUT'], + [str_repeat('a', 256), 'DELETE'], + ]; + } + + /** + * @dataProvider dataSetLink + * @param string $link + * @param string $type + */ + public function testSetLink($link, $type) { + $this->assertSame('', $this->action->getLink()); + $this->action->setLink($link, $type); + $this->assertSame($link, $this->action->getLink()); + $this->assertSame($type, $this->action->getRequestType()); + } + + public function dataSetLinkInvalid() { + return [ + // Invalid link + [true, 'GET'], + [false, 'GET'], + [0, 'GET'], + [1, 'GET'], + ['', 'GET'], + [str_repeat('a', 257), 'GET'], + [[], 'GET'], + [[str_repeat('a', 257)], 'GET'], + + // Invalid type + ['url', 'notGET'], + ['url', true], + ['url', false], + ['url', 0], + ['url', 1], + ['url', []], + ['url', ['GET']], + ]; + } + + /** + * @dataProvider dataSetLinkInvalid + * @param string $link + * @param string $type + * + * @expectedException \InvalidArgumentException + */ + public function testSetLinkInvalid($link, $type) { + $this->action->setLink($link, $type); + } + + public function dataSetIcon() { + return [ + ['test1'], + [str_repeat('a', 1)], + [str_repeat('a', 64)], + ]; + } + + /** + * @dataProvider dataSetIcon + * @param string $icon + */ + public function testSetIcon($icon) { + $this->assertSame('', $this->action->getIcon()); + $this->action->setIcon($icon); + $this->assertSame($icon, $this->action->getIcon()); + } + + public function dataSetIconInvalid() { + return [ + [true], + [false], + [0], + [1], + [''], + [str_repeat('a', 65)], + [[]], + [[str_repeat('a', 65)]], + ]; + } + + /** + * @dataProvider dataSetIconInvalid + * @param string $icon + * + * @expectedException \InvalidArgumentException + */ + public function testSetIconInvalid($icon) { + $this->action->setIcon($icon); + } + + public function testIsValid() { + $this->assertFalse($this->action->isValid()); + $this->assertFalse($this->action->isValidParsed()); + $this->action->setLabel('label'); + $this->assertFalse($this->action->isValid()); + $this->assertFalse($this->action->isValidParsed()); + $this->action->setLink('link', 'GET'); + $this->assertTrue($this->action->isValid()); + $this->assertFalse($this->action->isValidParsed()); + } + + public function testIsValidParsed() { + $this->assertFalse($this->action->isValid()); + $this->assertFalse($this->action->isValidParsed()); + $this->action->setParsedLabel('label'); + $this->assertFalse($this->action->isValid()); + $this->assertFalse($this->action->isValidParsed()); + $this->action->setLink('link', 'GET'); + $this->assertFalse($this->action->isValid()); + $this->assertTrue($this->action->isValidParsed()); + } +} diff --git a/tests/lib/notification/managertest.php b/tests/lib/notification/managertest.php new file mode 100644 index 00000000000..fa2a0586f90 --- /dev/null +++ b/tests/lib/notification/managertest.php @@ -0,0 +1,345 @@ +<?php +/** + * @author Joas Schilling <nickvergessen@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\Notification; + +use OC\Notification\Manager; +use OC\Notification\IManager; +use Test\TestCase; + +class ManagerTest extends TestCase { + /** @var IManager */ + protected $manager; + + public function setUp() { + parent::setUp(); + $this->manager = new Manager(); + } + + public function testRegisterApp() { + $app = $this->getMockBuilder('OC\Notification\IApp') + ->disableOriginalConstructor() + ->getMock(); + + $closure = function() use ($app) { + return $app; + }; + + $this->assertEquals([], $this->invokePrivate($this->manager, 'getApps')); + + $this->manager->registerApp($closure); + + $this->assertEquals([$app], $this->invokePrivate($this->manager, 'getApps')); + $this->assertEquals([$app], $this->invokePrivate($this->manager, 'getApps')); + + $this->manager->registerApp($closure); + + $this->assertEquals([$app, $app], $this->invokePrivate($this->manager, 'getApps')); + } + + /** + * @expectedException \InvalidArgumentException + */ + public function testRegisterAppInvalid() { + $notifier = $this->getMockBuilder('OC\Notification\INotifier') + ->disableOriginalConstructor() + ->getMock(); + + $closure = function() use ($notifier) { + return $notifier; + }; + + $this->manager->registerApp($closure); + + $this->invokePrivate($this->manager, 'getApps'); + } + + public function testRegisterNotifier() { + $notifier = $this->getMockBuilder('OC\Notification\INotifier') + ->disableOriginalConstructor() + ->getMock(); + + $closure = function() use ($notifier) { + return $notifier; + }; + + $this->assertEquals([], $this->invokePrivate($this->manager, 'getNotifiers')); + + $this->manager->registerNotifier($closure); + + $this->assertEquals([$notifier], $this->invokePrivate($this->manager, 'getNotifiers')); + $this->assertEquals([$notifier], $this->invokePrivate($this->manager, 'getNotifiers')); + + $this->manager->registerNotifier($closure); + + $this->assertEquals([$notifier, $notifier], $this->invokePrivate($this->manager, 'getNotifiers')); + } + + /** + * @expectedException \InvalidArgumentException + */ + public function testRegisterNotifierInvalid() { + $app = $this->getMockBuilder('OC\Notification\IApp') + ->disableOriginalConstructor() + ->getMock(); + + $closure = function() use ($app) { + return $app; + }; + + $this->manager->registerNotifier($closure); + + $this->invokePrivate($this->manager, 'getNotifiers'); + } + + public function testCreateNotification() { + $action = $this->manager->createNotification(); + $this->assertInstanceOf('OC\Notification\INotification', $action); + } + + public function testNotify() { + /** @var \OC\Notification\INotification|\PHPUnit_Framework_MockObject_MockObject $notification */ + $notification = $this->getMockBuilder('OC\Notification\INotification') + ->disableOriginalConstructor() + ->getMock(); + $notification->expects($this->once()) + ->method('isValid') + ->willReturn(true); + + /** @var \OC\Notification\IApp|\PHPUnit_Framework_MockObject_MockObject $app */ + $app = $this->getMockBuilder('OC\Notification\IApp') + ->disableOriginalConstructor() + ->getMock(); + $app->expects($this->once()) + ->method('notify') + ->with($notification); + + /** @var \OC\Notification\IApp|\PHPUnit_Framework_MockObject_MockObject $app2 */ + $app2 = $this->getMockBuilder('OC\Notification\IApp') + ->disableOriginalConstructor() + ->getMock(); + $app2->expects($this->once()) + ->method('notify') + ->with($notification); + + $this->manager->registerApp(function() use ($app) { + return $app; + }); + $this->manager->registerApp(function() use ($app2) { + return $app2; + }); + + $this->manager->notify($notification); + } + + /** + * @expectedException \InvalidArgumentException + */ + public function testNotifyInvalid() { + /** @var \OC\Notification\INotification|\PHPUnit_Framework_MockObject_MockObject $notification */ + $notification = $this->getMockBuilder('OC\Notification\INotification') + ->disableOriginalConstructor() + ->getMock(); + $notification->expects($this->once()) + ->method('isValid') + ->willReturn(false); + + $this->manager->notify($notification); + } + + public function testPrepare() { + /** @var \OC\Notification\INotification|\PHPUnit_Framework_MockObject_MockObject $notification */ + $notification = $this->getMockBuilder('OC\Notification\INotification') + ->disableOriginalConstructor() + ->getMock(); + $notification->expects($this->once()) + ->method('isValidParsed') + ->willReturn(true); + /** @var \OC\Notification\INotification|\PHPUnit_Framework_MockObject_MockObject $notification2 */ + $notification2 = $this->getMockBuilder('OC\Notification\INotification') + ->disableOriginalConstructor() + ->getMock(); + $notification2->expects($this->exactly(2)) + ->method('isValidParsed') + ->willReturn(true); + + /** @var \OC\Notification\IApp|\PHPUnit_Framework_MockObject_MockObject $notifier */ + $notifier = $this->getMockBuilder('OC\Notification\INotifier') + ->disableOriginalConstructor() + ->getMock(); + $notifier->expects($this->once()) + ->method('prepare') + ->with($notification, 'en') + ->willReturnArgument(0); + + /** @var \OC\Notification\IApp|\PHPUnit_Framework_MockObject_MockObject $notifier2 */ + $notifier2 = $this->getMockBuilder('OC\Notification\INotifier') + ->disableOriginalConstructor() + ->getMock(); + $notifier2->expects($this->once()) + ->method('prepare') + ->with($notification, 'en') + ->willReturn($notification2); + + $this->manager->registerNotifier(function() use ($notifier) { + return $notifier; + }); + $this->manager->registerNotifier(function() use ($notifier2) { + return $notifier2; + }); + + $this->assertEquals($notification2, $this->manager->prepare($notification, 'en')); + } + + /** + * @expectedException \InvalidArgumentException + */ + public function testPrepareInvalid() { + /** @var \OC\Notification\INotification|\PHPUnit_Framework_MockObject_MockObject $notification */ + $notification = $this->getMockBuilder('OC\Notification\INotification') + ->disableOriginalConstructor() + ->getMock(); + $notification->expects($this->once()) + ->method('isValidParsed') + ->willReturn(false); + + /** @var \OC\Notification\IApp|\PHPUnit_Framework_MockObject_MockObject $notifier */ + $notifier = $this->getMockBuilder('OC\Notification\INotifier') + ->disableOriginalConstructor() + ->getMock(); + $notifier->expects($this->once()) + ->method('prepare') + ->with($notification, 'de') + ->willReturnArgument(0); + + $this->manager->registerNotifier(function() use ($notifier) { + return $notifier; + }); + + $this->manager->prepare($notification, 'de'); + } + + public function testPrepareNotifierThrows() { + /** @var \OC\Notification\INotification|\PHPUnit_Framework_MockObject_MockObject $notification */ + $notification = $this->getMockBuilder('OC\Notification\INotification') + ->disableOriginalConstructor() + ->getMock(); + $notification->expects($this->once()) + ->method('isValidParsed') + ->willReturn(true); + + /** @var \OC\Notification\IApp|\PHPUnit_Framework_MockObject_MockObject $notifier */ + $notifier = $this->getMockBuilder('OC\Notification\INotifier') + ->disableOriginalConstructor() + ->getMock(); + $notifier->expects($this->once()) + ->method('prepare') + ->with($notification, 'de') + ->willThrowException(new \InvalidArgumentException); + + $this->manager->registerNotifier(function() use ($notifier) { + return $notifier; + }); + + $this->assertEquals($notification, $this->manager->prepare($notification, 'de')); + } + + /** + * @expectedException \InvalidArgumentException + */ + public function testPrepareNoNotifier() { + /** @var \OC\Notification\INotification|\PHPUnit_Framework_MockObject_MockObject $notification */ + $notification = $this->getMockBuilder('OC\Notification\INotification') + ->disableOriginalConstructor() + ->getMock(); + $notification->expects($this->once()) + ->method('isValidParsed') + ->willReturn(false); + + $this->manager->prepare($notification, 'en'); + } + + public function testMarkProcessed() { + /** @var \OC\Notification\INotification|\PHPUnit_Framework_MockObject_MockObject $notification */ + $notification = $this->getMockBuilder('OC\Notification\INotification') + ->disableOriginalConstructor() + ->getMock(); + + /** @var \OC\Notification\IApp|\PHPUnit_Framework_MockObject_MockObject $app */ + $app = $this->getMockBuilder('OC\Notification\IApp') + ->disableOriginalConstructor() + ->getMock(); + $app->expects($this->once()) + ->method('markProcessed') + ->with($notification); + + /** @var \OC\Notification\IApp|\PHPUnit_Framework_MockObject_MockObject $app2 */ + $app2 = $this->getMockBuilder('OC\Notification\IApp') + ->disableOriginalConstructor() + ->getMock(); + $app2->expects($this->once()) + ->method('markProcessed') + ->with($notification); + + $this->manager->registerApp(function() use ($app) { + return $app; + }); + $this->manager->registerApp(function() use ($app2) { + return $app2; + }); + + $this->manager->markProcessed($notification); + } + + public function testGetCount() { + /** @var \OC\Notification\INotification|\PHPUnit_Framework_MockObject_MockObject $notification */ + $notification = $this->getMockBuilder('OC\Notification\INotification') + ->disableOriginalConstructor() + ->getMock(); + + /** @var \OC\Notification\IApp|\PHPUnit_Framework_MockObject_MockObject $app */ + $app = $this->getMockBuilder('OC\Notification\IApp') + ->disableOriginalConstructor() + ->getMock(); + $app->expects($this->once()) + ->method('getCount') + ->with($notification) + ->willReturn(21); + + /** @var \OC\Notification\IApp|\PHPUnit_Framework_MockObject_MockObject $app2 */ + $app2 = $this->getMockBuilder('OC\Notification\IApp') + ->disableOriginalConstructor() + ->getMock(); + $app2->expects($this->once()) + ->method('getCount') + ->with($notification) + ->willReturn(42); + + $this->manager->registerApp(function() use ($app) { + return $app; + }); + $this->manager->registerApp(function() use ($app2) { + return $app2; + }); + + $this->assertSame(63, $this->manager->getCount($notification)); + } +} diff --git a/tests/lib/notification/notificationtest.php b/tests/lib/notification/notificationtest.php new file mode 100644 index 00000000000..a790a53eaa7 --- /dev/null +++ b/tests/lib/notification/notificationtest.php @@ -0,0 +1,601 @@ +<?php +/** + * @author Joas Schilling <nickvergessen@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\Notification; + + +use OC\Notification\Notification; +use OC\Notification\INotification; +use Test\TestCase; + +class NotificationTest extends TestCase { + /** @var INotification */ + protected $notification; + + public function setUp() { + parent::setUp(); + $this->notification = new Notification(); + } + + protected function dataValidString($maxLength) { + $dataSets = [ + ['test1'], + [str_repeat('a', 1)], + ]; + if ($maxLength !== false) { + $dataSets[] = [str_repeat('a', $maxLength)]; + } + return $dataSets; + } + + protected function dataInvalidString($maxLength) { + $dataSets = [ + [true], + [false], + [0], + [1], + [''], + [[]], + ]; + if ($maxLength !== false) { + $dataSets[] = [str_repeat('a', $maxLength + 1)]; + $dataSets[] = [[str_repeat('a', $maxLength + 1)]]; + } + return $dataSets; + } + + protected function dataValidInt() { + return [ + [0], + [1], + [time()], + ]; + } + + protected function dataInvalidInt() { + return [ + [true], + [false], + [''], + ['a'], + [str_repeat('a', 256)], + [[]], + [['a']], + [[str_repeat('a', 256)]], + ]; + } + + public function dataSetApp() { + return $this->dataValidString(32); + } + + /** + * @dataProvider dataSetApp + * @param string $app + */ + public function testSetApp($app) { + $this->assertSame('', $this->notification->getApp()); + $this->notification->setApp($app); + $this->assertSame($app, $this->notification->getApp()); + } + + public function dataSetAppInvalid() { + return $this->dataInvalidString(32); + } + + /** + * @dataProvider dataSetAppInvalid + * @param mixed $app + * + * @expectedException \InvalidArgumentException + */ + public function testSetAppInvalid($app) { + $this->notification->setApp($app); + } + + public function dataSetUser() { + return $this->dataValidString(64); + } + + /** + * @dataProvider dataSetUser + * @param string $user + */ + public function testSetUser($user) { + $this->assertSame('', $this->notification->getUser()); + $this->notification->setUser($user); + $this->assertSame($user, $this->notification->getUser()); + } + + public function dataSetUserInvalid() { + return $this->dataInvalidString(64); + } + + /** + * @dataProvider dataSetUserInvalid + * @param mixed $user + * + * @expectedException \InvalidArgumentException + */ + public function testSetUserInvalid($user) { + $this->notification->setUser($user); + } + + public function dataSetTimestamp() { + return $this->dataValidInt(); + } + + /** + * @dataProvider dataSetTimestamp + * @param int $timestamp + */ + public function testSetTimestamp($timestamp) { + $this->assertSame(0, $this->notification->getTimestamp()); + $this->notification->setTimestamp($timestamp); + $this->assertSame($timestamp, $this->notification->getTimestamp()); + } + + public function dataSetTimestampInvalid() { + return $this->dataInvalidInt(); + } + + /** + * @dataProvider dataSetTimestampInvalid + * @param mixed $timestamp + * + * @expectedException \InvalidArgumentException + */ + public function testSetTimestampInvalid($timestamp) { + $this->notification->setTimestamp($timestamp); + } + + public function dataSetObject() { + return [ + ['a', 1], + [str_repeat('a', 64), time()], + ]; + } + + /** + * @dataProvider dataSetObject + * @param string $type + * @param int $id + */ + public function testSetObject($type, $id) { + $this->assertSame('', $this->notification->getObjectType()); + $this->assertSame(0, $this->notification->getObjectId()); + $this->notification->setObject($type, $id); + $this->assertSame($type, $this->notification->getObjectType()); + $this->assertSame($id, $this->notification->getObjectId()); + } + + public function dataSetObjectTypeInvalid() { + return $this->dataInvalidString(64); + } + + /** + * @dataProvider dataSetObjectTypeInvalid + * @param mixed $type + * + * @expectedException \InvalidArgumentException + * @expectedMessage 'The given object type is invalid' + */ + public function testSetObjectTypeInvalid($type) { + $this->notification->setObject($type, 1337); + } + + public function dataSetObjectIdInvalid() { + return $this->dataInvalidInt(); + } + + /** + * @dataProvider dataSetObjectIdInvalid + * @param mixed $id + * + * @expectedException \InvalidArgumentException + * @expectedMessage 'The given object id is invalid' + */ + public function testSetObjectIdInvalid($id) { + $this->notification->setObject('object', $id); + } + + public function dataSetSubject() { + return [ + ['a', []], + [str_repeat('a', 64), [str_repeat('a', 160)]], + [str_repeat('a', 64), array_fill(0, 160, 'a')], + ]; + } + + /** + * @dataProvider dataSetSubject + * @param string $subject + * @param array $parameters + */ + public function testSetSubject($subject, $parameters) { + $this->assertSame('', $this->notification->getSubject()); + $this->assertSame([], $this->notification->getSubjectParameters()); + $this->notification->setSubject($subject, $parameters); + $this->assertSame($subject, $this->notification->getSubject()); + $this->assertSame($parameters, $this->notification->getSubjectParameters()); + } + + public function dataSetSubjectInvalidSubject() { + return $this->dataInvalidString(64); + } + + /** + * @dataProvider dataSetSubjectInvalidSubject + * @param mixed $subject + * + * @expectedException \InvalidArgumentException + */ + public function testSetSubjectInvalidSubject($subject) { + $this->notification->setSubject($subject, []); + } + + public function dataSetParsedSubject() { + return $this->dataValidString(false); + } + + /** + * @dataProvider dataSetParsedSubject + * @param string $subject + */ + public function testSetParsedSubject($subject) { + $this->assertSame('', $this->notification->getParsedSubject()); + $this->notification->setParsedSubject($subject); + $this->assertSame($subject, $this->notification->getParsedSubject()); + } + + public function dataSetParsedSubjectInvalid() { + return $this->dataInvalidString(false); + } + + /** + * @dataProvider dataSetParsedSubjectInvalid + * @param mixed $subject + * + * @expectedException \InvalidArgumentException + */ + public function testSetParsedSubjectInvalid($subject) { + $this->notification->setParsedSubject($subject); + } + + public function dataSetMessage() { + return [ + ['a', []], + [str_repeat('a', 64), [str_repeat('a', 160)]], + [str_repeat('a', 64), array_fill(0, 160, 'a')], + ]; + } + + /** + * @dataProvider dataSetMessage + * @param string $message + * @param array $parameters + */ + public function testSetMessage($message, $parameters) { + $this->assertSame('', $this->notification->getMessage()); + $this->assertSame([], $this->notification->getMessageParameters()); + $this->notification->setMessage($message, $parameters); + $this->assertSame($message, $this->notification->getMessage()); + $this->assertSame($parameters, $this->notification->getMessageParameters()); + } + + public function dataSetMessageInvalidMessage() { + return $this->dataInvalidString(64); + } + + /** + * @dataProvider dataSetMessageInvalidMessage + * @param mixed $message + * + * @expectedException \InvalidArgumentException + */ + public function testSetMessageInvalidMessage($message) { + $this->notification->setMessage($message, []); + } + + public function dataSetParsedMessage() { + return $this->dataValidString(false); + } + + /** + * @dataProvider dataSetParsedMessage + * @param string $message + */ + public function testSetParsedMessage($message) { + $this->assertSame('', $this->notification->getParsedMessage()); + $this->notification->setParsedMessage($message); + $this->assertSame($message, $this->notification->getParsedMessage()); + } + + public function dataSetParsedMessageInvalid() { + return $this->dataInvalidString(false); + } + + /** + * @dataProvider dataSetParsedMessageInvalid + * @param mixed $message + * + * @expectedException \InvalidArgumentException + */ + public function testSetParsedMessageInvalid($message) { + $this->notification->setParsedMessage($message); + } + + public function dataSetLink() { + return $this->dataValidString(4000); + } + + /** + * @dataProvider dataSetLink + * @param string $link + */ + public function testSetLink($link) { + $this->assertSame('', $this->notification->getLink()); + $this->notification->setLink($link); + $this->assertSame($link, $this->notification->getLink()); + } + + public function dataSetLinkInvalid() { + return $this->dataInvalidString(4000); + } + + /** + * @dataProvider dataSetLinkInvalid + * @param mixed $link + * + * @expectedException \InvalidArgumentException + */ + public function testSetLinkInvalid($link) { + $this->notification->setLink($link); + } + + public function dataSetIcon() { + return $this->dataValidString(64); + } + + /** + * @dataProvider dataSetIcon + * @param string $icon + */ + public function testSetIcon($icon) { + $this->assertSame('', $this->notification->getIcon()); + $this->notification->setIcon($icon); + $this->assertSame($icon, $this->notification->getIcon()); + } + + public function dataSetIconInvalid() { + return $this->dataInvalidString(64); + } + + /** + * @dataProvider dataSetIconInvalid + * @param mixed $icon + * + * @expectedException \InvalidArgumentException + */ + public function testSetIconInvalid($icon) { + $this->notification->setIcon($icon); + } + + public function testCreateAction() { + $action = $this->notification->createAction(); + $this->assertInstanceOf('OC\Notification\IAction', $action); + } + + public function testAddAction() { + /** @var \OC\Notification\IAction|\PHPUnit_Framework_MockObject_MockObject $action */ + $action = $this->getMockBuilder('OC\Notification\IAction') + ->disableOriginalConstructor() + ->getMock(); + $action->expects($this->once()) + ->method('isValid') + ->willReturn(true); + $action->expects($this->never()) + ->method('isValidParsed'); + + $this->notification->addAction($action); + + $this->assertEquals([$action], $this->notification->getActions()); + $this->assertEquals([], $this->notification->getParsedActions()); + } + + /** + * @expectedException \InvalidArgumentException + */ + public function testAddActionInvalid() { + /** @var \OC\Notification\IAction|\PHPUnit_Framework_MockObject_MockObject $action */ + $action = $this->getMockBuilder('OC\Notification\IAction') + ->disableOriginalConstructor() + ->getMock(); + $action->expects($this->once()) + ->method('isValid') + ->willReturn(false); + $action->expects($this->never()) + ->method('isValidParsed'); + + $this->notification->addAction($action); + } + + public function testAddParsedAction() { + /** @var \OC\Notification\IAction|\PHPUnit_Framework_MockObject_MockObject $action */ + $action = $this->getMockBuilder('OC\Notification\IAction') + ->disableOriginalConstructor() + ->getMock(); + $action->expects($this->once()) + ->method('isValidParsed') + ->willReturn(true); + $action->expects($this->never()) + ->method('isValid'); + + $this->notification->addParsedAction($action); + + $this->assertEquals([$action], $this->notification->getParsedActions()); + $this->assertEquals([], $this->notification->getActions()); + } + + /** + * @expectedException \InvalidArgumentException + */ + public function testAddParsedActionInvalid() { + /** @var \OC\Notification\IAction|\PHPUnit_Framework_MockObject_MockObject $action */ + $action = $this->getMockBuilder('OC\Notification\IAction') + ->disableOriginalConstructor() + ->getMock(); + $action->expects($this->once()) + ->method('isValidParsed') + ->willReturn(false); + $action->expects($this->never()) + ->method('isValid'); + + $this->notification->addParsedAction($action); + } + + public function dataIsValid() { + return [ + [false, '', false], + [true, '', false], + [false, 'a', false], + [true, 'a', true], + ]; + } + + /** + * @dataProvider dataIsValid + * + * @param bool $isValidCommon + * @param string $subject + * @param bool $expected + */ + public function testIsValid($isValidCommon, $subject, $expected) { + /** @var \OC\Notification\INotification|\PHPUnit_Framework_MockObject_MockObject $notification */ + $notification = $this->getMockBuilder('\OC\Notification\Notification') + ->setMethods([ + 'isValidCommon', + 'getSubject', + ]) + ->getMock(); + + $notification->expects($this->once()) + ->method('isValidCommon') + ->willReturn($isValidCommon); + + $notification->expects(!$isValidCommon ? $this->never() : $this->once()) + ->method('getSubject') + ->willReturn($subject); + + $notification->expects($this->never()) + ->method('getParsedSubject') + ->willReturn($subject); + + $this->assertEquals($expected, $notification->isValid()); + } + + /** + * @dataProvider dataIsValid + * + * @param bool $isValidCommon + * @param string $subject + * @param bool $expected + */ + public function testIsParsedValid($isValidCommon, $subject, $expected) { + /** @var \OC\Notification\INotification|\PHPUnit_Framework_MockObject_MockObject $notification */ + $notification = $this->getMockBuilder('\OC\Notification\Notification') + ->setMethods([ + 'isValidCommon', + 'getParsedSubject', + ]) + ->getMock(); + + $notification->expects($this->once()) + ->method('isValidCommon') + ->willReturn($isValidCommon); + + $notification->expects(!$isValidCommon ? $this->never() : $this->once()) + ->method('getParsedSubject') + ->willReturn($subject); + + $notification->expects($this->never()) + ->method('getSubject') + ->willReturn($subject); + + $this->assertEquals($expected, $notification->isValidParsed()); + } + + public function dataIsValidCommon() { + return [ + ['', '', 0, '', 0, false], + ['app', '', 0, '', 0, false], + ['app', 'user', 0, '', 0, false], + ['app', 'user', time(), '', 0, false], + ['app', 'user', time(), 'type', 0, false], + ['app', 'user', time(), 'type', 42, true], + ]; + } + + /** + * @dataProvider dataIsValidCommon + * + * @param string $app + * @param string $user + * @param int $timestamp + * @param string $objectType + * @param int $objectId + * @param bool $expected + */ + public function testIsValidCommon($app, $user, $timestamp, $objectType, $objectId, $expected) { + /** @var \OC\Notification\INotification|\PHPUnit_Framework_MockObject_MockObject $notification */ + $notification = $this->getMockBuilder('\OC\Notification\Notification') + ->setMethods([ + 'getApp', + 'getUser', + 'getTimestamp', + 'getObjectType', + 'getObjectId', + ]) + ->getMock(); + + $notification->expects($this->any()) + ->method('getApp') + ->willReturn($app); + + $notification->expects($this->any()) + ->method('getUser') + ->willReturn($user); + + $notification->expects($this->any()) + ->method('getTimestamp') + ->willReturn($timestamp); + + $notification->expects($this->any()) + ->method('getObjectType') + ->willReturn($objectType); + + $notification->expects($this->any()) + ->method('getObjectId') + ->willReturn($objectId); + + $this->assertEquals($expected, $this->invokePrivate($notification, 'isValidCommon')); + } +} diff --git a/tests/lib/repair/repairmimetypes.php b/tests/lib/repair/repairmimetypes.php index 40ffc14612b..da36e7de58a 100644 --- a/tests/lib/repair/repairmimetypes.php +++ b/tests/lib/repair/repairmimetypes.php @@ -22,8 +22,11 @@ class RepairMimeTypes extends \Test\TestCase { protected function setUp() { parent::setUp(); - $this->storage = new \OC\Files\Storage\Temporary([]); + $this->savedMimetypeLoader = \OC::$server->getMimeTypeLoader(); + $this->mimetypeLoader = \OC::$server->getMimeTypeLoader(); + + $this->storage = new \OC\Files\Storage\Temporary([]); $this->repair = new \OC\Repair\RepairMimeTypes(); } @@ -33,14 +36,13 @@ class RepairMimeTypes extends \Test\TestCase { \OC_DB::executeAudited($sql, [$this->storage->getId()]); $this->clearMimeTypes(); - DummyFileCache::clearCachedMimeTypes(); - parent::tearDown(); } private function clearMimeTypes() { $sql = 'DELETE FROM `*PREFIX*mimetypes`'; \OC_DB::executeAudited($sql); + $this->mimetypeLoader->reset(); } private function addEntries($entries) { @@ -86,8 +88,7 @@ class RepairMimeTypes extends \Test\TestCase { $this->repair->run(); // force mimetype reload - DummyFileCache::clearCachedMimeTypes(); - $this->storage->getCache()->loadMimeTypes(); + $this->mimetypeLoader->reset(); $this->checkEntries($fixedMimeTypes); } @@ -434,14 +435,3 @@ class RepairMimeTypes extends \Test\TestCase { } } -/** - * Dummy class to access protected members - */ -class DummyFileCache extends \OC\Files\Cache\Cache { - - public static function clearCachedMimeTypes() { - self::$mimetypeIds = []; - self::$mimetypes = []; - } -} - diff --git a/tests/lib/server.php b/tests/lib/server.php index e73fc8b3ab1..96a476bd4d1 100644 --- a/tests/lib/server.php +++ b/tests/lib/server.php @@ -104,6 +104,8 @@ class Server extends \Test\TestCase { ['NavigationManager', '\OC\NavigationManager'], ['NavigationManager', '\OCP\INavigationManager'], + ['NotificationManager', '\OC\Notification\Manager'], + ['NotificationManager', '\OC\Notification\IManager'], ['UserCache', '\OC\Cache\File'], ['UserCache', '\OCP\ICache'], diff --git a/tests/lib/session/cryptowrappingtest.php b/tests/lib/session/cryptowrappingtest.php index 12b3c905b7f..e1fadbf933f 100644 --- a/tests/lib/session/cryptowrappingtest.php +++ b/tests/lib/session/cryptowrappingtest.php @@ -57,26 +57,17 @@ class CryptoWrappingTest extends TestCase { $this->instance = new CryptoSessionData($this->wrappedSession, $this->crypto, 'PASS'); } - public function testWrappingSet() { - $unencryptedValue = 'foobar'; - - $this->wrappedSession->expects($this->once()) - ->method('set') - ->with('key', $this->crypto->encrypt(json_encode($unencryptedValue))); - $this->instance->set('key', $unencryptedValue); - } - public function testUnwrappingGet() { $unencryptedValue = 'foobar'; $encryptedValue = $this->crypto->encrypt($unencryptedValue); $this->wrappedSession->expects($this->once()) ->method('get') - ->with('key') + ->with('encrypted_session_data') ->willReturnCallback(function () use ($encryptedValue) { return $encryptedValue; }); - $this->assertSame($unencryptedValue, $this->wrappedSession->get('key')); + $this->assertSame($unencryptedValue, $this->wrappedSession->get('encrypted_session_data')); } } diff --git a/tests/lib/tempmanager.php b/tests/lib/tempmanager.php index 0fa025d44c8..8faf804a203 100644 --- a/tests/lib/tempmanager.php +++ b/tests/lib/tempmanager.php @@ -22,12 +22,13 @@ class NullLogger extends Log { } class TempManager extends \Test\TestCase { - protected $baseDir; + + protected $baseDir = null; protected function setUp() { parent::setUp(); - $this->baseDir = get_temp_dir() . $this->getUniqueID('/oc_tmp_test'); + $this->baseDir = $this->getManager()->getTempBaseDir() . $this->getUniqueID('/oc_tmp_test'); if (!is_dir($this->baseDir)) { mkdir($this->baseDir); } @@ -35,18 +36,30 @@ class TempManager extends \Test\TestCase { protected function tearDown() { \OC_Helper::rmdirr($this->baseDir); + $this->baseDir = null; parent::tearDown(); } /** * @param \OCP\ILogger $logger + * @param \OCP\IConfig $config * @return \OC\TempManager */ - protected function getManager($logger = null) { + protected function getManager($logger = null, $config = null) { if (!$logger) { $logger = new NullLogger(); } - return new \OC\TempManager($this->baseDir, $logger); + if (!$config) { + $config = $this->getMock('\OCP\IConfig'); + $config->method('getSystemValue') + ->with('tempdirectory', null) + ->willReturn('/tmp'); + } + $manager = new \OC\TempManager($logger, $config); + if ($this->baseDir) { + $manager->overrideTempBaseDir($this->baseDir); + } + return $manager; } public function testGetFile() { @@ -185,4 +198,19 @@ class TempManager extends \Test\TestCase { $this->assertStringEndsNotWith('./Traversal\\../FileName', $tmpManager); $this->assertStringEndsWith('.Traversal..FileName', $tmpManager); } + + public function testGetTempBaseDirFromConfig() { + $dir = $this->getManager()->getTemporaryFolder(); + + $config = $this->getMock('\OCP\IConfig'); + $config->expects($this->once()) + ->method('getSystemValue') + ->with('tempdirectory', null) + ->willReturn($dir); + + $this->baseDir = null; // prevent override + $tmpManager = $this->getManager(null, $config); + + $this->assertEquals($dir, $tmpManager->getTempBaseDir()); + } } diff --git a/tests/lib/updater.php b/tests/lib/updater.php index 28577071b4c..763858acf5d 100644 --- a/tests/lib/updater.php +++ b/tests/lib/updater.php @@ -67,14 +67,68 @@ class UpdaterTest extends \Test\TestCase { */ public function versionCompatibilityTestData() { return [ - ['1.0.0.0', '2.2.0', true], - ['1.1.1.1', '2.0.0', true], - ['5.0.3', '4.0.3', false], - ['12.0.3', '13.4.5', true], - ['1', '2', true], - ['2', '2', true], - ['6.0.5', '6.0.6', true], - ['5.0.6', '7.0.4', false], + ['1', '2', '1', true], + ['2', '2', '2', true], + ['6.0.5.0', '6.0.6.0', '5.0', true], + ['5.0.6.0', '7.0.4.0', '6.0', false], + // allow upgrading within the same major release + ['8.0.0.0', '8.0.0.0', '8.0', true], + ['8.0.0.0', '8.0.0.4', '8.0', true], + ['8.0.0.0', '8.0.1.0', '8.0', true], + ['8.0.0.0', '8.0.2.0', '8.0', true], + // does not allow downgrading within the same major release + ['8.0.1.0', '8.0.0.0', '8.0', false], + ['8.0.2.0', '8.0.1.0', '8.0', false], + ['8.0.0.4', '8.0.0.0', '8.0', false], + // allows upgrading within the patch version + ['8.0.0.0', '8.0.0.1', '8.0', true], + ['8.0.0.0', '8.0.0.2', '8.0', true], + // does not allow downgrading within the same major release + ['8.0.0.1', '8.0.0.0', '8.0', false], + ['8.0.0.2', '8.0.0.0', '8.0', false], + // allow upgrading to the next major release + ['8.0.0.0', '8.1.0.0', '8.0', true], + ['8.0.0.0', '8.1.1.0', '8.0', true], + ['8.0.0.0', '8.1.1.5', '8.0', true], + ['8.0.0.2', '8.1.1.5', '8.0', true], + ['8.1.0.0', '8.2.0.0', '8.1', true], + ['8.1.0.2', '8.2.0.4', '8.1', true], + ['8.1.0.5', '8.2.0.1', '8.1', true], + ['8.1.0.0', '8.2.1.0', '8.1', true], + ['8.1.0.2', '8.2.1.5', '8.1', true], + ['8.1.0.5', '8.2.1.1', '8.1', true], + // does not allow downgrading to the previous major release + ['8.1.0.0', '8.0.0.0', '7.0', false], + ['8.1.1.0', '8.0.0.0', '7.0', false], + // does not allow skipping major releases + ['8.0.0.0', '8.2.0.0', '8.1', false], + ['8.0.0.0', '8.2.1.0', '8.1', false], + ['8.0.0.0', '9.0.1.0', '8.2', false], + ['8.0.0.0', '10.0.0.0', '9.3', false], + // allows updating to the next major release + ['8.2.0.0', '9.0.0.0', '8.2', true], + ['8.2.0.0', '9.0.0.0', '8.2', true], + ['8.2.0.0', '9.0.1.0', '8.2', true], + ['8.2.0.0', '9.0.1.1', '8.2', true], + ['8.2.0.2', '9.0.1.1', '8.2', true], + ['8.2.2.0', '9.0.1.0', '8.2', true], + ['8.2.2.2', '9.0.1.1', '8.2', true], + ['9.0.0.0', '9.1.0.0', '9.0', true], + ['9.0.0.0', '9.1.0.2', '9.0', true], + ['9.0.0.2', '9.1.0.1', '9.0', true], + ['9.1.0.0', '9.2.0.0', '9.1', true], + ['9.2.0.0', '9.3.0.0', '9.2', true], + ['9.3.0.0', '10.0.0.0', '9.3', true], + // does not allow updating to the next major release (first number) + ['9.0.0.0', '8.2.0.0', '8.1', false], + // other cases + ['8.0.0.0', '8.1.5.0', '8.0', true], + ['8.2.0.0', '9.0.0.0', '8.2', true], + ['8.2.0.0', '9.1.0.0', '9.0', false], + ['9.0.0.0', '8.1.0.0', '8.0', false], + ['9.0.0.0', '8.0.0.0', '7.0', false], + ['9.1.0.0', '8.0.0.0', '7.0', false], + ['8.2.0.0', '8.1.0.0', '8.0', false], ]; } @@ -106,9 +160,9 @@ class UpdaterTest extends \Test\TestCase { * @param string $newVersion * @param bool $result */ - public function testIsUpgradePossible($oldVersion, $newVersion, $result) { + public function testIsUpgradePossible($oldVersion, $newVersion, $allowedVersion, $result) { $updater = new Updater($this->httpHelper, $this->config); - $this->assertSame($result, $updater->isUpgradePossible($oldVersion, $newVersion)); + $this->assertSame($result, $updater->isUpgradePossible($oldVersion, $newVersion, $allowedVersion)); } public function testCheckInCache() { diff --git a/themes/example/defaults.php b/themes/example/defaults.php index 0dd0d46bd9c..6fea8fa8a49 100644 --- a/themes/example/defaults.php +++ b/themes/example/defaults.php @@ -20,54 +20,32 @@ 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; + return 'https://owncloud.org'; } public function getSyncClientUrl() { - return $this->themeSyncClientUrl; + return 'https://owncloud.org/install'; } public function getDocBaseUrl() { - return $this->themeDocBaseUrl; + return 'https://doc.owncloud.org'; } public function getTitle() { - return $this->themeTitle; + return 'Custom Cloud'; } public function getName() { - return $this->themeName; + return 'Custom Cloud'; } public function getEntity() { - return $this->themeEntity; + return 'Custom Cloud Co.'; } public function getSlogan() { - return $this->themeSlogan; + return 'Your custom cloud, personalized for you!'; } public function getShortFooter() { @@ -89,7 +67,7 @@ class OC_Theme { } public function getMailHeaderColor() { - return $this->themeMailHeaderColor; + return '#745bca'; } } diff --git a/version.php b/version.php index a115f4b26be..a6b49d9dc74 100644 --- a/version.php +++ b/version.php @@ -2,6 +2,7 @@ /** * @author Frank Karlitschek <frank@owncloud.org> * @author Lukas Reschke <lukas@owncloud.com> + * @author Vincent Petry <pvince81@owncloud.com> * * @copyright Copyright (c) 2015, ownCloud, Inc. * @license AGPL-3.0 @@ -22,14 +23,16 @@ // We only can count up. The 4. digit is only for the internal patchlevel to trigger DB upgrades // between betas, final and RCs. This is _not_ the public version number. Reset minor/patchlevel // when updating major/minor version number. -$OC_Version=array(8, 2, 0, 4); +$OC_Version = [8, 2, 0, 4]; // The human readable string -$OC_VersionString='8.2 pre alpha'; +$OC_VersionString = '8.2 pre alpha'; + +$OC_VersionCanBeUpgradedFrom = [8, 1]; // The ownCloud channel -$OC_Channel='git'; +$OC_Channel = 'git'; // The build number -$OC_Build=''; +$OC_Build = ''; |