log the error in case a notification mail of a new share couldn't
be send to the recipient and finish the share operation successfully
Signed-off-by: Bjoern Schiessle <bjoern@schiessle.org>
When a password is reste we should make sure that all users are properly
logged in. Pending states should be cleared. For example a session where
the 2FA code is not entered yet should be cleared.
The token is now removed so the session will be killed the next time
this is checked (within 5 minutes).
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
To make sure that the versions in the legacy backend are shared again we
have to check the storage of a file. Since all shared files are still on
the owners storage.
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
The password input was shown in the popup menu when passwords were not
enforced, or when they were enforced but no password was set, which
prevented updating/changing the password once set. As the password input
should be shown too when password are enforced and a password is set no
condition is needed, so now the password input is always shown.
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
When the uploaded files have a relative path (that is, when a folder is
uploaded) it is first ensured that all the parent folders exist, which
is done by trying to create them. When a folder is created in the
currently opened folder the file list is updated and a row for the new
folder is added. However, this was done too when the folder already
existed, which caused the previous row to be removed and a new one added
to replace it.
For security reasons, some special headers need to be set in requests;
this is done automatically for jQuery by handling the "ajaxSend" event
in the document. In the case of DAV requests, if the headers are not set
the server rejects the request with "CSRF check not passed".
When a file or folder is dropped on a folder row the jQuery upload
events are chained from the initial drop event, which has the row as its
target. In order to upload the file jQuery performs a request, which
triggers the "ajaxSend" event in the row; this event then bubbles up to
the document, which is then handled by adding the special headers to the
request.
However, when a folder was dropped on a folder row that folder row was
removed when ensuring that the folder exists. The jQuery upload events
were still triggered on the row, but as it had been removed it had no
parent nodes, and thus the events did not bubble up. Due to this the
"ajaxSend" event never reached the document when triggered on the
removed row, the headers were not set, and the upload failed.
All this is simply fixed by not removing the folder row when trying to
create it if it existed already.
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
parallel search is not compatible with paged search, but the letter is
usually always applied.
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
If the remember_login_cookie_lifetime is set to 0 this means we do not
want to use remember me at all. In that case we should also not creatae
a remember me cookie and should create a proper temp token.
Further this specifies that is not 0 the remember me time should always
be larger than the session timeout. Because else the behavior is not
really defined.
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
Fixes#13285
The wrapper logger should not be used here. But we need the real logger.
Since this in internal we can just pass that on directly.
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
It seems iOS doesn't like us to change the location. So now we submit it
to the server that geneartes the redirect.
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
Admin should _not_ be able to change password when:
- if an encryption module is loaded and it uses per-user keys
- if encryption is enabled but no encryption modules are loaded
Admin should be able to change the password when:
- no encryption module is loaded and encryption is disabled
- encryption module is loaded but it doesn't require per user keys
Signed-off-by: Bjoern Schiessle <bjoern@schiessle.org>
Before the joining and filtering removed unkown files. Resulting in
manual queries for all the files with no (unread) comments (the 99%).
Long story short. This will return a list of all the files in the parent
folder with their unread comment count (can be 0). But this makes sure
that the result is properly cached. In the dav handling.
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
"OC.dirname" removes everything after the last "/", so a path without
slashes is returned without changes. "result.path" does not include
leading nor trailing "/", so when the path is for a file or folder in
the base folder "OC.dirname(result.path)" returns "result.path".
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
When id column has no autoincrement flag query for lastInsertId fails
on postgres because no value has been generated. Call lastInsertId only
if id is null.
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
Else on scss files we'd get <file>?v=<hash>?v=<hash2>
This is of course not valid. Now it becomes <file>?v=<hash>-<hash2>
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
Fixes#7084
Now entering wrongly cased email (roeland@ instead of Roeland@) for
password reset etc. Will also work.
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
Because the redirect from the SAML/SSO endpoint is a POST the lax/strict
cookies are not properly send.
Note that it is not strictly requried on this endpoint as we do not need
the remember me data. Only the real session info is enough. The endpoint
is also already protected by a state token.
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
during login they might be cached as non-existing and cause an Exception
in the long run
reduces some duplication, too
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
This prevent the object store and cache from getting out of sync
when an objectstore silently fails or the php process get's killed
during the upload without giving us the chance to cleanup
Signed-off-by: Robin Appelman <robin@icewind.nl>
Disabled buttons use the default cursor, but as the cursor property for
primary buttons is set after the cursor property for disabled buttons
the latter is always overridden, even if the primary button is also
disabled. Due to this it is necessary to explicitly set the default
cursor for disabled primary buttons.
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
Fixes#12588
Probably needs more fixing for the other cases. But this is the quick
fix I could come up with for now.
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
When a touch is done (i.e. when creating a new file in the node API)
The hooks contain 'write' and 'touch' (and the operation is touch as
well). This would cause a double write update. Which doesn't make sense.
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
The second execute statement should be inside the if block. Else it gets
executed twice which makes no sense.
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
Fixes#9058
If the option to autocomplete users is disabled. We also should not
enumerate the users on this endpoint.
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
c23a66cda4 broke the system address book.
We now move the ACL rules for this special case up and all is good in
the world again.
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
Having both "FilesAppSharingContext" and "FilesSharingAppContext" was
confusing, so "FilesSharingAppContext" was renamed to a more descriptive
name.
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
To reshare a file there must be at least three enabled users in the
system; although it would be possible to run the steps to create a third
user in the scenarios that need it for convenience a third enabled user
besides "admin" and "user0" was added to the default setup.
In a similar way, a new step was added too to login as a given user
name, similar to the steps to log in as "user0" and as "admin".
Finally, another actor, "Jim", was introduced for those scenarios which
should be played by three standard actors (that is, without a special
configuration like "Rubeus").
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
If the server is too slow, changing to a different file immediately
after sending a new comment but without waiting for the comment to be
shown for the original file could cause the new comment to be shown for
the current file instead.
This is, indeed, a bug in the comments. However, it is not possible to
test it reliably in the acceptance tests, as it depends on how fast the
server adds the message and how fast the client changes to a different
file; sometimes the test would fail and sometimes it would not.
Therefore, now it is waited for the comment to be added before changing
to another file, as in this case it can be reliably tested that changing
to a different file does not cause the comments from the previous file
to be shown in the current file (this was a different bug already fixed
and due to which this test was added in the first place).
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
When the "Comments" tab is open the empty content element is always in
the DOM, although it is only shown once the message collection was
fetched and there were no messages. Due to this it is necessary to
explicitly wait for it to be shown instead of relying on the implicit
wait made to find the element; otherwise it would be found immediately
and if the collection was not fetched yet it would not be visible,
causing the test to fail.
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
Navigating to the root folder is already handled by
OCA.Files.Navigation.setActiveItem in case the view doesn't change.
Signed-off-by: Julius Härtl <jus@bitgrid.net>
When a view is rendered it should not be concerned with where it is
going to be placed in the document; in general this should be a
responsibility of the object using the view.
Moreover, when the details view is rendered it should simply prepare a
skeleton that includes the root elements provided by the plugins; those
elements will be updated by the plugins as needed when a file or a tab
is selected.
Finally, the details view should not be explicitly rendered. The
rendering removes the previous elements, but that is needed only when
the details view is in a dirty state, that is, when new plugins were
added since the last time that it was rendered. However, that dirty
state is internally handled, and the view is automatically rendered
again if needed when a file info is set.
Due to all that the details view is no longer explicitly rendered when
updating it with a different file. Also, as each file list has its own
details view, and each details view has its own element, but there can
be only one details view/sidebar element in the document, when the file
list updates the details view it also replaces the current one in the
document with its own details view if needed (that is, if it is not the
current one already).
Besides that, when the element of a details view is replaced with the
element of a different details view the old one should be detached from
the document, but never removed. Otherwise the event handlers would not
work when that element is attached again later (when changing to a
different section in the Files app and then going back to the previous
one).
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
Tab headers that should not be shown are marked with the "hidden" CSS
class. The CSS rules set "display: none" for ".hidden" elements, but as
the rules for ".tabHeaders .tabHeader" are more specific than rules for
".hidden" the "display" property is overriden and ends being "flex".
Therefore, it is necessary to explicitly set a rule for ".tabHeaders
.tabHeader.hidden" elements.
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
Fixes#12498
This means that we set that it is a proper app token once it is
validated. This will allow the 2FA middleware to just run the same
check.
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
* integrity warning is shown during update and in the admin setup checks
* there is also the plan to retire this old way of notification
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
* fixes#9305 by not being prone to the race condition in insertIfNotExists
* fixes#6899 by not using a query that can result in a deadlock
* replaces the insertIfNotExists call with an insert which is wrapped into a try-catch block
* followup to #12371
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
* fixes#6160 by not being prone to the race condition in insertIfNotExists
* fixes#12228 by not using a query that can result in a deadlock
* replaces the insertIfNotExists call with an insert which is wrapped into a try-catch block
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
The "Download" item in the menu of public share pages is no longer shown
in wide (>768px) windows (although the element is in the DOM and shown
if resized to a narrow window).
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
For local users / groups the display name is enough to show, we just need details for email/remote shares
Signed-off-by: Julius Härtl <jus@bitgrid.net>
LDAP servers respond with that even if a limit was passed with the
request. Having this statement logged causes a lot of confusion.
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
Due to legacy reasons the password of link shares was returned in the
"share_with" and "share_with_displayname" parameters of the response
data. Now a proper "password" parameter is returned too; the old
"share_with" and "share_with_displayname" parameters are kept, although
deprecated, and they will be removed in a future version of Nextcloud.
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
Fixes#1020
When an external storage is shared with you in full the root is ''
(empty). This adds an extra check for an empty jail basically.
Because if the jail is on the empty string. It matches all paths.
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
There is no reason to log FileLock errors as exceptions to the log file.
Locks happen for very legit reasons and it is actually a sign of the
code doing its job.
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
fixes#10934
Else it triggers the rendering two times. Resulting is weird state in
for example the comments. Because the comments for OLD_FILEID are
retrieved but then the model is changed to NEW_FILEID. But the old
comments still get in and get parsed.
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
In the acceptance tests the link share menu is automatically opened if
needed before interacting with an item in the menu; if the menu is not
open it is opened by clicking on its toggle.
However, since a recent change the link share menu is automatically
opened by the regular UI after the link share is created. This causes
that, sometimes, after the creation of a link share the acceptance tests
check whether the menu is shown or not before the menu was automatically
opened; as the menu is not open then the acceptance tests proceed to
click on the toggle, but in the meantime the link share was created and
the menu opened, so clicking on the toggle now closes it. As the menu is
closed it is not possible to interact with its items and the test fails.
To prevent that now the acceptance tests wait for the link share menu to
open after a link share is created before continuing with the other
steps.
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
If the sendmail binary can't be found at all we fallback to the default
path.
It most likely is not there but then at least a proper error message
pops up.
Updated the tests to also properly pass.
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
`sendmail` can very well be in a path different from
`/usr/sbin/sendmail`.
We already search `$PATH` at `lib/private/Settings/Admin/Mail.php` to
detect whether we want to offer sendmail as a mail transfer method, so
let's be consistent and actually initialize `\Swift_SendmailTransport`
with this path to sendmail, instead of just hardcoding
`/usr/sbin/sendmail`.
Signed-off-by: Florian Klink <flokli@flokli.de>
If the userbackend doesn't allow validating the password for a given uid
then there is no need to perform this check.
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
On some backends (saml for example) users can't revalidate their
passwords as Nextcloud has no way to do verify it.
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
When Talk is enabled the menu for link shares now shows a checkbox to
protect the password by Talk (that is, to show the "Request password by
Talk" UI in the authentication page for the link share).
Although in e-mail shares protecting the share with a password and
protecting the password by Talk are mutually exclusive actions (as when
the password is set it is sent to the sharee, so it must be set again
when protecting it by Talk to be able to verify the identity of the
sharee), in the case of link shares protecting the password by Talk is
an additional step to protecting the share with a password (as just
setting the password does not disclose it to anyone). As such, the
checkbox is shown only when there is a password set for the link share
(even if the field itself for the password is not shown, like when they
are enforced in the settings).
Note that the icon set for the field, "icon-passwordtalk", does not
currently exist; it is the same used for e-mail shares, and it is needed
simply to get the right padding in the menu.
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
The update share tests only checked that the share returned by
"update()" had the expected values. However, as "update()" returns the
same share that was given as a parameter the tests were not really
verifying that the values were updated in the database.
In a similar way, the test that checked that a password was removed did
not set a password first, so even if the database returned null it could
be simply returning the default value for the share; a password must be
set first to ensure that it is removed.
Besides that, a typo was fixed too that made the checks on the original
share instead of on the one returned by "update()"; right now it is the
same share, so the change makes no difference, but it is how the check
should be done anyway.
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
Although now it is possible to create several link shares the acceptance
tests currently handles only the first link share; this first link share
is now created by clicking an "Add new share" button instead of a
checkbox.
Besides that, the "Copy link" button has been moved from the menu to the
row, next to the menu trigger.
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
If a user can't authenticate normally (because they have 2FA that is not
available on their devices for example). The redirect that is generated
should be of the proper format.
This means
1. Include the protocol
2. Include the possible subfolder
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
Allows apps to register version backends for storage types
The existing versions backend is wrapped in a "legacy" backend.
Signed-off-by: Robin Appelman <robin@icewind.nl>
this removes the need for temporary storages with some external storage backends.
The new method is added to a separate interface to maintain compatibility with
storage backends implementing the storage interface directly (without inheriting common)
Currently the interface is implemented for objectstorage based storages and local storage
and used by webdav uploads
Signed-off-by: Robin Appelman <robin@icewind.nl>
Before we'd round up all preview request to their nearest power of two.
This resulted still in a lot of possible images. Generating a lot of
server load and taking up a lot of space.
This moves it to previews to be powers of 4: 64, 256, 1024 and 4096
Also the first two powers are always skipped (4, 16) as it doesn't make
sense to generate previews for that.
We cache preview pretty agressively and I feel this is a better
tradeoff.
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
Just some house keeping. IUserTools with used in even older days for
easier creation of Access instances…
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
Fixes#12131
If we hit an expired token there is no need to continue checking. Since
we know it is a token.
We also should not register this with the bruteforce throttler as it is
actually a valid token. Just expired. Instead the authentication should
fail. And buisness continues as usual.
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
Hiding the download does not depend on other settings and it does not
affect other settings either (for example, it would be possible to hide
the downloads yet make the share editable), so a simple checkbox was
added to the menu. However, note that this option is only available for
files, but not for folders.
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
When the "hide download" property of a share is set the public share
page will not show the download button nor the menu with the download,
direct link and "Add to your Nextcloud" actions; the "downloadURL"
hidden field will not be included either in the generated HTML.
Despite that, note that the "downloadURL" parameter is still set and
passed to the template, as this could be needed anyway to generate
previews (for example, of audio files).
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
… when an unmapped user logs in for the first time when background job
mode is ajax and no memcache was configured.
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
When using atoken obtained via OAuth the token expires. Resulting in
brute force attempts hitting the requesting IP.
This resets the brute force attempts for that UID on a valid refresh of
the token.
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
If doing achunked upload the mimetype of the folder would otherwise be
guessed from the path. Which always returned application/octet-stream.
If an access control rule to block that is in place this means that all
chunked uploads fail hard in directories as the isCreatable on the
directory always fails.
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
The PHP built-in server can crash when certain actions are performed in
Nextcloud (but although the crash is triggered by Nextcloud it does not
seem to be a Nextcloud bug), which can lead to failures in the
acceptance tests that would have otherwise passed.
A crash of the PHP built-in server during an acceptance test can be
identified by the message "sh: 1: kill: No such process" in the
acceptance tests output; as the PHP built-in server crashed its process
does no longer exist when it is tried to be killed when the scenario
ends.
Although the crash has been observed in other tests too it is more
prevalent in the tests for tags and the theming app. In order to
reduce the false positives those tests are now run on Apache instead of
on the PHP built-in sever. However, the rest of tests are still run on
the PHP built-in server due to its lower resource consumption.
In order to run a feature or just a scenario using Apache it has to be
tagged with "@apache"; features or scenarios without that tag (the
default) will run on the PHP built-in server instead.
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
In order to run the acceptance tests in Apache "/var/www/html" has to be
linked to the root directory of the Nextcloud server. Before this was
automatically done when launching the acceptance tests through
"./run.sh", but an explicit command was needed when run in Drone. Now
the linking was moved from "run.sh" to "run-local.sh", so it is
automatically done when run through "./run.sh" and in Drone, including
when running the tests for an app instead of for the server.
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
Each time a new actor appears in a scenario the browser window of the
new actor is put in front of the browser windows of the previous actors.
Before, when acting again as a previous actor his browser window stayed
in the background; in most cases everything worked fine even if the
window was in the background, but due to a bug in the Firefox driver of
Selenium and/or maybe in Firefox itself when the window was in the
background it was not possible to set the value of an input field that
had a range selected.
Now, when acting again as a previous actor his browser window is brought
to the foreground. This prevents the bug from manifesting, but also
reflects better how a user would interact with the browser in real life.
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
This will make it possible to act propely on moves of future files if we
need to know the size (like for max size virus scanning).
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
As discussed in https://github.com/nextcloud/server/issues/11594 when discovering if
x-forwarded-for is working properly its not possible to use getRemoteAddr because
the "client ip" is returned. For this check the ip of the last hop would be required.
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
A revert triggers a move in the DAV client, and the DAV client expects a
DAV error message to be provided by the server in case of failure; if
no error message is given the client ends trying to get an attribute
from an undefined object and "crashes".
Besides that, if the revert fails the "done" callback of the promise
(the first parameter of "then") is never called, so a "fail" callback
should be used instead.
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
In Jasmine 2.5 the "it" function takes an optional parameter that should
be called when the async work is completed (returning a promise was
introduced in Jasmine 2.7, so it is not supported yet in the tests). If
the parameter is not declared then the next test is executed without
waiting for the asynchronous work in the previous one to finish, which
could cause that asynchronous work to finish while a different test is
being run.
Note that if that happens the test could still work as expected if it
relied only in local variables. However, in the case of the successful
revert tests, the stubs being checked are not the ones created when that
test was initialized, but the ones created when the next test, the
failed revert test, was initialized and the previous variables were
replaced (although the model itself calls the proper stubs, as they are
set through parameters in function calls).
Besides all that, the checks in the failed revert test were never
executed due to a different problem which will be fixed in the next
commit.
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
humanFileSize: add test with locale
humanFileSize: use canonical locale
humanFileSize: skip test w/o toLocaleString support
humanFileSize: stub getCanonicalLocale
OC.getCanonicalLocale: cover undefined case
humanFileSize: fix getCanonicalLocale stub
Signed-off-by: Claas Augner <git@caugner.de>
Before it quit right after finding the theme version of the l10n file which results in a not translated part of the UI.
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
The custom handler for "URL changed" events were added to reload the
file list whenever the sections for favorites and shares were opened;
this was used to fix the problem of not reloading the file lists when
opening them for a second time. However, besides that the handlers were
not really necessary, and as the root of the bug was fixed in the
previous commit those handlers are now removed.
The file list for tags uses the handler for a different purpose, though,
so that one was kept.
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
When a section is open in the Files app a "show" event is triggered.
File list objects handle that event by reloading themselves, but only
if the file list was shown at least once. However, the file list objects
of plugins are created when the "show" event is triggered for the first
time for their section; as the file list objects register their handler
for the "show" event when they are created they never handle the first
triggered "show" event, as the handler is set while that event is being
already handled. Therefore, from the point of view of the handler, the
second time that a "show" event was triggered it was seen as if the file
list was shown for the first time, and thus it was not reloaded. Now the
"shown" property is explicitly set for those file lists that are created
while handling a "show" event, which causes them to be reloaded as
expected when opening their section again.
Note that it is not possible to just reload the file list whenever it is
shown; the file list is reloaded also when the directory changes, and
this can happen when the web page is initially loaded and the URL is
parsed. In that case, if file lists were reloaded when shown for the
first time then it could be reloaded twice, one with the default
parameters due to the "show" event and another one with the proper
parameters once the URL was parsed, and the files that appeard in the
list would depend on which response from the server was received the
last.
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
This fixes errors from LGTM like the following one:
Variable i is used like a local variable,
but is missing a declaration.
Signed-off-by: Stefan Weil <sw@weilnetz.de>
The old code would emit the hooks twice. Thus having the version written
twice. Which is not very performant as it is first read twice as well.
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
This fixes some recommendations from LGTM:
Avoid automated semicolon insertion (90% of all statements
in the enclosing function have an explicit semicolon).
Signed-off-by: Stefan Weil <sw@weilnetz.de>
since the target user is known at the time of creating the trashitem
the original location can already be adjusted on a per user level
Signed-off-by: Robin Appelman <robin@icewind.nl>
fix select statement
Make trashbin api modules
Apps can register trashbin backends for specific storages,
allowing them to modify trashbin behavior for storages
The old trashbin implementation has been wrapped in a "legacy" backend,
for future work this can be replaced with a new backend that better handles
shares while still keeping the legacy backend around to keep existing trash
from being accessible
Signed-off-by: Robin Appelman <robin@icewind.nl>
When obtaining the SourceRootInfo we can call init. If this fails the
cache is set to a failed cache and the storage to a failed storage.
However we did not check for this. Which means that if the storage was
invalid it would fail later on.
Now we will properly error out.
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
Some related tests had to be changed because they relied on internals, see also from the PHPUnit documentation:
"Exercise caution when using [the at] matcher as it can lead to brittle tests which are too closely tied to specific implementation details."
Signed-off-by: Zulan <git@zulan.net>
No more weird eval to construct a plural function.
We just use the plural function from symfony.
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
This was the error message that we have seen:
```
Argument 1 passed to OC\\Share20\\Share::setSendPasswordByTalk() must be of the type boolean, null given, called in apps/sharebymail/lib/ShareByMailProvider.php on line 981
```
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
Fixes#11637
If we do not normalize the unjailed path we might end up with a path
like files/user/folder/. which can break on objectstores
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
When "session_lifetime" can not be converted to a number the interval
becomes a NaN due to dividing it by 2. This NaN was "dragged" over all
the other mathematical operations and caused the csrftoken to be got
again and again due to an infinite loop with no pauses in "setInterval".
Now, the interval is set to the default value instead if the
"session_lifetime" can not be converted to a number.
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
The check is based on the HTTP status returned by the URL, and different
URLs may return different status (for example, DAV returns 207, while
a service like WebFinger would return 200), so the expected status needs
to be set depending on the URL.
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
This is IMO a bit more readable and it seems to make the code faster.
Tested it on the company instance where there are over 3k calls to this
function. It shaves off around 10ms.
The advantage here is that the pattern gets optimized by php itsel and
cached.
Also looking for all patterns at the same time and especially no longer
looping for /./ patterns should save time.
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
fixes#11617
The OCS routes are only absolute for now as they are often exposed to
the outside anyway and are on a different endpoint than index.php in
anyway.
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
This adds abstract classes to base background jobs on.
Right now almost all uses of this use the private namespace.
For most usages it will be enough to just extend the the abstract
classes QueuedJob or TimedJob.
It should be a straight forward drop in replacement.
The private jobs can then be killed off after a few releases. So we have
a nice public API.
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
To allow us to create previews of files stored in appdata we need to
construct the view differently.
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
In general the style of the tabs container should not change depending
on which tab is the currently selected one. However, this could be
needed in some very specific cases, so now the tab views can specify the
extra CSS classes to be used in their container when they are selected.
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
Fixes#10852
A quick hack. Still ensures some type safety however now also accepts
null. Else we'd need to add a whole new layer of middlewares.
This can only happen when a guest user wants to access a controller that
requries the user_id.
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
* Show icon if no provider is available
* Reduce shown text if no provider available
* Fix login button icons
* Make backup codes button primary if the only options to log in
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
Now that we allow enforcing 2 factor auth it make sense if we also allow
and endpoint where the clients can in the background fetch an
apppassword if they were configured before the login flow was present.
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
Fixes#11097
If your password hash changed (becuse your are on 7.2 and we moved to
ARGON2). Then we shold not 'set a new password' but just update the
hash. As else we invoke the password policy again which might lock out
users.
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
Now that we can enforce 2FA we also should notify users that have
enabled 2FA but do not yet have backup codes generated.
This adds a repair step that inserts a background job to do this.
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
* On weblogin check if we have invalid public key tokens
* If so update them all with the new token
This ensures that your marked as invalid tokens work again if you once
login on the web.
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
The file logger currently resets the mode of the logfile to 0640.
When the webserver is running as a different user than the cron job
(but both are in the same group) the files mode has to be 0660. The
current implementation breaks logging for the user that is not the
owner of the logfile.
This patch introduces a new config option 'logfilemode' that expects
an octal value (defaults to 0640). Unless the value is lower or equal
than 0 the logfiles mode will be resetted to this value.
Signed-off-by: Roland Tapken <roland@bitarbeiter.net>
OC.generateUrl(OC.linkTo('contacts', 'js/')) will append index.php, we
should not have that!
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
This allows elegant upserts where the entity ID is provided (e.g. by an
external system) and when that data is fed into our database multiple
times.
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
Generate a notification to generate backup codes if you enable an other
2FA provider but backup codes are not yet generated.
* Add event listner
* Insert background job
* Background job tests and emits notification every 2 weeks
* If the backup codes are generated the next run will remove the job
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
For now it is small and there is no real standard yet. But it is better
to start with something.
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
This protects our cookies a bit more. It makes sure that when a 3rdparty
websites embededs a public alendar for example. That all the users see
this in anonymous mode there.
It adds a small helper function.
In the future we can think about protecting other cookies like this as
well. But for now this is sufficient to not have the user logged in at
all when doing 3rdparty requests.
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
The check is run only if its last parameter is true; data() tries to
convert the HTML attribute string to an actual JavaScript value, so
"true" is returned as an actual boolean instead of an string; as a
strict comparison against "true" was used the result was false and thus
the checks were not run.
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
Since there is no calendar release for 15 yet we should use an app that
we can quickly release for 15 as well.
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
for instance if a user of an external user backend is not available
currently, the whole Files UI would be frozen.
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
The default implementation of initialize in AbstractDatabase writes
database information to config.php. The method is overwritten in
Sqlite but parent is never called. Database-Name and Database-Table-Prefix
are never written to config.php. But from this point setup use values
from config.
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
Before each scenario of the acceptance tests is run the Nextcloud server
is reset to a default state. To do this the full directory of the
Nextcloud server is commited to a local Git repository and then reset to
that commit when needed.
Unfortunately, Git does not support including empty directories in a
commit. Due to this, when the default state was restored, it could
happen that the file cache listed an empty directory that did not exist
because it was not properly restored (for example,
"data/appdata_*/css/icons"), and that in turn could lead to an error
when the directory was used.
Currently the only way to force Git to include an empty directory is to
add a dummy file to the directory (so it will no longer be empty,
but that should not be a problem in the affected directories, even if
the dummy file is not included in the file cache); although Git FAQ
suggests using a ".gitignore" file a ".keep" file was used instead, as
it conveys better its purpose.
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
For some reason the docker image does not setup the permissions correctly,
by using a different name the nextcloud installer will create the database instead
with the correct permissions
Signed-off-by: Robin Appelman <robin@icewind.nl>
There are no default CSS rules for the contacts menu, as its position
depends on the element on which it is shown. Note, however, that if no
explicit rules are provided the contacts menu on mentions is affected by
the rules for the contacts menu on shares from the sharing tab.
The contacts menu is now positioned to show the tip of the arrow
horizontally aligned with the center of the avatar, and with the top of
the menu slightly below the bottom border of the mention.
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
The contacts menu was triggered only when the avatar or the name of the
user were clicked. Due to this, clicking on certain (small) areas of a
mention (like the right end, or the space between the avatar and the
name) did not show the contacts menu. Now the contacts menu is shown
when any area of the mention is clicked.
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
This is needed for the Global Scale setup to allow the master
node to perform different operations during login, depending
on the user management. Because in case of SAML, the authentication
at the idp happens at the master node.
Signed-off-by: Bjoern Schiessle <bjoern@schiessle.org>
Large files are not uploaded in a single operation, but uploaded in
several chunks; once all the chunks are uploaded then the server needs
to assemble them to get the final file.
Before, once the chunks were uploaded the progress bar was hidden.
However, this was confusing for the users, as the file could still need
some time to appear in the file list due to the assembling. Now once all
the chunks are uploaded the text in the progress bar changes to inform
the user that there are still some pending operations, and only when the
file is finally assembled the progress bar is hidden.
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
The php documentation states that an empty string should be used for a cookie when it has no real value.
null leads to the following error: expects parameter 2 to be string, null given
Signed-off-by: Martin Böh <mart.b@outlook.de>
The submit button is placed in the text area using absolute positioning,
so it is not taken into account when calculating the text layout. Due to
this it is necessary to add an explicit padding to the right of the text
area to prevent the text from overlapping the submit button.
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
Now that we actually check thepermissions properly we have to update the
tests.
* We checked an invalid path
* We checked from wrong permissions (files never have CREATE permissions
for example)
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
isCreatable only works on folders
isUpdatable if the file is not there but it is a part file also has to
be checked on the folder
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
Fixes#10584
We deleted the main token when using the login flow else mutliple tokens
would show up for a single user.
However in the case of OAuth this is perfectly fine as the
authentication happens really in your browser:
1. You are already logged in, no need to log you out
2. You are not logged in yet, but since you log in into the exact same
browser the expected behavior is to stay logged in.
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
Otherwise a line break could be added between the avatar and the user
name when the wrapper is close to the right border of the message.
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
Most of the properties of the rule are not needed for mentions, so the
rule is no longer applied to them; the only needed property was moved to
the main rule for mentions.
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
When the cursor is on an avatar wrapper the cursor is shown as a pointer
to inform the user that it can be clicked (which will either show the
contacts menu or insert a mention, depending on the case); the cursor
must be explicitly defined for the "img" element that shows the avatar
too, or otherwise the default cursor would be shown.
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
Like done in Talk, mentions to the current user are now shown with the
primary colors to make them more prominent.
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
Different browsers use different font weights for strong elements
(Chromium uses "bold", but Firefox uses "bolder", which is relative to
the font weight of the parent), so now the user name in mentions is
explicitly shown with a bold weight.
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
The avatar should be shown immediately after the avatar to be able to
accurately define the space between them using only CSS rules.
Note that in the case of the "atwho" menu it is not really needed, as a
whitespace removal seems to be done automatically by the plugin, but it
was modified for its displayed elements too for consistency.
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
Visually it makes no difference, but as the ".avatar" element is inside
a "span" element it can not be a block element to be compliant with the
HTML specification.
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
Some popover menus, like the contacts menu, still show their icon using
an img element. The main CSS rules assume that a "content-box" sizing is
being used, and thus set the size and padding of the image to add up to
the line height.
However, ".app-*" descendants use a "border-box" sizing, so when a menu
with an image was shown in an app the icon was not properly shown. Now
both the width and height of the image is set to the item height in
those cases, which causes the visible size of the icon to be the item
height minus the padding (the same as when "content-box" sizing is
used).
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
This makes sure that for example app for the context is always set.
We can in the future extend this to include more info.
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
Fixes#11035
Since the child-src directive is deprecated (we should kill it at some
point) we need to have the proper worker-src available
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
* this fixes a download error and an exception if the data content
for encryption is empty
* #3958: for recovering encrypted files with a damaged signature
this is necessary in addition to turning the signature check off
Signed-off-by: Stefan Weiberg <sweiberg@suse.com>
When two or more user share the same email address its not possible to
reset password by email. Even when only one account is active.
This pr reduce list of users returned by getByEmail by disabled users.
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2018-08-19 16:32:46 +02:00
3215 changed files with 110497 additions and 102800 deletions
Thanks for your first pull request and welcome to the community!
Feel free to keep them coming! If you are looking for issues to tackle then have a look at this selection: https://github.com/nextcloud/server/issues?q=is%3Aopen+is%3Aissue+label%3A%22good+first+issue%22
Most developers hang out on IRC. So join \#nextcloud-dev on Freenode for a chat!
*:file_folder:**Access your Data** You can store your files, contacts, calendars and more on a server of your choosing.
*:package:**Sync your Data** You keep your files, contacts, calendars and more synchronized amongst your devices.
*:arrows_counterclockwise:**Share your Data** …by giving others access to the stuff you want them to see or to collaborate with.
*:rocket:**Expandable with dozens of Apps** ...like [Calendar](https://github.com/nextcloud/calendar), [Contacts](https://github.com/nextcloud/contacts), [Mail](https://github.com/nextcloud/mail) and all those you can discover in our [App Store](https://apps.nextcloud.com)
*:lock:**Security** with our encryption mechanisms, [HackerOne bounty program](https://hackerone.com/nextcloud) and two-factor authentication.
*📁**Access your Data** You can store your files, contacts, calendars and more on a server of your choosing.
*🔄**Sync your Data** You keep your files, contacts, calendars and more synchronized amongst your devices.
*🙌**Share your Data** …by giving others access to the stuff you want them to see or to collaborate with.
*🚀**Expandable with dozens of Apps** ...like [Calendar](https://github.com/nextcloud/calendar), [Contacts](https://github.com/nextcloud/contacts), [Mail](https://github.com/nextcloud/mail) and all those you can discover in our [App Store](https://apps.nextcloud.com)
*🔒**Security** with our encryption mechanisms, [HackerOne bounty program](https://hackerone.com/nextcloud) and two-factor authentication.
*You want to learn more about how you can use Nextcloud to access, share and protect your files, calendars, contacts, communication & more at home and at your Enterprise?* [**Learn about all our Features**](https://nextcloud.com/features).
You want to learn more about how you can use Nextcloud to access, share and protect your files, calendars, contacts, communication & more at home and at your Enterprise? [**Learn about all our Features**](https://nextcloud.com/features).
## Get your Nextcloud
## Get your Nextcloud 🚚
- [**Install** a server by yourself on your own hardware or by using one of our ready to use **Appliances**](https://nextcloud.com/install/#instructions-server)
-[Buy one of the awesome **devices** coming with a preinstalled Nextcloud](https://nextcloud.com/devices/)
-[Find a service**provider** who is hosting Nextcloud for you or your company](https://nextcloud.com/providers/)
- ☑️ [**Simply sign up**](https://nextcloud.com/signup/) either through our website or through the apps directly.
-🖥 [**Install** a server by yourself](https://nextcloud.com/install/#instructions-server) on your own hardware or by using one of our ready to use **appliances**
-📦 Buy one of the [awesome **devices** coming with a preinstalled Nextcloud](https://nextcloud.com/devices/)
- 🏢 Find a [service **provider**](https://nextcloud.com/providers/) who hosts Nextcloud for you or your company
*Enterprise? Public Sector or Education user? You may want to have a look into the [**Enterprise Support Subscription**](https://nextcloud.com/enterprise/) provided by the Nextcloud GmbH*
Enterprise? Public Sector or Education user? You may want to have a look into the [**Enterprise Support Subscription**](https://nextcloud.com/enterprise/) provided by the Nextcloud GmbH.
[…learn more about how to get support for Nextcloud here!](https://nextcloud.com/support)
You can also [get support for Nextcloud](https://nextcloud.com/support)!
## Join the team :family:
### How to contribute
## Join the team 👪
1. [Set up your local development environment](https://docs.nextcloud.com/server/14/developer_manual/general/devenv.html) :rocket:
2. [Pick a good first issue](https://github.com/nextcloud/server/labels/good%20first%20issue) :notebook:
3. Create a branch, a [Pull Request](https://opensource.guide/how-to-contribute/#opening-a-pull-request) and `@mention` the people from the issue :computer:
4. Wait for it to get merged and :tada:
There are many ways to contribute, of which development is only one! Find out [how to get involved](https://nextcloud.com/contribute/), including as translator, designer, tester, helping others and much more! 😍
### Contribution Guidelines
### Development setup 👩💻
1. 🚀 [Set up your local development environment](https://docs.nextcloud.com/server/14/developer_manual/general/devenv.html)
2. 🐛 [Pick a good first issue](https://github.com/nextcloud/server/labels/good%20first%20issue)
3. 👩🔧 Create a branch and make your changes. Remember to sign off your commits using `git commit -sm "Your commit message"`
4. ⬆ Create a [pull request](https://opensource.guide/how-to-contribute/#opening-a-pull-request) and `@mention` the people from the issue to review
5. 👍 Fix things that come up during review
6. 🎉 Wait for it to get merged!
Third-party components are handled as git submodules which have to be initialized first. So aside from the regular git checkout invoking `git submodule update --init` or a similar command is needed, for details see Git documentation.
Several apps that are included by default in regular releases such as [First run wizard](https://github.com/nextcloud/firstrunwizard) or [Activity](https://github.com/nextcloud/activity) are missing in `master` and have to be installed manually by cloning them into the `apps` subfolder.
Otherwise, git checkouts can be handled the same as release archives, by using the `stable*` branches. Note they should never be used on production systems.
### Building front-end code 🏗
We move more and more towards using Vue.js in the frontend, starting with Settings. For building the code on changes, use these terminal commands in the `settings` subfolder:
``` bash
# install dependencies
make dev-setup
# build for development
make build-js
# build for development and watch edits
make watch-js
# build for production with minification
make build-js-production
# clean output files
make clean
```
**When making changes, also commit the compiled files!**
We still use Handlebars templates some places in Files and Settings. We will replace these step-by-step with Vue.js, but in the meantime you need to compile them separately.
If you don’t have Handlebars installed yet, you can do it with this terminal command:
```
sudo npm install -g handlebars
```
Then inside the root folder of your local Nextcloud development installation, run this command in the terminal every time you changed a `.handlebars` file to compile it:
```
./build/compile-handlebars-templates.sh
```
### Tools we use 🛠
- [👀 BrowserStack](https://browserstack.com) for cross-browser testing
- [🌊 WAVE](https://wave.webaim.org/extension/) for accessibility testing
- [🚨 Lighthouse](https://developers.google.com/web/tools/lighthouse/) for testing of performance, accessibility and more
## Contribution guidelines 📜
All contributions to this repository from June, 16 2016 on are considered to be
licensed under the AGPLv3 or any later version.
@@ -61,20 +118,6 @@ changed it substantially:
Please read the [Code of Conduct](https://nextcloud.com/community/code-of-conduct/). This document offers some guidance to ensure Nextcloud participants can cooperate effectively in a positive and inspiring atmosphere, and to explain how together we can strengthen and support each other.
Please review the [guidelines for contributing](https://github.com/nextcloud/server/blob/master/CONTRIBUTING.md) to this repository.
Please review the [guidelines for contributing](.github/CONTRIBUTING.md) to this repository.
More information how to contribute: [https://nextcloud.com/contribute/](https://nextcloud.com/contribute/)
### Running master checkouts
Third-party components are handled as git submodules which have to be initialized first. So aside from the regular git checkout invoking `git submodule update --init` or a similar command is needed, for details see Git documentation.
Several apps that are included by default in regular releases such as [firstrunwizard](https://github.com/nextcloud/firstrunwizard) or [gallery](https://github.com/nextcloud/gallery) are missing in `master` and have to be installed manually.
That aside Git checkouts can be handled the same as release archives.
Note they should never be used on production systems.
"{author} commented":"{outeur} het kommentaar gelewer",
@@ -13,21 +28,6 @@ OC.L10N.register(
"You were mentioned on “{file}”, in a comment by a user that has since been deleted":"Jy is genoem op “{lêer}”, in die kommentaar van 'n gebruiker wat intussen geskrap is.",
"{user} mentioned you in a comment on “{file}”":"{gebruiker} het u in ’n kommentaar oor “{lêer}” genoem",
"Files app plugin to add comments to files":"Lêertoepinprop om kommentaar op lêers te lewer",
"Edit comment":"Wysig kommentaar",
"Delete comment":"Skrap kommentaar",
"New comment …":"Nuwe kommentaar…",
"Post":"Plaas",
"Cancel":"Kanselleer",
"[Deleted user]":"[Geskrapte gebruiker]",
"No comments yet, start the conversation!":"Nog geen kommentaar, begin die gesprek!",
"More comments …":"Nog kommentare …",
"Save":"Bewaar",
"Allowed characters {count} of {max}":"Toegelate karakters {telling} van {maks}",
"Error occurred while retrieving comment with ID {id}":"’n Fout het voorgekom toe kommentaar met ID {id} opgehaal is",
"Error occurred while updating comment with id {id}":"’n Fout het voorgekom toe kommentaar met ID {id} bygewerk is",
"Error occurred while posting comment":"’n Fout het voorgekom toe kommentaar geplaas is",
"You were mentioned on “%s”, in a comment by a user that has since been deleted":"Jy was genoem op \"%s\", in die kommentaar van 'n gebruiker wat intussen geskrap is.",
"%1$s mentioned you in a comment on “%2$s”":"%1$s het u in ’n kommentaar op “%2$s” genoem"
"{author} commented":"{outeur} het kommentaar gelewer",
@@ -11,21 +26,6 @@
"You were mentioned on “{file}”, in a comment by a user that has since been deleted":"Jy is genoem op “{lêer}”, in die kommentaar van 'n gebruiker wat intussen geskrap is.",
"{user} mentioned you in a comment on “{file}”":"{gebruiker} het u in ’n kommentaar oor “{lêer}” genoem",
"Files app plugin to add comments to files":"Lêertoepinprop om kommentaar op lêers te lewer",
"Edit comment":"Wysig kommentaar",
"Delete comment":"Skrap kommentaar",
"New comment …":"Nuwe kommentaar…",
"Post":"Plaas",
"Cancel":"Kanselleer",
"[Deleted user]":"[Geskrapte gebruiker]",
"No comments yet, start the conversation!":"Nog geen kommentaar, begin die gesprek!",
"More comments …":"Nog kommentare …",
"Save":"Bewaar",
"Allowed characters {count} of {max}":"Toegelate karakters {telling} van {maks}",
"Error occurred while retrieving comment with ID {id}":"’n Fout het voorgekom toe kommentaar met ID {id} opgehaal is",
"Error occurred while updating comment with id {id}":"’n Fout het voorgekom toe kommentaar met ID {id} bygewerk is",
"Error occurred while posting comment":"’n Fout het voorgekom toe kommentaar geplaas is",
"You were mentioned on “%s”, in a comment by a user that has since been deleted":"Jy was genoem op \"%s\", in die kommentaar van 'n gebruiker wat intussen geskrap is.",
"%1$s mentioned you in a comment on “%2$s”":"%1$s het u in ’n kommentaar op “%2$s” genoem"
"%1$s commented on %2$s":"%1$s كتب تعليق على %2$s",
"{author} commented on {file}":"{author} علّق على {file}",
"<strong>Comments</strong> for files":"<strong>تعليقات</strong> على الملفات",
"Edit comment":"تعديل التعليق",
"Delete comment":"حذف التعليق",
"New comment …":"تعليق جديد",
"Post":"ارسال",
"Cancel":"إلغاء",
"[Deleted user]":"[مستخدم محذوف]",
"Comments":"تعليقات",
"No comments yet, start the conversation!":"لا يوجد تعليقات, ابدأ النقاش الآن!",
"More comments …":"مزيد من التعليقات...",
"Save":"حفظ",
"Allowed characters {count} of {max}":"عدد الأحرف المسموح بها {count} من {max}",
"Error occurred while updating comment with id {id}":"حصل خطأ أثناء تعديل التعليق رقم {id}",
"Error occurred while posting comment":"حصل خطأ أثناء إرسال التعليق",
"_%n unread comment_::_%n unread comments_":["%n تعليق غير مقروء","%n تعليق غير مقروء","تعليقان غير مقروءة","%n تعليقات غير مقروء","%n تعليق غير مقروء","%n تعليق غير مقروء"],
"Comment":"تعليق"
"Comment":"تعليق",
"You commented":"قمت بكتابة تعليق",
"%1$s commented":"%1$s كتب تعليق",
"You commented on {file}":"علقت على {file}",
"%1$s commented on %2$s":"%1$s كتب تعليق على %2$s",
"{author} commented on {file}":"{author} علّق على {file}",
"<strong>Comments</strong> for files":"<strong>تعليقات</strong> على الملفات"
"%1$s commented on %2$s":"%1$s كتب تعليق على %2$s",
"{author} commented on {file}":"{author} علّق على {file}",
"<strong>Comments</strong> for files":"<strong>تعليقات</strong> على الملفات",
"Edit comment":"تعديل التعليق",
"Delete comment":"حذف التعليق",
"New comment …":"تعليق جديد",
"Post":"ارسال",
"Cancel":"إلغاء",
"[Deleted user]":"[مستخدم محذوف]",
"Comments":"تعليقات",
"No comments yet, start the conversation!":"لا يوجد تعليقات, ابدأ النقاش الآن!",
"More comments …":"مزيد من التعليقات...",
"Save":"حفظ",
"Allowed characters {count} of {max}":"عدد الأحرف المسموح بها {count} من {max}",
"Error occurred while updating comment with id {id}":"حصل خطأ أثناء تعديل التعليق رقم {id}",
"Error occurred while posting comment":"حصل خطأ أثناء إرسال التعليق",
"_%n unread comment_::_%n unread comments_":["%n تعليق غير مقروء","%n تعليق غير مقروء","تعليقان غير مقروءة","%n تعليقات غير مقروء","%n تعليق غير مقروء","%n تعليق غير مقروء"],
"Comment":"تعليق"
"Comment":"تعليق",
"You commented":"قمت بكتابة تعليق",
"%1$s commented":"%1$s كتب تعليق",
"You commented on {file}":"علقت على {file}",
"%1$s commented on %2$s":"%1$s كتب تعليق على %2$s",
"{author} commented on {file}":"{author} علّق على {file}",
"<strong>Comments</strong> for files":"<strong>تعليقات</strong> على الملفات"
"<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}”",
"Edit comment":"Редактирай коментра",
"Delete comment":"Изтрий коментар",
"New comment …":"Нов коментар...",
"Post":"Публикация",
"Cancel":"Отказ",
"[Deleted user]":"[Изтрит потребител]",
"No comments yet, start the conversation!":"Все още няма коментари, започнете разговор!",
"More comments …":"Още коментари...",
"Save":"Запазване",
"Allowed characters {count} of {max}":"Позволени символи {count} от {max}",
"Error occurred while updating comment with id {id}":"Възникна грешка по време на обновяване на коментар с код {id}",
"Error occurred while posting comment":"Възникна грешка по време на изпращане на коментар",
"You were mentioned on “%s”, in a comment by a user that has since been deleted":"Бяхте споменат/а на “%s”, в коментар от потребител, който вече е изтрит",
"%1$s mentioned you in a comment on “%2$s”":"%1$s те спомена в коментар за “%2$s”"
"<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}”",
"Edit comment":"Редактирай коментра",
"Delete comment":"Изтрий коментар",
"New comment …":"Нов коментар...",
"Post":"Публикация",
"Cancel":"Отказ",
"[Deleted user]":"[Изтрит потребител]",
"No comments yet, start the conversation!":"Все още няма коментари, започнете разговор!",
"More comments …":"Още коментари...",
"Save":"Запазване",
"Allowed characters {count} of {max}":"Позволени символи {count} от {max}",
"Error occurred while updating comment with id {id}":"Възникна грешка по време на обновяване на коментар с код {id}",
"Error occurred while posting comment":"Възникна грешка по време на изпращане на коментар",
"You were mentioned on “%s”, in a comment by a user that has since been deleted":"Бяхте споменат/а на “%s”, в коментар от потребител, който вече е изтрит",
"%1$s mentioned you in a comment on “%2$s”":"%1$s те спомена в коментар за “%2$s”"
"No comments yet, start the conversation!":"Encara no hi ha comentaris. Comenceu la conversa!",
"More comments …":"Més comentaris...",
"Save":"Desa",
"Allowed characters {count} of {max}":"{count} caràcters permesos de {max}",
"Error occurred while updating comment with id {id}":"Hi ha hagut un error en actualitzar el comentari amb id {id}",
"Error occurred while posting comment":"Hi ha hagut un error en publicar el comentari",
"_%n unread comment_::_%n unread comments_":["%n comentari no llegit","%n comentaris no llegits"],
"Comment":"Comentari",
"You commented":"Heu comentat",
"%1$s commented":"%1$s ha comentat",
"{author} commented":"{author} ha comentat",
@@ -9,27 +23,10 @@ OC.L10N.register(
"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":"Heu estat esmentats a \"{file}\" en un comentari d'un usuari que ja no existeix",
"{user} mentioned you in a comment on “{file}”":"{user} us ha esmentat en un comentari de “{file}”",
"Files app plugin to add comments to files":"Connexió de l’aplicació de fitxers per afegir comentaris als fitxers",
"Edit comment":"Edita comentari",
"Delete comment":"Suprimeix comentari",
"New comment …":"Nou comentari...",
"Post":"Publica",
"Cancel":"Cancel·la",
"[Deleted user]":"[Usuari suprimit]",
"No comments yet, start the conversation!":"Encara no hi ha comentaris. Enceteu la conversa!",
"More comments …":"Més comentaris...",
"Save":"Desa",
"Allowed characters {count} of {max}":"{count} caràcters permesos de {max}",
"Error occurred while retrieving comment with ID {id}":"S'ha produït un error en recuperar el comentari amb l'ID {id}",
"Error occurred while updating comment with id {id}":"Hi ha hagut un error en actualitzar el comentari amb id {id}",
"Error occurred while posting comment":"Hi ha hagut un error en publicar el comentari",
"_%n unread comment_::_%n unread comments_":["%n comentari no llegit","%n comentaris no llegits"],
"_1 new comment_::_{unread} new comments_":["1 comentari nou","{unread} comentaris nous"],
"Comment":"Comentari",
"You were mentioned on “%s”, in a comment by a user that has since been deleted":"Hau estat esmentats a \"%s\" en un comentari d'un usuari que ja no existeix",
"%1$s mentioned you in a comment on “%2$s”":"%1$s us ha esmentat en un comentari a “%2$s”"
"<strong>Comments</strong> for files":"<strong>Comentaris</strong> per arxius",
"You were mentioned on “{file}”, in a comment by a user that has since been deleted":"Has estat mencionat a \"{file}\" en un comentari d'un usuari que ja no existeix",
"{user} mentioned you in a comment on “{file}”":"{user} us ha nomenat en un comentari de “{file}”",
"You were mentioned on “%s”, in a comment by a user that has since been deleted":"Has estat mencionat a \"%s\" en un comentari d'un usuari que ja no existeix",
"%1$s mentioned you in a comment on “%2$s”":"%1$s us ha nomenat en un comentari a “%2$s”"
"No comments yet, start the conversation!":"Encara no hi ha comentaris. Comenceu la conversa!",
"More comments …":"Més comentaris...",
"Save":"Desa",
"Allowed characters {count} of {max}":"{count} caràcters permesos de {max}",
"Error occurred while updating comment with id {id}":"Hi ha hagut un error en actualitzar el comentari amb id {id}",
"Error occurred while posting comment":"Hi ha hagut un error en publicar el comentari",
"_%n unread comment_::_%n unread comments_":["%n comentari no llegit","%n comentaris no llegits"],
"Comment":"Comentari",
"You commented":"Heu comentat",
"%1$s commented":"%1$s ha comentat",
"{author} commented":"{author} ha comentat",
@@ -7,27 +21,10 @@
"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":"Heu estat esmentats a \"{file}\" en un comentari d'un usuari que ja no existeix",
"{user} mentioned you in a comment on “{file}”":"{user} us ha esmentat en un comentari de “{file}”",
"Files app plugin to add comments to files":"Connexió de l’aplicació de fitxers per afegir comentaris als fitxers",
"Edit comment":"Edita comentari",
"Delete comment":"Suprimeix comentari",
"New comment …":"Nou comentari...",
"Post":"Publica",
"Cancel":"Cancel·la",
"[Deleted user]":"[Usuari suprimit]",
"No comments yet, start the conversation!":"Encara no hi ha comentaris. Enceteu la conversa!",
"More comments …":"Més comentaris...",
"Save":"Desa",
"Allowed characters {count} of {max}":"{count} caràcters permesos de {max}",
"Error occurred while retrieving comment with ID {id}":"S'ha produït un error en recuperar el comentari amb l'ID {id}",
"Error occurred while updating comment with id {id}":"Hi ha hagut un error en actualitzar el comentari amb id {id}",
"Error occurred while posting comment":"Hi ha hagut un error en publicar el comentari",
"_%n unread comment_::_%n unread comments_":["%n comentari no llegit","%n comentaris no llegits"],
"_1 new comment_::_{unread} new comments_":["1 comentari nou","{unread} comentaris nous"],
"Comment":"Comentari",
"You were mentioned on “%s”, in a comment by a user that has since been deleted":"Hau estat esmentats a \"%s\" en un comentari d'un usuari que ja no existeix",
"%1$s mentioned you in a comment on “%2$s”":"%1$s us ha esmentat en un comentari a “%2$s”"
"<strong>Comments</strong> for files":"<strong>Comentaris</strong> per arxius",
"You were mentioned on “{file}”, in a comment by a user that has since been deleted":"Has estat mencionat a \"{file}\" en un comentari d'un usuari que ja no existeix",
"{user} mentioned you in a comment on “{file}”":"{user} us ha nomenat en un comentari de “{file}”",
"You were mentioned on “%s”, in a comment by a user that has since been deleted":"Has estat mencionat a \"%s\" en un comentari d'un usuari que ja no existeix",
"%1$s mentioned you in a comment on “%2$s”":"%1$s us ha nomenat en un comentari a “%2$s”"
"You were mentioned on “{file}”, in a comment by a user that has since been deleted":"Byli jste zmíněni v souboru “{file}”, v komentáři od uživatele, který byl později smazán",
"{user} mentioned you in a comment on “{file}”":"{user} vás zmínil(a) v komentáři u „{file}“",
"Files app plugin to add comments to files":"Zásuvný modul do aplikace Soubory pro přidávání komentářů k souborům",
"Edit comment":"Upravit komentář",
"Delete comment":"Smazat komentář",
"New comment …":"Nový komentář…",
"Post":"Zveřejnit",
"Cancel":"Storno",
"[Deleted user]":"[Smazaný uživatel]",
"No comments yet, start the conversation!":"Zatím bez komentářů, začněte konverzaci!",
"More comments …":"Více komentářů…",
"Save":"Uložit",
"Allowed characters {count} of {max}":"Povolených znaků {count} z {max}",
"Error occurred while retrieving comment with ID {id}":"Došlo k chybě při načítání komentáře s ID {id}",
"Error occurred while updating comment with id {id}":"Došlo k chybě při aktualizování komentáře s id {id}",
"Error occurred while posting comment":"Došlo k chybě při zveřejňování komentáře",
"_1 new comment_::_{unread} new comments_":["Jeden nový komentář","{unread} nové komentáře","{unread} nových komentářů","{unread} nové komentáře"],
"Comment":"Komentář",
"You were mentioned on “%s”, in a comment by a user that has since been deleted":"Byli jste zmíněni v „%s“, v komentáři od uživatele, který byl později smazán",
"%1$s mentioned you in a comment on “%2$s”":"%1$s vás zmínil(a) v komentáři u %2$s"
"You were mentioned on “{file}”, in a comment by a user that has since been deleted":"Byli jste zmíněni v souboru “{file}”, v komentáři od uživatele, který byl později smazán",
"{user} mentioned you in a comment on “{file}”":"{user} vás zmínil(a) v komentáři u „{file}“",
"Files app plugin to add comments to files":"Zásuvný modul do aplikace Soubory pro přidávání komentářů k souborům",
"Edit comment":"Upravit komentář",
"Delete comment":"Smazat komentář",
"New comment …":"Nový komentář…",
"Post":"Zveřejnit",
"Cancel":"Storno",
"[Deleted user]":"[Smazaný uživatel]",
"No comments yet, start the conversation!":"Zatím bez komentářů, začněte konverzaci!",
"More comments …":"Více komentářů…",
"Save":"Uložit",
"Allowed characters {count} of {max}":"Povolených znaků {count} z {max}",
"Error occurred while retrieving comment with ID {id}":"Došlo k chybě při načítání komentáře s ID {id}",
"Error occurred while updating comment with id {id}":"Došlo k chybě při aktualizování komentáře s id {id}",
"Error occurred while posting comment":"Došlo k chybě při zveřejňování komentáře",
"_1 new comment_::_{unread} new comments_":["Jeden nový komentář","{unread} nové komentáře","{unread} nových komentářů","{unread} nové komentáře"],
"Comment":"Komentář",
"You were mentioned on “%s”, in a comment by a user that has since been deleted":"Byli jste zmíněni v „%s“, v komentáři od uživatele, který byl později smazán",
"%1$s mentioned you in a comment on “%2$s”":"%1$s vás zmínil(a) v komentáři u %2$s"
"<strong>Comments</strong> for files":"<strong>Kommentarer</strong> for filer",
"You were mentioned on “{file}”, in a comment by a user that has since been deleted":"Du blev nævnt i \"{file}”, I en kommentar af en bruger der siden er blevet slettet",
"{user} mentioned you in a comment on “{file}”":"{user} nævnte dig i en kommentarer på \"{file}\"",
"Files app plugin to add comments to files":"Files app plugin til at tilføje kommentarer til filer",
"Edit comment":"Rediger kommentar",
"Delete comment":"Slet kommentar",
"New comment …":"Ny kommentar ...",
"Post":"Indlæg",
"Cancel":"Annullér",
"[Deleted user]":"[Slettet user]",
"No comments yet, start the conversation!":"Ingen kommentarer endnu, start samtalen!",
"More comments …":"Flere kommentarer...",
"Save":"Gem",
"Allowed characters {count} of {max}":"Tilladte tegn {count} af {max}",
"Error occurred while retrieving comment with ID {id}":"Der opstod fejl under hentning af kommentar med ID {id}",
"Error occurred while updating comment with id {id}":"Der opstod fejl under opdatering af kommentar med id {id}",
"Error occurred while posting comment":"Der opstod fejl under indsendelse af kommentar",
"_1 new comment_::_{unread} new comments_":["1 ny kommentar","{unread} nye kommentarer"],
"Comment":"Kommentér",
"You were mentioned on “%s”, in a comment by a user that has since been deleted":"Du blev nævnt i \"%s”, I en kommentar af en bruger der er blevet slettet efterfølgende",
"%1$s mentioned you in a comment on “%2$s”":"%1$s nævnte dig i en kommentarer på “%2$s”"
"<strong>Comments</strong> for files":"<strong>Kommentarer</strong> for filer",
"You were mentioned on “{file}”, in a comment by a user that has since been deleted":"Du blev nævnt i \"{file}”, I en kommentar af en bruger der siden er blevet slettet",
"{user} mentioned you in a comment on “{file}”":"{user} nævnte dig i en kommentarer på \"{file}\"",
"Files app plugin to add comments to files":"Files app plugin til at tilføje kommentarer til filer",
"Edit comment":"Rediger kommentar",
"Delete comment":"Slet kommentar",
"New comment …":"Ny kommentar ...",
"Post":"Indlæg",
"Cancel":"Annullér",
"[Deleted user]":"[Slettet user]",
"No comments yet, start the conversation!":"Ingen kommentarer endnu, start samtalen!",
"More comments …":"Flere kommentarer...",
"Save":"Gem",
"Allowed characters {count} of {max}":"Tilladte tegn {count} af {max}",
"Error occurred while retrieving comment with ID {id}":"Der opstod fejl under hentning af kommentar med ID {id}",
"Error occurred while updating comment with id {id}":"Der opstod fejl under opdatering af kommentar med id {id}",
"Error occurred while posting comment":"Der opstod fejl under indsendelse af kommentar",
"_1 new comment_::_{unread} new comments_":["1 ny kommentar","{unread} nye kommentarer"],
"Comment":"Kommentér",
"You were mentioned on “%s”, in a comment by a user that has since been deleted":"Du blev nævnt i \"%s”, I en kommentar af en bruger der er blevet slettet efterfølgende",
"%1$s mentioned you in a comment on “%2$s”":"%1$s nævnte dig i en kommentarer på “%2$s”"
"You were mentioned on “{file}”, in a comment by a user that has since been deleted":"Du wurdest in einem Kommentar auf \"{file}\" von einem bereits gelöschten Nutzer erwähnt",
"{user} mentioned you in a comment on “{file}”":"{user} hat Dich in einem Kommentar zu “{file}” erwähnt",
"Files app plugin to add comments to files":"Ein Plugin für die Dateien-App zum Kommentieren von Dateien",
"Edit comment":"Kommentar bearbeiten",
"Delete comment":"Kommentar löschen",
"New comment …":"Neuer Kommentar …",
"Post":"Speichern",
"Cancel":"Abbrechen",
"[Deleted user]":"[Gelöschter Benutzer]",
"No comments yet, start the conversation!":"Keine Kommentare bisher. Beginne die Diskussion!",
"More comments …":"Weitere Kommentare…",
"Save":"Speichern",
"Allowed characters {count} of {max}":"Erlaubte Zeichen {count} von {max}",
"Error occurred while retrieving comment with ID {id}":"Es ist ein Fehler beim Empfangen des Kommentars mit der ID {id} aufgetreten",
"Error occurred while updating comment with id {id}":"Es ist ein Fehler beim Aktualisieren des Kommentars mit der ID {id} aufgetreten",
"Error occurred while posting comment":"Es ist ein Fehler beim Veröffentlichen des Kommentars aufgetreten",
"_1 new comment_::_{unread} new comments_":["1 neuer Kommentar","[unread] neue Kommentare"],
"Comment":"Kommentar",
"You were mentioned on “%s”, in a comment by a user that has since been deleted":"Du wurdest in einem Kommentar auf \"%s\" von einem bereits gelöschten Nutzer erwähnt",
"%1$s mentioned you in a comment on “%2$s”":"%1$s hat Dich in einem Kommentar zu “%2$s” erwähnt"
"You were mentioned on “{file}”, in a comment by a user that has since been deleted":"Du wurdest in einem Kommentar auf \"{file}\" von einem bereits gelöschten Nutzer erwähnt",
"{user} mentioned you in a comment on “{file}”":"{user} hat Dich in einem Kommentar zu “{file}” erwähnt",
"Files app plugin to add comments to files":"Ein Plugin für die Dateien-App zum Kommentieren von Dateien",
"Edit comment":"Kommentar bearbeiten",
"Delete comment":"Kommentar löschen",
"New comment …":"Neuer Kommentar …",
"Post":"Speichern",
"Cancel":"Abbrechen",
"[Deleted user]":"[Gelöschter Benutzer]",
"No comments yet, start the conversation!":"Keine Kommentare bisher. Beginne die Diskussion!",
"More comments …":"Weitere Kommentare…",
"Save":"Speichern",
"Allowed characters {count} of {max}":"Erlaubte Zeichen {count} von {max}",
"Error occurred while retrieving comment with ID {id}":"Es ist ein Fehler beim Empfangen des Kommentars mit der ID {id} aufgetreten",
"Error occurred while updating comment with id {id}":"Es ist ein Fehler beim Aktualisieren des Kommentars mit der ID {id} aufgetreten",
"Error occurred while posting comment":"Es ist ein Fehler beim Veröffentlichen des Kommentars aufgetreten",
"_1 new comment_::_{unread} new comments_":["1 neuer Kommentar","[unread] neue Kommentare"],
"Comment":"Kommentar",
"You were mentioned on “%s”, in a comment by a user that has since been deleted":"Du wurdest in einem Kommentar auf \"%s\" von einem bereits gelöschten Nutzer erwähnt",
"%1$s mentioned you in a comment on “%2$s”":"%1$s hat Dich in einem Kommentar zu “%2$s” erwähnt"
"You were mentioned on “{file}”, in a comment by a user that has since been deleted":"Sie wurden in einem Kommentar auf \"{file}\" von einem bereits gelöschten Nutzer erwähnt",
"{user} mentioned you in a comment on “{file}”":"{user} hat Sie in einem Kommentar zu “{file}” erwähnt",
"Files app plugin to add comments to files":"Ein Plugin für die Dateien-App zum Kommentieren von Dateien",
"Edit comment":"Kommentar bearbeiten",
"Delete comment":"Kommentar löschen",
"New comment …":"Neuer Kommentar …",
"Post":"Speichern",
"Cancel":"Abbrechen",
"[Deleted user]":"[gelöschter Benutzer]",
"No comments yet, start the conversation!":"Keine Kommentare bisher. Beginnen Sie die Diskussion!",
"More comments …":"Weitere Kommentare …",
"Save":"Speichern",
"Allowed characters {count} of {max}":"{count} von {max} Zeichen benutzt",
"Error occurred while retrieving comment with ID {id}":"Es ist ein Fehler beim Empfangen des Kommentars mit der ID {id} aufgetreten",
"Error occurred while updating comment with id {id}":"Es ist ein Fehler beim Aktualisieren des Kommentars mit der ID {id} aufgetreten",
"Error occurred while posting comment":"Es ist ein Fehler beim Veröffentlichen des Kommentars aufgetreten",
"_1 new comment_::_{unread} new comments_":["1 neuer Kommentar","[unread] neue Kommentare"],
"Comment":"Kommentar",
"You were mentioned on “%s”, in a comment by a user that has since been deleted":"Sie wurden in einem Kommentar auf \"%s\" von einem bereits gelöschten Nutzer erwähnt",
"%1$s mentioned you in a comment on “%2$s”":"%1$s hat Sie in einem Kommentar zu “%2$s” erwähnt."
"You were mentioned on “{file}”, in a comment by a user that has since been deleted":"Sie wurden in einem Kommentar auf \"{file}\" von einem bereits gelöschten Nutzer erwähnt",
"{user} mentioned you in a comment on “{file}”":"{user} hat Sie in einem Kommentar zu “{file}” erwähnt",
"Files app plugin to add comments to files":"Ein Plugin für die Dateien-App zum Kommentieren von Dateien",
"Edit comment":"Kommentar bearbeiten",
"Delete comment":"Kommentar löschen",
"New comment …":"Neuer Kommentar …",
"Post":"Speichern",
"Cancel":"Abbrechen",
"[Deleted user]":"[gelöschter Benutzer]",
"No comments yet, start the conversation!":"Keine Kommentare bisher. Beginnen Sie die Diskussion!",
"More comments …":"Weitere Kommentare …",
"Save":"Speichern",
"Allowed characters {count} of {max}":"{count} von {max} Zeichen benutzt",
"Error occurred while retrieving comment with ID {id}":"Es ist ein Fehler beim Empfangen des Kommentars mit der ID {id} aufgetreten",
"Error occurred while updating comment with id {id}":"Es ist ein Fehler beim Aktualisieren des Kommentars mit der ID {id} aufgetreten",
"Error occurred while posting comment":"Es ist ein Fehler beim Veröffentlichen des Kommentars aufgetreten",
"_1 new comment_::_{unread} new comments_":["1 neuer Kommentar","[unread] neue Kommentare"],
"Comment":"Kommentar",
"You were mentioned on “%s”, in a comment by a user that has since been deleted":"Sie wurden in einem Kommentar auf \"%s\" von einem bereits gelöschten Nutzer erwähnt",
"%1$s mentioned you in a comment on “%2$s”":"%1$s hat Sie in einem Kommentar zu “%2$s” erwähnt."
"%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":"Επεξεργασία σχολίου",
"Delete comment":"Διαγραφή σχολίου",
"New comment …":"Νέο σχόλιο …",
"Post":"Δημοσίευση",
"Cancel":"Ακύρωση",
"[Deleted user]":"[Διαγραμμένος χρήστης]",
"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}",
"Error occurred while updating comment with id {id}":"Ένα σφάλμα προέκυψε κατά την ενημέρωση του σχολίου με το id {id}",
"Error occurred while posting comment":"Ένα σφάλμα προέκυψε κατά την δημοσίευση σχολίου",
"_1 new comment_::_{unread} new comments_":["1 νέο σχόλιο","{unread} νέα σχόλια"],
"Comment":"Σχόλιο",
"You were mentioned on “%s”, in a comment by a user that has since been deleted":"Το όνομά σας αναφέρθηκε στο \"%s\", σε σχόλιο ενός χρήστη ο οποίος έχει πλέον διαγραφεί",
"%1$s mentioned you in a comment on “%2$s”":"%1$s σας ανέφερε σε σχόλιο στο “%2$s”"
"%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":"Επεξεργασία σχολίου",
"Delete comment":"Διαγραφή σχολίου",
"New comment …":"Νέο σχόλιο …",
"Post":"Δημοσίευση",
"Cancel":"Ακύρωση",
"[Deleted user]":"[Διαγραμμένος χρήστης]",
"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}",
"Error occurred while updating comment with id {id}":"Ένα σφάλμα προέκυψε κατά την ενημέρωση του σχολίου με το id {id}",
"Error occurred while posting comment":"Ένα σφάλμα προέκυψε κατά την δημοσίευση σχολίου",
"_1 new comment_::_{unread} new comments_":["1 νέο σχόλιο","{unread} νέα σχόλια"],
"Comment":"Σχόλιο",
"You were mentioned on “%s”, in a comment by a user that has since been deleted":"Το όνομά σας αναφέρθηκε στο \"%s\", σε σχόλιο ενός χρήστη ο οποίος έχει πλέον διαγραφεί",
"%1$s mentioned you in a comment on “%2$s”":"%1$s σας ανέφερε σε σχόλιο στο “%2$s”"
"<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}”",
"Edit comment":"Edit comment",
"Delete comment":"Delete comment",
"New comment …":"New comment …",
"Post":"Post",
"Cancel":"Cancel",
"[Deleted user]":"[Deleted user]",
"No comments yet, start the conversation!":"No comments yet, start the conversation!",
"More comments …":"More comments …",
"Save":"Save",
"Allowed characters {count} of {max}":"Allowed characters: {count} of {max}",
"Error occurred while retrieving comment with ID {id}":"Error occurred while retrieving comment with ID {id}",
"Error occurred while updating comment with id {id}":"Error occurred while updating comment with id {id}",
"Error occurred while posting comment":"Error occurred while posting comment",
"You were mentioned on “%s”, in a comment by a user that has since been deleted":"You were mentioned on “%s”, in a comment by a user that has since been deleted",
"%1$s mentioned you in a comment on “%2$s”":"%1$s mentioned you in a comment on “%2$s”"
"<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}”",
"Edit comment":"Edit comment",
"Delete comment":"Delete comment",
"New comment …":"New comment …",
"Post":"Post",
"Cancel":"Cancel",
"[Deleted user]":"[Deleted user]",
"No comments yet, start the conversation!":"No comments yet, start the conversation!",
"More comments …":"More comments …",
"Save":"Save",
"Allowed characters {count} of {max}":"Allowed characters: {count} of {max}",
"Error occurred while retrieving comment with ID {id}":"Error occurred while retrieving comment with ID {id}",
"Error occurred while updating comment with id {id}":"Error occurred while updating comment with id {id}",
"Error occurred while posting comment":"Error occurred while posting comment",
"You were mentioned on “%s”, in a comment by a user that has since been deleted":"You were mentioned on “%s”, in a comment by a user that has since been deleted",
"%1$s mentioned you in a comment on “%2$s”":"%1$s mentioned you in a comment on “%2$s”"
"You were mentioned on “{file}”, in a comment by a user that has since been deleted":"Vi estis menciita en „{file}“, en komento de uzanto, kiu ekde tiam estis forigita",
"{user} mentioned you in a comment on “{file}”":"{user} menciis vin en komento pri „{file}“",
"Files app plugin to add comments to files":"Kromprogramo por la aplikaĵo „Dosieroj“ por aldoni komentojn al dosieroj",
"Edit comment":"Redakti komenton",
"Delete comment":"Forigi komenton",
"New comment …":"Nova komento …",
"Post":"Afiŝi",
"Cancel":"Nuligi",
"[Deleted user]":"[Forigita uzanto]",
"No comments yet, start the conversation!":"Neniu komento, ekkonversaciu!",
"More comments …":"Pli da komentoj...",
"Save":"Konservi",
"Allowed characters {count} of {max}":"{count} el {max} signoj maksimume",
"Error occurred while retrieving comment with ID {id}":"Eraro dum ricevo de komento kun identigilo {id}",
"Error occurred while updating comment with id {id}":"Eraro dum ĝisdatigo de komento kun identigilo {id}",
"Error occurred while posting comment":"Eraro dum sendo de komento",
"_1 new comment_::_{unread} new comments_":["1nova komento","{unread}novaj komentoj"],
"Comment":"Komento",
"You were mentioned on “%s”, in a comment by a user that has since been deleted":"Vi estis menciita en „%s“, en komento de uzanto, kiu ekde tiam estis forigita",
"%1$s mentioned you in a comment on “%2$s”":"%1$s menciis vin en komento pri „%2$s“"
"You were mentioned on “{file}”, in a comment by a user that has since been deleted":"Vi estis menciita en „{file}“, en komento de uzanto, kiu ekde tiam estis forigita",
"{user} mentioned you in a comment on “{file}”":"{user} menciis vin en komento pri „{file}“",
"Files app plugin to add comments to files":"Kromprogramo por la aplikaĵo „Dosieroj“ por aldoni komentojn al dosieroj",
"Edit comment":"Redakti komenton",
"Delete comment":"Forigi komenton",
"New comment …":"Nova komento …",
"Post":"Afiŝi",
"Cancel":"Nuligi",
"[Deleted user]":"[Forigita uzanto]",
"No comments yet, start the conversation!":"Neniu komento, ekkonversaciu!",
"More comments …":"Pli da komentoj...",
"Save":"Konservi",
"Allowed characters {count} of {max}":"{count} el {max} signoj maksimume",
"Error occurred while retrieving comment with ID {id}":"Eraro dum ricevo de komento kun identigilo {id}",
"Error occurred while updating comment with id {id}":"Eraro dum ĝisdatigo de komento kun identigilo {id}",
"Error occurred while posting comment":"Eraro dum sendo de komento",
"_1 new comment_::_{unread} new comments_":["1nova komento","{unread}novaj komentoj"],
"Comment":"Komento",
"You were mentioned on “%s”, in a comment by a user that has since been deleted":"Vi estis menciita en „%s“, en komento de uzanto, kiu ekde tiam estis forigita",
"%1$s mentioned you in a comment on “%2$s”":"%1$s menciis vin en komento pri „%2$s“"
"No comments yet, start the conversation!":"¡No hay comentarios, empieza la conversación!",
"More comments …":"Más comentarios ...",
"Save":"Guardar",
"Allowed characters {count} of {max}":"Caracteres permitidos {count} de {max}",
"Error occurred while retrieving comment with ID {id}":"Se ha producido un error al obtener el comentario con ID {id}",
"Error occurred while updating comment with id {id}":"Se ha producido un error al actualizar el comentario con ID {id}",
"Error occurred while posting comment":"Se ha producido un error al enviar el comentario",
"_%n unread comment_::_%n unread comments_":["%n comentario sin leer","%nComentarios no leídos"],
"Comment":"Comentar",
"You commented":"Has comentado",
"%1$s commented":"%1$s comentados",
"{author} commented":"{author} comentó",
@@ -13,22 +28,6 @@ OC.L10N.register(
"You were mentioned on “{file}”, in a comment by a user that has since been deleted":"Te han mencionado en \"{file}\", en un comentario de un usuario que después 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 app de Archivos para añadir comentarios a archivos.",
"Edit comment":"Editar comentario",
"Delete comment":"Borrar comentario",
"New comment …":"Nuevo comentario",
"Post":"Publicar",
"Cancel":"Cancelar",
"[Deleted user]":"[Usuario eliminado]",
"No comments yet, start the conversation!":"¡No hay comentarios, empieza la conversación!",
"More comments …":"Más comentarios ...",
"Save":"Guardar",
"Allowed characters {count} of {max}":"Caracteres permitidos {count} de {max}",
"Error occurred while retrieving comment with ID {id}":"Se ha producido un error al obtener el comentario con ID {id}",
"Error occurred while updating comment with id {id}":"Se ha producido un error al actualizar el comentario con ID {id}",
"Error occurred while posting comment":"Se ha producido un error al enviar el comentario",
"_%n unread comment_::_%n unread comments_":["%n comentario sin leer","%nComentarios no leídos"],
"_1 new comment_::_{unread} new comments_":["1 comentario nuevo","{unread} comentarios nuevos"],
"Comment":"Comentar",
"You were mentioned on “%s”, in a comment by a user that has since been deleted":"Te han mencionado en \"%s\", en un comentario por un usuario que después ha sido eliminado",
"%1$s mentioned you in a comment on “%2$s”":"%1$s te mencionó en un comentario en “%2$s”"
"No comments yet, start the conversation!":"¡No hay comentarios, empieza la conversación!",
"More comments …":"Más comentarios ...",
"Save":"Guardar",
"Allowed characters {count} of {max}":"Caracteres permitidos {count} de {max}",
"Error occurred while retrieving comment with ID {id}":"Se ha producido un error al obtener el comentario con ID {id}",
"Error occurred while updating comment with id {id}":"Se ha producido un error al actualizar el comentario con ID {id}",
"Error occurred while posting comment":"Se ha producido un error al enviar el comentario",
"_%n unread comment_::_%n unread comments_":["%n comentario sin leer","%nComentarios no leídos"],
"Comment":"Comentar",
"You commented":"Has comentado",
"%1$s commented":"%1$s comentados",
"{author} commented":"{author} comentó",
@@ -11,22 +26,6 @@
"You were mentioned on “{file}”, in a comment by a user that has since been deleted":"Te han mencionado en \"{file}\", en un comentario de un usuario que después 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 app de Archivos para añadir comentarios a archivos.",
"Edit comment":"Editar comentario",
"Delete comment":"Borrar comentario",
"New comment …":"Nuevo comentario",
"Post":"Publicar",
"Cancel":"Cancelar",
"[Deleted user]":"[Usuario eliminado]",
"No comments yet, start the conversation!":"¡No hay comentarios, empieza la conversación!",
"More comments …":"Más comentarios ...",
"Save":"Guardar",
"Allowed characters {count} of {max}":"Caracteres permitidos {count} de {max}",
"Error occurred while retrieving comment with ID {id}":"Se ha producido un error al obtener el comentario con ID {id}",
"Error occurred while updating comment with id {id}":"Se ha producido un error al actualizar el comentario con ID {id}",
"Error occurred while posting comment":"Se ha producido un error al enviar el comentario",
"_%n unread comment_::_%n unread comments_":["%n comentario sin leer","%nComentarios no leídos"],
"_1 new comment_::_{unread} new comments_":["1 comentario nuevo","{unread} comentarios nuevos"],
"Comment":"Comentar",
"You were mentioned on “%s”, in a comment by a user that has since been deleted":"Te han mencionado en \"%s\", en un comentario por un usuario que después ha sido eliminado",
"%1$s mentioned you in a comment on “%2$s”":"%1$s te mencionó en un comentario en “%2$s”"
"No comments yet, start the conversation!":"¡Aún no hay comentarios, inicia la conversación!",
"More comments …":"Más comentarios ...",
"Save":"Guardar",
"Allowed characters {count} of {max}":"Caracteres permitidos {count} de {max}",
"Error occurred while updating comment with id {id}":"Se presentó un error al actualizar el comentario con Id {id}",
"Error occurred while posting comment":"Se presentó un error al publicar el comentario",
"_%n unread comment_::_%n unread comments_":["%n comentarios sin leer","%n comentarios sin leer"],
"Comment":"Comentario",
"You commented":"Comentaste",
"%1$s commented":"%1$s comentó",
"{author} commented":"{author} comentó",
@@ -12,20 +26,6 @@ OC.L10N.register(
"<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":"Te mencionaron en \"{file}\", en un comentario de un usuario que ya ha sido borrado",
"{user} mentioned you in a comment on “{file}”":"{user} te mencionó en un comentario en “{file}”",
"Edit comment":"Editar comentario",
"Delete comment":"Borrar comentario",
"New comment …":"Comentario nuevo ...",
"Post":"Publicar",
"Cancel":"Cancelar",
"[Deleted user]":"[Usuario borrado]",
"No comments yet, start the conversation!":"¡Aún no hay comentarios, inicia la conversación!",
"More comments …":"Más comentarios ...",
"Save":"Guardar",
"Allowed characters {count} of {max}":"Caracteres permitidos {count} de {max}",
"Error occurred while updating comment with id {id}":"Se presentó un error al actualizar el comentario con Id {id}",
"Error occurred while posting comment":"Se presentó un error al publicar el comentario",
"_%n unread comment_::_%n unread comments_":["%n comentarios sin leer","%n comentarios sin leer"],
"Comment":"Comentario",
"You were mentioned on “%s”, in a comment by a user that has since been deleted":"Te mencionaron en \"%s\", en un comentario de un usuario que ya ha sido borrado",
"%1$s mentioned you in a comment on “%2$s”":"%1$s te mencionó en un comentario en “%2$s”"
"No comments yet, start the conversation!":"¡Aún no hay comentarios, inicia la conversación!",
"More comments …":"Más comentarios ...",
"Save":"Guardar",
"Allowed characters {count} of {max}":"Caracteres permitidos {count} de {max}",
"Error occurred while updating comment with id {id}":"Se presentó un error al actualizar el comentario con Id {id}",
"Error occurred while posting comment":"Se presentó un error al publicar el comentario",
"_%n unread comment_::_%n unread comments_":["%n comentarios sin leer","%n comentarios sin leer"],
"Comment":"Comentario",
"You commented":"Comentaste",
"%1$s commented":"%1$s comentó",
"{author} commented":"{author} comentó",
@@ -10,20 +24,6 @@
"<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":"Te mencionaron en \"{file}\", en un comentario de un usuario que ya ha sido borrado",
"{user} mentioned you in a comment on “{file}”":"{user} te mencionó en un comentario en “{file}”",
"Edit comment":"Editar comentario",
"Delete comment":"Borrar comentario",
"New comment …":"Comentario nuevo ...",
"Post":"Publicar",
"Cancel":"Cancelar",
"[Deleted user]":"[Usuario borrado]",
"No comments yet, start the conversation!":"¡Aún no hay comentarios, inicia la conversación!",
"More comments …":"Más comentarios ...",
"Save":"Guardar",
"Allowed characters {count} of {max}":"Caracteres permitidos {count} de {max}",
"Error occurred while updating comment with id {id}":"Se presentó un error al actualizar el comentario con Id {id}",
"Error occurred while posting comment":"Se presentó un error al publicar el comentario",
"_%n unread comment_::_%n unread comments_":["%n comentarios sin leer","%n comentarios sin leer"],
"Comment":"Comentario",
"You were mentioned on “%s”, in a comment by a user that has since been deleted":"Te mencionaron en \"%s\", en un comentario de un usuario que ya ha sido borrado",
"%1$s mentioned you in a comment on “%2$s”":"%1$s te mencionó en un comentario en “%2$s”"
"No comments yet, start the conversation!":"No hay comentarios aún, iniciar la conversación!",
"More comments …":"Más comentarios ...",
"Save":"Guardar",
"Allowed characters {count} of {max}":"Caracteres permitidos {count} of {max}",
"Error occurred while retrieving comment with ID {id}":"Se produjo un error al recuperar el comentario con ID {id}",
"Error occurred while updating comment with id {id}":"Se ha producido un error al actualizar el comentario con id {id}",
"Error occurred while posting comment":"Se ha producido un error al publicar un comentario",
"_%n unread comment_::_%n unread comments_":["%n comentarios sin leer","%n comentarios sin leer"],
"Comment":"Comentar",
"You commented":"Ud. ha comentado",
"%1$s commented":"%1$s comentados",
"{author} commented":"{author} comentó",
@@ -13,21 +28,6 @@ OC.L10N.register(
"You were mentioned on “{file}”, in a comment by a user that has since been deleted":"Usted fue mencionado en “{file}”, en un comentario de un usuario que ya ha sido eliminado",
"{user} mentioned you in a comment on “{file}”":"{user} te ha mencionado en un comentario en “{file}”",
"Files app plugin to add comments to files":"Complemento de aplicación de archivos para agregar comentarios a los archivos.",
"Edit comment":"Editar comentario",
"Delete comment":"Borrar comentario",
"New comment …":"Nuevo comentario ...",
"Post":"Post",
"Cancel":"Cancelar",
"[Deleted user]":"[Usuario borrado]",
"No comments yet, start the conversation!":"No hay comentarios aún, iniciar la conversación!",
"More comments …":"Más comentarios ...",
"Save":"Guardar",
"Allowed characters {count} of {max}":"Caracteres permitidos {count} of {max}",
"Error occurred while retrieving comment with ID {id}":"Se produjo un error al recuperar el comentario con ID {id}",
"Error occurred while updating comment with id {id}":"Se ha producido un error al actualizar el comentario con id {id}",
"Error occurred while posting comment":"Se ha producido un error al publicar un comentario",
"_%n unread comment_::_%n unread comments_":["%n comentarios sin leer","%n comentarios sin leer"],
"Comment":"Comentar",
"%1$s mentioned you in a comment on “%2$s”":"%1$s te ha mencionado en un comentario en “%2$s”"
"No comments yet, start the conversation!":"No hay comentarios aún, iniciar la conversación!",
"More comments …":"Más comentarios ...",
"Save":"Guardar",
"Allowed characters {count} of {max}":"Caracteres permitidos {count} of {max}",
"Error occurred while retrieving comment with ID {id}":"Se produjo un error al recuperar el comentario con ID {id}",
"Error occurred while updating comment with id {id}":"Se ha producido un error al actualizar el comentario con id {id}",
"Error occurred while posting comment":"Se ha producido un error al publicar un comentario",
"_%n unread comment_::_%n unread comments_":["%n comentarios sin leer","%n comentarios sin leer"],
"Comment":"Comentar",
"You commented":"Ud. ha comentado",
"%1$s commented":"%1$s comentados",
"{author} commented":"{author} comentó",
@@ -11,21 +26,6 @@
"You were mentioned on “{file}”, in a comment by a user that has since been deleted":"Usted fue mencionado en “{file}”, en un comentario de un usuario que ya ha sido eliminado",
"{user} mentioned you in a comment on “{file}”":"{user} te ha mencionado en un comentario en “{file}”",
"Files app plugin to add comments to files":"Complemento de aplicación de archivos para agregar comentarios a los archivos.",
"Edit comment":"Editar comentario",
"Delete comment":"Borrar comentario",
"New comment …":"Nuevo comentario ...",
"Post":"Post",
"Cancel":"Cancelar",
"[Deleted user]":"[Usuario borrado]",
"No comments yet, start the conversation!":"No hay comentarios aún, iniciar la conversación!",
"More comments …":"Más comentarios ...",
"Save":"Guardar",
"Allowed characters {count} of {max}":"Caracteres permitidos {count} of {max}",
"Error occurred while retrieving comment with ID {id}":"Se produjo un error al recuperar el comentario con ID {id}",
"Error occurred while updating comment with id {id}":"Se ha producido un error al actualizar el comentario con id {id}",
"Error occurred while posting comment":"Se ha producido un error al publicar un comentario",
"_%n unread comment_::_%n unread comments_":["%n comentarios sin leer","%n comentarios sin leer"],
"Comment":"Comentar",
"%1$s mentioned you in a comment on “%2$s”":"%1$s te ha mencionado en un comentario en “%2$s”"
"No comments yet, start the conversation!":"¡Aún no hay comentarios, inicia la conversación!",
"More comments …":"Más comentarios ...",
"Save":"Guardar",
"Allowed characters {count} of {max}":"Caracteres permitidos {count} de {max}",
"Error occurred while retrieving comment with ID {id}":"Se presentó un error al recuperar el comentario con ID {id}",
"Error occurred while updating comment with id {id}":"Se presentó un error al actualizar el comentario con Id {id}",
"Error occurred while posting comment":"Se presentó un error al publicar el comentario",
"_%n unread comment_::_%n unread comments_":["%n comentarios sin leer","%n comentarios sin leer"],
"Comment":"Comentario",
"You commented":"Comentaste",
"%1$s commented":"%1$s comentó",
"{author} commented":"{author} comentó",
@@ -12,21 +27,6 @@ OC.L10N.register(
"<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":"Te mencionaron en \"{file}\", en un comentario de un usuario que ya ha sido borrado",
"{user} mentioned you in a comment on “{file}”":"{user} te mencionó en un comentario en “{file}”",
"Edit comment":"Editar comentario",
"Delete comment":"Borrar comentario",
"New comment …":"Comentario nuevo ...",
"Post":"Publicar",
"Cancel":"Cancelar",
"[Deleted user]":"[Usuario borrado]",
"No comments yet, start the conversation!":"¡Aún no hay comentarios, inicia la conversación!",
"More comments …":"Más comentarios ...",
"Save":"Guardar",
"Allowed characters {count} of {max}":"Caracteres permitidos {count} de {max}",
"Error occurred while retrieving comment with ID {id}":"Se presentó un error al recuperar el comentario con ID {id}",
"Error occurred while updating comment with id {id}":"Se presentó un error al actualizar el comentario con Id {id}",
"Error occurred while posting comment":"Se presentó un error al publicar el comentario",
"_%n unread comment_::_%n unread comments_":["%n comentarios sin leer","%n comentarios sin leer"],
"Comment":"Comentario",
"You were mentioned on “%s”, in a comment by a user that has since been deleted":"Te mencionaron en \"%s\", en un comentario de un usuario que ya ha sido borrado",
"%1$s mentioned you in a comment on “%2$s”":"%1$s te mencionó en un comentario en “%2$s”"
"No comments yet, start the conversation!":"¡Aún no hay comentarios, inicia la conversación!",
"More comments …":"Más comentarios ...",
"Save":"Guardar",
"Allowed characters {count} of {max}":"Caracteres permitidos {count} de {max}",
"Error occurred while retrieving comment with ID {id}":"Se presentó un error al recuperar el comentario con ID {id}",
"Error occurred while updating comment with id {id}":"Se presentó un error al actualizar el comentario con Id {id}",
"Error occurred while posting comment":"Se presentó un error al publicar el comentario",
"_%n unread comment_::_%n unread comments_":["%n comentarios sin leer","%n comentarios sin leer"],
"Comment":"Comentario",
"You commented":"Comentaste",
"%1$s commented":"%1$s comentó",
"{author} commented":"{author} comentó",
@@ -10,21 +25,6 @@
"<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":"Te mencionaron en \"{file}\", en un comentario de un usuario que ya ha sido borrado",
"{user} mentioned you in a comment on “{file}”":"{user} te mencionó en un comentario en “{file}”",
"Edit comment":"Editar comentario",
"Delete comment":"Borrar comentario",
"New comment …":"Comentario nuevo ...",
"Post":"Publicar",
"Cancel":"Cancelar",
"[Deleted user]":"[Usuario borrado]",
"No comments yet, start the conversation!":"¡Aún no hay comentarios, inicia la conversación!",
"More comments …":"Más comentarios ...",
"Save":"Guardar",
"Allowed characters {count} of {max}":"Caracteres permitidos {count} de {max}",
"Error occurred while retrieving comment with ID {id}":"Se presentó un error al recuperar el comentario con ID {id}",
"Error occurred while updating comment with id {id}":"Se presentó un error al actualizar el comentario con Id {id}",
"Error occurred while posting comment":"Se presentó un error al publicar el comentario",
"_%n unread comment_::_%n unread comments_":["%n comentarios sin leer","%n comentarios sin leer"],
"Comment":"Comentario",
"You were mentioned on “%s”, in a comment by a user that has since been deleted":"Te mencionaron en \"%s\", en un comentario de un usuario que ya ha sido borrado",
"%1$s mentioned you in a comment on “%2$s”":"%1$s te mencionó en un comentario en “%2$s”"
"No comments yet, start the conversation!":"¡Aún no hay comentarios, inicia la conversación!",
"More comments …":"Más comentarios ...",
"Save":"Guardar",
"Allowed characters {count} of {max}":"Caracteres permitidos {count} de {max}",
"Error occurred while retrieving comment with ID {id}":"Se presentó un error al recuperar el comentario con ID {id}",
"Error occurred while updating comment with id {id}":"Se presentó un error al actualizar el comentario con Id {id}",
"Error occurred while posting comment":"Se presentó un error al publicar el comentario",
"_%n unread comment_::_%n unread comments_":["%n comentarios sin leer","%n comentarios sin leer"],
"Comment":"Comentario",
"You commented":"Comentaste",
"%1$s commented":"%1$s comentó",
"{author} commented":"{author} comentó",
@@ -12,21 +27,6 @@ OC.L10N.register(
"<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":"Te mencionaron en \"{file}\", en un comentario de un usuario que ya ha sido borrado",
"{user} mentioned you in a comment on “{file}”":"{user} te mencionó en un comentario en “{file}”",
"Edit comment":"Editar comentario",
"Delete comment":"Borrar comentario",
"New comment …":"Comentario nuevo ...",
"Post":"Publicar",
"Cancel":"Cancelar",
"[Deleted user]":"[Usuario borrado]",
"No comments yet, start the conversation!":"¡Aún no hay comentarios, inicia la conversación!",
"More comments …":"Más comentarios ...",
"Save":"Guardar",
"Allowed characters {count} of {max}":"Caracteres permitidos {count} de {max}",
"Error occurred while retrieving comment with ID {id}":"Se presentó un error al recuperar el comentario con ID {id}",
"Error occurred while updating comment with id {id}":"Se presentó un error al actualizar el comentario con Id {id}",
"Error occurred while posting comment":"Se presentó un error al publicar el comentario",
"_%n unread comment_::_%n unread comments_":["%n comentarios sin leer","%n comentarios sin leer"],
"Comment":"Comentario",
"You were mentioned on “%s”, in a comment by a user that has since been deleted":"Te mencionaron en \"%s\", en un comentario de un usuario que ya ha sido borrado",
"%1$s mentioned you in a comment on “%2$s”":"%1$s te mencionó en un comentario en “%2$s”"
"No comments yet, start the conversation!":"¡Aún no hay comentarios, inicia la conversación!",
"More comments …":"Más comentarios ...",
"Save":"Guardar",
"Allowed characters {count} of {max}":"Caracteres permitidos {count} de {max}",
"Error occurred while retrieving comment with ID {id}":"Se presentó un error al recuperar el comentario con ID {id}",
"Error occurred while updating comment with id {id}":"Se presentó un error al actualizar el comentario con Id {id}",
"Error occurred while posting comment":"Se presentó un error al publicar el comentario",
"_%n unread comment_::_%n unread comments_":["%n comentarios sin leer","%n comentarios sin leer"],
"Comment":"Comentario",
"You commented":"Comentaste",
"%1$s commented":"%1$s comentó",
"{author} commented":"{author} comentó",
@@ -10,21 +25,6 @@
"<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":"Te mencionaron en \"{file}\", en un comentario de un usuario que ya ha sido borrado",
"{user} mentioned you in a comment on “{file}”":"{user} te mencionó en un comentario en “{file}”",
"Edit comment":"Editar comentario",
"Delete comment":"Borrar comentario",
"New comment …":"Comentario nuevo ...",
"Post":"Publicar",
"Cancel":"Cancelar",
"[Deleted user]":"[Usuario borrado]",
"No comments yet, start the conversation!":"¡Aún no hay comentarios, inicia la conversación!",
"More comments …":"Más comentarios ...",
"Save":"Guardar",
"Allowed characters {count} of {max}":"Caracteres permitidos {count} de {max}",
"Error occurred while retrieving comment with ID {id}":"Se presentó un error al recuperar el comentario con ID {id}",
"Error occurred while updating comment with id {id}":"Se presentó un error al actualizar el comentario con Id {id}",
"Error occurred while posting comment":"Se presentó un error al publicar el comentario",
"_%n unread comment_::_%n unread comments_":["%n comentarios sin leer","%n comentarios sin leer"],
"Comment":"Comentario",
"You were mentioned on “%s”, in a comment by a user that has since been deleted":"Te mencionaron en \"%s\", en un comentario de un usuario que ya ha sido borrado",
"%1$s mentioned you in a comment on “%2$s”":"%1$s te mencionó en un comentario en “%2$s”"
"No comments yet, start the conversation!":"¡Aún no hay comentarios, inicia la conversación!",
"More comments …":"Más comentarios ...",
"Save":"Guardar",
"Allowed characters {count} of {max}":"Caracteres permitidos {count} de {max}",
"Error occurred while retrieving comment with ID {id}":"Se presentó un error al recuperar el comentario con ID {id}",
"Error occurred while updating comment with id {id}":"Se presentó un error al actualizar el comentario con Id {id}",
"Error occurred while posting comment":"Se presentó un error al publicar el comentario",
"_%n unread comment_::_%n unread comments_":["%n comentarios sin leer","%n comentarios sin leer"],
"Comment":"Comentario",
"You commented":"Comentaste",
"%1$s commented":"%1$s comentó",
"{author} commented":"{author} comentó",
@@ -12,21 +27,6 @@ OC.L10N.register(
"<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":"Te mencionaron en \"{file}\", en un comentario de un usuario que ya ha sido borrado",
"{user} mentioned you in a comment on “{file}”":"{user} te mencionó en un comentario en “{file}”",
"Edit comment":"Editar comentario",
"Delete comment":"Borrar comentario",
"New comment …":"Comentario nuevo ...",
"Post":"Publicar",
"Cancel":"Cancelar",
"[Deleted user]":"[Usuario borrado]",
"No comments yet, start the conversation!":"¡Aún no hay comentarios, inicia la conversación!",
"More comments …":"Más comentarios ...",
"Save":"Guardar",
"Allowed characters {count} of {max}":"Caracteres permitidos {count} de {max}",
"Error occurred while retrieving comment with ID {id}":"Se presentó un error al recuperar el comentario con ID {id}",
"Error occurred while updating comment with id {id}":"Se presentó un error al actualizar el comentario con Id {id}",
"Error occurred while posting comment":"Se presentó un error al publicar el comentario",
"_%n unread comment_::_%n unread comments_":["%n comentarios sin leer","%n comentarios sin leer"],
"Comment":"Comentario",
"You were mentioned on “%s”, in a comment by a user that has since been deleted":"Te mencionaron en \"%s\", en un comentario de un usuario que ya ha sido borrado",
"%1$s mentioned you in a comment on “%2$s”":"%1$s te mencionó en un comentario en “%2$s”"
"No comments yet, start the conversation!":"¡Aún no hay comentarios, inicia la conversación!",
"More comments …":"Más comentarios ...",
"Save":"Guardar",
"Allowed characters {count} of {max}":"Caracteres permitidos {count} de {max}",
"Error occurred while retrieving comment with ID {id}":"Se presentó un error al recuperar el comentario con ID {id}",
"Error occurred while updating comment with id {id}":"Se presentó un error al actualizar el comentario con Id {id}",
"Error occurred while posting comment":"Se presentó un error al publicar el comentario",
"_%n unread comment_::_%n unread comments_":["%n comentarios sin leer","%n comentarios sin leer"],
"Comment":"Comentario",
"You commented":"Comentaste",
"%1$s commented":"%1$s comentó",
"{author} commented":"{author} comentó",
@@ -10,21 +25,6 @@
"<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":"Te mencionaron en \"{file}\", en un comentario de un usuario que ya ha sido borrado",
"{user} mentioned you in a comment on “{file}”":"{user} te mencionó en un comentario en “{file}”",
"Edit comment":"Editar comentario",
"Delete comment":"Borrar comentario",
"New comment …":"Comentario nuevo ...",
"Post":"Publicar",
"Cancel":"Cancelar",
"[Deleted user]":"[Usuario borrado]",
"No comments yet, start the conversation!":"¡Aún no hay comentarios, inicia la conversación!",
"More comments …":"Más comentarios ...",
"Save":"Guardar",
"Allowed characters {count} of {max}":"Caracteres permitidos {count} de {max}",
"Error occurred while retrieving comment with ID {id}":"Se presentó un error al recuperar el comentario con ID {id}",
"Error occurred while updating comment with id {id}":"Se presentó un error al actualizar el comentario con Id {id}",
"Error occurred while posting comment":"Se presentó un error al publicar el comentario",
"_%n unread comment_::_%n unread comments_":["%n comentarios sin leer","%n comentarios sin leer"],
"Comment":"Comentario",
"You were mentioned on “%s”, in a comment by a user that has since been deleted":"Te mencionaron en \"%s\", en un comentario de un usuario que ya ha sido borrado",
"%1$s mentioned you in a comment on “%2$s”":"%1$s te mencionó en un comentario en “%2$s”"
"No comments yet, start the conversation!":"¡Aún no hay comentarios, inicia la conversación!",
"More comments …":"Más comentarios ...",
"Save":"Guardar",
"Allowed characters {count} of {max}":"Caracteres permitidos {count} de {max}",
"Error occurred while retrieving comment with ID {id}":"Se presentó un error al recuperar el comentario con ID {id}",
"Error occurred while updating comment with id {id}":"Se presentó un error al actualizar el comentario con Id {id}",
"Error occurred while posting comment":"Se presentó un error al publicar el comentario",
"_%n unread comment_::_%n unread comments_":["%n comentarios sin leer","%n comentarios sin leer"],
"Comment":"Comentario",
"You commented":"Comentaste",
"%1$s commented":"%1$s comentó",
"{author} commented":"{author} comentó",
@@ -12,21 +27,6 @@ OC.L10N.register(
"<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":"Te mencionaron en \"{file}\", en un comentario de un usuario que ya ha sido borrado",
"{user} mentioned you in a comment on “{file}”":"{user} te mencionó en un comentario en “{file}”",
"Edit comment":"Editar comentario",
"Delete comment":"Borrar comentario",
"New comment …":"Comentario nuevo ...",
"Post":"Publicar",
"Cancel":"Cancelar",
"[Deleted user]":"[Usuario borrado]",
"No comments yet, start the conversation!":"¡Aún no hay comentarios, inicia la conversación!",
"More comments …":"Más comentarios ...",
"Save":"Guardar",
"Allowed characters {count} of {max}":"Caracteres permitidos {count} de {max}",
"Error occurred while retrieving comment with ID {id}":"Se presentó un error al recuperar el comentario con ID {id}",
"Error occurred while updating comment with id {id}":"Se presentó un error al actualizar el comentario con Id {id}",
"Error occurred while posting comment":"Se presentó un error al publicar el comentario",
"_%n unread comment_::_%n unread comments_":["%n comentarios sin leer","%n comentarios sin leer"],
"Comment":"Comentario",
"You were mentioned on “%s”, in a comment by a user that has since been deleted":"Te mencionaron en \"%s\", en un comentario de un usuario que ya ha sido borrado",
"%1$s mentioned you in a comment on “%2$s”":"%1$s te mencionó en un comentario en “%2$s”"
"No comments yet, start the conversation!":"¡Aún no hay comentarios, inicia la conversación!",
"More comments …":"Más comentarios ...",
"Save":"Guardar",
"Allowed characters {count} of {max}":"Caracteres permitidos {count} de {max}",
"Error occurred while retrieving comment with ID {id}":"Se presentó un error al recuperar el comentario con ID {id}",
"Error occurred while updating comment with id {id}":"Se presentó un error al actualizar el comentario con Id {id}",
"Error occurred while posting comment":"Se presentó un error al publicar el comentario",
"_%n unread comment_::_%n unread comments_":["%n comentarios sin leer","%n comentarios sin leer"],
"Comment":"Comentario",
"You commented":"Comentaste",
"%1$s commented":"%1$s comentó",
"{author} commented":"{author} comentó",
@@ -10,21 +25,6 @@
"<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":"Te mencionaron en \"{file}\", en un comentario de un usuario que ya ha sido borrado",
"{user} mentioned you in a comment on “{file}”":"{user} te mencionó en un comentario en “{file}”",
"Edit comment":"Editar comentario",
"Delete comment":"Borrar comentario",
"New comment …":"Comentario nuevo ...",
"Post":"Publicar",
"Cancel":"Cancelar",
"[Deleted user]":"[Usuario borrado]",
"No comments yet, start the conversation!":"¡Aún no hay comentarios, inicia la conversación!",
"More comments …":"Más comentarios ...",
"Save":"Guardar",
"Allowed characters {count} of {max}":"Caracteres permitidos {count} de {max}",
"Error occurred while retrieving comment with ID {id}":"Se presentó un error al recuperar el comentario con ID {id}",
"Error occurred while updating comment with id {id}":"Se presentó un error al actualizar el comentario con Id {id}",
"Error occurred while posting comment":"Se presentó un error al publicar el comentario",
"_%n unread comment_::_%n unread comments_":["%n comentarios sin leer","%n comentarios sin leer"],
"Comment":"Comentario",
"You were mentioned on “%s”, in a comment by a user that has since been deleted":"Te mencionaron en \"%s\", en un comentario de un usuario que ya ha sido borrado",
"%1$s mentioned you in a comment on “%2$s”":"%1$s te mencionó en un comentario en “%2$s”"
"No comments yet, start the conversation!":"¡Aún no hay comentarios, inicia la conversación!",
"More comments …":"Más comentarios ...",
"Save":"Guardar",
"Allowed characters {count} of {max}":"Caracteres permitidos {count} de {max}",
"Error occurred while retrieving comment with ID {id}":"Se presentó un error al recuperar el comentario con ID {id}",
"Error occurred while updating comment with id {id}":"Se presentó un error al actualizar el comentario con Id {id}",
"Error occurred while posting comment":"Se presentó un error al publicar el comentario",
"_%n unread comment_::_%n unread comments_":["%n comentarios sin leer","%n comentarios sin leer"],
"Comment":"Comentario",
"You commented":"Comentaste",
"%1$s commented":"%1$s comentó",
"{author} commented":"{author} comentó",
@@ -12,21 +27,6 @@ OC.L10N.register(
"<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":"Te mencionaron en \"{file}\", en un comentario de un usuario que ya ha sido borrado",
"{user} mentioned you in a comment on “{file}”":"{user} te mencionó en un comentario en “{file}”",
"Edit comment":"Editar comentario",
"Delete comment":"Borrar comentario",
"New comment …":"Comentario nuevo ...",
"Post":"Publicar",
"Cancel":"Cancelar",
"[Deleted user]":"[Usuario borrado]",
"No comments yet, start the conversation!":"¡Aún no hay comentarios, inicia la conversación!",
"More comments …":"Más comentarios ...",
"Save":"Guardar",
"Allowed characters {count} of {max}":"Caracteres permitidos {count} de {max}",
"Error occurred while retrieving comment with ID {id}":"Se presentó un error al recuperar el comentario con ID {id}",
"Error occurred while updating comment with id {id}":"Se presentó un error al actualizar el comentario con Id {id}",
"Error occurred while posting comment":"Se presentó un error al publicar el comentario",
"_%n unread comment_::_%n unread comments_":["%n comentarios sin leer","%n comentarios sin leer"],
"Comment":"Comentario",
"You were mentioned on “%s”, in a comment by a user that has since been deleted":"Te mencionaron en \"%s\", en un comentario de un usuario que ya ha sido borrado",
"%1$s mentioned you in a comment on “%2$s”":"%1$s te mencionó en un comentario en “%2$s”"
"No comments yet, start the conversation!":"¡Aún no hay comentarios, inicia la conversación!",
"More comments …":"Más comentarios ...",
"Save":"Guardar",
"Allowed characters {count} of {max}":"Caracteres permitidos {count} de {max}",
"Error occurred while retrieving comment with ID {id}":"Se presentó un error al recuperar el comentario con ID {id}",
"Error occurred while updating comment with id {id}":"Se presentó un error al actualizar el comentario con Id {id}",
"Error occurred while posting comment":"Se presentó un error al publicar el comentario",
"_%n unread comment_::_%n unread comments_":["%n comentarios sin leer","%n comentarios sin leer"],
"Comment":"Comentario",
"You commented":"Comentaste",
"%1$s commented":"%1$s comentó",
"{author} commented":"{author} comentó",
@@ -10,21 +25,6 @@
"<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":"Te mencionaron en \"{file}\", en un comentario de un usuario que ya ha sido borrado",
"{user} mentioned you in a comment on “{file}”":"{user} te mencionó en un comentario en “{file}”",
"Edit comment":"Editar comentario",
"Delete comment":"Borrar comentario",
"New comment …":"Comentario nuevo ...",
"Post":"Publicar",
"Cancel":"Cancelar",
"[Deleted user]":"[Usuario borrado]",
"No comments yet, start the conversation!":"¡Aún no hay comentarios, inicia la conversación!",
"More comments …":"Más comentarios ...",
"Save":"Guardar",
"Allowed characters {count} of {max}":"Caracteres permitidos {count} de {max}",
"Error occurred while retrieving comment with ID {id}":"Se presentó un error al recuperar el comentario con ID {id}",
"Error occurred while updating comment with id {id}":"Se presentó un error al actualizar el comentario con Id {id}",
"Error occurred while posting comment":"Se presentó un error al publicar el comentario",
"_%n unread comment_::_%n unread comments_":["%n comentarios sin leer","%n comentarios sin leer"],
"Comment":"Comentario",
"You were mentioned on “%s”, in a comment by a user that has since been deleted":"Te mencionaron en \"%s\", en un comentario de un usuario que ya ha sido borrado",
"%1$s mentioned you in a comment on “%2$s”":"%1$s te mencionó en un comentario en “%2$s”"
"No comments yet, start the conversation!":"¡Aún no hay comentarios, inicia la conversación!",
"More comments …":"Más comentarios ...",
"Save":"Guardar",
"Allowed characters {count} of {max}":"Caracteres permitidos {count} de {max}",
"Error occurred while retrieving comment with ID {id}":"Se presentó un error al recuperar el comentario con ID {id}",
"Error occurred while updating comment with id {id}":"Se presentó un error al actualizar el comentario con Id {id}",
"Error occurred while posting comment":"Se presentó un error al publicar el comentario",
"_%n unread comment_::_%n unread comments_":["%n comentarios sin leer","%n comentarios sin leer"],
"Comment":"Comentario",
"You commented":"Comentaste",
"%1$s commented":"%1$s comentó",
"{author} commented":"{author} comentó",
@@ -12,21 +27,6 @@ OC.L10N.register(
"<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":"Te mencionaron en \"{file}\", en un comentario de un usuario que ya ha sido borrado",
"{user} mentioned you in a comment on “{file}”":"{user} te mencionó en un comentario en “{file}”",
"Edit comment":"Editar comentario",
"Delete comment":"Borrar comentario",
"New comment …":"Comentario nuevo ...",
"Post":"Publicar",
"Cancel":"Cancelar",
"[Deleted user]":"[Usuario borrado]",
"No comments yet, start the conversation!":"¡Aún no hay comentarios, inicia la conversación!",
"More comments …":"Más comentarios ...",
"Save":"Guardar",
"Allowed characters {count} of {max}":"Caracteres permitidos {count} de {max}",
"Error occurred while retrieving comment with ID {id}":"Se presentó un error al recuperar el comentario con ID {id}",
"Error occurred while updating comment with id {id}":"Se presentó un error al actualizar el comentario con Id {id}",
"Error occurred while posting comment":"Se presentó un error al publicar el comentario",
"_%n unread comment_::_%n unread comments_":["%n comentarios sin leer","%n comentarios sin leer"],
"Comment":"Comentario",
"You were mentioned on “%s”, in a comment by a user that has since been deleted":"Te mencionaron en \"%s\", en un comentario de un usuario que ya ha sido borrado",
"%1$s mentioned you in a comment on “%2$s”":"%1$s te mencionó en un comentario en “%2$s”"
"No comments yet, start the conversation!":"¡Aún no hay comentarios, inicia la conversación!",
"More comments …":"Más comentarios ...",
"Save":"Guardar",
"Allowed characters {count} of {max}":"Caracteres permitidos {count} de {max}",
"Error occurred while retrieving comment with ID {id}":"Se presentó un error al recuperar el comentario con ID {id}",
"Error occurred while updating comment with id {id}":"Se presentó un error al actualizar el comentario con Id {id}",
"Error occurred while posting comment":"Se presentó un error al publicar el comentario",
"_%n unread comment_::_%n unread comments_":["%n comentarios sin leer","%n comentarios sin leer"],
"Comment":"Comentario",
"You commented":"Comentaste",
"%1$s commented":"%1$s comentó",
"{author} commented":"{author} comentó",
@@ -10,21 +25,6 @@
"<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":"Te mencionaron en \"{file}\", en un comentario de un usuario que ya ha sido borrado",
"{user} mentioned you in a comment on “{file}”":"{user} te mencionó en un comentario en “{file}”",
"Edit comment":"Editar comentario",
"Delete comment":"Borrar comentario",
"New comment …":"Comentario nuevo ...",
"Post":"Publicar",
"Cancel":"Cancelar",
"[Deleted user]":"[Usuario borrado]",
"No comments yet, start the conversation!":"¡Aún no hay comentarios, inicia la conversación!",
"More comments …":"Más comentarios ...",
"Save":"Guardar",
"Allowed characters {count} of {max}":"Caracteres permitidos {count} de {max}",
"Error occurred while retrieving comment with ID {id}":"Se presentó un error al recuperar el comentario con ID {id}",
"Error occurred while updating comment with id {id}":"Se presentó un error al actualizar el comentario con Id {id}",
"Error occurred while posting comment":"Se presentó un error al publicar el comentario",
"_%n unread comment_::_%n unread comments_":["%n comentarios sin leer","%n comentarios sin leer"],
"Comment":"Comentario",
"You were mentioned on “%s”, in a comment by a user that has since been deleted":"Te mencionaron en \"%s\", en un comentario de un usuario que ya ha sido borrado",
"%1$s mentioned you in a comment on “%2$s”":"%1$s te mencionó en un comentario en “%2$s”"
"No comments yet, start the conversation!":"¡Aún no hay comentarios, inicia la conversación!",
"More comments …":"Más comentarios ...",
"Save":"Guardar",
"Allowed characters {count} of {max}":"Caracteres permitidos {count} de {max}",
"Error occurred while updating comment with id {id}":"Se presentó un error al actualizar el comentario con Id {id}",
"Error occurred while posting comment":"Se presentó un error al publicar el comentario",
"_%n unread comment_::_%n unread comments_":["%n comentarios sin leer","%n comentarios sin leer"],
"Comment":"Comentario",
"You commented":"Comentaste",
"%1$s commented":"%1$s comentó",
"{author} commented":"{author} comentó",
@@ -12,20 +26,6 @@ OC.L10N.register(
"<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":"Te mencionaron en \"{file}\", en un comentario de un usuario que ya ha sido borrado",
"{user} mentioned you in a comment on “{file}”":"{user} te mencionó en un comentario en “{file}”",
"Edit comment":"Editar comentario",
"Delete comment":"Borrar comentario",
"New comment …":"Comentario nuevo ...",
"Post":"Publicar",
"Cancel":"Cancelar",
"[Deleted user]":"[Usuario borrado]",
"No comments yet, start the conversation!":"¡Aún no hay comentarios, inicia la conversación!",
"More comments …":"Más comentarios ...",
"Save":"Guardar",
"Allowed characters {count} of {max}":"Caracteres permitidos {count} de {max}",
"Error occurred while updating comment with id {id}":"Se presentó un error al actualizar el comentario con Id {id}",
"Error occurred while posting comment":"Se presentó un error al publicar el comentario",
"_%n unread comment_::_%n unread comments_":["%n comentarios sin leer","%n comentarios sin leer"],
"Comment":"Comentario",
"You were mentioned on “%s”, in a comment by a user that has since been deleted":"Te mencionaron en \"%s\", en un comentario de un usuario que ya ha sido borrado",
"%1$s mentioned you in a comment on “%2$s”":"%1$s te mencionó en un comentario en “%2$s”"
"No comments yet, start the conversation!":"¡Aún no hay comentarios, inicia la conversación!",
"More comments …":"Más comentarios ...",
"Save":"Guardar",
"Allowed characters {count} of {max}":"Caracteres permitidos {count} de {max}",
"Error occurred while updating comment with id {id}":"Se presentó un error al actualizar el comentario con Id {id}",
"Error occurred while posting comment":"Se presentó un error al publicar el comentario",
"_%n unread comment_::_%n unread comments_":["%n comentarios sin leer","%n comentarios sin leer"],
"Comment":"Comentario",
"You commented":"Comentaste",
"%1$s commented":"%1$s comentó",
"{author} commented":"{author} comentó",
@@ -10,20 +24,6 @@
"<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":"Te mencionaron en \"{file}\", en un comentario de un usuario que ya ha sido borrado",
"{user} mentioned you in a comment on “{file}”":"{user} te mencionó en un comentario en “{file}”",
"Edit comment":"Editar comentario",
"Delete comment":"Borrar comentario",
"New comment …":"Comentario nuevo ...",
"Post":"Publicar",
"Cancel":"Cancelar",
"[Deleted user]":"[Usuario borrado]",
"No comments yet, start the conversation!":"¡Aún no hay comentarios, inicia la conversación!",
"More comments …":"Más comentarios ...",
"Save":"Guardar",
"Allowed characters {count} of {max}":"Caracteres permitidos {count} de {max}",
"Error occurred while updating comment with id {id}":"Se presentó un error al actualizar el comentario con Id {id}",
"Error occurred while posting comment":"Se presentó un error al publicar el comentario",
"_%n unread comment_::_%n unread comments_":["%n comentarios sin leer","%n comentarios sin leer"],
"Comment":"Comentario",
"You were mentioned on “%s”, in a comment by a user that has since been deleted":"Te mencionaron en \"%s\", en un comentario de un usuario que ya ha sido borrado",
"%1$s mentioned you in a comment on “%2$s”":"%1$s te mencionó en un comentario en “%2$s”"
"No comments yet, start the conversation!":"¡Aún no hay comentarios, inicia la conversación!",
"More comments …":"Más comentarios ...",
"Save":"Guardar",
"Allowed characters {count} of {max}":"Caracteres permitidos {count} de {max}",
"Error occurred while retrieving comment with ID {id}":"Se presentó un error al recuperar el comentario con ID {id}",
"Error occurred while updating comment with id {id}":"Se presentó un error al actualizar el comentario con Id {id}",
"Error occurred while posting comment":"Se presentó un error al publicar el comentario",
"_%n unread comment_::_%n unread comments_":["%n comentarios sin leer","%n comentarios sin leer"],
"Comment":"Comentario",
"You commented":"Comentaste",
"%1$s commented":"%1$s comentó",
"{author} commented":"{author} comentó",
@@ -12,21 +27,6 @@ OC.L10N.register(
"<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":"Te mencionaron en \"{file}\", en un comentario de un usuario que ya ha sido borrado",
"{user} mentioned you in a comment on “{file}”":"{user} te mencionó en un comentario en “{file}”",
"Edit comment":"Editar comentario",
"Delete comment":"Borrar comentario",
"New comment …":"Comentario nuevo ...",
"Post":"Publicar",
"Cancel":"Cancelar",
"[Deleted user]":"[Usuario borrado]",
"No comments yet, start the conversation!":"¡Aún no hay comentarios, inicia la conversación!",
"More comments …":"Más comentarios ...",
"Save":"Guardar",
"Allowed characters {count} of {max}":"Caracteres permitidos {count} de {max}",
"Error occurred while retrieving comment with ID {id}":"Se presentó un error al recuperar el comentario con ID {id}",
"Error occurred while updating comment with id {id}":"Se presentó un error al actualizar el comentario con Id {id}",
"Error occurred while posting comment":"Se presentó un error al publicar el comentario",
"_%n unread comment_::_%n unread comments_":["%n comentarios sin leer","%n comentarios sin leer"],
"Comment":"Comentario",
"You were mentioned on “%s”, in a comment by a user that has since been deleted":"Te mencionaron en \"%s\", en un comentario de un usuario que ya ha sido borrado",
"%1$s mentioned you in a comment on “%2$s”":"%1$s te mencionó en un comentario en “%2$s”"
"No comments yet, start the conversation!":"¡Aún no hay comentarios, inicia la conversación!",
"More comments …":"Más comentarios ...",
"Save":"Guardar",
"Allowed characters {count} of {max}":"Caracteres permitidos {count} de {max}",
"Error occurred while retrieving comment with ID {id}":"Se presentó un error al recuperar el comentario con ID {id}",
"Error occurred while updating comment with id {id}":"Se presentó un error al actualizar el comentario con Id {id}",
"Error occurred while posting comment":"Se presentó un error al publicar el comentario",
"_%n unread comment_::_%n unread comments_":["%n comentarios sin leer","%n comentarios sin leer"],
"Comment":"Comentario",
"You commented":"Comentaste",
"%1$s commented":"%1$s comentó",
"{author} commented":"{author} comentó",
@@ -10,21 +25,6 @@
"<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":"Te mencionaron en \"{file}\", en un comentario de un usuario que ya ha sido borrado",
"{user} mentioned you in a comment on “{file}”":"{user} te mencionó en un comentario en “{file}”",
"Edit comment":"Editar comentario",
"Delete comment":"Borrar comentario",
"New comment …":"Comentario nuevo ...",
"Post":"Publicar",
"Cancel":"Cancelar",
"[Deleted user]":"[Usuario borrado]",
"No comments yet, start the conversation!":"¡Aún no hay comentarios, inicia la conversación!",
"More comments …":"Más comentarios ...",
"Save":"Guardar",
"Allowed characters {count} of {max}":"Caracteres permitidos {count} de {max}",
"Error occurred while retrieving comment with ID {id}":"Se presentó un error al recuperar el comentario con ID {id}",
"Error occurred while updating comment with id {id}":"Se presentó un error al actualizar el comentario con Id {id}",
"Error occurred while posting comment":"Se presentó un error al publicar el comentario",
"_%n unread comment_::_%n unread comments_":["%n comentarios sin leer","%n comentarios sin leer"],
"Comment":"Comentario",
"You were mentioned on “%s”, in a comment by a user that has since been deleted":"Te mencionaron en \"%s\", en un comentario de un usuario que ya ha sido borrado",
"%1$s mentioned you in a comment on “%2$s”":"%1$s te mencionó en un comentario en “%2$s”"
"No comments yet, start the conversation!":"¡Aún no hay comentarios, inicia la conversación!",
"More comments …":"Más comentarios ...",
"Save":"Guardar",
"Allowed characters {count} of {max}":"Caracteres permitidos {count} de {max}",
"Error occurred while updating comment with id {id}":"Se presentó un error al actualizar el comentario con Id {id}",
"Error occurred while posting comment":"Se presentó un error al publicar el comentario",
"_%n unread comment_::_%n unread comments_":["%n comentarios sin leer","%n comentarios sin leer"],
"Comment":"Comentario",
"You commented":"Comentaste",
"%1$s commented":"%1$s comentó",
"{author} commented":"{author} comentó",
@@ -12,20 +26,6 @@ OC.L10N.register(
"<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":"Te mencionaron en \"{file}\", en un comentario de un usuario que ya ha sido borrado",
"{user} mentioned you in a comment on “{file}”":"{user} te mencionó en un comentario en “{file}”",
"Edit comment":"Editar comentario",
"Delete comment":"Borrar comentario",
"New comment …":"Comentario nuevo ...",
"Post":"Publicar",
"Cancel":"Cancelar",
"[Deleted user]":"[Usuario borrado]",
"No comments yet, start the conversation!":"¡Aún no hay comentarios, inicia la conversación!",
"More comments …":"Más comentarios ...",
"Save":"Guardar",
"Allowed characters {count} of {max}":"Caracteres permitidos {count} de {max}",
"Error occurred while updating comment with id {id}":"Se presentó un error al actualizar el comentario con Id {id}",
"Error occurred while posting comment":"Se presentó un error al publicar el comentario",
"_%n unread comment_::_%n unread comments_":["%n comentarios sin leer","%n comentarios sin leer"],
"Comment":"Comentario",
"You were mentioned on “%s”, in a comment by a user that has since been deleted":"Te mencionaron en \"%s\", en un comentario de un usuario que ya ha sido borrado",
"%1$s mentioned you in a comment on “%2$s”":"%1$s te mencionó en un comentario en “%2$s”"
"No comments yet, start the conversation!":"¡Aún no hay comentarios, inicia la conversación!",
"More comments …":"Más comentarios ...",
"Save":"Guardar",
"Allowed characters {count} of {max}":"Caracteres permitidos {count} de {max}",
"Error occurred while updating comment with id {id}":"Se presentó un error al actualizar el comentario con Id {id}",
"Error occurred while posting comment":"Se presentó un error al publicar el comentario",
"_%n unread comment_::_%n unread comments_":["%n comentarios sin leer","%n comentarios sin leer"],
"Comment":"Comentario",
"You commented":"Comentaste",
"%1$s commented":"%1$s comentó",
"{author} commented":"{author} comentó",
@@ -10,20 +24,6 @@
"<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":"Te mencionaron en \"{file}\", en un comentario de un usuario que ya ha sido borrado",
"{user} mentioned you in a comment on “{file}”":"{user} te mencionó en un comentario en “{file}”",
"Edit comment":"Editar comentario",
"Delete comment":"Borrar comentario",
"New comment …":"Comentario nuevo ...",
"Post":"Publicar",
"Cancel":"Cancelar",
"[Deleted user]":"[Usuario borrado]",
"No comments yet, start the conversation!":"¡Aún no hay comentarios, inicia la conversación!",
"More comments …":"Más comentarios ...",
"Save":"Guardar",
"Allowed characters {count} of {max}":"Caracteres permitidos {count} de {max}",
"Error occurred while updating comment with id {id}":"Se presentó un error al actualizar el comentario con Id {id}",
"Error occurred while posting comment":"Se presentó un error al publicar el comentario",
"_%n unread comment_::_%n unread comments_":["%n comentarios sin leer","%n comentarios sin leer"],
"Comment":"Comentario",
"You were mentioned on “%s”, in a comment by a user that has since been deleted":"Te mencionaron en \"%s\", en un comentario de un usuario que ya ha sido borrado",
"%1$s mentioned you in a comment on “%2$s”":"%1$s te mencionó en un comentario en “%2$s”"
"No comments yet, start the conversation!":"¡Aún no hay comentarios, inicia la conversación!",
"More comments …":"Más comentarios ...",
"Save":"Guardar",
"Allowed characters {count} of {max}":"Caracteres permitidos {count} de {max}",
"Error occurred while updating comment with id {id}":"Se presentó un error al actualizar el comentario con Id {id}",
"Error occurred while posting comment":"Se presentó un error al publicar el comentario",
"_%n unread comment_::_%n unread comments_":["%n comentarios sin leer","%n comentarios sin leer"],
"Comment":"Comentario",
"You commented":"Comentaste",
"%1$s commented":"%1$s comentó",
"{author} commented":"{author} comentó",
@@ -12,20 +26,6 @@ OC.L10N.register(
"<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":"Te mencionaron en \"{file}\", en un comentario de un usuario que ya ha sido borrado",
"{user} mentioned you in a comment on “{file}”":"{user} te mencionó en un comentario en “{file}”",
"Edit comment":"Editar comentario",
"Delete comment":"Borrar comentario",
"New comment …":"Comentario nuevo ...",
"Post":"Publicar",
"Cancel":"Cancelar",
"[Deleted user]":"[Usuario borrado]",
"No comments yet, start the conversation!":"¡Aún no hay comentarios, inicia la conversación!",
"More comments …":"Más comentarios ...",
"Save":"Guardar",
"Allowed characters {count} of {max}":"Caracteres permitidos {count} de {max}",
"Error occurred while updating comment with id {id}":"Se presentó un error al actualizar el comentario con Id {id}",
"Error occurred while posting comment":"Se presentó un error al publicar el comentario",
"_%n unread comment_::_%n unread comments_":["%n comentarios sin leer","%n comentarios sin leer"],
"Comment":"Comentario",
"You were mentioned on “%s”, in a comment by a user that has since been deleted":"Te mencionaron en \"%s\", en un comentario de un usuario que ya ha sido borrado",
"%1$s mentioned you in a comment on “%2$s”":"%1$s te mencionó en un comentario en “%2$s”"
"No comments yet, start the conversation!":"¡Aún no hay comentarios, inicia la conversación!",
"More comments …":"Más comentarios ...",
"Save":"Guardar",
"Allowed characters {count} of {max}":"Caracteres permitidos {count} de {max}",
"Error occurred while updating comment with id {id}":"Se presentó un error al actualizar el comentario con Id {id}",
"Error occurred while posting comment":"Se presentó un error al publicar el comentario",
"_%n unread comment_::_%n unread comments_":["%n comentarios sin leer","%n comentarios sin leer"],
"Comment":"Comentario",
"You commented":"Comentaste",
"%1$s commented":"%1$s comentó",
"{author} commented":"{author} comentó",
@@ -10,20 +24,6 @@
"<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":"Te mencionaron en \"{file}\", en un comentario de un usuario que ya ha sido borrado",
"{user} mentioned you in a comment on “{file}”":"{user} te mencionó en un comentario en “{file}”",
"Edit comment":"Editar comentario",
"Delete comment":"Borrar comentario",
"New comment …":"Comentario nuevo ...",
"Post":"Publicar",
"Cancel":"Cancelar",
"[Deleted user]":"[Usuario borrado]",
"No comments yet, start the conversation!":"¡Aún no hay comentarios, inicia la conversación!",
"More comments …":"Más comentarios ...",
"Save":"Guardar",
"Allowed characters {count} of {max}":"Caracteres permitidos {count} de {max}",
"Error occurred while updating comment with id {id}":"Se presentó un error al actualizar el comentario con Id {id}",
"Error occurred while posting comment":"Se presentó un error al publicar el comentario",
"_%n unread comment_::_%n unread comments_":["%n comentarios sin leer","%n comentarios sin leer"],
"Comment":"Comentario",
"You were mentioned on “%s”, in a comment by a user that has since been deleted":"Te mencionaron en \"%s\", en un comentario de un usuario que ya ha sido borrado",
"%1$s mentioned you in a comment on “%2$s”":"%1$s te mencionó en un comentario en “%2$s”"
"No comments yet, start the conversation!":"¡Aún no hay comentarios, inicia la conversación!",
"More comments …":"Más comentarios ...",
"Save":"Guardar",
"Allowed characters {count} of {max}":"Caracteres permitidos {count} de {max}",
"Error occurred while updating comment with id {id}":"Se presentó un error al actualizar el comentario con Id {id}",
"Error occurred while posting comment":"Se presentó un error al publicar el comentario",
"_%n unread comment_::_%n unread comments_":["%n comentarios sin leer","%n comentarios sin leer"],
"Comment":"Comentario",
"You commented":"Comentaste",
"%1$s commented":"%1$s comentó",
"{author} commented":"{author} comentó",
@@ -12,20 +26,6 @@ OC.L10N.register(
"<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":"Te mencionaron en \"{file}\", en un comentario de un usuario que ya ha sido borrado",
"{user} mentioned you in a comment on “{file}”":"{user} te mencionó en un comentario en “{file}”",
"Edit comment":"Editar comentario",
"Delete comment":"Borrar comentario",
"New comment …":"Comentario nuevo ...",
"Post":"Publicar",
"Cancel":"Cancelar",
"[Deleted user]":"[Usuario borrado]",
"No comments yet, start the conversation!":"¡Aún no hay comentarios, inicia la conversación!",
"More comments …":"Más comentarios ...",
"Save":"Guardar",
"Allowed characters {count} of {max}":"Caracteres permitidos {count} de {max}",
"Error occurred while updating comment with id {id}":"Se presentó un error al actualizar el comentario con Id {id}",
"Error occurred while posting comment":"Se presentó un error al publicar el comentario",
"_%n unread comment_::_%n unread comments_":["%n comentarios sin leer","%n comentarios sin leer"],
"Comment":"Comentario",
"You were mentioned on “%s”, in a comment by a user that has since been deleted":"Te mencionaron en \"%s\", en un comentario de un usuario que ya ha sido borrado",
"%1$s mentioned you in a comment on “%2$s”":"%1$s te mencionó en un comentario en “%2$s”"
"No comments yet, start the conversation!":"¡Aún no hay comentarios, inicia la conversación!",
"More comments …":"Más comentarios ...",
"Save":"Guardar",
"Allowed characters {count} of {max}":"Caracteres permitidos {count} de {max}",
"Error occurred while updating comment with id {id}":"Se presentó un error al actualizar el comentario con Id {id}",
"Error occurred while posting comment":"Se presentó un error al publicar el comentario",
"_%n unread comment_::_%n unread comments_":["%n comentarios sin leer","%n comentarios sin leer"],
"Comment":"Comentario",
"You commented":"Comentaste",
"%1$s commented":"%1$s comentó",
"{author} commented":"{author} comentó",
@@ -10,20 +24,6 @@
"<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":"Te mencionaron en \"{file}\", en un comentario de un usuario que ya ha sido borrado",
"{user} mentioned you in a comment on “{file}”":"{user} te mencionó en un comentario en “{file}”",
"Edit comment":"Editar comentario",
"Delete comment":"Borrar comentario",
"New comment …":"Comentario nuevo ...",
"Post":"Publicar",
"Cancel":"Cancelar",
"[Deleted user]":"[Usuario borrado]",
"No comments yet, start the conversation!":"¡Aún no hay comentarios, inicia la conversación!",
"More comments …":"Más comentarios ...",
"Save":"Guardar",
"Allowed characters {count} of {max}":"Caracteres permitidos {count} de {max}",
"Error occurred while updating comment with id {id}":"Se presentó un error al actualizar el comentario con Id {id}",
"Error occurred while posting comment":"Se presentó un error al publicar el comentario",
"_%n unread comment_::_%n unread comments_":["%n comentarios sin leer","%n comentarios sin leer"],
"Comment":"Comentario",
"You were mentioned on “%s”, in a comment by a user that has since been deleted":"Te mencionaron en \"%s\", en un comentario de un usuario que ya ha sido borrado",
"%1$s mentioned you in a comment on “%2$s”":"%1$s te mencionó en un comentario en “%2$s”"
"No comments yet, start the conversation!":"¡Aún no hay comentarios, inicia la conversación!",
"More comments …":"Más comentarios ...",
"Save":"Guardar",
"Allowed characters {count} of {max}":"Caracteres permitidos {count} de {max}",
"Error occurred while updating comment with id {id}":"Se presentó un error al actualizar el comentario con Id {id}",
"Error occurred while posting comment":"Se presentó un error al publicar el comentario",
"_%n unread comment_::_%n unread comments_":["%n comentarios sin leer","%n comentarios sin leer"],
"Comment":"Comentario",
"You commented":"Comentaste",
"%1$s commented":"%1$s comentó",
"{author} commented":"{author} comentó",
@@ -12,20 +26,6 @@ OC.L10N.register(
"<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":"Te mencionaron en \"{file}\", en un comentario de un usuario que ya ha sido borrado",
"{user} mentioned you in a comment on “{file}”":"{user} te mencionó en un comentario en “{file}”",
"Edit comment":"Editar comentario",
"Delete comment":"Borrar comentario",
"New comment …":"Comentario nuevo ...",
"Post":"Publicar",
"Cancel":"Cancelar",
"[Deleted user]":"[Usuario borrado]",
"No comments yet, start the conversation!":"¡Aún no hay comentarios, inicia la conversación!",
"More comments …":"Más comentarios ...",
"Save":"Guardar",
"Allowed characters {count} of {max}":"Caracteres permitidos {count} de {max}",
"Error occurred while updating comment with id {id}":"Se presentó un error al actualizar el comentario con Id {id}",
"Error occurred while posting comment":"Se presentó un error al publicar el comentario",
"_%n unread comment_::_%n unread comments_":["%n comentarios sin leer","%n comentarios sin leer"],
"Comment":"Comentario",
"You were mentioned on “%s”, in a comment by a user that has since been deleted":"Te mencionaron en \"%s\", en un comentario de un usuario que ya ha sido borrado",
"%1$s mentioned you in a comment on “%2$s”":"%1$s te mencionó en un comentario en “%2$s”"
"No comments yet, start the conversation!":"¡Aún no hay comentarios, inicia la conversación!",
"More comments …":"Más comentarios ...",
"Save":"Guardar",
"Allowed characters {count} of {max}":"Caracteres permitidos {count} de {max}",
"Error occurred while updating comment with id {id}":"Se presentó un error al actualizar el comentario con Id {id}",
"Error occurred while posting comment":"Se presentó un error al publicar el comentario",
"_%n unread comment_::_%n unread comments_":["%n comentarios sin leer","%n comentarios sin leer"],
"Comment":"Comentario",
"You commented":"Comentaste",
"%1$s commented":"%1$s comentó",
"{author} commented":"{author} comentó",
@@ -10,20 +24,6 @@
"<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":"Te mencionaron en \"{file}\", en un comentario de un usuario que ya ha sido borrado",
"{user} mentioned you in a comment on “{file}”":"{user} te mencionó en un comentario en “{file}”",
"Edit comment":"Editar comentario",
"Delete comment":"Borrar comentario",
"New comment …":"Comentario nuevo ...",
"Post":"Publicar",
"Cancel":"Cancelar",
"[Deleted user]":"[Usuario borrado]",
"No comments yet, start the conversation!":"¡Aún no hay comentarios, inicia la conversación!",
"More comments …":"Más comentarios ...",
"Save":"Guardar",
"Allowed characters {count} of {max}":"Caracteres permitidos {count} de {max}",
"Error occurred while updating comment with id {id}":"Se presentó un error al actualizar el comentario con Id {id}",
"Error occurred while posting comment":"Se presentó un error al publicar el comentario",
"_%n unread comment_::_%n unread comments_":["%n comentarios sin leer","%n comentarios sin leer"],
"Comment":"Comentario",
"You were mentioned on “%s”, in a comment by a user that has since been deleted":"Te mencionaron en \"%s\", en un comentario de un usuario que ya ha sido borrado",
"%1$s mentioned you in a comment on “%2$s”":"%1$s te mencionó en un comentario en “%2$s”"
"No comments yet, start the conversation!":"¡Aún no hay comentarios, inicia la conversación!",
"More comments …":"Más comentarios ...",
"Save":"Guardar",
"Allowed characters {count} of {max}":"Caracteres permitidos {count} de {max}",
"Error occurred while updating comment with id {id}":"Se presentó un error al actualizar el comentario con Id {id}",
"Error occurred while posting comment":"Se presentó un error al publicar el comentario",
"_%n unread comment_::_%n unread comments_":["%n comentarios sin leer","%n comentarios sin leer"],
"Comment":"Comentario",
"You commented":"Comentaste",
"%1$s commented":"%1$s comentó",
"{author} commented":"{author} comentó",
@@ -12,20 +26,6 @@ OC.L10N.register(
"<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":"Te mencionaron en \"{file}\", en un comentario de un usuario que ya ha sido borrado",
"{user} mentioned you in a comment on “{file}”":"{user} te mencionó en un comentario en “{file}”",
"Edit comment":"Editar comentario",
"Delete comment":"Borrar comentario",
"New comment …":"Comentario nuevo ...",
"Post":"Publicar",
"Cancel":"Cancelar",
"[Deleted user]":"[Usuario borrado]",
"No comments yet, start the conversation!":"¡Aún no hay comentarios, inicia la conversación!",
"More comments …":"Más comentarios ...",
"Save":"Guardar",
"Allowed characters {count} of {max}":"Caracteres permitidos {count} de {max}",
"Error occurred while updating comment with id {id}":"Se presentó un error al actualizar el comentario con Id {id}",
"Error occurred while posting comment":"Se presentó un error al publicar el comentario",
"_%n unread comment_::_%n unread comments_":["%n comentarios sin leer","%n comentarios sin leer"],
"Comment":"Comentario",
"You were mentioned on “%s”, in a comment by a user that has since been deleted":"Te mencionaron en \"%s\", en un comentario de un usuario que ya ha sido borrado",
"%1$s mentioned you in a comment on “%2$s”":"%1$s te mencionó en un comentario en “%2$s”"
"No comments yet, start the conversation!":"¡Aún no hay comentarios, inicia la conversación!",
"More comments …":"Más comentarios ...",
"Save":"Guardar",
"Allowed characters {count} of {max}":"Caracteres permitidos {count} de {max}",
"Error occurred while updating comment with id {id}":"Se presentó un error al actualizar el comentario con Id {id}",
"Error occurred while posting comment":"Se presentó un error al publicar el comentario",
"_%n unread comment_::_%n unread comments_":["%n comentarios sin leer","%n comentarios sin leer"],
"Comment":"Comentario",
"You commented":"Comentaste",
"%1$s commented":"%1$s comentó",
"{author} commented":"{author} comentó",
@@ -10,20 +24,6 @@
"<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":"Te mencionaron en \"{file}\", en un comentario de un usuario que ya ha sido borrado",
"{user} mentioned you in a comment on “{file}”":"{user} te mencionó en un comentario en “{file}”",
"Edit comment":"Editar comentario",
"Delete comment":"Borrar comentario",
"New comment …":"Comentario nuevo ...",
"Post":"Publicar",
"Cancel":"Cancelar",
"[Deleted user]":"[Usuario borrado]",
"No comments yet, start the conversation!":"¡Aún no hay comentarios, inicia la conversación!",
"More comments …":"Más comentarios ...",
"Save":"Guardar",
"Allowed characters {count} of {max}":"Caracteres permitidos {count} de {max}",
"Error occurred while updating comment with id {id}":"Se presentó un error al actualizar el comentario con Id {id}",
"Error occurred while posting comment":"Se presentó un error al publicar el comentario",
"_%n unread comment_::_%n unread comments_":["%n comentarios sin leer","%n comentarios sin leer"],
"Comment":"Comentario",
"You were mentioned on “%s”, in a comment by a user that has since been deleted":"Te mencionaron en \"%s\", en un comentario de un usuario que ya ha sido borrado",
"%1$s mentioned you in a comment on “%2$s”":"%1$s te mencionó en un comentario en “%2$s”"
"No comments yet, start the conversation!":"¡Aún no hay comentarios, inicia la conversación!",
"More comments …":"Más comentarios ...",
"Save":"Guardar",
"Allowed characters {count} of {max}":"Caracteres permitidos {count} de {max}",
"Error occurred while retrieving comment with ID {id}":"Se presentó un error al recuperar el comentario con ID {id}",
"Error occurred while updating comment with id {id}":"Se presentó un error al actualizar el comentario con Id {id}",
"Error occurred while posting comment":"Se presentó un error al publicar el comentario",
"_%n unread comment_::_%n unread comments_":["%n comentarios sin leer","%n comentarios sin leer"],
"Comment":"Comentario",
"You commented":"Comentaste",
"%1$s commented":"%1$s comentó",
"{author} commented":"{author} comentó",
@@ -12,21 +27,6 @@ OC.L10N.register(
"<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":"Te mencionaron en \"{file}\", en un comentario de un usuario que ya ha sido borrado",
"{user} mentioned you in a comment on “{file}”":"{user} te mencionó en un comentario en “{file}”",
"Edit comment":"Editar comentario",
"Delete comment":"Borrar comentario",
"New comment …":"Comentario nuevo ...",
"Post":"Publicar",
"Cancel":"Cancelar",
"[Deleted user]":"[Usuario borrado]",
"No comments yet, start the conversation!":"¡Aún no hay comentarios, inicia la conversación!",
"More comments …":"Más comentarios ...",
"Save":"Guardar",
"Allowed characters {count} of {max}":"Caracteres permitidos {count} de {max}",
"Error occurred while retrieving comment with ID {id}":"Se presentó un error al recuperar el comentario con ID {id}",
"Error occurred while updating comment with id {id}":"Se presentó un error al actualizar el comentario con Id {id}",
"Error occurred while posting comment":"Se presentó un error al publicar el comentario",
"_%n unread comment_::_%n unread comments_":["%n comentarios sin leer","%n comentarios sin leer"],
"Comment":"Comentario",
"You were mentioned on “%s”, in a comment by a user that has since been deleted":"Te mencionaron en \"%s\", en un comentario de un usuario que ya ha sido borrado",
"%1$s mentioned you in a comment on “%2$s”":"%1$s te mencionó en un comentario en “%2$s”"
"No comments yet, start the conversation!":"¡Aún no hay comentarios, inicia la conversación!",
"More comments …":"Más comentarios ...",
"Save":"Guardar",
"Allowed characters {count} of {max}":"Caracteres permitidos {count} de {max}",
"Error occurred while retrieving comment with ID {id}":"Se presentó un error al recuperar el comentario con ID {id}",
"Error occurred while updating comment with id {id}":"Se presentó un error al actualizar el comentario con Id {id}",
"Error occurred while posting comment":"Se presentó un error al publicar el comentario",
"_%n unread comment_::_%n unread comments_":["%n comentarios sin leer","%n comentarios sin leer"],
"Comment":"Comentario",
"You commented":"Comentaste",
"%1$s commented":"%1$s comentó",
"{author} commented":"{author} comentó",
@@ -10,21 +25,6 @@
"<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":"Te mencionaron en \"{file}\", en un comentario de un usuario que ya ha sido borrado",
"{user} mentioned you in a comment on “{file}”":"{user} te mencionó en un comentario en “{file}”",
"Edit comment":"Editar comentario",
"Delete comment":"Borrar comentario",
"New comment …":"Comentario nuevo ...",
"Post":"Publicar",
"Cancel":"Cancelar",
"[Deleted user]":"[Usuario borrado]",
"No comments yet, start the conversation!":"¡Aún no hay comentarios, inicia la conversación!",
"More comments …":"Más comentarios ...",
"Save":"Guardar",
"Allowed characters {count} of {max}":"Caracteres permitidos {count} de {max}",
"Error occurred while retrieving comment with ID {id}":"Se presentó un error al recuperar el comentario con ID {id}",
"Error occurred while updating comment with id {id}":"Se presentó un error al actualizar el comentario con Id {id}",
"Error occurred while posting comment":"Se presentó un error al publicar el comentario",
"_%n unread comment_::_%n unread comments_":["%n comentarios sin leer","%n comentarios sin leer"],
"Comment":"Comentario",
"You were mentioned on “%s”, in a comment by a user that has since been deleted":"Te mencionaron en \"%s\", en un comentario de un usuario que ya ha sido borrado",
"%1$s mentioned you in a comment on “%2$s”":"%1$s te mencionó en un comentario en “%2$s”"
"No comments yet, start the conversation!":"¡Aún no hay comentarios, inicia la conversación!",
"More comments …":"Más comentarios ...",
"Save":"Guardar",
"Allowed characters {count} of {max}":"Caracteres permitidos {count} de {max}",
"Error occurred while updating comment with id {id}":"Se presentó un error al actualizar el comentario con Id {id}",
"Error occurred while posting comment":"Se presentó un error al publicar el comentario",
"_%n unread comment_::_%n unread comments_":["%n comentarios sin leer","%n comentarios sin leer"],
"Comment":"Comentario",
"You commented":"Comentaste",
"%1$s commented":"%1$s comentó",
"{author} commented":"{author} comentó",
@@ -12,20 +26,6 @@ OC.L10N.register(
"<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":"Te mencionaron en \"{file}\", en un comentario de un usuario que ya ha sido borrado",
"{user} mentioned you in a comment on “{file}”":"{user} te mencionó en un comentario en “{file}”",
"Edit comment":"Editar comentario",
"Delete comment":"Borrar comentario",
"New comment …":"Comentario nuevo ...",
"Post":"Publicar",
"Cancel":"Cancelar",
"[Deleted user]":"[Usuario borrado]",
"No comments yet, start the conversation!":"¡Aún no hay comentarios, inicia la conversación!",
"More comments …":"Más comentarios ...",
"Save":"Guardar",
"Allowed characters {count} of {max}":"Caracteres permitidos {count} de {max}",
"Error occurred while updating comment with id {id}":"Se presentó un error al actualizar el comentario con Id {id}",
"Error occurred while posting comment":"Se presentó un error al publicar el comentario",
"_%n unread comment_::_%n unread comments_":["%n comentarios sin leer","%n comentarios sin leer"],
"Comment":"Comentario",
"You were mentioned on “%s”, in a comment by a user that has since been deleted":"Te mencionaron en \"%s\", en un comentario de un usuario que ya ha sido borrado",
"%1$s mentioned you in a comment on “%2$s”":"%1$s te mencionó en un comentario en “%2$s”"
"No comments yet, start the conversation!":"¡Aún no hay comentarios, inicia la conversación!",
"More comments …":"Más comentarios ...",
"Save":"Guardar",
"Allowed characters {count} of {max}":"Caracteres permitidos {count} de {max}",
"Error occurred while updating comment with id {id}":"Se presentó un error al actualizar el comentario con Id {id}",
"Error occurred while posting comment":"Se presentó un error al publicar el comentario",
"_%n unread comment_::_%n unread comments_":["%n comentarios sin leer","%n comentarios sin leer"],
"Comment":"Comentario",
"You commented":"Comentaste",
"%1$s commented":"%1$s comentó",
"{author} commented":"{author} comentó",
@@ -10,20 +24,6 @@
"<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":"Te mencionaron en \"{file}\", en un comentario de un usuario que ya ha sido borrado",
"{user} mentioned you in a comment on “{file}”":"{user} te mencionó en un comentario en “{file}”",
"Edit comment":"Editar comentario",
"Delete comment":"Borrar comentario",
"New comment …":"Comentario nuevo ...",
"Post":"Publicar",
"Cancel":"Cancelar",
"[Deleted user]":"[Usuario borrado]",
"No comments yet, start the conversation!":"¡Aún no hay comentarios, inicia la conversación!",
"More comments …":"Más comentarios ...",
"Save":"Guardar",
"Allowed characters {count} of {max}":"Caracteres permitidos {count} de {max}",
"Error occurred while updating comment with id {id}":"Se presentó un error al actualizar el comentario con Id {id}",
"Error occurred while posting comment":"Se presentó un error al publicar el comentario",
"_%n unread comment_::_%n unread comments_":["%n comentarios sin leer","%n comentarios sin leer"],
"Comment":"Comentario",
"You were mentioned on “%s”, in a comment by a user that has since been deleted":"Te mencionaron en \"%s\", en un comentario de un usuario que ya ha sido borrado",
"%1$s mentioned you in a comment on “%2$s”":"%1$s te mencionó en un comentario en “%2$s”"
"<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 mainiti \"{file}\", kommentaaris kasutataja poolt, mis on praeguseks kustutatud",
"{user} mentioned you in a comment on “{file}”":"{user} mainis sind faili “{file}” kommentaaris",
"Edit comment":"Muuda kommentaari",
"Delete comment":"Kustuta kommentaar",
"New comment …":"Uus kommentaar",
"Post":"Postita",
"Cancel":"Loobu",
"[Deleted user]":"[Kustutatud kasutaja]",
"No comments yet, start the conversation!":"Kommentaare veel pole, alusta vestlust",
"More comments …":"Veel kommentaare ...",
"Save":"Salvesta",
"Allowed characters {count} of {max}":"Lubatud märkide arv {count}/{max}",
"Error occurred while updating comment with id {id}":"Kommentaari {id} uuendamisel tekkis tõrge",
"Error occurred while posting comment":"Viga kommentaari postitamisel",
"You were mentioned on “%s”, in a comment by a user that has since been deleted":"Sind mainiti \"%s\", kommentaaris kasutataja poolt, mis on praeguseks kustutatud",
"%1$s mentioned you in a comment on “%2$s”":"%1$s mainis sind \"%2$s\" kommentaaris"
},
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.