Merge branch 'master' into fix/external-storage-service-cast-id

This commit is contained in:
Alexander Piskun 2024-12-03 15:36:02 +03:00 committed by GitHub
commit 1022c47d27
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
1700 changed files with 33147 additions and 12202 deletions

14
.github/CODEOWNERS vendored
View file

@ -6,14 +6,14 @@
/apps/contactsinteraction/lib @kesselb @SebastianKrupinski
/apps/contactsinteraction/tests @kesselb @SebastianKrupinski
/apps/dashboard/appinfo/info.xml @julien-nc @juliusknorr
/apps/dav/lib/CalDAV @miaulalala @st3iny @SebastianKrupinski
/apps/dav/lib/CardDAV @miaulalala @st3iny @SebastianKrupinski
/apps/dav/tests/unit/CalDAV @miaulalala @st3iny @SebastianKrupinski
/apps/dav/tests/unit/CardDAV @miaulalala @st3iny @SebastianKrupinski
/apps/dav/lib/CalDAV @st3iny @SebastianKrupinski @tcitworld
/apps/dav/lib/CardDAV @hamza221 @SebastianKrupinski
/apps/dav/tests/unit/CalDAV @st3iny @SebastianKrupinski @tcitworld
/apps/dav/tests/unit/CardDAV @hamza221 @SebastianKrupinski
/apps/encryption/appinfo/info.xml @come-nc @icewind1991
/apps/federatedfilesharing/appinfo/info.xml @icewind1991 @danxuliu
/apps/federation/appinfo/info.xml @datenangebot
/apps/files/appinfo/info.xml @skjnldsv @Pytal @ArtificialOwl @come-nc @artonge @icewind1991 @szaimen @susnux @Fenn-CS
/apps/federation/appinfo/info.xml @nfebe
/apps/files/appinfo/info.xml @skjnldsv @Pytal @ArtificialOwl @come-nc @artonge @icewind1991 @szaimen @susnux @nfebe
/apps/files_external/appinfo/info.xml @icewind1991 @artonge
/apps/files_reminders/appinfo/info.xml @Pytal
/apps/files_sharing/appinfo/info.xml @skjnldsv @come-nc
@ -43,7 +43,7 @@
# Security team
/build/psalm-baseline-security.xml @nickvergessen
/resources/codesigning @mgallien @miaulalala @nickvergessen
/resources/config/ca-bundle.crt @ChristophWurst @miaulalala @nickvergessen
/resources/config/ca-bundle.crt @miaulalala @nickvergessen
# Two-Factor Authentication
# https://github.com/nextcloud/wg-two-factor-authentication#members

View file

@ -51,7 +51,7 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
with:
submodules: true

View file

@ -31,7 +31,7 @@ jobs:
- 'version.php'
- name: Checkout
uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: 3rdparty commit hash on current branch
id: actual

View file

@ -27,7 +27,7 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- uses: webiny/action-conventional-commits@8bc41ff4e7d423d56fa4905f6ff79209a78776c7 # v1.3.0
with:

View file

@ -76,7 +76,7 @@ jobs:
fi
- name: Init branch
uses: xt0rted/pull-request-comment-branch@d97294d304604fa98a2600a6e2f916a84b596dc7 # v1
uses: xt0rted/pull-request-comment-branch@e8b8daa837e8ea7331c0003c9c316a64c6d8b0b1 # v1
id: comment-branch
- name: Add reaction on failure
@ -100,7 +100,7 @@ jobs:
key: git-repo
- name: Checkout ${{ needs.init.outputs.head_ref }}
uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
token: ${{ secrets.COMMAND_BOT_PAT }}
fetch-depth: 0
@ -119,7 +119,7 @@ jobs:
fallbackNpm: '^10'
- name: Set up node ${{ steps.package-engines-versions.outputs.nodeVersion }}
uses: actions/setup-node@0a44ba7841725637a19e28fa30b79a866c81b0a6 # v3
uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v3
with:
node-version: ${{ steps.package-engines-versions.outputs.nodeVersion }}
cache: npm

View file

@ -34,11 +34,11 @@ jobs:
exit 1
- name: Init branch
uses: xt0rted/pull-request-comment-branch@d97294d304604fa98a2600a6e2f916a84b596dc7 # v1
uses: xt0rted/pull-request-comment-branch@e8b8daa837e8ea7331c0003c9c316a64c6d8b0b1 # v1
id: comment-branch
- name: Checkout ${{ steps.comment-branch.outputs.head_ref }}
uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
with:
fetch-depth: 0
token: ${{ secrets.COMMAND_BOT_PAT }}

View file

@ -41,7 +41,7 @@ jobs:
exit 1
- name: Checkout server
uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
# We need to checkout submodules for 3rdparty
submodules: true
@ -64,7 +64,7 @@ jobs:
fallbackNpm: "^10"
- name: Set up node ${{ steps.versions.outputs.nodeVersion }}
uses: actions/setup-node@0a44ba7841725637a19e28fa30b79a866c81b0a6 # v4.0.4
uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0
with:
node-version: ${{ steps.versions.outputs.nodeVersion }}
@ -110,7 +110,7 @@ jobs:
path: ./
- name: Set up node ${{ needs.init.outputs.nodeVersion }}
uses: actions/setup-node@0a44ba7841725637a19e28fa30b79a866c81b0a6 # v4.0.4
uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0
with:
node-version: ${{ needs.init.outputs.nodeVersion }}
@ -121,7 +121,7 @@ jobs:
run: ./node_modules/cypress/bin/cypress install
- name: Run ${{ matrix.containers == 'component' && 'component' || 'E2E' }} cypress tests
uses: cypress-io/github-action@0da3c06ed8217b912deea9d8ee69630baed1737e # v6.7.6
uses: cypress-io/github-action@f1f0912d392f0d06bdd01fb9ebe3b3299e5806fb # v6.7.7
with:
# We already installed the dependencies in the init job
install: false
@ -143,7 +143,7 @@ jobs:
SPLIT_INDEX: ${{ matrix.containers == 'component' && 0 || matrix.containers }}
- name: Upload snapshots
uses: actions/upload-artifact@50769540e7f4bd5e21e526ee35c689e35e0d6874 # v4.4.0
uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # v4.4.3
if: always()
with:
name: snapshots_${{ matrix.containers }}
@ -154,7 +154,7 @@ jobs:
run: docker logs nextcloud-cypress-tests-${{ env.APP_NAME }} > nextcloud.log
- name: Upload NC logs
uses: actions/upload-artifact@50769540e7f4bd5e21e526ee35c689e35e0d6874 # v4.4.0
uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # v4.4.3
if: failure() && matrix.containers != 'component'
with:
name: nc_logs_${{ matrix.containers }}
@ -162,10 +162,10 @@ jobs:
- name: Create data dir archive
if: failure() && matrix.containers != 'component'
run: docker exec nextcloud-cypress-tests-server tar -cvjf - data > data.tar
run: docker exec nextcloud-cypress-tests_server tar -cvjf - data > data.tar
- name: Upload data dir archive
uses: actions/upload-artifact@50769540e7f4bd5e21e526ee35c689e35e0d6874 # v4.4.0
uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # v4.4.3
if: failure() && matrix.containers != 'component'
with:
name: nc_data_${{ matrix.containers }}

View file

@ -43,7 +43,7 @@ jobs:
# do not stop on another job's failure
fail-fast: false
matrix:
php-versions: ['8.1', '8.3']
php-versions: ['8.1', '8.4']
ftpd: ['proftpd', 'vsftpd', 'pure-ftpd']
include:
- php-versions: '8.1'
@ -53,7 +53,7 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
with:
submodules: true
@ -100,7 +100,7 @@ jobs:
- name: Upload code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@v4.5.0
uses: codecov/codecov-action@v5.0.7
with:
files: ./clover.xml
flags: phpunit-files-external-ftp

View file

@ -41,7 +41,7 @@ jobs:
strategy:
matrix:
php-versions: ['8.1', '8.2', '8.3']
php-versions: ['8.1', '8.2', '8.3', '8.4']
include:
- php-versions: '8.2'
coverage: ${{ github.event_name != 'pull_request' }}
@ -60,7 +60,7 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
with:
submodules: true
@ -98,7 +98,7 @@ jobs:
- name: Upload code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@v4.5.0
uses: codecov/codecov-action@v5.0.7
with:
files: ./clover.xml
flags: phpunit-files-external-s3
@ -135,7 +135,7 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
with:
submodules: true
@ -165,7 +165,7 @@ jobs:
- name: Upload code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@v4.5.0
uses: codecov/codecov-action@v5.0.7
with:
files: ./clover.xml
flags: phpunit-files-external-s3

View file

@ -43,7 +43,7 @@ jobs:
# do not stop on another job's failure
fail-fast: false
matrix:
php-versions: ['8.1', '8.3']
php-versions: ['8.1', '8.4']
sftpd: ['openssh']
include:
- php-versions: '8.1'
@ -53,7 +53,7 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
with:
submodules: true
@ -89,7 +89,7 @@ jobs:
- name: Upload code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@v4.5.0
uses: codecov/codecov-action@v5.0.7
with:
files: ./clover.xml
flags: phpunit-files-external-sftp

View file

@ -43,16 +43,22 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
with:
submodules: true
- name: Checkout user_saml
uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
with:
repository: nextcloud/user_saml
path: apps/user_saml
- name: Install user_saml
run: |
cd apps/user_saml
composer i
cd ../..
- name: Pull images
run: |
docker pull ghcr.io/icewind1991/samba-krb-test-dc

View file

@ -41,7 +41,7 @@ jobs:
strategy:
matrix:
php-versions: ['8.1', '8.3']
php-versions: ['8.1']
include:
- php-versions: '8.1'
coverage: ${{ github.event_name != 'pull_request' }}
@ -56,7 +56,7 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
with:
submodules: true
@ -94,7 +94,7 @@ jobs:
- name: Upload code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@4b21c320b5517fc6ffd4406a28e66325c721dc20 # v4.1.1
uses: codecov/codecov-action@015f24e6818733317a2da2edd6290ab26238649a # v4.1.1
with:
files: ./clover.xml
flags: phpunit-files-external-smb

View file

@ -41,7 +41,7 @@ jobs:
strategy:
matrix:
php-versions: ['8.1', '8.2', '8.3']
php-versions: ['8.1', '8.2', '8.3', '8.4']
include:
- php-versions: '8.2'
coverage: ${{ github.event_name != 'pull_request' }}
@ -56,7 +56,7 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
with:
submodules: true
@ -91,7 +91,7 @@ jobs:
- name: Upload code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@4b21c320b5517fc6ffd4406a28e66325c721dc20 # v4.1.1
uses: codecov/codecov-action@015f24e6818733317a2da2edd6290ab26238649a # v4.1.1
with:
files: ./clover.xml
flags: phpunit-files-external-webdav

View file

@ -40,7 +40,7 @@ jobs:
strategy:
matrix:
php-versions: ['8.1', '8.2', '8.3']
php-versions: ['8.1', '8.2', '8.3', '8.4']
include:
- php-versions: '8.2'
coverage: ${{ github.event_name != 'pull_request' }}
@ -49,7 +49,7 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
with:
submodules: true
@ -79,7 +79,7 @@ jobs:
- name: Upload code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@v4.5.0
uses: codecov/codecov-action@v5.0.7
with:
files: ./clover.xml
flags: phpunit-files-external-generic

View file

@ -51,7 +51,7 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
with:
submodules: true

View file

@ -50,7 +50,7 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
with:
submodules: true

View file

@ -65,7 +65,7 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
with:
submodules: true

View file

@ -91,13 +91,13 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
submodules: true
- name: Checkout Talk app
if: ${{ matrix.test-suite == 'videoverification_features' }}
uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
repository: nextcloud/spreed
path: apps/spreed

View file

@ -53,7 +53,7 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Read package.json node and npm engines version
uses: skjnldsv/read-package-engines-version-actions@06d6baf7d8f41934ab630e97d9e6c0bc9c9ac5e4 # v3
@ -63,7 +63,7 @@ jobs:
fallbackNpm: '^10'
- name: Set up node ${{ steps.versions.outputs.nodeVersion }}
uses: actions/setup-node@0a44ba7841725637a19e28fa30b79a866c81b0a6 # v3
uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v3
with:
node-version: ${{ steps.versions.outputs.nodeVersion }}

View file

@ -48,7 +48,7 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Set up php8.1
uses: shivammathur/setup-php@c541c155eee45413f5b09a52248675b1a2575231 #v2.31.1

View file

@ -47,13 +47,13 @@ jobs:
strategy:
matrix:
php-versions: [ '8.1', '8.2', '8.3' ]
php-versions: [ '8.1', '8.2', '8.3', '8.4' ]
name: php-lint
steps:
- name: Checkout
uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@c541c155eee45413f5b09a52248675b1a2575231 #v2.31.1

51
.github/workflows/lint-stylelint.yml vendored Normal file
View file

@ -0,0 +1,51 @@
# 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
#
# SPDX-FileCopyrightText: 2021-2024 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: Lint stylelint
on: pull_request
permissions:
contents: read
concurrency:
group: lint-stylelint-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
lint:
runs-on: ubuntu-latest
name: stylelint
steps:
- name: Checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Read package.json node and npm engines version
uses: skjnldsv/read-package-engines-version-actions@06d6baf7d8f41934ab630e97d9e6c0bc9c9ac5e4 # v3
id: versions
with:
fallbackNode: '^20'
fallbackNpm: '^10'
- name: Set up node ${{ steps.versions.outputs.nodeVersion }}
uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0
with:
node-version: ${{ steps.versions.outputs.nodeVersion }}
- name: Set up npm ${{ steps.versions.outputs.npmVersion }}
run: npm i -g 'npm@${{ steps.versions.outputs.npmVersion }}'
- name: Install dependencies
env:
CYPRESS_INSTALL_BINARY: 0
run: npm ci
- name: Lint
run: npm run stylelint

View file

@ -59,7 +59,7 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Read package.json node and npm engines version
uses: skjnldsv/read-package-engines-version-actions@06d6baf7d8f41934ab630e97d9e6c0bc9c9ac5e4 # v3
@ -80,10 +80,10 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Set up node ${{ needs.versions.outputs.nodeVersion }}
uses: actions/setup-node@0a44ba7841725637a19e28fa30b79a866c81b0a6 # v4.0.4
uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0
with:
node-version: ${{ needs.versions.outputs.nodeVersion }}
@ -99,7 +99,7 @@ jobs:
run: npm run test:coverage --if-present
- name: Collect coverage
uses: codecov/codecov-action@4b21c320b5517fc6ffd4406a28e66325c721dc20 # v4.3.1
uses: codecov/codecov-action@015f24e6818733317a2da2edd6290ab26238649a # v4.3.1
with:
files: ./coverage/lcov.info
@ -114,10 +114,10 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Set up node ${{ needs.versions.outputs.nodeVersion }}
uses: actions/setup-node@0a44ba7841725637a19e28fa30b79a866c81b0a6 # v4.0.4
uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0
with:
node-version: ${{ needs.versions.outputs.nodeVersion }}
@ -142,10 +142,10 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Set up node ${{ needs.versions.outputs.nodeVersion }}
uses: actions/setup-node@0a44ba7841725637a19e28fa30b79a866c81b0a6 # v4.0.4
uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0
with:
node-version: ${{ needs.versions.outputs.nodeVersion }}

View file

@ -53,7 +53,7 @@ jobs:
name: NPM build
steps:
- name: Checkout
uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Read package.json node and npm engines version
uses: skjnldsv/read-package-engines-version-actions@06d6baf7d8f41934ab630e97d9e6c0bc9c9ac5e4 # v3
@ -63,7 +63,7 @@ jobs:
fallbackNpm: '^10'
- name: Set up node ${{ steps.versions.outputs.nodeVersion }}
uses: actions/setup-node@0a44ba7841725637a19e28fa30b79a866c81b0a6 # v3
uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v3
with:
node-version: ${{ steps.versions.outputs.nodeVersion }}

View file

@ -27,7 +27,7 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
ref: ${{ matrix.branches }}
@ -39,7 +39,7 @@ jobs:
fallbackNpm: '^10'
- name: Set up node ${{ steps.versions.outputs.nodeVersion }}
uses: actions/setup-node@0a44ba7841725637a19e28fa30b79a866c81b0a6 # v3
uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v3
with:
node-version: ${{ steps.versions.outputs.nodeVersion }}

View file

@ -69,7 +69,7 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
with:
submodules: true
@ -105,7 +105,7 @@ jobs:
- name: Upload code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@v4.5.0
uses: codecov/codecov-action@v5.0.7
with:
files: ./clover.xml
flags: phpunit-azure

View file

@ -70,7 +70,7 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
with:
submodules: true
@ -111,7 +111,7 @@ jobs:
- name: Upload code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@v4.5.0
uses: codecov/codecov-action@v5.0.7
with:
files: ./clover.xml
flags: phpunit-s3

View file

@ -67,7 +67,7 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
with:
submodules: true
@ -101,7 +101,7 @@ jobs:
- name: Upload code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@v4.5.0
uses: codecov/codecov-action@v5.0.7
with:
files: ./clover.xml
flags: phpunit-swift

View file

@ -26,7 +26,7 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Set up php
uses: shivammathur/setup-php@c541c155eee45413f5b09a52248675b1a2575231 #v2.31.1

View file

@ -29,7 +29,7 @@ jobs:
exit 1
- name: Checkout server before PR
uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
with:
submodules: true
ref: ${{ github.event.pull_request.base.ref }}
@ -91,7 +91,7 @@ jobs:
- name: Upload profiles
if: always()
uses: actions/upload-artifact@50769540e7f4bd5e21e526ee35c689e35e0d6874
uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882
with:
name: profiles
path: |

View file

@ -32,7 +32,7 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
with:
submodules: true

View file

@ -61,6 +61,8 @@ jobs:
- php-versions: '8.3'
mariadb-versions: '10.11'
coverage: ${{ github.event_name != 'pull_request' }}
- php-versions: '8.4'
mariadb-versions: '11.4'
name: MariaDB ${{ matrix.mariadb-versions }} (PHP ${{ matrix.php-versions }}) - database tests
@ -84,7 +86,7 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
submodules: true
@ -122,7 +124,7 @@ jobs:
- name: Upload db code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@v4.5.0
uses: codecov/codecov-action@v5.0.7
with:
files: ./clover.db.xml
flags: phpunit-mariadb

View file

@ -55,7 +55,7 @@ jobs:
strategy:
matrix:
php-versions: ['8.1', '8.3']
php-versions: ['8.1', '8.3', '8.4']
include:
- php-versions: '8.2'
coverage: ${{ github.event_name != 'pull_request' }}
@ -71,7 +71,7 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
with:
submodules: true
@ -101,7 +101,7 @@ jobs:
- name: Upload code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@v4.5.0
uses: codecov/codecov-action@v5.0.7
with:
files: ./clover.xml
flags: phpunit-memcached

View file

@ -120,7 +120,7 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
with:
submodules: true
@ -159,7 +159,7 @@ jobs:
- name: Upload db code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@v4.5.0
uses: codecov/codecov-action@v5.0.7
with:
files: ./clover.db.xml
flags: phpunit-mysql

View file

@ -61,6 +61,8 @@ jobs:
- mysql-versions: '8.0'
php-versions: '8.3'
coverage: ${{ github.event_name != 'pull_request' }}
- mysql-versions: '8.4'
php-versions: '8.4'
name: MySQL ${{ matrix.mysql-versions }} (PHP ${{ matrix.php-versions }}) - database tests
@ -84,7 +86,7 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
with:
submodules: true
@ -122,7 +124,7 @@ jobs:
- name: Upload db code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@v4.5.0
uses: codecov/codecov-action@v5.0.7
with:
files: ./clover.db.xml
flags: phpunit-mysql

View file

@ -57,7 +57,7 @@ jobs:
strategy:
matrix:
php-versions: ['8.1', '8.3']
php-versions: ['8.1', '8.3', '8.4']
include:
- php-versions: '8.2'
coverage: ${{ github.event_name != 'pull_request' }}
@ -73,7 +73,7 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
with:
submodules: true
@ -106,7 +106,7 @@ jobs:
- name: Upload nodb code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@v4.5.0
uses: codecov/codecov-action@v5.0.7
with:
files: ./clover.nodb.xml
flags: phpunit-nodb

View file

@ -70,12 +70,12 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
with:
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@c5fc0d8281aba02c7fda07d3a70cc5371548067d #v2.25.2
uses: shivammathur/setup-php@c541c155eee45413f5b09a52248675b1a2575231 #v2.31.1
with:
php-version: ${{ matrix.php-versions }}
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

View file

@ -66,6 +66,8 @@ jobs:
php-versions: '8.2'
- oracle-versions: '23'
php-versions: '8.3'
- oracle-versions: '23'
php-versions: '8.4'
name: Oracle ${{ matrix.oracle-versions }} (PHP ${{ matrix.php-versions }}) - database tests
@ -96,7 +98,7 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
submodules: true
@ -127,7 +129,7 @@ jobs:
- name: Upload db code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@v4.5.0
uses: codecov/codecov-action@v5.0.7
with:
files: ./clover.db.xml
flags: phpunit-oci

View file

@ -56,12 +56,14 @@ jobs:
strategy:
matrix:
php-versions: ['8.1']
# To keep the matrix smaller we ignore PostgreSQL '13', '14', and '15' as we already test 12 and 16 as lower and upper bound
postgres-versions: ['12', '16']
# To keep the matrix smaller we ignore PostgreSQL versions in between as we already test the minimum and the maximum
postgres-versions: ['13', '17']
include:
- php-versions: '8.3'
postgres-versions: '16'
postgres-versions: '17'
coverage: ${{ github.event_name != 'pull_request' }}
- php-versions: '8.4'
postgres-versions: '17'
name: PostgreSQL ${{ matrix.postgres-versions }} (PHP ${{ matrix.php-versions }}) - database tests
@ -84,7 +86,7 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
submodules: true
@ -117,7 +119,7 @@ jobs:
- name: Upload db code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@v4.5.0
uses: codecov/codecov-action@v5.0.7
with:
files: ./clover.db.xml
flags: phpunit-postgres

View file

@ -55,7 +55,7 @@ jobs:
strategy:
matrix:
php-versions: ['8.2', '8.3']
php-versions: ['8.2', '8.3', '8.4']
include:
- php-versions: '8.1'
coverage: ${{ github.event_name != 'pull_request' }}
@ -71,7 +71,7 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
submodules: true
@ -105,7 +105,7 @@ jobs:
- name: Upload db code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@v4.5.0
uses: codecov/codecov-action@v5.0.7
with:
files: ./clover.db.xml
flags: phpunit-sqlite

View file

@ -16,7 +16,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: REUSE Compliance Check
uses: fsfe/reuse-action@3ae3c6bdf1257ab19397fab11fd3312144692083 # v4.0.0
uses: fsfe/reuse-action@bb774aa972c2a89ff34781233d275075cbddf542 # v5.0.0

View file

@ -25,7 +25,7 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
with:
submodules: true
@ -55,7 +55,7 @@ jobs:
steps:
- name: Checkout code
uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
with:
submodules: true
@ -89,7 +89,7 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
with:
submodules: true
@ -111,3 +111,29 @@ jobs:
- name: Show potential changes in Psalm baseline
if: always()
run: git diff --exit-code -- . ':!lib/composer'
static-code-analysis-ncu:
runs-on: ubuntu-latest
if: ${{ github.event_name != 'push' && github.repository_owner != 'nextcloud-gmbh' }}
steps:
- name: Checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
with:
submodules: true
- name: Set up php
uses: shivammathur/setup-php@c541c155eee45413f5b09a52248675b1a2575231 #v2.31.1
with:
php-version: '8.1'
extensions: ctype,curl,dom,fileinfo,gd,imagick,intl,json,mbstring,openssl,pdo_sqlite,posix,sqlite,xml,zip
coverage: none
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Composer install
run: composer i
- name: Psalm
run: composer run psalm:ncu -- --threads=1 --monochrome --no-progress --output-format=github

View file

@ -19,7 +19,7 @@ jobs:
name: update-ca-certificate-bundle-${{ matrix.branches }}
steps:
- uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
with:
ref: ${{ matrix.branches }}
submodules: true

View file

@ -19,7 +19,7 @@ jobs:
name: update-code-signing-crl-${{ matrix.branches }}
steps:
- uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
with:
ref: ${{ matrix.branches }}
submodules: true

1
.gitignore vendored
View file

@ -35,6 +35,7 @@
!/apps/lookup_server_connector
!/apps/user_ldap
!/apps/oauth2
!/apps/profile
!/apps/provisioning_api
!/apps/settings
!/apps/systemtags

View file

@ -103,7 +103,7 @@
# - https://docs.cyberduck.io/mountainduck/issues/fastcgi/
# - https://docs.nextcloud.com/server/latest/admin_manual/issues/general_troubleshooting.html#troubleshooting-webdav
<IfModule mod_setenvif.c>
SetEnvIf Transfer-Encoding "chunked" proxy-sendcl=1
SetEnvIfNoCase Transfer-Encoding "chunked" proxy-sendcl=1
</IfModule>
# Apache disabled the sending of the server-side content-length header

View file

@ -7,6 +7,10 @@ Files: lib/l10n/*.js lib/l10n/*.json core/l10n/*.js core/l10n/*.json apps/admin_
Copyright: 2016 ownCloud, Inc., 2016-2024 Nextcloud translators
License: AGPL-3.0-only OR AGPL-3.0-or-later
Files: lib/l10n/zh_TW.js lib/l10n/zh_TW.json core/l10n/zh_TW.js core/l10n/zh_TW.json apps/admin_audit/l10n/zh_TW.js apps/admin_audit/l10n/zh_TW.json apps/comments/l10n/zh_TW.js apps/comments/l10n/zh_TW.json apps/dav/l10n/zh_TW.js apps/dav/l10n/zh_TW.json apps/encryption/l10n/zh_TW.js apps/encryption/l10n/zh_TW.json apps/federatedfilesharing/l10n/zh_TW.js apps/federatedfilesharing/l10n/zh_TW.json apps/federation/l10n/zh_TW.js apps/federation/l10n/zh_TW.json apps/files/l10n/zh_TW.js apps/files/l10n/zh_TW.json apps/files_external/l10n/zh_TW.js apps/files_external/l10n/zh_TW.json apps/files_sharing/l10n/zh_TW.js apps/files_sharing/l10n/zh_TW.json apps/files_trashbin/l10n/zh_TW.js apps/files_trashbin/l10n/zh_TW.json apps/files_versions/l10n/zh_TW.js apps/files_versions/l10n/zh_TW.json apps/provisioning_api/l10n/zh_TW.js apps/provisioning_api/l10n/zh_TW.json apps/settings/l10n/zh_TW.js apps/settings/l10n/zh_TW.json apps/systemtags/l10n/zh_TW.js apps/systemtags/l10n/zh_TW.json apps/testing/l10n/zh_TW.js apps/testing/l10n/zh_TW.json apps/updatenotification/l10n/zh_TW.js apps/updatenotification/l10n/zh_TW.json apps/user_ldap/l10n/zh_TW.js apps/user_ldap/l10n/zh_TW.json lib/l10nm/zh_TW.js lib/l10nm/zh_TW.json
Copyright: 2016 ownCloud, Inc., 2016-2024 Nextcloud translators, 2024 moda-l10n <https://ocf.tw/>
License: AGPL-3.0-only OR AGPL-3.0-or-later
Files: tests/data/block-aligned-plus-one.txt tests/data/block-aligned.txt tests/data/data.tar.gz tests/data/data.zip tests/data/desktopapp.png tests/data/desktopapp.svg tests/data/certificates/badCertificate.crt tests/data/certificates/expiredCertificate.crt tests/data/certificates/goodCertificate.crt tests/data/certificates/openSslTrustedCertificate.crt tests/data/integritycheck/app/AnotherFile.txt tests/data/integritycheck/app/subfolder/file.txt tests/data/integritycheck/appWithInvalidData/AnotherFile.txt tests/data/integritycheck/appWithInvalidData/UnecessaryFile apps/user_ldap/tests/Integration/data/avatar-invalid.gif apps/user_ldap/tests/Integration/data/avatar-valid.jpg apps/user_ldap/img/copy.png apps/user_ldap/img/copy.svg
Copyright: 2015 ownCloud, Inc.
License: AGPL-3.0-only

View file

@ -116,6 +116,12 @@ source_file = translationfiles/templates/oauth2.pot
source_lang = en
type = PO
[o:nextcloud:p:nextcloud:r:profile]
file_filter = translationfiles/<lang>/profile.po
source_file = translationfiles/templates/profile.pot
source_lang = en
type = PO
[o:nextcloud:p:nextcloud:r:provisioning_api]
file_filter = translationfiles/<lang>/provisioning_api.po
source_file = translationfiles/templates/provisioning_api.pot

@ -1 +1 @@
Subproject commit 9a3b99624c7939e29a42a333ec7b409d60820835
Subproject commit 18a7986c8bc5f82e332bcb28b52b856ad44a341f

View file

@ -3,11 +3,11 @@
* SPDX-License-Identifier: AGPL-3.0-or-later
*/
import { jest } from '@jest/globals'
import { vi } from 'vitest'
export const showMessage = jest.fn()
export const showSuccess = jest.fn()
export const showWarning = jest.fn()
export const showInfo = jest.fn()
export const showError = jest.fn()
export const showUndo = jest.fn()
export const showMessage = vi.fn()
export const showSuccess = vi.fn()
export const showWarning = vi.fn()
export const showInfo = vi.fn()
export const showError = vi.fn()
export const showUndo = vi.fn()

View file

@ -0,0 +1,7 @@
OC.L10N.register(
"admin_audit",
{
"Auditing / Logging" : "Auditēšana / Žurnalizēšana",
"Provides logging abilities for Nextcloud such as logging file accesses or otherwise sensitive actions." : "Nodrošina Nextcloud žurnalizēšanas iespējas, piemēram, faila piekļuves žurnalizēšanu vai citas sensitīvas darbības."
},
"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);");

View file

@ -0,0 +1,5 @@
{ "translations": {
"Auditing / Logging" : "Auditēšana / Žurnalizēšana",
"Provides logging abilities for Nextcloud such as logging file accesses or otherwise sensitive actions." : "Nodrošina Nextcloud žurnalizēšanas iespējas, piemēram, faila piekļuves žurnalizēšanu vai citas sensitīvas darbības."
},"pluralForm" :"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);"
}

View file

@ -0,0 +1,7 @@
OC.L10N.register(
"admin_audit",
{
"Auditing / Logging" : "ئىقتىسادىي تەپتىش / خاتىرىلەش",
"Provides logging abilities for Nextcloud such as logging file accesses or otherwise sensitive actions." : "Nextcloud غا تىزىمغا كىرىش ئىقتىدارى بىلەن تەمىنلەيدۇ ، مەسىلەن ھۆججەتلەرنى زىيارەت قىلىش ياكى باشقا سەزگۈر ھەرىكەتلەر."
},
"nplurals=2; plural=(n != 1);");

View file

@ -0,0 +1,5 @@
{ "translations": {
"Auditing / Logging" : "ئىقتىسادىي تەپتىش / خاتىرىلەش",
"Provides logging abilities for Nextcloud such as logging file accesses or otherwise sensitive actions." : "Nextcloud غا تىزىمغا كىرىش ئىقتىدارى بىلەن تەمىنلەيدۇ ، مەسىلەن ھۆججەتلەرنى زىيارەت قىلىش ياكى باشقا سەزگۈر ھەرىكەتلەر."
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}

View file

@ -0,0 +1,8 @@
OC.L10N.register(
"cloud_federation_api",
{
"Cloud Federation API" : "بۇلۇت فېدېراتسىيەسى API",
"Enable clouds to communicate with each other and exchange data" : "بۇلۇتلارنىڭ ئۆز-ئارا ئالاقە قىلىشى ۋە سانلىق مەلۇمات ئالماشتۇرۇشىنى قوزغىتىڭ",
"The Cloud Federation API enables various Nextcloud instances to communicate with each other and to exchange data." : "بۇلۇت فېدېراتسىيەسى API ھەر خىل Nextcloud مىساللىرىنى ئۆز-ئارا ئالاقە قىلىش ۋە سانلىق مەلۇمات ئالماشتۇرۇش ئىمكانىيىتىگە ئىگە قىلىدۇ."
},
"nplurals=2; plural=(n != 1);");

View file

@ -0,0 +1,6 @@
{ "translations": {
"Cloud Federation API" : "بۇلۇت فېدېراتسىيەسى API",
"Enable clouds to communicate with each other and exchange data" : "بۇلۇتلارنىڭ ئۆز-ئارا ئالاقە قىلىشى ۋە سانلىق مەلۇمات ئالماشتۇرۇشىنى قوزغىتىڭ",
"The Cloud Federation API enables various Nextcloud instances to communicate with each other and to exchange data." : "بۇلۇت فېدېراتسىيەسى API ھەر خىل Nextcloud مىساللىرىنى ئۆز-ئارا ئالاقە قىلىش ۋە سانلىق مەلۇمات ئالماشتۇرۇش ئىمكانىيىتىگە ئىگە قىلىدۇ."
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}

View file

@ -31,11 +31,11 @@ class Capabilities implements ICapability {
* enabled: bool,
* apiVersion: string,
* endPoint: string,
* resourceTypes: array{
* resourceTypes: list<array{
* name: string,
* shareTypes: string[],
* shareTypes: list<string>,
* protocols: array<string, string>
* }[],
* }>,
* },
* }
* @throws OCMArgumentException

View file

@ -67,7 +67,7 @@ class RequestHandlerController extends Controller {
* @param string|null $ownerDisplayName Display name of the user who shared the item
* @param string|null $sharedBy Provider specific UID of the user who shared the resource
* @param string|null $sharedByDisplayName Display name of the user who shared the resource
* @param array{name: string[], options: array<string, mixed>} $protocol e,.g. ['name' => 'webdav', 'options' => ['username' => 'john', 'permissions' => 31]]
* @param array{name: list<string>, options: array<string, mixed>} $protocol e,.g. ['name' => 'webdav', 'options' => ['username' => 'john', 'permissions' => 31]]
* @param string $shareType 'group' or 'user' share
* @param string $resourceType 'file', 'calendar',...
*

View file

@ -20,10 +20,10 @@ namespace OCA\CloudFederationAPI;
* }
*
* @psalm-type CloudFederationAPIValidationError = CloudFederationAPIError&array{
* validationErrors: array{
* validationErrors: list<array{
* name: string,
* message: string|null,
* }[],
* }>,
* }
*/
class ResponseDefinitions {

View file

@ -17,6 +17,7 @@ OC.L10N.register(
"New comment" : "Uusi kommentti",
"Write a comment …" : "Kirjoita kommentti…",
"Post comment" : "Lähetä viesti",
"Could not reload comments" : "Kommenttien lataus epäonnistui",
"No comments yet, start the conversation!" : "Ei kommentteja vielä. Aloita keskustelu!",
"No more messages" : "Ei enempää viestejä",
"Retry" : "Yritä uudelleen",

View file

@ -15,6 +15,7 @@
"New comment" : "Uusi kommentti",
"Write a comment …" : "Kirjoita kommentti…",
"Post comment" : "Lähetä viesti",
"Could not reload comments" : "Kommenttien lataus epäonnistui",
"No comments yet, start the conversation!" : "Ei kommentteja vielä. Aloita keskustelu!",
"No more messages" : "Ei enempää viestejä",
"Retry" : "Yritä uudelleen",

View file

@ -16,6 +16,7 @@ OC.L10N.register(
"Cancel edit" : "Annulla modìfica",
"New comment" : "Cummentu nou",
"Post comment" : "Pùblica cummentu",
"@ for mentions, : for emoji, / for smart picker" : "@ pro mèntovos, : pro emojis, / pro su seletzionadore inteligente",
"No comments yet, start the conversation!" : "Ancora perunu cummentu, cumintza sa cunversatzione!",
"No more messages" : "Perunu àteru messàgiu",
"Retry" : "Torra a proare",

View file

@ -14,6 +14,7 @@
"Cancel edit" : "Annulla modìfica",
"New comment" : "Cummentu nou",
"Post comment" : "Pùblica cummentu",
"@ for mentions, : for emoji, / for smart picker" : "@ pro mèntovos, : pro emojis, / pro su seletzionadore inteligente",
"No comments yet, start the conversation!" : "Ancora perunu cummentu, cumintza sa cunversatzione!",
"No more messages" : "Perunu àteru messàgiu",
"Retry" : "Torra a proare",

View file

@ -1,7 +1,36 @@
OC.L10N.register(
"comments",
{
"Cancel" : "ۋاز كەچ",
"Save" : "ساقلا"
"Comments" : "باھا",
"You commented" : "باھا بەردىڭىز",
"{author} commented" : "{ئاپتور} باھا بەردى",
"You commented on %1$s" : "سىز% 1 $ s غا باھا بەردىڭىز",
"You commented on {file}" : "سىز {ھۆججەت} گە باھا بەردىڭىز",
"%1$s commented on %2$s" : "% 1 $ s% 2 $ s غا باھا بەردى",
"{author} commented on {file}" : "{ئاپتور} ھۆججەتكە باھا بەردى}",
"<strong>Comments</strong> for files" : "ھۆججەتلەر ئۈچۈن <strong> باھا </ strong>",
"Files" : "ھۆججەتلەر",
"You were mentioned on \"{file}\", in a comment by an account that has since been deleted" : "سىز ئۆچۈرۈلگەن ھېساباتنىڭ ئىزاھاتىدا سىز «{ھۆججەت}» دە تىلغا ئېلىندى",
"{user} mentioned you in a comment on \"{file}\"" : "{user} سىزنى \"{ھۆججەت}\" دىكى باھادا تىلغا ئالدى",
"Files app plugin to add comments to files" : "ھۆججەتلەرگە باھا قوشۇش ئۈچۈن ھۆججەت قىستۇرمىسى",
"Edit comment" : "باھا تەھرىرلەش",
"Delete comment" : "باھانى ئۆچۈرۈڭ",
"Cancel edit" : "تەھرىرلەشنى ئەمەلدىن قالدۇرۇڭ",
"New comment" : "يېڭى باھا",
"Write a comment …" : "باھا يېزىڭ…",
"Post comment" : "ئىنكاس يېزىڭ",
"@ for mentions, : for emoji, / for smart picker" : "@ تىلغا ئېلىش ئۈچۈن ،: emoji ئۈچۈن ، / ئەقلىي ئىقتىدارلىق تاللىغۇچ ئۈچۈن",
"Could not reload comments" : "ئىنكاسلارنى قايتا يۈكلىيەلمىدى",
"No comments yet, start the conversation!" : "تېخى باھا يوق ، سۆھبەتنى باشلاڭ!",
"No more messages" : "باشقا ئۇچۇر يوق",
"Retry" : "قايتا سىناڭ",
"Failed to mark comments as read" : "ئىنكاسلارنى ئوقۇشقا بەلگە قويمىدى",
"Unable to load the comments list" : "باھا تىزىملىكىنى يۈكلىيەلمىدى",
"Comment" : "باھا",
"An error occurred while trying to edit the comment" : "باھانى تەھرىرلىمەكچى بولغاندا خاتالىق كۆرۈلدى",
"Comment deleted" : "باھا ئۆچۈرۈلدى",
"An error occurred while trying to delete the comment" : "باھانى ئۆچۈرمەكچى بولغاندا خاتالىق كۆرۈلدى",
"An error occurred while trying to create the comment" : "باھا قۇرماقچى بولغاندا خاتالىق كۆرۈلدى",
"You were mentioned on \"{file}\", in a comment by a user that has since been deleted" : "سىز ئۆچۈرۈلگەن ئىشلەتكۈچىنىڭ ئىزاھاتىدا سىز «{ھۆججەت}» دە تىلغا ئېلىندى"
},
"nplurals=1; plural=0;");
"nplurals=2; plural=(n != 1);");

View file

@ -1,5 +1,34 @@
{ "translations": {
"Cancel" : "ۋاز كەچ",
"Save" : "ساقلا"
},"pluralForm" :"nplurals=1; plural=0;"
"Comments" : "باھا",
"You commented" : "باھا بەردىڭىز",
"{author} commented" : "{ئاپتور} باھا بەردى",
"You commented on %1$s" : "سىز% 1 $ s غا باھا بەردىڭىز",
"You commented on {file}" : "سىز {ھۆججەت} گە باھا بەردىڭىز",
"%1$s commented on %2$s" : "% 1 $ s% 2 $ s غا باھا بەردى",
"{author} commented on {file}" : "{ئاپتور} ھۆججەتكە باھا بەردى}",
"<strong>Comments</strong> for files" : "ھۆججەتلەر ئۈچۈن <strong> باھا </ strong>",
"Files" : "ھۆججەتلەر",
"You were mentioned on \"{file}\", in a comment by an account that has since been deleted" : "سىز ئۆچۈرۈلگەن ھېساباتنىڭ ئىزاھاتىدا سىز «{ھۆججەت}» دە تىلغا ئېلىندى",
"{user} mentioned you in a comment on \"{file}\"" : "{user} سىزنى \"{ھۆججەت}\" دىكى باھادا تىلغا ئالدى",
"Files app plugin to add comments to files" : "ھۆججەتلەرگە باھا قوشۇش ئۈچۈن ھۆججەت قىستۇرمىسى",
"Edit comment" : "باھا تەھرىرلەش",
"Delete comment" : "باھانى ئۆچۈرۈڭ",
"Cancel edit" : "تەھرىرلەشنى ئەمەلدىن قالدۇرۇڭ",
"New comment" : "يېڭى باھا",
"Write a comment …" : "باھا يېزىڭ…",
"Post comment" : "ئىنكاس يېزىڭ",
"@ for mentions, : for emoji, / for smart picker" : "@ تىلغا ئېلىش ئۈچۈن ،: emoji ئۈچۈن ، / ئەقلىي ئىقتىدارلىق تاللىغۇچ ئۈچۈن",
"Could not reload comments" : "ئىنكاسلارنى قايتا يۈكلىيەلمىدى",
"No comments yet, start the conversation!" : "تېخى باھا يوق ، سۆھبەتنى باشلاڭ!",
"No more messages" : "باشقا ئۇچۇر يوق",
"Retry" : "قايتا سىناڭ",
"Failed to mark comments as read" : "ئىنكاسلارنى ئوقۇشقا بەلگە قويمىدى",
"Unable to load the comments list" : "باھا تىزىملىكىنى يۈكلىيەلمىدى",
"Comment" : "باھا",
"An error occurred while trying to edit the comment" : "باھانى تەھرىرلىمەكچى بولغاندا خاتالىق كۆرۈلدى",
"Comment deleted" : "باھا ئۆچۈرۈلدى",
"An error occurred while trying to delete the comment" : "باھانى ئۆچۈرمەكچى بولغاندا خاتالىق كۆرۈلدى",
"An error occurred while trying to create the comment" : "باھا قۇرماقچى بولغاندا خاتالىق كۆرۈلدى",
"You were mentioned on \"{file}\", in a comment by a user that has since been deleted" : "سىز ئۆچۈرۈلگەن ئىشلەتكۈچىنىڭ ئىزاھاتىدا سىز «{ھۆججەت}» دە تىلغا ئېلىندى"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}

View file

@ -3,6 +3,8 @@ OC.L10N.register(
{
"Recently contacted" : "Nedávno kontaktovaní",
"Contacts Interaction" : "Napojenia na kontakty",
"Manages interaction between accounts and contacts" : "Spravuje interakciu medzi účtami a kontaktmi",
"Collect data about accounts and contacts interactions and provide an address book for the data" : "Zhromaždiť údaje o interakciách používateľov a kontaktov a poskytne adresár pre údaje",
"Manages interaction between users and contacts" : "Spravuje interakciu medzi používateľmi a kontaktmi",
"Collect data about user and contacts interactions and provide an address book for the data" : "Zhromaždiť údaje o interakciách používateľov a kontaktov a poskytnúť adresár pre údaje"
},

View file

@ -1,6 +1,8 @@
{ "translations": {
"Recently contacted" : "Nedávno kontaktovaní",
"Contacts Interaction" : "Napojenia na kontakty",
"Manages interaction between accounts and contacts" : "Spravuje interakciu medzi účtami a kontaktmi",
"Collect data about accounts and contacts interactions and provide an address book for the data" : "Zhromaždiť údaje o interakciách používateľov a kontaktov a poskytne adresár pre údaje",
"Manages interaction between users and contacts" : "Spravuje interakciu medzi používateľmi a kontaktmi",
"Collect data about user and contacts interactions and provide an address book for the data" : "Zhromaždiť údaje o interakciách používateľov a kontaktov a poskytnúť adresár pre údaje"
},"pluralForm" :"nplurals=4; plural=(n % 1 == 0 && n == 1 ? 0 : n % 1 == 0 && n >= 2 && n <= 4 ? 1 : n % 1 != 0 ? 2: 3);"

View file

@ -0,0 +1,11 @@
OC.L10N.register(
"contactsinteraction",
{
"Recently contacted" : "يېقىندا ئالاقىلاشتى",
"Contacts Interaction" : "ئالاقىلىشىش",
"Manages interaction between accounts and contacts" : "ھېسابات ۋە ئالاقىلەر ئارىسىدىكى ئالاقىنى باشقۇرىدۇ",
"Collect data about accounts and contacts interactions and provide an address book for the data" : "ھېسابات ۋە ئالاقىلىشىش ھەققىدىكى ئۇچۇرلارنى توپلاڭ ۋە سانلىق مەلۇمات ئۈچۈن ئادرېس دەپتىرى بىلەن تەمىنلەڭ",
"Manages interaction between users and contacts" : "ئىشلەتكۈچىلەر بىلەن ئالاقىلاشقۇچىلار ئوتتۇرىسىدىكى ئالاقىنى باشقۇرىدۇ",
"Collect data about user and contacts interactions and provide an address book for the data" : "ئىشلەتكۈچى ۋە ئالاقىلىشىش ئالاقىسى توغرىسىدىكى ئۇچۇرلارنى توپلاڭ ۋە سانلىق مەلۇمات ئۈچۈن ئادرېس دەپتىرى بىلەن تەمىنلەڭ"
},
"nplurals=2; plural=(n != 1);");

View file

@ -0,0 +1,9 @@
{ "translations": {
"Recently contacted" : "يېقىندا ئالاقىلاشتى",
"Contacts Interaction" : "ئالاقىلىشىش",
"Manages interaction between accounts and contacts" : "ھېسابات ۋە ئالاقىلەر ئارىسىدىكى ئالاقىنى باشقۇرىدۇ",
"Collect data about accounts and contacts interactions and provide an address book for the data" : "ھېسابات ۋە ئالاقىلىشىش ھەققىدىكى ئۇچۇرلارنى توپلاڭ ۋە سانلىق مەلۇمات ئۈچۈن ئادرېس دەپتىرى بىلەن تەمىنلەڭ",
"Manages interaction between users and contacts" : "ئىشلەتكۈچىلەر بىلەن ئالاقىلاشقۇچىلار ئوتتۇرىسىدىكى ئالاقىنى باشقۇرىدۇ",
"Collect data about user and contacts interactions and provide an address book for the data" : "ئىشلەتكۈچى ۋە ئالاقىلىشىش ئالاقىسى توغرىسىدىكى ئۇچۇرلارنى توپلاڭ ۋە سانلىق مەلۇمات ئۈچۈن ئادرېس دەپتىرى بىلەن تەمىنلەڭ"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}

View file

@ -3,7 +3,7 @@ OC.L10N.register(
{
"Dashboard" : "Skydelis",
"Dashboard app" : "Skydelio programėlė",
"Customize" : "Personalizuoti",
"Customize" : "Tinkinti",
"Edit widgets" : "Taisyti valdiklius",
"Get more widgets from the App Store" : "Parsisiųsti įskiepių iš App Store",
"Weather service" : "Orų tarnyba",

View file

@ -1,7 +1,7 @@
{ "translations": {
"Dashboard" : "Skydelis",
"Dashboard app" : "Skydelio programėlė",
"Customize" : "Personalizuoti",
"Customize" : "Tinkinti",
"Edit widgets" : "Taisyti valdiklius",
"Get more widgets from the App Store" : "Parsisiųsti įskiepių iš App Store",
"Weather service" : "Orų tarnyba",

View file

@ -3,6 +3,8 @@ OC.L10N.register(
{
"Dashboard" : "Infopanel",
"Dashboard app" : "Aplikácia Infopanel",
"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." : "Začnite svoj deň informovaní\n\nNextcloud Infopanel je vaším východiskovým bodom dňa, ktorý vám poskytne prehľad o vašich nadchádzajúcich stretnutiach, naliehavých e-mailoch, správach, prijatých lístkoch, najnovších tweetoch a mnohom ďalšom! Ľudia si môžu pridať rozšírenia, ktoré sa im páčia, a zmeniť si pozadie podľa svojich predstáv.",
"\"{title} icon\"" : "\"{title} ikona\"",
"Customize" : "Prispôsobiť",
"Edit widgets" : "Upraviť miniaplikácie",
"Get more widgets from the App Store" : "Získať viac miniaplikácií v Obchode s aplikáciami",
@ -20,6 +22,7 @@ OC.L10N.register(
"Good evening" : "Dobrý večer",
"Good evening, {name}" : "Dobrý večer, {name}",
"Hello" : "Ahoj",
"Hello, {name}" : "Ahoj, {name}"
"Hello, {name}" : "Ahoj, {name}",
"Start your day informed\n\nThe Nextcloud Dashboard is your starting point of the day, giving you an overview of your upcoming appointments, urgent emails, chat messages, incoming tickets, latest tweets and much more! Users can add the widgets they like and change the background to their liking." : "Začnite svoj deň informovaní\n\nNextcloud Infopanel je vaším východiskovým bodom dňa, ktorý vám poskytne prehľad o vašich nadchádzajúcich stretnutiach, naliehavých e-mailoch, správach, prijatých lístkoch, najnovších tweetoch a mnohom ďalšom! Používatelia si môžu pridať rozšírenia, ktoré sa im páčia, a zmeniť si pozadie podľa svojich predstáv."
},
"nplurals=4; plural=(n % 1 == 0 && n == 1 ? 0 : n % 1 == 0 && n >= 2 && n <= 4 ? 1 : n % 1 != 0 ? 2: 3);");

View file

@ -1,6 +1,8 @@
{ "translations": {
"Dashboard" : "Infopanel",
"Dashboard app" : "Aplikácia Infopanel",
"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." : "Začnite svoj deň informovaní\n\nNextcloud Infopanel je vaším východiskovým bodom dňa, ktorý vám poskytne prehľad o vašich nadchádzajúcich stretnutiach, naliehavých e-mailoch, správach, prijatých lístkoch, najnovších tweetoch a mnohom ďalšom! Ľudia si môžu pridať rozšírenia, ktoré sa im páčia, a zmeniť si pozadie podľa svojich predstáv.",
"\"{title} icon\"" : "\"{title} ikona\"",
"Customize" : "Prispôsobiť",
"Edit widgets" : "Upraviť miniaplikácie",
"Get more widgets from the App Store" : "Získať viac miniaplikácií v Obchode s aplikáciami",
@ -18,6 +20,7 @@
"Good evening" : "Dobrý večer",
"Good evening, {name}" : "Dobrý večer, {name}",
"Hello" : "Ahoj",
"Hello, {name}" : "Ahoj, {name}"
"Hello, {name}" : "Ahoj, {name}",
"Start your day informed\n\nThe Nextcloud Dashboard is your starting point of the day, giving you an overview of your upcoming appointments, urgent emails, chat messages, incoming tickets, latest tweets and much more! Users can add the widgets they like and change the background to their liking." : "Začnite svoj deň informovaní\n\nNextcloud Infopanel je vaším východiskovým bodom dňa, ktorý vám poskytne prehľad o vašich nadchádzajúcich stretnutiach, naliehavých e-mailoch, správach, prijatých lístkoch, najnovších tweetoch a mnohom ďalšom! Používatelia si môžu pridať rozšírenia, ktoré sa im páčia, a zmeniť si pozadie podľa svojich predstáv."
},"pluralForm" :"nplurals=4; plural=(n % 1 == 0 && n == 1 ? 0 : n % 1 == 0 && n >= 2 && n <= 4 ? 1 : n % 1 != 0 ? 2: 3);"
}

28
apps/dashboard/l10n/ug.js Normal file
View file

@ -0,0 +1,28 @@
OC.L10N.register(
"dashboard",
{
"Dashboard" : "باش تاختا",
"Dashboard app" : "باش تاختا دېتالى",
"Start your day informed\n\nThe Nextcloud Dashboard is your starting point of the day, giving you an overview of your upcoming appointments, urgent emails, chat messages, incoming tickets, latest tweets and much more! People can add the widgets they like and change the background to their liking." : "ئۇچۇرلىرىڭىزنى باشلاڭ\n\nNextcloud باش تاختا سىزنىڭ شۇ كۈندىكى باشلىنىش نۇقتىڭىز بولۇپ ، سىزگە كەلگۈسىدىكى ئۇچرىشىشلىرىڭىز ، جىددى ئېلېكترونلۇق خەتلەر ، پاراڭلىشىش ئۇچۇرلىرى ، كەلگەن بېلەتلەر ، ئەڭ يېڭى tweet ۋە باشقىلار ھەققىدە ئومۇمىي چۈشەنچە بېرىدۇ. كىشىلەر ئۆزى ياقتۇرىدىغان كىچىك قوراللارنى قوشالايدۇ ۋە تەگلىكىنى خالىغانچە ئۆزگەرتەلەيدۇ.",
"\"{title} icon\"" : "\"{title} سىنبەلگىسى\"",
"Customize" : "Customize",
"Edit widgets" : "كىچىك قوراللارنى تەھرىرلەش",
"Get more widgets from the App Store" : "ئەپ دۇكىنىدىن تېخىمۇ كۆپ كىچىك قوراللارغا ئېرىشىڭ",
"Weather service" : "ھاۋارايى مۇلازىمىتى",
"For your privacy, the weather data is requested by your Nextcloud server on your behalf so the weather service receives no personal information." : "شەخسىي مەخپىيەتلىكىڭىز ئۈچۈن ھاۋارايى سانلىق مەلۇماتلىرىڭىزنى Nextcloud مۇلازىمېتىرىڭىز تەلەپ قىلىدۇ ، شۇڭا ھاۋارايى مۇلازىمىتى ھېچقانداق شەخسىي ئۇچۇرغا ئېرىشەلمەيدۇ.",
"Weather data from Met.no" : "Met.no دىن كەلگەن ھاۋارايى سانلىق مەلۇماتلىرى",
"geocoding with Nominatim" : "Nominatim بىلەن جۇغراپىيىلىك كودلاش",
"elevation data from OpenTopoData" : "OpenTopoData دىن ئېگىزلىك سانلىق مەلۇماتلىرى",
"Weather" : "ھاۋارايى",
"Status" : "ھالەت",
"Good morning" : "خەيرلىك ئەتىگەن!",
"Good morning, {name}" : "خەيرلىك ئەتىگەن ، {name}",
"Good afternoon" : "خەيرلىك چۈشتىن كېيىن",
"Good afternoon, {name}" : "خەيرلىك چۈشتىن كېيىن ، {name}",
"Good evening" : "خەيرلىك كەچ!",
"Good evening, {name}" : "خەيرلىك كەچ ، {name}",
"Hello" : "ياخشىمۇسىز",
"Hello, {name}" : "ياخشىمۇسىز ، {name}",
"Start your day informed\n\nThe Nextcloud Dashboard is your starting point of the day, giving you an overview of your upcoming appointments, urgent emails, chat messages, incoming tickets, latest tweets and much more! Users can add the widgets they like and change the background to their liking." : "ئۇچۇرلىرىڭىزنى باشلاڭ\n\nNextcloud باش تاختا سىزنىڭ شۇ كۈندىكى باشلىنىش نۇقتىڭىز بولۇپ ، سىزگە كەلگۈسىدىكى ئۇچرىشىشلىرىڭىز ، جىددى ئېلېكترونلۇق خەتلەر ، پاراڭلىشىش ئۇچۇرلىرى ، كەلگەن بېلەتلەر ، ئەڭ يېڭى tweet ۋە باشقىلار ھەققىدە ئومۇمىي چۈشەنچە بېرىدۇ. ئىشلەتكۈچىلەر ئۆزلىرى ياقتۇرىدىغان كىچىك قوراللارنى قوشالايدۇ ۋە تەگلىكنى خالىغانچە ئۆزگەرتەلەيدۇ."
},
"nplurals=2; plural=(n != 1);");

View file

@ -0,0 +1,26 @@
{ "translations": {
"Dashboard" : "باش تاختا",
"Dashboard app" : "باش تاختا دېتالى",
"Start your day informed\n\nThe Nextcloud Dashboard is your starting point of the day, giving you an overview of your upcoming appointments, urgent emails, chat messages, incoming tickets, latest tweets and much more! People can add the widgets they like and change the background to their liking." : "ئۇچۇرلىرىڭىزنى باشلاڭ\n\nNextcloud باش تاختا سىزنىڭ شۇ كۈندىكى باشلىنىش نۇقتىڭىز بولۇپ ، سىزگە كەلگۈسىدىكى ئۇچرىشىشلىرىڭىز ، جىددى ئېلېكترونلۇق خەتلەر ، پاراڭلىشىش ئۇچۇرلىرى ، كەلگەن بېلەتلەر ، ئەڭ يېڭى tweet ۋە باشقىلار ھەققىدە ئومۇمىي چۈشەنچە بېرىدۇ. كىشىلەر ئۆزى ياقتۇرىدىغان كىچىك قوراللارنى قوشالايدۇ ۋە تەگلىكىنى خالىغانچە ئۆزگەرتەلەيدۇ.",
"\"{title} icon\"" : "\"{title} سىنبەلگىسى\"",
"Customize" : "Customize",
"Edit widgets" : "كىچىك قوراللارنى تەھرىرلەش",
"Get more widgets from the App Store" : "ئەپ دۇكىنىدىن تېخىمۇ كۆپ كىچىك قوراللارغا ئېرىشىڭ",
"Weather service" : "ھاۋارايى مۇلازىمىتى",
"For your privacy, the weather data is requested by your Nextcloud server on your behalf so the weather service receives no personal information." : "شەخسىي مەخپىيەتلىكىڭىز ئۈچۈن ھاۋارايى سانلىق مەلۇماتلىرىڭىزنى Nextcloud مۇلازىمېتىرىڭىز تەلەپ قىلىدۇ ، شۇڭا ھاۋارايى مۇلازىمىتى ھېچقانداق شەخسىي ئۇچۇرغا ئېرىشەلمەيدۇ.",
"Weather data from Met.no" : "Met.no دىن كەلگەن ھاۋارايى سانلىق مەلۇماتلىرى",
"geocoding with Nominatim" : "Nominatim بىلەن جۇغراپىيىلىك كودلاش",
"elevation data from OpenTopoData" : "OpenTopoData دىن ئېگىزلىك سانلىق مەلۇماتلىرى",
"Weather" : "ھاۋارايى",
"Status" : "ھالەت",
"Good morning" : "خەيرلىك ئەتىگەن!",
"Good morning, {name}" : "خەيرلىك ئەتىگەن ، {name}",
"Good afternoon" : "خەيرلىك چۈشتىن كېيىن",
"Good afternoon, {name}" : "خەيرلىك چۈشتىن كېيىن ، {name}",
"Good evening" : "خەيرلىك كەچ!",
"Good evening, {name}" : "خەيرلىك كەچ ، {name}",
"Hello" : "ياخشىمۇسىز",
"Hello, {name}" : "ياخشىمۇسىز ، {name}",
"Start your day informed\n\nThe Nextcloud Dashboard is your starting point of the day, giving you an overview of your upcoming appointments, urgent emails, chat messages, incoming tickets, latest tweets and much more! Users can add the widgets they like and change the background to their liking." : "ئۇچۇرلىرىڭىزنى باشلاڭ\n\nNextcloud باش تاختا سىزنىڭ شۇ كۈندىكى باشلىنىش نۇقتىڭىز بولۇپ ، سىزگە كەلگۈسىدىكى ئۇچرىشىشلىرىڭىز ، جىددى ئېلېكترونلۇق خەتلەر ، پاراڭلىشىش ئۇچۇرلىرى ، كەلگەن بېلەتلەر ، ئەڭ يېڭى tweet ۋە باشقىلار ھەققىدە ئومۇمىي چۈشەنچە بېرىدۇ. ئىشلەتكۈچىلەر ئۆزلىرى ياقتۇرىدىغان كىچىك قوراللارنى قوشالايدۇ ۋە تەگلىكنى خالىغانچە ئۆزگەرتەلەيدۇ."
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}

View file

@ -74,8 +74,8 @@ class DashboardApiController extends OCSController {
* @param array<string, string> $sinceIds Array indexed by widget Ids, contains date/id from which we want the new items
* @param int $limit Limit number of result items per widget
* @psalm-param int<1, 30> $limit
* @param string[] $widgets Limit results to specific widgets
* @return DataResponse<Http::STATUS_OK, array<string, DashboardWidgetItem[]>, array{}>
* @param list<string> $widgets Limit results to specific widgets
* @return DataResponse<Http::STATUS_OK, array<string, list<DashboardWidgetItem>>, array{}>
*
* 200: Widget items returned
*/
@ -102,7 +102,7 @@ class DashboardApiController extends OCSController {
* @param array<string, string> $sinceIds Array indexed by widget Ids, contains date/id from which we want the new items
* @param int $limit Limit number of result items per widget, not more than 30 are allowed
* @psalm-param int<1, 30> $limit
* @param string[] $widgets Limit results to specific widgets
* @param list<string> $widgets Limit results to specific widgets
* @return DataResponse<Http::STATUS_OK, array<string, DashboardWidgetItems>, array{}>
*
* 200: Widget items returned

View file

@ -18,13 +18,13 @@ namespace OCA\Dashboard;
* icon_url: string,
* widget_url: ?string,
* item_icons_round: bool,
* item_api_versions: int[],
* item_api_versions: list<int>,
* reload_interval: int,
* buttons?: array{
* buttons?: list<array{
* type: string,
* text: string,
* link: string,
* }[],
* }>,
* }
*
* @psalm-type DashboardWidgetItem = array{
@ -37,7 +37,7 @@ namespace OCA\Dashboard;
* }
*
* @psalm-type DashboardWidgetItems = array{
* items: DashboardWidgetItem[],
* items: list<DashboardWidgetItem>,
* emptyContentMessage: string,
* halfEmptyContentMessage: string,
* }

View file

@ -507,7 +507,6 @@ export default {
.panel, .panels > div {
// Ensure the maxcontrast color is set for the background
--color-text-maxcontrast: var(--color-text-maxcontrast-background-blur, var(--color-main-text));
width: 320px;
max-width: 100%;
margin: 16px;
@ -532,7 +531,8 @@ export default {
padding: 16px;
cursor: grab;
&, ::v-deep * {
&,
:deep(*) {
-webkit-touch-callout: none;
-webkit-user-select: none;
-khtml-user-select: none;
@ -618,11 +618,10 @@ export default {
.button,
.button-vue,
.edit-panels,
.statuses ::v-deep .action-item .action-item__menutoggle,
.statuses ::v-deep .action-item.action-item--open .action-item__menutoggle {
.statuses :deep(.action-item .action-item__menutoggle),
.statuses :deep(.action-item.action-item--open .action-item__menutoggle) {
// Ensure the maxcontrast color is set for the background
--color-text-maxcontrast: var(--color-text-maxcontrast-background-blur, var(--color-main-text));
background-color: var(--color-main-background-blur);
-webkit-backdrop-filter: var(--filter-background-blur);
backdrop-filter: var(--filter-background-blur);

View file

@ -117,6 +117,3 @@ export default {
},
}
</script>
<style lang="scss" scoped>
</style>

View file

@ -276,7 +276,7 @@ return array(
'OCA\\DAV\\Events\\SubscriptionUpdatedEvent' => $baseDir . '/../lib/Events/SubscriptionUpdatedEvent.php',
'OCA\\DAV\\Exception\\ServerMaintenanceMode' => $baseDir . '/../lib/Exception/ServerMaintenanceMode.php',
'OCA\\DAV\\Exception\\UnsupportedLimitOnInitialSyncException' => $baseDir . '/../lib/Exception/UnsupportedLimitOnInitialSyncException.php',
'OCA\\DAV\\Files\\ErrorPagePlugin' => $baseDir . '/../lib/Files/ErrorPagePlugin.php',
'OCA\\DAV\\Files\\BrowserErrorPagePlugin' => $baseDir . '/../lib/Files/BrowserErrorPagePlugin.php',
'OCA\\DAV\\Files\\FileSearchBackend' => $baseDir . '/../lib/Files/FileSearchBackend.php',
'OCA\\DAV\\Files\\FilesHome' => $baseDir . '/../lib/Files/FilesHome.php',
'OCA\\DAV\\Files\\LazySearchBackend' => $baseDir . '/../lib/Files/LazySearchBackend.php',

View file

@ -291,7 +291,7 @@ class ComposerStaticInitDAV
'OCA\\DAV\\Events\\SubscriptionUpdatedEvent' => __DIR__ . '/..' . '/../lib/Events/SubscriptionUpdatedEvent.php',
'OCA\\DAV\\Exception\\ServerMaintenanceMode' => __DIR__ . '/..' . '/../lib/Exception/ServerMaintenanceMode.php',
'OCA\\DAV\\Exception\\UnsupportedLimitOnInitialSyncException' => __DIR__ . '/..' . '/../lib/Exception/UnsupportedLimitOnInitialSyncException.php',
'OCA\\DAV\\Files\\ErrorPagePlugin' => __DIR__ . '/..' . '/../lib/Files/ErrorPagePlugin.php',
'OCA\\DAV\\Files\\BrowserErrorPagePlugin' => __DIR__ . '/..' . '/../lib/Files/BrowserErrorPagePlugin.php',
'OCA\\DAV\\Files\\FileSearchBackend' => __DIR__ . '/..' . '/../lib/Files/FileSearchBackend.php',
'OCA\\DAV\\Files\\FilesHome' => __DIR__ . '/..' . '/../lib/Files/FilesHome.php',
'OCA\\DAV\\Files\\LazySearchBackend' => __DIR__ . '/..' . '/../lib/Files/LazySearchBackend.php',

View file

@ -2,7 +2,7 @@ OC.L10N.register(
"dav",
{
"Calendar" : "الجدول الزمني",
"Tasks" : "الأعمال",
"Tasks" : "المهام",
"Personal" : "خاص",
"{actor} created calendar {calendar}" : "{actor} قام بإنشاء تقويم {calendar}",
"You created calendar {calendar}" : "قمت بإنشاء التقويم {calendar}",
@ -251,9 +251,9 @@ OC.L10N.register(
"Failed to clear your absence settings" : "تعذّر محو إعداداتك للغياب",
"Time zone:" : "منطقة زمنية:",
"to" : "إلى",
"Delete slot" : "حذف فُرَضَةٍ slot زمنيّةٍ",
"Delete slot" : "حذف الخانة الزمنية",
"No working hours set" : "لم يتم تحديد ساعات العمل",
"Add slot" : "إضافة فترة زمنية",
"Add slot" : "إضافة خانة زمنية",
"Weekdays" : "أيام الأسبوع",
"Pick a start time for {dayName}" : "إختَر وقت البدء ليوم {dayName}",
"Pick a end time for {dayName}" : "إختَر وقت الانتهاء ليوم {dayName}",

View file

@ -1,6 +1,6 @@
{ "translations": {
"Calendar" : "الجدول الزمني",
"Tasks" : "الأعمال",
"Tasks" : "المهام",
"Personal" : "خاص",
"{actor} created calendar {calendar}" : "{actor} قام بإنشاء تقويم {calendar}",
"You created calendar {calendar}" : "قمت بإنشاء التقويم {calendar}",
@ -249,9 +249,9 @@
"Failed to clear your absence settings" : "تعذّر محو إعداداتك للغياب",
"Time zone:" : "منطقة زمنية:",
"to" : "إلى",
"Delete slot" : "حذف فُرَضَةٍ slot زمنيّةٍ",
"Delete slot" : "حذف الخانة الزمنية",
"No working hours set" : "لم يتم تحديد ساعات العمل",
"Add slot" : "إضافة فترة زمنية",
"Add slot" : "إضافة خانة زمنية",
"Weekdays" : "أيام الأسبوع",
"Pick a start time for {dayName}" : "إختَر وقت البدء ليوم {dayName}",
"Pick a end time for {dayName}" : "إختَر وقت الانتهاء ليوم {dayName}",

View file

@ -72,9 +72,25 @@ OC.L10N.register(
"Description: %s" : "Descripción: %s",
"Where: %s" : "Lugar: %s",
"%1$s via %2$s" : "%1$s vía %2$s",
"In a %1$s on %2$s for the entire day" : "En un(a) %1$s el %2$s todo el día",
"In a %1$s on %2$s between %3$s - %4$s" : "En un(a) %1$s el %2$s entre las %3$s - %4$s",
"In %1$s %2$s on %3$s for the entire day" : "En %1$s %2$s el %3$s todo el día",
"In %1$s %2$s on %3$s between %4$s - %5$s" : "En %1$s %2$s el %3$s entre las %4$s - %5$s",
"Could not generate when statement" : "No se ha podido general la declaración de cuándo",
"Every Day for the entire day" : "Todos los días durante todo el día",
"Every Day for the entire day until %1$s" : "Cada day todo el día hasta el %1$s",
"Every Day between %1$s - %2$s" : "Todos los días entre %1$s - %2$s",
"Every Day between %1$s - %2$s until %3$s" : "Todos los días entre %1$s - %2$s hasta %3$s",
"Every %1$d Days for the entire day" : "Cada %1$d días todo el día",
"Every %1$d Days for the entire day until %2$s" : "Cada %1$d días todo el día hasta el %2$s",
"Every %1$d Days between %2$s - %3$s" : "Cada %1$d días entre las %2$s y %3$s",
"Every %1$d Days between %2$s - %3$s until %4$s" : "Cada %1$d días entre las %2$s y %3$s hasta el %4$s",
"Could not generate event recurrence statement" : "No se ha podido generar la declaración de recurrencia",
"Every Week on %1$s for the entire day" : "Cada semana el %1$s todo el día",
"Every Week on %1$s for the entire day until %2$s" : "Cada %1$s días todo el día hasta el %2$s",
"Every Week on %1$s between %2$s - %3$s" : "Cada semana el %1$s entre %2$s y %3$s",
"Every Week on %1$s between %2$s - %3$s until %4$s" : "Cada semana el %1$s entre %2$s y %3$s hasta el %4$s",
"Every %1$d Weeks on %2$s for the entire day" : "Cada %1$d semanas el %2$s todo el día",
"Cancelled: %1$s" : "Cancelado: %1$s",
"\"%1$s\" has been canceled" : "\"%1$s\" ha sido cancelada",
"Re: %1$s" : "Re: %1$s",

View file

@ -70,9 +70,25 @@
"Description: %s" : "Descripción: %s",
"Where: %s" : "Lugar: %s",
"%1$s via %2$s" : "%1$s vía %2$s",
"In a %1$s on %2$s for the entire day" : "En un(a) %1$s el %2$s todo el día",
"In a %1$s on %2$s between %3$s - %4$s" : "En un(a) %1$s el %2$s entre las %3$s - %4$s",
"In %1$s %2$s on %3$s for the entire day" : "En %1$s %2$s el %3$s todo el día",
"In %1$s %2$s on %3$s between %4$s - %5$s" : "En %1$s %2$s el %3$s entre las %4$s - %5$s",
"Could not generate when statement" : "No se ha podido general la declaración de cuándo",
"Every Day for the entire day" : "Todos los días durante todo el día",
"Every Day for the entire day until %1$s" : "Cada day todo el día hasta el %1$s",
"Every Day between %1$s - %2$s" : "Todos los días entre %1$s - %2$s",
"Every Day between %1$s - %2$s until %3$s" : "Todos los días entre %1$s - %2$s hasta %3$s",
"Every %1$d Days for the entire day" : "Cada %1$d días todo el día",
"Every %1$d Days for the entire day until %2$s" : "Cada %1$d días todo el día hasta el %2$s",
"Every %1$d Days between %2$s - %3$s" : "Cada %1$d días entre las %2$s y %3$s",
"Every %1$d Days between %2$s - %3$s until %4$s" : "Cada %1$d días entre las %2$s y %3$s hasta el %4$s",
"Could not generate event recurrence statement" : "No se ha podido generar la declaración de recurrencia",
"Every Week on %1$s for the entire day" : "Cada semana el %1$s todo el día",
"Every Week on %1$s for the entire day until %2$s" : "Cada %1$s días todo el día hasta el %2$s",
"Every Week on %1$s between %2$s - %3$s" : "Cada semana el %1$s entre %2$s y %3$s",
"Every Week on %1$s between %2$s - %3$s until %4$s" : "Cada semana el %1$s entre %2$s y %3$s hasta el %4$s",
"Every %1$d Weeks on %2$s for the entire day" : "Cada %1$d semanas el %2$s todo el día",
"Cancelled: %1$s" : "Cancelado: %1$s",
"\"%1$s\" has been canceled" : "\"%1$s\" ha sido cancelada",
"Re: %1$s" : "Re: %1$s",

View file

@ -169,7 +169,7 @@ OC.L10N.register(
"Second Last" : "Penúltimo",
"Third Last" : "Antepenúltimo",
"Fourth Last" : "Trasantepenúltimo",
"Fifty Last" : "Quinto dende o final",
"Fifty Last" : "Quinto desde o final",
"Contacts" : "Contactos",
"{actor} created address book {addressbook}" : "{actor} creou o caderno de enderezos {addressbook}",
"You created address book {addressbook}" : "Vde. creou o caderno de enderezos {addressbook}",

View file

@ -167,7 +167,7 @@
"Second Last" : "Penúltimo",
"Third Last" : "Antepenúltimo",
"Fourth Last" : "Trasantepenúltimo",
"Fifty Last" : "Quinto dende o final",
"Fifty Last" : "Quinto desde o final",
"Contacts" : "Contactos",
"{actor} created address book {addressbook}" : "{actor} creou o caderno de enderezos {addressbook}",
"You created address book {addressbook}" : "Vde. creou o caderno de enderezos {addressbook}",

View file

@ -64,7 +64,7 @@ OC.L10N.register(
"_%n month_::_%n months_" : ["%nヶ月"],
"_%n day_::_%n days_" : ["%n日"],
"_%n hour_::_%n hours_" : ["%n時間"],
"_%n minute_::_%n minutes_" : ["%n"],
"_%n minute_::_%n minutes_" : ["%n"],
"%s (in %s)" : "%s%s後",
"%s (%s ago)" : "%s%s前",
"Calendar: %s" : "カレンダー:%s",

View file

@ -62,7 +62,7 @@
"_%n month_::_%n months_" : ["%nヶ月"],
"_%n day_::_%n days_" : ["%n日"],
"_%n hour_::_%n hours_" : ["%n時間"],
"_%n minute_::_%n minutes_" : ["%n"],
"_%n minute_::_%n minutes_" : ["%n"],
"%s (in %s)" : "%s%s後",
"%s (%s ago)" : "%s%s前",
"Calendar: %s" : "カレンダー:%s",

View file

@ -36,7 +36,7 @@ OC.L10N.register(
"You moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "Przeniosłeś wydarzenie {event} z kalendarza {sourceCalendar} do kalendarza {targetCalendar}",
"{actor} restored event {event} of calendar {calendar}" : "{actor} przywrócił wydarzenie {event} z kalendarza {calendar}",
"You restored event {event} of calendar {calendar}" : "Przywróciłeś wydarzenie {event} z kalendarza {calendar}",
"Busy" : "Czekaj",
"Busy" : "Zajęty",
"{actor} created to-do {todo} in list {calendar}" : "{actor} utworzył zadanie {todo} na liście {calendar}",
"You created to-do {todo} in list {calendar}" : "Utworzyłeś zadanie {todo} na liście {calendar}",
"{actor} deleted to-do {todo} from list {calendar}" : "{actor} usunął zadanie {todo} z listy {calendar}",
@ -72,6 +72,10 @@ OC.L10N.register(
"Description: %s" : "Opis: %s",
"Where: %s" : "Gdzie: %s",
"%1$s via %2$s" : "%1$s przez %2$s",
"Could not generate when statement" : "Nie można wygenerować instrukcji when",
"Every Day for the entire day" : "Codziennie przez cały dzień",
"Could not generate event recurrence statement" : "Nie można wygenerować zestawienia powtórzeń zdarzenia",
"Could not generate next recurrence statement" : "Nie można wygenerować następnej instrukcji powtarzania",
"Cancelled: %1$s" : "Anulowane: %1$s",
"\"%1$s\" has been canceled" : "\"%1$s\" zostało anulowane",
"Re: %1$s" : "Odp: %1$s",
@ -88,7 +92,8 @@ OC.L10N.register(
"Title:" : "Tytuł:",
"When:" : "Kiedy:",
"Location:" : "Lokalizacja:",
"Link:" : "Link: ",
"Link:" : "Odnośnik: ",
"Occurring:" : "Występujący:",
"Accept" : "Akceptuj",
"Decline" : "Odrzuć",
"More options …" : "Więcej opcji…",
@ -113,7 +118,13 @@ OC.L10N.register(
"November" : "Listopad",
"December" : "Grudzień",
"First" : "Pierwsza",
"Second" : "Druga",
"Third" : "Trzecia",
"Fourth" : "Czwarta",
"Fifty" : "Piąta",
"Last" : "Ostatnia",
"Second Last" : "Druga ostatnia",
"Third Last" : "Trzecia ostatnia",
"Fourth Last" : "Czwarty ostatni",
"Fifty Last" : "Pięćdziesiąt Ostatni",
"Contacts" : "Kontakty",
@ -144,6 +155,7 @@ OC.L10N.register(
"Accounts" : "Konta",
"System address book which holds all accounts" : "Systemowa książka adresowa, która przechowuje wszystkie konta",
"File is not updatable: %1$s" : "Plik nie podlega aktualizacji: %1$s",
"Failed to get storage for file" : "Nie udało się uzyskać miejsca na plik",
"Could not write to final file, canceled by hook" : "Nie można zapisać do pliku końcowego, anulowane przez hook",
"Could not write file contents" : "Nie można zapisać zawartości pliku",
"_%n byte_::_%n bytes_" : ["%n bajt","%n bajty","%n bajtów","%n bajtów"],
@ -158,6 +170,7 @@ OC.L10N.register(
"Failed to unlink: %1$s" : "Nie udało się odłączyć: %1$s",
"Failed to write file contents: %1$s" : "Nie udało się zapisać zawartości pliku: %1$s",
"File not found: %1$s" : "Nie znaleziono pliku: %1$s",
"Invalid target path" : "Nieprawidłowa ścieżka docelowa",
"System is in maintenance mode." : "Serwer jest w trybie konserwacji.",
"Upgrade needed" : "Wymagana aktualizacja",
"Your %s needs to be configured to use HTTPS in order to use CalDAV and CardDAV with iOS/macOS." : "%s musisz używać protokołu HTTPS aby móc korzystać z CalDAV i CardDAV w systemach iOS/macOS.",
@ -172,18 +185,26 @@ OC.L10N.register(
"No outstanding DAV system address book sync." : "Brak zaległej synchronizacji książki adresowej systemu DAV.",
"The DAV system address book sync has not run yet as your instance has more than 1000 users or because an error occurred. Please run it manually by calling \"occ dav:sync-system-addressbook\"." : "Synchronizacja książki adresowej systemu DAV nie została jeszcze uruchomiona, ponieważ Twoja instancja ma ponad 1000 użytkowników lub wystąpił błąd. Uruchom go ręcznie, wywołując \"occ dav:sync-system-addressbook\".",
"WebDAV endpoint" : "Adres WebDAV",
"Could not check that your web server is properly set up to allow file synchronization over WebDAV. Please check manually." : "Nie można sprawdzić, czy serwer WWW jest prawidłowo skonfigurowany, aby umożliwić synchronizację plików przez WebDAV. Sprawdź ręcznie.",
"Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "Serwer WWW nie jest jeszcze na tyle poprawnie skonfigurowany, aby umożliwić synchronizację plików, ponieważ interfejs WebDAV może być uszkodzony.",
"Your web server is properly set up to allow file synchronization over WebDAV." : "Twój serwer internetowy jest prawidłowo skonfigurowany, aby umożliwić synchronizację plików przez WebDAV.",
"Migrated calendar (%1$s)" : "Przeniesiony kalendarz (%1$s)",
"Calendars including events, details and attendees" : "Kalendarze zawierające wydarzenia, szczegóły i uczestników",
"Contacts and groups" : "Kontakty i grupy",
"WebDAV" : "WebDAV",
"First day" : "Pierwszy dzień",
"Last day (inclusive)" : "Ostatni dzień (inclusive)",
"Out of office replacement (optional)" : "Zamiennik poza biurem (opcjonalnie)",
"Name of the replacement" : "Nazwa zamiennika",
"No results." : "Brak wyników.",
"Start typing." : "Zacznij pisać.",
"Short absence status" : "Powiadomienie o krótkiej nieobecności ",
"Long absence Message" : "Powiadomienie o długiej nieobecności ",
"Save" : "Zapisz",
"Disable absence" : "Wyłącz nieobecność",
"Absence saved" : "Nieobecność zapisana",
"Failed to save your absence settings" : "Niedane zapisanie ustawień nieobecności",
"Absence cleared" : "Nieobecność została usunięta",
"Failed to clear your absence settings" : "Nieudane kasowanie ustawień nieobecności",
"Time zone:" : "Strefa czasowa:",
"to" : "od",
@ -198,6 +219,7 @@ OC.L10N.register(
"Saved availability" : "Zapisana dostępność",
"Failed to save availability" : "Nie udało się zapisać dostępności",
"Availability" : "Dostępność",
"If you configure your working hours, other people will see when you are out of office when they book a meeting." : "Jeśli skonfigurujesz godziny pracy, inne osoby będą widzieć, kiedy jesteś poza biurem, rezerwując spotkanie.",
"Absence" : "Nieobecność",
"Configure your next absence period." : "Ustaw czas swojej nieobecności ",
"Calendar server" : "Serwer kalendarza",

View file

@ -34,7 +34,7 @@
"You moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "Przeniosłeś wydarzenie {event} z kalendarza {sourceCalendar} do kalendarza {targetCalendar}",
"{actor} restored event {event} of calendar {calendar}" : "{actor} przywrócił wydarzenie {event} z kalendarza {calendar}",
"You restored event {event} of calendar {calendar}" : "Przywróciłeś wydarzenie {event} z kalendarza {calendar}",
"Busy" : "Czekaj",
"Busy" : "Zajęty",
"{actor} created to-do {todo} in list {calendar}" : "{actor} utworzył zadanie {todo} na liście {calendar}",
"You created to-do {todo} in list {calendar}" : "Utworzyłeś zadanie {todo} na liście {calendar}",
"{actor} deleted to-do {todo} from list {calendar}" : "{actor} usunął zadanie {todo} z listy {calendar}",
@ -70,6 +70,10 @@
"Description: %s" : "Opis: %s",
"Where: %s" : "Gdzie: %s",
"%1$s via %2$s" : "%1$s przez %2$s",
"Could not generate when statement" : "Nie można wygenerować instrukcji when",
"Every Day for the entire day" : "Codziennie przez cały dzień",
"Could not generate event recurrence statement" : "Nie można wygenerować zestawienia powtórzeń zdarzenia",
"Could not generate next recurrence statement" : "Nie można wygenerować następnej instrukcji powtarzania",
"Cancelled: %1$s" : "Anulowane: %1$s",
"\"%1$s\" has been canceled" : "\"%1$s\" zostało anulowane",
"Re: %1$s" : "Odp: %1$s",
@ -86,7 +90,8 @@
"Title:" : "Tytuł:",
"When:" : "Kiedy:",
"Location:" : "Lokalizacja:",
"Link:" : "Link: ",
"Link:" : "Odnośnik: ",
"Occurring:" : "Występujący:",
"Accept" : "Akceptuj",
"Decline" : "Odrzuć",
"More options …" : "Więcej opcji…",
@ -111,7 +116,13 @@
"November" : "Listopad",
"December" : "Grudzień",
"First" : "Pierwsza",
"Second" : "Druga",
"Third" : "Trzecia",
"Fourth" : "Czwarta",
"Fifty" : "Piąta",
"Last" : "Ostatnia",
"Second Last" : "Druga ostatnia",
"Third Last" : "Trzecia ostatnia",
"Fourth Last" : "Czwarty ostatni",
"Fifty Last" : "Pięćdziesiąt Ostatni",
"Contacts" : "Kontakty",
@ -142,6 +153,7 @@
"Accounts" : "Konta",
"System address book which holds all accounts" : "Systemowa książka adresowa, która przechowuje wszystkie konta",
"File is not updatable: %1$s" : "Plik nie podlega aktualizacji: %1$s",
"Failed to get storage for file" : "Nie udało się uzyskać miejsca na plik",
"Could not write to final file, canceled by hook" : "Nie można zapisać do pliku końcowego, anulowane przez hook",
"Could not write file contents" : "Nie można zapisać zawartości pliku",
"_%n byte_::_%n bytes_" : ["%n bajt","%n bajty","%n bajtów","%n bajtów"],
@ -156,6 +168,7 @@
"Failed to unlink: %1$s" : "Nie udało się odłączyć: %1$s",
"Failed to write file contents: %1$s" : "Nie udało się zapisać zawartości pliku: %1$s",
"File not found: %1$s" : "Nie znaleziono pliku: %1$s",
"Invalid target path" : "Nieprawidłowa ścieżka docelowa",
"System is in maintenance mode." : "Serwer jest w trybie konserwacji.",
"Upgrade needed" : "Wymagana aktualizacja",
"Your %s needs to be configured to use HTTPS in order to use CalDAV and CardDAV with iOS/macOS." : "%s musisz używać protokołu HTTPS aby móc korzystać z CalDAV i CardDAV w systemach iOS/macOS.",
@ -170,18 +183,26 @@
"No outstanding DAV system address book sync." : "Brak zaległej synchronizacji książki adresowej systemu DAV.",
"The DAV system address book sync has not run yet as your instance has more than 1000 users or because an error occurred. Please run it manually by calling \"occ dav:sync-system-addressbook\"." : "Synchronizacja książki adresowej systemu DAV nie została jeszcze uruchomiona, ponieważ Twoja instancja ma ponad 1000 użytkowników lub wystąpił błąd. Uruchom go ręcznie, wywołując \"occ dav:sync-system-addressbook\".",
"WebDAV endpoint" : "Adres WebDAV",
"Could not check that your web server is properly set up to allow file synchronization over WebDAV. Please check manually." : "Nie można sprawdzić, czy serwer WWW jest prawidłowo skonfigurowany, aby umożliwić synchronizację plików przez WebDAV. Sprawdź ręcznie.",
"Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "Serwer WWW nie jest jeszcze na tyle poprawnie skonfigurowany, aby umożliwić synchronizację plików, ponieważ interfejs WebDAV może być uszkodzony.",
"Your web server is properly set up to allow file synchronization over WebDAV." : "Twój serwer internetowy jest prawidłowo skonfigurowany, aby umożliwić synchronizację plików przez WebDAV.",
"Migrated calendar (%1$s)" : "Przeniesiony kalendarz (%1$s)",
"Calendars including events, details and attendees" : "Kalendarze zawierające wydarzenia, szczegóły i uczestników",
"Contacts and groups" : "Kontakty i grupy",
"WebDAV" : "WebDAV",
"First day" : "Pierwszy dzień",
"Last day (inclusive)" : "Ostatni dzień (inclusive)",
"Out of office replacement (optional)" : "Zamiennik poza biurem (opcjonalnie)",
"Name of the replacement" : "Nazwa zamiennika",
"No results." : "Brak wyników.",
"Start typing." : "Zacznij pisać.",
"Short absence status" : "Powiadomienie o krótkiej nieobecności ",
"Long absence Message" : "Powiadomienie o długiej nieobecności ",
"Save" : "Zapisz",
"Disable absence" : "Wyłącz nieobecność",
"Absence saved" : "Nieobecność zapisana",
"Failed to save your absence settings" : "Niedane zapisanie ustawień nieobecności",
"Absence cleared" : "Nieobecność została usunięta",
"Failed to clear your absence settings" : "Nieudane kasowanie ustawień nieobecności",
"Time zone:" : "Strefa czasowa:",
"to" : "od",
@ -196,6 +217,7 @@
"Saved availability" : "Zapisana dostępność",
"Failed to save availability" : "Nie udało się zapisać dostępności",
"Availability" : "Dostępność",
"If you configure your working hours, other people will see when you are out of office when they book a meeting." : "Jeśli skonfigurujesz godziny pracy, inne osoby będą widzieć, kiedy jesteś poza biurem, rezerwując spotkanie.",
"Absence" : "Nieobecność",
"Configure your next absence period." : "Ustaw czas swojej nieobecności ",
"Calendar server" : "Serwer kalendarza",

View file

@ -89,6 +89,7 @@ OC.L10N.register(
"When:" : "Kedy:",
"Location:" : "Miesto:",
"Link:" : "Odkaz:",
"Occurring:" : "Výskyt:",
"Accept" : "Schváliť",
"Decline" : "Odmietnuť",
"More options …" : "Ďalšie nastavenia ...",
@ -113,7 +114,15 @@ OC.L10N.register(
"November" : "November",
"December" : "December",
"First" : "Prvé",
"Second" : "Druhý",
"Third" : "Tretí",
"Fourth" : "Štvrtý",
"Fifty" : "Priaty",
"Last" : "Posledné",
"Second Last" : "Predposledný",
"Third Last" : "Tretí odzadu",
"Fourth Last" : "Štvrtý odzadu",
"Fifty Last" : "Piaty odzadu",
"Contacts" : "Kontakty",
"{actor} created address book {addressbook}" : "{actor} vytvoril adresár {addressbook}",
"You created address book {addressbook}" : "Vytvorili ste adresár {addressbook}",
@ -179,6 +188,8 @@ OC.L10N.register(
"WebDAV" : "WebDAV",
"First day" : "Prvý deň",
"Last day (inclusive)" : "Posledný deň (vrátane)",
"No results." : "Žiadne výsledky.",
"Start typing." : "Začnite písať.",
"Short absence status" : "Status pre Krátku neprítomnosť",
"Long absence Message" : "Sprava pri Dlhej neprítomnosti",
"Save" : "Uložiť",

View file

@ -87,6 +87,7 @@
"When:" : "Kedy:",
"Location:" : "Miesto:",
"Link:" : "Odkaz:",
"Occurring:" : "Výskyt:",
"Accept" : "Schváliť",
"Decline" : "Odmietnuť",
"More options …" : "Ďalšie nastavenia ...",
@ -111,7 +112,15 @@
"November" : "November",
"December" : "December",
"First" : "Prvé",
"Second" : "Druhý",
"Third" : "Tretí",
"Fourth" : "Štvrtý",
"Fifty" : "Priaty",
"Last" : "Posledné",
"Second Last" : "Predposledný",
"Third Last" : "Tretí odzadu",
"Fourth Last" : "Štvrtý odzadu",
"Fifty Last" : "Piaty odzadu",
"Contacts" : "Kontakty",
"{actor} created address book {addressbook}" : "{actor} vytvoril adresár {addressbook}",
"You created address book {addressbook}" : "Vytvorili ste adresár {addressbook}",
@ -177,6 +186,8 @@
"WebDAV" : "WebDAV",
"First day" : "Prvý deň",
"Last day (inclusive)" : "Posledný deň (vrátane)",
"No results." : "Žiadne výsledky.",
"Start typing." : "Začnite písať.",
"Short absence status" : "Status pre Krátku neprítomnosť",
"Long absence Message" : "Sprava pri Dlhej neprítomnosti",
"Save" : "Uložiť",

View file

@ -72,6 +72,21 @@ OC.L10N.register(
"Description: %s" : "Beskrivning: %s",
"Where: %s" : "Var: %s",
"%1$s via %2$s" : "%1$s via %2$s",
"In a %1$s on %2$s for the entire day" : "Om en %1$s den %2$s, hela dagen",
"In a %1$s on %2$s between %3$s - %4$s" : "Om en %1$s den %2$s mellan %3$s - %4$s",
"In %1$s %2$s on %3$s for the entire day" : "Om %1$s %2$s den %3$s, hela dagen",
"In %1$s %2$s on %3$s between %4$s - %5$s" : "Om %1$s %2$s den %3$s mellan %4$s - %5$s",
"Every Day for the entire day" : "Varje dag hela dagen",
"Every Day for the entire day until %1$s" : "Varje dag hela dagen tills den %1$s",
"Every Day between %1$s - %2$s" : "Varje dag mellan %1$s - %2$s",
"Every Day between %1$s - %2$s until %3$s" : "Varje dag mellan %1$s - %2$s tills den %3$s",
"Every %1$d Days for the entire day" : "Varje %1$d dagar, hela dagen",
"Every %1$d Days for the entire day until %2$s" : "Varje %1$d dagar hela dagen tills den %2$s",
"Every %1$d Days between %2$s - %3$s" : "Varje %1$d dagar mellan %2$s - %3$s",
"Every %1$d Days between %2$s - %3$s until %4$s" : "Varje %1$d dagar mellan %2$s - %3$s tills den %4$s",
"Every Week on %1$s for the entire day" : "Varje vecka på %1$s, hela dagen",
"Every Week on %1$s for the entire day until %2$s" : "Varje vecka på %1$s hela dagen tills den %2$s",
"Every Week on %1$s between %2$s - %3$s" : "Varje vecka på %1$s mellan %2$s - %3$s",
"Cancelled: %1$s" : "Avbruten: %1$s",
"\"%1$s\" has been canceled" : "\"%1$s\" har avbrutits",
"Re: %1$s" : "Sv: %1$s",

View file

@ -70,6 +70,21 @@
"Description: %s" : "Beskrivning: %s",
"Where: %s" : "Var: %s",
"%1$s via %2$s" : "%1$s via %2$s",
"In a %1$s on %2$s for the entire day" : "Om en %1$s den %2$s, hela dagen",
"In a %1$s on %2$s between %3$s - %4$s" : "Om en %1$s den %2$s mellan %3$s - %4$s",
"In %1$s %2$s on %3$s for the entire day" : "Om %1$s %2$s den %3$s, hela dagen",
"In %1$s %2$s on %3$s between %4$s - %5$s" : "Om %1$s %2$s den %3$s mellan %4$s - %5$s",
"Every Day for the entire day" : "Varje dag hela dagen",
"Every Day for the entire day until %1$s" : "Varje dag hela dagen tills den %1$s",
"Every Day between %1$s - %2$s" : "Varje dag mellan %1$s - %2$s",
"Every Day between %1$s - %2$s until %3$s" : "Varje dag mellan %1$s - %2$s tills den %3$s",
"Every %1$d Days for the entire day" : "Varje %1$d dagar, hela dagen",
"Every %1$d Days for the entire day until %2$s" : "Varje %1$d dagar hela dagen tills den %2$s",
"Every %1$d Days between %2$s - %3$s" : "Varje %1$d dagar mellan %2$s - %3$s",
"Every %1$d Days between %2$s - %3$s until %4$s" : "Varje %1$d dagar mellan %2$s - %3$s tills den %4$s",
"Every Week on %1$s for the entire day" : "Varje vecka på %1$s, hela dagen",
"Every Week on %1$s for the entire day until %2$s" : "Varje vecka på %1$s hela dagen tills den %2$s",
"Every Week on %1$s between %2$s - %3$s" : "Varje vecka på %1$s mellan %2$s - %3$s",
"Cancelled: %1$s" : "Avbruten: %1$s",
"\"%1$s\" has been canceled" : "\"%1$s\" har avbrutits",
"Re: %1$s" : "Sv: %1$s",

View file

@ -268,12 +268,12 @@ OC.L10N.register(
"Calendar server" : "Takvim sunucusu",
"Send invitations to attendees" : "Katılımcılara davet gönder",
"Automatically generate a birthday calendar" : "Doğum günü takvimi otomatik oluşturulsun",
"Birthday calendars will be generated by a background job." : "Bu seçenek etkinleştirildiğinde, doğum günü takvimi arka plan görevi olarak oluşturulur.",
"Hence they will not be available immediately after enabling but will show up after some time." : "Etkinleştirildikten hemen sonra görüntülenmez, bir süre sonra görüntülenir.",
"Birthday calendars will be generated by a background job." : "Bu seçenek kullanıma alındığında, doğum günü takvimi arka plan görevi olarak oluşturulur.",
"Hence they will not be available immediately after enabling but will show up after some time." : "Kullanıma alındıktan hemen sonra görüntülenmez, bir süre sonra görüntülenir.",
"Send notifications for events" : "Etkinlik bildirimleri gönderilsin",
"Notifications are sent via background jobs, so these must occur often enough." : "Bildirimler arka plan işlemleri tarafından gönderilir. Bu nedenle sıklık değeri uygun şekilde ayarlanmalıdır.",
"Send reminder notifications to calendar sharees as well" : "Takvim paylaşımlarına da hatırlatma bildirimleri gönderilsin",
"Reminders are always sent to organizers and attendees." : "Bu seçenek etkinleştirildiğinde, hatırlatıcılar her zaman düzenleyici ve katılımcılara gönderilir.",
"Reminders are always sent to organizers and attendees." : "Bu seçenek kullanıma alındığında, hatırlatıcılar her zaman düzenleyici ve katılımcılara gönderilir.",
"Enable notifications for events via push" : "Anında etkinlik bildirimlerini aç",
"Also install the {calendarappstoreopen}Calendar app{linkclose}, or {calendardocopen}connect your desktop & mobile for syncing ↗{linkclose}." : "Ayrıca {calendarappstoreopen}Takvim Uygulamasını{linkclose} kurun ya da {calendardocopen}bilgisayarınızı ya da taşınabilir aygıtınızı eşitlemek üzere bağlayın ↗{linkclose}.",
"Please make sure to properly set up {emailopen}the email server{linkclose}." : "Lütfen {emailopen}e-posta sunucusunu{linkclose} doğru ayarladığınızdan emin olun.",

View file

@ -266,12 +266,12 @@
"Calendar server" : "Takvim sunucusu",
"Send invitations to attendees" : "Katılımcılara davet gönder",
"Automatically generate a birthday calendar" : "Doğum günü takvimi otomatik oluşturulsun",
"Birthday calendars will be generated by a background job." : "Bu seçenek etkinleştirildiğinde, doğum günü takvimi arka plan görevi olarak oluşturulur.",
"Hence they will not be available immediately after enabling but will show up after some time." : "Etkinleştirildikten hemen sonra görüntülenmez, bir süre sonra görüntülenir.",
"Birthday calendars will be generated by a background job." : "Bu seçenek kullanıma alındığında, doğum günü takvimi arka plan görevi olarak oluşturulur.",
"Hence they will not be available immediately after enabling but will show up after some time." : "Kullanıma alındıktan hemen sonra görüntülenmez, bir süre sonra görüntülenir.",
"Send notifications for events" : "Etkinlik bildirimleri gönderilsin",
"Notifications are sent via background jobs, so these must occur often enough." : "Bildirimler arka plan işlemleri tarafından gönderilir. Bu nedenle sıklık değeri uygun şekilde ayarlanmalıdır.",
"Send reminder notifications to calendar sharees as well" : "Takvim paylaşımlarına da hatırlatma bildirimleri gönderilsin",
"Reminders are always sent to organizers and attendees." : "Bu seçenek etkinleştirildiğinde, hatırlatıcılar her zaman düzenleyici ve katılımcılara gönderilir.",
"Reminders are always sent to organizers and attendees." : "Bu seçenek kullanıma alındığında, hatırlatıcılar her zaman düzenleyici ve katılımcılara gönderilir.",
"Enable notifications for events via push" : "Anında etkinlik bildirimlerini aç",
"Also install the {calendarappstoreopen}Calendar app{linkclose}, or {calendardocopen}connect your desktop & mobile for syncing ↗{linkclose}." : "Ayrıca {calendarappstoreopen}Takvim Uygulamasını{linkclose} kurun ya da {calendardocopen}bilgisayarınızı ya da taşınabilir aygıtınızı eşitlemek üzere bağlayın ↗{linkclose}.",
"Please make sure to properly set up {emailopen}the email server{linkclose}." : "Lütfen {emailopen}e-posta sunucusunu{linkclose} doğru ayarladığınızdan emin olun.",

285
apps/dav/l10n/ug.js Normal file
View file

@ -0,0 +1,285 @@
OC.L10N.register(
"dav",
{
"Calendar" : "يىلنامە",
"Tasks" : "ۋەزىپەلەر",
"Personal" : "شەخسىي",
"{actor} created calendar {calendar}" : "{ئارتىس} قۇرغان كالېندار {كالېندار}",
"You created calendar {calendar}" : "كالېندار {كالېندار} قۇردىڭىز",
"{actor} deleted calendar {calendar}" : "{ئارتىس} ئۆچۈرۈلگەن كالېندار {كالېندار}",
"You deleted calendar {calendar}" : "كالېندار {كالىندارنى ئۆچۈردىڭىز",
"{actor} updated calendar {calendar}" : "{ئارتىس} يېڭىلانغان كالېندار {كالېندار}",
"You updated calendar {calendar}" : "كالېندار {كالىندارنى يېڭىلىدىڭىز",
"{actor} restored calendar {calendar}" : "{ئارتىس} ئەسلىگە كەلتۈرۈلگەن كالېندار {كالېندار}",
"You restored calendar {calendar}" : "كالېندار {كالېندارنى ئەسلىگە كەلتۈردىڭىز",
"You shared calendar {calendar} as public link" : "سىز كالېندار {كالېندار public نى ئاممىۋى ئۇلىنىش سۈپىتىدە ھەمبەھىرلىدىڭىز",
"You removed public link for calendar {calendar}" : "كالېندار {كالېندارى ئۈچۈن ئاممىۋى ئۇلىنىشنى ئۆچۈردىڭىز",
"{actor} shared calendar {calendar} with you" : "{ئارتىس} ئورتاقلاشقان كالېندار {كالېندار} سىز بىلەن",
"You shared calendar {calendar} with {user}" : "سىز كالېندار {كالېندار} نى {ئىشلەتكۈچى} بىلەن ئورتاقلاشتىڭىز",
"{actor} shared calendar {calendar} with {user}" : "{ئارتىس} ئورتاقلاشقان كالېندار {كالېندار} {ئىشلەتكۈچى} بىلەن",
"{actor} unshared calendar {calendar} from you" : "{ئارتىس} ئورتاقلاشمىغان كالېندار {كالېندار} سىزدىن",
"You unshared calendar {calendar} from {user}" : "سىز ئورتاق ئىشلەتمىگەن كالېندار {كالېندار}",
"{actor} unshared calendar {calendar} from {user}" : "{ئىشلەتكۈچى} ئورتاقلاشمىغان كالېندار {كالېندار} {ئىشلەتكۈچى}",
"{actor} unshared calendar {calendar} from themselves" : "{ئارتىس} ئورتاقلاشمىغان كالېندار {كالېندار} ئۆزىدىن",
"You shared calendar {calendar} with group {group}" : "كالېندار {كالېندار group گۇرۇپپا {گۇرۇپپا} بىلەن ئورتاقلاشتىڭىز",
"{actor} shared calendar {calendar} with group {group}" : "{ئارتىس} گۇرۇپپا {گۇرۇپپا بىلەن ئورتاقلاشقان كالېندار {كالېندار}",
"You unshared calendar {calendar} from group {group}" : "گۇرۇپپا {گۇرۇپپىدىن ئورتاقلاشمىغان كالېندار {كالېندار}",
"{actor} unshared calendar {calendar} from group {group}" : "گۇرۇپپا {گۇرۇپپا} ئورتاقلاشمىغان كالېندار {كالېندار}",
"Untitled event" : "نامسىز ھادىسە",
"{actor} created event {event} in calendar {calendar}" : "{ئارتىس} كالېندار {كالېنداردا پائالىيەت {ۋەقە} قۇرغان}",
"You created event {event} in calendar {calendar}" : "كالېندار {كالېنداردا پائالىيەت {ھادىسە created قۇردىڭىز",
"{actor} deleted event {event} from calendar {calendar}" : "{ئارتىس} ئۆچۈرۈلگەن ھادىسە {ۋەقە} كالېنداردىن {كالېندار}",
"You deleted event {event} from calendar {calendar}" : "كالېندار {كالېنداردىكى ھادىسە {ھادىسىنى ئۆچۈردىڭىز",
"{actor} updated event {event} in calendar {calendar}" : "كالېنداردىكى {ئارتىس} يېڭىلانغان پائالىيەت {پائالىيەت}",
"You updated event {event} in calendar {calendar}" : "كالېندار {كالېنداردىكى پائالىيەت {ھادىسە} نى يېڭىلىدىڭىز",
"{actor} moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "{ئارتىس} پائالىيەت {پائالىيەت} كالېنداردىن {sourceCalendar} دىن كالېندارغا {targetCalendar} غا يۆتكەلدى",
"You moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "سىز ھادىسە {ھادىسە كالىندارىدىن {sourceCalendar} دىن كالېندار {targetCalendar} غا يۆتكىدىڭىز",
"{actor} restored event {event} of calendar {calendar}" : "{ئارتىس} ئەسلىگە كەلتۈرۈلگەن ھادىسە {ھادىسە كالىندارى {كالېندار}",
"You restored event {event} of calendar {calendar}" : "كالېندار {كالېندارىدىكى پائالىيەت {ھادىسە} نى ئەسلىگە كەلتۈردىڭىز",
"Busy" : "ئالدىراش",
"{actor} created to-do {todo} in list {calendar}" : "{ئارتىس list تىزىملىك {كالېندارىدا to todo to ئىجاد قىلىش",
"You created to-do {todo} in list {calendar}" : "سىز تىزىملىك {كالېندارىدا to todo to نى قۇردىڭىز",
"{actor} deleted to-do {todo} from list {calendar}" : "{ئارتىس list تىزىملىكتىن {todo to ئۆچۈرۈلدى {todo}",
"You deleted to-do {todo} from list {calendar}" : "تىزىملىكتىن {todo to نى ئۆچۈردىڭىز {كالېندار}",
"{actor} updated to-do {todo} in list {calendar}" : "{ئارتىس} تىزىملىك {كالېندارىدىكى to todo to يېڭىلانغان",
"You updated to-do {todo} in list {calendar}" : "تىزىملىك {كالېندار} دىكى do todo to نى يېڭىلىدىڭىز",
"{actor} solved to-do {todo} in list {calendar}" : "{ئارتىس list تىزىملىكتىكى كالېنداردىكى to todo to نى ھەل قىلدى",
"You solved to-do {todo} in list {calendar}" : "تىزىملىك {كالېندار} دىكى do todo to نى ھەل قىلدىڭىز",
"{actor} reopened to-do {todo} in list {calendar}" : "{ئارتىس} تىزىملىك {كالېندارىدىكى to todo to قايتا ئېچىلدى",
"You reopened to-do {todo} in list {calendar}" : "تىزىملىك {كالېندار} دىكى do todo to نى قايتا ئاچتىڭىز",
"{actor} moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "{ئارتىس list تىزىملىكتىن {مەنبە كالېندار} دىن {نىشان كالېندارى to دىن to todo to غا يۆتكەلدى",
"You moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "تىزىملىكتىن {sourceCalendar} دىن {نىشان كالېندارى to دىن to todo to غا يۆتكەلدىڭىز",
"Calendar, contacts and tasks" : "كالېندار ، ئالاقىلىشىش ۋە ۋەزىپە",
"A <strong>calendar</strong> was modified" : "<strong> كالېندار </ strong> ئۆزگەرتىلدى",
"A calendar <strong>event</strong> was modified" : "كالېندار <strong> ھادىسە </ strong> ئۆزگەرتىلدى",
"A calendar <strong>to-do</strong> was modified" : "كالېندار <strong> قىلىش </ strong> ئۆزگەرتىلدى",
"Contact birthdays" : "تۇغۇلغان كۈنى بىلەن ئالاقىلىشىڭ",
"Death of %s" : "% S نىڭ ئۆلۈمى",
"Untitled calendar" : "نامسىز كالېندار",
"Calendar:" : "كالېندار:",
"Date:" : "چېسلا:",
"Where:" : "قەيەردە:",
"Description:" : "چۈشەندۈرۈش:",
"%s (in %s)" : "% s (% s)",
"%s (%s ago)" : "% s (% s ago)",
"Calendar: %s" : "كالېندار:% s",
"Date: %s" : "چېسلا:% s",
"Description: %s" : "چۈشەندۈرۈش:% s",
"Where: %s" : "قەيەردە:% s",
"%1$s via %2$s" : "% 1 $ s ئارقىلىق% 2 $ s",
"In a %1$s on %2$s for the entire day" : "پۈتۈن كۈن ئۈچۈن% 2 $ s دىكى% 1 $ s ئىچىدە",
"In a %1$s on %2$s between %3$s - %4$s" : "% 1 $ s دىكى% 2 $ s دىكى% 3 $ s -% 4 $ s ئارىلىقىدا",
"In %1$s %2$s on %3$s for the entire day" : "% 1 $ s% 2 $ s پۈتۈن كۈن% 3 $ s",
"In %1$s %2$s on %3$s between %4$s - %5$s" : "% 1 $ s% 2 $ s% 3 $ s دىكى% 4 $ s -% 5 $ s ئارىلىقىدا",
"Could not generate when statement" : "بايان قىلغاندا ھاسىل قىلالمىدى",
"Every Day for the entire day" : "ھەر بىر كۈن پۈتۈن بىر كۈن",
"Every Day for the entire day until %1$s" : "ھەر بىر كۈن پۈتۈن كۈن% 1 $ s غىچە",
"Every Day between %1$s - %2$s" : "ھەر كۈنى% 1 $ s -% 2 $ s ئارىلىقىدا",
"Every Day between %1$s - %2$s until %3$s" : "ھەر كۈنى% 1 $ s -% 2 $ s ئارىلىقىدا% 3 $ s غىچە",
"Every %1$d Days for the entire day" : "پۈتۈن% 1 $ d كۈن",
"Every %1$d Days for the entire day until %2$s" : "ھەر% 1 $ d پۈتۈن بىر كۈن ئىچىدە% 2 $ s غىچە",
"Every %1$d Days between %2$s - %3$s" : "ھەر% 1 $ d كۈنلەر% 2 $ s -% 3 $ s ئارىلىقىدا",
"Every %1$d Days between %2$s - %3$s until %4$s" : "ھەر% 1 $ d كۈنلىرى% 2 $ s -% 3 $ s ئارىلىقىدا% 4 $ s غىچە",
"Could not generate event recurrence statement" : "ھادىسە قايتا-قايتا بايانات ھاسىل قىلالمىدى",
"Every Week on %1$s for the entire day" : "ھەر ھەپتە پۈتۈن كۈن ئۈچۈن% 1 $ s",
"Every Week on %1$s for the entire day until %2$s" : "ھەر ھەپتە% 1 $ s پۈتۈن بىر كۈن ئىچىدە% 2 $ s غىچە",
"Every Week on %1$s between %2$s - %3$s" : "ھەر ھەپتە% 1 $ s دىكى% 2 $ s -% 3 $ s ئارىلىقىدا",
"Every Week on %1$s between %2$s - %3$s until %4$s" : "ھەر ھەپتە% 1 $ s دىكى% 2 $ s -% 3 $ s ئارىلىقىدا% 4 $ s غىچە",
"Every %1$d Weeks on %2$s for the entire day" : "پۈتۈن% 1 $ d ھەپتىلىك% 2 $ s",
"Every %1$d Weeks on %2$s for the entire day until %3$s" : "ھەر% 1 $ d ھەپتىلىك% 2 $ s پۈتۈن بىر كۈن ئىچىدە% 3 $ s غىچە",
"Every %1$d Weeks on %2$s between %3$s - %4$s" : "ھەر% 1 $ d ھەپتىلىك% 2 $ s دىكى% 3 $ s -% 4 $ s ئارىلىقىدا",
"Every %1$d Weeks on %2$s between %3$s - %4$s until %5$s" : "ھەر% 1 $ d ھەپتىلىكى% 2 $ s دىكى% 3 $ s -% 4 $ s ئارىلىقىدا% 5 $ s گىچە",
"Every Month on the %1$s for the entire day" : "ھەر ئايدا% 1 $ s پۈتۈن بىر كۈن",
"Every Month on the %1$s for the entire day until %2$s" : "ھەر ئايدا% 1 $ s پۈتۈن بىر كۈن ئىچىدە% 2 $ s غىچە",
"Every Month on the %1$s between %2$s - %3$s" : "ھەر ئايدا% 1 $ s دىكى% 2 $ s -% 3 $ s ئارىلىقىدا",
"Every Month on the %1$s between %2$s - %3$s until %4$s" : "ھەر ئايدا% 1 $ s دىكى% 2 $ s -% 3 $ s ئارىلىقىدا% 4 $ s غىچە",
"Every %1$d Months on the %2$s for the entire day" : "ھەر% 1 $ d ئايلار پۈتۈن كۈندىكى% 2 $ s",
"Every %1$d Months on the %2$s for the entire day until %3$s" : "ھەر% 1 $ d ئايلار% 2 $ s پۈتۈن بىر كۈن ئىچىدە% 3 $ s غىچە",
"Every %1$d Months on the %2$s between %3$s - %4$s" : "ھەر% 1 $ d ئايلار% 2 $ s دىكى% 3 $ s -% 4 $ s ئارىلىقىدا",
"Every %1$d Months on the %2$s between %3$s - %4$s until %5$s" : "ھەر% 1 $ d ئايلار% 2 $ s دىكى% 3 $ s -% 4 $ s ئارىلىقىدا% 5 $ s غىچە",
"Every Year in %1$s on the %2$s for the entire day" : "ھەر يىلى% 1 $ s دىكى% 2 $ s پۈتۈن بىر كۈن",
"Every Year in %1$s on the %2$s for the entire day until %3$s" : "ھەر يىلى% 1 $ s دىكى% 2 $ s پۈتۈن بىر كۈن ئىچىدە% 3 $ s غىچە",
"Every Year in %1$s on the %2$s between %3$s - %4$s" : "ھەر يىلى% 1 $ s دىكى% 2 $ s دىكى% 3 $ s -% 4 $ s ئارىلىقىدا",
"Every Year in %1$s on the %2$s between %3$s - %4$s until %5$s" : "ھەر يىلى% 1 $ s دىكى% 2 $ s دىكى% 3 $ s -% 4 $ s ئارىلىقىدا% 5 $ s غىچە",
"Every %1$d Years in %2$s on the %3$s for the entire day" : "ھەر% 1 $ d يىللار% 2 $ s دىكى پۈتۈن كۈن% 3 $ s",
"Every %1$d Years in %2$s on the %3$s for the entire day until %4$s" : "ھەر% 1 $ d يىللار% 2 $ s يىل ئىچىدە% 3 $ s پۈتۈن بىر كۈن ئىچىدە% 4 $ s غىچە",
"Every %1$d Years in %2$s on the %3$s between %4$s - %5$s" : "ھەر% 1 $ d يىللار% 2 $ s دىكى% 3 $ s دىكى% 4 $ s -% 5 $ s",
"Every %1$d Years in %2$s on the %3$s between %4$s - %5$s until %6$s" : "ھەر% 1 $ d يىللار% 2 $ s دىكى% 3 $ s دىكى% 4 $ s -% 5 $ s ئارىلىقىدىكى% 6 $ s",
"On specific dates for the entire day until %1$s" : "پۈتۈن كۈندىكى كونكرېت كۈنلەردە% 1 $ s غىچە",
"On specific dates between %1$s - %2$s until %3$s" : "كونكرېت كۈنلەردە% 1 $ s -% 2 $ s ئارىلىقىدا% 3 $ s غىچە",
"In a %1$s on %2$s" : "% 2 $ s دىكى% 1 $ s",
"In a %1$s on %2$s then on %3$s" : "% 2 $ s دىكى% 1 $ s دە ئاندىن% 3 $ s",
"In a %1$s on %2$s then on %3$s and %4$s" : "% 2 $ s دىكى% 1 $ s ئاندىن% 3 $ s ۋە% 4 $ s",
"In %1$s %2$s on %3$s" : "% 3 $ s دىكى% 1 $ s% 2 $ s",
"In %1$s %2$s on %3$s then on %4$s" : "% 1 $ s% 2 $ s بولسا% 3 $ s ئاندىن% 4 $ s",
"In %1$s %2$s on %3$s then on %4$s and %5$s" : "% 1 $ s% 2 $ s بولسا% 3 $ s ئاندىن% 4 $ s ۋە% 5 $ s",
"Could not generate next recurrence statement" : "كېيىنكى تەكرارلىنىش باياناتىنى ھاسىل قىلالمىدى",
"Cancelled: %1$s" : "ئەمەلدىن قالدۇرۇلدى:% 1 $ s",
"\"%1$s\" has been canceled" : "\"% 1 $ s\" ئەمەلدىن قالدۇرۇلدى",
"Re: %1$s" : "Re:% 1 $ s",
"%1$s has accepted your invitation" : "% 1 $ s سىزنىڭ تەكلىۋىڭىزنى قوبۇل قىلدى",
"%1$s has tentatively accepted your invitation" : "% 1 $ s سىزنىڭ تەكلىۋىڭىزنى ۋاقتىنچە قوبۇل قىلدى",
"%1$s has declined your invitation" : "% 1 $ s سىزنىڭ تەكلىۋىڭىزنى رەت قىلدى",
"%1$s has responded to your invitation" : "% 1 $ s سىزنىڭ تەكلىۋىڭىزگە جاۋاب قايتۇردى",
"Invitation updated: %1$s" : "تەكلىپ يېڭىلاندى:% 1 $ s",
"%1$s updated the event \"%2$s\"" : "% 1 $ s پائالىيەتنى \"% 2 $ s\" يېڭىلىدى",
"Invitation: %1$s" : "تەكلىپ:% 1 $ s",
"%1$s would like to invite you to \"%2$s\"" : "% 1 $ s سىزنى «% 2 $ s» غا تەكلىپ قىلماقچى",
"Organizer:" : "تەشكىللىگۈچى:",
"Attendees:" : "قاتناشقۇچىلار:",
"Title:" : "ماۋزۇ:",
"When:" : "قاچان:",
"Location:" : "ئورنى:",
"Link:" : "ئۇلىنىش:",
"Occurring:" : "يۈز بەرگەن ئىشلار:",
"Accept" : "قوبۇل قىلىڭ",
"Decline" : "رەت قىلىش",
"More options …" : "تېخىمۇ كۆپ تاللاشلار…",
"More options at %s" : "% S دىكى تېخىمۇ كۆپ تاللاشلار",
"Monday" : "دۈشەنبە",
"Tuesday" : "سەيشەنبە",
"Wednesday" : "چارشەنبە",
"Thursday" : "پەيشەنبە",
"Friday" : "جۈمە",
"Saturday" : "شەنبە",
"Sunday" : "يەكشەنبە",
"January" : "قەھرىتان",
"February" : "ھۇت",
"March" : "نەۋرۇز",
"April" : "ئۇمۇت",
"May" : "باھار",
"June" : "سەپەر",
"July" : "چىللە",
"August" : "تومۇز",
"September" : "مىزان",
"October" : "ئوغۇز",
"November" : "ئوغلاق",
"December" : "كۆنەك",
"First" : "بىرىنچى",
"Second" : "ئىككىنچى",
"Third" : "ئۈچىنچىسى",
"Fourth" : "تۆتىنچى",
"Fifty" : "ئەللىك",
"Last" : "ئاخىرقى",
"Second Last" : "Second Last",
"Third Last" : "ئۈچىنچى ئاخىرقى",
"Fourth Last" : "تۆتىنچى ئاخىرقى",
"Fifty Last" : "ئەللىك ئاخىرقى",
"Contacts" : "ئالاقەداشلار",
"{actor} created address book {addressbook}" : "{ئارتىس} قۇرغان ئادرېس دەپتىرى {ئادرېس دەپتىرى}",
"You created address book {addressbook}" : "سىز ئادرېس دەپتىرى {ئادرېس دەپتىرىنى قۇردىڭىز",
"{actor} deleted address book {addressbook}" : "{ئارتىس} ئۆچۈرۈلگەن ئادرېس دەپتىرى {ئادرېس دەپتىرى}",
"You deleted address book {addressbook}" : "سىز ئادرېس دەپتىرىنى {ئادرېس دەپتىرىنى ئۆچۈردىڭىز",
"{actor} updated address book {addressbook}" : "{ئارتىس} يېڭىلانغان ئادرېس دەپتىرى {ئادرېس دەپتىرى}",
"You updated address book {addressbook}" : "سىز ئادرېس دەپتىرىنى {ئادرېس دەپتىرىنى يېڭىلىدىڭىز",
"{actor} shared address book {addressbook} with you" : "{ئارتىس} ئورتاقلاشقان ئادرېس دەپتىرى {ئادرېس دەپتىرى you سىز بىلەن",
"You shared address book {addressbook} with {user}" : "سىز ئادرېس دەپتىرى {ئادرېس دەپتىرىنى {ئىشلەتكۈچى} بىلەن ئورتاقلاشتىڭىز",
"{actor} shared address book {addressbook} with {user}" : "{ئارتىس} ئورتاقلاشقان ئادرېس دەپتىرى {ئادرېس دەپتىرى {ئىشلەتكۈچى}",
"{actor} unshared address book {addressbook} from you" : "{ئارتىس} ئورتاقلاشمىغان ئادرېس دەپتىرى {ئادرېس دەپتىرى you سىزدىن",
"You unshared address book {addressbook} from {user}" : "سىز ئورتاق ئىشلەتمىگەن ئادرېس دەپتىرى {ئادرېس دەپتىرى {ئىشلەتكۈچى}",
"{actor} unshared address book {addressbook} from {user}" : "{ئارتىس} ھەمبەھىرلەنمىگەن ئادرېس دەپتىرى {ئادرېس دەپتىرى {ئىشلەتكۈچى}",
"{actor} unshared address book {addressbook} from themselves" : "{ئارتىس} ئورتاقلاشمىغان ئادرېس دەپتىرى {ئادرېس دەپتىرى themselves ئۆزىدىن",
"You shared address book {addressbook} with group {group}" : "گۇرۇپپا {گۇرۇپپا with بىلەن ئادرېس دەپتىرى {ئادرېس دەپتىرىنى ئورتاقلاشتىڭىز",
"{actor} shared address book {addressbook} with group {group}" : "{ئارتىس} گۇرۇپپا {گۇرۇپپا بىلەن ئورتاقلاشقان ئادرېس دەپتىرى {ئادرېس دەپتىرى}",
"You unshared address book {addressbook} from group {group}" : "گۇرۇپپا {گۇرۇپپىدىن ھەمبەھىرلەنگەن ئادرېس دەپتىرى {ئادرېس دەپتىرى}",
"{actor} unshared address book {addressbook} from group {group}" : "{ئارتىس} ئورتاق بەھرىلىنىدىغان ئادرېس دەپتىرى {ئادرېس دەپتىرى group گۇرۇپپا {گۇرۇپپىدىن}",
"{actor} created contact {card} in address book {addressbook}" : "{ئارتىس address ئادرېس دەپتىرىدە contact ئادرېس دەپتىرىدە contact ئالاقىلىشىش {كارتا} قۇردى",
"You created contact {card} in address book {addressbook}" : "سىز ئادرېس دەپتىرى {ئادرېس دەپتىرىدە contact ئالاقىلىشىش كارتىسى قۇردىڭىز",
"{actor} deleted contact {card} from address book {addressbook}" : "{ئارتىس contact ئادرېس دەپتىرى {ئادرېس دەپتىرىدىن ئالاقىلىشىش {كارتا ئۆچۈرۈلگەن",
"You deleted contact {card} from address book {addressbook}" : "ئالاقىلىشىش {كارتا address ئادرېس دەپتىرى {ئادرېس دەپتىرىدىن ئۆچۈرۈلدىڭىز",
"{actor} updated contact {card} in address book {addressbook}" : "{ئارتىس} يېڭىلانغان ئالاقىلىشىش {كارتا address ئادرېس دەپتىرى {ئادرېس دەپتىرى}",
"You updated contact {card} in address book {addressbook}" : "ئالاقىلىشىش {كارتا address ئادرېس دەپتىرى {ئادرېس دەپتىرىنى يېڭىلىدىڭىز",
"A <strong>contact</strong> or <strong>address book</strong> was modified" : "<strong> ئالاقىلىشىش </ strong> ياكى <strong> ئادرېس دەپتىرى </ strong> ئۆزگەرتىلدى",
"Accounts" : "ھېسابات",
"System address book which holds all accounts" : "بارلىق ھېساباتلارنى ئۆز ئىچىگە ئالغان سىستېما ئادرېس دەپتىرى",
"File is not updatable: %1$s" : "ھۆججەت يېڭىلانمايدۇ:% 1 $ s",
"Failed to get storage for file" : "ھۆججەت ساقلاشقا ئېرىشەلمىدى",
"Could not write to final file, canceled by hook" : "ئاخىرقى ھۆججەتكە يازالمىدى ، قارماق تەرىپىدىن ئەمەلدىن قالدۇرۇلدى",
"Could not write file contents" : "ھۆججەت مەزمۇنىنى يازالمىدى",
"Error while copying file to target location (copied: %1$s, expected filesize: %2$s)" : "نىشاننى نىشانغا كۆچۈرگەندە خاتالىق (كۆچۈرۈلگەن:% 1 $ s ، مۆلچەردىكى ھۆججەتلەر:% 2 $ s)",
"Expected filesize of %1$s but read (from Nextcloud client) and wrote (to Nextcloud storage) %2$s. Could either be a network problem on the sending side or a problem writing to the storage on the server side." : "مۆلچەردىكى ھۆججەتلەر% 1 $ s بولىدۇ ، ئەمما ئوقۇڭ (Nextcloud خېرىدارىدىن) ۋە (Nextcloud ساقلىغۇچقا)% 2 $ s دەپ يازدى. ئەۋەتىش تەرەپتىكى تور مەسىلىسى ياكى مۇلازىمېتىر تەرەپتىكى ساقلاشقا يېزىش مەسىلىسى بولۇشى مۇمكىن.",
"Could not rename part file to final file, canceled by hook" : "بۆلەك ھۆججىتىنى ئاخىرقى ھۆججەتكە ئۆزگەرتەلمىدى ، قارماق تەرىپىدىن ئەمەلدىن قالدۇرۇلدى",
"Could not rename part file to final file" : "قىسمەن ھۆججەتنى ئاخىرقى ھۆججەتكە ئۆزگەرتەلمىدى",
"Failed to check file size: %1$s" : "ھۆججەتنىڭ چوڭ-كىچىكلىكىنى تەكشۈرەلمىدى:% 1 $ s",
"Could not open file" : "ھۆججەت ئاچالمىدى",
"Encryption not ready: %1$s" : "شىفىرلاش تەييار ئەمەس:% 1 $ s",
"Failed to open file: %1$s" : "ھۆججەت ئېچىلمىدى:% 1 $ s",
"Failed to unlink: %1$s" : "ئۇلانمىدى:% 1 $ s",
"Failed to write file contents: %1$s" : "ھۆججەت مەزمۇنىنى يېزىش مەغلۇب بولدى:% 1 $ s",
"File not found: %1$s" : "ھۆججەت تېپىلمىدى:% 1 $ s",
"Invalid target path" : "نىشان يولى ئىناۋەتسىز",
"System is in maintenance mode." : "سىستېما ئاسراش ھالىتىدە.",
"Upgrade needed" : "يېڭىلاش كېرەك",
"Your %s needs to be configured to use HTTPS in order to use CalDAV and CardDAV with iOS/macOS." : "IOS / macOS ئارقىلىق CalDAV ۋە CardDAV نى ئىشلىتىش ئۈچۈن% s نى HTTPS ئىشلىتىش ئۈچۈن تەڭشەش كېرەك.",
"Configures a CalDAV account" : "CalDAV ھېساباتىنى سەپلەيدۇ",
"Configures a CardDAV account" : "CardDAV ھېساباتىنى سەپلەيدۇ",
"Events" : "Events",
"Untitled task" : "نامسىز ۋەزىپە",
"Completed on %s" : "% S دا تاماملاندى",
"Due on %s by %s" : "% S نىڭ سەۋەبىدىن% s",
"Due on %s" : "% S سەۋەبىدىن",
"DAV system address book" : "DAV سىستېما ئادرېس دەپتىرى",
"No outstanding DAV system address book sync." : "مۇنەۋۋەر DAV سىستېمىسى ئادرېس كىتاب ماسقەدەملەش يوق.",
"The DAV system address book sync has not run yet as your instance has more than 1000 users or because an error occurred. Please run it manually by calling \"occ dav:sync-system-addressbook\"." : "مىسالىڭىزدا 1000 دىن ئارتۇق ئىشلەتكۈچى بار ياكى خاتالىق يۈز بەرگەنلىكى ئۈچۈن DAV سىستېمىسى ئادرېس دەپتىرىنى ماسقەدەملەش تېخى ئىجرا بولمىدى. ئۇنى «occ dav: sync-system-addressbook» دەپ چاقىرىپ قولدا ئىجرا قىلىڭ.",
"WebDAV endpoint" : "WebDAV ئاخىرقى نۇقتىسى",
"Could not check that your web server is properly set up to allow file synchronization over WebDAV. Please check manually." : "تور مۇلازىمېتىرىڭىزنىڭ WebDAV ئارقىلىق ھۆججەت ماسقەدەملىشىگە يول قويۇلغانلىقىنى تەكشۈرەلمىدىڭىز. قولدا تەكشۈرۈپ بېقىڭ.",
"Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "تور مۇلازىمېتىرىڭىز ھۆججەتنىڭ ماس قەدەمدە بولۇشىغا يول قويۇلمىدى ، چۈنكى WebDAV كۆرۈنمە يۈزى بۇزۇلغاندەك قىلىدۇ.",
"Your web server is properly set up to allow file synchronization over WebDAV." : "تور مۇلازىمېتىرىڭىز WebDAV ئارقىلىق ھۆججەت ماسقەدەملەش ئۈچۈن مۇۋاپىق تەڭشەلدى.",
"Migrated calendar (%1$s)" : "كۆچۈرۈلگەن كالېندار (% 1 $ s)",
"Calendars including events, details and attendees" : "پائالىيەتلەر ، تەپسىلاتلار ۋە قاتناشقۇچىلارنى ئۆز ئىچىگە ئالغان كالېندارلار",
"Contacts and groups" : "ئالاقىلىشىش ۋە گۇرۇپپىلار",
"WebDAV" : "WebDAV",
"First day" : "بىرىنچى كۈنى",
"Last day (inclusive)" : "ئالدىنقى كۈنى (ئۆز ئىچىگە ئالىدۇ)",
"Out of office replacement (optional)" : "ئىش ئورنىنى ئالماشتۇرۇش (ئىختىيارىي)",
"Name of the replacement" : "ئالماشتۇرغۇچىنىڭ ئىسمى",
"No results." : "ھېچقانداق نەتىجە يوق.",
"Start typing." : "يېزىشنى باشلاڭ.",
"Short absence status" : "قىسقا ۋاقىتلىق ھالەت",
"Long absence Message" : "ئۇزۇن بولمىغان ئۇچۇر",
"Save" : "ساقلا",
"Disable absence" : "يوقلۇقىنى چەكلەڭ",
"Absence saved" : "يوقلۇق ساقلاندى",
"Failed to save your absence settings" : "يوقلۇقىڭىزنى ساقلىيالمىدى",
"Absence cleared" : "يوقالغان",
"Failed to clear your absence settings" : "يوقلۇقىڭىزنى تەڭشىمىدى",
"Time zone:" : "ۋاقىت رايونى:",
"to" : "to",
"Delete slot" : "ئورۇننى ئۆچۈرۈڭ",
"No working hours set" : "خىزمەت ۋاقتى بېكىتىلمىدى",
"Add slot" : "ئورۇن قوشۇڭ",
"Weekdays" : "ھەپتە كۈنلىرى",
"Pick a start time for {dayName}" : "{DayName} نىڭ باشلىنىش ۋاقتىنى تاللاڭ",
"Pick a end time for {dayName}" : "{DayName} نىڭ ئاخىرقى ۋاقتىنى تاللاڭ",
"Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications." : "بارلىق ئۇقتۇرۇشلارنى ئاۋازسىز قىلىش ئۈچۈن ئىشلەتكۈچى ھالىتىنى ئاپتوماتىك ھالدا «ئاۋارە قىلماڭ» قىلىپ تەڭشەڭ.",
"Failed to load availability" : "ئىشلىتىشچانلىقىنى يۈكلىيەلمىدى",
"Saved availability" : "تېجەشلىك",
"Failed to save availability" : "ئىشلەتكىلى بولمىدى",
"Availability" : "ئىشلەتكىلى بولىدۇ",
"If you configure your working hours, other people will see when you are out of office when they book a meeting." : "ئەگەر خىزمەت ۋاقتىڭىزنى تەڭشىسىڭىز ، باشقىلار يىغىن زاكاز قىلغاندا سىزنىڭ ئىشتىن چۈشكەن ۋاقتىڭىزنى كۆرىدۇ.",
"Absence" : "يوق",
"Configure your next absence period." : "كېيىنكى يوقلۇق ۋاقتىڭىزنى سەپلەڭ.",
"Calendar server" : "كالېندار مۇلازىمېتىرى",
"Send invitations to attendees" : "يىغىنغا قاتناشقۇچىلارغا تەكلىپنامە ئەۋەتىڭ",
"Automatically generate a birthday calendar" : "تۇغۇلغان كۈن كالېندارىنى ئاپتوماتىك ھاسىل قىلىدۇ",
"Birthday calendars will be generated by a background job." : "تۇغۇلغان كۈن كالېندارى ئارقا كۆرۈنۈش خىزمىتى ئارقىلىق بارلىققا كېلىدۇ.",
"Hence they will not be available immediately after enabling but will show up after some time." : "شۇڭلاشقا ئۇلار قوزغىتىلغاندىن كېيىن دەرھال تېپىلمايدۇ ، ئەمما مەلۇم ۋاقىتتىن كېيىن پەيدا بولىدۇ.",
"Send notifications for events" : "ۋەقەلەرگە ئۇقتۇرۇش ئەۋەتىڭ",
"Notifications are sent via background jobs, so these must occur often enough." : "ئۇقتۇرۇش ئارقا كۆرۈنۈش خىزمىتى ئارقىلىق ئەۋەتىلىدۇ ، شۇڭا بۇلار چوقۇم يېتەرلىك بولۇشى كېرەك.",
"Send reminder notifications to calendar sharees as well" : "كالېندار ھەمبەھىرلىرىگىمۇ ئەسكەرتىش ئۇقتۇرۇشى ئەۋەتىڭ",
"Reminders are always sent to organizers and attendees." : "ئەسكەرتىش ھەمىشە تەشكىللىگۈچىلەر ۋە قاتناشقۇچىلارغا ئەۋەتىلىدۇ.",
"Enable notifications for events via push" : "ئىتتىرىش ئارقىلىق ۋەقەلەرگە ئۇقتۇرۇشنى قوزغىتىڭ",
"Also install the {calendarappstoreopen}Calendar app{linkclose}, or {calendardocopen}connect your desktop & mobile for syncing ↗{linkclose}." : "يەنە {calendarappstoreopen} كالېندار دېتالى {linkclose} ياكى {calendardocopen} نى قاچىلاڭ ئۈستەلئۈستىڭىز ۋە كۆچمە تېلېفونىڭىزنى ئۇلاڭ ↗ {linkclose}.",
"Please make sure to properly set up {emailopen}the email server{linkclose}." : "{Emailopen} ئېلېكترونلۇق خەت مۇلازىمېتىرى {linkclose} نى مۇۋاپىق تەڭشەشكە كاپالەتلىك قىلىڭ.",
"There was an error updating your attendance status." : "قاتنىشىش ھالىتىڭىزنى يېڭىلاشتا خاتالىق كۆرۈلدى.",
"Please contact the organizer directly." : "تەشكىللىگۈچى بىلەن بىۋاسىتە ئالاقىلىشىڭ.",
"Are you accepting the invitation?" : "تەكلىپنى قوبۇل قىلامسىز؟",
"Tentative" : "Tentative",
"Your attendance was updated successfully." : "سىزنىڭ قاتنىشىشىڭىز مۇۋەپپەقىيەتلىك يېڭىلاندى.",
"To-dos" : "To-dos",
"Time:" : "ۋاقىت:",
"Invalid chunk name" : "ئىناۋەتسىز",
"Could not rename part file assembled from chunks" : "بۆلەكلەردىن يىغىلغان قىسمەن ھۆججەتنىڭ نامىنى ئۆزگەرتەلمىدى",
"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);");

283
apps/dav/l10n/ug.json Normal file
View file

@ -0,0 +1,283 @@
{ "translations": {
"Calendar" : "يىلنامە",
"Tasks" : "ۋەزىپەلەر",
"Personal" : "شەخسىي",
"{actor} created calendar {calendar}" : "{ئارتىس} قۇرغان كالېندار {كالېندار}",
"You created calendar {calendar}" : "كالېندار {كالېندار} قۇردىڭىز",
"{actor} deleted calendar {calendar}" : "{ئارتىس} ئۆچۈرۈلگەن كالېندار {كالېندار}",
"You deleted calendar {calendar}" : "كالېندار {كالىندارنى ئۆچۈردىڭىز",
"{actor} updated calendar {calendar}" : "{ئارتىس} يېڭىلانغان كالېندار {كالېندار}",
"You updated calendar {calendar}" : "كالېندار {كالىندارنى يېڭىلىدىڭىز",
"{actor} restored calendar {calendar}" : "{ئارتىس} ئەسلىگە كەلتۈرۈلگەن كالېندار {كالېندار}",
"You restored calendar {calendar}" : "كالېندار {كالېندارنى ئەسلىگە كەلتۈردىڭىز",
"You shared calendar {calendar} as public link" : "سىز كالېندار {كالېندار public نى ئاممىۋى ئۇلىنىش سۈپىتىدە ھەمبەھىرلىدىڭىز",
"You removed public link for calendar {calendar}" : "كالېندار {كالېندارى ئۈچۈن ئاممىۋى ئۇلىنىشنى ئۆچۈردىڭىز",
"{actor} shared calendar {calendar} with you" : "{ئارتىس} ئورتاقلاشقان كالېندار {كالېندار} سىز بىلەن",
"You shared calendar {calendar} with {user}" : "سىز كالېندار {كالېندار} نى {ئىشلەتكۈچى} بىلەن ئورتاقلاشتىڭىز",
"{actor} shared calendar {calendar} with {user}" : "{ئارتىس} ئورتاقلاشقان كالېندار {كالېندار} {ئىشلەتكۈچى} بىلەن",
"{actor} unshared calendar {calendar} from you" : "{ئارتىس} ئورتاقلاشمىغان كالېندار {كالېندار} سىزدىن",
"You unshared calendar {calendar} from {user}" : "سىز ئورتاق ئىشلەتمىگەن كالېندار {كالېندار}",
"{actor} unshared calendar {calendar} from {user}" : "{ئىشلەتكۈچى} ئورتاقلاشمىغان كالېندار {كالېندار} {ئىشلەتكۈچى}",
"{actor} unshared calendar {calendar} from themselves" : "{ئارتىس} ئورتاقلاشمىغان كالېندار {كالېندار} ئۆزىدىن",
"You shared calendar {calendar} with group {group}" : "كالېندار {كالېندار group گۇرۇپپا {گۇرۇپپا} بىلەن ئورتاقلاشتىڭىز",
"{actor} shared calendar {calendar} with group {group}" : "{ئارتىس} گۇرۇپپا {گۇرۇپپا بىلەن ئورتاقلاشقان كالېندار {كالېندار}",
"You unshared calendar {calendar} from group {group}" : "گۇرۇپپا {گۇرۇپپىدىن ئورتاقلاشمىغان كالېندار {كالېندار}",
"{actor} unshared calendar {calendar} from group {group}" : "گۇرۇپپا {گۇرۇپپا} ئورتاقلاشمىغان كالېندار {كالېندار}",
"Untitled event" : "نامسىز ھادىسە",
"{actor} created event {event} in calendar {calendar}" : "{ئارتىس} كالېندار {كالېنداردا پائالىيەت {ۋەقە} قۇرغان}",
"You created event {event} in calendar {calendar}" : "كالېندار {كالېنداردا پائالىيەت {ھادىسە created قۇردىڭىز",
"{actor} deleted event {event} from calendar {calendar}" : "{ئارتىس} ئۆچۈرۈلگەن ھادىسە {ۋەقە} كالېنداردىن {كالېندار}",
"You deleted event {event} from calendar {calendar}" : "كالېندار {كالېنداردىكى ھادىسە {ھادىسىنى ئۆچۈردىڭىز",
"{actor} updated event {event} in calendar {calendar}" : "كالېنداردىكى {ئارتىس} يېڭىلانغان پائالىيەت {پائالىيەت}",
"You updated event {event} in calendar {calendar}" : "كالېندار {كالېنداردىكى پائالىيەت {ھادىسە} نى يېڭىلىدىڭىز",
"{actor} moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "{ئارتىس} پائالىيەت {پائالىيەت} كالېنداردىن {sourceCalendar} دىن كالېندارغا {targetCalendar} غا يۆتكەلدى",
"You moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "سىز ھادىسە {ھادىسە كالىندارىدىن {sourceCalendar} دىن كالېندار {targetCalendar} غا يۆتكىدىڭىز",
"{actor} restored event {event} of calendar {calendar}" : "{ئارتىس} ئەسلىگە كەلتۈرۈلگەن ھادىسە {ھادىسە كالىندارى {كالېندار}",
"You restored event {event} of calendar {calendar}" : "كالېندار {كالېندارىدىكى پائالىيەت {ھادىسە} نى ئەسلىگە كەلتۈردىڭىز",
"Busy" : "ئالدىراش",
"{actor} created to-do {todo} in list {calendar}" : "{ئارتىس list تىزىملىك {كالېندارىدا to todo to ئىجاد قىلىش",
"You created to-do {todo} in list {calendar}" : "سىز تىزىملىك {كالېندارىدا to todo to نى قۇردىڭىز",
"{actor} deleted to-do {todo} from list {calendar}" : "{ئارتىس list تىزىملىكتىن {todo to ئۆچۈرۈلدى {todo}",
"You deleted to-do {todo} from list {calendar}" : "تىزىملىكتىن {todo to نى ئۆچۈردىڭىز {كالېندار}",
"{actor} updated to-do {todo} in list {calendar}" : "{ئارتىس} تىزىملىك {كالېندارىدىكى to todo to يېڭىلانغان",
"You updated to-do {todo} in list {calendar}" : "تىزىملىك {كالېندار} دىكى do todo to نى يېڭىلىدىڭىز",
"{actor} solved to-do {todo} in list {calendar}" : "{ئارتىس list تىزىملىكتىكى كالېنداردىكى to todo to نى ھەل قىلدى",
"You solved to-do {todo} in list {calendar}" : "تىزىملىك {كالېندار} دىكى do todo to نى ھەل قىلدىڭىز",
"{actor} reopened to-do {todo} in list {calendar}" : "{ئارتىس} تىزىملىك {كالېندارىدىكى to todo to قايتا ئېچىلدى",
"You reopened to-do {todo} in list {calendar}" : "تىزىملىك {كالېندار} دىكى do todo to نى قايتا ئاچتىڭىز",
"{actor} moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "{ئارتىس list تىزىملىكتىن {مەنبە كالېندار} دىن {نىشان كالېندارى to دىن to todo to غا يۆتكەلدى",
"You moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "تىزىملىكتىن {sourceCalendar} دىن {نىشان كالېندارى to دىن to todo to غا يۆتكەلدىڭىز",
"Calendar, contacts and tasks" : "كالېندار ، ئالاقىلىشىش ۋە ۋەزىپە",
"A <strong>calendar</strong> was modified" : "<strong> كالېندار </ strong> ئۆزگەرتىلدى",
"A calendar <strong>event</strong> was modified" : "كالېندار <strong> ھادىسە </ strong> ئۆزگەرتىلدى",
"A calendar <strong>to-do</strong> was modified" : "كالېندار <strong> قىلىش </ strong> ئۆزگەرتىلدى",
"Contact birthdays" : "تۇغۇلغان كۈنى بىلەن ئالاقىلىشىڭ",
"Death of %s" : "% S نىڭ ئۆلۈمى",
"Untitled calendar" : "نامسىز كالېندار",
"Calendar:" : "كالېندار:",
"Date:" : "چېسلا:",
"Where:" : "قەيەردە:",
"Description:" : "چۈشەندۈرۈش:",
"%s (in %s)" : "% s (% s)",
"%s (%s ago)" : "% s (% s ago)",
"Calendar: %s" : "كالېندار:% s",
"Date: %s" : "چېسلا:% s",
"Description: %s" : "چۈشەندۈرۈش:% s",
"Where: %s" : "قەيەردە:% s",
"%1$s via %2$s" : "% 1 $ s ئارقىلىق% 2 $ s",
"In a %1$s on %2$s for the entire day" : "پۈتۈن كۈن ئۈچۈن% 2 $ s دىكى% 1 $ s ئىچىدە",
"In a %1$s on %2$s between %3$s - %4$s" : "% 1 $ s دىكى% 2 $ s دىكى% 3 $ s -% 4 $ s ئارىلىقىدا",
"In %1$s %2$s on %3$s for the entire day" : "% 1 $ s% 2 $ s پۈتۈن كۈن% 3 $ s",
"In %1$s %2$s on %3$s between %4$s - %5$s" : "% 1 $ s% 2 $ s% 3 $ s دىكى% 4 $ s -% 5 $ s ئارىلىقىدا",
"Could not generate when statement" : "بايان قىلغاندا ھاسىل قىلالمىدى",
"Every Day for the entire day" : "ھەر بىر كۈن پۈتۈن بىر كۈن",
"Every Day for the entire day until %1$s" : "ھەر بىر كۈن پۈتۈن كۈن% 1 $ s غىچە",
"Every Day between %1$s - %2$s" : "ھەر كۈنى% 1 $ s -% 2 $ s ئارىلىقىدا",
"Every Day between %1$s - %2$s until %3$s" : "ھەر كۈنى% 1 $ s -% 2 $ s ئارىلىقىدا% 3 $ s غىچە",
"Every %1$d Days for the entire day" : "پۈتۈن% 1 $ d كۈن",
"Every %1$d Days for the entire day until %2$s" : "ھەر% 1 $ d پۈتۈن بىر كۈن ئىچىدە% 2 $ s غىچە",
"Every %1$d Days between %2$s - %3$s" : "ھەر% 1 $ d كۈنلەر% 2 $ s -% 3 $ s ئارىلىقىدا",
"Every %1$d Days between %2$s - %3$s until %4$s" : "ھەر% 1 $ d كۈنلىرى% 2 $ s -% 3 $ s ئارىلىقىدا% 4 $ s غىچە",
"Could not generate event recurrence statement" : "ھادىسە قايتا-قايتا بايانات ھاسىل قىلالمىدى",
"Every Week on %1$s for the entire day" : "ھەر ھەپتە پۈتۈن كۈن ئۈچۈن% 1 $ s",
"Every Week on %1$s for the entire day until %2$s" : "ھەر ھەپتە% 1 $ s پۈتۈن بىر كۈن ئىچىدە% 2 $ s غىچە",
"Every Week on %1$s between %2$s - %3$s" : "ھەر ھەپتە% 1 $ s دىكى% 2 $ s -% 3 $ s ئارىلىقىدا",
"Every Week on %1$s between %2$s - %3$s until %4$s" : "ھەر ھەپتە% 1 $ s دىكى% 2 $ s -% 3 $ s ئارىلىقىدا% 4 $ s غىچە",
"Every %1$d Weeks on %2$s for the entire day" : "پۈتۈن% 1 $ d ھەپتىلىك% 2 $ s",
"Every %1$d Weeks on %2$s for the entire day until %3$s" : "ھەر% 1 $ d ھەپتىلىك% 2 $ s پۈتۈن بىر كۈن ئىچىدە% 3 $ s غىچە",
"Every %1$d Weeks on %2$s between %3$s - %4$s" : "ھەر% 1 $ d ھەپتىلىك% 2 $ s دىكى% 3 $ s -% 4 $ s ئارىلىقىدا",
"Every %1$d Weeks on %2$s between %3$s - %4$s until %5$s" : "ھەر% 1 $ d ھەپتىلىكى% 2 $ s دىكى% 3 $ s -% 4 $ s ئارىلىقىدا% 5 $ s گىچە",
"Every Month on the %1$s for the entire day" : "ھەر ئايدا% 1 $ s پۈتۈن بىر كۈن",
"Every Month on the %1$s for the entire day until %2$s" : "ھەر ئايدا% 1 $ s پۈتۈن بىر كۈن ئىچىدە% 2 $ s غىچە",
"Every Month on the %1$s between %2$s - %3$s" : "ھەر ئايدا% 1 $ s دىكى% 2 $ s -% 3 $ s ئارىلىقىدا",
"Every Month on the %1$s between %2$s - %3$s until %4$s" : "ھەر ئايدا% 1 $ s دىكى% 2 $ s -% 3 $ s ئارىلىقىدا% 4 $ s غىچە",
"Every %1$d Months on the %2$s for the entire day" : "ھەر% 1 $ d ئايلار پۈتۈن كۈندىكى% 2 $ s",
"Every %1$d Months on the %2$s for the entire day until %3$s" : "ھەر% 1 $ d ئايلار% 2 $ s پۈتۈن بىر كۈن ئىچىدە% 3 $ s غىچە",
"Every %1$d Months on the %2$s between %3$s - %4$s" : "ھەر% 1 $ d ئايلار% 2 $ s دىكى% 3 $ s -% 4 $ s ئارىلىقىدا",
"Every %1$d Months on the %2$s between %3$s - %4$s until %5$s" : "ھەر% 1 $ d ئايلار% 2 $ s دىكى% 3 $ s -% 4 $ s ئارىلىقىدا% 5 $ s غىچە",
"Every Year in %1$s on the %2$s for the entire day" : "ھەر يىلى% 1 $ s دىكى% 2 $ s پۈتۈن بىر كۈن",
"Every Year in %1$s on the %2$s for the entire day until %3$s" : "ھەر يىلى% 1 $ s دىكى% 2 $ s پۈتۈن بىر كۈن ئىچىدە% 3 $ s غىچە",
"Every Year in %1$s on the %2$s between %3$s - %4$s" : "ھەر يىلى% 1 $ s دىكى% 2 $ s دىكى% 3 $ s -% 4 $ s ئارىلىقىدا",
"Every Year in %1$s on the %2$s between %3$s - %4$s until %5$s" : "ھەر يىلى% 1 $ s دىكى% 2 $ s دىكى% 3 $ s -% 4 $ s ئارىلىقىدا% 5 $ s غىچە",
"Every %1$d Years in %2$s on the %3$s for the entire day" : "ھەر% 1 $ d يىللار% 2 $ s دىكى پۈتۈن كۈن% 3 $ s",
"Every %1$d Years in %2$s on the %3$s for the entire day until %4$s" : "ھەر% 1 $ d يىللار% 2 $ s يىل ئىچىدە% 3 $ s پۈتۈن بىر كۈن ئىچىدە% 4 $ s غىچە",
"Every %1$d Years in %2$s on the %3$s between %4$s - %5$s" : "ھەر% 1 $ d يىللار% 2 $ s دىكى% 3 $ s دىكى% 4 $ s -% 5 $ s",
"Every %1$d Years in %2$s on the %3$s between %4$s - %5$s until %6$s" : "ھەر% 1 $ d يىللار% 2 $ s دىكى% 3 $ s دىكى% 4 $ s -% 5 $ s ئارىلىقىدىكى% 6 $ s",
"On specific dates for the entire day until %1$s" : "پۈتۈن كۈندىكى كونكرېت كۈنلەردە% 1 $ s غىچە",
"On specific dates between %1$s - %2$s until %3$s" : "كونكرېت كۈنلەردە% 1 $ s -% 2 $ s ئارىلىقىدا% 3 $ s غىچە",
"In a %1$s on %2$s" : "% 2 $ s دىكى% 1 $ s",
"In a %1$s on %2$s then on %3$s" : "% 2 $ s دىكى% 1 $ s دە ئاندىن% 3 $ s",
"In a %1$s on %2$s then on %3$s and %4$s" : "% 2 $ s دىكى% 1 $ s ئاندىن% 3 $ s ۋە% 4 $ s",
"In %1$s %2$s on %3$s" : "% 3 $ s دىكى% 1 $ s% 2 $ s",
"In %1$s %2$s on %3$s then on %4$s" : "% 1 $ s% 2 $ s بولسا% 3 $ s ئاندىن% 4 $ s",
"In %1$s %2$s on %3$s then on %4$s and %5$s" : "% 1 $ s% 2 $ s بولسا% 3 $ s ئاندىن% 4 $ s ۋە% 5 $ s",
"Could not generate next recurrence statement" : "كېيىنكى تەكرارلىنىش باياناتىنى ھاسىل قىلالمىدى",
"Cancelled: %1$s" : "ئەمەلدىن قالدۇرۇلدى:% 1 $ s",
"\"%1$s\" has been canceled" : "\"% 1 $ s\" ئەمەلدىن قالدۇرۇلدى",
"Re: %1$s" : "Re:% 1 $ s",
"%1$s has accepted your invitation" : "% 1 $ s سىزنىڭ تەكلىۋىڭىزنى قوبۇل قىلدى",
"%1$s has tentatively accepted your invitation" : "% 1 $ s سىزنىڭ تەكلىۋىڭىزنى ۋاقتىنچە قوبۇل قىلدى",
"%1$s has declined your invitation" : "% 1 $ s سىزنىڭ تەكلىۋىڭىزنى رەت قىلدى",
"%1$s has responded to your invitation" : "% 1 $ s سىزنىڭ تەكلىۋىڭىزگە جاۋاب قايتۇردى",
"Invitation updated: %1$s" : "تەكلىپ يېڭىلاندى:% 1 $ s",
"%1$s updated the event \"%2$s\"" : "% 1 $ s پائالىيەتنى \"% 2 $ s\" يېڭىلىدى",
"Invitation: %1$s" : "تەكلىپ:% 1 $ s",
"%1$s would like to invite you to \"%2$s\"" : "% 1 $ s سىزنى «% 2 $ s» غا تەكلىپ قىلماقچى",
"Organizer:" : "تەشكىللىگۈچى:",
"Attendees:" : "قاتناشقۇچىلار:",
"Title:" : "ماۋزۇ:",
"When:" : "قاچان:",
"Location:" : "ئورنى:",
"Link:" : "ئۇلىنىش:",
"Occurring:" : "يۈز بەرگەن ئىشلار:",
"Accept" : "قوبۇل قىلىڭ",
"Decline" : "رەت قىلىش",
"More options …" : "تېخىمۇ كۆپ تاللاشلار…",
"More options at %s" : "% S دىكى تېخىمۇ كۆپ تاللاشلار",
"Monday" : "دۈشەنبە",
"Tuesday" : "سەيشەنبە",
"Wednesday" : "چارشەنبە",
"Thursday" : "پەيشەنبە",
"Friday" : "جۈمە",
"Saturday" : "شەنبە",
"Sunday" : "يەكشەنبە",
"January" : "قەھرىتان",
"February" : "ھۇت",
"March" : "نەۋرۇز",
"April" : "ئۇمۇت",
"May" : "باھار",
"June" : "سەپەر",
"July" : "چىللە",
"August" : "تومۇز",
"September" : "مىزان",
"October" : "ئوغۇز",
"November" : "ئوغلاق",
"December" : "كۆنەك",
"First" : "بىرىنچى",
"Second" : "ئىككىنچى",
"Third" : "ئۈچىنچىسى",
"Fourth" : "تۆتىنچى",
"Fifty" : "ئەللىك",
"Last" : "ئاخىرقى",
"Second Last" : "Second Last",
"Third Last" : "ئۈچىنچى ئاخىرقى",
"Fourth Last" : "تۆتىنچى ئاخىرقى",
"Fifty Last" : "ئەللىك ئاخىرقى",
"Contacts" : "ئالاقەداشلار",
"{actor} created address book {addressbook}" : "{ئارتىس} قۇرغان ئادرېس دەپتىرى {ئادرېس دەپتىرى}",
"You created address book {addressbook}" : "سىز ئادرېس دەپتىرى {ئادرېس دەپتىرىنى قۇردىڭىز",
"{actor} deleted address book {addressbook}" : "{ئارتىس} ئۆچۈرۈلگەن ئادرېس دەپتىرى {ئادرېس دەپتىرى}",
"You deleted address book {addressbook}" : "سىز ئادرېس دەپتىرىنى {ئادرېس دەپتىرىنى ئۆچۈردىڭىز",
"{actor} updated address book {addressbook}" : "{ئارتىس} يېڭىلانغان ئادرېس دەپتىرى {ئادرېس دەپتىرى}",
"You updated address book {addressbook}" : "سىز ئادرېس دەپتىرىنى {ئادرېس دەپتىرىنى يېڭىلىدىڭىز",
"{actor} shared address book {addressbook} with you" : "{ئارتىس} ئورتاقلاشقان ئادرېس دەپتىرى {ئادرېس دەپتىرى you سىز بىلەن",
"You shared address book {addressbook} with {user}" : "سىز ئادرېس دەپتىرى {ئادرېس دەپتىرىنى {ئىشلەتكۈچى} بىلەن ئورتاقلاشتىڭىز",
"{actor} shared address book {addressbook} with {user}" : "{ئارتىس} ئورتاقلاشقان ئادرېس دەپتىرى {ئادرېس دەپتىرى {ئىشلەتكۈچى}",
"{actor} unshared address book {addressbook} from you" : "{ئارتىس} ئورتاقلاشمىغان ئادرېس دەپتىرى {ئادرېس دەپتىرى you سىزدىن",
"You unshared address book {addressbook} from {user}" : "سىز ئورتاق ئىشلەتمىگەن ئادرېس دەپتىرى {ئادرېس دەپتىرى {ئىشلەتكۈچى}",
"{actor} unshared address book {addressbook} from {user}" : "{ئارتىس} ھەمبەھىرلەنمىگەن ئادرېس دەپتىرى {ئادرېس دەپتىرى {ئىشلەتكۈچى}",
"{actor} unshared address book {addressbook} from themselves" : "{ئارتىس} ئورتاقلاشمىغان ئادرېس دەپتىرى {ئادرېس دەپتىرى themselves ئۆزىدىن",
"You shared address book {addressbook} with group {group}" : "گۇرۇپپا {گۇرۇپپا with بىلەن ئادرېس دەپتىرى {ئادرېس دەپتىرىنى ئورتاقلاشتىڭىز",
"{actor} shared address book {addressbook} with group {group}" : "{ئارتىس} گۇرۇپپا {گۇرۇپپا بىلەن ئورتاقلاشقان ئادرېس دەپتىرى {ئادرېس دەپتىرى}",
"You unshared address book {addressbook} from group {group}" : "گۇرۇپپا {گۇرۇپپىدىن ھەمبەھىرلەنگەن ئادرېس دەپتىرى {ئادرېس دەپتىرى}",
"{actor} unshared address book {addressbook} from group {group}" : "{ئارتىس} ئورتاق بەھرىلىنىدىغان ئادرېس دەپتىرى {ئادرېس دەپتىرى group گۇرۇپپا {گۇرۇپپىدىن}",
"{actor} created contact {card} in address book {addressbook}" : "{ئارتىس address ئادرېس دەپتىرىدە contact ئادرېس دەپتىرىدە contact ئالاقىلىشىش {كارتا} قۇردى",
"You created contact {card} in address book {addressbook}" : "سىز ئادرېس دەپتىرى {ئادرېس دەپتىرىدە contact ئالاقىلىشىش كارتىسى قۇردىڭىز",
"{actor} deleted contact {card} from address book {addressbook}" : "{ئارتىس contact ئادرېس دەپتىرى {ئادرېس دەپتىرىدىن ئالاقىلىشىش {كارتا ئۆچۈرۈلگەن",
"You deleted contact {card} from address book {addressbook}" : "ئالاقىلىشىش {كارتا address ئادرېس دەپتىرى {ئادرېس دەپتىرىدىن ئۆچۈرۈلدىڭىز",
"{actor} updated contact {card} in address book {addressbook}" : "{ئارتىس} يېڭىلانغان ئالاقىلىشىش {كارتا address ئادرېس دەپتىرى {ئادرېس دەپتىرى}",
"You updated contact {card} in address book {addressbook}" : "ئالاقىلىشىش {كارتا address ئادرېس دەپتىرى {ئادرېس دەپتىرىنى يېڭىلىدىڭىز",
"A <strong>contact</strong> or <strong>address book</strong> was modified" : "<strong> ئالاقىلىشىش </ strong> ياكى <strong> ئادرېس دەپتىرى </ strong> ئۆزگەرتىلدى",
"Accounts" : "ھېسابات",
"System address book which holds all accounts" : "بارلىق ھېساباتلارنى ئۆز ئىچىگە ئالغان سىستېما ئادرېس دەپتىرى",
"File is not updatable: %1$s" : "ھۆججەت يېڭىلانمايدۇ:% 1 $ s",
"Failed to get storage for file" : "ھۆججەت ساقلاشقا ئېرىشەلمىدى",
"Could not write to final file, canceled by hook" : "ئاخىرقى ھۆججەتكە يازالمىدى ، قارماق تەرىپىدىن ئەمەلدىن قالدۇرۇلدى",
"Could not write file contents" : "ھۆججەت مەزمۇنىنى يازالمىدى",
"Error while copying file to target location (copied: %1$s, expected filesize: %2$s)" : "نىشاننى نىشانغا كۆچۈرگەندە خاتالىق (كۆچۈرۈلگەن:% 1 $ s ، مۆلچەردىكى ھۆججەتلەر:% 2 $ s)",
"Expected filesize of %1$s but read (from Nextcloud client) and wrote (to Nextcloud storage) %2$s. Could either be a network problem on the sending side or a problem writing to the storage on the server side." : "مۆلچەردىكى ھۆججەتلەر% 1 $ s بولىدۇ ، ئەمما ئوقۇڭ (Nextcloud خېرىدارىدىن) ۋە (Nextcloud ساقلىغۇچقا)% 2 $ s دەپ يازدى. ئەۋەتىش تەرەپتىكى تور مەسىلىسى ياكى مۇلازىمېتىر تەرەپتىكى ساقلاشقا يېزىش مەسىلىسى بولۇشى مۇمكىن.",
"Could not rename part file to final file, canceled by hook" : "بۆلەك ھۆججىتىنى ئاخىرقى ھۆججەتكە ئۆزگەرتەلمىدى ، قارماق تەرىپىدىن ئەمەلدىن قالدۇرۇلدى",
"Could not rename part file to final file" : "قىسمەن ھۆججەتنى ئاخىرقى ھۆججەتكە ئۆزگەرتەلمىدى",
"Failed to check file size: %1$s" : "ھۆججەتنىڭ چوڭ-كىچىكلىكىنى تەكشۈرەلمىدى:% 1 $ s",
"Could not open file" : "ھۆججەت ئاچالمىدى",
"Encryption not ready: %1$s" : "شىفىرلاش تەييار ئەمەس:% 1 $ s",
"Failed to open file: %1$s" : "ھۆججەت ئېچىلمىدى:% 1 $ s",
"Failed to unlink: %1$s" : "ئۇلانمىدى:% 1 $ s",
"Failed to write file contents: %1$s" : "ھۆججەت مەزمۇنىنى يېزىش مەغلۇب بولدى:% 1 $ s",
"File not found: %1$s" : "ھۆججەت تېپىلمىدى:% 1 $ s",
"Invalid target path" : "نىشان يولى ئىناۋەتسىز",
"System is in maintenance mode." : "سىستېما ئاسراش ھالىتىدە.",
"Upgrade needed" : "يېڭىلاش كېرەك",
"Your %s needs to be configured to use HTTPS in order to use CalDAV and CardDAV with iOS/macOS." : "IOS / macOS ئارقىلىق CalDAV ۋە CardDAV نى ئىشلىتىش ئۈچۈن% s نى HTTPS ئىشلىتىش ئۈچۈن تەڭشەش كېرەك.",
"Configures a CalDAV account" : "CalDAV ھېساباتىنى سەپلەيدۇ",
"Configures a CardDAV account" : "CardDAV ھېساباتىنى سەپلەيدۇ",
"Events" : "Events",
"Untitled task" : "نامسىز ۋەزىپە",
"Completed on %s" : "% S دا تاماملاندى",
"Due on %s by %s" : "% S نىڭ سەۋەبىدىن% s",
"Due on %s" : "% S سەۋەبىدىن",
"DAV system address book" : "DAV سىستېما ئادرېس دەپتىرى",
"No outstanding DAV system address book sync." : "مۇنەۋۋەر DAV سىستېمىسى ئادرېس كىتاب ماسقەدەملەش يوق.",
"The DAV system address book sync has not run yet as your instance has more than 1000 users or because an error occurred. Please run it manually by calling \"occ dav:sync-system-addressbook\"." : "مىسالىڭىزدا 1000 دىن ئارتۇق ئىشلەتكۈچى بار ياكى خاتالىق يۈز بەرگەنلىكى ئۈچۈن DAV سىستېمىسى ئادرېس دەپتىرىنى ماسقەدەملەش تېخى ئىجرا بولمىدى. ئۇنى «occ dav: sync-system-addressbook» دەپ چاقىرىپ قولدا ئىجرا قىلىڭ.",
"WebDAV endpoint" : "WebDAV ئاخىرقى نۇقتىسى",
"Could not check that your web server is properly set up to allow file synchronization over WebDAV. Please check manually." : "تور مۇلازىمېتىرىڭىزنىڭ WebDAV ئارقىلىق ھۆججەت ماسقەدەملىشىگە يول قويۇلغانلىقىنى تەكشۈرەلمىدىڭىز. قولدا تەكشۈرۈپ بېقىڭ.",
"Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "تور مۇلازىمېتىرىڭىز ھۆججەتنىڭ ماس قەدەمدە بولۇشىغا يول قويۇلمىدى ، چۈنكى WebDAV كۆرۈنمە يۈزى بۇزۇلغاندەك قىلىدۇ.",
"Your web server is properly set up to allow file synchronization over WebDAV." : "تور مۇلازىمېتىرىڭىز WebDAV ئارقىلىق ھۆججەت ماسقەدەملەش ئۈچۈن مۇۋاپىق تەڭشەلدى.",
"Migrated calendar (%1$s)" : "كۆچۈرۈلگەن كالېندار (% 1 $ s)",
"Calendars including events, details and attendees" : "پائالىيەتلەر ، تەپسىلاتلار ۋە قاتناشقۇچىلارنى ئۆز ئىچىگە ئالغان كالېندارلار",
"Contacts and groups" : "ئالاقىلىشىش ۋە گۇرۇپپىلار",
"WebDAV" : "WebDAV",
"First day" : "بىرىنچى كۈنى",
"Last day (inclusive)" : "ئالدىنقى كۈنى (ئۆز ئىچىگە ئالىدۇ)",
"Out of office replacement (optional)" : "ئىش ئورنىنى ئالماشتۇرۇش (ئىختىيارىي)",
"Name of the replacement" : "ئالماشتۇرغۇچىنىڭ ئىسمى",
"No results." : "ھېچقانداق نەتىجە يوق.",
"Start typing." : "يېزىشنى باشلاڭ.",
"Short absence status" : "قىسقا ۋاقىتلىق ھالەت",
"Long absence Message" : "ئۇزۇن بولمىغان ئۇچۇر",
"Save" : "ساقلا",
"Disable absence" : "يوقلۇقىنى چەكلەڭ",
"Absence saved" : "يوقلۇق ساقلاندى",
"Failed to save your absence settings" : "يوقلۇقىڭىزنى ساقلىيالمىدى",
"Absence cleared" : "يوقالغان",
"Failed to clear your absence settings" : "يوقلۇقىڭىزنى تەڭشىمىدى",
"Time zone:" : "ۋاقىت رايونى:",
"to" : "to",
"Delete slot" : "ئورۇننى ئۆچۈرۈڭ",
"No working hours set" : "خىزمەت ۋاقتى بېكىتىلمىدى",
"Add slot" : "ئورۇن قوشۇڭ",
"Weekdays" : "ھەپتە كۈنلىرى",
"Pick a start time for {dayName}" : "{DayName} نىڭ باشلىنىش ۋاقتىنى تاللاڭ",
"Pick a end time for {dayName}" : "{DayName} نىڭ ئاخىرقى ۋاقتىنى تاللاڭ",
"Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications." : "بارلىق ئۇقتۇرۇشلارنى ئاۋازسىز قىلىش ئۈچۈن ئىشلەتكۈچى ھالىتىنى ئاپتوماتىك ھالدا «ئاۋارە قىلماڭ» قىلىپ تەڭشەڭ.",
"Failed to load availability" : "ئىشلىتىشچانلىقىنى يۈكلىيەلمىدى",
"Saved availability" : "تېجەشلىك",
"Failed to save availability" : "ئىشلەتكىلى بولمىدى",
"Availability" : "ئىشلەتكىلى بولىدۇ",
"If you configure your working hours, other people will see when you are out of office when they book a meeting." : "ئەگەر خىزمەت ۋاقتىڭىزنى تەڭشىسىڭىز ، باشقىلار يىغىن زاكاز قىلغاندا سىزنىڭ ئىشتىن چۈشكەن ۋاقتىڭىزنى كۆرىدۇ.",
"Absence" : "يوق",
"Configure your next absence period." : "كېيىنكى يوقلۇق ۋاقتىڭىزنى سەپلەڭ.",
"Calendar server" : "كالېندار مۇلازىمېتىرى",
"Send invitations to attendees" : "يىغىنغا قاتناشقۇچىلارغا تەكلىپنامە ئەۋەتىڭ",
"Automatically generate a birthday calendar" : "تۇغۇلغان كۈن كالېندارىنى ئاپتوماتىك ھاسىل قىلىدۇ",
"Birthday calendars will be generated by a background job." : "تۇغۇلغان كۈن كالېندارى ئارقا كۆرۈنۈش خىزمىتى ئارقىلىق بارلىققا كېلىدۇ.",
"Hence they will not be available immediately after enabling but will show up after some time." : "شۇڭلاشقا ئۇلار قوزغىتىلغاندىن كېيىن دەرھال تېپىلمايدۇ ، ئەمما مەلۇم ۋاقىتتىن كېيىن پەيدا بولىدۇ.",
"Send notifications for events" : "ۋەقەلەرگە ئۇقتۇرۇش ئەۋەتىڭ",
"Notifications are sent via background jobs, so these must occur often enough." : "ئۇقتۇرۇش ئارقا كۆرۈنۈش خىزمىتى ئارقىلىق ئەۋەتىلىدۇ ، شۇڭا بۇلار چوقۇم يېتەرلىك بولۇشى كېرەك.",
"Send reminder notifications to calendar sharees as well" : "كالېندار ھەمبەھىرلىرىگىمۇ ئەسكەرتىش ئۇقتۇرۇشى ئەۋەتىڭ",
"Reminders are always sent to organizers and attendees." : "ئەسكەرتىش ھەمىشە تەشكىللىگۈچىلەر ۋە قاتناشقۇچىلارغا ئەۋەتىلىدۇ.",
"Enable notifications for events via push" : "ئىتتىرىش ئارقىلىق ۋەقەلەرگە ئۇقتۇرۇشنى قوزغىتىڭ",
"Also install the {calendarappstoreopen}Calendar app{linkclose}, or {calendardocopen}connect your desktop & mobile for syncing ↗{linkclose}." : "يەنە {calendarappstoreopen} كالېندار دېتالى {linkclose} ياكى {calendardocopen} نى قاچىلاڭ ئۈستەلئۈستىڭىز ۋە كۆچمە تېلېفونىڭىزنى ئۇلاڭ ↗ {linkclose}.",
"Please make sure to properly set up {emailopen}the email server{linkclose}." : "{Emailopen} ئېلېكترونلۇق خەت مۇلازىمېتىرى {linkclose} نى مۇۋاپىق تەڭشەشكە كاپالەتلىك قىلىڭ.",
"There was an error updating your attendance status." : "قاتنىشىش ھالىتىڭىزنى يېڭىلاشتا خاتالىق كۆرۈلدى.",
"Please contact the organizer directly." : "تەشكىللىگۈچى بىلەن بىۋاسىتە ئالاقىلىشىڭ.",
"Are you accepting the invitation?" : "تەكلىپنى قوبۇل قىلامسىز؟",
"Tentative" : "Tentative",
"Your attendance was updated successfully." : "سىزنىڭ قاتنىشىشىڭىز مۇۋەپپەقىيەتلىك يېڭىلاندى.",
"To-dos" : "To-dos",
"Time:" : "ۋاقىت:",
"Invalid chunk name" : "ئىناۋەتسىز",
"Could not rename part file assembled from chunks" : "بۆلەكلەردىن يىغىلغان قىسمەن ھۆججەتنىڭ نامىنى ئۆزگەرتەلمىدى",
"If you configure your working hours, other users will see when you are out of office when they book a meeting." : "ئەگەر خىزمەت ۋاقتىڭىزنى تەڭشىسىڭىز ، باشقا ئىشلەتكۈچىلەر يىغىن زاكاز قىلغاندا ئىشخانىدىن چىققان ۋاقتىڭىزنى كۆرىدۇ."
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}

View file

@ -41,8 +41,8 @@ class RefreshWebcalJob extends Job {
$this->fixSubscriptionRowTyping($subscription);
// if no refresh rate was configured, just refresh once a week
$defaultRefreshRate = $this->config->getAppValue('dav', 'calendarSubscriptionRefreshRate', 'P1W');
// if no refresh rate was configured, just refresh once a day
$defaultRefreshRate = $this->config->getAppValue('dav', 'calendarSubscriptionRefreshRate', 'P1D');
$refreshRate = $subscription[RefreshWebcalService::REFRESH_RATE] ?? $defaultRefreshRate;
$subscriptionId = $subscription['id'];

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