Compare commits

...

92 Commits

Author SHA1 Message Date
Arthur Schiwon 26d7eae890
Merge pull request #44773 from nextcloud/release/29.0.0_rc4
29.0.0 RC4
2 months ago
Arthur Schiwon 40d5495d05
Merge pull request #44645 from nextcloud/backport/44642/stable29
[stable29] fix(appconfig): compare with original value
2 months ago
Arthur Schiwon 261764568d
Merge pull request #44778 from nextcloud/backport/44771/stable29
[stable29] fix(federation): give some time to prepare both servers
2 months ago
Arthur Schiwon 884eb0cb48
Merge pull request #44725 from nextcloud/backport/44717/stable29
[stable29]  fix(oc-dialog): Get rid of the overlay
2 months ago
Arthur Schiwon 8b45d76319
Merge pull request #44735 from nextcloud/backport/44714/stable29
[stable29] Call davGetFavoritesReport after the registration of propfind properties
2 months ago
Arthur Schiwon 1f8f15bddd
Merge pull request #44748 from nextcloud/backport/44730/stable29
[stable29] fix: use proper jailed patch in watcher
2 months ago
Arthur Schiwon ba123372ce
Merge pull request #44760 from nextcloud/backport/44450/stable29
[stable29] fix(breadcrumbs): improved rendering of breadcrumb progress bar
2 months ago
Arthur Schiwon b01b30ab19
Merge pull request #44765 from nextcloud/backport/44350/stable29
[stable29] fix(LDAP): escape DN on check-user
2 months ago
Arthur Schiwon f064883f4e fix(federation): give some time to prepare both servers
- when this background job runs, while the current server was not being
  added as trusted_server in the other instance, yet, the secret sharing
  would not be attempted again, without visual feedback.
- the change allows 5 attempts, which gives more than 20minutes to
  complete. More do not really help as the endpoint is brute force
  protected.

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2 months ago
Joas Schilling 57f885939e
Merge pull request #44732 from nextcloud/backport/44216/stable29
[stable29] feat(core): Include core capabilities in OpenAPI
2 months ago
Nextcloud bot 00b479bc83
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2 months ago
Arthur Schiwon b90fd3cc7f
build(hub): 29.0.0 RC4
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2 months ago
nextcloud-command 871d439880 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2 months ago
Eduardo Morales e7c1850283 fix(Cypress): Adjust tests for new breadcrumbs
Signed-off-by: Eduardo Morales <emoral435@gmail.com>
2 months ago
Ferdinand Thiessen b3ca5c5c80 fix(files): Hide full view name on small mobile to prevent overflow
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
Signed-off-by: Eduardo Morales <emoral435@gmail.com>
2 months ago
Eduardo Morales cddd24208b fix(breadcrumbs): Improved breadcrumb progress bar mobile rendering
Signed-off-by: Eduardo Morales <emoral435@gmail.com>
2 months ago
Arthur Schiwon 7612eb820f docs(LDAP): add info on stored DN form
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2 months ago
Arthur Schiwon 3ce8879d09 fix(LDAP): escape DN on check-user
the DN has to be escaped differently when used as a base and we were
missing it here in the search method call in the check-user command.

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2 months ago
Nextcloud bot d06f860722
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2 months ago
Robin Appelman 338c8aaea4 test: add test for jail watcher
Signed-off-by: Robin Appelman <robin@icewind.nl>
2 months ago
Robin Appelman 6c142a3cd5 fix: use proper jailed patch in watcher
Signed-off-by: Robin Appelman <robin@icewind.nl>
2 months ago
Louis Chemineau 4779ce460d fix(files): Call davGetFavoritesReport after the registration of propfind properties
Signed-off-by: Louis Chemineau <louis@chmn.me>
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2 months ago
Nextcloud bot f98a7ca49e
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2 months ago
provokateurin 79816d93b5 chore(deps): Update openapi-extractor
Signed-off-by: provokateurin <kate@provokateurin.de>
2 months ago
provokateurin d10316ac70 feat(OCS): Annotate capabilities
Signed-off-by: provokateurin <kate@provokateurin.de>
2 months ago
Eduardo Morales f5f982213f chore(assets): recompile assets
Signed-off-by: Eduardo Morales <emoral435@gmail.com>
2 months ago
JEEEEEEEEEEEEEEEEEEEEEED f203490d03 fix(oc-dialog): Get rid of the overlay
- Icrement Z-index of oc-dialog-dim
- Increment z-index of oc-dialog- Insert oc-dialog-dim before oc-dialog

Co-authored-by: Co-author RayanBekri <rmt.bekri@gmail.com>"
Signed-off-by: JEEEEEEEEEEEEEEEEEEEEEED <118366366+jadjoud@users.noreply.github.com>
2 months ago
Joas Schilling 0d63b6025a
Merge pull request #44729 from nextcloud/backport/44726/stable29
[stable29] fix(AppFramework): Fix error message about 204 not allowing custom headers
2 months ago
provokateurin f33ec17538 fix(AppFramework): Fix error message about 204 not allowing custom headers
Signed-off-by: provokateurin <kate@provokateurin.de>
2 months ago
Arthur Schiwon 75c9926a94
Merge pull request #44713 from nextcloud/release/29.0.0_rc3
29.0.0 RC3
2 months ago
Arthur Schiwon b4d7e4a2c4
build(hub): 29.0.0 RC3
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2 months ago
Nextcloud bot bad51ef63b
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2 months ago
Nextcloud bot 59e39a5270
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2 months ago
Joas Schilling d94ed65f69
Merge pull request #44692 from nextcloud/backport/44678/stable29
[stable29] fix(3rdparty): Add a CI job to check 3rdparty integrity
2 months ago
Nextcloud bot 5836b1ca51
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2 months ago
Arthur Schiwon 7fd7986734
Merge pull request #44686 from nextcloud/fix/update-doctrine-dbal-stable29
[stable29] fix(deps): Update `doctrine/dbal` to 3.8.3
2 months ago
Ferdinand Thiessen 4b3da814df
fix(deps): Update `doctrine/dbal` to 3.8.3
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2 months ago
Joas Schilling 29d5bbc6d3 fix(3rdparty): Add a CI job to check 3rdparty integrity
Signed-off-by: Joas Schilling <coding@schilljs.com>
2 months ago
Joas Schilling 577b624a20
Merge pull request #44671 from nextcloud/backport/44662/stable29
[stable29] fix(deps): Update phpseclib from 2.0.45 to 2.0.47
2 months ago
Ferdinand Thiessen 13980207db
fix: Update psalm baseline to ignore `setKey` being internal of `phpseclib`
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2 months ago
Ferdinand Thiessen 1c5128bfca
fix(deps): Update phpseclib from 2.0.45 to 2.0.47
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2 months ago
Nextcloud bot 02a6310b34
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2 months ago
Arthur Schiwon b90e597325
Merge pull request #44647 from nextcloud/release/29.0.0_rc2
29.0.0 RC2
2 months ago
Arthur Schiwon 11ac9b3499
Merge pull request #44591 from nextcloud/backport/44571/stable29
[stable29] fix(files_sharing): Create passwords when enforced for mail shares
2 months ago
Ferdinand Thiessen 8a008d355d
chore: Compile assets
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2 months ago
Ferdinand Thiessen 2c2a269042
fix(files_sharing): Create passwords when enforced for mail shares
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2 months ago
John Molakvoæ 7a4e0c0cc0
Merge pull request #44653 from nextcloud/backport/44409/stable29 2 months ago
skjnldsv ceee29be28 chore: compile assets
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2 months ago
skjnldsv 9e4332e1e2 chore: add cypress video recording
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2 months ago
skjnldsv 25d7312772 fix(files): breadcrumbs native drop event
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2 months ago
skjnldsv 0aa4e0a675 chore: add drag and drop recursion and FilesystemAPI testing
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2 months ago
skjnldsv d98738cbd0 chore: adjusting cypress drag and drop tests
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2 months ago
skjnldsv e099318ab5 feat(files): unify drag and drop methods
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2 months ago
skjnldsv 8503e2d4bc fix(files): breadcrumbs dnd
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2 months ago
Joas Schilling 69a3038086
Merge pull request #44622 from nextcloud/backport/44534/stable29
[stable29] build(deps): bump nextcloud/coding-standard from 1.1.1 to 1.2.1 in /vendor-bin/cs-fixer
2 months ago
Arthur Schiwon d94b24cda6
Merge pull request #44628 from nextcloud/backport/44621/stable29
[stable29] fix(SetupChecks): Add hint about dns/firewall if `mjs` check can't run
2 months ago
Arthur Schiwon 3b1d2c3cd4
Merge pull request #44634 from nextcloud/backport/44604/stable29
[stable29] fix(encryption): Clicking default module in UI sets bogus value
2 months ago
Arthur Schiwon 2ddac31094
Merge pull request #44617 from nextcloud/backport/44575/stable29
[stable29] fix(files_sharing): Disable autocomplete for share label and password
2 months ago
Maxence Lange abc4ced1e7 fix(appconfig): compare with original value
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2 months ago
John Molakvoæ fdadaf2132
Merge pull request #44624 from nextcloud/backport/44332/stable29 2 months ago
Côme Chilliet cd53e71d80 chore: Improve phpdoc typing to silence psalm errors
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2 months ago
Côme Chilliet 4311f60ebb fix: Remove incorrect default null value
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2 months ago
Côme Chilliet 0b332ceac2 fix: Apply new coding standard to all files
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2 months ago
dependabot[bot] 292b903bc2 build(deps): bump nextcloud/coding-standard in /vendor-bin/cs-fixer
Bumps [nextcloud/coding-standard](https://github.com/nextcloud/coding-standard) from 1.1.1 to 1.2.1.
- [Release notes](https://github.com/nextcloud/coding-standard/releases)
- [Changelog](https://github.com/nextcloud/coding-standard/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nextcloud/coding-standard/compare/v1.1.1...v1.2.1)

---
updated-dependencies:
- dependency-name: nextcloud/coding-standard
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2 months ago
Arthur Schiwon 91b1890c74
build(hub): 29.0.0 RC2
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2 months ago
John Molakvoæ 088f73763c
Merge pull request #44584 from nextcloud/backport/44512/stable29 2 months ago
Nextcloud bot e238d0afec
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2 months ago
Christopher Ng 5ad7d00930 chore: compile assets
Signed-off-by: Christopher Ng <chrng8@gmail.com>
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2 months ago
Christopher Ng e3f812bb4e feat(trashbin): Show original location of deleted file
Signed-off-by: Christopher Ng <chrng8@gmail.com>
2 months ago
Josh 1ddc77e74d fix(encryption): Clicking default module in UI sets bogus value
Fixes #44532
Likely fixes #43123

Signed-off-by: Josh <josh.t.richards@gmail.com>
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2 months ago
Nextcloud bot 20146c2ca4
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2 months ago
Joas Schilling 91b07af8e8
Merge pull request #44626 from nextcloud/backport/44625/stable29
[stable29] fix(federation): ICloudId->getRemote() should contain the protocol
2 months ago
Josh c0debe27d6 fix(SetupChecks): Add hint about dns/firewall if `mjs` check can't run
Signed-off-by: Josh <josh.t.richards@gmail.com>
2 months ago
Joas Schilling 9dbad26f62 fix(federation): ICloudId->getRemote() should contain the protocol
Signed-off-by: Joas Schilling <coding@schilljs.com>
2 months ago
Côme Chilliet d0e5c507f4 chore(dav): Fix tests for length headers on upload
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2 months ago
Côme Chilliet ae7105b990 fix(dav): Fix quota check for chunk upload
Do not ignore OC-Total-Length when Content-Length and
 X-Expected-Entity-Length are missing

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2 months ago
Joas Schilling 991ee6fbb8
Merge pull request #44553 from nextcloud/backport/44526/stable29
[stable29] fix(files): Fix translation of "Delete file"
2 months ago
nextcloud-command 72a3c374b6 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2 months ago
Ferdinand Thiessen 68402768db
fix(files_sharing): Disable autocomplete for share label and password
Prevent browsers - as good as possible - from filling in user credentials as share label and password.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2 months ago
nextcloud-command 16140bd44c
chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2 months ago
Joas Schilling 0b4a3b681e
fix(files): Fix translation of "Delete file"
Signed-off-by: Joas Schilling <coding@schilljs.com>
2 months ago
Nextcloud bot c0245f58ca
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2 months ago
Nextcloud bot 9a53f28e89
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2 months ago
Nextcloud bot 7317a84b14
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2 months ago
Nextcloud bot be6d28c76b
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2 months ago
Nextcloud bot ac54fda52c
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2 months ago
John Molakvoæ b30cc91e93
Merge pull request #44552 from nextcloud/release/29.0.0_rc1 2 months ago
skjnldsv 0dc4af82f9 build(hub): 29.0.0 RC1
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2 months ago
Joas Schilling 061ca0f737
Merge pull request #44546 from nextcloud/backport/44530/stable29
[stable29] Master is now 30
2 months ago
Joas Schilling 81c48c0745
Merge pull request #44531 from nextcloud/branchoff/welcome-stable29
chore(branchoff): Test against stable29 branches
2 months ago
Joas Schilling 48a4a95594 fix(security): Update expiration date in security.txt
Signed-off-by: Joas Schilling <coding@schilljs.com>
2 months ago
Joas Schilling 7e2d3ef297
chore(branchoff): Test against stable29 branches
Signed-off-by: Joas Schilling <coding@schilljs.com>
2 months ago

@ -0,0 +1,53 @@
name: Block merging with outdated 3rdparty/
on:
pull_request:
types: [opened, ready_for_review, reopened, synchronize]
permissions:
contents: read
concurrency:
group: block-outdated-3rdparty-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
block-outdated-3rdparty:
name: Block merging with outdated 3rdparty/
runs-on: ubuntu-latest-low
steps:
- name: Check requirement
uses: dorny/paths-filter@4512585405083f25c027a35db413c2b3b9006d50 # v2.11.1
id: changes
continue-on-error: true
with:
filters: |
src:
- '3rdparty'
- 'version.php'
- name: Checkout
uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v4.1.2
- name: 3rdparty commit hash on current branch
id: actual
run: |
echo "commit=$(git submodule status | grep ' 3rdparty' | egrep -o '[a-f0-9]{40}')" >> "$GITHUB_OUTPUT"
- name: Last 3rdparty commit on target branch
id: target
run: |
echo "commit=$(git ls-remote https://github.com/nextcloud/3rdparty ${{ github.base_ref }} | awk '{ print $1}')" >> "$GITHUB_OUTPUT"
- name: Compare if 3rdparty commits are different
run: |
echo '3rdparty/ seems to not point to the last commit of the dedicated branch:'
echo "Branch has: ${{ steps.actual.outputs.commit }}"
echo "${{ github.base_ref }} has: ${{ steps.target.outputs.commit }}"
- name: Fail if 3rdparty commits are different
if: ${{ steps.changes.outputs.src != 'false' && steps.actual.outputs.commit != steps.target.outputs.commit }}
run: |
exit 1

@ -68,7 +68,7 @@ jobs:
- 'videoverification_features'
php-versions: ['8.2']
spreed-versions: ['main']
spreed-versions: ['stable29']
services:
redis:

@ -56,7 +56,7 @@ jobs:
curl -s -u test:test -T README.md http://localhost:8080/remote.php/dav/files/test/new_file.txt
curl -s -u test:test -X DELETE http://localhost:8080/remote.php/dav/files/test/new_file.txt
output: before.json
profiler-branch: master
profiler-branch: stable29
- name: Apply PR
run: |
@ -78,7 +78,7 @@ jobs:
curl -s -u test:test -T README.md http://localhost:8080/remote.php/dav/files/test/new_file.txt
curl -s -u test:test -X DELETE http://localhost:8080/remote.php/dav/files/test/new_file.txt
output: after.json
profiler-branch: master
profiler-branch: stable29
compare-with: before.json
- name: Upload profiles

2
.gitignore vendored

@ -171,6 +171,6 @@ composer.phar
core/js/mimetypelist.js
# Tests - cypress
cypress/downloads
cypress/snapshots
cypress/videos
cypress/downloads

@ -1 +1 @@
Subproject commit e8a165a3811f1b454694337aaff47c30888ca9fc
Subproject commit 164fb3b7760f5cd2b9b5c1bdad7c74da1bcd3b68

@ -1,6 +1,6 @@
# Nextcloud Server ☁
[![Scrutinizer Code Quality](https://scrutinizer-ci.com/g/nextcloud/server/badges/quality-score.png?b=master)](https://scrutinizer-ci.com/g/nextcloud/server/?branch=master)
[![codecov](https://codecov.io/gh/nextcloud/server/branch/master/graph/badge.svg)](https://codecov.io/gh/nextcloud/server)
[![Scrutinizer Code Quality](https://scrutinizer-ci.com/g/nextcloud/server/badges/quality-score.png?b=stable29)](https://scrutinizer-ci.com/g/nextcloud/server/?branch=stable29)
[![codecov](https://codecov.io/gh/nextcloud/server/branch/stable29/graph/badge.svg)](https://codecov.io/gh/nextcloud/server)
[![CII Best Practices](https://bestpractices.coreinfrastructure.org/projects/209/badge)](https://bestpractices.coreinfrastructure.org/projects/209)
[![Design](https://contribute.design/api/shield/nextcloud/server)](https://contribute.design/nextcloud/server)

@ -0,0 +1,124 @@
import { basename } from 'node:path'
import mime from 'mime'
class FileSystemEntry {
private _isFile: boolean
private _fullPath: string
constructor(isFile: boolean, fullPath: string) {
this._isFile = isFile
this._fullPath = fullPath
}
get isFile() {
return !!this._isFile
}
get isDirectory() {
return !this.isFile
}
get name() {
return basename(this._fullPath)
}
}
export class FileSystemFileEntry extends FileSystemEntry {
private _contents: string
private _lastModified: number
constructor(fullPath: string, contents: string, lastModified = Date.now()) {
super(true, fullPath)
this._contents = contents
this._lastModified = lastModified
}
file(success: (file: File) => void) {
const lastModified = this._lastModified
// Faking the mime by using the file extension
const type = mime.getType(this.name) || ''
success(new File([this._contents], this.name, { lastModified, type }))
}
}
export class FileSystemDirectoryEntry extends FileSystemEntry {
private _entries: FileSystemEntry[]
constructor(fullPath: string, entries: FileSystemEntry[]) {
super(false, fullPath)
this._entries = entries || []
}
createReader() {
let read = false
return {
readEntries: (success: (entries: FileSystemEntry[]) => void) => {
if (read) {
return success([])
}
read = true
success(this._entries)
},
}
}
}
/**
* This mocks the File API's File class
* It will allow us to test the Filesystem API as well as the
* File API in the same test suite.
*/
export class DataTransferItem {
private _type: string
private _entry: FileSystemEntry
getAsEntry?: () => FileSystemEntry
constructor(type = '', entry: FileSystemEntry, isFileSystemAPIAvailable = true) {
this._type = type
this._entry = entry
// Only when the Files API is available we are
// able to get the entry
if (isFileSystemAPIAvailable) {
this.getAsEntry = () => this._entry
}
}
get kind() {
return 'file'
}
get type() {
return this._type
}
getAsFile(): File|null {
if (this._entry.isFile && this._entry instanceof FileSystemFileEntry) {
let file: File | null = null
this._entry.file((f) => {
file = f
})
return file
}
// The browser will return an empty File object if the entry is a directory
return new File([], this._entry.name, { type: '' })
}
}
export const fileSystemEntryToDataTransferItem = (entry: FileSystemEntry, isFileSystemAPIAvailable = true): DataTransferItem => {
return new DataTransferItem(
entry.isFile ? 'text/plain' : 'httpd/unix-directory',
entry,
isFileSystemAPIAvailable,
)
}

@ -1,7 +1,7 @@
OC.L10N.register(
"admin_audit",
{
"Auditing / Logging" : "Revision/Logning",
"Auditing / Logging" : "Revision / Logning",
"Provides logging abilities for Nextcloud such as logging file accesses or otherwise sensitive actions." : "Bidrager med lognings funktionalitet til Nextcloud, såsom logning af fil tilgang eller andre sensitive handlinger"
},
"nplurals=2; plural=(n != 1);");

@ -1,5 +1,5 @@
{ "translations": {
"Auditing / Logging" : "Revision/Logning",
"Auditing / Logging" : "Revision / Logning",
"Provides logging abilities for Nextcloud such as logging file accesses or otherwise sensitive actions." : "Bidrager med lognings funktionalitet til Nextcloud, såsom logning af fil tilgang eller andre sensitive handlinger"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}

@ -49,39 +49,39 @@ class AuditLogger implements IAuditLogger {
$this->parentLogger = $logFactory->getCustomPsrLogger($logFile, $auditType, $auditTag);
}
public function emergency($message, array $context = array()): void {
public function emergency($message, array $context = []): void {
$this->parentLogger->emergency($message, $context);
}
public function alert($message, array $context = array()): void {
public function alert($message, array $context = []): void {
$this->parentLogger->alert($message, $context);
}
public function critical($message, array $context = array()): void {
public function critical($message, array $context = []): void {
$this->parentLogger->critical($message, $context);
}
public function error($message, array $context = array()): void {
public function error($message, array $context = []): void {
$this->parentLogger->error($message, $context);
}
public function warning($message, array $context = array()): void {
public function warning($message, array $context = []): void {
$this->parentLogger->warning($message, $context);
}
public function notice($message, array $context = array()): void {
public function notice($message, array $context = []): void {
$this->parentLogger->notice($message, $context);
}
public function info($message, array $context = array()): void {
public function info($message, array $context = []): void {
$this->parentLogger->info($message, $context);
}
public function debug($message, array $context = array()): void {
public function debug($message, array $context = []): void {
$this->parentLogger->debug($message, $context);
}
public function log($level, $message, array $context = array()): void {
public function log($level, $message, array $context = []): void {
$this->parentLogger->log($level, $message, $context);
}
}

@ -1,8 +1,8 @@
OC.L10N.register(
"cloud_federation_api",
{
"Cloud Federation API" : "API Cloud Federation",
"Cloud Federation API" : "API de fédération Cloud",
"Enable clouds to communicate with each other and exchange data" : "Permettre aux clouds de communiquer entre eux et d'échanger des données",
"The Cloud Federation API enables various Nextcloud instances to communicate with each other and to exchange data." : "LAPI Cloud Federation permet à diverses instances Nextcloud de communiquer entre elles et déchanger des données."
"The Cloud Federation API enables various Nextcloud instances to communicate with each other and to exchange data." : "LAPI de fédération cloud permet à différentes instances de Nextcloud de communiquer entre elles et déchanger des données."
},
"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");

@ -1,6 +1,6 @@
{ "translations": {
"Cloud Federation API" : "API Cloud Federation",
"Cloud Federation API" : "API de fédération Cloud",
"Enable clouds to communicate with each other and exchange data" : "Permettre aux clouds de communiquer entre eux et d'échanger des données",
"The Cloud Federation API enables various Nextcloud instances to communicate with each other and to exchange data." : "LAPI Cloud Federation permet à diverses instances Nextcloud de communiquer entre elles et déchanger des données."
"The Cloud Federation API enables various Nextcloud instances to communicate with each other and to exchange data." : "LAPI de fédération cloud permet à différentes instances de Nextcloud de communiquer entre elles et déchanger des données."
},"pluralForm" :"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
}

@ -66,7 +66,7 @@ class Capabilities implements ICapability {
$this->provider->setApiVersion(self::API_VERSION);
$pos = strrpos($url, '/');
if (false === $pos) {
if ($pos === false) {
throw new OCMArgumentException('generated route should contains a slash character');
}

@ -32,8 +32,8 @@ OC.L10N.register(
"An error occurred while trying to delete the comment" : "حدث خطأ أثناء محاولة حذف التعليق",
"An error occurred while trying to create the comment" : "حدث خطأ أثناء محاولة إنشاء التعليق",
"You were mentioned on \"{file}\", in a comment by a user that has since been deleted" : "تمت الإشارة إليك في \"{file}\" في تعليق لمستخدم. لكن هذا المستخدم تم حذف حسابه بعدها",
"_%n unread comment_::_%n unread comments_" : ["%n تعليق غير مقروء","%n تعليق غير مقروء","تعليقان غير مقروءة","%n تعليقات غير مقروء","%n تعليق غير مقروء","%n تعليق غير مقروء"],
"Write a message …" : "أكتُب رسالةً ...",
"\"@\" for mentions, \":\" for emoji, \"/\" for smart picker" : "\"@\" للإشارات, \":\" للإيموجي, \"/\" للاقط الذكي"
"\"@\" for mentions, \":\" for emoji, \"/\" for smart picker" : "\"@\" للإشارات, \":\" للإيموجي, \"/\" للاقط الذكي",
"_%n unread comment_::_%n unread comments_" : ["%n تعليق غير مقروء","%n تعليق غير مقروء","تعليقان غير مقروءة","%n تعليقات غير مقروء","%n تعليق غير مقروء","%n تعليق غير مقروء"]
},
"nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;");

@ -30,8 +30,8 @@
"An error occurred while trying to delete the comment" : "حدث خطأ أثناء محاولة حذف التعليق",
"An error occurred while trying to create the comment" : "حدث خطأ أثناء محاولة إنشاء التعليق",
"You were mentioned on \"{file}\", in a comment by a user that has since been deleted" : "تمت الإشارة إليك في \"{file}\" في تعليق لمستخدم. لكن هذا المستخدم تم حذف حسابه بعدها",
"_%n unread comment_::_%n unread comments_" : ["%n تعليق غير مقروء","%n تعليق غير مقروء","تعليقان غير مقروءة","%n تعليقات غير مقروء","%n تعليق غير مقروء","%n تعليق غير مقروء"],
"Write a message …" : "أكتُب رسالةً ...",
"\"@\" for mentions, \":\" for emoji, \"/\" for smart picker" : "\"@\" للإشارات, \":\" للإيموجي, \"/\" للاقط الذكي"
"\"@\" for mentions, \":\" for emoji, \"/\" for smart picker" : "\"@\" للإشارات, \":\" للإيموجي, \"/\" للاقط الذكي",
"_%n unread comment_::_%n unread comments_" : ["%n تعليق غير مقروء","%n تعليق غير مقروء","تعليقان غير مقروءة","%n تعليقات غير مقروء","%n تعليق غير مقروء","%n تعليق غير مقروء"]
},"pluralForm" :"nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;"
}

@ -9,6 +9,7 @@ OC.L10N.register(
"%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> pa ficheros",
"You were mentioned on \"{file}\", in a comment by an account that has since been deleted" : "Mentáronte en «{file}», nun comentariu d'una cuenta que ta desaniciada",
"{user} mentioned you in a comment on \"{file}\"" : "{user} mentóte nun comentariu de: «{file}»",
"Files app plugin to add comments to files" : "Plugin de l'aplicación Ficheros p'amestar comentarios a los ficheros",
"Edit comment" : "Editar el comentariu",
@ -31,6 +32,8 @@ OC.L10N.register(
"An error occurred while trying to delete the comment" : "Prodúxose un error mentanto se tentaba de desaniciar el comentariu",
"An error occurred while trying to create the comment" : "Prodúxose un error mentanto se tentaba de crear el comentariu",
"You were mentioned on \"{file}\", in a comment by a user that has since been deleted" : "Un usuariu que ta desaniciáu mentóte nun comentariu de: {file}",
"Write a message …" : "Escribi un mensaxe…",
"\"@\" for mentions, \":\" for emoji, \"/\" for smart picker" : "«@» pa mentar, «.» p'amestar un fustaxe, «/» pa usar el selector intelixente",
"_%n unread comment_::_%n unread comments_" : ["%n comentariu ensin lleer","%n comentarios ensin lleer"]
},
"nplurals=2; plural=(n != 1);");

@ -7,6 +7,7 @@
"%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> pa ficheros",
"You were mentioned on \"{file}\", in a comment by an account that has since been deleted" : "Mentáronte en «{file}», nun comentariu d'una cuenta que ta desaniciada",
"{user} mentioned you in a comment on \"{file}\"" : "{user} mentóte nun comentariu de: «{file}»",
"Files app plugin to add comments to files" : "Plugin de l'aplicación Ficheros p'amestar comentarios a los ficheros",
"Edit comment" : "Editar el comentariu",
@ -29,6 +30,8 @@
"An error occurred while trying to delete the comment" : "Prodúxose un error mentanto se tentaba de desaniciar el comentariu",
"An error occurred while trying to create the comment" : "Prodúxose un error mentanto se tentaba de crear el comentariu",
"You were mentioned on \"{file}\", in a comment by a user that has since been deleted" : "Un usuariu que ta desaniciáu mentóte nun comentariu de: {file}",
"Write a message …" : "Escribi un mensaxe…",
"\"@\" for mentions, \":\" for emoji, \"/\" for smart picker" : "«@» pa mentar, «.» p'amestar un fustaxe, «/» pa usar el selector intelixente",
"_%n unread comment_::_%n unread comments_" : ["%n comentariu ensin lleer","%n comentarios ensin lleer"]
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}

@ -32,8 +32,8 @@ OC.L10N.register(
"An error occurred while trying to delete the comment" : "S'ha produït un error en intentar suprimir el comentari",
"An error occurred while trying to create the comment" : "S'ha produït un error en intentar crear el comentari",
"You were mentioned on \"{file}\", in a comment by a user that has since been deleted" : "Se us ha esmentat a «{file}» en un comentari d'un usuari que s'ha suprimit",
"_%n unread comment_::_%n unread comments_" : ["%n comentari sense llegir","%n comentaris sense llegir"],
"Write a message …" : "Escriviu un missatge…",
"\"@\" for mentions, \":\" for emoji, \"/\" for smart picker" : "«@» per a mencions, «:» per a emojis, «/» per al selector intel·ligent"
"\"@\" for mentions, \":\" for emoji, \"/\" for smart picker" : "«@» per a mencions, «:» per a emojis, «/» per al selector intel·ligent",
"_%n unread comment_::_%n unread comments_" : ["%n comentari sense llegir","%n comentaris sense llegir"]
},
"nplurals=2; plural=(n != 1);");

@ -30,8 +30,8 @@
"An error occurred while trying to delete the comment" : "S'ha produït un error en intentar suprimir el comentari",
"An error occurred while trying to create the comment" : "S'ha produït un error en intentar crear el comentari",
"You were mentioned on \"{file}\", in a comment by a user that has since been deleted" : "Se us ha esmentat a «{file}» en un comentari d'un usuari que s'ha suprimit",
"_%n unread comment_::_%n unread comments_" : ["%n comentari sense llegir","%n comentaris sense llegir"],
"Write a message …" : "Escriviu un missatge…",
"\"@\" for mentions, \":\" for emoji, \"/\" for smart picker" : "«@» per a mencions, «:» per a emojis, «/» per al selector intel·ligent"
"\"@\" for mentions, \":\" for emoji, \"/\" for smart picker" : "«@» per a mencions, «:» per a emojis, «/» per al selector intel·ligent",
"_%n unread comment_::_%n unread comments_" : ["%n comentari sense llegir","%n comentaris sense llegir"]
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}

@ -31,7 +31,7 @@ OC.L10N.register(
"An error occurred while trying to delete the comment" : "Došlo k chybě při pokusu o smazání komentáře",
"An error occurred while trying to create the comment" : "Došlo k chybě při pokusu o vytvoření komentáře",
"You were mentioned on \"{file}\", in a comment by a user that has since been deleted" : "Byli jste zmíněni u souboru „{file}“, v komentáři od uživatele, který byl později smazán",
"_%n unread comment_::_%n unread comments_" : ["%n nepřečtený komentář","%n nepřečtené komentáře","%n nepřečtených komentářů","%n nepřečtené komentáře"],
"\"@\" for mentions, \":\" for emoji, \"/\" for smart picker" : "„@“ pro zmínění, „:“ pro emotikony, „/“ pro inteligentní výběr"
"\"@\" for mentions, \":\" for emoji, \"/\" for smart picker" : "„@“ pro zmínění, „:“ pro emotikony, „/“ pro inteligentní výběr",
"_%n unread comment_::_%n unread comments_" : ["%n nepřečtený komentář","%n nepřečtené komentáře","%n nepřečtených komentářů","%n nepřečtené komentáře"]
},
"nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;");

@ -29,7 +29,7 @@
"An error occurred while trying to delete the comment" : "Došlo k chybě při pokusu o smazání komentáře",
"An error occurred while trying to create the comment" : "Došlo k chybě při pokusu o vytvoření komentáře",
"You were mentioned on \"{file}\", in a comment by a user that has since been deleted" : "Byli jste zmíněni u souboru „{file}“, v komentáři od uživatele, který byl později smazán",
"_%n unread comment_::_%n unread comments_" : ["%n nepřečtený komentář","%n nepřečtené komentáře","%n nepřečtených komentářů","%n nepřečtené komentáře"],
"\"@\" for mentions, \":\" for emoji, \"/\" for smart picker" : "„@“ pro zmínění, „:“ pro emotikony, „/“ pro inteligentní výběr"
"\"@\" for mentions, \":\" for emoji, \"/\" for smart picker" : "„@“ pro zmínění, „:“ pro emotikony, „/“ pro inteligentní výběr",
"_%n unread comment_::_%n unread comments_" : ["%n nepřečtený komentář","%n nepřečtené komentáře","%n nepřečtených komentářů","%n nepřečtené komentáře"]
},"pluralForm" :"nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;"
}

@ -9,12 +9,17 @@ OC.L10N.register(
"%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 \"{file}\", in a comment by an account that has since been deleted" : "Du blev nævnt på \"{file}\", i en kommentar af en konto, som siden er blevet slettet",
"{user} mentioned you in a comment on \"{file}\"" : "{user} nævnte dig i en kommentar til \"{file}\"",
"Files app plugin to add comments to files" : "Files app plugin til at tilføje kommentarer til filer",
"Edit comment" : "Rediger kommentar",
"Delete comment" : "Slet kommentar",
"Cancel edit" : "Annuller redigering",
"New comment" : "Ny kommentar",
"Write a comment …" : "Skriv kommentar…",
"Post comment" : "Skriv kommentar",
"@ for mentions, : for emoji, / for smart picker" : "\"@\" for at nævne, \":\" for emojis, \"/\" for Smart Vælger",
"Could not reload comments" : "Kunne ikke indlæse kommentarer",
"No comments yet, start the conversation!" : "Ingen kommentarer endnu, start samtalen!",
"No more messages" : "Ikke flere beskeder",
"Retry" : "Prøv igen",
@ -27,7 +32,8 @@ OC.L10N.register(
"An error occurred while trying to delete the comment" : "Der opstod en fejl under forsøget på at slette kommentaren",
"An error occurred while trying to create the comment" : "Der opstod en fejl under forsøget på at oprette kommentaren",
"You were mentioned on \"{file}\", in a comment by a user that has since been deleted" : "Du blev nævnt på \"{file}\", i en kommentar af en bruger, som siden er blevet slettet",
"_%n unread comment_::_%n unread comments_" : ["%n ulæst kommentar","%n ulæste kommentarer"],
"\"@\" for mentions, \":\" for emoji, \"/\" for smart picker" : "\"@\" for at nævne, \":\" for emojis, \"/\" for Smart Vælger"
"Write a message …" : "Skriv en besked…",
"\"@\" for mentions, \":\" for emoji, \"/\" for smart picker" : "\"@\" for at nævne, \":\" for emojis, \"/\" for Smart Vælger",
"_%n unread comment_::_%n unread comments_" : ["%n ulæst kommentar","%n ulæste kommentarer"]
},
"nplurals=2; plural=(n != 1);");

@ -7,12 +7,17 @@
"%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 \"{file}\", in a comment by an account that has since been deleted" : "Du blev nævnt på \"{file}\", i en kommentar af en konto, som siden er blevet slettet",
"{user} mentioned you in a comment on \"{file}\"" : "{user} nævnte dig i en kommentar til \"{file}\"",
"Files app plugin to add comments to files" : "Files app plugin til at tilføje kommentarer til filer",
"Edit comment" : "Rediger kommentar",
"Delete comment" : "Slet kommentar",
"Cancel edit" : "Annuller redigering",
"New comment" : "Ny kommentar",
"Write a comment …" : "Skriv kommentar…",
"Post comment" : "Skriv kommentar",
"@ for mentions, : for emoji, / for smart picker" : "\"@\" for at nævne, \":\" for emojis, \"/\" for Smart Vælger",
"Could not reload comments" : "Kunne ikke indlæse kommentarer",
"No comments yet, start the conversation!" : "Ingen kommentarer endnu, start samtalen!",
"No more messages" : "Ikke flere beskeder",
"Retry" : "Prøv igen",
@ -25,7 +30,8 @@
"An error occurred while trying to delete the comment" : "Der opstod en fejl under forsøget på at slette kommentaren",
"An error occurred while trying to create the comment" : "Der opstod en fejl under forsøget på at oprette kommentaren",
"You were mentioned on \"{file}\", in a comment by a user that has since been deleted" : "Du blev nævnt på \"{file}\", i en kommentar af en bruger, som siden er blevet slettet",
"_%n unread comment_::_%n unread comments_" : ["%n ulæst kommentar","%n ulæste kommentarer"],
"\"@\" for mentions, \":\" for emoji, \"/\" for smart picker" : "\"@\" for at nævne, \":\" for emojis, \"/\" for Smart Vælger"
"Write a message …" : "Skriv en besked…",
"\"@\" for mentions, \":\" for emoji, \"/\" for smart picker" : "\"@\" for at nævne, \":\" for emojis, \"/\" for Smart Vælger",
"_%n unread comment_::_%n unread comments_" : ["%n ulæst kommentar","%n ulæste kommentarer"]
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}

@ -32,8 +32,8 @@ OC.L10N.register(
"An error occurred while trying to delete the comment" : "Es ist ein Fehler beim Löschen des Kommentars aufgetreten",
"An error occurred while trying to create the comment" : "Es ist ein Fehler beim Erstellen des Kommentars aufgetreten",
"You were mentioned on \"{file}\", in a comment by a user that has since been deleted" : "Sie wurden in einem Kommentar auf \"{file}\" von einem bereits gelöschten Benutzer erwähnt",
"_%n unread comment_::_%n unread comments_" : ["%n ungelesener Kommentar","%n ungelesene Kommentare"],
"Write a message …" : "Eine Nachricht schreiben …",
"\"@\" for mentions, \":\" for emoji, \"/\" for smart picker" : "\"@\" für Erwähnungen, \":\" für Emoji, \"/\" für Smart Picker"
"\"@\" for mentions, \":\" for emoji, \"/\" for smart picker" : "\"@\" für Erwähnungen, \":\" für Emoji, \"/\" für Smart Picker",
"_%n unread comment_::_%n unread comments_" : ["%n ungelesener Kommentar","%n ungelesene Kommentare"]
},
"nplurals=2; plural=(n != 1);");

@ -30,8 +30,8 @@
"An error occurred while trying to delete the comment" : "Es ist ein Fehler beim Löschen des Kommentars aufgetreten",
"An error occurred while trying to create the comment" : "Es ist ein Fehler beim Erstellen des Kommentars aufgetreten",
"You were mentioned on \"{file}\", in a comment by a user that has since been deleted" : "Sie wurden in einem Kommentar auf \"{file}\" von einem bereits gelöschten Benutzer erwähnt",
"_%n unread comment_::_%n unread comments_" : ["%n ungelesener Kommentar","%n ungelesene Kommentare"],
"Write a message …" : "Eine Nachricht schreiben …",
"\"@\" for mentions, \":\" for emoji, \"/\" for smart picker" : "\"@\" für Erwähnungen, \":\" für Emoji, \"/\" für Smart Picker"
"\"@\" for mentions, \":\" for emoji, \"/\" for smart picker" : "\"@\" für Erwähnungen, \":\" für Emoji, \"/\" für Smart Picker",
"_%n unread comment_::_%n unread comments_" : ["%n ungelesener Kommentar","%n ungelesene Kommentare"]
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}

@ -32,8 +32,8 @@ OC.L10N.register(
"An error occurred while trying to delete the comment" : "An error occurred while trying to delete the comment",
"An error occurred while trying to create the comment" : "An error occurred while trying to create the comment",
"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",
"_%n unread comment_::_%n unread comments_" : ["%n unread comment","%n unread comments"],
"Write a message …" : "Write a message …",
"\"@\" for mentions, \":\" for emoji, \"/\" for smart picker" : "\"@\" for mentions, \":\" for emoji, \"/\" for smart picker"
"\"@\" for mentions, \":\" for emoji, \"/\" for smart picker" : "\"@\" for mentions, \":\" for emoji, \"/\" for smart picker",
"_%n unread comment_::_%n unread comments_" : ["%n unread comment","%n unread comments"]
},
"nplurals=2; plural=(n != 1);");

@ -30,8 +30,8 @@
"An error occurred while trying to delete the comment" : "An error occurred while trying to delete the comment",
"An error occurred while trying to create the comment" : "An error occurred while trying to create the comment",
"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",
"_%n unread comment_::_%n unread comments_" : ["%n unread comment","%n unread comments"],
"Write a message …" : "Write a message …",
"\"@\" for mentions, \":\" for emoji, \"/\" for smart picker" : "\"@\" for mentions, \":\" for emoji, \"/\" for smart picker"
"\"@\" for mentions, \":\" for emoji, \"/\" for smart picker" : "\"@\" for mentions, \":\" for emoji, \"/\" for smart picker",
"_%n unread comment_::_%n unread comments_" : ["%n unread comment","%n unread comments"]
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}

@ -9,7 +9,8 @@ OC.L10N.register(
"%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",
"{user} mentioned you in a comment on \"{file}\"" : "{user} te mencionó en un comentario en “{file}”",
"You were mentioned on \"{file}\", in a comment by an account that has since been deleted" : "Fue mencionado en \"{file}\", en un comentario realizado por un usuario que ha sido eliminado",
"{user} mentioned you in a comment on \"{file}\"" : "{user} le mencionó en un comentario en “{file}”",
"Files app plugin to add comments to files" : "Plugin de la app de Archivos para añadir comentarios a archivos.",
"Edit comment" : "Editar comentario",
"Delete comment" : "Borrar comentario",
@ -30,8 +31,9 @@ OC.L10N.register(
"Comment deleted" : "Comentario borrado",
"An error occurred while trying to delete the comment" : "Ocurrió un error intentando borrar el comentario",
"An error occurred while trying to create the comment" : "Ocurrió un error intentando crear el comentario",
"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",
"_%n unread comment_::_%n unread comments_" : ["%n comentario sin leer","%n comentarios no leídos","%n comentarios no leídos"],
"\"@\" for mentions, \":\" for emoji, \"/\" for smart picker" : "\"@\" para menciones, \":\" para emojis, \"/\" para selector inteligente"
"You were mentioned on \"{file}\", in a comment by a user that has since been deleted" : "Le han mencionado en \"{file}\", en un comentario de un usuario que ha sido eliminado desde entonces",
"Write a message …" : "Escribir un mensaje …",
"\"@\" for mentions, \":\" for emoji, \"/\" for smart picker" : "\"@\" para menciones, \":\" para emojis, \"/\" para selector inteligente",
"_%n unread comment_::_%n unread comments_" : ["%n comentario sin leer","%n comentarios no leídos","%n comentarios no leídos"]
},
"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");

@ -7,7 +7,8 @@
"%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",
"{user} mentioned you in a comment on \"{file}\"" : "{user} te mencionó en un comentario en “{file}”",
"You were mentioned on \"{file}\", in a comment by an account that has since been deleted" : "Fue mencionado en \"{file}\", en un comentario realizado por un usuario que ha sido eliminado",
"{user} mentioned you in a comment on \"{file}\"" : "{user} le mencionó en un comentario en “{file}”",
"Files app plugin to add comments to files" : "Plugin de la app de Archivos para añadir comentarios a archivos.",
"Edit comment" : "Editar comentario",
"Delete comment" : "Borrar comentario",
@ -28,8 +29,9 @@
"Comment deleted" : "Comentario borrado",
"An error occurred while trying to delete the comment" : "Ocurrió un error intentando borrar el comentario",
"An error occurred while trying to create the comment" : "Ocurrió un error intentando crear el comentario",
"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",
"_%n unread comment_::_%n unread comments_" : ["%n comentario sin leer","%n comentarios no leídos","%n comentarios no leídos"],
"\"@\" for mentions, \":\" for emoji, \"/\" for smart picker" : "\"@\" para menciones, \":\" para emojis, \"/\" para selector inteligente"
"You were mentioned on \"{file}\", in a comment by a user that has since been deleted" : "Le han mencionado en \"{file}\", en un comentario de un usuario que ha sido eliminado desde entonces",
"Write a message …" : "Escribir un mensaje …",
"\"@\" for mentions, \":\" for emoji, \"/\" for smart picker" : "\"@\" para menciones, \":\" para emojis, \"/\" para selector inteligente",
"_%n unread comment_::_%n unread comments_" : ["%n comentario sin leer","%n comentarios no leídos","%n comentarios no leídos"]
},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
}

@ -32,8 +32,8 @@ OC.L10N.register(
"An error occurred while trying to delete the comment" : "Ocurrió un error intentando borrar el comentario",
"An error occurred while trying to create the comment" : "Ocurrió un error al intentar crear el comentario",
"You were mentioned on \"{file}\", in a comment by a user that has since been deleted" : "Fue mencionado en \"{file}\", en un comentario realizado por un usuario que ha sido eliminado",
"_%n unread comment_::_%n unread comments_" : ["%n comentarios sin leer","%n comentarios sin leer","%n comentarios sin leer"],
"Write a message …" : "Escriba un mensaje …",
"\"@\" for mentions, \":\" for emoji, \"/\" for smart picker" : "\"@\" para menciones, \":\" para emoticonos, \"/\" para selector inteligente"
"\"@\" for mentions, \":\" for emoji, \"/\" for smart picker" : "\"@\" para menciones, \":\" para emoticonos, \"/\" para selector inteligente",
"_%n unread comment_::_%n unread comments_" : ["%n comentarios sin leer","%n comentarios sin leer","%n comentarios sin leer"]
},
"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");

@ -30,8 +30,8 @@
"An error occurred while trying to delete the comment" : "Ocurrió un error intentando borrar el comentario",
"An error occurred while trying to create the comment" : "Ocurrió un error al intentar crear el comentario",
"You were mentioned on \"{file}\", in a comment by a user that has since been deleted" : "Fue mencionado en \"{file}\", en un comentario realizado por un usuario que ha sido eliminado",
"_%n unread comment_::_%n unread comments_" : ["%n comentarios sin leer","%n comentarios sin leer","%n comentarios sin leer"],
"Write a message …" : "Escriba un mensaje …",
"\"@\" for mentions, \":\" for emoji, \"/\" for smart picker" : "\"@\" para menciones, \":\" para emoticonos, \"/\" para selector inteligente"
"\"@\" for mentions, \":\" for emoji, \"/\" for smart picker" : "\"@\" para menciones, \":\" para emoticonos, \"/\" para selector inteligente",
"_%n unread comment_::_%n unread comments_" : ["%n comentarios sin leer","%n comentarios sin leer","%n comentarios sin leer"]
},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
}

@ -32,8 +32,8 @@ OC.L10N.register(
"An error occurred while trying to delete the comment" : "Errorea gertatu da iruzkina ezabatzen saiatzean",
"An error occurred while trying to create the comment" : "Errorea gertatu da iruzkina sortzen saiatzean",
"You were mentioned on \"{file}\", in a comment by a user that has since been deleted" : "\"{file}\"-n aipatu zaituzte, dagoeneko ezabatu den erabiltzaile baten iruzkin batean",
"_%n unread comment_::_%n unread comments_" : ["iruzkin %n irakurri gabe","%n iruzkin irakurri gabe"],
"Write a message …" : "Idatzi mezu bat ...",
"\"@\" for mentions, \":\" for emoji, \"/\" for smart picker" : "\"@\" aipamenetarako, \":\" emojientzako, \"/\" hautatzaile adimentsurako"
"\"@\" for mentions, \":\" for emoji, \"/\" for smart picker" : "\"@\" aipamenetarako, \":\" emojientzako, \"/\" hautatzaile adimentsurako",
"_%n unread comment_::_%n unread comments_" : ["iruzkin %n irakurri gabe","%n iruzkin irakurri gabe"]
},
"nplurals=2; plural=(n != 1);");

@ -30,8 +30,8 @@
"An error occurred while trying to delete the comment" : "Errorea gertatu da iruzkina ezabatzen saiatzean",
"An error occurred while trying to create the comment" : "Errorea gertatu da iruzkina sortzen saiatzean",
"You were mentioned on \"{file}\", in a comment by a user that has since been deleted" : "\"{file}\"-n aipatu zaituzte, dagoeneko ezabatu den erabiltzaile baten iruzkin batean",
"_%n unread comment_::_%n unread comments_" : ["iruzkin %n irakurri gabe","%n iruzkin irakurri gabe"],
"Write a message …" : "Idatzi mezu bat ...",
"\"@\" for mentions, \":\" for emoji, \"/\" for smart picker" : "\"@\" aipamenetarako, \":\" emojientzako, \"/\" hautatzaile adimentsurako"
"\"@\" for mentions, \":\" for emoji, \"/\" for smart picker" : "\"@\" aipamenetarako, \":\" emojientzako, \"/\" hautatzaile adimentsurako",
"_%n unread comment_::_%n unread comments_" : ["iruzkin %n irakurri gabe","%n iruzkin irakurri gabe"]
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}

@ -13,6 +13,8 @@ OC.L10N.register(
"Edit comment" : "Muokkaa kommenttia",
"Delete comment" : "Poista kommentti",
"Cancel edit" : "Peruuta muokkaus",
"New comment" : "Uusi kommentti",
"Write a comment …" : "Kirjoita kommentti…",
"Post comment" : "Lähetä viesti",
"No comments yet, start the conversation!" : "Ei kommentteja vielä. Aloita keskustelu!",
"No more messages" : "Ei enempää viestejä",
@ -25,6 +27,7 @@ OC.L10N.register(
"Comment deleted" : "Kommentti poistettu",
"An error occurred while trying to delete the comment" : "Kommenttia poistaessa tapahtui virhe",
"An error occurred while trying to create the comment" : "Kommenttia luodessa tapahtui virhe",
"Write a message …" : "Kirjoita viesti…",
"_%n unread comment_::_%n unread comments_" : ["%n lukematon kommentti","%n lukematonta kommenttia"]
},
"nplurals=2; plural=(n != 1);");

@ -11,6 +11,8 @@
"Edit comment" : "Muokkaa kommenttia",
"Delete comment" : "Poista kommentti",
"Cancel edit" : "Peruuta muokkaus",
"New comment" : "Uusi kommentti",
"Write a comment …" : "Kirjoita kommentti…",
"Post comment" : "Lähetä viesti",
"No comments yet, start the conversation!" : "Ei kommentteja vielä. Aloita keskustelu!",
"No more messages" : "Ei enempää viestejä",
@ -23,6 +25,7 @@
"Comment deleted" : "Kommentti poistettu",
"An error occurred while trying to delete the comment" : "Kommenttia poistaessa tapahtui virhe",
"An error occurred while trying to create the comment" : "Kommenttia luodessa tapahtui virhe",
"Write a message …" : "Kirjoita viesti…",
"_%n unread comment_::_%n unread comments_" : ["%n lukematon kommentti","%n lukematonta kommenttia"]
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}

@ -19,7 +19,7 @@ OC.L10N.register(
"Write a comment …" : "Écrire un commentaire…",
"Post comment" : "Publier le commentaire",
"@ for mentions, : for emoji, / for smart picker" : "@ pour les mentions, : pour les émojis, / pour le sélecteur intelligent",
"Could not reload comments" : "Impossible de rafraichir les commentaires",
"Could not reload comments" : "Impossible de recharger les commentaires",
"No comments yet, start the conversation!" : "Il n'y a aucun commentaire, démarrez la conversation !",
"No more messages" : "Aucun autre message",
"Retry" : "Réessayer",
@ -32,7 +32,8 @@ OC.L10N.register(
"An error occurred while trying to delete the comment" : "Une erreur s'est produite lors de la tentative de suppression du commentaire",
"An error occurred while trying to create the comment" : "Une erreur s'est produite lors de la tentative de création du commentaire",
"You were mentioned on \"{file}\", in a comment by a user that has since been deleted" : "Vous avez été mentionné sur « {file} », dans un commentaire par un utilisateur qui depuis a été supprimé",
"_%n unread comment_::_%n unread comments_" : ["%n commentaire non lu","%n commentaires non lus","%n commentaires non lus"],
"\"@\" for mentions, \":\" for emoji, \"/\" for smart picker" : "« @ » pour les mentions, « : »pour les émojis, « / » pour le sélecteur intelligent"
"Write a message …" : "Écrivez un message…",
"\"@\" for mentions, \":\" for emoji, \"/\" for smart picker" : "« @ » pour les mentions, « : »pour les émojis, « / » pour le sélecteur intelligent",
"_%n unread comment_::_%n unread comments_" : ["%n commentaire non lu","%n commentaires non lus","%n commentaires non lus"]
},
"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");

@ -17,7 +17,7 @@
"Write a comment …" : "Écrire un commentaire…",
"Post comment" : "Publier le commentaire",
"@ for mentions, : for emoji, / for smart picker" : "@ pour les mentions, : pour les émojis, / pour le sélecteur intelligent",
"Could not reload comments" : "Impossible de rafraichir les commentaires",
"Could not reload comments" : "Impossible de recharger les commentaires",
"No comments yet, start the conversation!" : "Il n'y a aucun commentaire, démarrez la conversation !",
"No more messages" : "Aucun autre message",
"Retry" : "Réessayer",
@ -30,7 +30,8 @@
"An error occurred while trying to delete the comment" : "Une erreur s'est produite lors de la tentative de suppression du commentaire",
"An error occurred while trying to create the comment" : "Une erreur s'est produite lors de la tentative de création du commentaire",
"You were mentioned on \"{file}\", in a comment by a user that has since been deleted" : "Vous avez été mentionné sur « {file} », dans un commentaire par un utilisateur qui depuis a été supprimé",
"_%n unread comment_::_%n unread comments_" : ["%n commentaire non lu","%n commentaires non lus","%n commentaires non lus"],
"\"@\" for mentions, \":\" for emoji, \"/\" for smart picker" : "« @ » pour les mentions, « : »pour les émojis, « / » pour le sélecteur intelligent"
"Write a message …" : "Écrivez un message…",
"\"@\" for mentions, \":\" for emoji, \"/\" for smart picker" : "« @ » pour les mentions, « : »pour les émojis, « / » pour le sélecteur intelligent",
"_%n unread comment_::_%n unread comments_" : ["%n commentaire non lu","%n commentaires non lus","%n commentaires non lus"]
},"pluralForm" :"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
}

@ -30,7 +30,7 @@ OC.L10N.register(
"An error occurred while trying to delete the comment" : "Produciuse un erro cando tentaba eliminar o comentario",
"An error occurred while trying to create the comment" : "Produciuse un erro cando tentaba crear o comentario",
"You were mentioned on \"{file}\", in a comment by a user that has since been deleted" : "Mencionárono en «{file}», nun comentario dun usuario que xa foi eliminado",
"_%n unread comment_::_%n unread comments_" : ["%n comentario sen ler","%n comentarios sen ler"],
"\"@\" for mentions, \":\" for emoji, \"/\" for smart picker" : "«@» para mencións, «:» para «emoji», «/» para selector intelixente"
"\"@\" for mentions, \":\" for emoji, \"/\" for smart picker" : "«@» para mencións, «:» para «emoji», «/» para selector intelixente",
"_%n unread comment_::_%n unread comments_" : ["%n comentario sen ler","%n comentarios sen ler"]
},
"nplurals=2; plural=(n != 1);");

@ -28,7 +28,7 @@
"An error occurred while trying to delete the comment" : "Produciuse un erro cando tentaba eliminar o comentario",
"An error occurred while trying to create the comment" : "Produciuse un erro cando tentaba crear o comentario",
"You were mentioned on \"{file}\", in a comment by a user that has since been deleted" : "Mencionárono en «{file}», nun comentario dun usuario que xa foi eliminado",
"_%n unread comment_::_%n unread comments_" : ["%n comentario sen ler","%n comentarios sen ler"],
"\"@\" for mentions, \":\" for emoji, \"/\" for smart picker" : "«@» para mencións, «:» para «emoji», «/» para selector intelixente"
"\"@\" for mentions, \":\" for emoji, \"/\" for smart picker" : "«@» para mencións, «:» para «emoji», «/» para selector intelixente",
"_%n unread comment_::_%n unread comments_" : ["%n comentario sen ler","%n comentarios sen ler"]
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}

@ -29,7 +29,7 @@ OC.L10N.register(
"An error occurred while trying to delete the comment" : "Hiba történt a megjegyzés törlése közben",
"An error occurred while trying to create the comment" : "Hiba történt a megjegyzés létrehozása közben",
"You were mentioned on \"{file}\", in a comment by a user that has since been deleted" : "Megemlítették ennél: „{file}”, egy már törölt felhasználó hozzászólásában",
"_%n unread comment_::_%n unread comments_" : ["%n olvasatlan hozzászólás","%n olvasatlan hozzászólás"],
"\"@\" for mentions, \":\" for emoji, \"/\" for smart picker" : "„@” az említésekhez, „:” az emodzsikhoz, „/” az okos választához"
"\"@\" for mentions, \":\" for emoji, \"/\" for smart picker" : "„@” az említésekhez, „:” az emodzsikhoz, „/” az okos választához",
"_%n unread comment_::_%n unread comments_" : ["%n olvasatlan hozzászólás","%n olvasatlan hozzászólás"]
},
"nplurals=2; plural=(n != 1);");

@ -27,7 +27,7 @@
"An error occurred while trying to delete the comment" : "Hiba történt a megjegyzés törlése közben",
"An error occurred while trying to create the comment" : "Hiba történt a megjegyzés létrehozása közben",
"You were mentioned on \"{file}\", in a comment by a user that has since been deleted" : "Megemlítették ennél: „{file}”, egy már törölt felhasználó hozzászólásában",
"_%n unread comment_::_%n unread comments_" : ["%n olvasatlan hozzászólás","%n olvasatlan hozzászólás"],
"\"@\" for mentions, \":\" for emoji, \"/\" for smart picker" : "„@” az említésekhez, „:” az emodzsikhoz, „/” az okos választához"
"\"@\" for mentions, \":\" for emoji, \"/\" for smart picker" : "„@” az említésekhez, „:” az emodzsikhoz, „/” az okos választához",
"_%n unread comment_::_%n unread comments_" : ["%n olvasatlan hozzászólás","%n olvasatlan hozzászólás"]
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}

@ -31,7 +31,7 @@ OC.L10N.register(
"An error occurred while trying to delete the comment" : "Si è verificato un errore durante il tentativo di eliminare il commento",
"An error occurred while trying to create the comment" : "Si è verificato un errore durante il tentativo di creare il commento",
"You were mentioned on \"{file}\", in a comment by a user that has since been deleted" : "Sei stato menzionato su \"{file}\", in un commento di un utente che è stato eliminato",
"_%n unread comment_::_%n unread comments_" : ["%n commento non letto","%n commenti non letti","%n commenti non letti"],
"\"@\" for mentions, \":\" for emoji, \"/\" for smart picker" : "\"@\" per le menzioni, \":\" per gli emoji, \"/\" per il selettore intelligente"
"\"@\" for mentions, \":\" for emoji, \"/\" for smart picker" : "\"@\" per le menzioni, \":\" per gli emoji, \"/\" per il selettore intelligente",
"_%n unread comment_::_%n unread comments_" : ["%n commento non letto","%n commenti non letti","%n commenti non letti"]
},
"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");

@ -29,7 +29,7 @@
"An error occurred while trying to delete the comment" : "Si è verificato un errore durante il tentativo di eliminare il commento",
"An error occurred while trying to create the comment" : "Si è verificato un errore durante il tentativo di creare il commento",
"You were mentioned on \"{file}\", in a comment by a user that has since been deleted" : "Sei stato menzionato su \"{file}\", in un commento di un utente che è stato eliminato",
"_%n unread comment_::_%n unread comments_" : ["%n commento non letto","%n commenti non letti","%n commenti non letti"],
"\"@\" for mentions, \":\" for emoji, \"/\" for smart picker" : "\"@\" per le menzioni, \":\" per gli emoji, \"/\" per il selettore intelligente"
"\"@\" for mentions, \":\" for emoji, \"/\" for smart picker" : "\"@\" per le menzioni, \":\" per gli emoji, \"/\" per il selettore intelligente",
"_%n unread comment_::_%n unread comments_" : ["%n commento non letto","%n commenti non letti","%n commenti non letti"]
},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
}

@ -32,8 +32,8 @@ OC.L10N.register(
"An error occurred while trying to delete the comment" : "コメントの削除中にエラーが発生しました",
"An error occurred while trying to create the comment" : "コメント中にエラーが発生しました",
"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",
"_%n unread comment_::_%n unread comments_" : ["%n の未読のコメント"],
"Write a message …" : "メッセージを書く…",
"\"@\" for mentions, \":\" for emoji, \"/\" for smart picker" : "メンションには \"@\"、絵文字には \":\"、スマートピッカーには \"/\""
"\"@\" for mentions, \":\" for emoji, \"/\" for smart picker" : "メンションには \"@\"、絵文字には \":\"、スマートピッカーには \"/\"",
"_%n unread comment_::_%n unread comments_" : ["%n の未読のコメント"]
},
"nplurals=1; plural=0;");

@ -30,8 +30,8 @@
"An error occurred while trying to delete the comment" : "コメントの削除中にエラーが発生しました",
"An error occurred while trying to create the comment" : "コメント中にエラーが発生しました",
"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",
"_%n unread comment_::_%n unread comments_" : ["%n の未読のコメント"],
"Write a message …" : "メッセージを書く…",
"\"@\" for mentions, \":\" for emoji, \"/\" for smart picker" : "メンションには \"@\"、絵文字には \":\"、スマートピッカーには \"/\""
"\"@\" for mentions, \":\" for emoji, \"/\" for smart picker" : "メンションには \"@\"、絵文字には \":\"、スマートピッカーには \"/\"",
"_%n unread comment_::_%n unread comments_" : ["%n の未読のコメント"]
},"pluralForm" :"nplurals=1; plural=0;"
}

@ -32,8 +32,8 @@ OC.L10N.register(
"An error occurred while trying to delete the comment" : "Det oppsto en feil under forsøk på å slette kommentaren",
"An error occurred while trying to create the comment" : "Det oppsto en feil under forsøket på å opprette kommentaren",
"You were mentioned on \"{file}\", in a comment by a user that has since been deleted" : "Du ble nevnt på \"{file}\", i en kommentar av en bruker som siden har blitt slettet",
"_%n unread comment_::_%n unread comments_" : ["%n ulest kommentar","%n uleste kommentarer"],
"Write a message …" : "Skriv en melding...",
"\"@\" for mentions, \":\" for emoji, \"/\" for smart picker" : "\"@\" for nevner, \":\" for emoji, \"/\" for smartvelger"
"\"@\" for mentions, \":\" for emoji, \"/\" for smart picker" : "\"@\" for nevner, \":\" for emoji, \"/\" for smartvelger",
"_%n unread comment_::_%n unread comments_" : ["%n ulest kommentar","%n uleste kommentarer"]
},
"nplurals=2; plural=(n != 1);");

@ -30,8 +30,8 @@
"An error occurred while trying to delete the comment" : "Det oppsto en feil under forsøk på å slette kommentaren",
"An error occurred while trying to create the comment" : "Det oppsto en feil under forsøket på å opprette kommentaren",
"You were mentioned on \"{file}\", in a comment by a user that has since been deleted" : "Du ble nevnt på \"{file}\", i en kommentar av en bruker som siden har blitt slettet",
"_%n unread comment_::_%n unread comments_" : ["%n ulest kommentar","%n uleste kommentarer"],
"Write a message …" : "Skriv en melding...",
"\"@\" for mentions, \":\" for emoji, \"/\" for smart picker" : "\"@\" for nevner, \":\" for emoji, \"/\" for smartvelger"
"\"@\" for mentions, \":\" for emoji, \"/\" for smart picker" : "\"@\" for nevner, \":\" for emoji, \"/\" for smartvelger",
"_%n unread comment_::_%n unread comments_" : ["%n ulest kommentar","%n uleste kommentarer"]
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}

@ -30,7 +30,7 @@ OC.L10N.register(
"An error occurred while trying to delete the comment" : "Wystąpił błąd podczas próby usunięcia komentarza",
"An error occurred while trying to create the comment" : "Wystąpił błąd podczas próby utworzenia komentarza",
"You were mentioned on \"{file}\", in a comment by a user that has since been deleted" : "Wspomniano o Tobie w komentarzu w \"{file}\" przez użytkownika, który został usunięty",
"_%n unread comment_::_%n unread comments_" : ["%n nieprzeczytany komentarz","%n nieprzeczytane komentarze","%n nieprzeczytanych komentarzy","%n nieprzeczytanych komentarzy"],
"\"@\" for mentions, \":\" for emoji, \"/\" for smart picker" : "\"@\" dla wzmianek, \":\" dla emoji, \"/\" dla inteligentnego wybierania"
"\"@\" for mentions, \":\" for emoji, \"/\" for smart picker" : "\"@\" dla wzmianek, \":\" dla emoji, \"/\" dla inteligentnego wybierania",
"_%n unread comment_::_%n unread comments_" : ["%n nieprzeczytany komentarz","%n nieprzeczytane komentarze","%n nieprzeczytanych komentarzy","%n nieprzeczytanych komentarzy"]
},
"nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);");

@ -28,7 +28,7 @@
"An error occurred while trying to delete the comment" : "Wystąpił błąd podczas próby usunięcia komentarza",
"An error occurred while trying to create the comment" : "Wystąpił błąd podczas próby utworzenia komentarza",
"You were mentioned on \"{file}\", in a comment by a user that has since been deleted" : "Wspomniano o Tobie w komentarzu w \"{file}\" przez użytkownika, który został usunięty",
"_%n unread comment_::_%n unread comments_" : ["%n nieprzeczytany komentarz","%n nieprzeczytane komentarze","%n nieprzeczytanych komentarzy","%n nieprzeczytanych komentarzy"],
"\"@\" for mentions, \":\" for emoji, \"/\" for smart picker" : "\"@\" dla wzmianek, \":\" dla emoji, \"/\" dla inteligentnego wybierania"
"\"@\" for mentions, \":\" for emoji, \"/\" for smart picker" : "\"@\" dla wzmianek, \":\" dla emoji, \"/\" dla inteligentnego wybierania",
"_%n unread comment_::_%n unread comments_" : ["%n nieprzeczytany komentarz","%n nieprzeczytane komentarze","%n nieprzeczytanych komentarzy","%n nieprzeczytanych komentarzy"]
},"pluralForm" :"nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);"
}

@ -32,8 +32,8 @@ OC.L10N.register(
"An error occurred while trying to delete the comment" : "Ocorreu um erro ao tentar excluir o comentário",
"An error occurred while trying to create the comment" : "Ocorreu um erro ao tentar criar o comentário",
"You were mentioned on \"{file}\", in a comment by a user that has since been deleted" : "Você foi mencionado em \"{file}\", em um comentário de um usuário que já foi excluído",
"_%n unread comment_::_%n unread comments_" : ["%n comentários não lidos","%n comentários não lidos","%n comentários não lidos"],
"Write a message …" : "Escreve uma mensagem …",
"\"@\" for mentions, \":\" for emoji, \"/\" for smart picker" : "\"@\" para menções, \":\" para emoji, \"/\" para seletor inteligente"
"\"@\" for mentions, \":\" for emoji, \"/\" for smart picker" : "\"@\" para menções, \":\" para emoji, \"/\" para seletor inteligente",
"_%n unread comment_::_%n unread comments_" : ["%n comentários não lidos","%n comentários não lidos","%n comentários não lidos"]
},
"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");

@ -30,8 +30,8 @@
"An error occurred while trying to delete the comment" : "Ocorreu um erro ao tentar excluir o comentário",
"An error occurred while trying to create the comment" : "Ocorreu um erro ao tentar criar o comentário",
"You were mentioned on \"{file}\", in a comment by a user that has since been deleted" : "Você foi mencionado em \"{file}\", em um comentário de um usuário que já foi excluído",
"_%n unread comment_::_%n unread comments_" : ["%n comentários não lidos","%n comentários não lidos","%n comentários não lidos"],
"Write a message …" : "Escreve uma mensagem …",
"\"@\" for mentions, \":\" for emoji, \"/\" for smart picker" : "\"@\" para menções, \":\" para emoji, \"/\" para seletor inteligente"
"\"@\" for mentions, \":\" for emoji, \"/\" for smart picker" : "\"@\" para menções, \":\" para emoji, \"/\" para seletor inteligente",
"_%n unread comment_::_%n unread comments_" : ["%n comentários não lidos","%n comentários não lidos","%n comentários não lidos"]
},"pluralForm" :"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
}

@ -32,8 +32,8 @@ OC.L10N.register(
"An error occurred while trying to delete the comment" : "Vyskytla sa chyba pri mazaní komentára",
"An error occurred while trying to create the comment" : "Vyskytla sa chyba pri vytváraní komentára",
"You were mentioned on \"{file}\", in a comment by a user that has since been deleted" : "Boli ste spomenutý v \"{file}\", v komentári používateľom ktorý bol už vymazaný",
"_%n unread comment_::_%n unread comments_" : ["%n neprečítaný komentár","%n neprečítaných komentárov","%n neprečítaných komentárov","%n neprečítaných komentárov"],
"Write a message …" : "Napísať správu …",
"\"@\" for mentions, \":\" for emoji, \"/\" for smart picker" : "\"@\" pre spomienky, \":\" pre emotikony, \"/\" pre inteligentný výber"
"\"@\" for mentions, \":\" for emoji, \"/\" for smart picker" : "\"@\" pre spomienky, \":\" pre emotikony, \"/\" pre inteligentný výber",
"_%n unread comment_::_%n unread comments_" : ["%n neprečítaný komentár","%n neprečítaných komentárov","%n neprečítaných komentárov","%n neprečítaných komentárov"]
},
"nplurals=4; plural=(n % 1 == 0 && n == 1 ? 0 : n % 1 == 0 && n >= 2 && n <= 4 ? 1 : n % 1 != 0 ? 2: 3);");

@ -30,8 +30,8 @@
"An error occurred while trying to delete the comment" : "Vyskytla sa chyba pri mazaní komentára",
"An error occurred while trying to create the comment" : "Vyskytla sa chyba pri vytváraní komentára",
"You were mentioned on \"{file}\", in a comment by a user that has since been deleted" : "Boli ste spomenutý v \"{file}\", v komentári používateľom ktorý bol už vymazaný",
"_%n unread comment_::_%n unread comments_" : ["%n neprečítaný komentár","%n neprečítaných komentárov","%n neprečítaných komentárov","%n neprečítaných komentárov"],
"Write a message …" : "Napísať správu …",
"\"@\" for mentions, \":\" for emoji, \"/\" for smart picker" : "\"@\" pre spomienky, \":\" pre emotikony, \"/\" pre inteligentný výber"
"\"@\" for mentions, \":\" for emoji, \"/\" for smart picker" : "\"@\" pre spomienky, \":\" pre emotikony, \"/\" pre inteligentný výber",
"_%n unread comment_::_%n unread comments_" : ["%n neprečítaný komentár","%n neprečítaných komentárov","%n neprečítaných komentárov","%n neprečítaných komentárov"]
},"pluralForm" :"nplurals=4; plural=(n % 1 == 0 && n == 1 ? 0 : n % 1 == 0 && n >= 2 && n <= 4 ? 1 : n % 1 != 0 ? 2: 3);"
}

@ -29,7 +29,7 @@ OC.L10N.register(
"An error occurred while trying to delete the comment" : "Prišlo je do napake med brisanjem opombe",
"An error occurred while trying to create the comment" : "Prišlo je do napake med ustvarjanjem opombe",
"You were mentioned on \"{file}\", in a comment by a user that has since been deleted" : "Uporabnik, ki je sicer že izbrisan, vas omeni v opombi k datoteki »{file}«.",
"_%n unread comment_::_%n unread comments_" : ["%n neprebrana opomba","%n neprebrani opombi","%n neprebrane opombe","%n neprebranih opomb"],
"\"@\" for mentions, \":\" for emoji, \"/\" for smart picker" : "» @ « za omenjanje, » : « za izrazne ikone, » / « za pametni izbirnik"
"\"@\" for mentions, \":\" for emoji, \"/\" for smart picker" : "» @ « za omenjanje, » : « za izrazne ikone, » / « za pametni izbirnik",
"_%n unread comment_::_%n unread comments_" : ["%n neprebrana opomba","%n neprebrani opombi","%n neprebrane opombe","%n neprebranih opomb"]
},
"nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);");

@ -27,7 +27,7 @@
"An error occurred while trying to delete the comment" : "Prišlo je do napake med brisanjem opombe",
"An error occurred while trying to create the comment" : "Prišlo je do napake med ustvarjanjem opombe",
"You were mentioned on \"{file}\", in a comment by a user that has since been deleted" : "Uporabnik, ki je sicer že izbrisan, vas omeni v opombi k datoteki »{file}«.",
"_%n unread comment_::_%n unread comments_" : ["%n neprebrana opomba","%n neprebrani opombi","%n neprebrane opombe","%n neprebranih opomb"],
"\"@\" for mentions, \":\" for emoji, \"/\" for smart picker" : "» @ « za omenjanje, » : « za izrazne ikone, » / « za pametni izbirnik"
"\"@\" for mentions, \":\" for emoji, \"/\" for smart picker" : "» @ « za omenjanje, » : « za izrazne ikone, » / « za pametni izbirnik",
"_%n unread comment_::_%n unread comments_" : ["%n neprebrana opomba","%n neprebrani opombi","%n neprebrane opombe","%n neprebranih opomb"]
},"pluralForm" :"nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);"
}

@ -32,8 +32,8 @@ OC.L10N.register(
"An error occurred while trying to delete the comment" : "Грешка приликом покушаја брисања коментара",
"An error occurred while trying to create the comment" : "Грешка приликом покушаја креирања коментара",
"You were mentioned on \"{file}\", in a comment by a user that has since been deleted" : "Поменути сте за „{file}”, у коментару корисника које је од тада обрисан",
"_%n unread comment_::_%n unread comments_" : ["%nнепрочитани коментар","%nнепрочитана коментара ","%n непрочитаних коментара"],
"Write a message …" : "Напиши поруку…",
"\"@\" for mentions, \":\" for emoji, \"/\" for smart picker" : "„@” за помињања, „:” за емођи, „/” за паметни бирач"
"\"@\" for mentions, \":\" for emoji, \"/\" for smart picker" : "„@” за помињања, „:” за емођи, „/” за паметни бирач",
"_%n unread comment_::_%n unread comments_" : ["%nнепрочитани коментар","%nнепрочитана коментара ","%n непрочитаних коментара"]
},
"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);");

@ -30,8 +30,8 @@
"An error occurred while trying to delete the comment" : "Грешка приликом покушаја брисања коментара",
"An error occurred while trying to create the comment" : "Грешка приликом покушаја креирања коментара",
"You were mentioned on \"{file}\", in a comment by a user that has since been deleted" : "Поменути сте за „{file}”, у коментару корисника које је од тада обрисан",
"_%n unread comment_::_%n unread comments_" : ["%nнепрочитани коментар","%nнепрочитана коментара ","%n непрочитаних коментара"],
"Write a message …" : "Напиши поруку…",
"\"@\" for mentions, \":\" for emoji, \"/\" for smart picker" : "„@” за помињања, „:” за емођи, „/” за паметни бирач"
"\"@\" for mentions, \":\" for emoji, \"/\" for smart picker" : "„@” за помињања, „:” за емођи, „/” за паметни бирач",
"_%n unread comment_::_%n unread comments_" : ["%nнепрочитани коментар","%nнепрочитана коментара ","%n непрочитаних коментара"]
},"pluralForm" :"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);"
}

@ -32,8 +32,8 @@ OC.L10N.register(
"An error occurred while trying to delete the comment" : "Ett fel uppstod när du försökte ta bort kommentaren",
"An error occurred while trying to create the comment" : "Ett fel uppstod när du försökte skapa kommentaren",
"You were mentioned on \"{file}\", in a comment by a user that has since been deleted" : "Du har nämnts i \"{file}\", i en kommentar av en användare som sedan har blivit borttagen",
"_%n unread comment_::_%n unread comments_" : ["%n oläst kommentar","%n olästa kommentarer"],
"Write a message …" : "Skriv ett meddelande …",
"\"@\" for mentions, \":\" for emoji, \"/\" for smart picker" : "\"@\" för omnämnanden, \":\" för emoji, \"/\" för smart picker"
"\"@\" for mentions, \":\" for emoji, \"/\" for smart picker" : "\"@\" för omnämnanden, \":\" för emoji, \"/\" för smart picker",
"_%n unread comment_::_%n unread comments_" : ["%n oläst kommentar","%n olästa kommentarer"]
},
"nplurals=2; plural=(n != 1);");

@ -30,8 +30,8 @@
"An error occurred while trying to delete the comment" : "Ett fel uppstod när du försökte ta bort kommentaren",
"An error occurred while trying to create the comment" : "Ett fel uppstod när du försökte skapa kommentaren",
"You were mentioned on \"{file}\", in a comment by a user that has since been deleted" : "Du har nämnts i \"{file}\", i en kommentar av en användare som sedan har blivit borttagen",
"_%n unread comment_::_%n unread comments_" : ["%n oläst kommentar","%n olästa kommentarer"],
"Write a message …" : "Skriv ett meddelande …",
"\"@\" for mentions, \":\" for emoji, \"/\" for smart picker" : "\"@\" för omnämnanden, \":\" för emoji, \"/\" för smart picker"
"\"@\" for mentions, \":\" for emoji, \"/\" for smart picker" : "\"@\" för omnämnanden, \":\" för emoji, \"/\" för smart picker",
"_%n unread comment_::_%n unread comments_" : ["%n oläst kommentar","%n olästa kommentarer"]
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}

@ -32,8 +32,8 @@ OC.L10N.register(
"An error occurred while trying to delete the comment" : "Yorum silinmeye çalışılırken bir sorun çıktı",
"An error occurred while trying to create the comment" : "Yorum eklenmeye çalışılırken bir sorun çıktı",
"You were mentioned on \"{file}\", in a comment by a user that has since been deleted" : "\"{file}\" hakkında bir yorumda silinmiş bir kullanıcı tarafından anıldınız",
"_%n unread comment_::_%n unread comments_" : ["%n okunmamış yorum","%n okunmamış yorum"],
"Write a message …" : "Bir ileti yazın…",
"\"@\" for mentions, \":\" for emoji, \"/\" for smart picker" : "Anmalar için \"@\" , emojiler için \":\" akıllı seçici için \"/\""
"\"@\" for mentions, \":\" for emoji, \"/\" for smart picker" : "Anmalar için \"@\" , emojiler için \":\" akıllı seçici için \"/\"",
"_%n unread comment_::_%n unread comments_" : ["%n okunmamış yorum","%n okunmamış yorum"]
},
"nplurals=2; plural=(n > 1);");

@ -30,8 +30,8 @@
"An error occurred while trying to delete the comment" : "Yorum silinmeye çalışılırken bir sorun çıktı",
"An error occurred while trying to create the comment" : "Yorum eklenmeye çalışılırken bir sorun çıktı",
"You were mentioned on \"{file}\", in a comment by a user that has since been deleted" : "\"{file}\" hakkında bir yorumda silinmiş bir kullanıcı tarafından anıldınız",
"_%n unread comment_::_%n unread comments_" : ["%n okunmamış yorum","%n okunmamış yorum"],
"Write a message …" : "Bir ileti yazın…",
"\"@\" for mentions, \":\" for emoji, \"/\" for smart picker" : "Anmalar için \"@\" , emojiler için \":\" akıllı seçici için \"/\""
"\"@\" for mentions, \":\" for emoji, \"/\" for smart picker" : "Anmalar için \"@\" , emojiler için \":\" akıllı seçici için \"/\"",
"_%n unread comment_::_%n unread comments_" : ["%n okunmamış yorum","%n okunmamış yorum"]
},"pluralForm" :"nplurals=2; plural=(n > 1);"
}

@ -31,9 +31,9 @@ OC.L10N.register(
"Comment deleted" : "Коментар вилучено",
"An error occurred while trying to delete the comment" : "Під час спроби вилучити коментар сталася помилка",
"An error occurred while trying to create the comment" : "Під час створення коментаря сталася помилка",
"You were mentioned on \"{file}\", in a comment by a user that has since been deleted" : "Вас згадали в \"{file}\" у коментарі користувача, який згодом було видалено",
"_%n unread comment_::_%n unread comments_" : ["%n непрочитаний коментар","%n непрочитаних коментарів","%n непрочитаних коментарів","%n непрочитаних коментарів"],
"You were mentioned on \"{file}\", in a comment by a user that has since been deleted" : "Вас згадали в \"{file}\" у коментарі користувача, який згодом було вилучено",
"Write a message …" : "Написати повідомлення ...",
"\"@\" for mentions, \":\" for emoji, \"/\" for smart picker" : "\"@\" для згадок, \":\" для емоційок, \"/\" для асистента"
"\"@\" for mentions, \":\" for emoji, \"/\" for smart picker" : "\"@\" для згадок, \":\" для емоційок, \"/\" для асистента",
"_%n unread comment_::_%n unread comments_" : ["%n непрочитаний коментар","%n непрочитаних коментарів","%n непрочитаних коментарів","%n непрочитаних коментарів"]
},
"nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != 11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || (n % 100 >=11 && n % 100 <=14 )) ? 2: 3);");

@ -29,9 +29,9 @@
"Comment deleted" : "Коментар вилучено",
"An error occurred while trying to delete the comment" : "Під час спроби вилучити коментар сталася помилка",
"An error occurred while trying to create the comment" : "Під час створення коментаря сталася помилка",
"You were mentioned on \"{file}\", in a comment by a user that has since been deleted" : "Вас згадали в \"{file}\" у коментарі користувача, який згодом було видалено",
"_%n unread comment_::_%n unread comments_" : ["%n непрочитаний коментар","%n непрочитаних коментарів","%n непрочитаних коментарів","%n непрочитаних коментарів"],
"You were mentioned on \"{file}\", in a comment by a user that has since been deleted" : "Вас згадали в \"{file}\" у коментарі користувача, який згодом було вилучено",
"Write a message …" : "Написати повідомлення ...",
"\"@\" for mentions, \":\" for emoji, \"/\" for smart picker" : "\"@\" для згадок, \":\" для емоційок, \"/\" для асистента"
"\"@\" for mentions, \":\" for emoji, \"/\" for smart picker" : "\"@\" для згадок, \":\" для емоційок, \"/\" для асистента",
"_%n unread comment_::_%n unread comments_" : ["%n непрочитаний коментар","%n непрочитаних коментарів","%n непрочитаних коментарів","%n непрочитаних коментарів"]
},"pluralForm" :"nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != 11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || (n % 100 >=11 && n % 100 <=14 )) ? 2: 3);"
}

@ -9,12 +9,14 @@ OC.L10N.register(
"%1$s commented on %2$s" : "%1$s 评论了 %2$s",
"{author} commented on {file}" : "{author} 对 {file} 的评论",
"<strong>Comments</strong> for files" : "文件的<strong>评论</strong>",
"You were mentioned on \"{file}\", in a comment by an account that has since been deleted" : "你在文件 “{file}” 内被一个已删除的账号评论提及",
"{user} mentioned you in a comment on \"{file}\"" : "{user} 在 “{file}” 的评论中提到了你",
"Files app plugin to add comments to files" : "文件应用插件可向文件添加评论",
"Edit comment" : "编辑评论",
"Delete comment" : "删除评论",
"Cancel edit" : "取消编辑",
"New comment" : "新评论",
"Write a comment …" : "发表评论 ...",
"Post comment" : "发表评论",
"@ for mentions, : for emoji, / for smart picker" : "使用“@”提及,“:”输入表情符号,“/”唤起智能选择",
"Could not reload comments" : "无法重载评论",
@ -30,7 +32,8 @@ OC.L10N.register(
"An error occurred while trying to delete the comment" : "删除评论时出错",
"An error occurred while trying to create the comment" : "创建评论时出错",
"You were mentioned on \"{file}\", in a comment by a user that has since been deleted" : "用户在“ {file}”中的评论中提到了你,此评论已被删除",
"_%n unread comment_::_%n unread comments_" : ["%n 条未读评论"],
"\"@\" for mentions, \":\" for emoji, \"/\" for smart picker" : "「@」表示提及、「:」表示表情符号、「/」表示智能拾取"
"Write a message …" : "发表信息 ...",
"\"@\" for mentions, \":\" for emoji, \"/\" for smart picker" : "「@」表示提及、「:」表示表情符号、「/」表示智能拾取",
"_%n unread comment_::_%n unread comments_" : ["%n 条未读评论"]
},
"nplurals=1; plural=0;");

@ -7,12 +7,14 @@
"%1$s commented on %2$s" : "%1$s 评论了 %2$s",
"{author} commented on {file}" : "{author} 对 {file} 的评论",
"<strong>Comments</strong> for files" : "文件的<strong>评论</strong>",
"You were mentioned on \"{file}\", in a comment by an account that has since been deleted" : "你在文件 “{file}” 内被一个已删除的账号评论提及",
"{user} mentioned you in a comment on \"{file}\"" : "{user} 在 “{file}” 的评论中提到了你",
"Files app plugin to add comments to files" : "文件应用插件可向文件添加评论",
"Edit comment" : "编辑评论",
"Delete comment" : "删除评论",
"Cancel edit" : "取消编辑",
"New comment" : "新评论",
"Write a comment …" : "发表评论 ...",
"Post comment" : "发表评论",
"@ for mentions, : for emoji, / for smart picker" : "使用“@”提及,“:”输入表情符号,“/”唤起智能选择",
"Could not reload comments" : "无法重载评论",
@ -28,7 +30,8 @@
"An error occurred while trying to delete the comment" : "删除评论时出错",
"An error occurred while trying to create the comment" : "创建评论时出错",
"You were mentioned on \"{file}\", in a comment by a user that has since been deleted" : "用户在“ {file}”中的评论中提到了你,此评论已被删除",
"_%n unread comment_::_%n unread comments_" : ["%n 条未读评论"],
"\"@\" for mentions, \":\" for emoji, \"/\" for smart picker" : "「@」表示提及、「:」表示表情符号、「/」表示智能拾取"
"Write a message …" : "发表信息 ...",
"\"@\" for mentions, \":\" for emoji, \"/\" for smart picker" : "「@」表示提及、「:」表示表情符号、「/」表示智能拾取",
"_%n unread comment_::_%n unread comments_" : ["%n 条未读评论"]
},"pluralForm" :"nplurals=1; plural=0;"
}

@ -32,8 +32,8 @@ OC.L10N.register(
"An error occurred while trying to delete the comment" : "嘗試刪除此留言時錯誤",
"An error occurred while trying to create the comment" : "嘗試建立此留言時錯誤",
"You were mentioned on \"{file}\", in a comment by a user that has since been deleted" : "一個已被刪除的用戶在 “{file}” 的留言中提到你",
"_%n unread comment_::_%n unread comments_" : ["%n 個未讀留言"],
"Write a message …" : "書寫訊息 ...",
"\"@\" for mentions, \":\" for emoji, \"/\" for smart picker" : "“@” 表示提及,“:” 表示表情符號,“/” 表示智慧型選擇器"
"\"@\" for mentions, \":\" for emoji, \"/\" for smart picker" : "“@” 表示提及,“:” 表示表情符號,“/” 表示智慧型選擇器",
"_%n unread comment_::_%n unread comments_" : ["%n 個未讀留言"]
},
"nplurals=1; plural=0;");

@ -30,8 +30,8 @@
"An error occurred while trying to delete the comment" : "嘗試刪除此留言時錯誤",
"An error occurred while trying to create the comment" : "嘗試建立此留言時錯誤",
"You were mentioned on \"{file}\", in a comment by a user that has since been deleted" : "一個已被刪除的用戶在 “{file}” 的留言中提到你",
"_%n unread comment_::_%n unread comments_" : ["%n 個未讀留言"],
"Write a message …" : "書寫訊息 ...",
"\"@\" for mentions, \":\" for emoji, \"/\" for smart picker" : "“@” 表示提及,“:” 表示表情符號,“/” 表示智慧型選擇器"
"\"@\" for mentions, \":\" for emoji, \"/\" for smart picker" : "“@” 表示提及,“:” 表示表情符號,“/” 表示智慧型選擇器",
"_%n unread comment_::_%n unread comments_" : ["%n 個未讀留言"]
},"pluralForm" :"nplurals=1; plural=0;"
}

@ -32,8 +32,8 @@ OC.L10N.register(
"An error occurred while trying to delete the comment" : "嘗試刪除留言時發生錯誤",
"An error occurred while trying to create the comment" : "嘗試建立留言時發生錯誤",
"You were mentioned on \"{file}\", in a comment by a user that has since been deleted" : "一個已被刪除的使用者在「{file}」的留言中提到您",
"_%n unread comment_::_%n unread comments_" : ["%n 則未讀留言"],
"Write a message …" : "撰寫訊息……",
"\"@\" for mentions, \":\" for emoji, \"/\" for smart picker" : "「@」表示提及、「:」表示表情符號、「/」表示智慧型選取程式"
"\"@\" for mentions, \":\" for emoji, \"/\" for smart picker" : "「@」表示提及、「:」表示表情符號、「/」表示智慧型選取程式",
"_%n unread comment_::_%n unread comments_" : ["%n 則未讀留言"]
},
"nplurals=1; plural=0;");

@ -30,8 +30,8 @@
"An error occurred while trying to delete the comment" : "嘗試刪除留言時發生錯誤",
"An error occurred while trying to create the comment" : "嘗試建立留言時發生錯誤",
"You were mentioned on \"{file}\", in a comment by a user that has since been deleted" : "一個已被刪除的使用者在「{file}」的留言中提到您",
"_%n unread comment_::_%n unread comments_" : ["%n 則未讀留言"],
"Write a message …" : "撰寫訊息……",
"\"@\" for mentions, \":\" for emoji, \"/\" for smart picker" : "「@」表示提及、「:」表示表情符號、「/」表示智慧型選取程式"
"\"@\" for mentions, \":\" for emoji, \"/\" for smart picker" : "「@」表示提及、「:」表示表情符號、「/」表示智慧型選取程式",
"_%n unread comment_::_%n unread comments_" : ["%n 則未讀留言"]
},"pluralForm" :"nplurals=1; plural=0;"
}

@ -54,7 +54,7 @@ class Provider implements IProvider {
* @throws \InvalidArgumentException
* @since 11.0.0
*/
public function parse($language, IEvent $event, IEvent $previousEvent = null): IEvent {
public function parse($language, IEvent $event, ?IEvent $previousEvent = null): IEvent {
if ($event->getApp() !== 'comments') {
throw new \InvalidArgumentException();
}

@ -3,6 +3,8 @@ OC.L10N.register(
{
"Recently contacted" : "Nylig kontaktet",
"Contacts Interaction" : "Kontakter Interaktion",
"Manages interaction between accounts and contacts" : "Styrer interaktion mellem konti og kontakter",
"Collect data about accounts and contacts interactions and provide an address book for the data" : "Indsaml data om konti og kontakt interaktioner og angiv en adressebog til dataene",
"Manages interaction between users and contacts" : "Håndterer interaktion mellem brugere og kontakter",
"Collect data about user and contacts interactions and provide an address book for the data" : "Indsaml data om bruger- og kontaktinteraktioner og angiv en adressebog til dataene"
},

@ -1,6 +1,8 @@
{ "translations": {
"Recently contacted" : "Nylig kontaktet",
"Contacts Interaction" : "Kontakter Interaktion",
"Manages interaction between accounts and contacts" : "Styrer interaktion mellem konti og kontakter",
"Collect data about accounts and contacts interactions and provide an address book for the data" : "Indsaml data om konti og kontakt interaktioner og angiv en adressebog til dataene",
"Manages interaction between users and contacts" : "Håndterer interaktion mellem brugere og kontakter",
"Collect data about user and contacts interactions and provide an address book for the data" : "Indsaml data om bruger- og kontaktinteraktioner og angiv en adressebog til dataene"
},"pluralForm" :"nplurals=2; plural=(n != 1);"

@ -3,6 +3,8 @@ OC.L10N.register(
{
"Recently contacted" : "Contactados recientemente",
"Contacts Interaction" : "Interacción de contactos",
"Manages interaction between accounts and contacts" : "Administra la interacción entre cuentas y contactos",
"Collect data about accounts and contacts interactions and provide an address book for the data" : "Recopila datos de las interacciones entre cuentas y contactos, y provee una libreta de direcciones para estos datos",
"Manages interaction between users and contacts" : "Controla la interacción entre usuarios y contactos",
"Collect data about user and contacts interactions and provide an address book for the data" : "Recoge datos de las interacciones entre usuarios y contactos, y provee una libreta de direcciones para esos datos"
},

@ -1,6 +1,8 @@
{ "translations": {
"Recently contacted" : "Contactados recientemente",
"Contacts Interaction" : "Interacción de contactos",
"Manages interaction between accounts and contacts" : "Administra la interacción entre cuentas y contactos",
"Collect data about accounts and contacts interactions and provide an address book for the data" : "Recopila datos de las interacciones entre cuentas y contactos, y provee una libreta de direcciones para estos datos",
"Manages interaction between users and contacts" : "Controla la interacción entre usuarios y contactos",
"Collect data about user and contacts interactions and provide an address book for the data" : "Recoge datos de las interacciones entre usuarios y contactos, y provee una libreta de direcciones para esos datos"
},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"

@ -2,10 +2,10 @@ OC.L10N.register(
"contactsinteraction",
{
"Recently contacted" : "Contacté récemment",
"Contacts Interaction" : "Interaction des contacts",
"Contacts Interaction" : "Interaction avec les contacts",
"Manages interaction between accounts and contacts" : "Gère l'interaction entre les comptes et les contacts",
"Collect data about accounts and contacts interactions and provide an address book for the data" : "Recueillir des données sur les interactions des comptes et des contacts et fournir un carnet d'adresses pour les données",
"Collect data about accounts and contacts interactions and provide an address book for the data" : "Collectez des données sur les interactions entre les comptes et les contacts et fournissez un répertoire pour ces données",
"Manages interaction between users and contacts" : "Gère l'interaction entre les utilisateurs et les contacts",
"Collect data about user and contacts interactions and provide an address book for the data" : "Recueillir des données sur les interactions des utilisateurs et des contacts et fournir un carnet d'adresses pour les données"
"Collect data about user and contacts interactions and provide an address book for the data" : "Collecte des données sur les interactions entre les utilisateurs et les contacts et fournit un carnet dadresses pour ces données"
},
"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");

@ -1,9 +1,9 @@
{ "translations": {
"Recently contacted" : "Contacté récemment",
"Contacts Interaction" : "Interaction des contacts",
"Contacts Interaction" : "Interaction avec les contacts",
"Manages interaction between accounts and contacts" : "Gère l'interaction entre les comptes et les contacts",
"Collect data about accounts and contacts interactions and provide an address book for the data" : "Recueillir des données sur les interactions des comptes et des contacts et fournir un carnet d'adresses pour les données",
"Collect data about accounts and contacts interactions and provide an address book for the data" : "Collectez des données sur les interactions entre les comptes et les contacts et fournissez un répertoire pour ces données",
"Manages interaction between users and contacts" : "Gère l'interaction entre les utilisateurs et les contacts",
"Collect data about user and contacts interactions and provide an address book for the data" : "Recueillir des données sur les interactions des utilisateurs et des contacts et fournir un carnet d'adresses pour les données"
"Collect data about user and contacts interactions and provide an address book for the data" : "Collecte des données sur les interactions entre les utilisateurs et les contacts et fournit un carnet dadresses pour ces données"
},"pluralForm" :"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
}

@ -3,6 +3,8 @@ OC.L10N.register(
{
"Recently contacted" : "Нещодавно спілкувалися",
"Contacts Interaction" : "Взаємодія з контактами",
"Manages interaction between accounts and contacts" : "Керує взаємодією між обліковими записами та контактами",
"Collect data about accounts and contacts interactions and provide an address book for the data" : "Збирати дані про облікові записи та взаємодію з контактами, надавати дані адресної книги",
"Manages interaction between users and contacts" : "Керує взаємодією між користувачами та контактами",
"Collect data about user and contacts interactions and provide an address book for the data" : "Збирайте дані про взаємодію користувачів і контактів та створюйте адресну книгу на основі цих даних"
},

@ -1,6 +1,8 @@
{ "translations": {
"Recently contacted" : "Нещодавно спілкувалися",
"Contacts Interaction" : "Взаємодія з контактами",
"Manages interaction between accounts and contacts" : "Керує взаємодією між обліковими записами та контактами",
"Collect data about accounts and contacts interactions and provide an address book for the data" : "Збирати дані про облікові записи та взаємодію з контактами, надавати дані адресної книги",
"Manages interaction between users and contacts" : "Керує взаємодією між користувачами та контактами",
"Collect data about user and contacts interactions and provide an address book for the data" : "Збирайте дані про взаємодію користувачів і контактів та створюйте адресну книгу на основі цих даних"
},"pluralForm" :"nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != 11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || (n % 100 >=11 && n % 100 <=14 )) ? 2: 3);"

@ -3,6 +3,8 @@ OC.L10N.register(
{
"Recently contacted" : "最近联系过的",
"Contacts Interaction" : "联系人互动",
"Manages interaction between accounts and contacts" : "管理用户和联系人之间的互动",
"Collect data about accounts and contacts interactions and provide an address book for the data" : "收集关于用户和联系人互动的数据,并提供该数据的地址簿",
"Manages interaction between users and contacts" : "管理用户和联系人之间的互动",
"Collect data about user and contacts interactions and provide an address book for the data" : "收集关于用户和联系人互动的数据,并提供该数据的地址簿"
},

@ -1,6 +1,8 @@
{ "translations": {
"Recently contacted" : "最近联系过的",
"Contacts Interaction" : "联系人互动",
"Manages interaction between accounts and contacts" : "管理用户和联系人之间的互动",
"Collect data about accounts and contacts interactions and provide an address book for the data" : "收集关于用户和联系人互动的数据,并提供该数据的地址簿",
"Manages interaction between users and contacts" : "管理用户和联系人之间的互动",
"Collect data about user and contacts interactions and provide an address book for the data" : "收集关于用户和联系人互动的数据,并提供该数据的地址簿"
},"pluralForm" :"nplurals=1; plural=0;"

@ -107,7 +107,7 @@ class RecentContactMapperTest extends TestCase {
$this->assertCount(0, $this->recentContactMapper->findAll('admin'));
}
protected function createRecentContact(string $email = null, string $federatedCloudId = null): RecentContact {
protected function createRecentContact(?string $email = null, ?string $federatedCloudId = null): RecentContact {
$props = [
'URI' => UUIDUtil::getUUID(),
'FN' => 'Foo Bar',

@ -23,7 +23,6 @@ OC.L10N.register(
"Good evening, {name}" : "مساء الخير، {name}",
"Hello" : "مرحبا",
"Hello, {name}" : "مرحبا، {name} ",
"Start your day informed\n\nThe Nextcloud Dashboard is your starting point of the day, giving you an\noverview of your upcoming appointments, urgent emails, chat messages,\nincoming tickets, latest tweets and much more! Users can add the widgets\nthey like and change the background to their liking." : "إبدأ يومك بالاطلاع على ما يهمّك\n\nلوحة قيادة نكست كلاود هي نقطة البداية ليومك؛\nتعطيك لمحة عن مواعيدك القادمة و الرسائل المستعجلة و المحادثات الواردة و تذاكر طلب المساعدة المعلقة و آخر التغريدات و الكثير غيرها!\nيمكنك أن تضيف أدوات أخرى ترغبها\nكما يمكنك تغيير مظهر و خلفية اللوحة كما تريد. ",
"Start your day informed\n\nThe Nextcloud Dashboard is your starting point of the day, giving you an overview of your upcoming appointments, urgent emails, chat messages, incoming tickets, latest tweets and much more! Users can add the widgets they like and change the background to their liking." : "إبدأ يومك بالاطلاع على ما يهمّك\n\nلوحة قيادة نكست كلاود هي نقطة البداية ليومك؛\nتعطيك لمحة عن مواعيدك القادمة و الرسائل المستعجلة و المحادثات الواردة و تذاكر طلب المساعدة المعلقة و آخر التغريدات و الكثير غيرها!\nيمكنك أن تضيف أدوات أخرى ترغبها\nكما يمكنك تغيير مظهر و خلفية اللوحة كما تريد. "
},
"nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;");

@ -21,7 +21,6 @@
"Good evening, {name}" : "مساء الخير، {name}",
"Hello" : "مرحبا",
"Hello, {name}" : "مرحبا، {name} ",
"Start your day informed\n\nThe Nextcloud Dashboard is your starting point of the day, giving you an\noverview of your upcoming appointments, urgent emails, chat messages,\nincoming tickets, latest tweets and much more! Users can add the widgets\nthey like and change the background to their liking." : "إبدأ يومك بالاطلاع على ما يهمّك\n\nلوحة قيادة نكست كلاود هي نقطة البداية ليومك؛\nتعطيك لمحة عن مواعيدك القادمة و الرسائل المستعجلة و المحادثات الواردة و تذاكر طلب المساعدة المعلقة و آخر التغريدات و الكثير غيرها!\nيمكنك أن تضيف أدوات أخرى ترغبها\nكما يمكنك تغيير مظهر و خلفية اللوحة كما تريد. ",
"Start your day informed\n\nThe Nextcloud Dashboard is your starting point of the day, giving you an overview of your upcoming appointments, urgent emails, chat messages, incoming tickets, latest tweets and much more! Users can add the widgets they like and change the background to their liking." : "إبدأ يومك بالاطلاع على ما يهمّك\n\nلوحة قيادة نكست كلاود هي نقطة البداية ليومك؛\nتعطيك لمحة عن مواعيدك القادمة و الرسائل المستعجلة و المحادثات الواردة و تذاكر طلب المساعدة المعلقة و آخر التغريدات و الكثير غيرها!\nيمكنك أن تضيف أدوات أخرى ترغبها\nكما يمكنك تغيير مظهر و خلفية اللوحة كما تريد. "
},"pluralForm" :"nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;"
}

@ -3,6 +3,7 @@ OC.L10N.register(
{
"Dashboard" : "Panel",
"Dashboard app" : "L'aplicación Panel",
"Start your day informed\n\nThe Nextcloud Dashboard is your starting point of the day, giving you an overview of your upcoming appointments, urgent emails, chat messages, incoming tickets, latest tweets and much more! People can add the widgets they like and change the background to their liking." : "Comienza'l día con tola información anovada\n\nEl Panel de Nextcloud ye'l llugar principal que t'ufre una vista xeneral d'eventos próximos, mensaxes urxentes y muncha información más. Los usuarios puen amestar los widgets que-yos presten y camudar el fondu al so gustu.",
"\"{title} icon\"" : "«Iconu de: {title}»",
"Customize" : "Personalizar",
"Edit widgets" : "Editar los widgets",
@ -22,7 +23,6 @@ OC.L10N.register(
"Good evening, {name}" : "Bones nueches, {name}",
"Hello" : "Hola",
"Hello, {name}" : "Hola, {name}",
"Start your day informed\n\nThe Nextcloud Dashboard is your starting point of the day, giving you an\noverview of your upcoming appointments, urgent emails, chat messages,\nincoming tickets, latest tweets and much more! Users can add the widgets\nthey like and change the background to their liking." : "Comienza'l día con tola información anovada\n\nEl Panel de Nextcloud ye'l llugar principal que t'ufre una vista xeneral\nd'eventos próximos, mensaxes urxentes y muncha información más.\nLos usuarios puen amestar los widgets que-yos presten y camudar\nel fondu al so gustu.",
"Start your day informed\n\nThe Nextcloud Dashboard is your starting point of the day, giving you an overview of your upcoming appointments, urgent emails, chat messages, incoming tickets, latest tweets and much more! Users can add the widgets they like and change the background to their liking." : "Comienza'l día con tola información anovada\n\nEl Panel de Nextcloud ye'l llugar principal que t'ufre una vista xeneral d'eventos próximos, mensaxes urxentes y muncha información más. Los usuarios puen amestar los widgets que-yos presten y camudar el fondu al so gustu."
},
"nplurals=2; plural=(n != 1);");

@ -1,6 +1,7 @@
{ "translations": {
"Dashboard" : "Panel",
"Dashboard app" : "L'aplicación Panel",
"Start your day informed\n\nThe Nextcloud Dashboard is your starting point of the day, giving you an overview of your upcoming appointments, urgent emails, chat messages, incoming tickets, latest tweets and much more! People can add the widgets they like and change the background to their liking." : "Comienza'l día con tola información anovada\n\nEl Panel de Nextcloud ye'l llugar principal que t'ufre una vista xeneral d'eventos próximos, mensaxes urxentes y muncha información más. Los usuarios puen amestar los widgets que-yos presten y camudar el fondu al so gustu.",
"\"{title} icon\"" : "«Iconu de: {title}»",
"Customize" : "Personalizar",
"Edit widgets" : "Editar los widgets",
@ -20,7 +21,6 @@
"Good evening, {name}" : "Bones nueches, {name}",
"Hello" : "Hola",
"Hello, {name}" : "Hola, {name}",
"Start your day informed\n\nThe Nextcloud Dashboard is your starting point of the day, giving you an\noverview of your upcoming appointments, urgent emails, chat messages,\nincoming tickets, latest tweets and much more! Users can add the widgets\nthey like and change the background to their liking." : "Comienza'l día con tola información anovada\n\nEl Panel de Nextcloud ye'l llugar principal que t'ufre una vista xeneral\nd'eventos próximos, mensaxes urxentes y muncha información más.\nLos usuarios puen amestar los widgets que-yos presten y camudar\nel fondu al so gustu.",
"Start your day informed\n\nThe Nextcloud Dashboard is your starting point of the day, giving you an overview of your upcoming appointments, urgent emails, chat messages, incoming tickets, latest tweets and much more! Users can add the widgets they like and change the background to their liking." : "Comienza'l día con tola información anovada\n\nEl Panel de Nextcloud ye'l llugar principal que t'ufre una vista xeneral d'eventos próximos, mensaxes urxentes y muncha información más. Los usuarios puen amestar los widgets que-yos presten y camudar el fondu al so gustu."
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}

@ -22,7 +22,6 @@ OC.L10N.register(
"Good evening, {name}" : "Добър вечер, {name}",
"Hello" : "Здравейте",
"Hello, {name}" : "Здравейте, {name}",
"Start your day informed\n\nThe Nextcloud Dashboard is your starting point of the day, giving you an\noverview of your upcoming appointments, urgent emails, chat messages,\nincoming tickets, latest tweets and much more! Users can add the widgets\nthey like and change the background to their liking." : "Започнете деня си информиран\n\nТаблото за управление на Nextcloud е ваша отправна точка за деня, което ви дава\nвъзможност за преглед на предстоящите ви срещи, спешни имейли, съобщения в чат,\nвходящи билети, най-новите туитове и много повече! Потребителите могат да добавят изпълними модули,\nкоито те харесват и да променят фона по свой вкус.",
"Start your day informed\n\nThe Nextcloud Dashboard is your starting point of the day, giving you an overview of your upcoming appointments, urgent emails, chat messages, incoming tickets, latest tweets and much more! Users can add the widgets they like and change the background to their liking." : "Започнете деня си информиран\n\nТаблото за управление на Nextcloud е ваша отправна точка за деня, което ви дава възможност за преглед на предстоящите ви срещи, спешни имейли, съобщения в чат, входящи билети, най-новите туитове и много повече! Потребителите могат да добавят изпълними модули, които те харесват и да променят фона по свой вкус."
},
"nplurals=2; plural=(n != 1);");

@ -20,7 +20,6 @@
"Good evening, {name}" : "Добър вечер, {name}",
"Hello" : "Здравейте",
"Hello, {name}" : "Здравейте, {name}",
"Start your day informed\n\nThe Nextcloud Dashboard is your starting point of the day, giving you an\noverview of your upcoming appointments, urgent emails, chat messages,\nincoming tickets, latest tweets and much more! Users can add the widgets\nthey like and change the background to their liking." : "Започнете деня си информиран\n\nТаблото за управление на Nextcloud е ваша отправна точка за деня, което ви дава\nвъзможност за преглед на предстоящите ви срещи, спешни имейли, съобщения в чат,\nвходящи билети, най-новите туитове и много повече! Потребителите могат да добавят изпълними модули,\nкоито те харесват и да променят фона по свой вкус.",
"Start your day informed\n\nThe Nextcloud Dashboard is your starting point of the day, giving you an overview of your upcoming appointments, urgent emails, chat messages, incoming tickets, latest tweets and much more! Users can add the widgets they like and change the background to their liking." : "Започнете деня си информиран\n\nТаблото за управление на Nextcloud е ваша отправна точка за деня, което ви дава възможност за преглед на предстоящите ви срещи, спешни имейли, съобщения в чат, входящи билети, най-новите туитове и много повече! Потребителите могат да добавят изпълними модули, които те харесват и да променят фона по свой вкус."
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}

@ -22,7 +22,6 @@ OC.L10N.register(
"Good evening, {name}" : "Bona nit, {name}",
"Hello" : "Hola",
"Hello, {name}" : "Hola, {name}",
"Start your day informed\n\nThe Nextcloud Dashboard is your starting point of the day, giving you an\noverview of your upcoming appointments, urgent emails, chat messages,\nincoming tickets, latest tweets and much more! Users can add the widgets\nthey like and change the background to their liking." : "Comenceu el dia amb tota la informació actualitzada\n\nEl tauler del Nextcloud és el punt de partida del dia i us ofereix\nuna visió general de les pròximes cites, correus electrònics urgents, missatges de xat,\ninformes d'errors rebuts, els tuits més recents i molt més! Els usuaris poden afegir\nels ginys que els agradin i canviar el fons al seu gust.",
"Start your day informed\n\nThe Nextcloud Dashboard is your starting point of the day, giving you an overview of your upcoming appointments, urgent emails, chat messages, incoming tickets, latest tweets and much more! Users can add the widgets they like and change the background to their liking." : "Comenceu el dia amb tota la informació actualitzada\n\nEl tauler del Nextcloud és el punt de partida del dia i us ofereix una visió general de les pròximes cites, correus electrònics urgents, missatges de xat, informes d'errors rebuts, els tuits més recents i molt més! Els usuaris poden afegir els ginys que els agradin i canviar el fons al seu gust."
},
"nplurals=2; plural=(n != 1);");

@ -20,7 +20,6 @@
"Good evening, {name}" : "Bona nit, {name}",
"Hello" : "Hola",
"Hello, {name}" : "Hola, {name}",
"Start your day informed\n\nThe Nextcloud Dashboard is your starting point of the day, giving you an\noverview of your upcoming appointments, urgent emails, chat messages,\nincoming tickets, latest tweets and much more! Users can add the widgets\nthey like and change the background to their liking." : "Comenceu el dia amb tota la informació actualitzada\n\nEl tauler del Nextcloud és el punt de partida del dia i us ofereix\nuna visió general de les pròximes cites, correus electrònics urgents, missatges de xat,\ninformes d'errors rebuts, els tuits més recents i molt més! Els usuaris poden afegir\nels ginys que els agradin i canviar el fons al seu gust.",
"Start your day informed\n\nThe Nextcloud Dashboard is your starting point of the day, giving you an overview of your upcoming appointments, urgent emails, chat messages, incoming tickets, latest tweets and much more! Users can add the widgets they like and change the background to their liking." : "Comenceu el dia amb tota la informació actualitzada\n\nEl tauler del Nextcloud és el punt de partida del dia i us ofereix una visió general de les pròximes cites, correus electrònics urgents, missatges de xat, informes d'errors rebuts, els tuits més recents i molt més! Els usuaris poden afegir els ginys que els agradin i canviar el fons al seu gust."
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}

@ -22,7 +22,6 @@ OC.L10N.register(
"Good evening, {name}" : "Dobrý večer, {name}",
"Hello" : "Dobrý den",
"Hello, {name}" : "Dobrý den, {name}",
"Start your day informed\n\nThe Nextcloud Dashboard is your starting point of the day, giving you an\noverview of your upcoming appointments, urgent emails, chat messages,\nincoming tickets, latest tweets and much more! Users can add the widgets\nthey like and change the background to their liking." : "Začněte svůj den informovaní\n\nNextcloud Nástěnka je váš úvodní bod dne, který vám podává přehled\nnadcházejících schůzek, neodkladných e-mailů, zpráv v chatech, příchozích\npožadavků, nejnovějších tweetů a mnoha dalšího! Uživatelé si\nmohou přidávat ovládací prvky, které chtějí a měnit pozadí dle své libosti.",
"Start your day informed\n\nThe Nextcloud Dashboard is your starting point of the day, giving you an overview of your upcoming appointments, urgent emails, chat messages, incoming tickets, latest tweets and much more! Users can add the widgets they like and change the background to their liking." : "Začněte svůj den informovaní\n\nNextcloud Nástěnka je váš úvodní bod dne, který vám podává přehled\nnadcházejících schůzek, neodkladných e-mailů, zpráv v chatech, příchozích\npožadavků, nejnovějších tweetů a mnoha dalšího! Uživatelé si\nmohou přidávat ovládací prvky, které chtějí a měnit pozadí dle své libosti."
},
"nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;");

@ -20,7 +20,6 @@
"Good evening, {name}" : "Dobrý večer, {name}",
"Hello" : "Dobrý den",
"Hello, {name}" : "Dobrý den, {name}",
"Start your day informed\n\nThe Nextcloud Dashboard is your starting point of the day, giving you an\noverview of your upcoming appointments, urgent emails, chat messages,\nincoming tickets, latest tweets and much more! Users can add the widgets\nthey like and change the background to their liking." : "Začněte svůj den informovaní\n\nNextcloud Nástěnka je váš úvodní bod dne, který vám podává přehled\nnadcházejících schůzek, neodkladných e-mailů, zpráv v chatech, příchozích\npožadavků, nejnovějších tweetů a mnoha dalšího! Uživatelé si\nmohou přidávat ovládací prvky, které chtějí a měnit pozadí dle své libosti.",
"Start your day informed\n\nThe Nextcloud Dashboard is your starting point of the day, giving you an overview of your upcoming appointments, urgent emails, chat messages, incoming tickets, latest tweets and much more! Users can add the widgets they like and change the background to their liking." : "Začněte svůj den informovaní\n\nNextcloud Nástěnka je váš úvodní bod dne, který vám podává přehled\nnadcházejících schůzek, neodkladných e-mailů, zpráv v chatech, příchozích\npožadavků, nejnovějších tweetů a mnoha dalšího! Uživatelé si\nmohou přidávat ovládací prvky, které chtějí a měnit pozadí dle své libosti."
},"pluralForm" :"nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;"
}

@ -3,6 +3,7 @@ OC.L10N.register(
{
"Dashboard" : "Dashboard",
"Dashboard app" : "Dashboard app",
"Start your day informed\n\nThe Nextcloud Dashboard is your starting point of the day, giving you an overview of your upcoming appointments, urgent emails, chat messages, incoming tickets, latest tweets and much more! People can add the widgets they like and change the background to their liking." : "Start din dag med gode informationer\n\nNextcloud Dashboard er dit udgangspunkt på dagen og giver dig et overblik over dine kommende aftaler, hastemails, chatbeskeder, indgående billetter, seneste tweets og meget mere! Folk kan tilføje de widgets, de kan lide, og ændre baggrunden efter deres smag.",
"\"{title} icon\"" : "\"{title} ikon\"",
"Customize" : "Tilpas",
"Edit widgets" : "Redigér widgets",
@ -22,7 +23,6 @@ OC.L10N.register(
"Good evening, {name}" : "God aften {name}",
"Hello" : "Hej",
"Hello, {name}" : "Hej {name}",
"Start your day informed\n\nThe Nextcloud Dashboard is your starting point of the day, giving you an\noverview of your upcoming appointments, urgent emails, chat messages,\nincoming tickets, latest tweets and much more! Users can add the widgets\nthey like and change the background to their liking." : "Start din dag informeret\n\nNextcloud Dashboard er dit udgangspunkt på dagen og giver dig en\noversigt over dine kommende aftaler, hastemails, chatbeskeder,\nindgående billetter, seneste tweets og meget mere! Brugere kan tilføje widgets\nde kan lide og ændre baggrunden efter deres smag.",
"Start your day informed\n\nThe Nextcloud Dashboard is your starting point of the day, giving you an overview of your upcoming appointments, urgent emails, chat messages, incoming tickets, latest tweets and much more! Users can add the widgets they like and change the background to their liking." : "Start din dag informeret\n\nNextcloud Dashboard er dit udgangspunkt på dagen og giver dig en oversigt over dine kommende aftaler, hastemails, chatbeskeder, indgående billetter, seneste tweets og meget mere! Brugere kan tilføje widgets de kan lide og ændre baggrunden efter deres smag."
},
"nplurals=2; plural=(n != 1);");

@ -1,6 +1,7 @@
{ "translations": {
"Dashboard" : "Dashboard",
"Dashboard app" : "Dashboard app",
"Start your day informed\n\nThe Nextcloud Dashboard is your starting point of the day, giving you an overview of your upcoming appointments, urgent emails, chat messages, incoming tickets, latest tweets and much more! People can add the widgets they like and change the background to their liking." : "Start din dag med gode informationer\n\nNextcloud Dashboard er dit udgangspunkt på dagen og giver dig et overblik over dine kommende aftaler, hastemails, chatbeskeder, indgående billetter, seneste tweets og meget mere! Folk kan tilføje de widgets, de kan lide, og ændre baggrunden efter deres smag.",
"\"{title} icon\"" : "\"{title} ikon\"",
"Customize" : "Tilpas",
"Edit widgets" : "Redigér widgets",
@ -20,7 +21,6 @@
"Good evening, {name}" : "God aften {name}",
"Hello" : "Hej",
"Hello, {name}" : "Hej {name}",
"Start your day informed\n\nThe Nextcloud Dashboard is your starting point of the day, giving you an\noverview of your upcoming appointments, urgent emails, chat messages,\nincoming tickets, latest tweets and much more! Users can add the widgets\nthey like and change the background to their liking." : "Start din dag informeret\n\nNextcloud Dashboard er dit udgangspunkt på dagen og giver dig en\noversigt over dine kommende aftaler, hastemails, chatbeskeder,\nindgående billetter, seneste tweets og meget mere! Brugere kan tilføje widgets\nde kan lide og ændre baggrunden efter deres smag.",
"Start your day informed\n\nThe Nextcloud Dashboard is your starting point of the day, giving you an overview of your upcoming appointments, urgent emails, chat messages, incoming tickets, latest tweets and much more! Users can add the widgets they like and change the background to their liking." : "Start din dag informeret\n\nNextcloud Dashboard er dit udgangspunkt på dagen og giver dig en oversigt over dine kommende aftaler, hastemails, chatbeskeder, indgående billetter, seneste tweets og meget mere! Brugere kan tilføje widgets de kan lide og ændre baggrunden efter deres smag."
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}

@ -22,7 +22,6 @@ OC.L10N.register(
"Good evening, {name}" : "Guten Abend {name}",
"Hello" : "Hallo",
"Hello, {name}" : "Hallo, {name}",
"Start your day informed\n\nThe Nextcloud Dashboard is your starting point of the day, giving you an\noverview of your upcoming appointments, urgent emails, chat messages,\nincoming tickets, latest tweets and much more! Users can add the widgets\nthey like and change the background to their liking." : "Starte informiert in den Tag\n\nDas Nextcloud-Dashboard ist dein Ausgangspunkt für den Tag und gibt Dir\neinen Überblick über deine anstehenden Termine, dringende E-Mails, Chatnachrichten, eingehende Tickets, neuste Tweets und vieles mehr! Benutzer können die Widgets hinzufügen, die sie mögen und den Hintergrund nach ihren Wünschen angepassen.",
"Start your day informed\n\nThe Nextcloud Dashboard is your starting point of the day, giving you an overview of your upcoming appointments, urgent emails, chat messages, incoming tickets, latest tweets and much more! Users can add the widgets they like and change the background to their liking." : "Starte informiert in den Tag\n\nDas Nextcloud Dashboard ist dein Ausgangspunkt für den Tag und gibt dir einen Überblick über deine anstehenden Termine, dringende E-Mails, Chatnachrichten, eingehende Tickets, neueste Tweets und vieles mehr! Benutzer können die gewünschten Widgets hinzufügen und den Hintergrund nach Belieben ändern."
},
"nplurals=2; plural=(n != 1);");

@ -20,7 +20,6 @@
"Good evening, {name}" : "Guten Abend {name}",
"Hello" : "Hallo",
"Hello, {name}" : "Hallo, {name}",
"Start your day informed\n\nThe Nextcloud Dashboard is your starting point of the day, giving you an\noverview of your upcoming appointments, urgent emails, chat messages,\nincoming tickets, latest tweets and much more! Users can add the widgets\nthey like and change the background to their liking." : "Starte informiert in den Tag\n\nDas Nextcloud-Dashboard ist dein Ausgangspunkt für den Tag und gibt Dir\neinen Überblick über deine anstehenden Termine, dringende E-Mails, Chatnachrichten, eingehende Tickets, neuste Tweets und vieles mehr! Benutzer können die Widgets hinzufügen, die sie mögen und den Hintergrund nach ihren Wünschen angepassen.",
"Start your day informed\n\nThe Nextcloud Dashboard is your starting point of the day, giving you an overview of your upcoming appointments, urgent emails, chat messages, incoming tickets, latest tweets and much more! Users can add the widgets they like and change the background to their liking." : "Starte informiert in den Tag\n\nDas Nextcloud Dashboard ist dein Ausgangspunkt für den Tag und gibt dir einen Überblick über deine anstehenden Termine, dringende E-Mails, Chatnachrichten, eingehende Tickets, neueste Tweets und vieles mehr! Benutzer können die gewünschten Widgets hinzufügen und den Hintergrund nach Belieben ändern."
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}

@ -23,7 +23,6 @@ OC.L10N.register(
"Good evening, {name}" : "Guten Abend {name}",
"Hello" : "Hallo",
"Hello, {name}" : "Hallo, {name}",
"Start your day informed\n\nThe Nextcloud Dashboard is your starting point of the day, giving you an\noverview of your upcoming appointments, urgent emails, chat messages,\nincoming tickets, latest tweets and much more! Users can add the widgets\nthey like and change the background to their liking." : "Starten Sie informiert in den Tag\n\nDas Nextcloud-Dashboard ist Ihr Ausgangspunkt für den Tag und gibt Ihnen\neinen Überblick über Ihre anstehenden Termine, dringende E-Mails, Chatnachrichten,\neingehende Tickets, neuste Tweets und vieles mehr! Benutzer können die Widgets hinzufügen\ndie sie mögen und der Hintergrund kann nach Ihren Wünschen angepasst.",
"Start your day informed\n\nThe Nextcloud Dashboard is your starting point of the day, giving you an overview of your upcoming appointments, urgent emails, chat messages, incoming tickets, latest tweets and much more! Users can add the widgets they like and change the background to their liking." : "Starten Sie informiert in den Tag\n\nDas Nextcloud Dashboard ist Ihr Ausgangspunkt für den Tag und gibt Ihnen einen Überblick über Ihre anstehenden Termine, dringende E-Mails, Chatnachrichten, eingehende Tickets, neueste Tweets und vieles mehr! Benutzer können die gewünschten Widgets hinzufügen und den Hintergrund nach Belieben ändern."
},
"nplurals=2; plural=(n != 1);");

@ -21,7 +21,6 @@
"Good evening, {name}" : "Guten Abend {name}",
"Hello" : "Hallo",
"Hello, {name}" : "Hallo, {name}",
"Start your day informed\n\nThe Nextcloud Dashboard is your starting point of the day, giving you an\noverview of your upcoming appointments, urgent emails, chat messages,\nincoming tickets, latest tweets and much more! Users can add the widgets\nthey like and change the background to their liking." : "Starten Sie informiert in den Tag\n\nDas Nextcloud-Dashboard ist Ihr Ausgangspunkt für den Tag und gibt Ihnen\neinen Überblick über Ihre anstehenden Termine, dringende E-Mails, Chatnachrichten,\neingehende Tickets, neuste Tweets und vieles mehr! Benutzer können die Widgets hinzufügen\ndie sie mögen und der Hintergrund kann nach Ihren Wünschen angepasst.",
"Start your day informed\n\nThe Nextcloud Dashboard is your starting point of the day, giving you an overview of your upcoming appointments, urgent emails, chat messages, incoming tickets, latest tweets and much more! Users can add the widgets they like and change the background to their liking." : "Starten Sie informiert in den Tag\n\nDas Nextcloud Dashboard ist Ihr Ausgangspunkt für den Tag und gibt Ihnen einen Überblick über Ihre anstehenden Termine, dringende E-Mails, Chatnachrichten, eingehende Tickets, neueste Tweets und vieles mehr! Benutzer können die gewünschten Widgets hinzufügen und den Hintergrund nach Belieben ändern."
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}

@ -20,7 +20,6 @@ OC.L10N.register(
"Good evening" : "Καλό βράδυ",
"Good evening, {name}" : "Καλό βράδυ, {name}",
"Hello" : "Γειά",
"Hello, {name}" : "Γειά, {name}",
"Start your day informed\n\nThe Nextcloud Dashboard is your starting point of the day, giving you an\noverview of your upcoming appointments, urgent emails, chat messages,\nincoming tickets, latest tweets and much more! Users can add the widgets\nthey like and change the background to their liking." : "Ξεκινήστε τη μέρα σας ενημερωμένοι\n\nΤο Nextcloud Dashboard είναι το σημείο εκκίνησης της ημέρας, δίνοντάς σας μια επισκόπηση των επερχόμενων ραντεβού, των επειγόντων email, των μηνυμάτων συνομιλίας, και πολλά άλλα!\nΟι χρήστες μπορούν να προσθέσουν μικροεφαρμογές και να αλλάζουν το φόντο σύμφωνα με τις προτιμήσεις τους."
"Hello, {name}" : "Γειά, {name}"
},
"nplurals=2; plural=(n != 1);");

@ -18,7 +18,6 @@
"Good evening" : "Καλό βράδυ",
"Good evening, {name}" : "Καλό βράδυ, {name}",
"Hello" : "Γειά",
"Hello, {name}" : "Γειά, {name}",
"Start your day informed\n\nThe Nextcloud Dashboard is your starting point of the day, giving you an\noverview of your upcoming appointments, urgent emails, chat messages,\nincoming tickets, latest tweets and much more! Users can add the widgets\nthey like and change the background to their liking." : "Ξεκινήστε τη μέρα σας ενημερωμένοι\n\nΤο Nextcloud Dashboard είναι το σημείο εκκίνησης της ημέρας, δίνοντάς σας μια επισκόπηση των επερχόμενων ραντεβού, των επειγόντων email, των μηνυμάτων συνομιλίας, και πολλά άλλα!\nΟι χρήστες μπορούν να προσθέσουν μικροεφαρμογές και να αλλάζουν το φόντο σύμφωνα με τις προτιμήσεις τους."
"Hello, {name}" : "Γειά, {name}"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}

@ -23,7 +23,6 @@ OC.L10N.register(
"Good evening, {name}" : "Good evening, {name}",
"Hello" : "Hello",
"Hello, {name}" : "Hello, {name}",
"Start your day informed\n\nThe Nextcloud Dashboard is your starting point of the day, giving you an\noverview of your upcoming appointments, urgent emails, chat messages,\nincoming tickets, latest tweets and much more! Users can add the widgets\nthey like and change the background to their liking." : "Start your day informed\n\nThe Nextcloud Dashboard is your starting point of the day, giving you an\noverview of your upcoming appointments, urgent emails, chat messages,\nincoming tickets, latest tweets and much more! Users can add the widgets\nthey like and change the background to their liking.",
"Start your day informed\n\nThe Nextcloud Dashboard is your starting point of the day, giving you an overview of your upcoming appointments, urgent emails, chat messages, incoming tickets, latest tweets and much more! Users can add the widgets they like and change the background to their liking." : "Start your day informed\n\nThe Nextcloud Dashboard is your starting point of the day, giving you an overview of your upcoming appointments, urgent emails, chat messages, incoming tickets, latest tweets and much more! Users can add the widgets they like and change the background to their liking."
},
"nplurals=2; plural=(n != 1);");

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save