Compare commits
297 Commits
v1.5.6
...
enh/coverP
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
997c7e3ae5 | ||
|
|
c40f6b2dc4 | ||
|
|
abd0deefab | ||
|
|
d4898552ad | ||
|
|
a857c63b35 | ||
|
|
5802a31e93 | ||
|
|
d459995df3 | ||
|
|
5be01e60fb | ||
|
|
8443549d74 | ||
|
|
23e532a9c2 | ||
|
|
2a41d98c6f | ||
|
|
4c4b8f3bed | ||
|
|
1806f0817b | ||
|
|
e855ef3414 | ||
|
|
82232e8890 | ||
|
|
99c880df18 | ||
|
|
144ca0d39d | ||
|
|
71fbdfeba5 | ||
|
|
101995598b | ||
|
|
f5c35729ca | ||
|
|
fc1983869b | ||
|
|
081b5119f5 | ||
|
|
a22e5f7719 | ||
|
|
8ef118ad0f | ||
|
|
86945d5030 | ||
|
|
c63423c25a | ||
|
|
8db48106b9 | ||
|
|
6d201a1f13 | ||
|
|
5425536fc0 | ||
|
|
92acaa0011 | ||
|
|
a5b76991b8 | ||
|
|
33f5af41c8 | ||
|
|
f5223d90a0 | ||
|
|
4a51335a28 | ||
|
|
e5ffe95c17 | ||
|
|
3096b701b6 | ||
|
|
caf2e688f7 | ||
|
|
3269845cfd | ||
|
|
5349fcc707 | ||
|
|
0f095e9b69 | ||
|
|
3affa7b5ec | ||
|
|
4ec57d337b | ||
|
|
6fd83258a0 | ||
|
|
901b8f2506 | ||
|
|
80388d1a88 | ||
|
|
f90c9602b8 | ||
|
|
f861f9e5fc | ||
|
|
bbfb155802 | ||
|
|
10ab8c8688 | ||
|
|
24a6d088ca | ||
|
|
00d386dcaf | ||
|
|
b71f91c439 | ||
|
|
7aa35bb728 | ||
|
|
800412237d | ||
|
|
ca411c6168 | ||
|
|
d414ffe937 | ||
|
|
ad483f3613 | ||
|
|
8311a13275 | ||
|
|
e2a7063772 | ||
|
|
1dbf36ae07 | ||
|
|
29278a51e5 | ||
|
|
31e48ce404 | ||
|
|
404a7eb412 | ||
|
|
a85a6db368 | ||
|
|
9464337036 | ||
|
|
87676b49dd | ||
|
|
6248089d8b | ||
|
|
ec43071adb | ||
|
|
d3d4269245 | ||
|
|
ff7a813052 | ||
|
|
51d6b9e352 | ||
|
|
df90c81272 | ||
|
|
af03e61142 | ||
|
|
6234632ae9 | ||
|
|
393c88e592 | ||
|
|
92db5f3deb | ||
|
|
1169818a3d | ||
|
|
dd32544e5e | ||
|
|
095c80e993 | ||
|
|
0daf7021ec | ||
|
|
3f0f4315fc | ||
|
|
4b5aabd433 | ||
|
|
0ce431e7a6 | ||
|
|
83fc4323f4 | ||
|
|
100bc30d9b | ||
|
|
4044953df0 | ||
|
|
be5ca006d6 | ||
|
|
c89e971059 | ||
|
|
e85a754756 | ||
|
|
70dfa9e7d2 | ||
|
|
aab0d5eecc | ||
|
|
87005ce981 | ||
|
|
0425a3c39c | ||
|
|
e2674f45fc | ||
|
|
1f43dbb3fc | ||
|
|
1469756d93 | ||
|
|
8bba4d09ac | ||
|
|
a4a0f17891 | ||
|
|
5b0e0cc7bb | ||
|
|
b3364f4460 | ||
|
|
9ca7a0a077 | ||
|
|
37b05250cc | ||
|
|
45c254698b | ||
|
|
6f56989fa7 | ||
|
|
96a5fbf0d4 | ||
|
|
f051114b3e | ||
|
|
48c28690b2 | ||
|
|
2cbef172d4 | ||
|
|
2a60428133 | ||
|
|
15f790ee31 | ||
|
|
d8ff4ed7a9 | ||
|
|
7718dbb17d | ||
|
|
fa1b675a54 | ||
|
|
a2c7531dba | ||
|
|
c72714fa70 | ||
|
|
da109ca720 | ||
|
|
0fcbe2cb47 | ||
|
|
86fd1fbc0f | ||
|
|
dd0a22ba04 | ||
|
|
7425d00ba5 | ||
|
|
ca04efb736 | ||
|
|
ce595bdd9d | ||
|
|
c706fb7536 | ||
|
|
b533d11c13 | ||
|
|
ede6a05dec | ||
|
|
3651f6b6cb | ||
|
|
92b0b24bb2 | ||
|
|
65613b1c96 | ||
|
|
52ca67f22c | ||
|
|
5d39a38b6f | ||
|
|
c2373ac244 | ||
|
|
38ff93bf14 | ||
|
|
77f57a926b | ||
|
|
d61d9f015c | ||
|
|
d519b60195 | ||
|
|
144bc6a217 | ||
|
|
11aa39253f | ||
|
|
67b9e91dde | ||
|
|
24aeae8367 | ||
|
|
db114ea587 | ||
|
|
21d5aa1ab5 | ||
|
|
fce9fe4bd9 | ||
|
|
ab6477c5d3 | ||
|
|
d95a420a76 | ||
|
|
500c73605b | ||
|
|
0bcb0d29d7 | ||
|
|
b3a04624e5 | ||
|
|
f5f3622a79 | ||
|
|
b9023d14f9 | ||
|
|
8b102ddb66 | ||
|
|
b118dc0e5e | ||
|
|
8dcddc1e73 | ||
|
|
9dbfeac56a | ||
|
|
a3e31f8c2d | ||
|
|
259d9b325e | ||
|
|
6551ba2210 | ||
|
|
e11bea04e6 | ||
|
|
6ab433fd86 | ||
|
|
4343639ff0 | ||
|
|
2f3c359034 | ||
|
|
963e927aae | ||
|
|
0783fde14b | ||
|
|
52e7d73f10 | ||
|
|
89da9273dd | ||
|
|
e119d05556 | ||
|
|
567439f0b4 | ||
|
|
96725f5a28 | ||
|
|
43699ec3d7 | ||
|
|
d9bd7fbb1f | ||
|
|
bf3ec30b5a | ||
|
|
a3557ba875 | ||
|
|
c6f3e5bb9d | ||
|
|
c011c53f73 | ||
|
|
6335f50dfb | ||
|
|
136a5ab078 | ||
|
|
0ed7c4d02f | ||
|
|
a4bc6b9029 | ||
|
|
6caa7bcfcb | ||
|
|
b9758a7ae8 | ||
|
|
021aa698d9 | ||
|
|
643302be5e | ||
|
|
d3c8cb0285 | ||
|
|
6bbe91acfd | ||
|
|
13dcacc3bb | ||
|
|
e27e8d2ff6 | ||
|
|
3345e9b36d | ||
|
|
108cbfaf33 | ||
|
|
07017b4a19 | ||
|
|
81f64e7b19 | ||
|
|
b8e0eb3a97 | ||
|
|
63b68a59e3 | ||
|
|
f55c3b294e | ||
|
|
d68c3768b4 | ||
|
|
f067057df7 | ||
|
|
bad3f5c89e | ||
|
|
c5e7f473cb | ||
|
|
9f93e88164 | ||
|
|
0077852d4a | ||
|
|
28b10682f5 | ||
|
|
c3f46db990 | ||
|
|
82bc8a66fd | ||
|
|
e3b6627a23 | ||
|
|
315ea4b991 | ||
|
|
07fcfb3078 | ||
|
|
5f3d5e800d | ||
|
|
7b0579625e | ||
|
|
4f0d5b1f37 | ||
|
|
dc07b34d52 | ||
|
|
540aba5ecd | ||
|
|
c3a1cdd6b3 | ||
|
|
0537af0323 | ||
|
|
d3e36f6f0c | ||
|
|
0818274451 | ||
|
|
3c4b8b6ce3 | ||
|
|
098f5863f8 | ||
|
|
00f4bc188e | ||
|
|
6a80f6c8f6 | ||
|
|
26e7b3a868 | ||
|
|
556930cf93 | ||
|
|
42009b233a | ||
|
|
9f3a1e6cda | ||
|
|
544e4d99ee | ||
|
|
97c83fad8d | ||
|
|
95a811362d | ||
|
|
4dc4603d2d | ||
|
|
443e383f2a | ||
|
|
d98c2bc926 | ||
|
|
cb9fc6c9a2 | ||
|
|
f2052702b5 | ||
|
|
3e68801774 | ||
|
|
ff17167719 | ||
|
|
7a15853f77 | ||
|
|
82dbd800d6 | ||
|
|
53e29ad124 | ||
|
|
2b1f3623d0 | ||
|
|
ee7020886e | ||
|
|
ac9665298f | ||
|
|
fe67cd42f9 | ||
|
|
acc0b4cd0c | ||
|
|
0025bb2c52 | ||
|
|
7ab042d1a8 | ||
|
|
c02ad2d851 | ||
|
|
6012f0887d | ||
|
|
17065190ab | ||
|
|
77046f378f | ||
|
|
2bf3aa0e8e | ||
|
|
68da328343 | ||
|
|
bc0dd7118c | ||
|
|
dbf9519326 | ||
|
|
47cbe7bea7 | ||
|
|
5d5424d2a4 | ||
|
|
2cc24dcd60 | ||
|
|
49ed6f9beb | ||
|
|
ec069d5e0d | ||
|
|
9b8df3c157 | ||
|
|
e399e5bd46 | ||
|
|
9aab543604 | ||
|
|
80b8e3ad5c | ||
|
|
499bef97fb | ||
|
|
b6e4f0993a | ||
|
|
53c31ba221 | ||
|
|
849d3adb09 | ||
|
|
9d90e0f3e2 | ||
|
|
a22b223244 | ||
|
|
c3468125f9 | ||
|
|
9e7cff9839 | ||
|
|
13d2b98da4 | ||
|
|
4b327a53c1 | ||
|
|
d441ba4f3d | ||
|
|
9140efef29 | ||
|
|
7119137a75 | ||
|
|
b7cbfa03a5 | ||
|
|
3ee19abfc1 | ||
|
|
25262b648f | ||
|
|
bf746e4c92 | ||
|
|
eec7f5ff21 | ||
|
|
34f1a80caa | ||
|
|
ae2aa8caff | ||
|
|
bb2703526e | ||
|
|
dc85757d1b | ||
|
|
62f3fce3ea | ||
|
|
f353caad7f | ||
|
|
92ace35f79 | ||
|
|
185f4684ca | ||
|
|
e5036fcbbb | ||
|
|
113f5e1bf7 | ||
|
|
05d0f228aa | ||
|
|
256c7cb873 | ||
|
|
117d8fe6ba | ||
|
|
0ba63ca548 | ||
|
|
ba08bd25a7 | ||
|
|
ee0b5a6150 | ||
|
|
a81a1761b5 | ||
|
|
0fc220baef | ||
|
|
06de1a7e85 | ||
|
|
d56acf99af | ||
|
|
01d8f2815d |
@@ -3,6 +3,10 @@ module.exports = {
|
||||
'@nextcloud',
|
||||
],
|
||||
rules: {
|
||||
'valid-jsdoc': ['off'],
|
||||
'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']
|
||||
},
|
||||
}
|
||||
|
||||
10
.github/dependabot.yml
vendored
10
.github/dependabot.yml
vendored
@@ -39,3 +39,13 @@ updates:
|
||||
versions:
|
||||
- "< 16"
|
||||
- ">= 15.a"
|
||||
- package-ecosystem: github-actions
|
||||
directory: "/"
|
||||
schedule:
|
||||
interval: weekly
|
||||
day: saturday
|
||||
time: "03:00"
|
||||
timezone: Europe/Paris
|
||||
open-pull-requests-limit: 10
|
||||
reviewers:
|
||||
- juliushaertl
|
||||
|
||||
25
.github/stale.yml
vendored
25
.github/stale.yml
vendored
@@ -1,25 +0,0 @@
|
||||
# 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.
|
||||
6
.github/workflows/appbuild.yml
vendored
6
.github/workflows/appbuild.yml
vendored
@@ -12,15 +12,15 @@ jobs:
|
||||
node-version: [14.x]
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v1
|
||||
- uses: actions/checkout@v2.4.0
|
||||
- name: Use Node.js ${{ matrix.node-version }}
|
||||
uses: actions/setup-node@v1
|
||||
uses: actions/setup-node@v2.5.0
|
||||
with:
|
||||
node-version: ${{ matrix.node-version }}
|
||||
- name: Set up npm7
|
||||
run: npm i -g npm@7
|
||||
- name: Setup PHP
|
||||
uses: shivammathur/setup-php@v1
|
||||
uses: shivammathur/setup-php@2.16.0
|
||||
with:
|
||||
php-version: '7.4'
|
||||
tools: composer
|
||||
|
||||
151
.github/workflows/appstore-build-publish.yml
vendored
151
.github/workflows/appstore-build-publish.yml
vendored
@@ -1,151 +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: Build and publish app release
|
||||
|
||||
on:
|
||||
release:
|
||||
types: [published]
|
||||
|
||||
env:
|
||||
PHP_VERSION: 7.4
|
||||
|
||||
jobs:
|
||||
build_and_publish:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
# Only allowed to be run on nextcloud-releases repositories
|
||||
if: ${{ github.repository_owner == 'nextcloud-releases' }}
|
||||
|
||||
steps:
|
||||
- name: Check actor permission
|
||||
uses: skjnldsv/check-actor-permission@v2
|
||||
with:
|
||||
require: write
|
||||
|
||||
- name: Set app env
|
||||
run: |
|
||||
# Split and keep last
|
||||
echo "APP_NAME=${GITHUB_REPOSITORY##*/}" >> $GITHUB_ENV
|
||||
echo "APP_VERSION=${GITHUB_REF##*/}" >> $GITHUB_ENV
|
||||
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
path: ${{ env.APP_NAME }}
|
||||
|
||||
- name: Get appinfo data
|
||||
id: appinfo
|
||||
uses: skjnldsv/xpath-action@master
|
||||
with:
|
||||
filename: ${{ env.APP_NAME }}/appinfo/info.xml
|
||||
expression: "//info//dependencies//nextcloud/@min-version"
|
||||
|
||||
- name: Read package.json node and npm engines version
|
||||
uses: skjnldsv/read-package-engines-version-actions@v1.2
|
||||
id: versions
|
||||
# Continue if no package.json
|
||||
continue-on-error: true
|
||||
with:
|
||||
path: ${{ env.APP_NAME }}
|
||||
fallbackNode: "^12"
|
||||
fallbackNpm: "^6"
|
||||
|
||||
- name: Set up node ${{ steps.versions.outputs.nodeVersion }}
|
||||
# Skip if no package.json
|
||||
if: ${{ steps.versions.outputs.nodeVersion }}
|
||||
uses: actions/setup-node@v3
|
||||
with:
|
||||
node-version: ${{ steps.versions.outputs.nodeVersion }}
|
||||
|
||||
- name: Set up npm ${{ steps.versions.outputs.npmVersion }}
|
||||
# Skip if no package.json
|
||||
if: ${{ steps.versions.outputs.npmVersion }}
|
||||
run: npm i -g npm@"${{ steps.versions.outputs.npmVersion }}"
|
||||
|
||||
- name: Set up php ${{ env.PHP_VERSION }}
|
||||
uses: shivammathur/setup-php@v2
|
||||
with:
|
||||
php-version: ${{ env.PHP_VERSION }}
|
||||
coverage: none
|
||||
|
||||
- name: Check composer.json
|
||||
id: check_composer
|
||||
uses: andstor/file-existence-action@v1
|
||||
with:
|
||||
files: "${{ env.APP_NAME }}/composer.json"
|
||||
|
||||
- name: Install composer dependencies
|
||||
if: steps.check_composer.outputs.files_exists == 'true'
|
||||
run: |
|
||||
cd ${{ env.APP_NAME }}
|
||||
composer install --no-dev
|
||||
|
||||
- name: Build ${{ env.APP_NAME }}
|
||||
# Skip if no package.json
|
||||
if: ${{ steps.versions.outputs.nodeVersion }}
|
||||
run: |
|
||||
cd ${{ env.APP_NAME }}
|
||||
npm ci
|
||||
npm run build
|
||||
|
||||
- name: Install Krankerl
|
||||
run: |
|
||||
wget https://github.com/ChristophWurst/krankerl/releases/download/v0.13.0/krankerl_0.13.0_amd64.deb
|
||||
sudo dpkg -i krankerl_0.13.0_amd64.deb
|
||||
|
||||
- name: Package ${{ env.APP_NAME }} ${{ env.APP_VERSION }}
|
||||
# Try krankerl, fallback to makefile
|
||||
run: |
|
||||
cd ${{ env.APP_NAME }}
|
||||
krankerl package || make appstore
|
||||
|
||||
- name: Checkout server ${{ fromJSON(steps.appinfo.outputs.result).nextcloud.min-version }}
|
||||
continue-on-error: true
|
||||
id: server-checkout
|
||||
run: |
|
||||
NCVERSION=${{ fromJSON(steps.appinfo.outputs.result).nextcloud.min-version }}
|
||||
wget --quiet https://download.nextcloud.com/server/releases/latest-$NCVERSION.zip
|
||||
unzip latest-$NCVERSION.zip
|
||||
|
||||
- name: Checkout server master fallback
|
||||
uses: actions/checkout@v3
|
||||
if: ${{ steps.server-checkout.outcome != 'success' }}
|
||||
with:
|
||||
repository: nextcloud/server
|
||||
path: nextcloud
|
||||
|
||||
- name: Sign app
|
||||
run: |
|
||||
# Extracting release
|
||||
cd ${{ env.APP_NAME }}/build/artifacts
|
||||
tar -xvf ${{ env.APP_NAME }}.tar.gz
|
||||
cd ../../../
|
||||
# Setting up keys
|
||||
echo "${{ secrets.APP_PRIVATE_KEY }}" > ${{ env.APP_NAME }}.key
|
||||
wget --quiet "https://github.com/nextcloud/app-certificate-requests/raw/master/${{ env.APP_NAME }}/${{ env.APP_NAME }}.crt"
|
||||
# Signing
|
||||
php nextcloud/occ integrity:sign-app --privateKey=../${{ env.APP_NAME }}.key --certificate=../${{ env.APP_NAME }}.crt --path=../${{ env.APP_NAME }}/build/artifacts/${{ env.APP_NAME }}
|
||||
# Rebuilding archive
|
||||
cd ${{ env.APP_NAME }}/build/artifacts
|
||||
tar -zcvf ${{ env.APP_NAME }}.tar.gz ${{ env.APP_NAME }}
|
||||
|
||||
- name: Attach tarball to github release
|
||||
uses: svenstaro/upload-release-action@v2
|
||||
id: attach_to_release
|
||||
with:
|
||||
repo_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
file: ${{ env.APP_NAME }}/build/artifacts/${{ env.APP_NAME }}.tar.gz
|
||||
asset_name: ${{ env.APP_NAME }}-${{ env.APP_VERSION }}.tar.gz
|
||||
tag: ${{ github.ref }}
|
||||
overwrite: true
|
||||
|
||||
- name: Upload app to Nextcloud appstore
|
||||
uses: nextcloud-releases/nextcloud-appstore-push-action@v1
|
||||
with:
|
||||
app_name: ${{ env.APP_NAME }}
|
||||
appstore_token: ${{ secrets.APPSTORE_TOKEN }}
|
||||
download_url: ${{ steps.attach_to_release.outputs.browser_download_url }}
|
||||
app_private_key: ${{ secrets.APP_PRIVATE_KEY }}
|
||||
46
.github/workflows/command-rebase.yml
vendored
Normal file
46
.github/workflows/command-rebase.yml
vendored
Normal file
@@ -0,0 +1,46 @@
|
||||
# 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@v1
|
||||
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@v2.4.0
|
||||
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@v1
|
||||
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
Normal file
29
.github/workflows/dependabot-approve-merge.yml
vendored
Normal file
@@ -0,0 +1,29 @@
|
||||
# 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: patch
|
||||
github-token: ${{ secrets.DEPENDABOT_AUTOMERGE_TOKEN }}
|
||||
20
.github/workflows/fixup.yml
vendored
Normal file
20
.github/workflows/fixup.yml
vendored
Normal file
@@ -0,0 +1,20 @@
|
||||
# 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 }}
|
||||
8
.github/workflows/integration.yml
vendored
8
.github/workflows/integration.yml
vendored
@@ -19,7 +19,7 @@ jobs:
|
||||
matrix:
|
||||
php-versions: ['7.4']
|
||||
databases: ['sqlite', 'mysql', 'pgsql']
|
||||
server-versions: ['stable22']
|
||||
server-versions: ['master']
|
||||
|
||||
name: php${{ matrix.php-versions }}-${{ matrix.databases }}-${{ matrix.server-versions }}
|
||||
|
||||
@@ -43,7 +43,7 @@ jobs:
|
||||
|
||||
steps:
|
||||
- name: Checkout server
|
||||
uses: actions/checkout@v2
|
||||
uses: actions/checkout@v2.4.0
|
||||
with:
|
||||
repository: nextcloud/server
|
||||
ref: ${{ matrix.server-versions }}
|
||||
@@ -56,12 +56,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@v2
|
||||
uses: actions/checkout@v2.4.0
|
||||
with:
|
||||
path: apps/${{ env.APP_NAME }}
|
||||
|
||||
- name: Set up php ${{ matrix.php-versions }}
|
||||
uses: shivammathur/setup-php@v2
|
||||
uses: shivammathur/setup-php@2.16.0
|
||||
with:
|
||||
php-version: ${{ matrix.php-versions }}
|
||||
tools: phpunit
|
||||
|
||||
24
.github/workflows/lint.yml
vendored
24
.github/workflows/lint.yml
vendored
@@ -17,9 +17,9 @@ jobs:
|
||||
|
||||
name: php${{ matrix.php-versions }} lint
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/checkout@v2.4.0
|
||||
- name: Set up php${{ matrix.php-versions }}
|
||||
uses: shivammathur/setup-php@v1
|
||||
uses: shivammathur/setup-php@2.16.0
|
||||
with:
|
||||
php-version: ${{ matrix.php-versions }}
|
||||
coverage: none
|
||||
@@ -31,9 +31,9 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@master
|
||||
uses: actions/checkout@v2.4.0
|
||||
- name: Set up php
|
||||
uses: shivammathur/setup-php@master
|
||||
uses: shivammathur/setup-php@2.16.0
|
||||
with:
|
||||
php-version: 7.4
|
||||
coverage: none
|
||||
@@ -50,9 +50,9 @@ jobs:
|
||||
node-version: [14.x]
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/checkout@v2.4.0
|
||||
- name: Use node ${{ matrix.node-version }}
|
||||
uses: actions/setup-node@v1
|
||||
uses: actions/setup-node@v2.5.0
|
||||
with:
|
||||
node-version: ${{ matrix.node-version }}
|
||||
- name: Set up npm7
|
||||
@@ -67,16 +67,16 @@ jobs:
|
||||
|
||||
strategy:
|
||||
matrix:
|
||||
node-versions: [14.x]
|
||||
node-version: [14.x]
|
||||
|
||||
name: stylelint node${{ matrix.node-versions }}
|
||||
name: stylelint node${{ matrix.node-version }}
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/checkout@v2.4.0
|
||||
|
||||
- name: Set up node ${{ matrix.node-versions }}
|
||||
uses: actions/setup-node@v1
|
||||
- name: Set up node ${{ matrix.node-version }}
|
||||
uses: actions/setup-node@v2.5.0
|
||||
with:
|
||||
node-versions: ${{ matrix.node-versions }}
|
||||
node-version: ${{ matrix.node-version }}
|
||||
|
||||
- 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@v1
|
||||
- uses: actions/checkout@v2.4.0
|
||||
- name: Use Node.js ${{ matrix.node-version }}
|
||||
uses: actions/setup-node@v1
|
||||
uses: actions/setup-node@v2.5.0
|
||||
with:
|
||||
node-version: ${{ matrix.node-version }}
|
||||
- name: Set up npm7
|
||||
run: npm i -g npm@7
|
||||
- name: Setup PHP
|
||||
uses: shivammathur/setup-php@v1
|
||||
uses: shivammathur/setup-php@2.16.0
|
||||
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@v1
|
||||
- uses: actions/checkout@v2.4.0
|
||||
- name: Use Node.js ${{ matrix.node-version }}
|
||||
uses: actions/setup-node@v1
|
||||
uses: actions/setup-node@v2.5.0
|
||||
with:
|
||||
node-version: ${{ matrix.node-version }}
|
||||
- name: Set up npm7
|
||||
|
||||
8
.github/workflows/phpunit.yml
vendored
8
.github/workflows/phpunit.yml
vendored
@@ -20,7 +20,7 @@ jobs:
|
||||
matrix:
|
||||
php-versions: ['7.3', '7.4']
|
||||
databases: ['sqlite', 'mysql', 'pgsql']
|
||||
server-versions: ['stable22']
|
||||
server-versions: ['master']
|
||||
|
||||
name: php${{ matrix.php-versions }}-${{ matrix.databases }}-${{ matrix.server-versions }}
|
||||
|
||||
@@ -44,7 +44,7 @@ jobs:
|
||||
|
||||
steps:
|
||||
- name: Checkout server
|
||||
uses: actions/checkout@v2
|
||||
uses: actions/checkout@v2.4.0
|
||||
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@v2
|
||||
uses: actions/checkout@v2.4.0
|
||||
with:
|
||||
path: apps/${{ env.APP_NAME }}
|
||||
|
||||
- name: Set up php ${{ matrix.php-versions }}
|
||||
uses: shivammathur/setup-php@v2
|
||||
uses: shivammathur/setup-php@2.16.0
|
||||
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-stable22' ]
|
||||
ocp-version: [ 'dev-master' ]
|
||||
name: Nextcloud ${{ matrix.ocp-version }}
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@master
|
||||
uses: actions/checkout@v2.4.0
|
||||
- name: Set up php
|
||||
uses: shivammathur/setup-php@master
|
||||
uses: shivammathur/setup-php@2.16.0
|
||||
with:
|
||||
php-version: 7.4
|
||||
tools: composer:v1
|
||||
|
||||
137
CHANGELOG.md
137
CHANGELOG.md
@@ -1,91 +1,38 @@
|
||||
# Changelog
|
||||
All notable changes to this project will be documented in this file.
|
||||
|
||||
## 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
|
||||
## 1.6.0-beta1
|
||||
|
||||
### Added
|
||||
|
||||
* 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
|
||||
- #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
|
||||
|
||||
### Fixed
|
||||
|
||||
* [#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
|
||||
|
||||
- #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
|
||||
|
||||
|
||||
## 1.4.0 - 2021-04-13
|
||||
@@ -122,15 +69,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
|
||||
* [#2701](https://github.com/nextcloud/deck/pull/2701) Fix uploading files by drag and drop
|
||||
* [#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
|
||||
* [#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
|
||||
* [#2716](https://github.com/nextcloud/deck/pull/2716) Remove repair step which is no longer needed as we cleanup properly @juliushaertl
|
||||
* [#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
|
||||
* [#2751](https://github.com/nextcloud/deck/pull/2751) Properly set author for activity events that are triggered by cron @juliushaertl
|
||||
|
||||
|
||||
## 1.2.2 - 2020-11-24
|
||||
@@ -239,31 +186,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
|
||||
* [#2118](https://github.com/nextcloud/deck/pull/2118) Use proper parameter when handling attachments
|
||||
* [#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
|
||||
|
||||
## 1.0.4 - 2020-06-26
|
||||
|
||||
### Fixed
|
||||
|
||||
* [#2062](https://github.com/nextcloud/deck/pull/2062) Fix saving card description after toggling checkboxes
|
||||
* [#2062](https://github.com/nextcloud/deck/pull/2062) Fix saving card description after toggling checkboxes @juliushaertl
|
||||
* [#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
|
||||
* [#2060](https://github.com/nextcloud/deck/pull/2060) Use mixing for relative date in card sidebar
|
||||
* [#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
|
||||
|
||||
|
||||
## 1.0.3 - 2020-06-19
|
||||
|
||||
### Fixed
|
||||
|
||||
* [#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
|
||||
* [#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
|
||||
* [#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
|
||||
* [#2045](https://github.com/nextcloud/deck/pull/2045) Improve label styling
|
||||
* [#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
|
||||
* [#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,7 +25,8 @@ 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.5.6</version>
|
||||
<version>1.7.0-alpha1</version>
|
||||
<licence>agpl</licence>
|
||||
<author>Julius Härtl</author>
|
||||
<namespace>Deck</namespace>
|
||||
@@ -34,8 +34,8 @@
|
||||
<php min-version="7.3"/>
|
||||
<database min-version="9.4">pgsql</database>
|
||||
<database>sqlite</database>
|
||||
<database min-version="5.5">mysql</database>
|
||||
<nextcloud min-version="22" max-version="22"/>
|
||||
<database min-version="8.0">mysql</database>
|
||||
<nextcloud min-version="24" max-version="24"/>
|
||||
</dependencies>
|
||||
<background-jobs>
|
||||
<job>OCA\Deck\Cron\DeleteCron</job>
|
||||
|
||||
@@ -25,7 +25,6 @@
|
||||
return [
|
||||
'routes' => [
|
||||
['name' => 'page#index', 'url' => '/', 'verb' => 'GET'],
|
||||
['name' => 'page#redirectToCard', 'url' => '/card/{cardId}', 'verb' => 'GET'],
|
||||
|
||||
// boards
|
||||
['name' => 'board#index', 'url' => '/boards', 'verb' => 'GET'],
|
||||
|
||||
330
composer.lock
generated
330
composer.lock
generated
@@ -65,27 +65,27 @@
|
||||
"packages-dev": [
|
||||
{
|
||||
"name": "amphp/amp",
|
||||
"version": "v2.5.2",
|
||||
"version": "v2.6.1",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/amphp/amp.git",
|
||||
"reference": "efca2b32a7580087adb8aabbff6be1dc1bb924a9"
|
||||
"reference": "c5fc66a78ee38d7ac9195a37bacaf940eb3f65ae"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/amphp/amp/zipball/efca2b32a7580087adb8aabbff6be1dc1bb924a9",
|
||||
"reference": "efca2b32a7580087adb8aabbff6be1dc1bb924a9",
|
||||
"url": "https://api.github.com/repos/amphp/amp/zipball/c5fc66a78ee38d7ac9195a37bacaf940eb3f65ae",
|
||||
"reference": "c5fc66a78ee38d7ac9195a37bacaf940eb3f65ae",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": ">=7"
|
||||
"php": ">=7.1"
|
||||
},
|
||||
"require-dev": {
|
||||
"amphp/php-cs-fixer-config": "dev-master",
|
||||
"amphp/phpunit-util": "^1",
|
||||
"ext-json": "*",
|
||||
"jetbrains/phpstorm-stubs": "^2019.3",
|
||||
"phpunit/phpunit": "^6.0.9 | ^7",
|
||||
"phpunit/phpunit": "^7 | ^8 | ^9",
|
||||
"psalm/phar": "^3.11@dev",
|
||||
"react/promise": "^2"
|
||||
},
|
||||
@@ -142,7 +142,7 @@
|
||||
"support": {
|
||||
"irc": "irc://irc.freenode.org/amphp",
|
||||
"issues": "https://github.com/amphp/amp/issues",
|
||||
"source": "https://github.com/amphp/amp/tree/v2.5.2"
|
||||
"source": "https://github.com/amphp/amp/tree/v2.6.1"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@@ -150,7 +150,7 @@
|
||||
"type": "github"
|
||||
}
|
||||
],
|
||||
"time": "2021-01-10T17:06:37+00:00"
|
||||
"time": "2021-09-23T18:43:08+00:00"
|
||||
},
|
||||
{
|
||||
"name": "amphp/byte-stream",
|
||||
@@ -271,16 +271,16 @@
|
||||
},
|
||||
{
|
||||
"name": "composer/package-versions-deprecated",
|
||||
"version": "1.11.99.2",
|
||||
"version": "1.11.99.4",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/composer/package-versions-deprecated.git",
|
||||
"reference": "c6522afe5540d5fc46675043d3ed5a45a740b27c"
|
||||
"reference": "b174585d1fe49ceed21928a945138948cb394600"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/composer/package-versions-deprecated/zipball/c6522afe5540d5fc46675043d3ed5a45a740b27c",
|
||||
"reference": "c6522afe5540d5fc46675043d3ed5a45a740b27c",
|
||||
"url": "https://api.github.com/repos/composer/package-versions-deprecated/zipball/b174585d1fe49ceed21928a945138948cb394600",
|
||||
"reference": "b174585d1fe49ceed21928a945138948cb394600",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -324,7 +324,7 @@
|
||||
"description": "Composer plugin that provides efficient querying for installed package versions (no runtime IO)",
|
||||
"support": {
|
||||
"issues": "https://github.com/composer/package-versions-deprecated/issues",
|
||||
"source": "https://github.com/composer/package-versions-deprecated/tree/1.11.99.2"
|
||||
"source": "https://github.com/composer/package-versions-deprecated/tree/1.11.99.4"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@@ -340,20 +340,20 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2021-05-24T07:46:03+00:00"
|
||||
"time": "2021-09-13T08:41:34+00:00"
|
||||
},
|
||||
{
|
||||
"name": "composer/semver",
|
||||
"version": "3.2.5",
|
||||
"version": "3.2.6",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/composer/semver.git",
|
||||
"reference": "31f3ea725711245195f62e54ffa402d8ef2fdba9"
|
||||
"reference": "83e511e247de329283478496f7a1e114c9517506"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/composer/semver/zipball/31f3ea725711245195f62e54ffa402d8ef2fdba9",
|
||||
"reference": "31f3ea725711245195f62e54ffa402d8ef2fdba9",
|
||||
"url": "https://api.github.com/repos/composer/semver/zipball/83e511e247de329283478496f7a1e114c9517506",
|
||||
"reference": "83e511e247de329283478496f7a1e114c9517506",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -405,7 +405,7 @@
|
||||
"support": {
|
||||
"irc": "irc://irc.freenode.org/composer",
|
||||
"issues": "https://github.com/composer/semver/issues",
|
||||
"source": "https://github.com/composer/semver/tree/3.2.5"
|
||||
"source": "https://github.com/composer/semver/tree/3.2.6"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@@ -421,7 +421,7 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2021-05-24T12:41:47+00:00"
|
||||
"time": "2021-10-25T11:34:17+00:00"
|
||||
},
|
||||
{
|
||||
"name": "composer/xdebug-handler",
|
||||
@@ -750,20 +750,20 @@
|
||||
},
|
||||
{
|
||||
"name": "felixfbecker/advanced-json-rpc",
|
||||
"version": "v3.2.0",
|
||||
"version": "v3.2.1",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/felixfbecker/php-advanced-json-rpc.git",
|
||||
"reference": "06f0b06043c7438959dbdeed8bb3f699a19be22e"
|
||||
"reference": "b5f37dbff9a8ad360ca341f3240dc1c168b45447"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/felixfbecker/php-advanced-json-rpc/zipball/06f0b06043c7438959dbdeed8bb3f699a19be22e",
|
||||
"reference": "06f0b06043c7438959dbdeed8bb3f699a19be22e",
|
||||
"url": "https://api.github.com/repos/felixfbecker/php-advanced-json-rpc/zipball/b5f37dbff9a8ad360ca341f3240dc1c168b45447",
|
||||
"reference": "b5f37dbff9a8ad360ca341f3240dc1c168b45447",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"netresearch/jsonmapper": "^1.0 || ^2.0",
|
||||
"netresearch/jsonmapper": "^1.0 || ^2.0 || ^3.0 || ^4.0",
|
||||
"php": "^7.1 || ^8.0",
|
||||
"phpdocumentor/reflection-docblock": "^4.3.4 || ^5.0.0"
|
||||
},
|
||||
@@ -789,9 +789,9 @@
|
||||
"description": "A more advanced JSONRPC implementation",
|
||||
"support": {
|
||||
"issues": "https://github.com/felixfbecker/php-advanced-json-rpc/issues",
|
||||
"source": "https://github.com/felixfbecker/php-advanced-json-rpc/tree/v3.2.0"
|
||||
"source": "https://github.com/felixfbecker/php-advanced-json-rpc/tree/v3.2.1"
|
||||
},
|
||||
"time": "2021-01-10T17:48:47+00:00"
|
||||
"time": "2021-06-11T22:34:44+00:00"
|
||||
},
|
||||
{
|
||||
"name": "felixfbecker/language-server-protocol",
|
||||
@@ -1012,16 +1012,16 @@
|
||||
},
|
||||
{
|
||||
"name": "netresearch/jsonmapper",
|
||||
"version": "v2.1.0",
|
||||
"version": "v4.0.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/cweiske/jsonmapper.git",
|
||||
"reference": "e0f1e33a71587aca81be5cffbb9746510e1fe04e"
|
||||
"reference": "8bbc021a8edb2e4a7ea2f8ad4fa9ec9dce2fcb8d"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/cweiske/jsonmapper/zipball/e0f1e33a71587aca81be5cffbb9746510e1fe04e",
|
||||
"reference": "e0f1e33a71587aca81be5cffbb9746510e1fe04e",
|
||||
"url": "https://api.github.com/repos/cweiske/jsonmapper/zipball/8bbc021a8edb2e4a7ea2f8ad4fa9ec9dce2fcb8d",
|
||||
"reference": "8bbc021a8edb2e4a7ea2f8ad4fa9ec9dce2fcb8d",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -1029,10 +1029,10 @@
|
||||
"ext-pcre": "*",
|
||||
"ext-reflection": "*",
|
||||
"ext-spl": "*",
|
||||
"php": ">=5.6"
|
||||
"php": ">=7.1"
|
||||
},
|
||||
"require-dev": {
|
||||
"phpunit/phpunit": "~4.8.35 || ~5.7 || ~6.4 || ~7.0",
|
||||
"phpunit/phpunit": "~7.5 || ~8.0 || ~9.0",
|
||||
"squizlabs/php_codesniffer": "~3.5"
|
||||
},
|
||||
"type": "library",
|
||||
@@ -1057,9 +1057,9 @@
|
||||
"support": {
|
||||
"email": "cweiske@cweiske.de",
|
||||
"issues": "https://github.com/cweiske/jsonmapper/issues",
|
||||
"source": "https://github.com/cweiske/jsonmapper/tree/master"
|
||||
"source": "https://github.com/cweiske/jsonmapper/tree/v4.0.0"
|
||||
},
|
||||
"time": "2020-04-16T18:48:43+00:00"
|
||||
"time": "2020-12-01T19:48:11+00:00"
|
||||
},
|
||||
{
|
||||
"name": "nextcloud/coding-standard",
|
||||
@@ -1104,16 +1104,16 @@
|
||||
},
|
||||
{
|
||||
"name": "nikic/php-parser",
|
||||
"version": "v4.10.5",
|
||||
"version": "v4.13.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/nikic/PHP-Parser.git",
|
||||
"reference": "4432ba399e47c66624bc73c8c0f811e5c109576f"
|
||||
"reference": "50953a2691a922aa1769461637869a0a2faa3f53"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/4432ba399e47c66624bc73c8c0f811e5c109576f",
|
||||
"reference": "4432ba399e47c66624bc73c8c0f811e5c109576f",
|
||||
"url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/50953a2691a922aa1769461637869a0a2faa3f53",
|
||||
"reference": "50953a2691a922aa1769461637869a0a2faa3f53",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -1154,9 +1154,9 @@
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/nikic/PHP-Parser/issues",
|
||||
"source": "https://github.com/nikic/PHP-Parser/tree/v4.10.5"
|
||||
"source": "https://github.com/nikic/PHP-Parser/tree/v4.13.0"
|
||||
},
|
||||
"time": "2021-05-03T19:11:20+00:00"
|
||||
"time": "2021-09-20T12:20:58+00:00"
|
||||
},
|
||||
{
|
||||
"name": "openlss/lib-array2xml",
|
||||
@@ -1213,16 +1213,16 @@
|
||||
},
|
||||
{
|
||||
"name": "phar-io/manifest",
|
||||
"version": "2.0.1",
|
||||
"version": "2.0.3",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/phar-io/manifest.git",
|
||||
"reference": "85265efd3af7ba3ca4b2a2c34dbfc5788dd29133"
|
||||
"reference": "97803eca37d319dfa7826cc2437fc020857acb53"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/phar-io/manifest/zipball/85265efd3af7ba3ca4b2a2c34dbfc5788dd29133",
|
||||
"reference": "85265efd3af7ba3ca4b2a2c34dbfc5788dd29133",
|
||||
"url": "https://api.github.com/repos/phar-io/manifest/zipball/97803eca37d319dfa7826cc2437fc020857acb53",
|
||||
"reference": "97803eca37d319dfa7826cc2437fc020857acb53",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -1267,9 +1267,9 @@
|
||||
"description": "Component for reading phar.io manifest information from a PHP Archive (PHAR)",
|
||||
"support": {
|
||||
"issues": "https://github.com/phar-io/manifest/issues",
|
||||
"source": "https://github.com/phar-io/manifest/tree/master"
|
||||
"source": "https://github.com/phar-io/manifest/tree/2.0.3"
|
||||
},
|
||||
"time": "2020-06-27T14:33:11+00:00"
|
||||
"time": "2021-07-20T11:28:43+00:00"
|
||||
},
|
||||
{
|
||||
"name": "phar-io/version",
|
||||
@@ -1379,16 +1379,16 @@
|
||||
},
|
||||
{
|
||||
"name": "php-parallel-lint/php-parallel-lint",
|
||||
"version": "v1.3.0",
|
||||
"version": "v1.3.1",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/php-parallel-lint/PHP-Parallel-Lint.git",
|
||||
"reference": "772a954e5f119f6f5871d015b23eabed8cbdadfb"
|
||||
"reference": "761f3806e30239b5fcd90a0a45d41dc2138de192"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/php-parallel-lint/PHP-Parallel-Lint/zipball/772a954e5f119f6f5871d015b23eabed8cbdadfb",
|
||||
"reference": "772a954e5f119f6f5871d015b23eabed8cbdadfb",
|
||||
"url": "https://api.github.com/repos/php-parallel-lint/PHP-Parallel-Lint/zipball/761f3806e30239b5fcd90a0a45d41dc2138de192",
|
||||
"reference": "761f3806e30239b5fcd90a0a45d41dc2138de192",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -1402,7 +1402,7 @@
|
||||
"require-dev": {
|
||||
"nette/tester": "^1.3 || ^2.0",
|
||||
"php-parallel-lint/php-console-highlighter": "~0.3",
|
||||
"squizlabs/php_codesniffer": "^3.5"
|
||||
"squizlabs/php_codesniffer": "^3.6"
|
||||
},
|
||||
"suggest": {
|
||||
"php-parallel-lint/php-console-highlighter": "Highlight syntax in code snippet"
|
||||
@@ -1430,9 +1430,9 @@
|
||||
"homepage": "https://github.com/php-parallel-lint/PHP-Parallel-Lint",
|
||||
"support": {
|
||||
"issues": "https://github.com/php-parallel-lint/PHP-Parallel-Lint/issues",
|
||||
"source": "https://github.com/php-parallel-lint/PHP-Parallel-Lint/tree/v1.3.0"
|
||||
"source": "https://github.com/php-parallel-lint/PHP-Parallel-Lint/tree/v1.3.1"
|
||||
},
|
||||
"time": "2021-04-07T14:42:48+00:00"
|
||||
"time": "2021-08-13T05:35:13+00:00"
|
||||
},
|
||||
{
|
||||
"name": "phpdocumentor/reflection-common",
|
||||
@@ -1489,16 +1489,16 @@
|
||||
},
|
||||
{
|
||||
"name": "phpdocumentor/reflection-docblock",
|
||||
"version": "5.2.2",
|
||||
"version": "5.3.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/phpDocumentor/ReflectionDocBlock.git",
|
||||
"reference": "069a785b2141f5bcf49f3e353548dc1cce6df556"
|
||||
"reference": "622548b623e81ca6d78b721c5e029f4ce664f170"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/069a785b2141f5bcf49f3e353548dc1cce6df556",
|
||||
"reference": "069a785b2141f5bcf49f3e353548dc1cce6df556",
|
||||
"url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/622548b623e81ca6d78b721c5e029f4ce664f170",
|
||||
"reference": "622548b623e81ca6d78b721c5e029f4ce664f170",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -1509,7 +1509,8 @@
|
||||
"webmozart/assert": "^1.9.1"
|
||||
},
|
||||
"require-dev": {
|
||||
"mockery/mockery": "~1.3.2"
|
||||
"mockery/mockery": "~1.3.2",
|
||||
"psalm/phar": "^4.8"
|
||||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
@@ -1539,22 +1540,22 @@
|
||||
"description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.",
|
||||
"support": {
|
||||
"issues": "https://github.com/phpDocumentor/ReflectionDocBlock/issues",
|
||||
"source": "https://github.com/phpDocumentor/ReflectionDocBlock/tree/master"
|
||||
"source": "https://github.com/phpDocumentor/ReflectionDocBlock/tree/5.3.0"
|
||||
},
|
||||
"time": "2020-09-03T19:13:55+00:00"
|
||||
"time": "2021-10-19T17:43:47+00:00"
|
||||
},
|
||||
{
|
||||
"name": "phpdocumentor/type-resolver",
|
||||
"version": "1.4.0",
|
||||
"version": "1.5.1",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/phpDocumentor/TypeResolver.git",
|
||||
"reference": "6a467b8989322d92aa1c8bf2bebcc6e5c2ba55c0"
|
||||
"reference": "a12f7e301eb7258bb68acd89d4aefa05c2906cae"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/6a467b8989322d92aa1c8bf2bebcc6e5c2ba55c0",
|
||||
"reference": "6a467b8989322d92aa1c8bf2bebcc6e5c2ba55c0",
|
||||
"url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/a12f7e301eb7258bb68acd89d4aefa05c2906cae",
|
||||
"reference": "a12f7e301eb7258bb68acd89d4aefa05c2906cae",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -1562,7 +1563,8 @@
|
||||
"phpdocumentor/reflection-common": "^2.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"ext-tokenizer": "*"
|
||||
"ext-tokenizer": "*",
|
||||
"psalm/phar": "^4.8"
|
||||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
@@ -1588,39 +1590,39 @@
|
||||
"description": "A PSR-5 based resolver of Class names, Types and Structural Element Names",
|
||||
"support": {
|
||||
"issues": "https://github.com/phpDocumentor/TypeResolver/issues",
|
||||
"source": "https://github.com/phpDocumentor/TypeResolver/tree/1.4.0"
|
||||
"source": "https://github.com/phpDocumentor/TypeResolver/tree/1.5.1"
|
||||
},
|
||||
"time": "2020-09-17T18:55:26+00:00"
|
||||
"time": "2021-10-02T14:08:47+00:00"
|
||||
},
|
||||
{
|
||||
"name": "phpspec/prophecy",
|
||||
"version": "1.13.0",
|
||||
"version": "1.14.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/phpspec/prophecy.git",
|
||||
"reference": "be1996ed8adc35c3fd795488a653f4b518be70ea"
|
||||
"reference": "d86dfc2e2a3cd366cee475e52c6bb3bbc371aa0e"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/phpspec/prophecy/zipball/be1996ed8adc35c3fd795488a653f4b518be70ea",
|
||||
"reference": "be1996ed8adc35c3fd795488a653f4b518be70ea",
|
||||
"url": "https://api.github.com/repos/phpspec/prophecy/zipball/d86dfc2e2a3cd366cee475e52c6bb3bbc371aa0e",
|
||||
"reference": "d86dfc2e2a3cd366cee475e52c6bb3bbc371aa0e",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"doctrine/instantiator": "^1.2",
|
||||
"php": "^7.2 || ~8.0, <8.1",
|
||||
"php": "^7.2 || ~8.0, <8.2",
|
||||
"phpdocumentor/reflection-docblock": "^5.2",
|
||||
"sebastian/comparator": "^3.0 || ^4.0",
|
||||
"sebastian/recursion-context": "^3.0 || ^4.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"phpspec/phpspec": "^6.0",
|
||||
"phpspec/phpspec": "^6.0 || ^7.0",
|
||||
"phpunit/phpunit": "^8.0 || ^9.0"
|
||||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-master": "1.11.x-dev"
|
||||
"dev-master": "1.x-dev"
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
@@ -1655,29 +1657,29 @@
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/phpspec/prophecy/issues",
|
||||
"source": "https://github.com/phpspec/prophecy/tree/1.13.0"
|
||||
"source": "https://github.com/phpspec/prophecy/tree/1.14.0"
|
||||
},
|
||||
"time": "2021-03-17T13:42:18+00:00"
|
||||
"time": "2021-09-10T09:02:12+00:00"
|
||||
},
|
||||
{
|
||||
"name": "phpunit/php-code-coverage",
|
||||
"version": "9.2.6",
|
||||
"version": "9.2.7",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/sebastianbergmann/php-code-coverage.git",
|
||||
"reference": "f6293e1b30a2354e8428e004689671b83871edde"
|
||||
"reference": "d4c798ed8d51506800b441f7a13ecb0f76f12218"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/f6293e1b30a2354e8428e004689671b83871edde",
|
||||
"reference": "f6293e1b30a2354e8428e004689671b83871edde",
|
||||
"url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/d4c798ed8d51506800b441f7a13ecb0f76f12218",
|
||||
"reference": "d4c798ed8d51506800b441f7a13ecb0f76f12218",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"ext-dom": "*",
|
||||
"ext-libxml": "*",
|
||||
"ext-xmlwriter": "*",
|
||||
"nikic/php-parser": "^4.10.2",
|
||||
"nikic/php-parser": "^4.12.0",
|
||||
"php": ">=7.3",
|
||||
"phpunit/php-file-iterator": "^3.0.3",
|
||||
"phpunit/php-text-template": "^2.0.2",
|
||||
@@ -1726,7 +1728,7 @@
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/sebastianbergmann/php-code-coverage/issues",
|
||||
"source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.6"
|
||||
"source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.7"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@@ -1734,7 +1736,7 @@
|
||||
"type": "github"
|
||||
}
|
||||
],
|
||||
"time": "2021-03-28T07:26:59+00:00"
|
||||
"time": "2021-09-17T05:39:03+00:00"
|
||||
},
|
||||
{
|
||||
"name": "phpunit/php-file-iterator",
|
||||
@@ -1979,16 +1981,16 @@
|
||||
},
|
||||
{
|
||||
"name": "phpunit/phpunit",
|
||||
"version": "9.5.5",
|
||||
"version": "9.5.10",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/sebastianbergmann/phpunit.git",
|
||||
"reference": "89ff45ea9d70e35522fb6654a2ebc221158de276"
|
||||
"reference": "c814a05837f2edb0d1471d6e3f4ab3501ca3899a"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/89ff45ea9d70e35522fb6654a2ebc221158de276",
|
||||
"reference": "89ff45ea9d70e35522fb6654a2ebc221158de276",
|
||||
"url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/c814a05837f2edb0d1471d6e3f4ab3501ca3899a",
|
||||
"reference": "c814a05837f2edb0d1471d6e3f4ab3501ca3899a",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -2000,11 +2002,11 @@
|
||||
"ext-xml": "*",
|
||||
"ext-xmlwriter": "*",
|
||||
"myclabs/deep-copy": "^1.10.1",
|
||||
"phar-io/manifest": "^2.0.1",
|
||||
"phar-io/manifest": "^2.0.3",
|
||||
"phar-io/version": "^3.0.2",
|
||||
"php": ">=7.3",
|
||||
"phpspec/prophecy": "^1.12.1",
|
||||
"phpunit/php-code-coverage": "^9.2.3",
|
||||
"phpunit/php-code-coverage": "^9.2.7",
|
||||
"phpunit/php-file-iterator": "^3.0.5",
|
||||
"phpunit/php-invoker": "^3.1.1",
|
||||
"phpunit/php-text-template": "^2.0.3",
|
||||
@@ -2018,7 +2020,7 @@
|
||||
"sebastian/global-state": "^5.0.1",
|
||||
"sebastian/object-enumerator": "^4.0.3",
|
||||
"sebastian/resource-operations": "^3.0.3",
|
||||
"sebastian/type": "^2.3.2",
|
||||
"sebastian/type": "^2.3.4",
|
||||
"sebastian/version": "^3.0.2"
|
||||
},
|
||||
"require-dev": {
|
||||
@@ -2066,7 +2068,7 @@
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/sebastianbergmann/phpunit/issues",
|
||||
"source": "https://github.com/sebastianbergmann/phpunit/tree/9.5.5"
|
||||
"source": "https://github.com/sebastianbergmann/phpunit/tree/9.5.10"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@@ -2078,7 +2080,7 @@
|
||||
"type": "github"
|
||||
}
|
||||
],
|
||||
"time": "2021-06-05T04:49:07+00:00"
|
||||
"time": "2021-09-25T07:38:51+00:00"
|
||||
},
|
||||
{
|
||||
"name": "psr/container",
|
||||
@@ -3360,16 +3362,16 @@
|
||||
},
|
||||
{
|
||||
"name": "sebastian/type",
|
||||
"version": "2.3.2",
|
||||
"version": "2.3.4",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/sebastianbergmann/type.git",
|
||||
"reference": "0d1c587401514d17e8f9258a27e23527cb1b06c1"
|
||||
"reference": "b8cd8a1c753c90bc1a0f5372170e3e489136f914"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/sebastianbergmann/type/zipball/0d1c587401514d17e8f9258a27e23527cb1b06c1",
|
||||
"reference": "0d1c587401514d17e8f9258a27e23527cb1b06c1",
|
||||
"url": "https://api.github.com/repos/sebastianbergmann/type/zipball/b8cd8a1c753c90bc1a0f5372170e3e489136f914",
|
||||
"reference": "b8cd8a1c753c90bc1a0f5372170e3e489136f914",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -3404,7 +3406,7 @@
|
||||
"homepage": "https://github.com/sebastianbergmann/type",
|
||||
"support": {
|
||||
"issues": "https://github.com/sebastianbergmann/type/issues",
|
||||
"source": "https://github.com/sebastianbergmann/type/tree/2.3.2"
|
||||
"source": "https://github.com/sebastianbergmann/type/tree/2.3.4"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@@ -3412,7 +3414,7 @@
|
||||
"type": "github"
|
||||
}
|
||||
],
|
||||
"time": "2021-06-04T13:02:07+00:00"
|
||||
"time": "2021-06-15T12:49:02+00:00"
|
||||
},
|
||||
{
|
||||
"name": "sebastian/version",
|
||||
@@ -3469,16 +3471,16 @@
|
||||
},
|
||||
{
|
||||
"name": "symfony/console",
|
||||
"version": "v5.3.0",
|
||||
"version": "v5.3.10",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/console.git",
|
||||
"reference": "058553870f7809087fa80fa734704a21b9bcaeb2"
|
||||
"reference": "d4e409d9fbcfbf71af0e5a940abb7b0b4bad0bd3"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/console/zipball/058553870f7809087fa80fa734704a21b9bcaeb2",
|
||||
"reference": "058553870f7809087fa80fa734704a21b9bcaeb2",
|
||||
"url": "https://api.github.com/repos/symfony/console/zipball/d4e409d9fbcfbf71af0e5a940abb7b0b4bad0bd3",
|
||||
"reference": "d4e409d9fbcfbf71af0e5a940abb7b0b4bad0bd3",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -3486,11 +3488,12 @@
|
||||
"symfony/deprecation-contracts": "^2.1",
|
||||
"symfony/polyfill-mbstring": "~1.0",
|
||||
"symfony/polyfill-php73": "^1.8",
|
||||
"symfony/polyfill-php80": "^1.15",
|
||||
"symfony/polyfill-php80": "^1.16",
|
||||
"symfony/service-contracts": "^1.1|^2",
|
||||
"symfony/string": "^5.1"
|
||||
},
|
||||
"conflict": {
|
||||
"psr/log": ">=3",
|
||||
"symfony/dependency-injection": "<4.4",
|
||||
"symfony/dotenv": "<5.1",
|
||||
"symfony/event-dispatcher": "<4.4",
|
||||
@@ -3498,10 +3501,10 @@
|
||||
"symfony/process": "<4.4"
|
||||
},
|
||||
"provide": {
|
||||
"psr/log-implementation": "1.0"
|
||||
"psr/log-implementation": "1.0|2.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"psr/log": "~1.0",
|
||||
"psr/log": "^1|^2",
|
||||
"symfony/config": "^4.4|^5.0",
|
||||
"symfony/dependency-injection": "^4.4|^5.0",
|
||||
"symfony/event-dispatcher": "^4.4|^5.0",
|
||||
@@ -3547,7 +3550,7 @@
|
||||
"terminal"
|
||||
],
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/console/tree/v5.3.0"
|
||||
"source": "https://github.com/symfony/console/tree/v5.3.10"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@@ -3563,7 +3566,7 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2021-05-26T17:43:10+00:00"
|
||||
"time": "2021-10-26T09:30:15+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/deprecation-contracts",
|
||||
@@ -3634,21 +3637,22 @@
|
||||
},
|
||||
{
|
||||
"name": "symfony/event-dispatcher",
|
||||
"version": "v4.4.19",
|
||||
"version": "v4.4.34",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/event-dispatcher.git",
|
||||
"reference": "c352647244bd376bf7d31efbd5401f13f50dad0c"
|
||||
"reference": "1a024b45369c9d55d76b6b8a241bd20c9ea1cbd8"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/c352647244bd376bf7d31efbd5401f13f50dad0c",
|
||||
"reference": "c352647244bd376bf7d31efbd5401f13f50dad0c",
|
||||
"url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/1a024b45369c9d55d76b6b8a241bd20c9ea1cbd8",
|
||||
"reference": "1a024b45369c9d55d76b6b8a241bd20c9ea1cbd8",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": ">=7.1.3",
|
||||
"symfony/event-dispatcher-contracts": "^1.1"
|
||||
"symfony/event-dispatcher-contracts": "^1.1",
|
||||
"symfony/polyfill-php80": "^1.16"
|
||||
},
|
||||
"conflict": {
|
||||
"symfony/dependency-injection": "<3.4"
|
||||
@@ -3658,7 +3662,7 @@
|
||||
"symfony/event-dispatcher-implementation": "1.1"
|
||||
},
|
||||
"require-dev": {
|
||||
"psr/log": "~1.0",
|
||||
"psr/log": "^1|^2|^3",
|
||||
"symfony/config": "^3.4|^4.0|^5.0",
|
||||
"symfony/dependency-injection": "^3.4|^4.0|^5.0",
|
||||
"symfony/error-handler": "~3.4|~4.4",
|
||||
@@ -3697,7 +3701,7 @@
|
||||
"description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them",
|
||||
"homepage": "https://symfony.com",
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/event-dispatcher/tree/v4.4.19"
|
||||
"source": "https://github.com/symfony/event-dispatcher/tree/v4.4.34"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@@ -3713,20 +3717,20 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2021-01-27T09:09:26+00:00"
|
||||
"time": "2021-11-15T14:42:25+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/event-dispatcher-contracts",
|
||||
"version": "v1.1.9",
|
||||
"version": "v1.1.11",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/event-dispatcher-contracts.git",
|
||||
"reference": "84e23fdcd2517bf37aecbd16967e83f0caee25a7"
|
||||
"reference": "01e9a4efac0ee33a05dfdf93b346f62e7d0e998c"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/84e23fdcd2517bf37aecbd16967e83f0caee25a7",
|
||||
"reference": "84e23fdcd2517bf37aecbd16967e83f0caee25a7",
|
||||
"url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/01e9a4efac0ee33a05dfdf93b346f62e7d0e998c",
|
||||
"reference": "01e9a4efac0ee33a05dfdf93b346f62e7d0e998c",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -3739,7 +3743,7 @@
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-master": "1.1-dev"
|
||||
"dev-main": "1.1-dev"
|
||||
},
|
||||
"thanks": {
|
||||
"name": "symfony/contracts",
|
||||
@@ -3776,7 +3780,7 @@
|
||||
"standards"
|
||||
],
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/event-dispatcher-contracts/tree/v1.1.9"
|
||||
"source": "https://github.com/symfony/event-dispatcher-contracts/tree/v1.1.11"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@@ -3792,7 +3796,7 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2020-07-06T13:19:58+00:00"
|
||||
"time": "2021-03-23T15:25:38+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/filesystem",
|
||||
@@ -4067,16 +4071,16 @@
|
||||
},
|
||||
{
|
||||
"name": "symfony/polyfill-intl-grapheme",
|
||||
"version": "v1.23.0",
|
||||
"version": "v1.23.1",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/polyfill-intl-grapheme.git",
|
||||
"reference": "24b72c6baa32c746a4d0840147c9715e42bb68ab"
|
||||
"reference": "16880ba9c5ebe3642d1995ab866db29270b36535"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/24b72c6baa32c746a4d0840147c9715e42bb68ab",
|
||||
"reference": "24b72c6baa32c746a4d0840147c9715e42bb68ab",
|
||||
"url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/16880ba9c5ebe3642d1995ab866db29270b36535",
|
||||
"reference": "16880ba9c5ebe3642d1995ab866db29270b36535",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -4128,7 +4132,7 @@
|
||||
"shim"
|
||||
],
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.23.0"
|
||||
"source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.23.1"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@@ -4144,7 +4148,7 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2021-05-27T09:17:38+00:00"
|
||||
"time": "2021-05-27T12:26:48+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/polyfill-intl-normalizer",
|
||||
@@ -4232,16 +4236,16 @@
|
||||
},
|
||||
{
|
||||
"name": "symfony/polyfill-mbstring",
|
||||
"version": "v1.23.0",
|
||||
"version": "v1.23.1",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/polyfill-mbstring.git",
|
||||
"reference": "2df51500adbaebdc4c38dea4c89a2e131c45c8a1"
|
||||
"reference": "9174a3d80210dca8daa7f31fec659150bbeabfc6"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/2df51500adbaebdc4c38dea4c89a2e131c45c8a1",
|
||||
"reference": "2df51500adbaebdc4c38dea4c89a2e131c45c8a1",
|
||||
"url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/9174a3d80210dca8daa7f31fec659150bbeabfc6",
|
||||
"reference": "9174a3d80210dca8daa7f31fec659150bbeabfc6",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -4292,7 +4296,7 @@
|
||||
"shim"
|
||||
],
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/polyfill-mbstring/tree/v1.23.0"
|
||||
"source": "https://github.com/symfony/polyfill-mbstring/tree/v1.23.1"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@@ -4308,7 +4312,7 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2021-05-27T09:27:20+00:00"
|
||||
"time": "2021-05-27T12:26:48+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/polyfill-php70",
|
||||
@@ -4535,16 +4539,16 @@
|
||||
},
|
||||
{
|
||||
"name": "symfony/polyfill-php80",
|
||||
"version": "v1.23.0",
|
||||
"version": "v1.23.1",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/polyfill-php80.git",
|
||||
"reference": "eca0bf41ed421bed1b57c4958bab16aa86b757d0"
|
||||
"reference": "1100343ed1a92e3a38f9ae122fc0eb21602547be"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/eca0bf41ed421bed1b57c4958bab16aa86b757d0",
|
||||
"reference": "eca0bf41ed421bed1b57c4958bab16aa86b757d0",
|
||||
"url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/1100343ed1a92e3a38f9ae122fc0eb21602547be",
|
||||
"reference": "1100343ed1a92e3a38f9ae122fc0eb21602547be",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -4598,7 +4602,7 @@
|
||||
"shim"
|
||||
],
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/polyfill-php80/tree/v1.23.0"
|
||||
"source": "https://github.com/symfony/polyfill-php80/tree/v1.23.1"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@@ -4614,7 +4618,7 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2021-02-19T12:13:01+00:00"
|
||||
"time": "2021-07-28T13:41:28+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/process",
|
||||
@@ -4821,16 +4825,16 @@
|
||||
},
|
||||
{
|
||||
"name": "symfony/string",
|
||||
"version": "v5.3.0",
|
||||
"version": "v5.3.10",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/string.git",
|
||||
"reference": "a9a0f8b6aafc5d2d1c116dcccd1573a95153515b"
|
||||
"reference": "d70c35bb20bbca71fc4ab7921e3c6bda1a82a60c"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/string/zipball/a9a0f8b6aafc5d2d1c116dcccd1573a95153515b",
|
||||
"reference": "a9a0f8b6aafc5d2d1c116dcccd1573a95153515b",
|
||||
"url": "https://api.github.com/repos/symfony/string/zipball/d70c35bb20bbca71fc4ab7921e3c6bda1a82a60c",
|
||||
"reference": "d70c35bb20bbca71fc4ab7921e3c6bda1a82a60c",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -4884,7 +4888,7 @@
|
||||
"utf8"
|
||||
],
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/string/tree/v5.3.0"
|
||||
"source": "https://github.com/symfony/string/tree/v5.3.10"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@@ -4900,20 +4904,20 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2021-05-26T17:43:10+00:00"
|
||||
"time": "2021-10-27T18:21:46+00:00"
|
||||
},
|
||||
{
|
||||
"name": "theseer/tokenizer",
|
||||
"version": "1.2.0",
|
||||
"version": "1.2.1",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/theseer/tokenizer.git",
|
||||
"reference": "75a63c33a8577608444246075ea0af0d052e452a"
|
||||
"reference": "34a41e998c2183e22995f158c581e7b5e755ab9e"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/theseer/tokenizer/zipball/75a63c33a8577608444246075ea0af0d052e452a",
|
||||
"reference": "75a63c33a8577608444246075ea0af0d052e452a",
|
||||
"url": "https://api.github.com/repos/theseer/tokenizer/zipball/34a41e998c2183e22995f158c581e7b5e755ab9e",
|
||||
"reference": "34a41e998c2183e22995f158c581e7b5e755ab9e",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -4942,7 +4946,7 @@
|
||||
"description": "A small library for converting tokenized PHP source code into XML and potentially other formats",
|
||||
"support": {
|
||||
"issues": "https://github.com/theseer/tokenizer/issues",
|
||||
"source": "https://github.com/theseer/tokenizer/tree/master"
|
||||
"source": "https://github.com/theseer/tokenizer/tree/1.2.1"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@@ -4950,20 +4954,20 @@
|
||||
"type": "github"
|
||||
}
|
||||
],
|
||||
"time": "2020-07-12T23:59:07+00:00"
|
||||
"time": "2021-07-28T10:34:58+00:00"
|
||||
},
|
||||
{
|
||||
"name": "vimeo/psalm",
|
||||
"version": "4.7.3",
|
||||
"version": "4.11.2",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/vimeo/psalm.git",
|
||||
"reference": "38c452ae584467e939d55377aaf83b5a26f19dd1"
|
||||
"reference": "6fba5eb554f9507b72932f9c75533d8af593688d"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/vimeo/psalm/zipball/38c452ae584467e939d55377aaf83b5a26f19dd1",
|
||||
"reference": "38c452ae584467e939d55377aaf83b5a26f19dd1",
|
||||
"url": "https://api.github.com/repos/vimeo/psalm/zipball/6fba5eb554f9507b72932f9c75533d8af593688d",
|
||||
"reference": "6fba5eb554f9507b72932f9c75533d8af593688d",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -4973,6 +4977,7 @@
|
||||
"composer/semver": "^1.4 || ^2.0 || ^3.0",
|
||||
"composer/xdebug-handler": "^1.1 || ^2.0",
|
||||
"dnoegel/php-xdg-base-dir": "^0.1.1",
|
||||
"ext-ctype": "*",
|
||||
"ext-dom": "*",
|
||||
"ext-json": "*",
|
||||
"ext-libxml": "*",
|
||||
@@ -4982,7 +4987,7 @@
|
||||
"felixfbecker/advanced-json-rpc": "^3.0.3",
|
||||
"felixfbecker/language-server-protocol": "^1.5",
|
||||
"netresearch/jsonmapper": "^1.0 || ^2.0 || ^3.0 || ^4.0",
|
||||
"nikic/php-parser": "^4.10.5",
|
||||
"nikic/php-parser": "^4.13",
|
||||
"openlss/lib-array2xml": "^1.0",
|
||||
"php": "^7.1|^8",
|
||||
"sebastian/diff": "^3.0 || ^4.0",
|
||||
@@ -5001,11 +5006,10 @@
|
||||
"phpmyadmin/sql-parser": "5.1.0||dev-master",
|
||||
"phpspec/prophecy": ">=1.9.0",
|
||||
"phpunit/phpunit": "^9.0",
|
||||
"psalm/plugin-phpunit": "^0.13",
|
||||
"psalm/plugin-phpunit": "^0.16",
|
||||
"slevomat/coding-standard": "^7.0",
|
||||
"squizlabs/php_codesniffer": "^3.5",
|
||||
"symfony/process": "^4.3",
|
||||
"weirdan/phpunit-appveyor-reporter": "^1.0.0",
|
||||
"symfony/process": "^4.3 || ^5.0",
|
||||
"weirdan/prophecy-shim": "^1.0 || ^2.0"
|
||||
},
|
||||
"suggest": {
|
||||
@@ -5053,9 +5057,9 @@
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/vimeo/psalm/issues",
|
||||
"source": "https://github.com/vimeo/psalm/tree/4.7.3"
|
||||
"source": "https://github.com/vimeo/psalm/tree/4.11.2"
|
||||
},
|
||||
"time": "2021-05-24T04:09:51+00:00"
|
||||
"time": "2021-10-26T17:28:17+00:00"
|
||||
},
|
||||
{
|
||||
"name": "webmozart/assert",
|
||||
|
||||
@@ -100,12 +100,10 @@ OC.L10N.register(
|
||||
"Could not write file to disk" : "Soubor se nedaří se zapsat na úložiště",
|
||||
"A PHP extension stopped the file upload" : "PHP rozšíření zastavilo nahrávání souboru.",
|
||||
"No file uploaded or file size exceeds maximum of %s" : "Nebyl nahrán žádný soubor nebo jeho velikost přesáhla %s",
|
||||
"This comment has more than %s characters.\nAdded as an attachment to the card with name %s.\nAccessible on URL: %s." : "Tento komentář je delší než %s znaků.\nPřidán jako příloha ke kartě nazvané %s.\nDostupné na URL: %s.",
|
||||
"Card not found" : "Karta nebyla nalezena",
|
||||
"Path is already shared with this card" : "Popis umístění už je touto kartou sdíleno",
|
||||
"Invalid date, date format must be YYYY-MM-DD" : "Neplatné datum – je třeba, aby formát data byl RRRR-MM-DD",
|
||||
"Personal planning and team project organization" : "Osobní plánování a organizování týmového projektu",
|
||||
"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 je nástroj cílený na osobní nebo projektové plánování týmů v Kanban stylu, napojený do Nextcloud.\n\n\n- 📥 Zadávejte a uspořádávejte své úkoly do karet\n- 📄 Zapisujte si dodatečné poznámky (v Markdown) \n- 🔖 Přiřazujte štítky pro ještě lepší uspořádání\n- 👥 Sdílejte se svým týmem, přáteli nebo rodinou\n- 📎 Připojte soubory a vložte je do (Markdown) popisu \n- 💬 Diskutujte se svým týmem prostřednictvím komentářů\n- ⚡ Udržte si přehled o změnách prostřednictvím sledování proudu aktivit\n- 🚀 Dostaňte svůj projekt pod kontrolu",
|
||||
"Card details" : "Podrobnosti o kartě",
|
||||
"Add board" : "Přidat tabuli",
|
||||
"Select the board to link to a project" : "Vyberte tabuli kterou propojit s projektem",
|
||||
@@ -241,7 +239,6 @@ OC.L10N.register(
|
||||
"Archive card" : "Archivovat kartu",
|
||||
"Delete card" : "Smazat kartu",
|
||||
"Move card to another board" : "Přesunout kartu na jinou tabuli",
|
||||
"List is empty" : "Seznam je prázdný",
|
||||
"Card deleted" : "Karta smazána",
|
||||
"seconds ago" : "před několika sekundami",
|
||||
"All boards" : "Všechny tabule",
|
||||
@@ -287,9 +284,6 @@ OC.L10N.register(
|
||||
"Share with a Deck card" : "Sdílet s kartou aplikace Deck",
|
||||
"Share {file} with a Deck card" : "Sdílet {file} s kartou aplikace Deck",
|
||||
"Share" : "Sdílet",
|
||||
"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 je nástroj cílený na osobní nebo projektové plánování týmů v Kanban stylu, vestavěný v Nextcloud.\n\n\n- 📥 Zadávejte a uspořádávejte své úkoly do karet\n- 📄 Zapisujte si dodatečné poznámky \n- 🔖 Přiřazujte štítky pro ještě lepší organizaci\n- 👥 Sdílejte se svým týmem, přáteli nebo rodinou\n- 🚀 Dostaňte svůj projekt pod kontrolu",
|
||||
"Creating the new card…" : "Vytváření nové karty…",
|
||||
"\"{card}\" was added to \"{board}\"" : "„{card}“ bylo přidáno do „{board}“",
|
||||
"(circle)" : "(okruh)"
|
||||
"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 je nástroj cílený na osobní nebo projektové plánování týmů v Kanban stylu, vestavěný v Nextcloud.\n\n\n- 📥 Zadávejte a uspořádávejte své úkoly do karet\n- 📄 Zapisujte si dodatečné poznámky \n- 🔖 Přiřazujte štítky pro ještě lepší organizaci\n- 👥 Sdílejte se svým týmem, přáteli nebo rodinou\n- 🚀 Dostaňte svůj projekt pod kontrolu"
|
||||
},
|
||||
"nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;");
|
||||
|
||||
@@ -98,12 +98,10 @@
|
||||
"Could not write file to disk" : "Soubor se nedaří se zapsat na úložiště",
|
||||
"A PHP extension stopped the file upload" : "PHP rozšíření zastavilo nahrávání souboru.",
|
||||
"No file uploaded or file size exceeds maximum of %s" : "Nebyl nahrán žádný soubor nebo jeho velikost přesáhla %s",
|
||||
"This comment has more than %s characters.\nAdded as an attachment to the card with name %s.\nAccessible on URL: %s." : "Tento komentář je delší než %s znaků.\nPřidán jako příloha ke kartě nazvané %s.\nDostupné na URL: %s.",
|
||||
"Card not found" : "Karta nebyla nalezena",
|
||||
"Path is already shared with this card" : "Popis umístění už je touto kartou sdíleno",
|
||||
"Invalid date, date format must be YYYY-MM-DD" : "Neplatné datum – je třeba, aby formát data byl RRRR-MM-DD",
|
||||
"Personal planning and team project organization" : "Osobní plánování a organizování týmového projektu",
|
||||
"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 je nástroj cílený na osobní nebo projektové plánování týmů v Kanban stylu, napojený do Nextcloud.\n\n\n- 📥 Zadávejte a uspořádávejte své úkoly do karet\n- 📄 Zapisujte si dodatečné poznámky (v Markdown) \n- 🔖 Přiřazujte štítky pro ještě lepší uspořádání\n- 👥 Sdílejte se svým týmem, přáteli nebo rodinou\n- 📎 Připojte soubory a vložte je do (Markdown) popisu \n- 💬 Diskutujte se svým týmem prostřednictvím komentářů\n- ⚡ Udržte si přehled o změnách prostřednictvím sledování proudu aktivit\n- 🚀 Dostaňte svůj projekt pod kontrolu",
|
||||
"Card details" : "Podrobnosti o kartě",
|
||||
"Add board" : "Přidat tabuli",
|
||||
"Select the board to link to a project" : "Vyberte tabuli kterou propojit s projektem",
|
||||
@@ -239,7 +237,6 @@
|
||||
"Archive card" : "Archivovat kartu",
|
||||
"Delete card" : "Smazat kartu",
|
||||
"Move card to another board" : "Přesunout kartu na jinou tabuli",
|
||||
"List is empty" : "Seznam je prázdný",
|
||||
"Card deleted" : "Karta smazána",
|
||||
"seconds ago" : "před několika sekundami",
|
||||
"All boards" : "Všechny tabule",
|
||||
@@ -285,9 +282,6 @@
|
||||
"Share with a Deck card" : "Sdílet s kartou aplikace Deck",
|
||||
"Share {file} with a Deck card" : "Sdílet {file} s kartou aplikace Deck",
|
||||
"Share" : "Sdílet",
|
||||
"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 je nástroj cílený na osobní nebo projektové plánování týmů v Kanban stylu, vestavěný v Nextcloud.\n\n\n- 📥 Zadávejte a uspořádávejte své úkoly do karet\n- 📄 Zapisujte si dodatečné poznámky \n- 🔖 Přiřazujte štítky pro ještě lepší organizaci\n- 👥 Sdílejte se svým týmem, přáteli nebo rodinou\n- 🚀 Dostaňte svůj projekt pod kontrolu",
|
||||
"Creating the new card…" : "Vytváření nové karty…",
|
||||
"\"{card}\" was added to \"{board}\"" : "„{card}“ bylo přidáno do „{board}“",
|
||||
"(circle)" : "(okruh)"
|
||||
"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 je nástroj cílený na osobní nebo projektové plánování týmů v Kanban stylu, vestavěný v Nextcloud.\n\n\n- 📥 Zadávejte a uspořádávejte své úkoly do karet\n- 📄 Zapisujte si dodatečné poznámky \n- 🔖 Přiřazujte štítky pro ještě lepší organizaci\n- 👥 Sdílejte se svým týmem, přáteli nebo rodinou\n- 🚀 Dostaňte svůj projekt pod kontrolu"
|
||||
},"pluralForm" :"nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;"
|
||||
}
|
||||
@@ -100,12 +100,10 @@ OC.L10N.register(
|
||||
"Could not write file to disk" : "Die Datei konnte nicht auf die Festplatte geschrieben werden",
|
||||
"A PHP extension stopped the file upload" : "Eine PHP-Erweiterung hat das Hochladen der Datei gestoppt",
|
||||
"No file uploaded or file size exceeds maximum of %s" : "Keine Datei hochgeladen oder die Dateigröße überschreitet %s",
|
||||
"This comment has more than %s characters.\nAdded as an attachment to the card with name %s.\nAccessible on URL: %s." : "Dieser Kommentar hat mehr als %s Zeichen.\nAls Anhang der Karte mit dem Namen %s hinzugefügt.\nZugriff über die URL: %s.",
|
||||
"Card not found" : "Karte nicht gefunden",
|
||||
"Path is already shared with this card" : "Pfad wurde bereits mit dieser Karte geteilt",
|
||||
"Invalid date, date format must be YYYY-MM-DD" : "Ungültiges Datum, zulässiges Datumsformat: JJJJJ-MM-TT",
|
||||
"Personal planning and team project organization" : "Persönliche Planung und Teamprojektorganisation",
|
||||
"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 ist ein Organisationstool im Kanban-Stil für die persönliche Planung und Projektorganisation von Teams, die in Nextcloud integriert sind.\n\n\n- 📥 Füge Deine Aufgaben zu den Karten hinzu und ordne diese\n- 📄 Zusätzliche Hinweise in der Abschrift notieren\n- 🔖 Zuweisen von Schlagworten für noch bessere Organisation\n- 👥 Teile mit Deinem Team, Freunden oder der Familie\n- 📎 Füge Dateien hinzu und verwende diese in Deinen Markdown-Beschreibungen\n- 💬 Diskutiere mit Deinem Team mit Kommentaren\n- ⚡ Behalte Überblick über Änderungen mit dem Aktivitäten-Stream\n- 🚀 Organisiere Dein Projekt",
|
||||
"Card details" : "Karten-Details",
|
||||
"Add board" : "Board hinzufügen",
|
||||
"Select the board to link to a project" : "Wähle ein Board aus, um dieses mit einem Projekt zu verknüpfen",
|
||||
@@ -241,7 +239,6 @@ OC.L10N.register(
|
||||
"Archive card" : "Karte archivieren",
|
||||
"Delete card" : "Karte löschen",
|
||||
"Move card to another board" : "Karte auf ein anderes Board verschieben",
|
||||
"List is empty" : "Liste ist leer",
|
||||
"Card deleted" : "Karte gelöscht",
|
||||
"seconds ago" : "Gerade eben",
|
||||
"All boards" : "Alle Boards",
|
||||
@@ -287,9 +284,6 @@ OC.L10N.register(
|
||||
"Share with a Deck card" : "Mit einer Deck-Karte teilen",
|
||||
"Share {file} with a Deck card" : "{file} mit einer Deck-Karte teilen",
|
||||
"Share" : "Freigeben",
|
||||
"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 ist ein Organisationstool im Kanban-Stil für die persönliche Planung und Projektorganisation von Teams, die in Nextcloud integriert sind.\n\n\n- 📥 Füge Deine Aufgaben zu den Karten hinzu und ordne diese\n- 📄 Zusätzliche Hinweise in der Abschrift notieren\n- 🔖 Zuweisen von Schlagworten für noch bessere Organisation\n- 👥 Teile mit Deinem Team, Freunden oder der Familie\n- 📎 Füge Dateien hinzu und verwende diese in Deinen Markdown-Beschreibungen\n- 💬 Diskutiere mit Deinem Team mit Kommentaren\n- ⚡ Behalte Überblick über Änderungen mit dem Aktivitäten-Stream\n- 🚀 Organisiere Dein Projekt",
|
||||
"Creating the new card…" : "Neue Karte wird erstellt …",
|
||||
"\"{card}\" was added to \"{board}\"" : "Karte \"{card}\" wurde zu Board \"{board}\" hinzugefügt",
|
||||
"(circle)" : "(Kreis)"
|
||||
"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 ist ein Organisationstool im Kanban-Stil für die persönliche Planung und Projektorganisation von Teams, die in Nextcloud integriert sind.\n\n\n- 📥 Füge Deine Aufgaben zu den Karten hinzu und ordne diese\n- 📄 Zusätzliche Hinweise in der Abschrift notieren\n- 🔖 Zuweisen von Schlagworten für noch bessere Organisation\n- 👥 Teile mit Deinem Team, Freunden oder der Familie\n- 📎 Füge Dateien hinzu und verwende diese in Deinen Markdown-Beschreibungen\n- 💬 Diskutiere mit Deinem Team mit Kommentaren\n- ⚡ Behalte Überblick über Änderungen mit dem Aktivitäten-Stream\n- 🚀 Organisiere Dein Projekt"
|
||||
},
|
||||
"nplurals=2; plural=(n != 1);");
|
||||
|
||||
@@ -98,12 +98,10 @@
|
||||
"Could not write file to disk" : "Die Datei konnte nicht auf die Festplatte geschrieben werden",
|
||||
"A PHP extension stopped the file upload" : "Eine PHP-Erweiterung hat das Hochladen der Datei gestoppt",
|
||||
"No file uploaded or file size exceeds maximum of %s" : "Keine Datei hochgeladen oder die Dateigröße überschreitet %s",
|
||||
"This comment has more than %s characters.\nAdded as an attachment to the card with name %s.\nAccessible on URL: %s." : "Dieser Kommentar hat mehr als %s Zeichen.\nAls Anhang der Karte mit dem Namen %s hinzugefügt.\nZugriff über die URL: %s.",
|
||||
"Card not found" : "Karte nicht gefunden",
|
||||
"Path is already shared with this card" : "Pfad wurde bereits mit dieser Karte geteilt",
|
||||
"Invalid date, date format must be YYYY-MM-DD" : "Ungültiges Datum, zulässiges Datumsformat: JJJJJ-MM-TT",
|
||||
"Personal planning and team project organization" : "Persönliche Planung und Teamprojektorganisation",
|
||||
"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 ist ein Organisationstool im Kanban-Stil für die persönliche Planung und Projektorganisation von Teams, die in Nextcloud integriert sind.\n\n\n- 📥 Füge Deine Aufgaben zu den Karten hinzu und ordne diese\n- 📄 Zusätzliche Hinweise in der Abschrift notieren\n- 🔖 Zuweisen von Schlagworten für noch bessere Organisation\n- 👥 Teile mit Deinem Team, Freunden oder der Familie\n- 📎 Füge Dateien hinzu und verwende diese in Deinen Markdown-Beschreibungen\n- 💬 Diskutiere mit Deinem Team mit Kommentaren\n- ⚡ Behalte Überblick über Änderungen mit dem Aktivitäten-Stream\n- 🚀 Organisiere Dein Projekt",
|
||||
"Card details" : "Karten-Details",
|
||||
"Add board" : "Board hinzufügen",
|
||||
"Select the board to link to a project" : "Wähle ein Board aus, um dieses mit einem Projekt zu verknüpfen",
|
||||
@@ -239,7 +237,6 @@
|
||||
"Archive card" : "Karte archivieren",
|
||||
"Delete card" : "Karte löschen",
|
||||
"Move card to another board" : "Karte auf ein anderes Board verschieben",
|
||||
"List is empty" : "Liste ist leer",
|
||||
"Card deleted" : "Karte gelöscht",
|
||||
"seconds ago" : "Gerade eben",
|
||||
"All boards" : "Alle Boards",
|
||||
@@ -285,9 +282,6 @@
|
||||
"Share with a Deck card" : "Mit einer Deck-Karte teilen",
|
||||
"Share {file} with a Deck card" : "{file} mit einer Deck-Karte teilen",
|
||||
"Share" : "Freigeben",
|
||||
"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 ist ein Organisationstool im Kanban-Stil für die persönliche Planung und Projektorganisation von Teams, die in Nextcloud integriert sind.\n\n\n- 📥 Füge Deine Aufgaben zu den Karten hinzu und ordne diese\n- 📄 Zusätzliche Hinweise in der Abschrift notieren\n- 🔖 Zuweisen von Schlagworten für noch bessere Organisation\n- 👥 Teile mit Deinem Team, Freunden oder der Familie\n- 📎 Füge Dateien hinzu und verwende diese in Deinen Markdown-Beschreibungen\n- 💬 Diskutiere mit Deinem Team mit Kommentaren\n- ⚡ Behalte Überblick über Änderungen mit dem Aktivitäten-Stream\n- 🚀 Organisiere Dein Projekt",
|
||||
"Creating the new card…" : "Neue Karte wird erstellt …",
|
||||
"\"{card}\" was added to \"{board}\"" : "Karte \"{card}\" wurde zu Board \"{board}\" hinzugefügt",
|
||||
"(circle)" : "(Kreis)"
|
||||
"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 ist ein Organisationstool im Kanban-Stil für die persönliche Planung und Projektorganisation von Teams, die in Nextcloud integriert sind.\n\n\n- 📥 Füge Deine Aufgaben zu den Karten hinzu und ordne diese\n- 📄 Zusätzliche Hinweise in der Abschrift notieren\n- 🔖 Zuweisen von Schlagworten für noch bessere Organisation\n- 👥 Teile mit Deinem Team, Freunden oder der Familie\n- 📎 Füge Dateien hinzu und verwende diese in Deinen Markdown-Beschreibungen\n- 💬 Diskutiere mit Deinem Team mit Kommentaren\n- ⚡ Behalte Überblick über Änderungen mit dem Aktivitäten-Stream\n- 🚀 Organisiere Dein Projekt"
|
||||
},"pluralForm" :"nplurals=2; plural=(n != 1);"
|
||||
}
|
||||
@@ -100,12 +100,10 @@ OC.L10N.register(
|
||||
"Could not write file to disk" : "Die Datei konnte nicht auf die Festplatte geschrieben werden",
|
||||
"A PHP extension stopped the file upload" : "Eine PHP-Erweiterung hat das Hochladen der Datei gestoppt",
|
||||
"No file uploaded or file size exceeds maximum of %s" : "Keine Datei hochgeladen oder die Dateigröße überschreitet %s",
|
||||
"This comment has more than %s characters.\nAdded as an attachment to the card with name %s.\nAccessible on URL: %s." : "Dieser Kommentar hat mehr als %s Zeichen.\nAls Anhang der Karte mit dem Namen %s hinzugefügt.\nZugriff über die URL: %s.",
|
||||
"Card not found" : "Karte nicht gefunden",
|
||||
"Path is already shared with this card" : "Pfad wurde bereits mit dieser Karte geteilt",
|
||||
"Invalid date, date format must be YYYY-MM-DD" : "Ungültiges Datum, zulässiges Datumsformat: JJJJ-MM-TT",
|
||||
"Personal planning and team project organization" : "Persönliche Planung und Teamprojektorganisation",
|
||||
"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 ist ein Organisationstool im Kanban-Stil für die persönliche Planung und Projektorganisation von Teams, die in Nextcloud integriert sind.\n\n\n- 📥 Fügen Sie Ihre Aufgaben zu den Karten hinzu und ordnen Sie diese\n- 📄 Zusätzliche Hinweise in der Abschrift notieren\n- 🔖 Zuweisen von Schlagworten für noch bessere Organisation\n- 👥 Teilen Sie mit Ihrem Team, Ihren Freunden oder Ihrer Familie\n- 📎 Fügen Sie Dateien hinzu und verwende diese in Ihren Markdown-Beschreibungen\n- 💬 Diskutieren Sie mit Ihrem Team mit Kommentaren\n- ⚡ Behalten Sie Überblick über Änderungen mit dem Aktivitäten-Stream\n- 🚀 Organisieren Sie Ihr Projekt",
|
||||
"Card details" : "Karten-Details",
|
||||
"Add board" : "Board hinzufügen",
|
||||
"Select the board to link to a project" : "Wählen Sie ein Board aus, um dieses mit einem Projekt zu verknüpfen",
|
||||
@@ -241,7 +239,6 @@ OC.L10N.register(
|
||||
"Archive card" : "Karte archivieren",
|
||||
"Delete card" : "Karte löschen",
|
||||
"Move card to another board" : "Karte auf ein anderes Board verschieben",
|
||||
"List is empty" : "Liste ist leer",
|
||||
"Card deleted" : "Karte gelöscht",
|
||||
"seconds ago" : "Gerade eben",
|
||||
"All boards" : "Alle Boards",
|
||||
@@ -287,9 +284,6 @@ OC.L10N.register(
|
||||
"Share with a Deck card" : "Mit einer Deck-Karte teilen",
|
||||
"Share {file} with a Deck card" : "{file} mit einer Deck-Karte teilen",
|
||||
"Share" : "Freigeben",
|
||||
"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 ist ein Organisationstool im Kanban-Stil für die persönliche Planung und Projektorganisation von Teams, die in Nextcloud integriert sind.\n\n\n- 📥 Fügen Sie Ihre Aufgaben zu den Karten hinzu und ordnen Sie diese\n- 📄 Zusätzliche Hinweise in der Abschrift notieren\n- 🔖 Zuweisen von Schlagworten für noch bessere Organisation\n- 👥 Teilen Sie mit Ihrem Team, Ihren Freunden oder Ihrer Familie\n- 📎 Fügen Sie Dateien hinzu und verwende diese in Ihren Markdown-Beschreibungen\n- 💬 Diskutieren Sie mit Ihrem Team mit Kommentaren\n- ⚡ Behalten Sie Überblick über Änderungen mit dem Aktivitäten-Stream\n- 🚀 Organisieren Sie Ihr Projekt",
|
||||
"Creating the new card…" : "Neue Karte wird erstellt …",
|
||||
"\"{card}\" was added to \"{board}\"" : "\"{card}\" wurde \"{board}\" hinzugefügt",
|
||||
"(circle)" : "(Kreis)"
|
||||
"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 ist ein Organisationstool im Kanban-Stil für die persönliche Planung und Projektorganisation von Teams, die in Nextcloud integriert sind.\n\n\n- 📥 Fügen Sie Ihre Aufgaben zu den Karten hinzu und ordnen Sie diese\n- 📄 Zusätzliche Hinweise in der Abschrift notieren\n- 🔖 Zuweisen von Schlagworten für noch bessere Organisation\n- 👥 Teilen Sie mit Ihrem Team, Ihren Freunden oder Ihrer Familie\n- 📎 Fügen Sie Dateien hinzu und verwende diese in Ihren Markdown-Beschreibungen\n- 💬 Diskutieren Sie mit Ihrem Team mit Kommentaren\n- ⚡ Behalten Sie Überblick über Änderungen mit dem Aktivitäten-Stream\n- 🚀 Organisieren Sie Ihr Projekt"
|
||||
},
|
||||
"nplurals=2; plural=(n != 1);");
|
||||
|
||||
@@ -98,12 +98,10 @@
|
||||
"Could not write file to disk" : "Die Datei konnte nicht auf die Festplatte geschrieben werden",
|
||||
"A PHP extension stopped the file upload" : "Eine PHP-Erweiterung hat das Hochladen der Datei gestoppt",
|
||||
"No file uploaded or file size exceeds maximum of %s" : "Keine Datei hochgeladen oder die Dateigröße überschreitet %s",
|
||||
"This comment has more than %s characters.\nAdded as an attachment to the card with name %s.\nAccessible on URL: %s." : "Dieser Kommentar hat mehr als %s Zeichen.\nAls Anhang der Karte mit dem Namen %s hinzugefügt.\nZugriff über die URL: %s.",
|
||||
"Card not found" : "Karte nicht gefunden",
|
||||
"Path is already shared with this card" : "Pfad wurde bereits mit dieser Karte geteilt",
|
||||
"Invalid date, date format must be YYYY-MM-DD" : "Ungültiges Datum, zulässiges Datumsformat: JJJJ-MM-TT",
|
||||
"Personal planning and team project organization" : "Persönliche Planung und Teamprojektorganisation",
|
||||
"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 ist ein Organisationstool im Kanban-Stil für die persönliche Planung und Projektorganisation von Teams, die in Nextcloud integriert sind.\n\n\n- 📥 Fügen Sie Ihre Aufgaben zu den Karten hinzu und ordnen Sie diese\n- 📄 Zusätzliche Hinweise in der Abschrift notieren\n- 🔖 Zuweisen von Schlagworten für noch bessere Organisation\n- 👥 Teilen Sie mit Ihrem Team, Ihren Freunden oder Ihrer Familie\n- 📎 Fügen Sie Dateien hinzu und verwende diese in Ihren Markdown-Beschreibungen\n- 💬 Diskutieren Sie mit Ihrem Team mit Kommentaren\n- ⚡ Behalten Sie Überblick über Änderungen mit dem Aktivitäten-Stream\n- 🚀 Organisieren Sie Ihr Projekt",
|
||||
"Card details" : "Karten-Details",
|
||||
"Add board" : "Board hinzufügen",
|
||||
"Select the board to link to a project" : "Wählen Sie ein Board aus, um dieses mit einem Projekt zu verknüpfen",
|
||||
@@ -239,7 +237,6 @@
|
||||
"Archive card" : "Karte archivieren",
|
||||
"Delete card" : "Karte löschen",
|
||||
"Move card to another board" : "Karte auf ein anderes Board verschieben",
|
||||
"List is empty" : "Liste ist leer",
|
||||
"Card deleted" : "Karte gelöscht",
|
||||
"seconds ago" : "Gerade eben",
|
||||
"All boards" : "Alle Boards",
|
||||
@@ -285,9 +282,6 @@
|
||||
"Share with a Deck card" : "Mit einer Deck-Karte teilen",
|
||||
"Share {file} with a Deck card" : "{file} mit einer Deck-Karte teilen",
|
||||
"Share" : "Freigeben",
|
||||
"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 ist ein Organisationstool im Kanban-Stil für die persönliche Planung und Projektorganisation von Teams, die in Nextcloud integriert sind.\n\n\n- 📥 Fügen Sie Ihre Aufgaben zu den Karten hinzu und ordnen Sie diese\n- 📄 Zusätzliche Hinweise in der Abschrift notieren\n- 🔖 Zuweisen von Schlagworten für noch bessere Organisation\n- 👥 Teilen Sie mit Ihrem Team, Ihren Freunden oder Ihrer Familie\n- 📎 Fügen Sie Dateien hinzu und verwende diese in Ihren Markdown-Beschreibungen\n- 💬 Diskutieren Sie mit Ihrem Team mit Kommentaren\n- ⚡ Behalten Sie Überblick über Änderungen mit dem Aktivitäten-Stream\n- 🚀 Organisieren Sie Ihr Projekt",
|
||||
"Creating the new card…" : "Neue Karte wird erstellt …",
|
||||
"\"{card}\" was added to \"{board}\"" : "\"{card}\" wurde \"{board}\" hinzugefügt",
|
||||
"(circle)" : "(Kreis)"
|
||||
"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 ist ein Organisationstool im Kanban-Stil für die persönliche Planung und Projektorganisation von Teams, die in Nextcloud integriert sind.\n\n\n- 📥 Fügen Sie Ihre Aufgaben zu den Karten hinzu und ordnen Sie diese\n- 📄 Zusätzliche Hinweise in der Abschrift notieren\n- 🔖 Zuweisen von Schlagworten für noch bessere Organisation\n- 👥 Teilen Sie mit Ihrem Team, Ihren Freunden oder Ihrer Familie\n- 📎 Fügen Sie Dateien hinzu und verwende diese in Ihren Markdown-Beschreibungen\n- 💬 Diskutieren Sie mit Ihrem Team mit Kommentaren\n- ⚡ Behalten Sie Überblick über Änderungen mit dem Aktivitäten-Stream\n- 🚀 Organisieren Sie Ihr Projekt"
|
||||
},"pluralForm" :"nplurals=2; plural=(n != 1);"
|
||||
}
|
||||
@@ -239,7 +239,6 @@ OC.L10N.register(
|
||||
"Archive card" : "Artxibatu txartela",
|
||||
"Delete card" : "Ezabatu txartela",
|
||||
"Move card to another board" : "Mugitu txartela beste taula batera",
|
||||
"List is empty" : "Zerrenda hutsik dago",
|
||||
"Card deleted" : "Txartela ezabatuta",
|
||||
"seconds ago" : "segundo lehenago",
|
||||
"All boards" : "Taula guztiak",
|
||||
@@ -285,8 +284,6 @@ OC.L10N.register(
|
||||
"Share with a Deck card" : "Partekatu Deck txartel baten bidez",
|
||||
"Share {file} with a Deck card" : "Partekatu {file} Deck txartel baten bidez",
|
||||
"Share" : "Partekatu",
|
||||
"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 aplikazioa plangintza pertsonalera eta proiektuen antolaketara zuzenduta dagoen Nextcloudekin integratutako kanban moduko tresna bat da.\n\n\n- 📥 Gehitu atazak txarteletan eta ordenatu\n- 📄 Idatzi ohar gehigarriak markdown erabiliz\n- 🔖 Esleitu etiketak antolaketa are gehiago hobetzeko\n- 👥 Partekatu zure talde, lagun edo familiarekin\n- 📎 Erantsi fitxategiak eta kapsulatu zure markdown deskribapenean\n- 💬 Eztabaidatu zure taldearekin iruzkinak erabiliz\n- ⚡ Egin aldaketen jarraipena jarduera jarioa erabiliz\n- 🚀 Antolatu zure proiektua",
|
||||
"Creating the new card…" : "Txartel berria sortzen...",
|
||||
"(circle)" : "(zirkulua)"
|
||||
"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 aplikazioa plangintza pertsonalera eta proiektuen antolaketara zuzenduta dagoen Nextcloudekin integratutako kanban moduko tresna bat da.\n\n\n- 📥 Gehitu atazak txarteletan eta ordenatu\n- 📄 Idatzi ohar gehigarriak markdown erabiliz\n- 🔖 Esleitu etiketak antolaketa are gehiago hobetzeko\n- 👥 Partekatu zure talde, lagun edo familiarekin\n- 📎 Erantsi fitxategiak eta kapsulatu zure markdown deskribapenean\n- 💬 Eztabaidatu zure taldearekin iruzkinak erabiliz\n- ⚡ Egin aldaketen jarraipena jarduera jarioa erabiliz\n- 🚀 Antolatu zure proiektua"
|
||||
},
|
||||
"nplurals=2; plural=(n != 1);");
|
||||
|
||||
@@ -237,7 +237,6 @@
|
||||
"Archive card" : "Artxibatu txartela",
|
||||
"Delete card" : "Ezabatu txartela",
|
||||
"Move card to another board" : "Mugitu txartela beste taula batera",
|
||||
"List is empty" : "Zerrenda hutsik dago",
|
||||
"Card deleted" : "Txartela ezabatuta",
|
||||
"seconds ago" : "segundo lehenago",
|
||||
"All boards" : "Taula guztiak",
|
||||
@@ -283,8 +282,6 @@
|
||||
"Share with a Deck card" : "Partekatu Deck txartel baten bidez",
|
||||
"Share {file} with a Deck card" : "Partekatu {file} Deck txartel baten bidez",
|
||||
"Share" : "Partekatu",
|
||||
"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 aplikazioa plangintza pertsonalera eta proiektuen antolaketara zuzenduta dagoen Nextcloudekin integratutako kanban moduko tresna bat da.\n\n\n- 📥 Gehitu atazak txarteletan eta ordenatu\n- 📄 Idatzi ohar gehigarriak markdown erabiliz\n- 🔖 Esleitu etiketak antolaketa are gehiago hobetzeko\n- 👥 Partekatu zure talde, lagun edo familiarekin\n- 📎 Erantsi fitxategiak eta kapsulatu zure markdown deskribapenean\n- 💬 Eztabaidatu zure taldearekin iruzkinak erabiliz\n- ⚡ Egin aldaketen jarraipena jarduera jarioa erabiliz\n- 🚀 Antolatu zure proiektua",
|
||||
"Creating the new card…" : "Txartel berria sortzen...",
|
||||
"(circle)" : "(zirkulua)"
|
||||
"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 aplikazioa plangintza pertsonalera eta proiektuen antolaketara zuzenduta dagoen Nextcloudekin integratutako kanban moduko tresna bat da.\n\n\n- 📥 Gehitu atazak txarteletan eta ordenatu\n- 📄 Idatzi ohar gehigarriak markdown erabiliz\n- 🔖 Esleitu etiketak antolaketa are gehiago hobetzeko\n- 👥 Partekatu zure talde, lagun edo familiarekin\n- 📎 Erantsi fitxategiak eta kapsulatu zure markdown deskribapenean\n- 💬 Eztabaidatu zure taldearekin iruzkinak erabiliz\n- ⚡ Egin aldaketen jarraipena jarduera jarioa erabiliz\n- 🚀 Antolatu zure proiektua"
|
||||
},"pluralForm" :"nplurals=2; plural=(n != 1);"
|
||||
}
|
||||
128
l10n/fa.js
128
l10n/fa.js
@@ -17,64 +17,7 @@ OC.L10N.register(
|
||||
"{user} has archived the board {before}" : "{user} تختهٔ {board} را بایگانی کرد",
|
||||
"You have unarchived the board {board}" : "تختهٔ {board} را از بایگانی خارج کردید",
|
||||
"{user} has unarchived the board {before}" : "{user} تختهٔ {board} را از بایگانی خارج کرد",
|
||||
"You have created a new list {stack} on board {board}" : "شما فهرست جدید {stack} را در تخته {board} ایجاد کردهاید",
|
||||
"{user} has created a new list {stack} on board {board}" : "{user} فهرست جدید {stack} را در تخته {board} ایجاد کرده است",
|
||||
"You have renamed list {before} to {stack} on board {board}" : "شما فهرست {before} را به {stack} در تخته {board} تغییر نام دادهاید",
|
||||
"{user} has renamed list {before} to {stack} on board {board}" : "{user} فهرست {before} را به {stack} در تخته {board} تغییر نام داده است",
|
||||
"You have deleted list {stack} on board {board}" : "شما فهرست {stack} را در تخته {board} حذف کرده اید",
|
||||
"{user} has deleted list {stack} on board {board}" : "{user} فهرست {stack} را در تخته {board} حذف کرده است",
|
||||
"You have created card {card} in list {stack} on board {board}" : "شما برگه {card} را در فهرست {stack} در تخته {board} ایجاد کرده اید",
|
||||
"{user} has created card {card} in list {stack} on board {board}" : "ٰ{user} برگه {card} را در فهرست {stack} در تخته {board} ایجاد کرده است",
|
||||
"You have deleted card {card} in list {stack} on board {board}" : "شما برگه {card} را در فهرست {stack} در تخته {board} حذف کرده اید",
|
||||
"{user} has deleted card {card} in list {stack} on board {board}" : "{user} برگه {card} را در فهرست {stack} در تخته {board} حذف کرده است",
|
||||
"You have renamed the card {before} to {card}" : "شما نام برگه را {پیش از} به {card} تغییر داده اید",
|
||||
"{user} has renamed the card {before} to {card}" : "{user} نام برگه را {پیش از} به {card} تغییر داده است",
|
||||
"You have added a description to card {card} in list {stack} on board {board}" : "شما یک توضیح به برگه {card} در فهرست {stack} در تخته {board} اضافه کرده اید",
|
||||
"{user} has added a description to card {card} in list {stack} on board {board}" : "{user} توضیحاتی را به برگه {card} در فهرست {stack} on board {board} اضافه کرده است.",
|
||||
"You have updated the description of card {card} in list {stack} on board {board}" : "شما شرح برگه {card} را در فهرست {stack} در تخته {board} به روز کرده اید.",
|
||||
"{user} has updated the description of the card {card} in list {stack} on board {board}" : "{user} توضیحات برگه {card} را در فهرست {stack} on board {board} به روز کرده است.",
|
||||
"You have archived card {card} in list {stack} on board {board}" : "شما برگه {card} را در فهرست {stack} در تخته {board} بایگانی کرده اید",
|
||||
"{user} has archived card {card} in list {stack} on board {board}" : "{user} برگه {card} را در فهرست {stack} در تخته {board} بایگانی کرده است",
|
||||
"You have unarchived card {card} in list {stack} on board {board}" : "شما برگه {card} را در فهرست {stack} در تخته {board} از بایگانی خارج کردهاید.",
|
||||
"{user} has unarchived card {card} in list {stack} on board {board}" : "{user} برگه {card} را در فهرست {stack} در تخته {board} از بایگانی خارج کرده است",
|
||||
"You have removed the due date of card {card}" : "شما تاریخ سررسید برگه {card} را حذف کرده اید",
|
||||
"{user} has removed the due date of card {card}" : "{user} تاریخ سررسید برگه {card} را حذف کرده است",
|
||||
"You have set the due date of card {card} to {after}" : "شما تاریخ سررسید برگه {card} را روی {after} تنظیم کرده اید",
|
||||
"{user} has set the due date of card {card} to {after}" : "{user} تاریخ سررسید برگه {card} را روی {after} قرار داده است",
|
||||
"You have updated the due date of card {card} to {after}" : "شما تاریخ سررسید برگه {card} را به {after} به روز کرده اید",
|
||||
"{user} has updated the due date of card {card} to {after}" : "{user} تاریخ سررسید برگه {card} را به {after} به روز کرده است",
|
||||
"You have added the tag {label} to card {card} in list {stack} on board {board}" : "شما برچسب {label} را به برگه {card} در فهرست {stack} در تخته {board} اضافه کردهاید.",
|
||||
"{user} has added the tag {label} to card {card} in list {stack} on board {board}" : "{user} برچسب {label} را بهبرگه {card} در فهرست {stack} در تخته {board} اضافه کرده است.",
|
||||
"You have removed the tag {label} from card {card} in list {stack} on board {board}" : "شما برچسب {label} را از برگه {card} در فهرست {stack} در تخته {board} حذف کردید.",
|
||||
"{user} has removed the tag {label} from card {card} in list {stack} on board {board}" : "{user} برچسب {label} را از برگه {card} در فهرست {stack} در تخته {board} حذف کرده است.",
|
||||
"You have assigned {assigneduser} to card {card} on board {board}" : "شما {کاربر اختصاص یافته} را به برگه {card} در تخته {board} اختصاص دادهاید.",
|
||||
"{user} has assigned {assigneduser} to card {card} on board {board}" : "{user} {assigneduser} را به برگه {card} در تخته {board} اختصاص داده است",
|
||||
"You have unassigned {assigneduser} from card {card} on board {board}" : "شما {تخصیص کاربر} را از برگه {card} در تخته {board} لغو کردهاید.",
|
||||
"{user} has unassigned {assigneduser} from card {card} on board {board}" : "{user} تخصیص {assigneduser} را از برگه {card} در تخته لغو کرده است",
|
||||
"You have moved the card {card} from list {stackBefore} to {stack}" : "شما برگه {card} را از فهرست {stackBefore} به {stack} منتقل کرده اید",
|
||||
"{user} has moved the card {card} from list {stackBefore} to {stack}" : "{user} برگه {card} را از فهرست {stackBefore} به {stack} منتقل کرده است",
|
||||
"You have added the attachment {attachment} to card {card}" : "شما پیوست {attachment} را به برگه {card} اضافه کردهاید.",
|
||||
"{user} has added the attachment {attachment} to card {card}" : "{user} پیوست {attachment} را به برگه {card} اضافه کرده است",
|
||||
"You have updated the attachment {attachment} on card {card}" : "شما پیوست {attachment} را در برگه {card} به روز کرده اید",
|
||||
"{user} has updated the attachment {attachment} on card {card}" : "{user} پیوست {attachment} را در برگه {card} به روز کرده است",
|
||||
"You have deleted the attachment {attachment} from card {card}" : "شما پیوست {attachment} را از برگه {card} حذف کرده اید",
|
||||
"{user} has deleted the attachment {attachment} from card {card}" : "{user} پیوست {attachment} را ازبرگه {card} حذف کرده است",
|
||||
"You have restored the attachment {attachment} to card {card}" : "شما پیوست {attachment} را به برگه {card} بازیابی کرده اید",
|
||||
"{user} has restored the attachment {attachment} to card {card}" : "{user} پیوست {attachment} را به برگه {card} بازیابی کرده است",
|
||||
"You have commented on card {card}" : "شما در مورد برگه {card} نظر داده اید",
|
||||
"{user} has commented on card {card}" : "{user} روی برگه {card} نظر داده است",
|
||||
"A <strong>card description</strong> inside the Deck app has been changed" : "شرح برگه در برگهدان تغییر کرده است",
|
||||
"Deck" : "برگهدان",
|
||||
"Changes in the <strong>Deck app</strong>" : "تغییرات در برگهدان",
|
||||
"A <strong>comment</strong> was created on a card" : "یک نظر روی یک برگه ایجاد شد",
|
||||
"Upcoming cards" : "برگههای آینده",
|
||||
"Personal" : "شخصی",
|
||||
"{user} has assigned the card {deck-card} on {deck-board} to you." : "{user} برگه {deck-card} در {deck-board} را به شما اختصاص داده است.",
|
||||
"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" : "برگهٔ نظر",
|
||||
"No data was provided to create an attachment." : "هیچ داده ای برای ایجاد پیوست ارائه نشد.",
|
||||
"Finished" : "تمام شده",
|
||||
"To review" : "برای بازبینی",
|
||||
"Action needed" : "نیازمند اقدام",
|
||||
@@ -95,29 +38,16 @@ OC.L10N.register(
|
||||
"Could not write file to disk" : "عدم موفقیت در نوشتن پرونده روی حافظه",
|
||||
"A PHP extension stopped the file upload" : "یک افزونه پیاچپی مانع بارگذاری پرونده شد",
|
||||
"No file uploaded or file size exceeds maximum of %s" : "پروندهای بارگذاری نشد و یا حجم پرونده بیش از بیشینه مجاز %s بود",
|
||||
"Card not found" : "برگه یافت نشد",
|
||||
"Path is already shared with this card" : "مسیر قبلاً با این برگه به اشتراک گذاشته شده است",
|
||||
"Invalid date, date format must be YYYY-MM-DD" : "تاریخ نامعتبر است، قالب تاریخ باید YYYY-MM-DD باشد",
|
||||
"Personal planning and team project organization" : "برنامهریزی شخصی و سازماندهی کار گروهی",
|
||||
"Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.\n\n\n- 📥 Add your tasks to cards and put them in order\n- 📄 Write down additional notes in Markdown\n- 🔖 Assign labels for even better organization\n- 👥 Share with your team, friends or family\n- 📎 Attach files and embed them in your Markdown description\n- 💬 Discuss with your team using comments\n- ⚡ Keep track of changes in the activity stream\n- 🚀 Get your project organized" : "برگهدان یک ابزار سازماندهی سبک کانبان است که هدف آن برنامهریزی شخصی و سازماندهی پروژه برای گروههای مرتبط با Nextcloud است.\n\n\n- 📥 وظایف خود را به برگهها اضافه کنید و آنها را مرتب کنید\n- 📄 یادداشتهای اضافی را در Markdown یادداشت کنید\n- 🔖 برچسبهایی را برای سازماندهی بهتر اختصاص دهید\n- 👥 با گروه، دوستان یا خانوادهٔ خود به اشتراک بگذارید\n- 📎 فایلها را ضمیمه کنید و آنها را در توضیحات Markdown خود قرار دهید\n- 💬 با استفاده از نظرات با تیم خود بحث کنید\n- ⚡ تغییرات در جریان فعالیت را پیگیری کنید\n- 🚀 پروژه خود را سازماندهی کنید",
|
||||
"Card details" : "جزئیات برگه",
|
||||
"Card details" : "جزئیات کارت",
|
||||
"Add board" : "تخته را اضافه کنید",
|
||||
"Select the board to link to a project" : "تختهای را برای ایجاد پیوند با یک پروژه انتخاب کنید",
|
||||
"Search by board title" : "جستجو بر اساس عنوان تخته",
|
||||
"Select board" : "انتخاب تخته",
|
||||
"Create a new card" : "برگهٔ جدید بسازید",
|
||||
"Select a board" : "انتخاب یک تخته",
|
||||
"Select a list" : "یک فهرست برگزینید",
|
||||
"Card title" : "عنوان برگه",
|
||||
"Cancel" : "لغو",
|
||||
"Creating the new card …" : "ساختن برگهٔ جدید",
|
||||
"Card \"{card}\" was added to \"{board}\"" : "برگه \"{card}\" به \"{board}\" اضافه شد",
|
||||
"Open card" : "برگهٔ گشوده",
|
||||
"Close" : "بسته",
|
||||
"Create card" : "برگه بسازید",
|
||||
"Select a card" : "انتخاب یک برگه",
|
||||
"Select the card to link to a project" : "برگهای را برای ایجاد پیوند با یک پروژه انتخاب کنید",
|
||||
"Link to card" : "پیوند به برگه",
|
||||
"Select a card" : "انتخاب یک کارت",
|
||||
"Select the card to link to a project" : "کارتی را برای ایجاد پیوند با یک پروژه انتخاب کنید",
|
||||
"Link to card" : "پیوند به کارت",
|
||||
"File already exists" : "پرونده از قبل موجود است",
|
||||
"A file with the name {filename} already exists." : "پروندهای با نام {filename} از قبل موجود است.",
|
||||
"Do you want to overwrite it?" : "میخواهید روی آن بازنویسی شود؟",
|
||||
@@ -125,28 +55,21 @@ OC.L10N.register(
|
||||
"Keep existing file" : "پرونده موجود حفظ شود",
|
||||
"This board is read only" : "تخته، فقط خواندنی است",
|
||||
"Drop your files to upload" : "برای بارگذاری، پروندهها را اینجا رها کنید",
|
||||
"Add card" : "افزودن برگه",
|
||||
"Add card" : "افزودن کارت",
|
||||
"Archived cards" : "کارتهای بایگانیشده",
|
||||
"Add list" : "افزودن فهرست",
|
||||
"List name" : "نام فهرست",
|
||||
"Apply filter" : "اعمال پالایه",
|
||||
"Filter by tag" : "پالایش برحسب برچسب",
|
||||
"Filter by assigned user" : "فیلتر بر اساس کاربر اختصاص داده شده",
|
||||
"Unassigned" : "اختصاص داده نشده است",
|
||||
"Filter by due date" : "فیلتر بر اساس تاریخ مقرر",
|
||||
"Overdue" : "تاریخ گذشته",
|
||||
"Next 24 hours" : "۲۴ ساعت آینده",
|
||||
"Next 7 days" : "۷ روز آینده",
|
||||
"Next 30 days" : "۳۰ روز آینده",
|
||||
"No due date" : "بدون تاریخ سررسید",
|
||||
"Clear filter" : "پاک کردن پالایه",
|
||||
"Hide archived cards" : "برگههای بایگانی شده را مخفی کنید",
|
||||
"Show archived cards" : "نمایش کارتهای بایگانی شده",
|
||||
"Toggle compact mode" : "تغییر حالت فشرده",
|
||||
"Details" : "جزئیات",
|
||||
"Loading board" : "بارکردن تخته",
|
||||
"No lists available" : "هیچ فهرستی در دسترس نیست",
|
||||
"Create a new list to add cards to this board" : "یک فهرست جدید برای افزود برگه به این تابلو ایجاد کنید",
|
||||
"Board not found" : "تخته یافت نشد",
|
||||
"Sharing" : "همرسانی",
|
||||
"Tags" : "برچسبها",
|
||||
@@ -156,8 +79,6 @@ OC.L10N.register(
|
||||
"Undo" : "برگرداندن",
|
||||
"Deleted cards" : "کارتهای پاک شده",
|
||||
"Share board with a user, group or circle …" : "همرسانی تخته با کاربر، گروه یا حلقه...",
|
||||
"Searching for users, groups and circles …" : "جستجوی کاربران، گروهها و حلقهها…",
|
||||
"No participants found" : "هیچ شرکتی پیدا نشد",
|
||||
"Board owner" : "مالک تخته",
|
||||
"(Group)" : "(گروه)",
|
||||
"(Circle)" : "(حلقه)",
|
||||
@@ -165,56 +86,28 @@ OC.L10N.register(
|
||||
"Can share" : "میتواند همرسانی کند",
|
||||
"Can manage" : "میتواند مدیریت کند",
|
||||
"Delete" : "حذف",
|
||||
"Failed to create share with {displayName}" : "اشتراکگذاری با {displayName} ایجاد نشد",
|
||||
"Add a new list" : "فهرست جدید بیفزایید!",
|
||||
"Archive all cards" : "همهٔ برگهها را بایگانی کنید!",
|
||||
"Delete list" : "حذف فهرست",
|
||||
"Archive all cards in this list" : "تمام برگههای موجود در این فهرست را بایگانی کنید",
|
||||
"Add a new card" : "افزودن یک کارت جدید",
|
||||
"Card name" : "نام برگه",
|
||||
"List deleted" : "فهرست پاک شد",
|
||||
"Edit" : "ویرایش",
|
||||
"Add a new tag" : "افزودن یک برچسب جدید",
|
||||
"title and color value must be provided" : "نام و رنگ باید مشخص شود",
|
||||
"Board name" : "نامِ تخته",
|
||||
"Members" : "اعضا",
|
||||
"Upload new files" : "فایلهای جدید را آپلود کنید",
|
||||
"Share from Files" : "اشتراکگذاری از فایلها",
|
||||
"Pending share" : "سهم معلق",
|
||||
"Add this attachment" : "افزودن این پیوست",
|
||||
"Show in Files" : "نمایش در فایلها",
|
||||
"Download" : "بارگیری",
|
||||
"Remove attachment" : "حذف پیوست",
|
||||
"Delete Attachment" : "حذف پیوست",
|
||||
"Restore Attachment" : "بازیابی پیوست",
|
||||
"File to share" : "فایل برای اشتراکگذاری",
|
||||
"Invalid path selected" : "مسیر نامعتبر انتخاب شده است",
|
||||
"Open in sidebar view" : "در نمای نوار کناری باز کنید",
|
||||
"Open in bigger view" : "در نمای بزرگتر باز کنید",
|
||||
"Attachments" : "پیوستها",
|
||||
"Comments" : "نظرات",
|
||||
"Modified" : "تغییر یافته",
|
||||
"Created" : "ایجاد شده",
|
||||
"The title cannot be empty." : "عنوان نمیتواند خالی باشد.",
|
||||
"No comments yet. Begin the discussion!" : "هنوز نظری وجود ندارد. بحثی را آغاز کنید!",
|
||||
"Failed to load comments" : "نظرات بارگیری نشد",
|
||||
"Assign a tag to this card…" : "یک برچسب به این کارت اختصاص دهید…",
|
||||
"Assign to users" : "به کاربران اختصاص دهید",
|
||||
"Assign to users/groups/circles" : "به کاربران/ گروهها/ حلقهها اختصاص دهید",
|
||||
"Assign a user to this card…" : "اختصاص یک کاربر به این کارت…",
|
||||
"Due date" : "موعد مقرر",
|
||||
"Set a due date" : "تاریخ سررسید را تعیین کنید",
|
||||
"Remove due date" : "تاریخ سررسید را حذف کنید",
|
||||
"Select Date" : "تاریخ را انتخاب کنید",
|
||||
"Today" : "Today",
|
||||
"Tomorrow" : "فردا",
|
||||
"Next week" : "هفتهٔ بعد",
|
||||
"Next month" : "ماه بعد",
|
||||
"Save" : "ذخیره",
|
||||
"The comment cannot be empty." : "نظر نمیتواند خالی باشد.",
|
||||
"The comment cannot be longer than 1000 characters." : "نظر نمیتواند طولانیتر از ۱۰۰۰ حرف باشد.",
|
||||
"In reply to" : "در پاسخ به",
|
||||
"Cancel reply" : "لغو پاسخ",
|
||||
"Reply" : "پاسخ",
|
||||
"Update" : "بهروزرسانی",
|
||||
"Description" : "توضیحات",
|
||||
@@ -224,27 +117,16 @@ OC.L10N.register(
|
||||
"Edit description" : "ویرایش توضیحات",
|
||||
"View description" : "نمایش توضیحات",
|
||||
"Add Attachment" : "افزودن پیوست",
|
||||
"Write a description …" : "توضیح بنویس…",
|
||||
"Choose attachment" : "انتخاب پیوست",
|
||||
"(group)" : "(گروه)",
|
||||
"{count} comments, {unread} unread" : "{count} نظر، { خوانده نشده} خوانده نشده",
|
||||
"Assign to me" : "به من اختصاص دهید",
|
||||
"Unassign myself" : "واگذاری به خودم را لغو میکنم",
|
||||
"Move card" : "انتقال کارت",
|
||||
"Unarchive card" : "برگه را از بایگانی خارج کنید",
|
||||
"Archive card" : "کارت بایگانی",
|
||||
"Delete card" : "حذف کارت",
|
||||
"Move card to another board" : "انتقال کارت به تختهای دیگر",
|
||||
"List is empty" : "فهرست خالی است",
|
||||
"Card deleted" : "برگه پاک شد",
|
||||
"seconds ago" : "ثانیههایی پیش",
|
||||
"All boards" : "همه تختهها",
|
||||
"Archived boards" : "تختههای بایگانی شده",
|
||||
"Shared with you" : "با شما به اشتراک گذاشته شده است",
|
||||
"Use bigger card view" : "از نمای برگهٔ بزرگتر استفاده کنید",
|
||||
"Show boards in calendar/tasks" : "نمایش تابلوها در تقویم/ وظایف",
|
||||
"Limit deck usage of groups" : "استفاده از برگهدان گروهها را محدود کنید",
|
||||
"Limiting Deck will block users not part of those groups from creating their own boards. Users will still be able to work on boards that have been shared with them." : "محدودکردن برگهدان باعث میشود تا کاربرانی که جزو آن گروهها نیستند، تابلوهای خود را ایجاد کنند. کاربران همچنان میتوانند روی تابلوهایی کار کنند که با آنها به اشتراک گذاشته شده است.",
|
||||
"Edit board" : "ویرایش تخته",
|
||||
"An error occurred" : "خطایی روی داد",
|
||||
"This week" : "این هفته"
|
||||
|
||||
128
l10n/fa.json
128
l10n/fa.json
@@ -15,64 +15,7 @@
|
||||
"{user} has archived the board {before}" : "{user} تختهٔ {board} را بایگانی کرد",
|
||||
"You have unarchived the board {board}" : "تختهٔ {board} را از بایگانی خارج کردید",
|
||||
"{user} has unarchived the board {before}" : "{user} تختهٔ {board} را از بایگانی خارج کرد",
|
||||
"You have created a new list {stack} on board {board}" : "شما فهرست جدید {stack} را در تخته {board} ایجاد کردهاید",
|
||||
"{user} has created a new list {stack} on board {board}" : "{user} فهرست جدید {stack} را در تخته {board} ایجاد کرده است",
|
||||
"You have renamed list {before} to {stack} on board {board}" : "شما فهرست {before} را به {stack} در تخته {board} تغییر نام دادهاید",
|
||||
"{user} has renamed list {before} to {stack} on board {board}" : "{user} فهرست {before} را به {stack} در تخته {board} تغییر نام داده است",
|
||||
"You have deleted list {stack} on board {board}" : "شما فهرست {stack} را در تخته {board} حذف کرده اید",
|
||||
"{user} has deleted list {stack} on board {board}" : "{user} فهرست {stack} را در تخته {board} حذف کرده است",
|
||||
"You have created card {card} in list {stack} on board {board}" : "شما برگه {card} را در فهرست {stack} در تخته {board} ایجاد کرده اید",
|
||||
"{user} has created card {card} in list {stack} on board {board}" : "ٰ{user} برگه {card} را در فهرست {stack} در تخته {board} ایجاد کرده است",
|
||||
"You have deleted card {card} in list {stack} on board {board}" : "شما برگه {card} را در فهرست {stack} در تخته {board} حذف کرده اید",
|
||||
"{user} has deleted card {card} in list {stack} on board {board}" : "{user} برگه {card} را در فهرست {stack} در تخته {board} حذف کرده است",
|
||||
"You have renamed the card {before} to {card}" : "شما نام برگه را {پیش از} به {card} تغییر داده اید",
|
||||
"{user} has renamed the card {before} to {card}" : "{user} نام برگه را {پیش از} به {card} تغییر داده است",
|
||||
"You have added a description to card {card} in list {stack} on board {board}" : "شما یک توضیح به برگه {card} در فهرست {stack} در تخته {board} اضافه کرده اید",
|
||||
"{user} has added a description to card {card} in list {stack} on board {board}" : "{user} توضیحاتی را به برگه {card} در فهرست {stack} on board {board} اضافه کرده است.",
|
||||
"You have updated the description of card {card} in list {stack} on board {board}" : "شما شرح برگه {card} را در فهرست {stack} در تخته {board} به روز کرده اید.",
|
||||
"{user} has updated the description of the card {card} in list {stack} on board {board}" : "{user} توضیحات برگه {card} را در فهرست {stack} on board {board} به روز کرده است.",
|
||||
"You have archived card {card} in list {stack} on board {board}" : "شما برگه {card} را در فهرست {stack} در تخته {board} بایگانی کرده اید",
|
||||
"{user} has archived card {card} in list {stack} on board {board}" : "{user} برگه {card} را در فهرست {stack} در تخته {board} بایگانی کرده است",
|
||||
"You have unarchived card {card} in list {stack} on board {board}" : "شما برگه {card} را در فهرست {stack} در تخته {board} از بایگانی خارج کردهاید.",
|
||||
"{user} has unarchived card {card} in list {stack} on board {board}" : "{user} برگه {card} را در فهرست {stack} در تخته {board} از بایگانی خارج کرده است",
|
||||
"You have removed the due date of card {card}" : "شما تاریخ سررسید برگه {card} را حذف کرده اید",
|
||||
"{user} has removed the due date of card {card}" : "{user} تاریخ سررسید برگه {card} را حذف کرده است",
|
||||
"You have set the due date of card {card} to {after}" : "شما تاریخ سررسید برگه {card} را روی {after} تنظیم کرده اید",
|
||||
"{user} has set the due date of card {card} to {after}" : "{user} تاریخ سررسید برگه {card} را روی {after} قرار داده است",
|
||||
"You have updated the due date of card {card} to {after}" : "شما تاریخ سررسید برگه {card} را به {after} به روز کرده اید",
|
||||
"{user} has updated the due date of card {card} to {after}" : "{user} تاریخ سررسید برگه {card} را به {after} به روز کرده است",
|
||||
"You have added the tag {label} to card {card} in list {stack} on board {board}" : "شما برچسب {label} را به برگه {card} در فهرست {stack} در تخته {board} اضافه کردهاید.",
|
||||
"{user} has added the tag {label} to card {card} in list {stack} on board {board}" : "{user} برچسب {label} را بهبرگه {card} در فهرست {stack} در تخته {board} اضافه کرده است.",
|
||||
"You have removed the tag {label} from card {card} in list {stack} on board {board}" : "شما برچسب {label} را از برگه {card} در فهرست {stack} در تخته {board} حذف کردید.",
|
||||
"{user} has removed the tag {label} from card {card} in list {stack} on board {board}" : "{user} برچسب {label} را از برگه {card} در فهرست {stack} در تخته {board} حذف کرده است.",
|
||||
"You have assigned {assigneduser} to card {card} on board {board}" : "شما {کاربر اختصاص یافته} را به برگه {card} در تخته {board} اختصاص دادهاید.",
|
||||
"{user} has assigned {assigneduser} to card {card} on board {board}" : "{user} {assigneduser} را به برگه {card} در تخته {board} اختصاص داده است",
|
||||
"You have unassigned {assigneduser} from card {card} on board {board}" : "شما {تخصیص کاربر} را از برگه {card} در تخته {board} لغو کردهاید.",
|
||||
"{user} has unassigned {assigneduser} from card {card} on board {board}" : "{user} تخصیص {assigneduser} را از برگه {card} در تخته لغو کرده است",
|
||||
"You have moved the card {card} from list {stackBefore} to {stack}" : "شما برگه {card} را از فهرست {stackBefore} به {stack} منتقل کرده اید",
|
||||
"{user} has moved the card {card} from list {stackBefore} to {stack}" : "{user} برگه {card} را از فهرست {stackBefore} به {stack} منتقل کرده است",
|
||||
"You have added the attachment {attachment} to card {card}" : "شما پیوست {attachment} را به برگه {card} اضافه کردهاید.",
|
||||
"{user} has added the attachment {attachment} to card {card}" : "{user} پیوست {attachment} را به برگه {card} اضافه کرده است",
|
||||
"You have updated the attachment {attachment} on card {card}" : "شما پیوست {attachment} را در برگه {card} به روز کرده اید",
|
||||
"{user} has updated the attachment {attachment} on card {card}" : "{user} پیوست {attachment} را در برگه {card} به روز کرده است",
|
||||
"You have deleted the attachment {attachment} from card {card}" : "شما پیوست {attachment} را از برگه {card} حذف کرده اید",
|
||||
"{user} has deleted the attachment {attachment} from card {card}" : "{user} پیوست {attachment} را ازبرگه {card} حذف کرده است",
|
||||
"You have restored the attachment {attachment} to card {card}" : "شما پیوست {attachment} را به برگه {card} بازیابی کرده اید",
|
||||
"{user} has restored the attachment {attachment} to card {card}" : "{user} پیوست {attachment} را به برگه {card} بازیابی کرده است",
|
||||
"You have commented on card {card}" : "شما در مورد برگه {card} نظر داده اید",
|
||||
"{user} has commented on card {card}" : "{user} روی برگه {card} نظر داده است",
|
||||
"A <strong>card description</strong> inside the Deck app has been changed" : "شرح برگه در برگهدان تغییر کرده است",
|
||||
"Deck" : "برگهدان",
|
||||
"Changes in the <strong>Deck app</strong>" : "تغییرات در برگهدان",
|
||||
"A <strong>comment</strong> was created on a card" : "یک نظر روی یک برگه ایجاد شد",
|
||||
"Upcoming cards" : "برگههای آینده",
|
||||
"Personal" : "شخصی",
|
||||
"{user} has assigned the card {deck-card} on {deck-board} to you." : "{user} برگه {deck-card} در {deck-board} را به شما اختصاص داده است.",
|
||||
"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" : "برگهٔ نظر",
|
||||
"No data was provided to create an attachment." : "هیچ داده ای برای ایجاد پیوست ارائه نشد.",
|
||||
"Finished" : "تمام شده",
|
||||
"To review" : "برای بازبینی",
|
||||
"Action needed" : "نیازمند اقدام",
|
||||
@@ -93,29 +36,16 @@
|
||||
"Could not write file to disk" : "عدم موفقیت در نوشتن پرونده روی حافظه",
|
||||
"A PHP extension stopped the file upload" : "یک افزونه پیاچپی مانع بارگذاری پرونده شد",
|
||||
"No file uploaded or file size exceeds maximum of %s" : "پروندهای بارگذاری نشد و یا حجم پرونده بیش از بیشینه مجاز %s بود",
|
||||
"Card not found" : "برگه یافت نشد",
|
||||
"Path is already shared with this card" : "مسیر قبلاً با این برگه به اشتراک گذاشته شده است",
|
||||
"Invalid date, date format must be YYYY-MM-DD" : "تاریخ نامعتبر است، قالب تاریخ باید YYYY-MM-DD باشد",
|
||||
"Personal planning and team project organization" : "برنامهریزی شخصی و سازماندهی کار گروهی",
|
||||
"Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.\n\n\n- 📥 Add your tasks to cards and put them in order\n- 📄 Write down additional notes in Markdown\n- 🔖 Assign labels for even better organization\n- 👥 Share with your team, friends or family\n- 📎 Attach files and embed them in your Markdown description\n- 💬 Discuss with your team using comments\n- ⚡ Keep track of changes in the activity stream\n- 🚀 Get your project organized" : "برگهدان یک ابزار سازماندهی سبک کانبان است که هدف آن برنامهریزی شخصی و سازماندهی پروژه برای گروههای مرتبط با Nextcloud است.\n\n\n- 📥 وظایف خود را به برگهها اضافه کنید و آنها را مرتب کنید\n- 📄 یادداشتهای اضافی را در Markdown یادداشت کنید\n- 🔖 برچسبهایی را برای سازماندهی بهتر اختصاص دهید\n- 👥 با گروه، دوستان یا خانوادهٔ خود به اشتراک بگذارید\n- 📎 فایلها را ضمیمه کنید و آنها را در توضیحات Markdown خود قرار دهید\n- 💬 با استفاده از نظرات با تیم خود بحث کنید\n- ⚡ تغییرات در جریان فعالیت را پیگیری کنید\n- 🚀 پروژه خود را سازماندهی کنید",
|
||||
"Card details" : "جزئیات برگه",
|
||||
"Card details" : "جزئیات کارت",
|
||||
"Add board" : "تخته را اضافه کنید",
|
||||
"Select the board to link to a project" : "تختهای را برای ایجاد پیوند با یک پروژه انتخاب کنید",
|
||||
"Search by board title" : "جستجو بر اساس عنوان تخته",
|
||||
"Select board" : "انتخاب تخته",
|
||||
"Create a new card" : "برگهٔ جدید بسازید",
|
||||
"Select a board" : "انتخاب یک تخته",
|
||||
"Select a list" : "یک فهرست برگزینید",
|
||||
"Card title" : "عنوان برگه",
|
||||
"Cancel" : "لغو",
|
||||
"Creating the new card …" : "ساختن برگهٔ جدید",
|
||||
"Card \"{card}\" was added to \"{board}\"" : "برگه \"{card}\" به \"{board}\" اضافه شد",
|
||||
"Open card" : "برگهٔ گشوده",
|
||||
"Close" : "بسته",
|
||||
"Create card" : "برگه بسازید",
|
||||
"Select a card" : "انتخاب یک برگه",
|
||||
"Select the card to link to a project" : "برگهای را برای ایجاد پیوند با یک پروژه انتخاب کنید",
|
||||
"Link to card" : "پیوند به برگه",
|
||||
"Select a card" : "انتخاب یک کارت",
|
||||
"Select the card to link to a project" : "کارتی را برای ایجاد پیوند با یک پروژه انتخاب کنید",
|
||||
"Link to card" : "پیوند به کارت",
|
||||
"File already exists" : "پرونده از قبل موجود است",
|
||||
"A file with the name {filename} already exists." : "پروندهای با نام {filename} از قبل موجود است.",
|
||||
"Do you want to overwrite it?" : "میخواهید روی آن بازنویسی شود؟",
|
||||
@@ -123,28 +53,21 @@
|
||||
"Keep existing file" : "پرونده موجود حفظ شود",
|
||||
"This board is read only" : "تخته، فقط خواندنی است",
|
||||
"Drop your files to upload" : "برای بارگذاری، پروندهها را اینجا رها کنید",
|
||||
"Add card" : "افزودن برگه",
|
||||
"Add card" : "افزودن کارت",
|
||||
"Archived cards" : "کارتهای بایگانیشده",
|
||||
"Add list" : "افزودن فهرست",
|
||||
"List name" : "نام فهرست",
|
||||
"Apply filter" : "اعمال پالایه",
|
||||
"Filter by tag" : "پالایش برحسب برچسب",
|
||||
"Filter by assigned user" : "فیلتر بر اساس کاربر اختصاص داده شده",
|
||||
"Unassigned" : "اختصاص داده نشده است",
|
||||
"Filter by due date" : "فیلتر بر اساس تاریخ مقرر",
|
||||
"Overdue" : "تاریخ گذشته",
|
||||
"Next 24 hours" : "۲۴ ساعت آینده",
|
||||
"Next 7 days" : "۷ روز آینده",
|
||||
"Next 30 days" : "۳۰ روز آینده",
|
||||
"No due date" : "بدون تاریخ سررسید",
|
||||
"Clear filter" : "پاک کردن پالایه",
|
||||
"Hide archived cards" : "برگههای بایگانی شده را مخفی کنید",
|
||||
"Show archived cards" : "نمایش کارتهای بایگانی شده",
|
||||
"Toggle compact mode" : "تغییر حالت فشرده",
|
||||
"Details" : "جزئیات",
|
||||
"Loading board" : "بارکردن تخته",
|
||||
"No lists available" : "هیچ فهرستی در دسترس نیست",
|
||||
"Create a new list to add cards to this board" : "یک فهرست جدید برای افزود برگه به این تابلو ایجاد کنید",
|
||||
"Board not found" : "تخته یافت نشد",
|
||||
"Sharing" : "همرسانی",
|
||||
"Tags" : "برچسبها",
|
||||
@@ -154,8 +77,6 @@
|
||||
"Undo" : "برگرداندن",
|
||||
"Deleted cards" : "کارتهای پاک شده",
|
||||
"Share board with a user, group or circle …" : "همرسانی تخته با کاربر، گروه یا حلقه...",
|
||||
"Searching for users, groups and circles …" : "جستجوی کاربران، گروهها و حلقهها…",
|
||||
"No participants found" : "هیچ شرکتی پیدا نشد",
|
||||
"Board owner" : "مالک تخته",
|
||||
"(Group)" : "(گروه)",
|
||||
"(Circle)" : "(حلقه)",
|
||||
@@ -163,56 +84,28 @@
|
||||
"Can share" : "میتواند همرسانی کند",
|
||||
"Can manage" : "میتواند مدیریت کند",
|
||||
"Delete" : "حذف",
|
||||
"Failed to create share with {displayName}" : "اشتراکگذاری با {displayName} ایجاد نشد",
|
||||
"Add a new list" : "فهرست جدید بیفزایید!",
|
||||
"Archive all cards" : "همهٔ برگهها را بایگانی کنید!",
|
||||
"Delete list" : "حذف فهرست",
|
||||
"Archive all cards in this list" : "تمام برگههای موجود در این فهرست را بایگانی کنید",
|
||||
"Add a new card" : "افزودن یک کارت جدید",
|
||||
"Card name" : "نام برگه",
|
||||
"List deleted" : "فهرست پاک شد",
|
||||
"Edit" : "ویرایش",
|
||||
"Add a new tag" : "افزودن یک برچسب جدید",
|
||||
"title and color value must be provided" : "نام و رنگ باید مشخص شود",
|
||||
"Board name" : "نامِ تخته",
|
||||
"Members" : "اعضا",
|
||||
"Upload new files" : "فایلهای جدید را آپلود کنید",
|
||||
"Share from Files" : "اشتراکگذاری از فایلها",
|
||||
"Pending share" : "سهم معلق",
|
||||
"Add this attachment" : "افزودن این پیوست",
|
||||
"Show in Files" : "نمایش در فایلها",
|
||||
"Download" : "بارگیری",
|
||||
"Remove attachment" : "حذف پیوست",
|
||||
"Delete Attachment" : "حذف پیوست",
|
||||
"Restore Attachment" : "بازیابی پیوست",
|
||||
"File to share" : "فایل برای اشتراکگذاری",
|
||||
"Invalid path selected" : "مسیر نامعتبر انتخاب شده است",
|
||||
"Open in sidebar view" : "در نمای نوار کناری باز کنید",
|
||||
"Open in bigger view" : "در نمای بزرگتر باز کنید",
|
||||
"Attachments" : "پیوستها",
|
||||
"Comments" : "نظرات",
|
||||
"Modified" : "تغییر یافته",
|
||||
"Created" : "ایجاد شده",
|
||||
"The title cannot be empty." : "عنوان نمیتواند خالی باشد.",
|
||||
"No comments yet. Begin the discussion!" : "هنوز نظری وجود ندارد. بحثی را آغاز کنید!",
|
||||
"Failed to load comments" : "نظرات بارگیری نشد",
|
||||
"Assign a tag to this card…" : "یک برچسب به این کارت اختصاص دهید…",
|
||||
"Assign to users" : "به کاربران اختصاص دهید",
|
||||
"Assign to users/groups/circles" : "به کاربران/ گروهها/ حلقهها اختصاص دهید",
|
||||
"Assign a user to this card…" : "اختصاص یک کاربر به این کارت…",
|
||||
"Due date" : "موعد مقرر",
|
||||
"Set a due date" : "تاریخ سررسید را تعیین کنید",
|
||||
"Remove due date" : "تاریخ سررسید را حذف کنید",
|
||||
"Select Date" : "تاریخ را انتخاب کنید",
|
||||
"Today" : "Today",
|
||||
"Tomorrow" : "فردا",
|
||||
"Next week" : "هفتهٔ بعد",
|
||||
"Next month" : "ماه بعد",
|
||||
"Save" : "ذخیره",
|
||||
"The comment cannot be empty." : "نظر نمیتواند خالی باشد.",
|
||||
"The comment cannot be longer than 1000 characters." : "نظر نمیتواند طولانیتر از ۱۰۰۰ حرف باشد.",
|
||||
"In reply to" : "در پاسخ به",
|
||||
"Cancel reply" : "لغو پاسخ",
|
||||
"Reply" : "پاسخ",
|
||||
"Update" : "بهروزرسانی",
|
||||
"Description" : "توضیحات",
|
||||
@@ -222,27 +115,16 @@
|
||||
"Edit description" : "ویرایش توضیحات",
|
||||
"View description" : "نمایش توضیحات",
|
||||
"Add Attachment" : "افزودن پیوست",
|
||||
"Write a description …" : "توضیح بنویس…",
|
||||
"Choose attachment" : "انتخاب پیوست",
|
||||
"(group)" : "(گروه)",
|
||||
"{count} comments, {unread} unread" : "{count} نظر، { خوانده نشده} خوانده نشده",
|
||||
"Assign to me" : "به من اختصاص دهید",
|
||||
"Unassign myself" : "واگذاری به خودم را لغو میکنم",
|
||||
"Move card" : "انتقال کارت",
|
||||
"Unarchive card" : "برگه را از بایگانی خارج کنید",
|
||||
"Archive card" : "کارت بایگانی",
|
||||
"Delete card" : "حذف کارت",
|
||||
"Move card to another board" : "انتقال کارت به تختهای دیگر",
|
||||
"List is empty" : "فهرست خالی است",
|
||||
"Card deleted" : "برگه پاک شد",
|
||||
"seconds ago" : "ثانیههایی پیش",
|
||||
"All boards" : "همه تختهها",
|
||||
"Archived boards" : "تختههای بایگانی شده",
|
||||
"Shared with you" : "با شما به اشتراک گذاشته شده است",
|
||||
"Use bigger card view" : "از نمای برگهٔ بزرگتر استفاده کنید",
|
||||
"Show boards in calendar/tasks" : "نمایش تابلوها در تقویم/ وظایف",
|
||||
"Limit deck usage of groups" : "استفاده از برگهدان گروهها را محدود کنید",
|
||||
"Limiting Deck will block users not part of those groups from creating their own boards. Users will still be able to work on boards that have been shared with them." : "محدودکردن برگهدان باعث میشود تا کاربرانی که جزو آن گروهها نیستند، تابلوهای خود را ایجاد کنند. کاربران همچنان میتوانند روی تابلوهایی کار کنند که با آنها به اشتراک گذاشته شده است.",
|
||||
"Edit board" : "ویرایش تخته",
|
||||
"An error occurred" : "خطایی روی داد",
|
||||
"This week" : "این هفته"
|
||||
|
||||
10
l10n/fr.js
10
l10n/fr.js
@@ -100,12 +100,10 @@ OC.L10N.register(
|
||||
"Could not write file to disk" : "Impossible d'écrire le fichier sur le disque",
|
||||
"A PHP extension stopped the file upload" : "Une extension PHP a arrêté l'envoi du fichier",
|
||||
"No file uploaded or file size exceeds maximum of %s" : "Aucun fichier envoyé ou la taille du fichier dépasse le maximum de %s",
|
||||
"This comment has more than %s characters.\nAdded as an attachment to the card with name %s.\nAccessible on URL: %s." : "Ce commentaire comporte plus de %s caractères.\nAjouté en pièce jointe à la carte intitulée %s.\nAccessible depuis l'URL: %s.",
|
||||
"Card not found" : "Carte introuvable",
|
||||
"Path is already shared with this card" : "Le chemin est déjà partagé avec cette carte",
|
||||
"Invalid date, date format must be YYYY-MM-DD" : "Date non valable, le format de la date doit être AAAA-MM-JJ",
|
||||
"Personal planning and team project organization" : "Agenda personnel et organisation projet",
|
||||
"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",
|
||||
"Card details" : "Détails de la carte",
|
||||
"Add board" : "Ajouter un tableau",
|
||||
"Select the board to link to a project" : "Sélection le tableau pour faire le lien avec un projet.",
|
||||
@@ -185,7 +183,7 @@ OC.L10N.register(
|
||||
"Board name" : "Nom du tableau",
|
||||
"Members" : "Membres",
|
||||
"Upload new files" : "Téléverser de nouveaux fichiers",
|
||||
"Share from Files" : "Choisir depuis Fichiers",
|
||||
"Share from Files" : "Partager vos fichiers déjà stockés",
|
||||
"Pending share" : "Partage en attente",
|
||||
"Add this attachment" : "Ajouter cette pièce jointe",
|
||||
"Show in Files" : "Afficher dans Fichiers",
|
||||
@@ -241,7 +239,6 @@ OC.L10N.register(
|
||||
"Archive card" : "Archiver la carte",
|
||||
"Delete card" : "Supprimer la carte",
|
||||
"Move card to another board" : "Déplacer la carte vers un autre tableau ",
|
||||
"List is empty" : "La liste est vide",
|
||||
"Card deleted" : "Carte supprimée",
|
||||
"seconds ago" : "à l'instant",
|
||||
"All boards" : "Tous les tableaux",
|
||||
@@ -287,9 +284,6 @@ OC.L10N.register(
|
||||
"Share with a Deck card" : "Partager avec Deck en tant que carte",
|
||||
"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",
|
||||
"Creating the new card…" : "Création de la nouvelle carte…",
|
||||
"\"{card}\" was added to \"{board}\"" : "La carte \"{card}\" a été ajoutée au tableau \"{board}\"",
|
||||
"(circle)" : "(cercle)"
|
||||
"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"
|
||||
},
|
||||
"nplurals=2; plural=(n > 1);");
|
||||
|
||||
10
l10n/fr.json
10
l10n/fr.json
@@ -98,12 +98,10 @@
|
||||
"Could not write file to disk" : "Impossible d'écrire le fichier sur le disque",
|
||||
"A PHP extension stopped the file upload" : "Une extension PHP a arrêté l'envoi du fichier",
|
||||
"No file uploaded or file size exceeds maximum of %s" : "Aucun fichier envoyé ou la taille du fichier dépasse le maximum de %s",
|
||||
"This comment has more than %s characters.\nAdded as an attachment to the card with name %s.\nAccessible on URL: %s." : "Ce commentaire comporte plus de %s caractères.\nAjouté en pièce jointe à la carte intitulée %s.\nAccessible depuis l'URL: %s.",
|
||||
"Card not found" : "Carte introuvable",
|
||||
"Path is already shared with this card" : "Le chemin est déjà partagé avec cette carte",
|
||||
"Invalid date, date format must be YYYY-MM-DD" : "Date non valable, le format de la date doit être AAAA-MM-JJ",
|
||||
"Personal planning and team project organization" : "Agenda personnel et organisation projet",
|
||||
"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",
|
||||
"Card details" : "Détails de la carte",
|
||||
"Add board" : "Ajouter un tableau",
|
||||
"Select the board to link to a project" : "Sélection le tableau pour faire le lien avec un projet.",
|
||||
@@ -183,7 +181,7 @@
|
||||
"Board name" : "Nom du tableau",
|
||||
"Members" : "Membres",
|
||||
"Upload new files" : "Téléverser de nouveaux fichiers",
|
||||
"Share from Files" : "Choisir depuis Fichiers",
|
||||
"Share from Files" : "Partager vos fichiers déjà stockés",
|
||||
"Pending share" : "Partage en attente",
|
||||
"Add this attachment" : "Ajouter cette pièce jointe",
|
||||
"Show in Files" : "Afficher dans Fichiers",
|
||||
@@ -239,7 +237,6 @@
|
||||
"Archive card" : "Archiver la carte",
|
||||
"Delete card" : "Supprimer la carte",
|
||||
"Move card to another board" : "Déplacer la carte vers un autre tableau ",
|
||||
"List is empty" : "La liste est vide",
|
||||
"Card deleted" : "Carte supprimée",
|
||||
"seconds ago" : "à l'instant",
|
||||
"All boards" : "Tous les tableaux",
|
||||
@@ -285,9 +282,6 @@
|
||||
"Share with a Deck card" : "Partager avec Deck en tant que carte",
|
||||
"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",
|
||||
"Creating the new card…" : "Création de la nouvelle carte…",
|
||||
"\"{card}\" was added to \"{board}\"" : "La carte \"{card}\" a été ajoutée au tableau \"{board}\"",
|
||||
"(circle)" : "(cercle)"
|
||||
"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"
|
||||
},"pluralForm" :"nplurals=2; plural=(n > 1);"
|
||||
}
|
||||
@@ -100,12 +100,10 @@ OC.L10N.register(
|
||||
"Could not write file to disk" : "Nem lehet a fájlt lemezre írni",
|
||||
"A PHP extension stopped the file upload" : "A PHP kiterjesztés megállította a fájl feltöltését",
|
||||
"No file uploaded or file size exceeds maximum of %s" : "Nincs fájl feltöltve, vagy a fájl meghaladja a maximumot: %s",
|
||||
"This comment has more than %s characters.\nAdded as an attachment to the card with name %s.\nAccessible on URL: %s." : "Ez a megjegyzés több mint %s karakter hosszú.\nMellékletként lett hozzáadva a(z) %s nevű kártyához.\nEzen az URL-en érhető el: %s.",
|
||||
"Card not found" : "A kártya nem található",
|
||||
"Path is already shared with this card" : "Az útvonal már meg van osztva ezzel a kártyával",
|
||||
"Invalid date, date format must be YYYY-MM-DD" : "Érvénytelen dátum, a dátumnak YYYY-MM-DD formátumúnak kell lennie",
|
||||
"Personal planning and team project organization" : "Személyes tervezés és csapatos projektszervezés",
|
||||
"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" : "A Kártyák egy kanban-stílusú szervezőeszköz, amely a személyes tervezést és a csapatok projektszervezését célozza, a Nextcloudba integrálva.\n\n\n- 📥 Saját feladatok kártyákhoz adása, és azok sorrendezése\n- 📄 További jegyzetek leírása Markdownban\n- 🔖 Címkék hozzárendelése a még jobb rendszerezés miatt\n- 👥 Megosztás a csapattal, barátokkal vagy családdal\n- 📎 Fájlok hozzáadása mellékletként, vagy beágyazás a Markdown leírásba\n- 💬 Megbeszélés a csapattal hozzászólások használatával\n- ⚡ A változások követése a tevékenységnaplóban\n- 🚀 Rendszerezze a projektjét",
|
||||
"Card details" : "Kártya részletei",
|
||||
"Add board" : "Tábla hozzáadása",
|
||||
"Select the board to link to a project" : "Válasszon ki egy táblát, amely egy projektre fog hivatkozni",
|
||||
@@ -241,7 +239,6 @@ OC.L10N.register(
|
||||
"Archive card" : "Kártya archiválása",
|
||||
"Delete card" : "Kártya törlése",
|
||||
"Move card to another board" : "Kártya áthelyezése egy másik táblára",
|
||||
"List is empty" : "A lista üres",
|
||||
"Card deleted" : "Kártya törölve",
|
||||
"seconds ago" : "másodperce",
|
||||
"All boards" : "Az összes tábla",
|
||||
@@ -287,9 +284,6 @@ OC.L10N.register(
|
||||
"Share with a Deck card" : "Megosztás kártyával",
|
||||
"Share {file} with a Deck card" : "A(z) {file} megosztása egy kártyával",
|
||||
"Share" : "Megosztás",
|
||||
"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" : "A Kártyák egy kanban-stílusú szervezőeszköz, amely a személyes tervezést és a csapatok projektszervezését célozza, a Nextcloudba integrálva.\n\n\n- 📥 Saját feladatok kártyákhoz adása, és azok sorrendezése\n- 📄 További jegyzetek leírása markdownban\n- 🔖 Címkék hozzárendelése a még jobb rendszerezés miatt\n- 👥 Megosztás a csapattal, barátokkal vagy családdal\n- 📎 Fájlok hozzáadása mellékletként, vagy beágyazás a markdown leírásba\n- 💬 Megbeszélés a csapattal hozzászólások használatával\n- ⚡ A változások követése a tevékenységnaplóban\n- 🚀 Rendszerezze a projektjét",
|
||||
"Creating the new card…" : "Új kártya létrehozása…",
|
||||
"\"{card}\" was added to \"{board}\"" : "A(z) „{card}” hozzáadva a(z) „{board}” táblához",
|
||||
"(circle)" : "(kör)"
|
||||
"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" : "A Kártyák egy kanban-stílusú szervezőeszköz, amely a személyes tervezést és a csapatok projektszervezését célozza, a Nextcloudba integrálva.\n\n\n- 📥 Saját feladatok kártyákhoz adása, és azok sorrendezése\n- 📄 További jegyzetek leírása markdownban\n- 🔖 Címkék hozzárendelése a még jobb rendszerezés miatt\n- 👥 Megosztás a csapattal, barátokkal vagy családdal\n- 📎 Fájlok hozzáadása mellékletként, vagy beágyazás a markdown leírásba\n- 💬 Megbeszélés a csapattal hozzászólások használatával\n- ⚡ A változások követése a tevékenységnaplóban\n- 🚀 Rendszerezze a projektjét"
|
||||
},
|
||||
"nplurals=2; plural=(n != 1);");
|
||||
|
||||
@@ -98,12 +98,10 @@
|
||||
"Could not write file to disk" : "Nem lehet a fájlt lemezre írni",
|
||||
"A PHP extension stopped the file upload" : "A PHP kiterjesztés megállította a fájl feltöltését",
|
||||
"No file uploaded or file size exceeds maximum of %s" : "Nincs fájl feltöltve, vagy a fájl meghaladja a maximumot: %s",
|
||||
"This comment has more than %s characters.\nAdded as an attachment to the card with name %s.\nAccessible on URL: %s." : "Ez a megjegyzés több mint %s karakter hosszú.\nMellékletként lett hozzáadva a(z) %s nevű kártyához.\nEzen az URL-en érhető el: %s.",
|
||||
"Card not found" : "A kártya nem található",
|
||||
"Path is already shared with this card" : "Az útvonal már meg van osztva ezzel a kártyával",
|
||||
"Invalid date, date format must be YYYY-MM-DD" : "Érvénytelen dátum, a dátumnak YYYY-MM-DD formátumúnak kell lennie",
|
||||
"Personal planning and team project organization" : "Személyes tervezés és csapatos projektszervezés",
|
||||
"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" : "A Kártyák egy kanban-stílusú szervezőeszköz, amely a személyes tervezést és a csapatok projektszervezését célozza, a Nextcloudba integrálva.\n\n\n- 📥 Saját feladatok kártyákhoz adása, és azok sorrendezése\n- 📄 További jegyzetek leírása Markdownban\n- 🔖 Címkék hozzárendelése a még jobb rendszerezés miatt\n- 👥 Megosztás a csapattal, barátokkal vagy családdal\n- 📎 Fájlok hozzáadása mellékletként, vagy beágyazás a Markdown leírásba\n- 💬 Megbeszélés a csapattal hozzászólások használatával\n- ⚡ A változások követése a tevékenységnaplóban\n- 🚀 Rendszerezze a projektjét",
|
||||
"Card details" : "Kártya részletei",
|
||||
"Add board" : "Tábla hozzáadása",
|
||||
"Select the board to link to a project" : "Válasszon ki egy táblát, amely egy projektre fog hivatkozni",
|
||||
@@ -239,7 +237,6 @@
|
||||
"Archive card" : "Kártya archiválása",
|
||||
"Delete card" : "Kártya törlése",
|
||||
"Move card to another board" : "Kártya áthelyezése egy másik táblára",
|
||||
"List is empty" : "A lista üres",
|
||||
"Card deleted" : "Kártya törölve",
|
||||
"seconds ago" : "másodperce",
|
||||
"All boards" : "Az összes tábla",
|
||||
@@ -285,9 +282,6 @@
|
||||
"Share with a Deck card" : "Megosztás kártyával",
|
||||
"Share {file} with a Deck card" : "A(z) {file} megosztása egy kártyával",
|
||||
"Share" : "Megosztás",
|
||||
"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" : "A Kártyák egy kanban-stílusú szervezőeszköz, amely a személyes tervezést és a csapatok projektszervezését célozza, a Nextcloudba integrálva.\n\n\n- 📥 Saját feladatok kártyákhoz adása, és azok sorrendezése\n- 📄 További jegyzetek leírása markdownban\n- 🔖 Címkék hozzárendelése a még jobb rendszerezés miatt\n- 👥 Megosztás a csapattal, barátokkal vagy családdal\n- 📎 Fájlok hozzáadása mellékletként, vagy beágyazás a markdown leírásba\n- 💬 Megbeszélés a csapattal hozzászólások használatával\n- ⚡ A változások követése a tevékenységnaplóban\n- 🚀 Rendszerezze a projektjét",
|
||||
"Creating the new card…" : "Új kártya létrehozása…",
|
||||
"\"{card}\" was added to \"{board}\"" : "A(z) „{card}” hozzáadva a(z) „{board}” táblához",
|
||||
"(circle)" : "(kör)"
|
||||
"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" : "A Kártyák egy kanban-stílusú szervezőeszköz, amely a személyes tervezést és a csapatok projektszervezését célozza, a Nextcloudba integrálva.\n\n\n- 📥 Saját feladatok kártyákhoz adása, és azok sorrendezése\n- 📄 További jegyzetek leírása markdownban\n- 🔖 Címkék hozzárendelése a még jobb rendszerezés miatt\n- 👥 Megosztás a csapattal, barátokkal vagy családdal\n- 📎 Fájlok hozzáadása mellékletként, vagy beágyazás a markdown leírásba\n- 💬 Megbeszélés a csapattal hozzászólások használatával\n- ⚡ A változások követése a tevékenységnaplóban\n- 🚀 Rendszerezze a projektjét"
|
||||
},"pluralForm" :"nplurals=2; plural=(n != 1);"
|
||||
}
|
||||
@@ -100,12 +100,10 @@ OC.L10N.register(
|
||||
"Could not write file to disk" : "Impossibile scrivere il file su disco",
|
||||
"A PHP extension stopped the file upload" : "Un'estensione PHP ha fermato il caricamento del file",
|
||||
"No file uploaded or file size exceeds maximum of %s" : "Nessun file caricato o la dimensione del file supera il massimo di %s",
|
||||
"This comment has more than %s characters.\nAdded as an attachment to the card with name %s.\nAccessible on URL: %s." : "Questo commento contiene più di %s caratteri.\nAggiunto come allegato alla scheda con nome %s.\nAccessibile su URL: %s.",
|
||||
"Card not found" : "Scheda non trovata",
|
||||
"Path is already shared with this card" : "Il percorso è già condiviso con questa scheda",
|
||||
"Invalid date, date format must be YYYY-MM-DD" : "Data non valida, il formato della data deve essere AAAA-MM-GG",
|
||||
"Personal planning and team project organization" : "Pianificazione personale e organizzazione dei progetti di squadra",
|
||||
"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",
|
||||
"Card details" : "Dettagli scheda",
|
||||
"Add board" : "Aggiungi lavagna",
|
||||
"Select the board to link to a project" : "Seleziona la lavagna da collegare a un progetto",
|
||||
@@ -241,7 +239,6 @@ OC.L10N.register(
|
||||
"Archive card" : "Archivia scheda",
|
||||
"Delete card" : "Elimina scheda",
|
||||
"Move card to another board" : "Sposta scheda in un'altra lavagna",
|
||||
"List is empty" : "L'elenco è vuoto",
|
||||
"Card deleted" : "Scheda eliminata",
|
||||
"seconds ago" : "secondi fa",
|
||||
"All boards" : "Tutte le lavagne",
|
||||
@@ -287,9 +284,6 @@ OC.L10N.register(
|
||||
"Share with a Deck card" : "Condividi con una scheda di Deck",
|
||||
"Share {file} with a Deck card" : "Condividi {file} con una scheda di Deck",
|
||||
"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",
|
||||
"Creating the new card…" : "Creazione della nuova scheda...",
|
||||
"\"{card}\" was added to \"{board}\"" : "\"{card}\" è stata aggiunta a \"{board}\"",
|
||||
"(circle)" : "(cerchia)"
|
||||
"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"
|
||||
},
|
||||
"nplurals=2; plural=(n != 1);");
|
||||
|
||||
@@ -98,12 +98,10 @@
|
||||
"Could not write file to disk" : "Impossibile scrivere il file su disco",
|
||||
"A PHP extension stopped the file upload" : "Un'estensione PHP ha fermato il caricamento del file",
|
||||
"No file uploaded or file size exceeds maximum of %s" : "Nessun file caricato o la dimensione del file supera il massimo di %s",
|
||||
"This comment has more than %s characters.\nAdded as an attachment to the card with name %s.\nAccessible on URL: %s." : "Questo commento contiene più di %s caratteri.\nAggiunto come allegato alla scheda con nome %s.\nAccessibile su URL: %s.",
|
||||
"Card not found" : "Scheda non trovata",
|
||||
"Path is already shared with this card" : "Il percorso è già condiviso con questa scheda",
|
||||
"Invalid date, date format must be YYYY-MM-DD" : "Data non valida, il formato della data deve essere AAAA-MM-GG",
|
||||
"Personal planning and team project organization" : "Pianificazione personale e organizzazione dei progetti di squadra",
|
||||
"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",
|
||||
"Card details" : "Dettagli scheda",
|
||||
"Add board" : "Aggiungi lavagna",
|
||||
"Select the board to link to a project" : "Seleziona la lavagna da collegare a un progetto",
|
||||
@@ -239,7 +237,6 @@
|
||||
"Archive card" : "Archivia scheda",
|
||||
"Delete card" : "Elimina scheda",
|
||||
"Move card to another board" : "Sposta scheda in un'altra lavagna",
|
||||
"List is empty" : "L'elenco è vuoto",
|
||||
"Card deleted" : "Scheda eliminata",
|
||||
"seconds ago" : "secondi fa",
|
||||
"All boards" : "Tutte le lavagne",
|
||||
@@ -285,9 +282,6 @@
|
||||
"Share with a Deck card" : "Condividi con una scheda di Deck",
|
||||
"Share {file} with a Deck card" : "Condividi {file} con una scheda di Deck",
|
||||
"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",
|
||||
"Creating the new card…" : "Creazione della nuova scheda...",
|
||||
"\"{card}\" was added to \"{board}\"" : "\"{card}\" è stata aggiunta a \"{board}\"",
|
||||
"(circle)" : "(cerchia)"
|
||||
"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"
|
||||
},"pluralForm" :"nplurals=2; plural=(n != 1);"
|
||||
}
|
||||
@@ -180,7 +180,6 @@ OC.L10N.register(
|
||||
"Share from Files" : "ファイルから共有",
|
||||
"Add this attachment" : "この添付ファイルを追加",
|
||||
"Show in Files" : "ファイルに表示",
|
||||
"Download" : "ダウンロード",
|
||||
"Delete Attachment" : "添付ファイルを削除",
|
||||
"Restore Attachment" : "添付ファイルを復元",
|
||||
"File to share" : "共有するファイル",
|
||||
@@ -203,13 +202,10 @@ OC.L10N.register(
|
||||
"Select Date" : "日付を選択",
|
||||
"Today" : "今日",
|
||||
"Tomorrow" : "明日",
|
||||
"Next week" : "来週",
|
||||
"Next month" : "来月",
|
||||
"Save" : "保存",
|
||||
"The comment cannot be empty." : "コメントを空にすることはできません。",
|
||||
"The comment cannot be longer than 1000 characters." : "コメントは1000文字を超えることはできません。",
|
||||
"In reply to" : "返信",
|
||||
"Cancel reply" : "返信をキャンセル",
|
||||
"Reply" : "返信",
|
||||
"Update" : "更新",
|
||||
"Description" : "説明",
|
||||
|
||||
@@ -178,7 +178,6 @@
|
||||
"Share from Files" : "ファイルから共有",
|
||||
"Add this attachment" : "この添付ファイルを追加",
|
||||
"Show in Files" : "ファイルに表示",
|
||||
"Download" : "ダウンロード",
|
||||
"Delete Attachment" : "添付ファイルを削除",
|
||||
"Restore Attachment" : "添付ファイルを復元",
|
||||
"File to share" : "共有するファイル",
|
||||
@@ -201,13 +200,10 @@
|
||||
"Select Date" : "日付を選択",
|
||||
"Today" : "今日",
|
||||
"Tomorrow" : "明日",
|
||||
"Next week" : "来週",
|
||||
"Next month" : "来月",
|
||||
"Save" : "保存",
|
||||
"The comment cannot be empty." : "コメントを空にすることはできません。",
|
||||
"The comment cannot be longer than 1000 characters." : "コメントは1000文字を超えることはできません。",
|
||||
"In reply to" : "返信",
|
||||
"Cancel reply" : "返信をキャンセル",
|
||||
"Reply" : "返信",
|
||||
"Update" : "更新",
|
||||
"Description" : "説明",
|
||||
|
||||
@@ -151,7 +151,6 @@ OC.L10N.register(
|
||||
"Undo" : "Atšaukti",
|
||||
"Deleted cards" : "Ištrintos kortelės",
|
||||
"Share board with a user, group or circle …" : "Bendrinti lentą su naudotoju, grupe ar ratu…",
|
||||
"Searching for users, groups and circles …" : "Ieškoma naudotojų, grupių ir ratų…",
|
||||
"No participants found" : "Nerasta jokių dalyvių",
|
||||
"Board owner" : "Lentos savininkas",
|
||||
"(Group)" : "(Grupė)",
|
||||
@@ -224,7 +223,6 @@ OC.L10N.register(
|
||||
"Archive card" : "Archyvuoti kortelę",
|
||||
"Delete card" : "Ištrinti kortelę",
|
||||
"Move card to another board" : "Perkelti kortelę į kitą lentą",
|
||||
"List is empty" : "Sąrašas tuščias",
|
||||
"Card deleted" : "Kortelė ištrinta",
|
||||
"seconds ago" : "prieš keletą sekundžių",
|
||||
"All boards" : "Visos lentos",
|
||||
@@ -258,8 +256,6 @@ OC.L10N.register(
|
||||
"Something went wrong" : "Kažkas nutiko",
|
||||
"Maximum file size of {size} exceeded" : "Viršytas maksimalus {size} failo dydis",
|
||||
"Error creating the share" : "Klaida kuriant viešinį",
|
||||
"Share" : "Bendrinti",
|
||||
"Creating the new card…" : "Kuriama nauja kortelė…",
|
||||
"(circle)" : "(ratas)"
|
||||
"Share" : "Bendrinti"
|
||||
},
|
||||
"nplurals=4; plural=(n % 10 == 1 && (n % 100 > 19 || n % 100 < 11) ? 0 : (n % 10 >= 2 && n % 10 <=9) && (n % 100 > 19 || n % 100 < 11) ? 1 : n % 1 != 0 ? 2: 3);");
|
||||
|
||||
@@ -149,7 +149,6 @@
|
||||
"Undo" : "Atšaukti",
|
||||
"Deleted cards" : "Ištrintos kortelės",
|
||||
"Share board with a user, group or circle …" : "Bendrinti lentą su naudotoju, grupe ar ratu…",
|
||||
"Searching for users, groups and circles …" : "Ieškoma naudotojų, grupių ir ratų…",
|
||||
"No participants found" : "Nerasta jokių dalyvių",
|
||||
"Board owner" : "Lentos savininkas",
|
||||
"(Group)" : "(Grupė)",
|
||||
@@ -222,7 +221,6 @@
|
||||
"Archive card" : "Archyvuoti kortelę",
|
||||
"Delete card" : "Ištrinti kortelę",
|
||||
"Move card to another board" : "Perkelti kortelę į kitą lentą",
|
||||
"List is empty" : "Sąrašas tuščias",
|
||||
"Card deleted" : "Kortelė ištrinta",
|
||||
"seconds ago" : "prieš keletą sekundžių",
|
||||
"All boards" : "Visos lentos",
|
||||
@@ -256,8 +254,6 @@
|
||||
"Something went wrong" : "Kažkas nutiko",
|
||||
"Maximum file size of {size} exceeded" : "Viršytas maksimalus {size} failo dydis",
|
||||
"Error creating the share" : "Klaida kuriant viešinį",
|
||||
"Share" : "Bendrinti",
|
||||
"Creating the new card…" : "Kuriama nauja kortelė…",
|
||||
"(circle)" : "(ratas)"
|
||||
"Share" : "Bendrinti"
|
||||
},"pluralForm" :"nplurals=4; plural=(n % 10 == 1 && (n % 100 > 19 || n % 100 < 11) ? 0 : (n % 10 >= 2 && n % 10 <=9) && (n % 100 > 19 || n % 100 < 11) ? 1 : n % 1 != 0 ? 2: 3);"
|
||||
}
|
||||
10
l10n/nl.js
10
l10n/nl.js
@@ -99,13 +99,11 @@ OC.L10N.register(
|
||||
"Missing a temporary folder" : "Mist een tijdelijke map",
|
||||
"Could not write file to disk" : "Kon bestand niet naar schijf schrijven",
|
||||
"A PHP extension stopped the file upload" : "Een PHP-extensie blokkeerde de upload.",
|
||||
"No file uploaded or file size exceeds maximum of %s" : "Geen bestand geüpload of de grootte is meer dan het maximum van %s",
|
||||
"This comment has more than %s characters.\nAdded as an attachment to the card with name %s.\nAccessible on URL: %s." : "Deze opmerking heeft meer dan %s tekens.\nAls bijlage toegevoegd aan de kaart met naam %s.\nToegankelijk op URL: %s.",
|
||||
"No file uploaded or file size exceeds maximum of %s" : "Geen bestand ge-upload of de grootte is meer dan het maximum van %s",
|
||||
"Card not found" : "Kaart niet gevonden",
|
||||
"Path is already shared with this card" : "Pad is al gedeeld met deze kaart",
|
||||
"Invalid date, date format must be YYYY-MM-DD" : "Ongeldige datum, formaat is YYYY-MM-DD",
|
||||
"Personal planning and team project organization" : "Persoonlijke planning en inrichting voor teamproject",
|
||||
"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 is een soort kanban organisatietool gericht op persoonlijke planning en projectorganisatie voor teams geïntegreerd in Nextcloud.\n\n\n- 📥 Voeg taken toe aan kaarten en sorteer ze\n- 📄 Schrijf extra notities in Markdown\n- 🔖 Ken labels toe voor betere organisatie\n- 👥 Deel met je team, vrienden of familie\n- 📎 Voeg bestanden toe en plaats ze in je Markdown beschrijving\n- 💬 Discussieer binnen je team met reacties\n- ⚡ Volg de wijzigingen in het activiteiten kanaal\n- 🚀 Organiseer je project",
|
||||
"Card details" : "Kaart details",
|
||||
"Add board" : "Toevoegen bord",
|
||||
"Select the board to link to a project" : "Kies het bord om met een project te verbinden",
|
||||
@@ -241,7 +239,6 @@ OC.L10N.register(
|
||||
"Archive card" : "Archiveer kaart",
|
||||
"Delete card" : "Verwijderen kaart",
|
||||
"Move card to another board" : "Verplaats kaart naar een ander bord",
|
||||
"List is empty" : "Lijst is leeg",
|
||||
"Card deleted" : "Kaart verwijderd",
|
||||
"seconds ago" : "seconden geleden",
|
||||
"All boards" : "Alle borden",
|
||||
@@ -287,9 +284,6 @@ OC.L10N.register(
|
||||
"Share with a Deck card" : "Delen met een Deck kaart",
|
||||
"Share {file} with a Deck card" : "Delen {file} met een Deck kaart",
|
||||
"Share" : "Delen",
|
||||
"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 is een soort kanban organisatietool gericht op persoonlijke planning en projectorganisatie voor teams geïntegreerd in Nextcloud.\n\n\n- 📥 Voeg taken toe aan kaarten en sorteer ze\n- 📄 Schrijf extra notities in markdown\n- 🔖 Ken labels toe voor betere organisatie\n- 👥 Deel met je team, vrienden of familie\n- 📎 Voeg bestanden toe en plaats ze in je markdown beschrijving\n- 💬 Discussieer binnen je team met reacties\n- ⚡ Volg de wijzigingen in het activiteiten kanaal\n- 🚀 Organiseer je project",
|
||||
"Creating the new card…" : "Aanmaken nieuwe kaart...",
|
||||
"\"{card}\" was added to \"{board}\"" : "\"{card}\" is toegevoegd aan \"{board}\"",
|
||||
"(circle)" : "(circle)"
|
||||
"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 is een soort kanban organisatietool gericht op persoonlijke planning en projectorganisatie voor teams geïntegreerd in Nextcloud.\n\n\n- 📥 Voeg taken toe aan kaarten en sorteer ze\n- 📄 Schrijf extra notities in markdown\n- 🔖 Ken labels toe voor betere organisatie\n- 👥 Deel met je team, vrienden of familie\n- 📎 Voeg bestanden toe en plaats ze in je markdown beschrijving\n- 💬 Discussieer binnen je team met reacties\n- ⚡ Volg de wijzigingen in het activiteiten kanaal\n- 🚀 Organiseer je project"
|
||||
},
|
||||
"nplurals=2; plural=(n != 1);");
|
||||
|
||||
10
l10n/nl.json
10
l10n/nl.json
@@ -97,13 +97,11 @@
|
||||
"Missing a temporary folder" : "Mist een tijdelijke map",
|
||||
"Could not write file to disk" : "Kon bestand niet naar schijf schrijven",
|
||||
"A PHP extension stopped the file upload" : "Een PHP-extensie blokkeerde de upload.",
|
||||
"No file uploaded or file size exceeds maximum of %s" : "Geen bestand geüpload of de grootte is meer dan het maximum van %s",
|
||||
"This comment has more than %s characters.\nAdded as an attachment to the card with name %s.\nAccessible on URL: %s." : "Deze opmerking heeft meer dan %s tekens.\nAls bijlage toegevoegd aan de kaart met naam %s.\nToegankelijk op URL: %s.",
|
||||
"No file uploaded or file size exceeds maximum of %s" : "Geen bestand ge-upload of de grootte is meer dan het maximum van %s",
|
||||
"Card not found" : "Kaart niet gevonden",
|
||||
"Path is already shared with this card" : "Pad is al gedeeld met deze kaart",
|
||||
"Invalid date, date format must be YYYY-MM-DD" : "Ongeldige datum, formaat is YYYY-MM-DD",
|
||||
"Personal planning and team project organization" : "Persoonlijke planning en inrichting voor teamproject",
|
||||
"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 is een soort kanban organisatietool gericht op persoonlijke planning en projectorganisatie voor teams geïntegreerd in Nextcloud.\n\n\n- 📥 Voeg taken toe aan kaarten en sorteer ze\n- 📄 Schrijf extra notities in Markdown\n- 🔖 Ken labels toe voor betere organisatie\n- 👥 Deel met je team, vrienden of familie\n- 📎 Voeg bestanden toe en plaats ze in je Markdown beschrijving\n- 💬 Discussieer binnen je team met reacties\n- ⚡ Volg de wijzigingen in het activiteiten kanaal\n- 🚀 Organiseer je project",
|
||||
"Card details" : "Kaart details",
|
||||
"Add board" : "Toevoegen bord",
|
||||
"Select the board to link to a project" : "Kies het bord om met een project te verbinden",
|
||||
@@ -239,7 +237,6 @@
|
||||
"Archive card" : "Archiveer kaart",
|
||||
"Delete card" : "Verwijderen kaart",
|
||||
"Move card to another board" : "Verplaats kaart naar een ander bord",
|
||||
"List is empty" : "Lijst is leeg",
|
||||
"Card deleted" : "Kaart verwijderd",
|
||||
"seconds ago" : "seconden geleden",
|
||||
"All boards" : "Alle borden",
|
||||
@@ -285,9 +282,6 @@
|
||||
"Share with a Deck card" : "Delen met een Deck kaart",
|
||||
"Share {file} with a Deck card" : "Delen {file} met een Deck kaart",
|
||||
"Share" : "Delen",
|
||||
"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 is een soort kanban organisatietool gericht op persoonlijke planning en projectorganisatie voor teams geïntegreerd in Nextcloud.\n\n\n- 📥 Voeg taken toe aan kaarten en sorteer ze\n- 📄 Schrijf extra notities in markdown\n- 🔖 Ken labels toe voor betere organisatie\n- 👥 Deel met je team, vrienden of familie\n- 📎 Voeg bestanden toe en plaats ze in je markdown beschrijving\n- 💬 Discussieer binnen je team met reacties\n- ⚡ Volg de wijzigingen in het activiteiten kanaal\n- 🚀 Organiseer je project",
|
||||
"Creating the new card…" : "Aanmaken nieuwe kaart...",
|
||||
"\"{card}\" was added to \"{board}\"" : "\"{card}\" is toegevoegd aan \"{board}\"",
|
||||
"(circle)" : "(circle)"
|
||||
"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 is een soort kanban organisatietool gericht op persoonlijke planning en projectorganisatie voor teams geïntegreerd in Nextcloud.\n\n\n- 📥 Voeg taken toe aan kaarten en sorteer ze\n- 📄 Schrijf extra notities in markdown\n- 🔖 Ken labels toe voor betere organisatie\n- 👥 Deel met je team, vrienden of familie\n- 📎 Voeg bestanden toe en plaats ze in je markdown beschrijving\n- 💬 Discussieer binnen je team met reacties\n- ⚡ Volg de wijzigingen in het activiteiten kanaal\n- 🚀 Organiseer je project"
|
||||
},"pluralForm" :"nplurals=2; plural=(n != 1);"
|
||||
}
|
||||
@@ -100,12 +100,10 @@ OC.L10N.register(
|
||||
"Could not write file to disk" : "Nie można zapisać pliku na dysk",
|
||||
"A PHP extension stopped the file upload" : "Rozszerzenie PHP zatrzymało wysyłanie pliku",
|
||||
"No file uploaded or file size exceeds maximum of %s" : "Brak wysłanego pliku lub rozmiar pliku przekracza maksymalny limit %s",
|
||||
"This comment has more than %s characters.\nAdded as an attachment to the card with name %s.\nAccessible on URL: %s." : "Ten komentarz ma więcej niż %s znaków.\nDodany jako załącznik do karty o nazwie %s.\nDostępne pod adresem URL: %s.",
|
||||
"Card not found" : "Nie znaleziono karty",
|
||||
"Path is already shared with this card" : "Ścieżka jest już udostępniona dla tej karty",
|
||||
"Invalid date, date format must be YYYY-MM-DD" : "Nieprawidłowa data, format daty to RRRR-MM-DD",
|
||||
"Personal planning and team project organization" : "Indywidualne planowanie i organizacja projektu zespołowego",
|
||||
"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" : "Tablica to narzędzie organizacyjne w stylu kanban, którego celem jest osobiste planowanie i organizacja projektu dla zespołów zintegrowanych z Nextcloud.\n\n\n- 📥 Dodaj swoje zadania do kart i porządkuj je\n- 📄 Zapisuj dodatkowe notatki w Markdown\n- 🔖 Przypisuj etykiety dla jeszcze lepszej organizacji\n- 👥 Współdziel ze swoim zespołem, przyjaciółmi lub rodziną\n- 📎 Dołączaj pliki i umieszczaj je w opisie Markdown\n- 💬 Porozmawiaj ze swoim zespołem za pomocą komentarzy\n- ⚡ Śledź zmiany w strumieniu aktywności\n- 🚀 Organizuj swój projekt",
|
||||
"Card details" : "Szczegóły karty",
|
||||
"Add board" : "Dodaj tablicę",
|
||||
"Select the board to link to a project" : "Wybierz tablicę, aby połączyć się z projektem",
|
||||
@@ -241,7 +239,6 @@ OC.L10N.register(
|
||||
"Archive card" : "Zarchiwizuj kartę",
|
||||
"Delete card" : "Usuń kartę",
|
||||
"Move card to another board" : "Przenieś kartę na inną tablicę",
|
||||
"List is empty" : "Lista jest pusta",
|
||||
"Card deleted" : "Karta usunięta",
|
||||
"seconds ago" : "przed chwilą",
|
||||
"All boards" : "Wszystkie tablice",
|
||||
@@ -287,9 +284,6 @@ OC.L10N.register(
|
||||
"Share with a Deck card" : "Udostępnij za pomocą karty Tablicy",
|
||||
"Share {file} with a Deck card" : "Udostępnij {file} za pomocą karty Tablicy",
|
||||
"Share" : "Udostępnianie",
|
||||
"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" : "Tablica to narzędzie organizacyjne w stylu kanban, którego celem jest osobiste planowanie i organizacja projektu dla zespołów zintegrowanych z Nextcloud.\n\n\n- 📥 Dodaj swoje zadania do kart i porządkuj je\n- 📄 Zapisuj dodatkowe notatki w Markdown\n- 🔖 Przypisuj etykiety dla jeszcze lepszej organizacji\n- 👥 Współdziel ze swoim zespołem, przyjaciółmi lub rodziną\n- 📎 Dołączaj pliki i umieszczaj je w opisie Markdown\n- 💬 Porozmawiaj ze swoim zespołem za pomocą komentarzy\n- ⚡ Śledź zmiany w strumieniu aktywności\n- 🚀 Organizuj swój projekt",
|
||||
"Creating the new card…" : "Tworzę nową kartę…",
|
||||
"\"{card}\" was added to \"{board}\"" : "\"{card}\" została dodana do \"{board}\"",
|
||||
"(circle)" : "(krąg)"
|
||||
"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" : "Tablica to narzędzie organizacyjne w stylu kanban, którego celem jest osobiste planowanie i organizacja projektu dla zespołów zintegrowanych z Nextcloud.\n\n\n- 📥 Dodaj swoje zadania do kart i porządkuj je\n- 📄 Zapisuj dodatkowe notatki w Markdown\n- 🔖 Przypisuj etykiety dla jeszcze lepszej organizacji\n- 👥 Współdziel ze swoim zespołem, przyjaciółmi lub rodziną\n- 📎 Dołączaj pliki i umieszczaj je w opisie Markdown\n- 💬 Porozmawiaj ze swoim zespołem za pomocą komentarzy\n- ⚡ Śledź zmiany w strumieniu aktywności\n- 🚀 Organizuj swój projekt"
|
||||
},
|
||||
"nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);");
|
||||
|
||||
@@ -98,12 +98,10 @@
|
||||
"Could not write file to disk" : "Nie można zapisać pliku na dysk",
|
||||
"A PHP extension stopped the file upload" : "Rozszerzenie PHP zatrzymało wysyłanie pliku",
|
||||
"No file uploaded or file size exceeds maximum of %s" : "Brak wysłanego pliku lub rozmiar pliku przekracza maksymalny limit %s",
|
||||
"This comment has more than %s characters.\nAdded as an attachment to the card with name %s.\nAccessible on URL: %s." : "Ten komentarz ma więcej niż %s znaków.\nDodany jako załącznik do karty o nazwie %s.\nDostępne pod adresem URL: %s.",
|
||||
"Card not found" : "Nie znaleziono karty",
|
||||
"Path is already shared with this card" : "Ścieżka jest już udostępniona dla tej karty",
|
||||
"Invalid date, date format must be YYYY-MM-DD" : "Nieprawidłowa data, format daty to RRRR-MM-DD",
|
||||
"Personal planning and team project organization" : "Indywidualne planowanie i organizacja projektu zespołowego",
|
||||
"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" : "Tablica to narzędzie organizacyjne w stylu kanban, którego celem jest osobiste planowanie i organizacja projektu dla zespołów zintegrowanych z Nextcloud.\n\n\n- 📥 Dodaj swoje zadania do kart i porządkuj je\n- 📄 Zapisuj dodatkowe notatki w Markdown\n- 🔖 Przypisuj etykiety dla jeszcze lepszej organizacji\n- 👥 Współdziel ze swoim zespołem, przyjaciółmi lub rodziną\n- 📎 Dołączaj pliki i umieszczaj je w opisie Markdown\n- 💬 Porozmawiaj ze swoim zespołem za pomocą komentarzy\n- ⚡ Śledź zmiany w strumieniu aktywności\n- 🚀 Organizuj swój projekt",
|
||||
"Card details" : "Szczegóły karty",
|
||||
"Add board" : "Dodaj tablicę",
|
||||
"Select the board to link to a project" : "Wybierz tablicę, aby połączyć się z projektem",
|
||||
@@ -239,7 +237,6 @@
|
||||
"Archive card" : "Zarchiwizuj kartę",
|
||||
"Delete card" : "Usuń kartę",
|
||||
"Move card to another board" : "Przenieś kartę na inną tablicę",
|
||||
"List is empty" : "Lista jest pusta",
|
||||
"Card deleted" : "Karta usunięta",
|
||||
"seconds ago" : "przed chwilą",
|
||||
"All boards" : "Wszystkie tablice",
|
||||
@@ -285,9 +282,6 @@
|
||||
"Share with a Deck card" : "Udostępnij za pomocą karty Tablicy",
|
||||
"Share {file} with a Deck card" : "Udostępnij {file} za pomocą karty Tablicy",
|
||||
"Share" : "Udostępnianie",
|
||||
"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" : "Tablica to narzędzie organizacyjne w stylu kanban, którego celem jest osobiste planowanie i organizacja projektu dla zespołów zintegrowanych z Nextcloud.\n\n\n- 📥 Dodaj swoje zadania do kart i porządkuj je\n- 📄 Zapisuj dodatkowe notatki w Markdown\n- 🔖 Przypisuj etykiety dla jeszcze lepszej organizacji\n- 👥 Współdziel ze swoim zespołem, przyjaciółmi lub rodziną\n- 📎 Dołączaj pliki i umieszczaj je w opisie Markdown\n- 💬 Porozmawiaj ze swoim zespołem za pomocą komentarzy\n- ⚡ Śledź zmiany w strumieniu aktywności\n- 🚀 Organizuj swój projekt",
|
||||
"Creating the new card…" : "Tworzę nową kartę…",
|
||||
"\"{card}\" was added to \"{board}\"" : "\"{card}\" została dodana do \"{board}\"",
|
||||
"(circle)" : "(krąg)"
|
||||
"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" : "Tablica to narzędzie organizacyjne w stylu kanban, którego celem jest osobiste planowanie i organizacja projektu dla zespołów zintegrowanych z Nextcloud.\n\n\n- 📥 Dodaj swoje zadania do kart i porządkuj je\n- 📄 Zapisuj dodatkowe notatki w Markdown\n- 🔖 Przypisuj etykiety dla jeszcze lepszej organizacji\n- 👥 Współdziel ze swoim zespołem, przyjaciółmi lub rodziną\n- 📎 Dołączaj pliki i umieszczaj je w opisie Markdown\n- 💬 Porozmawiaj ze swoim zespołem za pomocą komentarzy\n- ⚡ Śledź zmiany w strumieniu aktywności\n- 🚀 Organizuj swój projekt"
|
||||
},"pluralForm" :"nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);"
|
||||
}
|
||||
@@ -100,12 +100,10 @@ OC.L10N.register(
|
||||
"Could not write file to disk" : "Não foi possível escrever no disco",
|
||||
"A PHP extension stopped the file upload" : "Uma extensão PHP parou o envio do arquivo",
|
||||
"No file uploaded or file size exceeds maximum of %s" : "Nenhum arquivo enviado ou o tamanho excede o 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 comentário tem mais de %s caracteres.\nAdicionado como um anexo ao cartão com o nome %s.\nAcessível no URL: %s.",
|
||||
"Card not found" : "Cartão não encontrado",
|
||||
"Path is already shared with this card" : "O caminho já é compartilhado com este cartão",
|
||||
"Invalid date, date format must be YYYY-MM-DD" : "Data inválida, o formato da data deve ser AAAA-MM-DD",
|
||||
"Personal planning and team project organization" : "Planejamento pessoal e organização de projetos em equipe",
|
||||
"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 é uma ferramenta de organização do estilo kanban voltada para o planejamento pessoal e organização de projetos para equipes integradas ao Nextcloud.\n\n\n- 📥Adicione suas tarefas aos cartões e coloque-as em ordem\n- 📄 Escreva notas adicionais em Anotar \n- 🔖 Atribua rótulos para uma organização ainda melhor\n- 👥 Compartilhe com sua equipe, amigos ou família\n- 📎 Anexar arquivos e incorporá-los à descrição da Nota\n- 💬 Discuta com sua equipe usando comentários\n- ⚡ Acompanhe as mudanças no fluxo de atividades \n- 🚀 Organize seu projeto ",
|
||||
"Card details" : "Detalhes do cartão",
|
||||
"Add board" : "Adicionar painel",
|
||||
"Select the board to link to a project" : "Selecione o painel para vincular a um projeto",
|
||||
@@ -241,7 +239,6 @@ OC.L10N.register(
|
||||
"Archive card" : "Arquivar cartão",
|
||||
"Delete card" : "Excluir cartão",
|
||||
"Move card to another board" : "Mover o cartão para outro painel",
|
||||
"List is empty" : "A Lista está vazia",
|
||||
"Card deleted" : "Cartão excluído",
|
||||
"seconds ago" : "segundos atrás",
|
||||
"All boards" : "Todos os painéis",
|
||||
@@ -287,9 +284,6 @@ OC.L10N.register(
|
||||
"Share with a Deck card" : "Compartilhar com um cartão Deck",
|
||||
"Share {file} with a Deck card" : "Compartilhar {file} com um cartão Deck",
|
||||
"Share" : "Compartilhar",
|
||||
"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 é uma ferramenta de organização de estilo kanban destinada ao planejamento pessoal e organização para equipes integradas com o Nextcloud.\n\n\n- 📥 Adicione suas tarefas aos cartões e coloque-os em ordem\n- 📄 Insira notas adicionais em markdown\n- 🔖 Atribua etiquetas para melhorar a organização\n- 👥 Compartilhe com sua equipe, amigos ou familiares\n- 📎 Anexe arquivos e incorpore-os em sua descrição no markdown\n- 💬 Discuta com sua equipe usando os comentários\n- ⚡ Acompanhe as alterações no fluxo de atividades\n- 🚀 Mantenha seu projeto organizado",
|
||||
"Creating the new card…" : "Criando o novo cartão…",
|
||||
"\"{card}\" was added to \"{board}\"" : "\"{card}\" foi adicionado a \"{board}\"",
|
||||
"(circle)" : "(círculo)"
|
||||
"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 é uma ferramenta de organização de estilo kanban destinada ao planejamento pessoal e organização para equipes integradas com o Nextcloud.\n\n\n- 📥 Adicione suas tarefas aos cartões e coloque-os em ordem\n- 📄 Insira notas adicionais em markdown\n- 🔖 Atribua etiquetas para melhorar a organização\n- 👥 Compartilhe com sua equipe, amigos ou familiares\n- 📎 Anexe arquivos e incorpore-os em sua descrição no markdown\n- 💬 Discuta com sua equipe usando os comentários\n- ⚡ Acompanhe as alterações no fluxo de atividades\n- 🚀 Mantenha seu projeto organizado"
|
||||
},
|
||||
"nplurals=2; plural=(n > 1);");
|
||||
|
||||
@@ -98,12 +98,10 @@
|
||||
"Could not write file to disk" : "Não foi possível escrever no disco",
|
||||
"A PHP extension stopped the file upload" : "Uma extensão PHP parou o envio do arquivo",
|
||||
"No file uploaded or file size exceeds maximum of %s" : "Nenhum arquivo enviado ou o tamanho excede o 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 comentário tem mais de %s caracteres.\nAdicionado como um anexo ao cartão com o nome %s.\nAcessível no URL: %s.",
|
||||
"Card not found" : "Cartão não encontrado",
|
||||
"Path is already shared with this card" : "O caminho já é compartilhado com este cartão",
|
||||
"Invalid date, date format must be YYYY-MM-DD" : "Data inválida, o formato da data deve ser AAAA-MM-DD",
|
||||
"Personal planning and team project organization" : "Planejamento pessoal e organização de projetos em equipe",
|
||||
"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 é uma ferramenta de organização do estilo kanban voltada para o planejamento pessoal e organização de projetos para equipes integradas ao Nextcloud.\n\n\n- 📥Adicione suas tarefas aos cartões e coloque-as em ordem\n- 📄 Escreva notas adicionais em Anotar \n- 🔖 Atribua rótulos para uma organização ainda melhor\n- 👥 Compartilhe com sua equipe, amigos ou família\n- 📎 Anexar arquivos e incorporá-los à descrição da Nota\n- 💬 Discuta com sua equipe usando comentários\n- ⚡ Acompanhe as mudanças no fluxo de atividades \n- 🚀 Organize seu projeto ",
|
||||
"Card details" : "Detalhes do cartão",
|
||||
"Add board" : "Adicionar painel",
|
||||
"Select the board to link to a project" : "Selecione o painel para vincular a um projeto",
|
||||
@@ -239,7 +237,6 @@
|
||||
"Archive card" : "Arquivar cartão",
|
||||
"Delete card" : "Excluir cartão",
|
||||
"Move card to another board" : "Mover o cartão para outro painel",
|
||||
"List is empty" : "A Lista está vazia",
|
||||
"Card deleted" : "Cartão excluído",
|
||||
"seconds ago" : "segundos atrás",
|
||||
"All boards" : "Todos os painéis",
|
||||
@@ -285,9 +282,6 @@
|
||||
"Share with a Deck card" : "Compartilhar com um cartão Deck",
|
||||
"Share {file} with a Deck card" : "Compartilhar {file} com um cartão Deck",
|
||||
"Share" : "Compartilhar",
|
||||
"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 é uma ferramenta de organização de estilo kanban destinada ao planejamento pessoal e organização para equipes integradas com o Nextcloud.\n\n\n- 📥 Adicione suas tarefas aos cartões e coloque-os em ordem\n- 📄 Insira notas adicionais em markdown\n- 🔖 Atribua etiquetas para melhorar a organização\n- 👥 Compartilhe com sua equipe, amigos ou familiares\n- 📎 Anexe arquivos e incorpore-os em sua descrição no markdown\n- 💬 Discuta com sua equipe usando os comentários\n- ⚡ Acompanhe as alterações no fluxo de atividades\n- 🚀 Mantenha seu projeto organizado",
|
||||
"Creating the new card…" : "Criando o novo cartão…",
|
||||
"\"{card}\" was added to \"{board}\"" : "\"{card}\" foi adicionado a \"{board}\"",
|
||||
"(circle)" : "(círculo)"
|
||||
"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 é uma ferramenta de organização de estilo kanban destinada ao planejamento pessoal e organização para equipes integradas com o Nextcloud.\n\n\n- 📥 Adicione suas tarefas aos cartões e coloque-os em ordem\n- 📄 Insira notas adicionais em markdown\n- 🔖 Atribua etiquetas para melhorar a organização\n- 👥 Compartilhe com sua equipe, amigos ou familiares\n- 📎 Anexe arquivos e incorpore-os em sua descrição no markdown\n- 💬 Discuta com sua equipe usando os comentários\n- ⚡ Acompanhe as alterações no fluxo de atividades\n- 🚀 Mantenha seu projeto organizado"
|
||||
},"pluralForm" :"nplurals=2; plural=(n > 1);"
|
||||
}
|
||||
102
l10n/pt_PT.js
102
l10n/pt_PT.js
@@ -1,113 +1,21 @@
|
||||
OC.L10N.register(
|
||||
"deck",
|
||||
{
|
||||
"You have created a new board {board}" : "Você criou um novo painel {board}",
|
||||
"{user} has created a new board {board}" : "{user} criou um novo painel {board}",
|
||||
"You have deleted the board {board}" : "Você eliminou o painel {board}",
|
||||
"{user} has deleted the board {board}" : "{user} eliminou o painel {board}",
|
||||
"You have restored the board {board}" : "Você restaurou o painel {board}",
|
||||
"{user} has restored the board {board}" : "{user} restaurou o painel {board}",
|
||||
"You have shared the board {board} with {acl}" : "Você partilhou o painel {board} com {acl}",
|
||||
"{user} has shared the board {board} with {acl}" : "{user} partilhou o painel {board} com {acl}",
|
||||
"You have removed {acl} from the board {board}" : "Você eliminou {acl} do painel {board}",
|
||||
"{user} has removed {acl} from the board {board}" : "{user} eliminou {acl} do painel {board}",
|
||||
"You have renamed the board {before} to {board}" : "Você mudou o nome do painel {before} para {board}",
|
||||
"{user} has renamed the board {before} to {board}" : "{user} mudou o nome do painel {before} para {board}",
|
||||
"You have archived the board {board}" : "Você arquivou o painel {board}",
|
||||
"{user} has archived the board {before}" : "{user} arquivou o painel {before}",
|
||||
"You have unarchived the board {board}" : "Você desarquivou o painel {board}",
|
||||
"{user} has unarchived the board {before}" : "{user} desarquivou o painel {board}",
|
||||
"You have created a new list {stack} on board {board}" : "Você criou uma nova lista {stack} no painel {board}",
|
||||
"{user} has created a new list {stack} on board {board}" : "{user} criou uma nova lista {stack} no painel {board}",
|
||||
"You have renamed list {before} to {stack} on board {board}" : "Você mudou o nome da lista {before} para {stack} no painel {board}",
|
||||
"{user} has renamed list {before} to {stack} on board {board}" : "{user} mudou o nome da lista {before} para {stack} no painel {board}",
|
||||
"You have deleted list {stack} on board {board}" : "Você eliminou a lista {stack} do painel {board}",
|
||||
"{user} has deleted list {stack} on board {board}" : "{user} eliminou a lista {stack} do painel {board}",
|
||||
"You have created card {card} in list {stack} on board {board}" : "Você criou o cartão {card} na lista {stack} do painel {board}",
|
||||
"{user} has created card {card} in list {stack} on board {board}" : "{user} criou o cartão {card} na lista {stack} do painel {board}",
|
||||
"You have deleted card {card} in list {stack} on board {board}" : "Você eliminou o cartão {card} na lista {stack} do painel {board}",
|
||||
"{user} has deleted card {card} in list {stack} on board {board}" : "{user} eliminou o cartão {card} na lista {stack} do painel {board}",
|
||||
"You have renamed the card {before} to {card}" : "Você mudou o nome do cartão {before} para {card}",
|
||||
"{user} has renamed the card {before} to {card}" : "{user} mudou o nome do cartão {before} para {card}",
|
||||
"You have added a description to card {card} in list {stack} on board {board}" : "Você adicionou uma descrição ao cartão {card} na lista {stack} do painel {board}",
|
||||
"{user} has added a description to card {card} in list {stack} on board {board}" : "{user} adicionou uma descrição ao cartão {card} na lista {stack} do painel {board}",
|
||||
"You have updated the description of card {card} in list {stack} on board {board}" : "Você atualizou a descrição do cartão {card} na lista {stack} do painel {board}",
|
||||
"{user} has updated the description of the card {card} in list {stack} on board {board}" : "{user} atualizou a descrição do cartão {card} na lista {stack} do painel {board}",
|
||||
"You have archived card {card} in list {stack} on board {board}" : "Você arquivou o cartão {card} na lista {stack} do painel {board}",
|
||||
"{user} has archived card {card} in list {stack} on board {board}" : "{user} arquivou o cartão {card} na lista {stack} do painel {board}",
|
||||
"You have unarchived card {card} in list {stack} on board {board}" : "Você desarquivou o cartão {card} na lista {stack} do painel {board}",
|
||||
"{user} has unarchived card {card} in list {stack} on board {board}" : "{user} desarquivou o cartão {card} na lista {stack} do painel {board}",
|
||||
"You have removed the due date of card {card}" : "Você eliminou a data limite do cartão {card}",
|
||||
"{user} has removed the due date of card {card}" : "{user} excluiu a data limite do cartão {card}",
|
||||
"You have set the due date of card {card} to {after}" : "Você definiu a data limite do cartão {card} para {after}",
|
||||
"{user} has set the due date of card {card} to {after}" : "{user} definiu a data limite do cartão {card} para {after}",
|
||||
"You have updated the due date of card {card} to {after}" : "Você atualizou a data limite do cartão {card} para {after}",
|
||||
"{user} has updated the due date of card {card} to {after}" : "{user} atualizou a data limite do cartão {card} para {after}",
|
||||
"You have added the tag {label} to card {card} in list {stack} on board {board}" : "Você adicionou a etiqueta {label} ao cartão {card} na lista {stack} do painel {board}",
|
||||
"{user} has added the tag {label} to card {card} in list {stack} on board {board}" : "{user} adicionou a etiqueta {label} ao cartão {card} na lista {stack} do painel {board}",
|
||||
"You have removed the tag {label} from card {card} in list {stack} on board {board}" : "Você removeu a etiqueta {label} do cartão {card} na lista {stack} do painel {board}",
|
||||
"{user} has removed the tag {label} from card {card} in list {stack} on board {board}" : "{user} removeu a etiqueta {label} do cartão {card} na lista {stack} do painel {board}",
|
||||
"You have assigned {assigneduser} to card {card} on board {board}" : "Você vinculou {assigneduser} ao cartão {card} do painel {board}",
|
||||
"{user} has assigned {assigneduser} to card {card} on board {board}" : "{user} vinculou {assigneduser} ao cartão {card} do painel {board}",
|
||||
"You have unassigned {assigneduser} from card {card} on board {board}" : "Você desvinculou {assigneduser} do cartão {card} no painel {board}",
|
||||
"{user} has unassigned {assigneduser} from card {card} on board {board}" : "{user} desvinculou {assigneduser} do cartão {card} no painel {board}",
|
||||
"You have moved the card {card} from list {stackBefore} to {stack}" : "Você moveu o cartão {card} da lista {stackBefore} para {stack}",
|
||||
"{user} has moved the card {card} from list {stackBefore} to {stack}" : "{user} moveu o cartão {card} da lista {stackBefore} para {stack}",
|
||||
"You have added the attachment {attachment} to card {card}" : "Você adicionou o anexo {attachment} no cartão {card}",
|
||||
"{user} has added the attachment {attachment} to card {card}" : "{user} adicionou um anexo {attachment} ao cartão {card}",
|
||||
"You have updated the attachment {attachment} on card {card}" : "Você atualizou o anexo {attachment} do cartão {card}",
|
||||
"{user} has updated the attachment {attachment} on card {card}" : "{user} atualizou o anexo {attachment} no cartão {card}",
|
||||
"You have deleted the attachment {attachment} from card {card}" : "Você excluiu o anexo {attachment} do cartão {card}",
|
||||
"{user} has deleted the attachment {attachment} from card {card}" : "{user} eliminou o anexo {attachment} do cartão {card}",
|
||||
"You have restored the attachment {attachment} to card {card}" : "Você restaurou o anexo {attachment} do cartão {card}",
|
||||
"{user} has restored the attachment {attachment} to card {card}" : "{user} restaurou o anexo {attachment} do cartão {card}",
|
||||
"You have commented on card {card}" : "Você comentou no cartão {card}",
|
||||
"{user} has commented on card {card}" : "{user} comentou no cartão {card}",
|
||||
"A <strong>card description</strong> inside the Deck app has been changed" : "Uma <strong>descrição do cartão</strong> dentro da aplicação Quadro foi alterada",
|
||||
"Deck" : "Quadro",
|
||||
"Changes in the <strong>Deck app</strong>" : "Alterações na aplicação Quadro",
|
||||
"A <strong>comment</strong> was created on a card" : "Um <strong>comentário</strong> foi criado num cartão",
|
||||
"Upcoming cards" : "Próximos cartões",
|
||||
"Personal" : "Pessoal",
|
||||
"The card \"%s\" on \"%s\" has been assigned to you by %s." : "O cartão \"%s\" em \"%s\" foi-lhe vinculado por %s.",
|
||||
"{user} has assigned the card {deck-card} on {deck-board} to you." : "{usuário} atribuiu-lhe o cartão {deck-card} no {deck-board}.",
|
||||
"The card \"%s\" on \"%s\" has reached its due date." : "O cartão \"%s\" em \"%s\" atingiu a sua data limite.",
|
||||
"The card {deck-card} on {deck-board} has reached its due date." : "O cartão {deck-card} em {deck-board} atingiu a sua data limite.",
|
||||
"%s has mentioned you in a comment on \"%s\"." : "%s mencionou-o num comentário em \"%s\".",
|
||||
"{user} has mentioned you in a comment on {deck-card}." : "{user} mencionou-o num comentário em {deck-card}.",
|
||||
"The card \"%s\" on \"%s\" has reached its due date." : "O cartão \"%s\" em \"%s\" chegou a sua data de vencimento",
|
||||
"The board \"%s\" has been shared with you by %s." : "O quadro \"%s\" foi partilhado consigo por %s.",
|
||||
"{user} has shared {deck-board} with you." : "{user} partilhou {deck-board} consigo.",
|
||||
"Card comments" : "Comentários nos cartões",
|
||||
"%s on %s" : "%s no %s",
|
||||
"No data was provided to create an attachment." : "Nenhum dado foi fornecido para criar um anexo.",
|
||||
"Finished" : "Terminado",
|
||||
"To review" : "A rever",
|
||||
"Action needed" : "Acção necessária",
|
||||
"Later" : "Mais tarde",
|
||||
"copy" : "copiar",
|
||||
"To do" : "Por fazer",
|
||||
"Doing" : "A fazer",
|
||||
"Done" : "Concluído",
|
||||
"Example Task 3" : "Tarefa de exemplo 3",
|
||||
"Example Task 2" : "Tarefa de exemplo 2",
|
||||
"Example Task 1" : "Tarefa de exemplo 1",
|
||||
"The file was uploaded" : "O ficheiro foi carregado",
|
||||
"The uploaded file exceeds the upload_max_filesize directive in php.ini" : "O ficheiro carregado excede a diretiva upload_max_filesize no php.ini ",
|
||||
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "O ficheiro carregado excede a diretiva MAX_FILE_SIZE especificada no formulário HTML",
|
||||
"The file was only partially uploaded" : "O ficheiro foi apenas parcialmente carregado",
|
||||
"No file was uploaded" : "Não foi carregado nenhum ficheiro",
|
||||
"The uploaded file exceeds the upload_max_filesize directive in php.ini" : "O ficheiro carregado excede a directiva upload_max_filesize no php.ini ",
|
||||
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "O ficheiro carregado excedo a directiva MAX_FILE_SIZE especificada no formulário HTML",
|
||||
"No file was uploaded" : "O ficheiro foi carregado",
|
||||
"Missing a temporary folder" : "Falta uma pasta temporária",
|
||||
"Could not write file to disk" : "Não foi possível escrever o ficheiro no disco.",
|
||||
"A PHP extension stopped the file upload" : "Uma extensão PHP parou o carregamento do ficheiro.",
|
||||
"No file uploaded or file size exceeds maximum of %s" : "Nenhum ficheiro carregado ou o tamanho do ficheiro excede o 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 comentário tem mais de %s caracteres.\nAdicionado como um anexo ao cartão com o nome %s.\nAcessível no URL: %s.",
|
||||
"Card not found" : "Cartão não encontrado",
|
||||
"Path is already shared with this card" : "O caminho já é partilhado com este cartão",
|
||||
"Invalid date, date format must be YYYY-MM-DD" : "Data inválida, o formato da data deve ser AAAA-MM-DD",
|
||||
"Personal planning and team project organization" : "Planeamento pessoal e organização de projetos em equipa",
|
||||
"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" : "Quadro é uma ferramenta de organização ao estilo kanban voltada para o planeamento pessoal e organização de projetos para equipas integradas no Nextcloud.\n\n\n- 📥Adicione as suas tarefas aos cartões e coloque-as em ordem\n- 📄 Escreva notas adicionais em Markdown\n- 🔖 Atribua etiquetas para uma organização ainda melhor\n- 👥 Compartilhe com a sua equipa, amigos ou família\n- 📎 Anexe ficheiros e incorpore-os à descrição em Markdown\n- 💬 Debata com a sua equipa usando comentários\n- ⚡ Acompanhe as mudanças no fluxo de atividades \n- 🚀 Organize o seu projeto",
|
||||
"Card details" : "Detalhes do cartão",
|
||||
"Add board" : "Adicionar quadro",
|
||||
"Add board" : "Arquivar cartão",
|
||||
"Cancel" : "Cancelar",
|
||||
"File already exists" : "O ficheiro já existe",
|
||||
"Add card" : "Adicionar um cartão",
|
||||
|
||||
102
l10n/pt_PT.json
102
l10n/pt_PT.json
@@ -1,111 +1,19 @@
|
||||
{ "translations": {
|
||||
"You have created a new board {board}" : "Você criou um novo painel {board}",
|
||||
"{user} has created a new board {board}" : "{user} criou um novo painel {board}",
|
||||
"You have deleted the board {board}" : "Você eliminou o painel {board}",
|
||||
"{user} has deleted the board {board}" : "{user} eliminou o painel {board}",
|
||||
"You have restored the board {board}" : "Você restaurou o painel {board}",
|
||||
"{user} has restored the board {board}" : "{user} restaurou o painel {board}",
|
||||
"You have shared the board {board} with {acl}" : "Você partilhou o painel {board} com {acl}",
|
||||
"{user} has shared the board {board} with {acl}" : "{user} partilhou o painel {board} com {acl}",
|
||||
"You have removed {acl} from the board {board}" : "Você eliminou {acl} do painel {board}",
|
||||
"{user} has removed {acl} from the board {board}" : "{user} eliminou {acl} do painel {board}",
|
||||
"You have renamed the board {before} to {board}" : "Você mudou o nome do painel {before} para {board}",
|
||||
"{user} has renamed the board {before} to {board}" : "{user} mudou o nome do painel {before} para {board}",
|
||||
"You have archived the board {board}" : "Você arquivou o painel {board}",
|
||||
"{user} has archived the board {before}" : "{user} arquivou o painel {before}",
|
||||
"You have unarchived the board {board}" : "Você desarquivou o painel {board}",
|
||||
"{user} has unarchived the board {before}" : "{user} desarquivou o painel {board}",
|
||||
"You have created a new list {stack} on board {board}" : "Você criou uma nova lista {stack} no painel {board}",
|
||||
"{user} has created a new list {stack} on board {board}" : "{user} criou uma nova lista {stack} no painel {board}",
|
||||
"You have renamed list {before} to {stack} on board {board}" : "Você mudou o nome da lista {before} para {stack} no painel {board}",
|
||||
"{user} has renamed list {before} to {stack} on board {board}" : "{user} mudou o nome da lista {before} para {stack} no painel {board}",
|
||||
"You have deleted list {stack} on board {board}" : "Você eliminou a lista {stack} do painel {board}",
|
||||
"{user} has deleted list {stack} on board {board}" : "{user} eliminou a lista {stack} do painel {board}",
|
||||
"You have created card {card} in list {stack} on board {board}" : "Você criou o cartão {card} na lista {stack} do painel {board}",
|
||||
"{user} has created card {card} in list {stack} on board {board}" : "{user} criou o cartão {card} na lista {stack} do painel {board}",
|
||||
"You have deleted card {card} in list {stack} on board {board}" : "Você eliminou o cartão {card} na lista {stack} do painel {board}",
|
||||
"{user} has deleted card {card} in list {stack} on board {board}" : "{user} eliminou o cartão {card} na lista {stack} do painel {board}",
|
||||
"You have renamed the card {before} to {card}" : "Você mudou o nome do cartão {before} para {card}",
|
||||
"{user} has renamed the card {before} to {card}" : "{user} mudou o nome do cartão {before} para {card}",
|
||||
"You have added a description to card {card} in list {stack} on board {board}" : "Você adicionou uma descrição ao cartão {card} na lista {stack} do painel {board}",
|
||||
"{user} has added a description to card {card} in list {stack} on board {board}" : "{user} adicionou uma descrição ao cartão {card} na lista {stack} do painel {board}",
|
||||
"You have updated the description of card {card} in list {stack} on board {board}" : "Você atualizou a descrição do cartão {card} na lista {stack} do painel {board}",
|
||||
"{user} has updated the description of the card {card} in list {stack} on board {board}" : "{user} atualizou a descrição do cartão {card} na lista {stack} do painel {board}",
|
||||
"You have archived card {card} in list {stack} on board {board}" : "Você arquivou o cartão {card} na lista {stack} do painel {board}",
|
||||
"{user} has archived card {card} in list {stack} on board {board}" : "{user} arquivou o cartão {card} na lista {stack} do painel {board}",
|
||||
"You have unarchived card {card} in list {stack} on board {board}" : "Você desarquivou o cartão {card} na lista {stack} do painel {board}",
|
||||
"{user} has unarchived card {card} in list {stack} on board {board}" : "{user} desarquivou o cartão {card} na lista {stack} do painel {board}",
|
||||
"You have removed the due date of card {card}" : "Você eliminou a data limite do cartão {card}",
|
||||
"{user} has removed the due date of card {card}" : "{user} excluiu a data limite do cartão {card}",
|
||||
"You have set the due date of card {card} to {after}" : "Você definiu a data limite do cartão {card} para {after}",
|
||||
"{user} has set the due date of card {card} to {after}" : "{user} definiu a data limite do cartão {card} para {after}",
|
||||
"You have updated the due date of card {card} to {after}" : "Você atualizou a data limite do cartão {card} para {after}",
|
||||
"{user} has updated the due date of card {card} to {after}" : "{user} atualizou a data limite do cartão {card} para {after}",
|
||||
"You have added the tag {label} to card {card} in list {stack} on board {board}" : "Você adicionou a etiqueta {label} ao cartão {card} na lista {stack} do painel {board}",
|
||||
"{user} has added the tag {label} to card {card} in list {stack} on board {board}" : "{user} adicionou a etiqueta {label} ao cartão {card} na lista {stack} do painel {board}",
|
||||
"You have removed the tag {label} from card {card} in list {stack} on board {board}" : "Você removeu a etiqueta {label} do cartão {card} na lista {stack} do painel {board}",
|
||||
"{user} has removed the tag {label} from card {card} in list {stack} on board {board}" : "{user} removeu a etiqueta {label} do cartão {card} na lista {stack} do painel {board}",
|
||||
"You have assigned {assigneduser} to card {card} on board {board}" : "Você vinculou {assigneduser} ao cartão {card} do painel {board}",
|
||||
"{user} has assigned {assigneduser} to card {card} on board {board}" : "{user} vinculou {assigneduser} ao cartão {card} do painel {board}",
|
||||
"You have unassigned {assigneduser} from card {card} on board {board}" : "Você desvinculou {assigneduser} do cartão {card} no painel {board}",
|
||||
"{user} has unassigned {assigneduser} from card {card} on board {board}" : "{user} desvinculou {assigneduser} do cartão {card} no painel {board}",
|
||||
"You have moved the card {card} from list {stackBefore} to {stack}" : "Você moveu o cartão {card} da lista {stackBefore} para {stack}",
|
||||
"{user} has moved the card {card} from list {stackBefore} to {stack}" : "{user} moveu o cartão {card} da lista {stackBefore} para {stack}",
|
||||
"You have added the attachment {attachment} to card {card}" : "Você adicionou o anexo {attachment} no cartão {card}",
|
||||
"{user} has added the attachment {attachment} to card {card}" : "{user} adicionou um anexo {attachment} ao cartão {card}",
|
||||
"You have updated the attachment {attachment} on card {card}" : "Você atualizou o anexo {attachment} do cartão {card}",
|
||||
"{user} has updated the attachment {attachment} on card {card}" : "{user} atualizou o anexo {attachment} no cartão {card}",
|
||||
"You have deleted the attachment {attachment} from card {card}" : "Você excluiu o anexo {attachment} do cartão {card}",
|
||||
"{user} has deleted the attachment {attachment} from card {card}" : "{user} eliminou o anexo {attachment} do cartão {card}",
|
||||
"You have restored the attachment {attachment} to card {card}" : "Você restaurou o anexo {attachment} do cartão {card}",
|
||||
"{user} has restored the attachment {attachment} to card {card}" : "{user} restaurou o anexo {attachment} do cartão {card}",
|
||||
"You have commented on card {card}" : "Você comentou no cartão {card}",
|
||||
"{user} has commented on card {card}" : "{user} comentou no cartão {card}",
|
||||
"A <strong>card description</strong> inside the Deck app has been changed" : "Uma <strong>descrição do cartão</strong> dentro da aplicação Quadro foi alterada",
|
||||
"Deck" : "Quadro",
|
||||
"Changes in the <strong>Deck app</strong>" : "Alterações na aplicação Quadro",
|
||||
"A <strong>comment</strong> was created on a card" : "Um <strong>comentário</strong> foi criado num cartão",
|
||||
"Upcoming cards" : "Próximos cartões",
|
||||
"Personal" : "Pessoal",
|
||||
"The card \"%s\" on \"%s\" has been assigned to you by %s." : "O cartão \"%s\" em \"%s\" foi-lhe vinculado por %s.",
|
||||
"{user} has assigned the card {deck-card} on {deck-board} to you." : "{usuário} atribuiu-lhe o cartão {deck-card} no {deck-board}.",
|
||||
"The card \"%s\" on \"%s\" has reached its due date." : "O cartão \"%s\" em \"%s\" atingiu a sua data limite.",
|
||||
"The card {deck-card} on {deck-board} has reached its due date." : "O cartão {deck-card} em {deck-board} atingiu a sua data limite.",
|
||||
"%s has mentioned you in a comment on \"%s\"." : "%s mencionou-o num comentário em \"%s\".",
|
||||
"{user} has mentioned you in a comment on {deck-card}." : "{user} mencionou-o num comentário em {deck-card}.",
|
||||
"The card \"%s\" on \"%s\" has reached its due date." : "O cartão \"%s\" em \"%s\" chegou a sua data de vencimento",
|
||||
"The board \"%s\" has been shared with you by %s." : "O quadro \"%s\" foi partilhado consigo por %s.",
|
||||
"{user} has shared {deck-board} with you." : "{user} partilhou {deck-board} consigo.",
|
||||
"Card comments" : "Comentários nos cartões",
|
||||
"%s on %s" : "%s no %s",
|
||||
"No data was provided to create an attachment." : "Nenhum dado foi fornecido para criar um anexo.",
|
||||
"Finished" : "Terminado",
|
||||
"To review" : "A rever",
|
||||
"Action needed" : "Acção necessária",
|
||||
"Later" : "Mais tarde",
|
||||
"copy" : "copiar",
|
||||
"To do" : "Por fazer",
|
||||
"Doing" : "A fazer",
|
||||
"Done" : "Concluído",
|
||||
"Example Task 3" : "Tarefa de exemplo 3",
|
||||
"Example Task 2" : "Tarefa de exemplo 2",
|
||||
"Example Task 1" : "Tarefa de exemplo 1",
|
||||
"The file was uploaded" : "O ficheiro foi carregado",
|
||||
"The uploaded file exceeds the upload_max_filesize directive in php.ini" : "O ficheiro carregado excede a diretiva upload_max_filesize no php.ini ",
|
||||
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "O ficheiro carregado excede a diretiva MAX_FILE_SIZE especificada no formulário HTML",
|
||||
"The file was only partially uploaded" : "O ficheiro foi apenas parcialmente carregado",
|
||||
"No file was uploaded" : "Não foi carregado nenhum ficheiro",
|
||||
"The uploaded file exceeds the upload_max_filesize directive in php.ini" : "O ficheiro carregado excede a directiva upload_max_filesize no php.ini ",
|
||||
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "O ficheiro carregado excedo a directiva MAX_FILE_SIZE especificada no formulário HTML",
|
||||
"No file was uploaded" : "O ficheiro foi carregado",
|
||||
"Missing a temporary folder" : "Falta uma pasta temporária",
|
||||
"Could not write file to disk" : "Não foi possível escrever o ficheiro no disco.",
|
||||
"A PHP extension stopped the file upload" : "Uma extensão PHP parou o carregamento do ficheiro.",
|
||||
"No file uploaded or file size exceeds maximum of %s" : "Nenhum ficheiro carregado ou o tamanho do ficheiro excede o 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 comentário tem mais de %s caracteres.\nAdicionado como um anexo ao cartão com o nome %s.\nAcessível no URL: %s.",
|
||||
"Card not found" : "Cartão não encontrado",
|
||||
"Path is already shared with this card" : "O caminho já é partilhado com este cartão",
|
||||
"Invalid date, date format must be YYYY-MM-DD" : "Data inválida, o formato da data deve ser AAAA-MM-DD",
|
||||
"Personal planning and team project organization" : "Planeamento pessoal e organização de projetos em equipa",
|
||||
"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" : "Quadro é uma ferramenta de organização ao estilo kanban voltada para o planeamento pessoal e organização de projetos para equipas integradas no Nextcloud.\n\n\n- 📥Adicione as suas tarefas aos cartões e coloque-as em ordem\n- 📄 Escreva notas adicionais em Markdown\n- 🔖 Atribua etiquetas para uma organização ainda melhor\n- 👥 Compartilhe com a sua equipa, amigos ou família\n- 📎 Anexe ficheiros e incorpore-os à descrição em Markdown\n- 💬 Debata com a sua equipa usando comentários\n- ⚡ Acompanhe as mudanças no fluxo de atividades \n- 🚀 Organize o seu projeto",
|
||||
"Card details" : "Detalhes do cartão",
|
||||
"Add board" : "Adicionar quadro",
|
||||
"Add board" : "Arquivar cartão",
|
||||
"Cancel" : "Cancelar",
|
||||
"File already exists" : "O ficheiro já existe",
|
||||
"Add card" : "Adicionar um cartão",
|
||||
|
||||
10
l10n/ru.js
10
l10n/ru.js
@@ -100,12 +100,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Постоянный адрес этого комментария: %s.",
|
||||
"Card not found" : "Карточка не найдена",
|
||||
"Path is already shared with this card" : "Этот путь уже опубликован в карточке",
|
||||
"Invalid date, date format must be YYYY-MM-DD" : "Некорректный формат даты, дата должна быть в формате YYYY-MM-DD",
|
||||
"Personal planning and team project organization" : "Личное планирование и управление проектами для команд",
|
||||
"Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.\n\n\n- 📥 Add your tasks to cards and put them in order\n- 📄 Write down additional notes in Markdown\n- 🔖 Assign labels for even better organization\n- 👥 Share with your team, friends or family\n- 📎 Attach files and embed them in your Markdown description\n- 💬 Discuss with your team using comments\n- ⚡ Keep track of changes in the activity stream\n- 🚀 Get your project organized" : "Карточки — приложение для Nextcloud, предоставляющее возможности личного планирования и управления проектами для рабочих групп в стиле канбан.\n\n\n- 📥 Создавайте карточки задач и упорядочите их;\n- 📄 Добавляйте описания задач с возможностью использовать формат разметки «markdown»;\n- 🔖 Присваивайте ярлыки для ещё лучшей организации;\n- 👥 Делитесь со своей командой, друзьями или семьей;\n- 📎 Вкладывайте файлы в виде ссылок в описании, используя формат разметки «Markdown»;\n- 💬 Обсуждайте в комментариях;\n- ⚡ Отслеживайте изменения в ленте событий;\n- 🚀 Сделайте свой проект более организованным.",
|
||||
"Card details" : "Свойства карточки",
|
||||
"Add board" : "Добавить доску",
|
||||
"Select the board to link to a project" : "Выберите рабочую доску, чтобы связать с проектом",
|
||||
@@ -186,10 +184,8 @@ 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" : "Восстановить вложение",
|
||||
@@ -241,7 +237,6 @@ OC.L10N.register(
|
||||
"Archive card" : "Переместить в архив",
|
||||
"Delete card" : "Удалить",
|
||||
"Move card to another board" : "Переместить карточку на другую доску",
|
||||
"List is empty" : "Список не содержит записей",
|
||||
"Card deleted" : "Карточка удалена",
|
||||
"seconds ago" : "несколько секунд назад",
|
||||
"All boards" : "Все доски",
|
||||
@@ -287,9 +282,6 @@ OC.L10N.register(
|
||||
"Share with a Deck card" : "Опубликовать в приложении Карточки",
|
||||
"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" : "Карточки — приложение для Nextcloud, предоставляющее возможности личного планирования и управления проектами для рабочих групп в стиле канбан.\n\n\n- 📥 Создавайте карточки задач и упорядочите их;\n- 📄 Добавляйте описания задач с возможностью использовать формат разметки «markdown»;\n- 🔖 Присваивайте ярлыки для ещё лучшей организации;\n- 👥 Делитесь со своей командой, друзьями или семьей;\n- 📎 Вкладывайте файлы в виде ссылок в описании, используя формат разметки «markdown»;\n- 💬 Обсуждайте в комментариях;\n- ⚡ Отслеживайте изменения в ленте событий;\n- 🚀 Сделайте свой проект более организованным.",
|
||||
"Creating the new card…" : "Создание карточки…",
|
||||
"\"{card}\" was added to \"{board}\"" : "«{card}» добавлена на доску «{board}»",
|
||||
"(circle)" : "(круг)"
|
||||
"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- 🚀 Сделайте свой проект более организованным."
|
||||
},
|
||||
"nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);");
|
||||
|
||||
10
l10n/ru.json
10
l10n/ru.json
@@ -98,12 +98,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Постоянный адрес этого комментария: %s.",
|
||||
"Card not found" : "Карточка не найдена",
|
||||
"Path is already shared with this card" : "Этот путь уже опубликован в карточке",
|
||||
"Invalid date, date format must be YYYY-MM-DD" : "Некорректный формат даты, дата должна быть в формате YYYY-MM-DD",
|
||||
"Personal planning and team project organization" : "Личное планирование и управление проектами для команд",
|
||||
"Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.\n\n\n- 📥 Add your tasks to cards and put them in order\n- 📄 Write down additional notes in Markdown\n- 🔖 Assign labels for even better organization\n- 👥 Share with your team, friends or family\n- 📎 Attach files and embed them in your Markdown description\n- 💬 Discuss with your team using comments\n- ⚡ Keep track of changes in the activity stream\n- 🚀 Get your project organized" : "Карточки — приложение для Nextcloud, предоставляющее возможности личного планирования и управления проектами для рабочих групп в стиле канбан.\n\n\n- 📥 Создавайте карточки задач и упорядочите их;\n- 📄 Добавляйте описания задач с возможностью использовать формат разметки «markdown»;\n- 🔖 Присваивайте ярлыки для ещё лучшей организации;\n- 👥 Делитесь со своей командой, друзьями или семьей;\n- 📎 Вкладывайте файлы в виде ссылок в описании, используя формат разметки «Markdown»;\n- 💬 Обсуждайте в комментариях;\n- ⚡ Отслеживайте изменения в ленте событий;\n- 🚀 Сделайте свой проект более организованным.",
|
||||
"Card details" : "Свойства карточки",
|
||||
"Add board" : "Добавить доску",
|
||||
"Select the board to link to a project" : "Выберите рабочую доску, чтобы связать с проектом",
|
||||
@@ -184,10 +182,8 @@
|
||||
"Members" : "Участники",
|
||||
"Upload new files" : "Передать на сервер новые файлы",
|
||||
"Share from Files" : "Опубликовать из приложения «Файлы»",
|
||||
"Pending share" : "Ожидающие публикации",
|
||||
"Add this attachment" : "Добавить это вложение",
|
||||
"Show in Files" : "Показать в приложении «Файлы»",
|
||||
"Download" : "Скачать",
|
||||
"Remove attachment" : "Убрать вложение",
|
||||
"Delete Attachment" : "Удалить вложение",
|
||||
"Restore Attachment" : "Восстановить вложение",
|
||||
@@ -239,7 +235,6 @@
|
||||
"Archive card" : "Переместить в архив",
|
||||
"Delete card" : "Удалить",
|
||||
"Move card to another board" : "Переместить карточку на другую доску",
|
||||
"List is empty" : "Список не содержит записей",
|
||||
"Card deleted" : "Карточка удалена",
|
||||
"seconds ago" : "несколько секунд назад",
|
||||
"All boards" : "Все доски",
|
||||
@@ -285,9 +280,6 @@
|
||||
"Share with a Deck card" : "Опубликовать в приложении Карточки",
|
||||
"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" : "Карточки — приложение для Nextcloud, предоставляющее возможности личного планирования и управления проектами для рабочих групп в стиле канбан.\n\n\n- 📥 Создавайте карточки задач и упорядочите их;\n- 📄 Добавляйте описания задач с возможностью использовать формат разметки «markdown»;\n- 🔖 Присваивайте ярлыки для ещё лучшей организации;\n- 👥 Делитесь со своей командой, друзьями или семьей;\n- 📎 Вкладывайте файлы в виде ссылок в описании, используя формат разметки «markdown»;\n- 💬 Обсуждайте в комментариях;\n- ⚡ Отслеживайте изменения в ленте событий;\n- 🚀 Сделайте свой проект более организованным.",
|
||||
"Creating the new card…" : "Создание карточки…",
|
||||
"\"{card}\" was added to \"{board}\"" : "«{card}» добавлена на доску «{board}»",
|
||||
"(circle)" : "(круг)"
|
||||
"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- 🚀 Сделайте свой проект более организованным."
|
||||
},"pluralForm" :"nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);"
|
||||
}
|
||||
@@ -100,12 +100,10 @@ OC.L10N.register(
|
||||
"Could not write file to disk" : "Nepodarilo sa zapísať súbor na disk",
|
||||
"A PHP extension stopped the file upload" : "Rozšírenie PHP zastavilo nahrávanie súboru",
|
||||
"No file uploaded or file size exceeds maximum of %s" : "Nenahral sa žiadny súbor alebo jeho veľkosť presiahla %s",
|
||||
"This comment has more than %s characters.\nAdded as an attachment to the card with name %s.\nAccessible on URL: %s." : "Tento komentár má viac než %s znakov.\nPridané ako príloha ku karte s názvom %s.\nDostupné na URL: %s.",
|
||||
"Card not found" : "Karta nebola nájdená",
|
||||
"Path is already shared with this card" : "Cesta je už zdieľaná s touto kartou",
|
||||
"Invalid date, date format must be YYYY-MM-DD" : "Neplatný dátum, formát musí byť v tvare YYYY-MM-DD",
|
||||
"Personal planning and team project organization" : "Osobné plánovanie a organizácia tímových projektov",
|
||||
"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 je organizačný nástroj typu kanban zameraný na osobné plánovanie a organizáciu projektov pre tímy integrované s Nextcloud.\n\n\n- 📥 Pridajte svoje úlohy na karty a usporiadajte ich\n- 📄 Zapíšte si ďalšie poznámky v Markdown\n- 🔖 Priraďte štítky pre ešte lepšiu organizáciu\n- 👥 Zdieľajte so svojím tímom, priateľmi alebo rodinou\n- 📎 Pripojte súbory a vložte ich do popisu Markdown\n- 💬 Diskutujte so svojím tímom pomocou komentárov\n- ⚡ Sledujte zmeny v prúde aktivít\n- 🚀 Zorganizujte si svoj projekt",
|
||||
"Card details" : "Podrobnosti o karte",
|
||||
"Add board" : "Pridať nástenk",
|
||||
"Select the board to link to a project" : "Vybrať nástenku na vytvorenie odkazu ku projektu",
|
||||
@@ -241,7 +239,6 @@ OC.L10N.register(
|
||||
"Archive card" : "Archivovať kartu",
|
||||
"Delete card" : "Zmazať kartu",
|
||||
"Move card to another board" : "Presunúť kartu na inú nástenku",
|
||||
"List is empty" : "Zoznam je prázdny",
|
||||
"Card deleted" : "Karta bola vymazaná",
|
||||
"seconds ago" : "pred niekoľkými sekundami",
|
||||
"All boards" : "Všetky nástenky",
|
||||
@@ -287,9 +284,6 @@ OC.L10N.register(
|
||||
"Share with a Deck card" : "Zdieľať s kartou Deck",
|
||||
"Share {file} with a Deck card" : "Zdieľať {file} s kartou Deck",
|
||||
"Share" : "Zdieľať",
|
||||
"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" : "Karty sú nástroj zacielený na osobné alebo projektové plánovanie tímov v štýle Kanban integrovaný do Nextcloud.\n\n\n- 📥 Zadávajte a usporadúvajte svoje úlohy do kariet\n- 📄 Zapisujte si dodatočné poznámky\n- 🔖 Priraďujte štítky pre ešte lepšiu organizáciu\n- 👥 Zdieľajte so svojim tímom, priateľmi alebo rodinou\n- 🚀 Dostaňte svoj projekt pod kontrolu",
|
||||
"Creating the new card…" : "Vytváram novú kartu...",
|
||||
"\"{card}\" was added to \"{board}\"" : "\"{card}\" bola pridaná na \"{board}\"",
|
||||
"(circle)" : "(kruh)"
|
||||
"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" : "Karty sú nástroj zacielený na osobné alebo projektové plánovanie tímov v štýle Kanban integrovaný do Nextcloud.\n\n\n- 📥 Zadávajte a usporadúvajte svoje úlohy do kariet\n- 📄 Zapisujte si dodatočné poznámky\n- 🔖 Priraďujte štítky pre ešte lepšiu organizáciu\n- 👥 Zdieľajte so svojim tímom, priateľmi alebo rodinou\n- 🚀 Dostaňte svoj projekt pod kontrolu"
|
||||
},
|
||||
"nplurals=4; plural=(n % 1 == 0 && n == 1 ? 0 : n % 1 == 0 && n >= 2 && n <= 4 ? 1 : n % 1 != 0 ? 2: 3);");
|
||||
|
||||
@@ -98,12 +98,10 @@
|
||||
"Could not write file to disk" : "Nepodarilo sa zapísať súbor na disk",
|
||||
"A PHP extension stopped the file upload" : "Rozšírenie PHP zastavilo nahrávanie súboru",
|
||||
"No file uploaded or file size exceeds maximum of %s" : "Nenahral sa žiadny súbor alebo jeho veľkosť presiahla %s",
|
||||
"This comment has more than %s characters.\nAdded as an attachment to the card with name %s.\nAccessible on URL: %s." : "Tento komentár má viac než %s znakov.\nPridané ako príloha ku karte s názvom %s.\nDostupné na URL: %s.",
|
||||
"Card not found" : "Karta nebola nájdená",
|
||||
"Path is already shared with this card" : "Cesta je už zdieľaná s touto kartou",
|
||||
"Invalid date, date format must be YYYY-MM-DD" : "Neplatný dátum, formát musí byť v tvare YYYY-MM-DD",
|
||||
"Personal planning and team project organization" : "Osobné plánovanie a organizácia tímových projektov",
|
||||
"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 je organizačný nástroj typu kanban zameraný na osobné plánovanie a organizáciu projektov pre tímy integrované s Nextcloud.\n\n\n- 📥 Pridajte svoje úlohy na karty a usporiadajte ich\n- 📄 Zapíšte si ďalšie poznámky v Markdown\n- 🔖 Priraďte štítky pre ešte lepšiu organizáciu\n- 👥 Zdieľajte so svojím tímom, priateľmi alebo rodinou\n- 📎 Pripojte súbory a vložte ich do popisu Markdown\n- 💬 Diskutujte so svojím tímom pomocou komentárov\n- ⚡ Sledujte zmeny v prúde aktivít\n- 🚀 Zorganizujte si svoj projekt",
|
||||
"Card details" : "Podrobnosti o karte",
|
||||
"Add board" : "Pridať nástenk",
|
||||
"Select the board to link to a project" : "Vybrať nástenku na vytvorenie odkazu ku projektu",
|
||||
@@ -239,7 +237,6 @@
|
||||
"Archive card" : "Archivovať kartu",
|
||||
"Delete card" : "Zmazať kartu",
|
||||
"Move card to another board" : "Presunúť kartu na inú nástenku",
|
||||
"List is empty" : "Zoznam je prázdny",
|
||||
"Card deleted" : "Karta bola vymazaná",
|
||||
"seconds ago" : "pred niekoľkými sekundami",
|
||||
"All boards" : "Všetky nástenky",
|
||||
@@ -285,9 +282,6 @@
|
||||
"Share with a Deck card" : "Zdieľať s kartou Deck",
|
||||
"Share {file} with a Deck card" : "Zdieľať {file} s kartou Deck",
|
||||
"Share" : "Zdieľať",
|
||||
"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" : "Karty sú nástroj zacielený na osobné alebo projektové plánovanie tímov v štýle Kanban integrovaný do Nextcloud.\n\n\n- 📥 Zadávajte a usporadúvajte svoje úlohy do kariet\n- 📄 Zapisujte si dodatočné poznámky\n- 🔖 Priraďujte štítky pre ešte lepšiu organizáciu\n- 👥 Zdieľajte so svojim tímom, priateľmi alebo rodinou\n- 🚀 Dostaňte svoj projekt pod kontrolu",
|
||||
"Creating the new card…" : "Vytváram novú kartu...",
|
||||
"\"{card}\" was added to \"{board}\"" : "\"{card}\" bola pridaná na \"{board}\"",
|
||||
"(circle)" : "(kruh)"
|
||||
"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" : "Karty sú nástroj zacielený na osobné alebo projektové plánovanie tímov v štýle Kanban integrovaný do Nextcloud.\n\n\n- 📥 Zadávajte a usporadúvajte svoje úlohy do kariet\n- 📄 Zapisujte si dodatočné poznámky\n- 🔖 Priraďujte štítky pre ešte lepšiu organizáciu\n- 👥 Zdieľajte so svojim tímom, priateľmi alebo rodinou\n- 🚀 Dostaňte svoj projekt pod kontrolu"
|
||||
},"pluralForm" :"nplurals=4; plural=(n % 1 == 0 && n == 1 ? 0 : n % 1 == 0 && n >= 2 && n <= 4 ? 1 : n % 1 != 0 ? 2: 3);"
|
||||
}
|
||||
13
l10n/sv.js
13
l10n/sv.js
@@ -100,12 +100,10 @@ OC.L10N.register(
|
||||
"Could not write file to disk" : "Kunde inte skriva fil till disk",
|
||||
"A PHP extension stopped the file upload" : "Ett PHP-tillägg stoppade filuppladdningen",
|
||||
"No file uploaded or file size exceeds maximum of %s" : "Ingen fil uppladdad eller filstorleken överstiger max %s",
|
||||
"This comment has more than %s characters.\nAdded as an attachment to the card with name %s.\nAccessible on URL: %s." : "Den här kommentaren har mer än %s tecken.\nTillagd som en bilaga till kortet men namnet %s.\nÅtkomlig via URL: %s.",
|
||||
"Card not found" : "Kortet hittades inte",
|
||||
"Path is already shared with this card" : "Sökvägen är redan delad med detta kort",
|
||||
"Invalid date, date format must be YYYY-MM-DD" : "Ogiltigt datum, måste anges: ÅÅÅÅ-MM-DD",
|
||||
"Personal planning and team project organization" : "Personlig planering och projekthantering för teams",
|
||||
"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 är en kanban-liknande organiseringsverktyg för personlig planering samt projektorganisering för arbetsgrupper integrerade med Nextcloud.\n\n\n- 📥 Lägg till uppgifter på kort och lägg de i ordning\n- 📄 Skriv anteckningar i Markdown\n- 🔖 Tilldela etiketter för bättre organisering\n- 👥 Dela med arbetsgruppen, vänner eller familj\n- 📎 Bifoga filer och bädda in dem i Markdown-anteckningarna\n- 💬 Diskutera med arbetsgruppen med hjälp av kommentarer\n- ⚡ Håll koll på ändringar i aktivitetsflödet\n- 🚀 Få struktur på dina projekt",
|
||||
"Card details" : "Kortdetaljer",
|
||||
"Add board" : "Lägg till tavla",
|
||||
"Select the board to link to a project" : "Välj tavla att länka till ett projekt",
|
||||
@@ -186,11 +184,8 @@ OC.L10N.register(
|
||||
"Members" : "Medlemmar",
|
||||
"Upload new files" : "Ladda upp nya filer",
|
||||
"Share from Files" : "Dela från Filer",
|
||||
"Pending share" : "Väntande delning",
|
||||
"Add this attachment" : "Lägg till denna bilaga",
|
||||
"Show in Files" : "Visa i Filer",
|
||||
"Download" : "Ladda ner",
|
||||
"Remove attachment" : "Ta bort bilaga",
|
||||
"Delete Attachment" : "Ta bort bilaga",
|
||||
"Restore Attachment" : "Återställ bilaga",
|
||||
"File to share" : "Fil att dela",
|
||||
@@ -214,8 +209,6 @@ OC.L10N.register(
|
||||
"Select Date" : "Välj datum",
|
||||
"Today" : "Idag",
|
||||
"Tomorrow" : "Imorgon",
|
||||
"Next week" : "Nästa vecka",
|
||||
"Next month" : "Nästa månad",
|
||||
"Save" : "Spara",
|
||||
"The comment cannot be empty." : "Kommentaren kan inte vara tom.",
|
||||
"The comment cannot be longer than 1000 characters." : "Kommentaren kan inte vara längre än 1000 tecken.",
|
||||
@@ -241,7 +234,6 @@ OC.L10N.register(
|
||||
"Archive card" : "Arkivera kort",
|
||||
"Delete card" : "Ta bort kort",
|
||||
"Move card to another board" : "Flytta kort till en annan tavla",
|
||||
"List is empty" : "Listan är tom",
|
||||
"Card deleted" : "Kortet har raderats",
|
||||
"seconds ago" : "sekunder sedan",
|
||||
"All boards" : "Alla tavlor",
|
||||
@@ -287,9 +279,6 @@ OC.L10N.register(
|
||||
"Share with a Deck card" : "Dela med ett Deck-kort",
|
||||
"Share {file} with a Deck card" : "Dela {file} med ett Deck-kort",
|
||||
"Share" : "Dela",
|
||||
"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 är en kanban-liknande projekt- och organiseringsapp för arbetsgrupper i Nextcloud.\n\n\n- 📥 Lägg till uppgifter på kort och ordna dem\n- 📄 Skriv anteckningar i markdown\n- 🔖 Tilldela etiketter för organisering\n- 👥 Dela med arbetsgruppen, vänner eller familj\n- 📎 Bifoga filer och bädda in dem i markdown-anteckningarna\n- 💬 Diskutera i arbetsgruppen genom kommentarer\n- ⚡ Håll koll på ändringar i aktivitetsflödet\n- 🚀 Börja organisera din arbetsgrupp nu!",
|
||||
"Creating the new card…" : "Skapar det nya kortet...",
|
||||
"\"{card}\" was added to \"{board}\"" : "\"{card}\" lades till i \"{board}\"",
|
||||
"(circle)" : "(cirkel)"
|
||||
"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 är en kanban-liknande projekt- och organiseringsapp för arbetsgrupper i Nextcloud.\n\n\n- 📥 Lägg till uppgifter på kort och ordna dem\n- 📄 Skriv anteckningar i markdown\n- 🔖 Tilldela etiketter för organisering\n- 👥 Dela med arbetsgruppen, vänner eller familj\n- 📎 Bifoga filer och bädda in dem i markdown-anteckningarna\n- 💬 Diskutera i arbetsgruppen genom kommentarer\n- ⚡ Håll koll på ändringar i aktivitetsflödet\n- 🚀 Börja organisera din arbetsgrupp nu!"
|
||||
},
|
||||
"nplurals=2; plural=(n != 1);");
|
||||
|
||||
13
l10n/sv.json
13
l10n/sv.json
@@ -98,12 +98,10 @@
|
||||
"Could not write file to disk" : "Kunde inte skriva fil till disk",
|
||||
"A PHP extension stopped the file upload" : "Ett PHP-tillägg stoppade filuppladdningen",
|
||||
"No file uploaded or file size exceeds maximum of %s" : "Ingen fil uppladdad eller filstorleken överstiger max %s",
|
||||
"This comment has more than %s characters.\nAdded as an attachment to the card with name %s.\nAccessible on URL: %s." : "Den här kommentaren har mer än %s tecken.\nTillagd som en bilaga till kortet men namnet %s.\nÅtkomlig via URL: %s.",
|
||||
"Card not found" : "Kortet hittades inte",
|
||||
"Path is already shared with this card" : "Sökvägen är redan delad med detta kort",
|
||||
"Invalid date, date format must be YYYY-MM-DD" : "Ogiltigt datum, måste anges: ÅÅÅÅ-MM-DD",
|
||||
"Personal planning and team project organization" : "Personlig planering och projekthantering för teams",
|
||||
"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 är en kanban-liknande organiseringsverktyg för personlig planering samt projektorganisering för arbetsgrupper integrerade med Nextcloud.\n\n\n- 📥 Lägg till uppgifter på kort och lägg de i ordning\n- 📄 Skriv anteckningar i Markdown\n- 🔖 Tilldela etiketter för bättre organisering\n- 👥 Dela med arbetsgruppen, vänner eller familj\n- 📎 Bifoga filer och bädda in dem i Markdown-anteckningarna\n- 💬 Diskutera med arbetsgruppen med hjälp av kommentarer\n- ⚡ Håll koll på ändringar i aktivitetsflödet\n- 🚀 Få struktur på dina projekt",
|
||||
"Card details" : "Kortdetaljer",
|
||||
"Add board" : "Lägg till tavla",
|
||||
"Select the board to link to a project" : "Välj tavla att länka till ett projekt",
|
||||
@@ -184,11 +182,8 @@
|
||||
"Members" : "Medlemmar",
|
||||
"Upload new files" : "Ladda upp nya filer",
|
||||
"Share from Files" : "Dela från Filer",
|
||||
"Pending share" : "Väntande delning",
|
||||
"Add this attachment" : "Lägg till denna bilaga",
|
||||
"Show in Files" : "Visa i Filer",
|
||||
"Download" : "Ladda ner",
|
||||
"Remove attachment" : "Ta bort bilaga",
|
||||
"Delete Attachment" : "Ta bort bilaga",
|
||||
"Restore Attachment" : "Återställ bilaga",
|
||||
"File to share" : "Fil att dela",
|
||||
@@ -212,8 +207,6 @@
|
||||
"Select Date" : "Välj datum",
|
||||
"Today" : "Idag",
|
||||
"Tomorrow" : "Imorgon",
|
||||
"Next week" : "Nästa vecka",
|
||||
"Next month" : "Nästa månad",
|
||||
"Save" : "Spara",
|
||||
"The comment cannot be empty." : "Kommentaren kan inte vara tom.",
|
||||
"The comment cannot be longer than 1000 characters." : "Kommentaren kan inte vara längre än 1000 tecken.",
|
||||
@@ -239,7 +232,6 @@
|
||||
"Archive card" : "Arkivera kort",
|
||||
"Delete card" : "Ta bort kort",
|
||||
"Move card to another board" : "Flytta kort till en annan tavla",
|
||||
"List is empty" : "Listan är tom",
|
||||
"Card deleted" : "Kortet har raderats",
|
||||
"seconds ago" : "sekunder sedan",
|
||||
"All boards" : "Alla tavlor",
|
||||
@@ -285,9 +277,6 @@
|
||||
"Share with a Deck card" : "Dela med ett Deck-kort",
|
||||
"Share {file} with a Deck card" : "Dela {file} med ett Deck-kort",
|
||||
"Share" : "Dela",
|
||||
"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 är en kanban-liknande projekt- och organiseringsapp för arbetsgrupper i Nextcloud.\n\n\n- 📥 Lägg till uppgifter på kort och ordna dem\n- 📄 Skriv anteckningar i markdown\n- 🔖 Tilldela etiketter för organisering\n- 👥 Dela med arbetsgruppen, vänner eller familj\n- 📎 Bifoga filer och bädda in dem i markdown-anteckningarna\n- 💬 Diskutera i arbetsgruppen genom kommentarer\n- ⚡ Håll koll på ändringar i aktivitetsflödet\n- 🚀 Börja organisera din arbetsgrupp nu!",
|
||||
"Creating the new card…" : "Skapar det nya kortet...",
|
||||
"\"{card}\" was added to \"{board}\"" : "\"{card}\" lades till i \"{board}\"",
|
||||
"(circle)" : "(cirkel)"
|
||||
"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 är en kanban-liknande projekt- och organiseringsapp för arbetsgrupper i Nextcloud.\n\n\n- 📥 Lägg till uppgifter på kort och ordna dem\n- 📄 Skriv anteckningar i markdown\n- 🔖 Tilldela etiketter för organisering\n- 👥 Dela med arbetsgruppen, vänner eller familj\n- 📎 Bifoga filer och bädda in dem i markdown-anteckningarna\n- 💬 Diskutera i arbetsgruppen genom kommentarer\n- ⚡ Håll koll på ändringar i aktivitetsflödet\n- 🚀 Börja organisera din arbetsgrupp nu!"
|
||||
},"pluralForm" :"nplurals=2; plural=(n != 1);"
|
||||
}
|
||||
@@ -100,12 +100,10 @@ OC.L10N.register(
|
||||
"Could not write file to disk" : "Dosya diske yazılamadı",
|
||||
"A PHP extension stopped the file upload" : "Bir PHP eklentisi dosyanın yüklenmesini engelledi",
|
||||
"No file uploaded or file size exceeds maximum of %s" : "Herhangi bir dosya yüklenmedi ya da %s olan en büyük dosya boyutu sınırı aşıldı",
|
||||
"This comment has more than %s characters.\nAdded as an attachment to the card with name %s.\nAccessible on URL: %s." : "Bu yorum %s karakterden uzun.\nKarta %s adıyla ek dosya olarak eklendi.\nŞu adresten erişilebilir: %s.",
|
||||
"Card not found" : "Kart bulunamadı",
|
||||
"Path is already shared with this card" : "Bu yol bu kart ile zaten paylaşılmış",
|
||||
"Invalid date, date format must be YYYY-MM-DD" : "Tarih geçersiz. Tarih biçimi YYYY-AA-GG olmalıdır",
|
||||
"Personal planning and team project organization" : "Kişisel planlama ve takım projesi yönetimi",
|
||||
"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" : "Tahta, Nextcloud ile bütünleştirilmiş takımlar için Kanban tarzında bir kişisel planlama ve proje yönetimi uygulamasıdır.\n\n\n- 📥 Görevleri kartlara ekleyerek sıralayabilirsiniz\n- 📄 Markdown ile biçimlendirilmiş notlar ekleyebilirsiniz\n- 🔖 Daha iyi düzenleme için etiketler atayabilirsiniz\n- 👥 Takımınız, arkadaşlarınız ya da aileniz ile paylaşabilirsiniz\n- 📎 Dosyalar ekleyebilir ve Markdown açıklamasına gömebilirsiniz\n- 💬 Yorumları kullanarak konular üzerinde takımınız ile yazışabilirsiniz\n- ⚡ İşlem akışı ile değişiklikleri görebilirsiniz\n- 🚀 Projelerinizi düzenli tutarak izleyebilirsiniz",
|
||||
"Card details" : "Kart ayrıntıları",
|
||||
"Add board" : "Pano ekle",
|
||||
"Select the board to link to a project" : "Bir proje ile ilişkilendirilecek pano bağlantısını seçin",
|
||||
@@ -241,7 +239,6 @@ OC.L10N.register(
|
||||
"Archive card" : "Kartı arşivle",
|
||||
"Delete card" : "Kartı sil",
|
||||
"Move card to another board" : "Kartı başka bir panoya taşı",
|
||||
"List is empty" : "Liste boş",
|
||||
"Card deleted" : "Kart silindi",
|
||||
"seconds ago" : "saniye önce",
|
||||
"All boards" : "Tüm panolar",
|
||||
@@ -287,9 +284,6 @@ OC.L10N.register(
|
||||
"Share with a Deck card" : "Bir tahta kartı ile paylaş",
|
||||
"Share {file} with a Deck card" : "{file} dosyasını bir tahta kartı ile paylaş",
|
||||
"Share" : "Paylaş",
|
||||
"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" : "Tahta, Nextcloud ile bütünleştirilmiş takımlar için Kanban tarzında bir kişisel planlama ve proje yönetimi uygulamasıdır.\n\n\n- 📥 Görevleri kartlara ekleyerek sıralayabilirsiniz\n- 📄 Markdown ile biçimlendirilmiş notlar ekleyebilirsiniz\n- 🔖 Daha iyi düzenleme için etiketler atayabilirsiniz\n- 👥 Takımınız, arkadaşlarınız ya da aileniz ile paylaşabilirsiniz\n- 💬 Yorumları kullanarak konular üzerinde takımınız ile yazışabilirsiniz\n- ⚡ İşlem akışı ile değişiklikleri görebilirsiniz\n- 🚀 Projelerinizi düzenli tutarak izleyebilirsiniz",
|
||||
"Creating the new card…" : "Yeni kart ekleniyor…",
|
||||
"\"{card}\" was added to \"{board}\"" : "\"{card}\" kartı \"{board}\" panosuna eklendi",
|
||||
"(circle)" : "(çevre)"
|
||||
"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" : "Tahta, Nextcloud ile bütünleştirilmiş takımlar için Kanban tarzında bir kişisel planlama ve proje yönetimi uygulamasıdır.\n\n\n- 📥 Görevleri kartlara ekleyerek sıralayabilirsiniz\n- 📄 Markdown ile biçimlendirilmiş notlar ekleyebilirsiniz\n- 🔖 Daha iyi düzenleme için etiketler atayabilirsiniz\n- 👥 Takımınız, arkadaşlarınız ya da aileniz ile paylaşabilirsiniz\n- 💬 Yorumları kullanarak konular üzerinde takımınız ile yazışabilirsiniz\n- ⚡ İşlem akışı ile değişiklikleri görebilirsiniz\n- 🚀 Projelerinizi düzenli tutarak izleyebilirsiniz"
|
||||
},
|
||||
"nplurals=2; plural=(n > 1);");
|
||||
|
||||
@@ -98,12 +98,10 @@
|
||||
"Could not write file to disk" : "Dosya diske yazılamadı",
|
||||
"A PHP extension stopped the file upload" : "Bir PHP eklentisi dosyanın yüklenmesini engelledi",
|
||||
"No file uploaded or file size exceeds maximum of %s" : "Herhangi bir dosya yüklenmedi ya da %s olan en büyük dosya boyutu sınırı aşıldı",
|
||||
"This comment has more than %s characters.\nAdded as an attachment to the card with name %s.\nAccessible on URL: %s." : "Bu yorum %s karakterden uzun.\nKarta %s adıyla ek dosya olarak eklendi.\nŞu adresten erişilebilir: %s.",
|
||||
"Card not found" : "Kart bulunamadı",
|
||||
"Path is already shared with this card" : "Bu yol bu kart ile zaten paylaşılmış",
|
||||
"Invalid date, date format must be YYYY-MM-DD" : "Tarih geçersiz. Tarih biçimi YYYY-AA-GG olmalıdır",
|
||||
"Personal planning and team project organization" : "Kişisel planlama ve takım projesi yönetimi",
|
||||
"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" : "Tahta, Nextcloud ile bütünleştirilmiş takımlar için Kanban tarzında bir kişisel planlama ve proje yönetimi uygulamasıdır.\n\n\n- 📥 Görevleri kartlara ekleyerek sıralayabilirsiniz\n- 📄 Markdown ile biçimlendirilmiş notlar ekleyebilirsiniz\n- 🔖 Daha iyi düzenleme için etiketler atayabilirsiniz\n- 👥 Takımınız, arkadaşlarınız ya da aileniz ile paylaşabilirsiniz\n- 📎 Dosyalar ekleyebilir ve Markdown açıklamasına gömebilirsiniz\n- 💬 Yorumları kullanarak konular üzerinde takımınız ile yazışabilirsiniz\n- ⚡ İşlem akışı ile değişiklikleri görebilirsiniz\n- 🚀 Projelerinizi düzenli tutarak izleyebilirsiniz",
|
||||
"Card details" : "Kart ayrıntıları",
|
||||
"Add board" : "Pano ekle",
|
||||
"Select the board to link to a project" : "Bir proje ile ilişkilendirilecek pano bağlantısını seçin",
|
||||
@@ -239,7 +237,6 @@
|
||||
"Archive card" : "Kartı arşivle",
|
||||
"Delete card" : "Kartı sil",
|
||||
"Move card to another board" : "Kartı başka bir panoya taşı",
|
||||
"List is empty" : "Liste boş",
|
||||
"Card deleted" : "Kart silindi",
|
||||
"seconds ago" : "saniye önce",
|
||||
"All boards" : "Tüm panolar",
|
||||
@@ -285,9 +282,6 @@
|
||||
"Share with a Deck card" : "Bir tahta kartı ile paylaş",
|
||||
"Share {file} with a Deck card" : "{file} dosyasını bir tahta kartı ile paylaş",
|
||||
"Share" : "Paylaş",
|
||||
"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" : "Tahta, Nextcloud ile bütünleştirilmiş takımlar için Kanban tarzında bir kişisel planlama ve proje yönetimi uygulamasıdır.\n\n\n- 📥 Görevleri kartlara ekleyerek sıralayabilirsiniz\n- 📄 Markdown ile biçimlendirilmiş notlar ekleyebilirsiniz\n- 🔖 Daha iyi düzenleme için etiketler atayabilirsiniz\n- 👥 Takımınız, arkadaşlarınız ya da aileniz ile paylaşabilirsiniz\n- 💬 Yorumları kullanarak konular üzerinde takımınız ile yazışabilirsiniz\n- ⚡ İşlem akışı ile değişiklikleri görebilirsiniz\n- 🚀 Projelerinizi düzenli tutarak izleyebilirsiniz",
|
||||
"Creating the new card…" : "Yeni kart ekleniyor…",
|
||||
"\"{card}\" was added to \"{board}\"" : "\"{card}\" kartı \"{board}\" panosuna eklendi",
|
||||
"(circle)" : "(çevre)"
|
||||
"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" : "Tahta, Nextcloud ile bütünleştirilmiş takımlar için Kanban tarzında bir kişisel planlama ve proje yönetimi uygulamasıdır.\n\n\n- 📥 Görevleri kartlara ekleyerek sıralayabilirsiniz\n- 📄 Markdown ile biçimlendirilmiş notlar ekleyebilirsiniz\n- 🔖 Daha iyi düzenleme için etiketler atayabilirsiniz\n- 👥 Takımınız, arkadaşlarınız ya da aileniz ile paylaşabilirsiniz\n- 💬 Yorumları kullanarak konular üzerinde takımınız ile yazışabilirsiniz\n- ⚡ İşlem akışı ile değişiklikleri görebilirsiniz\n- 🚀 Projelerinizi düzenli tutarak izleyebilirsiniz"
|
||||
},"pluralForm" :"nplurals=2; plural=(n > 1);"
|
||||
}
|
||||
@@ -239,7 +239,6 @@ OC.L10N.register(
|
||||
"Archive card" : "归档卡片",
|
||||
"Delete card" : "删除卡片",
|
||||
"Move card to another board" : "将卡片移到其他面板",
|
||||
"List is empty" : "列表为空",
|
||||
"Card deleted" : "卡片被删除",
|
||||
"seconds ago" : "几秒前",
|
||||
"All boards" : "全部面板",
|
||||
@@ -285,9 +284,6 @@ OC.L10N.register(
|
||||
"Share with a Deck card" : "分享给一张看板卡片",
|
||||
"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" : "“看板”是 Nextcloud 集成的一款看板式任务管理工具,用于个人计划与项目安排。\n\n\n- 📥 将您的任务添加到卡片上,并将它们有序排列\n- 📄 将您的补充说明用markdown写下来\n- 🔖 利用指派标签更好地进行筹划\n- 👥 与您的团队,朋友或家人共享\n- 📎 附加文件并将它们嵌入到您的markdown说明中\n- 💬 用评论与您的团队讨论\n- ⚡ 在活动流中紧跟变化\n- 🚀 使您的项目井井有条",
|
||||
"Creating the new card…" : "正在创建新卡片…",
|
||||
"\"{card}\" was added to \"{board}\"" : "\"{card}\" 被添加到 \"{board}\"",
|
||||
"(circle)" : "(圈子)"
|
||||
"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- 🚀 使您的项目井井有条"
|
||||
},
|
||||
"nplurals=1; plural=0;");
|
||||
|
||||
@@ -237,7 +237,6 @@
|
||||
"Archive card" : "归档卡片",
|
||||
"Delete card" : "删除卡片",
|
||||
"Move card to another board" : "将卡片移到其他面板",
|
||||
"List is empty" : "列表为空",
|
||||
"Card deleted" : "卡片被删除",
|
||||
"seconds ago" : "几秒前",
|
||||
"All boards" : "全部面板",
|
||||
@@ -283,9 +282,6 @@
|
||||
"Share with a Deck card" : "分享给一张看板卡片",
|
||||
"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" : "“看板”是 Nextcloud 集成的一款看板式任务管理工具,用于个人计划与项目安排。\n\n\n- 📥 将您的任务添加到卡片上,并将它们有序排列\n- 📄 将您的补充说明用markdown写下来\n- 🔖 利用指派标签更好地进行筹划\n- 👥 与您的团队,朋友或家人共享\n- 📎 附加文件并将它们嵌入到您的markdown说明中\n- 💬 用评论与您的团队讨论\n- ⚡ 在活动流中紧跟变化\n- 🚀 使您的项目井井有条",
|
||||
"Creating the new card…" : "正在创建新卡片…",
|
||||
"\"{card}\" was added to \"{board}\"" : "\"{card}\" 被添加到 \"{board}\"",
|
||||
"(circle)" : "(圈子)"
|
||||
"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- 🚀 使您的项目井井有条"
|
||||
},"pluralForm" :"nplurals=1; plural=0;"
|
||||
}
|
||||
@@ -92,7 +92,7 @@ OC.L10N.register(
|
||||
"Example Task 2" : "示例任務 2",
|
||||
"Example Task 1" : "示例任務 1",
|
||||
"The file was uploaded" : "檔案已上傳",
|
||||
"The uploaded file exceeds the upload_max_filesize directive in php.ini" : "上傳的檔案大小超過 php.ini 當中 upload_max_filesize 選項的限制",
|
||||
"The uploaded file exceeds the upload_max_filesize directive in php.ini" : "上傳檔案的大小已超過 php.ini 中 upload_max_filesize 設置的值",
|
||||
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "上傳的檔案大小超過 HTML 表單中 MAX_FILE_SIZE 的限制",
|
||||
"The file was only partially uploaded" : "檔案僅部分上傳",
|
||||
"No file was uploaded" : "沒有檔案被上傳",
|
||||
@@ -100,12 +100,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- 📥 添加您的任務到 card 及將之整理好\n- 📄 用 Markdown 寫下額外的註釋分享分享分享\n- 🔖 分配標籤以更好地組織您的工作\n- 👥 與您的團隊、朋友或家人分享\n- 📎 附加檔案並將其嵌入到您的 Markdown 描述中 \n- 💬 使用意見與您的團隊討論\n- ⚡ 在活動流中跟踪更改\n- 🚀 讓您的專案井井有條",
|
||||
"Card details" : "卡片詳情",
|
||||
"Add board" : "添加面板",
|
||||
"Select the board to link to a project" : "選擇要連結到一個項目的面板",
|
||||
@@ -241,7 +239,6 @@ OC.L10N.register(
|
||||
"Archive card" : "封存卡片",
|
||||
"Delete card" : "刪除卡片",
|
||||
"Move card to another board" : "將卡片移到其他面板",
|
||||
"List is empty" : "列表是空的",
|
||||
"Card deleted" : "卡片被刪除",
|
||||
"seconds ago" : "幾秒前",
|
||||
"All boards" : "全部面板",
|
||||
@@ -287,9 +284,6 @@ OC.L10N.register(
|
||||
"Share with a Deck card" : "用一張 Deck 卡片進行分享 ",
|
||||
"Share {file} with a Deck card" : "用一張 Deck 卡片分享 {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- 📥 增加您的任務到card和把它們整理好\n- 📄 寫下額外的筆記在markdown\n- 🔖 分配標籤以更好地組織您的工作\n- 👥 與您的團隊,朋友或家人分享\n- 📎 附加檔案並將其嵌入到您的 markdown 描述\n- 💬 使用意見與您的團隊討論\n- ⚡ 在活動流中跟踪更改\n- 🚀 讓您的項目井井有條",
|
||||
"Creating the new card…" : "正在建立新卡片...",
|
||||
"\"{card}\" was added to \"{board}\"" : "\"{card}\" 已添加到 \"{board}\"",
|
||||
"(circle)" : "(社交圈子)"
|
||||
"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- 📥 增加您的任務到card和把它們整理好\n- 📄 寫下額外的筆記在markdown\n- 🔖 分配標籤以更好地組織您的工作\n- 👥 與您的團隊,朋友或家人分享\n- 📎 附加檔案並將其嵌入到您的 markdown 描述\n- 💬 使用意見與您的團隊討論\n- ⚡ 在活動流中跟踪更改\n- 🚀 讓您的項目井井有條"
|
||||
},
|
||||
"nplurals=1; plural=0;");
|
||||
|
||||
@@ -90,7 +90,7 @@
|
||||
"Example Task 2" : "示例任務 2",
|
||||
"Example Task 1" : "示例任務 1",
|
||||
"The file was uploaded" : "檔案已上傳",
|
||||
"The uploaded file exceeds the upload_max_filesize directive in php.ini" : "上傳的檔案大小超過 php.ini 當中 upload_max_filesize 選項的限制",
|
||||
"The uploaded file exceeds the upload_max_filesize directive in php.ini" : "上傳檔案的大小已超過 php.ini 中 upload_max_filesize 設置的值",
|
||||
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "上傳的檔案大小超過 HTML 表單中 MAX_FILE_SIZE 的限制",
|
||||
"The file was only partially uploaded" : "檔案僅部分上傳",
|
||||
"No file was uploaded" : "沒有檔案被上傳",
|
||||
@@ -98,12 +98,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- 📥 添加您的任務到 card 及將之整理好\n- 📄 用 Markdown 寫下額外的註釋分享分享分享\n- 🔖 分配標籤以更好地組織您的工作\n- 👥 與您的團隊、朋友或家人分享\n- 📎 附加檔案並將其嵌入到您的 Markdown 描述中 \n- 💬 使用意見與您的團隊討論\n- ⚡ 在活動流中跟踪更改\n- 🚀 讓您的專案井井有條",
|
||||
"Card details" : "卡片詳情",
|
||||
"Add board" : "添加面板",
|
||||
"Select the board to link to a project" : "選擇要連結到一個項目的面板",
|
||||
@@ -239,7 +237,6 @@
|
||||
"Archive card" : "封存卡片",
|
||||
"Delete card" : "刪除卡片",
|
||||
"Move card to another board" : "將卡片移到其他面板",
|
||||
"List is empty" : "列表是空的",
|
||||
"Card deleted" : "卡片被刪除",
|
||||
"seconds ago" : "幾秒前",
|
||||
"All boards" : "全部面板",
|
||||
@@ -285,9 +282,6 @@
|
||||
"Share with a Deck card" : "用一張 Deck 卡片進行分享 ",
|
||||
"Share {file} with a Deck card" : "用一張 Deck 卡片分享 {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- 📥 增加您的任務到card和把它們整理好\n- 📄 寫下額外的筆記在markdown\n- 🔖 分配標籤以更好地組織您的工作\n- 👥 與您的團隊,朋友或家人分享\n- 📎 附加檔案並將其嵌入到您的 markdown 描述\n- 💬 使用意見與您的團隊討論\n- ⚡ 在活動流中跟踪更改\n- 🚀 讓您的項目井井有條",
|
||||
"Creating the new card…" : "正在建立新卡片...",
|
||||
"\"{card}\" was added to \"{board}\"" : "\"{card}\" 已添加到 \"{board}\"",
|
||||
"(circle)" : "(社交圈子)"
|
||||
"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- 📥 增加您的任務到card和把它們整理好\n- 📄 寫下額外的筆記在markdown\n- 🔖 分配標籤以更好地組織您的工作\n- 👥 與您的團隊,朋友或家人分享\n- 📎 附加檔案並將其嵌入到您的 markdown 描述\n- 💬 使用意見與您的團隊討論\n- ⚡ 在活動流中跟踪更改\n- 🚀 讓您的項目井井有條"
|
||||
},"pluralForm" :"nplurals=1; plural=0;"
|
||||
}
|
||||
@@ -100,12 +100,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- 📄 以 Markdown 編寫額外的註釋\n- 🔖 分配標籤讓組織更方便\n- 👥 與您的團隊、朋友與家人分享\n- 📎 附上檔案並將其嵌入到您的 Markdown 描述中\n- 💬 使用留言與您的團隊討論\n- ⚡ 追蹤活動流程中的變動\n- 🚀 整理好您的專案",
|
||||
"Card details" : "卡片詳細資訊",
|
||||
"Add board" : "新增佈告欄",
|
||||
"Select the board to link to a project" : "選取要連結到專案的佈告欄",
|
||||
@@ -241,7 +239,6 @@ OC.L10N.register(
|
||||
"Archive card" : "封存卡片",
|
||||
"Delete card" : "刪除卡片",
|
||||
"Move card to another board" : "將卡片移動到其他佈告欄",
|
||||
"List is empty" : "清單為空",
|
||||
"Card deleted" : "卡片已刪除",
|
||||
"seconds ago" : "幾秒前",
|
||||
"All boards" : "所有佈告欄",
|
||||
@@ -287,9 +284,6 @@ OC.L10N.register(
|
||||
"Share with a Deck card" : "與 Deck 卡片分享",
|
||||
"Share {file} with a Deck card" : "與 Deck 卡片分享 {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- 📄 以 Markdown 編寫額外的註釋\n- 🔖 分配標籤讓組織更方便\n- 👥 與您的團隊、朋友與家人分享\n- 📎 附上檔案並將其嵌入到您的 Markdown 描述中\n- 💬 使用留言與您的團隊討論\n- ⚡ 追蹤活動流程中的變動\n- 🚀 整理好您的專案",
|
||||
"Creating the new card…" : "正在建立新卡片……",
|
||||
"\"{card}\" was added to \"{board}\"" : "「{card}」已新增至「{board}」",
|
||||
"(circle)" : "(circle)"
|
||||
"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- 📄 以 Markdown 編寫額外的註釋\n- 🔖 分配標籤讓組織更方便\n- 👥 與您的團隊、朋友與家人分享\n- 📎 附上檔案並將其嵌入到您的 Markdown 描述中\n- 💬 使用留言與您的團隊討論\n- ⚡ 追蹤活動流程中的變動\n- 🚀 整理好您的專案"
|
||||
},
|
||||
"nplurals=1; plural=0;");
|
||||
|
||||
@@ -98,12 +98,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- 📄 以 Markdown 編寫額外的註釋\n- 🔖 分配標籤讓組織更方便\n- 👥 與您的團隊、朋友與家人分享\n- 📎 附上檔案並將其嵌入到您的 Markdown 描述中\n- 💬 使用留言與您的團隊討論\n- ⚡ 追蹤活動流程中的變動\n- 🚀 整理好您的專案",
|
||||
"Card details" : "卡片詳細資訊",
|
||||
"Add board" : "新增佈告欄",
|
||||
"Select the board to link to a project" : "選取要連結到專案的佈告欄",
|
||||
@@ -239,7 +237,6 @@
|
||||
"Archive card" : "封存卡片",
|
||||
"Delete card" : "刪除卡片",
|
||||
"Move card to another board" : "將卡片移動到其他佈告欄",
|
||||
"List is empty" : "清單為空",
|
||||
"Card deleted" : "卡片已刪除",
|
||||
"seconds ago" : "幾秒前",
|
||||
"All boards" : "所有佈告欄",
|
||||
@@ -285,9 +282,6 @@
|
||||
"Share with a Deck card" : "與 Deck 卡片分享",
|
||||
"Share {file} with a Deck card" : "與 Deck 卡片分享 {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- 📄 以 Markdown 編寫額外的註釋\n- 🔖 分配標籤讓組織更方便\n- 👥 與您的團隊、朋友與家人分享\n- 📎 附上檔案並將其嵌入到您的 Markdown 描述中\n- 💬 使用留言與您的團隊討論\n- ⚡ 追蹤活動流程中的變動\n- 🚀 整理好您的專案",
|
||||
"Creating the new card…" : "正在建立新卡片……",
|
||||
"\"{card}\" was added to \"{board}\"" : "「{card}」已新增至「{board}」",
|
||||
"(circle)" : "(circle)"
|
||||
"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- 📄 以 Markdown 編寫額外的註釋\n- 🔖 分配標籤讓組織更方便\n- 👥 與您的團隊、朋友與家人分享\n- 📎 附上檔案並將其嵌入到您的 Markdown 描述中\n- 💬 使用留言與您的團隊討論\n- ⚡ 追蹤活動流程中的變動\n- 🚀 整理好您的專案"
|
||||
},"pluralForm" :"nplurals=1; plural=0;"
|
||||
}
|
||||
@@ -35,7 +35,6 @@ use OCP\IConfig;
|
||||
use OCP\IURLGenerator;
|
||||
use OCP\IUserManager;
|
||||
use OCP\L10N\IFactory;
|
||||
use OCA\Deck\Service\CardService;
|
||||
|
||||
class DeckProvider implements IProvider {
|
||||
|
||||
@@ -53,10 +52,8 @@ class DeckProvider implements IProvider {
|
||||
private $l10nFactory;
|
||||
/** @var IConfig */
|
||||
private $config;
|
||||
/** @var CardService */
|
||||
private $cardService;
|
||||
|
||||
public function __construct(IURLGenerator $urlGenerator, ActivityManager $activityManager, IUserManager $userManager, ICommentsManager $commentsManager, IFactory $l10n, IConfig $config, $userId, CardService $cardService) {
|
||||
public function __construct(IURLGenerator $urlGenerator, ActivityManager $activityManager, IUserManager $userManager, ICommentsManager $commentsManager, IFactory $l10n, IConfig $config, $userId) {
|
||||
$this->userId = $userId;
|
||||
$this->urlGenerator = $urlGenerator;
|
||||
$this->activityManager = $activityManager;
|
||||
@@ -64,7 +61,6 @@ class DeckProvider implements IProvider {
|
||||
$this->userManager = $userManager;
|
||||
$this->l10nFactory = $l10n;
|
||||
$this->config = $config;
|
||||
$this->cardService = $cardService;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -135,7 +131,7 @@ class DeckProvider implements IProvider {
|
||||
|
||||
if (array_key_exists('board', $subjectParams)) {
|
||||
$archivedParam = $subjectParams['card']['archived'] ? 'archived/' : '';
|
||||
$card['link'] = $this->cardService->getRedirectUrlForCard($event->getObjectId());
|
||||
$card['link'] = $this->deckUrl('/board/' . $subjectParams['board']['id'] . '/' . $archivedParam . 'card/' . $event->getObjectId());
|
||||
}
|
||||
$params['card'] = $card;
|
||||
}
|
||||
|
||||
@@ -100,6 +100,9 @@ class ResourceProvider implements IProvider {
|
||||
if ($board->getOwner() === $user->getUID()) {
|
||||
return true;
|
||||
}
|
||||
if ($board->getAcl() === null) {
|
||||
return false;
|
||||
}
|
||||
return $this->permissionService->userCan($board->getAcl(), Acl::PERMISSION_READ, $user->getUID());
|
||||
}
|
||||
|
||||
|
||||
@@ -127,6 +127,9 @@ class ResourceProviderCard implements IProvider {
|
||||
if ($board->getOwner() === $user->getUID()) {
|
||||
return true;
|
||||
}
|
||||
if ($board->getAcl() === null) {
|
||||
return false;
|
||||
}
|
||||
return $this->permissionService->userCan($board->getAcl(), Acl::PERMISSION_READ, $user->getUID());
|
||||
}
|
||||
|
||||
|
||||
@@ -73,10 +73,11 @@ class BoardController extends ApiController {
|
||||
* @param $title
|
||||
* @param $color
|
||||
* @param $archived
|
||||
* @param $coverImages
|
||||
* @return \OCP\AppFramework\Db\Entity
|
||||
*/
|
||||
public function update($id, $title, $color, $archived) {
|
||||
return $this->boardService->update($id, $title, $color, $archived);
|
||||
public function update($id, $title, $color, $archived, $coverImages) {
|
||||
return $this->boardService->update($id, $title, $color, $archived, $coverImages);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -94,7 +94,7 @@ class CardApiController extends ApiController {
|
||||
*
|
||||
* Update a card
|
||||
*/
|
||||
public function update($title, $type, $owner, $description = '', $order = 0, $duedate = null, $archived = null) {
|
||||
public function update($title, $type, $order = 0, $description = '', $owner, $duedate = null, $archived = null) {
|
||||
$card = $this->cardService->update($this->request->getParam('cardId'), $title, $this->request->getParam('stackId'), $type, $owner, $description, $order, $duedate, 0, $archived);
|
||||
return new DataResponse($card, HTTP::STATUS_OK);
|
||||
}
|
||||
|
||||
@@ -34,20 +34,12 @@ use OCP\IInitialStateService;
|
||||
use OCP\IRequest;
|
||||
use OCP\AppFramework\Http\TemplateResponse;
|
||||
use OCP\AppFramework\Controller;
|
||||
use OCA\Deck\Db\CardMapper;
|
||||
use OCP\IURLGenerator;
|
||||
use \OCP\AppFramework\Http\RedirectResponse;
|
||||
use OCA\Deck\Db\Acl;
|
||||
use OCA\Deck\Service\CardService;
|
||||
|
||||
class PageController extends Controller {
|
||||
private $permissionService;
|
||||
private $initialState;
|
||||
private $configService;
|
||||
private $eventDispatcher;
|
||||
private $cardMapper;
|
||||
private $urlGenerator;
|
||||
private $cardService;
|
||||
|
||||
public function __construct(
|
||||
$AppName,
|
||||
@@ -55,10 +47,7 @@ class PageController extends Controller {
|
||||
PermissionService $permissionService,
|
||||
IInitialStateService $initialStateService,
|
||||
ConfigService $configService,
|
||||
IEventDispatcher $eventDispatcher,
|
||||
CardMapper $cardMapper,
|
||||
IURLGenerator $urlGenerator,
|
||||
CardService $cardService
|
||||
IEventDispatcher $eventDispatcher
|
||||
) {
|
||||
parent::__construct($AppName, $request);
|
||||
|
||||
@@ -66,9 +55,6 @@ class PageController extends Controller {
|
||||
$this->initialState = $initialStateService;
|
||||
$this->configService = $configService;
|
||||
$this->eventDispatcher = $eventDispatcher;
|
||||
$this->cardMapper = $cardMapper;
|
||||
$this->urlGenerator = $urlGenerator;
|
||||
$this->cardService = $cardService;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -99,17 +85,4 @@ class PageController extends Controller {
|
||||
|
||||
return $response;
|
||||
}
|
||||
|
||||
/**
|
||||
* @NoAdminRequired
|
||||
* @NoCSRFRequired
|
||||
*/
|
||||
public function redirectToCard($cardId): RedirectResponse {
|
||||
try {
|
||||
$this->permissionService->checkPermission($this->cardMapper, $cardId, Acl::PERMISSION_READ);
|
||||
return new RedirectResponse($this->cardService->getCardUrl($cardId));
|
||||
} catch (\Exception $e) {
|
||||
return new RedirectResponse($this->urlGenerator->linkToRouteAbsolute('deck.page.index'));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -28,14 +28,17 @@ class Board extends RelationalEntity {
|
||||
protected $owner;
|
||||
protected $color;
|
||||
protected $archived = false;
|
||||
protected $labels = [];
|
||||
protected $acl = [];
|
||||
/** @var Label[]|null */
|
||||
protected $labels = null;
|
||||
/** @var Acl[]|null */
|
||||
protected $acl = null;
|
||||
protected $permissions = [];
|
||||
protected $users = [];
|
||||
protected $shared;
|
||||
protected $stacks = [];
|
||||
protected $deletedAt = 0;
|
||||
protected $lastModified = 0;
|
||||
protected $coverImages = true;
|
||||
|
||||
protected $settings = [];
|
||||
|
||||
@@ -45,6 +48,7 @@ class Board extends RelationalEntity {
|
||||
$this->addType('archived', 'boolean');
|
||||
$this->addType('deletedAt', 'integer');
|
||||
$this->addType('lastModified', 'integer');
|
||||
$this->addType('coverImages', 'boolean');
|
||||
$this->addRelation('labels');
|
||||
$this->addRelation('acl');
|
||||
$this->addRelation('shared');
|
||||
@@ -61,6 +65,10 @@ class Board extends RelationalEntity {
|
||||
if ($this->shared === -1) {
|
||||
unset($json['shared']);
|
||||
}
|
||||
// FIXME: Ideally the API responses should follow the internal data structure and return null if the labels/acls have not been fetched from the db
|
||||
// however this would be a breaking change for consumers of the API
|
||||
$json['acl'] = $this->acl ?? [];
|
||||
$json['labels'] = $this->labels ?? [];
|
||||
return $json;
|
||||
}
|
||||
|
||||
@@ -68,21 +76,27 @@ class Board extends RelationalEntity {
|
||||
* @param Label[] $labels
|
||||
*/
|
||||
public function setLabels($labels) {
|
||||
foreach ($labels as $l) {
|
||||
$this->labels[] = $l;
|
||||
}
|
||||
$this->labels = $labels;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param Acl[] $acl
|
||||
*/
|
||||
public function setAcl($acl) {
|
||||
foreach ($acl as $a) {
|
||||
$this->acl[] = $a;
|
||||
}
|
||||
$this->acl = $acl;
|
||||
}
|
||||
|
||||
public function getETag() {
|
||||
return md5((string)$this->getLastModified());
|
||||
}
|
||||
|
||||
/** @returns Acl[]|null */
|
||||
public function getAcl(): ?array {
|
||||
return $this->acl;
|
||||
}
|
||||
|
||||
/** @returns Label[]|null */
|
||||
public function getLabels(): ?array {
|
||||
return $this->labels;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -24,24 +24,28 @@
|
||||
namespace OCA\Deck\Db;
|
||||
|
||||
use OC\Cache\CappedMemoryCache;
|
||||
use OCA\Deck\Service\CirclesService;
|
||||
use OCP\AppFramework\Db\DoesNotExistException;
|
||||
use OCP\AppFramework\Db\QBMapper;
|
||||
use OCP\DB\QueryBuilder\IQueryBuilder;
|
||||
use OCP\IDBConnection;
|
||||
use OCP\IUserManager;
|
||||
use OCP\IGroupManager;
|
||||
use Psr\Log\LoggerInterface;
|
||||
|
||||
class BoardMapper extends DeckMapper implements IPermissionMapper {
|
||||
class BoardMapper extends QBMapper implements IPermissionMapper {
|
||||
private $labelMapper;
|
||||
private $aclMapper;
|
||||
private $stackMapper;
|
||||
private $userManager;
|
||||
private $groupManager;
|
||||
private $circlesService;
|
||||
private $logger;
|
||||
|
||||
private $circlesEnabled;
|
||||
|
||||
/** @var CappedMemoryCache */
|
||||
private $userBoardCache;
|
||||
/** @var CappedMemoryCache */
|
||||
private $boardCache;
|
||||
|
||||
public function __construct(
|
||||
IDBConnection $db,
|
||||
@@ -50,7 +54,6 @@ class BoardMapper extends DeckMapper implements IPermissionMapper {
|
||||
StackMapper $stackMapper,
|
||||
IUserManager $userManager,
|
||||
IGroupManager $groupManager,
|
||||
CirclesService $circlesService,
|
||||
LoggerInterface $logger
|
||||
) {
|
||||
parent::__construct($db, 'deck_boards', Board::class);
|
||||
@@ -59,10 +62,12 @@ class BoardMapper extends DeckMapper implements IPermissionMapper {
|
||||
$this->stackMapper = $stackMapper;
|
||||
$this->userManager = $userManager;
|
||||
$this->groupManager = $groupManager;
|
||||
$this->circlesService = $circlesService;
|
||||
$this->logger = $logger;
|
||||
|
||||
$this->userBoardCache = new CappedMemoryCache();
|
||||
$this->boardCache = new CappedMemoryCache();
|
||||
|
||||
$this->circlesEnabled = \OC::$server->getAppManager()->isEnabledForUser('circles');
|
||||
}
|
||||
|
||||
|
||||
@@ -70,40 +75,44 @@ class BoardMapper extends DeckMapper implements IPermissionMapper {
|
||||
* @param $id
|
||||
* @param bool $withLabels
|
||||
* @param bool $withAcl
|
||||
* @return \OCP\AppFramework\Db\Entity
|
||||
* @return Board
|
||||
* @throws \OCP\AppFramework\Db\MultipleObjectsReturnedException
|
||||
* @throws DoesNotExistException
|
||||
*/
|
||||
public function find($id, $withLabels = false, $withAcl = false) {
|
||||
$sql = 'SELECT id, title, owner, color, archived, deleted_at, last_modified FROM `*PREFIX*deck_boards` ' .
|
||||
$sql = 'SELECT id, title, owner, color, archived, deleted_at, last_modified, cover_images FROM `*PREFIX*deck_boards` ' .
|
||||
'WHERE `id` = ?';
|
||||
$board = $this->findEntity($sql, [$id]);
|
||||
|
||||
// Add labels
|
||||
if ($withLabels) {
|
||||
if ($withLabels && $this->boardCache[$id]->getLabels() === null) {
|
||||
$labels = $this->labelMapper->findAll($id);
|
||||
$board->setLabels($labels);
|
||||
$this->boardCache[$id]->setLabels($labels);
|
||||
}
|
||||
|
||||
// Add acl
|
||||
if ($withAcl) {
|
||||
if ($withAcl && $this->boardCache[$id]->getAcl() === null) {
|
||||
$acl = $this->aclMapper->findAll($id);
|
||||
$board->setAcl($acl);
|
||||
$this->boardCache[$id]->setAcl($acl);
|
||||
}
|
||||
|
||||
return $board;
|
||||
return $this->boardCache[$id];
|
||||
}
|
||||
|
||||
public function findAllForUser(string $userId, int $since = -1, $includeArchived = true): array {
|
||||
$useCache = ($since === -1 && $includeArchived === true);
|
||||
public function findAllForUser(string $userId, ?int $since = null, bool $includeArchived = true, ?int $before = null,
|
||||
?string $term = null): array {
|
||||
$useCache = ($since === -1 && $includeArchived === true && $before === null && $term === null);
|
||||
if (!isset($this->userBoardCache[$userId]) || !$useCache) {
|
||||
$groups = $this->groupManager->getUserGroupIds(
|
||||
$this->userManager->get($userId)
|
||||
);
|
||||
$userBoards = $this->findAllByUser($userId, null, null, $since, $includeArchived);
|
||||
$groupBoards = $this->findAllByGroups($userId, $groups, null, null, $since, $includeArchived);
|
||||
$circleBoards = $this->findAllByCircles($userId, null, null, $since, $includeArchived);
|
||||
$userBoards = $this->findAllByUser($userId, null, null, $since, $includeArchived, $before, $term);
|
||||
$groupBoards = $this->findAllByGroups($userId, $groups, null, null, $since, $includeArchived, $before, $term);
|
||||
$circleBoards = $this->findAllByCircles($userId, null, null, $since, $includeArchived, $before, $term);
|
||||
$allBoards = array_unique(array_merge($userBoards, $groupBoards, $circleBoards));
|
||||
foreach ($allBoards as $board) {
|
||||
$this->boardCache[$board->getId()] = $board;
|
||||
}
|
||||
if ($useCache) {
|
||||
$this->userBoardCache[$userId] = $allBoards;
|
||||
}
|
||||
@@ -122,17 +131,53 @@ class BoardMapper extends DeckMapper implements IPermissionMapper {
|
||||
*/
|
||||
public function findAllByUser($userId, $limit = null, $offset = null, $since = -1, $includeArchived = true) {
|
||||
// FIXME: One moving to QBMapper we should allow filtering the boards probably by method chaining for additional where clauses
|
||||
$sql = 'SELECT id, title, owner, color, archived, deleted_at, 0 as shared, last_modified FROM `*PREFIX*deck_boards` WHERE owner = ? AND last_modified > ?';
|
||||
$sql = 'SELECT id, title, owner, color, archived, deleted_at, 0 as shared, last_modified, cover_images FROM `*PREFIX*deck_boards` WHERE owner = ? AND last_modified > ?';
|
||||
if (!$includeArchived) {
|
||||
$sql .= ' AND NOT archived AND deleted_at = 0';
|
||||
$qb->andWhere($qb->expr()->eq('archived', $qb->createNamedParameter(false, IQueryBuilder::PARAM_BOOL)))
|
||||
->andWhere($qb->expr()->eq('deleted_at', $qb->createNamedParameter(0, IQueryBuilder::PARAM_INT)));
|
||||
}
|
||||
if ($since !== null) {
|
||||
$qb->andWhere($qb->expr()->gt('last_modified', $qb->createNamedParameter($since, IQueryBuilder::PARAM_INT)));
|
||||
}
|
||||
if ($before !== null) {
|
||||
$qb->andWhere($qb->expr()->lt('last_modified', $qb->createNamedParameter($before, IQueryBuilder::PARAM_INT)));
|
||||
}
|
||||
$sql .= ' UNION ' .
|
||||
'SELECT boards.id, title, owner, color, archived, deleted_at, 1 as shared, last_modified FROM `*PREFIX*deck_boards` as boards ' .
|
||||
'SELECT boards.id, title, owner, color, archived, deleted_at, 1 as shared, last_modified, cover_images FROM `*PREFIX*deck_boards` as boards ' .
|
||||
'JOIN `*PREFIX*deck_board_acl` as acl ON boards.id=acl.board_id WHERE acl.participant=? AND acl.type=? AND boards.owner != ? AND last_modified > ?';
|
||||
if (!$includeArchived) {
|
||||
$sql .= ' AND NOT archived AND deleted_at = 0';
|
||||
$qb->andWhere($qb->expr()->eq('archived', $qb->createNamedParameter(false, IQueryBuilder::PARAM_BOOL)))
|
||||
->andWhere($qb->expr()->eq('deleted_at', $qb->createNamedParameter(0, IQueryBuilder::PARAM_INT)));
|
||||
}
|
||||
$entries = $this->findEntities($sql, [$userId, $since, $userId, Acl::PERMISSION_TYPE_USER, $userId, $since], $limit, $offset);
|
||||
if ($since !== null) {
|
||||
$qb->andWhere($qb->expr()->gt('last_modified', $qb->createNamedParameter($since, IQueryBuilder::PARAM_INT)));
|
||||
}
|
||||
if ($before !== null) {
|
||||
$qb->andWhere($qb->expr()->lt('last_modified', $qb->createNamedParameter($before, IQueryBuilder::PARAM_INT)));
|
||||
}
|
||||
if ($term !== null) {
|
||||
$qb->andWhere(
|
||||
$qb->expr()->iLike(
|
||||
'title',
|
||||
$qb->createNamedParameter(
|
||||
'%' . $this->db->escapeLikeParameter($term) . '%',
|
||||
IQueryBuilder::PARAM_STR
|
||||
)
|
||||
)
|
||||
);
|
||||
}
|
||||
$qb->orderBy('b.id');
|
||||
if ($limit !== null) {
|
||||
$qb->setMaxResults($limit);
|
||||
}
|
||||
if ($offset !== null) {
|
||||
$qb->setFirstResult($offset);
|
||||
}
|
||||
$sharedEntries = $this->findEntities($qb);
|
||||
foreach ($sharedEntries as $entry) {
|
||||
$entry->setShared(1);
|
||||
}
|
||||
$entries = array_merge($entries, $sharedEntries);
|
||||
/* @var Board $entry */
|
||||
foreach ($entries as $entry) {
|
||||
$acl = $this->aclMapper->findAll($entry->id);
|
||||
@@ -141,9 +186,19 @@ class BoardMapper extends DeckMapper implements IPermissionMapper {
|
||||
return $entries;
|
||||
}
|
||||
|
||||
public function findAllByOwner(string $userId, int $limit = null, int $offset = null) {
|
||||
$sql = 'SELECT * FROM `*PREFIX*deck_boards` WHERE owner = ?';
|
||||
return $this->findEntities($sql, [$userId], $limit, $offset);
|
||||
public function findAllByOwner(string $userId, ?int $limit = null, ?int $offset = null) {
|
||||
$qb = $this->db->getQueryBuilder();
|
||||
$qb->select('*')
|
||||
->from('deck_boards')
|
||||
->where($qb->expr()->eq('owner', $qb->createNamedParameter($userId, IQueryBuilder::PARAM_STR)))
|
||||
->orderBy('id');
|
||||
if ($limit !== null) {
|
||||
$qb->setMaxResults($limit);
|
||||
}
|
||||
if ($offset !== null) {
|
||||
$qb->setFirstResult($offset);
|
||||
}
|
||||
return $this->findEntities($qb);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -155,23 +210,51 @@ class BoardMapper extends DeckMapper implements IPermissionMapper {
|
||||
* @param null $offset
|
||||
* @return array
|
||||
*/
|
||||
public function findAllByGroups($userId, $groups, $limit = null, $offset = null, $since = -1,$includeArchived = true) {
|
||||
public function findAllByGroups(string $userId, array $groups, ?int $limit = null, ?int $offset = null, ?int $since = null,
|
||||
bool $includeArchived = true, ?int $before = null, ?string $term = null) {
|
||||
if (count($groups) <= 0) {
|
||||
return [];
|
||||
}
|
||||
$sql = 'SELECT boards.id, title, owner, color, archived, deleted_at, 2 as shared, last_modified FROM `*PREFIX*deck_boards` as boards ' .
|
||||
$sql = 'SELECT boards.id, title, owner, color, archived, deleted_at, 2 as shared, last_modified, cover_images FROM `*PREFIX*deck_boards` as boards ' .
|
||||
'INNER JOIN `*PREFIX*deck_board_acl` as acl ON boards.id=acl.board_id WHERE owner != ? AND type=? AND (';
|
||||
for ($i = 0, $iMax = count($groups); $i < $iMax; $i++) {
|
||||
$sql .= 'acl.participant = ? ';
|
||||
if (count($groups) > 1 && $i < count($groups) - 1) {
|
||||
$sql .= ' OR ';
|
||||
}
|
||||
$or->add(
|
||||
$qb->expr()->eq('acl.participant', $qb->createNamedParameter($groups[$i], IQueryBuilder::PARAM_STR))
|
||||
);
|
||||
}
|
||||
$sql .= ')';
|
||||
$qb->andWhere($or);
|
||||
if (!$includeArchived) {
|
||||
$sql .= ' AND NOT archived AND deleted_at = 0';
|
||||
$qb->andWhere($qb->expr()->eq('archived', $qb->createNamedParameter(false, IQueryBuilder::PARAM_BOOL)))
|
||||
->andWhere($qb->expr()->eq('deleted_at', $qb->createNamedParameter(0, IQueryBuilder::PARAM_INT)));
|
||||
}
|
||||
if ($since !== null) {
|
||||
$qb->andWhere($qb->expr()->gt('last_modified', $qb->createNamedParameter($since, IQueryBuilder::PARAM_INT)));
|
||||
}
|
||||
if ($before !== null) {
|
||||
$qb->andWhere($qb->expr()->lt('last_modified', $qb->createNamedParameter($before, IQueryBuilder::PARAM_INT)));
|
||||
}
|
||||
if ($term !== null) {
|
||||
$qb->andWhere(
|
||||
$qb->expr()->iLike(
|
||||
'title',
|
||||
$qb->createNamedParameter(
|
||||
'%' . $this->db->escapeLikeParameter($term) . '%',
|
||||
IQueryBuilder::PARAM_STR
|
||||
)
|
||||
)
|
||||
);
|
||||
}
|
||||
$qb->orderBy('b.id');
|
||||
if ($limit !== null) {
|
||||
$qb->setMaxResults($limit);
|
||||
}
|
||||
if ($offset !== null) {
|
||||
$qb->setFirstResult($offset);
|
||||
}
|
||||
$entries = $this->findEntities($qb);
|
||||
foreach ($entries as $entry) {
|
||||
$entry->setShared(2);
|
||||
}
|
||||
$entries = $this->findEntities($sql, array_merge([$userId, Acl::PERMISSION_TYPE_GROUP], $groups), $limit, $offset);
|
||||
/* @var Board $entry */
|
||||
foreach ($entries as $entry) {
|
||||
$acl = $this->aclMapper->findAll($entry->id);
|
||||
@@ -180,25 +263,58 @@ class BoardMapper extends DeckMapper implements IPermissionMapper {
|
||||
return $entries;
|
||||
}
|
||||
|
||||
public function findAllByCircles($userId, $limit = null, $offset = null, $since = -1,$includeArchived = true) {
|
||||
$circles = $this->circlesService->getUserCircles($userId);
|
||||
public function findAllByCircles(string $userId, ?int $limit = null, ?int $offset = null, ?int $since = null,
|
||||
bool $includeArchived = true, ?int $before = null, ?string $term = null) {
|
||||
if (!$this->circlesEnabled) {
|
||||
return [];
|
||||
}
|
||||
$circles = array_map(function ($circle) {
|
||||
return $circle->getUniqueId();
|
||||
}, \OCA\Circles\Api\v1\Circles::joinedCircles($userId, true));
|
||||
if (count($circles) === 0) {
|
||||
return [];
|
||||
}
|
||||
|
||||
$sql = 'SELECT boards.id, title, owner, color, archived, deleted_at, 2 as shared, last_modified FROM `*PREFIX*deck_boards` as boards ' .
|
||||
$sql = 'SELECT boards.id, title, owner, color, archived, deleted_at, 2 as shared, last_modified, cover_images FROM `*PREFIX*deck_boards` as boards ' .
|
||||
'INNER JOIN `*PREFIX*deck_board_acl` as acl ON boards.id=acl.board_id WHERE owner != ? AND type=? AND (';
|
||||
for ($i = 0, $iMax = count($circles); $i < $iMax; $i++) {
|
||||
$sql .= 'acl.participant = ? ';
|
||||
if (count($circles) > 1 && $i < count($circles) - 1) {
|
||||
$sql .= ' OR ';
|
||||
}
|
||||
$or->add(
|
||||
$qb->expr()->eq('acl.participant', $qb->createNamedParameter($circles[$i], IQueryBuilder::PARAM_STR))
|
||||
);
|
||||
}
|
||||
$sql .= ')';
|
||||
$qb->andWhere($or);
|
||||
if (!$includeArchived) {
|
||||
$sql .= ' AND NOT archived AND deleted_at = 0';
|
||||
$qb->andWhere($qb->expr()->eq('archived', $qb->createNamedParameter(false, IQueryBuilder::PARAM_BOOL)))
|
||||
->andWhere($qb->expr()->eq('deleted_at', $qb->createNamedParameter(0, IQueryBuilder::PARAM_INT)));
|
||||
}
|
||||
if ($since !== null) {
|
||||
$qb->andWhere($qb->expr()->gt('last_modified', $qb->createNamedParameter($since, IQueryBuilder::PARAM_INT)));
|
||||
}
|
||||
if ($before !== null) {
|
||||
$qb->andWhere($qb->expr()->lt('last_modified', $qb->createNamedParameter($before, IQueryBuilder::PARAM_INT)));
|
||||
}
|
||||
if ($term !== null) {
|
||||
$qb->andWhere(
|
||||
$qb->expr()->iLike(
|
||||
'title',
|
||||
$qb->createNamedParameter(
|
||||
'%' . $this->db->escapeLikeParameter($term) . '%',
|
||||
IQueryBuilder::PARAM_STR
|
||||
)
|
||||
)
|
||||
);
|
||||
}
|
||||
$qb->orderBy('b.id');
|
||||
if ($limit !== null) {
|
||||
$qb->setMaxResults($limit);
|
||||
}
|
||||
if ($offset !== null) {
|
||||
$qb->setFirstResult($offset);
|
||||
}
|
||||
$entries = $this->findEntities($qb);
|
||||
foreach ($entries as $entry) {
|
||||
$entry->setShared(2);
|
||||
}
|
||||
$entries = $this->findEntities($sql, array_merge([$userId, Acl::PERMISSION_TYPE_CIRCLE], $circles), $limit, $offset);
|
||||
/* @var Board $entry */
|
||||
foreach ($entries as $entry) {
|
||||
$acl = $this->aclMapper->findAll($entry->id);
|
||||
@@ -207,21 +323,23 @@ class BoardMapper extends DeckMapper implements IPermissionMapper {
|
||||
return $entries;
|
||||
}
|
||||
|
||||
public function findAll() {
|
||||
$sql = 'SELECT id from *PREFIX*deck_boards;';
|
||||
return $this->findEntities($sql);
|
||||
public function findAll(): array {
|
||||
$qb = $this->db->getQueryBuilder();
|
||||
$qb->select('id')
|
||||
->from('deck_boards');
|
||||
return $this->findEntities($qb);
|
||||
}
|
||||
|
||||
public function findToDelete() {
|
||||
// add buffer of 5 min
|
||||
$timeLimit = time() - (60 * 5);
|
||||
$sql = 'SELECT id, title, owner, color, archived, deleted_at, last_modified FROM `*PREFIX*deck_boards` ' .
|
||||
$sql = 'SELECT id, title, owner, color, archived, deleted_at, last_modified, cover_images FROM `*PREFIX*deck_boards` ' .
|
||||
'WHERE `deleted_at` > 0 AND `deleted_at` < ?';
|
||||
return $this->findEntities($sql, [$timeLimit]);
|
||||
}
|
||||
|
||||
public function delete(/** @noinspection PhpUnnecessaryFullyQualifiedNameInspection */
|
||||
\OCP\AppFramework\Db\Entity $entity) {
|
||||
\OCP\AppFramework\Db\Entity $entity): \OCP\AppFramework\Db\Entity {
|
||||
// delete acl
|
||||
$acl = $this->aclMapper->findAll($entity->getId());
|
||||
foreach ($acl as $item) {
|
||||
@@ -272,11 +390,11 @@ class BoardMapper extends DeckMapper implements IPermissionMapper {
|
||||
return null;
|
||||
}
|
||||
if ($acl->getType() === Acl::PERMISSION_TYPE_CIRCLE) {
|
||||
if (!$this->circlesService->isCirclesEnabled()) {
|
||||
if (!$this->circlesEnabled) {
|
||||
return null;
|
||||
}
|
||||
try {
|
||||
$circle = $this->circlesService->getCircle($acl->getParticipant());
|
||||
$circle = \OCA\Circles\Api\v1\Circles::detailsCircle($acl->getParticipant(), true);
|
||||
if ($circle) {
|
||||
return new Circle($circle);
|
||||
}
|
||||
|
||||
@@ -30,6 +30,8 @@ use OCA\Deck\Search\Query\SearchQuery;
|
||||
use OCP\AppFramework\Db\Entity;
|
||||
use OCP\AppFramework\Db\QBMapper;
|
||||
use OCP\DB\QueryBuilder\IQueryBuilder;
|
||||
use OCP\ICache;
|
||||
use OCP\ICacheFactory;
|
||||
use OCP\IDBConnection;
|
||||
use OCP\IGroupManager;
|
||||
use OCP\IUser;
|
||||
@@ -46,6 +48,8 @@ class CardMapper extends QBMapper implements IPermissionMapper {
|
||||
private $groupManager;
|
||||
/** @var IManager */
|
||||
private $notificationManager;
|
||||
/** @var ICache */
|
||||
private $cache;
|
||||
private $databaseType;
|
||||
private $database4ByteSupport;
|
||||
|
||||
@@ -55,6 +59,7 @@ class CardMapper extends QBMapper implements IPermissionMapper {
|
||||
IUserManager $userManager,
|
||||
IGroupManager $groupManager,
|
||||
IManager $notificationManager,
|
||||
ICacheFactory $cacheFactory,
|
||||
$databaseType = 'sqlite3',
|
||||
$database4ByteSupport = true
|
||||
) {
|
||||
@@ -63,6 +68,7 @@ class CardMapper extends QBMapper implements IPermissionMapper {
|
||||
$this->userManager = $userManager;
|
||||
$this->groupManager = $groupManager;
|
||||
$this->notificationManager = $notificationManager;
|
||||
$this->cache = $cacheFactory->createDistributed('deck-cardMapper');
|
||||
$this->databaseType = $databaseType;
|
||||
$this->database4ByteSupport = $database4ByteSupport;
|
||||
}
|
||||
@@ -75,7 +81,9 @@ class CardMapper extends QBMapper implements IPermissionMapper {
|
||||
$description = preg_replace('/[\x{10000}-\x{10FFFF}]/u', "\xEF\xBF\xBD", $entity->getDescription());
|
||||
$entity->setDescription($description);
|
||||
}
|
||||
return parent::insert($entity);
|
||||
$entity = parent::insert($entity);
|
||||
$this->cache->remove('findBoardId:' . $entity->getId());
|
||||
return $entity;
|
||||
}
|
||||
|
||||
public function update(Entity $entity, $updateModified = true): Entity {
|
||||
@@ -107,6 +115,10 @@ class CardMapper extends QBMapper implements IPermissionMapper {
|
||||
} catch (Exception $e) {
|
||||
}
|
||||
}
|
||||
// Invalidate cache when the card may be moved to a different board
|
||||
if (isset($updatedFields['stackId'])) {
|
||||
$this->cache->remove('findBoardId:' . $entity->getId());
|
||||
}
|
||||
return parent::update($entity);
|
||||
}
|
||||
|
||||
@@ -479,8 +491,8 @@ class CardMapper extends QBMapper implements IPermissionMapper {
|
||||
}
|
||||
return $qb->createNamedParameter($dateTime, IQueryBuilder::PARAM_DATE);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
public function searchRaw($boardIds, $term, $limit = null, $offset = null) {
|
||||
$qb = $this->queryCardsByBoards($boardIds)
|
||||
@@ -506,9 +518,8 @@ class CardMapper extends QBMapper implements IPermissionMapper {
|
||||
}
|
||||
|
||||
public function delete(Entity $entity): Entity {
|
||||
// delete assigned labels
|
||||
$this->labelMapper->deleteLabelAssignmentsForCard($entity->getId());
|
||||
// delete card
|
||||
$this->cache->remove('findBoardId:' . $entity->getId());
|
||||
return parent::delete($entity);
|
||||
}
|
||||
|
||||
@@ -547,11 +558,22 @@ class CardMapper extends QBMapper implements IPermissionMapper {
|
||||
}
|
||||
|
||||
public function findBoardId($id): ?int {
|
||||
$sql = 'SELECT id FROM `*PREFIX*deck_boards` WHERE `id` IN (SELECT board_id FROM `*PREFIX*deck_stacks` WHERE id IN (SELECT stack_id FROM `*PREFIX*deck_cards` WHERE id = ?))';
|
||||
$stmt = $this->db->prepare($sql);
|
||||
$stmt->bindParam(1, $id, \PDO::PARAM_INT);
|
||||
$stmt->execute();
|
||||
return $stmt->fetchColumn() ?? null;
|
||||
$result = $this->cache->get('findBoardId:' . $id);
|
||||
if ($result === null) {
|
||||
try {
|
||||
$qb = $this->db->getQueryBuilder();
|
||||
$qb->select('board_id')
|
||||
->from('deck_stacks', 's')
|
||||
->innerJoin('s', 'deck_cards', 'c', 'c.stack_id = s.id')
|
||||
->where($qb->expr()->eq('c.id', $qb->createNamedParameter($id)));
|
||||
$queryResult = $qb->executeQuery();
|
||||
$result = $queryResult->fetchOne();
|
||||
} catch (\Exception $e) {
|
||||
$result = false;
|
||||
}
|
||||
$this->cache->set('findBoardId:' . $id, $result);
|
||||
}
|
||||
return $result !== false ? $result : null;
|
||||
}
|
||||
|
||||
public function mapOwner(Card &$card) {
|
||||
|
||||
28
lib/Migration/Version010400Date20210305.php
Normal file
28
lib/Migration/Version010400Date20210305.php
Normal file
@@ -0,0 +1,28 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace OCA\Deck\Migration;
|
||||
|
||||
use Closure;
|
||||
use OCP\DB\ISchemaWrapper;
|
||||
use OCP\Migration\IOutput;
|
||||
use OCP\Migration\SimpleMigrationStep;
|
||||
|
||||
class Version010400Date20210305 extends SimpleMigrationStep {
|
||||
public function changeSchema(IOutput $output, Closure $schemaClosure, array $options): ?ISchemaWrapper {
|
||||
/** @var ISchemaWrapper $schema */
|
||||
$schema = $schemaClosure();
|
||||
|
||||
// Add cover image database field
|
||||
$table = $schema->getTable('deck_boards');
|
||||
if (!$table->hasColumn('cover_images')) {
|
||||
$table->addColumn('cover_images', 'boolean', [
|
||||
'notnull' => false,
|
||||
'default' => true,
|
||||
]);
|
||||
return $schema;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -50,7 +50,6 @@ use OCA\Deck\Db\BoardMapper;
|
||||
use OCA\Deck\Db\LabelMapper;
|
||||
use OCP\IUserManager;
|
||||
use OCA\Deck\BadRequestException;
|
||||
use OCP\IURLGenerator;
|
||||
|
||||
class BoardService {
|
||||
private $boardMapper;
|
||||
@@ -69,8 +68,8 @@ class BoardService {
|
||||
private $activityManager;
|
||||
private $eventDispatcher;
|
||||
private $changeHelper;
|
||||
|
||||
private $boardsCache = null;
|
||||
private $urlGenerator;
|
||||
|
||||
|
||||
public function __construct(
|
||||
@@ -88,7 +87,6 @@ class BoardService {
|
||||
ActivityManager $activityManager,
|
||||
IEventDispatcher $eventDispatcher,
|
||||
ChangeHelper $changeHelper,
|
||||
IURLGenerator $urlGenerator,
|
||||
$userId
|
||||
) {
|
||||
$this->boardMapper = $boardMapper;
|
||||
@@ -106,7 +104,6 @@ class BoardService {
|
||||
$this->eventDispatcher = $eventDispatcher;
|
||||
$this->changeHelper = $changeHelper;
|
||||
$this->userId = $userId;
|
||||
$this->urlGenerator = $urlGenerator;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -121,8 +118,9 @@ class BoardService {
|
||||
/**
|
||||
* Get all boards that are shared with a user, their groups or circles
|
||||
*/
|
||||
public function getUserBoards(int $since = -1, bool $includeArchived = true): array {
|
||||
return $this->boardMapper->findAllForUser($this->userId, $since, $includeArchived);
|
||||
public function getUserBoards(?int $since = null, bool $includeArchived = true, ?int $before = null,
|
||||
?string $term = null): array {
|
||||
return $this->boardMapper->findAllForUser($this->userId, $since, $includeArchived, $before, $term);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -181,9 +179,11 @@ class BoardService {
|
||||
/** @var Board $board */
|
||||
$board = $this->boardMapper->find($boardId, true, true);
|
||||
$this->boardMapper->mapOwner($board);
|
||||
foreach ($board->getAcl() as &$acl) {
|
||||
if ($acl !== null) {
|
||||
$this->boardMapper->mapAcl($acl);
|
||||
if ($board->getAcl() !== null) {
|
||||
foreach ($board->getAcl() as $acl) {
|
||||
if ($acl !== null) {
|
||||
$this->boardMapper->mapAcl($acl);
|
||||
}
|
||||
}
|
||||
}
|
||||
$permissions = $this->permissionService->matchPermissions($board);
|
||||
@@ -408,13 +408,14 @@ class BoardService {
|
||||
* @param $title
|
||||
* @param $color
|
||||
* @param $archived
|
||||
* @param $coverImages
|
||||
* @return \OCP\AppFramework\Db\Entity
|
||||
* @throws DoesNotExistException
|
||||
* @throws \OCA\Deck\NoPermissionException
|
||||
* @throws \OCP\AppFramework\Db\MultipleObjectsReturnedException
|
||||
* @throws BadRequestException
|
||||
*/
|
||||
public function update($id, $title, $color, $archived) {
|
||||
public function update($id, $title, $color, $archived, $coverImages) {
|
||||
if (is_numeric($id) === false) {
|
||||
throw new BadRequestException('board id must be a number');
|
||||
}
|
||||
@@ -431,12 +432,17 @@ class BoardService {
|
||||
throw new BadRequestException('archived must be a boolean');
|
||||
}
|
||||
|
||||
if (is_bool($coverImages) === false) {
|
||||
throw new BadRequestException('coverImages must be a boolean');
|
||||
}
|
||||
|
||||
$this->permissionService->checkPermission($this->boardMapper, $id, Acl::PERMISSION_MANAGE);
|
||||
$board = $this->find($id);
|
||||
$changes = new ChangeSet($board);
|
||||
$board->setTitle($title);
|
||||
$board->setColor($color);
|
||||
$board->setArchived($archived);
|
||||
$board->setCoverImages($coverImages);
|
||||
$changes->setAfter($board);
|
||||
$this->boardMapper->update($board); // operate on clone so we can check for updated fields
|
||||
$this->boardMapper->mapOwner($board);
|
||||
@@ -697,8 +703,4 @@ class BoardService {
|
||||
}
|
||||
$board->setUsers(array_values($boardUsers));
|
||||
}
|
||||
|
||||
public function getBoardUrl($endpoint) {
|
||||
return $this->urlGenerator->linkToRouteAbsolute('deck.page.index') . '#' . $endpoint;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -37,7 +37,6 @@ use OCA\Deck\Db\StackMapper;
|
||||
use OCA\Deck\Event\CardCreatedEvent;
|
||||
use OCA\Deck\Event\CardDeletedEvent;
|
||||
use OCA\Deck\Event\CardUpdatedEvent;
|
||||
use OCA\Deck\NoPermissionException;
|
||||
use OCA\Deck\Notification\NotificationHelper;
|
||||
use OCA\Deck\Db\BoardMapper;
|
||||
use OCA\Deck\Db\LabelMapper;
|
||||
@@ -46,7 +45,6 @@ use OCA\Deck\BadRequestException;
|
||||
use OCP\Comments\ICommentsManager;
|
||||
use OCP\EventDispatcher\IEventDispatcher;
|
||||
use OCP\IUserManager;
|
||||
use OCP\IURLGenerator;
|
||||
|
||||
class CardService {
|
||||
private $cardMapper;
|
||||
@@ -64,7 +62,6 @@ class CardService {
|
||||
private $changeHelper;
|
||||
private $eventDispatcher;
|
||||
private $userManager;
|
||||
private $urlGenerator;
|
||||
|
||||
public function __construct(
|
||||
CardMapper $cardMapper,
|
||||
@@ -81,7 +78,6 @@ class CardService {
|
||||
IUserManager $userManager,
|
||||
ChangeHelper $changeHelper,
|
||||
IEventDispatcher $eventDispatcher,
|
||||
IURLGenerator $urlGenerator,
|
||||
$userId
|
||||
) {
|
||||
$this->cardMapper = $cardMapper;
|
||||
@@ -99,7 +95,6 @@ class CardService {
|
||||
$this->changeHelper = $changeHelper;
|
||||
$this->eventDispatcher = $eventDispatcher;
|
||||
$this->currentUser = $userId;
|
||||
$this->urlGenerator = $urlGenerator;
|
||||
}
|
||||
|
||||
public function enrich($card) {
|
||||
@@ -159,12 +154,7 @@ class CardService {
|
||||
}
|
||||
|
||||
public function findCalendarEntries($boardId) {
|
||||
try {
|
||||
$this->permissionService->checkPermission($this->boardMapper, $boardId, Acl::PERMISSION_READ);
|
||||
} catch (NoPermissionException $e) {
|
||||
\OC::$server->getLogger()->error('Unable to check permission for a previously obtained board ' . $boardId, ['exception' => $e]);
|
||||
return [];
|
||||
}
|
||||
$this->permissionService->checkPermission($this->boardMapper, $boardId, Acl::PERMISSION_READ);
|
||||
$cards = $this->cardMapper->findCalendarEntries($boardId);
|
||||
foreach ($cards as $card) {
|
||||
$this->enrich($card);
|
||||
@@ -606,14 +596,4 @@ class CardService {
|
||||
|
||||
$this->eventDispatcher->dispatchTyped(new CardUpdatedEvent($card));
|
||||
}
|
||||
|
||||
public function getCardUrl($cardId) {
|
||||
$boardId = $this->cardMapper->findBoardId($cardId);
|
||||
|
||||
return $this->urlGenerator->linkToRouteAbsolute('deck.page.index') . "#/board/$boardId/card/$cardId";
|
||||
}
|
||||
|
||||
public function getRedirectUrlForCard($cardId) {
|
||||
return $this->urlGenerator->linkToRouteAbsolute('deck.page.index') . "card/$cardId";
|
||||
}
|
||||
}
|
||||
|
||||
@@ -27,11 +27,8 @@ declare(strict_types=1);
|
||||
namespace OCA\Deck\Service;
|
||||
|
||||
use OCA\Circles\CirclesManager;
|
||||
use OCA\Circles\Model\Circle;
|
||||
use OCA\Circles\Model\Member;
|
||||
use OCA\Circles\Model\Probes\CircleProbe;
|
||||
use OCP\App\IAppManager;
|
||||
use Throwable;
|
||||
|
||||
/**
|
||||
* Wrapper around circles app API since it is not in a public namespace so we need to make sure that
|
||||
@@ -48,24 +45,15 @@ class CirclesService {
|
||||
return $this->circlesEnabled;
|
||||
}
|
||||
|
||||
public function getCircle(string $circleId): ?Circle {
|
||||
public function getCircle($circleId) {
|
||||
if (!$this->circlesEnabled) {
|
||||
return null;
|
||||
}
|
||||
|
||||
try {
|
||||
|
||||
// Enforce current user condition since we always want the full list of members
|
||||
/** @var CirclesManager $circlesManager */
|
||||
$circlesManager = \OC::$server->get(CirclesManager::class);
|
||||
$circlesManager->startSuperSession();
|
||||
return $circlesManager->getCircle($circleId);
|
||||
} catch (Throwable $e) {
|
||||
}
|
||||
return null;
|
||||
return \OCA\Circles\Api\v1\Circles::detailsCircle($circleId, true);
|
||||
}
|
||||
|
||||
public function isUserInCircle(string $circleId, string $userId): bool {
|
||||
public function isUserInCircle($circleId, $userId): bool {
|
||||
if (!$this->circlesEnabled) {
|
||||
return false;
|
||||
}
|
||||
@@ -78,32 +66,8 @@ class CirclesService {
|
||||
$circle = $circlesManager->getCircle($circleId);
|
||||
$member = $circle->getInitiator();
|
||||
return $member !== null && $member->getLevel() >= Member::LEVEL_MEMBER;
|
||||
} catch (Throwable $e) {
|
||||
} catch (\Exception $e) {
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $userId
|
||||
* @return string[] circle single ids
|
||||
*/
|
||||
public function getUserCircles(string $userId): array {
|
||||
if (!$this->circlesEnabled) {
|
||||
return [];
|
||||
}
|
||||
|
||||
try {
|
||||
/** @var CirclesManager $circlesManager */
|
||||
$circlesManager = \OC::$server->get(CirclesManager::class);
|
||||
$federatedUser = $circlesManager->getFederatedUser($userId, Member::TYPE_USER);
|
||||
$circlesManager->startSession($federatedUser);
|
||||
$probe = new CircleProbe();
|
||||
$probe->mustBeMember();
|
||||
return array_map(function (Circle $circle) {
|
||||
return $circle->getSingleId();
|
||||
}, $circlesManager->getCircles($probe));
|
||||
} catch (Throwable $e) {
|
||||
}
|
||||
return [];
|
||||
}
|
||||
}
|
||||
|
||||
@@ -59,7 +59,7 @@ class FullTextSearchService {
|
||||
|
||||
/** @var CardMapper */
|
||||
private $cardMapper;
|
||||
|
||||
|
||||
public function __construct(
|
||||
BoardMapper $boardMapper, StackMapper $stackMapper, CardMapper $cardMapper
|
||||
) {
|
||||
@@ -187,6 +187,6 @@ class FullTextSearchService {
|
||||
* @return Board[]
|
||||
*/
|
||||
private function getBoardsFromUser(string $userId): array {
|
||||
return $this->boardMapper->findAllByUser($userId, null, null, -1);
|
||||
return $this->boardMapper->findAllByUser($userId, null, null, null);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -117,7 +117,7 @@ class PermissionService {
|
||||
*/
|
||||
public function matchPermissions(Board $board) {
|
||||
$owner = $this->userIsBoardOwner($board->getId());
|
||||
$acls = $board->getAcl();
|
||||
$acls = $board->getAcl() ?? [];
|
||||
return [
|
||||
Acl::PERMISSION_READ => $owner || $this->userCan($acls, Acl::PERMISSION_READ),
|
||||
Acl::PERMISSION_EDIT => $owner || $this->userCan($acls, Acl::PERMISSION_EDIT),
|
||||
@@ -155,7 +155,7 @@ class PermissionService {
|
||||
}
|
||||
|
||||
try {
|
||||
$acls = $this->getBoard($boardId)->getAcl();
|
||||
$acls = $this->getBoard($boardId)->getAcl() ?? [];
|
||||
$result = $this->userCan($acls, $permission, $userId);
|
||||
if ($result) {
|
||||
return true;
|
||||
@@ -280,14 +280,14 @@ class PermissionService {
|
||||
|
||||
if ($this->circlesService->isCirclesEnabled() && $acl->getType() === Acl::PERMISSION_TYPE_CIRCLE) {
|
||||
try {
|
||||
$circle = $this->circlesService->getCircle($acl->getParticipant());
|
||||
$circle = \OCA\Circles\Api\v1\Circles::detailsCircle($acl->getParticipant(), true);
|
||||
if ($circle === null) {
|
||||
$this->logger->info('No circle found for acl rule ' . $acl->getId());
|
||||
continue;
|
||||
}
|
||||
|
||||
foreach ($circle->getInheritedMembers() as $member) {
|
||||
if ($member->getUserType() !== 1 || $member->getLevel() < Member::LEVEL_MEMBER) {
|
||||
if ($member->getUserType() !== 1 || $member->getLevel() >= Member::LEVEL_MEMBER) {
|
||||
// deck currently only supports user members in circles
|
||||
continue;
|
||||
}
|
||||
|
||||
@@ -90,25 +90,19 @@ class SearchService {
|
||||
}
|
||||
|
||||
public function searchBoards(string $term, ?int $limit, ?int $cursor): array {
|
||||
$boards = $this->boardService->getUserBoards();
|
||||
// get boards that have a lastmodified date which is lower than the cursor
|
||||
// and which match the search term
|
||||
$filteredBoards = array_filter($boards, static function (Board $board) use ($term, $cursor) {
|
||||
return (
|
||||
($cursor === null || $board->getLastModified() < $cursor)
|
||||
&& mb_stripos(mb_strtolower($board->getTitle()), mb_strtolower($term)) > -1
|
||||
);
|
||||
});
|
||||
$boards = $this->boardService->getUserBoards(null, true, $cursor, mb_strtolower($term));
|
||||
|
||||
// sort the boards, recently modified first
|
||||
usort($filteredBoards, function ($boardA, $boardB) {
|
||||
usort($boards, function ($boardA, $boardB) {
|
||||
$ta = $boardA->getLastModified();
|
||||
$tb = $boardB->getLastModified();
|
||||
return $ta === $tb
|
||||
? 0
|
||||
: ($ta > $tb ? -1 : 1);
|
||||
});
|
||||
|
||||
// limit the number of results
|
||||
return array_slice($filteredBoards, 0, $limit);
|
||||
return array_slice($boards, 0, $limit);
|
||||
}
|
||||
|
||||
public function searchComments(string $term, ?int $limit = null, ?int $cursor = null): array {
|
||||
|
||||
@@ -35,7 +35,6 @@ use OCA\Deck\Db\ChangeHelper;
|
||||
use OCA\Deck\Db\LabelMapper;
|
||||
use OCA\Deck\Db\Stack;
|
||||
use OCA\Deck\Db\StackMapper;
|
||||
use OCA\Deck\NoPermissionException;
|
||||
use OCA\Deck\StatusException;
|
||||
|
||||
class StackService {
|
||||
@@ -143,12 +142,7 @@ class StackService {
|
||||
}
|
||||
|
||||
public function findCalendarEntries($boardId) {
|
||||
try {
|
||||
$this->permissionService->checkPermission(null, $boardId, Acl::PERMISSION_READ);
|
||||
} catch (NoPermissionException $e) {
|
||||
\OC::$server->getLogger()->error('Unable to check permission for a previously obtained board ' . $boardId, ['exception' => $e]);
|
||||
return [];
|
||||
}
|
||||
$this->permissionService->checkPermission(null, $boardId, Acl::PERMISSION_READ);
|
||||
return $this->stackMapper->findAll($boardId);
|
||||
}
|
||||
|
||||
@@ -290,8 +284,8 @@ class StackService {
|
||||
throw new BadRequestException('order must be a number');
|
||||
}
|
||||
|
||||
$this->permissionService->checkPermission($this->stackMapper, $boardId, Acl::PERMISSION_MANAGE);
|
||||
if ($this->boardService->isArchived($this->stackMapper, $boardId)) {
|
||||
$this->permissionService->checkPermission($this->stackMapper, $id, Acl::PERMISSION_MANAGE);
|
||||
if ($this->boardService->isArchived($this->stackMapper, $id)) {
|
||||
throw new StatusException('Operation not allowed. This board is archived.');
|
||||
}
|
||||
$stack = $this->stackMapper->find($id);
|
||||
|
||||
10930
package-lock.json
generated
10930
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
45
package.json
45
package.json
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "deck",
|
||||
"description": "",
|
||||
"version": "1.5.6",
|
||||
"version": "1.7.0-beta1",
|
||||
"authors": [
|
||||
{
|
||||
"name": "Julius Härtl",
|
||||
@@ -29,24 +29,25 @@
|
||||
},
|
||||
"dependencies": {
|
||||
"@babel/polyfill": "^7.12.1",
|
||||
"@babel/runtime": "^7.14.6",
|
||||
"@babel/runtime": "^7.16.3",
|
||||
"@juliushaertl/vue-richtext": "^1.0.1",
|
||||
"@nextcloud/auth": "^1.3.0",
|
||||
"@nextcloud/axios": "^1.6.0",
|
||||
"@nextcloud/axios": "^1.8.0",
|
||||
"@nextcloud/dialogs": "^3.1.2",
|
||||
"@nextcloud/event-bus": "^2.0.0",
|
||||
"@nextcloud/files": "^2.0.0",
|
||||
"@nextcloud/initial-state": "^1.2.0",
|
||||
"@nextcloud/event-bus": "^2.1.1",
|
||||
"@nextcloud/files": "^2.1.0",
|
||||
"@nextcloud/initial-state": "^1.2.1",
|
||||
"@nextcloud/l10n": "^1.4.1",
|
||||
"@nextcloud/moment": "^1.1.1",
|
||||
"@nextcloud/router": "^2.0.0",
|
||||
"@nextcloud/vue": "^3.10.1",
|
||||
"@nextcloud/vue": "^4.2.0",
|
||||
"@nextcloud/vue-dashboard": "^2.0.1",
|
||||
"blueimp-md5": "^2.18.0",
|
||||
"dompurify": "^2.2.9",
|
||||
"blueimp-md5": "^2.19.0",
|
||||
"dompurify": "^2.3.4",
|
||||
"lodash": "^4.17.21",
|
||||
"markdown-it": "^12.0.6",
|
||||
"markdown-it": "^12.2.0",
|
||||
"markdown-it-task-lists": "^2.1.1",
|
||||
"markdown-it-link-attributes": "^3.0.0",
|
||||
"moment": "^2.29.1",
|
||||
"nextcloud-vue-collections": "^0.9.0",
|
||||
"p-queue": "^6.6.2",
|
||||
@@ -54,9 +55,9 @@
|
||||
"vue": "^2.6.14",
|
||||
"vue-at": "^2.5.0-beta.2",
|
||||
"vue-click-outside": "^1.1.0",
|
||||
"vue-easymde": "^1.4.0",
|
||||
"vue-easymde": "^2.0.0",
|
||||
"vue-infinite-loading": "^2.4.5",
|
||||
"vue-router": "^3.5.1",
|
||||
"vue-router": "^3.5.3",
|
||||
"vue-smooth-dnd": "^0.8.1",
|
||||
"vuex": "^3.6.2",
|
||||
"vuex-router-sync": "^5.0.0"
|
||||
@@ -65,18 +66,18 @@
|
||||
"extends @nextcloud/browserslist-config"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">=14.0.0",
|
||||
"npm": ">=7.0.0"
|
||||
"node": "^14.0.0",
|
||||
"npm": "^7.0.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@nextcloud/babel-config": "^1.0.0-beta.1",
|
||||
"@nextcloud/browserslist-config": "^2.1.0",
|
||||
"@nextcloud/eslint-config": "^5.1.0",
|
||||
"@nextcloud/babel-config": "^1.0.0",
|
||||
"@nextcloud/browserslist-config": "^2.2.0",
|
||||
"@nextcloud/eslint-config": "^6.1.1",
|
||||
"@nextcloud/stylelint-config": "^1.0.0-beta.0",
|
||||
"@nextcloud/webpack-vue-config": "^4.0.3",
|
||||
"@relative-ci/agent": "^2.0.0",
|
||||
"@vue/test-utils": "^1.2.1",
|
||||
"jest": "^27.0.4",
|
||||
"@nextcloud/webpack-vue-config": "^4.2.0",
|
||||
"@relative-ci/agent": "^3.0.0",
|
||||
"@vue/test-utils": "^1.3.0",
|
||||
"jest": "^27.4.5",
|
||||
"jest-serializer-vue": "^2.0.2",
|
||||
"vue-jest": "^3.0.7"
|
||||
},
|
||||
@@ -96,4 +97,4 @@
|
||||
"<rootDir>/node_modules/jest-serializer-vue"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
10
src/App.vue
10
src/App.vue
@@ -59,6 +59,11 @@ export default {
|
||||
Content,
|
||||
AppContent,
|
||||
},
|
||||
provide() {
|
||||
return {
|
||||
boardApi,
|
||||
}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
addButton: {
|
||||
@@ -112,11 +117,6 @@ export default {
|
||||
this.$router.push({ name: 'board' })
|
||||
},
|
||||
},
|
||||
provide() {
|
||||
return {
|
||||
boardApi,
|
||||
}
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
||||
|
||||
@@ -76,110 +76,108 @@
|
||||
<ActionButton v-else icon="icon-filter" />
|
||||
</Actions>
|
||||
|
||||
<template>
|
||||
<div v-if="filterVisible" class="filter">
|
||||
<h3>{{ t('deck', 'Filter by tag') }}</h3>
|
||||
<div v-for="label in labelsSorted" :key="label.id" class="filter--item">
|
||||
<input
|
||||
:id="label.id"
|
||||
v-model="filter.tags"
|
||||
type="checkbox"
|
||||
class="checkbox"
|
||||
:value="label.id"
|
||||
@change="setFilter">
|
||||
<label :for="label.id"><span class="label" :style="labelStyle(label)">{{ label.title }}</span></label>
|
||||
</div>
|
||||
|
||||
<h3>{{ t('deck', 'Filter by assigned user') }}</h3>
|
||||
<div class="filter--item">
|
||||
<input
|
||||
id="unassigned"
|
||||
v-model="filter.unassigned"
|
||||
type="checkbox"
|
||||
class="checkbox"
|
||||
value="unassigned"
|
||||
@change="setFilter"
|
||||
@click="beforeSetFilter">
|
||||
<label for="unassigned">{{ t('deck', 'Unassigned') }}</label>
|
||||
</div>
|
||||
<div v-for="user in board.users" :key="user.uid" class="filter--item">
|
||||
<input
|
||||
:id="user.uid"
|
||||
v-model="filter.users"
|
||||
type="checkbox"
|
||||
class="checkbox"
|
||||
:value="user.uid"
|
||||
@change="setFilter">
|
||||
<label :for="user.uid"><Avatar :user="user.uid" :size="24" :disable-menu="true" /> {{ user.displayname }}</label>
|
||||
</div>
|
||||
|
||||
<h3>{{ t('deck', 'Filter by due date') }}</h3>
|
||||
|
||||
<div class="filter--item">
|
||||
<input
|
||||
id="overdue"
|
||||
v-model="filter.due"
|
||||
type="radio"
|
||||
class="radio"
|
||||
value="overdue"
|
||||
@change="setFilter"
|
||||
@click="beforeSetFilter">
|
||||
<label for="overdue">{{ t('deck', 'Overdue') }}</label>
|
||||
</div>
|
||||
|
||||
<div class="filter--item">
|
||||
<input
|
||||
id="dueToday"
|
||||
v-model="filter.due"
|
||||
type="radio"
|
||||
class="radio"
|
||||
value="dueToday"
|
||||
@change="setFilter"
|
||||
@click="beforeSetFilter">
|
||||
<label for="dueToday">{{ t('deck', 'Next 24 hours') }}</label>
|
||||
</div>
|
||||
|
||||
<div class="filter--item">
|
||||
<input
|
||||
id="dueWeek"
|
||||
v-model="filter.due"
|
||||
type="radio"
|
||||
class="radio"
|
||||
value="dueWeek"
|
||||
@change="setFilter"
|
||||
@click="beforeSetFilter">
|
||||
<label for="dueWeek">{{ t('deck', 'Next 7 days') }}</label>
|
||||
</div>
|
||||
|
||||
<div class="filter--item">
|
||||
<input
|
||||
id="dueMonth"
|
||||
v-model="filter.due"
|
||||
type="radio"
|
||||
class="radio"
|
||||
value="dueMonth"
|
||||
@change="setFilter"
|
||||
@click="beforeSetFilter">
|
||||
<label for="dueMonth">{{ t('deck', 'Next 30 days') }}</label>
|
||||
</div>
|
||||
|
||||
<div class="filter--item">
|
||||
<input
|
||||
id="noDue"
|
||||
v-model="filter.due"
|
||||
type="radio"
|
||||
class="radio"
|
||||
value="noDue"
|
||||
@change="setFilter"
|
||||
@click="beforeSetFilter">
|
||||
<label for="noDue">{{ t('deck', 'No due date') }}</label>
|
||||
</div>
|
||||
|
||||
<Button :disabled="!isFilterActive" @click="clearFilter">
|
||||
{{ t('deck', 'Clear filter') }}
|
||||
</Button>
|
||||
<div v-if="filterVisible" class="filter">
|
||||
<h3>{{ t('deck', 'Filter by tag') }}</h3>
|
||||
<div v-for="label in labelsSorted" :key="label.id" class="filter--item">
|
||||
<input
|
||||
:id="label.id"
|
||||
v-model="filter.tags"
|
||||
type="checkbox"
|
||||
class="checkbox"
|
||||
:value="label.id"
|
||||
@change="setFilter">
|
||||
<label :for="label.id"><span class="label" :style="labelStyle(label)">{{ label.title }}</span></label>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<h3>{{ t('deck', 'Filter by assigned user') }}</h3>
|
||||
<div class="filter--item">
|
||||
<input
|
||||
id="unassigned"
|
||||
v-model="filter.unassigned"
|
||||
type="checkbox"
|
||||
class="checkbox"
|
||||
value="unassigned"
|
||||
@change="setFilter"
|
||||
@click="beforeSetFilter">
|
||||
<label for="unassigned">{{ t('deck', 'Unassigned') }}</label>
|
||||
</div>
|
||||
<div v-for="user in board.users" :key="user.uid" class="filter--item">
|
||||
<input
|
||||
:id="user.uid"
|
||||
v-model="filter.users"
|
||||
type="checkbox"
|
||||
class="checkbox"
|
||||
:value="user.uid"
|
||||
@change="setFilter">
|
||||
<label :for="user.uid"><Avatar :user="user.uid" :size="24" :disable-menu="true" /> {{ user.displayname }}</label>
|
||||
</div>
|
||||
|
||||
<h3>{{ t('deck', 'Filter by due date') }}</h3>
|
||||
|
||||
<div class="filter--item">
|
||||
<input
|
||||
id="overdue"
|
||||
v-model="filter.due"
|
||||
type="radio"
|
||||
class="radio"
|
||||
value="overdue"
|
||||
@change="setFilter"
|
||||
@click="beforeSetFilter">
|
||||
<label for="overdue">{{ t('deck', 'Overdue') }}</label>
|
||||
</div>
|
||||
|
||||
<div class="filter--item">
|
||||
<input
|
||||
id="dueToday"
|
||||
v-model="filter.due"
|
||||
type="radio"
|
||||
class="radio"
|
||||
value="dueToday"
|
||||
@change="setFilter"
|
||||
@click="beforeSetFilter">
|
||||
<label for="dueToday">{{ t('deck', 'Next 24 hours') }}</label>
|
||||
</div>
|
||||
|
||||
<div class="filter--item">
|
||||
<input
|
||||
id="dueWeek"
|
||||
v-model="filter.due"
|
||||
type="radio"
|
||||
class="radio"
|
||||
value="dueWeek"
|
||||
@change="setFilter"
|
||||
@click="beforeSetFilter">
|
||||
<label for="dueWeek">{{ t('deck', 'Next 7 days') }}</label>
|
||||
</div>
|
||||
|
||||
<div class="filter--item">
|
||||
<input
|
||||
id="dueMonth"
|
||||
v-model="filter.due"
|
||||
type="radio"
|
||||
class="radio"
|
||||
value="dueMonth"
|
||||
@change="setFilter"
|
||||
@click="beforeSetFilter">
|
||||
<label for="dueMonth">{{ t('deck', 'Next 30 days') }}</label>
|
||||
</div>
|
||||
|
||||
<div class="filter--item">
|
||||
<input
|
||||
id="noDue"
|
||||
v-model="filter.due"
|
||||
type="radio"
|
||||
class="radio"
|
||||
value="noDue"
|
||||
@change="setFilter"
|
||||
@click="beforeSetFilter">
|
||||
<label for="noDue">{{ t('deck', 'No due date') }}</label>
|
||||
</div>
|
||||
|
||||
<Button :disabled="!isFilterActive" @click="clearFilter">
|
||||
{{ t('deck', 'Clear filter') }}
|
||||
</Button>
|
||||
</div>
|
||||
</Popover>
|
||||
|
||||
<Actions>
|
||||
|
||||
@@ -43,24 +43,22 @@
|
||||
|
||||
<li v-if="addLabel" class="editing">
|
||||
<!-- New Tag -->
|
||||
<template>
|
||||
<form class="label-form" @submit.prevent="clickAddLabel">
|
||||
<ColorPicker class="color-picker-wrapper" :value="'#' + addLabelObj.color" @input="updateColor">
|
||||
<div :style="{ backgroundColor: '#' + addLabelObj.color }" class="color0 icon-colorpicker" />
|
||||
</ColorPicker>
|
||||
<input v-model="addLabelObj.title" type="text">
|
||||
<input v-tooltip="{content: missingDataLabel, show: !addLabelObjValidated, trigger: 'manual' }"
|
||||
:disabled="!addLabelObjValidated"
|
||||
type="submit"
|
||||
value=""
|
||||
class="icon-confirm">
|
||||
<Actions>
|
||||
<ActionButton icon="icon-close" @click="addLabel=false">
|
||||
{{ t('deck', 'Cancel') }}
|
||||
</ActionButton>
|
||||
</Actions>
|
||||
</form>
|
||||
</template>
|
||||
<form class="label-form" @submit.prevent="clickAddLabel">
|
||||
<ColorPicker class="color-picker-wrapper" :value="'#' + addLabelObj.color" @input="updateColor">
|
||||
<div :style="{ backgroundColor: '#' + addLabelObj.color }" class="color0 icon-colorpicker" />
|
||||
</ColorPicker>
|
||||
<input v-model="addLabelObj.title" type="text">
|
||||
<input v-tooltip="{content: missingDataLabel, show: !addLabelObjValidated, trigger: 'manual' }"
|
||||
:disabled="!addLabelObjValidated"
|
||||
type="submit"
|
||||
value=""
|
||||
class="icon-confirm">
|
||||
<Actions>
|
||||
<ActionButton icon="icon-close" @click="addLabel=false">
|
||||
{{ t('deck', 'Cancel') }}
|
||||
</ActionButton>
|
||||
</Actions>
|
||||
</form>
|
||||
</li>
|
||||
<button v-if="canManage && !isArchived" @click="clickShowAddLabel()">
|
||||
<span class="icon-add" />{{ t('deck', 'Add a new tag') }}
|
||||
|
||||
@@ -71,7 +71,7 @@
|
||||
</a>
|
||||
</div>
|
||||
<Actions v-if="selectable">
|
||||
<ActionButton icon="icon-confirm" @click="$emit('selectAttachment', attachment)">
|
||||
<ActionButton icon="icon-confirm" @click="$emit('select-attachment', attachment)">
|
||||
{{ t('deck', 'Add this attachment') }}
|
||||
</ActionButton>
|
||||
</Actions>
|
||||
@@ -89,10 +89,10 @@
|
||||
{{ t('deck', 'Remove attachment') }}
|
||||
</ActionButton>
|
||||
|
||||
<ActionButton v-if="!attachment.extendedData.fileid && attachment.deletedAt === 0" icon="icon-delete" @click="$emit('deleteAttachment', attachment)">
|
||||
<ActionButton v-if="!attachment.extendedData.fileid && attachment.deletedAt === 0" icon="icon-delete" @click="$emit('delete-attachment', attachment)">
|
||||
{{ t('deck', 'Delete Attachment') }}
|
||||
</ActionButton>
|
||||
<ActionButton v-else-if="!attachment.extendedData.fileid" icon="icon-history" @click="$emit('restoreAttachment', attachment)">
|
||||
<ActionButton v-else-if="!attachment.extendedData.fileid" icon="icon-history" @click="$emit('restore-attachment', attachment)">
|
||||
{{ t('deck', 'Restore Attachment') }}
|
||||
</ActionButton>
|
||||
</Actions>
|
||||
@@ -222,7 +222,7 @@ export default {
|
||||
},
|
||||
shareFromFiles() {
|
||||
picker.pick()
|
||||
.then(async(path) => {
|
||||
.then(async (path) => {
|
||||
console.debug(`path ${path} selected for sharing`)
|
||||
if (!path.startsWith('/')) {
|
||||
throw new Error(t('files', 'Invalid path selected'))
|
||||
|
||||
@@ -24,8 +24,8 @@
|
||||
<AttachmentList
|
||||
:card-id="card.id"
|
||||
:removable="true"
|
||||
@deleteAttachment="deleteAttachment"
|
||||
@restoreAttachment="restoreAttachment" />
|
||||
@delete-attachment="deleteAttachment"
|
||||
@restore-attachment="restoreAttachment" />
|
||||
</template>
|
||||
|
||||
<script>
|
||||
|
||||
@@ -101,6 +101,7 @@
|
||||
:lang="lang"
|
||||
:formatter="format"
|
||||
:disabled="saving || !canEdit"
|
||||
:shortcuts="shortcuts"
|
||||
confirm />
|
||||
<Actions v-if="canEdit">
|
||||
<ActionButton v-if="copiedCard.duedate" icon="icon-delete" @click="removeDue()">
|
||||
@@ -176,6 +177,48 @@ export default {
|
||||
stringify: this.stringify,
|
||||
parse: this.parse,
|
||||
},
|
||||
shortcuts: [
|
||||
{
|
||||
text: t('deck', 'Today'),
|
||||
onClick() {
|
||||
const date = new Date()
|
||||
date.setDate(date.getDate())
|
||||
date.setHours(23)
|
||||
date.setMinutes(59)
|
||||
return date
|
||||
},
|
||||
},
|
||||
{
|
||||
text: t('deck', 'Tomorrow'),
|
||||
onClick() {
|
||||
const date = new Date()
|
||||
date.setDate(date.getDate() + 1)
|
||||
date.setHours(23)
|
||||
date.setMinutes(59)
|
||||
return date
|
||||
},
|
||||
},
|
||||
{
|
||||
text: t('deck', 'Next week'),
|
||||
onClick() {
|
||||
const date = new Date()
|
||||
date.setDate(date.getDate() + 7)
|
||||
date.setHours(23)
|
||||
date.setMinutes(59)
|
||||
return date
|
||||
},
|
||||
},
|
||||
{
|
||||
text: t('deck', 'Next month'),
|
||||
onClick() {
|
||||
const date = new Date()
|
||||
date.setDate(date.getDate() + 30)
|
||||
date.setHours(23)
|
||||
date.setMinutes(59)
|
||||
return date
|
||||
},
|
||||
},
|
||||
],
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
@@ -316,6 +359,14 @@ export default {
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
|
||||
.section-wrapper::v-deep .mx-datepicker-main.mx-datepicker-popup {
|
||||
left: 0 !important;
|
||||
}
|
||||
|
||||
.section-wrapper::v-deep .mx-datepicker-main.mx-datepicker-popup.mx-datepicker-sidebar {
|
||||
padding: 0 !important;
|
||||
}
|
||||
|
||||
.section-wrapper {
|
||||
display: flex;
|
||||
max-width: 100%;
|
||||
|
||||
@@ -19,47 +19,45 @@
|
||||
</div>
|
||||
</div>
|
||||
<li v-else class="comment">
|
||||
<template>
|
||||
<div class="comment--header">
|
||||
<Avatar :user="comment.actorId" />
|
||||
<span class="has-tooltip username">
|
||||
{{ comment.actorDisplayName }}
|
||||
</span>
|
||||
<Actions v-show="!edit" :force-menu="true">
|
||||
<ActionButton icon="icon-reply" :close-after-click="true" @click="replyTo()">
|
||||
{{ t('deck', 'Reply') }}
|
||||
</ActionButton>
|
||||
<ActionButton v-if="canEdit"
|
||||
icon="icon-rename"
|
||||
:close-after-click="true"
|
||||
@click="showUpdateForm()">
|
||||
{{ t('deck', 'Update') }}
|
||||
</ActionButton>
|
||||
<ActionButton v-if="canEdit"
|
||||
icon="icon-delete"
|
||||
:close-after-click="true"
|
||||
@click="deleteComment()">
|
||||
{{ t('deck', 'Delete') }}
|
||||
</ActionButton>
|
||||
</Actions>
|
||||
<Actions v-if="edit">
|
||||
<ActionButton icon="icon-close" @click="hideUpdateForm" />
|
||||
</Actions>
|
||||
<div class="spacer" />
|
||||
<div class="timestamp">
|
||||
{{ relativeDate(comment.creationDateTime) }}
|
||||
</div>
|
||||
<div class="comment--header">
|
||||
<Avatar :user="comment.actorId" />
|
||||
<span class="has-tooltip username">
|
||||
{{ comment.actorDisplayName }}
|
||||
</span>
|
||||
<Actions v-show="!edit" :force-menu="true">
|
||||
<ActionButton icon="icon-reply" :close-after-click="true" @click="replyTo()">
|
||||
{{ t('deck', 'Reply') }}
|
||||
</ActionButton>
|
||||
<ActionButton v-if="canEdit"
|
||||
icon="icon-rename"
|
||||
:close-after-click="true"
|
||||
@click="showUpdateForm()">
|
||||
{{ t('deck', 'Update') }}
|
||||
</ActionButton>
|
||||
<ActionButton v-if="canEdit"
|
||||
icon="icon-delete"
|
||||
:close-after-click="true"
|
||||
@click="deleteComment()">
|
||||
{{ t('deck', 'Delete') }}
|
||||
</ActionButton>
|
||||
</Actions>
|
||||
<Actions v-if="edit">
|
||||
<ActionButton icon="icon-close" @click="hideUpdateForm" />
|
||||
</Actions>
|
||||
<div class="spacer" />
|
||||
<div class="timestamp">
|
||||
{{ relativeDate(comment.creationDateTime) }}
|
||||
</div>
|
||||
<CommentItem v-if="comment.replyTo" :reply="true" :comment="comment.replyTo" />
|
||||
<div v-show="!edit" ref="richTextElement">
|
||||
<RichText
|
||||
class="comment--content"
|
||||
:text="richText(comment)"
|
||||
:arguments="richArgs(comment)"
|
||||
:autolink="true" />
|
||||
</div>
|
||||
<CommentForm v-if="edit" v-model="commentMsg" @submit="updateComment" />
|
||||
</template>
|
||||
</div>
|
||||
<CommentItem v-if="comment.replyTo" :reply="true" :comment="comment.replyTo" />
|
||||
<div v-show="!edit" ref="richTextElement">
|
||||
<RichText
|
||||
class="comment--content"
|
||||
:text="richText(comment)"
|
||||
:arguments="richArgs(comment)"
|
||||
:autolink="true" />
|
||||
</div>
|
||||
<CommentForm v-if="edit" v-model="commentMsg" @submit="updateComment" />
|
||||
</li>
|
||||
</template>
|
||||
|
||||
|
||||
@@ -57,7 +57,7 @@
|
||||
ref="markdownEditor"
|
||||
v-model="description"
|
||||
:configs="mdeConfig"
|
||||
@input="updateDescription"
|
||||
@update:modelValue="updateDescription"
|
||||
@blur="saveDescription" />
|
||||
|
||||
<Modal v-if="modalShow" :title="t('deck', 'Choose attachment')" @close="modalShow=false">
|
||||
@@ -66,7 +66,7 @@
|
||||
<AttachmentList
|
||||
:card-id="card.id"
|
||||
:selectable="true"
|
||||
@selectAttachment="addAttachment" />
|
||||
@select-attachment="addAttachment" />
|
||||
</div>
|
||||
</Modal>
|
||||
</div>
|
||||
@@ -75,6 +75,7 @@
|
||||
<script>
|
||||
import MarkdownIt from 'markdown-it'
|
||||
import MarkdownItTaskLists from 'markdown-it-task-lists'
|
||||
import MarkdownItLinkAttributes from 'markdown-it-link-attributes'
|
||||
import AttachmentList from './AttachmentList'
|
||||
import { Actions, ActionButton, Modal } from '@nextcloud/vue'
|
||||
import { formatFileSize } from '@nextcloud/files'
|
||||
@@ -86,6 +87,13 @@ const markdownIt = new MarkdownIt({
|
||||
})
|
||||
markdownIt.use(MarkdownItTaskLists, { enabled: true, label: true, labelAfter: true })
|
||||
|
||||
markdownIt.use(MarkdownItLinkAttributes, {
|
||||
attrs: {
|
||||
target: '_blank',
|
||||
rel: 'noreferrer noopener',
|
||||
},
|
||||
})
|
||||
|
||||
export default {
|
||||
name: 'Description',
|
||||
components: {
|
||||
@@ -223,7 +231,7 @@ export default {
|
||||
updateDescription() {
|
||||
this.descriptionLastEdit = Date.now()
|
||||
clearTimeout(this.descriptionSaveTimeout)
|
||||
this.descriptionSaveTimeout = setTimeout(async() => {
|
||||
this.descriptionSaveTimeout = setTimeout(async () => {
|
||||
await this.saveDescription()
|
||||
}, 2500)
|
||||
},
|
||||
@@ -243,6 +251,8 @@ export default {
|
||||
|
||||
&::v-deep .attachment-list {
|
||||
flex-shrink: 1;
|
||||
overflow: scroll;
|
||||
max-height: 50vh;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -53,6 +53,19 @@
|
||||
<PopoverMenu :menu="popover" />
|
||||
<slot />
|
||||
</div>
|
||||
|
||||
<div class="avatar-print-list">
|
||||
<div v-for="user in avatarUsers" :key="user.id" class="avatar-print-list-item">
|
||||
<Avatar
|
||||
class="avatar-print-list-avatar"
|
||||
:user="user.participant.uid"
|
||||
:display-name="user.participant.displayname"
|
||||
:disable-menu="true"
|
||||
:is-no-user="user.type !== 0"
|
||||
:size="24" />
|
||||
{{ user.participant.displayname }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@@ -116,6 +129,15 @@ export default {
|
||||
}),
|
||||
]
|
||||
},
|
||||
avatarUsers() {
|
||||
if (!this.users) {
|
||||
return []
|
||||
}
|
||||
|
||||
return this.users.filter((user) => {
|
||||
return [0, 1, 7].includes(user.type)
|
||||
})
|
||||
},
|
||||
},
|
||||
methods: {
|
||||
togglePopover() {
|
||||
@@ -176,4 +198,26 @@ export default {
|
||||
display: block;
|
||||
margin: 40px -6px;
|
||||
}
|
||||
|
||||
.avatar-print-list {
|
||||
display: none;
|
||||
}
|
||||
|
||||
@media print {
|
||||
.avatar-list {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.avatar-print-list-item {
|
||||
align-items: center;
|
||||
display: flex;
|
||||
gap: 10px;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.avatar-print-list {
|
||||
display: block;
|
||||
padding-top: 5px;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -41,7 +41,7 @@
|
||||
|
||||
<AvatarList :users="card.assignedUsers" />
|
||||
|
||||
<CardMenu :card="card" />
|
||||
<CardMenu class="card-menu" :card="card" />
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
@@ -150,4 +150,15 @@ export default {
|
||||
.fade-enter, .fade-leave-to {
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
@media print {
|
||||
.badges {
|
||||
align-items: flex-start;
|
||||
max-height: none !important;
|
||||
}
|
||||
|
||||
.card-menu {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -35,7 +35,14 @@
|
||||
{{ board.title }} » {{ stack.title }}
|
||||
</div>
|
||||
<div class="card-upper">
|
||||
<h3 v-if="compactMode || isArchived || showArchived || !canEdit || standalone">
|
||||
<div v-if="currentBoard.coverImages && images.length" class="imageCover">
|
||||
<div class="imageCard" :style="mimetypeForAttachment(images[0])">
|
||||
<div v-if="loading" class="emptycontent">
|
||||
<div class="icon icon-loading" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<h3 v-if="compactMode || isArchived || showArchived || !canEdit">
|
||||
{{ card.title }}
|
||||
</h3>
|
||||
<h3 v-else-if="!editing">
|
||||
@@ -85,6 +92,7 @@ import labelStyle from '../../mixins/labelStyle'
|
||||
import AttachmentDragAndDrop from '../AttachmentDragAndDrop'
|
||||
import CardMenu from './CardMenu'
|
||||
import DueDate from './badges/DueDate'
|
||||
import { generateUrl } from '@nextcloud/router'
|
||||
|
||||
export default {
|
||||
name: 'CardItem',
|
||||
@@ -111,8 +119,13 @@ export default {
|
||||
return {
|
||||
editing: false,
|
||||
copiedCard: null,
|
||||
images: null,
|
||||
loading: false,
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
this.loadImages()
|
||||
},
|
||||
computed: {
|
||||
...mapState({
|
||||
compactMode: state => state.compactMode,
|
||||
@@ -121,6 +134,7 @@ export default {
|
||||
}),
|
||||
...mapGetters([
|
||||
'isArchived',
|
||||
|
||||
]),
|
||||
board() {
|
||||
return this.$store.getters.boardById(this?.stack?.boardId)
|
||||
@@ -144,6 +158,21 @@ export default {
|
||||
labelsSorted() {
|
||||
return [...this.card.labels].sort((a, b) => (a.title < b.title) ? -1 : 1)
|
||||
},
|
||||
mimetypeForAttachment() {
|
||||
return (attachment) => {
|
||||
if (!attachment) {
|
||||
return {}
|
||||
}
|
||||
const url = attachment.extendedData.hasPreview ? this.attachmentPreview(attachment) : OC.MimeType.getIconUrl(attachment.extendedData.mimetype)
|
||||
const styles = {
|
||||
'background-image': `url("${url}")`,
|
||||
}
|
||||
return styles
|
||||
}
|
||||
},
|
||||
attachmentPreview() {
|
||||
return (attachment) => (attachment.extendedData.fileid ? generateUrl(`/core/preview?fileId=${attachment.extendedData.fileid}&x=260&y=260&a=true`) : null)
|
||||
},
|
||||
},
|
||||
watch: {
|
||||
currentCard(newValue) {
|
||||
@@ -173,6 +202,12 @@ export default {
|
||||
applyLabelFilter(label) {
|
||||
this.$nextTick(() => this.$store.dispatch('toggleFilter', { tags: [label.id] }))
|
||||
},
|
||||
async loadImages() {
|
||||
this.loading = true
|
||||
await this.$store.dispatch('fetchAttachments', this.id)
|
||||
this.loading = false
|
||||
this.images = [...this.$store.getters.attachmentsByCard(this.id)].filter(attachment => attachment.deletedAt >= 0).sort((a, b) => b.id - a.id)
|
||||
},
|
||||
},
|
||||
}
|
||||
</script>
|
||||
@@ -203,7 +238,12 @@ export default {
|
||||
&.current-card {
|
||||
box-shadow: 0 0 5px 1px var(--color-box-shadow);
|
||||
}
|
||||
|
||||
.imageCard {
|
||||
width: 272px;
|
||||
height: 250px;
|
||||
background-size: cover;
|
||||
border-radius: var(--border-radius-large) var(--border-radius-large) 0 0 ;
|
||||
}
|
||||
.card-upper {
|
||||
display: flex;
|
||||
min-height: 44px;
|
||||
|
||||
@@ -58,7 +58,7 @@
|
||||
<h3>{{ t('deck', 'Move card to another board') }}</h3>
|
||||
<Multiselect v-model="selectedBoard"
|
||||
:placeholder="t('deck', 'Select a board')"
|
||||
:options="activeBoards"
|
||||
:options="boards"
|
||||
:max-height="100"
|
||||
label="title"
|
||||
@select="loadStacksFromBoard" />
|
||||
@@ -129,9 +129,6 @@ export default {
|
||||
isCurrentUserAssigned() {
|
||||
return this.card.assignedUsers.find((item) => item.type === 0 && item.participant.uid === getCurrentUser()?.uid)
|
||||
},
|
||||
activeBoards() {
|
||||
return this.$store.getters.boards.filter((item) => item.deletedAt === 0 && item.archived === false)
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
openCard() {
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
<template>
|
||||
<div v-if="card" class="duedate">
|
||||
<transition name="zoom">
|
||||
<div v-if="card.duedate" :class="dueIcon">
|
||||
<div v-if="card.duedate" :class="dueIcon" :title="absoluteDate">
|
||||
<span>{{ relativeDate }}</span>
|
||||
</div>
|
||||
</transition>
|
||||
@@ -62,14 +62,14 @@ export default {
|
||||
}
|
||||
return moment(this.card.duedate).fromNow()
|
||||
},
|
||||
dueDateTooltip() {
|
||||
return moment(this.card.duedate).format('LLLL')
|
||||
absoluteDate() {
|
||||
return moment(this.card.duedate).format('L')
|
||||
},
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" coped>
|
||||
<style lang="scss" scoped>
|
||||
.icon.due {
|
||||
background-position: 4px center;
|
||||
border-radius: 3px;
|
||||
@@ -105,6 +105,7 @@ export default {
|
||||
padding: 3px 4px;
|
||||
}
|
||||
|
||||
&::before,
|
||||
span {
|
||||
margin-left: 20px;
|
||||
white-space: nowrap;
|
||||
@@ -112,4 +113,18 @@ export default {
|
||||
overflow: hidden;
|
||||
}
|
||||
}
|
||||
|
||||
@media print {
|
||||
.icon.due {
|
||||
background-color: transparent !important;
|
||||
|
||||
span {
|
||||
display: none;
|
||||
}
|
||||
|
||||
&::before {
|
||||
content: attr(title);
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -39,6 +39,9 @@
|
||||
<script>
|
||||
import { ColorPicker, ActionButton, Actions, AppNavigationItem } from '@nextcloud/vue'
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
function randomColor() {
|
||||
let randomHexColor = ((1 << 24) * Math.random() | 0).toString(16)
|
||||
while (randomHexColor.length < 6) {
|
||||
|
||||
@@ -32,7 +32,6 @@
|
||||
slot="counter"
|
||||
class="icon-shared"
|
||||
style="opacity: 0.5" />
|
||||
|
||||
<template v-if="!deleted" slot="actions">
|
||||
<template v-if="!isDueSubmenuActive">
|
||||
<ActionButton
|
||||
@@ -111,7 +110,11 @@
|
||||
@click="isDueSubmenuActive=true">
|
||||
{{ dueDateReminderText }}
|
||||
</ActionButton>
|
||||
|
||||
<ActionCheckbox v-if="canManage"
|
||||
:checked="board.coverImages"
|
||||
@change="actionToggleCoverImages">
|
||||
{{ t('deck', 'Show cover images') }}
|
||||
</ActionCheckbox>
|
||||
<ActionButton v-if="canManage && !isDueSubmenuActive"
|
||||
icon="icon-delete"
|
||||
:close-after-click="true"
|
||||
@@ -125,7 +128,10 @@
|
||||
<div :style="{ backgroundColor: getColor }" class="color0 icon-colorpicker app-navigation-entry-bullet" />
|
||||
</ColorPicker>
|
||||
<form @submit.prevent.stop="applyEdit">
|
||||
<input v-model="editTitle" type="text" required>
|
||||
<input v-model="editTitle"
|
||||
v-focus
|
||||
type="text"
|
||||
required>
|
||||
<input type="submit" value="" class="icon-confirm">
|
||||
<Actions><ActionButton icon="icon-close" @click.stop.prevent="cancelEdit" /></Actions>
|
||||
</form>
|
||||
@@ -133,7 +139,7 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { AppNavigationIconBullet, AppNavigationCounter, AppNavigationItem, ColorPicker, Actions, ActionButton } from '@nextcloud/vue'
|
||||
import { AppNavigationIconBullet, AppNavigationCounter, AppNavigationItem, ColorPicker, Actions, ActionButton, ActionCheckbox } from '@nextcloud/vue'
|
||||
import ClickOutside from 'vue-click-outside'
|
||||
|
||||
export default {
|
||||
@@ -145,6 +151,7 @@ export default {
|
||||
ColorPicker,
|
||||
Actions,
|
||||
ActionButton,
|
||||
ActionCheckbox,
|
||||
},
|
||||
directives: {
|
||||
ClickOutside,
|
||||
@@ -305,6 +312,9 @@ export default {
|
||||
this.isDueSubmenuActive = false
|
||||
this.updateDueSetting = null
|
||||
},
|
||||
actionToggleCoverImages() {
|
||||
this.$store.dispatch('toggleCoverImages', this.board)
|
||||
},
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
||||
@@ -63,10 +63,15 @@ import { Actions, ActionButton } from '@nextcloud/vue'
|
||||
|
||||
const createCancelToken = () => axios.CancelToken.source()
|
||||
|
||||
/**
|
||||
* @param root0
|
||||
* @param root0.query
|
||||
* @param root0.cursor
|
||||
*/
|
||||
function search({ query, cursor }) {
|
||||
const cancelToken = createCancelToken()
|
||||
|
||||
const request = async() => axios.get(generateOcsUrl('apps/deck/api/v1.0/search'), {
|
||||
const request = async () => axios.get(generateOcsUrl('apps/deck/api/v1.0/search'), {
|
||||
cancelToken: cancelToken.token,
|
||||
params: {
|
||||
term: query,
|
||||
|
||||
@@ -21,6 +21,11 @@ ul {
|
||||
|
||||
ul {
|
||||
list-style-type: disc;
|
||||
|
||||
.task-list-item {
|
||||
margin-left: -20px;
|
||||
list-style-type: none;
|
||||
}
|
||||
}
|
||||
|
||||
h1 {
|
||||
@@ -67,7 +72,7 @@ img {
|
||||
}
|
||||
|
||||
input[type=checkbox] {
|
||||
margin: 0px 10px 0px 0px;
|
||||
margin: 0px 3px 0px 0px;
|
||||
line-height: 10px;
|
||||
font-size: 10px;
|
||||
display: inline-block;
|
||||
|
||||
@@ -25,9 +25,8 @@ const buildSelector = (selector, propsData = {}) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
const container = document.createElement('div')
|
||||
document.getElementById('body-user').append(container)
|
||||
const View = Vue.extend(selector)
|
||||
const ComponentVM = new View({
|
||||
propsData,
|
||||
const ComponentVM = new Vue({
|
||||
render: (h) => h(selector, propsData),
|
||||
}).$mount(container)
|
||||
ComponentVM.$root.$on('close', () => {
|
||||
ComponentVM.$el.remove()
|
||||
|
||||
@@ -22,8 +22,6 @@
|
||||
|
||||
import Vue from 'vue'
|
||||
|
||||
import BoardSelector from './BoardSelector'
|
||||
import CardSelector from './CardSelector'
|
||||
import './../css/collections.css'
|
||||
import FileSharingPicker from './views/FileSharingPicker'
|
||||
import { buildSelector } from './helpers/selector'
|
||||
@@ -45,13 +43,19 @@ window.addEventListener('DOMContentLoaded', () => {
|
||||
}
|
||||
|
||||
window.OCP.Collaboration.registerType('deck', {
|
||||
action: () => buildSelector(BoardSelector),
|
||||
action: () => {
|
||||
const BoardSelector = () => import('./BoardSelector')
|
||||
buildSelector(BoardSelector)
|
||||
},
|
||||
typeString: t('deck', 'Link to a board'),
|
||||
typeIconClass: 'icon-deck',
|
||||
})
|
||||
|
||||
window.OCP.Collaboration.registerType('deck-card', {
|
||||
action: () => buildSelector(CardSelector),
|
||||
action: () => {
|
||||
const CardSelector = () => import('./CardSelector')
|
||||
buildSelector(CardSelector)
|
||||
},
|
||||
typeString: t('deck', 'Link to a card'),
|
||||
typeIconClass: 'icon-deck',
|
||||
})
|
||||
|
||||
@@ -109,7 +109,7 @@ if (!window.OCA.Deck) {
|
||||
}
|
||||
|
||||
/**
|
||||
* @typedef {Object} CardRichObject
|
||||
* @typedef {object} CardRichObject
|
||||
* @property {string} id
|
||||
* @property {string} name
|
||||
* @property {string} boardname
|
||||
@@ -124,13 +124,14 @@ if (!window.OCA.Deck) {
|
||||
|
||||
/**
|
||||
* Frontend message API for adding actions to talk messages.
|
||||
*
|
||||
* @param {*} Object the wrapping object.
|
||||
* @param {String} label the action label.
|
||||
* @param {string} label the action label.
|
||||
* @param {registerActionCallback} callback the callback function. This function will receive
|
||||
* the card as a parameter and be triggered by a click on the
|
||||
* action. The card parameter will be of the format of a rich object string
|
||||
* type "deck-card"
|
||||
* @param {String} icon the action label. E.g. "icon-reply"
|
||||
* @param {string} icon the action label. E.g. "icon-reply"
|
||||
*/
|
||||
window.OCA.Deck.registerCardAction = ({ label, callback, icon }) => {
|
||||
const cardAction = {
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user