Merge branch 'master' into refactor/OC-Server-getThemingDefaults

This commit is contained in:
John Molakvoæ 2024-03-15 13:12:32 +01:00 committed by GitHub
commit bbb7955cad
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
1636 changed files with 34140 additions and 16122 deletions

View file

@ -122,46 +122,6 @@ trigger:
- pull_request
- push
---
kind: pipeline
name: samba
steps:
- name: submodules
image: ghcr.io/nextcloud/continuous-integration-alpine-git:latest
commands:
- git submodule update --init
- name: sqlite-php8.0-samba-native
image: ghcr.io/nextcloud/continuous-integration-samba-native-php8.0:latest
commands:
- smbd -D -FS &
- ./autotest-external.sh sqlite smb-linux
- wget https://codecov.io/bash -O codecov.sh
- sh -c "if [ '$DRONE_BUILD_EVENT' = 'pull_request' ]; then bash codecov.sh -B $DRONE_BRANCH -C $DRONE_COMMIT -P $DRONE_PULL_REQUEST -t 117641e2-a9e8-4b7b-984b-ae872d9b05f5 -f tests/autotest-external-clover-sqlite.xml; fi"
- sh -c "if [ '$DRONE_BUILD_EVENT' != 'pull_request' ]; then bash codecov.sh -B $DRONE_BRANCH -C $DRONE_COMMIT -t 117641e2-a9e8-4b7b-984b-ae872d9b05f5 -f tests/autotest-external-clover-sqlite.xml; fi"
- sh -c "if [ '$DRONE_BUILD_EVENT' = 'pull_request' ]; then bash codecov.sh -B $DRONE_BRANCH -C $DRONE_COMMIT -P $DRONE_PULL_REQUEST -t 117641e2-a9e8-4b7b-984b-ae872d9b05f5 -f tests/autotest-external-clover-sqlite-smb-linux.xml; fi"
- sh -c "if [ '$DRONE_BUILD_EVENT' != 'pull_request' ]; then bash codecov.sh -B $DRONE_BRANCH -C $DRONE_COMMIT -t 117641e2-a9e8-4b7b-984b-ae872d9b05f5 -f tests/autotest-external-clover-sqlite-smb-linux.xml; fi"
# Temporarily disabled because it times out for unknown reasons 98% of the time
#- name: sqlite-php8.0-samba-non-native
# image: ghcr.io/nextcloud/continuous-integration-samba-non-native-php8.0:latest
# commands:
# - smbd -D -FS &
# - ./autotest-external.sh sqlite smb-linux
# - wget https://codecov.io/bash -O codecov.sh
# - sh -c "if [ '$DRONE_BUILD_EVENT' = 'pull_request' ]; then bash codecov.sh -B $DRONE_BRANCH -C $DRONE_COMMIT -P $DRONE_PULL_REQUEST -t 117641e2-a9e8-4b7b-984b-ae872d9b05f5 -f tests/autotest-external-clover-sqlite.xml; fi"
# - sh -c "if [ '$DRONE_BUILD_EVENT' != 'pull_request' ]; then bash codecov.sh -B $DRONE_BRANCH -C $DRONE_COMMIT -t 117641e2-a9e8-4b7b-984b-ae872d9b05f5 -f tests/autotest-external-clover-sqlite.xml; fi"
# - sh -c "if [ '$DRONE_BUILD_EVENT' = 'pull_request' ]; then bash codecov.sh -B $DRONE_BRANCH -C $DRONE_COMMIT -P $DRONE_PULL_REQUEST -t 117641e2-a9e8-4b7b-984b-ae872d9b05f5 -f tests/autotest-external-clover-sqlite-smb-linux.xml; fi"
# - sh -c "if [ '$DRONE_BUILD_EVENT' != 'pull_request' ]; then bash codecov.sh -B $DRONE_BRANCH -C $DRONE_COMMIT -t 117641e2-a9e8-4b7b-984b-ae872d9b05f5 -f tests/autotest-external-clover-sqlite-smb-linux.xml; fi"
trigger:
branch:
- master
- stable*
event:
- pull_request
- push
---
kind: signature
hmac: e34c8c2ca36355a8dcaf01c7bd14c53bd42d25a4d631533e2c8109e2690c2a98
hmac: f1a7a4774aef02c37a06ec6189d0acfefd847b66661ac4f6aab243f12f979158

10
.github/CODEOWNERS vendored
View file

@ -29,11 +29,11 @@
/apps/workflowengine/appinfo/info.xml @blizzz @juliushaertl
# Frontend expertise
/apps/files/src @skjnldsv
/apps/files_external/src @skjnldsv
/apps/files_reminders/src @skjnldsv
/apps/files_sharing/src/actions @skjnldsv
/apps/files_trashbin/src @skjnldsv
/apps/files/src* @skjnldsv
/apps/files_external/src* @skjnldsv
/apps/files_reminders/src* @skjnldsv
/apps/files_sharing/src/actions* @skjnldsv
/apps/files_trashbin/src* @skjnldsv
# Security team
/resources/codesigning @mgallien @miaulalala @nickvergessen

View file

@ -29,6 +29,13 @@ Thanks for wanting to contribute source code to Nextcloud. That's great!
Please read the [Developer Manuals][devmanual] to learn how to create your first application or how to test the Nextcloud code with PHPUnit.
### Conventional Commits
Please use [Conventional Commits](https://www.conventionalcommits.org) for your commit messages. This helps maintain clarity and consistency across the project, making it easier to understand changes and automate versioning.
```
feat(files_sharing): allow sharing with contacts
```
### Tests
In order to constantly increase the quality of our software we can no longer accept pull request which submit un-tested code.
@ -44,9 +51,9 @@ their contribution under the project's license.
Please read [contribute/developer-certificate-of-origin][dcofile].
If you can certify it, then just add a line to every git commit message:
````
Signed-off-by: Random J Developer <random@developer.example.org>
````
```
Signed-off-by: Random J Developer <random@developer.example.org>
```
Use your real name (sorry, no pseudonyms or anonymous contributions).
If you set your `user.name` and `user.email` git configs, you can sign your

View file

@ -14,6 +14,49 @@ updates:
reviewers:
- "nextcloud/server-dependabot"
# cs-fixer
- package-ecosystem: composer
directory: "/vendor-bin/cs-fixer"
schedule:
interval: weekly
day: saturday
time: "04:10"
timezone: Europe/Copenhagen
labels:
- "3. to review"
- "feature: dependencies"
reviewers:
- "nextcloud/server-dependabot"
# openapi-extractor
- package-ecosystem: composer
directory: "/vendor-bin/openapi-extractor"
schedule:
interval: weekly
day: saturday
time: "04:20"
timezone: Europe/Brussels
labels:
- "3. to review"
- "feature: dependencies"
reviewers:
- "nextcloud/server-dependabot"
- "provokateurin"
# psalm
- package-ecosystem: composer
directory: "/vendor-bin/psalm"
schedule:
interval: weekly
day: saturday
time: "04:30"
timezone: Europe/Madrid
labels:
- "3. to review"
- "feature: dependencies"
reviewers:
- "nextcloud/server-dependabot"
# Main master npm
- package-ecosystem: npm
directory: "/"

View file

@ -0,0 +1,31 @@
# This workflow is provided via the organization template repository
#
# https://github.com/nextcloud/.github
# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization
name: Block unconventional commits
on:
pull_request:
types: [opened, ready_for_review, reopened, synchronize]
permissions:
contents: read
concurrency:
group: block-unconventional-commits-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
block-unconventional-commits:
name: Block unconventional commits
runs-on: ubuntu-latest-low
steps:
- name: Checkout
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
- uses: webiny/action-conventional-commits@8bc41ff4e7d423d56fa4905f6ff79209a78776c7 # v1.3.0
with:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

View file

@ -31,7 +31,7 @@ jobs:
- name: Check composer.json
id: check_composer
uses: andstor/file-existence-action@20b4d2e596410855db8f9ca21e96fbe18e12930b # v2
uses: andstor/file-existence-action@076e0072799f4942c8bc574a82233e1e4d13e9d6 # v2
with:
files: "composer.json"
@ -101,7 +101,7 @@ jobs:
run: npm i -g npm@"${{ needs.init.outputs.npmVersion }}"
- name: Run ${{ matrix.containers == 'component' && 'component' || 'E2E' }} cypress tests
uses: cypress-io/github-action@ebe8b24c4428922d0f793a5c4c96853a633180e3 # v6.6.0
uses: cypress-io/github-action@1b70233146622b69e789ccdd4f9452adc638d25a # v6.6.1
with:
component: ${{ matrix.containers == 'component' }}
group: ${{ matrix.use-cypress-cloud && matrix.containers == 'component' && 'Run component' || matrix.use-cypress-cloud && 'Run E2E' || '' }}

View file

@ -98,7 +98,7 @@ jobs:
- name: Upload code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@v3
uses: codecov/codecov-action@v4
with:
files: ./clover.xml
flags: phpunit-files-external-ftp

View file

@ -96,7 +96,7 @@ jobs:
- name: Upload code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@v3
uses: codecov/codecov-action@v4
with:
files: ./clover.xml
flags: phpunit-files-external-s3
@ -163,7 +163,7 @@ jobs:
- name: Upload code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@v3
uses: codecov/codecov-action@v4
with:
files: ./clover.xml
flags: phpunit-files-external-s3

View file

@ -87,7 +87,7 @@ jobs:
- name: Upload code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@v3
uses: codecov/codecov-action@v4
with:
files: ./clover.xml
flags: phpunit-files-external-sftp

108
.github/workflows/files-external-smb.yml vendored Normal file
View file

@ -0,0 +1,108 @@
name: PHPUnit files_external SMB
on:
pull_request:
schedule:
- cron: "5 2 * * *"
concurrency:
group: files-external-smb-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
changes:
runs-on: ubuntu-latest-low
outputs:
src: ${{ steps.changes.outputs.src}}
steps:
- uses: dorny/paths-filter@0bc4621a3135347011ad047f9ecf449bf72ce2bd # v3.0.0
id: changes
continue-on-error: true
with:
filters: |
src:
- '.github/workflows/**'
- '3rdparty/**'
- 'apps/files_external/**'
- 'vendor/**'
- 'vendor-bin/**'
- 'composer.json'
- 'composer.lock'
- '**.php'
files-external-smb:
runs-on: ubuntu-latest
needs: changes
if: ${{ github.repository_owner != 'nextcloud-gmbh' && needs.changes.outputs.src != 'false' }}
strategy:
matrix:
php-versions: ['8.0', '8.3']
include:
- php-versions: '8.0'
coverage: ${{ github.event_name != 'pull_request' }}
name: php${{ matrix.php-versions }}-smb
services:
samba:
image: ghcr.io/nextcloud/continuous-integration-samba:latest
ports:
- 445:445
steps:
- name: Checkout server
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11
with:
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@4bd44f22a98a19e0950cbad5f31095157cc9621b # v2
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
extensions: ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, redis, session, simplexml, xmlreader, xmlwriter, zip, zlib, smbclient, sqlite, pdo_sqlite
coverage: ${{ matrix.coverage && 'xdebug' || 'none' }}
ini-file: development
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Set up smbclient
# This is needed as icewind/smb php library for notify
run: sudo apt-get install -y smbclient
- name: Set up Nextcloud
run: |
composer install
./occ maintenance:install --verbose --database=sqlite --database-name=nextcloud --database-host=127.0.0.1 --database-user=root --database-pass=rootpassword --admin-user admin --admin-pass password
./occ config:system:set --value true --type boolean allow_local_remote_servers
./occ app:enable --force files_external
echo "<?php return ['run'=>true, 'host'=>'localhost', 'user'=>'test', 'password'=>'test', 'root'=>'', 'share'=>'public'];" > apps/files_external/tests/config.smb.php
- name: Wait for smb
run: |
apps/files_external/tests/env/wait-for-connection 127.0.0.1 445 60
- name: PHPUnit
run: composer run test:files_external -- --verbose \
apps/files_external/tests/Storage/SmbTest.php \
${{ matrix.coverage && ' --coverage-clover ./clover.xml' || '' }}
- name: Upload code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@4fe8c5f003fae66aa5ebb77cfd3e7bfbbda0b6b0 # v3.1.5
with:
files: ./clover.xml
flags: phpunit-files-external-smb
files-external-smb-summary:
runs-on: ubuntu-latest-low
needs: [changes, files-external-smb]
if: always()
steps:
- name: Summary status
run: if ${{ needs.changes.outputs.src != 'false' && needs.files-external-smb.result != 'success' }}; then exit 1; fi

View file

@ -89,7 +89,7 @@ jobs:
- name: Upload code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@4fe8c5f003fae66aa5ebb77cfd3e7bfbbda0b6b0 # v3.1.5
uses: codecov/codecov-action@ab904c41d6ece82784817410c45d8b8c02684457 # v3.1.6
with:
files: ./clover.xml
flags: phpunit-files-external-webdav

93
.github/workflows/files-external.yml vendored Normal file
View file

@ -0,0 +1,93 @@
name: PHPUnit files_external generic
on:
pull_request:
schedule:
- cron: "5 2 * * *"
concurrency:
group: files-external-generic-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
changes:
runs-on: ubuntu-latest-low
outputs:
src: ${{ steps.changes.outputs.src}}
steps:
- uses: dorny/paths-filter@ebc4d7e9ebcb0b1eb21480bb8f43113e996ac77a # v3.0.1
id: changes
continue-on-error: true
with:
filters: |
src:
- '.github/workflows/**'
- '3rdparty/**'
- 'apps/files_external/**'
- 'vendor/**'
- 'vendor-bin/**'
- 'composer.json'
- 'composer.lock'
files-external-generic:
runs-on: ubuntu-latest
needs: changes
if: ${{ github.repository_owner != 'nextcloud-gmbh' && needs.changes.outputs.src != 'false' }}
strategy:
matrix:
php-versions: ['8.0', '8.1', '8.2', '8.3']
include:
- php-versions: '8.2'
coverage: ${{ github.event_name != 'pull_request' }}
name: php${{ matrix.php-versions }}-generic
steps:
- name: Checkout server
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11
with:
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@4bd44f22a98a19e0950cbad5f31095157cc9621b # v2
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, redis, session, simplexml, xmlreader, xmlwriter, zip, zlib, sqlite, pdo_sqlite
coverage: ${{ matrix.coverage && 'xdebug' || 'none' }}
ini-file: development
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Set up Nextcloud
env:
OBJECT_STORE_KEY: nextcloud
OBJECT_STORE_SECRET: bWluaW8tc2VjcmV0LWtleS1uZXh0Y2xvdWQ=
run: |
composer install
./occ maintenance:install --verbose --database=sqlite --database-name=nextcloud --database-host=127.0.0.1 --database-user=root --database-pass=rootpassword --admin-user admin --admin-pass password
./occ app:enable --force files_external
- name: PHPUnit
run: composer run test:files_external \
${{ matrix.coverage && ' --coverage-clover ./clover.xml' || '' }}
- name: Upload code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@v4
with:
files: ./clover.xml
flags: phpunit-files-external-generic
files-external-summary:
runs-on: ubuntu-latest-low
needs: [changes, files-external-generic ]
if: always()
steps:
- name: Summary status
run: if ${{ needs.changes.outputs.src != 'false' && needs.files-external-generic.result != 'success' }}; then exit 1; fi

View file

@ -89,7 +89,7 @@ jobs:
run: npm run test:coverage
- name: Collect coverage
uses: codecov/codecov-action@eaaf4bedf32dbdc6b720b63067d99c4d77d6047d # v3.1.4
uses: codecov/codecov-action@ab904c41d6ece82784817410c45d8b8c02684457 # v3.1.6
with:
files: ./coverage/lcov.info

View file

@ -58,7 +58,7 @@ jobs:
- name: Create Pull Request
if: always()
uses: peter-evans/create-pull-request@153407881ec5c347639a548ade7d8ad1d6740e38 # v5
uses: peter-evans/create-pull-request@a4f52f8033a6168103c2538976c07b467e8163bc # v5
with:
token: ${{ secrets.COMMAND_BOT_PAT }}
commit-message: "chore(deps): fix npm audit"

View file

@ -103,7 +103,7 @@ jobs:
- name: Upload code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@v3
uses: codecov/codecov-action@v4
with:
files: ./clover.xml
flags: phpunit-azure

View file

@ -109,7 +109,7 @@ jobs:
- name: Upload code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@v3
uses: codecov/codecov-action@v4
with:
files: ./clover.xml
flags: phpunit-s3

View file

@ -99,7 +99,7 @@ jobs:
- name: Upload code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@v3
uses: codecov/codecov-action@v4
with:
files: ./clover.xml
flags: phpunit-swift

View file

@ -45,8 +45,9 @@ jobs:
with:
blueprint: tests/blueprints/basic.toml
ref: ${{ github.event.pull_request.head.ref }}
- name: Run before measurements
uses: nextcloud/profiler@1e66a9de5f76a01e9d1db4f0153bcc1cbf989b3d
uses: nextcloud/profiler@6801ee10fc80f10b444388fb6ca9b36ad8a2ea83
with:
run: |
curl -s -X PROPFIND -u test:test http://localhost:8080/remote.php/dav/files/test
@ -68,7 +69,7 @@ jobs:
- name: Run after measurements
id: compare
uses: nextcloud/profiler@1e66a9de5f76a01e9d1db4f0153bcc1cbf989b3d
uses: nextcloud/profiler@6801ee10fc80f10b444388fb6ca9b36ad8a2ea83
with:
run: |
curl -s -X PROPFIND -u test:test http://localhost:8080/remote.php/dav/files/test

View file

@ -119,7 +119,7 @@ jobs:
- name: Upload db code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@v3
uses: codecov/codecov-action@v4
with:
files: ./clover.db.xml
flags: phpunit-mariadb

View file

@ -98,7 +98,7 @@ jobs:
- name: Upload code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@v3
uses: codecov/codecov-action@v4
with:
files: ./clover.xml
flags: phpunit-memcached

View file

@ -119,7 +119,7 @@ jobs:
- name: Upload db code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@v3
uses: codecov/codecov-action@v4
with:
files: ./clover.db.xml
flags: phpunit-mysql

View file

@ -102,7 +102,7 @@ jobs:
- name: Upload nodb code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@v3
uses: codecov/codecov-action@v4
with:
files: ./clover.nodb.xml
flags: phpunit-nodb

View file

@ -117,7 +117,7 @@ jobs:
- name: Upload db code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@v3
uses: codecov/codecov-action@v4
with:
files: ./clover.db.xml
flags: phpunit-oci

View file

@ -114,7 +114,7 @@ jobs:
- name: Upload db code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@v3
uses: codecov/codecov-action@v4
with:
files: ./clover.db.xml
flags: phpunit-postgres

View file

@ -102,7 +102,7 @@ jobs:
- name: Upload db code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@v3
uses: codecov/codecov-action@v4
with:
files: ./clover.db.xml
flags: phpunit-sqlite

View file

@ -26,7 +26,7 @@ jobs:
run: curl --etag-compare build/ca-bundle-etag.txt --etag-save build/ca-bundle-etag.txt --output resources/config/ca-bundle.crt https://curl.se/ca/cacert.pem
- name: Create Pull Request
uses: peter-evans/create-pull-request@153407881ec5c347639a548ade7d8ad1d6740e38
uses: peter-evans/create-pull-request@a4f52f8033a6168103c2538976c07b467e8163bc
with:
token: ${{ secrets.COMMAND_BOT_PAT }}
commit-message: "fix(security): Update CA certificate bundle"

View file

@ -29,7 +29,7 @@ jobs:
run: openssl crl -verify -in resources/codesigning/root.crl -CAfile resources/codesigning/root.crt -noout
- name: Create Pull Request
uses: peter-evans/create-pull-request@153407881ec5c347639a548ade7d8ad1d6740e38
uses: peter-evans/create-pull-request@a4f52f8033a6168103c2538976c07b467e8163bc
with:
token: ${{ secrets.COMMAND_BOT_PAT }}
commit-message: "fix(security): Update code signing revocation list"

View file

@ -50,7 +50,7 @@ jobs:
git checkout composer.json composer.lock lib/composer
- name: Create Pull Request
uses: peter-evans/create-pull-request@153407881ec5c347639a548ade7d8ad1d6740e38
uses: peter-evans/create-pull-request@a4f52f8033a6168103c2538976c07b467e8163bc
with:
token: ${{ secrets.COMMAND_BOT_PAT }}
commit-message: Update psalm baseline

1
.gitignore vendored
View file

@ -173,3 +173,4 @@ core/js/mimetypelist.js
# Tests - cypress
cypress/snapshots
cypress/videos
cypress/downloads

@ -1 +1 @@
Subproject commit be6be0e0c5803c083e0684bb4e3c6ec6352da9fa
Subproject commit e8a165a3811f1b454694337aaff47c30888ca9fc

View file

@ -4,4 +4,4 @@ OC.L10N.register(
"Auditing / Logging" : "פיקוח / תיעוד",
"Provides logging abilities for Nextcloud such as logging file accesses or otherwise sensitive actions." : "מספק יכולות תיעוד ל־Nextcloud כגון תיעוד גישה ליומן התיעוד או פעולות רגישות אחרות."
},
"nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: (n % 10 == 0 && n % 1 == 0 && n > 10) ? 2 : 3;");
"nplurals=3; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: 2;");

View file

@ -1,5 +1,5 @@
{ "translations": {
"Auditing / Logging" : "פיקוח / תיעוד",
"Provides logging abilities for Nextcloud such as logging file accesses or otherwise sensitive actions." : "מספק יכולות תיעוד ל־Nextcloud כגון תיעוד גישה ליומן התיעוד או פעולות רגישות אחרות."
},"pluralForm" :"nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: (n % 10 == 0 && n % 1 == 0 && n > 10) ? 2 : 3;"
},"pluralForm" :"nplurals=3; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: 2;"
}

View file

@ -29,7 +29,7 @@ namespace OCA\AdminAudit\Actions;
class Console extends Action {
/**
* @param $arguments
* @param array $arguments
*/
public function runCommand(array $arguments): void {
if (!isset($arguments[1]) || $arguments[1] === '_completion') {

View file

@ -70,7 +70,6 @@ use Psr\Container\ContainerInterface;
use Psr\Log\LoggerInterface;
class Application extends App implements IBootstrap {
/** @var LoggerInterface */
protected $logger;

View file

@ -32,8 +32,7 @@ use Psr\Log\LoggerInterface;
*/
class AuditLogger implements IAuditLogger {
/** @var LoggerInterface */
private $parentLogger;
private LoggerInterface $parentLogger;
public function __construct(ILogFactory $logFactory, IConfig $config) {
$auditType = $config->getSystemValueString('log_type_audit', 'file');
@ -50,39 +49,39 @@ class AuditLogger implements IAuditLogger {
$this->parentLogger = $logFactory->getCustomPsrLogger($logFile, $auditType, $auditTag);
}
public function emergency($message, array $context = array()) {
public function emergency($message, array $context = array()): void {
$this->parentLogger->emergency($message, $context);
}
public function alert($message, array $context = array()) {
public function alert($message, array $context = array()): void {
$this->parentLogger->alert($message, $context);
}
public function critical($message, array $context = array()) {
public function critical($message, array $context = array()): void {
$this->parentLogger->critical($message, $context);
}
public function error($message, array $context = array()) {
public function error($message, array $context = array()): void {
$this->parentLogger->error($message, $context);
}
public function warning($message, array $context = array()) {
public function warning($message, array $context = array()): void {
$this->parentLogger->warning($message, $context);
}
public function notice($message, array $context = array()) {
public function notice($message, array $context = array()): void {
$this->parentLogger->notice($message, $context);
}
public function info($message, array $context = array()) {
public function info($message, array $context = array()): void {
$this->parentLogger->info($message, $context);
}
public function debug($message, array $context = array()) {
public function debug($message, array $context = array()): void {
$this->parentLogger->debug($message, $context);
}
public function log($level, $message, array $context = array()) {
public function log($level, $message, array $context = array()): void {
$this->parentLogger->log($level, $message, $context);
}
}

View file

@ -30,17 +30,15 @@ use OCA\AdminAudit\Actions\Security;
use OCA\AdminAudit\AuditLogger;
use OCP\Authentication\TwoFactorAuth\IProvider;
use OCP\IUser;
use PHPUnit\Framework\MockObject\MockObject;
use Test\TestCase;
class SecurityTest extends TestCase {
/** @var AuditLogger|\PHPUnit\Framework\MockObject\MockObject */
private $logger;
private AuditLogger|MockObject $logger;
/** @var Security */
private $security;
private Security $security;
/** @var IUser|\PHPUnit\Framework\MockObject\MockObject */
private $user;
private MockObject|IUser $user;
protected function setUp(): void {
parent::setUp();

View file

@ -0,0 +1,8 @@
OC.L10N.register(
"cloud_federation_api",
{
"Cloud Federation API" : "API de la federación en la nube",
"Enable clouds to communicate with each other and exchange data" : "Permitir que las nubes se comuniquen entre sí e intercambien datos",
"The Cloud Federation API enables various Nextcloud instances to communicate with each other and to exchange data." : "La API de la federación en la nube permite que varias instancias de Nextcloud se comuniquen entre sí e intercambien datos."
},
"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");

View file

@ -0,0 +1,6 @@
{ "translations": {
"Cloud Federation API" : "API de la federación en la nube",
"Enable clouds to communicate with each other and exchange data" : "Permitir que las nubes se comuniquen entre sí e intercambien datos",
"The Cloud Federation API enables various Nextcloud instances to communicate with each other and to exchange data." : "La API de la federación en la nube permite que varias instancias de Nextcloud se comuniquen entre sí e intercambien datos."
},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
}

View file

@ -9,12 +9,29 @@ 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> de los archivos",
"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} lo mencionó en un comentario en \"{file}\"",
"Files app plugin to add comments to files" : "Un complemento a la aplicación de Archivos para agregar comentarios a los archivos",
"Edit comment" : "Editar comentario",
"Delete comment" : "Borrar comentario",
"Cancel edit" : "Cancelar edición",
"New comment" : "Nuevo comentario",
"Write a comment …" : "Escribir un comentario …",
"Post comment" : "Publicar comentario",
"@ for mentions, : for emoji, / for smart picker" : "@ para menciones, : para emoticonos, / para selector inteligente",
"Could not reload comments" : "No se pudieron recargar los comentarios",
"No comments yet, start the conversation!" : "¡Aún no hay comentarios, inicia la conversación!",
"No more messages" : "No hay más mensajes",
"Retry" : "Reintentar",
"Failed to mark comments as read" : "No se pudieron marcar los comentarios como leídos",
"Unable to load the comments list" : "No se puede cargar la lista de comentarios",
"_1 new comment_::_{unread} new comments_" : ["1 comentario nuevo","{unread} nuevos comentarios","{unread} nuevos comentarios"],
"Comment" : "Comentario",
"An error occurred while trying to edit the comment" : "Ocurrió un error al intentar editar el comentario",
"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 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"]
},
"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");

View file

@ -7,12 +7,29 @@
"%1$s commented on %2$s" : "%1$s comentó en %2$s",
"{author} commented on {file}" : "{author} comentó en {file}",
"<strong>Comments</strong> for files" : "<strong>Comentarios</strong> de los archivos",
"You were mentioned on \"{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} lo mencionó en un comentario en \"{file}\"",
"Files app plugin to add comments to files" : "Un complemento a la aplicación de Archivos para agregar comentarios a los archivos",
"Edit comment" : "Editar comentario",
"Delete comment" : "Borrar comentario",
"Cancel edit" : "Cancelar edición",
"New comment" : "Nuevo comentario",
"Write a comment …" : "Escribir un comentario …",
"Post comment" : "Publicar comentario",
"@ for mentions, : for emoji, / for smart picker" : "@ para menciones, : para emoticonos, / para selector inteligente",
"Could not reload comments" : "No se pudieron recargar los comentarios",
"No comments yet, start the conversation!" : "¡Aún no hay comentarios, inicia la conversación!",
"No more messages" : "No hay más mensajes",
"Retry" : "Reintentar",
"Failed to mark comments as read" : "No se pudieron marcar los comentarios como leídos",
"Unable to load the comments list" : "No se puede cargar la lista de comentarios",
"_1 new comment_::_{unread} new comments_" : ["1 comentario nuevo","{unread} nuevos comentarios","{unread} nuevos comentarios"],
"Comment" : "Comentario",
"An error occurred while trying to edit the comment" : "Ocurrió un error al intentar editar el comentario",
"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 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"]
},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
}

View file

@ -9,6 +9,7 @@ OC.L10N.register(
"%1$s commented on %2$s" : "%1$s a commenté %2$s",
"{author} commented on {file}" : "{author} a commenté sur {file}",
"<strong>Comments</strong> for files" : "<strong>Commentaires</strong> sur les fichiers",
"You were mentioned on \"{file}\", in a comment by an account that has since been deleted" : "Vous avez été mentionné sur « {file} », dans un commentaire par un compte qui depuis a été supprimé",
"{user} mentioned you in a comment on \"{file}\"" : "{user} vous a mentionné dans un commentaire sur \"{file}\"",
"Files app plugin to add comments to files" : "Plugin Fichiers app pour ajouter des commentaires aux fichiers",
"Edit comment" : "Modifier le commentaire",

View file

@ -7,6 +7,7 @@
"%1$s commented on %2$s" : "%1$s a commenté %2$s",
"{author} commented on {file}" : "{author} a commenté sur {file}",
"<strong>Comments</strong> for files" : "<strong>Commentaires</strong> sur les fichiers",
"You were mentioned on \"{file}\", in a comment by an account that has since been deleted" : "Vous avez été mentionné sur « {file} », dans un commentaire par un compte qui depuis a été supprimé",
"{user} mentioned you in a comment on \"{file}\"" : "{user} vous a mentionné dans un commentaire sur \"{file}\"",
"Files app plugin to add comments to files" : "Plugin Fichiers app pour ajouter des commentaires aux fichiers",
"Edit comment" : "Modifier le commentaire",

View file

@ -19,7 +19,7 @@ OC.L10N.register(
"No more messages" : "אין יותר הודעות",
"Retry" : "ניסיון חוזר",
"Unable to load the comments list" : "לא ניתן לטעון את רשימת התגובות",
"_1 new comment_::_{unread} new comments_" : ["הערה חדשה אחת","{unread} הערות חדשות","{unread} הערות חדשות","{unread} הערות חדשות"],
"_1 new comment_::_{unread} new comments_" : ["הערה חדשה אחת","{unread} הערות חדשות","{unread} הערות חדשות"],
"Comment" : "תגובה",
"An error occurred while trying to edit the comment" : "אירעה שגיאה בניסיון לערוך את התגובה",
"Comment deleted" : "נמחקה הערה",
@ -28,4 +28,4 @@ OC.L10N.register(
"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 תגובות שלא נקראו"]
},
"nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: (n % 10 == 0 && n % 1 == 0 && n > 10) ? 2 : 3;");
"nplurals=3; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: 2;");

View file

@ -17,7 +17,7 @@
"No more messages" : "אין יותר הודעות",
"Retry" : "ניסיון חוזר",
"Unable to load the comments list" : "לא ניתן לטעון את רשימת התגובות",
"_1 new comment_::_{unread} new comments_" : ["הערה חדשה אחת","{unread} הערות חדשות","{unread} הערות חדשות","{unread} הערות חדשות"],
"_1 new comment_::_{unread} new comments_" : ["הערה חדשה אחת","{unread} הערות חדשות","{unread} הערות חדשות"],
"Comment" : "תגובה",
"An error occurred while trying to edit the comment" : "אירעה שגיאה בניסיון לערוך את התגובה",
"Comment deleted" : "נמחקה הערה",
@ -25,5 +25,5 @@
"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 תגובות שלא נקראו"]
},"pluralForm" :"nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: (n % 10 == 0 && n % 1 == 0 && n > 10) ? 2 : 3;"
},"pluralForm" :"nplurals=3; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: 2;"
}

View file

@ -9,6 +9,7 @@ OC.L10N.register(
"%1$s commented on %2$s" : "%2$s에 %1$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" : "댓글 편집",

View file

@ -7,6 +7,7 @@
"%1$s commented on %2$s" : "%2$s에 %1$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" : "댓글 편집",

View file

@ -9,12 +9,14 @@ OC.L10N.register(
"%1$s commented on %2$s" : "%1$s comentaram em %2$s",
"{author} commented on {file}" : "{author} comentou em {file}",
"<strong>Comments</strong> for files" : "<strong>Comentários</strong> para arquivos",
"You were mentioned on \"{file}\", in a comment by an account that has since been deleted" : "Você foi mencionado em \"{file}\", em um comentário de uma conta que já foi excluída",
"{user} mentioned you in a comment on \"{file}\"" : "{user} mencionou você em um comentário em \"{file}\"",
"Files app plugin to add comments to files" : "Complemento do aplicativo Files para adicionar comentários",
"Edit comment" : "Editar comentário",
"Delete comment" : "Excluir comentário",
"Cancel edit" : "Cancelar edição",
"New comment" : "Novo comentário",
"Write a comment …" : "Escreva um comentário …",
"Post comment" : "Postar comentário",
"@ for mentions, : for emoji, / for smart picker" : "@ para menções, : para emoji, / para seletor inteligente",
"Could not reload comments" : "Não foi possível recarregar comentários",

View file

@ -7,12 +7,14 @@
"%1$s commented on %2$s" : "%1$s comentaram em %2$s",
"{author} commented on {file}" : "{author} comentou em {file}",
"<strong>Comments</strong> for files" : "<strong>Comentários</strong> para arquivos",
"You were mentioned on \"{file}\", in a comment by an account that has since been deleted" : "Você foi mencionado em \"{file}\", em um comentário de uma conta que já foi excluída",
"{user} mentioned you in a comment on \"{file}\"" : "{user} mencionou você em um comentário em \"{file}\"",
"Files app plugin to add comments to files" : "Complemento do aplicativo Files para adicionar comentários",
"Edit comment" : "Editar comentário",
"Delete comment" : "Excluir comentário",
"Cancel edit" : "Cancelar edição",
"New comment" : "Novo comentário",
"Write a comment …" : "Escreva um comentário …",
"Post comment" : "Postar comentário",
"@ for mentions, : for emoji, / for smart picker" : "@ para menções, : para emoji, / para seletor inteligente",
"Could not reload comments" : "Não foi possível recarregar comentários",

View file

@ -9,15 +9,21 @@ OC.L10N.register(
"%1$s commented on %2$s" : "%1$s komentoval %2$s",
"{author} commented on {file}" : "{author} komentoval {file}",
"<strong>Comments</strong> for files" : "<strong>Komentáre</strong> pre súbory",
"You were mentioned on \"{file}\", in a comment by an account that has since been deleted" : "Boli ste spomenutý v \"{file}\", v komentári užívateľom ktorý bol už vymazaný",
"{user} mentioned you in a comment on \"{file}\"" : "{user} vás spomenul v komentári k “{file}”",
"Files app plugin to add comments to files" : "Zásuvný modul aplikácie súborov, ktorý umožňuje súborom pridávať komentáre",
"Edit comment" : "Upraviť komentár",
"Delete comment" : "Zmazať komentár",
"Cancel edit" : "Zrušiť upravovanie",
"New comment" : "Nový komentár",
"Write a comment …" : "Napísať komentár ...",
"Post comment" : "Odoslať komentár",
"@ for mentions, : for emoji, / for smart picker" : "@ pre spomienky, : pre emotikony, / pre inteligentný výber",
"Could not reload comments" : "Nepodarilo sa obnoviť komentáre",
"No comments yet, start the conversation!" : "Žiadne komentáre, začnite konverzáciu!",
"No more messages" : "Žiadne ďaĺšie správy",
"Retry" : "Skúsiť znova",
"Failed to mark comments as read" : "Nepodarilo sa označiť komentáre ako prečítané.",
"Unable to load the comments list" : "Nie je možné načítať zoznam komentárov",
"_1 new comment_::_{unread} new comments_" : ["1 nový komentár","{unread} nové komentáre","{unread} nových komentárov","{unread} nových komentárov"],
"Comment" : "Komentár",

View file

@ -7,15 +7,21 @@
"%1$s commented on %2$s" : "%1$s komentoval %2$s",
"{author} commented on {file}" : "{author} komentoval {file}",
"<strong>Comments</strong> for files" : "<strong>Komentáre</strong> pre súbory",
"You were mentioned on \"{file}\", in a comment by an account that has since been deleted" : "Boli ste spomenutý v \"{file}\", v komentári užívateľom ktorý bol už vymazaný",
"{user} mentioned you in a comment on \"{file}\"" : "{user} vás spomenul v komentári k “{file}”",
"Files app plugin to add comments to files" : "Zásuvný modul aplikácie súborov, ktorý umožňuje súborom pridávať komentáre",
"Edit comment" : "Upraviť komentár",
"Delete comment" : "Zmazať komentár",
"Cancel edit" : "Zrušiť upravovanie",
"New comment" : "Nový komentár",
"Write a comment …" : "Napísať komentár ...",
"Post comment" : "Odoslať komentár",
"@ for mentions, : for emoji, / for smart picker" : "@ pre spomienky, : pre emotikony, / pre inteligentný výber",
"Could not reload comments" : "Nepodarilo sa obnoviť komentáre",
"No comments yet, start the conversation!" : "Žiadne komentáre, začnite konverzáciu!",
"No more messages" : "Žiadne ďaĺšie správy",
"Retry" : "Skúsiť znova",
"Failed to mark comments as read" : "Nepodarilo sa označiť komentáre ako prečítané.",
"Unable to load the comments list" : "Nie je možné načítať zoznam komentárov",
"_1 new comment_::_{unread} new comments_" : ["1 nový komentár","{unread} nové komentáre","{unread} nových komentárov","{unread} nových komentárov"],
"Comment" : "Komentár",

View file

@ -9,6 +9,7 @@ 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" : "Редагувати коментар",

View file

@ -7,6 +7,7 @@
"%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" : "Редагувати коментар",

View file

@ -22,16 +22,23 @@
import { createClient } from 'webdav'
import { getRootPath } from '../utils/davUtils.js'
import { getRequestToken } from '@nextcloud/auth'
import { getRequestToken, onRequestTokenUpdate } from '@nextcloud/auth'
// init webdav client
const client = createClient(getRootPath(), {
headers: {
// Add this so the server knows it is an request from the browser
'X-Requested-With': 'XMLHttpRequest',
// Inject user auth
requesttoken: getRequestToken() ?? '',
},
})
const client = createClient(getRootPath())
// set CSRF token header
const setHeaders = (token) => {
client.setHeaders({
// Add this so the server knows it is an request from the browser
'X-Requested-With': 'XMLHttpRequest',
// Inject user auth
requesttoken: token ?? '',
})
}
// refresh headers when request token changes
onRequestTokenUpdate(setHeaders)
setHeaders(getRequestToken())
export default client

View file

@ -23,8 +23,8 @@
import { parseXML, type DAVResult, type FileStat, type ResponseDataDetailed } from 'webdav'
// https://github.com/perry-mitchell/webdav-client/issues/339
import { processResponsePayload } from '../../../../node_modules/webdav/dist/node/response.js'
import { prepareFileFromProps } from '../../../../node_modules/webdav/dist/node/tools/dav.js'
import { processResponsePayload } from 'webdav/dist/node/response.js'
import { prepareFileFromProps } from 'webdav/dist/node/tools/dav.js'
import client from './DavClient.js'
export const DEFAULT_LIMIT = 20
@ -77,10 +77,8 @@ const getDirectoryFiles = function(
// Map all items to a consistent output structure (results)
return responseItems.map(item => {
// Each item should contain a stat object
const {
propstat: { prop: props },
} = item
const props = item.propstat!.prop!;
return prepareFileFromProps(props, props.id.toString(), isDetailed)
return prepareFileFromProps(props, props.id!.toString(), isDetailed)
})
}

View file

@ -3,6 +3,8 @@ OC.L10N.register(
{
"Recently contacted" : "Contautos de recién",
"Contacts Interaction" : "Interaición con contautos",
"Manages interaction between accounts and contacts" : "Xestiona la interaición ente cuentes y contautos",
"Collect data about accounts and contacts interactions and provide an address book for the data" : "Recueye datos de les interaiciones de cuentes y contautos y forne una llibreta de direiciones colos datos",
"Manages interaction between users and contacts" : "Xestiona la interaición ente usuarios y contautos",
"Collect data about user and contacts interactions and provide an address book for the data" : "Recueye datos de les interaiciones d'usuarios y contautos y forne una llibreta de direiciones colos datos"
},

View file

@ -1,6 +1,8 @@
{ "translations": {
"Recently contacted" : "Contautos de recién",
"Contacts Interaction" : "Interaición con contautos",
"Manages interaction between accounts and contacts" : "Xestiona la interaición ente cuentes y contautos",
"Collect data about accounts and contacts interactions and provide an address book for the data" : "Recueye datos de les interaiciones de cuentes y contautos y forne una llibreta de direiciones colos datos",
"Manages interaction between users and contacts" : "Xestiona la interaición ente usuarios y contautos",
"Collect data about user and contacts interactions and provide an address book for the data" : "Recueye datos de les interaiciones d'usuarios y contautos y forne una llibreta de direiciones colos datos"
},"pluralForm" :"nplurals=2; plural=(n != 1);"

View file

@ -3,6 +3,8 @@ OC.L10N.register(
{
"Recently contacted" : "Contacté récemment",
"Contacts Interaction" : "Interaction des 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",
"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"
},

View file

@ -1,6 +1,8 @@
{ "translations": {
"Recently contacted" : "Contacté récemment",
"Contacts Interaction" : "Interaction des 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",
"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"
},"pluralForm" :"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"

View file

@ -6,4 +6,4 @@ OC.L10N.register(
"Manages interaction between users and contacts" : "מנהל אינטראקציה בין משתמשים ואנשי קשר",
"Collect data about user and contacts interactions and provide an address book for the data" : "אוסף נתונים על אינטראקציות של משתמשים ואנשי קשר, ומספק פנקס כתובות לנתונים"
},
"nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: (n % 10 == 0 && n % 1 == 0 && n > 10) ? 2 : 3;");
"nplurals=3; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: 2;");

View file

@ -3,5 +3,5 @@
"Contacts Interaction" : "אינטראקציה בין אנשי קשר",
"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 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: (n % 10 == 0 && n % 1 == 0 && n > 10) ? 2 : 3;"
},"pluralForm" :"nplurals=3; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: 2;"
}

View file

@ -3,6 +3,8 @@ OC.L10N.register(
{
"Recently contacted" : "Contactados recentemente",
"Contacts Interaction" : "Interação de contatos",
"Manages interaction between accounts and contacts" : "Gerencia a interação entre contas e contatos",
"Collect data about accounts and contacts interactions and provide an address book for the data" : "Colete dados sobre interações de contas e contatos e forneça um catálogo de endereços para os dados",
"Manages interaction between users and contacts" : "Gerenciar interação entre usuários e contatos",
"Collect data about user and contacts interactions and provide an address book for the data" : "Coletar dados sobre usuários e interação de contatos e prover um livro de endereços para o dado"
},

View file

@ -1,6 +1,8 @@
{ "translations": {
"Recently contacted" : "Contactados recentemente",
"Contacts Interaction" : "Interação de contatos",
"Manages interaction between accounts and contacts" : "Gerencia a interação entre contas e contatos",
"Collect data about accounts and contacts interactions and provide an address book for the data" : "Colete dados sobre interações de contas e contatos e forneça um catálogo de endereços para os dados",
"Manages interaction between users and contacts" : "Gerenciar interação entre usuários e contatos",
"Collect data about user and contacts interactions and provide an address book for the data" : "Coletar dados sobre usuários e interação de contatos e prover um livro de endereços para o dado"
},"pluralForm" :"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"

View file

@ -21,4 +21,4 @@ OC.L10N.register(
"Hello" : "שלום",
"Hello, {name}" : "שלום, {name}"
},
"nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: (n % 10 == 0 && n % 1 == 0 && n > 10) ? 2 : 3;");
"nplurals=3; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: 2;");

View file

@ -18,5 +18,5 @@
"Good evening, {name}" : "ערב טוב, {name}",
"Hello" : "שלום",
"Hello, {name}" : "שלום, {name}"
},"pluralForm" :"nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: (n % 10 == 0 && n % 1 == 0 && n > 10) ? 2 : 3;"
},"pluralForm" :"nplurals=3; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: 2;"
}

View file

@ -3,6 +3,7 @@ OC.L10N.register(
{
"Dashboard" : "Painel",
"Dashboard app" : "Aplicativo Painel",
"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." : "Comece o dia informado \n\nO Nextcloud Dashboard é o seu ponto de partida do dia, oferecendo uma visão geral de seus próximos compromissos, e-mails urgentes, mensagens de bate-papo, tickets recebidos, tweets mais recentes e muito mais! As pessoas podem adicionar os widgets que desejarem e alterar o plano de fundo de acordo com sua preferência.",
"\"{title} icon\"" : "\"{title} icon\"",
"Customize" : "Personalizar",
"Edit widgets" : "Editar widgets",

View file

@ -1,6 +1,7 @@
{ "translations": {
"Dashboard" : "Painel",
"Dashboard app" : "Aplicativo Painel",
"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." : "Comece o dia informado \n\nO Nextcloud Dashboard é o seu ponto de partida do dia, oferecendo uma visão geral de seus próximos compromissos, e-mails urgentes, mensagens de bate-papo, tickets recebidos, tweets mais recentes e muito mais! As pessoas podem adicionar os widgets que desejarem e alterar o plano de fundo de acordo com sua preferência.",
"\"{title} icon\"" : "\"{title} icon\"",
"Customize" : "Personalizar",
"Edit widgets" : "Editar widgets",

View file

@ -54,25 +54,14 @@ use OCP\IRequest;
*/
class DashboardApiController extends OCSController {
/** @var IManager */
private $dashboardManager;
/** @var IConfig */
private $config;
/** @var string|null */
private $userId;
public function __construct(
string $appName,
IRequest $request,
IManager $dashboardManager,
IConfig $config,
?string $userId
private IManager $dashboardManager,
private IConfig $config,
private ?string $userId,
) {
parent::__construct($appName, $request);
$this->dashboardManager = $dashboardManager;
$this->config = $config;
$this->userId = $userId;
}
/**

View file

@ -46,37 +46,17 @@ use OCP\IRequest;
#[OpenAPI(scope: OpenAPI::SCOPE_IGNORE)]
class DashboardController extends Controller {
/** @var IInitialState */
private $initialState;
/** @var IEventDispatcher */
private $eventDispatcher;
/** @var IManager */
private $dashboardManager;
/** @var IConfig */
private $config;
/** @var IL10N */
private $l10n;
/** @var string */
private $userId;
public function __construct(
string $appName,
IRequest $request,
IInitialState $initialState,
IEventDispatcher $eventDispatcher,
IManager $dashboardManager,
IConfig $config,
IL10N $l10n,
$userId
private IInitialState $initialState,
private IEventDispatcher $eventDispatcher,
private IManager $dashboardManager,
private IConfig $config,
private IL10N $l10n,
private ?string $userId
) {
parent::__construct($appName, $request);
$this->initialState = $initialState;
$this->eventDispatcher = $eventDispatcher;
$this->dashboardManager = $dashboardManager;
$this->config = $config;
$this->l10n = $l10n;
$this->userId = $userId;
}
/**

View file

@ -31,21 +31,15 @@ use OCP\IConfig;
use OCP\IRequest;
class LayoutApiController extends OCSController {
/** @var IConfig */
private $config;
/** @var string */
private $userId;
public function __construct(
string $appName,
IRequest $request,
IConfig $config,
$userId
private IConfig $config,
private ?string $userId,
) {
parent::__construct($appName, $request);
$this->config = $config;
$this->userId = $userId;
}
/**

View file

@ -50,6 +50,7 @@
<command>OCA\DAV\Command\CreateAddressBook</command>
<command>OCA\DAV\Command\CreateCalendar</command>
<command>OCA\DAV\Command\DeleteCalendar</command>
<command>OCA\DAV\Command\FixCalendarSyncCommand</command>
<command>OCA\DAV\Command\MoveCalendar</command>
<command>OCA\DAV\Command\ListCalendars</command>
<command>OCA\DAV\Command\RetentionCleanupCommand</command>

View file

@ -141,6 +141,7 @@ return array(
'OCA\\DAV\\Command\\CreateAddressBook' => $baseDir . '/../lib/Command/CreateAddressBook.php',
'OCA\\DAV\\Command\\CreateCalendar' => $baseDir . '/../lib/Command/CreateCalendar.php',
'OCA\\DAV\\Command\\DeleteCalendar' => $baseDir . '/../lib/Command/DeleteCalendar.php',
'OCA\\DAV\\Command\\FixCalendarSyncCommand' => $baseDir . '/../lib/Command/FixCalendarSyncCommand.php',
'OCA\\DAV\\Command\\ListCalendars' => $baseDir . '/../lib/Command/ListCalendars.php',
'OCA\\DAV\\Command\\MoveCalendar' => $baseDir . '/../lib/Command/MoveCalendar.php',
'OCA\\DAV\\Command\\RemoveInvalidShares' => $baseDir . '/../lib/Command/RemoveInvalidShares.php',

View file

@ -156,6 +156,7 @@ class ComposerStaticInitDAV
'OCA\\DAV\\Command\\CreateAddressBook' => __DIR__ . '/..' . '/../lib/Command/CreateAddressBook.php',
'OCA\\DAV\\Command\\CreateCalendar' => __DIR__ . '/..' . '/../lib/Command/CreateCalendar.php',
'OCA\\DAV\\Command\\DeleteCalendar' => __DIR__ . '/..' . '/../lib/Command/DeleteCalendar.php',
'OCA\\DAV\\Command\\FixCalendarSyncCommand' => __DIR__ . '/..' . '/../lib/Command/FixCalendarSyncCommand.php',
'OCA\\DAV\\Command\\ListCalendars' => __DIR__ . '/..' . '/../lib/Command/ListCalendars.php',
'OCA\\DAV\\Command\\MoveCalendar' => __DIR__ . '/..' . '/../lib/Command/MoveCalendar.php',
'OCA\\DAV\\Command\\RemoveInvalidShares' => __DIR__ . '/..' . '/../lib/Command/RemoveInvalidShares.php',

View file

@ -2,7 +2,7 @@ OC.L10N.register(
"dav",
{
"Calendar" : "التقويم",
"To-dos" : "قائمة المهام",
"Tasks" : "المهام",
"Personal" : "شخصي",
"{actor} created calendar {calendar}" : "{actor} قام بإنشاء تقويم {calendar}",
"You created calendar {calendar}" : "قمت بإنشاء التقويم {calendar}",
@ -143,7 +143,6 @@ OC.L10N.register(
"Configures a CalDAV account" : "تكوين حساب CalDAV",
"Configures a CardDAV account" : "تكوين حساب CardDAV",
"Events" : "أحداث",
"Tasks" : "المهام",
"Untitled task" : "مهمة بدون اسم",
"Completed on %s" : "تمّ الانتهاء منه في %s",
"Due on %s by %s" : "مطلوبٌ في %s من قِبَل%s",
@ -206,6 +205,7 @@ OC.L10N.register(
"Are you accepting the invitation?" : "هل تقبل الدعوة؟",
"Tentative" : "مبدئي",
"Your attendance was updated successfully." : "حضورك تم تحديثه بنجاحٍ",
"To-dos" : "قائمة المهام",
"If you configure your working hours, other users will see when you are out of office when they book a meeting." : "إذا قمت بتهيئة ساعات العمل الخاصة بك، فسيظهر للمستخدمين الآخرين عندما يحجزون معك موعداً إذا ما كنت في المكتب أو خارجه."
},
"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;");

View file

@ -1,6 +1,6 @@
{ "translations": {
"Calendar" : "التقويم",
"To-dos" : "قائمة المهام",
"Tasks" : "المهام",
"Personal" : "شخصي",
"{actor} created calendar {calendar}" : "{actor} قام بإنشاء تقويم {calendar}",
"You created calendar {calendar}" : "قمت بإنشاء التقويم {calendar}",
@ -141,7 +141,6 @@
"Configures a CalDAV account" : "تكوين حساب CalDAV",
"Configures a CardDAV account" : "تكوين حساب CardDAV",
"Events" : "أحداث",
"Tasks" : "المهام",
"Untitled task" : "مهمة بدون اسم",
"Completed on %s" : "تمّ الانتهاء منه في %s",
"Due on %s by %s" : "مطلوبٌ في %s من قِبَل%s",
@ -204,6 +203,7 @@
"Are you accepting the invitation?" : "هل تقبل الدعوة؟",
"Tentative" : "مبدئي",
"Your attendance was updated successfully." : "حضورك تم تحديثه بنجاحٍ",
"To-dos" : "قائمة المهام",
"If you configure your working hours, other users will see when you are out of office when they book a meeting." : "إذا قمت بتهيئة ساعات العمل الخاصة بك، فسيظهر للمستخدمين الآخرين عندما يحجزون معك موعداً إذا ما كنت في المكتب أو خارجه."
},"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;"
}

114
apps/dav/l10n/ast.js Normal file
View file

@ -0,0 +1,114 @@
OC.L10N.register(
"dav",
{
"Calendar" : "Calendariu",
"Tasks" : "Xeres",
"Personal" : "Personal",
"{actor} created calendar {calendar}" : "{actor} creó'l calendariu «{calendar}»",
"You created calendar {calendar}" : "Creesti'l calendariu «{calendar}»",
"{actor} deleted calendar {calendar}" : "{actor} desanició'l calendariu «{calendar}»",
"You deleted calendar {calendar}" : "Desaniciesti'l calendariu «{calendar}»",
"{actor} updated calendar {calendar}" : "{actor} anovó'l calendariu «{calendar}»",
"You updated calendar {calendar}" : "Anovesti'l calendariu «{calendar}»",
"{actor} restored calendar {calendar}" : "{actor} restauró'l calendariu «{calendar}»",
"You restored calendar {calendar}" : "Restauresti'l calendariu «{calendar}»",
"You removed public link for calendar {calendar}" : "Desaniciesti l'enllaz públicu del calendariu «{calendar}»",
"{actor} shared calendar {calendar} with you" : "{actor} compartió'l calendariu «{calendar}» contigo",
"You shared calendar {calendar} with {user}" : "Compartiesti'l calendariu «{calendar}» con {user}",
"{actor} shared calendar {calendar} with {user}" : "{actor} compartió'l calendariu «{calendar}» con {user}",
"{actor} unshared calendar {calendar} from you" : "{actor} dexó de compartir el calendariu «{calendar}» contigo",
"You unshared calendar {calendar} from {user}" : "Dexesti de compartir el calendariu «{calendar}» con «{user}»",
"{actor} unshared calendar {calendar} from {user}" : "{actor} dexó de compartir el calendariu «{calendar}» con «{user}»",
"{actor} unshared calendar {calendar} from themselves" : "{actor} dexó de compartir el calendariu «{calendar}» con sigo",
"You shared calendar {calendar} with group {group}" : "Compartiesti'l calendariu «{calendar}» col grupu «{gorup}»",
"{actor} shared calendar {calendar} with group {group}" : "{actor} compartió'l calendariu «{calendar}» col grupu «{group}»",
"You unshared calendar {calendar} from group {group}" : "Dexesti de compartir el calendariu «{calendar}» col grupu «{group}»",
"{actor} unshared calendar {calendar} from group {group}" : "{actor} dexó de compartir el calendariu «{calendar}» col grupu «{group}»",
"Untitled event" : "Eventu ensin títulu",
"{actor} created event {event} in calendar {calendar}" : "{actor} creó l'eventu «{event}» nel calendariu «{calendar}»",
"You created event {event} in calendar {calendar}" : "Creesti l'eventu «{event}» nel calendariu «{calendar}»",
"{actor} deleted event {event} from calendar {calendar}" : "{actor} desanició l'eventu «{event}» del calendariu «{calendar}»",
"You deleted event {event} from calendar {calendar}" : "Desaniciesti l'eventu «{event}» del calendariu «{calendar}»",
"{actor} updated event {event} in calendar {calendar}" : "{actor} anovó l'eventu {event} nel calendariu {calendar}",
"You updated event {event} in calendar {calendar}" : "Anovesti l'eventu {event} nel calendariu {calendar}",
"{actor} moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "{actor} movió l'eventu «{event}» del calendariu «{sourceCalendar}» al calendariu «{targetCalendar}»",
"You moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "Moviesti l'eventu «{event}» del calendariu «{sourceCalendar}» al calendariu «{targetCalendar}»",
"{actor} restored event {event} of calendar {calendar}" : "{actor} restauró l'eventu «{event}» del calendariu «{calendar}»",
"You restored event {event} of calendar {calendar}" : "Restauresti l'eventu «{event}» del calendariu «{calendar}»",
"{actor} created to-do {todo} in list {calendar}" : "{actor} creó la xera pendiente «{todo}» na llista «{calendar}»",
"You created to-do {todo} in list {calendar}" : "Creesti la xera pendiente «{todo}» na llista «{calendar}»",
"{actor} deleted to-do {todo} from list {calendar}" : "{actor} desanició la xera pendiente «{todo}» de la llista «{calendar}»",
"You deleted to-do {todo} from list {calendar}" : "Desaniciesti la xera pendiente «{todo}» de la llista «{calendar}»",
"{actor} updated to-do {todo} in list {calendar}" : "{actor} anovó la xera pendiente «{todo}» de la llista «{calendar}»",
"You updated to-do {todo} in list {calendar}" : "Anovesti la xera pendiente «{todo}» de la llista «{calendar}»",
"{actor} solved to-do {todo} in list {calendar}" : "{actor} resolvió la xera pendiente «{todo}» de la llista «{calendar}»",
"You solved to-do {todo} in list {calendar}" : "Resolviesti la xera pendiente «{todo}» de la llista «{calendar}»",
"{actor} reopened to-do {todo} in list {calendar}" : "{actor} volvió abrir la xera pendiente «{todo}» de la llista «{calendar}»",
"You reopened to-do {todo} in list {calendar}" : "Volviesti abrir la xera pendiente «{todo}» de la llista «{calendar}»",
"A <strong>calendar</strong> was modified" : "Modificóse un <strong>calendariu</strong>",
"A calendar <strong>event</strong> was modified" : "Modificóse un elementu del <strong>calendariu</strong>",
"A calendar <strong>to-do</strong> was modified" : "Modificóse una <strong>xera pendiente</strong> del calendariu",
"Untitled calendar" : "Calendariu ensin títulu",
"Calendar:" : "Calendariu:",
"Date:" : "Data:",
"Description:" : "Descripción:",
"_%n year_::_%n years_" : ["%n añu","%n años"],
"_%n month_::_%n months_" : ["%n mes","%n meses"],
"_%n day_::_%n days_" : ["%n día","%n díes"],
"_%n hour_::_%n hours_" : ["%n hora","%n hores"],
"_%n minute_::_%n minutes_" : ["%n minutu","%n minutos"],
"Calendar: %s" : "Calendariu: %s",
"Date: %s" : "Data: %s",
"Description: %s" : "Descripción: %s",
"%1$s via %2$s" : "%1$s per %2$s",
"%1$s has accepted your invitation" : "%1$s aceptó la to invitación",
"%1$s has declined your invitation" : "%1$s refugó la to invitación",
"%1$s has responded to your invitation" : "%1$s respondió a la to invitación",
"Invitation updated: %1$s" : "Anovóse la invitación: %1$s",
"%1$s updated the event \"%2$s\"" : "%1$s anovó l'eventu «%2$s»",
"Invitation: %1$s" : "Invitación: %1$s",
"%1$s would like to invite you to \"%2$s\"" : "%1$s quier convidate a «%2$s»",
"Organizer:" : "Organizador:",
"Attendees:" : "Asistentes:",
"Title:" : "Títulu:",
"Time:" : "Hora:",
"Location:" : "Llugar:",
"Link:" : "Enllaz:",
"Accept" : "Aceptar",
"Decline" : "Refugar",
"More options …" : "Más opciones…",
"Contacts" : "Contautos",
"Accounts" : "Cuentes",
"File is not updatable: %1$s" : "El ficheru nun se pue anovar: %1$s",
"Could not write file contents" : "Nun se pudo escribir los conteníos del ficheru",
"_%n byte_::_%n bytes_" : ["%n byte","%n bytes"],
"Could not open file" : "Nun se pudo abrir el ficheru",
"Encryption not ready: %1$s" : "El cifráu nun ta preparáu: %1$s",
"Failed to open file: %1$s" : "Nun se pue abrir el ficheru: %1$s",
"Failed to unlink: %1$s" : "Nun se pue desenllaciar: %1$s",
"Failed to write file contents: %1$s" : "Nun se pue escribir el conteníu nel ficheru: %1$s",
"File not found: %1$s" : "Nun s'atopó'l ficheru: %1$s",
"Configures a CalDAV account" : "Configura una cuenta CalDAV",
"Configures a CardDAV account" : "Configura una cuenta CardDAV",
"Events" : "Eventos",
"Untitled task" : "Xera ensin títulu",
"Contacts and groups" : "Contautos y grupos",
"WebDAV" : "WebDAV",
"WebDAV endpoint" : "Estremu de WebDAV",
"Save" : "Guardar",
"Time zone:" : "Fusu horariu:",
"Monday" : "Llunes",
"Tuesday" : "Martes",
"Wednesday" : "Miércoles",
"Thursday" : "Xueves",
"Friday" : "Vienres",
"Saturday" : "Sábadu",
"Sunday" : "Domingu",
"Failed to load availability" : "Nun se pue cargar la disponibilidá",
"Failed to save availability" : "Nun se pue guardar la disponibilidá",
"Availability" : "Disponibilidá",
"Calendar server" : "Sirvidor de calendarios",
"Are you accepting the invitation?" : "¿Aceptes la invitación?",
"Your attendance was updated successfully." : "La to asistencia anovóse correutamente."
},
"nplurals=2; plural=(n != 1);");

112
apps/dav/l10n/ast.json Normal file
View file

@ -0,0 +1,112 @@
{ "translations": {
"Calendar" : "Calendariu",
"Tasks" : "Xeres",
"Personal" : "Personal",
"{actor} created calendar {calendar}" : "{actor} creó'l calendariu «{calendar}»",
"You created calendar {calendar}" : "Creesti'l calendariu «{calendar}»",
"{actor} deleted calendar {calendar}" : "{actor} desanició'l calendariu «{calendar}»",
"You deleted calendar {calendar}" : "Desaniciesti'l calendariu «{calendar}»",
"{actor} updated calendar {calendar}" : "{actor} anovó'l calendariu «{calendar}»",
"You updated calendar {calendar}" : "Anovesti'l calendariu «{calendar}»",
"{actor} restored calendar {calendar}" : "{actor} restauró'l calendariu «{calendar}»",
"You restored calendar {calendar}" : "Restauresti'l calendariu «{calendar}»",
"You removed public link for calendar {calendar}" : "Desaniciesti l'enllaz públicu del calendariu «{calendar}»",
"{actor} shared calendar {calendar} with you" : "{actor} compartió'l calendariu «{calendar}» contigo",
"You shared calendar {calendar} with {user}" : "Compartiesti'l calendariu «{calendar}» con {user}",
"{actor} shared calendar {calendar} with {user}" : "{actor} compartió'l calendariu «{calendar}» con {user}",
"{actor} unshared calendar {calendar} from you" : "{actor} dexó de compartir el calendariu «{calendar}» contigo",
"You unshared calendar {calendar} from {user}" : "Dexesti de compartir el calendariu «{calendar}» con «{user}»",
"{actor} unshared calendar {calendar} from {user}" : "{actor} dexó de compartir el calendariu «{calendar}» con «{user}»",
"{actor} unshared calendar {calendar} from themselves" : "{actor} dexó de compartir el calendariu «{calendar}» con sigo",
"You shared calendar {calendar} with group {group}" : "Compartiesti'l calendariu «{calendar}» col grupu «{gorup}»",
"{actor} shared calendar {calendar} with group {group}" : "{actor} compartió'l calendariu «{calendar}» col grupu «{group}»",
"You unshared calendar {calendar} from group {group}" : "Dexesti de compartir el calendariu «{calendar}» col grupu «{group}»",
"{actor} unshared calendar {calendar} from group {group}" : "{actor} dexó de compartir el calendariu «{calendar}» col grupu «{group}»",
"Untitled event" : "Eventu ensin títulu",
"{actor} created event {event} in calendar {calendar}" : "{actor} creó l'eventu «{event}» nel calendariu «{calendar}»",
"You created event {event} in calendar {calendar}" : "Creesti l'eventu «{event}» nel calendariu «{calendar}»",
"{actor} deleted event {event} from calendar {calendar}" : "{actor} desanició l'eventu «{event}» del calendariu «{calendar}»",
"You deleted event {event} from calendar {calendar}" : "Desaniciesti l'eventu «{event}» del calendariu «{calendar}»",
"{actor} updated event {event} in calendar {calendar}" : "{actor} anovó l'eventu {event} nel calendariu {calendar}",
"You updated event {event} in calendar {calendar}" : "Anovesti l'eventu {event} nel calendariu {calendar}",
"{actor} moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "{actor} movió l'eventu «{event}» del calendariu «{sourceCalendar}» al calendariu «{targetCalendar}»",
"You moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "Moviesti l'eventu «{event}» del calendariu «{sourceCalendar}» al calendariu «{targetCalendar}»",
"{actor} restored event {event} of calendar {calendar}" : "{actor} restauró l'eventu «{event}» del calendariu «{calendar}»",
"You restored event {event} of calendar {calendar}" : "Restauresti l'eventu «{event}» del calendariu «{calendar}»",
"{actor} created to-do {todo} in list {calendar}" : "{actor} creó la xera pendiente «{todo}» na llista «{calendar}»",
"You created to-do {todo} in list {calendar}" : "Creesti la xera pendiente «{todo}» na llista «{calendar}»",
"{actor} deleted to-do {todo} from list {calendar}" : "{actor} desanició la xera pendiente «{todo}» de la llista «{calendar}»",
"You deleted to-do {todo} from list {calendar}" : "Desaniciesti la xera pendiente «{todo}» de la llista «{calendar}»",
"{actor} updated to-do {todo} in list {calendar}" : "{actor} anovó la xera pendiente «{todo}» de la llista «{calendar}»",
"You updated to-do {todo} in list {calendar}" : "Anovesti la xera pendiente «{todo}» de la llista «{calendar}»",
"{actor} solved to-do {todo} in list {calendar}" : "{actor} resolvió la xera pendiente «{todo}» de la llista «{calendar}»",
"You solved to-do {todo} in list {calendar}" : "Resolviesti la xera pendiente «{todo}» de la llista «{calendar}»",
"{actor} reopened to-do {todo} in list {calendar}" : "{actor} volvió abrir la xera pendiente «{todo}» de la llista «{calendar}»",
"You reopened to-do {todo} in list {calendar}" : "Volviesti abrir la xera pendiente «{todo}» de la llista «{calendar}»",
"A <strong>calendar</strong> was modified" : "Modificóse un <strong>calendariu</strong>",
"A calendar <strong>event</strong> was modified" : "Modificóse un elementu del <strong>calendariu</strong>",
"A calendar <strong>to-do</strong> was modified" : "Modificóse una <strong>xera pendiente</strong> del calendariu",
"Untitled calendar" : "Calendariu ensin títulu",
"Calendar:" : "Calendariu:",
"Date:" : "Data:",
"Description:" : "Descripción:",
"_%n year_::_%n years_" : ["%n añu","%n años"],
"_%n month_::_%n months_" : ["%n mes","%n meses"],
"_%n day_::_%n days_" : ["%n día","%n díes"],
"_%n hour_::_%n hours_" : ["%n hora","%n hores"],
"_%n minute_::_%n minutes_" : ["%n minutu","%n minutos"],
"Calendar: %s" : "Calendariu: %s",
"Date: %s" : "Data: %s",
"Description: %s" : "Descripción: %s",
"%1$s via %2$s" : "%1$s per %2$s",
"%1$s has accepted your invitation" : "%1$s aceptó la to invitación",
"%1$s has declined your invitation" : "%1$s refugó la to invitación",
"%1$s has responded to your invitation" : "%1$s respondió a la to invitación",
"Invitation updated: %1$s" : "Anovóse la invitación: %1$s",
"%1$s updated the event \"%2$s\"" : "%1$s anovó l'eventu «%2$s»",
"Invitation: %1$s" : "Invitación: %1$s",
"%1$s would like to invite you to \"%2$s\"" : "%1$s quier convidate a «%2$s»",
"Organizer:" : "Organizador:",
"Attendees:" : "Asistentes:",
"Title:" : "Títulu:",
"Time:" : "Hora:",
"Location:" : "Llugar:",
"Link:" : "Enllaz:",
"Accept" : "Aceptar",
"Decline" : "Refugar",
"More options …" : "Más opciones…",
"Contacts" : "Contautos",
"Accounts" : "Cuentes",
"File is not updatable: %1$s" : "El ficheru nun se pue anovar: %1$s",
"Could not write file contents" : "Nun se pudo escribir los conteníos del ficheru",
"_%n byte_::_%n bytes_" : ["%n byte","%n bytes"],
"Could not open file" : "Nun se pudo abrir el ficheru",
"Encryption not ready: %1$s" : "El cifráu nun ta preparáu: %1$s",
"Failed to open file: %1$s" : "Nun se pue abrir el ficheru: %1$s",
"Failed to unlink: %1$s" : "Nun se pue desenllaciar: %1$s",
"Failed to write file contents: %1$s" : "Nun se pue escribir el conteníu nel ficheru: %1$s",
"File not found: %1$s" : "Nun s'atopó'l ficheru: %1$s",
"Configures a CalDAV account" : "Configura una cuenta CalDAV",
"Configures a CardDAV account" : "Configura una cuenta CardDAV",
"Events" : "Eventos",
"Untitled task" : "Xera ensin títulu",
"Contacts and groups" : "Contautos y grupos",
"WebDAV" : "WebDAV",
"WebDAV endpoint" : "Estremu de WebDAV",
"Save" : "Guardar",
"Time zone:" : "Fusu horariu:",
"Monday" : "Llunes",
"Tuesday" : "Martes",
"Wednesday" : "Miércoles",
"Thursday" : "Xueves",
"Friday" : "Vienres",
"Saturday" : "Sábadu",
"Sunday" : "Domingu",
"Failed to load availability" : "Nun se pue cargar la disponibilidá",
"Failed to save availability" : "Nun se pue guardar la disponibilidá",
"Availability" : "Disponibilidá",
"Calendar server" : "Sirvidor de calendarios",
"Are you accepting the invitation?" : "¿Aceptes la invitación?",
"Your attendance was updated successfully." : "La to asistencia anovóse correutamente."
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}

View file

@ -2,7 +2,7 @@ OC.L10N.register(
"dav",
{
"Calendar" : "Календар",
"To-dos" : "Задачи за изпълнение",
"Tasks" : "Задачи",
"Personal" : "Личен",
"{actor} created calendar {calendar}" : "{actor} направи календар {calendar}",
"You created calendar {calendar}" : "Създадохте календара {calendar}",
@ -141,7 +141,6 @@ OC.L10N.register(
"Configures a CalDAV account" : "Конфигурира профил в CalDAV",
"Configures a CardDAV account" : "Конфигурира профил в CalDAV",
"Events" : "Събития",
"Tasks" : "Задачи",
"Untitled task" : "Задача без заглавие",
"Completed on %s" : "Завършен на %s",
"Due on %s by %s" : "Краен срок на %s от %s",
@ -187,6 +186,7 @@ OC.L10N.register(
"Are you accepting the invitation?" : "Приемате ли поканата?",
"Tentative" : "Несигурно",
"Your attendance was updated successfully." : "Вашето присъствие е актуализирано успешно.",
"To-dos" : "Задачи за изпълнение",
"If you configure your working hours, other users will see when you are out of office when they book a meeting." : "Ако конфигурирате работното си време, другите потребители ще виждат кога сте извън офиса, при резервиране на среща."
},
"nplurals=2; plural=(n != 1);");

View file

@ -1,6 +1,6 @@
{ "translations": {
"Calendar" : "Календар",
"To-dos" : "Задачи за изпълнение",
"Tasks" : "Задачи",
"Personal" : "Личен",
"{actor} created calendar {calendar}" : "{actor} направи календар {calendar}",
"You created calendar {calendar}" : "Създадохте календара {calendar}",
@ -139,7 +139,6 @@
"Configures a CalDAV account" : "Конфигурира профил в CalDAV",
"Configures a CardDAV account" : "Конфигурира профил в CalDAV",
"Events" : "Събития",
"Tasks" : "Задачи",
"Untitled task" : "Задача без заглавие",
"Completed on %s" : "Завършен на %s",
"Due on %s by %s" : "Краен срок на %s от %s",
@ -185,6 +184,7 @@
"Are you accepting the invitation?" : "Приемате ли поканата?",
"Tentative" : "Несигурно",
"Your attendance was updated successfully." : "Вашето присъствие е актуализирано успешно.",
"To-dos" : "Задачи за изпълнение",
"If you configure your working hours, other users will see when you are out of office when they book a meeting." : "Ако конфигурирате работното си време, другите потребители ще виждат кога сте извън офиса, при резервиране на среща."
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}

View file

@ -2,7 +2,7 @@ OC.L10N.register(
"dav",
{
"Calendar" : "Calendari",
"To-dos" : "Tasques pendents",
"Tasks" : "Tasques",
"Personal" : "Personal",
"{actor} created calendar {calendar}" : "{actor} ha creat el calendari {calendar}",
"You created calendar {calendar}" : "Heu creat el calendari {calendar}",
@ -143,7 +143,6 @@ OC.L10N.register(
"Configures a CalDAV account" : "Configura un compte CalDAV",
"Configures a CardDAV account" : "Configura un compte CardDAV",
"Events" : "Esdeveniments",
"Tasks" : "Tasques",
"Untitled task" : "Tasca sense títol",
"Completed on %s" : "Completada el %s",
"Due on %s by %s" : "Venç el %s a les %s",
@ -206,6 +205,7 @@ OC.L10N.register(
"Are you accepting the invitation?" : "Accepteu la invitació?",
"Tentative" : "Provisional",
"Your attendance was updated successfully." : "S'ha actualitzat correctament l'assistència.",
"To-dos" : "Tasques pendents",
"If you configure your working hours, other users will see when you are out of office when they book a meeting." : "Si configureu el vostre horari laboral, la resta d'usuaris veuran quan sou fora de l'oficina quan planifiquin una reunió."
},
"nplurals=2; plural=(n != 1);");

View file

@ -1,6 +1,6 @@
{ "translations": {
"Calendar" : "Calendari",
"To-dos" : "Tasques pendents",
"Tasks" : "Tasques",
"Personal" : "Personal",
"{actor} created calendar {calendar}" : "{actor} ha creat el calendari {calendar}",
"You created calendar {calendar}" : "Heu creat el calendari {calendar}",
@ -141,7 +141,6 @@
"Configures a CalDAV account" : "Configura un compte CalDAV",
"Configures a CardDAV account" : "Configura un compte CardDAV",
"Events" : "Esdeveniments",
"Tasks" : "Tasques",
"Untitled task" : "Tasca sense títol",
"Completed on %s" : "Completada el %s",
"Due on %s by %s" : "Venç el %s a les %s",
@ -204,6 +203,7 @@
"Are you accepting the invitation?" : "Accepteu la invitació?",
"Tentative" : "Provisional",
"Your attendance was updated successfully." : "S'ha actualitzat correctament l'assistència.",
"To-dos" : "Tasques pendents",
"If you configure your working hours, other users will see when you are out of office when they book a meeting." : "Si configureu el vostre horari laboral, la resta d'usuaris veuran quan sou fora de l'oficina quan planifiquin una reunió."
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}

View file

@ -2,7 +2,7 @@ OC.L10N.register(
"dav",
{
"Calendar" : "Kalendář",
"To-dos" : "Zbývá udělat",
"Tasks" : "Úkoly",
"Personal" : "Osobní",
"{actor} created calendar {calendar}" : "{actor} vytvořil(a) kalendář {calendar}",
"You created calendar {calendar}" : "Vytvořili jste kalendář {calendar}",
@ -143,7 +143,6 @@ OC.L10N.register(
"Configures a CalDAV account" : "Nastaví CalDAV účet",
"Configures a CardDAV account" : "Nastaví CardDAV účet",
"Events" : "Události",
"Tasks" : "Úkoly",
"Untitled task" : "Nepojmenovaný úkol",
"Completed on %s" : "Dokončeno %s",
"Due on %s by %s" : "Termín do %s od %s",
@ -204,6 +203,7 @@ OC.L10N.register(
"Are you accepting the invitation?" : "Přijímáte pozvání?",
"Tentative" : "Nezávazně",
"Your attendance was updated successfully." : "Vaše účast byla úspěšně aktualizována.",
"To-dos" : "Zbývá udělat",
"If you configure your working hours, other users will see when you are out of office when they book a meeting." : "Když sem zadáte svou pracovní dobu, ostatní uživatelé při rezervování schůzky uvidí, kdy jste mimo kancelář."
},
"nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;");

View file

@ -1,6 +1,6 @@
{ "translations": {
"Calendar" : "Kalendář",
"To-dos" : "Zbývá udělat",
"Tasks" : "Úkoly",
"Personal" : "Osobní",
"{actor} created calendar {calendar}" : "{actor} vytvořil(a) kalendář {calendar}",
"You created calendar {calendar}" : "Vytvořili jste kalendář {calendar}",
@ -141,7 +141,6 @@
"Configures a CalDAV account" : "Nastaví CalDAV účet",
"Configures a CardDAV account" : "Nastaví CardDAV účet",
"Events" : "Události",
"Tasks" : "Úkoly",
"Untitled task" : "Nepojmenovaný úkol",
"Completed on %s" : "Dokončeno %s",
"Due on %s by %s" : "Termín do %s od %s",
@ -202,6 +201,7 @@
"Are you accepting the invitation?" : "Přijímáte pozvání?",
"Tentative" : "Nezávazně",
"Your attendance was updated successfully." : "Vaše účast byla úspěšně aktualizována.",
"To-dos" : "Zbývá udělat",
"If you configure your working hours, other users will see when you are out of office when they book a meeting." : "Když sem zadáte svou pracovní dobu, ostatní uživatelé při rezervování schůzky uvidí, kdy jste mimo kancelář."
},"pluralForm" :"nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;"
}

View file

@ -2,7 +2,7 @@ OC.L10N.register(
"dav",
{
"Calendar" : "Kalender",
"To-dos" : "Opgaver",
"Tasks" : "Opgaver",
"Personal" : "Personligt",
"{actor} created calendar {calendar}" : "{actor} oprettede kalenderen {calendar}",
"You created calendar {calendar}" : "Du oprettede kalenderen {calendar}",
@ -143,7 +143,6 @@ OC.L10N.register(
"Configures a CalDAV account" : "Konfigurerer en CalDAV-konto",
"Configures a CardDAV account" : "Konfigurerer en CardDAV-konto",
"Events" : "Begivenheder",
"Tasks" : "Opgaver",
"Untitled task" : "Unavngivet opgave",
"Completed on %s" : "Fuldført den %s",
"Due on %s by %s" : "Forfalder på %s til %s",
@ -188,6 +187,7 @@ OC.L10N.register(
"Are you accepting the invitation?" : "Accepter du invitationen?",
"Tentative" : "Foreløbig",
"Your attendance was updated successfully." : "Dit tilstedeværelse blev opdateret.",
"To-dos" : "Opgaver",
"If you configure your working hours, other users will see when you are out of office when they book a meeting." : "Hvis du konfigurerer din arbejdstid, vil andre brugere se, når du er fraværende, når de booker et møde."
},
"nplurals=2; plural=(n != 1);");

View file

@ -1,6 +1,6 @@
{ "translations": {
"Calendar" : "Kalender",
"To-dos" : "Opgaver",
"Tasks" : "Opgaver",
"Personal" : "Personligt",
"{actor} created calendar {calendar}" : "{actor} oprettede kalenderen {calendar}",
"You created calendar {calendar}" : "Du oprettede kalenderen {calendar}",
@ -141,7 +141,6 @@
"Configures a CalDAV account" : "Konfigurerer en CalDAV-konto",
"Configures a CardDAV account" : "Konfigurerer en CardDAV-konto",
"Events" : "Begivenheder",
"Tasks" : "Opgaver",
"Untitled task" : "Unavngivet opgave",
"Completed on %s" : "Fuldført den %s",
"Due on %s by %s" : "Forfalder på %s til %s",
@ -186,6 +185,7 @@
"Are you accepting the invitation?" : "Accepter du invitationen?",
"Tentative" : "Foreløbig",
"Your attendance was updated successfully." : "Dit tilstedeværelse blev opdateret.",
"To-dos" : "Opgaver",
"If you configure your working hours, other users will see when you are out of office when they book a meeting." : "Hvis du konfigurerer din arbejdstid, vil andre brugere se, når du er fraværende, når de booker et møde."
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}

View file

@ -2,7 +2,7 @@ OC.L10N.register(
"dav",
{
"Calendar" : "Kalender",
"To-dos" : "Aufgaben",
"Tasks" : "Aufgaben",
"Personal" : "Persönlich",
"{actor} created calendar {calendar}" : "{actor} hat den Kalender {calendar} erstellt",
"You created calendar {calendar}" : "Du hast den Kalender {calendar} erstellt",
@ -143,7 +143,6 @@ OC.L10N.register(
"Configures a CalDAV account" : "Ein CalDAV-Konto einrichten",
"Configures a CardDAV account" : "Ein CardDAV-Konto einrichten",
"Events" : "Ereignisse",
"Tasks" : "Aufgaben",
"Untitled task" : "Unbenannte Aufgabe",
"Completed on %s" : "Erledigt am %s",
"Due on %s by %s" : "Fällig am %s von %s",
@ -171,6 +170,7 @@ OC.L10N.register(
"Delete slot" : "Slot löschen",
"No working hours set" : "Keine Arbeitszeiten konfiguriert",
"Add slot" : "Slot hinzufügen",
"Weekdays" : "Wochentage",
"Monday" : "Montag",
"Tuesday" : "Dienstag",
"Wednesday" : "Mittwoch",
@ -185,6 +185,7 @@ OC.L10N.register(
"Saved availability" : "Verfügbarkeit gespeichert",
"Failed to save availability" : "Fehler beim Speichern der Verfügbarkeit",
"Availability" : "Verfügbarkeit",
"If you configure your working hours, other people will see when you are out of office when they book a meeting." : "Wenn du deine Arbeitszeiten konfigurierst, können andere Benutzer sehen, wann du nicht im Büro bist, wenn sie eine Besprechung buchen.",
"Absence" : "Abwesenheit",
"Configure your next absence period." : "Richte deinen nächsten Abwesenheitszeitraum ein.",
"Calendar server" : "Kalender-Server",
@ -204,6 +205,7 @@ OC.L10N.register(
"Are you accepting the invitation?" : "Die Einladung annehmen?",
"Tentative" : "Vorläufig",
"Your attendance was updated successfully." : "Dein Teilnehmerstatus wurde aktualisiert.",
"To-dos" : "Aufgaben",
"If you configure your working hours, other users will see when you are out of office when they book a meeting." : "Wenn du deine Arbeitszeiten konfigurierst, können andere Benutzer sehen, wann du nicht im Büro bist, wenn sie eine Besprechung buchen."
},
"nplurals=2; plural=(n != 1);");

View file

@ -1,6 +1,6 @@
{ "translations": {
"Calendar" : "Kalender",
"To-dos" : "Aufgaben",
"Tasks" : "Aufgaben",
"Personal" : "Persönlich",
"{actor} created calendar {calendar}" : "{actor} hat den Kalender {calendar} erstellt",
"You created calendar {calendar}" : "Du hast den Kalender {calendar} erstellt",
@ -141,7 +141,6 @@
"Configures a CalDAV account" : "Ein CalDAV-Konto einrichten",
"Configures a CardDAV account" : "Ein CardDAV-Konto einrichten",
"Events" : "Ereignisse",
"Tasks" : "Aufgaben",
"Untitled task" : "Unbenannte Aufgabe",
"Completed on %s" : "Erledigt am %s",
"Due on %s by %s" : "Fällig am %s von %s",
@ -169,6 +168,7 @@
"Delete slot" : "Slot löschen",
"No working hours set" : "Keine Arbeitszeiten konfiguriert",
"Add slot" : "Slot hinzufügen",
"Weekdays" : "Wochentage",
"Monday" : "Montag",
"Tuesday" : "Dienstag",
"Wednesday" : "Mittwoch",
@ -183,6 +183,7 @@
"Saved availability" : "Verfügbarkeit gespeichert",
"Failed to save availability" : "Fehler beim Speichern der Verfügbarkeit",
"Availability" : "Verfügbarkeit",
"If you configure your working hours, other people will see when you are out of office when they book a meeting." : "Wenn du deine Arbeitszeiten konfigurierst, können andere Benutzer sehen, wann du nicht im Büro bist, wenn sie eine Besprechung buchen.",
"Absence" : "Abwesenheit",
"Configure your next absence period." : "Richte deinen nächsten Abwesenheitszeitraum ein.",
"Calendar server" : "Kalender-Server",
@ -202,6 +203,7 @@
"Are you accepting the invitation?" : "Die Einladung annehmen?",
"Tentative" : "Vorläufig",
"Your attendance was updated successfully." : "Dein Teilnehmerstatus wurde aktualisiert.",
"To-dos" : "Aufgaben",
"If you configure your working hours, other users will see when you are out of office when they book a meeting." : "Wenn du deine Arbeitszeiten konfigurierst, können andere Benutzer sehen, wann du nicht im Büro bist, wenn sie eine Besprechung buchen."
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}

View file

@ -2,7 +2,7 @@ OC.L10N.register(
"dav",
{
"Calendar" : "Kalender",
"To-dos" : "Aufgaben",
"Tasks" : "Aufgaben",
"Personal" : "Persönlich",
"{actor} created calendar {calendar}" : "{actor} hat den Kalender {calendar} erstellt",
"You created calendar {calendar}" : "Sie haben den Kalender {calendar} erstellt",
@ -143,7 +143,6 @@ OC.L10N.register(
"Configures a CalDAV account" : "Ein CalDAV-Konto einrichten",
"Configures a CardDAV account" : "Ein CardDAV-Konto einrichten",
"Events" : "Ereignisse",
"Tasks" : "Aufgaben",
"Untitled task" : "Unbenannte Aufgabe",
"Completed on %s" : "Erledigt am %s",
"Due on %s by %s" : "Fällig am %s von %s",
@ -206,6 +205,7 @@ OC.L10N.register(
"Are you accepting the invitation?" : "Die Einladung annehmen?",
"Tentative" : "Vorläufig",
"Your attendance was updated successfully." : "Ihr Teilnehmerstatus wurde aktualisiert.",
"To-dos" : "Aufgaben",
"If you configure your working hours, other users will see when you are out of office when they book a meeting." : "Wenn Sie Ihre Arbeitszeiten konfigurieren, können andere Benutzer sehen, wann Sie nicht im Büro sind, wenn sie eine Besprechung buchen."
},
"nplurals=2; plural=(n != 1);");

View file

@ -1,6 +1,6 @@
{ "translations": {
"Calendar" : "Kalender",
"To-dos" : "Aufgaben",
"Tasks" : "Aufgaben",
"Personal" : "Persönlich",
"{actor} created calendar {calendar}" : "{actor} hat den Kalender {calendar} erstellt",
"You created calendar {calendar}" : "Sie haben den Kalender {calendar} erstellt",
@ -141,7 +141,6 @@
"Configures a CalDAV account" : "Ein CalDAV-Konto einrichten",
"Configures a CardDAV account" : "Ein CardDAV-Konto einrichten",
"Events" : "Ereignisse",
"Tasks" : "Aufgaben",
"Untitled task" : "Unbenannte Aufgabe",
"Completed on %s" : "Erledigt am %s",
"Due on %s by %s" : "Fällig am %s von %s",
@ -204,6 +203,7 @@
"Are you accepting the invitation?" : "Die Einladung annehmen?",
"Tentative" : "Vorläufig",
"Your attendance was updated successfully." : "Ihr Teilnehmerstatus wurde aktualisiert.",
"To-dos" : "Aufgaben",
"If you configure your working hours, other users will see when you are out of office when they book a meeting." : "Wenn Sie Ihre Arbeitszeiten konfigurieren, können andere Benutzer sehen, wann Sie nicht im Büro sind, wenn sie eine Besprechung buchen."
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}

View file

@ -2,6 +2,7 @@ OC.L10N.register(
"dav",
{
"Calendar" : "Ημερολόγιο",
"Tasks" : "Εργασίες",
"Personal" : "Προσωπικά",
"{actor} created calendar {calendar}" : "{actor} δημιουργήθηκε το ημερολόγιο {calendar}",
"You created calendar {calendar}" : "Δημιουργήσατε ημερολόγιο {ημερολόγιο}",
@ -75,7 +76,6 @@ OC.L10N.register(
"Configures a CalDAV account" : "Ρυθμίσεις λογαριασμού CalDAV",
"Configures a CardDAV account" : "Ρυθμίσεις λογαριασμού CardDAV",
"Events" : "Συμβάντα",
"Tasks" : "Εργασίες",
"Untitled task" : "Εργασία χωρίς όνομα",
"Completed on %s" : "Ολοκληρώθηκε %s",
"Contacts and groups" : "Επαφές και ομάδες",

View file

@ -1,5 +1,6 @@
{ "translations": {
"Calendar" : "Ημερολόγιο",
"Tasks" : "Εργασίες",
"Personal" : "Προσωπικά",
"{actor} created calendar {calendar}" : "{actor} δημιουργήθηκε το ημερολόγιο {calendar}",
"You created calendar {calendar}" : "Δημιουργήσατε ημερολόγιο {ημερολόγιο}",
@ -73,7 +74,6 @@
"Configures a CalDAV account" : "Ρυθμίσεις λογαριασμού CalDAV",
"Configures a CardDAV account" : "Ρυθμίσεις λογαριασμού CardDAV",
"Events" : "Συμβάντα",
"Tasks" : "Εργασίες",
"Untitled task" : "Εργασία χωρίς όνομα",
"Completed on %s" : "Ολοκληρώθηκε %s",
"Contacts and groups" : "Επαφές και ομάδες",

View file

@ -2,7 +2,7 @@ OC.L10N.register(
"dav",
{
"Calendar" : "Calendar",
"To-dos" : "To-dos",
"Tasks" : "Tasks",
"Personal" : "Personal",
"{actor} created calendar {calendar}" : "{actor} created calendar {calendar}",
"You created calendar {calendar}" : "You created calendar {calendar}",
@ -143,7 +143,6 @@ OC.L10N.register(
"Configures a CalDAV account" : "Configures a CalDAV account",
"Configures a CardDAV account" : "Configures a CardDAV account",
"Events" : "Events",
"Tasks" : "Tasks",
"Untitled task" : "Untitled task",
"Completed on %s" : "Completed on %s",
"Due on %s by %s" : "Due on %s by %s",
@ -171,6 +170,7 @@ OC.L10N.register(
"Delete slot" : "Delete slot",
"No working hours set" : "No working hours set",
"Add slot" : "Add slot",
"Weekdays" : "Weekdays",
"Monday" : "Monday",
"Tuesday" : "Tuesday",
"Wednesday" : "Wednesday",
@ -205,6 +205,7 @@ OC.L10N.register(
"Are you accepting the invitation?" : "Are you accepting the invitation?",
"Tentative" : "Tentative",
"Your attendance was updated successfully." : "Your attendance was updated successfully.",
"To-dos" : "To-dos",
"If you configure your working hours, other users will see when you are out of office when they book a meeting." : "If you configure your working hours, other users will see when you are out of office when they book a meeting."
},
"nplurals=2; plural=(n != 1);");

View file

@ -1,6 +1,6 @@
{ "translations": {
"Calendar" : "Calendar",
"To-dos" : "To-dos",
"Tasks" : "Tasks",
"Personal" : "Personal",
"{actor} created calendar {calendar}" : "{actor} created calendar {calendar}",
"You created calendar {calendar}" : "You created calendar {calendar}",
@ -141,7 +141,6 @@
"Configures a CalDAV account" : "Configures a CalDAV account",
"Configures a CardDAV account" : "Configures a CardDAV account",
"Events" : "Events",
"Tasks" : "Tasks",
"Untitled task" : "Untitled task",
"Completed on %s" : "Completed on %s",
"Due on %s by %s" : "Due on %s by %s",
@ -169,6 +168,7 @@
"Delete slot" : "Delete slot",
"No working hours set" : "No working hours set",
"Add slot" : "Add slot",
"Weekdays" : "Weekdays",
"Monday" : "Monday",
"Tuesday" : "Tuesday",
"Wednesday" : "Wednesday",
@ -203,6 +203,7 @@
"Are you accepting the invitation?" : "Are you accepting the invitation?",
"Tentative" : "Tentative",
"Your attendance was updated successfully." : "Your attendance was updated successfully.",
"To-dos" : "To-dos",
"If you configure your working hours, other users will see when you are out of office when they book a meeting." : "If you configure your working hours, other users will see when you are out of office when they book a meeting."
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}

View file

@ -2,7 +2,7 @@ OC.L10N.register(
"dav",
{
"Calendar" : "Calendario",
"To-dos" : "Tareas",
"Tasks" : "Tareas",
"Personal" : "Personal",
"{actor} created calendar {calendar}" : "{actor} creó el calendario {calendar}",
"You created calendar {calendar}" : "Usted creó el calendario {calendar}",
@ -143,7 +143,6 @@ OC.L10N.register(
"Configures a CalDAV account" : "Configura una cuenta CalDAV",
"Configures a CardDAV account" : "Configura una cuenta CardDAV",
"Events" : "Eventos",
"Tasks" : "Tareas",
"Untitled task" : "Tarea sin título",
"Completed on %s" : "Completado el %s",
"Due on %s by %s" : "Finaliza el %s por %s",
@ -204,6 +203,7 @@ OC.L10N.register(
"Are you accepting the invitation?" : "¿Aceptas la invitación?",
"Tentative" : "Provisional",
"Your attendance was updated successfully." : "Tu asistencia se ha actualizado con éxito.",
"To-dos" : "Tareas",
"If you configure your working hours, other users will see when you are out of office when they book a meeting." : "Si configura su horario de trabajo, otros usuarios verán cuándo está fuera de la oficina cuando planifiquen una reunión."
},
"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");

View file

@ -1,6 +1,6 @@
{ "translations": {
"Calendar" : "Calendario",
"To-dos" : "Tareas",
"Tasks" : "Tareas",
"Personal" : "Personal",
"{actor} created calendar {calendar}" : "{actor} creó el calendario {calendar}",
"You created calendar {calendar}" : "Usted creó el calendario {calendar}",
@ -141,7 +141,6 @@
"Configures a CalDAV account" : "Configura una cuenta CalDAV",
"Configures a CardDAV account" : "Configura una cuenta CardDAV",
"Events" : "Eventos",
"Tasks" : "Tareas",
"Untitled task" : "Tarea sin título",
"Completed on %s" : "Completado el %s",
"Due on %s by %s" : "Finaliza el %s por %s",
@ -202,6 +201,7 @@
"Are you accepting the invitation?" : "¿Aceptas la invitación?",
"Tentative" : "Provisional",
"Your attendance was updated successfully." : "Tu asistencia se ha actualizado con éxito.",
"To-dos" : "Tareas",
"If you configure your working hours, other users will see when you are out of office when they book a meeting." : "Si configura su horario de trabajo, otros usuarios verán cuándo está fuera de la oficina cuando planifiquen una reunión."
},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
}

View file

@ -2,7 +2,7 @@ OC.L10N.register(
"dav",
{
"Calendar" : "Calendario",
"To-dos" : "Tareas pendientes",
"Tasks" : "Tareas",
"Personal" : "Personal",
"{actor} created calendar {calendar}" : "{actor} creó el calendario {calendar}",
"You created calendar {calendar}" : "Creaste el calendario {calendar}",
@ -143,7 +143,6 @@ OC.L10N.register(
"Configures a CalDAV account" : "Configura una cuenta CalDAV",
"Configures a CardDAV account" : "Configura una cuenta CardDAV",
"Events" : "Eventos",
"Tasks" : "Tareas",
"Untitled task" : "Tarea sin título",
"Completed on %s" : "Completada el %s",
"Due on %s by %s" : "Vence el %s a las %s",
@ -189,6 +188,7 @@ OC.L10N.register(
"Are you accepting the invitation?" : "¿Aceptas la invitación?",
"Tentative" : "Tentativo",
"Your attendance was updated successfully." : "Tu asistencia se actualizó correctamente.",
"To-dos" : "Tareas pendientes",
"If you configure your working hours, other users will see when you are out of office when they book a meeting." : "Si configuras tus horas de trabajo, otros usuarios verán cuando estás fuera de la oficina al reservar una reunión."
},
"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");

View file

@ -1,6 +1,6 @@
{ "translations": {
"Calendar" : "Calendario",
"To-dos" : "Tareas pendientes",
"Tasks" : "Tareas",
"Personal" : "Personal",
"{actor} created calendar {calendar}" : "{actor} creó el calendario {calendar}",
"You created calendar {calendar}" : "Creaste el calendario {calendar}",
@ -141,7 +141,6 @@
"Configures a CalDAV account" : "Configura una cuenta CalDAV",
"Configures a CardDAV account" : "Configura una cuenta CardDAV",
"Events" : "Eventos",
"Tasks" : "Tareas",
"Untitled task" : "Tarea sin título",
"Completed on %s" : "Completada el %s",
"Due on %s by %s" : "Vence el %s a las %s",
@ -187,6 +186,7 @@
"Are you accepting the invitation?" : "¿Aceptas la invitación?",
"Tentative" : "Tentativo",
"Your attendance was updated successfully." : "Tu asistencia se actualizó correctamente.",
"To-dos" : "Tareas pendientes",
"If you configure your working hours, other users will see when you are out of office when they book a meeting." : "Si configuras tus horas de trabajo, otros usuarios verán cuando estás fuera de la oficina al reservar una reunión."
},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
}

View file

@ -2,7 +2,7 @@ OC.L10N.register(
"dav",
{
"Calendar" : "Egutegia",
"To-dos" : "Egitekoak",
"Tasks" : "Zereginak",
"Personal" : "Pertsonala",
"{actor} created calendar {calendar}" : "{actor}-(e)k sortutako egutegia: {calendar}",
"You created calendar {calendar}" : "{calendar} egutegia sortu duzu",
@ -143,7 +143,6 @@ OC.L10N.register(
"Configures a CalDAV account" : "CalDAV kontu bat konfiguratzen du",
"Configures a CardDAV account" : "CardDAV kontu bat konfiguratzen du",
"Events" : "Gertaerak",
"Tasks" : "Zereginak",
"Untitled task" : "Izenik gabeko zeregina",
"Completed on %s" : "%s-an osatua",
"Due on %s by %s" : "%s-(e)an epemuga %s-(e)k",
@ -199,6 +198,7 @@ OC.L10N.register(
"Are you accepting the invitation?" : "Gonbidapena onartzen duzu?",
"Tentative" : "Behin behinekoa",
"Your attendance was updated successfully." : "Zure parte-hartzea ondo eguneratu da.",
"To-dos" : "Egitekoak",
"If you configure your working hours, other users will see when you are out of office when they book a meeting." : "Zure lan orduak konfiguratzen badituzu, beste erabiltzaileek bulegotik kanpo zaudela ikusiko dute bilera bat erreserbatzen dutenean."
},
"nplurals=2; plural=(n != 1);");

View file

@ -1,6 +1,6 @@
{ "translations": {
"Calendar" : "Egutegia",
"To-dos" : "Egitekoak",
"Tasks" : "Zereginak",
"Personal" : "Pertsonala",
"{actor} created calendar {calendar}" : "{actor}-(e)k sortutako egutegia: {calendar}",
"You created calendar {calendar}" : "{calendar} egutegia sortu duzu",
@ -141,7 +141,6 @@
"Configures a CalDAV account" : "CalDAV kontu bat konfiguratzen du",
"Configures a CardDAV account" : "CardDAV kontu bat konfiguratzen du",
"Events" : "Gertaerak",
"Tasks" : "Zereginak",
"Untitled task" : "Izenik gabeko zeregina",
"Completed on %s" : "%s-an osatua",
"Due on %s by %s" : "%s-(e)an epemuga %s-(e)k",
@ -197,6 +196,7 @@
"Are you accepting the invitation?" : "Gonbidapena onartzen duzu?",
"Tentative" : "Behin behinekoa",
"Your attendance was updated successfully." : "Zure parte-hartzea ondo eguneratu da.",
"To-dos" : "Egitekoak",
"If you configure your working hours, other users will see when you are out of office when they book a meeting." : "Zure lan orduak konfiguratzen badituzu, beste erabiltzaileek bulegotik kanpo zaudela ikusiko dute bilera bat erreserbatzen dutenean."
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}

View file

@ -2,7 +2,7 @@ OC.L10N.register(
"dav",
{
"Calendar" : "تقویم",
"To-dos" : "To-dos",
"Tasks" : "وظایف",
"Personal" : "شخصی",
"{actor} created calendar {calendar}" : "{actor} created calendar {calendar}",
"You created calendar {calendar}" : "You created calendar {calendar}",
@ -143,7 +143,6 @@ OC.L10N.register(
"Configures a CalDAV account" : "Configures a CalDAV account",
"Configures a CardDAV account" : "Configures a CardDAV account",
"Events" : "Events",
"Tasks" : "وظایف",
"Untitled task" : "کار بدون عنوان",
"Completed on %s" : "Completed on %s",
"Due on %s by %s" : "Due on %s by %s",
@ -189,6 +188,7 @@ OC.L10N.register(
"Are you accepting the invitation?" : "Are you accepting the invitation?",
"Tentative" : "آزمایشی",
"Your attendance was updated successfully." : "Your attendance was updated successfully.",
"To-dos" : "To-dos",
"If you configure your working hours, other users will see when you are out of office when they book a meeting." : "If you configure your working hours, other users will see when you are out of office when they book a meeting."
},
"nplurals=2; plural=(n > 1);");

View file

@ -1,6 +1,6 @@
{ "translations": {
"Calendar" : "تقویم",
"To-dos" : "To-dos",
"Tasks" : "وظایف",
"Personal" : "شخصی",
"{actor} created calendar {calendar}" : "{actor} created calendar {calendar}",
"You created calendar {calendar}" : "You created calendar {calendar}",
@ -141,7 +141,6 @@
"Configures a CalDAV account" : "Configures a CalDAV account",
"Configures a CardDAV account" : "Configures a CardDAV account",
"Events" : "Events",
"Tasks" : "وظایف",
"Untitled task" : "کار بدون عنوان",
"Completed on %s" : "Completed on %s",
"Due on %s by %s" : "Due on %s by %s",
@ -187,6 +186,7 @@
"Are you accepting the invitation?" : "Are you accepting the invitation?",
"Tentative" : "آزمایشی",
"Your attendance was updated successfully." : "Your attendance was updated successfully.",
"To-dos" : "To-dos",
"If you configure your working hours, other users will see when you are out of office when they book a meeting." : "If you configure your working hours, other users will see when you are out of office when they book a meeting."
},"pluralForm" :"nplurals=2; plural=(n > 1);"
}

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