Compare commits

..

22 Commits

Author SHA1 Message Date
Julius Härtl
e6cff5bbb6 Bump version to 1.5.1
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2021-09-03 15:03:27 +02:00
Nextcloud bot
86ed24744c [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-08-31 02:37:47 +00:00
Julius Härtl
01ed3625dc Merge pull request #3264 from nextcloud/backport/3263/stable22
[stable22] Defer obtaining the user session in the config service
2021-08-20 19:07:13 +02:00
Julius Härtl
cc9dea1f2b Defer obtaining the user session in the config service which might be injected before login has hapened
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2021-08-20 16:02:48 +00:00
Nextcloud bot
b16ade905c [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-08-18 02:37:01 +00:00
Nextcloud bot
ee1bba7d99 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-08-10 02:44:35 +00:00
Nextcloud bot
3407097e95 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-08-06 02:38:51 +00:00
Julius Härtl
47ac3e6082 Merge pull request #3231 from nextcloud/backport/3225/stable22
[stable22] Check for null value to avoid TypeError in the group manager
2021-08-05 09:04:16 +02:00
Julius Härtl
75110bed47 Check for null value to avoid TypeError in the group manager
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2021-08-04 16:41:31 +00:00
Julius Härtl
74f0106718 Merge pull request #3224 from nextcloud/backport/3217/stable22
[stable22] Move circle checks to a unified service and improve member checks
2021-08-03 11:41:03 +02:00
Julius Härtl
958d50d9b7 Move circle checks to a unified service and improve member checks
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2021-08-03 07:43:30 +00:00
Julius Härtl
5f4aa017b6 Pin mariadb to 10.5 for tests
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2021-08-03 09:42:43 +02:00
Nextcloud bot
92c2a58f50 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-08-01 02:12:52 +00:00
Nextcloud bot
75bf0dffe6 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-07-15 10:52:50 +00:00
Julius Härtl
45a10f0840 Bump version to 1.5.0
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2021-07-09 11:55:34 +02:00
Julius Härtl
fbf3b1cd19 Merge pull request #3168 from nextcloud/backport/3161/stable22
[stable22] Reduce duplicate queries when fetching user boards an permissions
2021-07-06 07:54:35 +02:00
Julius Härtl
0cc4151929 Reduce duplicate queries when fetching user boards an permissions
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2021-07-05 18:27:49 +00:00
Julius Härtl
e261ade1bb Merge pull request #3165 from nextcloud/backport/3151/stable22
[stable22] Always log generic exceptions
2021-07-05 16:21:15 +02:00
Julius Härtl
5d7e54d419 Always log generic exceptions
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2021-07-02 15:55:44 +00:00
Julius Härtl
3499858295 Merge remote-tracking branch 'origin/master' into stable22 2021-06-25 15:39:38 +02:00
Julius Härtl
1615e218bd Merge pull request #3148 from nextcloud/update-stable22-target-versions
Update stable22 target versions
2021-06-25 09:07:38 +02:00
Joas Schilling
9a3b859780 Update stable22 target versions
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-06-24 14:07:30 +02:00
477 changed files with 39184 additions and 52716 deletions

View File

@@ -3,10 +3,7 @@ root = true
[*]
charset = utf-8
end_of_line = lf
indent_size = tab
indent_style = tab
insert_final_newline = true
trim_trailing_whitespace = true
[*.{js,vue}]
indent_style = tab

View File

@@ -1,14 +1,8 @@
module.exports = {
root: true,
extends: [
'@nextcloud',
],
rules: {
'jsdoc/require-param-description': ['off'],
'jsdoc/require-param-type': ['off'],
'jsdoc/check-param-names': ['off'],
'jsdoc/no-undefined-types': ['off'],
'jsdoc/require-property-description': ['off'],
'import/no-named-as-default-member': ['off'],
'valid-jsdoc': ['off'],
},
}

View File

@@ -2,7 +2,7 @@ version: 2
updates:
- package-ecosystem: npm
directory: "/"
target-branch: "main"
target-branch: "master"
schedule:
interval: weekly
day: saturday
@@ -11,41 +11,19 @@ updates:
open-pull-requests-limit: 10
reviewers:
- juliushaertl
- package-ecosystem: npm
target-branch: stable25
versioning-strategy: lockfile-only
directory: "/"
schedule:
interval: weekly
day: saturday
time: "03:00"
timezone: Europe/Paris
ignore:
- dependency-name: "*"
update-types: ["version-update:semver-major"]
open-pull-requests-limit: 30
labels:
- 3. to review
- dependencies
- package-ecosystem: npm
target-branch: stable24
versioning-strategy: lockfile-only
directory: "/"
schedule:
interval: weekly
day: saturday
time: "03:00"
timezone: Europe/Paris
ignore:
- dependency-name: "*"
update-types: ["version-update:semver-major"]
open-pull-requests-limit: 30
labels:
- 3. to review
- dependencies
- jakobroehrl
#- package-ecosystem: npm
# directory: "/"
# target-branch: "stable1.1"
# schedule:
# interval: weekly
# day: saturday
# time: "03:00"
# timezone: Europe/Paris
# open-pull-requests-limit: 10
# reviewers:
# - juliushaertl
# - jakobroehrl
- package-ecosystem: composer
directory: "/"
schedule:
@@ -56,23 +34,8 @@ updates:
open-pull-requests-limit: 10
reviewers:
- juliushaertl
- package-ecosystem: composer
directory: "/tests/integration"
schedule:
interval: weekly
day: saturday
time: "03:00"
timezone: Europe/Paris
open-pull-requests-limit: 10
reviewers:
- juliushaertl
- package-ecosystem: github-actions
directory: "/"
schedule:
interval: weekly
day: saturday
time: "03:00"
timezone: Europe/Paris
open-pull-requests-limit: 10
reviewers:
- juliushaertl
ignore:
- dependency-name: christophwurst/nextcloud
versions:
- "< 16"
- ">= 15.a"

View File

@@ -1,6 +1,6 @@
* Resolves: # <!-- related github issue -->
* Target version: main
* Target version: master
### Summary

25
.github/stale.yml vendored Normal file
View File

@@ -0,0 +1,25 @@
# Number of days of inactivity before an issue becomes stale
daysUntilStale: 60
# Number of days of inactivity before a stale issue is closed
daysUntilClose: 7
# Issues with these labels will never be considered stale
exemptLabels:
- "1. to develop"
- "2. developing"
- "3. to review"
- "discussion"
- "bounty"
- "bug"
- "enhancement"
# Limit the number of actions per hour, from 1-30. Default is 30
limitPerRun: 30
# Label to use when marking an issue as stale
staleLabel: stale
# Comment to post when marking an issue as stale. Set to `false` to disable
markComment: >
This issue has been automatically marked as stale because it has not had
recent activity. It will be closed if no further activity occurs. Thank you
for your contributions.

View File

@@ -1,43 +1,39 @@
name: Package build
on:
push:
branches:
- main
- master
- stable*
pull_request:
jobs:
build:
runs-on: ubuntu-latest
runs-on: ubuntu-18.04
strategy:
matrix:
node-version: [14.x]
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v1
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v3
uses: actions/setup-node@v1
with:
node-version: ${{ matrix.node-version }}
- name: Set up npm7
run: npm i -g npm@7
- name: Setup PHP
uses: shivammathur/setup-php@2.24.0
uses: shivammathur/setup-php@v1
with:
php-version: '7.4'
tools: composer
- name: install dependencies
run: |
wget https://github.com/ChristophWurst/krankerl/releases/download/v0.14.0/krankerl_0.14.0_amd64.deb
sudo dpkg -i krankerl_0.14.0_amd64.deb
wget https://github.com/ChristophWurst/krankerl/releases/download/v0.12.2/krankerl_0.12.2_amd64.deb
sudo dpkg -i krankerl_0.12.2_amd64.deb
- name: package
run: |
uname -a
RUST_BACKTRACE=1 krankerl --version
RUST_BACKTRACE=1 krankerl package
- uses: actions/upload-artifact@v3
- uses: actions/upload-artifact@v2
with:
name: Deck app tarball
path: build/artifacts/deck.tar.gz

View File

@@ -1,166 +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: 8.1
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@e591dbfe838300c007028e1219ca82cc26e8d7c5 # v2.1
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@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3
with:
path: ${{ env.APP_NAME }}
- name: Get appinfo data
id: appinfo
uses: skjnldsv/xpath-action@7e6a7c379d0e9abc8acaef43df403ab4fc4f770c # 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@1bdcee71fa343c46b18dc6aceffb4cd1e35209c6 # v1.2
id: versions
# Continue if no package.json
continue-on-error: true
with:
path: ${{ env.APP_NAME }}
fallbackNode: "^16"
fallbackNpm: "^7"
- name: Set up node ${{ steps.versions.outputs.nodeVersion }}
# Skip if no package.json
if: ${{ steps.versions.outputs.nodeVersion }}
uses: actions/setup-node@8c91899e586c5b171469028077307d293428b516 # 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@2.24.0 # v2
with:
php-version: ${{ env.PHP_VERSION }}
coverage: none
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Check composer.json
id: check_composer
uses: andstor/file-existence-action@20b4d2e596410855db8f9ca21e96fbe18e12930b # v2
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: Check Krankerl config
id: krankerl
uses: andstor/file-existence-action@20b4d2e596410855db8f9ca21e96fbe18e12930b # v2
with:
files: ${{ env.APP_NAME }}/krankerl.toml
- name: Install Krankerl
if: steps.krankerl.outputs.files_exists == 'true'
run: |
wget https://github.com/ChristophWurst/krankerl/releases/download/v0.14.0/krankerl_0.14.0_amd64.deb
sudo dpkg -i krankerl_0.14.0_amd64.deb
- name: Package ${{ env.APP_NAME }} ${{ env.APP_VERSION }} with krankerl
if: steps.krankerl.outputs.files_exists == 'true'
run: |
cd ${{ env.APP_NAME }}
krankerl package
- name: Package ${{ env.APP_NAME }} ${{ env.APP_VERSION }} with makefile
if: steps.krankerl.outputs.files_exists != 'true'
run: |
cd ${{ env.APP_NAME }}
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@ac593985615ec2ede58e132d2e21d2b1cbd6127c # 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@2728235f7dc9ff598bd86ce3c274b74f802d2208 # 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@a011fe619bcf6e77ddebc96f9908e1af4071b9c1 # 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 }}

View File

@@ -1,51 +0,0 @@
# This workflow is provided via the organization template repository
#
# https://github.com/nextcloud/.github
# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization
name: Rebase command
on:
issue_comment:
types: created
permissions:
contents: read
jobs:
rebase:
runs-on: ubuntu-latest
permissions:
contents: none
# On pull requests and if the comment starts with `/rebase`
if: github.event.issue.pull_request != '' && startsWith(github.event.comment.body, '/rebase')
steps:
- name: Add reaction on start
uses: peter-evans/create-or-update-comment@5adcb0bb0f9fb3f95ef05400558bdb3f329ee808 # v2.1.0
with:
token: ${{ secrets.COMMAND_BOT_PAT }}
repository: ${{ github.event.repository.full_name }}
comment-id: ${{ github.event.comment.id }}
reaction-type: "+1"
- name: Checkout the latest code
uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3
with:
fetch-depth: 0
token: ${{ secrets.COMMAND_BOT_PAT }}
- name: Automatic Rebase
uses: cirrus-actions/rebase@6e572f08c244e2f04f9beb85a943eb618218714d # 1.7
env:
GITHUB_TOKEN: ${{ secrets.COMMAND_BOT_PAT }}
- name: Add reaction on failure
uses: peter-evans/create-or-update-comment@5adcb0bb0f9fb3f95ef05400558bdb3f329ee808 # v2.1.0
if: failure()
with:
token: ${{ secrets.COMMAND_BOT_PAT }}
repository: ${{ github.event.repository.full_name }}
comment-id: ${{ github.event.comment.id }}
reaction-type: "-1"

View File

@@ -1,112 +0,0 @@
name: Cypress
on:
pull_request:
push:
branches:
- main
- stable*
env:
APP_NAME: deck
CYPRESS_baseUrl: http://localhost:8081/index.php
jobs:
cypress:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
node-version: [14.x]
# containers: [1, 2, 3]
php-versions: [ '8.0' ]
databases: [ 'sqlite' ]
server-versions: [ 'master' ]
steps:
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node-version }}
- name: Set up npm7
run: npm i -g npm@7
- name: Checkout server
uses: actions/checkout@v3
with:
repository: nextcloud/server
ref: ${{ matrix.server-versions }}
- name: Checkout submodules
shell: bash
run: |
auth_header="$(git config --local --get http.https://github.com/.extraheader)"
git submodule sync --recursive
git -c "http.extraheader=$auth_header" -c protocol.version=2 submodule update --init --force --recursive --depth=1
- name: Checkout ${{ env.APP_NAME }}
uses: actions/checkout@v3
with:
path: apps/${{ env.APP_NAME }}
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@2.24.0
with:
php-version: ${{ matrix.php-versions }}
extensions: mbstring, iconv, fileinfo, intl, sqlite, pdo_sqlite, zip, gd, apcu
ini-values:
apc.enable_cli=on
coverage: none
- name: Set up Nextcloud
env:
DB_PORT: 4444
PHP_CLI_SERVER_WORKERS: 10
run: |
mkdir data
php occ maintenance:install --verbose --database=${{ matrix.databases }} --database-name=nextcloud --database-host=127.0.0.1 --database-port=$DB_PORT --database-user=root --database-pass=rootpassword --admin-user admin --admin-pass admin
php occ config:system:set memcache.local --value="\\OC\\Memcache\\APCu"
php occ config:system:set debug --value=true --type=boolean
php -f index.php
php -S 0.0.0.0:8081 &
export OC_PASS=1234561
php occ user:add --password-from-env user1
php occ user:add --password-from-env user2
php occ app:enable deck
php occ app:list
cd apps/deck
composer install --no-dev
npm ci
npm run build
cd ../../
curl -v http://localhost:8081/index.php/login
- name: Cypress run
uses: cypress-io/github-action@v5
with:
record: true
parallel: false
wait-on: '${{ env.CYPRESS_baseUrl }}'
working-directory: 'apps/${{ env.APP_NAME }}'
config: defaultCommandTimeout=10000,video=false
env:
CYPRESS_RECORD_KEY: ${{ secrets.CYPRESS_RECORD_KEY }}
npm_package_name: ${{ env.APP_NAME }}
- name: Upload test failure screenshots
uses: actions/upload-artifact@v3
if: failure()
with:
name: Upload screenshots
path: apps/${{ env.APP_NAME }}/cypress/screenshots/
retention-days: 5
- name: Upload nextcloud logs
uses: actions/upload-artifact@v3
if: failure()
with:
name: Upload nextcloud log
path: data/nextcloud.log
retention-days: 5

View File

@@ -1,40 +0,0 @@
# This workflow is provided via the organization template repository
#
# https://github.com/nextcloud/.github
# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization
name: Dependabot
on:
pull_request_target:
branches:
- main
- master
- stable*
permissions:
contents: read
concurrency:
group: dependabot-approve-merge-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
auto-approve-merge:
if: github.actor == 'dependabot[bot]'
runs-on: ubuntu-latest
permissions:
# for hmarr/auto-approve-action to approve PRs
pull-requests: write
steps:
# Github actions bot approve
- uses: hmarr/auto-approve-action@b40d6c9ed2fa10c9a2749eca7eb004418a705501 # v2
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
# Nextcloud bot approve and merge request
- uses: ahmadnassri/action-dependabot-auto-merge@45fc124d949b19b6b8bf6645b6c9d55f4f9ac61a # v2
with:
target: minor
github-token: ${{ secrets.DEPENDABOT_AUTOMERGE_TOKEN }}

View File

@@ -1,33 +0,0 @@
# This workflow is provided via the organization template repository
#
# https://github.com/nextcloud/.github
# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization
name: Pull request checks
on:
pull_request:
types: [opened, ready_for_review, reopened, synchronize]
permissions:
contents: read
concurrency:
group: fixup-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
commit-message-check:
if: github.event.pull_request.draft == false
permissions:
pull-requests: write
name: Block fixup and squash commits
runs-on: ubuntu-latest
steps:
- name: Run check
uses: xt0rted/block-autosquash-commits-action@79880c36b4811fe549cfffe20233df88876024e7 # v2
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}

View File

@@ -2,17 +2,8 @@ name: Integration tests
on:
pull_request:
paths:
- '.github/workflows/integration.yml'
- 'appinfo/**'
- 'lib/**'
- 'templates/**'
- 'tests/**'
- 'composer.json'
- 'composer.lock'
push:
branches:
- main
- master
- stable*
@@ -26,15 +17,15 @@ jobs:
strategy:
fail-fast: false
matrix:
php-versions: ['8.1']
php-versions: ['7.4']
databases: ['sqlite', 'mysql', 'pgsql']
server-versions: ['master']
server-versions: ['stable22']
name: php${{ matrix.php-versions }}-${{ matrix.databases }}-${{ matrix.server-versions }}
services:
postgres:
image: postgres:14
image: postgres
ports:
- 4445:5432/tcp
env:
@@ -52,7 +43,7 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@v3
uses: actions/checkout@v2
with:
repository: nextcloud/server
ref: ${{ matrix.server-versions }}
@@ -63,15 +54,14 @@ jobs:
auth_header="$(git config --local --get http.https://github.com/.extraheader)"
git submodule sync --recursive
git -c "http.extraheader=$auth_header" -c protocol.version=2 submodule update --init --force --recursive --depth=1
cd build/integration && composer require --dev phpunit/phpunit:~9
- name: Checkout app
uses: actions/checkout@v3
uses: actions/checkout@v2
with:
path: apps/${{ env.APP_NAME }}
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@2.24.0
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php-versions }}
tools: phpunit
@@ -80,7 +70,7 @@ jobs:
- name: Set up PHPUnit
working-directory: apps/${{ env.APP_NAME }}
run: composer i --no-dev
run: composer i
- name: Set up Nextcloud
run: |
@@ -99,7 +89,3 @@ jobs:
- name: Run behat
working-directory: apps/${{ env.APP_NAME }}/tests/integration
run: ./run.sh
- name: Dump Nextcloud log
if: failure()
run: cat data/nextcloud.log

View File

@@ -1,62 +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
#
# Use lint-eslint together with lint-eslint-when-unrelated to make eslint a required check for GitHub actions
# https://docs.github.com/en/repositories/configuring-branches-and-merges-in-your-repository/defining-the-mergeability-of-pull-requests/troubleshooting-required-status-checks#handling-skipped-but-required-checks
name: Lint
on:
pull_request:
paths:
- '.github/workflows/**'
- 'src/**'
- 'appinfo/info.xml'
- 'package.json'
- 'package-lock.json'
- 'tsconfig.json'
- '.eslintrc.*'
- '.eslintignore'
- '**.js'
- '**.ts'
- '**.vue'
permissions:
contents: read
concurrency:
group: lint-eslint-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
lint:
runs-on: ubuntu-latest
name: eslint
steps:
- name: Checkout
uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3
- name: Read package.json node and npm engines version
uses: skjnldsv/read-package-engines-version-actions@1bdcee71fa343c46b18dc6aceffb4cd1e35209c6 # v1.2
id: versions
with:
fallbackNode: '^16'
fallbackNpm: '^7'
- name: Set up node ${{ steps.versions.outputs.nodeVersion }}
uses: actions/setup-node@8c91899e586c5b171469028077307d293428b516 # v3
with:
node-version: ${{ steps.versions.outputs.nodeVersion }}
- name: Set up npm ${{ steps.versions.outputs.npmVersion }}
run: npm i -g npm@"${{ steps.versions.outputs.npmVersion }}"
- name: Install dependencies
run: npm ci
- name: Lint
run: npm run lint

View File

@@ -1,39 +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: Lint
on: pull_request
permissions:
contents: read
concurrency:
group: lint-php-cs-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
lint:
runs-on: ubuntu-latest
name: php-cs
steps:
- name: Checkout
uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3
- name: Set up php
uses: shivammathur/setup-php@2.24.0 # v2
with:
php-version: 8.1
coverage: none
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Install dependencies
run: composer i
- name: Lint
run: composer run cs:check || ( echo 'Please run `composer run cs:fix` to format your code' && exit 1 )

View File

@@ -1,59 +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: Lint
on:
pull_request:
push:
branches:
- main
- master
- stable*
permissions:
contents: read
concurrency:
group: lint-php-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
php-lint:
runs-on: ubuntu-latest
strategy:
matrix:
php-versions: [ "8.0", "8.1", "8.2" ]
name: php-lint
steps:
- name: Checkout
uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@2.24.0 # v2
with:
php-version: ${{ matrix.php-versions }}
coverage: none
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Lint
run: composer run lint
summary:
permissions:
contents: none
runs-on: ubuntu-latest
needs: php-lint
if: always()
name: php-lint-summary
steps:
- name: Summary status
run: if ${{ needs.php-lint.result != 'success' && needs.php-lint.result != 'skipped' }}; then exit 1; fi

View File

@@ -1,46 +0,0 @@
# This workflow is provided via the organization template repository
#
# https://github.com/nextcloud/.github
# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization
name: Lint
on: pull_request
permissions:
contents: read
concurrency:
group: lint-stylelint-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
lint:
runs-on: ubuntu-latest
name: stylelint
steps:
- name: Checkout
uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3
- name: Read package.json node and npm engines version
uses: skjnldsv/read-package-engines-version-actions@1bdcee71fa343c46b18dc6aceffb4cd1e35209c6 # v1.2
id: versions
with:
fallbackNode: '^16'
fallbackNpm: '^7'
- name: Set up node ${{ steps.versions.outputs.nodeVersion }}
uses: actions/setup-node@8c91899e586c5b171469028077307d293428b516 # v3
with:
node-version: ${{ steps.versions.outputs.nodeVersion }}
- name: Set up npm ${{ steps.versions.outputs.npmVersion }}
run: npm i -g npm@"${{ steps.versions.outputs.npmVersion }}"
- name: Install dependencies
run: npm ci
- name: Lint
run: npm run stylelint

88
.github/workflows/lint.yml vendored Normal file
View File

@@ -0,0 +1,88 @@
name: Lint
on:
pull_request:
push:
branches:
- master
- stable*
jobs:
php:
runs-on: ubuntu-latest
strategy:
matrix:
php-versions: ['7.2', '7.3', '7.4']
name: php${{ matrix.php-versions }} lint
steps:
- uses: actions/checkout@v2
- name: Set up php${{ matrix.php-versions }}
uses: shivammathur/setup-php@v1
with:
php-version: ${{ matrix.php-versions }}
coverage: none
- name: Lint
run: composer run lint
php-cs-fixer:
name: php-cs check
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@master
- name: Set up php
uses: shivammathur/setup-php@master
with:
php-version: 7.4
coverage: none
- name: Install dependencies
run: composer i
- name: Run coding standards check
run: composer run cs:check
node:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [14.x]
steps:
- uses: actions/checkout@v2
- name: Use node ${{ matrix.node-version }}
uses: actions/setup-node@v1
with:
node-version: ${{ matrix.node-version }}
- name: Set up npm7
run: npm i -g npm@7
- name: Install dependencies
run: npm ci
- name: ESLint
run: npm run lint
stylelint:
runs-on: ubuntu-latest
strategy:
matrix:
node-versions: [14.x]
name: stylelint node${{ matrix.node-versions }}
steps:
- uses: actions/checkout@v2
- name: Set up node ${{ matrix.node-versions }}
uses: actions/setup-node@v1
with:
node-versions: ${{ matrix.node-versions }}
- name: Set up npm7
run: npm i -g npm@7
- name: Install dependencies
run: npm ci
- name: Lint
run: npm run stylelint

View File

@@ -17,15 +17,15 @@ jobs:
node-version: [14.x]
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v1
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v3
uses: actions/setup-node@v1
with:
node-version: ${{ matrix.node-version }}
- name: Set up npm7
run: npm i -g npm@7
- name: Setup PHP
uses: shivammathur/setup-php@2.24.0
uses: shivammathur/setup-php@v1
with:
php-version: '7.4'
tools: composer
@@ -44,14 +44,14 @@ jobs:
git config --local user.name "GitHub Action"
git tag -f nightly
- name: Push tag
uses: juliushaertl/github-push-action@main
uses: juliushaertl/github-push-action@master
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
tags: true
force: true
- name: Create Release
id: create_release
uses: juliushaertl/action-release@main
uses: juliushaertl/action-release@master
with:
token: ${{ secrets.GITHUB_TOKEN }}
tag: nightly

View File

@@ -12,9 +12,9 @@ jobs:
node-version: [14.x]
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v1
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v3
uses: actions/setup-node@v1
with:
node-version: ${{ matrix.node-version }}
- name: Set up npm7

View File

@@ -2,14 +2,6 @@ name: PHPUnit
on:
pull_request:
paths:
- '.github/workflows/phpunit.yml'
- 'appinfo/**'
- 'lib/**'
- 'templates/**'
- 'tests/**'
- 'composer.json'
- 'composer.lock'
push:
branches:
- master
@@ -21,20 +13,20 @@ env:
jobs:
integration:
runs-on: ubuntu-latest
runs-on: ubuntu-18.04
strategy:
fail-fast: false
matrix:
php-versions: ['8.0', '8.1']
php-versions: ['7.3', '7.4']
databases: ['sqlite', 'mysql', 'pgsql']
server-versions: ['master']
server-versions: ['stable22']
name: php${{ matrix.php-versions }}-${{ matrix.databases }}-${{ matrix.server-versions }}
services:
postgres:
image: postgres:14
image: postgres
ports:
- 4445:5432/tcp
env:
@@ -52,7 +44,7 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@v3
uses: actions/checkout@v2
with:
repository: nextcloud/server
ref: ${{ matrix.server-versions }}
@@ -65,12 +57,12 @@ jobs:
git -c "http.extraheader=$auth_header" -c protocol.version=2 submodule update --init --force --recursive --depth=1
- name: Checkout app
uses: actions/checkout@v3
uses: actions/checkout@v2
with:
path: apps/${{ env.APP_NAME }}
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@2.24.0
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php-versions }}
tools: phpunit

View File

@@ -1,41 +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: Static analysis
on:
pull_request:
push:
branches:
- master
- main
- stable*
concurrency:
group: psalm-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
static-analysis:
runs-on: ubuntu-latest
name: Nextcloud
steps:
- name: Checkout
uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3
- name: Set up php
uses: shivammathur/setup-php@2.24.0 # v2
with:
php-version: 8.1
coverage: none
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Install dependencies
run: composer i
- name: Run coding standards check
run: composer run psalm

31
.github/workflows/static-analysis.yml vendored Normal file
View File

@@ -0,0 +1,31 @@
name: Static analysis
on:
pull_request:
push:
branches:
- master
- stable*
jobs:
static-psalm-analysis:
runs-on: ubuntu-latest
strategy:
matrix:
ocp-version: [ 'dev-stable22' ]
name: Nextcloud ${{ matrix.ocp-version }}
steps:
- name: Checkout
uses: actions/checkout@master
- name: Set up php
uses: shivammathur/setup-php@master
with:
php-version: 7.4
tools: composer:v1
coverage: none
- name: Install dependencies
run: composer i
- name: Install dependencies
run: composer require --dev christophwurst/nextcloud:${{ matrix.ocp-version }}
- name: Run coding standards check
run: composer run psalm

View File

@@ -1,68 +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: Update nextcloud/ocp
on:
workflow_dispatch:
schedule:
- cron: "5 2 * * 0"
jobs:
update-nextcloud-ocp:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
branches: ["master", "stable25", "stable24"]
name: update-nextcloud-ocp-${{ matrix.branches }}
steps:
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3
with:
ref: ${{ matrix.branches }}
submodules: true
- name: Set up php8.1
uses: shivammathur/setup-php@2.24.0 # v2
with:
php-version: 8.1
extensions: ctype,curl,dom,fileinfo,gd,intl,json,mbstring,openssl,pdo_sqlite,posix,sqlite,xml,zip
coverage: none
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Composer install
run: composer install
- name: Composer update nextcloud/ocp
run: composer require --dev nextcloud/ocp:dev-${{ matrix.branches }}
continue-on-error: true
- name: Reset checkout dirs
run: |
git clean -f 3rdparty
git clean -f vendor
git clean -f vendor-bin
git checkout 3rdparty vendor vendor-bin
continue-on-error: true
- name: Create Pull Request
uses: peter-evans/create-pull-request@2b011faafdcbc9ceb11414d64d0573f37c774b04 # v3
with:
token: ${{ secrets.COMMAND_BOT_PAT }}
commit-message: "chore(dev-deps): Bump nextcloud/ocp package"
committer: GitHub <noreply@github.com>
author: nextcloud-command <nextcloud-command@users.noreply.github.com>
signoff: true
branch: automated/noid/${{ matrix.branches }}-update-nextcloud-ocp
title: "[${{ matrix.branches }}] Update nextcloud/ocp dependency"
body: |
Auto-generated update of [nextcloud/ocp](https://github.com/nextcloud-deps/ocp/) dependency
labels: |
dependencies
3. to review

2
.gitignore vendored
View File

@@ -3,11 +3,9 @@ js/
build/
css/style.css
css/vendor.css
cypress/videos/
tests/integration/vendor/
tests/integration/composer.lock
tests/.phpunit.result.cache
vendor/
.php_cs.cache
\.idea/
settings.json

View File

@@ -1,10 +1,9 @@
[main]
host = https://www.transifex.com
lang_map = hu_HU: hu, nb_NO: nb, sk_SK: sk, th_TH: th, ja_JP: ja, bg_BG: bg, cs_CZ: cs, fi_FI: fi
host = https://www.transifex.com
lang_map = bg_BG: bg, cs_CZ: cs, fi_FI: fi, hu_HU: hu, nb_NO: nb, sk_SK: sk, th_TH: th, ja_JP: ja
[o:nextcloud:p:nextcloud:r:deck]
[nextcloud.deck]
file_filter = translationfiles/<lang>/deck.po
source_file = translationfiles/templates/deck.pot
source_lang = en
type = PO
type = PO

View File

@@ -1,131 +1,48 @@
# Changelog
All notable changes to this project will be documented in this file.
## 1.8.0-beta.1
### Enhancements
- Nextcloud 25 compatibility
- Performance improvements
- Use capped memory cache for board permissions @juliushaertl [#3980](https://github.com/nextcloud/deck/pull/3980)
- Improve CalDAV integration performance @juliushaertl [#3982](https://github.com/nextcloud/deck/pull/3982)
- Simpify query for getting shared files @juliushaertl [#3983](https://github.com/nextcloud/deck/pull/3983)
- Accessibility improvements
- Add a11y label for sidebar button @marcelklehr [#3986](https://github.com/nextcloud/deck/pull/3986)
- Improve filter popover accessibility @juliushaertl [#3820](https://github.com/nextcloud/deck/pull/3820)
- Set ids to skip to content/navigation @juliushaertl [#3924](https://github.com/nextcloud/deck/pull/3924)
- Invert icons properly in dark mode @juliushaertl [#3939](https://github.com/nextcloud/deck/pull/3939)
- Bump dependencies
## 1.5.1 - 2021-09-03
### Fixed
- set last modified when the card was found. Fixes #3763 @ylebre [#3796](https://github.com/nextcloud/deck/pull/3796)
- Increase file count after sharing @luka-nextcloud [#3682](https://github.com/nextcloud/deck/pull/3682)
- Align Duedate-delete icon properly - fixes nextcloud/deck#3791 @Ben-Ro [#3811](https://github.com/nextcloud/deck/pull/3811)
- Fix for issue #3637 @flummer [#3833](https://github.com/nextcloud/deck/pull/3833)
- Switch to 'markdown-it-task-checkbox' for rendering of task lists @q-wertz [#3898](https://github.com/nextcloud/deck/pull/3898)
- Make rename functions accessibly by keyboard navigation @juliushaertl [#3813](https://github.com/nextcloud/deck/pull/3813)
- Prevent opening card and applyLabelFilter on card drag end @eneiluj [#3916](https://github.com/nextcloud/deck/pull/3916)
- Inserted required property in the rename list field, to prevent the l… @mstolf [#3862](https://github.com/nextcloud/deck/pull/3862)
- Fix share provider for master changes @nickvergessen [#3942](https://github.com/nextcloud/deck/pull/3942)
- Fetch attachment folder for the correct user during cron job @juliushaertl [#3952](https://github.com/nextcloud/deck/pull/3952)
- Fix z-index for deck sidebar @Raudius [#3884](https://github.com/nextcloud/deck/pull/3884)
- #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
### Other
- Switch from OC::$server->get to OCP\Server::get @CarlSchwan [#3801](https://github.com/nextcloud/deck/pull/3801)
- Add performance section in README @eneiluj [#3830](https://github.com/nextcloud/deck/pull/3830)
- Fix static analysis by stubbing more circle methods @juliushaertl [#3900](https://github.com/nextcloud/deck/pull/3900)
- fix(docs): fix links to JSON schemas for Trello @wiktor2200 [#3872](https://github.com/nextcloud/deck/pull/3872)
- Move to OCP\Collaboration\Resources\LoadAdditionalScriptsEvent @juliushaertl [#3818](https://github.com/nextcloud/deck/pull/3818)
- Rename settings to deck settings @PVince81 [#3928](https://github.com/nextcloud/deck/pull/3928)
- SCSS cleanup @juliushaertl [#3803](https://github.com/nextcloud/deck/pull/3803)
- Hide deprecated projects in sidebar and card details by default @Pytal [#3984](https://github.com/nextcloud/deck/pull/3984)
## 1.7.0
## 1.5.0 - 2021-07-09
### Added
- Transfer ownership @matchish @luka-nextcloud @juliushaertl [#2496](https://github.com/nextcloud/deck/pull/2496)
- Import from trello via CLI @vitormattos [#3182](https://github.com/nextcloud/deck/pull/3182)
- Add app config to toggle the default calendar setting as an admin @juliushaertl [#3528](https://github.com/nextcloud/deck/pull/3528)
- Show board name in browser title @luka-nextcloud [#3499](https://github.com/nextcloud/deck/pull/3499)
- Move DeleteCron to be time insensitive @juliushaertl [#3599](https://github.com/nextcloud/deck/pull/3599)
- 🚸 Shows error on board fetchData @vinicius73 [#3653](https://github.com/nextcloud/deck/pull/3653)
- Add support for PHP 8.1 @juliushaertl [#3601](https://github.com/nextcloud/deck/pull/3601)
- Nextcloud 24 compatibility
* Nextcloud 22 compatibility
* [#3105](https://github.com/nextcloud/deck/pull/3105) Compatibility with Cirlces changes in 22
* [#3147](https://github.com/nextcloud/deck/pull/3147) Add card button to the dashboard widget @jakobroehrl
* [#2854](https://github.com/nextcloud/deck/pull/2854) Add card button in card overview @jakobroehrl
* [#3078](https://github.com/nextcloud/deck/pull/3078) Show on shared boards unassigned cards to all users @jakobroehrl
### Fixed
- CardApiController: Fix order of optional parameters @simonspa [#3512](https://github.com/nextcloud/deck/pull/3512)
- Exclude deleted boards in the selection for target @luka-nextcloud [#3502](https://github.com/nextcloud/deck/pull/3502)
- Fix CalDAV blocking and modernize circles API usage @juliushaertl [#3500](https://github.com/nextcloud/deck/pull/3500)
- Timestamps on created and modified at values @luka-nextcloud [#3532](https://github.com/nextcloud/deck/pull/3532)
- return the selector for collections @dartcafe [#3552](https://github.com/nextcloud/deck/pull/3552)
- Generate fixed link for activity emails @luka-nextcloud [#3611](https://github.com/nextcloud/deck/pull/3611)
- 🐛 Fix missing files sidebar @vinicius73 [#3635](https://github.com/nextcloud/deck/pull/3635)
- Handle description shortening more gracefully @juliushaertl [#3650](https://github.com/nextcloud/deck/pull/3650)
- Sort boards non case sensitive @Ben-Ro [#3560](https://github.com/nextcloud/deck/pull/3560)
- Remove unused argument from transfer ownership @juliushaertl [#3712](https://github.com/nextcloud/deck/pull/3712)
- Fix: Check all circle shares for permissions @bink [#3625](https://github.com/nextcloud/deck/pull/3625)
- Extend API changelog @juliushaertl [#3522](https://github.com/nextcloud/deck/pull/3522)
- Fix talk integration @nickvergessen [#3529](https://github.com/nextcloud/deck/pull/3529)
- Fix confusion between stackId and boardId in StackService @eneiluj [#3541](https://github.com/nextcloud/deck/pull/3541)
- Add horizontal scrollbar into the large table inside description @luka-nextcloud [#3531](https://github.com/nextcloud/deck/pull/3531)
- Make links in markdown note bolder @luka-nextcloud [#3530](https://github.com/nextcloud/deck/pull/3530)
- Update master php testing versions @nickvergessen [#3561](https://github.com/nextcloud/deck/pull/3561)
- Update master php enviroment @nickvergessen [#3582](https://github.com/nextcloud/deck/pull/3582)
- Make insert attachment buttom easy to click @luka-nextcloud [#3612](https://github.com/nextcloud/deck/pull/3612)
- Remove extra bullet @elitejake [#3613](https://github.com/nextcloud/deck/pull/3613)
- l10n: Delete space @Valdnet [#3666](https://github.com/nextcloud/deck/pull/3666)
- Update master php testing versions @nickvergessen [#3688](https://github.com/nextcloud/deck/pull/3688)
- Fix wording to represent the code behavior @q-wertz [#3685](https://github.com/nextcloud/deck/pull/3685)
- Fix cron jobs @nickvergessen [#3689](https://github.com/nextcloud/deck/pull/3689)
- Update master php testing versions @nickvergessen [#3695](https://github.com/nextcloud/deck/pull/3695)
- Optimise queries when preparing card related notifications @Raudius [#3690](https://github.com/nextcloud/deck/pull/3690)
- Properly check for the stack AND setting board permissions @juliushaertl [#3670](https://github.com/nextcloud/deck/pull/3670)
- Replace deprecated String.prototype.substr() @CommanderRoot [#3669](https://github.com/nextcloud/deck/pull/3669)
- Dependency updates
- Show cards after moving into another list [#3736](https://github.com/nextcloud/deck/pull/3736)
- Fix paramter replacements when creating deck cards from talk messages @nickvergessen [#3683](https://github.com/nextcloud/deck/pull/3683)
- Fix hidden attachment icon on archived cards [#3733](https://github.com/nextcloud/deck/pull/3733)
- Adapt the card modal to upstream changes [#3764](https://github.com/nextcloud/deck/pull/3764)
- Fix text selection in dark mode and modal view [#3765](https://github.com/nextcloud/deck/pull/3765)
- Add missing indices [#3754](https://github.com/nextcloud/deck/pull/3754)
* [#2935](https://github.com/nextcloud/deck/pull/2935) Rich object string parameters for notifications @nickvergessen
* [#2950](https://github.com/nextcloud/deck/pull/2950) Remove notification on unshare and add type hints
* [#2983](https://github.com/nextcloud/deck/pull/2983) Fix codemirror description width
* [#2989](https://github.com/nextcloud/deck/pull/2989) Fix unified comments search with postgres
* [#3005](https://github.com/nextcloud/deck/pull/3005) Do not query the lookupserver when looking for sharees
* [#3011](https://github.com/nextcloud/deck/pull/3011) L10n: Spelling unification @Valdnet
* [#3014](https://github.com/nextcloud/deck/pull/3014) Proper error handling when fetching comments fails
* [#3016](https://github.com/nextcloud/deck/pull/3016) Allow searching for filters without a query to match all that have a given filter set
* [#3021](https://github.com/nextcloud/deck/pull/3021) L10n: Add word "Card" @Valdnet
* [#3025](https://github.com/nextcloud/deck/pull/3025) Show comment counter and highlight if unread comments are available
* [#3036](https://github.com/nextcloud/deck/pull/3036) Add link to migration tool for Trello @maxammann
* [#3037](https://github.com/nextcloud/deck/pull/3037) Catch any error during circle detail fetching
* [#3038](https://github.com/nextcloud/deck/pull/3038) Get attachment from the user node instead of the share source
* [#3092](https://github.com/nextcloud/deck/pull/3092) Refactor update to have proper order of optional parameters
* [#3113](https://github.com/nextcloud/deck/pull/3113) Use new viewer syntax with destructuring object @azul
* [#3142](https://github.com/nextcloud/deck/pull/3142) Always pass user id in share provider
* [#3152](https://github.com/nextcloud/deck/pull/3152) Only offer stack creation in emptycontent with proper permissions
* [#3165](https://github.com/nextcloud/deck/pull/3165) Always log generic exceptions
* [#3168](https://github.com/nextcloud/deck/pull/3168) Reduce duplicate queries when fetching user boards an permissions
## 1.6.0-beta1
### Added
- #3177 Use async import for vue component on collections entrypoint @juliushaertl
- #2791 Open description links in new tab @fm-sys
- #3344 Improve combined search @eneiluj
- #3362 Improve search performance @eneiluj
- #2710 Due date shortcuts in the datepicker @jakobroehrl
### Fixed
- #3161 Reduce duplicate queries when fetching user boards an permissions @juliushaertl
- #3151 Always log generic exceptions @juliushaertl
- #3217 Move circle checks to a unified service and improve member checks @juliushaertl
- #3225 Check for null value to avoid TypeError in the group manager @juliushaertl
- #3263 Defer obtaining the user session in the config service @juliushaertl
- #3294 Fix print style issues @weeman1337
- #3299 Return false instead of throwing when getting calendar setting @juliushaertl
- #3298 Delete file shares through attachments API @juliushaertl
- #3343 Fix search pagination cursor @eneiluj
- #3326 add autofocus on board edit @weeman1337
- #3323 Extend drag-and-drop zone in card sidebar @old-green-frog
- #3364 Fix optional parameter order @juliushaertl
- #3324 Fix menu button position in card modal @valerydmitrieva
- #3391 Use displayname instead of uid for mentions (reopened against master) @kffl
- #3316 Additional check for stacks @juliushaertl
- #3357 Revert "Fix search pagination cursor" @juliushaertl
- #3327 Do not show both bullets and checkboxes for checklists @Themanwhosmellslikesugar
- #3375 Show absolute dates when printing @weeman1337
- #3376 Print assignee names @weeman1337
- #3384 Keep exceptions http response generic @juliushaertl
## 1.4.0 - 2021-04-13
@@ -161,15 +78,15 @@ All notable changes to this project will be documented in this file.
## 1.3.0-beta2
### Fixed
* [#2700](https://github.com/nextcloud/deck/pull/2700) Attempt to copy file on dropping it to deck @juliushaertl
* [#2701](https://github.com/nextcloud/deck/pull/2701) Fix uploading files by drag and drop @juliushaertl
* [#2700](https://github.com/nextcloud/deck/pull/2700) Attempt to copy file on dropping it to deck
* [#2701](https://github.com/nextcloud/deck/pull/2701) Fix uploading files by drag and drop
* [#2707](https://github.com/nextcloud/deck/pull/2707) L10n: Change to a capital letter @Valdnet
* [#2712](https://github.com/nextcloud/deck/pull/2712) Docs: Fix table in section "GET /api/v1.0/config" @das-g
* [#2716](https://github.com/nextcloud/deck/pull/2716) Remove repair step which is no longer needed as we cleanup properly @juliushaertl
* [#2716](https://github.com/nextcloud/deck/pull/2716) Remove repair step which is no longer needed as we cleanup properly
* [#2723](https://github.com/nextcloud/deck/pull/2723) Pad random color with leading zeroes @PVince81
* [#2729](https://github.com/nextcloud/deck/pull/2729) Remove invalid activity parameters @nickvergessen
* [#2750](https://github.com/nextcloud/deck/pull/2750) Fix deck activity emails not being translated @nickvergessen
* [#2751](https://github.com/nextcloud/deck/pull/2751) Properly set author for activity events that are triggered by cron @juliushaertl
* [#2751](https://github.com/nextcloud/deck/pull/2751) Properly set author for activity events that are triggered by cron
## 1.2.2 - 2020-11-24
@@ -278,31 +195,31 @@ All notable changes to this project will be documented in this file.
### Fixed
* [#2116](https://github.com/nextcloud/deck/pull/2116) Fix navigation layout issues @juliushaertl
* [#2118](https://github.com/nextcloud/deck/pull/2118) Use proper parameter when handling attachments @juliushaertl
* [#2116](https://github.com/nextcloud/deck/pull/2116) Fix navigation layout issues
* [#2118](https://github.com/nextcloud/deck/pull/2118) Use proper parameter when handling attachments
## 1.0.4 - 2020-06-26
### Fixed
* [#2062](https://github.com/nextcloud/deck/pull/2062) Fix saving card description after toggling checkboxes @juliushaertl
* [#2062](https://github.com/nextcloud/deck/pull/2062) Fix saving card description after toggling checkboxes
* [#2065](https://github.com/nextcloud/deck/pull/2065) Adding CSS rule for Markdown Blockquotes @reox
* [#2059](https://github.com/nextcloud/deck/pull/2059) Fix fetching attachments on card change @juliushaertl
* [#2060](https://github.com/nextcloud/deck/pull/2060) Use mixing for relative date in card sidebar @juliushaertl
* [#2059](https://github.com/nextcloud/deck/pull/2059) Fix fetching attachments on card change
* [#2060](https://github.com/nextcloud/deck/pull/2060) Use mixing for relative date in card sidebar
## 1.0.3 - 2020-06-19
### Fixed
* [#2019](https://github.com/nextcloud/deck/pull/2019) Remove old global css rule @juliushaertl
* [#2020](https://github.com/nextcloud/deck/pull/2020) Fix navigation issue with leftover nodes @juliushaertl
* [#2021](https://github.com/nextcloud/deck/pull/2021) Fix description issues @juliushaertl
* [#2022](https://github.com/nextcloud/deck/pull/2022) Fix replyto issues with the comments API @juliushaertl
* [#2027](https://github.com/nextcloud/deck/pull/2027) Allow to unassign current user from card @juliushaertl
* [#2019](https://github.com/nextcloud/deck/pull/2019) Remove old global css rule
* [#2020](https://github.com/nextcloud/deck/pull/2020) Fix navigation issue with leftover nodes
* [#2021](https://github.com/nextcloud/deck/pull/2021) Fix description issues
* [#2022](https://github.com/nextcloud/deck/pull/2022) Fix replyto issues with the comments API
* [#2027](https://github.com/nextcloud/deck/pull/2027) Allow to unassign current user from card
* [#2029](https://github.com/nextcloud/deck/pull/2029) Fix wording : stack -> list @cloud2018
* [#2032](https://github.com/nextcloud/deck/pull/2032) Force order by id as second sorting key @juliushaertl
* [#2045](https://github.com/nextcloud/deck/pull/2045) Improve label styling @juliushaertl
* [#2032](https://github.com/nextcloud/deck/pull/2032) Force order by id as second sorting key
* [#2045](https://github.com/nextcloud/deck/pull/2045) Improve label styling
* [#2010](https://github.com/nextcloud/deck/pull/2010) User documentation fixes @Nyco
* [#1998](https://github.com/nextcloud/deck/pull/1998) Add Checklist explaination to the doc @4rnoP

View File

@@ -30,16 +30,6 @@ build: clean-dist install-deps build-js
release: clean-dist install-deps-nodev build-js
lint: lint-js lint-php
lint-js:
npm run lint
npm run stylelint
lint-php:
composer run lint 1>/dev/null
composer run cs:check
build-js: install-deps-js
npm run build
@@ -60,7 +50,8 @@ ifeq (, $(shell which phpunit 2> /dev/null))
php $(build_tools_directory)/phpunit.phar -c tests/phpunit.xml --coverage-clover build/php-unit.coverage.xml
php $(build_tools_directory)/phpunit.phar -c tests/phpunit.integration.xml --coverage-clover build/php-integration.coverage.xml
else
phpunit -c tests/phpunit.integration.xml --testsuite=integration-database --coverage-clover build/php-integration.coverage.xml
phpunit -c tests/phpunit.xml --coverage-clover build/php-unit.coverage.xml
phpunit -c tests/phpunit.integration.xml --coverage-clover build/php-integration.coverage.xml
endif
test-integration:

View File

@@ -1,6 +1,6 @@
# Deck
[![Build Status](https://travis-ci.org/nextcloud/deck.svg?branch=main)](https://travis-ci.org/nextcloud/deck) [![CodeCov](https://codecov.io/github/nextcloud/deck/coverage.svg?branch=main)](https://codecov.io/github/nextcloud/deck) [![Codacy Badge](https://api.codacy.com/project/badge/Grade/e403f723f42a4abd93b2cfe36cbd7eee)](https://www.codacy.com/app/juliushaertl/deck?utm_source=github.com&amp;utm_medium=referral&amp;utm_content=nextcloud/deck&amp;utm_campaign=Badge_Grade) [![Scrutinizer Code Quality](https://scrutinizer-ci.com/g/nextcloud/deck/badges/quality-score.png?b=main)](https://scrutinizer-ci.com/g/nextcloud/deck/?branch=main) [![#nextcloud-deck](https://img.shields.io/badge/IRC-%23nextcloud--deck%20on%20freenode-blue.svg)](https://webchat.freenode.net/?channels=nextcloud-deck)
[![Build Status](https://travis-ci.org/nextcloud/deck.svg?branch=master)](https://travis-ci.org/nextcloud/deck) [![CodeCov](https://codecov.io/github/nextcloud/deck/coverage.svg?branch=master)](https://codecov.io/github/nextcloud/deck) [![Codacy Badge](https://api.codacy.com/project/badge/Grade/e403f723f42a4abd93b2cfe36cbd7eee)](https://www.codacy.com/app/juliushaertl/deck?utm_source=github.com&amp;utm_medium=referral&amp;utm_content=nextcloud/deck&amp;utm_campaign=Badge_Grade) [![Scrutinizer Code Quality](https://scrutinizer-ci.com/g/nextcloud/deck/badges/quality-score.png?b=master)](https://scrutinizer-ci.com/g/nextcloud/deck/?branch=master) [![#nextcloud-deck](https://img.shields.io/badge/IRC-%23nextcloud--deck%20on%20freenode-blue.svg)](https://webchat.freenode.net/?channels=nextcloud-deck)
Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.
@@ -20,13 +20,11 @@ Deck is a kanban style organization tool aimed at personal planning and project
### Mobile apps
- [Nextcloud Deck app for Android](https://github.com/stefan-niedermann/nextcloud-deck) - It is available in [F-Droid](https://f-droid.org/de/packages/it.niedermann.nextcloud.deck/) and the [Google Play Store](https://play.google.com/store/apps/details?id=it.niedermann.nextcloud.deck.play)
- [deck NG for Android and iOS](https://github.com/meltzow/deck-ng) - It is available in [Google Play Store](https://play.google.com/store/apps/details?id=net.meltzow.deckng) and [Apple App Store](https://apps.apple.com/us/app/deck-ng/id6443334702)
### 3rd-Party Integrations
- [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
- [mail2deck](https://github.com/newroco/mail2deck) - Provides an "email in" solution
## Installation/Update
@@ -49,32 +47,18 @@ make build
Please make sure you have installed the following dependencies: `make, which, tar, npm, curl, composer`
## Performance limitations
### Install the nightly builds
Deck is not yet ready for intensive usage.
A lot of database queries are generated when the number of boards, cards and attachments is high.
For example, a user having access to 13 boards, with each board having on average 100 cards,
and each card having on average 5 attachments,
would generate 6500 database queries when doing the file related queries
which would increase the page loading time significantly.
Improvements on Nextcloud server and Deck itself will improve the situation.
Instead of setting everything up manually, you can just [download the nightly build](https://github.com/nextcloud/deck/releases/tag/nightly) instead. These builds are updated every 24 hours, and are pre-configured with all the needed dependencies.
## Developing
### Nextcloud environment
You need to setup a [development environment](https://docs.nextcloud.com/server/latest/developer_manual//getting_started/devenv.html) of the current nextcloud version. You can also alternatively install & run the [nextcloud docker container](https://github.com/juliushaertl/nextcloud-docker-dev).
After the finished installation, you can clone the deck project directly in the `/[nextcloud-docker-dev-dir]/workspace/server/apps/` folder.
### PHP
Nothing to prepare, just dig into the code.
### JavaScript
This requires at least Node 16 and npm 7 to be installed.
Deck requires running a `make build-js` to install npm dependencies and build the JavaScript code using webpack. While developing you can also use `make watch` to rebuild everytime the code changes.
#### Hot reloading

View File

@@ -20,7 +20,7 @@ Your report should include:
- Reproduction steps
A member of the security team will confirm the vulnerability, determine its impact, and develop a fix.
The fix will be applied to the main branch, tested, and packaged in the next security release.
The fix will be applied to the master branch, tested, and packaged in the next security release.
The vulnerability will be publicly announced after the release. Finally, your name will be added
to the [hall of fame](https://hackerone.com/nextcloud/thanks) as a thank you from the entire Nextcloud community. Note our
[threat model](https://nextcloud.com/security/threat-model) to know what is expected behavior.

View File

@@ -7,22 +7,18 @@
- 📥 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.9.0-beta.1</version>
<version>1.5.1</version>
<licence>agpl</licence>
<author>Julius Härtl</author>
<documentation>
<user>https://deck.readthedocs.io/en/latest/User_documentation_en/</user>
<developer>https://deck.readthedocs.io/en/latest/API/</developer>
</documentation>
<namespace>Deck</namespace>
<types>
<dav/>
@@ -35,26 +31,19 @@
<screenshot>https://download.bitgrid.net/nextcloud/deck/screenshots/1.0/Deck-1.png</screenshot>
<screenshot>https://download.bitgrid.net/nextcloud/deck/screenshots/1.0/Deck-2.png</screenshot>
<dependencies>
<php min-version="7.3"/>
<database min-version="9.4">pgsql</database>
<database>sqlite</database>
<database min-version="8.0">mysql</database>
<nextcloud min-version="26" max-version="26"/>
<database min-version="5.5">mysql</database>
<nextcloud min-version="22" max-version="22"/>
</dependencies>
<background-jobs>
<job>OCA\Deck\Cron\DeleteCron</job>
<job>OCA\Deck\Cron\ScheduledNotifications</job>
<job>OCA\Deck\Cron\CardDescriptionActivity</job>
<job>OCA\Deck\Cron\SessionsCleanup</job>
</background-jobs>
<repair-steps>
<live-migration>
<step>OCA\Deck\Migration\DeletedCircleCleanup</step>
</live-migration>
</repair-steps>
<commands>
<command>OCA\Deck\Command\UserExport</command>
<command>OCA\Deck\Command\BoardImport</command>
<command>OCA\Deck\Command\TransferOwnership</command>
</commands>
<activity>
<settings>

View File

@@ -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'],
@@ -39,8 +38,6 @@ return [
['name' => 'board#updateAcl', 'url' => '/boards/{boardId}/acl/{aclId}', 'verb' => 'PUT'],
['name' => 'board#deleteAcl', 'url' => '/boards/{boardId}/acl/{aclId}', 'verb' => 'DELETE'],
['name' => 'board#clone', 'url' => '/boards/{boardId}/clone', 'verb' => 'POST'],
['name' => 'board#transferOwner', 'url' => '/boards/{boardId}/transferOwner', 'verb' => 'PUT'],
['name' => 'board#export', 'url' => '/boards/{boardId}/export', 'verb' => 'GET'],
// stacks
['name' => 'stack#index', 'url' => '/stacks/{boardId}', 'verb' => 'GET'],
@@ -93,10 +90,6 @@ return [
['name' => 'board_api#deleteAcl', 'url' => '/api/v{apiVersion}/boards/{boardId}/acl/{aclId}', 'verb' => 'DELETE'],
['name' => 'board_api#updateAcl', 'url' => '/api/v{apiVersion}/boards/{boardId}/acl/{aclId}', 'verb' => 'PUT'],
['name' => 'board_import_api#getAllowedSystems', 'url' => '/api/v{apiVersion}/boards/import/getSystems','verb' => 'GET'],
['name' => 'board_import_api#getConfigSchema', 'url' => '/api/v{apiVersion}/boards/import/config/schema/{name}','verb' => 'GET'],
['name' => 'board_import_api#import', 'url' => '/api/v{apiVersion}/boards/import','verb' => 'POST'],
['name' => 'stack_api#index', 'url' => '/api/v{apiVersion}/boards/{boardId}/stacks', 'verb' => 'GET'],
['name' => 'stack_api#getArchived', 'url' => '/api/v{apiVersion}/boards/{boardId}/stacks/archived', 'verb' => 'GET'],
@@ -150,10 +143,5 @@ return [
['name' => 'overview_api#upcomingCards', 'url' => '/api/v{apiVersion}/overview/upcoming', 'verb' => 'GET'],
['name' => 'search#search', 'url' => '/api/v{apiVersion}/search', 'verb' => 'GET'],
// sessions
['name' => 'Session#create', 'url' => '/api/v{apiVersion}/session/create', 'verb' => 'PUT'],
['name' => 'Session#sync', 'url' => '/api/v{apiVersion}/session/sync', 'verb' => 'POST'],
['name' => 'Session#close', 'url' => '/api/v{apiVersion}/session/close', 'verb' => 'POST'],
]
];

View File

@@ -9,45 +9,32 @@
}
],
"require": {
"cogpowered/finediff": "0.3.*",
"justinrainbow/json-schema": "^5.2"
"cogpowered/finediff": "0.3.*"
},
"require-dev": {
"roave/security-advisories": "dev-master",
"christophwurst/nextcloud": "^21@dev",
"phpunit/phpunit": "^9",
"nextcloud/coding-standard": "^1.0.0",
"nextcloud/coding-standard": "^0.5.0",
"symfony/event-dispatcher": "^4.0",
"vimeo/psalm": "^5.4",
"php-parallel-lint/php-parallel-lint": "^1.2",
"nextcloud/ocp": "dev-master"
"vimeo/psalm": "^4.3",
"php-parallel-lint/php-parallel-lint": "^1.2"
},
"config": {
"optimize-autoloader": true,
"classmap-authoritative": true,
"allow-plugins": {
"composer/package-versions-deprecated": true
},
"platform": {
"php": "8.0"
}
"classmap-authoritative": true
},
"scripts": {
"lint": "find . -name \\*.php -not -path './vendor/*' -print0 | xargs -0 -n1 php -l",
"cs:check": "php-cs-fixer fix --dry-run --diff",
"cs:fix": "php-cs-fixer fix",
"psalm": "psalm",
"psalm:update-baseline": "psalm --update-baseline",
"psalm:fix": "psalm --alter --issues=InvalidReturnType,InvalidNullableReturnType,MismatchingDocblockParamType,MismatchingDocblockReturnType,MissingParamType,InvalidFalsableReturnType",
"test": [
"@test:unit",
"@test:integration"
],
"test:unit": "vendor/bin/phpunit -c tests/phpunit.xml",
"test:integration": "vendor/bin/phpunit -c tests/phpunit.integration.xml && cd tests/integration && ./run.sh"
},
"autoload-dev": {
"psr-4": {
"OCP\\": "vendor/nextcloud/ocp/OCP"
}
"test:unit": "phpunit -c tests/phpunit.xml",
"test:integration": "phpunit -c tests/phpunit.integration.xml && cd tests/integration && ./run.sh"
}
}

2137
composer.lock generated

File diff suppressed because it is too large Load Diff

View File

@@ -1,9 +0,0 @@
.icon-deck {
background-image: url(../img/deck-dark.svg);
filter: var(--background-invert-if-dark);
}
.icon-deck-white, .icon-deck.icon-white {
background-image: url(../img/deck.svg);
filter: var(--background-invert-if-dark);
}

1
css/deck.scss Normal file
View File

@@ -0,0 +1 @@
@include icon-black-white('deck', 'deck', 1);

View File

@@ -1,10 +1,11 @@
<?php
/**
/*
* @copyright Copyright (c) 2016 Julius Härtl <jus@bitgrid.net>
*
* @author Julius Härtl <jus@bitgrid.net>
* @author Maxence Lange <maxence@artificial-owl.com>
* @author Luka Trovic <luka.trovic@nextcloud.com>
* @author Artem Anufrij <artem.anufrij@live.de>
* @author Marin Treselj <marin@pixelipo.com>
* @author Oskar Kurz <oskar.kurz@gmail.com>
* @author Ryan Fletcher <ryan.fletcher@codepassion.ca>
*
* @license GNU AGPL version 3 or any later version
*
@@ -23,15 +24,5 @@
*
*/
declare(strict_types=1);
namespace OCA\Deck\Validators;
class AssignmentServiceValidator extends BaseValidator {
public function rules() {
return [
'cardId' => ['numeric'],
'userId' => ['not_empty', 'not_null', 'not_false', 'max:64'],
];
}
}
@import 'icons';
@import 'print';

41
css/icons.scss Normal file
View File

@@ -0,0 +1,41 @@
/**
* Custom icons
*/
@include icon-black-white('deck', 'deck', 1);
@include icon-black-white('archive', 'deck', 1);
@include icon-black-white('circles', 'deck', 1);
@include icon-black-white('clone', 'deck', 1);
@include icon-black-white('filter', 'deck', 1);
@include icon-black-white('filter_set', 'deck', 1);
@include icon-black-white('attach', 'deck', 1);
@include icon-black-white('reply', 'deck', 1);
@include icon-black-white('notifications-dark', 'deck', 1);
@include icon-black-white('description', 'deck', 1);
.icon-toggle-compact-collapsed {
@include icon-color('toggle-view-expand', 'deck', $color-black);
}
.icon-toggle-compact-expanded {
@include icon-color('toggle-view-collapse', 'deck', $color-black);
}
.icon-activity {
@include icon-color('activity-dark', 'activity', $color-black);
}
.icon-comment--unread {
@include icon-color('comment', 'actions', $color-primary, 1, true);
}
.avatardiv.circles {
background: var(--color-primary);
}
.icon-circles {
opacity: 1;
background-size: 20px;
background-position: center center;
}
.icon-colorpicker {
background-image: url('../img/color_picker.svg');
}

View File

@@ -2,26 +2,21 @@
/* hide stuff */
#body-user {
#header,
.app-navigation,
.app-sidebar,
.board-header-controls,
.board-actions,
div#app-navigation,
div.board-header-controls,
#app-navigation-toggle,
#app-navigation-toggle-custom,
div#controls.ng-scope div.crumb:not(.title),
div#controls.ng-scope div.crumb a.bullet,
a.ng-binding + a,
div.card.create,
.stack__header .action-item,
button.card-options {
display: none !important;
}
#content {
margin: 0;
padding: 0;
}
#app-content {
margin: 0 !important;
}
@@ -80,11 +75,6 @@
margin: 2cm;
}
.board {
max-height: none !important;
overflow: visible !important;
}
div#innerBoard {
display:flex;
flex-wrap: wrap;

View File

@@ -1,16 +0,0 @@
const { defineConfig } = require('cypress')
module.exports = defineConfig({
projectId: '1s7wkc',
viewportWidth: 1280,
viewportHeight: 720,
e2e: {
// We've imported your old cypress plugins here.
// You may want to clean this up later by importing these.
setupNodeEvents(on, config) {
return require('./cypress/plugins/index.js')(on, config)
},
baseUrl: 'http://nextcloud.local/index.php',
specPattern: 'cypress/e2e/**/*.{js,jsx,ts,tsx}',
},
})

View File

@@ -1,5 +0,0 @@
module.exports = {
extends: [
'plugin:cypress/recommended',
],
}

View File

@@ -1,56 +0,0 @@
import { randUser } from '../utils/index.js'
const user = randUser()
const recipient = randUser()
describe('Board', function() {
before(function() {
cy.createUser(user)
cy.createUser(recipient)
})
beforeEach(function() {
cy.login(user)
cy.visit('/apps/deck')
})
it('Can create a board', function() {
const board = 'TestBoard'
cy.intercept({
method: 'POST',
url: '/index.php/apps/deck/boards',
}).as('createBoardRequest')
// Click "Add board"
cy.get('#app-navigation-vue .app-navigation__list .app-navigation-entry')
.eq(3).find('a').first().click({ force: true })
// Type the board title
cy.get('.board-create form input[type=text]')
.type(board, { force: true })
// Submit
cy.get('.board-create form input[type=submit]')
.first().click({ force: true })
cy.wait('@createBoardRequest').its('response.statusCode').should('equal', 200)
cy.get('.app-navigation__list .app-navigation-entry__children .app-navigation-entry')
.contains(board).should('be.visible')
})
it('Shows and hides the navigation', () => {
cy.get('#app-navigation-vue .app-navigation__list .app-navigation-entry')
.contains('Upcoming cards')
.should('be.visible')
cy.openLeftSidebar()
cy.get('#app-navigation-vue .app-navigation__list .app-navigation-entry')
.contains('Upcoming cards')
.should('not.be.visible')
cy.openLeftSidebar()
cy.get('#app-navigation-vue .app-navigation__list .app-navigation-entry')
.contains('Upcoming cards')
.should('be.visible')
})
})

View File

@@ -1,57 +0,0 @@
import { randUser } from '../utils/index.js'
import { sampleBoard } from '../utils/sampleBoard'
const user = randUser()
const boardData = sampleBoard()
describe('Card', function() {
let boardId
before(function() {
cy.createUser(user)
cy.login(user)
cy.createExampleBoard({
user,
board: boardData,
}).then((board) => {
boardId = board.id
})
})
beforeEach(function() {
cy.login(user)
cy.visit(`/apps/deck/#/board/${boardId}`)
})
it('Can show card details modal', function() {
cy.getNavigationEntry(boardData.title)
.first().click({ force: true })
cy.get('.board .stack').eq(0).within(() => {
cy.get('.card:contains("Hello world")').should('be.visible').click()
})
cy.get('.modal__card').should('be.visible')
cy.get('.app-sidebar-header__maintitle').contains('Hello world')
})
it('Can add a card', function() {
const newCardTitle = 'Write some cypress tests'
cy.getNavigationEntry(boardData.title)
.first().click({ force: true })
cy.get('.board .stack').eq(0).within(() => {
cy.get('.card:contains("Hello world")').should('be.visible')
cy.get('.button-vue[aria-label*="Add card"]')
.first().click()
cy.get('.stack__card-add form input#new-stack-input-main')
.type(newCardTitle)
cy.get('.stack__card-add form input[type=submit]')
.first().click()
cy.get(`.card:contains("${newCardTitle}")`).should('be.visible')
})
})
})

View File

@@ -1,29 +0,0 @@
import { randUser } from '../utils/index.js'
const user = randUser()
describe('Deck dashboard', function() {
before(function() {
cy.createUser(user)
})
beforeEach(function() {
cy.login(user)
cy.visit('/apps/deck')
})
it('Can show the right title on the dashboard', function() {
cy.get('.board-title h2')
.should('have.length', 1).first()
.should('have.text', 'Upcoming cards')
})
it('Can see the default "Personal Board" created for user by default', function() {
const defaultBoard = 'Personal'
cy.get('.app-navigation-entry-wrapper[icon=icon-deck]')
.find('ul.app-navigation-entry__children .app-navigation-entry:contains(' + defaultBoard + ')')
.first()
.contains(defaultBoard)
.should('be.visible')
})
})

View File

@@ -1,50 +0,0 @@
import { randUser } from '../utils/index.js'
import { sampleBoard } from '../utils/sampleBoard'
const user = randUser()
const recipient = randUser()
describe('Board', function() {
before(function() {
cy.createUser(user)
cy.createUser(recipient)
})
beforeEach(function() {
cy.login(user)
})
it('Share a board to a user', function() {
const board = sampleBoard('Read only board')
cy.createExampleBoard({ user, board }).then((board) => {
const boardId = board.id
cy.visit(`/apps/deck/#/board/${boardId}`)
cy.get('.board-title').contains(board.title)
cy.shareBoardWithUi(recipient.userId)
cy.login(recipient)
cy.visit(`/apps/deck/#/board/${boardId}`)
cy.get('.board-title').contains(board.title)
cy.get('.button-vue[aria-label*="Add card"]')
.should('not.exist')
})
})
it('Share a board to a user as writable', function() {
const board = sampleBoard('Editable board')
cy.createExampleBoard({ user, board }).then((board) => {
const boardId = board.id
cy.visit(`/apps/deck/#/board/${boardId}`)
cy.get('.board-title').contains(board.title)
cy.shareBoardWithUi(recipient.userId)
cy.get(`[data-cy="acl-participant:${recipient.userId}"]`).find('[data-cy="action:permission-edit"]').click()
cy.login(recipient)
cy.visit(`/apps/deck/#/board/${boardId}`)
cy.get('.board-title').contains(board.title)
cy.get('.button-vue[aria-label*="Add card"]')
.first().click()
})
})
})

View File

@@ -1,68 +0,0 @@
import { randUser } from '../utils/index.js'
const user = randUser()
const boardTitle = 'TestBoard'
const testBoardData = {
title: boardTitle,
stacks: [
{ title: 'Existing Stack1' },
{ title: 'Existing Stack2' },
],
}
describe('Stack', function() {
before(function() {
cy.createUser(user)
cy.login(user)
cy.createExampleBoard({
user,
board: testBoardData,
})
})
beforeEach(function() {
cy.login(user)
cy.visit('/apps/deck')
cy.openLeftSidebar()
cy.getNavigationEntry(boardTitle)
.click({ force: true })
})
it('Can create a stack', function() {
cy.get('#stack-add button').first().click()
cy.focused().type('List 1')
cy.get('#stack-add form input[type=submit]').first().click()
cy.contains('List 1').should('be.visible')
})
it('Can edit a stack title', function() {
cy.contains('Existing Stack1')
cy.get('[data-cy-stack="Existing Stack1"]').within(() => {
cy.contains('Existing Stack1').click()
cy.focused().type(' renamed')
cy.get('[data-cy="editStackTitleForm"] input[type="submit"]').click()
})
cy.contains('Existing Stack1 renamed').should('be.visible')
})
it('Can abort a stack title edit via esc', function() {
cy.contains('Existing Stack2').click()
cy.focused().type(' with a new title, maybe?')
cy.focused().type('{esc}')
cy.contains('Existing Stack2').should('be.visible')
cy.contains('Existing Stack2 with a new title, maybe?').should('not.exist')
})
it('Can abort a stack title edit via click outside', function() {
cy.contains('Existing Stack2').click()
cy.focused().type(' with a new title, maybe?')
cy.get('[data-cy-stack="Existing Stack2"]').click('bottom')
cy.contains('Existing Stack2').should('be.visible')
cy.contains('Existing Stack2 with a new title, maybe?').should('not.exist')
})
})

View File

@@ -1,5 +0,0 @@
{
"name": "Using fixtures to represent data",
"email": "hello@cypress.io",
"body": "Fixtures are a great way to mock data for responses to routes"
}

View File

@@ -1,22 +0,0 @@
/// <reference types="cypress" />
// ***********************************************************
// This example plugins/index.js can be used to load plugins
//
// You can change the location of this file or turn off loading
// the plugins file with the 'pluginsFile' configuration option.
//
// You can read more here:
// https://on.cypress.io/plugins-guide
// ***********************************************************
// This function is called when a project is opened or re-opened (e.g. due to
// the project's config changing)
/**
* @type {Cypress.PluginConfig}
*/
// eslint-disable-next-line no-unused-vars
module.exports = (on, config) => {
// `on` is used to hook into various events Cypress emits
// `config` is the resolved Cypress config
}

View File

@@ -1,117 +0,0 @@
/**
* @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>
*
* @author John Molakvoæ <skjnldsv@protonmail.com>
*
* @license GNU AGPL version 3 or any later version
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
import { addCommands } from '@nextcloud/cypress'
addCommands()
const url = Cypress.config('baseUrl').replace(/\/index.php\/?$/g, '')
Cypress.env('baseUrl', url)
Cypress.Commands.add('openLeftSidebar', () => {
cy.get('.app-navigation button.app-navigation-toggle').click()
})
Cypress.Commands.add('deckCreateBoard', ({ user, password }, title) => {
cy.login(user, password)
cy.get('.app-navigation button.app-navigation-toggle').click()
cy.get('#app-navigation-vue .app-navigation__list .app-navigation-entry')
.eq(3)
.find('a')
.first()
.click({ force: true })
cy.get('.board-create form input[type=text]').type(title, { force: true })
cy.get('.board-create form input[type=submit]')
.first()
.click({ force: true })
})
Cypress.Commands.add('deckCreateList', ({ user, password }, title) => {
cy.login(user, password)
cy.get('.app-navigation button.app-navigation-toggle').click()
cy.get('#app-navigation-vue .app-navigation__list .app-navigation-entry')
.eq(3)
.find('a.app-navigation-entry-link')
.first()
.click({ force: true })
cy.get('#stack-add button').first().click()
cy.get('#stack-add form input#new-stack-input-main').type(title)
cy.get('#stack-add form input[type=submit]').first().click()
})
Cypress.Commands.add('createExampleBoard', ({ user, board }) => {
const auth = {
user: user.userId,
password: user.password,
}
cy.request({
method: 'POST',
url: `${Cypress.env('baseUrl')}/index.php/apps/deck/api/v1.0/boards`,
auth,
body: { title: board.title, color: board.color ?? 'ff0000' },
}).then((boardResponse) => {
expect(boardResponse.status).to.eq(200)
const boardData = boardResponse.body
for (const stackIndex in board.stacks) {
const stack = board.stacks[stackIndex]
cy.request({
method: 'POST',
url: `${Cypress.env('baseUrl')}/index.php/apps/deck/api/v1.0/boards/${boardData.id}/stacks`,
auth,
body: { title: stack.title, order: 0 },
}).then((stackResponse) => {
const stackData = stackResponse.body
for (const cardIndex in stack.cards) {
const card = stack.cards[cardIndex]
cy.request({
method: 'POST',
url: `${Cypress.env('baseUrl')}/index.php/apps/deck/api/v1.0/boards/${boardData.id}/stacks/${stackData.id}/cards`,
auth,
body: { title: card.title },
})
}
})
}
cy.wrap(boardData)
})
})
Cypress.Commands.add('getNavigationEntry', (boardTitle) => {
return cy.get('.app-navigation-entry-wrapper[icon=icon-deck]')
.find('ul.app-navigation-entry__children .app-navigation-entry:contains(' + boardTitle + ')')
.find('a.app-navigation-entry-link')
})
Cypress.Commands.add('shareBoardWithUi', (userId) => {
cy.get('[aria-label="Open details"]').click()
cy.get('.app-sidebar').should('be.visible')
cy.get('.multiselect__input').type(`${userId}`)
cy.get('.multiselect__content .multiselect__element').first().contains(userId)
cy.get('.multiselect__input').type('{enter}')
cy.get('.shareWithList').contains(userId)
})

View File

@@ -1,12 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<title>Components App</title>
</head>
<body>
<div data-cy-root></div>
</body>
</html>

View File

@@ -1,27 +0,0 @@
// ***********************************************************
// This example support/component.js is processed and
// loaded automatically before your test files.
//
// This is a great place to put global configuration and
// behavior that modifies Cypress.
//
// You can change the location of this file or turn off
// automatically serving support files with the
// 'supportFile' configuration option.
//
// You can read more here:
// https://on.cypress.io/configuration
// ***********************************************************
// Import commands.js using ES2015 syntax:
import './commands'
// Alternatively you can use CommonJS syntax:
// require('./commands')
import { mount } from 'cypress/vue2'
Cypress.Commands.add('mount', mount)
// Example use:
// cy.mount(MyComponent)

View File

@@ -1,20 +0,0 @@
// ***********************************************************
// This example support/index.js is processed and
// loaded automatically before your test files.
//
// This is a great place to put global configuration and
// behavior that modifies Cypress.
//
// You can change the location of this file or turn off
// automatically serving support files with the
// 'supportFile' configuration option.
//
// You can read more here:
// https://on.cypress.io/configuration
// ***********************************************************
// Import commands.js using ES2015 syntax:
import './commands.js'
// Alternatively you can use CommonJS syntax:
// require('./commands')

View File

@@ -1,4 +0,0 @@
import { User } from '@nextcloud/cypress'
export const randHash = () => Math.random().toString(36).replace(/[^a-z]+/g, '').slice(0, 10)
export const randUser = () => new User(randHash(), randHash())

View File

@@ -1,37 +0,0 @@
/*
* @copyright Copyright (c) 2022 Julius Härtl <jus@bitgrid.net>
*
* @author Julius Härtl <jus@bitgrid.net>
*
* @license GNU AGPL version 3 or any later version
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
export const sampleBoard = (title = 'MyTestBoard') => {
return {
title: title,
color: '00ff00',
stacks: [
{
title: 'TestList',
cards: [
{
title: 'Hello world',
},
],
},
],
}
}

View File

@@ -1,7 +1,7 @@
The REST API provides access for authenticated users to their data inside the Deck app. To get a better understanding of Decks data models and their relations, please have a look at the [data structure](structure.md) documentation.
# Prerequisites
# Prequisited
- All requests require a `OCS-APIRequest` HTTP header to be set to `true` and a `Content-Type` of `application/json`.
- The API is located at https://nextcloud.local/index.php/apps/deck/api/v1.0
@@ -9,7 +9,7 @@ The REST API provides access for authenticated users to their data inside the De
## Naming
- Board is the project like grouping of tasks that can be shared to different users and groups
- Board is the the project like grouping of tasks that can be shared to different users and groups
- Stack is the grouping of cards which is rendered in vertical columns in the UI
@@ -96,27 +96,10 @@ If available the ETag will also be part of JSON response objects as shown below
# Changelog
## API version 1.0
- Deck >=1.0.0: The maximum length of the card title has been extended from 100 to 255 characters
- Deck >=1.0.0: The API will now return a 400 Bad request response if the length limitation of a board, stack or card title is exceeded
## API version 1.1
This API version has become available with **Deck 1.3.0**.
## 1.0.0 (unreleased)
- The maximum length of the card title has been extended from 100 to 255 characters
- The API will now return a 400 Bad request response if the length limitation of a board, stack or card title is exceeded
- The attachments API endpoints will return other attachment types than deck_file
- Prior to Deck version v1.3.0 (API v1.0), attachments were stored within deck. For this type of attachments `deck_file` was used as the default type of attachments
- Starting with Deck version 1.3.0 (API v1.1) files are stored within the users regular Nextcloud files and the type `file` has been introduced for that
## API version 1.2 (unreleased)
- Endpoints for the new import functionality have been added:
- [GET /boards/import/getSystems - Import a board](#get-boardsimportgetsystems-import-a-board)
- [GET /boards/import/config/system/{schema} - Import a board](#get-boardsimportconfigsystemschema-import-a-board)
- [POST /boards/import - Import a board](#post-boardsimport-import-a-board)
# Endpoints
@@ -944,8 +927,7 @@ The request can fail with a bad request response for the following reasons:
| type | String | The type of the attachement |
| file | Binary | File data to add as an attachment |
- Prior to Deck version v1.3.0 (API v1.0), attachments were stored within deck. For this type of attachments `deck_file` was used as the default type of attachments
- Starting with Deck version 1.3.0 (API v1.1) files are stored within the users regular Nextcloud files and the type `file` has been introduced for that
For now only `deck_file` is supported as an attachment type.
#### Response
@@ -977,7 +959,6 @@ For now only `deck_file` is supported as an attachment type.
### DELETE /boards/{boardId}/stacks/{stackId}/cards/{cardId}/attachments/{attachmentId} - Delete an attachment
#### Request parameters
| Parameter | Type | Description |
@@ -1006,49 +987,6 @@ For now only `deck_file` is supported as an attachment type.
##### 200 Success
### GET /boards/import/getSystems - Import a board
#### Request parameters
| Parameter | Type | Description |
| ------------ | ------- | --------------------------------------------- |
| system | Integer | The system name. Example: trello |
#### Response
Make a request to see the json schema of system
```json
{
}
```
### GET /boards/import/config/system/{schema} - Import a board
#### Request parameters
#### Response
```json
[
"trello"
]
```
### POST /boards/import - Import a board
#### Request parameters
| Parameter | Type | Description |
| ------------ | ------- | --------------------------------------------- |
| system | string | The allowed name of system to import from |
| config | Object | The config object (JSON) |
| data | Object | The data object to import (JSON) |
#### Response
##### 200 Success
# OCS API
The following endpoints are available through the Nextcloud OCS endpoint, which is available at `/ocs/v2.php/apps/deck/api/v1.0/`.
@@ -1065,8 +1003,6 @@ Deck stores user and app configuration values globally and per board. The GET en
| Config key | Description |
| --- | --- |
| calendar | Determines if the calendar/tasks integration through the CalDAV backend is enabled for the user (boolean) |
| cardDetailsInModal | Determines if the bigger view is used (boolean) |
| cardIdBadge | Determines if the ID badges are displayed on cards (boolean) |
| groupLimit | Determines if creating new boards is limited to certain groups of the instance. The resulting output is an array of group objects with the id and the displayname (Admin only)|
```
@@ -1079,8 +1015,6 @@ Deck stores user and app configuration values globally and per board. The GET en
},
"data": {
"calendar": true,
"cardDetailsInModal": true,
"cardIdBadge": true,
"groupLimit": [
{
"id": "admin",
@@ -1110,8 +1044,6 @@ Deck stores user and app configuration values globally and per board. The GET en
| --- | ----- |
| notify-due | `off`, `assigned` or `all` |
| calendar | Boolean |
| cardDetailsInModal | Boolean |
| cardIdBadge | Boolean |
#### Example request
@@ -1394,110 +1326,3 @@ A bad request response is returned if invalid input values are provided. The res
A not found response might be returned if:
- The card for the given cardId could not be found
- The comment could not be found
## Sessions
### PUT /session/create - creates a new session
#### Request parameters
| Parameter | Type | Description |
| --------- | ------- | ---------------------------------------------------- |
| boardId | Integer | The id of the opened board |
```
curl -X PUT 'https://admin:admin@nextcloud/ocs/v2.php/apps/deck/api/v1.0/session/create' \
-H 'Accept: application/json' -H 'OCS-APIRequest: true' \
-H 'Content-Type: application/json;charset=utf-8' \
--data '{"boardId":1}'
```
#### Response
##### 200 Success
```json
{
"ocs": {
"meta": {
"status": "ok",
"statuscode": 200,
"message": "OK"
},
"data": {
"token": "+zcJHf4rC6dobVSbuNa3delkCSfTW8OvYWTyLFvSpIv80FjtgLIj0ARlxspsazNQ"
}
}
}
```
### POST /session/sync - notifies the server, that the session is still open
#### Request body
| Parameter | Type | Description |
| --------- | ------- | ---------------------------------------------------- |
| boardId | Integer | The id of the opened board |
| token | String | The session token from the /sessions/create response |
```
curl -X POST 'https://admin:admin@nextcloud/ocs/v2.php/apps/deck/api/v1.0/session/create' \
-H 'Accept: application/json' -H 'OCS-APIRequest: true' \
-H 'Content-Type: application/json;charset=utf-8' \
--data '{"boardId":1, "token":"X3DyyoFslArF0t0NBZXzZXzcy8feoX/OEytSNXZtPg9TpUgO5wrkJ38IW3T/FfpV"}'
```
#### Response
##### 200 Success
```json
{
"ocs": {
"meta": {
"status": "ok",
"statuscode": 200,
"message": "OK"
},
"data": []
}
}
```
##### 404 Not Found
the provided token is invalid or expired
### POST /session/close - closes the session
#### Request body
| Parameter | Type | Description |
| --------- | ------- | ---------------------------------------------------- |
| boardId | Integer | The id of the opened board |
| token | String | The session token from the /sessions/create response |
```
curl -X POST 'https://admin:admin@nextcloud/ocs/v2.php/apps/deck/api/v1.0/session/close' \
-H 'Accept: application/json' -H 'OCS-APIRequest: true' \
-H 'Content-Type: application/json;charset=utf-8' \
--data '{"boardId":1, "token":"X3DyyoFslArF0t0NBZXzZXzcy8feoX/OEytSNXZtPg9TpUgO5wrkJ38IW3T/FfpV"}'
```
#### Response
##### 200 Success
```json
{
"ocs": {
"meta": {
"status": "ok",
"statuscode": 200,
"message": "OK"
},
"data": []
}
}
```

View File

@@ -14,9 +14,6 @@ Overall, Deck is easy to use. You can create boards, add users, share the Deck,
3. [Handle cards options](#3-handle-cards-options)
4. [Archive old tasks](#4-archive-old-tasks)
5. [Manage your board](#5-manage-your-board)
6. [Import boards](#6-import-boards)
7. [Search](#7-search)
8. [New owner for the deck entities](#8-new-owner-for-the-deck-entities)
### 1. Create my first board
In this example, we're going to create a board and share it with an other nextcloud user.
@@ -72,80 +69,14 @@ The **sharing tab** allows you to add users or even groups to your boards.
**Deleted objects** allows you to return previously deleted stacks or cards.
The **Timeline** allows you to see everything that happened in your boards. Everything!
### 6. Import boards
Importing can be done using the API or the `occ` `deck:import` command.
Comments with more than 1000 characters are placed as attached files to the card.
It is possible to import from the following sources:
#### Trello JSON
Steps:
* Create the data file
* Access Trello
* go to the board you want to export
* Follow the steps in [Trello documentation](https://help.trello.com/article/747-exporting-data-from-trello-1) and export as JSON
* Create the configuration file
* Execute the import informing the import file path, data file and source as `Trello JSON`
Create the configuration file respecting the [JSON Schema](https://github.com/nextcloud/deck/blob/main/lib/Service/Importer/fixtures/config-trelloJson-schema.json) for import `Trello JSON`
Example configuration file:
```json
{
"owner": "admin",
"color": "0800fd",
"uidRelation": {
"johndoe": "johndoe"
}
}
```
**Limitations**:
Importing from a JSON file imports up to 1000 actions. To find out how many actions the board to be imported has, identify how many actions the JSON has.
#### Trello API
Import using API is recommended for boards with more than 1000 actions.
Trello makes it possible to attach links to a card. Deck does not have this feature. Attachments and attachment links are added in a markdown table at the end of the description for every imported card that has attachments in Trello.
* Get the API Key and API Token [here](https://developer.atlassian.com/cloud/trello/guides/rest-api/api-introduction/#authentication-and-authorization)
* Get the ID of the board you want to import by making a request to:
https://api.trello.com/1/members/me/boards?key={yourKey}&token={yourToken}&fields=id,name
This ID you will use in the configuration file in the `board` property
* Create the configuration file
Create the configuration file respecting the [JSON Schema](https://github.com/nextcloud/deck/blob/main/lib/Service/Importer/fixtures/config-trelloApi-schema.json) for import `Trello JSON`
Example configuration file:
```json
{
"owner": "admin",
"color": "0800fd",
"api": {
"key": "0cc175b9c0f1b6a831c399e269772661",
"token": "92eb5ffee6ae2fec3ad71c777531578f4a8a08f09d37b73795649038408b5f33"
},
"board": "8277e0910d750195b4487976",
"uidRelation": {
"johndoe": "johndoe"
}
}
```
### 7. Search
## Search
Deck provides a global search either through the unified search in the Nextcloud header or with the inline search next to the board controls.
This search allows advanced filtering of cards across all board of the logged in user.
For example the search `project tag:ToDo assigned:alice assigned:bob` will return all cards where the card title or description contains project **and** the tag ToDo is set **and** the user alice is assigned **and** the user bob is assigned.
#### Supported search filters
### Supported search filters
| Filter | Operators | Query |
| ----------- | ----------------- | ------------------------------------------------------------ |
@@ -159,22 +90,4 @@ For example the search `project tag:ToDo assigned:alice assigned:bob` will retur
Other text tokens will be used to perform a case-insensitive search on the card title and description
In addition, quotes can be used to pass a query with spaces, e.g. `"Exact match with spaces"` or `title:"My card"`.
### 8. New owner for the deck entities
You can transfer ownership of boards, cards, etc to a new user, using `occ` command `deck:transfer-ownership`
```bash
php occ deck:transfer-ownership previousOwner newOwner
```
The transfer will preserve card details linked to the old owner, which can also be remapped by using the `--remap` option on the occ command.
```bash
php occ deck:transfer-ownership --remap previousOwner newOwner
```
Individual boards can be transferred by adding the id of the board to the command:
```bash
php occ deck:transfer-ownership previousOwner newOwner 123
```
In addition wuotes can be used to pass a query with spaces, e.g. `"Exact match with spaces"` or `title:"My card"`.

View File

@@ -1,32 +0,0 @@
## Implement import
* Create a new importer class extending `ABoardImportService`
* Create a listener for event `BoardImportGetAllowedEvent` to enable your importer.
> You can read more about listeners on [Nextcloud](https://docs.nextcloud.com/server/latest/developer_manual/basics/events.html?highlight=event#writing-a-listener) doc.
Example:
```php
class YourCustomImporterListener {
public function handle(Event $event): void {
if (!($event instanceof BoardImportGetAllowedEvent)) {
return;
}
$event->getService()->addAllowedImportSystem([
'name' => YourCustomImporterService::$name,
'class' => YourCustomImporterService::class,
'internalName' => 'YourCustomImporter'
]);
}
}
```
* Register your listener on your `Application` class like this:
```php
$dispatcher = $this->getContainer()->query(IEventDispatcher::class);
$dispatcher->registerEventListener(
BoardImportGetAllowedEvent::class,
YourCustomImporterListener::class
);
```
* Use the `lib/Service/Importer/Systems/TrelloJsonService.php` class as inspiration

View File

@@ -1,7 +0,0 @@
## Import class diagram
Importing boards to the Deck implements the class diagram below.
> **NOTE**: When making any changes to the structure of the classes or implementing import from other sources, edit the `BoardImport.yuml` file
![Screenshot](resources/BoardImport.svg)

View File

@@ -1,214 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.40.1 (20161225.0304)
-->
<!-- Title: G Pages: 1 -->
<svg width="417pt" height="830pt"
viewBox="0.00 0.00 417.01 830.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 826)">
<title>G</title>
<polygon fill="#ffffff" stroke="transparent" points="-4,4 -4,-826 413.012,-826 413.012,4 -4,4"/>
<!-- A0 -->
<g id="node1" class="node">
<title>A0</title>
<polygon fill="#fff8dc" stroke="#000000" points="165.909,-822 70.091,-822 70.091,-766 171.909,-766 171.909,-816 165.909,-822"/>
<polyline fill="none" stroke="#000000" points="165.909,-822 165.909,-816 "/>
<polyline fill="none" stroke="#000000" points="171.909,-816 165.909,-816 "/>
<text text-anchor="middle" x="121" y="-809" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">Classes used on</text>
<text text-anchor="middle" x="121" y="-797" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">board import.</text>
<text text-anchor="middle" x="121" y="-785" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">Methods just to</text>
<text text-anchor="middle" x="121" y="-773" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">illustrate.</text>
</g>
<!-- A1 -->
<g id="node2" class="node">
<title>A1</title>
<polygon fill="none" stroke="#000000" points="108.7773,-680 23.2227,-680 23.2227,-644 108.7773,-644 108.7773,-680"/>
<text text-anchor="middle" x="66" y="-659" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">ApiController</text>
</g>
<!-- A2 -->
<g id="node3" class="node">
<title>A2</title>
<polygon fill="none" stroke="#000000" points="0,-514 0,-546 132,-546 132,-514 0,-514"/>
<text text-anchor="start" x="9.607" y="-527" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">BoardImportApiController</text>
<polygon fill="none" stroke="#000000" points="0,-458 0,-514 132,-514 132,-458 0,-458"/>
<text text-anchor="start" x="45.8645" y="-495" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+import()</text>
<text text-anchor="start" x="16.1335" y="-483" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+getAllowedSystems()</text>
<text text-anchor="start" x="20.0185" y="-471" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+getConfigSchema()</text>
</g>
<!-- A1&#45;&gt;A2 -->
<g id="edge1" class="edge">
<title>A1&#45;&gt;A2</title>
<path fill="none" stroke="#000000" d="M66,-633.6693C66,-609.4424 66,-574.1663 66,-546.2238"/>
<polygon fill="#000000" stroke="#000000" points="66,-643.957 61.5001,-633.9569 66,-638.957 66.0001,-633.957 66.0001,-633.957 66.0001,-633.957 66,-638.957 70.5001,-633.957 66,-643.957 66,-643.957"/>
</g>
<!-- A3 -->
<g id="node4" class="node">
<title>A3</title>
<polygon fill="none" stroke="#000000" points="92,-364 92,-396 200,-396 200,-364 92,-364"/>
<text text-anchor="start" x="101.828" y="-377" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">BoardImportService</text>
<polygon fill="none" stroke="#000000" points="92,-284 92,-364 200,-364 200,-284 92,-284"/>
<text text-anchor="start" x="125.8645" y="-345" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+import()</text>
<text text-anchor="start" x="118.9105" y="-333" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+bootstrap()</text>
<text text-anchor="start" x="105.857" y="-321" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+validateSystem()</text>
<text text-anchor="start" x="108.218" y="-309" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">#validateConfig()</text>
<text text-anchor="start" x="112.107" y="-297" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">#validateData()</text>
</g>
<!-- A2&#45;&gt;A3 -->
<g id="edge2" class="edge">
<title>A2&#45;&gt;A3</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M87.8604,-457.7328C95.8577,-441.5382 105.0823,-422.8583 113.7939,-405.2174"/>
<polygon fill="#000000" stroke="#000000" points="118.2935,-396.1057 117.9004,-407.0646 116.0795,-400.5889 113.8656,-405.072 113.8656,-405.072 113.8656,-405.072 116.0795,-400.5889 109.8308,-403.0795 118.2935,-396.1057 118.2935,-396.1057"/>
<text text-anchor="middle" x="88.3076" y="-434.7378" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">uses</text>
</g>
<!-- A7 -->
<g id="node8" class="node">
<title>A7</title>
<polygon fill="none" stroke="#000000" points="37,-196 37,-228 129,-228 129,-196 37,-196"/>
<text text-anchor="start" x="46.612" y="-209" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">TrelloApiService</text>
<polygon fill="none" stroke="#000000" points="37,-164 37,-196 129,-196 129,-164 37,-164"/>
<text text-anchor="start" x="53.9655" y="-177" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+name:string</text>
</g>
<!-- A3&#45;&gt;A7 -->
<g id="edge6" class="edge">
<title>A3&#45;&gt;A7</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M114.8609,-283.9135C107.8316,-268.5143 100.7854,-252.0928 95.0404,-237.6613"/>
<polygon fill="#000000" stroke="#000000" points="91.2872,-228.0253 99.1098,-235.7102 93.1019,-232.6844 94.9167,-237.3434 94.9167,-237.3434 94.9167,-237.3434 93.1019,-232.6844 90.7235,-238.9767 91.2872,-228.0253 91.2872,-228.0253"/>
<text text-anchor="middle" x="99.6759" y="-267.8975" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">uses</text>
</g>
<!-- A9 -->
<g id="node10" class="node">
<title>A9</title>
<polygon fill="none" stroke="#000000" points="148,-202 148,-234 273,-234 273,-202 148,-202"/>
<text text-anchor="start" x="170.7765" y="-215" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">TrelloJsonService</text>
<polygon fill="none" stroke="#000000" points="148,-158 148,-202 273,-202 273,-158 148,-158"/>
<text text-anchor="start" x="181.4655" y="-183" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+name:string</text>
<text text-anchor="start" x="157.981" y="-171" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">#needValidateData:true</text>
</g>
<!-- A3&#45;&gt;A9 -->
<g id="edge9" class="edge">
<title>A3&#45;&gt;A9</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M164.3261,-283.9135C170.0039,-270.5688 176.3462,-256.4563 182.4816,-243.5365"/>
<polygon fill="#000000" stroke="#000000" points="186.9002,-234.3677 186.6126,-245.3298 184.7295,-238.872 182.5588,-243.3762 182.5588,-243.3762 182.5588,-243.3762 184.7295,-238.872 178.505,-241.4226 186.9002,-234.3677 186.9002,-234.3677"/>
<text text-anchor="middle" x="163.6874" y="-260.9237" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">uses</text>
</g>
<!-- A10 -->
<g id="node11" class="node">
<title>A10</title>
<polygon fill="#fff8dc" stroke="#000000" points="317.7872,-362 218.2128,-362 218.2128,-318 323.7872,-318 323.7872,-356 317.7872,-362"/>
<polyline fill="none" stroke="#000000" points="317.7872,-362 317.7872,-356 "/>
<polyline fill="none" stroke="#000000" points="323.7872,-356 317.7872,-356 "/>
<text text-anchor="middle" x="271" y="-349" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">validateSystem is</text>
<text text-anchor="middle" x="271" y="-337" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">public because is</text>
<text text-anchor="middle" x="271" y="-325" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">used on Api.</text>
</g>
<!-- A3&#45;&gt;A10 -->
<g id="edge11" class="edge">
<title>A3&#45;&gt;A10</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M200.1992,-340C206.1915,-340 212.1837,-340 218.176,-340"/>
</g>
<!-- A4 -->
<g id="node5" class="node">
<title>A4</title>
<polygon fill="none" stroke="#000000" points="264.1131,-812 189.8869,-812 189.8869,-776 264.1131,-776 264.1131,-812"/>
<text text-anchor="middle" x="227" y="-791" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">Command</text>
</g>
<!-- A5 -->
<g id="node6" class="node">
<title>A5</title>
<polygon fill="none" stroke="#000000" points="148,-684 148,-716 307,-716 307,-684 148,-684"/>
<text text-anchor="start" x="199.9955" y="-697" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">BoardImport</text>
<polygon fill="none" stroke="#000000" points="148,-652 148,-684 307,-684 307,-652 148,-652"/>
<text text-anchor="start" x="157.907" y="-665" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+boardImportCommandService</text>
<polygon fill="none" stroke="#000000" points="148,-608 148,-652 307,-652 307,-608 148,-608"/>
<text text-anchor="start" x="200.8305" y="-633" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">#configure()</text>
<text text-anchor="start" x="177.76" y="-621" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">#execute(input,output)</text>
</g>
<!-- A4&#45;&gt;A5 -->
<g id="edge3" class="edge">
<title>A4&#45;&gt;A5</title>
<path fill="none" stroke="#000000" d="M227,-765.6356C227,-751.1554 227,-733.0451 227,-716.0324"/>
<polygon fill="#000000" stroke="#000000" points="227,-775.9227 222.5001,-765.9227 227,-770.9227 227.0001,-765.9227 227.0001,-765.9227 227.0001,-765.9227 227,-770.9227 231.5001,-765.9228 227,-775.9227 227,-775.9227"/>
</g>
<!-- A6 -->
<g id="node7" class="node">
<title>A6</title>
<polygon fill="none" stroke="#000000" points="150,-526 150,-558 304,-558 304,-526 150,-526"/>
<text text-anchor="start" x="159.7715" y="-539" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">BoardImportCommandService</text>
<polygon fill="none" stroke="#000000" points="150,-446 150,-526 304,-526 304,-446 150,-446"/>
<text text-anchor="start" x="199.9105" y="-507" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+bootstrap()</text>
<text text-anchor="start" x="206.8645" y="-495" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+import()</text>
<text text-anchor="start" x="186.857" y="-483" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+validateSystem()</text>
<text text-anchor="start" x="189.218" y="-471" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">#validateConfig()</text>
<text text-anchor="start" x="193.107" y="-459" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">#validateData()</text>
</g>
<!-- A5&#45;&gt;A6 -->
<g id="edge4" class="edge">
<title>A5&#45;&gt;A6</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M227,-607.8313C227,-595.0442 227,-581.2707 227,-568.0248"/>
<polygon fill="#000000" stroke="#000000" points="227,-558.0234 231.5001,-568.0234 227,-563.0234 227.0001,-568.0234 227.0001,-568.0234 227.0001,-568.0234 227,-563.0234 222.5001,-568.0235 227,-558.0234 227,-558.0234"/>
<text text-anchor="middle" x="218.5476" y="-586.7051" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">uses</text>
</g>
<!-- A6&#45;&gt;A3 -->
<g id="edge5" class="edge">
<title>A6&#45;&gt;A3</title>
<path fill="none" stroke="#000000" d="M198.8975,-445.7949C192.3634,-432.7268 185.3528,-418.7057 178.6417,-405.2834"/>
<polygon fill="#000000" stroke="#000000" points="174.0529,-396.1057 182.55,-403.0375 176.289,-400.5779 178.5251,-405.05 178.5251,-405.05 178.5251,-405.05 176.289,-400.5779 174.5001,-407.0625 174.0529,-396.1057 174.0529,-396.1057"/>
</g>
<!-- A7&#45;&gt;A3 -->
<g id="edge7" class="edge">
<title>A7&#45;&gt;A3</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M102.735,-228.0253C109.5347,-241.763 117.1224,-258.3431 124.0627,-274.4849"/>
<polygon fill="#000000" stroke="#000000" points="128.0634,-283.9135 120.0148,-276.4657 126.1104,-279.3107 124.1573,-274.7079 124.1573,-274.7079 124.1573,-274.7079 126.1104,-279.3107 128.2998,-272.9502 128.0634,-283.9135 128.0634,-283.9135"/>
<text text-anchor="middle" x="118.307" y="-237.5757" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">uses</text>
</g>
<!-- A8 -->
<g id="node9" class="node">
<title>A8</title>
<polygon fill="none" stroke="#000000" points="80,-64 80,-108 213,-108 213,-64 80,-64"/>
<text text-anchor="start" x="117.04" y="-89" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">&lt;&lt;abstract&gt;&gt;</text>
<text text-anchor="start" x="98.9935" y="-77" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">ABoardImportService</text>
<polygon fill="none" stroke="#000000" points="80,-32 80,-64 213,-64 213,-32 80,-32"/>
<text text-anchor="start" x="92.036" y="-45" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">#needValidateData:false</text>
<polygon fill="none" stroke="#000000" points="80,0 80,-32 213,-32 213,0 80,0"/>
<text text-anchor="start" x="89.677" y="-13" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+needValidateData():bool</text>
</g>
<!-- A7&#45;&gt;A8 -->
<g id="edge8" class="edge">
<title>A7&#45;&gt;A8</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M97.2957,-163.778C103.3956,-150.029 110.7371,-133.4813 117.8485,-117.4527"/>
<polygon fill="none" stroke="#000000" points="121.1416,-118.6605 121.9978,-108.1003 114.743,-115.8216 121.1416,-118.6605"/>
<text text-anchor="middle" x="96.9205" y="-140.7815" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">implements</text>
</g>
<!-- A9&#45;&gt;A3 -->
<g id="edge10" class="edge">
<title>A9&#45;&gt;A3</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M198.9952,-234.3677C194.0646,-246.7117 188.0483,-260.7568 181.8434,-274.4849"/>
<polygon fill="#000000" stroke="#000000" points="177.5286,-283.9135 177.598,-272.9478 179.6093,-279.367 181.6899,-274.8204 181.6899,-274.8204 181.6899,-274.8204 179.6093,-279.367 185.7818,-276.693 177.5286,-283.9135 177.5286,-283.9135"/>
<text text-anchor="middle" x="200.0654" y="-251.3391" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">uses</text>
</g>
<!-- A9&#45;&gt;A8 -->
<g id="edge13" class="edge">
<title>A9&#45;&gt;A8</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M192.8492,-157.9466C187.2535,-145.5313 180.8796,-131.389 174.6742,-117.6209"/>
<polygon fill="none" stroke="#000000" points="177.7167,-115.8534 170.4168,-108.1747 171.3349,-118.7297 177.7167,-115.8534"/>
<text text-anchor="middle" x="177.6953" y="-141.8944" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">implements</text>
</g>
<!-- A11 -->
<g id="node12" class="node">
<title>A11</title>
<polygon fill="#fff8dc" stroke="#000000" points="403.024,-224 290.976,-224 290.976,-168 409.024,-168 409.024,-218 403.024,-224"/>
<polyline fill="none" stroke="#000000" points="403.024,-224 403.024,-218 "/>
<polyline fill="none" stroke="#000000" points="409.024,-218 403.024,-218 "/>
<text text-anchor="middle" x="350" y="-211" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">To create an import</text>
<text text-anchor="middle" x="350" y="-199" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">to another system,</text>
<text text-anchor="middle" x="350" y="-187" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">create another class</text>
<text text-anchor="middle" x="350" y="-175" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">similar to this.</text>
</g>
<!-- A9&#45;&gt;A11 -->
<g id="edge12" class="edge">
<title>A9&#45;&gt;A11</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M272.6172,-196C278.6627,-196 284.7083,-196 290.7538,-196"/>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 16 KiB

View File

@@ -1,24 +0,0 @@
// Created using [yUML](https://github.com/jaime-olivares/vscode-yuml)
// {type:class}
// {direction:topDown}
// {generate:true}
[note: Classes used on board import. Methods just to illustrate. {bg:cornsilk}]
[ApiController]<-[BoardImportApiController|+import();+getAllowedSystems();+getConfigSchema()]
[BoardImportApiController]uses-.->[BoardImportService|+import();+bootstrap();+validateSystem();#validateConfig();#validateData();]
[Command]<-[BoardImport|+boardImportCommandService|#configure();#execute(input,output)]
[BoardImport]uses-.->[BoardImportCommandService|+bootstrap();+import();+validateSystem();#validateConfig();#validateData()]
[BoardImportCommandService]->[BoardImportService]
[BoardImportService]uses-.->[TrelloApiService|+name:string]
[TrelloApiService]uses-.->[BoardImportService]
[TrelloApiService]implements-.-^[<<abstract>> ABoardImportService|#needValidateData:false|+needValidateData():bool]
[BoardImportService]uses-.->[TrelloJsonService|+name:string;#needValidateData:true]
[TrelloJsonService]uses-.->[BoardImportService]
[BoardImportService]-[note: validateSystem is public because is used on Api. {bg:cornsilk}]
[TrelloJsonService]-[note: To create an import to another system, create another class similar to this. {bg:cornsilk}]
[TrelloJsonService]implements-.-^[<<abstract>> ABoardImportService]

View File

@@ -1,4 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg xmlns="http://www.w3.org/2000/svg" height="32" width="32" version="1.0" viewbox="0 0 32 32">
<path d="m16 1-10 18h11l-1 12 10-18h-11z"/>
</svg>

Before

Width:  |  Height:  |  Size: 205 B

View File

@@ -1,4 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg xmlns="http://www.w3.org/2000/svg" height="32" width="32" version="1.0" viewBox="0 0 32 32">
<path d="m16 1-10 18h11l-1 12 10-18h-11z" fill="#FFF"/>
</svg>

Before

Width:  |  Height:  |  Size: 217 B

1
img/archive-white.svg Normal file
View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><g transform="translate(0 -1036.362)" fill="#fff"><path d="M1.93 1041.296c-.185 0-.336.138-.336.31v9.842c0 .172.15.313.336.313h12.517c.185 0 .333-.14.333-.313v-9.842c0-.172-.148-.31-.333-.31H1.93zm4.124 1.507h4.223c.39 0 .705.314.705.704v.43c0 .39-.315.705-.705.705H6.054a.703.703 0 0 1-.705-.705v-.43c0-.39.314-.704.705-.704z"/><rect width="15.742" height="2.296" x=".136" y="1037.543" ry="0"/></g></svg>

After

Width:  |  Height:  |  Size: 488 B

View File

@@ -1 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 58 58" width="512" height="512"><g fill="#000"><path d="M54.319 37.839C54.762 35.918 55 33.96 55 32c0-9.095-4.631-17.377-12.389-22.153a1 1 0 1 0-1.049 1.703C48.724 15.96 53 23.604 53 32c0 1.726-.2 3.451-.573 5.147A6.992 6.992 0 0 0 51 37c-3.86 0-7 3.141-7 7s3.14 7 7 7 7-3.141 7-7a7.006 7.006 0 0 0-3.681-6.161zM38.171 54.182A23.867 23.867 0 0 1 29 56a24.047 24.047 0 0 1-17.017-7.092A6.974 6.974 0 0 0 14 44c0-3.859-3.14-7-7-7s-7 3.141-7 7 3.14 7 7 7a6.952 6.952 0 0 0 3.381-.875C15.26 55.136 21.994 58 29 58c3.435 0 6.778-.663 9.936-1.971.51-.211.753-.796.542-1.307a1.001 1.001 0 0 0-1.307-.54zM4 31.213a1 1 0 0 0 1.068-.927c.712-10.089 7.586-18.52 17.22-21.314C23.142 11.874 25.825 14 29 14c3.86 0 7-3.141 7-7s-3.14-7-7-7c-3.851 0-6.985 3.127-6.999 6.975C11.42 9.922 3.851 19.12 3.073 30.146A.999.999 0 0 0 4 31.213z"/></g></svg>

Before

Width:  |  Height:  |  Size: 885 B

View File

@@ -1 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 58 58" width="512" height="512"><g fill="#fff"><path d="M54.319 37.839C54.762 35.918 55 33.96 55 32c0-9.095-4.631-17.377-12.389-22.153a1 1 0 1 0-1.049 1.703C48.724 15.96 53 23.604 53 32c0 1.726-.2 3.451-.573 5.147A6.992 6.992 0 0 0 51 37c-3.86 0-7 3.141-7 7s3.14 7 7 7 7-3.141 7-7a7.006 7.006 0 0 0-3.681-6.161zM38.171 54.182A23.867 23.867 0 0 1 29 56a24.047 24.047 0 0 1-17.017-7.092A6.974 6.974 0 0 0 14 44c0-3.859-3.14-7-7-7s-7 3.141-7 7 3.14 7 7 7a6.952 6.952 0 0 0 3.381-.875C15.26 55.136 21.994 58 29 58c3.435 0 6.778-.663 9.936-1.971.51-.211.753-.796.542-1.307a1.001 1.001 0 0 0-1.307-.54zM4 31.213a1 1 0 0 0 1.068-.927c.712-10.089 7.586-18.52 17.22-21.314C23.142 11.874 25.825 14 29 14c3.86 0 7-3.141 7-7s-3.14-7-7-7c-3.851 0-6.985 3.127-6.999 6.975C11.42 9.922 3.851 19.12 3.073 30.146A.999.999 0 0 0 4 31.213z"/></g></svg>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 58 58" width="512" height="512"><g fill="#000"><path d="M54.319 37.839C54.762 35.918 55 33.96 55 32c0-9.095-4.631-17.377-12.389-22.153a1 1 0 1 0-1.049 1.703C48.724 15.96 53 23.604 53 32c0 1.726-.2 3.451-.573 5.147A6.992 6.992 0 0 0 51 37c-3.86 0-7 3.141-7 7s3.14 7 7 7 7-3.141 7-7a7.006 7.006 0 0 0-3.681-6.161zM38.171 54.182A23.867 23.867 0 0 1 29 56a24.047 24.047 0 0 1-17.017-7.092A6.974 6.974 0 0 0 14 44c0-3.859-3.14-7-7-7s-7 3.141-7 7 3.14 7 7 7a6.952 6.952 0 0 0 3.381-.875C15.26 55.136 21.994 58 29 58c3.435 0 6.778-.663 9.936-1.971.51-.211.753-.796.542-1.307a1.001 1.001 0 0 0-1.307-.54zM4 31.213a1 1 0 0 0 1.068-.927c.712-10.089 7.586-18.52 17.22-21.314C23.142 11.874 25.825 14 29 14c3.86 0 7-3.141 7-7s-3.14-7-7-7c-3.851 0-6.985 3.127-6.999 6.975C11.42 9.922 3.851 19.12 3.073 30.146A.999.999 0 0 0 4 31.213z"/></g></svg>

Before

Width:  |  Height:  |  Size: 885 B

After

Width:  |  Height:  |  Size: 885 B

1
img/clone.svg Normal file
View File

@@ -0,0 +1 @@
<svg width="16" height="16" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M11.8 13.8H2.2V4.2h9.6m1.2 0c0-.67-.53-1.2-1.2-1.2H2.2C1.53 3 1 3.53 1 4.2v9.6c0 .67.53 1.2 1.2 1.2h9.6c.67 0 1.2-.53 1.2-1.2"/><path d="m4.2 1c-0.67 0-1.2 0.54-1.2 1.2h10.8v10.8c0.67 0 1.2-0.53 1.2-1.2v-9.6c0-0.67-0.53-1.2-1.2-1.2z"/></svg>

After

Width:  |  Height:  |  Size: 327 B

1
img/reply.svg Normal file
View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" height="16" width="16"><path d="M15 15s-.4-7.8-7-10V1L1 8l7 7v-4c5.1 0 7 4 7 4z"/></svg>

After

Width:  |  Height:  |  Size: 128 B

View File

@@ -12,33 +12,27 @@ OC.L10N.register(
"Missing a temporary folder" : "Ontbrekende tydelike gids",
"A PHP extension stopped the file upload" : "n PHP-uitbreiding het die oplaai gestaak",
"Cancel" : "Kanselleer",
"Close" : "Sluit",
"File already exists" : "Lêer bestaan reeds",
"Open details" : "Open besonderhede",
"Details" : "Besonderhede",
"Tags" : "Etikette",
"No participants found" : "Geen deelnemers gevind",
"Can edit" : "Kan redigeer",
"Can share" : "Kan deel",
"Owner" : "Eienaar",
"Delete" : "Skrap",
"Edit" : "Wysig",
"Download" : "Laai af",
"Comments" : "Kommentare",
"Modified" : "Gewysig",
"Created" : "Geskep",
"Due date" : "Sperdatum",
"Select Date" : "Kies Datum",
"Today" : "Vandag",
"Tomorrow" : "Môre",
"Save" : "Stoor",
"Reply" : "Antwoord",
"Update" : "Werk by",
"Description" : "Beskrywing",
"seconds ago" : "sekondes gelede",
"Shared with you" : "Met u gedeel",
"No notifications" : "Geen kennisgewings",
"An error occurred" : "'n Fout het voorgekom",
"Share" : "Deel"
"Today" : "Vandag",
"Tomorrow" : "Môre",
"This week" : "Vandeesweek"
},
"nplurals=2; plural=(n != 1);");

View File

@@ -10,33 +10,27 @@
"Missing a temporary folder" : "Ontbrekende tydelike gids",
"A PHP extension stopped the file upload" : "n PHP-uitbreiding het die oplaai gestaak",
"Cancel" : "Kanselleer",
"Close" : "Sluit",
"File already exists" : "Lêer bestaan reeds",
"Open details" : "Open besonderhede",
"Details" : "Besonderhede",
"Tags" : "Etikette",
"No participants found" : "Geen deelnemers gevind",
"Can edit" : "Kan redigeer",
"Can share" : "Kan deel",
"Owner" : "Eienaar",
"Delete" : "Skrap",
"Edit" : "Wysig",
"Download" : "Laai af",
"Comments" : "Kommentare",
"Modified" : "Gewysig",
"Created" : "Geskep",
"Due date" : "Sperdatum",
"Select Date" : "Kies Datum",
"Today" : "Vandag",
"Tomorrow" : "Môre",
"Save" : "Stoor",
"Reply" : "Antwoord",
"Update" : "Werk by",
"Description" : "Beskrywing",
"seconds ago" : "sekondes gelede",
"Shared with you" : "Met u gedeel",
"No notifications" : "Geen kennisgewings",
"An error occurred" : "'n Fout het voorgekom",
"Share" : "Deel"
"Today" : "Vandag",
"Tomorrow" : "Môre",
"This week" : "Vandeesweek"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}

View File

@@ -1,23 +0,0 @@
OC.L10N.register(
"deck",
{
"Done" : "Feito",
"The file was uploaded" : "O fichero estió puyato",
"The uploaded file exceeds the upload_max_filesize directive in php.ini" : "O fichero puyato sobrexe a directiva upload_max_filesize en php.ini",
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "O fichero cargau supera a directiva MAX_FILE_SIZE que s'espezificó en o formulario HTML",
"The file was only partially uploaded" : "O fichero nomás s'ha cargau parzialmén",
"No file was uploaded" : "No s'ha cargau garra fichero",
"Missing a temporary folder" : "Falta una carpeta temporal",
"Could not write file to disk" : "No se podió escribir o fichero en o disco",
"A PHP extension stopped the file upload" : "Una estensión de PHP aturó a carga de fichers",
"Cancel" : "Canzelar",
"Close" : "Zarrar",
"Details" : "Detalles",
"Tags" : "Etiquetas",
"Delete" : "Borrar",
"Download" : "Escargar",
"Modified" : "Modificau",
"Today" : "Hue",
"Share" : "Compartir"
},
"nplurals=2; plural=(n != 1);");

View File

@@ -1,21 +0,0 @@
{ "translations": {
"Done" : "Feito",
"The file was uploaded" : "O fichero estió puyato",
"The uploaded file exceeds the upload_max_filesize directive in php.ini" : "O fichero puyato sobrexe a directiva upload_max_filesize en php.ini",
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "O fichero cargau supera a directiva MAX_FILE_SIZE que s'espezificó en o formulario HTML",
"The file was only partially uploaded" : "O fichero nomás s'ha cargau parzialmén",
"No file was uploaded" : "No s'ha cargau garra fichero",
"Missing a temporary folder" : "Falta una carpeta temporal",
"Could not write file to disk" : "No se podió escribir o fichero en o disco",
"A PHP extension stopped the file upload" : "Una estensión de PHP aturó a carga de fichers",
"Cancel" : "Canzelar",
"Close" : "Zarrar",
"Details" : "Detalles",
"Tags" : "Etiquetas",
"Delete" : "Borrar",
"Download" : "Escargar",
"Modified" : "Modificau",
"Today" : "Hue",
"Share" : "Compartir"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}

View File

@@ -104,6 +104,7 @@ OC.L10N.register(
"Path is already shared with this card" : "تم مشاركة المسار بالفعل مع هذه البطاقة ",
"Invalid date, date format must be YYYY-MM-DD" : "تاريخ غير صحيح, يجب أن يكون تنسيق التاريخ YYYY-MM-DD",
"Personal planning and team project organization" : "التخطيط الشخصي و تنظيم مشروع الفريق",
"Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.\n\n\n- 📥 Add your tasks to cards and put them in order\n- 📄 Write down additional notes in markdown\n- 🔖 Assign labels for even better organization\n- 👥 Share with your team, friends or family\n- 📎 Attach files and embed them in your markdown description\n- 💬 Discuss with your team using comments\n- ⚡ Keep track of changes in the activity stream\n- 🚀 Get your project organized" : "دك (Deck) هو أداة تنظيم باسلوب كانبان (kanban) تهدف إلى التخطيط الشخصي وتنظيم المشروع للفرق مع نيكست كلاود (Nextcloud).\n- 📥 إضافة مهامك إلى البطاقات وترتيبها\n- 📄 كتابة ملاحظات إضافية باستخدام مارك داون (markdown)\n- 🔖 تعيين تسميات لتنظيم أفضل\n- 👥 شارك مع فريقك أو أصدقائك أو عائلتك\n- 📎 إرفاق الملفات وتضمينها بالوصف المستخدم فيه مارك داون (markdown)\n- 💬 ناقش مع فريقك باستخدام التعليقات\n- ⚡ تتبع التغييرات في تيار النشاط\n- 🚀 اجعل مشروعك منظماً",
"Card details" : "تفاصيل البطاقة",
"Add board" : "إضافة لوح",
"Select the board to link to a project" : "تحديد اللوح لربطه بمشروع",
@@ -147,7 +148,6 @@ OC.L10N.register(
"Hide archived cards" : "إخفاء البطاقات المؤرشفة ",
"Show archived cards" : "اظهر البطاقات المؤرشفة",
"Toggle compact mode" : "تبديل النمط المضغوط",
"Open details" : "افتح التفاصيل",
"Details" : "التفاصيل",
"Loading board" : "جارِ تحميل اللوح..",
"No lists available" : "لا يوجد قائمة متاحه ",
@@ -169,10 +169,9 @@ OC.L10N.register(
"Can edit" : "يمكن تعديله",
"Can share" : "يمكن مشاركته",
"Can manage" : "يمكن إدارته",
"Owner" : "المالك",
"Delete" : "حذف ",
"Failed to create share with {displayName}" : "فشل في إنشاء المشاركة مع {displayName}",
"Transfer" : "نقل",
"Add a new list" : "اضف قائمة جديدة",
"Archive all cards" : "أرشفة جميع البطاقات ",
"Delete list" : "حذف القائمة",
"Archive all cards in this list" : "أرشفة جميع البطاقات في القائمة ",
@@ -188,7 +187,7 @@ OC.L10N.register(
"Share from Files" : "مشاركة من الملفات",
"Add this attachment" : "إضافة هذا المرفق",
"Show in Files" : "عرض في الملفات ",
"Download" : "تنزيل",
"Unshare file" : "عدم مشاركة الملف ",
"Delete Attachment" : "مسح المرفق",
"Restore Attachment" : "إستعادة المرفق",
"File to share" : "ملف للمشاركة",
@@ -210,10 +209,6 @@ OC.L10N.register(
"Set a due date" : "تعيين تاريخ الانجاز",
"Remove due date" : "ازالة تاريخ الانجاز",
"Select Date" : "اختر التاريخ ",
"Today" : "اليوم",
"Tomorrow" : "غدا",
"Next week" : "الاسبوع القادم",
"Next month" : "الشهر القادم",
"Save" : "حفظ",
"The comment cannot be empty." : "التعليق لايمكن ان يكون فارغا.",
"The comment cannot be longer than 1000 characters." : "التعليق لا يمكن ان يكون اطول من 1000 حرف.",
@@ -264,12 +259,15 @@ OC.L10N.register(
"Only assigned cards" : "البطاقات المخصصة فقط",
"No reminder" : "لا يوجد تذكير ",
"An error occurred" : "حدث خطأ",
"Are you sure you want to delete the board {title}? This will delete all the data of this board." : "هل انت متأكد تريد مسح اللوح {title}؟ هذا سوف يمسح جميع بيانات هذا اللوح.",
"Delete the board?" : "مسح اللوح؟",
"Loading filtered view" : "جارِ تحميل التصفية ",
"Today" : "اليوم",
"Tomorrow" : "غدا",
"This week" : "هذا الأسبوع",
"No due" : "غير محدد",
"Search for {searchQuery} in all boards" : "البحث عن {searchQuery} في جميع اللوح",
"No results found" : "لا يتم العثور على أي نتائج ",
"{stack} in {board}" : "{stack} في {board}",
"No upcoming cards" : "لا يوجد بطاقات قادمة ",
"upcoming cards" : "البطاقات القادمة",
"Link to a board" : "ربط بلوح",
@@ -282,8 +280,6 @@ OC.L10N.register(
"Error creating the share" : "خطأ في إنشاء المشاركة",
"Share with a Deck card" : "مشاركة مع بطاقة Deck",
"Share {file} with a Deck card" : "مشاركة الملف {file} مع بطاقة Deck",
"Share" : "مشاركة ",
"Add a new list" : "اضف قائمة جديدة",
"Are you sure you want to delete the board {title}? This will delete all the data of this board." : "هل انت متأكد تريد مسح اللوح {title}؟ هذا سوف يمسح جميع بيانات هذا اللوح."
"Share" : "مشاركة "
},
"nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;");

View File

@@ -102,6 +102,7 @@
"Path is already shared with this card" : "تم مشاركة المسار بالفعل مع هذه البطاقة ",
"Invalid date, date format must be YYYY-MM-DD" : "تاريخ غير صحيح, يجب أن يكون تنسيق التاريخ YYYY-MM-DD",
"Personal planning and team project organization" : "التخطيط الشخصي و تنظيم مشروع الفريق",
"Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.\n\n\n- 📥 Add your tasks to cards and put them in order\n- 📄 Write down additional notes in markdown\n- 🔖 Assign labels for even better organization\n- 👥 Share with your team, friends or family\n- 📎 Attach files and embed them in your markdown description\n- 💬 Discuss with your team using comments\n- ⚡ Keep track of changes in the activity stream\n- 🚀 Get your project organized" : "دك (Deck) هو أداة تنظيم باسلوب كانبان (kanban) تهدف إلى التخطيط الشخصي وتنظيم المشروع للفرق مع نيكست كلاود (Nextcloud).\n- 📥 إضافة مهامك إلى البطاقات وترتيبها\n- 📄 كتابة ملاحظات إضافية باستخدام مارك داون (markdown)\n- 🔖 تعيين تسميات لتنظيم أفضل\n- 👥 شارك مع فريقك أو أصدقائك أو عائلتك\n- 📎 إرفاق الملفات وتضمينها بالوصف المستخدم فيه مارك داون (markdown)\n- 💬 ناقش مع فريقك باستخدام التعليقات\n- ⚡ تتبع التغييرات في تيار النشاط\n- 🚀 اجعل مشروعك منظماً",
"Card details" : "تفاصيل البطاقة",
"Add board" : "إضافة لوح",
"Select the board to link to a project" : "تحديد اللوح لربطه بمشروع",
@@ -145,7 +146,6 @@
"Hide archived cards" : "إخفاء البطاقات المؤرشفة ",
"Show archived cards" : "اظهر البطاقات المؤرشفة",
"Toggle compact mode" : "تبديل النمط المضغوط",
"Open details" : "افتح التفاصيل",
"Details" : "التفاصيل",
"Loading board" : "جارِ تحميل اللوح..",
"No lists available" : "لا يوجد قائمة متاحه ",
@@ -167,10 +167,9 @@
"Can edit" : "يمكن تعديله",
"Can share" : "يمكن مشاركته",
"Can manage" : "يمكن إدارته",
"Owner" : "المالك",
"Delete" : "حذف ",
"Failed to create share with {displayName}" : "فشل في إنشاء المشاركة مع {displayName}",
"Transfer" : "نقل",
"Add a new list" : "اضف قائمة جديدة",
"Archive all cards" : "أرشفة جميع البطاقات ",
"Delete list" : "حذف القائمة",
"Archive all cards in this list" : "أرشفة جميع البطاقات في القائمة ",
@@ -186,7 +185,7 @@
"Share from Files" : "مشاركة من الملفات",
"Add this attachment" : "إضافة هذا المرفق",
"Show in Files" : "عرض في الملفات ",
"Download" : "تنزيل",
"Unshare file" : "عدم مشاركة الملف ",
"Delete Attachment" : "مسح المرفق",
"Restore Attachment" : "إستعادة المرفق",
"File to share" : "ملف للمشاركة",
@@ -208,10 +207,6 @@
"Set a due date" : "تعيين تاريخ الانجاز",
"Remove due date" : "ازالة تاريخ الانجاز",
"Select Date" : "اختر التاريخ ",
"Today" : "اليوم",
"Tomorrow" : "غدا",
"Next week" : "الاسبوع القادم",
"Next month" : "الشهر القادم",
"Save" : "حفظ",
"The comment cannot be empty." : "التعليق لايمكن ان يكون فارغا.",
"The comment cannot be longer than 1000 characters." : "التعليق لا يمكن ان يكون اطول من 1000 حرف.",
@@ -262,12 +257,15 @@
"Only assigned cards" : "البطاقات المخصصة فقط",
"No reminder" : "لا يوجد تذكير ",
"An error occurred" : "حدث خطأ",
"Are you sure you want to delete the board {title}? This will delete all the data of this board." : "هل انت متأكد تريد مسح اللوح {title}؟ هذا سوف يمسح جميع بيانات هذا اللوح.",
"Delete the board?" : "مسح اللوح؟",
"Loading filtered view" : "جارِ تحميل التصفية ",
"Today" : "اليوم",
"Tomorrow" : "غدا",
"This week" : "هذا الأسبوع",
"No due" : "غير محدد",
"Search for {searchQuery} in all boards" : "البحث عن {searchQuery} في جميع اللوح",
"No results found" : "لا يتم العثور على أي نتائج ",
"{stack} in {board}" : "{stack} في {board}",
"No upcoming cards" : "لا يوجد بطاقات قادمة ",
"upcoming cards" : "البطاقات القادمة",
"Link to a board" : "ربط بلوح",
@@ -280,8 +278,6 @@
"Error creating the share" : "خطأ في إنشاء المشاركة",
"Share with a Deck card" : "مشاركة مع بطاقة Deck",
"Share {file} with a Deck card" : "مشاركة الملف {file} مع بطاقة Deck",
"Share" : "مشاركة ",
"Add a new list" : "اضف قائمة جديدة",
"Are you sure you want to delete the board {title}? This will delete all the data of this board." : "هل انت متأكد تريد مسح اللوح {title}؟ هذا سوف يمسح جميع بيانات هذا اللوح."
"Share" : "مشاركة "
},"pluralForm" :"nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;"
}

View File

@@ -3,7 +3,6 @@ OC.L10N.register(
{
"Deck" : "Deck",
"Personal" : "Personal",
"%s on %s" : "%s en %s",
"Finished" : "Finó",
"Action needed" : "Precísase aición",
"Later" : "Más sero",
@@ -15,9 +14,7 @@ OC.L10N.register(
"Missing a temporary folder" : "Falta un direutoriu temporal",
"Could not write file to disk" : "Nun pudo escribise nel discu'l ficheru",
"A PHP extension stopped the file upload" : "Una estensión de PHP paró la xuba de ficheros",
"Invalid date, date format must be YYYY-MM-DD" : "Data non válida, el formatu ha ser AAAA-MM-DD",
"Cancel" : "Encaboxar",
"Close" : "Zarrar",
"File already exists" : "Yá esiste'l ficheru",
"Show archived cards" : "Amosar tarxetes archivaes",
"Details" : "Detalles",
@@ -26,17 +23,13 @@ OC.L10N.register(
"Undo" : "Desfacer",
"Can edit" : "Can edit",
"Can share" : "Can share",
"Owner" : "Owner",
"Delete" : "Desaniciar",
"Edit" : "Editar",
"Members" : "Miembros",
"Download" : "Baxar",
"Attachments" : "Axuntos",
"Comments" : "Comentarios",
"Modified" : "Modificóse'l",
"Created" : "Creóse",
"Today" : "Güei",
"Tomorrow" : "Mañana",
"Save" : "Guardar",
"Reply" : "Rempuesta",
"Update" : "Anovar",
@@ -44,7 +37,8 @@ OC.L10N.register(
"(group)" : "(grupu)",
"seconds ago" : "hai segundos",
"Shared with you" : "Shared with you",
"No notifications" : "Ensin avisos",
"Share" : "Share"
"Today" : "Güei",
"Tomorrow" : "Mañana",
"This week" : "Esta selmana"
},
"nplurals=2; plural=(n != 1);");

View File

@@ -1,7 +1,6 @@
{ "translations": {
"Deck" : "Deck",
"Personal" : "Personal",
"%s on %s" : "%s en %s",
"Finished" : "Finó",
"Action needed" : "Precísase aición",
"Later" : "Más sero",
@@ -13,9 +12,7 @@
"Missing a temporary folder" : "Falta un direutoriu temporal",
"Could not write file to disk" : "Nun pudo escribise nel discu'l ficheru",
"A PHP extension stopped the file upload" : "Una estensión de PHP paró la xuba de ficheros",
"Invalid date, date format must be YYYY-MM-DD" : "Data non válida, el formatu ha ser AAAA-MM-DD",
"Cancel" : "Encaboxar",
"Close" : "Zarrar",
"File already exists" : "Yá esiste'l ficheru",
"Show archived cards" : "Amosar tarxetes archivaes",
"Details" : "Detalles",
@@ -24,17 +21,13 @@
"Undo" : "Desfacer",
"Can edit" : "Can edit",
"Can share" : "Can share",
"Owner" : "Owner",
"Delete" : "Desaniciar",
"Edit" : "Editar",
"Members" : "Miembros",
"Download" : "Baxar",
"Attachments" : "Axuntos",
"Comments" : "Comentarios",
"Modified" : "Modificóse'l",
"Created" : "Creóse",
"Today" : "Güei",
"Tomorrow" : "Mañana",
"Save" : "Guardar",
"Reply" : "Rempuesta",
"Update" : "Anovar",
@@ -42,7 +35,8 @@
"(group)" : "(grupu)",
"seconds ago" : "hai segundos",
"Shared with you" : "Shared with you",
"No notifications" : "Ensin avisos",
"Share" : "Share"
"Today" : "Güei",
"Tomorrow" : "Mañana",
"This week" : "Esta selmana"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}

View File

@@ -7,19 +7,14 @@ OC.L10N.register(
"No file was uploaded" : "Heç bir fayl yüklənilmədi",
"Missing a temporary folder" : "Müvəqqəti qovluq çatışmır",
"Cancel" : "Dayandır",
"Close" : "Bağla",
"Details" : "Detallar",
"Sharing" : "Paylaşılır",
"Tags" : "Işarələr",
"Can edit" : "Can edit",
"Can share" : "Can share",
"Owner" : "Owner",
"Delete" : "Sil",
"Edit" : "Dəyişiklik et",
"Download" : "Yüklə",
"Modified" : "Dəyişdirildi",
"Today" : "Bu gün",
"Tomorrow" : "Sabah",
"Save" : "Saxla",
"Reply" : "Cavab",
"Update" : "Yenilənmə",
@@ -27,6 +22,7 @@ OC.L10N.register(
"(group)" : "(qrup)",
"seconds ago" : "saniyələr öncə",
"Shared with you" : "Shared with you",
"Share" : "Paylaş"
"Today" : "Bu gün",
"Tomorrow" : "Sabah"
},
"nplurals=2; plural=(n != 1);");

View File

@@ -5,19 +5,14 @@
"No file was uploaded" : "Heç bir fayl yüklənilmədi",
"Missing a temporary folder" : "Müvəqqəti qovluq çatışmır",
"Cancel" : "Dayandır",
"Close" : "Bağla",
"Details" : "Detallar",
"Sharing" : "Paylaşılır",
"Tags" : "Işarələr",
"Can edit" : "Can edit",
"Can share" : "Can share",
"Owner" : "Owner",
"Delete" : "Sil",
"Edit" : "Dəyişiklik et",
"Download" : "Yüklə",
"Modified" : "Dəyişdirildi",
"Today" : "Bu gün",
"Tomorrow" : "Sabah",
"Save" : "Saxla",
"Reply" : "Cavab",
"Update" : "Yenilənmə",
@@ -25,6 +20,7 @@
"(group)" : "(qrup)",
"seconds ago" : "saniyələr öncə",
"Shared with you" : "Shared with you",
"Share" : "Paylaş"
"Today" : "Bu gün",
"Tomorrow" : "Sabah"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}

View File

@@ -68,32 +68,25 @@ OC.L10N.register(
"Changes in the <strong>Deck app</strong>" : "Промени в <strong>приложението Deck</strong>",
"A <strong>comment</strong> was created on a card" : "На картата е създаден <strong>коментар</strong>",
"Upcoming cards" : "Предстоящи карти",
"Load more" : "Зареждане на още",
"Personal" : "Лични",
"The card \"%s\" on \"%s\" has been assigned to you by %s." : "Картата \"%s\" на \"%s\" Ви е била възложена от %s.",
"{user} has assigned the card {deck-card} on {deck-board} to you." : "{user} е възложил картата {deck-card} на {deck-board} на Вас.",
"The card \"%s\" on \"%s\" has reached its due date." : "Картата \"%s\" on \"%s\" е достигнала датата на падежа си.",
"The card {deck-card} on {deck-board} has reached its due date." : "Картата {deck-card} на {deck-board} е достигнала датата на падежа си.",
"%s has mentioned you in a comment on \"%s\"." : "%s те спомена в коментар за “%s”",
"{user} has mentioned you in a comment on {deck-card}." : "{user} те спомена в коментар за {deck-card}.",
"The board \"%s\" has been shared with you by %s." : "Таблото \"%s\" е споделено с вас от%s.",
"{user} has shared {deck-board} with you." : "{user} сподели {deck-board} с Вас.",
"Card comments" : "Коментари на карти",
"%s on %s" : "%s на %s",
"No data was provided to create an attachment." : "Не бяха предоставени данни за създаване на прикачен файл.",
"Finished" : "Готово",
"To review" : "За преглед",
"Action needed" : "Необходимо е действие",
"Later" : "По-късно",
"copy" : "Копиране",
"To do" : "Задачи",
"Doing" : "Задачи в процес на изпълнение",
"Done" : "Завършено",
"To do" : "Да направя",
"Doing" : "Правя",
"Done" : "Готово",
"Example Task 3" : "Примерна задача 3",
"Example Task 2" : "Примерна задача 2",
"Example Task 1" : "Примерна задача 1",
"The file was uploaded" : "Файлът е качен",
"The uploaded file exceeds the upload_max_filesize directive in php.ini" : "Размерът на каченият файл надвишава максималния размер определен от upload_max_filesize в php.ini:",
"The uploaded file exceeds the upload_max_filesize directive in php.ini" : "Каченият файл надвишава директивата upload_max_filesize в php.ini",
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "Размерът на файла надвишава максималния размер определен от MAX_FILE_SIZE в HTML формата.",
"The file was only partially uploaded" : "Файлът е качен частично",
"No file was uploaded" : "Нито един файл не е качен",
@@ -101,27 +94,19 @@ 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" : "Невалидна дата, форматът е различен от ГГГГ-ММ-ДД",
"Personal planning and team project organization" : "Лично планиране и организация на екипни проекти",
"Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.\n\n\n- 📥 Add your tasks to cards and put them in order\n- 📄 Write down additional notes in Markdown\n- 🔖 Assign labels for even better organization\n- 👥 Share with your team, friends or family\n- 📎 Attach files and embed them in your Markdown description\n- 💬 Discuss with your team using comments\n- ⚡ Keep track of changes in the activity stream\n- 🚀 Get your project organized" : "Deck е инструмент за организация в стил kanban, насочен към лично планиране и организация на проекти за екипи, интегрирани с Nextcloud.\n\n\n- 📥 Добавете задачите си към карти и ги подредете\n- 📄 Запишете допълнителни бележки в markdown формат\n- Присвояване на етикети за още по-добра организация\n- 👥 Споделете с вашия екип, приятели или семейство\n- 📎Прикачете файлове и ги вградете във вашето описание за маркиране\n- 💬Обсъдете с вашия екип, като използвате коментари\n- ⚡ Проследявайте промените в потока от дейности\n- 🚀 Организирайте проекта си",
"Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.\n\n\n- 📥 Add your tasks to cards and put them in order\n- 📄 Write down additional notes in markdown\n- 🔖 Assign labels for even better organization\n- 👥 Share with your team, friends or family\n- 📎 Attach files and embed them in your markdown description\n- 💬 Discuss with your team using comments\n- ⚡ Keep track of changes in the activity stream\n- 🚀 Get your project organized" : "Deck е инструмент за организация в стил kanban, насочен към лично планиране и организация на проекти за екипи, интегрирани с Nextcloud.\n\n\n- 📥 Добавете задачите си към карти и ги подредете\n- 📄 Запишете допълнителни бележки в markdown формат\n- Присвояване на етикети за още по-добра организация\n- 👥 Споделете с вашия екип, приятели или семейство\n- 📎Прикачете файлове и ги вградете във вашето описание за маркиране\n- 💬Обсъдете с вашия екип, като използвате коментари\n- ⚡ Проследявайте промените в потока от дейности\n- 🚀 Организирайте проекта си",
"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" : "Връзка към карта",
@@ -136,7 +121,6 @@ OC.L10N.register(
"Archived cards" : "Архивирани карти",
"Add list" : "Добави списък",
"List name" : "Име на списък",
"Active filters" : "Актижни филтри",
"Apply filter" : "Приложи филтър",
"Filter by tag" : "Филтрирай по маркер",
"Filter by assigned user" : "Филтриране по назначен потребител",
@@ -151,9 +135,7 @@ OC.L10N.register(
"Hide archived cards" : "Скриване на архивирани карти",
"Show archived cards" : "Показване на архивирани карти",
"Toggle compact mode" : "Превключване на компактен режим",
"Open details" : "Отваряне на подробности",
"Details" : "Подробности",
"Currently present people" : "Хора присъстващи в момента",
"Loading board" : "Зареждане на табло",
"No lists available" : "Няма налична списъци.",
"Create a new list to add cards to this board" : "Създайте нов списък, за да добавите карти към това табло",
@@ -174,20 +156,12 @@ OC.L10N.register(
"Can edit" : "Може да редактира",
"Can share" : "Може да споделя",
"Can manage" : "Може да управлява",
"Owner" : "Собственик",
"Delete" : "Изтриване",
"Failed to create share with {displayName}" : "Създаването на споделяне с {displayName} не бе успешно",
"Are you sure you want to transfer the board {title} to {user}?" : "Сигурни ли сте че искате да прехвърлите таблото {title} на {user}?",
"Transfer the board." : "Прехвърлете таблото.",
"Transfer" : "Прехвърляне",
"The board has been transferred to {user}" : "Таблото беше прехвърлено на {user}",
"Failed to transfer the board to {user}" : "Неуспешно прехвърляне на таблото на {user}",
"Edit list title" : "Редактиране на заглавието на списъка",
"Add a new list" : "Добавяне на нов списък",
"Archive all cards" : "Архивира всички карти",
"Unarchive all cards" : "Разархивиране на всички карти",
"Delete list" : "Изтрива списък",
"Archive all cards in this list" : "Архивира всички карти в този списък",
"Unarchive all cards in this list" : "Разархивиране всички карти в този списък",
"Add a new card" : "Добави нова карта",
"Card name" : "Име на карта",
"List deleted" : "Списъкът е изтрит",
@@ -198,11 +172,9 @@ OC.L10N.register(
"Members" : "Членове",
"Upload new files" : "Качи нови файлове",
"Share from Files" : "Споделяне от Файлове",
"Pending share" : "Чакащо споделяне",
"Add this attachment" : "Добавете този прикачен файл",
"Show in Files" : "Показване във файлове",
"Download" : "Изтегляне",
"Remove attachment" : "Премахване на прикачен файл",
"Unshare file" : "Прекратяване на споделянето на файла",
"Delete Attachment" : "Изтриване на прикачен файл",
"Restore Attachment" : "Възстановяване на прикачен файл",
"File to share" : "Файл за споделяне",
@@ -215,7 +187,6 @@ OC.L10N.register(
"Created" : "Създаден",
"The title cannot be empty." : "Заглавието не може да бъде празно.",
"No comments yet. Begin the discussion!" : "Все още няма коментари. Започнете дискусията!",
"Failed to load comments" : "Неуспешно зареждане на коментари",
"Assign a tag to this card…" : "Присвояване на етикет на тази карта ...",
"Assign to users" : "Зачисляване към потребители",
"Assign to users/groups/circles" : "Зачисляване към потребители/групи/кръгове",
@@ -224,15 +195,10 @@ OC.L10N.register(
"Set a due date" : "Задаване на крайна дата",
"Remove due date" : "Премахни крайната дата",
"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" : "Описание",
@@ -245,9 +211,6 @@ OC.L10N.register(
"Write a description …" : "Напишете описание ...",
"Choose attachment" : "Избор на прикачен файл",
"(group)" : "(група)",
"Todo items" : "Елементи на задача за изпълнение",
"{count} comments, {unread} unread" : "{count} коментари, {unread} непрочетени",
"Edit card title" : "Редактиране на заглавието на карта",
"Assign to me" : "Зачисляване към мен",
"Unassign myself" : "Отмяна на зачисляването към мен",
"Move card" : "Преместване на карта",
@@ -255,15 +218,12 @@ OC.L10N.register(
"Archive card" : "Архивиране на карта",
"Delete card" : "Изтриване на карта",
"Move card to another board" : "Преместване на картата на друго табло",
"List is empty" : "Списъкът е празен",
"Card deleted" : "Картата е изтрита",
"seconds ago" : "преди секунди",
"All boards" : "Всички табла",
"Archived boards" : "Архивирани табла",
"Shared with you" : "Споделени с вас",
"Deck settings" : "Настройки на платформата",
"Use bigger card view" : "Използва по-голям изглед на картата",
"Show card ID badge" : "Показване на обозначение за самоличност на картата",
"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." : "Ограничаването на приложението Deck/набор/ ще блокира потребителите, които не са част от тези групи, да създават свои собствени табла. Потребителите все още ще могат да работят на таблата, които са споделени с тях.",
@@ -272,7 +232,6 @@ OC.L10N.register(
"Clone board" : " Клониране на табло",
"Unarchive board" : "Разархивиране натабло",
"Archive board" : "Архивиране на табло",
"Export board" : "Експортиране на табло",
"Turn on due date reminders" : "Включва напомнянията за краен срок",
"Turn off due date reminders" : "Изключва напомнянията за краен срок",
"Due date reminders" : " Напомняния за краен срок",
@@ -284,34 +243,23 @@ OC.L10N.register(
"Only assigned cards" : "Само зачислените карти",
"No reminder" : "Няма напомняне",
"An error occurred" : "Възникна грешка",
"Are you sure you want to delete the board {title}? This will delete all the data of this board including archived cards." : "Сигурни ли сте, че искате да изтриете таблото {title}? Това ще изтрие всички данни на това табло, включително архивираните карти.",
"Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Сигурни ли сте, че искате да изтриете таблото {title}? Това ще изтрие всички данни на това табло.",
"Delete the board?" : "Изтриване на таблото?",
"Loading filtered view" : "Зареждане на филтриран изглед",
"Today" : "Днес",
"Tomorrow" : "Утре",
"This week" : "Тази седмица",
"No due" : "Не се дължи",
"Search for {searchQuery} in all boards" : "Търсене на {searchQuery} във всички табла",
"No results found" : "Няма намерени резултати",
"{stack} in {board}" : "{stack} в {board}",
"Click to expand description" : "Кликване за разширяване на описанието",
"* Created on {created}\n* Last modified on {lastMod}\n* {nbAttachments} attachments\n* {nbComments} comments" : "* Създаден на {created}\n* Последна промяна на {lastMod} \n* {nbAttachments} прикачени файлове \n* {nbComments} коментара",
"{nbCards} cards" : "{nbCards} карти",
"No upcoming cards" : "Няма предстоящи карти",
"upcoming cards" : "предстоящи карти",
"Due on {date}" : "Краен срок до {date}",
"Link to a board" : "Линк към табло",
"Link to a card" : "Линк към карта",
"Create a card" : "Създаване на карта",
"Message from {author} in {conversationName}" : "Съобщение от {author} в {conversationName}",
"Something went wrong" : "Нещо се обърка",
"Failed to upload {name}" : " Неуспешно качване на {name}",
"Maximum file size of {size} exceeded" : "Максималният размер на файла от {size} е надвишен",
"Error creating the share" : "Грешка при създаване на споделяне",
"Share with a Deck card" : "Споделяне с Deck карта",
"Share {file} with a Deck card" : "Споделяне {file} с Deck карта",
"Share" : "Споделяне",
"Are you sure you want to transfer the board {title} for {user}?" : "Сигурни ли сте че искате да прехвърлите таблото {title} на {user}?",
"Transfer the board for {user} successfully" : "Успешно прехвърляне на таблото към {user} ",
"Failed to transfer the board for {user}" : "Неуспешно прехвърляне на таблото към {user}",
"Add a new list" : "Добавяне на нов списък",
"Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Сигурни ли сте, че искате да изтриете таблото {title}? Това ще изтрие всички данни на това табло."
"Share" : "Споделяне"
},
"nplurals=2; plural=(n != 1);");

View File

@@ -66,32 +66,25 @@
"Changes in the <strong>Deck app</strong>" : "Промени в <strong>приложението Deck</strong>",
"A <strong>comment</strong> was created on a card" : "На картата е създаден <strong>коментар</strong>",
"Upcoming cards" : "Предстоящи карти",
"Load more" : "Зареждане на още",
"Personal" : "Лични",
"The card \"%s\" on \"%s\" has been assigned to you by %s." : "Картата \"%s\" на \"%s\" Ви е била възложена от %s.",
"{user} has assigned the card {deck-card} on {deck-board} to you." : "{user} е възложил картата {deck-card} на {deck-board} на Вас.",
"The card \"%s\" on \"%s\" has reached its due date." : "Картата \"%s\" on \"%s\" е достигнала датата на падежа си.",
"The card {deck-card} on {deck-board} has reached its due date." : "Картата {deck-card} на {deck-board} е достигнала датата на падежа си.",
"%s has mentioned you in a comment on \"%s\"." : "%s те спомена в коментар за “%s”",
"{user} has mentioned you in a comment on {deck-card}." : "{user} те спомена в коментар за {deck-card}.",
"The board \"%s\" has been shared with you by %s." : "Таблото \"%s\" е споделено с вас от%s.",
"{user} has shared {deck-board} with you." : "{user} сподели {deck-board} с Вас.",
"Card comments" : "Коментари на карти",
"%s on %s" : "%s на %s",
"No data was provided to create an attachment." : "Не бяха предоставени данни за създаване на прикачен файл.",
"Finished" : "Готово",
"To review" : "За преглед",
"Action needed" : "Необходимо е действие",
"Later" : "По-късно",
"copy" : "Копиране",
"To do" : "Задачи",
"Doing" : "Задачи в процес на изпълнение",
"Done" : "Завършено",
"To do" : "Да направя",
"Doing" : "Правя",
"Done" : "Готово",
"Example Task 3" : "Примерна задача 3",
"Example Task 2" : "Примерна задача 2",
"Example Task 1" : "Примерна задача 1",
"The file was uploaded" : "Файлът е качен",
"The uploaded file exceeds the upload_max_filesize directive in php.ini" : "Размерът на каченият файл надвишава максималния размер определен от upload_max_filesize в php.ini:",
"The uploaded file exceeds the upload_max_filesize directive in php.ini" : "Каченият файл надвишава директивата upload_max_filesize в php.ini",
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "Размерът на файла надвишава максималния размер определен от MAX_FILE_SIZE в HTML формата.",
"The file was only partially uploaded" : "Файлът е качен частично",
"No file was uploaded" : "Нито един файл не е качен",
@@ -99,27 +92,19 @@
"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" : "Невалидна дата, форматът е различен от ГГГГ-ММ-ДД",
"Personal planning and team project organization" : "Лично планиране и организация на екипни проекти",
"Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.\n\n\n- 📥 Add your tasks to cards and put them in order\n- 📄 Write down additional notes in Markdown\n- 🔖 Assign labels for even better organization\n- 👥 Share with your team, friends or family\n- 📎 Attach files and embed them in your Markdown description\n- 💬 Discuss with your team using comments\n- ⚡ Keep track of changes in the activity stream\n- 🚀 Get your project organized" : "Deck е инструмент за организация в стил kanban, насочен към лично планиране и организация на проекти за екипи, интегрирани с Nextcloud.\n\n\n- 📥 Добавете задачите си към карти и ги подредете\n- 📄 Запишете допълнителни бележки в markdown формат\n- Присвояване на етикети за още по-добра организация\n- 👥 Споделете с вашия екип, приятели или семейство\n- 📎Прикачете файлове и ги вградете във вашето описание за маркиране\n- 💬Обсъдете с вашия екип, като използвате коментари\n- ⚡ Проследявайте промените в потока от дейности\n- 🚀 Организирайте проекта си",
"Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.\n\n\n- 📥 Add your tasks to cards and put them in order\n- 📄 Write down additional notes in markdown\n- 🔖 Assign labels for even better organization\n- 👥 Share with your team, friends or family\n- 📎 Attach files and embed them in your markdown description\n- 💬 Discuss with your team using comments\n- ⚡ Keep track of changes in the activity stream\n- 🚀 Get your project organized" : "Deck е инструмент за организация в стил kanban, насочен към лично планиране и организация на проекти за екипи, интегрирани с Nextcloud.\n\n\n- 📥 Добавете задачите си към карти и ги подредете\n- 📄 Запишете допълнителни бележки в markdown формат\n- Присвояване на етикети за още по-добра организация\n- 👥 Споделете с вашия екип, приятели или семейство\n- 📎Прикачете файлове и ги вградете във вашето описание за маркиране\n- 💬Обсъдете с вашия екип, като използвате коментари\n- ⚡ Проследявайте промените в потока от дейности\n- 🚀 Организирайте проекта си",
"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" : "Връзка към карта",
@@ -134,7 +119,6 @@
"Archived cards" : "Архивирани карти",
"Add list" : "Добави списък",
"List name" : "Име на списък",
"Active filters" : "Актижни филтри",
"Apply filter" : "Приложи филтър",
"Filter by tag" : "Филтрирай по маркер",
"Filter by assigned user" : "Филтриране по назначен потребител",
@@ -149,9 +133,7 @@
"Hide archived cards" : "Скриване на архивирани карти",
"Show archived cards" : "Показване на архивирани карти",
"Toggle compact mode" : "Превключване на компактен режим",
"Open details" : "Отваряне на подробности",
"Details" : "Подробности",
"Currently present people" : "Хора присъстващи в момента",
"Loading board" : "Зареждане на табло",
"No lists available" : "Няма налична списъци.",
"Create a new list to add cards to this board" : "Създайте нов списък, за да добавите карти към това табло",
@@ -172,20 +154,12 @@
"Can edit" : "Може да редактира",
"Can share" : "Може да споделя",
"Can manage" : "Може да управлява",
"Owner" : "Собственик",
"Delete" : "Изтриване",
"Failed to create share with {displayName}" : "Създаването на споделяне с {displayName} не бе успешно",
"Are you sure you want to transfer the board {title} to {user}?" : "Сигурни ли сте че искате да прехвърлите таблото {title} на {user}?",
"Transfer the board." : "Прехвърлете таблото.",
"Transfer" : "Прехвърляне",
"The board has been transferred to {user}" : "Таблото беше прехвърлено на {user}",
"Failed to transfer the board to {user}" : "Неуспешно прехвърляне на таблото на {user}",
"Edit list title" : "Редактиране на заглавието на списъка",
"Add a new list" : "Добавяне на нов списък",
"Archive all cards" : "Архивира всички карти",
"Unarchive all cards" : "Разархивиране на всички карти",
"Delete list" : "Изтрива списък",
"Archive all cards in this list" : "Архивира всички карти в този списък",
"Unarchive all cards in this list" : "Разархивиране всички карти в този списък",
"Add a new card" : "Добави нова карта",
"Card name" : "Име на карта",
"List deleted" : "Списъкът е изтрит",
@@ -196,11 +170,9 @@
"Members" : "Членове",
"Upload new files" : "Качи нови файлове",
"Share from Files" : "Споделяне от Файлове",
"Pending share" : "Чакащо споделяне",
"Add this attachment" : "Добавете този прикачен файл",
"Show in Files" : "Показване във файлове",
"Download" : "Изтегляне",
"Remove attachment" : "Премахване на прикачен файл",
"Unshare file" : "Прекратяване на споделянето на файла",
"Delete Attachment" : "Изтриване на прикачен файл",
"Restore Attachment" : "Възстановяване на прикачен файл",
"File to share" : "Файл за споделяне",
@@ -213,7 +185,6 @@
"Created" : "Създаден",
"The title cannot be empty." : "Заглавието не може да бъде празно.",
"No comments yet. Begin the discussion!" : "Все още няма коментари. Започнете дискусията!",
"Failed to load comments" : "Неуспешно зареждане на коментари",
"Assign a tag to this card…" : "Присвояване на етикет на тази карта ...",
"Assign to users" : "Зачисляване към потребители",
"Assign to users/groups/circles" : "Зачисляване към потребители/групи/кръгове",
@@ -222,15 +193,10 @@
"Set a due date" : "Задаване на крайна дата",
"Remove due date" : "Премахни крайната дата",
"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" : "Описание",
@@ -243,9 +209,6 @@
"Write a description …" : "Напишете описание ...",
"Choose attachment" : "Избор на прикачен файл",
"(group)" : "(група)",
"Todo items" : "Елементи на задача за изпълнение",
"{count} comments, {unread} unread" : "{count} коментари, {unread} непрочетени",
"Edit card title" : "Редактиране на заглавието на карта",
"Assign to me" : "Зачисляване към мен",
"Unassign myself" : "Отмяна на зачисляването към мен",
"Move card" : "Преместване на карта",
@@ -253,15 +216,12 @@
"Archive card" : "Архивиране на карта",
"Delete card" : "Изтриване на карта",
"Move card to another board" : "Преместване на картата на друго табло",
"List is empty" : "Списъкът е празен",
"Card deleted" : "Картата е изтрита",
"seconds ago" : "преди секунди",
"All boards" : "Всички табла",
"Archived boards" : "Архивирани табла",
"Shared with you" : "Споделени с вас",
"Deck settings" : "Настройки на платформата",
"Use bigger card view" : "Използва по-голям изглед на картата",
"Show card ID badge" : "Показване на обозначение за самоличност на картата",
"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." : "Ограничаването на приложението Deck/набор/ ще блокира потребителите, които не са част от тези групи, да създават свои собствени табла. Потребителите все още ще могат да работят на таблата, които са споделени с тях.",
@@ -270,7 +230,6 @@
"Clone board" : " Клониране на табло",
"Unarchive board" : "Разархивиране натабло",
"Archive board" : "Архивиране на табло",
"Export board" : "Експортиране на табло",
"Turn on due date reminders" : "Включва напомнянията за краен срок",
"Turn off due date reminders" : "Изключва напомнянията за краен срок",
"Due date reminders" : " Напомняния за краен срок",
@@ -282,34 +241,23 @@
"Only assigned cards" : "Само зачислените карти",
"No reminder" : "Няма напомняне",
"An error occurred" : "Възникна грешка",
"Are you sure you want to delete the board {title}? This will delete all the data of this board including archived cards." : "Сигурни ли сте, че искате да изтриете таблото {title}? Това ще изтрие всички данни на това табло, включително архивираните карти.",
"Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Сигурни ли сте, че искате да изтриете таблото {title}? Това ще изтрие всички данни на това табло.",
"Delete the board?" : "Изтриване на таблото?",
"Loading filtered view" : "Зареждане на филтриран изглед",
"Today" : "Днес",
"Tomorrow" : "Утре",
"This week" : "Тази седмица",
"No due" : "Не се дължи",
"Search for {searchQuery} in all boards" : "Търсене на {searchQuery} във всички табла",
"No results found" : "Няма намерени резултати",
"{stack} in {board}" : "{stack} в {board}",
"Click to expand description" : "Кликване за разширяване на описанието",
"* Created on {created}\n* Last modified on {lastMod}\n* {nbAttachments} attachments\n* {nbComments} comments" : "* Създаден на {created}\n* Последна промяна на {lastMod} \n* {nbAttachments} прикачени файлове \n* {nbComments} коментара",
"{nbCards} cards" : "{nbCards} карти",
"No upcoming cards" : "Няма предстоящи карти",
"upcoming cards" : "предстоящи карти",
"Due on {date}" : "Краен срок до {date}",
"Link to a board" : "Линк към табло",
"Link to a card" : "Линк към карта",
"Create a card" : "Създаване на карта",
"Message from {author} in {conversationName}" : "Съобщение от {author} в {conversationName}",
"Something went wrong" : "Нещо се обърка",
"Failed to upload {name}" : " Неуспешно качване на {name}",
"Maximum file size of {size} exceeded" : "Максималният размер на файла от {size} е надвишен",
"Error creating the share" : "Грешка при създаване на споделяне",
"Share with a Deck card" : "Споделяне с Deck карта",
"Share {file} with a Deck card" : "Споделяне {file} с Deck карта",
"Share" : "Споделяне",
"Are you sure you want to transfer the board {title} for {user}?" : "Сигурни ли сте че искате да прехвърлите таблото {title} на {user}?",
"Transfer the board for {user} successfully" : "Успешно прехвърляне на таблото към {user} ",
"Failed to transfer the board for {user}" : "Неуспешно прехвърляне на таблото към {user}",
"Add a new list" : "Добавяне на нов списък",
"Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Сигурни ли сте, че искате да изтриете таблото {title}? Това ще изтрие всички данни на това табло."
"Share" : "Споделяне"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}

View File

@@ -7,19 +7,14 @@ OC.L10N.register(
"No file was uploaded" : "কোন ফাইল আপলোড করা হয় নি",
"Missing a temporary folder" : "অস্থায়ী ফোল্ডারটি হারানো গিয়েছে",
"Cancel" : "বাতির",
"Close" : "বন্ধ",
"Details" : "বিসতারিত",
"Sharing" : "ভাগাভাগিরত",
"Tags" : "ট্যাগ",
"Can edit" : "Can edit",
"Can share" : "Can share",
"Owner" : "Owner",
"Delete" : "মুছে",
"Edit" : "সম্পাদনা",
"Download" : "ডাউনলোড",
"Modified" : "পরিবর্তিত",
"Today" : "আজ",
"Tomorrow" : "আগামীকাল",
"Save" : "সংরক্ষণ",
"Reply" : "জবাব",
"Update" : "পরিবর্ধন",
@@ -27,6 +22,7 @@ OC.L10N.register(
"(group)" : "(গোষ্ঠি)",
"seconds ago" : "সেকেন্ড পূর্বে",
"Shared with you" : "Shared with you",
"Share" : "ভাগাভাগি কর"
"Today" : "আজ",
"Tomorrow" : "আগামীকাল"
},
"nplurals=2; plural=(n != 1);");

View File

@@ -5,19 +5,14 @@
"No file was uploaded" : "কোন ফাইল আপলোড করা হয় নি",
"Missing a temporary folder" : "অস্থায়ী ফোল্ডারটি হারানো গিয়েছে",
"Cancel" : "বাতির",
"Close" : "বন্ধ",
"Details" : "বিসতারিত",
"Sharing" : "ভাগাভাগিরত",
"Tags" : "ট্যাগ",
"Can edit" : "Can edit",
"Can share" : "Can share",
"Owner" : "Owner",
"Delete" : "মুছে",
"Edit" : "সম্পাদনা",
"Download" : "ডাউনলোড",
"Modified" : "পরিবর্তিত",
"Today" : "আজ",
"Tomorrow" : "আগামীকাল",
"Save" : "সংরক্ষণ",
"Reply" : "জবাব",
"Update" : "পরিবর্ধন",
@@ -25,6 +20,7 @@
"(group)" : "(গোষ্ঠি)",
"seconds ago" : "সেকেন্ড পূর্বে",
"Shared with you" : "Shared with you",
"Share" : "ভাগাভাগি কর"
"Today" : "আজ",
"Tomorrow" : "আগামীকাল"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}

View File

@@ -5,30 +5,17 @@ OC.L10N.register(
"Finished" : "Achuet",
"copy" : "eil",
"Done" : "Graet",
"Invalid date, date format must be YYYY-MM-DD" : "Deizat fall, stumm an deizat a zo ret bezhañ BBBB-MM-DD",
"Cancel" : "Arrest",
"Close" : "Seriñ",
"Drop your files to upload" : "Laoskit ho restroù evit pellkas",
"Details" : "Munudoù",
"Sharing" : "Rannan",
"Tags" : "Klavioù",
"Can edit" : "Posuple eo embann",
"Can share" : "Galout a ra rannañ",
"Owner" : "Perc'henner",
"Delete" : "Dilemel",
"Transfer" : "Treuzkas",
"Edit" : "Cheñch",
"Upload new files" : "Pelkas ur restr nevez",
"Share from Files" : "Rannañ diouzh Restroù",
"Download" : "Pellgargañ",
"File to share" : "Restr da rannañ",
"Invalid path selected" : "An hent dibabet n'eus ket anezhañ",
"Comments" : "Displegadennoù",
"Modified" : "Cheñchet",
"Today" : "Hiziv",
"Tomorrow" : "Warc'hoaz",
"Next week" : "Sizhun a zeu",
"Next month" : "Miz a zeu",
"Save" : "Enrollañ",
"Reply" : "Respont",
"Update" : "Adnevesaat",
@@ -36,7 +23,8 @@ OC.L10N.register(
"(group)" : "(strollad)",
"seconds ago" : "eilenn zo",
"Shared with you" : "Rannet ganeoc'h",
"No notifications" : "Kemenaden ebet",
"Share" : "Rannan"
"Today" : "Hiziv",
"Tomorrow" : "Warc'hoaz",
"This week" : "Er sizhun-mañ"
},
"nplurals=5; plural=((n%10 == 1) && (n%100 != 11) && (n%100 !=71) && (n%100 !=91) ? 0 :(n%10 == 2) && (n%100 != 12) && (n%100 !=72) && (n%100 !=92) ? 1 :(n%10 ==3 || n%10==4 || n%10==9) && (n%100 < 10 || n% 100 > 19) && (n%100 < 70 || n%100 > 79) && (n%100 < 90 || n%100 > 99) ? 2 :(n != 0 && n % 1000000 == 0) ? 3 : 4);");

View File

@@ -3,30 +3,17 @@
"Finished" : "Achuet",
"copy" : "eil",
"Done" : "Graet",
"Invalid date, date format must be YYYY-MM-DD" : "Deizat fall, stumm an deizat a zo ret bezhañ BBBB-MM-DD",
"Cancel" : "Arrest",
"Close" : "Seriñ",
"Drop your files to upload" : "Laoskit ho restroù evit pellkas",
"Details" : "Munudoù",
"Sharing" : "Rannan",
"Tags" : "Klavioù",
"Can edit" : "Posuple eo embann",
"Can share" : "Galout a ra rannañ",
"Owner" : "Perc'henner",
"Delete" : "Dilemel",
"Transfer" : "Treuzkas",
"Edit" : "Cheñch",
"Upload new files" : "Pelkas ur restr nevez",
"Share from Files" : "Rannañ diouzh Restroù",
"Download" : "Pellgargañ",
"File to share" : "Restr da rannañ",
"Invalid path selected" : "An hent dibabet n'eus ket anezhañ",
"Comments" : "Displegadennoù",
"Modified" : "Cheñchet",
"Today" : "Hiziv",
"Tomorrow" : "Warc'hoaz",
"Next week" : "Sizhun a zeu",
"Next month" : "Miz a zeu",
"Save" : "Enrollañ",
"Reply" : "Respont",
"Update" : "Adnevesaat",
@@ -34,7 +21,8 @@
"(group)" : "(strollad)",
"seconds ago" : "eilenn zo",
"Shared with you" : "Rannet ganeoc'h",
"No notifications" : "Kemenaden ebet",
"Share" : "Rannan"
"Today" : "Hiziv",
"Tomorrow" : "Warc'hoaz",
"This week" : "Er sizhun-mañ"
},"pluralForm" :"nplurals=5; plural=((n%10 == 1) && (n%100 != 11) && (n%100 !=71) && (n%100 !=91) ? 0 :(n%10 == 2) && (n%100 != 12) && (n%100 !=72) && (n%100 !=92) ? 1 :(n%10 ==3 || n%10==4 || n%10==9) && (n%100 < 10 || n% 100 > 19) && (n%100 < 70 || n%100 > 79) && (n%100 < 90 || n%100 > 99) ? 2 :(n != 0 && n % 1000000 == 0) ? 3 : 4);"
}

View File

@@ -7,24 +7,20 @@ OC.L10N.register(
"No file was uploaded" : "Nijedna datoteka nije učitana.",
"Missing a temporary folder" : "Nedostaje privremeni direktorij.",
"Cancel" : "Otkaži",
"Close" : "Zatvori",
"Sharing" : "Dijeljenje",
"Can edit" : "Can edit",
"Can share" : "Can share",
"Owner" : "Vlasnik",
"Delete" : "Obriši",
"Edit" : "Izmjeni",
"Members" : "Članovi",
"Download" : "Preuzmi",
"Comments" : "Komentari",
"Modified" : "Izmijenjeno",
"Today" : "Danas",
"Tomorrow" : "Sutra",
"Save" : "Spremi",
"Update" : "Ažuriraj",
"Description" : "Opis",
"Shared with you" : "Shared with you",
"Maximum file size of {size} exceeded" : "Maksimalna veličina datoteke prekoračena",
"Share" : "Podjeli"
"Today" : "Danas",
"Tomorrow" : "Sutra",
"Maximum file size of {size} exceeded" : "Maksimalna veličina datoteke prekoračena"
},
"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);");

View File

@@ -5,24 +5,20 @@
"No file was uploaded" : "Nijedna datoteka nije učitana.",
"Missing a temporary folder" : "Nedostaje privremeni direktorij.",
"Cancel" : "Otkaži",
"Close" : "Zatvori",
"Sharing" : "Dijeljenje",
"Can edit" : "Can edit",
"Can share" : "Can share",
"Owner" : "Vlasnik",
"Delete" : "Obriši",
"Edit" : "Izmjeni",
"Members" : "Članovi",
"Download" : "Preuzmi",
"Comments" : "Komentari",
"Modified" : "Izmijenjeno",
"Today" : "Danas",
"Tomorrow" : "Sutra",
"Save" : "Spremi",
"Update" : "Ažuriraj",
"Description" : "Opis",
"Shared with you" : "Shared with you",
"Maximum file size of {size} exceeded" : "Maksimalna veličina datoteke prekoračena",
"Share" : "Podjeli"
"Today" : "Danas",
"Tomorrow" : "Sutra",
"Maximum file size of {size} exceeded" : "Maksimalna veličina datoteke prekoračena"
},"pluralForm" :"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);"
}

View File

@@ -29,7 +29,7 @@ OC.L10N.register(
"{user} has deleted card {card} in list {stack} on board {board}" : "{user} ha suprimit la targeta {card} a la llista {stack} al tauler {board}",
"You have renamed the card {before} to {card}" : "Heu reanomenat la targeta {before} a {card}",
"{user} has renamed the card {before} to {card}" : "{user} ha reanomenat la targeta {before} a {card}",
"You have added a description to card {card} in list {stack} on board {board}" : "Heu afegit una descripció a la targeta {card} a la llista {stack} del tauler {board}",
"You have added a description to card {card} in list {stack} on board {board}" : "Heu afegit una descripció a la targeta {card} a la llista {stack} al tauler {board}",
"{user} has added a description to card {card} in list {stack} on board {board}" : "{user} ha afegit una descripció a la targeta {card} a la llista {stack} al tauler {board}",
"You have updated the description of card {card} in list {stack} on board {board}" : "Heu actualitzat la descripció de la targeta {card} a la llista {stack} al tauler {board}",
"{user} has updated the description of the card {card} in list {stack} on board {board}" : "{user} ha actualitzat la descripció de la targeta {card} a la llista {stack} al tauler {board}",
@@ -37,12 +37,12 @@ OC.L10N.register(
"{user} has archived card {card} in list {stack} on board {board}" : "{user} té la targeta arxivada {card} a la llista {stack} al tauler {board}",
"You have unarchived card {card} in list {stack} on board {board}" : "Teniu una targeta no-arxchivada {card} a la llista {stack} al tauler {board}",
"{user} has unarchived card {card} in list {stack} on board {board}" : "{user} té una targeta no-arxivada {card} a la llista {stack} al tauler {board}",
"You have removed the due date of card {card}" : "Heu suprimit la data de caducitat de la targeta {targeta}",
"{user} has removed the due date of card {card}" : "{user} ha suprimit la data de caducitat de la targeta {targeta}",
"You have set the due date of card {card} to {after}" : "Heu establert la data de caducitat de la targeta {card} a {after}",
"{user} has set the due date of card {card} to {after}" : "{user} ha establert la data de caducitat de la targeta {card} a {after}",
"You have updated the due date of card {card} to {after}" : "Heu actualitzat la data de caducitat de la targeta {card} a {after}",
"{user} has updated the due date of card {card} to {after}" : "{user} ha actualitzat la data de caducitat de la targeta {card} a {after}",
"You have removed the due date of card {card}" : "Heu suprimit la data de venciment de la targeta {targeta}",
"{user} has removed the due date of card {card}" : "{user} ha suprimit la data de venciment de la targeta {targeta}",
"You have set the due date of card {card} to {after}" : "Heu establert la data de venciment de la targeta {card} a {after}",
"{user} has set the due date of card {card} to {after}" : "{user} ha establert la data de venciment de la targeta {card} a {after}",
"You have updated the due date of card {card} to {after}" : "Heu actualitzat la data de venciment de la targeta {card} a {after}",
"{user} has updated the due date of card {card} to {after}" : "{user} ha actualitzat la data de venciment de la targeta {card} a {after}",
"You have added the tag {label} to card {card} in list {stack} on board {board}" : "Heu afegit l'etiqueta {label} a la targeta {card} a la llista {stack} al tauler {board}",
"{user} has added the tag {label} to card {card} in list {stack} on board {board}" : "{user} ha afegit l'etiqueta {label} a la targeta {card} a la llista {stack} al tauler {board}",
"You have removed the tag {label} from card {card} in list {stack} on board {board}" : "Heu eliminat l'etiqueta {label} de la targeta {card} a la llista {stack} al tauler {board}",
@@ -66,20 +66,13 @@ OC.L10N.register(
"A <strong>card description</strong> inside the Deck app has been changed" : "S'ha canviat una <strong>descripció de targeta</strong> a l'aplicació Tauler",
"Deck" : "Targetes",
"Changes in the <strong>Deck app</strong>" : "Canvis a l'<strong>aplicació Targetes</strong>",
"A <strong>comment</strong> was created on a card" : "S'ha creat un <strong>comentari</strong> a una targeta",
"A <strong>comment</strong> was created on a card" : "S'ha afegit un <strong>comentari</strong> a una targeta",
"Upcoming cards" : "Pròximes targetes",
"Load more" : "Carrega'n més",
"Personal" : "Personal",
"The card \"%s\" on \"%s\" has been assigned to you by %s." : "La targeta \"%s\" sobre \"%s\" se us ha assignat per %s.",
"{user} has assigned the card {deck-card} on {deck-board} to you." : "{user} us ha assignat la targeta {deck-card} a {deck-board}.",
"The card \"%s\" on \"%s\" has reached its due date." : "La targeta \"%s\" sobre \"%s\" ha assolit la seva data de caducitat.",
"The card {deck-card} on {deck-board} has reached its due date." : "La targeta {deck-card} a {deck-board} ha assolit la seva data de caducitat.",
"The card \"%s\" on \"%s\" has reached its due date." : "La targeta \"%s\" sobre \"%s\" ha assolit la seva data de venciment.",
"%s has mentioned you in a comment on \"%s\"." : "%s us ha anomenat en un comentari sobre \"%s\".",
"{user} has mentioned you in a comment on {deck-card}." : "{user} us ha mencionat en un comentari a {deck-card}.",
"The board \"%s\" has been shared with you by %s." : "El tauler \"%s\" se us ha compartit per %s.",
"{user} has shared {deck-board} with you." : "{user} us ha compartit {board}.",
"Card comments" : "Comentaris de la targeta",
"%s on %s" : "%s a %s",
"No data was provided to create an attachment." : "No sha proporcionat cap dada per crear un fitxer adjunt.",
"Finished" : "Acabat",
"To review" : "Per revisar",
@@ -88,7 +81,7 @@ OC.L10N.register(
"copy" : "còpia",
"To do" : "Pendent",
"Doing" : "En procés",
"Done" : "Fet",
"Done" : "Finalitzat",
"Example Task 3" : "Tasca d'exemple 3",
"Example Task 2" : "Tasca d'exemple 2",
"Example Task 1" : "Tasca d'exemple 1",
@@ -99,29 +92,18 @@ OC.L10N.register(
"No file was uploaded" : "No s'ha pujat cap fitxer",
"Missing a temporary folder" : "Falta una carpeta temporal",
"Could not write file to disk" : "No sha pogut escriure el fitxer al disc",
"A PHP extension stopped the file upload" : "Una extensió del PHP ha aturat la pujada del fitxer",
"A PHP extension stopped the file upload" : "Una extensió del PHP ha aturat la carregada del fitxer",
"No file uploaded or file size exceeds maximum of %s" : "No s'ha carregat cap fitxer o la mida del fitxer sobrepassa el màxim de %s",
"This comment has more than %s characters.\nAdded as an attachment to the card with name %s.\nAccessible on URL: %s." : "Aquest comentari té més de %s caràcters.\nS'ha afegit com a fitxer adjunt a la targeta amb el nom %s.\nAccessible a l'URL: %s.",
"Card not found" : "No s'ha trobat la targeta",
"Path is already shared with this card" : "Aquesta ruta ja ha estat compartida amb aquesta targeta",
"Invalid date, date format must be YYYY-MM-DD" : "La data no és vàlida, el format de la data ha de ser YYYY-MM-DD",
"Personal planning and team project organization" : "Planificació personal i organització de projectes en equip",
"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" : "Tauler és una eina d'organització a l'estil kanban dirigida a la planificació personal i a l'organització de projectes per equips integrada a Nextcloud.\n\n\n- 📥 Afegiu les tasques en targetes i poseu-les en ordre\n- 📄 Apunteu notes addicionals en format Markdown\n- 🔖 Assigneu etiquetes per una millor organització\n- 👥 Compartiu amb el vostre equip, família o amics\n- 📎 Adjunteu fitxers i encasteu-los en la descripció en markdown\n- 💬 Converses amb el vostre equip fent servir comentaris\n- ⚡ Mantingueu el seguiment de canvis al flux d'activitat\n- 🚀 Tingueu el vostre projecte organitzat",
"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" : "Tauler és una eina d'organització a l'estil kanban dirigida a la planificació personal i a l'organització de projectes per equips integrada a Nextcloud.\n\n\n- 📥 Afegiu les tasques en targetes i poseu-les en ordre\n- 📄 Apunteu notes addicionals en markdown\n- 🔖 Assigneu etiquetes per una organització encara millor\n- 👥 Compartiu amb el vostre equip, família o amics\n- 📎 Adjunteu fitxers i encasteu-los en la descripció en markdown\n- 💬 Debateu amb el vostre equip fent servir comentaris\n- ⚡ Mantingueu el seguiment de canvis al flux d'activitat\n- 🚀 Tingueu el vostre projecte organitzat",
"Card details" : "Detalls de la targeta",
"Add board" : "Afegeix un tauler",
"Select the board to link to a project" : "Selecciona el tauler per enllaçar a un projecte",
"Search by board title" : "Cerca per títol del tauler",
"Select board" : "Selecciona un tauler",
"Create a new card" : "Crea una nova targeta",
"Select a board" : "Selecciona un tauler",
"Select a list" : "Seleccioneu una llista",
"Card title" : "Títol de la targeta",
"Cancel" : "Cancel·la",
"Creating the new card …" : "Creant la nova targeta …",
"Card \"{card}\" was added to \"{board}\"" : "La targeta \"{card}\" s'ha afegit a \"{board}\"",
"Open card" : "Obre la targeta",
"Close" : "Tanca",
"Create card" : "Crea una targeta",
"Select a card" : "Selecciona una targeta",
"Select the card to link to a project" : "Selecciona la targeta per enllaçar a un projecte",
"Link to card" : "Enllaç a la targeta",
@@ -131,12 +113,11 @@ OC.L10N.register(
"Overwrite file" : "Sobreescriu el fitxer",
"Keep existing file" : "Mantén el fitxer existent",
"This board is read only" : "Aquest tauler és només de lectura",
"Drop your files to upload" : "Deixeu anar els fitxers per pujar-los",
"Drop your files to upload" : "Deixeu anar els fitxers per penjar-los",
"Add card" : "Afegeix una targeta",
"Archived cards" : "Targetes arxivades",
"Add list" : "Afegeix una llista",
"List name" : "Nom de la llista",
"Active filters" : "Filtres actius",
"Apply filter" : "Aplica el filtre",
"Filter by tag" : "Filtra per etiqueta",
"Filter by assigned user" : "Filtra per usuari assignat",
@@ -151,7 +132,6 @@ OC.L10N.register(
"Hide archived cards" : "Amaga les targetes arxivades",
"Show archived cards" : "Mostra les targetes arxivades",
"Toggle compact mode" : "Commuta el mode compacte",
"Open details" : "Obre els detalls",
"Details" : "Detalls",
"Loading board" : "S'està carregant el tauler",
"No lists available" : "No hi ha cap llista disponible",
@@ -165,7 +145,7 @@ OC.L10N.register(
"Undo" : "Desfés",
"Deleted cards" : "Targetes suprimides",
"Share board with a user, group or circle …" : "Compartir tauler amb un usuari, grup o cercle …",
"Searching for users, groups and circles …" : "Buscant usuaris, grups i cercles",
"Searching for users, groups and circles …" : "Buscant usuaris, grups i cercles",
"No participants found" : "No s'han trobat participants",
"Board owner" : "Propietari del tauler",
"(Group)" : "(Grup)",
@@ -173,79 +153,55 @@ OC.L10N.register(
"Can edit" : "Pot editar",
"Can share" : "Pot compartir",
"Can manage" : "Pot gestionar",
"Owner" : "Propietari",
"Delete" : "Suprimeix",
"Delete" : "Eliminar",
"Failed to create share with {displayName}" : "Ha fallat la creació de la compartició amb {displayName}",
"Are you sure you want to transfer the board {title} to {user}?" : "Esteu segur que voleu transferir el tauler {title} a {user}?",
"Transfer the board." : "Transfereix el tauler.",
"Transfer" : "Transferència",
"The board has been transferred to {user}" : "El tauler s'ha transferit a {user}",
"Failed to transfer the board to {user}" : "No s'ha pogut transferir el tauler a {user}",
"Add a new list" : "Afegir una llista nova",
"Archive all cards" : "Arxiva totes les targetes",
"Unarchive all cards" : "Desarxivar totes les targetes",
"Delete list" : "Suprimeix la llista",
"Archive all cards in this list" : "Arxiva totes les targetes d'aquesta llista",
"Unarchive all cards in this list" : "Desarxivar totes les targetes d'aquesta llista",
"Add a new card" : "Afegeix una nova targeta",
"Add a new card" : "Afegir una nova targeta",
"Card name" : "Nom de la targeta",
"List deleted" : "Llista suprimida",
"Edit" : "Edició",
"Add a new tag" : "Afegeix una etiqueta nova",
"Edit" : "Edita",
"Add a new tag" : "Afegir una etiqueta nova",
"title and color value must be provided" : "sha de proporcionar el valor del títol i del color",
"Board name" : "Nom del taulell",
"Members" : "Membres",
"Upload new files" : "Pujada de nous fitxers",
"Share from Files" : "Comparteix des de Fitxers",
"Pending share" : "Compartició pendent",
"Add this attachment" : "Afegeix aquest adjunt",
"Show in Files" : "Mostra a Fitxers",
"Download" : "Baixada",
"Remove attachment" : "Treu l'adjunt",
"Delete Attachment" : "Suprimeix ladjunt",
"Restore Attachment" : "Restaura l'adjunt",
"File to share" : "Fitxer a compartir",
"Invalid path selected" : "S'ha seleccionat un camí no vàlid",
"Open in sidebar view" : "Obre a la vista de la barra lateral",
"Open in bigger view" : "Obre a la vista més gran",
"Attachments" : "Adjunts",
"Comments" : "Comentaris",
"Modified" : "Darrera modificació",
"Created" : "Creat",
"The title cannot be empty." : "El títol no pot estar buit.",
"The title cannot be empty." : "El títol no pot estar buit",
"No comments yet. Begin the discussion!" : "No hi ha comentaris encara. Començar la discussió!",
"Failed to load comments" : "No s'han pogut carregar els comentaris",
"Assign a tag to this card…" : "Assignació d'una etiqueta a aquesta targeta…",
"Assign to users" : "Assignació als usuaris",
"Assign to users/groups/circles" : "Assignació a usuaris/grups/cercles",
"Assign a user to this card…" : "Assignació d'un usuari a aquesta targeta",
"Due date" : "Data de caducitat",
"Set a due date" : "Definir una data de caducitat",
"Remove due date" : "Suprimeix la data de caducitat",
"Assign a tag to this card…" : "Assigna una etiqueta a aquesta targeta…",
"Assign to users" : "Assigna als usuaris",
"Assign to users/groups/circles" : "Assigna a usuaris/grups/cercles",
"Assign a user to this card…" : "Assigneu un usuari a aquesta targeta…",
"Due date" : "Per la data",
"Set a due date" : "Definir una data de venciment",
"Remove due date" : "Elimina la data de venciment",
"Select Date" : "Selecciona la data",
"Today" : "Avui",
"Tomorrow" : "Demà",
"Next week" : "Setmana següent",
"Next month" : "Mes següent",
"Save" : "Desa",
"The comment cannot be empty." : "El comentari no pot estar buit.",
"The comment cannot be longer than 1000 characters." : "El comentari no pot ser més llarg que 1000 caràcters.",
"In reply to" : "En resposta a",
"Cancel reply" : "Cancel·la la resposta",
"Reply" : "Respon",
"Update" : "Actualitza",
"Description" : "Descripció",
"(Unsaved)" : "(No desat)",
"(Saving…)" : "(Desant…)",
"Formatting help" : "Format d'ajuda",
"Edit description" : "Edició descripció",
"Edit description" : "Edita descripció",
"View description" : "Veure descripció",
"Add Attachment" : "Afegeix un adjunt",
"Write a description …" : "Escriviu una descripció",
"Write a description …" : "Escriviu una descripció...",
"Choose attachment" : "Triar adjunt",
"(group)" : "(grup)",
"Todo items" : "Tasques pendents",
"{count} comments, {unread} unread" : "{count} comentaris, {unread} no llegits",
"Edit card title" : "Edició del títol de la targeta",
"Assign to me" : "Assigna'm a mi",
"Unassign myself" : "Desasignar a mi mateix",
"Move card" : "Mou la targeta",
@@ -253,19 +209,16 @@ OC.L10N.register(
"Archive card" : "Arxiva la targeta",
"Delete card" : "Suprimeix targeta",
"Move card to another board" : "Mou la targeta a un altre tauler",
"List is empty" : "La llista és buida",
"Card deleted" : "Targeta suprimida",
"seconds ago" : "fa uns segons",
"All boards" : "Tots els taulers",
"Archived boards" : "Taulers arxivats",
"Shared with you" : "Us han compartit",
"Deck settings" : "Paràmetres del Tauler",
"Use bigger card view" : "Utilitza la visualització de targetes més gran",
"Show card ID badge" : "Mostra el distintiu dID de la targeta",
"Show boards in calendar/tasks" : "Mostra els taulers al calendari/tasques",
"Limit deck usage of groups" : "Limitar l'ús del tauler de grups",
"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." : "Limitant el Tauler bloquejarà la creació de taulers als usuaris que no són part d'aquests grups. Els usuaris podran seguir treballant en els taulers que hagin estat compartits amb ells.",
"Board details" : "Detalls del tauler",
"Board details" : "Detalls de la junta",
"Edit board" : "Edita el tauler",
"Clone board" : "Clonar tauler",
"Unarchive board" : "Desarxiva el tauler",
@@ -281,34 +234,19 @@ OC.L10N.register(
"Only assigned cards" : "Només les targetes assignades",
"No reminder" : "Sense recordatoris",
"An error occurred" : "S'ha produït un error",
"Are you sure you want to delete the board {title}? This will delete all the data of this board including archived cards." : "Esteu segur que voleu suprimir el tauler {title}? Això suprimirà totes les dades d'aquest tauler, incloses les targetes arxivades.",
"Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Esteu segur que voleu suprimir el tauler {title}? Això eliminarà totes les dades d'aquest tauler.",
"Delete the board?" : "Voleu suprimir el tauler?",
"Loading filtered view" : "S'està carregant la visualització filtrada",
"Today" : "Avui",
"Tomorrow" : "Demà",
"This week" : "Aquesta setmana",
"No due" : "Sense venciment",
"Search for {searchQuery} in all boards" : "Busca {searchQuery} a tots els taulers",
"No results found" : "No s'han trobat resultats",
"{stack} in {board}" : "{stack} a {board}",
"Click to expand description" : "Feu clic per ampliar la descripció",
"* Created on {created}\n* Last modified on {lastMod}\n* {nbAttachments} attachments\n* {nbComments} comments" : "* Creat el {created}\n* Última modificació el dia {lastMod}\n* {nbAttachments} fitxers adjunts\n* {nbComments} comentaris",
"{nbCards} cards" : "{nbCards} targetes",
"No upcoming cards" : "No hi ha pròximes targetes",
"upcoming cards" : "pròximes targetes",
"Due on {date}" : "Venciment el dia {date}",
"Link to a board" : "Enllaça a un tauler",
"Link to a card" : "Enllaç una targeta",
"Create a card" : "Crea una targeta",
"Message from {author} in {conversationName}" : "Missatge de {author} a {conversationName}",
"Something went wrong" : "Alguna cosa ha anat malament",
"Failed to upload {name}" : "No s'ha pogut pujar {name}",
"Maximum file size of {size} exceeded" : "S'ha superat la mida màxima per fitxer de {size}",
"Error creating the share" : "S'ha produït un error en crear la compartició",
"Share with a Deck card" : "Compartir amb una targeta de Deck",
"Share {file} with a Deck card" : "Compartir {file} amb una targeta de Deck",
"Share" : "Compartir",
"Are you sure you want to transfer the board {title} for {user}?" : "Esteu segur que voleu transferir el tauler {title} per a {user}?",
"Transfer the board for {user} successfully" : "Transfereix el tauler per a {user} correctament",
"Failed to transfer the board for {user}" : "No s'ha pogut transferir el tauler per a {user}",
"Add a new list" : "Afegeix una llista nova",
"Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Esteu segur que voleu suprimir el tauler {title}? Això eliminarà totes les dades d'aquest tauler."
"Maximum file size of {size} exceeded" : "S'ha superat la mida màxima per fitxer de {size}"
},
"nplurals=2; plural=(n != 1);");

View File

@@ -27,7 +27,7 @@
"{user} has deleted card {card} in list {stack} on board {board}" : "{user} ha suprimit la targeta {card} a la llista {stack} al tauler {board}",
"You have renamed the card {before} to {card}" : "Heu reanomenat la targeta {before} a {card}",
"{user} has renamed the card {before} to {card}" : "{user} ha reanomenat la targeta {before} a {card}",
"You have added a description to card {card} in list {stack} on board {board}" : "Heu afegit una descripció a la targeta {card} a la llista {stack} del tauler {board}",
"You have added a description to card {card} in list {stack} on board {board}" : "Heu afegit una descripció a la targeta {card} a la llista {stack} al tauler {board}",
"{user} has added a description to card {card} in list {stack} on board {board}" : "{user} ha afegit una descripció a la targeta {card} a la llista {stack} al tauler {board}",
"You have updated the description of card {card} in list {stack} on board {board}" : "Heu actualitzat la descripció de la targeta {card} a la llista {stack} al tauler {board}",
"{user} has updated the description of the card {card} in list {stack} on board {board}" : "{user} ha actualitzat la descripció de la targeta {card} a la llista {stack} al tauler {board}",
@@ -35,12 +35,12 @@
"{user} has archived card {card} in list {stack} on board {board}" : "{user} té la targeta arxivada {card} a la llista {stack} al tauler {board}",
"You have unarchived card {card} in list {stack} on board {board}" : "Teniu una targeta no-arxchivada {card} a la llista {stack} al tauler {board}",
"{user} has unarchived card {card} in list {stack} on board {board}" : "{user} té una targeta no-arxivada {card} a la llista {stack} al tauler {board}",
"You have removed the due date of card {card}" : "Heu suprimit la data de caducitat de la targeta {targeta}",
"{user} has removed the due date of card {card}" : "{user} ha suprimit la data de caducitat de la targeta {targeta}",
"You have set the due date of card {card} to {after}" : "Heu establert la data de caducitat de la targeta {card} a {after}",
"{user} has set the due date of card {card} to {after}" : "{user} ha establert la data de caducitat de la targeta {card} a {after}",
"You have updated the due date of card {card} to {after}" : "Heu actualitzat la data de caducitat de la targeta {card} a {after}",
"{user} has updated the due date of card {card} to {after}" : "{user} ha actualitzat la data de caducitat de la targeta {card} a {after}",
"You have removed the due date of card {card}" : "Heu suprimit la data de venciment de la targeta {targeta}",
"{user} has removed the due date of card {card}" : "{user} ha suprimit la data de venciment de la targeta {targeta}",
"You have set the due date of card {card} to {after}" : "Heu establert la data de venciment de la targeta {card} a {after}",
"{user} has set the due date of card {card} to {after}" : "{user} ha establert la data de venciment de la targeta {card} a {after}",
"You have updated the due date of card {card} to {after}" : "Heu actualitzat la data de venciment de la targeta {card} a {after}",
"{user} has updated the due date of card {card} to {after}" : "{user} ha actualitzat la data de venciment de la targeta {card} a {after}",
"You have added the tag {label} to card {card} in list {stack} on board {board}" : "Heu afegit l'etiqueta {label} a la targeta {card} a la llista {stack} al tauler {board}",
"{user} has added the tag {label} to card {card} in list {stack} on board {board}" : "{user} ha afegit l'etiqueta {label} a la targeta {card} a la llista {stack} al tauler {board}",
"You have removed the tag {label} from card {card} in list {stack} on board {board}" : "Heu eliminat l'etiqueta {label} de la targeta {card} a la llista {stack} al tauler {board}",
@@ -64,20 +64,13 @@
"A <strong>card description</strong> inside the Deck app has been changed" : "S'ha canviat una <strong>descripció de targeta</strong> a l'aplicació Tauler",
"Deck" : "Targetes",
"Changes in the <strong>Deck app</strong>" : "Canvis a l'<strong>aplicació Targetes</strong>",
"A <strong>comment</strong> was created on a card" : "S'ha creat un <strong>comentari</strong> a una targeta",
"A <strong>comment</strong> was created on a card" : "S'ha afegit un <strong>comentari</strong> a una targeta",
"Upcoming cards" : "Pròximes targetes",
"Load more" : "Carrega'n més",
"Personal" : "Personal",
"The card \"%s\" on \"%s\" has been assigned to you by %s." : "La targeta \"%s\" sobre \"%s\" se us ha assignat per %s.",
"{user} has assigned the card {deck-card} on {deck-board} to you." : "{user} us ha assignat la targeta {deck-card} a {deck-board}.",
"The card \"%s\" on \"%s\" has reached its due date." : "La targeta \"%s\" sobre \"%s\" ha assolit la seva data de caducitat.",
"The card {deck-card} on {deck-board} has reached its due date." : "La targeta {deck-card} a {deck-board} ha assolit la seva data de caducitat.",
"The card \"%s\" on \"%s\" has reached its due date." : "La targeta \"%s\" sobre \"%s\" ha assolit la seva data de venciment.",
"%s has mentioned you in a comment on \"%s\"." : "%s us ha anomenat en un comentari sobre \"%s\".",
"{user} has mentioned you in a comment on {deck-card}." : "{user} us ha mencionat en un comentari a {deck-card}.",
"The board \"%s\" has been shared with you by %s." : "El tauler \"%s\" se us ha compartit per %s.",
"{user} has shared {deck-board} with you." : "{user} us ha compartit {board}.",
"Card comments" : "Comentaris de la targeta",
"%s on %s" : "%s a %s",
"No data was provided to create an attachment." : "No sha proporcionat cap dada per crear un fitxer adjunt.",
"Finished" : "Acabat",
"To review" : "Per revisar",
@@ -86,7 +79,7 @@
"copy" : "còpia",
"To do" : "Pendent",
"Doing" : "En procés",
"Done" : "Fet",
"Done" : "Finalitzat",
"Example Task 3" : "Tasca d'exemple 3",
"Example Task 2" : "Tasca d'exemple 2",
"Example Task 1" : "Tasca d'exemple 1",
@@ -97,29 +90,18 @@
"No file was uploaded" : "No s'ha pujat cap fitxer",
"Missing a temporary folder" : "Falta una carpeta temporal",
"Could not write file to disk" : "No sha pogut escriure el fitxer al disc",
"A PHP extension stopped the file upload" : "Una extensió del PHP ha aturat la pujada del fitxer",
"A PHP extension stopped the file upload" : "Una extensió del PHP ha aturat la carregada del fitxer",
"No file uploaded or file size exceeds maximum of %s" : "No s'ha carregat cap fitxer o la mida del fitxer sobrepassa el màxim de %s",
"This comment has more than %s characters.\nAdded as an attachment to the card with name %s.\nAccessible on URL: %s." : "Aquest comentari té més de %s caràcters.\nS'ha afegit com a fitxer adjunt a la targeta amb el nom %s.\nAccessible a l'URL: %s.",
"Card not found" : "No s'ha trobat la targeta",
"Path is already shared with this card" : "Aquesta ruta ja ha estat compartida amb aquesta targeta",
"Invalid date, date format must be YYYY-MM-DD" : "La data no és vàlida, el format de la data ha de ser YYYY-MM-DD",
"Personal planning and team project organization" : "Planificació personal i organització de projectes en equip",
"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" : "Tauler és una eina d'organització a l'estil kanban dirigida a la planificació personal i a l'organització de projectes per equips integrada a Nextcloud.\n\n\n- 📥 Afegiu les tasques en targetes i poseu-les en ordre\n- 📄 Apunteu notes addicionals en format Markdown\n- 🔖 Assigneu etiquetes per una millor organització\n- 👥 Compartiu amb el vostre equip, família o amics\n- 📎 Adjunteu fitxers i encasteu-los en la descripció en markdown\n- 💬 Converses amb el vostre equip fent servir comentaris\n- ⚡ Mantingueu el seguiment de canvis al flux d'activitat\n- 🚀 Tingueu el vostre projecte organitzat",
"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" : "Tauler és una eina d'organització a l'estil kanban dirigida a la planificació personal i a l'organització de projectes per equips integrada a Nextcloud.\n\n\n- 📥 Afegiu les tasques en targetes i poseu-les en ordre\n- 📄 Apunteu notes addicionals en markdown\n- 🔖 Assigneu etiquetes per una organització encara millor\n- 👥 Compartiu amb el vostre equip, família o amics\n- 📎 Adjunteu fitxers i encasteu-los en la descripció en markdown\n- 💬 Debateu amb el vostre equip fent servir comentaris\n- ⚡ Mantingueu el seguiment de canvis al flux d'activitat\n- 🚀 Tingueu el vostre projecte organitzat",
"Card details" : "Detalls de la targeta",
"Add board" : "Afegeix un tauler",
"Select the board to link to a project" : "Selecciona el tauler per enllaçar a un projecte",
"Search by board title" : "Cerca per títol del tauler",
"Select board" : "Selecciona un tauler",
"Create a new card" : "Crea una nova targeta",
"Select a board" : "Selecciona un tauler",
"Select a list" : "Seleccioneu una llista",
"Card title" : "Títol de la targeta",
"Cancel" : "Cancel·la",
"Creating the new card …" : "Creant la nova targeta …",
"Card \"{card}\" was added to \"{board}\"" : "La targeta \"{card}\" s'ha afegit a \"{board}\"",
"Open card" : "Obre la targeta",
"Close" : "Tanca",
"Create card" : "Crea una targeta",
"Select a card" : "Selecciona una targeta",
"Select the card to link to a project" : "Selecciona la targeta per enllaçar a un projecte",
"Link to card" : "Enllaç a la targeta",
@@ -129,12 +111,11 @@
"Overwrite file" : "Sobreescriu el fitxer",
"Keep existing file" : "Mantén el fitxer existent",
"This board is read only" : "Aquest tauler és només de lectura",
"Drop your files to upload" : "Deixeu anar els fitxers per pujar-los",
"Drop your files to upload" : "Deixeu anar els fitxers per penjar-los",
"Add card" : "Afegeix una targeta",
"Archived cards" : "Targetes arxivades",
"Add list" : "Afegeix una llista",
"List name" : "Nom de la llista",
"Active filters" : "Filtres actius",
"Apply filter" : "Aplica el filtre",
"Filter by tag" : "Filtra per etiqueta",
"Filter by assigned user" : "Filtra per usuari assignat",
@@ -149,7 +130,6 @@
"Hide archived cards" : "Amaga les targetes arxivades",
"Show archived cards" : "Mostra les targetes arxivades",
"Toggle compact mode" : "Commuta el mode compacte",
"Open details" : "Obre els detalls",
"Details" : "Detalls",
"Loading board" : "S'està carregant el tauler",
"No lists available" : "No hi ha cap llista disponible",
@@ -163,7 +143,7 @@
"Undo" : "Desfés",
"Deleted cards" : "Targetes suprimides",
"Share board with a user, group or circle …" : "Compartir tauler amb un usuari, grup o cercle …",
"Searching for users, groups and circles …" : "Buscant usuaris, grups i cercles",
"Searching for users, groups and circles …" : "Buscant usuaris, grups i cercles",
"No participants found" : "No s'han trobat participants",
"Board owner" : "Propietari del tauler",
"(Group)" : "(Grup)",
@@ -171,79 +151,55 @@
"Can edit" : "Pot editar",
"Can share" : "Pot compartir",
"Can manage" : "Pot gestionar",
"Owner" : "Propietari",
"Delete" : "Suprimeix",
"Delete" : "Eliminar",
"Failed to create share with {displayName}" : "Ha fallat la creació de la compartició amb {displayName}",
"Are you sure you want to transfer the board {title} to {user}?" : "Esteu segur que voleu transferir el tauler {title} a {user}?",
"Transfer the board." : "Transfereix el tauler.",
"Transfer" : "Transferència",
"The board has been transferred to {user}" : "El tauler s'ha transferit a {user}",
"Failed to transfer the board to {user}" : "No s'ha pogut transferir el tauler a {user}",
"Add a new list" : "Afegir una llista nova",
"Archive all cards" : "Arxiva totes les targetes",
"Unarchive all cards" : "Desarxivar totes les targetes",
"Delete list" : "Suprimeix la llista",
"Archive all cards in this list" : "Arxiva totes les targetes d'aquesta llista",
"Unarchive all cards in this list" : "Desarxivar totes les targetes d'aquesta llista",
"Add a new card" : "Afegeix una nova targeta",
"Add a new card" : "Afegir una nova targeta",
"Card name" : "Nom de la targeta",
"List deleted" : "Llista suprimida",
"Edit" : "Edició",
"Add a new tag" : "Afegeix una etiqueta nova",
"Edit" : "Edita",
"Add a new tag" : "Afegir una etiqueta nova",
"title and color value must be provided" : "sha de proporcionar el valor del títol i del color",
"Board name" : "Nom del taulell",
"Members" : "Membres",
"Upload new files" : "Pujada de nous fitxers",
"Share from Files" : "Comparteix des de Fitxers",
"Pending share" : "Compartició pendent",
"Add this attachment" : "Afegeix aquest adjunt",
"Show in Files" : "Mostra a Fitxers",
"Download" : "Baixada",
"Remove attachment" : "Treu l'adjunt",
"Delete Attachment" : "Suprimeix ladjunt",
"Restore Attachment" : "Restaura l'adjunt",
"File to share" : "Fitxer a compartir",
"Invalid path selected" : "S'ha seleccionat un camí no vàlid",
"Open in sidebar view" : "Obre a la vista de la barra lateral",
"Open in bigger view" : "Obre a la vista més gran",
"Attachments" : "Adjunts",
"Comments" : "Comentaris",
"Modified" : "Darrera modificació",
"Created" : "Creat",
"The title cannot be empty." : "El títol no pot estar buit.",
"The title cannot be empty." : "El títol no pot estar buit",
"No comments yet. Begin the discussion!" : "No hi ha comentaris encara. Començar la discussió!",
"Failed to load comments" : "No s'han pogut carregar els comentaris",
"Assign a tag to this card…" : "Assignació d'una etiqueta a aquesta targeta…",
"Assign to users" : "Assignació als usuaris",
"Assign to users/groups/circles" : "Assignació a usuaris/grups/cercles",
"Assign a user to this card…" : "Assignació d'un usuari a aquesta targeta",
"Due date" : "Data de caducitat",
"Set a due date" : "Definir una data de caducitat",
"Remove due date" : "Suprimeix la data de caducitat",
"Assign a tag to this card…" : "Assigna una etiqueta a aquesta targeta…",
"Assign to users" : "Assigna als usuaris",
"Assign to users/groups/circles" : "Assigna a usuaris/grups/cercles",
"Assign a user to this card…" : "Assigneu un usuari a aquesta targeta…",
"Due date" : "Per la data",
"Set a due date" : "Definir una data de venciment",
"Remove due date" : "Elimina la data de venciment",
"Select Date" : "Selecciona la data",
"Today" : "Avui",
"Tomorrow" : "Demà",
"Next week" : "Setmana següent",
"Next month" : "Mes següent",
"Save" : "Desa",
"The comment cannot be empty." : "El comentari no pot estar buit.",
"The comment cannot be longer than 1000 characters." : "El comentari no pot ser més llarg que 1000 caràcters.",
"In reply to" : "En resposta a",
"Cancel reply" : "Cancel·la la resposta",
"Reply" : "Respon",
"Update" : "Actualitza",
"Description" : "Descripció",
"(Unsaved)" : "(No desat)",
"(Saving…)" : "(Desant…)",
"Formatting help" : "Format d'ajuda",
"Edit description" : "Edició descripció",
"Edit description" : "Edita descripció",
"View description" : "Veure descripció",
"Add Attachment" : "Afegeix un adjunt",
"Write a description …" : "Escriviu una descripció",
"Write a description …" : "Escriviu una descripció...",
"Choose attachment" : "Triar adjunt",
"(group)" : "(grup)",
"Todo items" : "Tasques pendents",
"{count} comments, {unread} unread" : "{count} comentaris, {unread} no llegits",
"Edit card title" : "Edició del títol de la targeta",
"Assign to me" : "Assigna'm a mi",
"Unassign myself" : "Desasignar a mi mateix",
"Move card" : "Mou la targeta",
@@ -251,19 +207,16 @@
"Archive card" : "Arxiva la targeta",
"Delete card" : "Suprimeix targeta",
"Move card to another board" : "Mou la targeta a un altre tauler",
"List is empty" : "La llista és buida",
"Card deleted" : "Targeta suprimida",
"seconds ago" : "fa uns segons",
"All boards" : "Tots els taulers",
"Archived boards" : "Taulers arxivats",
"Shared with you" : "Us han compartit",
"Deck settings" : "Paràmetres del Tauler",
"Use bigger card view" : "Utilitza la visualització de targetes més gran",
"Show card ID badge" : "Mostra el distintiu dID de la targeta",
"Show boards in calendar/tasks" : "Mostra els taulers al calendari/tasques",
"Limit deck usage of groups" : "Limitar l'ús del tauler de grups",
"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." : "Limitant el Tauler bloquejarà la creació de taulers als usuaris que no són part d'aquests grups. Els usuaris podran seguir treballant en els taulers que hagin estat compartits amb ells.",
"Board details" : "Detalls del tauler",
"Board details" : "Detalls de la junta",
"Edit board" : "Edita el tauler",
"Clone board" : "Clonar tauler",
"Unarchive board" : "Desarxiva el tauler",
@@ -279,34 +232,19 @@
"Only assigned cards" : "Només les targetes assignades",
"No reminder" : "Sense recordatoris",
"An error occurred" : "S'ha produït un error",
"Are you sure you want to delete the board {title}? This will delete all the data of this board including archived cards." : "Esteu segur que voleu suprimir el tauler {title}? Això suprimirà totes les dades d'aquest tauler, incloses les targetes arxivades.",
"Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Esteu segur que voleu suprimir el tauler {title}? Això eliminarà totes les dades d'aquest tauler.",
"Delete the board?" : "Voleu suprimir el tauler?",
"Loading filtered view" : "S'està carregant la visualització filtrada",
"Today" : "Avui",
"Tomorrow" : "Demà",
"This week" : "Aquesta setmana",
"No due" : "Sense venciment",
"Search for {searchQuery} in all boards" : "Busca {searchQuery} a tots els taulers",
"No results found" : "No s'han trobat resultats",
"{stack} in {board}" : "{stack} a {board}",
"Click to expand description" : "Feu clic per ampliar la descripció",
"* Created on {created}\n* Last modified on {lastMod}\n* {nbAttachments} attachments\n* {nbComments} comments" : "* Creat el {created}\n* Última modificació el dia {lastMod}\n* {nbAttachments} fitxers adjunts\n* {nbComments} comentaris",
"{nbCards} cards" : "{nbCards} targetes",
"No upcoming cards" : "No hi ha pròximes targetes",
"upcoming cards" : "pròximes targetes",
"Due on {date}" : "Venciment el dia {date}",
"Link to a board" : "Enllaça a un tauler",
"Link to a card" : "Enllaç una targeta",
"Create a card" : "Crea una targeta",
"Message from {author} in {conversationName}" : "Missatge de {author} a {conversationName}",
"Something went wrong" : "Alguna cosa ha anat malament",
"Failed to upload {name}" : "No s'ha pogut pujar {name}",
"Maximum file size of {size} exceeded" : "S'ha superat la mida màxima per fitxer de {size}",
"Error creating the share" : "S'ha produït un error en crear la compartició",
"Share with a Deck card" : "Compartir amb una targeta de Deck",
"Share {file} with a Deck card" : "Compartir {file} amb una targeta de Deck",
"Share" : "Compartir",
"Are you sure you want to transfer the board {title} for {user}?" : "Esteu segur que voleu transferir el tauler {title} per a {user}?",
"Transfer the board for {user} successfully" : "Transfereix el tauler per a {user} correctament",
"Failed to transfer the board for {user}" : "No s'ha pogut transferir el tauler per a {user}",
"Add a new list" : "Afegeix una llista nova",
"Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Esteu segur que voleu suprimir el tauler {title}? Això eliminarà totes les dades d'aquest tauler."
"Maximum file size of {size} exceeded" : "S'ha superat la mida màxima per fitxer de {size}"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}

View File

@@ -68,7 +68,6 @@ OC.L10N.register(
"Changes in the <strong>Deck app</strong>" : "Změny v <strong>aplikaci Deck</strong>",
"A <strong>comment</strong> was created on a card" : "Na kartě byl vytvořen <strong>komentář</strong>",
"Upcoming cards" : "Nadcházející karty",
"Load more" : "Načíst více",
"Personal" : "Osobní",
"The card \"%s\" on \"%s\" has been assigned to you by %s." : "Kartu „%s“ na „%s“ vám přiřadil(a) %s.",
"{user} has assigned the card {deck-card} on {deck-board} to you." : "{user} vám přiřadil(a) kartu {deck-card} na tabuli {deck-board}.",
@@ -86,7 +85,7 @@ OC.L10N.register(
"Action needed" : "Nutná akce",
"Later" : "Později",
"copy" : "kopie",
"To do" : "Zbývá udělat",
"To do" : "Udělat",
"Doing" : "Provádí se",
"Done" : "Hotovo",
"Example Task 3" : "Třetí úkol pro ukázku",
@@ -101,12 +100,11 @@ 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",
"Path is already shared with this card" : "Cesta je již s touto kartou sdílena",
"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, napojedo 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",
"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ě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",
"Card details" : "Podrobnosti o kartě",
"Add board" : "Přidat tabuli",
"Select the board to link to a project" : "Vyberte tabuli kterou propojit s projektem",
@@ -136,9 +134,8 @@ OC.L10N.register(
"Archived cards" : "Archivované karty",
"Add list" : "Přidat seznam",
"List name" : "Název seznamu",
"Active filters" : "Zapnuté filtry",
"Apply filter" : "Uplatnit filtr",
"Filter by tag" : "Filtrovat podle štítku",
"Filter by tag" : "Filtrovat podle příznaků",
"Filter by assigned user" : "Filtrovat podle uživatele, který je úkolem pověřen",
"Unassigned" : "Nepřiřazeno",
"Filter by due date" : "Filtrovat podle termínu",
@@ -151,9 +148,7 @@ OC.L10N.register(
"Hide archived cards" : "Skrýt archivované karty",
"Show archived cards" : "Zobrazit archivované karty",
"Toggle compact mode" : "Vyp/zap. kompaktní režim",
"Open details" : "Otevřít podorobnosti",
"Details" : "Podrobnosti",
"Currently present people" : "Nyní přítomní lidé",
"Loading board" : "Načítání tabule",
"No lists available" : "Nejsou k dispozici žádné seznamy",
"Create a new list to add cards to this board" : "Pro přidání karet na tuto tabuli vytvořte nový seznam",
@@ -174,20 +169,12 @@ OC.L10N.register(
"Can edit" : "Může upravovat",
"Can share" : "Může sdílet",
"Can manage" : "Může spravovat",
"Owner" : "Vlastník",
"Delete" : "Smazat",
"Failed to create share with {displayName}" : "Nepodařilo se vytvořit sdílení s {displayName}",
"Are you sure you want to transfer the board {title} to {user}?" : "Opravdu chcete předat vlastnictví tabule {title} uživateli {user}?",
"Transfer the board." : "Předat vlastnictví tabule.",
"Transfer" : "Předat vlastnictví",
"The board has been transferred to {user}" : "Vlastnictví tabule bylo předáno uživateli {user}",
"Failed to transfer the board to {user}" : "Nepodařilo se předat vlastnictví tabule uživateli {user}",
"Edit list title" : "Upravit nadpis seznamu",
"Add a new list" : "Přidat nový sloupec",
"Archive all cards" : "Archivovat všechny karty",
"Unarchive all cards" : "Zrušit archivaci všech karet",
"Delete list" : "Smazat seznam",
"Archive all cards in this list" : "Archivovat všechny karty v tomto seznamu",
"Unarchive all cards in this list" : "Zrušit archivaci všech karet v tomto seznamu",
"Add a new card" : "Přidat novou kartu",
"Card name" : "Název karty",
"List deleted" : "Seznam smazán",
@@ -198,11 +185,9 @@ OC.L10N.register(
"Members" : "Členové",
"Upload new files" : "Nahrát nové soubory",
"Share from Files" : "Sdílet ze Souborů",
"Pending share" : "Čekající sdílení",
"Add this attachment" : "Přidat tuto přílohu",
"Show in Files" : "Zobrazit v Souborech",
"Download" : "Stáhnout",
"Remove attachment" : "Odebrat přílohu",
"Unshare file" : "Přestat sdílet soubor",
"Delete Attachment" : "Smazat přílohu",
"Restore Attachment" : "Obnovit přílohu",
"File to share" : "Soubor ke sdílení",
@@ -224,10 +209,6 @@ OC.L10N.register(
"Set a due date" : "Vybrat termín",
"Remove due date" : "Odstranit termín",
"Select Date" : "Vybrat datum",
"Today" : "Dnes",
"Tomorrow" : "Zítra",
"Next week" : "Příští týden",
"Next month" : "Příští měsíc",
"Save" : "Uložit",
"The comment cannot be empty." : "Komentář je třeba vyplnit.",
"The comment cannot be longer than 1000 characters." : "Délka komentáře může být nejvýše 1 000 znaků.",
@@ -245,9 +226,7 @@ OC.L10N.register(
"Write a description …" : "Zadejte popis…",
"Choose attachment" : "Zvolte přílohu",
"(group)" : "(skupina)",
"Todo items" : "Položky k udělání",
"{count} comments, {unread} unread" : "{count} komentářů, {unread} nepřečtených",
"Edit card title" : "Upravit nadpis karty",
"Assign to me" : "Přiřadit mě",
"Unassign myself" : "Zrušit přiřazení sobě",
"Move card" : "Přesunout kartu",
@@ -255,15 +234,12 @@ 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",
"Archived boards" : "Archivované tabule",
"Shared with you" : "Sdíleno s vámi",
"Deck settings" : "Nastavení pro Deck",
"Use bigger card view" : "Použít větší zobrazení karet",
"Show card ID badge" : "Zobrazit odznáček s identifikátorem karty",
"Show boards in calendar/tasks" : "Zobrazit tabule v kalendáři/úkolech",
"Limit deck usage of groups" : "Omezit využití deck na skupiny",
"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." : "Omezení nastavené pro Deck brání uživatelům, kteří nejsou součástí těchto skupin, ve vytváření vlastních tabulí. Nicméně i tak ale pořád budou moci pracovat na tabulích, které jsou jim nasdíleny.",
@@ -272,7 +248,6 @@ OC.L10N.register(
"Clone board" : "Klonovat tabuli",
"Unarchive board" : "Vrátit tabuli zpět z archivu",
"Archive board" : "Archivovat tabuli",
"Export board" : "Exportovat tabuli",
"Turn on due date reminders" : "Zapnout upomínky termínů",
"Turn off due date reminders" : "Vypnout upomínky termínů",
"Due date reminders" : "Upomínky termínů",
@@ -284,19 +259,17 @@ OC.L10N.register(
"Only assigned cards" : "Pouze přiřazené karty",
"No reminder" : "Bez připomínky",
"An error occurred" : "Došlo k chybě",
"Are you sure you want to delete the board {title}? This will delete all the data of this board including archived cards." : "Opravdu chcete tabuli {title} smazat? Toto smaže veškerá data této tabule, včetně archivovaných karet.",
"Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Opravdu chcete tabuly {title} smazat? Toto smaže veškerá data této tabule.",
"Delete the board?" : "Smazat tabuli?",
"Loading filtered view" : "Načítání filtrovaného pohledu",
"Today" : "Dnes",
"Tomorrow" : "Zítra",
"This week" : "Tento týden",
"No due" : "Žádný termín",
"Search for {searchQuery} in all boards" : "Hledat {searchQuery} na všech tabulích",
"No results found" : "Nenalezeny žádné výsledky",
"{stack} in {board}" : "{stack} v {board}",
"Click to expand description" : "Popis rozbalíte kliknutím",
"* Created on {created}\n* Last modified on {lastMod}\n* {nbAttachments} attachments\n* {nbComments} comments" : "* Vytvořeno {created}\n* Naposledy upraveno {lastMod}\n* {nbAttachments} příloh\n* {nbComments} komentářů",
"{nbCards} cards" : "{nbCards} karet",
"No upcoming cards" : "Žádné nadcházející karty",
"upcoming cards" : "nadcházející karty",
"Due on {date}" : "Termín {date}",
"Link to a board" : "Propojit s tabulí",
"Link to a card" : "Propojit s kartou",
"Create a card" : "Vytvořit kartu",
@@ -307,11 +280,6 @@ OC.L10N.register(
"Error creating the share" : "Chyba při vytváření sdílení",
"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",
"Are you sure you want to transfer the board {title} for {user}?" : "Opravdu chcete předat vlastnictví tabule {title} uživateli {user}?",
"Transfer the board for {user} successfully" : "Předání vlastnictví tabule uživateli {user} úspěšné",
"Failed to transfer the board for {user}" : "Nepodařilo se předat vlastnictví tabule uživateli {user}",
"Add a new list" : "Přidat nový sloupec",
"Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Opravdu chcete tabuly {title} smazat? Toto smaže veškerá data této tabule."
"Share" : "Sdílet"
},
"nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;");

View File

@@ -66,7 +66,6 @@
"Changes in the <strong>Deck app</strong>" : "Změny v <strong>aplikaci Deck</strong>",
"A <strong>comment</strong> was created on a card" : "Na kartě byl vytvořen <strong>komentář</strong>",
"Upcoming cards" : "Nadcházející karty",
"Load more" : "Načíst více",
"Personal" : "Osobní",
"The card \"%s\" on \"%s\" has been assigned to you by %s." : "Kartu „%s“ na „%s“ vám přiřadil(a) %s.",
"{user} has assigned the card {deck-card} on {deck-board} to you." : "{user} vám přiřadil(a) kartu {deck-card} na tabuli {deck-board}.",
@@ -84,7 +83,7 @@
"Action needed" : "Nutná akce",
"Later" : "Později",
"copy" : "kopie",
"To do" : "Zbývá udělat",
"To do" : "Udělat",
"Doing" : "Provádí se",
"Done" : "Hotovo",
"Example Task 3" : "Třetí úkol pro ukázku",
@@ -99,12 +98,11 @@
"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",
"Path is already shared with this card" : "Cesta je již s touto kartou sdílena",
"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, napojedo 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",
"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ě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",
"Card details" : "Podrobnosti o kartě",
"Add board" : "Přidat tabuli",
"Select the board to link to a project" : "Vyberte tabuli kterou propojit s projektem",
@@ -134,9 +132,8 @@
"Archived cards" : "Archivované karty",
"Add list" : "Přidat seznam",
"List name" : "Název seznamu",
"Active filters" : "Zapnuté filtry",
"Apply filter" : "Uplatnit filtr",
"Filter by tag" : "Filtrovat podle štítku",
"Filter by tag" : "Filtrovat podle příznaků",
"Filter by assigned user" : "Filtrovat podle uživatele, který je úkolem pověřen",
"Unassigned" : "Nepřiřazeno",
"Filter by due date" : "Filtrovat podle termínu",
@@ -149,9 +146,7 @@
"Hide archived cards" : "Skrýt archivované karty",
"Show archived cards" : "Zobrazit archivované karty",
"Toggle compact mode" : "Vyp/zap. kompaktní režim",
"Open details" : "Otevřít podorobnosti",
"Details" : "Podrobnosti",
"Currently present people" : "Nyní přítomní lidé",
"Loading board" : "Načítání tabule",
"No lists available" : "Nejsou k dispozici žádné seznamy",
"Create a new list to add cards to this board" : "Pro přidání karet na tuto tabuli vytvořte nový seznam",
@@ -172,20 +167,12 @@
"Can edit" : "Může upravovat",
"Can share" : "Může sdílet",
"Can manage" : "Může spravovat",
"Owner" : "Vlastník",
"Delete" : "Smazat",
"Failed to create share with {displayName}" : "Nepodařilo se vytvořit sdílení s {displayName}",
"Are you sure you want to transfer the board {title} to {user}?" : "Opravdu chcete předat vlastnictví tabule {title} uživateli {user}?",
"Transfer the board." : "Předat vlastnictví tabule.",
"Transfer" : "Předat vlastnictví",
"The board has been transferred to {user}" : "Vlastnictví tabule bylo předáno uživateli {user}",
"Failed to transfer the board to {user}" : "Nepodařilo se předat vlastnictví tabule uživateli {user}",
"Edit list title" : "Upravit nadpis seznamu",
"Add a new list" : "Přidat nový sloupec",
"Archive all cards" : "Archivovat všechny karty",
"Unarchive all cards" : "Zrušit archivaci všech karet",
"Delete list" : "Smazat seznam",
"Archive all cards in this list" : "Archivovat všechny karty v tomto seznamu",
"Unarchive all cards in this list" : "Zrušit archivaci všech karet v tomto seznamu",
"Add a new card" : "Přidat novou kartu",
"Card name" : "Název karty",
"List deleted" : "Seznam smazán",
@@ -196,11 +183,9 @@
"Members" : "Členové",
"Upload new files" : "Nahrát nové soubory",
"Share from Files" : "Sdílet ze Souborů",
"Pending share" : "Čekající sdílení",
"Add this attachment" : "Přidat tuto přílohu",
"Show in Files" : "Zobrazit v Souborech",
"Download" : "Stáhnout",
"Remove attachment" : "Odebrat přílohu",
"Unshare file" : "Přestat sdílet soubor",
"Delete Attachment" : "Smazat přílohu",
"Restore Attachment" : "Obnovit přílohu",
"File to share" : "Soubor ke sdílení",
@@ -222,10 +207,6 @@
"Set a due date" : "Vybrat termín",
"Remove due date" : "Odstranit termín",
"Select Date" : "Vybrat datum",
"Today" : "Dnes",
"Tomorrow" : "Zítra",
"Next week" : "Příští týden",
"Next month" : "Příští měsíc",
"Save" : "Uložit",
"The comment cannot be empty." : "Komentář je třeba vyplnit.",
"The comment cannot be longer than 1000 characters." : "Délka komentáře může být nejvýše 1 000 znaků.",
@@ -243,9 +224,7 @@
"Write a description …" : "Zadejte popis…",
"Choose attachment" : "Zvolte přílohu",
"(group)" : "(skupina)",
"Todo items" : "Položky k udělání",
"{count} comments, {unread} unread" : "{count} komentářů, {unread} nepřečtených",
"Edit card title" : "Upravit nadpis karty",
"Assign to me" : "Přiřadit mě",
"Unassign myself" : "Zrušit přiřazení sobě",
"Move card" : "Přesunout kartu",
@@ -253,15 +232,12 @@
"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",
"Archived boards" : "Archivované tabule",
"Shared with you" : "Sdíleno s vámi",
"Deck settings" : "Nastavení pro Deck",
"Use bigger card view" : "Použít větší zobrazení karet",
"Show card ID badge" : "Zobrazit odznáček s identifikátorem karty",
"Show boards in calendar/tasks" : "Zobrazit tabule v kalendáři/úkolech",
"Limit deck usage of groups" : "Omezit využití deck na skupiny",
"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." : "Omezení nastavené pro Deck brání uživatelům, kteří nejsou součástí těchto skupin, ve vytváření vlastních tabulí. Nicméně i tak ale pořád budou moci pracovat na tabulích, které jsou jim nasdíleny.",
@@ -270,7 +246,6 @@
"Clone board" : "Klonovat tabuli",
"Unarchive board" : "Vrátit tabuli zpět z archivu",
"Archive board" : "Archivovat tabuli",
"Export board" : "Exportovat tabuli",
"Turn on due date reminders" : "Zapnout upomínky termínů",
"Turn off due date reminders" : "Vypnout upomínky termínů",
"Due date reminders" : "Upomínky termínů",
@@ -282,19 +257,17 @@
"Only assigned cards" : "Pouze přiřazené karty",
"No reminder" : "Bez připomínky",
"An error occurred" : "Došlo k chybě",
"Are you sure you want to delete the board {title}? This will delete all the data of this board including archived cards." : "Opravdu chcete tabuli {title} smazat? Toto smaže veškerá data této tabule, včetně archivovaných karet.",
"Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Opravdu chcete tabuly {title} smazat? Toto smaže veškerá data této tabule.",
"Delete the board?" : "Smazat tabuli?",
"Loading filtered view" : "Načítání filtrovaného pohledu",
"Today" : "Dnes",
"Tomorrow" : "Zítra",
"This week" : "Tento týden",
"No due" : "Žádný termín",
"Search for {searchQuery} in all boards" : "Hledat {searchQuery} na všech tabulích",
"No results found" : "Nenalezeny žádné výsledky",
"{stack} in {board}" : "{stack} v {board}",
"Click to expand description" : "Popis rozbalíte kliknutím",
"* Created on {created}\n* Last modified on {lastMod}\n* {nbAttachments} attachments\n* {nbComments} comments" : "* Vytvořeno {created}\n* Naposledy upraveno {lastMod}\n* {nbAttachments} příloh\n* {nbComments} komentářů",
"{nbCards} cards" : "{nbCards} karet",
"No upcoming cards" : "Žádné nadcházející karty",
"upcoming cards" : "nadcházející karty",
"Due on {date}" : "Termín {date}",
"Link to a board" : "Propojit s tabulí",
"Link to a card" : "Propojit s kartou",
"Create a card" : "Vytvořit kartu",
@@ -305,11 +278,6 @@
"Error creating the share" : "Chyba při vytváření sdílení",
"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",
"Are you sure you want to transfer the board {title} for {user}?" : "Opravdu chcete předat vlastnictví tabule {title} uživateli {user}?",
"Transfer the board for {user} successfully" : "Předání vlastnictví tabule uživateli {user} úspěšné",
"Failed to transfer the board for {user}" : "Nepodařilo se předat vlastnictví tabule uživateli {user}",
"Add a new list" : "Přidat nový sloupec",
"Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Opravdu chcete tabuly {title} smazat? Toto smaže veškerá data této tabule."
"Share" : "Sdílet"
},"pluralForm" :"nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;"
}

View File

@@ -7,28 +7,22 @@ OC.L10N.register(
"No file was uploaded" : "Ni lwythwyd ffeil i fyny",
"Missing a temporary folder" : "Plygell dros dro yn eisiau",
"Cancel" : "Diddymu",
"Close" : "Cau",
"Details" : "Manylion",
"Tags" : "Tagiau",
"Undo" : "Dadwneud",
"Can edit" : "Can edit",
"Can share" : "Can share",
"Owner" : "Owner",
"Delete" : "Dileu",
"Edit" : "Golygu",
"Download" : "Llwytho i lawr",
"Modified" : "Addaswyd",
"Select Date" : "Dewis Dyddiad",
"Today" : "Heddiw",
"Next week" : "Wythnos nesaf",
"Next month" : "Mis nesaf",
"Save" : "Cadw",
"Update" : "Diweddaru",
"Description" : "Disgrifiad",
"seconds ago" : "eiliad yn ôl",
"Shared with you" : "Shared with you",
"No reminder" : "Dim nodyn atgoffa",
"An error occurred" : "Digwyddodd gwall",
"Share" : "Rhannu"
"Today" : "Heddiw",
"This week" : "Wythnos yma"
},
"nplurals=4; plural=(n==1) ? 0 : (n==2) ? 1 : (n != 8 && n != 11) ? 2 : 3;");

View File

@@ -5,28 +5,22 @@
"No file was uploaded" : "Ni lwythwyd ffeil i fyny",
"Missing a temporary folder" : "Plygell dros dro yn eisiau",
"Cancel" : "Diddymu",
"Close" : "Cau",
"Details" : "Manylion",
"Tags" : "Tagiau",
"Undo" : "Dadwneud",
"Can edit" : "Can edit",
"Can share" : "Can share",
"Owner" : "Owner",
"Delete" : "Dileu",
"Edit" : "Golygu",
"Download" : "Llwytho i lawr",
"Modified" : "Addaswyd",
"Select Date" : "Dewis Dyddiad",
"Today" : "Heddiw",
"Next week" : "Wythnos nesaf",
"Next month" : "Mis nesaf",
"Save" : "Cadw",
"Update" : "Diweddaru",
"Description" : "Disgrifiad",
"seconds ago" : "eiliad yn ôl",
"Shared with you" : "Shared with you",
"No reminder" : "Dim nodyn atgoffa",
"An error occurred" : "Digwyddodd gwall",
"Share" : "Rhannu"
"Today" : "Heddiw",
"This week" : "Wythnos yma"
},"pluralForm" :"nplurals=4; plural=(n==1) ? 0 : (n==2) ? 1 : (n != 8 && n != 11) ? 2 : 3;"
}

View File

@@ -31,13 +31,11 @@ OC.L10N.register(
"{user} has renamed the card {before} to {card}" : "{user} har omdøbt kortet {before} til {card}",
"Deck" : "Deck",
"Upcoming cards" : "Kommende kort",
"Load more" : "Hent flere",
"Personal" : "Personligt",
"The card \"%s\" on \"%s\" has been assigned to you by %s." : "Kortet \"%s\" på \"%s\" er blevet tildelt dig af %s.",
"The card \"%s\" on \"%s\" has reached its due date." : "Kortet \"%s\" på \"%s\" har nået sin forfaldsdato.",
"%s has mentioned you in a comment on \"%s\"." : " %s har nævnt dig i en kommentar på \"%s\".",
"The board \"%s\" has been shared with you by %s." : "Tavlen \"%s\" er blevet delt med dig af %s.",
"%s on %s" : "%s på %s",
"No data was provided to create an attachment." : "Ingen data blev givet som kunne vedhæftes",
"Finished" : "Færdiggjort",
"To review" : "Til gennemgang",
@@ -63,6 +61,7 @@ OC.L10N.register(
"Path is already shared with this card" : "Stien er allerede delt med dette kort.",
"Invalid date, date format must be YYYY-MM-DD" : "Ikke gyldig dato - dato formatet skal være YYYY-MM-DD",
"Personal planning and team project organization" : "Personlig planlægning og organisering af team projekter",
"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 er et kanban inspireret organisations værktøj rettet mod personlig planlægning og projekt organisering for teams integreret med Nextcloud.\n\n\n- 📥 Tilføj dine opgaver til kort og organisér dem\n- 📄 Tilføj noter til dine opgaver i markdown\n- 🔖 Tilføj mærkater for endnu bedre organisering\n- 👥 Del med dit team, dine venner eller familie\n- 📎 Vedhæft filer og indfør dem i din markdown beskrivelse\n- 💬 Diskutér med dit team ved hjælp af kommentarer\n- ⚡ Hold øje med ændringer i aktivitets strømmen\n- 🚀 Få dit projekt organiseret!",
"Card details" : "Kort detaljer",
"Add board" : "Tilføj tavle",
"Select the board to link to a project" : "Vælg en tavle at linke til et projekt",
@@ -71,8 +70,6 @@ OC.L10N.register(
"Select a board" : "Vælg én tavle",
"Select a list" : "Vælg en kolonne",
"Cancel" : "Annullér",
"Close" : "Luk",
"Create card" : "Opret kort",
"Select a card" : "Vælg et kort",
"Select the card to link to a project" : "Vælg et kort at linke til et projekt",
"Link to card" : "Link til kort",
@@ -101,7 +98,6 @@ OC.L10N.register(
"Hide archived cards" : "Skjul arkiverede kort",
"Show archived cards" : "Vis arkiverede kort",
"Toggle compact mode" : "Slå kompakt tilstand til/fra",
"Open details" : "Mere information",
"Details" : "Detaljer",
"Loading board" : "Indlæser tavle",
"No lists available" : "Ingen kolonner tilgængelige",
@@ -123,10 +119,9 @@ OC.L10N.register(
"Can edit" : "Kan redigere",
"Can share" : "Kan dele",
"Can manage" : "Kan administrere",
"Owner" : "Ejer",
"Delete" : "Slet",
"Failed to create share with {displayName}" : "Oprettelse af delt drev med {displayName} fejlede",
"Transfer" : "Overførsel",
"Add a new list" : "Tilføj en ny kolonne",
"Archive all cards" : "Arkivér alle kort",
"Delete list" : "Slet liste",
"Archive all cards in this list" : "Arkivér alle kort i denne kolonne",
@@ -142,7 +137,7 @@ OC.L10N.register(
"Share from Files" : "Del fra Filer",
"Add this attachment" : "Tilføj denne vedhæftning",
"Show in Files" : "Vis i Filer",
"Download" : "Download",
"Unshare file" : "Stop deling af fil",
"Delete Attachment" : "Slet vedhæftning",
"Restore Attachment" : "Genskab vedhæftning",
"File to share" : "Vælg fil til deling",
@@ -163,10 +158,6 @@ OC.L10N.register(
"Set a due date" : "Sæt en forfaldsdato",
"Remove due date" : "Fjern forfaldsdato",
"Select Date" : "Vælg dato",
"Today" : "I dag",
"Tomorrow" : "I morgen",
"Next week" : "Næste uge",
"Next month" : "Næste måned",
"Save" : "Gem",
"The comment cannot be empty." : "Kommentaren kan ikke være tom.",
"The comment cannot be longer than 1000 characters." : "Kommentaren kan ikke være længere end 1000 tegn.",
@@ -215,22 +206,23 @@ OC.L10N.register(
"Only assigned cards" : "Kun tildelte kort",
"No reminder" : "Ingen påmindelse",
"An error occurred" : "Der var en fejl",
"Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Er du sikker på du vil slette tavlen {title}? Dette vil slette alt data på tavlen.",
"Delete the board?" : "Slet tavlen?",
"Loading filtered view" : "Indlæser filtreret visning",
"Today" : "I dag",
"Tomorrow" : "I morgen",
"This week" : "Denne uge",
"No due" : "Ikke forfalden",
"No upcoming cards" : "Ingen kommende kort",
"upcoming cards" : "kommende kort",
"Link to a board" : "Link til tavle",
"Link to a card" : "Link til et kort",
"Message from {author} in {conversationName}" : "Besked fra {author} i {conversationName}",
"Something went wrong" : "Noget gik galt",
"Failed to upload {name}" : "Kunne ikke uploade {name}",
"Maximum file size of {size} exceeded" : "Maksimal fil størrelse {size} overskredet",
"Error creating the share" : "Fejl ved skabelse af delt drev",
"Share with a Deck card" : "Del med et Deck kort",
"Share {file} with a Deck card" : "Del {file} med et Deck kort",
"Share" : "Del",
"Add a new list" : "Tilføj en ny kolonne",
"Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Er du sikker på du vil slette tavlen {title}? Dette vil slette alt data på tavlen."
"Share" : "Del"
},
"nplurals=2; plural=(n != 1);");

View File

@@ -29,13 +29,11 @@
"{user} has renamed the card {before} to {card}" : "{user} har omdøbt kortet {before} til {card}",
"Deck" : "Deck",
"Upcoming cards" : "Kommende kort",
"Load more" : "Hent flere",
"Personal" : "Personligt",
"The card \"%s\" on \"%s\" has been assigned to you by %s." : "Kortet \"%s\" på \"%s\" er blevet tildelt dig af %s.",
"The card \"%s\" on \"%s\" has reached its due date." : "Kortet \"%s\" på \"%s\" har nået sin forfaldsdato.",
"%s has mentioned you in a comment on \"%s\"." : " %s har nævnt dig i en kommentar på \"%s\".",
"The board \"%s\" has been shared with you by %s." : "Tavlen \"%s\" er blevet delt med dig af %s.",
"%s on %s" : "%s på %s",
"No data was provided to create an attachment." : "Ingen data blev givet som kunne vedhæftes",
"Finished" : "Færdiggjort",
"To review" : "Til gennemgang",
@@ -61,6 +59,7 @@
"Path is already shared with this card" : "Stien er allerede delt med dette kort.",
"Invalid date, date format must be YYYY-MM-DD" : "Ikke gyldig dato - dato formatet skal være YYYY-MM-DD",
"Personal planning and team project organization" : "Personlig planlægning og organisering af team projekter",
"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 er et kanban inspireret organisations værktøj rettet mod personlig planlægning og projekt organisering for teams integreret med Nextcloud.\n\n\n- 📥 Tilføj dine opgaver til kort og organisér dem\n- 📄 Tilføj noter til dine opgaver i markdown\n- 🔖 Tilføj mærkater for endnu bedre organisering\n- 👥 Del med dit team, dine venner eller familie\n- 📎 Vedhæft filer og indfør dem i din markdown beskrivelse\n- 💬 Diskutér med dit team ved hjælp af kommentarer\n- ⚡ Hold øje med ændringer i aktivitets strømmen\n- 🚀 Få dit projekt organiseret!",
"Card details" : "Kort detaljer",
"Add board" : "Tilføj tavle",
"Select the board to link to a project" : "Vælg en tavle at linke til et projekt",
@@ -69,8 +68,6 @@
"Select a board" : "Vælg én tavle",
"Select a list" : "Vælg en kolonne",
"Cancel" : "Annullér",
"Close" : "Luk",
"Create card" : "Opret kort",
"Select a card" : "Vælg et kort",
"Select the card to link to a project" : "Vælg et kort at linke til et projekt",
"Link to card" : "Link til kort",
@@ -99,7 +96,6 @@
"Hide archived cards" : "Skjul arkiverede kort",
"Show archived cards" : "Vis arkiverede kort",
"Toggle compact mode" : "Slå kompakt tilstand til/fra",
"Open details" : "Mere information",
"Details" : "Detaljer",
"Loading board" : "Indlæser tavle",
"No lists available" : "Ingen kolonner tilgængelige",
@@ -121,10 +117,9 @@
"Can edit" : "Kan redigere",
"Can share" : "Kan dele",
"Can manage" : "Kan administrere",
"Owner" : "Ejer",
"Delete" : "Slet",
"Failed to create share with {displayName}" : "Oprettelse af delt drev med {displayName} fejlede",
"Transfer" : "Overførsel",
"Add a new list" : "Tilføj en ny kolonne",
"Archive all cards" : "Arkivér alle kort",
"Delete list" : "Slet liste",
"Archive all cards in this list" : "Arkivér alle kort i denne kolonne",
@@ -140,7 +135,7 @@
"Share from Files" : "Del fra Filer",
"Add this attachment" : "Tilføj denne vedhæftning",
"Show in Files" : "Vis i Filer",
"Download" : "Download",
"Unshare file" : "Stop deling af fil",
"Delete Attachment" : "Slet vedhæftning",
"Restore Attachment" : "Genskab vedhæftning",
"File to share" : "Vælg fil til deling",
@@ -161,10 +156,6 @@
"Set a due date" : "Sæt en forfaldsdato",
"Remove due date" : "Fjern forfaldsdato",
"Select Date" : "Vælg dato",
"Today" : "I dag",
"Tomorrow" : "I morgen",
"Next week" : "Næste uge",
"Next month" : "Næste måned",
"Save" : "Gem",
"The comment cannot be empty." : "Kommentaren kan ikke være tom.",
"The comment cannot be longer than 1000 characters." : "Kommentaren kan ikke være længere end 1000 tegn.",
@@ -213,22 +204,23 @@
"Only assigned cards" : "Kun tildelte kort",
"No reminder" : "Ingen påmindelse",
"An error occurred" : "Der var en fejl",
"Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Er du sikker på du vil slette tavlen {title}? Dette vil slette alt data på tavlen.",
"Delete the board?" : "Slet tavlen?",
"Loading filtered view" : "Indlæser filtreret visning",
"Today" : "I dag",
"Tomorrow" : "I morgen",
"This week" : "Denne uge",
"No due" : "Ikke forfalden",
"No upcoming cards" : "Ingen kommende kort",
"upcoming cards" : "kommende kort",
"Link to a board" : "Link til tavle",
"Link to a card" : "Link til et kort",
"Message from {author} in {conversationName}" : "Besked fra {author} i {conversationName}",
"Something went wrong" : "Noget gik galt",
"Failed to upload {name}" : "Kunne ikke uploade {name}",
"Maximum file size of {size} exceeded" : "Maksimal fil størrelse {size} overskredet",
"Error creating the share" : "Fejl ved skabelse af delt drev",
"Share with a Deck card" : "Del med et Deck kort",
"Share {file} with a Deck card" : "Del {file} med et Deck kort",
"Share" : "Del",
"Add a new list" : "Tilføj en ny kolonne",
"Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Er du sikker på du vil slette tavlen {title}? Dette vil slette alt data på tavlen."
"Share" : "Del"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}

View File

@@ -68,16 +68,15 @@ OC.L10N.register(
"Changes in the <strong>Deck app</strong>" : "Änderungen in der <strong>Deck-App</strong>",
"A <strong>comment</strong> was created on a card" : "Ein <strong>Kommentar</strong> zu einer Karte wurde erstellt",
"Upcoming cards" : "Anstehende Karten",
"Load more" : "Mehr laden",
"Personal" : "Persönlich",
"The card \"%s\" on \"%s\" has been assigned to you by %s." : "Die Karte \"%s\" auf \"%s\" wurde dir von %s zugewiesen.",
"{user} has assigned the card {deck-card} on {deck-board} to you." : "{user} hat dir die Karte {deck-card} auf {deck-board} zugewiesen.",
"The card \"%s\" on \"%s\" has been assigned to you by %s." : "Die Karte \"%s\" auf \"%s\" wurde Dir von %s zugewiesen.",
"{user} has assigned the card {deck-card} on {deck-board} to you." : "{user} hat Dir die Karte {deck-card} auf {deck-board} zugewiesen.",
"The card \"%s\" on \"%s\" has reached its due date." : "Die Karte \"%s\" in \"%s\" ist überfällig.",
"The card {deck-card} on {deck-board} has reached its due date." : "Die Karte {deck-card} in {deck-board} ist überfällig.",
"%s has mentioned you in a comment on \"%s\"." : "%s hat dich in einem Kommentar zu \"%s\" erwähnt.",
"{user} has mentioned you in a comment on {deck-card}." : "{user} hat dich in einem Kommentar zu {deck-card} erwähnt.",
"The board \"%s\" has been shared with you by %s." : "Das Board \"%s\" wurde von %s mit dir geteilt.",
"{user} has shared {deck-board} with you." : "{user} hat das Board {deck-board} mit dir geteilt.",
"%s has mentioned you in a comment on \"%s\"." : "%s hat Dich in einem Kommentar zu \"%s\" erwähnt.",
"{user} has mentioned you in a comment on {deck-card}." : "{user} hat Dich in einem Kommentar zu {deck-card} erwähnt.",
"The board \"%s\" has been shared with you by %s." : "Das Board \"%s\" wurde von %s mit Dir geteilt.",
"{user} has shared {deck-board} with you." : "{user} hat das Board {deck-board} mit Dir geteilt.",
"Card comments" : "Kommentare zur Karte",
"%s on %s" : "%s von %s",
"No data was provided to create an attachment." : "Es wurden keine Daten zum Erstellen eines Anhangs bereitgestellt.",
@@ -101,12 +100,11 @@ 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",
"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 den Überblick über Änderungen mit dem Aktivitäten-Stream\n- 🚀 Organisiere dein Projekt",
"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",
@@ -124,10 +122,10 @@ OC.L10N.register(
"Create card" : "Karte erstellen",
"Select a card" : "Eine Karte auswählen",
"Select the card to link to a project" : "Wähle die Karte aus, um diese mit einem Projekt zu verknüpfen",
"Link to card" : "Mit dieser Karte verknüpfen",
"Link to card" : "Mit einer Karte verknüpfen",
"File already exists" : "Datei bereits vorhanden",
"A file with the name {filename} already exists." : "Eine Datei mit diesem Namen {filename} existiert bereits.",
"Do you want to overwrite it?" : "Möchtest du überschreiben?",
"Do you want to overwrite it?" : "Möchtest Du überschreiben?",
"Overwrite file" : "Datei überschreiben",
"Keep existing file" : "Existierende Datei behalten",
"This board is read only" : "Dieses Board ist schreibgeschützt",
@@ -136,7 +134,6 @@ OC.L10N.register(
"Archived cards" : "Archivierte Karten",
"Add list" : "Liste hinzufügen",
"List name" : "Listenname",
"Active filters" : "Aktive Filter",
"Apply filter" : "Filter anwenden",
"Filter by tag" : "Nach Schlagwort filtern",
"Filter by assigned user" : "Nach zugewiesenem Benutzer filtern",
@@ -151,9 +148,7 @@ OC.L10N.register(
"Hide archived cards" : "Archivierte Karten ausblenden",
"Show archived cards" : "Archivierte Karten anzeigen",
"Toggle compact mode" : "Kompaktmodus umschalten",
"Open details" : "Details öffnen",
"Details" : "Details",
"Currently present people" : "Aktuell Anwesende",
"Loading board" : "Lade Board",
"No lists available" : "Keine Listen verfügbar",
"Create a new list to add cards to this board" : "Erstelle eine neue Liste, um diesem Board Karten hinzuzufügen",
@@ -165,7 +160,7 @@ OC.L10N.register(
"Deleted lists" : "Gelöschte Listen",
"Undo" : "Rückgängig",
"Deleted cards" : "Gelöschte Karten",
"Share board with a user, group or circle …" : "Board mit Benutzer, Gruppe oder Kreis teilen …",
"Share board with a user, group or circle …" : "Board mit Benutzer, Gruppe oder Kreis teilen…",
"Searching for users, groups and circles …" : "Suche nach Benutzern, Gruppen und Kreisen …",
"No participants found" : "Keine Teilnehmer gefunden",
"Board owner" : "Board-Besitzer",
@@ -174,20 +169,12 @@ OC.L10N.register(
"Can edit" : "kann bearbeiten",
"Can share" : "kann teilen",
"Can manage" : "kann verwalten",
"Owner" : "Besitzer",
"Delete" : "Löschen",
"Failed to create share with {displayName}" : "Fehler beim Erstellen der Freigabe mit dem Namen {displayName}",
"Are you sure you want to transfer the board {title} to {user}?" : "Möchtest du wirklich das Board {title} an {user} übertragen?",
"Transfer the board." : "Board übertragen",
"Transfer" : "Übertragen",
"The board has been transferred to {user}" : "Das Board wurde an {user} übertragen",
"Failed to transfer the board to {user}" : "Das Board konnte nicht an {user} übertragen werden",
"Edit list title" : "Listentitel bearbeiten",
"Add a new list" : "Eine neue Liste hinzufügen",
"Archive all cards" : "Alle Karten archivieren",
"Unarchive all cards" : "Alle Karten dearchivieren",
"Delete list" : "Liste löschen",
"Archive all cards in this list" : "Alle Karten in dieser Liste archivieren",
"Unarchive all cards in this list" : "Alle Karten dieser Liste dearchivieren",
"Add a new card" : "Neue Karte hinzufügen",
"Card name" : "Kartenname",
"List deleted" : "Liste gelöscht",
@@ -198,11 +185,9 @@ OC.L10N.register(
"Members" : "Mitglieder",
"Upload new files" : "Neue Dateien hochladen",
"Share from Files" : "Aus Dateien heraus teilen",
"Pending share" : "Ausstehende Freigabe",
"Add this attachment" : "Diesen Anhang anhängen",
"Show in Files" : "In Dateien anzeigen",
"Download" : "Herunterladen",
"Remove attachment" : "Anhang entfernen",
"Unshare file" : "Datei nicht mehr teilen",
"Delete Attachment" : "Anhang löschen",
"Restore Attachment" : "Anhang wiederherstellen",
"File to share" : "Zu teilende Datei",
@@ -216,18 +201,14 @@ OC.L10N.register(
"The title cannot be empty." : "Der Titel darf nicht leer sein.",
"No comments yet. Begin the discussion!" : "Bislang keine Kommentare. Beginne die Diskussion!",
"Failed to load comments" : "Das Laden der Kommentare ist fehlgeschlagen",
"Assign a tag to this card…" : "Dieser Karte ein Schlagwort zuweisen …",
"Assign a tag to this card…" : "Dieser Karte ein Schlagwort zuweisen…",
"Assign to users" : "Benutzern zuweisen",
"Assign to users/groups/circles" : "An Benutzer, Gruppen oder Kreise zuweisen",
"Assign a user to this card…" : "Diese Karte einem Benutzer zuweisen …",
"Assign a user to this card…" : "Diese Karte einem Benutzer zuweisen…",
"Due date" : "Fälligkeitsdatum",
"Set a due date" : "Ein Ablaufdatum setzen",
"Remove due date" : "Fälligkeitsdatum löschen",
"Select Date" : "Datum auswählen",
"Today" : "Heute",
"Tomorrow" : "Morgen",
"Next week" : "Nächste Woche",
"Next month" : "Nächster Monat",
"Save" : "Speichern",
"The comment cannot be empty." : "Der Kommentar darf nicht leer sein.",
"The comment cannot be longer than 1000 characters." : "Der Kommentar darf nicht länger als 1000 Zeichen sein.",
@@ -237,17 +218,15 @@ OC.L10N.register(
"Update" : "Aktualisieren",
"Description" : "Beschreibung",
"(Unsaved)" : "(nicht gespeichert)",
"(Saving…)" : "(Speichere …)",
"Formatting help" : "Hilfe zur Formatierung",
"(Saving…)" : "(Speichere…)",
"Formatting help" : "Formatierungshilfe",
"Edit description" : "Beschreibung bearbeiten",
"View description" : "Beschreibung anzeigen",
"Add Attachment" : "Anhang anhängen",
"Write a description …" : "Beschreibung schreiben …",
"Choose attachment" : "Anhang auswählen",
"(group)" : "(Gruppe)",
"Todo items" : "Aufgaben-Elemente",
"{count} comments, {unread} unread" : "{count} Kommentare, {unread} ungelesen",
"Edit card title" : "Kartentitel bearbeiten",
"Assign to me" : "Mir zuweisen",
"Unassign myself" : "Nicht mehr mir zuweisen",
"Move card" : "Karte verschieben",
@@ -255,24 +234,20 @@ 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",
"Archived boards" : "Archivierte Boards",
"Shared with you" : "Mit dir geteilt",
"Deck settings" : "Deck-Einstellungen",
"Shared with you" : "Mit Dir geteilt",
"Use bigger card view" : "Größere Kartenansicht verwenden",
"Show card ID badge" : "Abzeichen mit Karten-ID zeigen",
"Show boards in calendar/tasks" : "Board in Kalender/Aufgaben anzeigen",
"Limit deck usage of groups" : "Nutzung auf Gruppen einschränken",
"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." : "Wenn du Deck einschränkst, können Benutzer, die nicht zu diesen Gruppen gehören, keine eigenen Boards erstellen. Die Benutzer können weiterhin an Boards arbeiten, die für sie freigegeben wurden.",
"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." : "Wenn Du Deck einschränkst, können Benutzer, die nicht zu diesen Gruppen gehören, keine eigenen Boards erstellen. Die Benutzer können weiterhin an Boards arbeiten, die für sie freigegeben wurden.",
"Board details" : "Board-Details",
"Edit board" : "Board bearbeiten",
"Clone board" : "Board klonen",
"Unarchive board" : "Board dearchivieren",
"Archive board" : "Board archivieren",
"Export board" : "Board exportieren",
"Turn on due date reminders" : "Fälligkeitserinnerungen einschalten",
"Turn off due date reminders" : "Fälligkeitserinnerungen ausschalten",
"Due date reminders" : "Fälligkeitserinnerungen",
@@ -284,19 +259,17 @@ OC.L10N.register(
"Only assigned cards" : "Nur zugewiesene Karten",
"No reminder" : "Keine Erinnerung",
"An error occurred" : "Es ist ein Fehler aufgetreten",
"Are you sure you want to delete the board {title}? This will delete all the data of this board including archived cards." : "Möchtest du wirklich das Board {title} mit all seinen Daten einschließlich der archivierten Karten löschen?",
"Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Möchtest Du wirklich das Board {title} mit all seinen Daten löschen?",
"Delete the board?" : "Das Board löschen?",
"Loading filtered view" : "Lade gefilterte Ansicht",
"Today" : "Heute",
"Tomorrow" : "Morgen",
"This week" : "Diese Woche",
"No due" : "Kein Fälligkeitsdatum",
"Search for {searchQuery} in all boards" : "Suche nach {searchQuery} in allen Boards",
"No results found" : "Keine Ergebnisse gefunden",
"{stack} in {board}" : "{stack} in {board}",
"Click to expand description" : "Klicken, um die Beschreibung zu erweitern",
"* Created on {created}\n* Last modified on {lastMod}\n* {nbAttachments} attachments\n* {nbComments} comments" : "* Erstellt am {created}\n* Zuletzt geändert am {lastMod}\n* {nbAttachments} Anhänge\n* {nbComments} Kommentare",
"{nbCards} cards" : "{nbCards} Karten",
"No upcoming cards" : "Keine anstehenden Karten",
"upcoming cards" : "Anstehende Karten",
"Due on {date}" : "Fällig am {date}",
"Link to a board" : "Mit einem Board verknüpfen",
"Link to a card" : "Mit einer Karte verknüpfen",
"Create a card" : "Eine Karte erstellen",
@@ -307,11 +280,6 @@ OC.L10N.register(
"Error creating the share" : "Fehler beim Erstellen der Freigabe",
"Share with a Deck card" : "Mit einer Deck-Karte teilen",
"Share {file} with a Deck card" : "{file} mit einer Deck-Karte teilen",
"Share" : "Freigeben",
"Are you sure you want to transfer the board {title} for {user}?" : "Möchtest du wirklich das Board {title} an {user} übertragen?",
"Transfer the board for {user} successfully" : "Das Board wurde erfolgreich an {user} übertragen",
"Failed to transfer the board for {user}" : "Board konnte nicht an {user} übertragen werden",
"Add a new list" : "Eine neue Liste hinzufügen",
"Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Möchtest du wirklich das Board {title} mit all seinen Daten löschen?"
"Share" : "Freigeben"
},
"nplurals=2; plural=(n != 1);");

View File

@@ -66,16 +66,15 @@
"Changes in the <strong>Deck app</strong>" : "Änderungen in der <strong>Deck-App</strong>",
"A <strong>comment</strong> was created on a card" : "Ein <strong>Kommentar</strong> zu einer Karte wurde erstellt",
"Upcoming cards" : "Anstehende Karten",
"Load more" : "Mehr laden",
"Personal" : "Persönlich",
"The card \"%s\" on \"%s\" has been assigned to you by %s." : "Die Karte \"%s\" auf \"%s\" wurde dir von %s zugewiesen.",
"{user} has assigned the card {deck-card} on {deck-board} to you." : "{user} hat dir die Karte {deck-card} auf {deck-board} zugewiesen.",
"The card \"%s\" on \"%s\" has been assigned to you by %s." : "Die Karte \"%s\" auf \"%s\" wurde Dir von %s zugewiesen.",
"{user} has assigned the card {deck-card} on {deck-board} to you." : "{user} hat Dir die Karte {deck-card} auf {deck-board} zugewiesen.",
"The card \"%s\" on \"%s\" has reached its due date." : "Die Karte \"%s\" in \"%s\" ist überfällig.",
"The card {deck-card} on {deck-board} has reached its due date." : "Die Karte {deck-card} in {deck-board} ist überfällig.",
"%s has mentioned you in a comment on \"%s\"." : "%s hat dich in einem Kommentar zu \"%s\" erwähnt.",
"{user} has mentioned you in a comment on {deck-card}." : "{user} hat dich in einem Kommentar zu {deck-card} erwähnt.",
"The board \"%s\" has been shared with you by %s." : "Das Board \"%s\" wurde von %s mit dir geteilt.",
"{user} has shared {deck-board} with you." : "{user} hat das Board {deck-board} mit dir geteilt.",
"%s has mentioned you in a comment on \"%s\"." : "%s hat Dich in einem Kommentar zu \"%s\" erwähnt.",
"{user} has mentioned you in a comment on {deck-card}." : "{user} hat Dich in einem Kommentar zu {deck-card} erwähnt.",
"The board \"%s\" has been shared with you by %s." : "Das Board \"%s\" wurde von %s mit Dir geteilt.",
"{user} has shared {deck-board} with you." : "{user} hat das Board {deck-board} mit Dir geteilt.",
"Card comments" : "Kommentare zur Karte",
"%s on %s" : "%s von %s",
"No data was provided to create an attachment." : "Es wurden keine Daten zum Erstellen eines Anhangs bereitgestellt.",
@@ -99,12 +98,11 @@
"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",
"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 den Überblick über Änderungen mit dem Aktivitäten-Stream\n- 🚀 Organisiere dein Projekt",
"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",
@@ -122,10 +120,10 @@
"Create card" : "Karte erstellen",
"Select a card" : "Eine Karte auswählen",
"Select the card to link to a project" : "Wähle die Karte aus, um diese mit einem Projekt zu verknüpfen",
"Link to card" : "Mit dieser Karte verknüpfen",
"Link to card" : "Mit einer Karte verknüpfen",
"File already exists" : "Datei bereits vorhanden",
"A file with the name {filename} already exists." : "Eine Datei mit diesem Namen {filename} existiert bereits.",
"Do you want to overwrite it?" : "Möchtest du überschreiben?",
"Do you want to overwrite it?" : "Möchtest Du überschreiben?",
"Overwrite file" : "Datei überschreiben",
"Keep existing file" : "Existierende Datei behalten",
"This board is read only" : "Dieses Board ist schreibgeschützt",
@@ -134,7 +132,6 @@
"Archived cards" : "Archivierte Karten",
"Add list" : "Liste hinzufügen",
"List name" : "Listenname",
"Active filters" : "Aktive Filter",
"Apply filter" : "Filter anwenden",
"Filter by tag" : "Nach Schlagwort filtern",
"Filter by assigned user" : "Nach zugewiesenem Benutzer filtern",
@@ -149,9 +146,7 @@
"Hide archived cards" : "Archivierte Karten ausblenden",
"Show archived cards" : "Archivierte Karten anzeigen",
"Toggle compact mode" : "Kompaktmodus umschalten",
"Open details" : "Details öffnen",
"Details" : "Details",
"Currently present people" : "Aktuell Anwesende",
"Loading board" : "Lade Board",
"No lists available" : "Keine Listen verfügbar",
"Create a new list to add cards to this board" : "Erstelle eine neue Liste, um diesem Board Karten hinzuzufügen",
@@ -163,7 +158,7 @@
"Deleted lists" : "Gelöschte Listen",
"Undo" : "Rückgängig",
"Deleted cards" : "Gelöschte Karten",
"Share board with a user, group or circle …" : "Board mit Benutzer, Gruppe oder Kreis teilen …",
"Share board with a user, group or circle …" : "Board mit Benutzer, Gruppe oder Kreis teilen…",
"Searching for users, groups and circles …" : "Suche nach Benutzern, Gruppen und Kreisen …",
"No participants found" : "Keine Teilnehmer gefunden",
"Board owner" : "Board-Besitzer",
@@ -172,20 +167,12 @@
"Can edit" : "kann bearbeiten",
"Can share" : "kann teilen",
"Can manage" : "kann verwalten",
"Owner" : "Besitzer",
"Delete" : "Löschen",
"Failed to create share with {displayName}" : "Fehler beim Erstellen der Freigabe mit dem Namen {displayName}",
"Are you sure you want to transfer the board {title} to {user}?" : "Möchtest du wirklich das Board {title} an {user} übertragen?",
"Transfer the board." : "Board übertragen",
"Transfer" : "Übertragen",
"The board has been transferred to {user}" : "Das Board wurde an {user} übertragen",
"Failed to transfer the board to {user}" : "Das Board konnte nicht an {user} übertragen werden",
"Edit list title" : "Listentitel bearbeiten",
"Add a new list" : "Eine neue Liste hinzufügen",
"Archive all cards" : "Alle Karten archivieren",
"Unarchive all cards" : "Alle Karten dearchivieren",
"Delete list" : "Liste löschen",
"Archive all cards in this list" : "Alle Karten in dieser Liste archivieren",
"Unarchive all cards in this list" : "Alle Karten dieser Liste dearchivieren",
"Add a new card" : "Neue Karte hinzufügen",
"Card name" : "Kartenname",
"List deleted" : "Liste gelöscht",
@@ -196,11 +183,9 @@
"Members" : "Mitglieder",
"Upload new files" : "Neue Dateien hochladen",
"Share from Files" : "Aus Dateien heraus teilen",
"Pending share" : "Ausstehende Freigabe",
"Add this attachment" : "Diesen Anhang anhängen",
"Show in Files" : "In Dateien anzeigen",
"Download" : "Herunterladen",
"Remove attachment" : "Anhang entfernen",
"Unshare file" : "Datei nicht mehr teilen",
"Delete Attachment" : "Anhang löschen",
"Restore Attachment" : "Anhang wiederherstellen",
"File to share" : "Zu teilende Datei",
@@ -214,18 +199,14 @@
"The title cannot be empty." : "Der Titel darf nicht leer sein.",
"No comments yet. Begin the discussion!" : "Bislang keine Kommentare. Beginne die Diskussion!",
"Failed to load comments" : "Das Laden der Kommentare ist fehlgeschlagen",
"Assign a tag to this card…" : "Dieser Karte ein Schlagwort zuweisen …",
"Assign a tag to this card…" : "Dieser Karte ein Schlagwort zuweisen…",
"Assign to users" : "Benutzern zuweisen",
"Assign to users/groups/circles" : "An Benutzer, Gruppen oder Kreise zuweisen",
"Assign a user to this card…" : "Diese Karte einem Benutzer zuweisen …",
"Assign a user to this card…" : "Diese Karte einem Benutzer zuweisen…",
"Due date" : "Fälligkeitsdatum",
"Set a due date" : "Ein Ablaufdatum setzen",
"Remove due date" : "Fälligkeitsdatum löschen",
"Select Date" : "Datum auswählen",
"Today" : "Heute",
"Tomorrow" : "Morgen",
"Next week" : "Nächste Woche",
"Next month" : "Nächster Monat",
"Save" : "Speichern",
"The comment cannot be empty." : "Der Kommentar darf nicht leer sein.",
"The comment cannot be longer than 1000 characters." : "Der Kommentar darf nicht länger als 1000 Zeichen sein.",
@@ -235,17 +216,15 @@
"Update" : "Aktualisieren",
"Description" : "Beschreibung",
"(Unsaved)" : "(nicht gespeichert)",
"(Saving…)" : "(Speichere …)",
"Formatting help" : "Hilfe zur Formatierung",
"(Saving…)" : "(Speichere…)",
"Formatting help" : "Formatierungshilfe",
"Edit description" : "Beschreibung bearbeiten",
"View description" : "Beschreibung anzeigen",
"Add Attachment" : "Anhang anhängen",
"Write a description …" : "Beschreibung schreiben …",
"Choose attachment" : "Anhang auswählen",
"(group)" : "(Gruppe)",
"Todo items" : "Aufgaben-Elemente",
"{count} comments, {unread} unread" : "{count} Kommentare, {unread} ungelesen",
"Edit card title" : "Kartentitel bearbeiten",
"Assign to me" : "Mir zuweisen",
"Unassign myself" : "Nicht mehr mir zuweisen",
"Move card" : "Karte verschieben",
@@ -253,24 +232,20 @@
"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",
"Archived boards" : "Archivierte Boards",
"Shared with you" : "Mit dir geteilt",
"Deck settings" : "Deck-Einstellungen",
"Shared with you" : "Mit Dir geteilt",
"Use bigger card view" : "Größere Kartenansicht verwenden",
"Show card ID badge" : "Abzeichen mit Karten-ID zeigen",
"Show boards in calendar/tasks" : "Board in Kalender/Aufgaben anzeigen",
"Limit deck usage of groups" : "Nutzung auf Gruppen einschränken",
"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." : "Wenn du Deck einschränkst, können Benutzer, die nicht zu diesen Gruppen gehören, keine eigenen Boards erstellen. Die Benutzer können weiterhin an Boards arbeiten, die für sie freigegeben wurden.",
"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." : "Wenn Du Deck einschränkst, können Benutzer, die nicht zu diesen Gruppen gehören, keine eigenen Boards erstellen. Die Benutzer können weiterhin an Boards arbeiten, die für sie freigegeben wurden.",
"Board details" : "Board-Details",
"Edit board" : "Board bearbeiten",
"Clone board" : "Board klonen",
"Unarchive board" : "Board dearchivieren",
"Archive board" : "Board archivieren",
"Export board" : "Board exportieren",
"Turn on due date reminders" : "Fälligkeitserinnerungen einschalten",
"Turn off due date reminders" : "Fälligkeitserinnerungen ausschalten",
"Due date reminders" : "Fälligkeitserinnerungen",
@@ -282,19 +257,17 @@
"Only assigned cards" : "Nur zugewiesene Karten",
"No reminder" : "Keine Erinnerung",
"An error occurred" : "Es ist ein Fehler aufgetreten",
"Are you sure you want to delete the board {title}? This will delete all the data of this board including archived cards." : "Möchtest du wirklich das Board {title} mit all seinen Daten einschließlich der archivierten Karten löschen?",
"Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Möchtest Du wirklich das Board {title} mit all seinen Daten löschen?",
"Delete the board?" : "Das Board löschen?",
"Loading filtered view" : "Lade gefilterte Ansicht",
"Today" : "Heute",
"Tomorrow" : "Morgen",
"This week" : "Diese Woche",
"No due" : "Kein Fälligkeitsdatum",
"Search for {searchQuery} in all boards" : "Suche nach {searchQuery} in allen Boards",
"No results found" : "Keine Ergebnisse gefunden",
"{stack} in {board}" : "{stack} in {board}",
"Click to expand description" : "Klicken, um die Beschreibung zu erweitern",
"* Created on {created}\n* Last modified on {lastMod}\n* {nbAttachments} attachments\n* {nbComments} comments" : "* Erstellt am {created}\n* Zuletzt geändert am {lastMod}\n* {nbAttachments} Anhänge\n* {nbComments} Kommentare",
"{nbCards} cards" : "{nbCards} Karten",
"No upcoming cards" : "Keine anstehenden Karten",
"upcoming cards" : "Anstehende Karten",
"Due on {date}" : "Fällig am {date}",
"Link to a board" : "Mit einem Board verknüpfen",
"Link to a card" : "Mit einer Karte verknüpfen",
"Create a card" : "Eine Karte erstellen",
@@ -305,11 +278,6 @@
"Error creating the share" : "Fehler beim Erstellen der Freigabe",
"Share with a Deck card" : "Mit einer Deck-Karte teilen",
"Share {file} with a Deck card" : "{file} mit einer Deck-Karte teilen",
"Share" : "Freigeben",
"Are you sure you want to transfer the board {title} for {user}?" : "Möchtest du wirklich das Board {title} an {user} übertragen?",
"Transfer the board for {user} successfully" : "Das Board wurde erfolgreich an {user} übertragen",
"Failed to transfer the board for {user}" : "Board konnte nicht an {user} übertragen werden",
"Add a new list" : "Eine neue Liste hinzufügen",
"Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Möchtest du wirklich das Board {title} mit all seinen Daten löschen?"
"Share" : "Freigeben"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}

View File

@@ -68,7 +68,6 @@ OC.L10N.register(
"Changes in the <strong>Deck app</strong>" : "Änderungen in der <strong>Deck-App</strong>",
"A <strong>comment</strong> was created on a card" : "Ein <strong>Kommentar</strong> zu einer Karte wurde erstellt",
"Upcoming cards" : "Anstehende Karten",
"Load more" : "Mehr laden",
"Personal" : "Persönlich",
"The card \"%s\" on \"%s\" has been assigned to you by %s." : "Die Karte \"%s\" auf \"%s\" wurde Ihnen von %s zugewiesen.",
"{user} has assigned the card {deck-card} on {deck-board} to you." : "{user} hat Ihnen die Karte {deck-card} auf {deck-board} zugewiesen.",
@@ -101,12 +100,11 @@ 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",
"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",
@@ -136,7 +134,6 @@ OC.L10N.register(
"Archived cards" : "Archivierte Karten",
"Add list" : "Liste hinzufügen",
"List name" : "Listenname",
"Active filters" : "Aktive Filter",
"Apply filter" : "Filter anwenden",
"Filter by tag" : "Nach Schlagwort filtern",
"Filter by assigned user" : "Nach zugewiesenem Benutzer filtern",
@@ -151,9 +148,7 @@ OC.L10N.register(
"Hide archived cards" : "Archivierte Karten ausblenden",
"Show archived cards" : "Archivierte Karten anzeigen",
"Toggle compact mode" : "Kompaktmodus umschalten",
"Open details" : "Details öffnen",
"Details" : "Details",
"Currently present people" : "Aktuell Anwesende",
"Loading board" : "Lade Board",
"No lists available" : "Keine Listen verfügbar",
"Create a new list to add cards to this board" : "Erstellen Sie eine neue Liste, um diesem Board Karten hinzuzufügen",
@@ -174,20 +169,12 @@ OC.L10N.register(
"Can edit" : "kann bearbeiten",
"Can share" : "kann teilen",
"Can manage" : "kann verwalten",
"Owner" : "Besitzer",
"Delete" : "Löschen",
"Failed to create share with {displayName}" : "Fehler beim Erstellen der Freigabe mit dem Namen {displayName}",
"Are you sure you want to transfer the board {title} to {user}?" : "Möchten Sie wirklich das Board {title} auf {user} übertragen?",
"Transfer the board." : "Board übertragen.",
"Transfer" : "Übertragen",
"The board has been transferred to {user}" : "Das Board wurde auf {user} übertragen",
"Failed to transfer the board to {user}" : "Das Board konnte nicht auf {user} übertragen werden",
"Edit list title" : "Listentitel bearbeiten",
"Add a new list" : "Eine neue Liste hinzufügen",
"Archive all cards" : "Alle Karten archivieren",
"Unarchive all cards" : "Alle Karten dearchivieren",
"Delete list" : "Liste löschen",
"Archive all cards in this list" : "Alle Karten in dieser Liste archivieren",
"Unarchive all cards in this list" : "Alle Karten in dieser Liste dearchivieren",
"Add a new card" : "Neue Karte hinzufügen",
"Card name" : "Kartenname",
"List deleted" : "Liste gelöscht",
@@ -198,11 +185,9 @@ OC.L10N.register(
"Members" : "Mitglieder",
"Upload new files" : "Neue Dateien hochladen",
"Share from Files" : "Aus Dateien heraus teilen",
"Pending share" : "Ausstehende Freigabe",
"Add this attachment" : "Diesen Anhang anhängen",
"Show in Files" : "In Dateien anzeigen",
"Download" : "Herunterladen",
"Remove attachment" : "Anhang entfernen",
"Unshare file" : "Datei nicht mehr teilen",
"Delete Attachment" : "Anhang löschen",
"Restore Attachment" : "Anhang wiederherstellen",
"File to share" : "Zu teilende Datei",
@@ -224,10 +209,6 @@ OC.L10N.register(
"Set a due date" : "Ein Ablaufdatum setzen",
"Remove due date" : "Fälligkeitsdatum löschen",
"Select Date" : "Datum auswählen",
"Today" : "Heute",
"Tomorrow" : "Morgen",
"Next week" : "Nächste Woche",
"Next month" : "Nächsten Monat",
"Save" : "Speichern",
"The comment cannot be empty." : "Der Kommentar darf nicht leer sein.",
"The comment cannot be longer than 1000 characters." : "Der Kommentar darf nicht länger als 1000 Zeichen sein.",
@@ -245,9 +226,7 @@ OC.L10N.register(
"Write a description …" : "Beschreibung schreiben …",
"Choose attachment" : "Anhang auswählen",
"(group)" : "(Gruppe)",
"Todo items" : "Aufgaben-Elemente",
"{count} comments, {unread} unread" : "{count} Kommentare, {unread} ungelesen",
"Edit card title" : "Kartentitel bearbeiten",
"Assign to me" : "Mir zuweisen",
"Unassign myself" : "Nicht mehr mir zuweisen",
"Move card" : "Karte verschieben",
@@ -255,15 +234,12 @@ 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",
"Archived boards" : "Archivierte Boards",
"Shared with you" : "Mit Ihnen geteilt",
"Deck settings" : "Deck-Einstellungen",
"Use bigger card view" : "Größere Kartenansicht verwenden",
"Show card ID badge" : "Abzeichen mit Karten-ID zeigen",
"Show boards in calendar/tasks" : "Board in Kalender/Aufgaben anzeigen",
"Limit deck usage of groups" : "Nutzung auf Gruppen einschränken",
"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." : "Wenn Sie Deck einschränken, können Benutzer, die nicht zu diesen Gruppen gehören, keine eigenen Boards erstellen. Die Benutzer können weiterhin an Boards arbeiten, die für sie freigegeben wurden.",
@@ -272,7 +248,6 @@ OC.L10N.register(
"Clone board" : "Board klonen",
"Unarchive board" : "Board dearchivieren",
"Archive board" : "Board archivieren",
"Export board" : "Board exportieren",
"Turn on due date reminders" : "Fälligkeitserinnerungen einschalten",
"Turn off due date reminders" : "Fälligkeitserinnerungen ausschalten",
"Due date reminders" : "Fälligkeitserinnerungen",
@@ -284,19 +259,17 @@ OC.L10N.register(
"Only assigned cards" : "Nur zugewiesene Karten",
"No reminder" : "Keine Erinnerung",
"An error occurred" : "Es ist ein Fehler aufgetreten",
"Are you sure you want to delete the board {title}? This will delete all the data of this board including archived cards." : "Möchten Sie das Board {title} wirklich löschen? Dadurch werden alle Daten dieses Boards einschließlich archivierter Karten gelöscht.",
"Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Möchten Sie wirklich dieses Board {title} mit all seinen Daten löschen?",
"Delete the board?" : "Das Board löschen?",
"Loading filtered view" : "Lade gefilterte Ansicht",
"Today" : "Heute",
"Tomorrow" : "Morgen",
"This week" : "Diese Woche",
"No due" : "Kein Fälligkeitsdatum",
"Search for {searchQuery} in all boards" : "Suche nach {searchQuery} in allen Boards",
"No results found" : "Keine Ergebnisse gefunden",
"{stack} in {board}" : "{stack} auf {board}",
"Click to expand description" : "Klicken, um die Beschreibung zu erweitern",
"* Created on {created}\n* Last modified on {lastMod}\n* {nbAttachments} attachments\n* {nbComments} comments" : "* Erstellt am {created}\n* Zuletzt geändert am {lastMod}\n* {nbAttachments} Anhänge\n* {nbComments} Kommentare",
"{nbCards} cards" : "{nbCards} Karten",
"No upcoming cards" : "Keine anstehenden Karten",
"upcoming cards" : "Anstehende Karten",
"Due on {date}" : "Fällig am {date}",
"Link to a board" : "Mit einem Board verknüpfen",
"Link to a card" : "Mit einer Karte verknüpfen",
"Create a card" : "Eine Karte erstellen",
@@ -307,11 +280,6 @@ OC.L10N.register(
"Error creating the share" : "Fehler beim Erstellen der Freigabe",
"Share with a Deck card" : "Mit einer Deck-Karte teilen",
"Share {file} with a Deck card" : "{file} mit einer Deck-Karte teilen",
"Share" : "Freigeben",
"Are you sure you want to transfer the board {title} for {user}?" : "Möchten Sie wirklich das Board {title} an {user} übertragen?",
"Transfer the board for {user} successfully" : "Das Board wurde an {user} übertragen",
"Failed to transfer the board for {user}" : "Board konnte nicht an {user} übertragen werden",
"Add a new list" : "Eine neue Liste hinzufügen",
"Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Möchten Sie wirklich dieses Board {title} mit all seinen Daten löschen?"
"Share" : "Freigeben"
},
"nplurals=2; plural=(n != 1);");

View File

@@ -66,7 +66,6 @@
"Changes in the <strong>Deck app</strong>" : "Änderungen in der <strong>Deck-App</strong>",
"A <strong>comment</strong> was created on a card" : "Ein <strong>Kommentar</strong> zu einer Karte wurde erstellt",
"Upcoming cards" : "Anstehende Karten",
"Load more" : "Mehr laden",
"Personal" : "Persönlich",
"The card \"%s\" on \"%s\" has been assigned to you by %s." : "Die Karte \"%s\" auf \"%s\" wurde Ihnen von %s zugewiesen.",
"{user} has assigned the card {deck-card} on {deck-board} to you." : "{user} hat Ihnen die Karte {deck-card} auf {deck-board} zugewiesen.",
@@ -99,12 +98,11 @@
"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",
"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",
@@ -134,7 +132,6 @@
"Archived cards" : "Archivierte Karten",
"Add list" : "Liste hinzufügen",
"List name" : "Listenname",
"Active filters" : "Aktive Filter",
"Apply filter" : "Filter anwenden",
"Filter by tag" : "Nach Schlagwort filtern",
"Filter by assigned user" : "Nach zugewiesenem Benutzer filtern",
@@ -149,9 +146,7 @@
"Hide archived cards" : "Archivierte Karten ausblenden",
"Show archived cards" : "Archivierte Karten anzeigen",
"Toggle compact mode" : "Kompaktmodus umschalten",
"Open details" : "Details öffnen",
"Details" : "Details",
"Currently present people" : "Aktuell Anwesende",
"Loading board" : "Lade Board",
"No lists available" : "Keine Listen verfügbar",
"Create a new list to add cards to this board" : "Erstellen Sie eine neue Liste, um diesem Board Karten hinzuzufügen",
@@ -172,20 +167,12 @@
"Can edit" : "kann bearbeiten",
"Can share" : "kann teilen",
"Can manage" : "kann verwalten",
"Owner" : "Besitzer",
"Delete" : "Löschen",
"Failed to create share with {displayName}" : "Fehler beim Erstellen der Freigabe mit dem Namen {displayName}",
"Are you sure you want to transfer the board {title} to {user}?" : "Möchten Sie wirklich das Board {title} auf {user} übertragen?",
"Transfer the board." : "Board übertragen.",
"Transfer" : "Übertragen",
"The board has been transferred to {user}" : "Das Board wurde auf {user} übertragen",
"Failed to transfer the board to {user}" : "Das Board konnte nicht auf {user} übertragen werden",
"Edit list title" : "Listentitel bearbeiten",
"Add a new list" : "Eine neue Liste hinzufügen",
"Archive all cards" : "Alle Karten archivieren",
"Unarchive all cards" : "Alle Karten dearchivieren",
"Delete list" : "Liste löschen",
"Archive all cards in this list" : "Alle Karten in dieser Liste archivieren",
"Unarchive all cards in this list" : "Alle Karten in dieser Liste dearchivieren",
"Add a new card" : "Neue Karte hinzufügen",
"Card name" : "Kartenname",
"List deleted" : "Liste gelöscht",
@@ -196,11 +183,9 @@
"Members" : "Mitglieder",
"Upload new files" : "Neue Dateien hochladen",
"Share from Files" : "Aus Dateien heraus teilen",
"Pending share" : "Ausstehende Freigabe",
"Add this attachment" : "Diesen Anhang anhängen",
"Show in Files" : "In Dateien anzeigen",
"Download" : "Herunterladen",
"Remove attachment" : "Anhang entfernen",
"Unshare file" : "Datei nicht mehr teilen",
"Delete Attachment" : "Anhang löschen",
"Restore Attachment" : "Anhang wiederherstellen",
"File to share" : "Zu teilende Datei",
@@ -222,10 +207,6 @@
"Set a due date" : "Ein Ablaufdatum setzen",
"Remove due date" : "Fälligkeitsdatum löschen",
"Select Date" : "Datum auswählen",
"Today" : "Heute",
"Tomorrow" : "Morgen",
"Next week" : "Nächste Woche",
"Next month" : "Nächsten Monat",
"Save" : "Speichern",
"The comment cannot be empty." : "Der Kommentar darf nicht leer sein.",
"The comment cannot be longer than 1000 characters." : "Der Kommentar darf nicht länger als 1000 Zeichen sein.",
@@ -243,9 +224,7 @@
"Write a description …" : "Beschreibung schreiben …",
"Choose attachment" : "Anhang auswählen",
"(group)" : "(Gruppe)",
"Todo items" : "Aufgaben-Elemente",
"{count} comments, {unread} unread" : "{count} Kommentare, {unread} ungelesen",
"Edit card title" : "Kartentitel bearbeiten",
"Assign to me" : "Mir zuweisen",
"Unassign myself" : "Nicht mehr mir zuweisen",
"Move card" : "Karte verschieben",
@@ -253,15 +232,12 @@
"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",
"Archived boards" : "Archivierte Boards",
"Shared with you" : "Mit Ihnen geteilt",
"Deck settings" : "Deck-Einstellungen",
"Use bigger card view" : "Größere Kartenansicht verwenden",
"Show card ID badge" : "Abzeichen mit Karten-ID zeigen",
"Show boards in calendar/tasks" : "Board in Kalender/Aufgaben anzeigen",
"Limit deck usage of groups" : "Nutzung auf Gruppen einschränken",
"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." : "Wenn Sie Deck einschränken, können Benutzer, die nicht zu diesen Gruppen gehören, keine eigenen Boards erstellen. Die Benutzer können weiterhin an Boards arbeiten, die für sie freigegeben wurden.",
@@ -270,7 +246,6 @@
"Clone board" : "Board klonen",
"Unarchive board" : "Board dearchivieren",
"Archive board" : "Board archivieren",
"Export board" : "Board exportieren",
"Turn on due date reminders" : "Fälligkeitserinnerungen einschalten",
"Turn off due date reminders" : "Fälligkeitserinnerungen ausschalten",
"Due date reminders" : "Fälligkeitserinnerungen",
@@ -282,19 +257,17 @@
"Only assigned cards" : "Nur zugewiesene Karten",
"No reminder" : "Keine Erinnerung",
"An error occurred" : "Es ist ein Fehler aufgetreten",
"Are you sure you want to delete the board {title}? This will delete all the data of this board including archived cards." : "Möchten Sie das Board {title} wirklich löschen? Dadurch werden alle Daten dieses Boards einschließlich archivierter Karten gelöscht.",
"Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Möchten Sie wirklich dieses Board {title} mit all seinen Daten löschen?",
"Delete the board?" : "Das Board löschen?",
"Loading filtered view" : "Lade gefilterte Ansicht",
"Today" : "Heute",
"Tomorrow" : "Morgen",
"This week" : "Diese Woche",
"No due" : "Kein Fälligkeitsdatum",
"Search for {searchQuery} in all boards" : "Suche nach {searchQuery} in allen Boards",
"No results found" : "Keine Ergebnisse gefunden",
"{stack} in {board}" : "{stack} auf {board}",
"Click to expand description" : "Klicken, um die Beschreibung zu erweitern",
"* Created on {created}\n* Last modified on {lastMod}\n* {nbAttachments} attachments\n* {nbComments} comments" : "* Erstellt am {created}\n* Zuletzt geändert am {lastMod}\n* {nbAttachments} Anhänge\n* {nbComments} Kommentare",
"{nbCards} cards" : "{nbCards} Karten",
"No upcoming cards" : "Keine anstehenden Karten",
"upcoming cards" : "Anstehende Karten",
"Due on {date}" : "Fällig am {date}",
"Link to a board" : "Mit einem Board verknüpfen",
"Link to a card" : "Mit einer Karte verknüpfen",
"Create a card" : "Eine Karte erstellen",
@@ -305,11 +278,6 @@
"Error creating the share" : "Fehler beim Erstellen der Freigabe",
"Share with a Deck card" : "Mit einer Deck-Karte teilen",
"Share {file} with a Deck card" : "{file} mit einer Deck-Karte teilen",
"Share" : "Freigeben",
"Are you sure you want to transfer the board {title} for {user}?" : "Möchten Sie wirklich das Board {title} an {user} übertragen?",
"Transfer the board for {user} successfully" : "Das Board wurde an {user} übertragen",
"Failed to transfer the board for {user}" : "Board konnte nicht an {user} übertragen werden",
"Add a new list" : "Eine neue Liste hinzufügen",
"Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Möchten Sie wirklich dieses Board {title} mit all seinen Daten löschen?"
"Share" : "Freigeben"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}

View File

@@ -2,146 +2,136 @@ OC.L10N.register(
"deck",
{
"You have created a new board {board}" : "Δημιουργήσατε νέο πίνακα {board}",
"{user} has created a new board {board}" : "Ο {user} δημιούργησε νέο πίνακα {board}",
"{user} has created a new board {board}" : "Ο {user} δημιούργησε νέο πίνακα {board}",
"You have deleted the board {board}" : "Έχετε διαγράψει τον πίνακα {board}",
"{user} has deleted the board {board}" : "Ο {user} διέγραψε τον πίνακα {board}",
"{user} has deleted the board {board}" : "Ο {user} διέγραψε τον πίνακα {board}",
"You have restored the board {board}" : "Εχετε επαναφέρει τον πίνακα {board}",
"{user} has restored the board {board}" : "Ο {user} επανέφερε τον πίνακα {board}",
"{user} has restored the board {board}" : "Ο {user} επανέφερε τον πίνακα {board}",
"You have shared the board {board} with {acl}" : "Εχετε διαμοιράσει τον πίνακα {board} με {acl}",
"{user} has shared the board {board} with {acl}" : "Ο {user} διαμοίρασε τον πίνακα {board} με {acl}",
"{user} has shared the board {board} with {acl}" : "Ο {user} διαμοίρασε τον πίνακα {board} με {acl}",
"You have removed {acl} from the board {board}" : "Αφαιρέθηκε η {acl} από τον πίνακα {board}",
"{user} has removed {acl} from the board {board}" : "Ο {user} αφαίρεσε την {acl} από τον πίνακα {board}",
"{user} has removed {acl} from the board {board}" : "Ο {user} αφαίρεσε την {acl} από τον πίνακα {board}",
"You have renamed the board {before} to {board}" : "Μετονομάσατε τον πίνακα {before} σε {board}",
"{user} has renamed the board {before} to {board}" : "Ο {user} μετονόμασε τον πίνακα {before} σε {board}",
"{user} has renamed the board {before} to {board}" : "Ο {user} μετονόμασε τον πίνακα {before} σε {board}",
"You have archived the board {board}" : "Αρχειοθετήσατε τον πίνακα {board}",
"{user} has archived the board {before}" : "Ο {user} αρχειοθέτησε τον πίνακα {before}",
"You have unarchived the board {board}" : "Επαναφέρατε τον πίνακα {board} από το αρχείο",
"{user} has unarchived the board {before}" : "Ο {user} επανέφερε τον πίνακα {before} από αρχείο",
"{user} has archived the board {before}" : "Ο {user} αρχειοθέτησε τον πίνακα {before}",
"You have unarchived the board {board}" : "Επαναφέρατε τον πίνακα {board} από αρχείο",
"{user} has unarchived the board {before}" : "Ο {user} επανέφερε τον πίνακα {before} από αρχείο",
"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}",
"{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}",
"{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}",
"{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}",
"{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}",
"{user} has deleted card {card} in list {stack} on board {board}" : "Ο {user} διέγραψε την καρτέλα {card} στην λίστα {stack} του πίνακα {board}",
"You have renamed the card {before} to {card}" : "Μετονομάσατε την καρτέλα {before} σε {card}",
"{user} has renamed the card {before} to {card}" : "Ο {user} μετονόμασε την καρτέλα {before} σε {card}",
"{user} has renamed the card {before} to {card}" : "Ο {user} μετονόμασε την καρτέλα {before} σε {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} του πίνακα {board} ",
"{user} has added a description to card {card} in list {stack} on board {board}" : "Ο {user} πρόσθεσε μια περιγραφή στην καρτέλα {card} της λίστας {stack} του πίνακα {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} του πίνακα {board}",
"{user} has updated the description of the card {card} in list {stack} on board {board}" : "Ο {user} ενημέρωσε την περιγραφή της καρτέλας {card} στη λίστα {stack} του πίνακα {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} ",
"{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}",
"{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}",
"{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} ",
"{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} ",
"{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}" : "Προσθέσατε ετικέτα στην καρτέλα {card} της λίστας {stack} του πίνακα {board}",
"{user} has added the tag {label} to card {card} in list {stack} on board {board}" : "Ο {user} πρόσθεσε ετικέτα στην καρτέλα {card} της λίστας {stack} του πίνακα {board}",
"You have removed the tag {label} from card {card} in list {stack} on board {board}" : "Αφαιρέσατε την ετικέτα από την καρτέλα {card} της λίστας {stack} του πίνακα {board}",
"{user} has removed the tag {label} from card {card} in list {stack} on board {board}" : "Ο {user} αφαίρεσε την ετικέτα της καρτέλα {card} της λίστας {stack} του πίνακα {board} ",
"You have assigned {assigneduser} to card {card} on board {board}" : "Έχετε ορίσει τον {assigneduser} στην καρτέλα {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}" : "Έχετε αφαιρέσει {assigneduser} από την καρτέλα {card} του πίνακα {board}",
"{user} has unassigned {assigneduser} from card {card} on board {board}" : "Ο {user} έχει αφαιρεθεί {assigneduser} από την καρτέλα {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}" : "Έχετε αφαιρεθεί {assigneduser} από την καρτέλα {card} του πίνακα {board}",
"{user} has unassigned {assigneduser} from card {card} on board {board}" : "Ο {user} έχει αφαιρεθεί {assigneduser} από την καρτέλα {card} του πίνακα {board}",
"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}",
"{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}",
"{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}",
"{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}",
"{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}",
"{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}",
"{user} has commented on card {card}" : "Ο {user} σχολίασε την καρτέλα {card}",
"A <strong>card description</strong> inside the Deck app has been changed" : "Η <strong>περιγραφή καρτέλας </strong>στην εφαρμογή Deck άλλαξε",
"Deck" : "Deck",
"Changes in the <strong>Deck app</strong>" : "Αλλαγές στην <strong>εφαρμογή Deck</strong>",
"A <strong>comment</strong> was created on a card" : "Ένα <strong>σχόλιο</strong> δημιουργήθηκε σε μια καρτέλα",
"Upcoming cards" : "Επερχόμενες καρτέλες",
"Load more" : "Φόρτωση περισσότερων",
"Upcoming cards" : "Επερχόμενες κάρτες",
"Personal" : "Προσωπικά",
"The card \"%s\" on \"%s\" has been assigned to you by %s." : "Η καρτέλα \"%s\" του \"%s\" ανατέθηκε σε εσάς από τον %s.",
"{user} has assigned the card {deck-card} on {deck-board} to you." : "Ο/Η {user} έχει αναθέσει την καρτέλα {deck-card} του πίνακα {deck-board} σε εσάς.",
"The card \"%s\" on \"%s\" has reached its due date." : "Η καρτέλα \"%s\" στο \"%s\" έχει λήξει.",
"The card {deck-card} on {deck-board} has reached its due date." : "Η καρτέλα {deck-card} στο {deck-board} έχει λήξει.",
"%s has mentioned you in a comment on \"%s\"." : "Ο/η%s σας ανέφερε σε σχόλιο στο \"%s\".",
"{user} has mentioned you in a comment on {deck-card}." : "Ο/Η {user} σας ανέφερε σε ένα σχόλιο στο {deck-card}.",
"The board \"%s\" has been shared with you by %s." : "Ο πίνακας \"%s\" είναι σε κοινή χρήση μαζί σας από %s.",
"{user} has shared {deck-board} with you." : "Ο/Η διαμοιράστηκε μαζί σας το {deck-board}",
"Card comments" : "Σχόλια καρτέλας",
"%s on %s" : "%s στο %s",
"The card \"%s\" on \"%s\" has reached its due date." : "Η κάρτα \"1%s\" στο \"1%s\" έχει λήξει.",
"%s has mentioned you in a comment on \"%s\"." : "%s σας ανέφερε σε σχόλιο στο \"%s\".",
"The board \"%s\" has been shared with you by %s." : "Ο πίνακας \"%s\" είναι σε κοινή χρήση μαζί σας %s.",
"No data was provided to create an attachment." : "Δεν δόθηκαν στοιχεία για δημιουργία συνημμένου.",
"Finished" : "Ολοκληρώθηκε",
"To review" : "Προς επισκόπηση",
"Action needed" : "Απαιτείται ενέργεια",
"Later" : "Αργότερα",
"copy" : "Αντιγραφή",
"To do" : "Προς Ενέργεια",
"To do" : "Να κάνω",
"Doing" : "Σε εξέλιξη",
"Done" : "Ολοκληρώθηκε",
"Example Task 3" : "Παράδειγμα Εργασίας 3",
"Example Task 2" : "Παράδειγμα Εργασίας 2",
"Example Task 1" : "Παράδειγμα Εργασίας 1",
"The file was uploaded" : "Το αρχείο μεταφορτώθηκε",
"The uploaded file exceeds the upload_max_filesize directive in php.ini" : "Το αρχείο που εστάλη υπερβαίνει την οδηγία μέγιστου επιτρεπτού μεγέθους \"upload_max_filesize\" του php.ini",
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "Το ανεβασμένο αρχείο υπερβαίνει το MAX_FILE_SIZE που ορίζεται στην HTML φόρμα",
"The uploaded file exceeds the upload_max_filesize directive in php.ini" : "Το μεταφορτωμένο αρχείο υπερβαίνει την οδηγία upload_max_filesize στο php.ini",
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "Το μεταφορτωμένο αρχείο υπερβαίνει την οδηγία MAX_FILE_SIZE που καθορίστηκε στην φόρμα HTML.",
"The file was only partially uploaded" : "Το αρχείο μεταφορτώθηκε εν μέρει",
"No file was uploaded" : "Δεν μεταφορτώθηκε κάποιο αρχείο",
"Missing a temporary folder" : "Λείπει κάποιος προσωρινός φάκελος",
"Could not write file to disk" : "Αδυναμία εγγραφής αρχείου στον δίσκο",
"A PHP extension stopped the file upload" : "Ένα πρόσθετο PHP διέκοψε την μεταφόρτωση του αρχείου",
"No file uploaded or file size exceeds maximum of %s" : "Δεν μεταφορτώθηκε αρχείο ή το μέγεθος αρχείου υπερβαίνει το μέγιστο %s",
"This comment has more than %s characters.\nAdded as an attachment to the card with name %s.\nAccessible on URL: %s." : "Αυτό το σχόλιο έχει περισσότερους από %s χαρακτήρες.\nΠροστέθηκε ως συνημμένο στην καρτέλα με όνομα %s .\nΠροσβάσιμο στη διεύθυνση URL: %s.",
"Card not found" : "Η καρτέλα δεν βρέθηκε",
"Path is already shared with this card" : "Η διαδρομή κοινοποιείται ήδη σε αυτήν την καρτέλα",
"Card not found" : "Η κάρτα δεν βρέθηκε",
"Path is already shared with this card" : "Η διαδρομή κοινοποιείται ήδη σε αυτήν την κάρτα",
"Invalid date, date format must be YYYY-MM-DD" : "Μη έγκυρη ημερομηνία, η μορφή ημερομηνίας πρέπει να είναι ΕΕΕΕ-ΜΜ-ΗΗ",
"Personal planning and team project organization" : "Προσωπικός σχεδιασμός και οργάνωση ομαδικών έργων",
"Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.\n\n\n- 📥 Add your tasks to cards and put them in order\n- 📄 Write down additional notes in Markdown\n- 🔖 Assign labels for even better organization\n- 👥 Share with your team, friends or family\n- 📎 Attach files and embed them in your Markdown description\n- 💬 Discuss with your team using comments\n- ⚡ Keep track of changes in the activity stream\n- 🚀 Get your project organized" : "Το Deck είναι ένα εργαλείο οργάνωσης τύπου kanban με στόχο τον προσωπικό προγραμματισμό και την οργάνωση έργων για ομάδες που έχουν ενσωματωθεί στο Nextcloud.\n\n\n- 📥 Προσθέστε τις εργασίες σας στις καρτέλες και βάλτε τες στη σειρά\n- 📄 Γράψτε τις πρόσθετες σημειώσεις\n- 🔖 Αντιστοιχίστε τις ετικέτες για ακόμη καλύτερη οργάνωση\n- 👥 Μοιραστείτε με την ομάδα, φίλους ή την οικογένειά σας\n- 📎 Επισυνάψτε αρχεία και ενσωματώστε τα στην περιγραφή\n- 💬 Συζητήστε με την ομάδα σας χρησιμοποιώντας σχόλια\n- ⚡ Παρακολουθήστε τις αλλαγές στη ροή δραστηριοτήτων\n- 🚀 Έχετε τα όλα οργανωμένα",
"Personal planning and team project organization" : "Προσωπικός σχεδιασμός και ομαδική οργάνωση",
"Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.\n\n\n- 📥 Add your tasks to cards and put them in order\n- 📄 Write down additional notes in markdown\n- 🔖 Assign labels for even better organization\n- 👥 Share with your team, friends or family\n- 📎 Attach files and embed them in your markdown description\n- 💬 Discuss with your team using comments\n- ⚡ Keep track of changes in the activity stream\n- 🚀 Get your project organized" : "Το Deck είναι ένα εργαλείο οργάνωσης τύπου kanban με στόχο τον προσωπικό προγραμματισμό και την ομαδική οργάνωση για ομάδες που έχουν ενσωματωθεί στο Nextcloud.\n\n\n- 📥 Προσθέστε τις εργασίες σας στις καρτέλες και βάλτε τες στη σειρά\n- 📄 Γράψτε τις πρόσθετες σημειώσεις\n- 🔖 Αντιστοιχίστε τις ετικέτες για ακόμη καλύτερη οργάνωση\n- 👥 Μοιραστείτε με την ομάδα, φίλους ή την οικογένειά σας\n- 📎 Συνδέστε αρχεία και ενσωματώστε τα στην περιγραφή\n- 💬 Συζητήστε με την ομάδα σας χρησιμοποιώντας σχόλια\n- ⚡ Παρακολουθήστε τις αλλαγές στη ροή δραστηριοτήτων\n- 🚀 Έχετε τα όλα οργανωμένα",
"Card details" : "Λεπτομέρειες καρτέλας",
"Add board" : "Προσθήκη πίνακα",
"Select the board to link to a project" : "Επιλέξτε πίνακα και συνδέστε τον σε ένα έργο",
"Select the board to link to a project" : "Επιλέξτε πίνακα και συνδέστε τον σε έργο",
"Search by board title" : "Αναζήτηση με το όνομα πίνακα",
"Select board" : "Επιλογή πίνακα",
"Create a new card" : "Δημιουργία νέας καρτέλας",
"Create a new card" : "Δημιουργία νέας κάρτας",
"Select a board" : "Επιλογή ενός πίνακα",
"Select a list" : "Επιλέξτε μια λίστα",
"Card title" : "Τίτλος καρτέλας",
"Card title" : "Τίτλος κάρτας",
"Cancel" : "Aκύρωση",
"Creating the new card" : "Γίνεται δημιουργία της νέας καρτέλας...",
"Card \"{card}\" was added to \"{board}\"" : "Η καρτέλα \"{card}\" προστέθηκε στο \"{board}\"",
"Open card" : "Άνοιγμα καρτέλας",
"Open card" : "Άνοιγμα κάρτας",
"Close" : "Κλείσιμο",
"Create card" : "Δημιουργία καρτέλας",
"Select a card" : "Επιλογή μιας καρτέλας",
"Create 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?" : "Επιθυμείτε να γίνει αντικατάσταση του?",
"Overwrite file" : "Αντικατάσταση αρχείου",
"Keep existing file" : "Διατήρηση υπάρχοντος αρχείου",
"Keep existing file" : "Διατήρηση υπάρχων αρχείου",
"This board is read only" : "Ο πίνακας είναι μόνο για ανάγνωση",
"Drop your files to upload" : "Αποθέστε τα αρχεία σας για ανέβασμα",
"Add card" : "Προσθήκη καρτέλας",
"Archived cards" : "Αρχειοθετημένες καρτέλες",
"Add card" : "Προσθήκη κάρτας",
"Archived cards" : "Αρχειοθετημένες κάρτες",
"Add list" : "Προσθήκη λίστας",
"List name" : "Όνομα λίστας",
"List name" : "Λίστα ονομάτων",
"Apply filter" : "Εφαρμογή φίλτρου",
"Filter by tag" : "Φίλτρο ανά ετικέτα",
"Filter by assigned user" : "Φίλτρο ανά χρήστη",
"Unassigned" : "Χωρίς ανάθεση",
"Filter by due date" : "Φίλτρο ανά ημερομηνία λήξης",
"Overdue" : "Εκπρόθεσμες",
"Overdue" : "Εκπρόθεσμος",
"Next 24 hours" : "Επόμενες 24 ώρες",
"Next 7 days" : "Επόμενες 7 ημέρες",
"Next 30 days" : "Επόμενες 30 ημέρες",
@@ -150,7 +140,6 @@ OC.L10N.register(
"Hide archived cards" : "Απόκρυψη καρτελών που αρχειοθετήθηκαν",
"Show archived cards" : "Εμφάνιση καρτελών που αρχειοθετήθηκαν",
"Toggle compact mode" : "Εναλλαγή λειτουργίας μικρού μεγέθους",
"Open details" : "Άνοιγμα λεπτομερειών",
"Details" : "Λεπτομέρειες",
"Loading board" : "Φόρτωση πίνακα",
"No lists available" : "Δεν υπάρχουν διαθέσιμες λίστες",
@@ -159,7 +148,7 @@ OC.L10N.register(
"Sharing" : "Διαμοιρασμός",
"Tags" : "Ετικέτες",
"Deleted items" : "Διαγραμμένα αντικείμενα",
"Timeline" : "Χρονολόγιο",
"Timeline" : "Χρονοδιάγραμμα",
"Deleted lists" : "Διαγραμμένες λίστες",
"Undo" : "Αναίρεση",
"Deleted cards" : "Διαγραμμένες καρτέλες",
@@ -172,15 +161,14 @@ OC.L10N.register(
"Can edit" : "Μπορεί να επεξεργαστεί",
"Can share" : "Μπορεί να διαμοιράσει",
"Can manage" : "Μπορεί να διαχειριστεί",
"Owner" : "Κάτοχος",
"Delete" : "Διαγραφή",
"Failed to create share with {displayName}" : "Αποτυχία δημιουργίας κοινής χρήσης με το {displayName}",
"Transfer" : "Μεταφορά",
"Add a new list" : "Προσθήκη νέας λίστας",
"Archive all cards" : "Αρχειοθέτηση όλων των καρτελών.",
"Delete list" : "Διαγραφή λίστας",
"Archive all cards in this list" : "Αρχειοθέτηση όλων των καρτελών σε αυτή τη λίστα.",
"Add a new card" : "Προσθήκη νέας καρτέλας",
"Card name" : "Όνομα καρτέλας",
"Card name" : "Όνομα κάρτας",
"List deleted" : "Η λίστα διαγράφηκε",
"Edit" : "Επεξεργασία",
"Add a new tag" : "Προσθήκη νέας ετικέτας",
@@ -188,17 +176,15 @@ OC.L10N.register(
"Board name" : "Όνομα πίνακα",
"Members" : "Μέλη",
"Upload new files" : "Ανεβάστε νέα αρχεία",
"Share from Files" : "Κοινή χρήση από Αρχεία",
"Pending share" : "Κοινή χρήση σε εκκρεμότητα",
"Share from Files" : "Κοινή χρήση από αρχεία",
"Add this attachment" : "Προσθήκη αυτού του συνημμένου",
"Show in Files" : "Εμφάνιση σε Αρχεία",
"Download" : "Λήψη",
"Remove attachment" : "Αφαίρεση συνημμένου",
"Delete Attachment" : "Διαγραφή συνημμένου",
"Restore Attachment" : "Επαναφορά συνημμένου",
"Show in Files" : "Εμφάνιση σε αρχεία",
"Unshare file" : "Κατάργηση κοινής χρήσης αρχείου",
"Delete Attachment" : "Διαγραφή Συνημμένου",
"Restore Attachment" : "Επαναφορά Συνημμένου",
"File to share" : "Αρχείο για κοινή χρήση",
"Invalid path selected" : "Επιλέχθηκε μη έγκυρη διαδρομή",
"Open in sidebar view" : "Άνοιγμα σε προβολή πλευρικής στήλης",
"Open in sidebar view" : "Άνοιγμα σε προβολή πλευρικής γραμμής",
"Open in bigger view" : "Άνοιγμα σε μεγαλύτερη προβολή",
"Attachments" : "Συνημμένα",
"Comments" : "Σχόλια",
@@ -206,24 +192,18 @@ OC.L10N.register(
"Created" : "Δημιουργήθηκε",
"The title cannot be empty." : "Ο τίτλος δεν μπορεί να είναι κενός.",
"No comments yet. Begin the discussion!" : "Χωρίς σχόλια ακόμη. Ξεκινήστε την συζήτηση!",
"Failed to load comments" : "Αποτυχία φόρτωσης σχολίων",
"Assign a tag to this card…" : "Ορίστε μια ετικέτα σε αυτήν την καρτέλα...",
"Assign to users" : "Ανάθεση σε χρήστες",
"Assign to users" : "Αναθέστε στους χρήστες",
"Assign to users/groups/circles" : "Ανάθεση σε χρήστες/ομάδες/κύκλους",
"Assign a user to this card…" : "Ανάθεση χρήστη στην καρτέλα...",
"Assign a user to this card…" : "Αναθέστε χρήστη στην καρτέλα...",
"Due date" : "Ημερομηνία λήξης",
"Set a due date" : "Καθορίστε ημερομηνίας λήξης",
"Remove due date" : "Αφαίρεση ημερομηνίας λήξης",
"Select Date" : "Επιλέξτε ημερομηνία",
"Today" : "Σήμερα",
"Tomorrow" : "Αύριο",
"Next week" : "Επόμενη εβδομάδα",
"Next month" : "Επόμενος μήνας",
"Select Date" : "Επέλεξε Ημέρα",
"Save" : "Αποθήκευση",
"The comment cannot be empty." : "Το σχόλιο δεν μπορεί να είναι κενό.",
"The comment cannot be longer than 1000 characters." : "Το σχόλιο δεν μπορεί να έχι περισσότερους από 1000 χαρακτήρες.",
"In reply to" : "Σε απάντηση σε",
"Cancel reply" : "Ακύρωση απάντησης",
"In reply to" : "Ως απάντηση σε",
"Reply" : "Απάντηση",
"Update" : "Ενημέρωση",
"Description" : "Περιγραφή",
@@ -236,23 +216,21 @@ OC.L10N.register(
"Write a description …" : "Γράψτε μια περιγραφή…",
"Choose attachment" : "Επιλογή συνημμένου",
"(group)" : "(ομάδα)",
"{count} comments, {unread} unread" : "{count} σχόλια, {unread} μη αναγνωσμένα",
"Assign to me" : "Ανάθεση σε εμένα",
"Unassign myself" : "Αποδέσμευσή μου",
"Move card" : "Μετακίνηση καρτέλας",
"Unarchive card" : "Αναίρεση αρχειοθέτησης καρτέλας",
"Archive card" : "Αρχειοθέτηση καρτέλας",
"Delete card" : "Διαγραφή καρτέλας",
"Move card" : "Μετακίνηση κάρτας",
"Unarchive card" : "Αναίρεση αρχειοθέτησης κάρτας",
"Archive card" : "Αρχειοθέτηση κάρτας",
"Delete card" : "Διαγραφή κάρτας",
"Move card to another board" : "Μετακίνηση καρτέλας σε άλλο πίνακα",
"List is empty" : "Η λίστα είναι κενή",
"Card deleted" : "Η καρτέλα διαγράφηκε",
"Card deleted" : "Η κάρτα διαγράφηκε",
"seconds ago" : " δευτερόλεπτα πριν ",
"All boards" : "Όλοι οι πίνακες",
"Archived boards" : "Αρχειοθέτηση πινάκων ",
"Shared with you" : "Διαμοιρασμένα μαζί σας",
"Use bigger card view" : "Χρησιμοποιήστε μεγαλύτερη προβολή καρτέλας",
"Use bigger card view" : "Χρησιμοποιήστε μεγαλύτερη προβολή κάρτας",
"Show boards in calendar/tasks" : "Εμφάνιση πινάκων στο ημερολόγιο / εργασίες",
"Limit deck usage of groups" : "Περιορίστε τη χρήση της εφαρμογής deck σε ομάδες",
"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." : "Ο περιορισμός του Deck θα εμποδίσει τους χρήστες που δεν είναι μέρος αυτών των ομάδων να δημιουργούν δικούς τους πίνακες. Οι χρήστες θα εξακολουθήσουν να εργάζονται σε πίνακες που έχουν διαμοιραστεί μαζί τους.",
"Board details" : "Λεπτομέριες πίνακα",
"Edit board" : "Επεξεργασία πίνακα",
@@ -262,35 +240,32 @@ OC.L10N.register(
"Turn on due date reminders" : "Ενεργοποιήστε τις υπενθυμίσεις ημερομηνίας προθεσμίας",
"Turn off due date reminders" : "Απενεργοποιήστε τις υπενθυμίσεις ημερομηνίας προθεσμίας",
"Due date reminders" : "Υπενθυμίσεις ημερομηνίας προθεσμίας",
"All cards" : "Όλες οι καρτέλες",
"Assigned cards" : "Ανατεθειμένες καρτέλες",
"All cards" : "Όλες οι κάρτες",
"Assigned cards" : "Ανατεθείς κάρτες",
"No notifications" : "Δεν υπάρχουν ειδοποιήσεις",
"Delete board" : "Διαγραφή πίνακα",
"Board {0} deleted" : "Διαγράφηκε {0} πίνακας ",
"Only assigned cards" : "Μόνο καρτέλες που έχουν ανατεθεί",
"Board {0} deleted" : "Διαγράφηκε {0} πίνακας",
"Only assigned cards" : "Μόνο κάρτες που έχουν ανατεθεί",
"No reminder" : "Δεν υπάρχει υπενθύμιση",
"An error occurred" : "Παρουσιάστηκε σφάλμα",
"Delete the board?" : "Διαγραφή του πίνακα;",
"Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Είστε βέβαιοι ότι θέλετε να διαγράψετε τον πίνακα {title}; Θα διαγραφούν όλα τα δεδομένα.",
"Delete the board?" : "Διαγραφή πίνακα;",
"Loading filtered view" : "Φόρτωση εμφάνισης με βάση το φίλτρο",
"Today" : "Σήμερα",
"Tomorrow" : "Αύριο",
"This week" : "Αυτή την εβδομάδα",
"No due" : "Χωρίς λήξη",
"Search for {searchQuery} in all boards" : "Αναζήτηση για {searchQuery} σε όλους τους πίνακες",
"No results found" : "Δεν βρέθηκαν αποτελέσματα",
"{stack} in {board}" : "{stack} στο {board}",
"No upcoming cards" : "Δεν υπάρχουν επερχόμενες καρτέλες",
"upcoming cards" : "επερχόμενες καρτέλες",
"No upcoming cards" : "Δεν υπάρχουν επερχόμενες κάρτες",
"upcoming cards" : "Επερχόμενες κάρτες",
"Link to a board" : "Σύνδεσμος στον πίνακα",
"Link to a card" : "Σύνδεσμος σε καρτέλα",
"Create a card" : "Δημιουργία καρτέλας",
"Message from {author} in {conversationName}" : "Μήνυμα από {author} σε {conversationName}",
"Create a card" : "Δημιουργία κάρτας",
"Something went wrong" : "Κάτι πήγε στραβά",
"Failed to upload {name}" : "Αποτυχία μεταφόρτωσης {name}",
"Failed to upload {name}" : "Αποτυχία μεταφόρτωσης {όνομα}",
"Maximum file size of {size} exceeded" : "Υπέρβαση επιτρεπόμενου μεγέθους αρχείου {size}",
"Error creating the share" : "Σφάλμα κατά τη δημιουργία της κοινοποίησης",
"Share with a Deck card" : "Μοιραστείτε με μια καρτέλα Deck",
"Share {file} with a Deck card" : "Μοιραστείτε το {file} με μια καρτέλα Deck",
"Share" : "Μοιραστείτε",
"Are you sure you want to transfer the board {title} for {user}?" : "Είστε σίγουροι ότι θέλετε να μεταφέρετε τον πίνακα {title} για {user}? ",
"Add a new list" : "Προσθήκη νέας λίστας",
"Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Είστε βέβαιοι ότι θέλετε να διαγράψετε τον πίνακα {title}; Θα διαγραφούν όλα τα δεδομένα."
"Share with a Deck card" : "Μοιραστείτε με μια κάρτα Deck",
"Share {file} with a Deck card" : "Μοιραστείτε {αρχείο} με μια κάρτα Deck",
"Share" : "Μοιραστείτε"
},
"nplurals=2; plural=(n != 1);");

View File

@@ -1,145 +1,135 @@
{ "translations": {
"You have created a new board {board}" : "Δημιουργήσατε νέο πίνακα {board}",
"{user} has created a new board {board}" : "Ο {user} δημιούργησε νέο πίνακα {board}",
"{user} has created a new board {board}" : "Ο {user} δημιούργησε νέο πίνακα {board}",
"You have deleted the board {board}" : "Έχετε διαγράψει τον πίνακα {board}",
"{user} has deleted the board {board}" : "Ο {user} διέγραψε τον πίνακα {board}",
"{user} has deleted the board {board}" : "Ο {user} διέγραψε τον πίνακα {board}",
"You have restored the board {board}" : "Εχετε επαναφέρει τον πίνακα {board}",
"{user} has restored the board {board}" : "Ο {user} επανέφερε τον πίνακα {board}",
"{user} has restored the board {board}" : "Ο {user} επανέφερε τον πίνακα {board}",
"You have shared the board {board} with {acl}" : "Εχετε διαμοιράσει τον πίνακα {board} με {acl}",
"{user} has shared the board {board} with {acl}" : "Ο {user} διαμοίρασε τον πίνακα {board} με {acl}",
"{user} has shared the board {board} with {acl}" : "Ο {user} διαμοίρασε τον πίνακα {board} με {acl}",
"You have removed {acl} from the board {board}" : "Αφαιρέθηκε η {acl} από τον πίνακα {board}",
"{user} has removed {acl} from the board {board}" : "Ο {user} αφαίρεσε την {acl} από τον πίνακα {board}",
"{user} has removed {acl} from the board {board}" : "Ο {user} αφαίρεσε την {acl} από τον πίνακα {board}",
"You have renamed the board {before} to {board}" : "Μετονομάσατε τον πίνακα {before} σε {board}",
"{user} has renamed the board {before} to {board}" : "Ο {user} μετονόμασε τον πίνακα {before} σε {board}",
"{user} has renamed the board {before} to {board}" : "Ο {user} μετονόμασε τον πίνακα {before} σε {board}",
"You have archived the board {board}" : "Αρχειοθετήσατε τον πίνακα {board}",
"{user} has archived the board {before}" : "Ο {user} αρχειοθέτησε τον πίνακα {before}",
"You have unarchived the board {board}" : "Επαναφέρατε τον πίνακα {board} από το αρχείο",
"{user} has unarchived the board {before}" : "Ο {user} επανέφερε τον πίνακα {before} από αρχείο",
"{user} has archived the board {before}" : "Ο {user} αρχειοθέτησε τον πίνακα {before}",
"You have unarchived the board {board}" : "Επαναφέρατε τον πίνακα {board} από αρχείο",
"{user} has unarchived the board {before}" : "Ο {user} επανέφερε τον πίνακα {before} από αρχείο",
"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}",
"{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}",
"{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}",
"{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}",
"{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}",
"{user} has deleted card {card} in list {stack} on board {board}" : "Ο {user} διέγραψε την καρτέλα {card} στην λίστα {stack} του πίνακα {board}",
"You have renamed the card {before} to {card}" : "Μετονομάσατε την καρτέλα {before} σε {card}",
"{user} has renamed the card {before} to {card}" : "Ο {user} μετονόμασε την καρτέλα {before} σε {card}",
"{user} has renamed the card {before} to {card}" : "Ο {user} μετονόμασε την καρτέλα {before} σε {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} του πίνακα {board} ",
"{user} has added a description to card {card} in list {stack} on board {board}" : "Ο {user} πρόσθεσε μια περιγραφή στην καρτέλα {card} της λίστας {stack} του πίνακα {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} του πίνακα {board}",
"{user} has updated the description of the card {card} in list {stack} on board {board}" : "Ο {user} ενημέρωσε την περιγραφή της καρτέλας {card} στη λίστα {stack} του πίνακα {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} ",
"{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}",
"{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}",
"{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} ",
"{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} ",
"{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}" : "Προσθέσατε ετικέτα στην καρτέλα {card} της λίστας {stack} του πίνακα {board}",
"{user} has added the tag {label} to card {card} in list {stack} on board {board}" : "Ο {user} πρόσθεσε ετικέτα στην καρτέλα {card} της λίστας {stack} του πίνακα {board}",
"You have removed the tag {label} from card {card} in list {stack} on board {board}" : "Αφαιρέσατε την ετικέτα από την καρτέλα {card} της λίστας {stack} του πίνακα {board}",
"{user} has removed the tag {label} from card {card} in list {stack} on board {board}" : "Ο {user} αφαίρεσε την ετικέτα της καρτέλα {card} της λίστας {stack} του πίνακα {board} ",
"You have assigned {assigneduser} to card {card} on board {board}" : "Έχετε ορίσει τον {assigneduser} στην καρτέλα {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}" : "Έχετε αφαιρέσει {assigneduser} από την καρτέλα {card} του πίνακα {board}",
"{user} has unassigned {assigneduser} from card {card} on board {board}" : "Ο {user} έχει αφαιρεθεί {assigneduser} από την καρτέλα {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}" : "Έχετε αφαιρεθεί {assigneduser} από την καρτέλα {card} του πίνακα {board}",
"{user} has unassigned {assigneduser} from card {card} on board {board}" : "Ο {user} έχει αφαιρεθεί {assigneduser} από την καρτέλα {card} του πίνακα {board}",
"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}",
"{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}",
"{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}",
"{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}",
"{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}",
"{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}",
"{user} has commented on card {card}" : "Ο {user} σχολίασε την καρτέλα {card}",
"A <strong>card description</strong> inside the Deck app has been changed" : "Η <strong>περιγραφή καρτέλας </strong>στην εφαρμογή Deck άλλαξε",
"Deck" : "Deck",
"Changes in the <strong>Deck app</strong>" : "Αλλαγές στην <strong>εφαρμογή Deck</strong>",
"A <strong>comment</strong> was created on a card" : "Ένα <strong>σχόλιο</strong> δημιουργήθηκε σε μια καρτέλα",
"Upcoming cards" : "Επερχόμενες καρτέλες",
"Load more" : "Φόρτωση περισσότερων",
"Upcoming cards" : "Επερχόμενες κάρτες",
"Personal" : "Προσωπικά",
"The card \"%s\" on \"%s\" has been assigned to you by %s." : "Η καρτέλα \"%s\" του \"%s\" ανατέθηκε σε εσάς από τον %s.",
"{user} has assigned the card {deck-card} on {deck-board} to you." : "Ο/Η {user} έχει αναθέσει την καρτέλα {deck-card} του πίνακα {deck-board} σε εσάς.",
"The card \"%s\" on \"%s\" has reached its due date." : "Η καρτέλα \"%s\" στο \"%s\" έχει λήξει.",
"The card {deck-card} on {deck-board} has reached its due date." : "Η καρτέλα {deck-card} στο {deck-board} έχει λήξει.",
"%s has mentioned you in a comment on \"%s\"." : "Ο/η%s σας ανέφερε σε σχόλιο στο \"%s\".",
"{user} has mentioned you in a comment on {deck-card}." : "Ο/Η {user} σας ανέφερε σε ένα σχόλιο στο {deck-card}.",
"The board \"%s\" has been shared with you by %s." : "Ο πίνακας \"%s\" είναι σε κοινή χρήση μαζί σας από %s.",
"{user} has shared {deck-board} with you." : "Ο/Η διαμοιράστηκε μαζί σας το {deck-board}",
"Card comments" : "Σχόλια καρτέλας",
"%s on %s" : "%s στο %s",
"The card \"%s\" on \"%s\" has reached its due date." : "Η κάρτα \"1%s\" στο \"1%s\" έχει λήξει.",
"%s has mentioned you in a comment on \"%s\"." : "%s σας ανέφερε σε σχόλιο στο \"%s\".",
"The board \"%s\" has been shared with you by %s." : "Ο πίνακας \"%s\" είναι σε κοινή χρήση μαζί σας %s.",
"No data was provided to create an attachment." : "Δεν δόθηκαν στοιχεία για δημιουργία συνημμένου.",
"Finished" : "Ολοκληρώθηκε",
"To review" : "Προς επισκόπηση",
"Action needed" : "Απαιτείται ενέργεια",
"Later" : "Αργότερα",
"copy" : "Αντιγραφή",
"To do" : "Προς Ενέργεια",
"To do" : "Να κάνω",
"Doing" : "Σε εξέλιξη",
"Done" : "Ολοκληρώθηκε",
"Example Task 3" : "Παράδειγμα Εργασίας 3",
"Example Task 2" : "Παράδειγμα Εργασίας 2",
"Example Task 1" : "Παράδειγμα Εργασίας 1",
"The file was uploaded" : "Το αρχείο μεταφορτώθηκε",
"The uploaded file exceeds the upload_max_filesize directive in php.ini" : "Το αρχείο που εστάλη υπερβαίνει την οδηγία μέγιστου επιτρεπτού μεγέθους \"upload_max_filesize\" του php.ini",
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "Το ανεβασμένο αρχείο υπερβαίνει το MAX_FILE_SIZE που ορίζεται στην HTML φόρμα",
"The uploaded file exceeds the upload_max_filesize directive in php.ini" : "Το μεταφορτωμένο αρχείο υπερβαίνει την οδηγία upload_max_filesize στο php.ini",
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "Το μεταφορτωμένο αρχείο υπερβαίνει την οδηγία MAX_FILE_SIZE που καθορίστηκε στην φόρμα HTML.",
"The file was only partially uploaded" : "Το αρχείο μεταφορτώθηκε εν μέρει",
"No file was uploaded" : "Δεν μεταφορτώθηκε κάποιο αρχείο",
"Missing a temporary folder" : "Λείπει κάποιος προσωρινός φάκελος",
"Could not write file to disk" : "Αδυναμία εγγραφής αρχείου στον δίσκο",
"A PHP extension stopped the file upload" : "Ένα πρόσθετο PHP διέκοψε την μεταφόρτωση του αρχείου",
"No file uploaded or file size exceeds maximum of %s" : "Δεν μεταφορτώθηκε αρχείο ή το μέγεθος αρχείου υπερβαίνει το μέγιστο %s",
"This comment has more than %s characters.\nAdded as an attachment to the card with name %s.\nAccessible on URL: %s." : "Αυτό το σχόλιο έχει περισσότερους από %s χαρακτήρες.\nΠροστέθηκε ως συνημμένο στην καρτέλα με όνομα %s .\nΠροσβάσιμο στη διεύθυνση URL: %s.",
"Card not found" : "Η καρτέλα δεν βρέθηκε",
"Path is already shared with this card" : "Η διαδρομή κοινοποιείται ήδη σε αυτήν την καρτέλα",
"Card not found" : "Η κάρτα δεν βρέθηκε",
"Path is already shared with this card" : "Η διαδρομή κοινοποιείται ήδη σε αυτήν την κάρτα",
"Invalid date, date format must be YYYY-MM-DD" : "Μη έγκυρη ημερομηνία, η μορφή ημερομηνίας πρέπει να είναι ΕΕΕΕ-ΜΜ-ΗΗ",
"Personal planning and team project organization" : "Προσωπικός σχεδιασμός και οργάνωση ομαδικών έργων",
"Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.\n\n\n- 📥 Add your tasks to cards and put them in order\n- 📄 Write down additional notes in Markdown\n- 🔖 Assign labels for even better organization\n- 👥 Share with your team, friends or family\n- 📎 Attach files and embed them in your Markdown description\n- 💬 Discuss with your team using comments\n- ⚡ Keep track of changes in the activity stream\n- 🚀 Get your project organized" : "Το Deck είναι ένα εργαλείο οργάνωσης τύπου kanban με στόχο τον προσωπικό προγραμματισμό και την οργάνωση έργων για ομάδες που έχουν ενσωματωθεί στο Nextcloud.\n\n\n- 📥 Προσθέστε τις εργασίες σας στις καρτέλες και βάλτε τες στη σειρά\n- 📄 Γράψτε τις πρόσθετες σημειώσεις\n- 🔖 Αντιστοιχίστε τις ετικέτες για ακόμη καλύτερη οργάνωση\n- 👥 Μοιραστείτε με την ομάδα, φίλους ή την οικογένειά σας\n- 📎 Επισυνάψτε αρχεία και ενσωματώστε τα στην περιγραφή\n- 💬 Συζητήστε με την ομάδα σας χρησιμοποιώντας σχόλια\n- ⚡ Παρακολουθήστε τις αλλαγές στη ροή δραστηριοτήτων\n- 🚀 Έχετε τα όλα οργανωμένα",
"Personal planning and team project organization" : "Προσωπικός σχεδιασμός και ομαδική οργάνωση",
"Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.\n\n\n- 📥 Add your tasks to cards and put them in order\n- 📄 Write down additional notes in markdown\n- 🔖 Assign labels for even better organization\n- 👥 Share with your team, friends or family\n- 📎 Attach files and embed them in your markdown description\n- 💬 Discuss with your team using comments\n- ⚡ Keep track of changes in the activity stream\n- 🚀 Get your project organized" : "Το Deck είναι ένα εργαλείο οργάνωσης τύπου kanban με στόχο τον προσωπικό προγραμματισμό και την ομαδική οργάνωση για ομάδες που έχουν ενσωματωθεί στο Nextcloud.\n\n\n- 📥 Προσθέστε τις εργασίες σας στις καρτέλες και βάλτε τες στη σειρά\n- 📄 Γράψτε τις πρόσθετες σημειώσεις\n- 🔖 Αντιστοιχίστε τις ετικέτες για ακόμη καλύτερη οργάνωση\n- 👥 Μοιραστείτε με την ομάδα, φίλους ή την οικογένειά σας\n- 📎 Συνδέστε αρχεία και ενσωματώστε τα στην περιγραφή\n- 💬 Συζητήστε με την ομάδα σας χρησιμοποιώντας σχόλια\n- ⚡ Παρακολουθήστε τις αλλαγές στη ροή δραστηριοτήτων\n- 🚀 Έχετε τα όλα οργανωμένα",
"Card details" : "Λεπτομέρειες καρτέλας",
"Add board" : "Προσθήκη πίνακα",
"Select the board to link to a project" : "Επιλέξτε πίνακα και συνδέστε τον σε ένα έργο",
"Select the board to link to a project" : "Επιλέξτε πίνακα και συνδέστε τον σε έργο",
"Search by board title" : "Αναζήτηση με το όνομα πίνακα",
"Select board" : "Επιλογή πίνακα",
"Create a new card" : "Δημιουργία νέας καρτέλας",
"Create a new card" : "Δημιουργία νέας κάρτας",
"Select a board" : "Επιλογή ενός πίνακα",
"Select a list" : "Επιλέξτε μια λίστα",
"Card title" : "Τίτλος καρτέλας",
"Card title" : "Τίτλος κάρτας",
"Cancel" : "Aκύρωση",
"Creating the new card" : "Γίνεται δημιουργία της νέας καρτέλας...",
"Card \"{card}\" was added to \"{board}\"" : "Η καρτέλα \"{card}\" προστέθηκε στο \"{board}\"",
"Open card" : "Άνοιγμα καρτέλας",
"Open card" : "Άνοιγμα κάρτας",
"Close" : "Κλείσιμο",
"Create card" : "Δημιουργία καρτέλας",
"Select a card" : "Επιλογή μιας καρτέλας",
"Create 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?" : "Επιθυμείτε να γίνει αντικατάσταση του?",
"Overwrite file" : "Αντικατάσταση αρχείου",
"Keep existing file" : "Διατήρηση υπάρχοντος αρχείου",
"Keep existing file" : "Διατήρηση υπάρχων αρχείου",
"This board is read only" : "Ο πίνακας είναι μόνο για ανάγνωση",
"Drop your files to upload" : "Αποθέστε τα αρχεία σας για ανέβασμα",
"Add card" : "Προσθήκη καρτέλας",
"Archived cards" : "Αρχειοθετημένες καρτέλες",
"Add card" : "Προσθήκη κάρτας",
"Archived cards" : "Αρχειοθετημένες κάρτες",
"Add list" : "Προσθήκη λίστας",
"List name" : "Όνομα λίστας",
"List name" : "Λίστα ονομάτων",
"Apply filter" : "Εφαρμογή φίλτρου",
"Filter by tag" : "Φίλτρο ανά ετικέτα",
"Filter by assigned user" : "Φίλτρο ανά χρήστη",
"Unassigned" : "Χωρίς ανάθεση",
"Filter by due date" : "Φίλτρο ανά ημερομηνία λήξης",
"Overdue" : "Εκπρόθεσμες",
"Overdue" : "Εκπρόθεσμος",
"Next 24 hours" : "Επόμενες 24 ώρες",
"Next 7 days" : "Επόμενες 7 ημέρες",
"Next 30 days" : "Επόμενες 30 ημέρες",
@@ -148,7 +138,6 @@
"Hide archived cards" : "Απόκρυψη καρτελών που αρχειοθετήθηκαν",
"Show archived cards" : "Εμφάνιση καρτελών που αρχειοθετήθηκαν",
"Toggle compact mode" : "Εναλλαγή λειτουργίας μικρού μεγέθους",
"Open details" : "Άνοιγμα λεπτομερειών",
"Details" : "Λεπτομέρειες",
"Loading board" : "Φόρτωση πίνακα",
"No lists available" : "Δεν υπάρχουν διαθέσιμες λίστες",
@@ -157,7 +146,7 @@
"Sharing" : "Διαμοιρασμός",
"Tags" : "Ετικέτες",
"Deleted items" : "Διαγραμμένα αντικείμενα",
"Timeline" : "Χρονολόγιο",
"Timeline" : "Χρονοδιάγραμμα",
"Deleted lists" : "Διαγραμμένες λίστες",
"Undo" : "Αναίρεση",
"Deleted cards" : "Διαγραμμένες καρτέλες",
@@ -170,15 +159,14 @@
"Can edit" : "Μπορεί να επεξεργαστεί",
"Can share" : "Μπορεί να διαμοιράσει",
"Can manage" : "Μπορεί να διαχειριστεί",
"Owner" : "Κάτοχος",
"Delete" : "Διαγραφή",
"Failed to create share with {displayName}" : "Αποτυχία δημιουργίας κοινής χρήσης με το {displayName}",
"Transfer" : "Μεταφορά",
"Add a new list" : "Προσθήκη νέας λίστας",
"Archive all cards" : "Αρχειοθέτηση όλων των καρτελών.",
"Delete list" : "Διαγραφή λίστας",
"Archive all cards in this list" : "Αρχειοθέτηση όλων των καρτελών σε αυτή τη λίστα.",
"Add a new card" : "Προσθήκη νέας καρτέλας",
"Card name" : "Όνομα καρτέλας",
"Card name" : "Όνομα κάρτας",
"List deleted" : "Η λίστα διαγράφηκε",
"Edit" : "Επεξεργασία",
"Add a new tag" : "Προσθήκη νέας ετικέτας",
@@ -186,17 +174,15 @@
"Board name" : "Όνομα πίνακα",
"Members" : "Μέλη",
"Upload new files" : "Ανεβάστε νέα αρχεία",
"Share from Files" : "Κοινή χρήση από Αρχεία",
"Pending share" : "Κοινή χρήση σε εκκρεμότητα",
"Share from Files" : "Κοινή χρήση από αρχεία",
"Add this attachment" : "Προσθήκη αυτού του συνημμένου",
"Show in Files" : "Εμφάνιση σε Αρχεία",
"Download" : "Λήψη",
"Remove attachment" : "Αφαίρεση συνημμένου",
"Delete Attachment" : "Διαγραφή συνημμένου",
"Restore Attachment" : "Επαναφορά συνημμένου",
"Show in Files" : "Εμφάνιση σε αρχεία",
"Unshare file" : "Κατάργηση κοινής χρήσης αρχείου",
"Delete Attachment" : "Διαγραφή Συνημμένου",
"Restore Attachment" : "Επαναφορά Συνημμένου",
"File to share" : "Αρχείο για κοινή χρήση",
"Invalid path selected" : "Επιλέχθηκε μη έγκυρη διαδρομή",
"Open in sidebar view" : "Άνοιγμα σε προβολή πλευρικής στήλης",
"Open in sidebar view" : "Άνοιγμα σε προβολή πλευρικής γραμμής",
"Open in bigger view" : "Άνοιγμα σε μεγαλύτερη προβολή",
"Attachments" : "Συνημμένα",
"Comments" : "Σχόλια",
@@ -204,24 +190,18 @@
"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" : "Αναθέστε στους χρήστες",
"Assign to users/groups/circles" : "Ανάθεση σε χρήστες/ομάδες/κύκλους",
"Assign a user to this card…" : "Ανάθεση χρήστη στην καρτέλα...",
"Assign a user to this card…" : "Αναθέστε χρήστη στην καρτέλα...",
"Due date" : "Ημερομηνία λήξης",
"Set a due date" : "Καθορίστε ημερομηνίας λήξης",
"Remove due date" : "Αφαίρεση ημερομηνίας λήξης",
"Select Date" : "Επιλέξτε ημερομηνία",
"Today" : "Σήμερα",
"Tomorrow" : "Αύριο",
"Next week" : "Επόμενη εβδομάδα",
"Next month" : "Επόμενος μήνας",
"Select Date" : "Επέλεξε Ημέρα",
"Save" : "Αποθήκευση",
"The comment cannot be empty." : "Το σχόλιο δεν μπορεί να είναι κενό.",
"The comment cannot be longer than 1000 characters." : "Το σχόλιο δεν μπορεί να έχι περισσότερους από 1000 χαρακτήρες.",
"In reply to" : "Σε απάντηση σε",
"Cancel reply" : "Ακύρωση απάντησης",
"In reply to" : "Ως απάντηση σε",
"Reply" : "Απάντηση",
"Update" : "Ενημέρωση",
"Description" : "Περιγραφή",
@@ -234,23 +214,21 @@
"Write a description …" : "Γράψτε μια περιγραφή…",
"Choose attachment" : "Επιλογή συνημμένου",
"(group)" : "(ομάδα)",
"{count} comments, {unread} unread" : "{count} σχόλια, {unread} μη αναγνωσμένα",
"Assign to me" : "Ανάθεση σε εμένα",
"Unassign myself" : "Αποδέσμευσή μου",
"Move card" : "Μετακίνηση καρτέλας",
"Unarchive card" : "Αναίρεση αρχειοθέτησης καρτέλας",
"Archive card" : "Αρχειοθέτηση καρτέλας",
"Delete card" : "Διαγραφή καρτέλας",
"Move card" : "Μετακίνηση κάρτας",
"Unarchive card" : "Αναίρεση αρχειοθέτησης κάρτας",
"Archive card" : "Αρχειοθέτηση κάρτας",
"Delete card" : "Διαγραφή κάρτας",
"Move card to another board" : "Μετακίνηση καρτέλας σε άλλο πίνακα",
"List is empty" : "Η λίστα είναι κενή",
"Card deleted" : "Η καρτέλα διαγράφηκε",
"Card deleted" : "Η κάρτα διαγράφηκε",
"seconds ago" : " δευτερόλεπτα πριν ",
"All boards" : "Όλοι οι πίνακες",
"Archived boards" : "Αρχειοθέτηση πινάκων ",
"Shared with you" : "Διαμοιρασμένα μαζί σας",
"Use bigger card view" : "Χρησιμοποιήστε μεγαλύτερη προβολή καρτέλας",
"Use bigger card view" : "Χρησιμοποιήστε μεγαλύτερη προβολή κάρτας",
"Show boards in calendar/tasks" : "Εμφάνιση πινάκων στο ημερολόγιο / εργασίες",
"Limit deck usage of groups" : "Περιορίστε τη χρήση της εφαρμογής deck σε ομάδες",
"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." : "Ο περιορισμός του Deck θα εμποδίσει τους χρήστες που δεν είναι μέρος αυτών των ομάδων να δημιουργούν δικούς τους πίνακες. Οι χρήστες θα εξακολουθήσουν να εργάζονται σε πίνακες που έχουν διαμοιραστεί μαζί τους.",
"Board details" : "Λεπτομέριες πίνακα",
"Edit board" : "Επεξεργασία πίνακα",
@@ -260,35 +238,32 @@
"Turn on due date reminders" : "Ενεργοποιήστε τις υπενθυμίσεις ημερομηνίας προθεσμίας",
"Turn off due date reminders" : "Απενεργοποιήστε τις υπενθυμίσεις ημερομηνίας προθεσμίας",
"Due date reminders" : "Υπενθυμίσεις ημερομηνίας προθεσμίας",
"All cards" : "Όλες οι καρτέλες",
"Assigned cards" : "Ανατεθειμένες καρτέλες",
"All cards" : "Όλες οι κάρτες",
"Assigned cards" : "Ανατεθείς κάρτες",
"No notifications" : "Δεν υπάρχουν ειδοποιήσεις",
"Delete board" : "Διαγραφή πίνακα",
"Board {0} deleted" : "Διαγράφηκε {0} πίνακας ",
"Only assigned cards" : "Μόνο καρτέλες που έχουν ανατεθεί",
"Board {0} deleted" : "Διαγράφηκε {0} πίνακας",
"Only assigned cards" : "Μόνο κάρτες που έχουν ανατεθεί",
"No reminder" : "Δεν υπάρχει υπενθύμιση",
"An error occurred" : "Παρουσιάστηκε σφάλμα",
"Delete the board?" : "Διαγραφή του πίνακα;",
"Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Είστε βέβαιοι ότι θέλετε να διαγράψετε τον πίνακα {title}; Θα διαγραφούν όλα τα δεδομένα.",
"Delete the board?" : "Διαγραφή πίνακα;",
"Loading filtered view" : "Φόρτωση εμφάνισης με βάση το φίλτρο",
"Today" : "Σήμερα",
"Tomorrow" : "Αύριο",
"This week" : "Αυτή την εβδομάδα",
"No due" : "Χωρίς λήξη",
"Search for {searchQuery} in all boards" : "Αναζήτηση για {searchQuery} σε όλους τους πίνακες",
"No results found" : "Δεν βρέθηκαν αποτελέσματα",
"{stack} in {board}" : "{stack} στο {board}",
"No upcoming cards" : "Δεν υπάρχουν επερχόμενες καρτέλες",
"upcoming cards" : "επερχόμενες καρτέλες",
"No upcoming cards" : "Δεν υπάρχουν επερχόμενες κάρτες",
"upcoming cards" : "Επερχόμενες κάρτες",
"Link to a board" : "Σύνδεσμος στον πίνακα",
"Link to a card" : "Σύνδεσμος σε καρτέλα",
"Create a card" : "Δημιουργία καρτέλας",
"Message from {author} in {conversationName}" : "Μήνυμα από {author} σε {conversationName}",
"Create a card" : "Δημιουργία κάρτας",
"Something went wrong" : "Κάτι πήγε στραβά",
"Failed to upload {name}" : "Αποτυχία μεταφόρτωσης {name}",
"Failed to upload {name}" : "Αποτυχία μεταφόρτωσης {όνομα}",
"Maximum file size of {size} exceeded" : "Υπέρβαση επιτρεπόμενου μεγέθους αρχείου {size}",
"Error creating the share" : "Σφάλμα κατά τη δημιουργία της κοινοποίησης",
"Share with a Deck card" : "Μοιραστείτε με μια καρτέλα Deck",
"Share {file} with a Deck card" : "Μοιραστείτε το {file} με μια καρτέλα Deck",
"Share" : "Μοιραστείτε",
"Are you sure you want to transfer the board {title} for {user}?" : "Είστε σίγουροι ότι θέλετε να μεταφέρετε τον πίνακα {title} για {user}? ",
"Add a new list" : "Προσθήκη νέας λίστας",
"Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Είστε βέβαιοι ότι θέλετε να διαγράψετε τον πίνακα {title}; Θα διαγραφούν όλα τα δεδομένα."
"Share with a Deck card" : "Μοιραστείτε με μια κάρτα Deck",
"Share {file} with a Deck card" : "Μοιραστείτε {αρχείο} με μια κάρτα Deck",
"Share" : "Μοιραστείτε"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}

View File

@@ -1,97 +1,15 @@
OC.L10N.register(
"deck",
{
"You have created a new board {board}" : "You have created a new board {board}",
"{user} has created a new board {board}" : "{user} has created a new board {board}",
"You have deleted the board {board}" : "You have deleted the board {board}",
"{user} has deleted the board {board}" : "{user} has deleted the board {board}",
"You have restored the board {board}" : "You have restored the board {board}",
"{user} has restored the board {board}" : "{user} has restored the board {board}",
"You have shared the board {board} with {acl}" : "You have shared the board {board} with {acl}",
"{user} has shared the board {board} with {acl}" : "{user} has shared the board {board} with {acl}",
"You have removed {acl} from the board {board}" : "You have removed {acl} from the board {board}",
"{user} has removed {acl} from the board {board}" : "{user} has removed {acl} from the board {board}",
"You have renamed the board {before} to {board}" : "You have renamed the board {before} to {board}",
"{user} has renamed the board {before} to {board}" : "{user} has renamed the board {before} to {board}",
"You have archived the board {board}" : "You have archived the board {board}",
"{user} has archived the board {before}" : "{user} has archived the board {before}",
"You have unarchived the board {board}" : "You have unarchived the board {board}",
"{user} has unarchived the board {before}" : "{user} has unarchived the board {before}",
"You have created a new list {stack} on board {board}" : "You have created a new list {stack} on board {board}",
"{user} has created a new list {stack} on board {board}" : "{user} has created a new list {stack} on board {board}",
"You have renamed list {before} to {stack} on board {board}" : "You have renamed list {before} to {stack} on board {board}",
"{user} has renamed list {before} to {stack} on board {board}" : "{user} has renamed list {before} to {stack} on board {board}",
"You have deleted list {stack} on board {board}" : "You have deleted list {stack} on board {board}",
"{user} has deleted list {stack} on board {board}" : "{user} has deleted list {stack} on board {board}",
"You have created card {card} in list {stack} on board {board}" : "You have created card {card} in list {stack} on board {board}",
"{user} has created card {card} in list {stack} on board {board}" : "{user} has created card {card} in list {stack} on board {board}",
"You have deleted card {card} in list {stack} on board {board}" : "You have deleted card {card} in list {stack} on board {board}",
"{user} has deleted card {card} in list {stack} on board {board}" : "{user} has deleted card {card} in list {stack} on board {board}",
"You have renamed the card {before} to {card}" : "You have renamed the card {before} to {card}",
"{user} has renamed the card {before} to {card}" : "{user} has renamed the card {before} to {card}",
"You have added a description to card {card} in list {stack} on board {board}" : "You have added a description to card {card} in list {stack} on board {board}",
"{user} has added a description to card {card} in list {stack} on board {board}" : "{user} has added a description to card {card} in list {stack} on board {board}",
"You have updated the description of card {card} in list {stack} on board {board}" : "You have updated the description of card {card} in list {stack} on board {board}",
"{user} has updated the description of the card {card} in list {stack} on board {board}" : "{user} has updated the description of the card {card} in list {stack} on board {board}",
"You have archived card {card} in list {stack} on board {board}" : "You have archived card {card} in list {stack} on board {board}",
"{user} has archived card {card} in list {stack} on board {board}" : "{user} has archived card {card} in list {stack} on board {board}",
"You have unarchived card {card} in list {stack} on board {board}" : "You have unarchived card {card} in list {stack} on board {board}",
"{user} has unarchived card {card} in list {stack} on board {board}" : "{user} has unarchived card {card} in list {stack} on board {board}",
"You have removed the due date of card {card}" : "You have removed the due date of card {card}",
"{user} has removed the due date of card {card}" : "{user} has removed the due date of card {card}",
"You have set the due date of card {card} to {after}" : "You have set the due date of card {card} to {after}",
"{user} has set the due date of card {card} to {after}" : "{user} has set the due date of card {card} to {after}",
"You have updated the due date of card {card} to {after}" : "You have updated the due date of card {card} to {after}",
"{user} has updated the due date of card {card} to {after}" : "{user} has updated the due date of card {card} to {after}",
"You have added the tag {label} to card {card} in list {stack} on board {board}" : "You have added the tag {label} to card {card} in list {stack} on board {board}",
"{user} has added the tag {label} to card {card} in list {stack} on board {board}" : "{user} has added the tag {label} to card {card} in list {stack} on board {board}",
"You have removed the tag {label} from card {card} in list {stack} on board {board}" : "You have removed the tag {label} from card {card} in list {stack} on board {board}",
"{user} has removed the tag {label} from card {card} in list {stack} on board {board}" : "{user} has removed the tag {label} from card {card} in list {stack} on board {board}",
"You have assigned {assigneduser} to card {card} on board {board}" : "You have assigned {assigneduser} to card {card} on board {board}",
"{user} has assigned {assigneduser} to card {card} on board {board}" : "{user} has assigned {assigneduser} to card {card} on board {board}",
"You have unassigned {assigneduser} from card {card} on board {board}" : "You have unassigned {assigneduser} from card {card} on board {board}",
"{user} has unassigned {assigneduser} from card {card} on board {board}" : "{user} has unassigned {assigneduser} from card {card} on board {board}",
"You have moved the card {card} from list {stackBefore} to {stack}" : "You have moved the card {card} from list {stackBefore} to {stack}",
"{user} has moved the card {card} from list {stackBefore} to {stack}" : "{user} has moved the card {card} from list {stackBefore} to {stack}",
"You have added the attachment {attachment} to card {card}" : "You have added the attachment {attachment} to card {card}",
"{user} has added the attachment {attachment} to card {card}" : "{user} has added the attachment {attachment} to card {card}",
"You have updated the attachment {attachment} on card {card}" : "You have updated the attachment {attachment} on card {card}",
"{user} has updated the attachment {attachment} on card {card}" : "{user} has updated the attachment {attachment} on card {card}",
"You have deleted the attachment {attachment} from card {card}" : "You have deleted the attachment {attachment} from card {card}",
"{user} has deleted the attachment {attachment} from card {card}" : "{user} has deleted the attachment {attachment} from card {card}",
"You have restored the attachment {attachment} to card {card}" : "You have restored the attachment {attachment} to card {card}",
"{user} has restored the attachment {attachment} to card {card}" : "{user} has restored the attachment {attachment} to card {card}",
"You have commented on card {card}" : "You have commented on card {card}",
"{user} has commented on card {card}" : "{user} has commented on card {card}",
"A <strong>card description</strong> inside the Deck app has been changed" : "A <strong>card description</strong> inside the Deck app has been changed",
"Deck" : "Deck",
"Changes in the <strong>Deck app</strong>" : "Changes in the <strong>Deck app</strong>",
"A <strong>comment</strong> was created on a card" : "A <strong>comment</strong> was created on a card",
"Upcoming cards" : "Upcoming cards",
"Load more" : "Load more",
"Personal" : "Personal",
"The card \"%s\" on \"%s\" has been assigned to you by %s." : "The card \"%s\" on \"%s\" has been assigned to you by %s.",
"{user} has assigned the card {deck-card} on {deck-board} to you." : "{user} has assigned the card {deck-card} on {deck-board} to you.",
"The card \"%s\" on \"%s\" has reached its due date." : "The card \"%s\" on \"%s\" has reached its due date.",
"The card {deck-card} on {deck-board} has reached its due date." : "The card {deck-card} on {deck-board} has reached its due date.",
"%s has mentioned you in a comment on \"%s\"." : "%s has mentioned you in a comment on \"%s\".",
"{user} has mentioned you in a comment on {deck-card}." : "{user} has mentioned you in a comment on {deck-card}.",
"The board \"%s\" has been shared with you by %s." : "The board \"%s\" has been shared with you by %s.",
"{user} has shared {deck-board} with you." : "{user} has shared {deck-board} with you.",
"Card comments" : "Card comments",
"%s on %s" : "%s on %s",
"No data was provided to create an attachment." : "No data was provided to create an attachment.",
"Finished" : "Finished",
"To review" : "To review",
"Action needed" : "Action needed",
"Later" : "Later",
"copy" : "copy",
"To do" : "To do",
"Doing" : "Doing",
"Done" : "Done",
"Example Task 3" : "Example Task 3",
"Example Task 2" : "Example Task 2",
"Example Task 1" : "Example Task 1",
"The file was uploaded" : "The file was uploaded",
"The uploaded file exceeds the upload_max_filesize directive in php.ini" : "The uploaded file exceeds the upload_max_filesize directive in php.ini",
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form",
@@ -100,218 +18,44 @@ OC.L10N.register(
"Missing a temporary folder" : "Missing a temporary folder",
"Could not write file to disk" : "Could not write file to disk",
"A PHP extension stopped the file upload" : "A PHP extension stopped the file upload",
"No file uploaded or file size exceeds maximum of %s" : "No file uploaded or file size exceeds maximum of %s",
"This comment has more than %s characters.\nAdded as an attachment to the card with name %s.\nAccessible on URL: %s." : "This comment has more than %s characters.\nAdded as an attachment to the card with name %s.\nAccessible on URL: %s.",
"Card not found" : "Card not found",
"Path is already shared with this card" : "Path is already shared with this card",
"Invalid date, date format must be YYYY-MM-DD" : "Invalid date, date format must be YYYY-MM-DD",
"Personal planning and team project organization" : "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 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",
"Card details" : "Card details",
"Add board" : "Add board",
"Select the board to link to a project" : "Select the board to link to a project",
"Search by board title" : "Search by board title",
"Select board" : "Select board",
"Create a new card" : "Create a new card",
"Select a board" : "Select a board",
"Select a list" : "Select a list",
"Card title" : "Card title",
"Cancel" : "Cancel",
"Creating the new card …" : "Creating the new card …",
"Card \"{card}\" was added to \"{board}\"" : "Card \"{card}\" was added to \"{board}\"",
"Open card" : "Open card",
"Close" : "Close",
"Create card" : "Create card",
"Select a card" : "Select a card",
"Select the card to link to a project" : "Select the card to link to a project",
"Link to card" : "Link to card",
"File already exists" : "File already exists",
"A file with the name {filename} already exists." : "A file with the name {filename} already exists.",
"Do you want to overwrite it?" : "Do you want to overwrite it?",
"Overwrite file" : "Overwrite file",
"Keep existing file" : "Keep existing file",
"This board is read only" : "This board is read only",
"Drop your files to upload" : "Drop your files to upload",
"Add card" : "Add card",
"Archived cards" : "Archived cards",
"Add list" : "Add list",
"List name" : "List name",
"Active filters" : "Active filters",
"Apply filter" : "Apply filter",
"Filter by tag" : "Filter by tag",
"Filter by assigned user" : "Filter by assigned user",
"Unassigned" : "Unassigned",
"Filter by due date" : "Filter by due date",
"Overdue" : "Overdue",
"Next 24 hours" : "Next 24 hours",
"Next 7 days" : "Next 7 days",
"Next 30 days" : "Next 30 days",
"No due date" : "No due date",
"Clear filter" : "Clear filter",
"Hide archived cards" : "Hide archived cards",
"Show archived cards" : "Show archived cards",
"Toggle compact mode" : "Toggle compact mode",
"Open details" : "Open details",
"Details" : "Details",
"Currently present people" : "Currently present people",
"Loading board" : "Loading board",
"No lists available" : "No lists available",
"Create a new list to add cards to this board" : "Create a new list to add cards to this board",
"Board not found" : "Board not found",
"Sharing" : "Sharing",
"Tags" : "Tags",
"Deleted items" : "Deleted items",
"Timeline" : "Timeline",
"Deleted lists" : "Deleted lists",
"Undo" : "Undo",
"Deleted cards" : "Deleted cards",
"Share board with a user, group or circle …" : "Share board with a user, group or circle …",
"Searching for users, groups and circles …" : "Searching for users, groups and circles …",
"No participants found" : "No participants found",
"Board owner" : "Board owner",
"(Group)" : "(Group)",
"(Circle)" : "(Circle)",
"Can edit" : "Can edit",
"Can share" : "Can share",
"Can manage" : "Can manage",
"Owner" : "Owner",
"Delete" : "Delete",
"Failed to create share with {displayName}" : "Failed to create share with {displayName}",
"Are you sure you want to transfer the board {title} to {user}?" : "Are you sure you want to transfer the board {title} to {user}?",
"Transfer the board." : "Transfer the board.",
"Transfer" : "Transfer",
"The board has been transferred to {user}" : "The board has been transferred to {user}",
"Failed to transfer the board to {user}" : "Failed to transfer the board to {user}",
"Edit list title" : "Edit list title",
"Archive all cards" : "Archive all cards",
"Unarchive all cards" : "Unarchive all cards",
"Delete list" : "Delete list",
"Archive all cards in this list" : "Archive all cards in this list",
"Unarchive all cards in this list" : "Unarchive all cards in this list",
"Add a new card" : "Add a new card",
"Card name" : "Card name",
"List deleted" : "List deleted",
"Edit" : "Edit",
"Add a new tag" : "Add a new tag",
"title and color value must be provided" : "title and colour value must be provided",
"Board name" : "Board name",
"Members" : "Members",
"Upload new files" : "Upload new files",
"Share from Files" : "Share from Files",
"Pending share" : "Pending share",
"Add this attachment" : "Add this attachment",
"Show in Files" : "Show in Files",
"Download" : "Download",
"Remove attachment" : "Remove attachment",
"Delete Attachment" : "Delete Attachment",
"Restore Attachment" : "Restore Attachment",
"File to share" : "File to share",
"Invalid path selected" : "Invalid path selected",
"Open in sidebar view" : "Open in sidebar view",
"Open in bigger view" : "Open in bigger view",
"Attachments" : "Attachments",
"Comments" : "Comments",
"Modified" : "Modified",
"Created" : "Created",
"The title cannot be empty." : "The title cannot be empty.",
"No comments yet. Begin the discussion!" : "No comments yet. Begin the discussion!",
"Failed to load comments" : "Failed to load comments",
"Assign a tag to this card…" : "Assign a tag to this card…",
"Assign to users" : "Assign to users",
"Assign to users/groups/circles" : "Assign to users/groups/circles",
"Assign a user to this card…" : "Assign a user to this card…",
"Due date" : "Due date",
"Set a due date" : "Set a due date",
"Remove due date" : "Remove due date",
"Select Date" : "Select Date",
"Today" : "Today",
"Tomorrow" : "Tomorrow",
"Next week" : "Next week",
"Next month" : "Next month",
"Save" : "Save",
"The comment cannot be empty." : "The comment cannot be empty.",
"The comment cannot be longer than 1000 characters." : "The comment cannot be longer than 1000 characters.",
"In reply to" : "In reply to",
"Cancel reply" : "Cancel reply",
"Reply" : "Reply",
"Update" : "Update",
"Description" : "Description",
"(Unsaved)" : "(Unsaved)",
"(Saving…)" : "(Saving…)",
"Formatting help" : "Formatting help",
"Edit description" : "Edit description",
"View description" : "View description",
"Add Attachment" : "Add Attachment",
"Write a description …" : "Write a description …",
"Choose attachment" : "Choose attachment",
"(group)" : "(group)",
"Todo items" : "Todo items",
"{count} comments, {unread} unread" : "{count} comments, {unread} unread",
"Edit card title" : "Edit card title",
"Assign to me" : "Assign to me",
"Unassign myself" : "Unassign myself",
"Move card" : "Move card",
"Unarchive card" : "Unarchive card",
"Archive card" : "Archive card",
"Delete card" : "Delete card",
"Move card to another board" : "Move card to another board",
"List is empty" : "List is empty",
"Card deleted" : "Card deleted",
"seconds ago" : "seconds ago",
"All boards" : "All boards",
"Archived boards" : "Archived boards",
"Shared with you" : "Shared with you",
"Deck settings" : "Deck settings",
"Use bigger card view" : "Use bigger card view",
"Show card ID badge" : "Show card ID badge",
"Show boards in calendar/tasks" : "Show boards in calendar/tasks",
"Limit deck usage of groups" : "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." : "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.",
"Board details" : "Board details",
"Edit board" : "Edit board",
"Clone board" : "Clone board",
"Unarchive board" : "Unarchive board",
"Archive board" : "Archive board",
"Export board" : "Export board",
"Turn on due date reminders" : "Turn on due date reminders",
"Turn off due date reminders" : "Turn off due date reminders",
"Due date reminders" : "Due date reminders",
"All cards" : "All cards",
"Assigned cards" : "Assigned cards",
"No notifications" : "No notifications",
"Delete board" : "Delete board",
"Board {0} deleted" : "Board {0} deleted",
"Only assigned cards" : "Only assigned cards",
"No reminder" : "No reminder",
"An error occurred" : "An error occurred",
"Are you sure you want to delete the board {title}? This will delete all the data of this board including archived cards." : "Are you sure you want to delete the board {title}? This will delete all the data of this board including archived cards.",
"Delete the board?" : "Delete the board?",
"Loading filtered view" : "Loading filtered view",
"No due" : "No due",
"Search for {searchQuery} in all boards" : "Search for {searchQuery} in all boards",
"No results found" : "No results found",
"{stack} in {board}" : "{stack} in {board}",
"Click to expand description" : "Click to expand description",
"* Created on {created}\n* Last modified on {lastMod}\n* {nbAttachments} attachments\n* {nbComments} comments" : "* Created on {created}\n* Last modified on {lastMod}\n* {nbAttachments} attachments\n* {nbComments} comments",
"{nbCards} cards" : "{nbCards} cards",
"No upcoming cards" : "No upcoming cards",
"upcoming cards" : "upcoming cards",
"Due on {date}" : "Due on {date}",
"Link to a board" : "Link to a board",
"Link to a card" : "Link to a card",
"Create a card" : "Create a card",
"Message from {author} in {conversationName}" : "Message from {author} in {conversationName}",
"Something went wrong" : "Something went wrong",
"Failed to upload {name}" : "Failed to upload {name}",
"Maximum file size of {size} exceeded" : "Maximum file size of {size} exceeded",
"Error creating the share" : "Error creating the share",
"Share with a Deck card" : "Share with a Deck card",
"Share {file} with a Deck card" : "Share {file} with a Deck card",
"Share" : "Share",
"Are you sure you want to transfer the board {title} for {user}?" : "Are you sure you want to transfer the board {title} for {user}?",
"Transfer the board for {user} successfully" : "Transfer the board for {user} successfully",
"Failed to transfer the board for {user}" : "Failed to transfer the board for {user}",
"Add a new list" : "Add a new list",
"Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Are you sure you want to delete the board {title}? This will delete all the data of this board."
"Today" : "Today",
"Tomorrow" : "Tomorrow",
"This week" : "This week"
},
"nplurals=2; plural=(n != 1);");

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