Compare commits
219 Commits
v1.7.1
...
backport/3
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
45473df9f4 | ||
|
|
6832d41dee | ||
|
|
ab6d12cc5f | ||
|
|
a8db7a90f1 | ||
|
|
19b4d0ac21 | ||
|
|
1dec7be713 | ||
|
|
92a0ef904f | ||
|
|
f389f834f0 | ||
|
|
c035a6be73 | ||
|
|
d1498486eb | ||
|
|
408a19ba9a | ||
|
|
9523aa9eeb | ||
|
|
3d74323be4 | ||
|
|
3d14e3f916 | ||
|
|
cce5bd8a7d | ||
|
|
62ccab6e96 | ||
|
|
9f8e7258b5 | ||
|
|
2ca00fed08 | ||
|
|
22cb32e197 | ||
|
|
e1391efbef | ||
|
|
4633ddc153 | ||
|
|
a96ccc3bfd | ||
|
|
14bcab8c8a | ||
|
|
40f0f3d194 | ||
|
|
32e5f6dd6b | ||
|
|
5f2235a91f | ||
|
|
deca12ddd3 | ||
|
|
31d6794490 | ||
|
|
90938d5f58 | ||
|
|
0c7768b36d | ||
|
|
d14c7810ee | ||
|
|
de5153337d | ||
|
|
bd405122e2 | ||
|
|
e7d6233796 | ||
|
|
25bb72c3dc | ||
|
|
487c626a73 | ||
|
|
6b0182ea70 | ||
|
|
ca6fe65580 | ||
|
|
498ed9dfff | ||
|
|
32a2a4ebf5 | ||
|
|
4bd1b70a5e | ||
|
|
71b78e8ec3 | ||
|
|
2d6fc18218 | ||
|
|
b7554a06d2 | ||
|
|
35a8fee3b3 | ||
|
|
4fe94e65ad | ||
|
|
80fa93716b | ||
|
|
0145593cba | ||
|
|
af712ddb56 | ||
|
|
f0deb93cb7 | ||
|
|
781cfc11c7 | ||
|
|
97e45ebc69 | ||
|
|
c4bc945b1e | ||
|
|
2bd12ed7b5 | ||
|
|
658d358e70 | ||
|
|
3e6a80eb37 | ||
|
|
5408d4f9c5 | ||
|
|
6e5fd9e25a | ||
|
|
9fbdafbe73 | ||
|
|
9403fb1759 | ||
|
|
691abb02d8 | ||
|
|
3bb99a9001 | ||
|
|
74e0149a6d | ||
|
|
c5d83e662c | ||
|
|
376c7c7d07 | ||
|
|
a52664e9e4 | ||
|
|
f573abe279 | ||
|
|
975af7c056 | ||
|
|
f2456d796c | ||
|
|
c7c9302109 | ||
|
|
989db4702c | ||
|
|
9de5f12f4b | ||
|
|
9338ebb561 | ||
|
|
0d9cdc5f1e | ||
|
|
f66c71ee55 | ||
|
|
d742bc097b | ||
|
|
53386a7f1a | ||
|
|
cfbc18deb9 | ||
|
|
bdf4631504 | ||
|
|
a0f93a81d2 | ||
|
|
d9b086f146 | ||
|
|
b8b3ac3516 | ||
|
|
118959795f | ||
|
|
c93aaeb9bf | ||
|
|
f42c82274f | ||
|
|
fff9c4f7a2 | ||
|
|
3eb5ccbbe2 | ||
|
|
cc61f3d4e0 | ||
|
|
209adc1e7a | ||
|
|
e26f06be8f | ||
|
|
c99b4bf4ab | ||
|
|
296e7abf14 | ||
|
|
c6ef07ceb0 | ||
|
|
4e937bd03a | ||
|
|
84943c5889 | ||
|
|
4ed71b7a63 | ||
|
|
4ab8078103 | ||
|
|
6b75a1ab1b | ||
|
|
76e3a3a25e | ||
|
|
9503de4716 | ||
|
|
3340ccec6f | ||
|
|
a90e099113 | ||
|
|
aa69495075 | ||
|
|
11eb779beb | ||
|
|
836e2b33df | ||
|
|
c63b72bf2e | ||
|
|
c20008dacc | ||
|
|
edacda1377 | ||
|
|
2f0ad2d639 | ||
|
|
745d76c74b | ||
|
|
3b7f49de55 | ||
|
|
e336bd98b2 | ||
|
|
f62e87cffa | ||
|
|
d4d716b1f5 | ||
|
|
6e89dd48bc | ||
|
|
2bbd572cb5 | ||
|
|
17543eaf94 | ||
|
|
4f4e9fa5c7 | ||
|
|
d0060604a6 | ||
|
|
9f8df2bbd4 | ||
|
|
139cca1ae8 | ||
|
|
32054adcb5 | ||
|
|
764dd1e995 | ||
|
|
b65fde069f | ||
|
|
bec68eb5c3 | ||
|
|
8dca76f9f0 | ||
|
|
13ed30e2bc | ||
|
|
a7ff79605d | ||
|
|
b5bebac3c2 | ||
|
|
756d78f78a | ||
|
|
7e55cb18b3 | ||
|
|
b834ef664a | ||
|
|
1ee0e16f9e | ||
|
|
63434d7b63 | ||
|
|
d9f993dc5b | ||
|
|
9090c13417 | ||
|
|
0630dafef9 | ||
|
|
150ab7b83a | ||
|
|
11cc569914 | ||
|
|
eaf58e0fc9 | ||
|
|
da994c5ecd | ||
|
|
cef4cc6a4d | ||
|
|
d761323887 | ||
|
|
0857270a48 | ||
|
|
df178369c0 | ||
|
|
8c3edf077d | ||
|
|
ac477a58c3 | ||
|
|
504f977739 | ||
|
|
00e813295b | ||
|
|
300d300c45 | ||
|
|
1514f9a737 | ||
|
|
f4fe271b39 | ||
|
|
1c01881eb7 | ||
|
|
af1564d8e5 | ||
|
|
35515ce157 | ||
|
|
fd62ab7a59 | ||
|
|
1557797926 | ||
|
|
90a8b479f6 | ||
|
|
c2fae6b2d7 | ||
|
|
89a3f4fc26 | ||
|
|
7aa94c74d7 | ||
|
|
33993418ac | ||
|
|
75a2d9d54c | ||
|
|
b1a3c6b237 | ||
|
|
437704abb3 | ||
|
|
0e09548e69 | ||
|
|
37834cb926 | ||
|
|
7dd3bb49f4 | ||
|
|
fdf1eaeaed | ||
|
|
4cc88c8b64 | ||
|
|
db331ecb72 | ||
|
|
c2757bec7d | ||
|
|
e074eac092 | ||
|
|
d5166c74e5 | ||
|
|
226e3c8212 | ||
|
|
a680915a89 | ||
|
|
b8ff06e5d2 | ||
|
|
5a108b64b0 | ||
|
|
00630587af | ||
|
|
b02cf925a1 | ||
|
|
aaa26575dd | ||
|
|
aebb3cef03 | ||
|
|
18a7ae3a1a | ||
|
|
6c84c67970 | ||
|
|
d449acde30 | ||
|
|
c1e700cefa | ||
|
|
30df03948c | ||
|
|
15ea081daa | ||
|
|
0f71741c46 | ||
|
|
585f0999a3 | ||
|
|
d51f645299 | ||
|
|
ebbe4eb802 | ||
|
|
d6c94f44d9 | ||
|
|
86345a6338 | ||
|
|
2c77d8a589 | ||
|
|
16cbbd4805 | ||
|
|
8aa77679c8 | ||
|
|
e6cff5bbb6 | ||
|
|
86ed24744c | ||
|
|
01ed3625dc | ||
|
|
cc9dea1f2b | ||
|
|
b16ade905c | ||
|
|
ee1bba7d99 | ||
|
|
3407097e95 | ||
|
|
47ac3e6082 | ||
|
|
75110bed47 | ||
|
|
74f0106718 | ||
|
|
958d50d9b7 | ||
|
|
5f4aa017b6 | ||
|
|
92c2a58f50 | ||
|
|
75bf0dffe6 | ||
|
|
45a10f0840 | ||
|
|
fbf3b1cd19 | ||
|
|
0cc4151929 | ||
|
|
e261ade1bb | ||
|
|
5d7e54d419 | ||
|
|
3499858295 | ||
|
|
1615e218bd | ||
|
|
9a3b859780 |
@@ -3,10 +3,6 @@ module.exports = {
|
||||
'@nextcloud',
|
||||
],
|
||||
rules: {
|
||||
'jsdoc/require-param-description': ['off'],
|
||||
'jsdoc/require-param-type': ['off'],
|
||||
'jsdoc/check-param-names': ['off'],
|
||||
'jsdoc/no-undefined-types': ['off'],
|
||||
'jsdoc/require-property-description' : ['off']
|
||||
'valid-jsdoc': ['off'],
|
||||
},
|
||||
}
|
||||
|
||||
38
.github/dependabot.yml
vendored
38
.github/dependabot.yml
vendored
@@ -11,6 +11,19 @@ updates:
|
||||
open-pull-requests-limit: 10
|
||||
reviewers:
|
||||
- juliushaertl
|
||||
- jakobroehrl
|
||||
#- package-ecosystem: npm
|
||||
# directory: "/"
|
||||
# target-branch: "stable1.1"
|
||||
# schedule:
|
||||
# interval: weekly
|
||||
# day: saturday
|
||||
# time: "03:00"
|
||||
# timezone: Europe/Paris
|
||||
# open-pull-requests-limit: 10
|
||||
# reviewers:
|
||||
# - juliushaertl
|
||||
# - jakobroehrl
|
||||
- package-ecosystem: composer
|
||||
directory: "/"
|
||||
schedule:
|
||||
@@ -21,23 +34,8 @@ updates:
|
||||
open-pull-requests-limit: 10
|
||||
reviewers:
|
||||
- juliushaertl
|
||||
- package-ecosystem: composer
|
||||
directory: "/tests/integration"
|
||||
schedule:
|
||||
interval: weekly
|
||||
day: saturday
|
||||
time: "03:00"
|
||||
timezone: Europe/Paris
|
||||
open-pull-requests-limit: 10
|
||||
reviewers:
|
||||
- juliushaertl
|
||||
- package-ecosystem: github-actions
|
||||
directory: "/"
|
||||
schedule:
|
||||
interval: weekly
|
||||
day: saturday
|
||||
time: "03:00"
|
||||
timezone: Europe/Paris
|
||||
open-pull-requests-limit: 10
|
||||
reviewers:
|
||||
- juliushaertl
|
||||
ignore:
|
||||
- dependency-name: christophwurst/nextcloud
|
||||
versions:
|
||||
- "< 16"
|
||||
- ">= 15.a"
|
||||
|
||||
25
.github/stale.yml
vendored
Normal file
25
.github/stale.yml
vendored
Normal file
@@ -0,0 +1,25 @@
|
||||
# Number of days of inactivity before an issue becomes stale
|
||||
daysUntilStale: 60
|
||||
# Number of days of inactivity before a stale issue is closed
|
||||
daysUntilClose: 7
|
||||
# Issues with these labels will never be considered stale
|
||||
exemptLabels:
|
||||
- "1. to develop"
|
||||
- "2. developing"
|
||||
- "3. to review"
|
||||
- "discussion"
|
||||
- "bounty"
|
||||
- "bug"
|
||||
- "enhancement"
|
||||
|
||||
# Limit the number of actions per hour, from 1-30. Default is 30
|
||||
limitPerRun: 30
|
||||
|
||||
# Label to use when marking an issue as stale
|
||||
staleLabel: stale
|
||||
|
||||
# Comment to post when marking an issue as stale. Set to `false` to disable
|
||||
markComment: >
|
||||
This issue has been automatically marked as stale because it has not had
|
||||
recent activity. It will be closed if no further activity occurs. Thank you
|
||||
for your contributions.
|
||||
8
.github/workflows/appbuild.yml
vendored
8
.github/workflows/appbuild.yml
vendored
@@ -12,15 +12,15 @@ jobs:
|
||||
node-version: [14.x]
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/checkout@v1
|
||||
- name: Use Node.js ${{ matrix.node-version }}
|
||||
uses: actions/setup-node@v3
|
||||
uses: actions/setup-node@v1
|
||||
with:
|
||||
node-version: ${{ matrix.node-version }}
|
||||
- name: Set up npm7
|
||||
run: npm i -g npm@7
|
||||
- name: Setup PHP
|
||||
uses: shivammathur/setup-php@2.18.0
|
||||
uses: shivammathur/setup-php@v1
|
||||
with:
|
||||
php-version: '7.4'
|
||||
tools: composer
|
||||
@@ -33,7 +33,7 @@ jobs:
|
||||
uname -a
|
||||
RUST_BACKTRACE=1 krankerl --version
|
||||
RUST_BACKTRACE=1 krankerl package
|
||||
- uses: actions/upload-artifact@v3
|
||||
- uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: Deck app tarball
|
||||
path: build/artifacts/deck.tar.gz
|
||||
|
||||
2
.github/workflows/appstore-build-publish.yml
vendored
2
.github/workflows/appstore-build-publish.yml
vendored
@@ -66,7 +66,7 @@ jobs:
|
||||
run: npm i -g npm@"${{ steps.versions.outputs.npmVersion }}"
|
||||
|
||||
- name: Set up php ${{ env.PHP_VERSION }}
|
||||
uses: shivammathur/setup-php@2.18.0
|
||||
uses: shivammathur/setup-php@v2
|
||||
with:
|
||||
php-version: ${{ env.PHP_VERSION }}
|
||||
coverage: none
|
||||
|
||||
46
.github/workflows/command-rebase.yml
vendored
46
.github/workflows/command-rebase.yml
vendored
@@ -1,46 +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
|
||||
|
||||
jobs:
|
||||
rebase:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
# 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@v2
|
||||
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@v3
|
||||
with:
|
||||
fetch-depth: 0
|
||||
token: ${{ secrets.COMMAND_BOT_PAT }}
|
||||
|
||||
- name: Automatic Rebase
|
||||
uses: cirrus-actions/rebase@1.5
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.COMMAND_BOT_PAT }}
|
||||
|
||||
- name: Add reaction on failure
|
||||
uses: peter-evans/create-or-update-comment@v2
|
||||
if: failure()
|
||||
with:
|
||||
token: ${{ secrets.COMMAND_BOT_PAT }}
|
||||
repository: ${{ github.event.repository.full_name }}
|
||||
comment-id: ${{ github.event.comment.id }}
|
||||
reaction-type: "-1"
|
||||
29
.github/workflows/dependabot-approve-merge.yml
vendored
29
.github/workflows/dependabot-approve-merge.yml
vendored
@@ -1,29 +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: Dependabot
|
||||
|
||||
on:
|
||||
pull_request_target:
|
||||
branches:
|
||||
- master
|
||||
- stable*
|
||||
|
||||
jobs:
|
||||
auto-approve-merge:
|
||||
if: github.actor == 'dependabot[bot]'
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
# Github actions bot approve
|
||||
- uses: hmarr/auto-approve-action@v2
|
||||
with:
|
||||
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
# Nextcloud bot approve and merge request
|
||||
- uses: ahmadnassri/action-dependabot-auto-merge@v2
|
||||
with:
|
||||
target: minor
|
||||
github-token: ${{ secrets.DEPENDABOT_AUTOMERGE_TOKEN }}
|
||||
20
.github/workflows/fixup.yml
vendored
20
.github/workflows/fixup.yml
vendored
@@ -1,20 +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: Pull request checks
|
||||
|
||||
on: pull_request
|
||||
|
||||
jobs:
|
||||
commit-message-check:
|
||||
name: Block fixup and squash commits
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- name: Run check
|
||||
uses: xt0rted/block-autosquash-commits-action@v2
|
||||
with:
|
||||
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
9
.github/workflows/integration.yml
vendored
9
.github/workflows/integration.yml
vendored
@@ -19,7 +19,7 @@ jobs:
|
||||
matrix:
|
||||
php-versions: ['7.4']
|
||||
databases: ['sqlite', 'mysql', 'pgsql']
|
||||
server-versions: ['stable24']
|
||||
server-versions: ['stable22']
|
||||
|
||||
name: php${{ matrix.php-versions }}-${{ matrix.databases }}-${{ matrix.server-versions }}
|
||||
|
||||
@@ -43,7 +43,7 @@ jobs:
|
||||
|
||||
steps:
|
||||
- name: Checkout server
|
||||
uses: actions/checkout@v3
|
||||
uses: actions/checkout@v2
|
||||
with:
|
||||
repository: nextcloud/server
|
||||
ref: ${{ matrix.server-versions }}
|
||||
@@ -54,15 +54,14 @@ jobs:
|
||||
auth_header="$(git config --local --get http.https://github.com/.extraheader)"
|
||||
git submodule sync --recursive
|
||||
git -c "http.extraheader=$auth_header" -c protocol.version=2 submodule update --init --force --recursive --depth=1
|
||||
cd build/integration && composer require --dev phpunit/phpunit:~8
|
||||
|
||||
- name: Checkout app
|
||||
uses: actions/checkout@v3
|
||||
uses: actions/checkout@v2
|
||||
with:
|
||||
path: apps/${{ env.APP_NAME }}
|
||||
|
||||
- name: Set up php ${{ matrix.php-versions }}
|
||||
uses: shivammathur/setup-php@2.18.0
|
||||
uses: shivammathur/setup-php@v2
|
||||
with:
|
||||
php-version: ${{ matrix.php-versions }}
|
||||
tools: phpunit
|
||||
|
||||
26
.github/workflows/lint.yml
vendored
26
.github/workflows/lint.yml
vendored
@@ -13,13 +13,13 @@ jobs:
|
||||
|
||||
strategy:
|
||||
matrix:
|
||||
php-versions: ['7.4', '8.0', '8.1']
|
||||
php-versions: ['7.3', '7.4']
|
||||
|
||||
name: php${{ matrix.php-versions }} lint
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/checkout@v2
|
||||
- name: Set up php${{ matrix.php-versions }}
|
||||
uses: shivammathur/setup-php@2.18.0
|
||||
uses: shivammathur/setup-php@v1
|
||||
with:
|
||||
php-version: ${{ matrix.php-versions }}
|
||||
coverage: none
|
||||
@@ -31,9 +31,9 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v3
|
||||
uses: actions/checkout@master
|
||||
- name: Set up php
|
||||
uses: shivammathur/setup-php@2.18.0
|
||||
uses: shivammathur/setup-php@master
|
||||
with:
|
||||
php-version: 7.4
|
||||
coverage: none
|
||||
@@ -50,9 +50,9 @@ jobs:
|
||||
node-version: [14.x]
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/checkout@v2
|
||||
- name: Use node ${{ matrix.node-version }}
|
||||
uses: actions/setup-node@v3
|
||||
uses: actions/setup-node@v1
|
||||
with:
|
||||
node-version: ${{ matrix.node-version }}
|
||||
- name: Set up npm7
|
||||
@@ -67,16 +67,16 @@ jobs:
|
||||
|
||||
strategy:
|
||||
matrix:
|
||||
node-version: [14.x]
|
||||
node-versions: [14.x]
|
||||
|
||||
name: stylelint node${{ matrix.node-version }}
|
||||
name: stylelint node${{ matrix.node-versions }}
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
- name: Set up node ${{ matrix.node-version }}
|
||||
uses: actions/setup-node@v3
|
||||
- name: Set up node ${{ matrix.node-versions }}
|
||||
uses: actions/setup-node@v1
|
||||
with:
|
||||
node-version: ${{ matrix.node-version }}
|
||||
node-versions: ${{ matrix.node-versions }}
|
||||
|
||||
- name: Set up npm7
|
||||
run: npm i -g npm@7
|
||||
|
||||
6
.github/workflows/nightly.yml
vendored
6
.github/workflows/nightly.yml
vendored
@@ -17,15 +17,15 @@ jobs:
|
||||
node-version: [14.x]
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/checkout@v1
|
||||
- name: Use Node.js ${{ matrix.node-version }}
|
||||
uses: actions/setup-node@v3
|
||||
uses: actions/setup-node@v1
|
||||
with:
|
||||
node-version: ${{ matrix.node-version }}
|
||||
- name: Set up npm7
|
||||
run: npm i -g npm@7
|
||||
- name: Setup PHP
|
||||
uses: shivammathur/setup-php@2.18.0
|
||||
uses: shivammathur/setup-php@v1
|
||||
with:
|
||||
php-version: '7.4'
|
||||
tools: composer
|
||||
|
||||
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@v3
|
||||
- uses: actions/checkout@v1
|
||||
- name: Use Node.js ${{ matrix.node-version }}
|
||||
uses: actions/setup-node@v3
|
||||
uses: actions/setup-node@v1
|
||||
with:
|
||||
node-version: ${{ matrix.node-version }}
|
||||
- name: Set up npm7
|
||||
|
||||
10
.github/workflows/phpunit.yml
vendored
10
.github/workflows/phpunit.yml
vendored
@@ -18,9 +18,9 @@ jobs:
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
php-versions: ['7.4', '8.0', '8.1']
|
||||
php-versions: ['7.3', '7.4']
|
||||
databases: ['sqlite', 'mysql', 'pgsql']
|
||||
server-versions: ['stable24']
|
||||
server-versions: ['stable22']
|
||||
|
||||
name: php${{ matrix.php-versions }}-${{ matrix.databases }}-${{ matrix.server-versions }}
|
||||
|
||||
@@ -44,7 +44,7 @@ jobs:
|
||||
|
||||
steps:
|
||||
- name: Checkout server
|
||||
uses: actions/checkout@v3
|
||||
uses: actions/checkout@v2
|
||||
with:
|
||||
repository: nextcloud/server
|
||||
ref: ${{ matrix.server-versions }}
|
||||
@@ -57,12 +57,12 @@ jobs:
|
||||
git -c "http.extraheader=$auth_header" -c protocol.version=2 submodule update --init --force --recursive --depth=1
|
||||
|
||||
- name: Checkout app
|
||||
uses: actions/checkout@v3
|
||||
uses: actions/checkout@v2
|
||||
with:
|
||||
path: apps/${{ env.APP_NAME }}
|
||||
|
||||
- name: Set up php ${{ matrix.php-versions }}
|
||||
uses: shivammathur/setup-php@2.18.0
|
||||
uses: shivammathur/setup-php@v2
|
||||
with:
|
||||
php-version: ${{ matrix.php-versions }}
|
||||
tools: phpunit
|
||||
|
||||
6
.github/workflows/static-analysis.yml
vendored
6
.github/workflows/static-analysis.yml
vendored
@@ -12,13 +12,13 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
matrix:
|
||||
ocp-version: [ 'dev-stable24' ]
|
||||
ocp-version: [ 'dev-stable22' ]
|
||||
name: Nextcloud ${{ matrix.ocp-version }}
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v3
|
||||
uses: actions/checkout@master
|
||||
- name: Set up php
|
||||
uses: shivammathur/setup-php@2.18.0
|
||||
uses: shivammathur/setup-php@master
|
||||
with:
|
||||
php-version: 7.4
|
||||
tools: composer:v1
|
||||
|
||||
206
CHANGELOG.md
206
CHANGELOG.md
@@ -1,97 +1,115 @@
|
||||
# Changelog
|
||||
All notable changes to this project will be documented in this file.
|
||||
|
||||
## 1.7.1
|
||||
|
||||
### Fixed
|
||||
- Align Duedate-delete icon properly - fixes nextcloud/deck#3791 [#3817](https://github.com/nextcloud/deck/pull/3817)
|
||||
- Increase file count after sharing [#3806](https://github.com/nextcloud/deck/pull/3806)
|
||||
- Fetch full board data after cloning [#3781](https://github.com/nextcloud/deck/pull/3781)
|
||||
|
||||
## 1.7.0
|
||||
## 1.5.7
|
||||
|
||||
### Added
|
||||
|
||||
- Transfer ownership @matchish @luka-nextcloud @juliushaertl [#2496](https://github.com/nextcloud/deck/pull/2496)
|
||||
- Import from trello via CLI @vitormattos [#3182](https://github.com/nextcloud/deck/pull/3182)
|
||||
- Add app config to toggle the default calendar setting as an admin @juliushaertl [#3528](https://github.com/nextcloud/deck/pull/3528)
|
||||
- Show board name in browser title @luka-nextcloud [#3499](https://github.com/nextcloud/deck/pull/3499)
|
||||
- Move DeleteCron to be time insensitive @juliushaertl [#3599](https://github.com/nextcloud/deck/pull/3599)
|
||||
- 🚸 Shows error on board fetchData @vinicius73 [#3653](https://github.com/nextcloud/deck/pull/3653)
|
||||
- Add support for PHP 8.1 @juliushaertl [#3601](https://github.com/nextcloud/deck/pull/3601)
|
||||
- Nextcloud 24 compatibility
|
||||
- Transfer ownership @juliushaertl [#3665](https://github.com/nextcloud/deck/pull/3665)
|
||||
|
||||
### Fixed
|
||||
|
||||
- CardApiController: Fix order of optional parameters @simonspa [#3512](https://github.com/nextcloud/deck/pull/3512)
|
||||
- Exclude deleted boards in the selection for target @luka-nextcloud [#3502](https://github.com/nextcloud/deck/pull/3502)
|
||||
- Fix CalDAV blocking and modernize circles API usage @juliushaertl [#3500](https://github.com/nextcloud/deck/pull/3500)
|
||||
- Timestamps on created and modified at values @luka-nextcloud [#3532](https://github.com/nextcloud/deck/pull/3532)
|
||||
- return the selector for collections @dartcafe [#3552](https://github.com/nextcloud/deck/pull/3552)
|
||||
- Generate fixed link for activity emails @luka-nextcloud [#3611](https://github.com/nextcloud/deck/pull/3611)
|
||||
- 🐛 Fix missing files sidebar @vinicius73 [#3635](https://github.com/nextcloud/deck/pull/3635)
|
||||
- Handle description shortening more gracefully @juliushaertl [#3650](https://github.com/nextcloud/deck/pull/3650)
|
||||
- Sort boards non case sensitive @Ben-Ro [#3560](https://github.com/nextcloud/deck/pull/3560)
|
||||
- Remove unused argument from transfer ownership @juliushaertl [#3712](https://github.com/nextcloud/deck/pull/3712)
|
||||
- Fix: Check all circle shares for permissions @bink [#3625](https://github.com/nextcloud/deck/pull/3625)
|
||||
- Extend API changelog @juliushaertl [#3522](https://github.com/nextcloud/deck/pull/3522)
|
||||
- Fix talk integration @nickvergessen [#3529](https://github.com/nextcloud/deck/pull/3529)
|
||||
- Fix confusion between stackId and boardId in StackService @eneiluj [#3541](https://github.com/nextcloud/deck/pull/3541)
|
||||
- Add horizontal scrollbar into the large table inside description @luka-nextcloud [#3531](https://github.com/nextcloud/deck/pull/3531)
|
||||
- Make links in markdown note bolder @luka-nextcloud [#3530](https://github.com/nextcloud/deck/pull/3530)
|
||||
- Update master php testing versions @nickvergessen [#3561](https://github.com/nextcloud/deck/pull/3561)
|
||||
- Update master php enviroment @nickvergessen [#3582](https://github.com/nextcloud/deck/pull/3582)
|
||||
- Make insert attachment buttom easy to click @luka-nextcloud [#3612](https://github.com/nextcloud/deck/pull/3612)
|
||||
- Remove extra bullet @elitejake [#3613](https://github.com/nextcloud/deck/pull/3613)
|
||||
- l10n: Delete space @Valdnet [#3666](https://github.com/nextcloud/deck/pull/3666)
|
||||
- Update master php testing versions @nickvergessen [#3688](https://github.com/nextcloud/deck/pull/3688)
|
||||
- Fix wording to represent the code behavior @q-wertz [#3685](https://github.com/nextcloud/deck/pull/3685)
|
||||
- Fix cron jobs @nickvergessen [#3689](https://github.com/nextcloud/deck/pull/3689)
|
||||
- Update master php testing versions @nickvergessen [#3695](https://github.com/nextcloud/deck/pull/3695)
|
||||
- Optimise queries when preparing card related notifications @Raudius [#3690](https://github.com/nextcloud/deck/pull/3690)
|
||||
- Properly check for the stack AND setting board permissions @juliushaertl [#3670](https://github.com/nextcloud/deck/pull/3670)
|
||||
- Replace deprecated String.prototype.substr() @CommanderRoot [#3669](https://github.com/nextcloud/deck/pull/3669)
|
||||
- Dependency updates
|
||||
- Show cards after moving into another list [#3736](https://github.com/nextcloud/deck/pull/3736)
|
||||
- Fix paramter replacements when creating deck cards from talk messages @nickvergessen [#3683](https://github.com/nextcloud/deck/pull/3683)
|
||||
- Fix hidden attachment icon on archived cards [#3733](https://github.com/nextcloud/deck/pull/3733)
|
||||
- Adapt the card modal to upstream changes [#3764](https://github.com/nextcloud/deck/pull/3764)
|
||||
- Fix text selection in dark mode and modal view [#3765](https://github.com/nextcloud/deck/pull/3765)
|
||||
- Add missing indices [#3754](https://github.com/nextcloud/deck/pull/3754)
|
||||
- Handle qb mapper exception messages properly @juliushaertl [#3769](https://github.com/nextcloud/deck/pull/3769)
|
||||
- Fix: Check all circle shares for permissions [#3721](https://github.com/nextcloud/deck/pull/3721)
|
||||
- Add a missing translation - not found in transifex [#3707](https://github.com/nextcloud/deck/pull/3707)
|
||||
- 🐛 Fix missing files sidebar [#3642](https://github.com/nextcloud/deck/pull/3642)
|
||||
- [stable23] Use explicit cast to make use of index [#3731](https://github.com/nextcloud/deck/pull/3731)
|
||||
- Fix hidden attachment icon on archived cards [#3735](https://github.com/nextcloud/deck/pull/3735)
|
||||
- [stable23] Sort boards non case sensitive [#3739](https://github.com/nextcloud/deck/pull/3739)
|
||||
- add autofocus on board edit #3326 @juliushaertl [#3743](https://github.com/nextcloud/deck/pull/3743)
|
||||
- Fix paramter replacements when creating deck cards from talk messages @juliushaertl [#3742](https://github.com/nextcloud/deck/pull/3742)
|
||||
- Fix text selection in dark mode and modal view [#3767](https://github.com/nextcloud/deck/pull/3767)
|
||||
|
||||
## 1.6.0-beta1
|
||||
### Other
|
||||
|
||||
- Properly check for the stack AND setting board permissions [#3714](https://github.com/nextcloud/deck/pull/3714)
|
||||
- Add missing indices [#3756](https://github.com/nextcloud/deck/pull/3756)
|
||||
|
||||
|
||||
## 1.5.6
|
||||
|
||||
### Fixed
|
||||
|
||||
- Allow to download an attachment without navigating to the files app [#3441](https://api.github.com/repos/nextcloud/deck/pulls/3441)
|
||||
- Fix CalDAV blocking and modernize circles API usage [#3527](https://api.github.com/repos/nextcloud/deck/pulls/3527)
|
||||
- CardApiController: Fix order of optional parameters [#3521](https://api.github.com/repos/nextcloud/deck/pulls/3521)
|
||||
- Fix cursor generation if no results are found [#3460](https://api.github.com/repos/nextcloud/deck/pulls/3460)
|
||||
- Exclude deleted boards in the selection for target [#3524](https://api.github.com/repos/nextcloud/deck/pulls/3524)
|
||||
- Generate fixed link for activity emails [#3627](https://api.github.com/repos/nextcloud/deck/pulls/3627)
|
||||
- Make insert attachment buttom easy to click [#3615](https://api.github.com/repos/nextcloud/deck/pulls/3615)
|
||||
- Fix confusion between stackId and boardId in StackService [#3544](https://api.github.com/repos/nextcloud/deck/pulls/3544)
|
||||
|
||||
## 1.5.5
|
||||
|
||||
- Fix release asset build
|
||||
|
||||
## 1.5.4
|
||||
|
||||
### Fixed
|
||||
|
||||
- #3378 Fix menu button position in card modal
|
||||
- #3392 Use displayname instead of uid for mentions (reopened against master)
|
||||
- #3361 Improve combined search @eneiluj
|
||||
- #3381 Extend drag-and-drop zone in card sidebar @Artem4590
|
||||
- #3366 Fix optional parameter order
|
||||
- #3407 Keep exceptions http response generic
|
||||
|
||||
|
||||
## 1.5.3
|
||||
|
||||
### Fied
|
||||
|
||||
- #3317 Additional check for stacks
|
||||
|
||||
|
||||
## 1.5.2
|
||||
|
||||
### Fixed
|
||||
|
||||
- #3300 Fix print style issues
|
||||
- #3303 Delete file shares through attachments API
|
||||
- #3306 Return false instead of throwing when getting calendar setting
|
||||
|
||||
## 1.5.1 - 2021-09-03
|
||||
|
||||
### Fixed
|
||||
|
||||
- #3224 Move circle checks to a unified service and improve member checks
|
||||
- #3231 Check for null value to avoid TypeError in the group manager
|
||||
- #3264 Defer obtaining the user session in the config service
|
||||
|
||||
|
||||
## 1.5.0 - 2021-07-09
|
||||
|
||||
### Added
|
||||
|
||||
- #3177 Use async import for vue component on collections entrypoint @juliushaertl
|
||||
- #2791 Open description links in new tab @fm-sys
|
||||
- #3344 Improve combined search @eneiluj
|
||||
- #3362 Improve search performance @eneiluj
|
||||
- #2710 Due date shortcuts in the datepicker @jakobroehrl
|
||||
* Nextcloud 22 compatibility
|
||||
* [#3105](https://github.com/nextcloud/deck/pull/3105) Compatibility with Cirlces changes in 22
|
||||
* [#3147](https://github.com/nextcloud/deck/pull/3147) Add card button to the dashboard widget @jakobroehrl
|
||||
* [#2854](https://github.com/nextcloud/deck/pull/2854) Add card button in card overview @jakobroehrl
|
||||
* [#3078](https://github.com/nextcloud/deck/pull/3078) Show on shared boards unassigned cards to all users @jakobroehrl
|
||||
|
||||
### Fixed
|
||||
|
||||
- #3161 Reduce duplicate queries when fetching user boards an permissions @juliushaertl
|
||||
- #3151 Always log generic exceptions @juliushaertl
|
||||
- #3217 Move circle checks to a unified service and improve member checks @juliushaertl
|
||||
- #3225 Check for null value to avoid TypeError in the group manager @juliushaertl
|
||||
- #3263 Defer obtaining the user session in the config service @juliushaertl
|
||||
- #3294 Fix print style issues @weeman1337
|
||||
- #3299 Return false instead of throwing when getting calendar setting @juliushaertl
|
||||
- #3298 Delete file shares through attachments API @juliushaertl
|
||||
- #3343 Fix search pagination cursor @eneiluj
|
||||
- #3326 add autofocus on board edit @weeman1337
|
||||
- #3323 Extend drag-and-drop zone in card sidebar @old-green-frog
|
||||
- #3364 Fix optional parameter order @juliushaertl
|
||||
- #3324 Fix menu button position in card modal @valerydmitrieva
|
||||
- #3391 Use displayname instead of uid for mentions (reopened against master) @kffl
|
||||
- #3316 Additional check for stacks @juliushaertl
|
||||
- #3357 Revert "Fix search pagination cursor" @juliushaertl
|
||||
- #3327 Do not show both bullets and checkboxes for checklists @Themanwhosmellslikesugar
|
||||
- #3375 Show absolute dates when printing @weeman1337
|
||||
- #3376 Print assignee names @weeman1337
|
||||
- #3384 Keep exceptions http response generic @juliushaertl
|
||||
* [#2935](https://github.com/nextcloud/deck/pull/2935) Rich object string parameters for notifications @nickvergessen
|
||||
* [#2950](https://github.com/nextcloud/deck/pull/2950) Remove notification on unshare and add type hints
|
||||
* [#2983](https://github.com/nextcloud/deck/pull/2983) Fix codemirror description width
|
||||
* [#2989](https://github.com/nextcloud/deck/pull/2989) Fix unified comments search with postgres
|
||||
* [#3005](https://github.com/nextcloud/deck/pull/3005) Do not query the lookupserver when looking for sharees
|
||||
* [#3011](https://github.com/nextcloud/deck/pull/3011) L10n: Spelling unification @Valdnet
|
||||
* [#3014](https://github.com/nextcloud/deck/pull/3014) Proper error handling when fetching comments fails
|
||||
* [#3016](https://github.com/nextcloud/deck/pull/3016) Allow searching for filters without a query to match all that have a given filter set
|
||||
* [#3021](https://github.com/nextcloud/deck/pull/3021) L10n: Add word "Card" @Valdnet
|
||||
* [#3025](https://github.com/nextcloud/deck/pull/3025) Show comment counter and highlight if unread comments are available
|
||||
* [#3036](https://github.com/nextcloud/deck/pull/3036) Add link to migration tool for Trello @maxammann
|
||||
* [#3037](https://github.com/nextcloud/deck/pull/3037) Catch any error during circle detail fetching
|
||||
* [#3038](https://github.com/nextcloud/deck/pull/3038) Get attachment from the user node instead of the share source
|
||||
* [#3092](https://github.com/nextcloud/deck/pull/3092) Refactor update to have proper order of optional parameters
|
||||
* [#3113](https://github.com/nextcloud/deck/pull/3113) Use new viewer syntax with destructuring object @azul
|
||||
* [#3142](https://github.com/nextcloud/deck/pull/3142) Always pass user id in share provider
|
||||
* [#3152](https://github.com/nextcloud/deck/pull/3152) Only offer stack creation in emptycontent with proper permissions
|
||||
* [#3165](https://github.com/nextcloud/deck/pull/3165) Always log generic exceptions
|
||||
* [#3168](https://github.com/nextcloud/deck/pull/3168) Reduce duplicate queries when fetching user boards an permissions
|
||||
|
||||
|
||||
|
||||
## 1.4.0 - 2021-04-13
|
||||
@@ -128,15 +146,15 @@ All notable changes to this project will be documented in this file.
|
||||
## 1.3.0-beta2
|
||||
|
||||
### Fixed
|
||||
* [#2700](https://github.com/nextcloud/deck/pull/2700) Attempt to copy file on dropping it to deck @juliushaertl
|
||||
* [#2701](https://github.com/nextcloud/deck/pull/2701) Fix uploading files by drag and drop @juliushaertl
|
||||
* [#2700](https://github.com/nextcloud/deck/pull/2700) Attempt to copy file on dropping it to deck
|
||||
* [#2701](https://github.com/nextcloud/deck/pull/2701) Fix uploading files by drag and drop
|
||||
* [#2707](https://github.com/nextcloud/deck/pull/2707) L10n: Change to a capital letter @Valdnet
|
||||
* [#2712](https://github.com/nextcloud/deck/pull/2712) Docs: Fix table in section "GET /api/v1.0/config" @das-g
|
||||
* [#2716](https://github.com/nextcloud/deck/pull/2716) Remove repair step which is no longer needed as we cleanup properly @juliushaertl
|
||||
* [#2716](https://github.com/nextcloud/deck/pull/2716) Remove repair step which is no longer needed as we cleanup properly
|
||||
* [#2723](https://github.com/nextcloud/deck/pull/2723) Pad random color with leading zeroes @PVince81
|
||||
* [#2729](https://github.com/nextcloud/deck/pull/2729) Remove invalid activity parameters @nickvergessen
|
||||
* [#2750](https://github.com/nextcloud/deck/pull/2750) Fix deck activity emails not being translated @nickvergessen
|
||||
* [#2751](https://github.com/nextcloud/deck/pull/2751) Properly set author for activity events that are triggered by cron @juliushaertl
|
||||
* [#2751](https://github.com/nextcloud/deck/pull/2751) Properly set author for activity events that are triggered by cron
|
||||
|
||||
|
||||
## 1.2.2 - 2020-11-24
|
||||
@@ -245,31 +263,31 @@ All notable changes to this project will be documented in this file.
|
||||
### Fixed
|
||||
|
||||
|
||||
* [#2116](https://github.com/nextcloud/deck/pull/2116) Fix navigation layout issues @juliushaertl
|
||||
* [#2118](https://github.com/nextcloud/deck/pull/2118) Use proper parameter when handling attachments @juliushaertl
|
||||
* [#2116](https://github.com/nextcloud/deck/pull/2116) Fix navigation layout issues
|
||||
* [#2118](https://github.com/nextcloud/deck/pull/2118) Use proper parameter when handling attachments
|
||||
|
||||
## 1.0.4 - 2020-06-26
|
||||
|
||||
### Fixed
|
||||
|
||||
* [#2062](https://github.com/nextcloud/deck/pull/2062) Fix saving card description after toggling checkboxes @juliushaertl
|
||||
* [#2062](https://github.com/nextcloud/deck/pull/2062) Fix saving card description after toggling checkboxes
|
||||
* [#2065](https://github.com/nextcloud/deck/pull/2065) Adding CSS rule for Markdown Blockquotes @reox
|
||||
* [#2059](https://github.com/nextcloud/deck/pull/2059) Fix fetching attachments on card change @juliushaertl
|
||||
* [#2060](https://github.com/nextcloud/deck/pull/2060) Use mixing for relative date in card sidebar @juliushaertl
|
||||
* [#2059](https://github.com/nextcloud/deck/pull/2059) Fix fetching attachments on card change
|
||||
* [#2060](https://github.com/nextcloud/deck/pull/2060) Use mixing for relative date in card sidebar
|
||||
|
||||
|
||||
## 1.0.3 - 2020-06-19
|
||||
|
||||
### Fixed
|
||||
|
||||
* [#2019](https://github.com/nextcloud/deck/pull/2019) Remove old global css rule @juliushaertl
|
||||
* [#2020](https://github.com/nextcloud/deck/pull/2020) Fix navigation issue with leftover nodes @juliushaertl
|
||||
* [#2021](https://github.com/nextcloud/deck/pull/2021) Fix description issues @juliushaertl
|
||||
* [#2022](https://github.com/nextcloud/deck/pull/2022) Fix replyto issues with the comments API @juliushaertl
|
||||
* [#2027](https://github.com/nextcloud/deck/pull/2027) Allow to unassign current user from card @juliushaertl
|
||||
* [#2019](https://github.com/nextcloud/deck/pull/2019) Remove old global css rule
|
||||
* [#2020](https://github.com/nextcloud/deck/pull/2020) Fix navigation issue with leftover nodes
|
||||
* [#2021](https://github.com/nextcloud/deck/pull/2021) Fix description issues
|
||||
* [#2022](https://github.com/nextcloud/deck/pull/2022) Fix replyto issues with the comments API
|
||||
* [#2027](https://github.com/nextcloud/deck/pull/2027) Allow to unassign current user from card
|
||||
* [#2029](https://github.com/nextcloud/deck/pull/2029) Fix wording : stack -> list @cloud2018
|
||||
* [#2032](https://github.com/nextcloud/deck/pull/2032) Force order by id as second sorting key @juliushaertl
|
||||
* [#2045](https://github.com/nextcloud/deck/pull/2045) Improve label styling @juliushaertl
|
||||
* [#2032](https://github.com/nextcloud/deck/pull/2032) Force order by id as second sorting key
|
||||
* [#2045](https://github.com/nextcloud/deck/pull/2045) Improve label styling
|
||||
* [#2010](https://github.com/nextcloud/deck/pull/2010) User documentation fixes @Nyco
|
||||
* [#1998](https://github.com/nextcloud/deck/pull/1998) Add Checklist explaination to the doc @4rnoP
|
||||
|
||||
|
||||
@@ -25,8 +25,7 @@ Deck is a kanban style organization tool aimed at personal planning and project
|
||||
|
||||
- [trello-to-deck](https://github.com/maxammann/trello-to-deck) - Migrates cards from Trello
|
||||
- [mail2deck](https://github.com/newroco/mail2deck) - Provides an "email in" solution
|
||||
- [A-deck](https://github.com/leoossa/A-deck) - Chrome Extension that allows to create new card in selected stack based on current tab
|
||||
|
||||
|
||||
## Installation/Update
|
||||
|
||||
This app is supposed to work on the two latest Nextcloud versions.
|
||||
|
||||
@@ -7,16 +7,16 @@
|
||||
|
||||
|
||||
- 📥 Add your tasks to cards and put them in order
|
||||
- 📄 Write down additional notes in Markdown
|
||||
- 📄 Write down additional notes in markdown
|
||||
- 🔖 Assign labels for even better organization
|
||||
- 👥 Share with your team, friends or family
|
||||
- 📎 Attach files and embed them in your Markdown description
|
||||
- 📎 Attach files and embed them in your markdown description
|
||||
- 💬 Discuss with your team using comments
|
||||
- ⚡ Keep track of changes in the activity stream
|
||||
- 🚀 Get your project organized
|
||||
|
||||
</description>
|
||||
<version>1.7.1</version>
|
||||
<version>1.5.7</version>
|
||||
<licence>agpl</licence>
|
||||
<author>Julius Härtl</author>
|
||||
<namespace>Deck</namespace>
|
||||
@@ -31,10 +31,11 @@
|
||||
<screenshot>https://download.bitgrid.net/nextcloud/deck/screenshots/1.0/Deck-1.png</screenshot>
|
||||
<screenshot>https://download.bitgrid.net/nextcloud/deck/screenshots/1.0/Deck-2.png</screenshot>
|
||||
<dependencies>
|
||||
<php min-version="7.3"/>
|
||||
<database min-version="9.4">pgsql</database>
|
||||
<database>sqlite</database>
|
||||
<database min-version="8.0">mysql</database>
|
||||
<nextcloud min-version="24" max-version="24"/>
|
||||
<database min-version="5.5">mysql</database>
|
||||
<nextcloud min-version="22" max-version="22"/>
|
||||
</dependencies>
|
||||
<background-jobs>
|
||||
<job>OCA\Deck\Cron\DeleteCron</job>
|
||||
@@ -43,7 +44,6 @@
|
||||
</background-jobs>
|
||||
<commands>
|
||||
<command>OCA\Deck\Command\UserExport</command>
|
||||
<command>OCA\Deck\Command\BoardImport</command>
|
||||
<command>OCA\Deck\Command\TransferOwnership</command>
|
||||
</commands>
|
||||
<activity>
|
||||
|
||||
@@ -92,10 +92,6 @@ return [
|
||||
['name' => 'board_api#deleteAcl', 'url' => '/api/v{apiVersion}/boards/{boardId}/acl/{aclId}', 'verb' => 'DELETE'],
|
||||
['name' => 'board_api#updateAcl', 'url' => '/api/v{apiVersion}/boards/{boardId}/acl/{aclId}', 'verb' => 'PUT'],
|
||||
|
||||
['name' => 'board_import_api#getAllowedSystems', 'url' => '/api/v{apiVersion}/boards/import/getSystems','verb' => 'GET'],
|
||||
['name' => 'board_import_api#getConfigSchema', 'url' => '/api/v{apiVersion}/boards/import/config/schema/{name}','verb' => 'GET'],
|
||||
['name' => 'board_import_api#import', 'url' => '/api/v{apiVersion}/boards/import','verb' => 'POST'],
|
||||
|
||||
|
||||
['name' => 'stack_api#index', 'url' => '/api/v{apiVersion}/boards/{boardId}/stacks', 'verb' => 'GET'],
|
||||
['name' => 'stack_api#getArchived', 'url' => '/api/v{apiVersion}/boards/{boardId}/stacks/archived', 'verb' => 'GET'],
|
||||
|
||||
@@ -8,28 +8,26 @@
|
||||
"email": "jus@bitgrid.net"
|
||||
}
|
||||
],
|
||||
"config": {
|
||||
"platform": {
|
||||
"php": "7.3"
|
||||
}
|
||||
},
|
||||
"require": {
|
||||
"cogpowered/finediff": "0.3.*",
|
||||
"justinrainbow/json-schema": "^5.2"
|
||||
"cogpowered/finediff": "0.3.*"
|
||||
},
|
||||
"require-dev": {
|
||||
"roave/security-advisories": "dev-master",
|
||||
"christophwurst/nextcloud": "dev-master",
|
||||
"phpunit/phpunit": "^9",
|
||||
"nextcloud/coding-standard": "^1.0.0",
|
||||
"christophwurst/nextcloud": "^22@dev",
|
||||
"phpunit/phpunit": "^8",
|
||||
"nextcloud/coding-standard": "^0.5.0",
|
||||
"symfony/event-dispatcher": "^4.0",
|
||||
"vimeo/psalm": "^4.3",
|
||||
"php-parallel-lint/php-parallel-lint": "^1.2"
|
||||
},
|
||||
"config": {
|
||||
"optimize-autoloader": true,
|
||||
"classmap-authoritative": true,
|
||||
"allow-plugins": {
|
||||
"composer/package-versions-deprecated": true
|
||||
},
|
||||
"platform": {
|
||||
"php": "7.4"
|
||||
}
|
||||
"classmap-authoritative": true
|
||||
},
|
||||
"scripts": {
|
||||
"lint": "find . -name \\*.php -not -path './vendor/*' -print0 | xargs -0 -n1 php -l",
|
||||
|
||||
1449
composer.lock
generated
1449
composer.lock
generated
File diff suppressed because it is too large
Load Diff
68
docs/API.md
68
docs/API.md
@@ -96,27 +96,10 @@ If available the ETag will also be part of JSON response objects as shown below
|
||||
|
||||
# Changelog
|
||||
|
||||
## API version 1.0
|
||||
|
||||
- Deck >=1.0.0: The maximum length of the card title has been extended from 100 to 255 characters
|
||||
- Deck >=1.0.0: The API will now return a 400 Bad request response if the length limitation of a board, stack or card title is exceeded
|
||||
|
||||
## API version 1.1
|
||||
|
||||
This API version has become available with **Deck 1.3.0**.
|
||||
## 1.0.0 (unreleased)
|
||||
|
||||
- The maximum length of the card title has been extended from 100 to 255 characters
|
||||
- The API will now return a 400 Bad request response if the length limitation of a board, stack or card title is exceeded
|
||||
- The attachments API endpoints will return other attachment types than deck_file
|
||||
- Prior to Deck version v1.3.0 (API v1.0), attachments were stored within deck. For this type of attachments `deck_file` was used as the default type of attachments
|
||||
- Starting with Deck version 1.3.0 (API v1.1) files are stored within the users regular Nextcloud files and the type `file` has been introduced for that
|
||||
|
||||
## API version 1.2 (unreleased)
|
||||
|
||||
- Endpoints for the new import functionality have been added:
|
||||
- [GET /boards/import/getSystems - Import a board](#get-boardsimportgetsystems-import-a-board)
|
||||
- [GET /boards/import/config/system/{schema} - Import a board](#get-boardsimportconfigsystemschema-import-a-board)
|
||||
- [POST /boards/import - Import a board](#post-boardsimport-import-a-board)
|
||||
|
||||
# Endpoints
|
||||
|
||||
@@ -944,8 +927,7 @@ The request can fail with a bad request response for the following reasons:
|
||||
| type | String | The type of the attachement |
|
||||
| file | Binary | File data to add as an attachment |
|
||||
|
||||
- Prior to Deck version v1.3.0 (API v1.0), attachments were stored within deck. For this type of attachments `deck_file` was used as the default type of attachments
|
||||
- Starting with Deck version 1.3.0 (API v1.1) files are stored within the users regular Nextcloud files and the type `file` has been introduced for that
|
||||
For now only `deck_file` is supported as an attachment type.
|
||||
|
||||
#### Response
|
||||
|
||||
@@ -1006,49 +988,6 @@ For now only `deck_file` is supported as an attachment type.
|
||||
|
||||
##### 200 Success
|
||||
|
||||
### GET /boards/import/getSystems - Import a board
|
||||
|
||||
#### Request parameters
|
||||
|
||||
| Parameter | Type | Description |
|
||||
| ------------ | ------- | --------------------------------------------- |
|
||||
| system | Integer | The system name. Example: trello |
|
||||
|
||||
#### Response
|
||||
|
||||
Make a request to see the json schema of system
|
||||
|
||||
```json
|
||||
{
|
||||
}
|
||||
```
|
||||
|
||||
### GET /boards/import/config/system/{schema} - Import a board
|
||||
|
||||
#### Request parameters
|
||||
|
||||
#### Response
|
||||
|
||||
```json
|
||||
[
|
||||
"trello"
|
||||
]
|
||||
```
|
||||
|
||||
### POST /boards/import - Import a board
|
||||
|
||||
#### Request parameters
|
||||
|
||||
| Parameter | Type | Description |
|
||||
| ------------ | ------- | --------------------------------------------- |
|
||||
| system | string | The allowed name of system to import from |
|
||||
| config | Object | The config object (JSON) |
|
||||
| data | Object | The data object to import (JSON) |
|
||||
|
||||
#### Response
|
||||
|
||||
##### 200 Success
|
||||
|
||||
# OCS API
|
||||
|
||||
The following endpoints are available through the Nextcloud OCS endpoint, which is available at `/ocs/v2.php/apps/deck/api/v1.0/`.
|
||||
@@ -1065,7 +1004,6 @@ Deck stores user and app configuration values globally and per board. The GET en
|
||||
| Config key | Description |
|
||||
| --- | --- |
|
||||
| calendar | Determines if the calendar/tasks integration through the CalDAV backend is enabled for the user (boolean) |
|
||||
| cardDetailsInModal | Determines if the bigger view is used (boolean) |
|
||||
| groupLimit | Determines if creating new boards is limited to certain groups of the instance. The resulting output is an array of group objects with the id and the displayname (Admin only)|
|
||||
|
||||
```
|
||||
@@ -1078,7 +1016,6 @@ Deck stores user and app configuration values globally and per board. The GET en
|
||||
},
|
||||
"data": {
|
||||
"calendar": true,
|
||||
"cardDetailsInModal": true,
|
||||
"groupLimit": [
|
||||
{
|
||||
"id": "admin",
|
||||
@@ -1108,7 +1045,6 @@ Deck stores user and app configuration values globally and per board. The GET en
|
||||
| --- | ----- |
|
||||
| notify-due | `off`, `assigned` or `all` |
|
||||
| calendar | Boolean |
|
||||
| cardDetailsInModal | Boolean |
|
||||
|
||||
#### Example request
|
||||
|
||||
|
||||
@@ -14,9 +14,7 @@ Overall, Deck is easy to use. You can create boards, add users, share the Deck,
|
||||
3. [Handle cards options](#3-handle-cards-options)
|
||||
4. [Archive old tasks](#4-archive-old-tasks)
|
||||
5. [Manage your board](#5-manage-your-board)
|
||||
6. [Import boards](#6-import-boards)
|
||||
7. [Search](#7-search)
|
||||
8. [New owner for the deck entities](#8-new-owner-for-the-deck-entities)
|
||||
6. [New owner for the deck entities](#8-new-owner-for-the-deck-entities)
|
||||
|
||||
### 1. Create my first board
|
||||
In this example, we're going to create a board and share it with an other nextcloud user.
|
||||
@@ -72,80 +70,14 @@ The **sharing tab** allows you to add users or even groups to your boards.
|
||||
**Deleted objects** allows you to return previously deleted stacks or cards.
|
||||
The **Timeline** allows you to see everything that happened in your boards. Everything!
|
||||
|
||||
### 6. Import boards
|
||||
|
||||
Importing can be done using the API or the `occ` `deck:import` command.
|
||||
|
||||
Comments with more than 1000 characters are placed as attached files to the card.
|
||||
|
||||
It is possible to import from the following sources:
|
||||
|
||||
#### Trello JSON
|
||||
|
||||
Steps:
|
||||
* Create the data file
|
||||
* Access Trello
|
||||
* go to the board you want to export
|
||||
* Follow the steps in [Trello documentation](https://help.trello.com/article/747-exporting-data-from-trello-1) and export as JSON
|
||||
* Create the configuration file
|
||||
* Execute the import informing the import file path, data file and source as `Trello JSON`
|
||||
|
||||
Create the configuration file respecting the [JSON Schema](https://github.com/nextcloud/deck/blob/master/lib/Service/fixtures/config-trelloJson-schema.json) for import `Trello JSON`
|
||||
|
||||
Example configuration file:
|
||||
```json
|
||||
{
|
||||
"owner": "admin",
|
||||
"color": "0800fd",
|
||||
"uidRelation": {
|
||||
"johndoe": "johndoe"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
**Limitations**:
|
||||
|
||||
Importing from a JSON file imports up to 1000 actions. To find out how many actions the board to be imported has, identify how many actions the JSON has.
|
||||
|
||||
#### Trello API
|
||||
|
||||
Import using API is recommended for boards with more than 1000 actions.
|
||||
|
||||
Trello makes it possible to attach links to a card. Deck does not have this feature. Attachments and attachment links are added in a markdown table at the end of the description for every imported card that has attachments in Trello.
|
||||
|
||||
* Get the API Key and API Token [here](https://developer.atlassian.com/cloud/trello/guides/rest-api/api-introduction/#authentication-and-authorization)
|
||||
* Get the ID of the board you want to import by making a request to:
|
||||
https://api.trello.com/1/members/me/boards?key={yourKey}&token={yourToken}&fields=id,name
|
||||
|
||||
This ID you will use in the configuration file in the `board` property
|
||||
* Create the configuration file
|
||||
|
||||
Create the configuration file respecting the [JSON Schema](https://github.com/nextcloud/deck/blob/master/lib/Service/fixtures/config-trelloApi-schema.json) for import `Trello JSON`
|
||||
|
||||
Example configuration file:
|
||||
```json
|
||||
{
|
||||
"owner": "admin",
|
||||
"color": "0800fd",
|
||||
"api": {
|
||||
"key": "0cc175b9c0f1b6a831c399e269772661",
|
||||
"token": "92eb5ffee6ae2fec3ad71c777531578f4a8a08f09d37b73795649038408b5f33"
|
||||
},
|
||||
"board": "8277e0910d750195b4487976",
|
||||
"uidRelation": {
|
||||
"johndoe": "johndoe"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### 7. Search
|
||||
## Search
|
||||
|
||||
Deck provides a global search either through the unified search in the Nextcloud header or with the inline search next to the board controls.
|
||||
This search allows advanced filtering of cards across all board of the logged in user.
|
||||
|
||||
For example the search `project tag:ToDo assigned:alice assigned:bob` will return all cards where the card title or description contains project **and** the tag ToDo is set **and** the user alice is assigned **and** the user bob is assigned.
|
||||
|
||||
#### Supported search filters
|
||||
### Supported search filters
|
||||
|
||||
| Filter | Operators | Query |
|
||||
| ----------- | ----------------- | ------------------------------------------------------------ |
|
||||
|
||||
@@ -1,32 +0,0 @@
|
||||
## Implement import
|
||||
|
||||
* Create a new importer class extending `ABoardImportService`
|
||||
* Create a listener for event `BoardImportGetAllowedEvent` to enable your importer.
|
||||
> You can read more about listeners on [Nextcloud](https://docs.nextcloud.com/server/latest/developer_manual/basics/events.html?highlight=event#writing-a-listener) doc.
|
||||
|
||||
Example:
|
||||
|
||||
```php
|
||||
class YourCustomImporterListener {
|
||||
public function handle(Event $event): void {
|
||||
if (!($event instanceof BoardImportGetAllowedEvent)) {
|
||||
return;
|
||||
}
|
||||
|
||||
$event->getService()->addAllowedImportSystem([
|
||||
'name' => YourCustomImporterService::$name,
|
||||
'class' => YourCustomImporterService::class,
|
||||
'internalName' => 'YourCustomImporter'
|
||||
]);
|
||||
}
|
||||
}
|
||||
```
|
||||
* Register your listener on your `Application` class like this:
|
||||
```php
|
||||
$dispatcher = $this->getContainer()->query(IEventDispatcher::class);
|
||||
$dispatcher->registerEventListener(
|
||||
BoardImportGetAllowedEvent::class,
|
||||
YourCustomImporterListener::class
|
||||
);
|
||||
```
|
||||
* Use the `lib/Service/Importer/Systems/TrelloJsonService.php` class as inspiration
|
||||
@@ -1,7 +0,0 @@
|
||||
## Import class diagram
|
||||
|
||||
Importing boards to the Deck implements the class diagram below.
|
||||
|
||||
> **NOTE**: When making any changes to the structure of the classes or implementing import from other sources, edit the `BoardImport.yuml` file
|
||||
|
||||

|
||||
@@ -1,214 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
|
||||
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<!-- Generated by graphviz version 2.40.1 (20161225.0304)
|
||||
-->
|
||||
<!-- Title: G Pages: 1 -->
|
||||
<svg width="417pt" height="830pt"
|
||||
viewBox="0.00 0.00 417.01 830.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 826)">
|
||||
<title>G</title>
|
||||
<polygon fill="#ffffff" stroke="transparent" points="-4,4 -4,-826 413.012,-826 413.012,4 -4,4"/>
|
||||
<!-- A0 -->
|
||||
<g id="node1" class="node">
|
||||
<title>A0</title>
|
||||
<polygon fill="#fff8dc" stroke="#000000" points="165.909,-822 70.091,-822 70.091,-766 171.909,-766 171.909,-816 165.909,-822"/>
|
||||
<polyline fill="none" stroke="#000000" points="165.909,-822 165.909,-816 "/>
|
||||
<polyline fill="none" stroke="#000000" points="171.909,-816 165.909,-816 "/>
|
||||
<text text-anchor="middle" x="121" y="-809" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">Classes used on</text>
|
||||
<text text-anchor="middle" x="121" y="-797" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">board import.</text>
|
||||
<text text-anchor="middle" x="121" y="-785" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">Methods just to</text>
|
||||
<text text-anchor="middle" x="121" y="-773" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">illustrate.</text>
|
||||
</g>
|
||||
<!-- A1 -->
|
||||
<g id="node2" class="node">
|
||||
<title>A1</title>
|
||||
<polygon fill="none" stroke="#000000" points="108.7773,-680 23.2227,-680 23.2227,-644 108.7773,-644 108.7773,-680"/>
|
||||
<text text-anchor="middle" x="66" y="-659" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">ApiController</text>
|
||||
</g>
|
||||
<!-- A2 -->
|
||||
<g id="node3" class="node">
|
||||
<title>A2</title>
|
||||
<polygon fill="none" stroke="#000000" points="0,-514 0,-546 132,-546 132,-514 0,-514"/>
|
||||
<text text-anchor="start" x="9.607" y="-527" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">BoardImportApiController</text>
|
||||
<polygon fill="none" stroke="#000000" points="0,-458 0,-514 132,-514 132,-458 0,-458"/>
|
||||
<text text-anchor="start" x="45.8645" y="-495" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+import()</text>
|
||||
<text text-anchor="start" x="16.1335" y="-483" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+getAllowedSystems()</text>
|
||||
<text text-anchor="start" x="20.0185" y="-471" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+getConfigSchema()</text>
|
||||
</g>
|
||||
<!-- A1->A2 -->
|
||||
<g id="edge1" class="edge">
|
||||
<title>A1->A2</title>
|
||||
<path fill="none" stroke="#000000" d="M66,-633.6693C66,-609.4424 66,-574.1663 66,-546.2238"/>
|
||||
<polygon fill="#000000" stroke="#000000" points="66,-643.957 61.5001,-633.9569 66,-638.957 66.0001,-633.957 66.0001,-633.957 66.0001,-633.957 66,-638.957 70.5001,-633.957 66,-643.957 66,-643.957"/>
|
||||
</g>
|
||||
<!-- A3 -->
|
||||
<g id="node4" class="node">
|
||||
<title>A3</title>
|
||||
<polygon fill="none" stroke="#000000" points="92,-364 92,-396 200,-396 200,-364 92,-364"/>
|
||||
<text text-anchor="start" x="101.828" y="-377" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">BoardImportService</text>
|
||||
<polygon fill="none" stroke="#000000" points="92,-284 92,-364 200,-364 200,-284 92,-284"/>
|
||||
<text text-anchor="start" x="125.8645" y="-345" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+import()</text>
|
||||
<text text-anchor="start" x="118.9105" y="-333" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+bootstrap()</text>
|
||||
<text text-anchor="start" x="105.857" y="-321" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+validateSystem()</text>
|
||||
<text text-anchor="start" x="108.218" y="-309" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">#validateConfig()</text>
|
||||
<text text-anchor="start" x="112.107" y="-297" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">#validateData()</text>
|
||||
</g>
|
||||
<!-- A2->A3 -->
|
||||
<g id="edge2" class="edge">
|
||||
<title>A2->A3</title>
|
||||
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M87.8604,-457.7328C95.8577,-441.5382 105.0823,-422.8583 113.7939,-405.2174"/>
|
||||
<polygon fill="#000000" stroke="#000000" points="118.2935,-396.1057 117.9004,-407.0646 116.0795,-400.5889 113.8656,-405.072 113.8656,-405.072 113.8656,-405.072 116.0795,-400.5889 109.8308,-403.0795 118.2935,-396.1057 118.2935,-396.1057"/>
|
||||
<text text-anchor="middle" x="88.3076" y="-434.7378" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">uses</text>
|
||||
</g>
|
||||
<!-- A7 -->
|
||||
<g id="node8" class="node">
|
||||
<title>A7</title>
|
||||
<polygon fill="none" stroke="#000000" points="37,-196 37,-228 129,-228 129,-196 37,-196"/>
|
||||
<text text-anchor="start" x="46.612" y="-209" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">TrelloApiService</text>
|
||||
<polygon fill="none" stroke="#000000" points="37,-164 37,-196 129,-196 129,-164 37,-164"/>
|
||||
<text text-anchor="start" x="53.9655" y="-177" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+name:string</text>
|
||||
</g>
|
||||
<!-- A3->A7 -->
|
||||
<g id="edge6" class="edge">
|
||||
<title>A3->A7</title>
|
||||
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M114.8609,-283.9135C107.8316,-268.5143 100.7854,-252.0928 95.0404,-237.6613"/>
|
||||
<polygon fill="#000000" stroke="#000000" points="91.2872,-228.0253 99.1098,-235.7102 93.1019,-232.6844 94.9167,-237.3434 94.9167,-237.3434 94.9167,-237.3434 93.1019,-232.6844 90.7235,-238.9767 91.2872,-228.0253 91.2872,-228.0253"/>
|
||||
<text text-anchor="middle" x="99.6759" y="-267.8975" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">uses</text>
|
||||
</g>
|
||||
<!-- A9 -->
|
||||
<g id="node10" class="node">
|
||||
<title>A9</title>
|
||||
<polygon fill="none" stroke="#000000" points="148,-202 148,-234 273,-234 273,-202 148,-202"/>
|
||||
<text text-anchor="start" x="170.7765" y="-215" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">TrelloJsonService</text>
|
||||
<polygon fill="none" stroke="#000000" points="148,-158 148,-202 273,-202 273,-158 148,-158"/>
|
||||
<text text-anchor="start" x="181.4655" y="-183" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+name:string</text>
|
||||
<text text-anchor="start" x="157.981" y="-171" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">#needValidateData:true</text>
|
||||
</g>
|
||||
<!-- A3->A9 -->
|
||||
<g id="edge9" class="edge">
|
||||
<title>A3->A9</title>
|
||||
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M164.3261,-283.9135C170.0039,-270.5688 176.3462,-256.4563 182.4816,-243.5365"/>
|
||||
<polygon fill="#000000" stroke="#000000" points="186.9002,-234.3677 186.6126,-245.3298 184.7295,-238.872 182.5588,-243.3762 182.5588,-243.3762 182.5588,-243.3762 184.7295,-238.872 178.505,-241.4226 186.9002,-234.3677 186.9002,-234.3677"/>
|
||||
<text text-anchor="middle" x="163.6874" y="-260.9237" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">uses</text>
|
||||
</g>
|
||||
<!-- A10 -->
|
||||
<g id="node11" class="node">
|
||||
<title>A10</title>
|
||||
<polygon fill="#fff8dc" stroke="#000000" points="317.7872,-362 218.2128,-362 218.2128,-318 323.7872,-318 323.7872,-356 317.7872,-362"/>
|
||||
<polyline fill="none" stroke="#000000" points="317.7872,-362 317.7872,-356 "/>
|
||||
<polyline fill="none" stroke="#000000" points="323.7872,-356 317.7872,-356 "/>
|
||||
<text text-anchor="middle" x="271" y="-349" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">validateSystem is</text>
|
||||
<text text-anchor="middle" x="271" y="-337" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">public because is</text>
|
||||
<text text-anchor="middle" x="271" y="-325" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">used on Api.</text>
|
||||
</g>
|
||||
<!-- A3->A10 -->
|
||||
<g id="edge11" class="edge">
|
||||
<title>A3->A10</title>
|
||||
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M200.1992,-340C206.1915,-340 212.1837,-340 218.176,-340"/>
|
||||
</g>
|
||||
<!-- A4 -->
|
||||
<g id="node5" class="node">
|
||||
<title>A4</title>
|
||||
<polygon fill="none" stroke="#000000" points="264.1131,-812 189.8869,-812 189.8869,-776 264.1131,-776 264.1131,-812"/>
|
||||
<text text-anchor="middle" x="227" y="-791" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">Command</text>
|
||||
</g>
|
||||
<!-- A5 -->
|
||||
<g id="node6" class="node">
|
||||
<title>A5</title>
|
||||
<polygon fill="none" stroke="#000000" points="148,-684 148,-716 307,-716 307,-684 148,-684"/>
|
||||
<text text-anchor="start" x="199.9955" y="-697" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">BoardImport</text>
|
||||
<polygon fill="none" stroke="#000000" points="148,-652 148,-684 307,-684 307,-652 148,-652"/>
|
||||
<text text-anchor="start" x="157.907" y="-665" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+boardImportCommandService</text>
|
||||
<polygon fill="none" stroke="#000000" points="148,-608 148,-652 307,-652 307,-608 148,-608"/>
|
||||
<text text-anchor="start" x="200.8305" y="-633" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">#configure()</text>
|
||||
<text text-anchor="start" x="177.76" y="-621" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">#execute(input,output)</text>
|
||||
</g>
|
||||
<!-- A4->A5 -->
|
||||
<g id="edge3" class="edge">
|
||||
<title>A4->A5</title>
|
||||
<path fill="none" stroke="#000000" d="M227,-765.6356C227,-751.1554 227,-733.0451 227,-716.0324"/>
|
||||
<polygon fill="#000000" stroke="#000000" points="227,-775.9227 222.5001,-765.9227 227,-770.9227 227.0001,-765.9227 227.0001,-765.9227 227.0001,-765.9227 227,-770.9227 231.5001,-765.9228 227,-775.9227 227,-775.9227"/>
|
||||
</g>
|
||||
<!-- A6 -->
|
||||
<g id="node7" class="node">
|
||||
<title>A6</title>
|
||||
<polygon fill="none" stroke="#000000" points="150,-526 150,-558 304,-558 304,-526 150,-526"/>
|
||||
<text text-anchor="start" x="159.7715" y="-539" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">BoardImportCommandService</text>
|
||||
<polygon fill="none" stroke="#000000" points="150,-446 150,-526 304,-526 304,-446 150,-446"/>
|
||||
<text text-anchor="start" x="199.9105" y="-507" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+bootstrap()</text>
|
||||
<text text-anchor="start" x="206.8645" y="-495" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+import()</text>
|
||||
<text text-anchor="start" x="186.857" y="-483" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+validateSystem()</text>
|
||||
<text text-anchor="start" x="189.218" y="-471" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">#validateConfig()</text>
|
||||
<text text-anchor="start" x="193.107" y="-459" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">#validateData()</text>
|
||||
</g>
|
||||
<!-- A5->A6 -->
|
||||
<g id="edge4" class="edge">
|
||||
<title>A5->A6</title>
|
||||
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M227,-607.8313C227,-595.0442 227,-581.2707 227,-568.0248"/>
|
||||
<polygon fill="#000000" stroke="#000000" points="227,-558.0234 231.5001,-568.0234 227,-563.0234 227.0001,-568.0234 227.0001,-568.0234 227.0001,-568.0234 227,-563.0234 222.5001,-568.0235 227,-558.0234 227,-558.0234"/>
|
||||
<text text-anchor="middle" x="218.5476" y="-586.7051" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">uses</text>
|
||||
</g>
|
||||
<!-- A6->A3 -->
|
||||
<g id="edge5" class="edge">
|
||||
<title>A6->A3</title>
|
||||
<path fill="none" stroke="#000000" d="M198.8975,-445.7949C192.3634,-432.7268 185.3528,-418.7057 178.6417,-405.2834"/>
|
||||
<polygon fill="#000000" stroke="#000000" points="174.0529,-396.1057 182.55,-403.0375 176.289,-400.5779 178.5251,-405.05 178.5251,-405.05 178.5251,-405.05 176.289,-400.5779 174.5001,-407.0625 174.0529,-396.1057 174.0529,-396.1057"/>
|
||||
</g>
|
||||
<!-- A7->A3 -->
|
||||
<g id="edge7" class="edge">
|
||||
<title>A7->A3</title>
|
||||
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M102.735,-228.0253C109.5347,-241.763 117.1224,-258.3431 124.0627,-274.4849"/>
|
||||
<polygon fill="#000000" stroke="#000000" points="128.0634,-283.9135 120.0148,-276.4657 126.1104,-279.3107 124.1573,-274.7079 124.1573,-274.7079 124.1573,-274.7079 126.1104,-279.3107 128.2998,-272.9502 128.0634,-283.9135 128.0634,-283.9135"/>
|
||||
<text text-anchor="middle" x="118.307" y="-237.5757" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">uses</text>
|
||||
</g>
|
||||
<!-- A8 -->
|
||||
<g id="node9" class="node">
|
||||
<title>A8</title>
|
||||
<polygon fill="none" stroke="#000000" points="80,-64 80,-108 213,-108 213,-64 80,-64"/>
|
||||
<text text-anchor="start" x="117.04" y="-89" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"><<abstract>></text>
|
||||
<text text-anchor="start" x="98.9935" y="-77" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">ABoardImportService</text>
|
||||
<polygon fill="none" stroke="#000000" points="80,-32 80,-64 213,-64 213,-32 80,-32"/>
|
||||
<text text-anchor="start" x="92.036" y="-45" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">#needValidateData:false</text>
|
||||
<polygon fill="none" stroke="#000000" points="80,0 80,-32 213,-32 213,0 80,0"/>
|
||||
<text text-anchor="start" x="89.677" y="-13" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+needValidateData():bool</text>
|
||||
</g>
|
||||
<!-- A7->A8 -->
|
||||
<g id="edge8" class="edge">
|
||||
<title>A7->A8</title>
|
||||
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M97.2957,-163.778C103.3956,-150.029 110.7371,-133.4813 117.8485,-117.4527"/>
|
||||
<polygon fill="none" stroke="#000000" points="121.1416,-118.6605 121.9978,-108.1003 114.743,-115.8216 121.1416,-118.6605"/>
|
||||
<text text-anchor="middle" x="96.9205" y="-140.7815" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">implements</text>
|
||||
</g>
|
||||
<!-- A9->A3 -->
|
||||
<g id="edge10" class="edge">
|
||||
<title>A9->A3</title>
|
||||
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M198.9952,-234.3677C194.0646,-246.7117 188.0483,-260.7568 181.8434,-274.4849"/>
|
||||
<polygon fill="#000000" stroke="#000000" points="177.5286,-283.9135 177.598,-272.9478 179.6093,-279.367 181.6899,-274.8204 181.6899,-274.8204 181.6899,-274.8204 179.6093,-279.367 185.7818,-276.693 177.5286,-283.9135 177.5286,-283.9135"/>
|
||||
<text text-anchor="middle" x="200.0654" y="-251.3391" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">uses</text>
|
||||
</g>
|
||||
<!-- A9->A8 -->
|
||||
<g id="edge13" class="edge">
|
||||
<title>A9->A8</title>
|
||||
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M192.8492,-157.9466C187.2535,-145.5313 180.8796,-131.389 174.6742,-117.6209"/>
|
||||
<polygon fill="none" stroke="#000000" points="177.7167,-115.8534 170.4168,-108.1747 171.3349,-118.7297 177.7167,-115.8534"/>
|
||||
<text text-anchor="middle" x="177.6953" y="-141.8944" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">implements</text>
|
||||
</g>
|
||||
<!-- A11 -->
|
||||
<g id="node12" class="node">
|
||||
<title>A11</title>
|
||||
<polygon fill="#fff8dc" stroke="#000000" points="403.024,-224 290.976,-224 290.976,-168 409.024,-168 409.024,-218 403.024,-224"/>
|
||||
<polyline fill="none" stroke="#000000" points="403.024,-224 403.024,-218 "/>
|
||||
<polyline fill="none" stroke="#000000" points="409.024,-218 403.024,-218 "/>
|
||||
<text text-anchor="middle" x="350" y="-211" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">To create an import</text>
|
||||
<text text-anchor="middle" x="350" y="-199" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">to another system,</text>
|
||||
<text text-anchor="middle" x="350" y="-187" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">create another class</text>
|
||||
<text text-anchor="middle" x="350" y="-175" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">similar to this.</text>
|
||||
</g>
|
||||
<!-- A9->A11 -->
|
||||
<g id="edge12" class="edge">
|
||||
<title>A9->A11</title>
|
||||
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M272.6172,-196C278.6627,-196 284.7083,-196 290.7538,-196"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 16 KiB |
@@ -1,24 +0,0 @@
|
||||
// Created using [yUML](https://github.com/jaime-olivares/vscode-yuml)
|
||||
|
||||
// {type:class}
|
||||
// {direction:topDown}
|
||||
// {generate:true}
|
||||
|
||||
[note: Classes used on board import. Methods just to illustrate. {bg:cornsilk}]
|
||||
|
||||
[ApiController]<-[BoardImportApiController|+import();+getAllowedSystems();+getConfigSchema()]
|
||||
[BoardImportApiController]uses-.->[BoardImportService|+import();+bootstrap();+validateSystem();#validateConfig();#validateData();]
|
||||
|
||||
[Command]<-[BoardImport|+boardImportCommandService|#configure();#execute(input,output)]
|
||||
[BoardImport]uses-.->[BoardImportCommandService|+bootstrap();+import();+validateSystem();#validateConfig();#validateData()]
|
||||
[BoardImportCommandService]->[BoardImportService]
|
||||
|
||||
[BoardImportService]uses-.->[TrelloApiService|+name:string]
|
||||
[TrelloApiService]uses-.->[BoardImportService]
|
||||
[TrelloApiService]implements-.-^[<<abstract>> ABoardImportService|#needValidateData:false|+needValidateData():bool]
|
||||
|
||||
[BoardImportService]uses-.->[TrelloJsonService|+name:string;#needValidateData:true]
|
||||
[TrelloJsonService]uses-.->[BoardImportService]
|
||||
[BoardImportService]-[note: validateSystem is public because is used on Api. {bg:cornsilk}]
|
||||
[TrelloJsonService]-[note: To create an import to another system, create another class similar to this. {bg:cornsilk}]
|
||||
[TrelloJsonService]implements-.-^[<<abstract>> ABoardImportService]
|
||||
@@ -135,7 +135,6 @@ OC.L10N.register(
|
||||
"Archived cards" : "Archivované karty",
|
||||
"Add list" : "Přidat seznam",
|
||||
"List name" : "Název seznamu",
|
||||
"Active filters" : "Zapnuté filtry",
|
||||
"Apply filter" : "Uplatnit filtr",
|
||||
"Filter by tag" : "Filtrovat podle příznaků",
|
||||
"Filter by assigned user" : "Filtrovat podle uživatele, který je úkolem pověřen",
|
||||
|
||||
@@ -133,7 +133,6 @@
|
||||
"Archived cards" : "Archivované karty",
|
||||
"Add list" : "Přidat seznam",
|
||||
"List name" : "Název seznamu",
|
||||
"Active filters" : "Zapnuté filtry",
|
||||
"Apply filter" : "Uplatnit filtr",
|
||||
"Filter by tag" : "Filtrovat podle příznaků",
|
||||
"Filter by assigned user" : "Filtrovat podle uživatele, který je úkolem pověřen",
|
||||
|
||||
@@ -135,7 +135,6 @@ OC.L10N.register(
|
||||
"Archived cards" : "Archivierte Karten",
|
||||
"Add list" : "Liste hinzufügen",
|
||||
"List name" : "Listenname",
|
||||
"Active filters" : "Aktive Filter",
|
||||
"Apply filter" : "Filter anwenden",
|
||||
"Filter by tag" : "Nach Schlagwort filtern",
|
||||
"Filter by assigned user" : "Nach zugewiesenem Benutzer filtern",
|
||||
@@ -177,7 +176,7 @@ OC.L10N.register(
|
||||
"Are you sure you want to transfer the board {title} to {user}?" : "Möchtest Du wirklich das Board {title} an {user} übertragen?",
|
||||
"Transfer the board." : "Board übertragen",
|
||||
"Transfer" : "Übertragen",
|
||||
"The board has been transferred to {user}" : "Das Board wurde an {user} übertragen",
|
||||
"The board has been transferred to {user}" : "Das Board wurde an {user} übertragen",
|
||||
"Failed to transfer the board to {user}" : "Das Board konnte nicht an {user} übertragen werden",
|
||||
"Add a new list" : "Eine neue Liste hinzufügen",
|
||||
"Archive all cards" : "Alle Karten archivieren",
|
||||
|
||||
@@ -133,7 +133,6 @@
|
||||
"Archived cards" : "Archivierte Karten",
|
||||
"Add list" : "Liste hinzufügen",
|
||||
"List name" : "Listenname",
|
||||
"Active filters" : "Aktive Filter",
|
||||
"Apply filter" : "Filter anwenden",
|
||||
"Filter by tag" : "Nach Schlagwort filtern",
|
||||
"Filter by assigned user" : "Nach zugewiesenem Benutzer filtern",
|
||||
@@ -175,7 +174,7 @@
|
||||
"Are you sure you want to transfer the board {title} to {user}?" : "Möchtest Du wirklich das Board {title} an {user} übertragen?",
|
||||
"Transfer the board." : "Board übertragen",
|
||||
"Transfer" : "Übertragen",
|
||||
"The board has been transferred to {user}" : "Das Board wurde an {user} übertragen",
|
||||
"The board has been transferred to {user}" : "Das Board wurde an {user} übertragen",
|
||||
"Failed to transfer the board to {user}" : "Das Board konnte nicht an {user} übertragen werden",
|
||||
"Add a new list" : "Eine neue Liste hinzufügen",
|
||||
"Archive all cards" : "Alle Karten archivieren",
|
||||
|
||||
@@ -135,7 +135,6 @@ OC.L10N.register(
|
||||
"Archived cards" : "Archivierte Karten",
|
||||
"Add list" : "Liste hinzufügen",
|
||||
"List name" : "Listenname",
|
||||
"Active filters" : "Aktive Filter",
|
||||
"Apply filter" : "Filter anwenden",
|
||||
"Filter by tag" : "Nach Schlagwort filtern",
|
||||
"Filter by assigned user" : "Nach zugewiesenem Benutzer filtern",
|
||||
|
||||
@@ -133,7 +133,6 @@
|
||||
"Archived cards" : "Archivierte Karten",
|
||||
"Add list" : "Liste hinzufügen",
|
||||
"List name" : "Listenname",
|
||||
"Active filters" : "Aktive Filter",
|
||||
"Apply filter" : "Filter anwenden",
|
||||
"Filter by tag" : "Nach Schlagwort filtern",
|
||||
"Filter by assigned user" : "Nach zugewiesenem Benutzer filtern",
|
||||
|
||||
15
l10n/es.js
15
l10n/es.js
@@ -100,12 +100,10 @@ OC.L10N.register(
|
||||
"Could not write file to disk" : "No se ha podido escribir el archivo al disco",
|
||||
"A PHP extension stopped the file upload" : "Una extensión de PHP ha detenido la subida del archivo",
|
||||
"No file uploaded or file size exceeds maximum of %s" : "No se ha subido ningún archivo, o el tamaño del archivo excede el máximo de %s",
|
||||
"This comment has more than %s characters.\nAdded as an attachment to the card with name %s.\nAccessible on URL: %s." : "Este comentario tiene más de %s caracteres.\nAñadido como adjunto a la tarjeta con el nombre %s.\nAccesible en la URL: %s.",
|
||||
"Card not found" : "Tarjeta no encontrada",
|
||||
"Path is already shared with this card" : "La ruta ya se ha compartido con esta tarjeta",
|
||||
"Invalid date, date format must be YYYY-MM-DD" : "Fecha no válida, el formato de las fechas debe ser AAAA-MM-DD",
|
||||
"Personal planning and team project organization" : "Planificación personal y organización de proyecto de equipo",
|
||||
"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 es una herramienta de organización de estilo kanban dirigida a la planificación personal y la organización de proyectos para equipos integrados con Nextcloud.\n\n\n- 📥 Agrega tus tareas a las tarjetas y ordénalas.\n- 📄 Escriba notas adicionales\n- 🔖 Asignar etiquetas para una organización mejor\n- 👥 Comparte con tu equipo, amigos o familia.\n- 📎 Adjuntar archivos e incrustarlos en su descripción\n- 💬 Discuta con su equipo usando comentarios.\n- ⚡ Mantenga un registro de los cambios en el flujo de actividad\n- 🚀 Organiza tu proyecto",
|
||||
"Card details" : "Detalles de la tarjeta",
|
||||
"Add board" : "Añadir tablero",
|
||||
"Select the board to link to a project" : "Selecciona el tablero que enlazar a un proyecto",
|
||||
@@ -135,7 +133,6 @@ OC.L10N.register(
|
||||
"Archived cards" : "Tarjetas archivadas",
|
||||
"Add list" : "Agregar lista",
|
||||
"List name" : "Nombre de la lista",
|
||||
"Active filters" : "Filtros activos",
|
||||
"Apply filter" : "Aplicar filtro",
|
||||
"Filter by tag" : "Filtrar por etiqueta",
|
||||
"Filter by assigned user" : "Filtrar por usuario asignado",
|
||||
@@ -174,11 +171,7 @@ OC.L10N.register(
|
||||
"Owner" : "Propietario",
|
||||
"Delete" : "Eliminar",
|
||||
"Failed to create share with {displayName}" : "Fallo al crear el recurso compartido denominado {displayName}",
|
||||
"Are you sure you want to transfer the board {title} to {user}?" : "¿Estás seguro de que quieres transferir el tablero {título} a {usuario}?",
|
||||
"Transfer the board." : "Transfiere el tablero.",
|
||||
"Transfer" : "Transferir",
|
||||
"The board has been transferred to {user}" : "El tablero ha sido transferido a {usuario}",
|
||||
"Failed to transfer the board to {user}" : "Failed to transfer the board to {user}",
|
||||
"Add a new list" : "Añadir una lista nueva",
|
||||
"Archive all cards" : "Archivar todas las tarjetas",
|
||||
"Delete list" : "Eliminar lista",
|
||||
@@ -294,10 +287,6 @@ OC.L10N.register(
|
||||
"Share {file} with a Deck card" : "Compartir {file} con una tarjeta de Deck",
|
||||
"Share" : "Compartir",
|
||||
"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 es una herramienta de organización de estilo kanban dirigida a la planificación personal y la organización de proyectos para equipos integrados con Nextcloud.\n\n\n- 📥 Agrega tus tareas a las tarjetas y ordénalas.\n- 📄 Escriba notas adicionales\n- 🔖 Asignar etiquetas para una organización mejor\n- 👥 Comparte con tu equipo, amigos o familia.\n- 📎 Adjuntar archivos e incrustarlos en su descripción\n- 💬 Discuta con su equipo usando comentarios.\n- ⚡ Mantenga un registro de los cambios en el flujo de actividad\n- 🚀 Organiza tu proyecto",
|
||||
"Are you sure you want to transfer the board {title} for {user} ?" : "¿Estás seguro de que quieres transferir el tablero {título} a {usuario}?",
|
||||
"Transfer the board for {user} successfully" : "Transferir el tablero para {usuario} con éxito",
|
||||
"Failed to transfer the board for {user}" : "No se ha podido transferir el tablero para {usuario}",
|
||||
"This week" : "Esta semana",
|
||||
"Are you sure you want to transfer the board {title} for {user}?" : "¿Estás seguro de que quieres transferir el tablero {título} a {usuario}?"
|
||||
"This week" : "Esta semana"
|
||||
},
|
||||
"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
|
||||
"nplurals=2; plural=(n != 1);");
|
||||
|
||||
15
l10n/es.json
15
l10n/es.json
@@ -98,12 +98,10 @@
|
||||
"Could not write file to disk" : "No se ha podido escribir el archivo al disco",
|
||||
"A PHP extension stopped the file upload" : "Una extensión de PHP ha detenido la subida del archivo",
|
||||
"No file uploaded or file size exceeds maximum of %s" : "No se ha subido ningún archivo, o el tamaño del archivo excede el máximo de %s",
|
||||
"This comment has more than %s characters.\nAdded as an attachment to the card with name %s.\nAccessible on URL: %s." : "Este comentario tiene más de %s caracteres.\nAñadido como adjunto a la tarjeta con el nombre %s.\nAccesible en la URL: %s.",
|
||||
"Card not found" : "Tarjeta no encontrada",
|
||||
"Path is already shared with this card" : "La ruta ya se ha compartido con esta tarjeta",
|
||||
"Invalid date, date format must be YYYY-MM-DD" : "Fecha no válida, el formato de las fechas debe ser AAAA-MM-DD",
|
||||
"Personal planning and team project organization" : "Planificación personal y organización de proyecto de equipo",
|
||||
"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 es una herramienta de organización de estilo kanban dirigida a la planificación personal y la organización de proyectos para equipos integrados con Nextcloud.\n\n\n- 📥 Agrega tus tareas a las tarjetas y ordénalas.\n- 📄 Escriba notas adicionales\n- 🔖 Asignar etiquetas para una organización mejor\n- 👥 Comparte con tu equipo, amigos o familia.\n- 📎 Adjuntar archivos e incrustarlos en su descripción\n- 💬 Discuta con su equipo usando comentarios.\n- ⚡ Mantenga un registro de los cambios en el flujo de actividad\n- 🚀 Organiza tu proyecto",
|
||||
"Card details" : "Detalles de la tarjeta",
|
||||
"Add board" : "Añadir tablero",
|
||||
"Select the board to link to a project" : "Selecciona el tablero que enlazar a un proyecto",
|
||||
@@ -133,7 +131,6 @@
|
||||
"Archived cards" : "Tarjetas archivadas",
|
||||
"Add list" : "Agregar lista",
|
||||
"List name" : "Nombre de la lista",
|
||||
"Active filters" : "Filtros activos",
|
||||
"Apply filter" : "Aplicar filtro",
|
||||
"Filter by tag" : "Filtrar por etiqueta",
|
||||
"Filter by assigned user" : "Filtrar por usuario asignado",
|
||||
@@ -172,11 +169,7 @@
|
||||
"Owner" : "Propietario",
|
||||
"Delete" : "Eliminar",
|
||||
"Failed to create share with {displayName}" : "Fallo al crear el recurso compartido denominado {displayName}",
|
||||
"Are you sure you want to transfer the board {title} to {user}?" : "¿Estás seguro de que quieres transferir el tablero {título} a {usuario}?",
|
||||
"Transfer the board." : "Transfiere el tablero.",
|
||||
"Transfer" : "Transferir",
|
||||
"The board has been transferred to {user}" : "El tablero ha sido transferido a {usuario}",
|
||||
"Failed to transfer the board to {user}" : "Failed to transfer the board to {user}",
|
||||
"Add a new list" : "Añadir una lista nueva",
|
||||
"Archive all cards" : "Archivar todas las tarjetas",
|
||||
"Delete list" : "Eliminar lista",
|
||||
@@ -292,10 +285,6 @@
|
||||
"Share {file} with a Deck card" : "Compartir {file} con una tarjeta de Deck",
|
||||
"Share" : "Compartir",
|
||||
"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 es una herramienta de organización de estilo kanban dirigida a la planificación personal y la organización de proyectos para equipos integrados con Nextcloud.\n\n\n- 📥 Agrega tus tareas a las tarjetas y ordénalas.\n- 📄 Escriba notas adicionales\n- 🔖 Asignar etiquetas para una organización mejor\n- 👥 Comparte con tu equipo, amigos o familia.\n- 📎 Adjuntar archivos e incrustarlos en su descripción\n- 💬 Discuta con su equipo usando comentarios.\n- ⚡ Mantenga un registro de los cambios en el flujo de actividad\n- 🚀 Organiza tu proyecto",
|
||||
"Are you sure you want to transfer the board {title} for {user} ?" : "¿Estás seguro de que quieres transferir el tablero {título} a {usuario}?",
|
||||
"Transfer the board for {user} successfully" : "Transferir el tablero para {usuario} con éxito",
|
||||
"Failed to transfer the board for {user}" : "No se ha podido transferir el tablero para {usuario}",
|
||||
"This week" : "Esta semana",
|
||||
"Are you sure you want to transfer the board {title} for {user}?" : "¿Estás seguro de que quieres transferir el tablero {título} a {usuario}?"
|
||||
},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
|
||||
"This week" : "Esta semana"
|
||||
},"pluralForm" :"nplurals=2; plural=(n != 1);"
|
||||
}
|
||||
@@ -60,4 +60,4 @@ OC.L10N.register(
|
||||
"Share" : "Compartir",
|
||||
"This week" : "Esta semana"
|
||||
},
|
||||
"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
|
||||
"nplurals=2; plural=(n != 1);");
|
||||
|
||||
@@ -57,5 +57,5 @@
|
||||
"Delete board" : "Borrar tableros",
|
||||
"Share" : "Compartir",
|
||||
"This week" : "Esta semana"
|
||||
},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
|
||||
},"pluralForm" :"nplurals=2; plural=(n != 1);"
|
||||
}
|
||||
@@ -57,4 +57,4 @@ OC.L10N.register(
|
||||
"Share" : "Compartir",
|
||||
"This week" : "Esta semana"
|
||||
},
|
||||
"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
|
||||
"nplurals=2; plural=(n != 1);");
|
||||
|
||||
@@ -54,5 +54,5 @@
|
||||
"An error occurred" : "Ocurrió un error",
|
||||
"Share" : "Compartir",
|
||||
"This week" : "Esta semana"
|
||||
},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
|
||||
},"pluralForm" :"nplurals=2; plural=(n != 1);"
|
||||
}
|
||||
@@ -63,4 +63,4 @@ OC.L10N.register(
|
||||
"Share" : "Compartir",
|
||||
"This week" : "Esta semana"
|
||||
},
|
||||
"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
|
||||
"nplurals=2; plural=(n != 1);");
|
||||
|
||||
@@ -60,5 +60,5 @@
|
||||
"Delete board" : "Borrar tableros",
|
||||
"Share" : "Compartir",
|
||||
"This week" : "Esta semana"
|
||||
},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
|
||||
},"pluralForm" :"nplurals=2; plural=(n != 1);"
|
||||
}
|
||||
@@ -64,4 +64,4 @@ OC.L10N.register(
|
||||
"Share" : "Compartir",
|
||||
"This week" : "Esta semana"
|
||||
},
|
||||
"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
|
||||
"nplurals=2; plural=(n != 1);");
|
||||
|
||||
@@ -61,5 +61,5 @@
|
||||
"Delete board" : "Borrar tableros",
|
||||
"Share" : "Compartir",
|
||||
"This week" : "Esta semana"
|
||||
},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
|
||||
},"pluralForm" :"nplurals=2; plural=(n != 1);"
|
||||
}
|
||||
@@ -63,4 +63,4 @@ OC.L10N.register(
|
||||
"Share" : "Compartir",
|
||||
"This week" : "Esta semana"
|
||||
},
|
||||
"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
|
||||
"nplurals=2; plural=(n != 1);");
|
||||
|
||||
@@ -60,5 +60,5 @@
|
||||
"Delete board" : "Borrar tableros",
|
||||
"Share" : "Compartir",
|
||||
"This week" : "Esta semana"
|
||||
},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
|
||||
},"pluralForm" :"nplurals=2; plural=(n != 1);"
|
||||
}
|
||||
@@ -63,4 +63,4 @@ OC.L10N.register(
|
||||
"Share" : "Compartir",
|
||||
"This week" : "Esta semana"
|
||||
},
|
||||
"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
|
||||
"nplurals=2; plural=(n != 1);");
|
||||
|
||||
@@ -60,5 +60,5 @@
|
||||
"Delete board" : "Borrar tableros",
|
||||
"Share" : "Compartir",
|
||||
"This week" : "Esta semana"
|
||||
},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
|
||||
},"pluralForm" :"nplurals=2; plural=(n != 1);"
|
||||
}
|
||||
@@ -63,4 +63,4 @@ OC.L10N.register(
|
||||
"Share" : "Compartir",
|
||||
"This week" : "Esta semana"
|
||||
},
|
||||
"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
|
||||
"nplurals=2; plural=(n != 1);");
|
||||
|
||||
@@ -60,5 +60,5 @@
|
||||
"Delete board" : "Borrar tableros",
|
||||
"Share" : "Compartir",
|
||||
"This week" : "Esta semana"
|
||||
},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
|
||||
},"pluralForm" :"nplurals=2; plural=(n != 1);"
|
||||
}
|
||||
@@ -63,4 +63,4 @@ OC.L10N.register(
|
||||
"Share" : "Compartir",
|
||||
"This week" : "Esta semana"
|
||||
},
|
||||
"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
|
||||
"nplurals=2; plural=(n != 1);");
|
||||
|
||||
@@ -60,5 +60,5 @@
|
||||
"Delete board" : "Borrar tableros",
|
||||
"Share" : "Compartir",
|
||||
"This week" : "Esta semana"
|
||||
},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
|
||||
},"pluralForm" :"nplurals=2; plural=(n != 1);"
|
||||
}
|
||||
@@ -59,4 +59,4 @@ OC.L10N.register(
|
||||
"Share" : "Compartir",
|
||||
"This week" : "Esta semana"
|
||||
},
|
||||
"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
|
||||
"nplurals=2; plural=(n != 1);");
|
||||
|
||||
@@ -56,5 +56,5 @@
|
||||
"Delete board" : "Borrar tableros",
|
||||
"Share" : "Compartir",
|
||||
"This week" : "Esta semana"
|
||||
},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
|
||||
},"pluralForm" :"nplurals=2; plural=(n != 1);"
|
||||
}
|
||||
@@ -67,4 +67,4 @@ OC.L10N.register(
|
||||
"Share" : "Compartir",
|
||||
"This week" : "Esta semana"
|
||||
},
|
||||
"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
|
||||
"nplurals=2; plural=(n != 1);");
|
||||
|
||||
@@ -64,5 +64,5 @@
|
||||
"An error occurred" : "Ha ocurrido un error",
|
||||
"Share" : "Compartir",
|
||||
"This week" : "Esta semana"
|
||||
},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
|
||||
},"pluralForm" :"nplurals=2; plural=(n != 1);"
|
||||
}
|
||||
@@ -59,4 +59,4 @@ OC.L10N.register(
|
||||
"Share" : "Compartir",
|
||||
"This week" : "Esta semana"
|
||||
},
|
||||
"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
|
||||
"nplurals=2; plural=(n != 1);");
|
||||
|
||||
@@ -56,5 +56,5 @@
|
||||
"Delete board" : "Borrar tableros",
|
||||
"Share" : "Compartir",
|
||||
"This week" : "Esta semana"
|
||||
},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
|
||||
},"pluralForm" :"nplurals=2; plural=(n != 1);"
|
||||
}
|
||||
@@ -59,4 +59,4 @@ OC.L10N.register(
|
||||
"Share" : "Compartir",
|
||||
"This week" : "Esta semana"
|
||||
},
|
||||
"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
|
||||
"nplurals=2; plural=(n != 1);");
|
||||
|
||||
@@ -56,5 +56,5 @@
|
||||
"Delete board" : "Borrar tableros",
|
||||
"Share" : "Compartir",
|
||||
"This week" : "Esta semana"
|
||||
},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
|
||||
},"pluralForm" :"nplurals=2; plural=(n != 1);"
|
||||
}
|
||||
@@ -59,4 +59,4 @@ OC.L10N.register(
|
||||
"Share" : "Compartir",
|
||||
"This week" : "Esta semana"
|
||||
},
|
||||
"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
|
||||
"nplurals=2; plural=(n != 1);");
|
||||
|
||||
@@ -56,5 +56,5 @@
|
||||
"Delete board" : "Borrar tableros",
|
||||
"Share" : "Compartir",
|
||||
"This week" : "Esta semana"
|
||||
},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
|
||||
},"pluralForm" :"nplurals=2; plural=(n != 1);"
|
||||
}
|
||||
@@ -59,4 +59,4 @@ OC.L10N.register(
|
||||
"Share" : "Compartir",
|
||||
"This week" : "Esta semana"
|
||||
},
|
||||
"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
|
||||
"nplurals=2; plural=(n != 1);");
|
||||
|
||||
@@ -56,5 +56,5 @@
|
||||
"Delete board" : "Borrar tableros",
|
||||
"Share" : "Compartir",
|
||||
"This week" : "Esta semana"
|
||||
},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
|
||||
},"pluralForm" :"nplurals=2; plural=(n != 1);"
|
||||
}
|
||||
@@ -61,4 +61,4 @@ OC.L10N.register(
|
||||
"Share" : "Compartir",
|
||||
"This week" : "Esta semana"
|
||||
},
|
||||
"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
|
||||
"nplurals=2; plural=(n != 1);");
|
||||
|
||||
@@ -58,5 +58,5 @@
|
||||
"An error occurred" : "Se presentó un error",
|
||||
"Share" : "Compartir",
|
||||
"This week" : "Esta semana"
|
||||
},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
|
||||
},"pluralForm" :"nplurals=2; plural=(n != 1);"
|
||||
}
|
||||
@@ -63,4 +63,4 @@ OC.L10N.register(
|
||||
"Share" : "Compartir",
|
||||
"This week" : "Esta semana"
|
||||
},
|
||||
"nplurals=2; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
|
||||
"nplurals=2; plural=(n != 1);");
|
||||
|
||||
@@ -60,5 +60,5 @@
|
||||
"Delete board" : "Borrar tableros",
|
||||
"Share" : "Compartir",
|
||||
"This week" : "Esta semana"
|
||||
},"pluralForm" :"nplurals=2; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
|
||||
},"pluralForm" :"nplurals=2; plural=(n != 1);"
|
||||
}
|
||||
@@ -59,4 +59,4 @@ OC.L10N.register(
|
||||
"Share" : "Compartir",
|
||||
"This week" : "Esta semana"
|
||||
},
|
||||
"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
|
||||
"nplurals=2; plural=(n != 1);");
|
||||
|
||||
@@ -56,5 +56,5 @@
|
||||
"Delete board" : "Borrar tableros",
|
||||
"Share" : "Compartir",
|
||||
"This week" : "Esta semana"
|
||||
},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
|
||||
},"pluralForm" :"nplurals=2; plural=(n != 1);"
|
||||
}
|
||||
@@ -135,7 +135,6 @@ OC.L10N.register(
|
||||
"Archived cards" : "Artxibatutako txartelak",
|
||||
"Add list" : "Gehitu zerrenda",
|
||||
"List name" : "Zerrendaren izena",
|
||||
"Active filters" : "Iragazki aktiboak",
|
||||
"Apply filter" : "Ezarri iragazkia",
|
||||
"Filter by tag" : "Iragazi etiketaz",
|
||||
"Filter by assigned user" : "Iragazi esleitutako erabiltzailez",
|
||||
@@ -174,11 +173,8 @@ OC.L10N.register(
|
||||
"Owner" : "Jabea",
|
||||
"Delete" : "Ezabatu",
|
||||
"Failed to create share with {displayName}" : "Ezin izan da {displayName}-(r)ekin partekatzea sortu",
|
||||
"Are you sure you want to transfer the board {title} to {user}?" : "Ziur {title} taula {user}-(a)ri transferitu nahi diozula?",
|
||||
"Transfer the board." : "Transferitu panela.",
|
||||
"Transfer" : "Transferitu",
|
||||
"The board has been transferred to {user}" : "Arbela {user}-(a)ri transferitu zaio",
|
||||
"Failed to transfer the board to {user}" : "Ezin izan zaio transferitu arbela {use}-(a)ri",
|
||||
"Add a new list" : "Gehitu zerrenda berria",
|
||||
"Archive all cards" : "Artxibatu txartel guztiak",
|
||||
"Delete list" : "Zerrenda ezabatu",
|
||||
|
||||
@@ -133,7 +133,6 @@
|
||||
"Archived cards" : "Artxibatutako txartelak",
|
||||
"Add list" : "Gehitu zerrenda",
|
||||
"List name" : "Zerrendaren izena",
|
||||
"Active filters" : "Iragazki aktiboak",
|
||||
"Apply filter" : "Ezarri iragazkia",
|
||||
"Filter by tag" : "Iragazi etiketaz",
|
||||
"Filter by assigned user" : "Iragazi esleitutako erabiltzailez",
|
||||
@@ -172,11 +171,8 @@
|
||||
"Owner" : "Jabea",
|
||||
"Delete" : "Ezabatu",
|
||||
"Failed to create share with {displayName}" : "Ezin izan da {displayName}-(r)ekin partekatzea sortu",
|
||||
"Are you sure you want to transfer the board {title} to {user}?" : "Ziur {title} taula {user}-(a)ri transferitu nahi diozula?",
|
||||
"Transfer the board." : "Transferitu panela.",
|
||||
"Transfer" : "Transferitu",
|
||||
"The board has been transferred to {user}" : "Arbela {user}-(a)ri transferitu zaio",
|
||||
"Failed to transfer the board to {user}" : "Ezin izan zaio transferitu arbela {use}-(a)ri",
|
||||
"Add a new list" : "Gehitu zerrenda berria",
|
||||
"Archive all cards" : "Artxibatu txartel guztiak",
|
||||
"Delete list" : "Zerrenda ezabatu",
|
||||
|
||||
24
l10n/fa.js
24
l10n/fa.js
@@ -73,7 +73,7 @@ OC.L10N.register(
|
||||
"The card {deck-card} on {deck-board} has reached its due date." : "برگه {deck-card} در {deck-board} به تاریخ سررسید خود رسیده است.",
|
||||
"{user} has mentioned you in a comment on {deck-card}." : "{user} از شما در نظری در {deck-card} نام برده است.",
|
||||
"{user} has shared {deck-board} with you." : "{user} {deck-board} را با شما به اشتراک گذاشته است.",
|
||||
"Card comments" : "دیدگاههای برگه",
|
||||
"Card comments" : "برگهٔ نظر",
|
||||
"No data was provided to create an attachment." : "هیچ داده ای برای ایجاد پیوست ارائه نشد.",
|
||||
"Finished" : "تمام شده",
|
||||
"To review" : "برای بازبینی",
|
||||
@@ -101,20 +101,20 @@ OC.L10N.register(
|
||||
"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- 📥 وظایف خود را به برگهها اضافه کنید و آنها را مرتب کنید\n- 📄 یادداشتهای اضافی را در Markdown یادداشت کنید\n- 🔖 برچسبهایی را برای سازماندهی بهتر اختصاص دهید\n- 👥 با گروه، دوستان یا خانوادهٔ خود به اشتراک بگذارید\n- 📎 فایلها را ضمیمه کنید و آنها را در توضیحات Markdown خود قرار دهید\n- 💬 با استفاده از نظرات با تیم خود بحث کنید\n- ⚡ تغییرات در جریان فعالیت را پیگیری کنید\n- 🚀 پروژه خود را سازماندهی کنید",
|
||||
"Card details" : "جزئیات برگه",
|
||||
"Add board" : "افزودن تخته",
|
||||
"Add board" : "تخته را اضافه کنید",
|
||||
"Select the board to link to a project" : "تختهای را برای ایجاد پیوند با یک پروژه انتخاب کنید",
|
||||
"Search by board title" : "جستجو بر اساس عنوان تخته",
|
||||
"Select board" : "انتخاب تخته",
|
||||
"Create a new card" : "یک برگهٔ جدید بسازید",
|
||||
"Create a new card" : "برگهٔ جدید بسازید",
|
||||
"Select a board" : "انتخاب یک تخته",
|
||||
"Select a list" : "یک فهرست برگزینید",
|
||||
"Card title" : "عنوان برگه",
|
||||
"Cancel" : "لغو",
|
||||
"Creating the new card …" : "ساختن برگهٔ جدید ...",
|
||||
"Creating the new card …" : "ساختن برگهٔ جدید",
|
||||
"Card \"{card}\" was added to \"{board}\"" : "برگه \"{card}\" به \"{board}\" اضافه شد",
|
||||
"Open card" : "بازکردن برگه",
|
||||
"Open card" : "برگهٔ گشوده",
|
||||
"Close" : "بسته",
|
||||
"Create card" : "ایجاد برگه",
|
||||
"Create card" : "برگه بسازید",
|
||||
"Select a card" : "انتخاب یک برگه",
|
||||
"Select the card to link to a project" : "برگهای را برای ایجاد پیوند با یک پروژه انتخاب کنید",
|
||||
"Link to card" : "پیوند به برگه",
|
||||
@@ -200,10 +200,10 @@ OC.L10N.register(
|
||||
"The title cannot be empty." : "عنوان نمیتواند خالی باشد.",
|
||||
"No comments yet. Begin the discussion!" : "هنوز نظری وجود ندارد. بحثی را آغاز کنید!",
|
||||
"Failed to load comments" : "نظرات بارگیری نشد",
|
||||
"Assign a tag to this card…" : "یک برچسب به این برگه اختصاص دهید…",
|
||||
"Assign a tag to this card…" : "یک برچسب به این کارت اختصاص دهید…",
|
||||
"Assign to users" : "به کاربران اختصاص دهید",
|
||||
"Assign to users/groups/circles" : "به کاربران/ گروهها/ حلقهها اختصاص دهید",
|
||||
"Assign a user to this card…" : "اختصاص یک کاربر به این برگه…",
|
||||
"Assign a user to this card…" : "اختصاص یک کاربر به این کارت…",
|
||||
"Due date" : "موعد مقرر",
|
||||
"Set a due date" : "تاریخ سررسید را تعیین کنید",
|
||||
"Remove due date" : "تاریخ سررسید را حذف کنید",
|
||||
@@ -232,11 +232,11 @@ OC.L10N.register(
|
||||
"{count} comments, {unread} unread" : "{count} نظر، { خوانده نشده} خوانده نشده",
|
||||
"Assign to me" : "به من اختصاص دهید",
|
||||
"Unassign myself" : "واگذاری به خودم را لغو میکنم",
|
||||
"Move card" : "انتقال برگه",
|
||||
"Move card" : "انتقال کارت",
|
||||
"Unarchive card" : "برگه را از بایگانی خارج کنید",
|
||||
"Archive card" : "بایگانی برگه",
|
||||
"Delete card" : "حذف برگه",
|
||||
"Move card to another board" : "انتقال برگه به تختهای دیگر",
|
||||
"Archive card" : "کارت بایگانی",
|
||||
"Delete card" : "حذف کارت",
|
||||
"Move card to another board" : "انتقال کارت به تختهای دیگر",
|
||||
"List is empty" : "فهرست خالی است",
|
||||
"Card deleted" : "برگه پاک شد",
|
||||
"seconds ago" : "ثانیههایی پیش",
|
||||
|
||||
24
l10n/fa.json
24
l10n/fa.json
@@ -71,7 +71,7 @@
|
||||
"The card {deck-card} on {deck-board} has reached its due date." : "برگه {deck-card} در {deck-board} به تاریخ سررسید خود رسیده است.",
|
||||
"{user} has mentioned you in a comment on {deck-card}." : "{user} از شما در نظری در {deck-card} نام برده است.",
|
||||
"{user} has shared {deck-board} with you." : "{user} {deck-board} را با شما به اشتراک گذاشته است.",
|
||||
"Card comments" : "دیدگاههای برگه",
|
||||
"Card comments" : "برگهٔ نظر",
|
||||
"No data was provided to create an attachment." : "هیچ داده ای برای ایجاد پیوست ارائه نشد.",
|
||||
"Finished" : "تمام شده",
|
||||
"To review" : "برای بازبینی",
|
||||
@@ -99,20 +99,20 @@
|
||||
"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- 📥 وظایف خود را به برگهها اضافه کنید و آنها را مرتب کنید\n- 📄 یادداشتهای اضافی را در Markdown یادداشت کنید\n- 🔖 برچسبهایی را برای سازماندهی بهتر اختصاص دهید\n- 👥 با گروه، دوستان یا خانوادهٔ خود به اشتراک بگذارید\n- 📎 فایلها را ضمیمه کنید و آنها را در توضیحات Markdown خود قرار دهید\n- 💬 با استفاده از نظرات با تیم خود بحث کنید\n- ⚡ تغییرات در جریان فعالیت را پیگیری کنید\n- 🚀 پروژه خود را سازماندهی کنید",
|
||||
"Card details" : "جزئیات برگه",
|
||||
"Add board" : "افزودن تخته",
|
||||
"Add board" : "تخته را اضافه کنید",
|
||||
"Select the board to link to a project" : "تختهای را برای ایجاد پیوند با یک پروژه انتخاب کنید",
|
||||
"Search by board title" : "جستجو بر اساس عنوان تخته",
|
||||
"Select board" : "انتخاب تخته",
|
||||
"Create a new card" : "یک برگهٔ جدید بسازید",
|
||||
"Create a new card" : "برگهٔ جدید بسازید",
|
||||
"Select a board" : "انتخاب یک تخته",
|
||||
"Select a list" : "یک فهرست برگزینید",
|
||||
"Card title" : "عنوان برگه",
|
||||
"Cancel" : "لغو",
|
||||
"Creating the new card …" : "ساختن برگهٔ جدید ...",
|
||||
"Creating the new card …" : "ساختن برگهٔ جدید",
|
||||
"Card \"{card}\" was added to \"{board}\"" : "برگه \"{card}\" به \"{board}\" اضافه شد",
|
||||
"Open card" : "بازکردن برگه",
|
||||
"Open card" : "برگهٔ گشوده",
|
||||
"Close" : "بسته",
|
||||
"Create card" : "ایجاد برگه",
|
||||
"Create card" : "برگه بسازید",
|
||||
"Select a card" : "انتخاب یک برگه",
|
||||
"Select the card to link to a project" : "برگهای را برای ایجاد پیوند با یک پروژه انتخاب کنید",
|
||||
"Link to card" : "پیوند به برگه",
|
||||
@@ -198,10 +198,10 @@
|
||||
"The title cannot be empty." : "عنوان نمیتواند خالی باشد.",
|
||||
"No comments yet. Begin the discussion!" : "هنوز نظری وجود ندارد. بحثی را آغاز کنید!",
|
||||
"Failed to load comments" : "نظرات بارگیری نشد",
|
||||
"Assign a tag to this card…" : "یک برچسب به این برگه اختصاص دهید…",
|
||||
"Assign a tag to this card…" : "یک برچسب به این کارت اختصاص دهید…",
|
||||
"Assign to users" : "به کاربران اختصاص دهید",
|
||||
"Assign to users/groups/circles" : "به کاربران/ گروهها/ حلقهها اختصاص دهید",
|
||||
"Assign a user to this card…" : "اختصاص یک کاربر به این برگه…",
|
||||
"Assign a user to this card…" : "اختصاص یک کاربر به این کارت…",
|
||||
"Due date" : "موعد مقرر",
|
||||
"Set a due date" : "تاریخ سررسید را تعیین کنید",
|
||||
"Remove due date" : "تاریخ سررسید را حذف کنید",
|
||||
@@ -230,11 +230,11 @@
|
||||
"{count} comments, {unread} unread" : "{count} نظر، { خوانده نشده} خوانده نشده",
|
||||
"Assign to me" : "به من اختصاص دهید",
|
||||
"Unassign myself" : "واگذاری به خودم را لغو میکنم",
|
||||
"Move card" : "انتقال برگه",
|
||||
"Move card" : "انتقال کارت",
|
||||
"Unarchive card" : "برگه را از بایگانی خارج کنید",
|
||||
"Archive card" : "بایگانی برگه",
|
||||
"Delete card" : "حذف برگه",
|
||||
"Move card to another board" : "انتقال برگه به تختهای دیگر",
|
||||
"Archive card" : "کارت بایگانی",
|
||||
"Delete card" : "حذف کارت",
|
||||
"Move card to another board" : "انتقال کارت به تختهای دیگر",
|
||||
"List is empty" : "فهرست خالی است",
|
||||
"Card deleted" : "برگه پاک شد",
|
||||
"seconds ago" : "ثانیههایی پیش",
|
||||
|
||||
13
l10n/fr.js
13
l10n/fr.js
@@ -135,7 +135,6 @@ OC.L10N.register(
|
||||
"Archived cards" : "Cartes archivées",
|
||||
"Add list" : "Ajouter une liste",
|
||||
"List name" : "Nom de la liste",
|
||||
"Active filters" : "Filtres actifs",
|
||||
"Apply filter" : "Filtrer",
|
||||
"Filter by tag" : "Filtrer par étiquette",
|
||||
"Filter by assigned user" : "Filtrer par utilisateur",
|
||||
@@ -174,11 +173,7 @@ OC.L10N.register(
|
||||
"Owner" : "Propriétaire",
|
||||
"Delete" : "Supprimer",
|
||||
"Failed to create share with {displayName}" : "Échec de la création du partage avec {displayName}",
|
||||
"Are you sure you want to transfer the board {title} to {user}?" : "Êtes-vous sûr de vouloir transférer le tableau {title} à {user} ?",
|
||||
"Transfer the board." : "Transférer le tableau",
|
||||
"Transfer" : "Transfert",
|
||||
"The board has been transferred to {user}" : "Le tableau a été transféré à {user}",
|
||||
"Failed to transfer the board to {user}" : "Échec du transfert du tableau à {user}",
|
||||
"Add a new list" : "Ajouter une nouvelle liste",
|
||||
"Archive all cards" : "Archiver toutes les cartes",
|
||||
"Delete list" : "Supprimer la liste",
|
||||
@@ -294,10 +289,6 @@ OC.L10N.register(
|
||||
"Share {file} with a Deck card" : "Partager {file} avec Deck en tant que carte",
|
||||
"Share" : "Partager",
|
||||
"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 est un outil d'organisation de style kanban destiné à la planification personnelle et à l'organisation de projets pour les équipes intégrées à Nextcloud.\n\n\n- 📥 Ajoutez vos tâches à des cartes et organisez-les\n- 📄 Écrivez des notes supplémentaires en Markdown\n- 🔖 Affectez des étiquettes pour une organisation encore meilleure\n- 👥 Partagez avec votre équipe, vos amis ou votre famille\n- 📎 Attachez des fichiers et utilisez les dans vos descriptions en Markdown\n- 💬 Échangez avec votre équipe grâce aux commentaires\n- ⚡ Gardez un œil sur les modifications dans le flux d'activité\n- 🚀 Organisez vos projets",
|
||||
"Are you sure you want to transfer the board {title} for {user} ?" : "Êtes-vous sûr de vouloir transférer le tableau {title} pour {user} ?",
|
||||
"Transfer the board for {user} successfully" : "Transfert du tableau pour {user} avec succès",
|
||||
"Failed to transfer the board for {user}" : "Échec du transfert du tableau pour {user}",
|
||||
"This week" : "Cette semaine",
|
||||
"Are you sure you want to transfer the board {title} for {user}?" : "Êtes-vous sûr de vouloir transférer le tableau {title} pour {user} ?"
|
||||
"This week" : "Cette semaine"
|
||||
},
|
||||
"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
|
||||
"nplurals=2; plural=(n > 1);");
|
||||
|
||||
13
l10n/fr.json
13
l10n/fr.json
@@ -133,7 +133,6 @@
|
||||
"Archived cards" : "Cartes archivées",
|
||||
"Add list" : "Ajouter une liste",
|
||||
"List name" : "Nom de la liste",
|
||||
"Active filters" : "Filtres actifs",
|
||||
"Apply filter" : "Filtrer",
|
||||
"Filter by tag" : "Filtrer par étiquette",
|
||||
"Filter by assigned user" : "Filtrer par utilisateur",
|
||||
@@ -172,11 +171,7 @@
|
||||
"Owner" : "Propriétaire",
|
||||
"Delete" : "Supprimer",
|
||||
"Failed to create share with {displayName}" : "Échec de la création du partage avec {displayName}",
|
||||
"Are you sure you want to transfer the board {title} to {user}?" : "Êtes-vous sûr de vouloir transférer le tableau {title} à {user} ?",
|
||||
"Transfer the board." : "Transférer le tableau",
|
||||
"Transfer" : "Transfert",
|
||||
"The board has been transferred to {user}" : "Le tableau a été transféré à {user}",
|
||||
"Failed to transfer the board to {user}" : "Échec du transfert du tableau à {user}",
|
||||
"Add a new list" : "Ajouter une nouvelle liste",
|
||||
"Archive all cards" : "Archiver toutes les cartes",
|
||||
"Delete list" : "Supprimer la liste",
|
||||
@@ -292,10 +287,6 @@
|
||||
"Share {file} with a Deck card" : "Partager {file} avec Deck en tant que carte",
|
||||
"Share" : "Partager",
|
||||
"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 est un outil d'organisation de style kanban destiné à la planification personnelle et à l'organisation de projets pour les équipes intégrées à Nextcloud.\n\n\n- 📥 Ajoutez vos tâches à des cartes et organisez-les\n- 📄 Écrivez des notes supplémentaires en Markdown\n- 🔖 Affectez des étiquettes pour une organisation encore meilleure\n- 👥 Partagez avec votre équipe, vos amis ou votre famille\n- 📎 Attachez des fichiers et utilisez les dans vos descriptions en Markdown\n- 💬 Échangez avec votre équipe grâce aux commentaires\n- ⚡ Gardez un œil sur les modifications dans le flux d'activité\n- 🚀 Organisez vos projets",
|
||||
"Are you sure you want to transfer the board {title} for {user} ?" : "Êtes-vous sûr de vouloir transférer le tableau {title} pour {user} ?",
|
||||
"Transfer the board for {user} successfully" : "Transfert du tableau pour {user} avec succès",
|
||||
"Failed to transfer the board for {user}" : "Échec du transfert du tableau pour {user}",
|
||||
"This week" : "Cette semaine",
|
||||
"Are you sure you want to transfer the board {title} for {user}?" : "Êtes-vous sûr de vouloir transférer le tableau {title} pour {user} ?"
|
||||
},"pluralForm" :"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
|
||||
"This week" : "Cette semaine"
|
||||
},"pluralForm" :"nplurals=2; plural=(n > 1);"
|
||||
}
|
||||
@@ -135,7 +135,6 @@ OC.L10N.register(
|
||||
"Archived cards" : "Archivált kártyák",
|
||||
"Add list" : "Lista hozzáadása",
|
||||
"List name" : "Listanév",
|
||||
"Active filters" : "Aktív szűrők",
|
||||
"Apply filter" : "Szűrő alkalmazása",
|
||||
"Filter by tag" : "Szűrés címke szerint",
|
||||
"Filter by assigned user" : "Szűrés hozzárendelt felhasználó szerint",
|
||||
|
||||
@@ -133,7 +133,6 @@
|
||||
"Archived cards" : "Archivált kártyák",
|
||||
"Add list" : "Lista hozzáadása",
|
||||
"List name" : "Listanév",
|
||||
"Active filters" : "Aktív szűrők",
|
||||
"Apply filter" : "Szűrő alkalmazása",
|
||||
"Filter by tag" : "Szűrés címke szerint",
|
||||
"Filter by assigned user" : "Szűrés hozzárendelt felhasználó szerint",
|
||||
|
||||
@@ -291,4 +291,4 @@ OC.L10N.register(
|
||||
"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 è uno strumento di organizzazione in stile kanban destinato alla pianificazione personale e all'organizzazione di progetti per squadre integrato con Nextcloud.\n\n\n- 📥 Aggiungi le tue attività alle schede e tienile in ordine\n- 📄 Scrivi note aggiuntive in markdown\n- 🔖 Assegna etichette per un'organizzazione ancora migliore\n- 👥 Condividi con la tua squadra, amici o famiglia\n- 📎 Allega file e integrali nella tua descrizione markdown\n- 💬 Discuti con la tua squadra utilizzando i commenti\n- ⚡ Tieni traccia dei cambiamenti nel flusso delle attività\n- 🚀 Organizza il tuo progetto",
|
||||
"This week" : "Questa settimana"
|
||||
},
|
||||
"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
|
||||
"nplurals=2; plural=(n != 1);");
|
||||
|
||||
@@ -288,5 +288,5 @@
|
||||
"Share" : "Condividi",
|
||||
"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 è uno strumento di organizzazione in stile kanban destinato alla pianificazione personale e all'organizzazione di progetti per squadre integrato con Nextcloud.\n\n\n- 📥 Aggiungi le tue attività alle schede e tienile in ordine\n- 📄 Scrivi note aggiuntive in markdown\n- 🔖 Assegna etichette per un'organizzazione ancora migliore\n- 👥 Condividi con la tua squadra, amici o famiglia\n- 📎 Allega file e integrali nella tua descrizione markdown\n- 💬 Discuti con la tua squadra utilizzando i commenti\n- ⚡ Tieni traccia dei cambiamenti nel flusso delle attività\n- 🚀 Organizza il tuo progetto",
|
||||
"This week" : "Questa settimana"
|
||||
},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
|
||||
},"pluralForm" :"nplurals=2; plural=(n != 1);"
|
||||
}
|
||||
24
l10n/ja.js
24
l10n/ja.js
@@ -70,13 +70,9 @@ OC.L10N.register(
|
||||
"Upcoming cards" : "今後のカード",
|
||||
"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." : "{user} さんが、{deck-board} で、あなたにカード「{deck-card}」を割り当てました。",
|
||||
"The card \"%s\" on \"%s\" has reached its due date." : "カード \"%s\"(\"%s\"に所属)は期日に達しました。",
|
||||
"The card {deck-card} on {deck-board} has reached its due date." : "{deck-board}上のカード「{deck-card}」は、期日を迎えました。",
|
||||
"%s has mentioned you in a comment on \"%s\"." : "%sさんは \"%s\"へのコメントであなたについて言及しました。",
|
||||
"{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} を共有しました。",
|
||||
"Card comments" : "カードコメント",
|
||||
"%s on %s" : "%s が %s で",
|
||||
"No data was provided to create an attachment." : "添付ファイルを作成するためのデータは提供されていません。",
|
||||
@@ -100,12 +96,10 @@ OC.L10N.register(
|
||||
"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という名前で、カードに添付ファイルとして追加しました。\n次のURLでアクセス可能です: %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" : "DeckはNextcloudと統合された、チームのための個人計画とプロジェクトの組織化を目的としたカンバンスタイルのオーガナイズツールです。\n\n\n- 📥 タスクをカードに追加して整理する\n- 📄 追加のメモをマークダウン形式で書き留める\n- 🔖 より詳細な分類のために追加のラベルを割り当てる\n- 👥 チーム、友達、家族と共有\n- 📎 ファイルを添付し、マークダウンの説明に埋め込む\n- 💬 コメントを使用してチームで話し合う\n- ⚡ アクティビティストリームで変更を追跡する\n- 🚀 プロジェクトを整理する",
|
||||
"Card details" : "カード詳細",
|
||||
"Add board" : "ボードを追加",
|
||||
"Select the board to link to a project" : "プロジェクトにリンクするボードを選択",
|
||||
@@ -116,8 +110,6 @@ OC.L10N.register(
|
||||
"Select a list" : "リストを選択",
|
||||
"Card title" : "カードのタイトル",
|
||||
"Cancel" : "キャンセル",
|
||||
"Creating the new card …" : "新しいカードを作成しています...",
|
||||
"Card \"{card}\" was added to \"{board}\"" : "カード \"{card}\" が \"{board}\" に追加されました",
|
||||
"Open card" : "カードを開く",
|
||||
"Close" : "閉じる",
|
||||
"Create card" : "カードを作成",
|
||||
@@ -135,7 +127,6 @@ OC.L10N.register(
|
||||
"Archived cards" : "カードをアーカイブ",
|
||||
"Add list" : "リストを追加",
|
||||
"List name" : "リスト名",
|
||||
"Active filters" : "有効なフィルター",
|
||||
"Apply filter" : "フィルターを適用",
|
||||
"Filter by tag" : "タグによるフィルター",
|
||||
"Filter by assigned user" : "割当ユーザーでフィルター",
|
||||
@@ -174,11 +165,7 @@ OC.L10N.register(
|
||||
"Owner" : "所有者",
|
||||
"Delete" : "削除",
|
||||
"Failed to create share with {displayName}" : "{displayName}との共有の作成に失敗しました",
|
||||
"Are you sure you want to transfer the board {title} to {user}?" : "本当にボード {title} を {user} に転送しますか?",
|
||||
"Transfer the board." : "ボードを転送します。",
|
||||
"Transfer" : "転送",
|
||||
"The board has been transferred to {user}" : "ボードが {user} に転送されました。",
|
||||
"Failed to transfer the board to {user}" : "{user} へのボードの転送に失敗しました",
|
||||
"Add a new list" : "新しいリストを追加",
|
||||
"Archive all cards" : "すべてのカードをアーカイブする",
|
||||
"Delete list" : "リストを削除",
|
||||
@@ -193,11 +180,9 @@ OC.L10N.register(
|
||||
"Members" : "メンバー",
|
||||
"Upload new files" : "新しいファイルをアップロード",
|
||||
"Share from Files" : "ファイルから共有",
|
||||
"Pending share" : "共有を保留中",
|
||||
"Add this attachment" : "この添付ファイルを追加",
|
||||
"Show in Files" : "ファイルに表示",
|
||||
"Download" : "ダウンロード",
|
||||
"Remove attachment" : "添付ファイルを削除",
|
||||
"Delete Attachment" : "添付ファイルを削除",
|
||||
"Restore Attachment" : "添付ファイルを復元",
|
||||
"File to share" : "共有するファイル",
|
||||
@@ -210,7 +195,6 @@ OC.L10N.register(
|
||||
"Created" : "作成時刻",
|
||||
"The title cannot be empty." : "タイトルを空にすることはできません。",
|
||||
"No comments yet. Begin the discussion!" : "まだコメントはありません。議論を始めましょう!",
|
||||
"Failed to load comments" : "コメントの読み込みに失敗しました",
|
||||
"Assign a tag to this card…" : "タグこのをカードに割り当てる…",
|
||||
"Assign to users" : "ユーザーに割り当てる",
|
||||
"Assign to users/groups/circles" : "ユーザー/グループ/サークルに割り当てる",
|
||||
@@ -240,7 +224,6 @@ OC.L10N.register(
|
||||
"Write a description …" : "説明を書く…",
|
||||
"Choose attachment" : "添付ファイルを選択",
|
||||
"(group)" : "(グループ)",
|
||||
"{count} comments, {unread} unread" : "コメント {count} 件あり、 {unread} 件未読",
|
||||
"Assign to me" : "自分に割り当てる",
|
||||
"Unassign myself" : "自分への割り当てを解除",
|
||||
"Move card" : "カードの移動",
|
||||
@@ -248,7 +231,6 @@ OC.L10N.register(
|
||||
"Archive card" : "カードをアーカイブ",
|
||||
"Delete card" : "カードを削除する",
|
||||
"Move card to another board" : "カードを他のボードに移動",
|
||||
"List is empty" : "リストが空です",
|
||||
"Card deleted" : "カードが削除されました",
|
||||
"seconds ago" : "数秒前",
|
||||
"All boards" : "すべてのボード",
|
||||
@@ -294,10 +276,6 @@ OC.L10N.register(
|
||||
"Share {file} with a Deck card" : "{file}をデッキのカードで共有する",
|
||||
"Share" : "共有",
|
||||
"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はNextcloudと統合した、チームの個人計画とプロジェクトの組織化を目的としたカンバンスタイルの組織ツールです。\n\n\n- 📥 タスクをカードに追加して整理する\n- 📄 マークダウンで追加のメモを書き留めます\n- 🔖 より良い組織のためにラベルを割り当てる\n- 👥 あなたのチーム、友人、家族と共有する\n- 📎 ファイルを添付してマークダウンの説明に埋め込む\n- 💬 コメントを使ってあなたのチームと話し合う\n- ⚡ アクティビティの流れの変化を追跡する\n- 🚀 プロジェクトを整理する",
|
||||
"Are you sure you want to transfer the board {title} for {user} ?" : "本当に、 {user} のボード {title} を転送してもよろしいですか?",
|
||||
"Transfer the board for {user} successfully" : "{user} のボードの転送に成功しました",
|
||||
"Failed to transfer the board for {user}" : "{user} のボードの転送に失敗しました",
|
||||
"This week" : "今週",
|
||||
"Are you sure you want to transfer the board {title} for {user}?" : "本当に、 {user} のボード {title} を転送してもよろしいですか?"
|
||||
"This week" : "今週"
|
||||
},
|
||||
"nplurals=1; plural=0;");
|
||||
|
||||
24
l10n/ja.json
24
l10n/ja.json
@@ -68,13 +68,9 @@
|
||||
"Upcoming cards" : "今後のカード",
|
||||
"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." : "{user} さんが、{deck-board} で、あなたにカード「{deck-card}」を割り当てました。",
|
||||
"The card \"%s\" on \"%s\" has reached its due date." : "カード \"%s\"(\"%s\"に所属)は期日に達しました。",
|
||||
"The card {deck-card} on {deck-board} has reached its due date." : "{deck-board}上のカード「{deck-card}」は、期日を迎えました。",
|
||||
"%s has mentioned you in a comment on \"%s\"." : "%sさんは \"%s\"へのコメントであなたについて言及しました。",
|
||||
"{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} を共有しました。",
|
||||
"Card comments" : "カードコメント",
|
||||
"%s on %s" : "%s が %s で",
|
||||
"No data was provided to create an attachment." : "添付ファイルを作成するためのデータは提供されていません。",
|
||||
@@ -98,12 +94,10 @@
|
||||
"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という名前で、カードに添付ファイルとして追加しました。\n次のURLでアクセス可能です: %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" : "DeckはNextcloudと統合された、チームのための個人計画とプロジェクトの組織化を目的としたカンバンスタイルのオーガナイズツールです。\n\n\n- 📥 タスクをカードに追加して整理する\n- 📄 追加のメモをマークダウン形式で書き留める\n- 🔖 より詳細な分類のために追加のラベルを割り当てる\n- 👥 チーム、友達、家族と共有\n- 📎 ファイルを添付し、マークダウンの説明に埋め込む\n- 💬 コメントを使用してチームで話し合う\n- ⚡ アクティビティストリームで変更を追跡する\n- 🚀 プロジェクトを整理する",
|
||||
"Card details" : "カード詳細",
|
||||
"Add board" : "ボードを追加",
|
||||
"Select the board to link to a project" : "プロジェクトにリンクするボードを選択",
|
||||
@@ -114,8 +108,6 @@
|
||||
"Select a list" : "リストを選択",
|
||||
"Card title" : "カードのタイトル",
|
||||
"Cancel" : "キャンセル",
|
||||
"Creating the new card …" : "新しいカードを作成しています...",
|
||||
"Card \"{card}\" was added to \"{board}\"" : "カード \"{card}\" が \"{board}\" に追加されました",
|
||||
"Open card" : "カードを開く",
|
||||
"Close" : "閉じる",
|
||||
"Create card" : "カードを作成",
|
||||
@@ -133,7 +125,6 @@
|
||||
"Archived cards" : "カードをアーカイブ",
|
||||
"Add list" : "リストを追加",
|
||||
"List name" : "リスト名",
|
||||
"Active filters" : "有効なフィルター",
|
||||
"Apply filter" : "フィルターを適用",
|
||||
"Filter by tag" : "タグによるフィルター",
|
||||
"Filter by assigned user" : "割当ユーザーでフィルター",
|
||||
@@ -172,11 +163,7 @@
|
||||
"Owner" : "所有者",
|
||||
"Delete" : "削除",
|
||||
"Failed to create share with {displayName}" : "{displayName}との共有の作成に失敗しました",
|
||||
"Are you sure you want to transfer the board {title} to {user}?" : "本当にボード {title} を {user} に転送しますか?",
|
||||
"Transfer the board." : "ボードを転送します。",
|
||||
"Transfer" : "転送",
|
||||
"The board has been transferred to {user}" : "ボードが {user} に転送されました。",
|
||||
"Failed to transfer the board to {user}" : "{user} へのボードの転送に失敗しました",
|
||||
"Add a new list" : "新しいリストを追加",
|
||||
"Archive all cards" : "すべてのカードをアーカイブする",
|
||||
"Delete list" : "リストを削除",
|
||||
@@ -191,11 +178,9 @@
|
||||
"Members" : "メンバー",
|
||||
"Upload new files" : "新しいファイルをアップロード",
|
||||
"Share from Files" : "ファイルから共有",
|
||||
"Pending share" : "共有を保留中",
|
||||
"Add this attachment" : "この添付ファイルを追加",
|
||||
"Show in Files" : "ファイルに表示",
|
||||
"Download" : "ダウンロード",
|
||||
"Remove attachment" : "添付ファイルを削除",
|
||||
"Delete Attachment" : "添付ファイルを削除",
|
||||
"Restore Attachment" : "添付ファイルを復元",
|
||||
"File to share" : "共有するファイル",
|
||||
@@ -208,7 +193,6 @@
|
||||
"Created" : "作成時刻",
|
||||
"The title cannot be empty." : "タイトルを空にすることはできません。",
|
||||
"No comments yet. Begin the discussion!" : "まだコメントはありません。議論を始めましょう!",
|
||||
"Failed to load comments" : "コメントの読み込みに失敗しました",
|
||||
"Assign a tag to this card…" : "タグこのをカードに割り当てる…",
|
||||
"Assign to users" : "ユーザーに割り当てる",
|
||||
"Assign to users/groups/circles" : "ユーザー/グループ/サークルに割り当てる",
|
||||
@@ -238,7 +222,6 @@
|
||||
"Write a description …" : "説明を書く…",
|
||||
"Choose attachment" : "添付ファイルを選択",
|
||||
"(group)" : "(グループ)",
|
||||
"{count} comments, {unread} unread" : "コメント {count} 件あり、 {unread} 件未読",
|
||||
"Assign to me" : "自分に割り当てる",
|
||||
"Unassign myself" : "自分への割り当てを解除",
|
||||
"Move card" : "カードの移動",
|
||||
@@ -246,7 +229,6 @@
|
||||
"Archive card" : "カードをアーカイブ",
|
||||
"Delete card" : "カードを削除する",
|
||||
"Move card to another board" : "カードを他のボードに移動",
|
||||
"List is empty" : "リストが空です",
|
||||
"Card deleted" : "カードが削除されました",
|
||||
"seconds ago" : "数秒前",
|
||||
"All boards" : "すべてのボード",
|
||||
@@ -292,10 +274,6 @@
|
||||
"Share {file} with a Deck card" : "{file}をデッキのカードで共有する",
|
||||
"Share" : "共有",
|
||||
"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はNextcloudと統合した、チームの個人計画とプロジェクトの組織化を目的としたカンバンスタイルの組織ツールです。\n\n\n- 📥 タスクをカードに追加して整理する\n- 📄 マークダウンで追加のメモを書き留めます\n- 🔖 より良い組織のためにラベルを割り当てる\n- 👥 あなたのチーム、友人、家族と共有する\n- 📎 ファイルを添付してマークダウンの説明に埋め込む\n- 💬 コメントを使ってあなたのチームと話し合う\n- ⚡ アクティビティの流れの変化を追跡する\n- 🚀 プロジェクトを整理する",
|
||||
"Are you sure you want to transfer the board {title} for {user} ?" : "本当に、 {user} のボード {title} を転送してもよろしいですか?",
|
||||
"Transfer the board for {user} successfully" : "{user} のボードの転送に成功しました",
|
||||
"Failed to transfer the board for {user}" : "{user} のボードの転送に失敗しました",
|
||||
"This week" : "今週",
|
||||
"Are you sure you want to transfer the board {title} for {user}?" : "本当に、 {user} のボード {title} を転送してもよろしいですか?"
|
||||
"This week" : "今週"
|
||||
},"pluralForm" :"nplurals=1; plural=0;"
|
||||
}
|
||||
@@ -2,7 +2,6 @@ OC.L10N.register(
|
||||
"deck",
|
||||
{
|
||||
"Personal" : "ផ្ទាល់ខ្លួន",
|
||||
"copy" : "ចម្លង",
|
||||
"Done" : "Done",
|
||||
"Cancel" : "បោះបង់",
|
||||
"Close" : "បិទ",
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
{ "translations": {
|
||||
"Personal" : "ផ្ទាល់ខ្លួន",
|
||||
"copy" : "ចម្លង",
|
||||
"Done" : "Done",
|
||||
"Cancel" : "បោះបង់",
|
||||
"Close" : "បិទ",
|
||||
|
||||
@@ -135,7 +135,6 @@ OC.L10N.register(
|
||||
"Archived cards" : "Zarchiwizowane karty",
|
||||
"Add list" : "Dodaj listę",
|
||||
"List name" : "Nazwa listy",
|
||||
"Active filters" : "Aktywne filtry",
|
||||
"Apply filter" : "Zastosuj filtr",
|
||||
"Filter by tag" : "Filtruj według etykiety",
|
||||
"Filter by assigned user" : "Filtruj według przydzielonego użytkownika",
|
||||
|
||||
@@ -133,7 +133,6 @@
|
||||
"Archived cards" : "Zarchiwizowane karty",
|
||||
"Add list" : "Dodaj listę",
|
||||
"List name" : "Nazwa listy",
|
||||
"Active filters" : "Aktywne filtry",
|
||||
"Apply filter" : "Zastosuj filtr",
|
||||
"Filter by tag" : "Filtruj według etykiety",
|
||||
"Filter by assigned user" : "Filtruj według przydzielonego użytkownika",
|
||||
|
||||
@@ -135,7 +135,6 @@ OC.L10N.register(
|
||||
"Archived cards" : "Cartões arquivados",
|
||||
"Add list" : "Adicionar lista",
|
||||
"List name" : "Nome da lista",
|
||||
"Active filters" : "Filtros ativos",
|
||||
"Apply filter" : "Aplicar filtro",
|
||||
"Filter by tag" : "Filtrar por etiqueta",
|
||||
"Filter by assigned user" : "Filtrar por usuário atribuído",
|
||||
@@ -300,4 +299,4 @@ OC.L10N.register(
|
||||
"This week" : "Esta semana",
|
||||
"Are you sure you want to transfer the board {title} for {user}?" : "Tem certeza de que deseja transferir o quadro {title} para {user}?"
|
||||
},
|
||||
"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
|
||||
"nplurals=2; plural=(n > 1);");
|
||||
|
||||
@@ -133,7 +133,6 @@
|
||||
"Archived cards" : "Cartões arquivados",
|
||||
"Add list" : "Adicionar lista",
|
||||
"List name" : "Nome da lista",
|
||||
"Active filters" : "Filtros ativos",
|
||||
"Apply filter" : "Aplicar filtro",
|
||||
"Filter by tag" : "Filtrar por etiqueta",
|
||||
"Filter by assigned user" : "Filtrar por usuário atribuído",
|
||||
@@ -297,5 +296,5 @@
|
||||
"Failed to transfer the board for {user}" : "Falha ao transferir a reunião para {user}",
|
||||
"This week" : "Esta semana",
|
||||
"Are you sure you want to transfer the board {title} for {user}?" : "Tem certeza de que deseja transferir o quadro {title} para {user}?"
|
||||
},"pluralForm" :"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
|
||||
},"pluralForm" :"nplurals=2; plural=(n > 1);"
|
||||
}
|
||||
@@ -158,4 +158,4 @@ OC.L10N.register(
|
||||
"Share" : "Partilhar",
|
||||
"This week" : "Esta semana"
|
||||
},
|
||||
"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
|
||||
"nplurals=2; plural=(n != 1);");
|
||||
|
||||
@@ -155,5 +155,5 @@
|
||||
"An error occurred" : "Ocorreu um erro",
|
||||
"Share" : "Partilhar",
|
||||
"This week" : "Esta semana"
|
||||
},"pluralForm" :"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
|
||||
},"pluralForm" :"nplurals=2; plural=(n != 1);"
|
||||
}
|
||||
@@ -8,14 +8,9 @@ OC.L10N.register(
|
||||
"Later" : "Mai târziu",
|
||||
"copy" : "copiază",
|
||||
"Done" : "Realizat",
|
||||
"The file was uploaded" : "Fișierul a fost încărcat",
|
||||
"The uploaded file exceeds the upload_max_filesize directive in php.ini" : "Fișierul încărcat depășește directiva upload_max_filesize din php.ini",
|
||||
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "Fișierul încărcat depășește directiva MAX_FILE_SIZE specificată în formularul HTML",
|
||||
"The file was only partially uploaded" : "Fișierul a fost încărcat doar parțial",
|
||||
"No file was uploaded" : "Nu a fost încărcat niciun fișier",
|
||||
"Missing a temporary folder" : "Lipsește un dosar temporar",
|
||||
"Could not write file to disk" : "Nu s-a putut scrie fișierul pe disc",
|
||||
"A PHP extension stopped the file upload" : "O extensie PHP a oprit încărcarea fișierelor",
|
||||
"Card not found" : "Card negăsit ",
|
||||
"Invalid date, date format must be YYYY-MM-DD" : "Dată invalidă, formatul trebuie să fie AAAA-LL-ZZ",
|
||||
"Add board" : "Adaugă panou",
|
||||
|
||||
@@ -6,14 +6,9 @@
|
||||
"Later" : "Mai târziu",
|
||||
"copy" : "copiază",
|
||||
"Done" : "Realizat",
|
||||
"The file was uploaded" : "Fișierul a fost încărcat",
|
||||
"The uploaded file exceeds the upload_max_filesize directive in php.ini" : "Fișierul încărcat depășește directiva upload_max_filesize din php.ini",
|
||||
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "Fișierul încărcat depășește directiva MAX_FILE_SIZE specificată în formularul HTML",
|
||||
"The file was only partially uploaded" : "Fișierul a fost încărcat doar parțial",
|
||||
"No file was uploaded" : "Nu a fost încărcat niciun fișier",
|
||||
"Missing a temporary folder" : "Lipsește un dosar temporar",
|
||||
"Could not write file to disk" : "Nu s-a putut scrie fișierul pe disc",
|
||||
"A PHP extension stopped the file upload" : "O extensie PHP a oprit încărcarea fișierelor",
|
||||
"Card not found" : "Card negăsit ",
|
||||
"Invalid date, date format must be YYYY-MM-DD" : "Dată invalidă, formatul trebuie să fie AAAA-LL-ZZ",
|
||||
"Add board" : "Adaugă panou",
|
||||
|
||||
@@ -135,7 +135,6 @@ OC.L10N.register(
|
||||
"Archived cards" : "Arşivlenmiş kartlar",
|
||||
"Add list" : "Liste ekle",
|
||||
"List name" : "Liste adı",
|
||||
"Active filters" : "Etkin süzgeçler",
|
||||
"Apply filter" : "Süzgeci uygula",
|
||||
"Filter by tag" : "Etikete göre süz",
|
||||
"Filter by assigned user" : "Atanmış kullanıcıya göre süz",
|
||||
|
||||
@@ -133,7 +133,6 @@
|
||||
"Archived cards" : "Arşivlenmiş kartlar",
|
||||
"Add list" : "Liste ekle",
|
||||
"List name" : "Liste adı",
|
||||
"Active filters" : "Etkin süzgeçler",
|
||||
"Apply filter" : "Süzgeci uygula",
|
||||
"Filter by tag" : "Etikete göre süz",
|
||||
"Filter by assigned user" : "Atanmış kullanıcıya göre süz",
|
||||
|
||||
@@ -124,7 +124,6 @@ OC.L10N.register(
|
||||
"Next month" : "Наступний місяць",
|
||||
"Save" : "Зберегти",
|
||||
"In reply to" : "У відповідь",
|
||||
"Cancel reply" : "Скасувати відповідь",
|
||||
"Reply" : "Відповісти",
|
||||
"Update" : "Оновлення",
|
||||
"Description" : "Опис",
|
||||
|
||||
@@ -122,7 +122,6 @@
|
||||
"Next month" : "Наступний місяць",
|
||||
"Save" : "Зберегти",
|
||||
"In reply to" : "У відповідь",
|
||||
"Cancel reply" : "Скасувати відповідь",
|
||||
"Reply" : "Відповісти",
|
||||
"Update" : "Оновлення",
|
||||
"Description" : "Опис",
|
||||
|
||||
@@ -135,7 +135,6 @@ OC.L10N.register(
|
||||
"Archived cards" : "已存檔卡片",
|
||||
"Add list" : "添加清單",
|
||||
"List name" : "清單名稱",
|
||||
"Active filters" : "有效的過濾器",
|
||||
"Apply filter" : "應用過濾器",
|
||||
"Filter by tag" : "以標籤過濾",
|
||||
"Filter by assigned user" : "以指派用戶過濾",
|
||||
|
||||
@@ -133,7 +133,6 @@
|
||||
"Archived cards" : "已存檔卡片",
|
||||
"Add list" : "添加清單",
|
||||
"List name" : "清單名稱",
|
||||
"Active filters" : "有效的過濾器",
|
||||
"Apply filter" : "應用過濾器",
|
||||
"Filter by tag" : "以標籤過濾",
|
||||
"Filter by assigned user" : "以指派用戶過濾",
|
||||
|
||||
@@ -135,7 +135,6 @@ OC.L10N.register(
|
||||
"Archived cards" : "已封存的卡片",
|
||||
"Add list" : "新增列表",
|
||||
"List name" : "列表名稱",
|
||||
"Active filters" : "作用中的過濾條件",
|
||||
"Apply filter" : "套用過濾條件",
|
||||
"Filter by tag" : "按標籤過濾",
|
||||
"Filter by assigned user" : "按被分配的使用者過濾",
|
||||
|
||||
@@ -133,7 +133,6 @@
|
||||
"Archived cards" : "已封存的卡片",
|
||||
"Add list" : "新增列表",
|
||||
"List name" : "列表名稱",
|
||||
"Active filters" : "作用中的過濾條件",
|
||||
"Apply filter" : "套用過濾條件",
|
||||
"Filter by tag" : "按標籤過濾",
|
||||
"Filter by assigned user" : "按被分配的使用者過濾",
|
||||
|
||||
@@ -31,6 +31,7 @@ use OCA\Deck\Db\Acl;
|
||||
use OCA\Deck\Db\AclMapper;
|
||||
use OCA\Deck\Db\Assignment;
|
||||
use OCA\Deck\Db\Attachment;
|
||||
use OCA\Deck\Db\AttachmentMapper;
|
||||
use OCA\Deck\Db\Board;
|
||||
use OCA\Deck\Db\BoardMapper;
|
||||
use OCA\Deck\Db\Card;
|
||||
@@ -49,15 +50,12 @@ use OCP\L10N\IFactory;
|
||||
|
||||
class ActivityManager {
|
||||
public const DECK_NOAUTHOR_COMMENT_SYSTEM_ENFORCED = 'DECK_NOAUTHOR_COMMENT_SYSTEM_ENFORCED';
|
||||
|
||||
public const SUBJECT_PARAMS_MAX_LENGTH = 4000;
|
||||
public const SHORTENED_DESCRIPTION_MAX_LENGTH = 2000;
|
||||
|
||||
private $manager;
|
||||
private $userId;
|
||||
private $permissionService;
|
||||
private $boardMapper;
|
||||
private $cardMapper;
|
||||
private $attachmentMapper;
|
||||
private $aclMapper;
|
||||
private $stackMapper;
|
||||
private $l10nFactory;
|
||||
@@ -112,6 +110,7 @@ class ActivityManager {
|
||||
BoardMapper $boardMapper,
|
||||
CardMapper $cardMapper,
|
||||
StackMapper $stackMapper,
|
||||
AttachmentMapper $attachmentMapper,
|
||||
AclMapper $aclMapper,
|
||||
IFactory $l10nFactory,
|
||||
$userId
|
||||
@@ -121,6 +120,7 @@ class ActivityManager {
|
||||
$this->boardMapper = $boardMapper;
|
||||
$this->cardMapper = $cardMapper;
|
||||
$this->stackMapper = $stackMapper;
|
||||
$this->attachmentMapper = $attachmentMapper;
|
||||
$this->aclMapper = $aclMapper;
|
||||
$this->l10nFactory = $l10nFactory;
|
||||
$this->userId = $userId;
|
||||
@@ -249,6 +249,19 @@ class ActivityManager {
|
||||
try {
|
||||
$event = $this->createEvent($objectType, $entity, $subject, $additionalParams, $author);
|
||||
if ($event !== null) {
|
||||
$json = json_encode($event->getSubjectParameters());
|
||||
if (mb_strlen($json) > 4000) {
|
||||
$params = json_decode(json_encode($event->getSubjectParameters()), true);
|
||||
|
||||
$newContent = $params['after'];
|
||||
unset($params['before'], $params['after'], $params['card']['description']);
|
||||
|
||||
$params['after'] = mb_substr($newContent, 0, 2000);
|
||||
if (mb_strlen($newContent) > 2000) {
|
||||
$params['after'] .= '...';
|
||||
}
|
||||
$event->setSubject($event->getSubject(), $params);
|
||||
}
|
||||
$this->sendToUsers($event);
|
||||
}
|
||||
} catch (\Exception $e) {
|
||||
@@ -397,31 +410,12 @@ class ActivityManager {
|
||||
|
||||
$subjectParams['author'] = $author === null ? $this->userId : $author;
|
||||
|
||||
$subjectParams = array_merge($subjectParams, $additionalParams);
|
||||
$json = json_encode($subjectParams);
|
||||
if (mb_strlen($json) > self::SUBJECT_PARAMS_MAX_LENGTH) {
|
||||
$params = json_decode(json_encode($subjectParams), true);
|
||||
|
||||
if ($subject === self::SUBJECT_CARD_UPDATE_DESCRIPTION && isset($params['after'])) {
|
||||
$newContent = $params['after'];
|
||||
unset($params['before'], $params['after'], $params['card']['description']);
|
||||
|
||||
$params['after'] = mb_substr($newContent, 0, self::SHORTENED_DESCRIPTION_MAX_LENGTH);
|
||||
if (mb_strlen($newContent) > self::SHORTENED_DESCRIPTION_MAX_LENGTH) {
|
||||
$params['after'] .= '...';
|
||||
}
|
||||
$subjectParams = $params;
|
||||
} else {
|
||||
throw new \Exception('Subject parameters too long');
|
||||
}
|
||||
}
|
||||
|
||||
$event = $this->manager->generateEvent();
|
||||
$event->setApp('deck')
|
||||
->setType($eventType)
|
||||
->setAuthor($subjectParams['author'])
|
||||
->setObject($objectType, (int)$object->getId(), $object->getTitle())
|
||||
->setSubject($subject, $subjectParams)
|
||||
->setSubject($subject, array_merge($subjectParams, $additionalParams))
|
||||
->setTimestamp(time());
|
||||
|
||||
if ($message !== null) {
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user