mirror of
https://github.com/nextcloud/server.git
synced 2026-06-09 08:44:07 -04:00
Merge branch 'master' into refactor/OC-Server-getThemingDefaults
This commit is contained in:
commit
bbb7955cad
1636 changed files with 34140 additions and 16122 deletions
42
.drone.yml
42
.drone.yml
|
|
@ -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
10
.github/CODEOWNERS
vendored
|
|
@ -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
|
||||
|
|
|
|||
13
.github/CONTRIBUTING.md
vendored
13
.github/CONTRIBUTING.md
vendored
|
|
@ -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
|
||||
|
|
|
|||
43
.github/dependabot.yml
vendored
43
.github/dependabot.yml
vendored
|
|
@ -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: "/"
|
||||
|
|
|
|||
31
.github/workflows/block-unconventional-commits.yml
vendored
Normal file
31
.github/workflows/block-unconventional-commits.yml
vendored
Normal 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 }}
|
||||
4
.github/workflows/cypress.yml
vendored
4
.github/workflows/cypress.yml
vendored
|
|
@ -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' || '' }}
|
||||
|
|
|
|||
2
.github/workflows/files-external-ftp.yml
vendored
2
.github/workflows/files-external-ftp.yml
vendored
|
|
@ -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
|
||||
|
|
|
|||
4
.github/workflows/files-external-s3.yml
vendored
4
.github/workflows/files-external-s3.yml
vendored
|
|
@ -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
|
||||
|
|
|
|||
2
.github/workflows/files-external-sftp.yml
vendored
2
.github/workflows/files-external-sftp.yml
vendored
|
|
@ -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
108
.github/workflows/files-external-smb.yml
vendored
Normal 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
|
||||
2
.github/workflows/files-external-webdav.yml
vendored
2
.github/workflows/files-external-webdav.yml
vendored
|
|
@ -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
93
.github/workflows/files-external.yml
vendored
Normal 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
|
||||
2
.github/workflows/node-tests.yml
vendored
2
.github/workflows/node-tests.yml
vendored
|
|
@ -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
|
||||
|
||||
|
|
|
|||
2
.github/workflows/npm-audit-fix.yml
vendored
2
.github/workflows/npm-audit-fix.yml
vendored
|
|
@ -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"
|
||||
|
|
|
|||
2
.github/workflows/object-storage-azure.yml
vendored
2
.github/workflows/object-storage-azure.yml
vendored
|
|
@ -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
|
||||
|
|
|
|||
2
.github/workflows/object-storage-s3.yml
vendored
2
.github/workflows/object-storage-s3.yml
vendored
|
|
@ -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
|
||||
|
|
|
|||
2
.github/workflows/object-storage-swift.yml
vendored
2
.github/workflows/object-storage-swift.yml
vendored
|
|
@ -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
|
||||
|
|
|
|||
5
.github/workflows/performance.yml
vendored
5
.github/workflows/performance.yml
vendored
|
|
@ -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
|
||||
|
|
|
|||
2
.github/workflows/phpunit-mariadb.yml
vendored
2
.github/workflows/phpunit-mariadb.yml
vendored
|
|
@ -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
|
||||
|
|
|
|||
2
.github/workflows/phpunit-memcached.yml
vendored
2
.github/workflows/phpunit-memcached.yml
vendored
|
|
@ -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
|
||||
|
|
|
|||
2
.github/workflows/phpunit-mysql.yml
vendored
2
.github/workflows/phpunit-mysql.yml
vendored
|
|
@ -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
|
||||
|
|
|
|||
2
.github/workflows/phpunit-nodb.yml
vendored
2
.github/workflows/phpunit-nodb.yml
vendored
|
|
@ -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
|
||||
|
|
|
|||
2
.github/workflows/phpunit-oci.yml
vendored
2
.github/workflows/phpunit-oci.yml
vendored
|
|
@ -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
|
||||
|
|
|
|||
2
.github/workflows/phpunit-pgsql.yml
vendored
2
.github/workflows/phpunit-pgsql.yml
vendored
|
|
@ -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
|
||||
|
|
|
|||
2
.github/workflows/phpunit-sqlite.yml
vendored
2
.github/workflows/phpunit-sqlite.yml
vendored
|
|
@ -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
|
||||
|
|
|
|||
2
.github/workflows/update-cacert-bundle.yml
vendored
2
.github/workflows/update-cacert-bundle.yml
vendored
|
|
@ -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"
|
||||
|
|
|
|||
|
|
@ -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"
|
||||
|
|
|
|||
2
.github/workflows/update-psalm-baseline.yml
vendored
2
.github/workflows/update-psalm-baseline.yml
vendored
|
|
@ -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
1
.gitignore
vendored
|
|
@ -173,3 +173,4 @@ core/js/mimetypelist.js
|
|||
# Tests - cypress
|
||||
cypress/snapshots
|
||||
cypress/videos
|
||||
cypress/downloads
|
||||
2
3rdparty
2
3rdparty
|
|
@ -1 +1 @@
|
|||
Subproject commit be6be0e0c5803c083e0684bb4e3c6ec6352da9fa
|
||||
Subproject commit e8a165a3811f1b454694337aaff47c30888ca9fc
|
||||
|
|
@ -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;");
|
||||
|
|
|
|||
|
|
@ -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;"
|
||||
}
|
||||
|
|
@ -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') {
|
||||
|
|
|
|||
|
|
@ -70,7 +70,6 @@ use Psr\Container\ContainerInterface;
|
|||
use Psr\Log\LoggerInterface;
|
||||
|
||||
class Application extends App implements IBootstrap {
|
||||
|
||||
/** @var LoggerInterface */
|
||||
protected $logger;
|
||||
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
|
|
|
|||
8
apps/cloud_federation_api/l10n/es_MX.js
Normal file
8
apps/cloud_federation_api/l10n/es_MX.js
Normal 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;");
|
||||
6
apps/cloud_federation_api/l10n/es_MX.json
Normal file
6
apps/cloud_federation_api/l10n/es_MX.json
Normal 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;"
|
||||
}
|
||||
|
|
@ -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;");
|
||||
|
|
|
|||
|
|
@ -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;"
|
||||
}
|
||||
|
|
@ -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",
|
||||
|
|
|
|||
|
|
@ -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",
|
||||
|
|
|
|||
|
|
@ -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;");
|
||||
|
|
|
|||
|
|
@ -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;"
|
||||
}
|
||||
|
|
@ -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" : "댓글 편집",
|
||||
|
|
|
|||
|
|
@ -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" : "댓글 편집",
|
||||
|
|
|
|||
|
|
@ -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",
|
||||
|
|
|
|||
|
|
@ -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",
|
||||
|
|
|
|||
|
|
@ -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",
|
||||
|
|
|
|||
|
|
@ -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",
|
||||
|
|
|
|||
|
|
@ -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" : "Редагувати коментар",
|
||||
|
|
|
|||
|
|
@ -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" : "Редагувати коментар",
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
})
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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"
|
||||
},
|
||||
|
|
|
|||
|
|
@ -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);"
|
||||
|
|
|
|||
|
|
@ -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"
|
||||
},
|
||||
|
|
|
|||
|
|
@ -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;"
|
||||
|
|
|
|||
|
|
@ -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;");
|
||||
|
|
|
|||
|
|
@ -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;"
|
||||
}
|
||||
|
|
@ -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"
|
||||
},
|
||||
|
|
|
|||
|
|
@ -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;"
|
||||
|
|
|
|||
|
|
@ -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;");
|
||||
|
|
|
|||
|
|
@ -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;"
|
||||
}
|
||||
|
|
@ -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",
|
||||
|
|
|
|||
|
|
@ -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",
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
|
|
|||
|
|
@ -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',
|
||||
|
|
|
|||
|
|
@ -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',
|
||||
|
|
|
|||
|
|
@ -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;");
|
||||
|
|
|
|||
|
|
@ -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
114
apps/dav/l10n/ast.js
Normal 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
112
apps/dav/l10n/ast.json
Normal 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);"
|
||||
}
|
||||
|
|
@ -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);");
|
||||
|
|
|
|||
|
|
@ -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);"
|
||||
}
|
||||
|
|
@ -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);");
|
||||
|
|
|
|||
|
|
@ -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);"
|
||||
}
|
||||
|
|
@ -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;");
|
||||
|
|
|
|||
|
|
@ -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;"
|
||||
}
|
||||
|
|
@ -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);");
|
||||
|
|
|
|||
|
|
@ -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);"
|
||||
}
|
||||
|
|
@ -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);");
|
||||
|
|
|
|||
|
|
@ -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);"
|
||||
}
|
||||
|
|
@ -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);");
|
||||
|
|
|
|||
|
|
@ -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);"
|
||||
}
|
||||
|
|
@ -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" : "Επαφές και ομάδες",
|
||||
|
|
|
|||
|
|
@ -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" : "Επαφές και ομάδες",
|
||||
|
|
|
|||
|
|
@ -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);");
|
||||
|
|
|
|||
|
|
@ -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);"
|
||||
}
|
||||
|
|
@ -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;");
|
||||
|
|
|
|||
|
|
@ -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;"
|
||||
}
|
||||
|
|
@ -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;");
|
||||
|
|
|
|||
|
|
@ -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;"
|
||||
}
|
||||
|
|
@ -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);");
|
||||
|
|
|
|||
|
|
@ -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);"
|
||||
}
|
||||
|
|
@ -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);");
|
||||
|
|
|
|||
|
|
@ -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
Loading…
Reference in a new issue