Compare commits

...

55 Commits

Author SHA1 Message Date
Julius Härtl
0c0b663b9e Merge pull request #77 from nextcloud/release-0.1.2
Bump version to 0.1.2
2017-03-27 20:29:31 +02:00
Julius Haertl
b6645cfaa1 Bump version to 0.1.2
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-03-27 20:16:15 +02:00
Nextcloud bot
9351a04eb3 [tx-robot] updated from transifex 2017-03-25 01:10:30 +00:00
Nextcloud bot
c1f828b894 [tx-robot] updated from transifex 2017-03-23 01:10:22 +00:00
Julius Härtl
cb233ba35b Merge pull request #75 from nextcloud/emoji-fix
Fix info.xml emoji usage
2017-03-22 17:04:16 +01:00
Marius Blüm
f09ce32f2b Fix info.xml emoji usage
Signed-off-by: Marius Blüm <marius@lineone.io>
2017-03-22 13:57:28 +01:00
Julius Härtl
1e359adf18 Merge pull request #66 from nextcloud/default-json
Add jsonSerialize method to RelationalEntity
2017-03-20 14:37:16 +01:00
Julius Haertl
34c1a681b1 Add jsonSerialize method to RelationalEntity
Signed-off-by: Julius Haertl <jus@bitgrid.net>
2017-03-20 14:26:03 +01:00
Julius Härtl
3324556542 Merge pull request #72 from nextcloud/fix-travis
Use phpunit 5.7
2017-03-20 09:57:08 +01:00
Julius Härtl
7dba354767 Remove npm install 2017-03-20 09:39:10 +01:00
Julius Härtl
8444a00bdf Travis fix
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-03-20 09:28:24 +01:00
Julius Härtl
021b186424 Use phpunit 5.7
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-03-20 08:53:17 +01:00
Nextcloud bot
3e38ed7108 [tx-robot] updated from transifex 2017-03-17 01:10:07 +00:00
Julius Härtl
5d95dbf1ff Merge pull request #68 from nextcloud/travis
Disable email notifications for travis
2017-03-16 11:54:24 +01:00
Nextcloud bot
f17b046cb1 [tx-robot] updated from transifex 2017-03-12 01:10:43 +00:00
Nextcloud bot
7d55d22d42 [tx-robot] updated from transifex 2017-03-11 01:10:04 +00:00
Nextcloud bot
138c03160e [tx-robot] updated from transifex 2017-03-06 01:10:03 +00:00
Julius Haertl
286d4d7900 Disable email notifications for travis
Signed-off-by: Julius Haertl <jus@bitgrid.net>
2017-03-05 14:21:21 +01:00
Julius Härtl
3f6f80ce44 Merge pull request #67 from nextcloud/debug-js
Include source js files when debug is enabled
2017-03-05 14:14:13 +01:00
Julius Härtl
7d7c605d36 Merge pull request #62 from SpaceCafe/master
Fixed SQL statements without prefixes
2017-03-05 14:00:01 +01:00
Julius Haertl
1d966033ec Update javascript section in README
Signed-off-by: Julius Haertl <jus@bitgrid.net>
2017-03-05 13:53:05 +01:00
Julius Haertl
9de4051803 Include source js files when debug is enabled
Signed-off-by: Julius Haertl <jus@bitgrid.net>
2017-03-05 13:46:38 +01:00
SpaceCafe
a2a3d8cae7 Merge branch 'master' into master
Signed-off-by: Lars Thoms <lars.thoms@spacecafe.org>
2017-03-04 20:48:12 +01:00
Lars Thoms
873e7cb1cf Fixed SQL statements without prefixes
Signed-off-by: Lars Thoms <lars.thoms@spacecafe.org>
2017-03-04 20:40:23 +01:00
Julius Härtl
4766195872 Merge pull request #64 from nextcloud/contribution-guidelines
Add contribution guidelines to README
2017-03-04 12:49:01 +01:00
Julius Härtl
c35f6aa9ef Add contribution guidelines to README 2017-03-04 12:47:26 +01:00
Julius Härtl
59ec9a15ff Merge pull request #61 from nextcloud/fix-legacy-code
use non-deprecated code in tests
2017-03-03 15:04:42 +01:00
Julius Härtl
81cd17cf3a Merge branch 'master' into fix-legacy-code 2017-03-03 13:07:15 +01:00
Julius Härtl
7ce44deb91 Merge pull request #59 from nextcloud/drone
Use drone for testing
2017-03-03 13:04:57 +01:00
Morris Jobke
96f5f5fe45 use non-deprecated code in tests
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-03-03 01:30:44 -06:00
Nextcloud bot
5c8d7b7644 [tx-robot] updated from transifex 2017-03-03 01:09:45 +00:00
Nextcloud bot
5136615650 [tx-robot] updated from transifex 2017-03-02 16:51:02 +00:00
Julius Haertl
3e3b120175 Add js build and remove tests from travis
Signed-off-by: Julius Haertl <jus@bitgrid.net>
2017-03-02 11:32:12 +01:00
Julius Härtl
fef35d3929 Merge pull request #60 from nextcloud/transifex-update
Update transifex config
2017-03-02 11:04:22 +01:00
Morris Jobke
2a483b6f92 Update transifex config
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-03-01 22:48:17 -06:00
Nextcloud bot
f34250ca67 [tx-robot] updated from transifex 2017-03-02 01:09:30 +00:00
Nextcloud bot
308ade1b6e [tx-robot] updated from transifex 2017-03-01 01:09:42 +00:00
Julius Haertl
cf03e08d1e Use drone for testing
Signed-off-by: Julius Haertl <jus@bitgrid.net>
2017-02-28 18:35:32 +01:00
Julius Härtl
90e0c57224 Merge pull request #57 from nextcloud/exception-logging
Improve logging of exceptions catched by SharingMiddleware
2017-02-27 11:45:38 +01:00
Julius Haertl
15e5a432b6 Improve logging of exceptions catched by SharingMiddleware 2017-02-27 11:27:49 +01:00
Julius Härtl
5372458288 Merge pull request #56 from roipoussiere/label_title
Add on label tiles a tooltip with the label name.
2017-02-27 09:59:26 +01:00
Nathanaël Jourdane
2d7e6f2efa Add on label tiles a tooltip with the label name. 2017-02-26 14:17:26 +01:00
Nextcloud bot
67f26ef9b2 [tx-robot] updated from transifex 2017-02-25 01:27:26 +00:00
Nextcloud bot
153fb6a0f0 [tx-robot] updated from transifex 2017-02-24 01:23:55 +00:00
Nextcloud bot
61b7228fb6 [tx-robot] updated from transifex 2017-02-23 01:21:00 +00:00
Julius Härtl
d2a2d7a63a Merge pull request #55 from nextcloud/move-repo
Move repo to nextcloud org
2017-02-22 10:36:17 +01:00
Julius Haertl
db90911e5e Move repo to nextcloud org
Signed-off-by: Julius Haertl <jus@bitgrid.net>
2017-02-22 10:12:25 +01:00
Nextcloud bot
a636b106c8 [tx-robot] updated from transifex 2017-02-22 01:14:29 +00:00
Morris Jobke
1e19c44665 Merge pull request #54 from nextcloud/transifex
add transifex config
2017-02-21 10:31:19 -06:00
Morris Jobke
c308087c4a add transifex config
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-02-21 10:20:49 -06:00
Julius Härtl
cb5cfe1c73 Merge pull request #51 from juliushaertl/safari-fix
Remove duplicate endtag and fix layout in safari
2017-02-15 07:44:38 +01:00
Julius Haertl
3a311197a8 Remove duplicate endtag and fix layout in safari 2017-02-14 22:11:15 +01:00
Julius Haertl
b5feeeaee3 Fix group acl entries being interpreted as users 2017-02-13 22:06:27 +01:00
Julius Härtl
8e890df7ab Add issue template 2017-02-10 10:45:21 +01:00
Julius Haertl
d88f561adb Require the correct css file 2017-02-07 00:16:54 +01:00
70 changed files with 2191 additions and 145 deletions

151
.drone.yml Normal file
View File

@@ -0,0 +1,151 @@
pipeline:
clone:
image: plugins/git
depth: 1
check-app-compatbility:
image: nextcloudci/php5.6:php5.6-3
environment:
- APP_NAME=deck
- CORE_BRANCH=master
- DB=sqlite
commands:
# Pre-setup steps
- wget https://raw.githubusercontent.com/nextcloud/travis_ci/master/before_install.sh
- bash ./before_install.sh $APP_NAME $CORE_BRANCH $DB
- cd ../server
# Code checker
- ./occ app:check-code $APP_NAME -c strong-comparison
- ./occ app:check-code $APP_NAME -c deprecation
- cd apps/$APP_NAME/
when:
matrix:
TESTS: check-app-compatbility
signed-off-check:
image: nextcloudci/php7.0:php7.0-2
environment:
- APP_NAME=deck
- CORE_BRANCH=master
- DB=sqlite
commands:
- wget https://raw.githubusercontent.com/nextcloud/travis_ci/master/before_install.sh
- bash ./before_install.sh $APP_NAME $CORE_BRANCH $DB
- cd ../server
- php ./build/signed-off-checker.php
when:
matrix:
TESTS: signed-off-check
syntax-php5.6:
image: nextcloudci/php5.6:php5.6-3
environment:
- APP_NAME=deck
- CORE_BRANCH=master
- DB=sqlite
commands:
# Pre-setup steps
- wget https://raw.githubusercontent.com/nextcloud/travis_ci/master/before_install.sh
- bash ./before_install.sh $APP_NAME $CORE_BRANCH $DB
- cd ../server
- composer install
- ./lib/composer/bin/parallel-lint --exclude lib/composer/jakub-onderka/ --exclude 3rdparty/symfony/polyfill-php70/Resources/stubs/ --exclude 3rdparty/patchwork/utf8/src/Patchwork/Utf8/Bootup/ --exclude 3rdparty/paragonie/random_compat/lib/ --exclude lib/composer/composer/autoload_static.php --exclude 3rdparty/composer/autoload_static.php .
when:
matrix:
TESTS: syntax-php5.6
syntax-php7.0:
image: nextcloudci/php7.0:php7.0-2
environment:
- APP_NAME=deck
- CORE_BRANCH=master
- DB=sqlite
commands:
# Pre-setup steps
- wget https://raw.githubusercontent.com/nextcloud/travis_ci/master/before_install.sh
- bash ./before_install.sh $APP_NAME $CORE_BRANCH $DB
- cd ../server
- composer install
- ./lib/composer/bin/parallel-lint --exclude lib/composer/jakub-onderka/ --exclude 3rdparty/symfony/polyfill-php70/Resources/stubs/ --exclude 3rdparty/patchwork/utf8/src/Patchwork/Utf8/Bootup/ --exclude 3rdparty/paragonie/random_compat/lib/ --exclude lib/composer/composer/autoload_static.php --exclude 3rdparty/composer/autoload_static.php .
when:
matrix:
TESTS: syntax-php7.0
php5.6:
image: nextcloudci/php5.6:php5.6-3
environment:
- APP_NAME=deck
- CORE_BRANCH=master
- DB=sqlite
commands:
- apt update && apt-get -y install php5-xdebug
# Pre-setup steps
- wget https://raw.githubusercontent.com/nextcloud/travis_ci/master/before_install.sh
- bash ./before_install.sh $APP_NAME $CORE_BRANCH $DB
- cd ../server/
- ./occ app:enable $APP_NAME
- cd apps/$APP_NAME
- 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
# Create coverage report
- wget https://codecov.io/bash -O codecov.sh
- sh -c "if [ '$DRONE_BUILD_EVENT' = 'pull_request' ]; then bash codecov.sh -B $DRONE_BRANCH -C $DRONE_COMMIT -P $DRONE_PULL_REQUEST -t f6375299-4832-487e-b831-091772ab0384; fi"
- sh -c "if [ '$DRONE_BUILD_EVENT' != 'pull_request' ]; then bash codecov.sh -B $DRONE_BRANCH -C $DRONE_COMMIT -t f6375299-4832-487e-b831-091772ab0384; fi"
when:
matrix:
TESTS: php5.6
php7.0:
image: nextcloudci/php7.0:php7.0-7
environment:
- APP_NAME=deck
- CORE_BRANCH=master
- DB=sqlite
commands:
# Pre-setup steps
- wget https://raw.githubusercontent.com/nextcloud/travis_ci/master/before_install.sh
- bash ./before_install.sh $APP_NAME $CORE_BRANCH $DB
- cd ../server/
- php occ app:enable deck
- cd apps/$APP_NAME
# Run phpunit tests
- 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
when:
matrix:
TESTS: php7.0
php7.1:
image: nextcloudci/php7.1:php7.1-11
environment:
- APP_NAME=deck
- CORE_BRANCH=master
- DB=sqlite
commands:
# Pre-setup steps
- yum -y install wget
- wget https://raw.githubusercontent.com/nextcloud/travis_ci/master/before_install.sh
- bash ./before_install.sh $APP_NAME $CORE_BRANCH $DB
- cd ../server/
- php occ app:enable deck
- cd apps/$APP_NAME
- make test
when:
matrix:
TESTS: php7.1
jsbuild:
image: mhart/alpine-node:6.8.0
commands:
- apk add --no-cache git
- cd js
- npm install --deps
- ./node_modules/.bin/bower --allow-root install
when:
matrix:
TESTS: jsbuild
matrix:
include:
- TESTS: check-app-compatbility
- TESTS: signed-off-check
- TESTS: syntax-php5.6
- TESTS: syntax-php7.0
- TESTS: php5.6
- TESTS: php7.0
- TESTS: php7.1
- TESTS: jsbuild

View File

@@ -6,29 +6,30 @@ php:
- 7
env:
matrix:
- CORE_BRANCH=master DB=sqlite TEST_JS=1
- CORE_BRANCH=master DB=mysql
- CORE_BRANCH=stable11 DB=sqlite
- CORE_BRANCH=stable11 DB=mysql
before_install:
- wget https://phar.phpunit.de/phpunit-5.7.phar
- chmod +x phpunit-5.7.phar
- mkdir bin
- sudo mv phpunit-5.7.phar bin/phpunit
- export PATH="$PWD/bin:$PATH"
- phpunit --version
- wget https://raw.githubusercontent.com/nextcloud/travis_ci/master/before_install.sh
- bash ./before_install.sh deck $CORE_BRANCH $DB
- cd ../server
- ./occ app:enable deck
- ./occ app:check-code deck
- php -S localhost:8080 &
before_script:
- cd apps/deck
- make install-deps
script:
- sh -c "if [ '$TRAVIS_PHP_VERSION' = '7.0' ] && [ '$TEST_JS' = '1' ]; then make build-js; fi;"
- make test
after_failure:
- cat ../../data/nextcloud.log
after_success:
- bash <(curl -s https://codecov.io/bash)
notifications:
email: false

View File

@@ -1,3 +1,17 @@
## 0.1.2
### Added
- Add translations
### Fixed
- Fix issues with Acl checks
- Always select first color fixes
- Add active class to appmenu
- Use server select2 styles
- Remove debug logging and unused function
- Fix issue while sorting cards
- Improve logging of exceptions
- Fixed SQL statements without prefixes
## 0.1.1
### Fixed
- Various styling improvements

View File

@@ -72,14 +72,17 @@ appstore: clean-build build
test:
mkdir -p build/
cd js && $(npm) run test
ifeq (, $(shell which phpunit 2> /dev/null))
@echo "No phpunit command available, downloading a copy from the web"
mkdir -p $(build_tools_directory)
curl -sSL https://phar.phpunit.de/phpunit.phar -o $(build_tools_directory)/phpunit.phar
curl -sSL https://phar.phpunit.de/phpunit-5.7.phar -o $(build_tools_directory)/phpunit.phar
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.xml --coverage-clover build/php-unit.coverage.xml
phpunit -c tests/phpunit.integration.xml --coverage-clover build/php-integration.coverage.xml
endif
test-js:
cd js && run test

View File

@@ -1,6 +1,6 @@
# Deck
[![Build Status](https://travis-ci.org/juliushaertl/deck.svg?branch=master)](https://travis-ci.org/juliushaertl/deck) [![CodeCov](https://codecov.io/github/juliushaertl/deck/coverage.svg?branch=master)](https://codecov.io/github/juliushaertl/deck) [![Scrutinizer Code Quality](https://scrutinizer-ci.com/g/juliushaertl/deck/badges/quality-score.png?b=master)](https://scrutinizer-ci.com/g/juliushaertl/deck/?branch=master) [![Dependency Status](https://www.versioneye.com/user/projects/58908fc0a23e810038c34e0a/badge.svg?style=flat)](https://www.versioneye.com/user/projects/58908fc0a23e810038c34e0a)
[![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) [![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) [![Dependency Status](https://www.versioneye.com/user/projects/58ad558f4ca76f004ed475b3/badge.svg?style=flat)](https://www.versioneye.com/user/projects/58ad558f4ca76f004ed475b3)
Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.
@@ -36,7 +36,7 @@ You can download and install the latest release from the [Nextcloud app store](h
If you want to run the latest development version from git source, you need to clone the repo to your apps folder:
```
git clone https://github.com/juliushaertl/deck.git
git clone https://github.com/nextcloud/deck.git
cd deck
make install-deps
make
@@ -52,9 +52,54 @@ Nothing to prepare, just dig into the code.
### JavaScript
Make sure you have installed the dependencies with ```make install-deps```. After that you can run ```make``` to build the javascript code once or run ```make watch``` to run in on every file change.
When `'debug'=>true` is set in your config.php files will get loaded automatically. Otherwise you need to ensure that `public/app.js` is generated by running `make` or `make watch` to regenerate it on every change.
Make sure you have installed the dependencies with ```make install-deps```.
### Running tests
You can use the provided Makefile to run all tests by using:
make test
## Contribution Guidelines
Please read the [Code of Conduct](https://nextcloud.com/community/code-of-conduct/). This document offers some guidance to ensure Nextcloud participants can cooperate effectively in a positive and inspiring atmosphere, and to explain how together we can strengthen and support each other.
For more information please review the [guidelines for contributing](https://github.com/nextcloud/server/blob/master/CONTRIBUTING.md) to this repository.
### Apply a license
All contributions to this repository are considered to be licensed under
the GNU AGPLv3 or any later version.
Contributors to the Spreed app retain their copyright. Therefore we recommend
to add following line to the header of a file, if you changed it substantially:
```
@copyright Copyright (c) <year>, <your name> (<your email address>)
```
For further information on how to add or update the license header correctly please have a look at [our licensing HowTo][applyalicense].
### Sign your work
We use the Developer Certificate of Origin (DCO) as a additional safeguard
for the Nextcloud project. This is a well established and widely used
mechanism to assure contributors have confirmed their right to license
their contribution under the project's license.
Please read [developer-certificate-of-origin][dcofile].
If you can certify it, then just add a line to every git commit message:
````
Signed-off-by: Random J Developer <random@developer.example.org>
````
Use your real name (sorry, no pseudonyms or anonymous contributions).
If you set your `user.name` and `user.email` git configs, you can sign your
commit automatically with `git commit -s`. You can also use git [aliases](https://git-scm.com/book/tr/v2/Git-Basics-Git-Aliases)
like `git config --global alias.ci 'commit -s'`. Now you can commit with
`git ci` and the commit will be signed.
[dcofile]: https://github.com/nextcloud/server/blob/master/contribute/developer-certificate-of-origin
[applyalicense]: https://github.com/nextcloud/server/blob/master/contribute/HowToApplyALicense.md

View File

@@ -7,23 +7,23 @@
<description>Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.
- :inbox_tray: Add your tasks to cards and put them in order
- :page_facing_up: Write down additional notes in markdown
- :bookmark: Assign labels for even better organization
- :busts_in_silhouette: Share with your team, friends or family
- :rocket: Get your project organized
- 📥 Add your tasks to cards and put them in order
- 📄 Write down additional notes in markdown
- 🔖 Assign labels for even better organization
- 👥 Share with your team, friends or family
- 🚀 Get your project organized
:boom: This is still alpha software: it may not be stable enough for production!
💥 This is still alpha software: it may not be stable enough for production!
</description>
<version>0.1.1</version>
<version>0.1.2</version>
<licence>agpl</licence>
<author>Julius Härtl</author>
<namespace>Deck</namespace>
<category>organization</category>
<category>office</category>
<bugs>https://github.com/juliushaertl/deck/issues</bugs>
<repository type="git">https://github.com/juliushaertl/deck.git</repository>
<bugs>https://github.com/nextcloud/deck/issues</bugs>
<repository type="git">https://github.com/nextcloud/deck.git</repository>
<screenshot>https://bitgrid.net/~jus/deck_1.png</screenshot>
<screenshot>https://bitgrid.net/~jus/deck_2.png</screenshot>
<screenshot>https://bitgrid.net/~jus/deck_3.png</screenshot>

View File

@@ -88,15 +88,6 @@ button:hover {
/**
* Board view
*/
#app-view {
position: relative;
height: 100%;
white-space: nowrap;
overflow: hidden;
padding: 0;
z-index: 100;
width: 100%;
}
#board-status {
position: absolute;

101
issue_template.md Normal file
View File

@@ -0,0 +1,101 @@
### Steps to reproduce
1.
2.
3.
### Expected behaviour
Tell us what should happen
### Actual behaviour
Tell us what happens instead
### Server configuration
**Operating system**:
**Web server:**
**Database:**
**PHP version:**
**Server version:** (see your admin page)
**Deck version:** (see the apps page)
**Updated from an older installed version or fresh install:**
**Signing status:**
```
Login as admin user into your cloud and access
http://example.com/index.php/settings/integrity/failed
paste the results here.
```
**List of activated apps:**
```
If you have access to your command line run e.g.:
sudo -u www-data php occ app:list
from within your instance's installation folder
```
**The content of config/config.php:**
```
If you have access to your command line run e.g.:
sudo -u www-data php occ config:list system
from within your instance's installation folder
or
Insert your config.php content here
(Without the database password, passwordsalt and secret)
```
**Are you using external storage, if yes which one:** local/smb/sftp/...
**Are you using encryption:** yes/no
**Are you using an external user-backend, if yes which one:** LDAP/ActiveDirectory/Webdav/...
#### LDAP configuration (delete this part if not used)
```
With access to your command line run e.g.:
sudo -u www-data php occ ldap:show-config
from within your instance's installation folder
Without access to your command line download the data/owncloud.db to your local
computer or access your SQL server remotely and run the select query:
SELECT * FROM `oc_appconfig` WHERE `appid` = 'user_ldap';
Eventually replace sensitive data as the name/IP-address of your LDAP server or groups.
```
### Client configuration
**Browser:**
**Operating system:**
### Logs
#### Web server error log
```
Insert your webserver log here
```
#### Log file (data/nextcloud.log)
```
Insert your nextcloud.log file here
```
#### Browser log
```
Insert your browser log here, this could for example include:
a) The javascript console log
b) The network log
c) ...
```

9
l10n/.tx/config Normal file
View File

@@ -0,0 +1,9 @@
[main]
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
[nextcloud.deck]
file_filter = <lang>/deck.po
source_file = templates/deck.pot
source_lang = en
type = PO

33
l10n/bg.js Normal file
View File

@@ -0,0 +1,33 @@
OC.L10N.register(
"deck",
{
"Finished" : "Завършен",
"To review" : "За преглед",
"Action needed" : "Необходимо е действие",
"Later" : "По-късно",
"Archive" : "Архивиране",
"Unarchive" : "Разархивиране",
"Delete" : "Изтриване",
"Sharing" : "Споделяне",
"Labels" : "Етикети",
"Select users or groups to share with" : "Избор на потребители и групи за споделяне",
"No matching user or group found." : "Не са намерени съвпадащи потребители или групи",
"Share" : "Сподели",
"Edit" : "Редакция",
"Manage" : "Управление",
"Discard share" : "Отхвърляне на споделяне",
"Create a new label" : "Създаване на нов етикет",
"Members" : "Членове",
"Modified:" : "Променен на:",
"Created:" : "Създаден на:",
"by" : "от",
"Saved" : "Запазено",
"Attachments" : "Прикачени файлове",
"Comments" : "Коментари",
"History" : "История",
"Shared with you" : "Споделено с Вас",
"edit" : "редакция",
"delete" : "изтриване",
"remove share" : "премахване на споделяне"
},
"nplurals=2; plural=(n != 1);");

31
l10n/bg.json Normal file
View File

@@ -0,0 +1,31 @@
{ "translations": {
"Finished" : "Завършен",
"To review" : "За преглед",
"Action needed" : "Необходимо е действие",
"Later" : "По-късно",
"Archive" : "Архивиране",
"Unarchive" : "Разархивиране",
"Delete" : "Изтриване",
"Sharing" : "Споделяне",
"Labels" : "Етикети",
"Select users or groups to share with" : "Избор на потребители и групи за споделяне",
"No matching user or group found." : "Не са намерени съвпадащи потребители или групи",
"Share" : "Сподели",
"Edit" : "Редакция",
"Manage" : "Управление",
"Discard share" : "Отхвърляне на споделяне",
"Create a new label" : "Създаване на нов етикет",
"Members" : "Членове",
"Modified:" : "Променен на:",
"Created:" : "Създаден на:",
"by" : "от",
"Saved" : "Запазено",
"Attachments" : "Прикачени файлове",
"Comments" : "Коментари",
"History" : "История",
"Shared with you" : "Споделено с Вас",
"edit" : "редакция",
"delete" : "изтриване",
"remove share" : "премахване на споделяне"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}

44
l10n/cs.js Normal file
View File

@@ -0,0 +1,44 @@
OC.L10N.register(
"deck",
{
"Deck" : "Balík",
"Finished" : "Dokončeno",
"To review" : "K revizi",
"Action needed" : "Nutná akce",
"Later" : "Později",
"Show archived cards" : "Zobrazit archivované karty",
"Hide archived cards" : "Skrýt archivované karty",
"Board details" : "Detaily desky",
"Archive" : "Archiv",
"Unarchive" : "Zrušit archivování",
"Delete" : "Smazat",
"Enter a card title" : "Zadejte nadpis karty",
"Sharing" : "Sdílení",
"Labels" : "Štítky",
"Select users or groups to share with" : "Vyberte uživatele nebo skupiny pro sdílení",
"No matching user or group found." : "Nevyhovuje žádný uživatel ani skupina",
"Share" : "Sdílet",
"Edit" : "Upravit",
"Manage" : "Spravovat",
"Discard share" : "Zrušit sdílení",
"Create a new label" : "Vytvořit nový štítek",
"Board title" : "Nadpis desky",
"Members" : "Členové",
"Create new board" : "VYtvořit ovou desku",
"New board title" : "Nadpis nové desky",
"Modified:" : "Upraveno:",
"Created:" : "Vytvořeno:",
"by" : "od",
"Saved" : "Uloženo",
"Add a card description ..." : "Přidat popis karty...",
"Attachments" : "Přílohy",
"Comments" : "Komentáře",
"History" : "Historie",
"All Boards" : "Všechny desky",
"Shared with you" : "Sdíleno s vámi",
"edit" : "upravit",
"delete" : "smazat",
"remove share" : "odebrat sdílení",
"Create a new board" : "Vytvořit novou desku"
},
"nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;");

42
l10n/cs.json Normal file
View File

@@ -0,0 +1,42 @@
{ "translations": {
"Deck" : "Balík",
"Finished" : "Dokončeno",
"To review" : "K revizi",
"Action needed" : "Nutná akce",
"Later" : "Později",
"Show archived cards" : "Zobrazit archivované karty",
"Hide archived cards" : "Skrýt archivované karty",
"Board details" : "Detaily desky",
"Archive" : "Archiv",
"Unarchive" : "Zrušit archivování",
"Delete" : "Smazat",
"Enter a card title" : "Zadejte nadpis karty",
"Sharing" : "Sdílení",
"Labels" : "Štítky",
"Select users or groups to share with" : "Vyberte uživatele nebo skupiny pro sdílení",
"No matching user or group found." : "Nevyhovuje žádný uživatel ani skupina",
"Share" : "Sdílet",
"Edit" : "Upravit",
"Manage" : "Spravovat",
"Discard share" : "Zrušit sdílení",
"Create a new label" : "Vytvořit nový štítek",
"Board title" : "Nadpis desky",
"Members" : "Členové",
"Create new board" : "VYtvořit ovou desku",
"New board title" : "Nadpis nové desky",
"Modified:" : "Upraveno:",
"Created:" : "Vytvořeno:",
"by" : "od",
"Saved" : "Uloženo",
"Add a card description ..." : "Přidat popis karty...",
"Attachments" : "Přílohy",
"Comments" : "Komentáře",
"History" : "Historie",
"All Boards" : "Všechny desky",
"Shared with you" : "Sdíleno s vámi",
"edit" : "upravit",
"delete" : "smazat",
"remove share" : "odebrat sdílení",
"Create a new board" : "Vytvořit novou desku"
},"pluralForm" :"nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;"
}

44
l10n/da.js Normal file
View File

@@ -0,0 +1,44 @@
OC.L10N.register(
"deck",
{
"Deck" : "Tavle",
"Finished" : "Færdiggjort",
"To review" : "Efterse",
"Action needed" : "Handling påkrævet",
"Later" : "Senere",
"Show archived cards" : "Vis arkiverede kort",
"Hide archived cards" : "Skjul arkiverede kort",
"Board details" : "Liste detaljer",
"Archive" : "Arkivér",
"Unarchive" : "Annuller arkivering",
"Delete" : "Slet",
"Enter a card title" : "Angiv titel på kort",
"Sharing" : "Deling",
"Labels" : "Labels",
"Select users or groups to share with" : "Vælg brugere eller grupper og dele med",
"No matching user or group found." : "Ingen bruger eller gruppe fundet",
"Share" : "Del",
"Edit" : "Redigér",
"Manage" : "Administrer ",
"Discard share" : "Kasser deling",
"Create a new label" : "Opret en ny etikette ",
"Board title" : "Titel på liste",
"Members" : "Medlemmer",
"Create new board" : "Opret ny liste",
"New board title" : "Ny titel på liste",
"Modified:" : "Ændret:",
"Created:" : "Oprettet:",
"by" : "af",
"Saved" : "Gemt",
"Add a card description ..." : "Tilføj en kort beskrivelse",
"Attachments" : "Vedhæftede filer",
"Comments" : "Kommentarer",
"History" : "Hostorik",
"All Boards" : "Alle lister",
"Shared with you" : "Delt med dig",
"edit" : "redigér",
"delete" : "slet",
"remove share" : "Fjern deling",
"Create a new board" : "Opret ny liste"
},
"nplurals=2; plural=(n != 1);");

42
l10n/da.json Normal file
View File

@@ -0,0 +1,42 @@
{ "translations": {
"Deck" : "Tavle",
"Finished" : "Færdiggjort",
"To review" : "Efterse",
"Action needed" : "Handling påkrævet",
"Later" : "Senere",
"Show archived cards" : "Vis arkiverede kort",
"Hide archived cards" : "Skjul arkiverede kort",
"Board details" : "Liste detaljer",
"Archive" : "Arkivér",
"Unarchive" : "Annuller arkivering",
"Delete" : "Slet",
"Enter a card title" : "Angiv titel på kort",
"Sharing" : "Deling",
"Labels" : "Labels",
"Select users or groups to share with" : "Vælg brugere eller grupper og dele med",
"No matching user or group found." : "Ingen bruger eller gruppe fundet",
"Share" : "Del",
"Edit" : "Redigér",
"Manage" : "Administrer ",
"Discard share" : "Kasser deling",
"Create a new label" : "Opret en ny etikette ",
"Board title" : "Titel på liste",
"Members" : "Medlemmer",
"Create new board" : "Opret ny liste",
"New board title" : "Ny titel på liste",
"Modified:" : "Ændret:",
"Created:" : "Oprettet:",
"by" : "af",
"Saved" : "Gemt",
"Add a card description ..." : "Tilføj en kort beskrivelse",
"Attachments" : "Vedhæftede filer",
"Comments" : "Kommentarer",
"History" : "Hostorik",
"All Boards" : "Alle lister",
"Shared with you" : "Delt med dig",
"edit" : "redigér",
"delete" : "slet",
"remove share" : "Fjern deling",
"Create a new board" : "Opret ny liste"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}

44
l10n/de.js Normal file
View File

@@ -0,0 +1,44 @@
OC.L10N.register(
"deck",
{
"Deck" : "Deck",
"Finished" : "Abgeschlossen",
"To review" : "Zu bewerten",
"Action needed" : "Aktion erforderlich",
"Later" : "Später",
"Show archived cards" : "Archivierte Karten anzeigen",
"Hide archived cards" : "Archivierte Karten ausblenden",
"Board details" : "Board-Details",
"Archive" : "Archivieren",
"Unarchive" : "Dearchivieren",
"Delete" : "Löschen",
"Enter a card title" : "Kartentitel eingeben",
"Sharing" : "Teilen",
"Labels" : "Beschriftungen",
"Select users or groups to share with" : "Benutzern oder Gruppen auswählen, mit denen es geteilt werden soll",
"No matching user or group found." : "Keine passenden Benutzer oder Gruppen gefunden.",
"Share" : "Share",
"Edit" : "Bearbeiten",
"Manage" : "Verwalten",
"Discard share" : "Teilen aufheben",
"Create a new label" : "Neue Beschriftung erstellen",
"Board title" : "Board-Titel",
"Members" : "Mitglieder",
"Create new board" : "Neues Board erstellen",
"New board title" : "Neuer Board-Titel",
"Modified:" : "Geändert:",
"Created:" : "Erstellt:",
"by" : "von",
"Saved" : "Gespeichert",
"Add a card description ..." : "Eine Beschreibung der Karte hinzufügen…",
"Attachments" : "Anhänge",
"Comments" : "Kommentare",
"History" : "Verlauf",
"All Boards" : "Alle Boards",
"Shared with you" : "Mit Dir geteilt",
"edit" : "Bearbeiten",
"delete" : "Löschen",
"remove share" : "Freigabe löschen",
"Create a new board" : "Neues Board erstellen"
},
"nplurals=2; plural=(n != 1);");

42
l10n/de.json Normal file
View File

@@ -0,0 +1,42 @@
{ "translations": {
"Deck" : "Deck",
"Finished" : "Abgeschlossen",
"To review" : "Zu bewerten",
"Action needed" : "Aktion erforderlich",
"Later" : "Später",
"Show archived cards" : "Archivierte Karten anzeigen",
"Hide archived cards" : "Archivierte Karten ausblenden",
"Board details" : "Board-Details",
"Archive" : "Archivieren",
"Unarchive" : "Dearchivieren",
"Delete" : "Löschen",
"Enter a card title" : "Kartentitel eingeben",
"Sharing" : "Teilen",
"Labels" : "Beschriftungen",
"Select users or groups to share with" : "Benutzern oder Gruppen auswählen, mit denen es geteilt werden soll",
"No matching user or group found." : "Keine passenden Benutzer oder Gruppen gefunden.",
"Share" : "Share",
"Edit" : "Bearbeiten",
"Manage" : "Verwalten",
"Discard share" : "Teilen aufheben",
"Create a new label" : "Neue Beschriftung erstellen",
"Board title" : "Board-Titel",
"Members" : "Mitglieder",
"Create new board" : "Neues Board erstellen",
"New board title" : "Neuer Board-Titel",
"Modified:" : "Geändert:",
"Created:" : "Erstellt:",
"by" : "von",
"Saved" : "Gespeichert",
"Add a card description ..." : "Eine Beschreibung der Karte hinzufügen…",
"Attachments" : "Anhänge",
"Comments" : "Kommentare",
"History" : "Verlauf",
"All Boards" : "Alle Boards",
"Shared with you" : "Mit Dir geteilt",
"edit" : "Bearbeiten",
"delete" : "Löschen",
"remove share" : "Freigabe löschen",
"Create a new board" : "Neues Board erstellen"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}

44
l10n/de_DE.js Normal file
View File

@@ -0,0 +1,44 @@
OC.L10N.register(
"deck",
{
"Deck" : "Deck",
"Finished" : "Abgeschlossen",
"To review" : "Zu bewerten",
"Action needed" : "Aktion erforderlich",
"Later" : "Später",
"Show archived cards" : "Archivierte Karten anzeigen",
"Hide archived cards" : "Archivierte Karten ausblenden",
"Board details" : "Board-Details",
"Archive" : "Archivieren",
"Unarchive" : "Dearchivieren",
"Delete" : "Löschen",
"Enter a card title" : "Kartentitel eingeben",
"Sharing" : "Teilen",
"Labels" : "Beschriftungen",
"Select users or groups to share with" : "Benutzern oder Gruppen auswählen, mit denen es geteilt werden soll",
"No matching user or group found." : "Keine passenden Benutzer oder Gruppen gefunden.",
"Share" : "Teilen",
"Edit" : "Bearbeiten",
"Manage" : "Verwalten",
"Discard share" : "Teilen aufheben",
"Create a new label" : "Neue Beschriftung erstellen",
"Board title" : "Board-Titel",
"Members" : "Mitglieder",
"Create new board" : "Neues Board erstellen",
"New board title" : "Neuer Board-Titel",
"Modified:" : "Geändert:",
"Created:" : "Erstellt:",
"by" : "von",
"Saved" : "Gespeichert",
"Add a card description ..." : "Der Karte eine Beschreibung hinzufügen…",
"Attachments" : "Anhänge",
"Comments" : "Kommentare",
"History" : "Verlauf",
"All Boards" : "Alle Boards",
"Shared with you" : "Mit Ihnen geteilt",
"edit" : "Bearbeiten",
"delete" : "Löschen",
"remove share" : "Freigabe löschen",
"Create a new board" : "Neues Board erstellen"
},
"nplurals=2; plural=(n != 1);");

42
l10n/de_DE.json Normal file
View File

@@ -0,0 +1,42 @@
{ "translations": {
"Deck" : "Deck",
"Finished" : "Abgeschlossen",
"To review" : "Zu bewerten",
"Action needed" : "Aktion erforderlich",
"Later" : "Später",
"Show archived cards" : "Archivierte Karten anzeigen",
"Hide archived cards" : "Archivierte Karten ausblenden",
"Board details" : "Board-Details",
"Archive" : "Archivieren",
"Unarchive" : "Dearchivieren",
"Delete" : "Löschen",
"Enter a card title" : "Kartentitel eingeben",
"Sharing" : "Teilen",
"Labels" : "Beschriftungen",
"Select users or groups to share with" : "Benutzern oder Gruppen auswählen, mit denen es geteilt werden soll",
"No matching user or group found." : "Keine passenden Benutzer oder Gruppen gefunden.",
"Share" : "Teilen",
"Edit" : "Bearbeiten",
"Manage" : "Verwalten",
"Discard share" : "Teilen aufheben",
"Create a new label" : "Neue Beschriftung erstellen",
"Board title" : "Board-Titel",
"Members" : "Mitglieder",
"Create new board" : "Neues Board erstellen",
"New board title" : "Neuer Board-Titel",
"Modified:" : "Geändert:",
"Created:" : "Erstellt:",
"by" : "von",
"Saved" : "Gespeichert",
"Add a card description ..." : "Der Karte eine Beschreibung hinzufügen…",
"Attachments" : "Anhänge",
"Comments" : "Kommentare",
"History" : "Verlauf",
"All Boards" : "Alle Boards",
"Shared with you" : "Mit Ihnen geteilt",
"edit" : "Bearbeiten",
"delete" : "Löschen",
"remove share" : "Freigabe löschen",
"Create a new board" : "Neues Board erstellen"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}

44
l10n/es.js Normal file
View File

@@ -0,0 +1,44 @@
OC.L10N.register(
"deck",
{
"Deck" : "Deck",
"Finished" : "Finalizado",
"To review" : "Para revisar",
"Action needed" : "Se necesita una acción",
"Later" : "Después",
"Show archived cards" : "Mostrar tarjetas archivadas",
"Hide archived cards" : "Ocultar tarjetas archivadas",
"Board details" : "Detalles del tablero",
"Archive" : "Archivar",
"Unarchive" : "Desarchivar",
"Delete" : "Eliminar",
"Enter a card title" : "Introducir un título de tarjeta",
"Sharing" : "Compartir",
"Labels" : "Etiquetas",
"Select users or groups to share with" : "Seleccionar usuarios o grupos con los que compartir",
"No matching user or group found." : "No se encontraron usuarios o grupos coincidentes.",
"Share" : "Compartir",
"Edit" : "Editar",
"Manage" : "Organizar",
"Discard share" : "Descartar compartición",
"Create a new label" : "Crear una nueva etiqueta",
"Board title" : "Título del tablero",
"Members" : "Miembros",
"Create new board" : "Crear nuevo tablero",
"New board title" : "Nuevo título de tablero",
"Modified:" : "Modificado: ",
"Created:" : "Creado: ",
"by" : "por",
"Saved" : "Guardado",
"Add a card description ..." : "Añadir una descripción de la tarjeta...",
"Attachments" : "Adjuntos",
"Comments" : "Comentario",
"History" : "Historia",
"All Boards" : "Todos los tableros",
"Shared with you" : "Compartido contigo",
"edit" : "editar",
"delete" : "eliminar",
"remove share" : "eliminar compartición",
"Create a new board" : "Crear un tablero nuevo"
},
"nplurals=2; plural=(n != 1);");

42
l10n/es.json Normal file
View File

@@ -0,0 +1,42 @@
{ "translations": {
"Deck" : "Deck",
"Finished" : "Finalizado",
"To review" : "Para revisar",
"Action needed" : "Se necesita una acción",
"Later" : "Después",
"Show archived cards" : "Mostrar tarjetas archivadas",
"Hide archived cards" : "Ocultar tarjetas archivadas",
"Board details" : "Detalles del tablero",
"Archive" : "Archivar",
"Unarchive" : "Desarchivar",
"Delete" : "Eliminar",
"Enter a card title" : "Introducir un título de tarjeta",
"Sharing" : "Compartir",
"Labels" : "Etiquetas",
"Select users or groups to share with" : "Seleccionar usuarios o grupos con los que compartir",
"No matching user or group found." : "No se encontraron usuarios o grupos coincidentes.",
"Share" : "Compartir",
"Edit" : "Editar",
"Manage" : "Organizar",
"Discard share" : "Descartar compartición",
"Create a new label" : "Crear una nueva etiqueta",
"Board title" : "Título del tablero",
"Members" : "Miembros",
"Create new board" : "Crear nuevo tablero",
"New board title" : "Nuevo título de tablero",
"Modified:" : "Modificado: ",
"Created:" : "Creado: ",
"by" : "por",
"Saved" : "Guardado",
"Add a card description ..." : "Añadir una descripción de la tarjeta...",
"Attachments" : "Adjuntos",
"Comments" : "Comentario",
"History" : "Historia",
"All Boards" : "Todos los tableros",
"Shared with you" : "Compartido contigo",
"edit" : "editar",
"delete" : "eliminar",
"remove share" : "eliminar compartición",
"Create a new board" : "Crear un tablero nuevo"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}

44
l10n/fi.js Normal file
View File

@@ -0,0 +1,44 @@
OC.L10N.register(
"deck",
{
"Deck" : "Kansi",
"Finished" : "Valmistunut",
"To review" : "Arvostella",
"Action needed" : "Toimia vaaditaan",
"Later" : "Myöhemmin",
"Show archived cards" : "Näytä arkistoidut kortit",
"Hide archived cards" : "Piilota arkistoidut kortit",
"Board details" : "Taulun tiedot",
"Archive" : "Arkisto",
"Unarchive" : "Pois arkistosta",
"Delete" : "Poista",
"Enter a card title" : "Anna otsikko",
"Sharing" : "Jakaminen",
"Labels" : "Etiketit",
"Select users or groups to share with" : "Valitse käyttäjiä tai ryhmiä joille haluat jakaa",
"No matching user or group found." : "Käyttäjää tai ryhmää ei löytynyt.",
"Share" : "Jaa",
"Edit" : "Muokkaa",
"Manage" : "Hallitse",
"Discard share" : "Peru jakaminen",
"Create a new label" : "Lisää uusi etiketti",
"Board title" : "Taulun otsikko",
"Members" : "Jäsenet",
"Create new board" : "Luo uusi taulu",
"New board title" : "Uusi taulun otsikko",
"Modified:" : "Muokattu:",
"Created:" : "Luotu:",
"by" : " Kirjoittaja:",
"Saved" : "Tallennettu",
"Add a card description ..." : "Lisää kortille kuvaus",
"Attachments" : "Liitteet",
"Comments" : "Kommentit",
"History" : "Historia",
"All Boards" : "Kaikki Taulut",
"Shared with you" : "Jaetu kanssasi",
"edit" : "muokkaa",
"delete" : "poista",
"remove share" : "poista jako",
"Create a new board" : "Luo uusi taulu"
},
"nplurals=2; plural=(n != 1);");

42
l10n/fi.json Normal file
View File

@@ -0,0 +1,42 @@
{ "translations": {
"Deck" : "Kansi",
"Finished" : "Valmistunut",
"To review" : "Arvostella",
"Action needed" : "Toimia vaaditaan",
"Later" : "Myöhemmin",
"Show archived cards" : "Näytä arkistoidut kortit",
"Hide archived cards" : "Piilota arkistoidut kortit",
"Board details" : "Taulun tiedot",
"Archive" : "Arkisto",
"Unarchive" : "Pois arkistosta",
"Delete" : "Poista",
"Enter a card title" : "Anna otsikko",
"Sharing" : "Jakaminen",
"Labels" : "Etiketit",
"Select users or groups to share with" : "Valitse käyttäjiä tai ryhmiä joille haluat jakaa",
"No matching user or group found." : "Käyttäjää tai ryhmää ei löytynyt.",
"Share" : "Jaa",
"Edit" : "Muokkaa",
"Manage" : "Hallitse",
"Discard share" : "Peru jakaminen",
"Create a new label" : "Lisää uusi etiketti",
"Board title" : "Taulun otsikko",
"Members" : "Jäsenet",
"Create new board" : "Luo uusi taulu",
"New board title" : "Uusi taulun otsikko",
"Modified:" : "Muokattu:",
"Created:" : "Luotu:",
"by" : " Kirjoittaja:",
"Saved" : "Tallennettu",
"Add a card description ..." : "Lisää kortille kuvaus",
"Attachments" : "Liitteet",
"Comments" : "Kommentit",
"History" : "Historia",
"All Boards" : "Kaikki Taulut",
"Shared with you" : "Jaetu kanssasi",
"edit" : "muokkaa",
"delete" : "poista",
"remove share" : "poista jako",
"Create a new board" : "Luo uusi taulu"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}

44
l10n/fr.js Normal file
View File

@@ -0,0 +1,44 @@
OC.L10N.register(
"deck",
{
"Deck" : "Deck",
"Finished" : "Terminé",
"To review" : "A réviser",
"Action needed" : "Action requise",
"Later" : "Plus tard",
"Show archived cards" : "Afficher les cartes archivées",
"Hide archived cards" : "Masquer les cartes archivées",
"Board details" : "Détails du tableau",
"Archive" : "Archiver",
"Unarchive" : "Ne plus archiver",
"Delete" : "Supprimer",
"Enter a card title" : "Saisissez un titre de carte",
"Sharing" : "Partage",
"Labels" : "Étiquettes",
"Select users or groups to share with" : "Sélectionnez des utilisateurs ou des groupes avec qui partager",
"No matching user or group found." : "Aucun utilisateur ou groupe correspondant trouvé",
"Share" : "Partager",
"Edit" : "Modifier",
"Manage" : "Gérer",
"Discard share" : "Supprimer le partage",
"Create a new label" : "Créer une nouvelle étiquette",
"Board title" : "Titre du tableau",
"Members" : "Membres",
"Create new board" : "Créer un nouveau tableau",
"New board title" : "Nouveau titre pour le tableau",
"Modified:" : "Modifié le :",
"Created:" : "Créé le :",
"by" : "par",
"Saved" : "Enregistré",
"Add a card description ..." : "Ajouter une description pour la carte",
"Attachments" : "Pièces jointes",
"Comments" : "Commentaires",
"History" : "Journal",
"All Boards" : "Tous les tableaux",
"Shared with you" : "Partagé avec vous",
"edit" : "modifier",
"delete" : "suppression",
"remove share" : "suppression du partage",
"Create a new board" : "Créer un nouveau tableau"
},
"nplurals=2; plural=(n > 1);");

42
l10n/fr.json Normal file
View File

@@ -0,0 +1,42 @@
{ "translations": {
"Deck" : "Deck",
"Finished" : "Terminé",
"To review" : "A réviser",
"Action needed" : "Action requise",
"Later" : "Plus tard",
"Show archived cards" : "Afficher les cartes archivées",
"Hide archived cards" : "Masquer les cartes archivées",
"Board details" : "Détails du tableau",
"Archive" : "Archiver",
"Unarchive" : "Ne plus archiver",
"Delete" : "Supprimer",
"Enter a card title" : "Saisissez un titre de carte",
"Sharing" : "Partage",
"Labels" : "Étiquettes",
"Select users or groups to share with" : "Sélectionnez des utilisateurs ou des groupes avec qui partager",
"No matching user or group found." : "Aucun utilisateur ou groupe correspondant trouvé",
"Share" : "Partager",
"Edit" : "Modifier",
"Manage" : "Gérer",
"Discard share" : "Supprimer le partage",
"Create a new label" : "Créer une nouvelle étiquette",
"Board title" : "Titre du tableau",
"Members" : "Membres",
"Create new board" : "Créer un nouveau tableau",
"New board title" : "Nouveau titre pour le tableau",
"Modified:" : "Modifié le :",
"Created:" : "Créé le :",
"by" : "par",
"Saved" : "Enregistré",
"Add a card description ..." : "Ajouter une description pour la carte",
"Attachments" : "Pièces jointes",
"Comments" : "Commentaires",
"History" : "Journal",
"All Boards" : "Tous les tableaux",
"Shared with you" : "Partagé avec vous",
"edit" : "modifier",
"delete" : "suppression",
"remove share" : "suppression du partage",
"Create a new board" : "Créer un nouveau tableau"
},"pluralForm" :"nplurals=2; plural=(n > 1);"
}

22
l10n/hu.js Normal file
View File

@@ -0,0 +1,22 @@
OC.L10N.register(
"deck",
{
"Finished" : "Kész",
"Later" : "Később",
"Delete" : "Törlés",
"Sharing" : "Megosztás",
"Labels" : "Címkék",
"Share" : "Megosztás",
"Edit" : "Szerkesztés",
"Manage" : "Kezelés",
"Members" : "Tagok",
"Modified:" : "Módosítva:",
"Created:" : "Létrehozva:",
"Saved" : "Elmentve",
"Comments" : "Hozzászólások",
"History" : "Előzmények",
"Shared with you" : "Megosztva veled",
"edit" : "szerkesztés",
"delete" : "törlés"
},
"nplurals=2; plural=(n != 1);");

20
l10n/hu.json Normal file
View File

@@ -0,0 +1,20 @@
{ "translations": {
"Finished" : "Kész",
"Later" : "Később",
"Delete" : "Törlés",
"Sharing" : "Megosztás",
"Labels" : "Címkék",
"Share" : "Megosztás",
"Edit" : "Szerkesztés",
"Manage" : "Kezelés",
"Members" : "Tagok",
"Modified:" : "Módosítva:",
"Created:" : "Létrehozva:",
"Saved" : "Elmentve",
"Comments" : "Hozzászólások",
"History" : "Előzmények",
"Shared with you" : "Megosztva veled",
"edit" : "szerkesztés",
"delete" : "törlés"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}

27
l10n/ia.js Normal file
View File

@@ -0,0 +1,27 @@
OC.L10N.register(
"deck",
{
"Finished" : "Finite",
"To review" : "A revider",
"Action needed" : "Action necessari",
"Later" : "Depost",
"Delete" : "Deler",
"Labels" : "Etiquettas",
"Select users or groups to share with" : "Selectiona usatores o gruppos pro compartir",
"No matching user or group found." : "Nulle usator o gruppo correspondente trovate.",
"Share" : "Compartir",
"Edit" : "Modificar",
"Manage" : "Administrar",
"Members" : "Membros",
"Modified:" : "Modificate:",
"Created:" : "Create:",
"by" : "per",
"Saved" : "Salveguardate",
"Attachments" : "Attachamentos",
"Comments" : "Commentarios",
"History" : "Historia",
"Shared with you" : "Compartite con te",
"edit" : "modificar",
"delete" : "deler"
},
"nplurals=2; plural=(n != 1);");

25
l10n/ia.json Normal file
View File

@@ -0,0 +1,25 @@
{ "translations": {
"Finished" : "Finite",
"To review" : "A revider",
"Action needed" : "Action necessari",
"Later" : "Depost",
"Delete" : "Deler",
"Labels" : "Etiquettas",
"Select users or groups to share with" : "Selectiona usatores o gruppos pro compartir",
"No matching user or group found." : "Nulle usator o gruppo correspondente trovate.",
"Share" : "Compartir",
"Edit" : "Modificar",
"Manage" : "Administrar",
"Members" : "Membros",
"Modified:" : "Modificate:",
"Created:" : "Create:",
"by" : "per",
"Saved" : "Salveguardate",
"Attachments" : "Attachamentos",
"Comments" : "Commentarios",
"History" : "Historia",
"Shared with you" : "Compartite con te",
"edit" : "modificar",
"delete" : "deler"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}

44
l10n/is.js Normal file
View File

@@ -0,0 +1,44 @@
OC.L10N.register(
"deck",
{
"Deck" : "Dekk",
"Finished" : "Lokið",
"To review" : "Til að yfirfara",
"Action needed" : "Aðgerðar krafist",
"Later" : "Seinna",
"Show archived cards" : "Sýna spjöld í geymslu",
"Hide archived cards" : "Fela spjöld í geymslu",
"Board details" : "Nánar um bretti",
"Archive" : "Setja í safnskrá",
"Unarchive" : "Taka úr geymslu",
"Delete" : "Eyða",
"Enter a card title" : "Sláðu inn titil á spjald",
"Sharing" : "Deiling",
"Labels" : "Skýringar",
"Select users or groups to share with" : "Veldu notendur eða hópa til að deila með",
"No matching user or group found." : "Engir samsvarandi notendur eða hópar fundust.",
"Share" : "Deila",
"Edit" : "Breyta",
"Manage" : "Skipuleggja",
"Discard share" : "Henda sameign",
"Create a new label" : "Búa til nýja skýringu",
"Board title" : "Titill á borði",
"Members" : "Meðlimir",
"Create new board" : "Búa til nýtt borð",
"New board title" : "Nýr titill á borð",
"Modified:" : "Breytt þann:",
"Created:" : "Búið til:",
"by" : "af",
"Saved" : "Vistað",
"Add a card description ..." : "Settu inn lýsingu á spjaldi ...",
"Attachments" : "Viðhengi",
"Comments" : "Athugasemdir",
"History" : "Ferill",
"All Boards" : "Öll borð",
"Shared with you" : "Deilt með þér",
"edit" : "breyta",
"delete" : "eyða",
"remove share" : "fjarlægja sameign...",
"Create a new board" : "Búa til nýtt borð"
},
"nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);");

42
l10n/is.json Normal file
View File

@@ -0,0 +1,42 @@
{ "translations": {
"Deck" : "Dekk",
"Finished" : "Lokið",
"To review" : "Til að yfirfara",
"Action needed" : "Aðgerðar krafist",
"Later" : "Seinna",
"Show archived cards" : "Sýna spjöld í geymslu",
"Hide archived cards" : "Fela spjöld í geymslu",
"Board details" : "Nánar um bretti",
"Archive" : "Setja í safnskrá",
"Unarchive" : "Taka úr geymslu",
"Delete" : "Eyða",
"Enter a card title" : "Sláðu inn titil á spjald",
"Sharing" : "Deiling",
"Labels" : "Skýringar",
"Select users or groups to share with" : "Veldu notendur eða hópa til að deila með",
"No matching user or group found." : "Engir samsvarandi notendur eða hópar fundust.",
"Share" : "Deila",
"Edit" : "Breyta",
"Manage" : "Skipuleggja",
"Discard share" : "Henda sameign",
"Create a new label" : "Búa til nýja skýringu",
"Board title" : "Titill á borði",
"Members" : "Meðlimir",
"Create new board" : "Búa til nýtt borð",
"New board title" : "Nýr titill á borð",
"Modified:" : "Breytt þann:",
"Created:" : "Búið til:",
"by" : "af",
"Saved" : "Vistað",
"Add a card description ..." : "Settu inn lýsingu á spjaldi ...",
"Attachments" : "Viðhengi",
"Comments" : "Athugasemdir",
"History" : "Ferill",
"All Boards" : "Öll borð",
"Shared with you" : "Deilt með þér",
"edit" : "breyta",
"delete" : "eyða",
"remove share" : "fjarlægja sameign...",
"Create a new board" : "Búa til nýtt borð"
},"pluralForm" :"nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);"
}

44
l10n/it.js Normal file
View File

@@ -0,0 +1,44 @@
OC.L10N.register(
"deck",
{
"Deck" : "Deck",
"Finished" : "Finito",
"To review" : "Da revisionare",
"Action needed" : "Azione necessaria",
"Later" : "Dopo",
"Show archived cards" : "Mostra le carte archiviate",
"Hide archived cards" : "Nascondi le carte archiviate",
"Board details" : "Dettaglio lavagna",
"Archive" : "Archivio",
"Unarchive" : "Togli dall'archivio",
"Delete" : "Elimina",
"Enter a card title" : "Inserisci un titolo alla scheda",
"Sharing" : "Condivisione",
"Labels" : "Etichette",
"Select users or groups to share with" : "Seleziona utenti o gruppi con cui condividere",
"No matching user or group found." : "Nessun utente o gruppo trovato.",
"Share" : "Condividi",
"Edit" : "Modifica",
"Manage" : "Gestisci",
"Discard share" : "Annulla condivisione",
"Create a new label" : "Crea una nuova etichetta",
"Board title" : "Titolo della lavagna",
"Members" : "Membri",
"Create new board" : "Crea una nuova lavagna",
"New board title" : "Titolo nuova lavagna",
"Modified:" : "Modificato:",
"Created:" : "Creato:",
"by" : "da",
"Saved" : "Salvato",
"Add a card description ..." : "Aggiungi descrizione della scheda...",
"Attachments" : "Allegati",
"Comments" : "Commenti",
"History" : "Cronologia",
"All Boards" : "Tutte le lavagne",
"Shared with you" : "Condiviso con te",
"edit" : "modifica",
"delete" : "elimina",
"remove share" : "rimuovi condivisione",
"Create a new board" : "Crea una nuova lavagna"
},
"nplurals=2; plural=(n != 1);");

42
l10n/it.json Normal file
View File

@@ -0,0 +1,42 @@
{ "translations": {
"Deck" : "Deck",
"Finished" : "Finito",
"To review" : "Da revisionare",
"Action needed" : "Azione necessaria",
"Later" : "Dopo",
"Show archived cards" : "Mostra le carte archiviate",
"Hide archived cards" : "Nascondi le carte archiviate",
"Board details" : "Dettaglio lavagna",
"Archive" : "Archivio",
"Unarchive" : "Togli dall'archivio",
"Delete" : "Elimina",
"Enter a card title" : "Inserisci un titolo alla scheda",
"Sharing" : "Condivisione",
"Labels" : "Etichette",
"Select users or groups to share with" : "Seleziona utenti o gruppi con cui condividere",
"No matching user or group found." : "Nessun utente o gruppo trovato.",
"Share" : "Condividi",
"Edit" : "Modifica",
"Manage" : "Gestisci",
"Discard share" : "Annulla condivisione",
"Create a new label" : "Crea una nuova etichetta",
"Board title" : "Titolo della lavagna",
"Members" : "Membri",
"Create new board" : "Crea una nuova lavagna",
"New board title" : "Titolo nuova lavagna",
"Modified:" : "Modificato:",
"Created:" : "Creato:",
"by" : "da",
"Saved" : "Salvato",
"Add a card description ..." : "Aggiungi descrizione della scheda...",
"Attachments" : "Allegati",
"Comments" : "Commenti",
"History" : "Cronologia",
"All Boards" : "Tutte le lavagne",
"Shared with you" : "Condiviso con te",
"edit" : "modifica",
"delete" : "elimina",
"remove share" : "rimuovi condivisione",
"Create a new board" : "Crea una nuova lavagna"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}

28
l10n/lv.js Normal file
View File

@@ -0,0 +1,28 @@
OC.L10N.register(
"deck",
{
"Finished" : "Pabeigts",
"Later" : "Vēlāk",
"Show archived cards" : "Rādīt arhivētās kartes",
"Hide archived cards" : "Slēpt arhivētās kartes",
"Archive" : "Arhīvi",
"Delete" : "Dzēst",
"Enter a card title" : "Ievadiet kartes nosaukumu",
"Sharing" : "Koplietošana",
"Select users or groups to share with" : "Atlasiet lietotājus vai grupas ar kuriem koplietot",
"Share" : "Koplietot",
"Edit" : "Rediģēt",
"Discard share" : "Atcelt koplietošanu",
"Members" : "Biedri",
"Modified:" : "Modificēta:",
"Created:" : "Izveidota:",
"Saved" : "Saglabāts",
"Attachments" : "Pielikumi",
"Comments" : "Komentāri",
"History" : "Vēsture",
"Shared with you" : "Koplietots ar tevi",
"edit" : "rediģēt",
"delete" : "dzēst",
"remove share" : "noņemt koplietojumu"
},
"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);");

26
l10n/lv.json Normal file
View File

@@ -0,0 +1,26 @@
{ "translations": {
"Finished" : "Pabeigts",
"Later" : "Vēlāk",
"Show archived cards" : "Rādīt arhivētās kartes",
"Hide archived cards" : "Slēpt arhivētās kartes",
"Archive" : "Arhīvi",
"Delete" : "Dzēst",
"Enter a card title" : "Ievadiet kartes nosaukumu",
"Sharing" : "Koplietošana",
"Select users or groups to share with" : "Atlasiet lietotājus vai grupas ar kuriem koplietot",
"Share" : "Koplietot",
"Edit" : "Rediģēt",
"Discard share" : "Atcelt koplietošanu",
"Members" : "Biedri",
"Modified:" : "Modificēta:",
"Created:" : "Izveidota:",
"Saved" : "Saglabāts",
"Attachments" : "Pielikumi",
"Comments" : "Komentāri",
"History" : "Vēsture",
"Shared with you" : "Koplietots ar tevi",
"edit" : "rediģēt",
"delete" : "dzēst",
"remove share" : "noņemt koplietojumu"
},"pluralForm" :"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);"
}

44
l10n/nb.js Normal file
View File

@@ -0,0 +1,44 @@
OC.L10N.register(
"deck",
{
"Deck" : "Stokk",
"Finished" : "Fullført",
"To review" : "Til gjennomlesning",
"Action needed" : "Handling påkrevd",
"Later" : "Senere",
"Show archived cards" : "Vis arkiverkte kort",
"Hide archived cards" : "Skjul arkiverte kort",
"Board details" : "Bordetaljer",
"Archive" : "Arkiv",
"Unarchive" : "Dearkivere",
"Delete" : "Slett",
"Enter a card title" : "Skriv inn en kort tittel",
"Sharing" : "Deling",
"Labels" : "Etiketter",
"Select users or groups to share with" : "Velg brukere og grupper du vil dele med",
"No matching user or group found." : "Ingen treff på bruker eller gruppe.",
"Share" : "Del",
"Edit" : "Endre",
"Manage" : "Håndtere",
"Discard share" : "Fjern deling",
"Create a new label" : "Opprett en ny etikett",
"Board title" : "Bordtittel",
"Members" : "Medlemmer",
"Create new board" : "Opprett et nytt bord",
"New board title" : "Ny bord tittel",
"Modified:" : "Endret:",
"Created:" : "Opprettet:",
"by" : "av",
"Saved" : "Lagret",
"Add a card description ..." : "Legg til en beskrivelse av kortet",
"Attachments" : "Vedlegg",
"Comments" : "Kommentarer",
"History" : "Historikk",
"All Boards" : "Alle bord",
"Shared with you" : "Delt med deg",
"edit" : "endre",
"delete" : "slett",
"remove share" : "fjern deling",
"Create a new board" : "Opprett et nytt bord"
},
"nplurals=2; plural=(n != 1);");

42
l10n/nb.json Normal file
View File

@@ -0,0 +1,42 @@
{ "translations": {
"Deck" : "Stokk",
"Finished" : "Fullført",
"To review" : "Til gjennomlesning",
"Action needed" : "Handling påkrevd",
"Later" : "Senere",
"Show archived cards" : "Vis arkiverkte kort",
"Hide archived cards" : "Skjul arkiverte kort",
"Board details" : "Bordetaljer",
"Archive" : "Arkiv",
"Unarchive" : "Dearkivere",
"Delete" : "Slett",
"Enter a card title" : "Skriv inn en kort tittel",
"Sharing" : "Deling",
"Labels" : "Etiketter",
"Select users or groups to share with" : "Velg brukere og grupper du vil dele med",
"No matching user or group found." : "Ingen treff på bruker eller gruppe.",
"Share" : "Del",
"Edit" : "Endre",
"Manage" : "Håndtere",
"Discard share" : "Fjern deling",
"Create a new label" : "Opprett en ny etikett",
"Board title" : "Bordtittel",
"Members" : "Medlemmer",
"Create new board" : "Opprett et nytt bord",
"New board title" : "Ny bord tittel",
"Modified:" : "Endret:",
"Created:" : "Opprettet:",
"by" : "av",
"Saved" : "Lagret",
"Add a card description ..." : "Legg til en beskrivelse av kortet",
"Attachments" : "Vedlegg",
"Comments" : "Kommentarer",
"History" : "Historikk",
"All Boards" : "Alle bord",
"Shared with you" : "Delt med deg",
"edit" : "endre",
"delete" : "slett",
"remove share" : "fjern deling",
"Create a new board" : "Opprett et nytt bord"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}

44
l10n/nl.js Normal file
View File

@@ -0,0 +1,44 @@
OC.L10N.register(
"deck",
{
"Deck" : "Deck",
"Finished" : "Afgerond",
"To review" : "Beoordelen",
"Action needed" : "Actie benodigd",
"Later" : "Later",
"Show archived cards" : "Gearchiveerde kaarten weergeven",
"Hide archived cards" : "Gearchiveerde kaarten verbergen",
"Board details" : "Bord details",
"Archive" : "Archiveer",
"Unarchive" : "Terugzetten uit archief",
"Delete" : "Verwijderen",
"Enter a card title" : "Kaart titel toevoegen",
"Sharing" : "Delen",
"Labels" : "Labels",
"Select users or groups to share with" : "Gebruikers of groepen selecteren om te delen",
"No matching user or group found." : "Geen passende gebruiker of groep gevonden",
"Share" : "Delen",
"Edit" : "Bewerken",
"Manage" : "Beheren",
"Discard share" : "Delen uitzetten",
"Create a new label" : "Nieuw label creëren",
"Board title" : "Bord titel",
"Members" : "Leden",
"Create new board" : "Nieuw bord maken",
"New board title" : "Nieuwe bord titel",
"Modified:" : "Bewerkt:",
"Created:" : "Gemaakt:",
"by" : "door",
"Saved" : "Opgeslagen",
"Add a card description ..." : "Kaart beschrijving toevoegen ...",
"Attachments" : "Bijlage",
"Comments" : "Opmerkingen",
"History" : "Geschiedenis",
"All Boards" : "Alle borden",
"Shared with you" : "Deel met jou",
"edit" : "Bewerk",
"delete" : "verwijder",
"remove share" : "verwijder gedeelde",
"Create a new board" : "Een nieuw bord maken"
},
"nplurals=2; plural=(n != 1);");

42
l10n/nl.json Normal file
View File

@@ -0,0 +1,42 @@
{ "translations": {
"Deck" : "Deck",
"Finished" : "Afgerond",
"To review" : "Beoordelen",
"Action needed" : "Actie benodigd",
"Later" : "Later",
"Show archived cards" : "Gearchiveerde kaarten weergeven",
"Hide archived cards" : "Gearchiveerde kaarten verbergen",
"Board details" : "Bord details",
"Archive" : "Archiveer",
"Unarchive" : "Terugzetten uit archief",
"Delete" : "Verwijderen",
"Enter a card title" : "Kaart titel toevoegen",
"Sharing" : "Delen",
"Labels" : "Labels",
"Select users or groups to share with" : "Gebruikers of groepen selecteren om te delen",
"No matching user or group found." : "Geen passende gebruiker of groep gevonden",
"Share" : "Delen",
"Edit" : "Bewerken",
"Manage" : "Beheren",
"Discard share" : "Delen uitzetten",
"Create a new label" : "Nieuw label creëren",
"Board title" : "Bord titel",
"Members" : "Leden",
"Create new board" : "Nieuw bord maken",
"New board title" : "Nieuwe bord titel",
"Modified:" : "Bewerkt:",
"Created:" : "Gemaakt:",
"by" : "door",
"Saved" : "Opgeslagen",
"Add a card description ..." : "Kaart beschrijving toevoegen ...",
"Attachments" : "Bijlage",
"Comments" : "Opmerkingen",
"History" : "Geschiedenis",
"All Boards" : "Alle borden",
"Shared with you" : "Deel met jou",
"edit" : "Bewerk",
"delete" : "verwijder",
"remove share" : "verwijder gedeelde",
"Create a new board" : "Een nieuw bord maken"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}

44
l10n/pl.js Normal file
View File

@@ -0,0 +1,44 @@
OC.L10N.register(
"deck",
{
"Deck" : "Deck",
"Finished" : "Ukończone",
"To review" : "Do sprawdzenia",
"Action needed" : "Wymagające akcji",
"Later" : "Później",
"Show archived cards" : "Pokaż zarchiwizowane karty",
"Hide archived cards" : "Ukryj zarchiwizowane karty",
"Board details" : "Szczegóły tablicy",
"Archive" : "Archiwizuj",
"Unarchive" : "Nie archiwizuj",
"Delete" : "Usuń",
"Enter a card title" : "Wprowadź tytuł karty",
"Sharing" : "Współdzielenie",
"Labels" : "Etykiety",
"Select users or groups to share with" : "Wybierz użytkowników lub grupy, żeby współdzielić z nimi",
"No matching user or group found." : "Nie znaleziono pasujących użytkowników lub grup",
"Share" : "Współdziel",
"Edit" : "Edycja",
"Manage" : "Zarządzanie",
"Discard share" : "Usuń współdzielenie",
"Create a new label" : "Utwórz nową etykietę",
"Board title" : "Tytuł tablicy",
"Members" : "Członkowie",
"Create new board" : "Utwórz nową tablicę",
"New board title" : "Tytuł nowej tablicy",
"Modified:" : "Zmodyfikowano:",
"Created:" : "Utworzono:",
"by" : "przez",
"Saved" : "Zapisano",
"Add a card description ..." : "Dodaj opis karty",
"Attachments" : "Załączniki",
"Comments" : "Komentarze",
"History" : "Historia",
"All Boards" : "Tablice",
"Shared with you" : "Współdzielone z tobą",
"edit" : "edytuj",
"delete" : "usuń",
"remove share" : "usuń współdzielenie",
"Create a new board" : "Utwórz nową tablicę"
},
"nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>=14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);");

42
l10n/pl.json Normal file
View File

@@ -0,0 +1,42 @@
{ "translations": {
"Deck" : "Deck",
"Finished" : "Ukończone",
"To review" : "Do sprawdzenia",
"Action needed" : "Wymagające akcji",
"Later" : "Później",
"Show archived cards" : "Pokaż zarchiwizowane karty",
"Hide archived cards" : "Ukryj zarchiwizowane karty",
"Board details" : "Szczegóły tablicy",
"Archive" : "Archiwizuj",
"Unarchive" : "Nie archiwizuj",
"Delete" : "Usuń",
"Enter a card title" : "Wprowadź tytuł karty",
"Sharing" : "Współdzielenie",
"Labels" : "Etykiety",
"Select users or groups to share with" : "Wybierz użytkowników lub grupy, żeby współdzielić z nimi",
"No matching user or group found." : "Nie znaleziono pasujących użytkowników lub grup",
"Share" : "Współdziel",
"Edit" : "Edycja",
"Manage" : "Zarządzanie",
"Discard share" : "Usuń współdzielenie",
"Create a new label" : "Utwórz nową etykietę",
"Board title" : "Tytuł tablicy",
"Members" : "Członkowie",
"Create new board" : "Utwórz nową tablicę",
"New board title" : "Tytuł nowej tablicy",
"Modified:" : "Zmodyfikowano:",
"Created:" : "Utworzono:",
"by" : "przez",
"Saved" : "Zapisano",
"Add a card description ..." : "Dodaj opis karty",
"Attachments" : "Załączniki",
"Comments" : "Komentarze",
"History" : "Historia",
"All Boards" : "Tablice",
"Shared with you" : "Współdzielone z tobą",
"edit" : "edytuj",
"delete" : "usuń",
"remove share" : "usuń współdzielenie",
"Create a new board" : "Utwórz nową tablicę"
},"pluralForm" :"nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>=14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);"
}

44
l10n/pt_BR.js Normal file
View File

@@ -0,0 +1,44 @@
OC.L10N.register(
"deck",
{
"Deck" : "Mesa",
"Finished" : "Terminado",
"To review" : "Para revisão",
"Action needed" : "Ação necessária",
"Later" : "Depois",
"Show archived cards" : "Mostrar cartões arquivados",
"Hide archived cards" : "Ocultar cartões arquivados",
"Board details" : "Detalhes do quadro",
"Archive" : "Arquivar",
"Unarchive" : "Desarquivar",
"Delete" : "Excluir",
"Enter a card title" : "Digite um título do cartão",
"Sharing" : "Compartilhar",
"Labels" : "Etiquetas",
"Select users or groups to share with" : "Selecionar usuários ou grupos para compartilhar com",
"No matching user or group found." : "Uusuário ou grupo não encontrado.",
"Share" : "Compartilhar",
"Edit" : "Editar",
"Manage" : "Gerenciar",
"Discard share" : "Descartar compartilhamento",
"Create a new label" : "Criar uma nova etiqueta",
"Board title" : "Título do quadro",
"Members" : "Membros",
"Create new board" : "Criar novo quadro",
"New board title" : "Título do novo quadro",
"Modified:" : "Modificado:",
"Created:" : "Criado:",
"by" : "por",
"Saved" : "Salvo",
"Add a card description ..." : "Adicionar uma descrição de cartão",
"Attachments" : "Anexos",
"Comments" : "Comentários",
"History" : "Histórico",
"All Boards" : "Todos os quadros",
"Shared with you" : "Compartilhado com você",
"edit" : "editar",
"delete" : "excluir",
"remove share" : "remover compartilhamento",
"Create a new board" : "Criar um novo quadro"
},
"nplurals=2; plural=(n > 1);");

42
l10n/pt_BR.json Normal file
View File

@@ -0,0 +1,42 @@
{ "translations": {
"Deck" : "Mesa",
"Finished" : "Terminado",
"To review" : "Para revisão",
"Action needed" : "Ação necessária",
"Later" : "Depois",
"Show archived cards" : "Mostrar cartões arquivados",
"Hide archived cards" : "Ocultar cartões arquivados",
"Board details" : "Detalhes do quadro",
"Archive" : "Arquivar",
"Unarchive" : "Desarquivar",
"Delete" : "Excluir",
"Enter a card title" : "Digite um título do cartão",
"Sharing" : "Compartilhar",
"Labels" : "Etiquetas",
"Select users or groups to share with" : "Selecionar usuários ou grupos para compartilhar com",
"No matching user or group found." : "Uusuário ou grupo não encontrado.",
"Share" : "Compartilhar",
"Edit" : "Editar",
"Manage" : "Gerenciar",
"Discard share" : "Descartar compartilhamento",
"Create a new label" : "Criar uma nova etiqueta",
"Board title" : "Título do quadro",
"Members" : "Membros",
"Create new board" : "Criar novo quadro",
"New board title" : "Título do novo quadro",
"Modified:" : "Modificado:",
"Created:" : "Criado:",
"by" : "por",
"Saved" : "Salvo",
"Add a card description ..." : "Adicionar uma descrição de cartão",
"Attachments" : "Anexos",
"Comments" : "Comentários",
"History" : "Histórico",
"All Boards" : "Todos os quadros",
"Shared with you" : "Compartilhado com você",
"edit" : "editar",
"delete" : "excluir",
"remove share" : "remover compartilhamento",
"Create a new board" : "Criar um novo quadro"
},"pluralForm" :"nplurals=2; plural=(n > 1);"
}

44
l10n/ru.js Normal file
View File

@@ -0,0 +1,44 @@
OC.L10N.register(
"deck",
{
"Deck" : "Deck",
"Finished" : "Завершено",
"To review" : "Просмотреть",
"Action needed" : "Требуется действие",
"Later" : "Позже",
"Show archived cards" : "Показать архивные карточки",
"Hide archived cards" : "Скрыть архивные карточки",
"Board details" : "Подробности доски",
"Archive" : "Архивировать",
"Unarchive" : "Разархивировать",
"Delete" : "Удалить",
"Enter a card title" : "Введите заголовок карточки",
"Sharing" : "Общий доступ",
"Labels" : "Метки",
"Select users or groups to share with" : "Поделиться с пользователями или группами",
"No matching user or group found." : "Соответствующей группы или пользователей не найдено",
"Share" : "Поделиться",
"Edit" : "Редактировать",
"Manage" : "Управлять",
"Discard share" : "Отказаться от предложения общего доступа",
"Create a new label" : "Создать новую метку",
"Board title" : "Заголовок доски",
"Members" : "Участники",
"Create new board" : "Создать новую доску",
"New board title" : "Заголовок новой доски",
"Modified:" : "Изменён:",
"Created:" : "Создан:",
"by" : "автор",
"Saved" : "Сохранено",
"Add a card description ..." : "Добавить описание карточки…",
"Attachments" : "Вложения",
"Comments" : "Комментарии",
"History" : "История",
"All Boards" : "Все доски",
"Shared with you" : "Поделились с вами",
"edit" : "редактировать",
"delete" : "удалить",
"remove share" : "закрыть общий доступ",
"Create a new board" : "Создать новую доску"
},
"nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);");

42
l10n/ru.json Normal file
View File

@@ -0,0 +1,42 @@
{ "translations": {
"Deck" : "Deck",
"Finished" : "Завершено",
"To review" : "Просмотреть",
"Action needed" : "Требуется действие",
"Later" : "Позже",
"Show archived cards" : "Показать архивные карточки",
"Hide archived cards" : "Скрыть архивные карточки",
"Board details" : "Подробности доски",
"Archive" : "Архивировать",
"Unarchive" : "Разархивировать",
"Delete" : "Удалить",
"Enter a card title" : "Введите заголовок карточки",
"Sharing" : "Общий доступ",
"Labels" : "Метки",
"Select users or groups to share with" : "Поделиться с пользователями или группами",
"No matching user or group found." : "Соответствующей группы или пользователей не найдено",
"Share" : "Поделиться",
"Edit" : "Редактировать",
"Manage" : "Управлять",
"Discard share" : "Отказаться от предложения общего доступа",
"Create a new label" : "Создать новую метку",
"Board title" : "Заголовок доски",
"Members" : "Участники",
"Create new board" : "Создать новую доску",
"New board title" : "Заголовок новой доски",
"Modified:" : "Изменён:",
"Created:" : "Создан:",
"by" : "автор",
"Saved" : "Сохранено",
"Add a card description ..." : "Добавить описание карточки…",
"Attachments" : "Вложения",
"Comments" : "Комментарии",
"History" : "История",
"All Boards" : "Все доски",
"Shared with you" : "Поделились с вами",
"edit" : "редактировать",
"delete" : "удалить",
"remove share" : "закрыть общий доступ",
"Create a new board" : "Создать новую доску"
},"pluralForm" :"nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);"
}

44
l10n/sk.js Normal file
View File

@@ -0,0 +1,44 @@
OC.L10N.register(
"deck",
{
"Deck" : "Tabuľa",
"Finished" : "Ukončené",
"To review" : "Na posúdenie",
"Action needed" : "Potrebná akcia",
"Later" : "Neskôr",
"Show archived cards" : "Zobraziť archivované karty",
"Hide archived cards" : "Skryť archivované karty",
"Board details" : "Podrobnosti tabule",
"Archive" : "Archivovať",
"Unarchive" : "Vybrať z archívu",
"Delete" : "Zmazať",
"Enter a card title" : "Zmeniť názov karty",
"Sharing" : "Sprístupnenie",
"Labels" : "Značky",
"Select users or groups to share with" : "Vyberte používateľov albo skupiny pre sprístupnenie",
"No matching user or group found." : "Neboli nájdení vyhovujúci používatelia alebo skupiny.",
"Share" : "Sprístupniť",
"Edit" : "Upraviť",
"Manage" : "Spravovať",
"Discard share" : "Zrušiť sprístupnenie",
"Create a new label" : "Vytvoriť novú značku",
"Board title" : "Názov tabule",
"Members" : "Členovia",
"Create new board" : "Vytvoriť novú tabuľu",
"New board title" : "Názov novej tabule",
"Modified:" : "Upravené:",
"Created:" : "Vytvorené:",
"by" : "-",
"Saved" : "Uložené",
"Add a card description ..." : "Pridať popis karty ...",
"Attachments" : "Prílohy",
"Comments" : "Komentáre",
"History" : "História",
"All Boards" : "Všetky Tabule",
"Shared with you" : "Sprístupnené vám",
"edit" : "upraviť",
"delete" : "zmazať",
"remove share" : "zrušiť sprístupnenie",
"Create a new board" : "Vytvoriť novú tabuľu"
},
"nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;");

42
l10n/sk.json Normal file
View File

@@ -0,0 +1,42 @@
{ "translations": {
"Deck" : "Tabuľa",
"Finished" : "Ukončené",
"To review" : "Na posúdenie",
"Action needed" : "Potrebná akcia",
"Later" : "Neskôr",
"Show archived cards" : "Zobraziť archivované karty",
"Hide archived cards" : "Skryť archivované karty",
"Board details" : "Podrobnosti tabule",
"Archive" : "Archivovať",
"Unarchive" : "Vybrať z archívu",
"Delete" : "Zmazať",
"Enter a card title" : "Zmeniť názov karty",
"Sharing" : "Sprístupnenie",
"Labels" : "Značky",
"Select users or groups to share with" : "Vyberte používateľov albo skupiny pre sprístupnenie",
"No matching user or group found." : "Neboli nájdení vyhovujúci používatelia alebo skupiny.",
"Share" : "Sprístupniť",
"Edit" : "Upraviť",
"Manage" : "Spravovať",
"Discard share" : "Zrušiť sprístupnenie",
"Create a new label" : "Vytvoriť novú značku",
"Board title" : "Názov tabule",
"Members" : "Členovia",
"Create new board" : "Vytvoriť novú tabuľu",
"New board title" : "Názov novej tabule",
"Modified:" : "Upravené:",
"Created:" : "Vytvorené:",
"by" : "-",
"Saved" : "Uložené",
"Add a card description ..." : "Pridať popis karty ...",
"Attachments" : "Prílohy",
"Comments" : "Komentáre",
"History" : "História",
"All Boards" : "Všetky Tabule",
"Shared with you" : "Sprístupnené vám",
"edit" : "upraviť",
"delete" : "zmazať",
"remove share" : "zrušiť sprístupnenie",
"Create a new board" : "Vytvoriť novú tabuľu"
},"pluralForm" :"nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;"
}

29
l10n/sv.js Normal file
View File

@@ -0,0 +1,29 @@
OC.L10N.register(
"deck",
{
"Finished" : "Färdig",
"Action needed" : "Åtgärd behövs",
"Later" : "Senare",
"Archive" : "Arkivera",
"Unarchive" : "Ta bort ur arkivet",
"Delete" : "Radera",
"Sharing" : "Delning",
"Select users or groups to share with" : "Välj användare och grupper att dela med",
"No matching user or group found." : "Ingen matchande användare eller grupp hittades.",
"Share" : "Dela",
"Edit" : "Redigera",
"Manage" : "Hantera",
"Members" : "Medlemmar",
"Modified:" : "Ändrad:",
"Created:" : "Skapad:",
"by" : "av",
"Saved" : "Sparad",
"Attachments" : "Bifogade filer",
"Comments" : "Kommentarer",
"History" : "Historik",
"Shared with you" : "Delade med dig",
"edit" : "redigera",
"delete" : "radera",
"remove share" : "ta bort delning"
},
"nplurals=2; plural=(n != 1);");

27
l10n/sv.json Normal file
View File

@@ -0,0 +1,27 @@
{ "translations": {
"Finished" : "Färdig",
"Action needed" : "Åtgärd behövs",
"Later" : "Senare",
"Archive" : "Arkivera",
"Unarchive" : "Ta bort ur arkivet",
"Delete" : "Radera",
"Sharing" : "Delning",
"Select users or groups to share with" : "Välj användare och grupper att dela med",
"No matching user or group found." : "Ingen matchande användare eller grupp hittades.",
"Share" : "Dela",
"Edit" : "Redigera",
"Manage" : "Hantera",
"Members" : "Medlemmar",
"Modified:" : "Ändrad:",
"Created:" : "Skapad:",
"by" : "av",
"Saved" : "Sparad",
"Attachments" : "Bifogade filer",
"Comments" : "Kommentarer",
"History" : "Historik",
"Shared with you" : "Delade med dig",
"edit" : "redigera",
"delete" : "radera",
"remove share" : "ta bort delning"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}

44
l10n/tr.js Normal file
View File

@@ -0,0 +1,44 @@
OC.L10N.register(
"deck",
{
"Deck" : "Tahta",
"Finished" : "Tamamlandı",
"To review" : "İncelenecek",
"Action needed" : "İşlem yapılması gerekiyor",
"Later" : "Sonra",
"Show archived cards" : "Arşivlenmiş kartları görüntüle",
"Hide archived cards" : "Arşivlenmiş kartları gizle",
"Board details" : "Pano ayrıntıları",
"Archive" : "Arşivle",
"Unarchive" : "Arşivden Çıkar",
"Delete" : "Sil",
"Enter a card title" : "Bir kart başlığı yazın",
"Sharing" : "Paylaşım",
"Labels" : "Etiketler",
"Select users or groups to share with" : "Paylaşılacak kullanıcı ya da grupları seçin",
"No matching user or group found." : "Eşleşen bir kullanıcı ya da grup bulunamadı.",
"Share" : "Paylaş",
"Edit" : "Düzenle",
"Manage" : "Yönetim",
"Discard share" : "Paylaşımı kaldır",
"Create a new label" : "Yeni bir etiket ekle",
"Board title" : "Pano başlığı",
"Members" : "Üyeler",
"Create new board" : "Yeni pano ekle",
"New board title" : "Yeni pano başlığı",
"Modified:" : "Değiştirilme:",
"Created:" : "Oluşturulma:",
"by" : "Kişi:",
"Saved" : "Kaydedildi",
"Add a card description ..." : "Bir kart açıklaması ekle...",
"Attachments" : "Ek dosyalar",
"Comments" : "Yorumlar",
"History" : "Geçmiş",
"All Boards" : "Tüm Panolar",
"Shared with you" : "Sizinle paylaşılan",
"edit" : "düzenle",
"delete" : "sil",
"remove share" : "paylaşımı kaldır",
"Create a new board" : "Yeni bir pano ekle"
},
"nplurals=2; plural=(n > 1);");

42
l10n/tr.json Normal file
View File

@@ -0,0 +1,42 @@
{ "translations": {
"Deck" : "Tahta",
"Finished" : "Tamamlandı",
"To review" : "İncelenecek",
"Action needed" : "İşlem yapılması gerekiyor",
"Later" : "Sonra",
"Show archived cards" : "Arşivlenmiş kartları görüntüle",
"Hide archived cards" : "Arşivlenmiş kartları gizle",
"Board details" : "Pano ayrıntıları",
"Archive" : "Arşivle",
"Unarchive" : "Arşivden Çıkar",
"Delete" : "Sil",
"Enter a card title" : "Bir kart başlığı yazın",
"Sharing" : "Paylaşım",
"Labels" : "Etiketler",
"Select users or groups to share with" : "Paylaşılacak kullanıcı ya da grupları seçin",
"No matching user or group found." : "Eşleşen bir kullanıcı ya da grup bulunamadı.",
"Share" : "Paylaş",
"Edit" : "Düzenle",
"Manage" : "Yönetim",
"Discard share" : "Paylaşımı kaldır",
"Create a new label" : "Yeni bir etiket ekle",
"Board title" : "Pano başlığı",
"Members" : "Üyeler",
"Create new board" : "Yeni pano ekle",
"New board title" : "Yeni pano başlığı",
"Modified:" : "Değiştirilme:",
"Created:" : "Oluşturulma:",
"by" : "Kişi:",
"Saved" : "Kaydedildi",
"Add a card description ..." : "Bir kart açıklaması ekle...",
"Attachments" : "Ek dosyalar",
"Comments" : "Yorumlar",
"History" : "Geçmiş",
"All Boards" : "Tüm Panolar",
"Shared with you" : "Sizinle paylaşılan",
"edit" : "düzenle",
"delete" : "sil",
"remove share" : "paylaşımı kaldır",
"Create a new board" : "Yeni bir pano ekle"
},"pluralForm" :"nplurals=2; plural=(n > 1);"
}

44
l10n/zh_CN.js Normal file
View File

@@ -0,0 +1,44 @@
OC.L10N.register(
"deck",
{
"Deck" : "面板",
"Finished" : "完成",
"To review" : "回顾",
"Action needed" : "需要操作",
"Later" : "稍后",
"Show archived cards" : "显示已存档的卡片",
"Hide archived cards" : "隐藏已存档的卡片",
"Board details" : "面板详情",
"Archive" : "归档",
"Unarchive" : "取消归档",
"Delete" : "删除",
"Enter a card title" : "输入卡片标题",
"Sharing" : "分享",
"Labels" : "标签",
"Select users or groups to share with" : "选择要共享的用户或组",
"No matching user or group found." : "未找到匹配的用户或组。",
"Share" : "分享",
"Edit" : "编辑",
"Manage" : "管理",
"Discard share" : "取消分享",
"Create a new label" : "创建新标签",
"Board title" : "面板标题",
"Members" : "会员",
"Create new board" : "创建新面板",
"New board title" : "新面板标题",
"Modified:" : "修改于:",
"Created:" : "创建于:",
"by" : "by",
"Saved" : "已保存",
"Add a card description ..." : "添加卡片说明...",
"Attachments" : "附件",
"Comments" : "评论",
"History" : "历史",
"All Boards" : "全部面板",
"Shared with you" : "共享给您的",
"edit" : "编辑",
"delete" : "删除",
"remove share" : "移除共享",
"Create a new board" : "创建一个新面板"
},
"nplurals=1; plural=0;");

42
l10n/zh_CN.json Normal file
View File

@@ -0,0 +1,42 @@
{ "translations": {
"Deck" : "面板",
"Finished" : "完成",
"To review" : "回顾",
"Action needed" : "需要操作",
"Later" : "稍后",
"Show archived cards" : "显示已存档的卡片",
"Hide archived cards" : "隐藏已存档的卡片",
"Board details" : "面板详情",
"Archive" : "归档",
"Unarchive" : "取消归档",
"Delete" : "删除",
"Enter a card title" : "输入卡片标题",
"Sharing" : "分享",
"Labels" : "标签",
"Select users or groups to share with" : "选择要共享的用户或组",
"No matching user or group found." : "未找到匹配的用户或组。",
"Share" : "分享",
"Edit" : "编辑",
"Manage" : "管理",
"Discard share" : "取消分享",
"Create a new label" : "创建新标签",
"Board title" : "面板标题",
"Members" : "会员",
"Create new board" : "创建新面板",
"New board title" : "新面板标题",
"Modified:" : "修改于:",
"Created:" : "创建于:",
"by" : "by",
"Saved" : "已保存",
"Add a card description ..." : "添加卡片说明...",
"Attachments" : "附件",
"Comments" : "评论",
"History" : "历史",
"All Boards" : "全部面板",
"Shared with you" : "共享给您的",
"edit" : "编辑",
"delete" : "删除",
"remove share" : "移除共享",
"Create a new board" : "创建一个新面板"
},"pluralForm" :"nplurals=1; plural=0;"
}

View File

@@ -42,11 +42,8 @@ class Application extends App {
$container->registerService('SharingMiddleware', function($container) use ($server) {
return new SharingMiddleware(
$container,
$server->getRequest(),
$server->getUserSession(),
$container->query('ControllerMethodReflector'),
$container->query('OCA\Deck\Service\PermissionService')
$server->getLogger(),
$server->getConfig()
);
});
$container->registerMiddleware('SharingMiddleware');

View File

@@ -71,16 +71,9 @@ class Acl extends RelationalEntity implements \JsonSerializable {
}
public function jsonSerialize() {
return [
'id' => $this->id,
'participant' => $this->participant,
'type' => $this->getTypeString(),
'boardId' => $this->boardId,
'permissionEdit' => $this->getPermissionEdit(),
'permissionShare' => $this->getPermissionShare(),
'permissionManage' => $this->getPermissionManage(),
'owner' => $this->getOwner()
];
$json = parent::jsonSerialize();
$json['type'] = $this->getTypeString();
return $json;
}
public function getTypeString() {
@@ -91,7 +84,8 @@ class Acl extends RelationalEntity implements \JsonSerializable {
}
public function setType($type) {
if ($type === 'group') {
// FIXME: Remove when all javascript uses numeric types
if ($type === 'group' || $type === '1') {
$typeInt = Acl::PERMISSION_TYPE_GROUP;
} else {
$typeInt = Acl::PERMISSION_TYPE_USER;

View File

@@ -47,18 +47,11 @@ class Board extends RelationalEntity implements JsonSerializable {
}
public function jsonSerialize() {
$result = [
'id' => $this->id,
'title' => $this->title,
'owner' => $this->owner,
'color' => $this->color,
'labels' => $this->labels,
'acl' => $this->acl,
];
if ($this->shared !== -1) {
$result['shared'] = $this->shared;
$json = parent::jsonSerialize();
if ($this->shared === -1) {
unset($json['shared']);
}
return $result;
return $json;
}
public function setLabels($labels) {

View File

@@ -75,9 +75,9 @@ class BoardMapper extends DeckMapper implements IPermissionMapper {
* @return array
*/
public function findAllByUser($userId, $limit = null, $offset = null) {
$sql = 'SELECT id, title, owner, color, archived, 0 as shared FROM oc_deck_boards WHERE owner = ? UNION ' .
'SELECT boards.id, title, owner, color, archived, 1 as shared FROM oc_deck_boards as boards ' .
'JOIN oc_deck_board_acl as acl ON boards.id=acl.board_id WHERE acl.participant=? AND acl.type=? AND boards.owner != ?';
$sql = 'SELECT id, title, owner, color, archived, 0 as shared FROM `*PREFIX*deck_boards` WHERE owner = ? UNION ' .
'SELECT boards.id, title, owner, color, archived, 1 as shared FROM `*PREFIX*deck_boards` as boards ' .
'JOIN `*PREFIX*deck_board_acl` as acl ON boards.id=acl.board_id WHERE acl.participant=? AND acl.type=? AND boards.owner != ?';
$entries = $this->findEntities($sql, [$userId, $userId, Acl::PERMISSION_TYPE_USER, $userId], $limit, $offset);
/* @var Board $entry */
foreach ($entries as $entry) {
@@ -100,8 +100,8 @@ class BoardMapper extends DeckMapper implements IPermissionMapper {
if (count($groups) <= 0) {
return [];
}
$sql = 'SELECT boards.id, title, owner, color, archived, 2 as shared FROM oc_deck_boards as boards ' .
'INNER JOIN oc_deck_board_acl as acl ON boards.id=acl.board_id WHERE owner != ? AND type=? AND (';
$sql = 'SELECT boards.id, title, owner, color, archived, 2 as shared FROM `*PREFIX*deck_boards` as boards ' .
'INNER JOIN `*PREFIX*deck_board_acl` as acl ON boards.id=acl.board_id WHERE owner != ? AND type=? AND (';
for ($i = 0; $i < count($groups); $i++) {
$sql .= 'acl.participant = ? ';
if (count($groups) > 1 && $i < count($groups) - 1) {

View File

@@ -50,19 +50,4 @@ class Card extends RelationalEntity implements JsonSerializable {
$this->addRelation('labels');
}
public function jsonSerialize() {
return [
'id' => $this->id,
'title' => $this->title,
'description' => $this->description,
'type' => $this->type,
'lastModified' => $this->lastModified,
'createdAt' => $this->createdAt,
'owner' => $this->owner,
'order' => $this->order,
'stackId' => $this->stackId,
'labels' => $this->labels,
'archived' => $this->archived,
];
}
}

View File

@@ -33,16 +33,8 @@ class Label extends RelationalEntity implements JsonSerializable {
protected $color;
protected $boardId;
protected $cardId;
public function __construct() {
$this->addType('id', 'integer');
}
public function jsonSerialize() {
return [
'id' => $this->id,
'title' => $this->title,
'boardId' => $this->boardId,
'cardId' => $this->cardId,
'color' => $this->color,
];
}
}

View File

@@ -49,8 +49,8 @@ class LabelMapper extends DeckMapper implements IPermissionMapper {
return $this->findEntities($sql, [$cardId], $limit, $offset);
}
public function findAssignedLabelsForBoard($boardId, $limit = null, $offset = null) {
$sql = "SELECT c.id as card_id, l.id as id, l.title as title, l.color as color FROM oc_deck_cards as c " .
" INNER JOIN oc_deck_assigned_labels as al ON al.card_id = c.id INNER JOIN oc_deck_labels as l ON al.label_id = l.id WHERE board_id=? ORDER BY l.id";
$sql = "SELECT c.id as card_id, l.id as id, l.title as title, l.color as color FROM `*PREFIX*deck_cards` as c " .
" INNER JOIN `*PREFIX*deck_assigned_labels` as al ON al.card_id = c.id INNER JOIN `*PREFIX*deck_labels` as l ON al.label_id = l.id WHERE board_id=? ORDER BY l.id";
$entities = $this->findEntities($sql, [$boardId], $limit, $offset);
return $entities;
}

View File

@@ -21,17 +21,10 @@
*
*/
/**
* Created by PhpStorm.
* User: jus
* Date: 22.06.16
* Time: 13:32
*/
namespace OCA\Deck\Db;
class RelationalEntity extends \OCP\AppFramework\Db\Entity {
class RelationalEntity extends \OCP\AppFramework\Db\Entity implements \JsonSerializable {
private $_relations = array();
@@ -56,4 +49,21 @@ class RelationalEntity extends \OCP\AppFramework\Db\Entity {
}
}
/**
* @return array serialized data
*/
public function jsonSerialize() {
$properties = get_object_vars($this);
$reflection = new \ReflectionClass($this);
$json = [];
foreach($properties as $property=>$value) {
if(substr($property, 0, 1) !== '_' && $reflection->hasProperty($property)) {
$propertyReflection = $reflection->getProperty($property);
if(!$propertyReflection->isPrivate()) {
$json[$property] = $this->getter($property);
}
}
}
return $json;
}
}

View File

@@ -45,20 +45,10 @@ class Stack extends RelationalEntity implements JsonSerializable {
}
public function jsonSerialize() {
if (!empty($this->cards)) {
return [
'id' => $this->id,
'title' => $this->title,
'order' => $this->order,
'boardId' => $this->boardId,
'cards' => $this->cards
];
$json = parent::jsonSerialize();
if (empty($this->cards)) {
unset($json['cards']);
}
return [
'id' => $this->id,
'title' => $this->title,
'order' => $this->order,
'boardId' => $this->boardId
];
return $json;
}
}

View File

@@ -23,18 +23,32 @@
namespace OCA\Deck\Middleware;
use OCA\Deck\StatusException;
use \OCP\AppFramework\Middleware;
use OCP\AppFramework\Middleware;
use OCP\AppFramework\Http\JSONResponse;
use OCP\ILogger;
use OCP\Util;
use OCP\IConfig;
class SharingMiddleware extends Middleware {
/** @var ILogger */
private $logger;
/** @var IConfig */
private $config;
/**
* SharingMiddleware constructor.
*
* @param ILogger $logger
* @param IConfig $config
*/
public function __construct(ILogger $logger, IConfig $config) {
$this->logger = $logger;
$this->config = $config;
}
/**
* Return JSON error response if the user has no sufficient permission
*
@@ -46,6 +60,9 @@ class SharingMiddleware extends Middleware {
*/
public function afterException($controller, $methodName, \Exception $exception) {
if ($exception instanceof StatusException) {
if($this->config->getSystemValue('loglevel', Util::WARN) === Util::DEBUG) {
$this->logger->logException($exception);
}
return new JSONResponse([
"status" => $exception->getStatus(),
"message" => $exception->getMessage()

View File

@@ -23,7 +23,7 @@
use OCP\Util;
Util::addStyle('deck', 'vendor/ng-sortable/dist/ng-sortable.min');
Util::addStyle('deck', '../js/vendor/ng-sortable/dist/ng-sortable.min');
Util::addStyle('deck', 'style');
Util::addScript('deck', 'vendor/angular/angular.min');
@@ -36,8 +36,24 @@ Util::addScript('deck', 'vendor/angular-ui-select/dist/select.min');
Util::addScript('deck', 'vendor/markdown-it/dist/markdown-it.min');
Util::addScript('deck', 'vendor/angular-markdown-it/dist/ng-markdownit.min');
Util::addScript('deck', 'vendor/markdown-it-link-target/dist/markdown-it-link-target.min');
Util::addScript('deck', 'public/app');
if(!\OC::$server->getConfig()->getSystemValue('debug', false)) {
Util::addScript('deck', 'public/app');
} else {
// Load seperate JS files when debug mode is enabled
$js = [
'app' => ['App', 'Config', 'Run'],
'controller' => ['AppController', 'BoardController', 'CardController', 'ListController'],
'directive' => ['appnavigationentryutils', 'appPopoverMenuUtils', 'autofocusoninsert', 'avatar', 'elastic', 'search'],
'filters' => ['cardFilter', 'cardSearchFilter', 'iconWhiteFilter', 'lightenColorFilter', 'orderObjectBy', 'relativeDateFilter', 'textColorFilter'],
'service' => ['ApiService', 'BoardService', 'CardService', 'LabelService', 'StackService', 'StatusService'],
];
foreach($js as $folder=>$files) {
foreach ($files as $file) {
Util::addScript('deck', $folder.'/'.$file);
}
}
}
?>
<div id="app" class="app-deck" data-ng-app="Deck" ng-controller="AppController" ng-cloak>
@@ -46,12 +62,12 @@ Util::addScript('deck', 'public/app');
<?php print_unescaped($this->inc('part.navigation')); ?>
<?php /* print_unescaped($this->inc('part.settings')); */ ?>
</div>
<div id="app-content" ng-class="{ 'details-visible': sidebar.show }">
<div id="app-view" ui-view></div>
<div id="app-content" ng-class="{ 'details-visible': sidebar.show }" ui-view>
</div>
<route-loading-indicator></route-loading-indicator>
<script type="text/ng-template" id="/boardlist.mainView.html">
<?php print_unescaped($this->inc('part.boardlist')); ?>
</script>

View File

@@ -52,7 +52,7 @@
<h3>{{ c.title }}</h3>
<ul class="labels">
<li ng-repeat="label in c.labels"
style="background-color: #{{ label.color }};">
style="background-color: #{{ label.color }};" title="{{ label.title }}">
<span>{{ label.title }}</span>
</li>
</ul>
@@ -126,6 +126,3 @@
</div>
</div>
</div>

View File

@@ -58,7 +58,7 @@ class BoardDatabaseTest extends \PHPUnit_Framework_TestCase
$groupBackend->addToGroup(self::TEST_USER3, 'group2');
$groupBackend->addToGroup(self::TEST_USER4, 'group3');
$groupBackend->addToGroup(self::TEST_USER2, self::TEST_GROUP1);
\OC_Group::useBackend($groupBackend);
\OC::$server->getGroupManager()->addBackend($groupBackend);
}
public function setUp() {
\OC::$server->getUserSession()->login(self::TEST_USER1, self::TEST_USER1);

View File

@@ -1,4 +1,4 @@
<phpunit bootstrap="bootstrap.php" colors="true">
<phpunit bootstrap="../../../tests/bootstrap.php" colors="true">
<testsuites>
<testsuite name="unit">
<directory>./unit</directory>

View File

@@ -21,7 +21,8 @@ class BoardTest extends \PHPUnit_Framework_TestCase {
'owner' => "admin",
'color' => "000000",
'labels' => null,
'acl' => null
'acl' => null,
'archived' => false
], $board->jsonSerialize());
}
@@ -34,7 +35,8 @@ class BoardTest extends \PHPUnit_Framework_TestCase {
'owner' => "admin",
'color' => "000000",
'labels' => array("foo", "bar"),
'acl' => null
'acl' => null,
'archived' => false
], $board->jsonSerialize());
}
public function testSetAcl() {
@@ -55,6 +57,7 @@ class BoardTest extends \PHPUnit_Framework_TestCase {
'color' => "000000",
'labels' => null,
'acl' => null,
'archived' => false,
'shared' => 1,
], $board->jsonSerialize());
}

View File

@@ -23,7 +23,7 @@
namespace OCA\Deck\Db;
class EntityTest extends \PHPUnit_Framework_TestCase {
class RelationalEntityTest extends \Test\TestCase {
public function testRelation() {
$entity = new RelationalEntity();
@@ -40,4 +40,13 @@ class EntityTest extends \PHPUnit_Framework_TestCase {
$this->assertEquals(['foo'=>true], $entity->getUpdatedFields());
}
public function testJsonSerialize() {
$entity = new RelationalEntity();
$entity->setId(123);
$json = [
'id' => 123,
];
$this->assertEquals($json, $entity->jsonSerialize());
}
}

View File

@@ -23,30 +23,28 @@
namespace OCA\Deck\Middleware;
use OC\AppFramework\DependencyInjection\DIContainer;
use OC\AppFramework\Utility\ControllerMethodReflector;
use OC\AppFramework\Utility\SimpleContainer;
use OCA\Deck\Db\DeckMapper;
use OCA\Deck\Db\IPermissionMapper;
use OCA\Deck\NoPermissionException;
use OCA\Deck\NotFoundException;
use OCA\Deck\Service\BoardService;
use OCA\Deck\Service\PermissionService;
use OCP\AppFramework\Controller;
use OCP\AppFramework\Http\JSONResponse;
use OCP\IContainer;
use OCP\IGroupManager;
use OCP\IRequest;
use OCP\IUser;
use OCP\IUserSession;
use OCA\Deck\Db\AclMapper;
use OCP\ILogger;
use OCP\IConfig;
class SharingMiddlewareTest extends \PHPUnit_Framework_TestCase {
class SharingMiddlewareTest extends \Test\TestCase {
/** @var ILogger */
private $logger;
/** @var IConfig */
private $config;
private $sharingMiddleware;
public function setUp() {
$this->sharingMiddleware = new SharingMiddleware();
$this->logger = $this->createMock(ILogger::class);
$this->config = $this->createMock(IConfig::class);
$this->sharingMiddleware = new SharingMiddleware(
$this->logger,
$this->config
);
}