Because some cron jobs do not always properly clean up their FS usage
and others might not clean up before setting up the FS, this could
cause potential side effects.
To make sure we exclude side effects, we tear down the FS between cron
jobs.
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
When unsharing from self in a group share situation, the share items
passed to the post_unshareFromSelf hook were using the wrong format in
which the attribute names (ex: "share_type") have non camel-case format.
This fix makes sure that in group sharing case we use the correct
format. It looks like the code was already producing it but in
array_merge it was not using it and adding the unprocessed one.
In case of a write-only share we should not allow to specify a subfolder as this is unexpected behaviour.
Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
The call to UserList.add() was wrong and was passing "user.lastLogin"
as the sort argument which would cause the list to be resorted over and
over again for every added item after loading the next page of users.
This leads to log messages such as "Undefined index: updaterEnabled at /media/psf/nextcloud/apps/updatenotification/lib/Controller/AdminController.php#116".
Should give us some quicker test execution speed as we're not limited by Travis
Explicitly invoke with "bash"
Install instance already
Use newest litmus container
The exception message is potentially influenced by user input and could thus be confusing (e.g. somebody could try to open a file like "Please send a mail to support@foo.com", and then the message would include that string.
It is thus reasonable to not show the exception message by default. Also for the browser view I added an `exit()` at the end, as otherwise the XML exception would be attached.
Users page lazy multiselect group dropdowns
Instead of pre-rendering all multiselects with lots of group entries,
the current groups are now displayed as simple labels.
Behind the labels there is a pencil icon like for other fields.
When clicking the pencil icon, the dropdown will be spawned and will
open itself.
Upon closing of the dropdown, the label comes back with the updated
selection and the dropdown is destroyed.
Extra non-available groups also in list
Fix group sorting in user list group selection
* Password Update Notification
Added an IF ELSE statement to ensure that feedback is provided to the
user on successfully updating a user password in settings.
* Password Update Success Message
Updated the password update success message
Whenever an LDAP user also has an email address defined in LDAP, the
LDAP code will try and update the email address of the locally known
user. This happens at login time or every time the user's LDAP
attributes are processed.
There is code listening to the email setting hook which updates the
system address book, which also will trigger FS setup due to avatars
and other things.
This fix only sets the email address when really necessary.
When the server is in maintenance mode, apps are not loaded.
That means apps/theming/ is not in the allowed paths. So we
need to check without autoloading, whether the class exists.
In some envs the rewrite rules for pretty URLs apply to all CSS files, so let's not end the route name with that etension.
Fixes#315
(cherry picked from commit 839ee5e)
$nameSearchPattern was passed in and directly appended to the SQL query. Luckily the code path isn't reached anywhere in Nextcloud or the included apps.
In a SAML scenario we don't get any strict or lax cookie send for
the ACS endpoint. Since we have some legacy code in Nextcloud
(direct PHP files) the enforcement of lax cookies is performed here
instead of the middleware.
This means we cannot exclude some routes from the cookie validation,
which normally is not a problem but is a little bit cumbersome for
this use-case.
Once the old legacy PHP endpoints have been removed we can move
the verification into a middleware and also adds some exemptions.
Not super awesome code to have but the best that I could come up
with that doesn't add another ton of technical debt.
The Nextcloud and ownCloud updaters allow someone to configure a custom release channel, this can then be used to publish different versions. (e.g. one channel stays on 9.x while another one already gets 10.x)
There is however one big problem with it: The value is effectively stored in the app config, which is stored in the database. So to be able to read the update channel a connection to the database is necessary. This is quite error prone and also causes some of the issues in the original ownCloud updater.
This moves the channel registration to the config.php and also includes a repair step.
Scenario:
user0 shares a folder 'foo' with user2
user1 shares a folder 'foo' with user2
user2 logs in
Before: show only the 'foo' from user1
After: show both.
* Added intergration tests
This moves registerMountProviders until after the sharing backends were
registered. In some situations registerMountProviders will trigger
listeners which might require filesystem access which itself would
mount shares, which itself requires the sharing backends to be
initialized.
This moves registerMountProviders until after the sharing backends were
registered. In some situations registerMountProviders will trigger
listeners which might require filesystem access which itself would
mount shares, which itself requires the sharing backends to be
initialized.
When no cookies are sent it is not required to perform any check for the strict or lax cookie, it does not provide any significant security advantage.
It does however interfer with the Android client which requests thumbnails from the unofficial API at `/index.php/apps/files/api/v1/thumbnail/256/256/{filename}`. This endpoint expects the strict cookie to be existent to not leak the existence of files. The Android client authenticates against this endpoint using Basic Auth and without cookies in some cases at least. This will make these endpoints work again with such cases.
To test this issue the following cURL command once without the patch and once with:
> curl http://localhost/index.php/apps/files/api/v1/thumbnail/256/256/welcome.txt -u admin -v
Without the patch the request is redirected (which the client does not obey) and with the patch the preview is returned.
Otherwise always the warning is displayed that the data directory is accessible from the internet when URLs without index.php are enabled.
Fixes https://github.com/nextcloud/server/issues/91
A share can only be requested by 3 'types' of people
* owner
* initiator
* recipient
So we have to get the path as the current user. Since that is the only
path that has any meaning to the user.
- Fixed tests
As the apps from the appstore are at the moment signed by the ownCloud Root CA we have to add it as fallback as well. We can remove that once Nextcloud 10 with new appstore has been released.
At the moment we want to hide the help link from the personal sidebar as it contains the original ownCloud documentation.
Once we have our own documentation with our proper branding and so on we can reenable this.
* Fixed group share searching for members of
multiple group. Issue #11808.
* Fixed group share searching, continued.
Avoid searching for empty group list in getItemSharedWithUser().
Broke tests in previous commit, #12030.
* Simler check for group count.
* Fix for https://github.com/owncloud/core/issues/24783 , described there
* Now it's #24272, 24783 was a duplicate. Previous change was also not very good. Now we don't create ZIP with a single file inside.
For #24403
When upgrading huge installations this can lead to memory problems as
the cache will only grow and grow.
Capping this memory will make sure we don't run out while during normal
operation still basically cache everything.
getUserGroups:
Using $userDN instead of $uid to query LDAP
Converting groupDN to group name using API instead of substring
Removing cache processing at the end of the method
mb_detect_encoding is in the fallback we ship in the polyfill library, mb_strcut is not. Thus this lead to a false positive and ownCloud would just break.
the login password changed at the user back-end (e.g ldap). Such failures will
be handled after login correctly by allowing the user to adjust the passwords
Whenever part chunks are written, every fwrite in the write loop will
reset the mtime to the current mtime. Only at the end will the touch()
operation set the mtime to now + ttl, in the future.
However the GC code is expecting that every chunk with mtime < now are
old and must be deleted. This causes the GC to sometimes delete part
chunks in which the write loop is slow.
To fix this, a tolerance value is added in the GC code to allow for
more time before a part chunk gets deleted.
E-tag propagation replies on the mtime of the file. Order of events:
1. add file 'foo.txt' with content 'bar'
2. Set mtime to now() - 1
3. Check if etag changed.
Now this goes right often when 1 and 2 happen in the same second.
However imagine
1. add file 'foo.txt' with content 'bar' (at t=0.999)
2. Set mtime to now() - 1 (at t=1.001)
Now the mtime will be set to the same time. Thus not chaning the etag.
Currently testing the updates is a big problem and not really super easy possible. Since we now have a new updater server we should also make this configurable so that people can properly test updates.
The current logic for mod_rewrite relies on the fact that people have properly configured ownCloud, basically it reads from the `overwrite.cli.ur
l` entry and then derives the `RewriteBase` from it.
This usually works. However, since the ownCloud packages seem to install themselves at `/owncloud` (because subfolders are cool or so…) _a lot_ of people have just created a new Virtual Host for it or have simply symlinked the path etc.
This means that `overwrite.cli.url` is wrong, which fails hard if it is used as RewriteBase since Apache does not know where it should serve files from. In the end the ownCloud instance will not be accessible anymore and users will be frustrated. Also some shared hosters like 1&1 (because using shared hosters is so awesome… ;-)) have somewhat dubious Apache configurations or use versions of mod_rewrite from the mediveal age. (because updating is money or so…)
Anyhow. This makes this explicitly an opt-in configuration flag. If `htaccess.RewriteBase` is set then it will configure index.php-less URLs, if
admins set that after installation and don't want to wait until the next ownCloud version they can run `occ maintenance:update:htaccess`.
For ownCloud 9.0 we also have to add a repair step to make sure that instances that already have a RewriteBase configured continue to use it by copying it into the config file. That way all existing URLs stay valid. That one is not in this PR since this is unneccessary in master.
Effectively this reduces another risk of breakage when updating from ownCloud 8 to ownCloud 9.
Fixes https://github.com/owncloud/core/issues/24525, https://github.com/owncloud/core/issues/24426 and probably some more.
When moving files via WebDAV I sometimes got
PHP Fatal error: Nesting level too deep - recursive dependency? in /var/www/owncloud/lib/private/files/view.php on line 729
This small change has fixed the problem for me
The login process needs to be completed before we can safely create
the users home folder. For example we need to give encryption a chance
to initialize the users encryption keys in order to copy the skeleton
files correctly
When running with a user database backend on large installations the
cache can grow to significant sizes. This can be especially problematic
when running big cron/repair jobs.
The previous logic did not necessarily trigger in every case. This logic is more error-resistant, the autoload_classmap.php file has a guaranteed different hash on 9.0.0, 9.0.1 and 9.0.2
Fixes https://github.com/owncloud/updater/issues/342
jquery.fileupload offers the [`pastezone`](https://github.com/blueimp/jQuery-File-Upload/wiki/Options#pastezone) functionality. This functionality is enabled by default and if somebody copy-pastes something into Chrome it will automatically trigger an upload of the content to any configured jquery.fileupload element embedded in the JS.
This implementation triggers some problems:
1. The pastezone is defined globally by default (🙈). So if there are multiple fileupload's on a page (such as in the personal settings) then stuff is going to be uploaded to all embedded uploads.
2. Our server code is not able to parse the data. For example for uploads in the files app we expect a file name which is not specified => Just an error is thrown. You can reproduce this by taking a file into your clipboard and in Chrome then pressing <kbd>CTRL + V</kbd>.
3. When copy-pasting some string from MS Office on the personal page a temporary avatar with said content is created.
Considering that this is anyways was never working at all and causes bugs I've set the `pastezone` to `null`. This mens that upload via copy and paste will be disabled.
Lesson learned: Third-party JS libraries can have some weird details.
* getFromCache is wrapped in isCached
* inbetween the two calls the cache entry hits it's TTL
* getFromCache returns null
* this fix only checkes if the returned value is null and
return only non-null values
For one, it solves potential conflicts when using the resource. For the
other, one on the login check (the only place where a clone happens
currently) we do not need to rebind after confirming the user's login
was successful.
In theory, if your instance ever creates more jobs then your system cron can
handle, the default background jobs get never executed anymore. Because
everytime when the joblist returns the next job it looks for the next ID,
however there is always a new next ID, so it will never wrap back to execute
the low IDs. But when we change the sort order to be DESC, we make sure that
these low IDs are always executed, before the system jumps back up to
execute the new IDs.
In some scenarios initMountPoints is called with an empty user, and
also there is no user in the session.
In such cases, it is unsafe to let the code move on with an empty user.
The new updater as shipped with ownCloud 9.0.x invokes `occ` via `shell_exec`. This means that the `\OC::$CLI` code is used when updating.
This removes the manual `.htaccess` modifications, effectively leading to the fact that URLs without index.php in it stop working. This also affects share URLs which could be considered a rather serious regression.
- User installs 9.0.0 via web
- User shares /s/1234
- User updates to 9.0.1 via ownCloud updater
- Link to /s/1234 is broken, /index.php/s/1234 works
The updater as shipped with ownCloud =< 9.0.1 has several bugs leading to a not properly executed update. For example the third-party changes are not copied.
This pull request:
1. Ships the third-party files changed since ownCloud 9.0.1 in the resources folder. On update the files are replaced. (https://github.com/owncloud/updater/issues/316)
2. Adds updater/* and _oc_upgrade/* as an exemption to the code integrity checker since the updater is updating in the wrong order. (https://github.com/owncloud/updater/issues/318)
Fixes#24032
Since we have a slightly different UI for the federated shares our
normal logic fails us. This makes sure to add the correct permissions
when it is a federated share.
Composer 1.1 has since yesterday a new performance improvement that will be automatically used for PHP >= 5.6, however this file is incompatible with older PHP versions and thus we need to exclude it from the checks.
Note that this performance improvement is only used on >= 5.6 so ownCloud will still run fine on older PHP versions as well.
This is ugly as hell. But if we directly access `\OCP\IUserSession::getUser` here PHP throws a segfault on some servers:
```
gdb /usr/sbin/apache2 --batch --quiet -ex "run -f /etc/apache2/apache2.conf -DNO_DETACH -DONE_PROCESS -DDEBUG $defines" -ex "quit"
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 172.17.0.6. Set the 'ServerName' directive globally to suppress this message
warning: the debug information found in "/usr/lib/debug//usr/lib/php5/20121212/mysql.so" does not match "/usr/lib/php5/20121212/mysql.so" (CRC mismatch).
warning: the debug information found in "/usr/lib/debug/usr/lib/php5/20121212/mysql.so" does not match "/usr/lib/php5/20121212/mysql.so" (CRC mismatch).
warning: the debug information found in "/usr/lib/debug//usr/lib/php5/20121212/mysqli.so" does not match "/usr/lib/php5/20121212/mysqli.so" (CRC mismatch).
warning: the debug information found in "/usr/lib/debug/usr/lib/php5/20121212/mysqli.so" does not match "/usr/lib/php5/20121212/mysqli.so" (CRC mismatch).
warning: the debug information found in "/usr/lib/debug//usr/lib/php5/20121212/pdo_mysql.so" does not match "/usr/lib/php5/20121212/pdo_mysql.so" (CRC mismatch).
warning: the debug information found in "/usr/lib/debug/usr/lib/php5/20121212/pdo_mysql.so" does not match "/usr/lib/php5/20121212/pdo_mysql.so" (CRC mismatch).
[New Thread 0x7fffdd206700 (LWP 28386)]
[Thread 0x7fffdd206700 (LWP 28386) exited]
[New Thread 0x7fffdd206700 (LWP 28387)]
[New Thread 0x7fffdc975700 (LWP 28388)]
Program received signal SIGSEGV, Segmentation fault.
zend_parse_parameters (num_args=2, type_spec=type_spec@entry=0x7ffff3f85227 "s|s") at /build/php5-pO28mL/php5-5.5.9+dfsg/Zend/zend_API.c:923
923 /build/php5-pO28mL/php5-5.5.9+dfsg/Zend/zend_API.c: No such file or directory.
A debugging session is active.
Inferior 1 [process 28382] will be killed.
Quit anyway? (y or n) [answered Y; input not from terminal]
```
I'm still struggling to get a minimal example of this (also considering that it doesn't happen on every system :party). Anyways, it's a functional workaround until I determined the root cause… (also given the fact that patches may never be backported to distributions 🙈
* Read available l10n files also from theme folder
The old behaviour was that only languages could be used for an app
that are already present in the apps/$app/l10n folder. If there is
a themed l10n that is not present in the apps default l10n folder
the language could not be used and the texts are not translated.
With this change this is possible and also the l10n files are
loaded even if the default l10n doesn't contain the l10n file.
* Inject server root - allows proper testing and separation of concerns
Whenever a user navigates away, all ajax calls will fail with the same
result like a cross-domain redirect (SSO). To distinguish these cases,
we need to detect whether the error is a result of the user navigating
away. For this, we introduce a new flag that will be set in
"beforeunload".
Additional handling was required for false positives in case "beforeunload" is
used (ex: cancelled upload) and the user cancelled the navigation.
in order to create a 1:1 copy of a file if a version gets created
we need to store this information on copyBetweenStorage(). This
allows us to by-pass the encryption wrapper if we read the source file.
The code path called when using external storage with WebDAV is using `\OC\Files\Storage\Wrapper\Encryption::getMetaData` which did not contain the actual encrypted version inside the cache entry version. This lead to the following:
1. User uploaded a file
2. File is created and `\OC\Files\Storage\Wrapper\Encryption::getMetaData` is called. It has an empty `encryptedVersion` but sets `encrypted` to either `true` or `false`.
3. The call when updating the file cache will use the old version.
The one we ship may cause problems since Equifax is not included anymore (SHA-1 certs) are deprecated. We should just be consistent here and also use the certificate file which is used by the other calls in the library.
Fixes#23536
The new sharing code is much stricter in checking permissions. However
for non moveable mounts the permissions UPDATE+DELETE are not reported
on the mount point.
This is just a quick fix.
* Updated unit tests
There are authentication backends such as Shibboleth that do send no Basic Auth credentials for DAV requests. This means that the ownCloud DAV backend would consider these requests coming from an untrusted source and require higher levels of security checks. (e.g. a CSRF check)
While an elegant solution would rely on authenticating via token (so that one can properly ensure that the request came indeed from a trusted client) this is a okay'ish workaround for this problem until we have something more reliable in the authentication code.
Since the library can only store the full response in memory on
download, we use an alternate client lib and set the correct headers to
be able to stream the content to a temp file.
When installing ownCloud with autotest and MySQL some log entries may be created which will invoke the logging class. IUserSession has a dependency on the database which will make the installation fail => 💣
- removed leading spaces before markup which can affect rendering in
some cases
- added shareOption CSS class to group and keep share option checkbox +
label
- moved ".showCruds" arrow into the matching shareOption to keep the
arrow together with the checkbox
Intergration tests to ensure the share-types property is set correctly.
* Unshared item
* Shared with user
* Shared with group
* Shared by link
* Shared with user & group & link
PATH_INFO will be empty at this point and thus the logic in base.php did not catch this. Changing this to "getRawPathInfo" will ensure that the path info is properly read.
Fixes https://github.com/owncloud/core/issues/23199
The ownCloud update routine also runs the "updateHtaccess" code in case only an application gets updated. This leads to having entries multiple time in the .htaccess file leading to unpredictable behaviour.
With 9.0 we added the "#### DO NOT CHANGE ANYTHING ABOVE THIS LINE ####" entry to the .htaccess file, this change uses it to ensure that only to the .htaccess gets written if the file has not been modified already. Since the .htaccess modifications are optional this is not a big deal.
Without this change updates of applications can break the rewrite rules (ending in endless redirects) as well as breaking the code integrity checker.
Fixes#23325
It can happen that a user shares a folder with public upload. And some
time later the admin disables public upload on the server.
To make sure this is handled correctly we need to check the config value
and reduce the permissions.
Fix is kept small to be easy backportable.
A PreconditionNotMetException must only be thrown if explicit
preconditions are specified for setValues(), not if the value is merely
the same as was already in the DB.
In case of a move operation from an unencrypted to an encrypted
storage the old encrypted version would stay with "0" while the
correct value would be "1". Thus we manually set the value to "1"
for those cases.
See also https://github.com/owncloud/core/issues/23078
**Before:**
> Your PHP version (5.4.16) is no longer supported by PHP. We encourage you to upgrade your PHP version to take advantage of performance and security updates provided by PHP.
**After:**
> You are currently running PHP 5.4.0. We encourage you to upgrade your PHP version to take advantage of performance and security updates provided by the PHP Group as soon as your distribution supports it.
Fixes https://github.com/owncloud/enterprise/issues/1170
The setup uses `\OCP\IRequest::getInsecureServerHost` which in some cases can also include a port. This makes the trusted domain check fail thus.
I've decided to add this here that way because adjusting the setup would require parsing the host properly. This is not something that can be done very good in PHP. Check the following example for why `parse_url` is not our friend: https://3v4l.org/k501Z
In the case of shared files, we have to call free_space() on the file
name. This has the side-effect that when uploading to a local storage
without quota set, it will call disk_free_space with the file name,
which fails.
This fix uses the parent folder in case the given path is a file.
The SabreDAV release in 9.0 requires XMLReader, while this is usually compiled in by default some distributions like Gentoo don't.
Without this ownCloud gives a fatal 500 error instead of telling people to enable XMLReader.
Fixes https://github.com/owncloud/core/issues/23003
Fixes#22601
Before we did a full test on all chunks to verify if a chunked upload
was completed. This is unneeded since if we are missing one chunk we can
already fail.
Also we look from back to front since it is much more likely that we
find a missing chunk thus can error out early.
If the check is negative it would depending on the used cache store the value as an empty string. When reading the value this check would thus return "false" even if a value exists.
When download a public link share folder using the button on the top
right, it doesn't provide a list of files.
This fix makes sure to trigger the correct logic when no file list was
given.
A federated share can report unlimited quota as -3, so the
ajax/upload.php code needs to be adjusted to block uploads when the free
space is unlimited.
TEXT defaults to a length of 255 which is going to fail in some cases as the timezone can be rather long.
This changes it back to a CLOB as it has been before as well: owncloudarchive/calendar@8d8bb68. I'm not super convinced that CLOB is the best choice here but at least it seems to work.
Fixes#22876
Backport of https://github.com/owncloud/core/pull/22878 to stable9
* fixes#22819
The old way fired a DELETE statement on each destruction of the
DBLockingProvider. Which could cause a lot of queries. It's enough
to run this every 5 minutes in a background job, which in the end
could result in file locks that exists 5 minutes longer - in the
worst case and for not properly released locks.
This makes the DB based locking a lot more performant and could
result in a similar performance to the Redis based locking provider.
When calling `\OC\Files\View::copy` we should also keep the version to ensure that the file will always have the correct version attached and can be successfully decrypted.
To test this the following steps are necessary (from https://github.com/owncloud/core/issues/22781#issuecomment-191328982):
1. setup a new ownCloud 9.0 beta2
2. enable encryption
2. upload a docx (5.7MB large)
3. upload the same file again and overwrite the existing file
4. I can download the original file and the first version
5. I restore the first version
6. restored version can no longer be downloaded with the error described above
The manual cache operation in `\OCA\Files_Versions\Storage` is unfortunately necessary since `\OCA\Files_Versions\Storage::copyFileContents` is not using `\OCP\Files\Storage::moveFromStorage` in the case when an object storage is used. Due to the workaround added in https://github.com/owncloud/core/commit/54cea05271b887f1c8062c034741df869bc0f055 the stream is directly copied and thus bypassing the FS.
@@ -12,14 +12,14 @@ If you have questions about how to install or use Nextcloud, please direct these
- You can also filter by appending e. g. "state:open" to the search string.
- More info on [search syntax within github](https://help.github.com/articles/searching-issues)
* This repository ([server](https://github.com/nextcloud/server/issues)) is *only* for issues within the Nextcloud Server code. This also includes the apps: files, encryption, external storage, sharing, deleted files, versions, LDAP, and WebDAV Auth
* __SECURITY__: Report any potential security bug to us via [our HackerOne page](https://hackerone.com/nextcloud) or security@nextcloud.com following our [security policy](https://nextcloud.com/security/) instead of filing an issue in our bug tracker.
* __SECURITY__: Report any potential security bug to us via security@nextcloud.com following our [security policy](https://nextcloud.com/security/) instead of filing an issue in our bug tracker-
* The issues in other components should be reported in their respective repositories: You will find them in our [GitHub Organization](https://github.com/nextcloud/)
* Report the issue using our [template][template], it includes all the information we need to track down the issue.
Help us to maximize the effort we can spend fixing issues and adding new features, by not reporting duplicate issues.
@@ -29,38 +29,11 @@ Thanks for wanting to contribute source code to Nextcloud. That's great!
Please read the [Developer Manuals][devmanual] to learn how to create your first application or how to test the Nextcloud code with PHPUnit.
### Tests
In order to constantly increase the quality of our software we can no longer accept pull request which submit un-tested code.
It is a must have that changed and added code segments are unit tested.
In some areas unit testing is hard (aka almost impossible) as of today - in these areas refactoring WHILE fixing a bug is encouraged to enable unit testing.
### Sign your work
We use the Developer Certificate of Origin (DCO) as a additional safeguard
for the Nextcloud project. This is a well established and widely used
mechanism to assure contributors have confirmed their right to license
Please stay tuned while we get all the repositories up.
Meanwhile check out https://nextcloud.com and follow us on https://twitter.com/nextclouders
If you want to [contribute](https://nextcloud.com/contribute/), you are very welcome:
- on our IRC channels #nextcloud & #nextcloud-dev irc://#nextcloud-dev@freenode.net (on freenode) and
- our forum at https://help.nextcloud.com
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.
if you want to join the Github organization just let us know and we’ll add you! :)
*This is by the community, for the community. Everyone is welcome! :)*
* :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 authentification.
*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
- [**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/)
*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)
* :arrows_counterclockwise: **Share your Data**You share your data with others, and give them access to your latest photo galleries, your calendar or anything else you want them to see.
* :rocket: **Expandable with dozens of Apps** ...like Calendar, Contacts, Mail or News.
* :cloud: **All Benefits of the Cloud** ...on your own Server.
* :lock: **Encryption** You can encrypt data in transit with secure https connections. You can enable the encryption app to encrypt data on storage for improved security and privacy.
* ...
## Contribution Guidelines
@@ -42,25 +36,20 @@ licensed under the AGPLv3 or any later version.
Nextcloud doesn't require a CLA (Contributor License Agreement).
The copyright belongs to all the individual contributors. Therefore we recommend
that every contributor adds following line to the header of a file, if they
that every contributor adds following line to the header of a file, if he
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.
More information how to contribute: https://nextcloud.com/contribute/
Please review the [guidelines for contributing](https://github.com/nextcloud/server/blob/master/CONTRIBUTING.md) to this repository.
## Support
Learn about the different ways you can get support for Nextcloud: https://nextcloud.com/support/
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 by default included in regular releases like [firstrunwizard](https://github.com/nextcloud/firstrunwizard) or [gallery](https://github.com/nextcloud/gallery) are missing in `master` and have to be installed manually as required.
That aside Git checkouts can be handled the same as release archives.
Note they should never be used on production systems.
"You commented on %1$s":"Okomentoval(a) jste %1$s",
"You commented on {file}":"Okomentoval(a) jste {file}",
"%1$s commented on %2$s":"%1$s okomentoval %2$s",
"{author} commented on {file}":"{author} okomentoval(a) {file}",
"<strong>Comments</strong> for files":"<strong>Komentáře</strong> souborů",
"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",
"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",
"%1$s mentioned you in a comment on “%2$s”":"%1$s vás zmínil(a) v komentáři u %2$s",
"{user} mentioned you in a comment on “{file}”":"{user} vás zmínil v komentáři u “{file}”",
"A (now) deleted user mentioned you in a comment on “%s”":"A (now) deleted user mentioned you in a comment on “%s”",
"A (now) deleted user mentioned you in a comment on “{file}”":"Nyní již smazaný uživatel vás zmínil v komentáři u \"{file}\""
"You commented on %1$s":"Okomentoval(a) jste %1$s",
"You commented on {file}":"Okomentoval(a) jste {file}",
"%1$s commented on %2$s":"%1$s okomentoval %2$s",
"{author} commented on {file}":"{author} okomentoval(a) {file}",
"<strong>Comments</strong> for files":"<strong>Komentáře</strong> souborů",
"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",
"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",
"%1$s mentioned you in a comment on “%2$s”":"%1$s vás zmínil(a) v komentáři u %2$s",
"{user} mentioned you in a comment on “{file}”":"{user} vás zmínil v komentáři u “{file}”",
"A (now) deleted user mentioned you in a comment on “%s”":"A (now) deleted user mentioned you in a comment on “%s”",
"A (now) deleted user mentioned you in a comment on “{file}”":"Nyní již smazaný uživatel vás zmínil v komentáři u \"{file}\""
"You commented on {file}":"Du kommenterede {file}",
"%1$s commented on %2$s":"%1$s kommenterede %2$s",
"{author} commented on {file}":"{author} kommenterede {file}",
"<strong>Comments</strong> for files":"<strong>Kommentarer</strong> for filer",
"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 siden er blevet slettet",
"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",
"%1$s mentioned you in a comment on “%2$s”":"%1$s nævnte dig i en kommentarer på “%2$s”",
"{user} mentioned you in a comment on “{file}”":"{user} nævnte dig i en kommentarer på \"{file}\"",
"A (now) deleted user mentioned you in a comment on “%s”":"En (nu) slettet bruger nævnte dig i en kommentarer på “%s”",
"A (now) deleted user mentioned you in a comment on “{file}”":"En (nu) slettet bruger nævnte dig i en kommentarer på \"{file}\""
"You commented on {file}":"Du kommenterede {file}",
"%1$s commented on %2$s":"%1$s kommenterede %2$s",
"{author} commented on {file}":"{author} kommenterede {file}",
"<strong>Comments</strong> for files":"<strong>Kommentarer</strong> for filer",
"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 siden er blevet slettet",
"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",
"%1$s mentioned you in a comment on “%2$s”":"%1$s nævnte dig i en kommentarer på “%2$s”",
"{user} mentioned you in a comment on “{file}”":"{user} nævnte dig i en kommentarer på \"{file}\"",
"A (now) deleted user mentioned you in a comment on “%s”":"En (nu) slettet bruger nævnte dig i en kommentarer på “%s”",
"A (now) deleted user mentioned you in a comment on “{file}”":"En (nu) slettet bruger nævnte dig i en kommentarer på \"{file}\""
"You commented on {file}":"You commented on {file}",
"%1$s commented on %2$s":"%1$s commented on %2$s",
"{author} commented on {file}":"{author} commented on {file}",
"<strong>Comments</strong> for files":"<strong>Comments</strong> for files",
"You were mentioned on “%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",
"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",
"%1$s mentioned you in a comment on “%2$s”":"%1$s mentioned you in a comment on “%2$s”",
"{user} mentioned you in a comment on “{file}”":"{user} mentioned you in a comment on “{file}”",
"A (now) deleted user mentioned you in a comment on “%s”":"A (now) deleted user mentioned you in a comment on “%s”",
"A (now) deleted user mentioned you in a comment on “{file}”":"A (now) deleted user mentioned you in a comment on “{file}”"
"<strong>Comments</strong> for files":"<strong>Comments</strong> for files"
"You commented on {file}":"You commented on {file}",
"%1$s commented on %2$s":"%1$s commented on %2$s",
"{author} commented on {file}":"{author} commented on {file}",
"<strong>Comments</strong> for files":"<strong>Comments</strong> for files",
"You were mentioned on “%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",
"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",
"%1$s mentioned you in a comment on “%2$s”":"%1$s mentioned you in a comment on “%2$s”",
"{user} mentioned you in a comment on “{file}”":"{user} mentioned you in a comment on “{file}”",
"A (now) deleted user mentioned you in a comment on “%s”":"A (now) deleted user mentioned you in a comment on “%s”",
"A (now) deleted user mentioned you in a comment on “{file}”":"A (now) deleted user mentioned you in a comment on “{file}”"
"<strong>Comments</strong> for files":"<strong>Comments</strong> for files"
"<strong>Comments</strong> for files":"<strong>Comentarios</strong> en archivos",
"%1$s commented":"%1$s comentados",
"%1$s commented on %2$s":"%1$s comentados en %2$s",
"Comments":"Comentarios",
"Unknown user":"Usuario desconocido",
"New comment …":"Nuevo comentario",
"Type in a new comment...":"Ingrese un nuevo comentario...",
"Delete comment":"Borrar comentario",
"Post":"Publicar",
"Cancel":"Cancelar",
"Edit comment":"Editar comentario",
"[Deleted user]":"[Usuario eliminado]",
"No comments yet, start the conversation!":"¡No hay comentarios, empieza la conversación!",
"More comments …":"Más comentarios...",
"No other comments available":"No hay otros comentarios disponibles",
"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 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 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ó",
"You commented on %1$s":"Has comentado en %1$s",
"You commented on {file}":"Has comentado en {file}",
"%1$s commented on %2$s":"%1$s comentados en %2$s",
"{author} commented on {file}":"{author} comentó en {file}",
"<strong>Comments</strong> for files":"<strong>Comentarios</strong> para archivos",
"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",
"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",
"%1$s mentioned you in a comment on “%2$s”":"%1$s te mencionó en un comentario en “%2$s”",
"{user} mentioned you in a comment on “{file}”":"{user} te mencionó en un comentario en “{file}”",
"A (now) deleted user mentioned you in a comment on “%s”":"Un usuario (ahora) eliminado, te mencionó en un comentario en “%s”",
"A (now) deleted user mentioned you in a comment on “{file}”":"Un usuario (ahora) eliminado, te mencionó en un comentario en “{file}”"
"{count} unread comments":"{count} comentarios no leídos",
"Comment":"Comentario",
"<strong>Comments</strong> for files":"<strong>Comentarios</strong> en archivos"
"<strong>Comments</strong> for files":"<strong>Comentarios</strong> en archivos",
"%1$s commented":"%1$s comentados",
"%1$s commented on %2$s":"%1$s comentados en %2$s",
"Comments":"Comentarios",
"Unknown user":"Usuario desconocido",
"New comment …":"Nuevo comentario",
"Type in a new comment...":"Ingrese un nuevo comentario...",
"Delete comment":"Borrar comentario",
"Post":"Publicar",
"Cancel":"Cancelar",
"Edit comment":"Editar comentario",
"[Deleted user]":"[Usuario eliminado]",
"No comments yet, start the conversation!":"¡No hay comentarios, empieza la conversación!",
"More comments …":"Más comentarios...",
"No other comments available":"No hay otros comentarios disponibles",
"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 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 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ó",
"You commented on %1$s":"Has comentado en %1$s",
"You commented on {file}":"Has comentado en {file}",
"%1$s commented on %2$s":"%1$s comentados en %2$s",
"{author} commented on {file}":"{author} comentó en {file}",
"<strong>Comments</strong> for files":"<strong>Comentarios</strong> para archivos",
"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",
"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",
"%1$s mentioned you in a comment on “%2$s”":"%1$s te mencionó en un comentario en “%2$s”",
"{user} mentioned you in a comment on “{file}”":"{user} te mencionó en un comentario en “{file}”",
"A (now) deleted user mentioned you in a comment on “%s”":"Un usuario (ahora) eliminado, te mencionó en un comentario en “%s”",
"A (now) deleted user mentioned you in a comment on “{file}”":"Un usuario (ahora) eliminado, te mencionó en un comentario en “{file}”"
"{count} unread comments":"{count} comentarios no leídos",
"Comment":"Comentario",
"<strong>Comments</strong> for files":"<strong>Comentarios</strong> en archivos"
"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ó",
"You commented on %1$s":"Usted comentó en %1$s",
"You commented on {file}":"Hiciste un comentario de {file}",
"%1$s commented on %2$s":"%1$s comentó en %2$s",
"{author} commented on {file}":"{author} comentó en {file}",
"<strong>Comments</strong> for files":"<strong>Comentarios</strong> de los archivos",
"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",
"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",
"%1$s mentioned you in a comment on “%2$s”":"%1$s te mencionó en un comentario en “%2$s”",
"{user} mentioned you in a comment on “{file}”":"{user} te mencionó en un comentario en “{file}”",
"A (now) deleted user mentioned you in a comment on “%s”":"Un usuario (ahora) borrado te mencionó en un commentario en “%s”",
"A (now) deleted user mentioned you in a comment on “{file}”":"Un usuario (ahora) borrado te mencionó en un commentario en “{file}”"
"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ó",
"You commented on %1$s":"Usted comentó en %1$s",
"You commented on {file}":"Hiciste un comentario de {file}",
"%1$s commented on %2$s":"%1$s comentó en %2$s",
"{author} commented on {file}":"{author} comentó en {file}",
"<strong>Comments</strong> for files":"<strong>Comentarios</strong> de los archivos",
"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",
"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",
"%1$s mentioned you in a comment on “%2$s”":"%1$s te mencionó en un comentario en “%2$s”",
"{user} mentioned you in a comment on “{file}”":"{user} te mencionó en un comentario en “{file}”",
"A (now) deleted user mentioned you in a comment on “%s”":"Un usuario (ahora) borrado te mencionó en un commentario en “%s”",
"A (now) deleted user mentioned you in a comment on “{file}”":"Un usuario (ahora) borrado te mencionó en un commentario en “{file}”"
"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ó",
"You commented on %1$s":"Usted comentó en %1$s",
"You commented on {file}":"Hiciste un comentario de {file}",
"%1$s commented on %2$s":"%1$s comentó en %2$s",
"{author} commented on {file}":"{author} comentó en {file}",
"<strong>Comments</strong> for files":"<strong>Comentarios</strong> de los archivos",
"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",
"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",
"%1$s mentioned you in a comment on “%2$s”":"%1$s te mencionó en un comentario en “%2$s”",
"{user} mentioned you in a comment on “{file}”":"{user} te mencionó en un comentario en “{file}”",
"A (now) deleted user mentioned you in a comment on “%s”":"Un usuario (ahora) borrado te mencionó en un commentario en “%s”",
"A (now) deleted user mentioned you in a comment on “{file}”":"Un usuario (ahora) borrado te mencionó en un commentario en “{file}”"
"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ó",
"You commented on %1$s":"Usted comentó en %1$s",
"You commented on {file}":"Hiciste un comentario de {file}",
"%1$s commented on %2$s":"%1$s comentó en %2$s",
"{author} commented on {file}":"{author} comentó en {file}",
"<strong>Comments</strong> for files":"<strong>Comentarios</strong> de los archivos",
"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",
"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",
"%1$s mentioned you in a comment on “%2$s”":"%1$s te mencionó en un comentario en “%2$s”",
"{user} mentioned you in a comment on “{file}”":"{user} te mencionó en un comentario en “{file}”",
"A (now) deleted user mentioned you in a comment on “%s”":"Un usuario (ahora) borrado te mencionó en un commentario en “%s”",
"A (now) deleted user mentioned you in a comment on “{file}”":"Un usuario (ahora) borrado te mencionó en un commentario en “{file}”"
"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ó",
"You commented on %1$s":"Usted comentó en %1$s",
"You commented on {file}":"Hiciste un comentario de {file}",
"%1$s commented on %2$s":"%1$s comentó en %2$s",
"{author} commented on {file}":"{author} comentó en {file}",
"<strong>Comments</strong> for files":"<strong>Comentarios</strong> de los archivos",
"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",
"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",
"%1$s mentioned you in a comment on “%2$s”":"%1$s te mencionó en un comentario en “%2$s”",
"{user} mentioned you in a comment on “{file}”":"{user} te mencionó en un comentario en “{file}”",
"A (now) deleted user mentioned you in a comment on “%s”":"Un usuario (ahora) borrado te mencionó en un commentario en “%s”",
"A (now) deleted user mentioned you in a comment on “{file}”":"Un usuario (ahora) borrado te mencionó en un commentario en “{file}”"
"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ó",
"You commented on %1$s":"Usted comentó en %1$s",
"You commented on {file}":"Hiciste un comentario de {file}",
"%1$s commented on %2$s":"%1$s comentó en %2$s",
"{author} commented on {file}":"{author} comentó en {file}",
"<strong>Comments</strong> for files":"<strong>Comentarios</strong> de los archivos",
"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",
"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",
"%1$s mentioned you in a comment on “%2$s”":"%1$s te mencionó en un comentario en “%2$s”",
"{user} mentioned you in a comment on “{file}”":"{user} te mencionó en un comentario en “{file}”",
"A (now) deleted user mentioned you in a comment on “%s”":"Un usuario (ahora) borrado te mencionó en un commentario en “%s”",
"A (now) deleted user mentioned you in a comment on “{file}”":"Un usuario (ahora) borrado te mencionó en un commentario en “{file}”"
"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ó",
"You commented on %1$s":"Usted comentó en %1$s",
"You commented on {file}":"Hiciste un comentario de {file}",
"%1$s commented on %2$s":"%1$s comentó en %2$s",
"{author} commented on {file}":"{author} comentó en {file}",
"<strong>Comments</strong> for files":"<strong>Comentarios</strong> de los archivos",
"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",
"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",
"%1$s mentioned you in a comment on “%2$s”":"%1$s te mencionó en un comentario en “%2$s”",
"{user} mentioned you in a comment on “{file}”":"{user} te mencionó en un comentario en “{file}”",
"A (now) deleted user mentioned you in a comment on “%s”":"Un usuario (ahora) borrado te mencionó en un commentario en “%s”",
"A (now) deleted user mentioned you in a comment on “{file}”":"Un usuario (ahora) borrado te mencionó en un commentario en “{file}”"
"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ó",
"You commented on %1$s":"Usted comentó en %1$s",
"You commented on {file}":"Hiciste un comentario de {file}",
"%1$s commented on %2$s":"%1$s comentó en %2$s",
"{author} commented on {file}":"{author} comentó en {file}",
"<strong>Comments</strong> for files":"<strong>Comentarios</strong> de los archivos",
"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",
"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",
"%1$s mentioned you in a comment on “%2$s”":"%1$s te mencionó en un comentario en “%2$s”",
"{user} mentioned you in a comment on “{file}”":"{user} te mencionó en un comentario en “{file}”",
"A (now) deleted user mentioned you in a comment on “%s”":"Un usuario (ahora) borrado te mencionó en un commentario en “%s”",
"A (now) deleted user mentioned you in a comment on “{file}”":"Un usuario (ahora) borrado te mencionó en un commentario en “{file}”"
"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ó",
"You commented on %1$s":"Usted comentó en %1$s",
"You commented on {file}":"Hiciste un comentario de {file}",
"%1$s commented on %2$s":"%1$s comentó en %2$s",
"{author} commented on {file}":"{author} comentó en {file}",
"<strong>Comments</strong> for files":"<strong>Comentarios</strong> de los archivos",
"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",
"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",
"%1$s mentioned you in a comment on “%2$s”":"%1$s te mencionó en un comentario en “%2$s”",
"{user} mentioned you in a comment on “{file}”":"{user} te mencionó en un comentario en “{file}”",
"A (now) deleted user mentioned you in a comment on “%s”":"Un usuario (ahora) borrado te mencionó en un commentario en “%s”",
"A (now) deleted user mentioned you in a comment on “{file}”":"Un usuario (ahora) borrado te mencionó en un commentario en “{file}”"
"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ó",
"You commented on %1$s":"Usted comentó en %1$s",
"You commented on {file}":"Hiciste un comentario de {file}",
"%1$s commented on %2$s":"%1$s comentó en %2$s",
"{author} commented on {file}":"{author} comentó en {file}",
"<strong>Comments</strong> for files":"<strong>Comentarios</strong> de los archivos",
"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",
"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",
"%1$s mentioned you in a comment on “%2$s”":"%1$s te mencionó en un comentario en “%2$s”",
"{user} mentioned you in a comment on “{file}”":"{user} te mencionó en un comentario en “{file}”",
"A (now) deleted user mentioned you in a comment on “%s”":"Un usuario (ahora) borrado te mencionó en un commentario en “%s”",
"A (now) deleted user mentioned you in a comment on “{file}”":"Un usuario (ahora) borrado te mencionó en un commentario en “{file}”"
"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ó",
"You commented on %1$s":"Usted comentó en %1$s",
"You commented on {file}":"Hiciste un comentario de {file}",
"%1$s commented on %2$s":"%1$s comentó en %2$s",
"{author} commented on {file}":"{author} comentó en {file}",
"<strong>Comments</strong> for files":"<strong>Comentarios</strong> de los archivos",
"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",
"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",
"%1$s mentioned you in a comment on “%2$s”":"%1$s te mencionó en un comentario en “%2$s”",
"{user} mentioned you in a comment on “{file}”":"{user} te mencionó en un comentario en “{file}”",
"A (now) deleted user mentioned you in a comment on “%s”":"Un usuario (ahora) borrado te mencionó en un commentario en “%s”",
"A (now) deleted user mentioned you in a comment on “{file}”":"Un usuario (ahora) borrado te mencionó en un commentario en “{file}”"
"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ó",
"You commented on %1$s":"Usted comentó en %1$s",
"You commented on {file}":"Hiciste un comentario de {file}",
"%1$s commented on %2$s":"%1$s comentó en %2$s",
"{author} commented on {file}":"{author} comentó en {file}",
"<strong>Comments</strong> for files":"<strong>Comentarios</strong> de los archivos",
"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",
"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",
"%1$s mentioned you in a comment on “%2$s”":"%1$s te mencionó en un comentario en “%2$s”",
"{user} mentioned you in a comment on “{file}”":"{user} te mencionó en un comentario en “{file}”",
"A (now) deleted user mentioned you in a comment on “%s”":"Un usuario (ahora) borrado te mencionó en un commentario en “%s”",
"A (now) deleted user mentioned you in a comment on “{file}”":"Un usuario (ahora) borrado te mencionó en un commentario en “{file}”"
"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ó",
"You commented on %1$s":"Usted comentó en %1$s",
"You commented on {file}":"Hiciste un comentario de {file}",
"%1$s commented on %2$s":"%1$s comentó en %2$s",
"{author} commented on {file}":"{author} comentó en {file}",
"<strong>Comments</strong> for files":"<strong>Comentarios</strong> de los archivos",
"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",
"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",
"%1$s mentioned you in a comment on “%2$s”":"%1$s te mencionó en un comentario en “%2$s”",
"{user} mentioned you in a comment on “{file}”":"{user} te mencionó en un comentario en “{file}”",
"A (now) deleted user mentioned you in a comment on “%s”":"Un usuario (ahora) borrado te mencionó en un commentario en “%s”",
"A (now) deleted user mentioned you in a comment on “{file}”":"Un usuario (ahora) borrado te mencionó en un commentario en “{file}”"
"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ó",
"You commented on %1$s":"Usted comentó en %1$s",
"You commented on {file}":"Hiciste un comentario de {file}",
"%1$s commented on %2$s":"%1$s comentó en %2$s",
"{author} commented on {file}":"{author} comentó en {file}",
"<strong>Comments</strong> for files":"<strong>Comentarios</strong> de los archivos",
"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",
"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",
"%1$s mentioned you in a comment on “%2$s”":"%1$s te mencionó en un comentario en “%2$s”",
"{user} mentioned you in a comment on “{file}”":"{user} te mencionó en un comentario en “{file}”",
"A (now) deleted user mentioned you in a comment on “%s”":"Un usuario (ahora) borrado te mencionó en un commentario en “%s”",
"A (now) deleted user mentioned you in a comment on “{file}”":"Un usuario (ahora) borrado te mencionó en un commentario en “{file}”"
"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ó",
"You commented on %1$s":"Usted comentó en %1$s",
"You commented on {file}":"Hiciste un comentario de {file}",
"%1$s commented on %2$s":"%1$s comentó en %2$s",
"{author} commented on {file}":"{author} comentó en {file}",
"<strong>Comments</strong> for files":"<strong>Comentarios</strong> de los archivos",
"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",
"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",
"%1$s mentioned you in a comment on “%2$s”":"%1$s te mencionó en un comentario en “%2$s”",
"{user} mentioned you in a comment on “{file}”":"{user} te mencionó en un comentario en “{file}”",
"A (now) deleted user mentioned you in a comment on “%s”":"Un usuario (ahora) borrado te mencionó en un commentario en “%s”",
"A (now) deleted user mentioned you in a comment on “{file}”":"Un usuario (ahora) borrado te mencionó en un commentario en “{file}”"
"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ó",
"You commented on %1$s":"Usted comentó en %1$s",
"You commented on {file}":"Hiciste un comentario de {file}",
"%1$s commented on %2$s":"%1$s comentó en %2$s",
"{author} commented on {file}":"{author} comentó en {file}",
"<strong>Comments</strong> for files":"<strong>Comentarios</strong> de los archivos",
"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",
"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",
"%1$s mentioned you in a comment on “%2$s”":"%1$s te mencionó en un comentario en “%2$s”",
"{user} mentioned you in a comment on “{file}”":"{user} te mencionó en un comentario en “{file}”",
"A (now) deleted user mentioned you in a comment on “%s”":"Un usuario (ahora) borrado te mencionó en un commentario en “%s”",
"A (now) deleted user mentioned you in a comment on “{file}”":"Un usuario (ahora) borrado te mencionó en un commentario en “{file}”"
"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ó",
"You commented on %1$s":"Usted comentó en %1$s",
"You commented on {file}":"Hiciste un comentario de {file}",
"%1$s commented on %2$s":"%1$s comentó en %2$s",
"{author} commented on {file}":"{author} comentó en {file}",
"<strong>Comments</strong> for files":"<strong>Comentarios</strong> de los archivos",
"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",
"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",
"%1$s mentioned you in a comment on “%2$s”":"%1$s te mencionó en un comentario en “%2$s”",
"{user} mentioned you in a comment on “{file}”":"{user} te mencionó en un comentario en “{file}”",
"A (now) deleted user mentioned you in a comment on “%s”":"Un usuario (ahora) borrado te mencionó en un commentario en “%s”",
"A (now) deleted user mentioned you in a comment on “{file}”":"Un usuario (ahora) borrado te mencionó en un commentario en “{file}”"
"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ó",
"You commented on %1$s":"Usted comentó en %1$s",
"You commented on {file}":"Hiciste un comentario de {file}",
"%1$s commented on %2$s":"%1$s comentó en %2$s",
"{author} commented on {file}":"{author} comentó en {file}",
"<strong>Comments</strong> for files":"<strong>Comentarios</strong> de los archivos",
"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",
"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",
"%1$s mentioned you in a comment on “%2$s”":"%1$s te mencionó en un comentario en “%2$s”",
"{user} mentioned you in a comment on “{file}”":"{user} te mencionó en un comentario en “{file}”",
"A (now) deleted user mentioned you in a comment on “%s”":"Un usuario (ahora) borrado te mencionó en un commentario en “%s”",
"A (now) deleted user mentioned you in a comment on “{file}”":"Un usuario (ahora) borrado te mencionó en un commentario en “{file}”"
"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ó",
"You commented on %1$s":"Usted comentó en %1$s",
"You commented on {file}":"Hiciste un comentario de {file}",
"%1$s commented on %2$s":"%1$s comentó en %2$s",
"{author} commented on {file}":"{author} comentó en {file}",
"<strong>Comments</strong> for files":"<strong>Comentarios</strong> de los archivos",
"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",
"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",
"%1$s mentioned you in a comment on “%2$s”":"%1$s te mencionó en un comentario en “%2$s”",
"{user} mentioned you in a comment on “{file}”":"{user} te mencionó en un comentario en “{file}”",
"A (now) deleted user mentioned you in a comment on “%s”":"Un usuario (ahora) borrado te mencionó en un commentario en “%s”",
"A (now) deleted user mentioned you in a comment on “{file}”":"Un usuario (ahora) borrado te mencionó en un commentario en “{file}”"
"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ó",
"You commented on %1$s":"Usted comentó en %1$s",
"You commented on {file}":"Hiciste un comentario de {file}",
"%1$s commented on %2$s":"%1$s comentó en %2$s",
"{author} commented on {file}":"{author} comentó en {file}",
"<strong>Comments</strong> for files":"<strong>Comentarios</strong> de los archivos",
"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",
"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",
"%1$s mentioned you in a comment on “%2$s”":"%1$s te mencionó en un comentario en “%2$s”",
"{user} mentioned you in a comment on “{file}”":"{user} te mencionó en un comentario en “{file}”",
"A (now) deleted user mentioned you in a comment on “%s”":"Un usuario (ahora) borrado te mencionó en un commentario en “%s”",
"A (now) deleted user mentioned you in a comment on “{file}”":"Un usuario (ahora) borrado te mencionó en un commentario en “{file}”"
"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ó",
"You commented on %1$s":"Usted comentó en %1$s",
"You commented on {file}":"Hiciste un comentario de {file}",
"%1$s commented on %2$s":"%1$s comentó en %2$s",
"{author} commented on {file}":"{author} comentó en {file}",
"<strong>Comments</strong> for files":"<strong>Comentarios</strong> de los archivos",
"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",
"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",
"%1$s mentioned you in a comment on “%2$s”":"%1$s te mencionó en un comentario en “%2$s”",
"{user} mentioned you in a comment on “{file}”":"{user} te mencionó en un comentario en “{file}”",
"A (now) deleted user mentioned you in a comment on “%s”":"Un usuario (ahora) borrado te mencionó en un commentario en “%s”",
"A (now) deleted user mentioned you in a comment on “{file}”":"Un usuario (ahora) borrado te mencionó en un commentario en “{file}”"
"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ó",
"You commented on %1$s":"Usted comentó en %1$s",
"You commented on {file}":"Hiciste un comentario de {file}",
"%1$s commented on %2$s":"%1$s comentó en %2$s",
"{author} commented on {file}":"{author} comentó en {file}",
"<strong>Comments</strong> for files":"<strong>Comentarios</strong> de los archivos",
"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",
"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",
"%1$s mentioned you in a comment on “%2$s”":"%1$s te mencionó en un comentario en “%2$s”",
"{user} mentioned you in a comment on “{file}”":"{user} te mencionó en un comentario en “{file}”",
"A (now) deleted user mentioned you in a comment on “%s”":"Un usuario (ahora) borrado te mencionó en un commentario en “%s”",
"A (now) deleted user mentioned you in a comment on “{file}”":"Un usuario (ahora) borrado te mencionó en un commentario en “{file}”"
"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ó",
"You commented on %1$s":"Usted comentó en %1$s",
"You commented on {file}":"Hiciste un comentario de {file}",
"%1$s commented on %2$s":"%1$s comentó en %2$s",
"{author} commented on {file}":"{author} comentó en {file}",
"<strong>Comments</strong> for files":"<strong>Comentarios</strong> de los archivos",
"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",
"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",
"%1$s mentioned you in a comment on “%2$s”":"%1$s te mencionó en un comentario en “%2$s”",
"{user} mentioned you in a comment on “{file}”":"{user} te mencionó en un comentario en “{file}”",
"A (now) deleted user mentioned you in a comment on “%s”":"Un usuario (ahora) borrado te mencionó en un commentario en “%s”",
"A (now) deleted user mentioned you in a comment on “{file}”":"Un usuario (ahora) borrado te mencionó en un commentario en “{file}”"
"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ó",
"You commented on %1$s":"Usted comentó en %1$s",
"You commented on {file}":"Hiciste un comentario de {file}",
"%1$s commented on %2$s":"%1$s comentó en %2$s",
"{author} commented on {file}":"{author} comentó en {file}",
"<strong>Comments</strong> for files":"<strong>Comentarios</strong> de los archivos",
"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",
"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",
"%1$s mentioned you in a comment on “%2$s”":"%1$s te mencionó en un comentario en “%2$s”",
"{user} mentioned you in a comment on “{file}”":"{user} te mencionó en un comentario en “{file}”",
"A (now) deleted user mentioned you in a comment on “%s”":"Un usuario (ahora) borrado te mencionó en un commentario en “%s”",
"A (now) deleted user mentioned you in a comment on “{file}”":"Un usuario (ahora) borrado te mencionó en un commentario en “{file}”"
"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ó",
"You commented on %1$s":"Usted comentó en %1$s",
"You commented on {file}":"Hiciste un comentario de {file}",
"%1$s commented on %2$s":"%1$s comentó en %2$s",
"{author} commented on {file}":"{author} comentó en {file}",
"<strong>Comments</strong> for files":"<strong>Comentarios</strong> de los archivos",
"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",
"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",
"%1$s mentioned you in a comment on “%2$s”":"%1$s te mencionó en un comentario en “%2$s”",
"{user} mentioned you in a comment on “{file}”":"{user} te mencionó en un comentario en “{file}”",
"A (now) deleted user mentioned you in a comment on “%s”":"Un usuario (ahora) borrado te mencionó en un commentario en “%s”",
"A (now) deleted user mentioned you in a comment on “{file}”":"Un usuario (ahora) borrado te mencionó en un commentario en “{file}”"
"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ó",
"You commented on %1$s":"Usted comentó en %1$s",
"You commented on {file}":"Hiciste un comentario de {file}",
"%1$s commented on %2$s":"%1$s comentó en %2$s",
"{author} commented on {file}":"{author} comentó en {file}",
"<strong>Comments</strong> for files":"<strong>Comentarios</strong> de los archivos",
"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",
"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",
"%1$s mentioned you in a comment on “%2$s”":"%1$s te mencionó en un comentario en “%2$s”",
"{user} mentioned you in a comment on “{file}”":"{user} te mencionó en un comentario en “{file}”",
"A (now) deleted user mentioned you in a comment on “%s”":"Un usuario (ahora) borrado te mencionó en un commentario en “%s”",
"A (now) deleted user mentioned you in a comment on “{file}”":"Un usuario (ahora) borrado te mencionó en un commentario en “{file}”"
"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ó",
"You commented on %1$s":"Usted comentó en %1$s",
"You commented on {file}":"Hiciste un comentario de {file}",
"%1$s commented on %2$s":"%1$s comentó en %2$s",
"{author} commented on {file}":"{author} comentó en {file}",
"<strong>Comments</strong> for files":"<strong>Comentarios</strong> de los archivos",
"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",
"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",
"%1$s mentioned you in a comment on “%2$s”":"%1$s te mencionó en un comentario en “%2$s”",
"{user} mentioned you in a comment on “{file}”":"{user} te mencionó en un comentario en “{file}”",
"A (now) deleted user mentioned you in a comment on “%s”":"Un usuario (ahora) borrado te mencionó en un commentario en “%s”",
"A (now) deleted user mentioned you in a comment on “{file}”":"Un usuario (ahora) borrado te mencionó en un commentario en “{file}”"
"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ó",
"You commented on %1$s":"Usted comentó en %1$s",
"You commented on {file}":"Hiciste un comentario de {file}",
"%1$s commented on %2$s":"%1$s comentó en %2$s",
"{author} commented on {file}":"{author} comentó en {file}",
"<strong>Comments</strong> for files":"<strong>Comentarios</strong> de los archivos",
"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",
"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",
"%1$s mentioned you in a comment on “%2$s”":"%1$s te mencionó en un comentario en “%2$s”",
"{user} mentioned you in a comment on “{file}”":"{user} te mencionó en un comentario en “{file}”",
"A (now) deleted user mentioned you in a comment on “%s”":"Un usuario (ahora) borrado te mencionó en un commentario en “%s”",
"A (now) deleted user mentioned you in a comment on “{file}”":"Un usuario (ahora) borrado te mencionó en un commentario en “{file}”"
},"pluralForm":"nplurals=2; plural=(n != 1);"
}
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.