If 'verify_bucket_exists' is set to false in the config.php s3 configuration, it's supposed to avoid
verifying that the bucket exists. However empty(falsy) will always return true, so this condition
would not work.
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
Besides the existing moving average, a smoothing factor is introduced for the time remaining display as well as the bitrate.
Furthermore, half of the buffer needs to be filled before the first prediction is displayed to the user. This reduces volatile and jumping durations towards the user and improves usability.
Signed-off-by: Cyrill H. <phlogi@posteo.de>
Co-authored-by: Carl Schwan <carl@carlschwan.eu>
Overwrite the display name after the account is initialized
when using an instacne of IGetDisplayNameBackend.
Before when using a variation of user_oidc and registering
a Backend.php implementing IGetDisplayNameBackend
the personal setting page shows 'uid'.
The UserManager/AccountManager seems not to use consistently
the correct backend.
The correct backend is used in this sequence:
server/lib/private/TemplateLayout.php
$userDisplayName = \OC_User::getDisplayName();
$this->assign(user_displayname, $userDisplayName);
In the settings page, it definitely not calls the registered backend,
but seems to fall back to default Backend and shows (usually) uid
or a value from the standard account property table.
Signed-off-by: Max <max@nextcloud.com>
This does not makes sense as we do not have the clear text value.
Signed-off-by: Louis Chemineau <louis@chmn.me>
(cherry picked from commit 6faf8b85d6)
OC\Files\Cache\Cache::get can return string|false|null, not just string|false.
- nextcloud/server#26270 added handling of false, but null is needed too.
- Well, or we change the default $resullt to false, but I'm not sure if that has other ramifications and the real need here is to simply catch situations where the cache source storage path is not valid for whatever reason
Related: nextcloud/server#19009
Signed-off-by: Josh Richards <josh.t.richards@gmail.com>
Resolves: #39228.
Check the free space on the destination.
Before it was checking the free space on `$storage`
which is the upload storage of the user who triggered the upload.
This led to user quota being applied
even when uploading to a share with unlimited space.
Signed-off-by: Max <max@nextcloud.com>
As per method signature, $visitingUser is nullable, so we can't be sure calling getUid() on it will
work.
Closes#35766
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
the previosuly introduced searchBySystemTag was not overwritten in
NonExistingFolder and could run the inherited method.
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
- in this backport we have to drop the breaking addition in
\OCP\Files\Folder
- this requires adjustments in check for the existance of the method but
also in testing
- another change in \OCP\SystemTag\ISystemTagManager can be applied as
this interface is not implemented elsewhere
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
This avoids being stuck when there is one buggy file version with a
non-integer version. It allows the expiration process to not crash and
continue with the other ones.
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
pruneOutdatedSyncTokens accidentally deletes all entries of the calendarchanges table
instead of leaving $limit elements in the table
Signed-off-by: Christof Arnosti <charno@charno.ch>
We need to use the language code here instead of the locale,
because Symfony does not distinguish between the two and would
otherwise e.g. with locale "Czech" and language "German" try to
pick a non-existing plural rule, because Czech has 4 plural forms
and German only 2.
Signed-off-by: Joas Schilling <coding@schilljs.com>
createNode() is protected and used by Folder, but being an internal-only
method it shall not be exposed in the Folder or IRootFolder interface.
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
- fixes a regression when deleting folders while music app was enabled,
for a LazyRoot was passed to this method.
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
When "Enforce password protection" is enabled in the sharing settings a
popover menu is shown to set a password before the share is created. On
the other hand, when "Always ask for a password" was enabled in the
sharing settings and a new link share was created the share was
immediately created with a default password; the user was not able to
specify a password (nor create the share without password).
The component template already provided the needed elements to also ask
for the password without enforcing it, but the popover menu was not
shown due to "enableLinkPasswordByDefault" being missing in "if"
conditions.
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
(cherry picked from commit d4631921b4)
currently `[$userId, $rootId]` is used as the unique key for storing mounts in the mount cache,
however there are cases where the same rootid is mounted in multiple places for a user which currently leads to not all of those mounts being added to the cache.
Previously this didn't matter as the mount cache was only used to list users with access to a specific file, so a user having access to the file multiple times didn' change anything.
With 24 the mount cache is used for more cases and multiple mounts for the same id becomes relevant.
While I think there isn't a real negative effect atm besides missing the optimized path we should ensure that the mounts are properly listed
Signed-off-by: Robin Appelman <robin@icewind.nl>
This removes a lot of acrobatics in the code and does each operation
atomically using a lua script. This also reduces several round trips
to the server, and the scripts are compiled and cached server-side.
Notably, since all operations work only on a single key (except clear,
which is broken anyway and shouldn't be used), they will continue to
function and be atomic for Redis cluster.
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
We use a forked version of getID3 to read embedded images from mp3 files to use them as previews.
If the library is unable to extract a image or fails on something different we should handle it properly.
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
- search constraints are now fully in control of
SystemTagsInFilesDetector::detectAssignedSystemTagsIn(), avoids
duplication of a WHERE statement
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
- DI SystemTagManager
- add some comments and doc
- catch NoUserException
- add return type hints
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
- only the media part of the mime type can be search, but not the full
mime type. It can be added, should it become necessary.
- thus fixes previously hardcoded selector for image/ types
- also fixes a return type hint
- adds a return type hint
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
Target case is photos app: when visiting the tags category, all systemtags
of the whole cloud are retrieved. In subequent steps the next tag is
requested until the browser view is filled with tag tiles (i.e. previews
are requested just as well).
With this approach, we incorpoate the dav search and look for user related
tags that are used by them, and already returns the statistics (number of
files tagged with the respective tag) as well as a file id for the purpose
to load the preview. This defaults to the file with the highest id.
Call:
curl -s -u 'user:password' \
'https://my.nc.srv/remote.php/dav/systemtags-current' \
-X PROPFIND -H 'Accept: text/plain' \
-H 'Accept-Language: en-US,en;q=0.5' -H 'Depth: 1' \
-H 'Content-Type: text/plain;charset=UTF-8' \
--data @/home/doe/request-systemtag-props.xml
With request-systemtag-props.xml:
<?xml version="1.0" encoding="UTF-8"?>
<d:propfind xmlns:d="DAV:">
<d:prop xmlns:oc="http://owncloud.org/ns" xmlns:nc="http://nextcloud.org/ns">
<oc:id/>
<oc:display-name/>
<oc:user-visible/>
<oc:user-assignable/>
<oc:can-assign/>
<nc:files-assigned/>
<nc:reference-fileid/>
</d:prop>
</d:propfind>
Example output:
…
<d:response>
<d:href>/master/remote.php/dav/systemtags/84</d:href>
<d:propstat>
<d:prop>
<oc:id>84</oc:id>
<oc:display-name>Computer</oc:display-name>
<oc:user-visible>true</oc:user-visible>
<oc:user-assignable>true</oc:user-assignable>
<oc:can-assign>true</oc:can-assign>
<nc:files-assigned>42</nc:files-assigned>
<nc:reference-fileid>924022</nc:reference-fileid>
</d:prop>
<d:status>HTTP/1.1 200 OK</d:status>
</d:propstat>
</d:response>
<d:response>
<d:href>/remote.php/dav/systemtags/97</d:href>
<d:propstat>
<d:prop>
<oc:id>97</oc:id>
<oc:display-name>Bear</oc:display-name>
<oc:user-visible>true</oc:user-visible>
<oc:user-assignable>true</oc:user-assignable>
<oc:can-assign>true</oc:can-assign>
<nc:files-assigned>1</nc:files-assigned>
<nc:reference-fileid>923422</nc:reference-fileid>
</d:prop>
<d:status>HTTP/1.1 200 OK</d:status>
</d:propstat>
</d:response>
…
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
- in most cases it would read again in \OC_Util::loadVersion anyway
- remove some unused use statements
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
fixes collissions when more than one instance is running on the same
system
For the memcaches we use a more complex prefix, where version and
instance ID are incorporated. We do not have this data at hand at this
point of time. But we can get the mtime of the version.php file
relatively cheap.
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
With S3 primary storage there was a problem with getting the CA bundle from the storage without having the CA bundle for the connection which causes that the CertificateManager was throwing an Error.
This commit improves the handling in CertificateManager and log unexpected behaviors.
Signed-off-by: Jan Messer <jan@mtec-studios.ch>
The files_lock app may throw ManuallyLockedExceptions
when attempting to revert a file that is currently opened.
This would prevent the user from rolling back a opened file.
Text and Richdocuments handle changes of the file while editing.
Allow reverting files even when they are locked by these apps
and let the apps handle the conflict.
Signed-off-by: Max <max@nextcloud.com>
It must not reuse the same OCA\User_LDAP\User\Manager instance for
several Access instances.
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
In maintenance mode the database is accessible and it's possible to execute other commands then maintenance:mode
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
When login in with SAML, the password from `$event->getPassword()` is `null`.
This PR makes sure that this `null` value won't be used to override the stored password even though it is different.
This PR also allow for the password and user to be updated even though they were not set before.
Signed-off-by: Louis Chemineau <louis@chmn.me>
This adds an interface change, but that's not a public API.
We're handling this in the providers and not in ReminderService because
the fallback is translated with the user's language.
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
Auth tokens store the user's login password by default. If the password
changes externally (on LDAP), all connected clients stop syncing after 5
minutes max when the password is verified the next time. A web login
revivess those app passwords.
If storing the password is disabled, the tokens continue to work after
password change. But that also means the clients are not logged out the
same way. This can be fine for some setups and problematic for others.
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
In files_versions cypress tests, we wait for 1000ms between each versions uploads to make sure that the server properly create a version. Under 1s the serve does not create a version.
This commit increases the wait time as it might help to ensure that the time span is enough between two uploads.
Signed-off-by: Louis Chemineau <louis@chmn.me>
This seems to be a left over after abstracting DBAL. Nowadays,
IQueryBuilder::executeStatement() only throws a \OCP\DB\Exception, where
previously original DBAL exceptions where thrown. These are now wrapped,
the orignal classes are now mapped to a reason.
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
this fixes a race condition where wrappers weren't properly applied if when a mount provider creates the storage instance one mountpoint creation instead of lazily
Signed-off-by: Robin Appelman <robin@icewind.nl>
Non-cache-busted assets such as /dist/core-main.js also matched the
regex meant for cache-busted assets (note the ? at the end of the
regex).
The FilesMatch directive for cache-busted assets coming after the
non-cache-busted version all assets actually got the immutable flag
in their Cache-Control header. This caused client-side errors on
updates.
Query strings are not actually passed to FilesMatch directives so we
need another way to tell cache-busted/versionned assets apart from
non-versioned assets, here using If/Else directives.
Signed-off-by: Nicolas Guichard <nicolas@guichard.eu>
It only makes sense to send a pagination control with size 0 with a
cookie to abandon a paged search.
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
Fixes: min(): Array must contain at least one element at /var/www/nc/nextcloud/apps/dav/lib/BackgroundJob/UserStatusAutomation.php#142
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
"Provides logging abilities for Nextcloud such as logging file accesses or otherwise sensitive actions.":"Forne la capacidá de rexistrar, por exemplu, l'accesu a los ficheros o a otres aiciones sensibles de Nextcloud"
"Provides logging abilities for Nextcloud such as logging file accesses or otherwise sensitive actions.":"Forne la capacidá de rexistrar, por exemplu, l'accesu a los ficheros o a otres aiciones sensibles de Nextcloud"
"Provides logging abilities for Nextcloud such as logging file accesses or otherwise sensitive actions.":"Provizi protokolado-kapablojn por Nextcloud, kiel ekzemple protokolado de aliroj al dosieroj aŭ aliaj delikataj agoj."
"Provides logging abilities for Nextcloud such as logging file accesses or otherwise sensitive actions.":"Provizi protokolado-kapablojn por Nextcloud, kiel ekzemple protokolado de aliroj al dosieroj aŭ aliaj delikataj agoj."
"Provides logging abilities for Nextcloud such as logging file accesses or otherwise sensitive actions.":"Proporciona capacidades de registro para Nextcloud, como el registro de accesos a archivos o acciones confidenciales."
},
"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
"Provides logging abilities for Nextcloud such as logging file accesses or otherwise sensitive actions.":"Proporciona capacidades de registro para Nextcloud, como el registro de accesos a archivos o acciones confidenciales."
},"pluralForm":"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
"Provides logging abilities for Nextcloud such as logging file accesses or otherwise sensitive actions.":"Proporciona capacidades de registro para Nextcloud, como el registro de accesos a archivos o acciones confidenciales."
},
"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
"Provides logging abilities for Nextcloud such as logging file accesses or otherwise sensitive actions.":"Proporciona capacidades de registro para Nextcloud, como el registro de accesos a archivos o acciones confidenciales."
},"pluralForm":"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
"Provides logging abilities for Nextcloud such as logging file accesses or otherwise sensitive actions.":"Fournit des capacités de traçage à NextCloud telles que les accès aux fichiers ou d'autres actions sensibles."
"Provides logging abilities for Nextcloud such as logging file accesses or otherwise sensitive actions.":"Fournit des capacités de journalisation pour Nextcloud, telles que la journalisation des accès aux fichiers ou d'autres actions sensibles."
},
"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
"Provides logging abilities for Nextcloud such as logging file accesses or otherwise sensitive actions.":"Fournit des capacités de traçage à NextCloud telles que les accès aux fichiers ou d'autres actions sensibles."
"Provides logging abilities for Nextcloud such as logging file accesses or otherwise sensitive actions.":"Fournit des capacités de journalisation pour Nextcloud, telles que la journalisation des accès aux fichiers ou d'autres actions sensibles."
},"pluralForm":"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
"Provides logging abilities for Nextcloud such as logging file accesses or otherwise sensitive actions.":"Fornece recursos de rexistro para o Nextcloud como rexistros de acceso a ficheiros ou calquera outra acción sensíbel."
"Provides logging abilities for Nextcloud such as logging file accesses or otherwise sensitive actions.":"Fornece recursos de rexistro para Nextcloud como rexistros de acceso a ficheiros ou calquera outra acción sensíbel."
"Provides logging abilities for Nextcloud such as logging file accesses or otherwise sensitive actions.":"Fornece recursos de rexistro para o Nextcloud como rexistros de acceso a ficheiros ou calquera outra acción sensíbel."
"Provides logging abilities for Nextcloud such as logging file accesses or otherwise sensitive actions.":"Fornece recursos de rexistro para Nextcloud como rexistros de acceso a ficheiros ou calquera outra acción sensíbel."
"Provides logging abilities for Nextcloud such as logging file accesses or otherwise sensitive actions.":"מספר יכולות תיעוד ל־Nextcloud כגון תיעוד גישה ליומן התיעוד או פעולות רגישות אחרות."
"Provides logging abilities for Nextcloud such as logging file accesses or otherwise sensitive actions.":"מספק יכולות תיעוד ל־Nextcloud כגון תיעוד גישה ליומן התיעוד או פעולות רגישות אחרות."
"Provides logging abilities for Nextcloud such as logging file accesses or otherwise sensitive actions.":"מספר יכולות תיעוד ל־Nextcloud כגון תיעוד גישה ליומן התיעוד או פעולות רגישות אחרות."
"Provides logging abilities for Nextcloud such as logging file accesses or otherwise sensitive actions.":"מספק יכולות תיעוד ל־Nextcloud כגון תיעוד גישה ליומן התיעוד או פעולות רגישות אחרות."
"Provides logging abilities for Nextcloud such as logging file accesses or otherwise sensitive actions.":"नेक्स्टक्लाउड के लिए लॉगिंग क्षमताएं प्रदान करता है जैसे फ़ाइल एक्सेस या अन्यथा संवेदनशील कार्यों को लॉग करना।"
"Provides logging abilities for Nextcloud such as logging file accesses or otherwise sensitive actions.":"नेक्स्टक्लाउड के लिए लॉगिंग क्षमताएं प्रदान करता है जैसे फ़ाइल एक्सेस या अन्यथा संवेदनशील कार्यों को लॉग करना।"
"Provides logging abilities for Nextcloud such as logging file accesses or otherwise sensitive actions.":"Nextcloud ֊ի համար տրամադրում է տեղեկագրման հնարավորություն՝ նիշքերի հասանելիության և զգայուն գործողություինների պահպանումը տեղեկամատյանում։"
"Provides logging abilities for Nextcloud such as logging file accesses or otherwise sensitive actions.":"Nextcloud ֊ի համար տրամադրում է տեղեկագրման հնարավորություն՝ նիշքերի հասանելիության և զգայուն գործողություինների պահպանումը տեղեկամատյանում։"
"Provides logging abilities for Nextcloud such as logging file accesses or otherwise sensitive actions.":"Обезбедува можности за евидентирање на Nextcloud, како што се евидентирање пристапи до датотеки или на друг начин чувствителни дејства."
"Provides logging abilities for Nextcloud such as logging file accesses or otherwise sensitive actions.":"Обезбедува можности за евидентирање на Nextcloud, како што се евидентирање пристапи до датотеки или на друг начин чувствителни дејства."
"Cloud Federation API":"واجهة برمجة التطبيقات API للاتحاد السحابي Cloud Federation",
"Enable clouds to communicate with each other and exchange data":"يسمح للسحابات أن تتراسل فيما بينها و تتبادل البيانات",
"The Cloud Federation API enables various Nextcloud instances to communicate with each other and to exchange data.":"واجهة برمجة التطبيقات API للاتحاد السحابي Cloud Federation تسمح لخوادم نكست كلاود بالاتصال ببعضها البعض و تبادل البيانات."
"Cloud Federation API":"واجهة برمجة التطبيقات API للاتحاد السحابي Cloud Federation",
"Enable clouds to communicate with each other and exchange data":"يسمح للسحابات أن تتراسل فيما بينها و تتبادل البيانات",
"The Cloud Federation API enables various Nextcloud instances to communicate with each other and to exchange data.":"واجهة برمجة التطبيقات API للاتحاد السحابي Cloud Federation تسمح لخوادم نكست كلاود بالاتصال ببعضها البعض و تبادل البيانات."
"Cloud Federation API":"API pro federovaný cloud",
"Enable clouds to communicate with each other and exchange data":"Umožňuje cloudům navzájem komunikovat a vyměňovat si data",
"Enable clouds to communicate with each other and exchange data":"Umožňuje cloudům vzájemně komunikovat a vyměňovat si data",
"The Cloud Federation API enables various Nextcloud instances to communicate with each other and to exchange data.":"API pro federovaný cloud umožňuje různým instancím Nextcloud vzájemně komunikovat a vyměňovat si data."
"Cloud Federation API":"API pro federovaný cloud",
"Enable clouds to communicate with each other and exchange data":"Umožňuje cloudům navzájem komunikovat a vyměňovat si data",
"Enable clouds to communicate with each other and exchange data":"Umožňuje cloudům vzájemně komunikovat a vyměňovat si data",
"The Cloud Federation API enables various Nextcloud instances to communicate with each other and to exchange data.":"API pro federovaný cloud umožňuje různým instancím Nextcloud vzájemně komunikovat a vyměňovat si data."
"Enable clouds to communicate with each other and exchange data":"Ebligi interkomunikadon inter diversaj nuboj kaj la interŝanĝon de datumoj",
"The Cloud Federation API enables various Nextcloud instances to communicate with each other and to exchange data.":"La API de Nuba Federacio ebligas diversajn instancojn de Nextcloud interkomuniki kaj interŝanĝi datumojn inter si."
"Enable clouds to communicate with each other and exchange data":"Ebligi interkomunikadon inter diversaj nuboj kaj la interŝanĝon de datumoj",
"The Cloud Federation API enables various Nextcloud instances to communicate with each other and to exchange data.":"La API de Nuba Federacio ebligas diversajn instancojn de Nextcloud interkomuniki kaj interŝanĝi datumojn inter si."
"Cloud Federation API":"API de Federación en la Nube",
"Enable clouds to communicate with each other and exchange data":"Permitir que las nubes se comuniquen entre sí e intercambien datos",
"The Cloud Federation API enables various Nextcloud instances to communicate with each other and to exchange data.":"La API de Federación de Nubes permite que varias instancias de Nextcloud se comuniquen entre sí y intercambien datos."
},
"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
"Cloud Federation API":"API de Federación en la Nube",
"Enable clouds to communicate with each other and exchange data":"Permitir que las nubes se comuniquen entre sí e intercambien datos",
"The Cloud Federation API enables various Nextcloud instances to communicate with each other and to exchange data.":"La API de Federación de Nubes permite que varias instancias de Nextcloud se comuniquen entre sí y intercambien datos."
},"pluralForm":"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
"Enable clouds to communicate with each other and exchange data":"Luba pilvedel suhelda omavahel ja vahetada andmeid",
"The Cloud Federation API enables various Nextcloud instances to communicate with each other and to exchange data.":"Pilve Liit API lubab erinevad Nextcloud'i osadel suhelda omavahel ja vahetada andmeid"
"Enable clouds to communicate with each other and exchange data":"Luba pilvedel suhelda omavahel ja vahetada andmeid",
"The Cloud Federation API enables various Nextcloud instances to communicate with each other and to exchange data.":"Pilve Liit API lubab erinevad Nextcloud'i osadel suhelda omavahel ja vahetada andmeid"
"Enable clouds to communicate with each other and exchange data":"ابرها را فعال کنید تا با یکدیگر ارتباط برقرار کنند و داده ها را مبادله کنند",
"The Cloud Federation API enables various Nextcloud instances to communicate with each other and to exchange data.":"Cloud Federation API نمونه های مختلف Nextcloud را قادر می سازد تا با یکدیگر ارتباط برقرار کرده و داده ها را مبادله کنند."
"Enable clouds to communicate with each other and exchange data":"ابرها را فعال کنید تا با یکدیگر ارتباط برقرار کنند و داده ها را مبادله کنند",
"The Cloud Federation API enables various Nextcloud instances to communicate with each other and to exchange data.":"Cloud Federation API نمونه های مختلف Nextcloud را قادر می سازد تا با یکدیگر ارتباط برقرار کرده و داده ها را مبادله کنند."
"Enable clouds to communicate with each other and exchange data":"Permite que as nubes se comuniquen entre elas e intercambien datos",
"The Cloud Federation API enables various Nextcloud instances to communicate with each other and to exchange data.":"A API de Nube federada permite que varias instancias do Nextcloud se comuniquen entre elas e intercambien datos."
"The Cloud Federation API enables various Nextcloud instances to communicate with each other and to exchange data.":"A API de Nube federada permite que varias instancias de Nextcloud se comuniquen entre elas e intercambien datos."
"Enable clouds to communicate with each other and exchange data":"Permite que as nubes se comuniquen entre elas e intercambien datos",
"The Cloud Federation API enables various Nextcloud instances to communicate with each other and to exchange data.":"A API de Nube federada permite que varias instancias do Nextcloud se comuniquen entre elas e intercambien datos."
"The Cloud Federation API enables various Nextcloud instances to communicate with each other and to exchange data.":"A API de Nube federada permite que varias instancias de Nextcloud se comuniquen entre elas e intercambien datos."
"Enable clouds to communicate with each other and exchange data":"Увімкніть хмари для спілкування один з одним і обміну даними",
"The Cloud Federation API enables various Nextcloud instances to communicate with each other and to exchange data.":"API Cloud Federation дозволяє різним примірникам Nextcloud спілкуватися один з одним і обмінюватися даними."
"Enable clouds to communicate with each other and exchange data":"Увімкніть хмари аби спілкуватися один з одним і обмінюватися даними",
"The Cloud Federation API enables various Nextcloud instances to communicate with each other and to exchange data.":"Cloud Federation API дозволяє різним примірникам серверу хмари Nextcloud спілкуватися між собою та обмінюватися даними."
},
"nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != 11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || (n % 100 >=11 && n % 100 <=14 )) ? 2: 3);");
"Enable clouds to communicate with each other and exchange data":"Увімкніть хмари для спілкування один з одним і обміну даними",
"The Cloud Federation API enables various Nextcloud instances to communicate with each other and to exchange data.":"API Cloud Federation дозволяє різним примірникам Nextcloud спілкуватися один з одним і обмінюватися даними."
"Enable clouds to communicate with each other and exchange data":"Увімкніть хмари аби спілкуватися один з одним і обмінюватися даними",
"The Cloud Federation API enables various Nextcloud instances to communicate with each other and to exchange data.":"Cloud Federation API дозволяє різним примірникам серверу хмари Nextcloud спілкуватися між собою та обмінюватися даними."
},"pluralForm":"nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != 11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || (n % 100 >=11 && n % 100 <=14 )) ? 2: 3);"
"Enable clouds to communicate with each other and exchange data":"Cho phép các đám mây giao tiếp với nhau và trao đổi dữ liệu",
"The Cloud Federation API enables various Nextcloud instances to communicate with each other and to exchange data.":"API Cloud Federation cho phép các phiên bản Nextcloud khác nhau giao tiếp với nhau và trao đổi dữ liệu."
"Enable clouds to communicate with each other and exchange data":"Cho phép các đám mây giao tiếp với nhau và trao đổi dữ liệu",
"The Cloud Federation API enables various Nextcloud instances to communicate with each other and to exchange data.":"API Cloud Federation cho phép các phiên bản Nextcloud khác nhau giao tiếp với nhau và trao đổi dữ liệu."
"Enable clouds to communicate with each other and exchange data":"使云能够相互通信并交换数据",
"The Cloud Federation API enables various Nextcloud instances to communicate with each other and to exchange data.":"联合云API使各种 Nextcloud 实例可以相互通信并交换数据。"
"The Cloud Federation API enables various Nextcloud instances to communicate with each other and to exchange data.":"联合云API使各种 Nextcloud 实例可以相互通信并交换数据。"
"Enable clouds to communicate with each other and exchange data":"使云能够相互通信并交换数据",
"The Cloud Federation API enables various Nextcloud instances to communicate with each other and to exchange data.":"联合云API使各种 Nextcloud 实例可以相互通信并交换数据。"
"The Cloud Federation API enables various Nextcloud instances to communicate with each other and to exchange data.":"联合云API使各种 Nextcloud 实例可以相互通信并交换数据。"
"%1$s commented on %2$s":"%1$s كتب تعليق على %2$s",
"{author} commented on {file}":"{author} علّق على {file}",
"<strong>Comments</strong> for files":"<strong>تعليقات</strong> على الملفات",
"You were mentioned on \"{file}\", in a comment by a user that has since been deleted":"تمت الإشارة إليك في \"{file}\" في تعليق لمستخدم. لكن هذا المستخدم تم حذف حسابه بعدها",
"{user} mentioned you in a comment on \"{file}\"":"أشار إليك {user} في تعليق على {file}",
"Files app plugin to add comments to files":"المكوِّن الإضافي لتطبيق الملفات لإضافة تعليقات إلى الملفات",
"Edit comment":"تعديل التعليق",
@@ -18,6 +19,7 @@ OC.L10N.register(
"No comments yet, start the conversation!":"لا يوجد تعليقات, ابدأ النقاش الآن!",
"No more messages":"لامزيد من الرسائل",
"Retry":"أعد المحاولة",
"Failed to mark comments as read":"إخفاق في تعيين ملاحظات كمقرؤة",
"Unable to load the comments list":"تعذر تحميل قائمة التعليقات",
"_%n unread comment_::_%n unread comments_":["%n تعليق غير مقروء","%n تعليق غير مقروء","تعليقان غير مقروءة","%n تعليقات غير مقروء","%n تعليق غير مقروء","%n تعليق غير مقروء"],
"_1 new comment_::_{unread} new comments_":["1 تعليق جديد","1 تعليق جديد","{unread} تعليقات جديدة","{unread} تعليقات جديدة","{unread} تعليقات جديدة","{unread} تعليقات جديدة"],
"%1$s commented on %2$s":"%1$s كتب تعليق على %2$s",
"{author} commented on {file}":"{author} علّق على {file}",
"<strong>Comments</strong> for files":"<strong>تعليقات</strong> على الملفات",
"You were mentioned on \"{file}\", in a comment by a user that has since been deleted":"تمت الإشارة إليك في \"{file}\" في تعليق لمستخدم. لكن هذا المستخدم تم حذف حسابه بعدها",
"{user} mentioned you in a comment on \"{file}\"":"أشار إليك {user} في تعليق على {file}",
"Files app plugin to add comments to files":"المكوِّن الإضافي لتطبيق الملفات لإضافة تعليقات إلى الملفات",
"Edit comment":"تعديل التعليق",
@@ -16,6 +17,7 @@
"No comments yet, start the conversation!":"لا يوجد تعليقات, ابدأ النقاش الآن!",
"No more messages":"لامزيد من الرسائل",
"Retry":"أعد المحاولة",
"Failed to mark comments as read":"إخفاق في تعيين ملاحظات كمقرؤة",
"Unable to load the comments list":"تعذر تحميل قائمة التعليقات",
"_%n unread comment_::_%n unread comments_":["%n تعليق غير مقروء","%n تعليق غير مقروء","تعليقان غير مقروءة","%n تعليقات غير مقروء","%n تعليق غير مقروء","%n تعليق غير مقروء"],
"_1 new comment_::_{unread} new comments_":["1 تعليق جديد","1 تعليق جديد","{unread} تعليقات جديدة","{unread} تعليقات جديدة","{unread} تعليقات جديدة","{unread} تعليقات جديدة"],
"You commented on {file}":"Heu comentat a {file}",
"%1$s commented on %2$s":"%1$s ha comentat a %2$s",
"{author} commented on {file}":"{author} ha comentat a {file}",
"<strong>Comments</strong> for files":"<strong>Comentaris</strong> per fitxers",
"You were mentioned on \"{file}\", in a comment by a user that has since been deleted":"Se t'ha esmentat a \"{file}\" en un comentari d'un usuari que s'ha suprimit des de llavors",
"{user} mentioned you in a comment on \"{file}\"":"{user} t'ha mencionat en un comentari a \"{file}\"",
"Files app plugin to add comments to files":"Connexió de l’aplicació de fitxers per afegir comentaris als fitxers",
"Edit comment":"Edició comentari",
"Delete comment":"Suprimeix comentari",
"You commented":"Heu escrit un comentari",
"{author} commented":"{author} ha escrit un comentari",
"You commented on %1$s":"Heu escrit un comentari a %1$s",
"You commented on {file}":"Heu escrit un comentari a {file}",
"%1$s commented on %2$s":"%1$s ha escrit un comentari a %2$s",
"{author} commented on {file}":"{author} ha escrit un comentari a {file}",
"<strong>Comments</strong> for files":"<strong>Comentaris</strong> per a fitxers",
"You were mentioned on \"{file}\", in a comment by a user that has since been deleted":"Se us ha esmentat a «{file}» en un comentari d'un usuari que s'ha suprimit",
"{user} mentioned you in a comment on \"{file}\"":"{user} us ha esmentat en un comentari a «{file}»",
"Files app plugin to add comments to files":"Connector de l'aplicació Fitxers per a afegir comentaris als fitxers",
"Edit comment":"Edita el comentari",
"Delete comment":"Suprimeix el comentari",
"Cancel edit":"Cancel·la l'edició",
"Post comment":"Enviar comentari",
"No comments yet, start the conversation!":"Encara no hi ha comentaris. Enceteu la conversa!",
"Post comment":"Publica el comentari",
"No comments yet, start the conversation!":"Encara no hi ha cap comentari. Enceteu la conversa!",
"No more messages":"No hi ha més missatges",
"Retry":"Reintent",
"Unable to load the comments list":"No es pot carregar la llista de comentaris",
"_%n unread comment_::_%n unread comments_":["%n comentari no llegit","%n comentaris no llegits"],
"Retry":"Torna-ho a provar",
"Failed to mark comments as read":"No s'han pogut marcar els comentaris com a llegits",
"Unable to load the comments list":"No s'ha pogut carregar la llista de comentaris",
"_%n unread comment_::_%n unread comments_":["%n comentari sense llegir","%n comentaris sense llegir"],
"_1 new comment_::_{unread} new comments_":["1 comentari nou","{unread} comentaris nous"],
"Comment":"Comentari",
"An error occurred while trying to edit the comment":"S'ha produït un error en intentar editar el comentari",
"Comment deleted":"Comentari suprimit",
"Comment deleted":"S'ha suprimit el comentari",
"An error occurred while trying to delete the comment":"S'ha produït un error en intentar suprimir el comentari",
"An error occurred while trying to create the comment":"S'ha produït un error en intentar crear el comentari",
"You commented on {file}":"Heu comentat a {file}",
"%1$s commented on %2$s":"%1$s ha comentat a %2$s",
"{author} commented on {file}":"{author} ha comentat a {file}",
"<strong>Comments</strong> for files":"<strong>Comentaris</strong> per fitxers",
"You were mentioned on \"{file}\", in a comment by a user that has since been deleted":"Se t'ha esmentat a \"{file}\" en un comentari d'un usuari que s'ha suprimit des de llavors",
"{user} mentioned you in a comment on \"{file}\"":"{user} t'ha mencionat en un comentari a \"{file}\"",
"Files app plugin to add comments to files":"Connexió de l’aplicació de fitxers per afegir comentaris als fitxers",
"Edit comment":"Edició comentari",
"Delete comment":"Suprimeix comentari",
"You commented":"Heu escrit un comentari",
"{author} commented":"{author} ha escrit un comentari",
"You commented on %1$s":"Heu escrit un comentari a %1$s",
"You commented on {file}":"Heu escrit un comentari a {file}",
"%1$s commented on %2$s":"%1$s ha escrit un comentari a %2$s",
"{author} commented on {file}":"{author} ha escrit un comentari a {file}",
"<strong>Comments</strong> for files":"<strong>Comentaris</strong> per a fitxers",
"You were mentioned on \"{file}\", in a comment by a user that has since been deleted":"Se us ha esmentat a «{file}» en un comentari d'un usuari que s'ha suprimit",
"{user} mentioned you in a comment on \"{file}\"":"{user} us ha esmentat en un comentari a «{file}»",
"Files app plugin to add comments to files":"Connector de l'aplicació Fitxers per a afegir comentaris als fitxers",
"Edit comment":"Edita el comentari",
"Delete comment":"Suprimeix el comentari",
"Cancel edit":"Cancel·la l'edició",
"Post comment":"Enviar comentari",
"No comments yet, start the conversation!":"Encara no hi ha comentaris. Enceteu la conversa!",
"Post comment":"Publica el comentari",
"No comments yet, start the conversation!":"Encara no hi ha cap comentari. Enceteu la conversa!",
"No more messages":"No hi ha més missatges",
"Retry":"Reintent",
"Unable to load the comments list":"No es pot carregar la llista de comentaris",
"_%n unread comment_::_%n unread comments_":["%n comentari no llegit","%n comentaris no llegits"],
"Retry":"Torna-ho a provar",
"Failed to mark comments as read":"No s'han pogut marcar els comentaris com a llegits",
"Unable to load the comments list":"No s'ha pogut carregar la llista de comentaris",
"_%n unread comment_::_%n unread comments_":["%n comentari sense llegir","%n comentaris sense llegir"],
"_1 new comment_::_{unread} new comments_":["1 comentari nou","{unread} comentaris nous"],
"Comment":"Comentari",
"An error occurred while trying to edit the comment":"S'ha produït un error en intentar editar el comentari",
"Comment deleted":"Comentari suprimit",
"Comment deleted":"S'ha suprimit el comentari",
"An error occurred while trying to delete the comment":"S'ha produït un error en intentar suprimir el comentari",
"An error occurred while trying to create the comment":"S'ha produït un error en intentar crear el comentari",
"{author} commented on {file}":"{author} comentó en {file}",
"<strong>Comments</strong> for files":"<strong>Comentarios</strong> de los archivos",
"You were mentioned on \"{file}\", in a comment by a user that has since been deleted":"Fuiste mencionado en \"{file}\", en un comentario realizado por un usuario que ha sido eliminado",
"{user} mentioned you in a comment on \"{file}\"":"{user} te mencionó en un comentario en \"{file}\"",
"Files app plugin to add comments to files":"Plugin de la aplicación de archivos para agregar comentarios a los archivos",
"Edit comment":"Editar comentario",
"Delete comment":"Borrar comentario",
"Cancel edit":"Cancelar edición",
"Post comment":"Publicar comentario",
"No comments yet, start the conversation!":"¡Aún no hay comentarios, inicia la conversación!",
"No more messages":"No hay más mensajes",
"Retry":"Reintentar",
"Failed to mark comments as read":"Error al marcar los comentarios como leídos",
"Unable to load the comments list":"No se puede cargar la lista de comentarios",
"_%n unread comment_::_%n unread comments_":["%n comentarios sin leer","%n comentarios sin leer","%n comentarios sin leer"],
"_1 new comment_::_{unread} new comments_":["1 comentario nuevo","{unread} comentarios nuevos","{unread} comentarios nuevos"],
"Comment":"Comentario",
"An error occurred while trying to edit the comment":"Ocurrió un error al intentar editar el comentario",
"Comment deleted":"Comentario eliminado",
"An error occurred while trying to delete the comment":"Ocurrió un error al intentar eliminar el comentario",
"An error occurred while trying to create the comment":"Ocurrió un error al intentar crear el comentario",
"%1$s commented":"%1$s comentó"
},
"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
"{author} commented on {file}":"{author} comentó en {file}",
"<strong>Comments</strong> for files":"<strong>Comentarios</strong> de los archivos",
"You were mentioned on \"{file}\", in a comment by a user that has since been deleted":"Fuiste mencionado en \"{file}\", en un comentario realizado por un usuario que ha sido eliminado",
"{user} mentioned you in a comment on \"{file}\"":"{user} te mencionó en un comentario en \"{file}\"",
"Files app plugin to add comments to files":"Plugin de la aplicación de archivos para agregar comentarios a los archivos",
"Edit comment":"Editar comentario",
"Delete comment":"Borrar comentario",
"Cancel edit":"Cancelar edición",
"Post comment":"Publicar comentario",
"No comments yet, start the conversation!":"¡Aún no hay comentarios, inicia la conversación!",
"No more messages":"No hay más mensajes",
"Retry":"Reintentar",
"Failed to mark comments as read":"Error al marcar los comentarios como leídos",
"Unable to load the comments list":"No se puede cargar la lista de comentarios",
"_%n unread comment_::_%n unread comments_":["%n comentarios sin leer","%n comentarios sin leer","%n comentarios sin leer"],
"_1 new comment_::_{unread} new comments_":["1 comentario nuevo","{unread} comentarios nuevos","{unread} comentarios nuevos"],
"Comment":"Comentario",
"An error occurred while trying to edit the comment":"Ocurrió un error al intentar editar el comentario",
"Comment deleted":"Comentario eliminado",
"An error occurred while trying to delete the comment":"Ocurrió un error al intentar eliminar el comentario",
"An error occurred while trying to create the comment":"Ocurrió un error al intentar crear el comentario",
"%1$s commented":"%1$s comentó"
},"pluralForm":"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
"%1$s commented on %2$s":"%1$s kommenteeris %2$s",
"{author} commented on {file}":"{author} kommenteeris faili {file}",
"<strong>Comments</strong> for files":"<strong>Kommentaarid</strong> failidele",
"You were mentioned on \"{file}\", in a comment by a user that has since been deleted":"Sind mainis faili \"{file}\" kommentaaris kasutaja, kes on praeguseks kustutatud.",
"{user} mentioned you in a comment on \"{file}\"":"{user} mainis sind faili \"{file}\" kommentaaris",
"Files app plugin to add comments to files":"Failid rakenduse laiendus failidele kommentaaride lisamiseks",
"Edit comment":"Muuda kommentaari",
"Delete comment":"Kustuta kommentaar",
"No comments yet, start the conversation!":"Kommentaare veel pole, alusta vestlust",
"Cancel edit":"Loobu muutmisest",
"Post comment":"Postita kommentaar",
"No comments yet, start the conversation!":"Kommentaare veel pole, alusta vestlust!",
"No more messages":"Rohkem teateid pole",
"Retry":"Proovi uuesti",
"Failed to mark comments as read":"Kommentaaride loetuks märkimine ebaõnnestus",
"Unable to load the comments list":"Kommentaaride loendi laadimine ebaõnnestus",
"%1$s commented on %2$s":"%1$s kommenteeris %2$s",
"{author} commented on {file}":"{author} kommenteeris faili {file}",
"<strong>Comments</strong> for files":"<strong>Kommentaarid</strong> failidele",
"You were mentioned on \"{file}\", in a comment by a user that has since been deleted":"Sind mainis faili \"{file}\" kommentaaris kasutaja, kes on praeguseks kustutatud.",
"{user} mentioned you in a comment on \"{file}\"":"{user} mainis sind faili \"{file}\" kommentaaris",
"Files app plugin to add comments to files":"Failid rakenduse laiendus failidele kommentaaride lisamiseks",
"Edit comment":"Muuda kommentaari",
"Delete comment":"Kustuta kommentaar",
"No comments yet, start the conversation!":"Kommentaare veel pole, alusta vestlust",
"Cancel edit":"Loobu muutmisest",
"Post comment":"Postita kommentaar",
"No comments yet, start the conversation!":"Kommentaare veel pole, alusta vestlust!",
"No more messages":"Rohkem teateid pole",
"Retry":"Proovi uuesti",
"Failed to mark comments as read":"Kommentaaride loetuks märkimine ebaõnnestus",
"Unable to load the comments list":"Kommentaaride loendi laadimine ebaõnnestus",
"You commented on {file}":"You commented on {file}",
"%1$s commented on %2$s":"%1$s commented on %2$s",
"{author} commented on {file}":"{author} commented on {file}",
"<strong>Comments</strong> for files":"<strong>Comments</strong> for files",
"You were mentioned on \"{file}\", in a comment by a user that has since been deleted":"You were mentioned on \"{file}\", in a comment by a user that has since been deleted",
"{user} mentioned you in a comment on \"{file}\"":"{user} mentioned you in a comment on \"{file}\"",
"Files app plugin to add comments to files":"Files app plugin to add comments to files",
"Edit comment":"ویرایش توضیح",
"Delete comment":"حذف توضیح",
"New comment …":"توضیح جدید ...",
"Post":"ارسال",
"Cancel":"منصرف شدن",
"[Deleted user]":"[کاربر حذف شده]",
"Cancel edit":"Cancel edit",
"Post comment":"Post comment",
"No comments yet, start the conversation!":"هنوز هیچ نظری ندارید ، مکالمه را شروع کنید!",
"More comments …":"نظرات بیشتر...",
"Save":"ذخیره",
"Allowed characters {count} of {max}":"شخصیت های مجاز {count} از {max",
"Error occurred while retrieving comment with ID {id}":"هنگام بازیابی نظر با ID {id Er خطایی رخ داد",
"Error occurred while updating comment with id {id}":"هنگام به روزرسانی نظر با شناسه شناسه Er خطایی روی داد",
"Error occurred while posting comment":"هنگام ارسال نظر خطایی روی داد",
"Comment":"نظر"
"No more messages":"No more messages",
"Retry":"تلاش دوباره",
"Failed to mark comments as read":"Failed to mark comments as read",
"Unable to load the comments list":"Unable to load the comments list",
"You commented on {file}":"You commented on {file}",
"%1$s commented on %2$s":"%1$s commented on %2$s",
"{author} commented on {file}":"{author} commented on {file}",
"<strong>Comments</strong> for files":"<strong>Comments</strong> for files",
"You were mentioned on \"{file}\", in a comment by a user that has since been deleted":"You were mentioned on \"{file}\", in a comment by a user that has since been deleted",
"{user} mentioned you in a comment on \"{file}\"":"{user} mentioned you in a comment on \"{file}\"",
"Files app plugin to add comments to files":"Files app plugin to add comments to files",
"Edit comment":"ویرایش توضیح",
"Delete comment":"حذف توضیح",
"New comment …":"توضیح جدید ...",
"Post":"ارسال",
"Cancel":"منصرف شدن",
"[Deleted user]":"[کاربر حذف شده]",
"Cancel edit":"Cancel edit",
"Post comment":"Post comment",
"No comments yet, start the conversation!":"هنوز هیچ نظری ندارید ، مکالمه را شروع کنید!",
"More comments …":"نظرات بیشتر...",
"Save":"ذخیره",
"Allowed characters {count} of {max}":"شخصیت های مجاز {count} از {max",
"Error occurred while retrieving comment with ID {id}":"هنگام بازیابی نظر با ID {id Er خطایی رخ داد",
"Error occurred while updating comment with id {id}":"هنگام به روزرسانی نظر با شناسه شناسه Er خطایی روی داد",
"Error occurred while posting comment":"هنگام ارسال نظر خطایی روی داد",
"Comment":"نظر"
"No more messages":"No more messages",
"Retry":"تلاش دوباره",
"Failed to mark comments as read":"Failed to mark comments as read",
"Unable to load the comments list":"Unable to load the comments list",
"You commented on %1$s":"Vostede comentou en %1$s",
"You commented on {file}":"Vostede comentou en {file}",
"You commented on %1$s":"Vde. comentou en %1$s",
"You commented on {file}":"Vde. comentou en {file}",
"%1$s commented on %2$s":"%1$s comentados en %2$s",
"{author} commented on {file}":"{author} comentou en {file}",
"<strong>Comments</strong> for files":"<strong>Comentarios</strong> para ficheiros",
"You were mentioned on \"{file}\", in a comment by a user that has since been deleted":"Mencionáronte en \"{ficheiro}\", nun comentario dun usuario que xa foi eliminado",
"{user} mentioned you in a comment on \"{file}\"":"{user} mencionoute nun comentario en \"{file}\"",
"Files app plugin to add comments to files":"Engadido da aplicación de ficheiros para engadir comentarios aos ficheiros",
"You were mentioned on \"{file}\", in a comment by a user that has since been deleted":"Mencionárono en «{file}», nun comentario dun usuario que xa foi eliminado",
"{user} mentioned you in a comment on \"{file}\"":"{user} mencionouno a Vde. nun comentario en «{file}»",
"Files app plugin to add comments to files":"Complemento da aplicación de ficheiros para engadir comentarios aos ficheiros",
"Edit comment":"Editar comentario",
"Delete comment":"Eliminar comentario",
"Cancel edit":"Cancelar a edición",
"Post comment":"Publicar comentario",
"No comments yet, start the conversation!":"Aínda non hai comentarios, comeza a conversa!",
"No more messages":"Non hai máis mensaxes",
"Retry":"Volver tentar",
"Retry":"Tentar de novo",
"Failed to mark comments as read":"Produciuse un fallo ao marcar os comentarios como lidos",
"Unable to load the comments list":"Non é posíbel cargar a lista de comentarios",
"_%n unread comment_::_%n unread comments_":["%n comentario sen ler","%n comentarios sen ler"],
"_1 new comment_::_{unread} new comments_":["1 comentario novo","{unread} comentarios novos"],
"Comment":"Comentario",
"An error occurred while trying to edit the comment":"Produciuse un erro mentres tentaba editar o comentario",
"An error occurred while trying to edit the comment":"Produciuse un erro cando tentaba editar o comentario",
"Comment deleted":"Comentario eliminado",
"An error occurred while trying to delete the comment":"Produciuse un erro mentres tentaba eliminar o comentario",
"An error occurred while trying to create the comment":"Produciuse un erro mentres tentaba crear o comentario",
"An error occurred while trying to delete the comment":"Produciuse un erro cando tentaba eliminar o comentario",
"An error occurred while trying to create the comment":"Produciuse un erro cando tentaba crear o comentario",
"You commented on %1$s":"Vostede comentou en %1$s",
"You commented on {file}":"Vostede comentou en {file}",
"You commented on %1$s":"Vde. comentou en %1$s",
"You commented on {file}":"Vde. comentou en {file}",
"%1$s commented on %2$s":"%1$s comentados en %2$s",
"{author} commented on {file}":"{author} comentou en {file}",
"<strong>Comments</strong> for files":"<strong>Comentarios</strong> para ficheiros",
"You were mentioned on \"{file}\", in a comment by a user that has since been deleted":"Mencionáronte en \"{ficheiro}\", nun comentario dun usuario que xa foi eliminado",
"{user} mentioned you in a comment on \"{file}\"":"{user} mencionoute nun comentario en \"{file}\"",
"Files app plugin to add comments to files":"Engadido da aplicación de ficheiros para engadir comentarios aos ficheiros",
"You were mentioned on \"{file}\", in a comment by a user that has since been deleted":"Mencionárono en «{file}», nun comentario dun usuario que xa foi eliminado",
"{user} mentioned you in a comment on \"{file}\"":"{user} mencionouno a Vde. nun comentario en «{file}»",
"Files app plugin to add comments to files":"Complemento da aplicación de ficheiros para engadir comentarios aos ficheiros",
"Edit comment":"Editar comentario",
"Delete comment":"Eliminar comentario",
"Cancel edit":"Cancelar a edición",
"Post comment":"Publicar comentario",
"No comments yet, start the conversation!":"Aínda non hai comentarios, comeza a conversa!",
"No more messages":"Non hai máis mensaxes",
"Retry":"Volver tentar",
"Retry":"Tentar de novo",
"Failed to mark comments as read":"Produciuse un fallo ao marcar os comentarios como lidos",
"Unable to load the comments list":"Non é posíbel cargar a lista de comentarios",
"_%n unread comment_::_%n unread comments_":["%n comentario sen ler","%n comentarios sen ler"],
"_1 new comment_::_{unread} new comments_":["1 comentario novo","{unread} comentarios novos"],
"Comment":"Comentario",
"An error occurred while trying to edit the comment":"Produciuse un erro mentres tentaba editar o comentario",
"An error occurred while trying to edit the comment":"Produciuse un erro cando tentaba editar o comentario",
"Comment deleted":"Comentario eliminado",
"An error occurred while trying to delete the comment":"Produciuse un erro mentres tentaba eliminar o comentario",
"An error occurred while trying to create the comment":"Produciuse un erro mentres tentaba crear o comentario",
"An error occurred while trying to delete the comment":"Produciuse un erro cando tentaba eliminar o comentario",
"An error occurred while trying to create the comment":"Produciuse un erro cando tentaba crear o comentario",
"No comments yet, start the conversation!":"Ancora nessun commento, inizia la conversazione!",
"No more messages":"Non ci sono altri messaggi",
"Retry":"Riprova",
"Failed to mark comments as read":"Impossibile segnare i commenti come letti",
"Unable to load the comments list":"Impossibile caricare l'elenco dei commenti",
"_%n unread comment_::_%n unread comments_":["%n commento non letto","%n commenti non letti","%n commenti non letti"],
"_1 new comment_::_{unread} new comments_":["1 nuovo commento","{unread} nuovi commenti","{unread} nuovi commenti"],
Some files were not shown because too many files have changed in this diff
Show More
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.