diff options
Diffstat (limited to 'lib')
85 files changed, 1329 insertions, 261 deletions
diff --git a/lib/base.php b/lib/base.php index 69ea6e54c2d..38e9fb8e498 100644 --- a/lib/base.php +++ b/lib/base.php @@ -132,7 +132,7 @@ class OC { OC::$SUBURI = str_replace("\\", "/", substr(realpath($_SERVER["SCRIPT_FILENAME"]), strlen(OC::$SERVERROOT))); /** - * FIXME: The following lines are required because we can't yet instantiiate + * FIXME: The following lines are required because we can't yet instantiate * \OC::$server->getRequest() since \OC::$server does not yet exist. */ $params = [ @@ -174,7 +174,7 @@ class OC { // Resolve /nextcloud to /nextcloud/ to ensure to always have a trailing // slash which is required by URL generation. - if($_SERVER['REQUEST_URI'] === \OC::$WEBROOT && + if (isset($_SERVER['REQUEST_URI']) && $_SERVER['REQUEST_URI'] === \OC::$WEBROOT && substr($_SERVER['REQUEST_URI'], -1) !== '/') { header('Location: '.\OC::$WEBROOT.'/'); exit(); @@ -313,7 +313,29 @@ class OC { $tooBig = false; if (!$disableWebUpdater) { $apps = \OC::$server->getAppManager(); - $tooBig = $apps->isInstalled('user_ldap') || $apps->isInstalled('user_shibboleth'); + $tooBig = false; + if ($apps->isInstalled('user_ldap')) { + $qb = \OC::$server->getDatabaseConnection()->getQueryBuilder(); + + $result = $qb->selectAlias($qb->createFunction('COUNT(*)'), 'user_count') + ->from('ldap_user_mapping') + ->execute(); + $row = $result->fetch(); + $result->closeCursor(); + + $tooBig = ($row['user_count'] > 50); + } + if (!$tooBig && $apps->isInstalled('user_saml')) { + $qb = \OC::$server->getDatabaseConnection()->getQueryBuilder(); + + $result = $qb->selectAlias($qb->createFunction('COUNT(*)'), 'user_count') + ->from('user_saml_users') + ->execute(); + $row = $result->fetch(); + $result->closeCursor(); + + $tooBig = ($row['user_count'] > 50); + } if (!$tooBig) { // count users $stats = \OC::$server->getUserManager()->countUsers(); @@ -321,7 +343,10 @@ class OC { $tooBig = ($totalUsers > 50); } } - if ($disableWebUpdater || $tooBig) { + $ignoreTooBigWarning = isset($_GET['IKnowThatThisIsABigInstanceAndTheUpdateRequestCouldRunIntoATimeoutAndHowToRestoreABackup']) && + $_GET['IKnowThatThisIsABigInstanceAndTheUpdateRequestCouldRunIntoATimeoutAndHowToRestoreABackup'] === 'IAmSuperSureToDoThis'; + + if ($disableWebUpdater || ($tooBig && !$ignoreTooBigWarning)) { // send http status 503 header('HTTP/1.1 503 Service Temporarily Unavailable'); header('Status: 503 Service Temporarily Unavailable'); @@ -983,7 +1008,7 @@ class OC { } // Handle WebDAV - if ($_SERVER['REQUEST_METHOD'] == 'PROPFIND') { + if (isset($_SERVER['REQUEST_METHOD']) && $_SERVER['REQUEST_METHOD'] === 'PROPFIND') { // not allowed any more to prevent people // mounting this root directly. // Users need to mount remote.php/webdav instead. diff --git a/lib/composer/composer/autoload_classmap.php b/lib/composer/composer/autoload_classmap.php index 703d624397c..8e65ca365e4 100644 --- a/lib/composer/composer/autoload_classmap.php +++ b/lib/composer/composer/autoload_classmap.php @@ -55,6 +55,7 @@ return array( 'OCP\\App\\IAppManager' => $baseDir . '/lib/public/App/IAppManager.php', 'OCP\\App\\ManagerEvent' => $baseDir . '/lib/public/App/ManagerEvent.php', 'OCP\\Authentication\\Exceptions\\CredentialsUnavailableException' => $baseDir . '/lib/public/Authentication/Exceptions/CredentialsUnavailableException.php', + 'OCP\\Authentication\\Exceptions\\PasswordUnavailableException' => $baseDir . '/lib/public/Authentication/Exceptions/PasswordUnavailableException.php', 'OCP\\Authentication\\IApacheBackend' => $baseDir . '/lib/public/Authentication/IApacheBackend.php', 'OCP\\Authentication\\LoginCredentials\\ICredentials' => $baseDir . '/lib/public/Authentication/LoginCredentials/ICredentials.php', 'OCP\\Authentication\\LoginCredentials\\IStore' => $baseDir . '/lib/public/Authentication/LoginCredentials/IStore.php', @@ -331,10 +332,12 @@ return array( 'OC\\App\\AppStore\\Version\\VersionParser' => $baseDir . '/lib/private/App/AppStore/Version/VersionParser.php', 'OC\\App\\CodeChecker\\AbstractCheck' => $baseDir . '/lib/private/App/CodeChecker/AbstractCheck.php', 'OC\\App\\CodeChecker\\CodeChecker' => $baseDir . '/lib/private/App/CodeChecker/CodeChecker.php', + 'OC\\App\\CodeChecker\\DatabaseSchemaChecker' => $baseDir . '/lib/private/App/CodeChecker/DatabaseSchemaChecker.php', 'OC\\App\\CodeChecker\\DeprecationCheck' => $baseDir . '/lib/private/App/CodeChecker/DeprecationCheck.php', 'OC\\App\\CodeChecker\\EmptyCheck' => $baseDir . '/lib/private/App/CodeChecker/EmptyCheck.php', 'OC\\App\\CodeChecker\\ICheck' => $baseDir . '/lib/private/App/CodeChecker/ICheck.php', 'OC\\App\\CodeChecker\\InfoChecker' => $baseDir . '/lib/private/App/CodeChecker/InfoChecker.php', + 'OC\\App\\CodeChecker\\LanguageParseChecker' => $baseDir . '/lib/private/App/CodeChecker/LanguageParseChecker.php', 'OC\\App\\CodeChecker\\NodeVisitor' => $baseDir . '/lib/private/App/CodeChecker/NodeVisitor.php', 'OC\\App\\CodeChecker\\PrivateCheck' => $baseDir . '/lib/private/App/CodeChecker/PrivateCheck.php', 'OC\\App\\CodeChecker\\StrongComparisonCheck' => $baseDir . '/lib/private/App/CodeChecker/StrongComparisonCheck.php', @@ -735,6 +738,7 @@ return array( 'OC\\Repair\\NC12\\InstallCoreBundle' => $baseDir . '/lib/private/Repair/NC12/InstallCoreBundle.php', 'OC\\Repair\\NC12\\UpdateLanguageCodes' => $baseDir . '/lib/private/Repair/NC12/UpdateLanguageCodes.php', 'OC\\Repair\\OldGroupMembershipShares' => $baseDir . '/lib/private/Repair/OldGroupMembershipShares.php', + 'OC\\Repair\\Owncloud\\SaveAccountsTableData' => $baseDir . '/lib/private/Repair/Owncloud/SaveAccountsTableData.php', 'OC\\Repair\\RemoveRootShares' => $baseDir . '/lib/private/Repair/RemoveRootShares.php', 'OC\\Repair\\RepairInvalidShares' => $baseDir . '/lib/private/Repair/RepairInvalidShares.php', 'OC\\Repair\\RepairMimeTypes' => $baseDir . '/lib/private/Repair/RepairMimeTypes.php', diff --git a/lib/composer/composer/autoload_static.php b/lib/composer/composer/autoload_static.php index ff7118e5bb1..b9a1545e6a3 100644 --- a/lib/composer/composer/autoload_static.php +++ b/lib/composer/composer/autoload_static.php @@ -85,6 +85,7 @@ class ComposerStaticInit53792487c5a8370acc0b06b1a864ff4c 'OCP\\App\\IAppManager' => __DIR__ . '/../../..' . '/lib/public/App/IAppManager.php', 'OCP\\App\\ManagerEvent' => __DIR__ . '/../../..' . '/lib/public/App/ManagerEvent.php', 'OCP\\Authentication\\Exceptions\\CredentialsUnavailableException' => __DIR__ . '/../../..' . '/lib/public/Authentication/Exceptions/CredentialsUnavailableException.php', + 'OCP\\Authentication\\Exceptions\\PasswordUnavailableException' => __DIR__ . '/../../..' . '/lib/public/Authentication/Exceptions/PasswordUnavailableException.php', 'OCP\\Authentication\\IApacheBackend' => __DIR__ . '/../../..' . '/lib/public/Authentication/IApacheBackend.php', 'OCP\\Authentication\\LoginCredentials\\ICredentials' => __DIR__ . '/../../..' . '/lib/public/Authentication/LoginCredentials/ICredentials.php', 'OCP\\Authentication\\LoginCredentials\\IStore' => __DIR__ . '/../../..' . '/lib/public/Authentication/LoginCredentials/IStore.php', @@ -361,10 +362,12 @@ class ComposerStaticInit53792487c5a8370acc0b06b1a864ff4c 'OC\\App\\AppStore\\Version\\VersionParser' => __DIR__ . '/../../..' . '/lib/private/App/AppStore/Version/VersionParser.php', 'OC\\App\\CodeChecker\\AbstractCheck' => __DIR__ . '/../../..' . '/lib/private/App/CodeChecker/AbstractCheck.php', 'OC\\App\\CodeChecker\\CodeChecker' => __DIR__ . '/../../..' . '/lib/private/App/CodeChecker/CodeChecker.php', + 'OC\\App\\CodeChecker\\DatabaseSchemaChecker' => __DIR__ . '/../../..' . '/lib/private/App/CodeChecker/DatabaseSchemaChecker.php', 'OC\\App\\CodeChecker\\DeprecationCheck' => __DIR__ . '/../../..' . '/lib/private/App/CodeChecker/DeprecationCheck.php', 'OC\\App\\CodeChecker\\EmptyCheck' => __DIR__ . '/../../..' . '/lib/private/App/CodeChecker/EmptyCheck.php', 'OC\\App\\CodeChecker\\ICheck' => __DIR__ . '/../../..' . '/lib/private/App/CodeChecker/ICheck.php', 'OC\\App\\CodeChecker\\InfoChecker' => __DIR__ . '/../../..' . '/lib/private/App/CodeChecker/InfoChecker.php', + 'OC\\App\\CodeChecker\\LanguageParseChecker' => __DIR__ . '/../../..' . '/lib/private/App/CodeChecker/LanguageParseChecker.php', 'OC\\App\\CodeChecker\\NodeVisitor' => __DIR__ . '/../../..' . '/lib/private/App/CodeChecker/NodeVisitor.php', 'OC\\App\\CodeChecker\\PrivateCheck' => __DIR__ . '/../../..' . '/lib/private/App/CodeChecker/PrivateCheck.php', 'OC\\App\\CodeChecker\\StrongComparisonCheck' => __DIR__ . '/../../..' . '/lib/private/App/CodeChecker/StrongComparisonCheck.php', @@ -765,6 +768,7 @@ class ComposerStaticInit53792487c5a8370acc0b06b1a864ff4c 'OC\\Repair\\NC12\\InstallCoreBundle' => __DIR__ . '/../../..' . '/lib/private/Repair/NC12/InstallCoreBundle.php', 'OC\\Repair\\NC12\\UpdateLanguageCodes' => __DIR__ . '/../../..' . '/lib/private/Repair/NC12/UpdateLanguageCodes.php', 'OC\\Repair\\OldGroupMembershipShares' => __DIR__ . '/../../..' . '/lib/private/Repair/OldGroupMembershipShares.php', + 'OC\\Repair\\Owncloud\\SaveAccountsTableData' => __DIR__ . '/../../..' . '/lib/private/Repair/Owncloud/SaveAccountsTableData.php', 'OC\\Repair\\RemoveRootShares' => __DIR__ . '/../../..' . '/lib/private/Repair/RemoveRootShares.php', 'OC\\Repair\\RepairInvalidShares' => __DIR__ . '/../../..' . '/lib/private/Repair/RepairInvalidShares.php', 'OC\\Repair\\RepairMimeTypes' => __DIR__ . '/../../..' . '/lib/private/Repair/RepairMimeTypes.php', diff --git a/lib/l10n/ast.js b/lib/l10n/ast.js new file mode 100644 index 00000000000..77afe776b49 --- /dev/null +++ b/lib/l10n/ast.js @@ -0,0 +1,188 @@ +OC.L10N.register( + "lib", + { + "Cannot write into \"config\" directory!" : "¡Nun pue escribise nel direutoriu «config»!", + "This can usually be fixed by giving the webserver write access to the config directory" : "Davezu esto pue iguase dándo-y al sirvidor web accesu d'escritura al direutoriu de configuración", + "See %s" : "Mira %s", + "This can usually be fixed by giving the webserver write access to the config directory. See %s" : "Esto davezu íguase dando'l permisu d'escritura nel direutoriu de configuración al sirvidor web. Mira %s", + "Sample configuration detected" : "Configuración d'amuesa detectada", + "It has been detected that the sample configuration has been copied. This can break your installation and is unsupported. Please read the documentation before performing changes on config.php" : "Detectose que la configuración d'amuesa copiose. Esto pue encaboxar la instalación y dexala ensín soporte. Llee la documentación enantes de facer cambéos en config.php", + "%1$s and %2$s" : "%1$s y %2$s", + "%1$s, %2$s and %3$s" : "%1$s, %2$s y %3$s", + "Enterprise bundle" : "Llote empresarial", + "Social sharing bundle" : "Llote de compartición social", + "PHP %s or higher is required." : "Necesítase PHP %s o superior", + "PHP with a version lower than %s is required." : "Necesítase una versión PHP anterior a %s", + "%sbit or higher PHP required." : "Necesítase PHP %sbit o superior", + "Following databases are supported: %s" : "Les siguientes bases de datos tan sofitaes: %s", + "The command line tool %s could not be found" : "La ferramienta línea de comandu %s nun pudo alcontrase", + "The library %s is not available." : "La librería %s nun ta disponible", + "Library %s with a version higher than %s is required - available version %s." : "Necesítase una librería %s con ua versión superior a %s - versión disponible %s.", + "Library %s with a version lower than %s is required - available version %s." : "Necesítase una librería %s con una versión anterior a %s - versión disponible %s.", + "Following platforms are supported: %s" : "Les siguientes plataformes tan sofitaes: %s", + "Unknown filetype" : "Triba de ficheru desconocida", + "Invalid image" : "Imaxe inválida", + "Avatar image is not square" : "La imaxe del avatar nun ye cuadrada", + "today" : "güei", + "yesterday" : "ayeri", + "_%n day ago_::_%n days ago_" : ["hai %n día","hai %n díes"], + "last month" : "mes caberu", + "_%n month ago_::_%n months ago_" : ["hai %n mes","hai %n meses"], + "last year" : "añu caberu", + "_%n year ago_::_%n years ago_" : ["hai %n añu","hai %n años"], + "_%n hour ago_::_%n hours ago_" : ["hai %n hora","hai %n hores"], + "_%n minute ago_::_%n minutes ago_" : ["hai %n minutu","hai %n minutos"], + "seconds ago" : "hai segundos", + "File name is a reserved word" : "El nome de ficheru ye una pallabra reservada", + "File name contains at least one invalid character" : "El nome del ficheru contién polo menos un carácter non válidu", + "File name is too long" : "El nome de ficheru ye demasiáu llargu", + "Empty filename is not allowed" : "Nun s'almite un nome de ficheru baleru", + "App \"%s\" cannot be installed because appinfo file cannot be read." : "L'aplicación \"%s\" nun puede instalase porque nun se llee'l ficheru appinfo.", + "Apps" : "Aplicaciones", + "Personal" : "Personal", + "Log out" : "Zarrar sesión", + "Users" : "Usuarios", + "Admin" : "Almin", + "APCu" : "APCu", + "%s enter the database username and name." : "%s introducir el nome d'usuariu y el nome de la base de datos .", + "%s enter the database username." : "%s introducir l'usuariu de la base de datos.", + "%s enter the database name." : "%s introducir nome de la base de datos.", + "%s you may not use dots in the database name" : "%s nun pues usar puntos nel nome de la base de datos", + "Oracle connection could not be established" : "Nun pudo afitase la conexón d'Oracle", + "Oracle username and/or password not valid" : "Nome d'usuariu o contraseña d'Oracle non válidos", + "DB Error: \"%s\"" : "Fallu BD: \"%s\"", + "Offending command was: \"%s\"" : "Comandu infractor: \"%s\"", + "You need to enter details of an existing account." : "Precises introducir los detalles d'una cuenta esistente.", + "Offending command was: \"%s\", name: %s, password: %s" : "El comandu infractor foi: \"%s\", nome: %s, contraseña: %s", + "PostgreSQL username and/or password not valid" : "Nome d'usuariu o contraseña PostgreSQL non válidos", + "Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk! " : "Mac OS X nun ta sofitáu y %s nun furrulará afayadizamente nesta plataforma. ¡Úsalu baxo'l to riesgu!", + "For the best results, please consider using a GNU/Linux server instead." : "Pa los meyores resultaos, por favor considera l'usu d'un sirvidor GNU/Linux nel so llugar.", + "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Paez ser que la instancia %s ta executándose nun entornu de PHP 32 bits y el open_basedir configuróse en php.ini. Esto va dar llugar a problemes colos ficheros de más de 4 GB y nun ye nada recomendable.", + "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Por favor, desanicia la configuración open_basedir dientro la so php.ini o camude a PHP 64 bits.", + "Set an admin username." : "Afitar nome d'usuariu p'almin", + "Set an admin password." : "Afitar contraseña p'almin", + "Can't create or write into the data directory %s" : "Nun pue crease o escribir dientro los datos del direutoriu %s", + "Invalid Federated Cloud ID" : "ID non válida de ñube federada", + "Sharing %s failed, because the backend does not allow shares from type %i" : "Compartir %s falló, por cuenta qu'el backend nun dexa acciones de tipu %i", + "Sharing %s failed, because the file does not exist" : "Compartir %s falló, porque'l ficheru nun esiste", + "You are not allowed to share %s" : "Nun tienes permisu pa compartir %s", + "Sharing %s failed, because you can not share with yourself" : "Compartir %s falló, porque nun puede compartise contigo mesmu", + "Sharing %s failed, because the user %s does not exist" : "Compartir %s falló, yá que l'usuariu %s nun esiste", + "Sharing %s failed, because the user %s is not a member of any groups that %s is a member of" : "Compartir %s falló, yá que l'usuariu %s nun ye miembru de nengún de los grupos de los que ye miembru %s", + "Sharing %s failed, because this item is already shared with %s" : "Compartir %s falló, porque esti elementu yá ta compartiéndose con %s", + "Sharing %s failed, because this item is already shared with user %s" : "Compartir %s falló, porque esti elementu yá ta compartiéndose col usuariu %s", + "Sharing %s failed, because the group %s does not exist" : "Compartir %s falló, porque'l grupu %s nun esiste", + "Sharing %s failed, because %s is not a member of the group %s" : "Compartir %s falló, porque %s nun ye miembru del grupu %s", + "You need to provide a password to create a public link, only protected links are allowed" : "Necesites apurrir una contraseña pa crear un enllaz públicu, namái tan permitíos los enllaces protexíos", + "Sharing %s failed, because sharing with links is not allowed" : "Compartir %s falló, porque nun se permite compartir con enllaces", + "Not allowed to create a federated share with the same user" : "Nun s'almite crear un recursu compartíu federáu col mesmu usuariu", + "Sharing %s failed, could not find %s, maybe the server is currently unreachable." : "Compartir %s falló, nun pudo atopase %s, pue qu'el servidor nun seya anguaño algamable.", + "Share type %s is not valid for %s" : "La triba de compartición %s nun ye válida pa %s", + "Setting permissions for %s failed, because the permissions exceed permissions granted to %s" : "Falló dar permisos a %s, porque los permisos son mayores que los otorgaos a %s", + "Setting permissions for %s failed, because the item was not found" : "Falló dar permisos a %s, porque l'elementu nun s'atopó", + "Cannot set expiration date. Shares cannot expire later than %s after they have been shared" : "Nun pue afitase la data de caducidá. Ficheros compartíos nun puen caducar dempués de %s de compartise", + "Cannot set expiration date. Expiration date is in the past" : "Nun pue afitase la data d'espiración. La data d'espiración ta nel pasáu", + "Cannot clear expiration date. Shares are required to have an expiration date." : "Non puede desaniciar la fecha de caducidá. Compartir obliga a tener una fecha de caducidá.", + "Sharing backend %s must implement the interface OCP\\Share_Backend" : "El motor compartíu %s tien d'implementar la interfaz OCP\\Share_Backend", + "Sharing backend %s not found" : "Nun s'alcontró'l botón de compartición %s", + "Sharing backend for %s not found" : "Nun s'alcontró'l botón de partición pa %s", + "Sharing failed, because the user %s is the original sharer" : "Compartir falló, porque l'usuariu %s ye'l compartidor orixinal", + "Sharing %s failed, because the permissions exceed permissions granted to %s" : "Compartir %s falló, porque los permisos perpasen los otorgaos a %s", + "Sharing %s failed, because resharing is not allowed" : "Compartir %s falló, porque nun se permite la re-compartición", + "Sharing %s failed, because the sharing backend for %s could not find its source" : "Compartir %s falló porque'l motor compartíu pa %s podría nun atopar el so orixe", + "Sharing %s failed, because the file could not be found in the file cache" : "Compartir %s falló, yá que'l ficheru nun pudo atopase na caché de ficheru", + "Cannot increase permissions of %s" : "Nun se pueden aumentar los permisos de %s", + "Files can't be shared with delete permissions" : "Los ficheros nun pueden compartise con permisos desaniciaos", + "Files can't be shared with create permissions" : "Los ficheros nun pueden compartise con crear permisos", + "Expiration date is in the past" : "La data de caducidá ta nel pasáu.", + "Cannot set expiration date more than %s days in the future" : "Nun pue afitase la data d'espiración más que %s díes nel futuru", + "Could not find category \"%s\"" : "Nun pudo alcontrase la estaya \"%s.\"", + "Sunday" : "Domingu", + "Monday" : "Llunes", + "Friday" : "Vienres", + "Saturday" : "Sábadu", + "Mon." : "Llu.", + "Sat." : "Sáb.", + "January" : "Xineru", + "February" : "Febreru", + "March" : "Marzu", + "April" : "Abril", + "May" : "Mayu", + "June" : "Xunu", + "July" : "Xunetu", + "August" : "Agostu", + "September" : "Setiembre", + "October" : "Ochobre", + "November" : "Payares", + "December" : "Avientu", + "Jan." : "Xin.", + "Feb." : "Feb.", + "Mar." : "Mar.", + "Apr." : "Abr.", + "May." : "May.", + "Jun." : "Xun.", + "Jul." : "Xnt.", + "Sep." : "Set.", + "Oct." : "Och.", + "Nov." : "Pay.", + "Dec." : "Avi.", + "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Namái tan permitíos los siguientes caráuteres nun nome d'usuariu: \"a-z\", \"A-Z\", \"0-9\", y \"_.@-'\"", + "A valid username must be provided" : "Tien d'apurrise un nome d'usuariu válidu", + "Username contains whitespace at the beginning or at the end" : "El nome d'usuario contién espacios en blancu al entamu o al final", + "Username must not consist of dots only" : "El nome d'usuariu nun pue tener puntos", + "A valid password must be provided" : "Tien d'apurrise una contraseña válida", + "The username is already being used" : "El nome d'usuariu yá ta usándose", + "User disabled" : "Usuariu desactiváu", + "Login canceled by app" : "Aniciar sesión canceláu pola aplicación", + "No app name specified" : "Nun s'especificó nome de l'aplicación", + "App \"%s\" cannot be installed because the following dependencies are not fulfilled: %s" : "L'aplicación \"%s\" nun puede instalase porque les siguientes dependencies nun se cumplen: %s", + "a safe home for all your data" : "un llar seguru pa tolos tos datos", + "File is currently busy, please try again later" : "Fichaeru ta ocupáu, por favor intentelo de nuevu más tarde", + "Can't read file" : "Nun ye a lleese'l ficheru", + "Application is not enabled" : "L'aplicación nun ta habilitada", + "Authentication error" : "Fallu d'autenticación", + "Token expired. Please reload page." : "Token caducáu. Recarga la páxina.", + "Unknown user" : "Usuariu desconocíu", + "No database drivers (sqlite, mysql, or postgresql) installed." : "Nun hai controladores de bases de datos (sqlite, mysql, o postgresql)", + "Cannot write into \"config\" directory" : "Nun pue escribise nel direutoriu \"config\"", + "Cannot write into \"apps\" directory" : "Nun pue escribise nel direutoriu \"apps\"", + "Setting locale to %s failed" : "Falló l'activación del idioma %s", + "Please install one of these locales on your system and restart your webserver." : "Instala ún d'estos locales nel to sistema y reanicia'l sirvidor web", + "Please ask your server administrator to install the module." : "Por favor, entrúga-y al to alministrador del sirvidor pa instalar el módulu.", + "PHP module %s not installed." : "Nun ta instaláu'l módulu PHP %s", + "PHP setting \"%s\" is not set to \"%s\"." : "La configuración de PHP \"%s\" nun s'afita \"%s\".", + "mbstring.func_overload is set to \"%s\" instead of the expected value \"0\"" : "mbstring.func_overload afita \"%s\" en llugar del valor esperáu \"0\"", + "To fix this issue set <code>mbstring.func_overload</code> to <code>0</code> in your php.ini" : "Pa solucionar esti problema definíu <code>mbstring.func_overload</code>a <code>0</code> nel so php.ini", + "libxml2 2.7.0 is at least required. Currently %s is installed." : "libxml2 2.7.0 ríquese siquier. Anguaño ta instaláu %s.", + "To fix this issue update your libxml2 version and restart your web server." : "Pa solucionar esti problema actualiza latso versión de libxml2 y reanicia'l to sirvidor web.", + "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "PHP ta aparentemente configuráu pa desaniciar bloques de documentos en llinia. Esto va facer que delles aplicaciones principales nun tean accesibles.", + "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Dablemente esto seya culpa d'un caché o acelerador, como por exemplu Zend OPcache o eAccelerator.", + "PHP modules have been installed, but they are still listed as missing?" : "Instaláronse los módulos PHP, ¿pero tán entá llistaos como faltantes?", + "Please ask your server administrator to restart the web server." : "Por favor, entruga al to alministrador pa reaniciar el sirvidor web.", + "PostgreSQL >= 9 required" : "PostgreSQL >= 9 requeríu", + "Please upgrade your database version" : "Por favor, anueva la versión de la to base de datos", + "Please change the permissions to 0770 so that the directory cannot be listed by other users." : "Por favor, camuda los permisos a 0770 pa que'l direutoriu nun pueda llistase por otros usuarios.", + "Check the value of \"datadirectory\" in your configuration" : "Comprobar el valor del \"datadirectory\" na so configuración", + "Your data directory is invalid" : "El to direutoriu de datos nun ye válidu", + "Please check that the data directory contains a file \".ocdata\" in its root." : "Verifica que'l direutoriu de datos contién un ficheru \".ocdata\" nel direutoriu raigañu.", + "Could not obtain lock type %d on \"%s\"." : "Nun pudo facese'l bloquéu %d en \"%s\".", + "Storage unauthorized. %s" : "Almacenamientu desautorizáu. %s", + "Storage incomplete configuration. %s" : "Configuración d'almacenamientu incompleta. %s", + "Storage connection error. %s" : "Fallu de conexón al almacenamientu. %s", + "Storage is temporarily not available" : "L'almacenamientu ta temporalmente non disponible", + "Storage connection timeout. %s" : "Tiempu escosao de conexón al almacenamientu. %s", + "This can usually be fixed by %sgiving the webserver write access to the config directory%s." : "Davezu esto pue iguase %sdándo-y al sirvidor web accesu d'escritura al direutoriu de configuración%s.", + "Module with id: %s does not exist. Please enable it in your apps settings or contact your administrator." : "Nun esiste'l módulu con id: %s . Por favor, activalu na configuración d'aplicaciones o contauta col alministrador.", + "Server settings" : "Axustes del sirvidor", + "You need to enter either an existing account or the administrator." : "Tienes d'inxertar una cuenta esistente o la del alministrador.", + "%s shared »%s« with you" : "%s compartió »%s« contigo", + "%s via %s" : "%s via %s", + "This can usually be fixed by %sgiving the webserver write access to the apps directory%s or disabling the appstore in the config file." : "Esto pue iguase %sdando permisos d'escritura al sirvidor Web nel direutoriu%s d'apps o deshabilitando la tienda d'apps nel ficheru de configuración.", + "Cannot create \"data\" directory (%s)" : "Nun pue crease'l direutoriu \"data\" (%s)", + "This can usually be fixed by <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">giving the webserver write access to the root directory</a>." : "Esto pue iguase davezu <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">dándo-y accesu d'escritura al direutoriu raigañu</a>.", + "Permissions can usually be fixed by %sgiving the webserver write access to the root directory%s." : "Davezu los permisos puen iguase %sdándo-y al sirvidor web accesu d'escritura al direutoriu raigañu%s.", + "Data directory (%s) is readable by other users" : "El direutoriu de datos (%s) ye llexible por otros usuarios", + "Data directory (%s) must be an absolute path" : "El directoriu de datos (%s) ha de ser una ruta absoluta", + "Data directory (%s) is invalid" : "Ye inválidu'l direutoriu de datos (%s)" +}, +"nplurals=2; plural=(n != 1);"); diff --git a/lib/l10n/ast.json b/lib/l10n/ast.json new file mode 100644 index 00000000000..3e97dadc9e5 --- /dev/null +++ b/lib/l10n/ast.json @@ -0,0 +1,186 @@ +{ "translations": { + "Cannot write into \"config\" directory!" : "¡Nun pue escribise nel direutoriu «config»!", + "This can usually be fixed by giving the webserver write access to the config directory" : "Davezu esto pue iguase dándo-y al sirvidor web accesu d'escritura al direutoriu de configuración", + "See %s" : "Mira %s", + "This can usually be fixed by giving the webserver write access to the config directory. See %s" : "Esto davezu íguase dando'l permisu d'escritura nel direutoriu de configuración al sirvidor web. Mira %s", + "Sample configuration detected" : "Configuración d'amuesa detectada", + "It has been detected that the sample configuration has been copied. This can break your installation and is unsupported. Please read the documentation before performing changes on config.php" : "Detectose que la configuración d'amuesa copiose. Esto pue encaboxar la instalación y dexala ensín soporte. Llee la documentación enantes de facer cambéos en config.php", + "%1$s and %2$s" : "%1$s y %2$s", + "%1$s, %2$s and %3$s" : "%1$s, %2$s y %3$s", + "Enterprise bundle" : "Llote empresarial", + "Social sharing bundle" : "Llote de compartición social", + "PHP %s or higher is required." : "Necesítase PHP %s o superior", + "PHP with a version lower than %s is required." : "Necesítase una versión PHP anterior a %s", + "%sbit or higher PHP required." : "Necesítase PHP %sbit o superior", + "Following databases are supported: %s" : "Les siguientes bases de datos tan sofitaes: %s", + "The command line tool %s could not be found" : "La ferramienta línea de comandu %s nun pudo alcontrase", + "The library %s is not available." : "La librería %s nun ta disponible", + "Library %s with a version higher than %s is required - available version %s." : "Necesítase una librería %s con ua versión superior a %s - versión disponible %s.", + "Library %s with a version lower than %s is required - available version %s." : "Necesítase una librería %s con una versión anterior a %s - versión disponible %s.", + "Following platforms are supported: %s" : "Les siguientes plataformes tan sofitaes: %s", + "Unknown filetype" : "Triba de ficheru desconocida", + "Invalid image" : "Imaxe inválida", + "Avatar image is not square" : "La imaxe del avatar nun ye cuadrada", + "today" : "güei", + "yesterday" : "ayeri", + "_%n day ago_::_%n days ago_" : ["hai %n día","hai %n díes"], + "last month" : "mes caberu", + "_%n month ago_::_%n months ago_" : ["hai %n mes","hai %n meses"], + "last year" : "añu caberu", + "_%n year ago_::_%n years ago_" : ["hai %n añu","hai %n años"], + "_%n hour ago_::_%n hours ago_" : ["hai %n hora","hai %n hores"], + "_%n minute ago_::_%n minutes ago_" : ["hai %n minutu","hai %n minutos"], + "seconds ago" : "hai segundos", + "File name is a reserved word" : "El nome de ficheru ye una pallabra reservada", + "File name contains at least one invalid character" : "El nome del ficheru contién polo menos un carácter non válidu", + "File name is too long" : "El nome de ficheru ye demasiáu llargu", + "Empty filename is not allowed" : "Nun s'almite un nome de ficheru baleru", + "App \"%s\" cannot be installed because appinfo file cannot be read." : "L'aplicación \"%s\" nun puede instalase porque nun se llee'l ficheru appinfo.", + "Apps" : "Aplicaciones", + "Personal" : "Personal", + "Log out" : "Zarrar sesión", + "Users" : "Usuarios", + "Admin" : "Almin", + "APCu" : "APCu", + "%s enter the database username and name." : "%s introducir el nome d'usuariu y el nome de la base de datos .", + "%s enter the database username." : "%s introducir l'usuariu de la base de datos.", + "%s enter the database name." : "%s introducir nome de la base de datos.", + "%s you may not use dots in the database name" : "%s nun pues usar puntos nel nome de la base de datos", + "Oracle connection could not be established" : "Nun pudo afitase la conexón d'Oracle", + "Oracle username and/or password not valid" : "Nome d'usuariu o contraseña d'Oracle non válidos", + "DB Error: \"%s\"" : "Fallu BD: \"%s\"", + "Offending command was: \"%s\"" : "Comandu infractor: \"%s\"", + "You need to enter details of an existing account." : "Precises introducir los detalles d'una cuenta esistente.", + "Offending command was: \"%s\", name: %s, password: %s" : "El comandu infractor foi: \"%s\", nome: %s, contraseña: %s", + "PostgreSQL username and/or password not valid" : "Nome d'usuariu o contraseña PostgreSQL non válidos", + "Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk! " : "Mac OS X nun ta sofitáu y %s nun furrulará afayadizamente nesta plataforma. ¡Úsalu baxo'l to riesgu!", + "For the best results, please consider using a GNU/Linux server instead." : "Pa los meyores resultaos, por favor considera l'usu d'un sirvidor GNU/Linux nel so llugar.", + "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Paez ser que la instancia %s ta executándose nun entornu de PHP 32 bits y el open_basedir configuróse en php.ini. Esto va dar llugar a problemes colos ficheros de más de 4 GB y nun ye nada recomendable.", + "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Por favor, desanicia la configuración open_basedir dientro la so php.ini o camude a PHP 64 bits.", + "Set an admin username." : "Afitar nome d'usuariu p'almin", + "Set an admin password." : "Afitar contraseña p'almin", + "Can't create or write into the data directory %s" : "Nun pue crease o escribir dientro los datos del direutoriu %s", + "Invalid Federated Cloud ID" : "ID non válida de ñube federada", + "Sharing %s failed, because the backend does not allow shares from type %i" : "Compartir %s falló, por cuenta qu'el backend nun dexa acciones de tipu %i", + "Sharing %s failed, because the file does not exist" : "Compartir %s falló, porque'l ficheru nun esiste", + "You are not allowed to share %s" : "Nun tienes permisu pa compartir %s", + "Sharing %s failed, because you can not share with yourself" : "Compartir %s falló, porque nun puede compartise contigo mesmu", + "Sharing %s failed, because the user %s does not exist" : "Compartir %s falló, yá que l'usuariu %s nun esiste", + "Sharing %s failed, because the user %s is not a member of any groups that %s is a member of" : "Compartir %s falló, yá que l'usuariu %s nun ye miembru de nengún de los grupos de los que ye miembru %s", + "Sharing %s failed, because this item is already shared with %s" : "Compartir %s falló, porque esti elementu yá ta compartiéndose con %s", + "Sharing %s failed, because this item is already shared with user %s" : "Compartir %s falló, porque esti elementu yá ta compartiéndose col usuariu %s", + "Sharing %s failed, because the group %s does not exist" : "Compartir %s falló, porque'l grupu %s nun esiste", + "Sharing %s failed, because %s is not a member of the group %s" : "Compartir %s falló, porque %s nun ye miembru del grupu %s", + "You need to provide a password to create a public link, only protected links are allowed" : "Necesites apurrir una contraseña pa crear un enllaz públicu, namái tan permitíos los enllaces protexíos", + "Sharing %s failed, because sharing with links is not allowed" : "Compartir %s falló, porque nun se permite compartir con enllaces", + "Not allowed to create a federated share with the same user" : "Nun s'almite crear un recursu compartíu federáu col mesmu usuariu", + "Sharing %s failed, could not find %s, maybe the server is currently unreachable." : "Compartir %s falló, nun pudo atopase %s, pue qu'el servidor nun seya anguaño algamable.", + "Share type %s is not valid for %s" : "La triba de compartición %s nun ye válida pa %s", + "Setting permissions for %s failed, because the permissions exceed permissions granted to %s" : "Falló dar permisos a %s, porque los permisos son mayores que los otorgaos a %s", + "Setting permissions for %s failed, because the item was not found" : "Falló dar permisos a %s, porque l'elementu nun s'atopó", + "Cannot set expiration date. Shares cannot expire later than %s after they have been shared" : "Nun pue afitase la data de caducidá. Ficheros compartíos nun puen caducar dempués de %s de compartise", + "Cannot set expiration date. Expiration date is in the past" : "Nun pue afitase la data d'espiración. La data d'espiración ta nel pasáu", + "Cannot clear expiration date. Shares are required to have an expiration date." : "Non puede desaniciar la fecha de caducidá. Compartir obliga a tener una fecha de caducidá.", + "Sharing backend %s must implement the interface OCP\\Share_Backend" : "El motor compartíu %s tien d'implementar la interfaz OCP\\Share_Backend", + "Sharing backend %s not found" : "Nun s'alcontró'l botón de compartición %s", + "Sharing backend for %s not found" : "Nun s'alcontró'l botón de partición pa %s", + "Sharing failed, because the user %s is the original sharer" : "Compartir falló, porque l'usuariu %s ye'l compartidor orixinal", + "Sharing %s failed, because the permissions exceed permissions granted to %s" : "Compartir %s falló, porque los permisos perpasen los otorgaos a %s", + "Sharing %s failed, because resharing is not allowed" : "Compartir %s falló, porque nun se permite la re-compartición", + "Sharing %s failed, because the sharing backend for %s could not find its source" : "Compartir %s falló porque'l motor compartíu pa %s podría nun atopar el so orixe", + "Sharing %s failed, because the file could not be found in the file cache" : "Compartir %s falló, yá que'l ficheru nun pudo atopase na caché de ficheru", + "Cannot increase permissions of %s" : "Nun se pueden aumentar los permisos de %s", + "Files can't be shared with delete permissions" : "Los ficheros nun pueden compartise con permisos desaniciaos", + "Files can't be shared with create permissions" : "Los ficheros nun pueden compartise con crear permisos", + "Expiration date is in the past" : "La data de caducidá ta nel pasáu.", + "Cannot set expiration date more than %s days in the future" : "Nun pue afitase la data d'espiración más que %s díes nel futuru", + "Could not find category \"%s\"" : "Nun pudo alcontrase la estaya \"%s.\"", + "Sunday" : "Domingu", + "Monday" : "Llunes", + "Friday" : "Vienres", + "Saturday" : "Sábadu", + "Mon." : "Llu.", + "Sat." : "Sáb.", + "January" : "Xineru", + "February" : "Febreru", + "March" : "Marzu", + "April" : "Abril", + "May" : "Mayu", + "June" : "Xunu", + "July" : "Xunetu", + "August" : "Agostu", + "September" : "Setiembre", + "October" : "Ochobre", + "November" : "Payares", + "December" : "Avientu", + "Jan." : "Xin.", + "Feb." : "Feb.", + "Mar." : "Mar.", + "Apr." : "Abr.", + "May." : "May.", + "Jun." : "Xun.", + "Jul." : "Xnt.", + "Sep." : "Set.", + "Oct." : "Och.", + "Nov." : "Pay.", + "Dec." : "Avi.", + "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Namái tan permitíos los siguientes caráuteres nun nome d'usuariu: \"a-z\", \"A-Z\", \"0-9\", y \"_.@-'\"", + "A valid username must be provided" : "Tien d'apurrise un nome d'usuariu válidu", + "Username contains whitespace at the beginning or at the end" : "El nome d'usuario contién espacios en blancu al entamu o al final", + "Username must not consist of dots only" : "El nome d'usuariu nun pue tener puntos", + "A valid password must be provided" : "Tien d'apurrise una contraseña válida", + "The username is already being used" : "El nome d'usuariu yá ta usándose", + "User disabled" : "Usuariu desactiváu", + "Login canceled by app" : "Aniciar sesión canceláu pola aplicación", + "No app name specified" : "Nun s'especificó nome de l'aplicación", + "App \"%s\" cannot be installed because the following dependencies are not fulfilled: %s" : "L'aplicación \"%s\" nun puede instalase porque les siguientes dependencies nun se cumplen: %s", + "a safe home for all your data" : "un llar seguru pa tolos tos datos", + "File is currently busy, please try again later" : "Fichaeru ta ocupáu, por favor intentelo de nuevu más tarde", + "Can't read file" : "Nun ye a lleese'l ficheru", + "Application is not enabled" : "L'aplicación nun ta habilitada", + "Authentication error" : "Fallu d'autenticación", + "Token expired. Please reload page." : "Token caducáu. Recarga la páxina.", + "Unknown user" : "Usuariu desconocíu", + "No database drivers (sqlite, mysql, or postgresql) installed." : "Nun hai controladores de bases de datos (sqlite, mysql, o postgresql)", + "Cannot write into \"config\" directory" : "Nun pue escribise nel direutoriu \"config\"", + "Cannot write into \"apps\" directory" : "Nun pue escribise nel direutoriu \"apps\"", + "Setting locale to %s failed" : "Falló l'activación del idioma %s", + "Please install one of these locales on your system and restart your webserver." : "Instala ún d'estos locales nel to sistema y reanicia'l sirvidor web", + "Please ask your server administrator to install the module." : "Por favor, entrúga-y al to alministrador del sirvidor pa instalar el módulu.", + "PHP module %s not installed." : "Nun ta instaláu'l módulu PHP %s", + "PHP setting \"%s\" is not set to \"%s\"." : "La configuración de PHP \"%s\" nun s'afita \"%s\".", + "mbstring.func_overload is set to \"%s\" instead of the expected value \"0\"" : "mbstring.func_overload afita \"%s\" en llugar del valor esperáu \"0\"", + "To fix this issue set <code>mbstring.func_overload</code> to <code>0</code> in your php.ini" : "Pa solucionar esti problema definíu <code>mbstring.func_overload</code>a <code>0</code> nel so php.ini", + "libxml2 2.7.0 is at least required. Currently %s is installed." : "libxml2 2.7.0 ríquese siquier. Anguaño ta instaláu %s.", + "To fix this issue update your libxml2 version and restart your web server." : "Pa solucionar esti problema actualiza latso versión de libxml2 y reanicia'l to sirvidor web.", + "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "PHP ta aparentemente configuráu pa desaniciar bloques de documentos en llinia. Esto va facer que delles aplicaciones principales nun tean accesibles.", + "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Dablemente esto seya culpa d'un caché o acelerador, como por exemplu Zend OPcache o eAccelerator.", + "PHP modules have been installed, but they are still listed as missing?" : "Instaláronse los módulos PHP, ¿pero tán entá llistaos como faltantes?", + "Please ask your server administrator to restart the web server." : "Por favor, entruga al to alministrador pa reaniciar el sirvidor web.", + "PostgreSQL >= 9 required" : "PostgreSQL >= 9 requeríu", + "Please upgrade your database version" : "Por favor, anueva la versión de la to base de datos", + "Please change the permissions to 0770 so that the directory cannot be listed by other users." : "Por favor, camuda los permisos a 0770 pa que'l direutoriu nun pueda llistase por otros usuarios.", + "Check the value of \"datadirectory\" in your configuration" : "Comprobar el valor del \"datadirectory\" na so configuración", + "Your data directory is invalid" : "El to direutoriu de datos nun ye válidu", + "Please check that the data directory contains a file \".ocdata\" in its root." : "Verifica que'l direutoriu de datos contién un ficheru \".ocdata\" nel direutoriu raigañu.", + "Could not obtain lock type %d on \"%s\"." : "Nun pudo facese'l bloquéu %d en \"%s\".", + "Storage unauthorized. %s" : "Almacenamientu desautorizáu. %s", + "Storage incomplete configuration. %s" : "Configuración d'almacenamientu incompleta. %s", + "Storage connection error. %s" : "Fallu de conexón al almacenamientu. %s", + "Storage is temporarily not available" : "L'almacenamientu ta temporalmente non disponible", + "Storage connection timeout. %s" : "Tiempu escosao de conexón al almacenamientu. %s", + "This can usually be fixed by %sgiving the webserver write access to the config directory%s." : "Davezu esto pue iguase %sdándo-y al sirvidor web accesu d'escritura al direutoriu de configuración%s.", + "Module with id: %s does not exist. Please enable it in your apps settings or contact your administrator." : "Nun esiste'l módulu con id: %s . Por favor, activalu na configuración d'aplicaciones o contauta col alministrador.", + "Server settings" : "Axustes del sirvidor", + "You need to enter either an existing account or the administrator." : "Tienes d'inxertar una cuenta esistente o la del alministrador.", + "%s shared »%s« with you" : "%s compartió »%s« contigo", + "%s via %s" : "%s via %s", + "This can usually be fixed by %sgiving the webserver write access to the apps directory%s or disabling the appstore in the config file." : "Esto pue iguase %sdando permisos d'escritura al sirvidor Web nel direutoriu%s d'apps o deshabilitando la tienda d'apps nel ficheru de configuración.", + "Cannot create \"data\" directory (%s)" : "Nun pue crease'l direutoriu \"data\" (%s)", + "This can usually be fixed by <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">giving the webserver write access to the root directory</a>." : "Esto pue iguase davezu <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">dándo-y accesu d'escritura al direutoriu raigañu</a>.", + "Permissions can usually be fixed by %sgiving the webserver write access to the root directory%s." : "Davezu los permisos puen iguase %sdándo-y al sirvidor web accesu d'escritura al direutoriu raigañu%s.", + "Data directory (%s) is readable by other users" : "El direutoriu de datos (%s) ye llexible por otros usuarios", + "Data directory (%s) must be an absolute path" : "El directoriu de datos (%s) ha de ser una ruta absoluta", + "Data directory (%s) is invalid" : "Ye inválidu'l direutoriu de datos (%s)" +},"pluralForm" :"nplurals=2; plural=(n != 1);" +}
\ No newline at end of file diff --git a/lib/l10n/cs.js b/lib/l10n/cs.js index 95bf4148c35..3b7a37f6a74 100644 --- a/lib/l10n/cs.js +++ b/lib/l10n/cs.js @@ -44,6 +44,8 @@ OC.L10N.register( "File name is too long" : "Jméno souboru je moc dlouhé", "Dot files are not allowed" : "Jména souborů začínající tečkou nejsou povolena", "Empty filename is not allowed" : "Prázdné jméno souboru není povoleno", + "App \"%s\" cannot be installed because appinfo file cannot be read." : "Aplikace \"%s\" nemůže být nainstalována protože soubor appinfo nelze přečíst.", + "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "Aplikaci \"%s\" nelze nainstalovat, protože není kompatibilní s touto verzí serveru.", "This is an automatically sent email, please do not reply." : "Toto je automaticky odesílaný e-mail, prosím, neodpovídejte.", "Help" : "Nápověda", "Apps" : "Aplikace", @@ -165,8 +167,6 @@ OC.L10N.register( "The username is already being used" : "Uživatelské jméno je již využíváno", "User disabled" : "Uživatel zakázán", "Login canceled by app" : "Přihlášení zrušeno aplikací", - "App \"%s\" cannot be installed because appinfo file cannot be read." : "Aplikace \"%s\" nemůže být nainstalována protože soubor appinfo nelze přečíst.", - "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "Aplikaci \"%s\" nelze nainstalovat, protože není kompatibilní s touto verzí serveru.", "No app name specified" : "Nebyl zadan název aplikace", "App '%s' could not be installed!" : "Aplikaci '%s' nelze nainstalovat!", "App \"%s\" cannot be installed because the following dependencies are not fulfilled: %s" : "Aplikaci \"%s\" nelze nainstalovat, protože nejsou splněny následující závislosti: %s", diff --git a/lib/l10n/cs.json b/lib/l10n/cs.json index 1a7d6da289b..b6619e814c4 100644 --- a/lib/l10n/cs.json +++ b/lib/l10n/cs.json @@ -42,6 +42,8 @@ "File name is too long" : "Jméno souboru je moc dlouhé", "Dot files are not allowed" : "Jména souborů začínající tečkou nejsou povolena", "Empty filename is not allowed" : "Prázdné jméno souboru není povoleno", + "App \"%s\" cannot be installed because appinfo file cannot be read." : "Aplikace \"%s\" nemůže být nainstalována protože soubor appinfo nelze přečíst.", + "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "Aplikaci \"%s\" nelze nainstalovat, protože není kompatibilní s touto verzí serveru.", "This is an automatically sent email, please do not reply." : "Toto je automaticky odesílaný e-mail, prosím, neodpovídejte.", "Help" : "Nápověda", "Apps" : "Aplikace", @@ -163,8 +165,6 @@ "The username is already being used" : "Uživatelské jméno je již využíváno", "User disabled" : "Uživatel zakázán", "Login canceled by app" : "Přihlášení zrušeno aplikací", - "App \"%s\" cannot be installed because appinfo file cannot be read." : "Aplikace \"%s\" nemůže být nainstalována protože soubor appinfo nelze přečíst.", - "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "Aplikaci \"%s\" nelze nainstalovat, protože není kompatibilní s touto verzí serveru.", "No app name specified" : "Nebyl zadan název aplikace", "App '%s' could not be installed!" : "Aplikaci '%s' nelze nainstalovat!", "App \"%s\" cannot be installed because the following dependencies are not fulfilled: %s" : "Aplikaci \"%s\" nelze nainstalovat, protože nejsou splněny následující závislosti: %s", diff --git a/lib/l10n/de.js b/lib/l10n/de.js index d9110254247..6441502ca87 100644 --- a/lib/l10n/de.js +++ b/lib/l10n/de.js @@ -4,6 +4,7 @@ OC.L10N.register( "Cannot write into \"config\" directory!" : "Das Schreiben in das „config“-Verzeichnis ist nicht möglich!", "This can usually be fixed by giving the webserver write access to the config directory" : "Dies kann normalerweise repariert werden, indem dem Webserver Schreibzugriff auf das config-Verzeichnis gegeben wird", "See %s" : "Siehe %s", + "This can usually be fixed by giving the webserver write access to the config directory. See %s" : "Dies kann zumeist behoben werden, indem dem Web-Server Schreibzugriff auf das Konfigurationsverzeichnis eingeräumt wird. Siehe auch %s", "The files of the app %$1s were not replaced correctly. Make sure it is a version compatible with the server." : "Die Dateien der App %$1s wurden nicht korrekt ersetzt. Stelle sicher, dass die Version mit dem Server kompatibel ist.", "Sample configuration detected" : "Beispielkonfiguration gefunden", "It has been detected that the sample configuration has been copied. This can break your installation and is unsupported. Please read the documentation before performing changes on config.php" : "Es wurde festgestellt, dass die Beispielkonfiguration kopiert wurde. Dies kann Ihre Installation zunichte machen und wird nicht unterstützt. Bitte die Dokumentation lesen, bevor Änderungen an der config.php vorgenommen werden.", @@ -44,6 +45,8 @@ OC.L10N.register( "File name is too long" : "Dateiname ist zu lang", "Dot files are not allowed" : "Dateinamen mit einem Punkt am Anfang sind nicht erlaubt", "Empty filename is not allowed" : "Ein leerer Dateiname ist nicht erlaubt", + "App \"%s\" cannot be installed because appinfo file cannot be read." : "Die Anwendung \"%s\" kann nicht installiert werden, weil die Anwendungsinfodatei nicht gelesen werden kann.", + "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "Die App \"%s\" kann nicht installiert werden, da sie mit dieser Serverversion nicht kompatibel ist.", "This is an automatically sent email, please do not reply." : "Dies ist eine automatisch versandte E-Mail, bitte nicht antworten.", "Help" : "Hilfe", "Apps" : "Apps", @@ -165,8 +168,6 @@ OC.L10N.register( "The username is already being used" : "Dieser Benutzername existiert bereits", "User disabled" : "Nutzer deaktiviert", "Login canceled by app" : "Anmeldung durch die App abgebrochen", - "App \"%s\" cannot be installed because appinfo file cannot be read." : "Die Anwendung \"%s\" kann nicht installiert werden, weil die Anwendungsinfodatei nicht gelesen werden kann.", - "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "Die App \"%s\" kann nicht installiert werden, da sie mit dieser Serverversion nicht kompatibel ist.", "No app name specified" : "Es wurde kein App-Name angegeben", "App '%s' could not be installed!" : "'%s' - App konnte nicht installiert werden!", "App \"%s\" cannot be installed because the following dependencies are not fulfilled: %s" : "Die App „%s“ kann nicht installiert werden, da die folgenden Abhängigkeiten nicht erfüllt sind: %s", @@ -180,7 +181,10 @@ OC.L10N.register( "No database drivers (sqlite, mysql, or postgresql) installed." : "Keine Datenbanktreiber (SQLite, MySQL oder PostgreSQL) installiert.", "Cannot write into \"config\" directory" : "Das Schreiben in das „config“-Verzeichnis ist nicht möglich", "Cannot write into \"apps\" directory" : "Das Schreiben in das „apps“-Verzeichnis ist nicht möglich", + "This can usually be fixed by giving the webserver write access to the apps directory or disabling the appstore in the config file. See %s" : "Dies kann zumeist behoben werden, indem dem Web-Server Schreibzugriff auf das App-Verzeichnis eingeräumt wird. Siehe auch %s", "Cannot create \"data\" directory" : "Kann das \"Daten\"-Verzeichnis nicht erstellen", + "This can usually be fixed by giving the webserver write access to the root directory. See %s" : "Dies kann zumeist behoben werden, indem dem Web-Server Schreibzugriff auf das Wurzel-Verzeichnis eingeräumt wird. Siehe auch %s", + "Permissions can usually be fixed by giving the webserver write access to the root directory. See %s." : "Berechtigungen können zumeist korrigiert werden indem dem Web-Server Schreibzugriff auf das Wurzel-Verzeichnis eingeräumt wird. Siehe auch %s.", "Setting locale to %s failed" : "Das Setzen der Umgebungslokale auf %s fehlgeschlagen", "Please install one of these locales on your system and restart your webserver." : "Bitte installiere eine dieser Sprachen auf Deinem System und starte den Webserver neu.", "Please ask your server administrator to install the module." : "Bitte für die Installation des Moduls Ihren Server-Administrator anfragen.", diff --git a/lib/l10n/de.json b/lib/l10n/de.json index 2600f8b5c18..0f0dba898ec 100644 --- a/lib/l10n/de.json +++ b/lib/l10n/de.json @@ -2,6 +2,7 @@ "Cannot write into \"config\" directory!" : "Das Schreiben in das „config“-Verzeichnis ist nicht möglich!", "This can usually be fixed by giving the webserver write access to the config directory" : "Dies kann normalerweise repariert werden, indem dem Webserver Schreibzugriff auf das config-Verzeichnis gegeben wird", "See %s" : "Siehe %s", + "This can usually be fixed by giving the webserver write access to the config directory. See %s" : "Dies kann zumeist behoben werden, indem dem Web-Server Schreibzugriff auf das Konfigurationsverzeichnis eingeräumt wird. Siehe auch %s", "The files of the app %$1s were not replaced correctly. Make sure it is a version compatible with the server." : "Die Dateien der App %$1s wurden nicht korrekt ersetzt. Stelle sicher, dass die Version mit dem Server kompatibel ist.", "Sample configuration detected" : "Beispielkonfiguration gefunden", "It has been detected that the sample configuration has been copied. This can break your installation and is unsupported. Please read the documentation before performing changes on config.php" : "Es wurde festgestellt, dass die Beispielkonfiguration kopiert wurde. Dies kann Ihre Installation zunichte machen und wird nicht unterstützt. Bitte die Dokumentation lesen, bevor Änderungen an der config.php vorgenommen werden.", @@ -42,6 +43,8 @@ "File name is too long" : "Dateiname ist zu lang", "Dot files are not allowed" : "Dateinamen mit einem Punkt am Anfang sind nicht erlaubt", "Empty filename is not allowed" : "Ein leerer Dateiname ist nicht erlaubt", + "App \"%s\" cannot be installed because appinfo file cannot be read." : "Die Anwendung \"%s\" kann nicht installiert werden, weil die Anwendungsinfodatei nicht gelesen werden kann.", + "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "Die App \"%s\" kann nicht installiert werden, da sie mit dieser Serverversion nicht kompatibel ist.", "This is an automatically sent email, please do not reply." : "Dies ist eine automatisch versandte E-Mail, bitte nicht antworten.", "Help" : "Hilfe", "Apps" : "Apps", @@ -163,8 +166,6 @@ "The username is already being used" : "Dieser Benutzername existiert bereits", "User disabled" : "Nutzer deaktiviert", "Login canceled by app" : "Anmeldung durch die App abgebrochen", - "App \"%s\" cannot be installed because appinfo file cannot be read." : "Die Anwendung \"%s\" kann nicht installiert werden, weil die Anwendungsinfodatei nicht gelesen werden kann.", - "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "Die App \"%s\" kann nicht installiert werden, da sie mit dieser Serverversion nicht kompatibel ist.", "No app name specified" : "Es wurde kein App-Name angegeben", "App '%s' could not be installed!" : "'%s' - App konnte nicht installiert werden!", "App \"%s\" cannot be installed because the following dependencies are not fulfilled: %s" : "Die App „%s“ kann nicht installiert werden, da die folgenden Abhängigkeiten nicht erfüllt sind: %s", @@ -178,7 +179,10 @@ "No database drivers (sqlite, mysql, or postgresql) installed." : "Keine Datenbanktreiber (SQLite, MySQL oder PostgreSQL) installiert.", "Cannot write into \"config\" directory" : "Das Schreiben in das „config“-Verzeichnis ist nicht möglich", "Cannot write into \"apps\" directory" : "Das Schreiben in das „apps“-Verzeichnis ist nicht möglich", + "This can usually be fixed by giving the webserver write access to the apps directory or disabling the appstore in the config file. See %s" : "Dies kann zumeist behoben werden, indem dem Web-Server Schreibzugriff auf das App-Verzeichnis eingeräumt wird. Siehe auch %s", "Cannot create \"data\" directory" : "Kann das \"Daten\"-Verzeichnis nicht erstellen", + "This can usually be fixed by giving the webserver write access to the root directory. See %s" : "Dies kann zumeist behoben werden, indem dem Web-Server Schreibzugriff auf das Wurzel-Verzeichnis eingeräumt wird. Siehe auch %s", + "Permissions can usually be fixed by giving the webserver write access to the root directory. See %s." : "Berechtigungen können zumeist korrigiert werden indem dem Web-Server Schreibzugriff auf das Wurzel-Verzeichnis eingeräumt wird. Siehe auch %s.", "Setting locale to %s failed" : "Das Setzen der Umgebungslokale auf %s fehlgeschlagen", "Please install one of these locales on your system and restart your webserver." : "Bitte installiere eine dieser Sprachen auf Deinem System und starte den Webserver neu.", "Please ask your server administrator to install the module." : "Bitte für die Installation des Moduls Ihren Server-Administrator anfragen.", diff --git a/lib/l10n/de_DE.js b/lib/l10n/de_DE.js index 485854259fd..dda09331913 100644 --- a/lib/l10n/de_DE.js +++ b/lib/l10n/de_DE.js @@ -4,6 +4,7 @@ OC.L10N.register( "Cannot write into \"config\" directory!" : "Das Schreiben in das „config“-Verzeichnis ist nicht möglich!", "This can usually be fixed by giving the webserver write access to the config directory" : "Dies kann normalerweise repariert werden, indem dem Webserver Schreibzugriff auf das config-Verzeichnis gegeben wird", "See %s" : "Siehe %s", + "This can usually be fixed by giving the webserver write access to the config directory. See %s" : "Dies kann zumeist behoben werden, indem dem Web-Server Schreibzugriff auf das Konfigurationsverzeichnis eingeräumt wird. Siehe auch %s", "The files of the app %$1s were not replaced correctly. Make sure it is a version compatible with the server." : "Die Dateien der App %$1s wurden nicht korrekt ersetzt. Stellen Sie sicher, dass die Version mit dem Server kompatibel ist.", "Sample configuration detected" : "Beispielkonfiguration gefunden", "It has been detected that the sample configuration has been copied. This can break your installation and is unsupported. Please read the documentation before performing changes on config.php" : "Es wurde festgestellt, dass die Beispielkonfiguration kopiert wurde. Dies kann Ihre Installation zerstören und wird nicht unterstützt. Bitte lesen Sie die Dokumentation, bevor Sie Änderungen an der config.php vornehmen.", @@ -44,6 +45,8 @@ OC.L10N.register( "File name is too long" : "Dateiname ist zu lang", "Dot files are not allowed" : "Dateinamen mit einem Punkt am Anfang sind nicht erlaubt", "Empty filename is not allowed" : "Ein leerer Dateiname ist nicht erlaubt", + "App \"%s\" cannot be installed because appinfo file cannot be read." : "Die Anwendung \"%s\" kann nicht installiert werden, weil die Anwendungsinfodatei nicht gelesen werden kann.", + "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "Die App \"%s\" kann nicht installiert werden, da sie mit dieser Serverversion nicht kompatibel ist.", "This is an automatically sent email, please do not reply." : "Dies ist eine automatisch versendete EMail, bitte nicht antworten.", "Help" : "Hilfe", "Apps" : "Apps", @@ -165,8 +168,6 @@ OC.L10N.register( "The username is already being used" : "Der Benutzername existiert bereits", "User disabled" : "Nutzer deaktiviert", "Login canceled by app" : "Anmeldung durch die App abgebrochen", - "App \"%s\" cannot be installed because appinfo file cannot be read." : "Die Anwendung \"%s\" kann nicht installiert werden, weil die Anwendungsinfodatei nicht gelesen werden kann.", - "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "Die App \"%s\" kann nicht installiert werden, da sie mit dieser Serverversion nicht kompatibel ist.", "No app name specified" : "Es wurde kein App-Name angegeben", "App '%s' could not be installed!" : "'%s' - App konnte nicht installiert werden!", "App \"%s\" cannot be installed because the following dependencies are not fulfilled: %s" : "Die App „%s“ kann nicht installiert werden, da die folgenden Abhängigkeiten nicht erfüllt sind: %s", @@ -180,7 +181,10 @@ OC.L10N.register( "No database drivers (sqlite, mysql, or postgresql) installed." : "Keine Datenbanktreiber (SQLite, MYSQL oder PostgreSQL) installiert.", "Cannot write into \"config\" directory" : "Schreiben in das „config“-Verzeichnis ist nicht möglich", "Cannot write into \"apps\" directory" : "Schreiben in das „apps“-Verzeichnis ist nicht möglich", + "This can usually be fixed by giving the webserver write access to the apps directory or disabling the appstore in the config file. See %s" : "Dies kann zumeist behoben werden, indem dem Web-Server Schreibzugriff auf das App-Verzeichnis eingeräumt wird. Siehe auch %s", "Cannot create \"data\" directory" : "Kann das \"Daten\"-Verzeichnis nicht erstellen", + "This can usually be fixed by giving the webserver write access to the root directory. See %s" : "Dies kann zumeist behoben werden, indem dem Web-Server Schreibzugriff auf das Wurzel-Verzeichnis eingeräumt wird. Siehe auch %s", + "Permissions can usually be fixed by giving the webserver write access to the root directory. See %s." : "Berechtigungen können zumeist korrigiert werden indem dem Web-Server Schreibzugriff auf das Wurzel-Verzeichnis eingeräumt wird. Siehe auch %s. ", "Setting locale to %s failed" : "Das Setzen der Umgebungslokale auf %s fehlgeschlagen", "Please install one of these locales on your system and restart your webserver." : "Bitte installieren Sie eine dieser Sprachen auf Ihrem System und starten Sie den Webserver neu.", "Please ask your server administrator to install the module." : "Bitte kontaktieren Sie Ihren Server-Administrator und bitten Sie um die Installation des Moduls.", diff --git a/lib/l10n/de_DE.json b/lib/l10n/de_DE.json index 115d2a1bce1..30ffa8a21fb 100644 --- a/lib/l10n/de_DE.json +++ b/lib/l10n/de_DE.json @@ -2,6 +2,7 @@ "Cannot write into \"config\" directory!" : "Das Schreiben in das „config“-Verzeichnis ist nicht möglich!", "This can usually be fixed by giving the webserver write access to the config directory" : "Dies kann normalerweise repariert werden, indem dem Webserver Schreibzugriff auf das config-Verzeichnis gegeben wird", "See %s" : "Siehe %s", + "This can usually be fixed by giving the webserver write access to the config directory. See %s" : "Dies kann zumeist behoben werden, indem dem Web-Server Schreibzugriff auf das Konfigurationsverzeichnis eingeräumt wird. Siehe auch %s", "The files of the app %$1s were not replaced correctly. Make sure it is a version compatible with the server." : "Die Dateien der App %$1s wurden nicht korrekt ersetzt. Stellen Sie sicher, dass die Version mit dem Server kompatibel ist.", "Sample configuration detected" : "Beispielkonfiguration gefunden", "It has been detected that the sample configuration has been copied. This can break your installation and is unsupported. Please read the documentation before performing changes on config.php" : "Es wurde festgestellt, dass die Beispielkonfiguration kopiert wurde. Dies kann Ihre Installation zerstören und wird nicht unterstützt. Bitte lesen Sie die Dokumentation, bevor Sie Änderungen an der config.php vornehmen.", @@ -42,6 +43,8 @@ "File name is too long" : "Dateiname ist zu lang", "Dot files are not allowed" : "Dateinamen mit einem Punkt am Anfang sind nicht erlaubt", "Empty filename is not allowed" : "Ein leerer Dateiname ist nicht erlaubt", + "App \"%s\" cannot be installed because appinfo file cannot be read." : "Die Anwendung \"%s\" kann nicht installiert werden, weil die Anwendungsinfodatei nicht gelesen werden kann.", + "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "Die App \"%s\" kann nicht installiert werden, da sie mit dieser Serverversion nicht kompatibel ist.", "This is an automatically sent email, please do not reply." : "Dies ist eine automatisch versendete EMail, bitte nicht antworten.", "Help" : "Hilfe", "Apps" : "Apps", @@ -163,8 +166,6 @@ "The username is already being used" : "Der Benutzername existiert bereits", "User disabled" : "Nutzer deaktiviert", "Login canceled by app" : "Anmeldung durch die App abgebrochen", - "App \"%s\" cannot be installed because appinfo file cannot be read." : "Die Anwendung \"%s\" kann nicht installiert werden, weil die Anwendungsinfodatei nicht gelesen werden kann.", - "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "Die App \"%s\" kann nicht installiert werden, da sie mit dieser Serverversion nicht kompatibel ist.", "No app name specified" : "Es wurde kein App-Name angegeben", "App '%s' could not be installed!" : "'%s' - App konnte nicht installiert werden!", "App \"%s\" cannot be installed because the following dependencies are not fulfilled: %s" : "Die App „%s“ kann nicht installiert werden, da die folgenden Abhängigkeiten nicht erfüllt sind: %s", @@ -178,7 +179,10 @@ "No database drivers (sqlite, mysql, or postgresql) installed." : "Keine Datenbanktreiber (SQLite, MYSQL oder PostgreSQL) installiert.", "Cannot write into \"config\" directory" : "Schreiben in das „config“-Verzeichnis ist nicht möglich", "Cannot write into \"apps\" directory" : "Schreiben in das „apps“-Verzeichnis ist nicht möglich", + "This can usually be fixed by giving the webserver write access to the apps directory or disabling the appstore in the config file. See %s" : "Dies kann zumeist behoben werden, indem dem Web-Server Schreibzugriff auf das App-Verzeichnis eingeräumt wird. Siehe auch %s", "Cannot create \"data\" directory" : "Kann das \"Daten\"-Verzeichnis nicht erstellen", + "This can usually be fixed by giving the webserver write access to the root directory. See %s" : "Dies kann zumeist behoben werden, indem dem Web-Server Schreibzugriff auf das Wurzel-Verzeichnis eingeräumt wird. Siehe auch %s", + "Permissions can usually be fixed by giving the webserver write access to the root directory. See %s." : "Berechtigungen können zumeist korrigiert werden indem dem Web-Server Schreibzugriff auf das Wurzel-Verzeichnis eingeräumt wird. Siehe auch %s. ", "Setting locale to %s failed" : "Das Setzen der Umgebungslokale auf %s fehlgeschlagen", "Please install one of these locales on your system and restart your webserver." : "Bitte installieren Sie eine dieser Sprachen auf Ihrem System und starten Sie den Webserver neu.", "Please ask your server administrator to install the module." : "Bitte kontaktieren Sie Ihren Server-Administrator und bitten Sie um die Installation des Moduls.", diff --git a/lib/l10n/el.js b/lib/l10n/el.js index 6768a3fe0e9..91165a8c2a6 100644 --- a/lib/l10n/el.js +++ b/lib/l10n/el.js @@ -4,6 +4,8 @@ OC.L10N.register( "Cannot write into \"config\" directory!" : "Αδυναμία εγγραφής στον κατάλογο \"config\"!", "This can usually be fixed by giving the webserver write access to the config directory" : "Αυτό μπορεί συνήθως να διορθωθεί παρέχοντας δικαιώματα εγγραφής για το φάκελο config στο διακομιστή δικτύου", "See %s" : "Δείτε %s", + "This can usually be fixed by giving the webserver write access to the config directory. See %s" : "Αυτό μπορεί συνήθως να διορθωθεί δίνοντας στον διακομιστή γραπτή πρόσβαση στον κατάλογο εκχώρησης. Βλέπε%s", + "The files of the app %$1s were not replaced correctly. Make sure it is a version compatible with the server." : "Τα αρχεία της εφαρμογής% $ 1s δεν αντικαταστάθηκαν σωστά. Βεβαιωθείτε ότι πρόκειται για μια έκδοση που είναι συμβατή με το διακομιστή.", "Sample configuration detected" : "Ανιχνεύθηκε δείγμα εγκατάστασης", "It has been detected that the sample configuration has been copied. This can break your installation and is unsupported. Please read the documentation before performing changes on config.php" : "Έχει ανιχνευθεί ότι το δείγμα εγκατάστασης έχει αντιγραφεί. Αυτό μπορεί να σπάσει την εγκατάστασή σας και δεν υποστηρίζεται. Παρακαλώ διαβάστε την τεκμηρίωση πριν εκτελέσετε αλλαγές στο config.php", "%1$s and %2$s" : "%1$s και %2$s", @@ -56,6 +58,7 @@ OC.L10N.register( "Oracle username and/or password not valid" : "Μη έγκυρος χρήστης και/ή συνθηματικό της Oracle", "DB Error: \"%s\"" : "Σφάλμα Βάσης Δεδομένων: \"%s\"", "Offending command was: \"%s\"" : "Η εντολη παραβατικοτητας ηταν: \"%s\"", + "You need to enter details of an existing account." : "Χρειάζεται να εισάγετε λεπτομέρειες από υπάρχον λογαριασμό.", "Offending command was: \"%s\", name: %s, password: %s" : "Η εντολη παραβατικοτητας ηταν: \"%s\", ονομα: %s, κωδικος: %s", "PostgreSQL username and/or password not valid" : "Μη έγκυρος χρήστης και/ή συνθηματικό της PostgreSQL", "Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk! " : "Το Mac OS X δεν υποστηρίζεται και το %s δεν θα λειτουργήσει σωστά σε αυτή την πλατφόρμα. Χρησιμοποιείτε με δική σας ευθύνη!", @@ -93,6 +96,7 @@ OC.L10N.register( "Sharing %s failed, because resharing is not allowed" : "Ο διαμοιρασμός του %s απέτυχε, γιατί δεν επιτρέπεται ο επαναδιαμοιρασμός", "Sharing %s failed, because the sharing backend for %s could not find its source" : "Ο διαμοιρασμός του %s απέτυχε, γιατί δεν ήταν δυνατό να εντοπίσει την πηγή το σύστημα διαμοιρασμού για το %s ", "Sharing %s failed, because the file could not be found in the file cache" : "Ο διαμοιρασμός του %s απέτυχε, γιατί το αρχείο δεν βρέθηκε στην προσωρινή αποθήκευση αρχείων", + "Expiration date is in the past" : "Η ημερομηνία λήξης είναι στο παρελθόν", "Could not find category \"%s\"" : "Αδυναμία εύρεσης κατηγορίας \"%s\"", "Sunday" : "Κυριακή", "Monday" : "Δευτέρα", @@ -171,9 +175,12 @@ OC.L10N.register( "PostgreSQL >= 9 required" : "Απαιτείται PostgreSQL >= 9", "Please upgrade your database version" : "Παρακαλώ αναβαθμίστε την έκδοση της βάσης δεδομένων σας", "Please change the permissions to 0770 so that the directory cannot be listed by other users." : "Παρακαλώ αλλάξτε τις ρυθμίσεις σε 0770 έτσι ώστε ο κατάλογος να μην μπορεί να προβάλλεται από άλλους χρήστες.", + "Your data directory is readable by other users" : "Ο κατάλογος δεδομένων σας είναι διαθέσιμος προς ανάγνωση από άλλους χρήστες", "Check the value of \"datadirectory\" in your configuration" : "Ελέγξτε την τιμή του \"Φάκελος Δεδομένων\" στις ρυθμίσεις σας", + "Your data directory is invalid" : "Ο κατάλογος δεδομένων σας δεν είναι έγκυρος", "Please check that the data directory contains a file \".ocdata\" in its root." : "Παρακαλώ ελέγξτε ότι ο κατάλογος δεδομένων περιέχει ένα αρχείο \".ocdata\" στη βάση του.", "Could not obtain lock type %d on \"%s\"." : "Αδυναμία ανάκτησης τύπου κλειδιού %d στο \"%s\".", + "Storage is temporarily not available" : "Μη διαθέσιμος χώρος αποθήκευσης προσωρινά", "This can usually be fixed by %sgiving the webserver write access to the config directory%s." : "Αυτό μπορεί συνήθως να διορθωθεί %sπαρέχοντας δικαιώματα εγγραφής για το φάκελο config στο διακομιστή δικτύου%s.", "Module with id: %s does not exist. Please enable it in your apps settings or contact your administrator." : "Το άρθρωμα με id: %s δεν υπάρχει. Παρακαλώ ενεργοποιήστε το από τις ρυθμίσεις των εφαρμογών ή επικοινωνήστε με τον διαχειριστή.", "Server settings" : "Ρυθμίσεις διακομιστή", @@ -183,7 +190,7 @@ OC.L10N.register( "This can usually be fixed by %sgiving the webserver write access to the apps directory%s or disabling the appstore in the config file." : "Αυτό μπορεί συνήθως να διορθωθεί %sδίνοντας διακαιώματα εγγραφής για τον κατάλογο εφαρμογών στο διακομιστή δικτύου%s ή απενεργοποιώντας το κέντρο εφαρμογών στο αρχείο config.", "Cannot create \"data\" directory (%s)" : "Αδυναμία δημιουργίας του καταλόγου \"data\" (%s)", "Permissions can usually be fixed by %sgiving the webserver write access to the root directory%s." : "Τα δικαιώματα πρόσβασης μπορούν συνήθως να διορθωθούν %sδίνοντας δικαιώματα εγγραφής για τον βασικό κατάλογο στο διακομιστή δικτύου%s.", - "Data directory (%s) is readable by other users" : "Ο κατάλογος δεδομένων (%s) είναι διαθέσιμος προς ανάγνωση για άλλους χρήστες", + "Data directory (%s) is readable by other users" : "Ο κατάλογος δεδομένων (%s) είναι διαθέσιμος προς ανάγνωση από άλλους χρήστες", "Data directory (%s) must be an absolute path" : "Κατάλογος δεδομένων (%s) πρεπει να είναι απόλυτη η διαδρομή", "Data directory (%s) is invalid" : "Ο κατάλογος δεδομένων (%s) είναι άκυρος" }, diff --git a/lib/l10n/el.json b/lib/l10n/el.json index d713d2bdbeb..b0157e0de06 100644 --- a/lib/l10n/el.json +++ b/lib/l10n/el.json @@ -2,6 +2,8 @@ "Cannot write into \"config\" directory!" : "Αδυναμία εγγραφής στον κατάλογο \"config\"!", "This can usually be fixed by giving the webserver write access to the config directory" : "Αυτό μπορεί συνήθως να διορθωθεί παρέχοντας δικαιώματα εγγραφής για το φάκελο config στο διακομιστή δικτύου", "See %s" : "Δείτε %s", + "This can usually be fixed by giving the webserver write access to the config directory. See %s" : "Αυτό μπορεί συνήθως να διορθωθεί δίνοντας στον διακομιστή γραπτή πρόσβαση στον κατάλογο εκχώρησης. Βλέπε%s", + "The files of the app %$1s were not replaced correctly. Make sure it is a version compatible with the server." : "Τα αρχεία της εφαρμογής% $ 1s δεν αντικαταστάθηκαν σωστά. Βεβαιωθείτε ότι πρόκειται για μια έκδοση που είναι συμβατή με το διακομιστή.", "Sample configuration detected" : "Ανιχνεύθηκε δείγμα εγκατάστασης", "It has been detected that the sample configuration has been copied. This can break your installation and is unsupported. Please read the documentation before performing changes on config.php" : "Έχει ανιχνευθεί ότι το δείγμα εγκατάστασης έχει αντιγραφεί. Αυτό μπορεί να σπάσει την εγκατάστασή σας και δεν υποστηρίζεται. Παρακαλώ διαβάστε την τεκμηρίωση πριν εκτελέσετε αλλαγές στο config.php", "%1$s and %2$s" : "%1$s και %2$s", @@ -54,6 +56,7 @@ "Oracle username and/or password not valid" : "Μη έγκυρος χρήστης και/ή συνθηματικό της Oracle", "DB Error: \"%s\"" : "Σφάλμα Βάσης Δεδομένων: \"%s\"", "Offending command was: \"%s\"" : "Η εντολη παραβατικοτητας ηταν: \"%s\"", + "You need to enter details of an existing account." : "Χρειάζεται να εισάγετε λεπτομέρειες από υπάρχον λογαριασμό.", "Offending command was: \"%s\", name: %s, password: %s" : "Η εντολη παραβατικοτητας ηταν: \"%s\", ονομα: %s, κωδικος: %s", "PostgreSQL username and/or password not valid" : "Μη έγκυρος χρήστης και/ή συνθηματικό της PostgreSQL", "Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk! " : "Το Mac OS X δεν υποστηρίζεται και το %s δεν θα λειτουργήσει σωστά σε αυτή την πλατφόρμα. Χρησιμοποιείτε με δική σας ευθύνη!", @@ -91,6 +94,7 @@ "Sharing %s failed, because resharing is not allowed" : "Ο διαμοιρασμός του %s απέτυχε, γιατί δεν επιτρέπεται ο επαναδιαμοιρασμός", "Sharing %s failed, because the sharing backend for %s could not find its source" : "Ο διαμοιρασμός του %s απέτυχε, γιατί δεν ήταν δυνατό να εντοπίσει την πηγή το σύστημα διαμοιρασμού για το %s ", "Sharing %s failed, because the file could not be found in the file cache" : "Ο διαμοιρασμός του %s απέτυχε, γιατί το αρχείο δεν βρέθηκε στην προσωρινή αποθήκευση αρχείων", + "Expiration date is in the past" : "Η ημερομηνία λήξης είναι στο παρελθόν", "Could not find category \"%s\"" : "Αδυναμία εύρεσης κατηγορίας \"%s\"", "Sunday" : "Κυριακή", "Monday" : "Δευτέρα", @@ -169,9 +173,12 @@ "PostgreSQL >= 9 required" : "Απαιτείται PostgreSQL >= 9", "Please upgrade your database version" : "Παρακαλώ αναβαθμίστε την έκδοση της βάσης δεδομένων σας", "Please change the permissions to 0770 so that the directory cannot be listed by other users." : "Παρακαλώ αλλάξτε τις ρυθμίσεις σε 0770 έτσι ώστε ο κατάλογος να μην μπορεί να προβάλλεται από άλλους χρήστες.", + "Your data directory is readable by other users" : "Ο κατάλογος δεδομένων σας είναι διαθέσιμος προς ανάγνωση από άλλους χρήστες", "Check the value of \"datadirectory\" in your configuration" : "Ελέγξτε την τιμή του \"Φάκελος Δεδομένων\" στις ρυθμίσεις σας", + "Your data directory is invalid" : "Ο κατάλογος δεδομένων σας δεν είναι έγκυρος", "Please check that the data directory contains a file \".ocdata\" in its root." : "Παρακαλώ ελέγξτε ότι ο κατάλογος δεδομένων περιέχει ένα αρχείο \".ocdata\" στη βάση του.", "Could not obtain lock type %d on \"%s\"." : "Αδυναμία ανάκτησης τύπου κλειδιού %d στο \"%s\".", + "Storage is temporarily not available" : "Μη διαθέσιμος χώρος αποθήκευσης προσωρινά", "This can usually be fixed by %sgiving the webserver write access to the config directory%s." : "Αυτό μπορεί συνήθως να διορθωθεί %sπαρέχοντας δικαιώματα εγγραφής για το φάκελο config στο διακομιστή δικτύου%s.", "Module with id: %s does not exist. Please enable it in your apps settings or contact your administrator." : "Το άρθρωμα με id: %s δεν υπάρχει. Παρακαλώ ενεργοποιήστε το από τις ρυθμίσεις των εφαρμογών ή επικοινωνήστε με τον διαχειριστή.", "Server settings" : "Ρυθμίσεις διακομιστή", @@ -181,7 +188,7 @@ "This can usually be fixed by %sgiving the webserver write access to the apps directory%s or disabling the appstore in the config file." : "Αυτό μπορεί συνήθως να διορθωθεί %sδίνοντας διακαιώματα εγγραφής για τον κατάλογο εφαρμογών στο διακομιστή δικτύου%s ή απενεργοποιώντας το κέντρο εφαρμογών στο αρχείο config.", "Cannot create \"data\" directory (%s)" : "Αδυναμία δημιουργίας του καταλόγου \"data\" (%s)", "Permissions can usually be fixed by %sgiving the webserver write access to the root directory%s." : "Τα δικαιώματα πρόσβασης μπορούν συνήθως να διορθωθούν %sδίνοντας δικαιώματα εγγραφής για τον βασικό κατάλογο στο διακομιστή δικτύου%s.", - "Data directory (%s) is readable by other users" : "Ο κατάλογος δεδομένων (%s) είναι διαθέσιμος προς ανάγνωση για άλλους χρήστες", + "Data directory (%s) is readable by other users" : "Ο κατάλογος δεδομένων (%s) είναι διαθέσιμος προς ανάγνωση από άλλους χρήστες", "Data directory (%s) must be an absolute path" : "Κατάλογος δεδομένων (%s) πρεπει να είναι απόλυτη η διαδρομή", "Data directory (%s) is invalid" : "Ο κατάλογος δεδομένων (%s) είναι άκυρος" },"pluralForm" :"nplurals=2; plural=(n != 1);" diff --git a/lib/l10n/es.js b/lib/l10n/es.js index 553b40e7f34..4b0710d0d8c 100644 --- a/lib/l10n/es.js +++ b/lib/l10n/es.js @@ -44,6 +44,8 @@ OC.L10N.register( "File name is too long" : "El nombre del archivo es demasiado largo", "Dot files are not allowed" : "Los archivos Dot no están permitidos", "Empty filename is not allowed" : "No se puede dejar el nombre en blanco.", + "App \"%s\" cannot be installed because appinfo file cannot be read." : "La app \"%s\" no puede ser instalada debido a que no se puede leer la información de la app.", + "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "La aplicación \"%s\" no se puede instalar porque no es compatible con esta versión del servidor.", "This is an automatically sent email, please do not reply." : "Este es un correo enviado automáticamente, por favor no responda.", "Help" : "Ayuda", "Apps" : "Aplicaciones", @@ -165,8 +167,6 @@ OC.L10N.register( "The username is already being used" : "El nombre de usuario ya está en uso", "User disabled" : "Usuario deshabilitado", "Login canceled by app" : "Login cancelado por la app", - "App \"%s\" cannot be installed because appinfo file cannot be read." : "La app \"%s\" no puede ser instalada debido a que no se puede leer la información de la app.", - "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "La aplicación \"%s\" no se puede instalar porque no es compatible con esta versión del servidor.", "No app name specified" : "No se ha especificado nombre de la aplicación", "App '%s' could not be installed!" : "¡No se pudo instalar la app '%s'!", "App \"%s\" cannot be installed because the following dependencies are not fulfilled: %s" : "La app \"%s\" no puede instalarse porque las siguientes dependencias no están cumplimentadas: %s", diff --git a/lib/l10n/es.json b/lib/l10n/es.json index 1e30aac6719..41293e99c79 100644 --- a/lib/l10n/es.json +++ b/lib/l10n/es.json @@ -42,6 +42,8 @@ "File name is too long" : "El nombre del archivo es demasiado largo", "Dot files are not allowed" : "Los archivos Dot no están permitidos", "Empty filename is not allowed" : "No se puede dejar el nombre en blanco.", + "App \"%s\" cannot be installed because appinfo file cannot be read." : "La app \"%s\" no puede ser instalada debido a que no se puede leer la información de la app.", + "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "La aplicación \"%s\" no se puede instalar porque no es compatible con esta versión del servidor.", "This is an automatically sent email, please do not reply." : "Este es un correo enviado automáticamente, por favor no responda.", "Help" : "Ayuda", "Apps" : "Aplicaciones", @@ -163,8 +165,6 @@ "The username is already being used" : "El nombre de usuario ya está en uso", "User disabled" : "Usuario deshabilitado", "Login canceled by app" : "Login cancelado por la app", - "App \"%s\" cannot be installed because appinfo file cannot be read." : "La app \"%s\" no puede ser instalada debido a que no se puede leer la información de la app.", - "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "La aplicación \"%s\" no se puede instalar porque no es compatible con esta versión del servidor.", "No app name specified" : "No se ha especificado nombre de la aplicación", "App '%s' could not be installed!" : "¡No se pudo instalar la app '%s'!", "App \"%s\" cannot be installed because the following dependencies are not fulfilled: %s" : "La app \"%s\" no puede instalarse porque las siguientes dependencias no están cumplimentadas: %s", diff --git a/lib/l10n/es_MX.js b/lib/l10n/es_MX.js index add58903193..42d76d5e4b1 100644 --- a/lib/l10n/es_MX.js +++ b/lib/l10n/es_MX.js @@ -4,6 +4,7 @@ OC.L10N.register( "Cannot write into \"config\" directory!" : "¡No se puede escribir en el directorio \"config\"!", "This can usually be fixed by giving the webserver write access to the config directory" : "Esto generalmente se soluciona dándole al servidor web acceso para escribir en el directorio config. ", "See %s" : "Ver %s", + "This can usually be fixed by giving the webserver write access to the config directory. See %s" : "Por lo general esto se puede resolver al darle al servidor web acceso de escritura al directorio config. Favor de ver %s", "The files of the app %$1s were not replaced correctly. Make sure it is a version compatible with the server." : "Los archivos de la aplicación %$1s no fueron correctamente remplazados. Favor de asegurarse de que la versión sea compatible con el servidor.", "Sample configuration detected" : "Se ha detectado la configuración de muestra", "It has been detected that the sample configuration has been copied. This can break your installation and is unsupported. Please read the documentation before performing changes on config.php" : "Se ha detectado que la configuración de muestra ha sido copiada. Esto puede descomponer su instalacón y no está soportado. Favor de leer la documentación antes de hacer cambios en el archivo config.php", @@ -44,6 +45,8 @@ OC.L10N.register( "File name is too long" : "El nombre del archivo es demasiado largo", "Dot files are not allowed" : "Los archivos Dot no están permitidos", "Empty filename is not allowed" : "El uso de nombres de archivo vacíos no está permitido", + "App \"%s\" cannot be installed because appinfo file cannot be read." : "La aplicación \"%s\" no puede ser instalada porque el archivo appinfo no se puede leer. ", + "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "La aplicación \"%s\" no puede ser instalada porque no es compatible con esta versión del servidor. ", "This is an automatically sent email, please do not reply." : "Este es un correo enviado automáticamente, favor de no contestarlo. ", "Help" : "Ayuda", "Apps" : "Aplicaciones", @@ -165,8 +168,6 @@ OC.L10N.register( "The username is already being used" : "Ese nombre de usuario ya está en uso", "User disabled" : "Usuario deshabilitado", "Login canceled by app" : "Inicio de sesión cancelado por la aplicación", - "App \"%s\" cannot be installed because appinfo file cannot be read." : "La aplicación \"%s\" no puede ser instalada porque el archivo appinfo no se puede leer. ", - "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "La aplicación \"%s\" no puede ser instalada porque no es compatible con esta versión del servidor. ", "No app name specified" : "No se ha especificado el nombre de la aplicación", "App '%s' could not be installed!" : "¡La aplicación \"%s\" no puede ser instalada!", "App \"%s\" cannot be installed because the following dependencies are not fulfilled: %s" : "La aplicación \"%s\" no puede ser instalada porque las siguientes dependencias no están satisfechas: %s ", @@ -180,7 +181,10 @@ OC.L10N.register( "No database drivers (sqlite, mysql, or postgresql) installed." : "No cuenta con controladores de base de datos (sqlite, mysql o postgresql) instalados. ", "Cannot write into \"config\" directory" : "No fue posible escribir en el directorio \"config\"", "Cannot write into \"apps\" directory" : "No fue posible escribir en el directorio \"apps\"", + "This can usually be fixed by giving the webserver write access to the apps directory or disabling the appstore in the config file. See %s" : "Por lo general esto se puede resolver al darle al servidor web acceso de escritura al directorio de las aplicaciones o deshabilitando la appstore en el archivo config. Favor de ver %s", "Cannot create \"data\" directory" : "No fue posible crear el directorio \"data\"", + "This can usually be fixed by giving the webserver write access to the root directory. See %s" : "Por lo general esto se puede resolver al darle al servidor web acceso de escritura al directorio raíz. Favor de ver %s", + "Permissions can usually be fixed by giving the webserver write access to the root directory. See %s." : "Por lo general los permisos se pueden corregir al darle al servidor web acceso de escritura al directorio raíz. Favor de ver %s.", "Setting locale to %s failed" : "Se presentó una falla al establecer la regionalización a %s", "Please install one of these locales on your system and restart your webserver." : "Favor de instalar uno de las siguientes configuraciones locales en su sistema y reinicie su servidor web", "Please ask your server administrator to install the module." : "Favor de solicitar a su adminsitrador la instalación del módulo. ", diff --git a/lib/l10n/es_MX.json b/lib/l10n/es_MX.json index 65eabd5c5b3..69ddf4cfcfb 100644 --- a/lib/l10n/es_MX.json +++ b/lib/l10n/es_MX.json @@ -2,6 +2,7 @@ "Cannot write into \"config\" directory!" : "¡No se puede escribir en el directorio \"config\"!", "This can usually be fixed by giving the webserver write access to the config directory" : "Esto generalmente se soluciona dándole al servidor web acceso para escribir en el directorio config. ", "See %s" : "Ver %s", + "This can usually be fixed by giving the webserver write access to the config directory. See %s" : "Por lo general esto se puede resolver al darle al servidor web acceso de escritura al directorio config. Favor de ver %s", "The files of the app %$1s were not replaced correctly. Make sure it is a version compatible with the server." : "Los archivos de la aplicación %$1s no fueron correctamente remplazados. Favor de asegurarse de que la versión sea compatible con el servidor.", "Sample configuration detected" : "Se ha detectado la configuración de muestra", "It has been detected that the sample configuration has been copied. This can break your installation and is unsupported. Please read the documentation before performing changes on config.php" : "Se ha detectado que la configuración de muestra ha sido copiada. Esto puede descomponer su instalacón y no está soportado. Favor de leer la documentación antes de hacer cambios en el archivo config.php", @@ -42,6 +43,8 @@ "File name is too long" : "El nombre del archivo es demasiado largo", "Dot files are not allowed" : "Los archivos Dot no están permitidos", "Empty filename is not allowed" : "El uso de nombres de archivo vacíos no está permitido", + "App \"%s\" cannot be installed because appinfo file cannot be read." : "La aplicación \"%s\" no puede ser instalada porque el archivo appinfo no se puede leer. ", + "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "La aplicación \"%s\" no puede ser instalada porque no es compatible con esta versión del servidor. ", "This is an automatically sent email, please do not reply." : "Este es un correo enviado automáticamente, favor de no contestarlo. ", "Help" : "Ayuda", "Apps" : "Aplicaciones", @@ -163,8 +166,6 @@ "The username is already being used" : "Ese nombre de usuario ya está en uso", "User disabled" : "Usuario deshabilitado", "Login canceled by app" : "Inicio de sesión cancelado por la aplicación", - "App \"%s\" cannot be installed because appinfo file cannot be read." : "La aplicación \"%s\" no puede ser instalada porque el archivo appinfo no se puede leer. ", - "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "La aplicación \"%s\" no puede ser instalada porque no es compatible con esta versión del servidor. ", "No app name specified" : "No se ha especificado el nombre de la aplicación", "App '%s' could not be installed!" : "¡La aplicación \"%s\" no puede ser instalada!", "App \"%s\" cannot be installed because the following dependencies are not fulfilled: %s" : "La aplicación \"%s\" no puede ser instalada porque las siguientes dependencias no están satisfechas: %s ", @@ -178,7 +179,10 @@ "No database drivers (sqlite, mysql, or postgresql) installed." : "No cuenta con controladores de base de datos (sqlite, mysql o postgresql) instalados. ", "Cannot write into \"config\" directory" : "No fue posible escribir en el directorio \"config\"", "Cannot write into \"apps\" directory" : "No fue posible escribir en el directorio \"apps\"", + "This can usually be fixed by giving the webserver write access to the apps directory or disabling the appstore in the config file. See %s" : "Por lo general esto se puede resolver al darle al servidor web acceso de escritura al directorio de las aplicaciones o deshabilitando la appstore en el archivo config. Favor de ver %s", "Cannot create \"data\" directory" : "No fue posible crear el directorio \"data\"", + "This can usually be fixed by giving the webserver write access to the root directory. See %s" : "Por lo general esto se puede resolver al darle al servidor web acceso de escritura al directorio raíz. Favor de ver %s", + "Permissions can usually be fixed by giving the webserver write access to the root directory. See %s." : "Por lo general los permisos se pueden corregir al darle al servidor web acceso de escritura al directorio raíz. Favor de ver %s.", "Setting locale to %s failed" : "Se presentó una falla al establecer la regionalización a %s", "Please install one of these locales on your system and restart your webserver." : "Favor de instalar uno de las siguientes configuraciones locales en su sistema y reinicie su servidor web", "Please ask your server administrator to install the module." : "Favor de solicitar a su adminsitrador la instalación del módulo. ", diff --git a/lib/l10n/fi.js b/lib/l10n/fi.js index 06a39ccc74c..eca8b47d005 100644 --- a/lib/l10n/fi.js +++ b/lib/l10n/fi.js @@ -40,6 +40,8 @@ OC.L10N.register( "File name is too long" : "Tiedoston nimi on liian pitkä", "Dot files are not allowed" : "Pistetiedostot eivät ole sallittuja", "Empty filename is not allowed" : "Tiedostonimi ei voi olla tyhjä", + "App \"%s\" cannot be installed because appinfo file cannot be read." : "Sovellusta \"%s\" ei voi asentaa, koska appinfo-tiedostoa ei voi loi lukea.", + "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "Sovellusta \"%s\" ei voi asentaa, koska se ei ole yhteensopiva tämän palvelinversion kanssa.", "This is an automatically sent email, please do not reply." : "Tämä on automaattisesti lähetetty viesti. Älä vastaa tähän viestiin.", "Help" : "Ohje", "Apps" : "Sovellukset", @@ -154,8 +156,6 @@ OC.L10N.register( "The username is already being used" : "Käyttäjätunnus on jo käytössä", "User disabled" : "Käyttäjä poistettu käytöstä", "Login canceled by app" : "Kirjautuminen peruttiin sovelluksen toimesta", - "App \"%s\" cannot be installed because appinfo file cannot be read." : "Sovellusta \"%s\" ei voi asentaa, koska appinfo-tiedostoa ei voi loi lukea.", - "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "Sovellusta \"%s\" ei voi asentaa, koska se ei ole yhteensopiva tämän palvelinversion kanssa.", "No app name specified" : "Sovelluksen nimeä ei määritelty", "App '%s' could not be installed!" : "Sovellusta \"%s\" ei voi asentaa!", "App \"%s\" cannot be installed because the following dependencies are not fulfilled: %s" : "Sovelluksen \"%s\" asennus ei onnistu, koska seuraavia riippuvuuksia ei ole täytetty: %s", diff --git a/lib/l10n/fi.json b/lib/l10n/fi.json index eec39c5b2a9..72022a4ac30 100644 --- a/lib/l10n/fi.json +++ b/lib/l10n/fi.json @@ -38,6 +38,8 @@ "File name is too long" : "Tiedoston nimi on liian pitkä", "Dot files are not allowed" : "Pistetiedostot eivät ole sallittuja", "Empty filename is not allowed" : "Tiedostonimi ei voi olla tyhjä", + "App \"%s\" cannot be installed because appinfo file cannot be read." : "Sovellusta \"%s\" ei voi asentaa, koska appinfo-tiedostoa ei voi loi lukea.", + "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "Sovellusta \"%s\" ei voi asentaa, koska se ei ole yhteensopiva tämän palvelinversion kanssa.", "This is an automatically sent email, please do not reply." : "Tämä on automaattisesti lähetetty viesti. Älä vastaa tähän viestiin.", "Help" : "Ohje", "Apps" : "Sovellukset", @@ -152,8 +154,6 @@ "The username is already being used" : "Käyttäjätunnus on jo käytössä", "User disabled" : "Käyttäjä poistettu käytöstä", "Login canceled by app" : "Kirjautuminen peruttiin sovelluksen toimesta", - "App \"%s\" cannot be installed because appinfo file cannot be read." : "Sovellusta \"%s\" ei voi asentaa, koska appinfo-tiedostoa ei voi loi lukea.", - "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "Sovellusta \"%s\" ei voi asentaa, koska se ei ole yhteensopiva tämän palvelinversion kanssa.", "No app name specified" : "Sovelluksen nimeä ei määritelty", "App '%s' could not be installed!" : "Sovellusta \"%s\" ei voi asentaa!", "App \"%s\" cannot be installed because the following dependencies are not fulfilled: %s" : "Sovelluksen \"%s\" asennus ei onnistu, koska seuraavia riippuvuuksia ei ole täytetty: %s", diff --git a/lib/l10n/fr.js b/lib/l10n/fr.js index 09c42db8c93..51792e096dd 100644 --- a/lib/l10n/fr.js +++ b/lib/l10n/fr.js @@ -4,6 +4,7 @@ OC.L10N.register( "Cannot write into \"config\" directory!" : "Impossible d’écrire dans le répertoire « config » !", "This can usually be fixed by giving the webserver write access to the config directory" : "Ce problème est généralement résolu en donnant au serveur web un accès en écriture au répertoire \"config\"", "See %s" : "Voir %s", + "This can usually be fixed by giving the webserver write access to the config directory. See %s" : "Ce problème est généralement résolu en donnant au serveur web un accès en écriture au répertoire \"config\". Voir %s", "The files of the app %$1s were not replaced correctly. Make sure it is a version compatible with the server." : "Les fichiers de l'application %$1s n'ont pas été remplacés correctement. Veuillez vérifier que c'est une version compatible avec le serveur.", "Sample configuration detected" : "Configuration d'exemple détectée", "It has been detected that the sample configuration has been copied. This can break your installation and is unsupported. Please read the documentation before performing changes on config.php" : "Il a été détecté que la configuration donnée à titre d'exemple a été copiée. Cela peut rendre votre installation inopérante et n'est pas pris en charge. Veuillez lire la documentation avant d'effectuer des modifications dans config.php", @@ -16,7 +17,7 @@ OC.L10N.register( "Social sharing bundle" : "Pack pour partage social", "PHP %s or higher is required." : "PHP %s ou supérieur est requis.", "PHP with a version lower than %s is required." : "PHP avec une version antérieure à %s est requis.", - "%sbit or higher PHP required." : "%sbit ou PHP supérieur est requis.", + "%sbit or higher PHP required." : "PHP %sbits ou supérieur est requis.", "Following databases are supported: %s" : "Les bases de données suivantes sont supportées : %s", "The command line tool %s could not be found" : "La commande %s est introuvable", "The library %s is not available." : "La librairie %s n'est pas disponible.", @@ -44,6 +45,8 @@ OC.L10N.register( "File name is too long" : "Nom de fichier trop long", "Dot files are not allowed" : "Le nom de fichier ne peut pas commencer par un point", "Empty filename is not allowed" : "Le nom de fichier ne peut pas être vide", + "App \"%s\" cannot be installed because appinfo file cannot be read." : "L'application \"%s\" ne peut pas être installée car le fichier appinfo ne peut pas être lu.", + "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "L'application \"%s\" ne peut être installée car elle n'est pas compatible avec cette version du serveur", "This is an automatically sent email, please do not reply." : "Ceci est un e-mail envoyé automatiquement, veuillez ne pas y répondre.", "Help" : "Aide", "Apps" : "Applications", @@ -165,8 +168,6 @@ OC.L10N.register( "The username is already being used" : "Ce nom d'utilisateur est déjà utilisé", "User disabled" : "Utilisateur désactivé", "Login canceled by app" : "L'authentification a été annulé par l'application", - "App \"%s\" cannot be installed because appinfo file cannot be read." : "L'application \"%s\" ne peut pas être installée car le fichier appinfo ne peut pas être lu.", - "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "L'application \"%s\" ne peut être installée car elle n'est pas compatible avec cette version du serveur", "No app name specified" : "Aucun nom d'application spécifié", "App '%s' could not be installed!" : "L'application \"%s\" ne peut pas être installée !", "App \"%s\" cannot be installed because the following dependencies are not fulfilled: %s" : "L'application \"%s\" ne peut pas être installée à cause des dépendances suivantes non satisfaites : %s", @@ -180,7 +181,10 @@ OC.L10N.register( "No database drivers (sqlite, mysql, or postgresql) installed." : "Aucun pilote de base de données n’est installé (sqlite, mysql ou postgresql).", "Cannot write into \"config\" directory" : "Impossible d’écrire dans le répertoire \"config\"", "Cannot write into \"apps\" directory" : "Impossible d’écrire dans le répertoire \"apps\"", + "This can usually be fixed by giving the webserver write access to the apps directory or disabling the appstore in the config file. See %s" : "Ce problème est généralement résolu en donnant au serveur web un accès en écriture au répertoire \"apps\" ou en désactivant l'appstore dans le fichier de configuration. Voir %s", "Cannot create \"data\" directory" : "Impossible de créer le dossier \"data\"", + "This can usually be fixed by giving the webserver write access to the root directory. See %s" : "Ce problème est généralement résolu en donnant au serveur web un accès en écriture au répertoire racine. Voir %s", + "Permissions can usually be fixed by giving the webserver write access to the root directory. See %s." : "Le problème de permissions peut généralement être résolu en donnant au serveur web un accès en écriture au répertoire racine. Voir %s.", "Setting locale to %s failed" : "Echec de la spécification des paramètres régionaux à %s", "Please install one of these locales on your system and restart your webserver." : "Veuillez installer l'un de ces paramètres régionaux sur votre système et redémarrer votre serveur web.", "Please ask your server administrator to install the module." : "Veuillez demander à votre administrateur d’installer le module.", diff --git a/lib/l10n/fr.json b/lib/l10n/fr.json index d70cad594f4..639eed6cb7a 100644 --- a/lib/l10n/fr.json +++ b/lib/l10n/fr.json @@ -2,6 +2,7 @@ "Cannot write into \"config\" directory!" : "Impossible d’écrire dans le répertoire « config » !", "This can usually be fixed by giving the webserver write access to the config directory" : "Ce problème est généralement résolu en donnant au serveur web un accès en écriture au répertoire \"config\"", "See %s" : "Voir %s", + "This can usually be fixed by giving the webserver write access to the config directory. See %s" : "Ce problème est généralement résolu en donnant au serveur web un accès en écriture au répertoire \"config\". Voir %s", "The files of the app %$1s were not replaced correctly. Make sure it is a version compatible with the server." : "Les fichiers de l'application %$1s n'ont pas été remplacés correctement. Veuillez vérifier que c'est une version compatible avec le serveur.", "Sample configuration detected" : "Configuration d'exemple détectée", "It has been detected that the sample configuration has been copied. This can break your installation and is unsupported. Please read the documentation before performing changes on config.php" : "Il a été détecté que la configuration donnée à titre d'exemple a été copiée. Cela peut rendre votre installation inopérante et n'est pas pris en charge. Veuillez lire la documentation avant d'effectuer des modifications dans config.php", @@ -14,7 +15,7 @@ "Social sharing bundle" : "Pack pour partage social", "PHP %s or higher is required." : "PHP %s ou supérieur est requis.", "PHP with a version lower than %s is required." : "PHP avec une version antérieure à %s est requis.", - "%sbit or higher PHP required." : "%sbit ou PHP supérieur est requis.", + "%sbit or higher PHP required." : "PHP %sbits ou supérieur est requis.", "Following databases are supported: %s" : "Les bases de données suivantes sont supportées : %s", "The command line tool %s could not be found" : "La commande %s est introuvable", "The library %s is not available." : "La librairie %s n'est pas disponible.", @@ -42,6 +43,8 @@ "File name is too long" : "Nom de fichier trop long", "Dot files are not allowed" : "Le nom de fichier ne peut pas commencer par un point", "Empty filename is not allowed" : "Le nom de fichier ne peut pas être vide", + "App \"%s\" cannot be installed because appinfo file cannot be read." : "L'application \"%s\" ne peut pas être installée car le fichier appinfo ne peut pas être lu.", + "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "L'application \"%s\" ne peut être installée car elle n'est pas compatible avec cette version du serveur", "This is an automatically sent email, please do not reply." : "Ceci est un e-mail envoyé automatiquement, veuillez ne pas y répondre.", "Help" : "Aide", "Apps" : "Applications", @@ -163,8 +166,6 @@ "The username is already being used" : "Ce nom d'utilisateur est déjà utilisé", "User disabled" : "Utilisateur désactivé", "Login canceled by app" : "L'authentification a été annulé par l'application", - "App \"%s\" cannot be installed because appinfo file cannot be read." : "L'application \"%s\" ne peut pas être installée car le fichier appinfo ne peut pas être lu.", - "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "L'application \"%s\" ne peut être installée car elle n'est pas compatible avec cette version du serveur", "No app name specified" : "Aucun nom d'application spécifié", "App '%s' could not be installed!" : "L'application \"%s\" ne peut pas être installée !", "App \"%s\" cannot be installed because the following dependencies are not fulfilled: %s" : "L'application \"%s\" ne peut pas être installée à cause des dépendances suivantes non satisfaites : %s", @@ -178,7 +179,10 @@ "No database drivers (sqlite, mysql, or postgresql) installed." : "Aucun pilote de base de données n’est installé (sqlite, mysql ou postgresql).", "Cannot write into \"config\" directory" : "Impossible d’écrire dans le répertoire \"config\"", "Cannot write into \"apps\" directory" : "Impossible d’écrire dans le répertoire \"apps\"", + "This can usually be fixed by giving the webserver write access to the apps directory or disabling the appstore in the config file. See %s" : "Ce problème est généralement résolu en donnant au serveur web un accès en écriture au répertoire \"apps\" ou en désactivant l'appstore dans le fichier de configuration. Voir %s", "Cannot create \"data\" directory" : "Impossible de créer le dossier \"data\"", + "This can usually be fixed by giving the webserver write access to the root directory. See %s" : "Ce problème est généralement résolu en donnant au serveur web un accès en écriture au répertoire racine. Voir %s", + "Permissions can usually be fixed by giving the webserver write access to the root directory. See %s." : "Le problème de permissions peut généralement être résolu en donnant au serveur web un accès en écriture au répertoire racine. Voir %s.", "Setting locale to %s failed" : "Echec de la spécification des paramètres régionaux à %s", "Please install one of these locales on your system and restart your webserver." : "Veuillez installer l'un de ces paramètres régionaux sur votre système et redémarrer votre serveur web.", "Please ask your server administrator to install the module." : "Veuillez demander à votre administrateur d’installer le module.", diff --git a/lib/l10n/he.js b/lib/l10n/he.js index 01cc07b9048..3aa060db9a0 100644 --- a/lib/l10n/he.js +++ b/lib/l10n/he.js @@ -29,6 +29,7 @@ OC.L10N.register( "File name is too long" : "שם קובץ ארוך מדי", "Dot files are not allowed" : "קבצי Dot אינם מותרים", "Empty filename is not allowed" : "שם קובץ ריק אינו מאושר", + "App \"%s\" cannot be installed because appinfo file cannot be read." : "יישום \"%s\" לא ניתן להתקנה כיוון שקובץ appinfo לא ניתן לקריאה.", "Help" : "עזרה", "Apps" : "יישומים", "Personal" : "אישי", @@ -140,7 +141,6 @@ OC.L10N.register( "The username is already being used" : "השם משתמש כבר בשימוש", "User disabled" : "משתמש מנוטרל", "Login canceled by app" : "התחברות בוטלה על ידי יישום", - "App \"%s\" cannot be installed because appinfo file cannot be read." : "יישום \"%s\" לא ניתן להתקנה כיוון שקובץ appinfo לא ניתן לקריאה.", "No app name specified" : "לא הוגדר שם יישום", "App \"%s\" cannot be installed because the following dependencies are not fulfilled: %s" : "היישום \"%s\" לא ניתן להתקנה כיוון שיחסי התלות הבאים אינם מתקיימים: %s", "a safe home for all your data" : "בית בטוח עבור כל המידע שלך", diff --git a/lib/l10n/he.json b/lib/l10n/he.json index f6ec548f78d..a9e11217739 100644 --- a/lib/l10n/he.json +++ b/lib/l10n/he.json @@ -27,6 +27,7 @@ "File name is too long" : "שם קובץ ארוך מדי", "Dot files are not allowed" : "קבצי Dot אינם מותרים", "Empty filename is not allowed" : "שם קובץ ריק אינו מאושר", + "App \"%s\" cannot be installed because appinfo file cannot be read." : "יישום \"%s\" לא ניתן להתקנה כיוון שקובץ appinfo לא ניתן לקריאה.", "Help" : "עזרה", "Apps" : "יישומים", "Personal" : "אישי", @@ -138,7 +139,6 @@ "The username is already being used" : "השם משתמש כבר בשימוש", "User disabled" : "משתמש מנוטרל", "Login canceled by app" : "התחברות בוטלה על ידי יישום", - "App \"%s\" cannot be installed because appinfo file cannot be read." : "יישום \"%s\" לא ניתן להתקנה כיוון שקובץ appinfo לא ניתן לקריאה.", "No app name specified" : "לא הוגדר שם יישום", "App \"%s\" cannot be installed because the following dependencies are not fulfilled: %s" : "היישום \"%s\" לא ניתן להתקנה כיוון שיחסי התלות הבאים אינם מתקיימים: %s", "a safe home for all your data" : "בית בטוח עבור כל המידע שלך", diff --git a/lib/l10n/hu.js b/lib/l10n/hu.js index 228c8b649a4..01f8ef573fc 100644 --- a/lib/l10n/hu.js +++ b/lib/l10n/hu.js @@ -40,6 +40,8 @@ OC.L10N.register( "File name is too long" : "A fájlnév túl hosszú!", "Dot files are not allowed" : "Pontozott fájlok nem engedétlyezettek", "Empty filename is not allowed" : "Üres fájlnév nem engedétlyezett", + "App \"%s\" cannot be installed because appinfo file cannot be read." : "\"%s\" alkalmazás nem lehet telepíteni, mert az appinfo fájl nem olvasható.", + "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "\"%s\" alkalmazás nem lehet telepíteni, mert nem kompatibilis a szerver jelen verziójával.", "Help" : "Súgó", "Apps" : "Alkalmazások", "Personal" : "Személyes", @@ -157,8 +159,6 @@ OC.L10N.register( "The username is already being used" : "Ez a bejelentkezési név már foglalt", "User disabled" : "Felhasználó letiltva", "Login canceled by app" : "Bejelentkezés megszakítva az alkalmazás által", - "App \"%s\" cannot be installed because appinfo file cannot be read." : "\"%s\" alkalmazás nem lehet telepíteni, mert az appinfo fájl nem olvasható.", - "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "\"%s\" alkalmazás nem lehet telepíteni, mert nem kompatibilis a szerver jelen verziójával.", "No app name specified" : "Nincs az alkalmazás név megadva.", "App '%s' could not be installed!" : "\"%s\" alkalmazás nem lehet telepíthető!", "App \"%s\" cannot be installed because the following dependencies are not fulfilled: %s" : "\"%s\" alkalmazás nem lehet telepíteni, mert a következő függőségek nincsenek kielégítve: %s", diff --git a/lib/l10n/hu.json b/lib/l10n/hu.json index 1dec7c2fef2..2894e05d12b 100644 --- a/lib/l10n/hu.json +++ b/lib/l10n/hu.json @@ -38,6 +38,8 @@ "File name is too long" : "A fájlnév túl hosszú!", "Dot files are not allowed" : "Pontozott fájlok nem engedétlyezettek", "Empty filename is not allowed" : "Üres fájlnév nem engedétlyezett", + "App \"%s\" cannot be installed because appinfo file cannot be read." : "\"%s\" alkalmazás nem lehet telepíteni, mert az appinfo fájl nem olvasható.", + "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "\"%s\" alkalmazás nem lehet telepíteni, mert nem kompatibilis a szerver jelen verziójával.", "Help" : "Súgó", "Apps" : "Alkalmazások", "Personal" : "Személyes", @@ -155,8 +157,6 @@ "The username is already being used" : "Ez a bejelentkezési név már foglalt", "User disabled" : "Felhasználó letiltva", "Login canceled by app" : "Bejelentkezés megszakítva az alkalmazás által", - "App \"%s\" cannot be installed because appinfo file cannot be read." : "\"%s\" alkalmazás nem lehet telepíteni, mert az appinfo fájl nem olvasható.", - "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "\"%s\" alkalmazás nem lehet telepíteni, mert nem kompatibilis a szerver jelen verziójával.", "No app name specified" : "Nincs az alkalmazás név megadva.", "App '%s' could not be installed!" : "\"%s\" alkalmazás nem lehet telepíthető!", "App \"%s\" cannot be installed because the following dependencies are not fulfilled: %s" : "\"%s\" alkalmazás nem lehet telepíteni, mert a következő függőségek nincsenek kielégítve: %s", diff --git a/lib/l10n/is.js b/lib/l10n/is.js index 45256e710a1..b807b8640d9 100644 --- a/lib/l10n/is.js +++ b/lib/l10n/is.js @@ -8,6 +8,8 @@ OC.L10N.register( "%1$s, %2$s and %3$s" : "%1$s, %2$s og %3$s", "%1$s, %2$s, %3$s and %4$s" : "%1$s, %2$s, %3$s og %4$s", "%1$s, %2$s, %3$s, %4$s and %5$s" : "%1$s, %2$s, %3$s, %4$s og %5$s", + "Enterprise bundle" : "Fyrirtækjavöndull", + "Groupware bundle" : "Hópvinnsluvöndull", "PHP %s or higher is required." : "Krafist er PHP %s eða hærra.", "PHP with a version lower than %s is required." : "Krafist er PHP útgáfu %s eða lægri.", "%sbit or higher PHP required." : "Krafist er PHP %sbita eða hærra.", @@ -35,6 +37,9 @@ OC.L10N.register( "File name is too long" : "Skráarheiti er of langt", "Dot files are not allowed" : "Skrár með punkti eru ekki leyfðar", "Empty filename is not allowed" : "Autt skráarheiti er ekki leyft.", + "App \"%s\" cannot be installed because appinfo file cannot be read." : "Ekki er hægt að setja upp \"%s\" forritið vegna þess að ekki var hægt að lesa appinfo-skrána.", + "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "Ekki var hægt að setja upp forritið \"%s\" vegna þess að það er ekki samhæft þessari útgáfu vefþjónsins.", + "This is an automatically sent email, please do not reply." : "Þetta er sjálfvirk tölvupóstsending, ekki svara þessu.", "Help" : "Hjálp", "Apps" : "Forrit", "Personal" : "Einka", @@ -43,7 +48,9 @@ OC.L10N.register( "Admin" : "Stjórnun", "APCu" : "APCu", "Redis" : "Redis", + "Basic settings" : "Grunnstillingar", "Sharing" : "Deiling", + "Security" : "Öryggi", "Encryption" : "Dulritun", "Additional settings" : "Valfrjálsar stillingar", "Tips & tricks" : "Ábendingar og góð ráð", @@ -83,6 +90,7 @@ OC.L10N.register( "Sharing backend for %s not found" : "Deilingarbakendi fyrir %s fannst ekki", "Sharing failed, because the user %s is the original sharer" : "Deiling mistókst, því notandinn %s er upprunalegur deilandi", "Sharing %s failed, because resharing is not allowed" : "Deiling %s mistókst, því endurdeiling er ekki leyfð", + "Sharing %s failed, because the file could not be found in the file cache" : "Deiling %s mistókst, því skráin fannst ekki í skyndiminni skráa", "Cannot increase permissions of %s" : "Get ekki aukið aðgangsheimildir %s", "Expiration date is in the past" : "Gildistíminn er þegar runninn út", "Cannot set expiration date more than %s days in the future" : "Ekki er hægt að setja lokadagsetningu meira en %s daga fram í tímann", @@ -135,12 +143,11 @@ OC.L10N.register( "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Einungis eru leyfilegir eftirfarandi stafir í notandanafni: \"a-z\", \"A-Z\", \"0-9\", og \"_.@-'\"", "A valid username must be provided" : "Skráðu inn gilt notandanafn", "Username contains whitespace at the beginning or at the end" : "Notandanafnið inniheldur orðabil í upphafi eða enda", + "Username must not consist of dots only" : "Notandanafn má ekki einungis samanstanda af punktum", "A valid password must be provided" : "Skráðu inn gilt lykilorð", "The username is already being used" : "Notandanafnið er þegar í notkun", "User disabled" : "Notandi óvirkur", "Login canceled by app" : "Forrit hætti við innskráningu", - "App \"%s\" cannot be installed because appinfo file cannot be read." : "Ekki er hægt að setja upp \"%s\" forritið vegna þess að ekki var hægt að lesa appinfo-skrána.", - "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "Ekki var hægt að setja upp forritið \"%s\" vegna þess að það er ekki samhæft þessari útgáfu vefþjónsins.", "No app name specified" : "Ekkert heiti forrits tilgreint", "App '%s' could not be installed!" : "Ekki var hægt að setja upp '%s' forritið!", "App \"%s\" cannot be installed because the following dependencies are not fulfilled: %s" : "Ekki var hægt að setja upp \"%s\" forritið þar sem eftirfarandi kerfiskröfur eru ekki uppfylltar: %s", @@ -154,6 +161,7 @@ OC.L10N.register( "No database drivers (sqlite, mysql, or postgresql) installed." : "Engir reklar fyrir gagnagrunn eru uppsettir (sqlite, mysql eða postgresql).", "Cannot write into \"config\" directory" : "Get ekki skrifað í \"config\" möppuna", "Cannot write into \"apps\" directory" : "Get ekki skrifað í \"apps\" möppuna", + "Cannot create \"data\" directory" : "Get ekki búið til \"data\" möppu", "Setting locale to %s failed" : "Mistókst að setja upp staðfærsluna %s", "Please install one of these locales on your system and restart your webserver." : "Settu upp eina af þessum staðfærslum og endurræstu vefþjóninn.", "Please ask your server administrator to install the module." : "Biddu kerfisstjórann þinn um að setja eininguna upp.", @@ -169,7 +177,10 @@ OC.L10N.register( "Please ask your server administrator to restart the web server." : "Biddu kerfisstjórann þinn um að endurræsa vefþjóninn.", "PostgreSQL >= 9 required" : "Krefst PostgreSQL >= 9", "Please upgrade your database version" : "Uppfærðu útgáfu gagnagrunnsins", + "Your data directory is readable by other users" : "Gagnamappn þín er lesanleg fyrir aðra notendur", + "Your data directory must be an absolute path" : "Gagnamappan þín verður að vera með algilda slóð", "Check the value of \"datadirectory\" in your configuration" : "Athugaðu gildi \"datadirectory\" í uppsetningunni þinni", + "Your data directory is invalid" : "Gagnamappan þín er ógild", "Storage unauthorized. %s" : "Gagnageymsla ekki auðkennd. %s", "Storage incomplete configuration. %s" : "Ófullgerð uppsetning gagnageymslu. %s", "Storage connection error. %s" : "Villa í tengingu við gagnageymslu. %s", diff --git a/lib/l10n/is.json b/lib/l10n/is.json index 11a82e161b4..a5541e993e4 100644 --- a/lib/l10n/is.json +++ b/lib/l10n/is.json @@ -6,6 +6,8 @@ "%1$s, %2$s and %3$s" : "%1$s, %2$s og %3$s", "%1$s, %2$s, %3$s and %4$s" : "%1$s, %2$s, %3$s og %4$s", "%1$s, %2$s, %3$s, %4$s and %5$s" : "%1$s, %2$s, %3$s, %4$s og %5$s", + "Enterprise bundle" : "Fyrirtækjavöndull", + "Groupware bundle" : "Hópvinnsluvöndull", "PHP %s or higher is required." : "Krafist er PHP %s eða hærra.", "PHP with a version lower than %s is required." : "Krafist er PHP útgáfu %s eða lægri.", "%sbit or higher PHP required." : "Krafist er PHP %sbita eða hærra.", @@ -33,6 +35,9 @@ "File name is too long" : "Skráarheiti er of langt", "Dot files are not allowed" : "Skrár með punkti eru ekki leyfðar", "Empty filename is not allowed" : "Autt skráarheiti er ekki leyft.", + "App \"%s\" cannot be installed because appinfo file cannot be read." : "Ekki er hægt að setja upp \"%s\" forritið vegna þess að ekki var hægt að lesa appinfo-skrána.", + "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "Ekki var hægt að setja upp forritið \"%s\" vegna þess að það er ekki samhæft þessari útgáfu vefþjónsins.", + "This is an automatically sent email, please do not reply." : "Þetta er sjálfvirk tölvupóstsending, ekki svara þessu.", "Help" : "Hjálp", "Apps" : "Forrit", "Personal" : "Einka", @@ -41,7 +46,9 @@ "Admin" : "Stjórnun", "APCu" : "APCu", "Redis" : "Redis", + "Basic settings" : "Grunnstillingar", "Sharing" : "Deiling", + "Security" : "Öryggi", "Encryption" : "Dulritun", "Additional settings" : "Valfrjálsar stillingar", "Tips & tricks" : "Ábendingar og góð ráð", @@ -81,6 +88,7 @@ "Sharing backend for %s not found" : "Deilingarbakendi fyrir %s fannst ekki", "Sharing failed, because the user %s is the original sharer" : "Deiling mistókst, því notandinn %s er upprunalegur deilandi", "Sharing %s failed, because resharing is not allowed" : "Deiling %s mistókst, því endurdeiling er ekki leyfð", + "Sharing %s failed, because the file could not be found in the file cache" : "Deiling %s mistókst, því skráin fannst ekki í skyndiminni skráa", "Cannot increase permissions of %s" : "Get ekki aukið aðgangsheimildir %s", "Expiration date is in the past" : "Gildistíminn er þegar runninn út", "Cannot set expiration date more than %s days in the future" : "Ekki er hægt að setja lokadagsetningu meira en %s daga fram í tímann", @@ -133,12 +141,11 @@ "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Einungis eru leyfilegir eftirfarandi stafir í notandanafni: \"a-z\", \"A-Z\", \"0-9\", og \"_.@-'\"", "A valid username must be provided" : "Skráðu inn gilt notandanafn", "Username contains whitespace at the beginning or at the end" : "Notandanafnið inniheldur orðabil í upphafi eða enda", + "Username must not consist of dots only" : "Notandanafn má ekki einungis samanstanda af punktum", "A valid password must be provided" : "Skráðu inn gilt lykilorð", "The username is already being used" : "Notandanafnið er þegar í notkun", "User disabled" : "Notandi óvirkur", "Login canceled by app" : "Forrit hætti við innskráningu", - "App \"%s\" cannot be installed because appinfo file cannot be read." : "Ekki er hægt að setja upp \"%s\" forritið vegna þess að ekki var hægt að lesa appinfo-skrána.", - "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "Ekki var hægt að setja upp forritið \"%s\" vegna þess að það er ekki samhæft þessari útgáfu vefþjónsins.", "No app name specified" : "Ekkert heiti forrits tilgreint", "App '%s' could not be installed!" : "Ekki var hægt að setja upp '%s' forritið!", "App \"%s\" cannot be installed because the following dependencies are not fulfilled: %s" : "Ekki var hægt að setja upp \"%s\" forritið þar sem eftirfarandi kerfiskröfur eru ekki uppfylltar: %s", @@ -152,6 +159,7 @@ "No database drivers (sqlite, mysql, or postgresql) installed." : "Engir reklar fyrir gagnagrunn eru uppsettir (sqlite, mysql eða postgresql).", "Cannot write into \"config\" directory" : "Get ekki skrifað í \"config\" möppuna", "Cannot write into \"apps\" directory" : "Get ekki skrifað í \"apps\" möppuna", + "Cannot create \"data\" directory" : "Get ekki búið til \"data\" möppu", "Setting locale to %s failed" : "Mistókst að setja upp staðfærsluna %s", "Please install one of these locales on your system and restart your webserver." : "Settu upp eina af þessum staðfærslum og endurræstu vefþjóninn.", "Please ask your server administrator to install the module." : "Biddu kerfisstjórann þinn um að setja eininguna upp.", @@ -167,7 +175,10 @@ "Please ask your server administrator to restart the web server." : "Biddu kerfisstjórann þinn um að endurræsa vefþjóninn.", "PostgreSQL >= 9 required" : "Krefst PostgreSQL >= 9", "Please upgrade your database version" : "Uppfærðu útgáfu gagnagrunnsins", + "Your data directory is readable by other users" : "Gagnamappn þín er lesanleg fyrir aðra notendur", + "Your data directory must be an absolute path" : "Gagnamappan þín verður að vera með algilda slóð", "Check the value of \"datadirectory\" in your configuration" : "Athugaðu gildi \"datadirectory\" í uppsetningunni þinni", + "Your data directory is invalid" : "Gagnamappan þín er ógild", "Storage unauthorized. %s" : "Gagnageymsla ekki auðkennd. %s", "Storage incomplete configuration. %s" : "Ófullgerð uppsetning gagnageymslu. %s", "Storage connection error. %s" : "Villa í tengingu við gagnageymslu. %s", diff --git a/lib/l10n/it.js b/lib/l10n/it.js index e071ec0e696..7d2ae7ac070 100644 --- a/lib/l10n/it.js +++ b/lib/l10n/it.js @@ -41,6 +41,8 @@ OC.L10N.register( "File name is too long" : "Il nome del file è troppo lungo", "Dot files are not allowed" : "I file con un punto iniziale non sono consentiti", "Empty filename is not allowed" : "Un nome di file vuoto non è consentito", + "App \"%s\" cannot be installed because appinfo file cannot be read." : "L'applicazione \"%s\" non può essere installata poiché il file appinfo non può essere letto.", + "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "L'applicazione \"%s\" non può essere installata perché non è compatibile con questa versione del server.", "This is an automatically sent email, please do not reply." : "Questo è un messaggio di posta inviato automaticamente, non rispondere.", "Help" : "Aiuto", "Apps" : "Applicazioni", @@ -161,8 +163,6 @@ OC.L10N.register( "The username is already being used" : "Il nome utente è già utilizzato", "User disabled" : "Utente disabilitato", "Login canceled by app" : "Accesso annullato dall'applicazione", - "App \"%s\" cannot be installed because appinfo file cannot be read." : "L'applicazione \"%s\" non può essere installata poiché il file appinfo non può essere letto.", - "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "L'applicazione \"%s\" non può essere installata perché non è compatibile con questa versione del server.", "No app name specified" : "Il nome dell'applicazione non è specificato", "App '%s' could not be installed!" : "L'applicazione '%s' non può essere installata!", "App \"%s\" cannot be installed because the following dependencies are not fulfilled: %s" : "L'applicazione \"%s\" non può essere installata poiché le seguenti dipendenze non sono soddisfatte: %s", diff --git a/lib/l10n/it.json b/lib/l10n/it.json index 84cf29f9017..8ccfd848395 100644 --- a/lib/l10n/it.json +++ b/lib/l10n/it.json @@ -39,6 +39,8 @@ "File name is too long" : "Il nome del file è troppo lungo", "Dot files are not allowed" : "I file con un punto iniziale non sono consentiti", "Empty filename is not allowed" : "Un nome di file vuoto non è consentito", + "App \"%s\" cannot be installed because appinfo file cannot be read." : "L'applicazione \"%s\" non può essere installata poiché il file appinfo non può essere letto.", + "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "L'applicazione \"%s\" non può essere installata perché non è compatibile con questa versione del server.", "This is an automatically sent email, please do not reply." : "Questo è un messaggio di posta inviato automaticamente, non rispondere.", "Help" : "Aiuto", "Apps" : "Applicazioni", @@ -159,8 +161,6 @@ "The username is already being used" : "Il nome utente è già utilizzato", "User disabled" : "Utente disabilitato", "Login canceled by app" : "Accesso annullato dall'applicazione", - "App \"%s\" cannot be installed because appinfo file cannot be read." : "L'applicazione \"%s\" non può essere installata poiché il file appinfo non può essere letto.", - "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "L'applicazione \"%s\" non può essere installata perché non è compatibile con questa versione del server.", "No app name specified" : "Il nome dell'applicazione non è specificato", "App '%s' could not be installed!" : "L'applicazione '%s' non può essere installata!", "App \"%s\" cannot be installed because the following dependencies are not fulfilled: %s" : "L'applicazione \"%s\" non può essere installata poiché le seguenti dipendenze non sono soddisfatte: %s", diff --git a/lib/l10n/ja.js b/lib/l10n/ja.js index 252f028b300..15dc44a521f 100644 --- a/lib/l10n/ja.js +++ b/lib/l10n/ja.js @@ -40,6 +40,8 @@ OC.L10N.register( "File name is too long" : "ファイル名が長すぎます", "Dot files are not allowed" : "ドットファイルは許可されていません", "Empty filename is not allowed" : "空のファイル名は許可されていません", + "App \"%s\" cannot be installed because appinfo file cannot be read." : "appinfoファイルが読み込めないため、アプリ名 \"%s\" がインストールできません。", + "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "\"%s\" アプリは、このバージョンのサーバーと互換性がないためインストールされませんでした。", "Help" : "ヘルプ", "Apps" : "アプリ", "Personal" : "個人", @@ -157,8 +159,6 @@ OC.L10N.register( "The username is already being used" : "ユーザー名はすでに使われています", "User disabled" : "ユーザーは無効です", "Login canceled by app" : "アプリによりログインが中止されました", - "App \"%s\" cannot be installed because appinfo file cannot be read." : "appinfoファイルが読み込めないため、アプリ名 \"%s\" がインストールできません。", - "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "\"%s\" アプリは、このバージョンのサーバーと互換性がないためインストールされませんでした。", "No app name specified" : "アプリ名が未指定", "App '%s' could not be installed!" : "'%s' アプリをインストールできませんでした。", "App \"%s\" cannot be installed because the following dependencies are not fulfilled: %s" : "次の依存関係が満たされないため、\"%s\" アプリをインストールできません:%s", diff --git a/lib/l10n/ja.json b/lib/l10n/ja.json index e3fc49a777f..07449a935ca 100644 --- a/lib/l10n/ja.json +++ b/lib/l10n/ja.json @@ -38,6 +38,8 @@ "File name is too long" : "ファイル名が長すぎます", "Dot files are not allowed" : "ドットファイルは許可されていません", "Empty filename is not allowed" : "空のファイル名は許可されていません", + "App \"%s\" cannot be installed because appinfo file cannot be read." : "appinfoファイルが読み込めないため、アプリ名 \"%s\" がインストールできません。", + "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "\"%s\" アプリは、このバージョンのサーバーと互換性がないためインストールされませんでした。", "Help" : "ヘルプ", "Apps" : "アプリ", "Personal" : "個人", @@ -155,8 +157,6 @@ "The username is already being used" : "ユーザー名はすでに使われています", "User disabled" : "ユーザーは無効です", "Login canceled by app" : "アプリによりログインが中止されました", - "App \"%s\" cannot be installed because appinfo file cannot be read." : "appinfoファイルが読み込めないため、アプリ名 \"%s\" がインストールできません。", - "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "\"%s\" アプリは、このバージョンのサーバーと互換性がないためインストールされませんでした。", "No app name specified" : "アプリ名が未指定", "App '%s' could not be installed!" : "'%s' アプリをインストールできませんでした。", "App \"%s\" cannot be installed because the following dependencies are not fulfilled: %s" : "次の依存関係が満たされないため、\"%s\" アプリをインストールできません:%s", diff --git a/lib/l10n/ko.js b/lib/l10n/ko.js index 5971a29913e..2a26f1031f9 100644 --- a/lib/l10n/ko.js +++ b/lib/l10n/ko.js @@ -44,6 +44,8 @@ OC.L10N.register( "File name is too long" : "파일 이름이 너무 김", "Dot files are not allowed" : "점으로 시작하는 파일은 허용되지 않음", "Empty filename is not allowed" : "파일 이름을 비워 둘 수 없음", + "App \"%s\" cannot be installed because appinfo file cannot be read." : "appinfo 파일을 읽을 수 없어서 앱 \"%s\"을(를) 설치할 수 없습니다.", + "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "이 서버 버전과 호환되지 않아서 앱 \"%s\"을(를) 설치할 수 없습니다", "This is an automatically sent email, please do not reply." : "자동으로 전송한 이메일입니다. 답장하지 마십시오.", "Help" : "도움말", "Apps" : "앱", @@ -165,8 +167,6 @@ OC.L10N.register( "The username is already being used" : "사용자 이름이 이미 존재합니다", "User disabled" : "사용자 비활성화", "Login canceled by app" : "앱 로그인 취소", - "App \"%s\" cannot be installed because appinfo file cannot be read." : "appinfo 파일을 읽을 수 없어서 앱 \"%s\"을(를) 설치할 수 없습니다.", - "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "이 서버 버전과 호환되지 않아서 앱 \"%s\"을(를) 설치할 수 없습니다", "No app name specified" : "앱 이름이 지정되지 않았음", "App '%s' could not be installed!" : "앱 '%s'을(를) 설치할 수 없습니다!", "App \"%s\" cannot be installed because the following dependencies are not fulfilled: %s" : "앱 \"%s\"의 다음 의존성을 만족하지 못하므로 설치할 수 없습니다: %s", diff --git a/lib/l10n/ko.json b/lib/l10n/ko.json index be31b08716c..3bf4ceac1b5 100644 --- a/lib/l10n/ko.json +++ b/lib/l10n/ko.json @@ -42,6 +42,8 @@ "File name is too long" : "파일 이름이 너무 김", "Dot files are not allowed" : "점으로 시작하는 파일은 허용되지 않음", "Empty filename is not allowed" : "파일 이름을 비워 둘 수 없음", + "App \"%s\" cannot be installed because appinfo file cannot be read." : "appinfo 파일을 읽을 수 없어서 앱 \"%s\"을(를) 설치할 수 없습니다.", + "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "이 서버 버전과 호환되지 않아서 앱 \"%s\"을(를) 설치할 수 없습니다", "This is an automatically sent email, please do not reply." : "자동으로 전송한 이메일입니다. 답장하지 마십시오.", "Help" : "도움말", "Apps" : "앱", @@ -163,8 +165,6 @@ "The username is already being used" : "사용자 이름이 이미 존재합니다", "User disabled" : "사용자 비활성화", "Login canceled by app" : "앱 로그인 취소", - "App \"%s\" cannot be installed because appinfo file cannot be read." : "appinfo 파일을 읽을 수 없어서 앱 \"%s\"을(를) 설치할 수 없습니다.", - "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "이 서버 버전과 호환되지 않아서 앱 \"%s\"을(를) 설치할 수 없습니다", "No app name specified" : "앱 이름이 지정되지 않았음", "App '%s' could not be installed!" : "앱 '%s'을(를) 설치할 수 없습니다!", "App \"%s\" cannot be installed because the following dependencies are not fulfilled: %s" : "앱 \"%s\"의 다음 의존성을 만족하지 못하므로 설치할 수 없습니다: %s", diff --git a/lib/l10n/nb.js b/lib/l10n/nb.js index b48cca20852..39a5b333f05 100644 --- a/lib/l10n/nb.js +++ b/lib/l10n/nb.js @@ -44,6 +44,8 @@ OC.L10N.register( "File name is too long" : "Filnavnet er for langt", "Dot files are not allowed" : "Punktum-filer er ikke tillatt", "Empty filename is not allowed" : "Tomt filnavn er ikke tillatt", + "App \"%s\" cannot be installed because appinfo file cannot be read." : "Appen \"%s\" kan ikke installeres på grunn av at appinfo filen ikke kan leses.", + "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "Appen \"%s\" kan ikke installere fordi den ikke er kompatibel med denne tjenerversjonen.", "This is an automatically sent email, please do not reply." : "Dette er en automatisk sendt e-post, ikke svar.", "Help" : "Hjelp", "Apps" : "Programmer", @@ -89,7 +91,7 @@ OC.L10N.register( "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", - "Sharing %s failed, because sharing with links is not allowed" : "Deling av %s feilet, fordi deling med lenker ikke er tillatt", + "Sharing %s failed, because sharing with links is not allowed" : "Deling av %s mislyktes, fordi deling med lenker ikke er tillatt", "Not allowed to create a federated share with the same user" : "Ikke tillatt å opprette en sammenknyttet sky-deling med den samme brukeren", "Sharing %s failed, could not find %s, maybe the server is currently unreachable." : "Deling %s feilet, fant ikke %s, kanskje tjeneren er utilgjengelig for øyeblikket.", "Share type %s is not valid for %s" : "Delingstype %s er ikke gyldig for %s", @@ -165,8 +167,6 @@ OC.L10N.register( "The username is already being used" : "Brukernavnet er allerede i bruk", "User disabled" : "Brukeren er deaktivert", "Login canceled by app" : "Innlogging avbrutt av app", - "App \"%s\" cannot be installed because appinfo file cannot be read." : "Appen \"%s\" kan ikke installeres på grunn av at appinfo filen ikke kan leses.", - "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "Appen \"%s\" kan ikke installere fordi den ikke er kompatibel med denne tjenerversjonen.", "No app name specified" : "Intet app-navn spesifisert", "App '%s' could not be installed!" : "Appen '%s' kunne ikke installeres!", "App \"%s\" cannot be installed because the following dependencies are not fulfilled: %s" : "Programmet \"%s\" kan ikke installeres fordi følgende avhengigheter ikke er tilfredsstilt: %s", diff --git a/lib/l10n/nb.json b/lib/l10n/nb.json index 5e393299863..fd30f786e78 100644 --- a/lib/l10n/nb.json +++ b/lib/l10n/nb.json @@ -42,6 +42,8 @@ "File name is too long" : "Filnavnet er for langt", "Dot files are not allowed" : "Punktum-filer er ikke tillatt", "Empty filename is not allowed" : "Tomt filnavn er ikke tillatt", + "App \"%s\" cannot be installed because appinfo file cannot be read." : "Appen \"%s\" kan ikke installeres på grunn av at appinfo filen ikke kan leses.", + "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "Appen \"%s\" kan ikke installere fordi den ikke er kompatibel med denne tjenerversjonen.", "This is an automatically sent email, please do not reply." : "Dette er en automatisk sendt e-post, ikke svar.", "Help" : "Hjelp", "Apps" : "Programmer", @@ -87,7 +89,7 @@ "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", - "Sharing %s failed, because sharing with links is not allowed" : "Deling av %s feilet, fordi deling med lenker ikke er tillatt", + "Sharing %s failed, because sharing with links is not allowed" : "Deling av %s mislyktes, fordi deling med lenker ikke er tillatt", "Not allowed to create a federated share with the same user" : "Ikke tillatt å opprette en sammenknyttet sky-deling med den samme brukeren", "Sharing %s failed, could not find %s, maybe the server is currently unreachable." : "Deling %s feilet, fant ikke %s, kanskje tjeneren er utilgjengelig for øyeblikket.", "Share type %s is not valid for %s" : "Delingstype %s er ikke gyldig for %s", @@ -163,8 +165,6 @@ "The username is already being used" : "Brukernavnet er allerede i bruk", "User disabled" : "Brukeren er deaktivert", "Login canceled by app" : "Innlogging avbrutt av app", - "App \"%s\" cannot be installed because appinfo file cannot be read." : "Appen \"%s\" kan ikke installeres på grunn av at appinfo filen ikke kan leses.", - "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "Appen \"%s\" kan ikke installere fordi den ikke er kompatibel med denne tjenerversjonen.", "No app name specified" : "Intet app-navn spesifisert", "App '%s' could not be installed!" : "Appen '%s' kunne ikke installeres!", "App \"%s\" cannot be installed because the following dependencies are not fulfilled: %s" : "Programmet \"%s\" kan ikke installeres fordi følgende avhengigheter ikke er tilfredsstilt: %s", diff --git a/lib/l10n/nl.js b/lib/l10n/nl.js index 083c799bcb8..9ad05fb7eba 100644 --- a/lib/l10n/nl.js +++ b/lib/l10n/nl.js @@ -2,8 +2,9 @@ OC.L10N.register( "lib", { "Cannot write into \"config\" directory!" : "Kan niet schrijven naar de \"config\" directory!", - "This can usually be fixed by giving the webserver write access to the config directory" : "Dit kan hersteld worden door de webserver schrijfrechten te geven op de de config directory", + "This can usually be fixed by giving the webserver write access to the config directory" : "Dit kan hersteld worden door config map op de webserver schrijfrechten te geven", "See %s" : "Zie %s", + "This can usually be fixed by giving the webserver write access to the config directory. See %s" : "Dit kan hersteld geregeld door de config map op de webserver schrijf rechten te geven. See %s", "The files of the app %$1s were not replaced correctly. Make sure it is a version compatible with the server." : "De bestanden van de app %$1s zijn niet correct vervangen. Zorg ervoor dat hij compatible is met de server.", "Sample configuration detected" : "Voorbeeldconfiguratie gevonden", "It has been detected that the sample configuration has been copied. This can break your installation and is unsupported. Please read the documentation before performing changes on config.php" : "Blijkbaar is de voorbeeldconfiguratie gekopieerd. Dit kan je installatie beschadigen en wordt dan ook niet ondersteund. Lees de documentatie voordat je wijzigingen aan config.php doorvoert", @@ -44,6 +45,8 @@ OC.L10N.register( "File name is too long" : "De bestandsnaam is te lang", "Dot files are not allowed" : "Punt bestanden zijn niet toegestaan", "Empty filename is not allowed" : "Een lege bestandsnaam is niet toegestaan", + "App \"%s\" cannot be installed because appinfo file cannot be read." : "App \"%s\" kan niet worden geïnstalleerd, omdat het appinfo bestand niet gelezen kan worden.", + "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "App \"%s\" kan niet worden geïnstalleerd, omdat deze niet compatible is met deze versie van de server.", "This is an automatically sent email, please do not reply." : "Dit is een automatisch gegenereerde e-mail, dus niet reageren.", "Help" : "Help", "Apps" : "Apps", @@ -165,8 +168,6 @@ OC.L10N.register( "The username is already being used" : "De gebruikersnaam bestaat al", "User disabled" : "Gebruiker geblokkeerd", "Login canceled by app" : "Inloggen geannuleerd door app", - "App \"%s\" cannot be installed because appinfo file cannot be read." : "App \"%s\" kan niet worden geïnstalleerd, omdat het appinfo bestand niet gelezen kan worden.", - "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "App \"%s\" kan niet worden geïnstalleerd, omdat deze niet compatible is met deze versie van de server.", "No app name specified" : "Geen app naam opgegeven.", "App '%s' could not be installed!" : "App '%s' kon niet worden geïnstalleerd!", "App \"%s\" cannot be installed because the following dependencies are not fulfilled: %s" : "App \"%s\" kan niet worden geïnstalleerd, omdat de volgende afhankelijkheden niet zijn ingevuld: %s", @@ -180,7 +181,10 @@ OC.L10N.register( "No database drivers (sqlite, mysql, or postgresql) installed." : "Geen database drivers (sqlite, mysql of postgres) geïnstalleerd.", "Cannot write into \"config\" directory" : "Kan niet schrijven naar de \"config\" directory", "Cannot write into \"apps\" directory" : "Kan niet schrijven naar de \"apps\" directory", + "This can usually be fixed by giving the webserver write access to the apps directory or disabling the appstore in the config file. See %s" : "Dit kan hersteld worden door de app map schrijf rechten te geven of schakel de appstore uit bij het config bestand. See %s", "Cannot create \"data\" directory" : "\"data\" map kan niet worden aangemaakt", + "This can usually be fixed by giving the webserver write access to the root directory. See %s" : "Dit kan hersteld worden door de root map schrijf rechten te geven. See %s", + "Permissions can usually be fixed by giving the webserver write access to the root directory. See %s." : "Rechten kunnen worden hersteld door de root map op de webserver schrijf toegang te geven. See %s.", "Setting locale to %s failed" : "Instellen taal op %s mislukte", "Please install one of these locales on your system and restart your webserver." : "Installeer één van de talen op je systeem en herstart je webserver.", "Please ask your server administrator to install the module." : "Vraag je beheerder om de module te installeren.", @@ -217,8 +221,8 @@ OC.L10N.register( "%s via %s" : "%s via %s", "This can usually be fixed by %sgiving the webserver write access to the apps directory%s or disabling the appstore in the config file." : "Dit kan hersteld worden door de webserver schrijfrechten te %s geven op de appsdirectory %s of door de appstore te deactiveren in het configbestand.", "Cannot create \"data\" directory (%s)" : "Kan de \"data\" directory (%s) niet aanmaken", - "This can usually be fixed by <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">giving the webserver write access to the root directory</a>." : "Dit kan worden hersteld door <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\"> de webserver schrijfrechten te geven tot de hoofddirectory</a>.", - "Permissions can usually be fixed by %sgiving the webserver write access to the root directory%s." : "Dit kan hersteld worden door de webserver schrijfrechten te %s geven op de hoofddirectory %s.", + "This can usually be fixed by <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">giving the webserver write access to the root directory</a>." : "Dit kan hersteld worden door <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\"> de webserver schrijfrechten te geven tot de hoofddirectory</a>.", + "Permissions can usually be fixed by %sgiving the webserver write access to the root directory%s." : "Dit kan hersteld worden door 1%s in de hoofd directory 1%s op de webserver schrijfrechten te geven.", "Data directory (%s) is readable by other users" : "De datadirectory (%s) is leesbaar voor andere gebruikers", "Data directory (%s) must be an absolute path" : "De datadirectory (%s) moet een absoluut pad hebben", "Data directory (%s) is invalid" : "Data directory (%s) is ongeldig" diff --git a/lib/l10n/nl.json b/lib/l10n/nl.json index e67c505676b..8a6bd04bdb4 100644 --- a/lib/l10n/nl.json +++ b/lib/l10n/nl.json @@ -1,7 +1,8 @@ { "translations": { "Cannot write into \"config\" directory!" : "Kan niet schrijven naar de \"config\" directory!", - "This can usually be fixed by giving the webserver write access to the config directory" : "Dit kan hersteld worden door de webserver schrijfrechten te geven op de de config directory", + "This can usually be fixed by giving the webserver write access to the config directory" : "Dit kan hersteld worden door config map op de webserver schrijfrechten te geven", "See %s" : "Zie %s", + "This can usually be fixed by giving the webserver write access to the config directory. See %s" : "Dit kan hersteld geregeld door de config map op de webserver schrijf rechten te geven. See %s", "The files of the app %$1s were not replaced correctly. Make sure it is a version compatible with the server." : "De bestanden van de app %$1s zijn niet correct vervangen. Zorg ervoor dat hij compatible is met de server.", "Sample configuration detected" : "Voorbeeldconfiguratie gevonden", "It has been detected that the sample configuration has been copied. This can break your installation and is unsupported. Please read the documentation before performing changes on config.php" : "Blijkbaar is de voorbeeldconfiguratie gekopieerd. Dit kan je installatie beschadigen en wordt dan ook niet ondersteund. Lees de documentatie voordat je wijzigingen aan config.php doorvoert", @@ -42,6 +43,8 @@ "File name is too long" : "De bestandsnaam is te lang", "Dot files are not allowed" : "Punt bestanden zijn niet toegestaan", "Empty filename is not allowed" : "Een lege bestandsnaam is niet toegestaan", + "App \"%s\" cannot be installed because appinfo file cannot be read." : "App \"%s\" kan niet worden geïnstalleerd, omdat het appinfo bestand niet gelezen kan worden.", + "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "App \"%s\" kan niet worden geïnstalleerd, omdat deze niet compatible is met deze versie van de server.", "This is an automatically sent email, please do not reply." : "Dit is een automatisch gegenereerde e-mail, dus niet reageren.", "Help" : "Help", "Apps" : "Apps", @@ -163,8 +166,6 @@ "The username is already being used" : "De gebruikersnaam bestaat al", "User disabled" : "Gebruiker geblokkeerd", "Login canceled by app" : "Inloggen geannuleerd door app", - "App \"%s\" cannot be installed because appinfo file cannot be read." : "App \"%s\" kan niet worden geïnstalleerd, omdat het appinfo bestand niet gelezen kan worden.", - "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "App \"%s\" kan niet worden geïnstalleerd, omdat deze niet compatible is met deze versie van de server.", "No app name specified" : "Geen app naam opgegeven.", "App '%s' could not be installed!" : "App '%s' kon niet worden geïnstalleerd!", "App \"%s\" cannot be installed because the following dependencies are not fulfilled: %s" : "App \"%s\" kan niet worden geïnstalleerd, omdat de volgende afhankelijkheden niet zijn ingevuld: %s", @@ -178,7 +179,10 @@ "No database drivers (sqlite, mysql, or postgresql) installed." : "Geen database drivers (sqlite, mysql of postgres) geïnstalleerd.", "Cannot write into \"config\" directory" : "Kan niet schrijven naar de \"config\" directory", "Cannot write into \"apps\" directory" : "Kan niet schrijven naar de \"apps\" directory", + "This can usually be fixed by giving the webserver write access to the apps directory or disabling the appstore in the config file. See %s" : "Dit kan hersteld worden door de app map schrijf rechten te geven of schakel de appstore uit bij het config bestand. See %s", "Cannot create \"data\" directory" : "\"data\" map kan niet worden aangemaakt", + "This can usually be fixed by giving the webserver write access to the root directory. See %s" : "Dit kan hersteld worden door de root map schrijf rechten te geven. See %s", + "Permissions can usually be fixed by giving the webserver write access to the root directory. See %s." : "Rechten kunnen worden hersteld door de root map op de webserver schrijf toegang te geven. See %s.", "Setting locale to %s failed" : "Instellen taal op %s mislukte", "Please install one of these locales on your system and restart your webserver." : "Installeer één van de talen op je systeem en herstart je webserver.", "Please ask your server administrator to install the module." : "Vraag je beheerder om de module te installeren.", @@ -215,8 +219,8 @@ "%s via %s" : "%s via %s", "This can usually be fixed by %sgiving the webserver write access to the apps directory%s or disabling the appstore in the config file." : "Dit kan hersteld worden door de webserver schrijfrechten te %s geven op de appsdirectory %s of door de appstore te deactiveren in het configbestand.", "Cannot create \"data\" directory (%s)" : "Kan de \"data\" directory (%s) niet aanmaken", - "This can usually be fixed by <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">giving the webserver write access to the root directory</a>." : "Dit kan worden hersteld door <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\"> de webserver schrijfrechten te geven tot de hoofddirectory</a>.", - "Permissions can usually be fixed by %sgiving the webserver write access to the root directory%s." : "Dit kan hersteld worden door de webserver schrijfrechten te %s geven op de hoofddirectory %s.", + "This can usually be fixed by <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">giving the webserver write access to the root directory</a>." : "Dit kan hersteld worden door <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\"> de webserver schrijfrechten te geven tot de hoofddirectory</a>.", + "Permissions can usually be fixed by %sgiving the webserver write access to the root directory%s." : "Dit kan hersteld worden door 1%s in de hoofd directory 1%s op de webserver schrijfrechten te geven.", "Data directory (%s) is readable by other users" : "De datadirectory (%s) is leesbaar voor andere gebruikers", "Data directory (%s) must be an absolute path" : "De datadirectory (%s) moet een absoluut pad hebben", "Data directory (%s) is invalid" : "Data directory (%s) is ongeldig" diff --git a/lib/l10n/pl.js b/lib/l10n/pl.js index 231194748e1..d3a3f1d8922 100644 --- a/lib/l10n/pl.js +++ b/lib/l10n/pl.js @@ -4,6 +4,7 @@ OC.L10N.register( "Cannot write into \"config\" directory!" : "Nie można zapisać do katalogu \"config\"!", "This can usually be fixed by giving the webserver write access to the config directory" : "Można to zwykle rozwiązać przez dodanie serwerowi www uprawnień zapisu do katalogu config.", "See %s" : "Zobacz %s", + "This can usually be fixed by giving the webserver write access to the config directory. See %s" : "Zwykle można to rozwiązać nadając serwerowi www uprawnienia do zapisu w katalogu konfiguracji. Zobacz %s", "The files of the app %$1s were not replaced correctly. Make sure it is a version compatible with the server." : "Pliki aplikacji %1$s nie zostały zastąpione prawidłowo. Upewnij się, że to jest wersja kompatybilna z serwerem.", "Sample configuration detected" : "Wykryto przykładową konfigurację", "It has been detected that the sample configuration has been copied. This can break your installation and is unsupported. Please read the documentation before performing changes on config.php" : "Wykryto skopiowanie przykładowej konfiguracji. To może popsuć Twoją instalację i nie jest wspierane. Proszę przeczytać dokumentację przed dokonywaniem zmian w config.php", @@ -44,6 +45,8 @@ OC.L10N.register( "File name is too long" : "Nazwa pliku zbyt długa", "Dot files are not allowed" : "Pliki z kropką są nie dozwolone", "Empty filename is not allowed" : "Pusta nazwa nie jest dozwolona.", + "App \"%s\" cannot be installed because appinfo file cannot be read." : "Aplikacja \"%s\" nie może zostać zainstalowana, ponieważ plik informacyjny nie może zostać odczytany.", + "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "Aplikacja \"%s\" nie może zostać zainstalowana, ponieważ jest niekompatybilna z obecną wersją serwera.", "This is an automatically sent email, please do not reply." : "To jest automatycznie wysłany e-mail, proszę nie odpowiadać na niego.", "Help" : "Pomoc", "Apps" : "Aplikacje", @@ -165,8 +168,6 @@ OC.L10N.register( "The username is already being used" : "Ta nazwa użytkownika jest już używana", "User disabled" : "Użytkownik zablokowany", "Login canceled by app" : "Zalogowanie anulowane przez aplikację", - "App \"%s\" cannot be installed because appinfo file cannot be read." : "Aplikacja \"%s\" nie może zostać zainstalowana, ponieważ plik informacyjny nie może zostać odczytany.", - "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "Aplikacja \"%s\" nie może zostać zainstalowana, ponieważ jest niekompatybilna z obecną wersją serwera.", "No app name specified" : "Nie określono nazwy aplikacji", "App '%s' could not be installed!" : "Aplikacja '%s' nie mogła zostać zainstalowana!", "App \"%s\" cannot be installed because the following dependencies are not fulfilled: %s" : "Aplikacja \"%s\" nie może zostać zainstalowana, ponieważ następujące zależności nie zostały spełnione: %s", diff --git a/lib/l10n/pl.json b/lib/l10n/pl.json index 44c1d7f57f2..1cfbf84a59e 100644 --- a/lib/l10n/pl.json +++ b/lib/l10n/pl.json @@ -2,6 +2,7 @@ "Cannot write into \"config\" directory!" : "Nie można zapisać do katalogu \"config\"!", "This can usually be fixed by giving the webserver write access to the config directory" : "Można to zwykle rozwiązać przez dodanie serwerowi www uprawnień zapisu do katalogu config.", "See %s" : "Zobacz %s", + "This can usually be fixed by giving the webserver write access to the config directory. See %s" : "Zwykle można to rozwiązać nadając serwerowi www uprawnienia do zapisu w katalogu konfiguracji. Zobacz %s", "The files of the app %$1s were not replaced correctly. Make sure it is a version compatible with the server." : "Pliki aplikacji %1$s nie zostały zastąpione prawidłowo. Upewnij się, że to jest wersja kompatybilna z serwerem.", "Sample configuration detected" : "Wykryto przykładową konfigurację", "It has been detected that the sample configuration has been copied. This can break your installation and is unsupported. Please read the documentation before performing changes on config.php" : "Wykryto skopiowanie przykładowej konfiguracji. To może popsuć Twoją instalację i nie jest wspierane. Proszę przeczytać dokumentację przed dokonywaniem zmian w config.php", @@ -42,6 +43,8 @@ "File name is too long" : "Nazwa pliku zbyt długa", "Dot files are not allowed" : "Pliki z kropką są nie dozwolone", "Empty filename is not allowed" : "Pusta nazwa nie jest dozwolona.", + "App \"%s\" cannot be installed because appinfo file cannot be read." : "Aplikacja \"%s\" nie może zostać zainstalowana, ponieważ plik informacyjny nie może zostać odczytany.", + "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "Aplikacja \"%s\" nie może zostać zainstalowana, ponieważ jest niekompatybilna z obecną wersją serwera.", "This is an automatically sent email, please do not reply." : "To jest automatycznie wysłany e-mail, proszę nie odpowiadać na niego.", "Help" : "Pomoc", "Apps" : "Aplikacje", @@ -163,8 +166,6 @@ "The username is already being used" : "Ta nazwa użytkownika jest już używana", "User disabled" : "Użytkownik zablokowany", "Login canceled by app" : "Zalogowanie anulowane przez aplikację", - "App \"%s\" cannot be installed because appinfo file cannot be read." : "Aplikacja \"%s\" nie może zostać zainstalowana, ponieważ plik informacyjny nie może zostać odczytany.", - "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "Aplikacja \"%s\" nie może zostać zainstalowana, ponieważ jest niekompatybilna z obecną wersją serwera.", "No app name specified" : "Nie określono nazwy aplikacji", "App '%s' could not be installed!" : "Aplikacja '%s' nie mogła zostać zainstalowana!", "App \"%s\" cannot be installed because the following dependencies are not fulfilled: %s" : "Aplikacja \"%s\" nie może zostać zainstalowana, ponieważ następujące zależności nie zostały spełnione: %s", diff --git a/lib/l10n/pt_BR.js b/lib/l10n/pt_BR.js index 0bd92e97d21..d13d0bc1f9a 100644 --- a/lib/l10n/pt_BR.js +++ b/lib/l10n/pt_BR.js @@ -4,6 +4,7 @@ OC.L10N.register( "Cannot write into \"config\" directory!" : "Não foi possível gravar no diretório \"config\"!", "This can usually be fixed by giving the webserver write access to the config directory" : "Isso geralmente pode ser corrigido dando o acesso de gravação ao webserver para o diretório de configuração", "See %s" : "Ver %s", + "This can usually be fixed by giving the webserver write access to the config directory. See %s" : "Normalmente isso pode ser resolvido dando ao webserver permissão de escrita no diretório config. Veja %s", "The files of the app %$1s were not replaced correctly. Make sure it is a version compatible with the server." : "Os arquivos do aplicativo %$1s não foram substituídos corretamente. Certifique-se de que é uma versão compatível com o servidor.", "Sample configuration detected" : "Configuração de exemplo detectada", "It has been detected that the sample configuration has been copied. This can break your installation and is unsupported. Please read the documentation before performing changes on config.php" : "Foi detectado que a configuração de exemplo foi copiada. Isso pode desestabilizar sua instalação e não é suportado. Por favor leia a documentação antes de realizar mudanças no config.php", @@ -44,6 +45,8 @@ OC.L10N.register( "File name is too long" : "O nome do arquivo é muito longo", "Dot files are not allowed" : "Arquivos Dot não são permitidos", "Empty filename is not allowed" : "Nome vazio para arquivo não é permitido.", + "App \"%s\" cannot be installed because appinfo file cannot be read." : "O aplicativo \"%s\" não pode ser instalado pois o arquivo appinfo não pôde ser lido.", + "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "O aplicativo \"%s\" não pode ser instalado pois não é compatível com a versão do servidor.", "This is an automatically sent email, please do not reply." : "Este é um e-mail enviado automaticamente. Por favor, não responda.", "Help" : "Ajuda", "Apps" : "Aplicativos", @@ -165,8 +168,6 @@ OC.L10N.register( "The username is already being used" : "Este nome de usuário já está em uso", "User disabled" : "Usuário desativado", "Login canceled by app" : "Login cancelado pelo aplicativo", - "App \"%s\" cannot be installed because appinfo file cannot be read." : "O aplicativo \"%s\" não pode ser instalado pois o arquivo appinfo não pôde ser lido.", - "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "O aplicativo \"%s\" não pode ser instalado pois não é compatível com a versão do servidor.", "No app name specified" : "O nome do aplicativo não foi especificado.", "App '%s' could not be installed!" : "O aplicativo '%s' não pôde ser instalado!", "App \"%s\" cannot be installed because the following dependencies are not fulfilled: %s" : "O aplicativo \"%s\" não pode ser instalado pois as seguintes dependências não foram cumpridas: %s", @@ -180,7 +181,10 @@ OC.L10N.register( "No database drivers (sqlite, mysql, or postgresql) installed." : "Nenhum driver de banco de dados (sqlite, mysql ou postgresql) instalado.", "Cannot write into \"config\" directory" : "Não foi possível gravar no diretório \"config\"", "Cannot write into \"apps\" directory" : "Não foi possível gravar no diretório \"apps\"", + "This can usually be fixed by giving the webserver write access to the apps directory or disabling the appstore in the config file. See %s" : "Normalmente isso pode ser resolvido dando ao webserver permissão de escrita no diretório apps ou desabilitando a appstore no arquivo de configuração. Veja %s", "Cannot create \"data\" directory" : "Não foi possível criar o diretório de dados", + "This can usually be fixed by giving the webserver write access to the root directory. See %s" : "Normalmente isso pode ser resolvido dando ao webserver permissão de escrita no diretório raiz. Veja %s", + "Permissions can usually be fixed by giving the webserver write access to the root directory. See %s." : "As permissões normalmente podem ser corrigidas dando permissão de escrita do diretório raiz para o servidor web. Veja %s.", "Setting locale to %s failed" : "Falha ao configurar localização para %s", "Please install one of these locales on your system and restart your webserver." : "Por favor, defina uma dessas localizações em seu sistema e reinicie o seu servidor web.", "Please ask your server administrator to install the module." : "Por favor, peça ao administrador do servidor para instalar o módulo.", diff --git a/lib/l10n/pt_BR.json b/lib/l10n/pt_BR.json index 51ef8a6a778..4b52bcdeb20 100644 --- a/lib/l10n/pt_BR.json +++ b/lib/l10n/pt_BR.json @@ -2,6 +2,7 @@ "Cannot write into \"config\" directory!" : "Não foi possível gravar no diretório \"config\"!", "This can usually be fixed by giving the webserver write access to the config directory" : "Isso geralmente pode ser corrigido dando o acesso de gravação ao webserver para o diretório de configuração", "See %s" : "Ver %s", + "This can usually be fixed by giving the webserver write access to the config directory. See %s" : "Normalmente isso pode ser resolvido dando ao webserver permissão de escrita no diretório config. Veja %s", "The files of the app %$1s were not replaced correctly. Make sure it is a version compatible with the server." : "Os arquivos do aplicativo %$1s não foram substituídos corretamente. Certifique-se de que é uma versão compatível com o servidor.", "Sample configuration detected" : "Configuração de exemplo detectada", "It has been detected that the sample configuration has been copied. This can break your installation and is unsupported. Please read the documentation before performing changes on config.php" : "Foi detectado que a configuração de exemplo foi copiada. Isso pode desestabilizar sua instalação e não é suportado. Por favor leia a documentação antes de realizar mudanças no config.php", @@ -42,6 +43,8 @@ "File name is too long" : "O nome do arquivo é muito longo", "Dot files are not allowed" : "Arquivos Dot não são permitidos", "Empty filename is not allowed" : "Nome vazio para arquivo não é permitido.", + "App \"%s\" cannot be installed because appinfo file cannot be read." : "O aplicativo \"%s\" não pode ser instalado pois o arquivo appinfo não pôde ser lido.", + "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "O aplicativo \"%s\" não pode ser instalado pois não é compatível com a versão do servidor.", "This is an automatically sent email, please do not reply." : "Este é um e-mail enviado automaticamente. Por favor, não responda.", "Help" : "Ajuda", "Apps" : "Aplicativos", @@ -163,8 +166,6 @@ "The username is already being used" : "Este nome de usuário já está em uso", "User disabled" : "Usuário desativado", "Login canceled by app" : "Login cancelado pelo aplicativo", - "App \"%s\" cannot be installed because appinfo file cannot be read." : "O aplicativo \"%s\" não pode ser instalado pois o arquivo appinfo não pôde ser lido.", - "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "O aplicativo \"%s\" não pode ser instalado pois não é compatível com a versão do servidor.", "No app name specified" : "O nome do aplicativo não foi especificado.", "App '%s' could not be installed!" : "O aplicativo '%s' não pôde ser instalado!", "App \"%s\" cannot be installed because the following dependencies are not fulfilled: %s" : "O aplicativo \"%s\" não pode ser instalado pois as seguintes dependências não foram cumpridas: %s", @@ -178,7 +179,10 @@ "No database drivers (sqlite, mysql, or postgresql) installed." : "Nenhum driver de banco de dados (sqlite, mysql ou postgresql) instalado.", "Cannot write into \"config\" directory" : "Não foi possível gravar no diretório \"config\"", "Cannot write into \"apps\" directory" : "Não foi possível gravar no diretório \"apps\"", + "This can usually be fixed by giving the webserver write access to the apps directory or disabling the appstore in the config file. See %s" : "Normalmente isso pode ser resolvido dando ao webserver permissão de escrita no diretório apps ou desabilitando a appstore no arquivo de configuração. Veja %s", "Cannot create \"data\" directory" : "Não foi possível criar o diretório de dados", + "This can usually be fixed by giving the webserver write access to the root directory. See %s" : "Normalmente isso pode ser resolvido dando ao webserver permissão de escrita no diretório raiz. Veja %s", + "Permissions can usually be fixed by giving the webserver write access to the root directory. See %s." : "As permissões normalmente podem ser corrigidas dando permissão de escrita do diretório raiz para o servidor web. Veja %s.", "Setting locale to %s failed" : "Falha ao configurar localização para %s", "Please install one of these locales on your system and restart your webserver." : "Por favor, defina uma dessas localizações em seu sistema e reinicie o seu servidor web.", "Please ask your server administrator to install the module." : "Por favor, peça ao administrador do servidor para instalar o módulo.", diff --git a/lib/l10n/ru.js b/lib/l10n/ru.js index 4e498aaddb4..e05f6ac024f 100644 --- a/lib/l10n/ru.js +++ b/lib/l10n/ru.js @@ -1,9 +1,10 @@ OC.L10N.register( "lib", { - "Cannot write into \"config\" directory!" : "Запись в каталог \"config\" невозможна!", + "Cannot write into \"config\" directory!" : "Запись в каталог «config» невозможна!", "This can usually be fixed by giving the webserver write access to the config directory" : "Обычно это можно исправить, предоставив веб-серверу права на запись в каталог конфигурации", "See %s" : "Смотрите %s", + "This can usually be fixed by giving the webserver write access to the config directory. See %s" : "Обычно это можно исправить, предоставив веб-серверу права на запись в каталог конфигурации. Смотрите %s", "The files of the app %$1s were not replaced correctly. Make sure it is a version compatible with the server." : "Файлы приложения %$1s не заменены корректно. Проверьте что его версия совместима с версией сервера.", "Sample configuration detected" : "Обнаружена конфигурация из примера", "It has been detected that the sample configuration has been copied. This can break your installation and is unsupported. Please read the documentation before performing changes on config.php" : "Была обнаружена конфигурация из примера. Такая конфигурация не поддерживается и может повредить вашей системе. Прочтите документацию перед внесением изменений в файл config.php", @@ -44,6 +45,8 @@ OC.L10N.register( "File name is too long" : "Имя файла слишком длинное.", "Dot files are not allowed" : "Файлы начинающиеся с точки не допускаются", "Empty filename is not allowed" : "Пустое имя файла не допускается", + "App \"%s\" cannot be installed because appinfo file cannot be read." : "Приложение «%s» не может быть установлено, так как файл с информацией о приложении не может быть прочтен.", + "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "Приложение «%s» не может быть установлено, потому что оно несовместимо с этой версией сервера", "This is an automatically sent email, please do not reply." : "Это соощение отправлено автоматически, пожалуйста, не отвечайте на него.", "Help" : "Помощь", "Apps" : "Приложения", @@ -65,10 +68,10 @@ OC.L10N.register( "%s you may not use dots in the database name" : "%s Вы не можете использовать точки в имени базы данных", "Oracle connection could not be established" : "Соединение с Oracle не может быть установлено", "Oracle username and/or password not valid" : "Неверное имя пользователя и/или пароль Oracle", - "DB Error: \"%s\"" : "Ошибка БД: \"%s\"", - "Offending command was: \"%s\"" : "Вызываемая команда была: \"%s\"", + "DB Error: \"%s\"" : "Ошибка БД: «%s»", + "Offending command was: \"%s\"" : "Вызываемая команда была: «%s»", "You need to enter details of an existing account." : "Необходимо уточнить данные существующего акаунта.", - "Offending command was: \"%s\", name: %s, password: %s" : "Вызываемая команда была: \"%s\", имя: %s, пароль: %s", + "Offending command was: \"%s\", name: %s, password: %s" : "Вызываемая команда была: «%s», имя: %s, пароль: %s", "PostgreSQL username and/or password not valid" : "Неверное имя пользователя и/или пароль PostgreSQL", "Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk! " : "Mac OS X не поддерживается и %s может работать некорректно на данной платформе. Используйте на свой страх и риск!", "For the best results, please consider using a GNU/Linux server instead." : "Для достижения наилучших результатов, рассмотрите вариант использования сервера на GNU/Linux.", @@ -111,7 +114,7 @@ OC.L10N.register( "Files can't be shared with create permissions" : "Файлы не могут иметь общий доступ с правами на создание", "Expiration date is in the past" : "Дата окончания срока действия уже прошла", "Cannot set expiration date more than %s days in the future" : "Невозможно установить дату окончания срока действия более %s дней", - "Could not find category \"%s\"" : "Категория \"%s\" не найдена", + "Could not find category \"%s\"" : "Категория «%s» не найдена", "Sunday" : "Воскресенье", "Monday" : "Понедельник", "Tuesday" : "Вторник", @@ -157,7 +160,7 @@ OC.L10N.register( "Oct." : "Окт.", "Nov." : "Нояб.", "Dec." : "Дек.", - "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "В составе имени пользователя допускаются следующие символы: \"a-z\", \"A-Z\", \"0-9\" и \"_.@-'\"", + "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "В составе имени пользователя допускаются следующие символы: «a–z», «A–Z», «0–9» и «_.@-'»", "A valid username must be provided" : "Укажите допустимое имя пользователя", "Username contains whitespace at the beginning or at the end" : "Имя пользователя содержит пробел в начале или в конце", "Username must not consist of dots only" : "Имя пользователя должно состоять не только из точек", @@ -165,11 +168,9 @@ OC.L10N.register( "The username is already being used" : "Имя пользователя уже используется", "User disabled" : "Пользователь отключен", "Login canceled by app" : "Вход отменен приложением", - "App \"%s\" cannot be installed because appinfo file cannot be read." : "Приложение \"%s\" не может быть установлено, так как файл с информацией о приложении не может быть прочтен.", - "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "Приложение \"%s\" не может быть установлено, потому что оно несовместимо с этой версией сервера", "No app name specified" : "Не указано имя приложения", "App '%s' could not be installed!" : "Приложение '%s' не может быть установлено!", - "App \"%s\" cannot be installed because the following dependencies are not fulfilled: %s" : "Приложение \"%s\" не может быть установлено, так как следующие зависимости не выполнены: %s", + "App \"%s\" cannot be installed because the following dependencies are not fulfilled: %s" : "Приложение «%s» не может быть установлено, так как следующие зависимости не выполнены: %s", "a safe home for all your data" : "надежный дом для всех ваших данных", "File is currently busy, please try again later" : "Файл в данный момент используется, повторите попытку позже.", "Can't read file" : "Не удается прочитать файл", @@ -178,16 +179,19 @@ OC.L10N.register( "Token expired. Please reload page." : "Токен просрочен. Перезагрузите страницу.", "Unknown user" : "Неизвестный пользователь", "No database drivers (sqlite, mysql, or postgresql) installed." : "Не установлены драйвера баз данных (sqlite, mysql или postgresql)", - "Cannot write into \"config\" directory" : "Запись в каталог \"config\" невозможна", - "Cannot write into \"apps\" directory" : "Запись в каталог \"app\" невозможна", + "Cannot write into \"config\" directory" : "Запись в каталог «config» невозможна", + "Cannot write into \"apps\" directory" : "Запись в каталог «app» невозможна", + "This can usually be fixed by giving the webserver write access to the apps directory or disabling the appstore in the config file. See %s" : "Обычно это можно исправить, предоставив веб-серверу права на запись в каталог приложений или отключив магазин приложений в файле конфигурации. Смотрите %s", "Cannot create \"data\" directory" : "Невозможно создать каталог «data»", + "This can usually be fixed by giving the webserver write access to the root directory. See %s" : "Обычно это можно исправить, предоставив веб-серверу права на запись в корневой каталог. Смотрите %s", + "Permissions can usually be fixed by giving the webserver write access to the root directory. See %s." : "Разрешения обычно можно исправить, предоставив веб-серверу право на запись в корневой каталог. Смотрите %s.", "Setting locale to %s failed" : "Установка локали %s не удалась", "Please install one of these locales on your system and restart your webserver." : "Установите один из этих языковых пакетов на вашу систему и перезапустите веб-сервер.", "Please ask your server administrator to install the module." : "Пожалуйста, попростите администратора сервера установить модуль.", "PHP module %s not installed." : "Не установлен PHP-модуль %s.", - "PHP setting \"%s\" is not set to \"%s\"." : "Параметр PHP \"%s\" не установлен в \"%s\".", + "PHP setting \"%s\" is not set to \"%s\"." : "Параметру PHP «%s» не присвоено значение «%s».", "Adjusting this setting in php.ini will make Nextcloud run again" : "Настройка этого параметра в php.ini поможет Nextcloud работать снова", - "mbstring.func_overload is set to \"%s\" instead of the expected value \"0\"" : "mbstring.func_overload установлен в \"%s\", при этом требуется \"0\"", + "mbstring.func_overload is set to \"%s\" instead of the expected value \"0\"" : "mbstring.func_overload установлен в «%s», при этом требуется «0»", "To fix this issue set <code>mbstring.func_overload</code> to <code>0</code> in your php.ini" : "Чтобы исправить эту проблему установите параметр <code>mbstring.func_overload</code> в значение <code>0</code> в php.ini", "libxml2 2.7.0 is at least required. Currently %s is installed." : "Требуется как минимум libxml2 версии 2.7.0. На данный момент установлена %s.", "To fix this issue update your libxml2 version and restart your web server." : "Для исправления этой ошибки обновите версию libxml2 и перезапустите ваш веб-сервер.", @@ -200,10 +204,10 @@ OC.L10N.register( "Please change the permissions to 0770 so that the directory cannot be listed by other users." : "Измените права доступа на 0770, чтобы другие пользователи не могли получить список файлов этого каталога.", "Your data directory is readable by other users" : "Каталог данных доступен для чтения другим пользователям", "Your data directory must be an absolute path" : "Каталог данных должен быть указан в виде абсолютного пути", - "Check the value of \"datadirectory\" in your configuration" : "Проверьте значение \"datadirectory\" в настройках.", + "Check the value of \"datadirectory\" in your configuration" : "Проверьте значение «datadirectory» в настройках.", "Your data directory is invalid" : "Каталог данных не верен", - "Please check that the data directory contains a file \".ocdata\" in its root." : "Убедитесь, что файл \".ocdata\" присутствует в корне каталога данных.", - "Could not obtain lock type %d on \"%s\"." : "Не удалось получить блокировку типа %d для \"%s\"", + "Please check that the data directory contains a file \".ocdata\" in its root." : "Убедитесь, что файл «.ocdata» присутствует в корне каталога данных.", + "Could not obtain lock type %d on \"%s\"." : "Не удалось получить блокировку типа %d для «%s»", "Storage unauthorized. %s" : "Хранилище неавторизовано. %s", "Storage incomplete configuration. %s" : "Неполная конфигурация хранилища. %s", "Storage connection error. %s" : "Ошибка подключения к хранилищу. %s", @@ -216,7 +220,7 @@ OC.L10N.register( "%s shared »%s« with you" : "%s поделился »%s« с вами", "%s via %s" : "%s через %s", "This can usually be fixed by %sgiving the webserver write access to the apps directory%s or disabling the appstore in the config file." : "Обычно это можно исправить, %sпредоставив веб-серверу права на запись в каталог приложений%s или отключив магазин приложений в файле конфигурации.", - "Cannot create \"data\" directory (%s)" : "Невозможно создать каталог \"data\" (%s)", + "Cannot create \"data\" directory (%s)" : "Невозможно создать каталог «data» (%s)", "This can usually be fixed by <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">giving the webserver write access to the root directory</a>." : "Обычно это можно исправить <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">предоставив веб-серверу права на запись в корневом каталоге</a>.", "Permissions can usually be fixed by %sgiving the webserver write access to the root directory%s." : "Обычно это можно исправить, %sпредоставив веб-серверу права на запись в корневой каталог%s.", "Data directory (%s) is readable by other users" : "Каталог данных (%s) доступен для чтения другим пользователям", diff --git a/lib/l10n/ru.json b/lib/l10n/ru.json index 1d0b03e81ce..c6e0ba8c08a 100644 --- a/lib/l10n/ru.json +++ b/lib/l10n/ru.json @@ -1,7 +1,8 @@ { "translations": { - "Cannot write into \"config\" directory!" : "Запись в каталог \"config\" невозможна!", + "Cannot write into \"config\" directory!" : "Запись в каталог «config» невозможна!", "This can usually be fixed by giving the webserver write access to the config directory" : "Обычно это можно исправить, предоставив веб-серверу права на запись в каталог конфигурации", "See %s" : "Смотрите %s", + "This can usually be fixed by giving the webserver write access to the config directory. See %s" : "Обычно это можно исправить, предоставив веб-серверу права на запись в каталог конфигурации. Смотрите %s", "The files of the app %$1s were not replaced correctly. Make sure it is a version compatible with the server." : "Файлы приложения %$1s не заменены корректно. Проверьте что его версия совместима с версией сервера.", "Sample configuration detected" : "Обнаружена конфигурация из примера", "It has been detected that the sample configuration has been copied. This can break your installation and is unsupported. Please read the documentation before performing changes on config.php" : "Была обнаружена конфигурация из примера. Такая конфигурация не поддерживается и может повредить вашей системе. Прочтите документацию перед внесением изменений в файл config.php", @@ -42,6 +43,8 @@ "File name is too long" : "Имя файла слишком длинное.", "Dot files are not allowed" : "Файлы начинающиеся с точки не допускаются", "Empty filename is not allowed" : "Пустое имя файла не допускается", + "App \"%s\" cannot be installed because appinfo file cannot be read." : "Приложение «%s» не может быть установлено, так как файл с информацией о приложении не может быть прочтен.", + "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "Приложение «%s» не может быть установлено, потому что оно несовместимо с этой версией сервера", "This is an automatically sent email, please do not reply." : "Это соощение отправлено автоматически, пожалуйста, не отвечайте на него.", "Help" : "Помощь", "Apps" : "Приложения", @@ -63,10 +66,10 @@ "%s you may not use dots in the database name" : "%s Вы не можете использовать точки в имени базы данных", "Oracle connection could not be established" : "Соединение с Oracle не может быть установлено", "Oracle username and/or password not valid" : "Неверное имя пользователя и/или пароль Oracle", - "DB Error: \"%s\"" : "Ошибка БД: \"%s\"", - "Offending command was: \"%s\"" : "Вызываемая команда была: \"%s\"", + "DB Error: \"%s\"" : "Ошибка БД: «%s»", + "Offending command was: \"%s\"" : "Вызываемая команда была: «%s»", "You need to enter details of an existing account." : "Необходимо уточнить данные существующего акаунта.", - "Offending command was: \"%s\", name: %s, password: %s" : "Вызываемая команда была: \"%s\", имя: %s, пароль: %s", + "Offending command was: \"%s\", name: %s, password: %s" : "Вызываемая команда была: «%s», имя: %s, пароль: %s", "PostgreSQL username and/or password not valid" : "Неверное имя пользователя и/или пароль PostgreSQL", "Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk! " : "Mac OS X не поддерживается и %s может работать некорректно на данной платформе. Используйте на свой страх и риск!", "For the best results, please consider using a GNU/Linux server instead." : "Для достижения наилучших результатов, рассмотрите вариант использования сервера на GNU/Linux.", @@ -109,7 +112,7 @@ "Files can't be shared with create permissions" : "Файлы не могут иметь общий доступ с правами на создание", "Expiration date is in the past" : "Дата окончания срока действия уже прошла", "Cannot set expiration date more than %s days in the future" : "Невозможно установить дату окончания срока действия более %s дней", - "Could not find category \"%s\"" : "Категория \"%s\" не найдена", + "Could not find category \"%s\"" : "Категория «%s» не найдена", "Sunday" : "Воскресенье", "Monday" : "Понедельник", "Tuesday" : "Вторник", @@ -155,7 +158,7 @@ "Oct." : "Окт.", "Nov." : "Нояб.", "Dec." : "Дек.", - "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "В составе имени пользователя допускаются следующие символы: \"a-z\", \"A-Z\", \"0-9\" и \"_.@-'\"", + "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "В составе имени пользователя допускаются следующие символы: «a–z», «A–Z», «0–9» и «_.@-'»", "A valid username must be provided" : "Укажите допустимое имя пользователя", "Username contains whitespace at the beginning or at the end" : "Имя пользователя содержит пробел в начале или в конце", "Username must not consist of dots only" : "Имя пользователя должно состоять не только из точек", @@ -163,11 +166,9 @@ "The username is already being used" : "Имя пользователя уже используется", "User disabled" : "Пользователь отключен", "Login canceled by app" : "Вход отменен приложением", - "App \"%s\" cannot be installed because appinfo file cannot be read." : "Приложение \"%s\" не может быть установлено, так как файл с информацией о приложении не может быть прочтен.", - "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "Приложение \"%s\" не может быть установлено, потому что оно несовместимо с этой версией сервера", "No app name specified" : "Не указано имя приложения", "App '%s' could not be installed!" : "Приложение '%s' не может быть установлено!", - "App \"%s\" cannot be installed because the following dependencies are not fulfilled: %s" : "Приложение \"%s\" не может быть установлено, так как следующие зависимости не выполнены: %s", + "App \"%s\" cannot be installed because the following dependencies are not fulfilled: %s" : "Приложение «%s» не может быть установлено, так как следующие зависимости не выполнены: %s", "a safe home for all your data" : "надежный дом для всех ваших данных", "File is currently busy, please try again later" : "Файл в данный момент используется, повторите попытку позже.", "Can't read file" : "Не удается прочитать файл", @@ -176,16 +177,19 @@ "Token expired. Please reload page." : "Токен просрочен. Перезагрузите страницу.", "Unknown user" : "Неизвестный пользователь", "No database drivers (sqlite, mysql, or postgresql) installed." : "Не установлены драйвера баз данных (sqlite, mysql или postgresql)", - "Cannot write into \"config\" directory" : "Запись в каталог \"config\" невозможна", - "Cannot write into \"apps\" directory" : "Запись в каталог \"app\" невозможна", + "Cannot write into \"config\" directory" : "Запись в каталог «config» невозможна", + "Cannot write into \"apps\" directory" : "Запись в каталог «app» невозможна", + "This can usually be fixed by giving the webserver write access to the apps directory or disabling the appstore in the config file. See %s" : "Обычно это можно исправить, предоставив веб-серверу права на запись в каталог приложений или отключив магазин приложений в файле конфигурации. Смотрите %s", "Cannot create \"data\" directory" : "Невозможно создать каталог «data»", + "This can usually be fixed by giving the webserver write access to the root directory. See %s" : "Обычно это можно исправить, предоставив веб-серверу права на запись в корневой каталог. Смотрите %s", + "Permissions can usually be fixed by giving the webserver write access to the root directory. See %s." : "Разрешения обычно можно исправить, предоставив веб-серверу право на запись в корневой каталог. Смотрите %s.", "Setting locale to %s failed" : "Установка локали %s не удалась", "Please install one of these locales on your system and restart your webserver." : "Установите один из этих языковых пакетов на вашу систему и перезапустите веб-сервер.", "Please ask your server administrator to install the module." : "Пожалуйста, попростите администратора сервера установить модуль.", "PHP module %s not installed." : "Не установлен PHP-модуль %s.", - "PHP setting \"%s\" is not set to \"%s\"." : "Параметр PHP \"%s\" не установлен в \"%s\".", + "PHP setting \"%s\" is not set to \"%s\"." : "Параметру PHP «%s» не присвоено значение «%s».", "Adjusting this setting in php.ini will make Nextcloud run again" : "Настройка этого параметра в php.ini поможет Nextcloud работать снова", - "mbstring.func_overload is set to \"%s\" instead of the expected value \"0\"" : "mbstring.func_overload установлен в \"%s\", при этом требуется \"0\"", + "mbstring.func_overload is set to \"%s\" instead of the expected value \"0\"" : "mbstring.func_overload установлен в «%s», при этом требуется «0»", "To fix this issue set <code>mbstring.func_overload</code> to <code>0</code> in your php.ini" : "Чтобы исправить эту проблему установите параметр <code>mbstring.func_overload</code> в значение <code>0</code> в php.ini", "libxml2 2.7.0 is at least required. Currently %s is installed." : "Требуется как минимум libxml2 версии 2.7.0. На данный момент установлена %s.", "To fix this issue update your libxml2 version and restart your web server." : "Для исправления этой ошибки обновите версию libxml2 и перезапустите ваш веб-сервер.", @@ -198,10 +202,10 @@ "Please change the permissions to 0770 so that the directory cannot be listed by other users." : "Измените права доступа на 0770, чтобы другие пользователи не могли получить список файлов этого каталога.", "Your data directory is readable by other users" : "Каталог данных доступен для чтения другим пользователям", "Your data directory must be an absolute path" : "Каталог данных должен быть указан в виде абсолютного пути", - "Check the value of \"datadirectory\" in your configuration" : "Проверьте значение \"datadirectory\" в настройках.", + "Check the value of \"datadirectory\" in your configuration" : "Проверьте значение «datadirectory» в настройках.", "Your data directory is invalid" : "Каталог данных не верен", - "Please check that the data directory contains a file \".ocdata\" in its root." : "Убедитесь, что файл \".ocdata\" присутствует в корне каталога данных.", - "Could not obtain lock type %d on \"%s\"." : "Не удалось получить блокировку типа %d для \"%s\"", + "Please check that the data directory contains a file \".ocdata\" in its root." : "Убедитесь, что файл «.ocdata» присутствует в корне каталога данных.", + "Could not obtain lock type %d on \"%s\"." : "Не удалось получить блокировку типа %d для «%s»", "Storage unauthorized. %s" : "Хранилище неавторизовано. %s", "Storage incomplete configuration. %s" : "Неполная конфигурация хранилища. %s", "Storage connection error. %s" : "Ошибка подключения к хранилищу. %s", @@ -214,7 +218,7 @@ "%s shared »%s« with you" : "%s поделился »%s« с вами", "%s via %s" : "%s через %s", "This can usually be fixed by %sgiving the webserver write access to the apps directory%s or disabling the appstore in the config file." : "Обычно это можно исправить, %sпредоставив веб-серверу права на запись в каталог приложений%s или отключив магазин приложений в файле конфигурации.", - "Cannot create \"data\" directory (%s)" : "Невозможно создать каталог \"data\" (%s)", + "Cannot create \"data\" directory (%s)" : "Невозможно создать каталог «data» (%s)", "This can usually be fixed by <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">giving the webserver write access to the root directory</a>." : "Обычно это можно исправить <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">предоставив веб-серверу права на запись в корневом каталоге</a>.", "Permissions can usually be fixed by %sgiving the webserver write access to the root directory%s." : "Обычно это можно исправить, %sпредоставив веб-серверу права на запись в корневой каталог%s.", "Data directory (%s) is readable by other users" : "Каталог данных (%s) доступен для чтения другим пользователям", diff --git a/lib/l10n/sk.js b/lib/l10n/sk.js index 90824feb8cf..9ae8ccdfc11 100644 --- a/lib/l10n/sk.js +++ b/lib/l10n/sk.js @@ -40,6 +40,8 @@ OC.L10N.register( "File name is too long" : "Meno súboru je veľmi dlhé.", "Dot files are not allowed" : "Názov súboru začínajúci bodkou nie je povolený.", "Empty filename is not allowed" : "Prázdny názov súboru nie je povolený", + "App \"%s\" cannot be installed because appinfo file cannot be read." : "Aplikáciu \"%s\" nie je možné nainštalovať, lebo nebolo možné načítať súbor s informáciami o aplikácií.", + "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "Aplikácia \"%s\" nie je kompatibilná s verziou servera, preto nemôže byť nainštalovaná.", "Help" : "Pomoc", "Apps" : "Aplikácie", "Personal" : "Osobné", @@ -151,8 +153,6 @@ OC.L10N.register( "The username is already being used" : "Meno používateľa je už použité", "User disabled" : "Používateľ zakázaný", "Login canceled by app" : "Prihlásenie bolo zrušené aplikáciou", - "App \"%s\" cannot be installed because appinfo file cannot be read." : "Aplikáciu \"%s\" nie je možné nainštalovať, lebo nebolo možné načítať súbor s informáciami o aplikácií.", - "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "Aplikácia \"%s\" nie je kompatibilná s verziou servera, preto nemôže byť nainštalovaná.", "No app name specified" : "Nešpecifikované meno aplikácie", "App '%s' could not be installed!" : "Aplikáciu '%s' nebolo možné nainštalovať!", "App \"%s\" cannot be installed because the following dependencies are not fulfilled: %s" : "Aplikáciu \"%s\" nie je možné inštalovať, pretože nie sú splnené nasledovné závislosti: %s", diff --git a/lib/l10n/sk.json b/lib/l10n/sk.json index 55ea99e8a60..fc4fd9e8327 100644 --- a/lib/l10n/sk.json +++ b/lib/l10n/sk.json @@ -38,6 +38,8 @@ "File name is too long" : "Meno súboru je veľmi dlhé.", "Dot files are not allowed" : "Názov súboru začínajúci bodkou nie je povolený.", "Empty filename is not allowed" : "Prázdny názov súboru nie je povolený", + "App \"%s\" cannot be installed because appinfo file cannot be read." : "Aplikáciu \"%s\" nie je možné nainštalovať, lebo nebolo možné načítať súbor s informáciami o aplikácií.", + "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "Aplikácia \"%s\" nie je kompatibilná s verziou servera, preto nemôže byť nainštalovaná.", "Help" : "Pomoc", "Apps" : "Aplikácie", "Personal" : "Osobné", @@ -149,8 +151,6 @@ "The username is already being used" : "Meno používateľa je už použité", "User disabled" : "Používateľ zakázaný", "Login canceled by app" : "Prihlásenie bolo zrušené aplikáciou", - "App \"%s\" cannot be installed because appinfo file cannot be read." : "Aplikáciu \"%s\" nie je možné nainštalovať, lebo nebolo možné načítať súbor s informáciami o aplikácií.", - "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "Aplikácia \"%s\" nie je kompatibilná s verziou servera, preto nemôže byť nainštalovaná.", "No app name specified" : "Nešpecifikované meno aplikácie", "App '%s' could not be installed!" : "Aplikáciu '%s' nebolo možné nainštalovať!", "App \"%s\" cannot be installed because the following dependencies are not fulfilled: %s" : "Aplikáciu \"%s\" nie je možné inštalovať, pretože nie sú splnené nasledovné závislosti: %s", diff --git a/lib/l10n/sq.js b/lib/l10n/sq.js index 53ac0f243cf..5ef61291c12 100644 --- a/lib/l10n/sq.js +++ b/lib/l10n/sq.js @@ -40,6 +40,8 @@ OC.L10N.register( "File name is too long" : "Emri i kartelës është shumë i gjatë", "Dot files are not allowed" : "Nuk lejohen kartela të fshehura", "Empty filename is not allowed" : "Nuk lejohen emra të zbrazët kartelash", + "App \"%s\" cannot be installed because appinfo file cannot be read." : "Aplikacioni \"%s\" s’mund të instalohet, ngaqë s’lexohet dot kartela appinfo.", + "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "Aplikacioni \"%s\" nuk mund të instalohet sepse nuk përputhet me këtë version të serverit.", "Help" : "Ndihmë", "Apps" : "Aplikacione", "Personal" : "Personale", @@ -155,8 +157,6 @@ OC.L10N.register( "The username is already being used" : "Emri i përdoruesit është tashmë i përdorur", "User disabled" : "Përdorues i çaktivizuar", "Login canceled by app" : "Hyrja u anulua nga aplikacioni", - "App \"%s\" cannot be installed because appinfo file cannot be read." : "Aplikacioni \"%s\" s’mund të instalohet, ngaqë s’lexohet dot kartela appinfo.", - "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "Aplikacioni \"%s\" nuk mund të instalohet sepse nuk përputhet me këtë version të serverit.", "No app name specified" : "S’u dha emër aplikacioni", "App '%s' could not be installed!" : "Aplikacioni \"%s\" nuk mund të instalohet!", "App \"%s\" cannot be installed because the following dependencies are not fulfilled: %s" : "Përditësimi \"%s\" s’instalohet dot, ngaqë s’plotësohen varësitë vijuese: %s.", diff --git a/lib/l10n/sq.json b/lib/l10n/sq.json index dbd3334ce80..b884ab5bfc3 100644 --- a/lib/l10n/sq.json +++ b/lib/l10n/sq.json @@ -38,6 +38,8 @@ "File name is too long" : "Emri i kartelës është shumë i gjatë", "Dot files are not allowed" : "Nuk lejohen kartela të fshehura", "Empty filename is not allowed" : "Nuk lejohen emra të zbrazët kartelash", + "App \"%s\" cannot be installed because appinfo file cannot be read." : "Aplikacioni \"%s\" s’mund të instalohet, ngaqë s’lexohet dot kartela appinfo.", + "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "Aplikacioni \"%s\" nuk mund të instalohet sepse nuk përputhet me këtë version të serverit.", "Help" : "Ndihmë", "Apps" : "Aplikacione", "Personal" : "Personale", @@ -153,8 +155,6 @@ "The username is already being used" : "Emri i përdoruesit është tashmë i përdorur", "User disabled" : "Përdorues i çaktivizuar", "Login canceled by app" : "Hyrja u anulua nga aplikacioni", - "App \"%s\" cannot be installed because appinfo file cannot be read." : "Aplikacioni \"%s\" s’mund të instalohet, ngaqë s’lexohet dot kartela appinfo.", - "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "Aplikacioni \"%s\" nuk mund të instalohet sepse nuk përputhet me këtë version të serverit.", "No app name specified" : "S’u dha emër aplikacioni", "App '%s' could not be installed!" : "Aplikacioni \"%s\" nuk mund të instalohet!", "App \"%s\" cannot be installed because the following dependencies are not fulfilled: %s" : "Përditësimi \"%s\" s’instalohet dot, ngaqë s’plotësohen varësitë vijuese: %s.", diff --git a/lib/l10n/sv.js b/lib/l10n/sv.js index dcbf7fb2d8c..8d4812f7617 100644 --- a/lib/l10n/sv.js +++ b/lib/l10n/sv.js @@ -40,6 +40,8 @@ OC.L10N.register( "File name is too long" : "Filnamnet är för långt", "Dot files are not allowed" : "Dot filer är inte tillåtna", "Empty filename is not allowed" : "Tomma filnamn är inte tillåtna", + "App \"%s\" cannot be installed because appinfo file cannot be read." : "Applikationen \"%s\" kan ej installeras eftersom informationen från appen ej kunde läsas.", + "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "Applikationen \"%s\" kan ej installeras eftersom den inte är kompatibel med denna serverversion.", "This is an automatically sent email, please do not reply." : "Detta är ett automatiskt skickat e-postmeddelande, svara inte på detta mejl.", "Help" : "Hjälp", "Apps" : "Applikationer", @@ -161,8 +163,6 @@ OC.L10N.register( "The username is already being used" : "Användarnamnet används redan", "User disabled" : "Användare inaktiverad", "Login canceled by app" : "Inloggningen avbruten av appen", - "App \"%s\" cannot be installed because appinfo file cannot be read." : "Applikationen \"%s\" kan ej installeras eftersom informationen från appen ej kunde läsas.", - "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "Applikationen \"%s\" kan ej installeras eftersom den inte är kompatibel med denna serverversion.", "No app name specified" : "Inget appnamn angivet", "App '%s' could not be installed!" : "Applikationen \"%s\" gick inte att installera!", "App \"%s\" cannot be installed because the following dependencies are not fulfilled: %s" : "Applikationen \"%s\" kan ej installeras eftersom följande kriterier inte är uppfyllda: %s", diff --git a/lib/l10n/sv.json b/lib/l10n/sv.json index d1f979e51da..484d81b65db 100644 --- a/lib/l10n/sv.json +++ b/lib/l10n/sv.json @@ -38,6 +38,8 @@ "File name is too long" : "Filnamnet är för långt", "Dot files are not allowed" : "Dot filer är inte tillåtna", "Empty filename is not allowed" : "Tomma filnamn är inte tillåtna", + "App \"%s\" cannot be installed because appinfo file cannot be read." : "Applikationen \"%s\" kan ej installeras eftersom informationen från appen ej kunde läsas.", + "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "Applikationen \"%s\" kan ej installeras eftersom den inte är kompatibel med denna serverversion.", "This is an automatically sent email, please do not reply." : "Detta är ett automatiskt skickat e-postmeddelande, svara inte på detta mejl.", "Help" : "Hjälp", "Apps" : "Applikationer", @@ -159,8 +161,6 @@ "The username is already being used" : "Användarnamnet används redan", "User disabled" : "Användare inaktiverad", "Login canceled by app" : "Inloggningen avbruten av appen", - "App \"%s\" cannot be installed because appinfo file cannot be read." : "Applikationen \"%s\" kan ej installeras eftersom informationen från appen ej kunde läsas.", - "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "Applikationen \"%s\" kan ej installeras eftersom den inte är kompatibel med denna serverversion.", "No app name specified" : "Inget appnamn angivet", "App '%s' could not be installed!" : "Applikationen \"%s\" gick inte att installera!", "App \"%s\" cannot be installed because the following dependencies are not fulfilled: %s" : "Applikationen \"%s\" kan ej installeras eftersom följande kriterier inte är uppfyllda: %s", diff --git a/lib/l10n/tr.js b/lib/l10n/tr.js index 54a557cb2a2..a391642129a 100644 --- a/lib/l10n/tr.js +++ b/lib/l10n/tr.js @@ -4,6 +4,7 @@ OC.L10N.register( "Cannot write into \"config\" directory!" : "\"config\" klasörüne yazılamadı!", "This can usually be fixed by giving the webserver write access to the config directory" : "Bu sorun genellikle, web sunucusuna config klasörüne yazma izni verilerek çözülebilir", "See %s" : "Şuraya bakın: %s", + "This can usually be fixed by giving the webserver write access to the config directory. See %s" : "Bu sorun genellikle, web sunucusuna config klasörüne yazma izni verilerek çözülebilir. %s bölümüne bakın", "The files of the app %$1s were not replaced correctly. Make sure it is a version compatible with the server." : "%1$s uygulamasının dosyaları doğru şekilde değiştirilmedi. Sunucu ile uyumlu dosyaların yüklü olduğundan emin olun.", "Sample configuration detected" : "Örnek yapılandırma algılandı", "It has been detected that the sample configuration has been copied. This can break your installation and is unsupported. Please read the documentation before performing changes on config.php" : "Örnek yapılandırmanın kopyalanmış olabileceği tespit edildi. Bu durum kurulumunuzu bozabilir ve desteklenmez. Lütfen config.php dosyasında değişiklik yapmadan önce belgeleri okuyun", @@ -44,6 +45,8 @@ OC.L10N.register( "File name is too long" : "Dosya adı çok uzun", "Dot files are not allowed" : "Nokta dosyalarına izin verilmiyor", "Empty filename is not allowed" : "Boş dosya adına izin verilmiyor", + "App \"%s\" cannot be installed because appinfo file cannot be read." : "appinfo dosyası okunamadığından \"%s\" uygulaması kurulamaz.", + "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "\"%s\" uygulaması sunucu sürümüyle uyumlu olmadığından kurulamaz.", "This is an automatically sent email, please do not reply." : "Bu ileti otomatik olarak gönderildiğinden lütfen yanıtlamayın.", "Help" : "Yardım", "Apps" : "Uygulamalar", @@ -65,7 +68,7 @@ OC.L10N.register( "%s you may not use dots in the database name" : "%s veritabanı adında nokta kullanamayabilirsiniz", "Oracle connection could not be established" : "Oracle bağlantısı kurulamadı", "Oracle username and/or password not valid" : "Oracle kullanıcı adı ya da parolası geçersiz", - "DB Error: \"%s\"" : "Veritabanı Hatası: \"%s\"", + "DB Error: \"%s\"" : "Veritabanı Sorunu: \"%s\"", "Offending command was: \"%s\"" : "Saldırgan komut: \"%s\"", "You need to enter details of an existing account." : "Varolan bir hesabın bilgilerini yazmalısınız.", "Offending command was: \"%s\", name: %s, password: %s" : "Saldırgan komut: \"%s\", kullanıcı adı: %s, parola: %s", @@ -165,8 +168,6 @@ OC.L10N.register( "The username is already being used" : "Bu kullanıcı adı zaten var", "User disabled" : "Kullanıcı devre dışı", "Login canceled by app" : "Oturum açma işlemi uygulama tarafından iptal edildi", - "App \"%s\" cannot be installed because appinfo file cannot be read." : "appinfo dosyası okunamadığından \"%s\" uygulaması kurulamaz.", - "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "\"%s\" uygulaması sunucu sürümüyle uyumlu olmadığından kurulamaz.", "No app name specified" : "Uygulama adı belirtilmemiş", "App '%s' could not be installed!" : "'%s' uygulaması kurulamadı!", "App \"%s\" cannot be installed because the following dependencies are not fulfilled: %s" : "\"%s\" uygulaması, şu gereklilikler sağlanmadığı için kurulamıyor: %s", @@ -174,13 +175,16 @@ OC.L10N.register( "File is currently busy, please try again later" : "Dosya şu anda meşgul, lütfen daha sonra deneyin", "Can't read file" : "Dosya okunamadı", "Application is not enabled" : "Uygulama etkinleştirilmemiş", - "Authentication error" : "Kimlik doğrulama hatası", + "Authentication error" : "Kimlik doğrulama sorunu", "Token expired. Please reload page." : "Kodun süresi dolmuş. Lütfen sayfayı yenileyin.", "Unknown user" : "Kullanıcı bilinmiyor", "No database drivers (sqlite, mysql, or postgresql) installed." : "Herhangi bir veritabanı sürücüsü (sqlite, mysql ya da postgresql) kurulmamış.", "Cannot write into \"config\" directory" : "\"config\" klasörüne yazılamıyor", "Cannot write into \"apps\" directory" : "\"apps\" klasörüne yazılamıyor", + "This can usually be fixed by giving the webserver write access to the apps directory or disabling the appstore in the config file. See %s" : "Bu sorun genellikle, web sunucusuna apps klasörüne yazma izni verilerek ya da yapılandırma dosyasından uygulama mağazası devre dışı bırakılarak çözülebilir. %s bölümüne bakın", "Cannot create \"data\" directory" : "\"data\" klasörü oluşturulamadı", + "This can usually be fixed by giving the webserver write access to the root directory. See %s" : "Bu sorun genellikle, web sunucusuna kök klasöre yazma izni verilerek çözülebilir. %s bölümüne bakın", + "Permissions can usually be fixed by giving the webserver write access to the root directory. See %s." : "İzinler genellikle, web sunucusuna kök klasöre yazma izni verilerek düzeltilebilir. %s bölümüne bakın.", "Setting locale to %s failed" : "Dil %s olarak ayarlanamadı", "Please install one of these locales on your system and restart your webserver." : "Lütfen bu dillerden birini sisteminize kurun ve web sunucunuzu yeniden başlatın.", "Please ask your server administrator to install the module." : "Lütfen modülü kurması için sunucu yöneticinizle görüşün.", diff --git a/lib/l10n/tr.json b/lib/l10n/tr.json index 4ac15a966c2..4018b19c467 100644 --- a/lib/l10n/tr.json +++ b/lib/l10n/tr.json @@ -2,6 +2,7 @@ "Cannot write into \"config\" directory!" : "\"config\" klasörüne yazılamadı!", "This can usually be fixed by giving the webserver write access to the config directory" : "Bu sorun genellikle, web sunucusuna config klasörüne yazma izni verilerek çözülebilir", "See %s" : "Şuraya bakın: %s", + "This can usually be fixed by giving the webserver write access to the config directory. See %s" : "Bu sorun genellikle, web sunucusuna config klasörüne yazma izni verilerek çözülebilir. %s bölümüne bakın", "The files of the app %$1s were not replaced correctly. Make sure it is a version compatible with the server." : "%1$s uygulamasının dosyaları doğru şekilde değiştirilmedi. Sunucu ile uyumlu dosyaların yüklü olduğundan emin olun.", "Sample configuration detected" : "Örnek yapılandırma algılandı", "It has been detected that the sample configuration has been copied. This can break your installation and is unsupported. Please read the documentation before performing changes on config.php" : "Örnek yapılandırmanın kopyalanmış olabileceği tespit edildi. Bu durum kurulumunuzu bozabilir ve desteklenmez. Lütfen config.php dosyasında değişiklik yapmadan önce belgeleri okuyun", @@ -42,6 +43,8 @@ "File name is too long" : "Dosya adı çok uzun", "Dot files are not allowed" : "Nokta dosyalarına izin verilmiyor", "Empty filename is not allowed" : "Boş dosya adına izin verilmiyor", + "App \"%s\" cannot be installed because appinfo file cannot be read." : "appinfo dosyası okunamadığından \"%s\" uygulaması kurulamaz.", + "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "\"%s\" uygulaması sunucu sürümüyle uyumlu olmadığından kurulamaz.", "This is an automatically sent email, please do not reply." : "Bu ileti otomatik olarak gönderildiğinden lütfen yanıtlamayın.", "Help" : "Yardım", "Apps" : "Uygulamalar", @@ -63,7 +66,7 @@ "%s you may not use dots in the database name" : "%s veritabanı adında nokta kullanamayabilirsiniz", "Oracle connection could not be established" : "Oracle bağlantısı kurulamadı", "Oracle username and/or password not valid" : "Oracle kullanıcı adı ya da parolası geçersiz", - "DB Error: \"%s\"" : "Veritabanı Hatası: \"%s\"", + "DB Error: \"%s\"" : "Veritabanı Sorunu: \"%s\"", "Offending command was: \"%s\"" : "Saldırgan komut: \"%s\"", "You need to enter details of an existing account." : "Varolan bir hesabın bilgilerini yazmalısınız.", "Offending command was: \"%s\", name: %s, password: %s" : "Saldırgan komut: \"%s\", kullanıcı adı: %s, parola: %s", @@ -163,8 +166,6 @@ "The username is already being used" : "Bu kullanıcı adı zaten var", "User disabled" : "Kullanıcı devre dışı", "Login canceled by app" : "Oturum açma işlemi uygulama tarafından iptal edildi", - "App \"%s\" cannot be installed because appinfo file cannot be read." : "appinfo dosyası okunamadığından \"%s\" uygulaması kurulamaz.", - "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "\"%s\" uygulaması sunucu sürümüyle uyumlu olmadığından kurulamaz.", "No app name specified" : "Uygulama adı belirtilmemiş", "App '%s' could not be installed!" : "'%s' uygulaması kurulamadı!", "App \"%s\" cannot be installed because the following dependencies are not fulfilled: %s" : "\"%s\" uygulaması, şu gereklilikler sağlanmadığı için kurulamıyor: %s", @@ -172,13 +173,16 @@ "File is currently busy, please try again later" : "Dosya şu anda meşgul, lütfen daha sonra deneyin", "Can't read file" : "Dosya okunamadı", "Application is not enabled" : "Uygulama etkinleştirilmemiş", - "Authentication error" : "Kimlik doğrulama hatası", + "Authentication error" : "Kimlik doğrulama sorunu", "Token expired. Please reload page." : "Kodun süresi dolmuş. Lütfen sayfayı yenileyin.", "Unknown user" : "Kullanıcı bilinmiyor", "No database drivers (sqlite, mysql, or postgresql) installed." : "Herhangi bir veritabanı sürücüsü (sqlite, mysql ya da postgresql) kurulmamış.", "Cannot write into \"config\" directory" : "\"config\" klasörüne yazılamıyor", "Cannot write into \"apps\" directory" : "\"apps\" klasörüne yazılamıyor", + "This can usually be fixed by giving the webserver write access to the apps directory or disabling the appstore in the config file. See %s" : "Bu sorun genellikle, web sunucusuna apps klasörüne yazma izni verilerek ya da yapılandırma dosyasından uygulama mağazası devre dışı bırakılarak çözülebilir. %s bölümüne bakın", "Cannot create \"data\" directory" : "\"data\" klasörü oluşturulamadı", + "This can usually be fixed by giving the webserver write access to the root directory. See %s" : "Bu sorun genellikle, web sunucusuna kök klasöre yazma izni verilerek çözülebilir. %s bölümüne bakın", + "Permissions can usually be fixed by giving the webserver write access to the root directory. See %s." : "İzinler genellikle, web sunucusuna kök klasöre yazma izni verilerek düzeltilebilir. %s bölümüne bakın.", "Setting locale to %s failed" : "Dil %s olarak ayarlanamadı", "Please install one of these locales on your system and restart your webserver." : "Lütfen bu dillerden birini sisteminize kurun ve web sunucunuzu yeniden başlatın.", "Please ask your server administrator to install the module." : "Lütfen modülü kurması için sunucu yöneticinizle görüşün.", diff --git a/lib/l10n/zh_CN.js b/lib/l10n/zh_CN.js index 544ae9a68cd..d4863642659 100644 --- a/lib/l10n/zh_CN.js +++ b/lib/l10n/zh_CN.js @@ -40,6 +40,9 @@ OC.L10N.register( "File name is too long" : "文件名过长", "Dot files are not allowed" : ".文件 不被允许", "Empty filename is not allowed" : "不允许使用空名称。", + "App \"%s\" cannot be installed because appinfo file cannot be read." : "无法安装应用\"%s\",因为无法读取appinfo文件.", + "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "应用程式 \"%s\" 无法安装,因为它与这个版本的服务器不兼容.", + "This is an automatically sent email, please do not reply." : "这是一个自动生成的电子邮件,请不要回复。", "Help" : "帮助", "Apps" : "应用", "Personal" : "个人", @@ -48,6 +51,7 @@ OC.L10N.register( "Admin" : "管理", "APCu" : "APCu", "Redis" : "Redis", + "Basic settings" : "基本设置", "Sharing" : "分享", "Security" : "安全", "Encryption" : "加密", @@ -61,6 +65,7 @@ OC.L10N.register( "Oracle username and/or password not valid" : "Oracle 数据库用户名和/或密码无效", "DB Error: \"%s\"" : "数据库错误:\"%s\"", "Offending command was: \"%s\"" : "冲突命令为:\"%s\"", + "You need to enter details of an existing account." : "您需要输入现有帐户的详细信息。", "Offending command was: \"%s\", name: %s, password: %s" : "冲突命令为:\"%s\",名称:%s,密码:%s", "PostgreSQL username and/or password not valid" : "PostgreSQL 数据库用户名和/或密码无效", "Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk! " : "Mac OS X 不被支持并且 %s 在这个平台上无法正常工作。请自行承担风险!", @@ -153,12 +158,11 @@ OC.L10N.register( "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "在用户名中只允许使用以下字符:“a-z”,“A-Z”,“0-9”和\"_.@-'\"", "A valid username must be provided" : "必须提供合法的用户名", "Username contains whitespace at the beginning or at the end" : "用户名在开头或结尾处包含空格", + "Username must not consist of dots only" : "用户名不能仅由点组成", "A valid password must be provided" : "必须提供合法的密码", "The username is already being used" : "用户名已被使用", "User disabled" : "用户已禁用", "Login canceled by app" : "已通过应用取消登录", - "App \"%s\" cannot be installed because appinfo file cannot be read." : "无法安装应用\"%s\",因为无法读取appinfo文件.", - "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "应用程式 \"%s\" 无法安装,因为它与这个版本的服务器不兼容.", "No app name specified" : "没有指定的 App 名称", "App '%s' could not be installed!" : "应用程序 '%s' 无法被安装!", "App \"%s\" cannot be installed because the following dependencies are not fulfilled: %s" : "应用程序 \"%s\" 无法被安装,因为为满足下列依赖关系: %s", @@ -172,6 +176,7 @@ OC.L10N.register( "No database drivers (sqlite, mysql, or postgresql) installed." : "没有安装数据库驱动 (SQLite、MySQL 或 PostgreSQL)。", "Cannot write into \"config\" directory" : "无法写入“config”目录", "Cannot write into \"apps\" directory" : "无法写入“apps”目录", + "Cannot create \"data\" directory" : "无法创建“data”目录 ", "Setting locale to %s failed" : "设置语言为 %s 失败", "Please install one of these locales on your system and restart your webserver." : "请在您的系统中安装下述一种语言并重启 Web 服务器.", "Please ask your server administrator to install the module." : "请联系服务器管理员安装模块.", @@ -189,7 +194,10 @@ OC.L10N.register( "PostgreSQL >= 9 required" : "要求 PostgreSQL >= 9", "Please upgrade your database version" : "请升级您的数据库版本", "Please change the permissions to 0770 so that the directory cannot be listed by other users." : "请更改权限为 0770 以避免其他用户查看目录.", + "Your data directory is readable by other users" : "你的数据目录可被其他用户读取", + "Your data directory must be an absolute path" : "您的数据目录必须是绝对路径", "Check the value of \"datadirectory\" in your configuration" : "请检查配置文件中 \"datadirectory\" 的值", + "Your data directory is invalid" : "您的数据目录无效", "Please check that the data directory contains a file \".ocdata\" in its root." : "请检查根目录下 data 目录中包含名为 \".ocdata\" 的文件.", "Could not obtain lock type %d on \"%s\"." : "无法在 \"%s\" 上获取锁类型 %d.", "Storage unauthorized. %s" : "存储认证失败. %s", diff --git a/lib/l10n/zh_CN.json b/lib/l10n/zh_CN.json index 53b1f0eefcc..7c4c0f6affb 100644 --- a/lib/l10n/zh_CN.json +++ b/lib/l10n/zh_CN.json @@ -38,6 +38,9 @@ "File name is too long" : "文件名过长", "Dot files are not allowed" : ".文件 不被允许", "Empty filename is not allowed" : "不允许使用空名称。", + "App \"%s\" cannot be installed because appinfo file cannot be read." : "无法安装应用\"%s\",因为无法读取appinfo文件.", + "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "应用程式 \"%s\" 无法安装,因为它与这个版本的服务器不兼容.", + "This is an automatically sent email, please do not reply." : "这是一个自动生成的电子邮件,请不要回复。", "Help" : "帮助", "Apps" : "应用", "Personal" : "个人", @@ -46,6 +49,7 @@ "Admin" : "管理", "APCu" : "APCu", "Redis" : "Redis", + "Basic settings" : "基本设置", "Sharing" : "分享", "Security" : "安全", "Encryption" : "加密", @@ -59,6 +63,7 @@ "Oracle username and/or password not valid" : "Oracle 数据库用户名和/或密码无效", "DB Error: \"%s\"" : "数据库错误:\"%s\"", "Offending command was: \"%s\"" : "冲突命令为:\"%s\"", + "You need to enter details of an existing account." : "您需要输入现有帐户的详细信息。", "Offending command was: \"%s\", name: %s, password: %s" : "冲突命令为:\"%s\",名称:%s,密码:%s", "PostgreSQL username and/or password not valid" : "PostgreSQL 数据库用户名和/或密码无效", "Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk! " : "Mac OS X 不被支持并且 %s 在这个平台上无法正常工作。请自行承担风险!", @@ -151,12 +156,11 @@ "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "在用户名中只允许使用以下字符:“a-z”,“A-Z”,“0-9”和\"_.@-'\"", "A valid username must be provided" : "必须提供合法的用户名", "Username contains whitespace at the beginning or at the end" : "用户名在开头或结尾处包含空格", + "Username must not consist of dots only" : "用户名不能仅由点组成", "A valid password must be provided" : "必须提供合法的密码", "The username is already being used" : "用户名已被使用", "User disabled" : "用户已禁用", "Login canceled by app" : "已通过应用取消登录", - "App \"%s\" cannot be installed because appinfo file cannot be read." : "无法安装应用\"%s\",因为无法读取appinfo文件.", - "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "应用程式 \"%s\" 无法安装,因为它与这个版本的服务器不兼容.", "No app name specified" : "没有指定的 App 名称", "App '%s' could not be installed!" : "应用程序 '%s' 无法被安装!", "App \"%s\" cannot be installed because the following dependencies are not fulfilled: %s" : "应用程序 \"%s\" 无法被安装,因为为满足下列依赖关系: %s", @@ -170,6 +174,7 @@ "No database drivers (sqlite, mysql, or postgresql) installed." : "没有安装数据库驱动 (SQLite、MySQL 或 PostgreSQL)。", "Cannot write into \"config\" directory" : "无法写入“config”目录", "Cannot write into \"apps\" directory" : "无法写入“apps”目录", + "Cannot create \"data\" directory" : "无法创建“data”目录 ", "Setting locale to %s failed" : "设置语言为 %s 失败", "Please install one of these locales on your system and restart your webserver." : "请在您的系统中安装下述一种语言并重启 Web 服务器.", "Please ask your server administrator to install the module." : "请联系服务器管理员安装模块.", @@ -187,7 +192,10 @@ "PostgreSQL >= 9 required" : "要求 PostgreSQL >= 9", "Please upgrade your database version" : "请升级您的数据库版本", "Please change the permissions to 0770 so that the directory cannot be listed by other users." : "请更改权限为 0770 以避免其他用户查看目录.", + "Your data directory is readable by other users" : "你的数据目录可被其他用户读取", + "Your data directory must be an absolute path" : "您的数据目录必须是绝对路径", "Check the value of \"datadirectory\" in your configuration" : "请检查配置文件中 \"datadirectory\" 的值", + "Your data directory is invalid" : "您的数据目录无效", "Please check that the data directory contains a file \".ocdata\" in its root." : "请检查根目录下 data 目录中包含名为 \".ocdata\" 的文件.", "Could not obtain lock type %d on \"%s\"." : "无法在 \"%s\" 上获取锁类型 %d.", "Storage unauthorized. %s" : "存储认证失败. %s", diff --git a/lib/l10n/zh_TW.js b/lib/l10n/zh_TW.js index 946c61f1946..68b7d363982 100644 --- a/lib/l10n/zh_TW.js +++ b/lib/l10n/zh_TW.js @@ -34,6 +34,8 @@ OC.L10N.register( "File name is too long" : "檔案名稱太長", "Dot files are not allowed" : "不允許小數點開頭的檔案", "Empty filename is not allowed" : "不允許空白的檔名", + "App \"%s\" cannot be installed because appinfo file cannot be read." : "程式\"%s\"無法安裝,因為無法讀取appinfo檔案。", + "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "程式\"%s\"無法安裝,因為伺服器版本不符。", "Help" : "說明", "Apps" : "應用程式", "Personal" : "個人", @@ -149,8 +151,6 @@ OC.L10N.register( "The username is already being used" : "這個使用者名稱已經有人使用了", "User disabled" : "使用者取消", "Login canceled by app" : "程式取消登入", - "App \"%s\" cannot be installed because appinfo file cannot be read." : "程式\"%s\"無法安裝,因為無法讀取appinfo檔案。", - "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "程式\"%s\"無法安裝,因為伺服器版本不符。", "No app name specified" : "沒有指定應用程式名稱", "App '%s' could not be installed!" : "程式\"%s\"無法安裝。", "App \"%s\" cannot be installed because the following dependencies are not fulfilled: %s" : "應用程式 \"%s\" 無法被安裝,下列的相依性並不是完整的: %s", diff --git a/lib/l10n/zh_TW.json b/lib/l10n/zh_TW.json index dc09c400af6..7411b0f410d 100644 --- a/lib/l10n/zh_TW.json +++ b/lib/l10n/zh_TW.json @@ -32,6 +32,8 @@ "File name is too long" : "檔案名稱太長", "Dot files are not allowed" : "不允許小數點開頭的檔案", "Empty filename is not allowed" : "不允許空白的檔名", + "App \"%s\" cannot be installed because appinfo file cannot be read." : "程式\"%s\"無法安裝,因為無法讀取appinfo檔案。", + "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "程式\"%s\"無法安裝,因為伺服器版本不符。", "Help" : "說明", "Apps" : "應用程式", "Personal" : "個人", @@ -147,8 +149,6 @@ "The username is already being used" : "這個使用者名稱已經有人使用了", "User disabled" : "使用者取消", "Login canceled by app" : "程式取消登入", - "App \"%s\" cannot be installed because appinfo file cannot be read." : "程式\"%s\"無法安裝,因為無法讀取appinfo檔案。", - "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "程式\"%s\"無法安裝,因為伺服器版本不符。", "No app name specified" : "沒有指定應用程式名稱", "App '%s' could not be installed!" : "程式\"%s\"無法安裝。", "App \"%s\" cannot be installed because the following dependencies are not fulfilled: %s" : "應用程式 \"%s\" 無法被安裝,下列的相依性並不是完整的: %s", diff --git a/lib/private/Accounts/AccountManager.php b/lib/private/Accounts/AccountManager.php index 41fdad148aa..7db686c33a1 100644 --- a/lib/private/Accounts/AccountManager.php +++ b/lib/private/Accounts/AccountManager.php @@ -114,6 +114,19 @@ class AccountManager { } /** + * delete user from accounts table + * + * @param IUser $user + */ + public function deleteUser(IUser $user) { + $uid = $user->getUID(); + $query = $this->connection->getQueryBuilder(); + $query->delete($this->table) + ->where($query->expr()->eq('uid', $query->createNamedParameter($uid))) + ->execute(); + } + + /** * get stored data from a given user * * @param IUser $user diff --git a/lib/private/App/AppStore/Fetcher/AppFetcher.php b/lib/private/App/AppStore/Fetcher/AppFetcher.php index e020390988e..63f63aaf695 100644 --- a/lib/private/App/AppStore/Fetcher/AppFetcher.php +++ b/lib/private/App/AppStore/Fetcher/AppFetcher.php @@ -22,27 +22,31 @@ namespace OC\App\AppStore\Fetcher; use OC\App\AppStore\Version\VersionParser; +use OC\Files\AppData\Factory; use OCP\AppFramework\Utility\ITimeFactory; -use OCP\Files\IAppData; use OCP\Http\Client\IClientService; use OCP\IConfig; +use OCP\ILogger; class AppFetcher extends Fetcher { /** - * @param IAppData $appData + * @param Factory $appDataFactory * @param IClientService $clientService * @param ITimeFactory $timeFactory - * @param IConfig $config; + * @param IConfig $config + * @param ILogger $logger */ - public function __construct(IAppData $appData, + public function __construct(Factory $appDataFactory, IClientService $clientService, ITimeFactory $timeFactory, - IConfig $config) { + IConfig $config, + ILogger $logger) { parent::__construct( - $appData, + $appDataFactory, $clientService, $timeFactory, - $config + $config, + $logger ); $this->fileName = 'apps.json'; diff --git a/lib/private/App/AppStore/Fetcher/CategoryFetcher.php b/lib/private/App/AppStore/Fetcher/CategoryFetcher.php index 8b79259a66a..8c3c963462c 100644 --- a/lib/private/App/AppStore/Fetcher/CategoryFetcher.php +++ b/lib/private/App/AppStore/Fetcher/CategoryFetcher.php @@ -21,27 +21,31 @@ namespace OC\App\AppStore\Fetcher; +use OC\Files\AppData\Factory; use OCP\AppFramework\Utility\ITimeFactory; -use OCP\Files\IAppData; use OCP\Http\Client\IClientService; use OCP\IConfig; +use OCP\ILogger; class CategoryFetcher extends Fetcher { /** - * @param IAppData $appData + * @param Factory $appDataFactory * @param IClientService $clientService * @param ITimeFactory $timeFactory * @param IConfig $config + * @param ILogger $logger */ - public function __construct(IAppData $appData, + public function __construct(Factory $appDataFactory, IClientService $clientService, ITimeFactory $timeFactory, - IConfig $config) { + IConfig $config, + ILogger $logger) { parent::__construct( - $appData, + $appDataFactory, $clientService, $timeFactory, - $config + $config, + $logger ); $this->fileName = 'categories.json'; $this->endpointUrl = 'https://apps.nextcloud.com/api/v1/categories.json'; diff --git a/lib/private/App/AppStore/Fetcher/Fetcher.php b/lib/private/App/AppStore/Fetcher/Fetcher.php index 5354d334eb1..e559cf83e6d 100644 --- a/lib/private/App/AppStore/Fetcher/Fetcher.php +++ b/lib/private/App/AppStore/Fetcher/Fetcher.php @@ -21,12 +21,15 @@ namespace OC\App\AppStore\Fetcher; +use OC\Files\AppData\Factory; +use GuzzleHttp\Exception\ConnectException; use OCP\AppFramework\Http; use OCP\AppFramework\Utility\ITimeFactory; use OCP\Files\IAppData; use OCP\Files\NotFoundException; use OCP\Http\Client\IClientService; use OCP\IConfig; +use OCP\ILogger; abstract class Fetcher { const INVALIDATE_AFTER_SECONDS = 300; @@ -39,6 +42,8 @@ abstract class Fetcher { protected $timeFactory; /** @var IConfig */ protected $config; + /** @var Ilogger */ + protected $logger; /** @var string */ protected $fileName; /** @var string */ @@ -47,19 +52,22 @@ abstract class Fetcher { protected $version; /** - * @param IAppData $appData + * @param Factory $appDataFactory * @param IClientService $clientService * @param ITimeFactory $timeFactory * @param IConfig $config + * @param ILogger $logger */ - public function __construct(IAppData $appData, + public function __construct(Factory $appDataFactory, IClientService $clientService, ITimeFactory $timeFactory, - IConfig $config) { - $this->appData = $appData; + IConfig $config, + ILogger $logger) { + $this->appData = $appDataFactory->get('appstore'); $this->clientService = $clientService; $this->timeFactory = $timeFactory; $this->config = $config; + $this->logger = $logger; } /** @@ -77,7 +85,9 @@ abstract class Fetcher { return []; } - $options = []; + $options = [ + 'timeout' => 10, + ]; if ($ETag !== '') { $options['headers'] = [ @@ -152,6 +162,9 @@ abstract class Fetcher { $responseJson = $this->fetch($ETag, $content); $file->putContent(json_encode($responseJson)); return json_decode($file->getContent(), true)['data']; + } catch (ConnectException $e) { + $this->logger->logException($e, ['app' => 'appstoreFetcher']); + return []; } catch (\Exception $e) { return []; } diff --git a/lib/private/App/CodeChecker/DatabaseSchemaChecker.php b/lib/private/App/CodeChecker/DatabaseSchemaChecker.php new file mode 100644 index 00000000000..1255dec25c1 --- /dev/null +++ b/lib/private/App/CodeChecker/DatabaseSchemaChecker.php @@ -0,0 +1,105 @@ +<?php +/** + * @copyright Copyright (c) 2017, Joas Schilling <coding@schilljs.com> + * + * @author Joas Schilling <coding@schilljs.com> + * + * @license GNU AGPL version 3 or any later version + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * + */ + +namespace OC\App\CodeChecker; + +class DatabaseSchemaChecker { + + /** + * @param string $appId + * @return array + */ + public function analyse($appId) { + $appPath = \OC_App::getAppPath($appId); + if ($appPath === false) { + throw new \RuntimeException("No app with given id <$appId> known."); + } + + if (!file_exists($appPath . '/appinfo/database.xml')) { + return ['errors' => [], 'warnings' => []]; + } + + libxml_use_internal_errors(true); + $loadEntities = libxml_disable_entity_loader(false); + $xml = simplexml_load_file($appPath . '/appinfo/database.xml'); + libxml_disable_entity_loader($loadEntities); + + + $errors = $warnings = []; + + foreach ($xml->table as $table) { + // Table names + if (strpos($table->name, '*dbprefix*') !== 0) { + $errors[] = 'Database schema error: name of table ' . $table->name . ' does not start with *dbprefix*'; + } + $tableName = substr($table->name, strlen('*dbprefix*')); + if (strpos($tableName, '*dbprefix*') !== false) { + $warnings[] = 'Database schema warning: *dbprefix* should only appear once in name of table ' . $table->name; + } + + if (strlen($tableName) > 27) { + $errors[] = 'Database schema error: Name of table ' . $table->name . ' is too long (' . strlen($tableName) . '), max. 27 characters (21 characters for tables with autoincrement) + *dbprefix* allowed'; + } + + $hasAutoIncrement = false; + + // Column names + foreach ($table->declaration->field as $column) { + if (strpos($column->name, '*dbprefix*') !== false) { + $warnings[] = 'Database schema warning: *dbprefix* should not appear in name of column ' . $column->name . ' on table ' . $table->name; + } + + if (strlen($column->name) > 30) { + $errors[] = 'Database schema error: Name of column ' . $column->name . ' on table ' . $table->name . ' is too long (' . strlen($tableName) . '), max. 30 characters allowed'; + } + + if ($column->autoincrement) { + if ($hasAutoIncrement) { + $errors[] = 'Database schema error: Table ' . $table->name . ' has multiple autoincrement columns'; + } + + if (strlen($tableName) > 21) { + $errors[] = 'Database schema error: Name of table ' . $table->name . ' is too long (' . strlen($tableName) . '), max. 27 characters (21 characters for tables with autoincrement) + *dbprefix* allowed'; + } + + $hasAutoIncrement = true; + } + } + + // Index names + foreach ($table->declaration->index as $index) { + $hasPrefix = strpos($index->name, '*dbprefix*'); + if ($hasPrefix !== false && $hasPrefix !== 0) { + $warnings[] = 'Database schema warning: *dbprefix* should only appear at the beginning in name of index ' . $index->name . ' on table ' . $table->name; + } + + $indexName = $hasPrefix === 0 ? substr($index->name, strlen('*dbprefix*')) : $index->name; + if (strlen($indexName) > 27) { + $errors[] = 'Database schema error: Name of index ' . $index->name . ' on table ' . $table->name . ' is too long (' . strlen($tableName) . '), max. 27 characters + *dbprefix* allowed'; + } + } + } + + return ['errors' => $errors, 'warnings' => $warnings]; + } +} diff --git a/lib/private/App/CodeChecker/LanguageParseChecker.php b/lib/private/App/CodeChecker/LanguageParseChecker.php new file mode 100644 index 00000000000..35354869339 --- /dev/null +++ b/lib/private/App/CodeChecker/LanguageParseChecker.php @@ -0,0 +1,60 @@ +<?php +/** + * @copyright Copyright (c) 2017, Joas Schilling <coding@schilljs.com> + * + * @author Joas Schilling <coding@schilljs.com> + * + * @license GNU AGPL version 3 or any later version + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * + */ + +namespace OC\App\CodeChecker; + +class LanguageParseChecker { + + /** + * @param string $appId + * @return array + */ + public function analyse($appId) { + $appPath = \OC_App::getAppPath($appId); + if ($appPath === false) { + throw new \RuntimeException("No app with given id <$appId> known."); + } + + if (!is_dir($appPath . '/l10n/')) { + return []; + } + + $errors = []; + $directory = new \DirectoryIterator($appPath . '/l10n/'); + + foreach ($directory as $file) { + if ($file->getExtension() !== 'json') { + continue; + } + + $content = file_get_contents($file->getPathname()); + json_decode($content, true); + + if (json_last_error() !== JSON_ERROR_NONE) { + $errors[] = 'Invalid language file found: l10n/' . $file->getFilename() . ': ' . json_last_error_msg(); + } + } + + return $errors; + } +} diff --git a/lib/private/AppFramework/DependencyInjection/DIContainer.php b/lib/private/AppFramework/DependencyInjection/DIContainer.php index 04747485c13..d24836228cc 100644 --- a/lib/private/AppFramework/DependencyInjection/DIContainer.php +++ b/lib/private/AppFramework/DependencyInjection/DIContainer.php @@ -165,7 +165,7 @@ class DIContainer extends SimpleContainer implements IAppContainer { $this->registerService(\OC\Security\IdentityProof\Manager::class, function ($c) { return new \OC\Security\IdentityProof\Manager( - $this->getServer()->getAppDataDir('identityproof'), + $this->getServer()->query(\OC\Files\AppData\Factory::class), $this->getServer()->getCrypto() ); }); diff --git a/lib/private/AppFramework/Http/Request.php b/lib/private/AppFramework/Http/Request.php index b39ae3e8c0c..09e18f74177 100644 --- a/lib/private/AppFramework/Http/Request.php +++ b/lib/private/AppFramework/Http/Request.php @@ -67,7 +67,7 @@ class Request implements \ArrayAccess, \Countable, IRequest { // Android Chrome user agent: https://developers.google.com/chrome/mobile/docs/user-agent const USER_AGENT_ANDROID_MOBILE_CHROME = '#Android.*Chrome/[.0-9]*#'; const USER_AGENT_FREEBOX = '#^Mozilla/5\.0$#'; - const REGEX_LOCALHOST = '/^(127\.0\.0\.1|localhost)$/'; + const REGEX_LOCALHOST = '/^(127\.0\.0\.1|localhost|::1)$/'; /** * @deprecated use \OCP\IRequest::USER_AGENT_CLIENT_IOS instead diff --git a/lib/private/AppFramework/Middleware/Security/SecurityMiddleware.php b/lib/private/AppFramework/Middleware/Security/SecurityMiddleware.php index e420a9dacc0..4e41c946432 100644 --- a/lib/private/AppFramework/Middleware/Security/SecurityMiddleware.php +++ b/lib/private/AppFramework/Middleware/Security/SecurityMiddleware.php @@ -246,12 +246,11 @@ class SecurityMiddleware extends Middleware { ); } else { if($exception instanceof NotLoggedInException) { - $url = $this->urlGenerator->linkToRoute( - 'core.login.showLoginForm', - [ - 'redirect_url' => $this->request->server['REQUEST_URI'], - ] - ); + $params = []; + if (isset($this->request->server['REQUEST_URI'])) { + $params['redirect_url'] = $this->request->server['REQUEST_URI']; + } + $url = $this->urlGenerator->linkToRoute('core.login.showLoginForm', $params); $response = new RedirectResponse($url); } else { $response = new TemplateResponse('core', '403', ['file' => $exception->getMessage()], 'guest'); diff --git a/lib/private/Authentication/Token/DefaultTokenMapper.php b/lib/private/Authentication/Token/DefaultTokenMapper.php index 8848cd3ec56..44bc553a92e 100644 --- a/lib/private/Authentication/Token/DefaultTokenMapper.php +++ b/lib/private/Authentication/Token/DefaultTokenMapper.php @@ -149,4 +149,16 @@ class DefaultTokenMapper extends Mapper { $qb->execute(); } + /** + * delete all auth token which belong to a specific client if the client was deleted + * + * @param string $name + */ + public function deleteByName($name) { + $qb = $this->db->getQueryBuilder(); + $qb->delete('authtoken') + ->where($qb->expr()->eq('name', $qb->createNamedParameter($name))); + $qb->execute(); + } + } diff --git a/lib/private/Files/Type/Loader.php b/lib/private/Files/Type/Loader.php index 4dd798e7b07..1ae783e8f83 100644 --- a/lib/private/Files/Type/Loader.php +++ b/lib/private/Files/Type/Loader.php @@ -154,18 +154,23 @@ class Loader implements IMimeTypeLoader { * Update filecache mimetype based on file extension * * @param string $ext file extension - * @param int $mimetypeId + * @param int $mimeTypeId * @return int number of changed rows */ - public function updateFilecache($ext, $mimetypeId) { + public function updateFilecache($ext, $mimeTypeId) { + $folderMimeTypeId = $this->getId('httpd/unix-directory'); $update = $this->dbConnection->getQueryBuilder(); $update->update('filecache') - ->set('mimetype', $update->createNamedParameter($mimetypeId)) + ->set('mimetype', $update->createNamedParameter($mimeTypeId)) ->where($update->expr()->neq( - 'mimetype', $update->createNamedParameter($mimetypeId) + 'mimetype', $update->createNamedParameter($mimeTypeId) + )) + ->andWhere($update->expr()->neq( + 'mimetype', $update->createNamedParameter($folderMimeTypeId) )) ->andWhere($update->expr()->like( - $update->createFunction('LOWER(`name`)'), $update->createNamedParameter($ext) + $update->createFunction('LOWER(' . $update->getColumnName('name') . ')'), + $update->createNamedParameter('%' . $this->dbConnection->escapeLikeParameter('.' . $ext)) )); return $update->execute(); } diff --git a/lib/private/Installer.php b/lib/private/Installer.php index 8702f264e54..35f51b19b07 100644 --- a/lib/private/Installer.php +++ b/lib/private/Installer.php @@ -98,7 +98,7 @@ class Installer { * * @param string $appId App to install * @throws \Exception - * @return integer + * @return string app ID */ public function installApp($appId) { $app = \OC_App::findAppInDirectories($appId); @@ -109,6 +109,29 @@ class Installer { $basedir = $app['path'].'/'.$appId; $info = OC_App::getAppInfo($basedir.'/appinfo/info.xml', true); + $l = \OC::$server->getL10N('core'); + + if(!is_array($info)) { + throw new \Exception( + $l->t('App "%s" cannot be installed because appinfo file cannot be read.', + [$info['name']] + ) + ); + } + + $version = \OCP\Util::getVersion(); + if (!\OC_App::isAppCompatible($version, $info)) { + throw new \Exception( + // TODO $l + $l->t('App "%s" cannot be installed because it is not compatible with this version of the server.', + [$info['name']] + ) + ); + } + + // check for required dependencies + \OC_App::checkAppDependencies($this->config, $l, $info); + //install the database if(is_file($basedir.'/appinfo/database.xml')) { if (\OC::$server->getAppConfig()->getValue($info['id'], 'installed_version') === null) { @@ -120,6 +143,9 @@ class Installer { \OC_App::registerAutoloading($appId, $basedir); \OC_App::setupBackgroundJobs($info['background-jobs']); + if(isset($info['settings']) && is_array($info['settings'])) { + \OC::$server->getSettingsManager()->setupSettings($info['settings']); + } //run appinfo/install.php if((!isset($data['noinstall']) or $data['noinstall']==false)) { diff --git a/lib/private/Memcache/Redis.php b/lib/private/Memcache/Redis.php index a154d08deca..dd7e929a828 100644 --- a/lib/private/Memcache/Redis.php +++ b/lib/private/Memcache/Redis.php @@ -79,12 +79,10 @@ class Redis extends Cache implements IMemcacheTTL { public function clear($prefix = '') { $prefix = $this->getNameSpace() . $prefix . '*'; - $it = null; - self::$cache->setOption(\Redis::OPT_SCAN, \Redis::SCAN_RETRY); - while ($keys = self::$cache->scan($it, $prefix)) { - self::$cache->del($keys); - } - return true; + $keys = self::$cache->keys($prefix); + $deleted = self::$cache->del($keys); + + return count($keys) === $deleted; } /** diff --git a/lib/private/Repair.php b/lib/private/Repair.php index 65e0342905a..4d14bf2550c 100644 --- a/lib/private/Repair.php +++ b/lib/private/Repair.php @@ -40,6 +40,7 @@ use OC\Repair\NC11\MoveAvatars; use OC\Repair\NC12\InstallCoreBundle; use OC\Repair\NC12\UpdateLanguageCodes; use OC\Repair\OldGroupMembershipShares; +use OC\Repair\Owncloud\SaveAccountsTableData; use OC\Repair\RemoveRootShares; use OC\Repair\SqliteAutoincrement; use OC\Repair\RepairMimeTypes; @@ -166,9 +167,11 @@ class Repair implements IOutput{ */ public static function getBeforeUpgradeRepairSteps() { $connection = \OC::$server->getDatabaseConnection(); + $config = \OC::$server->getConfig(); $steps = [ new Collation(\OC::$server->getConfig(), \OC::$server->getLogger(), $connection, true), new SqliteAutoincrement($connection), + new SaveAccountsTableData($connection, $config), ]; return $steps; diff --git a/lib/private/Repair/NC11/MoveAvatarsBackgroundJob.php b/lib/private/Repair/NC11/MoveAvatarsBackgroundJob.php index f8c0d9b3abf..d46b6fec8fc 100644 --- a/lib/private/Repair/NC11/MoveAvatarsBackgroundJob.php +++ b/lib/private/Repair/NC11/MoveAvatarsBackgroundJob.php @@ -28,6 +28,7 @@ use OCP\Files\Folder; use OCP\Files\IAppData; use OCP\Files\IRootFolder; use OCP\Files\NotFoundException; +use OCP\Files\SimpleFS\ISimpleFolder; use OCP\ILogger; use OCP\IUser; use OCP\IUserManager; @@ -63,8 +64,14 @@ class MoveAvatarsBackgroundJob extends QueuedJob { } private function moveAvatars() { + try { + $ownCloudAvatars = $this->rootFolder->get('avatars'); + } catch (NotFoundException $e) { + $ownCloudAvatars = null; + } + $counter = 0; - $this->userManager->callForSeenUsers(function (IUser $user) use ($counter) { + $this->userManager->callForSeenUsers(function (IUser $user) use ($counter, $ownCloudAvatars) { $uid = $user->getUID(); \OC\Files\Filesystem::initMountPoints($uid); @@ -77,26 +84,61 @@ class MoveAvatarsBackgroundJob extends QueuedJob { $userData = $this->appData->newFolder($uid); } + $foundAvatars = $this->copyAvatarsFromFolder($userFolder, $userData); - $regex = '/^avatar\.([0-9]+\.)?(jpg|png)$/'; - $avatars = $userFolder->getDirectoryListing(); - - foreach ($avatars as $avatar) { - /** @var File $avatar */ - if (preg_match($regex, $avatar->getName())) { - /* - * This is not the most effective but it is the most abstract way - * to handle this. Avatars should be small anyways. - */ - $newAvatar = $userData->newFile($avatar->getName()); - $newAvatar->putContent($avatar->getContent()); - $avatar->delete(); + // ownCloud migration? + if ($foundAvatars === 0 && $ownCloudAvatars instanceof Folder) { + $parts = $this->buildOwnCloudAvatarPath($uid); + $userOwnCloudAvatar = $ownCloudAvatars; + foreach ($parts as $part) { + try { + $userOwnCloudAvatar = $userOwnCloudAvatar->get($part); + } catch (NotFoundException $e) { + return; + } } + + $this->copyAvatarsFromFolder($userOwnCloudAvatar, $userData); } + $counter++; - if ($counter % 100) { + if ($counter % 100 === 0) { $this->logger->info('{amount} avatars migrated', ['amount' => $counter]); } }); } + + /** + * @param Folder $source + * @param ISimpleFolder $target + * @return int + * @throws \OCP\Files\NotPermittedException + * @throws NotFoundException + */ + protected function copyAvatarsFromFolder(Folder $source, ISimpleFolder $target) { + $foundAvatars = 0; + $avatars = $source->getDirectoryListing(); + $regex = '/^avatar\.([0-9]+\.)?(jpg|png)$/'; + + foreach ($avatars as $avatar) { + /** @var File $avatar */ + if (preg_match($regex, $avatar->getName())) { + /* + * This is not the most effective but it is the most abstract way + * to handle this. Avatars should be small anyways. + */ + $newAvatar = $target->newFile($avatar->getName()); + $newAvatar->putContent($avatar->getContent()); + $avatar->delete(); + $foundAvatars++; + } + } + + return $foundAvatars; + } + + protected function buildOwnCloudAvatarPath($userId) { + $avatar = substr_replace(substr_replace(md5($userId), '/', 4, 0), '/', 2, 0); + return explode('/', $avatar); + } } diff --git a/lib/private/Repair/Owncloud/SaveAccountsTableData.php b/lib/private/Repair/Owncloud/SaveAccountsTableData.php new file mode 100644 index 00000000000..35e5560856b --- /dev/null +++ b/lib/private/Repair/Owncloud/SaveAccountsTableData.php @@ -0,0 +1,176 @@ +<?php +/** + * @copyright Copyright (c) 2017 Joas Schilling <coding@schilljs.com> + * + * @author Joas Schilling <coding@schilljs.com> + * + * @license GNU AGPL version 3 or any later version + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * + */ + +namespace OC\Repair\Owncloud; + +use Doctrine\DBAL\Exception\InvalidFieldNameException; +use OCP\DB\QueryBuilder\IQueryBuilder; +use OCP\IConfig; +use OCP\IDBConnection; +use OCP\Migration\IOutput; +use OCP\Migration\IRepairStep; +use OCP\PreConditionNotMetException; + +/** + * Copies the email address from the accounts table to the preference table, + * before the data structure is changed and the information is gone + */ +class SaveAccountsTableData implements IRepairStep { + + const BATCH_SIZE = 75; + + /** @var IDBConnection */ + protected $db; + + /** @var IConfig */ + protected $config; + + /** + * @param IDBConnection $db + * @param IConfig $config + */ + public function __construct(IDBConnection $db, IConfig $config) { + $this->db = $db; + $this->config = $config; + } + + /** + * @return string + */ + public function getName() { + return 'Copy data from accounts table when migrating from ownCloud'; + } + + /** + * @param IOutput $output + */ + public function run(IOutput $output) { + if (!$this->shouldRun()) { + return; + } + + $offset = 0; + $numUsers = $this->runStep($offset); + + while ($numUsers === self::BATCH_SIZE) { + $offset += $numUsers; + $numUsers = $this->runStep($offset); + } + + // Remove the table + $this->db->dropTable('accounts'); + } + + /** + * @return bool + */ + protected function shouldRun() { + $query = $this->db->getQueryBuilder(); + $query->select('*') + ->from('accounts') + ->where($query->expr()->isNotNull('user_id')) + ->setMaxResults(1); + + try { + $query->execute(); + return true; + } catch (InvalidFieldNameException $e) { + return false; + } + } + + /** + * @param int $offset + * @return int Number of copied users + */ + protected function runStep($offset) { + $query = $this->db->getQueryBuilder(); + $query->select('*') + ->from('accounts') + ->orderBy('id') + ->setMaxResults(self::BATCH_SIZE); + + if ($offset > 0) { + $query->setFirstResult($offset); + } + + $result = $query->execute(); + + $update = $this->db->getQueryBuilder(); + $update->update('users') + ->set('displayname', $update->createParameter('displayname')) + ->where($update->expr()->eq('uid', $update->createParameter('userid'))); + + $updatedUsers = 0; + while ($row = $result->fetch()) { + try { + $this->migrateUserInfo($update, $row); + } catch (PreConditionNotMetException $e) { + // Ignore and continue + } catch (\UnexpectedValueException $e) { + // Ignore and continue + } + $updatedUsers++; + } + $result->closeCursor(); + + return $updatedUsers; + } + + /** + * @param IQueryBuilder $update + * @param array $userdata + * @throws PreConditionNotMetException + * @throws \UnexpectedValueException + */ + protected function migrateUserInfo(IQueryBuilder $update, $userdata) { + $state = (int) $userdata['state']; + if ($state === 3) { + // Deleted user, ignore + return; + } + + if ($userdata['email'] !== null) { + $this->config->setUserValue($userdata['user_id'], 'settings', 'email', $userdata['email']); + } + if ($userdata['quota'] !== null) { + $this->config->setUserValue($userdata['user_id'], 'files', 'quota', $userdata['quota']); + } + if ($userdata['last_login'] !== null) { + $this->config->setUserValue($userdata['user_id'], 'login', 'lastLogin', $userdata['last_login']); + } + if ($state === 1) { + $this->config->setUserValue($userdata['user_id'], 'core', 'enabled', 'true'); + } else if ($state === 2) { + $this->config->setUserValue($userdata['user_id'], 'core', 'enabled', 'false'); + } + + if ($userdata['display_name'] !== null) { + $update->setParameter('displayname', $userdata['display_name']) + ->setParameter('userid', $userdata['user_id']); + $update->execute(); + } + + } +} + diff --git a/lib/private/Route/Router.php b/lib/private/Route/Router.php index fd15400dad4..71aabe15c51 100644 --- a/lib/private/Route/Router.php +++ b/lib/private/Route/Router.php @@ -75,7 +75,7 @@ class Router implements IRouter { if(!(\OC::$server->getConfig()->getSystemValue('htaccess.IgnoreFrontController', false) === true || getenv('front_controller_active') === 'true')) { $baseUrl = \OC::$server->getURLGenerator()->linkTo('', 'index.php'); } - if (!\OC::$CLI) { + if (!\OC::$CLI && isset($_SERVER['REQUEST_METHOD'])) { $method = $_SERVER['REQUEST_METHOD']; } else { $method = 'GET'; diff --git a/lib/private/Security/IdentityProof/Manager.php b/lib/private/Security/IdentityProof/Manager.php index d2a9e57e338..73edac5f747 100644 --- a/lib/private/Security/IdentityProof/Manager.php +++ b/lib/private/Security/IdentityProof/Manager.php @@ -21,6 +21,7 @@ namespace OC\Security\IdentityProof; +use OC\Files\AppData\Factory; use OCP\Files\IAppData; use OCP\IUser; use OCP\Security\ICrypto; @@ -32,12 +33,12 @@ class Manager { private $crypto; /** - * @param IAppData $appData + * @param Factory $appDataFactory * @param ICrypto $crypto */ - public function __construct(IAppData $appData, + public function __construct(Factory $appDataFactory, ICrypto $crypto) { - $this->appData = $appData; + $this->appData = $appDataFactory->get('identityproof'); $this->crypto = $crypto; } diff --git a/lib/private/Server.php b/lib/private/Server.php index 07e449ee4a9..75e9d911632 100644 --- a/lib/private/Server.php +++ b/lib/private/Server.php @@ -361,6 +361,10 @@ class Server extends ServerContainer implements IServerContainer { /** @var $user \OC\User\User */ \OC_Hook::emit('OC_User', 'post_login', array('run' => true, 'uid' => $user->getUID(), 'password' => $password)); }); + $userSession->listen('\OC\User', 'postRememberedLogin', function ($user, $password) { + /** @var $user \OC\User\User */ + \OC_Hook::emit('OC_User', 'post_login', array('run' => true, 'uid' => $user->getUID(), 'password' => $password)); + }); $userSession->listen('\OC\User', 'logout', function () { \OC_Hook::emit('OC_User', 'logout', array()); }); @@ -420,24 +424,8 @@ class Server extends ServerContainer implements IServerContainer { $this->registerService('AppHelper', function ($c) { return new \OC\AppHelper(); }); - $this->registerService(AppFetcher::class, function ($c) { - return new AppFetcher( - $this->getAppDataDir('appstore'), - $this->getHTTPClientService(), - $this->query(TimeFactory::class), - $this->getConfig() - ); - }); $this->registerAlias('AppFetcher', AppFetcher::class); - - $this->registerService('CategoryFetcher', function ($c) { - return new CategoryFetcher( - $this->getAppDataDir('appstore'), - $this->getHTTPClientService(), - $this->query(TimeFactory::class), - $this->getConfig() - ); - }); + $this->registerAlias('CategoryFetcher', CategoryFetcher::class); $this->registerService(\OCP\ICache::class, function ($c) { return new Cache\File(); @@ -869,7 +857,7 @@ class Server extends ServerContainer implements IServerContainer { $c->getURLGenerator(), $c->getAppDataDir('theming'), $c->getMemCacheFactory(), - new Util($c->getConfig(), $this->getRootFolder(), $this->getAppManager()) + new Util($c->getConfig(), $this->getAppManager(), $this->getAppDataDir('theming')) ); } return new \OC_Defaults(); @@ -884,7 +872,7 @@ class Server extends ServerContainer implements IServerContainer { $c->getConfig(), $c->getThemingDefaults(), \OC::$SERVERROOT, - $cacheFactory->createLocal('SCSS') + $cacheFactory->create('SCSS') ); }); $this->registerService(EventDispatcher::class, function () { @@ -1290,7 +1278,7 @@ class Server extends ServerContainer implements IServerContainer { * @return AppFetcher */ public function getAppFetcher() { - return $this->query('AppFetcher'); + return $this->query(AppFetcher::class); } /** diff --git a/lib/private/Share/Share.php b/lib/private/Share/Share.php index 1bfd0821354..dc96d856ba6 100644 --- a/lib/private/Share/Share.php +++ b/lib/private/Share/Share.php @@ -812,7 +812,7 @@ class Share extends Constants { \OCP\Util::writeLog('OCP\Share', sprintf($message, $itemSourceName, $shareWith), \OCP\Util::DEBUG); throw new \Exception($message_t); } - if ($shareWithinGroupOnly && !\OC_Group::inGroup($uidOwner, $shareWith)) { + if ($shareWithinGroupOnly) { $group = \OC::$server->getGroupManager()->get($shareWith); $user = \OC::$server->getUserManager()->get($uidOwner); if (!$group || !$user || !$group->inGroup($user)) { diff --git a/lib/private/Template/JSCombiner.php b/lib/private/Template/JSCombiner.php index 604cd2cceb7..8254174bfc0 100644 --- a/lib/private/Template/JSCombiner.php +++ b/lib/private/Template/JSCombiner.php @@ -101,7 +101,6 @@ class JSCombiner { if ($deps === null || $deps === '') { $depFile = $folder->getFile($fileName); $deps = $depFile->getContent(); - $this->depsCache->set($folder->getName() . '-' . $fileName, $deps); } $deps = json_decode($deps, true); @@ -162,8 +161,11 @@ class JSCombiner { try { $cachedfile->putContent($res); - $depFile->putContent(json_encode($deps)); + $deps = json_encode($deps); + $depFile->putContent($deps); + $this->depsCache->set($folder->getName() . '-' . $depFileName, $deps); $gzipFile->putContent(gzencode($res, 9)); + return true; } catch (NotPermittedException $e) { return false; diff --git a/lib/private/Updater.php b/lib/private/Updater.php index 5c4a7725a1b..6d08e5d4cc0 100644 --- a/lib/private/Updater.php +++ b/lib/private/Updater.php @@ -32,7 +32,6 @@ namespace OC; -use OC\App\AppStore\Fetcher\AppFetcher; use OC\Hooks\BasicEmitter; use OC\IntegrityCheck\Checker; use OC_App; @@ -191,6 +190,22 @@ class Updater extends BasicEmitter { $majorMinor = $version[0] . '.' . $version[1]; $currentVendor = $this->config->getAppValue('core', 'vendor', ''); + + // Vendor was not set correctly on install, so we have to white-list known versions + if ($currentVendor === '') { + if (in_array($oldVersion, [ + '11.0.2.7', + '11.0.1.2', + '11.0.0.10', + ], true)) { + $currentVendor = 'nextcloud'; + } else if (in_array($oldVersion, [ + '10.0.0.12', + ], true)) { + $currentVendor = 'owncloud'; + } + } + if ($currentVendor === 'nextcloud') { return isset($allowedPreviousVersions[$currentVendor][$majorMinor]) && (version_compare($oldVersion, $newVersion, '<=') || @@ -198,7 +213,8 @@ class Updater extends BasicEmitter { } // Check if the instance can be migrated - return isset($allowedPreviousVersions[$currentVendor][$majorMinor]); + return isset($allowedPreviousVersions[$currentVendor][$majorMinor]) || + isset($allowedPreviousVersions[$currentVendor][$oldVersion]); } /** @@ -448,10 +464,12 @@ class Updater extends BasicEmitter { $this->log, \OC::$server->getConfig() ); + $this->emit('\OC\Updater', 'checkAppStoreAppBefore', [$app]); if (Installer::isUpdateAvailable($app, \OC::$server->getAppFetcher())) { $this->emit('\OC\Updater', 'upgradeAppStoreApp', [$app]); $installer->updateAppstoreApp($app); } + $this->emit('\OC\Updater', 'checkAppStoreApp', [$app]); } catch (\Exception $ex) { $this->log->logException($ex, ['app' => 'core']); } @@ -579,8 +597,14 @@ class Updater extends BasicEmitter { $this->listen('\OC\Updater', 'thirdPartyAppDisabled', function ($app) use ($log) { $log->info('\OC\Updater::thirdPartyAppDisabled: Disabled 3rd-party app: ' . $app, ['app' => 'updater']); }); + $this->listen('\OC\Updater', 'checkAppStoreAppBefore', function ($app) use($log) { + $log->info('\OC\Updater::checkAppStoreAppBefore: Checking for update of app "' . $app . '" in appstore', ['app' => 'updater']); + }); $this->listen('\OC\Updater', 'upgradeAppStoreApp', function ($app) use($log) { - $log->info('\OC\Updater::upgradeAppStoreApp: Update 3rd-party app: ' . $app, ['app' => 'updater']); + $log->info('\OC\Updater::upgradeAppStoreApp: Update app "' . $app . '" from appstore', ['app' => 'updater']); + }); + $this->listen('\OC\Updater', 'checkAppStoreApp', function ($app) use($log) { + $log->info('\OC\Updater::checkAppStoreApp: Checked for update of app "' . $app . '" in appstore', ['app' => 'updater']); }); $this->listen('\OC\Updater', 'appUpgradeCheckBefore', function () use ($log) { $log->info('\OC\Updater::appUpgradeCheckBefore: Checking updates of apps', ['app' => 'updater']); diff --git a/lib/private/User/Session.php b/lib/private/User/Session.php index ac0150ff611..0291c1baecb 100644 --- a/lib/private/User/Session.php +++ b/lib/private/User/Session.php @@ -725,7 +725,7 @@ class Session implements IUserSession, Emitter { */ public function tryTokenLogin(IRequest $request) { $authHeader = $request->getHeader('Authorization'); - if (strpos($authHeader, 'token ') === false) { + if (strpos($authHeader, 'Bearer ') === false) { // No auth header, let's try session id try { $token = $this->session->getId(); @@ -733,7 +733,7 @@ class Session implements IUserSession, Emitter { return false; } } else { - $token = substr($authHeader, 6); + $token = substr($authHeader, 7); } if (!$this->loginWithToken($token)) { @@ -792,7 +792,13 @@ class Session implements IUserSession, Emitter { $this->setToken($token->getId()); $this->lockdownManager->setToken($token); $user->updateLastLoginTimestamp(); - $this->manager->emit('\OC\User', 'postRememberedLogin', [$user]); + $password = null; + try { + $password = $this->tokenProvider->getPassword($token, $sessionId); + } catch (PasswordlessTokenException $ex) { + // Ignore + } + $this->manager->emit('\OC\User', 'postRememberedLogin', [$user, $password]); return true; } diff --git a/lib/private/User/User.php b/lib/private/User/User.php index f55807bc769..5e5d3f0d772 100644 --- a/lib/private/User/User.php +++ b/lib/private/User/User.php @@ -30,6 +30,7 @@ namespace OC\User; +use OC\Accounts\AccountManager; use OC\Files\Cache\Storage; use OC\Hooks\Emitter; use OC_Helper; @@ -235,6 +236,10 @@ class User implements IUser { $notification->setUser($this->uid); \OC::$server->getNotificationManager()->markProcessed($notification); + /** @var AccountManager $accountManager */ + $accountManager = \OC::$server->query(AccountManager::class); + $accountManager->deleteUser($this); + if ($this->emitter) { $this->emitter->emit('\OC\User', 'postDelete', array($this)); } diff --git a/lib/private/legacy/app.php b/lib/private/legacy/app.php index 111da7d0d40..2e9e97d5bd7 100644 --- a/lib/private/legacy/app.php +++ b/lib/private/legacy/app.php @@ -357,8 +357,6 @@ class OC_App { public function enable($appId, $groups = null) { self::$enabledAppsCache = []; // flush - $l = \OC::$server->getL10N('core'); - $config = \OC::$server->getConfig(); // Check if app is already downloaded $installer = new Installer( @@ -374,23 +372,7 @@ class OC_App { $installer->downloadApp($appId); } - if (!Installer::isInstalled($appId)) { - $appId = self::installApp( - $appId, - $config, - $l - ); - $appPath = self::getAppPath($appId); - self::registerAutoloading($appId, $appPath); - $installer->installApp($appId); - } else { - // check for required dependencies - $info = self::getAppInfo($appId); - self::checkAppDependencies($config, $l, $info); - $appPath = self::getAppPath($appId); - self::registerAutoloading($appId, $appPath); - $installer->installApp($appId); - } + $installer->installApp($appId); $appManager = \OC::$server->getAppManager(); if (!is_null($groups)) { @@ -406,13 +388,6 @@ class OC_App { } else { $appManager->enableApp($appId); } - - $info = self::getAppInfo($appId); - if(isset($info['settings']) && is_array($info['settings'])) { - $appPath = self::getAppPath($appId); - self::registerAutoloading($appId, $appPath); - \OC::$server->getSettingsManager()->setupSettings($info['settings']); - } } /** @@ -1258,7 +1233,7 @@ class OC_App { * @param array $info * @throws \Exception */ - protected static function checkAppDependencies($config, $l, $info) { + public static function checkAppDependencies($config, $l, $info) { $dependencyAnalyzer = new DependencyAnalyzer(new Platform($config), $l); $missing = $dependencyAnalyzer->analyze($info); if (!empty($missing)) { diff --git a/lib/private/legacy/helper.php b/lib/private/legacy/helper.php index 9c4bc895fb9..6775fe99dcd 100644 --- a/lib/private/legacy/helper.php +++ b/lib/private/legacy/helper.php @@ -537,7 +537,7 @@ class OC_Helper { $includeExtStorage = \OC::$server->getSystemConfig()->getValue('quota_include_external_storage', false); if (!$rootInfo) { - $rootInfo = \OC\Files\Filesystem::getFileInfo($path, false); + $rootInfo = \OC\Files\Filesystem::getFileInfo($path, $includeExtStorage ? 'ext' : false); } if (!$rootInfo instanceof \OCP\Files\FileInfo) { throw new \OCP\Files\NotFoundException(); diff --git a/lib/private/legacy/util.php b/lib/private/legacy/util.php index a1e6f2fe702..ac6c47b189c 100644 --- a/lib/private/legacy/util.php +++ b/lib/private/legacy/util.php @@ -120,6 +120,46 @@ class OC_Util { } /** + * mounting an object storage as the root fs will in essence remove the + * necessity of a data folder being present. + * + * @param array $config containing 'class' and optional 'arguments' + */ + private static function initObjectStoreMultibucketRootFS($config) { + // check misconfiguration + if (empty($config['class'])) { + \OCP\Util::writeLog('files', 'No class given for objectstore', \OCP\Util::ERROR); + } + if (!isset($config['arguments'])) { + $config['arguments'] = array(); + } + + // instantiate object store implementation + $name = $config['class']; + if (strpos($name, 'OCA\\') === 0 && substr_count($name, '\\') >= 2) { + $segments = explode('\\', $name); + OC_App::loadApp(strtolower($segments[1])); + } + + if (!isset($config['arguments']['bucket'])) { + $config['arguments']['bucket'] = ''; + } + // put the root FS always in first bucket for multibucket configuration + $config['arguments']['bucket'] .= '0'; + + $config['arguments']['objectstore'] = new $config['class']($config['arguments']); + // mount with plain / root object store implementation + $config['class'] = '\OC\Files\ObjectStore\ObjectStoreStorage'; + + // mount object storage as root + \OC\Files\Filesystem::initMountManager(); + if (!self::$rootMounted) { + \OC\Files\Filesystem::mount($config['class'], $config['arguments'], '/'); + self::$rootMounted = true; + } + } + + /** * Can be set up * * @param string $user @@ -215,7 +255,12 @@ class OC_Util { //check if we are using an object storage $objectStore = \OC::$server->getSystemConfig()->getValue('objectstore', null); - if (isset($objectStore)) { + $objectStoreMultibucket = \OC::$server->getSystemConfig()->getValue('objectstore_multibucket', null); + + // use the same order as in ObjectHomeMountProvider + if (isset($objectStoreMultibucket)) { + self::initObjectStoreMultibucketRootFS($objectStoreMultibucket); + } elseif (isset($objectStore)) { self::initObjectStoreRootFS($objectStore); } else { self::initLocalStorageRootFS(); diff --git a/lib/public/Authentication/Exceptions/PasswordUnavailableException.php b/lib/public/Authentication/Exceptions/PasswordUnavailableException.php new file mode 100644 index 00000000000..f69b690266d --- /dev/null +++ b/lib/public/Authentication/Exceptions/PasswordUnavailableException.php @@ -0,0 +1,34 @@ +<?php + +/** + * @copyright 2017 Morris Jobke <hey@morrisjobke.de> + * + * @author 2017 Morris Jobke <hey@morrisjobke.de> + * + * @license GNU AGPL version 3 or any later version + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * + */ + +namespace OCP\Authentication\Exceptions; + +use Exception; + +/** + * @since 12 + */ +class PasswordUnavailableException extends Exception { + +} diff --git a/lib/public/Authentication/LoginCredentials/ICredentials.php b/lib/public/Authentication/LoginCredentials/ICredentials.php index c5ef9574398..1734e3e0715 100644 --- a/lib/public/Authentication/LoginCredentials/ICredentials.php +++ b/lib/public/Authentication/LoginCredentials/ICredentials.php @@ -24,6 +24,8 @@ namespace OCP\Authentication\LoginCredentials; +use OCP\Authentication\Exceptions\PasswordUnavailableException; + /** * @since 12 */ @@ -53,6 +55,7 @@ interface ICredentials { * @since 12 * * @return string + * @throws PasswordUnavailableException */ public function getPassword(); } diff --git a/lib/public/ILogger.php b/lib/public/ILogger.php index 5680ec781cb..2d1bf4b804d 100644 --- a/lib/public/ILogger.php +++ b/lib/public/ILogger.php @@ -132,7 +132,7 @@ interface ILogger { * * <code> * $logger->logException($ex, [ - * 'message' => 'Exception during cron job execution' + * 'message' => 'Exception during background job execution' * ]); * </code> * |