Compare commits
163 Commits
v1.14.2
...
6408-updat
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
934e210d66 | ||
|
|
90e0cab306 | ||
|
|
7a414a0ca3 | ||
|
|
be4e8438ab | ||
|
|
f9580003cc | ||
|
|
761d0ce4fe | ||
|
|
cb6d8dbaf5 | ||
|
|
9eefd22422 | ||
|
|
7e2c170d1b | ||
|
|
351c72a590 | ||
|
|
ea5f3f2d70 | ||
|
|
4441107360 | ||
|
|
529c4defb3 | ||
|
|
e7a2306268 | ||
|
|
1ffee422b6 | ||
|
|
9fba14f1d3 | ||
|
|
e0185a39a8 | ||
|
|
0e49d72a67 | ||
|
|
786d2583de | ||
|
|
3ebdaf694d | ||
|
|
db50b78cb6 | ||
|
|
60f0719380 | ||
|
|
c68d223670 | ||
|
|
5c1e3ec50a | ||
|
|
e0b11a0171 | ||
|
|
e7a53ce31a | ||
|
|
d83b8b809d | ||
|
|
1020f6e344 | ||
|
|
6591466620 | ||
|
|
4505f2c426 | ||
|
|
1484a1445c | ||
|
|
28fa6a4372 | ||
|
|
a3724d61be | ||
|
|
439c2b422e | ||
|
|
2a7c5b9c9c | ||
|
|
bd6475c93f | ||
|
|
ae14c299f6 | ||
|
|
95ab566607 | ||
|
|
e19b78d5cf | ||
|
|
b20c5821e7 | ||
|
|
1b0f545d06 | ||
|
|
806d1074ea | ||
|
|
789930e10e | ||
|
|
1231e267aa | ||
|
|
b95e9756ab | ||
|
|
deea984d57 | ||
|
|
2b6877e771 | ||
|
|
5274b16253 | ||
|
|
3ef0985ae1 | ||
|
|
da6914d563 | ||
|
|
855d6cc4b9 | ||
|
|
22f1b9076a | ||
|
|
4900aca82e | ||
|
|
dafdf10755 | ||
|
|
ca3f6747e2 | ||
|
|
26129e724b | ||
|
|
93c5a6eb0f | ||
|
|
e91a4698f3 | ||
|
|
5cd2c51d19 | ||
|
|
b87047320a | ||
|
|
93d77fdbec | ||
|
|
37a807c108 | ||
|
|
706b564c01 | ||
|
|
93dc26aa6e | ||
|
|
0bf25619e0 | ||
|
|
fede0908bf | ||
|
|
b0bafb9212 | ||
|
|
ca75c14252 | ||
|
|
0076026fad | ||
|
|
b49ba034a0 | ||
|
|
0b53a4746d | ||
|
|
b636796851 | ||
|
|
46b81edc9e | ||
|
|
9f6f4eb475 | ||
|
|
7e3dc511c0 | ||
|
|
a329df397e | ||
|
|
6f25fc7e19 | ||
|
|
599844a87e | ||
|
|
088905dd7a | ||
|
|
4ffbafdbf2 | ||
|
|
2be3b85b09 | ||
|
|
76c709287b | ||
|
|
1f7b3cc480 | ||
|
|
40ac9b6c3e | ||
|
|
06fcf8f2cd | ||
|
|
2f0241df2e | ||
|
|
34ff6f4aac | ||
|
|
40f7f0907a | ||
|
|
0e5006616e | ||
|
|
792a513bb5 | ||
|
|
a9b65de341 | ||
|
|
a0fc1bbeb8 | ||
|
|
482bcb3149 | ||
|
|
cf0b90369a | ||
|
|
a0bcbc5cc6 | ||
|
|
e73eec8ba4 | ||
|
|
c1ed33848c | ||
|
|
d9d75fdfe4 | ||
|
|
c348b824c8 | ||
|
|
39987a0303 | ||
|
|
0906b06192 | ||
|
|
434f59d06d | ||
|
|
af4c01abd4 | ||
|
|
516bc6d5fc | ||
|
|
d7b3aedab4 | ||
|
|
fb641946d6 | ||
|
|
b3bc532e81 | ||
|
|
fe1006d643 | ||
|
|
9a37d6dbfc | ||
|
|
bf704309ad | ||
|
|
635cf3962f | ||
|
|
43a0fec9a6 | ||
|
|
c6c41c59d2 | ||
|
|
fb54b8126a | ||
|
|
a4f2a99776 | ||
|
|
dbca6bc0d7 | ||
|
|
e647faf31c | ||
|
|
fdd05853af | ||
|
|
afd8372baa | ||
|
|
f99d1f516c | ||
|
|
1aa23407f1 | ||
|
|
83d59dd3a9 | ||
|
|
2233786605 | ||
|
|
2d2f7c6772 | ||
|
|
ba3e97b73d | ||
|
|
4107481b07 | ||
|
|
6e158992dc | ||
|
|
0e4c60c23f | ||
|
|
702672de28 | ||
|
|
48bdf83887 | ||
|
|
520a0f8c26 | ||
|
|
b84564b0f7 | ||
|
|
ba33a83e9f | ||
|
|
b645c1e974 | ||
|
|
3daad1b9bc | ||
|
|
5416a2b3a1 | ||
|
|
5c3098afa1 | ||
|
|
e25470ece3 | ||
|
|
87a65e9b0f | ||
|
|
4c9459ac57 | ||
|
|
67bd5dcb1f | ||
|
|
beb563e74e | ||
|
|
3e1805b09b | ||
|
|
ee568ec307 | ||
|
|
37b355b530 | ||
|
|
a5de97ff42 | ||
|
|
3f4cdf7293 | ||
|
|
2a35b627a0 | ||
|
|
517347533d | ||
|
|
f0d021560a | ||
|
|
d49093f6b6 | ||
|
|
1c2f3683a5 | ||
|
|
bd0f8fb4c4 | ||
|
|
061a04142b | ||
|
|
092af73794 | ||
|
|
0f3359e417 | ||
|
|
90272cdc12 | ||
|
|
7891f017c9 | ||
|
|
cb5b67ed09 | ||
|
|
201c121e34 | ||
|
|
a1ea3b772b | ||
|
|
4d6a05915c | ||
|
|
0c5b4b0ebe |
34
.github/dependabot.yml
vendored
34
.github/dependabot.yml
vendored
@@ -13,6 +13,23 @@ updates:
|
||||
- juliushaertl
|
||||
- luka-nextcloud
|
||||
|
||||
- package-ecosystem: npm
|
||||
target-branch: stable30
|
||||
versioning-strategy: lockfile-only
|
||||
directory: "/"
|
||||
schedule:
|
||||
interval: weekly
|
||||
day: saturday
|
||||
time: "03:00"
|
||||
timezone: Europe/Paris
|
||||
ignore:
|
||||
- dependency-name: "*"
|
||||
update-types: ["version-update:semver-major"]
|
||||
open-pull-requests-limit: 30
|
||||
labels:
|
||||
- 3. to review
|
||||
- dependencies
|
||||
|
||||
- package-ecosystem: npm
|
||||
target-branch: stable29
|
||||
versioning-strategy: lockfile-only
|
||||
@@ -47,23 +64,6 @@ updates:
|
||||
- 3. to review
|
||||
- dependencies
|
||||
|
||||
- package-ecosystem: npm
|
||||
target-branch: stable27
|
||||
versioning-strategy: lockfile-only
|
||||
directory: "/"
|
||||
schedule:
|
||||
interval: weekly
|
||||
day: saturday
|
||||
time: "03:00"
|
||||
timezone: Europe/Paris
|
||||
ignore:
|
||||
- dependency-name: "*"
|
||||
update-types: ["version-update:semver-major"]
|
||||
open-pull-requests-limit: 30
|
||||
labels:
|
||||
- 3. to review
|
||||
- dependencies
|
||||
|
||||
- package-ecosystem: composer
|
||||
directory: "/"
|
||||
schedule:
|
||||
|
||||
4
.github/workflows/appbuild.yml
vendored
4
.github/workflows/appbuild.yml
vendored
@@ -16,9 +16,9 @@ jobs:
|
||||
node-version: [16.x]
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v4.1.7
|
||||
- uses: actions/checkout@v4.2.1
|
||||
- name: Use Node.js ${{ matrix.node-version }}
|
||||
uses: actions/setup-node@v4.0.3
|
||||
uses: actions/setup-node@v4.0.4
|
||||
with:
|
||||
node-version: ${{ matrix.node-version }}
|
||||
- name: Set up npm7
|
||||
|
||||
6
.github/workflows/appstore-build-publish.yml
vendored
6
.github/workflows/appstore-build-publish.yml
vendored
@@ -32,7 +32,7 @@ jobs:
|
||||
echo "APP_VERSION=${GITHUB_REF##*/}" >> $GITHUB_ENV
|
||||
|
||||
- name: Checkout
|
||||
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
|
||||
uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1
|
||||
with:
|
||||
path: ${{ env.APP_NAME }}
|
||||
|
||||
@@ -56,7 +56,7 @@ jobs:
|
||||
- name: Set up node ${{ steps.versions.outputs.nodeVersion }}
|
||||
# Skip if no package.json
|
||||
if: ${{ steps.versions.outputs.nodeVersion }}
|
||||
uses: actions/setup-node@1e60f620b9541d16bece96c5465dc8ee9832be0b # v4.0.3
|
||||
uses: actions/setup-node@0a44ba7841725637a19e28fa30b79a866c81b0a6 # v4.0.4
|
||||
with:
|
||||
node-version: ${{ steps.versions.outputs.nodeVersion }}
|
||||
|
||||
@@ -134,7 +134,7 @@ jobs:
|
||||
unzip latest-$NCVERSION.zip
|
||||
|
||||
- name: Checkout server master fallback
|
||||
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
|
||||
uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1
|
||||
if: ${{ steps.server-checkout.outcome != 'success' }}
|
||||
with:
|
||||
submodules: true
|
||||
|
||||
51
.github/workflows/command-rebase.yml
vendored
51
.github/workflows/command-rebase.yml
vendored
@@ -1,51 +0,0 @@
|
||||
# This workflow is provided via the organization template repository
|
||||
#
|
||||
# https://github.com/nextcloud/.github
|
||||
# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization
|
||||
|
||||
name: Rebase command
|
||||
|
||||
on:
|
||||
issue_comment:
|
||||
types: created
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
jobs:
|
||||
rebase:
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
contents: none
|
||||
|
||||
# On pull requests and if the comment starts with `/rebase`
|
||||
if: github.event.issue.pull_request != '' && startsWith(github.event.comment.body, '/rebase')
|
||||
|
||||
steps:
|
||||
- name: Add reaction on start
|
||||
uses: peter-evans/create-or-update-comment@71345be0265236311c031f5c7866368bd1eff043 # v4.0.0
|
||||
with:
|
||||
token: ${{ secrets.COMMAND_BOT_PAT }}
|
||||
repository: ${{ github.event.repository.full_name }}
|
||||
comment-id: ${{ github.event.comment.id }}
|
||||
reaction-type: "+1"
|
||||
|
||||
- name: Checkout the latest code
|
||||
uses: actions/checkout@v4.1.7 # v3.5.2
|
||||
with:
|
||||
fetch-depth: 0
|
||||
token: ${{ secrets.COMMAND_BOT_PAT }}
|
||||
|
||||
- name: Automatic Rebase
|
||||
uses: cirrus-actions/rebase@b87d48154a87a85666003575337e27b8cd65f691 # 1.8
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.COMMAND_BOT_PAT }}
|
||||
|
||||
- name: Add reaction on failure
|
||||
uses: peter-evans/create-or-update-comment@71345be0265236311c031f5c7866368bd1eff043 # v4.0.0
|
||||
if: failure()
|
||||
with:
|
||||
token: ${{ secrets.COMMAND_BOT_PAT }}
|
||||
repository: ${{ github.event.repository.full_name }}
|
||||
comment-id: ${{ github.event.comment.id }}
|
||||
reaction-type: "-1"
|
||||
10
.github/workflows/cypress-e2e.yml
vendored
10
.github/workflows/cypress-e2e.yml
vendored
@@ -22,7 +22,7 @@ jobs:
|
||||
node-version: [20.x]
|
||||
# containers: [1, 2, 3]
|
||||
php-versions: [ '8.2' ]
|
||||
server-versions: [ 'stable30' ]
|
||||
server-versions: [ 'master' ]
|
||||
|
||||
env:
|
||||
extensions: mbstring, iconv, fileinfo, intl, sqlite, pdo_sqlite, zip, gd, apcu
|
||||
@@ -41,7 +41,7 @@ jobs:
|
||||
|
||||
steps:
|
||||
- name: Use Node.js ${{ matrix.node-version }}
|
||||
uses: actions/setup-node@v4.0.3
|
||||
uses: actions/setup-node@v4.0.4
|
||||
with:
|
||||
node-version: ${{ matrix.node-version }}
|
||||
|
||||
@@ -51,7 +51,7 @@ jobs:
|
||||
echo "text_app_ref=$text_app_ref" >> $GITHUB_ENV
|
||||
|
||||
- name: Checkout server
|
||||
uses: actions/checkout@v4.1.7
|
||||
uses: actions/checkout@v4.2.1
|
||||
with:
|
||||
repository: nextcloud/server
|
||||
ref: ${{ matrix.server-versions }}
|
||||
@@ -64,12 +64,12 @@ jobs:
|
||||
git -c "http.extraheader=$auth_header" -c protocol.version=2 submodule update --init --force --recursive --depth=1
|
||||
|
||||
- name: Checkout ${{ env.APP_NAME }}
|
||||
uses: actions/checkout@v4.1.7
|
||||
uses: actions/checkout@v4.2.1
|
||||
with:
|
||||
path: apps/${{ env.APP_NAME }}
|
||||
|
||||
- name: Checkout text
|
||||
uses: actions/checkout@v4.1.7
|
||||
uses: actions/checkout@v4.2.1
|
||||
with:
|
||||
repository: nextcloud/text
|
||||
ref: ${{ env.text_app_ref }}
|
||||
|
||||
10
.github/workflows/integration.yml
vendored
10
.github/workflows/integration.yml
vendored
@@ -28,7 +28,7 @@ jobs:
|
||||
matrix:
|
||||
php-versions: ['8.1']
|
||||
databases: ['sqlite', 'mysql', 'pgsql']
|
||||
server-versions: ['stable30']
|
||||
server-versions: ['master']
|
||||
|
||||
name: php${{ matrix.php-versions }}-${{ matrix.databases }}-${{ matrix.server-versions }}
|
||||
|
||||
@@ -52,7 +52,7 @@ jobs:
|
||||
|
||||
steps:
|
||||
- name: Checkout server
|
||||
uses: actions/checkout@v4.1.7
|
||||
uses: actions/checkout@v4.2.1
|
||||
with:
|
||||
repository: nextcloud/server
|
||||
ref: ${{ matrix.server-versions }}
|
||||
@@ -66,12 +66,12 @@ jobs:
|
||||
cd build/integration && composer require --dev phpunit/phpunit:~9
|
||||
|
||||
- name: Checkout app
|
||||
uses: actions/checkout@v4.1.7
|
||||
uses: actions/checkout@v4.2.1
|
||||
with:
|
||||
path: apps/${{ env.APP_NAME }}
|
||||
|
||||
- name: Checkout activity
|
||||
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
|
||||
uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1
|
||||
with:
|
||||
repository: nextcloud/activity
|
||||
ref: ${{ matrix.server-versions }}
|
||||
@@ -81,7 +81,7 @@ jobs:
|
||||
uses: shivammathur/setup-php@2.31.1
|
||||
with:
|
||||
php-version: ${{ matrix.php-versions }}
|
||||
extensions: mbstring, iconv, fileinfo, intl, sqlite, pdo_sqlite, mysql, pdo_mysql, pgsql, pdo_pgsql, apcu, gd
|
||||
extensions: mbstring, iconv, fileinfo, intl, sqlite, pdo_sqlite, mysql, pdo_mysql, pgsql, pdo_pgsql, apcu
|
||||
ini-values:
|
||||
apc.enable_cli=on
|
||||
coverage: none
|
||||
|
||||
4
.github/workflows/lint-eslint.yml
vendored
4
.github/workflows/lint-eslint.yml
vendored
@@ -56,7 +56,7 @@ jobs:
|
||||
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
|
||||
uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1
|
||||
|
||||
- name: Read package.json node and npm engines version
|
||||
uses: skjnldsv/read-package-engines-version-actions@06d6baf7d8f41934ab630e97d9e6c0bc9c9ac5e4 # v3
|
||||
@@ -66,7 +66,7 @@ jobs:
|
||||
fallbackNpm: '^10'
|
||||
|
||||
- name: Set up node ${{ steps.versions.outputs.nodeVersion }}
|
||||
uses: actions/setup-node@1e60f620b9541d16bece96c5465dc8ee9832be0b # v4.0.3
|
||||
uses: actions/setup-node@0a44ba7841725637a19e28fa30b79a866c81b0a6 # v4.0.4
|
||||
with:
|
||||
node-version: ${{ steps.versions.outputs.nodeVersion }}
|
||||
|
||||
|
||||
2
.github/workflows/lint-php-cs.yml
vendored
2
.github/workflows/lint-php-cs.yml
vendored
@@ -25,7 +25,7 @@ jobs:
|
||||
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
|
||||
uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1
|
||||
|
||||
- name: Get php version
|
||||
id: versions
|
||||
|
||||
4
.github/workflows/lint-php.yml
vendored
4
.github/workflows/lint-php.yml
vendored
@@ -24,7 +24,7 @@ jobs:
|
||||
php-versions: ${{ steps.versions.outputs.php-versions }}
|
||||
steps:
|
||||
- name: Checkout app
|
||||
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
|
||||
uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1
|
||||
- name: Get version matrix
|
||||
id: versions
|
||||
uses: icewind1991/nextcloud-version-matrix@58becf3b4bb6dc6cef677b15e2fd8e7d48c0908f # v1.0.0
|
||||
@@ -40,7 +40,7 @@ jobs:
|
||||
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
|
||||
uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1
|
||||
|
||||
- name: Set up php ${{ matrix.php-versions }}
|
||||
uses: shivammathur/setup-php@c541c155eee45413f5b09a52248675b1a2575231 # v2.31.1
|
||||
|
||||
4
.github/workflows/lint-stylelint.yml
vendored
4
.github/workflows/lint-stylelint.yml
vendored
@@ -25,7 +25,7 @@ jobs:
|
||||
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
|
||||
uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1
|
||||
|
||||
- name: Read package.json node and npm engines version
|
||||
uses: skjnldsv/read-package-engines-version-actions@06d6baf7d8f41934ab630e97d9e6c0bc9c9ac5e4 # v3
|
||||
@@ -35,7 +35,7 @@ jobs:
|
||||
fallbackNpm: '^10'
|
||||
|
||||
- name: Set up node ${{ steps.versions.outputs.nodeVersion }}
|
||||
uses: actions/setup-node@1e60f620b9541d16bece96c5465dc8ee9832be0b # v4.0.3
|
||||
uses: actions/setup-node@0a44ba7841725637a19e28fa30b79a866c81b0a6 # v4.0.4
|
||||
with:
|
||||
node-version: ${{ steps.versions.outputs.nodeVersion }}
|
||||
|
||||
|
||||
4
.github/workflows/nodejs.yml
vendored
4
.github/workflows/nodejs.yml
vendored
@@ -12,9 +12,9 @@ jobs:
|
||||
node-version: [14.x]
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v4.1.7
|
||||
- uses: actions/checkout@v4.2.1
|
||||
- name: Use Node.js ${{ matrix.node-version }}
|
||||
uses: actions/setup-node@v4.0.3
|
||||
uses: actions/setup-node@v4.0.4
|
||||
with:
|
||||
node-version: ${{ matrix.node-version }}
|
||||
- name: Set up npm7
|
||||
|
||||
8
.github/workflows/npm-audit-fix.yml
vendored
8
.github/workflows/npm-audit-fix.yml
vendored
@@ -21,13 +21,13 @@ jobs:
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
branches: ['main', 'master', 'stable29', 'stable28', 'stable27']
|
||||
branches: ['main', 'master', 'stable30', 'stable29', 'stable28']
|
||||
|
||||
name: npm-audit-fix-${{ matrix.branches }}
|
||||
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
|
||||
uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1
|
||||
with:
|
||||
ref: ${{ matrix.branches }}
|
||||
|
||||
@@ -39,7 +39,7 @@ jobs:
|
||||
fallbackNpm: '^10'
|
||||
|
||||
- name: Set up node ${{ steps.versions.outputs.nodeVersion }}
|
||||
uses: actions/setup-node@1e60f620b9541d16bece96c5465dc8ee9832be0b # v4.0.3
|
||||
uses: actions/setup-node@0a44ba7841725637a19e28fa30b79a866c81b0a6 # v4.0.4
|
||||
with:
|
||||
node-version: ${{ steps.versions.outputs.nodeVersion }}
|
||||
|
||||
@@ -60,7 +60,7 @@ jobs:
|
||||
|
||||
- name: Create Pull Request
|
||||
if: always()
|
||||
uses: peter-evans/create-pull-request@c5a7806660adbe173f04e3e038b0ccdcd758773c # v6.1.0
|
||||
uses: peter-evans/create-pull-request@5e914681df9dc83aa4e4905692ca88beb2f9e91f # v7.0.5
|
||||
with:
|
||||
token: ${{ secrets.COMMAND_BOT_PAT }}
|
||||
commit-message: 'fix(deps): Fix npm audit'
|
||||
|
||||
6
.github/workflows/phpunit-mysql.yml
vendored
6
.github/workflows/phpunit-mysql.yml
vendored
@@ -24,7 +24,7 @@ jobs:
|
||||
matrix: ${{ steps.versions.outputs.sparse-matrix }}
|
||||
steps:
|
||||
- name: Checkout app
|
||||
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
|
||||
uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1
|
||||
|
||||
- name: Get version matrix
|
||||
id: versions
|
||||
@@ -86,14 +86,14 @@ jobs:
|
||||
echo "APP_NAME=${GITHUB_REPOSITORY##*/}" >> $GITHUB_ENV
|
||||
|
||||
- name: Checkout server
|
||||
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
|
||||
uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1
|
||||
with:
|
||||
submodules: true
|
||||
repository: nextcloud/server
|
||||
ref: ${{ matrix.server-versions }}
|
||||
|
||||
- name: Checkout app
|
||||
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
|
||||
uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1
|
||||
with:
|
||||
path: apps/${{ env.APP_NAME }}
|
||||
|
||||
|
||||
6
.github/workflows/phpunit-pgsql.yml
vendored
6
.github/workflows/phpunit-pgsql.yml
vendored
@@ -25,7 +25,7 @@ jobs:
|
||||
server-max: ${{ steps.versions.outputs.branches-max-list }}
|
||||
steps:
|
||||
- name: Checkout app
|
||||
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
|
||||
uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1
|
||||
|
||||
- name: Get version matrix
|
||||
id: versions
|
||||
@@ -89,14 +89,14 @@ jobs:
|
||||
echo "APP_NAME=${GITHUB_REPOSITORY##*/}" >> $GITHUB_ENV
|
||||
|
||||
- name: Checkout server
|
||||
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
|
||||
uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1
|
||||
with:
|
||||
submodules: true
|
||||
repository: nextcloud/server
|
||||
ref: ${{ matrix.server-versions }}
|
||||
|
||||
- name: Checkout app
|
||||
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
|
||||
uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1
|
||||
with:
|
||||
path: apps/${{ env.APP_NAME }}
|
||||
|
||||
|
||||
6
.github/workflows/phpunit-sqlite.yml
vendored
6
.github/workflows/phpunit-sqlite.yml
vendored
@@ -25,7 +25,7 @@ jobs:
|
||||
server-max: ${{ steps.versions.outputs.branches-max-list }}
|
||||
steps:
|
||||
- name: Checkout app
|
||||
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
|
||||
uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1
|
||||
|
||||
- name: Get version matrix
|
||||
id: versions
|
||||
@@ -78,14 +78,14 @@ jobs:
|
||||
echo "APP_NAME=${GITHUB_REPOSITORY##*/}" >> $GITHUB_ENV
|
||||
|
||||
- name: Checkout server
|
||||
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
|
||||
uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1
|
||||
with:
|
||||
submodules: true
|
||||
repository: nextcloud/server
|
||||
ref: ${{ matrix.server-versions }}
|
||||
|
||||
- name: Checkout app
|
||||
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
|
||||
uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1
|
||||
with:
|
||||
path: apps/${{ env.APP_NAME }}
|
||||
|
||||
|
||||
2
.github/workflows/psalm.yml
vendored
2
.github/workflows/psalm.yml
vendored
@@ -21,7 +21,7 @@ jobs:
|
||||
name: static-psalm-analysis
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
|
||||
uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1
|
||||
|
||||
- name: Get php version
|
||||
id: versions
|
||||
|
||||
2
.github/workflows/reuse.yml
vendored
2
.github/workflows/reuse.yml
vendored
@@ -16,7 +16,7 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
|
||||
uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1
|
||||
|
||||
- name: REUSE Compliance Check
|
||||
uses: fsfe/reuse-action@3ae3c6bdf1257ab19397fab11fd3312144692083 # v4.0.0
|
||||
|
||||
6
.github/workflows/update-nextcloud-ocp.yml
vendored
6
.github/workflows/update-nextcloud-ocp.yml
vendored
@@ -20,13 +20,13 @@ jobs:
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
branches: ['main', 'master', 'stable29', 'stable28', 'stable27']
|
||||
branches: ['main', 'master', 'stable30', 'stable29', 'stable28']
|
||||
|
||||
name: update-nextcloud-ocp-${{ matrix.branches }}
|
||||
|
||||
steps:
|
||||
- id: checkout
|
||||
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
|
||||
uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1
|
||||
with:
|
||||
ref: ${{ matrix.branches }}
|
||||
submodules: true
|
||||
@@ -103,7 +103,7 @@ jobs:
|
||||
|
||||
- name: Create Pull Request
|
||||
if: steps.checkout.outcome == 'success'
|
||||
uses: peter-evans/create-pull-request@c5a7806660adbe173f04e3e038b0ccdcd758773c # v6.1.0
|
||||
uses: peter-evans/create-pull-request@5e914681df9dc83aa4e4905692ca88beb2f9e91f # v7.0.5
|
||||
with:
|
||||
token: ${{ secrets.COMMAND_BOT_PAT }}
|
||||
commit-message: 'chore(dev-deps): Bump nextcloud/ocp package'
|
||||
|
||||
33
CHANGELOG.md
33
CHANGELOG.md
@@ -5,34 +5,10 @@
|
||||
# Changelog
|
||||
All notable changes to this project will be documented in this file.
|
||||
|
||||
### Fixed
|
||||
|
||||
- fix: board bubble preview widget [#6477](https://github.com/nextcloud/deck/pull/6477)
|
||||
|
||||
### Dependencies
|
||||
|
||||
- Update nextcloud/ocp dependency @nextcloud-command [#6470](https://github.com/nextcloud/deck/pull/6470)
|
||||
- Fix npm audit @nextcloud-command [#6450](https://github.com/nextcloud/deck/pull/6450)
|
||||
|
||||
## 1.14.1
|
||||
### Fixed
|
||||
- fix: Load archived card if URL is opened directly #6326
|
||||
- Update nextcloud/ocp dependency #6322
|
||||
|
||||
## 1.14.0
|
||||
|
||||
### Added
|
||||
|
||||
- export json data of commments @grnd-alt [#6119](https://github.com/nextcloud/deck/pull/6119)
|
||||
## 1.14.0-beta.1
|
||||
|
||||
### Fixed
|
||||
|
||||
- fix: losing focus while editing title field @luka-nextcloud [#6140](https://github.com/nextcloud/deck/pull/6140)
|
||||
- Fix UI with the new compact design [#6258](https://github.com/nextcloud/deck/pull/6258)
|
||||
- Translation call fix [#6261](https://github.com/nextcloud/deck/pull/6261)
|
||||
- fix: 30 design issues [#6265](https://github.com/nextcloud/deck/pull/6265)
|
||||
- copy labels when moving cards between boards [#6289](https://github.com/nextcloud/deck/pull/6289)
|
||||
- Bug fix collection [#6307](https://github.com/nextcloud/deck/pull/6307)
|
||||
- fix: card details focus issue with screen reader @luka-nextcloud [#5858](https://github.com/nextcloud/deck/pull/5858)
|
||||
- Cleaning up unused indicies @mintsoft [#5612](https://github.com/nextcloud/deck/pull/5612)
|
||||
- Change import command's config default argument @JimMadge [#5722](https://github.com/nextcloud/deck/pull/5722)
|
||||
@@ -45,17 +21,12 @@ All notable changes to this project will be documented in this file.
|
||||
- fix: remove redundant log @luka-nextcloud [#6115](https://github.com/nextcloud/deck/pull/6115)
|
||||
- fix: Adjust dependencies to fix filepicker @susnux [#5964](https://github.com/nextcloud/deck/pull/5964)
|
||||
- fix: Remove bindParam usage with simpler query @juliushaertl [#6065](https://github.com/nextcloud/deck/pull/6065)
|
||||
- add Order when cloning board @grnd-alt [#6117](https://github.com/nextcloud/deck/pull/6117)
|
||||
- use deleted_users for users that do not exist @grnd-alt [#6201](https://github.com/nextcloud/deck/pull/6201)
|
||||
- chore: Clean up permission service @juliushaertl [#6011](https://github.com/nextcloud/deck/pull/6011)
|
||||
|
||||
### Other
|
||||
|
||||
- fix(files): fix appstore-build-publish.yml @JuliaKirschenheuter [#6142](https://github.com/nextcloud/deck/pull/6142)
|
||||
- tests: Add environment variable and document commands to run behat tests locally @juliushaertl [#6137](https://github.com/nextcloud/deck/pull/6137)
|
||||
- chore(CI): Adjust testing matrix for Nextcloud 30 on stable30 @nickvergessen [#6205](https://github.com/nextcloud/deck/pull/6205)
|
||||
- Adds link to Nextcloud Deck for iOS in README.md file @StCyr [#5886](https://github.com/nextcloud/deck/pull/5886)
|
||||
- choir(i18n): Change filter title @rakekniven [#5957](https://github.com/nextcloud/deck/pull/5957)
|
||||
- chore: Clean up permission service @juliushaertl [#6011](https://github.com/nextcloud/deck/pull/6011)
|
||||
- Update User_documentation_en.md @StCyr [#6029](https://github.com/nextcloud/deck/pull/6029)
|
||||
- chore: Move comments event handler to use proper event dispatcher @juliushaertl [#6008](https://github.com/nextcloud/deck/pull/6008)
|
||||
- Migrate REUSE to TOML format @AndyScherzinger [#6084](https://github.com/nextcloud/deck/pull/6084)
|
||||
|
||||
@@ -20,17 +20,17 @@
|
||||
- 🚀 Get your project organized
|
||||
|
||||
</description>
|
||||
<version>1.14.2</version>
|
||||
<version>2.0.0-dev.0</version>
|
||||
<licence>agpl</licence>
|
||||
<author>Julius Härtl</author>
|
||||
<documentation>
|
||||
<user>https://deck.readthedocs.io/en/latest/User_documentation_en/</user>
|
||||
<developer>https://deck.readthedocs.io/en/latest/API/</developer>
|
||||
</documentation>
|
||||
<namespace>Deck</namespace>
|
||||
<types>
|
||||
<dav/>
|
||||
</types>
|
||||
<documentation>
|
||||
<user>https://deck.readthedocs.io/en/latest/User_documentation_en/</user>
|
||||
<developer>https://deck.readthedocs.io/en/latest/API/</developer>
|
||||
</documentation>
|
||||
<category>organization</category>
|
||||
<category>office</category>
|
||||
<website>https://github.com/nextcloud/deck</website>
|
||||
@@ -42,7 +42,7 @@
|
||||
<database min-version="9.4">pgsql</database>
|
||||
<database>sqlite</database>
|
||||
<database min-version="8.0">mysql</database>
|
||||
<nextcloud min-version="30" max-version="30"/>
|
||||
<nextcloud min-version="31" max-version="31"/>
|
||||
</dependencies>
|
||||
<background-jobs>
|
||||
<job>OCA\Deck\Cron\DeleteCron</job>
|
||||
|
||||
@@ -15,8 +15,9 @@
|
||||
"roave/security-advisories": "dev-master",
|
||||
"phpunit/phpunit": "^9",
|
||||
"nextcloud/coding-standard": "^1.1",
|
||||
"nextcloud/ocp": "dev-stable30",
|
||||
"psalm/phar": "^5.13"
|
||||
"nextcloud/ocp": "dev-master",
|
||||
"psalm/phar": "^5.13",
|
||||
"psr/log": "^3.0.2"
|
||||
},
|
||||
"config": {
|
||||
"optimize-autoloader": true,
|
||||
|
||||
649
composer.lock
generated
649
composer.lock
generated
File diff suppressed because it is too large
Load Diff
@@ -13,7 +13,7 @@ The Deck application plugin uses the [markdown-it](https://github.com/markdown-i
|
||||
|
||||
## Supported Markdown
|
||||
|
||||
Markdown comes in may flavors. The best way to learn markdown and understand how to use it, is simply to [try it](https://markdown-it.github.io) on the original script official playground.
|
||||
Markdown comes in many flavors. The best way to learn markdown and understand how to use it, is simply to [try it](https://markdown-it.github.io) on the original script official playground.
|
||||
That same link offers also a comprehensive list of what is supported, and what is not - rendering it unnecessary to duplicate that content in here.
|
||||
|
||||
[CommonMark Markdown Reference](http://commonmark.org/help/)
|
||||
|
||||
30
l10n/ar.js
30
l10n/ar.js
@@ -85,14 +85,14 @@ OC.L10N.register(
|
||||
"{user} has mentioned you in a comment on {deck-card}." : "{user} أشار إليك في تعليق على {deck-card}",
|
||||
"The board \"%s\" has been shared with you by %s." : "تمت مشاركة اللوح \"%s\" معك من قبل %s.",
|
||||
"{user} has shared {deck-board} with you." : "{user} قام بمشاركة {deck-board} معك.",
|
||||
"Deck board" : "لوحة البطاقات",
|
||||
"Deck board" : "رُقعة اللوحات Deck board",
|
||||
"Owned by %1$s" : "يملكها %1$s",
|
||||
"Deck boards, cards and comments" : "اللوحات و البطاقات و الملاحظات",
|
||||
"Deck boards, cards and comments" : "رُقعة اللوحات و البطاقات و الملاحظات",
|
||||
"From %1$s, in %2$s/%3$s, owned by %4$s" : " من %1$s، في %2$s/%3$s، يملكها %4$s",
|
||||
"Create a new deck card" : "إنشاء بطاقة جديدة",
|
||||
"Create a new deck card" : "إنشاء بطاقة deck card جديدة",
|
||||
"Card comments" : "تعليقات البطاقة ",
|
||||
"%s on %s" : "%s على %s",
|
||||
"Deck boards and cards" : "اللوحات و البطاقات",
|
||||
"Deck boards and cards" : "رُقَع اللوحات و البطاقات",
|
||||
"No data was provided to create an attachment." : "لا بيانات تم تقديمها لانشاء مرفق",
|
||||
"Finished" : "اكتمل",
|
||||
"To review" : "لإعادة المراجعة",
|
||||
@@ -119,7 +119,7 @@ OC.L10N.register(
|
||||
"Path is already shared with this card" : "تم مشاركة المسار بالفعل مع هذه البطاقة ",
|
||||
"Invalid date, date format must be YYYY-MM-DD" : "تاريخ غير صحيح, يجب أن يكون تنسيق التاريخ YYYY-MM-DD",
|
||||
"Personal planning and team project organization" : "التخطيط الشخصي و تنظيم مشروع الفريق",
|
||||
"Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.\n\n\n- 📥 Add your tasks to cards and put them in order\n- 📄 Write down additional notes in Markdown\n- 🔖 Assign labels for even better organization\n- 👥 Share with your team, friends or family\n- 📎 Attach files and embed them in your Markdown description\n- 💬 Discuss with your team using comments\n- ⚡ Keep track of changes in the activity stream\n- 🚀 Get your project organized" : "التطبيق \"رِزَم البطاقات\" Deck هو أداة لتنظيم المهام الشخصية و الجماعية في نكست كلاود على نمط \"خطوط التصنيع أو التجميع في المصانع\" و المعروف بـ kanban.\n\n\n- 📥 أكتب مهمتك او مهمة فريقك على بطاقة و ضع البطاقة على لوحة البطاقات من ذات التصنيف أو المرحلة من الإنجاز\n- 📄 دوّن ملاحظاتك الإضافية على البطاقة بصيغة ماركداون markdown\n- 🔖 و يمكنك أيضاً إسناد البطاقة أي المهمة إلى شخص أو أشخاص في فريقك\n- 👥 شارك البطاقة مع من ترغب من أعضاء فريقك أو عائلتك أو أصدقائك\n- 📎 إرفاق ملفات و تضمينها بصيغة ماركداون في البطاقة\n- 💬ناقش البطاقة مع زملائك في خانة الملاحظات\n- ⚡ تابع ما يُستجد من عمليات و تطوّرات على البطاقة أو المهمة\n- 🚀 حافظ على مشروعك مُنسّقاً باستمرار.",
|
||||
"Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.\n\n\n- 📥 Add your tasks to cards and put them in order\n- 📄 Write down additional notes in Markdown\n- 🔖 Assign labels for even better organization\n- 👥 Share with your team, friends or family\n- 📎 Attach files and embed them in your Markdown description\n- 💬 Discuss with your team using comments\n- ⚡ Keep track of changes in the activity stream\n- 🚀 Get your project organized" : "التطبيق \"رِزَم البطاقات\" Deck هو أداة لتنظيم المهام الشخصية و الجماعية في نكست كلاود على نمط \"خطوط التصنيع أو التجميع في المصانع\" و المعروف بـ kanban.\n\n\n- 📥 أكتب مهمتك او مهمة فريقك على بطاقة و ضع البطاقة في الرُّقعة على كدسة البطاقات من ذات التصنيف أو المرحلة من الإنجاز\n- 📄 دوّن ملاحظاتك الإضافية على البطاقة بصيغة ماركداون markdown\n- 🔖 و يمكنك أيضاً إسناد البطاقة أي المهمة إلى شخص أو أشخاص في فريقك\n- 👥 شارك البطاقة مع من ترغب من أعضاء فريقك أو عائلتك أو أصدقائك\n- 📎 إرفاق ملفات و تضمينها بصيغة ماركداون في البطاقة\n- 💬ناقش البطاقة مع زملائك في خانة الملاحظات\n- ⚡ تابع ما يُستجد من عمليات و تطوّرات على البطاقة أو المهمة\n- 🚀 حافظ على مشروعك مُنسّقاً باستمرار.",
|
||||
"Card details" : "تفاصيل البطاقة",
|
||||
"Add board" : "إضافة لوح",
|
||||
"Select the board to link to a project" : "تحديد اللوح لربطه بمشروع",
|
||||
@@ -152,7 +152,7 @@ OC.L10N.register(
|
||||
"Unassigned" : "غير معيين ",
|
||||
"Filter by status" : "تصفية بحسب الحالة",
|
||||
"Open and completed" : "مفتوحة و منجزة",
|
||||
"Open" : "فتح",
|
||||
"Open" : "إفتح",
|
||||
"Completed" : "مُكتمل",
|
||||
"Filter by due date" : "تصفية بواسطة تاريخ الإنجاز",
|
||||
"Overdue" : "تأخر",
|
||||
@@ -182,7 +182,7 @@ OC.L10N.register(
|
||||
"Undo" : "تراجع",
|
||||
"Deleted cards" : "البطاقات المحذوفة",
|
||||
"Share board with a user, group or team …" : "مشاركة اللوحة مع مستخدِم او مجموعة أو فريق ...",
|
||||
"Searching for users, groups and teams …" : "البحث عن مستخدِمين، أو مجموعات، أو فرق",
|
||||
"Searching for users, groups and teams …" : "البحث عن مستخدِمين، أو مجموعات، أو فِرَق",
|
||||
"No participants found" : "لم يتم العثور على مشاركين",
|
||||
"Board owner" : "منشئ اللوح",
|
||||
"(Group)" : "(مجموعة)",
|
||||
@@ -212,7 +212,7 @@ OC.L10N.register(
|
||||
"title and color value must be provided" : "العنوان و قيمة اللون يجب تقديمها ",
|
||||
"Board name" : "اسم اللوح",
|
||||
"Members" : "الاعضاء",
|
||||
"Assign to users/groups/team" : "إسناد إلى مستخدمين/مجموعات/فرق",
|
||||
"Assign to users/groups/team" : "إسناد إلى مستخدِمين/مجموعات/فِرَق",
|
||||
"Assign a user to this card…" : "انسب مستخدم الى هذه البطاقة..",
|
||||
"Select a user to assign to this card…" : "حدِّد مستخدِماً ليتم إسناد هذه البطاقة له...",
|
||||
"Upload new files" : "رفع ملفات جديدة",
|
||||
@@ -254,7 +254,7 @@ OC.L10N.register(
|
||||
"Choose attachment" : "اختيار مرفق",
|
||||
"Assign a due date to this card…" : "تعيين تاريخ استحقاق لهذه البطاقة...",
|
||||
"Set a due date" : "تعيين تاريخ الانجاز",
|
||||
"Add due date" : "إضافة تاريخ الاستحقاق",
|
||||
"Add due date" : "أضِف تاريخ الاستحقاق",
|
||||
"Choose a date" : "إختَر تاريخاً",
|
||||
"Remove due date" : "ازالة تاريخ الانجاز",
|
||||
"Mark as done" : "تمييز كمُنجَز",
|
||||
@@ -263,10 +263,10 @@ OC.L10N.register(
|
||||
"Unarchive card" : "إلغاء أرشفة البطاقة ",
|
||||
"Archive card" : "أرشفة البطاقة",
|
||||
"Select Date" : "اختر التاريخ ",
|
||||
"Set due date for later today" : "تعيين آخِرَ هذا اليوم كموعدٍ لاستحقاق البطاقة",
|
||||
"Set due date for tomorrow" : "تعيين يوم الغد كموعدٍ لاستحقاق البطاقة",
|
||||
"Set due date for this weekend" : "تعيين نهاية هذا الأسبوع كموعدٍ لاستحقاق البطاقة",
|
||||
"Set due date for next week" : "تعيين الأسبوع المُقبل كموعدٍ لاستحقاق البطاقة",
|
||||
"Set due date for later today" : "عيِّن آخِرَ هذا اليوم كموعدٍ لاستحقاق البطاقة",
|
||||
"Set due date for tomorrow" : "عيِّن يوم الغد كموعدٍ لاستحقاق البطاقة",
|
||||
"Set due date for this weekend" : "عيِّن نهاية هذا الأسبوع كموعدٍ لاستحقاق البطاقة",
|
||||
"Set due date for next week" : "عيِّن الأسبوع المُقبل كموعدٍ لاستحقاق البطاقة",
|
||||
"Assign a tag to this card…" : "انسب وسم الى هذه البطاقة..",
|
||||
"Select or create a tag…" : "اختيار أو إنشاء وسم جديد...",
|
||||
"Create a new tag:" : "إنشاء وسم جديد:",
|
||||
@@ -281,7 +281,7 @@ OC.L10N.register(
|
||||
"Delete card" : "حذف البطاقة",
|
||||
"Card deleted" : "البطاقة حٌذفت ",
|
||||
"seconds ago" : "ثوانٍ مضت",
|
||||
"Keyboard shortcuts" : "اختصارات لوحة المفاتيح",
|
||||
"Keyboard shortcuts" : "إختصارات لوحة المفاتيح",
|
||||
"Boost your productivity using Deck with keyboard shortcuts." : "ضاعِف إنتاجيتك باستعمال \"رِزَم البطاقات\" Deck، و اختصارات لوحة المفاتيح ",
|
||||
"Board actions" : "إجراءات اللوحة",
|
||||
"Keyboard shortcut" : "إختصار لوحة المفاتيح",
|
||||
@@ -310,7 +310,7 @@ OC.L10N.register(
|
||||
"All boards" : "جميع الالواح",
|
||||
"Archived boards" : "الالواح المؤرشفة",
|
||||
"Shared with you" : "تم مشاركتها معك",
|
||||
"Deck settings" : "إعدادات رزم البطاقات",
|
||||
"Deck settings" : "إعدادات رِزَمِ البطاقات",
|
||||
"Use bigger card view" : "استخدام بطاقة عرض أكبر ",
|
||||
"Show card ID badge" : "أعرض شارة رقم البطاقة",
|
||||
"Show boards in calendar/tasks" : "إظهار اللوح في التقويم/المهام",
|
||||
|
||||
30
l10n/ar.json
30
l10n/ar.json
@@ -83,14 +83,14 @@
|
||||
"{user} has mentioned you in a comment on {deck-card}." : "{user} أشار إليك في تعليق على {deck-card}",
|
||||
"The board \"%s\" has been shared with you by %s." : "تمت مشاركة اللوح \"%s\" معك من قبل %s.",
|
||||
"{user} has shared {deck-board} with you." : "{user} قام بمشاركة {deck-board} معك.",
|
||||
"Deck board" : "لوحة البطاقات",
|
||||
"Deck board" : "رُقعة اللوحات Deck board",
|
||||
"Owned by %1$s" : "يملكها %1$s",
|
||||
"Deck boards, cards and comments" : "اللوحات و البطاقات و الملاحظات",
|
||||
"Deck boards, cards and comments" : "رُقعة اللوحات و البطاقات و الملاحظات",
|
||||
"From %1$s, in %2$s/%3$s, owned by %4$s" : " من %1$s، في %2$s/%3$s، يملكها %4$s",
|
||||
"Create a new deck card" : "إنشاء بطاقة جديدة",
|
||||
"Create a new deck card" : "إنشاء بطاقة deck card جديدة",
|
||||
"Card comments" : "تعليقات البطاقة ",
|
||||
"%s on %s" : "%s على %s",
|
||||
"Deck boards and cards" : "اللوحات و البطاقات",
|
||||
"Deck boards and cards" : "رُقَع اللوحات و البطاقات",
|
||||
"No data was provided to create an attachment." : "لا بيانات تم تقديمها لانشاء مرفق",
|
||||
"Finished" : "اكتمل",
|
||||
"To review" : "لإعادة المراجعة",
|
||||
@@ -117,7 +117,7 @@
|
||||
"Path is already shared with this card" : "تم مشاركة المسار بالفعل مع هذه البطاقة ",
|
||||
"Invalid date, date format must be YYYY-MM-DD" : "تاريخ غير صحيح, يجب أن يكون تنسيق التاريخ YYYY-MM-DD",
|
||||
"Personal planning and team project organization" : "التخطيط الشخصي و تنظيم مشروع الفريق",
|
||||
"Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.\n\n\n- 📥 Add your tasks to cards and put them in order\n- 📄 Write down additional notes in Markdown\n- 🔖 Assign labels for even better organization\n- 👥 Share with your team, friends or family\n- 📎 Attach files and embed them in your Markdown description\n- 💬 Discuss with your team using comments\n- ⚡ Keep track of changes in the activity stream\n- 🚀 Get your project organized" : "التطبيق \"رِزَم البطاقات\" Deck هو أداة لتنظيم المهام الشخصية و الجماعية في نكست كلاود على نمط \"خطوط التصنيع أو التجميع في المصانع\" و المعروف بـ kanban.\n\n\n- 📥 أكتب مهمتك او مهمة فريقك على بطاقة و ضع البطاقة على لوحة البطاقات من ذات التصنيف أو المرحلة من الإنجاز\n- 📄 دوّن ملاحظاتك الإضافية على البطاقة بصيغة ماركداون markdown\n- 🔖 و يمكنك أيضاً إسناد البطاقة أي المهمة إلى شخص أو أشخاص في فريقك\n- 👥 شارك البطاقة مع من ترغب من أعضاء فريقك أو عائلتك أو أصدقائك\n- 📎 إرفاق ملفات و تضمينها بصيغة ماركداون في البطاقة\n- 💬ناقش البطاقة مع زملائك في خانة الملاحظات\n- ⚡ تابع ما يُستجد من عمليات و تطوّرات على البطاقة أو المهمة\n- 🚀 حافظ على مشروعك مُنسّقاً باستمرار.",
|
||||
"Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.\n\n\n- 📥 Add your tasks to cards and put them in order\n- 📄 Write down additional notes in Markdown\n- 🔖 Assign labels for even better organization\n- 👥 Share with your team, friends or family\n- 📎 Attach files and embed them in your Markdown description\n- 💬 Discuss with your team using comments\n- ⚡ Keep track of changes in the activity stream\n- 🚀 Get your project organized" : "التطبيق \"رِزَم البطاقات\" Deck هو أداة لتنظيم المهام الشخصية و الجماعية في نكست كلاود على نمط \"خطوط التصنيع أو التجميع في المصانع\" و المعروف بـ kanban.\n\n\n- 📥 أكتب مهمتك او مهمة فريقك على بطاقة و ضع البطاقة في الرُّقعة على كدسة البطاقات من ذات التصنيف أو المرحلة من الإنجاز\n- 📄 دوّن ملاحظاتك الإضافية على البطاقة بصيغة ماركداون markdown\n- 🔖 و يمكنك أيضاً إسناد البطاقة أي المهمة إلى شخص أو أشخاص في فريقك\n- 👥 شارك البطاقة مع من ترغب من أعضاء فريقك أو عائلتك أو أصدقائك\n- 📎 إرفاق ملفات و تضمينها بصيغة ماركداون في البطاقة\n- 💬ناقش البطاقة مع زملائك في خانة الملاحظات\n- ⚡ تابع ما يُستجد من عمليات و تطوّرات على البطاقة أو المهمة\n- 🚀 حافظ على مشروعك مُنسّقاً باستمرار.",
|
||||
"Card details" : "تفاصيل البطاقة",
|
||||
"Add board" : "إضافة لوح",
|
||||
"Select the board to link to a project" : "تحديد اللوح لربطه بمشروع",
|
||||
@@ -150,7 +150,7 @@
|
||||
"Unassigned" : "غير معيين ",
|
||||
"Filter by status" : "تصفية بحسب الحالة",
|
||||
"Open and completed" : "مفتوحة و منجزة",
|
||||
"Open" : "فتح",
|
||||
"Open" : "إفتح",
|
||||
"Completed" : "مُكتمل",
|
||||
"Filter by due date" : "تصفية بواسطة تاريخ الإنجاز",
|
||||
"Overdue" : "تأخر",
|
||||
@@ -180,7 +180,7 @@
|
||||
"Undo" : "تراجع",
|
||||
"Deleted cards" : "البطاقات المحذوفة",
|
||||
"Share board with a user, group or team …" : "مشاركة اللوحة مع مستخدِم او مجموعة أو فريق ...",
|
||||
"Searching for users, groups and teams …" : "البحث عن مستخدِمين، أو مجموعات، أو فرق",
|
||||
"Searching for users, groups and teams …" : "البحث عن مستخدِمين، أو مجموعات، أو فِرَق",
|
||||
"No participants found" : "لم يتم العثور على مشاركين",
|
||||
"Board owner" : "منشئ اللوح",
|
||||
"(Group)" : "(مجموعة)",
|
||||
@@ -210,7 +210,7 @@
|
||||
"title and color value must be provided" : "العنوان و قيمة اللون يجب تقديمها ",
|
||||
"Board name" : "اسم اللوح",
|
||||
"Members" : "الاعضاء",
|
||||
"Assign to users/groups/team" : "إسناد إلى مستخدمين/مجموعات/فرق",
|
||||
"Assign to users/groups/team" : "إسناد إلى مستخدِمين/مجموعات/فِرَق",
|
||||
"Assign a user to this card…" : "انسب مستخدم الى هذه البطاقة..",
|
||||
"Select a user to assign to this card…" : "حدِّد مستخدِماً ليتم إسناد هذه البطاقة له...",
|
||||
"Upload new files" : "رفع ملفات جديدة",
|
||||
@@ -252,7 +252,7 @@
|
||||
"Choose attachment" : "اختيار مرفق",
|
||||
"Assign a due date to this card…" : "تعيين تاريخ استحقاق لهذه البطاقة...",
|
||||
"Set a due date" : "تعيين تاريخ الانجاز",
|
||||
"Add due date" : "إضافة تاريخ الاستحقاق",
|
||||
"Add due date" : "أضِف تاريخ الاستحقاق",
|
||||
"Choose a date" : "إختَر تاريخاً",
|
||||
"Remove due date" : "ازالة تاريخ الانجاز",
|
||||
"Mark as done" : "تمييز كمُنجَز",
|
||||
@@ -261,10 +261,10 @@
|
||||
"Unarchive card" : "إلغاء أرشفة البطاقة ",
|
||||
"Archive card" : "أرشفة البطاقة",
|
||||
"Select Date" : "اختر التاريخ ",
|
||||
"Set due date for later today" : "تعيين آخِرَ هذا اليوم كموعدٍ لاستحقاق البطاقة",
|
||||
"Set due date for tomorrow" : "تعيين يوم الغد كموعدٍ لاستحقاق البطاقة",
|
||||
"Set due date for this weekend" : "تعيين نهاية هذا الأسبوع كموعدٍ لاستحقاق البطاقة",
|
||||
"Set due date for next week" : "تعيين الأسبوع المُقبل كموعدٍ لاستحقاق البطاقة",
|
||||
"Set due date for later today" : "عيِّن آخِرَ هذا اليوم كموعدٍ لاستحقاق البطاقة",
|
||||
"Set due date for tomorrow" : "عيِّن يوم الغد كموعدٍ لاستحقاق البطاقة",
|
||||
"Set due date for this weekend" : "عيِّن نهاية هذا الأسبوع كموعدٍ لاستحقاق البطاقة",
|
||||
"Set due date for next week" : "عيِّن الأسبوع المُقبل كموعدٍ لاستحقاق البطاقة",
|
||||
"Assign a tag to this card…" : "انسب وسم الى هذه البطاقة..",
|
||||
"Select or create a tag…" : "اختيار أو إنشاء وسم جديد...",
|
||||
"Create a new tag:" : "إنشاء وسم جديد:",
|
||||
@@ -279,7 +279,7 @@
|
||||
"Delete card" : "حذف البطاقة",
|
||||
"Card deleted" : "البطاقة حٌذفت ",
|
||||
"seconds ago" : "ثوانٍ مضت",
|
||||
"Keyboard shortcuts" : "اختصارات لوحة المفاتيح",
|
||||
"Keyboard shortcuts" : "إختصارات لوحة المفاتيح",
|
||||
"Boost your productivity using Deck with keyboard shortcuts." : "ضاعِف إنتاجيتك باستعمال \"رِزَم البطاقات\" Deck، و اختصارات لوحة المفاتيح ",
|
||||
"Board actions" : "إجراءات اللوحة",
|
||||
"Keyboard shortcut" : "إختصار لوحة المفاتيح",
|
||||
@@ -308,7 +308,7 @@
|
||||
"All boards" : "جميع الالواح",
|
||||
"Archived boards" : "الالواح المؤرشفة",
|
||||
"Shared with you" : "تم مشاركتها معك",
|
||||
"Deck settings" : "إعدادات رزم البطاقات",
|
||||
"Deck settings" : "إعدادات رِزَمِ البطاقات",
|
||||
"Use bigger card view" : "استخدام بطاقة عرض أكبر ",
|
||||
"Show card ID badge" : "أعرض شارة رقم البطاقة",
|
||||
"Show boards in calendar/tasks" : "إظهار اللوح في التقويم/المهام",
|
||||
|
||||
26
l10n/fi.js
26
l10n/fi.js
@@ -31,7 +31,6 @@ OC.L10N.register(
|
||||
"{user} has renamed the card {before} to {card}" : "{user} muutti kortin {before} uudeksi nimeksi {card}",
|
||||
"You have added a description to card {card} in list {stack} on board {board}" : "Olet lisännyt kuvauksen kortille {card} listalla {stack} taululla {board}",
|
||||
"{user} has added a description to card {card} in list {stack} on board {board}" : "{user} on lisännyt kuvauksen kortille {card} listalla {stack} taululla {board}",
|
||||
"You have updated the description of card {card} in list {stack} on board {board}" : "Olet päivittänyt kortin {card} kuvauksen listalla {stack} taululla {board}",
|
||||
"You have removed the due date of card {card}" : "Poistit eräpäivän kortilta {card}",
|
||||
"{user} has removed the due date of card {card}" : "{user} poisti eräpäivän kortilta {card}",
|
||||
"You have set the due date of card {card} to {after}" : "Asetit kortille {card} eräpäivän {after}",
|
||||
@@ -62,9 +61,7 @@ OC.L10N.register(
|
||||
"The card \"%s\" on \"%s\" has reached its due date." : "Kortin \"%s\" on \"%s\" eräpäivä on tullut vastaan.",
|
||||
"%s has mentioned you in a comment on \"%s\"." : "%s mainitsi sinut kommentissa kortilla \"%s\".",
|
||||
"The board \"%s\" has been shared with you by %s." : "Taulu \"%s\" on jaettu kanssasi käyttäjän %s toimesta.",
|
||||
"{user} has shared {deck-board} with you." : "{user} on jakanut taulun {deck-board} kanssasi.",
|
||||
"Deck board" : "Deck-taulu",
|
||||
"Create a new deck card" : "Luo uusi kortti",
|
||||
"Card comments" : "Kortin kommentit",
|
||||
"Finished" : "Valmistunut",
|
||||
"To review" : "Arvosteltavana",
|
||||
@@ -119,9 +116,8 @@ OC.L10N.register(
|
||||
"Filter by tag" : "Suodata tunnisteen perusteella",
|
||||
"Filter by assigned user" : "Suodata määritetyn käyttäjän mukaan",
|
||||
"Unassigned" : "Määrittämätön",
|
||||
"Open and completed" : "Avoimet ja valmiit",
|
||||
"Open" : "Avoimet",
|
||||
"Completed" : "Valmiit",
|
||||
"Open" : "Avaa",
|
||||
"Completed" : "Valmistui",
|
||||
"Filter by due date" : "Suodata määräpäivän mukaan",
|
||||
"Overdue" : "Myöhässä",
|
||||
"Next 24 hours" : "Seuraavat 24 tuntia",
|
||||
@@ -132,8 +128,6 @@ OC.L10N.register(
|
||||
"Hide archived cards" : "Piilota arkistoidut kortit",
|
||||
"Show archived cards" : "Näytä arkistoidut kortit",
|
||||
"Toggle compact mode" : "Käytä kompaktia tilaa",
|
||||
"Hide card cover images" : "Piilota korttien kansikuvat",
|
||||
"Show card cover images" : "Näytä korttien kansikuvat",
|
||||
"Open details" : "Avaa yksityiskohdat",
|
||||
"Details" : "Tiedot",
|
||||
"Loading board" : "Ladataan taulua",
|
||||
@@ -146,7 +140,6 @@ OC.L10N.register(
|
||||
"Deleted lists" : "Poistetut listat",
|
||||
"Undo" : "Kumoa",
|
||||
"Deleted cards" : "Poistetut kortit",
|
||||
"Share board with a user, group or team …" : "Jaa taulu käyttäjän, ryhmän tai tiimin kanssa...",
|
||||
"No participants found" : "Ei osallistujia löydetty",
|
||||
"Board owner" : "Taulun omistaja",
|
||||
"(Group)" : "(Ryhmä)",
|
||||
@@ -155,8 +148,6 @@ OC.L10N.register(
|
||||
"Can manage" : "Voi hallita",
|
||||
"Owner" : "Omistaja",
|
||||
"Delete" : "Poista",
|
||||
"Failed to create share with {displayName}" : "Jaon luonti epäonnistui kohteen {displayName} kanssa",
|
||||
"Are you sure you want to transfer the board {title} to {user}?" : "Haluatko varmasti siirtää taulun {title} käyttäjälle {user}?",
|
||||
"Transfer" : "Siirrä",
|
||||
"Archive all cards" : "Arkistoi kaikki kortit",
|
||||
"Delete list" : "Poista lista",
|
||||
@@ -170,8 +161,6 @@ OC.L10N.register(
|
||||
"Board name" : "Taulun nimi",
|
||||
"Members" : "Jäsenet",
|
||||
"Upload new files" : "Lähetä uusia tiedostoja",
|
||||
"Share from Files" : "Jaa tiedostoista",
|
||||
"Pending share" : "Odottava jako",
|
||||
"Add this attachment" : "Lisää tämä liite",
|
||||
"Download" : "Lataa",
|
||||
"Remove attachment" : "Poista liite",
|
||||
@@ -211,11 +200,9 @@ OC.L10N.register(
|
||||
"Archive card" : "Arkistoi kortti",
|
||||
"Select Date" : "Valitse päivä",
|
||||
"Assign a tag to this card…" : "Lisää kortille tunniste...",
|
||||
"Create a new tag:" : "Luo uusi tunniste:",
|
||||
"(group)" : "(ryhmä)",
|
||||
"Next week – {timeLocale}" : "Ensi viikko – {timeLocale}",
|
||||
"{count} comments, {unread} unread" : "{count} kommenttia, {unread} lukematonta",
|
||||
"Edit card title" : "Muokkaa kortin otsikkoa",
|
||||
"Assign to me" : "Määritä minulle",
|
||||
"Unassign myself" : "Poista määritys minulta",
|
||||
"Delete card" : "Poista kortti",
|
||||
@@ -226,33 +213,26 @@ OC.L10N.register(
|
||||
"Action" : "Toiminto",
|
||||
"Shift" : "Siirrä",
|
||||
"Search" : "Etsi",
|
||||
"Mark card as completed/not completed" : "Merkitse kortti valmiiksi/avoimeksi",
|
||||
"All boards" : "Kaikki taulut",
|
||||
"Archived boards" : "Arkistoidut taulut",
|
||||
"Shared with you" : "Jaettu kanssasi",
|
||||
"Deck settings" : "Pakan asetukset",
|
||||
"Show boards in calendar/tasks" : "Näytä taulut kalenterissa ja tehtävissä",
|
||||
"Cancel edit" : "Peruuta muokkaus",
|
||||
"Board details" : "Taulun tiedot",
|
||||
"Edit board" : "Muokkaa taulua",
|
||||
"Clone board" : "Monista taulu",
|
||||
"Unarchive board" : "Kumoa taulun arkistointi",
|
||||
"Archive board" : "Arkistoi taulu",
|
||||
"Export board" : "Vie taulu",
|
||||
"All cards" : "Kaikki kortit",
|
||||
"No notifications" : "Ei ilmoituksia",
|
||||
"Delete board" : "Poista taulu",
|
||||
"Board {0} deleted" : "Taulu {0} poistettu",
|
||||
"No reminder" : "Ei muistutusta",
|
||||
"An error occurred" : "Tapahtui virhe",
|
||||
"Are you sure you want to delete the board {title}? This will delete all the data of this board including archived cards." : "Haluatko varmasti poistaa taulun {title}? Tämä poistaa kaikki taulun tiedot, mukaan lukien arkistoidut kortit.",
|
||||
"Delete the board?" : "Poistetaanko tämä taulu?",
|
||||
"Today" : "Tänään",
|
||||
"Tomorrow" : "Huomenna",
|
||||
"Search for {searchQuery} in all boards" : "Hae ehtoja {searchQuery} kaikilta tauluilta",
|
||||
"No results found" : "Ei tuloksia",
|
||||
"Click to expand description" : "Laajenna kuvausta ",
|
||||
"{nbCards} cards" : "{nbCards} korttia ",
|
||||
"Click to expand comment" : "Napsauta laajentaaksesi kommentin",
|
||||
"Create a new card" : "Luo uusi kortti",
|
||||
"Card title" : "Kortin otsikko",
|
||||
@@ -263,8 +243,6 @@ OC.L10N.register(
|
||||
"Close" : "Sulje",
|
||||
"No upcoming cards" : "Ei tulevia kortteja",
|
||||
"upcoming cards" : "tulevat kortit",
|
||||
"New card" : "Uusi kortti",
|
||||
"Due on {date}" : "Määräpäivä {date}",
|
||||
"This weekend – {timeLocale}" : "Tämä viikonloppu – {timeLocale}",
|
||||
"Tomorrow – {timeLocale}" : "Huomenna – {timeLocale}",
|
||||
"Later today – {timeLocale}" : "Myöhemmin tänään – {timeLocale}",
|
||||
|
||||
26
l10n/fi.json
26
l10n/fi.json
@@ -29,7 +29,6 @@
|
||||
"{user} has renamed the card {before} to {card}" : "{user} muutti kortin {before} uudeksi nimeksi {card}",
|
||||
"You have added a description to card {card} in list {stack} on board {board}" : "Olet lisännyt kuvauksen kortille {card} listalla {stack} taululla {board}",
|
||||
"{user} has added a description to card {card} in list {stack} on board {board}" : "{user} on lisännyt kuvauksen kortille {card} listalla {stack} taululla {board}",
|
||||
"You have updated the description of card {card} in list {stack} on board {board}" : "Olet päivittänyt kortin {card} kuvauksen listalla {stack} taululla {board}",
|
||||
"You have removed the due date of card {card}" : "Poistit eräpäivän kortilta {card}",
|
||||
"{user} has removed the due date of card {card}" : "{user} poisti eräpäivän kortilta {card}",
|
||||
"You have set the due date of card {card} to {after}" : "Asetit kortille {card} eräpäivän {after}",
|
||||
@@ -60,9 +59,7 @@
|
||||
"The card \"%s\" on \"%s\" has reached its due date." : "Kortin \"%s\" on \"%s\" eräpäivä on tullut vastaan.",
|
||||
"%s has mentioned you in a comment on \"%s\"." : "%s mainitsi sinut kommentissa kortilla \"%s\".",
|
||||
"The board \"%s\" has been shared with you by %s." : "Taulu \"%s\" on jaettu kanssasi käyttäjän %s toimesta.",
|
||||
"{user} has shared {deck-board} with you." : "{user} on jakanut taulun {deck-board} kanssasi.",
|
||||
"Deck board" : "Deck-taulu",
|
||||
"Create a new deck card" : "Luo uusi kortti",
|
||||
"Card comments" : "Kortin kommentit",
|
||||
"Finished" : "Valmistunut",
|
||||
"To review" : "Arvosteltavana",
|
||||
@@ -117,9 +114,8 @@
|
||||
"Filter by tag" : "Suodata tunnisteen perusteella",
|
||||
"Filter by assigned user" : "Suodata määritetyn käyttäjän mukaan",
|
||||
"Unassigned" : "Määrittämätön",
|
||||
"Open and completed" : "Avoimet ja valmiit",
|
||||
"Open" : "Avoimet",
|
||||
"Completed" : "Valmiit",
|
||||
"Open" : "Avaa",
|
||||
"Completed" : "Valmistui",
|
||||
"Filter by due date" : "Suodata määräpäivän mukaan",
|
||||
"Overdue" : "Myöhässä",
|
||||
"Next 24 hours" : "Seuraavat 24 tuntia",
|
||||
@@ -130,8 +126,6 @@
|
||||
"Hide archived cards" : "Piilota arkistoidut kortit",
|
||||
"Show archived cards" : "Näytä arkistoidut kortit",
|
||||
"Toggle compact mode" : "Käytä kompaktia tilaa",
|
||||
"Hide card cover images" : "Piilota korttien kansikuvat",
|
||||
"Show card cover images" : "Näytä korttien kansikuvat",
|
||||
"Open details" : "Avaa yksityiskohdat",
|
||||
"Details" : "Tiedot",
|
||||
"Loading board" : "Ladataan taulua",
|
||||
@@ -144,7 +138,6 @@
|
||||
"Deleted lists" : "Poistetut listat",
|
||||
"Undo" : "Kumoa",
|
||||
"Deleted cards" : "Poistetut kortit",
|
||||
"Share board with a user, group or team …" : "Jaa taulu käyttäjän, ryhmän tai tiimin kanssa...",
|
||||
"No participants found" : "Ei osallistujia löydetty",
|
||||
"Board owner" : "Taulun omistaja",
|
||||
"(Group)" : "(Ryhmä)",
|
||||
@@ -153,8 +146,6 @@
|
||||
"Can manage" : "Voi hallita",
|
||||
"Owner" : "Omistaja",
|
||||
"Delete" : "Poista",
|
||||
"Failed to create share with {displayName}" : "Jaon luonti epäonnistui kohteen {displayName} kanssa",
|
||||
"Are you sure you want to transfer the board {title} to {user}?" : "Haluatko varmasti siirtää taulun {title} käyttäjälle {user}?",
|
||||
"Transfer" : "Siirrä",
|
||||
"Archive all cards" : "Arkistoi kaikki kortit",
|
||||
"Delete list" : "Poista lista",
|
||||
@@ -168,8 +159,6 @@
|
||||
"Board name" : "Taulun nimi",
|
||||
"Members" : "Jäsenet",
|
||||
"Upload new files" : "Lähetä uusia tiedostoja",
|
||||
"Share from Files" : "Jaa tiedostoista",
|
||||
"Pending share" : "Odottava jako",
|
||||
"Add this attachment" : "Lisää tämä liite",
|
||||
"Download" : "Lataa",
|
||||
"Remove attachment" : "Poista liite",
|
||||
@@ -209,11 +198,9 @@
|
||||
"Archive card" : "Arkistoi kortti",
|
||||
"Select Date" : "Valitse päivä",
|
||||
"Assign a tag to this card…" : "Lisää kortille tunniste...",
|
||||
"Create a new tag:" : "Luo uusi tunniste:",
|
||||
"(group)" : "(ryhmä)",
|
||||
"Next week – {timeLocale}" : "Ensi viikko – {timeLocale}",
|
||||
"{count} comments, {unread} unread" : "{count} kommenttia, {unread} lukematonta",
|
||||
"Edit card title" : "Muokkaa kortin otsikkoa",
|
||||
"Assign to me" : "Määritä minulle",
|
||||
"Unassign myself" : "Poista määritys minulta",
|
||||
"Delete card" : "Poista kortti",
|
||||
@@ -224,33 +211,26 @@
|
||||
"Action" : "Toiminto",
|
||||
"Shift" : "Siirrä",
|
||||
"Search" : "Etsi",
|
||||
"Mark card as completed/not completed" : "Merkitse kortti valmiiksi/avoimeksi",
|
||||
"All boards" : "Kaikki taulut",
|
||||
"Archived boards" : "Arkistoidut taulut",
|
||||
"Shared with you" : "Jaettu kanssasi",
|
||||
"Deck settings" : "Pakan asetukset",
|
||||
"Show boards in calendar/tasks" : "Näytä taulut kalenterissa ja tehtävissä",
|
||||
"Cancel edit" : "Peruuta muokkaus",
|
||||
"Board details" : "Taulun tiedot",
|
||||
"Edit board" : "Muokkaa taulua",
|
||||
"Clone board" : "Monista taulu",
|
||||
"Unarchive board" : "Kumoa taulun arkistointi",
|
||||
"Archive board" : "Arkistoi taulu",
|
||||
"Export board" : "Vie taulu",
|
||||
"All cards" : "Kaikki kortit",
|
||||
"No notifications" : "Ei ilmoituksia",
|
||||
"Delete board" : "Poista taulu",
|
||||
"Board {0} deleted" : "Taulu {0} poistettu",
|
||||
"No reminder" : "Ei muistutusta",
|
||||
"An error occurred" : "Tapahtui virhe",
|
||||
"Are you sure you want to delete the board {title}? This will delete all the data of this board including archived cards." : "Haluatko varmasti poistaa taulun {title}? Tämä poistaa kaikki taulun tiedot, mukaan lukien arkistoidut kortit.",
|
||||
"Delete the board?" : "Poistetaanko tämä taulu?",
|
||||
"Today" : "Tänään",
|
||||
"Tomorrow" : "Huomenna",
|
||||
"Search for {searchQuery} in all boards" : "Hae ehtoja {searchQuery} kaikilta tauluilta",
|
||||
"No results found" : "Ei tuloksia",
|
||||
"Click to expand description" : "Laajenna kuvausta ",
|
||||
"{nbCards} cards" : "{nbCards} korttia ",
|
||||
"Click to expand comment" : "Napsauta laajentaaksesi kommentin",
|
||||
"Create a new card" : "Luo uusi kortti",
|
||||
"Card title" : "Kortin otsikko",
|
||||
@@ -261,8 +241,6 @@
|
||||
"Close" : "Sulje",
|
||||
"No upcoming cards" : "Ei tulevia kortteja",
|
||||
"upcoming cards" : "tulevat kortit",
|
||||
"New card" : "Uusi kortti",
|
||||
"Due on {date}" : "Määräpäivä {date}",
|
||||
"This weekend – {timeLocale}" : "Tämä viikonloppu – {timeLocale}",
|
||||
"Tomorrow – {timeLocale}" : "Huomenna – {timeLocale}",
|
||||
"Later today – {timeLocale}" : "Myöhemmin tänään – {timeLocale}",
|
||||
|
||||
@@ -317,7 +317,6 @@ OC.L10N.register(
|
||||
"Limit board creation to some groups" : "Limita la creazione di lavagne ad alcuni gruppi",
|
||||
"Users outside of those groups will not be able to create their own boards, but will still be able to work on boards that have been shared with them." : "Gli utenti che non fanno parte di tali gruppi non potranno creare le proprie lavagne, ma saranno ancora in grado di lavorare su quelle che sono state condivise con loro.",
|
||||
"Cancel edit" : "Annulla modifica",
|
||||
"Save board" : "Salva bacheca",
|
||||
"Board details" : "Dettagli lavagna",
|
||||
"Edit board" : "Modifica lavagna",
|
||||
"Clone board" : "Clona lavagna",
|
||||
|
||||
@@ -315,7 +315,6 @@
|
||||
"Limit board creation to some groups" : "Limita la creazione di lavagne ad alcuni gruppi",
|
||||
"Users outside of those groups will not be able to create their own boards, but will still be able to work on boards that have been shared with them." : "Gli utenti che non fanno parte di tali gruppi non potranno creare le proprie lavagne, ma saranno ancora in grado di lavorare su quelle che sono state condivise con loro.",
|
||||
"Cancel edit" : "Annulla modifica",
|
||||
"Save board" : "Salva bacheca",
|
||||
"Board details" : "Dettagli lavagna",
|
||||
"Edit board" : "Modifica lavagna",
|
||||
"Clone board" : "Clona lavagna",
|
||||
|
||||
@@ -123,7 +123,6 @@ OC.L10N.register(
|
||||
"Archived cards" : "Archyvuotos kortelės",
|
||||
"Add list" : "Pridėti sąrašą",
|
||||
"List name" : "Sąrašo pavadinimas",
|
||||
"Active filters" : "Aktyvūs filtrai",
|
||||
"Apply filter" : "Taikyti filtrą",
|
||||
"Filter by tag" : "Filtruoti pagal žymę",
|
||||
"Filter by assigned user" : "Filtruoti pagal priskirtą naudotoją",
|
||||
|
||||
@@ -121,7 +121,6 @@
|
||||
"Archived cards" : "Archyvuotos kortelės",
|
||||
"Add list" : "Pridėti sąrašą",
|
||||
"List name" : "Sąrašo pavadinimas",
|
||||
"Active filters" : "Aktyvūs filtrai",
|
||||
"Apply filter" : "Taikyti filtrą",
|
||||
"Filter by tag" : "Filtruoti pagal žymę",
|
||||
"Filter by assigned user" : "Filtruoti pagal priskirtą naudotoją",
|
||||
|
||||
@@ -1,8 +1,6 @@
|
||||
OC.L10N.register(
|
||||
"deck",
|
||||
{
|
||||
"You have added a description to card {card} in list {stack} on board {board}" : "Tu pievienoji kartītes {card} aprakstu dēļa {board} sarakstā {stack}",
|
||||
"{user} has added a description to card {card} in list {stack} on board {board}" : "{user} pievienoja kartītes {card} aprakstu dēļa {board} sarakstā {stack}",
|
||||
"Load more" : "Ielādēt vairāk",
|
||||
"Personal" : "Personīgs",
|
||||
"Finished" : "Pabeigts",
|
||||
|
||||
@@ -1,6 +1,4 @@
|
||||
{ "translations": {
|
||||
"You have added a description to card {card} in list {stack} on board {board}" : "Tu pievienoji kartītes {card} aprakstu dēļa {board} sarakstā {stack}",
|
||||
"{user} has added a description to card {card} in list {stack} on board {board}" : "{user} pievienoja kartītes {card} aprakstu dēļa {board} sarakstā {stack}",
|
||||
"Load more" : "Ielādēt vairāk",
|
||||
"Personal" : "Personīgs",
|
||||
"Finished" : "Pabeigts",
|
||||
|
||||
@@ -252,7 +252,6 @@ OC.L10N.register(
|
||||
"Remove due date" : "Usuń datę realizacji",
|
||||
"Mark as done" : "Oznacz jako wykonane",
|
||||
"Due at:" : "Termin:",
|
||||
"Not done" : "Nie zrobione",
|
||||
"Unarchive card" : "Nie archiwizuj karty",
|
||||
"Archive card" : "Zarchiwizuj kartę",
|
||||
"Select Date" : "Wybierz datę",
|
||||
|
||||
@@ -250,7 +250,6 @@
|
||||
"Remove due date" : "Usuń datę realizacji",
|
||||
"Mark as done" : "Oznacz jako wykonane",
|
||||
"Due at:" : "Termin:",
|
||||
"Not done" : "Nie zrobione",
|
||||
"Unarchive card" : "Nie archiwizuj karty",
|
||||
"Archive card" : "Zarchiwizuj kartę",
|
||||
"Select Date" : "Wybierz datę",
|
||||
|
||||
@@ -180,7 +180,7 @@ OC.L10N.register(
|
||||
"Board name" : "Nùmene de sa lavagna",
|
||||
"Members" : "Membros",
|
||||
"Assign a user to this card…" : "Assigna utente a cust'ischeda...",
|
||||
"Upload new files" : "Càrriga archìvios noos",
|
||||
"Upload new files" : "Carriga archìvios noos",
|
||||
"Share from Files" : "Cumpartzi dae Archìvios",
|
||||
"Add this attachment" : "Agiunghe custu alligongiadu",
|
||||
"Show in Files" : "Mustra in Archìvios",
|
||||
@@ -222,7 +222,6 @@ OC.L10N.register(
|
||||
"Archive card" : "Archìviu no archiviadu",
|
||||
"Select Date" : "Seletziona data",
|
||||
"Assign a tag to this card…" : "Assigna un'eticheta a cust'ischeda...",
|
||||
"Create a new tag:" : "Crea un'eticheta noa:",
|
||||
"(group)" : "(grupu)",
|
||||
"{count} comments, {unread} unread" : "{count} cummentos, {unread} non lèghidos",
|
||||
"Assign to me" : "Assigna a mie",
|
||||
@@ -234,7 +233,6 @@ OC.L10N.register(
|
||||
"Keyboard shortcut" : "Curtziadòrgiu de tecladu",
|
||||
"Action" : "Atzione",
|
||||
"Search" : "Chirca",
|
||||
"Show help dialog" : "Mustra su diàlogu de agiudu",
|
||||
"All boards" : "Totu is lavagnas",
|
||||
"Archived boards" : "Lavagnas archiviadas",
|
||||
"Shared with you" : "Cumpartzidu cun tegus",
|
||||
@@ -274,7 +272,6 @@ OC.L10N.register(
|
||||
"Close" : "Serra",
|
||||
"No upcoming cards" : "Peruna ischeda abarrada",
|
||||
"upcoming cards" : "ischedas abarradas",
|
||||
"New card" : "Carta noa",
|
||||
"Link to a board" : "Collega a una tabella",
|
||||
"Link to a card" : "Collega a un'ischeda",
|
||||
"Create a card" : "Crea un'ischeda",
|
||||
|
||||
@@ -178,7 +178,7 @@
|
||||
"Board name" : "Nùmene de sa lavagna",
|
||||
"Members" : "Membros",
|
||||
"Assign a user to this card…" : "Assigna utente a cust'ischeda...",
|
||||
"Upload new files" : "Càrriga archìvios noos",
|
||||
"Upload new files" : "Carriga archìvios noos",
|
||||
"Share from Files" : "Cumpartzi dae Archìvios",
|
||||
"Add this attachment" : "Agiunghe custu alligongiadu",
|
||||
"Show in Files" : "Mustra in Archìvios",
|
||||
@@ -220,7 +220,6 @@
|
||||
"Archive card" : "Archìviu no archiviadu",
|
||||
"Select Date" : "Seletziona data",
|
||||
"Assign a tag to this card…" : "Assigna un'eticheta a cust'ischeda...",
|
||||
"Create a new tag:" : "Crea un'eticheta noa:",
|
||||
"(group)" : "(grupu)",
|
||||
"{count} comments, {unread} unread" : "{count} cummentos, {unread} non lèghidos",
|
||||
"Assign to me" : "Assigna a mie",
|
||||
@@ -232,7 +231,6 @@
|
||||
"Keyboard shortcut" : "Curtziadòrgiu de tecladu",
|
||||
"Action" : "Atzione",
|
||||
"Search" : "Chirca",
|
||||
"Show help dialog" : "Mustra su diàlogu de agiudu",
|
||||
"All boards" : "Totu is lavagnas",
|
||||
"Archived boards" : "Lavagnas archiviadas",
|
||||
"Shared with you" : "Cumpartzidu cun tegus",
|
||||
@@ -272,7 +270,6 @@
|
||||
"Close" : "Serra",
|
||||
"No upcoming cards" : "Peruna ischeda abarrada",
|
||||
"upcoming cards" : "ischedas abarradas",
|
||||
"New card" : "Carta noa",
|
||||
"Link to a board" : "Collega a una tabella",
|
||||
"Link to a card" : "Collega a un'ischeda",
|
||||
"Create a card" : "Crea un'ischeda",
|
||||
|
||||
@@ -173,7 +173,7 @@ OC.L10N.register(
|
||||
"Loading board" : "Načítanie nástenky",
|
||||
"Board not found" : "Nástenka nebola nájdená",
|
||||
"Create a new list to add cards to this board" : "Pre pridanie kariet na túto tabuľu vytvorte nový zoznam",
|
||||
"Sharing" : "Zdieľanie",
|
||||
"Sharing" : "Sprístupnenie",
|
||||
"Tags" : "Štítky",
|
||||
"Deleted items" : "Zmazané položky",
|
||||
"Activity" : "Aktivita",
|
||||
@@ -191,7 +191,7 @@ OC.L10N.register(
|
||||
"Can manage" : "Môže spravovať",
|
||||
"Owner" : "Vlastník",
|
||||
"Delete" : "Zmazať",
|
||||
"Failed to create share with {displayName}" : "Nepodarilo sa vytvoriť zdieľanie pre {displayName}",
|
||||
"Failed to create share with {displayName}" : "Nepodarilo sa vytvoriť sprístupnenie pre {displayName}",
|
||||
"Are you sure you want to transfer the board {title} to {user}?" : "Naozaj chcete preniesť nástenku {title} na užívateľa {user}?",
|
||||
"Transfer the board." : "Prenos nástenky.",
|
||||
"Transfer" : "Prenos",
|
||||
|
||||
@@ -171,7 +171,7 @@
|
||||
"Loading board" : "Načítanie nástenky",
|
||||
"Board not found" : "Nástenka nebola nájdená",
|
||||
"Create a new list to add cards to this board" : "Pre pridanie kariet na túto tabuľu vytvorte nový zoznam",
|
||||
"Sharing" : "Zdieľanie",
|
||||
"Sharing" : "Sprístupnenie",
|
||||
"Tags" : "Štítky",
|
||||
"Deleted items" : "Zmazané položky",
|
||||
"Activity" : "Aktivita",
|
||||
@@ -189,7 +189,7 @@
|
||||
"Can manage" : "Môže spravovať",
|
||||
"Owner" : "Vlastník",
|
||||
"Delete" : "Zmazať",
|
||||
"Failed to create share with {displayName}" : "Nepodarilo sa vytvoriť zdieľanie pre {displayName}",
|
||||
"Failed to create share with {displayName}" : "Nepodarilo sa vytvoriť sprístupnenie pre {displayName}",
|
||||
"Are you sure you want to transfer the board {title} to {user}?" : "Naozaj chcete preniesť nástenku {title} na užívateľa {user}?",
|
||||
"Transfer the board." : "Prenos nástenky.",
|
||||
"Transfer" : "Prenos",
|
||||
|
||||
357
l10n/ug.js
357
l10n/ug.js
@@ -1,384 +1,29 @@
|
||||
OC.L10N.register(
|
||||
"deck",
|
||||
{
|
||||
"You have created a new board {board}" : "سىز يېڭى تاختا {تاختا} قۇردىڭىز",
|
||||
"{user} has created a new board {board}" : "{user} يېڭى تاختا {تاختا} قۇردى",
|
||||
"You have deleted the board {board}" : "تاختاي {تاختىسىنى ئۆچۈردىڭىز",
|
||||
"{user} has deleted the board {board}" : "{ئىشلەتكۈچى} تاختاي {تاختىسىنى ئۆچۈردى",
|
||||
"You have restored the board {board}" : "تاختاي {تاختىسىنى ئەسلىگە كەلتۈردىڭىز",
|
||||
"{user} has restored the board {board}" : "{ئىشلەتكۈچى} تاختاي {تاختىسىنى ئەسلىگە كەلتۈردى",
|
||||
"You have shared the board {board} with {acl}" : "تاختاي {تاختىسىنى {acl} بىلەن ئورتاقلاشتىڭىز",
|
||||
"{user} has shared the board {board} with {acl}" : "{ئىشلەتكۈچى} تاختاي {تاختىسىنى {acl} بىلەن ئورتاقلاشتى",
|
||||
"You have removed {acl} from the board {board}" : "تاختايدىن {acl} نى چىقىرىۋەتتىڭىز.",
|
||||
"{user} has removed {acl} from the board {board}" : "{user} تاختىدىن {acl} نى چىقىرىۋەتتى",
|
||||
"You have renamed the board {before} to {board}" : "سىز تاختاينىڭ نامىنى {بۇرۇن} تاختايغا ئۆزگەرتتىڭىز.",
|
||||
"{user} has renamed the board {before} to {board}" : "{user} تاختاينىڭ نامىنى {بۇرۇن} تاختايغا ئۆزگەرتتى",
|
||||
"You have archived the board {board}" : "تاختاي {تاختىسىنى ئارخىپلاشتۇردىڭىز",
|
||||
"{user} has archived the board {before}" : "{ئىشلەتكۈچى} تاختاينى ئارخىپلاشتۇردى}",
|
||||
"You have unarchived the board {board}" : "سىز تاختاي {تاختىسىنى رەتسىز",
|
||||
"{user} has unarchived the board {before}" : "{user} ئىلگىرى تاختاينى رەتلىمىگەن}",
|
||||
"You have created a new list {stack} on board {board}" : "سىز تاختا {تاختايدا يېڭى تىزىملىك {stack} قۇردىڭىز",
|
||||
"{user} has created a new list {stack} on board {board}" : "{user board تاختا {تاختايدا يېڭى تىزىملىك {stack} قۇردى",
|
||||
"You have renamed list {before} to {stack} on board {board}" : "سىز تىزىملىكنىڭ نامىنى {بۇرۇن} دىن {تاختايغا {تاختايغا ئۆزگەرتىڭ.",
|
||||
"{user} has renamed list {before} to {stack} on board {board}" : "{ئىشلەتكۈچى} تىزىملىكنىڭ نامىنى {بۇرۇن} تاختايدىكى {stack} غا ئۆزگەرتتى.",
|
||||
"You have deleted list {stack} on board {board}" : "سىز {تاختايدىكى تىزىملىك {stack} نى ئۆچۈردىڭىز",
|
||||
"{user} has deleted list {stack} on board {board}" : "{user board تاختا {تاختايدىكى تىزىملىك {stack} نى ئۆچۈردى",
|
||||
"You have created card {card} in list {stack} on board {board}" : "سىز تىزىملىك {تاختايدا {stack list كارتا {كارتا} قۇردىڭىز",
|
||||
"{user} has created card {card} in list {stack} on board {board}" : "{ئىشلەتكۈچى board تاختا {تاختايدا {stack list كارتا {كارتا} قۇردى",
|
||||
"You have deleted card {card} in list {stack} on board {board}" : "كارتا {كارتا list تىزىملىكتىكى {stack board تاختا {تاختا} نى ئۆچۈردىڭىز",
|
||||
"{user} has deleted card {card} in list {stack} on board {board}" : "{ئىشلەتكۈچى board تاختايدىكى {stack list كارتا {كارتا} نى ئۆچۈردى",
|
||||
"You have renamed the card {before} to {card}" : "سىز بۇ كارتىنىڭ نامىنى {دىن بۇرۇن {كارتىغا ئۆزگەرتتىڭىز.",
|
||||
"{user} has renamed the card {before} to {card}" : "{ئىشلەتكۈچى} كارتىنىڭ نامىنى {دىن {كارتىغا ئۆزگەرتتى}",
|
||||
"You have added a description to card {card} in list {stack} on board {board}" : "سىز كارتا {كارتا list تاختا {تاختايدىكى {stack} غا چۈشەندۈرۈش قوشتىڭىز.",
|
||||
"{user} has added a description to card {card} in list {stack} on board {board}" : "{ئىشلەتكۈچى board تاختا {تاختايدىكى {stack list كارتا {كارتا} غا بىر چۈشەندۈرۈش قوشتى",
|
||||
"You have updated the description of card {card} in list {stack} on board {board}" : "تاختاي {تاختايدىكى {stack list كارتا {كارتا} نىڭ چۈشەندۈرۈشىنى يېڭىلىدىڭىز",
|
||||
"{user} has updated the description of the card {card} in list {stack} on board {board}" : "{ئىشلەتكۈچى} تاختا {تاختايدىكى {stack} كارتا {كارتا} نىڭ چۈشەندۈرۈشىنى يېڭىلىدى",
|
||||
"You have archived card {card} in list {stack} on board {board}" : "سىز كارتا {كارتا list تىزىملىكتىكى {stack} تاختا {تاختا} غا ئارخىپلاشتۇردىڭىز",
|
||||
"{user} has archived card {card} in list {stack} on board {board}" : "{ئىشلەتكۈچى} تاختا {تاختاي {تىزىملىك} تىزىملىكىدە كارتا {كارتا arch ئارخىپلاشتۇرۇلدى",
|
||||
"You have unarchived card {card} in list {stack} on board {board}" : "تىزىملىك {تاختا} تىزىملىكىدە ساقلانمىغان كارتا {كارتا} بار",
|
||||
"{user} has unarchived card {card} in list {stack} on board {board}" : "{ئىشلەتكۈچى} تاختا {تاختايدا {stack} تىزىملىكتە ساقلانمىغان كارتا {كارتا} بار}",
|
||||
"You have marked the card {card} as done in list {stack} on board {board}" : "سىز كارتا {كارتا} تاختاي {تاختايدىكى تىزىملىك {stack in دا كۆرسىتىلگەندەك بەلگە قويدىڭىز",
|
||||
"{user} has marked card {card} as done in list {stack} on board {board}" : "{ئىشلەتكۈچى board تاختا {تاختايدا {stack list دا كۆرسىتىلگەندەك كارتا {كارتا} دەپ بەلگە قويدى",
|
||||
"You have marked the card {card} as undone in list {stack} on board {board}" : "سىز كارتا {كارتا} تاختا {تاختايدىكى {stack} تىزىملىكىدە ئەمەلدىن قالدۇرۇلغان دەپ بەلگە قويدىڭىز",
|
||||
"{user} has marked the card {card} as undone in list {stack} on board {board}" : "{ئىشلەتكۈچى} كارتا {كارتا {تاختا {تاختايدا {stack} ئەمەلدىن قالدۇرۇلدى.",
|
||||
"You have removed the due date of card {card}" : "كارتا {كارتا قەرەلى توشقان ۋاقىتنى ئۆچۈردىڭىز",
|
||||
"{user} has removed the due date of card {card}" : "{ئىشلەتكۈچى} كارتا {كارتىنىڭ قەرەلى توشتى",
|
||||
"You have set the due date of card {card} to {after}" : "كارتا {كارتا} نىڭ قەرەلى توشقاندىن كېيىن {دىن كېيىن بېكىتىلدى",
|
||||
"{user} has set the due date of card {card} to {after}" : "{ئىشلەتكۈچى} كارتا {كارتا} نىڭ بەلگىلەنگەن ۋاقتىنى} دىن كېيىن قىلىپ بېكىتتى",
|
||||
"You have updated the due date of card {card} to {after}" : "كارتا {كارتا} نىڭ قەرەلى توشقاندىن كېيىن {گە يېڭىلاندىڭىز",
|
||||
"{user} has updated the due date of card {card} to {after}" : "{ئىشلەتكۈچى} كارتا {كارتا} نىڭ قەرەلى توشقاندىن كېيىن {گە يېڭىلاندى",
|
||||
"You have added the tag {label} to card {card} in list {stack} on board {board}" : "سىز {بەلگە} بەلگىسىنى كارتا {كارتا list غا {تاختاي {تاختاي {تاختىسىغا قوشتىڭىز.",
|
||||
"{user} has added the tag {label} to card {card} in list {stack} on board {board}" : "{ئىشلەتكۈچى} تاختا {تاختايدىكى {stack} غا {كارتا} بەلگىسىنى {كارتا} غا قوشتى.",
|
||||
"You have removed the tag {label} from card {card} in list {stack} on board {board}" : "سىز {بەلگە} بەلگىسىنى كارتا {كارتا list دىن {تاختاي {تاختايدىكى {تاختاي} دىن ئۆچۈردىڭىز.",
|
||||
"{user} has removed the tag {label} from card {card} in list {stack} on board {board}" : "{ئىشلەتكۈچى} تاختا {تاختايدىكى {stack} تىزىملىكىدىكى {كارتا} بەلگىسىنى {كارتا} دىن ئۆچۈردى.",
|
||||
"You have assigned {assigneduser} to card {card} on board {board}" : "سىز {boarduser board board board board board board board board board board board board board board board board board board board board board board board board board board board board board board board board board board board board board board board board board board board board board board board board board board board board board board board board board board board board",
|
||||
"{user} has assigned {assigneduser} to card {card} on board {board}" : "{ئىشلەتكۈچى board board board board board board board board board board board board board board board board board board board board board board board board board board board board board board board board board board board board board board board board board board board board board board board",
|
||||
"You have unassigned {assigneduser} from card {card} on board {board}" : "سىز كارتا {كارتا board تاختا {تاختايدىن} تەقسىملەنمىگەن {تەقسىملىگۈچى}",
|
||||
"{user} has unassigned {assigneduser} from card {card} on board {board}" : "{ئىشلەتكۈچى board تاختا {تاختايدىكى كارتا {كارتا from دىن ئىمزا قويمىغان {تەقسىملىگۈچى}",
|
||||
"You have moved the card {card} from list {stackBefore} to {stack}" : "سىز كارتا {كارتا list تىزىملىكتىن {stackBefore} دىن {stack} غا يۆتكىدىڭىز",
|
||||
"{user} has moved the card {card} from list {stackBefore} to {stack}" : "{ئىشلەتكۈچى} كارتا {كارتا list تىزىملىكتىن {stackBefore} دىن {stack} غا يۆتكىدى",
|
||||
"You have added the attachment {attachment} to card {card}" : "سىز كارتا {كارتىغا قوشۇمچە {قوشۇمچە ھۆججەت} نى قوشتىڭىز",
|
||||
"{user} has added the attachment {attachment} to card {card}" : "{ئىشلەتكۈچى} كارتا {كارتىغا قوشۇمچە {قوشۇمچە ھۆججەت} قوشتى",
|
||||
"You have updated the attachment {attachment} on card {card}" : "كارتا {كارتا on قوشۇمچە ھۆججەت {قوشۇمچە ھۆججەتنى يېڭىلىدىڭىز",
|
||||
"{user} has updated the attachment {attachment} on card {card}" : "{ئىشلەتكۈچى} كارتا {كارتىدىكى قوشۇمچە ھۆججەت {قوشۇمچە ھۆججەتنى يېڭىلىدى",
|
||||
"You have deleted the attachment {attachment} from card {card}" : "كارتا {كارتىسىدىن قوشۇمچە ھۆججەت {قوشۇمچە ھۆججەتنى ئۆچۈردىڭىز",
|
||||
"{user} has deleted the attachment {attachment} from card {card}" : "{ئىشلەتكۈچى} كارتا {كارتىدىن قوشۇمچە {قوشۇمچە ھۆججەت} نى ئۆچۈردى",
|
||||
"You have restored the attachment {attachment} to card {card}" : "كارتا {كارتىغا قوشۇمچە {قوشۇمچە ھۆججەت} نى ئەسلىگە كەلتۈردىڭىز",
|
||||
"{user} has restored the attachment {attachment} to card {card}" : "{ئىشلەتكۈچى} كارتا {كارتىغا قوشۇمچە {قوشۇمچە ھۆججەتنى ئەسلىگە كەلتۈردى.",
|
||||
"You have commented on card {card}" : "كارتا {كارتا on غا باھا بەردىڭىز",
|
||||
"{user} has commented on card {card}" : "{user card كارتا {كارتا on غا باھا بەردى",
|
||||
"Deck" : "پالۋان",
|
||||
"Changes in the <strong>Deck app</strong>" : "<strong> پالۋان دېتالى </ strong> دىكى ئۆزگىرىشلەر",
|
||||
"A <strong>board, list or card</strong> was changed" : "<strong> تاختا ، تىزىملىك ياكى كارتا </ strong> ئۆزگەرتىلدى",
|
||||
"A <strong>comment</strong> was created on a card" : "كارتا ئۈستىدە <strong> ئىنكاس </ strong> قۇرۇلدى",
|
||||
"A <strong>card description</strong> has been changed" : "<strong> كارتا چۈشەندۈرۈشى </ strong> ئۆزگەرتىلدى",
|
||||
"Cards due today" : "بۈگۈن كارتا بېجىرىلىدۇ",
|
||||
"Cards due tomorrow" : "ئەتە كارتا",
|
||||
"Upcoming cards" : "كېلىۋاتقان كارتا",
|
||||
"Load more" : "تېخىمۇ كۆپ يۈكلەڭ",
|
||||
"Personal" : "شەخسىي",
|
||||
"The card \"%s\" on \"%s\" has been assigned to you by %s." : "«% S» دىكى «% s» كارتىسى سىزگە% s تەرىپىدىن تەقسىم قىلىنغان.",
|
||||
"{user} has assigned the card {deck-card} on {deck-board} to you." : "{ئىشلەتكۈچى} سىزگە {پالۋان تاختىسىدىكى} كارتا {پالەك كارتىسى} نى تەقسىم قىلدى.",
|
||||
"The card \"%s\" on \"%s\" has reached its due date." : "«% S» دىكى «% s» كارتىسى قەرەلى توشقان.",
|
||||
"The card {deck-card} on {deck-board} has reached its due date." : "{پالۋان تاختىسى on دىكى كارتا {پالۋان كارتىسى قەرەلى توشقان.",
|
||||
"%s has mentioned you in a comment on \"%s\"." : "% s سىزنى «% s» دىكى باھادا تىلغا ئالدى.",
|
||||
"{user} has mentioned you in a comment on {deck-card}." : "{ئىشلەتكۈچى} {پالۋان كارتىسى on دىكى باھادا سىزنى تىلغا ئالدى.",
|
||||
"The board \"%s\" has been shared with you by %s." : "«% S» تاختىسىنى سىز بىلەن% s ئورتاقلاشتى.",
|
||||
"{user} has shared {deck-board} with you." : "{ئىشلەتكۈچى} سىز بىلەن {پالۋان تاختىسىنى ئورتاقلاشتى.",
|
||||
"Deck board" : "پالۋان تاختىسى",
|
||||
"Owned by %1$s" : "% 1 $ s",
|
||||
"Deck boards, cards and comments" : "پالۋان تاختىسى ، كارتا ۋە باھا",
|
||||
"From %1$s, in %2$s/%3$s, owned by %4$s" : "% 1 $ s دىن ،% 2 $ s /% 3 $ s ،% 4 $ s",
|
||||
"Create a new deck card" : "يېڭى پالۋان كارتىسى قۇرۇڭ",
|
||||
"Card comments" : "كارتا باھا",
|
||||
"%s on %s" : "% s on% s",
|
||||
"Deck boards and cards" : "پەلەمپەي ۋە كارتا",
|
||||
"No data was provided to create an attachment." : "قوشۇمچە ھۆججەت قۇرۇش ئۈچۈن ھېچقانداق سانلىق مەلۇمات تەمىنلەنمىدى.",
|
||||
"Finished" : "تاماملاندى",
|
||||
"To review" : "قايتا قاراپ چىقىش",
|
||||
"Action needed" : "ھەرىكەت لازىم",
|
||||
"Later" : "كېيىنچە",
|
||||
"copy" : "كۆپەيتىلگەن",
|
||||
"To do" : "قىلىش",
|
||||
"Doing" : "قىلىش",
|
||||
"Done" : "Done",
|
||||
"Example Task 3" : "مىسال 3",
|
||||
"Example Task 2" : "مىسال 2",
|
||||
"Example Task 1" : "مىسال 1",
|
||||
"The file was uploaded" : "ھۆججەت يۈكلەندى",
|
||||
"The uploaded file exceeds the upload_max_filesize directive in php.ini" : "يۈكلەنگەن ھۆججەت php.ini دىكى upload_max_filesize كۆرسەتمىسىدىن ئېشىپ كەتتى",
|
||||
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "يۈكلەنگەن ھۆججەت HTML شەكلىدە كۆرسىتىلگەن MAX_FILE_SIZE كۆرسەتمىسىدىن ئېشىپ كەتتى",
|
||||
"The file was only partially uploaded" : "بۇ ھۆججەت پەقەت قىسمەن يوللانغان",
|
||||
"No file was uploaded" : "ھېچقانداق ھۆججەت يۈكلەنمىدى",
|
||||
"Missing a temporary folder" : "ۋاقىتلىق قىسقۇچ كەم.",
|
||||
"Could not write file to disk" : "دىسكىغا ھۆججەت يازالمىدى",
|
||||
"A PHP extension stopped the file upload" : "PHP كېڭەيتىلمىسى ھۆججەت يوللاشنى توختاتتى",
|
||||
"No file uploaded or file size exceeds maximum of %s" : "يۈكلەنگەن ياكى ھۆججەتنىڭ چوڭلۇقى ئەڭ كۆپ بولغاندا% s دىن ئېشىپ كەتمەيدۇ",
|
||||
"This comment has more than %s characters.\nAdded as an attachment to the card with name %s.\nAccessible on URL: %s." : "بۇ باھانىڭ% s دىن كۆپ ھەرپلىرى بار.\n% S ئىسمى بار كارتىغا قوشۇمچە قىلىپ قوشۇلدى.\nURL دا زىيارەت قىلغىلى بولىدۇ:% s.",
|
||||
"Card not found" : "كارتا تېپىلمىدى",
|
||||
"Path is already shared with this card" : "يول بۇ كارتا بىلەن ئورتاقلاشتى",
|
||||
"Invalid date, date format must be YYYY-MM-DD" : "ئىناۋەتسىز چېسلا ، چېسلا فورماتى چوقۇم YYYY-MM-DD بولۇشى كېرەك",
|
||||
"Personal planning and team project organization" : "شەخسىي پىلان ۋە گۇرۇپپا تۈر تەشكىللەش",
|
||||
"Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.\n\n\n- 📥 Add your tasks to cards and put them in order\n- 📄 Write down additional notes in Markdown\n- 🔖 Assign labels for even better organization\n- 👥 Share with your team, friends or family\n- 📎 Attach files and embed them in your Markdown description\n- 💬 Discuss with your team using comments\n- ⚡ Keep track of changes in the activity stream\n- 🚀 Get your project organized" : "پالۋان Nextcloud بىلەن بىرلەشتۈرۈلگەن گۇرۇپپىلار ئۈچۈن شەخسىي پىلانلاش ۋە تۈر تەشكىللەشنى مەقسەت قىلغان كانبان ئۇسلۇبىدىكى تەشكىللەش قورالى.\n\n\n- tasks ۋەزىپىڭىزنى كارتىغا قوشۇڭ ۋە تەرتىپكە سېلىڭ\n- Mark Markdown غا قوشۇمچە خاتىرىلەرنى يېزىڭ\n- better تېخىمۇ ياخشى تەشكىللەش ئۈچۈن بەلگە بەلگىلەڭ\n- team گۇرۇپپىڭىز ، دوستلىرىڭىز ياكى ئائىلىڭىزدىكىلەر بىلەن ئورتاقلىشىڭ\n- files ھۆججەتلەرنى باغلاپ Markdown چۈشەندۈرۈشىڭىزگە قىستۇرۇڭ\n- comments باھا ئارقىلىق گۇرۇپپىڭىزدىكىلەر بىلەن مۇنازىرە قىلىڭ\n- activity پائالىيەت ئېقىمىدىكى ئۆزگىرىشلەرنى خاتىرىلەڭ\n- project تۈرىڭىزنى تەشكىللەڭ",
|
||||
"Card details" : "كارتا تەپسىلاتلىرى",
|
||||
"Add board" : "تاختا قوشۇڭ",
|
||||
"Select the board to link to a project" : "بىر تۈرگە ئۇلىنىش ئۈچۈن تاختىنى تاللاڭ",
|
||||
"Search by board title" : "تاختاينىڭ ئىسمى بىلەن ئىزدەڭ",
|
||||
"Select board" : "تاختاينى تاللاڭ",
|
||||
"Move card to another board" : "كارتىنى باشقا تاختىغا يۆتكەڭ",
|
||||
"Select a board" : "تاختاينى تاللاڭ",
|
||||
"No lists available" : "تىزىملىك يوق",
|
||||
"Select a list" : "تىزىملىكنى تاللاڭ",
|
||||
"Move card" : "كارتا يۆتكەش",
|
||||
"Cancel" : "ۋاز كەچ",
|
||||
"Select a card" : "كارتا تاللاڭ",
|
||||
"Select the card to link to a project" : "بىر تۈرگە ئۇلىنىش ئۈچۈن كارتىنى تاللاڭ",
|
||||
"Link to card" : "كارتىغا ئۇلىنىش",
|
||||
"File already exists" : "ھۆججەت مەۋجۇت",
|
||||
"A file with the name {filename} already exists." : "{ھۆججەت ئىسمى name دېگەن ھۆججەت بار.",
|
||||
"Do you want to overwrite it?" : "ئۇنى قاپلىماقچىمۇ؟",
|
||||
"Overwrite file" : "ھۆججەتنى قاپلىۋېتىڭ",
|
||||
"Keep existing file" : "مەۋجۇت ھۆججەتنى ساقلاڭ",
|
||||
"This board is read only" : "بۇ تاختاي پەقەت ئوقۇلىدۇ",
|
||||
"Drop your files to upload" : "يۈكلەش ئۈچۈن ھۆججەتلىرىڭىزنى تاشلاڭ",
|
||||
"Add card" : "كارتا قوشۇڭ",
|
||||
"Archived cards" : "ئارخىپ كارتىلىرى",
|
||||
"Add list" : "تىزىملىك قوشۇڭ",
|
||||
"List name" : "تىزىملىك ئىسمى",
|
||||
"Active filters" : "ئاكتىپ سۈزگۈچ",
|
||||
"Apply filter" : "سۈزگۈچ ئىشلىتىڭ",
|
||||
"Filter by tag" : "بەلگە بويىچە سۈزۈڭ",
|
||||
"Filter by assigned user" : "تەقسىم قىلىنغان ئىشلەتكۈچى تەرىپىدىن سۈزۈڭ",
|
||||
"Unassigned" : "ئىمزاسىز",
|
||||
"Filter by status" : "ھالەت بويىچە سۈزۈڭ",
|
||||
"Open and completed" : "ئېچىش ۋە تاماملاش",
|
||||
"Open" : "ئېچىڭ",
|
||||
"Completed" : "تاماملاندى",
|
||||
"Filter by due date" : "ۋاقتى بويىچە سۈزۈڭ",
|
||||
"Overdue" : "ۋاقتى ئۆتۈپ كەتتى",
|
||||
"Next 24 hours" : "كېيىنكى 24 سائەت",
|
||||
"Next 7 days" : "كەلگۈسى 7 كۈن",
|
||||
"Next 30 days" : "كەلگۈسى 30 كۈن",
|
||||
"No due date" : "ۋاقتى توشمىغان",
|
||||
"Clear filter" : "سۈزگۈچنى تازىلاش",
|
||||
"View Modes" : "مودېللارنى كۆرۈش",
|
||||
"Toggle View Modes" : "كۆرۈش ھالىتىنى ئۆزگەرتىش",
|
||||
"Hide archived cards" : "ئارخىپ كارتىلىرىنى يوشۇرۇش",
|
||||
"Show archived cards" : "ئارخىپ كارتىلىرىنى كۆرسەت",
|
||||
"Toggle compact mode" : "ئىخچام ھالەتنى ئالماشتۇرۇڭ",
|
||||
"Hide card cover images" : "كارتا قاپلاش رەسىملىرىنى يوشۇرۇش",
|
||||
"Show card cover images" : "كارتا قاپلاش رەسىملىرىنى كۆرسىتىش",
|
||||
"Open details" : "تەپسىلاتلارنى ئېچىڭ",
|
||||
"Details" : "تەپسىلاتى",
|
||||
"Currently present people" : "ھازىر كىشىلەر",
|
||||
"Loading board" : "يۈك تاختىسى",
|
||||
"Board not found" : "مۇدىرىيەت تېپىلمىدى",
|
||||
"Create a new list to add cards to this board" : "بۇ تاختىغا كارتا قوشۇش ئۈچۈن يېڭى تىزىملىك قۇرۇڭ",
|
||||
"Sharing" : "ھەمبەھىر",
|
||||
"Tags" : "بەلگەلەر",
|
||||
"Deleted items" : "ئۆچۈرۈلگەن تۈرلەر",
|
||||
"Activity" : "پائالىيەت",
|
||||
"Deleted lists" : "ئۆچۈرۈلگەن تىزىملىك",
|
||||
"Undo" : "ئەمەلدىن قالدۇرۇش",
|
||||
"Deleted cards" : "ئۆچۈرۈلگەن كارتا",
|
||||
"Share board with a user, group or team …" : "ئىشلەتكۈچى ، گۇرۇپپا ياكى گۇرۇپپا بىلەن ئورتاقلىشىش تاختىسى…",
|
||||
"Searching for users, groups and teams …" : "ئىشلەتكۈچى ، گۇرۇپپا ۋە گۇرۇپپىلارنى ئىزدەش…",
|
||||
"No participants found" : "قاتناشقۇچىلار تېپىلمىدى",
|
||||
"Board owner" : "مۇدىرىيەت ئىگىسى",
|
||||
"(Group)" : "(گۇرۇپپا)",
|
||||
"(Team)" : "(كوماندا)",
|
||||
"Can edit" : "Can edit",
|
||||
"Can share" : "Can share",
|
||||
"Can manage" : "باشقۇرالايدۇ",
|
||||
"Owner" : "Owner",
|
||||
"Delete" : "ئۆچۈر",
|
||||
"Failed to create share with {displayName}" : "{DisplayName with بىلەن ئورتاقلىشىش مەغلۇب بولدى",
|
||||
"Are you sure you want to transfer the board {title} to {user}?" : "تاختا {ماۋزۇ} نى {ئىشلەتكۈچى} غا يۆتكىمەكچىمۇ؟",
|
||||
"Transfer the board." : "تاختىنى يۆتكەڭ.",
|
||||
"Transfer" : "يۆتكەش",
|
||||
"The board has been transferred to {user}" : "بۇ تاختا {ئىشلەتكۈچى} غا يۆتكەلدى",
|
||||
"Failed to transfer the board to {user}" : "تاختاينى {ئىشلەتكۈچى} گە يۆتكەش مەغلۇب بولدى",
|
||||
"Edit list title" : "تىزىملىك نامىنى تەھرىرلەش",
|
||||
"Archive all cards" : "بارلىق كارتىلارنى ئارخىپلاشتۇرۇڭ",
|
||||
"Unarchive all cards" : "بارلىق كارتىلارنى تەرتىپسىز",
|
||||
"Delete list" : "تىزىملىكنى ئۆچۈرۈڭ",
|
||||
"Archive all cards in this list" : "بۇ تىزىملىكتىكى بارلىق كارتىلارنى ئارخىپلاشتۇرۇڭ",
|
||||
"Unarchive all cards in this list" : "بۇ تىزىملىكتىكى بارلىق كارتىلارنى تەرتىپسىز",
|
||||
"Add a new card" : "يېڭى كارتا قوشۇڭ",
|
||||
"Card name" : "كارتا ئىسمى",
|
||||
"List deleted" : "تىزىملىك ئۆچۈرۈلدى",
|
||||
"Edit" : "تەھرىر",
|
||||
"Add a new tag" : "يېڭى بەلگە قوشۇڭ",
|
||||
"title and color value must be provided" : "ماۋزۇ ۋە رەڭ قىممىتى تەمىنلىنىشى كېرەك",
|
||||
"Board name" : "مۇدىرىيەت ئىسمى",
|
||||
"Members" : "ئەزالار",
|
||||
"Assign to users/groups/team" : "ئىشلەتكۈچى / گۇرۇپپا / گۇرۇپپىغا تەقسىم قىلىڭ",
|
||||
"Assign a user to this card…" : "بۇ كارتىغا ئىشلەتكۈچى تەقسىم قىلىڭ…",
|
||||
"Select a user to assign to this card…" : "بۇ كارتىغا تەقسىملەيدىغان ئىشلەتكۈچىنى تاللاڭ…",
|
||||
"Upload new files" : "يېڭى ھۆججەتلەرنى يۈكلەڭ",
|
||||
"Share from Files" : "ھۆججەتلەردىن ئورتاقلىشىش",
|
||||
"Pending share" : "ساقلىنىۋاتقان ئۈلۈش",
|
||||
"Add this attachment" : "بۇ قوشۇمچە ھۆججەتنى قوشۇڭ",
|
||||
"Show in Files" : "ھۆججەتلەردە كۆرسىتىڭ",
|
||||
"Download" : "چۈشۈر",
|
||||
"Remove attachment" : "قوشۇمچە ھۆججەتنى ئۆچۈرۈڭ",
|
||||
"Delete Attachment" : "قوشۇمچە ھۆججەتنى ئۆچۈرۈڭ",
|
||||
"Restore Attachment" : "قوشۇمچە ھۆججەتنى ئەسلىگە كەلتۈرۈش",
|
||||
"File to share" : "ھەمبەھىرلىنىدىغان ھۆججەت",
|
||||
"Invalid path selected" : "ئىناۋەتسىز يول تاللانغان",
|
||||
"Open in sidebar view" : "يان كۆزنەكتە ئېچىڭ",
|
||||
"Open in bigger view" : "چوڭراق كۆرۈنۈشتە ئېچىڭ",
|
||||
"Attachments" : "قوشۇمچە ھۆججەتلەر",
|
||||
"Comments" : "باھا",
|
||||
"Modified" : "ئۆزگەرتكەن",
|
||||
"Created" : "قۇرۇلدى",
|
||||
"The title cannot be empty." : "ماۋزۇ قۇرۇق بولالمايدۇ.",
|
||||
"No comments yet. Begin the discussion!" : "ھازىرچە ھېچقانداق باھا يوق. مۇنازىرىنى باشلاڭ!",
|
||||
"Failed to load comments" : "ئىنكاسلارنى يۈكلىيەلمىدى",
|
||||
"Save" : "ساقلا",
|
||||
"The comment cannot be empty." : "باھا قۇرۇق بولالمايدۇ.",
|
||||
"The comment cannot be longer than 1000 characters." : "بۇ باھا 1000 ھەرپتىن ئېشىپ كەتسە بولمايدۇ.",
|
||||
"In reply to" : "دەپ جاۋاب بەردى",
|
||||
"Cancel reply" : "جاۋابنى ئەمەلدىن قالدۇرۇڭ",
|
||||
"Reply" : "جاۋاب قايتۇر",
|
||||
"Update" : "يېڭىلا",
|
||||
"Created:" : "قۇرۇلغان ۋاقتى:",
|
||||
"Description" : "چۈشەندۈرۈش",
|
||||
"(Unsaved)" : "(ساقلانمىدى)",
|
||||
"(Saving…)" : "(Saving…)",
|
||||
"Formatting help" : "ياردەمنى فورماتلاش",
|
||||
"Edit description" : "چۈشەندۈرۈشنى تەھرىرلەڭ",
|
||||
"View description" : "چۈشەندۈرۈشنى كۆرۈڭ",
|
||||
"Add Attachment" : "قوشۇمچە ھۆججەت قوشۇڭ",
|
||||
"Write a description …" : "چۈشەندۈرۈش يېزىڭ…",
|
||||
"Choose attachment" : "قوشۇمچە ھۆججەتنى تاللاڭ",
|
||||
"Assign a due date to this card…" : "بۇ كارتىغا مۇۋاپىق ۋاقىت بەلگىلەڭ…",
|
||||
"Set a due date" : "بەلگىلەنگەن ۋاقىتنى بەلگىلەڭ",
|
||||
"Add due date" : "مۇۋاپىق ۋاقىت قوشۇڭ",
|
||||
"Choose a date" : "چېسلانى تاللاڭ",
|
||||
"Remove due date" : "قەرەلى توشۇش",
|
||||
"Mark as done" : "تاماملانغاندەك بەلگە",
|
||||
"Due at:" : "ۋاقتى:",
|
||||
"Not done" : "تاماملانمىدى",
|
||||
"Unarchive card" : "Unarchive card",
|
||||
"Archive card" : "ئارخىپ كارتىسى",
|
||||
"Select Date" : "چېسلانى تاللاڭ",
|
||||
"Set due date for later today" : "بۈگۈنگە قەدەر بەلگىلەنگەن ۋاقىتنى بەلگىلەڭ",
|
||||
"Set due date for tomorrow" : "ئەتە بەلگىلەنگەن ۋاقىتنى بەلگىلەڭ",
|
||||
"Set due date for this weekend" : "بۇ ھەپتە ئاخىرىدىكى ۋاقىتنى بەلگىلەڭ",
|
||||
"Set due date for next week" : "كېلەر ھەپتە قەرەلى توشۇڭ",
|
||||
"Assign a tag to this card…" : "بۇ كارتىغا بەلگە بەلگىلەڭ…",
|
||||
"Select or create a tag…" : "بەلگە تاللاڭ ياكى قۇر…",
|
||||
"Create a new tag:" : "يېڭى خەتكۈچ قۇر:",
|
||||
"(group)" : "(گۇرۇپپا)",
|
||||
"Next week – {timeLocale}" : "كېلەر ھەپتە - {timeLocale}",
|
||||
"Todo items" : "تودو تۈرلىرى",
|
||||
"{count} comments, {unread} unread" : "{سان} باھا ، {ئوقۇمىغان} ئوقۇمىغان",
|
||||
"Edit card title" : "كارتا نامىنى تەھرىرلەش",
|
||||
"Assign to me" : "ماڭا تاپشۇرۇڭ",
|
||||
"Unassign myself" : "ئۆزۈمنى بەلگىلىمەڭ",
|
||||
"Mark as not done" : "ئىشلەنمىگەن دەپ بەلگە قويۇڭ",
|
||||
"Delete card" : "كارتىنى ئۆچۈرۈڭ",
|
||||
"Card deleted" : "كارتا ئۆچۈرۈلدى",
|
||||
"seconds ago" : "سېكۇنت بۇرۇن",
|
||||
"Keyboard shortcuts" : "كۇنۇپكا تاختىسى تېزلەتمىسى",
|
||||
"Boost your productivity using Deck with keyboard shortcuts." : "كۇنۇپكا تاختىسى تېزلەتمىسى ئارقىلىق پالۋاننى ئىشلىتىپ ئۈنۈمدارلىقىڭىزنى ئۆستۈرۈڭ.",
|
||||
"Board actions" : "مۇدىرىيەت ھەرىكىتى",
|
||||
"Keyboard shortcut" : "كۇنۇپكا تاختىسى تېزلەتمىسى",
|
||||
"Action" : "ھەرىكەت",
|
||||
"Shift" : "Shift",
|
||||
"Scroll" : "سىيرىل",
|
||||
"Scroll sideways" : "يان تەرەپكە ئۆرۈڭ",
|
||||
"Navigate between cards" : "كارتا ئارىسىدا مېڭىڭ",
|
||||
"Esc" : "Esc",
|
||||
"Close card details" : "كارتا تەپسىلاتلىرىنى تاقاش",
|
||||
"Ctrl" : "Ctrl",
|
||||
"Search" : "Search",
|
||||
"Show card filters" : "كارتا سۈزگۈچنى كۆرسىتىش",
|
||||
"Clear card filters" : "كارتا سۈزگۈچنى تازىلاش",
|
||||
"Show help dialog" : "ياردەم سۆزلىشىش رامكىسىنى كۆرسەت",
|
||||
"Card actions" : "كارتا ھەرىكىتى",
|
||||
"The following actions can be triggered on the currently highlighted card" : "تۆۋەندىكى ھەرىكەتلەرنى نۆۋەتتىكى يورۇتۇلغان كارتا قوزغىتىشقا بولىدۇ",
|
||||
"Enter" : "Enter",
|
||||
"Space" : "بوشلۇق",
|
||||
"Open card details" : "كارتا تەپسىلاتلىرىنى ئېچىڭ",
|
||||
"Edit the card title" : "كارتا نامىنى تەھرىرلەڭ",
|
||||
"Assign yourself to the current card" : "ھازىرقى كارتىغا ئۆزىڭىزنى تەقسىم قىلىڭ",
|
||||
"Archive/unarchive the current card" : "ھازىرقى كارتىنى ئارخىپلاشتۇرۇڭ",
|
||||
"Mark card as completed/not completed" : "كارتا تاماملانغان / تاماملانمىغان دەپ بەلگە قويۇڭ",
|
||||
"Open card menu" : "كارتا تىزىملىكىنى ئېچىڭ",
|
||||
"All boards" : "بارلىق تاختايلار",
|
||||
"Archived boards" : "ئارخىپ تاختىسى",
|
||||
"Shared with you" : "Shared with you",
|
||||
"Deck settings" : "بېزەك تەڭشەكلىرى",
|
||||
"Use bigger card view" : "چوڭراق كارتا كۆرۈنۈشىنى ئىشلىتىڭ",
|
||||
"Show card ID badge" : "كارتا كىملىكى بەلگىسىنى كۆرسەت",
|
||||
"Show boards in calendar/tasks" : "كالېندار / ۋەزىپىلەردە تاختاينى كۆرسەت",
|
||||
"Limit board creation to some groups" : "تاختاي قۇرۇشنى بەزى گۇرۇپپىلارغا چەكلەڭ",
|
||||
"Users outside of those groups will not be able to create their own boards, but will still be able to work on boards that have been shared with them." : "بۇ گۇرۇپپىلارنىڭ سىرتىدىكى ئىشلەتكۈچىلەر ئۆزلىرىنىڭ تاختىسىنى قۇرالمايدۇ ، ئەمما ئۇلار بىلەن ئورتاقلاشقان تاختايلاردا ئىشلىيەلەيدۇ.",
|
||||
"Cancel edit" : "تەھرىرلەشنى ئەمەلدىن قالدۇرۇڭ",
|
||||
"Save board" : "تاختاينى ساقلاڭ",
|
||||
"Board details" : "مۇدىرىيەت تەپسىلاتلىرى",
|
||||
"Edit board" : "تاختاينى تەھرىرلەش",
|
||||
"Clone board" : "كلون تاختىسى",
|
||||
"Unarchive board" : "Unarchive board",
|
||||
"Archive board" : "ئارخىپ تاختىسى",
|
||||
"Export board" : "ئېكسپورت تاختىسى",
|
||||
"Turn on due date reminders" : "قەرەلىدىكى ئەسكەرتىشلەرنى ئېچىڭ",
|
||||
"Turn off due date reminders" : "قەرەلىدىكى ئەسكەرتىشلەرنى ئېتىۋېتىڭ",
|
||||
"Due date reminders" : "قەرەلىدىكى ئەسكەرتىش",
|
||||
"All cards" : "بارلىق كارتىلار",
|
||||
"Assigned cards" : "تەقسىم قىلىنغان كارتا",
|
||||
"No notifications" : "ئۇقتۇرۇش يوق",
|
||||
"Delete board" : "تاختاينى ئۆچۈرۈڭ",
|
||||
"Board {0} deleted" : "Board {0} ئۆچۈرۈلدى",
|
||||
"Only assigned cards" : "پەقەت تەقسىم قىلىنغان كارتا",
|
||||
"No reminder" : "ئەسكەرتىش يوق",
|
||||
"An error occurred" : "خاتالىق كۆرۈلدى",
|
||||
"Are you sure you want to delete the board {title}? This will delete all the data of this board including archived cards." : "تاختا {ماۋزۇ} نى ئۆچۈرمەكچىمۇ؟ بۇ ئارخىپ كارتىسىنى ئۆز ئىچىگە ئالغان بۇ تاختىنىڭ بارلىق سانلىق مەلۇماتلىرىنى ئۆچۈرۈۋېتىدۇ.",
|
||||
"Delete the board?" : "تاختىنى ئۆچۈرەمسىز؟",
|
||||
"Loading filtered view" : "سۈزۈلگەن كۆرۈنۈشنى يۈكلەۋاتىدۇ",
|
||||
"Today" : "بۈگۈن",
|
||||
"Tomorrow" : "ئەتە",
|
||||
"No due" : "مۇۋاپىق ئەمەس",
|
||||
"Search for {searchQuery} in all boards" : "بارلىق تاختايلاردا {searchQuery} نى ئىزدەڭ",
|
||||
"No results found" : "ھېچقانداق نەتىجە تېپىلمىدى",
|
||||
"Deck board {name}\n* Last modified on {lastMod}" : "پالۋان تاختىسى {name}\n* ئاخىرقى قېتىم {lastMod on دا ئۆزگەرتىلدى",
|
||||
"{stack} in {board}" : "{board} in {board}",
|
||||
"Click to expand description" : "چۈشەندۈرۈشنى كېڭەيتىش ئۈچۈن چېكىڭ",
|
||||
"* Created on {created}\n* Last modified on {lastMod}\n* {nbAttachments} attachments\n* {nbComments} comments" : "* ئىجاد قىلىنغان {قۇرۇلدى}\n* ئاخىرقى قېتىم {lastMod on دا ئۆزگەرتىلدى\n* {nbAttachments} قوشۇمچە ھۆججەتلەر\n* {nbComments} باھا",
|
||||
"{nbCards} cards" : "{nbCards} كارتا",
|
||||
"Click to expand comment" : "ئىنكاسنى كېڭەيتىش ئۈچۈن چېكىڭ",
|
||||
"Create a new card" : "يېڭى كارتا قۇرۇڭ",
|
||||
"Card title" : "كارتا ئىسمى",
|
||||
"Create card" : "كارتا قۇرۇش",
|
||||
"Creating the new card …" : "يېڭى كارتا قۇرۇش…",
|
||||
"Card \"{card}\" was added to \"{board}\"" : "كارتا \"{كارتا}\" \"{board}\" غا قوشۇلدى",
|
||||
"Open card" : "ئوچۇق كارتا",
|
||||
"Close" : "ياپ",
|
||||
"No upcoming cards" : "كەلگۈسىدىكى كارتا يوق",
|
||||
"upcoming cards today" : "بۈگۈن كېلىدىغان كارتىلار",
|
||||
"upcoming cards tomorrow" : "ئەتە كارتىلار",
|
||||
"upcoming cards" : "كەلگۈسىدىكى كارتىلار",
|
||||
"New card" : "يېڭى كارتا",
|
||||
"Due on {date}" : "ۋاقتى {ۋاقتى}",
|
||||
"This weekend – {timeLocale}" : "بۇ ھەپتە ئاخىرى - {timeLocale}",
|
||||
"Tomorrow – {timeLocale}" : "ئەتە - {timeLocale}",
|
||||
"Later today – {timeLocale}" : "كېيىن بۈگۈن - {timeLocale}",
|
||||
"Link to a board" : "تاختايغا ئۇلىنىش",
|
||||
"Link to a card" : "كارتىغا ئۇلىنىش",
|
||||
"Create a card" : "كارتا ياساڭ",
|
||||
"Message from {author} in {conversationName}" : "{سۆھبەت ئىسمى {دىكى {ئاپتور} نىڭ ئۇچۇرى",
|
||||
"Something went wrong" : "چاتاق چىقتى",
|
||||
"Failed to upload {name}" : "{Name} نى يۈكلىيەلمىدى",
|
||||
"Maximum file size of {size} exceeded" : "ھۆججەتنىڭ ئەڭ چوڭ چوڭلۇقى {size} دىن ئېشىپ كەتتى",
|
||||
"Error creating the share" : "ھەمبەھىرلەشتە خاتالىق",
|
||||
"Share with a Deck card" : "پالۋان كارتىسى بىلەن ئورتاقلىشىڭ",
|
||||
"Share {file} with a Deck card" : "{ھۆججەت} نى پالۋان كارتىسى بىلەن ھەمبەھىرلەڭ",
|
||||
"Share" : "ھەمبەھىر",
|
||||
"Searching for users, groups and circles …" : "ئىشلەتكۈچى ، گۇرۇپپا ۋە چەمبىرەكلەرنى ئىزدەش…",
|
||||
"(Circle)" : "(Circle)",
|
||||
"Assign to users/groups/circles" : "ئىشلەتكۈچى / گۇرۇپپا / چەمبىرەككە تەقسىم قىلىڭ",
|
||||
"Filter by completed" : "تاماملانغان سۈزگۈچ"
|
||||
"Share" : "ھەمبەھىر"
|
||||
},
|
||||
"nplurals=2; plural=(n != 1);");
|
||||
|
||||
357
l10n/ug.json
357
l10n/ug.json
@@ -1,382 +1,27 @@
|
||||
{ "translations": {
|
||||
"You have created a new board {board}" : "سىز يېڭى تاختا {تاختا} قۇردىڭىز",
|
||||
"{user} has created a new board {board}" : "{user} يېڭى تاختا {تاختا} قۇردى",
|
||||
"You have deleted the board {board}" : "تاختاي {تاختىسىنى ئۆچۈردىڭىز",
|
||||
"{user} has deleted the board {board}" : "{ئىشلەتكۈچى} تاختاي {تاختىسىنى ئۆچۈردى",
|
||||
"You have restored the board {board}" : "تاختاي {تاختىسىنى ئەسلىگە كەلتۈردىڭىز",
|
||||
"{user} has restored the board {board}" : "{ئىشلەتكۈچى} تاختاي {تاختىسىنى ئەسلىگە كەلتۈردى",
|
||||
"You have shared the board {board} with {acl}" : "تاختاي {تاختىسىنى {acl} بىلەن ئورتاقلاشتىڭىز",
|
||||
"{user} has shared the board {board} with {acl}" : "{ئىشلەتكۈچى} تاختاي {تاختىسىنى {acl} بىلەن ئورتاقلاشتى",
|
||||
"You have removed {acl} from the board {board}" : "تاختايدىن {acl} نى چىقىرىۋەتتىڭىز.",
|
||||
"{user} has removed {acl} from the board {board}" : "{user} تاختىدىن {acl} نى چىقىرىۋەتتى",
|
||||
"You have renamed the board {before} to {board}" : "سىز تاختاينىڭ نامىنى {بۇرۇن} تاختايغا ئۆزگەرتتىڭىز.",
|
||||
"{user} has renamed the board {before} to {board}" : "{user} تاختاينىڭ نامىنى {بۇرۇن} تاختايغا ئۆزگەرتتى",
|
||||
"You have archived the board {board}" : "تاختاي {تاختىسىنى ئارخىپلاشتۇردىڭىز",
|
||||
"{user} has archived the board {before}" : "{ئىشلەتكۈچى} تاختاينى ئارخىپلاشتۇردى}",
|
||||
"You have unarchived the board {board}" : "سىز تاختاي {تاختىسىنى رەتسىز",
|
||||
"{user} has unarchived the board {before}" : "{user} ئىلگىرى تاختاينى رەتلىمىگەن}",
|
||||
"You have created a new list {stack} on board {board}" : "سىز تاختا {تاختايدا يېڭى تىزىملىك {stack} قۇردىڭىز",
|
||||
"{user} has created a new list {stack} on board {board}" : "{user board تاختا {تاختايدا يېڭى تىزىملىك {stack} قۇردى",
|
||||
"You have renamed list {before} to {stack} on board {board}" : "سىز تىزىملىكنىڭ نامىنى {بۇرۇن} دىن {تاختايغا {تاختايغا ئۆزگەرتىڭ.",
|
||||
"{user} has renamed list {before} to {stack} on board {board}" : "{ئىشلەتكۈچى} تىزىملىكنىڭ نامىنى {بۇرۇن} تاختايدىكى {stack} غا ئۆزگەرتتى.",
|
||||
"You have deleted list {stack} on board {board}" : "سىز {تاختايدىكى تىزىملىك {stack} نى ئۆچۈردىڭىز",
|
||||
"{user} has deleted list {stack} on board {board}" : "{user board تاختا {تاختايدىكى تىزىملىك {stack} نى ئۆچۈردى",
|
||||
"You have created card {card} in list {stack} on board {board}" : "سىز تىزىملىك {تاختايدا {stack list كارتا {كارتا} قۇردىڭىز",
|
||||
"{user} has created card {card} in list {stack} on board {board}" : "{ئىشلەتكۈچى board تاختا {تاختايدا {stack list كارتا {كارتا} قۇردى",
|
||||
"You have deleted card {card} in list {stack} on board {board}" : "كارتا {كارتا list تىزىملىكتىكى {stack board تاختا {تاختا} نى ئۆچۈردىڭىز",
|
||||
"{user} has deleted card {card} in list {stack} on board {board}" : "{ئىشلەتكۈچى board تاختايدىكى {stack list كارتا {كارتا} نى ئۆچۈردى",
|
||||
"You have renamed the card {before} to {card}" : "سىز بۇ كارتىنىڭ نامىنى {دىن بۇرۇن {كارتىغا ئۆزگەرتتىڭىز.",
|
||||
"{user} has renamed the card {before} to {card}" : "{ئىشلەتكۈچى} كارتىنىڭ نامىنى {دىن {كارتىغا ئۆزگەرتتى}",
|
||||
"You have added a description to card {card} in list {stack} on board {board}" : "سىز كارتا {كارتا list تاختا {تاختايدىكى {stack} غا چۈشەندۈرۈش قوشتىڭىز.",
|
||||
"{user} has added a description to card {card} in list {stack} on board {board}" : "{ئىشلەتكۈچى board تاختا {تاختايدىكى {stack list كارتا {كارتا} غا بىر چۈشەندۈرۈش قوشتى",
|
||||
"You have updated the description of card {card} in list {stack} on board {board}" : "تاختاي {تاختايدىكى {stack list كارتا {كارتا} نىڭ چۈشەندۈرۈشىنى يېڭىلىدىڭىز",
|
||||
"{user} has updated the description of the card {card} in list {stack} on board {board}" : "{ئىشلەتكۈچى} تاختا {تاختايدىكى {stack} كارتا {كارتا} نىڭ چۈشەندۈرۈشىنى يېڭىلىدى",
|
||||
"You have archived card {card} in list {stack} on board {board}" : "سىز كارتا {كارتا list تىزىملىكتىكى {stack} تاختا {تاختا} غا ئارخىپلاشتۇردىڭىز",
|
||||
"{user} has archived card {card} in list {stack} on board {board}" : "{ئىشلەتكۈچى} تاختا {تاختاي {تىزىملىك} تىزىملىكىدە كارتا {كارتا arch ئارخىپلاشتۇرۇلدى",
|
||||
"You have unarchived card {card} in list {stack} on board {board}" : "تىزىملىك {تاختا} تىزىملىكىدە ساقلانمىغان كارتا {كارتا} بار",
|
||||
"{user} has unarchived card {card} in list {stack} on board {board}" : "{ئىشلەتكۈچى} تاختا {تاختايدا {stack} تىزىملىكتە ساقلانمىغان كارتا {كارتا} بار}",
|
||||
"You have marked the card {card} as done in list {stack} on board {board}" : "سىز كارتا {كارتا} تاختاي {تاختايدىكى تىزىملىك {stack in دا كۆرسىتىلگەندەك بەلگە قويدىڭىز",
|
||||
"{user} has marked card {card} as done in list {stack} on board {board}" : "{ئىشلەتكۈچى board تاختا {تاختايدا {stack list دا كۆرسىتىلگەندەك كارتا {كارتا} دەپ بەلگە قويدى",
|
||||
"You have marked the card {card} as undone in list {stack} on board {board}" : "سىز كارتا {كارتا} تاختا {تاختايدىكى {stack} تىزىملىكىدە ئەمەلدىن قالدۇرۇلغان دەپ بەلگە قويدىڭىز",
|
||||
"{user} has marked the card {card} as undone in list {stack} on board {board}" : "{ئىشلەتكۈچى} كارتا {كارتا {تاختا {تاختايدا {stack} ئەمەلدىن قالدۇرۇلدى.",
|
||||
"You have removed the due date of card {card}" : "كارتا {كارتا قەرەلى توشقان ۋاقىتنى ئۆچۈردىڭىز",
|
||||
"{user} has removed the due date of card {card}" : "{ئىشلەتكۈچى} كارتا {كارتىنىڭ قەرەلى توشتى",
|
||||
"You have set the due date of card {card} to {after}" : "كارتا {كارتا} نىڭ قەرەلى توشقاندىن كېيىن {دىن كېيىن بېكىتىلدى",
|
||||
"{user} has set the due date of card {card} to {after}" : "{ئىشلەتكۈچى} كارتا {كارتا} نىڭ بەلگىلەنگەن ۋاقتىنى} دىن كېيىن قىلىپ بېكىتتى",
|
||||
"You have updated the due date of card {card} to {after}" : "كارتا {كارتا} نىڭ قەرەلى توشقاندىن كېيىن {گە يېڭىلاندىڭىز",
|
||||
"{user} has updated the due date of card {card} to {after}" : "{ئىشلەتكۈچى} كارتا {كارتا} نىڭ قەرەلى توشقاندىن كېيىن {گە يېڭىلاندى",
|
||||
"You have added the tag {label} to card {card} in list {stack} on board {board}" : "سىز {بەلگە} بەلگىسىنى كارتا {كارتا list غا {تاختاي {تاختاي {تاختىسىغا قوشتىڭىز.",
|
||||
"{user} has added the tag {label} to card {card} in list {stack} on board {board}" : "{ئىشلەتكۈچى} تاختا {تاختايدىكى {stack} غا {كارتا} بەلگىسىنى {كارتا} غا قوشتى.",
|
||||
"You have removed the tag {label} from card {card} in list {stack} on board {board}" : "سىز {بەلگە} بەلگىسىنى كارتا {كارتا list دىن {تاختاي {تاختايدىكى {تاختاي} دىن ئۆچۈردىڭىز.",
|
||||
"{user} has removed the tag {label} from card {card} in list {stack} on board {board}" : "{ئىشلەتكۈچى} تاختا {تاختايدىكى {stack} تىزىملىكىدىكى {كارتا} بەلگىسىنى {كارتا} دىن ئۆچۈردى.",
|
||||
"You have assigned {assigneduser} to card {card} on board {board}" : "سىز {boarduser board board board board board board board board board board board board board board board board board board board board board board board board board board board board board board board board board board board board board board board board board board board board board board board board board board board board board board board board board board board board",
|
||||
"{user} has assigned {assigneduser} to card {card} on board {board}" : "{ئىشلەتكۈچى board board board board board board board board board board board board board board board board board board board board board board board board board board board board board board board board board board board board board board board board board board board board board board board",
|
||||
"You have unassigned {assigneduser} from card {card} on board {board}" : "سىز كارتا {كارتا board تاختا {تاختايدىن} تەقسىملەنمىگەن {تەقسىملىگۈچى}",
|
||||
"{user} has unassigned {assigneduser} from card {card} on board {board}" : "{ئىشلەتكۈچى board تاختا {تاختايدىكى كارتا {كارتا from دىن ئىمزا قويمىغان {تەقسىملىگۈچى}",
|
||||
"You have moved the card {card} from list {stackBefore} to {stack}" : "سىز كارتا {كارتا list تىزىملىكتىن {stackBefore} دىن {stack} غا يۆتكىدىڭىز",
|
||||
"{user} has moved the card {card} from list {stackBefore} to {stack}" : "{ئىشلەتكۈچى} كارتا {كارتا list تىزىملىكتىن {stackBefore} دىن {stack} غا يۆتكىدى",
|
||||
"You have added the attachment {attachment} to card {card}" : "سىز كارتا {كارتىغا قوشۇمچە {قوشۇمچە ھۆججەت} نى قوشتىڭىز",
|
||||
"{user} has added the attachment {attachment} to card {card}" : "{ئىشلەتكۈچى} كارتا {كارتىغا قوشۇمچە {قوشۇمچە ھۆججەت} قوشتى",
|
||||
"You have updated the attachment {attachment} on card {card}" : "كارتا {كارتا on قوشۇمچە ھۆججەت {قوشۇمچە ھۆججەتنى يېڭىلىدىڭىز",
|
||||
"{user} has updated the attachment {attachment} on card {card}" : "{ئىشلەتكۈچى} كارتا {كارتىدىكى قوشۇمچە ھۆججەت {قوشۇمچە ھۆججەتنى يېڭىلىدى",
|
||||
"You have deleted the attachment {attachment} from card {card}" : "كارتا {كارتىسىدىن قوشۇمچە ھۆججەت {قوشۇمچە ھۆججەتنى ئۆچۈردىڭىز",
|
||||
"{user} has deleted the attachment {attachment} from card {card}" : "{ئىشلەتكۈچى} كارتا {كارتىدىن قوشۇمچە {قوشۇمچە ھۆججەت} نى ئۆچۈردى",
|
||||
"You have restored the attachment {attachment} to card {card}" : "كارتا {كارتىغا قوشۇمچە {قوشۇمچە ھۆججەت} نى ئەسلىگە كەلتۈردىڭىز",
|
||||
"{user} has restored the attachment {attachment} to card {card}" : "{ئىشلەتكۈچى} كارتا {كارتىغا قوشۇمچە {قوشۇمچە ھۆججەتنى ئەسلىگە كەلتۈردى.",
|
||||
"You have commented on card {card}" : "كارتا {كارتا on غا باھا بەردىڭىز",
|
||||
"{user} has commented on card {card}" : "{user card كارتا {كارتا on غا باھا بەردى",
|
||||
"Deck" : "پالۋان",
|
||||
"Changes in the <strong>Deck app</strong>" : "<strong> پالۋان دېتالى </ strong> دىكى ئۆزگىرىشلەر",
|
||||
"A <strong>board, list or card</strong> was changed" : "<strong> تاختا ، تىزىملىك ياكى كارتا </ strong> ئۆزگەرتىلدى",
|
||||
"A <strong>comment</strong> was created on a card" : "كارتا ئۈستىدە <strong> ئىنكاس </ strong> قۇرۇلدى",
|
||||
"A <strong>card description</strong> has been changed" : "<strong> كارتا چۈشەندۈرۈشى </ strong> ئۆزگەرتىلدى",
|
||||
"Cards due today" : "بۈگۈن كارتا بېجىرىلىدۇ",
|
||||
"Cards due tomorrow" : "ئەتە كارتا",
|
||||
"Upcoming cards" : "كېلىۋاتقان كارتا",
|
||||
"Load more" : "تېخىمۇ كۆپ يۈكلەڭ",
|
||||
"Personal" : "شەخسىي",
|
||||
"The card \"%s\" on \"%s\" has been assigned to you by %s." : "«% S» دىكى «% s» كارتىسى سىزگە% s تەرىپىدىن تەقسىم قىلىنغان.",
|
||||
"{user} has assigned the card {deck-card} on {deck-board} to you." : "{ئىشلەتكۈچى} سىزگە {پالۋان تاختىسىدىكى} كارتا {پالەك كارتىسى} نى تەقسىم قىلدى.",
|
||||
"The card \"%s\" on \"%s\" has reached its due date." : "«% S» دىكى «% s» كارتىسى قەرەلى توشقان.",
|
||||
"The card {deck-card} on {deck-board} has reached its due date." : "{پالۋان تاختىسى on دىكى كارتا {پالۋان كارتىسى قەرەلى توشقان.",
|
||||
"%s has mentioned you in a comment on \"%s\"." : "% s سىزنى «% s» دىكى باھادا تىلغا ئالدى.",
|
||||
"{user} has mentioned you in a comment on {deck-card}." : "{ئىشلەتكۈچى} {پالۋان كارتىسى on دىكى باھادا سىزنى تىلغا ئالدى.",
|
||||
"The board \"%s\" has been shared with you by %s." : "«% S» تاختىسىنى سىز بىلەن% s ئورتاقلاشتى.",
|
||||
"{user} has shared {deck-board} with you." : "{ئىشلەتكۈچى} سىز بىلەن {پالۋان تاختىسىنى ئورتاقلاشتى.",
|
||||
"Deck board" : "پالۋان تاختىسى",
|
||||
"Owned by %1$s" : "% 1 $ s",
|
||||
"Deck boards, cards and comments" : "پالۋان تاختىسى ، كارتا ۋە باھا",
|
||||
"From %1$s, in %2$s/%3$s, owned by %4$s" : "% 1 $ s دىن ،% 2 $ s /% 3 $ s ،% 4 $ s",
|
||||
"Create a new deck card" : "يېڭى پالۋان كارتىسى قۇرۇڭ",
|
||||
"Card comments" : "كارتا باھا",
|
||||
"%s on %s" : "% s on% s",
|
||||
"Deck boards and cards" : "پەلەمپەي ۋە كارتا",
|
||||
"No data was provided to create an attachment." : "قوشۇمچە ھۆججەت قۇرۇش ئۈچۈن ھېچقانداق سانلىق مەلۇمات تەمىنلەنمىدى.",
|
||||
"Finished" : "تاماملاندى",
|
||||
"To review" : "قايتا قاراپ چىقىش",
|
||||
"Action needed" : "ھەرىكەت لازىم",
|
||||
"Later" : "كېيىنچە",
|
||||
"copy" : "كۆپەيتىلگەن",
|
||||
"To do" : "قىلىش",
|
||||
"Doing" : "قىلىش",
|
||||
"Done" : "Done",
|
||||
"Example Task 3" : "مىسال 3",
|
||||
"Example Task 2" : "مىسال 2",
|
||||
"Example Task 1" : "مىسال 1",
|
||||
"The file was uploaded" : "ھۆججەت يۈكلەندى",
|
||||
"The uploaded file exceeds the upload_max_filesize directive in php.ini" : "يۈكلەنگەن ھۆججەت php.ini دىكى upload_max_filesize كۆرسەتمىسىدىن ئېشىپ كەتتى",
|
||||
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "يۈكلەنگەن ھۆججەت HTML شەكلىدە كۆرسىتىلگەن MAX_FILE_SIZE كۆرسەتمىسىدىن ئېشىپ كەتتى",
|
||||
"The file was only partially uploaded" : "بۇ ھۆججەت پەقەت قىسمەن يوللانغان",
|
||||
"No file was uploaded" : "ھېچقانداق ھۆججەت يۈكلەنمىدى",
|
||||
"Missing a temporary folder" : "ۋاقىتلىق قىسقۇچ كەم.",
|
||||
"Could not write file to disk" : "دىسكىغا ھۆججەت يازالمىدى",
|
||||
"A PHP extension stopped the file upload" : "PHP كېڭەيتىلمىسى ھۆججەت يوللاشنى توختاتتى",
|
||||
"No file uploaded or file size exceeds maximum of %s" : "يۈكلەنگەن ياكى ھۆججەتنىڭ چوڭلۇقى ئەڭ كۆپ بولغاندا% s دىن ئېشىپ كەتمەيدۇ",
|
||||
"This comment has more than %s characters.\nAdded as an attachment to the card with name %s.\nAccessible on URL: %s." : "بۇ باھانىڭ% s دىن كۆپ ھەرپلىرى بار.\n% S ئىسمى بار كارتىغا قوشۇمچە قىلىپ قوشۇلدى.\nURL دا زىيارەت قىلغىلى بولىدۇ:% s.",
|
||||
"Card not found" : "كارتا تېپىلمىدى",
|
||||
"Path is already shared with this card" : "يول بۇ كارتا بىلەن ئورتاقلاشتى",
|
||||
"Invalid date, date format must be YYYY-MM-DD" : "ئىناۋەتسىز چېسلا ، چېسلا فورماتى چوقۇم YYYY-MM-DD بولۇشى كېرەك",
|
||||
"Personal planning and team project organization" : "شەخسىي پىلان ۋە گۇرۇپپا تۈر تەشكىللەش",
|
||||
"Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.\n\n\n- 📥 Add your tasks to cards and put them in order\n- 📄 Write down additional notes in Markdown\n- 🔖 Assign labels for even better organization\n- 👥 Share with your team, friends or family\n- 📎 Attach files and embed them in your Markdown description\n- 💬 Discuss with your team using comments\n- ⚡ Keep track of changes in the activity stream\n- 🚀 Get your project organized" : "پالۋان Nextcloud بىلەن بىرلەشتۈرۈلگەن گۇرۇپپىلار ئۈچۈن شەخسىي پىلانلاش ۋە تۈر تەشكىللەشنى مەقسەت قىلغان كانبان ئۇسلۇبىدىكى تەشكىللەش قورالى.\n\n\n- tasks ۋەزىپىڭىزنى كارتىغا قوشۇڭ ۋە تەرتىپكە سېلىڭ\n- Mark Markdown غا قوشۇمچە خاتىرىلەرنى يېزىڭ\n- better تېخىمۇ ياخشى تەشكىللەش ئۈچۈن بەلگە بەلگىلەڭ\n- team گۇرۇپپىڭىز ، دوستلىرىڭىز ياكى ئائىلىڭىزدىكىلەر بىلەن ئورتاقلىشىڭ\n- files ھۆججەتلەرنى باغلاپ Markdown چۈشەندۈرۈشىڭىزگە قىستۇرۇڭ\n- comments باھا ئارقىلىق گۇرۇپپىڭىزدىكىلەر بىلەن مۇنازىرە قىلىڭ\n- activity پائالىيەت ئېقىمىدىكى ئۆزگىرىشلەرنى خاتىرىلەڭ\n- project تۈرىڭىزنى تەشكىللەڭ",
|
||||
"Card details" : "كارتا تەپسىلاتلىرى",
|
||||
"Add board" : "تاختا قوشۇڭ",
|
||||
"Select the board to link to a project" : "بىر تۈرگە ئۇلىنىش ئۈچۈن تاختىنى تاللاڭ",
|
||||
"Search by board title" : "تاختاينىڭ ئىسمى بىلەن ئىزدەڭ",
|
||||
"Select board" : "تاختاينى تاللاڭ",
|
||||
"Move card to another board" : "كارتىنى باشقا تاختىغا يۆتكەڭ",
|
||||
"Select a board" : "تاختاينى تاللاڭ",
|
||||
"No lists available" : "تىزىملىك يوق",
|
||||
"Select a list" : "تىزىملىكنى تاللاڭ",
|
||||
"Move card" : "كارتا يۆتكەش",
|
||||
"Cancel" : "ۋاز كەچ",
|
||||
"Select a card" : "كارتا تاللاڭ",
|
||||
"Select the card to link to a project" : "بىر تۈرگە ئۇلىنىش ئۈچۈن كارتىنى تاللاڭ",
|
||||
"Link to card" : "كارتىغا ئۇلىنىش",
|
||||
"File already exists" : "ھۆججەت مەۋجۇت",
|
||||
"A file with the name {filename} already exists." : "{ھۆججەت ئىسمى name دېگەن ھۆججەت بار.",
|
||||
"Do you want to overwrite it?" : "ئۇنى قاپلىماقچىمۇ؟",
|
||||
"Overwrite file" : "ھۆججەتنى قاپلىۋېتىڭ",
|
||||
"Keep existing file" : "مەۋجۇت ھۆججەتنى ساقلاڭ",
|
||||
"This board is read only" : "بۇ تاختاي پەقەت ئوقۇلىدۇ",
|
||||
"Drop your files to upload" : "يۈكلەش ئۈچۈن ھۆججەتلىرىڭىزنى تاشلاڭ",
|
||||
"Add card" : "كارتا قوشۇڭ",
|
||||
"Archived cards" : "ئارخىپ كارتىلىرى",
|
||||
"Add list" : "تىزىملىك قوشۇڭ",
|
||||
"List name" : "تىزىملىك ئىسمى",
|
||||
"Active filters" : "ئاكتىپ سۈزگۈچ",
|
||||
"Apply filter" : "سۈزگۈچ ئىشلىتىڭ",
|
||||
"Filter by tag" : "بەلگە بويىچە سۈزۈڭ",
|
||||
"Filter by assigned user" : "تەقسىم قىلىنغان ئىشلەتكۈچى تەرىپىدىن سۈزۈڭ",
|
||||
"Unassigned" : "ئىمزاسىز",
|
||||
"Filter by status" : "ھالەت بويىچە سۈزۈڭ",
|
||||
"Open and completed" : "ئېچىش ۋە تاماملاش",
|
||||
"Open" : "ئېچىڭ",
|
||||
"Completed" : "تاماملاندى",
|
||||
"Filter by due date" : "ۋاقتى بويىچە سۈزۈڭ",
|
||||
"Overdue" : "ۋاقتى ئۆتۈپ كەتتى",
|
||||
"Next 24 hours" : "كېيىنكى 24 سائەت",
|
||||
"Next 7 days" : "كەلگۈسى 7 كۈن",
|
||||
"Next 30 days" : "كەلگۈسى 30 كۈن",
|
||||
"No due date" : "ۋاقتى توشمىغان",
|
||||
"Clear filter" : "سۈزگۈچنى تازىلاش",
|
||||
"View Modes" : "مودېللارنى كۆرۈش",
|
||||
"Toggle View Modes" : "كۆرۈش ھالىتىنى ئۆزگەرتىش",
|
||||
"Hide archived cards" : "ئارخىپ كارتىلىرىنى يوشۇرۇش",
|
||||
"Show archived cards" : "ئارخىپ كارتىلىرىنى كۆرسەت",
|
||||
"Toggle compact mode" : "ئىخچام ھالەتنى ئالماشتۇرۇڭ",
|
||||
"Hide card cover images" : "كارتا قاپلاش رەسىملىرىنى يوشۇرۇش",
|
||||
"Show card cover images" : "كارتا قاپلاش رەسىملىرىنى كۆرسىتىش",
|
||||
"Open details" : "تەپسىلاتلارنى ئېچىڭ",
|
||||
"Details" : "تەپسىلاتى",
|
||||
"Currently present people" : "ھازىر كىشىلەر",
|
||||
"Loading board" : "يۈك تاختىسى",
|
||||
"Board not found" : "مۇدىرىيەت تېپىلمىدى",
|
||||
"Create a new list to add cards to this board" : "بۇ تاختىغا كارتا قوشۇش ئۈچۈن يېڭى تىزىملىك قۇرۇڭ",
|
||||
"Sharing" : "ھەمبەھىر",
|
||||
"Tags" : "بەلگەلەر",
|
||||
"Deleted items" : "ئۆچۈرۈلگەن تۈرلەر",
|
||||
"Activity" : "پائالىيەت",
|
||||
"Deleted lists" : "ئۆچۈرۈلگەن تىزىملىك",
|
||||
"Undo" : "ئەمەلدىن قالدۇرۇش",
|
||||
"Deleted cards" : "ئۆچۈرۈلگەن كارتا",
|
||||
"Share board with a user, group or team …" : "ئىشلەتكۈچى ، گۇرۇپپا ياكى گۇرۇپپا بىلەن ئورتاقلىشىش تاختىسى…",
|
||||
"Searching for users, groups and teams …" : "ئىشلەتكۈچى ، گۇرۇپپا ۋە گۇرۇپپىلارنى ئىزدەش…",
|
||||
"No participants found" : "قاتناشقۇچىلار تېپىلمىدى",
|
||||
"Board owner" : "مۇدىرىيەت ئىگىسى",
|
||||
"(Group)" : "(گۇرۇپپا)",
|
||||
"(Team)" : "(كوماندا)",
|
||||
"Can edit" : "Can edit",
|
||||
"Can share" : "Can share",
|
||||
"Can manage" : "باشقۇرالايدۇ",
|
||||
"Owner" : "Owner",
|
||||
"Delete" : "ئۆچۈر",
|
||||
"Failed to create share with {displayName}" : "{DisplayName with بىلەن ئورتاقلىشىش مەغلۇب بولدى",
|
||||
"Are you sure you want to transfer the board {title} to {user}?" : "تاختا {ماۋزۇ} نى {ئىشلەتكۈچى} غا يۆتكىمەكچىمۇ؟",
|
||||
"Transfer the board." : "تاختىنى يۆتكەڭ.",
|
||||
"Transfer" : "يۆتكەش",
|
||||
"The board has been transferred to {user}" : "بۇ تاختا {ئىشلەتكۈچى} غا يۆتكەلدى",
|
||||
"Failed to transfer the board to {user}" : "تاختاينى {ئىشلەتكۈچى} گە يۆتكەش مەغلۇب بولدى",
|
||||
"Edit list title" : "تىزىملىك نامىنى تەھرىرلەش",
|
||||
"Archive all cards" : "بارلىق كارتىلارنى ئارخىپلاشتۇرۇڭ",
|
||||
"Unarchive all cards" : "بارلىق كارتىلارنى تەرتىپسىز",
|
||||
"Delete list" : "تىزىملىكنى ئۆچۈرۈڭ",
|
||||
"Archive all cards in this list" : "بۇ تىزىملىكتىكى بارلىق كارتىلارنى ئارخىپلاشتۇرۇڭ",
|
||||
"Unarchive all cards in this list" : "بۇ تىزىملىكتىكى بارلىق كارتىلارنى تەرتىپسىز",
|
||||
"Add a new card" : "يېڭى كارتا قوشۇڭ",
|
||||
"Card name" : "كارتا ئىسمى",
|
||||
"List deleted" : "تىزىملىك ئۆچۈرۈلدى",
|
||||
"Edit" : "تەھرىر",
|
||||
"Add a new tag" : "يېڭى بەلگە قوشۇڭ",
|
||||
"title and color value must be provided" : "ماۋزۇ ۋە رەڭ قىممىتى تەمىنلىنىشى كېرەك",
|
||||
"Board name" : "مۇدىرىيەت ئىسمى",
|
||||
"Members" : "ئەزالار",
|
||||
"Assign to users/groups/team" : "ئىشلەتكۈچى / گۇرۇپپا / گۇرۇپپىغا تەقسىم قىلىڭ",
|
||||
"Assign a user to this card…" : "بۇ كارتىغا ئىشلەتكۈچى تەقسىم قىلىڭ…",
|
||||
"Select a user to assign to this card…" : "بۇ كارتىغا تەقسىملەيدىغان ئىشلەتكۈچىنى تاللاڭ…",
|
||||
"Upload new files" : "يېڭى ھۆججەتلەرنى يۈكلەڭ",
|
||||
"Share from Files" : "ھۆججەتلەردىن ئورتاقلىشىش",
|
||||
"Pending share" : "ساقلىنىۋاتقان ئۈلۈش",
|
||||
"Add this attachment" : "بۇ قوشۇمچە ھۆججەتنى قوشۇڭ",
|
||||
"Show in Files" : "ھۆججەتلەردە كۆرسىتىڭ",
|
||||
"Download" : "چۈشۈر",
|
||||
"Remove attachment" : "قوشۇمچە ھۆججەتنى ئۆچۈرۈڭ",
|
||||
"Delete Attachment" : "قوشۇمچە ھۆججەتنى ئۆچۈرۈڭ",
|
||||
"Restore Attachment" : "قوشۇمچە ھۆججەتنى ئەسلىگە كەلتۈرۈش",
|
||||
"File to share" : "ھەمبەھىرلىنىدىغان ھۆججەت",
|
||||
"Invalid path selected" : "ئىناۋەتسىز يول تاللانغان",
|
||||
"Open in sidebar view" : "يان كۆزنەكتە ئېچىڭ",
|
||||
"Open in bigger view" : "چوڭراق كۆرۈنۈشتە ئېچىڭ",
|
||||
"Attachments" : "قوشۇمچە ھۆججەتلەر",
|
||||
"Comments" : "باھا",
|
||||
"Modified" : "ئۆزگەرتكەن",
|
||||
"Created" : "قۇرۇلدى",
|
||||
"The title cannot be empty." : "ماۋزۇ قۇرۇق بولالمايدۇ.",
|
||||
"No comments yet. Begin the discussion!" : "ھازىرچە ھېچقانداق باھا يوق. مۇنازىرىنى باشلاڭ!",
|
||||
"Failed to load comments" : "ئىنكاسلارنى يۈكلىيەلمىدى",
|
||||
"Save" : "ساقلا",
|
||||
"The comment cannot be empty." : "باھا قۇرۇق بولالمايدۇ.",
|
||||
"The comment cannot be longer than 1000 characters." : "بۇ باھا 1000 ھەرپتىن ئېشىپ كەتسە بولمايدۇ.",
|
||||
"In reply to" : "دەپ جاۋاب بەردى",
|
||||
"Cancel reply" : "جاۋابنى ئەمەلدىن قالدۇرۇڭ",
|
||||
"Reply" : "جاۋاب قايتۇر",
|
||||
"Update" : "يېڭىلا",
|
||||
"Created:" : "قۇرۇلغان ۋاقتى:",
|
||||
"Description" : "چۈشەندۈرۈش",
|
||||
"(Unsaved)" : "(ساقلانمىدى)",
|
||||
"(Saving…)" : "(Saving…)",
|
||||
"Formatting help" : "ياردەمنى فورماتلاش",
|
||||
"Edit description" : "چۈشەندۈرۈشنى تەھرىرلەڭ",
|
||||
"View description" : "چۈشەندۈرۈشنى كۆرۈڭ",
|
||||
"Add Attachment" : "قوشۇمچە ھۆججەت قوشۇڭ",
|
||||
"Write a description …" : "چۈشەندۈرۈش يېزىڭ…",
|
||||
"Choose attachment" : "قوشۇمچە ھۆججەتنى تاللاڭ",
|
||||
"Assign a due date to this card…" : "بۇ كارتىغا مۇۋاپىق ۋاقىت بەلگىلەڭ…",
|
||||
"Set a due date" : "بەلگىلەنگەن ۋاقىتنى بەلگىلەڭ",
|
||||
"Add due date" : "مۇۋاپىق ۋاقىت قوشۇڭ",
|
||||
"Choose a date" : "چېسلانى تاللاڭ",
|
||||
"Remove due date" : "قەرەلى توشۇش",
|
||||
"Mark as done" : "تاماملانغاندەك بەلگە",
|
||||
"Due at:" : "ۋاقتى:",
|
||||
"Not done" : "تاماملانمىدى",
|
||||
"Unarchive card" : "Unarchive card",
|
||||
"Archive card" : "ئارخىپ كارتىسى",
|
||||
"Select Date" : "چېسلانى تاللاڭ",
|
||||
"Set due date for later today" : "بۈگۈنگە قەدەر بەلگىلەنگەن ۋاقىتنى بەلگىلەڭ",
|
||||
"Set due date for tomorrow" : "ئەتە بەلگىلەنگەن ۋاقىتنى بەلگىلەڭ",
|
||||
"Set due date for this weekend" : "بۇ ھەپتە ئاخىرىدىكى ۋاقىتنى بەلگىلەڭ",
|
||||
"Set due date for next week" : "كېلەر ھەپتە قەرەلى توشۇڭ",
|
||||
"Assign a tag to this card…" : "بۇ كارتىغا بەلگە بەلگىلەڭ…",
|
||||
"Select or create a tag…" : "بەلگە تاللاڭ ياكى قۇر…",
|
||||
"Create a new tag:" : "يېڭى خەتكۈچ قۇر:",
|
||||
"(group)" : "(گۇرۇپپا)",
|
||||
"Next week – {timeLocale}" : "كېلەر ھەپتە - {timeLocale}",
|
||||
"Todo items" : "تودو تۈرلىرى",
|
||||
"{count} comments, {unread} unread" : "{سان} باھا ، {ئوقۇمىغان} ئوقۇمىغان",
|
||||
"Edit card title" : "كارتا نامىنى تەھرىرلەش",
|
||||
"Assign to me" : "ماڭا تاپشۇرۇڭ",
|
||||
"Unassign myself" : "ئۆزۈمنى بەلگىلىمەڭ",
|
||||
"Mark as not done" : "ئىشلەنمىگەن دەپ بەلگە قويۇڭ",
|
||||
"Delete card" : "كارتىنى ئۆچۈرۈڭ",
|
||||
"Card deleted" : "كارتا ئۆچۈرۈلدى",
|
||||
"seconds ago" : "سېكۇنت بۇرۇن",
|
||||
"Keyboard shortcuts" : "كۇنۇپكا تاختىسى تېزلەتمىسى",
|
||||
"Boost your productivity using Deck with keyboard shortcuts." : "كۇنۇپكا تاختىسى تېزلەتمىسى ئارقىلىق پالۋاننى ئىشلىتىپ ئۈنۈمدارلىقىڭىزنى ئۆستۈرۈڭ.",
|
||||
"Board actions" : "مۇدىرىيەت ھەرىكىتى",
|
||||
"Keyboard shortcut" : "كۇنۇپكا تاختىسى تېزلەتمىسى",
|
||||
"Action" : "ھەرىكەت",
|
||||
"Shift" : "Shift",
|
||||
"Scroll" : "سىيرىل",
|
||||
"Scroll sideways" : "يان تەرەپكە ئۆرۈڭ",
|
||||
"Navigate between cards" : "كارتا ئارىسىدا مېڭىڭ",
|
||||
"Esc" : "Esc",
|
||||
"Close card details" : "كارتا تەپسىلاتلىرىنى تاقاش",
|
||||
"Ctrl" : "Ctrl",
|
||||
"Search" : "Search",
|
||||
"Show card filters" : "كارتا سۈزگۈچنى كۆرسىتىش",
|
||||
"Clear card filters" : "كارتا سۈزگۈچنى تازىلاش",
|
||||
"Show help dialog" : "ياردەم سۆزلىشىش رامكىسىنى كۆرسەت",
|
||||
"Card actions" : "كارتا ھەرىكىتى",
|
||||
"The following actions can be triggered on the currently highlighted card" : "تۆۋەندىكى ھەرىكەتلەرنى نۆۋەتتىكى يورۇتۇلغان كارتا قوزغىتىشقا بولىدۇ",
|
||||
"Enter" : "Enter",
|
||||
"Space" : "بوشلۇق",
|
||||
"Open card details" : "كارتا تەپسىلاتلىرىنى ئېچىڭ",
|
||||
"Edit the card title" : "كارتا نامىنى تەھرىرلەڭ",
|
||||
"Assign yourself to the current card" : "ھازىرقى كارتىغا ئۆزىڭىزنى تەقسىم قىلىڭ",
|
||||
"Archive/unarchive the current card" : "ھازىرقى كارتىنى ئارخىپلاشتۇرۇڭ",
|
||||
"Mark card as completed/not completed" : "كارتا تاماملانغان / تاماملانمىغان دەپ بەلگە قويۇڭ",
|
||||
"Open card menu" : "كارتا تىزىملىكىنى ئېچىڭ",
|
||||
"All boards" : "بارلىق تاختايلار",
|
||||
"Archived boards" : "ئارخىپ تاختىسى",
|
||||
"Shared with you" : "Shared with you",
|
||||
"Deck settings" : "بېزەك تەڭشەكلىرى",
|
||||
"Use bigger card view" : "چوڭراق كارتا كۆرۈنۈشىنى ئىشلىتىڭ",
|
||||
"Show card ID badge" : "كارتا كىملىكى بەلگىسىنى كۆرسەت",
|
||||
"Show boards in calendar/tasks" : "كالېندار / ۋەزىپىلەردە تاختاينى كۆرسەت",
|
||||
"Limit board creation to some groups" : "تاختاي قۇرۇشنى بەزى گۇرۇپپىلارغا چەكلەڭ",
|
||||
"Users outside of those groups will not be able to create their own boards, but will still be able to work on boards that have been shared with them." : "بۇ گۇرۇپپىلارنىڭ سىرتىدىكى ئىشلەتكۈچىلەر ئۆزلىرىنىڭ تاختىسىنى قۇرالمايدۇ ، ئەمما ئۇلار بىلەن ئورتاقلاشقان تاختايلاردا ئىشلىيەلەيدۇ.",
|
||||
"Cancel edit" : "تەھرىرلەشنى ئەمەلدىن قالدۇرۇڭ",
|
||||
"Save board" : "تاختاينى ساقلاڭ",
|
||||
"Board details" : "مۇدىرىيەت تەپسىلاتلىرى",
|
||||
"Edit board" : "تاختاينى تەھرىرلەش",
|
||||
"Clone board" : "كلون تاختىسى",
|
||||
"Unarchive board" : "Unarchive board",
|
||||
"Archive board" : "ئارخىپ تاختىسى",
|
||||
"Export board" : "ئېكسپورت تاختىسى",
|
||||
"Turn on due date reminders" : "قەرەلىدىكى ئەسكەرتىشلەرنى ئېچىڭ",
|
||||
"Turn off due date reminders" : "قەرەلىدىكى ئەسكەرتىشلەرنى ئېتىۋېتىڭ",
|
||||
"Due date reminders" : "قەرەلىدىكى ئەسكەرتىش",
|
||||
"All cards" : "بارلىق كارتىلار",
|
||||
"Assigned cards" : "تەقسىم قىلىنغان كارتا",
|
||||
"No notifications" : "ئۇقتۇرۇش يوق",
|
||||
"Delete board" : "تاختاينى ئۆچۈرۈڭ",
|
||||
"Board {0} deleted" : "Board {0} ئۆچۈرۈلدى",
|
||||
"Only assigned cards" : "پەقەت تەقسىم قىلىنغان كارتا",
|
||||
"No reminder" : "ئەسكەرتىش يوق",
|
||||
"An error occurred" : "خاتالىق كۆرۈلدى",
|
||||
"Are you sure you want to delete the board {title}? This will delete all the data of this board including archived cards." : "تاختا {ماۋزۇ} نى ئۆچۈرمەكچىمۇ؟ بۇ ئارخىپ كارتىسىنى ئۆز ئىچىگە ئالغان بۇ تاختىنىڭ بارلىق سانلىق مەلۇماتلىرىنى ئۆچۈرۈۋېتىدۇ.",
|
||||
"Delete the board?" : "تاختىنى ئۆچۈرەمسىز؟",
|
||||
"Loading filtered view" : "سۈزۈلگەن كۆرۈنۈشنى يۈكلەۋاتىدۇ",
|
||||
"Today" : "بۈگۈن",
|
||||
"Tomorrow" : "ئەتە",
|
||||
"No due" : "مۇۋاپىق ئەمەس",
|
||||
"Search for {searchQuery} in all boards" : "بارلىق تاختايلاردا {searchQuery} نى ئىزدەڭ",
|
||||
"No results found" : "ھېچقانداق نەتىجە تېپىلمىدى",
|
||||
"Deck board {name}\n* Last modified on {lastMod}" : "پالۋان تاختىسى {name}\n* ئاخىرقى قېتىم {lastMod on دا ئۆزگەرتىلدى",
|
||||
"{stack} in {board}" : "{board} in {board}",
|
||||
"Click to expand description" : "چۈشەندۈرۈشنى كېڭەيتىش ئۈچۈن چېكىڭ",
|
||||
"* Created on {created}\n* Last modified on {lastMod}\n* {nbAttachments} attachments\n* {nbComments} comments" : "* ئىجاد قىلىنغان {قۇرۇلدى}\n* ئاخىرقى قېتىم {lastMod on دا ئۆزگەرتىلدى\n* {nbAttachments} قوشۇمچە ھۆججەتلەر\n* {nbComments} باھا",
|
||||
"{nbCards} cards" : "{nbCards} كارتا",
|
||||
"Click to expand comment" : "ئىنكاسنى كېڭەيتىش ئۈچۈن چېكىڭ",
|
||||
"Create a new card" : "يېڭى كارتا قۇرۇڭ",
|
||||
"Card title" : "كارتا ئىسمى",
|
||||
"Create card" : "كارتا قۇرۇش",
|
||||
"Creating the new card …" : "يېڭى كارتا قۇرۇش…",
|
||||
"Card \"{card}\" was added to \"{board}\"" : "كارتا \"{كارتا}\" \"{board}\" غا قوشۇلدى",
|
||||
"Open card" : "ئوچۇق كارتا",
|
||||
"Close" : "ياپ",
|
||||
"No upcoming cards" : "كەلگۈسىدىكى كارتا يوق",
|
||||
"upcoming cards today" : "بۈگۈن كېلىدىغان كارتىلار",
|
||||
"upcoming cards tomorrow" : "ئەتە كارتىلار",
|
||||
"upcoming cards" : "كەلگۈسىدىكى كارتىلار",
|
||||
"New card" : "يېڭى كارتا",
|
||||
"Due on {date}" : "ۋاقتى {ۋاقتى}",
|
||||
"This weekend – {timeLocale}" : "بۇ ھەپتە ئاخىرى - {timeLocale}",
|
||||
"Tomorrow – {timeLocale}" : "ئەتە - {timeLocale}",
|
||||
"Later today – {timeLocale}" : "كېيىن بۈگۈن - {timeLocale}",
|
||||
"Link to a board" : "تاختايغا ئۇلىنىش",
|
||||
"Link to a card" : "كارتىغا ئۇلىنىش",
|
||||
"Create a card" : "كارتا ياساڭ",
|
||||
"Message from {author} in {conversationName}" : "{سۆھبەت ئىسمى {دىكى {ئاپتور} نىڭ ئۇچۇرى",
|
||||
"Something went wrong" : "چاتاق چىقتى",
|
||||
"Failed to upload {name}" : "{Name} نى يۈكلىيەلمىدى",
|
||||
"Maximum file size of {size} exceeded" : "ھۆججەتنىڭ ئەڭ چوڭ چوڭلۇقى {size} دىن ئېشىپ كەتتى",
|
||||
"Error creating the share" : "ھەمبەھىرلەشتە خاتالىق",
|
||||
"Share with a Deck card" : "پالۋان كارتىسى بىلەن ئورتاقلىشىڭ",
|
||||
"Share {file} with a Deck card" : "{ھۆججەت} نى پالۋان كارتىسى بىلەن ھەمبەھىرلەڭ",
|
||||
"Share" : "ھەمبەھىر",
|
||||
"Searching for users, groups and circles …" : "ئىشلەتكۈچى ، گۇرۇپپا ۋە چەمبىرەكلەرنى ئىزدەش…",
|
||||
"(Circle)" : "(Circle)",
|
||||
"Assign to users/groups/circles" : "ئىشلەتكۈچى / گۇرۇپپا / چەمبىرەككە تەقسىم قىلىڭ",
|
||||
"Filter by completed" : "تاماملانغان سۈزگۈچ"
|
||||
"Share" : "ھەمبەھىر"
|
||||
},"pluralForm" :"nplurals=2; plural=(n != 1);"
|
||||
}
|
||||
@@ -176,7 +176,7 @@ OC.L10N.register(
|
||||
"Undo" : "撤消",
|
||||
"Deleted cards" : "已删除的卡片",
|
||||
"No participants found" : "未找到参与者",
|
||||
"Board owner" : "面板所有者",
|
||||
"Board owner" : "面板拥有者",
|
||||
"(Group)" : "(群组)",
|
||||
"Can edit" : "可以编辑",
|
||||
"Can share" : "可以共享",
|
||||
|
||||
@@ -174,7 +174,7 @@
|
||||
"Undo" : "撤消",
|
||||
"Deleted cards" : "已删除的卡片",
|
||||
"No participants found" : "未找到参与者",
|
||||
"Board owner" : "面板所有者",
|
||||
"Board owner" : "面板拥有者",
|
||||
"(Group)" : "(群组)",
|
||||
"Can edit" : "可以编辑",
|
||||
"Can share" : "可以共享",
|
||||
|
||||
@@ -100,7 +100,7 @@ class ActivityManager {
|
||||
StackMapper $stackMapper,
|
||||
AclMapper $aclMapper,
|
||||
IFactory $l10nFactory,
|
||||
?string $userId
|
||||
?string $userId,
|
||||
) {
|
||||
$this->manager = $manager;
|
||||
$this->permissionService = $permissionsService;
|
||||
@@ -484,7 +484,7 @@ class ActivityManager {
|
||||
$objectId = $entity->getObjectId();
|
||||
break;
|
||||
default:
|
||||
throw new InvalidArgumentException('No entity relation present for '. $className . ' to ' . $objectType);
|
||||
throw new InvalidArgumentException('No entity relation present for ' . $className . ' to ' . $objectType);
|
||||
}
|
||||
return $this->cardMapper->find($objectId);
|
||||
}
|
||||
@@ -499,11 +499,11 @@ class ActivityManager {
|
||||
$objectId = $entity->getBoardId();
|
||||
break;
|
||||
default:
|
||||
throw new InvalidArgumentException('No entity relation present for '. $className . ' to ' . $objectType);
|
||||
throw new InvalidArgumentException('No entity relation present for ' . $className . ' to ' . $objectType);
|
||||
}
|
||||
return $this->boardMapper->find($objectId);
|
||||
}
|
||||
throw new InvalidArgumentException('No entity relation present for '. $className . ' to ' . $objectType);
|
||||
throw new InvalidArgumentException('No entity relation present for ' . $className . ' to ' . $objectType);
|
||||
}
|
||||
|
||||
private function findDetailsForStack($stackId) {
|
||||
|
||||
@@ -15,7 +15,7 @@ class Filter implements \OCP\Activity\IFilter {
|
||||
|
||||
public function __construct(
|
||||
IL10N $l10n,
|
||||
IURLGenerator $urlGenerator
|
||||
IURLGenerator $urlGenerator,
|
||||
) {
|
||||
$this->l10n = $l10n;
|
||||
$this->urlGenerator = $urlGenerator;
|
||||
@@ -39,8 +39,8 @@ class Filter implements \OCP\Activity\IFilter {
|
||||
|
||||
/**
|
||||
* @return int whether the filter should be rather on the top or bottom of
|
||||
* the admin section. The filters are arranged in ascending order of the
|
||||
* priority values. It is required to return a value between 0 and 100.
|
||||
* the admin section. The filters are arranged in ascending order of the
|
||||
* priority values. It is required to return a value between 0 and 100.
|
||||
* @since 11.0.0
|
||||
*/
|
||||
public function getPriority(): int {
|
||||
|
||||
@@ -47,8 +47,8 @@ abstract class SettingBase extends ActivitySettings {
|
||||
|
||||
/**
|
||||
* @return int whether the filter should be rather on the top or bottom of
|
||||
* the admin section. The filters are arranged in ascending order of the
|
||||
* priority values. It is required to return a value between 0 and 100.
|
||||
* the admin section. The filters are arranged in ascending order of the
|
||||
* priority values. It is required to return a value between 0 and 100.
|
||||
* @since 11.0.0
|
||||
*/
|
||||
public function getPriority(): int {
|
||||
|
||||
@@ -25,8 +25,8 @@ class SettingChanges extends SettingBase {
|
||||
|
||||
/**
|
||||
* @return int whether the filter should be rather on the top or bottom of
|
||||
* the admin section. The filters are arranged in ascending order of the
|
||||
* priority values. It is required to return a value between 0 and 100.
|
||||
* the admin section. The filters are arranged in ascending order of the
|
||||
* priority values. It is required to return a value between 0 and 100.
|
||||
* @since 11.0.0
|
||||
*/
|
||||
public function getPriority(): int {
|
||||
|
||||
@@ -176,7 +176,7 @@ class Application extends App implements IBootstrap {
|
||||
$permissionService = $this->getContainer()->get(PermissionService::class);
|
||||
|
||||
try {
|
||||
return $permissionService->checkPermission($cardMapper, (int) $name, Acl::PERMISSION_READ);
|
||||
return $permissionService->checkPermission($cardMapper, (int)$name, Acl::PERMISSION_READ);
|
||||
} catch (\Exception $e) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -14,7 +14,7 @@ class Capabilities implements ICapability {
|
||||
|
||||
/** @var IAppManager */
|
||||
private $appManager;
|
||||
/** @var PermissionService */
|
||||
/** @var PermissionService */
|
||||
private $permissionService;
|
||||
|
||||
|
||||
|
||||
@@ -15,7 +15,7 @@ use Symfony\Component\Console\Output\OutputInterface;
|
||||
|
||||
class BoardImport extends Command {
|
||||
public function __construct(
|
||||
private BoardImportCommandService $boardImportCommandService
|
||||
private BoardImportCommandService $boardImportCommandService,
|
||||
) {
|
||||
parent::__construct();
|
||||
}
|
||||
|
||||
@@ -72,17 +72,17 @@ final class TransferOwnership extends Command {
|
||||
try {
|
||||
$board = $boardId ? $this->boardMapper->find($boardId) : null;
|
||||
} catch (\Exception $e) {
|
||||
$output->writeln("Could not find a board for the provided id.");
|
||||
$output->writeln('Could not find a board for the provided id.');
|
||||
return 1;
|
||||
}
|
||||
|
||||
if ($boardId !== null && $board->getOwner() !== $owner) {
|
||||
$output->writeln("$owner is not the owner of the board $boardId (" . $board->getTitle() . ")");
|
||||
$output->writeln("$owner is not the owner of the board $boardId (" . $board->getTitle() . ')');
|
||||
return 1;
|
||||
}
|
||||
|
||||
if ($boardId) {
|
||||
$output->writeln("Transfer board " . $board->getTitle() . " from ". $board->getOwner() ." to $newOwner");
|
||||
$output->writeln('Transfer board ' . $board->getTitle() . ' from ' . $board->getOwner() . " to $newOwner");
|
||||
} else {
|
||||
$output->writeln("Transfer all boards from $owner to $newOwner");
|
||||
}
|
||||
@@ -94,12 +94,12 @@ final class TransferOwnership extends Command {
|
||||
|
||||
if ($boardId) {
|
||||
$this->boardService->transferBoardOwnership($boardId, $newOwner, $remapAssignment);
|
||||
$output->writeln("<info>Board " . $board->getTitle() . " from ". $board->getOwner() ." transferred to $newOwner completed</info>");
|
||||
$output->writeln('<info>Board ' . $board->getTitle() . ' from ' . $board->getOwner() . " transferred to $newOwner completed</info>");
|
||||
return 0;
|
||||
}
|
||||
|
||||
foreach ($this->boardService->transferOwnership($owner, $newOwner, $remapAssignment) as $board) {
|
||||
$output->writeln(" - " . $board->getTitle() . " transferred");
|
||||
$output->writeln(' - ' . $board->getTitle() . ' transferred');
|
||||
}
|
||||
$output->writeln("<info>All boards from $owner to $newOwner transferred</info>");
|
||||
|
||||
|
||||
@@ -21,7 +21,8 @@ use OCP\AppFramework\OCSController;
|
||||
use OCP\IRequest;
|
||||
|
||||
class SessionController extends OCSController {
|
||||
public function __construct($appName,
|
||||
public function __construct(
|
||||
$appName,
|
||||
IRequest $request,
|
||||
private SessionService $sessionService,
|
||||
private PermissionService $permissionService,
|
||||
|
||||
@@ -12,27 +12,17 @@ use OCA\Deck\Notification\NotificationHelper;
|
||||
use OCP\AppFramework\Db\DoesNotExistException;
|
||||
use OCP\AppFramework\Utility\ITimeFactory;
|
||||
use OCP\BackgroundJob\Job;
|
||||
use OCP\ILogger;
|
||||
use Psr\Log\LoggerInterface;
|
||||
|
||||
class ScheduledNotifications extends Job {
|
||||
|
||||
/** @var CardMapper */
|
||||
protected $cardMapper;
|
||||
/** @var NotificationHelper */
|
||||
protected $notificationHelper;
|
||||
/** @var ILogger */
|
||||
protected $logger;
|
||||
|
||||
public function __construct(
|
||||
ITimeFactory $time,
|
||||
CardMapper $cardMapper,
|
||||
NotificationHelper $notificationHelper,
|
||||
ILogger $logger
|
||||
protected CardMapper $cardMapper,
|
||||
protected NotificationHelper $notificationHelper,
|
||||
protected LoggerInterface $logger,
|
||||
) {
|
||||
parent::__construct($time);
|
||||
$this->cardMapper = $cardMapper;
|
||||
$this->notificationHelper = $notificationHelper;
|
||||
$this->logger = $logger;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -14,21 +14,19 @@ namespace OCA\Deck\Cron;
|
||||
use OCA\Deck\Service\SessionService;
|
||||
use OCP\AppFramework\Utility\ITimeFactory;
|
||||
use OCP\BackgroundJob\TimedJob;
|
||||
use OCP\ILogger;
|
||||
use Psr\Log\LoggerInterface;
|
||||
|
||||
class SessionsCleanup extends TimedJob {
|
||||
private $sessionService;
|
||||
private $documentService;
|
||||
private $logger;
|
||||
private $imageService;
|
||||
|
||||
|
||||
public function __construct(ITimeFactory $time,
|
||||
SessionService $sessionService,
|
||||
ILogger $logger) {
|
||||
public function __construct(
|
||||
ITimeFactory $time,
|
||||
private SessionService $sessionService,
|
||||
private LoggerInterface $logger,
|
||||
) {
|
||||
parent::__construct($time);
|
||||
$this->sessionService = $sessionService;
|
||||
$this->logger = $logger;
|
||||
$this->setInterval(SessionService::SESSION_VALID_TIME);
|
||||
}
|
||||
|
||||
|
||||
@@ -25,7 +25,7 @@ class Calendar extends ExternalCalendar {
|
||||
private $children;
|
||||
/** @var DeckCalendarBackend */
|
||||
private $backend;
|
||||
/** @var Board */
|
||||
/** @var Board */
|
||||
private $board;
|
||||
|
||||
public function __construct(string $principalUri, string $calendarUri, Board $board, DeckCalendarBackend $backend) {
|
||||
|
||||
@@ -32,7 +32,7 @@ class DeckCalendarBackend {
|
||||
|
||||
public function __construct(
|
||||
BoardService $boardService, StackService $stackService, CardService $cardService, PermissionService $permissionService,
|
||||
BoardMapper $boardMapper
|
||||
BoardMapper $boardMapper,
|
||||
) {
|
||||
$this->boardService = $boardService;
|
||||
$this->stackService = $stackService;
|
||||
|
||||
@@ -75,7 +75,7 @@ class AclMapper extends DeckMapper implements IPermissionMapper {
|
||||
try {
|
||||
$entity = $this->find($id);
|
||||
return $entity->getBoardId();
|
||||
} catch (DoesNotExistException | MultipleObjectsReturnedException $e) {
|
||||
} catch (DoesNotExistException|MultipleObjectsReturnedException $e) {
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -61,9 +61,9 @@ class AttachmentMapper extends DeckMapper implements IPermissionMapper {
|
||||
public function findByData($cardId, $data) {
|
||||
$qb = $this->db->getQueryBuilder();
|
||||
$qb->select('*')
|
||||
->from($this->getTableName())
|
||||
->where($qb->expr()->eq('card_id', $qb->createNamedParameter($cardId, IQueryBuilder::PARAM_INT)))
|
||||
->andWhere($qb->expr()->eq('data', $qb->createNamedParameter($data, IQueryBuilder::PARAM_STR)));
|
||||
->from($this->getTableName())
|
||||
->where($qb->expr()->eq('card_id', $qb->createNamedParameter($cardId, IQueryBuilder::PARAM_INT)))
|
||||
->andWhere($qb->expr()->eq('data', $qb->createNamedParameter($data, IQueryBuilder::PARAM_STR)));
|
||||
|
||||
return $this->findEntity($qb);
|
||||
}
|
||||
|
||||
@@ -31,7 +31,7 @@ class BoardMapper extends QBMapper implements IPermissionMapper {
|
||||
private IUserManager $userManager,
|
||||
private IGroupManager $groupManager,
|
||||
private CirclesService $circlesService,
|
||||
private LoggerInterface $logger
|
||||
private LoggerInterface $logger,
|
||||
) {
|
||||
parent::__construct($db, 'deck_boards', Board::class);
|
||||
|
||||
|
||||
@@ -165,7 +165,7 @@ class Card extends RelationalEntity {
|
||||
$matchDate->setTime(0, 0);
|
||||
|
||||
$diff = $today->diff($matchDate);
|
||||
return (int) $diff->format('%R%a'); // Extract days count in interval
|
||||
return (int)$diff->format('%R%a'); // Extract days count in interval
|
||||
}
|
||||
|
||||
public function getCalendarPrefix(): string {
|
||||
|
||||
@@ -45,7 +45,7 @@ class CardMapper extends QBMapper implements IPermissionMapper {
|
||||
IManager $notificationManager,
|
||||
ICacheFactory $cacheFactory,
|
||||
$databaseType = 'sqlite3',
|
||||
$database4ByteSupport = true
|
||||
$database4ByteSupport = true,
|
||||
) {
|
||||
parent::__construct($db, 'deck_cards', Card::class);
|
||||
$this->labelMapper = $labelMapper;
|
||||
@@ -402,7 +402,7 @@ class CardMapper extends QBMapper implements IPermissionMapper {
|
||||
if (count($query->getTag())) {
|
||||
foreach ($query->getTag() as $index => $tag) {
|
||||
$qb->innerJoin('c', 'deck_assigned_labels', 'al' . $index, $qb->expr()->eq('c.id', 'al' . $index . '.card_id'));
|
||||
$qb->innerJoin('al'. $index, 'deck_labels', 'l' . $index, $qb->expr()->eq('al' . $index . '.label_id', 'l' . $index . '.id'));
|
||||
$qb->innerJoin('al' . $index, 'deck_labels', 'l' . $index, $qb->expr()->eq('al' . $index . '.label_id', 'l' . $index . '.id'));
|
||||
$qb->andWhere($qb->expr()->iLike('l' . $index . '.title', $qb->createNamedParameter('%' . $this->db->escapeLikeParameter($tag->getValue()) . '%', IQueryBuilder::PARAM_STR)));
|
||||
}
|
||||
}
|
||||
@@ -410,7 +410,7 @@ class CardMapper extends QBMapper implements IPermissionMapper {
|
||||
foreach ($query->getDuedate() as $duedate) {
|
||||
$dueDateColumn = $this->databaseType === 'sqlite3' ? $qb->createFunction('DATETIME(`c`.`duedate`)') : 'c.duedate';
|
||||
$date = $duedate->getValue();
|
||||
if ($date === "") {
|
||||
if ($date === '') {
|
||||
$qb->andWhere($qb->expr()->isNotNull('c.duedate'));
|
||||
continue;
|
||||
}
|
||||
@@ -461,7 +461,7 @@ class CardMapper extends QBMapper implements IPermissionMapper {
|
||||
foreach ($query->getAssigned() as $index => $assignment) {
|
||||
$qb->innerJoin('c', 'deck_assigned_users', 'au' . $index, $qb->expr()->eq('c.id', 'au' . $index . '.card_id'));
|
||||
$assignedQueryValue = $assignment->getValue();
|
||||
if ($assignedQueryValue === "") {
|
||||
if ($assignedQueryValue === '') {
|
||||
$qb->andWhere($qb->expr()->isNotNull('au' . $index . '.participant'));
|
||||
continue;
|
||||
}
|
||||
@@ -589,7 +589,7 @@ class CardMapper extends QBMapper implements IPermissionMapper {
|
||||
}
|
||||
$this->cache->set('findBoardId:' . $id, $result);
|
||||
}
|
||||
return $result !== false ? (int) $result : null;
|
||||
return $result !== false ? (int)$result : null;
|
||||
}
|
||||
|
||||
public function mapOwner(Card &$card) {
|
||||
|
||||
@@ -24,7 +24,7 @@ class ChangeHelper {
|
||||
IDBConnection $db,
|
||||
ICacheFactory $cacheFactory,
|
||||
IRequest $request,
|
||||
?string $userId
|
||||
?string $userId,
|
||||
) {
|
||||
$this->db = $db;
|
||||
$this->cache = $cacheFactory->createDistributed('deck_changes');
|
||||
@@ -43,7 +43,7 @@ class ChangeHelper {
|
||||
public function cardChanged($cardId, $updateCard = true) {
|
||||
$time = time();
|
||||
$etag = md5($time . microtime());
|
||||
$this->cache->set(self::TYPE_CARD . '-' .$cardId, $etag);
|
||||
$this->cache->set(self::TYPE_CARD . '-' . $cardId, $etag);
|
||||
if ($updateCard) {
|
||||
$sql = 'UPDATE `*PREFIX*deck_cards` SET `last_modified` = ?, `last_editor` = ? WHERE `id` = ?';
|
||||
$this->db->executeUpdate($sql, [time(), $this->userId, $cardId]);
|
||||
@@ -60,7 +60,7 @@ class ChangeHelper {
|
||||
public function stackChanged($stackId, $updateBoard = true) {
|
||||
$time = time();
|
||||
$etag = md5($time . microtime());
|
||||
$this->cache->set(self::TYPE_CARD . '-' .$stackId, $etag);
|
||||
$this->cache->set(self::TYPE_CARD . '-' . $stackId, $etag);
|
||||
if ($updateBoard) {
|
||||
$sql = 'UPDATE `*PREFIX*deck_stacks` SET `last_modified` = ? WHERE `id` = ?';
|
||||
$this->db->executeUpdate($sql, [time(), $stackId]);
|
||||
@@ -76,7 +76,7 @@ class ChangeHelper {
|
||||
}
|
||||
|
||||
public function getEtag($type, $id) {
|
||||
$entry = $this->cache->get($type . '-' .$id);
|
||||
$entry = $this->cache->get($type . '-' . $id);
|
||||
if ($entry === 'null') {
|
||||
return '';
|
||||
}
|
||||
|
||||
@@ -24,7 +24,7 @@ class StackMapper extends DeckMapper implements IPermissionMapper {
|
||||
public function __construct(
|
||||
IDBConnection $db,
|
||||
CardMapper $cardMapper,
|
||||
ICacheFactory $cacheFactory
|
||||
ICacheFactory $cacheFactory,
|
||||
) {
|
||||
parent::__construct($db, 'deck_stacks', Stack::class);
|
||||
$this->cardMapper = $cardMapper;
|
||||
|
||||
@@ -38,7 +38,7 @@ class LiveUpdateListener implements IEventListener {
|
||||
IRequest $request,
|
||||
LoggerInterface $logger,
|
||||
SessionService $sessionService,
|
||||
StackMapper $stackMapper
|
||||
StackMapper $stackMapper,
|
||||
) {
|
||||
try {
|
||||
$this->queue = $container->get(IQueue::class);
|
||||
|
||||
@@ -10,27 +10,17 @@ use OCA\Deck\Service\DefaultBoardService;
|
||||
use OCA\Deck\Service\PermissionService;
|
||||
use OCP\AppFramework\Middleware;
|
||||
use OCP\IL10N;
|
||||
use OCP\ILogger;
|
||||
use Psr\Log\LoggerInterface;
|
||||
|
||||
class DefaultBoardMiddleware extends Middleware {
|
||||
|
||||
/** @var ILogger */
|
||||
private $logger;
|
||||
/** @var IL10N */
|
||||
private $l10n;
|
||||
/** @var DefaultBoardService */
|
||||
private $defaultBoardService;
|
||||
/** @var PermissionService */
|
||||
private $permissionService;
|
||||
/** @var string|null */
|
||||
private $userId;
|
||||
|
||||
public function __construct(ILogger $logger, IL10N $l10n, DefaultBoardService $defaultBoardService, PermissionService $permissionService, $userId) {
|
||||
$this->logger = $logger;
|
||||
$this->l10n = $l10n;
|
||||
$this->defaultBoardService = $defaultBoardService;
|
||||
$this->permissionService = $permissionService;
|
||||
$this->userId = $userId;
|
||||
public function __construct(
|
||||
private LoggerInterface $logger,
|
||||
private IL10N $l10n,
|
||||
private DefaultBoardService $defaultBoardService,
|
||||
private PermissionService $permissionService,
|
||||
private ?string $userId,
|
||||
) {
|
||||
}
|
||||
|
||||
public function beforeController($controller, $methodName) {
|
||||
@@ -39,7 +29,7 @@ class DefaultBoardMiddleware extends Middleware {
|
||||
$this->defaultBoardService->createDefaultBoard($this->l10n->t('Personal'), $this->userId, '0087C5');
|
||||
}
|
||||
} catch (\Throwable $e) {
|
||||
$this->logger->logException($e);
|
||||
$this->logger->error('Could not create default board', ['exception' => $e]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -15,28 +15,19 @@ use OCP\AppFramework\Middleware;
|
||||
use OCP\AppFramework\OCS\OCSException;
|
||||
use OCP\AppFramework\OCSController;
|
||||
use OCP\IConfig;
|
||||
use OCP\ILogger;
|
||||
use OCP\IRequest;
|
||||
use Psr\Log\LoggerInterface;
|
||||
|
||||
class ExceptionMiddleware extends Middleware {
|
||||
|
||||
/** @var ILogger */
|
||||
private $logger;
|
||||
/** @var IConfig */
|
||||
private $config;
|
||||
/** @var IRequest */
|
||||
private $request;
|
||||
|
||||
/**
|
||||
* SharingMiddleware constructor.
|
||||
*
|
||||
* @param ILogger $logger
|
||||
* @param IConfig $config
|
||||
*/
|
||||
public function __construct(ILogger $logger, IConfig $config, IRequest $request) {
|
||||
$this->logger = $logger;
|
||||
$this->config = $config;
|
||||
$this->request = $request;
|
||||
public function __construct(
|
||||
private LoggerInterface $logger,
|
||||
private IConfig $config,
|
||||
private IRequest $request,
|
||||
) {
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -69,9 +60,7 @@ class ExceptionMiddleware extends Middleware {
|
||||
}
|
||||
|
||||
if ($exception instanceof StatusException) {
|
||||
if ($this->config->getSystemValue('loglevel', ILogger::WARN) === ILogger::DEBUG) {
|
||||
$this->logger->logException($exception);
|
||||
}
|
||||
$this->logger->debug($exception->getMessage(), ['exception' => $exception]);
|
||||
|
||||
if ($exception instanceof ConflictException) {
|
||||
return new JSONResponse([
|
||||
@@ -98,9 +87,9 @@ class ExceptionMiddleware extends Middleware {
|
||||
'message' => $exceptionMessage,
|
||||
'requestId' => $this->request->getId(),
|
||||
];
|
||||
$this->logger->logException($exception);
|
||||
$this->logger->error($exception->getMessage(), ['exception' => $exception]);
|
||||
if ($debugMode === true) {
|
||||
$response['exception'] = (array) $exception;
|
||||
$response['exception'] = (array)$exception;
|
||||
}
|
||||
return new JSONResponse($response, 500);
|
||||
}
|
||||
|
||||
@@ -20,13 +20,13 @@ class Version11000Date20240222115515 extends SimpleMigrationStep {
|
||||
$returnValue = null;
|
||||
|
||||
$assignedUsersTable = $schema->getTable('deck_assigned_users');
|
||||
if($assignedUsersTable->hasIndex('deck_assigned_users_idx_c')) {
|
||||
if ($assignedUsersTable->hasIndex('deck_assigned_users_idx_c')) {
|
||||
$assignedUsersTable->dropIndex('deck_assigned_users_idx_c');
|
||||
$returnValue = $schema;
|
||||
}
|
||||
|
||||
$boardAclTable = $schema->getTable('deck_board_acl');
|
||||
if($boardAclTable->hasIndex('deck_board_acl_idx_i')) {
|
||||
if ($boardAclTable->hasIndex('deck_board_acl_idx_i')) {
|
||||
$boardAclTable->dropIndex('deck_board_acl_idx_i');
|
||||
$returnValue = $schema;
|
||||
}
|
||||
|
||||
@@ -58,7 +58,7 @@ class NotificationHelper {
|
||||
IConfig $config,
|
||||
IManager $notificationManager,
|
||||
IGroupManager $groupManager,
|
||||
$userId
|
||||
$userId,
|
||||
) {
|
||||
$this->cardMapper = $cardMapper;
|
||||
$this->boardMapper = $boardMapper;
|
||||
@@ -142,11 +142,11 @@ class NotificationHelper {
|
||||
->setUser($userId)
|
||||
->setDateTime(new DateTime())
|
||||
->setObject('card', (string)$card->getId())
|
||||
->setSubject('card-assigned', [
|
||||
$card->getTitle(),
|
||||
$board->getTitle(),
|
||||
$this->currentUser
|
||||
]);
|
||||
->setSubject('card-assigned', [
|
||||
$card->getTitle(),
|
||||
$board->getTitle(),
|
||||
$this->currentUser
|
||||
]);
|
||||
$this->notificationManager->notify($notification);
|
||||
}
|
||||
|
||||
@@ -206,9 +206,9 @@ class NotificationHelper {
|
||||
$notification = $this->notificationManager->createNotification();
|
||||
$notification
|
||||
->setApp('deck')
|
||||
->setUser((string) $mention['id'])
|
||||
->setUser((string)$mention['id'])
|
||||
->setDateTime(new DateTime())
|
||||
->setObject('card', (string) $card->getId())
|
||||
->setObject('card', (string)$card->getId())
|
||||
->setSubject('card-comment-mentioned', [$card->getTitle(), $boardId, $this->currentUser])
|
||||
->setMessage('{message}', ['message' => $comment->getMessage()]);
|
||||
$this->notificationManager->notify($notification);
|
||||
|
||||
@@ -36,7 +36,7 @@ class Notifier implements INotifier {
|
||||
IUserManager $userManager,
|
||||
CardMapper $cardMapper,
|
||||
StackMapper $stackMapper,
|
||||
BoardMapper $boardMapper
|
||||
BoardMapper $boardMapper,
|
||||
) {
|
||||
$this->l10nFactory = $l10nFactory;
|
||||
$this->url = $url;
|
||||
|
||||
@@ -47,7 +47,7 @@ class DeckProvider implements IFullTextSearchProvider {
|
||||
* @param FullTextSearchService $fullTextSearchService
|
||||
*/
|
||||
public function __construct(
|
||||
IL10N $l10n, IUrlGenerator $urlGenerator, FullTextSearchService $fullTextSearchService
|
||||
IL10N $l10n, IUrlGenerator $urlGenerator, FullTextSearchService $fullTextSearchService,
|
||||
) {
|
||||
$this->l10n = $l10n;
|
||||
$this->urlGenerator = $urlGenerator;
|
||||
|
||||
@@ -97,7 +97,7 @@ class BoardReferenceProvider implements IReferenceProvider {
|
||||
preg_match('/^' . preg_quote($startIndex, '/') . '(?:\/#!?)?\/board\/([0-9]+)$/', $url, $matches);
|
||||
}
|
||||
if ($matches && count($matches) > 1) {
|
||||
return (int) $matches[1];
|
||||
return (int)$matches[1];
|
||||
}
|
||||
|
||||
return null;
|
||||
@@ -106,7 +106,7 @@ class BoardReferenceProvider implements IReferenceProvider {
|
||||
public function getCachePrefix(string $referenceId): string {
|
||||
$boardId = $this->getBoardId($referenceId);
|
||||
if ($boardId !== null) {
|
||||
return (string) $boardId;
|
||||
return (string)$boardId;
|
||||
}
|
||||
|
||||
return $referenceId;
|
||||
|
||||
@@ -111,9 +111,9 @@ class CardReferenceProvider extends ADiscoverableReferenceProvider implements IS
|
||||
if ($ids !== null) {
|
||||
[, $cardId] = $ids;
|
||||
try {
|
||||
$card = $this->cardService->find((int) $cardId)->jsonSerialize();
|
||||
$stack = $this->stackService->find((int) $card['stackId'])->jsonSerialize();
|
||||
$board = $this->boardService->find((int) $stack['boardId'])->jsonSerialize();
|
||||
$card = $this->cardService->find((int)$cardId)->jsonSerialize();
|
||||
$stack = $this->stackService->find((int)$card['stackId'])->jsonSerialize();
|
||||
$board = $this->boardService->find((int)$stack['boardId'])->jsonSerialize();
|
||||
} catch (NoPermissionException $e) {
|
||||
// Skip throwing if user has no permissions
|
||||
return null;
|
||||
|
||||
@@ -73,7 +73,7 @@ class CommentReferenceProvider implements IReferenceProvider {
|
||||
try {
|
||||
$card = $this->cardService->find($cardId)->jsonSerialize();
|
||||
$board = $this->boardService->find($boardId)->jsonSerialize();
|
||||
$stack = $this->stackService->find((int) $card['stackId'])->jsonSerialize();
|
||||
$stack = $this->stackService->find((int)$card['stackId'])->jsonSerialize();
|
||||
} catch (NoPermissionException $e) {
|
||||
// Skip throwing if user has no permissions
|
||||
return null;
|
||||
@@ -162,9 +162,9 @@ class CommentReferenceProvider implements IReferenceProvider {
|
||||
}
|
||||
if ($matches && count($matches) > 3) {
|
||||
return [
|
||||
(int) $matches[1],
|
||||
(int) $matches[2],
|
||||
(int) $matches[3],
|
||||
(int)$matches[1],
|
||||
(int)$matches[2],
|
||||
(int)$matches[3],
|
||||
];
|
||||
}
|
||||
|
||||
|
||||
@@ -17,7 +17,8 @@ class CreateCardReferenceProvider extends ADiscoverableReferenceProvider {
|
||||
public function __construct(
|
||||
private IL10N $l10n,
|
||||
private IURLGenerator $urlGenerator,
|
||||
private ?string $userId) {
|
||||
private ?string $userId,
|
||||
) {
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -25,7 +25,7 @@ class CardCommentProvider implements IProvider {
|
||||
|
||||
public function __construct(
|
||||
SearchService $searchService,
|
||||
IL10N $l10n
|
||||
IL10N $l10n,
|
||||
) {
|
||||
$this->searchService = $searchService;
|
||||
$this->l10n = $l10n;
|
||||
|
||||
@@ -27,7 +27,7 @@ class DeckProvider implements IProvider {
|
||||
public function __construct(
|
||||
SearchService $searchService,
|
||||
IURLGenerator $urlGenerator,
|
||||
IL10N $l10n
|
||||
IL10N $l10n,
|
||||
) {
|
||||
$this->l10n = $l10n;
|
||||
$this->searchService = $searchService;
|
||||
|
||||
@@ -76,7 +76,7 @@ class AssignmentService {
|
||||
ChangeHelper $changeHelper,
|
||||
IEventDispatcher $eventDispatcher,
|
||||
AssignmentServiceValidator $assignmentServiceValidator,
|
||||
$userId
|
||||
$userId,
|
||||
) {
|
||||
$this->assignmentServiceValidator = $assignmentServiceValidator;
|
||||
$this->permissionService = $permissionService;
|
||||
|
||||
@@ -58,7 +58,7 @@ class AttachmentService {
|
||||
$userId,
|
||||
IL10N $l10n,
|
||||
ActivityManager $activityManager,
|
||||
AttachmentServiceValidator $attachmentServiceValidator
|
||||
AttachmentServiceValidator $attachmentServiceValidator,
|
||||
) {
|
||||
$this->attachmentMapper = $attachmentMapper;
|
||||
$this->cardMapper = $cardMapper;
|
||||
|
||||
@@ -89,7 +89,7 @@ class BoardService {
|
||||
IDBConnection $connection,
|
||||
BoardServiceValidator $boardServiceValidator,
|
||||
SessionMapper $sessionMapper,
|
||||
?string $userId
|
||||
?string $userId,
|
||||
) {
|
||||
$this->boardMapper = $boardMapper;
|
||||
$this->stackMapper = $stackMapper;
|
||||
|
||||
@@ -77,7 +77,7 @@ class CardService {
|
||||
LoggerInterface $logger,
|
||||
IRequest $request,
|
||||
CardServiceValidator $cardServiceValidator,
|
||||
?string $userId
|
||||
?string $userId,
|
||||
) {
|
||||
$this->cardMapper = $cardMapper;
|
||||
$this->stackMapper = $stackMapper;
|
||||
@@ -356,11 +356,11 @@ class CardService {
|
||||
$card = $this->cardMapper->update($card);
|
||||
$oldBoardId = $this->stackMapper->findBoardId($changes->getBefore()->getStackId());
|
||||
$boardId = $this->cardMapper->findBoardId($card->getId());
|
||||
if($boardId !== $oldBoardId) {
|
||||
if ($boardId !== $oldBoardId) {
|
||||
$stack = $this->stackMapper->find($card->getStackId());
|
||||
$board = $this->boardService->find($this->cardMapper->findBoardId($card->getId()));
|
||||
$boardLabels = $board->getLabels() ?? [];
|
||||
foreach($card->getLabels() as $cardLabel) {
|
||||
foreach ($card->getLabels() as $cardLabel) {
|
||||
$this->removeLabel($card->getId(), $cardLabel->getId());
|
||||
$label = $this->labelMapper->find($cardLabel->getId());
|
||||
$filteredLabels = array_values(array_filter($boardLabels, fn ($item) => $item->getTitle() === $label->getTitle()));
|
||||
|
||||
@@ -17,26 +17,22 @@ use OCP\Comments\IComment;
|
||||
use OCP\Comments\ICommentsManager;
|
||||
use OCP\Comments\MessageTooLongException;
|
||||
use OCP\Comments\NotFoundException as CommentNotFoundException;
|
||||
use OCP\ILogger;
|
||||
use OCP\IUserManager;
|
||||
use OutOfBoundsException;
|
||||
use Psr\Log\LoggerInterface;
|
||||
|
||||
use function is_numeric;
|
||||
|
||||
class CommentService {
|
||||
private ICommentsManager $commentsManager;
|
||||
private IUserManager $userManager;
|
||||
private CardMapper $cardMapper;
|
||||
private PermissionService $permissionService;
|
||||
private ILogger $logger;
|
||||
private ?string $userId;
|
||||
|
||||
public function __construct(ICommentsManager $commentsManager, PermissionService $permissionService, CardMapper $cardMapper, IUserManager $userManager, ILogger $logger, ?string $userId) {
|
||||
$this->commentsManager = $commentsManager;
|
||||
$this->permissionService = $permissionService;
|
||||
$this->cardMapper = $cardMapper;
|
||||
$this->userManager = $userManager;
|
||||
$this->logger = $logger;
|
||||
$this->userId = $userId;
|
||||
public function __construct(
|
||||
private ICommentsManager $commentsManager,
|
||||
private PermissionService $permissionService,
|
||||
private CardMapper $cardMapper,
|
||||
private IUserManager $userManager,
|
||||
private LoggerInterface $logger,
|
||||
private ?string $userId,
|
||||
) {
|
||||
}
|
||||
|
||||
public function list(string $cardId, int $limit = 20, int $offset = 0): DataResponse {
|
||||
@@ -69,8 +65,8 @@ class CommentService {
|
||||
private function get(int $cardId, int $commentId): IComment {
|
||||
$this->permissionService->checkPermission($this->cardMapper, $cardId, Acl::PERMISSION_READ);
|
||||
try {
|
||||
$comment = $this->commentsManager->get((string) $commentId);
|
||||
if ($comment->getObjectType() !== Application::COMMENT_ENTITY_TYPE || (int) $comment->getObjectId() !== $cardId) {
|
||||
$comment = $this->commentsManager->get((string)$commentId);
|
||||
if ($comment->getObjectType() !== Application::COMMENT_ENTITY_TYPE || (int)$comment->getObjectId() !== $cardId) {
|
||||
throw new CommentNotFoundException();
|
||||
}
|
||||
} catch (CommentNotFoundException $e) {
|
||||
@@ -138,7 +134,7 @@ class CommentService {
|
||||
if (!is_numeric($commentId)) {
|
||||
throw new BadRequestException('A valid comment id must be provided');
|
||||
}
|
||||
$comment = $this->get((int) $cardId, (int) $commentId);
|
||||
$comment = $this->get((int)$cardId, (int)$commentId);
|
||||
if ($comment->getActorType() !== 'users' || $comment->getActorId() !== $this->userId) {
|
||||
throw new NoPermissionException('Only authors are allowed to edit their comment.');
|
||||
}
|
||||
@@ -187,8 +183,8 @@ class CommentService {
|
||||
try {
|
||||
$displayName = $this->commentsManager->resolveDisplayName($mention['type'], $mention['id']);
|
||||
} catch (OutOfBoundsException $e) {
|
||||
$this->logger->logException($e);
|
||||
// No displayname, upon client's discretion what to display.
|
||||
$this->logger->warning('Mention type not registered, can not resolve display name.', ['exception' => $e, 'mention_type' => $mention['type']]);
|
||||
// No display name, upon client's discretion what to display.
|
||||
$displayName = '';
|
||||
}
|
||||
|
||||
|
||||
@@ -29,7 +29,7 @@ class ConfigService {
|
||||
|
||||
public function __construct(
|
||||
IConfig $config,
|
||||
IGroupManager $groupManager
|
||||
IGroupManager $groupManager,
|
||||
) {
|
||||
$this->groupManager = $groupManager;
|
||||
$this->config = $config;
|
||||
|
||||
@@ -27,7 +27,7 @@ class DefaultBoardService {
|
||||
BoardService $boardService,
|
||||
StackService $stackService,
|
||||
CardService $cardService,
|
||||
IConfig $config
|
||||
IConfig $config,
|
||||
) {
|
||||
$this->boardService = $boardService;
|
||||
$this->stackService = $stackService;
|
||||
|
||||
@@ -20,37 +20,21 @@ use OCP\Files\SimpleFS\ISimpleFile;
|
||||
use OCP\Files\SimpleFS\ISimpleFolder;
|
||||
use OCP\IConfig;
|
||||
use OCP\IL10N;
|
||||
use OCP\ILogger;
|
||||
use OCP\IRequest;
|
||||
use Psr\Log\LoggerInterface;
|
||||
|
||||
class FileService implements IAttachmentService {
|
||||
private $l10n;
|
||||
private $appData;
|
||||
private $request;
|
||||
private $logger;
|
||||
private $rootFolder;
|
||||
private $config;
|
||||
private $attachmentMapper;
|
||||
private $mimeTypeDetector;
|
||||
|
||||
public function __construct(
|
||||
IL10N $l10n,
|
||||
IAppData $appData,
|
||||
IRequest $request,
|
||||
ILogger $logger,
|
||||
IRootFolder $rootFolder,
|
||||
IConfig $config,
|
||||
AttachmentMapper $attachmentMapper,
|
||||
IMimeTypeDetector $mimeTypeDetector
|
||||
private IL10N $l10n,
|
||||
private IAppData $appData,
|
||||
private IRequest $request,
|
||||
private LoggerInterface $logger,
|
||||
private IRootFolder $rootFolder,
|
||||
private IConfig $config,
|
||||
private AttachmentMapper $attachmentMapper,
|
||||
private IMimeTypeDetector $mimeTypeDetector,
|
||||
) {
|
||||
$this->l10n = $l10n;
|
||||
$this->appData = $appData;
|
||||
$this->request = $request;
|
||||
$this->logger = $logger;
|
||||
$this->rootFolder = $rootFolder;
|
||||
$this->config = $config;
|
||||
$this->attachmentMapper = $attachmentMapper;
|
||||
$this->mimeTypeDetector = $mimeTypeDetector;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -193,6 +177,7 @@ class FileService implements IAttachmentService {
|
||||
/**
|
||||
* Workaround until ISimpleFile can be fetched as a resource
|
||||
*
|
||||
* @return \OCP\Files\File
|
||||
* @throws \Exception
|
||||
*/
|
||||
private function getFileFromRootFolder(Attachment $attachment) {
|
||||
|
||||
@@ -55,7 +55,7 @@ class FilesAppService implements IAttachmentService, ICustomAttachmentService {
|
||||
CardMapper $cardMapper,
|
||||
LoggerInterface $logger,
|
||||
IDBConnection $connection,
|
||||
?string $userId
|
||||
?string $userId,
|
||||
) {
|
||||
$this->request = $request;
|
||||
$this->l10n = $l10n;
|
||||
|
||||
@@ -39,7 +39,7 @@ class FullTextSearchService {
|
||||
private $cardMapper;
|
||||
|
||||
public function __construct(
|
||||
BoardMapper $boardMapper, StackMapper $stackMapper, CardMapper $cardMapper
|
||||
BoardMapper $boardMapper, StackMapper $stackMapper, CardMapper $cardMapper,
|
||||
) {
|
||||
$this->boardMapper = $boardMapper;
|
||||
$this->stackMapper = $stackMapper;
|
||||
|
||||
@@ -70,7 +70,7 @@ class BoardImportService {
|
||||
private CardMapper $cardMapper,
|
||||
private ICommentsManager $commentsManager,
|
||||
private IEventDispatcher $eventDispatcher,
|
||||
private LoggerInterface $logger
|
||||
private LoggerInterface $logger,
|
||||
) {
|
||||
$this->board = new Board();
|
||||
$this->disableCommentsEvents();
|
||||
@@ -364,7 +364,7 @@ class BoardImportService {
|
||||
$this->getImportSystem()->updateCardAssignment($cardId, (string)$assignment->getId(), $assignment);
|
||||
$this->addOutput('Assignment ' . $assignment->getParticipant() . ' added');
|
||||
} catch (NotFoundException $e) {
|
||||
$this->addError('No origin or mapping found for card "' . $cardId . '" and ' . $assignment->getTypeString() .' assignment "' . $assignment->getParticipant(), $e);
|
||||
$this->addError('No origin or mapping found for card "' . $cardId . '" and ' . $assignment->getTypeString() . ' assignment "' . $assignment->getParticipant(), $e);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -404,7 +404,7 @@ class BoardImportService {
|
||||
* @return void
|
||||
*/
|
||||
public function setConfig(string $configName, $value): void {
|
||||
if (empty((array) $this->config)) {
|
||||
if (empty((array)$this->config)) {
|
||||
$this->setConfigInstance(new \stdClass);
|
||||
}
|
||||
$this->config->$configName = $value;
|
||||
|
||||
@@ -51,7 +51,7 @@ class DeckJsonService extends ABoardImportService {
|
||||
if (!is_string($nextcloudUid) && !is_numeric($nextcloudUid)) {
|
||||
throw new \LogicException('User on setting uidRelation is invalid');
|
||||
}
|
||||
$nextcloudUid = (string) $nextcloudUid;
|
||||
$nextcloudUid = (string)$nextcloudUid;
|
||||
$this->getImportService()->getConfig('uidRelation')->$exportUid = $this->userManager->get($nextcloudUid);
|
||||
if (!$this->getImportService()->getConfig('uidRelation')->$exportUid) {
|
||||
throw new \LogicException('User on setting uidRelation not found: ' . $nextcloudUid);
|
||||
@@ -106,7 +106,7 @@ class DeckJsonService extends ABoardImportService {
|
||||
public function getComments(): array {
|
||||
$comments = [];
|
||||
foreach ($this->tmpCards as $sourceCard) {
|
||||
if (!property_exists($sourceCard, "comments")) {
|
||||
if (!property_exists($sourceCard, 'comments')) {
|
||||
continue;
|
||||
}
|
||||
$commentsOriginal = $sourceCard->comments;
|
||||
|
||||
@@ -31,7 +31,7 @@ class TrelloApiService extends TrelloJsonService {
|
||||
IURLGenerator $urlGenerator,
|
||||
IL10N $l10n,
|
||||
LoggerInterface $logger,
|
||||
IClientService $httpClientService
|
||||
IClientService $httpClientService,
|
||||
) {
|
||||
parent::__construct($userManager, $urlGenerator, $l10n);
|
||||
$this->logger = $logger;
|
||||
|
||||
@@ -37,7 +37,7 @@ class TrelloJsonService extends ABoardImportService {
|
||||
public function __construct(
|
||||
IUserManager $userManager,
|
||||
IURLGenerator $urlGenerator,
|
||||
IL10N $l10n
|
||||
IL10N $l10n,
|
||||
) {
|
||||
$this->userManager = $userManager;
|
||||
$this->urlGenerator = $urlGenerator;
|
||||
@@ -71,7 +71,7 @@ class TrelloJsonService extends ABoardImportService {
|
||||
if (!is_string($nextcloudUid) && !is_numeric($nextcloudUid)) {
|
||||
throw new \LogicException('User on setting uidRelation is invalid');
|
||||
}
|
||||
$nextcloudUid = (string) $nextcloudUid;
|
||||
$nextcloudUid = (string)$nextcloudUid;
|
||||
$this->getImportService()->getConfig('uidRelation')->$trelloUid = $this->userManager->get($nextcloudUid);
|
||||
if (!$this->getImportService()->getConfig('uidRelation')->$trelloUid) {
|
||||
throw new \LogicException('User on setting uidRelation not found: ' . $nextcloudUid);
|
||||
@@ -141,7 +141,7 @@ class TrelloJsonService extends ABoardImportService {
|
||||
$message = $this->l10n->t(
|
||||
"This comment has more than %s characters.\n" .
|
||||
"Added as an attachment to the card with name %s.\n" .
|
||||
"Accessible on URL: %s.",
|
||||
'Accessible on URL: %s.',
|
||||
[
|
||||
IComment::MAX_MESSAGE_LENGTH,
|
||||
'comment_' . $commentId . '.md',
|
||||
|
||||
@@ -32,7 +32,7 @@ class LabelService {
|
||||
PermissionService $permissionService,
|
||||
BoardService $boardService,
|
||||
ChangeHelper $changeHelper,
|
||||
LabelServiceValidator $labelServiceValidator
|
||||
LabelServiceValidator $labelServiceValidator,
|
||||
) {
|
||||
$this->labelMapper = $labelMapper;
|
||||
$this->permissionService = $permissionService;
|
||||
|
||||
@@ -36,7 +36,7 @@ class OverviewService {
|
||||
AssignmentMapper $assignedUsersMapper,
|
||||
IUserManager $userManager,
|
||||
ICommentsManager $commentsManager,
|
||||
AttachmentService $attachmentService
|
||||
AttachmentService $attachmentService,
|
||||
) {
|
||||
$this->cardService = $cardService;
|
||||
$this->boardMapper = $boardMapper;
|
||||
|
||||
@@ -40,7 +40,7 @@ class PermissionService {
|
||||
private IGroupManager $groupManager,
|
||||
private IManager $shareManager,
|
||||
private IConfig $config,
|
||||
private ?string $userId
|
||||
private ?string $userId,
|
||||
) {
|
||||
$this->boardCache = new CappedMemoryCache();
|
||||
$this->permissionCache = new CappedMemoryCache();
|
||||
@@ -143,7 +143,7 @@ class PermissionService {
|
||||
try {
|
||||
$board = $this->getBoard($boardId);
|
||||
return $userId === $board->getOwner();
|
||||
} catch (DoesNotExistException | MultipleObjectsReturnedException $e) {
|
||||
} catch (DoesNotExistException|MultipleObjectsReturnedException $e) {
|
||||
}
|
||||
return false;
|
||||
}
|
||||
@@ -205,8 +205,8 @@ class PermissionService {
|
||||
*/
|
||||
public function findUsers($boardId, $refresh = false) {
|
||||
// cache users of a board so we don't query them for every cards
|
||||
if (array_key_exists((string) $boardId, $this->users) && !$refresh) {
|
||||
return $this->users[(string) $boardId];
|
||||
if (array_key_exists((string)$boardId, $this->users) && !$refresh) {
|
||||
return $this->users[(string)$boardId];
|
||||
}
|
||||
|
||||
try {
|
||||
@@ -269,8 +269,8 @@ class PermissionService {
|
||||
}
|
||||
}
|
||||
}
|
||||
$this->users[(string) $boardId] = $users;
|
||||
return $this->users[(string) $boardId];
|
||||
$this->users[(string)$boardId] = $users;
|
||||
return $this->users[(string)$boardId];
|
||||
}
|
||||
|
||||
public function canCreate() {
|
||||
|
||||
@@ -46,7 +46,7 @@ class SearchService {
|
||||
FilterStringParser $filterStringParser,
|
||||
IUserManager $userManager,
|
||||
IL10N $l10n,
|
||||
IURLGenerator $urlGenerator
|
||||
IURLGenerator $urlGenerator,
|
||||
) {
|
||||
$this->boardService = $boardService;
|
||||
$this->cardMapper = $cardMapper;
|
||||
|
||||
@@ -33,7 +33,7 @@ class SessionService {
|
||||
ISecureRandom $secureRandom,
|
||||
ITimeFactory $timeFactory,
|
||||
$userId,
|
||||
IEventDispatcher $eventDispatcher
|
||||
IEventDispatcher $eventDispatcher,
|
||||
) {
|
||||
$this->sessionMapper = $sessionMapper;
|
||||
$this->secureRandom = $secureRandom;
|
||||
|
||||
@@ -56,7 +56,7 @@ class StackService {
|
||||
ChangeHelper $changeHelper,
|
||||
LoggerInterface $logger,
|
||||
IEventDispatcher $eventDispatcher,
|
||||
StackServiceValidator $stackServiceValidator
|
||||
StackServiceValidator $stackServiceValidator,
|
||||
) {
|
||||
$this->stackMapper = $stackMapper;
|
||||
$this->boardMapper = $boardMapper;
|
||||
|
||||
@@ -69,7 +69,7 @@ class DeckShareProvider implements \OCP\Share\IShareProvider {
|
||||
IL10N $l,
|
||||
ITimeFactory $timeFactory,
|
||||
IMimeTypeLoader $mimeTypeLoader,
|
||||
?string $userId
|
||||
?string $userId,
|
||||
) {
|
||||
$this->dbConnection = $connection;
|
||||
$this->shareManager = $shareManager;
|
||||
@@ -110,7 +110,7 @@ class DeckShareProvider implements \OCP\Share\IShareProvider {
|
||||
try {
|
||||
$board = $this->boardMapper->find($boardId);
|
||||
$valid = $valid && !$board->getArchived();
|
||||
} catch (DoesNotExistException | MultipleObjectsReturnedException $e) {
|
||||
} catch (DoesNotExistException|MultipleObjectsReturnedException $e) {
|
||||
$valid = false;
|
||||
}
|
||||
|
||||
@@ -174,7 +174,7 @@ class DeckShareProvider implements \OCP\Share\IShareProvider {
|
||||
string $target,
|
||||
int $permissions,
|
||||
string $token,
|
||||
?\DateTime $expirationDate
|
||||
?\DateTime $expirationDate,
|
||||
): int {
|
||||
$qb = $this->dbConnection->getQueryBuilder();
|
||||
$qb->insert('share')
|
||||
@@ -966,8 +966,8 @@ class DeckShareProvider implements \OCP\Share\IShareProvider {
|
||||
protected function filterSharesOfUser(array $shares): array {
|
||||
// Deck shares when the user has a share exception
|
||||
foreach ($shares as $id => $share) {
|
||||
$type = (int) $share['share_type'];
|
||||
$permissions = (int) $share['permissions'];
|
||||
$type = (int)$share['share_type'];
|
||||
$permissions = (int)$share['permissions'];
|
||||
|
||||
if ($type === self::SHARE_TYPE_DECK_USER) {
|
||||
unset($shares[$share['parent']]);
|
||||
|
||||
@@ -59,6 +59,6 @@ class DeckTeamResourceProvider implements \OCP\Teams\ITeamResourceProvider {
|
||||
}
|
||||
|
||||
public function getBoardBulletIcon(Board $board): string {
|
||||
return '<svg xmlns="http://www.w3.org/2000/svg" height="16" width="16" version="1.1" viewBox="0 0 16 16"><g fill="#' . $board->getColor(). '"><rect ry="15" height="14" width="14" y="1" x="1"/></g></svg>';
|
||||
return '<svg xmlns="http://www.w3.org/2000/svg" height="16" width="16" version="1.1" viewBox="0 0 16 16"><g fill="#' . $board->getColor() . '"><rect ry="15" height="14" width="14" y="1" x="1"/></g></svg>';
|
||||
}
|
||||
}
|
||||
|
||||
@@ -45,7 +45,7 @@ abstract class BaseValidator {
|
||||
} else {
|
||||
if (!$this->{$rule}($value)) {
|
||||
throw new BadRequestException(
|
||||
$field . ' must be provided and must be '. str_replace("_", " ", $rule));
|
||||
$field . ' must be provided and must be ' . str_replace('_', ' ', $rule));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -111,7 +111,7 @@ abstract class BaseValidator {
|
||||
*/
|
||||
private function max($value, $limit): bool {
|
||||
if (!$limit || !is_numeric($limit)) {
|
||||
throw new Exception("Validation rule max requires at least 1 parameter. " . json_encode($limit));
|
||||
throw new Exception('Validation rule max requires at least 1 parameter. ' . json_encode($limit));
|
||||
}
|
||||
return $this->getSize($value) <= $limit;
|
||||
}
|
||||
@@ -121,7 +121,7 @@ abstract class BaseValidator {
|
||||
*/
|
||||
private function min($value, $limit): bool {
|
||||
if (!$limit || !is_numeric($limit)) {
|
||||
throw new Exception("Validation rule max requires at least 1 parameter.");
|
||||
throw new Exception('Validation rule max requires at least 1 parameter.');
|
||||
}
|
||||
return $this->getSize($value) >= $limit;
|
||||
}
|
||||
@@ -129,7 +129,7 @@ abstract class BaseValidator {
|
||||
/**
|
||||
* Get the size of an attribute.
|
||||
*
|
||||
* @param mixed $value
|
||||
* @param mixed $value
|
||||
* @return int
|
||||
*/
|
||||
protected function getSize($value): int {
|
||||
@@ -154,10 +154,10 @@ abstract class BaseValidator {
|
||||
protected function getErrorMessage($rule, $field, $parameter = null): string {
|
||||
if (in_array($rule, ['max', 'min'])) {
|
||||
return $rule === 'max'
|
||||
? $field . ' cannot be longer than '. $parameter . ' characters '
|
||||
: $field . ' must be at least '. $parameter . ' characters long ';
|
||||
? $field . ' cannot be longer than ' . $parameter . ' characters '
|
||||
: $field . ' must be at least ' . $parameter . ' characters long ';
|
||||
}
|
||||
|
||||
return $field . ' must be provided and must be '. str_replace("_", " ", $rule);
|
||||
return $field . ' must be provided and must be ' . str_replace('_', ' ', $rule);
|
||||
}
|
||||
}
|
||||
|
||||
333
package-lock.json
generated
333
package-lock.json
generated
@@ -1,31 +1,31 @@
|
||||
{
|
||||
"name": "deck",
|
||||
"version": "1.14.2",
|
||||
"version": "2.0.0-dev.0",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "deck",
|
||||
"version": "1.14.2",
|
||||
"version": "2.0.0-dev.0",
|
||||
"license": "agpl",
|
||||
"dependencies": {
|
||||
"@babel/polyfill": "^7.12.1",
|
||||
"@babel/runtime": "^7.24.8",
|
||||
"@nextcloud/auth": "^2.3.0",
|
||||
"@nextcloud/axios": "^2.5.0",
|
||||
"@babel/runtime": "^7.25.7",
|
||||
"@nextcloud/auth": "^2.4.0",
|
||||
"@nextcloud/axios": "^2.5.1",
|
||||
"@nextcloud/capabilities": "^1.2.0",
|
||||
"@nextcloud/dialogs": "^5.3.5",
|
||||
"@nextcloud/dialogs": "^6.0.0",
|
||||
"@nextcloud/event-bus": "^3.3.1",
|
||||
"@nextcloud/files": "^3.8.0",
|
||||
"@nextcloud/files": "^3.9.0",
|
||||
"@nextcloud/initial-state": "^2.2.0",
|
||||
"@nextcloud/l10n": "^3.1.0",
|
||||
"@nextcloud/moment": "^1.3.1",
|
||||
"@nextcloud/notify_push": "^1.3.0",
|
||||
"@nextcloud/router": "^3.0.1",
|
||||
"@nextcloud/vue": "^8.16.0",
|
||||
"@nextcloud/vue": "^8.19.0",
|
||||
"blueimp-md5": "^2.19.0",
|
||||
"chroma-js": "^2.6.0",
|
||||
"dompurify": "^3.1.6",
|
||||
"chroma-js": "^3.1.1",
|
||||
"dompurify": "^3.1.7",
|
||||
"lodash": "^4.17.21",
|
||||
"markdown-it": "^14.1.0",
|
||||
"markdown-it-link-attributes": "^4.0.1",
|
||||
@@ -39,7 +39,7 @@
|
||||
"vue-click-outside": "^1.1.0",
|
||||
"vue-easymde": "^2.0.0",
|
||||
"vue-infinite-loading": "^2.4.5",
|
||||
"vue-material-design-icons": "^5.3.0",
|
||||
"vue-material-design-icons": "^5.3.1",
|
||||
"vue-router": "^3.6.5",
|
||||
"vue-smooth-dnd": "^0.8.1",
|
||||
"vuex": "^3.6.2",
|
||||
@@ -48,15 +48,15 @@
|
||||
"devDependencies": {
|
||||
"@nextcloud/babel-config": "^1.2.0",
|
||||
"@nextcloud/browserslist-config": "^3.0.1",
|
||||
"@nextcloud/cypress": "^1.0.0-beta.8",
|
||||
"@nextcloud/cypress": "^1.0.0-beta.9",
|
||||
"@nextcloud/eslint-config": "^8.4.1",
|
||||
"@nextcloud/stylelint-config": "^3.0.1",
|
||||
"@nextcloud/webpack-vue-config": "^6.0.0",
|
||||
"@relative-ci/agent": "^4.2.10",
|
||||
"@nextcloud/webpack-vue-config": "^6.2.0",
|
||||
"@relative-ci/agent": "^4.2.12",
|
||||
"@vue/test-utils": "^2.4.6",
|
||||
"@vue/vue2-jest": "^29.2.6",
|
||||
"cypress": "^13.13.2",
|
||||
"eslint-plugin-cypress": "^3.3.0",
|
||||
"cypress": "^13.15.0",
|
||||
"eslint-plugin-cypress": "^3.5.0",
|
||||
"eslint-webpack-plugin": "^4.2.0",
|
||||
"jest": "^29.7.0",
|
||||
"jest-serializer-vue": "^3.1.0",
|
||||
@@ -1917,9 +1917,9 @@
|
||||
"peer": true
|
||||
},
|
||||
"node_modules/@babel/runtime": {
|
||||
"version": "7.26.0",
|
||||
"resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.26.0.tgz",
|
||||
"integrity": "sha512-FDSOghenHTiToteC/QRlv2q3DhPZ/oOXTBoirfWNx1Cx3TMVcGWQtMMmQcSvb/JjpNeGzx8Pq/b4fKEJuWm1sw==",
|
||||
"version": "7.25.7",
|
||||
"resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.25.7.tgz",
|
||||
"integrity": "sha512-FjoyLe754PMiYsFaN5C94ttGiOmBNYTf6pLr4xXHAT5uctHb092PBszndLDR5XA/jghQvn4n7JMHl7dmTgbm9w==",
|
||||
"dependencies": {
|
||||
"regenerator-runtime": "^0.14.0"
|
||||
},
|
||||
@@ -1994,9 +1994,9 @@
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/@bundle-stats/plugin-webpack-validate": {
|
||||
"version": "4.16.0",
|
||||
"resolved": "https://registry.npmjs.org/@bundle-stats/plugin-webpack-validate/-/plugin-webpack-validate-4.16.0.tgz",
|
||||
"integrity": "sha512-2i+iGMOBS1uPy7nZR9apHbdx8x+FBO9iW69J3IOvAoliwE/KHl2mBpXAUhg8U4f/Sv3ujfue2VFaVlP1gIqyLQ==",
|
||||
"version": "4.15.1",
|
||||
"resolved": "https://registry.npmjs.org/@bundle-stats/plugin-webpack-validate/-/plugin-webpack-validate-4.15.1.tgz",
|
||||
"integrity": "sha512-VycwooUWK3yCAWK2fKN7Qr2ies+Ujzvq0LmAs7zYUUkCKfQgBeyY/vLfq8WrsS17poVJ+05XCJQavQm6IQEldg==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"lodash": "4.17.21",
|
||||
@@ -2133,9 +2133,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@cypress/request": {
|
||||
"version": "3.0.6",
|
||||
"resolved": "https://registry.npmjs.org/@cypress/request/-/request-3.0.6.tgz",
|
||||
"integrity": "sha512-fi0eVdCOtKu5Ed6+E8mYxUF6ZTFJDZvHogCBelM0xVXmrDEkyM22gRArQzq1YcHPm1V47Vf/iAD+WgVdUlJCGg==",
|
||||
"version": "3.0.5",
|
||||
"resolved": "https://registry.npmjs.org/@cypress/request/-/request-3.0.5.tgz",
|
||||
"integrity": "sha512-v+XHd9XmWbufxF1/bTaVm2yhbxY+TB4YtWRqF2zaXBlDNMkls34KiATz0AVDLavL3iB6bQk9/7n3oY1EoLSWGA==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"aws-sign2": "~0.7.0",
|
||||
@@ -2153,7 +2153,7 @@
|
||||
"performance-now": "^2.1.0",
|
||||
"qs": "6.13.0",
|
||||
"safe-buffer": "^5.1.2",
|
||||
"tough-cookie": "^5.0.0",
|
||||
"tough-cookie": "^4.1.3",
|
||||
"tunnel-agent": "^0.6.0",
|
||||
"uuid": "^8.3.2"
|
||||
},
|
||||
@@ -3323,7 +3323,6 @@
|
||||
"resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.6.tgz",
|
||||
"integrity": "sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@jridgewell/gen-mapping": "^0.3.5",
|
||||
@@ -3563,9 +3562,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@nextcloud/dialogs": {
|
||||
"version": "5.3.8",
|
||||
"resolved": "https://registry.npmjs.org/@nextcloud/dialogs/-/dialogs-5.3.8.tgz",
|
||||
"integrity": "sha512-FtVwWXYLgTg9XKYNawYGi4Vt8T9QTuOi0qRgOzmnj8NK4CzRikIXbkXkqQKRkRn8LufLpW9c8aE6y5CtVljnZQ==",
|
||||
"version": "6.0.0",
|
||||
"resolved": "https://registry.npmjs.org/@nextcloud/dialogs/-/dialogs-6.0.0.tgz",
|
||||
"integrity": "sha512-Yoye/BezFN/hQCic+OHNPSESNI3k7D85YQJU1fW4s/yMi+P6VVNLixp4lbQ7xHF+po5lXZbJhultrOyoNhqaGw==",
|
||||
"dependencies": {
|
||||
"@mdi/js": "^7.4.47",
|
||||
"@nextcloud/auth": "^2.3.0",
|
||||
@@ -3580,7 +3579,6 @@
|
||||
"@types/toastify-js": "^1.12.3",
|
||||
"@vueuse/core": "^10.11.1",
|
||||
"cancelable-promise": "^4.3.1",
|
||||
"p-queue": "^8.0.1",
|
||||
"toastify-js": "^1.12.0",
|
||||
"vue-frag": "^1.4.3",
|
||||
"webdav": "^5.7.1"
|
||||
@@ -3590,7 +3588,7 @@
|
||||
"npm": "^10.0.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@nextcloud/vue": "^8.9.1",
|
||||
"@nextcloud/vue": "^8.16.0",
|
||||
"vue": "^2.7.16"
|
||||
}
|
||||
},
|
||||
@@ -3736,10 +3734,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@nextcloud/files": {
|
||||
"version": "3.9.1",
|
||||
"resolved": "https://registry.npmjs.org/@nextcloud/files/-/files-3.9.1.tgz",
|
||||
"integrity": "sha512-eureE0Hi13QhC7detUUlp5B7NjLLu1JnVLDF0yuNv/My5ETbe3SuWjulAXQ2KH3lvqVjhjgbNoEjH5wHemIG+g==",
|
||||
"license": "AGPL-3.0-or-later",
|
||||
"version": "3.9.0",
|
||||
"resolved": "https://registry.npmjs.org/@nextcloud/files/-/files-3.9.0.tgz",
|
||||
"integrity": "sha512-GKlD8PESRgpP3Rz7xgLbRPXvk1EKStkN8zwM3/L2Dl70g2qkUh1IdEAPZO2KlCdJPD8QxcdK4ib0KClk/ounpA==",
|
||||
"dependencies": {
|
||||
"@nextcloud/auth": "^2.4.0",
|
||||
"@nextcloud/capabilities": "^1.2.0",
|
||||
@@ -4505,13 +4502,13 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@relative-ci/agent": {
|
||||
"version": "4.2.13",
|
||||
"resolved": "https://registry.npmjs.org/@relative-ci/agent/-/agent-4.2.13.tgz",
|
||||
"integrity": "sha512-vDNtYz38vScbK6NZ2FD8QxvjgQGKtY104wyassL3qMLYrYTdWUDqDiAJC7lHsh/LlUZOakv9M9lIPGVU99ue8Q==",
|
||||
"version": "4.2.12",
|
||||
"resolved": "https://registry.npmjs.org/@relative-ci/agent/-/agent-4.2.12.tgz",
|
||||
"integrity": "sha512-391B0ABbQYexBe0CHTd8QiQuW5o/qKZRdhdR+rHe0MJpmYSXFEI54pU/EJgZByAjm5c1TYKXafyn0mMAMZ0iKQ==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@bundle-stats/plugin-webpack-filter": "4.16.0",
|
||||
"@bundle-stats/plugin-webpack-validate": "4.16.0",
|
||||
"@bundle-stats/plugin-webpack-filter": "4.15.1",
|
||||
"@bundle-stats/plugin-webpack-validate": "4.15.1",
|
||||
"core-js": "3.38.1",
|
||||
"cosmiconfig": "9.0.0",
|
||||
"debug": "4.3.7",
|
||||
@@ -4538,9 +4535,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@relative-ci/agent/node_modules/@bundle-stats/plugin-webpack-filter": {
|
||||
"version": "4.16.0",
|
||||
"resolved": "https://registry.npmjs.org/@bundle-stats/plugin-webpack-filter/-/plugin-webpack-filter-4.16.0.tgz",
|
||||
"integrity": "sha512-+U5l8GSIvARjfPOrp+Nxjw0dGkr9rQVGtof5dqmamt7RmYUBnVsjZy85N4LJypivjEzSFOlRl79i/oqSCCT1/A==",
|
||||
"version": "4.15.1",
|
||||
"resolved": "https://registry.npmjs.org/@bundle-stats/plugin-webpack-filter/-/plugin-webpack-filter-4.15.1.tgz",
|
||||
"integrity": "sha512-NCQy/KvCeGNyRfcB4IoMFIfCmA4U448rHCnVIV5l4xr1QAaeVR2fQqdhoNZEzwKvsmbpfEk3fTwNuB7ZPIGBhw==",
|
||||
"dev": true,
|
||||
"engines": {
|
||||
"node": ">= 14.0"
|
||||
@@ -4748,8 +4745,7 @@
|
||||
"node_modules/@types/estree": {
|
||||
"version": "1.0.5",
|
||||
"resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz",
|
||||
"integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==",
|
||||
"license": "MIT"
|
||||
"integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw=="
|
||||
},
|
||||
"node_modules/@types/express": {
|
||||
"version": "4.17.21",
|
||||
@@ -4765,9 +4761,22 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@types/express-serve-static-core": {
|
||||
"version": "4.19.5",
|
||||
"resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.19.5.tgz",
|
||||
"integrity": "sha512-y6W03tvrACO72aijJ5uF02FRq5cgDR9lUxddQ8vyF+GvmjJQqbzDcJngEjURc+ZsG31VI3hODNZJ2URj86pzmg==",
|
||||
"version": "5.0.0",
|
||||
"resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-5.0.0.tgz",
|
||||
"integrity": "sha512-AbXMTZGt40T+KON9/Fdxx0B2WK5hsgxcfXJLr5bFpZ7b4JCex2WyQPTEKdXqfHiY5nKKBScZ7yCoO6Pvgxfvnw==",
|
||||
"dev": true,
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@types/node": "*",
|
||||
"@types/qs": "*",
|
||||
"@types/range-parser": "*",
|
||||
"@types/send": "*"
|
||||
}
|
||||
},
|
||||
"node_modules/@types/express/node_modules/@types/express-serve-static-core": {
|
||||
"version": "4.19.6",
|
||||
"resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.19.6.tgz",
|
||||
"integrity": "sha512-N4LZ2xG7DatVqhCZzOGb1Yi5lMbXSZcmdLDe9EzSndPV2HpWYWzRbaerl2n27irrm94EPpprqa8KpskPT085+A==",
|
||||
"dev": true,
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
@@ -5575,7 +5584,6 @@
|
||||
"resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.12.1.tgz",
|
||||
"integrity": "sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@webassemblyjs/helper-numbers": "1.11.6",
|
||||
@@ -5587,7 +5595,6 @@
|
||||
"resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz",
|
||||
"integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"peer": true
|
||||
},
|
||||
"node_modules/@webassemblyjs/helper-api-error": {
|
||||
@@ -5595,7 +5602,6 @@
|
||||
"resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz",
|
||||
"integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"peer": true
|
||||
},
|
||||
"node_modules/@webassemblyjs/helper-buffer": {
|
||||
@@ -5603,7 +5609,6 @@
|
||||
"resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.12.1.tgz",
|
||||
"integrity": "sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"peer": true
|
||||
},
|
||||
"node_modules/@webassemblyjs/helper-numbers": {
|
||||
@@ -5611,7 +5616,6 @@
|
||||
"resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz",
|
||||
"integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@webassemblyjs/floating-point-hex-parser": "1.11.6",
|
||||
@@ -5624,7 +5628,6 @@
|
||||
"resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz",
|
||||
"integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"peer": true
|
||||
},
|
||||
"node_modules/@webassemblyjs/helper-wasm-section": {
|
||||
@@ -5632,7 +5635,6 @@
|
||||
"resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.12.1.tgz",
|
||||
"integrity": "sha512-Jif4vfB6FJlUlSbgEMHUyk1j234GTNG9dBJ4XJdOySoj518Xj0oGsNi59cUQF4RRMS9ouBUxDDdyBVfPTypa5g==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@webassemblyjs/ast": "1.12.1",
|
||||
@@ -5646,7 +5648,6 @@
|
||||
"resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz",
|
||||
"integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@xtuc/ieee754": "^1.2.0"
|
||||
@@ -5657,7 +5658,6 @@
|
||||
"resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz",
|
||||
"integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==",
|
||||
"dev": true,
|
||||
"license": "Apache-2.0",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@xtuc/long": "4.2.2"
|
||||
@@ -5668,7 +5668,6 @@
|
||||
"resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz",
|
||||
"integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"peer": true
|
||||
},
|
||||
"node_modules/@webassemblyjs/wasm-edit": {
|
||||
@@ -5676,7 +5675,6 @@
|
||||
"resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.12.1.tgz",
|
||||
"integrity": "sha512-1DuwbVvADvS5mGnXbE+c9NfA8QRcZ6iKquqjjmR10k6o+zzsRVesil54DKexiowcFCPdr/Q0qaMgB01+SQ1u6g==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@webassemblyjs/ast": "1.12.1",
|
||||
@@ -5694,7 +5692,6 @@
|
||||
"resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.12.1.tgz",
|
||||
"integrity": "sha512-TDq4Ojh9fcohAw6OIMXqiIcTq5KUXTGRkVxbSo1hQnSy6lAM5GSdfwWeSxpAo0YzgsgF182E/U0mDNhuA0tW7w==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@webassemblyjs/ast": "1.12.1",
|
||||
@@ -5709,7 +5706,6 @@
|
||||
"resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.12.1.tgz",
|
||||
"integrity": "sha512-Jg99j/2gG2iaz3hijw857AVYekZe2SAskcqlWIZXjji5WStnOpVoat3gQfT/Q5tb2djnCjBtMocY/Su1GfxPBg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@webassemblyjs/ast": "1.12.1",
|
||||
@@ -5723,7 +5719,6 @@
|
||||
"resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.12.1.tgz",
|
||||
"integrity": "sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@webassemblyjs/ast": "1.12.1",
|
||||
@@ -5739,7 +5734,6 @@
|
||||
"resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.12.1.tgz",
|
||||
"integrity": "sha512-+X4WAlOisVWQMikjbcvY2e0rwPsKQ9F688lksZhBcPycBBuii3O7m8FACbDMWDojpAqvjIncrG8J0XHKyQfVeA==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@webassemblyjs/ast": "1.12.1",
|
||||
@@ -5798,7 +5792,6 @@
|
||||
"resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz",
|
||||
"integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==",
|
||||
"dev": true,
|
||||
"license": "BSD-3-Clause",
|
||||
"peer": true
|
||||
},
|
||||
"node_modules/@xtuc/long": {
|
||||
@@ -5806,7 +5799,6 @@
|
||||
"resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz",
|
||||
"integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==",
|
||||
"dev": true,
|
||||
"license": "Apache-2.0",
|
||||
"peer": true
|
||||
},
|
||||
"node_modules/abbrev": {
|
||||
@@ -5863,7 +5855,6 @@
|
||||
"resolved": "https://registry.npmjs.org/acorn-import-attributes/-/acorn-import-attributes-1.9.5.tgz",
|
||||
"integrity": "sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"peerDependencies": {
|
||||
"acorn": "^8"
|
||||
@@ -5953,7 +5944,6 @@
|
||||
"resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz",
|
||||
"integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"peerDependencies": {
|
||||
"ajv": "^6.9.1"
|
||||
@@ -6883,16 +6873,41 @@
|
||||
}
|
||||
},
|
||||
"node_modules/browserify-rsa": {
|
||||
"version": "4.1.0",
|
||||
"resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz",
|
||||
"integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==",
|
||||
"version": "4.1.1",
|
||||
"resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.1.tgz",
|
||||
"integrity": "sha512-YBjSAiTqM04ZVei6sXighu679a3SqWORA3qZTEqZImnlkDIFtKc6pNutpjyZ8RJTjQtuYfeetkxM11GwoYXMIQ==",
|
||||
"dev": true,
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"bn.js": "^5.0.0",
|
||||
"randombytes": "^2.0.1"
|
||||
"bn.js": "^5.2.1",
|
||||
"randombytes": "^2.1.0",
|
||||
"safe-buffer": "^5.2.1"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 0.10"
|
||||
}
|
||||
},
|
||||
"node_modules/browserify-rsa/node_modules/safe-buffer": {
|
||||
"version": "5.2.1",
|
||||
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
|
||||
"integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
|
||||
"dev": true,
|
||||
"funding": [
|
||||
{
|
||||
"type": "github",
|
||||
"url": "https://github.com/sponsors/feross"
|
||||
},
|
||||
{
|
||||
"type": "patreon",
|
||||
"url": "https://www.patreon.com/feross"
|
||||
},
|
||||
{
|
||||
"type": "consulting",
|
||||
"url": "https://feross.org/support"
|
||||
}
|
||||
],
|
||||
"peer": true
|
||||
},
|
||||
"node_modules/browserify-sign": {
|
||||
"version": "4.2.3",
|
||||
"resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.3.tgz",
|
||||
@@ -7289,9 +7304,9 @@
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/chroma-js": {
|
||||
"version": "2.6.0",
|
||||
"resolved": "https://registry.npmjs.org/chroma-js/-/chroma-js-2.6.0.tgz",
|
||||
"integrity": "sha512-BLHvCB9s8Z1EV4ethr6xnkl/P2YRFOGqfgvuMG/MyCbZPrTA+NeiByY6XvgF0zP4/2deU2CXnWyMa3zu1LqQ3A=="
|
||||
"version": "3.1.1",
|
||||
"resolved": "https://registry.npmjs.org/chroma-js/-/chroma-js-3.1.1.tgz",
|
||||
"integrity": "sha512-CGr6w73Gi86142RWqZ1RjED/CyduYw2vMTikQZUvr2jGIihnZlMo/Kzm9rYHWDP2pJc6eebwc8CkX0iteBon+A=="
|
||||
},
|
||||
"node_modules/chrome-trace-event": {
|
||||
"version": "1.0.3",
|
||||
@@ -8137,13 +8152,13 @@
|
||||
"integrity": "sha512-uX1KG+x9h5hIJsaKR9xHUeUraxf8IODOwq9JLNPq6BwB04a/xgpq3rcx47l5BZu5zBPlgD342tdke3Hom/nJRA=="
|
||||
},
|
||||
"node_modules/cypress": {
|
||||
"version": "13.15.2",
|
||||
"resolved": "https://registry.npmjs.org/cypress/-/cypress-13.15.2.tgz",
|
||||
"integrity": "sha512-ARbnUorjcCM3XiPwgHKuqsyr5W9Qn+pIIBPaoilnoBkLdSC2oLQjV1BUpnmc7KR+b7Avah3Ly2RMFnfxr96E/A==",
|
||||
"version": "13.15.0",
|
||||
"resolved": "https://registry.npmjs.org/cypress/-/cypress-13.15.0.tgz",
|
||||
"integrity": "sha512-53aO7PwOfi604qzOkCSzNlWquCynLlKE/rmmpSPcziRH6LNfaDUAklQT6WJIsD8ywxlIy+uVZsnTMCCQVd2kTw==",
|
||||
"dev": true,
|
||||
"hasInstallScript": true,
|
||||
"dependencies": {
|
||||
"@cypress/request": "^3.0.6",
|
||||
"@cypress/request": "^3.0.4",
|
||||
"@cypress/xvfb": "^1.2.4",
|
||||
"@types/sinonjs__fake-timers": "8.1.1",
|
||||
"@types/sizzle": "^2.3.2",
|
||||
@@ -8154,7 +8169,6 @@
|
||||
"cachedir": "^2.3.0",
|
||||
"chalk": "^4.1.0",
|
||||
"check-more-types": "^2.24.0",
|
||||
"ci-info": "^4.0.0",
|
||||
"cli-cursor": "^3.1.0",
|
||||
"cli-table3": "~0.6.1",
|
||||
"commander": "^6.2.1",
|
||||
@@ -8169,6 +8183,7 @@
|
||||
"figures": "^3.2.0",
|
||||
"fs-extra": "^9.1.0",
|
||||
"getos": "^3.2.1",
|
||||
"is-ci": "^3.0.1",
|
||||
"is-installed-globally": "~0.4.0",
|
||||
"lazy-ass": "^1.6.0",
|
||||
"listr2": "^3.8.3",
|
||||
@@ -8183,7 +8198,6 @@
|
||||
"semver": "^7.5.3",
|
||||
"supports-color": "^8.1.1",
|
||||
"tmp": "~0.2.3",
|
||||
"tree-kill": "1.2.2",
|
||||
"untildify": "^4.0.0",
|
||||
"yauzl": "^2.10.0"
|
||||
},
|
||||
@@ -8261,21 +8275,6 @@
|
||||
"node": ">=8"
|
||||
}
|
||||
},
|
||||
"node_modules/cypress/node_modules/ci-info": {
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/ci-info/-/ci-info-4.0.0.tgz",
|
||||
"integrity": "sha512-TdHqgGf9odd8SXNuxtUBVx8Nv+qZOejE6qyqiy5NtbYYQOeFa6zmHkxlPzmaLxWWHsU6nJmB7AETdVPi+2NBUg==",
|
||||
"dev": true,
|
||||
"funding": [
|
||||
{
|
||||
"type": "github",
|
||||
"url": "https://github.com/sponsors/sibiraj-s"
|
||||
}
|
||||
],
|
||||
"engines": {
|
||||
"node": ">=8"
|
||||
}
|
||||
},
|
||||
"node_modules/cypress/node_modules/color-convert": {
|
||||
"version": "2.0.1",
|
||||
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
|
||||
@@ -8937,11 +8936,10 @@
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/elliptic": {
|
||||
"version": "6.6.0",
|
||||
"resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.6.0.tgz",
|
||||
"integrity": "sha512-dpwoQcLc/2WLQvJvLRHKZ+f9FgOdjnq11rurqwekGQygGPsYSK29OMMD2WalatiqQ+XGFDglTNixpPfI+lpaAA==",
|
||||
"version": "6.5.7",
|
||||
"resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.7.tgz",
|
||||
"integrity": "sha512-ESVCtTwiA+XhY3wyh24QqRGBoP3rEdDUl3EDUUo9tft074fi19IrdpH7hLCMMP3CIj7jb3W96rn8lt/BqIlt5Q==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"bn.js": "^4.11.9",
|
||||
@@ -9034,7 +9032,6 @@
|
||||
"resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.1.tgz",
|
||||
"integrity": "sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"graceful-fs": "^4.2.4",
|
||||
@@ -9434,9 +9431,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/eslint-plugin-cypress": {
|
||||
"version": "3.6.0",
|
||||
"resolved": "https://registry.npmjs.org/eslint-plugin-cypress/-/eslint-plugin-cypress-3.6.0.tgz",
|
||||
"integrity": "sha512-7IAMcBbTVu5LpWeZRn5a9mQ30y4hKp3AfTz+6nSD/x/7YyLMoBI6X7XjDLYI6zFvuy4Q4QVGl563AGEXGW/aSA==",
|
||||
"version": "3.5.0",
|
||||
"resolved": "https://registry.npmjs.org/eslint-plugin-cypress/-/eslint-plugin-cypress-3.5.0.tgz",
|
||||
"integrity": "sha512-JZQ6XnBTNI8h1B9M7wJSFzc48SYbh7VMMKaNTQOFa3BQlnmXPrVc4PKen8R+fpv6VleiPeej6VxloGb42zdRvw==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"globals": "^13.20.0"
|
||||
@@ -10469,9 +10466,9 @@
|
||||
"peer": true
|
||||
},
|
||||
"node_modules/fast-uri": {
|
||||
"version": "3.0.1",
|
||||
"resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.0.1.tgz",
|
||||
"integrity": "sha512-MWipKbbYiYI0UC7cl8m/i/IWTqfC8YXsqjzybjddLsFjStroQzsHXkc73JutMvBiXmOvapk+axIl79ig5t55Bw==",
|
||||
"version": "3.0.2",
|
||||
"resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.0.2.tgz",
|
||||
"integrity": "sha512-GR6f0hD7XXyNJa25Tb9BuIdN0tdr+0BMi6/CJPH3wJO1JjNG3n/VsSw38AwRdKZABm8lGbPfakLRkYzx2V9row==",
|
||||
"dev": true,
|
||||
"peer": true
|
||||
},
|
||||
@@ -10795,6 +10792,17 @@
|
||||
"vue": "^2.6.10"
|
||||
}
|
||||
},
|
||||
"node_modules/floating-vue/node_modules/vue-resize": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/vue-resize/-/vue-resize-1.0.1.tgz",
|
||||
"integrity": "sha512-z5M7lJs0QluJnaoMFTIeGx6dIkYxOwHThlZDeQnWZBizKblb99GSejPnK37ZbNE/rVwDcYcHY+Io+AxdpY952w==",
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.13.10"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"vue": "^2.6.0"
|
||||
}
|
||||
},
|
||||
"node_modules/focus-trap": {
|
||||
"version": "7.5.2",
|
||||
"resolved": "https://registry.npmjs.org/focus-trap/-/focus-trap-7.5.2.tgz",
|
||||
@@ -11152,7 +11160,6 @@
|
||||
"resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz",
|
||||
"integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==",
|
||||
"dev": true,
|
||||
"license": "BSD-2-Clause",
|
||||
"peer": true
|
||||
},
|
||||
"node_modules/global-dirs": {
|
||||
@@ -11281,8 +11288,7 @@
|
||||
"version": "4.2.11",
|
||||
"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz",
|
||||
"integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==",
|
||||
"dev": true,
|
||||
"license": "ISC"
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/graphemer": {
|
||||
"version": "1.4.0",
|
||||
@@ -11635,11 +11641,10 @@
|
||||
}
|
||||
},
|
||||
"node_modules/http-proxy-middleware": {
|
||||
"version": "2.0.7",
|
||||
"resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.7.tgz",
|
||||
"integrity": "sha512-fgVY8AV7qU7z/MmXJ/rxwbrtQH4jBQ9m7kp3llF0liB7glmFeVZFBepQb32T3y8n8k2+AEYuMPCpinYW+/CuRA==",
|
||||
"version": "2.0.6",
|
||||
"resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz",
|
||||
"integrity": "sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@types/http-proxy": "^1.17.8",
|
||||
@@ -12020,6 +12025,18 @@
|
||||
"url": "https://github.com/sponsors/ljharb"
|
||||
}
|
||||
},
|
||||
"node_modules/is-ci": {
|
||||
"version": "3.0.1",
|
||||
"resolved": "https://registry.npmjs.org/is-ci/-/is-ci-3.0.1.tgz",
|
||||
"integrity": "sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"ci-info": "^3.2.0"
|
||||
},
|
||||
"bin": {
|
||||
"is-ci": "bin.js"
|
||||
}
|
||||
},
|
||||
"node_modules/is-core-module": {
|
||||
"version": "2.13.0",
|
||||
"resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.0.tgz",
|
||||
@@ -14256,7 +14273,6 @@
|
||||
"resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz",
|
||||
"integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@types/node": "*",
|
||||
@@ -14272,7 +14288,6 @@
|
||||
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
|
||||
"integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"engines": {
|
||||
"node": ">=8"
|
||||
@@ -14283,7 +14298,6 @@
|
||||
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz",
|
||||
"integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"has-flag": "^4.0.0"
|
||||
@@ -17301,6 +17315,12 @@
|
||||
"dev": true,
|
||||
"license": "ISC"
|
||||
},
|
||||
"node_modules/psl": {
|
||||
"version": "1.9.0",
|
||||
"resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz",
|
||||
"integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/public-encrypt": {
|
||||
"version": "4.0.3",
|
||||
"resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz",
|
||||
@@ -18377,7 +18397,6 @@
|
||||
"resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz",
|
||||
"integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@types/json-schema": "^7.0.8",
|
||||
@@ -18481,7 +18500,6 @@
|
||||
"resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz",
|
||||
"integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==",
|
||||
"dev": true,
|
||||
"license": "BSD-3-Clause",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"randombytes": "^2.1.0"
|
||||
@@ -18823,7 +18841,6 @@
|
||||
"resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz",
|
||||
"integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"buffer-from": "^1.0.0",
|
||||
@@ -18835,7 +18852,6 @@
|
||||
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
|
||||
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
|
||||
"dev": true,
|
||||
"license": "BSD-3-Clause",
|
||||
"peer": true,
|
||||
"engines": {
|
||||
"node": ">=0.10.0"
|
||||
@@ -19783,7 +19799,6 @@
|
||||
"resolved": "https://registry.npmjs.org/terser/-/terser-5.31.6.tgz",
|
||||
"integrity": "sha512-PQ4DAriWzKj+qgehQ7LK5bQqCFNMmlhjR2PFFLuqGCpuCAauxemVBWwWOxo3UIwWQx8+Pr61Df++r76wDmkQBg==",
|
||||
"dev": true,
|
||||
"license": "BSD-2-Clause",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@jridgewell/source-map": "^0.3.3",
|
||||
@@ -19803,7 +19818,6 @@
|
||||
"resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz",
|
||||
"integrity": "sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@jridgewell/trace-mapping": "^0.3.20",
|
||||
@@ -19839,7 +19853,6 @@
|
||||
"resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
|
||||
"integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"peer": true
|
||||
},
|
||||
"node_modules/test-exclude": {
|
||||
@@ -19914,24 +19927,6 @@
|
||||
"node": "*"
|
||||
}
|
||||
},
|
||||
"node_modules/tldts": {
|
||||
"version": "6.1.59",
|
||||
"resolved": "https://registry.npmjs.org/tldts/-/tldts-6.1.59.tgz",
|
||||
"integrity": "sha512-472ilPxsRuqBBpn+KuRBHJvZhk6tTo4yTVsmODrLBNLwRYJPkDfMEHivgNwp5iEl+cbrZzzRtLKRxZs7+QKkRg==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"tldts-core": "^6.1.59"
|
||||
},
|
||||
"bin": {
|
||||
"tldts": "bin/cli.js"
|
||||
}
|
||||
},
|
||||
"node_modules/tldts-core": {
|
||||
"version": "6.1.59",
|
||||
"resolved": "https://registry.npmjs.org/tldts-core/-/tldts-core-6.1.59.tgz",
|
||||
"integrity": "sha512-EiYgNf275AQyVORl8HQYYe7rTVnmLb4hkWK7wAk/12Ksy5EiHpmUmTICa4GojookBPC8qkLMBKKwCmzNA47ZPQ==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/tmp": {
|
||||
"version": "0.2.3",
|
||||
"resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.3.tgz",
|
||||
@@ -19983,15 +19978,27 @@
|
||||
}
|
||||
},
|
||||
"node_modules/tough-cookie": {
|
||||
"version": "5.0.0",
|
||||
"resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-5.0.0.tgz",
|
||||
"integrity": "sha512-FRKsF7cz96xIIeMZ82ehjC3xW2E+O2+v11udrDYewUbszngYhsGa8z6YUMMzO9QJZzzyd0nGGXnML/TReX6W8Q==",
|
||||
"version": "4.1.4",
|
||||
"resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.4.tgz",
|
||||
"integrity": "sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"tldts": "^6.1.32"
|
||||
"psl": "^1.1.33",
|
||||
"punycode": "^2.1.1",
|
||||
"universalify": "^0.2.0",
|
||||
"url-parse": "^1.5.3"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=16"
|
||||
"node": ">=6"
|
||||
}
|
||||
},
|
||||
"node_modules/tough-cookie/node_modules/universalify": {
|
||||
"version": "0.2.0",
|
||||
"resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz",
|
||||
"integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==",
|
||||
"dev": true,
|
||||
"engines": {
|
||||
"node": ">= 4.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/tree-dump": {
|
||||
@@ -20011,15 +20018,6 @@
|
||||
"tslib": "2"
|
||||
}
|
||||
},
|
||||
"node_modules/tree-kill": {
|
||||
"version": "1.2.2",
|
||||
"resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz",
|
||||
"integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==",
|
||||
"dev": true,
|
||||
"bin": {
|
||||
"tree-kill": "cli.js"
|
||||
}
|
||||
},
|
||||
"node_modules/tributejs": {
|
||||
"version": "5.1.3",
|
||||
"license": "MIT"
|
||||
@@ -21042,18 +21040,6 @@
|
||||
"resolved": "https://registry.npmjs.org/vue-material-design-icons/-/vue-material-design-icons-5.3.1.tgz",
|
||||
"integrity": "sha512-6UNEyhlTzlCeT8ZeX5WbpUGFTTPSbOoTQeoASTv7X4Ylh0pe8vltj+36VMK56KM0gG8EQVoMK/Qw/6evalg8lA=="
|
||||
},
|
||||
"node_modules/vue-resize": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/vue-resize/-/vue-resize-1.0.1.tgz",
|
||||
"integrity": "sha512-z5M7lJs0QluJnaoMFTIeGx6dIkYxOwHThlZDeQnWZBizKblb99GSejPnK37ZbNE/rVwDcYcHY+Io+AxdpY952w==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.13.10"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"vue": "^2.6.0"
|
||||
}
|
||||
},
|
||||
"node_modules/vue-router": {
|
||||
"version": "3.6.5",
|
||||
"resolved": "https://registry.npmjs.org/vue-router/-/vue-router-3.6.5.tgz",
|
||||
@@ -21093,10 +21079,9 @@
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/vue2-datepicker": {
|
||||
"version": "3.11.1",
|
||||
"resolved": "https://registry.npmjs.org/vue2-datepicker/-/vue2-datepicker-3.11.1.tgz",
|
||||
"integrity": "sha512-6PU/+pnp2mgZAfnSXmbdwj9516XsEvTiw61Q5SNrvvdy8W/FCxk1GAe9UZn/m9YfS5A47yK6XkcjMHbp7aFApA==",
|
||||
"license": "MIT",
|
||||
"version": "3.11.0",
|
||||
"resolved": "https://registry.npmjs.org/vue2-datepicker/-/vue2-datepicker-3.11.0.tgz",
|
||||
"integrity": "sha512-zbMkAjYwDTXZozZtkpSwqxq7nEeBt7zoHL+oQcdjEXAqzJHhmatE6sl6JSr58PMIx2WOK0c6QBXozSqT32iQAQ==",
|
||||
"dependencies": {
|
||||
"date-format-parse": "^0.2.7"
|
||||
},
|
||||
@@ -21152,7 +21137,6 @@
|
||||
"resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.2.tgz",
|
||||
"integrity": "sha512-TnbFSbcOCcDgjZ4piURLCbJ3nJhznVh9kw6F6iokjiFPl8ONxe9A6nMDVXDiNbrSfLILs6vB07F7wLBrwPYzJw==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"glob-to-regexp": "^0.4.1",
|
||||
@@ -21268,7 +21252,6 @@
|
||||
"resolved": "https://registry.npmjs.org/webpack/-/webpack-5.94.0.tgz",
|
||||
"integrity": "sha512-KcsGn50VT+06JH/iunZJedYGUJS5FGjow8wb9c0v5n1Om8O1g4L6LjtfxwlXIATopoQu+vOXXa7gYisWxCoPyg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@types/estree": "^1.0.5",
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user